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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2842|回复: 9

[求助] 如何将testbench中的寄存器组赋值给rtl其中一个模块

[复制链接]
发表于 2021-4-12 00:48:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
如题,我在testbench中定义了两个寄存器,用$readmemb命令读取数据存入这两个寄存器中。请问如何将这两个寄存器的内容全部传给某个module?
其实原来readmemb读入数据存入寄存器的操作是写在rtl里的,但是因为initial和readmemb不能综合,所以要把这部分放到testbench里,再由testbench传给mudule进行计算。
有想过例化,但是输入输出信号不能是有深度的寄存器,就不知道该怎么办了。
求大佬帮助!感谢



捕获.PNG
 楼主| 发表于 2021-4-12 13:49:50 | 显示全部楼层
求助啊,大佬们帮帮忙!
发表于 2021-4-12 15:51:40 | 显示全部楼层
你在testbench里面再定义两个变量,把你定义的读取到的memory值(imageAarry和patternArray)按照module时钟域赋值给新定义的两个变量即可。
发表于 2021-4-12 15:54:17 | 显示全部楼层
你在你的testbench里面在定义两个变量,比如image_reg和pattern_reg,然后把imageArray和patternArray里面的值按照你写的module的时钟逐拍赋值给image_reg和pattern_reg即可
发表于 2021-4-12 15:56:20 | 显示全部楼层


qgc123456 发表于 2021-4-12 13:49
求助啊,大佬们帮帮忙!


你再定义两个变量img_reg和ptn_reg,然后按照module里面的时钟,把imageArray和patternArray里面的值分别赋值即可。
发表于 2021-4-13 18:32:22 | 显示全部楼层
原来rtl里面的处理代码,提取到testbench里面,我理解是不是加上内部信号层次路径就好了?
 楼主| 发表于 2021-4-17 13:55:48 | 显示全部楼层


smarthb 发表于 2021-4-12 15:54
你在你的testbench里面在定义两个变量,比如image_reg和pattern_reg,然后把imageArray和patternArray里面的 ...


我在testbench里的定义了两个存储器imageArray和patternArray,通过readmemb读取写入txt里的内容。又定义了image_reg和pattern_reg两个寄存器以及image_n和pattern_n两个地址信号,每个周期按地址将存储器里的内容赋值给寄存器,然后通过例化将寄存器的内容传递给rtl,然后再把每个寄存器的值存到rtl定义的存储器当中。但我看波形rtl的存储器每个地址的内容只能保存三个周期就没了,这是怎么回事?请问我这种方法是正确的吗?

testbench

testbench

rtl接收到信号存入储存器

rtl接收到信号存入储存器
发表于 2021-4-17 20:40:43 | 显示全部楼层


qgc123456 发表于 2021-4-17 13:55
我在testbench里的定义了两个存储器imageArray和patternArray,通过readmemb读取写入txt里的内容。又定义 ...


把波形贴出来吧
发表于 2021-4-19 09:40:26 | 显示全部楼层
很普通的“.”引用就行啊,例如,我要把patternArray[0]放入一个三级子模块的寄存器reg1,那:
assign top.sub1.sub2.sub3.reg1 = patternArray[0];
发表于 2021-4-21 17:32:57 | 显示全部楼层


qgc123456 发表于 2021-4-17 13:55
我在testbench里的定义了两个存储器imageArray和patternArray,通过readmemb读取写入txt里的内容。又定义 ...


没有看到你赋值部分的代码,接楼上的,把波形贴上,波形里面你赋值的数据带上,一看就明白了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-30 08:51 , Processed in 0.022284 second(s), 7 queries , Gzip On, Redis On.

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