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
相关推荐
从int开始5 小时前
加速排查线上bug
bug
LilySesy5 小时前
【业务案例】F.13——SAP系统标准的清帐程序有BUG?
运维·bug·sap·abap·esb·internet服务
guhy fighting5 小时前
原生toFixed的bug
前端·javascript·bug
你疯了抱抱我5 小时前
【CPH系列】RFID标签读取模块,开发说明文档(包含重要内容和BUG)
bug·rfid·工控·电子标签
zxfeng~13 小时前
AG32 FPGA 的 Block RAM 资源:M9K 使用
fpga开发·ag32
whik119414 小时前
FPGA 开发工作需求明确:关键要点与实践方法
fpga开发
whik119417 小时前
FPGA开发中的团队协作:构建高效协同的关键路径
fpga开发
南棱笑笑生17 小时前
20250117在Ubuntu20.04.6下使用灵思FPGA的刷机工具efinity刷机
fpga开发
我有一棵树18 小时前
style标签没有写lang=“scss“引发的 bug 和反思
前端·bug·scss