EDA技术课后答案_第1页
EDA技术课后答案_第2页
EDA技术课后答案_第3页
EDA技术课后答案_第4页
EDA技术课后答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 EDA习题 第一章 1.1 EDA的英文全称是什么?EDA的中文含义是什么? 答:EDA即Electronic Design Automation的缩写,直译为:电子设计自动化。 1.2 什么叫EDA技术? 答:EDA技术有狭义和广义之分,狭义EDA技术就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作

2、,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。 1.3 利用EDA技术进行电子系统的设计有什么特点? 答: 用软件的方式设计硬件; 用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的; 设计过程中可用有关软件进行各种仿真; 系统可现场编程,在线升级; 整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。 1.4 从使用的角度来讲,EDA技术主要包括几个方面的内容?这几个方面在整个电子系统的设计中分别起什么作用? 答:EDA技术的学习主要应掌握四个方面的内容: 大规模可编程逻辑器件; 硬件描述语言; 软件开发工具; 实验开发系统。其中,硬件

3、描述语言是重点。 对于大规模可编程逻辑器件,主要是了解其分类、基本结构、工作原理、各厂家产品的系列、性能指标以及如何选用,而对于各个产品的具体结构不必研究过细。 对于硬件描述语言,除了掌握基本语法规定外,更重要的是要理解VHDL的三个“精髓”:软件的强数据类型与硬件电路的惟一性、硬件行为的并行性决定了VHDL语言的并行性、软件仿真的顺序性与实际硬件行为的并行性;要掌握系统的分析与建模方法,能够将各种基本语法规定熟练地运用于自己的设计中。 对于软件开发工具,应熟练掌握从源程序的编辑、逻辑综合、逻辑适配以及各种仿真、硬件验证各步骤的使用。 对于实验开发系统,主要能够根据自己所拥有的设备,熟练地进行

4、硬件验证或变通地进行硬件验证。 1.5 什么叫可编程逻辑器件(简称PLD)? FPGA和CPLD的中文含义分别是什么?国际上生产FPGA/CPLD的主流公司,并且在国内占有较大市场份额的主要有哪几家?其产品系列有哪些?其可用逻辑门/等效门数大约在什么范围? 答:可编程逻辑器件(简称PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。 FPGA和CPLD分别是现场可编程门阵列和复杂可编程逻辑器件的简称。 国际上生产FPGA/CPLD的主流公司,并且在国内占有市场份额较大的主要是Xilinx,Altera,Lattice三家公司。 Xilinx公司的FPGA器件有XC2000,XC3000,

5、XC4000,XC4000E,XC4000XLA,XC5200系列等,可用门数为120018 000;Altera公司的CPLD器件有FLEX6000,FLEX8000,FLEX10K,FLEX10KE系列等,提供门数为500025 000;Lattice公司的ISP-PLD器件有ispLSI1000,ispLSI2000,ispLSI3000,ispLSI6000系列等,集成度可多达25 000个PLD等效门。 1.6 FPGA和CPLD各包括几个基本组成部分? 答:FPGA 在结构上主要分为三个部分,即可编程逻辑单元,可编程输入/输出单元和可编程连线三个部分。CPLD在结构上主要包括三个部

6、分,即可编程逻辑宏单元,可编程输入/输出单元和可编程内部连线。 1.7 FPGA/CPLD有什么特点?二者在存储逻辑信息方面有什么区别?在实际使用中,在什么情况下选用CPLD,在什么情况下选用FPGA? 1.8 常用的硬件描述语言有哪几种?这些硬件描述语言在逻辑描述方面有什么区别? 答:常用的硬件描述语言有VHDL、Verilog、ABEL。 VHDL:作为IEEE的工业标准硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言;逻辑综合能力强,适合行为描述。 Verilog:支持的EDA工具较多,适用于RTL级和门电路级的描述,其综合过程较VHDL稍简单,但其在高级描述方面不如VHDL

7、。 ABEL:一种支持各种不同输入方式的HDL,被广泛用于各种可编程逻辑器件的逻辑功能设计,由于其语言描述的独立性,因而适用于各种不同规模的可编程器件的设计。 1.9 目前比较流行的、主流厂家的EDA的软件工具有哪些?这些开发软件的主要区别是什么? 答:目前比较流行的、主流厂家的EDA的软件工具有Altera的MAX+plus II、Lattice的ispEXPERT、Xilinx的Foundation Series。 1.10 对于目标器件为FPGA/CPLD的VHDL设计,其工程设计包括几个主要步骤?每步的作用是什么?每步的结果是什么? 答:第一:需要进行“源程序的编辑和编译”用一定的逻辑

8、表达手段将设计表达出来; 第二:要进行“逻辑综合”-将用一定的逻辑表达手段将表达出来的设计经过一系列的操作,分解成一系列的逻辑电路及对应的关系(电路分解); 第三:要进行目标器件的“布线/适配”-在选用的目标器件中建立这些基本逻辑电路的对应关系(逻辑实现) 第四:目标器件的编程下载-将前面的软件设计经过编程变成具体的设计系统(物理实现);最后要进行硬件仿真/硬件测试-验证所设计的系统是否符合要求。同时,在设计过程中要进行有关“仿真”-模拟有关设计结果与设计构想是否相符。设计基本流程如图1-所示。 1.11 名词解释:逻辑综合、逻辑适配、行为仿真、功能仿真、时序仿真。 答:逻辑综合:逻辑综合器的

9、功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形的描述,针对给定硬件结构组件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述文件。由此可见,综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将软件描述与给定硬件结构用某种网表文件的方式联系起来。显然,综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换成低级的,可与FPGA/CPLD或构成ASIC的门阵列基本结构相映射的网表文件。 逻辑适配:适配器的功能是将由综合器产生的网表文件配置于指定的目标器件中,产生最终的下载文件,如JEDEC格式的文件。适配所选定的目标器件(F

10、PGA/CPLD芯片)必须属于原综合器指定的目标器件系列。 行为仿真:在综合以前可以先对VHDL所描述的内容进行行为仿真,即将VHDL设计源程序直接送到VHDL仿真器中仿真,这就是所谓的VHDL行为仿真。因为此时的仿真只是根据VHDL的语义进行的,与具体电路没有关系。 功能仿真:仅对VHDL描述的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程不涉及具体器件的硬件特性,如延时特性。 时序仿真:时序仿真是接近真实器件运行的仿真,仿真过程中已将器件特性考虑进去了,因而,仿真精度要高得多。但时序仿真的仿真文件必须来自针对具体器件的布线/适配器所产生的仿真文件。综合后所得的EDI

11、F/XNF门级网表文件通常作为FPGA布线器或CPLD适配器的输入文件。通过布线/适配的处理后,布线/适配器将生成一个VHDL网表文件,这个网表文件中包含了较为精确的延时信息,网表文件中描述的电路结构与布线/适配后的结果是一致的。此时,将这个VHDL网表文件送到VHDL仿真器中进行仿真,就可以得到精确的时序仿真结果了2-12-3 2-42-52-62.73.1比较常用硬件描述语言VHDL、Verilog和ABEL语言的优劣。 1.VHDL:描述语言层次较高,不易控制底层电路,对综合器的性能要求较高。有多种EDA工具选择,已成为IEEE标准。 应用VHDL进行工程设计的优点是多方面的,具体如下:

12、 (1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力。 (2) VHDL具有丰富的仿真语句和库函数,使得在任何大系统的设计早期,就能查验设计系统的功能可行性,随时可对系统进行仿真模拟,使设计者对整个工程的结构和功能可行性做出判断。 (3) VHDL语句的行为描述能力和程序结构,决定了它具有支持大规模设计的分解和已有设计的再利用功能。 (4) 用VHDL完成一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动把VHDL描述设计转变成门级网表(根据不同的实现芯片)。 (5) VHDL对设计的描述具有相对独立性。 (6) VHDL具有类属描述语句和子程序调用等功能,对于完成的设

13、计,在不改变源程序的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。 2. Verilog:设计者需要了解电路的结构细节,对综合器的性能要求较低。有多种EDA工具选择,已成为IEEE标准。 3.ABEL: 设计者需要了解电路的结构细节,对综合器的性能要求较低。支持ABEL的综合器只有一家,ABEL正朝国际化标准努力。 3.2 VHDL程序一般包括几个组成部分?每部分的作用是什么? (1)三个基本组成部分:库、程序包使用说明,实体描述和实体对应的结构体描述。 (2)库、程序包使用说明:用于打开调用本设计实体将用到的库、程序包 实体描述:用于描述该设计实体与外界的接口信号说明 结构

14、体描述:用于描述该设计实体内部的组成及内部工作的逻辑关系 结构体配置语句主要用于层次化的方式对特定的设计实体进行元件的例化,或是为实体选定某个特定的结构体 3.3 VHDL语言中数据对象有几种?各种数据对象的作用范围如何?各种数据对象的实际物理含义是什么? (1)数据对象有三种:变量、常量、信号 (2)常量的作用范围取决于其所定义的位置。若在程序包中定义,则可以用在调用该程序包的所有设计实体中。若定义在实体中,则可在这个实体的所有结构体中使用。若定义在结构体中,则只能用于该结构体。若定义在进程/子程序中,则只能用于该进程/子程序。 变量属于局部量,作用范围仅限于所定义的进程或子程序内部。 信号

15、属于全局量,作用范围取决于其所定义的位置。若在程序包中定义,则可以用在调用该程序包的所有设计实体中。若定义在实体中,则可在这个实体的所有结构体中使用。若定义在结构体中,则只能用于该结构体。 (3)信号表示硬件中的连线,用于各并行语句模块之间的通信。变量一般用于存储局部/临时数据。 常量表示电路中的恒定电平,可使代码中常数易于阅读和修改。 3.4 什么叫标识符?VHDL的基本标识符是怎样规定的? (1)标识符用来定义常量、变量、信号、端口、子程序或者参数的名字。 (2)VHDL的基本标识符就是以英文字母开头,不连续使用下划线,不以下划线结尾的,由26个英文大小写字母,数字0-9以及下划线组成的字

16、符串。 3.5 信号和变量在描述和使用时有哪些主要区别? (1)变量只能在进程或子程序内部定义,用于存储局部/临时数据。信号只能在进程或子程序的外部定义,表示硬件中的连线,用于各并行语句模块之间的通信。 (2)信号用signal关键字定义,赋值符号为”<=”。变量用variable关键字定义,赋值符号为”:=” (3)信号赋值,可以设定延时量,需要延时一段时间后才执行;变量赋值立即执行。 3.6 VHDL语言中的标准数据类型有哪几类?用户可以自己定义的数据类型有哪几类?并简单介绍各数据类型。 (1)标量型:属单元素最基本的数据类型,通常用于描述一个单值数据对象,它包括实数类型、整数类型、

17、枚举类型和时间类型。 复合类型:可以由细小的数据类型复合而成,如可有标量复合而成。复合类型主要有数组型和记录型。 存取类型:为给定的数据类型的数据对象提供存取方式。 文件类型:用于提供多值存取类型。 (2)用户可自定义的数据类型:枚举类型、整数类型、数组类型、记录类型、时间类型、实数类型等 3.7 BIT数据类型和STD_LOGIC数据类型有什么区别? BIT 数据类型只能取值0 或1,而STD_LOGIC 数据类型是BIT 数据类型的扩展,除了0 和 1 外,还包括7 种数据类型,分别是U,X,Z,W,L,H,_ 3.8 用户怎样自定义数据类型?试举例说明。 利用类型定义语句TYPE 和子类

18、型定义语句SUBTYPE 实现。 如TYPE WEEK IS (SON,MON,TUE,WED,THU,FRI,SAT) SUBTYPE DIGITS INTEGER RANGE 0 TO 9 3.9 VHDL语言有哪几类操作符?在一个表达式中有多种操作符时应按怎样的准则进行运算?下列三个表达式是否等效: A<=NOT B AND C OR D; A<=(NOT B AND C) OR D; A<=NOT B AND (C OR D). (1)主要有四种操作符 逻辑运算符,关系运算符,算术运算符,符号运算符此外还有重载运算符。(2)按照操作符的优先级高低进行运算 (3)这三个

19、表达式不等效。1式表达错误,对同一优先级的不同运算符应加上括号。2和3式的运算顺序不同。 3.16 在CASE 语句中在什么情况下可以不要WHEN OTHERS语句?在什么情况下一定要WHEN OTHERS语句? 答:case语句执行时,根据选择表达式的值来选择执行哪个顺序语句,要求对于选择表达式的每个可能取值,有且仅有一个选择值与之匹配。因此,当已列出的选择值能够覆盖选择表达式的所有可能取值时,可以不要when others语句。否则,要用 when others表示其它未列出的选择值。 a.用IF语句设计一个四十六译码器 PROCESS(G1,g2a,g2b,sel) begin if(g

20、1='1'and g2a='0'and g2b='0')then if(sel="0000")theny<="1111111111111110" elsif(sel="0001")theny<="1111111111111101" elsif(sel="0010")theny<="1111111111111011" elsif(sel="0011")theny<="11111

21、11111110111" elsif(sel="0100")theny<="1111111111101111" elsif(sel="0101")theny<="1111111111011111" elsif(sel="0110")theny<="1111111110111111" elsif(sel="0111")theny<="1111111101111111" elsif(sel="10

22、00")theny<="1111111011111111" elsif(sel="1001")theny<="1111110111111111" elsif(sel="1010")theny<="1111101111111111" elsif(sel="1011")theny<="1111011111111111" elsif(sel="1100")theny<="11101111111

23、11111" elsif(sel="1101")theny<="1101111111111111" elsif(sel="1110")theny<="1011111111111111" elsif(sel="1111")then y<="0111111111111111" else y<="XXXXXXXXXXXXXXXX" end if; else Y<="1111111111111111" e

24、nd if; end process; b.用CASE语句设计一个四十六译码器 case sel is when"0000"=>y<="1111111111111110" when "0001"=>y<="1111111111111101" when "0010"=>y<="1111111111111011" when "0011"=>y<="1111111111110111" when&

25、quot;0100"=>y<="1111111111101111" when"0101"=>y<="1111111111011111" when "0110"=>y<="1111111110111111" when "0111"=>y<="1111111101111111" when "1000"=>y<="1111111011111111" wh

26、en "1001"=>y<="1111110111111111" when "1010"=>y<="1111101111111111" when "1011"=>y<="1111011111111111" when "1100"=>y<="1110111111111111" when "1101"=>y<="1101111111111111&quo

27、t; when "1110"=>y<="1011111111111111" when "1111"=>y<="0111111111111111" when others =>y<="XXXXXXXXXXXXXXXX" end case3.22 什么叫进程语句?你是如何理解进程语句的并行性和顺序性的双重特性的? (1)进程实际上是顺序语句描述的一种进程过程,进程是用于描述事件的,process语句结构包含了一个代表实体中部分逻辑行为的独立的顺序语句描述的进程 (2)一个结构体中可以有多个并行进程结构,而有一个进程内部结构却是由一系列顺序语句来构成的,即进程语句间是并行执行的进程的内部是顺序执行的 ( 进程语句是一种描述硬件行为的语句,进程语句内部是由顺序语句构成的,内部执行时是顺 序性的,但进程语句属于并行语句,多个进程之间的执行并行运行。 ) 3.23 进程的启动条件是什么?如果进程有两个基本点敏感变量,其中一个由“0”变“1”,等待一段时间以后再由“1”变“0”;而另一个只由“1”变“0”改变一次,请问该进程将执行几遍? 答:进程的启动条件:敏感信号列表中的任何一个敏感信号的值发生变化,或者wait语句

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论