1

我想通过 FPGA 驱动一个双向逻辑信号。PGD​​_ICD <--> PGD_TARGET 对于那些已经识别 Microchip ICD3 的人,您知道 PGD 线路是双向的。我读到我们不能做那样的事情,但你知道吗?非常感谢

4

1 回答 1

1

在不知道总线协议的情况下通过 FPGA 传递双向总线是行不通的。

虽然 FPGA I/O 引脚确实支持三态逻辑信号(浮动输出状态),但您需要知道何时将值驱动到输出,以及何时将输出三态(高阻抗或“Z”)。

一旦您有一个信号(例如out_enable),当您想要驱动一个值时为“1”,当输出应该浮动时为“0”,您可以使用三态缓冲器来驱动输出:

out_pin <= out_signal when(out_enable='1') else 'Z';
于 2013-06-25T14:13:23.683 回答