一.实验平台 我们采用的是自己设计的Zynq实验板,与Xilinx官方的Zedboard基本兼容。 二.实验内容 我们使用PS部分的uart1,电路板上留出485接口,通过485转232串口线,即搭好本实验的实验平台。通过将vivado下新建的硬件平台生成bitstream文件,导入到SDK,然后在SDK上新建helloworld的程序,运行程序即可在终端上打印出helloworld信息。 三.注意事项: 1. 关于Zynq: Zynq的PS外设可配置成MIO和EMIO。MIO是PS的I/O接口对应到芯片外部引脚54个引脚,这些引脚可用在GPIO、SPI、UART、TIMER、Ethernet、USB等功能上。 一般来说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文件中约束到指定引脚。 2. 在板子上运行程序 本工程中只使用了PS上的uart1(MIO48、MIO49)、因uart0默认是配置成EMIO的,没有用到PL部分的资源,因此可以去掉FCLK、AXI_GP相关资源,但为了方便, 记住: 纯PS设计时,在板子上跑SDK程序只需Run As --> Run Configurations --> Run; PS+PL设计时,需要先Program FPGA,然后再Run 四. 实验步骤 1. 在Vivado下新建工程,配置PS使能uart1,Generate output product,然后产生wrapper文件 2. 生成bit文件,并导出bitstream到硬件,打开SDK 3. 在SDK中新建Helloworld工程 4. Run As --> Run Configurations --> Run;Run Configuration这步要配置uart波特率为115200 5. 实验结果如图:
五. 附录工程文件 F:\Xilinx\zedboard\vivado\Zynq_Intro\Lab1_helloworld
|
|