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
相关推荐
e***985714 小时前
Bug侦破大会:破解技术悬案的终极策略
bug
缘友一世17 小时前
精粤X99-TI D4 PLUS大板使用多显卡BIOS设置
bug·gpu·硬件·主板·x99
Smart-佀18 小时前
FPGA入门:CAN总线原理与Verilog代码详解
单片机·嵌入式硬件·物联网·算法·fpga开发
丁劲犇19 小时前
B205mini FPGA工程粗浅解析:从架构到Trae开发介绍
ai·fpga开发·架构·ise·trae·b210·b205mini
应用市场20 小时前
无线充电器原理与电路设计详解——从电磁感应到完整实现
3d·fpga开发
月明长歌21 小时前
测试BUG 篇:从“怎么测”到“怎么提”,再到“怎么关”全流程
软件测试·测试开发·bug
ALINX技术博客1 天前
【ALINX选型】AMD Kintex UltraScale+ 系列 FPGA 开发板速选
fpga开发
碎碎思1 天前
从 HLS 到 RTL:高层次综合在 FPGA 设计中的价值与局限
fpga开发
s09071361 天前
FPGA视频编码器:H.264/H.265实现核心技术解析
图像处理·算法·fpga开发·音视频·h.264
156082072191 天前
在vivado中,国产CH347芯片实现USB转JTAG的操作
fpga开发