Replies: 2 comments
-
Hey Simon!
You are absolutely right! However, I see some issues here...
That would be really handy! The problem is that these tri-state drivers required for bi-directional pins are very FPGA/technology specific. Most FPGAs have them, but some don't. Also, some synthesis tools have problems when these tri-state drivers are buried somewhere deep down in the hierarchy and not at the top of the design (I'm looking at you, Vivado!). The big advantage of FPGAs is that you can adapt the wiring at any time and thus configure exactly the inputs and outputs that you really need (not at runtime, of course). However, I am using a setup where the upper 32-bit of the output port are actually used to control tri-state buffers so I can configure the port direction of the lower 32-bit input/output pins.
This is also something that has been requested before. To be honest, I would like to have this too, but it would also increase the size of the GPIO controller - which brings additional hardware requirements, even for setups that don't need pin-change interrupts. For this reason, we have a separate interrupt controller. Basically, you could also connect the lowest 32 input ports to the external interrupt controller to get pin-change interrupt capabilities.
This is also a very convenient feature but it also adds additional overhead for setup that do not need debouncing... I therefore think that it is best (and most flexible) if the user himself implements the "IO ring" - i.e. the logic that connects the internal signals to the physical pins. At least that way you have the greatest flexibility (IMHO). But maybe I'm taking a too narrow view... 🙈 I'm open for discussion! 😉 |
Beta Was this translation helpful? Give feedback.
-
-> #1155 |
Beta Was this translation helpful? Give feedback.
-
Currently the GPIO is defined as having 64 separate inputs and 64 separate outputs.
Can the GPIO be changed to have:
This is more inline with "regular" implementations.
br,
Simon
Beta Was this translation helpful? Give feedback.
All reactions