一.實(shí)驗(yàn)平臺(tái) 我們采用的是自己設(shè)計(jì)的Zynq實(shí)驗(yàn)板,與Xilinx官方的Zedboard基本兼容。 二.實(shí)驗(yàn)內(nèi)容 我們使用PS部分的uart1,電路板上留出485接口,通過485轉(zhuǎn)232串口線,即搭好本實(shí)驗(yàn)的實(shí)驗(yàn)平臺(tái)。通過將vivado下新建的硬件平臺(tái)生成bitstream文件,導(dǎo)入到SDK,然后在SDK上新建helloworld的程序,運(yùn)行程序即可在終端上打印出helloworld信息。 三.注意事項(xiàng): 1. 關(guān)于Zynq: Zynq的PS外設(shè)可配置成MIO和EMIO。MIO是PS的I/O接口對應(yīng)到芯片外部引腳54個(gè)引腳,這些引腳可用在GPIO、SPI、UART、TIMER、Ethernet、USB等功能上。 一般來說FPGA設(shè)計(jì)中,頂層文件的Input Output端口都要給它約束到指定引腳; 但Zynq引腳資源主要分為PS Pin、FPGA Pin、Jtag Config Pin、GTX Pin(高速串行收發(fā)引腳)、XADC Pin; PS Pin分為PS_POR_B(上電復(fù)位引腳)、PS_CLK(系統(tǒng)時(shí)鐘)、PS_SRST_B(系統(tǒng)復(fù)位)、PS_MIO、PS_MIO_VREF、PS_DDR Pin; 因此我們看到在Diagram中的PS部分(除了EMIO)的Make External端口沒有約束到具體引腳,因?yàn)橛布弦呀?jīng)約束好了。PL部分的Make External端口是一定要在xdc文件中約束到指定引腳。 2. 在板子上運(yùn)行程序 本工程中只使用了PS上的uart1(MIO48、MIO49)、因uart0默認(rèn)是配置成EMIO的,沒有用到PL部分的資源,因此可以去掉FCLK、AXI_GP相關(guān)資源,但為了方便, 記住: 純PS設(shè)計(jì)時(shí),在板子上跑SDK程序只需Run As --> Run Configurations --> Run; PS+PL設(shè)計(jì)時(shí),需要先Program FPGA,然后再Run 四. 實(shí)驗(yàn)步驟 1. 在Vivado下新建工程,配置PS使能uart1,Generate output product,然后產(chǎn)生wrapper文件 2. 生成bit文件,并導(dǎo)出bitstream到硬件,打開SDK 3. 在SDK中新建Helloworld工程 4. Run As --> Run Configurations --> Run;Run Configuration這步要配置uart波特率為115200 5. 實(shí)驗(yàn)結(jié)果如圖:
五. 附錄工程文件 F:\Xilinx\zedboard\vivado\Zynq_Intro\Lab1_helloworld
|
|