|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
各位大大好 小弟最近在練習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
發生此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 |
|