完整word版,VHDL期末考试题
vhdl期末考试复习题大全 (2)

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语句之前。
(完整word版)EDA技术与VHDL考试试题

杭州电子科技大学2005年EDA技术与VHDL考试试题考试课程EDA技术与VHDL 考试日期年月日成绩课程号B0405010 教师号任课教师姓名曾毓考生姓名学号(8位)年级专业一、单项选择题:(20分)1.大规模可编程器件主要有FPGA、CPLD两类,下列对CPLD结构与工作原理的描述中,正确的是_______。
A. CPLD是基于查找表结构的可编程逻辑器件;B. CPLD即是现场可编程逻辑器件的英文简称;C. 早期的CPLD是从GAL的结构扩展而来;D. 在Xilinx公司生产的器件中,XC9500系列属CPLD结构;2.综合是EDA设计流程的关键步骤,综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;在下面对综合的描述中,_________是正确的。
A. 综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件;B. 综合是纯软件的转换过程,与器件硬件结构无关;C. 为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为强制综合。
D. 综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的;3.IP核在EDA技术和开发中具有十分重要的地位,IP分软IP、固IP、硬IP;下列所描述的IP核中,对于硬IP的正确描述为__________。
A. 提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路;B. 提供设计的最总产品----模型库;C. 以网表文件的形式提交用户,完成了综合的功能块;D. 都不是。
4.基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入→________→综合→适配→__________→编程下载→硬件测试。
①功能仿真②时序仿真③逻辑综合④配置⑤引脚锁定A.③① B. ⑤② C.④⑤ D. ①②5.下面对利用原理图输入设计方法进行数字电路系统设计,那一种说法是不正确的______。
VHDL考试试题(1)

一、填空题(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期末考试复习题大全

VHDL 复习一.问答题一.问答题1信号赋值语句在什么情况下作为并行语句?在什么情况下作顺序语句?信号赋值和变量赋值符号分别是什么?两种赋值符号有什么区别?赋值符号分别是什么?两种赋值符号有什么区别?l 信号赋值语句在进程外作并行语句,并发执行,与语句所处的位置无关。
信号赋值语句在进程内或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。
语句在进程内或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。
l 信号赋值符号为“<=”变量赋值用变量赋值用““:=”。
信号赋值符号用于信号赋值动作,信号赋值符号用于信号赋值动作,不立不立即生效。
变量,赋值符号用于变量赋值动作,立即生效。
即生效。
变量,赋值符号用于变量赋值动作,立即生效。
2进程的敏感信号表指的是什么?简述敏感信号表在进程中的作用?进程的敏感信号表指的是什么?简述敏感信号表在进程中的作用?l 进程的“敏感信号表”也称敏感表,是进程的激活条件,可由一个或多个信号组成,各信号间以“,”号分隔。
当敏感信号表中的任一个信号有事件发生,即发生任意变化,此时,进程被激活,进程中的语句将从上到下逐句执行一遍,当最后一条语句执行完毕之后,进程即进入等待挂起状态,直到下一次敏感表中的信号有事件发生,进程再次被激活,如此循环往复。
件发生,进程再次被激活,如此循环往复。
3什么是库、程序包、子程序、过程调用和函数调用?什么是库、程序包、子程序、过程调用和函数调用?l 库和程序包用来描述和保存元件、类型说明和子程序等,以便在其它设计中通过其目录可查询、调用。
子程序由过程和函数组成。
在子程序调用过程中,过程能返回多个变量,多个变量,函数只能返回一个变量。
函数只能返回一个变量。
函数只能返回一个变量。
若子程序调用的是一个过程,若子程序调用的是一个过程,若子程序调用的是一个过程,就称为过程调用,就称为过程调用,若子程序调用的是一个函数,则称为函数调用。
过程调用、函数调用都是子程序调用。
vhdl期末考试题库及答案

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)的重要性。
(完整word版)EDA技术与VHDL考试试题

杭州电子科技大学 2005 年 EDA 技术与 VHDL 考试试题1. 大规模可编程器件主要有 FPGA 、CPLD 两类,下列对 CPLD 结构与工作原理的 描述中,正确的是 ________ 。
A. CPLD 是基于 查找表结构的可编程逻辑器件;B. CPLD 即是现场可编程逻辑器件的英文简称;C. 早期的 CPLD 是从 GAL 的结构扩展而来;D. 在 Xilinx 公司生产的器件中, XC9500 系列属 CPLD 结构;2. 综合是 EDA 设计流程的关键步骤,综合就是把抽象设计层次中的一种表示转化 成另一种表示的过程;在下面对综合的描述中, ______________ 是正确的。
A. 综合就是将电路的高级语言转化成低级的,可与 FPGA / CPLD 的基本结构相映射 的网表文件;B. 综合是纯软件的转换过程,与器件硬件结构无关;C. 为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为强制综合。
D.综合可理解为, 将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的; 3. IP 核在EDA 技术和开发中具有十分重要的地位,IP 分软IP 、固IP 、硬IP ;下列所描述的 IP 核中,对于硬 IP 的正确描述为 ____________ 。
A. 提供用 VHDL 等硬件描述语言描述的功能块, 但不涉及实现该功能块的具体电路;B. 提供设计的最总产品 --- 模型库;C. 以网表文件的形式提交用户,完成了综合的功能块;D. 都不是。
4.基于EDA 软件的FPGA / CPLD 设计流程为:原理图/HDL 文本输入 宀 ______________ 宀综合T 适配T ___________ 严 编程下载T 硬件测试。
① 功能仿真 ②时序仿真③逻辑综合 ④配置⑤引脚锁定A . ③ ①B. ⑤ ②C. ④ ⑤D. ①② 5. 下面对利用原理图输入设计方法进行数字电路系统设计,那一种说法是不正确的 ______ 。
VHDL期末考试卷

component dff
port(d:in std_logic;
clk:in std_logic;
q:out std_logic);
end component;
第1页(共2页)
signal q_temp:std_logic_vector(4 downto 1);
5.过程调用语句有两种方式:____________和_____________。
6.函数参数(形参)的数据类型只能是_______和________;参数的端口模式只能是_____。
7. VHDL中的重载有两种:_____________和______________。
8. clk的下降沿描述方法为:_________________________。
一、填空题:(每题1分,共20分)
1.在std_logic类型中,_____、_____和_____三种值不能够被综合所支持。
2. MOD和REM运算只能够用于________类型数据的运算。
3.变量是一种局部量,只能在______语句、_____语句以及_______语句中的说明部分进行说明。
4.在结构体中,并行处理语句包括5种:__________、__________、__________、__________、__________。
END display_decoder;
3.编写异步置位/复位的D触发器程序。要求S为置位端(低电平有效),R为复位端(低电平有效),CP为时钟脉冲(上升沿有效),Q和QB为输出。(15分)
第2页(共2页)
二、简答题:(每题5分,共20分)
1.在VHDL中,一个设计实体由哪几部分组成?其中哪些是必须的?
VHDL期末复习资料

一、填空题(根据题意,将下列各题的正确答案填写在对应小题内的“”处,每空1.5分,)1.基于EDA技术的电子系统设计采用的是的方法。
2. 时序仿真是在设计输入完成之后,选择具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为。
3. 图形文件设计结束后一定要通过,检查设计文件是否正确。
4. 一个实用的vhdl程序一般由、和组成。
5.实体的端口定义包括、和。
6. VHDL的操作符包括、、和四类。
7. 在VHDL中,标准逻辑类型数据有种逻辑值。
8.在一个实体的端口方向说明时,输入使用in表示,那么结构体内部不能再使用的输出是用表示;双向端口是用表示;结构体内部可再次使用的输出是用表示。
9.VHDL的短标识符名必须以,后跟若干字母、数字或单个下划线构成,但最后不能为。
10. vhdl的数据对象包括、、、和它们用来存放各种类型数据。
11.在VHDL的端口声明语句中,端口方向包括、、和。
12. 进程process在仿真运行中,只能处于和两种状态。
13. VHDL的结构体用来描述实体的和,它由VHDL语句构成,是外界看不到的部分。
14.CLK下降沿描述语句为:。
15. VHDL的实体声明部分指定了设计单元的或它是设计实体对外的一个通信界面,是外界可以看到的部分。
16. 在VHDL中最常用的库是标准库,最常用的数据包是数据包。
17. 过程调用的两种方法为和。
18. 一个完整的VHDL语言程序通常包含、、、和。
19. 和是设计实体的基本组成部分,它们可以构成最基本的VHDL程序。
20. VHDL语言的两大基本语句是和。
21. 根据VHDL语法规则,在VHDL程序中使用的文字、数据对象、数据类型都需要。
22. 逻辑综合中,信号赋值符号是,变量的赋值符号。
23. 在VHDL中,的数据传输是立即发生的,不存在任何延时的行为。
24. 进程process后面括号里面的称为。
25. 在std_logic类型中,_ ____、_ ____和_ ____三种值不能够被综合所支持。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.结构体的三种描述方式:-行为描述-数据流描述-结构化描述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.、GAL、PLA、PAL(早期):基于乘机项技术构造的可编程逻辑器件,不需要配置外部程序寄存芯片FPGA(现场可编程门阵列):基于查找表技术构造的可编程逻辑器件,需要配置外部程序寄存芯片15.VHDL客体或数据对象:常量、信号、变量(可被多次赋值)、文件。
16.一个VHDL程序中可以使用多个进程process语句,一个设计实体可以拥有多个结构体。
17.VHDL的预算操作包括:逻辑运算符、关系运算符、乘法运算符(优先级<<<)逻辑运算符、关系运算符、加减并置运算符、正负运算符、乘法运算符、18.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.表示‘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分)。
LIBRARY 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;2.二选一VHDL程序Entity mux isport(d0,d1,sel:in bit;q:out BIT );end mux;architecture connect of MUX issignal tmp1, TMP2 ,tmp3:bit;begincale:blockbegintmp1<=d0 and sel;tmp2<=d1 and (not sel)tmp3<= tmp1 and tmp2;q <= tmp3;end block cale;end CONNECT;2.2二选一IF语句编写Entity sel2 isPort (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程序构造体部分。