tie two inout together vhdl

2019-08-07 08:12发布

I want to drive a birectionnal logic signal through the FPGA. PGD_ICD <--> PGD_TARGET for those who have recognized the Microchip ICD3 you know that PGD line is bidirectional. I've read that we can't do something like that but have you any idea ? many thanks

1条回答
我欲成王,谁敢阻挡
2楼-- · 2019-08-07 08:51

Passing a bidirectional bus through an FPGA without knowing the bus protocol won't work.

While FPGA I/O pins do support tristate logic signals (floating output state), you will need to know when to drive a value onto the output, and when to tristate the output (high impedence, or 'Z').

Once you have a signal (for example out_enable) that is '1' when you want to drive a value and '0' when the output should be floating, you can use a tri-state buffer to drive the output:

out_pin <= out_signal when(out_enable='1') else 'Z';
查看更多
登录 后发表回答