DSP設(shè)計流程
傳統(tǒng)上,DSP設(shè)計被分為兩種類型的工作:系統(tǒng)/算法的開發(fā)和軟/硬件的實現(xiàn)。這兩類工作是由完全不同的兩組工程師完成,通常這兩個組在各自的接口之間被相對分開。算法開發(fā)者在不考慮系統(tǒng)的結(jié)構(gòu)或軟/硬件實現(xiàn)細節(jié)的情況下使用數(shù)學分析工具來創(chuàng)建、分析和提煉所需要的DSP算法;系統(tǒng)設(shè)計者則主要考慮功能的定義和結(jié)構(gòu)的設(shè)計,并保持與產(chǎn)品說明及接口標準相一致。軟/硬件設(shè)計組采用系統(tǒng)工程師和算法開發(fā)人員所建立的規(guī)范進而完成DSP設(shè)計的物理實現(xiàn)。
一般來講,細則規(guī)范可劃分成很多小的模塊,每個小模塊分配給各個成員,他們必須首先理解屬于自己的模塊的功能。
如果DSP算法的目標是FPGA、結(jié)構(gòu)化ASIC或SoC,那么首要任務(wù)就是用Verilog或VHDL等硬件描述語言來建立一個RTL模型。這就需要實現(xiàn)工程師了解通信理論和信號處理以便明白系統(tǒng)工程師提出的細則規(guī)范。建立一個RTL模型和仿真測試平臺常常需要花費一至兩個月的時間,這主要是因為需要人工驗證RTL文件和MATLAB模型的準確匹配。RTL模型仿真環(huán)境一經(jīng)建立,實現(xiàn)工程師就要同系統(tǒng)工程師和算法開發(fā)人員進行交流,共同分析DSP系統(tǒng)硬件實現(xiàn)的性能、范圍和功能。
由于系統(tǒng)工程師在算法開發(fā)階段無法看到物理層設(shè)計,因此通常會需要修改原來的算法和系統(tǒng)結(jié)構(gòu)、更新文字性規(guī)范、修改RTL模型和測試平臺以及重新仿真,這些過程往往需要連續(xù)進行多次,直到DSP系統(tǒng)的性能要求能夠由硬件實現(xiàn)為止。接著,實現(xiàn)工程師使用邏輯綜合執(zhí)行一種標準的FPGA/ASIC自上而下的設(shè)計流程,從而將RTL模型映射到門級網(wǎng)表,并且使用物理設(shè)計工具在給定的FPGA/ASIC器件中設(shè)置布局網(wǎng)表。圖3給出了基本的片內(nèi)DSP算法的設(shè)計流程,主要由算法開發(fā)和硬件實現(xiàn)兩個相對分開的部分組成。
如上所述,只有花費很長的時間人工建立基于文字規(guī)范的RTL模型,才能避免因兩個設(shè)計域(design domains)之間缺乏聯(lián)系而造成設(shè)計開發(fā)進程的延遲,然而對這一設(shè)計工程更大的擔心是DSP算法的物理設(shè)計是基于硬件工程師對文字規(guī)范主觀的理解。
硬件工程師中缺乏DSP專家,因此常常會因為對要求功能的曲解而造成災(zāi)難性的后果。隨著DSP復(fù)雜度的增加,在人工建立RTL模型的過程中,產(chǎn)生錯誤已司空見慣。由于相同的錯誤被寫入仿真測試平臺中,因此仿真中即便出現(xiàn)多次錯誤也無法被捕捉到,只有到了原型設(shè)計階段,硬件設(shè)計錯誤才會被發(fā)現(xiàn)。
改進方法
FPGA/ASIC設(shè)計人員采用真正意義上的自上而下的設(shè)計方法,最重要的好處之一就是設(shè)計數(shù)據(jù)管理的改善。但是當ASIC和FPGA采用和現(xiàn)有DSP設(shè)計相同的自下而上的設(shè)計方法時,由于缺乏單一且有效的設(shè)計數(shù)據(jù)源,將會引入許多錯誤。因此,在當今的DSP設(shè)計中,各個獨立的設(shè)計部門有義務(wù)使MATLAB模型和人工創(chuàng)建的RTL模型及測試平臺保持同步??墒侨缜八?,這兩個團隊很少交流,而且通常在地理位置上也相距很遠。所以管理這些數(shù)據(jù)變得非常困難。
CoWare在其SPW工具包里提供了一種模塊同步問題的解決方案:將輔助模擬設(shè)計方法的概念引入硬件設(shè)計系統(tǒng)中,從而達到從細則規(guī)范到實現(xiàn)的轉(zhuǎn)變。在這種方法中,CoWare 建議DSP設(shè)計組使用他們具有DSP硬件模型庫的硬件設(shè)計系統(tǒng)創(chuàng)建一個可以執(zhí)行的規(guī)范,從而取代對DSP規(guī)范和算法進行詮釋的編程語言。
這種方法在消除硬件工程師開發(fā)RTL模型時造成的曲解方面很有優(yōu)勢,但是,它對確保設(shè)計數(shù)據(jù)同步方面還存在不足。由于每次修正模塊都需要人工修改可執(zhí)行規(guī)范,特別在現(xiàn)今復(fù)雜度不斷增加和產(chǎn)品上市時間越來越短的雙重壓力下,發(fā)生錯誤的可能性將會大幅增加。
真正自上而下的DSP設(shè)計方法
Accelchip公司的DSP合成工具使用VHDL或Verilog硬件描述語言能夠直接讀出MATLAB模型并自動輸出可以合成的RTL模型和仿真測試平臺。通過連接DSP的兩個設(shè)計域,給DSP設(shè)計小組在設(shè)計的人力和時間、曲解的消除、高成本的重復(fù)工作、硬件實現(xiàn)的自動驗證,以及系統(tǒng)設(shè)計人員和算法開發(fā)人員在開發(fā)的初期階段進行結(jié)構(gòu)探索時所需要的能力等方面帶來了很大的簡化。
Accelchip使硬件設(shè)計人員不需要人工創(chuàng)建RTL模型和仿真測試平臺,從而縮短了開發(fā)周期,減少了硬件實現(xiàn)所需要設(shè)計人員的數(shù)量。而且自動建立的RTL模型是目標FPGA器件的“結(jié)構(gòu)化意識”,而不是簡單的、繼承下來的RTL模型。建立RTL模型后,其高級綜合工具將創(chuàng)建一個邏輯綜合的最佳實現(xiàn),以確保所產(chǎn)生的門級網(wǎng)表具有FPGA器件的優(yōu)點。
例如,DSP算法在不同供應(yīng)商提供的FPGA器件列中實現(xiàn),其性能和范圍有很大的差異,這是因為對于不同設(shè)備來講,結(jié)構(gòu)、邏輯資源、布局資源以及布局方法都是不同的。通過“結(jié)構(gòu)化意識”,Accelchip為DSP設(shè)計小組的目標FPGA器件提供了很好的物理實現(xiàn)。同時通過提供容易使用的、自動的從MATLAB到硬件實現(xiàn)的直接路徑,使得DSP系統(tǒng)設(shè)計人員和算法開發(fā)人員能夠在設(shè)計開發(fā)初期定義他們的算法。進而算法開發(fā)人員能夠很快地將MATLAB設(shè)計轉(zhuǎn)換成綜合了性能、范圍、成本和功率優(yōu)點的目標FPGA的門級網(wǎng)表。有了來自算法物理實現(xiàn)的初期或開發(fā)周期中的反饋,就意味著設(shè)計流程后期所做的重復(fù)更少,再一次節(jié)省了寶貴的時間和人力。
結(jié)語
DSP技術(shù)的重要性日益增加,對其算法的性能要求遠遠超過了通用性DSP處理器的能力,從而促使DSP實現(xiàn)小組去尋找硬件的解決方法。FPGA給DSP實現(xiàn)提供了理想的平臺,Accelchip提供的真正的自上而下的設(shè)計方案無縫地融入了DSP的設(shè)計環(huán)境,從而確保了在轉(zhuǎn)向真正的自上而下的DSP設(shè)計方法時管理風險的最小化。
評論