关于VerilogHDL中case语句的功能仿真与时序仿真不一致的疑问
博主近来刚学习VerilogHDL,想要做个小东西玩。在使用case语句时,发现功能仿真与时序仿真的结果是不一致的。现在把这个问题贴出来,希望有万能的博友指点一下,不胜感激!
- 这一段是用来产生控制用的两个信号RoS_encode_out和RoS_lead_out
module control(
clk20_031KHz_in,rst_in,ready_in,RoS_encode_out,RoS_lead_out
);
input clk20_031KHz_in; //20.03125khz
input rst_in; //复位信号,低电平有效
input ready_in; //SDcard正常输出高电平,忙碌则为低电平
output RoS_encode_out; //diffencode模块工作信号
output RoS_lead_out; //lead模块工作信号
reg [2:0]count = 0;
reg RoS_encode_outout = 0;
reg RoS_lead_outout = 0;
always@( posedge clk20_031KHz_in or negedge rst_in or negedge ready_in )
begin
if( !rst_in )
count = 3'd0;
else if( !ready_in )
count = 3'd0;
else
count = count + 1;
end
always@( count )
begin
case(count)
3'd3: begin RoS_lead_outout <= 1;RoS_encode_outout <= 0; end
3'd7: