FPGA【Verilog语法】
关键字:
and always assign begin buf
bufif0 bufif1 case casex casez
cmos deassign default defparam disable
edge else end endcase endfunction
endprimitive endmodule endspecify endtable endtask
event for force forever fork
function highz0 highz1 if ifnone
initial inout input integer join
large macromodule medium module nand
negedge nor not notif0 notif1
nmos or output parameter pmos
posedge primitive pulldown pullup pull0
pull1 rcmos real realtime reg
release repeat rnmos rpmos rtran
rtranif0 rtranif1 scalared small specify
specparam strength strong0 strong1 supply0
supply1 table task tran tranif0
tranif1 time tri triand trior
trireg tri0 tri1 vectored wait
wand weak0 weak1 while wire
wor xnor xor automaticcellconfig
design
endconfig
endgenerate
generategenvar
incdir
include
instanceliblistlibrarylocalparammacromodulemediummodulenandnegedge
noshowcancelled
pulsestyle_onevent
pulsestyle_ondetect
scale
set0
set1
small
specify
specify2
sphere
sstrong0
sstrong1
strong0
strong1
supply0
supply1
sync_accept_on
sync_reject_on
synopsys
timescale
timeunit
timeprecision
to
tran
tranif0
tranif1
trireg
uwire
var
vector
void
wand
wire
wor
xnor
xor
2、常用关键字
关键字 含义
module 模块开始定义
input 输入端口定义
output 输出端口定义
inout 双向端口定义
parameter 信号的参数定义
wire wire信号定义
reg reg信号定义
always 产生reg信号语句的关键字
assign 产生wire信号语句的关键字
begin 语句的起始标志
end 语句的结束标志
posedge/negedge 时序电路的标志
case Case语句起始标记
default Case语句的默认分支标志
endcase Case语句结束标记
if if/else语句标记
else if/else语句标记
for for语句标记
endmodule 模块结束定义
值类型:
bdOh// 二进制,十进制,八进制,十六进制
二进制
8'b0000_1111 //8表示总bit长度,下划线编译器是忽略的。可提高阅读性八进制
16'o253 //16bit长度,八进制值253十进制
25'd24 //25bit长度,值24十六进制
32'haaaa_ffff //
符号类型:
运算符:
算术运算符(+、-、*、/、%)、位运算符(&、|、^、~、<<、>>)、比较运算符(==、!=、<、<=、>、>=)、逻辑运算符(&&、||、!)、条件运算符(?:)等。“<=”(非阻塞赋值)
“=”(阻塞赋值)
“//”可以实现对一行的注释,
“/*......*/”多行注释<小于
>大于
<=小于等于
>=大于或者等于//当“&”作为一元运算符时表示归约与。&m是将m中所有比特相与,最后的结果为1bit。
&与运算
&4’b1111 = 1&1&1&1 = 1’b1
&4’b1101 = 1&1&0&1 = 1’b04’b1010&4’b0101 = 4’b0000
4’b1101&4’b1111 = 4’b1101 “~&”、“^”、“~^”、“|”、“~|”同理。
“||”、“= =(逻辑相等)”、“!=(逻辑不等)”同理。 “<<”
“>>”
“ ? : ”,它是一个三元运算符“= =”
“!=”
“&&”
“||”
位拼接运算符由一对花括号加逗号组成“{ , }”