<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 在采用FPGA設計DSP系統中仿真的重要性

在采用FPGA設計DSP系統中仿真的重要性

作者: 時(shí)間:2008-06-12 來(lái)源:網(wǎng)絡(luò ) 收藏

仿真是所有成功開(kāi)發(fā)的基礎。通過(guò)在不同條件、參數值和輸入情況下對進(jìn)行高級行為仿真,工程師可以迅速找到、分離并糾正問(wèn)題。因為在這一階段,比較容易區分問(wèn)題和編程問(wèn)題。通過(guò)在系統級工作,人員可以確定這一階段的問(wèn)題是來(lái)自設計缺陷,而不是編程問(wèn)題。此外,在信號處理系統設計中使用基于模型的方法大大縮短了“錯誤診斷延遲”時(shí)間――從設計中出現錯誤到發(fā)現錯誤并分離錯誤的時(shí)間。

在電信領(lǐng)域,一直現場(chǎng)可編程門(mén)陣列()做為預/后處理器或者協(xié)處理器。語(yǔ)音電信應用中的數字信號處理()要求輸入數據為正常語(yǔ)音速率,具有嚴格的時(shí)序約束,要求能在連續的輸入數據采樣間完成計算。處理器之后,在整個(gè)計算中可以執行數萬(wàn)條指令。但是,無(wú)線(xiàn)通信中,一個(gè)處理器無(wú)法實(shí)時(shí)實(shí)現中頻(IF)和基帶調制解調器中的高速算法。利用某些DSP處理器的多個(gè)處理單元可以克服指令帶寬限制。然而,創(chuàng )建專(zhuān)用的流水線(xiàn)代碼以真正發(fā)揮這種并行(同時(shí)執行)的優(yōu)勢需要手工優(yōu)化匯編語(yǔ)言例程。

對這類(lèi)代碼進(jìn)行維護、重用和實(shí)現會(huì )產(chǎn)生很多問(wèn)題,成本比較高。而且,實(shí)際的并行能力也相對較弱。用于實(shí)現高帶寬計算的比較好的替代方案是做為預/后處理器或者協(xié)處理器,將重復算法和算法中對速率要求嚴格的部分集成到中。采用FPGA和自動(dòng)設計軟件后,工程師能夠采用單純用DSP不可能實(shí)現的方式來(lái)優(yōu)化系統性能。

圖1顯示了FPGA的速率優(yōu)勢。由于是并行算法,因此,計算吞吐量和時(shí)鐘周期數之比非常高?,F在單個(gè)FPGA能夠實(shí)現幾百個(gè)千兆MAC區。為了發(fā)揮這種性能潛力,可以利用Altera DSP Builder模塊組構成的Simulink結構圖來(lái)建立一個(gè)系統。DSP Builder的好處在于可通過(guò)采用標準信號處理模塊,在PLD中建立一個(gè)高速信號處理系統,而不必通過(guò)HDL編程。

設計人員可以利用DSP Builder中的模塊,為Simulink中的以采樣時(shí)間建模的系統生成硬件實(shí)現。具體工具包括比特和周期精度級的Simulink模塊,包含算法和存儲功能等基本操作。Altera DSP IP庫支持的復雜功能和子系統,也可以采用提供的DSP Builder模塊組來(lái)集成。

FPGA中的DSP系統設計需要高級算法和后端HDL開(kāi)發(fā)工具,將自動(dòng)生成的HDL綜合到硬件中。采用這兩種集成工具,設計人員不需要成為VHDL或者Verilog程序員。這些程序包是自動(dòng)系統生成工具,在其中對硬件系統組件進(jìn)行定義、互聯(lián)、仿真和驗證,不需要進(jìn)行下層的HDL的編程。采用真正的“指向然后點(diǎn)擊”設計方法,完全在PC中將系統結構生成一個(gè)完整的系統,對其進(jìn)行仿真和驗證,并下載到FPGA中。


圖1.一個(gè)算法的串行和并行實(shí)現對比

DSP Builder使用 MathWorks公司的MATLAB工具和Simulink環(huán)境來(lái)生成信號處理系統。這一工具結合了MATLAB/Simulink的算法開(kāi)發(fā)、仿真、驗證功能以及FPGA設計軟件的硬件綜合和仿真功能。DSP Builder集成到Simulink中,系統、算法和硬件設計人員利用這一工具可以共享使用“拖放”結構的開(kāi)發(fā)平臺。從大菜單選項中選擇DSP Builder模塊組的組件,將其放置到Simulink工作空間中,用鼠標點(diǎn)擊把它們連接起來(lái)。通過(guò)下拉菜單來(lái)控制指定組件的參數。


圖2. 一個(gè)互相關(guān)的DSP Builder結構圖

在做出決定使用FPGA處理來(lái)實(shí)現項目時(shí),主要設計任務(wù)是將設計劃分為多個(gè)任務(wù),在協(xié)處理器、DSP處理器或者其他系統微處理器(主處理器)中實(shí)現。在某些情況下,使用軟核處理器后,能夠在一個(gè)FPGA中實(shí)現整個(gè)系統,從而可以從硬件設計中省去主處理器。進(jìn)行任務(wù)劃分時(shí),解決問(wèn)題最簡(jiǎn)單、最直接的方法是將問(wèn)題分成兩個(gè)獨立但又相關(guān)的部分:計算算法本身和算法的硬件控制。

對設計進(jìn)行劃分時(shí),設計人員一般會(huì )發(fā)現,算法中有的部分很顯然應該放到FPGA中,而有的則取決于很多系統問(wèn)題,例如控制代碼的內容等。進(jìn)行這種判斷的一個(gè)好方法是開(kāi)發(fā)代碼的高級語(yǔ)言(例如C/C++或MATLAB)模型。

與復雜系統的設計判斷一樣,將全部或者部分算法移植到FPGA協(xié)處理器中取決于很多因素,需要對設計中硬件和軟件組件的性能需求、容量、復雜度和靈活性進(jìn)行分析。例如,對于目前能在低成本DSP處理器中以足夠速度運行的一個(gè)簡(jiǎn)單算法,將其移植到PLD中運行就不一定合適,除非設計目的是進(jìn)一步提高硬件集成度,縮小PCB面積。然而,如果您的系統性能很高,已經(jīng)把DSP處理器的性能發(fā)揮到極限,但仍然要求系統具有更新的靈活度,那么FPGA協(xié)處理器將是唯一的可行方案。


圖3. DSP Builder設計流程

Altera設計軟件(Quartus II 軟件、DSP Builder和用于集成控制面組件的SOPC Builder系統集成工具)是系統開(kāi)發(fā)方面的重要進(jìn)步。與高端DSP處理器相比,使用FPGA作為協(xié)處理器能夠大大提高工作速度。與以往任何時(shí)候相比,多種自動(dòng)工具的使用能夠更迅速方便地實(shí)現基于FPGA的DSP系統開(kāi)發(fā)。



關(guān)鍵詞: 真的 重要性 系統 DSP FPGA 設計 采用

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>