- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 硬件描述语言VHDL 2.1 VHDL简介 2.1.1 VHDL的发展及特点 2.1.2 传统设计与VHDL设计对照 2.2 VHDL程序的基本结构 2.2.1 VHDL程序的基本单元与构成 2.2.2 实体 2.2.3 结构体 2.2.4 库、程序包和配置 2.3 VHDL的语法要素 2.3.1 VHDL的文字规则 2.3.2 VHDL的数据对象 2.3.3 VHDL的数据类型 2.3.4 运算操作符 2.4 VHDL结构体的描述方式 2.4.1 顺序描述语句 2.4.2 并行描述语句 2.4.3 属性描述语句 VHDL语言常用的数据对象为常量(Constant)、信号(Signal)、变量(Variable)。 2.3.2 VHDL的数据对象 1.常量 常量在设计描述中保持某一规定类型的特定值不变。 2.信号 信号用于声明内部信号,而非外部信号(外部信号对应为in,out,inout,buffer),它在元件之间起互连作用,可以赋值给外部信号。 3.变量 变量只在给定的进程中用于声明局部值或用于子程序中。 表2.2 VHDL语言数据对象定义位置和作用范围 上面两种场合下,均可存在 全局 常数 process,function,procedure 局部 变量 architecture,package,entity 全局 信号 定义或说明部位 作用范围 数据对象 4.信号与变量的区别 ① 说明的位置不同 ② 赋值符号不同 ③ 赋值后的结果不同 ④ 信号在整个结构体内有效,变量只在定义的进程或子程序内有效。 表2.3 信号与变量赋值语句功能比较 立即赋值 在进程的最后才对信号赋值 行为特性 只能在所定义的进程中使用 在整个结构体内的任何地方都能使用 适用范围 := = 赋值符号 用于作为进程中局部数据存储单元 用于作为电路中的信号连线 基本用法 变 量 信 号 2.3.3 VHDL的数据类型 VHDL本身标准(VHDL预定义)的数据类型有10种。 它们都是在VHDL标准程序包Standard中定义的。 1.标准的数据类型 (1)整数 (2)实数 (3)位 (4)位矢量 (5)布尔量 (6)字符 (7)字符串 (8)时间 (9)错误等级 (10)自然数和正整数 2.std_logic和std_logic_vector类型(IEEE预定义)3.用户自定义的数据类型 (1)type语句用法 type语句的语法结构如下: type 数据类型名 is 数据类型定义 of基本数据类型; 或 type 数据类型名 is 数据类型定义; (2)subtype语句用法 subtype语句的语法格式如下: subtype 子类型名is基本数据类型range约束范围; 4.数据类型转换 (1)调用预定义的类型转换函数 表2.4 数据类型转换表 由std_logic_vector转换为integer conv_integer(a) std_logic_unsigned程序包 由unsigned,signed转换为integer conv_integer(a) 将整数integer转换成std_logic_vector类型,a是整数 conv_std_logic_vector(a,位长) std_logic_arith程序包 由std_logic转换为bit to_bit(a) 由bit转换为std_logic to_stdlogic(a) 由std_logic_vector转换为bit_vector to_bitvector(a) 由bit_vector转换为std_logic_vector to_stdlogicvector(a) std_logic_1164程序包 功 能 函 数 名 (2)调用算符重载函数 为了方便各种不同数据类型间的运算操作,VHDL允许用户对原有的基本操作符重新定义,赋予新的含义和功能,从而建立一种新的操作符。 这种附有新的含义的操作符叫做算符重载函数。 2.3.4 运算操作符 1.操作符的种类及其对应的操作数类型 表2.5 VHDL操作符列表 整数 负 ? 整数 正 + bit或布尔型一维数组 逻辑循环右移 ror bit或布尔型一维数组 逻辑循环左移 rol bit或布尔型一维数组 算术右移 sra bit或布尔型一维数组 算术左移 sla bit或布尔型一维数组 逻辑右移 srl bit或布尔型一维数组 逻辑左移 sll 整数 求绝对值 abs 整数 求余 rem 整数 求模 mod 整数 乘方 ** 整数和实数 除 / 整数和实数 乘 * 整数 减 ? 整数 加 + 算术
您可能关注的文档
- EDA技术及应用 第二版 教学课件 作者 谭会生 第5-7章 第6章 VHDL设计应用实例.ppt
- EDA技术及应用 第二版 教学课件 作者 谭会生 第5-7章 第7章 EDA技术实验.ppt
- EDA技术及应用 教学课件 作者 范晶彦 EDA技术及应用 第二章.ppt
- EDA技术及应用 教学课件 作者 范晶彦 EDA技术及应用 第三章.ppt
- EDA技术及应用 教学课件 作者 范晶彦 EDA技术及应用 第四章.ppt
- EDA技术及应用 教学课件 作者 范晶彦 EDA技术及应用 第一章.ppt
- EDA技术及应用 教学课件 作者 孙宏国 第1章.ppt
- EDA技术及应用 教学课件 作者 孙宏国 第2章.ppt
- EDA技术及应用 教学课件 作者 孙宏国 第3章.ppt
- EDA技术及应用 教学课件 作者 孙宏国 第4章 Quartus II 介绍与使用 EDA技术与应用.ppt
- EDA技术教程教学课件 作者 梁勇 王留奎 第3章 Quartus II开发软件.ppt
- EDA技术教程教学课件 作者 梁勇 王留奎 第4章 VHDL设计提高.ppt
- EDA技术教程教学课件 作者 梁勇 王留奎 第5章 Quartus II使用提高.ppt
- EDA技术教程教学课件 作者 梁勇 王留奎 第6章 VHDL设计应用实例.ppt
- EDA技术入门与提高 第二版 教学课件 作者 王行 全书 第1章.ppt
- EDA技术入门与提高 第二版 教学课件 作者 王行 全书 第2章.ppt
- EDA技术入门与提高 第二版 教学课件 作者 王行 全书 第3章.ppt
- EDA技术入门与提高 第二版 教学课件 作者 王行 全书 第5章.ppt
- EDA技术入门与提高 第二版 教学课件 作者 王行 全书 第6章.ppt
- EDA技术入门与提高 第二版 教学课件 作者 王行 全书 第7章.ppt
文档评论(0)