数字电路EDA设计与应用期末总复习题.docx
《数字电路EDA设计与应用期末总复习题.docx》由会员分享,可在线阅读,更多相关《数字电路EDA设计与应用期末总复习题.docx(53页珍藏版)》请在冰豆网上搜索。
![数字电路EDA设计与应用期末总复习题.docx](https://file1.bdocx.com/fileroot1/2022-11/23/dc8c41b8-7169-44c9-ab04-05664b9610c2/dc8c41b8-7169-44c9-ab04-05664b9610c21.gif)
数字电路EDA设计与应用期末总复习题
考试时间:
90分钟
题型:
一、单项选择2分*10=20分
二、程序判断改错题5分*4=20分
三、程序题20分*3=60分
复习重点:
1、EDA、VHDL的中英文名称。
2、标识符规则,文法规则
3、数据对象(重点常量、变量、信号)
4、数据类型(标准预定义数据类型,IEEE预定义标准逻辑位类型)
5、运算符(连接运算符,逻辑运算符等)
6、VHDL程序的基本结构:
完整的VHDL程序包含的五个部分,重点:
实体,端口说明,结构体,进程,子程序(过程和函数);常用的库和程序包。
7、顺序语句,顺序语句的特点,IF语句,CASE语句
8、并行语句,条件信号赋值语句,选择信号赋值语句,COMPONENT语句,元件例化语句,
9、程序设计题:
加法器,译码器,数据选择器,计数器,分频器,数码管显示。
一、填空题(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。
15、VHDL语言中std_logic类型取值‘Z’表示高阻,取值‘X’表示不确定。
16、位类型的初始化采用(字符/字符串)字符、位矢量用字符串。
17、进程必须位于结构体内部,变量必须定义于进程/包/子程序内部。
18、并置运算符&的功能是把多个位或位向量合并为一个位向量。
19、进程执行的机制是敏感信号发生跳变。
20、判断CLK信号上升沿到达的语句是ifclk’eventandclk=‘1’then.
21、IF语句各条件间具有不同的优先级。
22、VHDL是否区分大小写?
不区分。
23、digital__8标识符合法吗?
不合法。
12_bit标识符合法吗?
不合法。
signal标识符合法吗?
不合法。
24、结构体有三种描述方式,分别是数据流、行为、
和结构化。
25、请分别列举一个常用的库和程序包libraryieee、useieee.std_logic_1164.all。
26、一个信号处于高阻(三态)时的值在VHDL中描述为‘Z’。
27、/=是不相等操作符,功能是在条件判断是判断操作符两端不相等。
28、设D0为'0',D1为'1',D2为'1',D3为'0',D3&D2&D1&D0的运算结果是
“0110”,(D3orD2)and(D1andnotD0)的运算结果是:
‘1’。
29、赋值语句是(并行/串行)并行执行的,if语句是(并行/串行)串行执行的。
30、8digital标识符合法吗?
不合法。
31、信号的代入通常用<=,变量用:
=。
32、标准逻辑(std_logic)是一个具有九值逻辑的数据类型。
33、定义一个变量a,数据类型为4位位向量variablea:
bit_vector(3downto0)。
34、<=是小于等于关系运算符,又是赋值运算操作符。
35、设D0为'1',D1为'1',D2为'1',D3为'0',“1110”是D3&D2&D1&D0的运算结果。
36、IF语句根据指定的条件来确定语句执行顺序,共有3种类型:
用于门闩控制的IF语句、用于二选一控制的IF语句、用于多选择控制的IF语句。
二、判断对错并给出判断依据(20分,每小题5分,判断对错2分,给出正确答案3分)
1、传统的系统硬件设计方法是采用自上而下(topdown)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自下而上(bottomup)的设计方法。
(×)
传统的系统硬件设计方法是采用自下而上(bottomup)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自上而下(topdown)的设计方法
2、VHDL可以采用层次化的设计,一个高层的结构体中可以调用低层的实体(√)
3、一个VHAL程序中仅能使用一个进程(process)语句。
(×)
可以使用多个进程语句。
4、VHDL语言的预算操作包括了逻辑运算符、关系运算符、乘法运算符等,它们三者的优先级是相同的。
(×)
逻辑运算符<关系运算符<乘法运算
5、进程语句中,不管在何时,process语句后面必须列出敏感信号(×)
包含wait语句的进程语句可不列出敏感信号。
6、VHDL语言与计算机C语言的没有差别。
(×)
7、在结构体中定义一个全局变量(VARIABLES),可以在所有进程中使用。
(×)
“变量(VARIABLES)”改为“信号”。
8、CONSTANTT2:
std_logic<=’0’;(×)改正:
把<=换为:
=。
9、若某变量被定义为数值型变量,未赋初始值时默认值为‘0’。
(错)改正:
把‘0’的单引号去掉。
10、在结构体中定义一个全局变量(VARIABLES),可以在所有进程中使用。
(错)改正:
“变量(VARIABLES)”改为“信号”。
libraryieee;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
以上库和程序包语句有无错误?
有,有的话请在原程序相应位置改正。
(2)
entityromis
port(
addr:
instd_logic_vector(0to3);
ce:
instd_logic;
data:
outstd_logic_vector(7downto0);
)
endrom;
以上port语句有无错误?
有,有的话请在原程序相应位置改正。
(4)
三、简答(20分,每小题5分)
1、简述VHDL程序的基本结构。
库
(1)libraryieee;
程序包
(2)useieeestd_logic_1164.all;
实体(3)entity实体名is
结构体(5)architecture结构体名of实体名is若答出配置也可加1分
配置
2、简述信号与变量的区别。
信号延时赋值,变量立即赋值
(2)
信号的代入使用<=,变量的代入使用:
=;(4)
信号在实际的硬件当中有对应的连线,变量没有(5)
3、进程语句是设计人员描述结构体时使用最为频繁的语句,简述其特点。
●它可以与其它进程并发执行,并可存取结构体或实体中所定义的信号;
(1)
●进程结构中的所有语句都是按顺序执行的;
(2)
●为了启动进程,在进程结构中必须包含一个显式的敏感信号量表或者包含一个wait语句;(4)
●进程之间的通信是通过信号量的传递来实现的。
(5)
四、编程题(共50分)
1、请补全以下二选一VHDL程序(本题10分)
Entitymuxis
port(d0,d1,sel:
inbit;
q:
outBIT);
(2)
endmux;
architectureconnectofMUXis(4)
signaltmp1,TMP2,tmp3:
bit;(6)
begin
cale:
block
begin
tmp1<=d0andsel;
tmp2<=d1and(notsel)
tmp3<=tmp1andtmp2;
q<=tmp3;(8)
endblockcale;
endCONNECT;(10)
2、用IF语句编写一个四选一电路,要求输入d0~d3,s为选择端,输出y。
(本题10分)
entityMUX4is
port(
s:
instd_logic_vector(1downto0);
d:
instd_logic_vector(3downto0);
y:
outstd_logic
);
endMUX4;(3)
architecturebehaveofMUX4is
begin
process(s)
begin
if(s="00")then
y<=d(0);(4)
elsif(s="01")then
y<=d
(1);(5)
elsif(s="10")then
y<=d
(2);(6)
elsif(s="11")then
y<=d(3);(7)
else
null;(9)
endif;
endprocess;
endbehave;(10)
《数字电路EDA设计》习题集
第一章、EDA技术概述
一、填空题
1、一般把EDA技术的发展分为 CAD 、 CAE 、 EDA (ESDA) 三个阶段。
2、EDA设计流程包括 设计准备 、 设计输入 、 设计处理 、 器件编程 四个步骤。
3、EDA的设计验证包括 功能仿真 、 时序仿真 、 器件测试 三个过程。
4、EDA的设计输入包括 文本输入 、 波形输入 、 图形输入 。
5、当前最流行的并成为IEEE标准的硬件描述语言包括 VHDL 和 VerilogHDL
。
6、将硬件描述语言转化为硬件电路的重要工具软件称为 HDL综合器 。
二、单项选择题
1、VHDL语言属于 B 描述语言。
A.普通硬件 B. 行为 C. 高级 D. 低级
2、基于硬件描述语言HDL的数字系统设计目前最常用的设计方法为 B
A. 自底向上 B.自顶向下 C. 积木式 D.顶层
3、在EDA工具中,能将硬件描述语言转化为硬件电路的重要工具软件称为 B
A.仿真器 B. 综合器 C. 适配器 D.下载器
4、在EDA工具中,能完成目标系统器件上布局软件称为 C
A.仿真器 B. 综合器 C. 适配器 D.下载器
第2章、大规模可编程逻辑器件
一、填空题
1、集成度是集成电路一项重要的指标,可编程逻辑器件按集成密度可分为 低密度可编程逻辑器件 和 高密度可编程逻辑器件 两类。
2、可编程逻辑器件的编程方式可分为 一次性可编程(OTP) 和 可多次编程(MTP) 两类。
3、基于EPROM、E2PROM和快闪存储器件的可编程器件,在系统断电后编程信息 不丢失 。
4、基于SRAM结构的可编程器件,在系统断电后编程信息 会丢失 。
5、CPLD器件中至少包括 可编程逻辑宏单元 、 可编程I/O单元 、 可编程内部连线 三种结构。
6、FPGA的三种可编程电路分别是 可编程逻辑块CLB 、 输入与输出模块IOB 、 互连资源 三种结构。
7、根据逻辑功能块的大小不同,可将FPGA分为 细粒度 和 粗粒度 两类;据FPGA内部连线结构的不同,可将FPGA分为 分段互连 和 连续互连 两类;据FPGA采用的开关元件不同,可将FPGA分为 一次编程 和 可重复编程 两类.
8、目前常见的可编程逻辑器件的编程和配置工艺包括基于 电可擦存储单元 E2PROM或Flash技术 、基于 SRAM查找表的编程单元 和基于 反熔丝编程单元 三种编程工艺。
二、 单项选择题
1、在下列可编程逻辑器件中,不属于高密度可编程逻辑器件的是 D
A.EPLD B.CPLD C. FPGA D. PAL
2、在下列可编程逻辑器件中,属于易失性器件的是 C
A.EPLD B.CPLD C. FPGA D. PAL
3、在自顶向下的设计过程中,描述器件总功能的模块一般称为 B
A.底层设计 B.顶层设计 C. 完整设计 D. 全面设计
4、边界扫描测试技术主要解决 C 的测试问题
A.印制电路板 B. 数字系统 C.芯片 D. 微处理器
三、 简答题
1、CPLD和FPGA有什么差异?
在实际应用中各有什么特点?
1、差异:
(1)CPLD:
复杂可编程逻辑器件,FPGA:
现场可变成门阵列;
(2)CPLD:
基于乘积项技术的确定型结构,FPGA:
基于查找表技术的统计型结构;(3)CPLD:
5500~50000门,FPGA:
1K~10M门。
实际应用中各自的特点:
CPLD适用于逻辑密集型中小规模电路,编程数据不丢失,延迟固定,时序稳定;FPGA适用于数据密集型大规模电路,需用专用的ROM进行数据配置,布线灵活,但时序特性不稳定
第3章、VHDL编程基础
一、填空题
1、VHDL设计实体的基本结构由 库 、 实体 、 结构体 、 程序包 和 配置 等部分组成。
2、 实体 和 结构体 是设计实体的基本组成部分,他们可以构成最基本的VHDL程序。
3、在VHDL的端口声明语句中,端口方向包括 in 、 out 、 buffer 和 inout 。
4、VHDL的数据对象包括 常数constant 、 变量variable 和 信号signal ,它们是用来存放各种类型数据的容器。
5、VHDL的操作符包括 逻辑操作符 、 关系操作符 、 算术操作符 和 符号操作符 。
6、VHDL的顺序语句只能出现在 进程process 、 函数function 和 过程procedure 中,是按照书写顺序自上而下,一条一条执行。
7、VHDL的进程(process)语句是由 顺序语句 组成的,但其本身却是 并行语句 。
二、单项选择题
1、一个实体可以拥有一个或多个 B
A. 设计实体 B.结构体 C. 输入 D.输出
2、在VHDL中用 D 来把特定的结构体关联到一个确定的实体。
A. 输入 B.输出 C. 综合 D.配置
3、在下列标识符中, C 是VHDL合法的标识符
A. 4h_add B.h_adde_ C. h_adder D._h_adde
4、在下列标识符中, A是VHDL错误的标识符
A. 4h_add B.h_adde4 C. h_adder_4 D.h_adde
5、在VHDL中为目标变量赋值符号为 C
A. = B.<= C. :
= D. =:
6、在VHDL语言中,用语句 B 表示检测到时钟clk的上升沿
A. clk’event B.clk’eventandclk=‘1’
C. clk=‘0’ D. clk’eventandclk=‘0’
7、在VHDL的并行语句之间中,只能用 C 来传送信息
A.变量 B. 变量和信号 C.信号 D. 常量
8、VHDL块语句是并行语句结构,它的内部是由 C 语句构成的
A.并行和顺序 B. 顺序 C.并行 D. 任何
9、若S1为”1010”,S2为”0101”,下面程序执行后,outValue输出结果为:
A 。
libraryieee;
useieee.std_logic_1164.all;
entityexis
port(S1:
instd_logic_vector(3downto0);
S2:
instd_logic_vector(0to3);
outValue:
outstd_logic_vector(3downto0));
Endex;
architecturertlofexis
begin
outValue(3downto0)<=(S1(2downto0)andnotS2(1to3))& (S1(3)xorS2(0));
endrtl;
A、“0101” B、“0100” C、“0001” D、“0000”
10、假设输入信号a=“6”,b=“E”,则以下程序执行后,c的值为 C 。
entitylogicis
port( a,b:
in std_logic_vector(3downto0);
c:
out std_logic_vector(7downto0));
endlogic;
architectureaoflogicis
begin
c(0)<=nota(0);
c(2downto1)<=a(2downto1) and b(2downto1);
c(3)<='1' xor b(3);
c(7downto4)<="1111"when(a
(2)=b
(2)) else "0000";
enda;
A “F8” B“FF” C“F7” D“0F”
三、判别下列程序的对错,并改正有错的程序
1、library ieee;
use ieee.std_logic_1164.all;
entitytestis
port(d,clk:
instd_logic;
q:
outstd_logic);