AN4803 · Application noteHigh-speed SI simulations using IBIS and board-level simulations using HyperLynx® SI on STM32 MCUs and MPUs
Download .pdfOpen in the full document

GPIO structure

Model selector

The GPIO pins can be selected following below parameters depending on the application requirements:
  • Two operating voltage ranges:
    • V33 (3.3 V): refer to 2.7 V to 3.6 V external voltage range VDDx
    • V18 (1.8 V or lv): refer to 1.7 ( see Note below) to 2.7 V external voltage range VDDx
  • Four or less output buffer speed control depending on the required frequency:
    • 00 (low speed)
    • 01 (medium speed)
    • 10 (fast speed)
    • 11 (high speed)
  • Controllable internal pull-up and pull-down resistor (enabled/disabled): PD/PU
  • Specific IO pins are used to cover special functions: USB and I2C. The same IO is also available as GPIO pin.
Note:

For more details, refer to the specific STM32 device datasheet on the section I/O port characteristics and also to the corresponding STM32 reference manual on the section General purpose I/O (GPIO) for software configuration and selection.

Example of model selector on STM32F746xx MCU

The example below keeps the same selected IO/Pin as in Basic structure of an IBIS file. The pin is H14 port PG8. This pin belongs to the family "io8p_arsudq_ft" of IO buffer.

In Table 2 I/Os in/output buffer for "io8p_arsudq_ft" selector, the pin H14 with the selected GPIO configurations is highlighted in different colors as per the table footnote legend.

Table 2. I/Os in/output buffer for "io8p_arsudq_ft" selector
IO model name selection (io8p_ar3wsudq_ft)I/O parameters
Voltage rangeBuffer speedPull up/Pull down
io8p001_ar3wsudq_ft_pd3_lv2 "SPEED00 1P8V, PD=40kOhm"

1.7 V to 2.7 V2

Low speed1

Pull down 40 K3
io8p00_ar3wsudq_ft_pu_lv "SPEED00 1P8V, PU=40kOhm"Pull up 40 K
io8p00_ar3wsudq_ft_lv "SPEED00 1P8V"Disabled
io8p01_ar3wsudq_ft_pd_lv "SPEED01 1P8V, PD=40kOhm"

1.7 V to 2.7 V

Medium speed

Pull down 40 K
io8p01_ar3wsudq_ft_pu_lv "SPEED01 1P8V, PU=40kOhm"Pull up 40 K
io8p01_ar3wsudq_ft_lv "SPEED01 1P8V"Disabled
io8p10_ar3wsudq_ft_pd_lv "SPEED10 1P8V, PD=40kOhm"

1.7 V to 2.7 V

Fast speed

Pull down 40 K
io8p10_ar3wsudq_ft_pu_lv "SPEED10 1P8V, PU=40kOhm"Pull up 40 K
io8p10_ar3wsudq_ft_lv "SPEED10 1P8V"Disabled
io8p11_ar3wsudq_ft_pd_lv "SPEED11 1P8V, PD=40kOhm"

1.7 V to 2.7 V

High speed

Pull down 40 K
io8p11_ar3wsudq_ft_pu_lv "SPEED11 1P8V, PU=40kOhm"Pull up 40 K
io8p11_ar3wsudq_ft_lv "SPEED11 1P8V"Disabled
io8p00_ar3wsudq_ft_pd "SPEED00, PD=40kOhm"

2.7 V to 3.6 V

Low speed

Pull down 40 K
io8p00_ar3wsudq_ft_pu "SPEED00, PU=40kOhm"Pull up 40 K
io8p00_ar3wsudq_ft "SPEED00"Disabled
io8p01_ar3wsudq_ft_pd "SPEED01, PD=40kOhm"

2.7 V to 3.6 V

Medium speed

Pull down 40 K
io8p01_ar3wsudq_ft_pu "SPEED01, PU=40kOhm"Pull up 40 K
io8p01_ar3wsudq_ft "SPEED01"Disabled
io8p10_ar3wsudq_ft_pd "SPEED10, PD=40kOhm"

2.7 V to 3.6 V

Fast speed

Pull down 40 K
io8p10_ar3wsudq_ft_pu "SPEED10, PU=40kOhm"Pull up 40 K
io8p10_ar3wsudq_ft "SPEED10"Disabled
io8p11_ar3wsudq_ft_pd "SPEED11, PD=40kOhm"

2.7 V to 3.6 V

High speed

Pull down 40 K
io8p11_ar3wsudq_ft_pu "SPEED11, PU=40kOhm"Pull up 40 K
io8p11_ar3wsudq_ft "SPEED11"Disabled
1 Onthis IBIS model name selection, the fragment “XX” on “io8pXX_ar3wsudq_ft_pu_lv” defines the speed. 00 = low speed, 01 = medium speed, 10 = fast speed, 11 = high speed. Refer to column “Buffer speed” in this table.
2 Onthis IBIS model name selection, the fragment “ZZ” on “io8p00_ar3wsudq_ft_pd_ZZ” defines the voltage range. The value “lv” = 1.7 to 2.7 V, [empty] = 2.7 to 3.6 V.
3 Onthis IBIS model name selection, the fragment “YY” on “io8p00_ar3wsudq_ft_YY_lv” defines the pull-up or pull-down. The value “pu” = pull down, “pd” = pull down, [empty] = disabled.