25/1/18 計算機論理設計 A.Matsuzawa 1 計算機論理設計 (A) (Computer Logic Design (A)) 東京工業大学大学院理工学研究科電子物理工学専攻 松澤昭
3. フリップフロップ回路とその応用 25/1/18 計算機論理設計 A.Matsuzawa 2
25/1/18 計算機論理設計 A.Matsuzawa 3 注意 この教科書では記憶回路を全てフリップフロップと説明している これは広い意味であり 実際には入力信号が出力信号に直接現れる ( データのつき抜けともいう ) ものは ラッチ 直接現れないものは フリップフロップ と呼んで区別している 通常 フリップフロップ はマスタースレーブ構成になっている
25/1/18 計算機論理設計 A.Matsuzawa 4 3.1 フリップフロップ回路の種類と論理動作 肯定信号を入力に帰還させると安定状態を取る 否定信号を入力に帰還させると発振する しかし 1 と の 2 つの安定状態を取る 周期は帰還ループを信号が通過する時間の 2 倍である ( 帰還した信号の位相が否定信号にもかかわらず同相でなければならない )
25/1/18 計算機論理設計 A.Matsuzawa 5 フリップ フロップ回路実現の条件 フリップ フロップ回路 (F/F 回路 ) になるには正帰還がかかるだけでなく 帰還を解除できることが必要である そうでなければ出力は固定 ( フリーズ ) したままである NAND 回路や NOR 回路では NAND 回路の制御端子を にすることで もしくは NOR 回路の制御端子を 1 にすることで 帰還ループを解除できる これは使える AND 回路や OR 回路では AND 回路の帰還ループに が入るか あるいは OR 回路の帰還ループに 1 が入ると帰還ループを解除できない これは使えない
代表的な F/F 回路 25/1/18 計算機論理設計 A.Matsuzawa 6
25/1/18 計算機論理設計 A.Matsuzawa 7 RSFF ( 正確には RS ラッチ ) S,R=, 次の状態は前と同じ状態が保持される S,R=, 1 リセット ( 出力は ) S,R=1, セット ( 出力は 1) S,R=1,1 不定
25/1/18 計算機論理設計 A.Matsuzawa 8 RSFF の論理状態 1 1 1 1 1 1 1 1 1 1 1 1 2 つの状態が可能で 状態が保持される この状態しか取れない 1 1 1 この状態しか取れない 1 1 1 この状態は可能だが 定義しない ( 使わないようにする ) このようにはならない このようにはならない
25/1/18 計算機論理設計 A.Matsuzawa 9 同期型 RSFF クロックに同期して動作する RSFF ( 正確には同期型 RS ラッチ ) S C R C クロック C が 1 のときのみ S, R の反転信号が F/F に入力される クロック C が のときは S, R に係わらず制御端子は 1,1 になるので前の状態が保持される クロックの立ち上がりエッジでのみ状態が変化する
25/1/18 計算機論理設計 A.Matsuzawa 1 DFF ( 正確には D ラッチ ) データ端子の信号をクロックに同期して FF に取り込む 次の状態 Q n+1 は D n に等しい
25/1/18 計算機論理設計 A.Matsuzawa 11 TFF クロック信号 C が加わると保持していた信号を反転させる FF ただし 以下に示す回路は実際には使用しない この回路では C が 1 になったときに状態反転が起こるが C が 1 のままにとどまると反転回路 3 段のリング発振器になってしまう
25/1/18 計算機論理設計 A.Matsuzawa 12 MSFF ( これが本当のフリップフロップ ) クロックに同期して動作する FF(MFF と SFF) を 2 個シリーズに接続し 2 つの FF のクロック位相を反転させたもの MFF と SFF はどちらかが必ずデータ保持状態になる したがって 2 個の FF を通過する帰還ループは形成されない C m =1 MFF: 外部データの取り込み SFF: 前のデータを保持 C m = MFF: 前のデータを保持 SFF:MFF データの取り込み 結果的に C m の立下りエッジで出力が発生する
25/1/18 計算機論理設計 A.Matsuzawa 13 MSFF による TFF C の立下りエッジで出力が反転する 1 1 1 1 1 1 1 1 1 1 1 1 1
25/1/18 計算機論理設計 A.Matsuzawa 14 JKFF RSFF と TFF の両方の性質を持つ J=1, K=1 の場合は TFF になる
25/1/18 計算機論理設計 A.Matsuzawa 15 エッジトリガー FF ラッチ回路ではクロックは 1 のときに入力データが (1-a) のように出力に直接現れる これは具合が悪い そこで (1-b) のようにクロックパルスをデータを被るように短くする これをパルストリガーという (2) の MS 方式ではクロックの立下りエッジでデータが切替わる (3) は MS 方式ではあるが 内部でクロック幅を短くすることにより見かけ上クロックの立上がりで即座に出力が現れるようにすることができる
25/1/18 計算機論理設計 A.Matsuzawa 16 エッジトリガー DFF この FF は実際の LSI に多く用いられる この回路は不安定 C= DFF が外部データを取り込む RSFF は状態を保持 C: 1 DFF のデータが RSFF に送られる直ちに出力に現れる エッジトリガーを表す
25/1/18 計算機論理設計 A.Matsuzawa 17 エッジトリガー DFF の動作 本体 FF 出力は保持状態 入力 FF がデータを保持本体 FF にデータが現れる C=1 のときに入力データが変化しても出力に現れない
25/1/18 計算機論理設計 A.Matsuzawa 18 カウンタ回路 カウンタ回路は入力された数を計測する回路 TFF で実現できる 非同期のカウンター : 簡単であるが動作が遅く 実際には用いられない クロックの立ち上がりで状態が反転する
25/1/18 計算機論理設計 A.Matsuzawa 19 並列カウンタ FF を並列に並べ 各 FF の出力を論理処理して FF の制御信号とする MSFF あるいはエッジトリガー FF が用いられる
25/1/18 計算機論理設計 A.Matsuzawa 2 RSFF を用いた並列カウンタ 現在の状態から次に必要な状態を論理的に作る
RSFF を用いた並列カウンタ 25/1/18 計算機論理設計 A.Matsuzawa 21
25/1/18 計算機論理設計 A.Matsuzawa 22 保持状態を考慮した場合 連続して同じ制御信号を出している場合は保持の制御信号 S=, R= を用いることができる
25/1/18 計算機論理設計 A.Matsuzawa 23 DFF を用いたカウンタ DFF を用いた場合は次に欲しい論理状態を現在の論理状態から作り出せばよい ( 通常この回路が良く用いられる )
25/1/18 計算機論理設計 A.Matsuzawa 24 TFF を用いたカウンタ 次の状態が違っている場合だけ T を 1 にして論理をひっくり返す
25/1/18 計算機論理設計 A.Matsuzawa 25 定義されない状態の処理 定義されていない状態に陥った場合でも脱出できるようにする
1 進アップダウンカウンタ 25/1/18 計算機論理設計 A.Matsuzawa 26
1 進アップダウンカウンタ 25/1/18 計算機論理設計 A.Matsuzawa 27
25/1/18 計算機論理設計 A.Matsuzawa 28 レジスタ 複数のビットを記憶する回路をデータレジスタという
25/1/18 計算機論理設計 A.Matsuzawa 29 シフトレジスタ F/F を直列に接続し クロックで FF の内容を順次シフトする回路 M 系列 ( 最長周期線形信号系列 ) のランダム信号を発生
25/1/18 計算機論理設計 A.Matsuzawa 3 リングカウンタジョンソンカウンタ 各段の反転出力の積が初段入力に返される [1] の信号が巡回するように構成されている 最終出力が初段入力に返される もしくは 1 の信号で埋められるようになっている
25/1/18 計算機論理設計 A.Matsuzawa 31 宿題 (1) 以下の FF の出力を記せ (2)DFF を用いて ( 並列 )8 進カウンタを設計せよ