收藏 分销(赏)

VHDL期末考试题.doc

上传人:快乐****生活 文档编号:4317473 上传时间:2024-09-05 格式:DOC 页数:12 大小:150.96KB
下载 相关 举报
VHDL期末考试题.doc_第1页
第1页 / 共12页
VHDL期末考试题.doc_第2页
第2页 / 共12页
VHDL期末考试题.doc_第3页
第3页 / 共12页
VHDL期末考试题.doc_第4页
第4页 / 共12页
VHDL期末考试题.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、1.结构体的三种描述方式:-行为描述-数据流描述-结构化描述2.一般将一个完整的VHDL程序称为设计实体3. VHDL设计实体的基本结构由库、程序包、实体、结构体和配置组成。4.VHDL不区分大小写。5.常用的库:library ieee ,程序包:use ieee.std_logic_1164.all 6.VHDL程序的基本结构至少应包括实体、结构体和对库的引用声明。7.在VHDL程序中使用的文字、数据对象、数据类型都需要事先声明 。8. VHDL的实体由实体声明和结构体组成。VHDL的实体声明部分指定了设计单元的输入出端口或引脚,它是设计实体对外的一个通信界面,是外界可以看到的部分。VHD

2、L的结构体用来描述实体的逻辑结构和逻辑功能,它由VHDL语句构成,是外界看不到的部分。9.端口方向模式:IN(输入)、OUT(输出)、INOUT(双向)、BUFFER(缓冲)10VHDL的标识符名必须以(字母开头),后跟若干字母、数字或单个下划线构成,但最后不能为(下划线),不能连续两个下划线相连。11. 为信号赋初值的符号是(:=);程序中,为变量赋值的符号是(:=),为信号赋值的符号是(=)12. VHDL的数据类型包括标量类型、复合类型、存储类型和文件类型 请列出3个VHDL语言的数据类型,如实数、位等。位矢量,字符,布尔量,整数,字符串,时间,错误等级,自然数,正整数。13. VHDL

3、的操作符包括逻辑、算术、关系和并置四类14.可编程逻辑器件:CPLD、FPGA、GAL、PLA、PAL(早期)CPLD(复杂可编程逻辑器件):基于乘机项技术构造的可编程逻辑器件,不需要配置外部程序寄存芯片FPGA(现场可编程门阵列):基于查找表技术构造的可编程逻辑器件,需要配置外部程序寄存芯片15.VHDL客体或数据对象:常量、信号、变量(可被多次赋值)、文件。16.一个VHDL程序中可以使用多个进程process语句,一个设计实体可以拥有多个结构体。17.VHDL的预算操作包括:逻辑运算符、关系运算符、乘法运算符 (优先级)逻辑运算符、关系运算符、加减并置运算符、正负运算符、乘法运算符、18

4、.VHDL中std_logic类型:Z表示高阻,X表示不确定19.将一个信width定义为一个4位标准逻辑向量为:signal width :std_logic_vector(3 downto 0) 定义一个变量a,数据类型为4位位向量:variable a :bit_vector(3 downto 0)20赋值语句是并行执行,IF语句是串行执行。21.标准逻辑是一个具有九值逻辑的数据类型22.表示01两值逻辑的数据类型是bit,表示01Z等九值逻辑的数据类型是std_logic ,表示空操作的数据类型是NULL23.=是小于等于关系运算符,又是赋值运算操作符 /=是不相等操作符,功能是在条件

5、判断是判断操作符两端不相等。 NOT是逻辑运算符,表示取反,在所有操作符中优先级最高。30并置运算符 & 的功能是 把多个位或位向量合并为一个位向量 。24.位类型的初始化采用字符,位矢量用字符串25.进程必须位于结构体内部,变量必须定义于进程内部26.进程执行的机制是敏感信号发生跳变27. VHDL语言可以有以下3种形式的子结构描述语句: BLOCK语句结构; PROCESS语句结构和SUBPROGRAMS结构。29整型对象的范围约束通常用 range 关键词,位矢量用 downto/to 关键词。31. 判断CLK信号上升沿到达的语句是 if clkevent and clk = 1 th

6、en .32. IF语句各条件间具有不同的优先级。33、任何时序电路都以 时钟 为驱动信号,时序电路只是在 时钟信号的边沿 到来时,其状态才发生改变。34、 Moore状态机输出只依赖于器件的当前状态,与 输入信号 无关。35. 、IF语句根据指定的条件来确定语句执行顺序,共有3种类型: 用于门闩控制的IF语句、用于二选一控制的IF语句、用于多选择控制的IF语句。简答题:1、简述信号与变量的区别。a.信号延时赋值,变量立即赋值b.信号的代入使用=,变量的代入使用:=;c.信号在实际的硬件当中有对应的连线,变量没有2、 简述可编程逻辑器件的优点。a.集成度高,可以替代多至几千块通用IC芯片.极大

7、减小电路的面积,降低功耗,提高可靠性 b.具有完善先进的开发工具.提供语言、图形等设计方法,十分灵活.通过仿真工具来验证设计的正确性c.可以反复地擦除、编程,方便设计的修改和升级d.灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间f.保密性好3、试比较moore状态机与mealy状态机的异同。Moore输出只是状态机当前状态的函数. Mealy输出为有限状态机当前值和输入值的函数3、 简述VHDL语言与计算机语言的差别。a. 运行的基础。计算机语言是在CPURAM构建的平台上运行。VHDL设计的结果是由具体的逻辑、触发器组成的数字电路b.执行方式.计算机语言基本上以串行的方式执行.VHDL

8、在总体上是以并行方式工作c.验证方式.计算机语言主要关注于变量值的变化.VHDL要实现严格的时序逻辑关系4、 简述实体端口的模式输入(Input):clk、reset、en、addr等输出(Output):输出信号,不能内部引用双向(Inout):可代替所有其他模式,用于设计双向总线缓冲(Buffer):与Output类似,但允许该管脚名作为一些逻辑的输入信号5、 进程语句是设计人员描述结构体时使用最为频繁的语句,简述其特点。a.它可以与其它进程并发执行,并可存取结构体或实体中所定义的信号;b.进程结构中的所有语句都是按顺序执行的c.为了启动进程,在进程结构中必须包含一个显式的敏感信号量表或者

9、包含一个wait语句;d.进程之间的通信是通过信号量的传递来实现的6、 简述如何利用计数器精确控制时序。a.只要知道晶振频率f,即可知道周期T1/f;b.使用一个计数器,可以通过计数值n,精确知道当计数值为n时消耗的时间tnT;上例中以n为控制条件,可以控制其它信号在某时刻变高,某时刻变低,从而产生精确时序编程题:1.3-8译码器0LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder_3_to_8 IS PORT (a,b,c,g1,g2a,g2b:IN STD_LOGIC; y:OUT STD_LOGIC_VECTOR(7 DOWNT

10、O 0); END decoder_3_to_8;ARCHITECTURE rtl OF decoder_3_to_8 IS SIGNAL indata:STD_LOGIC_VECTOR (2 DOWNTO 0);BEGIN indata y y y y y y y y y = XXXXXXXX; END CASE; ELSE y = 11111111; END IF; END PROCESS;END rtl; 3、填写完成一个3-8线译码器的真值表(5分),并写出其VHDL程序(10分)。3-8译码器的真值表ena2a1a0y100000000001100100000010101000000

11、1001011000010001100000100001101001000001110010000001111100000000xxx00000000entity tri_eight is port(a:in std_logic_vector (2 downto 0);en:in std_logic;y:outstd_logic_vector (7 downto 0);end tri_eight;(2)architecture a of tri_eight is signal sel:std_logic_vector (3 downto 0);(4)beginsel(0) = a(0);sel

12、(1) = a(1);sel(2) = a(2);sel(3) = en;(5)with sel selecty = 00000001 when 1000,00000010 when 1001,00000100 when1010,00001000 when1011,00010000 when1100,00100000 when1101,01000000 when1110,10000000 when1111,00000000 whenothers;(9)end a;(10)3、根据下表填写完成一个3-8线译码器的VHDL程序(16分)。LIBRARY IEEE;USE IEEE.STD_LOGI

13、C_1164.ALL;ENTITY decoder_3_to_8 IS PORT (a,b,c,g1,g2a,g2b:IN STD_LOGIC; y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); (2)END decoder_3_to_8;ARCHITECTURE rtl OF decoder_3_to_8 IS SIGNAL indata:STD_LOGIC_VECTOR (2 DOWNTO 0);(4)BEGIN indata y y y y y y y y y = XXXXXXXX; END CASE; ELSE y = 11111111;(14) END IF;

14、END PROCESS;(16)END rtl; 2.二选一VHDL程序 Entity mux isport(d0,d1,sel:in bit;q:out BIT ); end mux;architecture connect of MUX is signal tmp1, TMP2 ,tmp3:bit; begin cale:block begin tmp1=d0 and sel; tmp2=d1 and (not sel) tmp3= tmp1 and tmp2;q = tmp3; end block cale; end CONNECT; 2.2二选一 IF语句编写Entity sel2 i

15、sPort (a,b : in std_logic; sel : in std_logic; q : out std_logic);End sel2;Architecture a of sel2 isbeginif sel = 0 then q = a;else q = b;end if;end a;3. 三态门电原理图如右图所示,真值表如左图所示,请完成其VHDL程序构造体部分。LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY tri_gate ISPORT(din,en:IN STD_LOGIC; dout : OUT STD_LOGIC);

16、END tri_gate ;ARCHITECTURE zas OF tri_gate ISBEGIN PROCESS (din,en) BEGINIF (en=1) THEN dout = din;ELSE dout = Z; END IF; END PROCESS ;END zas ;4.四选一、用IF语句编写一个四选一电路,要求输入d0d3, s为选择端,输出y。entity MUX4 is port( (2)s:in std_logic_vector(1 downto 0); (4)d:in std_logic_vector(3 downto 0); (6)y:out std_logic

17、 (8); end MUX4; architecture behave of MUX4 isbeginprocess(s)beginif (s=00) theny=d(0); elsif (s=01) theny=d(1); elsif (s=10) theny=d(2); elsif (s=11) theny=d(3); elsenull; end if;end process;end behave;5、填写完成一个8-3线编码器的真值表(5分),并写出其VHDL程序(10分)。8 -3线编码器真值表enby0y1y21000000000001000000100011000001000101

18、000010000111000100001001001000001011010000001101100000001110xxxxxxxx高阻态entity eight_tri is port(b:in std_logic_vector(7 downto 0);en:in std_logic;y:outstd_logic_vector(2 downto 0);end eight_tri;(3)architecture a of eight_tri is signal sel: std_logic_vector(8 downto 0);(4)beginsel=en & b;y= “000” whe

19、n (sel=”100000001”)else“001” when (sel=”100000010”)else“010” when (sel=”100000100”)else“011” when (sel=”100001000”)else“100” when (sel=”100010000”)else“101” when (sel=”100100000”)else“110” when (sel=”101000000”)else“111” when (sel=”110000000”)else(9)“zzz”;(10)end a;6. 图中给出了4位逐位进位全加器,请完成其VHDL程序。(本题16

20、分)library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity full_add isport (a,b: instd_logic_vector (3 downto 0); carr: inout std_logic_vector (4 downto 0);sum: outstd_logic_vector (3 downto 0);end full_add;architecture full_add_arch of full_add is

21、component adder port (a,b,c:instd_logic;carr: inoutstd_logic;sum: out std_logic);end component;begincarr(0)=0;u0:adder port map(a(0),b(0),carr(0),carr(1),sum(0);u1:adder port map(a(1),b(1),carr(1),carr(2),sum(1); u2:adder port map(a(2),b(2),carr(2),carr(3),sum(2); u3:adder port map(a(3),b(3),carr(3)

22、,carr(4),sum(3); end full_add_arch;7.数值比较器VHDL程序的进程(不必写整个结构框架),要求使能信号g低电平时比较器开始工作,输入信号p = q,输出equ为0,否则为1。(本题10分)process(p,q)beginif g=0 thenif p = q then equ_tmp = 0;else equ_tmp = 1;end if;else equ_tmp = 1;end if;end process;8. 编写一个2输入与门的VHDL程序,请写出库、程序包、实体、构造体相关语句,将端口定义为标准逻辑型数据结构(本题10分)&abyLIBRARY

23、IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY nand2 IS PORT (a,b:IN STD_LOGIC; y:OUT STD_LOGIC); END nand2; ARCHITECTURE nand2_1 OF nand2 IS BEGIN y = a NAND b;END nand2_1;9设计异或门逻辑:(本题20分)如下异或门,填写右边的真值表。(此项5分)ABY000011101110其表达式可以表示为: 这一关系图示如下:试编写完整的VHDL代码实现以上逻辑。可以采用任何描述法。library ieee;use ieee.std_logic

24、_1164.all; entity yihuo1 isport(a,b:in std_logic;y:out std_logic);end yihuo1; architecture yihuo1_behavior of yihuo1 isbegin y=a xor b;end yihuo1_behavior; 10. 4位加法计数器VHDL程序的进程(不必写整个结构框架),要求复位信号reset低电平时计数器清零,变高后,在上升沿开始工作;输入时钟信号为clk,输出为q。(本题10分)Process(reset,clk)beginif reset = 0 then q = “0000”;els

25、if clkevent and clk = 1 thenq = q + 1;end if;end process;11、根据已给出的二-十(BCD)进制优先权编码器功能表,试写出其VHDL程序。(本题15分)二-十(BCD)进制优先权编码器功能表输入输出I1I2I3I4I5I6I7I8I9Y3Y2Y1Y01111111111111XXXXXXXX00110XXXXXXX010111XXXXXX0111000XXXXX01111001XXXX011111010XXX0111111011XX01111111100X0111111111010111111111110entity prior ispo

26、rt(d : in std_logic_vector(9 downto 1);q : out std_logic_vector(3 downto 0);end prior;(2)architecture behavior of prior is beginprocess(d)beginif d = 111111111 thenq = 1111;elsif d(9) = 0 thenq = 0110;elsif d(8) = 0 thenq = 0111;elsif d(7) = 0 thenq = 1000;elsif d(6) = 0 thenq = 1001;elsif d(5) = 0

27、thenq = 1010;elsif d(4) = 0 thenq = 1011;elsif d(3) = 0 thenq = 1100;elsif d(2) = 0 thenq = 1101;elsif d(1) = 0 thenq = 1110; end if; end process;end behavior;1、完成下图所示的触发器。(本题10分)CLRCLKDQQNlibrary IEEE;use IEEE.std_logic_1164.all;entity VposDff is port (CLK, CLR, D: in STD_LOGIC; -2分 Q, QN: out STD_LOGIC ); -4分end VposDff;architecture VposDff_arch of VposDff isbegin process ( CLK, CLR ) -6分 begin if CLR=1 then Q = 0; QN =1; elsif CLKevent and CLK=1 then Q = D; QN = not D; -8分 end if; end process; -10分end VposDff_arch; 12

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服