Verilog学习笔记(02)

本文详细介绍了Verilog HDL的数据流建模方式,包括连续赋值语句、运算符的使用及特性,以及行为级描述的各种语句,如过程语句、条件分支语句和循环语句,帮助读者深入理解Verilog HDL的设计方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


参考:Verilog数字VLSI设计教程
硬件描述语言Verilog
Verilog HDL数字设计与综合
Verilog HDL 数字集成电路高级程序设计

2.1 数据流描述

数据流建模:通过连续赋值语句和运算符的建模方式
显式连续赋值语句

<线网类型> <线网位宽> <线网信号>;
assign #<延迟><线网信号>=赋值表达式;

隐式连续赋值语句

<线网类型> <驱动强度><位宽> #<延迟><线网信号>=赋值表达式;

注意:
(1)赋值语句只能是线网类型(wire)
(2)连续赋值语句总是处于激活状态,用于组合逻辑之中
(3)连续赋值语句不能出现在过程块中,因为连续赋值语句是独立于过程语句的一种设计方式
(4)多个连续赋值语句之间是并行关系
(5)连续赋值语句的延时具有硬件电路中惯性延时特性,任何小于其延时的信号变化脉冲会被过滤掉,不会出现在输出端上

2.2 运算符

在这里插入图片描述
当遇到优先级时,可用()进行标注。

1.算术运算符:+、-、*、/、%

在赋值语句下,算数操作符结果的长度由操作符左端的目标长度决定
一般情况下,常用+、-、*,若要用/、%时,需要调用专用的IP
在加法操作中,最大位宽为max{m,n}+1
在乘法操作中,最大位宽为m+n-1

2.关系运算符:>、<、> =、< =、= =、!=、= = =、!= = =
== 0 1 x z
0 1 x x x
1 x 1 x x
x x x x x
z x x x x
=== 0 1 x z
0 1 0 0 0
1 0 1 0 0
x 0 0 1 0
z 0 0 0 1

注:
关系运算符的结果是1bit信号

3.逻辑运算符:&&、||、!

例:
寄存器变量a、b的初值分别为4’b1110和4’b0000,则!a=1’b0,!b=1’b1,a&&b=1’b0,a||b=1’b1
逻辑运算的结果是一个1bit信号

4.按位运算符:~ 、&、|、^ 、^~

按位运算的结果是一个多bit信号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值