第二章vhdl语言元素.pptVIP

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章vhdl语言元素

第二章 VHDL语言元素 2.1 VHDL语言的客体 2.2 VHDL语言的数据类型 2.3 VHDL数据类型转换 2.4 VHDL词法规则与标识符 2.1 VHDL语言的客体 VHDL语言中,可以赋予一个质的对象就称为客体。客体主要包括以下三种:变量(VARIABLE)、常量(CONSTANT)、信号(SIGNAL)。 例如: CONSTANT Vcc : REAL := 5.0; CONSTANT Fbus : BIT_VECTOR := “1011”; CONSTANT Delay : TIME := 10ns; 2.1.2 变量(VARIABLE) 2.1.3 信号(SIGNAL) 2.2 VHDL语言的数据类型 在对VHDL的客体进行定义时,都要指定其数据类型。VHDL有多种标准的数据类型,并且允许用户自定义数据类型。 在VHDL语言语义约束中,对类型的要求反映在赋值语句的目标与源的一致,表达式中操作的一致,子类型中 约束与类型的一致等许多方面。 2.2.1 VHDL中预定义的数据类型(编程者可直接使用) 预定义类型在VHDL标准程序包STANDARD中定义,在 应用中自动包含进VHDL的源文件,不需要USE语句显示 调用。 2.2.2 用户自定义的数据类型 再举一例自定义数据类型week如下: type week is (sun,mon,tue,wed,thu,fri,sat); signal hotel,home :week; 上述对信号hotel和home的定义表明它们是自定义数据类型week,因此这两个信号之间可以相互作用,因为只有它们属于同一数据类型。 第三句定义自然数为整数数据类型的子类型;第四句定义ci为i的子类型。第五句定义di为ci的子类型,VHDL允许定义子类型的子类型;第六句,使用约束条件(3 downto 0)对非限定性数组bit_vector作具体说明;第七句,lower_data是data的一个子类型。 2.2.3 IEEE预定义标准 2.4 VHDL操作符 2.4 VHDL词法规则与标识符 2.4.1 词法规则 1.注释 为了提高VHDL源程序的可读性,在VHDL中可以写入注释。 注释以- -开头直到本行末尾的一段文字。在MUX+PLUSⅡ中可以看见,敲入- -之后,后面字体的颜色就发生改变。 注释不是VHDL设计描述的一部分,编译后存入数据库中的信息不包含注释。 2.4.2 标识符 【例5-4】 SIGNAL a ,b,c : STD_LOGIC_VECTOR (3 DOWNTO 0) ; SIGNAL d,e,f,g : STD_LOGIC_VECTOR (1 DOWNTO 0) ; SIGNAL h,I,j,k : STD_LOGIC ; SIGNAL l,m,n,o,p : BOOLEAN ; ... a=b AND c; --b、c 相与后向a赋值,a、b、c的数据类型同属4位长的位矢量 d=e OR f OR g ; -- 两个操作符OR相同,不需括号 h=(i NAND j)NAND k ; -- NAND不属AND、OR、XOR三种算符中的一种, 必须加括号 l=(m XOR n)AND(o XOR p); -- 操作符不同,必须加括号 h=i AND j AND k ; -- 两个操作符都是AND,不必加括号 h=i AND j OR k ; -- 两个操作符不同,未加括号,表达错误 a=b AND e ; -- 操作数b 与 e的位矢长度不一致,表达错误 h=i OR l ; -- i 的数据类型是位STD_LOGIC,而l的数据类型是 ... -- 布尔量BOOLEAN,因而不能相互作用,表达错误。 逻辑操作符 关系操作符 【例】 ENTITY relational_ops_1 IS PORT ( a,b : IN BIT_VECTOR (0 TO 3) ; m : OUT BOOLEAN) ; END relational_ops_1 ; ARCHITECT

文档评论(0)

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

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

1亿VIP精品文档

相关文档