verilog.txt

来自「verilog to led control」· 文本 代码 · 共 60 行

TXT
60
字号
module LED_Ctrl(clk, rst_n, sw, LED);
    input clk;
    input rst_n;
    input [1:0] sw;
    output [1:0] LED;
         
         reg [1:0] LED ;
         reg [1:0] CS ;
         reg [1:0] NS ;
         
////////// STATE //////////////
         parameter RESET=0 ;
         parameter S1=1 ;
         parameter S2=2 ;
         parameter S3=3 ;
         
         
         
         
////////////  FSM  //////////

always@(posedge clk or negedge rst_n)
begin
       if(rst_n==1'b0)
           CS=RESET ;
       else
            CS=NS ;
end 
                
                

    always@(CS or sw)
      begin
            case(CS)
             RESET :  begin NS=S1 ; LED=2'b00 ; end 
                  S1    :  begin NS=S2 ; //LED=2'b10 ;                  
                   if(sw==2'b10)
                       LED=2'b00 ;
                   else 
                                   LED=2'b10 ;  end
                  S2    : begin NS=S3 ; //LED=2'b11 ;
                                if(sw==2'b00)
                                    LED=2'b11 ;
                               else if(sw==2'b01)
                                    LED=2'b10 ;
                               else if (sw==2'b10)
                                    LED=2'b01 ;
                               else 
                                   LED=2'b00 ; end
                  S3    : begin NS=S1 ; //LED=2'b01 ;
                              if(sw==2'b01)
                                   LED=2'b00 ;
                              else 
                                  LED=2'b01 ;  end
            default : begin NS=RESET ; LED=2'b00 ; end                   
          endcase                                 
      end                
                
endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?