EDA技术与VHDL程序设计基础教程习题答案.docx
《EDA技术与VHDL程序设计基础教程习题答案.docx》由会员分享,可在线阅读,更多相关《EDA技术与VHDL程序设计基础教程习题答案.docx(29页珍藏版)》请在冰豆网上搜索。
![EDA技术与VHDL程序设计基础教程习题答案.docx](https://file1.bdocx.com/fileroot1/2023-6/16/9616e224-4846-4a7d-8d70-88526e8cde8b/9616e224-4846-4a7d-8d70-88526e8cde8b1.gif)
EDA技术与VHDL程序设计基础教程习题答案
EDA技术与VHDL程序设计基础教程习题答案
第1章EDA习题答案
1.8.1填空
1.EDA的英文全称是ElectronicDesignAutomation
2.EDA技术经历了计算机辅助设计CAD阶段、计算机辅助工程设计CAE阶段、现代电子系统设计自动化EDA阶段三个发展阶段
3.EDA技术的应用可概括为PCB设计、ASIC设计、CPLD/FPGA设计三个方向
4.目前比较流行的主流厂家的EDA软件有QuartusII、ISE、ModelSim、ispLEVER
5.常用的设计输入方式有原理图输入、文本输入、状态机输入
6.常用的硬件描述语言有VHDL、Verilog
7.逻辑综合后生成的网表文件为EDIF
8.布局布线主要完成将综合器生成的网表文件转换成所需的下载文件
9.时序仿真较功能仿真多考虑了器件的物理模型参数
10.常用的第三方EDA工具软件有Synplify/SynplifyPro、LeonardoSpectrum
1.8.2选择
1.EDA技术发展历程的正确描述为(A)
ACAD->CAE->EDA
BEDA->CAD->CAE
CEDA->CAE->CAD
DCAE->CAD->EDA
2.Altera的第四代EDA集成开发环境为(C)
AModelsim
BMUX+PlusII
CQuartusII
DISE
3.下列EDA工具中,支持状态图输入方式的是(B)
AQuartusII
BISE
CispDesignEXPERT
DSyplifyPro
4.下列几种仿真中考虑了物理模型参数的仿真是(A)
A时序仿真
B功能仿真
C行为仿真
D逻辑仿真
5.下列描述EDA工程设计流程正确的是(C)
A输入->综合->布线->下载->仿真
B布线->仿真->下载->输入->综合
C输入->综合->布线->仿真->下载
D输入->仿真->综合->布线->下载
6.下列编程语言中不属于硬件描述语言的是(D)
AVHDL
BVerilog
CABEL
DPHP
1.8.3问答
1.结合本章学习的知识,简述什么是EDA技术?
谈谈自己对EDA技术的认识?
答:
EDA(ElectronicDesignAutomation)工程是现代电子信息工程领域中一门发展迅速的新技术。
2.简要介绍EDA技术的发展历程?
答:
现代EDA技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。
它的成熟主要经历了计算机辅助设计(CAD,ComputerAidedDesign)、计算机辅助工程设计(CAED,ComputerAidedEngineeringDesign)和电子设计自动化(EDA,ElectronicSystemDesignAutomation)三个阶段。
3.什么是SOC?
什么是SOPC?
答:
SOC(SystemonChip,片上系统)
SOPC(SystemonaProgrammableChip,片上可编程系统)
4.对目标器件为CPLD/FPGA的VHDL设计,主要有几个步骤?
每步的作用和结果分别是什么?
答:
一个完整的EDA工程通常要涉及到系统建模、逻辑综合、故障测试、功能仿真、时序分析、形式验证等内容。
而对于设计工程师而言,系统建模中的器件模型有生产厂商给出,工程师只需要完成系统设计、逻辑综合、布局布线、仿真验证和下载测试几个步骤。
5.简述ASIC设计和CPLD/FPGA设计的区别?
答:
专用集成电路(ASIC)采用硬接线的固定模式,而现场可编程门阵列(FPGA)则采用可配置芯片的方法,二者差别迥异。
可编程器件是目前的新生力量,混合技术也将在未来发挥作用。
6.阐述行为仿真、功能仿真和时序仿真的区别?
答:
行为仿真只考虑逻辑功能。
功能仿真仅仅完成了对VHDL所描述电路的逻辑功能进行测试模拟,以观察其实现的功能是否满足设计需求,因而仿真过程并不涉及任何具体器件的硬件特性。
时序仿真则是比较接近真实器件运行的仿真,在仿真过程中已经对器件的物理模型参数做了恰当的考虑,所以仿真精度要高得多。
7.详细描述EDA设计的整个流程?
答:
系统规格制定(DefineSpecification)
设计描述(DesignDescription)
功能验证(FunctionVerification)
逻辑电路合成(Logicsynthesis)
逻辑门层次的电路功能验证(Gate-LevelNetlistVerification)
配置与绕线(PlaceandRouting)
绕线后的电路功能验证(PostLayoutVerification)
8.为什么要进行硬件电路的后仿真验证和测试?
答:
后仿真考虑了实际器件的模型参数,能够更好的模拟实际电路工作状态。
测试是检验设计合格的最直接的方式。
第2章EDA习题答案
2.8.1填空
1.可编程逻辑器件的英文全称是ProgrammableLogicDevice
2.可编程逻辑器件技术经历了PROM、PLA、PAL三个发展阶段
3.CPLD的基本结构包括可编程逻辑阵列块、输入/输出块、互联资源三个部分
4.目前市场份额较大的生产可编程逻辑器件的公司有Altera、Xillinx、Lattice
5.根据器件应用技术FPGA可分为基于SRAM编程的FPGA、基于反熔丝编程的FPGA
6.快速通道/互联通道包括行互连、列互联、逻辑阵列块、逻辑单元
7.常用的的FPGA配置方式为主动串行、主动并行、菊花链
8.实际项目中,实现FPGA的配置常常需要附加一片EPROM
9.球状封装的英文缩写为BGA
10.CPLD/FPGA选型时主要考虑的因素有器件逻辑资源、芯片速度、功耗、封装
2.8.2选择
1.在下列可编程逻辑器件中,不属于高密度可编程逻辑器件的是(D)
AEPLD
BCPLD
CFPGA
DPAL
2.在下列可编程逻辑器件中,属于易失性器件的是(D)
AEPLD
BCPLD
CFPGA
DPAL
3.下列逻辑部件中不属于Altera公司CPLD的是(A)
A通用逻辑块(GLB)
B可编程连线阵列(PIA)
C输入输出控制(I/O)
D逻辑阵列块(LAB)
4.下列逻辑部件中不属于Lattice公司CPLD的是(D)
A通用逻辑块(GLB)
B全局布线区(GRP)
C输出布线区(ORP)
D逻辑阵列块(LAB)
5.下列FPGA中不属于Xilinx公司产品的是(D)
AXC4000
BVirtex
CSpartan
DCyclong
6.下列FPGA中不属于Alter公司产品的是(B)
AFLEX10K
BVirtex
CStratix
DCyclone
7.下列配置方式不属于FPGA配置模式的是(D)
A主动串行配置模式
B被动串行配置模式
C主动并行配置模式
D被动从属配置模式
8.下列因素中通常不属于CPLD/FPGA选型条件的是(D)
A逻辑资源
B功耗和封装
C价格和速度
D产地
2.8.3问答
1.结合本章学习的知识,简述CPLD的基本结构?
答:
虽然CPLD种类繁多、特点各异,共同之处总结起来可以概括为三个部分:
●可编程逻辑阵列块;
●输入/输出块;
●互联资源;
其中,可编程逻辑阵列块类似于一个低密度的PAL/GAL,包括乘积项的与阵列、乘积项分配和逻辑宏单元等。
乘积项与阵列定义了每个宏单元乘积项的数量和每个逻辑块乘积项的最大容量,能有效的实现各种逻辑功能。
2.结合本章学习的知识,简述FPGA的基本结构?
答:
基于SRAM编程的FPGA以Xilinx的逻辑单元阵列(LCA,LogicCellArray)为例,基本结构如图2-20所示。
图2-20FPGA的基本机构
反熔丝技术FPGA器件的逻辑结构采用基于多路选择器的基本逻辑单元,配置数据放在反熔丝开关矩阵中,通过编程使部分反熔丝介质击穿,导通开关从而实现器件的编程。
如图2-21所示
图2-21反熔丝技术的FPGA结构
3.基于SRAM编程的FPGA有哪些特征?
优缺点?
答:
FPGA器件的优点:
●可以反复编程,对于一般规模的器件,上电几十毫秒就可以完成配置数据的加载;
●开发设计不需要专门的编程器;
●与CMOS工艺的存储器兼容,价格较低;
FPGA器件的缺点:
●由于器件掉电后SRAM容易丢失配置数据,因而常常在FPGA外部添加一个制度春初期PROM或EPROM来保存这些配置数据,从而给配置数据的保密带来了困难;
●器件内部可编程连线和逻辑定义通过大量的传输门开关实现,从而导致电阻变大,传递信号的速度收到影响,限制工作频率;
4.简述MAX7000器件的结构及特点?
答:
5.简述ispLSI2000器件的结构及特点?
答:
6.简述FLEX10K器件的结构及特点?
答:
7.简述XC4000器件的结构及特点?
答:
8.阐述FPGA配置几种方式?
答:
●主动串行配置模式(AS);
●被动串行配置模式(PS);
●主动并行配置模式(AP);
●被动并行同步配置模式(PPS);
●被动并行异步配置模式(PPA);
●被动串行异步配置模式(PSA);
●菊花链配置模式;
●JTAG配置模式;
9.如何选用CPLD和FPGA?
答:
CPLD/FPGA的选择主要根据项目本身的需要,对于规模不大且产量不高的应用,通常使用CPLD比较好。
对与大规模的逻辑设计、AIC设计或单片系统的设计,则多采用FPGA。
从逻辑规模上讲FPGA覆盖了逻辑门书5000~2000000门的大中规模。
目前,FPGA的主要应用有三个方面:
●直接使用与电路系统;
●硬拷贝;
●逻辑验证;
由上可知,FPGA和CPLD的选择需要根据具体系统的性能、成本、安全等需求进行折中,制定一个性价比高的方案具有非常重要的意义。
10.MAX7000S器件的I/O控制块共有几种工作方式?
答:
I/O控制块允许每个I/O引脚单独地配置成输入/输出和双向工作方式。
11.宏单元的触发器有几种时钟控制方式?
答:
触发器完成D型、JK型或T型等逻辑功能。
12.简述EAB的工作原理?
嵌入式阵列块是一种在输入/输出端口带有触发器的RAM电路。
它由可编程设置的RAM、输入/输出D触发器、局部互联通道、控制逻辑电路和输出电路组成。
EAB可以用来实现不同的存储功能和复杂的逻辑功能。
第3章EDA习题答案
3.7.1填空
1.HDL主要有ABEL-HDL、AHDL、VHDL、Verilog四种。
2.VHDL的IEEE标准为IEEESTD1076-1993。
3.VHDL实体由实体说明语句(ENTITY)、类属说明语句(GENERIC)、端口说明语句(PORT)、结束语句(END)组成。
4.VHDL结构体由结构体说明语句、功能描述语句组成。
5.VHDL标识符有短标识符、扩展标识符两种。
6.VHDL中的对象是指常量、变量、信号、文件。
7.VHDL中数据类型转换可以采用类型标记法、函数转换法、常数转换法。
8.VHDL定义的基本数据类型包括整数、实数、位、位矢量、布尔、字符、字符串、自然数、时间、错误类型十种。
9.VHDL有逻辑运算符、关系运算符、算术运算符、并置运算四类操作符。
10.VHDL有行为级、门级、数据流、混合型四种描述风格。
11.VHDL的顺序语句只能出现在进程(PROCESS)、过程(PROCEDURE)和函数(FUNCTION)中,是按照书写顺序自上而下,一条一条执行。
12.VHDL的进程(process)语句是由顺序语句组成的,但其本身却是并行执行的。
3.7.2选择
1、一个实体可以拥有一个或多个 (C、D)
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、在下列标识符中,(D)是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块语句是并行语句结构,它的内部是由(A)语句构成的
A.并行和顺序
B. 顺序
C.并行
D. 任何
9、若S1为”1010”,S2为”0101”,下面程序执行后,outValue输出结果为(D)。
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的值为(B)。
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”
11.下图中,正确表示INOUT结构的是(C)
12.进入进程,即激活进程,需要激励(C)
A进程外的变量
B进程内的变量
C进程的敏感信号
D进程外的信号
第4章EDA习题答案
4.6.1填空
1.通过QuartusII软件利用VHDL完成一个设计需要经过设计的输入、综合、适配、仿真测试和编程下载五个步骤。
2.QuartusII软件提供的Viewer工具有RTLViewer、TechnologyMapViewer、StateMachineViewer三种。
3.嵌入式逻辑分析仪将测得的样本信号暂存于目标器件中的嵌入式RAM中,然后通过器件的JTAG端口将采样的信息传出,送入计算机进行显示和分析。
4.LPM功能模块内容丰富,每一模块的功能、参数含义、使用方法、硬件描述语言模块参数设置和调用方法都可以在QuartusII的帮助文档中查到。
5.LPM_ROM宏模块支持的初始化数据文件有mif和hex两种。
4.6.2选择
1.下列VHDL输入方法中,QuartusII不支持的是(C)
AHDL文本输入方式
B原理图输入方式
C状态图输入方式
D混合输入方式
2.下列操作步骤中,不属于SignalTapII的为(C)
A调入待测信号
B设置SignalTapII的参数
C编译下载
D输入SignalTapII的采样数值
3.下列模块中不输入LPM宏单元的是(D)
ALPM_ROM
BLPM_RAM
CLPM_FIFO
DFIR
4.下列操作步骤中,不属于时序仿真的为(C)
A设置仿真时间区域
B导入欲观察的信号节点
C编辑激励信号
D设置SignalTapII的参数
第5章EDA习题答案
5.5.1填空
1.所谓组合逻辑电路是指:
在任何时刻,逻辑电路的输出状态只取决于电路各输入信号的组合,而与电路的原有状态无关。
2.在分析门级组合电路时,一般需要先从卡诺图写出逻辑函数式。
3.在设计门级组合电路时,一般需要根据设计要求列出布尔表达式,再写出逻辑函数式。
4.基本译码电路除了完成译码功能外,还能实现逻辑和组合功能。
5.利用串行输入、并行输出的移位寄存器可以方便的实现串并变换。
6.寄存器按照功能不同可分为两类只读寄存器和随机寄存器。
7.数字电路按照是否有记忆功能通常可分为两类组合电路、时序电路。
8.由四位移位寄存器构成的顺序脉冲发生器可产生16个顺序脉冲。
9.触发器是组成寄存器和移位寄存器的基本单元电器,而一个触发器可存放1位二进制代码,一个n位的数码寄存器和移位寄存器需由n个触发器组成。
10.常见的触发器有JK触发器、T触发器、D触发器和RS触发器。
5.5.2选择
1、同步计数器和异步计数器比较,同步计数器的显著优点是(A)
A.工作速度高
B.触发器利用率高
C.电路简单
D.不受时钟CP控制。
2、下列逻辑电路中为时序逻辑电路的是(C)
A.变量译码器
B.加法器
C.数码寄存器
D.数据选择器
3、N个触发器可以构成最大计数长度(进制数)为(D)的计数器。
A.N
B.2N
C.N2
D.2N
4、N个触发器可以构成能寄存(B)位二进制数码的寄存器。
A.N-1
B.N
C.N+1
D.2N
5.T触发器特性方程(C)。
A
B
C
D
6.优先编码器的编码(A)。
A是唯一的
B不是唯一的
C有时唯一,有时不唯一
DA、B、C都不对
7.两个开关控制一盏灯,只有两个开关都闭合时灯才不亮,则该电路的逻辑关系是(A)。
A与非
B或非
C同或
D异或
8.已知F=ABC+CD,选出下列可以肯定使F=0的取值(D)
AABC=011
BBC=11
CCD=10
DBCD=111
9.2004个1连续异或的结果是(A)。
A0
B1
C不唯一
D逻辑概念错误
10.用不同数制的数字来表示2004,位数最少的是(D)。
A二进制
B八进制
C十进制
D十六进制
第6章EDA习题答案
6.4.1填空
1.VHDL语句可以分为并行和串行两类。
2.VHDL用于仿真验证的高级并行语句主要有块语句、生成语句、报告语句、并行断言语句和过程调用语句。
3.VHDL用于仿真验证的高级顺序语句主要有延时语句(WAIT)、退出语句(EXIT)、返回语句(RETURN)、继续语句(NEXT)和空语句(NULL)。
4.块语句(BLOCK)实现的是从结构体形式上的划分,并非功能上的划分。
5.生成语句(GENERATE)由说明语句、生成方式、并行语句和BEGIN-END四部分组成。
6.REPORT语句是报告相关信息的语句,类似于C语言中的printf语句。
7.VHDL中的断言语句主要用于程序调试、时序仿真的人机对话,属于不可综合语句,综合中被忽略而不会生成逻辑电路,只用于检测某些电路模型是否正常工作等。
8.过程调用语句属于VHDL子程序的一种类型。
子程序是一个VHDL程序模块,利用顺序语句来定义和完成算法,应用它能更有效地完成重复性的设计工作。
9.在进程中,当程序执行到WAIT语句时,运行程序将被挂起,直到满足此语句设置的条件后,才重新开始执行进程或过程中的程序。
10.NEXT语句主要用于在LOOP语句执行中进行有条件的或无条件的转向控制。
6.4.2选择
1、除了块语句(BLOCK)之外,下列语句同样也可以将结构体的并行描述分成多个层次的是(A)
A.元件例化语句(COMPONENT)
B.生成语句(GENERATE)
C.报告语句(REPORT)
D.空操作语句(NULL)
2、以下不是生成语句(GENERATE)组成部分的为(D)
A.生成方式
B.说明部分
C.并行语句
D.报告语句(REPORT)
3、断言语句对错误的判断级别最高的是(D)。
A.Note(通报)
B.Warning(警告)
C.Error(错误)
D.Failure(失败)
4、下列选项中不属于过程调用语句(PROCEDURE)参量表中可定义的流向模式的为(D)
A.IN
B.INOUT
C.OUT
D.LINE
5、下列选项中不属于等待语句(WAIT)书写方式的为(C)。
AWAIT
BWAITON信号表
CWAITUNTILL条件表达式
DWAITFOR时间表