inout的仿真问题
时间:10-02
整理:3721RD
点击:
数据总线定义为inout类型--sdr_dq ,输出用三态门,如:assign sdr_dq = sdr_o_en ? sdr_dq_o : 1'bz;
输入直接用inout总线赋值,如:
sdr_dq_i <= sdr_dq;
仿真的时候,当sdr_o_en=1,sdr_dq的值为sdr_dq_o;但是当sdr_o_en=0时,却是sdr_dq高阻态,怎么样才能是sdr_dq变为外部对其的输入值?
输入直接用inout总线赋值,如:
sdr_dq_i <= sdr_dq;
仿真的时候,当sdr_o_en=1,sdr_dq的值为sdr_dq_o;但是当sdr_o_en=0时,却是sdr_dq高阻态,怎么样才能是sdr_dq变为外部对其的输入值?
外部要加激励啊。不加当然是Z。
加了···
我勒个去···testbench层,将三态的线定义成了tri,就可以了···结贴。
外部激励不是一直加的,假设外部激励为sdr_dq_w,还需在外部加上一句assign sdr_dq=!sdr_o_en?sdr_dq_w:1'bz
谢了,问题已经解决了···外部激励不是我写的,我直接接上仿真模型,如果自己做外部激励应该是像你这样处理吧。
学习了
为什么我的是0是0 1就为x了啊
