第章VHDL设计进阶演示课件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 VHDL设计进阶;第5章 VHDL设计进阶;第5章 VHDL设计进阶 ;标识符是VHDL语言中各种成分的名称,这些成分包括常量、变量、信号、端口、子程序或参数等。定义标识符需要遵循以下规则: l???????? 有效的字符:包括26个大小写英文字母,数字0~9以及下划线“_”。 l???????? 任何标识符必须以英文字母开头。 l???????? 必须是单一下划线“_”,且其前后都必须有英文字母或数字。 l???????? 标识符中的英文字母不分大小写。 l???????? 允许包含图形符号(如回车符、换行符等),也允许包含空格符。 l???????? VHDL的保留字不能用于作为标识符使用。 ;以下是几种合法和非法标识符的示例。 合法的标识符:Decoder_1,FFT,abc123。 非法的标识符: _Decoder_1 --起始为非英文字母 2 FET --起始为数字 Not-RST --符号“-”不能作为标识符的构成 RyY_RST_ --标识符的最后不能是下划线 Data_ _BUS --标识符中不能有双下划线 Begin --关键词不能作为标识符 resΩ --使用了无效字符“Ω”;下标名用于指示数组型变量或信号的某一元素,而下标段名则用于指示数组型变量或信号的某一段元素,其语句格式如下: 数组类型信号名或变量名(表达式l[TO/DOWNTO 表达式2]); 下面是下标名及下标段名使用示例: SIGNAL a, b, c:BIT_VECTOR(0 TO 7); SIGNAL m: INTEGER RANGE 0 TO 3; SIGNAL y,z:BIT; y<=a(m);--m是不可计算型下标表示 z<=b(3); --3是可计算型下标表示 c(0 TO 3)<=a(4 TO 7);--以段的方式进行赋值 c(4 TO 7)<= a(0 TO 3);--以段的方式进行赋值 ;常量的定义形式如下: CONSTANT 常量名:数据类型[:=表达式]; 例如: CONSTANT fbt:STD_LOGIC_VECTOR :=“010110”; --标准位矢类型 CONSTANT vcc:REAL:=5.0; --实数类型 CONSTANT dely:TIME:=25ns; --时间类型 常量定义语句所允许的设计单元有实体、结构体、程序包、块、进程和子程序。 ;定义变量的语法格式如下: VARIABLE 变量名:数据类型[:=初始值]; 例如: VARIABLE a :INTEGER RANGE 0 TO 15; VARIABLE b,c : INTEGER:=2; VARIABLE d :STD_LOGIC; 变量赋值的一般表达式如下: 目标变量名:=表达式; 变量作为局部量,其适用范围仅限于定义了变量的进程或子程序的顺序语句中 ;数据类型的转换 函数转换法(P114:例5-1);在VHDL语言中的类型标记转换法是直接使用类型名进行数据类型的转换,这与高级语言中的强制类型转换类似。其语句格式如下: 数据类型标志符(表达式); 下面几个语句说明了标记类型转换的例子。 VARIABLE a:INTEGER; VARIABLE b:REAL; a:=INTEGER(b); b:=REAL(a); (常数转换法) 数据类型限定(P115);4、VHDL操作符 ;SRL ;? ? ? 关系操作符 ;逻辑操作符 ? ;表5-3 VHDL操作符优先级 ;例5-2: 逻辑运算VHDL描述(p118);变量赋值语句和信号赋值语句的语法格式如下: 变量赋值目标 :=赋值源; 信号赋值目标 〈=赋值源; ;例5-6:… SIGNAL s1,s2:STD_LOGIC; SIGNAL svec:STD_LOGIC_VECTOR(0 TO 3); … PROCESS(s1,s2) VARIABLE v1,v2:STD_LOGIC; BEGIN v1:=’1’; --立即将变量v1置位为1 v2:=’1’; --立即将变量v2置位为1 s1=’1’; --信号s1被赋值为1 s2=’1’; --由于在本进程中,这里的s2不是最后一个赋值语句故不作任何赋值操作

文档评论(0)

youngyu0329 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档