Replies: 1 comment
-
That's right. From my point of view such a "programmable" input/output selection does not make much sense for a FPGA platform. For FPGAs you have full control which physical pins are mapped to GPIO inputs or outputs anyway. 🤔 If you require a tri-state functionality, then I would recommend to add this inside the top's "IO ring". |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
In the vast majority of microcontrollers you can control the tristate/mode of the pin so that you can either set it to be an input or output. Currently the neorv32 does not have such control in software. There are a few cases when you may wish to change the state on the fly (eg bitbanging an interface that you don't want to create a seperate hardware module for).
To not break the stuff mentioned in #538, you could prehaps add an output (from the gpio module, eg
gpio_z
) that allows you to control the tristate in a top level design. Eg,Then in the software side of things, you could do the following:
I can draft a PR for this, but I just wanted to see what everyone thought before hand. My only concern is that it would requrie another set of registers to be added to the GPIO module which may result in changing the addresses of the other peripherals.
Anyway, its food for thought.
Beta Was this translation helpful? Give feedback.
All reactions