一. Zynq Ultrascale系列
比如对于XCZU21DR,查看UG1085 page762,如下图:

XCZU21DR有6个BANK,EMIO从78开始编号。
BANK编号 | 类型 | 引脚编号 |
BANK0 | MIO | MIO0~25 |
BANK1 | MIO | MIO26~51 |
BANK2 | MIO | MIO52~77 |
BANK3 | EMIO | MIO78~109 |
BANK4 | EMIO | MIO110~141 |
BANK5 | EMIO | MIO142~173 |
比如在Vivado中:

当我们在Vivado中配置EMIO的时候,也并没有指定其编号,只是指定了需要的EMIO的数目,当在SDK中编程使用时,EMIO的编号永远就是从78开始数,如果上面指定的位宽是2,则编号是78,79;位宽是4,则是78,79,80,81。这其实也说明vivado会自动从Bank3 LSB开始给我们分配引脚。
二. Zynq-7000系列
查看UG585 page382,如下图:
有4个BANK,EMIO从54开始编号。
BANK编号 | 类型 | 引脚编号 |
BANK0 | MIO | MIO0~31 |
BANK1 | MIO | MIO32~53 |
BANK2 | EMIO | MIO54~85 |
BANK3 | EMIO | MIO86~117 |
当我们在vivado中配置EMIO的时候,也并没有指定其编号,只是指定了需要的EMIO的数目,当在SDK中编程使用时,EMIO的编号永远就是从54开始数,如果上面指定的位宽是2,则编号是54,55;位宽是4,则是54,55,56,57。这其实也说明Vivado会自动从Bank2 LSB开始给我们分配引脚。











