|
发表于 2013-3-8 11:00:20
|
显示全部楼层
本帖最后由 remnant 于 2013-3-8 11:01 编辑
对inout先做3态处理,分成2根线
比如,inout型pad:
module pad_dio(EXT, INT_O,INT_I,OE_B);
input INT_O,OE_B;
output INT_I;
inout EXT;
EXT = OE_B ? 1’bz : INT_O;//输出
INT_I = EXT;//输入
endmodule
那么,对于这个pad,在外部为了能够对pad操作,需要在tb中反向3态分成2根线:
inout pad_tb ; // pad_tb和上面pad的EXT连在一起
tb_pad_ext = X_pad_dio.OE_B ? tb_into : 1'bz; // pad输出通路断开时,tb给值到双向io
// OE_B为穿层次到pad内得到
tb_inti = pad_tb;
然后,就可以在tb中,直接对tb_into赋值,延时就可以做了 |
|