張偉棟,李 濤
一種基于FPGA的高集成度技術研究設計
張偉棟1,李濤2
(1.中國航空計算技術研究所,陜西西安710065;2.中航飛機西安分公司,陜西西安710089)
綜合核心處理機作為新綜合化航空電子系統的核心,在航電系統中占有極重要的地位。綜合核心處理機執行主要的航電處理任務,需要具有強大的處理能力,同時受到空間的限制,必須具有十分小的體積,于是對綜合核心處理機提出了高性能和高集成度的要求。SoC技術是實現高集成度技術的關鍵,FPGA技術也可以實現高集成度技術。介紹了一種使用FPGA實現高集成度技術的方法。比較了SoC技術和FPGA技術,分析了各自的優缺點,結果表明,使用FPGA所需功能都可實現,而且簡化了硬件設計。
片上系統;可編程門陣列;專用芯片;高集成度
隨著計算機技術、通信技術、存儲技術及液晶顯示技術的飛速發展與日益密切結合,航空信息化時代的到來以及網絡中心戰技術的迅速發展,需要處理的數據量和信息量急劇增長,對航空電子系統的設備性能、計算能力、綜合程度、可靠性等提出了更高的要求和新的挑戰,同時態勢估計、預警、戰場指揮等作戰任務越來越需要高性能航空電子系統的支持,飛機對航空電子系統的依賴性越來越大,航空電子系統已經成為提高軍用飛機性能最主要、最有效的手段之一[1]。
在綜合航電系統中,綜合核心處理機具有至關重要的作用,它居于系統的核心位置,是整個綜合航電的“大腦”和“神經中樞”。綜合化航電和高度綜合化航電中都有綜合核心處理機,它是一個實時的容錯的分布式機群,具有數據、信號、圖形圖像等處理能力,能夠對雷達、CNI(通信/導航/識別)、EW(電子戰)、EO(電子光學系統)、顯示控制、任務管理、武器管理、人機接口等多種典型航電任務進行綜合處理[2]。
綜合核心處理機執行主要的航電處理任務,具有強大的處理能力,同時受到飛機空間的限制,必須具有十分小的體積,于是對綜合核心處理機提出高性能要求的同時,還要求具有高集成度技術。
微電子技術的飛速發展帶動數字系統向著高速度、大容量、小體積的集成化方向發展,SoC(System on Chip)電路設計技術是實現系統集成化的重要方式,FP GA(Field Programmable Gate Array)也可以實現高集成度。
通用處理單元在綜合核心處理機中占據重要地位,結構相似程度高的功能模塊都是由通用處理單元加專用功能單元實現的,整個系統的性能和體積很大程度上體現在通用處理單元上。因此在通用處理單元上實現高集成度技術是很有必要的。其基本功能和要求是:通用處理單元為模塊提供高性能的處理能力、存儲功能(包括主存、Flash和NvRAM存儲)、FC通信功能、PCI擴展功能、調試接口功能(包括以太網口和串口)、定時器功能、看門狗功能、實時時鐘功能、DMA控制器功能、及中斷控制器功能和GPIO功能。
通過提供標準PCI總線,可擴展專用的圖形處理功能、大容量存儲器功能等;通過FC接口,能夠實現與外部的數據通信。同時要求盡量減小通用處理單元的體積,提高系統集成度。
SoC技術和FPGA技術都是提高系統集成度的方式,但是二者的設計技術和實現方式有所不同,使用的范圍也不同,本文對兩種方式進行分析比較。
集成電路發展的大趨勢是高速、高集成度和低功耗的系統集成。SoC就是當今半導體微細加工工藝精度不斷提高、IC集成度以驚人速度發展的最新成果。它通常是客戶定制的,或是面向特定用途的標準產品。SoC的技術就是從“集成電路”級設計到“集成系統”級設計轉變的結果,其設計是從整體系統性能出發,把微處理器、模型算法、外圍器件乃至器件的設計緊密結合起來,并通過系統軟件和硬件的協同設計,在單個芯片上完成整個系統的功能[3]。SoC具有以下幾方面的優勢:(1)降低耗電量:SoC產品多采用內部信號的傳輸,系統的功耗、體積與電磁干擾將大幅降低,同時整個系統的抗干擾特性得到提高;(2)減少體積:數顆IC整合為一顆SoC后,可有效縮小電路板的面積,達到重量輕、體積小的特色;(3)豐富系統功能:在相同的內部空間內,SoC可整合更多的功能元件和組件,豐富系統功能,同時提高系統的可靠性;(4)提高速度:隨著芯片內部信號傳遞距離的縮短,信號的傳輸效率將提升,使產品性能有所提高;(5)節省成本。
FPGA是一種可編程陣列邏輯電路器件。一般的FPGA采用基于SRAM的查找表邏輯形成結構,就是用SRAM來構成邏輯函數發生器,這種結構每次系統上電時需要加載編程數據。FPGA設計最終是產生出所需功能電路的編程數據。在完成一個項目的設計規范制訂和總體方案設計工作后,采用FPGA設計實現方式一般采用以下流程:(1)設計輸入:利用電路圖或硬件描述語言等工具完成設計電路的輸入;(2)功能驗證:通過對設計電路的功能仿真,證明輸入電路的功能達到確定目標;(3)設計綜合:將用高級語言描述的電路轉換成低級的、基于設計庫的基本結構相映射的網表文件或程序;(4)門級仿真:包含門延時信息的仿真。仿真就是讓計算機根據一定的算法和一定的仿真庫對設計進行模擬,以驗證設計,排除錯誤;(5)布局布線:將由設計綜合產生的網表文件配置于指定的目標器件中;(6)后仿真:布局布線后提取出的元件和走線延時信息加載到設計電路所進行的仿真;(7)產生用于編程的下載文件,編程下載和硬件測試[4]。
SoC與FPGA技術有兩大相同之處:(1)都可以提高系統的集成度,把各種控制器和一些小的資源(如定時器等)在一片芯片中實現,節省板上面積;(2)設計時工作量都很大,雖然有可復用的IP核,但某些特定功能的接口是沒有IP核的,如處理器接口等,用戶需要實現接口邏輯,調整系統的時序使性能能夠滿足系統要求。
SoC與FPGA技術的不同之處:(1)SoC的一次性工程費用很高,因此適合于大量使用SoC的系統中,在少量使用的情況下,成本很高,而FPGA沒有這個問題。(2)修改功能時,SoC技術修改一次功能的代價很高,需要重新流片,而FPGA修改功能后,只需要重新下載文件即可。
處理器加橋接器是一種通用ASIC技術設計方法,橋接器中集成了多種控制器以及一些內部資源,處理器通過橋接器訪問主存、Flash以及一些內部資源,橋接器可通過PCI接口擴展功能。因高性能處理器選擇的是PowerPC7447A,所以選擇的橋接器要求能夠支持Power-PC7447A,整個系統的性能關鍵在于橋接器的選擇。
處理器加FPGA也是一種設計方式,在FPGA內部實現各種接口,實現橋接器的功能,處理器通過FPGA訪問主存、Flash以及一些內部資源,FPGA內部實現PCI接口可擴展功能,FC接口也集成在FPGA內部。所以系統的性能在于FPGA內部邏輯的設計。
雖然通用ASIC技術的方式設計相對簡單,而且性能可以滿足要求,但是這種方式集成度不高,FC接口需要另外的芯片實現,大量的硬件在一塊印制板上布局是不現實的。
而FPGA實現方式的集成度高,包括FC接口等各種控制邏輯在FPGA內部實現,硬件資源比通用ASIC技術的方式少,性能可以滿足系統的要求,而且增減功能方便,設計靈活,因此通用處理單元適合用FPGA實現方式。
FPGA實現方式中有串口和以太網接口作為調試接口;有PCI接口作為擴展接口,可擴展圖形處理、大容量等功能;FC接口作為通信接口,與其他模塊進行通信;PPC7447A作為主處理器,進行高性能計算;DDR作為主存;FPGA內集成各種控制器以及一些內部資源,如定時器、看門狗等。FPGA實現方式的功能框圖如圖1所示。

圖1 處理器加FPGA的功能框圖
在FPGA內實現的各個接口功能和目的如下:
(1)處理器接口:處理器接口為通用處理單元提供處理器資源,處理器主頻為1 000 MHz,數據總線寬度為64 bit,支持60X總線模式,支持單一傳輸、突發傳輸、流水線傳輸以及Cache一致性。目前FPGA生產公司并沒有提供外部處理器接口,需要用戶自己編寫邏輯。
(2)DDR存儲器接口:為通用處理單元提供DDR SDRAM資源,為處理器接口、其他I/O接口以及一些內部處理單元(DMA控制器、以太網接口等)提供存儲功能。DDR控制器支持直接連接DDR SDRAM,數據位寬為64 bit,時鐘為100 MHz,支持DDR SDRAM的容量至少為512 MB。
(3)擴展存儲器接口:為通用處理單元提供4個存儲器BANK資源,每個BANK容量為64 MB,數據寬度為32 bit。Flash、NvRAM直接接在擴展存儲器接口上,Flash又分為BOOT Flash和應用Flash,BOOT Flash存放上電程序,應用Flash為用戶所用;NvRAM存放掉電時的重要數據。
(4)PCI總線接口:對外提供1路PCI總線接口,通過PCI總線接口,能夠擴展標準的圖形處理、大容量存儲器等功能。PCI總線接口數據寬度為32 bit,工作頻率為33 MHz,完全符合PCI Local Bus Specification Revision 2.2;支持存儲器讀寫、I/O讀寫、配置空間讀寫三種讀寫方式;支持MASTER、TARGET工作方式,具有仲裁器功能。
(5)FC接口:對外提供1路FC接口,傳輸速率為1 Gb/s,可支持N端口工作方式。為了確保FC接口通信效率,在FC接口中要集成專用的DMA控制器、外部存儲器接口,除此之外,還在FC端口中集成2路UART接口,用以支持FC底層協議軟件的調試。
(6)以太網接口:為通用處理單元提供軟件調試接口,傳輸速率為10/100 Mb/s。
(7)FPGA內部資源:定時器不少于3個,用于定時計數,一個提供給系統,兩個留給用戶;實時時鐘1個,支持年月日時分秒及1/10秒計時功能,CPU可以訪問實時時鐘;可編程中斷器,支持多中斷、多級優先級,所有的可屏蔽中斷輸入都需要接在中斷控制器上,可為每個中斷設定優先級;提供看門狗功能,保證處理器處于正常工作狀態;DMA控制器不少于3路,使通信效率有大幅度的提高,降低CPU的負擔;串口2路,最大波特率為115 200 b/s,用于調試功能;GPIO接口,用于離散量的輸入輸出。
(8)電壓轉換單元:由于模塊有多種電壓,需要有電壓轉化電路把輸入的電壓轉化成所需要的電壓。
在所有接口資源中,只有處理器接口和FC接口需要用戶自己編寫邏輯,其他都有IP核,可根據自己需要的功能設置相關參數。
設計中FPGA相當于橋接器加FC接口的功能,內部邏輯是固化的,不需要擔心因為下電而使邏輯丟失,這種方式是可行的。
本文使用該方法設計實現了通用處理單元,所需要的功能全部可以實現,對于FPGA的設計方式,其性能的提高在于FPGA內部邏輯的優化,目前情況下該方案走通了原理,還沒有對性能進行優化,所以在這里沒有給出關于性能的數據。
處理器加FPGA實現方式中,FPGA內實現各種控制邏輯,包括對CPU、存儲器等的控制,一些內部資源(如定時器、看門狗等)也在FPGA內部實現。
使用FPGA的優點如下:(1)FPGA設計靈活,用戶可實現指定的功能,以后可增刪功能,而且設計方便進行修改更新,產品具有一定的靈活性,多個控制器(如DDR SDRAM、Flash等控制器)都有IP核,一些內部資源(如定時器、看門狗等)也有IP核。(2)FPGA芯片設計流程的主要工作是電路設計和前后仿真驗證,而綜合和布局布線等工作主要依靠計算機完成且占用時間很少,設計完成后可直接進行數據下載及硬件調試,因此研發周期短。(3)FPGA內部集成各種功能,簡化了系統設計,各個IP核的靈活配置選項可讓系統開發過程更加快速、高效,各種功能集成在FPGA中,降低了系統的成本。用戶其他的控制器邏輯可與IP核在同一片FPGA內實現,節省板子的面積,尤其是在面積比較緊張的板子上更為重要,調試過程中,FPGA都有相應的軟件,這些軟件可更好地幫助用戶完成調試。
使用FPGA的缺點:用戶的工作量較大;要提高系統的性能,需要合理利用FPGA內部資源,所以要用戶熟悉利用FPGA提高系統性能的方法,而且要熟悉FPGA相應軟件。
在嵌入式系統中,性能要求越來越高,體積要求越來越小,因此實現高集成度技術很有必要。本文比較了SoC技術和FPGA技術實現高集成度的方法,最后選用FPGA技術實現了通用處理單元的高集成度技術,并分析了其優缺點。結果表明,使用FPGA可實現高集成度,該方法值得推廣。
[1]何志強.綜合化航空電子系統發展歷程及重要支撐技術[J].電訊技術,2004(4):1-5.
[2]袁曉晗.航空電子綜合核心處理技術研究[J].航空電子技術,2004(3):6-10.
[3]孟李林.FPGA和ASIC設計特點及應用探討[J].半導體技術,2006(7):526-529.
[4]于宗光,魏敬和,王國章.SoC和FPGA技術未來的發展趨勢[J].電子與封裝,2006(3):1-5.
The research and design of high-integration method based on FPGA
Zhang Weidong1,Li Tao2
(1.Aeronautic Computing Technique Research Institute,Xi′an 710065,China;2.Aeronautic Airplane Xi′an Subcompany,Xi′an 710089,China)
Being the core of next-generation integrated avionic system,integrated core processor(ICP)plays an important role in avionics.ICP performs primary tasks in avionic system,and needs high performance.At the same time,due to limit of the space,ICP must have small cubage.So high-performance and high-integration requirements are proposed to ICP.The SoC technique is key technique of implementing the high-integration technique,and the high-integration technique can be implemented by the FPGA technique.The paper introduces a method of implementing high-integration by FPGA,compares the SoC technology and FPGA technology,and analyzes advantages and disadvantages.Finally FPGA is used to realize high integration technology of general processing unit.The result indicates that all functions are implemented by FPGA technique,and this method makes hardware design easy.
SoC;FPGA;ASIC;high-integration
TP336
A
1674-7720(2015)04-0011-03
(2014-10-27)
張偉棟(1984-),男,碩士研究生,工程師,主要研究方向:數據處理技術。