Verilog variable initialization
发布时间
阅读量:
阅读量
初始化操作主要针对FPGA内部具有存储功能的单元,如寄存器和BLOCK RAM等,而对于不具备存储能力的单元,如wire,既无必要也无可能为其设置初始值。
实现方式:
- 利用always块配合时钟信号,并通过复位信号rst进行控制(此为常用方式之一)
- 在定义时直接进行赋值操作,通常设定为0(在没有复位信号的情况下采用该方式)
示例:通过计数器生成复位信号,将寄存器变量设置为零值:
//复位:1;工作:0
module test(
refclk,rst
);
input wire refclk;
output reg rst;
reg [2:0] time_cnt =3’d0;
reg [2:0] time_cnt_n =3'd0;
always@ (posedge refclk)
begin
time_cnt <= time_cnt_n;
end
always@ (*)
begin
if(time_cnt[2] == 1'b1)
begin
time_cnt_n = time_cnt;
rst = 1'b0;
end
else
begin
time_c
全部评论 (0)
还没有任何评论哟~
