用Verilog怎么描述双向IO口
坛中有人用Verilog写过能用的双向IO口没,可否发共享一例程学习 inout io_data;reg out_data;
reg io_link;
assign io_data = io_link ? out_data : 1'bz; module iopin(
input din,
input oe,
output dout,
inout io
);
assign din = io ;
assign io = (oe)? dout : 1'bz;
endmodule
使用的时候例化下这个模块就可。
注意IO应该是约束在具体的CPLD/FPGA上的接口,如果在逻辑内部,由于CPLD/FPGA不支持内部的三态,将生成多路(MUX)器实现等效逻辑。 谢谢1楼2楼的回答!学习中、、、 支持 本帖最后由 aozima 于 2014-8-31 23:01 编辑
网上搜了一圈大家都是写input in_data;
对FPGA里面来说,IO模块的in_data不应该是输出类型的么?
学习写了一段module iopin
(
io_pin,
in_data,
out_data,
oe
);
inout io_pin;
output in_data;
input out_data;
input oe;
assign in_data = io_pin;
assign io_pin = (oe)?out_data:1'bz;
endmodule
RTL viewer显示如下图
inout ,,,,,,,,,,,,,,,
页:
[1]