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