基于AXI4的可編程SOC系統(tǒng)設(shè)計教學課件_第1頁
基于AXI4的可編程SOC系統(tǒng)設(shè)計教學課件_第2頁
基于AXI4的可編程SOC系統(tǒng)設(shè)計教學課件_第3頁
基于AXI4的可編程SOC系統(tǒng)設(shè)計教學課件_第4頁
基于AXI4的可編程SOC系統(tǒng)設(shè)計教學課件_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、內(nèi)容概述,本章主要對片上可編程系統(tǒng)設(shè)計技術(shù)進行了簡要的 介紹: 在片上可編程系統(tǒng)概述部分介紹了軟核和硬核處理 器,以及片上可編程系統(tǒng)的發(fā)展背景和片上可編程系 統(tǒng)技術(shù)的特點; 在片上可編程系統(tǒng)設(shè)計方法部分介紹了片上可編程 系統(tǒng)設(shè)計流程、通用片上可編程系統(tǒng)優(yōu)化技術(shù)和專用 片上可編程系統(tǒng)優(yōu)化技術(shù); 在片上可編程系統(tǒng)芯片部分介紹了Xilinx公司支持 片上可編程系統(tǒng)設(shè)計的主要芯片的種類和性能。,可編程片上系統(tǒng)設(shè)計,基于現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)的SOPC(System-on-a-chip),包含嵌入 式的軟核或硬核處理器、存儲器和硬件加速

2、器。SOPC的 出現(xiàn)為設(shè)計者提供了設(shè)計高性能嵌入式系統(tǒng)和優(yōu)化系統(tǒng) 的條件。,可編程片上系統(tǒng)設(shè)計-軟核及硬核處理器,SOPC嵌入式處理器分為軟核和硬核處理器兩類。 Xilinx提供了將物理的處理其核集成到FPGA硅片上的硬核 處理器產(chǎn)品。 一個處理器使用專門的硅片實現(xiàn)稱為硬核處理器, 比如: 1)Xilinx將PowerPC硬核集成到Virtex-II Pro到Virtex- 5系列的FPGA芯片中。 2)ARM Cortex-A9硬核集成到Zynq系列的FPGA芯片 中。 軟核處理器是通過使用FPGA的通用邏輯實現(xiàn)的。軟核 處理器通過HDL語言或網(wǎng)表進行描述的。軟核處理器必須 進行綜合才能使用

3、。,可編程片上系統(tǒng)設(shè)計-軟核及硬核處理器,在基于軟核和硬核處理器的SOPC系統(tǒng)中,本地存儲 器、處理器總線、內(nèi)部外設(shè)、外設(shè)控制器和存儲器控制器 必須使用FPGA的通用邏輯實現(xiàn)。 下面給出Xilinx公司的軟核和硬核處理器的性能。,可編程片上系統(tǒng)設(shè)計-可編程片上系統(tǒng)技術(shù)的發(fā)展,由于持續(xù)的要求嵌入式系統(tǒng)具有更多的功能、更好的 性能和靈活性,因此傳統(tǒng)上的設(shè)計方法已經(jīng)不適應(yīng)這種要 求。當設(shè)計人員試圖通過高性能的嵌入式處理器得到更高 的性能時,遇到了吞吐量和性能方面的限制,而這種限制 源于系統(tǒng)和結(jié)構(gòu)的瓶頸,以及存儲器帶寬的限制。 現(xiàn)在解決問題的方法是“專用”,即對某個嵌入式系統(tǒng) 的應(yīng)用使用專門的解決方法

4、。比如,數(shù)字信號處理器DSP 用于解決某一類專門的數(shù)字信號處理。對于一些高容量的 應(yīng)用,設(shè)計人員可能還需要專門開發(fā)ASIC芯片。,可編程片上系統(tǒng)設(shè)計-可編程片上系統(tǒng)技術(shù)的發(fā)展,現(xiàn)在FPGA廣泛地應(yīng)用在各個領(lǐng)域中。因此,很多 FPGA廠商將專用的嵌入式處理器Power、ARM等嵌入到 了FPGA芯片中。這種集成了嵌入式處理器的FPGA芯片被 定義成FPGA的平臺。這種基于FPGA的嵌入式平臺提供了 一個靈活的解決方案。 在這個解決方案中,一個單FPGA芯片上提供了大量 不同的IP軟核和硬核資源。這些固件和硬件可以在任何時 間進行升級。這種可編程的結(jié)構(gòu)特點,大大縮短了系統(tǒng)的 開發(fā)時間,而同一平臺能

5、應(yīng)用在很多領(lǐng)域,提高了平臺的 資源復用率。,可編程片上系統(tǒng)設(shè)計-可編程片上系統(tǒng)技術(shù)的發(fā)展,這種結(jié)構(gòu)同時還使設(shè)計人員可以優(yōu)化系統(tǒng)吞吐量和開 發(fā)周期,提供前所未有的軟件和硬件協(xié)同設(shè)計的靈活性, 這種靈活性主要體現(xiàn)在設(shè)計人員能夠權(quán)衡軟件和硬件設(shè)計 的實現(xiàn)方法。 這種協(xié)同性不同于傳統(tǒng)的嵌入式系統(tǒng)的協(xié)同設(shè)計,雖 然以前也使用軟件和硬件的協(xié)同設(shè)計,但是在實現(xiàn)級別上 基本上還是使用大量的分離的設(shè)計流程。比如,硬件設(shè)計 人員制定硬件設(shè)計規(guī)范,軟件設(shè)計人員制定軟件設(shè)計規(guī) 范。 這樣就導致對問題截然不同的理解,而且對設(shè)計團隊提 出了很高的要求。,可編程片上系統(tǒng)設(shè)計-可編程片上系統(tǒng)技術(shù)的發(fā)展,更進一步的說,F(xiàn)PGA

6、平臺,即SOPC集成了傳統(tǒng)的軟 核和硬核處理器、片上總線、大量不同的I/O設(shè)備和借口 標準、定制的硬件加速處理器,以及混合的定制的總線或 點對點的拓撲結(jié)構(gòu),以提高系統(tǒng)的性能。,可編程片上系統(tǒng)設(shè)計-可編程片上系統(tǒng)技術(shù)的發(fā)展,在SOPC的層次上,F(xiàn)PGA的應(yīng)用領(lǐng)域已經(jīng)大大擴寬 了,它不再是傳統(tǒng)意義上用于連接不同接口設(shè)備的“連接 邏輯”。由于FPGA的容量和性能不斷提高,因此它就逐步 地變成嵌入式系統(tǒng)的中心。 FPGA容量不斷提高,已經(jīng)將嵌入式處理器和大量I/O 集成在FPGA芯片內(nèi)。當FPGA發(fā)展到SOPC的階段后,設(shè) 計的復雜度也不斷的提高,硬件和軟件設(shè)計在FPGA平臺 上都顯得十分重要。而且由

7、于FPGA集成了片上總線和存 儲器,因此也需要系統(tǒng)設(shè)計和系統(tǒng)結(jié)構(gòu)方面的經(jīng)驗。,可編程片上系統(tǒng)設(shè)計-可編程片上系統(tǒng)技術(shù)的發(fā)展,在SOPC階段,設(shè)計已經(jīng)從以硬件描述語言HDL為中心 的硬件設(shè)計,轉(zhuǎn)換到了以C語言進行功能描述為中心。所 以就形成了以C語言描述SOPC的功能,而用HDL語言描 述硬件的具體實現(xiàn)方法。這也是和傳統(tǒng)的FPGA設(shè)計和嵌 入式系統(tǒng)設(shè)計最大的區(qū)別,即軟件和硬件的真正的協(xié)同設(shè) 計。,可編程片上系統(tǒng)設(shè)計-可編程片上系統(tǒng)技術(shù)特點,作為新的嵌入式系統(tǒng)的設(shè)計平臺,使用SOPC進行嵌 入式系統(tǒng)設(shè)計具有以下幾個方面的優(yōu)點: 1、定制 基于FPGA的嵌入式系統(tǒng)的設(shè)計人員可以很靈活地選 擇所要連接

8、的外設(shè)和控制器。因此,設(shè)計人員可以設(shè)計出 一個獨一無二的外設(shè),這個外設(shè)可以直接和總線連接。對 于一些非標準的外設(shè),設(shè)計人員很容易的使用FPGA嵌入 式平臺實現(xiàn)。比如,設(shè)計人員很容易的在FPGA平臺上設(shè) 計出具有10個UART接口的嵌入式系統(tǒng)。因此,在FPGA 系統(tǒng)中,向這樣類似的配置是很容易實現(xiàn)的。,可編程片上系統(tǒng)設(shè)計-可編程片上系統(tǒng)技術(shù)特點,2、延緩過時 一些公司,特別是為軍方提供產(chǎn)品的那些公司,它們 產(chǎn)品的供貨周期常常比標準電子產(chǎn)品的周期要長。電子元 器件的過時(停產(chǎn))是一個非常嚴重的問題,會導致這些 公司無法繼續(xù)提供其產(chǎn)品。由于軟核處理器的HDL源代碼 可以通過購買得到,因此基于FPGA

9、的軟核處理器是一個 非常好的解決方案,它可以充分的滿足產(chǎn)品長期供貨的要 求。,可編程片上系統(tǒng)設(shè)計-可編程片上系統(tǒng)技術(shù)特點,3、降低元件成本 由于基于FPGA平臺的嵌入式系統(tǒng)的功能多樣性,以前 需要用很多元件才能實現(xiàn)的系統(tǒng),現(xiàn)在可以使用一個 FPGA芯片實現(xiàn)。比如,輔助I/O芯片或協(xié)處理器與現(xiàn)有的 處理器之間的連接。減少在設(shè)計中所使用的元件的數(shù)量, 不但可以降低元件的成本,而且可以大大縮小電路板的尺 寸。,可編程片上系統(tǒng)設(shè)計-可編程片上系統(tǒng)技術(shù)特點,4、硬件加速 選擇基于FPGA的SOPC的一個重要的原因就是,SOPC 能在硬件和軟件之間進行權(quán)衡,使嵌入式系統(tǒng)達到最大的 效率和性能。比如,當算法

10、是嵌入式系統(tǒng)軟件性能的瓶頸 時,一個使用FPGA定制的協(xié)處理器引擎能用來實現(xiàn)算 法,這個協(xié)處理器通過專用的,低延遲的通道與嵌入式處 理器連接。使用現(xiàn)代的硬件設(shè)計工具,很容易的將軟件瓶 頸轉(zhuǎn)向硬件處理。,可編程片上系統(tǒng)設(shè)計-可編程片上系統(tǒng)技術(shù)特點,SOPC的出現(xiàn)給嵌入式系統(tǒng)設(shè)計帶來了非常多的優(yōu)點, 但是由于采用基于FPGA的嵌入式平臺,這個平臺集成了 軟件和硬件的平臺設(shè)計工具,因此設(shè)計比較復雜。 FPGA的嵌入式的軟件設(shè)計工具比標準的傳統(tǒng)的嵌入式 系統(tǒng)的軟件設(shè)計要新,軟件設(shè)計工具相對來說還不成熟。 但是隨著SOPC技術(shù)的進一步發(fā)展,這個問題將會解決。 芯片的成本也是一個問題,采用專用的嵌入式平臺

11、比 采用基于FPGA的嵌入式平臺成本要低,但是隨著制造工 藝的不斷更新和SOPC芯片的成本的降低,相信在不久的 將來,SOPC成本甚至還會低于采用專用的嵌入式平臺。,可編程片上系統(tǒng)設(shè)計-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù),SOPC設(shè)計技術(shù)不同于傳統(tǒng)的嵌入式系統(tǒng)設(shè)計流程和設(shè) 計方法,其設(shè)計是軟件和硬件的協(xié)同設(shè)計,同時又是基于 軟件為中心的設(shè)計技術(shù)。下面首先介紹Xilinx的SOPC設(shè)計 流程,然后介紹以軟件為中心的SOPC設(shè)計技術(shù)。,可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-可編程片上系統(tǒng)設(shè)計技術(shù),正如前面所說,基于SOPC的嵌入式系統(tǒng)的設(shè)計需要 軟件和硬件的協(xié)同設(shè)計。下面給出Xilinx公司使用嵌入式 開發(fā)套件

12、(Embedded Design Kit, EDK)進行嵌入式系統(tǒng)設(shè) 計的流程。 Xilinx公司的EDK工具包用于開發(fā)基于FPGA平臺的嵌 入式系統(tǒng),從圖可以看出該工具支持傳統(tǒng)的硬件和嵌入式 軟件的設(shè)計流程。,-可編程片上系統(tǒng)設(shè)計技術(shù)-可編程片上系統(tǒng)設(shè)計流程,-可編程片上系統(tǒng)設(shè)計技術(shù)-可編程片上系統(tǒng)設(shè)計流程,EDK支持硬核PowerPC和軟核Microblaze處理器(未 來增加對ARM處理器的支持)。并將設(shè)計的導入、創(chuàng)建 和IP核定制進行了流水化的處理。由于EDK知道平臺 FPGA的硅片屬性和選項,能自動的為其外設(shè)生成軟件驅(qū) 動、測試代碼和創(chuàng)建板級支持包BSP(Board Support

13、Package)。這些BSP是常用的實時操作系統(tǒng)RTOS(Real- Time Operating System),比如VxWorks和嵌入式Linux提 供的設(shè)備驅(qū)動。,-可編程片上系統(tǒng)設(shè)計技術(shù)-可編程片上系統(tǒng)設(shè)計流程,EDK的設(shè)計流程就是一個軟件和硬件協(xié)同處理和設(shè)計 的過程。軟件流程完成C語言代碼的編寫、編譯和鏈接的 過程。硬件流程完成HDL設(shè)計輸入、綜合、仿真和實現(xiàn)的 過程。XPS提供了一個Data2MEM工具,該工具能將C語 言生成的ELF(Executable and Linkable Format)文件代碼 插入到生成后的FPGA的比特流文件中,將其生成能夠下 載到FPGA中,并能

14、啟動的映像文件。通過這個過程設(shè)計 人員能夠使軟件開發(fā)和調(diào)試進行實時處理,而不需要額外 的時間開銷。,-可編程片上系統(tǒng)設(shè)計技術(shù)-可編程片上系統(tǒng)設(shè)計流程,Xilinx的JTAG連接技術(shù),完成FPGA的下載、FPGA的 調(diào)試、C代碼的下載和軟件的調(diào)試。 XPS集成了軟件和硬件調(diào)試工具,使它們之間可以相 互觸發(fā),這使得嵌入式系統(tǒng)內(nèi)部變成“可見”,使嵌入式 設(shè)計者能很快地找到和發(fā)現(xiàn)問題,而無需知道這個問題 是軟件還是硬件產(chǎn)生的。,-可編程片上系統(tǒng)設(shè)計技術(shù)-基于軟件的設(shè)計方法,SOPC設(shè)計中,一個好的開發(fā)工具提供對目標平臺合 理的抽象,而這個抽象對設(shè)計人員來說是比較容易理解 的。 硬件抽象使得軟件開發(fā)人員

15、不需要從應(yīng)用程序的開發(fā) 轉(zhuǎn)向真實的硬件實現(xiàn),事實上對于軟件人員來說這也是不 可能的事情。但是軟件開發(fā)人員在設(shè)計程序的時候開始將 并發(fā)性和基于消息驅(qū)動的硬件概念融入到程序設(shè)計中。,-可編程片上系統(tǒng)設(shè)計技術(shù)-基于軟件的設(shè)計方法,這個抽象允許軟件設(shè)計人員創(chuàng)建、測試和調(diào)試應(yīng)用 程序,同時促進開發(fā)人員使用程序設(shè)計方法使得目標系 統(tǒng)達到最大的性能。同時,好的開發(fā)工具還提供了將原 始的高級描述轉(zhuǎn)換成優(yōu)化過的低級的目標系統(tǒng)可加載和 執(zhí)行的代碼。,-可編程片上系統(tǒng)設(shè)計技術(shù)-基于軟件的設(shè)計方法,為了達到這兩個要求,為自動的基于FPGA平臺的硬件 生成工具主要目的是自動編譯和優(yōu)化問題,提出編程的 抽象模型、編程的方

16、法。這些工具目的就是建立面向軟 件的設(shè)計經(jīng)驗。,-可編程片上系統(tǒng)設(shè)計技術(shù)-基于軟件的設(shè)計方法,面向軟件的編程、仿真和調(diào)試工具提供了對FPGA平臺 的合理的抽象,允許系統(tǒng)設(shè)計人員在原型設(shè)計階段,開始 應(yīng)用的開發(fā)、實驗,而不需要專門的硬件知識,這一點對 于原型設(shè)計階段是非常重要的。如圖1.2所示,通過使用 軟件到硬件的設(shè)計方法和工具,傳統(tǒng)的軟件和硬件設(shè)計流 程能極大的得到改善。但是并不是說不需要硬件的技巧。 事實上,一個完整的和優(yōu)化過的系統(tǒng)中只使用軟件知識是 不可能實現(xiàn)的。通過軟件和硬件設(shè)計技巧和使用現(xiàn)代設(shè)計 工具就能很快地建立工作原型。,-可編程片上系統(tǒng)設(shè)計技術(shù)-基于軟件的設(shè)計方法,-可編程片上

17、系統(tǒng)設(shè)計技術(shù)-基于軟件的設(shè)計方法,面向軟件的設(shè)計流程一個非常重要的特點就是在最合 理的平臺資源中使用軟件來描述設(shè)計規(guī)范。如果最合適的 平臺資源是微處理器,那么事情就比較簡單,只需要針對 這個處理器進行交叉編譯(交叉編譯就是在一個平臺上生 成另一個平臺上的可執(zhí)行代碼),但是如果是FPGA的 話,傳統(tǒng)的設(shè)計流程要求用HDL語言重新書寫RTL級的描 述,那是一件既耗時,又容易出現(xiàn)設(shè)計錯誤的事情。但是 使用面向軟件的設(shè)計流程,只需要對最初的設(shè)計語言進行 簡單的一些修改,而不需要關(guān)心目標系統(tǒng)的資源。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),基于SOPC的嵌入式系統(tǒng)設(shè)計中,一個非常重

18、要的問 題是優(yōu)化問題。 雖然表1.1給出的SOPC的性能指標很高,但是設(shè)計者 往往發(fā)現(xiàn)很難達到表中的指標。這是由于設(shè)計人員沒有很 好的使用基于FPGA嵌入式處理器的性能擴展技術(shù)。 FPGA的生產(chǎn)廠商會采用一切方法和手段使芯片的性能 達到預期的性能和指標,而對于熟悉標準微處理器性能優(yōu) 化技術(shù)的設(shè)計人員來說必須熟悉針對FPGA嵌入式處理器 的優(yōu)化技術(shù),這樣才能使他們設(shè)計出來的FPGA嵌入式系 統(tǒng)的性能指標達到FPGA廠商的設(shè)計指標。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),FPGA嵌入式處理器設(shè)計比較復雜,復雜程度甚至使那 些有經(jīng)驗的設(shè)計人員在某些情況下都無能為力,因此為了

19、獲得FPGA平臺的優(yōu)勢必須進行權(quán)衡。下面給出一些在設(shè) 計FPGA的SOPC嵌入式系統(tǒng)時,會使用到的一些優(yōu)化技 術(shù)。 這些優(yōu)化技術(shù)并不是SOPC設(shè)計中特有的技術(shù),而這些 技術(shù)在傳統(tǒng)的嵌入式系統(tǒng)的設(shè)計中已經(jīng)使用了這些技術(shù)。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),1. 代碼控制 一些可以使用的優(yōu)化技術(shù)影響應(yīng)用程序代碼。一些技 術(shù)影響代碼如何編寫,而一些技術(shù)影響編譯器如何處理代 碼。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),1、優(yōu)化級別 在Xilinx的XPS中的GCC編譯器中可以選擇編譯的優(yōu)化 級別。編譯器的優(yōu)化級別有0、1、2、3和代碼長度優(yōu)化 共五級

20、優(yōu)化。下面給出這四種優(yōu)化級別的說明。 0級優(yōu)化:不進行任何優(yōu)化操作。 1級優(yōu)化:執(zhí)行跳轉(zhuǎn)(JUMP)和出棧(POP)優(yōu)化。 2級優(yōu)化:這一級優(yōu)化執(zhí)行幾乎所有的優(yōu)化操作,但是 不包括速度和空間的權(quán)衡,所以可執(zhí)行代碼的長度不會增 加。編譯器不執(zhí)行循環(huán)的解開操作,函數(shù)嵌入和嚴格的別 名優(yōu)化操作。這是對程序配置的標準優(yōu)化操作。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),3級優(yōu)化:最高級優(yōu)化。這級優(yōu)化增加了更多的可選 項,其中包括增加代碼尺寸。在一些情況下,3級優(yōu)化后 的代碼效率比第2級優(yōu)化后的代碼效率要低,所以要謹慎 使用第3級優(yōu)化。 長度:長度優(yōu)化。優(yōu)化目標是產(chǎn)生較小的代碼長度。

21、,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),2、使用FPGA廠商的優(yōu)化指令 Xilinx提供了一些為Xilinx的嵌入式處理器定制的指 令。比如:xil_printf。這個函數(shù)功能和printf基本是一樣 的,但是存在下面的一些不同之處:不支持實數(shù)類型,不 支持64位。由于這些改動使xil_printf函數(shù)只有2953個字 節(jié),比printf的函數(shù)的代碼長度(51788字節(jié))要小得多。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),3、匯編 在GCC編譯器中支持嵌入的匯編。對于任何處理器來 說,在一些對時間要求比較苛刻的應(yīng)用場合,匯編語言是 非常有用的。在一

22、些編譯器中,如果在文件中使用了匯編 語言,編譯器是不會優(yōu)化剩余的C代碼的。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),4、混雜 當優(yōu)化FPGA嵌入式處理器時,一些與代碼相關(guān)的優(yōu) 化也被考慮在其中,主要包括:參考位置、代碼分析、 變量的定義、小數(shù)據(jù)區(qū)的使用策略、明智的使用函數(shù)調(diào) 用減少入棧和出棧幀、循環(huán)長度等。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),2. 存儲器的使用 處理器提供訪問快速的本地存儲器的能力,以及與 慢速的二級存儲器的接口。FPGA的嵌入式處理器也提 供了這樣的功能。 使用存儲器的方法對系統(tǒng)性能會產(chǎn)生重要的影響。其 它處理器那樣,在FPG

23、A內(nèi)的嵌入式處理器對存儲器的 使用可以通過一個鏈接腳本進行操作。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),1、只用本地存儲器 最快的存儲器的選擇是將所有的代碼放在本地存儲器 中。Xilinx的本地存儲器由大容量的塊RAM(BRAM)組 成。嵌入式處理器以單總線周期訪問BRAM。由于在 MicroBlaze構(gòu)成的嵌入式系統(tǒng)中,處理器和存儲器運行在 相同的時鐘頻率,存放在BRAM中的指令能夠以處理器的 頻率執(zhí)行。 在MicroBlaze系統(tǒng)中,BRAM本質(zhì)上的性能和L1高速緩 存的性能一樣。在PowerPC的嵌入時系統(tǒng)中,處理器運行 頻率比總線要高,并且存在L1高速緩存,因此

24、BRAM的性 能與L2高速緩存的性能一致。在Xilinx的FPGA中,BRAM 的性能是不一樣的。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),2、只用外部存儲器 如果將所有程序放在外部存儲器中,將使系統(tǒng)的性能降 到最低。Xilinx提供了與外部不同存儲器的接口。這些存 儲器接口與處理器的外設(shè)總線連接。Xilinx的存儲器控制 器支持三種易失性存儲器SRAM、SDRAM和DDR SDRAM。在FPGA內(nèi)的SRAM控制器結(jié)構(gòu)是最簡單和最小 的,但SRAM是三種存儲器中最貴的。FPGA內(nèi)的DDR控 制器結(jié)構(gòu)是最復雜和最大的,但是所需要的FPGA引腳是 非常少的,每兆字節(jié)的DDR存

25、儲器成本是最低的。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),此外,對外部存儲器的訪問存在時間延遲。在 MicroBlaze中,存儲器控制器與OPB(On-chip Peripheral) 總線相連。比如,OPB總線的SDRAM控制器需要4-6個時 鐘的寫操作延遲,8-10個時鐘周期的讀操作延遲。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),3、高速緩存 在建有PowerPC處理器的FPGA硅片上建立了的指令和 數(shù)據(jù)高速緩存。使其對處理器總保持性能優(yōu)勢。而在 MicroBlaze處理器沒有專門在硅片上建立指令和數(shù)據(jù)高速 緩存。對于MicroBlaze處理器

26、來說,高速緩存是可配置的 選項。當需要高速緩存時,使用BRAM建立高速緩存。與 本地存儲器相比,由于高速緩存需要在BRAM中保存地址 映射機構(gòu),因此高速緩存會使用更多的BRAM資源。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),此外,使能高速緩存還會消耗通用邏輯資源用來建立高 速緩存控制器。比如在Spartan-3中建立8KB的數(shù)據(jù)高速緩 存和32M的外部存儲器被緩存,將需要12位的地址標記, 使用124個邏輯單元和6個BRAM資源。而建立8KB的本地 存儲器只需要4個BRAM資源。多出的2個BRAM用于保存 地址標記。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)

27、化技術(shù),此外,當使能高速緩存后,系統(tǒng)地最高頻率也會降低。 比如,一個沒有高速緩存的系統(tǒng)工作頻率可以達到 75MHz,如果使用高速緩存,工作頻率只有60MHz。使能 高速緩存控制其將增加邏輯和設(shè)計復雜度,在布局和布線 時,將降低系統(tǒng)頻率。所以在軟核處理器中使用高速緩存 會降低整個系統(tǒng)的性能。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),經(jīng)過謹慎的考慮,在低系統(tǒng)工作頻率下使能指令高速 緩存將其高系統(tǒng)性能。比如,60MHz的系統(tǒng)使用指令高速 緩存比75MHz不使用高速緩存的系統(tǒng),帶來150%的性能 提高。當數(shù)據(jù)和指令高速緩存全部使用時,將帶來308% 的性能提高。,-可編程片上系統(tǒng)

28、設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),4、分配代碼到內(nèi)部存儲器、外部存儲器和高速緩存中 正如前面所提到的只有把所有代碼放到本地存儲器中, 才能提供最好的性能。由于程序經(jīng)常會超出本地存儲器可 使用的容量,所以實際上是不可能將所有代碼存放在本地 存儲器中的。而另一方面,從外部存儲器運行程序會有很 大的時間延遲。在PowerPC系統(tǒng)中,使用高速緩存是一個 非常好的選擇。在MicroBlaze對外部存儲器使用高速緩存 會改善結(jié)果,但是采用其它方法可以提供更優(yōu)化的結(jié)果。,-可編程片上系統(tǒng)設(shè)計與優(yōu)化技術(shù)-通用的可編程片上系統(tǒng)優(yōu)化技術(shù),在MicroBlaze系統(tǒng)中,最好的方法是合理的分配程序 代碼,

29、使系統(tǒng)的頻率和本地存儲器容量達到最大。關(guān)鍵 指令、數(shù)據(jù)和堆棧放在本地存儲器中。不要使用數(shù)據(jù)高 速緩存。如果本地存儲器不能保存所有的指令,那么就 要考慮使用指令高速緩存用于在外部存儲器中保存指 令。,專用的可編程片上系統(tǒng)優(yōu)化技術(shù)-提高FPGA工作頻率,1、邏輯優(yōu)化 如果設(shè)計中沒有在外部存儲器中保存和運行指令,那么 就不要連接指令一側(cè)的外設(shè)總線。將處理器的指令和數(shù)據(jù) 一側(cè)連接到一個總線上會產(chǎn)生一個多主系統(tǒng),在這樣的系 統(tǒng)中要求仲裁器。在總線上只存在一個主設(shè)備將優(yōu)化系統(tǒng) 性能。,專用的可編程片上系統(tǒng)優(yōu)化技術(shù)-提高FPGA工作頻率,使用FPGA內(nèi)的資源調(diào)試邏輯會產(chǎn)生硬件瓶頸。當設(shè)計 已經(jīng)全部調(diào)試后,要

30、從系統(tǒng)中去除這些調(diào)試邏輯,這樣可 以提高系統(tǒng)的性能。比如,去除FSL加速通道上的MDM (MicroBlaze Debug Module)模塊將節(jié)省950個邏輯單元。 在MicroBlaze中使能高速緩存,調(diào)試邏輯作為關(guān)鍵路徑將 降低系統(tǒng)地工作頻率。,專用的可編程片上系統(tǒng)優(yōu)化技術(shù)-提高FPGA工作頻率,用于連接外部SRAM和Flash存儲器的OPB外部存儲器控 制器,產(chǎn)生32位地址線(即使這些地址不會完全使用)。 Xilinx提供了總線裁減外設(shè)的功能,用于刪除不需要的地 址位。這樣就會減少布線和引腳。 Xilinx提供了一些GPIO外設(shè)。GPIO提供了雙通道、雙 向功能和中斷能力。這些功能需要

31、更多的資源,會影響時 序。如果設(shè)計中只使用簡單的GPIO,那么就使用GPIO最 基本的版本,或者關(guān)閉那些沒有使用的功能。,-專用的可編程片上系統(tǒng)優(yōu)化技術(shù)-面積和時序約束,當設(shè)計者給出布局和布線導向時,Xilinx的布局和布線 工具將能更好的工作。在Xilinx工具中,設(shè)計人員指定期 望的工作頻率、引腳位置和邏輯元素的位置。通過提供這 些詳細的信息,設(shè)計工具將能自動的、更好的在硬件設(shè)計 實現(xiàn)上進行權(quán)衡。 一些外設(shè)可能需要其它約束,用來保證其操作的正確 性。比如,DDR SDRAM控制器和10/100以太網(wǎng)控制器。 設(shè)計人員在使用時,必須認真地閱讀相關(guān)外設(shè)的數(shù)據(jù)手 冊,并遵循推薦的設(shè)計規(guī)則。,-專

32、用的可編程片上系統(tǒng)優(yōu)化技術(shù)-硬件加速,1、使用硬件除法器和桶型移位寄存器 MicroBlaze能定制使用硬件除法器和桶型移位寄存器, 而不需要使用軟件實現(xiàn)這些功能。使能這些處理器的功能 會消耗額外的邏輯資源,但是能提高系統(tǒng)性能。比如,使 能硬件除法器和桶型移位寄存器會額外使用414個邏輯單 元,但是會使性能提高18.1%。,-專用的可編程片上系統(tǒng)優(yōu)化技術(shù)-硬件加速,2、軟件瓶頸轉(zhuǎn)換為硬件處理 定制的硬件邏輯可以減輕FPGA嵌入式處理器的負擔。 當遇到軟件瓶頸時,設(shè)計人員可以使用定制的硬件實現(xiàn)這 些算法。定制的軟件指令可以操作硬件協(xié)處理器。 MicroBlaze和PowerPC存在訪問處理器的低

33、延遲訪問 點,因此可以很好的將定制的處理器硬件和嵌入式處理器 連接。Virtex-4中為PowerPC增加了APU(Auxiliary Processing Unit)單元,使得協(xié)處理器可以和嵌入式處理 器直接連接。在MicroBlaze中提供了低延遲的FSL(Fast Simplex Link)總線。FSL總線包含大量的專用的、單向的 32位通道。由于這些通道時專用的,因此不需要進行總線 仲裁機構(gòu)。,-專用的可編程片上系統(tǒng)優(yōu)化技術(shù)-硬件加速,將軟件瓶頸轉(zhuǎn)換為硬件處理看上去是一件比較困難的事 情。傳統(tǒng)上,當軟件設(shè)計人員發(fā)現(xiàn)瓶頸后,讓硬件設(shè)計人 員編寫HDL代碼建立協(xié)處理器。但是,這個過程可以簡

34、 化,因為可以使用工具將C語言轉(zhuǎn)化為FPGA硬件。這樣 一個工具就是CoDeveloper。這個工具使熟悉C語言的設(shè)計 人員,通過使用CoDeveloper的C語言庫生成一個定制的 FPGA協(xié)處理單元??梢允褂糜布f(xié)處理的算法有:DCT 變換、FFT變換、MP3解碼器、DES和AES、矩陣等。通 過使用硬件協(xié)處理,可以使性能提高數(shù)十倍或數(shù)百倍。,Xilinx可編程片上系統(tǒng)芯片,適合進行SOPC設(shè)計的FPGA芯片低端產(chǎn)品有Spartan系 列,高端產(chǎn)品有Virtex系列。 Spartan系列FPGA可以使用MicroBlaze軟核處理器設(shè)計 SOPC,Virtex系列FPGA可以使用PowerP

35、C硬核處理器設(shè) 計SOPC。 MicroBlaze軟核處理器均可在Xilinx的高端和低端 FPGA芯片上使用。Spartan系列的FPGA平臺用于SOPC設(shè) 計主要使用Spantan-3系列。Virtex系列的FPGA平臺用于 SOPC設(shè)計主要使用Virtex-II pro,Virtex-V,Virtex-VI系 列。下面給出了主要的SOPC設(shè)計平臺。設(shè)計人員可以根 據(jù)這些FPGA平臺的不同性能,在設(shè)計SOPC進行選擇,以 達到所需要的設(shè)計要求。,Xilinx可編程片上系統(tǒng)芯片- Spartan-3系列FPGA,Spartan-3基于Virtex-II FPGA架構(gòu),采用90 nm技術(shù),8

36、層金屬工藝,系統(tǒng)門數(shù)超過5百萬,內(nèi)嵌了硬核乘法器和 數(shù)字時鐘管理模塊。從結(jié)構(gòu)上看,Spartan-3將邏輯、存儲 器、數(shù)學運算、數(shù)字處理器處理器、I/O以及系統(tǒng)管理資 源完美地結(jié)合在一起,使之有更高層次、更廣泛的應(yīng)用。 Spartan-3系列FPGA主要特性如下:,Xilinx可編程片上系統(tǒng)芯片- Spartan-3系列FPGA,1)采用90nm 工藝,密度高達74880邏輯單元; 2)最高系統(tǒng)時鐘為340MHz; 3)具有專用乘法器; 4)核電壓為1.2V,端口電壓為3.3V、2.5、 1.2V,支持24種I/O標準; 5)高達520k分布式RAM和1872k的塊RAM; 6)具有片上時鐘管

37、理模塊(DCM); 7)具有嵌入式Xtrema DSP功能,每秒可執(zhí)行3300 億次乘加。,Xilinx可編程片上系統(tǒng)芯片- Spartan-6系列FPGA,Spartan-6系列的FPGA是Xilinx公司于2009年推 出的最新一代的FPGA芯片,該系列的芯片功耗低, 容量大。邏輯單元的容量為3,400-148,000,但功耗 只有以前Spartan芯片的一半,并且有更快的,更復 雜的連接性能。該系列芯片基于45nm的銅處理技術(shù) 工藝。該系列的芯片提供了6輸入的查找表邏輯。 spartan-6芯片的特點主要包括:,Xilinx可編程片上系統(tǒng)芯片- Spartan-6系列FPGA,(1) 1

38、8KB的RBAM; (2) 第二代的DSP48A1 Slice; (3) SDRAM控制器; (4) 擴展的混合模式的時鐘管理模塊; (5) SelectIO技術(shù),功耗優(yōu)化的高速串行接收發(fā)送器 模塊; (6) PCI-E端點模塊; (7) 高級的系統(tǒng)級功耗管理模式; (8) 自動檢測配置選項; (9) 使用ASE和DNA保護的擴展的IP安全性。,Xilinx可編程片上系統(tǒng)芯片- Virtex-4 系列FPGA,Xilinx 的 Virtex-4 系列將高級硅片組合模塊 (ASMBL) 架構(gòu)與種類繁多的靈活功能相結(jié)合,大大 提高了可編程邏輯設(shè)計能力,從而成為替代 ASIC 技術(shù)的 強有力產(chǎn)品。

39、Virtex-4系列FPGA主要有三個系列 - LX/SX/FX的產(chǎn)品。 Virtex-4 LX用于高性能邏輯應(yīng)用解決方案。Virtex-4 SX用 于高性能數(shù)字信號處理 (DSP) 應(yīng)用解決方案。Virtex-4 FX 用于高性能全功能嵌入式平臺應(yīng)用解決方案。Virtex-4系 列FPGA采用了下面的技術(shù): 1)Xesium 時鐘技術(shù),包括:數(shù)字時鐘管理器 (DCM) 塊;附加的相位匹配時鐘分頻器 (PMCD);差分全 局時鐘,Xilinx可編程片上系統(tǒng)芯片- Virtex-4 系列FPGA,2)XtremeDSP Slice技術(shù),包括:18 x 18 位帶補數(shù) 功能的有符號乘法器;可選流水

40、線級數(shù);內(nèi)置累加器(48 位)和加法器/ 減法器; 3)Smart RAM 存儲器層級技術(shù),包括:分布式 RAM;雙端口 18 Kb RAM 塊;可選流水線級數(shù);可選的 可編程 FIFO 邏輯將 RAM 信號自動再映射為FIFO 信號; 高速存儲器接口支持 DDR SDRAM、DDR-2 SDRAM、 QDR-II 和 RLDRAM-II; 4)SelectIO 技術(shù),包括:1.5V 到 3.3V I/O 工作電 壓;內(nèi)置 ChipSync 源同步技術(shù);數(shù)控阻抗 (DCI) 有效 終端;細粒度 I/O 組布局(在一個組中配置);,Xilinx可編程片上系統(tǒng)芯片- Virtex-4 系列FPGA

41、,5)靈活的邏輯資源; 6)安全芯片 AES 比特流加密; 7)90 nm 銅 CMOS 工藝; 8)1.2V 核電壓; 9)倒裝片封裝,包括無鉛封裝選擇; 10)RocketIO 622 Mb/s 到 6.5 Gb/s 千兆位級收發(fā)器 (MGT) 僅 FX。 11)IBM PowerPC RISC 處理器核(僅 FX系列),包 括:PowerPC 405 (PPC405) 核;輔助處理器單元接口(用 戶協(xié)處理器);多個三態(tài)以太網(wǎng)MAC (僅 FX系列)。,Xilinx可編程片上系統(tǒng)芯片- Virtex-5系列FPGA,Virtex-5 系列可提供 FPGA 市場中最新最強大的功能。 Virt

42、ex-5 系列采用第二代ASMBL(高級硅片組合模塊) 列式架構(gòu),包含五種截然不同的平臺(子系列),比此前 任何 FPGA 系列提供的選擇范圍都大。每種平臺都包含不 同的功能配比,以滿足諸多高級邏輯設(shè)計的需求。,Xilinx可編程片上系統(tǒng)芯片- Virtex-5系列FPGA,Virtex-5系列包含LX、LXT、SXT、TXT 和 FXT 五個 平臺。 Virtex-5 LX主要用于高性能通用邏輯應(yīng)用。 Virtex-5 LXT主要用于具有高級串行連接功能的高性 能邏輯。 Virtex-5 SXT主要用于具有高級串行連接功能的高性 能信號處理應(yīng)用。 Virtex-5 TXT主要用于具有雙密度高

43、級串行連接功能 的高性能系統(tǒng)。 Virtex-5 FXT主要用于具有高級串行連接功能的高性 能嵌入式系統(tǒng)。,Xilinx可編程片上系統(tǒng)芯片- Virtex-5系列FPGA,Virtex-5系列的FPGA芯片采用了下列技術(shù): 1)跨平臺兼容性,LXT、SXT 和 FXT 器件使用可調(diào) 穩(wěn)壓器,同樣封裝中引腳兼容; 2)最先進的最佳利用率高性能 FPGA 架構(gòu),其中包 括: 真 6 輸入查找表 (LUT) 技術(shù); 雙 5-LUT 選項; 改進的布線減少了中間連線; 64 位分布式 RAM 選項; SRL32/ 雙 SRL16 選項;,Xilinx可編程片上系統(tǒng)芯片- Virtex-5系列FPGA,

44、3)強大的時鐘管理模塊 (CMT) 時鐘控制技術(shù),其中包 括: 具有零延遲緩沖、頻率綜合和時鐘相移功能的數(shù)字時 鐘管理器模塊; 具有輸入抖動濾波、零延遲緩沖、頻率綜合和相位匹 配時鐘分頻功能的 PLL 模塊; 4)36 Kb Block RAM/FIFO,其中包括:真雙端口 RAM 模塊;增強的可選可編程 FIFO 邏輯;可編程高 達 36 倍的真雙端口寬度;高達 72 倍的簡單雙端口寬度; 內(nèi)置可選糾錯電路;可選擇將每個模塊作為兩個獨立的 18 Kb 模塊進行編程;,Xilinx可編程片上系統(tǒng)芯片- Virtex-5系列FPGA,5)高性能并行 SelectIO 技術(shù),其中包括:1.2 到

45、3.3V I/O 運行;使用 ChipSync 技術(shù)的源同步接口連接;數(shù)控 阻抗 (DCI) 有效終端;靈活的細粒度 I/O 分組;支持高速 存儲器接口; 6)高級 DSP48E Slice技術(shù),其中包括:25 x 18 補碼乘 法運算;可選加法器、減法器和累加器;可選流水線功 能;可選按位邏輯功能;專用的級聯(lián)連接; 7)靈活的配置選項技術(shù),其中包括:SPI 和并行 FLASH 接口;專用的回讀重新配置邏輯,可支持多比特 流;自動總線寬度檢測功能; 8)所有器件都有系統(tǒng)監(jiān)視功能,其中包括:片上/ 片 外熱特性監(jiān)視;片上/ 片外電源監(jiān)視;通過 JTAG 端口訪 問所有監(jiān)視量;,Xilinx可編程

46、片上系統(tǒng)芯片- Virtex-5系列FPGA,9)PCI Express 集成端點模塊,支持LXT、SXT、TXT 和 FXT 平臺;符合 PCI Express 基本規(guī)范 1.1;每模塊支 持 1 倍、4 倍或 8 倍通道寬度;與 RocketIO 收發(fā)器配合 使用; 10)三態(tài) 10/100/1000 Mb/s 以太網(wǎng) MAC,支持LXT、 SXT、TXT 和 FXT 平臺;可以將 RocketIO 收發(fā)器用作 PHY,也可以用多種軟 MII(媒體獨立接口)方案將其連 接到外部 PHY; 11)100 Mb/s 到 3.75 Gb/s 的 RocketIO GTP 收發(fā) 器,支持LXT 和 SXT 平臺;,Xilinx可編程片上系統(tǒng)芯片- Virtex-5系列FPGA,12)150 Mb/s 到 6.5 Gb/s 的 RocketIO GTX 收發(fā)器,支 持TXT 和 FXT 平臺; 13)PowerPC 440 微處理器,僅支持 FXT 平臺,特性包 括:RISC 架構(gòu);七級流水線;包括 32 KB 的指令和數(shù)據(jù) 緩存;優(yōu)化的處理器接口結(jié)構(gòu)(縱橫機); 14)65 nm 銅 CMOS 工藝技術(shù); 15)1.0V 內(nèi)核電壓; 16)可選擇標準或無鉛的具有高度信

溫馨提示

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

評論

0/150

提交評論