Vivado主界面
Vivado套件,相當于把ISE、ISim、XPS、PlanAhead、ChipScope和iMPACT等多個獨立的套件集合在一個Vivado設計環境中,在這個集合的設計流程下,不同的設計階段我們采用不同的工具來完成,此時Vivado可以自動變化菜單、工具欄,可以顯著提高效率:因為不需要在多個軟件間來回切換、調用,白白浪費大量的時間?;赩ivado IP集成器(IPI),則把我們對硬件的配置更好地集成到我們的設計中,既極大地提高了對IP的使用和管理,也幫助我們減小了軟件和硬件(例如ZYNQ器件的PS)之間的隔閡。Vivado HLS則可以把現有的C代碼,在一些特定的規范下直接轉換為可綜合的邏輯,這也將極大地提高我們實現和移植現有算法的速度。
主界面主要包括:
Flow Navigator: 在此可以找到整個設計過程中涉及到的所有流程
Sources: 工程包含的設計源文件,源碼、約束等
PRoperties: 所選中對象的屬性信息
Project Summary: 在此可以查看工程信息
Design Runs: 在此可以查看提示信息、警告、錯誤、也可以輸入tcl命令
Vivado 新建工程時選中:do not specify(指定) sources at the time
對應器件xc7a200tfbg
IOB是可編程輸入輸出單元,英文縮寫
顯示查找表(Look-Up-Table)簡稱為LUT,LUT本質上就是一個RAM。它把數據事先寫入RAM后,每當輸入一個信號就等于輸入一個地址進行查表,找出地址對應的內容,然后輸出。
MSB最高有效位
LSB 最低有效位
Catalog 目錄
Software:ZedBoard users:o Cypress CY7C64225 USB-to-UART Bridge Driver§ www.zedboard.org à Documentation à ZedBoardCypress USB-to-UART Setup Guide
Second USB cable (Type A to Micro-USB Type B)
AC/DC 12V Power Adapter
關于vivado的操作提示位于路徑:
F:/Zedboard資料/zedboard_org資料form魏/ZynqHW/2014_4/Lab_instructions
同時參考vivado簡明教程。
The_Zynq_Book_Tutorials
Synthesis 綜合
設計步驟:創建工程——createblock design——add IP
Validate 驗證
Implement 實施,生效
Create HDL Wrapper (包裝):這將為我們的系統生成頂級HDL包裝
解Zedboard的核心ZYNQ:ZYNQ系列是賽靈思公司(Xilinx)推出的行業第一個可擴展處理平臺,旨在為視頻監視、汽車駕駛員輔助以及工廠自動化等高端嵌入式應用提供所需的處理與計算性能水平。該系列四款新型器件得到了工具和IP 提供商生態系統的支持,將完整的 ARM? Cortex?-A9 MPCore 處理器片上系統 (SoC) 與 28nm 低功耗可編程邏輯緊密集成在一起,可以幫助系統架構師和嵌入式軟件開發人員擴展、定制、優化系統,并實現系統級的差異化。
ZYNQ7 Processing System模塊的配置,點擊相應的模塊進行配置。。。更為簡便的方式是Diagram頂端的Run Block Automation設計協助鏈接來完成對ZYNQ7 Processing System IP核的配置并將DDR與FIXED_IO Make External
AXI GPIO IPcore:該IP核被放在PL端,通過AXI總線同ARM相連接,并通過GPIO接口控制ZedBoard上的8個LED小燈。
Processor System Reset: 這個IP提供一個定制化的Reset功能,包括所有外設,互聯以及處理器生。
AXI Interconnect:提供AXI 總線互聯控制,它將PL端外設同PS端連接起來。
由于ARM是統一編址的,所以在編寫ARM程序的時候就可以像讀寫內存一樣直接對該地址進行讀寫,從而實現對該IP核的控制。
Validate Design 按鈕檢測設計的有效性
Generate Output Products… 生成設計綜合、仿真、實現的相關文件
Create HDL Wrapper: Vivado會為IP子系統生成一個頂層文件,這樣我們就可以對該系統進行綜合、實現并生成bit流了
當bit流生成完成后,在Vivado中最后的工作就是要將設計導入到SDK中,然后對ARM進行編程
據說,ISE之后會停止更新(事實還是謠言無從考證)。但是,掌握Vivado開發工具勢在必行。緣由一,此處省略一萬字……
Vivado提供了直觀的具有強大功能的圖形用戶接口。所有的工具和工具選項欄使用原生的工具命令語言格式編寫,這使得既能使用Vivado集成開發環境又能使用Tcl shell。相應地,Vivado有兩種設計模式:Project模式和Non-Project模式。兩種模式大同小異,一種是使用圖形用戶界面,另一種是使用Tcl腳本。除此之外,一些特性在Non-Project下不支持,具體參考UG893。相信大多網友跟我一樣,習慣了windows下的圖形化操作方式,所以如何使用Tcl腳本命令就不在本博文所述之列了。接下來,我會用幾篇博客的篇幅跟大家一起學習一下Vivado之嵌入式系統設計。
目標:搭建一個最小的ZYNQ嵌入式系統
首先,先打開Vivado IDE,N種方法任你選;
新建工程,工程名為lab1,存儲路徑自定義,選中創建工程子目錄(所有工程文件存放于此目錄,便于管理);
選擇RTL工程類型,不選中下面的選項(選中本次不指定源文件選項,跳過創建、添加源文件頁面);
目標語言選擇VHDL,仿真語言選擇Mixed,連續兩次Next,跳過添加已存在的IP和約束文件頁面,然后選擇Xilinx器件或是支持的板卡,此處選擇Zedboard板卡選項;
這是建完工程以后,默認顯示的界面。略顯復雜,但是邏輯清晰,仔細分析,你會豁然開朗,其實就是ISE的升級版本。如果想要了解每個面板的功能,可以參考UG893;
Flow Navigator面板下選擇IP Integrator—Create Block Design,輸入設計名稱system;
接下來,添加Zynq Processing System到設計中,a、點擊Diagram面板上方的Add IP;b、點擊Diagram面板左側的Add IP工具圖標;c、在Diagram面板空白處點擊右鍵,在彈出的選項中選擇Add IP。在彈出的IP目錄中,搜索找到ZYNQ7 Processing System,雙擊該IP將其添加到設計中;
在Diagram面板頂部,運行Run Block Automation,選擇processing_system7_0,配置FIXED_IO和DDR接口,此時,我們無法定制ARM核。運行完成后,一個默認配置的Zynq系統已經添加到設計中了。雙擊ZYNQ系統視圖,用戶可定制自己的Zynq系統;
配置Zynq系統,只保留UART1;
最后生成的視圖如下所示:
在Sources面板,右擊system.bd,選擇Generate Output Products,生成設計綜合、仿真、實現的相關文件。再次點擊system.bd,選擇Create HDL Wrapper,生成VHDL頂層模型。接下來,將硬件設計導入到SDK中(注意:導出前,處于Open Block Design模式下)File > Export > Export hardware for SDK…
接下來,就是新建應用程序工程、板級支持包等,就不詳細介紹了。設置好串口,搭建好Zedboard硬件平臺,就能板級測試了,最后結果如下圖所示:
新聞熱點
疑難解答