EDA-刘艳萍-第2章课后习题答案_第1页
EDA-刘艳萍-第2章课后习题答案_第2页
EDA-刘艳萍-第2章课后习题答案_第3页
EDA-刘艳萍-第2章课后习题答案_第4页
EDA-刘艳萍-第2章课后习题答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

第一章1.4 简述在基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具及其在整个流程中的作用。(1) 设计输入编辑器:功能是在“设计输入”模块中接受图形(包括原理图,状态图,波形图)的输入和硬件描述语言的文本输入。(2) HDL综合器:功能是在“综合过程”模块中将设计者在EDA平台上编辑输入的HDL文本,原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件进行编译,优化,转换和综合,最终获得门级电路甚至更底层电路描述网表文件。(3) 适配器:功能是在“适配”模块中将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件。(4) 仿真器:功能是实现时序仿真和功能仿真,即在不同的级别上对适配生成的结果警醒模拟测试。(5) 下载器:功能是在“编程下载”模块将配置最后生成的下载文件或配置文件向FPGA或CPLD进行下载。1.5 什么是综合?有哪些类型?综合再EDA中的地位如何?在电子设计领域,综合是将用行为和功能层次表达的电子系统转换为低层次的,便于具体实现的模块组合的过程。综合的类型:(1)自然语言综合(2)行为综合(3)逻辑综合(4)版图综合或者结构综合利用HDL综合器对设计进行综合是EDA设计流程中十分重要的一步,因为综合过程将把软件设计的HDL描述与硬件结构挂钩,是将软件转化为硬件电路的关键步骤,是文字描述与硬件实现的一座桥梁。1.7 什么是硬件描述语言?他与一般的高级语言有什么不同点和相同点?所谓硬件描述语言,就是利用高级语言来描述硬件电路的功能,信号连接关系以及各器件的时序关系。VHDL语言具有计算机编程语言的一般特性,有自己的语言要素,文字规则等,同时也具有下列区别于其他高级语言的特点:(1) VHDL是工业标准的文本语言(2) VHDL能同时支持仿真和综合(3) VHDL是一种并发执行的语言(4) VHDL支持结构化的语言及自顶向下的设计方法(5) VHDL的描述与工艺无关(6) VHDL支持多风格的描述方法1.9 用VHDL设计数字系统有什么优点? EDA设计开发流程中的“设计输入”模块有图形输入和HDL文本输入两种类型。图形输入显现出一些缺点,如:图形设计方式未标准化导致的图形文件兼容性差,难以实现交换,管理;电路设计规模扩大化导致电路功能原理易读性下降,错误排查困难,整体调整和结构升级困难;图形文件不兼容导致性能优秀的电路模块意志和再利用十分困难;难以实现用户所实现的面积,速度,以及不同风格的综合优化;无法实现实际意义上的自顶向下设计方案。而应用HDL文本输入的方式则克服了上述弊端,为EDA技术的应用发展打开了一个广阔的天地。其优势的体现正是基于VHDL能同时支持仿真和综合,实现语言的并发执行,支持结构化设计和自顶向下的设计方法,描述与工艺无关及支持多风格的描述方法的优点。第二章2-1 判断下列标示符是否合法,如果有误指出原因ENTITY 关键字,1apple 不能应用数字开头,TO-VECTOR 非法字符,DEEF_ _4下划线不能连用,74HC574作为扩展标志合法,CLR/RESET含/ 字符和不能以关键字为标志符,IN,4/sclk作为扩展标志合法,D100% 含非法字符%。2-2 VHDL中有哪三种数据对象(客体)?详细说明他们的供功能特点以及使用方法。主要包括三种数据对象:信号,变量,常数。其中常数是一个固定的值,常数说明就是对某一常数名赋予一个固定的值,一旦赋值不能改变;常熟赋值一般在程序的开始;其格式为:CONSTANT常数名:数据类型:=表达式; 变量只能在进程语句,块语句,函数语句和过程语句结构中使用,是局部量,其赋值立即生效且赋值时不能产生附加延时。其格式为:VARIABLE 变量名:数据类型 约束条件 :=表达式;信号是电子电路内部硬件连接的抽象可以产生附加延时,数据对象是可以被赋值的对象。信号定义在实体、构造体、包集合中;其格式为:SIGNAL 信号名:数据类型 约束条件:=表达式。 2-3 信号和变量在描述和使用时有哪些主要区别?信号赋值采用“=”而变量赋值采用“:=”变量赋值立即生效而信号赋值语句和实际赋值过程是分开的,变量赋值不可产生附加延时而信号可以。2-4 在STRING,TIME,REAL,BIT,STD_LOGIC数据类型中,VHDL综合器支持哪些类型?VHDL综合器支持BIT,STD_LOGIC类型,其他的数据类型不能综合。2-5 表达式C=A+B中A,B和C都是STD_LOGIC-VECTOR,是否能直接进行加法运算?若位长不同则不能直接进行加法运算,若位长相同也要加入ieee库和std_logic_unsigned包集合的使用说明。2-6 能把任意一种进制的值向一整数类型的数据对象赋值吗?如果能,怎样做?不能直接赋值,必须转换类型,把非十进制转换为十进制后再进行赋值。2-7 数据类型BIT,INTEGER和BOOLEAN分别定义在那个库中?哪些库和程序包总是可见的?BIT、INTEGER和BOOLEAN定义在STD库中,STD库中的STANDARD包集合和WORK库总是可见的。2-8 BIT类型数据和STD_LOGIC类型数据有什么区别?BIT类型只有0或者1状态,而STD_LOGIC取9种不同值U,X,0,1,Z,W,L,H.BIT 为标准数据类型而STD_LOGIC为IEEE库中STD-LOGIC-1164包集合中定义的数据类型。2-9 回答有关BIT和BOOLEAN数据类型的问题:(1) 解释BIT和BOOLEAN的区别。(2) 对于逻辑操作应使用哪种类型?(3) 关系操作的结果为哪种类型?(1)BIT类型表示方法用字符0或1为一个位的两种取值,可用来描述系统中总线的值,而BOOLEAN类型具有两种状态“真”或“假”,没有数值意义,也不能进行算术运算,但能进行关系运算。他常用来表示信号量的状态或者总线情况,一般这类出具的初始值为FALSE(2)逻辑操作数应用BIT类型(3)关系操作的结果为BOOLEAN类型。2-10 下面的数据类型定义和操作是否正确?Signal atmp: Std_logic_Vector(7 downto 0);Signal btmp: Std_logic_Vector(0 to 7);Signal cint:integer;Signal dtmp: Std_logic_Vector(15 downto 0);atmp=cint操作错误,类型不同,INTEGER不能赋予STD_LOGIC_VECTER。btmp=dtmp操作错误,类型相同但是长度不同不能赋值,其他正确。2-11 VHDL有哪几类主要运算,在一个表达式中有多种运算符时应按怎样的标准进行运算?VHDL主要有四类运算:逻辑运算,关系运算。算数运算,并置运算。表达式中有多种运算符时,应由优先级高的操作符向优先级低的操作符进行运算。当一个语句中存在两个以上同优先级逻辑运算时,由括号决定顺序。2-12 如下三个表达式是否等效?a=NOT b AND c OR aa=(NOT b AND c) OR aa=NOT b AND(c OR a) a=NOT b AND c OR a有语法错误。a=(NOT b AND c) OR a与a=NOT b AND(c OR a)是正确的,三者不等效。2-13 并置运算应用于哪种场合?下面的运算是否正确?Signal a: Std_logic;Signal eb: Std_logic;Signal b: Std_logic_Vector(3 downto 0);Signal d: Std_logic_Vector(7 downto 0);b=a & a & eb & ebd=(b , eb ,eb, eb,eb)错误,集合体的表示方式中并置对象不能有矢量。2-14 完整的VHDL程序包括哪几部分?一个完整的VHDL程序包括:实体,构造体, 配置, 包集合 和库五部分2-15 VHDL设计的基本设计单元是什么?有哪几部分构成?各部分结构是怎样描述的?所谓VHDL设计的基本设计单元就是VHDL的一个基本设计实体由实体说明和构造体两部分构成。任何一个基本设计单元的实体说明都有如下结构:ENTITY 实体名 IS类属参数说明;端口说明;END 实体名;一个构造体的具体结构描述如下:ARCHTECTURE 构造体OF 实体名IS 定义语句;包括内部信号,常数,数据类型, 子程序等定义BEGIN并行处理语句;END 构造体名;2-16 与非门的输入端对应VHDL描述中实体说明部分定义的输入端口,输出端对应VHDL描述中实体说明部分定义的输出端口;与非门的逻辑运算对应VHDL描述中构造体说明部分。2-17 实体说明中端口模式有哪些?说明端口模式OUT,INOUT和BUFFER.有何异同?实体说明中端口模式有:IN OUT INOUT BUFFER. IN 含义:输入OUT 含义:输出 在构造体内部不使用INOUT 含义:说明该端口是双向的,可以输出也可以输入BUFFER 含义:说明该端口可以输出信号且在构造体内部可以使用该输出信号。2-18 过程语句用于什么场合?其所带参数是怎样定义的?过程语句与其他高级语句中的子程序相当,他的参数可以是输入也可以是输出,即过程中的输入输出参数都应列在紧跟过程名的括号中。2-19 函数语句用于什么场合?其所带参数是怎样定义的?函数语句相当于其他高级语言中的函数。语句中圆括号内所有参数都是输入参数。因此,在括号内指定端口方向“IN”可以省略。FUNCTION的输入值由调用者复制到输入参数中,若无特别制定在FUNCTION的语句中按常数处理。2-20 过程和函数调用有何不同?在过程语句中,当过程语句执行结束后,在过程内所传递的输入和输出参数值将复制到调用者的信号或变量中;函数的输入值由调用者复制到输入参数中,若无特别指定,按常数处理。过程调用本身是一条完整调用语句,函数调用只有赋值给某一对象时才构成一条完整语句。2-21 VHDL构造体描述有哪几种方法?如何应用? VHDL构造体描述有:行为描述,数据流描述, 结构体描述三种描述。行为描述之描述所希望电路的功能或者电路行为,没有直接指明或涉及实现这些行为的硬件结构,他通常有一个或者多个进程构成,每个进程又包含一系列语句;数据流描述可以描述时序电路也可以描述组合电路,它是建立在用并行信号赋值语句描述基础上的,当语句中任一输入信号发生变化时,赋值语句就被激活,随着这种语句对电路行为的描述,大量的有关这种结构信息也从这种逻辑描述中“流出”;结构描述是基于元件例化语句或生成语句的描述,它表示元件之间的互联,这种描述允许互联元件的层次式安置、元件的定义或使用说明以及元件例化语句,是用VHDL实现层次化、模块化设计的手段。2-22 VHDL现有支持库有:IEEE库、ASIC库、STD库、用户定义的库和WORK库;除WORK库和STD库外,其他三种库在使用时都要在程序的开头加以说明,第一条语句是“LIBRARY库名;”,另外还要说明使用的是库中那个包集合或项目。2-24 配置的主要功能是为顶层设计实体指定结构体,或为参与例化的元件实体指定所用结构体,以层次方式来对元件例化作结构配置。举例说明略。2-262-27(1)b为变量,不能用“=”赋值;(2)构造体描述的结尾应用“END one”结束,a、b、c应定义为信号;(3)实体说明语句的结束应为“END 实体名”,因此将END sam2;改为 END mux21; C为输出信号赋值,用“=”,将c:=b;改为c=b; 构造体结束用“END 构造体名”,因此将END two;改为END one; 此程序缺少process语句。2-28 (1) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux IS PORT(a,en:IN STD_

温馨提示

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

评论

0/150

提交评论