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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2523|回复: 5

问一个老生常谈的问题

[复制链接]
发表于 2007-5-15 15:14:32 | 显示全部楼层 |阅读模式

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

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

x
问题是: DUT定义了一个inout端口,在testbench中用哪种类型的net和它连接?
我在网上查了一下,比较多的解决方法是wire+reg+assign的方法,感觉比较麻烦。
前段时间在用icfb的时候,建立了原理图,用verilog模型仿真,verilog-xl自动生成testbech的头,我只需要修改激励,
其中inout端口对应的名称是xxx_io,可以直接赋值为Z,
可惜我无法看到verilog-xl自动生成的testbench头,
所以帮我思考一下,它是怎么解决的?
多谢!
 楼主| 发表于 2007-5-15 15:52:44 | 显示全部楼层


很多初学者在写testbench进行仿真和验证的时候,被inout双向口难住了。仿真器老是提示错误不能进行。下面是我个人对inout端口写testbench仿真的一些总结,并举例进行说明。在这里先要说明一下inout口在testbench中要定义为wire型变量。
先假设有一源代码为:
module xx(data_inout , ........);
inout data_inout;
........................
assign data_inout=(! link)?datareg:1'bz;
endmodule
方法一:使用相反控制信号inout口,等于两个模块之间用inout双向口互连。这种方法要注意assign 语句只能放在initial和always块内。
module test();
wire data_inout;
reg data_reg;
reg link;
initial begin
..........
end
assign data_inout=link?data_reg:1'bz;
endmodule
方法二:使用force和release语句,但这种方法不能准确反映双向端口的信号变化,但这种方法可以反在块内。
module test();
wire data_inout;
reg data_reg;
reg link;
#xx;        //延时
force data_inout=1'bx;           //强制作为输入端口
...............
#xx;
release data_inout;          //释放输入端口
endmodule


我看到的就是这个方法
发表于 2007-5-16 14:36:54 | 显示全部楼层
你们说的不大懂,
我以前做的project中chip出来的inout signal,
在tb_top上用一个双向pad把它分开,in和激励相连,
out连到check_module,不知通用吗
发表于 2007-5-16 14:39:48 | 显示全部楼层
我想chip内也是用双向pad将两根线合成一根inout线,
不会在chip内用tristate吧,

当然用反相控制tristate也可以吧,
其实双向pad也就是一个tristate,
发表于 2007-5-19 12:44:49 | 显示全部楼层


原帖由 pennynet 于 2007-5-16 14:36 发表
你们说的不大懂,
我以前做的project中chip出来的inout signal,
在tb_top上用一个双向pad把它分开,in和激励相连,
out连到check_module,不知通用吗



双向pad是什么...?
 楼主| 发表于 2007-6-1 22:19:10 | 显示全部楼层
assign r_track[0] = (r_track_io[0]==1'b0 | r_track_io[0]==1'b1)?r_track_io[0]:1'bz ;

r_track[0]是wire类型
r_track_io[0]是reg类型

在initial进程中直接对r_track_io[0]赋值就行了

不知道这样可不可以?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-15 07:28 , Processed in 0.023532 second(s), 8 queries , Gzip On, Redis On.

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