5.3VHDL语言要素教程.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.3VHDL语言要素教程

5.3 VHDL语言要素 5.3.1 标识符Identifiers 注意: 1、不区分大小写; 5.3.2 数据类型Data Types VHDL作为一种强类型语言,任何一种数据对象(信号、变量、常数、函数及设定的各种参数)必须严格限定其类型和取值范围,相同类型才能相互传递。 1、标准库定义的数据类型: 在标准库STANDARD库中定义,不需要用USE显式调用。 2)、位矢量(Bit_vector): 是基于BIT数据类型的数组, 赋值方式: a=; 3)、布尔类(BOOLEAN) 取值是: true(真)和false(伪) 在VHDL中分别用‘1’和‘0’表达true和false。 布尔数据不是数值,只能用于逻辑操作或条件判断。 4)、整数(Integer): 在VHDL中,整数可取值范围从-(231-1)到(231-1)。 要用RANGE子句为所定义整数限定范围,以便综合器决定该信号或变量的二进制的位数,从而分配相应的硬件资源。 在实际应用中,VHDL仿真器通常将INTEGER类型作为有符号数处理,而VHDL综合器则将INTEGER作为无符号数处理。 整数常量的书写方式: 23 十进制数23 -4 十进制整数-4 2E3 十进制整数2*103=2000,E代表10的次方 16#A0# 十六进制数A0HEX=160,格式:进制#数据# 2#110100101# 二进制整数 2、IEEE预定义标准逻辑位与矢量 在IEEE的程序包std_logic_1164中定义了两个非常重要的数据类型: std_logic、 std_logic_vector。 1)std_logic: 工业标准的逻辑类型,简称标准逻辑位 。 9个取值:‘0’(强0)、‘1’(强1)、‘Z’(高阻态)、‘X’(强未知的)、‘W’(弱未知的)、‘L’(弱0)、‘H’(弱1)、‘-’(忽略)、‘U’(未初始化)。 std_logic较完整地概括了数字系统中所有可能的数据表现形式,其实际电路有更好的适应性。 其中只有前4种的取值具有实际物理意义,其他的是为了与模拟环境相容才保留的。 2)std_logic_vector: 工业标准的逻辑类型std_logic的组合。象BIT_VECTOR是BIT的组合一样。 使用标准逻辑位矢量必须注明宽度,即数组中的元素的个数和排列。 【例5-9】例5-2的四选一数据选择器的CASE实现。 LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY mux4 IS PORT (s: IN std_logic_vector(1 DOWNTO 0); a0, a1, a2, a3: IN std_logic_vector(7 DOWNTO 0); y: OUT std_logic_vector(7 DOWNTO 0)); END mux4; ARCHITECTURE archmux OF mux4 IS BEGIN PROCESS(s , a0, a1, a2, a3 ) BEGIN CASE s IS WHEN “00”= y<=a0; WHEN “01”= y<=a1; WHEN “10”= y<=a2; WHEN “11”= y<=a3; WHEN OTHERS =NULL; END CASE; END PROCESS; END archmux; 3、用户自定义的数据类型 除了上述一些标准的预定义数据类型外,如整数类型、Boolean类型、标准逻辑位类型Std_logic等,VHDL还允许用户自行定义新的数据类型。 1)枚举类型(Enumerated Types) 枚举类型定义语法如下: TYPE 数据类型名 IS(枚举文字,枚举文字…….); 如:TYPE color IS (red, green, yellow, blue); 用户自定义的数据类型名,可在信号、变量定义时象STD_LOGIC一样使用。 例:枚举类型的定义及使用: TYPE color IS (red, green, yellow, blue); TYPE level IS (‘0’,’1’,’z’); SIGNAL b: level; … VARIABLE a:color; … a:=red; b=’1’; 2)数组类型 数组类型定义语法如下: 如: TYPE a IS

文档评论(0)

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

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

1亿VIP精品文档

相关文档