EDA可編程邏輯實驗報告_第1頁
EDA可編程邏輯實驗報告_第2頁
EDA可編程邏輯實驗報告_第3頁
EDA可編程邏輯實驗報告_第4頁
EDA可編程邏輯實驗報告_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 可編程邏輯實驗院系名稱:電子工程學(xué)院學(xué)生姓名:專業(yè)名稱:光電信息工程班 級:光電0904學(xué)號:實驗名稱:門電路的設(shè)計實驗一:用原理圖輸入法設(shè)計門電路實驗?zāi)康模?.掌握PLD芯片的基本使用方法,熟悉EDA軟件MAX+plus的操作。1. 學(xué)會利用軟件仿真和實現(xiàn)用硬件對數(shù)字電路的邏輯功能進(jìn)行驗證和分析。器材:PC實驗內(nèi)容:實現(xiàn)1、F=/AB 2、F=AB+CD實驗結(jié)果:1. F=/AB原理圖:仿真結(jié)果:2. F=AB+CD原理圖:仿真結(jié)果:實驗二:用原理圖輸入法設(shè)計門電路實驗?zāi)康模?.進(jìn)一步掌握PLD芯片的基本使用方法,熟悉EDA軟件MAX+plus的操作。2.學(xué)會利用軟件仿真和實現(xiàn)用硬件對數(shù)字

2、電路的邏輯功能進(jìn)行驗證和分析。3.學(xué)習(xí)初步的VHDL程序設(shè)計方法。器材:PC實驗內(nèi)容:實現(xiàn)3、F=AB 4、F=/abc+/d實驗結(jié)果:3、 F=AB源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity xor2 isport(a,b:in std_logic; F:out std_logic);end;architecture main of xor2 isbeginF=a xor b;end;仿真結(jié)果:4、 F=/abc

3、+/d源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity zhonghe isport(a,b,c,d:in std_logic; F:out std_logic);end;architecture main of zhonghe issignal g,h,y,m,n:std_logic;beginm=not a;g=m and b;h=g and c;n=not d;y=h or n;F=y;end;仿真結(jié)果:實驗小結(jié):

4、本實驗為第一次DEA實驗,不免有些興奮和好奇,加之老師講的比較好,所以基本上沒有遇到什么問題。雖然提前有預(yù)習(xí)過,但是老師還是一點點的細(xì)細(xì)講,我很佩服。老師使我們在短時間內(nèi),學(xué)會了MAX+plus的使用方法。原理圖輸入法,文本輸入法基本都會了。不過還是出了些問題。比如很容易忘記,將當(dāng)前工程選中。在文本編寫時,必須保持文件名與實體名一致,且擴(kuò)展名為“.vhd”。總之,這次實驗做得還不錯。實驗名稱:組合邏輯電路的設(shè)計實驗三:編譯碼器設(shè)計實驗?zāi)康模篴)熟悉組合邏輯電路的VHDL描述方法。b)熟練掌握“case”語句和“ifelse”語句的用法。器材:PC實驗內(nèi)容:實現(xiàn)1、輸入8421BCD碼,輸出余3

5、碼 2、設(shè)計優(yōu)先編碼器實驗結(jié)果:a)輸入8421BCD碼,輸出余3碼源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity shiyan3 isport(X0,X1,X2,X3:in std_logic;Y0,Y1,Y2,Y3:out std_logic);end;architecture rel_1 of shiyan3 issignal a,b,c,d, e,f,g,h,i,j,k,l,m,n:std_logic; begin a=not X3; b=not X2; c=not

6、X1; d=not X0; e=a and d; f=b and c and d; Y0=e or f; g=a and c and d; h=a and X1 and X0 ; Y1=f or g or h; i=a and X2 and c and d; j=b and c and X0; k=a and b and X1; Y2=i or j or k; l=X3 and b and c; m=a and X2 and X0; n=a and X2 and X1; Y3=l or m or n;end;實驗結(jié)果:b)設(shè)計優(yōu)先編碼器源程序:library ieee;use ieee.std

7、_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity shiyan4 isport(i:in std_logic_vector(7 downto 0);a:out std_logic_vector(2 downto 0);end;architecture dataflow of shiyan4 isbegin a=111 when I(7)=1else 110 when I(6)=1else 101 when I(5)=1else 100 when I(4)=1else 011 w

8、hen I(3)=1else 010 when I(2)=1else 001 when I(1)=1else 000 when I(0)=1else 111;end;實驗結(jié)果:實驗四:數(shù)選器,邏輯運(yùn)算器實驗?zāi)康模篴)進(jìn)一步熟悉組合邏輯電路的VHDL描述方法。i. 進(jìn)一步熟練掌握“case”語句和“ifelse”語句的用法。ii. 掌握數(shù)選器、邏輯運(yùn)算器的組合邏輯電路的設(shè)計方法。器材:PC實驗內(nèi)容:實現(xiàn)1、ABCD的多數(shù)表決器 2、二位二進(jìn)制相乘電路實驗結(jié)果:a)ABCD的多數(shù)表決器源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std

9、_logic_unsigned.all;entity shiyan5 isport(A,B,C,D:in std_logic;Y:out std_logic);end;architecture rel_1 of shiyan5 issignal e,f,g,h,i,j,k:std_logic; begin e=C and D; f=A or B; g=e and f; h=A and B; i=C or D; j=h and i; k=g or j;Y=k;end;實驗結(jié)果:b)二位二進(jìn)制相乘電路源程序:library ieee;use ieee.std_logic_1164.all;use

10、ieee.std_logic_unsigned.all;entity shiyan6 isport(A1,A0,B1,B0:in std_logic;P0,P1,P2,P3:out std_logic);end;architecture rel_1 of shiyan6 issignal e,f,g,h,i,j,k,l:std_logic; begin e= A0 and B0; f=A1 and B0; g=A0 and B1; h=f or g; i=A1 and B1; j=A0 nand B0; k=i and j; l=e and i;P0=e;P1=h;P2=k;P3yyyyyyy

11、yyyyyyyyyy=ZZZZZZZ;end case;end process;end;實驗結(jié)果:實驗小結(jié):本實驗為第二次DEA實驗,這次的實驗內(nèi)容相對第一次是比較多的。但是老師的講解,使我們做起實驗來,事半功倍。但是,還會犯些老毛病,比如很容易忘記,將當(dāng)前工程選中。在文本編寫時,必須保持文件名與實體名一致,且擴(kuò)展名為“.vhd”。在寫最后的數(shù)碼管時犯糊涂了,以為是用原理圖來實現(xiàn),浪費(fèi)了不少時間。還有,文本編寫時,高阻態(tài)是不能隨便出現(xiàn)的,我就吃虧了??傊?,這次實驗做得還行。實驗六:觸發(fā)器的設(shè)計實驗?zāi)康模篴)認(rèn)識RS觸發(fā)器、JK觸發(fā)器、D觸發(fā)器和T觸發(fā)器。v. 熟練掌握RS觸發(fā)器、JK觸發(fā)器、D

12、觸發(fā)器和T觸發(fā)器的邏輯功能及動作特點。vi. 能夠通過CPLD開發(fā)實現(xiàn)具有觸發(fā)器功能的數(shù)字電路。器材:PC,可編程邏輯實驗電路板,下載線,USB電源線,雙蹤示波器,數(shù)字萬用表,導(dǎo)線若干。實驗內(nèi)容:實現(xiàn)1、上升沿JK觸發(fā)器。 實現(xiàn)2、上升沿D觸發(fā)器。實驗結(jié)果:a) 上升沿JK觸發(fā)器要求設(shè)計一個合理的電路,通過MAX+plusII仿真和CPLD實現(xiàn)驗證JK觸發(fā)器的邏輯功能,并掌握其動作特點。此次設(shè)計的 JK觸發(fā)器如圖4-6-2所示。JK觸發(fā)器功能表見表4-6-2源程序:library ieee;use ieee.std_logic_1164.all;entity jkclk isport(prn,

13、clrn,clk:in std_logic; j,k:in std_logic; q,qb:out std_logic);end;architecture jkcp1 of jkclk issignal q_temp,qb_temp: std_logic;beginprocess(prn,clrn,clk,j,k)beginif(prn=1 and clrn=0)thenq_temp=0;qb_temp=1;elsif(prn=0)thenq_temp=1;qb_temp=0;elsif(clk=1 and clkevent)then if(j=0 and k=1)then q_temp=0;

14、 qb_temp=1;elsif(j=1 and k=0)then q_temp=1; qb_temp=0;elsif(j=1 and k=1)then q_temp=not q_temp; qb_temp=not qb_temp;else q_temp=q_temp; qb_temp=qb_temp;end if;end if;end process;q=q_temp;qb=qb_temp;end;實驗結(jié)果:b) 上升沿D觸發(fā)器要求設(shè)計一個合理的電路,通過MAX+plusII仿真和CPLD實現(xiàn)驗證D觸發(fā)器的邏輯功能,并掌握其動作特點。此次設(shè)計的D觸發(fā)器如圖所示。源程序:library iee

15、e;use ieee.std_logic_1164.all;entity dcp isport(prn,clrn,clk:in std_logic; d:in std_logic; q,qb:out std_logic);end;architecture dcp1 of dcp issignal q_temp,qb_temp: std_logic;beginprocess(prn,clrn,clk,d)beginif(prn=1 and clrn=0)thenq_temp=0;qb_temp=1;elsif(prn=0)thenq_temp=1;qb_temp=0;elsif(clk=1 an

16、d clkevent)then q_temp=d; qb_temp=not d;end if;end process;q=q_temp;qb=qb_temp;end;實驗結(jié)果:實驗小結(jié):通過實驗,讓我對VHDL軟件的應(yīng)用更熟悉,同時認(rèn)識RS觸發(fā)器、JK觸發(fā)器、D觸發(fā)器、T觸發(fā)器,掌握它們的邏輯功能和動作特點。實驗應(yīng)注意事項:電路的編程要根據(jù)要求及真值表,要考慮輸入所有可能出現(xiàn)的情況,盡量簡潔。測試信號要包括所有端子的各種情況。同時一定要考慮文件名匹配問題。在編寫程序中一定要認(rèn)真細(xì)心,小小的錯誤就會導(dǎo)致結(jié)果不正確。注意文件保存時的文件名匹配問題。如果出現(xiàn)了錯誤應(yīng)按著提示內(nèi)容一步一步的進(jìn)行調(diào)試,直

17、到?jīng)]有錯誤為止。總之,這次試驗室較為順利的完成了,在這次實驗中收獲頗多。實驗七:移位寄存器的設(shè)計一、實驗?zāi)康?1、掌握移位寄存器電路設(shè)計的方法。2、通過開發(fā)CPLD來實現(xiàn)時序邏輯電路的功能。二、實驗所用儀表及主要器材 計算機(jī),軟件maxplus2,CPLD芯片三、實驗原理簡述(1)啟用原理圖(文本)編輯器編譯;(2)保存、編輯程序語言,在程序無錯后進(jìn)行編譯。(3)啟動波形圖編譯器,設(shè)置、編輯波形圖并保存、仿真。(4)指定、設(shè)置CPLD芯片EPM7032SLC44-10;輸入輸出分配管腳。 (5)下載實現(xiàn),按照設(shè)定的輸入輸出管腳,用線連接實驗板上的發(fā)光二極管和開關(guān)改變輸入開關(guān)的狀態(tài),觀察輸出端對

18、應(yīng)的發(fā)光二極管的狀態(tài)。四、實驗測量記錄(真值表、源程序、仿真圖)1、設(shè)計一個能自啟動的環(huán)形計數(shù)器 實現(xiàn)如下圖所示狀態(tài)轉(zhuǎn)移圖。真值表:10000100010000100010000100011000編寫出實現(xiàn)該電路的VHDL程序.library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity roll1 isport(clk,d:in std_logic; q:buffer std_logic_vector(3 downto 0);end;architecture atl of roll1 isbeg

19、in process(clk) begin if(clkevent and clk=1)then q(3)=d; q(0)=q(1); q(1)=q(2); q(2)=q(3); if (q(0)=1)then q(3)=q(0); end if; end if; end process;end;用MAX+plusII進(jìn)行仿真。2、節(jié)日彩燈電路設(shè)計要求當(dāng)輸入連續(xù)脈沖時,4個彩燈(發(fā)光二極管)級可以從右向左逐位亮繼而逐位滅,又可以從左向右逐位亮繼而逐位滅。真值表:時0000000100010011001101110111111111111110111011001100100010000000時:

20、0000100010001100110011101110111111110111011100110011000100010000編寫出實現(xiàn)該電路的VHDL程序.library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity light isport(x,clk,rd:in std_logic; q:buffer std_logic_vector(3 downto 0);end;architecture atl of light isbegin process(clk,x) begin if(rd=0

21、)then q=0000; elsif(clkevent and clk=1)then if(x=1)then q(3)=q(2); q(2)=q(1); q(1)=q(0); q(0)=not q(3); else q(0)=q(1); q(1)=q(2); q(2)=q(3); q(3)=not q(0); end if; end if; end process;end;用MAX+plusII進(jìn)行仿真。3、硬件下載實現(xiàn)彩燈設(shè)計,結(jié)果用二極管顯示。按照下載實現(xiàn)的步驟進(jìn)行,分配管腳圖如下:時鐘控制信號CP必須接在43號管腳;異步清零端rd必須接在1號管腳;輸入輸出端必須接在(I/0)管腳。然后

22、在電路板上連接好電路,變換輸入端X的高低電平,可以看見四個二極管如狀態(tài)轉(zhuǎn)移表所示依次變換。五、實驗心得本次試驗主要是對移位寄存器的設(shè)計,程序已在示例中給出,只要仿照示例進(jìn)行設(shè)計就可得到想要的結(jié)果。在下載實現(xiàn)時,出了許多小問題,剛開始時老師不能下下來,后來經(jīng)過老師的講解才得以解決問題。在編寫程序時,要對語句熟悉,編寫中有一個if 語句后少一個end ,在邊沿觸發(fā)器的上升沿用 event。實驗應(yīng)注意事項:電路的編程要根據(jù)要求及真值表,要考慮輸入所有可能出現(xiàn)的情況,盡量簡潔。測試信號要包括所有端子的各種情況。同時一定要考慮文件名匹配問題。在編寫程序中一定要認(rèn)真細(xì)心,小小的錯誤就會導(dǎo)致結(jié)果不正確,從而

23、沒有編譯結(jié)果注意仿真信號應(yīng)包括所有端子的各種情況。注意文件保存時的文件名匹配問題。如果出現(xiàn)了錯誤應(yīng)按著提示內(nèi)容一步一步的進(jìn)行調(diào)試,直到?jīng)]有錯誤為止??傊?,這次試驗我收獲頗多。實驗八:計數(shù)器的設(shè)計一、實驗?zāi)康? 掌握計數(shù)器電路設(shè)計的方法。2 通過開發(fā)CPLD來實現(xiàn)時序邏輯電路的功能。二、實驗所用儀表及主要器材 計算機(jī),軟件maxplus2,CPLD芯片三、實驗原理簡述(1)啟用原理圖(文本)編輯器編譯;(2)保存、編輯程序語言,在程序無錯后進(jìn)行編譯。(3)啟動波形圖編譯器,設(shè)置、編輯波形圖并保存、仿真。(4)指定、設(shè)置CPLD芯片EPM7032SLC44-10;輸入輸出分配管腳。 (5)下載實現(xiàn)

24、,按照設(shè)定的輸入輸出管腳,用線連接實驗板上的發(fā)光二極管和開關(guān)改變輸入開關(guān)的狀態(tài),觀察輸出端對應(yīng)的發(fā)光二極管的狀態(tài)。四、實驗內(nèi)容(真值表、原理圖、源程序、仿真圖)1設(shè)計一個同步帶有進(jìn)位輸出端的二十四進(jìn)制(8421BCD碼)計數(shù)器,且能夠自啟動及具有進(jìn)位輸出端。方法按下列要求設(shè)計編程實現(xiàn)。要求:1). 用原理圖輸入法,元件采用74160設(shè)計上述計數(shù)器,并硬件下載實現(xiàn),結(jié)果用數(shù)碼管顯示;2). 用文本輸入法即VHDL語言設(shè)計編程,并硬件下載實現(xiàn),結(jié)果用數(shù)碼管顯示。真值表:Q7Q6Q5Q4Q3Q2Q1Q00000000000000001000000100000001100000100000001010

25、00001100000011100001000000010010001000000010001000100100001001100010100000101010001011000010111000110000001100100100000001000010010001000100011原理圖:編寫出實現(xiàn)該電路的VHDL程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dec isport(clk,sd,ep,et:in std_logic; rd:buffer std_logic

26、; dl:in std_logic_vector(3 downto 0); dh:in std_logic_vector(3 downto 0); ql:buffer std_logic_vector(3 downto 0); qh:buffer std_logic_vector(3 downto 0);end;architecture rtl of dec isbegin process(clk,rd,sd,ep,et) begin rd=(qh(1) nand ql(2); if(rd=0)then ql=0000; qh=0000; elsif(clkevent and clk=1)th

27、en if(sd=0)then ql=dl;qh=dh; elsif(ep=0)then ql=ql;qh=qh; elsif(et=0)then ql=ql;qh=qh; elsif(ep=1 and et=1)then if(ql=9)then ql=0000; qh=qh+1; else ql=ql+1; qh=qh; end if; end if; end if;end process;end;用MAX+plusII進(jìn)行仿真:2、設(shè)計一個同步帶有進(jìn)位輸出端的模60(8421BCD碼)計數(shù)器,且能夠自啟動及具有進(jìn)位輸出端,計數(shù)器個位顯示09,計數(shù)器,十位顯示09。Library ieee ;use ieee.std_logic_1164.all ;u

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論