一. 填空题
1.术语CPLD表示什么意思?(a)
(a)复杂可编程逻辑器件;(b)组合可编程逻辑器件;(c)组合可编程局部器件。
2.术语FPGA表示(b).
(a)正规的可编程门阵列;(b)现场可编程门阵列;(c)有限可编程门阵列。
3.术语HDL代表 (a)
(a)硬件描述语言;(b)美元崇拜者;(c)硬件开发语言;(d)高级设计语言。 4.关于自上而下的EDA设计,选择所有正确的说法。(abcdef)
(a)可做到更好的资源分配;(b)使得每一个小的功能模块可以被单独仿真; (c)加速仿真;(d)使器件的行为建模更容易;(e)导致一个低功耗的设计;
(f)可在设计组的各成员之间有效地分割一个设计项目 5.测试的10/10规则是(C)。
(a)应该每10天测试10次。(b)对于设计的每个10%的部分应该进行10次测试。
(c)测试电路的规模不应超过整个电路规模的10%,而且设计和调试测试电路所占用的时间不应超过设计和调试原电路所用时间的10%。 6.术语“功能仿真”的含义是(a)
(a)仿真一个设计的功能如何,而不关心其定时;(b)仿真一个设计的功能等效性; (c)仿真设计所代表的精确功能;(d)仿真一个设计的功能和时间特性。
7.VHDL程序输入方法主要有(原理图输入法),(文本输入法)和(参数化宏功能块LPM设计法)
8.下列说法正确的是(a,c)
(a)进程的启动必须有敏感信号;(b)进程语句process必须有敏感信号列表;
(c)进程可以用wait语句启动;(d)进程中的语句顺序颠倒一下不会改变所描述电路的功能.
9.VHDL用于综合的数据类型主要有(标量)型、复合型和子类型,其中第一种类型包括所有的
简单类型如(整数型)、(实数型)、(枚举型)等. 10.VHDL中的数据对象有(信号)、(变量)、(常量)三种,端口属于(信号)。
11.下列有关时钟上升沿触发的描述正确的是(a,d,e)。
(a)clock’eventandclock=’1’;(b)notclock’stableandclock=’0’; (c)clock’event;(d)clock’eventand(clock’last_lalue=’0’);
(e)rising_edge(clock)。
12.下列有关时钟高电平触发的描述正确的是(a,b)。
(a)clock=’1’;(b)clock’eventand(clock=’1’);(c)rising_edge(clock)。
页脚内容1
汽车倒车防撞警报系统设计
13.有限状态机根据输出方式不同分为(moore)型和(mealy)型,其差别在于(moore型FSM
输出只与当前状态有关,而mealy型输出与当前状态和当前输入都有关.) 14.常用的设计库有(IEEE)、(STD)、(WORK)。其中(WORK等)是显式的,在编程时无需用(use)语句打开。
15、术语“时序仿真”表示什么意思?(a) 间;
(b)一种包括了定时延时的仿真;
(c)一个过程,它着眼于某个异步设计并调整所有处于临界的路径,以使得它们在一定的时间约
束范围以内。
16、对于下面的说法选择真或假:
(a)总线竞争能降低设计在其整个寿命时限范围内的可靠性。 (b)如果总线竞争不能全部消除,那也应该把它最小化。
17、对于下面的说法选择真或假: 总线。
18、综合软件的功能:
(a)将一个低级别的设计描述转换为一个功能上等效的高级别的设计描述;
(b)将一个用某一种HDL语言描述的设计转换为一个等效的用另一种HDL语言描述的设计;
(c)从一个设计描述中产生一组测试向量;
(d)从一个功能上等效的、高级别的设计描述中产生一个低级别的设计描述。 19、EDA设计输入方式主要包括(文本输入)、(图形输入)和(波形输入)三种。 20、EDA的设计验证包括(功能仿真)、(时序仿真)、(硬件测试)三个过程。 21、当前最流行并已成为IEEE标准的硬件描述语言包括(VHDL)和(VerilogHDL)。 22、将硬件描述语言转化为硬件电路的重要EDA软件称为(综合器)。
23、VHDL用于综合的数据类型主要有(标量)型、复合型和子类型,其中第一种类型包括所有
的简单类型如(整数型)、(实数型)、(枚举型)等。 24、VHDL中的数据对象有(信号)、(变量)、(常量)三种,端口属于(信号)。
25、QuartusII支持(图形)、(文本)、(波形)等不同源程序输入方式。
26、\\maxplus2\\max2lib\\prim是QuartusII的(基本)元件库,包括(门电路)、(触发器)、(输入)、(输出)、电源等基本元件。 27、\\maxplus2\\max2lib\\mf是Max+plusII的(老式宏函数)元件库,包括(加法器)、(编码器)、(译码器)、(计数器)、移位寄存器等74系列基本器件。 28、\\maxplus2\\max2lib\\mega_lpm是QuartusII的(参数可设置宏功能)元件库,包括参数可设置的(ROM)、(计数器)等元件。
(a)悬浮总线能产生信号噪声。(b)悬浮总线能引起额外的功率损耗。(c)应该在设计中避免悬浮(a)一个过程,它着眼于某个同步设计并确定其最高工作频率,该频率不违反任何建立和保持时
页脚内容2
汽车倒车防撞警报系统设计
29、VHDL的过程分为(过程首)和(过程体)两部分,调用前必须将它们装入(程序包)中。 30、VHDL的函数分为(函数首)和(函数体)两部分,调用前必须将它们装入(程序包)中。
31、在QuartusII集成环境下可以执行(creatsymbolfilesforcurrentfile)命令,为通过编
译的图形或文本文件产生一个元件符号,该元件符号可以被其它图形或文本文件(调用),以实现多层次的系统电路设计。
32、在初次安装QuartusII软件后的第一次对设计文件的编程下载时,需要选择的
ByteBlaster(MV)编程方式对应计算机的(并行或LPT)口作为编程下载通道,“MV”是(混合电压)的意思。
33、层次化设计是将一个大的设计项目分解为若干个子项目或若干个层次来完成、先从(底)
层的电路设计开始,然后在(高)层次的设计中逐级调用(低)层次的设计结果,直至完成系统设计。
34、VHDL设计实体的基本结构包括(库)、(程序包)、(实体)、(结构体)等部分。
35、(实体)和(结构体)是VHDL设计实体的基本结构,它们可以构成最基本的VHDL程序。 36、在VHDL的端口说明语句中,端口方向包括(IN)、(OUT)、(INOUT)和(BUFFER)。
器。
38、VHDL的并行语句在结构体中的执行方式是(并行)的,其执行方式与语句书写的顺序无关。
39、VHDL的PROCESS是由(顺序)(顺序/并行)语句组成的,但其本身却是(并行)(顺序/并
行)语句。
40、VHDL的子程序有(过程)和(函数)两种。
41、一般EDA技术的发展分为(CAD)、(CAE)、(EDA)三个阶段。
42、基于EPROM、EEPROM和快闪存储器件的可编程器件的编程信息在断电后(不会)(填会/不
会)丢失。
43、基于SRAM结构的可编程器件的编程信息在断电后(会)(填会/不会)丢失。
44、CPLD器件中包含三种可编程结构(可编程逻辑宏单元LMC)、(可编程I/O单元IOB)、(可
编程内部互联PIA)。 45、FPGA器件中包含三种可编程结构(嵌入式阵列块LAB)、(I/O单元IOC)、(快速通道FastTrack)。
46、指定设计电路的输入输出端口与目标芯片引脚的连接关系的过程称为(引脚锁定)。
47、标准的边界扫描测试只需要(5)根信号线。
48、在PC机上利用VHDL进行项目设计,不允许在(根)目录下进行,必须在根目录下为设计建立一个工程目录(即文件夹)。 49.为触发器复位有(同步复位)和(异步复位)两种方法。如果时钟进程中用了敏感信号,则(异步复位)需要把复位信号放入敏感信号列表。 二、多项选择题
1、术语CPLD表示(A),术语FPGA表示(E)
A、复杂可编程逻辑器件;B、组合可编程逻辑器件;C、组合可编程局部器件。D、正规的可编37、VHDL的数据对象包括(信号)、(变量)和(常量),它们都是用来存放各种类型数据的容
页脚内容3
汽车倒车防撞警报系统设计
程门阵列;E、现场可编程门阵列;F、有限可编程门阵列。 2、对于下面的说法正确的是(AC)。 总线。
3、对于下面的说法正确的是(AB)。
A、总线竞争能降低设计在其整个寿命时限范围内的可靠性。
B、如果总线竞争不能全部消除,那也应该把它最小化。C、竞争产生的毛刺不会对时序电路产生影响。
4、在VHDL中,为目标信号赋值用(C),为目标变量赋值用(B),定义信号时可以用(B)
为信号赋初值。
A、=:;B、:=;C、<=;D、=。
5、关于自上而下的设计,选择所有正确的说法。(ABCDEF)
A、可做到更好的资源分配;B、使得每一个小的功能模块可以被单独仿真;
C、加速仿真;D、使器件的行为建模更容易;
E、低功耗的设计;F、可在设计组各成员之间有效地分割一个设计项目。
6、下列说法正确的是(A,C)
A、进程的启动必须有敏感信号;B、进程语句process必须有敏感信号列表; C、进程可以用wait语句启动;
D、进程中的语句顺序颠倒一下不会改变所描述电路的功能. 6、下列有关时钟上升沿触发的描述正确的是(ADE)。
A、clock’eventandclock=’1’;B、notclock’stableandclock=’0’; C、clock’event;D、clock’eventand(clock’last_lalue=’0’); E、rising_edge(clock)。
7、下列有关时钟下降沿触发的描述正确的是(A,D)。
A、clock’eventandclock=’0’;B、notclock’stableandclock=’1’; C、clock’event;D、clock’eventand(clock’last_lalue=’1’); E、rising_edge(clock)。
8、下列有关时钟高电平触发的描述正确的是(A)。
A、clock=’1’;B、clock’eventand(clock=’1’);C、rising_edge(clock)。
三.单项选择题(每小题2分,共20分) 1、VHDL属于(B)描述语言。
A、悬浮总线能产生信号噪声。B、悬浮总线能引起额外的功率损耗。C、应该在设计中避免悬浮
页脚内容4
汽车倒车防撞警报系统设计
A、普通硬件;B、行为级;C、高级;D、低级。 2、在设计输入完成后,应立即进行设计文件的(B)。
A、编辑;B、编译;C、功能仿真;D、时序仿真。
3、基于硬件描述语言的数字系统设计目前最常用的设计方法称为(B)设计法。 A、自底向上;B、自顶向下;C、积木式;D、顶层。
4、在EDA工具中,能将硬件描述语言转化为硬件电路的重要工具软件称为(D)。 A、仿真器;B、综合器;C、适配器;D、下载器。
5、在EDA工具中,能完成在目标器件上布局布线的软件称为(C)。 A、仿真器;B、综合器;C、适配器;D、下载器。 6、QuartusII属于(C)。
A、高级语言;B、硬件描述语言;C、EDA工具软件;D、综合软件。
7、Multisim2001属于(C)。
A、高级语言;B、硬件描述语言;C、EDA工具软件;D、综合软件。
7、使用QuartusII图形编辑方式输入的电路原理图文件必须经过(B)才能进行仿真验证。
A、编辑;B、编译;C、综合;D、编程。
8、QuartusII的设计文件不能直接保存在(B)。
A、硬盘;B、根目录;C、文件夹;D、工程目录。
8、QuartusII的设计文件只能直接保存在(D)。
A、硬盘;B、根目录;C、文件夹;D、工程目录。
9、在QuartusII集成环境中为图形文件产生一个元件符号的主要用途是(D)。 A、仿真;B、编译;C、综合;D、被高层次电路设计调用。
10、执行Multisim2001的(A)命令可以为设计电路建立一个元件符号。 A、CreatSymbolfilesforcurrentfile;B、Simulator; C、Compiler;D、TimingAnalyzer。
11、执行QuartusII的(A)命令可以为设计电路建立一个元件符号。 A、Creatsymbolfiles;B、Simulate; C、Compiler;D、Transfer。
12、QuartusII的图形设计文件类型为(B)。 A、.scf;B、.bdf;C、.vhd;D、.vwf。
13、QuartusII的VHDL文本设计文件类型为(C)。
页脚内容5
汽车倒车防撞警报系统设计
A、.scf;B、.bdf;C、.vhd;D、.vwf。
14、QuartusII的波形文件类型为(A)。
A、.scf;B、.bdf;C、.vhd;D、.vwf。
15、VHDL最常用的库是(A)。
A、IEEE;B、STD;C、WORK;D、PACKAGE。
16、在VHDL的端口说明语句中,用(A)声明端口为输入方向。 A、IN;B、OUT;C、INOUT;D、BUFFER。
18、在VHDL的端口说明语句中,用(C)声明端口为双向方向。 A、IN;B、OUT;C、INOUT;D、BUFFER。
19、在VHDL的端口说明语句中,用(B)声明端口为输出方向。 A、IN;B、OUT;C、INOUT;D、BUFFER。
20、在VHDL的端口说明语句中,用(D)声明端口为可反馈输出方向。 A、IN;B、OUT;C、INOUT;D、BUFFER。
21、在VHDL中,(B)的数据传输是立即发生的,不存在任何延迟行为。 A、信号;B、变量;C、数据;D、常量。
22、在VHDL中,(A)的数据传输不是立即发生的,目标信号的赋值需要经过一定延迟时间。 A、信号;B、变量;C、数据;D、常量。 23、考虑可测试性应该是(A):
(A)在设计工作的开始;(B)在设计工作进程的中间;
(C)在设计工作的结尾。 24、术语HDL代表 (A)。
A、硬件描述语言;B、美元崇拜者;C、硬件开发语言;D、高级设计语言。 25、在VHDL的IEEE标准库中,预定义的位数据类型数据BIT有(A)种逻辑值。 A、2;B、3;C、8;D、9。
26、在VHDL的IEEE标准库中,预定义的标准逻辑位数据类型数据STD_LOGIC有(D)种逻辑值。 A、2;B、3;C、8;D、9。
26、不完整的IF语句,其综合结果可实现(A)。
A.时序电路B.双向控制电路C.条件相或的逻辑电路D.三态控制电路
27、在VHDL的CASE语句中,条件句中的“=>”不是操作符,其作用相当于(B)。 A、IF;B、THEN;C、AND;D、OR。
页脚内容6
汽车倒车防撞警报系统设计
28、VHDL的FOR_LOOP语句中的循环变量是一个临时变量,(B)事先声明。 A、必须;B、不必;C、其类型要;D、其属性要。
29、在VHDL中,含WAIT语句的进程process语句(B)再加敏感信号,否则是非法的。 A、可以;B、不能;C、任意;D、只能
30、VHDL的WORK库是用户设计的现行工具库,用于存放()的工程项目。 A、用户自己设计;B、公共程序;C、共享数据;D、图形文件。
31、术语“功能仿真”的含义是(A)
A、仿真一个设计的功能如何,而不关心其定时;B、仿真一个设计的功能等效性; C、仿真设计所代表的精确功能。 32、测试的10/10规则是(C)
A、应该每10天测试10次。
B、对于设计的每个10%的部分应该进行10次测试。
C、测试电路的规模不应超过整个电路规模的10%,而且设计和调试测试电路所占用的时间不应超过设计和调试原电路所用时间的10%。 33、进程(A)。
A、只对信号敏感,对变量不敏感;B、只对变量敏感,对信号不敏感; C、对信号和变量都敏感;D、对信号和变量都不敏感。
34、QuartusII的设计文件不能直接保存在(B)。 A、硬盘;B、根目录;C、文件夹;D、工程目录。
35、在QuartusII工具软件中,包括加法器、编/译码器、计数器等74系列期间的元件库
是(A)库。
A、\\libraries\\othersB、\\libraries\\primitives C、\\libraries\\megafuctionD、\\libraries\\mywork
36、在QuartusII集成环境中为图形文件产生一个元件符号的主要用途是()。 A、仿真;B、编译;C、综合;D、被高层次电路设计调用。
37、执行QuartusII的(B)命令,可以对设计电路进行功能仿真或时序仿真。
A、CreateSymbolfiles;B、startSimulation;C、startCompilation;D、TimingAnalyzer 38、执行QuartusII的(D)命令,可以精确分析设计电路输入与输出波形间的延时量。 A、CreateSymbolfiles;B、startSimulation;C、startCompilation;D、TimingAnalyzer
39、GAL是指(C)。
A、可编程逻辑阵列;B、可编程阵列逻辑;C、通用阵列逻辑;D、通用逻辑阵列。
页脚内容7
汽车倒车防撞警报系统设计 40、PLA是指(A)。
A、可编程逻辑阵列;B、可编程阵列逻辑;C、通用阵列逻辑;D、通用逻辑阵列。
41、在对PLD器件内部结构进行描述采用的简化符号中,行线与列线相交处若有(B)表示
有一个耦合元件固定连接。 A、“×”;B、“.”;C、无标记。
42、在对PLD器件内部结构进行描述采用的简化符号中,行线与列线相交处若有(A)表示有一个耦合元件可编程连接。 A、“×”;B、“.”;C、无标记。
43、在对PLD器件内部结构进行描述采用的简化符号中,行线与列线相交处若有(C)表示有一个耦合元件未连接。
A、“×”;B、“.”;C、无标记。
44、包括设计编译和检查、逻辑优化和综合、适配和分割、布局和布线、生成编程数据文件等操作的过程称为(C)。 A、设计输入;B、设计处理;C、功能仿真;D、时序仿真。
45、电子系统设计优化,主要考虑提高资源利用率,减少功耗—即面积优化,以及提高运行速度—即速度优化;指出下列那种方法不属于速度优化:(A)。
A.资源共享
B.流水线设计B.寄存器配平
D.关键路径法
46、大规模可编程器件主要有FPGA、CPLD两类,下列对CPLD结构与工作原理的描述中,正确的是(C)。
A.CPLD即是现场可编程逻辑器件的英文简称; B.CPLD是基于查找表结构的可编程逻辑器件;
结构。
47、综合是EDA设计流程的关键步骤,综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;在下面对综合的描述中,(C)是错误的。
件;
B.综合可理解为将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种
映射关系不是唯一的;
C.综合是纯软件的转换过程,与器件硬件结构无关;
D.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束。
48、下面对利用原理图输入设计方法进行数字电路系统设计,那一种说法是不正确的(B)。
A.
C.早期的CPLD是从GAL的结构扩展而来;D.在Altera公司生产的器件中,FLEX10K系列属CPLD
A.综合就是将电路的高级语言转化成低级的,可与FPGA/CPLD的基本结构相映射的网表文
原理图输入设计方法直观便捷,但不适合完成较大规模的电路系统设计;
B. 原理图输入设计方法无法对电路进行功能描述; C. 原理图输入设计方法一般是一种自底向上的设计方法; D. 原理图输入设计方法也可进行层次化设计。
页脚内容8
汽车倒车防撞警报系统设计
49、在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,正确的是
(A)。
A.ROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下一次进
程启动。
B.敏感信号参数表中,应列出进程中使用的所有输入信号; C.进程由说明部分、结构体部分、和敏感信号参数表三部分组成;
D.当前进程中声明的信号也可用于其他进程。
50、状态机编码方式中,其中(C)占用触发器较多,但其实现比较适合FPGA的应用。 A.状态位直接输出型编码 B.顺序编码 C.一位热码编码
51、子程序中的语句都是(B)。
A.并行语句B.顺序语句C.既有并行语句也有顺序语句D.既非并行语句也非顺序语句。
四、判断并改错题
D.以上都不是
1.
SIGNALa,b,c:STD_LOGIC_VECTOR(3DOWNTO0); SIGNALd,e,f,g:STD_LOGIC_VECTOR(1DOWNTO0);
SIGNALh,I,j,k:STD_LOGIC; SIGNALl,m,n,o,p:BOOLEAN; ...
a<=bANDc;--b、c相与后向a赋值,a、b、c的数据类型同属4位长的位矢量 d<=eORfORg;--两个操作符OR相同,不需括号 h<=(iNANDj)NANDk;--加括号先执行括号内运算 l<=(mXORn)AND(oXORp);--操作符不同,必须加括号 h<=iANDjANDk;--两个操作符都是AND,不必加括号 h<=iANDjORk;--两个操作符不同,未加括号,表达错误 a<=bANDe;--操作数b与e的位矢长度不一致,表达错误 h<=iORl;--i的数据类型是位STD_LOGIC,而l的数据类型是 ...--布尔量BOOLEAN,因而不能相互作用,表达错误。
2.指出下列case的错误原因并改正
SIGNALvalue:INTEGER RANGE0TO15;
SIGNALout1:STD_LOGIC; ...
页脚内容9
汽车倒车防撞警报系统设计
CASEvalueIS--缺少以WHEN引导的条件句
ENDCASE; ...
CASEvalueIS
WHEN0=>out1<='1';--value2~15的值未包括进去
WHEN1=>out1<='0'; ENDCASE ...
CASEvalueIS
WHEN0TO10=>out1<='1';--选择值中5~10的值有重叠
WHEN5TO15=>out1<='0'; ENDCASE;
3.entitymany_errorsis
porta:bit_vector(3 to0)
b:outstd_logic_vector(0 to3) c:inbit_vector(6downtoO);)
endmany_errors
architecturenot_so_goodofmany_errors
begin
my_label:process
begin
ifc=x”f”then
b<=a;
else
b<=’0101’;
endif
endprocess;
endnot_so_good
3.下面标示符是否合法?如不合乎规则请指出错误原因.
(1)value%8%为非法字符
页脚内容10
汽车倒车防撞警报系统设计 (2)_databus16不能以_开头 (3)clk_8m合法 (4)fs_8k合法
(5)entity不能以系统定义关键词作为标识符 (6)adderess_bus_不能以_结尾
4.判断下面的说法是否正确,如不正确,请说明原因.
(1)一般说来,短标示符是区分大小写的.不正确,标示符不区分大小写
(2)\data和\DATA是相同的标示符.正确
(3)注释是VHDL设计功能描述的一部分,因此注释文字会被编译.不正确,注释不被编译
(4)785456表示数字785456正确
(5)'B'和"B"是相同的.不正确,一个是字符,一个是字符串
(6)\adder\和adder是相同的标示符.
6.阅读下面的并置运算,然后回答该并置运算是否正确?如不正确,请说明原因。
Signala:std_logic; Signalb:std_logic;
Signalc:std_logic_vector(3downto0); Signald:std_logic_vector(3downto0);
C<=a&a&b&b; D<=a&b&c;
五、简答题
1.可编程逻辑器件在现代电子设计中越来越重要,请问:你所知道的可编程逻辑器件有哪些?
目前最常用的两种器件是什么?其结构特征如何?
答:按可编程逻辑器件的发展,有简单PLD器件(包括PLA、PAL、GAL、CPLD、FPGA等)和复
杂PLD器件两大类。目前最常用的两种复杂PLD器件是CPLD和FPGA。CPLD即复杂可编程逻辑器件,其结构是基于ROM的乘积项的可编程结构,而FPGA是现场可编程门阵列器件,其结构基于可编程的查找表。
2.简述FPGA等可编程逻辑器件设计流程
答:FPGA等可编程逻辑器件的设计流程即现代EDA设计的流程,主要包括设计输入、逻辑与结
构综合、时序与功能仿真、编程下载、硬件测试等步骤。(或绘流程图说明)
3.一个设计实体由哪几个基本部分组成?它们的作用如何?
答:(1)库与程序包部分:使实体所用资源可见;
(2)实体部分:设计实体的外部特征描述;
页脚内容11
汽车倒车防撞警报系统设计
(3)结构体部分:设计实体的内部电路结构或功能描述。
4.进程语句是如何启动的?
答:进程由敏感信号列表中的敏感信号的变化启动。有两种格式:一种是 PROCESS(敏感信号表)IS,一种是PROCESSWAITUNTILL敏感信号
5.过程与函数的区别体现在哪些方面?
答:相同点:过程与函数都属于子程序,;都需要先定义后使用;都允许调用;都可以重载。但
也有不同:(1)过程调用时作为一个的语句出现,函数调用时只能作为一个语句元素出现;(2)函数调用的结果是返回一个函数值,过程调用的结果是执行过程体中的顺序语句。
6.过程可以定义在一个VHDL程序的那些位置?函数可以定义在一个VHDL程序的那些位置? 现?
答:强类型语言,即只有同类型的数据能够直接进行数据操作。若数据类型不一致不能进行
直接数据操作,但能够通过类型转换函数等方法转换为同类型数据后进行操作。 8.有限状态机适用于什么数字系统的设计?有何优点?
答:有限状态机适用于具有顺序控制特征的数字系统设计,一般作为系统的控制部分。具有结
构模式简单、结构清晰、易优化、可靠性高、可实现高速控制等优点。
9.详细讨论并用示例说明with_select语句和case语句的异同点。 相同点:(1)描述完全条件;(2)条件的列出要求一致;…
不同点:(1)with_select是并行语句,case是顺序语句;(2)格式上,with_select语句只
有最后一个子句分隔符用分号“;”,前面所有子句用逗号“;”。case语句的所有子句分隔符都用分号“;”;…
10.EDA名词解释,写出下列缩写的中文(或者英文)含义:(10分)
1.CPLD:复杂可编程逻辑器件2.HDL:硬件描述语言 3.LUT:查找表(LookUptable)4.ASIC:专用集成电路
5.SOC:片上系统6.IPCORE:知识产权核
7.FPGA:现场可编程门阵列8.JTAG:联合测试行动组 9.EAB:嵌入式阵列快10.LE(LC):逻辑单元 11.SOPC:可编程片上系统12.EDA:电子设计自动化
13.FSM:有限状态机14.BST:边界扫描测试
15.M4K:Altera公司Cyclone系列FPGA中的嵌入式存储器模块 16.RTL:寄存器传输级17、MV:混合电压 18、PLD:可编程逻辑器件
19、std_logic_vector:一种数组型数据类型,其中每位数据均为std_logic型。
7.VHDL是强类型语言还是弱类型语言?若数据类型不一致能否进行数据操作?如能,如何实
页脚内容12
汽车倒车防撞警报系统设计
20、one-hot:一种有限状态机的编码形式。状态机的每个状态都用一个触发器来表示,即在每
个状态只有对应触发器置“1”,其他触发器均置“0”。
六、程序分析
1.说明下面程序的功能,画出元件符号 LIBRARYIEEE;
USEIEEE.STD_LOGIC_11.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYdecoder3to8IS
port(input:INSTD_LOGIC_VECTOR(2DOWNTO0); output:OUTBIT_VECTOR(7DOWNTO0));
ENDdecoder3to8;
ARCHITECTUREbehaveOFdecoder3to8IS
BEGIN
output<=\"00000001\"SLLCONV_INTEGER(input);--被移位部分是常数!
ENDbehave;
3-8译码器,输入输出端口均为3位、8位标准逻辑矢量。
2.利用转换函数实现的两种3-8译码器程序 LIBRARYIEEE;
USEIEEE.STD_LOGIC_11.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYdecoder3to8IS
PORT(input:INSTD_LOGIC_VECTOR(2DOWNTO0); output:OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDdecoder3to8;
ARCHITECTUREbehaveOFdecoder3to8IS
BEGIN
页脚内容13
汽车倒车防撞警报系统设计 PROCESS(input) BEGIN
output<=(OTHERS=>'0');
output(CONV_INTEGER(input))<='1';
ENDPROCESS; ENDbehave;
3.具有同步复位、并行加载、双(左、右)向移位功能的8位移位寄存器
LIBRARYIEEE;
USEIEEE.STD_LOGIC_11.ALL;
ENTITYshifterIS
PORT(data:INSTD_LOGIC_VECTOR(7DOWNTO0); shift_left:INSTD_LOGIC;--右移寄存器 shift_right:INSTD_LOGIC;--左移寄存器
clk:INSTD_LOGIC; reset:INSTD_LOGIC;
mode:INSTD_LOGIC_VECTOR(1DOWNTO0); qout:BUFFERSTD_LOGIC_VECTOR(7DOWNTO0));
ENDshifter;
ARCHITECTUREbehaveOFshifterIS
SIGNALenable:STD_LOGIC; BEGIN PROCESS BEGIN
WAITUNTIL(RISING_EDGE(clk));--等待时钟上升沿 IF(reset=‘1’)THENqout<=“00000000”;--同步复位
ELSECASEmodeIS
WHEN\"01\"=>qout<=shift_right&qout(7DOWNTO1);--右移 WHEN\"10\"=>qout<=qout(6DOWNTO0)&shift_left;--左移 WHEN\"11\"=>qout<=data;--并行加载
WHENoTHERS=>NULL;
页脚内容14
汽车倒车防撞警报系统设计 ENDCASE; ENDIF; ENDPROCESS; ENDbehave;
4.写出如下结构体的实体说明,假设结构体中的所有信号均为端口。
Architecturert1ofmux1is
begin
p1:process(d0,d1,d2,d3,s0,s1)
begin
if(s1=’0’ands0=’1’)then
q<=d0;
elsif(s1=’0’ands0=’1’)then q<=d1;
elsif(s1=’1’ands0=’0’)then q<=d2; else q<=d3; endif;
endprocessp1;
5.请分析下面两个进程,然后回答问题. P1:process(a,b,c)
Variabled:std_logic;
Begin
D:=a; X<+b+d; D:=c; Y<=b+d;
Endprocessp1;
P2:process(a,b,c,d)
Begin
页脚内容15
汽车倒车防撞警报系统设计
D<=a: X<=b+d; D<=c; Y<=b+d;
Endprocessp2;
(1)进程1执行后x和y的结果是什么?
(2)进程2执行后x和y的结果是什么?
(3)根据(1)和(2)的结果,你可以得出什么结论?
6.请分析下面的程序段是否合法。如不合法,请指出错误原因并加以改正。
P1:process(clk,reset)
Begin
If(reset=’0’)then
Q<=’0’; Qb<=’1’;
Elsif(clk’eventandclk=’1’)then Q<=d; Qb<=notd;
Endif;
Waitonclk,reset;
7.分析下面的VHDL程序,请指出它所描述的功能。 Libraryieee;
Useieee.logic_11.all; Entitycontrol_andis
Port(a:instd_logic_vector(3downto0);
B:(a:instd_logic_vector(3downto0) m:instd_logic_vector(3downto0) q:outstd_logic_vector(3downto0));
endcontrol_and;
architecturert1ofcontrol_andis
begin
页脚内容16
汽车倒车防撞警报系统设计
p1:process(a,b,m)
begin
loop1:forIin0to3loop
if(m(i)=’1’)then
next;
endif;
q(i)<=a(i)andb(i);
endlooploop1;
endprocessp1; endrt1;
8.请分析下面的程序段是否合法。如不合法,请指出错误原因并加以改正。
P1:process(clk,reset)
Begin
If(reset=’0’)then
Q<=’0’; Qb<=’1’;
Elsif(clk’eventandclk=’1’)then Q<=d; Qb<=notd;
Endif;
Waitonclk,reset;
(不合法,因为同一进程使用了两种启动方法,敏感信号列表法和WAIT语句法,这是不合法的。
改正:去掉Process后面的括号及其中敏感信号,或去掉Wait语句。) 9.分析下面的VHDL程序,请指出它所描述的功能。 Libraryieee;
Useieee、logic_11、all; Entitycontrol_andis
Port(a,b,m:instd_logic_vector(3downto0);
q:outstd_logic_vector(3downto0));
endcontrol_and;
页脚内容17
汽车倒车防撞警报系统设计
architecturert1ofcontrol_andis
begin
p1:process(a,b,m)
begin
loop1:forIin0to3loop
if(m(i)=’1’)then q(i)<=a(i)andb(i); endif; endlooploop1;
endprocessp1; endrt1;
(实现3-2输入与门电路的设计)。
10.分析下面的VHDL源程序,说明设计电路的功能。
LIBRARYIEEE;
USEIEEE、STD_LOGIC_11、ALL; USEIEEE、STD_LOGIC_UNSIGNED、ALL;
ENTITYLX3_1IS
PORT(s2,sl,s0:INSTD_LOGIC;
d3,d2,d1,dO:INSTD_LOGIC; d7,d6,d5,d4:INSTD_LOGIC; Y:OUTSTDULOGIC); ENDLX3_1;
ARCHITECTUREoneOFLX3_1IS
SIGNALs:STD_LOGIC_VECTOR(2DOWNTO0);
BEGIN s<=s2&s1&s0;
y<=dOWHENs=\"000\"ELSE dlWHENs=\"001\"ELSE d2WHENs=\"010\"ELSE d3WHENs=\"011\"ELSE
页脚内容18
汽车倒车防撞警报系统设计 d4WHENs=\"100\"ELSE d5WHENs=\"101\"ELSE d6WHENs=\"110\"ELSE d7;
ENDone;
(8选1数据选择器。)
七.程序填空(10分)
1.下面程序是带异步复位、同步置数、低位串行输出和移位使能的8位右移移位寄存器的VHDL
描述,试补充完整。 libraryieee;
useIEEE.std_logic_11.all;
entitysreg8bis
port( clk,rst:instd_logic;
load,en:instd_logic;
din:instd_logicvector(7downto0);
qb:outstd_logic);
endsreg8b;
architecturebehavofsreg8bis
signalreg8 :std_logic_vector(7downto0);
begin
process(clk,rst,load,en) begin
ifrst='1'then ――异步清零 reg8<=others=>’0’;
elsifclk’eventandclk=’1’then――边沿检测
ifload='1'then――同步置数
reg8<=din;
elsifen='1'then――移位使能
reg8(6downto0)<=reg8(7downto1);
endif;
页脚内容19
汽车倒车防撞警报系统设计
endif;
endprocess; qb<=reg8(0)_;
――输出最低位
endbehav;
2.下面程序是n输入与门的VHDL描述,试补充完整。 _LIBRARY_ieee;
useIEEE.STD_LOGIC_11_.all; entityandnis
GENERIC_(n:integer);
--类属参数声明
port( a:instd_logic_vector(_n-1_downto0);
c:outstd_logic);
end;
_architecture_behavofandnis --结构体声明 begin
process(a__)
_variable_int:std_logic; --变量声明
begin
int:=_’1’____;
--变量赋初值
forIina'length–1downto0loop
ifa(i)='0'then
int:='0';
--循环判断
endif;
endloop; c<=int__;
--输出判断结果
endprocess; endbehav;
3.下面程序是一个10线-4线优先编码器的VHDL描述,试补充完整。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_11.ALL;
ENTITYcoderIS
页脚内容20
汽车倒车防撞警报系统设计
PORT(din:INSTD_LOGIC_VECTOR(9DOWNTO0); output:OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDcoder;
ARCHITECTUREbehavOFCODERIS
SIGNALSIN:STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
PROCESS(DIN) BEGIN
IF(din(9)='0')THENSIN<=\"1001\"; ELSIF(din(8)=’0’)THENSIN<=\"1000\"; ELSIF(din(7)='0')THENSIN<=\"0111\"; ELSIF(din(6)='0')THENSIN<=\"0110\"; ELSIF(din(5)='0')THENSIN<=\"0101\"; ELSIF(din(4)='0')THENSIN<=\"0100\"; ELSIF(din(3)='0')THENSIN<=\"0011\"; ELSIF(din(2)='0')THENSIN<=\"0010\"; ELSIF(din(1)='0')THENSIN<=\"0001\";
ELSESIN<=“0000”; ENDIF; ENDPROCESS; Output<=sin; ENDbehav; 八.编程题
1.写出具有异步清零功能、时钟上升沿触发的D触发器的VHDL描述。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_11.ALL
ENTITYDFFIS
PORT(D,CLK,RESET:INSTD_LOGIC;
Q:OUTSTD_LOGIC);
ENDDFF;
页脚内容21
汽车倒车防撞警报系统设计
ARCHITECTUREBEHAVOFDFFIS
BEGIN
PROCESS(D,CLK,RESET)
BEGIN
IFRESET=’1’THENQ<=’0’;
ELSIFCLK’EVENTANDCLK=’1’THENQ<=’D’; ENDIF;
ENDPROCESS;
ENDBEHAV
2.设计一个具有异步清零和同步时钟及使能端的5进制加计数器。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_11.ALL
LIBRARYIEEE;
USEIEEE.STD_LOGIC_11.ALL USEIEEE.STD_LOGIC_UNSIGNED.ALL
ENTITYCNT5IS
PORT(CLK,RST,EN:INSTD_LOGIC; Q:OUTSTD_LOGIC_VECTOR(2DOWNTO0); COUT:OUTSTD_LOGIC); ENDCNT5;
ARCHITECTUREBEHAVOFCNT5IS
BEGIN
PROCESS(CLK,RESET,EN)
VARIABLEQ1:STD_LOGIC_VECTOR(2DOWNTO0); BEGIN
IFRESET=’1’THENQ1:=(OTHERS=>’0’); ELSIFCLK’EVENTANDCLK=’1’THEN IFEN=’1’THEN
IFQ1<”100”THENQ1:=Q1+1; ELSEQ1:=”000”;
页脚内容22
汽车倒车防撞警报系统设计
ENDIF;
ENDIF;
ENDIF;
IFQ1=”101”THENCOUT<=’1’;
ELSECOUT<=’0’;
ENDIF;
Q<=Q1;
ENDPROCESS;
ENDBEHAV;
3.采用CASE语句描述一个四选一数据选择器,当选择端SEL分别为Y分别输出A,B,C,D。 LIBRARYIEEE;
USEIEEE.STD_LOGIC_11.ALL
ENTITYMUX41IS
PORT(A,B,C,D:INSTD_LOGIC;
SEL:INSTD_LOGIC_VECTOR(1DOWNTO0);
Y:OUTSTD_LOGIC); ENDMUX41;
ARCHITECTUREBEHAVOFMUX41IS
BEGIN
PROCESS(A,B,C,D,SEL)
BEGIN CASESELIS WHEN”00”=>Y<=A;
WHEN”01”=>Y<=B;
WHEN”10”=>Y<=C; WHEN”11”=>Y<=D; WHENOTHERS=>Y<=0;
ENDCASE
ENDPROCESS;
页脚内容23
00,01,10,11时,输出
汽车倒车防撞警报系统设计
ENDBEHAV
4.设计一位比较器,当A>B时输出Q=1;否则输出Q=0.
LIBRARYIEEE;
USEIEEE.STD_LOGIC_11.ALL
ENTITYCOMPIS
PORT(A,B:INSTD_LOGIC; Q:OUTSTD_LOGIC); ENDCOMP;
ARCHITECTUREBEHAVOFCOMPIS
BEGIN PROCESS(A,B)
BEGIN
IFA>BTHENQ<=’1’; ELSEQ<=’0’; ENDIF;
ENDPROCESS;
ENDBEHAV
5.利用IF语句条件向上相与功能,设计一个8-3线优先编码器,其真值表如表所示.
8-3线优先编码器真值表
输入 D0D1D2D3D4D5D6D7 XXXXXXX0 XXXXXX01 XXXXX011 XXXX0111 XXX01111 输出 Q0Q1Q2 000 100 010 110 001 页脚内容24
汽车倒车防撞警报系统设计
XX011111 X0111111 01111111 LIBRARYIEEE;
USEIEEE.STD_LOGIC_11.ALL
ENTITY8_3CODERIS
PORT(DIN:INSTD_LOGIC_VECTOR(7DOWNTO0); Q:OUTSTD_LOGIC_VECTOR(2DOWNTO0);
END8_3CODER;
ARCHITECTUREBEHAVOF8_3CODERIS
SIGNALSINT:STD_LOGIC_VECTOR(5DOWNTO0);
BEGIN PROCESS(DIN)
BEGIN
IF(DIN(7)=’0’)THENQ<=”000”;
ELSIF(DIN(6)=’0’)THENQ<=”100”; ELSIF(DIN(5)=’0’)THENQ<=”010”; ELSIF(DIN(4)=’0’)THENQ<=”100”; ELSIF(DIN(3)=’0’)THENQ<=”001”; ELSIF(DIN(2)=’0’)THENQ<=”101”; ELSIF(DIN(1)=’0’)THENQ<=”011”; ELSEQ<=”111”; ENDIF;
ENDPROCESS;
101 011 111 ENDBEHAV;
6、根据原理图写出相应的VHDL程序
页脚内容25
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务