Vivado+Zedboard之流水燈_第1頁
Vivado+Zedboard之流水燈_第2頁
Vivado+Zedboard之流水燈_第3頁
Vivado+Zedboard之流水燈_第4頁
Vivado+Zedboard之流水燈_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Vivado+Zedboard之流水燈環(huán)境: Vivado 2014.2開發(fā)板:Zedboard version xc7z020clg484-1實(shí)驗(yàn): 使用Vivado和SDK進(jìn)行Zedboard開發(fā),制作一個簡單的流水燈程序以說明軟硬件協(xié)同設(shè)計的方法、開發(fā)流程等。本文將分為三個部分:1. 使用Vivado創(chuàng)建一個工程,并構(gòu)建一個Zynq嵌入式處理系統(tǒng)2. 在上述基礎(chǔ)上,將完成后的硬件導(dǎo)入到SDK中進(jìn)行軟件設(shè)計。3. 最后下載到ZedBoard上進(jìn)行調(diào)試。1. 使用Vivado創(chuàng)建工程1.1新建工程1.鼠標(biāo)左鍵雙擊Vivado 2014.2圖標(biāo),打開Vivado 2014.2,出現(xiàn)如下界面:2

2、.單擊Create New Project創(chuàng)建一個新的工程: 3.單擊Next執(zhí)行下一步;4.選擇工程所在的位置,并輸入工程名test_led,單擊Next;5在Vivado中新建一個RTL工程,暫不添加文件,單擊Next;6. 單擊Next執(zhí)行下一步;7. 單擊Next執(zhí)行下一步;8. 單擊Next執(zhí)行下一步;9.這一步要注意,在左上角Specify處選擇Boards,選擇ZedBoard Zynq Evaluation and Development Kit version D器件,單擊Next;10.單擊Finish11.等待軟件根據(jù)設(shè)定新建一個RTL工程。 這樣新建工程的步驟就完成了,

3、下面進(jìn)行硬件設(shè)計步驟;1.2硬件設(shè)計 新建工程的界面如下:1. 單擊Create Block Design,創(chuàng)建并添加IP核;2.輸入工程名led,單擊OK;3.等待軟件Create Block Design,創(chuàng)建完成后的界面如下:4. Add IP,一般會提示This design is empty.To get started, Add IP from the catalog,單擊Add IP會出現(xiàn)IP的目錄,如果此處沒有提示,可以單擊Diagram左邊框的Add IP添加;5. 在目錄Search中輸入ZYNQ7 Processing System;6.雙擊ZYNQ7 Processin

4、g System完成IP核的添加;7.等待軟件Add IP,添加完成后的界面如下:8.單擊Run Block Automation;9.單擊processing_system7_0;10.單擊OK;11.等待軟件運(yùn)行,運(yùn)行后的界面為:12.如果想了解內(nèi)部的詳細(xì)結(jié)構(gòu)和進(jìn)行接口配置,可以雙擊ZYNQ7 Processing System核,(此實(shí)驗(yàn)不需要設(shè)置,如果想直接進(jìn)行下一步實(shí)驗(yàn)可以直接跳到步驟16)13.等待軟件運(yùn)行,運(yùn)行后的界面為:14.單擊左側(cè)對應(yīng)內(nèi)容可以進(jìn)行接口配置:15.單擊OK完成配置;16.繼續(xù)添加IP ,單擊左側(cè)的Add IP圖標(biāo):17.在目錄Search中輸入AXI GPIO

5、;18.雙擊AXI GPIO添加;19.繼續(xù)添加IP,單擊左側(cè)的Add IP圖標(biāo),在目錄Search中輸入AXI BRAM Controller:20.雙擊AXI BRAM Controller,完成添加;21繼續(xù)添加IP,單擊左側(cè)的Add IP圖標(biāo),在目錄Search中輸入Block Memory Generator:22. 雙擊Block Memory Generator,完成添加;23.右鍵單擊Block Memory Generator,選擇Customize Block:24. Mode處選擇BRAM Controller,Memory Type處選擇True Dual Port R

6、AM:25單擊OK完成設(shè)置;26.連接the Block Memory Generator to the AXI4 BRAM Controller 27Run Connection Automation 選擇 /axi_gpio_0/S_AXI:28.單擊OK,完成此部分的連接;29. Run Connection Automation again, 選擇/axi_gpio_0/GPIO; 30.選擇leds_8bits,單擊OK;31.Run Connection Automation again, 選擇/axi_bram_ctrl_0/S_AXI;32.單擊OK;33. 修改the ran

7、ge of the AXI BRAM Controller to 64K:34. 單擊File選擇Save Block Design保存設(shè)計(也可以直接Ctrl+S)1.3硬件處理1. Tools >Validate Design2等待軟件運(yùn)行,運(yùn)行后的界面如下:3.單擊OK;4.right-click the top-level subsystem design->Generate Output Products5.單擊Generate,等待軟件運(yùn)行,運(yùn)行完成后right-click the top-level subsystem design->Create HDL Wr

8、apper6單擊OK;7. 單擊Generate Bitstream,單擊Yes,首先進(jìn)行分析綜合和實(shí)現(xiàn);(這里也可以直接先點(diǎn)擊Run Synthesis,然后點(diǎn)擊Run Implementation,然后再點(diǎn)擊Generate Bitstream)需要等待運(yùn)行的時間比較長,本機(jī)大概需要15分鐘;8.運(yùn)行完成后,會自動彈出對話框,選擇Open Implemented Design,單擊OK:9.運(yùn)行完成后的界面如下:10. 在關(guān)聯(lián)到SDK時,需要將Package和Device都打開,如果運(yùn)行后只是自動打開了device,需要Open Synthesized Design來打開Package11

9、.單擊NO,將Package和Device同時顯示出來;打開后的界面如下:12. 單擊Open Block Design to invoke the IP integrator design13. 連接 micro-usb cable between the PC and the JTAG port of the board, another micro-usb cable between the PC and the UART port of the board,.打開Zedboard板的電源,如下圖所示,打開電源之后POWER燈會亮;14.單擊Hardware Manager中的Open

10、Target,這里因?yàn)樵?jīng)在本機(jī)上使用過Zedboard,所以會直接顯示出Localhost,如果是第一次連接Zedboard,要單擊Open New Target(如果直接顯示出Localhost,可以直接點(diǎn)擊Localhost進(jìn)行步驟18)15單擊Next;(如果hardware manager中找不到硬件板,這是由于在任務(wù)管理器的進(jìn)程中,hw_server.exe進(jìn)程一直在執(zhí)行,需要將其關(guān)掉,如果關(guān)了之后還檢測不到硬件板,則需要關(guān)機(jī)之后再開機(jī)便可;)16.選擇Local server,單擊Next;17.軟件會自動檢測出Localhost,選擇后單擊Next;18.單擊Finish,自動

11、Open Target;19. 單擊Hardware Manager中的Program Device,單擊xc7z020_1:20.單擊Program將比特流燒寫到ZedBoard板上;完成后板上的DONE藍(lán)燈會亮,提示成功:21.單擊File中的Export,單擊Export Hardware22.單擊OK23. 單擊File中的launch SDK:24.單擊OK;這樣在Vivado中的操作就完成了,軟件會自動打開SDK:SDK中的軟件設(shè)計打開后的SDK界面如下:1. 單擊File > New > Application Project2.輸入工程名zj,單擊Next:3. 選

12、擇一個空的模板:empty application,單擊Finish,等待工作環(huán)境的建立:4. 單擊led > 右鍵單擊src > new > Source File5.輸入工程名zj.c,單擊Finish;6. 編寫如下程序,Ctrl+S,保存的同時,軟件會自動開始編譯,在左下角problem處可以看到相應(yīng)的warning和error;程序如下:#include "xparameters.h" /* Peripheral parameters */#include "xgpio.h" /* GPIO data struct and A

13、PIs */#include "xil_printf.h"#include "xil_cache.h"#define GPIO_BITWIDTH 8 /* This is the width of the GPIO */#define GPIO_DEVICE_ID 0/device id#define LED_DELAY 10000000/* times delay*/#define LED_MAX_BLINK 0x1 /* Number of times the LED Blinks */#define LED_CHANNEL 1 /* GPIO ch

14、annel*/#define printf xil_printf /* A smaller footprint printf */XGpio Gpio; /* The Instance of the GPIO Driver */XGpio GpioOutput; /* The driver instance for GPIO Device configured as O/P */int GpioMarquee (u16 DeviceId, u32 GpioWidth) volatile int Delay; u32 LedBit; u32 LedLoop; int Status; /* * I

15、nitialize the GPIO driver so that it's ready to use, * specify the device ID that is generated in xparameters.h */ Status = XGpio_Initialize(&GpioOutput, DeviceId); if (Status != XST_SUCCESS) return XST_FAILURE; /Set the direction for all signals to be outputs XGpio_SetDataDirection(&Gpi

16、oOutput, LED_CHANNEL, 0x0); / Set the GPIO outputs to low XGpio_DiscreteWrite(&GpioOutput, LED_CHANNEL, 0x0); for (LedBit = 0x0; LedBit < GpioWidth; LedBit+) for (LedLoop = 0; LedLoop < LED_MAX_BLINK; LedLoop+) /Set the GPIO Output to High XGpio_DiscreteWrite(&GpioOutput, LED_CHANNEL,1

17、 << LedBit); /Wait a small amount of time so the LED is visible for (Delay = 0; Delay < LED_DELAY;Delay+); /Clear the GPIO Output XGpio_DiscreteClear(&GpioOutput, LED_CHANNEL,1 << LedBit); / Wait a small amount of time so the LED is visible for (Delay = 0; Delay < LED_DELAY; De

18、lay+); return XST_SUCCESS;int main(void)/Application start /* loop forever*/ int cnt=0; while(1) u32 status; status = GpioMarquee (GPIO_DEVICE_ID,GPIO_BITWIDTH); if (status = 0) printf("%d:SUCESS!.rn",cnt+); if(cnt>=1000) cnt=0; else printf("FAILED.rn"); return XST_SUCCESS;7. 單擊Xilinx Tools > program FPGA將比特

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論