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          

 automatic
 cell
 config
design
endconfig
endgenerate
generate
 genvar
incdir
include
instance
 liblist
 library
 localparam
 macromodule
 medium
 module
 nand
 negedge
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’b0

4’b1010&4’b0101 = 4’b0000 
4’b1101&4’b1111 = 4’b1101 

“~&”、“^”、“~^”、“|”、“~|”同理。
“||”、“= =(逻辑相等)”、“!=(逻辑不等)”同理。 

“<<”
“>>”
“ ? : ”,它是一个三元运算符

“= =”
“!=”
“&&”
“||”
位拼接运算符由一对花括号加逗号组成“{ , }”














你可能感兴趣的:(FPGA,fpga开发)