Presentation is loading. Please wait.

Presentation is loading. Please wait.

計算機工学論A P46~P49 クロック、リセット、クロック・イネーブルのセット 状態の出力値の指定 ステート・トランジョンの指定

Similar presentations


Presentation on theme: "計算機工学論A P46~P49 クロック、リセット、クロック・イネーブルのセット 状態の出力値の指定 ステート・トランジョンの指定"— Presentation transcript:

1 計算機工学論A P46~P49 クロック、リセット、クロック・イネーブルのセット 状態の出力値の指定 ステート・トランジョンの指定
ステート・マシンのビットと値の割り当て   照井 義隆

2 クロック、リセット、クロック・イネーブルのセット
クロック、リセット、クロック・イネーブル信号 ロジック・セクションでブール制御式によって指定 ステートマシンの状態レジスタの フリップフロップを制御

3 出力値:If文やCase文を使って出力値を決定
状態の出力値指定 出力値:If文やCase文を使って出力値を決定 Simple1.tdfでは出力q ステートマシンssの状態:s0のときq=GND; :s1のときq=VCC; なお、出力値は真理値表で定義することも出来る

4 ステート・マシン・トランジョン ステート・マシンが新しい状態にトランジョン(遷移)するための条件を決定
ステート・トランジョンの指定 ステート・マシン・トランジョン ステート・マシンが新しい状態にトランジョン(遷移)するための条件を決定 ステート・マシン・トランジョンを指定するには・・・ 単一動作の範囲で状態を条件付で割り当てなくてならない このためCase文や真理値表文を推奨 Simple1.tdfでは各状態からのトランジョンはCase文のWHEN節で定義

5 Simple1.tdf SUBDESIGN simple ( clk :INPUT; reset :INPUT; d :INPUT;
ena :INPUT; q :OUTPUT; ) VARIABLE ss: MACHINE WITH STATES (s0, s1); BEGIN ss.clk = clk; ss.reset = reset; ss.ena = ena; CASE ss IS WHEN s0 => q = GND; IF d THEN ss = s1; END IF; WHEN s1 => q = VCC; IF !d THEN ss = s0; END CASE; END; %入、出力の宣言% %ステート・マシンの状態s0,s1の遷移% %ステート・マシン宣言% %クロック、リセット、クロック・イネーブルのセット%

6 Simple1.tdfのシュミレーション結果

7 ステート・マシンのビットと値の割り当て 状態ビット:
ステート・マシン値の1ビットを保持するために、ステート・マシンで使われたフリップフロップの出力 多くの場合、必要なリソースを最小限に抑えるために、状態ビットと 値の割り当てはMAX+PLUSⅡのコンパイラに任せたほうが良い 明示的な状態ビットを指定したい時 割り振りはステート・マシン宣言で記述可

8 stepper.tdf:ステッッピング・モーターの コントローラーを示している
SUBDESIGN stepper ( clk, reset :INPUT; ccw, cw :INPUT; phase[3..0] :OUTPUT; ) VARIABLE ss: MACHINE OF BITS (phase[3..0]) WITH STATES ( s0 = B"0001", s1 = B"0010", s2 = B"0100", s3 = B"1000"); BEGIN ss.clk = clk; ss.reset = reset; TABLE ss, ccw, cw => ss; s0, 1, x => s3; s0, x, => s1; s1, 1, x => s0; s1, x, => s2; s2, 1, x => s1; s2, x, => s3; s3, 1, x => s2; s3, x, => s0; END TABLE; END; %入、出力の宣言% %ステート・マシンの状態  の遷移の指定% %ステート・マシン宣言% ccw=x,cw=1 S0= B”0001” S3= B”1000” S1= B”0010” ccw=1,cw=x S2= B”0100” ステート・マシンの状態s0,s1,s2,s3の遷移

9 stepper.tdfのシュミレーション結果


Download ppt "計算機工学論A P46~P49 クロック、リセット、クロック・イネーブルのセット 状態の出力値の指定 ステート・トランジョンの指定"

Similar presentations


Ads by Google