FPGA第一个例程流水灯出现的问题
1.`timescale 1ns / 1ps的意思
时延单位1ns,时延精度1ps,时延指数据的一端传送到另一端所需的时间,时延精度理解为度量时延的最小精度。
2.reg 和 wire的区别
reg是对寄存器进行赋值,基于时序逻辑的时候就用reg,组合逻辑一般用wire。wire相当于硬件连线。
例子
reg [31:0] timer; //定义一个名为timer的寄存器型变量,长度32位
注意:always中只能用reg,才能对其赋值。
3.IBUFG和IBUFGDS
IBUFG即输入全局缓冲,是与专用全局时钟输入管脚相连接的首级全局缓冲。所有从全局时钟管脚输入的信号必须经过IBUF元,否则在布局布线时会报错。
IBUFGDS是IBUFG的差分形式,当信号从一对差分全局时钟管脚输入时,必须使用IBUFGDS作为全局时钟输入缓冲。
4.~和!
“!”表示逻辑取反,“~”表示按位取反
5.if()
如果()内的逻辑值为1,则开始执行。
6.进制的数字表达式
数字表达式:<位宽><进制><数du字>
b:二进制 //eg.4’b1110 表示4位二进制数1110
h:十六进制 //eg 8’hef、4’ha等
d:十进制 //eg 2’d3、4‘d15(不能写16,4位宽最大15)等
所以10’d0表示10位宽的数值0,0000000000
加入10‘d15,则表示十进制15, 0000001111。
7.<=和=的区别
链接: https://www.cnblogs.com/rednodel/p/4103987.html