VHDL程序练习题含答案.docx
- 文档编号:2883695
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:48
- 大小:79.54KB
VHDL程序练习题含答案.docx
《VHDL程序练习题含答案.docx》由会员分享,可在线阅读,更多相关《VHDL程序练习题含答案.docx(48页珍藏版)》请在冰豆网上搜索。
VHDL程序练习题含答案
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'THENQTEMP<="0000";--CLR=1清零
ELSIF(CLK'EVENTANDCLK='1')THEN--判断是否上升沿
IFLD='1'THENQTEMP<=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'THENCST<=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;
DIFF,COUT:
OUTSTD_LOGIC);
ENDFALF_SUB;
ARCHITECTUREARTOFFALF_SUBIS
COMPONENTHALF_SUB
PORT(A,B:
INSTD_LOGIC;
DIFF,COUT:
OUTSTD_LOGIC);
ENDCOMPONENT;
20T0,T1,T2:
STD_LOGIC;
BEGIN
U1:
HALF_SUBPORTMAP(A,B,21,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 程序 练习题 答案