山西大同大学EDA技术复习题.docx
《山西大同大学EDA技术复习题.docx》由会员分享,可在线阅读,更多相关《山西大同大学EDA技术复习题.docx(69页珍藏版)》请在冰豆网上搜索。
![山西大同大学EDA技术复习题.docx](https://file1.bdocx.com/fileroot1/2023-3/31/528a4ae7-4bc5-458c-ab15-dc2e688e920c/528a4ae7-4bc5-458c-ab15-dc2e688e920c1.gif)
山西大同大学EDA技术复习题
一、选择题:
1、以下关于信号和变量的描述中错误的是()
A.信号是描述硬件系统的基本数据对象,它的性质类似于连接线
B.信号的定义范围是结构体、进程
C.除了没有方向说明以外,信号与实体的端口概念是一致的
D.在进程中不能将变量列入敏感信号列表中
2、以下关于状态机的描述中正确的是()
A.Moore型状态机其输出是当前状态和所有输入的函数
B.与Moore型状态机相比,Mealy型的输出变化要领先一个时钟周期
C.Mealy型状态机其输出是当前状态的函数
D.以上都不对
3、下列标识符中,()是不合法的标识符。
A.PP0
B.END
C.Not_Ack
D.sig
4、大规模可编程器件主要有FPGA、CPLD两类,下列对CPLD结构与工作原理的描述中,正确的是()。
A.CPLD即是现场可编程逻辑器件的英文简称
B.CPLD是基于查找表结构的可编程逻辑器件
C.早期的CPLD是从GAL的结构扩展而来
D.在Altera公司生产的器件中,FLEX10K系列属CPLD结构
5、综合是EDA设计流程的关键步骤,在下面对综合的描述中,()是错误的。
A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程
B.综合就是将电路的高级语言转化成低级的,可与FPGA/CPLD的基本结构相映射的网表文件
C.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束
D.综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)
6、嵌套使用IF语句,其综合结果可实现()。
A.带优先级且条件相与的逻辑电路
B.条件相或的逻辑电路
C.三态控制电路
D.双向控制电路
7、在VHDL语言中,下列对时钟边沿检测描述中,错误的是()。
A.ifclk'eventandclk=‘1’then
B.iffalling_edge(clk)then
C.ifclk’eventandclk=‘0’then
D.ifclk’stableandnotclk=‘1’then
8、下列那个流程是正确的基于EDA软件的FPGA/CPLD设计流程
A.原理图/HDL文本输入→适配→综合→功能仿真→编程下载→硬件测试
B.原理图/HDL文本输入→功能仿真→综合→适配→编程下载→硬件测试
C.原理图/HDL文本输入→功能仿真→综合→编程下载→→适配硬件测试;
D.原理图/HDL文本输入→功能仿真→适配→编程下载→综合→硬件测试
9、在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,正确的是()。
A.PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动
B.敏感信号参数表中,应列出进程中使用的所有输入信号
C.进程由说明部分、结构体部分、和敏感信号参数表三部分组成
D.当前进程中声明的变量也可用于其他进程
10、下列语句中,不属于并行语句的是()
A.进程语句
B.CASE语句
C.元件例化语句
D.WHEN…ELSE…语句
11、VHDL语言共支持四种常用库,其中哪种库是用户的VHDL设计现行工作库()
A.IEEE库
B.VITAL库
C.STD库
D.WORK库
12、VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述()。
A.器件外部特性
B.器件的综合约束
C.器件外部特性与内部功能
D.器件的内部功能
13、嵌套的IF语句,其综合结果可实现()。
A.条件相与的逻辑
B.条件相或的逻辑
C.条件相异或的逻辑
D.三态控制电路
14、在一个VHDL设计中,idata是一个信号,数据类型为std_logic_vector,试指出下面那个赋值语句是错误的。
A.idata<=“00001111”;
B.idata<=b”0000_1111”;
C.idata<=X”AB”;
D.idata<=B”21”;
15、在VHDL语言中,下列对时钟边沿检测描述中,错误的是()。
A.ifclk’eventandclk=‘1’then
B.iffalling_edge(clk)then
C.ifclk’eventandclk=‘0’then
D.ifclk’stableandnotclk=‘1’then
16、请指出AlteraCyclone系列中的EP1C6Q240C8这个器件是属于()
A.ROM
B.CPLD
C.FPGA
D.GAL
17、综合是EDA设计流程的关键步骤,在下面对综合的描述中,()是错误的。
A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;
B.综合就是将电路的高级语言转化成低级的,可与FPGA/CPLD的基本结构相映射的网表文件;
C.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束;
D.综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)。
18、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是()。
A.FPGA是基于乘积项结构的可编程逻辑器件;
B.FPGA是全称为复杂可编程逻辑器件;
C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置;
D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。
19、进程中的变量赋值语句,其变量更新是()。
A.立即完成;
B.按顺序完成;
C.在进程的最后完成;
D.都不对。
20、VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述()。
A.器件外部特性;
B.器件的综合约束;
C.器件外部特性与内部功能;
D.器件的内部功能。
21、不完整的IF语句,其综合结果可实现()。
A.时序逻辑电路
B.组合逻辑电路
C.双向电路
D.三态控制电路
22、下列标识符中,()是不合法的标识符。
A.State0
B.9moon
C.Not_Ack_0
D.signall
23、关于VHDL中的数字,请找出以下数字中最大的一个:
()。
A.2#1111_1110#
B.8#276#
C.10#170#
D.16#E#E1
24、在VHDL中,用语句()表示检测clock的下升沿
A.clock'EVENT
B.clock'EVENTANDclock='1'
C.clock='1'
D.clock'EVENTANDclock='0'
25、在VHDL中,语句“FORnIN0TO7LOOP”定义循环次数为()次
A.1
B.7
C.16
D.8
26、在VHDL中,IF语句中至少应有1个条件句,条件句必须由()表达式构成。
A.BOOLEAN
B.STD_LOGIC
C.BIT
D.任意
27、在VHDL中,为目标信号的赋值符号是()。
A.<=
B.=
C.:
=
D.=:
28、在VHDL的端口声明语句中,用()声明端口为输出方向。
A.IN
B.OUT
C.INOUT
D.BUFFER
29、在VHDL的端口声明语句中,用()声明端口为输入方向。
A.IN
B.OUT
C.INOUT
D.BUFFER
30、在VHDL中,()的数据传输是立即发生的,不存在任何延时的行为。
A.数据
B.变量
C.信号
D.常量
31、在VHDL的IEEE标准库中,预定义的标准逻辑位数据STD_LOGIC有()种逻辑值。
A.3
B.8
C.2
D.9
32、在VHDL的FOR_LOOP语句中的循环变量是一个临时变量,属于LOOP语句的局部变量,()事先声明。
A.必须
B.不必
C.其类型要
D.其属性要
33、在VHDL的并行语句之间,可以用()来传送往来消息。
A.变量
B.变量和信号
C.信号
D.常量
34、在VHDL中用()来把特定的结构体关联一个确定的实体,为一个大型系统的设计提供管理和进行工程组织。
A.输入
B.输出
C.综合
D.配置
35、在VHDL中,45_234_278属于()文字。
A.整数
B.以数制基数表示的
C.实数
D.物理量
36、在VHDL中,88_670.551_278属于()文字。
A.整数
B.以数制基数表示的
C.实数
D.物理量
37、在VHDL中,16#FE#属于()文字。
A.整数
B.以数制基数表示的
C.实数
D.物理量
38、在VHDL中,100m属于()文字。
A.整数
B.以数制基数表示的
C.实数
D.物理量
39、在下列标识符中,()是VHDL合法的标识符。
A.4h_adde
B.h_adde
C.h_adder
D._h_adde
40、在下列标识符中,()是VHDL错误的标识符。
A.4h_adde
B.h_adde4
C.h_adder_4
D.h_adde
41、在VHDL中,()不能将信息带出对它定义的当前设计单元。
A.信号
B.常量
C.数据
D.变量
42、在VHDL中,()的数据传输是立即发生的,不存在任何延时的行为。
A.信号
B.常量
C.数据
D.变量
43、在VHDL中,()的数据传输是不是立即发生的,目标信号的赋值需要一定的延时时间。
A.信号
B.常量
C.数据
D.变量
44、在VHDL中,定义信号名时,可以用()符号为信号赋初值。
A.<=
B.=
C.:
=
D.=:
45、在VHDL的IEEE标准库中,预定义的标准逻辑位STD_LOGIC的数据类型中的数据是用()表示的。
A.小写字母
B.大写字母
C.大或小写字母
D.全部是数字
二、填空题
1、下列是EDA技术应用时涉及的步骤:
A.原理图/HDL文本输入;B.适配;C.时序仿真;D.编程下载;E.硬件测试;F.综合
请选择合适的项构成基于EDA软件的FPGA/CPLD设计流程:
A→___F__→__B_→_C__→D→_E_
2、下列优化方法中那两种是速度优化方法:
__B_、__D__
A.资源共享B.流水线C.串行化D.关键路径优化
3、传统的系统硬件设计方法采用自底向上设计方法,硬件描述语言设计方法采用自顶向下设计方法
4、VHDL的主要五部分构件是:
库、包、实体、结构体以及配置。
5、构造体描述方式分为:
行为描述、寄存器传输(RTL)描述方法或称数据流和结构描述。
6、数据对象(DATAOBJECTS)主要包括信号(SIGNAL)、变量(VARIABLE)和常量(CONSTANT),它们是用来存放各种类型数据的容器。
7、在VHDL中最常用的库是IEEE标准库,最常用的程序包是STD_LOGIC_1164程序包。
8、VHDL的实体由实体声明部分和结构体组成。
9、VHDL中四类操作符分别是逻辑操作符(LogicalOperator)、关系操作符(RelationalOperator)、算术操作符(ArithmeticOperator)和符号操作符(SignOperator)。
10、VHDL的7种基本逻辑操作符,它们是与(AND)、或(OR)、与非(NAND)、或非(NOR)、异或(XOR)、异或非(XNOR)和非(NOT)。
11、实体和结构体是设计实体的基本组成部分,它们可以构成最基本的VHDL程序。
12、在VHDL的端口声明语句中,端口方向包括IN(输入)、OUT(输出)、INOUT(双向)和BUFFER(缓冲)。
13、VHDL的标识符名必须以字母开头,后跟若干字母、数字或单个下划线构成,但最后不能为下划线。
14、为信号赋初值的符号是:
=;程序中,为变量赋值的符号是:
=,为信号赋值的符号是<=
15、VHDL的数据类型包括标量类型、复合类型、存储类型和文件类型。
16、在VHDL中,标准逻辑位数据有九种逻辑值。
17、VHDL的操作符包括逻辑、算术、关系和并置四类。
18、一个完整的VHDL语言程序通常包含库(library)、包集合(package)、实体(entity)、构造体(architecture)和配置各部分。
19、在一个实体的端口方向说明时,输入使用in表示,那么构造体内部不能再使用的输出是用out表示;双向端口是用inout表示;构造体内部可再次使用的输出是用buffer表示;
20、定义一个信号a,数据类型为4位标准逻辑向量signala:
std_logic_vector(3downto0)定义一个变量b,数据类型为2位位向量variableb:
bit_vector(1downto0)。
21、<=是小于等于关系运算符,又是赋值运算操作符。
22、VHDL语言中std_logic类型取值‘Z’表示高阻,取值‘X’表示不确定。
23、整型对象的范围约束通常用range关键词,位矢量用downto/to关键词。
24、位类型的初始化采用字符、位矢量用字符串。
25、进程必须位于结构体内部,变量必须定义于进程/包/子程序内部。
26、并置运算符&的功能是把多个位或位向量合并为一个位向量。
27、进程执行的机制是敏感信号发生跳变。
28、判断CLK信号上升沿到达的语句是ifclk’eventandclk=‘1’then.
29、任何时序电路都以时钟为驱动信号,时序电路只是在时钟信号的边沿到来时,其状态才发生改变。
30、Moore状态机输出只依赖于器件的当前状态,与输入信号无关。
31、赋值语句是(并行/串行)并行执行的,if语句是(并行/串行)串行执行的。
三、判断题
1、判断下列VHDL标识符是否合法,如有错指出原因
A.16#0FA#()√
B.10#12F#()√
C.8#789#()√
D.74HC245()
E.D100%()×
F.SIG-1N()×
G.NOT_#M()×
H.DATA_BUS_()×
I.RETURN()×
J.STATE0()√
2、传统的系统硬件设计方法是采用自上而下(topdown)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自下而上(bottomup)的设计方法。
(×)
传统的系统硬件设计方法是采用自下而上(bottomup)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自上而下(topdown)的设计方法
3、VHDL可以采用层次化的设计,一个高层的结构体中可以调用低层的实体(√)
4、一个VHAL程序中仅能使用一个进程(process)语句。
(×)
可以使用多个进程语句。
5、VHDL语言的预算操作包括了逻辑运算符、关系运算符、乘法运算符等,它们三者的优先级是相同的。
(×)
逻辑运算符<关系运算符<乘法运算
6、进程语句中,不管在何时,process语句后面必须列出敏感信号(×)
包含wait语句的进程语句可不列出敏感信号。
7、在结构体中定义一个全局变量(VARIABLES),可以在所有进程中使用。
(×)
“变量(VARIABLES)”改为“信号”。
四、EDA名词解释
1、ASIC:
专用集成电路(ApplicationSpecificIntegratedCircuits)
2、EDA:
电子设计自动化(ElectronicDesignAutomation)
3、PROM:
可编程只读存储器(ProgrammableReadMemory)
4、IP:
知识产权核()
5、SOC:
片上系统(SystemOnChip)
6、VHDL:
超高速集成电路硬件描述语言(VHSICHardwareDescriptionLanguage)。
7、RTL:
寄存器传输级(RegisterTransportLevel)
8、SOPC:
可编程片上系统(SystemOnProgrammableChip)
9、PLD:
可编程逻辑器件(ProgrammableLogicArray)
10、GAL:
通用阵列逻辑(GeniricArrayLogic)
11、FPGA:
现场可编程门阵列(FieldProgrammableGateArray)
12、CPLD:
复杂可编程逻辑器件(ComplexProgrammableLogicDevice)
五、简答题
1、简述VHDL程序的基本结构。
库、程序包、实体、结构体、配置
2、子程序分为那两类,其结构为什么。
子程序有两种类型,即过程(PROCEDURE)和函数(FUNCTION)。
FUNCTION函数名(参数表)RETURN数据类型--函数首
FUNCTION函数名(参数表)RETURN数据类型IS--函数体
[说明部分]
BEGIN
顺序语句;
ENDFUNCTION函数名;
PROCEDURE过程名(参数表)--过程首
PROCEDURE过程名(参数表)IS--过程体
[说明部分]
BIGIN
顺序语句;
ENDPROCEDURE过程名;
3、信号与变量的赋值有何区别?
。
信号延时赋值,变量立即赋值;
信号的代入使用<=,变量的代入使用:
=;
信号在实际的硬件当中有对应的连线,变量没有
4、可编程器件分为哪些类?
答:
一类是集成度较低的,早期出现的PROM、PLD、PAL、GAL,可用的逻辑门数大约在500门以下,称为简单PLD。
另一类是芯片集成度较高的,如现在大量使用的CPLD和FPGA器件,称为复杂PLD。
5、CASE语句使用当中的注意事项。
(1)条件句中的选择值必在表达式的取值范围内。
(2)除非所有条件句中的选择值能完整覆盖CASE语句中表达式的取值,否则最末一个条件句中的选择必须用"OTHERS”表示,它代表己给的所有条件句中未能列出的其它可能的取值。
关键词OTHERS只能出现一次,目只能作为最后一种条件取值。
使用OTHERS的目的是为了使条件句中的所有选择值能涵盖表达式的所有取值,以免综合器会插入不必要的锁存器。
这一点对于定义为STD_LOGIC和STD_LOGIC_VECTOR数据类型的值尤为重要,因为这些数据对象的取值除了1和0以外,还可能有其它的取值,如高阻态Z、不定态X等。
(3)CASE语句中每一条件句的选择值只能出现一次,不能有相同选择值的条件语句出现。
(4)CASE语句执行中必须选中,目只能选中所列条件语句中的一条。
这表明CASE语句中至少要包含一个条件语句。
6、赋值语句分哪些类,分别写出一句赋值语句。
信号赋值语句,S<=
变量赋值语句,V≔
7、数据对象有哪些种,分别写出定义这些数据对象的一般表述格式。
Constant(常量)在程序中不可以被赋值
Variable(变量)在程序中可以被赋值(用“:
=”),赋值后立即变化为新值。
Signal(信号)在程序中可以被赋值(用“<=”),但不立即更新,当进程挂起后,才开始更新。
8、简述进程语句的使用要点?
[进程名:
]
process[(触发信号列表)]
[定义语句;]
begin
[串行处理语句sequentialstatement;]
endprocess
PROCESS...ENDPROCESS
9、写出VHDL常用的顺序语句的名称。
赋值语句
流程控制语句
等待语句
子程序调用语句
返回语句
空操作语句
10、VHDL语言中的逻辑操作符有那些?
逻辑运算符AND、OR、NAND、NOR、XOR、XNOR及NOT
11、使用原理图输入设计功能的优势何优点?
与传统的数字电路实验相比,Quartus提供原理图设计功能具有不可比拟的优势和先进性:
设计者不必具备许多诸如编程技术、硬件描述语言等知识就能迅速设计入门,完成大规模的电路系统设计
能进行任意层次的数字系统设计(传统的数字电路实验只能完成单一层次的设计);
能对系统中的任一层次,或任一元件的功能进行精确的时序仿真
通过时序仿真,能迅速定位电路系统的错误所在,并随时纠正。
能对设计方案进行随时更改,并储存设计工程中所有电路和测试文件入档;
通过编译和下载,能在FPGA或CPLD上对设计项目随时进行硬件测试验证;
如果使用FPGA和配置编程方式,将不会有损坏和损耗的问题
符合现代电子设计技术规范。
12、VHDL的操作符有那几大类?
每一类的操作符分别是什么?
每一类操作符可以对那些数据进行操作(运算)?
在VHDL中有四类操作符即逻辑操作符(LogicalOperator)、关系操作符(RelationalOperator)、算术操作符(ArithmeticOperator)和符号操作符(SignOperator)。
前三类操作符是完成逻辑和算术运算的最基本的操作符单元。
13、标准逻辑位数据类型常用的数值有哪几种?
'U'--Uninitialized未初始化的
'X'--ForcingUnknown强未知的
'0'--Forcing0强0
'1'--Forcing1强1
'Z'--HighImpedance高阻态
'W'--WeakUnknown弱未知的
'L'--Weak0弱0
'H'--Weak1弱1
'-'--Don'tcare忽略
14、在VHDL语言中常见的数据类型有那些?
VHDL中的数据类型可以分