對ZYNQ的學習的渴望由來已久,前不久買了一個基于xc7z010的開發(fā)板,現在將自己的學習的進階之路記錄在此,希望能給想要入門的ZYNQ學習者一點幫助,本人也剛開始學習,能力有限,其中若有不足之處希望大家多多交流,以便共同進步!
xilinx ZYNQ-7000系列芯片將處理器的軟件可編程能力與FPGA的硬件可編程能力實現了完美結合,有低功耗和低成本等系統優(yōu)勢,可以實現無與倫比的系統性能、靈活性和可擴展性,同時可以加速產品的上市進程。與傳統的SoC處理解決方案不同,ZYNQ-7000器件的靈活可編程邏輯能實現優(yōu)化與差異化功能,使設計人員可以根據大部分應用的要求添加外設和加速器。
下面我們從最基本的LED流水燈開始ZYNQ的進階之路,教程使用的開發(fā)板使用的是xc7z010這顆芯片,芯片內部包含雙核cortex-A9硬核處理器和Aritx-7 FPGA(PS+PL),本節(jié)我們先使用PL部分實現流水燈。首先我們要安裝vivado 軟件,
鏈接:https://pan.baidu.com/s/16IXGO5ckhFP_ov6kNAT3Jg
提取碼:ed5m
這里我們就不費時間去講解如何安裝軟件了,安裝教程百度比比皆是,我們使用的軟件版本是vivado2017.1版。
其次我們要知道如何創(chuàng)建ZYNQ工程,不步驟如下:
1、打開軟件,創(chuàng)建新工程
工程建立好以后界面如下所示:
2、編寫流水燈verilog代碼。
module LED( //sys signal sys_clk_50m, reset_n, //led led ); parameter LED_FREQUENCY = 49999999; parameter UDLY = 1; //sys signal input sys_clk_50m; input reset_n; //led output [3:0] led; //sys signal wire sys_clk_50m; wire reset_n; //led reg [3:0] led; reg [25:0] led_count; always @(posedge sys_clk_50m or negedge reset_n)begin if(!reset_n)begin led <= 4'b0001; ?? ??? ?led_count <= 26'd0; ?? ?end ?? ?else if(led_count == 26'd49_999_999)begin//1s count,50M ?? ??? ?led_count <= #UDLY 26'd0; ?? ??? ?led <= #UDLY {led[2:0],led[3]}; ?? ?end ?? ?else begin ?? ??? ?led_count <= #UDLY led_count + 26'd1; ?? ?end end ?? ? endmodule
3、時鐘與引腳約束
首先跑RTL
然后點擊Layout->I/O Planning
約束引腳:
設置完成,保存設置,點擊OK
點擊Run Synthesis綜合工程,可能需要一分鐘時間:
約束時鐘,點擊Constraints Wizard:
點擊Next:
開發(fā)板時鐘為50Mhz,點擊Next,然后點擊Skip to Finish完成時鐘約束:
5、將程序下載到開發(fā)板中
將開發(fā)板上電,連接JTAG
點擊Open Hardware Manager連接硬件
顯示如下畫面表示連接上ZYNQ芯片
點擊Program device下載bit文件到設備中
然后我們的流水燈就愉快的跑了起來!
編輯:hfy
-
流水燈
+關注
關注
21文章
433瀏覽量
59732 -
Zynq
+關注
關注
10文章
610瀏覽量
47193
發(fā)布評論請先 登錄
相關推薦
評論