VHDL程序练习题(含答案).doc

上传人:b****1 文档编号:134458 上传时间:2022-10-04 格式:DOC 页数:35 大小:1.10MB
下载 相关 举报
VHDL程序练习题(含答案).doc_第1页
第1页 / 共35页
VHDL程序练习题(含答案).doc_第2页
第2页 / 共35页
VHDL程序练习题(含答案).doc_第3页
第3页 / 共35页
VHDL程序练习题(含答案).doc_第4页
第4页 / 共35页
VHDL程序练习题(含答案).doc_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

VHDL程序练习题(含答案).doc

《VHDL程序练习题(含答案).doc》由会员分享,可在线阅读,更多相关《VHDL程序练习题(含答案).doc(35页珍藏版)》请在冰豆网上搜索。

VHDL程序练习题(含答案).doc

VHDL程序填空题

(一)在下面横线上填上合适的VHDL关键词,完成2选1多路选择器的设计。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

1MUX21IS

PORT(SEL:

INSTD_LOGIC;

A,B:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

ENDMUX21;

2BHVOFMUX21IS

BEGIN

Q<=AWHENSEL=’1’ELSEB;

ENDBHV;

(二)在下面横线上填上合适的语句,完成BCD-7段LED显示译码器的设计。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYBCD_7SEGIS

PORT(BCD_LED:

INSTD_LOGIC_VECTOR(3DOWNTO0);

LEDSEG:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));

ENDBCD_7SEG;

ARCHITECTUREBEHAVIOROFBCD_7SEGIS

BEGIN

PROCESS(BCD_LED)

3

IFBCD_LED="0000"THENLEDSEG<="0111111";

ELSIFBCD_LED="0001"THENLEDSEG<="0000110";

ELSIFBCD_LED="0010"THENLEDSEG<=4;

ELSIFBCD_LED="0011"THENLEDSEG<="1001111";

ELSIFBCD_LED="0100"THENLEDSEG<="1100110";

ELSIFBCD_LED="0101"THENLEDSEG<="1101101";

ELSIFBCD_LED="0110"THENLEDSEG<="1111101";

ELSIFBCD_LED="0111"THENLEDSEG<="0000111";

ELSIFBCD_LED="1000"THENLEDSEG<="1111111";

ELSIFBCD_LED="1001"THENLEDSEG<="1101111";

ELSELEDSEG<=5;

ENDIF;

ENDPROCESS;

ENDBEHAVIOR;

(三)在下面横线上填上合适的语句,完成数据选择器的设计。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYMUX16IS

PORT(D0,D1,D2,D3:

INSTD_LOGIC_VECTOR(15DOWNTO0);

SEL:

INSTD_LOGIC_VECTOR(6DOWNTO0);

Y:

OUTSTD_LOGIC_VECTOR(15DOWNTO0));

END;

ARCHITECTUREONEOFMUX16IS

BEGIN

WITH7SELECT

Y<=D0WHEN"00",

D1WHEN"01",

D2WHEN"10",

D3WHEN8;

END;

(四)在下面横线上填上合适的语句,完成JK触发器的设计。

说明:

设计一个异步复位/置位JK触发器,其真值表如下:

INPUT

OUTPUT

PSET

CLR

CLK

J

K

Q

0

1

X

X

X

1

1

0

X

X

X

0

0

0

X

X

X

不定

1

1

上升沿

0

1

0

1

1

上升沿

1

0

1

1

1

上升沿

1

1

翻转

1

1

上升沿

0

0

保持

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYJKFF1IS

PORT(PSET,CLR,CLK,J,K :

INSTD_LOGIC;

Q :

OUTSTD_LOGIC);

ENDJKFF1;

ARCHITECTUREMAXPLDOFJKFF1IS

SIGNALTEMP:

STD_LOGIC;

BEGIN

PROCESS(PSET,CLR,CLK)

BEGIN

IF(PSET='0'ANDCLR='1')THENTEMP<='1';

ELSIF(PSET='1'ANDCLR='0')THENTEMP<='0';

ELSIF(PSET='0'ANDCLR='0')THENNULL;

9(CLK'EVENTANDCLK='1')THEN

10(J='0'ANDK='0')THENTEMP<=TEMP;

ELSIF(J='0'ANDK='1')THENTEMP<='0';

ELSIF(J='1'ANDK='0')THENTEMP<='1';

ELSIF(J='1'ANDK='1')THENTEMP<=11;

ENDIF;

ENDIF;

ENDPROCESS;

Q<=TEMP;

END;

(五)在下面横线上填上合适的语句,完成计数器的设计。

说明:

设电路的控制端均为高电平有效,时钟端CLK,电路的预置数据输入端为4位D,计数输出端也为4位Q,带同步始能EN、异步复位CLR和预置控制LD的六进制减法计数器。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_ARITH.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT6IS

PORT(EN,CLR,LD,CLK:

INSTD_LOGIC;

D:

INSTD_LOGIC_VECTOR(3DOWNTO0);

Q:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDCNT6;

ARCHITECTUREBEHAOFCNT6IS

SIGNALQTEMP:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

PROCESS(CLK,CLR,LD)

BEGIN

IFCLR='1'THEN QTEMP<="0000"; --CLR=1清零

ELSIF(CLK'EVENTANDCLK='1')THEN --判断是否上升沿

IFLD='1'THEN QTEMP<=12; --判断是否置位

ELSIFEN='1'THEN --判断是否允许计数

IFQTEMP="0000"THENQTEMP<=13; --等于0,计数值置5

ELSEQTEMP<=14; --否则,计数值减1

ENDIF;

ENDIF;

ENDIF;

Q<=QTEMP;

ENDPROCESS;

ENDBEHA;

(六)在下面横线上填上合适的语句,完成状态机的设计。

说明:

设计一个双进程状态机,状态0时如果输入”10”则转为下一状态,否则输出”1001”;状态1时如果输入”11”则转为下一状态,否则输出”0101”;状态2时如果输入”01”则转为下一状态,否则输出”1100”;状态3时如果输入”00”则转为状态0,否则输出”0010”。

复位时为状态0。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYMOORE1IS

PORT(DATAIN:

INSTD_LOGIC_VECTOR(1DOWNTO0);

CLK,RST:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

END;

ARCHITECTUREONEOFMOORE1IS

TYPEST_TYPEIS(ST0,ST1,ST2,ST3); --定义4个状态

SIGNALCST,NST:

ST_TYPE; --定义两个信号(现态和次态)

SIGNALQ1:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

REG:

PROCESS(CLK,RST) --主控时序进程

BEGIN

IFRST='1'THEN CST<=15; --异步复位为状态0

ELSIFCLK'EVENTANDCLK='1'THEN

CST<=16; --现态=次态

ENDIF;

ENDPROCESS;

COM:

PROCESS(CST,DATAIN)

BEGIN

CASECSTIS

WHENST0=>IFDATAIN="10"THENNST<=ST1;

ELSENST<=ST0;Q1<="1001";ENDIF;

WHENST1=>IFDATAIN="11"THENNST<=ST2;

ELSENST<=ST1;Q1<="0101";ENDIF;

WHENST2=>IFDATAIN="01"THENNST<=ST3;

ELSENST<=ST2;Q1<="1100";ENDIF;

WHENST3=>IFDATAIN="00"THENNST<=ST0;

ELSENST<=ST3;Q1<="0010";ENDIF;

17;

ENDPROCESS;

Q<=Q1;

END;

(七)在下面横线上填上合适的语句,完成减法器的设计。

由两个1位的半减器组成一个1位的全减器

--1位半减器的描述

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYHALF_SUBIS

PORT(A,B:

INSTD_LOGIC;

DIFF,COUT:

OUTSTD_LOGIC);

ENDHALF_SUB;

ARCHITECTUREARTOFHALF_SUBIS

BEGIN

COUT<=18; --借位

DIFF<=19; --差

END;

--1位全减器描述

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYFALF_SUBIS

PORT(A,B,CIN:

INSTD_LOGIC;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1