DSP實(shí)現(xiàn)方案及設(shè)計(jì)流程_第1頁
DSP實(shí)現(xiàn)方案及設(shè)計(jì)流程_第2頁
DSP實(shí)現(xiàn)方案及設(shè)計(jì)流程_第3頁
DSP實(shí)現(xiàn)方案及設(shè)計(jì)流程_第4頁
DSP實(shí)現(xiàn)方案及設(shè)計(jì)流程_第5頁
已閱讀5頁,還剩89頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

會(huì)計(jì)學(xué)1DSP實(shí)現(xiàn)方案及設(shè)計(jì)流程

在過去很長一段時(shí)間,DSP處理器(如TI的TMS320系列)是DSP應(yīng)用系統(tǒng)核心器件的惟一選擇。盡管DSP處理器具有通過軟件設(shè)計(jì)能適用于實(shí)現(xiàn)不同功能的靈活性,但面對(duì)當(dāng)今迅速變化的DSP應(yīng)用市場,特別是面對(duì)現(xiàn)代通信技術(shù)的發(fā)展,DSP處理器早已顯得力不從心。例如其硬件結(jié)構(gòu)的不可變性導(dǎo)致了其總線的不可改變性,而固定的數(shù)據(jù)總線寬度,已成為DSP處理器一個(gè)難以突破的瓶頸。DSP處理器的這種固定的硬件結(jié)構(gòu)特別不適合于當(dāng)前許多要求能進(jìn)行結(jié)構(gòu)特性隨時(shí)變更的應(yīng)用場合,即所謂面向用戶型的DSP系統(tǒng),或者說是用戶可定制型,或可重配置型的DSP應(yīng)用系統(tǒng)(CustomizedDSP或ReconfigurableDSP等),第1頁/共94頁

如軟件無線電、醫(yī)用設(shè)備、導(dǎo)航、工業(yè)控制等方面。至于在滿足速度要求方面,由于采用了順序執(zhí)行的CPU架構(gòu),DSP處理器則更加不堪重負(fù)。面向DSP的各類專用ASIC芯片雖然可以解決并行性和速度的問題,但是高昂的開發(fā)設(shè)計(jì)費(fèi)用、耗時(shí)的設(shè)計(jì)周期及不靈活的純硬件結(jié)構(gòu),使得DSP的ASIC解決方案日益失去其實(shí)用性。第2頁/共94頁

現(xiàn)代大容量、高速度的FPGA的出現(xiàn),克服了上述方案的諸多不足。在這些FPGA中,一般都內(nèi)嵌有可配置的高速RAM、PLL、LVDS、LVTTL以及硬件乘法累加器等DSP模塊。用FPGA來實(shí)現(xiàn)數(shù)字信號(hào)處理可以很好地解決并行性和速度問題,而且其靈活的可配置特性,使得FPGA構(gòu)成的DSP系統(tǒng)非常易于修改、易于測試及硬件升級(jí)。第3頁/共94頁

在利用FPGA進(jìn)行DSP系統(tǒng)的開發(fā)應(yīng)用上,已有了全新的設(shè)計(jì)工具和設(shè)計(jì)流程。DSPBuilder就是Altera公司推出的一個(gè)面向DSP開發(fā)的系統(tǒng)級(jí)工具。它是作為MATLAB的一個(gè)Simulink工具箱(ToolBox)出現(xiàn)的。MATLAB是功能強(qiáng)大的數(shù)學(xué)分析工具,廣泛應(yīng)用于科學(xué)計(jì)算和工程計(jì)算,可以進(jìn)行復(fù)雜的數(shù)字信號(hào)處理系統(tǒng)的建模、參數(shù)估計(jì)、性能分析。Simulink是MATLAB的一個(gè)組成部分,用于圖形化建模仿真。第4頁/共94頁DSPBuilder作為Simulink中的一個(gè)工具箱,使得用FPGA設(shè)計(jì)DSP系統(tǒng)完全可以通過Simulink的圖形化界面進(jìn)行,只要簡單地進(jìn)行DSPBuilder工具箱中的模塊調(diào)用即可。值得注意的是,DSPBuilder中的DSP基本模塊是以算法級(jí)的描述出現(xiàn)的,易于用戶從系統(tǒng)或者算法級(jí)進(jìn)行理解,甚至不需要了解FPGA本身和硬件描述語言。第5頁/共94頁

為了滿足DSP技術(shù)領(lǐng)域中的各種需求以及順應(yīng)DSP市場的發(fā)展,DSP應(yīng)用系統(tǒng)的實(shí)現(xiàn)方式和目標(biāo)器件的品種類型、結(jié)構(gòu)特點(diǎn)乃至開發(fā)技術(shù)本身都經(jīng)歷著不斷的改善和變革。

1.1.1常用DSP應(yīng)用器件及其性能特點(diǎn)如前所述,DSP作為數(shù)字信號(hào)的算法的實(shí)現(xiàn)方案有多種,對(duì)于不同的應(yīng)用領(lǐng)域、適用范圍和指標(biāo)要求,可以選用不同的解決方案和DSP系統(tǒng)的實(shí)現(xiàn)器件。目前,為了完成DSP的開發(fā)與應(yīng)用,可選的目標(biāo)器件有如下4類:第6頁/共94頁●DSPProcessorDSP處理器;●ASICs(Application-SpecificIntegratedCircuits)專用集成電路;●ASSPs(Application-SpecificStandardProucts)專用標(biāo)準(zhǔn)電路模塊;●FPGA。

DSPProcessor主要是指目前最常用的基于CPU架構(gòu)的器件,通過軟件指令的方式完成DSP算法。早期的DSP處理器(如大多數(shù)DSP實(shí)驗(yàn)室中采用的TMS320VC5402)中只有一個(gè)乘法器,而現(xiàn)在的處理器(如C6000系列)中,有的已達(dá)8個(gè)乘法器,工作性能有了很大的提高。第7頁/共94頁P(yáng)rocessor在硬件結(jié)構(gòu)上的不斷改進(jìn),并沒有擺脫傳統(tǒng)CPU的工作模式。因而,盡管擁有多個(gè)硬件乘加器,使用了環(huán)形疊代的方法進(jìn)行乘法操作,且許多DSP處理器還擁有使用多乘法器的并行指令,用于加速算術(shù)運(yùn)算,然而由于其順序的工作方式、較低的數(shù)據(jù)處理速率,以及缺乏實(shí)時(shí)工作的性能,使其至今仍只適合于低端的數(shù)字信號(hào)處理。第8頁/共94頁

傳統(tǒng)的DSP開發(fā)者通常都選用DSP處理器來構(gòu)成DSP應(yīng)用系統(tǒng)。DSP處理器的優(yōu)勢主要是具有很好的通用性和靈活性,有適用于各種DSP算法實(shí)現(xiàn)的通用硬件結(jié)構(gòu)。圖1-1所示的是一種比較典型的DSP系統(tǒng)電路圖,除了選用的是DSP處理器以及應(yīng)用程序加載工作方式外,與普通單片機(jī)應(yīng)用系統(tǒng)十分相似,只要將調(diào)試好的機(jī)器碼放在程序ROM中,就能使系統(tǒng)正常工作。因此通過這種硬件結(jié)構(gòu),能對(duì)實(shí)現(xiàn)各種數(shù)據(jù)處理的程序進(jìn)行有效的執(zhí)行。由此可知,這種靈活性幾乎是沒有限制的,因?yàn)?,只要能用?duì)應(yīng)指令程序表達(dá)出DSP算法,其硬件結(jié)構(gòu)都能接受并執(zhí)行。第9頁/共94頁圖1-1基于通用DSP處理器的DSP系統(tǒng)第10頁/共94頁

然而,各種算法可實(shí)現(xiàn)的靈活性與各種技術(shù)指標(biāo)的可實(shí)現(xiàn)性,以及硬件結(jié)構(gòu)的可變性完全是兩回事。

ASSP和ASIC是專門針對(duì)完成某種DSP算法的集成電路器件,因此在性能指標(biāo)、工作速度、可靠性和應(yīng)用成本上優(yōu)于DSP處理器。如卷積相關(guān)器IMSA100、FFT處理器A41102、復(fù)乘加器組PDSP16116、求模/相角器PDSP16330、下變頻/信號(hào)解調(diào)器HSP50214等等。其優(yōu)秀的工作性能主要源于特定的算法全部由ASSP和ASIC中的硬件電路完成。ASSP是半定制集成電路,在許多DSP算法的實(shí)現(xiàn)方面(如FIR,IIR濾波器)都優(yōu)于DSP處理器,但在功能重構(gòu),以及應(yīng)用性修正方面缺乏靈活性;ASIC雖然有一定的可定制性,但開發(fā)周期長,而且有一個(gè)最小定制量,因此應(yīng)用風(fēng)險(xiǎn)和開發(fā)成本過高,正在逐漸失去其實(shí)用性。第11頁/共94頁

但若直接使用FPGA完成DSP功能,則能在許多實(shí)用領(lǐng)域綜合DSP處理器與ASIC/ASSP器件的優(yōu)點(diǎn),再加上FPGA本身的諸多優(yōu)勢,即能有效克服傳統(tǒng)DSP系統(tǒng)的弱點(diǎn)。由FPGA構(gòu)成的DSP電路可以同樣以并行或順序方式工作。如圖1-2所示,在并行工作方面,F(xiàn)PGA與ASIC/ASSP相當(dāng),遠(yuǎn)優(yōu)于DSP處理器。對(duì)DSP處理器需要大量運(yùn)算指令完成的工作,F(xiàn)PGA只需一個(gè)時(shí)鐘周期的時(shí)間就能完成。而在順序執(zhí)行方面,F(xiàn)PGA也比DSP處理器快,因?yàn)镕PGA中可以使用各種狀態(tài)機(jī),或使用嵌入式微處理器來完成,并且,每一順序工作的時(shí)鐘周期中都能同時(shí)并行完成許多執(zhí)行,而DSP處理器卻不能。就靈活性而言,F(xiàn)PGA的靈活性遠(yuǎn)勝于ASIC/ASSP,也勝于DSP處理器。第12頁/共94頁圖1-2DSP處理器順序工作方式與FPGA的并行工作方式第13頁/共94頁DSP處理器的靈活性主要表現(xiàn)在軟件更改的容易性以及對(duì)各種算法的處理和復(fù)雜算法的實(shí)現(xiàn)上,而對(duì)于系統(tǒng)硬件本身的更改,DSP是沒有任何靈活性可言的?,F(xiàn)代大容量FPGA以其相關(guān)的開發(fā)技術(shù)在可重配置的DSP應(yīng)用領(lǐng)域,以及DSP數(shù)據(jù)大吞吐量和數(shù)據(jù)的純硬件處理方面,有獨(dú)特的優(yōu)勢。FPGA面對(duì)傳統(tǒng)的DSP處理器諸多難以克服的技術(shù)瓶頸,已有了突破性的應(yīng)用。在各種DSP應(yīng)用場合,F(xiàn)PGA具有全硬件的用戶可定制性以及重配置性,即可根據(jù)需要隨時(shí)通過改變FPGA中構(gòu)成DSP系統(tǒng)的硬件結(jié)構(gòu)來改變系統(tǒng)的功能、技術(shù)指標(biāo)、通信方式、硬件加密算法、編解碼方式等等。第14頁/共94頁

這種結(jié)構(gòu)變化可以由DSP開發(fā)者在開發(fā)時(shí)完成,也能在DSP系統(tǒng)投入實(shí)用中隨時(shí)“在系統(tǒng)”更改,這就是所謂的可重配置特性。所以,基于FPGA實(shí)現(xiàn)的DSP系統(tǒng),具有完全的硬件結(jié)構(gòu)可定制性,包括總線結(jié)構(gòu)的可定制性,存儲(chǔ)器的可定制性,硬件加速器模塊的結(jié)構(gòu)與數(shù)量的可定制性,以及大量的MAC(乘加器)模塊的可選性(系統(tǒng)設(shè)計(jì)中的硬件結(jié)構(gòu)可變性稱為可定制性,即Customized;系統(tǒng)設(shè)計(jì)完成后,成為產(chǎn)品后仍能隨開發(fā)者甚至用戶的要求隨時(shí)進(jìn)行硬件結(jié)構(gòu)重構(gòu)的,稱為可重配置性,即Reconfigurable)。第15頁/共94頁1.1.2DSP處理器結(jié)構(gòu)與性能的發(fā)展

DSP處理器與普通處理器的基本差異是DSP處理器中有硬件乘加模塊(MAC),專用的存儲(chǔ)器以及適用于高速數(shù)據(jù)運(yùn)行的總線結(jié)構(gòu)。

MAC的工作性能通常是DSP處理器性能的關(guān)鍵所在。DSP應(yīng)用系統(tǒng)主要是完成一些諸如FFT、FIR、IIR、矩陣相乘、卷積等算法。大部分的算法涉及到乘加結(jié)構(gòu)的數(shù)學(xué)計(jì)算(如y=a(b+c(d),這稱為乘法累加操作(MAC)。為了提高DSP的性能,DSP處理器生產(chǎn)廠商在提高M(jìn)AC模塊硬件性能的同時(shí)增加它們的數(shù)量,以提高乘加的位寬與速度。例如,TI的TM320C6411中有8個(gè)MAC,能在一個(gè)時(shí)鐘周期中完成8個(gè)乘法運(yùn)算。第16頁/共94頁

盡管在DSP處理器中增加更多的MAC單元,能進(jìn)一步提高DSP的吞吐量,但對(duì)于某些一般數(shù)據(jù)處理量比較大的DSP算法,其通用性能卻下降了,例如Viterbi編譯碼器和FIR濾波器就屬于這種情況。為了解決這個(gè)問題,DSP生產(chǎn)廠商又將一些專用的硬件加速器類的協(xié)處理器模塊加入進(jìn)處理器結(jié)構(gòu)。如Viterbi協(xié)處理器、Turbo協(xié)處理器和增強(qiáng)型濾波器協(xié)處理器等。由于這些處理器本身的非通用性,即主要是傾向于某種或某些算法的協(xié)處理器,從而導(dǎo)致了DSP處理器無法適用于多種類型的DSP算法和DSP應(yīng)用。結(jié)果成本增加了,通用性下降了。第17頁/共94頁

因此,大部分的DSP應(yīng)用場合并沒有從這種增加了各種硬件加速器的DSP結(jié)構(gòu)的變化中得到好處。不但如此,這種硬件加速器模塊是一種固定的硬件結(jié)構(gòu),無法根據(jù)特定的設(shè)計(jì)需要來作任何更改,特別是面向當(dāng)今通信領(lǐng)域中不斷發(fā)生的各種技術(shù)標(biāo)準(zhǔn)和協(xié)議的變更,這種加速器模塊容易很快過時(shí),從而導(dǎo)致整個(gè)DSP應(yīng)用系統(tǒng)的過時(shí)。針對(duì)這種情況,DSP處理器生產(chǎn)商又試圖在DSP中增加一些可定制的指令,以便能對(duì)結(jié)構(gòu)功能根據(jù)要求作一定的改變。然而這些修補(bǔ)并沒有從根本上解決問題。第18頁/共94頁

為了彌補(bǔ)速度及吞吐量的不足,實(shí)用的DSP系統(tǒng)使用多片DSP處理器進(jìn)行并行工作已經(jīng)是十分普遍的事,但這也同時(shí)帶來了系統(tǒng)在靈活性、功耗、成本、體積、可靠性等技術(shù)性能上的進(jìn)一步變差。第19頁/共94頁1.1.3FPGA的結(jié)構(gòu)與性能的發(fā)展

FPGA器件是由大量邏輯宏單元構(gòu)成的。通過配置,可以使這些邏輯宏單元形成不同的硬件結(jié)構(gòu),從而構(gòu)成不同的電子系統(tǒng),完成不同的功能。正是FPGA的這種硬件重構(gòu)的靈活性,使得設(shè)計(jì)者能夠?qū)⒂布枋稣Z言(如VHDL或Verilog)描述的電路在FPGA中實(shí)現(xiàn)。這樣以來,同一塊FPGA能實(shí)現(xiàn)許多完全不同的電路結(jié)構(gòu)和功能。如DSL布線器、數(shù)字調(diào)制解調(diào)器、JPEG編碼器、數(shù)字通信系統(tǒng),以及網(wǎng)絡(luò)接口等等。第20頁/共94頁

隨著達(dá)數(shù)百萬門高密度的FPGA的出現(xiàn),F(xiàn)PGA在原有的高密度的邏輯宏單元的基礎(chǔ)上嵌入了許多面向DSP的專用硬核模塊,結(jié)合大量可配置于FPGA硬件結(jié)構(gòu)中的參數(shù)化的DSPIP軟核,DSP開發(fā)者能十分容易地將整個(gè)DSP應(yīng)用系統(tǒng)實(shí)現(xiàn)在一片F(xiàn)PGA中,從而實(shí)現(xiàn)了所謂的可編程SOC系統(tǒng),即SOPC。第21頁/共94頁FPGA中的面向DSP的嵌入式模塊有可配置RAM、DSP乘加模塊和嵌入式處理器等,使FPGA能很好地適用于DSP功能的實(shí)現(xiàn)。例如Altera的Stratix系列器件中含有豐富的DSP功能塊,包括能完成諸如累加、加/減、并行加等通用算法的功能模塊,有多達(dá)224個(gè)乘法器,在一個(gè)時(shí)鐘周期中就能完成224次乘法操作。乘法器的帶寬決定了整個(gè)DSP的帶寬,而FPGA的DSP帶寬比DSP處理器要寬得多。例如,Stratix器件的DSP模塊能提供70GMACs/每DSP模塊的吞吐量,而當(dāng)今主流的DSP處理器只能達(dá)到4.8GMACs。第22頁/共94頁

此外,絕大部分的DSP處理器應(yīng)用系統(tǒng)是用外部存儲(chǔ)器來解決大數(shù)據(jù)量的處理的。然而FPGA的嵌入式高速可配置存儲(chǔ)器在大多數(shù)情況下都能滿足相類似的數(shù)據(jù)處理要求。例如,Stratix系列的FPGA可提供達(dá)10Mb/s速率的嵌入式RAM。

FPGA中的嵌入式處理器進(jìn)一步提高了FPGA的系統(tǒng)集成和靈活性,使之成為一個(gè)軟件與硬件聯(lián)合開發(fā)和靈活定制的結(jié)合體,可使設(shè)計(jì)者既能在嵌入式處理器中完成系統(tǒng)軟件模塊的開發(fā)和利用,也能利用FPGA的通用邏輯宏單元完成硬件功能模塊的開發(fā)。Altera的FPGA器件還為用戶提供了嵌入式處理器軟核與硬核的選擇。第23頁/共94頁

嵌入式處理器軟核是由網(wǎng)表文件表達(dá)的硬件結(jié)構(gòu),當(dāng)同其它設(shè)計(jì)一同配置于FPGA中后,就成為FPGA芯片中的一個(gè)硬處理器核。高效率的SOPC設(shè)計(jì)能很容易地將軟核(如Nios嵌入式處理器)連同與該核相關(guān)的外圍接口系統(tǒng)一同編程下載進(jìn)同一片F(xiàn)PGA中。設(shè)計(jì)者能根據(jù)實(shí)際應(yīng)用的需要定制Nios軟核,使之滿足不同的總線數(shù)量、總線寬度和總線功能要求,優(yōu)化總線設(shè)計(jì),排除傳統(tǒng)DSP中許多常見的問題。還能定制處理器的指令,此時(shí)Nios的開發(fā)軟件編譯器將自動(dòng)作相應(yīng)的變化。這種結(jié)構(gòu)可變(可定制)的DSP處理器能很好地根據(jù)實(shí)際的需求,在性能/功能與結(jié)構(gòu)大小之間作最好的平衡,以適用于不同的DSP應(yīng)用領(lǐng)域。第24頁/共94頁

硬核處理器主要指在Excalibur系列FPGA中的ARM核。這種核已預(yù)先嵌入在FPGA中,含有完整的外圍接口系統(tǒng),如SDRAM、存儲(chǔ)器控制單元、UART等。現(xiàn)代的FPGA中含有十分靈活的、針對(duì)特定算法的加速器模塊。與傳統(tǒng)的DSP處理器中的加速器模塊不同,F(xiàn)PGA中實(shí)現(xiàn)的硬件加速器是可以針對(duì)不同應(yīng)用的,這可以使設(shè)計(jì)者針對(duì)不同的DSP任務(wù)實(shí)現(xiàn)硬件功能。設(shè)計(jì)者針對(duì)具體任務(wù)在FPGA中實(shí)現(xiàn)硬件加速器模塊的途徑很多,主要有下述幾種:第25頁/共94頁●用硬件描述語言HDL完成;●基于通用邏輯宏單元LCs的HDL設(shè)計(jì);●基于可配置的DSP硬核模塊:存儲(chǔ)器、乘法器、并行加法器、累加器等;●基于全參數(shù)可設(shè)置的DSP軟IP核的應(yīng)用(進(jìn)入FPGA中后其將成為性能優(yōu)良的硬件模塊);●Nios軟核處理器;●ARM硬核處理器。第26頁/共94頁

在基于FPGA的DSP開發(fā)中,面向DSP的IP核的應(yīng)用是最方便的設(shè)計(jì)方案。由Altera與其AMPP合作伙伴(AlteraMegafunctionPartnerProgram)提供針對(duì)DSP設(shè)計(jì)的各種用于硬件加速的IP核,大致可分為以下5類:

(1)通用IP核(如FIR,IIR,NCO,F(xiàn)FT等);

(2)圖像處理IP核(如JPEG,DCT等);

(3)調(diào)制IP核(如QPSK,Equalizer等);

(4)編碼IP核(如DES,Rjindael等);

(5)糾錯(cuò)IP核(如Viterbi,Turbo,CRC等)。第27頁/共94頁

以上的每一個(gè)核都可以利用QuartusII中的“MegaWizardPlug-InManager”管理器進(jìn)行參數(shù)設(shè)置以構(gòu)成針對(duì)特定應(yīng)用的硬件功能模塊。這種通過軟件設(shè)置能隨意改變專用硬件模塊功能的技術(shù),極大地提高了FPGA在DSP設(shè)計(jì)方面的靈活性。IP核的利用,可以使設(shè)計(jì)者將IP核加入到任何標(biāo)準(zhǔn)硬件描述語言中,完成特定的功能而不改變?cè)瓉淼脑O(shè)計(jì)程序;即使在設(shè)計(jì)中和設(shè)計(jì)完成后,都能根據(jù)實(shí)際需要改變嵌入的IP核的技術(shù)參數(shù),而不改變整體設(shè)計(jì)綜合得來的代碼,從而改變DSP系統(tǒng)的技術(shù)指標(biāo)和硬件功能。此外,IP核本身基本不依賴于某種特定的FPGA硬件結(jié)構(gòu),即具有硬件通用性(這一點(diǎn)與DSP處理器及其庫程序有很大不同),因此可以在更新、更廉價(jià)的FPGA中實(shí)現(xiàn)。第28頁/共94頁

顯然,F(xiàn)PGA與軟IP核的巨大靈活性能十分迅速地對(duì)即使是已經(jīng)完成的設(shè)計(jì)系統(tǒng),仍然能適應(yīng)通信領(lǐng)域中不同的,諸如Wireless802.lla,WirelessBroadbandWorkingGroup802.16及HiperLAN12等的新標(biāo)準(zhǔn)的要求,而絕對(duì)不必如使用傳統(tǒng)DSP處理器那樣,要等待很長時(shí)間才能有適用的器件出現(xiàn),或是在開發(fā)前期必須針對(duì)某種通信的標(biāo)準(zhǔn),而費(fèi)時(shí)費(fèi)力地確定某款合適的DSP處理器型號(hào)。第29頁/共94頁1.1.4基于DSP處理器的DSP設(shè)計(jì)流程圖1-3是傳統(tǒng)的DSP系統(tǒng)的典型開發(fā)流程。大致步驟如下:

(1)DSP開發(fā)者首先使用諸如MATLAB這樣的數(shù)學(xué)開發(fā)工具對(duì)DSP算法進(jìn)行優(yōu)化設(shè)計(jì)和仿真測試,或用Simulink進(jìn)行DSP系統(tǒng)建模,以獲得滿足功能要求和適應(yīng)硬件特點(diǎn)的算法模型。盡管現(xiàn)在已有可將Simulink的DSP模型直接轉(zhuǎn)換成DSP處理器的C程序,但由于器件通用性問題,特別由于C程序的運(yùn)行效率問題,通過MATLAB途徑獲得的C程序幾乎沒有實(shí)用價(jià)值。第30頁/共94頁(2)根據(jù)DSP目標(biāo)系統(tǒng)的功能要求、技術(shù)指標(biāo)、系統(tǒng)升級(jí)可行性、性能標(biāo)準(zhǔn)可能的變化以及成本限度等因素,具體確定DSP處理器(并行使用的)數(shù)量和型號(hào)。這時(shí)必須十分熟悉當(dāng)前主流DSP器件的詳細(xì)硬件特性與價(jià)格范圍,同時(shí)還要與手頭的DSP開發(fā)軟硬件工具和功能塊程序庫結(jié)合起來考慮。由于目前DSP處理器的廠商、品種、系列、功能、適用面以及價(jià)格等因素差異頗大,準(zhǔn)確無誤地確定DSP處理器的品種不但十分棘手,同時(shí)也事關(guān)重大。因?yàn)槿绻?dāng)系統(tǒng)最終設(shè)計(jì)并調(diào)試完成后,若發(fā)現(xiàn)由于DSP處理器導(dǎo)致的某項(xiàng)技術(shù)指標(biāo)不能達(dá)到,或在以后的某項(xiàng)技術(shù)規(guī)范的升級(jí)要求中無法實(shí)現(xiàn),將出現(xiàn)整個(gè)硬件系統(tǒng)必須重新開發(fā)的嚴(yán)重局面。第31頁/共94頁圖1-3基于DSP處理器的開發(fā)流程第32頁/共94頁(3)根據(jù)選定的DSP處理器和系統(tǒng)功能要求,完成應(yīng)用系統(tǒng)評(píng)估板或測試板的設(shè)計(jì),否則無從調(diào)試DSP軟件程序,更無法驗(yàn)證實(shí)際系統(tǒng)中各項(xiàng)技術(shù)指標(biāo)的可實(shí)現(xiàn)性及應(yīng)用系統(tǒng)的可行性。

(4)根據(jù)MATLAB的算法模型和DSP評(píng)估板的硬件結(jié)構(gòu),編寫C、C++程序,或匯編程序。在DSP標(biāo)準(zhǔn)開發(fā)環(huán)境中(如TI的CCS)進(jìn)行編譯、仿真,然后通過DSP硬件仿真器在應(yīng)用板或評(píng)估板上進(jìn)行調(diào)試和實(shí)時(shí)仿真。這一過程中,還能使用基于C的標(biāo)準(zhǔn)DSP功能塊庫來加速開發(fā)進(jìn)程。第33頁/共94頁

但是如果考慮到系統(tǒng)的實(shí)時(shí)性,包括數(shù)據(jù)運(yùn)算、采樣和輸出的高速高效性,就必須使用匯編程序來完成設(shè)計(jì),這時(shí)就必須嚴(yán)格考慮具體的器件型號(hào)和對(duì)應(yīng)的指令系統(tǒng),因?yàn)椴煌盗械腄SP器件的指令系統(tǒng)通常是不兼容的。在仿真調(diào)試過程中,可能出現(xiàn)的問題是多方面的,最棘手的當(dāng)屬硬件系統(tǒng)從設(shè)計(jì)的一開始,在可行性上就出了問題,這時(shí)只能重新進(jìn)行DSP應(yīng)用系統(tǒng)的設(shè)計(jì)。

(5)最后完成實(shí)用硬件系統(tǒng)的實(shí)現(xiàn)。第34頁/共94頁1.1.5基于FPGA的DSP設(shè)計(jì)流程在早些時(shí)候,DSP開發(fā)者只能直接使用VHDL或VerilogHDL語言進(jìn)行FPGA的DSP系統(tǒng)設(shè)計(jì),難度比較大?,F(xiàn)在已經(jīng)出現(xiàn)了許多新的基于FPGA的DSP開發(fā)工具。如DSPBuilder、SOPCBuilder、SystemGenerator等,以及完整的軟件開發(fā)平臺(tái)。從而使得設(shè)計(jì)者能遵循一條類似于軟件設(shè)計(jì)流程的開發(fā)方法進(jìn)行FPGA的DSP設(shè)計(jì),設(shè)計(jì)效率大為提高。圖1-4至圖1-7概括了基于FPGA的幾種不同的DSP系統(tǒng)設(shè)計(jì)流程。第35頁/共94頁

圖1-4基于FPGA的軟件與硬件開發(fā)流程第36頁/共94頁圖1-5基于FPGA的軟件與硬件加速設(shè)計(jì)流程第37頁/共94頁圖1-6基于FPGA的硬件開發(fā)流程第38頁/共94頁圖1-7基于FPGA的系統(tǒng)級(jí)開發(fā)流程第39頁/共94頁1.基于FPGA的軟件與硬件的設(shè)計(jì)流程圖1-4所示的是含有嵌入式處理器的FPGA支持軟件設(shè)計(jì)流程。Altera提供的軟件開發(fā)工具有GNUPro套件,可用于編譯、調(diào)試、匯編和連接。設(shè)計(jì)前可將編譯好的軟件下載到FPGA中的內(nèi)部RAM中或是外部存儲(chǔ)器中。

2.應(yīng)用硬件加速單元(IP核)的FPGA軟件與硬件的設(shè)計(jì)流程圖1-5所示流程與以上的設(shè)計(jì)流程比較相似,這種流程除了要求有嵌入式處理器外,還要有硬件加速器,從而可以使DSP系統(tǒng)在靈活性、功能和成本方面都有很好的提高。第40頁/共94頁DSP開發(fā)者可以將軟件設(shè)計(jì)流程與硬件加速模塊結(jié)合起來。可以首先進(jìn)行C程序的編程,并且將其中的必須的部分形成專用、高效的功能塊,使用DSPIP核或直接開發(fā)定制指令,在FPGA中可以加速系統(tǒng)功能的高效實(shí)現(xiàn),而其它的一些要求不高的DSP算法以及系統(tǒng)控制程序則可在嵌入式Nios中完成。此外,Altera還提供了系統(tǒng)級(jí)的設(shè)計(jì)工具,即SOPCBuilder。設(shè)計(jì)者可以通過將嵌入式處理器(如Nios)、系統(tǒng)接口模塊以及IP核結(jié)合起來完成整個(gè)硬件系統(tǒng)的設(shè)計(jì)。第41頁/共94頁DSPBuilder也提供了一個(gè)從MATLAB/Simulink直接到FPGA硬件實(shí)現(xiàn)的設(shè)計(jì)接口。DSPBuilder極大地簡化了DSP功能的硬件實(shí)現(xiàn)流程,并提供了系統(tǒng)級(jí)仿真測試功能,設(shè)計(jì)者甚至可以不了解硬件描述語言HDL的設(shè)計(jì)流程,不必懂硬件描述語言本身,也能進(jìn)行DSP應(yīng)用系統(tǒng)的FPGA開發(fā)。第42頁/共94頁3.基于FPGA的硬件設(shè)計(jì)流程如圖1-6所示,DSP設(shè)計(jì)者還能使用基于HDL的設(shè)計(jì)流程完成純硬件的DSP系統(tǒng)開發(fā)。

Altera提供了一套完整的FPGA開發(fā)工具,包括QuartusII以及其它第三方EDA工具,如Modelsim、Synplify以及LeonardoSpectrum等,這些工具能完成硬件設(shè)計(jì)建模、仿真、綜合、調(diào)試和在系統(tǒng)中進(jìn)行DSP測試等。如果使用已得到良好優(yōu)化的基于HDL的DSPIP核,則能大大簡化整個(gè)開發(fā)過程。第43頁/共94頁4.基于FPGA的系統(tǒng)級(jí)硬件設(shè)計(jì)流程圖1-7所示的流程就是本書將重點(diǎn)介紹的DSP開發(fā)流程。與圖1-3相比,一個(gè)重要的區(qū)別在于DSP處理器的設(shè)計(jì)流程中,MATLAB工具的使用僅僅是作DSP算法的建模和基于純數(shù)學(xué)的仿真,其數(shù)學(xué)模型無法為硬件DSP應(yīng)用系統(tǒng)直接產(chǎn)生實(shí)用的程序代碼,其仿真測試的結(jié)果也僅僅是基于數(shù)學(xué)的算法結(jié)果,既非系統(tǒng)仿真,也非功能仿真,更非實(shí)時(shí)時(shí)序仿真,因而只能起到計(jì)算機(jī)輔助設(shè)計(jì)和輔助分析的作用(所以在流程轉(zhuǎn)換中用虛線表示)。第44頁/共94頁

圖1-7所示的流程則表明基于FPGA的DSP開發(fā)流程中,頂層的開發(fā)工具就是MATLAB/Simulink,整個(gè)開發(fā)流程幾乎完全可以在同一環(huán)境中完成!真正實(shí)現(xiàn)了自頂向下的設(shè)計(jì)流程,包括DSP系統(tǒng)的建模、系統(tǒng)級(jí)仿真、設(shè)計(jì)模型向VHDL硬件描述語言代碼的轉(zhuǎn)換、RTL級(jí)功能仿真測試、編譯適配和布局布線、時(shí)序?qū)崟r(shí)仿真,直至對(duì)DSP目標(biāo)器件的編程配置。整個(gè)設(shè)計(jì)流程一氣呵成地將系統(tǒng)描述和硬件實(shí)現(xiàn)有機(jī)地融為一體,充分顯示了現(xiàn)代電子設(shè)計(jì)自動(dòng)化開發(fā)的特點(diǎn)與優(yōu)勢。圖1-7的設(shè)計(jì)流程將在下一節(jié)中給予進(jìn)一步的說明。第45頁/共94頁1.2現(xiàn)代DSP設(shè)計(jì)流程概述

本節(jié)簡要介紹基于MATLAB/Simulink、DSPBiulder和QuartusII等工具軟件的DSP開發(fā)流程。由圖1-7可見,整個(gè)設(shè)計(jì)流程,包括從系統(tǒng)描述直至硬件實(shí)現(xiàn),可以在一個(gè)完整的設(shè)計(jì)環(huán)境中完成,同時(shí)構(gòu)成了一個(gè)自頂向下的典型的EDA流程。因此這個(gè)流程不僅僅適用于DSP開發(fā),同樣適用于EDA技術(shù)和SOPC設(shè)計(jì)。第46頁/共94頁

如圖1-8所示,設(shè)計(jì)流程從利用MATLAB建立DSP電路模型開始。電路模型的建立可以是圖形化的,可以方便地利用Simulink與DSPBuilder中提供的豐富的功能塊和IP核進(jìn)行設(shè)計(jì)。DSPBuilder包括比特和周期精度的Simulink模塊,還涵蓋了諸如算術(shù)和存儲(chǔ)功能的基本設(shè)計(jì)模塊以及IP庫中的許多復(fù)雜的功能模塊。電路中的功能塊和IP的技術(shù)參數(shù)、數(shù)據(jù)格式、數(shù)據(jù)類型和總線寬度等都可以直接設(shè)置。電路模型設(shè)計(jì)完成后,可以進(jìn)行系統(tǒng)級(jí)的模型仿真,屬于系統(tǒng)功能仿真,與目標(biāo)器件和硬件系統(tǒng)沒有關(guān)系,是基于算法的仿真。圖1-9是Simulink中的一個(gè)幅度調(diào)制設(shè)計(jì)模型電路和仿真結(jié)果。第47頁/共94頁圖1-8DSPBuilder設(shè)計(jì)流程第48頁/共94頁圖1-9DSP電路模型和系統(tǒng)功能仿真第49頁/共94頁

在圖1-8中還能看到利用嵌入式邏輯分析儀的一個(gè)測試流程。SignalTapII嵌入式邏輯分析儀的應(yīng)用是現(xiàn)代DSP技術(shù)中最有特色的測試技術(shù)之一,這項(xiàng)技術(shù)只能在FPGA的開發(fā)中使用。SignalTapII必須能夠隨心所欲地嵌入目標(biāo)器件或從中撤走。SignalTapII可以直接插在Simulink模型電路中任何一處或多處,并可隨該電路一同編譯、適配和下載到DSP硬件系統(tǒng)的目標(biāo)芯片中。在目標(biāo)芯片指定的通道上,第50頁/共94頁

嵌入的SignalTapII能根據(jù)給定的觸發(fā)條件采集電路信號(hào),并通過目標(biāo)芯片的JTAG下載口將信號(hào)回送往PC機(jī),然后在MATLAB界面上顯示出來。一旦完成測試,可以通過模型修正和編譯,將SignalTapII從目標(biāo)器件中撤消。圖1-9所示為DSP電路模型和系統(tǒng)功能仿真。第51頁/共94頁

接下去是利用置于Simulink電路模型界面的DSPBuilder的SignalCompiler,將電路模型文件即Simulink模塊文件(.mdl)轉(zhuǎn)換成RTL級(jí)的VHDL代碼表述和Tcl(工具命令語言)腳本。這種轉(zhuǎn)換是基于Simulink模型的結(jié)構(gòu)化分析的。RTL級(jí)VHDL代碼通俗的解釋就是在FPGA中完成硬件電路實(shí)現(xiàn)的VHDL程序(因?yàn)椴⒎撬械腣HDL語句都能對(duì)應(yīng)實(shí)際的硬件電路)。Tcl腳本主要是用于對(duì)后續(xù)的VHDL綜合與仿真的控制與規(guī)范(注意,就目前基于FPGA的DSP設(shè)計(jì)工具而言,包括Altera的DSPBuilder和Xilinx的SystemGenerator,都只能將Simulink模型轉(zhuǎn)換成VHDL,而非Verilog)。第52頁/共94頁

一旦獲得了轉(zhuǎn)換好的VHDL描述,在Simulink中即可調(diào)用VHDL綜合器了。目前可選擇的綜合器主要有QuartusII、Synplify和LeonardoSpectrum。由它們生成底層網(wǎng)表文件。圖1-10即為Synplify生成的網(wǎng)表文件對(duì)應(yīng)的RTL電路圖。注意,只有在此時(shí)才能真正確定DSP硬件實(shí)現(xiàn)的目標(biāo)器件的選擇,包括FPGA器件的系列和型號(hào)。因?yàn)閷?duì)RTL級(jí)的VHDL綜合,必須確定底層元件的工藝特性和結(jié)構(gòu)特性,但不必了解硬件時(shí)序特性,只有在適配時(shí)才需要時(shí)序信息。第53頁/共94頁圖1-10由VHDL綜合出的RTL級(jí)電路圖第54頁/共94頁

電路描述的中間網(wǎng)表文件,稱為原子級(jí)網(wǎng)表文件,即ATOMNetlist。下一步是調(diào)用QuartusII中的編譯器,根據(jù)網(wǎng)表文件及設(shè)置的優(yōu)化約束條件進(jìn)行布線布局和優(yōu)化設(shè)計(jì)的適配操作。最后生成編程文件和仿真文件,即生成POF和SOFFPGA配置文件,可用于對(duì)目標(biāo)器件的編程配置和硬件實(shí)現(xiàn);同時(shí)生成可分別用于QuartusII的門級(jí)仿真文件和ModelSim的VHDL時(shí)序仿真文件,以及配套的VHDL仿真激勵(lì)文件,可用于實(shí)時(shí)測試DSP系統(tǒng)的工作性能。第55頁/共94頁

在以上的轉(zhuǎn)換過程中,每個(gè)DSPBuilder模塊都經(jīng)過了優(yōu)化,利用專用硬件資源的優(yōu)勢,根據(jù)不同的目標(biāo)器件系列作不同的綜合與適配。例如在用Stratix器件時(shí),累加器模塊通常使用專用的DSP模塊,而在為APEXII器件編譯設(shè)計(jì)時(shí),則使用邏輯宏單元LCs來代替。讀者在圖1-8中可以注意到有一個(gè)ModelSim的VHDL仿真流程。由上面的SignalCompiler生成的VHDL,在進(jìn)入ModelSim仿真流程獲得的結(jié)果與硬件時(shí)序沒有關(guān)系,屬于功能仿真結(jié)果;而當(dāng)由QuartusII生成的VHDL仿真文件,進(jìn)入ModelSim仿真流程后獲得的仿真結(jié)果屬于時(shí)序仿真,即是對(duì)系統(tǒng)的實(shí)時(shí)測試結(jié)果。第56頁/共94頁

最后是將QuartusII生成的配置文件下載到目標(biāo)器件中,形成DSP硬件系統(tǒng)。作為總結(jié),用圖1-11所示的流程可以對(duì)圖1-8作進(jìn)一步的說明。圖1-11將DSP開發(fā)流程劃分為兩個(gè)層次:虛線左邊為系統(tǒng)級(jí)設(shè)計(jì)與仿真流程,右邊為RTL級(jí)設(shè)計(jì)、仿真和硬件實(shí)現(xiàn)流程。兩個(gè)流程通過DSPBuilder的SignalCompiler直接握手,左邊是與硬件完全沒有關(guān)系的類似于軟件方式的設(shè)計(jì)流程,而右邊則是硬件設(shè)計(jì)流程。第57頁/共94頁圖1-11基于FPGA的系統(tǒng)級(jí)開發(fā)流程第58頁/共94頁

一方面,左邊可以通過模型設(shè)計(jì)、模塊應(yīng)用、數(shù)據(jù)格式設(shè)置、觸發(fā)條件選擇等操作直接控制右邊的硬件設(shè)計(jì)流程與硬件實(shí)現(xiàn)方式;另一方面,右邊又能通過時(shí)序仿真、SignalTapII測試等方式及時(shí)或?qū)崟r(shí)地將硬件信息反饋給左邊。這是一個(gè)完美的組合,是現(xiàn)代DSP設(shè)計(jì)技術(shù)乃至現(xiàn)代電子系統(tǒng)設(shè)計(jì)技術(shù)的特色與核心。第59頁/共94頁

由脫離硬件的系統(tǒng)級(jí)開始設(shè)計(jì),優(yōu)勢是直觀、快捷、高效、靈活、易于排錯(cuò)與及時(shí)修改,非常有利于對(duì)復(fù)雜系統(tǒng)的構(gòu)建、測試及可行性判斷,及時(shí)更改設(shè)計(jì)方案,同時(shí)也有利于系統(tǒng)的模塊化構(gòu)建、模塊化測試和模塊化重利用,是高效率低風(fēng)險(xiǎn)設(shè)計(jì)的有效解決方案。將軟件設(shè)計(jì)與硬件實(shí)現(xiàn)直接握手,是電子設(shè)計(jì)的難點(diǎn),這對(duì)于傳統(tǒng)電子設(shè)計(jì)來講是不可思議的事情。這種設(shè)計(jì)流程的前提是必須使用硬件描述語言HDL和FPGA,因此傳統(tǒng)的DSP處理器的開發(fā)很難介入到這個(gè)流程中。第60頁/共94頁1.3兩類DSP解決方案的比較

本節(jié)結(jié)合以上討論的結(jié)果,對(duì)現(xiàn)代DSP技術(shù)與傳統(tǒng)DSP技術(shù)作一個(gè)一般性的比較。這里所謂的傳統(tǒng)DSP技術(shù)主要是指以DSP處理器為核心或作為主要處理單元的DSP應(yīng)用系統(tǒng)及其開發(fā)技術(shù),也包括將FPGA或CPLD作為這些系統(tǒng)中DSP輔助處理或接口等功能的情況。需要指出的是,至少在目前,這兩種技術(shù)還沒有較好地相互替代(或相互包含、相互覆蓋),第61頁/共94頁

也沒有很好地相互融合。例如在通信領(lǐng)域中,DSP處理器在基帶處理功能方面具有不可替代的優(yōu)越性,而在典型的軟件無線電系統(tǒng)中的寬頻處理、高頻段的信號(hào)處理,包括通信系統(tǒng)結(jié)構(gòu)的開放性、標(biāo)準(zhǔn)化、模塊化,以及工作頻段收發(fā)可變性,調(diào)制解調(diào)類型,數(shù)據(jù)格式,加/解密模式,通信協(xié)議,總線結(jié)構(gòu)等的可變性,傳輸格式及通信體制的互通性和可變性等等方面,F(xiàn)PGA無疑將成為主要選擇!嚴(yán)格地說,現(xiàn)代DSP技術(shù)不可能融入傳統(tǒng)DSP技術(shù)的內(nèi)容,但反過來卻可以,不過仍應(yīng)屬于傳統(tǒng)技術(shù)范疇,因?yàn)槠渥缘紫蛏系脑O(shè)計(jì)流程沒有改變。第62頁/共94頁

現(xiàn)代DSP技術(shù)與傳統(tǒng)DSP技術(shù)的不同之處主要表現(xiàn)在以下幾個(gè)方面:

1.系統(tǒng)工作速度不同與FPGA相比,DSP處理器最大的劣勢之一是處理速度比較慢。盡管在硬件結(jié)構(gòu)上作了大量的改進(jìn),如增加硬件乘法累加模塊和加入各種專用的加速協(xié)處理器等,但其速度瓶頸來自于基于CPU的指令順序執(zhí)行的基本工作模式,以及通常使用的多片DSP組合電路和過多的外部接口電路(FPGA通常可以實(shí)現(xiàn)單片系統(tǒng))導(dǎo)致的信號(hào)通道過長、過復(fù)雜。下面以FIR數(shù)字濾波器的設(shè)計(jì)為例,對(duì)兩種DSP解決方案的計(jì)算速度作一些比較。第63頁/共94頁

圖1-12所示的是用多種途徑實(shí)現(xiàn)16階8位FIR數(shù)字濾波器在速度和相位線性等方面的綜合性能的對(duì)比情況。柱面圖高度表示相對(duì)性能指標(biāo),五個(gè)柱面分別表示用五種不同器件實(shí)現(xiàn)16階8位FIR濾波器性能的相對(duì)指數(shù)(以TMS320C2XX系列50MHz的DSP芯片的綜合性能為比較基準(zhǔn)),它們分別是133MHz的專用CPU、50MHz的DSP處理器芯片、4個(gè)同類50MHzDSP處理器聯(lián)合工作的情況和EPF8820A-2與EPF81500A-2的ALTERA的FPGA產(chǎn)品。第64頁/共94頁圖1-12實(shí)現(xiàn)16階8位FIR濾波器綜合性能對(duì)比第65頁/共94頁

由圖不難看出用FPGA實(shí)現(xiàn)濾波器在性能上的明顯優(yōu)勢。以FPGA器件EPF81500A-2實(shí)現(xiàn)的數(shù)字濾波器的綜合性能是普通DSP器件的67倍多。以下再以目前完成乘法累加速度最快的TI的C6X系列DSP處理器、最常用的DSP處理器和FPGA完成同一算法(即8位224階FIR濾波器)進(jìn)行比較見表1-1。第66頁/共94頁表1-1FPGA與DSP處理器運(yùn)算速度的比較功能實(shí)現(xiàn)資源需求TITMS320C5402TITMS320C6414ALTERAFPGAEP1S120階數(shù)224224224乘法累加器數(shù)18(最大)224(28個(gè)DSP模塊)內(nèi)部時(shí)鐘速度100?MHz600?MHz250?MHz算出結(jié)果的時(shí)鐘周期數(shù)224281每秒乘加運(yùn)算次數(shù)0.1GMACs4.8GMACs56GMACs第67頁/共94頁

由表1-1可見,EP1S20型的FPGA的乘加速度最快,每秒為56千兆個(gè)MAC操作,是TMS320C6414的12倍,TMS320C5402的560倍。而這時(shí)FPGA中采用的內(nèi)部時(shí)鐘速度還不到TMS320C6414的1/2。此外還應(yīng)看到兩點(diǎn):

(1)TMS320C6414和TMS320C5402中的MAC模塊的極限分別是8和1,而EP1S120中的224個(gè)類似于MAC的DSP模塊數(shù)卻非極限,因?yàn)镕PGA中有數(shù)以萬計(jì)的邏輯宏單元LCs可供隨意組合成各種類型的硬件電路功能模塊。第68頁/共94頁(2)TMS320C6414與EP1S120的單片售價(jià)相當(dāng),但在實(shí)用DSP系統(tǒng)中,單片C6X幾乎無法完成實(shí)際的運(yùn)算任務(wù),而FPGA卻常能構(gòu)成單片系統(tǒng)。從表1-1的比較結(jié)果不難推知,DSP處理器在諸如實(shí)時(shí)控制、實(shí)時(shí)編/譯碼、實(shí)時(shí)圖像識(shí)別/處理、實(shí)時(shí)通信、實(shí)時(shí)跳頻、實(shí)時(shí)傳輸?shù)葘?shí)時(shí)操作領(lǐng)域較難有所作為。值得注意的是,處理器TMS320C5402是目前國內(nèi)絕大多數(shù)DSP實(shí)驗(yàn)室中的主流器件。第69頁/共94頁2.設(shè)計(jì)流程不同在上一節(jié)中已對(duì)兩種解決方案的設(shè)計(jì)流程作了說明。比較圖1-3和圖1-7,不難發(fā)現(xiàn)兩種設(shè)計(jì)流程恰好相反,前者是自底向上的設(shè)計(jì)流程,后者是自頂向下的設(shè)計(jì)流程。在圖1-3的流程中,由于必須首先完成硬件系統(tǒng)的設(shè)計(jì),以供仿真調(diào)試之用,然而在沒有進(jìn)行任何有效的系統(tǒng)可行性評(píng)估、硬件電路測試和實(shí)時(shí)仿真的情況下,就不得不首先確定DSP器件的型號(hào)、系統(tǒng)電路原理圖及系統(tǒng)板的設(shè)計(jì),而且此后很難隨心所欲地更改。這一切無疑具有相當(dāng)?shù)拿つ啃院惋L(fēng)險(xiǎn)性(包括成本風(fēng)險(xiǎn)及開發(fā)周期的風(fēng)險(xiǎn)),這將嚴(yán)重影響開發(fā)的效率和成功率。第70頁/共94頁

不難發(fā)現(xiàn),自底向上的設(shè)計(jì)流程將導(dǎo)致這樣一個(gè)佯謬:實(shí)時(shí)仿真調(diào)試的目的是為了設(shè)計(jì)出符合要求的DSP系統(tǒng),然而如果沒有這樣一個(gè)系統(tǒng)就根本無法進(jìn)行實(shí)時(shí)仿真調(diào)試。這是一個(gè)互為依據(jù)、自相矛盾的現(xiàn)象,顯然是一種不科學(xué)的、被動(dòng)的和無奈的選擇。自頂向下的設(shè)計(jì)流程則徹底解決了這一矛盾。如圖1-7所示,系統(tǒng)設(shè)計(jì)可以在與硬件無關(guān)的環(huán)境中完成,實(shí)時(shí)時(shí)序仿真完全可以在實(shí)際的硬件電路系統(tǒng)設(shè)計(jì)出來以前進(jìn)行,第71頁/共94頁

至于選擇或更改總線寬度、浮點(diǎn)或定點(diǎn)數(shù)據(jù)的類型、單精度或雙精度格式、串/并行處理方式,以及硬件加速模塊的使用類型、數(shù)量、方式等等十分重要的工作,都可以在MATLAB的Simulink頂層設(shè)計(jì)環(huán)境中隨時(shí)完成而不必顧及今后硬件的選擇。顯然自頂向下的設(shè)計(jì)流程對(duì)于硬件系統(tǒng)的結(jié)構(gòu)控制具有全程的主動(dòng)權(quán)和能動(dòng)性,是優(yōu)化設(shè)計(jì)和高效開發(fā)的必要條件。第72頁/共94頁3.系統(tǒng)結(jié)構(gòu)可重構(gòu)性不同雖然加載不同的軟件程序能夠改變DSP處理器的功能,但這種相對(duì)于AISC系統(tǒng)來說十分靈活的功能并沒有什么實(shí)用價(jià)值。因?yàn)閮H僅通過對(duì)DSP處理器加載不同的程序代碼,并不能有效地改變DSP系統(tǒng)的諸如吞吐量、數(shù)據(jù)總線寬度、DSP加速模塊的數(shù)量與功能、調(diào)制模式(如AM、FM、ISB、FSK、PSK、MSK、QAM等)、實(shí)時(shí)加/解密算法、模塊DSP系統(tǒng)、處理頻段帶寬、通信協(xié)議、動(dòng)態(tài)范圍、制式(如FDM、TDM、CDMA、WCDMA間的切換)等等技術(shù)參數(shù)和技術(shù)方案。第73頁/共94頁

這是因?yàn)檫@一切必須完全改變硬件結(jié)構(gòu)、硬件功能和硬件組成才能實(shí)現(xiàn)。即除非DSP系統(tǒng)具有硬件可重構(gòu)性,即結(jié)構(gòu)有可重配置性才能實(shí)現(xiàn)上述變化。由于不同的配置文件下載于FPGA后,將能獲得不同的硬件結(jié)構(gòu)和硬件功能,因此基于FPGA的DSP系統(tǒng)具有良好的系統(tǒng)結(jié)構(gòu)可重配置特性。不同的配置文件對(duì)于FPGA的加載可以有多種方式,如下所述。第74頁/共94頁(1)將多個(gè)配置文件預(yù)先存儲(chǔ)在DSP系統(tǒng)的ROM中,系統(tǒng)根據(jù)實(shí)際需要自動(dòng)選擇下載的配置文件。缺點(diǎn)是配置文件數(shù)有限。

(2)將配置文件全部預(yù)存在大存儲(chǔ)器中,或PC機(jī)中,由外圍系統(tǒng)選擇下載配置文件。

(3)通過無線遙控方式,對(duì)遠(yuǎn)處的DSP應(yīng)用系統(tǒng)進(jìn)行配置,從而遙控改變功能模塊或系統(tǒng)的硬件結(jié)構(gòu),達(dá)到改變技術(shù)指標(biāo)和硬件工作方式的目的。

(4)通過互聯(lián)網(wǎng)進(jìn)行配置,實(shí)現(xiàn)遠(yuǎn)程硬件結(jié)構(gòu)控制。第75頁/共94頁4.仿真測試技術(shù)不同

DSP處理器開發(fā)中除了可以利用MATLAB等工具完成算法仿真外,唯一有實(shí)際意義的仿真是借助于實(shí)時(shí)開發(fā)系統(tǒng)的仿真,即必須與實(shí)際的硬件系統(tǒng)相連后才能進(jìn)行。然而從仿真的嚴(yán)格意義上講,這不能稱之為“仿真”,而只能稱為“硬件調(diào)試”,即所謂的“HardwareDebug”,因?yàn)閷?duì)于A/D和D/A模擬信號(hào)的測試,特別是實(shí)時(shí)測試,只能通過實(shí)際的儀表才能實(shí)現(xiàn)。所以說只有脫離了作為仿真對(duì)象的硬件系統(tǒng)的測試活動(dòng)才能稱為“仿真”。

第76頁/共94頁

而在DSP處理器系統(tǒng)的“仿真”中,就有些相當(dāng)于“生米煮成熟飯”的感覺,當(dāng)在“硬件調(diào)試”中發(fā)現(xiàn)有問題時(shí),如果不是來自源程序本身的錯(cuò)誤,除非徹底更改整個(gè)硬件系統(tǒng),否則就只能將就接受“既成事實(shí)”了。而且這種“仿真”的實(shí)際意義僅在于,假設(shè)(事實(shí)也要求)待開發(fā)的硬件系統(tǒng)已經(jīng)設(shè)計(jì)成功并能正常工作的條件下,完成DSP源程序在硬件系統(tǒng)上的調(diào)試活動(dòng)。因此,這種“硬件調(diào)試”的意義就弱化了許多。另外由于仿真調(diào)試的環(huán)節(jié)太單一,許多軟硬件中的存在問題的定位十分困難,對(duì)于多DSP器件組成的大系統(tǒng)調(diào)試效率很低。第77頁/共94頁

基于FPGA的DSP開發(fā)流程則不同,由圖1-8和1-11可見,整個(gè)流程有多個(gè)層次的仿真測試和硬件調(diào)試環(huán)節(jié)。主要可分為下述5個(gè)環(huán)節(jié):

(1)基于MATLAB/Simulink模型的系統(tǒng)級(jí)仿真,包括對(duì)數(shù)字信號(hào)和模擬信號(hào)的仿真測試。這個(gè)仿真環(huán)節(jié)可以對(duì)系統(tǒng)構(gòu)成和算法模型進(jìn)行調(diào)試和評(píng)估;

(2)利用功能強(qiáng)大的HDL仿真器ModelSim進(jìn)行RTL級(jí)功能仿真和模擬信號(hào)仿真;

(3)利用ModelSim對(duì)DSP數(shù)字系統(tǒng)進(jìn)行實(shí)時(shí)時(shí)序仿真;第78頁/共94頁(4)利用QuartusII中的門級(jí)仿真器進(jìn)行時(shí)序仿真;

(5)利用嵌入式邏輯分析儀SignalTapII對(duì)DSP硬件系統(tǒng)進(jìn)行測試。在以上5個(gè)仿真測試環(huán)節(jié)中的任何一處發(fā)現(xiàn)問題,都可以隨時(shí)修正和排除。

5.系統(tǒng)知識(shí)產(chǎn)權(quán)自主性不同由于基于FPGA的DSP系統(tǒng)主要是純硬件系統(tǒng)設(shè)計(jì),可選的硬件實(shí)現(xiàn)方式很多,因此系統(tǒng)具有較好的自主知識(shí)產(chǎn)權(quán)屬性?;贒SP處理器的系統(tǒng)則沒有這種屬性。第79頁/共94頁6.開發(fā)技術(shù)標(biāo)準(zhǔn)化、規(guī)范化與技術(shù)兼容性不同為了適應(yīng)不同DSP應(yīng)用系統(tǒng)的技術(shù)指標(biāo)要求和適用領(lǐng)域,必須推出不同系列和功能特點(diǎn)的DSP處理器,而不同的DSP處理器其硬件結(jié)構(gòu)通常都有較大的差別,因此對(duì)應(yīng)不同的匯編語言,需要不同的軟硬件開發(fā)工具和仿真器。此外,由于相應(yīng)的C程序的運(yùn)行效率比較低,實(shí)時(shí)要求較高的系統(tǒng)仍然需要利用匯編語言進(jìn)行開發(fā),因此,調(diào)試成熟的軟件模塊難以移植和再利用。第80頁/共94頁

在這里,硬件結(jié)構(gòu)與計(jì)算機(jī)語言的密切相關(guān)性、仿真測試與硬件系統(tǒng)的密切相關(guān)性,以及系統(tǒng)性能與DSP處理器選擇的密切相關(guān)性,注定了無論是設(shè)計(jì)流程、仿真開發(fā)工具還是開發(fā)語言都不可能得到標(biāo)準(zhǔn)化、規(guī)范化,從而極大地降低了DSP開發(fā)技術(shù)的學(xué)習(xí)效率、開發(fā)效率、實(shí)現(xiàn)效率及升級(jí)更新效率。傳統(tǒng)DSP技術(shù)難以標(biāo)準(zhǔn)化的另一重要原因是,該技術(shù)的實(shí)現(xiàn)流程過于單向化,技術(shù)兼容性不好,很難與其它開發(fā)技術(shù)融為一體。如單片機(jī)開發(fā)技術(shù)、嵌入式系統(tǒng)開發(fā)技術(shù)、可配置模擬系統(tǒng)開發(fā)技術(shù)、大規(guī)??删幊踢壿嬒到y(tǒng)開發(fā)技術(shù),乃至SOC開發(fā)技術(shù)等。第81頁/共94頁

開發(fā)技術(shù)標(biāo)準(zhǔn)化和規(guī)范化是現(xiàn)代DSP技術(shù)的優(yōu)勢之一。自頂向下的設(shè)計(jì)流程為DSP開發(fā)技術(shù)的標(biāo)準(zhǔn)化奠定了基礎(chǔ);標(biāo)準(zhǔn)化的硬件描述語言和大量支持這一語言的綜合器與仿真器構(gòu)成了這一技術(shù)的核心;功能強(qiáng)大、適用面廣的DSP開發(fā)集成環(huán)境將多種開發(fā)目標(biāo)兼收并蓄;大規(guī)模的可重配置器件FPGA/CPLD及相關(guān)的軟硬IP核確保了DSP硬件系統(tǒng)高效高質(zhì)的實(shí)現(xiàn)。第82頁/共94頁7.掌握開發(fā)技術(shù)的難易程度不同掌握傳統(tǒng)DSP技術(shù)的困難主要來自以下幾個(gè)方面:

(1)不同的開發(fā)目標(biāo)需要選擇不同的DSP處理器,詳細(xì)了解DSP器件的結(jié)構(gòu)對(duì)正確地設(shè)計(jì)DSP硬件系統(tǒng)至關(guān)重要,特別需要多片DSP聯(lián)用時(shí)更是如此。對(duì)器件硬件結(jié)構(gòu)的熟悉和關(guān)注能力需要相當(dāng)?shù)挠布_發(fā)經(jīng)驗(yàn),這顯然增加了學(xué)習(xí)的難度。

(2)不同的DSP處理器結(jié)構(gòu)將對(duì)應(yīng)不同的匯編語言,以及不同的編程方法和編程技巧。語言與結(jié)構(gòu)的密切相關(guān)性在明顯增加學(xué)習(xí)難度的同時(shí),縮短了新的計(jì)算機(jī)語言的可用性周期,即學(xué)會(huì)的軟硬件知識(shí)容易過時(shí)。第83頁/共94頁(3)不同的DSP處理器結(jié)構(gòu)、不同的匯編語言及其對(duì)應(yīng)的不同的DSP系統(tǒng)結(jié)構(gòu),都將對(duì)應(yīng)不同的仿真開發(fā)工具以及編譯軟件。

(4)由于必須直接使用計(jì)算機(jī)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論