fpga verilog语法篇 0与c语言对比
verilog是一种编程语言,
它的作用是描述一个硬件电路,
从而让fpga可以通过它的描述,进行搭建电路.
fpga里面有很多寄存器,开关,等等一些硬件,相当于积木的碎片.
verilog就是积木的某种模型搭建手册.
根据verilog,就可以吧积木碎片进行重新连接,从而实现某种功能.
最常用的是verilog描述成一个流水线的功能,
然后让数据流入,并进行逐个加工,然后输出.
比如某个温度采集的系统,
它的功能很简单,就是通过ad采集温度,然后把温度通过串口输出.
就是通过verilog,不断的采集温度对应的电压,然后进行转换,然后通过串口输入.
温度这个数据,就像流水线上的产品,每秒钟采集一次,然后抛给下一个转换的流程中,然后再抛给输出的流程中.
经过不断地加工,在串口上就可以每秒钟读到一个温度数据了.
我们先从最大的结构看起,
为了方便理解verilog这种编程语言,
就用verilog和C语言进行对比.
如下图:
verilog中的模块,就是相当于C语言的.c文件.
verilog模块中的代码块,就相当于C语言中的函数.
verilog中的数据类型,就相当于C语言中的变量类型.

我们还是按照上面温度采集系统分析.
它可以大体分成三个功能,
1,ad转换,模数转换;
2,进行数据单位的换算;
3,串口温度值的输出;
那么,就可以设计三个verilog模块,
1,ad转换模块;
2,温度值处理模块;
3,温度值输出模块;
每个verilog模块中肯定会有很多代码块,用于实现不同的功能.
每个代码块中也会用到不同的数据.