【正文】
修改,我們也應(yīng)該在某些不太重要的功能上做出妥協(xié),以便直接使用一些我們需要的功能模塊。一般說(shuō)來(lái),在進(jìn)行集成之前,最好選擇那些無(wú)需修改的 IP 模塊。這樣在評(píng)測(cè)之后,就可以直觀地看出整個(gè)設(shè)計(jì)的可重用性和分別在每一部分上的得失。片上總線的開發(fā)我 們還不熟悉,需要進(jìn)一步跟蹤和探討。 IP 集成的關(guān)鍵技術(shù) 第 11 頁(yè) 共 38 頁(yè) IP 集成的關(guān)鍵在于建立正確、高效、靈活的片上總線結(jié)構(gòu),構(gòu)造以功能組裝為基礎(chǔ)的芯片開發(fā)模型。 第三,要注意積累 IP 和 IP 集成的經(jīng)驗(yàn)。哪些模塊需要從頭開始設(shè)計(jì)。國(guó)際上,一些大公司的解決辦法是逐步定義公司內(nèi)部甚至是幾個(gè)公司間通用的片上總線標(biāo)準(zhǔn),這方面最著名的是國(guó)際上的 VSIA 組織。 IP 集成 IP 集成面臨著一系列的挑戰(zhàn)。 IP 的打包提交 IP 打包技術(shù)是指在 IP 開發(fā)基本結(jié)束后,將零散分布的設(shè)計(jì)信息集成的過(guò)程。 IP 驗(yàn)證的測(cè)試覆蓋率、功能覆蓋率都需達(dá)到 100%。 IP 驗(yàn)證 的完備性首先要求在設(shè)計(jì) IP 仿真測(cè)試方案時(shí)必須體現(xiàn)出以下幾個(gè)方面: 1. 從 IP 的規(guī)格出發(fā),對(duì)每一個(gè)模塊測(cè)試功能點(diǎn)( testfeature)進(jìn)行分析,定義每個(gè)子模塊的仿真測(cè)試目標(biāo),并確定哪一個(gè)測(cè)試向量可以驗(yàn)證該測(cè)試功能點(diǎn)。這是因?yàn)槠舷到y(tǒng)的環(huán)境和性能需求差異非常大。 為了使開發(fā)的 IP 能夠高效的集成到新的設(shè)計(jì)中去,標(biāo)準(zhǔn)化是必由之路。二是定義好 IP 模塊與外部系統(tǒng)的接口。在 IP 驗(yàn)證過(guò)程中,前面建立的參照模型就是我們的參照設(shè)計(jì)。 (3) 回歸測(cè)試 回歸 測(cè)試解決的問(wèn)題是設(shè)計(jì)在修改一個(gè)錯(cuò)誤的同時(shí),卻引入了另外一個(gè)錯(cuò)誤。 (4) IP 的產(chǎn)品化 IP 產(chǎn)品化的過(guò)程包括以下幾個(gè)部分:提供 IP 設(shè)計(jì)和驗(yàn)證用 testbench,用商用轉(zhuǎn)換器進(jìn)行打包提交,但轉(zhuǎn)換后需要重新驗(yàn)證,比如做回歸測(cè)試以確保轉(zhuǎn)換有效,并強(qiáng)調(diào)在幾個(gè)主流仿真器上做仿真,在幾種主要工藝庫(kù)上做綜合,做門級(jí)仿真,做形式驗(yàn)證以保證網(wǎng)表和 RTL 級(jí)的一致性,產(chǎn)生或更新用戶文檔等。當(dāng)這些 工作完成并通過(guò)代碼規(guī)范性檢查、測(cè)試覆蓋率檢查、功能覆蓋率檢查、性能分析包括 DFT、 STA 檢查、功耗分析檢查等驗(yàn)收以后,這個(gè)子模塊就可用來(lái)與其他模塊一起集成了。只有規(guī)劃好,才能夠建設(shè)好。 IP 驗(yàn)證流程包括了建立參照模型、建立測(cè)試平臺(tái)和準(zhǔn)備驗(yàn)證用例、回歸測(cè)試、形式驗(yàn)證。正確性有百分之百的保證是指 IP 的實(shí)現(xiàn)嚴(yán)格遵 守一系列的可重用設(shè)計(jì)開發(fā)規(guī)范, IP 的驗(yàn)證用例具有完備性,功能覆蓋率、測(cè)試覆蓋率都能夠達(dá)到 100%;并能夠完全覆蓋 IP 工作的臨界條件,提供相應(yīng)的大流量測(cè)試、隨機(jī)性測(cè)試、甚至能夠提供軟硬件協(xié)同仿真的測(cè)試環(huán)境等。通常把功能經(jīng)過(guò)驗(yàn)證的、可綜合的、實(shí)現(xiàn)后電路結(jié)構(gòu)總門數(shù)在 5000 門以上的 第 7 頁(yè) 共 38 頁(yè) Verilog HDL 模型稱為“ 軟核”( Soft Core),由軟核構(gòu)成的器件成為虛擬器件。 Verilog HDL 的可移植性好,使用方便,但效率不如原理圖;原理圖輸入的可控性好,效率高,比較直觀,但設(shè)計(jì)大規(guī)模 CPLD/FPGA 時(shí)顯得很煩 瑣,移植性差。這種低水平的設(shè)計(jì)方法大大延長(zhǎng)了設(shè)計(jì)周期。 傳統(tǒng)的數(shù)字電路設(shè)計(jì)方法是采用電路原理圖輸入法。而許多工程上的需要都有實(shí)時(shí)響應(yīng)的要求,也就是說(shuō)應(yīng)需要數(shù)字信號(hào)處理( DSP)系統(tǒng)在限定的時(shí)間內(nèi),如在幾個(gè) ms 甚至于幾個(gè)μ s內(nèi),對(duì)所輸入的大量數(shù)據(jù)完成相當(dāng)復(fù)雜的運(yùn)算,并輸出結(jié)果。此外, Verilog HDL 語(yǔ)言提供了編程語(yǔ)言接口,通過(guò)該接口可以在模擬、驗(yàn)證期間從設(shè)計(jì)外部訪問(wèn)設(shè)計(jì),包括模擬的具體控制和運(yùn)行。被建模的數(shù)字系統(tǒng)對(duì)象的復(fù)雜性可以介于簡(jiǎn)單的門和完整的電子數(shù)字系統(tǒng)之間。 1992 年, OVI決定致力于推廣 Verilog OVI標(biāo)準(zhǔn)成為 IEEE 標(biāo)準(zhǔn)。那時(shí)它只是一種專用語(yǔ)言。 VHDL 和 Verilog HDL兩者相比, VHDL 的書寫規(guī)則比 Verilog HDL 煩瑣一些,但 Verilog HDL 自由的語(yǔ)法也容易讓少數(shù)初學(xué)者出錯(cuò)。 Modelsim 軟件還支持 VHDL 和 Verilog 混合仿真,無(wú)論是 FPGA/ASIC 設(shè)計(jì)的 RTL 級(jí)和門級(jí)電路仿真還是系統(tǒng)的功能仿真都可以用它來(lái)做,編譯仿真速度快,編譯的代碼與平臺(tái)無(wú)關(guān),便于保護(hù) IP 核,具有個(gè)性化的圖形界面和用戶接口,為用戶加快調(diào)錯(cuò)提供強(qiáng)有力的手段,全面支持 VHDL 和 Verilog 語(yǔ)言的IEEE 標(biāo)準(zhǔn) ]15[ 。但用戶需要更改設(shè)計(jì)時(shí),又可以方便地將以前的配置擦除 ,重新進(jìn)行配置,從而大大提高了設(shè)計(jì)速度。利用 Model 公司的 Modelsim 軟件可以完成仿真工作。 (6)器件編程與測(cè)試設(shè)計(jì)實(shí)現(xiàn)以后,建立 FPGA 可識(shí)別文件,將編程數(shù)據(jù)下載到相應(yīng)的 FPGA 器件中去。 (2)設(shè)計(jì)輸入主要輸入方法包括硬件描述語(yǔ)言和原理圖,另外結(jié)構(gòu)向?qū)?Architecture Wizard)和核生成器 (Core Generator)可以輔助設(shè)計(jì)輸入。我們?cè)谠O(shè)計(jì)中應(yīng)該綜合考慮這兩方面的要求,根據(jù)具體問(wèn)題的需求設(shè)計(jì)出最合理 的方案。更科學(xué)的設(shè)計(jì)目標(biāo)應(yīng)該是在滿足設(shè)計(jì)時(shí)序要求 (包含對(duì)設(shè)計(jì)頻率的要求 )的前提下,占用最小的芯片面積。 FPGA 設(shè)計(jì)的一個(gè)重要指導(dǎo)原則是:面積和速度的平衡與互換 ]12[ 。 FPGA 的基本結(jié)構(gòu)如圖 所示 ]10~8[ 。其中, FPGA的功能由邏輯結(jié)構(gòu)的配置數(shù)據(jù)決定?,F(xiàn)代通信中, FPGA 已經(jīng)成功地用作程控交換、數(shù)字復(fù)接、壓縮擴(kuò)張、編譯碼和調(diào)制解調(diào)等。 FPGA 由許多獨(dú)立的可編程邏輯模塊組 成,用戶通過(guò)編程將這些模塊連接起來(lái)實(shí)現(xiàn)不同的設(shè)計(jì),作為專用集成電路 (ASIC)領(lǐng)域中的一種半定制電路,它既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。尤其是近年來(lái),高密度的可編程邏輯器件 FPGA 的集成度、速度不斷提高,設(shè)計(jì)、調(diào)試手段更加完善, 因而得到更為廣泛的應(yīng)用 ]6,5[ 。 FPGA 是直接由硬件實(shí)現(xiàn)的,其內(nèi)部結(jié)構(gòu)規(guī)則簡(jiǎn)單,通常可以容納很多相同 的運(yùn)算單元,因此 FPGA 在作指定運(yùn)算時(shí),速度會(huì)遠(yuǎn)遠(yuǎn)高于通用的DSP 芯片。在數(shù)據(jù)通信這樣的應(yīng)用中,常常需要進(jìn)行高速、大規(guī)模的 FFT 及其逆變換 IFFT 運(yùn)算。隨著超大規(guī)模可編程門陣列的迅速發(fā)展,新一代 FPGA 內(nèi)部有高速數(shù)字信號(hào)處理(DSP)模塊和大容量、高速 RAM 模塊,這為利用 FPGA 實(shí)現(xiàn) FFT 處理成為可能,既避免了軟件方式所帶來(lái)的速度方面的限制,又可以降低開發(fā)的成本和周期,是一種 較為理想 的開發(fā)方式。 [1] 軟件實(shí)現(xiàn) FFT 運(yùn)算速度慢, 無(wú)法 滿足實(shí)時(shí)高速的系統(tǒng)性能要求。 快速傅立葉變換 (FFT)是 DFT 的快速算法 ,是數(shù)據(jù)從時(shí)域到頻域變換的基本運(yùn)算。 33 復(fù)單頻正弦信號(hào)的仿真 30 仿真結(jié)果及分析 27 算法驗(yàn)證和 RTL 設(shè)計(jì) 20 存儲(chǔ)單元 7 IP 的基本特征 5 VERILOG HDL 的優(yōu)點(diǎn) 關(guān)鍵詞: FPGA; FFT; IP 核;基 2;時(shí)域抽取 第 2 頁(yè) 共 2 頁(yè) Abstract Fast Fourier Transform (FFT) as the time domain and frequency domain transformation of the basic operations is a necessary prerequisite for digital spectrum analysis. The traditional FFT implementation using software or DSP, highspeed realtime processing is more difficult to meet. Directly from the FPGA hardware, and its internal structure rules are simple, usually to acmodate many of the same operation unit, so as specified in FPGA puting, the speed will be much higher than the general DSP chips. FFT putation structure is relatively simple and fixed, suitable for hardware implementation using FPGA, and can take into account the speed and flexibility. This paper presents a generic FPGA can be implemented on 32 points in the FFT transform method. Design a plex multiplier for the core design of the FFT algorithm based 2 butterfly unit, overflow control unit and address logic control module and other modules, and within these modules and FPGAbased dualport RAM formed the base 2FFT algorithm module. When the module is the base 2 domain extraction, the order of input, output reverse method。整個(gè)模塊采用基 2 時(shí)域抽取 ,順序輸入 ,逆序輸出的方法 。 FPGA 是直接由硬件實(shí)現(xiàn)的,其內(nèi)部結(jié)構(gòu)規(guī) 則簡(jiǎn)單,通??梢匀菁{很多相同的運(yùn)算單元,因此 FPGA 在作指定運(yùn)算時(shí),速度會(huì)遠(yuǎn)遠(yuǎn)高于通用的 DSP 芯片。傳統(tǒng)的 FFT 使用軟件或 DSP 實(shí)現(xiàn),高速處理時(shí)實(shí)時(shí)性較難滿足。設(shè)計(jì)復(fù)數(shù)乘法器為核心設(shè)計(jì)了 FFT 算法中的基 2蝶形運(yùn)算單元,溢出控制單元和地址與邏輯控制模塊等其它模塊 ,并以這些模塊和 FPGA內(nèi)部的雙口 RAM 為基礎(chǔ)組成了基 2FFT 算法模塊。實(shí)驗(yàn)果表明,設(shè)計(jì)完成的系統(tǒng)能夠在保證運(yùn)算精度和實(shí)現(xiàn)復(fù)雜度的同時(shí),切實(shí)可行地完成設(shè)計(jì)的總體要求。Base2; Timedomain extracti 第 1 頁(yè) 共 2 頁(yè) 目 錄 引言 4 VERILOG HDL 簡(jiǎn)介 5 VERILOG 概述 7 IP 開發(fā)流程 8 IP 的規(guī)格定義 10 IP 集成的關(guān)鍵技術(shù) 11 基 2FFT 算法 12 4 FFT 處理器的 FPGA 的實(shí)現(xiàn) 22 旋轉(zhuǎn)因子單元 23 原理與算法 24 邏輯控制模塊 26 第 2 頁(yè) 共 2 頁(yè) 5 FFT 系統(tǒng)仿真測(cè)試 27 仿真與綜合 29 FFT 處理器的資源利用情況 32 實(shí)雙頻正弦信號(hào)的仿真 因此為了滿足這些要求,國(guó)內(nèi)外都在研究實(shí)現(xiàn)數(shù)字信號(hào)處理的新方法,本論文主要研究基于 FPGA的方法來(lái)實(shí)現(xiàn) FFT 算法,并通過(guò)對(duì)算法結(jié)構(gòu)的內(nèi)部?jī)?yōu)化設(shè)計(jì)使其相較于傳統(tǒng)的實(shí)現(xiàn)方法更具優(yōu)勢(shì)。尤其是在要求較高的信號(hào)處理系統(tǒng)中, FFT