verilog基本语法

一.verilog的逻辑值

  • 我们先看下逻辑电路中有四种值,即四种状态:

    逻辑 0:表示低电平,也就是对应我们电路的 GND;

    逻辑 1:表示高电平,也就是对应我们电路的 VCC;

    逻辑 X:表示未知,有可能是高电平,也有可能是低电平;

    逻辑 Z:表示高阻态,外部没有激励信号是一个悬空状态。
    在这里插入图片描述

二.数字进制格式

  • 二进制(BIN)例:4’b1010
  • 八进制(OCT)例:4’o12
  • 十进制(DEC)例:4’d10
  • 十六进制(HEX)例:4’hA
  • 注:表示数字需要声明位宽如上面例子的4表示位宽;声明其进制类型如上例中b,o,d,h;最后再声明数值。

三.数据类型

  • 寄存器类型:常用reg:例:reg [3:0] led;
  • 线网类型:常用wire:例:wire [3:0] data;
  • 变量类型:常用parameter、localparam:例:parameter MAX_CNT = 26’d50_000_000;
  • parameter和localparam的区别是:localparam不可以被重写

四.运算符

4.1算数运算符

符号使用方法说明
+a + ba加b
-a - ba减b
*a * ba乘b
/a / ba除b
%a % ba模除b

4.2关系运算符

符号使用方法说明
>a > ba大于b
<a < ba小于b
>=a >= ba大于等于b
<=a <= ba小于等于b
!=a != ba不等于b
==a == ba等于b

4.3逻辑运算符

在这里插入图片描述

  • 注意的是,逻辑运算符的结果只能为0或1。例如:4’b1001 && 4’b0110 = 1

4.4条件运算符

符号使用方法说明
?:a ? b : c如果a为真,则选择b,否则选择c

4.5位运算符

在这里插入图片描述

  • 注意不要与逻辑运算符混淆。例如:4’b1001 & 4’b0110 = 4’b0000

4.6移位运算符

符号使用方法说明
<<a << b将a左移b位
>>a >> b将a右移b位

4.7位拼接运算符

符号使用方法说明
{}{a,b}将a,b组成一个新信号

五.赋值

名称符号使用方法说明
非阻塞赋值<=a <= 0时序逻辑always语句用非阻塞赋值
阻塞赋值=a = 0组合逻辑always语句用阻塞赋值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值