DSP設計流程
ce="Verdana">引言
世界正處于高科技下一波快速增長的開端,AccelChip公司 Dan Ganousis DSP 已經成為業(yè)界公認的、將按指數(shù)增長的技術焦點。
目前,大多數(shù)DSP設計已經能在半導體生產商(如T1、ADI、Freescale等)提供的通用DSP芯片上實現(xiàn)。通用處理器的價格相對比較便宜,并且有高質量和廉價的編程工具、方便快速實現(xiàn)DSP算法的支持,但開發(fā)人員更希望在原型創(chuàng)建和調試過程中能進行重新編程。
圖1 通用DSP處理器的性能與通信領域需要的DSP處理性能的比較
速度的需要
現(xiàn)在,對電子系統(tǒng)的性能要求已經超過了通用DSP處理器的能力。圖1顯示了由寬帶網絡市場驅動的對DSP算法的性能需求與通用DSP處理器性能的差異??梢钥闯鐾ㄓ肈SP的性能容量與新的寬帶通信技術的需求之間的差距正以指數(shù)速率擴大。
傳統(tǒng)上DSP開發(fā)者可以獲得的改變通用DSP處理器性能的唯一方法就是將DSP算法注入到ASIC中,以達到加速硬件的目的。然而這種ASIC的解決方法實現(xiàn)起來非常困難,而且在ASIC上實現(xiàn)DSP算法是以犧牲可重編程的靈活性為代價的,同時還需要大量的非重復設計費用、漫長的原型初始化,以及購買大量昂貴的集成電路設計工具等。
隨著先進的FPGA架構如Xilinx Virtex-II和Altera Stratix-II的引入,DSP設計者可以獲得一種把通用DSP處理器的所有優(yōu)點與ASIC的先進性能綜合在一起的新型硬件。這些新型的FPGA架構可以優(yōu)化DSP的實現(xiàn),并能提供滿足現(xiàn)今電子系統(tǒng)所必需的處理能力。
FPGA的優(yōu)越性表現(xiàn)在它能允許DSP設計者做到“使結構適應算法”,設計者能夠根據實現(xiàn)系統(tǒng)性能的需要最大限度地使用FPGA內部的并行資源。而在通用DSP處理器中資源是固定的,因為每個處理器只包含一些數(shù)量有限的類似乘法器一樣的基本運算功能,設計者必須做到“使算法適應結構”,因而無法達到在FPGA中能夠獲得的性能。
圖2 全球DSP收入預測
半導體工業(yè)的亮點
圖2顯示了整個DSP市場和片內算法市場(由FPGA、結構化ASIC和ASIC幾部分組成)的年收入預測。其中,DSP片內算法市場今后三年內將以高于42%的年增長率增長,是整個半導體領域增長最快的部分。
現(xiàn)在DSP的設計團隊所面臨的挑戰(zhàn)和二十世紀九十年代ASIC的設計者所面臨的類似-DSP開發(fā)組如何用目標FPGA的設計方法代替通用DSP;如何去開發(fā)所需要的新的設計技巧;如何完善公司的設計流程;怎樣才能提出新的DSP算法的實現(xiàn)方法,同時又不危及當前產品的開發(fā)計劃?;蛟S更重要的是,管理者怎樣才能夠使災難性結果發(fā)生的可能性降低到最小。
AccelChip公司認為DSP的未來取決于新型設計方法的采用,而這種方法必須能使公司滿足DSP市場對上市時間、成本的苛刻要求。和ASIC、FPGA的產生一樣,對DSP變革的方式就是采用真正的、自上而下的設計流程。
圖3 傳統(tǒng)的DSP設計流程[!--empirenews.page--]
傳統(tǒng)自上而下的設計流程
傳統(tǒng)上,DSP設計被分為兩種類型的工作:系統(tǒng)/算法的開發(fā)和軟/硬件的實現(xiàn)。這兩類工作是由完全不同的兩組工程師完成,通常這兩個組在各自的接口之間被相對分開。算法開發(fā)者在不考慮系統(tǒng)的結構或軟/硬件實現(xiàn)細節(jié)的情況下使用數(shù)學分析工具來創(chuàng)建、分析和提煉所需要的DSP算法;系統(tǒng)設計者則主要考慮功能的定義和結構的設計,并保持與產品說明及接口標準相一致。軟/硬件設計組采用系統(tǒng)工程師和算法開發(fā)人員所建立的規(guī)范進而完成DSP設計的物理實現(xiàn)。
一般來講,細則規(guī)范可劃分成很多小的模塊,每個小模塊分配給各個成員,他們必須首先理解屬于自己的模塊的功能。
如果DSP算法的目標是FPGA、結構化ASIC或SoC,那么首要任務就是用Verilog或VHDL等硬件描述語言來建立一個RTL模型。這就需要實現(xiàn)工程師了解通信理論和信號處理以便明白系統(tǒng)工程師提出的細則規(guī)范。建立一個RTL模型和仿真測試平臺常常需要花費一至兩個月的時間,這主要是因為需要人工驗證RTL文件和MATLAB模型的準確匹配。RTL模型仿真環(huán)境一經建立,實現(xiàn)工程師就要同系統(tǒng)工程師和算法開發(fā)人員進行交流,共同分析DSP系統(tǒng)硬件實現(xiàn)的性能、范圍和功能。
由于系統(tǒng)工程師在算法開發(fā)階段無法看到物理層設計,因此通常會需要修改原來的算法和系統(tǒng)結構、更新文字性規(guī)范、修改RTL模型和測試平臺以及重新仿真,這些過程往往需要連續(xù)進行多次,直到DSP系統(tǒng)的性能要求能夠由硬件實現(xiàn)為止。接著,實現(xiàn)工程師使用邏輯綜合執(zhí)行一種標準的FPGA/ASIC自上而下的設計流程,從而將RTL模型映射到門級網表,并且使用物理設計工具在給定的FPGA/ASIC器件中設置布局網表。圖3給出了基本的片內DSP算法的設計流程,主要由算法開發(fā)和硬件實現(xiàn)兩個相對分開的部分組成。
如上所述,只有花費很長的時間人工建立基于文字規(guī)范的RTL模型,才能避免因兩個設計域(design domains)之間缺乏聯(lián)系而造成設計開發(fā)進程的延遲,然而對這一設計工程更大的擔心是DSP算法的物理設計是基于硬件工程師對文字規(guī)范主觀的理解。
硬件工程師中缺乏DSP專家,因此常常會因為對要求功能的曲解而造成災難性的后果。隨著DSP復雜度的增加,在人工建立RTL模型的過程中,產生錯誤已司空見慣。由于相同的錯誤被寫入仿真測試平臺中,因此仿真中即便出現(xiàn)多次錯誤也無法被捕捉到,只有到了原型設計階段,硬件設計錯誤才會被發(fā)現(xiàn)。
改進方法
FPGA/ASIC設計人員采用真正意義上的自上而下的設計方法,最重要的好處之一就是設計數(shù)據管理的改善。但是當ASIC和FPGA采用和現(xiàn)有DSP設計相同的自下而上的設計方法時,由于缺乏單一且有效的設計數(shù)據源,將會引入許多錯誤。因此,在當今的DSP設計中,各個獨立的設計部門有義務使MATLAB模型和人工創(chuàng)建的RTL模型及測試平臺保持同步。可是如前所述,這兩個團隊很少交流,而且通常在地理位置上也相距很遠。所以管理這些數(shù)據變得非常困難。
CoWare在其SPW工具包里提供了一種模塊同步問題的解決方案:將輔助模擬設計方法的概念引入硬件設計系統(tǒng)中,從而達到從細則規(guī)范到實現(xiàn)的轉變。在這種方法中,CoWare 建議DSP設計組使用他們具有DSP硬件模型庫的硬件設計系統(tǒng)創(chuàng)建一個可以執(zhí)行的規(guī)范,從而取代對DSP規(guī)范和算法進行詮釋的編程語言。
這種方法在消除硬件工程師開發(fā)RTL模型時造成的曲解方面很有優(yōu)勢,但是,它對確保設計數(shù)據同步方面還存在不足。由于每次修正模塊都需要人工修改可執(zhí)行規(guī)范,特別在現(xiàn)今復雜度不斷增加和產品上市時間越來越短的雙重壓力下,發(fā)生錯誤的可能性將會大幅增加。
真正自上而下的DSP設計方法
Accelchip公司的DSP合成工具使用VHDL或Verilog硬件描述語言能夠直接讀出MATLAB模型并自動輸出可以合成的RTL模型和仿真測試平臺。通過連接DSP的兩個設計域,給DSP設計小組在設計的人力和時間、曲解的消除、高成本的重復工作、硬件實現(xiàn)的自動驗證,以及系統(tǒng)設計人員和算法開發(fā)人員在開發(fā)的初期階段進行結構探索時所需要的能力等方面帶來了很大的簡化。
Accelchip使硬件設計人員不需要人工創(chuàng)建RTL模型和仿真測試平臺,從而縮短了開發(fā)周期,減少了硬件實現(xiàn)所需要設計人員的數(shù)量。而且自動建立的RTL模型是目標FPGA器件的“結構化意識”,而不是簡單的、繼承下來的RTL模型。建立RTL模型后,其高級綜合工具將創(chuàng)建一個邏輯綜合的最佳實現(xiàn),以確保所產生的門級網表具有FPGA器件的優(yōu)點。
例如,DSP算法在不同供應商提供的FPGA器件列中實現(xiàn),其性能和范圍有很大的差異,這是因為對于不同設備來講,結構、邏輯資源、布局資源以及布局方法都是不同的。通過“結構化意識”,Accelchip為DSP設計小組的目標FPGA器件提供了很好的物理實現(xiàn)。同時通過提供容易使用的、自動的從MATLAB到硬件實現(xiàn)的直接路徑,使得DSP系統(tǒng)設計人員和算法開發(fā)人員能夠在設計開發(fā)初期定義他們的算法。進而算法開發(fā)人員能夠很快地將MATLAB設計轉換成綜合了性能、范圍、成本和功率優(yōu)點的目標FPGA的門級網表。有了來自算法物理實現(xiàn)的初期或開發(fā)周期中的反饋,就意味著設計流程后期所做的重復更少,再一次節(jié)省了寶貴的時間和人力。
結語
DSP技術的重要性日益增加,對其算法的性能要求遠遠超過了通用性DSP處理器的能力,從而促使DSP實現(xiàn)小組去尋找硬件的解決方法。FPGA給DSP實現(xiàn)提供了理想的平臺,Accelchip提供的真正的自上而下的設計方案無縫地融入了DSP的設計環(huán)境,從而確保了在轉向真正的自上而下的DSP設計方法時管理風險的最小化。