begin
if (clk'event and clk = '1') then
-- if (en_1 = '1') then
if (w_en_1 = '1') then
RAM_1(conv_integer(addressA)) := inputA;
end if;
outputA <= RAM_1(conv_integer(addressA));
outputB <= RAM_1(conv_integer(addressB));
-- end if;
end if;
end process;
我用了coding Examples 的一个Block RAM,但综合以后显示是Distributed RAM.警告会有大量的LUTs.
我把程序里enble的去掉了,综合以后没问题了。
begin
if (clk'event and clk = '1') then
-- if (en_1 = '1') then
if (w_en_1 = '1') then
RAM_1(conv_integer(addressA)) := inputA;
end if;
outputA <= RAM_1(conv_integer(addressA));
outputB <= RAM_1(conv_integer(addressB));
-- end if;
end if;
end process;
一周热门 更多>