Modelsim仿真出现蓝线(Hiz高阻态)以及红线(x不定态)
原代码
//方法 1 实现:仅实现分频功能
module divider_six
(
input wire sys_clk ,
input wire sys_rst_n ,
output reg clk_out
);
reg [1:0] cnt;
//cnt:计数器从 0 到 2 循环计数
always@(posedge sys_clk or negedge sys_rst_n) begin
if(!sys_rst_n)
cnt <= 2'b0;
else if(cnt == 2'd2)
cnt <= 2'b0;
else
cnt <= cnt + 1'b1;
end
//clk_out:6 分频 50%占空比输出
always@(posedge sys_clk or negedge sys_rst_n) begin
if(!sys_rst_n)
clk_out <= 1'b0;
else if(cnt == 2'd2)
clk_out <= ~clk_out;
end
endmodule
testbench
`timescale 1ns/1ns
module divider_six_tb();
reg sys_clk ;
reg sys_rst_n ;
wire clk_out ;
initial begin
sys_clk = 1'b1;
sys_rst_n <= 1'b0;
#20
sys_rst_n <= 1'b1;
end
always #10 sys_clk = ~sys_clk;
divider_six divider_six_inst
(
.sys_clk (sys_clk ),
.sys_rst_n (sys_rst_n ),
.clk_out (clk_out )
);
endmodule
解决
最后发现问题所在,是setting设置错误,testbench的名字写错了,没有加_tb,导致跟tb文件的名字不对应