<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 自上而下直到物理實現(xiàn)的DSP設(shè)計流程

          自上而下直到物理實現(xiàn)的DSP設(shè)計流程

          作者:■AccelChip公司 Dan Ganousis 時間:2005-02-01 來源:電子設(shè)計應(yīng)用2004年第12期 收藏

          引言
          世界正處于高科技下一波快速增長的開端, 已經(jīng)成為業(yè)界公認(rèn)的、將按指數(shù)增長的技術(shù)焦點。目前,大多數(shù)設(shè)計已經(jīng)能在半導(dǎo)體生產(chǎn)商(如T1、ADI、Freescale等)提供的通用芯片上實現(xiàn)。通用處理器的價格相對比較便宜,并且有高質(zhì)量和廉價的編程工具、方便快速實現(xiàn)DSP算法的支持,但開發(fā)人員更希望在原型創(chuàng)建和調(diào)試過程中能進行重新編程。

          本文引用地址:http://www.ex-cimer.com/article/4448.htm

          圖1  通用DSP處理器的性能與通信領(lǐng)域需要的DSP處理性能的比較

          速度的需要
          現(xiàn)在,對電子系統(tǒng)的性能要求已經(jīng)超過了通用DSP處理器的能力。圖1顯示了由寬帶網(wǎng)絡(luò)市場驅(qū)動的對DSP算法的性能需求與通用DSP處理器性能的差異??梢钥闯鐾ㄓ肈SP的性能容量與新的寬帶通信技術(shù)的需求之間的差距正以指數(shù)速率擴大。
          傳統(tǒng)上DSP開發(fā)者可以獲得的改變通用DSP處理器性能的唯一方法就是將DSP算法注入到ASIC中,以達(dá)到加速硬件的目的。然而這種ASIC的解決方法實現(xiàn)起來非常困難,而且在ASIC上實現(xiàn)DSP算法是以犧牲可重編程的靈活性為代價的,同時還需要大量的非重復(fù)設(shè)計費用、漫長的原型初始化,以及購買大量昂貴的集成電路設(shè)計工具等。
          隨著先進的FPGA架構(gòu)如Xilinx Virtex-II和Altera Stratix-II的引入,DSP設(shè)計者可以獲得一種把通用DSP處理器的所有優(yōu)點與ASIC的先進性能綜合在一起的新型硬件。這些新型的FPGA架構(gòu)可以優(yōu)化DSP的實現(xiàn),并能提供滿足現(xiàn)今電子系統(tǒng)所必需的處理能力。
          FPGA的優(yōu)越性表現(xiàn)在它能允許DSP設(shè)計者做到“使結(jié)構(gòu)適應(yīng)算法”,設(shè)計者能夠根據(jù)實現(xiàn)系統(tǒng)性能的需要最大限度地使用FPGA內(nèi)部的并行資源。而在通用DSP處理器中資源是固定的,因為每個處理器只包含一些數(shù)量有限的類似乘法器一樣的基本運算功能,設(shè)計者必須做到“使算法適應(yīng)結(jié)構(gòu)”,因而無法達(dá)到在FPGA中能夠獲得的性能。

          圖2  全球DSP收入預(yù)測

          半導(dǎo)體工業(yè)的亮點
          圖2顯示了整個DSP市場和片內(nèi)算法市場(由FPGA、結(jié)構(gòu)化ASIC和ASIC幾部分組成)的年收入預(yù)測。其中,DSP片內(nèi)算法市場今后三年內(nèi)將以高于42%的年增長率增長,是整個半導(dǎo)體領(lǐng)域增長最快的部分。
          現(xiàn)在DSP的設(shè)計團隊所面臨的挑戰(zhàn)和二十世紀(jì)九十年代ASIC的設(shè)計者所面臨的類似—DSP開發(fā)組如何用目標(biāo)FPGA的設(shè)計方法代替通用DSP;如何去開發(fā)所需要的新的設(shè)計技巧;如何完善公司的設(shè)計流程;怎樣才能提出新的DSP算法的實現(xiàn)方法,同時又不危及當(dāng)前產(chǎn)品的開發(fā)計劃?;蛟S更重要的是,管理者怎樣才能夠使災(zāi)難性結(jié)果發(fā)生的可能性降低到最小。
          AccelChip公司認(rèn)為DSP的未來取決于新型設(shè)計方法的采用,而這種方法必須能使公司滿足DSP市場對上市時間、成本的苛刻要求。和ASIC、FPGA的產(chǎn)生一樣,對DSP變革的方式就是采用真正的、自上而下的設(shè)計流程。

          圖3 傳統(tǒng)的DSP設(shè)計流程

          傳統(tǒng)自上而下的設(shè)計流程
          傳統(tǒng)上,DSP設(shè)計被分為兩種類型的工作:系統(tǒng)/算法的開發(fā)和軟/硬件的實現(xiàn)。這兩類工作是由完全不同的兩組工程師完成,通常這兩個組在各自的接口之間被相對分開。算法開發(fā)者在不考慮系統(tǒng)的結(jié)構(gòu)或軟/硬件實現(xiàn)細(xì)節(jié)的情況下使用數(shù)學(xué)分析工具來創(chuàng)建、分析和提煉所需要的DSP算法;系統(tǒng)設(shè)計者則主要考慮功能的定義和結(jié)構(gòu)的設(shè)計,并保持與產(chǎn)品說明及接口標(biāo)準(zhǔn)相一致。軟/硬件設(shè)計組采用系統(tǒng)工程師和算法開發(fā)人員所建立的規(guī)范進而完成DSP設(shè)計的物理實現(xiàn)。
          一般來講,細(xì)則規(guī)范可劃分成很多小的模塊,每個小模塊分配給各個成員,他們必須首先理解屬于自己的模塊的功能。
          如果DSP算法的目標(biāo)是FPGA、結(jié)構(gòu)化ASIC或SoC,那么首要任務(wù)就是用Verilog或VHDL等硬件描述語言來建立一個RTL模型。這就需要實現(xiàn)工程師了解通信理論和信號處理以便明白系統(tǒng)工程師提出的細(xì)則規(guī)范。建立一個RTL模型和仿真測試平臺常常需要花費一至兩個月的時間,這主要是因為需要人工驗證RTL文件和MATLAB模型的準(zhǔn)確匹配。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í)行一種標(biāo)準(zhǔn)的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è)計工程更大的擔(dān)心是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ù)管理的改善。但是當(dāng)ASIC和FPGA采用和現(xiàn)有DSP設(shè)計相同的自下而上的設(shè)計方法時,由于缺乏單一且有效的設(shè)計數(shù)據(jù)源,將會引入許多錯誤。因此,在當(dāng)今的DSP設(shè)計中,各個獨立的設(shè)計部門有義務(wù)使MATLAB模型和人工創(chuàng)建的RTL模型及測試平臺保持同步??墒侨缜八觯@兩個團隊很少交流,而且通常在地理位置上也相距很遠(yuǎn)。所以管理這些數(shù)據(jù)變得非常困難。
          CoWare在其SPW工具包里提供了一種模塊同步問題的解決方案:將輔助模擬設(shè)計方法的概念引入硬件設(shè)計系統(tǒng)中,從而達(dá)到從細(xì)則規(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模型是目標(biāo)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è)計小組的目標(biāo)FPGA器件提供了很好的物理實現(xiàn)。同時通過提供容易使用的、自動的從MATLAB到硬件實現(xiàn)的直接路徑,使得DSP系統(tǒng)設(shè)計人員和算法開發(fā)人員能夠在設(shè)計開發(fā)初期定義他們的算法。進而算法開發(fā)人員能夠很快地將MATLAB設(shè)計轉(zhuǎn)換成綜合了性能、范圍、成本和功率優(yōu)點的目標(biāo)FPGA的門級網(wǎng)表。有了來自算法物理實現(xiàn)的初期或開發(fā)周期中的反饋,就意味著設(shè)計流程后期所做的重復(fù)更少,再一次節(jié)省了寶貴的時間和人力。

          結(jié)語
          DSP技術(shù)的重要性日益增加,對其算法的性能要求遠(yuǎn)遠(yuǎn)超過了通用性DSP處理器的能力,從而促使DSP實現(xiàn)小組去尋找硬件的解決方法。FPGA給DSP實現(xiàn)提供了理想的平臺,Accelchip提供的真正的自上而下的設(shè)計方案無縫地融入了DSP的設(shè)計環(huán)境,從而確保了在轉(zhuǎn)向真正的自上而下的DSP設(shè)計方法時管理風(fēng)險的最小化。(姚玉坤譯)■



          關(guān)鍵詞: DSP

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();