BACKGROUND

This relates to integrated circuits and, more particularly, to handling runtime memory dependencies in integrated circuits.

Programmable integrated circuits are a type of integrated circuit that can be programmed by a user to implement a custom logic function. In a typical scenario, a logic designer uses computer-aided design tools to design a custom logic circuit. When the design process is complete, the computer-aided design tools generate configuration data. The configuration data is used to configure the devices to perform the functions of the custom logic circuit.

During runtime, a configured device executes memory transactions that require the device to read data stored in memory at various memory addresses and to write corresponding computed data into memory at various memory addresses. In some cases, the device can subsequently access the computed data while executing a subsequent memory transaction.

However, a device executing two related memory transactions independently can mistakenly read, from a memory address, data that is not ready to be accessed. It is within this context that the embodiments herein arise.

