这篇文章介绍了如何为双向或输入输出端口编写 Verilog 测试平台。这种情况发生在包含双向或输入输出端口(例如 I2C 内核、IO 焊盘、存储器等)的特殊设计中。
在这篇文章中,我将举例说明如何为数字 IO 板编写测试平台代码。基本上,IO 板具有逻辑输入 DS
、OEN
、IE
、PE
,用于将 IO 板配置为输入或输出。当 DS = OEN = IE = PE = 1
时,IO 板用作输入板。因此,来自双向端口 PAD
的数据被写入输出 C。当 DS = PE = 1
且 OEN = IE = 0
时,IO 板用作输出板。因此,来自输入 I 的信号被传递到双向端口 PAD
。
Verilog
测试平台框图
如 Verilog
测试平台的框图所示,被测 IO pad
是 DUT
模块。块0控制输入输出端口 PAD
如下:
assign PAD = wr==1 ? din:1'bz;
当 wr==1
时,inout
端口 PAD
作为输入工作,因此 PAD = din
。当