關于最新可擴展處理平臺您首先想問的或許就是‘Zynq’這個名稱究竟是什么意思。這個詞很容易讓人聯想到 zinc,也就是電池、日光屏、合金制品和藥品中最常見的化學元素鋅。鋅與其他金屬的合金可實現增強型功能,根據合金的不同對象表現為不同的色彩。鋅最常見的用途就是電鍍。
那么這個名稱與電鍍之間有什么聯系?
在 2010 年 4 月硅谷舉行的嵌入式系統大會上,賽靈思發布了可擴展處理平臺的架構詳情,這款基于無處不在的ARM® 處理器的 SoC可滿足復雜嵌入式系統的高性能、低功耗和多核處理能力要求。賽靈思可擴展處理平臺芯片硬件的核心本質就是將通用基礎雙 ARM Cortex™-A9 MPCore 處理器系統作為“主系統”,結合低功耗 28nm工藝技術,以實現高度的靈活性、強大的配置功能和高性能。由于該新型器件的可編程邏輯部分基于賽靈思 28nm 7 系列 FPGA,因此該系列產品的名稱中添加了“7000”,以保持與7系列 FPGA 的一致性,同時也方便日后本系列新產品的命名。
除了芯片外,賽靈思 Zynq™-7000 系列還構成了最終平臺產品的基礎。賽靈思聯盟計劃生態系統和 ARM互聯社區的成員提供的軟件開發與硬件設計實現工具、廣泛采用的操作系統、調試器、IP及其他元素的工具就好像“電鍍”在一起一樣,從而使可擴展處理平臺成為了可能。
以處理器為中心的開發流程
Zynq-7000 可擴展處理平臺采用熟悉的工具流程,使嵌入式軟/硬件工程師能以類似于賽靈思 ISE® 設計套件和第三方工具提供的嵌入式設計方法,執行各自的開發、調試和實現工作。
軟件應用工程師可使用與此前設計相同的 ARM 開發工具。賽靈思為嵌入式軟件應用項目提供了軟件開發套件(SDK),一種基于 Eclipse 的工具套件。ARM Development Studio 5 (DS-5™) 和ARM RealView 開發套件 (RVDS™)等其他第三方開發環境也可使用。處理子系統可獨立于可編程邏輯結構加電啟動。
應用軟件工程師可從一系列預配置處理器系統啟動代碼中進行選擇,滿足單處理器、非對稱多處理器 (AMP) 或對稱多處理器 (SMP) CPU 拓撲要求。這種預配置的啟動代碼作為實例啟動代碼,可就選定的拓撲采用適當的外設、驅動程序和API,滿足特定評估板的要求。這就讓軟件工程師無需依靠任何硬件或固件工程師就能啟動設計工作。
為了讓軟件應用跟上硬件設計的步伐,固件工程師可采用ISE 設計套件嵌入式版本的新功能:處理器配置工具 (PCT)。PCT 能以圖形化形式幫助您配置處理子系統中的系統級寄存器和外設寄存器。配置后,配合啟動代碼使用的 PCT 輸出配置文件可創建定制啟動環境。隨后即可用 SDK 編譯和調試開發板支持包。
硬件設計流程類似于 ISE 設計套件中的嵌入式處理器設計流程,不過可擴展處理平臺新增了一些步驟。處理子系統是一個帶有眾多通用外設的完整雙處理器系統。硬件設計人員可在可編程邏輯中為處理子系統添加更多外設,從而提高處理能力。硬件開發工具 Xilinx Platform Studio 實現了大部分一般硬件開發步驟的自動化。PCT 還能用于幫助設計人員優化器件管腳。
1 個處理系統,4 款器件
Zynq-7000系列中的 4 款產品具有完全相同的 ARM 處理系統,但是可編程邏輯資源的可擴展性有所不同, 因而適用于不同的應用。
Cortex-A9 多處理器內核(MPCore) 由2 個 CPU 組成。每個 CPU 都是一個 Cortex A9 處理器,帶有專門的 NEON 協處理器(媒體和信號處理架構,增加了面向音頻、視頻、3D 圖形、影像和語言處理的指令)和雙精度浮點單元。Cortex-A9 處理器是一款帶有 L1 高速緩存子系統的高性能低功耗 ARM 宏單元,提供了全面的虛擬存儲器功能。該處理器采用 ARMv7架構,運行 32 位 ARM 指令、16 位和 32 位 Thumb 指令以及 Jazelle 狀態 8位 Java™ 字節碼。此外,處理系統包括Snoop Control Unit、L2 緩存控制器、片上 SRAM、定時器/計數器、DMA、系統控制寄存器、器件配置和 ARM CoreSight™ 系統。就調試而言,其包含了嵌入式跟蹤緩沖器 (ETB)、指令跟蹤宏單元 (ITM) 和 ARM 提供的Cross Trigger module (CTI)。除了上述之外,它還包含了賽靈思提供的AXI Monitor (AXIM) 和 Fabric Trace (FTM) 模塊。
Zynq-7030 和 Zynq-7040 這兩個較大的器件均具備高速低功耗的串行連接功能,其內置的千兆位級收發器運行速度高達 10.3125 Gbps。這兩款產品分別提供相當約 190 萬和 350 萬個 ASIC 門(即 125,000和 235,000 個邏輯單元),DSP 峰值性能分別達 480 GMAC 和 912 GMAC。Zynq-7010 和 Zynq-7020 這兩款較小的器件分別提供約 43 萬和 130 萬個 ASIC 門(即 30,000和85,000 個邏輯單元),DSP 峰值性能分別為 58 GMAC 和 158 GMAC。
每款器件包含一個通用模數轉換器 (XADC) 接口,而該接口又包含 2 個 12 位 1 Msps ADC以及多個片上傳感器和外部模擬輸入通道。XADC比前代 Virtex® FPGA 的系統監控器具有增強型功能。兩個 12 位 ADC 支持的采樣率高達每秒 100 萬次,而且能對多達 17 個外部輸入模擬通道進行采樣。ADC 支持豐富的應用,能滿足這些應用在帶寬不到500 KHz條件下處理模擬信號的要求。
可編程邏輯可由用戶配置,并通過“互連”模塊連接在一起,從而可提供用戶定義的任意功能,以擴展處理器系統的性能和功能。一系列互連模塊相互配合,可根據應用需求在邏輯模塊間路由信號。賽靈思可編程邏輯軟件工具可將 RTL 應用編譯到位文件中,然后將該文件載入可編程邏輯中用以配置可編程邏輯的功能。應用可以載入單個靜態可編程邏輯配置也可以根據應用需要動態選擇配置。我們也可以通過部分重配置功能對可編程邏輯的選定區域進行配置。
器件兩個區域的互連操作對用戶而言大部分都是透明的。主/從設備之間的存取根據地址范圍通過 AXI 互連機制路由,也就是說,每個從設備要分配一個地址范圍。多個主設備可同時訪問多個從設備,每個 AXI 互連機制采用兩級仲裁方案來解決沖突。
處理系統與可編程邏輯緊密集成,內部互連達 3000 多個,帶寬相當于約100Gb,為系統架構師提供了一款具有高帶寬和低延遲接口的處理平臺,從而為高強度計算應用帶來了前所未有的軟硬件分區優化。舉例來說,工業市場需要小型化靈活分區、高性能低成本生態系統支持來實現工業控制系統的成功開發與實施。基于雙 Cortex-A9 MPCore 的處理系統配合可編程邏輯的并行處理能力為目前的工廠自動化和視覺系統帶來了確定性性能所必需的計算能力。在汽車市場領域,防撞系統的圖形處理和識別技術需要能在確保低系統功耗與成本、高集成度的基礎上實現大幅 DSP 加速的單芯片平臺?;陔p Cortex-A9 MPCore 的處理系統配合可編程邏輯的強大并行處理能力可為圖形處理和高級分析功能提供其所需的計算能力,從而滿足汽車及其他市場對智能系統的需求。
總結
ARM 雙核 Cortex-A9 MPCore 處理器和賽靈思 28nm 可編程邏輯的緊密集成,為高端嵌入式系統提供了強大的串行和并行處理能力。利用軟/硬件設計與實現的統一設計流程,嵌入式設計團隊能在他們熟悉的設計環境中開展工作,從而實現工作效率的最大化。不過,Zynq-7000 可擴展處理平臺系列的最大優勢還在于客戶能以較低的總擁有成本構建定制解決方案,滿足其獨特的需求并實現產品差異化。