硬件描述语言第二讲.ppt

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

硬件描述语言及器件 教材:任勇峰等编著《VHDL与硬件实现速成》 教学安排 第1讲:VHDL概述及其开发环境 第2讲:VHDL的基本元素 第3讲:VHDL的进程 第4讲:其它并行语句 第5讲:VHDL实例剖析 第6讲:VHDL的顺序描述语句 第7讲:结构体的描述风格 第8讲:计数器和状态机 第9讲:不同风格的状态机举例 第10讲:VHDL综合举例 第2讲: VHDL的基本元素 1 标识符 2 数据对象 3 数据类型 4 操作符 5 端口模式 1 标识符 标识符规则是VHDL语言中符号书写的一般规则。不仅对电子系统设计工程师是一个约束,同时也为各种各样的EDA工具提供了标准的书写规范,使之在综合仿真过程中不生产生歧义,易于仿真。 VHDL语言有两个标准版:VHDL’87版和VHDL’93版。VHDL’87版的标识符语法规则经过扩展后,形成了VHDL’93版的标识符语法规则。前一部分称为短标识符,扩展部分称为扩展标识符。VHDL’93版含有短标识符和扩展标识符两部分。 短标识符(1) 短标识符 VHDL的短标识符是遵守以下规则的字符序列: (1) 必须以英文字母打头。 (2) 字符可以是大写、小写的数字(0~9)和下划线(_)。 (3) 下划线前后都必须有英文字母或数字。 (4) EEA工具综合、仿真时,短标识符不区分大小写。 一般地,对VHDL的保留字:ENTITY,ARCHITECTURE,END,BUS,USE,WHEN,WAIT,IS…在程序书写时,一般要求大写或黑体,使得程序易于阅读,易于检查错误。 短标识符(2) 下面是合法的标识符: multi_screens Multi_screens Multi_Screens MULTI_SCREENS 下面的书写是不合法的: illegal%name illegal-name illegal-name 扩展标识符 扩展标识符是VHDL’93版增加的标识符书写规则: (1) 扩展标识符用反斜杠来定界。 \multi_screens\, \eda_centrol\等都是合法的扩展标识符。 (2) 允许包含图形符号、空格符。例如: \mode A\, \$100\, \p%name\等。 (3) 反斜杠之间的字符可以用保留字。例如: \buffer\, \entity\, \end\等。 (4) 扩展标识符的界定符两个斜杠之间可以用数字打头。如: \100$\, \2chip\, \4screens\等。 (5) 扩展标识符中允许多个下划线相连。例如: \Four_screens\, \TWO_Computer_sharptor\等。 (6) 扩展标识符区分大小写。例如: \EDA\ 与\eda\不同。 (7) 扩展标识符与短标识符不同。例如:\COMPUTER\ 与Computer不同。 2 数据对象(1) 在VHDL语言中,凡是可以赋于一个值的客体叫对象(object)。 VHDL对象包含有专门数据类型,主要有4个基本类型:常量(CONSTANT)、信号(SIGNAL)、变量(VARIABLE)和文件(FILES)。其中文件类型是VHDL’93标准中新通过的。 数据对象(2) 信号和变量可以连续的赋于不同的值。 常量只在它被说明时赋值,在整个器件工作期间值不变化。试图对常量多次赋值是错误的。 文件可以用参数向子程序传递数据,通过子程序对文件进行读和写操作。文件不可以通过赋值来更新文件的内容,文件参数没有模式。 数据对象(3) 对象说明的一般书写格式为: 对象类别 标识符表:子类型标识[:= 初值]; 对象说明举例: CONSTANT T1,T2:time :=30ns,--常量说明 VARIABLE SUM:read; --变量说明 SIGNAL CLOCK:bit; --信号说明 FILE input:Text IS IN “STD_INPUT” --文件说明 数据对象(4) 对象的赋值规则: 可用函数调用的方法给对象赋初值。 CONSTANT Bus-number:Integer :=My_function(True,6); 如果在同一个对象说明语句中,对多个同一类型的对象指定初始值,则多个对象同时取得了这一指定值。 信号和变量的默认值。当信号和变量没有指定初始值或没有给信号变量赋值时,即信号和变量的值在对象说明语句中默认时,信号变量的取值称为默认值。一般地,若变量为字符型变量则取最大值;若变量、信号为数值型变量,则取初始值,默认值为‘0’ 常量(1) 常量(constant)是设计者给实体中某一常量名赋予的固定值。一般地,常量赋值在程序开

文档评论(0)

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

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

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档