fpga verilog语法篇 1基本概念 11函数
在C语言中,实现一个功能,通常会封装成一个函数.在verilog中,也会有类似函数的代码块. 不同于c语言, verilog中"函数"被分成了三种,
这三种有各自的名字:
1,initial;
2,assign;
3,always;
其中initial的代码,只执行一次.理论上不可以综合.
assign中的代码,会一直执行.经常会在连线上.
always中的代码,会一直执行,经常用于时序的控制. 关于程序中逻辑的编写和实现,都要放到上面三种"函数"中.
上面的三种"函数",即使在书写代码的时候有先后.但是他们都是独立,并行执行的.并且所有的逻辑,要写在函数体里面.

C语言中,每个函数都会有一个括号{}去包含里面的语句.verilog中,有不同的关键字来替代{}.以实现不同功能:
1,顺序块
2,并行块
3,嵌套块
4,命名块
5,disable
顺序块的关键字是begin和end.顺序块中语句都是按照顺序一条条执行的(非阻塞语句除外). 相当于c语言中的{} 下面代码中,a和b是不同时间赋值的.

并行块关键字是fork和join.在并行块之间的语句都是并行执行的.

命名块,可以对程序块进行命名,方便其他程序块中对其进行调用.


if语句:

case语句:

循环语句:
