锆石科技社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 358|回复: 6

关于RAM ip核操作以及将时钟双边沿改成单边沿的问题,求大神解答

[复制链接]

2

主题

9

帖子

1010

积分

金牌会员

Rank: 6Rank: 6

积分
1010
发表于 2017-3-21 15:19:48 | 显示全部楼层 |阅读模式

手上有一个项目,还有半个月左右要交付了,遇到一个棘手的问题,大致描述如下
假如有这样的一串外部数据输入第一行是start,第二行是data,第三行是clk,可以确保clk上升沿时data和start已经稳定,现在我需要把start高电平时候的数据依次存入ram。
      在锆石官方RAM ip例程中我看到对RAM  读地址、写地址等操作是在clk下降沿进行的,知道这样可以使RAM在时钟上升沿读到稳定的数据,部分代码如截图但是此代码中同时使用了posedge 和 negedge CLK_50M
,在官方qq群中已有人回答过我,这样会在时序优化时出一些问题.
      请问是否有办法在一个不仅需要读写ram同时也有一些数据操作实际工程中,既确保RAM读写成功同时仅使用时钟单边沿。(外部输入的clk是不固定的,范围在30M-300M间,因此无法另外倍频添加一个时钟处理这个问题)
       最后非常感谢耐心看完我的问题的大神,希望从实际应用的角度给予解答

回复

使用道具 举报

2

主题

9

帖子

1010

积分

金牌会员

Rank: 6Rank: 6

积分
1010
 楼主| 发表于 2017-3-21 15:22:30 | 显示全部楼层
不知道图片怎么挂了,现补上

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2017-3-21 15:37:59 | 显示全部楼层

回帖奖励 +20

确实,在我们提供的RAM IP核例程中,为了让大家能够更好的理解RAM IP核的读写时序以及使用,我们主要是以RAM IP核为主,在编写代码的时候并没有考虑这方面。如果你想使用时钟单边沿操作,那么你可以看下《项目实战篇》中的数字示波器,该项目中就使用了RAM,同时也是时钟单边沿操作。
回复 支持 反对

使用道具 举报

2

主题

9

帖子

1010

积分

金牌会员

Rank: 6Rank: 6

积分
1010
 楼主| 发表于 2017-3-21 22:32:49 | 显示全部楼层
锆石科技解答员 发表于 2017-3-21 15:37
确实,在我们提供的RAM IP核例程中,为了让大家能够更好的理解RAM IP核的读写时序以及使用,我们主要是以RA ...

您好,非常感谢回答,然而我注意到数字示波器项目中,在posedge_reg上升沿操作读地址,而posedge_reg是在频率更高的CLK_50M上升沿修改的,然而我目前没有更高频率的时钟。请问可不可以这样做,是否会出现地址无法稳定进入RAM的情况
always@(posedge CLK or negedge rst)
if(!rst)
    rd_address <= 12'b0;
else
    rd_address <= rd_address + 1'b1;

RAM_ip my_RAM_ip_top(
   .rdaddress(rd_address),    //读地址
   .rdclk(CLK),       //读时钟
   ..........其余信号省略
);

希望可以给予分析和解答
回复 支持 反对

使用道具 举报

发表于 2017-3-21 23:22:28 | 显示全部楼层
blacksea3 发表于 2017-3-21 22:32
您好,非常感谢回答,然而我注意到数字示波器项目中,在posedge_reg上升沿操作读地址,而posedge_reg是在 ...

这样操作可以的,如果不放心,那么可以利用Modelsim测试这段代码,或者用SignalTap进行调试具体查看波形来确认。
回复 支持 反对

使用道具 举报

2

主题

9

帖子

1010

积分

金牌会员

Rank: 6Rank: 6

积分
1010
 楼主| 发表于 2017-3-23 11:27:00 | 显示全部楼层
锆石科技解答员 发表于 2017-3-21 23:22
这样操作可以的,如果不放心,那么可以利用Modelsim测试这段代码,或者用SignalTap进行调试具体查看波形 ...

非常感谢回答,之前没实际尝试,后来在modelsim后仿真中查看发现上升沿改读地址仅仅会导致读出数据要多等待一个时钟周期,别的没有问题
回复 支持 反对

使用道具 举报

2

主题

9

帖子

1010

积分

金牌会员

Rank: 6Rank: 6

积分
1010
 楼主| 发表于 2017-3-23 11:29:19 | 显示全部楼层


可供他人参考     用的代码就是我这个帖子第三个内容中描述的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|锆石科技社区 ( 苏ICP备15059756号  

GMT+8, 2019-5-27 12:03 , Processed in 1.737159 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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