数字的表示方式是什么?
Verilog中数字最常用的表示方式:<位宽>'<基数><数值>,例如:4'b1011和4'd11
位宽是什么?
前面提过,位宽就是位数(二进制下)
基数是什么?
表示数值是多少进制,b(二进制),B(十进制),d(八进制),D(十六进制),默认十进制
数值是什么?
是由基数所决定的表示常量真实值的一串ASCII码
X态是什么?
X态,称之为不定态,不关心这一位的电频是什么,是0是1都可以
Z态是什么?
Z态,一般称之为高阻态,表示设计者不驱动这个信号,既不给1也不给0,通常用于三态门接口中
算术运算符是什么?
加法器
always@(*)
begin
c = A + B;
end
减法器
always@(*)
begin
c = A - B;
end
乘法器
always@(*)
begin
c = A * B;
end
除法器
always@(*)
begin
c = A / B;
end
求余器
always@(*)
begin
c = A % B;
end
加法运算符是什么?
assign C = A + B;
逻辑运算符是什么?
逻辑与 A&&B
逻辑或 A||B
逻辑非 !A
按位逻辑运算符是什么?
与 &
或 |
异或 ^
异或非 ^~
关系运算符是什么?
> 大于
< 小于
>= 大于等于
<= 小于等于
== 逻辑相等
!= 逻辑不等
移位运算符是什么?
<< 左移
>> 右移
条件运算符是什么?
选择器(三种实现)
always@(*)begin
case(S)
2'b00 : C=D0;
2'b01 : C=D1;
2'b10 : C=D2;
default : C=D3;
endcase
end
always@(*)begin
C=D[S];
end
always@(*)begin
if(S==0)
C=D0;
else if(S==2'b01)
C=D1;
else
C=D2;
end
三目运算符是什么?
当条件为真,执行真表达式,当条件为假,执行假表达式
always@(*)begin
r=s?t:u;
end