微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > modelsim break in Module error

modelsim break in Module error

时间:10-02 整理:3721RD 点击:
各位大大好 小弟最近在練習FPGA以下有兩個簡單的verilog code(分頻器) and testbench

這個分頻器是上網找的 有使用FPGA開發版的七段顯示器來驗證其功能是正常的

但小弟享用testbench來觀察其訊號 在modelsim模擬時發生了error  error message如下所示

Break in Module divider_testbench at F:/Quartus project/divider/divider_testbench.v line 26

[attach]660215[/attach][attach]660215[/attach]
發生此error 其波形也非正常情形(正常情形為輸入50MHz的CLK 產生1Hz的方波)
請問這位大大這是為何問題?謝謝各位大大




1.
`timescale 1 ns / 100 ps
//分頻器
module divider(
output reg o_clk,
input rst_n,
input i_clk
);
parameter N=10_000_000;
parameter M=04_999_999;
reg [25:0]cnt;

always @(posedge i_clk or negedge rst_n)
begin
   if(!rst_n)
   cnt<=26'b0;  
   else
   begin
      if(cnt==N-1)
      cnt<=26'b0;
      else
      cnt<=cnt+26'b1;
   end
end

always @(posedge i_clk or negedge rst_n)
begin
   if(!rst_n)
   o_clk<=0;
   else
   begin
      if(cnt<=M)
      o_clk<=1;
      else
      o_clk<=0;
   end
end

endmodule

2.
`timescale 1 ns / 100 ps
module divider_testbench;
  reg  clk;
  reg  rst_n;
  parameter PERIOD = 20;
  wire clk_1sec;
   divider divider(clk_1sec,
rst_n,
clk
);

initial begin
#0 rst_n = 1'b0;
clk   = 1'b0;
#5 rst_n = 1'b1;

end

always #(PERIOD/2) clk = ~clk;
initial begin
#10000 $finish;
end

endmodule

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top