【发布时间】:2013-06-22 06:30:27
【问题描述】:
我想通过 FPGA 驱动一个双向逻辑信号。 PGD_ICD PGD_TARGET 对于那些认识 Microchip ICD3 的人来说,您知道 PGD 线是双向的。 我读到我们不能做那样的事情,但你知道吗? 非常感谢
【问题讨论】:
标签: input vhdl output bidirectional
我想通过 FPGA 驱动一个双向逻辑信号。 PGD_ICD PGD_TARGET 对于那些认识 Microchip ICD3 的人来说,您知道 PGD 线是双向的。 我读到我们不能做那样的事情,但你知道吗? 非常感谢
【问题讨论】:
标签: input vhdl output bidirectional
在不知道总线协议的情况下通过 FPGA 传递双向总线是行不通的。
虽然 FPGA I/O 引脚确实支持三态逻辑信号(浮动输出状态),但您需要知道何时将值驱动到输出,以及何时将输出三态(高阻抗或“Z”)。
一旦您有一个信号(例如out_enable),当您想要驱动一个值时为“1”,当输出应为浮动时为“0”,您可以使用三态缓冲器来驱动输出:
out_pin <= out_signal when(out_enable='1') else 'Z';
【讨论】: