Altera_Forum
Honored Contributor
14 years agoHow to prevent QII inferring RAM
Hi there,
I have an array of registers that are 32 bit wide and need to be accessed in a different clock domain. So I wrote a process to cross those registers to the new clock domain by double-registering them:
cross_registers: process (rst, clk)
begin
if rst = '1' then
cnt_s <= (others => (others => '0'));
elsif rising_edge(clk) then
cnt_s <= cnt_s(0) & cnt;
new_cnt <= cnt_s(1);
end if;
end process cross_registers;
QII infers RAM in the implementation of this and defeated the purpose. So I added the following lines to prevent QII from doing this but to no avail. attribute ramstyle : string; attribute ramstyle of cnt_s : signal is "logic"; Any suggestions? Thanks, Hua