手机号码,快捷登录
找回密码
登录 注册
您需要 登录 才可以下载或查看,没有账号?注册
举报
很多初学者在写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
原帖由 pennynet 于 2007-5-16 14:36 发表 你们说的不大懂, 我以前做的project中chip出来的inout signal, 在tb_top上用一个双向pad把它分开,in和激励相连, out连到check_module,不知通用吗
本版积分规则 发表回复 回帖后跳转到最后一页
查看 »
小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网 ( 京ICP备:10050787号 京公网安备:11010502037710 )
GMT+8, 2025-2-12 07:47 , Processed in 0.025303 second(s), 10 queries , Gzip On, Redis On.