(1.7.6)-第6章 EDA技術(shù)及應(yīng)用實(shí)驗(yàn)篇20200421_第1頁(yè)
(1.7.6)-第6章 EDA技術(shù)及應(yīng)用實(shí)驗(yàn)篇20200421_第2頁(yè)
(1.7.6)-第6章 EDA技術(shù)及應(yīng)用實(shí)驗(yàn)篇20200421_第3頁(yè)
(1.7.6)-第6章 EDA技術(shù)及應(yīng)用實(shí)驗(yàn)篇20200421_第4頁(yè)
(1.7.6)-第6章 EDA技術(shù)及應(yīng)用實(shí)驗(yàn)篇20200421_第5頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第6章EDA技術(shù)及應(yīng)用實(shí)驗(yàn)篇6.1計(jì)數(shù)器電路的設(shè)計(jì)實(shí)驗(yàn)內(nèi)容提要實(shí)驗(yàn)?zāi)康?;?shí)驗(yàn)內(nèi)容;實(shí)驗(yàn)設(shè)計(jì)計(jì);VHDL程序;仿真波形設(shè)置;硬件驗(yàn)證結(jié)果。6.1.1計(jì)數(shù)器電路的設(shè)計(jì)實(shí)驗(yàn)(1)EDA技術(shù)實(shí)驗(yàn)的特點(diǎn):1.EDA技術(shù)實(shí)驗(yàn)是綜合性的,因?yàn)樗婕坝布?、軟件和相關(guān)的專業(yè)知識(shí);2.EDA技術(shù)實(shí)驗(yàn)又是設(shè)計(jì)性、創(chuàng)新性的,因?yàn)榧词菇o出了參考設(shè)計(jì)方案或程序,自己還是需要根據(jù)實(shí)際進(jìn)行修改甚至創(chuàng)新;3.所設(shè)即所見,也就是用軟件設(shè)計(jì)的結(jié)果,經(jīng)過編程下載后立即可以在EDA實(shí)驗(yàn)開發(fā)系統(tǒng)上立即看到結(jié)果。一、實(shí)驗(yàn)?zāi)康?.學(xué)習(xí)QuartusⅡ/ISEDesignSuite軟件的基本使用方法。2.學(xué)習(xí)GW48系列或其他EDA實(shí)驗(yàn)開發(fā)系統(tǒng)的基本使用方法。3.學(xué)習(xí)VHDL程序的基本結(jié)構(gòu)和基本語句的使用。二、實(shí)驗(yàn)內(nèi)容設(shè)計(jì)并調(diào)試好一個(gè)計(jì)數(shù)范圍為0~9999的4位十進(jìn)制計(jì)數(shù)器電路CNT9999,并用GW48系列或其他EDA實(shí)驗(yàn)開發(fā)系統(tǒng)進(jìn)行硬件驗(yàn)證,具體包括系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、VHDL程序設(shè)計(jì)、程序仿真與分析、邏輯綜合分析、硬件邏輯驗(yàn)證等主要內(nèi)容。三、實(shí)驗(yàn)設(shè)計(jì)1.系統(tǒng)設(shè)計(jì)方案1圖1CNT9999電路原理圖1CNT99992.系統(tǒng)設(shè)計(jì)方案2*圖20~9999計(jì)數(shù)動(dòng)態(tài)顯示電路DTCNT9999原理圖2底層的6個(gè)模塊用VHDL文本輸入,頂層的電路系統(tǒng)則采用原理圖輸入或文本方式輸入。DTCNT9999四、VHDL程序DTCNT9999頂層電路的VHDL程序設(shè)計(jì):LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYDTCNT9999ISPORT(CLK:INSTD_LOGIC;CLK2:INSTD_LOGIC;

CLR:INSTD_LOGIC;ENA:INSTD_LOGIC;COM:OUTSTD_LOGIC_VECTOR(7DOWNTO0);SEG:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYDCNT9999;ARCHITECTUREARTOFDCNT9999ISCOMPONENTCNT10ISPORT(CLK,CLR,ENA:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CO:OUTSTD_LOGIC);ENDCOMPONENTCNT10;COMPONENTCTRLSISPORT(CLK:INSTD_LOGIC;SEL:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDCOMPONENTCTRLS;COMPONENTDISPLAYIS PORT(SEL:INSTD_LOGIC_VECTOR(2DOWNTO0);DATAIN:INSTD_LOGIC_VECTOR(15DOWNTO0);COM:OUTSTD_LOGIC_VECTOR(7DOWNTO0);SEG:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDCOMPONENTDISPLAY;SIGNALS0,S1,S2:STD_LOGIC;SIGNALSEL:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALDOUT:STD_LOGIC_VECTOR(15DOWNTO0);

U0:CNT10PORTMAP(CLK,CLR,ENA,DOUT(3DOWNTO0),S0);

U1:CNT10PORTMAP(S0,CLR,ENA,DOUT(7DOWNTO4),S1);U2:CNT10PORTMAP(S1,CLR,ENA,DOUT(11DOWNTO8),S2);U3:CNT10PORTMAP(S2,CLR,ENA,DOUT(15DOWNTO12));U4:CTRLSPORTMAP(CLK2,SEL);U5:DISPLAYPORTMAP(SEL,DOUT,COM,SEG);ENDARCHITECTUREART;圖20~9999計(jì)數(shù)動(dòng)態(tài)顯示電路DTCNT9999原理圖2內(nèi)容提要實(shí)驗(yàn)?zāi)康?;?shí)驗(yàn)內(nèi)容;實(shí)驗(yàn)設(shè)計(jì)計(jì);VHDL程序;仿真波形設(shè)置;硬件驗(yàn)證結(jié)果。6.1.2計(jì)數(shù)器電路的設(shè)計(jì)實(shí)驗(yàn)(2)一、仿真波形設(shè)置底層的十進(jìn)制計(jì)數(shù)器CNT10的仿真:圖1CNT10仿真輸入設(shè)置及可能結(jié)果估計(jì)圖二、硬件驗(yàn)證結(jié)果1.硬件驗(yàn)證方案1圖2CNT9999電路原理圖1圖3實(shí)驗(yàn)電路結(jié)構(gòu)圖NO.0對(duì)應(yīng)實(shí)驗(yàn)?zāi)J?。設(shè)計(jì)實(shí)體I/O標(biāo)識(shí)設(shè)計(jì)實(shí)體I/O來源/去向插座序號(hào)EP1C6Q2407I/O號(hào)→管腳號(hào)CLK時(shí)鐘信號(hào)源CLOCK9IO→175CLR鍵3PIO2IO2→235ENA鍵4PIO3IO3→236DOUT[3..0]經(jīng)譯碼后接數(shù)碼管1PIO19~PIO16IO19~I(xiàn)O16→16、15、14、13DOUT[7..4]經(jīng)譯碼后接數(shù)碼管2PIO23~PIO20IO23~I(xiàn)O20→20、19、18、17DOUT[11..8]經(jīng)譯碼后接數(shù)碼管3PIO27~PIO24IO27~I(xiàn)O24→132、128、41、21DOUT[15..12]經(jīng)譯碼后接數(shù)碼管4PIO31~PIO28IO31~I(xiàn)O28→136、135、134、133備注驗(yàn)證設(shè)備:GW48系列;實(shí)驗(yàn)芯片:EP1C6Q2407;實(shí)驗(yàn)?zāi)J剑篘O.0;模式圖及管腳對(duì)應(yīng)表詳見教材圖5.5和表5.3。表1CNT9999(靜態(tài)顯示)管腳鎖定過程表使用杭州康芯GW48系列實(shí)驗(yàn)開發(fā)系統(tǒng)進(jìn)行硬件驗(yàn)證的結(jié)果:當(dāng)編程下載成功后,首先將CLR設(shè)置為低電平,而將ENA設(shè)置為高電平,這時(shí)看到系統(tǒng)每隔1個(gè)CLK的周期,計(jì)數(shù)結(jié)果變化1次。假若改變CLK的時(shí)鐘頻率,計(jì)數(shù)結(jié)果的變化快慢,會(huì)跟著發(fā)生變化。在計(jì)數(shù)的過程中,若將ENA設(shè)置為低電平,這計(jì)數(shù)過程停止;若將CLR設(shè)置為高電平,則會(huì)對(duì)當(dāng)前的計(jì)數(shù)結(jié)果進(jìn)行清零。2.硬件驗(yàn)證方案2設(shè)計(jì)實(shí)體I/O標(biāo)識(shí)設(shè)計(jì)實(shí)體I/O來源/去向插座序號(hào)EP3C55F484C8管腳號(hào)CLK1時(shí)鐘信號(hào)源FRQ_Q11AB16CLK2時(shí)鐘信號(hào)源FRQ_Q15P20CLR按鍵SW1CON1.33N18ENA按鍵SW8CON2.59F8COM[7..0]接數(shù)碼管7-0的公共端CON1.51-CON1.44V16、AA17、U22、V22、W22、Y22、Y21、AB20SEG[7..0]接數(shù)碼管的驅(qū)動(dòng)段h-aCON1.32-CON1.25M19、M21、N20、N21、P21、R21、W20、AA20備注驗(yàn)證設(shè)備:北京革新GX-BICE-EDA/SOPC實(shí)驗(yàn)系統(tǒng);實(shí)驗(yàn)芯片:EP3C55-FBGA484;管腳對(duì)應(yīng)表詳見參考資料:北京革新GX-BICE-EDA/SOPC(EP3C55-FBGA484)實(shí)驗(yàn)開發(fā)系統(tǒng)常用管腳表。表2DTCNT9999(動(dòng)態(tài)掃描顯示)管腳鎖定過程表計(jì)數(shù)結(jié)果DOUT[3..0]、DOUT[7..4]、DOUT[11..8]、DOUT[15..12]使用動(dòng)態(tài)掃描的方式,分別在數(shù)碼管0、數(shù)碼管1、數(shù)碼管2、數(shù)碼管3上顯示,使用北京革新GX-BICE-EDA/SOPC實(shí)驗(yàn)系統(tǒng)進(jìn)行硬件驗(yàn)證的結(jié)果:首先將CLR設(shè)置為低電平,而將ENA設(shè)置為高電平,這時(shí)看到系統(tǒng)每隔1個(gè)CLK1的周期,計(jì)數(shù)結(jié)果變化1次。假若改變CLK1的時(shí)鐘頻率,計(jì)數(shù)結(jié)果的變化快慢,會(huì)跟著發(fā)生變化。假若先選定動(dòng)態(tài)掃描時(shí)鐘信號(hào)CLK2的頻率比較低,我們看到每次在1個(gè)數(shù)碼管上顯示1位數(shù)據(jù),每隔1個(gè)CLK2的周期,顯示的數(shù)據(jù)位數(shù)和數(shù)碼管在不停地變化,隨著CLK2頻率的增大,動(dòng)態(tài)掃描變化的頻率加快,當(dāng)CLK2的頻率達(dá)到一定數(shù)值后,最終計(jì)數(shù)結(jié)果的各位數(shù)據(jù)將同時(shí)在4個(gè)數(shù)碼管上穩(wěn)定的顯示。第6章EDA技術(shù)及應(yīng)用實(shí)驗(yàn)篇6.2數(shù)字秒表的設(shè)計(jì)實(shí)驗(yàn)主講人:譚會(huì)生教授內(nèi)容提要實(shí)驗(yàn)?zāi)康?;?shí)驗(yàn)內(nèi)容;實(shí)驗(yàn)設(shè)計(jì)計(jì);VHDL程序;仿真波形設(shè)置。6.2數(shù)字秒表的設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?.學(xué)習(xí)QuartusⅡ/ISEDesignSuite軟件的基本使用方法。2.熟悉GW48系列或其他EDA實(shí)驗(yàn)開發(fā)系統(tǒng)的基本使用方法。3.學(xué)習(xí)VHDL基本邏輯電路的綜合設(shè)計(jì)應(yīng)用。二、實(shí)驗(yàn)內(nèi)容設(shè)計(jì)并調(diào)試好一個(gè)計(jì)時(shí)范圍為0.01?s~1?h的數(shù)字秒表,并用GW48系列或其他EDA實(shí)驗(yàn)開發(fā)系統(tǒng)進(jìn)行硬件驗(yàn)證,具體包括系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、VHDL程序設(shè)計(jì)、程序仿真與分析、邏輯綜合分析、硬件邏輯驗(yàn)證等內(nèi)容。三、實(shí)驗(yàn)設(shè)計(jì)1)系統(tǒng)設(shè)計(jì)方案1圖1數(shù)字秒表TIMES電路組成原理圖每0.01S變化一次圖1數(shù)字秒表TIMES電路組成原理圖假若用于驗(yàn)證的EDA實(shí)驗(yàn)開發(fā)系統(tǒng)上的數(shù)碼管,沒有外接的顯示譯碼器,本設(shè)計(jì)方案應(yīng)該在每個(gè)計(jì)數(shù)器CNT10/CNT6的輸出CQ[3:0]端,再增設(shè)1個(gè)4/8顯示驅(qū)動(dòng)譯碼器。每0.1S變化1次每0.1S變化一次每1S變化1次每1S變化一次每10S變化1次每10S變化一次每1MIN變化1次每10MIN變化一次每1MIN變化一次每10MIN變化1次每1HOUR變化1次2)系統(tǒng)設(shè)計(jì)方案2*圖2數(shù)字秒表DTTIMES電路組成原理圖將計(jì)數(shù)結(jié)果使用動(dòng)態(tài)掃描的方式進(jìn)行顯示底層的六個(gè)模塊用VHDL文本輸入,頂層的電路系統(tǒng)則采用原理圖輸入或文本方式輸入。四、VHDL源程序分頻器電路,就是將頻率比較高的數(shù)字信號(hào)經(jīng)過適當(dāng)?shù)奶幚砗螽a(chǎn)生要求的頻率比較低的數(shù)字信號(hào)。該電路的設(shè)計(jì),第一步,需要計(jì)算分頻常數(shù),分頻常數(shù)等于輸入信號(hào)的頻率除以輸出信號(hào)的頻率,本設(shè)計(jì)分頻常數(shù)等于3000000/100=30000;其次,分頻器的設(shè)計(jì),實(shí)際上就是一個(gè)計(jì)數(shù)器的變換形式,也就是根據(jù)時(shí)鐘信號(hào)的上升沿或下降沿進(jìn)行計(jì)數(shù),再根據(jù)計(jì)數(shù)的結(jié)果控制的輸出高電平或低電平分頻輸出信號(hào)。--3MHz→100Hz分頻器的源程序CLKGEN.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYCLKGENISPORT(CLK:INSTD_LOGIC; NEWCLK:OUTSTD_LOGIC); ENDENTITYCLKGEN;--3MHz信號(hào)輸入--100Hz計(jì)時(shí)時(shí)鐘信號(hào)輸出ARCHITECTUREARTOFCLKGENISSIGNALCNT:INTEGERRANGE0TO10#29999#; BEGINPROCESS(CLK)IS BEGINIFCLK'EVENTANDCLK='1'THENIFCNT=10#29999#THENCNT<=0; ELSECNT<=CNT+1;ENDIF;ENDIF;ENDPROCESS;分頻計(jì)數(shù)器,由3MHz時(shí)鐘產(chǎn)生100Hz信號(hào)PROCESS(CNT)IS BEGINIFCNT=10#29999#THENNEWCLK<='1';ELSE

NEWCLK<='0';ENDIF;ENDPROCESS;ENDARCHITECTUREART;計(jì)數(shù)溢出信號(hào)控制五、仿真波形設(shè)置在程序的調(diào)試和仿真中,由于程序中有關(guān)參數(shù)的原因,要觀察有關(guān)輸出的變化,需要運(yùn)行較長(zhǎng)的時(shí)間,或在一個(gè)給定的時(shí)間內(nèi),可能看不到有關(guān)輸出的變化。這時(shí)我們可采取調(diào)整有關(guān)參數(shù)的方法進(jìn)行仿真,待仿真證明程序正確后再?gòu)?fù)原到原程序。調(diào)整參數(shù)的具體方法是:先將需修改的內(nèi)容用“--”注釋掉并添加新的內(nèi)容,而調(diào)試好后復(fù)原的方法就是將修改后的內(nèi)容注釋掉,而將原內(nèi)容去掉注釋。圖3使用注釋的方法進(jìn)行程序有關(guān)仿真參數(shù)的調(diào)整圖4CLKGEN的時(shí)序仿真結(jié)果(分頻常數(shù)修改為30)第6章EDA技術(shù)及應(yīng)用實(shí)驗(yàn)篇6.3數(shù)字頻率計(jì)的設(shè)計(jì)主講人:譚會(huì)生教授內(nèi)容提要實(shí)驗(yàn)?zāi)康?;?shí)驗(yàn)內(nèi)容;實(shí)驗(yàn)設(shè)計(jì)計(jì);VHDL程序;仿真波形設(shè)置。6.3數(shù)字頻率計(jì)的設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?.學(xué)習(xí)QuartusⅡ/ISEDesignSuite軟件的基本使用方法。2.熟悉GW48系列或其他EDA實(shí)驗(yàn)開發(fā)系統(tǒng)的基本使用方法。3.學(xué)習(xí)VHDL基本邏輯電路的綜合設(shè)計(jì)應(yīng)用。二、實(shí)驗(yàn)內(nèi)容設(shè)計(jì)并調(diào)試好8位十進(jìn)制數(shù)字頻率計(jì),并用GW48系列或其他EDA實(shí)驗(yàn)開發(fā)系統(tǒng)進(jìn)行硬件驗(yàn)證,具體包括系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、VHDL程序設(shè)計(jì)、程序仿真與分析、邏輯綜合分析、硬件邏輯驗(yàn)證等內(nèi)容。三、實(shí)驗(yàn)設(shè)計(jì)本實(shí)驗(yàn)就是設(shè)計(jì)一個(gè)8位十進(jìn)制數(shù)字頻率計(jì),而頻率就是周期性變化的信號(hào)在單位時(shí)間1S之內(nèi)周期性變化的次數(shù)。因此頻率測(cè)量的基本原理就是計(jì)算每秒鐘內(nèi)待測(cè)信號(hào)的脈沖個(gè)數(shù),而脈沖的個(gè)數(shù)可通過計(jì)數(shù)被測(cè)信號(hào)上升沿的次數(shù)而得到,因?yàn)閮纱紊仙刂g就是1個(gè)周期。所以頻率計(jì)的設(shè)計(jì),本質(zhì)上就是一個(gè)特定計(jì)數(shù)器的設(shè)計(jì)。1.系統(tǒng)設(shè)計(jì)方案1圖18位十進(jìn)制數(shù)字頻率計(jì)FREQ電路組成原理圖頻率計(jì)的測(cè)頻結(jié)果則分別通過外部的8個(gè)外部BCD譯碼器顯示譯碼后,再接到8個(gè)數(shù)碼管上進(jìn)行顯示。圖2測(cè)頻控制信號(hào)發(fā)生器工作時(shí)序--CLK頻率取1Hz--TSTEN脈寬為1s分頻器電路CLKGEN,就是為了滿足各種不同頻率信號(hào)源而經(jīng)過分頻后能產(chǎn)生輸出信號(hào)頻率為1HZ的基準(zhǔn)控制時(shí)鐘信號(hào)。寄存器REG32B的設(shè)置,則可使顯示的數(shù)據(jù)穩(wěn)定,而不會(huì)由于周期性的清零信號(hào)而不斷閃爍。十進(jìn)制計(jì)數(shù)器CNT10,用于測(cè)頻計(jì)數(shù),該此十進(jìn)制計(jì)數(shù)器的特殊之處是,有一時(shí)鐘使能輸入端ENA,用于鎖定計(jì)數(shù)值。當(dāng)高電平時(shí)計(jì)數(shù)允許,低電平時(shí)計(jì)數(shù)禁止。2.系統(tǒng)設(shè)計(jì)方案2*圖38位十進(jìn)制數(shù)字頻率計(jì)DTFREQ電路組成原理圖底層的13個(gè)模塊用VHDL文本輸入,頂層的電路系統(tǒng)則采用原理圖輸入或文本方式輸入。四、VHDL程序--測(cè)頻控制信號(hào)發(fā)生器的源程序TESTCTL.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYTESTCTLISPORT(CLK:INSTD_LOGIC; TSTEN:OUTSTD_LOGIC; CLR_CNT:OUTSTD_LOGIC; LOAD:OUTSTD_LOGIC); ENDENTITYTESTCTL;--1Hz測(cè)頻控制時(shí)鐘--計(jì)數(shù)器時(shí)鐘使能--計(jì)數(shù)器清零--輸出鎖存信號(hào)ARCHITECTUREARTOFTESTCTLISSIGNALDIV2CLK:STD_LOGIC;BEGINPROCESS(CLK)ISBEGINIFCLK'EVENTANDCLK='1'THEN DIV2CLK<=NOTDIV2CLK;ENDIF;ENDPROCESS;1Hz時(shí)鐘二分頻程序PROCESS(CLK,DIV2CLK)ISBEGINIFCLK='0'ANDDIV2CLK='0'THEN CLR_CNT<='1';ELSECLR_CNT<='0';ENDIF;ENDPROCESS;LOAD<=NOTDIV2CLK;ENDARCHITECTUREART;產(chǎn)生計(jì)數(shù)器的清零信號(hào)TSTEN<=DIV2CLK;五、仿真波形設(shè)置圖4FREQ的時(shí)序仿真結(jié)果第6章EDA技術(shù)及應(yīng)用實(shí)驗(yàn)篇6.4FIR濾波器的設(shè)計(jì)實(shí)驗(yàn)主講人:譚會(huì)生教授內(nèi)容提要實(shí)驗(yàn)?zāi)康?;?shí)驗(yàn)內(nèi)容;實(shí)驗(yàn)設(shè)計(jì)計(jì);VHDL程序;仿真波形分析。6.4FIR濾波器的設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?.學(xué)習(xí)QuartusⅡ/ISEDesignSuite軟件的基本使用方法。2.掌握GW48系列或其他EDA實(shí)驗(yàn)開發(fā)系統(tǒng)的基本使用方法。3.學(xué)習(xí)VHDL程序設(shè)計(jì)中LPM兆功能塊的程序調(diào)用及參數(shù)傳遞方法。4.學(xué)習(xí)數(shù)字信號(hào)處理算法的分析、設(shè)計(jì)、編程與調(diào)試方法,包括參數(shù)的量化、數(shù)據(jù)的延遲、流水線的使用、仿真數(shù)據(jù)的輸入、仿真結(jié)果的分析等。二、實(shí)驗(yàn)內(nèi)容圖1轉(zhuǎn)置結(jié)構(gòu)的FIR濾波器G(Z)=0.48301+0.8365Z-1+0.2241Z-2-0.1294Z-3G(Z)=124/256+214Z-1/256+57Z-2/256-33Z-3/256Y(n)=124X(n)/256+214X(n-1)/256+57X(n-2)/256-33X(n-3)/256根據(jù)圖示的轉(zhuǎn)置FIR濾波器的原理,設(shè)計(jì)并調(diào)試好一個(gè)成一個(gè)濾波器長(zhǎng)度為4的DaubechiesDB4轉(zhuǎn)置FIR濾波器,并用GW48系列或其他EDA實(shí)驗(yàn)開發(fā)系統(tǒng)進(jìn)行硬件驗(yàn)證。具體包括系統(tǒng)結(jié)構(gòu)設(shè)計(jì)VHDL程序設(shè)計(jì)程序仿真與分析邏輯綜合分析硬件邏輯驗(yàn)證三、實(shí)驗(yàn)設(shè)計(jì)圖1轉(zhuǎn)置結(jié)構(gòu)的FIR濾波器Y(n)=124X(n)/256+214X(n-1)/256+57X(n-2)/256-33X(n-3)/256延遲輸出系數(shù)輸入tnn+1n-1n-2n-3…0X(n)X(n-1)X(n-2)X(n-3)圖2輸入端口X在不同時(shí)刻t輸入數(shù)據(jù)表示示意圖X(n+1)四、VHDL源程序LIBRARYLPM;USELPM.LPM_COMPONENTS.ALL;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;(W1:INTEGER:=9; W2:INTEGER:=18; W3:INTEGER:=19; W4:INTEGER:=11; L:INTEGER:=4; MPIPE:INTEGER:=3); GENERIC類屬說明--輸入位寬--乘法器的位寬為2×W1

--輸出位寬--濾波器的長(zhǎng)度--流水線的級(jí)數(shù)ENTITYFIRIS

(CLK:INSTD_LOGIC;LOAD_X:INSTD_LOGIC;X_IN:INSTD_LOGIC_VECTOR(W1-1DOWNTO0);C_IN:INSTD_LOGIC_VECTOR(W1-1DOWNTO0);Y_OUT:OUTSTD_LOGIC_VECTOR(W4-1DOWNTO0));PORT端口說明--控制時(shí)鐘信號(hào)--裝載控制信號(hào)--數(shù)據(jù)輸入端口--系數(shù)輸入端口--數(shù)據(jù)輸出端口ENDENTITYFIR;

SUBTYPEN1BITISSTD_LOGIC_VECTOR(W1-1DOWNTO0);SUBTYPEN2BITISSTD_LOGIC_VECTOR(W2-1DOWNTO0);SUBTYPEN3BITISSTD_LOGIC_VECTOR(W3-1DOWNTO0);TYPEARRAY_N1BITISARRAY(0TOL-1)OFN1BIT;TYPEARRAY_N2BITISARRAY(0TOL-1)OFN2BIT;TYPEARRAY_N3BITISARRAY(0TOL-1)OFN3BIT;SIGNALX:N1BIT;SIGNALY:N3BIT;SIGNALC:ARRAY_N1BIT; SIGNALP:ARRAY_N2BIT; SIGNALA:ARRAY_N3BIT;

--輸入的中間結(jié)果--輸出的中間結(jié)果--系數(shù)矩陣--積矩陣--加法矩陣ARCHITECTUREARTOFFIRISSIGNALC:ARRAY_N1BIT;W1位數(shù)據(jù)L個(gè)單元--C實(shí)際上就是一個(gè)存儲(chǔ)器或寄存器圖3信號(hào)C對(duì)應(yīng)硬件示意圖SIGNALP:ARRAY_N2BIT; --P實(shí)際上就是一個(gè)存儲(chǔ)器或寄存器W2位數(shù)據(jù)L個(gè)單元圖4信號(hào)P對(duì)應(yīng)硬件示意圖SIGNALA:ARRAY_N3BIT;--A實(shí)際上就是一個(gè)存儲(chǔ)器或寄存器W3位數(shù)據(jù)L個(gè)單元圖5信號(hào)A對(duì)應(yīng)硬件示意圖LOAD:PROCESSIS BEGINWAITUNTILCLK='1';IF(LOAD_X='0')THENC(L-1)<=C_IN; FORIINL-2DOWNTO0LOOP C(I)<=C(I+1);ENDLOOP;ELSEX<=X_IN; ENDIF;ENDPROCESSLOAD;裝載數(shù)據(jù)或系數(shù)的進(jìn)程系數(shù)的裝載--同時(shí)獲得一個(gè)采樣數(shù)據(jù)--系數(shù)右移一位--重復(fù)L-1次因此,經(jīng)過4次裝載,分別裝入系數(shù)C0、C1、C2、C3SOP:PROCESS(CLK)IS BEGINIFCLK'EVENTAND(CLK='1')THENFORIIN0TOL-2LOOP A(I)<=(P(I)(W2-1)&P(I))+A(I+1);ENDLOOP;A(L-1)<=P(L-1)(W2-1)&P(L-1); ENDIF;Y<=A(0);ENDPROCESSSOP;進(jìn)行累加運(yùn)算的進(jìn)程累加運(yùn)算圖1轉(zhuǎn)置結(jié)構(gòu)的FIR濾波器A(I)<=(P(I)(W2-1)&P(I))+A(I+1);--完成加法A(2)、A(1)、A(0)的運(yùn)算A(L-1)<=P(L-1)(W2-1)&P(L-1);

完成加法A(3)的運(yùn)算,可以看成是P(3)與初始值為0的加法。--第一級(jí)抽頭只有一個(gè)寄存器Y<=A(0);--最右邊的加法結(jié)果特別注意:A(I)<=(P(I)(W2-1)&P(I))+A(I+1);

A(L-1)<=P(L-1)(W2-1)&P(L-1);第I個(gè)乘積P(I)的最左邊位,也就是P(I)的符號(hào)位--加法運(yùn)算后可能產(chǎn)生

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論