fpga系列 HDL:verilog 常见错误与注意事项 quartus13 bug 初始失效 reg *** = 1;

代码

  • 顶层模块
c 复制代码
module bug(
	input wire clk,
	output wire BitOut
);

	reg BitIn = 1;
    
    Encoder encoder (
		 .clk(clk),
       .BitIn(BitIn),
       .BitOut(BitOut) 
    );
endmodule
  • 内部逻辑模块
c 复制代码
module Encoder(
	input wire clk,
	input wire BitIn,
   output reg BitOut  
);
    always @(posedge clk) begin
        if (BitIn)
            BitOut <= 1'b1;  
        else
            BitOut <= 1'b0;
    end
endmodule

quartus13 综合结果

  • 在quartus13中综合得到的BitIn为0:

quartus18 综合结果

修改方法

c 复制代码
module bug(
    input wire clk,
    output wire BitOut
);

    reg BitIn;  
    // 不给 BitIn 初始值,而是通过时序逻辑赋值。(或者用wire BitIn=1;)
    always @(posedge clk) begin
        BitIn <= 1; 
    end

    Encoder encoder (
        .clk(clk),
        .BitIn(BitIn),
        .BitOut(BitOut)
    );
    
endmodule
相关推荐
阿松のblog3 小时前
opencv使用经典bug
人工智能·opencv·bug
XMAIPC_Robot4 小时前
基于FPGA + JESD204B协议+高速ADC数据采集系统设计
fpga开发
XMAIPC_Robot9 小时前
基于RK3576+FPGA+AI工业控制器的工地防护检测装备解决方案
人工智能·fpga开发
学习啷个办10 小时前
centos挂载目录满但实际未满引发系统宕机
bug
XMAIPC_Robot1 天前
基于 ZYNQ UltraScale+ OV5640的高速图像传输系统设计,支持国产替代
linux·数码相机·fpga开发·架构·边缘计算
读书点滴1 天前
关于FPGA软核的仿真(一)
fpga开发
XMAIPC_Robot1 天前
基于 NXP + FPGA+Debian 高可靠性工业控制器解决方案
运维·人工智能·fpga开发·debian·边缘计算
天天爱吃肉82182 天前
【嵌入式(2)深入剖析嵌入式开发:从基础到实战】
嵌入式硬件·fpga开发
我们的五年2 天前
【Qt】Bug:findChildren找不到控件
开发语言·qt·bug
seiyaaa2 天前
Claude Opus solved my white whale bug today that I couldn‘t find in 4 years
bug