(完整版)VHDL程序练习题(含答案)_第1页
(完整版)VHDL程序练习题(含答案)_第2页
免费预览已结束,剩余19页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VHDL程序填空题(一)在下面横线上填上合适的 VHDL 关键词,完成 2 选 1 多路选择器的设计。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;_1MUX21 ISPORT(SEL:IN STD_LOGIC;A,B:IN STD_LOGIC;Q: OUT STD_LOGIC );END MUX21;_2BHV OF MUX21 ISBEGINQ=A WHEN SEL= 1 ELSE B;END BHV;(二)在下面横线上填上合适的语句,完成BCD-7 段 LED 显示译码器的设计。LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164

2、.ALL;ENTITY BCD_7SEG ISPORT( BCD_LED : IN STD_LOGIC_VECTOR(3 DOWNTO 0);LEDSEG : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END BCD_7SEG;ARCHITECTURE BEHA VIOR OF BCD_7SEG ISBEGINPROCESS(BCD_LED)3IF BCD_LED=0000 THEN LEDSEG=0111111;ELSIF BCD_LED=0001 THEN LEDSEG=0000110;ELSIF BCD_LED=0010 THEN LEDSEG= _ ;ELSIF

3、 BCD_LED=0011 THEN LEDSEG=1001111;ELSIF BCD_LED=0100 THEN LEDSEG=1100110;ELSIF BCD_LED=0101 THEN LEDSEG=1101101;ELSIF BCD_LED=0110 THEN LEDSEG=1111101;ELSIF BCD_LED=0111 THEN LEDSEG=0000111;ELSIF BCD_LED=1000 THEN LEDSEG=1111111;ELSIF BCD_LED=1001 THEN LEDSEG=1101111;-ELSE LEDSEG= _ 5;END IF;END PRO

4、CESS;END BEHA VIOR;(三) 在下面横线上填上合适的语句,完成数据选择器的设计。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX16 ISPORT( D0, D1, D2, D3: IN STD_L0GIC_VECT0R(15 DOWNTO 0);SEL:IN STD_LOGIC_VECTOR( _ DOWNTO 0);Y: OUT STD_LOGIC_VECTOR(15 DOWNTO 0); END;ARCHITECTURE ONE OF MUX16 ISBEGINWITH _ 7SELECTY = D0 WHEN 00,

5、D1 WHEN 01,D2 WHEN 10,D3 WHEN _8_ ;END;(四)在下面横线上填上合适的语句,完成JK 触发器的设计。说明:设计一个异步复位/置位 JK 触发器,其真值表如下:INPUTOUTPUTPSETCLRCLKJKQ01XXX110XXX000XXX不定11上升沿01011上升沿10111上升沿11翻转11上升沿00保持LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY JKFF1 ISPORT (PSET,CLR,CLK,J,K : IN STD_LOGIC;Q : OUT STD_LOGIC);END JKFF1;ARC

6、HITECTURE MAXPLD OF JKFF1 ISSIGNAL TEMP:STD_LOGIC;BEGINPROCESS(PSET,CLR,CLK)BEGINIF (PSET=0AND CLR=1 ) THEN TEMP=1;ELSIF (PSET=1AND CLR=0 ) THEN TEMP=0;ELSIF (PSET=0AND CLR=0 ) THEN NULL;_9(CLKEVENT AND CLK=1) THEN_ (J=0 AND K=0) THEN TEMP=TEMP;ELSIF (J=O AND K=1) THEN TEMP=0:ELSIF (J=1 AND K=O) THE

7、N TEMP=1:ELSIF (J=1 AND K=1) THEN TEMP= _ 11END IF;END IF;END PROCESS;Q=TEMP;END ;(五)在下面横线上填上合适的语句,完成计数器的设计。说明:设电路的控制端均为高电平有效,时钟端CLK,电路的预置数据输入端为 4 位 D,计数输出端也为 4 位 Q,带同步始能 EN、异步复位 CLR 和预置控制 LD 的六进制减法计数器。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.

8、ALL;ENTITY CNT6 ISPORT(EN,CLR,LD,CLK:IN STD_LOGIC;D: IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END CNT6;ARCHITECTURE BEHA OF CNT6 ISSIGNAL QTEMP:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK,CLR,LD)BEGINIF CLR=1 THEN QTEMP=0000;ELSIF (CLKEVENT AND CLK=1)THEN-CLR=1 清零-判断是否上升沿

9、:-判断是否置位-判断是否允许计数13_:-等于 0,计数值置 5-否则,计数值减 1IF LD=1 THEN QTEMP=_ 12ELSIF EN=1 THENIF QTEMP=OOOO THEN QTEMP= _ELSE QTEMP= _ 14:END IF;END IF;END IF;Q=QTEMP;END PROCESS;END BEHA;(六)在下面横线上填上合适的语句,完成状态机的设计。说明:设计一个双进程状态机,状态 0 时如果输入”10 则转为下一状态,否则输出 ”1001” 状态 1 时如果输入” 11 则转为下一状态,否则输出”0101”; 状态 2 时如果输入” 01 则

10、转为下 一状态, 否则输出”1100”状态 3 时如果输入” 00 则转为状态 0,否则输出”0010”复位时为状态 0。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MOORE1 ISPORT (DATAIN: IN STD_LOGIC_VECTOR(1 DOWNTO 0);CLK, RST:IN STD_LOGIC;Q: OUT STD_L0GIC_VECT0R(3 DOWNTO 0);END;ARCHITECTURE ONE OF MOORE1 ISTYPE ST_TYPE

11、IS (ST0, ST1, ST2, ST3);-定义 4 个状态SIGNAL CST, NST: ST_TYPE;-定义两个信号(现态和次态)SIGNAL Q1:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINREG: PROCESS(CLK, RST)-主控时序进程BEGINIF RST=1 THEN CST=_ ;-异步复位为状态 0ELSIF CLKEVENT AND CLK=1 THENCST IF DATAIN=10 THEN NST=ST1;ELSE NST=ST0; Q1 IF DATAIN=11 THEN NST=ST2;ELSE NST=ST1; Q1

12、IF DATAIN=01 THEN NST=ST3;ELSE NST=ST2; Q1 IF DATAIN=00 THEN NST=ST0;ELSE NST=ST3; Q1=0010; END IF;_ 17_;END PROCESS;Q=Q1;END;(七) 在下面横线上填上合适的语句,完成减法器的设计。由两个 1 位的半减器组成一个 1 位的全减器-1 位半减器的描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY HALF_SUB ISPORT(A,B : IN STD_LOGIC;DIFF,COUT : OUT STD_LOGIC);END

13、HALF_SUB;ARCHITECTURE ART OF HALF_SUB ISBEGINCOUT=_ ;-借位DIFF=_ ;-差END ;-1 位全减器描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FALF_SUB ISPORT(A,B,CIN: IN STD_LOGIC;DIFF,COUT : OUT STD_LOGIC);END FALF_SUB;ARCHITECTURE ART OF FALF_SUB ISCOMPONENT HALF_SUBPORT(A,B : IN STD_LOGIC;DIFF,COUT : OUT STD_L

14、OGIC);END COMPONENT;_ 20 T0,T1,T2:STD_LOGIC;BEGINU1: HALF_SUB PORT MAP(A,B, _ ,T1);U2: HALF_SUB PORT MAP(T0, _22_ ,_ ,T2);COUT=_ 24;END ;(八) 在下面横线上填上合适的语句,完成分频器的设计。说明:占空比为 1: 2 的 8 分频器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLKDIV8_1TO2 ISPORT(CLK:IN STD_LOGIC

15、;CLKOUT:OUT STD_LOGIC );END CLKDIV8_1TO2;ARCHITECTURE TWO OF CLKDIV8_1TO2 ISSIGNAL CNT:STD_LOGIC_VECTOR(1 DOWNTO 0);SIGNAL CK:STD_LOGIC;BEGINPROCESS(CLK)BEGINIF RISING_EDGE(_ 25) THENIF CNT=11 THENCNT=00;CK=_ ;ELSE CNT= _ ;END IF;END IF;CLKOUT=CK;END PROCESS;END;(九)在下面横线上填上合适的语句,完成60 进制减计数器的设计。LIBRA

16、RY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNT ISPORT(CLK: IN STD_LOGIC;H,L: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COUNT;ARCHITECTURE BHV OF COUNT ISBEGINPROCESS(CLK)VARIABLE HH,L L: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF CLKEVENT AND CLK=1 THENIF LL=0 AND HH=O THENHH:

17、=0101;LL:=1001;ELSIF LL=0 THENLL:= _ ;HH:=_ ;ELSELL:=_ ;END IF;END IF;H=HH;L=LL;END PROCESS;END BHV;(十) 在下面横线上填上合适的语句,完成4-2 优先编码器的设计。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CODE4 ISP0RT(A,B,C,D : IN STD_LOGIC;Y0,Y1 : OUT STD_LOGIC);END CODE4;ARCHITECTURE CODE4 OF CODE4 ISSIGNAL DDD:STD_LOGIC

18、_VECTOR(3 DOWNTO 0);SIGNAL Q:STD_LOGIC_VECTOR( _31_ DOWNTO 0);BEGINDDD=_32_ ;PROCESS(DDD)BEGINIF (DDD(O)=O) THENQ = 11;ELSIF (DDD(1)=0) THEN Q = 10;ELSIF(DDD (2)=0) THEN Q=01;ELSEQ = 00;END IF;_ 33_ ;Y1=Q(0);Y0=Q(1);END CODE4;(十一)在下面横线上填上合适的语句,完成10 位二进制加法器电路的设计。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.A

19、LL;USE IEEE.STD_LOGIC_ _ 34_ .ALL;ENTITY ADDER1 ISPORT(A,B:IN STD_LOGIC_VECTOR(9 DOWNTO 0);COUT:OUT STD_LOGIC;SUM:OUT STD_LOGIC_VECTOR(9 DOWNTO 0);END;ARCHITECTURE JG OF ADDER1 ISSIGNAL ATEMP: STD_LOGIC_VECTOR(10 DOWNTO 0);SIGNAL BTEMP: STD_LOGIC_VECTOR(10 DOWNTO 0);SIGNAL SUMTEMP: STD_LOGIC_VECTOR(

20、 _ 35_DOWNTO 0);BEGINATEMP= 0 & A;BTEMP= 0 & B;SUMTEMP= _ 36_ ;SUM=SUMTEMP(9 DOWNTO 0);COUT=_37_ ;END JG;(十二)在下面横线上填上合适的语句,完成移位寄存器的设计。说明:8 位的移位寄存器,具有左移一位或右移一位、并行输入和同步复位的功能。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY SHIFTER ISP

21、ORT(DATA :IN STD_L0GIC_VECT0R(7 DOWNTO 0);CLK:IN STD_LOGIC;SHIFTLEFT,SHIFTRIGHT:IN STD_LOGIC;RESET:IN STD_LOGIC;MODE:IN STD_LOGIC_VECTOR(1 DOWNTO 0);QOUT:BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0);END SHIFTER;ARCHITECTURE ART OF SHIFTER ISBEGINPROCESSBEGIN_ (RISING_EDGE(CLK);IF RESET=1 THEN QOUTQOUTQOUTQOU

22、TNULL;_ 42_ ;-等待上升沿-同步复位-右移一位-左移一位-不移,并行输入END IF;END PROCESS;END ART;(十三)在下面横线上填上合适的语句,完成计数器的设计。说明:设计一个带有异步复位和时钟使能的一位八进制加法计数器(带进位输出端)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT8 ISPORT (CLK,RST,EN : IN STD_LOGIC;CQ : OUT STD_LOGIC_VECTOR( _ 43_DOWNTO 0);COUT :

23、 OUT STD_LOGIC );END CNT8;ARCHITECTURE BEHA V OF CNT8 ISBEGINPROCESS(CLK, RST, EN)_ 44_ CQI : STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINIF RST = 1 THEN CQI :=“ 000” ;_ 45_ CLKEVENT AND CLK=1 THENIF EN = 1 THENIF CQI 111 THEN CQI :=_ 46_;ELSE CQI :=_ 47_;END IF;END IF;END IF;IF CQI = 111 THEN COUT = 1;ELSE C

24、OUT = 0;END IF;CQ = CQI;END PROCESS;END BEHA V;(十四)在下面横线上填上合适的语句,完成序列信号发生器的设计。说明:已知发送信号为”10011010”, 要求以由高到低的序列形式一位一位的发送,发送开始前及发送完为低电平。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY XULIE ISPORT (RES, CLK: IN STD_LOGIC;Y: OUT STD_LOGIC );END;ARCHITECTURE ARCH OF XULIE ISSIGNAL REG:STD_LOGIC_VECTOR(7

25、 DOWNTO 0);BEGINPROCESS(CLK, RES)BEGINIF(CLK EVENT AND CLK= 1 ) THENIF RES= 1 THENY= 0 REG=_ 48_ ;-同步复位,并加载输入ELSE Y=_ 49_ ;-高位输出REG=_50_ ;-左移,低位补 0END IF;END IF;END PROCESS;END;(十五)在下面横线上填上合适的语句,完成数据选择器的设计。说明:采用元件例化的设计方法,先设计一个 2 选 1 多路选择器, 再使用3 个 2 选 1 多路选择器构成一个 4 选 1 多路选择器。LIBRARY IEEE;-2 选 1 多路选择器

26、的描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX21 ISPORT(A,B,SEL : IN STD_LOGIC;Y : OUT STD_LOGIC);END MUX21;ARCHITECTURE ART OF MUX21 ISBEGINY=A WHEN SEL=0 ELSE B;END ;LIBRARY IEEE;-4 选 1 多路选择器的描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX41 ISPORT(A,B,C,D : IN STD_LOGIC;S1,S2 : IN STD_LOGIC;Y:OUT STD_LOGIC);

27、END;ARCHITECTURE ART OF MUX41 ISCOMPONENT MUX41PORT(A,B,SEL : IN STD_LOGIC;Y : OUT STD_LOGIC);END COMPONENT;_ 51_ Y1,Y2:STD_LOGIC;BEGINU1: MUX21 PORT MAP(A,B,S1, _52_);U2: MUX21 PORT MAP(C,D, _ 52_ ,Y2);U2: MUX21 PORT MAP(Y1,Y2, _54_,Y);END ;(十六)在下面横线上填上合适的语句,完成8 位奇偶校验电路的设计。LIBRARY IEEE;USE IEEE.STD

28、_LOGIC_1164.ALL;ENTITY PC ISPORT ( A : IN STD_LOGIC_VECTOR(7 DOWNTO 0);END PC;ARCHITECTURE A OF PC ISBEGINPROCESS(A).VARIABLE TMP: STD_LOGIC;BEGINTMP_ 55_ 0;FOR I IN 0 TO 7 LOOPTMP:=_ 56_END LOOP;Y=_57_ ;END PROCESS;END;(十七)在下面横线上填上合适的语句,完成一个逻辑电路的设计, 其布尔方程为 Y=(A+B)(COD)+(B F).LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY COMB ISPORT(A, B,C,D,E,F,: IN STD_LOGIC;Y: OUT STD_LOGIC);END COMB;ARCHITECTURE ONE OF COMB ISBEGINY POUT P0UT P0UT P0UT P0UT P0UT P0UT P0UT P0UT P0UT P0UT=0000000000;END CASE;END IF;END PROCESS;END;(十九)在下面横线上填上合适的语句,完成下降沿触发的LIBRARY

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论