Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Verilog 如何在有限状态机中找到错误序列?_Verilog_Verification_Fsm - Fatal编程技术网

Verilog 如何在有限状态机中找到错误序列?

Verilog 如何在有限状态机中找到错误序列?,verilog,verification,fsm,Verilog,Verification,Fsm,我想通过verilog中的验证来验证FSM的正确性。 例如,让我们得到下面的FSM always @(*) begin win_n_st = win_c_st; case(win_c_st) IDLE : begin if(winapi_start) win_n_st = VHSYNC_WAIT; else

我想通过verilog中的验证来验证FSM的正确性。 例如,让我们得到下面的FSM

always @(*) begin
        win_n_st = win_c_st;
        case(win_c_st)
        IDLE : begin
                if(winapi_start)                
                win_n_st = VHSYNC_WAIT;
                else                                    
                win_n_st = IDLE;
        end
        VHSYNC_WAIT : begin
                if(v_anchor)            
                win_n_st = FIFO_WR;
                else                                    
                win_n_st = VHSYNC_WAIT;
        end
        FIFO_WR : begin
                if(winapi_start==0)             
                win_n_st = IDLE;
                else                                    
                win_n_st = FIFO_WR;
        end
        default :;
        endcase
end
你可以看到FSM,有三种状态。 第一次等待winapi_开始信号直到1,然后转到下一个stat等待v_锚信号到1,然后转到下一个状态,直到winapi_开始为0

但是如果我们在FSM中得到了意外的信号呢。那么这个FSM是如何工作的呢? 所以我想知道有没有有效的方法来验证FSM?
如果是,请告诉我如何验证FSM?我们有哪种验证方法?

您可以通过提供不同的信号和检查FSM/模块响应,使用测试台验证解决方案的正确性

测试台很酷

你可以读更多