欢迎光临散文网 会员登陆 & 注册

fpga verilog语法篇 1基本概念 11函数

2023-07-28 08:38 作者:GXTon_阿通  | 我要投稿

在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语句:

循环语句:


fpga verilog语法篇 1基本概念 11函数的评论 (共 条)

分享到微博请遵守国家法律