數字外圍器件可以被定義為一塊電路,將信號從外部(相對于處理器而言)脈沖源轉換為一種可由處理器進行存取的形式。這種外部脈沖源有可能只是一個機械開關,也可能很復雜,比如一個運行高級通信協議的高速數據鏈路。 不管外部信號的形式如何,數據都必須以處理器能夠接受的形式來提供。這可以通過一個簡單的系統地址/數據總線接口來實現,也可以根據目標系統的所需數據帶寬通過某些具有較高速度(或者是專用)的數據鏈路來實現。 現場可編程門陣列(FPGA)具有大量的邏輯電路、存儲器和布線資源,已經被應用于ASIC原型設計和高端系統開發。此類器件包括多達80000個邏輯元件和容量達數Mbit的片上RAM。這些器件通常包含由可購置的知識產權(IP)內核以及用戶定制邏輯器件所構成的復雜功能,旨在實現高速數據通路和數據處理功能。 在較為簡單的系統里,FPGA常常被用作一種執行連接邏輯和系統控制功能等較為簡單的邏輯功能的工具,為實現電路板上其他功能的集成提供幫助。這些器件具有較少的邏輯和存儲器資源,而且總體性能較低。然而,對于某些目標應用來說,它們在成本方面比高性能器件具有優勢,而且提供的性能也足以滿足要求。如今,想找到一個包含了您的系統所需要的各種外圍器件的嵌入式處理器并非難事。因此,是否還需要采用定制的外圍器件或接口?處理器未必是您所選擇的架構,工作性能也有可能并不符合您的要求,而且在許多場合還存在一些典型的嵌入式處理器無法在片上實現的功能。如果采用的是一個外部外圍器件,則它有可能與采用舊式技術的處理器不兼容,而為了編寫老式軟件,這種處理器又是必須采用的。 一個處理器如果擁有多款變種就會帶來一個問題:即每款變種都需要進行其獨特的掩模組和測試程序的開發。然而,掩模組的制造成本正變得越來越貴,這將使處理器變種型號減少,原因是嵌入式處理器制造商出于降低成本的考慮而努力使其產品庫的配置更加合理。 高端和低成本FPGA具有專門針對某種特定類型的器件以及特定用途的獨特功能組合。當然,由于FPGA是可編程的,而且具有巨大的靈活性,因此對于任何特定的系統而言并不存在"恰好對應"的終端市場。由于存儲器要求的緣故,在小型系統中有可能需要采用高端FPGA,而在高性能系統中可能需要使用低成本的器件。如AlteraStratix系列等高端器件通過采用鎖相環(PLL)而把邏輯器件與大量的片上SRAM、專用數字信號處理器(DSP)功能塊、眾多的高帶寬I/O標準以及板載時鐘發生電路組合在了一起。 在對從一個復雜的外圍器件傳送至外部接口的數據進行緩沖處理這一方面,片上SRAM特別有用,這樣一來從FPGA至處理器的數據傳輸就可以與一個外部信號源接收數據的操作異步進行。當采用高速外圍器件(尤其是那些運行通信協議的外圍器件)時,對于確保帶寬要求是最為重要的。 Stratix數字信號處理器件將乘法器和加法器集成在了一起,旨在對信號處理算法的執行提供幫助。在FPGA中采用這些部件可以使處理器不再承擔復雜的功能,在處理器上執行這些復雜功能不僅效率較低,而且還有可能降低最終的系統性能。這種運用協同處理器的做法還能夠使用SRAM,方法是采用共享數據存儲器在異步運行的處理器和信號處理功能元件之間傳遞數據。 StratixFPGA提供了種類眾多的高性能I/O標準,能夠以很高的數據速率在FPGA與數據源之間或FPGA與支持一種兼容型接口標準的嵌入式處理器之間進行數據傳送。有多款處理器提供了板載Hypertransport和/或 RapidIO接口,這些接口能夠通過采用外圍FPGA中的一個匹配IP內核的方法來傳送數據,這兩種接口均可以作為一個來自Altera或其AMPP伙伴公司之一的全參數化IP內核來使用。這便是在嵌入式處理器與外圍FPGA之間實現高速數據傳送的可行方法。 鎖相環的運用使采用不同內部時鐘的FPGA能夠正常操作,因此,處理器接口與FPGA中實現的外圍器件可以具有不同的運行速度,同樣,也可以采用共享SRAM來實現時鐘域之間的速率匹配和同步。 對于要求較低成本的系統,一款來自AlteraCyclone系列的器件可提供中等數量的邏輯資源和存儲器、PLL以及一組數量有所減少的I/O標準。這種類型的器件系列是專為實現全面的低成本而設計的,為此犧牲了某些高端功能。低成本器件密度較低,因而更加適合于實現那些采用系統地址總線法來與處理器相連的外圍器件,或者那些有可能采用如SPI或I2C等被大多數嵌入式處理器用作片上外圍器件的串行接口的低帶寬外圍器件。 最后,對于FPGA而言有一些專用器件,比如那些具有內置高速收發器、適合于在高達3.125GHz的頻率條件下工作的器件。這些器件可提供非常高的數據帶寬,主要用于FPGA結構內部的復雜通信系統。此類器件將支持系統內部的RapidIO和/或Hypertransport接口的較高數據速率。嵌入式處理器很有可能就位于這種高帶寬數據流的數據通路之中,但是,它希望利用一個性能較低的FPGA/處理器標準來進行連接,在這種場合,FPGA負責執行輸入數據的監控功能, 以便進行統計信息的收集或故障監控。 SOPCBuilder(AlteraQuartusII設計軟件的一部分)等高級設計工具方便了IP內核與定制邏輯器件的輕松集成。這通過一個簡單(系統地址總線)、復雜(諸如PCI等基于IP內核的總線)或專有接口把以硬件方式實現的外圍器件(FPGA)與系統中的嵌入式處理器直接相連。 從系統設計的角度來看,采用標準接口的主要目的之一就是使外圍器件對系統軟件而言是透明的。如果采用的是系統總線法,則FPGA將被作為其他的存儲變換外圍器件來處理,絲毫不受FPGA內容的影響。事實上,FPGA內部的外圍器件甚至可以在不對系統軟件做任何改動的情況下進行全面的重新設計。即使在PCI等總線用作接口的場合(嵌入式處理器具有一個內置PCI橋接器),處理器的程序設計模型與PCI總線的傳統使用方式相比并沒有什么差異。 FPGA還可以從本質上對系統設計進行預檢驗。隨著嵌入式處理器的不斷更新換代,分立式外圍器件不一定遵循相同的接口或標準發展趨勢。借助在FPGA中實現外圍器件的方法,外圍器件便可以很容易地轉至較新的架構(通常只需進行極少的設計工作),從而使外圍器件的性能能夠跟上嵌入式處理器的發展。還可以根據用戶的需要對外圍器件進行精確的客戶化設計,而不必采取折衷方案。 由上可見,盡管FPGA通常被用作系統級功能部件(在高端)和連接邏輯電路(在低端),但是,將其用作嵌入式處理器的伴隨芯片還能夠獲得更多的價值。FPGA可提供用于滿足各種性能/價格需求的眾多解決方案,而且,利用板載存儲器、通用I/O標準以及時鐘電路,它還能夠在許多場合提供分立型、"現貨供應"外圍器件所不具備的優點。憑借高端(Stratix)、低成本(Cyclone)和基于收發器的器件(Stratix GX)系列,Altera公司擁有了用于滿足各類外圍器件擴展需求的品種齊全的器件產品庫。除此之外,僅Altera公司自己就能夠提供超過50種IP內核,再加上如SOPCBuilder等高級系統設計工具,FPGA將在基于嵌入式存儲器的系統中的外圍器件實現方面起到越來越大的作用。 |