- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VHDL数字电路设计教程第4讲_运算操作符和属性
4.1 运算操作符 6种预定义的运算操作符: 赋值运算符; 逻辑运算符; 算术运算符; 关系运算符; 移位运算符; 并置运算符; 注意:书上的“可综合”是指EDA工具的工艺库(如IP库、基本器件库)中是否直接包含相应的功能模块或器件,如果包含,则称为可综合,否则就称为不可综合。对于某些运算功能,理论上是可以用电路实现的,但代价太大,不常使用,因此工艺库中一般就不包含这些功能器件,在这里就称为不可综合。 另外,可综合的电路必须是规格固定的。 加法、减法、乘法可以综合成逻辑电路;(见例6.8/12.1/12.2等) 除法:除数为2n时可通过移位操作实现(见例9.1),容易综合;其它类型除数时则比较复杂(见例9.4),是否能综合还取决于具体的除数; 指数运算:只有当底数和指数都是静态数值(常量或GENERIC参数)时才可综合; MOD和REM:只能用于整数类型。两者区别在于符号不同,如果有两个操作数a和b,表达式a REM b的符号与a相同;表达式a MOD b的符号与b相同。例如: 7 REM -2=1、-7 REM 2=-1、-7 MOD 2=1、7 MOD -2=-1。 “mod”、“rem” 操作的综合限制:若右操作数为2n ,则可用移位电路实现,即可综合的,其它情况则不可综合。 ABS: 不可综合。 关系操作符 移位操作符 语法结构: 左操作数移位操作符右操作数 并置运算符: 各种操作符的优先级问题 NOT和算术运算符中的ABS、**的优先级相同,是所有运算符中优先级最高的。 运算符*、/、MOD、REM的优先级相同 ,低于NOT、ABS和**运算符 六种移位运算符的优先级相同,高于关系运算符。 并置运算符的优先级与加、减运算符相同,高于移位运算符; 在VHDL中,左右没有优先组合的区别,一个表达式中如果有多个逻辑运算符,运算顺序的不同可能会影响运算结果,就需要用括号来解决组合顺序的问题。 4.2 属性(ATTRIBUTE) 属性是指从指定的客体或对象(如entity /type /architecture等)中获取关心的数据或信息。 利用属性可以使VHDL源代码更加简明扼要,易于理解; 语法: 对象’属性 预定义的属性:数值类属性和信号类属性 数值类属性:获取数组、块或一般数据的相关信息。 VHDL预先定义的、可综合的数值类属性: left:索引的左边界值 right:索引的右边界值 high:索引的上限值 low:索引的下限值 length:索引的长度值 range:索引的位宽范围 reverse_range:索引的反向位宽范围 枚举类型数值的属性:通常是不可综合的 VAL(pos): 指定位置(pos)的值 POS(value):给定数值的位置序号 LEFTOF(value):给定数值的左侧值 VAL(row,column):位于行、列位置的值 信号类属性:VHDL预定义的,对于信号s: EVENT: 如果s值发生了变化,则返回值为true,否则为false XXX, 常用于时钟信号的判定。 STABLE:如果s值保持不变,则返回值为true,否则为false; ACTIVE:如果s值为‘1’,则返回值为true,否则为false; QUIETtime:如果在指定的time内s值保持不变,则返回值为true,否则为false; LAST_EVENT:返回从上一次事件发生的时间到当前时间的时间差; LAST_ACTIVE:最后一次s=‘1’到当前所经历的时间长度值; LAST_VALUE:最后一次变化前s的值; 除EVENT和STABLE属性是可以综合的之外,其它的属性都不可综合,仅用于仿真。 例: 对信号clk是否出现上述沿进行判断 IF(clk’EVENT and clk=‘1’).. IF(NOT clk’STABLE and clk=‘1’).. 4.3 用户自定义的属性 用户自定义属性的声明,语法如: ATTRIBUTE attribute_name: attribute_type; attribute_type可以是任何数据类型,包括预定义的数据类型。 用户自定义属性的描述,语法如: ATTRIBUTE attribute_name OF target_name: class IS value; class可以是数据类型、信号、变量、函数、实体或构造体等。 端口描述 两个输入
您可能关注的文档
最近下载
- 七年级数学上册有理数专题提高练习-有理数的乘法(含答案).doc VIP
- 宝钢宝钢宝钢集团.PDF VIP
- 2024年雷尼镍催化剂项目可行性研究报告.docx
- 2025年事业单位考试职业能力倾向测验(中小学教师类D类)自测试题及解答参考.docx VIP
- 2025年一建一级建造师建筑实务案例分析考点重点知识总结高分笔记.pdf VIP
- 水轮机检修工技师职业技能鉴定题库(完整版).pdf VIP
- 安防监控售后服务方案方针.doc VIP
- 2023儿童青少年近视防控中医适宜技术临床实践指南.docx VIP
- 5G+“三早”糖尿病健康管理中国专家共识(2024) .docx VIP
- 建筑给排水及采暖工程用表检验批试验记录隐蔽工.pdf VIP
文档评论(0)