欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    EDA技术课后答案.doc

    • 资源ID:33503759       资源大小:333KB        全文页数:8页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    EDA技术课后答案.doc

    EDA习题 第一章 1.1 EDA的英文全称是什么?EDA的中文含义是什么? 答:EDA即Electronic Design Automation的缩写,直译为:电子设计自动化。 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系列等,可用门数为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在结构上主要包括三个部分,即可编程逻辑宏单元,可编程输入/输出单元和可编程内部连线。 1.7 FPGA/CPLD有什么特点?二者在存储逻辑信息方面有什么区别?在实际使用中,在什么情况下选用CPLD,在什么情况下选用FPGA? 1.8 常用的硬件描述语言有哪几种?这些硬件描述语言在逻辑描述方面有什么区别? 答:常用的硬件描述语言有VHDL、Verilog、ABEL。 VHDL:作为IEEE的工业标准硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言;逻辑综合能力强,适合行为描述。 Verilog:支持的EDA工具较多,适用于RTL级和门电路级的描述,其综合过程较VHDL稍简单,但其在高级描述方面不如VHDL。 ABEL:一种支持各种不同输入方式的HDL,被广泛用于各种可编程逻辑器件的逻辑功能设计,由于其语言描述的独立性,因而适用于各种不同规模的可编程器件的设计。 1.9 目前比较流行的、主流厂家的EDA的软件工具有哪些?这些开发软件的主要区别是什么? 答:目前比较流行的、主流厂家的EDA的软件工具有Altera的MAX+plus II、Lattice的ispEXPERT、Xilinx的Foundation Series。 1.10 对于目标器件为FPGA/CPLD的VHDL设计,其工程设计包括几个主要步骤?每步的作用是什么?每步的结果是什么? 答:第一:需要进行“源程序的编辑和编译”用一定的逻辑表达手段将设计表达出来; 第二:要进行“逻辑综合”-将用一定的逻辑表达手段将表达出来的设计经过一系列的操作,分解成一系列的逻辑电路及对应的关系(电路分解); 第三:要进行目标器件的“布线/适配”-在选用的目标器件中建立这些基本逻辑电路的对应关系(逻辑实现) 第四:目标器件的编程下载-将前面的软件设计经过编程变成具体的设计系统(物理实现);最后要进行硬件仿真/硬件测试-验证所设计的系统是否符合要求。同时,在设计过程中要进行有关“仿真”-模拟有关设计结果与设计构想是否相符。设计基本流程如图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-3 2-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.2 VHDL程序一般包括几个组成部分?每部分的作用是什么? (1)三个基本组成部分:库、程序包使用说明,实体描述和实体对应的结构体描述。 (2)库、程序包使用说明:用于打开调用本设计实体将用到的库、程序包 实体描述:用于描述该设计实体与外界的接口信号说明 结构体描述:用于描述该设计实体内部的组成及内部工作的逻辑关系 结构体配置语句主要用于层次化的方式对特定的设计实体进行元件的例化,或是为实体选定某个特定的结构体 3.3 VHDL语言中数据对象有几种?各种数据对象的作用范围如何?各种数据对象的实际物理含义是什么? (1)数据对象有三种:变量、常量、信号 (2)常量的作用范围取决于其所定义的位置。若在程序包中定义,则可以用在调用该程序包的所有设计实体中。若定义在实体中,则可在这个实体的所有结构体中使用。若定义在结构体中,则只能用于该结构体。若定义在进程/子程序中,则只能用于该进程/子程序。 变量属于局部量,作用范围仅限于所定义的进程或子程序内部。 信号属于全局量,作用范围取决于其所定义的位置。若在程序包中定义,则可以用在调用该程序包的所有设计实体中。若定义在实体中,则可在这个实体的所有结构体中使用。若定义在结构体中,则只能用于该结构体。 (3)信号表示硬件中的连线,用于各并行语句模块之间的通信。变量一般用于存储局部/临时数据。 常量表示电路中的恒定电平,可使代码中常数易于阅读和修改。 3.4 什么叫标识符?VHDL的基本标识符是怎样规定的? (1)标识符用来定义常量、变量、信号、端口、子程序或者参数的名字。 (2)VHDL的基本标识符就是以英文字母开头,不连续使用下划线,不以下划线结尾的,由26个英文大小写字母,数字0-9以及下划线组成的字符串。 3.5 信号和变量在描述和使用时有哪些主要区别? (1)变量只能在进程或子程序内部定义,用于存储局部/临时数据。信号只能在进程或子程序的外部定义,表示硬件中的连线,用于各并行语句模块之间的通信。 (2)信号用signal关键字定义,赋值符号为”<=”。变量用variable关键字定义,赋值符号为”:=” (3)信号赋值,可以设定延时量,需要延时一段时间后才执行;变量赋值立即执行。 3.6 VHDL语言中的标准数据类型有哪几类?用户可以自己定义的数据类型有哪几类?并简单介绍各数据类型。 (1)标量型:属单元素最基本的数据类型,通常用于描述一个单值数据对象,它包括实数类型、整数类型、枚举类型和时间类型。 复合类型:可以由细小的数据类型复合而成,如可有标量复合而成。复合类型主要有数组型和记录型。 存取类型:为给定的数据类型的数据对象提供存取方式。 文件类型:用于提供多值存取类型。 (2)用户可自定义的数据类型:枚举类型、整数类型、数组类型、记录类型、时间类型、实数类型等 3.7 BIT数据类型和STD_LOGIC数据类型有什么区别? BIT 数据类型只能取值0 或1,而STD_LOGIC 数据类型是BIT 数据类型的扩展,除了0 和 1 外,还包括7 种数据类型,分别是U,X,Z,W,L,H,_ 3.8 用户怎样自定义数据类型?试举例说明。 利用类型定义语句TYPE 和子类型定义语句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)这三个表达式不等效。1式表达错误,对同一优先级的不同运算符应加上括号。2和3式的运算顺序不同。 3.16 在CASE 语句中在什么情况下可以不要WHEN OTHERS语句?在什么情况下一定要WHEN OTHERS语句? 答:case语句执行时,根据选择表达式的值来选择执行哪个顺序语句,要求对于选择表达式的每个可能取值,有且仅有一个选择值与之匹配。因此,当已列出的选择值能够覆盖选择表达式的所有可能取值时,可以不要when others语句。否则,要用 when others表示其它未列出的选择值。 a.用IF语句设计一个四十六译码器 PROCESS(G1,g2a,g2b,sel) begin if(g1='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<="1111111111110111" elsif(sel="0100")theny<="1111111111101111" elsif(sel="0101")theny<="1111111111011111" elsif(sel="0110")theny<="1111111110111111" elsif(sel="0111")theny<="1111111101111111" elsif(sel="1000")theny<="1111111011111111" elsif(sel="1001")theny<="1111110111111111" elsif(sel="1010")theny<="1111101111111111" elsif(sel="1011")theny<="1111011111111111" elsif(sel="1100")theny<="1110111111111111" elsif(sel="1101")theny<="1101111111111111" elsif(sel="1110")theny<="1011111111111111" elsif(sel="1111")then y<="0111111111111111" else y<="XXXXXXXXXXXXXXXX" end if; else Y<="1111111111111111" end 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"0100"=>y<="1111111111101111" when"0101"=>y<="1111111111011111" when "0110"=>y<="1111111110111111" when "0111"=>y<="1111111101111111" when "1000"=>y<="1111111011111111" when "1001"=>y<="1111110111111111" when "1010"=>y<="1111101111111111" when "1011"=>y<="1111011111111111" when "1100"=>y<="1110111111111111" when "1101"=>y<="1101111111111111" 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语句中的条件为真。 3遍 3.28 元件例化语句的作用是什么?元件例化语句包括几个组成部分?各自的语句形式如何?什么叫元件例化中的位置关联和名字关联? 答:(1)元件例化就是将预先设计好的设计实体定义为一个元件,然后利用特定的语句将此元件与当前的设计实体中的指定端口相连接,从而为当前设计实体引入一个新的低一级的设计层次。 (2)元件例化语句由两部组成,前一部分是将一个现成的设计实体定义为一个元件的语句,第二部分则是此元件与当前设计实体中的连接说明。 (3)它们的语句格式如下: -元件定义语句 COMPONENT 例化元件名 IS GENERIC(类属表); PORT(例化元件端口名表); END COMPONENT; -元件例化语句 元件例化名:例化元件名 PORT MAP(例化元件端口名=>连续实体端口名,.) (4)名字关联是将例化元件的端口名与关联端口名通过关联(连续)符号“=>"一一对应地联系起来的方式; 位置关联是按例化元件端口定义顺序将例化元件的对应的连续实体端口名一一列出的方式。3.32 什么是结构体的行为描述方式?它应用于什么场合?用行为描述方式所编写的VHDL程序是否都可以进行逻辑综合? (1)行为描述:设计实体按算法的路径进行描述,他不是对某一个器件的描述,而是对整个设计单元的数学模型描述。 (2)主要用于系统数学模型的仿真或系统工作原理的仿真。 (3)故其大量采用的算术运算、关系运算、惯性延时、传输延时等描述方式是难以或不能进行逻辑综合的。 3.33 什么叫数据流描述方式?它和行为描述方式的主要区别在哪里?用数据流描述方式所编写的VHDL程序是否都可以进行逻辑综合? (1)数据流描述也称RTL描述,它以类似于寄存器传输级的方式描述数据的传输和变换,以规定设计中的各种寄存器形成为特征,然后再寄存器之间插入组合逻辑。 (2)行为描述只表示输入与输出间转换的行为,它不包含任何结构信息,而数据流的描述会伴有大量的有关这种结构信息的“流出”。 (3)类似于寄存器传输级的方式描述数据的传输和变换,认为数据是从一个设计流出,从输入到输出的观点称为数据流风格,所以不是所有的VHDL程序都可以进行逻辑综合。

    注意事项

    本文(EDA技术课后答案.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开