Open albydnc opened 2 years ago
This scfifo is a weird as it uses double clocked process. I need to understand it first.
I am not sure what could be done, except improving the error message. scfifo doesn't look to be synthesizable. Maybe Quartus handles it as a special case. The way it set the initial value is weird and certainly not conformant with 1076.6 Some signals are assigned on both clock edge.
I fear the way to move forward is to slowly rewrite altera_mf in a fully synthesizable style.
Would be interesting to know how it is handled by quartus or symplify.
Sorry if I'm reviving this thread. I'm still using the altera_mf
library.
i wanted to use the dcfifo
entity, but I got this error.
Importing module fifo.
Importing module dcfifo_48_5_10_1_1_5_5_1_d9227f9b480ae61443b6fc63d4549258851af0c8.
Importing module dcfifo_mixed_widths_48_5_48_5_10_1_1_5_5_1_97c7d795d27e3d9c8586ef5b77671f7c5d0a1c2f.
Importing module dcfifo_async_48_5_10_1_1_5_5_bc4b361abe0176cfbc009e5bd81fe2c614024365.
ERROR: Unsupported(1): instance \546 of $midff.
ERROR: Assert `GetSize(ports) >= it.second->port_id' failed in kernel/rtlil.cc:1824.
I assume that the error occurs because of you are trying to synthesize a multi-clock FF, which is not supported by yosys. See #127 for a similar issue.
When I try to process a test entity instantiating a
scfifo
from thealtera_mf
library I get this error.ERROR LOG:
minimum example