EDA知识要点
1、 EDA的英文全称是什么?请简述EDA技术,并列举常见的EDA工具。
EDA即Electronic Design Automation的缩写,直译为:电子设计自动化。
EDA技术是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计电子系统到硬件系统(的逻辑编译,逻辑化简,逻辑分割,逻辑综合及优化,逻辑布局布线,逻辑仿真,直至对于特定目标芯片的适配编译,逻辑映射,编程下载等操作,)最终形成集成电子系统或专用集成芯片的一门技术.电子设计自动化(EDA)方法一般采用自顶向下(TOP-DOWN)的设计方法,也叫正向设计,它是针对传统的自底向上(Bottom-up)的设计方法而提出来的。
常见的EDA工具有:设计输入编辑器,HDL综合器、仿真器、适配器(或布局布线器)、下载器。如:Active-HDL、FPGA-Express、Xilinx的ISE、Altera的MAX+plusⅡ和QuartusⅡ、Cadence、Synplicity的Synplify Pro等。
2、 简述EDA技术经历了哪几个发展阶段。
EDA技术:计算机辅助设计CAD、计算机辅助工程CAE、电子系统设计自动化ESDA.
3、 可编程器件(PLD)分为哪两类。
可编程逻辑器件分为:简单可编程逻辑器件SPLD、复杂可编程逻辑器件CPLD、现场可编程门阵列FPGA、在系统可编程ISP逻辑器件。
4、 什么是VHDL?简述VHDL的发展史。
VHDL是美国国防部为电子项目设计承包商提供的,签定合同使用的,电子系统硬件描述语言。1983年成立VHDL语言开发组,1987年推广实施,1993年扩充改版。VHDL是IEEE标准语言,广泛用于数字集成电路逻辑设计。
5、 简述可编程ASIC与一般ASIC在设计、应用、成本等方面的优缺点。
可编程ASIC的设计其设计资金投入小、风险小、开发周期短、调试灵活、易学易用;而一般ASIC设计(也称为ASIC设计)的设计资金投入大、流片费用都是昂贵、研发投片制作具
有一定的失败风险、且其开发周期较长、调试改动设计都比较困难。
不过,产品进入大批量生产后,ASIC成品的成本往往远低于可编程器件成本。
6、 目前国际上较大的PLD器件制造公司有那几家公司。
三大公司:Altera、Xilinx、Lattice。
7、 目前较流行的集成EDA开发环境(软件)有那些?
Altera公司的QuartusⅡ和maxplusⅡ、Xilinx公司的ISE、Lattice公司的ispLEVER Adbanced System。
8、 目前流行的HDL语言有那些?
ABEL-HDL、AHDL、VHDL。
9、 什么是ASIC。
ASIC(Application Specific Intergrated Circuits)即专用集成电路,按照设计方法不同可
分为:全定制ASIC、半定制ASIC、可编程ASIC。
10、 FPGA和CPLD的区别?
FPGA和CPLD的区别为(1)从实现逻辑的电路来看,CPLD的内部由与或阵列组成,FPGA的内部由查表构成(2)制造器件所用工艺不同,CPLD属EEPROM工艺,FPGA属SRAM工艺(3)从使用方法来看,FPGA易失需要配置芯片,CPLD非易失,不怕掉电,不需要专门配置的芯片(4)从保密性角度,CPLD保密性好,FPGA保密性不好。
11、 VHDL的两大类基本描述语句是什么。
VHDL的基本描述语句有并行语句(Concurrent Statements)和顺序语句(Sequential Statements)两大类。
12、 Top-Down设计方法中逻辑综合的作用是什么?
逻辑综合主要是通过综合工具,依据设计人员设定的时序、面积等约束条件,将与工艺无关的RTL级的电路逻辑描述程序,转化为与工艺相关的电路,是将程序设计转为硬件实现的重要环节。
13、 MAX+PLUSⅡ平台上,原理图、仿真波形文件、VHDL文件的扩展名是什么?
原理图:.gdf、仿真:.scf、vhdl:.vhd。
14、 结构体常见的功能语句有哪些?
进程语句、信号赋值语句、块语句、元件例化语句、子程序调用语句。
15、 子程序分为哪两类,其结构为什么?
子程序包括过程和函数,包括子程序首和子程序体。
16、 什么是库,程序包,子程序,过程调用,函数调用?
库(libraries)和程序包(package)用来描述和保存元件、类型说明、函数、模块等,以便在其他设计中可随时引用它们。
库(libraries)是用来存储和放置可编译的设计单元的地方,通过其目录可查询、调用。设计库中的设计单元(实体说明、结构体、配置说明、程序包说明和程序包体)可以用作其他VHDL描述的资源。
函数和过程统称为子程序。
子程序由过程和函数组成。在子程序调用过程中,过程能返回多个变量,函数能返回一个变量。若子程序调用是一个过程,就称为过程调用;若子程序调用是一个函数,则称为函数调用。过程调用和函数调用都是子程序调用。
函数的参数都是输入参数。过程的参数有输入、输出和双向参数。
函数有顺序函数、并行函数。过程有顺序过程、并行过程。
17、 VHDL中常见的库有哪些?
库的种类:IEEE库(标准程序包:STD_LOGIC_1164、NUMERIC_BIT、NUMERIC_STD、STD_LOGIC_ARITH、STD_LOGIC_SIGNAD、STD_LOGIC_UNSIGNED)、STD库(标准程序包:STANDARD、TEXTIO)、WORK库、VITAL库、用户定义库。
18、 程序设计语言一般可分为三大类简述VHDL设计实体的结构
实体由实体名、类型表、端口表、实体说明部分和实体语句部分组成。根据IEEE标准,实体组织的一般格式为:
ENTITY 实体名 IS
[GENERIC(类型表);] --可选项
[PORT(端口表);] --必需项
实体说明部分; --可选项
[BEGIN
实体语句部分;]
END [ENTITY] [实体名];
19、 VHDL的标识符由什么构成。
标识符是VHDL语言中各种成分的名称,包括常量、变量、信号、端口、子程序、参数。
20、 什么是数据类型?VHDL中的数据类型可以分为哪几大类?为什么说VHDL语言是强数据类型的描述语言?
数据类型是用标识符表征的某个或某些个数值的集合。
数据类型按照定义方式分可分为标准预定义数据类型和用户自定义数据类型两大类(按照书上的标量型、复合类型、存取类型、文件类型分亦可)。
在VHDL中若某个对象被声明为某种数据类型,则其取值必需在该数据类型所限定的取值范围之内,且只有相同数据类型的数据对象之间才可以做赋值或运算,不同数据类型的数据必需通过数据类型转换函数转换一致后,才可运算,故说VHDL语言是强数据类型的描述语言。
21、 VHDL中预定义数据类型有那些?
预定义数据类型:布尔(boolean)数据类型、位(bit)数据类型、位矢量(bit-vector)数据类型、字符(character)数据类型、整数(integer)数据类型、自然数(natural)和整数(positive)数据类型、实数(real)数据类型、字符串(string)数据类型、时间(ti
me)数据类型、错误等级(severity level)、综合器不支持的数据类型(物理类型、浮点型、aceess型、file型)。
22、 标准逻辑位数据类型常用的数值有哪几种?
‘U’末初始化、‘X’强未知的、‘0’强0、‘1’强1、‘Z’高阻态、‘W’弱未知的、‘L’弱0、‘H’弱1、‘-’忽略。
23、 什么叫对象?对象有哪几个类型?
在VHDL语言中,凡是可以赋于一个值的客体叫对象(object)。VHDL对象包含有专门数据类型,主要有4个基本类型:常量(CONSTANT)、信号(SIGNAL)、变量(VARIABLE)和文件(FILES)。
24、 VHDL的数据对象有三种:常量、变量、信号,三者的区别?
三者的区别:(1)从硬件电路系统来看,常量相当于电路中的恒定电平,而变量和信号则相当于组合电路系统中门与门之间的连线及其连线上的信号值(2)从行为仿真和VHDL语
句功能上看,三者区别主要表现在接受和保持信号的方式、信号保持与传递的区域大小上。例如信号可以设置延时量,而变量则不能;变量只能作为局部的信息载体,而信号则可作为模块间的信息载体。(3)从综合后所对应的硬件电路结构来看,信号一般将对应更多的硬件结构,但在许多情况下,信号和变量并没有什么区别
三种对象的说明场合:信号是全局量,用于实体、结构体和程序包。变量是局部量,用于进程、函数和子程序。常量是全局量,可用于上面两种场合
25、 数据对象有哪些种,分别写出定义这些数据对象的一般表述格式。
数据对象有三种:
常量格式:constant 常量名:数据类型[:=表达式];
变量格式:variable变量名:数据类型[:=初始值];
信号格式:signal信号名:数据类型[:=初始值];
26、 信号赋值语句在什么情况下做并行语句?在什么情况下做顺序语句?信号赋值符号和
变量赋值符号分别是什么?两种赋值符号有什么区别?
信号赋值语句在进程或子程序外做并行语句,并发执行且并发完成赋值,与语句所处的位值无关。
信号赋值语句在进程内或子程序内做顺序语句,按顺序执行,与语句所处的位值有关。但完成赋值是并发的,故也具有并行特征。
信号赋值符号为“<=”。变量赋值符号为“:=”。
信号赋值符号用于信号赋值动作,不立即生效。变量赋值符号用于变量赋值动作,立即生效。
27、 写出VHDL常用的并行语句的名称。
六种并行语句:进程语句、并行信号赋值语句、块语句、元件例化语句、生成语句、并行过程调用语句。
28、 写出VHDL常用的顺序语句的名称。
六种基本顺序语句:赋值语句、转向控制语句、等待语句、子程序调用语句、返回语句、空操作语句。
29、 并行语句和顺序语句在使用上有哪些差异?
并发语句只能出现在并发语句结构中,如结构体,BLOCK等,并发语句的执行与其在程序中的书写顺序无关;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论