一 verilog hdl简介
作为一种硬件描述语言,可用其以逻辑电路,逻辑表达式的形式表示硬件结构与硬件行为。
二 verilog hdl基础语法
1.1运算符_算法运算符
表示符:+,-,*,/,%。
1.2运算符_归约运算符,按位运算符
表示符:&。
用法:
归约运算符,&作为一元运算符时,表示归约与。
例如:
&4'b1111=1&1&1&1=1'b1。
按位运算符,&作为二元运算符时,表示按位与。
例如:
4'b1010&4'b0101=4'b0000。
1.3运算符_逻辑运算符
表示符:&&。
用法:
&&表示逻辑与,现规定非0为真,0为假,则,逻辑与两侧均不为零,结果为1,否则为0。
例如:
a=4'ha b=4'b0。
c=a&&b。
易知 c=0。
1.4运算符_关系运算符(可用于if语句中,作为判断条件)
表示符:<,>,<=,>=。
1.5运算符_移位运算符
表示符:<<,>>。
用法:
将运算符左边的操作数左移或右移。
例如:
4'b1000>>3。
易得:4'b0001。
4'b1000>>4。
易得:4'b0000。
1.6运算符_位拼接运算符
表示符:{ , , }。
用法:
拼接不同数据,放大位宽。
例如:
a位宽为8bit,b位宽为3bit,c位宽为5bit,现有d={a,b,c}。
易得d为16bit。
1.7运算符_条件运算符
表示符: ? : 。
用法:
表达式1?表达式2:表达式3。
当表达式1为真时,则以表达式2作为表达式的值,否则则以表达式3作为表达式的值。
例如:
a=6,b=7,c=(a>b)?a:b。
易知,c=7。
2优先级
归约>算数>移位>关系>==>?:>按位>&&>条件
即一元>二元>三元
如果记不住,可多加括号()。