作者:yangzhiyuan0928 来源:CSDN 原文:https://blog.csdn.net/yang2011079080010/article/details/51695010 版权声明:本文为博主原创文章,转载请附上博文链接!
Zynq的PS外设可配置成MIO和EMIO。
MIO是PS的I/O接口对应到芯片外部引脚54个引脚,这些引脚可用在GPIO、SPI、UART、TIMER、Ethernet、USB等功能上。
EMIO是使用拓展IO,因为MIO引脚资源有限,将MIO上放不下的而又想使用的IO接口连到PL上,从PL引脚连到外部,这就是EMIO。
我们知道,PS部分访问PL 部分的资源,一般可通过AXI GP(低速访问)、AXI HP(高速访问)、AXI ACP(用得较少),但有了EMIO,就可以通过EMIO直接连到一些简单PL模块上,用作模块的控制信号,这样就可以绕过复杂的AXI总线访问。
一般来说FPGA设计中,顶层文件的Input Output端口都要给它约束到指定引脚; 但Zynq引脚资源主要分为PS Pin、FPGA Pin、Jtag Config Pin、GTX Pin(高速串行收发引脚)、XADC Pin; PS Pin分为PS_POR_B(上电复位引脚)、PS_CLK(系统时钟)、PS_SRST_B(系统复位)、PS_MIO、PS_MIO_VREF、PS_DDR Pin; 因此我们看到在Diagram中的PS部分(除了EMIO)的Make External端口没有约束到具体引脚,因为硬件上已经约束好了。PL部分的Make External端口是一定要在xdc文件中约束到指定引脚。
纯PS设计时,在板子上跑SDK程序只需Run As --> Run Configurations --> Run; PS+PL设计时,需要先Program FPGA,然后再Run