上一篇文章提到了FPGA中一个模块基本结构,这篇文章开始介绍语法。
首先,我们学习一门语言都要从这门语言的单词学起,所以verilog中的关键词都有哪些呢?看下面:
A:always、assign B:begin、 C:case(包含casex、casez) D:deassign、default、defparam(参数声明)、disable(禁止) E:event(事件)、edge、else、end、endcase、endfunction、endprimitive、endmodule、endspecify、endtable、endtask F:for、force(强迫赋值)、forever(无限循环)、fork(并发语句块引导)、function(函数) G:gate(门,包含and、nand、or、nor、xor、xnor、buf、not、bufif0、bufif1、nofif0、nofif1、nmos、pmos、rnmos、rpmos、cmos、rcmos、tran、rtran、tranif0、tranif1、rtranif0、rtranif1、pullup、pulldowm) H:highz0、highz1 I:if、ifnone、initial、inout、input、integer J:join L:large M:module、macromokule、medium N:negedge P:parameter(参数) R:reg、repeat(重复执行)、real、realtime、release S:specparam、scalared、small、specify、strong0、strong1、supply0、supply1 T:tri、table、task、time、triand、trior、trireg、tri0、tri1 V:vectored W:wait、wand、weak0、weak1、while、wire、wor
这是我总结的,不一定全面
关键词虽然学完了,但是我们自己定义端口或者变量的时候还需要用到标识符:
标识符规则:1.标识符可由字母、数字、下划线(_)、美元($)构成、第一个字符必须是字母或下划线
2.verilog中变量名区别大小写,对大小写敏感
3.在verilog文件中一个名字只能有一个意义
4.扩展标识符用“\”引出,用空格、制表、回车、换行键结束,例如:abcde与 \abcde是相同的
在编程的时候知道这些还是不够的,因为,我们还要知道一些运算符
运算符:单目运算符: + - 正负号 ! 逻辑非 ~ 按位取反 & ~& | ~| 缩位运算符 二目运算符: + - * / 算术运算符 % 取模运算符 > >= < <= 关系运算符 && || 逻辑运算符 = == != 等式运算符 & | ^ ^~ 逐位运算符 << >> 移位运算符 其他运算符: A ?B :C 条件运算符 {A,B,C} 位拼接运算符 {N{A}} 重复运算符
这次就写这么多了,词写完了,下次写句法哦!