pc2 / Aurora-HLS

Ready-to-link, packaged Aurora IP on four QSFP28 lanes, providing 100Gb/s throughput
Apache License 2.0
7 stars 2 forks source link

Flow Control in Emulation #17

Open Mellich opened 2 months ago

Mellich commented 2 months ago

Currently, the TX direction of the emulator will never stall, even if the RX FIFO of the receiver is full. In that case, data will be buffered within 0MQ until the data can be pushed to the FIFO, so no data will get lost. However, this can lead to drastically different behavior, where executions working in emulation will deadlock in hardware. To achieve a better quality of emulation results, (optional) flow control similar to the one used in hardware should be implemented in the emulator to prevent buffering of data outside the FIFOs.