EDA技术与VHDL第四章概论.ppt

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

EDA技术与VHDL 第四章 VHDL设计初步;硬件描述语言VHDL;VHDL程序设计约定;库 程序包;VHDL程序的基本结构;实体(ENTITY); 类属(GENERIC)说明语句; 端口(PORT)说明语句:由PORT引导的端口说明 语句是对一个设计实体界面的说明。 格式如下: PORT(端口名:端口模式 数据类型; … 端口名:端口模式 数据类型);;端口名:端口名是设计者为实体的每一个对外通道所取的名字。;IN;OUT与BUFFER的区别; VHDL作为一种强类型语言,任何一种数据对象(信号、变量、常数)必须严格限定其取值范围,即对其传输或存储的数据类型作明确的界定。预定义数据类型有:整数数据类型INTEGER、布尔数据类型BOOLEAN、标准逻辑位数据类型STD_LOGIC和位数据类型BIT等。 BIT数据类型的信号规定取值范围是逻辑位1和0。BIT数据类型可以参与逻辑运算或算术运算,其结果仍是位的数据类型。;结构体(ARCHITECTURE);2选1多路选择器的VHDL描述2;信号传输(赋值)符号: = VHDL要求赋值符“=”两边的信号的数据类型必须一致。 VHDL仿真赋值操作要经历最小分辨时间?(固有延时量)后赋值。 ;逻辑操作符AND、OR、NOT: VHDL有七种基本逻辑操作符:AND(与)、OR(或)、NAND(与非)、NOR(或非)、XOR(异或)、XNOR(同或)和NOT(取反)。 逻辑操作符所要求的操作数(操作对象)的数据类型有三种,即BIT、BOOLEAN和STD_LOGIC。 ;2选1多路选择器的VHDL描述3;IF_THEN条件语句:顺序赋值语句 用IF_THEN_ELSE顺序语句方式,描述同一多路选择器的电路行为。 IF语句必须以语句“END IF;”结束。 ;PROCESS进程语句和顺序语句: 进程语句:由PROCESS引导的语句。在VHDL中,所有合法的顺序描述的语句都必须放在进程语句中。 进程敏感信号表:通常要求将进程中所有的输入信号都放在敏感信号表中,当某一敏感信号发生事件(状态变化)时,就将启动此PROCESS进程语句,在执行完整个进程后,便进入等待状态,直到下一次敏感信号表中某一信号的跳变才再次进入“启动-运行”状态。;ddf1;标准逻辑位数据类型STD_LOGIC : STD_LOGIC数据类型定义: TYPE STD_LOGIC IS (U,X,0,1,Z ,W,L,H,-) ; 9种数据类型:‘U’:未初始化的;‘X’:强未知的;‘0’:强逻辑0;‘1’: 强逻辑1;‘Z’:高阻态;‘W’:弱未知的;‘L’:弱逻辑0;‘H’:弱逻辑1;‘-’:忽略。 较完整地概括了数字系统中所有可能的数据表现形式。 在仿真和综合中,可以使设计者精确地模拟一些未知的和具有高阻态的线路情况。对于综合器,高阻态‘Z’和‘-’忽略态(有的综合器对‘X’)可用于三态的描述。 但就目前的综合器而言,STD_LOGIC型数据能够在数字器件中实现的只有其中的四种值,即X(或-)、0、1和Z。 ;SIGNAL信号定义和数据对象: SIGNAL(关键词)器件内部接点信号对象定义标识符,数据类型为STD_LOGIC。无端口模式。常用的时序电路设计的方式,如同一根连线那样在整个结构体中传递信息,也可以根据程序的功能描述构成一个时序元件。 数据对象(Data Objects) 有三类,即信号(SIGNAL)、变量(VARIABLE)和常量(CONSTANT) 。VHDL中,被定义的标识符必须确定为某类数据对象和某种数据类型, 语句“SIGNAL sig_save : STD_LOGIC;”仅规定了sig_save的属性特征,而其功能定位,需要由结构体中的语句描述具体确定。;上升沿检测表式和信号属性函数EVENT: 关键词EVENT是信号属性, 信号名‘EVENT 用来测定该信号的跳变边沿。 短语CLK’EVENT就是对CLK标识符的信号在当前的一个极小的时间段 ? 内发生事件的情况进行检测。如果CLK的数据类型定义为STD_LOGIC,则在 ? 时间段内,CLK从其数据类型允许的9种值中的任何一个值向另一值跳变,如由0变成1、由1变成0或由Z变成0,都认为发生了事件,于是此表式将输出一个布尔值TRUE,否则为FALSE。 语句 CLK EVENT AND clock=‘1’,即一旦CLK’EVENT 在 ? 时间内测得CLK有一个跳变,而小时间段 ? 之后又测得CLK为高电平1,返回TRUE,因此,以上的表达式可以用来对信号CLK的上升沿进行检测。 ;不完整条件语句与时序电路: 【例】 IF CLKEVENT A

文档评论(0)

有一二三 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档