Verilog 学习小白笔记(三)

Verilog HDL初学小白笔记

书目:verilog HDL数字设计与综合第二版 夏宇闻
第六章

一、连续赋值语句
1、用于对线网进行赋值,关键词为assign
2、连续赋值语句坐直必须是一个标量或线网,或是二者的拼接
3、连续赋值语句总是处在激活状态,只要任意一个操作数发生变化则表达式就重新计算并赋给左值
4、操作数可以是线网或者寄存器,也可以是函数调用
5、赋值延迟用于控制对线网赋予新值的时间,类似门延迟
6、example:assign out=i1&i2; assign addr[15:0]=addr1_bits[15:0]^addr2_bits[15:0] 16位向量线网
7、拼接操作:assign{c_out,sum[3:0]}=a[3:0]+b[3:0]+c_in
8、隐式连续赋值:因为线网只能被声明一次,故也只有一次:wire out =in1 & in2

二、延迟
1、普通赋值延迟:取延迟时间足够前操作数最新值计算:assign #10 out=in1 & in2
2、隐式赋值延迟:wire #10 out = in1 & in2
3、线网声明延迟:任何时候该线网赋值都会延迟:wire #10 out

三、表达式、操作数、操作符
1、操作数:常数、整数、实数、线网、寄存器、时间、位选、存储器、函数调用
2、操作符
(1)算术:*、/、+、-、%(取模)、**(求幂)
(2)逻辑:!、&&、||
(3)关系:<、>、>=、<=
(4) 等价:=、!=(不等)、=(case相等)、!==(case 不等)
(5)按位:、&、|、^、^或~^
(6)缩减:&、&、||、^
(7)移位:>>、<<、<<<、>>>(算术右移)
(8)拼接:{ } 复制:{{ }}
(9)条件:?:
3、如果操作数任意以为为x,结果全为x
4、取模结果符号取第一个操作数符号
5、优先级:单目运算、乘除取模、加减、移位、关系、等价、缩减、逻辑、条件

猜你喜欢

转载自blog.csdn.net/weixin_41466479/article/details/82942616