駱傳慧
基于參數(shù)化IP核的信號處理器設計
駱傳慧
本文介紹的參數(shù)化IP核設計方法,將基于高密度FPGA芯片的IP核設計技術,應用到雷達信號處理電路設計中,提高了設計重用率及可靠性,縮短了設計周期,降低了設計成本。文中著重介紹參數(shù)化IP核設計方法及其在雷達信號處理系統(tǒng)實現(xiàn)中的應用。
日益復雜的雷達技術,要求信號處理所承擔的任務越來越多;數(shù)據(jù)率的提高、作用范圍的加大,要求信號處理運算量越來越大;越來越短的研制周期,要求改進設計方法,提高工作效率。對于雷達信號處理系統(tǒng)來說,數(shù)據(jù)處理器基本上是由一個個功能塊構成,這些功能塊基本相互獨立,或串、或并,構成整個系統(tǒng)。而對于不同的雷達系統(tǒng),除有一部分特殊功能外,很大一部分處理功能與其他系統(tǒng)差別不大,如果每種雷達信號處理系統(tǒng)電路設計都從基礎的邏輯電路設計開始,這樣會耗費設計人員大量的時間和精力,并且要求設計師具有豐富的電路設計知識。
FPGA 器件以其高性能、高靈活性、友好的開發(fā)環(huán)境和在線可編程的功能,成為雷達信號處理電路設計實現(xiàn)的重要手段。集成了FPGA架構、硬核CPU及其他硬核IP的FPGA芯片出現(xiàn),使得多種功能可以在一個芯片內(nèi)實現(xiàn),整個信號處理系統(tǒng)主要功能用幾片甚至一片F(xiàn)PGA來完成。當前新興的基于IP核(Intellectual Property)的 SOC (System On a Chip)技術,設計者可以重復使用已經(jīng)設計并經(jīng)過驗證的IP核,提高設計的效率和可靠性,降低成本。
雷達信號處理電路參數(shù)化IP核設計技術,就是將IP核設計技術應用到雷達信號處理電路設計中,將雷達信號處理系統(tǒng)常用的處理功能電路設計成IP核,建立自己的雷達信號處理IP核庫。
在進行新的雷達系統(tǒng)電路設計時,其通用功能電路設計,可以從IP核庫中尋找合適的功能模塊,按自己需要設置模塊參數(shù),再將這些模塊按系統(tǒng)要求連接,適當調(diào)整模塊間的時序關系,就可以完成。
雷達信號處理電路參數(shù)化IP核設計宗旨是使用方便,邏輯實現(xiàn)最優(yōu),資源占用最少。設計過程中需要解決的最重要問題是模塊通用性,即使處理模塊能適應雷達系統(tǒng)指標變化。
對雷達信號處理系統(tǒng)來說,有些指標在各個系統(tǒng)之間存在差異,而在同一系統(tǒng)中一旦確定就不會發(fā)生改變,如數(shù)據(jù)率、數(shù)據(jù)寬度等。另有一些指標隨雷達系統(tǒng)工作模式變化而變化,如濾波器點數(shù)、濾波器種類等。在進行IP核設計時,可以分別處理,將系統(tǒng)間變化的指標設計成參數(shù),每個系統(tǒng)根據(jù)要求設置;將工作時會發(fā)生變化的指標設計成端口,通過系統(tǒng)控制信號控制選擇。
常用的IP核多采用硬件設計語言實現(xiàn)編碼。其中VHDL語言將一項設計分成實體說明(包括參數(shù)和端口)和構造體(具體構造和操作)兩部分,參數(shù)和端口可以通過映射的方式由上層向下層傳遞。在對一個設計實體定義了外部界面后, 一旦其內(nèi)部開發(fā)完成后,其他的設計就可以直接調(diào)用這個實體。
目前主流FPGA芯片為Altera、Xilinx公司產(chǎn)品,芯片資源各有特色。在進行IP核設計中,應該研究不同F(xiàn)PGA芯片器件內(nèi)部資源結構,充分發(fā)揮它們的優(yōu)勢,達到對芯片資源的最佳利用。如嵌入RAM和內(nèi)嵌專用數(shù)字信號處理(DSP)模塊,可以實現(xiàn)對數(shù)據(jù)的高速存儲和運算。
在一個芯片中實現(xiàn)多個功能時,各種功能對資源占用可能出現(xiàn)一種資源嚴重不足,另一種資源富余很多的情況。為解決這種問題,在進行IP核設計時,同一種邏輯可以用不同資源來實現(xiàn),如數(shù)據(jù)延遲線可以用RAM資源,也可以用觸發(fā)器資源實現(xiàn)。這樣在做系統(tǒng)集成時,可以根據(jù)芯片資源利用情況,選用相應的模塊種類。
成功的IP核,必須具備良好的靈活性和易用性,離不開算法和架構設計,先進的開發(fā)工具,科學的設計流程,符合標準的接口方式,嚴格的測試驗證手段,完善的文檔。
參數(shù)化IP設計流程:制定設計規(guī)范→確定IP核設計方案→IP核實現(xiàn)→IP核功能驗證→編寫IP核說明。
設計規(guī)范解決IP核設計的一致性。雷達信號處理IP核設計是一項由多人協(xié)同完成任務,因此保證設計、接口關系的一致性非常重要。在開展設計工作之前,必須確定設計中使用的EDA工具、設計語言種類、端口和參數(shù)的命名約定以及編程風格,這樣才能保證每個人的設計能夠方便被集成及使用。
IP核方案設計對IP核設計起關鍵性的作用,主要解決IP核的通用性和實用性。在具體設計之前,先用其他手段(如Matlab)對IP核功能進行驗證,確定其數(shù)學模型的正確性。不同系統(tǒng)對IP核功能需求可能會有細小的差別,為使設計既具有良好的通用性又不過于煩雜,設計中綜合考慮各種需求,確定出哪些可以在IP核內(nèi)部設計中實現(xiàn),哪些可以在外部附加很少的邏輯實現(xiàn)。為了使設計具有良好的適用性,又不會占用過多的資源,需要分析IP核的各項參數(shù),確定出合理的調(diào)整范圍。方案中還要考慮,既保證IP核的接口簡單,又能滿足系統(tǒng)需求的變化,確定哪些指標可更改,可以更改的部分是參數(shù)形式還是以端口的形式出現(xiàn)。在詳細分析RTL描述語句綜合結果后,確定IP核的處理步驟、處理流程或框圖、程序結構。對于復雜的IP核,方案中需要對設計任務進行分割,劃分出子模塊,由不同的設計師完成。
IP核實現(xiàn)即IP核編碼,設計中應該使程序盡量簡潔;為提高程序的可讀性,端口、關鍵語句必須加注釋;為提高編程效率,編制子程序或者函數(shù)完成一些重復執(zhí)行運算,建立通用函數(shù)和子程序庫,在不同主程序中重復調(diào)用;為充分利用芯片內(nèi)部資源,在分析RTL描述語句邏輯綜合時對芯片資源占用情況后,同一種功能可以編制不同的源程序。對那些需要大規(guī)模存儲器的地方,可以采用FPGA與外加存儲器協(xié)同工作的方式。
IP核功能驗證是檢驗IP核設計正確性、消除設計和編碼錯誤,分為軟件驗證和硬件驗證兩種。軟件驗證利用EDA工具對IP核設計進行仿真,軟件仿真又分為功能仿真和時序仿真。在編程階段進行的功能仿真,驗證IP核功能是否能夠正確實現(xiàn);時序仿真在邏輯綜合和布局布線之后進行,驗證IP核時序配合的正確性以及在一定的約束條件情況下可達到最大運算速度。硬件驗證將IP核參數(shù)設置一定的值,控制端口按一定的方式連接,數(shù)據(jù)端口輸入特定的數(shù)據(jù),編譯后下載到FPGA芯片中通過調(diào)試工具或儀器、儀表實際測試。一些復雜的驗證數(shù)據(jù),需要編制輔助軟件來產(chǎn)生。軟件驗證做的越全面,硬件測試越簡單。
成功的IP核設計,用戶應該能夠快速掌握正確使用方法。對于使用者來說,不需要關心IP核內(nèi)部程序,只需要了解外部端口的連接方法和參數(shù)的設置方法,因此使用說明書的編寫非常重要。使用說明書,除說明IP核功能、適用范圍外,需要詳細說明IP核每一種參數(shù)用途、設置方法、設置范圍;每一個端口用途、接法。處理器的處理延遲和運算速度是電路設計非常重要的指標,硬件語言編寫的程序只有經(jīng)過編譯以后才能得到結果,而同一種IP核,用在不同的芯片中或設置不同的參數(shù)或處于不同的工作模式下,所能達到最大運算速度有所不同,因此只能給出一定條件下IP核的處理延遲及關鍵路徑時序特性,供用戶參考。出于同樣的原因,給出一定條件情況下IP核對芯片資源的占用情況。為了讓用戶方便、快捷驗證處理器的工作情況,在使用說明書中列出IP核的驗證方法、驗證數(shù)據(jù)產(chǎn)生方法及驗證結果。
當一個雷達信號處理系統(tǒng)方案確定后,系統(tǒng)構成、系統(tǒng)指標、系統(tǒng)硬件資源也就確定了。設計師首先查找IP庫,尋找能夠完成系統(tǒng)通用功能的IP核。第二步,根據(jù)系統(tǒng)硬件資源和選用的IP核對芯片資源的占用情況估算,選擇合適的IP核種類。第三步,參照使用說明,根據(jù)系統(tǒng)指標確定各個IP核參數(shù)具體設置、端口中選擇信號的連接方式。第四步,按系統(tǒng)要求連接各個IP核及使用外部資源,組合系統(tǒng)特殊功能電路模塊,調(diào)整各個功能塊之間的時序關系,使并聯(lián)功能模塊的處理數(shù)據(jù)延遲保持一致。
當FPGA芯片內(nèi)部電路設計完畢,經(jīng)過編譯,分析出關鍵路徑的時序性能,看其是否能夠滿足系統(tǒng)指標要求;經(jīng)過仿真、靜態(tài)時序分析、測試等驗證手段,完成系統(tǒng)電路設計和調(diào)試。
通過前期已經(jīng)設計出濾波器、脈沖壓縮器、恒虛警處理器等多個品種IP核,并成功地應用到新產(chǎn)品設計中,實踐證明,利用高密度、高速FPGA芯片和EDA工具,開發(fā)雷達信號處理電路設計參數(shù)化IP核,能夠有效地縮短設計周期、降低設計成本、提高電路設計效率,同時能夠提高信號處理系統(tǒng)的性能和可靠性。在市場化的今天,開展這項工作具有非常重要的意義。
DOI:10.3969/j.issn.1001-8972.2016.06.008