Forum Discussion
Altera_Forum
Honored Contributor
13 years ago --- Quote Start --- 1) is this the correct way to implement bidirectional pins in schematic entry? --- Quote End --- Yes, it is. --- Quote Start --- 2) does vcc or gnd enable the output buffer? --- Quote End --- ALT_IOBUF standard configuration is with active high output enable (OE). That means when OE=1 IO port will drive data present on I input, while when OE=0 IO port behaves as an input. Accessing ALT_IOBUF properties you can even change the OE polarity. --- Quote Start --- 3) is there any kind of direction control necessary for the pin itself? 4) if not (which there is nothing evident in the schematic pin symbol) does a bidirectional pin just perform as a simple wire between the ALT_IOBUF buffer and my circuit board and it is up to me to control what source is driving the signal on the pin? --- Quote End --- --- Quote End --- Yes. In order to create a true bidirectional port, your internal logic must provide 3 signals: output, input and direction (i.e. OE) The same must be accomplished by external circuitry. So it is mandatory you need some kind of logic or arbitration to avoid signal contention, namely fpga pin can behave as an output only when the external device is not driving the signal itself. Usually the same internal OE signal is used (possibily inverted) to enable the external device driver. The typical usage is for connection to flash or sram memory: ALT_IOBUF - IO connected to any memory data pin (bidirectional) ALT_IOBUF - OE routed to an output pin of fpga and connected to RDn on external memory device