eda技術(shù)實驗教案_第1頁
eda技術(shù)實驗教案_第2頁
eda技術(shù)實驗教案_第3頁
eda技術(shù)實驗教案_第4頁
eda技術(shù)實驗教案_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

EDA技術(shù)實驗教案

實驗一1位全加器原理圖輸入設(shè)計

一、實驗?zāi)康?/p>

1、熟悉MAX+plusII軟件的基本使用方法。

2、熟悉GW48—ESEDA實驗開發(fā)系統(tǒng)的基本使用方法。

3、了解原理圖輸入設(shè)計方法。

二、實驗內(nèi)容

設(shè)計并調(diào)試好一個1位二進制全加器,并用GW48-ESEDA實驗開發(fā)系

統(tǒng)(擬采用的實驗芯片的型號為EPF10K20TC144-4或EP1K30TC144-3)進

行系統(tǒng)仿真、硬件驗證。設(shè)計1位二進制全加器時要求先用基本門電路設(shè)計一個

1位二進制半加器,再由基本門電路和1位二進制半加器構(gòu)成1位二進制全加器。

三、實驗條件

1、開發(fā)條件:MAX+plusII

2、實驗設(shè)備:GW48-ESEDA實驗開發(fā)系統(tǒng)、聯(lián)想電腦

3、擬用芯片:EPF10K20TC144-4或EP1K30TC144-3

四、實驗設(shè)計

半加器(h_adder.gdf)

和.....

OOTPirr--^-

-DfSco

a-:XNOR

MM..L^s。

全加器(f_adder.gdf)

實驗結(jié)果

半加器仿真波形

b

so

co

半加器引腳鎖定

實驗芯片:EPF10K20TC144-4選用彳旗式:模式5

設(shè)計實體I/O標(biāo)識I/O來源/去向結(jié)構(gòu)圖上的信號名芯片引腳號

a鍵1PIOO8

b鍵2PI019

so二極管D1PIO820

co二極管D2PI0921

全加器仿真波形

ain1_____________________________________________

bin____FT

cinr

sum____1TT

cout

全加器引腳鎖定

實驗芯片:EPF10K20TC144-4選用彳旗式:模式5

設(shè)計實體I/O標(biāo)識I/O來源/去向結(jié)構(gòu)圖上的信號名芯片引腳號

ain鍵1PIOO8

bin鍵2PIO19

cin鍵3PIO210

sum二極管D1PIO820

cout二極管D2PIO921

全加器真值表

ain01010101

bin00110011

cin00001111

sum01101001

cout00010111

實驗二1位全加器VHDL文本輸入設(shè)計

一、實驗?zāi)康?/p>

1、熟悉MAX+plusII軟件的基本使用方法。

2、熟悉GW48—ESEDA實驗開發(fā)系統(tǒng)的基本使用方法。

3、了解VHDL文本輸入設(shè)計方法。

二、實驗內(nèi)容

設(shè)計并調(diào)試好一個1位二進制全加器,并用GW48-ESEDA實驗開發(fā)系

統(tǒng)(擬采用的實驗芯片的型號為EPF10K20TC144-4或EP1K30TC144-3)進

行系統(tǒng)仿真、硬件驗證。設(shè)計1位二進制全加器時要求先設(shè)計一個或門和一個1

位二進制半加器,再由或門和1位二進制半加器構(gòu)成1位二進制全加器。

三、實驗條件

1、開發(fā)條件:MAX+plusII

2、實驗設(shè)備:GW48-ESEDA實驗開發(fā)系統(tǒng)、聯(lián)想電腦

3、擬用芯片一:EPF10K20TC144-4或EP1K30TC144-3

四、實驗設(shè)計

--或門邏輯描述(or2a.vhd)

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYor2aIS

PORT(a,b:INSTD_LOGIC;

c:OUTSTD_LOGIC);

ENDENTITYor2a;

ARCHITECTUREoneOFor2aIS

BEGIN

c<=aORb;

ENDARCHITECTUREone;

--半加器描述(h_adder.vhd)

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYh_adderIS

PORT(a,b:INSTD.LOGIC;

co,so:OUTSTD.LOGIC);

ENDENTITYh_adder;

ARCHITECTUREfh1OFh_adderis

BEGIN

so<=NOT(aXOR(NOTb));

co<=aANDb;

ENDARCHITECTUREfh1;

-1位二進制全加器頂層設(shè)計描述(f_adder.vhd)

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYLadderIS

PORT(ain,bin,cin:INSTD_LOGIC;

Cout,sum:OUTSTD_LOGIC);

ENDENTITYLadder;

ARCHITECTUREfdlOFf_adderIS

COMPONENTh_adder

PORT(a,b:INSTD_LOGIC;

Co,so:OUTSTD.LOGIC);

ENDCOMPONENT;

COMPONENTor2a

PORT(a,b:INSTD.LOGIC;

c:OUTSTD_LOGIC);

ENDCOMPONENT;

SIGNALd,e,f:STD_LOGIC;

BEGIN

u1:h_adderPORTMAP(a=>ain,b=>bin,

co=>d,so=>e);

u2:h_adderPORTMAP(a=>e,b=>cin,

co=>f,so=>sum);

u3:or2aPORTMAP(a=>d,b=>f,c=>cout);

ENDARCHITECTUREfdl;

或門仿真波形

a

b

半加器仿真波形

a

b

so

co

全加器仿真波形

ain

bin

cin

sum

cout

全加器引腳鎖定

實驗芯片:EPF10K20TC144-4選用彳饃式:模式5

設(shè)計實體I/O標(biāo)識I/O來源/去向結(jié)構(gòu)圖上的信號名芯片引腳號

ain健1PIOO8

bin鍵2PI019

cin鍵3PIO210

sum二極管D1PIO820

cout二極管D2PI0921

全加器真值表

ain01010101

bin00110011

cin00001111

sum01101001

cout00010111

實驗三有時鐘使能的兩位十進制計數(shù)器VHDL文本輸入設(shè)計

一、實驗?zāi)康?/p>

1、熟悉MAX+plusII軟件的基本使用方法。

2、熟悉GW48—ESEDA實驗開發(fā)系統(tǒng)的基本使用方法。

3、學(xué)習(xí)時序電路的設(shè)計、仿真和硬件測試,進一步熟悉VHDL設(shè)計技術(shù)。

二、實驗內(nèi)容

設(shè)計并調(diào)試好一個有時鐘使能的兩位十進制計數(shù)器,并用GW48-ESEDA

實驗開發(fā)系統(tǒng)(擬采用的實驗芯片的型號為EPF10K20TC144-4或

EP1K30TC144-3)進行系統(tǒng)仿真、硬件驗證。設(shè)計有時鐘使能的兩位十進制計

數(shù)器時要求先設(shè)計一個或門和一個十進制計數(shù)器,再由十進制計數(shù)器構(gòu)成兩位十

進制計數(shù)器。

三、實驗條件

1、開發(fā)條件:MAX+plusII

2、實驗設(shè)備:GW48-ESEDA實驗開發(fā)系統(tǒng)、聯(lián)想電腦

3、擬用芯片:EPF10K20TC144-4sKEP1K30TC144-3

四、實驗設(shè)計

--卜進制計數(shù)器(cntlO.vhd)

LIBRARYIEEE;

USEIEEE.STDLOGIC1164.ALL;

USEIEEE.STDLOGICUNSIGNED.ALL;

ENTITYcntlOIS

PORT(elk:INSTD_LOGIC;

clr:INSTD_LOGIC;

enb:INSTD_LOGIC;

outy:OUTSTD_LOGIC_VECTOR(3DOWNTO0);

cout:OUTSTD_LOGIC);

ENDcntlO;

ARCHITECTUREbehavOFcntlOIS

BEGIN

PROCESS(elk,clr,enb)

VARIABLEcqi:STD_L0GIC_VECT0R(3DOWNTO0);

BEGIN

IFclr=T'THENcqi:=〃0000〃;

ELSIFCLK,EVENTANDCLK-T'THEN

IFenb=T'THEN

IFcqi<〃1001〃THENcqi:=cqi+1;

ELSEcqi:=〃0000〃;

ENDIF;

ENDIF;

ENDIF;

outy<=cqi;

cout<=cqi(0)AND(NOTcqi(l))AND(NOTcqi(2))ANDcqi(3);

ENDPROCESS;

ENDbehav;

一兩位十進制計數(shù)器(cntlOO.vhd)

LIBRARYIEEE;

USEIEEE.STD_L0GIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYcntlOOIS

PORT(clkin:INSTD_LOG1C;

clrin:INSTD_LOGIC;

enbin:INSTD_LOGIC;

outlow:OUTSTI)_L0GIC_VECT0R(3DOWNTO0);

outhigh:OUTSTDLOGICVECTOR(3DOWNTO0);

coutout:OUTSTDLOGIC);

ENDENTITYcntlOO;

ARCHITECTUREoneOFcntlOOIS

COMPONENTcntlO

PORT(elk:INSTD_LOGIC;

clr:INSTD_LOGIC;

enb:INSTD_LOGIC;

outy:OUTSTD_LOGIC_VECTOR(3DOWNTO0);

cout:OUTSTD_LOGIO;

ENDCOMPONENT;

SIGNALa:STDLOGIC;

BEGIN

ul:ent10PORTMAP(clk=>clkin,clr=>clrin,enb=>enbin,outy=>outlow,cout=>a);

u2:cntlOPORTMAP(clk=>a,clr=>clrin,enb=>enbin,outy=>outhigh,

cout=>coutout);

ENDARCHITECTUREone;

十進制計數(shù)器仿真波形

enb_____

clrJ_____________________________________________________________

elk-nLTTJ-LTTTTJTTT,rLn-rLFT-rL

coutII

outy[3..oi°pDcucmzmzmmDE

Cqi[3..o]0

兩位十進制計數(shù)器仿真波形

enbinJ

clrin_J|__________________________________________________________________________________

elkin

coutoutII____

outhightx.o]°8*9e

兩位十進制計數(shù)器管腳鎖定

實驗?zāi)J剑篘O:5

設(shè)計實體I/O標(biāo)識I/O來源/去向信號名芯片管腳序號

enbin鍵1PIOO8

clrin鍵2PIO19

clkinCLOCKOCLOCKO54

coutout二極管DIPIO820

outlow[3..0]數(shù)碼管1PIO16?PIO1930-33

outhigh[3..0]數(shù)碼管2PIO20-PIO2336-39

實驗五4位十進制頻率計VHDL文本輸入設(shè)計

一、實驗?zāi)康?/p>

1、熟悉MAX+plusII軟件的基本使用方法。

2、熟悉GW48—ESEDA實驗開發(fā)系統(tǒng)的基本使用方法。

3、學(xué)習(xí)時序電路的設(shè)計、仿真和硬件測試,進一步熟悉VHDL設(shè)計技術(shù)。

二、實驗內(nèi)容

設(shè)計并調(diào)試好一個有時鐘使能的兩位十進制計數(shù)器,并用GW48-ESEDA

實驗開發(fā)系統(tǒng)(擬采用的實驗芯片的型號為EPF10K20TC144-4或

EP1K30TC144-3)進行系統(tǒng)仿真、硬件驗證。設(shè)計有時鐘使能的兩位十進制計

數(shù)器時要求先設(shè)計一個或門和一個十進制計數(shù)器,再由十進制計數(shù)器構(gòu)成兩位十

進制計數(shù)器。

三、實驗條件

1、開發(fā)條件:MAX+plusII

2、實驗設(shè)備:GW48-ESEDA實驗開發(fā)系統(tǒng)、聯(lián)想電腦

3、擬用芯片:EPF10K20TC144-4或EP1K30TC144-3

四、實驗設(shè)計

--測頻控制器(testctl.vhd)

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYTESTCTLIS

PORT(CLKK:INSTD_LOGIC;-1Hz

CNT_EN,RST_CNT,LOAD:OUTSTD_LOGIC);

ENDTESTCTL;

ARCHITECTUREbehavOFTESTCTLIS

SIGNALDIV2CLK:STD_LOGIC;

BEGIN

PROCESS(CLKK)

BEGIN

IFCLKK1EVENTANDCLKK=111THENDIV2CLK<=NOTDIV2CLK;

ENDIF;

ENDPROCESS;

PROCESS(CLKK,DIV2CLK)

BEGIN

IFCLKK=。ANDDiv2cLK=。THENRST_CNT<=’1,

ELSERST_CNT<='01;ENDIF;

ENDPROCESS;

LOAD<=NOTDIV2CLK;CNT_EN<=DIV2CLK;

ENDbehav;

一十進制計數(shù)器(cntlO.vhd)

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYcntlOIS

PORT(elk:INSTDLOGIC;

clr:INSTD_LOGIC;

enb:INSTD_LOGIC;

outy:OUTSTDLOGICVECTOR(3DOWNTO0);

cout:OUTSTD_LOGIC);

ENDcntlO;

ARCHITECTUREbehavOFcntlOIS

BEGIN

PROCESS(elk,clr,enb)

VARIABLEcqi:STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

IFclr=T'THENcqi:=〃0000〃;

ELSIFCLK*EVENTANDCLK=T'THEN

IFenb=T'THEN

IFcqi<〃1001〃THENcqi:=cqi+1;

ELSEcqi:=〃0000〃;

ENDIF;

ENDIF;

ENDIF;

outy<=cqi;

cout<=cqi(0)AND(NOTcqi(l))AND(NOTcqi(2))ANDcqi(3);

ENDPROCESS;

ENDbehav;

―4位鎖存器(reg4b.vhd)

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYREG4BIS

PORT(LOAD:INSTD_LOGIC;

DIN:INSTD_LOGIC_VECTOR(3DOWNTO0);

DOUT:OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDREG4B;

ARCHITECTUREbehavOFREG4BIS

BEGIN

PROCESS(LOAD,DIN)

BEGIN

IFLOAD1EVENTANDLOAD=‘1'THENDOUT<=DIN;一一時鐘至I」來,鎖存數(shù)據(jù)

ENDIF;

ENDPROCESS;

ENDbehav;

一4位十進制頻率計(quen4b)

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYquen4bIS

PORT(clkin:INSTD_LOGIC;

fin:INSTD_LOGIC;

outl:OUTSTD_LOGIC_VECTOR(3DOWNTO0);

out2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);

out3:OUTSTD_LOGIC_VECTOR(3DOWNTO0);

out4:OUTSTD_LOGIC_VECTOR(3DOWNTO0);

coutt:OUTSTD_LOGIC);

ENDENTITYquen4b;

ARCHITECTUREoneOFquen4bIS

COMPONENTTESTCTL

PORT(CLKK:INSTD_LOGIC;

CNT_EN,RST_CNT,LOAD:OUTSTD_LOGIC);

ENDCOMPONENT;

COMPONENTcntlO

PORT(elk:INSTD_LOGIC;

clr:INSTD_LOGIC;

enb:INSTD_LOGIC;

outy:OUTSTD_LOGIC_VECTOR(3DOWNTO0);

cout:OUTSTD_LOGIC);

ENDCOMPONENT;

COMPONENTREG4B

PORT(LOAD:INSTD_LOGIC;

DIN:INSTD_LOGIC_VECTOR(3DOWNTO0);

DOUT:OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDCOMPONENT;

SIGNALa_ena,b__rstzc_load,coutl,cout2zcout3:STD_LOGIC;

SIGNALoutyl,outy2zouty3zouty4:STD_LOG工JVECTOR(3DOWNTO0);

BEGIN

ul:TESTCTLPORTMAP(clkk=>clkinzCNT_EN=>a_ena,RST_CNT=>b_rstz

LOAD=>c_load);

u2:cntlOPORTMAP(clk=>finzclr=>b_rstzenb=>a_ena,outy=>outylr

cout=>coutl);

u3:cntlOPORTMAP(clk=>coutl,clr=>b_rstrenb=>a_enaf

outy=>outy2Acout=>cout2);

u4:cntlOPORTMAP(clk=>cout2,clr=>b_rstrenb=>a_ena,

outy=>outy3zcout=>cout3);

u5:cntlOPORTMAP(clk=>cout3,clr=>b_rst,enb=>a_enaz

outy=>outy4zcout=>coutt);

u6:REG4BPORTMAP(LOAD=>c_loadzDIN=>outylzDOUT=>outl);

u7:REG4BPORTMAP(LOAD=>c」oad,DIN=>outy2,DOUT=>out2);

u8:REG4BPORTMAP(LOAD=>c_load,DIN=>outy3,DOUT=>out3);

u9:REG4BPORTMAP(LOAD=>c_loadzDIN=>outy4,DOUT=>out4);

ENDARCHITECTUREone;

四位十進制頻率計仿真波形(clkin:Is,fin:300us)

1.0s2.0s3.0s4.0s5.0s

fin0

clkin1_r_r_r

COUtt0

豆0Ut1H30X3

out2H30_x3

事out3H30」3

out4H30X_______________3

四位十進制頻率管腳鎖定

實驗?zāi)J剑篘O:5

設(shè)計實體I/O標(biāo)識I/O來源/去向信號名芯片管腳序號

clkinClock1Clock155

finClockOClockO54

outl數(shù)碼管1PIO16-PIO1930-33

out2數(shù)碼管2PIO20-PIO2336?39

out3數(shù)碼管3PIO24-PIO2741、42、65、67

out4數(shù)碼管4PIO28-PIO3168、69、70、72

coutt二極管DIPIO820

實驗七數(shù)字秒表VHDL文本輸入設(shè)計。

實驗?zāi)康?/p>

1、熟悉MAX+plusII的使用。

2、學(xué)習(xí)時序電路的設(shè)計、仿真和硬件測試,進一步熟悉VHDL設(shè)計技術(shù)。

3、熟悉GW48EDA實驗開發(fā)系統(tǒng)使用。

實驗儀器

聯(lián)想電腦,GW48EDA實驗開發(fā)系統(tǒng)

設(shè)計任務(wù)

1、設(shè)計一個計時范圍為0.01秒~1小時的數(shù)字秒表,應(yīng)具有停表、恢復(fù)、清

零功能。

實驗要求

1、畫出系統(tǒng)的原理框圖,說明系統(tǒng)中各主要組成部分的功能。

2、編寫各個VHDL源程序。

3、根據(jù)選用的軟件編好用于系統(tǒng)仿真的測試文件。

4、根據(jù)選用的軟件及EDA實驗開發(fā)裝置編好用于硬件驗證的管腳鎖定文件。

5、記錄系統(tǒng)仿真、硬件驗證結(jié)果。

6、記錄實驗過程中出現(xiàn)的問題及解決辦法。

實驗內(nèi)容

—3MHz-100Hz分頻器(CLKGEN.VHD)

LIBRARYIEEE;

USEIEEE.STDLOGIC1164.ALL;

ENTITYCLKGENIS

PORT(CLK:INSTDLOGIC;

NEWCLK:OUTSTD_LOGIC);

ENDENTITYCLKGEN;

ARCHITECTUREARTOFCLKGENIS

SIGNALCNTER:INTEGERRANGE0TO10#29999#;

BEGIN

PROCESS(CLK)IS

BEGIN

IFCLK,EVENTANDCLK=’1'THEN

IFCNTER=10#29999#THENCNTERCO;

ELSECNTER<=CNTER+1;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(CNTER)IS

BEGIN

IFCNTER=10#29999#THENNEWCLK<=,T;

ELSENEWCLK<=,O';

ENDIF;

ENDPROCESS;

ENDARCHITECTUREART;

一六進制計數(shù)器(CNT6.VHD)

LIBRARYIEEE;

USEIEEE.STD_L0GIC_1164.ALL;

USEIEEE.STDLOGICUNSIGNED.ALL;

ENTITYCNT6IS

PORT(CLK:INSTD_LOGIC;

CLR:INSTD_LOGIC;

ENA:INSTD_LOGIC;

CQ:OUTSTD_L0GIC_VECT0R(3DOWNTO0);

CARRY_OUT:OUTSTD_LOGIC);

ENDENTITYCNT6;

ARCHITECTUREARTOFCNT6IS

SIGNALCQI:STD_L0GIC_VECT0R(3DOWNTO0);

BEGIN

PROCESS(CLK,CLR,ENA)IS

BEGIN

IFCLR='1'THENCQI?〃OOOO〃;

ELSIFCLK,EVENTANDCLK=T'THEN

IFENA=’1'THEN

IFCQI=〃0101〃THENCQI<=〃0000〃;

ELSECQI<=CQI+,f;

ENDIF;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(CQl)lS

BEGIN

IFCQI=〃0000〃THENCARRY_OUT<=,V;

ELSECARRY_OUT〈二'O';

ENDIF;

ENDPROCESS;

CQ<=CQI;

ENDARCHITECTUREART;

一十進制計數(shù)器(CNT1O.VHD)

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT1OIS

PORT(CLK:INSTD_LOGIC;

CLR:INSTDLOGIC;

ENB:INSTD_LOGIC;

OUTY:OUTSTD_LOGIC_VECTOR(3DOWNTO0);

COUT:OUTSTD_LOGIO;

ENDENTITYCNT10;

ARCHITECTUREARTOFCNT10IS

SIGNALCQI:STD_L0GIC_VECT0R(3DOWNTO0);

BEGIN

PROCESS(CLK,CLR,ENB)IS

BEGIN

IFCLR=’1'THENCQK=z,0000,z;

ELSIFCLKJEVENTANDCLK=T'THEN

IFENB='1'THEN

IFCQI=〃1001〃THENCQI〈二〃OOOO〃;

ELSECQK=CQI+,f;

ENDIF;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(CQI)IS

BEGIN

IFCQI=〃OOOO〃THENCOUT<=,f;

ELSECOUT<=,0,;

ENDIF;

ENDPROCESS;

OUTY<=CQI;

ENDARCHITECTUREART;

一數(shù)字秒表(TIMES.VHD)

LIBRARYIEEE;

USEIEEE.STDLOGIC1164.ALL;

ENTITYTIMESIS

PORT(CLR:INSTDLOGIC;

CLK:INSTD_LOGIC;

ENA:INSTD_LOGIC;

DOUT:OUTSTD_L0GIC^VECT0R(23DOWNTO0));

ENDENTITYTIMES;

ARCHITECTUREARTOFTIMESIS

COMPONENTCLKGENIS

PORT(CLK:INSTD_LOGIC;

NEWCLK:OUTSTD_LOGIC);

ENDCOMPONENTCLKGEN;

COMPONENTCNT10IS

PORT(CLK,CLR,ENB:INSTD_LOGIC;

OUTY:OUTSTD_L0GIC_VECT0R(3DOWNTO0);

COUT:OUTSTDLOGIC7;

ENDCOMPONENTCNT1O;

COMPONENTCNT6IS

PORT(CLK,CLR,ENA:INSTD^LOGIC;

CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);

CARRY_OUT:OUTSTDJOGIC、;

ENDCOMPONENTCNT6;

SIGNALSO:STD_LOGIC;

SIGNALS1.S2,S3,S4,S5:STD_L0GIC;

BEGIN

UO:CLKGENPORTMAP(CLK->CLK,NEWCLK=>SO);

Ul:CNT10PORTMAP(SO,CLR,ENA,DOUT(3DOWNTOO),S1);

U2:CNT10PORTMAP(S1,CLR,ENA,D0UT(7DOWNTO4),S2);

U3:CNT10PORTMAP(S2,CLR,ENA,DOUT(11DOWNTO8),S3);

U4:CNT6PORTMAP(S3,CLR,ENA,D0UT(15DOWNTO12),S4);

U5:CNT10PORTMAP(S4,CLR,ENA,D0UT(19DOWNTO16),S5);

U6:CNT6PORTMAP(S5,CLR,ENA,DOUT(23DOWNTO20));

ENDARCHITECTUREART;

數(shù)字秒表管腳鎖定

實驗?zāi)J剑篘O:5

設(shè)計實體I/O標(biāo)識I/O來源法向信號名芯片管腳序號

clr鍵1PIOO8

ena鍵2PIO19

elkClockOClockO54

Dout(0)-dout(3)數(shù)碼管1PIO16-PIO1930-33

Dout(4)-dout(7)數(shù)碼管2PIO20?PIO2336-39

Dout(8)-dout(ll)數(shù)碼管3PIO24?PIO2741、42、65、67

Dout(12)-dout(15)數(shù)碼管4PIO28-PIO3168、69、70、72

Dout(16)-dout(19)數(shù)碼管5PIO32?PIO3573、78、79、80

Dout(20)-dout(23)數(shù)碼管6PIO36-PIO3981、82、83、86

實驗八交通燈信號控制器VHDL文本輸入設(shè)計。

實驗?zāi)康?/p>

1、熟悉MAX+plusII的使用。

2、學(xué)習(xí)時序電路的設(shè)計、仿真和硬件測試,進一步熟悉VHDL設(shè)計技術(shù)。

3、熟悉GW48EDA實驗開發(fā)系統(tǒng)使用。

設(shè)計任務(wù)

設(shè)計一個由一條主干道和一條支干道的匯合點形成的十字交叉路口的交通燈控

制器,具體要求如下:

1、支干道各設(shè)有一個綠、紅、黃指示燈,兩個顯示數(shù)碼管。

2、干道處于常允許通行狀態(tài),而支干道有車來才允許通行。當(dāng)主干道允許通行

亮綠燈時,支干道亮紅燈。而支干道允許通行亮綠燈時,主干道亮紅燈。

3、主、支干道均有車時,兩者交替道允許通,主干道每次放行45S,支干道每

次放行25S,在每次由亮綠燈變成亮紅燈的轉(zhuǎn)換過程中,要亮5s的黃燈作

為過渡,并進行減計時顯示。

實驗要求

1、出系統(tǒng)的原理框圖,說明系統(tǒng)中各主要組成部分的功能。

2、寫各個VHDL源程序。

3、根據(jù)選用的軟件編好用于系統(tǒng)仿真的測試文件。

4、根據(jù)選用的軟件及EDA實驗開發(fā)裝置編好用于硬件驗證的管腳鎖定文件。

5、記錄系統(tǒng)仿真、硬件驗證結(jié)果。

6、記錄實驗過程中出現(xiàn)的問題及解決辦法。

實驗內(nèi)容

一Cnt05s.vhd

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT05SIS

PORT(CLK,EN05M,EN05B:INSTD_LOGIC;

DOUT5:OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDENTITYCNT05S;

ARCHITECTUREARTOFCNT05SIS

SIGNALCNT3B:STD_LOGIC_VECTOR(2DOWNTO0);

BEGIN

PROCESS(CLK,EN05M,EN05B)IS

BEGIN

IF(CLK*EVENTANDCLK='11)THEN

IFEN05M=f11THENCNT3B<=CNT3B+1;

ELSIFEN05B=f11THENCNT3B<=CNT3B+1;

ELSIFEN05B=f0'THENCNT3B<=CNT3B-CNT3B-1;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(CNT3B)IS

BEGIN

CASECNT3BIS

WHEN,,000H=>DOUT5<=n00000101n;

WHEN1'001n=>DOUT5<=nO0000100n;

WHEN,I010n=>DOUT5<=,,00000011n;

WHEN"011n=>DOUT5<=n00000010*';

WHENn100n=>DOUT5<=n00000001n;

WHENOTHERS=>DOUT5<=n00000000n;

ENDCASE;

ENDPROCESS;

ENDARCHITECTUREART;

一一Cnt25s.vhd

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT25SIS

PORT(SB,SM,CLK,EN25:INSTD_LOGIC;

DOUT25M,DOUT25B:OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDENTITYCNT25S;

ARCHITECTUREARTOFCNT25SIS

SIGNALCNT5B:STD_LOGIC_VECTOR(4DOWNTO0);

BEGIN

PROCESS(SB,SM,CLK,EN25)IS

BEGIN

IF(SB=(0'ORSM=101)THENCNT5B<=CNT5B-CNT5B-1;

ELSIF(CLK1EVENTANDCLK=11*)THEN

IFEN25=,1,THENCNT5B<=CNT5B+1;

ELSIFEN25='0'THENCNT5B<=CNT5B-CNT5B-1;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(CNT5B)IS

BEGIN

CASECNT5BIS

WHEN,,00000n=>DOUT25M<="00100101,,;DOUT25B<=n00110000n;

WHEN,100001n=>DOUT25M<=n00100100n;DOUT25B<=n00101001n;

WHEN'100010n=>DOUT25M<=n00100011n;DOUT25B<=n001010000;

WHEN'100011M=>DOUT25M<=n00100010n;DOUT25B<=n00100111n;

WHEN,100100n=>DOUT25M<=n00100001n;DOUT25B<=n00100110";

WHEN,,00101n=>DOUT25M<=,,00100000,,;DOUT25B<=n00100101n;

WHEW00110n=>DOUT25M<="00011001n;DOUT25B<=n001001000;

WHENnOOHln=>DOUT25M<="00011000n;DOUT25B<=n00100011n;

WHEN"01000n=>DOUT25M<=n000101lln;DOUT25B<=n00100010";

WHEN,101001n=>DOUT25M<=n0001011011;DOUT25B<="001000010;

WHEN"01010n=>DOUT25M<=n00010101n;DOUT25B<=n00100000";

WHENn01011n=>DOUT25M<=n00010100,,;DOUT25B<=n00011001";

WHEN1101100n=>DOUT25M<=n00010011n;DOUT25B<=n00011000n;

WHEN,,01101n=>DOUT25M<=n00010010,,;DOUT25B<=n00010111n;

WHEN'1OHIOn=>DOUT25M<=n00010001n;DOUT25B<=n00010110";

WHEN"01111n=>DOUT25M<=n00010000";DOUT25B<=n00010101M;

WHENnl0000n=>DOUT25M<=n00001001n;DOUT25B<=n00010100";

WHEN,,10001n=>DOUT25M<=n00001000,,;DOUT25B<=n00010011n;

WHEN,,10010n=>DOUT25M<=,,00000111,,;DOUT25B<=n00010010n;

WHEN"1001ln=>DOUT25M<=n00000110n;DOUT25B<=n00010001";

WHEW10100n=>DOUT25M<=n00000101n;DOUT25B<=n00010000n;

WHENnl0101n=>DOUT25M<=n00000100,,;DOUT25B<=n00001001";

WHEN"10110n=>DOUT25M<=n0000001ln;DOUT25B<=n00001000n;

WHEN,,10111n=>DOUT25M<=,,00000010";DOUT25B<=n00000111";

WHEN,111000M=>DOUT25M<="0000000ln;DOUT25B<=n00000110";

WHENOTHERS=>DOUT25M<=n00000000*';DOUT25B<=n00000000,f;

ENDCASE;

ENDPROCESS;

ENDARCHITECTUREART;

一-Cnt45s.vhd

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT45SIS

PORT(SB,CLK,EN45:1NSTD_LOGIC;

DOUT45M,DOUT45B:OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDENTITYCNT45S;

ARCHITECTUREARTOFCNT45SIS

SIGNALCNT6B:STD_LOGIC_VECTOR(5DOWNTO0);

BEGIN

PROCESS(SB,CLK,EN45)IS

BEGIN

IFSB=,0,THENCNT6B<=CNT6B-CNT6B-1;

ELSIE(CLK1EVENTANDCLK=111)THEN

IFEN45=,1,THENCNT6B<=CNT6B+1;

ELSIFEN45=OTHENCNT6B<=CNT6B-CNT6B-1;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(CNT6B)IS

BEGIN

CASECNT6BIS

WHEN"00000On=>DOUT45M<=n01000101,,;DOUT45B<=H01010000n;

WHEN,,000001n=>DOUT45M<=,,01000100,,;DOUT45B<=H01001001n;

WHEN,100001On=>DOUT45M<=n0100001ln;DOUT45B<=n01001000";

WHEN,100001ln=>DOUT45M<=n01000010f,;DOUT45B<=n01000111";

WHEN1'000100n=>DOUT45M<=n01000001H;DOUT45B<=n01000110n;

WHEN11000101n=>DOUT45M<=H01000000n;DOUT45B<=n01000101";

WHEN,100011On=>DOUT45M<=n00111001n;DOUT45B<=n01000100";

WHEN'100011ln=>DOUT45M<=n00111000";DOUT45B<=n01000011";

WHEN'100100On=>DOUT45M<=H001101lln;DOUT45B<=n01000010n;

WHEN,100100ln=>DOUT45M<=n00110110n;DOUT45B<=n01000001";

WHEN”001010”=>DOUT45M<="00110101”;DOUT45B<="01000000,,

WHEW00101ln=>DOUT45M<=n00110100H;DOUT45B<=n00111001";

WHEN'100110On=>DOUT45M<=n0011001ln;DOUT45B<=

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論