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