EDA技术实用教程第五版第13章习题答案.docx

EDA技术实用教程第五版第13章习题答案.docx

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

13-1进程有哪几种主要类型?不完全组合进程是由什么原因引起的?有什么特点?如何避免?

解:两种:

(1)begin

顺序语句

endprocess

(2)begin

wait语句;

顺序语句endprocess

两个的主要不同就在于敏感信号的不同

13-2比较CASE语句与WITH_SELECT语句,叙述它们的异同点。并用WITH_SELECT_WHEN语句描述4个16位至1个16位输出的4选1多路选择器。

答:①相同点:CASE语句中各子句的条件不能有重叠,必须包容所有的条件;WITH_SECLECT语句也不允许选择值有重叠现象,也不允许选择值涵盖不全的情况。另外,两者对子句各选择值的测试都具有同步性,都依赖于敏感信号的变化。

不同点:CASE语句只能在进程中使用,至少包含一个条件语句,可以有多个赋值目标;WITH_SECLECT语句根据满足的条件,对信号进行赋值,其赋值目标只有一个,且必须是信号。

②LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYmuxIS

PORT(dina:INSTD_LOGIC_VECTOR(0to15);dinb:INSTD_LOGIC_VECTOR(0to15);dinc:INSTD_LOGIC_VECTOR(0to15);dind:INSTD_LOGIC_VECTOR(0to15);

sel:INSTD_LOGIC_VECTOR(0to1);

dout:OUTSTD_LOGIC_VECTOR(0to15));

ENDmux;

ARCHITECTURErtlOFmuxIS

BEGIN

withselselect

dout=dinaWHEN00,

dinbWHEN01,

dincWHEN10,

dindWHEN11,

ZZZZZZZZZZZZZZZZwhenothers;

ENDrtl;

13-3为什么说一条并行赋值语句可以等效为一个进程?如果是这样的话,该语句咋么实现敏感信号的检测?

解:因为信号赋值语句的共同点是赋值目标必须都是信号,所有赋值语句与其它并行语句一样,在结构体内的执行是同时发生的,与它们的书写顺序没有关系,所以每一信号赋值语句都相当于一条缩写的进程语句。由于这条语句的所有输入信号都被隐性地列入此缩写进程的敏感信号表中,故任何信号的变化都将相关并行语句的赋值操作,这样就实现了敏感信号的检测。

13-4在STRING,TIME,REAL,BIT数据类型中,VHDL综合器支持哪些类型?

答:VHDL支持BIT类型和STRING类型,其他属于用户定义的数据类型不能综合

13-5判断下列VHDL标识符是否合法,如果有误则指出原因16#0FA#,10#12F#,8#789#,8#356#,2#0101010#,74HC245,\74HC574\,CLR/RESET,\IN4/SCLK\,D100%。

答:识符用法规定:(1)只能包含英文字母,数字,下划线(2)标识符的首字符只能是字母。故:

(1)16#0FA#错在首字符是数字,且包含非法字符“#“。10#12F#、8#789#,8#356#,2#0101010#,74HC245也是犯同一错误。

(2)\74HC574\,CLR/RESET,\IN4/SCLK\,D100%都是非法,包含非法字符….

13-6数据类型BIT,INTEGER和BOOLEAN分别定义在那个库中?哪些库和程序包总是可见的?

答:BIT定义在IEEE库中,INTEGER和BOOLEAN定义在STD库中,除了STD库和WORK库外,IEEE库面向ASIC的库和用户自定义的库及其中的包集合

13-7函数与过程的设计与功能有什么区别?调用上有什么区别?

1.函数的定义由函数首和函数体两部分组成,在进程或结构体中不必定义函数首,而在程序包中必须定义函数首。

过程也由过程首和过程体构成,在进程或结构体中不必定义过程首,而在过程包中必须定义过程首。

2.函数是串行,过程是串行。

3区别:(1)参数表的区别。函数的参数表是用来定义输出值的,所以不必以显式表示参数的方向;过程的参数表可以对常数、变量和信号三类数据对象目标作出说明,并用关键词IN、OUT和INOUT定义这些参数的工作模式,即信息的流向。如果没有指定模式,则默认为IN。(2)函数参量可以是信号或常数,默认函数参数为常数

文档评论(0)

素珍 + 关注
实名认证
内容提供者

好文件大家都可以分享

1亿VIP精品文档

相关文档