VHDL期末考试题
- 格式:docx
- 大小:473.89 KB
- 文档页数:14
一、单项选择题:(20分)1. IP核在EDA技术和开发中具有十分重要的地位;提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路的IP核为__________。
DA .瘦IP B.固IP C.胖IP D.都不是2.综合是EDA设计流程的关键步骤,在下面对综合的描述中,_________是错误的。
DA. 综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;B. 综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件;C. 为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束;D. 综合可理解为一种映射过程,并且这种映射关系是唯一的,即综合结果是唯一的。
3.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是__C__。
A. FPGA全称为复杂可编程逻辑器件;B. FPGA是基于乘积项结构的可编程逻辑器件;C. 基于SRAM的FPGA器件,在每次上电后必须进行一次配置;D. 在Altera公司生产的器件中,MAX7000系列属FPGA结构。
4.进程中的信号赋值语句,其信号更新是___C____。
A. 按顺序完成;B. 比变量更快完成;C. 在进程的最后完成;D. 都不对。
5. VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述___________。
BA. 器件外部特性;B. 器件的内部功能;C. 器件的综合约束;D. 器件外部特性与内部功能。
6.不完整的IF语句,其综合结果可实现________。
AA. 时序逻辑电路B. 组合逻辑电路C. 双向电路D. 三态控制电路7.子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化_________。
B①流水线设计②资源共享③逻辑优化④串行化⑤寄存器配平⑥关键路径法A. ①③⑤B. ②③④C. ②⑤⑥D. ①④⑥8.下列标识符中,__________是不合法的标识符。
VHDL 改错题VHDL复习一.改错题1.已知sel为STD_LOGIC_VECTOR(1 DOWNTO 0)类型的信号,而a、b、c、d、q均为STD_LOGIC类型的信号,请判断下面给出的CASE语句程序片段:●CASE sel IS●WHEN“00”=>q<=a;●WHEN“01”=>q<=b;●WHEN“10”=>q<=c;●WHEN“11”=>q<=d;●END CASE;●答案:CASE语句缺“WHEN OTHERS”语句。
2.已知data_in1, data_in2为STD_LOGIC_VECTOR(15 DOWNTO 0) 类型的输入端口,data_out为STD_LOGIC_VECTOR(15 DOWNTO 0)类型的输出端口,add_sub为STD_LOGIC 类型的输入端口,请判断下面给出的程序片段:●LIBRARY IEEE;●USE IEEE.STD_LOGIC_1164.ALL;●ENTITY add IS●PORT(data_in1, data_in2:IN INTEGER;●data_out:OUT INTEGER);●END add;●ARCHTECTURE add_arch OF add IS●CONSTANT a:INTEGER<=2;●BEGIN●data_out<=( data_in1+ data_in2) * a;●END addsub_arch;答案:常量声明时赋初值的“<=”符号应改用“:=”符号。
3.已知Q为STD_LOGIC类型的输出端口,请判断下面的程序片段:●ARCHITECTURE test_arch OF test IS●BEGIN●SIGNAL B:STD_LOGIC;●Q<= B;END test_arch答案:信号SIGNAL的声明语句应该放在BEGIN语句之前。
番茄花园一、 填空题( 分 每空格 分)、一个完整的 语言程序通常包含 实体( ) , 构造体( ), 配置( ), 包集合( )和 库( ) 各部分。
、在一个实体的端口方向说明时,输入使用 表示,那么构造体内部不能再使用的输出是用 表示;双向端口是用 表示;构造体内部可再次使用的输出是用 表示;、一个构造体可以使用几个子结构,即相对比较独立的几个模块来构成。
语言可以有以下 种形式的子结构描述语句: 语句结构; 语句结构和 结构。
、 的客体,或称数据对象包括了常数、 变量 和 信号 。
、请列出三个 语言的数据类型,如实数、位等。
位矢量 , 字符 , 布尔量 。
、设 为 为 为 为 的运算结果是“ , 的运算结果是“ 。
、构造体的描述方式包括三种,分别是 寄存器传输( )描述方法或称数据流 ; 构造体的结构描述方式 和 构造体的行为描述方式 。
、传统的系统硬件设计方法是采用自上而下( )的设计方法,利用硬件描述语言( )的硬件电路设计方法采用自下而上( )的设计方法。
(× )传统的系统硬件设计方法是采用自下而上( )的设计方法,利用硬件描述语言番茄花园( )的硬件电路设计方法采用自上而下( )的设计方法、 可以采用层次化的设计,一个高层的结构体中可以调用低层的实体 (√ )、一个 程序中仅能使用一个进程( )语句。
( × ) 可以使用多个进程语句。
、 语言的预算操作包括了逻辑运算符、关系运算符、乘法运算符等,它们三者的优先级是相同的。
( × ) 逻辑运算符 关系运算符 乘法运算、试举出两种可编程逻辑器件 、 。
、 程序的基本结构包括 库 、 程序包 、 实体和 结构体 。
、 标识符合法吗? 不合法 。
标识符合法吗? 不合法 。
标识符合法吗? 不合法 。
、信号的代入通常用 ,变量用 。
、表示‘ ’‘ ’;两值逻辑的数据类型是 (位) ,表示‘ ’‘ ’‘ 等九值逻辑的数据类型是 (标准逻辑),表示空操作的数据类型是 。
一、填空题(20分,每空格1分)1、一个完整的VHDL语言程序通常包含实体(entity),结构体(architecture),配置(configuration),包集合(package)和库(library)5各部分。
2、在一个实体的端口方向说明时,输入使用in表示,那么构造体内部不能再使用的输出是用out 表示;双向端口是用inout 表示;构造体内部可再次使用的输出是用buffer 表示;3、VHDL的客体,或称数据对象包括了常数、变量variable 和信号signal 。
4、请列出三个VHDL语言的数据类型,如实数、位等。
位矢量,字符,布尔量。
5、VHDL程序的基本结构包括库、程序包、实体和结构体。
6、more_ _11标识符合法吗?不合法。
8bit标识符合法吗?不合法。
variable标识符合法吗?不合法。
7、信号的代入通常用<= ,变量用:= 。
8、表示‘0’‘1’;两值逻辑的数据类型是bit(位),表示‘0’‘1’‘Z’等九值逻辑的数据类型是std_logic(标准逻辑),表示空操作的数据类型是NULL 。
9、<=是小于等于关系运算符,又是赋值运算操作符。
10、设D0为'1', D1为'0', D2为'1', D3为'0', D3 & D2 & D1 & D0的运算结果是“0101”,D1 & D2 & D3 & D4的运算结果是“1010”。
11、VHDL程序的基本结构至少应包括实体、结构体两部分和对库的引用声明。
12、1_Digital标识符合法吗?否,\12 @ +\ 呢?合法。
13、在VHDL的常用对象中,信号、变量可以被多次赋予不同的值,常量只能在定义时赋值。
14、实体的端口模式用来说明数据、信号通过该端口的传输方向,端口模式有in 、Out 、inout 、buffer 。
一、选择题(共10分,每题2分)1.在一个VHDL设计中Idata是一个信号,数据类型为std_logic_vector,试指出下面赋值语句错误的是__ ___。
A. idata <= “00001111”;B. idata <= b”0000_1111”;C. idata <= X”AB”;D. idata <= B”21”;2.在VHDL语言中,下列对时钟边沿检测描述中,错误的是__ ___。
A. if clk’event and clk = ‘1’ thenB. if falling_edge(clk) thenC. if clk’event and clk = ‘0’ thenD. if clk’stable and not clk = ‘1’ then3.请指出Altera Cyclone系列中的EP1C6Q240C8这个器件是属于_____A. ROMB. CPLDC. FPGAD.GAL4.状态机编码方式中,其中一位热码编码占用触发器较多,但其实现比较适合_____的应用。
A. FPGAB. CPLDC. PALD.GAL5.进程中的信号赋值语句,其信号更新是_______。
a)按顺序完成;b)比变量更快完成;c)在进程的最后完成;d)都不对。
二、EDA名词解释(共10分,每题2分)1.ASIC2.FPGA3.VHDL4.EDA5.SOC三、程序补充题(共10分,每空1分)下面程序是一个10线-4线优先编码器的VHDL描述,试补充完整。
LIBRARY __________ ;USE IEEE._____________________.ALL;ENTITY coder ISPORT ( din : IN STD_LOGIC_VECTOR(____________________);output : __________ STD_LOGIC_VECTOR(3 DOWNTO 0) );END coder;ARCHITECTURE behav OF _____________ ISSIGNAL SIN : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS (___________)BEGINIF (din(9)='0') THEN SIN <= "1001" ;__________________ THEN SIN <= "1000" ;ELSIF (din(7)='0') THEN SIN <= "0111" ;ELSIF (din(6)='0') THEN SIN <= "0110" ;ELSIF (din(5)='0') THEN SIN <= "0101" ;ELSIF (din(4)='0') THEN SIN <= "0100" ;ELSIF (din(3)='0') THEN SIN <= "0011" ;ELSIF (din(2)='0') THEN SIN <= "0010" ;ELSIF (din(1)='0') THEN SIN <= "0001" ;ELSE _______________ ;________________END PROCESS ;_______________;END behav;四、程序改错题(共15分)仔细阅读下列程序,改正程序中的错误并说明该程序的功能。
VHDL 复习一.问答题一.问答题1信号赋值语句在什么情况下作为并行语句?在什么情况下作顺序语句?信号赋值和变量赋值符号分别是什么?两种赋值符号有什么区别?赋值符号分别是什么?两种赋值符号有什么区别?l 信号赋值语句在进程外作并行语句,并发执行,与语句所处的位置无关。
信号赋值语句在进程内或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。
语句在进程内或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。
l 信号赋值符号为“<=”变量赋值用变量赋值用““:=”。
信号赋值符号用于信号赋值动作,信号赋值符号用于信号赋值动作,不立不立即生效。
变量,赋值符号用于变量赋值动作,立即生效。
即生效。
变量,赋值符号用于变量赋值动作,立即生效。
2进程的敏感信号表指的是什么?简述敏感信号表在进程中的作用?进程的敏感信号表指的是什么?简述敏感信号表在进程中的作用?l 进程的“敏感信号表”也称敏感表,是进程的激活条件,可由一个或多个信号组成,各信号间以“,”号分隔。
当敏感信号表中的任一个信号有事件发生,即发生任意变化,此时,进程被激活,进程中的语句将从上到下逐句执行一遍,当最后一条语句执行完毕之后,进程即进入等待挂起状态,直到下一次敏感表中的信号有事件发生,进程再次被激活,如此循环往复。
件发生,进程再次被激活,如此循环往复。
3什么是库、程序包、子程序、过程调用和函数调用?什么是库、程序包、子程序、过程调用和函数调用?l 库和程序包用来描述和保存元件、类型说明和子程序等,以便在其它设计中通过其目录可查询、调用。
子程序由过程和函数组成。
在子程序调用过程中,过程能返回多个变量,多个变量,函数只能返回一个变量。
函数只能返回一个变量。
函数只能返回一个变量。
若子程序调用的是一个过程,若子程序调用的是一个过程,若子程序调用的是一个过程,就称为过程调用,就称为过程调用,若子程序调用的是一个函数,则称为函数调用。
过程调用、函数调用都是子程序调用。
vhdl期末考试题库及答案VHDL期末考试题库及答案一、选择题1. VHDL是一种用于电子设计自动化的硬件描述语言,主要用于描述什么?A. 软件程序B. 硬件电路C. 数据库D. 操作系统答案:B2. 在VHDL中,哪个关键字用于定义一个进程?A. processB. procedureC. functionD. package答案:A3. 下列哪个不是VHDL的预定义数据类型?A. bitB. integerC. realD. boolean答案:A4. VHDL中,哪个属性用于获取信号的稳定值?A. 'stable'B. 'event'C. 'quiet'D. 'transaction'答案:A5. 在VHDL中,以下哪个是合法的信号赋值语句?A. signal a : integer := 5;B. signal a : integer is 5;C. signal a <= 5;D. signal a : integer = 5;答案:C二、简答题1. 简述VHDL中的并发语句和顺序语句的区别。
答案:并发语句用于描述多个独立操作同时发生,如进程和并行块;顺序语句描述操作的顺序执行,如if语句、case语句等。
2. 解释VHDL中的时序仿真和功能仿真的区别。
答案:时序仿真考虑了信号的时序特性,如延迟和时间,用于验证设计在实际工作条件下的行为;功能仿真则不关心时序,只验证设计的功能正确性。
三、编程题1. 编写一个VHDL程序,实现一个简单的二进制加法器。
答案:```vhdlentity adder isport(A, B : in bit_vector(1 downto 0);Sum : out bit_vector(1 downto 0);Carry : out bit);end entity adder;architecture behavior of adder isbeginprocess(A, B)begincase A iswhen "00" => Sum <= "00"; Carry <= '0';when "01" => Sum <= "01"; Carry <= '0';when "10" => Sum <= "01"; Carry <= '0';when "11" => Sum <= "10"; Carry <= '1';end case;end process;end architecture behavior;```四、论述题1. 论述在VHDL中使用测试平台(testbench)的重要性。
一、填空题(20分,每空格1分)1、一个完整的VHDL语言程序通常包含实体(entity),结构体(architecture),配置(configuration),包集合(package)和库(library) 5各部分。
2、在一个实体的端口方向说明时,输入使用in表示,那么构造体内部不能再使用的输出是用 out 表示;双向端口是用 inout 表示;构造体内部可再次使用的输出是用 buffer 表示;3、VHDL的客体,或称数据对象包括了常数、变量variable 和信号signal 。
4、请列出三个VHDL语言的数据类型,如实数、位等。
位矢量,字符,布尔量。
5、VHDL程序的基本结构包括库、程序包、实体和结构体。
6、more_ _11标识符合法吗?不合法。
8bit标识符合法吗?不合法。
variable标识符合法吗?不合法。
7、信号的代入通常用 <= ,变量用 := 。
8、表示‘0’‘1’;两值逻辑的数据类型是 bit(位),表示‘0’‘1’‘Z’等九值逻辑的数据类型是 std_logic(标准逻辑),表示空操作的数据类型是 NULL 。
9、<=是小于等于关系运算符,又是赋值运算操作符。
10、设D0为'1', D1为'0', D2为'1', D3为'0', D3 & D2 & D1 & D0的运算结果是“0101”,D1 & D2 & D3 & D4的运算结果是“1010”。
11、VHDL程序的基本结构至少应包括实体、结构体两部分和对库的引用声明。
12、1_Digital标识符合法吗?否, \12 @ +\ 呢?合法。
13、在VHDL的常用对象中,信号、变量可以被多次赋予不同的值,常量只能在定义时赋值。
14、实体的端口模式用来说明数据、信号通过该端口的传输方向,端口模式有 in 、 Out 、 inout 、 buffer 。
Vhdl复习考试题型:单项选择题:(10*2=20分)简答题:(5*4=20分,每小题5分)判断改错题:(2*5=20分)综合题:(共50分)VHDL 大小写不敏感实体(Entity)描述此设计功能输入输出端口(Port)在层次化设计时,Port为模块之间的接口在芯片级,则代表具体芯片的管脚Entity eqcomp4 isport(a, b: in std_logic_vector(3 downto 0);equal:out std_logic);end eqcomp4;实体--端口的模式输入(Input)输出(Output)双向(Inout):可代替所有其他模式,但降低了程序的可读性,一般用于与CPU的数据总线接口缓冲(Buffer):与Output类似,但允许该管脚名作为一些逻辑的输入信号结构体(Architecture)描述实体的行为结构体有三种描述方式-行为描述(behavioral)-数据流描述(dataflow)-结构化描述(structural)结构体--行为描述结构体--数据流描述描述输入信号经过怎样的变换得到输出信号结构体--结构化描述三种描述方式的比较VHDL标识符(Identifiers)•基本标识符由字母、数字和下划线组成•第一个字符必须是字母•最后一个字符不能是下划线•不允许连续2个下划线•保留字(关键字)不能用于标识符•大小写是等效的VHDL数据对象(Data Objects)•常数(Constant)–固定值,不能在程序中被改变–增强程序的可读性,便于修改程序–在综合后,连接到电源和地–可在Library、Entity、Architecture、Process中进行定义,其有效范围也相应限定Constant data_bus_width: integer := 8;•信号(Signals)–代表连线,Port也是一种信号–没有方向性,可给它赋值,也可当作输入–在Entity中和Architecture中定义–设定的初始值在综合时没有用,只是在仿真时在开始设定一个起始值。
V H D L期末考试题work Information Technology Company.2020YEAR1.结构体的三种描述方式:-行为描述-数据流描述-结构化描述2.一般将一个完整的VHDL程序称为设计实体3. VHDL设计实体的基本结构由库、程序包、实体、结构体和配置组成。
4.VHDL不区分大小写。
5.常用的库:library ieee ,程序包:use ieee.std_logic_1164.all6.VHDL程序的基本结构至少应包括实体、结构体和对库的引用声明。
7.在VHDL程序中使用的文字、数据对象、数据类型都需要事先声明。
8. VHDL的实体由实体声明和结构体组成。
VHDL的实体声明部分指定了设计单元的输入出端口或引脚,它是设计实体对外的一个通信界面,是外界可以看到的部分。
VHDL的结构体用来描述实体的逻辑结构和逻辑功能,它由VHDL语句构成,是外界看不到的部分。
9.端口方向模式:IN(输入)、OUT(输出<构造体内部不能再使用>)、INOUT (双向)、BUFFER(缓冲<构造体内部可再使用>)10.VHDL的标识符名必须以(字母开头),后跟若干字母、数字或单个下划线构成,但最后不能为(下划线),不能连续两个下划线相连。
11. 为信号赋初值的符号是(:=);程序中,为变量赋值的符号是(:=),为信号赋值的符号是(<=)12. VHDL的数据类型包括标量类型、复合类型、存储类型和文件类型请列出3个VHDL语言的数据类型,如实数、位等。
位矢量,字符,布尔量,整数,字符串,时间,错误等级,自然数,正整数。
13. VHDL的操作符包括逻辑、算术、关系和并置四类14.可编程逻辑器件:CPLD、FPGA、GAL、PLA、PAL(早期)CPLD(复杂可编程逻辑器件):基于乘机项技术构造的可编程逻辑器件,不需要配置外部程序寄存芯片FPGA(现场可编程门阵列):基于查找表技术构造的可编程逻辑器件,需要配置外部程序寄存芯片15.VHDL客体或数据对象:常量、信号、变量(可被多次赋值)、文件。
16.一个VHDL程序中可以使用多个进程process语句,一个设计实体可以拥有多个结构体。
17.VHDL的预算操作包括:逻辑运算符、关系运算符、乘法运算符(优先级<<<)逻辑运算符、关系运算符、加减并置运算符、正负运算符、乘法运算符、18.VHDL中std_logic类型:‘Z’表示高阻,‘X’表示不确定19.将一个信width定义为一个4位标准逻辑向量为:signalwidth :std_logic_vector(3 downto 0)定义一个变量a,数据类型为4位位向量:variable a :bit_vector(3 downto 0) 20.赋值语句是并行执行,IF语句是串行执行。
21.标准逻辑是一个具有九值逻辑的数据类型22.表示‘0’‘1’两值逻辑的数据类型是bit,表示‘0’‘1’‘Z’等九值逻辑的数据类型是std_logic ,表示空操作的数据类型是NULL23.<=是小于等于关系运算符,又是赋值运算操作符/=是不相等操作符,功能是在条件判断是判断操作符两端不相等。
NOT是逻辑运算符,表示取反,在所有操作符中优先级最高。
30.并置运算符 & 的功能是把多个位或位向量合并为一个位向量。
24.位类型的初始化采用字符,位矢量用字符串25.进程必须位于结构体内部,变量必须定义于进程内部26.进程执行的机制是敏感信号发生跳变27. VHDL语言可以有以下3种形式的子结构描述语句: BLOCK语句结构;PROCESS语句结构和SUBPROGRAMS结构。
29整型对象的范围约束通常用 range 关键词,位矢量用 downto/to 关键词。
31. 判断CLK信号上升沿到达的语句是 if clk’event and clk = ‘1’then .32. IF语句各条件间具有不同的优先级。
33、任何时序电路都以时钟为驱动信号,时序电路只是在时钟信号的边沿到来时,其状态才发生改变。
34、 Moore状态机输出只依赖于器件的当前状态,与输入信号无关。
35.、IF语句根据指定的条件来确定语句执行顺序,共有3种类型:用于门闩控制的IF语句、用于二选一控制的IF语句、用于多选择控制的IF语句。
简答题:1、简述信号与变量的区别。
a.信号延时赋值,变量立即赋值b.信号的代入使用<=,变量的代入使用:=;c.信号在实际的硬件当中有对应的连线,变量没有2、简述可编程逻辑器件的优点。
a.集成度高,可以替代多至几千块通用IC芯片.极大减小电路的面积,降低功耗,提高可靠性 b.具有完善先进的开发工具.提供语言、图形等设计方法,十分灵活.通过仿真工具来验证设计的正确性c.可以反复地擦除、编程,方便设计的修改和升级d.灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间f.保密性好3、试比较moore状态机与mealy状态机的异同。
Moore输出只是状态机当前状态的函数. Mealy输出为有限状态机当前值和输入值的函数3、简述VHDL语言与计算机语言的差别。
a.运行的基础。
计算机语言是在CPU+RAM构建的平台上运行。
VHDL设计的结果是由具体的逻辑、触发器组成的数字电路b.执行方式.计算机语言基本上以串行的方式执行.VHDL在总体上是以并行方式工作c.验证方式.计算机语言主要关注于变量值的变化.VHDL要实现严格的时序逻辑关系4、简述实体端口的模式输入(Input):clk、reset、en、addr等输出(Output):输出信号,不能内部引用双向(Inout):可代替所有其他模式,用于设计双向总线缓冲(Buffer):与Output类似,但允许该管脚名作为一些逻辑的输入信号5、进程语句是设计人员描述结构体时使用最为频繁的语句,简述其特点。
a.它可以与其它进程并发执行,并可存取结构体或实体中所定义的信号;b.进程结构中的所有语句都是按顺序执行的c.为了启动进程,在进程结构中必须包含一个显式的敏感信号量表或者包含一个wait语句;d.进程之间的通信是通过信号量的传递来实现的6、简述如何利用计数器精确控制时序。
a.只要知道晶振频率f,即可知道周期T=1/f;b.使用一个计数器,可以通过计数值n,精确知道当计数值为n时消耗的时间t=nT;上例中以n为控制条件,可以控制其它信号在某时刻变高,某时刻变低,从而产生精确时序编程题:1.3-8译码器0LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder_3_to_8 ISPORT (a,b,c,g1,g2a,g2b:IN STD_LOGIC;y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END decoder_3_to_8;ARCHITECTURE rtl OF decoder_3_to_8 ISSIGNAL indata:STD_LOGIC_VECTOR (2 DOWNTO 0);BEGINindata <= c & b & a;PROCESS (indata,g1,g2a,g2b)BEGINIF (g1 = '1' AND g2a = '0' AND g2b = '0' ) THENCASE indata ISWHEN "000"=> y <= "11111110";WHEN "001" => y <= "11111101";WHEN "010" => y <= "11111011";WHEN "011" => y <= "11110111";WHEN "100" => y <= "11101111";WHEN "101" => y <= "11011111";WHEN "110" => y <= "10111111";WHEN "111" => y <= "01111111";WHEN OTHERS=> y <= "XXXXXXXX";END CASE;ELSEy <= "11111111";END IF;END PROCESS;END rtl;3、填写完成一个3-8线译码器的真值表(5分),并写出其VHDL程序(10分)。
entity tri_eight isport(a: in std_logic_vector (2 downto 0);en: in std_logic;y: out std_logic_vector (7 downto 0));end tri_eight;(2)architecture a of tri_eight issignal sel: std_logic_vector (3 downto 0); (4) beginsel(0) <= a(0); sel(1) <= a(1); sel(2) <= a(2); sel(3) <= en; (5)with sel selecty <= "00000001" when "1000","00000010" when "1001","00000100" when "1010","00001000" when "1011","00010000" when "1100","00100000" when "1101","01000000" when "1110","10000000" when "1111","00000000" when others;(9)end a;(10)3、根据下表填写完成一个3-8线译码器的VHDL程序(16分)。