Altera_Forum
Honored Contributor
14 years agoPass-through logic has been added
Hi, I'm trying to infer a RAM using the following VHDL:
SIGNAL sarray : ramtype; -- ramtype is an array of std_ulogic_vectors PROCESS (clk) BEGIN IF (clk'event AND clk = '1') THEN out1_data <= sarray(read_address_1); out2_data <= sarray(read_address_2); sarray(write_address) <= in_data; END IF; END PROCESS; Which I don't think should have a bypass to return new data in the case that one of the read addresses is the same as the write address, but I get the warning message: inferred ram node "<name>" from synchronous design logic. pass-through logic has been added to match the read-during-write behavior of the original design. I can make it go away with the ramstyle attribute, but I want to understand why the compiler would think bypass logic was needed.