正文
verilog 双向IO实现
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
网上搜索了一番,示例挺多,但发现都写的是 input in; output out;
然后 assign io= (oe)?out:1'bz;
就有点想不明白了,当IO方向为输出时,应该输出out的值,那么针对这个IO模块,out应该是input才对。
而in应该是ouput的。
尝试写了段代码
module iopin
(
iopin,
in_data,
out_data,
oe
);inout iopin;
output in_data;
input out_data;
input oe;assign in_data = iopin;
assign iopin = (oe)?out_data:'bz;endmodule
编译后 RTL viewer显示如下,符合预期要求,有空再继续研究。