Could anyone explain the use of `reg_gpio_mode1` ...
# mpw-2-silicon
y
Could anyone explain the use of
reg_gpio_mode1
reg_gpio_mode0
? Thank you for the help.
d
As per my review on the caravel rtl, these value decide the Mgmt GPIO drive strength dm value File: ./chip_io.v wire [2:0] dm_all = {gpio_mode1_core, gpio_mode1_core, gpio_mode0_core}; // Management GPIO pad `INOUT_PAD(gpio, gpio_in_core, vccd_const_one[1], vssd_const_zero[1], gpio_out_core, gpio_inenb_core, gpio_outenb_core, dm_all); We have only one Mgmt GPIO pad and this is connected to LED in current board. DM value decode is as follows 010 - Slow Rise, Fast Fall 011 - Fast Rise, Slow fall 111 - Slow rise, slow fall 110 = fast rise, fast fall 000 - no response 001 - no response 100 - required external pull-up to operate 101 - require external pull-down to operate In Bring-up scripts I see reg_gpio_mode1 = 1; reg_gpio_mode0 = 0; Which means dm = {1'b1,1'b1,1'b0} it means GPIO (LED) Pad is in 110 = fast rise, fast fall
t
@Yatharth Agarwal: The I/O documentation fully explaining the modes is here: https://skywater-pdk.readthedocs.io/en/main/contents/libraries/sky130_fd_io/docs/user_guide.html As seen in @Dinesh A’s post, the management GPIO pin DM value has the upper two bits tied to the same value, with the intent of configuring the two principle modes, which are
110
(output) and
001
(input).
y
Thank you for the amazing explanation!