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

下載本文檔

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

文檔簡(jiǎn)介

專用集成電路實(shí)驗(yàn)報(bào)告

13050Z01

劉德文

實(shí)驗(yàn)一開發(fā)平臺(tái)軟件安裝與認(rèn)知實(shí)驗(yàn)

實(shí)驗(yàn)內(nèi)容

1、本實(shí)驗(yàn)以三線八線譯碼器(LS74138)為例,在XilinxISE9.2軟件平臺(tái)上完畢

設(shè)計(jì)電路的VHDL文本輸入、語(yǔ)法檢查、編譯、仿真、管腳分派和編程下載等操作。下

載芯片選擇Xilinx公司的CoolRunnerII系列XC2c256-7PQ208作為目的

仿真芯片。

2、用1中所設(shè)計(jì)的的三線八線譯碼器(LS74138)生成一個(gè)LS74138元件,在XilinxI

SE9.2軟件原理圖設(shè)計(jì)平臺(tái)上完畢LS74138元件的調(diào)用,用原理圖的方法設(shè)計(jì)三

線八線譯碼器(LS74138),實(shí)現(xiàn)編譯,仿真,管腳分派和編程下載等操作。

源程序:

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

useIEEE.STD_L0GIC_ARITH.ALL;

useIEEE.STD_LOGIC_UNSIGNED.ALL;

—Uncommentthefollowing1inestousethedec1arationsthat

are

providedforinstantiatingXilinxprimitivecomponents.

—1ibraryUNISIM;

--useUNISIM.VComponents.all;

entity1s74138is

Port(gl:instd_1ogic;

g2:instdlogic;

inp:instd_logic_vector(2downto0);

y:outstd_1ogic_vector(7downto0));

endls74138;

architectureBehavioralofIs74138is

begin

process(gl,g2,inp)

begin

if((glandg2)=,1r)then

caseinpis

awhen"000z/=>y<=H00000001〃;

ewhenz,001,z=>y<=,,00000010〃;

when〃010,z=>y<=,z00000100〃;

when〃011H=>y<=〃00001000〃;

。when〃100〃=〉y〈=〃00010000";

when〃101〃=>y<="00100000〃;

when"110"=>y<="01000000〃;

。when,Z11l/z=>y<=H10000000〃;

。whenothers=>y<="00000000〃;

?endcase;

else

gy<=〃00000000〃;

endif;

endprocess;

endBehavioral;

波形文獻(xiàn):

304

?1H

"2SinpB01000001X010oil100101noHl000X001)

訟6□yHC(0102X040810204080(01X02)

07-y[7]HI

-y[6]Hi

39-y[5]HI

?10-y[4]HI

Q11-y[3]Hl

砂12-y[2]HlJ

<^13-y[l]H—1_」

今14-y[0]HI1_

生成元器件及連接電路

te74138

:q11----------、幸仃二「二LT-----------yf7.,01

I----------;貨型y[7-0]S

:Q21----------\

:、樂仃

一n工p[二2..O」].........…I--…--屐------......?np[2..O]

tnj5t

思考:

有程序可以看出,定義了三個(gè)輸入端,一個(gè)輸出端。gl,g2為使能輸入端,當(dāng)全為一時(shí),

開始執(zhí)行寬度為三的輸入inp,并聽過程序?qū)崿F(xiàn)三八譯碼器的功能。通過實(shí)驗(yàn),分別用了原

理圖和vhd1語(yǔ)言兩種方式進(jìn)行調(diào)試。兩種方法各有優(yōu)缺陷。對(duì)于原理圖而言,可以清楚

直觀的看出電路各部分的構(gòu)造,但卻只能在原有的基礎(chǔ)上進(jìn)行鏈接而無(wú)法隨意修改元器件功

能;vhd1語(yǔ)言則可以按照實(shí)際的需求進(jìn)行編寫程序,從而可以實(shí)現(xiàn)開發(fā)者想要實(shí)現(xiàn)的功能。

實(shí)驗(yàn)二組合邏輯電路的VHDL語(yǔ)言實(shí)現(xiàn)

實(shí)驗(yàn)內(nèi)容:

1.用VHDL語(yǔ)言實(shí)現(xiàn)優(yōu)先編碼器的設(shè)計(jì)并實(shí)現(xiàn)功能仿真

2.用VHDL語(yǔ)言實(shí)現(xiàn)四選一選擇器的設(shè)計(jì)并實(shí)現(xiàn)功能仿真。

1.優(yōu)先編碼器源程序

LIBRARYIEEE;

USEIEEE.STD_L0GIC_1164.ALL;

ENTITYpriorityencoderIS

PORT(input:INSTD_L0GIC_VECTOR(7DOWNT00);

y:OUTSTD_LOGIC_VECTOR(2DOWNTO0));

ENDpriorityencoder;

ARCHITECTURErt1OFpriorityencoderIS

BEGIN

PROCESS(input)

BEGIN

IF(input(0)=0')THEN

ELSIF(input(l)=0")THEN

y<=H110H;

ELSIF(input(2)=,0')THEN

y<=n101u;

ELSIF(input(3)=,O')THEN

y<="100";

ELSIF(input(4)='O')THEN

y<=〃011〃;

ELSIF(input⑸='O')THEN

yV=〃01O〃;

ELSIF(input(6)='O')THEN

y<=〃OO1〃;

ELSE

y<=0000";

ENDIF;

ENDPR0CESS;

ENDrtl;

波形圖

原理圖:

pnontyencoder

input(7..O]mputp..O]y[2..O)露直匚七5港加

inst

2.四選一選擇器源程序:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYmux4IS

PORT(input:INSTD_LOGIC_VECTOR(3DOWNTO0);

a,b:INSTD_L0GIC;

y:0UTSTD_LOGIC);

ENDmux4;

ARCHITECTURErt1OFmux4IS

SIGNALsel:STD_L0GIC_VECT0R(1DOWNTO0);

BEGIN

sel<=b&a;

PROCESS(input,se1)

BEGIN

IF(sel=〃OO〃)THEN

y<=input(0);

ELSIF(sel=,z01z,)THEN

y<=input(1);

ELSIF(se1=〃10〃)THEN

y<=input(2);

ELSE

y<=input⑶;

ENDIF;

ENDPROCESS;

ENDrtl;

波形圖

原理圖

!mux4

猶作近..;

「而詞幻①...-inpui[Oujy

aa

Kb

:inst

思考:

1.優(yōu)先編碼器:通過程序定義了一個(gè)八位的輸入端和一個(gè)三位的輸入端。一方面是通過八位

輸入端的最低位開始判斷,假如是0,則輸出為:111;假如是1,則判斷

二位,以此類推,直到最后一位,假如都不滿足,則輸出:0OOo

2.四選一選擇器:一共有三個(gè)輸入,其中一個(gè)是寬度為四的可供選擇的輸入端,將一個(gè)四位

寬度的二進(jìn)制碼賦值給input端,通過a與b的輸入選擇input的輸出。如ab為00時(shí),則輸

出為:input(O),以此類推。

實(shí)驗(yàn)三時(shí)序邏輯電路的VHDL語(yǔ)言實(shí)驗(yàn)

實(shí)驗(yàn)內(nèi)容:(3選1)

(一)、設(shè)計(jì)一個(gè)60進(jìn)制的計(jì)數(shù)器

(-)設(shè)計(jì)一帶使能的同步復(fù)位清零的遞增8位二進(jìn)制計(jì)數(shù)器

(三)設(shè)計(jì)一帶使能的異步清零復(fù)位的遞增8位二進(jìn)制計(jì)數(shù)器

六十進(jìn)制(異步清零)源程序:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_1ogic_unsigned.a11;

entityycounteris

port(cIk,clear,enable:instd_logic;

—Id:instd_logic;

--d:instd_logic_vector(7downto0);

qk:outstd_1ogic_vector(7downto0));

endycounter;

architecturea_ycounterofycounteris

begin

PROCESS(cIk)

VARIABLEent:std_logic_vector(7downto0);

BEGIN

IF(clk7EVENTANDcIk='1')THEN

IF(clear='0')THEN

ent:="00000000";

—ELSE

—IF(Id='O')THEN

一一ent:=d;

ELSE

IF(enable='1')THEN

ent:=cnt+z,00000001";

if(cnt="00111100n)then

ent:=00000000/z;

endif;

ENDIF;

—ENDIF;

ENDIF;

ENDIF;

qk<=ent;

ENDPROCESS;

enda_ycounter;

波形圖:

六十進(jìn)制(同步置數(shù))源程序:

libraryieee;

useieee.std_1ogic_l164.all;

useieee.std_logic_unsigned.all;

entityycounteris

port(elk,clear,enab1e:instd_logic;

Id:instd_logic;

d:instdlogic_vector(7downto0);

qk:outstd_logic_vector(7downto0));

endycounter;

architecturea_ycounterofycounteris

begin

PROCESS(elk)

VARIABLEent:std_1ogic_vector(7downto0);

BEGIN

IF(c1k‘EVENTANDc1k='1')THEN

IF(c1ear='O')THEN

cnt:=H00000000";

ELSE

IF(Id='0')THEN

ent:=d;

ELSE

IF(enable='l')THEN

ent:=ent+”00000001";

if(cnt=,z00111011')then

Ld:=1;

endif;

ENDIF;

ENDIF;

ENDIF;

ENDIF;

qk<=cnt;

ENDPROCESS;

endaycounter;

波形圖:

思考:

六十進(jìn)制計(jì)數(shù)器的實(shí)現(xiàn),1)異步清零程序的實(shí)現(xiàn):通過判斷最后一個(gè)狀態(tài),由于該計(jì)數(shù)器位

六十進(jìn)制,所以最后一個(gè)狀態(tài)為59,用二進(jìn)制碼表達(dá)為:"00111011",即當(dāng)計(jì)數(shù)器的狀態(tài)

為六十,即"00111100"狀態(tài)時(shí),計(jì)數(shù)器清零,輸出00000000。2)同步置數(shù)程序的實(shí)現(xiàn):

當(dāng)計(jì)數(shù)器達(dá)成狀態(tài),當(dāng)計(jì)數(shù)器達(dá)成狀態(tài)"00111011"時(shí),1d被賦值為0,執(zhí)行置數(shù)功能,

將d的值賦值給y,計(jì)數(shù)器從零開始計(jì)數(shù)。

實(shí)驗(yàn)四VHDL層次化設(shè)計(jì)方法實(shí)驗(yàn)

實(shí)驗(yàn)內(nèi)容:

設(shè)計(jì)一個(gè)8位移位寄存器。各個(gè)D觸發(fā)器模塊采用VHDL語(yǔ)言編寫,分別用原理圖、VHDL

語(yǔ)言元件例化語(yǔ)句和生成語(yǔ)句的方法實(shí)現(xiàn)8位移位寄存器的設(shè)計(jì)。

D觸發(fā)器源程序:

libraryIEEE;

useIEEE.STD_L0GIC_1164.ALL;

useIEEE.STD_LOGIC_ARITH.ALL;

useIEEE.STD_L0GIC_UNSIGNED.ALL;

Uncommentthefoilowinglinestousethedec1arationsthatare

-providedforinstantiatingXilinxprimitivecomponents.

--1ibraryUNISIM;

—useUNISIM.VComponents.all;

entityDehuis

Port(CLK:inSTD_L0GIC;

D:inSTD_LOGIC;

Q:outSTDLOGIC;

CLEAR:inSTD_L0GIC;

Q_N:outSTDLOGIC);

endDehu;

ARCHITECTUREBEUOFDchuIS

oSIGNALQ1:STD_LOGIC;

BEGIN

PROCESS(CLEAR,CLK,QI)

BEGIN

。IFCLEAR='O'

THENQl<=0*;

ELSIFCLK,EVENTANDCLK='f

。WHENQI<=D;

ENDIF;

ENDPROCESS;

。Q〈二Q1;

oQ_N<=notQ1;

ooENDBEH;

波形圖:

D觸發(fā)器:

八位移位寄存器:

-Z0CLEARU1I_

elkU1廠_rn_rn__n_rn_oL_r_L_rnL-rnL_m_r-i_rn_rn

22DB1i____

"3QOU0_?i___??_

QIU0__??__ii_

05Q2U0_?i___?i___?i_

<>6Q3U0J???i__j_1_

07Q4U0L_?I___?i___?i_i

Q8Q5U0Ji??i?rn??

09Q6V0?i?i_______j"i_f

10Q7U1_li??LJ-Lj?1

八位移位寄存器原理圖:

元件例化:

1ibraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

useIEEE.STD_LOGIC_ARITH.ALL;

useIEEE.STD_LOGIC_UNSIGNED.ALL;

---Uncommentthefollowing1inestousethedeclarationsthat

—providedforinstantiatingXilinxprimitivecomponents.

-libraryUNISIM;

一useUNISIM.VComponents.al1;

entityshift_reg_8_comis

Port(a,c1k,rst:inSTDLOGIC;

b:outSTD_LOGIC);

endshift_reg_8_com;

ARCHITECTUREBEHOFshift_reg_8_comIS

0componentdff1

Port(d,elk,rst:inSTDLOGIC;

q:outSTD_LOGIC);

Endcomponent;

Signalq:STD_L0GIC_VECTOR(8D0WNT00);

BEGIN

oq(0)<=a;

dO:dff1PORTMAP(q(O),clk,rst,q(l));

d1:dfflPORTMAP(q(1),elk,rst,q(2));

d2:dff1PORTMAP(q(2),elk,rst,q(3));

d3:dfflPORTMAP(q(3),clk,rst,q(4));

d4:dff1PORTMAP(q(4),elk,rst,q(5));

d5:dff1PORTMAP(q(5),c1k,rst,q(6));

d6:dfflPORTMAP(q(6),c1k,rst,q(7));

d7:dfflPORTMAP(q(7),clk,rst,q(8));

b<=q(4);

Endstr;

生成語(yǔ)句:

libraryIEEE;

useIEEE.STD_L0GIC_1164.ALL;

useIEEE.S

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論