Kangni Liu
05/27/2024, 8:08 PMMitch Bailey
05/27/2024, 10:07 PMio_in
is a 1.8V logic signal input to user_project_wrapper
from the gpio. io_out
is the 1.8V output of user_project_wrapper
to the gpio. io_oeb
is the output enable low signal from the user_project_wrapper
to the gpio. When io_oeb
is high, the output from the user_project_wrapper
is disabled and the output of the gpio is in a high impedance state.
There are also analog_io
connections to 29 of the gpio cells - these are straight connections through a 100 ohm resistor to the chip pad. However, be careful because they are offset - analog_io[28]
connects to gpio 35 and analog_io[0]
connects to gpio 7. That is, the first 7 and last 2 gpio cells do not have an analog connection to the user_project_wrapper
.
The gpio’s are configured by the settings in verilog/rtl/user_defines.v
. If you set the gpio default to GPIO_MODE_MGMT_STD_ANALOG
you still have access to the analog signal in the user area and you don’t need to connect most of the io_out
, io_oeb
signals.
The catch is that the io_out
and io_oeb
signals for gpio 6:0 are buffered, so you’ll want to tie those off even if you’re not using those gpio for digital.
If you don’t need digital input from the gpio, you don’t need to connect io_in
.Kangni Liu
05/28/2024, 12:07 AM