在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: helimpopo

[求助] 二维reg和FPGA里面的RAM,行为模型为什么有差异?

[复制链接]
发表于 2021-11-7 22:14:26 | 显示全部楼层


helimpopo 发表于 2021-11-7 22:09
选primitive output register的话,有20个延迟


这么神奇的吗?那么你再同时勾选上Core Output Register,会不会变为延迟30个周期?
所以,难道你时序图的clka不是你真正送到RAM IP的时钟,你不会10分频后才送到RAM IP的吧?
 楼主| 发表于 2021-11-7 22:24:17 | 显示全部楼层


innovation 发表于 2021-11-7 22:14
这么神奇的吗?那么你再同时勾选上Core Output Register,会不会变为延迟30个周期?
所以,难道你时序图 ...


时钟信号就是clka,我专门为了仿blkmem写了个case。
只选core register跟都不选是一样的,都慢了10个周期。
wea变低就开始读了,之前是写了的。低地址是ffff00000000ffff,高地址是反的。
捕获.PNG
0地址写的是 ffff00000000ffff,上图中,第二根黄线才读出来。换了fpga器件型号,都是这样。
发表于 2021-11-7 22:24:20 | 显示全部楼层
我觉得题主把工程代码和仿真代码贴出来就好看多了,毕竟只看部分波形截图,不全面,可能是那个代码细节的问题。
 楼主| 发表于 2021-11-7 22:27:55 | 显示全部楼层


innovation 发表于 2021-11-7 22:14
这么神奇的吗?那么你再同时勾选上Core Output Register,会不会变为延迟30个周期?
所以,难道你时序图 ...


是不是跟时钟频率有关?之前是100M慢10个周期,
我时钟换成10M,只慢了2个周期了。
捕获.PNG
发表于 2021-11-7 22:30:39 | 显示全部楼层


helimpopo 发表于 2021-11-7 22:24
时钟信号就是clka,我专门为了仿blkmem写了个case。
只选core register跟都不选是一样的,都慢了10个周期 ...


我先把Xilinx Block RAM的原理框图贴上来吧(摘自Xilinx UG473),各系有些细节差异,但读写延迟是一样的:

image.png

IP配置选项中的Primitive Output Register就是框图中的,是Block RAM硬核内部的,Core Output Register是Xilinx IP再生成时,根据我们的设定,利用FPGA内的通用Flip-flops,由xilinx软件帮我们添加的。
 楼主| 发表于 2021-11-7 22:32:10 | 显示全部楼层


helimpopo 发表于 2021-11-7 22:27
是不是跟时钟频率有关?之前是100M慢10个周期,
我时钟换成10M,只慢了2个周期了。


捕获.PNG
时钟改成5M,输出只慢半个周期了。TMD,还能负沿输出!?
发表于 2021-11-7 22:37:41 | 显示全部楼层


helimpopo 发表于 2021-11-7 22:27
是不是跟时钟频率有关?之前是100M慢10个周期,
我时钟换成10M,只慢了2个周期了。


你的仿真测试虽然表现出了与时钟频率的关系,但你先不要担心xilinx的Block RAM是不是跑不了100M,这个有数据可查的,见Xilinx每个FPGA的Datasheet,比如下图摘自Xilinx DS182,就是K7的数据手册:
image.png
 楼主| 发表于 2021-11-7 22:37:47 | 显示全部楼层


helimpopo 发表于 2021-11-7 22:32
时钟改成5M,输出只慢半个周期了。TMD,还能负沿输出!?


捕获.PNG
时钟1M,输出还能这样
发表于 2021-11-7 22:45:52 | 显示全部楼层
本帖最后由 innovation 于 2021-11-7 22:53 编辑


helimpopo 发表于 2021-11-7 22:32
时钟改成5M,输出只慢半个周期了。TMD,还能负沿输出!?


大哥,你这个图里面,时钟前沿6553699ps,后沿6553799ps,半个周期=100ps,然后你告诉我说clka = 5MHz?????

如果你没描述错,我也没有算错的话,那么你认为5M的时钟时,实际仿真的是5GHz,不敢想象,你之前100M时,倒底是多少,如果真是5G x 20 = 100GHz的话,我估计这就是问题了。你检查一下呢。
发表于 2021-11-7 23:01:13 | 显示全部楼层


innovation 发表于 2021-11-7 22:45
大哥,你这个图里面,时钟前沿6553699ps,后沿6553799ps,半个周期=100ps,然后你告诉我说clka = 5MHz?? ...


是不是timescale 设置成了 ·timescale 1ps /1ps 了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-7-17 05:16 , Processed in 0.025212 second(s), 8 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表