- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章VHDL语言的数据类型及运算.ppt
第三章 VHDL语言的数据类型及运算操作符 本章内容 VHDL语言的客体及其分类 信号 变量 常量 文件 VHDL语言的数据类型 标准的数据类型 用户自定义数据类型 VHDL语言的运算操作符 逻辑运算符 算术运算符 关系运算符 3.1 VHDL语言的客体及其分类 在VHDL语言中可以赋予一个值的对象,称为客体(数据对象),也即可以存放信息的容器。 客体类别: 信号(Signal) 变量(Variable) 常数(Constant) 文件(File) 电子电路设计中,信号、变量、常数、文件四类客体的物理含义: 信号对应物理设计中的某一条硬件连接线; 常数对应数字电路中的电源和地等; 变量的对应关系不太直接,通常用于暂时数据的局部存储,用于硬件特性的高层次描述的建模计算。 文件没有直接物理对应关系,它可用参数向子程序传递数据,通过子程序对文件进行读、写操作。(93版) 1. 常数(Constant) 1) 常数的作用 保证常数所描述的数据在程序中不会因误操作被改变; 对程序中的某些关键数值进行命名,可以提高程序的可读性; 将出现次数较多的关键数值用常数表示,可使程序易于修改:只须修改常数就可以替换所有相关数值。 常数一旦被赋值就不能再改变; 如上面的vcc被赋值为5.0,则在所有的VHDL语言程序中就被固定为5.0; 它不象变量和信号那样,可以被任意代入不同的数值。 2. 变量(Variable) 1) 变量的作用 变量是局部量,用在进程、函数语句和过程语句中作为局部的数据存储; 用于描述算法和方便程序中的数值运算。 4) 变量的赋值 变量不与任何实际电路连线对应,变量的赋值是即时性的;变量的赋值使用 “ :=”。 3. 信号(Signal) 1) 信号的作用 信号是一个全局量,在architecture、package、entity、block中说明,是内部硬件连接的抽象; 可以用来进行进程之间的通信。 Signal Used As an Interconnect 信号和变量值代入的区别 1)代入形式不同 变量 “:=” 信号 “=”; 2)操作过程不同 变量即时赋值; 信号代入语句的处理与代入过程是分开进行的,语句执行但信号值不会立即发生代入,信号赋值至少有△延迟; 3)进程只对信号敏感,对变量不敏感; 4)信号是全局量,变量是局部量; 5)信号有具体的硬件对应,变量没有。 process(a,b,c)is begin c= a + b; d= c + b; end process; 例: entity proc is port(a:in bit); end entity proc; architecture example of proc is signal a1:integer:=50; signal a2:integer:=51; signal b1:integer:=60; signal b2:integer:=61; begin 例 process(a,b,c,d) is begin d=a; x=b+d; d=c; y=b+d; end process; 4. 文件(File) 1) 文件的作用 文件是传输大量数据的客体,包含一些专门数据类型的数值。在仿真测试时,测试的输入激励数据和仿真结果的输出都要用文件进行。 打开文件类型: read_mode—作为输入文件 write_mode—作为输出文件 路径表达式: 说明了文件的读取路径及物理文件名 如: file in_file: text open read_mode is “post.dat”; file out_file:text open write_mode is “fir3_out.dat”; 3.2 VHDL语言的数据类型 VHDL是一种强类型语言,即每一个客体具有一种类型且只能具有该类型的值,或者说,施加于某对象上的操作必须与该对象的类型匹配。 在VHDL中,信号、变量、常数都要指定数据类型,而且VHDL的数据类型定义相当严格:不同类型之间的数据不能直接代入;即使数据类型相同,位长不同时也不能直接代入。 因此要熟练使用VHDL语言,就必须理解各种数据类型的定义。 1. Std库预定义标准数据类型 1) 整数(Integer) 范围:-(231-1)~231-1 当需要进行位操作时可用转换函数将整数转换成位矢量; 在某些CAD厂家提供的工具中允许对有符号和无符号的整型数进行算术逻辑运算; 例:+136 +89774 -22223 考虑到电路综合效率,对于整数类
原创力文档


文档评论(0)