verilog初始值重置为0

时间:2016-06-19 22:17:11

标签: verilog fpga

我正在编写代码以在显示器上关闭所有七个seg,直到按下与每个七段相对应的按钮,然后它应该保持打开状态。它只显示0-15,我有16设置为1111111关闭阴极。其余代码工作正常,根据按钮按下更改,如果我在调用函数之前专门指定seven0 = 16(测试函数),它将正确关闭阴极。

问题在于,在启动时,4-7段显示“0000”而不是4空白(未点亮),无论启动时输入开关如何都会显示。在我看来,它唯一可能是70-3值在启动时将自己设置为0,而不是初始块中指示的16。我为什么他们做错了让他们回到0?我把它设置在这里的两个地方,因为我已经单独尝试了两个并且都没有保持初始值16。

时序模拟表明,对于seven0-3而言从0变为0,从未变为16,甚至变为16到5'b10000。我是行为verilog的新手,想知道我是否应该做一些不同的初始化?

 reg [4:0] seven0 =16; 
 reg [4:0] seven1 =16;
 reg [4:0] seven2 =16;
 reg [4:0] seven3 =16;

  initial
   begin
    seven0 = 16;
    seven1 = 16;
    seven2 = 16;
    seven3 = 16;
   end

0 个答案:

没有答案