EDA关键技术及应用课后习题部分答案.docVIP

  • 8
  • 0
  • 约4.75千字
  • 约 8页
  • 2020-11-07 发布于江苏
  • 举报

EDA关键技术及应用课后习题部分答案.doc

第五章 1.试说明实体端口模式BUFFER和INOUT不一样之处? 答: BUFFER端口:缓冲模式,含有读功效输出模式,即信号输出到实体外部,但同时也在内部反馈使用,不许可作为双向端口使用。而INOUT端口:双向模式,即信号流通是双向,既能够对此端口赋值,也能够经过此端口读入数据。 2.VHDL数据对象有哪多个?它们之间有什么不一样? 答:VHDL数据对象有三种:信号、变量、常量。 它们之间区分以下: 信号赋值最少有δ延时,而变量和常量没有;信号除目前值外,有很多相关信息,变量只有目前值,常量值在设计实体中一直不变;进程对信号敏感而对变量及常量不敏感;信号能够是多个进程全局信号,变量只在定义它们次序域可见,而常量使用范围取决于它被定义位置;信号是硬件连线抽象描述信号赋值,赋值符号 = 而变量和常量赋值符号 :=。 3.说明下列各定义意义: SIGNAL a , b , c : BIT : =’0’ CONSTANT TIME1 , TIME2 : TIME : 20ns ; VARIABLE x , y , z : STD_LOGIC :=’x’; 答: eq \o\ac(○,1)定义3个位数据类型信号a、b、c,它们取值为0; eq \o\ac(○,2)定义2个时间数据类型常量TIME1、TIME2,它们值为20ns; eq \o\ac(○,3)定义3个标准逻辑位 STD_LOGIC数据类型变量x、y、z,它们值是强未知。 4.什么是重载函数?重载运算符有何用处?怎样调用重载运算符函数? 答:为了方便多种不一样数据类型间运算,VHDL许可用户对原有基础操作符重新定义,给予新含义和功效,从而建立一个新操作符,这就是重载操作符,定义这种操作符函数成为重载函数。重载运算符作用是为了方便多种不一样数据类型间运算。要调用重载运算符函数,先要在程序包中进行函数体定义,调用格式以下 : x =函数名(参数1,参数2,····) 参数个数和类型和所定义函数要保持一致。 5.数据类型BIT \ INTEGER \ BOOLEAN分别定义在哪个库中?哪些库和程序包总是可见? 答:数据类型BIT \ INTEGER \ BOOLEAN均定义在STD库中。IEEE库和程序包STD_LOGIC.1164 、STD_LOGIC_UNSIGNED、STD_LOGIC_SIGNED、STD_LOGIC_ARITH等总是可见。 6.函数和过程有什么区分? 答:子程序有两种类型,即过程(PROCEDURE)和函数(FUNCTION)。它们区分在于:过程调用能够经过其界面取得多个返回值,而函数只能返回一个值;在函数入口中,全部参数全部是输入参数,而过程有输入参数、输出参数和双向参数;过程通常被看作一个语句结构,而函数通常是表示式一部分;过程能够单独存在,而函数通常作为语句一部分调用。 7.若在进程中加入WAIT语句,应注意哪多个方面问题? 答:应注意以下问题: eq \o\ac(○,1)已列出敏感信号进程中不能使用任何形式WAIT语句; eq \o\ac(○,2)通常情况下,只有WAIT UNTIL格式等候语句能够被综合器所接收,其它语句格式只能在VHDL仿真器中使用; eq \o\ac(○,3)在使用WAIT ON语句进程中,敏感信号量应写在进程中WAIT ON语句后面; eq \o\ac(○,4)在不使用WAIT ON语句进程中,敏感信号量应在开头关键词PROCESS后面敏感信号表中列出。 8.哪些情况下需用到程序包STD_LOGIC_UNSIGNED?试举一例。 答: eq \o\ac(○,1)调用数据类型变换函数或重载运算符函数时; eq \o\ac(○,2)定义UNSIGNED类型数据时。举例以下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; · · IF tempHEN temp:= ELSE temp:=temp+16;END IF;··· 9.为何说一条并行赋值语句能够等效为一个进程?假如是这么话,怎样实现敏感信号检测? 答:因为信号赋值语句共同点是赋值目标必需全部是信号,全部赋值语句和其它并行语句一样,在结构体内实施是同时发生,和它们书写次序没相关系,所以每一信号赋值语句全部相当于一条

文档评论(0)

1亿VIP精品文档

相关文档