VHDL试卷
- 格式:doc
- 大小:438.47 KB
- 文档页数:33
VHDL试题⼀. 选择填空(每题4分,共40分)1..MAX7000结构中包含五个主要部分,即逻辑阵列块、宏单元、扩展乘积项(共享和并联)、可编程连线阵列、I/O控制块。
2.EDA的设计输⼊主要包括(原理图输⼊)、状态图输⼊、波形图输⼊和HDL ⽂本输⼊。
3. 当前最流⾏的并成为IEEE标准的硬件描述语⾔包括具VHDL 和 Verilog 。
4. 常⽤EDA⼯具⼤致可分为设计输⼊编辑器、HDL综合器、仿真器、适配器和下载器 5个模块。
5. CPLD结构特点为以乘积项结构⽅式构成逻辑⾏为;FPGA结构特点为以查表法结构⽅式构成逻辑⾏为。
7. VHDL中最常⽤的库是 IEEE 标准库,最常⽤的程序包是 STD-LOGIC-1164 程序包。
常⽤的四种库是IEEE库、STD库、WORK库及VITAL库。
IEEE库是VHDL设计中最常⽤的库,它包含有IEEE标准的程序包和其他⼀些⽀持⼯业标准的程序包。
8. VHDL程序的基本结构9. 基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL⽂本输⼊→功能仿真→综合→适配→时序仿真→编程下载→硬件测试。
10. 源⽂件保存时,建议⽂件名尽可能与该程序的实体名保持⼀致。
11. 资源优化可以分为资源共享,逻辑优化、串⾏化。
速度优化分为流⽔线设计,寄存器配平和关键路径法。
12. 三类数据对象:变量、常量和信号。
13. 在VHDL中有逻辑操作符、关系操作符、算术操作符和符号操作符四类操作符,如果逻辑操作符左边和右边值的类型为数组,则这两个数组的尺⼨,即位宽要相等。
在⼀个表达式中有两个以上的算符时,需要使⽤括号将这些运算分组。
如果⼀串运算中的算符相同,且是AND、OR、XOR这三个算符中的⼀种,则不需要使⽤括号。
14. 时序电路产⽣的条件:利⽤不完整的条件语句的描述。
15. 结构体中的可综合的并⾏语句主要有七种:并⾏信号赋值、进程、块语句、条件信号语句、元件例化语句、⽣成语句和并⾏过程调⽤语句。
一、单项选择题:(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.下列标识符中,__________是不合法的标识符。
番茄花园一、 填空题( 分 每空格 分)、一个完整的 语言程序通常包含 实体( ) , 构造体( ), 配置( ), 包集合( )和 库( ) 各部分。
、在一个实体的端口方向说明时,输入使用 表示,那么构造体内部不能再使用的输出是用 表示;双向端口是用 表示;构造体内部可再次使用的输出是用 表示;、一个构造体可以使用几个子结构,即相对比较独立的几个模块来构成。
语言可以有以下 种形式的子结构描述语句: 语句结构; 语句结构和 结构。
、 的客体,或称数据对象包括了常数、 变量 和 信号 。
、请列出三个 语言的数据类型,如实数、位等。
位矢量 , 字符 , 布尔量 。
、设 为 为 为 为 的运算结果是“ , 的运算结果是“ 。
、构造体的描述方式包括三种,分别是 寄存器传输( )描述方法或称数据流 ; 构造体的结构描述方式 和 构造体的行为描述方式 。
、传统的系统硬件设计方法是采用自上而下( )的设计方法,利用硬件描述语言( )的硬件电路设计方法采用自下而上( )的设计方法。
(× )传统的系统硬件设计方法是采用自下而上( )的设计方法,利用硬件描述语言番茄花园( )的硬件电路设计方法采用自上而下( )的设计方法、 可以采用层次化的设计,一个高层的结构体中可以调用低层的实体 (√ )、一个 程序中仅能使用一个进程( )语句。
( × ) 可以使用多个进程语句。
、 语言的预算操作包括了逻辑运算符、关系运算符、乘法运算符等,它们三者的优先级是相同的。
( × ) 逻辑运算符 关系运算符 乘法运算、试举出两种可编程逻辑器件 、 。
、 程序的基本结构包括 库 、 程序包 、 实体和 结构体 。
、 标识符合法吗? 不合法 。
标识符合法吗? 不合法 。
标识符合法吗? 不合法 。
、信号的代入通常用 ,变量用 。
、表示‘ ’‘ ’;两值逻辑的数据类型是 (位) ,表示‘ ’‘ ’‘ 等九值逻辑的数据类型是 (标准逻辑),表示空操作的数据类型是 。
一、填空题(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分)仔细阅读下列程序,改正程序中的错误并说明该程序的功能。
一、填空题(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 。
一.简答题(每题4分,共32分)1.VHDL的英文全称是什么?其中文含义又是什么?2.常用的硬件描述语言有哪几种?3.比前比较流行的、主流厂家的EDA软件工具有哪些?4.怎样使VHDL程序变成实用电路?5.在VHDL设计中,哪些程序包必须以显式表达出来,哪些库和程序包则不用?6.重载算符有何作用?7.在VHDL中,常量(CONSTANT)与信号(SIGNAL)主要区别是什么?8.并行信号赋值语句相当于一条缩写的进程(PROCESS)语句,问它的敏感信号检测是如何实现的?二.判断下列标识符或数值在VHDL中是否合法,如果有错误,请指出原因(每小题1分,共8分)1. variable2. 4data_bus 3 \begin\ 4. data_25. \d100@\6. \74\04\7. 8#357#8. 16#19H#三.根据如下的VHDL描述,画出其相应的逻辑电路图,并标出相关名称(每题5分,共10分)1. LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY test_1 ISPORT(p1,p2:IN BIT;a,b,c: IN BIT;z:OUT BIT);END ENTITY test_1;ARCHITECTURE one OF test_1 ISBEGINIF(p1=’1’) THENz<=a;ELSE()p2=’0’) THENz<=b;ELSEz<=c;END IF;END one;2. LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY test_2 ISGENERIC(tpd TIME:=10 ns);PORT(x,y,c_in: IN STD_LOGIC;sum,c_out: OUT STD_LOGIC);END test_2;ARCHITECTURE dataflow OF test_2 ISSIGNAL s: STD_LOGIC;BEGIN s<=x XOR y AFTER tpd;sum<= s XOR c_in AFTER tpd;c_out<=(x AND y) OR (s AND c_in) AFTER 2*tpd;END dataflow;四、给下列每一行VHDL描述都进行注释(答题时不必抄题,标注各行语句的编号后进行相应的解释即可。
填空题(20分,每空格1 分)1、一个完整的VHDL语言程序通常包含实体(entity ) , 构造体(architecture ),酉己置 (configuration ),包集合(package)禾和库(library ) 5 各部分。
2、在一个实体的端口方向说明时,输入使用in表示,那么构造体内部不能再使用的输出是用out 表示;双向端口是用in out 表示;构造体内部可再次使用的输出是用buffer表示;3、一个构造体可以使用几个子结构,即相对比较独立的几个模块来构成。
VHDL语言可以有以下3种形式的子结构描述语句:BLOCK 语句结构;PROCESS语句结构和SUBPROGRAMS结构。
4、VHDL的客体,或称数据对象包括了常数、变量variable 和信号signal 。
5、请列出三个VHDL语言的数据类型,如实数、位等。
位矢量,字符,布尔量。
6、设D0 为'0', D1 为'0', D2为'1', D3为'0', D0 & D1 & D2 & D3 的运算结果是“ 0010”,D3 & D2 & D1 & D0 的运算结果是“ 0100 ”。
7、构造体的描述方式包括三种,分别是寄存器传输(RTL)描述方法或称数据流;构造体的结构描述方式和构造体的行为描述方式。
1、传统的系统硬件设计方法是采用自上而下(top down )的设计方法,利用硬件描述语言(HDL的硬件电路设计方法采用自下而上 (bottom up)的设计方法。
(X )传统的系统硬件设计方法是采用自下而上(bottom up)的设计方法,利用硬件描述语言(HDL 的硬件电路设计方法采用自上而下(top down )的设计方法2、VHDL可以采用层次化的设计,一个高层的结构体中可以调用低层的实体(V )3、一个VHAL程序中仅能使用一个进程(process )语句。
2009/2010 学年第一学期末考试试题答案及评分标准(A卷)一、填空题(20分,每空格1分)1、一个完整的VHDL语言程序通常包含实体(entity),构造体(architecture),配置(configuration),包集合(package)和库(library) 5各部分。
2、在一个实体的端口方向说明时,输入使用in表示,那么构造体内部不能再使用的输出是用 out 表示;双向端口是用 inout 表示;构造体内部可再次使用的输出是用 buffer 表示;3、一个构造体可以使用几个子结构,即相对比较独立的几个模块来构成。
VHDL语言可以有以下3种形式的子结构描述语句: BLOCK 语句结构; PROCESS 语句结构和SUBPROGRAMS 结构。
4、VHDL的客体,或称数据对象包括了常数、变量variable 和信号signal 。
5、请列出三个VHDL语言的数据类型,如实数、位等。
位矢量,字符,布尔量。
6、设D0为'0', D1为'0', D2为'1', D3为'0', D0 & D1 & D2 & D3的运算结果是“0010”,D3 & D2 & D1 & D0的运算结果是“0100”。
7、构造体的描述方式包括三种,分别是寄存器传输(RTL)描述方法或称数据流;构造体的结构描述方式和构造体的行为描述方式。
二、判断对错并给出判断依据(20分,每小题5分,判断对错2分,给出正确答案3分)1、传统的系统硬件设计方法是采用自上而下(top down)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自下而上(bottom up)的设计方法。
(×)传统的系统硬件设计方法是采用自下而上(bottom up)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自上而下(top down)的设计方法2、VHDL可以采用层次化的设计,一个高层的结构体中可以调用低层的实体(√)3、一个VHAL程序中仅能使用一个进程(process)语句。
(×)可以使用多个进程语句。
4、VHDL语言的预算操作包括了逻辑运算符、关系运算符、乘法运算符等,它们三者的优先级是相同的。
(×)逻辑运算符<关系运算符<乘法运算三、判断题(10分)use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;以上库和程序包语句有无错误?有,有的话请在原程序相应位置改正。
(2)entity rom isport(addr: in std_logic_vector(0 to 3);ce: in std_logic;data:out std_logic_vector(7 downto 0) ;);end rom;以上port语句有无错误?有,有的话请在原程序相应位置改正。
(4)architecture behave of rom isbeginprocess(ce,addr)beginif ce='0' then (6)case addr iswhen "0000"=>data<="10001001";when "0001"=>library ieee;data<="10001010"; when "0010"=>data<="10001011"; when "0011"=>data<="10001100"; when "0100"=>data<="10001101"; when "0101"=>data<="10001110"; when "0110"=>data<="10001111"; when "0111"=>data<="10010000"; when "1000"=>data<="10010001";when "1001"=>data<="10010010";when "1010"=>data<="10010011";when "1011"=>data<="10010100";when "1100"=>data<="10010101";when "1101"=>data<="10010110";when "1110"=>data<="10010111";when others=>| data<="10011000";| end case; (8)elsedata<="00000000";end if;end process;(10)end behave;以上architecture中有哪些错误?请在原程序相应位置改正。
四、编程题(共50分)1、请补全以下二选一VHDL程序(本题10分)Entity mux isport(d0,d1,sel:in bit;q:out BIT ); (2) end mux;architecture connect of MUX is (4) signal tmp1, TMP2 ,tmp3:bit; (6) begincale:blockbegintmp1<=d0 and sel;tmp2<=d1 and (not sel)tmp3<= tmp1 and tmp2;q <= tmp3; (8)end block cale;end CONNECT ; (10)2、编写一个2输入与门的VHDL 程序,请写出库、程序包、实体、构造体相关语句,将端口定义为标准逻辑型数据结构(本题10分)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; (2) ENTITY nand2 ISPORT (a ,b:IN STD_LOGIC; (4) y:OUT STD_LOGIC); (6) END nand2;ARCHITECTURE nand2_1 OF nand2 IS (8) BEGINy <= a NAND b; --与y <=NOT( a AND b);等价 (10) END nand2_1;3、根据下表填写完成一个3-8线译码器的VHDL 程序(16分)。
&a byLIBRARY 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)); (2)END decoder_3_to_8;ARCHITECTURE rtl OF decoder_3_to_8 ISSIGNAL indata:STD_LOGIC_VECTOR (2 DOWNTO 0); (4)BEGINindata <= c & b & a; (6)PROCESS (indata,g1,g2a,g2b)BEGINIF (g1 = '1' AND g2a = '0' AND g2b = '0' ) THEN (8)CASE indata ISWHEN "000"=> y <= "11111110";WHEN "001" => y <= "11111101";WHEN "010" => y <= "11111011"; (10)WHEN "011" => y <= "11110111";WHEN "100" => y <= "11101111";WHEN "101" => y <= "11011111";WHEN "110" => y <= "10111111"; (12)WHEN "111" => y <= "01111111";WHEN OTHERS=> y <= "XXXXXXXX";END CASE;ELSEy <= "11111111"; (14)END IF;END PROCESS; (16)END rtl;4、三态门电原理图如右图所示,真值表如左图所示,请完成其VHDL程序构造体部分。
(本题14分)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY tri_gate ISPORT(din,en:IN STD_LOGIC;dout : OUT STD_LOGIC);END tri_gate ;ARCHITECTURE zas OF tri_gate ISBEGINPROCESS (din,en)BEGINIF (en=‘1') THEN dout <= din;ELSE dout <= ‘Z’;END IF;END PROCESS ;END zas ;2008/2009 学年第一学期末考试试题答案及评分标准(A卷)一、填空题(20分,每空格1分)1、试举出两种可编程逻辑器件 CPLD 、 FPGA 。