Zynq-7000SoC設計指南_第1頁
Zynq-7000SoC設計指南_第2頁
Zynq-7000SoC設計指南_第3頁
Zynq-7000SoC設計指南_第4頁
Zynq-7000SoC設計指南_第5頁
已閱讀5頁,還剩186頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Xilinx All ProgrammableZynq-7000 SoC設計指南主 講:何賓Email: Xinlinx大學計劃課程2 可編程SoC設計導論 -內容簡介系統(tǒng)概述 軟核和硬核處理器,及片上可編程系統(tǒng)的發(fā)展背景、技術特點;設計方法 片上可編程系統(tǒng)設計流程、通用片上可編程系統(tǒng)優(yōu)化技術和專用片上可編程系統(tǒng)優(yōu)化技術;芯片 Xilinx公司支持片上可編程系統(tǒng)設計的主要芯片的種類和性能。3可編程SoC設計導論-可編程SoC系統(tǒng)概述 基于現場可編程門陣列(Field Programmable Gate Array, FPGA)的可編程片上系統(tǒng) (Programmable- System-on-

2、a-Chip,P-SoC),包含嵌入式的軟核/硬核處理器、存儲器和硬件加速器。 可編程SoC(以下簡稱P-SoC)的出現為設計者提供了設計高性能嵌入式系統(tǒng),以及對系統(tǒng)進行優(yōu)化的條件。 注明 為了描述方便,書中所有P-SoC都是表示Xilinx的片上可編程系統(tǒng)。4可編程SoC設計導論-軟核及硬核處理器 在基于軟核和硬核處理器的SOPC系統(tǒng)中,本地存儲器、處理器總線、內部外設、外設控制器和存儲器控制器必須使用FPGA的通用邏輯實現。 可編程SoC嵌入式處理器分類:軟核處理器硬核處理器5軟核及硬核處理器-軟核處理器 通過使用FPGA片內的設計資源(比如:LUT、BRAM等)實現一個處理器稱為軟核處理

3、器。軟核處理器通過HDL語言或網表進行描述,必須通過綜合的過程才能使用。6 使用硅片上專門的單元實現一個處理器稱為硬核處理器, Xilinx將PowerPC硬核集成到Virtex-II Pro到Virtex-5系列的FPGA芯片中,以及將ARM公司的Cortex-A9硬核集成到最新的Zynq-7000系列的FPGA芯片中。軟核及硬核處理器-硬核處理器7Xilinx公司的軟核和硬核處理器的性能處理器處理器類型器件類型速度(MHz)DMIPsARM cortex-A9 MP硬核Zynq-70008002000PowerPC405硬核Virtex-4450680MicroBlaze軟核Virtex-

4、IIpro150123MicroBlaze軟核Spartan-38565可編程SoC設計導論-軟核及硬核處理器8 “專用”,即對某個嵌入式系統(tǒng)的應用使用專門的解決方法。 例如,數字信號處理器DSP用于解決某一類專門的數字信號處理。對于一些高容量的應用,設計人員可能還需要專門開發(fā)ASIC芯片??删幊蘏oC技術的發(fā)展-傳統(tǒng)解決方法9需求 由于持續(xù)的要求嵌入式系統(tǒng)具有更多的功能、更好的性能和靈活性,因此傳統(tǒng)上的設計方法已經不適應這種要求。問題 為了得到更高的處理性能,設計人員嘗試通過使用高性能的嵌入式處理器,但是遇到了吞吐量和性能方面的限制。而這種限制源于系統(tǒng)和結構的瓶頸,以及存儲器帶寬的限制??删?/p>

5、程SoC技術的發(fā)展-傳統(tǒng)解決方法10靈活的解決方案 作為全球知名的可編程邏輯器件供應商,Xilinx將專用的嵌入式處理器PowerPC、Cortex-A9硬核處理器嵌入到了FPGA芯片中。這種集成了嵌入式處理器的FPGA芯片被定義成All Programmable(全可編程)平臺??删幊蘏oC技術的發(fā)展-All Programmable(全可編程)平臺11 應用靈活 一個單FPGA芯片上提供了大量不同的IP軟核和硬核資源,這些固件和硬件可以在任何時間進行升級。這種可編程的結構特點,大大縮短了系統(tǒng)的開發(fā)時間,而同一平臺能應用在很多領域,提高了平臺的資源復用率;可編程SoC技術的發(fā)展-All Pr

6、ogrammable(全可編程)平臺12設計靈活 這種結構同時還使設計人員可以優(yōu)化系統(tǒng)吞吐量和開發(fā)周期,提供前所未有的軟件和硬件邏輯協同設計的靈活性,這種靈活性主要體現在設計人員能夠權衡軟件和硬件邏輯設計的實現方法。 這種協同性不同于傳統(tǒng)的嵌入式系統(tǒng)的協同設計,雖然傳統(tǒng)上也使用軟件和硬件的協同設計,但是基本上還是大量地使用分離設計流程??删幊蘏oC技術的發(fā)展-All Programmable(全可編程)平臺13 全可編程平臺,即P-SoC平臺集成了傳統(tǒng)的軟核/硬核處理器、片上總線、大量不同的I/O設備和接口標準、定制的硬件加速處理器,以及混合定制的總線或點對點的拓撲結構,以提高系統(tǒng)的性能??删?/p>

7、程SoC技術的發(fā)展-All Programmable(全可編程)平臺14在全可編程平臺的設計層次上,可編程邏輯器件的應用領域已經擴展到了各個應用領域中。 它不再是傳統(tǒng)意義上用于連接不同接口設備的“連接邏輯”。 嵌入式處理器和大量I/O集成在單芯片內。因此,可編程邏輯器件就逐步地變成整個嵌入式系統(tǒng)最核心的部分。 設計的復雜度也不斷地提高,硬件和軟件的協同設計在這個全可編程平臺上顯得非常重要。 設計人員更多的是需要系統(tǒng)設計和系統(tǒng)結構方面的經驗, 尤其是系統(tǒng)建模的能力。All Programmable(全可編程)平臺 -FPGA平臺可編程SoC特點15P-SOC階段,設計已經從以硬件描述語言HDL為

8、中心的硬件設計,轉換到了以C語言進行功能描述為中心。 形成了以C語言描述P-SOC的功能,而用HDL語言描述硬件的具體實現方法。 實現了軟件和硬件的真正的協同設計。All Programmable(全可編程)平臺 -FPGA平臺可編程SoC特點16定制 設計人員可以很靈活地選擇所要連接的外設和控制器,設計出一個獨一無二或者非標準的外設。延緩過時 基于FPGA的軟核處理器可以充分的滿足產品長期供貨的要求。降低元件成本 FPGA平臺嵌入式系統(tǒng)可以減少元件數量,減少電路板尺寸。硬件加速 P-SOC能在硬件和軟件之間進行權衡,使嵌入式系統(tǒng)達到最大的效率和性能。將軟件瓶頸轉向硬件處理。FPGA平臺可編程

9、SoC特點-優(yōu)點17設計復雜 復雜度高,軟件設計工具相對傳統(tǒng)設計工具還需要改進。器件成本稍高 采用專用的嵌入式平臺比采用基于FPGA的嵌入式平臺成本要低。 隨著P-SOC技術的進一步發(fā)展,和制造工藝的不斷更新,相信在不久的將來,缺點將會有所克服。FPGA平臺可編程SoC特點-缺點18可編程SoC設計導論-Xilinx可編程SoC設計流程19 基于全可編程平臺的嵌入式系統(tǒng)的開發(fā),采用Xilinx提供的嵌入式設計套件(Embedded Design Kit,EDK)實現。Xilinx可編程SoC設計流程-開發(fā)工具20 基于EDK的設計流程就是一個軟件和硬件協同處理和設計的過程。軟件流程完成C語言代

10、碼的編寫、編譯和鏈接過程。硬件流程完成HDL設計輸入、綜合、仿真和實現過程。Xilinx可編程SoC設計流程-開發(fā)工具21Data2MEM工具 該工具能將C語言生成的ELF(Executable and Linkable Format)文件代碼插入生成的FPGA比特流文件中,將其生成能夠下載到FPGA中,并能啟動的映像文件。 Xilinx可編程SoC設計流程-開發(fā)工具22JTAG連接技術 完成FPGA下載和調試、C語言代碼下載和軟件調試。軟件和硬件調試工具 使它們之間可以相互觸發(fā),這使得嵌入式系統(tǒng)內部變成“可見”,使嵌入式設計者能很快地找到和發(fā)現問題,以便對發(fā)生問題的“軟件”或者“硬件”進行快

11、速的“定位”。Xilinx可編程SoC設計流程-開發(fā)工具23硬件平臺 是由一個或多個處理器或外設連接到處理器總線構成的。是指設計人員根據應用的需要而使用Xilinx的技術建立的靈活地、嵌入式處理子系統(tǒng)。MHS文件 硬件平臺EDK通過微處理器硬件規(guī)范(Microprocessor Hardware Specification,MHS)文件記錄硬件平臺信息。Xilinx可編程SoC設計流程-硬件平臺建立工具24軟件平臺 是軟件驅動和用于建立應用程序的操作系統(tǒng)(可選)組成的。所建立的軟件映像文件只包含用戶所使用到的一部分Xilinx的庫。MSS文件 EDK通過微處理器軟件規(guī)范(Microproces

12、sor Software Spectifcation,MSS)記錄軟件平臺信息。設計人員可以在軟件平臺運行多個應用程序。Xilinx可編程SoC設計流程-軟件平臺建立工具25 驗證硬件平臺的正確功能,設計人員可以建立一個仿真模型,并且在HDL仿真器上運行。當仿真系統(tǒng)時,處理器運行可執(zhí)行文件。設計人員可以選擇建立行為、結構或者精確的時序仿真模型。Xilinx可編程SoC設計流程-仿真工具26 調試嵌入式軟件的基本技術 是加載設計到所支持的 開發(fā)板和使用調試工具去調試處理器。指令集仿真器或簡化系統(tǒng)仿真器模型 作為可選擇的方式,設計人員可以將其運行在主機上來調試設計代碼。概要分析代碼 設計人員可以通

13、過的執(zhí)行概要分析來估計系統(tǒng)性能。Xilinx可編程SoC設計流程-調試工具27可配置的比特文件 對于原型設計,當連接主機和芯片時,設計者可以在下載比特流時,將希望運行在嵌入式平臺上的軟件同時下載。存儲器配置文件 對于產品,設計人員將配置比特流和軟件保存在和FPGA連接的非易失性存儲器中。Xilinx可編程SoC設計流程-配置工具28Xilinx可編程SoC設計流程-設計工具套件29設計環(huán)境Xilinx Platform Studio(XPS)集成的GUI硬件設計環(huán)境,用于幫助硬件設計人員創(chuàng)建完整的嵌入式系統(tǒng)硬件結構。Xilinx Software Development Kit(SDK)集成的

14、GUI軟件設計環(huán)境,用來幫助軟件設計人員開發(fā)軟件應用功能。EDK命令行或“非Windows”模式允許設計人員運行嵌入式設計流程或從命令行改變工具選項。Xilinx可編程SoC設計流程-設計工具套件30硬件開發(fā)The Base System Builder(BSB)向導通過使用支持的開發(fā)板或通用的基本功能,允許設計人員快速地建立一個嵌入式設計。Xilinx推薦使用BSB建立最初的項目創(chuàng)建。The Create and Import IP Wizard輔助設計人員添加自己的外設到設計中。建立相關的目錄或數據文件,保證外設能被EDK工具識別。Configure Coprocessor Wizard幫

15、助設計人員添加協處理器到CPU。Platform Generator(Platgen)通過HDL或實現的網表文件在片上構造可編程系統(tǒng)Xilinx可編程SoC設計流程-設計工具套件31軟件開發(fā)Library Generator(Libgen)構建一個軟件平臺,該軟件平臺由定制的軟件庫、驅動程序和OS構成。GNU Compiler Tools(GCC)基于庫產生器建立的平臺,建立軟件應用程序。Xilinx可編程SoC設計流程-設計工具套件32驗證Xilinx Microprocessor Debugger(XMD)打開shell用于軟件下載和調試,也提供通道用于GNU調試器訪問設備。GNU Deb

16、ugger(GDB)調試軟件的GUI,基于仿真模型或目標設備。Simulation Model Generator(Simgen)產生硬件仿真模型和編譯腳本文件用于對完整系統(tǒng)的仿真。Simulation Library Compiler(CompEDKLib)在開始對設計進行仿真時,為目標仿真器編譯EDK仿真庫。Bus Functional Model Compiler(BFM)通過建立一個總線環(huán)境的模型去代替真實的嵌入式系統(tǒng)來幫助簡化定制外設的驗證。Xilinx可編程SoC設計流程-設計工具套件33設備配置Bitstream Initializer(Bitinit)更新FPGA的配置比特流,

17、用可執(zhí)行的軟件代碼初始化片上指令存儲器。System ACE File Generator(GenACE)基于FPGA的配置比特流和存儲在非易失性存儲器的可執(zhí)行軟件,產生一個Xilinx系統(tǒng)ACE配置文件Flash Memory Programmer允許設計人員使用目標處理器去編程板上的通用Flash(CFI)接口-兼容的并行FlashXilinx可編程SoC設計流程-設計工具套件34雜項類Format Revision(revup)Tool and Version Management WizardRevup工具更新設計文件(例如MHS)到當前的版本。版本管理向導幫助將先前EDK建立的IP和

18、驅動更新到當前的版本。LibXil Memory File System Generator (LibXil MFS)在主機上建立一個MFS存儲器鏡像,并下載鏡像到嵌入式系統(tǒng)存儲器。Platform Specification Utility自動產生微處理器外設定義數據文件MPD,該文件要求創(chuàng)建EDK兼容的制定外設。Xilinx可編程SoC設計流程-設計工具套件35 Xilinx平臺工作室 (Xilinx Platform Studio,XPS)為基于MicroBlaze、PowerPC和Cortex-A9處理器的嵌入式處理器系統(tǒng)提供了集成開發(fā)環(huán)境。XPS也提供編輯器和項目管理接口用來創(chuàng)建和編

19、輯源代碼。XPS提供工具流程配置選項的定制和提供圖形化的系統(tǒng)編輯器用來連接處理器、外設和總線。從XPS中,設計人員可以運行所有的用于處理硬件和軟件的嵌入式系統(tǒng)工具。可編程SoC開發(fā)工具概述-Xilinx平臺工作室36能夠添加核,編輯核參數和進行總線和信號連接,產生MHS文件。能夠產生和修改MSS文件。支持上面表格內的所有工具。能夠產生和觀察系統(tǒng)塊圖和設計報告。提供工程管理支持。過程和工具流程依賴管理。輸出MHS文件到SDK工具中。Xilinx平臺工作室XPS-特性37SDK開發(fā)工具 Xilinx軟件開發(fā)工具Xilinx Software Development Kit(SDK)為應用軟件提供開

20、發(fā)環(huán)境。 SDK基于Eclipse開放源碼標準??删幊蘏oC開發(fā)工具概述-Xilinx軟件開發(fā)工具38功能豐富的C/C+編輯器和編譯環(huán)境。導入基于XPS生成的硬件平臺定義。提供項目管理。支持基于單個處理器或者多個處理器系統(tǒng)的軟件應用程序的開發(fā)。支持以團隊環(huán)境的形式開發(fā)軟件應用程序。為第三方的操作系統(tǒng)創(chuàng)建和配置板級支持包BSP。Xilinx軟件開發(fā)工具-特點39提供現成的簡單軟件工程來測試硬件和軟件功能。通過GUI接口為軟件應用程序、編程FPGA芯片和編程并行Flash存儲器產生鏈接腳本。應用程序的建立配置和自動的MAKE文件生成。錯誤瀏覽。為無縫調試和概要分析目標提供了好的集成環(huán)境。Xilin

21、x軟件開發(fā)工具-特點40 基本系統(tǒng)建立向導(Base System Builder,BSB) ,幫助設計人員快速建立一個嵌入式系統(tǒng)工程。 對于更復雜的工程,BSB向導提供基本的系統(tǒng),通過這個系統(tǒng)設計人員可以定制完成嵌入式設計。 注:為了高效率地建立工程,Xilinx推薦使用BSB向導??删幊蘏oC開發(fā)工具概述-基本系統(tǒng)建立向導41 基于設計人員選擇的板子,設計人員通過BSB選擇并配置嵌入式系統(tǒng)的基本元素。 對于BSB不支持的目標系統(tǒng),設計人員可以選擇定制板選項。使用這個選項時,必須指定未來板子的硬件,并且要給出用戶約束文件UCF。如果選擇的是支持的目標板,BSB向導自動的加入UCF文件。 注:

22、當退出BSB時,BSB所建立的MHS文件自動加入到XPS工程中,設計人員能在XPS中進行更進一步的設計。可編程SoC開發(fā)工具概述-基本系統(tǒng)建立向導42平臺生成器 將對嵌入式系統(tǒng)的高級描述編譯成能在目標FPGA芯片上實現的HDL網表。嵌入式系統(tǒng)硬件平臺 由一個或多個處理器和不同的外設和存儲器模塊組成。通過處理器總線,將這些模塊連接在一起。IP核配置 每個外設的IP核有很多參數,通過調整這些參數來定制所要求的邏輯行為。這些參數也用來為這些存儲器和外設進行地址映射??删幊蘏oC開發(fā)工具概述-平臺生成器43MHS文件 硬件平臺的描述保存在。MHS文件是用于表示所設計的嵌入式系統(tǒng)的硬件元件最重要的文件。

23、MHS文件以ASCII碼形式存在。 平臺生成器讀取MHS文件,將其作為最基本的設計輸入。MPD和PAO文件 平臺生成器也從EDK庫和用戶IP庫中讀取不同的處理器核硬件描述文件。平臺生成器為嵌入式系統(tǒng)產生頂層HDL設計文件,該文件包含所有參數化了的IP核??删幊蘏oC開發(fā)工具概述-平臺生成器44平臺生成器功能 在生成平臺的過程中,將MHS中所有高層總線連接變成連接處理器、外設和片上存儲器的真實信號。 平臺生成器也調用XST編譯器,對每個例化的IP核(平臺生成器產生的系統(tǒng)級網表也被用作實現FPGA過程的一部分)進行綜合。 此外,平臺生成器也產生塊存儲器映射(BRAM Memory Map,BMM)

24、文件,該文件包含所用到的片上BRAM的地址??删幊蘏oC開發(fā)工具概述-平臺生成器45 該向導幫助設計人員建立自己的外設,并且能夠將它們導入相應的XPS工程中。創(chuàng)建模式 創(chuàng)建和輸入外設向導建立很多文件。這些文件中的一部分文件是模板文件。通過參考模板,設計人員可以很快的進行邏輯定制。導入模式 該工具幫助設計人員建立接口文件和目錄結構。一旦導入完成,在EDK外設庫中可以使用用戶定制的外設。可編程SoC開發(fā)工具概述-建立和導入IP向導46MPD和PAO文件 當創(chuàng)建或導入一個外設時,自動生成微處理器外設定義文件(Microprocessor Peripheral Defination,MPD)和外設分析

25、命令(Peripheral Analyze Order,PAO)文件。 MPD文件定義了外設的接口。 PAO文件通知其它工具,對于選定的外設需要編譯哪個HDL文件,以及用什么樣的順序編譯??删幊蘏oC開發(fā)工具概述-建立和導入IP向導47 當設計中包含MicroBlaze、PowerPC或者Cortex-A9處理器時,可以使用該向導。 協處理器是一個硬件模塊,用來實現用戶在FPGA內定義的功能,并且通過FSL或者AXI-Stream接口與處理器連接。 該向導通過FSL或者AXI-Stream點對點通道添加和連接協處理器到CPU。可編程SoC開發(fā)工具概述-配置協處理器向導48 庫生成器(Libra

26、ry Generator,Libgen)為嵌入式處理器系統(tǒng)配置庫、設備驅動、文件系統(tǒng)、中斷句柄和創(chuàng)建板級支持包BSP。 嵌入式軟件平臺為每個處理器定義了系統(tǒng)內外設的驅動,即:板級支持包、可選擇的庫、標準的輸入/輸出設備、中斷句柄例程和其它相關的軟件特征。 SDK工程進一步定義了運行在每個處理器上的軟件,這些軟件基于BSP運行。可編程SoC開發(fā)工具概述-庫生成器49 基于來自于EDK安裝的庫、驅動和設計人員提供的定制庫和驅動,SDK將用戶程序,其中包括:庫和驅動程序,編譯成硬件平臺上處理器可執(zhí)行可鏈接格式(Executable Linked Format,ELF)文件。庫生成器讀取所選擇的EDK

27、庫、不同的處理器驅動定義文件(Microprocessor Driver Defination, MDD)和相關的驅動代碼。可編程SoC開發(fā)工具概述-庫生成器50 GNU編譯工具用于編譯和鏈接應用程序。對于MicroBlaze處理器的應用,運行mb-gcc編譯器;對于PowerPC處理器的應用,XPS運行powerpc-eabi-gcc編譯器;對于ARM處理器的應用,XPS運行arm-eabi-gcc編譯器。可編程SoC開發(fā)工具概述-GNU編譯工具可編程SoC開發(fā)工具概述-GNU編譯工具編譯器能讀取C代碼、頭文件和匯編代碼。鏈接器將編譯的程序和選擇的庫連接在一起產生ELF文件。鏈接器也讀取鏈接

28、腳本(默認產生或用戶產生)。52 設計人員可以使用指令集仿真器或者虛擬平臺調試軟件程序。 Xilinx微處理器調試器(Xilinx Microprocessor Debugger,XMD)讀取ELF文件。 對于調試物理的FPGA,XMD和FPGA通信使用和下載FPGA相同的電纜??删幊蘏oC開發(fā)工具概述-微處理器調試器53 GNU調試器GDB是個強大和靈活的工具。它為在不同的開發(fā)周期驗證MicroBlaze、PowerPC和Cortex-A9系統(tǒng)提供了統(tǒng)一的調試和驗證手段。 GDB使用了XMD作為最基本的引擎與處理器目標通訊??删幊蘏oC開發(fā)工具概述-GNU調試器54 仿真模型生成器(Simu

29、lation Model Generator,Simgen)為硬件產生和配置不同的模型。 生成行為模型 仿真模型生成器使用MHS文件作為基本的輸入。生成結構或時序模型 仿真模型生成器使用綜合后或布局布線后的設計數據庫作為基本的輸入。 可編程SoC開發(fā)工具概述-仿真模型生成器55 仿真庫編譯器Simulation Library Compiler(CompEDKLib)使用不同仿真工具廠商提供的仿真器編譯EDK基于HDL的仿真庫。 這個工具可以運行在GUI和批處理模式下。在GUI模式下,允許設計人員使用CompXLib編譯Xilinx的庫和EDK中可以使用的庫。可編程SoC開發(fā)工具概述-仿真庫編

30、譯器56 總線功能模型編譯器(Bus Functional Model Compiler,BFM)的總線功能仿真簡化了依附在總線上的硬件元件的驗證??删幊蘏oC開發(fā)工具概述-總線功能模型編譯器57 這個工具讀取ISE工具產生的硬件比特流文件(system.bit),產生一個新的輸出比特流文件(download.bit),這個比特流文件包含ELF文件。 這個工具使用平臺生成器生成的BMM文件,使用由ISE工具所更新的每個BRAM塊的物理布局信息。在內部,比特流初始化工具使用在ISE中提供的Data2MEM工具,更新比特流文件。 可編程SoC開發(fā)工具概述-比特流初始化器58 系統(tǒng)ACE文件生成器(

31、System ACE File Generator,Gen ACE)從FPGA比特流中生成 Xilinx System ACE配置文件和ELF/數據文件。 所生成的ACE文件用于配置FPGA和初始化BRAM。可編程SoC開發(fā)工具概述-系統(tǒng)ACE文件生成器59ACE文件的生成方法 通過使用有效的程序或數據,初始化外部存儲器和啟動處理器。EDK提供了工具命令語言(Tool Command Language,Tcl)腳本genace.tcl,該腳本使用XMD命令來生成ACE文件。 注:也使用MDM系統(tǒng)可以為PowerPC、MicroBlaze和Cortex-A9產生ACE文件??删幊蘏oC開發(fā)工具概

32、述-系統(tǒng)ACE文件生成器60 Flash存儲器編程器(Flash Memory Programmer,FMP)編程解決方案被設計成通用的,面向不同的Flash硬件和布局??删幊蘏oC開發(fā)工具概述-Flash存儲器編程器61 格式修改工具(Format Revision,revup)將已經存在的EDK工程更新到當前的版本。 格式修改工具只執(zhí)行格式的變化,對設計不進行更新。在應用格式修改工具前,備份MHS,MSS,XMP等文件。 當使用新版本的EDK工具打開老版本的工程時,就會顯示版本管理向導(Version Management Wizard)。 當執(zhí)行格式修改后,調用版本管理向導。向導提供有關

33、設計中所使用的相關IP核的變化信息。如果可以使用新版本的IP核,向導將IP核升級到新的版本。可編程SoC開發(fā)工具概述-格式修改工具和版本管理向導62 LibXil存儲器文件系統(tǒng)生成器(LibXil Memory File System Generator,LibXil MFS)以文件句柄的形式提供對程序存儲器管理的能力。 設計人員可以建立目錄,并在目錄中存放不同文件。通過使用高級C語言進行函數調用,來訪問文件系統(tǒng)??删幊蘏oC開發(fā)工具概述-LibXil存儲器文件系統(tǒng)生成器63 平臺規(guī)范工具(Platform Specification Utility)能夠自動產生建立IP核的MPD文件。 通過

34、建立和導入外設向導的幫助,能夠使用這個工具所提供的功能??删幊蘏oC開發(fā)工具概述-平臺規(guī)范工具64 Zynq-7000系列基于Xilinx的可擴展處理平臺Extensible Processing Platform,EPP)結構,該結構在單芯片內集成了基于具有豐富特點的雙核ARM Cortex-A9多核處理器的處理系統(tǒng)(Processing System,PS)和Xilinx可編程邏輯(Programmable Logic,PL)。 雙核ARM Cortex-A9多核CPU是PS的“心臟”,其包含片上存儲器、外部存儲器接口和一套豐富的I/O外設。Xilinx可擴展處理平臺導論- Zynq-70

35、00系列概述65 基于最新的高性能低功耗(High Performance Low Power,HPL)的28nm、高k金屬柵極(High-k Metal Gate,HKMG)工藝。Xilinx可擴展處理平臺導論- Zynq-7000系列工藝66FPGA的靈活性和可擴展性。專用集成電路(Application-Specific Integrated Circuit,ASIC)相關的性能、功耗和易用性。專用標準產品(Appciation-Specific Standard Product,ASSP)相關的性能、功耗和易用性。Xilinx可擴展處理平臺導論- Zynq-7000平臺特性67 汽車駕

36、駛員輔助系統(tǒng),駕駛員信息系統(tǒng)和娛樂系統(tǒng)廣播級的攝像機工業(yè)的電機控制,工業(yè)組網和機器視覺IP和智能相機LTE的無線和基帶醫(yī)療診斷和成像多功能打印機視頻和夜視裝備Xilinx可擴展處理平臺導論- Zynq-7000應用領域681. 將定制邏輯和軟件分別映射到PL和PS中。這樣就可實現獨一無二和差異化的系統(tǒng)功能。 帶有PL的PS的EPP系統(tǒng)集成提供了兩片解決方案(比如:ASSP和FPGA),從而達到了由于I/O帶寬、松散耦合和功耗預算所不能達到的性能。Xilinx可擴展處理平臺導論- Zynq-7000優(yōu)點692. 豐富的設計資源 Xilinx和他的合作伙伴為Zynq-7000提供了大量的軟IP核模

37、塊。來自Xilinx的單機和Linux設備驅動程序可用于PS和PL內的外設。 此外, Xilinx合作伙伴為EPP平臺提供了其它操作系統(tǒng)和板級支持包BSP。 ISE設計套件的嵌入式開發(fā)環(huán)境能夠為軟件、硬件和系統(tǒng)工程師進行快速的產品開發(fā)。同時,可以使用很多其它的第三方軟件開發(fā)工具。Xilinx可擴展處理平臺導論- Zynq-7000優(yōu)點703. PS內的處理器總是最先啟動,這樣允許以“軟件”為中心的方法,用于系統(tǒng)的啟動和PL的配置。 可以將PL配置成啟動過程的一部分或者在將來的某一點上進行配置。 此外,PL可以完全的重配置或者用于部分的、動態(tài)地可重配置(Partional Reconfigura

38、tion,PR)。PR允許動態(tài)配置PL的一部分。這樣使得對設計進行動態(tài)的修改,比如:更新系數或者通過切換到一個新的算法,時分復用PL資源。 這個能力用于模擬動態(tài)加載和卸載軟件模塊。PL的配置數據作為比特流。Xilinx可擴展處理平臺導論- Zynq-7000優(yōu)點Xilinx可擴展處理平臺導論-Zynq-7000系統(tǒng)的功能塊構成72處理系統(tǒng)(Processing System,PS)應用處理器單元(Application Processor Unit,APU)存儲器接口I/O外設互聯Xilinx可擴展處理平臺導論-Zynq-7000系統(tǒng)的功能塊構成73可編程邏輯(Programmable Log

39、ic,PL)PL采用了Xilinx的7系列的FPGA技術Artix-7用于Z-7010/Z-7020Kintex-7用于Z-7030和Z-7045Xilinx可擴展處理平臺導論-Zynq-7000系統(tǒng)的功能塊構成74PL包含很多不同類型的資源可配置的邏輯塊(Configurable Logic Block,CLB)。端口和寬度可配置的塊存儲器BRAM。帶有25x18乘法器、48比特的累加器和預加法器的DSP切片(DSP48E1)。一個用戶可以配置的模擬-數字轉換器(XADC)。時鐘管理單元(Clock Management Tiles,CMT)。用于加密的帶有256b AES的模塊和用于鑒別的

40、帶有SHA的模塊。 Xilinx可擴展處理平臺導論-Zynq-7000系統(tǒng)的功能塊構成75緊密或者松散地耦合 通過使用多個接口和其它信號連在一起,可以實現超過3000個連接。 設計者能在PL結構中有效地集成處理器可以訪問的、用戶所創(chuàng)建的硬件加速器和其它功能,并且可以訪問處理系統(tǒng)內的存儲器資源。 Xilinx可擴展處理平臺導論-Zynq-7000系統(tǒng)的功能塊構成76PS的I/O資源包含靜態(tài)/Flash存儲器接口 可以共享一個54引腳的多路復用I/O(Multiplexed I/O,MIO)。Zynq-7000器件也包含通過使用可擴展的多路復用I/O(Extended Multiplexed I/

41、O,EMIO)使用I/O的能力,這些I/O是PL域的一部分,用于大量的PS的I/O外設。Xilinx可擴展處理平臺導論-Zynq-7000系統(tǒng)的功能塊構成77系統(tǒng)包含很多類型的安全、測試和調試特性 Zynq-7000 EPP能采用安全和不安全的方式啟動。PL能使用安全和不安全的方式配置比特流。所有這些使用了256位的三重數據加密和SHA鑒別模塊,這些模塊是PL的一部分。Xilinx可擴展處理平臺導論-Zynq-7000系統(tǒng)的功能塊構成78啟動過程分為多個階段,最少包含啟動ROM和第一級的啟動引導代碼(First-Stage Boot Loader,FSBL)。 Zynq-7000 EPP包含一

42、個廠商可編程的啟動ROM(用戶不可以訪問)。啟動ROM確定啟動是否安全,執(zhí)行系統(tǒng)的初始化,讀模式引腳以確認用于引導啟動器件的設備,一旦完成,則執(zhí)行FSBL。Xilinx可擴展處理平臺導論-Zynq-7000系統(tǒng)的功能塊構成79當復位Zynq-7000系統(tǒng)后,系統(tǒng)自動從所選擇的外部啟動設備中按順序初始化系統(tǒng),以及處理第一階段的啟動引導程序。 在這個過程中根據需要,用戶配置Zynq-7000內的PS和PL??蛇x擇JTAG接口,使設計工程師能訪問Zynq內的PS和PL,用于對系統(tǒng)進行測試和調試。Xilinx可擴展處理平臺導論-Zynq-7000系統(tǒng)的功能塊構成80設計者可以選擇關閉PL一側的電源,用

43、于降低功耗。此外,可以動態(tài)地降低或者關閉PS內的時鐘,以進一步的降低功耗 Zynq-7000平臺支持ARM所提供的休眠模式,以消耗最小的功率。當某個事件發(fā)生時,仍然可以喚醒它。Xilinx可擴展處理平臺導論-Zynq-7000系統(tǒng)的功能塊構成81Xilinx可擴展處理平臺導論-Zynq-7000系統(tǒng)的功能塊構成注意: Zynq-7000內各個元素的描述是從PS的角度出發(fā)的。比如:在PS上一個到PL的通用從接口,表示主設備在PL。一個高性能的從接口表示高性能的主設備存在于PL中。一個通用的主接口表示PS是主設備,從設備存在于PL中。82 應用處理器單元APU提供了很多的高性能特性和標準兼容的能力

44、。實時運行的選項,允許單個處理器,非對稱或者對稱的多處理(Symmetrical Multiprocessing,SMP)配置。ARM V7 ISA:標準的ARM指令集和Thumb-2,Jazelle RTC和Jazelle DBX JAVA加速。每個核有NEON 128位 SIMD協處理器和VFPv3。雙核ARM Cortex-A9 多核處理器CPU(ARM V7)Zynq-7000系統(tǒng)的功能塊構成-應用處理單元APU83每個核包含帶有校驗的32KB的指令和32KB的數據L1高速緩存。帶有校驗的512KB的共享L2高速緩存。私有定時器和看門狗定時器。Zynq-7000系統(tǒng)的功能塊構成-應用處

45、理單元APU84系統(tǒng)特性 一組不同的控制器用來控制PS的行為。后面會詳細的介紹寄存器映射。偵測控制單元(Snoop Control Unit,SCU)包含了L1和L2的一致性。系統(tǒng)級的控制寄存器(System-Level Control Registers, SLCRs)Zynq-7000系統(tǒng)的功能塊構成-應用處理單元APU85從PL(主設備)到PS(從設備)的加速器一致性端口(Accelerator Coherency Port,ACP)64比特的高級可擴展(Advanced Extended Interface,AXI)從端口。能訪問L2和片上存儲器(On-Chip Memory,OCM)

46、。交易和L1與L2保持數據一致性。Zynq-7000系統(tǒng)的功能塊構成-應用處理單元APU86帶有校驗的256KB的OCM雙端口。CPU、PL和中央互聯可以訪問。L2級,但不可以緩存。Zynq-7000系統(tǒng)的功能塊構成-應用處理單元APUDMA控制器用于PS的4通道(存儲器復制從/到系統(tǒng)內的任何存儲器)用于PL的4通道(存儲器到PL,PL到存儲器)87通用的中斷控制器(General Interrupt Controller,GIC)各自中斷屏蔽和中斷優(yōu)先級。5個CPU私有外設中斷(Private Periphercal Interrupt,PPI)。16個CPU私有的軟件產生的中斷(Softw

47、are Generated Interrupt,SGI)分配來自系統(tǒng)、PS和PL剩余部分的共享外設中斷(Shared Peripheral Interrupt,SPI)。20個來自PL。來自CPU發(fā)送到PL的等待中斷(Wait for Interrupt,WFI)和等待事件(Wait for Event,WFE)信號。擴展的安全特性支持TrustZone技術。Zynq-7000系統(tǒng)的功能塊構成-應用處理單元APU看門狗定時器,三重計數器/定時器。88DDR控制器支持DDR3,DDR2,LPDDR-2。 由器件的速度和溫度等級決定速度。16位或者32位寬度。 16位上ECC。使用最多73個專用的

48、PS引腳。模塊(不是DIMM)。 32位寬度:4x8位,2x16位,1x32位。 16位寬度:2x8位,1x16位。Zynq-7000系統(tǒng)的功能塊構成-存儲器接口89基于可編程的空閑周期,自主DDR功耗降低進入和退出。數據讀選通自動標定。寫數據字節(jié)使能支持每拍數據。使用高優(yōu)先級讀(High Pripority Read,HPR)隊列的低延遲讀機制。特殊緊急信號發(fā)給每個端口。TrustZone區(qū)域在64MB邊界上可編程。對于兩個不同ID的每個端口的排他性訪問(不支持鎖定的交易)Zynq-7000系統(tǒng)的功能塊構成-存儲器接口90交易調度用來優(yōu)化數據帶寬和延遲。高級的重排序引擎最大化存儲器的連續(xù)讀和

49、寫訪問效率到目標的90%,隨機的讀和寫為80%的效率。寫-讀地址沖突檢查,刷新寫緩沖區(qū)。遵守AXI排序規(guī)則。DDR控制器內核和交易調度器Zynq-7000系統(tǒng)的功能塊構成-存儲器接口91單個或者兩個。支持1x和2x讀。用于I/O模塊100MHz的32位APB3.0接口,允許包括編程、讀和配置的全設備操作。100MHz 32位AXI線性地址映射接口用于讀操作。線性四SPI控制器的關鍵特性Zynq-7000系統(tǒng)的功能塊構成-四SPI控制器92單個芯片選擇線支持。支持寫保護信號。4位的雙向I/O信號線。讀速度x1,x2和x4。寫速度x1和x4。在主模式下的最大SPI時鐘為100MHz。252字節(jié)入口

50、FIFO深度,用于提高四SPI讀效率。支持四SPI器件最大到128Mb的密度。支持雙四 SPI器件,并行的兩個四SPI器件。Zynq-7000系統(tǒng)的功能塊構成-四SPI控制器93支持常規(guī)的通過AXI接口的只讀存儲器訪問。最大兩個SPI Flash存儲器。對于一個存儲器最大16MB的尋址空間和兩個存儲器32MB的尋址空間。AXI讀接受能力為4。所有AXI遞增和回卷地址猝發(fā)讀。自動將普通存儲器讀操作轉化為SPI協議,反之亦然。串行,雙和四SPI模式。線性地址映射模式特性包括:Zynq-7000系統(tǒng)的功能塊構成-四SPI控制器948/16位 I/O寬度,帶有一個片選信號。ONFI規(guī)范1.0。16字讀

51、和16字寫數據FIFO。8字命令FIFO??删幊痰腎/O周期時序。ECC輔助。異步存儲器操作模式。NAND控制器下面可作為基本的啟動設備Zynq-7000系統(tǒng)的功能塊構成-靜態(tài)存儲器控制器SMC 958位數據寬度,最大25個地址信號。兩個片選信號(24位地址信號)。16字讀和16字寫數據FIFO。8字命令FIFO?;诿科x擇的可編程I/O周期時序異步存儲器操作模式。8位數據寬度。并行SRAM/NOR控制器Zynq-7000系統(tǒng)的功能塊構成-靜態(tài)存儲器控制器SMC 9654個GPIO信號用于器件的引腳(通過MIO連接)輸出可以3態(tài)使能。通過EMIO在PS和PL之間192個GPIO信號。 64個

52、輸入,128個輸出(64個真輸出和64個輸出使能)。每個GPIO的功能可以基于個別或者組進行動態(tài)地編程。 使能、比特或者分組數據寫,輸出使能和方向控制。基于每個GPIO的可編程中斷讀中斷的狀態(tài)。上升沿、下降沿,任意沿,高電平,低電平敏感。GPIOZynq-7000系統(tǒng)的功能塊構成-I/O外設97RGMIII接口使用MIO引腳和外部的PHY。額外接口使用PL內帶有額外軟核的PL SelectIO和外部的PHY。SGMII接口使用PL GTX接收發(fā)送器。內建帶有分散-聚集的DMA。IEEE802.3和IEEE1588 V2.0。喚醒能力。三模式以太網控制器(兩個)Zynq-7000系統(tǒng)的功能塊構成

53、-I/O外設98使用相同硬件的USB2.0高速 OTG(on-the-go)雙重角色USB主機控制器或者USB設備控制器操作。只有MIO引腳。內建DMA。USB2.0高速設備。USB控制器:每個作為主設備或者OTG(兩個)Zynq-7000系統(tǒng)的功能塊構成-I/O外設99USB2.0高速主機控制器。USB主機控制器寄存器和數據結構與擴展的主機控制器接口(Enhanced Host Controller Interface,EHCI)規(guī)范兼容。直接支持USB收發(fā)器低引腳接口(USB Low Pin Interface,ULPI)。ULPI支持8位。要求外部的PHY。支持最多12個端點。Zynq-

54、7000系統(tǒng)的功能塊構成-I/O外設100能作為基本的啟動設備。內建DMA。只支持主模式。支持SD規(guī)范2.0。支持全速和低速。支持1位和4位數據接口。SD/SDIO控制器(兩個)Zynq-7000系統(tǒng)的功能塊構成-I/O外設101低速時鐘0-400KHz。支持高速接口。全速時鐘0-50MHz,最大吞吐量為25MB/s支持存儲器、I/O和組合卡。支持電源控制模式。支持中斷。1KB數據FIFO接口。Zynq-7000系統(tǒng)的功能塊構成-I/O外設102四線總線:MOSI、MISO、SCLK,SS。全雙工操作,提供了同時地接收和發(fā)送。主機模式:SPI控制器(兩個):主或者從手工或者自動開始數據傳輸。手

55、工或者自動從設備選擇SS模式。支持最多3個從設備選擇線。允許使用一個外部的外設選擇3-8譯碼。為數據發(fā)送的可編程延遲。Zynq-7000系統(tǒng)的功能塊構成-I/O外設103從模式可編程的開始檢測模式。多主環(huán)境如果沒有使能,驅動為三態(tài)。如果檢測到多于一個主設備,則識別一個錯誤條件。Zynq-7000系統(tǒng)的功能塊構成-I/O外設104通過MIO支持最大50MHz的外部SPI時鐘。 25MHz最大,通過EMIO到PL SelectIO引腳??蛇x擇的主時鐘參考??删幊痰闹鞑ㄌ芈史诸l器。支持128字節(jié)讀和128字節(jié)寫FIFO。每個FIFO為8個字節(jié)寬度。Zynq-7000系統(tǒng)的功能塊構成-I/O外設105

56、可編程的FIFO門檻。支持可編程的時鐘相位和極性。支持手工或者自動開始數據發(fā)送。作為中斷驅動的設備,軟件能輪詢狀態(tài)或者功能??删幊痰闹袛喈a生。 Zynq-7000系統(tǒng)的功能塊構成-I/O外設106遵從ISO11898-1,CAN2.0A和CAN2.0B標準。支持標準(11位標識符)和擴展(29位標識符)幀。支持最高速度到1Mb/s。帶有64個消息深度的發(fā)送消息FIFO。發(fā)送優(yōu)先級貫穿一個高優(yōu)先級發(fā)送緩沖區(qū)。Tx FIFO和Rx FIFO支持水印中斷。在普通模式下,當錯誤或者丟失仲裁時,自動重新發(fā)送。CAN控制器(兩個)Zynq-7000系統(tǒng)的功能塊構成-I/O外設107帶有64個消息的接收消息

57、FIFO。4個接收濾波器的接收過濾。帶有自動喚醒的休眠模式。偵聽模式。閉環(huán)模式用于診斷應用??善帘蔚腻e誤和狀態(tài)中斷。16位時間戳用于接收消息??勺x的錯誤計數器。Zynq-7000系統(tǒng)的功能塊構成-I/O外設108可編程波特率生成器。64字節(jié)的接收和發(fā)送FIFO。6,7和8個數據位。1,1.5或者2個停止位。奇、偶,空格、標記或者沒有奇偶。UART控制器(兩個)Zynq-7000系統(tǒng)的功能塊構成-I/O外設109奇偶,幀和溢出錯誤檢測。換行符生成和檢測。自動呼應、本地環(huán)路和遠程環(huán)路通道模式。中斷產生。在MIO和EMIO接口的Rx和Tx信號。在EMIO接口上可用的調制解調器控制信號:CTS、RTS

58、、DSR、DTR、RI和DCDZynq-7000系統(tǒng)的功能塊構成-I/O外設110支持16字節(jié)FIFO。I2C總線規(guī)范V2。可編程的普通和快速總線數據率。主設備模式寫傳輸.讀傳輸.支持擴展地址.支持用于慢速處理器服務的HOLD.支持TO中斷標志,避免停止條件.I2C控制器(兩個)Zynq-7000系統(tǒng)的功能塊構成-I/O外設111從設備模式從設備發(fā)送器.從設備接收器.支持擴展的地址.充分可編程從設備響應地址.支持HOLD,防止溢出條件.支持TO中斷標志,避免停止條件.作為中斷驅動設備時,軟件能輪詢狀態(tài)或者功能。可編程中斷產生。Zynq-7000系統(tǒng)的功能塊構成-I/O外設112PS MIO I

59、/O提供了靈活的上電操作。兩個I/O電壓組第0組由引腳0:15構成。第1組由引腳16:53構成。支持LVTTL3.3V,LVCMOS 3.3V,LVCMOS 2.5V,LVCMOS1.8V和HSTL1.8V。PS MIO I/O(54引腳) Zynq-7000系統(tǒng)的功能塊構成-I/O外設113可配置邏輯塊(Configurable Logic Block,CLB)6輸入查找表(Look-UP Table,LUT)。LUT內的存儲器能力。寄存器和移位寄存器功能。級聯的加法器。 PL提供了用戶可配置能力的豐富結構Xilinx Zynq平臺導論-可編程邏輯PL特性11436Kb BRAM雙端口。最多

60、72位寬度??膳渲脼殡p端口18Kb??删幊痰腇IFO邏輯。內建錯誤校準電路。Xilinx Zynq平臺導論-可編程邏輯PL特性115數字信號處理-DSP48E1切片25x18二進制補碼乘法器/累加器高分辨率(48位)信號處理器。功耗節(jié)省25位預加法器優(yōu)化對稱濾波器應用。高級特性:可選的流水線,可選的ALU和專用的總線用于級聯。時鐘管理用于低抖動時鐘分布的高速緩沖區(qū)和布線頻率合成及相位移動低抖動時鐘生成和抖動過濾Xilinx Zynq平臺導論-可編程邏輯PL特性116可配置的I/O高性能SelectIO技術封裝內的高頻去耦合電路,用于擴展的信號完整性數字控制的阻抗DCI能3態(tài)用于最低的功耗和高速

溫馨提示

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

評論

0/150

提交評論