EDA技术课后答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

EDA习题第一章1.1EDA的英文全称是什么?EDA的中文含义是什么?答:EDA即ElectronicDesignAutomation的缩写,直译为:电子设计自动化。1.2什么叫EDA技术?答:EDA技术有狭义和广义之分,狭义EDA技术就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术。1.3利用EDA技术进行电子系统的设计有什么特点?答:①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。1.4从使用的角度来讲,EDA技术主要包括几个方面的内容?这几个方面在整个电子系统的设计中分别起什么作用?答:EDA技术的学习主要应掌握四个方面的内容:①大规模可编程逻辑器件;②硬件描述语言;③软件开发工具;④实验开发系统。其中,硬件描述语言是重点。对于大规模可编程逻辑器件,主要是了解其分类、基本结构、工作原理、各厂家产品的系列、性能指标以及如何选用,而对于各个产品的具体结构不必研究过细。对于硬件描述语言,除了掌握基本语法规定外,更重要的是要理解VHDL的三个“精髓”:软件的强数据类型与硬件电路的惟一性、硬件行为的并行性决定了VHDL语言的并行性、软件仿真的顺序性与实际硬件行为的并行性;要掌握系统的分析与建模方法,能够将各种基本语法规定熟练地运用于自己的设计中。对于软件开发工具,应熟练掌握从源程序的编辑、逻辑综合、逻辑适配以及各种仿真、硬件验证各步骤的使用。对于实验开发系统,主要能够根据自己所拥有的设备,熟练地进行硬件验证或变通地进行硬件验证。1.5什么叫可编程逻辑器件(简称PLD)?FPGA和CPLD的中文含义分别是什么?国际上生产FPGA/CPLD的主流公司,并且在国内占有较大市场份额的主要有哪几家?其产品系列有哪些?其可用逻辑门/等效门数大约在什么范围?答:可编程逻辑器件(简称PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。FPGA和CPLD分别是现场可编程门阵列和复杂可编程逻辑器件的简称。国际上生产FPGA/CPLD的主流公司,并且在国内占有市场份额较大的主要是Xilinx,Altera,Lattice三家公司。Xilinx公司的FPGA器件有XC2000,XC3000,XC4000,XC4000E,XC4000XLA,XC5200系列等,可用门数为1200~18000;Altera公司的CPLD器件有FLEX6000,FLEX8000,FLEX10K,FLEX10KE系列等,提供门数为5000~25000;Lattice公司的ISP-PLD器件有ispLSI1000,ispLSI2000,ispLSI3000,ispLSI6000系列等,集成度可多达25000个PLD等效门。1.6FPGA和CPLD各包括几个基本组成部分?答:FPGA在结构上主要分为三个部分,即可编程逻辑单元,可编程输入/输出单元和可编程连线三个部分。CPLD在结构上主要包括三个部分,即可编程逻辑宏单元,可编程输入/输出单元和可编程内部连线。1.7FPGA/CPLD有什么特点?二者在存储逻辑信息方面有什么区别?在实际使用中,在什么情况下选用CPLD,在什么情况下选用FPGA?1.8常用的硬件描述语言有哪几种?这些硬件描述语言在逻辑描述方面有什么区别?答:常用的硬件描述语言有VHDL、Verilog、ABEL。VHDL:作为IEEE的工业标准硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言;逻辑综合能力强,适合行为描述。Verilog:支持的EDA工具较多,适用于RTL级和门电路级的描述,其综合过程较VHDL稍简单,但其在高级描述方面不如VHDL。ABEL:一种支持各种不同输入方式的HDL,被广泛用于各种可编程逻辑器件的逻辑功能设计,由于其语言描述的独立性,因而适用于各种不同规模的可编程器件的设计。1.9目前比较流行的、主流厂家的EDA的软件工具有哪些?这些开发软件的主要区别是什么?答:目前比较流行的、主流厂家的EDA的软件工具有Altera的MAX+plusII、Lattice的ispEXPERT、Xilinx的FoundationSeries。1.10对于目标器件为FPGA/CPLD的VHDL设计,其工程设计包括几个主要步骤?每步的作用是什么?每步的结果是什么?答:第一:需要进行“源程序的编辑和编译”—用一定的逻辑表达手段将设计表达出来;第二:要进行“逻辑综合”---将用一定的逻辑表达手段将表达出来的设计经过一系列的操作,分解成一系列的逻辑电路及对应的关系(电路分解);第三:要进行目标器件的“布线/适配”---在选用的目标器件中建立这些基本逻辑电路的对应关系(逻辑实现)第四:目标器件的编程下载---将前面的软件设计经过编程变成具体的设计系统(物理实现);最后要进行硬件仿真/硬件测试---验证所设计的系统是否符合要求。同时,在设计过程中要进行有关“仿真”---模拟有关设计结果与设计构想是否相符。设计基本流程如图1-1所示。1.11名词解释:逻辑综合、逻辑适配、行为仿真、功能仿真、时序仿真。答:逻辑综合:逻辑综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形的描述,针对给定硬件结构组件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述文件。由此可见,综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将软件描述与给定硬件结构用某种网表文件的方式联系起来。显然,综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换成低级的,可与FPGA/CPLD或构成ASIC的门阵列基本结构相映射的网表文件。逻辑适配:适配器的功能是将由综合器产生的网表文件配置于指定的目标器件中,产生最终的下载文件,如JEDEC格式的文件。适配所选定的目标器件(FPGA/CPLD芯片)必须属于原综合器指定的目标器件系列。行为仿真:在综合以前可以先对VHDL所描述的内容进行行为仿真,即将VHDL设计源程序直接送到VHDL仿真器中仿真,这就是所谓的VHDL行为仿真。因为此时的仿真只是根据VHDL的语义进行的,与具体电路没有关系。功能仿真:仅对VHDL描述的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程不涉及具体器件的硬件特性,如延时特性。时序仿真:时序仿真是接近真实器件运行的仿真,仿真过程中已将器件特性考虑进去了,因而,仿真精度要高得多。但时序仿真的仿真文件必须来自针对具体器件的布线/适配器所产生的仿真文件。综合后所得的EDIF/XNF门级网表文件通常作为FPGA布线器或CPLD适配器的输入文件。通过布线/适配的处理后,布线/适配器将生成一个VHDL网表文件,这个网表文件中包含了较为精确的延时信息,网表文件中描述的电路结构与布线/适配后的结果是一致的。此时,将这个VHDL网表文件送到VHDL仿真器中进行仿真,就可以得到精确的时序仿真结果了2-12-32-42-52-62.73.1比较常用硬件描述语言VHDL、Verilog和ABEL语言的优劣。1.VHDL:描述语言层次较高,不易控制底层电路,对综合器的性能要求较高。有多种EDA工具选择,已成为IEEE标准。应用VHDL进行工程设计的优点是多方面的,具体如下:(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力。(2)VHDL具有丰富的仿真语句和库函数,使得在任何大系统的设计早期,就能查验设计系统的功能可行性,随时可对系统进行仿真模拟,使设计者对整个工程的结构和功能可行性做出判断。(3)VHDL语句的行为描述能力和程序结构,决定了它具有支持大规模设计的分解和已有设计的再利用功能。(4)用VHDL完成一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动把VHDL描述设计转变成门级网表(根据不同的实现芯片)。(5)VHDL对设计的描述具有相对独立性。(6)VHDL具有类属描述语句和子程序调用等功能,对于完成的设计,在不改变源程序的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。2.Verilog:设计者需要了解电路的结构细节,对综合器的性能要求较低。有多种EDA工具选择,已成为IEEE标准。3.ABEL:设计者需要了解电路的结构细节,对综合器的性能要求较低。支持ABEL的综合器只有一家,ABEL正朝国际化标准努力。3.2VHDL程序一般包括几个组成部分?每部分的作用是什么?(1)三个基本组成部分:库、程序包使用说明,实体描述和实体对应的结构体描述。(2)库、程序包使用说明:用于打开调用本设计实体将用到的库、程序包实体描述:用于描述该设计实体与外界的接口信号说明结构体描述:用于描述该设计实体内部的组成及内部工作的逻辑关系结构体配置语句主要用于层次化的方式对特定的设计实体进行元件的例化,或是为实体选定某个特定的结构体3.3VHDL语言中数据对象有几种?各种数据对象的作用范围如何?各种数据对象的实际物理含义是什么?(1)数据对象有三种:变量、常量、信号(2)常量的作用范围取决于其所定义的位置。若在程序包中定义,则可以用在调用该程序包的所有设计实体中。若定义在实体中,则可在这个实体的所有结构体中使用。若定义在结构体中,则只能用于该结构体。若定义在进程/子程序中,则只能用于该进程/子程序。变量属于局部量,作用范围仅限于所定义的进程或子程序内部。信号属于全局量,作用范围取决于其所定义的位置。若在程序包中定义,则可以用在调用该程序包的所有设计实体中。若定义在实体中,则可在这个实体的所有结构体中使用。若定义在结构体中,则只能用于该结构体。(3)信号表示硬件中的连线,用于各并行语句模块之间的通信。变量一般用于存储局部/临时数据。常量表示电路中的恒定电平,可使代码中常数易于阅读和修改。3.4什么叫标识符?VHDL的基本标识符是怎样规定的?(1)标识符用来定义常量、变量、信号、端口、子程序或者参数的名字。(2)VHDL的基本标识符就是以英文字母开头,不连续使用下划线,不以下划线结尾的,由26个英文大小写字母,数字0-9以及下划线组成的字符串。3.5信号和变量在描述和使用时有哪些主要区别?(1)变量只能在进程或子程序内部定义,用于存储局部/临时数据。信号只能在进程或子程序的外部定义,表示硬件中的连线,用于各并行语句模块之间的通信。(2)信号用signal关键字定义,赋值符号为”=”。变量用variable关键字定义,赋值符号为”:=”(3)信号赋值,可以设定延时量,需要延时一段时间后才执行;变量赋值立即执行。3.6VHDL语言中的标准数据类型有哪几类?用户可以自己定义的数据类型有哪几类?并简单介绍各数据类型。(1)标量型:属单元素最基本的数据类型,通常用于描述一个单值数据对象,它包括实数类型、整数类型、枚举类型和时间类型。复合类型:可以由细小的数据类型复合而成,如可有标量复合而成。复合类型主要有数组型和记录型。存取类型:为给定的数据类型的数据对象提供存取方式。文件类型:用于提供多值存取类型。(2)用户可自定义的数据类型:枚举类型、整数类型、数组类型、记录类型、时间类型、实数类型等3.7BIT数据类型和STD_LOGIC数据类型有什么区别?BIT数据类型只能取值0或1,而STD_LOGIC数据类型是BIT数据类型的扩展,除了0和1外,还包括7种数据类型,分别是U,X,Z,W,L,H,_3.8用户怎样自定义数据类型?试举例说明。利用类型定义语句TYPE和子类型定义语句SUBTYPE实现

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功