modelsim双向口仿真问题

我在模块内部定义了几个信号regread,regwrite,wiretr,wiredat(其中dat为inout类型)单独通过quartus综合成功在rtl中也能看到正确... 我在模块内部定义了几个信号
reg read,reg write,wire tr,wire dat(其中dat为inout类型)
单独通过quartus综合成功 在rtl中也能看到正确的rtl连接既
当tr为1时为写即write<=dat
当tr为0时为读即dat=read
这些功能是在模块内部的,运行也很正常。
问题是 如果我要在modelsim里仿真在写tb时 dat这个怎么处理呢 是reg还是什么呢
难道在tb文件中也要一套双向门的控制机制 控制内部模块的运行吗
展开
 我来答
志当存高远389
2015-04-16 · 知道合伙人互联网行家
志当存高远389
知道合伙人互联网行家
采纳数:11237 获赞数:20406
08年毕业,一直从事计算机行业,从基层做起。有较强的实践操作能力。

向TA提问 私信TA
展开全部
第一个warning出现是因为你在testbench里头没有指明timescale,
也就是说你的#50是表示50ns,还是50ps,或者是50us?
修改方法:在testbench里第一行,modlue testbenchcounter之前,
加上一行
`timescale 1ns/1ns,前一个表示你在tb里头写的数字的单位,
后一个表示仿真时候的精度。
第二个error是因为q对于counter来说是output,
所以在testbench里头应该声明为wire型变量,
并且不需要在initial里头对它进行赋初始值。
初始值的赋予应该在设计模块中引入reset信号
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式