演習4:順序回路における状態遷移の記述法(ステートマシンその2)



    演習4では状態遷移の記述法について演習します.前の演習で型定義した状態 名を用います.
    ここでは,シーケンサで用いるインデックス修飾のロード命令について遷移を 追加して下さい.

    各命令はデコードステート(DECO)から遷移した先頭 ステートから始まり,最後は次命令のフェッチステート(F0)に戻ります.
    インデックス修飾のロード命令も同様にデコードステート(DECO)から先頭のステート(LD_IX1)に遷移して命令の実行を開始します.但し,無条 件で次ステートに遷移するステートと,条件付きで遷移するステートがありま すので注意して下さい.
    遷移するステートの条件等は,LD(インデックス修飾) 命令の動作を参照して下さい.

      case  PRESENT_STATE is
    	when V0 =>					--ベクトルスタート
    	(中略)
    	when F0 => 	PRESENT_STATE <= F1;		--命令フェッチ
            when F1 => 
    		if ACK = '1' then
    			PRESENT_STATE <= DECO;
    		end if;
    	when DECO =>					--命令デコード
    	 	case PRESENT_INST is
    			when LD_IM =>		PRESENT_STATE <= LD_IM;
    			when LD_D =>		PRESENT_STATE <= LD_D1;
    			when LD_IX =>		PRESENT_STATE <= LD_IX1;
    			(中略)
    			when others =>		PRESENT_STATE <= HALT1;
    		end case;
    	when LD_IM => 	PRESENT_STATE <= F0;		--LD Immediate
    	when LD_D1 => 	PRESENT_STATE <= LD_D2;		--LD Direct
    	when LD_D2 =>	
    		if ACK = '1' then
    			PRESENT_STATE <= LD_D3;
    		end if;
    	when LD_D3 => 	PRESENT_STATE <= F0;
    
    --     演習4 : 状態遷移の記述法
    
    	when LD_IX1 => 	この部分に追加して下さい
    	when LD_IX2 => 	この部分に追加して下さい
    	when LD_IX3 => 	この部分に追加して下さい
    	when LD_IX4 =>
    		if ACK = '1' then
    			この部分に追加して下さい
    		end if;
    	when LD_IX5 => 	この部分に追加して下さい
    	when ST_D1 => 	PRESENT_STATE <= ST_D2;		--ST Direct
    	when ST_D2 => 	PRESENT_STATE <= ST_D3;
    	when ST_D3 =>
    		if ACK = '1' then
    			PRESENT_STATE <= ST_D4;
    		end if;
    	when ST_D4 => 	PRESENT_STATE <= F0;
    	when ST_IX1 =>	PRESENT_STATE <= ST_IX2;	--ST Index
    	when ST_IX2 => 	PRESENT_STATE <= ST_IX3;
    	when ST_IX3 =>	PRESENT_STATE <= ST_IX4;
    	when ST_IX4 =>	PRESENT_STATE <= ST_IX5;
    	when ST_IX5 =>
    		if ACK = '1' then
    			PRESENT_STATE <= ST_IX6;
    		end if;
    	when ST_IX6 =>	PRESENT_STATE <= F0;
    	(中略)
    	when others => 	PRESENT_STATE <= V0;
      end case;
    
    演習5:制御信号の生成へ



    ホーム シーケンサの設計 シミュレーション 辞書
    This is my e-mail address:
    arch_www < www@cs.kumamoto-u.ac.jp >
    Copyright(C)KITE Microprocessor Project,1996