EDA考试重点加考题Word文档格式.docx
《EDA考试重点加考题Word文档格式.docx》由会员分享,可在线阅读,更多相关《EDA考试重点加考题Word文档格式.docx(28页珍藏版)》请在冰点文库上搜索。
![EDA考试重点加考题Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/7/a1b0392f-daf9-4699-bd66-f4abad41b344/a1b0392f-daf9-4699-bd66-f4abad41b3441.gif)
EDA技术就是依靠功能强大的电子计算机,在EDA工具软件平台上,对以硬件描述语言HDL(HardwareDescriptionLanguage)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、优化和仿真,直至下载到可编程逻辑器件CPLD/FPGA或专用集成电路ASIC芯片中,实现既定的电子电路设计功能。
EDA设计流程包括设计准备、设计输入、设计处理、器件编程和设计完成5个步骤,以及相应的功能仿真、时序仿真和器件测试3个设计验证过程。
设计输入是指将设计的系统或电路按照EDA开发软件要求的某种形式表示出来,并送入计算机的过程。
设计输入方式有多种,包括图形输入方式、波形输入方式、采用硬件描述语言的文本输入方式等。
EDA技术涉及面广,内容丰富,从教学和实用的角度看,主要应掌握如下四个方面的内容:
①大规模可编程逻辑器件;
②软件开发工具;
③硬件描述语言;
④实验开发系统。
与ASIC设计相比,FPGA/CPLD显著的优势是开发周期短、投资风险小、产品上市速度快、市场适应能力强和硬件升级回旋余地大,而且当产品定型和产量扩大后,可将在生产中达到充分检验的VHDL设计迅速实现ASIC投产。
常用的硬件描述语言有VHDL、Verilog、ABEL。
VHDL:
作为IEEE的工业标准硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言。
Verilog:
支持的EDA工具较多,适用于RTL级和门电路级的描述,其综合过程较VHDL稍简单,但其在高级描述方面不如VHDL。
ABEL:
一种支持各种不同输入方式的HDL,被广泛用于各种可编程逻辑器件的逻辑功能设计,由于其语言描述的独立性,因而适用于各种不同规模的可编程器件的设计。
①实验或开发所需的各类基本信号发生模块,包括时钟、脉冲、高低电平等;
②FPGA/CPLD输出信息显示模块,包括数码显示、发光管显示、声响指示等;
③监控程序模块,提供“电路重构软配置”;
④目标芯片适配座以及上面的FPGA/CPLD目标芯片和编程下载电路。
。
EDA工具大致可以分为设计输入编辑器、仿真器、HDL综合器、适配器(或布局布线器)及下载器等5个模块。
1.5.1可编程器件的发展趋势
1.向高密度、大规模的方向发展
2.向系统内可重构的方向发展
系统内可重构是指可编程ASIC在置入用户系统后仍具有改变其内部功能的能力,使得系统内硬件的功能可以像软件那样通过编程来配置,从而在电子系统中引入“软硬件”的全新概念。
3.向低电压、低功耗的方向发展
4.向混合可编程技术方向发展
现代电子设计技术的核心是EDA技术。
EDA技术就是依靠功能强大的电子计算机,在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、优化和仿真,直至下载到可编程逻辑器件CPLD/FPGA或专用集成电路ASIC芯片中,实现既定的电子电路设计功能。
EDA技术极大地提高了电子电路设计效率,缩短了设计周期,节省了设计成本。
EDA技术包括硬件描述语言HDL、EDA工具软件、可编程逻辑器件和实验开发系统等方面内容。
目前,国际上流行的硬件描述语言主要有VHDL、VerilogHDL和AHDL。
EDA工具在EDA技术应用中占据极其重要的位置,利用EDA技术进行电路设计的大部分工作是在EDA软件工作平台上进行的。
EDA工具软件主要包括设计输入编辑器、仿真器、HDL综合器、适配器(或布局布线器)及下载器等5个模块。
今天,EDA技术已经成为电子设计的重要工具,无论是设计芯片还是设计系统,如果没有EDA工具的支持,都将是难以完成的。
EDA工具已经成为现代电路设计师的重要武器,正在发挥越来越重要的作用。
如果从集成密度上分类,可分为简单可编程逻辑器件(SPLD)和高密度可编程逻辑器件(HDPLD)。
通常将PROM、PLA、PAL和GAL这四种PLD产品划归为简单可编程逻辑器件,而将CPLD和FPGA统称为高密度可编程逻辑器件,
可编程逻辑器件又可分为四个种类:
(1)熔丝(Fuse)或反熔丝(Antifuse)编程器件
(2)U/EPROM编程器件,即紫外线擦除/电可编程器件。
大多数的FPGA和CPLD用这种方式编程。
(3)E2PROM编程器件,即电擦写编程器件。
GAL器件、ispLSI器件用这种方法编程。
(4)SRAM编程器件。
Xilinx公司的FPGA是这一类器件的代表。
PLD器件的基本结构框图,它由输入缓冲电路、与阵列、或阵列、输出缓冲电路等四部分组成
常用的可编程元件有如下四种类型:
(1)熔丝(Fuse)型开关;
(2)反熔丝(Antifuse)型开关;
(3)浮栅编程元件(EPROM和EEPROM);
(4)基于SRAM的编程元件。
MAX7000系列是Altera公司目前销量最大的产品,属于高性能、高密度的CPLD,其制造工艺采用了先进的CMOSEEPROM技术。
LUT是一种函数发生器,能快速计算4输入变量的任意函数。
LE中的可编程触发器可设置成D、T、JK或RS触发器。
该触发器的时钟、清除和置位控制信号可由专用输入引脚、通用I/O引脚或任何内部逻辑驱动。
也可旁路LE中的触发器,将LUT的输出直接连到LE的输出端,以实现纯组合逻辑的函数。
EDA开发工具进行设计实现时主要完成以下四个相关任务
(1)优化和合并
(2)映射(3)布局和布线(4)生成编程文件
ISPSynario是一个套装软件,它包括DataI/O的Synario软件和Lattice的PDS适配器软件。
ISPSynario软件包包括从设计输入、设计实现、设计仿真到器件编程所需要的可执行文件和库文件,提供完整的设计输入、设计实现和设计仿真工具。
Foundation软件是Xilinx公司推出的完整的可编程逻辑设计软件系列。
此集成化设计环境可以在其功能强大而易于使用的界面下,完成其设计流程,包括设计输入、逻辑综合与优化、仿真以及实现。
VHDL(VeryHighSpeedIntegratedCircuitsHardwareDescriptionLanguage,超高速集成电路硬件描述语言)是美国国防部于20世纪80年代后期出于军事工业的需要开发的。
VHDL设计描述的基本结构包含有一个实体和一个结构体,而完整的VHDL结构还包括配置、程序包与库。
本书第4章将对VHDL进行详细介绍
VHDL语言是一种高级描述语言,适用于电路高级建模,综合的效率和效果都比较好。
Verilog语言是一种较低级的描述语言,最适于描述门级电路,易于控制电路资源。
实体(ENTITY)说明部分和结构体(ARCHITECTURE)说明部分
实体(Entity)、结构体(Architecture)是组成VHDL的两个最基本结构,
,实体(Entity)、结构体(Architecture)、库(Library)、程序包(Package)与配置(Configuration)是构成一个完整的VHDL语言程序的五个基本结构。
端口模式:
端口类型:
BIT二进位类型;
BIT_VECTOR位向量类型;
STD_LOGIC工业标准的逻辑类型;
INTEGER整数类型;
STD_LOGIC_VECTOR工业标准的逻辑向量类型,是STD_LOGIC的组合
结构体:
ARCHITECTURE结构体名OF实体名IS
结构体中的说明语句位于ARCHITECTURE和BEGIN之间,对结构体内部使用的信号(SIGNAL)、常数(CONSTANT)、数据类型、元件(COMPONENT)和过程(PROCEDURE)等加以说明
NOT——取反;
AND——与;
OR——或;
NAND——与非;
NOR——或非;
XOR——异或;
XNOR——同或(VHLD-94新增逻辑运算符)。
+——加;
?
——减;
*——乘;
/——除;
&
——并置;
MOD——求模;
REM——取余;
+——正(一元运算);
-——负(一元运算);
**——指数;
ABS——取绝对值;
SLL、SRL、SLA、SRA、ROL、ROR——移位操作(VHDL-94新增操作符)。
关系运算符
VHDL语言中有6种关系运算符:
=——等于;
/=——不等于;
<
——小于;
>
——大于;
<
=——小于等于;
=——大于等于。
一、填空(20分,每空1分)
1、常用硬件描述语言有Verilog
HDL、System
Verilog、System
C和(VHDL)。
2、VHDL基本语句有(顺序语句)、
(并行语句)和属性和自定义语句。
3、VHDL的数据对象有常量、变量和(信号)。
5、VHDL
同或逻辑操作符是
(XNOR)
6、VHDL源程序的文件名应与(实体名称)相同,否则无法通过编译。
7、EDA设计输入法主要包括(原理图输入法)、(文本输入法)
和(波形输入法)。
8、原理图文件类型后缀名是.GDF,VHDL语言文本文件类型的后缀名是(.VHD
)。
10、EDA的设计流程为设计输入、(综合和适配)、仿真、编程下载和硬件测试。
11、常用状态机通常包含说明部分、
(主控时序进程)、(主控组合进程)和辅助进程四个部分。
12、一个完整的VHDL程序应包含三个基本部分库文件说明、程序包应用说明和(实体和结构体说明)。
13、VHDL
不等于关系运算符是
(
/=
)
14、STD_LOGIC_1164程序包是
(IEEE
库中最常用的程序包
15、EDA设计流程包括
设计输入、设计实现、实际设计检验和
下载编程四个步骤。
16、
EDA设计输入主要包括图形输入、HDL文本输入和状态机输入。
17、时序仿真是在设计输入完成之后,选择具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为功能仿真。
18、VHDL的数据对象包括变量、常量和信号,它们是用来存放各种类型数据的容器。
6.图形文件设计结束后一定要通过仿真,检查设计文件是否正确。
19、以EDA方式设计实现的电路设计文件,最终可以编程下到FPGA
和CPLD
芯片中,完成硬件设计和验证。
20、MAX+PLUS的文本文件类型是(后缀名).VHD。
21、在PC上利用VHDL进行项目设计,不允许在根目录下进行,必须在根目录为设计建立一个工程目录。
22、1VHDL源程序的文件名应与实体名相同,否则无法通过编译
二、VHDL程序填空
1.下面程序是1位十进制计数器的VHDL描述,试补充完整。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCNT10IS
PORT(CLK:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDCNT10;
ARCHITECTUREbhvOFCNT10IS
SIGNALQ1:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
PROCESS(CLK)
BEGIN
IFCLK'
EVENTANDCLK='
1'
THEN--边沿检测
IFQ1>
10THEN
Q1<
=(OTHERS=>
'
0'
);
--置零
ELSE
=Q1+1;
--加1
ENDIF;
ENDIF;
ENDPROCESS;
Q<
=Q1;
ENDbhv;
2.下面是一个多路选择器的VHDL描述,试补充完整。
ENTITYbmuxIS
PORT(sel:
INSTD_LOGIC;
A,B:
INSTD_LOGIC_VECTOR(7DOWNTO0);
Y:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDbmux;
ARCHITECTUREbhvOFbmuxIS
y<
=Awhensel='
ELSE
B;
三、VHDL程序改错
仔细阅读下列程序,回答问题
--1
--2
ENTITYLED7SEGIS--3
PORT(A:
INSTD_LOGIC_VECTOR(3DOWNTO0);
--4
CLK:
--5
LED7S:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
--6
ENDLED7SEG;
--7
ARCHITECTUREoneOFLED7SEGIS--8
SIGNALTMP:
STD_LOGIC;
--9
BEGIN--10
SYNC:
PROCESS(CLK,A)--11
BEGIN--12
THEN--13
TMP<
=A;
--14
--15
ENDPROCESS;
--16
OUTLED:
PROCESS(TMP)--17
BEGIN--18
CASETMPIS--19
WHEN"
0000"
=>
LED7S<
="
0111111"
;
--20
0001"
0000110"
--21
0010"
1011011"
--22
0011"
1001111"
--23
0100"
1100110"
--24
0101"
1101101"
--25
0110"
1111101"
--26
0111"
0000111"
--27
1000"
1111111"
--28
1001"
1101111"
--29
ENDCASE;
--30
--31
ENDone;
--32
1.在程序中存在两处错误,试指出,并说明理由:
第14行TMP附值错误
第29与30行之间,缺少WHENOTHERS语句
2.修改相应行的程序:
错误1行号:
9程序改为:
TMP:
错误2行号:
29程序改为:
该语句后添加WHENOTHERS=>
0000000"
四、阅读下列VHDL程序,画出原理图(RTL级)
ENTITYHADIS
PORT(a:
b:
c:
OUTSTD_LOGIC;
d:
OUTSTD_LOGIC);
ENDENTITYHAD;
ARCHITECTUREfh1OFHADIS
c<
=NOT(aNANDb);
d<
=(aORb)AND(aNANDb);
ENDARCHITECTUREfh1;
五、请按题中要求写出相应VHDL程序
1.带计数使能的异步复位计数器
输入端口:
clk时钟信号
rst异步复位信号
en计数使能
load同步装载
data(装载)数据输入,位宽为10
输出端口:
q计数输出,位宽为10
ENTITYCNT1024IS
PORT(CLK,RST,EN,LOAD:
DATA:
INSTD_LOGIC_VECTOR(9DOWNTO0);
Q:
OUTSTD_LOGIC_VECTOR(9DOWNTO0));
ENDCNT1024;
ARCHITECTUREONEOFCNT1024IS
PROCESS(CLK,RST,EN,LOAD,DATA)
VARIABLEQ1:
STD_LOGIC_VECTOR(9DOWNTO0);
IFRST='
THEN
Q1:
ELSIFCLK='
ANDCLK'
EVENTTHEN
IFLOAD='
THEN
Q1:
=DATA;
IFEN='
Q1:
=Q1+1;
ENDIF;
Q<
ENDONE;
2.
看下面原理图,写出相应VHDL描述
ENTITYTRI_STATEIS
PORT(E,A:
INOUTSTD_LOGIC;
B:
ENDTRI_STATE;
ARCHITECTUREBEHAVOFTRI_STATEIS
PROCESS(E,A,Y)
IFE='
B<
=Y;
Y<
='
Z'
ELSE
ENDP