2023年EDA實(shí)驗(yàn)報(bào)告新編_第1頁
2023年EDA實(shí)驗(yàn)報(bào)告新編_第2頁
2023年EDA實(shí)驗(yàn)報(bào)告新編_第3頁
2023年EDA實(shí)驗(yàn)報(bào)告新編_第4頁
2023年EDA實(shí)驗(yàn)報(bào)告新編_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

EDA實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)一:組合電路的設(shè)計(jì)Mux21a實(shí)體Mux21a實(shí)體Mux21a結(jié)構(gòu)體ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISSIGNALd,e:BIT;BEGIN d<=aAND(NOTS); e<=bANDs;?y<=dORe;ENDARCHITECTUREone;Mux21a仿真波形圖以上便是2選1多路選擇器的VHDL完整描述,即可以當(dāng)作一個(gè)元件mux21a。mux21a實(shí)體是描述相應(yīng)的邏輯圖或者器件圖,圖中a和b分別是兩個(gè)數(shù)據(jù)輸入端的端口名,s為通道選擇控制信號輸入端的端口名,y為輸出端的端口名。Mux21a結(jié)構(gòu)體可以當(dāng)作是元件的內(nèi)部電路圖。最后是對仿真得出的mux21a仿真波形圖。實(shí)驗(yàn)二:時(shí)序電路的設(shè)計(jì)實(shí)驗(yàn)內(nèi)容D觸發(fā)器的VHDL語言描述,它的程序如下:LIBRARYIEEE;D觸發(fā)器USEIEEE.STD_LOGIC_1164.ALL;D觸發(fā)器ENTITYDFF1ISPORT(CLK:INSTD_LOGIC;D:INSTD_LOGIC;Q:OUTSTD_LOGIC);END;ARCHITECTUREbhvOFDFF1ISBEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQ<=D;ENDIF;ENDPROCESS;ENDbhv;D觸發(fā)器的仿真波形圖最簡樸并最具代表性的時(shí)序電路是D觸發(fā)器,它是現(xiàn)代可編程ASIC設(shè)計(jì)中最基本的時(shí)序元件和底層元件。D觸發(fā)器的描述包含了VHDL對時(shí)序電路的最基本和典型的表達(dá)方式,同時(shí)也包含了VHDL中許多最具特色的語言現(xiàn)象。D觸發(fā)器元件如上圖所示,其在max+plus2的仿真得出上面的波形實(shí)驗(yàn)三:設(shè)計(jì)含異步清零和同步時(shí)鐘使能的加法計(jì)數(shù)器實(shí)驗(yàn)內(nèi)容一個(gè)帶有異步復(fù)位和同步時(shí)鐘使能的十進(jìn)制加法計(jì)數(shù)器,它的程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT10ISPORT(CLK,RST,EN:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT10;ARCHITECTUREbehavOFCNT10ISBEGINPROCESS(CLK,RST,EN)VARIABLECQI:STD_LOGIC_VECTOR(3DOWNTO(shè)0);BEGINIFRST='1'THENCQI:=(OTHERS=>'0');--計(jì)數(shù)器異步復(fù)位ELSIFCLK'EVENTANDCLK='1'THEN--檢測時(shí)鐘上升沿IFEN='1'THEN--檢測是否允許計(jì)算(同步使能)IFCQI<9THENCQI:=CQI+1;--允許計(jì)數(shù),檢測是否小于9ELSECQI:=(OTHERS=>'0');--大于9,計(jì)數(shù)值清零ENDIF;ENDIF;ENDIF;IFCQI=9THENCOUT<='1';--計(jì)數(shù)大于9,輸出進(jìn)位信號ELSECOUT<='0';ENDIF;CQ<=CQI;--將計(jì)數(shù)值向端口輸出ENDPROCESS;ENDbehav;加法計(jì)數(shù)器的工作時(shí)序程序說明RST是異步清信號,高電平有效;CLK是鎖存信號;D[3..0]是4位數(shù)據(jù)輸入端。當(dāng)EN為'1'時(shí),多路選擇器將加1器的輸出值加載于鎖存器的數(shù)據(jù)端;當(dāng)EN為'0'時(shí)將"0000"加載于鎖存器.實(shí)驗(yàn)四:用原圖輸入法設(shè)計(jì)8位全加器實(shí)驗(yàn)內(nèi)容:完畢半加器和全加器的設(shè)計(jì)。實(shí)驗(yàn)?zāi)康模菏煜み\(yùn)用max+plus2的原理圖輸入方法設(shè)計(jì)簡樸組合電路,掌握層次化設(shè)計(jì)的方法。半加器的原理圖如下半加器的時(shí)序仿真波形如下:將半加器的原理圖選擇File中的CreateDefaultSymbol項(xiàng),此時(shí)即將當(dāng)前文獻(xiàn)變成了一個(gè)包裝好的單一元件,并被放置在工程途徑指定的目錄中以備后用。H_adder一位全加器的VHDL描述,它的電路圖如下1位全加器的時(shí)序仿真波形如下一位全加器可以由兩個(gè)半加器和一個(gè)或門連接而成。8位全加器設(shè)計(jì)原理圖八位全加器的波形仿真如上圖實(shí)驗(yàn)五:用原理圖輸入法設(shè)計(jì)較復(fù)雜數(shù)字系統(tǒng)實(shí)驗(yàn)?zāi)康?熟悉原理圖輸入法中74系列等宏功能元件的使用方法,掌握更復(fù)雜的原理圖層次化設(shè)技術(shù)和數(shù)字系統(tǒng)設(shè)計(jì)方法。實(shí)驗(yàn)內(nèi)容:完畢2位十進(jìn)制頻率計(jì)的設(shè)計(jì),并進(jìn)行仿真測試,給出仿真波形。實(shí)驗(yàn)原理圖:時(shí)序仿真波形圖:實(shí)驗(yàn)分析:F_IN是待測頻率信號,CNT_EN是對待測頻率脈沖計(jì)數(shù)允許信號CNT_EN高電平時(shí)允許計(jì)數(shù),低電平時(shí)嚴(yán)禁計(jì)數(shù)。仿真波形顯示,當(dāng)CNT_EN為高電平時(shí)允許conter8對F_IN計(jì)數(shù),低電平時(shí)conter8停止計(jì)數(shù),由鎖存信號LOCK發(fā)出的脈沖,將conter8中的二個(gè)4位十進(jìn)制數(shù)鎖存進(jìn)74374中,并由74374分高低位通過總線H[6..0]和L[6..0]輸給74248譯碼輸出顯示,即測得的頻率值。此后由清零信號CLR對計(jì)數(shù)器conter8清零,以備下一周期計(jì)數(shù)之用。實(shí)驗(yàn)六:七段數(shù)碼顯示譯碼器設(shè)計(jì)實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí)7段數(shù)碼顯示譯碼器設(shè)計(jì),學(xué)習(xí)VHDL的CASE語句應(yīng)用及多層次設(shè)計(jì)方法。實(shí)驗(yàn)內(nèi)容:7段數(shù)碼的程序和其波形方真,它的程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYDecL7SISPORT(A:INSTD_LOGIC_VECTOR(3DOWNTO(shè)0);LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO(shè)0));END;ARCHITECTUREoneOFDecL7SISBEGINPROCESS(A)BEGINCASEA(3DOWNTO0)ISWHEN"0000"=>LED7S<="0111111";--X"3F"'0WHEN"0001"=>LED7S<="0000110";--X"06"'1WHEN"0010"=>LED7S<="1011011";--X"5B"'2WHEN"0011"=>LED7S<="1001111";--X"4F"'3WHEN"0100"=>LED7S<="1100110";--X"66"'4WHEN"0101"=>LED7S<="1101101";--X"6D"'5WHEN"0110"=>LED7S<="1111101";--X"7D"'6WHEN"0111"=>LED7S<="0000111";--X"07"'7WHEN"1000"=>LED7S<="1111111";--X"7F"'8WHEN"1001"=>LED7S<="1101111";--X"6F"'9WHEN"1010"=>LED7S<="1110111";--X"77"'10WHEN"1011"=>LED7S<="1111100";--X"7C"'11WHEN"1100"=>LED7S<="0111001";--X"39"'12WHEN"1101"=>LED7S<="1011110";--X"5E"'13WHEN"1110"=>LED7S<="1111001";--X"79"'14WHEN"1111"=>LED7S<="1110001";--X"71"'15WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;END;7段譯碼器仿真波形實(shí)驗(yàn)七:數(shù)控分頻器的設(shè)計(jì)實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí)數(shù)控分頻器的設(shè)計(jì)、分析和測試方法實(shí)驗(yàn)原理:數(shù)控分頻器的功能就是當(dāng)在輸入端給定不同輸入數(shù)據(jù)時(shí),將對輸入的時(shí)鐘信號有不同的分頻比,數(shù)控分頻器就是用計(jì)數(shù)值可并行預(yù)置的加法計(jì)數(shù)器設(shè)計(jì)完畢的,方法是將計(jì)數(shù)溢出位與預(yù)置數(shù)加載輸入信號相接即可。當(dāng)輸入輸入不同的CLK時(shí)鐘頻率和預(yù)置值D時(shí)得不同F(xiàn)OUT電平它的程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYDVFISPORT(CLK:INSTD_LOGIC;D:INSTD_LOGIC_VECTOR(7DOWNTO0);FOUT:OUTSTD_LOGIC);END;ARCHITECTUREoneOFDVFISSIGNALFULL:STD_LOGIC;BEGINP_REG:PROCESS(CLK)VARIABLECNT8:STD_LOGIC_VECTO(shè)R(7DOWNTO0);BEGINIFCLK'EVENTANDCLK='1'THENIFCNT8="11111111"THENCNT8:=D;--當(dāng)CNT8計(jì)數(shù)計(jì)滿時(shí),D被同步預(yù)置給計(jì)數(shù)器CNT8FULL<='1';--同時(shí)使溢出標(biāo)志信號FULL輸出為高電平ELSECNT8:=CNT8+1;--否則繼續(xù)作加1計(jì)數(shù)FULL<='0';--且輸出溢出標(biāo)志信號FULL為低電平ENDIF; ENDIF;ENDPROCESSP_REG;P_DIV:PROCESS(FULL)VARIABLECNT2:STD_LOGIC;BEGINIFFULL'EVENTANDFULL='1'THENCNT2:=NOTCNT2;--假如溢出標(biāo)志信號FULL為高電平,D觸發(fā)器輸出取反IFCNT2='1'THENFOUT<='1';ELSEFOUT<='0';ENDIF;ENDIF;ENDPROCESSP_DIV;END;上例的時(shí)序波形如下:當(dāng)給出不同輸入值D時(shí),F(xiàn)OUT輸出不同頻率(CLK周期=50ns)數(shù)控分頻器的功能就是當(dāng)在輸入端給定不同輸入數(shù)據(jù)時(shí),將對輸入的時(shí)鐘信號有不同的分頻比,本設(shè)計(jì)中的數(shù)控分頻器就是用計(jì)數(shù)值可并行預(yù)置的加法計(jì)數(shù)器設(shè)計(jì)完畢的,方法是將計(jì)數(shù)溢出位與預(yù)置數(shù)加載輸入信號相接即可。實(shí)驗(yàn)八:正弦信號發(fā)生器設(shè)計(jì)實(shí)驗(yàn)?zāi)康模哼M(jìn)一步熟悉Max+plusII及其LPM_ROM與FPGA硬件資源的使用方法。實(shí)驗(yàn)內(nèi)容:設(shè)計(jì)一個(gè)正弦波發(fā)生器,并進(jìn)行仿真測試,給出仿真波形。實(shí)驗(yàn)原理圖:時(shí)序波形仿真圖:信號發(fā)生器結(jié)構(gòu)包含兩個(gè)部分:ROM的地址信號發(fā)生器,由6位計(jì)數(shù)器擔(dān)任;一個(gè)正弦數(shù)據(jù)ROM,由LPM_ROM模塊構(gòu)成。實(shí)驗(yàn)九:8位十六進(jìn)制頻率計(jì)設(shè)計(jì)實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí)較復(fù)雜的數(shù)字系統(tǒng)設(shè)計(jì)方法。實(shí)驗(yàn)內(nèi)容:設(shè)計(jì)一個(gè)8位十六進(jìn)制頻率計(jì),并進(jìn)行仿真測試,給出仿真波形。LIBRARYIEEE;--測頻控制USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYftctrlISPORT(CLKK:INSTD_LOGIC;--1HzCNT_EN,RST_CNT,LOAD:OUTSTD_LOGIC);ENDftctrl;ARCHITECTUREbehavOFftctrlISSIGNALDIV2CLK:STD_LOGIC;BEGINPROCESS(CLKK)BEGINIFCLKK'EVENTANDCLKK='1'THENDIV2CLK<=NOTDIV2CLK;ENDIF;ENDPROCESS;PROCESS(CLKK,DIV2CLK)BEGINIFCLKK='0'ANDDiv2CLK='0'THENRST_CNT<='1';ELSERST_CNT<='0';ENDIF;ENDPROCESS;LOAD<=NOTDIV2CLK;CNT_EN<=DIV2CLK;ENDbehav;LIBRARYIEEE;--32位鎖存器USEIEEE.STD_LOGIC_1164.ALL;ENTITYREG32BISPORT(LK:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTO(shè)R(31DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(31DOWNTO0));ENDREG32B;ARCHITECTUREbehavOFREG32BISBEGINPROCESS(LK,DIN)BEGINIFLK'EVENTANDLK='1'THENDOUT<=DIN;--時(shí)鐘到來時(shí),鎖存輸入數(shù)據(jù)ENDIF;ENDPROCESS;ENDbehav;LIBRARYIEEE;--32位計(jì)數(shù)器USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYcounter32bISPORT(ENABL,CLR,FIN:INSTD_LOGIC;DOUT:OUTSTD_LOGIC_VECTOR(31DOWNTO0));ENDcounter32b;ARCHITECTUREbehavOFcounter32bISSIGNALCQI:STD_LOGIC_VECTOR(31DOWNTO0);BEGINPROCESS(ENABL,CLR,F(xiàn)IN)BEGINIFCLR='1'THENCQI<=(OTHERS=>'0');--清零ELSIFFIN'EVENTANDFIN='1'THENIFENABL='1'THENCQI<=CQI+1;ENDIF;ENDIF;ENDPROCESS;DOUT<=CQI;ENDbehav;libraryieee;useieee.std_logic_1164.all;entitypreqtestisport(clk1hz:instd_logic;fsin:instd_logic;dout:outstd_logic_vector(31downto0));endpreqtest;architecturestrucoffreqtestiscomponentftctrlport(clkk:instd_logic;cnt_en:outstd_logic;rst_cnt:outstd_logic;load:outstd_logic);endcomponent;componentcounter32bport(fin:instd_logic;clr:instd_logic;enabl:instd_logic;dout:outstd_std_logic_vector(31downto0));endcomponent;componentreg32bport(lk:instd_logic;din:instd_std_logic_vector(31downto0);dout:outstd_std_logic_vector(31downto0));endcomponent;signaltsten1:std_logic;signalclr_cnt1:std_logic;sigalload1:std_logic;sigaldt01:std_std_logic_vector(31downto0);sigalcarry_out1:std_std_logic_vector(6downto0);beginu1:ftctrlportmap(clkk=>clk1hz,cnt_en=>tsten1,rst_cnt=>clr_cnt1,load=>load1);u2:reg32bportmap(lk=>load1,din=>dto1,dout=>dout);u3:counter32bportmap(fin=>fsin,clr=>clr_cnt1,enabl=>tsten1,dout=>dt01);endstruc;時(shí)序波形仿真圖:實(shí)驗(yàn)十:序列檢測器設(shè)計(jì)實(shí)驗(yàn)?zāi)康模河脿顟B(tài)機(jī)實(shí)現(xiàn)序列檢測器的設(shè)計(jì),了解一般狀態(tài)機(jī)的設(shè)計(jì)與應(yīng)用。實(shí)驗(yàn)原理:序列檢測器可用于檢測一組或多組由二進(jìn)制碼組成的脈沖序列信號,當(dāng)序列檢測器連續(xù)收到一組串行二進(jìn)制碼后,假如這組碼與檢測器中預(yù)先設(shè)立的碼相同,則相同,則輸出1,否則輸出0。實(shí)驗(yàn)內(nèi)容:描述的電路完畢對序列數(shù)“11100101”的檢測,當(dāng)這一串序列數(shù)高位在前(左移)串行進(jìn)入檢測器后,若此數(shù)與預(yù)置的密碼數(shù)相同,則輸出“A”,否則仍然輸出“B”。它的程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSCHKISPORT(DIN,CLK,CLR:INSTD_LOGIC;--串行輸入數(shù)據(jù)位/工作時(shí)鐘/復(fù)位信號AB:OUTSTD_LOGIC_VECTOR(3DOWNTO0));--檢測結(jié)果輸出ENDSCHK;ARCHITECTUREbehavOFSCHKISSIGNALQ:INTEGERRANGE0TO8;SIGNALD:STD_LOGIC_VECTOR(7DOWNTO0);--8位待檢測預(yù)置數(shù)BEGIND<="11100101";--8位待檢測預(yù)置數(shù)PROCESS(CLK,CLR)BEGINIFCLR='1'THENQ<=0;ELSIFCLK'EVENTANDCLK='1'THEN--時(shí)鐘到來時(shí),判斷并解決當(dāng)前輸入的位CASEQISWHEN0=>IFDIN=D(7)THENQ<=1;ELSEQ<=0;ENDIF;WHEN1=>IFDIN=D(6)THENQ<=2;ELSEQ<=0;ENDIF;WHEN2=>IFDIN=D(5)THENQ<=3;ELSEQ<=0;ENDIF;WHEN3=>IFDIN=D(4)THENQ<=4;ELSEQ<=0;ENDIF;WHEN4=>IFDIN=D(3)THENQ<=5;ELSEQ<=0;ENDIF;WHEN5=>IFDIN=D(2)THENQ<=6;ELSEQ<=0;ENDIF;WHEN6=>IFDIN=D(1)THENQ<=7;ELSEQ<=0;ENDIF;WHEN7=>IFDIN=D(0)THENQ<=8;ELSEQ<=0;ENDIF;WHENOTHERS=>Q<=0;ENDCASE;ENDIF;ENDPROCESS;PROCESS(Q)?--檢測結(jié)果判斷輸出BEGINIFQ=8THENAB<="1010";--序列數(shù)檢測對的,輸出"A"ELSEAB<="1011";--序列數(shù)檢測錯(cuò)誤,輸出"B"ENDIF;ENDPROCESS;ENDbehav;時(shí)序波形仿真圖:實(shí)驗(yàn)分析:當(dāng)序列檢測器連續(xù)收到一組串行二進(jìn)制碼后,假如這組碼與檢測器中預(yù)先設(shè)立的碼相同,則輸出A,否則輸出B。由于這種檢測的關(guān)鍵在于對的碼的收到必須是連續(xù)的,這就規(guī)定檢測器必須記住前一次的對的碼及對的序列,直到在連續(xù)的檢測中所收到的每一位碼都與預(yù)置數(shù)的相應(yīng)碼相同。在檢測過程中,任何一位不相等都將回到初始狀態(tài)重新開始檢測。本實(shí)驗(yàn)描述的電路完畢對序列數(shù)"11100101"的檢測,當(dāng)這一串序列數(shù)高位在前(左移)串行進(jìn)入檢測器后,若此數(shù)與預(yù)置的密碼數(shù)相同,則輸出“A”,否則仍然輸出“B”。實(shí)驗(yàn)十一:樂曲硬件演奏電路設(shè)計(jì)實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí)設(shè)計(jì)硬件樂曲演奏電路。實(shí)驗(yàn)內(nèi)容:主系統(tǒng)由三個(gè)模塊組成,由頂層設(shè)計(jì)文獻(xiàn),其內(nèi)部有三個(gè)功能模塊:tonetaba.vhd、notetabs.vhd和speakera.vhd。實(shí)驗(yàn)程序:硬件演奏電路頂層設(shè)計(jì):libraryieee;useieee.std_logic_1164.all;entitysongerisport(clk12mhz:instd_logic;clk8hz:instd_logic;code1:outstd_logic_vector(3downto0);high1:outstd_logic;spkout:outstd_logic);end;architectureoneofsongeriscomponentnotetabsport(clk:instd_logic;toneindex:outstd_logic_vector(3downto0));endcomponent;componenttonetabaport(index:instd_logic_vector(3downto0);code:outstd_logic_vector(3downto0);high:outstd_logic;tone:outstd_logic_vector(10downto0));endcomponent;componentspeakeraport(clk:instd_logic;tone:instd_logic_vector(10downto0);spks:outstd_logic);endcomponent;signaltone:std_logic_vector(10downto0);signaltoneindex:std_logic_vector(3downto0);beginu1:notetabsportmap(clk=>clk8hz,toneindex=>toneindex);u2:tonetabaportmap(index=>toneindex,tone=>tone,code=>code1,high=>high1);u3:speakeraportmap(clk=>clk12mhz,tone=>tone,spks=>spkout);end;Speakera程序段:libraryieee(cuò);libraryieee;useiee(cuò)e.std_logic_1164.a(chǎn)ll;useieee.std_logic_unsigned.a(chǎn)ll;entityspeakeraisport(clk:instd_logic;tone:instd_logic_vector(10downto0);spks:outstd_logic);end;architectureoneofspeakeraissignalpreclk,fullspks:std_logic;begindivideclk:process(clk)variablecount4:std_logic_vector(3downto0);beginpreclk<='0';ifcount4>11thenpreclk<='1';count4:="0000";elsifclk'eventandclk='1'thencount4:=count4+1;endif;endprocess;genspks:process(preclk,tone)variablecount11:std_logic_vector(10downto0);beginifpreclk'eventandpreclk='1'thenifcount11=16#7ff#thencount11:=tone;fullspks<='1';elsecount11:=count11+1;fullspks<='0';endif;endif;endprocess;delayspks:process(fullspks)variablecount2:std_logic;beginiffullspks'eventandfullspks='1'thencount2:=notcount2;ifcount2='1'thenspks<='1';elsespks<='0';endif;endif;endprocess;end;tonetaba程序段:libraryieee(cuò);useiee(cuò)e.std_logic_1164.all;entitytonetabaisport(index:instd_logic_vector(3downto0);code:outstd_logic_vector(3downto0);high:outstd_logic;tone:outstd_logic_vector(10downto0));end;architectureoneoftonetabaisbeginsearch:process(index)begincaseindexiswhen"0000"=>tone<="";code<="0000";high<='0';--2047;when"0001"=>tone<="";code<="0001";high<='0';--773;when"0010"=>tone<="";code<="0010";high<='0';--912;when"0011"=>tone<="";code<="0011";high<='0';--1036;when"0101"=>tone<="";code<="0101";high<='0';--1197;when"0110"=>tone<="";code<="0110";high<='0';--1290;when"0111"=>tone<="";code<="0111";high<='0';--1372;when"1000"=>tone<="";code<="0001";high<='0';--1410;when"1001"=>tone<="";code<="0010";high<='0';--1480;when"1010"=>tone<="";code<="0011";high<='0';--1542;when"1100"=>tone<="";code<="0101";high<='0';--1622;when"1101"=>tone<="";code<="0110";high<='0';--1668;when"1111"=>tone<="";code<="0001";high<='0';--1728;whenothers=>null;endcase;endprocess;end;notetabs的程序段:libraryieee;useieee.std_logic_1164.all;useieee(cuò).std_logic_unsigned.all;entitynotetabsisport(clk:instd_logic;toneindex:outstd_logic_vector(3downto0));end;architectureoneofnotetabsiscomponentmusicport(address:instd_logic_vector(7downto0);inclock:instd_logic;q:outstd_logic_vector(3downto0));endcomponent;signalcounter:std_logic_vector(7downto0);begincnt8:process(clk,counter)beginifcounter=138thencounter<="00000000";elsif(clk'eventandclk='1')thencounter<=counter+1;endif;endprocess;u1:musicportmap(address=>counter,q=>toneindex,inclock=>clk);end;時(shí)序仿真圖:實(shí)驗(yàn)十二VGA彩條信號顯示控制器設(shè)計(jì)實(shí)驗(yàn)?zāi)康?學(xué)習(xí)VGA圖像顯示控制器的設(shè)計(jì)。實(shí)驗(yàn)內(nèi)容:設(shè)計(jì)一個(gè)VGA圖像顯示控制器,并進(jìn)行仿真測試,給出仿真波形。實(shí)驗(yàn)程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCOLORISPORT(CLK,MD:INSTD_LOGIC;HS,VS,R,G,B:OUTSTD_LOGIC);ENDCOLOR;ARCHITECTUREbehavOFCOLORISSIGNALHS1,VS1,F(xiàn)CLK,CCLK:STD_LOGIC;SIGNALMMD:STD_LOGIC_VECTOR(1DOWNTO0);SIGNALFS:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALCC:STD_LOGIC_VECTOR(4DOWNTO0);SIGNALLL:STD_LOGIC_VECTOR(8DOWNTO0);SIGNALGRBX:STD_LOGIC_VECTOR(3DOWNTO1);SIGNALGRBY:STD_LOGIC_VECTO(shè)R(3DOWNTO1);SIGNALGRBP:STD_LOGIC_VECTO(shè)R(3DOWNTO1);SIGNALGRB:STD_LOGIC_VECTOR(3DOWNTO1);BEGINGRB(2)<=(GRBP(2)XORMD)ANDHS1ANDVS1;GRB(3)<=(GRBP(3)XORMD)ANDHS1ANDVS1;GRB(1)<=(GRBP(1)XORMD)ANDHS1ANDVS1;PROCESS(MD)BEGINIFMD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論