ステートの記述


状態遷移図および命令実行フェーズ表にしたがって、状態遷移を記述します。
実行フェーズ表は以下を参照して下さい。
1バス構成の実行フェーズ表
3バス構成の実行フェーズ表

  reg [7:0] STATE;	// Current State

//------------------------------------------------------------------//
// State Transition
//------------------------------------------------------------------//
  always @( posedge RST or posedge CLK )
  begin
    if ( RST==1 ) STATE=`V0;
    else
      case ( STATE )
      `HALTING : if( RST==1 ) STATE=`V0;
      `V0  :     if( RST==0 ) STATE= ...... ;
      `V1  :     if( ACK==1 ) STATE= ...... ;
      `V2  :                  STATE= ...... ;
      `F1  :                  STATE= ...... ;
      `F2  :     if( ACK==1 ) STATE= ...... ;
      `F3  :                  STATE= ...... ;
      `DEC :
        begin
        case ( `OP_4 )			// 4 bit オペコードの命令デコード
        `IR_LDD  : STATE=`LDD_1;
            ......
        default :
          case ( `OP_6 )		// 6 bit オペコードの命令デコード
	  `IR_ADD  : if( `OP_M==`IMM ) STATE=`BIOP_IMM_1; else
                     if( `OP_M==`IDX ) STATE=`BIOP_IDX_1; else
                                       STATE=`F1;		// 未定義命令
            ......
            ......
            ......
          default  : STATE=`F1;  	// 未定義命令
          endcase
        endcase
        end

      //
      // LD Direct
      //
      `LDD_1 :              STATE=`LDD_2;
      `LDD_2 : if( ACK==1 ) STATE=`LDD_3;
      `LDD_3 :              STATE=`F1;
  
         ......
         ......
         ......
      endcase
  end

次は、 デコーダの記述 についてみていきます。


| Back | CAD Home |

My mail address is kuga@cs.kumamoto-u.ac.jp .
Last modified on