wr_streamers: fixed bug that caused flush_p1_i to be missed.
In case the data was received in clk_ref_i domain, the flush_p1_i was also received in the clk_ref_i domain. However, it was used in an FSM that works in the clk_sys_i domain. This could cause problems, for example missing the flash_p1_i pulses, thus frames not being sent when requested. It was easily seen in the spec_fixed_latency-demo testbench. In principle, the tx_flush_p1_i does not need to come with data, can be asynchronous to data. It should be a pulse, yet it can happen that it is constantly high (see Tom's testbench of fixed-latency mode). Thus in cross-domain use case : 1. first the pulse is extended to to cycles 2. thanks to this, the gc_sync_ffs module can be used to pass the signal to clk_sys clock domain, whether it is a pulse or not.
Showing with 19 additions and 1 deletion