第四讲数据流建模 西安邮电学院通信工程系 运算符的优先级 一元加 > 右移 一元减 小于 一元逻组非 6= 小于等于 一元按位求反 大于 & 归约与 >= 大于等于 -& 归约与非 == 逻辑相等 归约异或 l 逻辑不等 或 归约异或非 全等 归约或 = 非全等 归约或非 & 按位与 乘 按位异或 除 按位异或非 % 取模 按位或 二元加 && 逻辑与 二元减 I 逻辑或 < 左移 7 条件操作符
第四讲 数据流建模 西安邮电学院通信工程系 运算符的优先级
第四讲数据流建模 西安邮电学院通信工程系 算术运算符 冬+,:一元或二元加、减。 一元加、减:+5,-4。用于表示操作数正负。 二元加、减:a+b;3+2;6-1; 冬无符号数加减: wire、reg信号和基数格式的整数是无符号数。 例:wire[4:0]a,b,sum,sub; assign a=4b1001;assign b=4b0100; assign sum=a+b;/和sum=4'b1101; assign sub=a-b;//sub=4'b0101;
第四讲 数据流建模 西安邮电学院通信工程系 算术运算符 ❖ +,- :一元或二元加、减。 一元加、减:+5, -4。用于表示操作数正负。 二元加、减:a+b; 3+2; 6-1; ❖ 无符号数加减: wire、reg信号和基数格式的整数是无符号数。 例:wire [4:0] a,b,sum,sub; assign a=4’b1001; assign b=4’b0100; assign sum=a+b; // 和sum=4’b1101; assign sub=a-b; // 差sub=4’b0101;
第四讲数据流建模 西安邮电学院通信工程系 算术运算符 冬有符号数加减: integer、.real变量和十进制整数、实数是有符号数。 integer a,b,sum,sub;real d1,d;reg [5:0]bar; initial begin a=10;b=-3;d1=3.5; sum=a+b;/ sum=7 sub=a-b; /sub=13 d=d1-2.3;/ d=1.2 bar=-4'd12;// bar=6b110100。-12的补码 end
第四讲 数据流建模 西安邮电学院通信工程系 算术运算符 ❖ 有符号数加减: integer、real变量和十进制整数、实数是有符号数。 例 integer a,b,sum,sub; real d1,d; reg [5:0] bar; initial begin a=10; b=-3; d1=3.5; sum= a+b; // sum=7 sub= a-b; // sub=13 d= d1-2.3; // d=1.2 bar= -4’d12; // bar=6’b110100。-12的补码 end
第四讲数据流建模 西安邮电学院通信工程系 算术运算符 必*,/,%,*乘、除、取模和乘方运算与C语言相似,但/,%,*运 算只能用于仿真,目前还不能用于电路设计。 ”%:取模运算结果为余数,结果符号与第一运算符保持一致。 例:一10%3,结果为一1;10%-3,结果为1 integer a,b,sum,sub;real d1,d,m;reg [5:0]bar; initial begin a=10;b=-3;d1=3.5; sum=a*b; /sum=-30 sub=a/b; /结果取整, sub=-3 d=d1*2.3;/ d=8.05 bar=d/2; /1 4.025取整; bar=6b000100. m=d1**2; /m=12.25 end
第四讲 数据流建模 西安邮电学院通信工程系 算术运算符 ❖ *, / , % , ** 乘、除、取模和乘方运算与C语言相似,但 / , % , **运 算只能用于仿真,目前还不能用于电路设计。 ❖ % :取模运算结果为余数,结果符号与第一运算符保持一致。 例:-10%3,结果为-1; 10%-3,结果为1 ❖ 例:integer a,b,sum,sub; real d1,d,m; reg [5:0] bar; initial begin a=10; b=-3; d1=3.5; sum= a*b; // sum=-30 sub= a/b; // 结果取整,sub=-3 d= d1*2.3; // d=8.05 bar= d/2; // 4.025取整; bar=6’b000100。 m= d1**2; // m=12.25 end
第四讲数据流建模 西安邮电学院通信工程系 算术运算符 运算符中有不定态,则一般结果也为不定。 例:assign sum=4b101x+4b1010; 计算结果为sum=4 bxxxx 算术表达式结果的长度由最长的操作数决定。 例:reg[3:0]Arc,Bar=4'b1000,Crt=4'b1100; reg [5:0]Frx; Arc=Bar+Crt,/Arc=4b0100,结果的长度为4位,溢出丢弃 Frx=Bar+Crt;/Frx=6b010100,结果的长度为6位,溢出存 /∥在Fx[4]
第四讲 数据流建模 西安邮电学院通信工程系 算术运算符 ❖ 运算符中有不定态,则一般结果也为不定。 例: assign sum = 4’b101x +4’b1010; 计算结果为 sum = 4’bxxxx ❖ 算术表达式结果的长度由最长的操作数决定。 例:reg [3:0] Arc, Bar=4’b1000, Crt=4’b1100; reg [5:0] Frx; Arc = Bar + Crt; //Arc=4’b0100, 结果的长度为4位,溢出丢弃 Frx = Bar + Crt; // Frx=6’b010100, 结果的长度为6位,溢出存 // 在Frx[4]