双向控制引脚的控制代码
从这个表中可以发现,当高阻态Z和0或者1值同时出现时,总能保持0或者1的原状态不变。设计双向引脚的逻辑时可以利用这个特性,引脚在做输入时,让输出值取Z状态,那么读取的输入值完全取决于实际的输入引脚状态,而与输出值无关;引脚在做输出时,则只要保证与器件引脚连接的信号也是处于类似的Z状态便可以正常输出的信号值。外部的状态是用对应芯片或外设的时序来保证的,在FPGA器件内部不直接可控,但还是把握好FPGA内部的输入、输出状态,保证不出现冲突情况。
module bidir(ytri,...);
inout ytri,
...
reg link;
wire yin;
...//link的取值控制逻辑以及其他逻辑
assign ytri = link ? yout : 1'bZ;
assign yin = ytri;
...//yin用于内部赋值
endmodule
欢迎关注我,关于FPGA的问题欢迎留言讨论!