基于VHDL的IIR數(shù)字濾波器的設(shè)計(jì).doc_第1頁(yè)
基于VHDL的IIR數(shù)字濾波器的設(shè)計(jì).doc_第2頁(yè)
基于VHDL的IIR數(shù)字濾波器的設(shè)計(jì).doc_第3頁(yè)
基于VHDL的IIR數(shù)字濾波器的設(shè)計(jì).doc_第4頁(yè)
基于VHDL的IIR數(shù)字濾波器的設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 學(xué)生姓名學(xué)生姓名學(xué)學(xué) 號(hào)號(hào)170602045 院院 系系 物理與電子電氣工程學(xué)院 專專 業(yè)業(yè)電子信息科學(xué)與技術(shù) 題題 目目基于 VHDL 的 IIR 數(shù)字濾波器的設(shè)計(jì) 指導(dǎo)教師指導(dǎo)教師 教授 碩士 2010年5月 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 1 摘摘 要要 本課題采用一種基于 VHDL 的 IIR 數(shù)字濾波器的設(shè)計(jì)方案 首先分析了 IIR 數(shù)字濾 波器的原理及設(shè)計(jì)方法 然后通過(guò) QUARTUS 的設(shè)計(jì)平臺(tái) 采用自頂向下的模塊化設(shè)計(jì)思 想將整個(gè) IIR 數(shù)字濾波器分為 時(shí)序控制 延時(shí) 補(bǔ)碼乘加和累加四個(gè)功能模塊 分別 對(duì)各模塊采用 VHDL 進(jìn)行描述后 進(jìn)行了仿真和綜合 仿真結(jié)果表明 本課題所設(shè)計(jì)的 IIR 數(shù)字濾波器運(yùn)算速度較快 系數(shù)改變靈活 有較好的參考價(jià)值 關(guān)鍵詞 關(guān)鍵詞 電子設(shè)計(jì)自動(dòng)化 IIR 數(shù)字濾波器 無(wú)限長(zhǎng)沖激響應(yīng) 現(xiàn)場(chǎng)可編程門(mén)陣列 硬 件描述 Abstract A kind of IIR digital filter design method was introduced in the paper which is based on FPGA By used the design plant of QUARTUS we adopt blocking method named Top down and divide the entire IIR digital filter into four blocks which are Clock control Time delay Multiply addition and Progression After described with VHDL we do emulate and synthesis to each block The result shows that the introduced IIR digital filter runs fast and the coefficient changes agility It has high worth for consulting Keywords electronic design automation iir digital filter field programmable gate array very high speed integrated circuit hardware description language VHDL 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 2 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 3 目目 錄錄 1 序 言 3 2 IIR 數(shù)字濾波器及其硬件實(shí)現(xiàn)方法 3 2 1 IIR 數(shù)字濾波器概念 3 2 2 IIR 數(shù)字濾波器的硬件實(shí)現(xiàn)方案 5 3 EDA 技術(shù)和可編程邏輯器件 8 3 1 電子設(shè)計(jì)自動(dòng)化 EDA 技術(shù) 8 3 2 可編程邏輯器件 9 3 3 硬件描述語(yǔ)言 VHDL 及數(shù)字系統(tǒng)設(shè)計(jì)方法 9 4 IIR 數(shù)字濾波器的設(shè)計(jì)與仿真結(jié)果分析 10 4 1 各模塊的設(shè)計(jì)與仿真結(jié)果分析 10 4 2 IIR 數(shù)字濾波器的仿真與結(jié)果分析 14 結(jié) 束 語(yǔ) 18 參考文獻(xiàn) 19 致 謝 20 附錄 1 各模塊 VHDL 程序 21 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 4 1 1 序序 言言 隨著 EDA 技術(shù)的發(fā)展和應(yīng)用領(lǐng)域的擴(kuò)大和深入 EDA 技術(shù)在電子信息 通信 自動(dòng)控 制及計(jì)算機(jī)應(yīng)用等領(lǐng)域的重要性日益突出 這些技術(shù)的使用使得現(xiàn)代電子產(chǎn)品的體積減 小 性能增強(qiáng) 集成化程度提高 與此同時(shí)其可編程能力也得以提高 在使用 EDA 進(jìn)行 電子設(shè)計(jì)時(shí) 設(shè)計(jì)人員可按照 自頂向下 的設(shè)計(jì)方法 對(duì)整個(gè)系統(tǒng)進(jìn)行方案設(shè)計(jì)和功 能劃分 采用硬件描述語(yǔ)言 DHL 完成系統(tǒng)行為級(jí)設(shè)計(jì) 最后通過(guò)綜合器和適配器生成 最終的目標(biāo)器件 VHDL 語(yǔ)言是 EDA 設(shè)計(jì)中常用的一種 IEEE 標(biāo)準(zhǔn)語(yǔ)言 其具有覆蓋面廣 描述能力強(qiáng) 可讀性好 支持大規(guī)模設(shè)計(jì)及邏輯單元利用等優(yōu)點(diǎn) 因此受到越來(lái)越多的 電子工程師的青睞 本次設(shè)計(jì)采用 EDA 技術(shù)中的模塊化設(shè)計(jì)思想 就 IIR 數(shù)字濾波器中的一些關(guān)鍵電路 進(jìn)行設(shè)計(jì) 主要內(nèi)容包括 時(shí)序控制模塊 延時(shí)模塊 補(bǔ)碼乘加模塊 累加模塊和 IIR 數(shù) 字濾波器的頂層設(shè)計(jì) 分別對(duì)各模塊采用 VHDL 進(jìn)行描述后 進(jìn)行了仿真和綜合 取得了 較好的設(shè)計(jì)效果 實(shí)驗(yàn)結(jié)果表明 本課題所設(shè)計(jì)的 IIR 數(shù)字濾波器具有運(yùn)算速度快 系數(shù) 改變靈活方便等特點(diǎn) 2 IIR2 IIR 數(shù)字濾波器及其硬件實(shí)現(xiàn)方法數(shù)字濾波器及其硬件實(shí)現(xiàn)方法 2 12 1 IIRIIR 數(shù)字濾波器概念數(shù)字濾波器概念 數(shù)字濾波器是完成信號(hào)濾波處理功能的 用有限精度算法實(shí)現(xiàn)的離散時(shí)間線性非時(shí) 變系統(tǒng) 輸入一組數(shù)字量 通過(guò)運(yùn)算輸出的是另一組數(shù)字量 數(shù)字濾波器具有穩(wěn)定性好 精度高 靈活性大等突出優(yōu)點(diǎn) 隨著數(shù)字技術(shù)的發(fā)展 用數(shù)字技術(shù)設(shè)計(jì)濾波器的功能越 來(lái)越受到人們的注意和廣泛的應(yīng)用 2 1 12 1 1 IIRIIR 數(shù)字濾波器的原理數(shù)字濾波器的原理 一個(gè)數(shù)字濾波器的系統(tǒng)函數(shù)可以表示為 zH 1 1 1 H z zX zY N j j j M i i i zb za 1 1 0 1 直接由得出表示輸入輸出關(guān)系的常系數(shù)線性差分方程為 zH 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 5 1 1 2 ny M i i inxa 0 N j j jnyb 1 1 式中 為濾波系數(shù) 當(dāng)均為零時(shí) 該濾波器為 FIR 數(shù)字濾波器 當(dāng)不均為 i a 1 j b 1 j b 1 j b 零時(shí) 則為 IIR 數(shù)字濾波器 與 FIR 數(shù)字濾波器相比 IIR 數(shù)字濾波器可以用較低的階數(shù) 獲得高的選擇性 所用的存儲(chǔ)單元少 成本低 信號(hào)延遲小 并且 IIR 數(shù)字濾波器可以 借助于模擬濾波器的設(shè)計(jì)成果 設(shè)計(jì)工作量相對(duì)較小 為此 本文就 IIR 數(shù)字濾波器進(jìn) 行相關(guān)討論 2 1 22 1 2 IIRIIR 數(shù)字濾波器的基本結(jié)構(gòu)數(shù)字濾波器的基本結(jié)構(gòu) IIR 數(shù)字濾波器有直接型 級(jí)聯(lián)型和并聯(lián)型三種基本結(jié)構(gòu) 由 IIR 數(shù)字濾波器的 N 階 差分方程 1 1 2 式可知 設(shè) M N 2 則網(wǎng)絡(luò)結(jié)構(gòu)如圖 1 1 所示 圖 1 1 直接型結(jié)構(gòu) 2 1 32 1 3 IIRIIR 數(shù)字濾波器的設(shè)計(jì)方法數(shù)字濾波器的設(shè)計(jì)方法 IIR 數(shù)字濾波器的設(shè)計(jì)方法通常有模擬轉(zhuǎn)換法 零極點(diǎn)累試法和優(yōu)化設(shè)計(jì)法 1 IIR 數(shù)字濾波器的模擬轉(zhuǎn)換設(shè)計(jì)法 利用模擬濾波器成熟的理論和設(shè)計(jì)方法來(lái)設(shè)計(jì) IIR 數(shù)字濾波器是經(jīng)常使用的方法 設(shè)計(jì)過(guò)程是 按照技術(shù)要求設(shè)計(jì)一個(gè)模擬濾波器 得到濾波器的傳輸函數(shù) 再按一 sHa 定的轉(zhuǎn)換關(guān)系將轉(zhuǎn)換成數(shù)字濾波器的系統(tǒng)函數(shù) 將傳輸函數(shù)從 s 平面 sHa zH sHa 轉(zhuǎn)移到 z 平面的方法有多種 但工程上常用的是脈沖響應(yīng)不變法和雙線性變換法 2 IIR 數(shù)字濾波器的零極點(diǎn)累試法 上述介紹的模擬轉(zhuǎn)換設(shè)計(jì)法實(shí)際上是數(shù)字濾波器的一種間接設(shè)計(jì)方法 而且幅度特 性受到所選模擬濾波器特性的限制 例如巴特沃斯低通幅度特性是單調(diào)下降 而切比雪 夫低通特性帶內(nèi)或帶外有上 下波動(dòng)等 對(duì)于要求任意幅度特性的濾波器 則不適合采 用這種方法 下述介紹的在數(shù)字域直接設(shè)計(jì) IIR 數(shù)字濾波器的設(shè)計(jì)方法 其特點(diǎn)是適合 設(shè)計(jì)任意幅度特性的濾波器 x n a0 y n z 1b0a1 z 1b1a2 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 6 在 IIR 數(shù)字濾波器的直接設(shè)計(jì)法中零極點(diǎn)累試法較為常用 設(shè)單位脈沖響應(yīng)的零極 點(diǎn)表達(dá)式為 AzH N k k M r r zd zc 1 1 1 1 1 1 1 1 3 按照 1 1 3 式 系統(tǒng)特性取決于系統(tǒng)零極點(diǎn)的分布 通過(guò)分析 我們知道系統(tǒng)極 點(diǎn)位置主要影響系統(tǒng)幅度特性峰值位置及其尖銳程度 零點(diǎn)位置主要影響系統(tǒng)幅度特性 的谷值位置及其凹下的程度 且通過(guò)零極點(diǎn)分析的幾何作圖法可以定性地畫(huà)出其幅度特 性 上面的結(jié)論及方法提供了一種直接設(shè)計(jì)濾波器的方法 這種設(shè)計(jì)方法是根據(jù)其幅度 特性先確定零極點(diǎn)位置 再按照確定的零極點(diǎn)寫(xiě)出其系統(tǒng)函數(shù) 畫(huà)出其幅度特性 并與 希望的進(jìn)行比較 如不滿足要求 可通過(guò)移動(dòng)零極點(diǎn)位置或增加 減少 零極點(diǎn) 進(jìn)行 修正 3 優(yōu)化設(shè)計(jì)法 IIR 數(shù)字濾波器除模擬轉(zhuǎn)換設(shè)計(jì)法和零極點(diǎn)累試法外 還有一種直接在頻域或者時(shí) 域中進(jìn)行設(shè)計(jì) 聯(lián)立方程后需要計(jì)算機(jī)作輔助運(yùn)算的方法 即所謂的優(yōu)化設(shè)計(jì)法 2 22 2 IIRIIR 數(shù)字濾波器的硬件實(shí)現(xiàn)方案數(shù)字濾波器的硬件實(shí)現(xiàn)方案 濾波器的實(shí)現(xiàn)主要包括兩大類 DSPTMS320 系列芯片的實(shí)現(xiàn)和 ISP 器件的實(shí)現(xiàn) 主要 包括 FPGA 和 CPLD 其中利用 DSPTMS320 系列芯片實(shí)現(xiàn)濾波時(shí)速度較慢 而利用 ISP 器 件實(shí)現(xiàn)時(shí) 其運(yùn)算速度比 DSP 器件要快好多倍 FPGA 的實(shí)現(xiàn)包括其自帶的核的實(shí)現(xiàn)方法 和自編程實(shí)現(xiàn)方法 核的實(shí)現(xiàn)方法雖然好用并且結(jié)構(gòu)縝密 但一般情況下使用的權(quán)限都 會(huì)受到注冊(cè)購(gòu)買(mǎi)的限制 因此基于 FPGA 的自編程實(shí)現(xiàn)方法成了濾波器實(shí)現(xiàn)的首選 1 方案一 直接相乘累加式 對(duì)于二階的 IIR 數(shù)字濾波器 其傳遞函數(shù)為 1 2 1 zH 2 1 1 0 2 2 1 10 1 zbzb zazaa 濾波器信號(hào)流圖見(jiàn)圖 1 1 在第 n 時(shí)刻 是當(dāng)時(shí)的輸入樣本 是 n 時(shí)刻的 IIR nX nY 濾波器的輸出 2 1 10 ndbndbnXnd 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 7 1 2 2 210 2 1 andandandnY 因此 可以用硬件乘法器和硬件加法器來(lái)實(shí)現(xiàn)乘法和加法 由式 1 2 2 可以看出 按照 這種設(shè)計(jì)方法 要用到 5 個(gè)乘法器和 6 個(gè)加法器 對(duì)于 FPGA 的設(shè)計(jì)來(lái)說(shuō) 這種方法的缺 點(diǎn)是比較耗費(fèi)資源 2 方案二 基于 ROM 查表法的 VHDL 結(jié)構(gòu)化設(shè)計(jì) 采用 ROM 查表的方法 主要是為了避免使用硬件乘法器 二階 IIR 的一般表示形式為 1 2 3 211022110 nnnnnn ybybxaxaxay 其中是輸入序列 是輸出序列 和是系數(shù) 假設(shè)輸入序列為 nX nY i a 1 j b nX 位 2 的補(bǔ)碼 并以定點(diǎn)表示 并 1 對(duì)于可以表示為 w nX nX 1 1 0 2 w k n k k n xxnX 1 2 4 式中 k 表示的第位 上標(biāo)為 0 的是符號(hào)位 因此可以定義一個(gè) 5bit 為 nXkw 變量的函數(shù) F 為 1 2 5 2121 k n k n k n k n k n yyxxxF k n k n k n k n k n ybybxaxaxa 211022110 由此可以得到 1 2 6 1 1 2 b k k ny 2121 k n k n k n k n k n yyxxxF 0 2 0 1 0 2 0 1 0 nnnnn yyxxxF 由于 F 函數(shù)僅有 32 種可能取值 因此可以設(shè)計(jì)一個(gè) 32 b 位的 ROM 構(gòu)成的如圖 1 2 描述的基于 ROM 的實(shí)現(xiàn)結(jié)構(gòu) 數(shù)據(jù)輸入串行移入 SR1 和 SR2 由抽頭處得到 每計(jì)算出一個(gè)值后 n x k n k n k n xxx 21 n y 便并行加載到 SR3 中 然后串行移入 SR4 并在抽頭處得到和 ROM 的輸入地址 k n y 1 k n y 2 由組成 k n k n k n k n k n yyxxx 2121 按此方法設(shè)計(jì)的優(yōu)點(diǎn)是避免了占主要運(yùn)算量的乘法運(yùn)算 節(jié)省了 FPGA 的硬件資源 缺點(diǎn)與 FIR 濾波器利用 ROM 方法設(shè)計(jì)相同 即使用不夠靈活 當(dāng)系數(shù)發(fā)生變化時(shí) 更改 ROM 內(nèi)的數(shù)據(jù)十分不便 特別是當(dāng)階數(shù)比較大時(shí) ROM 內(nèi)的數(shù)據(jù)較多 程序外的運(yùn)算量也 很大 修改數(shù)據(jù)更為不方便 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 8 圖 1 2 基于 ROM 的實(shí)現(xiàn)結(jié)構(gòu) 3 方案三 基于 ROM 查表法的改進(jìn)型設(shè)計(jì) 此方法結(jié)合了直接相乘累加式和 ROM 查表法的優(yōu)點(diǎn) 使得設(shè)計(jì)靈活 設(shè)計(jì)周期短 節(jié)省資源 二階 IIR 的一般表示形式為 1 2 6 211022110 nnnnnn ybybxaxaxay 這里是輸入序列 是輸出序列 和是系數(shù) 設(shè)輸入序列為 nX nY i a 1 j b nX 位 2 的補(bǔ)碼 并以定點(diǎn)表示 并 1 對(duì)于可以表示為 w nX nX 1 1 0 2 w k n k k n xxnX 1 2 7 式中 k 表示的第位 上標(biāo)為 0 的是符號(hào)位 因此可以定義一個(gè) 5bit 為變量 nXkw 的函數(shù)為 F 1 2 8 2121 k n k n k n k n k n yyxxxF k n k n k n k n k n ybybxaxaxa 211022110 同理可得 1 2 9 10210 kkkkk bbaaaF k n k n k n k n k bybyaxaxax 1201221100 由此可以得到 2 0 1 0 0 0 2 0 1 0 010210 1 1 bbaaaFbbaaaFy kkkkk b k k n 1 2 10 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 9 令 可以推出 0 0 1 0 0 0 2 0 1 0 0 bbaaaF 1 2 11 2 10210 1 1 kkkkk b k k n bbaaaFy 從式 1 2 11 中可以看出 可以用一個(gè)五路 8 位 1 位乘法器在 8 個(gè)時(shí)鐘周期內(nèi)實(shí)現(xiàn) 上述算式 其加法可以直接調(diào)用軟件的庫(kù)實(shí)現(xiàn) 本方案實(shí)現(xiàn)結(jié)構(gòu)如圖 1 3 所示 圖 1 3 中的作為 FPGA 接口上的 A D 器件的轉(zhuǎn)換數(shù)據(jù)輸入寄存器 各寄存器內(nèi)的 nX 數(shù)據(jù)與各自的系數(shù)的最高位相乘后 送入累加器相加 并且其和向左移一位 以實(shí)現(xiàn)乘 2 運(yùn)算 下一個(gè)時(shí)鐘 寄存器內(nèi)數(shù)據(jù)與其系數(shù)的次高位相乘 再送入累加器與其數(shù)據(jù)相加 再左移一位 接下的 6 個(gè)時(shí)鐘進(jìn)行類似的操作 第 8 個(gè)時(shí)鐘后 累加器將其數(shù)據(jù)輸出 即 并對(duì)累加器清零 同時(shí)將寄存器數(shù)據(jù)送入寄存器 將寄 nY 1 nX 2 nX nX 存器數(shù)據(jù)送入寄存器 同理 接著再進(jìn)行下 1 nX 2 1 1 nYnYnYnY 一次運(yùn)算 對(duì)上述三種方法相比較而言 方案三實(shí)現(xiàn)較為方便簡(jiǎn)潔 在節(jié)省了 FPGA 硬件資源的 同時(shí) 使得設(shè)計(jì)靈活 設(shè)計(jì)周期大為縮短 故本設(shè)計(jì)在方案三為基礎(chǔ)上作改進(jìn)后 來(lái)實(shí) 現(xiàn) IIR 數(shù)字濾波器的 3 3 EDAEDA 技術(shù)和可編程邏輯器件技術(shù)和可編程邏輯器件 3 13 1 電子設(shè)計(jì)自動(dòng)化電子設(shè)計(jì)自動(dòng)化 EDAEDA 技術(shù)技術(shù) EDA 是 Electronic Design Automation 的縮寫(xiě) 意為電子設(shè)計(jì)自動(dòng)化 即利用計(jì)算 輸入 X n X n 1 X n 2 Y n 2 Y n 1 b0kb1ka2ka1ka0k 輸出 Y n 累 加 器 圖 1 3 改進(jìn)型實(shí)現(xiàn)框圖 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 10 機(jī)自動(dòng)完成電子系統(tǒng)的設(shè)計(jì) 回顧近 30 年的電子設(shè)計(jì)技術(shù)的發(fā)展歷程 可將 EDA 技術(shù)分 為三個(gè)階段 七十年代為 CAD Computer Aide Design 階段 這個(gè)階段主要分別研制了一個(gè)個(gè)單 獨(dú)的軟件工具 主要有電路模擬 邏輯模擬 版圖編輯 PCB 布局布線等 通過(guò)計(jì)算機(jī)的 使用 從而可以把設(shè)計(jì)人員從大量繁瑣 重復(fù)的計(jì)算和繪圖工作中解脫出來(lái) 八十年代為 CAE 階段 這個(gè)階段在集成電路與電子系統(tǒng)方法學(xué) 以及設(shè)計(jì)工具集成 方面取得了眾多成果 與 CAD 相比 除了純粹的圖形繪制功能外 又增加了電路功能設(shè) 計(jì)和結(jié)構(gòu)設(shè)計(jì) 并且通過(guò)電氣連接網(wǎng)絡(luò)表將兩者結(jié)合在一起 實(shí)現(xiàn)了工程設(shè)計(jì) 九十年代為 EDA 階段 盡管 CAD CAE 技術(shù)取得了巨大的成功 但在整個(gè)設(shè)計(jì)過(guò)程中 自動(dòng)化和智能化程度還不高 各種 EDA 軟件界面千差萬(wàn)別 學(xué)習(xí)實(shí)用困難直接影響到設(shè) 計(jì)環(huán)節(jié)間的銜接 基于以上不足 人們開(kāi)始追求貫穿整個(gè)設(shè)計(jì)過(guò)程的自動(dòng)化 即電子系 統(tǒng)設(shè)計(jì)自動(dòng)化 3 23 2 可編程邏輯器件可編程邏輯器件 可編程陣列邏輯器件 PAL Programmable Array Logic 和通用陣列邏輯器件 GAL Generic Array Logic 都屬于簡(jiǎn)單 PLD 隨著技術(shù)的發(fā)展 簡(jiǎn)單 PLD 在集成度和性能 方面的局限性也暴露出來(lái) 其寄存器 I O 引腳 時(shí)鐘資源的數(shù)目有限 沒(méi)有內(nèi)部互連 因此包括復(fù)雜可編程邏輯器件 CPLD Complex PLD 和現(xiàn)場(chǎng)可編程門(mén)陣列器件 FPGA Field Programmable Gate Array 在內(nèi)的復(fù)雜 PLD 迅速發(fā)展起來(lái) 并向著高密度 高速度 低 功耗以及結(jié)構(gòu)體系更靈活 適用范圍更廣闊的方向發(fā)展 FPGA 具備陣列型 PLD 的特點(diǎn) 結(jié)構(gòu)又類似掩膜可編程門(mén)陣列 因而具有更高的集成 度和更強(qiáng)大的邏輯實(shí)現(xiàn)功能 使設(shè)計(jì)變得更加靈活和易實(shí)現(xiàn) 相對(duì)于 CPLD 它還可以將 配置數(shù)據(jù)存儲(chǔ)在片外的 EPROM 或者計(jì)算機(jī)上 設(shè)計(jì)人員可以控制加載過(guò)程 在現(xiàn)場(chǎng)修改 器件的邏輯功能 即所謂的現(xiàn)場(chǎng)可編程 所以 FPGA 得到了更普遍的應(yīng)用 3 33 3 硬件描述語(yǔ)言硬件描述語(yǔ)言 VHDLVHDL 及數(shù)字系統(tǒng)設(shè)計(jì)方法及數(shù)字系統(tǒng)設(shè)計(jì)方法 3 3 13 3 1 硬件描述語(yǔ)言硬件描述語(yǔ)言 VHDLVHDL 簡(jiǎn)介簡(jiǎn)介 硬件描述語(yǔ)言 Very High Speed Integrated Circuit Hardware Description Language VHDL 是一種用于設(shè)計(jì)硬件電子系統(tǒng)的計(jì)算機(jī)語(yǔ)言 包括系統(tǒng)行為級(jí) 寄存器 傳輸級(jí)和邏輯門(mén)級(jí)多個(gè)設(shè)計(jì)層次 支持結(jié)構(gòu) 數(shù)據(jù)流 行為三種描述形式的混合描述 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 11 因此 VHDL 幾乎覆蓋了以往各種硬件描述語(yǔ)言的功能 它主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu) 行為 功能和接口 非常適用于可編程邏輯芯片的應(yīng)用設(shè)計(jì) 與其它的 HDL 相比 VHDL 具有更強(qiáng)大的行為描述能力 從而決定了它成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言 3 3 23 3 2 利用利用 VHDLVHDL 設(shè)計(jì)數(shù)字系統(tǒng)設(shè)計(jì)數(shù)字系統(tǒng) 利用 VHDL 語(yǔ)言設(shè)計(jì)數(shù)字系統(tǒng)硬件電路 與傳統(tǒng)的設(shè)計(jì)方法相比 具有以下優(yōu)點(diǎn) 1 采用自頂向下 TOP DOWN 的設(shè)計(jì)方法 自頂向下是指從系統(tǒng)總體要求出發(fā) 在頂 層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計(jì) 由于設(shè)計(jì)的主要仿真和調(diào)試過(guò)程在高層次上完成 這一方面有利于提高了設(shè)計(jì)的效率 2 降低了硬件電路的設(shè)計(jì)難度 在使用 VHDL 語(yǔ)言設(shè)計(jì)硬件電路時(shí) 可以免除編寫(xiě)邏 輯表達(dá)式或真值表的過(guò)程 使得設(shè)計(jì)難度大大下降 從而也縮短了設(shè)計(jì)周期 3 主要設(shè)計(jì)文件是用 VHDL 語(yǔ)言編寫(xiě)的源程序 在傳統(tǒng)的硬件電路設(shè)計(jì)中 最后形成 的主要文件是電路原理圖 而采用 VHDL 語(yǔ)言設(shè)計(jì)系統(tǒng)硬件電路時(shí)主要的設(shè)計(jì)文件是 VHDL 語(yǔ)言編寫(xiě)的源程序 4 方便 ASIC 移植 VHDL 語(yǔ)言的效率之一 就是如果你的設(shè)計(jì)是被綜合到一個(gè) FPGA 或 CPLD 的話 則可以使你設(shè)計(jì)的產(chǎn)品以最快的速度上市 當(dāng)產(chǎn)品的產(chǎn)量達(dá)到相當(dāng)?shù)臄?shù)量 時(shí) 采用 VHDL 進(jìn)行的設(shè)計(jì)很容易轉(zhuǎn)換成專用集成電路來(lái)實(shí)現(xiàn) 所以本次設(shè)計(jì)采用利用 VHDL 語(yǔ)言的數(shù)字系統(tǒng)設(shè)計(jì)方法 4 4 IIRIIR 數(shù)字濾波器的設(shè)計(jì)與仿真結(jié)果分析數(shù)字濾波器的設(shè)計(jì)與仿真結(jié)果分析 4 14 1 各模塊的設(shè)計(jì)與仿真結(jié)果分析各模塊的設(shè)計(jì)與仿真結(jié)果分析 本課題在實(shí)現(xiàn)方案三的基礎(chǔ)上 結(jié)合參考文獻(xiàn) 4 6 將 IIR 濾波器的硬件系統(tǒng)分為四 個(gè)模塊 時(shí)序控制 延時(shí) 補(bǔ)碼乘加和累加模塊 以下就各個(gè)模塊的實(shí)現(xiàn)及仿真作簡(jiǎn)要 的分析 4 1 14 1 1 時(shí)序控制模塊的設(shè)計(jì)與仿真結(jié)果分析時(shí)序控制模塊的設(shè)計(jì)與仿真結(jié)果分析 時(shí)序控制模塊主要用來(lái)產(chǎn)生對(duì)其它模塊的時(shí)序控制信號(hào) 模塊的符號(hào)如圖 3 1 a 所 示 輸入信號(hào) CLK 是時(shí)鐘信號(hào) RES 是復(fù)位信號(hào) CLK REG 及 CLK REGBT 是輸出信號(hào) 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 12 圖 3 1 a 時(shí)序控制模塊圖 圖 3 1 b 時(shí)序控制模塊仿真圖 時(shí)序控制模塊仿真如圖 3 2 b 所示 其中 counter 為程序內(nèi)部計(jì)數(shù)信號(hào) 在 clk 的 上升延到來(lái)時(shí) counter 以 6 個(gè)時(shí)鐘為周期開(kāi)始進(jìn)行計(jì)數(shù) clk regbt 每隔 6 個(gè)時(shí)鐘輸出 一個(gè)低電平 clk reg 則每隔 6 個(gè)時(shí)鐘后輸出一個(gè)高電平 輸出的兩個(gè)時(shí)鐘信號(hào)正好控制 延時(shí)模塊 補(bǔ)碼乘加模塊和累加模塊的模塊的運(yùn)行 符合設(shè)計(jì)要求 時(shí)序控制模塊程序 見(jiàn)附錄 1 4 1 24 1 2 延時(shí)模塊的設(shè)計(jì)與仿真結(jié)果分析延時(shí)模塊的設(shè)計(jì)與仿真結(jié)果分析 延時(shí)模塊的符號(hào)如圖 3 2 a 所示 其主要作用是在 clk 時(shí)鐘作用下將差分方程的各 值延遲一個(gè)時(shí)鐘 以實(shí)現(xiàn)一次延時(shí)運(yùn)算 即當(dāng)輸入為 xn 和 yn 時(shí) 經(jīng)過(guò)一次延時(shí)后 其輸出分別為 x n 1 和 y n 1 其中 yout 是反饋輸入信號(hào) xn 是輸入信號(hào) 程序見(jiàn)附錄 二 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 13 3 2 b 延時(shí)模塊仿真圖 延時(shí)模塊仿真圖如圖 3 2 b 所示 由圖 3 4 可以看出當(dāng)輸入的 xn yout 都 為時(shí) 在時(shí)鐘信號(hào)上升沿的作用下產(chǎn)生延時(shí) 經(jīng)第一個(gè)時(shí)鐘后 5 4 3 2 1 0 x0 x1 x2 y0 y1 的值分別為 10 0 1 0 經(jīng)第二個(gè)時(shí)鐘后 x0 x1 x2 y0 y1 的 值分別為 2 1 0 2 1 經(jīng)第三個(gè)時(shí)鐘后 x0 x1 x2 y0 y1 的值分別為 3 2 1 3 2 經(jīng)第四個(gè)時(shí)鐘后 由此可見(jiàn)該模塊仿真值正確 延時(shí)模塊程序見(jiàn) 附錄 1 4 1 34 1 3 補(bǔ)碼乘加模塊的設(shè)計(jì)與仿真結(jié)果分析補(bǔ)碼乘加模塊的設(shè)計(jì)與仿真結(jié)果分析 補(bǔ)碼乘加模塊主要用來(lái)實(shí)現(xiàn)輸入序列 與系數(shù) 分別相乘后再相加 nX nY i a i b 的過(guò)程 即實(shí)現(xiàn)的算法 為了避免過(guò)多地使用 211022110 nnnnnn ybybxaxaxay 乘法器 本設(shè)計(jì)中乘加單元 MAC 的乘法器采用陣列乘法器 以提高運(yùn)算速度 由于 QUARTUS 的 LPM 庫(kù)中乘法運(yùn)算為無(wú)符號(hào)數(shù)的陣列乘法 所以使用時(shí)需要先將兩個(gè)補(bǔ)碼乘 數(shù)轉(zhuǎn)換為無(wú)符號(hào)數(shù)相乘后 再將乘積轉(zhuǎn)換為補(bǔ)碼乘積輸出 每個(gè)二階節(jié)完成一次運(yùn)算共 需要 6 個(gè)時(shí)鐘周期 而且需采用各自獨(dú)立的 MAC 實(shí)現(xiàn)兩級(jí)流水線結(jié)構(gòu) 即每個(gè)數(shù)據(jù)經(jīng)過(guò) 兩個(gè)二階節(jié)輸出只需要 6 個(gè)時(shí)鐘周期 模塊的符號(hào)如圖 3 3 a 所示 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 14 圖 3 3 a 補(bǔ)碼乘加模塊圖 圖 3 3 b 補(bǔ)碼乘加模塊仿真圖 補(bǔ)碼乘加模塊仿真圖如圖3 5所示 clk regbt及clk reg為輸入時(shí)鐘 由時(shí)序控制模 塊提供 為系數(shù) x0 x1 x2 y0 y1為輸入信號(hào) yout為輸出信號(hào) 圖3 3 b i a 1 j b 中75為x0 x1 x2 y0 y1的值15和系數(shù) 相乘后再相加的結(jié)果 完成了補(bǔ)碼乘加 i a 1 j b 的功能 補(bǔ)碼乘加模塊程序見(jiàn)附錄1 4 1 44 1 4 累加模塊的設(shè)計(jì)與仿真結(jié)果分析累加模塊的設(shè)計(jì)與仿真結(jié)果分析 補(bǔ)碼乘加模塊所輸出的信號(hào)送入累加器后 與寄存于累加器中的上一步計(jì)算的中間 結(jié)果相加 最后將此步的計(jì)算結(jié)果經(jīng)由輸出引腳輸出 所得信號(hào)即為最終結(jié)果 即該模 塊主要實(shí)現(xiàn) youtput yout youtput n 1 的算法 模塊的符號(hào)如圖 3 4 a 所示 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 15 圖 3 4 a 累加模塊圖 圖 3 4 b 累加模塊仿真圖 累加模塊仿真圖如圖3 4 b 其中res為復(fù)位信號(hào) clk為時(shí)鐘信號(hào) yout為輸入信 號(hào) 由補(bǔ)碼乘加模塊的輸出信號(hào)yout提供 由圖中可以看出當(dāng)輸入信號(hào)為yout 輸出為youtput 實(shí)現(xiàn)了累加的功能 符合設(shè)計(jì)要求 累加模 5 4 3 2 1 0 15 10 6 3 1 0 塊程序見(jiàn)附錄1 4 1 54 1 5 頂層模塊設(shè)計(jì)頂層模塊設(shè)計(jì) 頂層模塊設(shè)計(jì)采用了原理圖輸入方法 原理圖輸入方式非常直觀 便于信號(hào)觀察和 電路的調(diào)節(jié) 圖 3 5 頂層模塊圖 本課題設(shè)計(jì)的頂層文件名為 iir gdf 設(shè)計(jì)生成的邏輯符號(hào)如圖 3 5 所示 頂層模塊 設(shè)計(jì)程序見(jiàn)附錄 1 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 16 4 24 2 IIRIIR 數(shù)字濾波器的仿真與結(jié)果分析數(shù)字濾波器的仿真與結(jié)果分析 4 2 14 2 1 IIRIIR 數(shù)字濾波器的系統(tǒng)設(shè)計(jì)數(shù)字濾波器的系統(tǒng)設(shè)計(jì) IIR 數(shù)字濾波器頂層原理圖如圖 3 6 所示 為了便于理解整個(gè)系統(tǒng)的設(shè)計(jì) 現(xiàn)將系統(tǒng)的運(yùn)行過(guò)程進(jìn)行說(shuō)明 圖 3 6 IIR 數(shù)字濾波器頂層原理圖 系統(tǒng)先開(kāi)始處于初始狀態(tài) 當(dāng)清零信號(hào)為 1 時(shí) 對(duì)整個(gè)系統(tǒng)進(jìn)行清零 在清零信 號(hào)為 0 的前提 時(shí)序控制模塊在時(shí)鐘 clk 上升沿的作用下產(chǎn)生兩個(gè)信號(hào) CLK REG 及 CLK REGBT 其中 CLK REG 信號(hào)用來(lái)作為延時(shí)模塊 補(bǔ)碼乘加模塊和累加模塊的輸入時(shí)鐘 CLK REGBT 每隔 6 個(gè)時(shí)鐘產(chǎn)生一個(gè)高電平作為這三個(gè)模塊的復(fù)位信號(hào) 延時(shí)模塊在接收到 CLK REG 高電平信號(hào)時(shí)清零輸出端 接收到低電平時(shí) 在 CLK REGBT 上升沿的作用下對(duì)輸 入信號(hào)進(jìn)行延時(shí) 以實(shí)現(xiàn)一次延時(shí)運(yùn)算 而后將延時(shí)信號(hào)輸出 送給補(bǔ)碼乘加模塊 補(bǔ) 碼乘加模塊在接收延時(shí)信號(hào)的同時(shí)也接收讀者輸入的系數(shù)信號(hào) 在 CLK REGBT 上升沿的 作用下實(shí)現(xiàn)系數(shù)和延時(shí)信號(hào)的補(bǔ)碼乘加運(yùn)算 而此步驟需要 6 個(gè)時(shí)鐘來(lái)完成 正好與時(shí) 序控制模塊的輸出信號(hào) CLK REGBT 相一致 補(bǔ)碼乘加模塊的輸出一部分送入延時(shí)模塊以 實(shí)現(xiàn)信號(hào)的反饋 另一部分則送入到累加模塊 在累加模塊中進(jìn)行結(jié)果累加后輸出 得 到最終結(jié)果 4 2 24 2 2 IIRIIR 數(shù)字濾波器的系統(tǒng)仿真與結(jié)果分析數(shù)字濾波器的系統(tǒng)仿真與結(jié)果分析 在各模塊編譯通過(guò)后將各模塊進(jìn)行了綜合 針對(duì)不同的輸入信號(hào)和不同的輸入系數(shù) 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 17 對(duì) IIR 數(shù)字濾波器進(jìn)行了仿真 仿真波形如圖 3 7 所示 并將仿真值和計(jì)算值進(jìn)行了比 較 如表 3 2 1 中所示 a b c 圖 3 7 IIR 數(shù)字濾波器仿真圖 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 18 表 3 2 1 濾波后輸出的數(shù)據(jù) 輸入數(shù)據(jù) Xn 0 1 2 3 4 5 a0 a1 a2 b0 b1 1 計(jì)算值 01411244780 仿真值 01411254369 輸入數(shù)據(jù) Xn 0 1 0 1 0 1 a0 a1 a2 b0 b1 1 計(jì)算值 012581524 仿真值 012591523 輸入數(shù)據(jù) Xn 0 1 0 1 0 1 a0 2 a1 a2 b0 b1 1 計(jì)算值 0238142234 仿真值 0249172741 由表 3 2 1 可見(jiàn) 仿真值結(jié)果正確 只是與真值之間存在一定的誤差 仿真值越大 時(shí)誤差越大 這是由于有限精度算法所引起的誤差 經(jīng)累加器累加后使得誤差變得越來(lái) 越大 要解決這一問(wèn)題可以通過(guò)增加二進(jìn)制位數(shù)來(lái)提高系統(tǒng)的運(yùn)算精度 4 2 34 2 3 高階高階 IIRIIR 數(shù)字濾波器的實(shí)現(xiàn)數(shù)字濾波器的實(shí)現(xiàn) 要實(shí)現(xiàn)一個(gè)高階 IIR 數(shù)字濾波器 如果采用直接型結(jié)構(gòu)實(shí)現(xiàn) 需用的乘法器和延遲 單元相對(duì)較多 而且分子和分母的系數(shù)相差較大 需要較多的二進(jìn)制位數(shù)才能實(shí)現(xiàn)相應(yīng) 的精度要求 如果采用二階節(jié)級(jí)聯(lián)實(shí)現(xiàn) 一方面各基本節(jié)的零點(diǎn) 極點(diǎn)可以很方便地單 獨(dú)進(jìn)行調(diào)整 另一方面可以降低對(duì)二進(jìn)制數(shù)位數(shù)的要求 以實(shí)現(xiàn)一個(gè)四階 IIR 數(shù)字濾波 器為例 可以通過(guò)兩個(gè)二階 IIR 數(shù)字濾波器級(jí)聯(lián)的方式來(lái)實(shí)現(xiàn)較為簡(jiǎn)潔 圖 3 8 給出了 一個(gè)四階 IIR 數(shù)字濾波器實(shí)現(xiàn)的原理圖 具體的工作原理與二階 IIR 數(shù)字濾波器類似 在此本節(jié)即不再細(xì)述 當(dāng)然 更高階的 IIR 數(shù)字濾波器的實(shí)現(xiàn)方法與四階濾波器的實(shí)現(xiàn)方法類似 只需將 多個(gè)二階 IIR 數(shù)字濾波器進(jìn)行級(jí)聯(lián) 即可實(shí)現(xiàn) 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 19 圖 3 8 四階 IIR 數(shù)字濾波其的頂層原理 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 20 結(jié)結(jié) 束束 語(yǔ)語(yǔ) 為期三個(gè)月的畢業(yè)設(shè)計(jì)即將結(jié)束 在這期間我經(jīng)歷了從查資料 分析課題到學(xué)習(xí)軟 件 設(shè)計(jì)程序 調(diào)試 總結(jié)經(jīng)驗(yàn)教訓(xùn)及書(shū)寫(xiě)畢業(yè)論文的過(guò)程 本課題采用一種基于 VHDL 的 IIR 數(shù)字濾波器的設(shè)計(jì)方案 首先分析了 IIR 數(shù)字濾波 器的原理及設(shè)計(jì)方法 然后通過(guò) QUARTUS 的設(shè)計(jì)平臺(tái) 采用模塊化 層次化的設(shè)計(jì)思想 將整個(gè) IIR 數(shù)字濾波器分為四個(gè)功能模塊 時(shí)序控制模塊 延時(shí)模塊 補(bǔ)碼乘加模塊 累加模塊 分別對(duì)各模塊采用語(yǔ)言 VHDL 進(jìn)行描述后 進(jìn)行了仿真和綜合 仿真結(jié)果表明 本課題所設(shè)計(jì)的 IIR 數(shù)字濾波器運(yùn)算速度較快 但由于有限精度算法問(wèn)題致使仿真結(jié)果 存在一定的誤差 針對(duì)這一問(wèn)題可以通過(guò)增加二進(jìn)制位數(shù)來(lái)提高系統(tǒng)的運(yùn)算精度 由于 畢業(yè)設(shè)計(jì)即將結(jié)束 沒(méi)有時(shí)間繼續(xù)完善本課題所實(shí)現(xiàn)的 IIR 數(shù)字濾波器的性能 在這一 方面 濾波器的性能有待提高 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 21 參考文獻(xiàn)參考文獻(xiàn) 1 劉凌 胡永生譯 數(shù)字信號(hào)處理的 FPGA 實(shí)現(xiàn) M 北京 清華大學(xué)出版社 2003 2 丁玉美 高西全 數(shù)字信號(hào)處理 M 西安 西安電子科技大學(xué)出版社 2004 3 潘松 黃繼業(yè) EDA 技術(shù)實(shí)用教程 M 北京 科學(xué)出版社 2000 4 潘松 王國(guó)棟 VHDL 實(shí)用教程 M 成都 電子科技大學(xué)出版社 2001 5 倪向東 基于 FPGA 的四階 IIR 數(shù)字濾波器 J 電子技術(shù)應(yīng)用 2003 6 王衛(wèi)兵 高階 IIR 數(shù)字濾波器的 FPGA 描述 J 電子元器件 2005 3 4 7 黃任 VHDL 入門(mén) 解惑 經(jīng)典實(shí)例 經(jīng)驗(yàn)總結(jié) M 北京 北京航空航天出版社 2005 8 北京理工大學(xué) ASIC 研究所 VHDL 語(yǔ)言 100 例詳解 M 北京 清華大學(xué)出版社 1999 9 Joseph Evans Efficient IIR Filter Architectures Suitable for FPGA M New York Plenum 2006 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 22 致致 謝謝 本文是在導(dǎo)師李正教授的精心指導(dǎo)和嚴(yán)格要求下完成的 從選題到論文的完成 都 凝聚著李正老師的辛勞和汗水 他在我這三個(gè)月的畢業(yè)設(shè)計(jì)期間給了我很多無(wú)微不至的 關(guān)懷 從 IIR 數(shù)字濾波器的理論知識(shí)到濾波器的實(shí)現(xiàn)方法都有李老師孜孜不倦的教誨 在李老師的幫助下本次畢業(yè)設(shè)計(jì)才能得意順利完成 李老師淵博的知識(shí) 嚴(yán)謹(jǐn)科學(xué)的治 學(xué)態(tài)度和工作作風(fēng)將給我以后的學(xué)習(xí)和工作起著模范和激勵(lì)的作用 在此對(duì)李正老師表 示深深的敬意和衷心的感謝 此外 我在畢業(yè)設(shè)計(jì)期間還得到許多老師 同學(xué) 朋友的幫助 在此亦表示衷心的 感謝 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 23 附錄附錄 1 1 各模塊各模塊 VHDLVHDL 程序程序 時(shí)序控制模塊程序 library ieee use ieee std logic 1164 all use ieee std logic arith all use ieee std logic unsigned all entity control is port clk res in std logic clk reg clk regbt out std logic end architecture bhv of control is signal counter count bt integer signal clk en std logic begin clk regbt not clk and clk en clk reg not clk and not clk en process clk res begin if res 1 then counter 0 count bt 0 elsif clk event and clk 1 then if counter 6 then clk en 1 counter counter 1 count bt count bt 1 else counter 0 count bt 0 clk en 0 end if end if end process end bhv 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 24 延時(shí)模塊程序 library ieee use ieee std logic 1164 all use ieee std logic unsigned all use ieee std logic arith all entity delay is port clk in std logic res in std logic xn in std logic vector 4 downto 0 yout in std logic vector 8 downto 0 x0 x1 x2 out std logic vector 4 downto 0 y0 y1 out std logic vector 8 downto 0 end delay architecture bhv of delay is signal reg x0 reg x1 reg x2 std logic vector 4 downto 0 signal reg y0 reg y1 std logic vector 8 downto 0 begin process res clk begin if res 1 then reg x0 00000 reg x1 00000 reg x2 00000 reg y0 000000000 reg y1 000000000 elsif clk event and clk 1 then reg x2 reg x1 reg x1 reg x0 reg x0 xn reg y1 reg y0 reg y0 yout 實(shí)現(xiàn)延時(shí) end if x0 reg x0 x1 reg x1 x2 reg x2 y0 reg y0 y1 reg y1 end process end bhv 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 25 補(bǔ)碼乘加模塊程序 library ieee use ieee std logic 1164 all use ieee std logic arith all use ieee std logic unsigned all entity smultadd1 is port clk regbt clk reg in std logic a0 a1 a2 b0 b1 x0 x1 x2 in std logic vector 4 downto 0 y0 y1 in std logic vector 8 downto 0 yout out std logic vector 8 downto 0 end smultadd1 architecture bhv of smultadd1 is signal tan tbn tp2n std logic signal cnt std logic vector 2 downto 0 signal ta tb taa tbb std logic vector 3 downto 0 signal tmpa tmpb std logic vector 4 downto 0 signal tp tpp tppp std logic vector 7 downto 0 signal ytmp p std logic vector 8 downto 0 begin tmpa 0 tmpb 0 ta tmpa 3 downto 0 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 26 tb tmpb 3 downto 0 tan tmpa 4 tbn tmpb 4 taa not ta 1 when tan 1 else ta 將輸入轉(zhuǎn)換為補(bǔ)碼 tbb not tb 1 when tbn 1 else tb tp2n tan xor tbn tp taa tbb 完成補(bǔ)碼相乘運(yùn)算 tpp not tp 1 when tp2n 1 else tp p 0 when tmpb 00000 else tp2n process clk reg clk regbt begin if clk reg 1 then cnt 000 ytmp 0 elsif clk regbt event and clk regbt 1 then if cnt 5 then cnt cnt 1 ytmp ytmp p 完成補(bǔ)碼相乘后的相加運(yùn)算 elsif cnt 5 then if ytmp 8 1 then tppp not ytmp 7 downto 0 1 yout 7 downto 0 tppp yout 8 ytmp 8 else tppp ytmp 7 downto 0 yout 7 downto 0 tppp yout 8 ytmp 8 end if end if end if end process end bhv 淮陰師范學(xué)院畢業(yè)論文 設(shè)計(jì) 27 累加模塊程序 library ieee use ieee std logic 1164 all use ieee std logic unsigned all use ieee std logic arith all entity addyn is port clk in std logic res in std logic yout in std logic vector 8 downto 0 youtput out std logic vector 8 downto 0 end addyn architecture bhv of addyn is signal y out y ou std logic vector 8 downto

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論