| 代码如下: always @(posedge pixclk or negedge reset_n)
 begin
 if (!reset_n)
 begin
 cap_st <= STANBY;
 {cap_stby_en,cap_idle_en, sweep_en, long_intg_en, frame_rd_en} <= 5'b10000;
 end
 else if (syn_rst_in) begin
 cap_st <= STANBY;
 {cap_stby_en,cap_idle_en, sweep_en, long_intg_en, frame_rd_en} <= 5'b10000;
 end
 else
 casex (cap_st)
 STANBY :         begin
 {cap_stby_en,cap_idle_en, sweep_en, long_intg_en, frame_rd_en} <= 5'b10000;
 if (afe_init_end)
 cap_st <= CAPTURE_IDLE;
 end
 CAPTURE_IDLE : begin
 {cap_stby_en,cap_idle_en, sweep_en, long_intg_en, frame_rd_en} <= 5'b01000;
 if ( fcon_en || (soft_trg_en && soft_trigger_in) || (ext_trg_en && ext_trigger_in))
 cap_st <= SWEEP;
 end
 
 SWEEP          :  begin
 {cap_stby_en,cap_idle_en, sweep_en, long_intg_en, frame_rd_en} <= 5'b00100;
 if ( sweep_end ) cap_st <= LONG_INTG ;
 
 //                            if (long_exp_en) cap_st <= LONG_INTG ;
 //                            else             cap_st <= FRAME_READ;
 end
 LONG_INTG      : begin
 {cap_stby_en,cap_idle_en, sweep_en, long_intg_en, frame_rd_en} <= 5'b00010;
 if (long_exp_en)
 if ( long_intg_end )  cap_st <= FRAME_READ  ;
 else                  cap_st <= LONG_INTG ;
 else  cap_st <= FRAME_READ;
 end
 
 FRAME_READ     : begin
 {cap_stby_en,cap_idle_en, sweep_en, long_intg_en, frame_rd_en} <= 5'b00001;
 if ( frame_rd_end )
 if (!fcon_en) cap_st <= CAPTURE_IDLE;
 else cap_st <= LONG_INTG;
 end
 default        : cap_st <= STANBY;
 endcase
 end
 |