集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 4673|回复: 7

一个用cpld控制sram读写的程序,请高手指点一下!

[复制链接]
ANG 发表于 2010-6-28 00:35:17 | 显示全部楼层 |阅读模式
下面是我写的一段用于控制对外部设备进行写操作的代码,希望先送读信号,再送地址,数据和使能暂时没送,做到这里,仿真时出现问题,为什么写信号变高后就不再变低了啊?高手指点一下要怎么用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_WRROCESS( 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
HANG 发表于 2010-6-28 02:30:46 | 显示全部楼层
真郁闷,怎么都没有人会指点一下吗?
VVIC 发表于 2010-6-28 03:50:39 | 显示全部楼层
综合器一般不支持时间 20ns 不能编译
encounter 发表于 2010-6-28 04:31:36 | 显示全部楼层
wr &lt;= '1' after 20ns<br>
可以综合吗?
HDL 发表于 2010-6-28 05:20:59 | 显示全部楼层
延时不可综合,建议可使用状态机
404549377 发表于 2012-3-15 15:32:58 | 显示全部楼层
这个得用状态机吧,我最近也在做一个sram读写,都是要分读写状态的
zombes 发表于 2012-3-15 21:42:11 | 显示全部楼层
能不能把工程文件共享下,分享光荣!
wochuoqi7 发表于 2012-3-16 18:22:19 | 显示全部楼层
这个很明显啊
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-16 12:57 , Processed in 0.078743 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表