FPGA开发verilog语法基础2

主体内容

1 运算符

1.1 算术运算符

	+		-		*		/		%

       注意!!!/为整除,%求余数(取模运算)。

       使用算术运算符时,要注意以下问题:

       1,算术运算结果的位宽。算术表达式结果的长度由最长的操作数决定。在赋值语句下,算术结果的长度由等号操作符左端的目标长度决定

       2,有符号数和无符号数的使用。在设计中,要注意到哪些操作数应该是无符号数,哪些应该是有符号数:

       (1)无符号数值一般存储在线网、reg(寄存器)型变量及普通(没有符号标记s)的基数格式表示的整形数中。

​       (2)有符号数值一般存储在整形变量、十进制形式的整数、有符号的reg(寄存器)型变量及有符号的线网中。

1.2 关系运算符

>		<		<=		>=		==		!=		===(全等)	!==(非全等)

​ 使用关系运算符时,要注意以下问题:

​       1,在进行关系比较时,如果成立则结果为 1‘b1,否则返回的结果为 1’b0;若不确定则返回结果为不定制(x)。

​       2,若操作数长度不同,则长度短的操作数应在左边用0补齐。例如:'b1001 > 'b101100 等价于 'b001001 >= 'b101101,结果为假(0)。

​       3,值相同而位宽不同时,使用 == 时为真,使用 === 时为假。=== 和 !== 时对操作数进行按位比较,两个操作数必须完全一致,结果才是真,否则时0,若两个操作数对应位出现不定值 x 和高阻值 z,则可以认为是相同的。 === 和 !== 常用于 case 表达式的判别,所以又称为“case 等式运算符”。

1.3 逻辑运算符

​	!非   		&&||

​       注意!!!,这里的非是而不是!!

​       使用逻辑运算符时,要注意以下问题:

​       1,如果操作数是由多位组成的,则当操作数每一位都是0时才是逻辑0值只要有某一位为1,这个操作数就是逻辑1值

​       2,逻辑运算符的操作数只能是逻辑0或者逻辑1。若操作数中存在不定态x,则逻辑运算的结果也是不定态,例如a为4‘b1100,b为4’b01x0,则 !a = 0, !b = x, a && b = x,a||b = x。

1.4 条件操作符

​	?:	a?b:c	**如果a为真,为b,否则为c**

       条件运算符是verilog中的唯一三目运算符。注意条件表达式的运算结果可以为x,这个判断比较复杂。

1.5 位运算符

~位取反		&位相与		|位相或		^位异或(不同为1)		^~位同或

​       位宽不同的数按运算时,会自动地将两个操作数按右端对齐会把位宽低的高位补0(即补至两者的最大位宽),再运算,运算结果的位宽与操作数中的位宽较大者中相同。

​       特别注意区分逻辑运算符和位运算符到底谁是单个符号,谁是两个符号!!!

1.6 移位运算符

<<		a<<b		将a左移b位		

​	>>		a>>b		将a右移b位

​       注意主次!两种移位运算都用0来填补移出的空位。

​       另外要注意!!!左移时,位宽增加;右移时,位宽不变(移出去的位就没了)

4'b1001 << 2 = 6'b100100;
4'b1001 >> 1 = 4'b0100;

1.7 拼接运算符(个人认为是HDL的最大特色)

{}			{a,b}			将a和b拼接起来,作为一个新信号
a = 3'b101;
b = 5'b11110;

c = {a, b[3:0]};		//c = 7'b1011110
d = {2{a}};				//d = 6'b101101

1.8 运算符优先级

在这里插入图片描述

2 注释

​       类型1:// 只到本行结束有效

​       类型2:/*

​       */ 两个符号间的内容均有效

​       注意!多行注释不允许嵌套,但是单行注释可以嵌套在多行注释中

3 关键字

​       变量命名时,不能与系统关键字重名,且所有关键字都是小写的。例如,ALWAYS不是关键字,它是标识符常用关键字如下:

在这里插入图片描述

参考资料

1,正点原子领航者ZYNQ7020视频

2,《verilog HDL数字集成电路设计原理与应用(第二版)》 蔡觉平等

3,文心一言搜索结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

辣个蓝人QEX

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

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

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

打赏作者

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

抵扣说明:

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

余额充值