FPGA基本语法

输入输出信号

input 模块的输入信号,比如 input rst。

output 模块的输出信号,比如 output en。

inout 模块的输入输出双向信号。

信号类型

wire 线信号,一般用于assign语句。

reg 寄存器,一般用于always块中。

模块结构

每个模块的内容都是嵌在module和endmodule两个语句之间,一个模块是由两部分组成的,一部分描述接口,另一部分描述逻辑功能。

module block (
    //输入接口
    input wire a,
    input wire b,
    //输出接口
    output wire c
 );

//逻辑功能
assign c= a & b ;

endmodule

数据类型及其常量、变量

(1)常用的数据类型有:reg型、wire型、integer型、parameter型.

(2)常量

(3)参数(Parameter)型

parameter 参数名1=表达式,参数名2=表达式, …, 参数名n=表达式;

localparam 参数名1=表达式,参数名2=表达式, …, 参数名n=表达式;

(4)变量

reg型定义为:reg [n-1:0] 数据名1,数据名2,… 数据名i;

memory型定义:reg [n-1:0] 存储器名[m-1:0];表示建立m个n位宽大小的reg参数。

(5)运算符及表达式

1) 算术运算符(+,-,×,/,%)

2) 赋值运算符(=,<=)

3) 关系运算符(>,<,>=,<=)

4) 逻辑运算符(&&,||,!)

5) 条件运算符(?:)

6) 位运算符(~,|,^,&,^~)

7) 移位运算符(<<,>>)

8) 拼接运算符({ })

赋值语句

(1)非阻塞赋值,如b <= a;

(2)阻塞赋值,如 b = a

 

块语句

常用begin表示开始,end表示结束

条件语句

(1)if_else语句,有优先级。

A、if(表达式)语句

B、if(表达式) 语句1

else 语句2

C、if(表达式1) 语句1;

else if(表达式2) 语句2;

else if(表达式3) 语句3;

循环语句

(1)forever语句

forever begin 多条语句 end

(2)repeat语句

repeat(表达式) begin 多条语句 end

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