- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 运算操作符和属性
•VHDL的运算操作符:
•属性:
•用户自定义属性
•操作符扩展
•通用属性语句
•例子
1
4.1 运算操作符
6种预定义的运算操作符:
赋值运算符;
逻辑运算符;
算术运算符;
关系运算符;
移位运算符;
并置运算符;
2
赋值运算符
例:
signal x: std_logic; variable y: std_logic_vector(3 downto 0);
signal w: std_logic_vector(0 TO 7);
x=‘1’; 通过=将‘1’赋给信号x;
y:=“0000”; 通过:=将值“0000”赋给变量y ;
w1=(0=’1’, OTHERS=’0’); --信号w1 的赋值;
3
w2=(OTHERS=’0’); --信号w2 的赋值;
逻辑运算符
高运算优先级
低运算优先级
4
算术运算符
注意:书上的“可综合”是指EDA工具的工艺库 (如IP库、基本器件
库)中是否直接包含相应的功能模块或器件,如果包含,则称为
可综合,否则就称为不可综合。对于某些运算功能,理论上是可
以用电路实现的,但代价太大,不常使用,因此工艺库中一般就
不包含这些功能器件,在这里就称为不可综合。 另外,可综合的
电路必须是规格固定的。
5
加法、减法、乘法可以综合成逻辑电路;(见例
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: 不可综合。
6
关系操作符
7
移位操作符
语法结构: 左操作数移位操作符右操作数
例: 令x=“01001”,那么:
y=x ssl 2; y=“00100”;
y=x sla 2; y=“00111”;
y=x rol 2; y=“00101”; 8
并置运算符:
例:使用并置运算符对信号赋值
Z=X “1001”; 若X=“101” ,则Z=“1011001”;
Z=(‘1’,’0’,’1’,’0’); Z=
文档评论(0)