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)非阻塞赋值,如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是一种数字集成电路芯片,英文全称为Field Programmable Gate Array,中文名称为“现场可编程逻辑门阵列”。FPGA是数字电路的物理实现方式之一。与数字电路的另一种重要实现方式ASIC(Application Specific Integrated Circuit,专用集成电路)芯片相比,FPGA的一项重要特点是其可编程特性,即用户可通过程序指定FPGA实现某一特定数字电路