一个用cpld控制sram读写的程序,请高手指点一下!
下面是我写的一段用于控制对外部设备进行写操作的代码,希望先送读信号,再送地址,数据和使能暂时没送,做到这里,仿真时出现问题,为什么写信号变高后就不再变低了啊?高手指点一下要怎么用cpld控制sram的读写时序啊?ENTITY sram IS
PORT (
wr: OUT STD_LOGIC;
clk : IN STD_LOGIC;
adr : OUT STD_LOGIC_VECTOR ( 7 DOWNTO 0 )
);
END sram;
ARCHITECTURE behav OF sram IS
signal adr_in :integer;
BEGIN
RD_WR:PROCESS( clk )
BEGIN
IF ( clk 'EVENT AND clk ='1' )THEN
wr <= '0' ;
adr <= CONV_STD_LOGIC_VECTOR ( adr_in,8);--转换成矢量型
adr_in <= adr_in + 1;--送地址,并加一
wr <= '1' after 20ns;
END IF;
END PROCESS ;
END 真郁闷,怎么都没有人会指点一下吗? 综合器一般不支持时间 20ns 不能编译 wr <= '1' after 20ns<br>
可以综合吗? 延时不可综合,建议可使用状态机 这个得用状态机吧,我最近也在做一个sram读写,都是要分读写状态的 能不能把工程文件共享下,分享光荣! 这个很明显啊
页:
[1]