




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第1章章 概述概述 1.1 DSP實(shí)現(xiàn)方案及設(shè)計(jì)流程實(shí)現(xiàn)方案及設(shè)計(jì)流程 1.2 現(xiàn)代現(xiàn)代DSP設(shè)計(jì)流程概述設(shè)計(jì)流程概述 1.3 兩類兩類DSP解決方案的比較解決方案的比較 1.1 DSP實(shí)現(xiàn)方案及設(shè)計(jì)流程實(shí)現(xiàn)方案及設(shè)計(jì)流程 不斷發(fā)展的數(shù)字信號(hào)處理(DSP,Digital Signal Processing)技術(shù)迅速地?cái)U(kuò)展到了其應(yīng)用領(lǐng)域,如3 G移 動(dòng)通信、網(wǎng)絡(luò)會(huì)議、多媒體系統(tǒng)、雷達(dá)衛(wèi)星系統(tǒng)、醫(yī) 學(xué)儀器、實(shí)時(shí)圖像識(shí)別與處理、聯(lián)合戰(zhàn)術(shù)無線電系統(tǒng)、 智能基站,以及民用電器等。所有這一切在功能實(shí)現(xiàn)、 性能指標(biāo)與成本方面都在不斷增加其要求。 在過去很長一段時(shí)間,DSP處理器(如TI的 TMS320系列
2、)是DSP應(yīng)用系統(tǒng)核心器件的惟一選擇。盡 管DSP處理器具有通過軟件設(shè)計(jì)能適用于實(shí)現(xiàn)不同功 能的靈活性,但面對當(dāng)今迅速變化的DSP應(yīng)用市場, 特別是面對現(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)(Customized DSP或Reconfigurable DSP 等), 如軟件無線電、醫(yī)用設(shè)備、導(dǎo)
3、航、工業(yè)控制等方面。 至于在滿足速度要求方面,由于采用了順序執(zhí)行的 CPU架構(gòu),DSP處理器則更加不堪重負(fù)。 面向DSP的各類專用ASIC芯片雖然可以解決并行 性和速度的問題,但是高昂的開發(fā)設(shè)計(jì)費(fèi)用、耗時(shí)的 設(shè)計(jì)周期及不靈活的純硬件結(jié)構(gòu),使得DSP的ASIC解 決方案日益失去其實(shí)用性。 現(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)非常易于修改、易于
4、測 試及硬件升級。 在利用FPGA進(jìn)行DSP系統(tǒng)的開發(fā)應(yīng)用上,已有了 全新的設(shè)計(jì)工具和設(shè)計(jì)流程。DSP Builder就是Altera公 司推出的一個(gè)面向DSP開發(fā)的系統(tǒng)級工具。它是作為 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è)組成部分,用于圖形化建模仿真。 DSP Builder作為Simulink中的一個(gè)工具箱,使得 用FPGA設(shè)計(jì)DSP系統(tǒng)完全可以通過Simulink的圖形化 界面進(jìn)行,只要簡單
5、地進(jìn)行DSP Builder工具箱中的模 塊調(diào)用即可。值得注意的是,DSP Builder中的DSP基 本模塊是以算法級的描述出現(xiàn)的,易于用戶從系統(tǒng)或 者算法級進(jìn)行理解,甚至不需要了解FPGA本身和硬件 描述語言。 為了滿足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)方案 有多種,對于不同的應(yīng)用領(lǐng)域、適用范圍和指標(biāo)要求, 可以選用不同的解決方案和DSP系統(tǒng)的實(shí)現(xiàn)器件。目 前,為了完成DSP的開發(fā)與應(yīng)用
6、,可選的目標(biāo)器件有 如下4類: DSP Processor DSP處理器; ASICs(Application-Specific Integrated Circuits) 專 用集成電路; ASSPs(Application-Specific Standard Proucts) 專 用標(biāo)準(zhǔn)電路模塊; FPGA。 DSP Processor主要是指目前最常用的基于CPU架構(gòu) 的器件,通過軟件指令的方式完成DSP算法。早期的 DSP處理器(如大多數(shù)DSP實(shí)驗(yàn)室中采用的 TMS320VC5402)中只有一個(gè)乘法器,而現(xiàn)在的處理器 (如C6000系列)中,有的已達(dá)8個(gè)乘法器,工作性能有 了很大的提高。
7、 Processor在硬件結(jié)構(gòu)上的不斷改進(jìn),并沒有擺脫傳 統(tǒng)CPU的工作模式。因而,盡管擁有多個(gè)硬件乘加器, 使用了環(huán)形疊代的方法進(jìn)行乘法操作,且許多DSP處 理器還擁有使用多乘法器的并行指令,用于加速算術(shù) 運(yùn)算,然而由于其順序的工作方式、較低的數(shù)據(jù)處理 速率,以及缺乏實(shí)時(shí)工作的性能,使其至今仍只適合 于低端的數(shù)字信號(hào)處理。 傳統(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)用程序加載工作 方式外,與普通單
8、片機(jī)應(yīng)用系統(tǒng)十分相似,只要將調(diào) 試好的機(jī)器碼放在程序ROM中,就能使系統(tǒng)正常工作。 因此通過這種硬件結(jié)構(gòu),能對實(shí)現(xiàn)各種數(shù)據(jù)處理的程 序進(jìn)行有效的執(zhí)行。由此可知,這種靈活性幾乎是沒 有限制的,因?yàn)?,只要能用對?yīng)指令程序表達(dá)出DSP 算法,其硬件結(jié)構(gòu)都能接受并執(zhí)行。 圖1-1 基于通用DSP處理器的DSP系統(tǒng) 程序寄存器 地址發(fā)生器 程序ROM 高速I/O接口 (串行、并行、 ADC、DAC等) I/O控制器 (DMA) 程序RAM 數(shù)據(jù)RAM 移位器 ALU 乘法器 數(shù)據(jù)寄存器 數(shù)據(jù)RAM 地址發(fā)生器 程序代碼 Boot控制 程序ROM 數(shù)據(jù)總線 RAM 數(shù)據(jù)總線 程序ROM 地址總線 數(shù)據(jù)RA
9、M 地址總線 指令Cache 指令譯碼序列發(fā)生器 通用DSP處理器結(jié)構(gòu) 然而,各種算法可實(shí)現(xiàn)的靈活性與各種技術(shù)指標(biāo)的可 實(shí)現(xiàn)性,以及硬件結(jié)構(gòu)的可變性完全是兩回事。 ASSP和ASIC是專門針對完成某種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,I
10、IR濾波器)都優(yōu)于DSP處理器,但在功能重構(gòu),以及 應(yīng)用性修正方面缺乏靈活性;ASIC雖然有一定的可定制性, 但開發(fā)周期長,而且有一個(gè)最小定制量,因此應(yīng)用風(fēng)險(xiǎn)和 開發(fā)成本過高,正在逐漸失去其實(shí)用性。 但若直接使用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處理器。對DSP處理器需要大量運(yùn)算指令 完成的工作,F(xiàn)PGA只需一個(gè)時(shí)鐘周期的時(shí)間就能完成
11、。而 在順序執(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處理器。 圖1-2 DSP處理器順序工作方式與FPGA的并行工作方式 乘加操作乘加操作乘加操作乘加操作乘加操作 DSP引擎 FPGA器件 (并行工作方式) 1個(gè)時(shí)鐘并行操作 順序(串行)操作 n個(gè)時(shí)鐘 傳統(tǒng)DSP處理器 (順序工作方式) 存儲(chǔ)器 乘加操作 乘加操作 乘加操作 乘加操作乘加操作乘加操作乘加操作 乘加操作乘加操作乘加操作
12、乘加操作 乘加操作乘加操作乘加操作乘加操作 乘加操作乘加操作乘加操作乘加操作 DSP處理器的靈活性主要表現(xiàn)在軟件更改的容易性 以及對各種算法的處理和復(fù)雜算法的實(shí)現(xiàn)上,而對于系 統(tǒng)硬件本身的更改,DSP是沒有任何靈活性可言的。 現(xiàn)代大容量FPGA以其相關(guān)的開發(fā)技術(shù)在可重配置 的DSP應(yīng)用領(lǐng)域,以及DSP數(shù)據(jù)大吞吐量和數(shù)據(jù)的純硬 件處理方面,有獨(dú)特的優(yōu)勢。FPGA面對傳統(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)、 通信方式
13、、硬件加密算法、編解碼方式等等。 這種結(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)。 1.1.2 DSP處理器結(jié)構(gòu)與性能的發(fā)展 DSP處理器與
14、普通處理器的基本差異是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)算。 盡管在DSP處理器中增加更多的MAC
15、單元,能進(jìn) 一步提高DSP的吞吐量,但對于某些一般數(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é)果成本增加了,通 用性下降了。 因此,大部分的DSP應(yīng)用場合并沒有從這種增加了 各種硬件加速器的DSP結(jié)構(gòu)的變化中得到好處。不但如
16、 此,這種硬件加速器模塊是一種固定的硬件結(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í)。 針對這種情況,DSP處理器生產(chǎn)商又試圖在DSP中 增加一些可定制的指令,以便能對結(jié)構(gòu)功能根據(jù)要求作 一定的改變。然而這些修補(bǔ)并沒有從根本上解決問題。 為了彌補(bǔ)速度及吞吐量的不足,實(shí)用的DSP系統(tǒng)使 用多片DSP處理器進(jìn)行并行工作已經(jīng)是十分普遍的事, 但這也同時(shí)帶來了系統(tǒng)在靈活性、功耗、成本、體積、 可靠性等技術(shù)性能上的進(jìn)一步變差。 1.1.3 FPGA的結(jié)構(gòu)與性能的發(fā)展 FPGA器件
17、是由大量邏輯宏單元構(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ò)接口等等。 隨著達(dá)數(shù)百萬門高密度的FPGA的出現(xiàn),F(xiàn)PGA在 原有的高密度的邏輯宏單元的基礎(chǔ)上嵌入了許多面向 DSP的專用硬核模塊,結(jié)合大量可配置于FPGA硬件結(jié) 構(gòu)中的參數(shù)化的DSP IP軟核,DSP開發(fā)者能十分容易
18、地 將整個(gè)DSP應(yīng)用系統(tǒng)實(shí)現(xiàn)在一片F(xiàn)PGA中,從而實(shí)現(xiàn)了 所謂的可編程SOC系統(tǒng),即SOPC。 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) 今主流的D
19、SP處理器只能達(dá)到4.8 GMACs。 此外,絕大部分的DSP處理器應(yīng)用系統(tǒng)是用外部存 儲(chǔ)器來解決大數(shù)據(jù)量的處理的。然而FPGA的嵌入式高 速可配置存儲(chǔ)器在大多數(shù)情況下都能滿足相類似的數(shù) 據(jù)處理要求。例如,Stratix系列的FPGA可提供達(dá)10 Mb/s速率的嵌入式RAM。 FPGA中的嵌入式處理器進(jìn)一步提高了FPGA的系 統(tǒng)集成和靈活性,使之成為一個(gè)軟件與硬件聯(lián)合開發(fā) 和靈活定制的結(jié)合體,可使設(shè)計(jì)者既能在嵌入式處理 器中完成系統(tǒng)軟件模塊的開發(fā)和利用,也能利用FPGA 的通用邏輯宏單元完成硬件功能模塊的開發(fā)。Altera的 FPGA器件還為用戶提供了嵌入式處理器軟核與硬核的 選擇。 嵌入式處
20、理器軟核是由網(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)域。 硬核
21、處理器主要指在Excalibur系列FPGA中的ARM 核。這種核已預(yù)先嵌入在FPGA中,含有完整的外圍接 口系統(tǒng),如SDRAM、存儲(chǔ)器控制單元、UART等。 現(xiàn)代的FPGA中含有十分靈活的、針對特定算法的 加速器模塊。與傳統(tǒng)的DSP處理器中的加速器模塊不 同,F(xiàn)PGA中實(shí)現(xiàn)的硬件加速器是可以針對不同應(yīng)用的, 這可以使設(shè)計(jì)者針對不同的DSP任務(wù)實(shí)現(xiàn)硬件功能。 設(shè)計(jì)者針對具體任務(wù)在FPGA中實(shí)現(xiàn)硬件加速器模塊的 途徑很多,主要有下述幾種: 用硬件描述語言HDL完成; 基于通用邏輯宏單元LCs的HDL設(shè)計(jì); 基于可配置的DSP硬核模塊:存儲(chǔ)器、乘法器、并行 加法器、累加器等; 基于全參數(shù)可設(shè)置的D
22、SP軟IP核的應(yīng)用(進(jìn)入FPGA中后 其將成為性能優(yōu)良的硬件 模塊); Nios軟核處理器; ARM硬核處理器。 在基于FPGA的DSP開發(fā)中,面向DSP的IP核的應(yīng) 用是最方便的設(shè)計(jì)方案。由Altera與其AMPP合作伙伴 (Altera Megafunction Partner Program)提供針對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)
23、糾錯(cuò)IP核(如Viterbi,Turbo, CRC等)。 以上的每一個(gè)核都可以利用Quartus II中的 “MegaWizard Plug-In Manager”管理器進(jìn)行參數(shù)設(shè)置以構(gòu)成 針對特定應(yīng)用的硬件功能模塊。這種通過軟件設(shè)置能隨意改 變專用硬件模塊功能的技術(shù),極大地提高了FPGA在DSP設(shè) 計(jì)方面的靈活性。IP核的利用,可以使設(shè)計(jì)者將IP核加入到 任何標(biāo)準(zhǔn)硬件描述語言中,完成特定的功能而不改變原來的 設(shè)計(jì)程序;即使在設(shè)計(jì)中和設(shè)計(jì)完成后,都能根據(jù)實(shí)際需要 改變嵌入的IP核的技術(shù)參數(shù),而不改變整體設(shè)計(jì)綜合得來的 代碼,從而改變DSP系統(tǒng)的技術(shù)指標(biāo)和硬件功能。此外,IP 核本身基本不依賴于
24、某種特定的FPGA硬件結(jié)構(gòu),即具有硬 件通用性(這一點(diǎn)與DSP處理器及其庫程序有很大不同),因 此可以在更新、更廉價(jià)的FPGA中實(shí)現(xiàn)。 顯然,F(xiàn)PGA與軟IP核的巨大靈活性能十分迅速地 對即使是已經(jīng)完成的設(shè)計(jì)系統(tǒng),仍然能適應(yīng)通信領(lǐng)域 中不同的,諸如Wireless802.lla, Wireless Broadband Working Group 802.16及HiperLAN12等的新標(biāo)準(zhǔn)的要求, 而絕對不必如使用傳統(tǒng)DSP處理器那樣,要等待很長 時(shí)間才能有適用的器件出現(xiàn),或是在開發(fā)前期必須針 對某種通信的標(biāo)準(zhǔn),而費(fèi)時(shí)費(fèi)力地確定某款合適的 DSP處理器型號(hào)。 1.1.4 基于DSP處理器的DS
25、P設(shè)計(jì)流程 圖1-3是傳統(tǒng)的DSP系統(tǒng)的典型開發(fā)流程。大致步 驟如下: (1) DSP開發(fā)者首先使用諸如MATLAB這樣的數(shù)學(xué) 開發(fā)工具對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à)值。 (2) 根據(jù)DSP目標(biāo)系統(tǒng)的功能要求、技術(shù)指標(biāo)、系統(tǒng) 升級可行性、性能標(biāo)準(zhǔn)可能的變化以及成本限度等因素, 具體確定DSP處理器(并行使用的)數(shù)量和型號(hào)
26、。這時(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ī) 范的升級要求中無法實(shí)現(xiàn),將出現(xiàn)整個(gè)硬件系統(tǒng)必須重新 開發(fā)的嚴(yán)重局面。 圖1-3 基于DSP處理器的開發(fā)流程 編譯 軟件工具: Compiler, Assembler, Linker And Debugger 根據(jù)D
27、SP模型寫 匯編程序或C程序 基于C的 DSP庫 根據(jù)DSP仿真模型和 功能要求完成DSP應(yīng)用系統(tǒng) 評估板或測試板的設(shè)計(jì) 根據(jù)DSP仿真模型、 應(yīng)用系統(tǒng)的功能 以及技術(shù)指標(biāo),確定 DSP處理器的數(shù)量和型號(hào) MATLAB/Simulink DSP算法模型建立 系統(tǒng)仿真 完成DSP實(shí)用系統(tǒng) 仿真調(diào)試 (3) 根據(jù)選定的DSP處理器和系統(tǒng)功能要求,完成 應(yīng)用系統(tǒ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評估板的硬件 結(jié)構(gòu),編寫C、C+程序,或匯編程序。在DSP標(biāo)準(zhǔn)開 發(fā)環(huán)境中(如TI
28、的CCS)進(jìn)行編譯、仿真,然后通過DSP 硬件仿真器在應(yīng)用板或評估板上進(jìn)行調(diào)試和實(shí)時(shí)仿真。 這一過程中,還能使用基于C的標(biāo)準(zhǔn)DSP功能塊庫來加 速開發(fā)進(jìn)程。 但是如果考慮到系統(tǒng)的實(shí)時(shí)性,包括數(shù)據(jù)運(yùn)算、 采樣和輸出的高速高效性,就必須使用匯編程序來完 成設(shè)計(jì),這時(shí)就必須嚴(yán)格考慮具體的器件型號(hào)和對應(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)。 1.1.5 基于FPGA的DSP設(shè)計(jì)流程 在早些時(shí)候
29、,DSP開發(fā)者只能直接使用VHDL或 VerilogHDL語言進(jìn)行FPGA的DSP系統(tǒng)設(shè)計(jì),難度比較 大。現(xiàn)在已經(jīng)出現(xiàn)了許多新的基于FPGA的DSP開發(fā)工 具。如DSP Builder、SOPC Builder、System Generator 等,以及完整的軟件開發(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ì)流程。 圖1-4 基于FPGA的軟件與硬件開發(fā)流程 DSP開發(fā)算法建模 軟件庫 基于FPGA的 軟件與硬件設(shè)計(jì)流程 建立系統(tǒng)軟件開發(fā) FPGA DSP系統(tǒng)實(shí)現(xiàn)
30、圖1-5 基于FPGA的軟件與硬件加速設(shè)計(jì)流程 建立系統(tǒng) DSP設(shè)計(jì) 硬件加速器 功能塊 FPGA DSP系統(tǒng)實(shí)現(xiàn) 基于FPGA的 軟件與硬件加速 設(shè)計(jì)流程 軟件庫 DSP開發(fā)算法建模 軟件開發(fā) 圖1-6 基于FPGA的硬件開發(fā)流程 轉(zhuǎn)變成HDL DSP開發(fā)算法建模 基于FPGA的 硬件設(shè)計(jì)流程 FPGA DSP系統(tǒng)實(shí)現(xiàn) 圖1-7 基于FPGA的系統(tǒng)級開發(fā)流程 FPGA DSP系統(tǒng)實(shí)現(xiàn) MATLAB/Simulink建模/仿真 VHDL轉(zhuǎn)換/邏輯綜合/功能仿真/ 編譯適配/時(shí)序?qū)崟r(shí)仿真/硬件配置 DSP系統(tǒng)建模 DSP Builder 綜合、適配 布線、布局 (QuartusII) 基于IP核
31、的 DSP庫 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)在靈活性、功能和成本方面都有很好 的提高。 DSP開發(fā)者可以將軟件設(shè)計(jì)流程與硬件加速模塊 結(jié)合起來??梢允紫冗M(jìn)行C程序的編程,并且將其中的 必
32、須的部分形成專用、高效的功能塊,使用DSP IP核 或直接開發(fā)定制指令,在FPGA中可以加速系統(tǒng)功能的 高效實(shí)現(xiàn),而其它的一些要求不高的DSP算法以及系 統(tǒng)控制程序則可在嵌入式Nios中完成。此外,Altera還 提供了系統(tǒng)級的設(shè)計(jì)工具,即SOPC Builder。設(shè)計(jì)者可 以通過將嵌入式處理器(如Nios)、系統(tǒng)接口模塊以及IP 核結(jié)合起來完成整個(gè)硬件系統(tǒng)的設(shè)計(jì)。 DSP Builder也提供了一個(gè)從MATLAB/Simulink直 接到FPGA硬件實(shí)現(xiàn)的設(shè)計(jì)接口。DSP Builder極大地簡 化了DSP功能的硬件實(shí)現(xiàn)流程,并提供了系統(tǒng)級仿真 測試功能,設(shè)計(jì)者甚至可以不了解硬件描述語言HD
33、L 的設(shè)計(jì)流程,不必懂硬件描述語言本身,也能進(jìn)行 DSP應(yīng)用系統(tǒng)的FPGA開發(fā)。 3. 基于FPGA的硬件設(shè)計(jì)流程 如圖1-6所示,DSP設(shè)計(jì)者還能使用基于HDL的設(shè) 計(jì)流程完成純硬件的DSP系統(tǒng)開發(fā)。 Altera提供了一套完整的FPGA開發(fā)工具,包括 Quartus II以及其它第三方EDA工具,如Modelsim、 Synplify以及LeonardoSpectrum等,這些工具能完成硬 件設(shè)計(jì)建模、仿真、綜合、調(diào)試和在系統(tǒng)中進(jìn)行DSP 測試等。如果使用已得到良好優(yōu)化的基于HDL的DSP IP核,則能大大簡化整個(gè)開發(fā)過程。 4. 基于FPGA的系統(tǒng)級硬件設(shè)計(jì)流程 圖1-7所示的流程就是本
34、書將重點(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)換中用 虛線表示)。 圖1-7所示的流程則表明基于FPGA的DSP開發(fā)流程 中,頂層的開發(fā)工具就是MATLAB /Simulink,整個(gè)開 發(fā)流程幾乎完全可以在同一環(huán)境中完成!真正實(shí)現(xiàn)了自 頂向下的設(shè)計(jì)流程,包括DSP系統(tǒng)的建
35、模、系統(tǒng)級仿真、 設(shè)計(jì)模型向VHDL硬件描述語言代碼的轉(zhuǎn)換、RTL級功 能仿真測試、編譯適配和布局布線、時(shí)序?qū)崟r(shí)仿真,直 至對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)一步的說明。 1.2 現(xiàn)代現(xiàn)代DSP設(shè)計(jì)流程概述設(shè)計(jì)流程概述 本節(jié)簡要介紹基于MATLAB/Simulink、DSP Biulder和Quartus II等工具軟件的DSP開發(fā)流程。由圖1- 7可見,整個(gè)設(shè)計(jì)流程,包括從系統(tǒng)描述直至硬件實(shí)現(xiàn), 可以在一個(gè)完整的設(shè)計(jì)環(huán)境中完成,同時(shí)構(gòu)成了一個(gè) 自頂向下的
36、典型的EDA流程。因此這個(gè)流程不僅僅適 用于DSP開發(fā),同樣適用于EDA技術(shù)和SOPC設(shè)計(jì)。 如圖1-8所示,設(shè)計(jì)流程從利用MATLAB建立DSP 電路模型開始。電路模型的建立可以是圖形化的,可 以方便地利用Simulink與DSP Builder中提供的豐富的功 能塊和IP核進(jìn)行設(shè)計(jì)。DSP Builder包括比特和周期精 度的Simulink模塊,還涵蓋了諸如算術(shù)和存儲(chǔ)功能的基 本設(shè)計(jì)模塊以及IP庫中的許多復(fù)雜的功能模塊。電路 中的功能塊和IP的技術(shù)參數(shù)、數(shù)據(jù)格式、數(shù)據(jù)類型和 總線寬度等都可以直接設(shè)置。電路模型設(shè)計(jì)完成后, 可以進(jìn)行系統(tǒng)級的模型仿真,屬于系統(tǒng)功能仿真,與 目標(biāo)器件和硬件系統(tǒng)
37、沒有關(guān)系,是基于算法的仿真。 圖1-9是Simulink中的一個(gè)幅度調(diào)制設(shè)計(jì)模型電路和仿 真結(jié)果。 圖1-8 DSP Builder設(shè)計(jì)流程 LeonardoSpectrum 或Synplify VHDL綜合 MATLAB/Simulink 系統(tǒng)設(shè)計(jì) SignalCompiler VHDL RTL級轉(zhuǎn)換 SignalTap II 嵌入式邏輯分析儀 ModelSim VHDL仿真 ATOM 網(wǎng)表文件生成 QuartusII 編譯適配 POF/SOF文件 編程下載器 DSP硬件系統(tǒng) 圖1-9 DSP電路模型和系統(tǒng)功能仿真 在圖1-8中還能看到利用嵌入式邏輯分析儀的一個(gè) 測試流程。SignalTap
38、 II嵌入式邏輯分析儀的應(yīng)用是現(xiàn) 代DSP技術(shù)中最有特色的測試技術(shù)之一,這項(xiàng)技術(shù)只 能在FPGA的開發(fā)中使用。SignalTap II必須能夠隨心所 欲地嵌入目標(biāo)器件或從中撤走。SignalTap II可以直接 插在Simulink模型電路中任何一處或多處,并可隨該電 路一同編譯、適配和下載到DSP硬件系統(tǒng)的目標(biāo)芯片 中。在目標(biāo)芯片指定的通道上, 嵌入的SignalTap II能根據(jù)給定的觸發(fā)條件采集電路信 號(hào),并通過目標(biāo)芯片的JTAG下載口將信號(hào)回送往PC機(jī), 然后在MATLAB界面上顯示出來。一旦完成測試,可 以通過模型修正和編譯,將SignalTapII從目標(biāo)器件中撤 消。圖1-9所示為
39、DSP電路模型和系統(tǒng)功能仿真。 接下去是利用置于Simulink電路模型界面的DSP Builder的SignalCompiler,將電路模型文件即Simulink 模塊文件(.mdl)轉(zhuǎn)換成RTL級的VHDL代碼表述和Tcl(工 具命令語言)腳本。這種轉(zhuǎn)換是基于Simulink模型的結(jié) 構(gòu)化分析的。RTL級VHDL代碼通俗的解釋就是在 FPGA中完成硬件電路實(shí)現(xiàn)的VHDL程序(因?yàn)椴⒎撬?的VHDL語句都能對應(yīng)實(shí)際的硬件電路)。Tcl腳本主要 是用于對后續(xù)的VHDL綜合與仿真的控制與規(guī)范(注意, 就目前基于FPGA的DSP設(shè)計(jì)工具而言,包括Altera的 DSP Builder和Xilin
40、x的System Generator,都只能將 Simulink模型轉(zhuǎn)換成VHDL,而非Verilog)。 一旦獲得了轉(zhuǎn)換好的VHDL描述,在Simulink中即 可調(diào)用VHDL綜合器了。目前可選擇的綜合器主要有 Quartus II、Synplify和LeonardoSpectrum。由它們生成 底層網(wǎng)表文件。圖1-10即為Synplify生成的網(wǎng)表文件對 應(yīng)的RTL電路圖。注意,只有在此時(shí)才能真正確定DSP 硬件實(shí)現(xiàn)的目標(biāo)器件的選擇,包括FPGA器件的系列和 型號(hào)。因?yàn)閷TL級的VHDL綜合,必須確定底層元件 的工藝特性和結(jié)構(gòu)特性,但不必了解硬件時(shí)序特性, 只有在適配時(shí)才需要時(shí)序信息。
41、圖1-10 由VHDL綜合出的RTL級電路圖 un3_result1:33 + result32:0 result32:0 32:0 sclr ena clock datab31:0 31:0 dataa31:0 31:031 31:0 31 31:01:3332:0 Q32:0 1:33 D32:0 R E 電路描述的中間網(wǎng)表文件,稱為原子級網(wǎng)表文件, 即ATOM Netlist。 下一步是調(diào)用Quartus II中的編譯器,根據(jù)網(wǎng)表文 件及設(shè)置的優(yōu)化約束條件進(jìn)行布線布局和優(yōu)化設(shè)計(jì)的 適配操作。最后生成編程文件和仿真文件,即生成 POF和SOF FPGA配置文件,可用于對目標(biāo)器件的編程 配置
42、和硬件實(shí)現(xiàn);同時(shí)生成可分別用于Quartus II的門 級仿真文件和ModelSim的VHDL時(shí)序仿真文件,以及 配套的VHDL仿真激勵(lì)文件,可用于實(shí)時(shí)測試DSP系統(tǒng) 的工作性能。 在以上的轉(zhuǎn)換過程中,每個(gè)DSP Builder模塊都經(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
43、仿真流程獲得的結(jié)果與硬件時(shí)序沒有關(guān)系, 屬于功能仿真結(jié)果;而當(dāng)由Quartus II生成的VHDL仿真 文件,進(jìn)入ModelSim仿真流程后獲得的仿真結(jié)果屬于 時(shí)序仿真,即是對系統(tǒng)的實(shí)時(shí)測試結(jié)果。 最后是將Quartus II生成的配置文件下載到目標(biāo)器 件中,形成DSP硬件系統(tǒng)。 作為總結(jié),用圖1-11所示的流程可以對圖1-8作進(jìn) 一步的說明。 圖1-11將DSP開發(fā)流程劃分為兩個(gè)層次:虛線左邊 為系統(tǒng)級設(shè)計(jì)與仿真流程,右邊為RTL級設(shè)計(jì)、仿真 和硬件實(shí)現(xiàn)流程。兩個(gè)流程通過DSP Builder的 SignalCompiler直接握手,左邊是與硬件完全沒有關(guān)系 的類似于軟件方式的設(shè)計(jì)流程,而右
44、邊則是硬件設(shè)計(jì) 流程。 圖1-11 基于FPGA的系統(tǒng)級開發(fā)流程 建立Simulink 設(shè)計(jì)模型 MATLAB/Simulink設(shè)計(jì)流程 系統(tǒng)級設(shè)計(jì)/仿真 NO YES 硬件實(shí)現(xiàn)設(shè)計(jì)流程(RTL級轉(zhuǎn)變) 時(shí)序仿真 .vho時(shí)序仿真文件輸出 RTL級功能仿真 NO YES RTL級設(shè)計(jì)/仿真/實(shí)現(xiàn) 加入DSP 庫模塊 加入IP核 連接成系統(tǒng) 排錯(cuò)/仿真 結(jié)果滿足設(shè)計(jì) 要求嗎? 比較仿真結(jié)果 的一致性 SignalCompiler VHDL仿真邏輯綜合 QuartusII編譯結(jié) 構(gòu)綜合 結(jié)果滿足設(shè)計(jì) 要求嗎? DSP硬件系統(tǒng)板 完成設(shè)計(jì) 一方面,左邊可以通過模型設(shè)計(jì)、模塊應(yīng)用、數(shù)據(jù) 格式設(shè)置、觸發(fā)
45、條件選擇等操作直接控制右邊的硬件設(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ù)的特色與核心。 由脫離硬件的系統(tǒng)級開始設(shè)計(jì),優(yōu)勢是直觀、快 捷、高效、靈活、易于排錯(cuò)與及時(shí)修改,非常有利于 對復(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),這對于傳統(tǒng)電子設(shè)計(jì)來講是不可思議的事情。 這種設(shè)計(jì)流程的前提是必
46、須使用硬件描述語言HDL和 FPGA,因此傳統(tǒng)的DSP處理器的開發(fā)很難介入到這個(gè) 流程中。 1.3 兩類兩類DSP解決方案的比較解決方案的比較 本節(jié)結(jié)合以上討論的結(jié)果,對現(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ù)還沒有較 好地相互替代(或相互包含、相互覆蓋), 也沒有很好地相互融合。例如在通信領(lǐng)域中, DSP處理器在基帶處理功能方面具有不可替代的優(yōu)越 性,而在典型的軟件
47、無線電系統(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ì)流程沒有改變。 現(xiàn)代DSP技術(shù)與傳統(tǒng)DSP技術(shù)的不同之處主要表現(xiàn) 在以下幾個(gè)方面: 1. 系統(tǒng)工作速度不同 與FPGA相比,DSP處理器最大的劣勢之一是處理 速度比較慢。盡管在硬件結(jié)構(gòu)上作了大量的改進(jìn),如 增加硬件乘法
48、累加模塊和加入各種專用的加速協(xié)處理 器等,但其速度瓶頸來自于基于CPU的指令順序執(zhí)行 的基本工作模式,以及通常使用的多片DSP組合電路 和過多的外部接口電路(FPGA通常可以實(shí)現(xiàn)單片系統(tǒng)) 導(dǎo)致的信號(hào)通道過長、過復(fù)雜。 下面以FIR數(shù)字濾波器的設(shè)計(jì)為例,對兩種DSP解 決方案的計(jì)算速度作一些比較。 圖1-12所示的是用多種途徑實(shí)現(xiàn)16階8位FIR數(shù)字 濾波器在速度和相位線性等方面的綜合性能的對比情 況。柱面圖高度表示相對性能指標(biāo),五個(gè)柱面分別表 示用五種不同器件實(shí)現(xiàn)16階8位FIR濾波器性能的相對 指數(shù)(以TMS320C2XX系列50 MHz的DSP芯片的綜合性 能為比較基準(zhǔn)),它們分別是13
49、3 MHz的專用CPU、50 MHz的DSP處理器芯片、4個(gè)同類50 MHz DSP處理器 聯(lián)合工作的情況和EPF8820A-2與EPF81500A-2的 ALTERA的FPGA產(chǎn)品。 圖1-12 實(shí)現(xiàn)16階8位FIR濾波器綜合性能對比 由圖不難看出用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。 表1-1 FPGA與DSP處理器運(yùn)算速度的比較 功能
50、實(shí)現(xiàn)資源需求 TI TMS320C5402 TI TMS320C6414 A L T E R A F P G A EP1S120 階數(shù)224224224 乘法累加器數(shù)18(最大)224(28個(gè)DSP模塊) 內(nèi)部時(shí)鐘速度100MHz600MHz250MHz 算出結(jié)果的時(shí)鐘周期數(shù)224281 每秒乘加運(yùn)算次數(shù)0.1 GMACs4.8 GMACs56 GMACs 由表1-1可見,EP1S20型的FPGA的乘加速度最快, 每秒為56千兆個(gè)MAC操作,是TMS320C6414的12倍, TMS320C5402的560倍。而這時(shí)FPGA中采用的內(nèi)部時(shí) 鐘速度還不到TMS320C6414的1/2。 此外還應(yīng)
51、看到兩點(diǎn): (1) TMS320C6414和TMS320C5402中的MAC模塊 的極限分別是8和1,而EP1S120中的224個(gè)類似于MAC 的DSP模塊數(shù)卻非極限,因?yàn)镕PGA中有數(shù)以萬計(jì)的邏 輯宏單元LCs可供隨意組合成各種類型的硬件電路功能 模塊。 (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)域較難有所作為。 值得注意的是,處理器TMS3
52、20C5402是目前國內(nèi)絕 大多數(shù)DSP實(shí)驗(yàn)室中的主流器件。 2. 設(shè)計(jì)流程不同 在上一節(jié)中已對兩種解決方案的設(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) 可行性評估、硬件電路測試和實(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ā)的效率和成功率。 不難發(fā)現(xiàn),自
53、底向上的設(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)行, 至于選擇或更改總線寬度、浮點(diǎn)或定點(diǎn)數(shù)據(jù)的類型、 單精度或雙精度格式、串/并行處理方式,以及硬件加 速模塊的使用類型、數(shù)量、方式等等十分重要的工作, 都可以在MATLAB的Simulink頂層設(shè)計(jì)環(huán)境中隨時(shí)完成 而不必
54、顧及今后硬件的選擇。 顯然自頂向下的設(shè)計(jì)流程對于硬件系統(tǒng)的結(jié)構(gòu)控 制具有全程的主動(dòng)權(quán)和能動(dòng)性,是優(yōu)化設(shè)計(jì)和高效開 發(fā)的必要條件。 3. 系統(tǒng)結(jié)構(gòu)可重構(gòu)性不同 雖然加載不同的軟件程序能夠改變DSP處理器的功 能,但這種相對于AISC系統(tǒng)來說十分靈活的功能并沒 有什么實(shí)用價(jià)值。因?yàn)閮H僅通過對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間的切
55、換)等等技術(shù)參數(shù)和技術(shù)方案。 這是因?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)可重配置特性。 不同的配置文件對于FPGA的加載可以有多種方式, 如下所述。 (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) 通過無線遙控方式,
56、對遠(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)控制。 4. 仿真測試技術(shù)不同 DSP處理器開發(fā)中除了可以利用MATLAB等工具 完成算法仿真外,唯一有實(shí)際意義的仿真是借助于實(shí) 時(shí)開發(fā)系統(tǒng)的仿真,即必須與實(shí)際的硬件系統(tǒng)相連后 才能進(jìn)行。然而從仿真的嚴(yán)格意義上講,這不能稱之 為“仿真”,而只能稱為“硬件調(diào)試”,即所謂的 “Hardware Debug”,因?yàn)閷τ贏/D和D/A模擬信號(hào)的測 試,特別是實(shí)時(shí)測試,只能通過實(shí)際的儀表才能實(shí)現(xiàn)。 所以說只有脫離了作為仿真對象的硬件系統(tǒng)的測試活 動(dòng)
57、才能稱為“仿真”。 而在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é)太單一,許多軟硬件中的存在問題的定位十 分困難,對于多DSP器件組成的大系統(tǒng)調(diào)試效率很低。 基于FPGA的DSP開發(fā)流程則不同,由圖1-8和1-11可 見,整個(gè)流程有
58、多個(gè)層次的仿真測試和硬件調(diào)試環(huán)節(jié)。 主要可分為下述5個(gè)環(huán)節(jié): (1) 基于MATLAB/Simulink模型的系統(tǒng)級仿真,包括 對數(shù)字信號(hào)和模擬信號(hào)的仿真測試。這個(gè)仿真環(huán)節(jié)可以 對系統(tǒng)構(gòu)成和算法模型進(jìn)行調(diào)試和評估; (2) 利用功能強(qiáng)大的HDL仿真器ModelSim進(jìn)行RTL級 功能仿真和模擬信號(hào)仿真; (3) 利用ModelSim對DSP數(shù)字系統(tǒng)進(jìn)行實(shí)時(shí)時(shí)序仿真; (4) 利用Quartus II中的門級仿真器進(jìn)行時(shí)序仿真; (5) 利用嵌入式邏輯分析儀SignalTapII對DSP硬件系 統(tǒng)進(jìn)行測試。 在以上5個(gè)仿真測試環(huán)節(jié)中的任何一處發(fā)現(xiàn)問題, 都可以隨時(shí)修正和排除。 5. 系統(tǒng)知識(shí)產(chǎn)權(quán)
59、自主性不同 由于基于FPGA的DSP系統(tǒng)主要是純硬件系統(tǒng)設(shè)計(jì), 可選的硬件實(shí)現(xiàn)方式很多,因此系統(tǒng)具有較好的自主知 識(shí)產(chǎn)權(quán)屬性?;贒SP處理器的系統(tǒng)則沒有這種屬性。 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)通常都有較大的差別, 因此對應(yīng)不同的匯編語言,需要不同的軟硬件開發(fā)工 具和仿真器。此外,由于相應(yīng)的C程序的運(yùn)行效率比較 低,實(shí)時(shí)要求較高的系統(tǒng)仍然需要利用匯編語言進(jìn)行 開發(fā),因此,調(diào)試成熟的軟件模塊難以移植和再利用。 在這里,硬件結(jié)構(gòu)與計(jì)算機(jī)語言的密切相關(guān)性、
60、仿真 測試與硬件系統(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)效率及升級更新效率。 傳統(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ī)模 可編程邏輯系統(tǒng)開發(fā)技術(shù),乃至SOC開發(fā)技術(shù)等。 開發(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)化的硬件描述
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省凌源市2024-2025學(xué)年四下數(shù)學(xué)期末質(zhì)量檢測模擬試題含解析
- 柳州城市職業(yè)學(xué)院《數(shù)字邏輯電路》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年正安縣三下數(shù)學(xué)期末聯(lián)考模擬試題含解析
- 宜春職業(yè)技術(shù)學(xué)院《光學(xué)圖像處理》2023-2024學(xué)年第二學(xué)期期末試卷
- 水庫移民征地合同范本
- 2025年02月江西省宜春市事業(yè)單位統(tǒng)一公開招聘工作人員311人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 小店股份贈(zèng)予合同范本
- 膠囊內(nèi)鏡檢查護(hù)理
- 洛陽農(nóng)莊租賃合同范本
- 醫(yī)院內(nèi)部合同范本
- 大學(xué)生人文知識(shí)競賽報(bào)名表
- 小升初閱讀理解專題課件
- 血漿吸附療法課件
- 人教部編版九年級下冊歷史第四單元 經(jīng)濟(jì)大危機(jī)和第二次世界大戰(zhàn)單元測試題
- 個(gè)人理財(cái)實(shí)務(wù)教學(xué)課件
- (完整版)新版PEP小學(xué)英語五年級下冊教材分析
- 研發(fā)經(jīng)費(fèi)填報(bào)指標(biāo)說明及核算方法
- 一年級思維訓(xùn)練(課堂PPT)
- 綠色光年20162017雙上海閔行區(qū)江川綠色光
- GB_T 27025-2019 檢測和校準(zhǔn)實(shí)驗(yàn)室能力的通用要求(高清版)
- 菊花深加工項(xiàng)目可行性研究報(bào)告寫作范文
評論
0/150
提交評論