VerilogHDL基础语法

关键字
module,endmodule,input,output,
变量:
线网型变量wire 以assign关键字指定的组合逻辑信号,模块的输入输出端口类型都默认为wire型,wire相当于物理连线,默认初始值是z。
寄存器型变量reg 用于always模块内被赋值的信号,必须定义为reg型,代表触发器,常用于时序逻辑电路,reg相当于存储单元,默认初始值是x
参数: parameter能实例化,localparam不能实例化
常量
数值进制符号:h表示十六进制,o表示八进制,b表示二进制,d表示十进制
如8’b0100_0100表示8位二进制44
**阻塞赋值: “==” 顺序执行
a = 1;
b = 2;
c = 3;
begin
a = b;
c = a;
end
结果:
a = 2;
b = 2;
c = 2;

非阻塞赋值:** “<-” 同时进行
a = 1;
b = 2;
c = 3;
begin
a <= b;
c <= a;
end
结果:
a = 2;
b = 2;
c = 1;

逻辑值:
0:逻辑低电平,条件为假
1:逻辑高电平,条件为真
z:高阻态,无驱动
x:未知逻辑电平

算数运算符
+(加法,assign = a + b)
- (减法,assign = a -b)
** * ** (乘法,assign = a * 3)
/ (除法,assign = a / 2)
% (求模/取余,5%3值为2)

归约运算符,按位运算符
当&作为一元运算符表示归约与。&m是讲m中的所有比特相与,最后结果为1bit
如:&4’b1111 = 1&1&1&1 = 1’b1
当&作为二元运算符表示按位与,m&n是将m的每个比特与n的相应比特相与,最后的结果与m或者n比特相同
4’b1010&4’b0101 = 4’b0000

"&","^","^","|","~|"同理

逻辑运算符(逻辑与&&,逻辑或||,逻辑相等==,逻辑不等!=)

如:a =4’ha,b = 4’d0,c = a&&b,则C为0.

关系运算符
a < b
a>b
a<=b
a >=b

移位运算符(<<表示左移,>>表示右移)
a>>1 表示a右移1位

位拼接运算符
d = {a,b,c};

条件运算符
c = (a > b)?a : b表示a>b为真时,把a的值给c,为假时,把b的值为c

输出打印信息函数:display,write,strobe
区别:write需要加换行符,strobe在最后打印

stop暂停仿真,finish结束仿真

parameter可以在模块内部定义
localparam不可以在模块内部定义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硬件大爷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值