高速ディジタル回路の 論理的設計手法について

40
1高高高高高高高高高高 高高高高高高高高高高 高高高高高高高高高高高 高高高高高高高高高高高 和和 和和 和和 和和

Upload: sharne

Post on 05-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

高速ディジタル回路の 論理的設計手法について. 和﨑 克己. 高速動作する  ディジタル回路の需要. 情報通信,コンピュータシステム,移動体通信 人工衛星や航空機,原子力発電所の制御 ディジタル回路設計手法 回路が 高速に動作 できるための設計方法 回路設計の 仕様自体の検証方法 耐故障性 を有しており信頼性の高い回路の構成方法 仕様通りに 正しく動作することを検証 する方法,等々 …. 高速ディジタル回路が  仕様通り正しく動作しない …. (例)初期型 Pentium プロセッサ 浮動小数点 演算回路の設計誤り プロセッサ自体の信頼性が低い - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 高速ディジタル回路の 論理的設計手法について

- 1-

高速ディジタル回路の高速ディジタル回路の論理的設計手法について論理的設計手法について

和﨑 克己和﨑 克己

Page 2: 高速ディジタル回路の 論理的設計手法について

- 3-

高速動作する高速動作する ディジタル回路の需要 ディジタル回路の需要

•情報通信,コンピュータシステム,移動体通信情報通信,コンピュータシステム,移動体通信•人工衛星や航空機,原子力発電所の制御人工衛星や航空機,原子力発電所の制御

ディジタル回路設計手法ディジタル回路設計手法– 回路が回路が高速に動作高速に動作できるための設計方法できるための設計方法– 回路設計の回路設計の仕様自体の検証方法仕様自体の検証方法– 耐故障性耐故障性を有しており信頼性の高い回路の構成方を有しており信頼性の高い回路の構成方法法

– 仕様通りに仕様通りに正しく動作することを検証正しく動作することを検証する方法,する方法,等々…等々…

Page 3: 高速ディジタル回路の 論理的設計手法について

- 4-高速ディジタル回路が高速ディジタル回路が 仕様通り正しく動作しな 仕様通り正しく動作しない…い…

(例)初期型(例)初期型 PentiumPentiumプロセッサプロセッサ– 浮動小数点浮動小数点演算回路の設計誤り演算回路の設計誤り– プロセッサ自体の信頼性が低いプロセッサ自体の信頼性が低い– システムシステム全体の信頼性の低下全体の信頼性の低下に直結に直結

ディジタル回路システムの信頼性ディジタル回路システムの信頼性– トランジスタ素子レベルでは飛躍的に改良向上トランジスタ素子レベルでは飛躍的に改良向上– ハードウェア規模が増大 → ハードウェア規模が増大 → 設計時の誤りを如設計時の誤りを如何に防ぐか何に防ぐか,その方策を探ることは急務である,その方策を探ることは急務である

Page 4: 高速ディジタル回路の 論理的設計手法について

- 6-

何を為すべきか?何を為すべきか? その設計で,“誤操作によるエラーが発生その設計で,“誤操作によるエラーが発生しても”,仕様通りに正しく動作を行うこしても”,仕様通りに正しく動作を行うことをとを論理的に検証論理的に検証すべきすべき

制御に必要な演算回路の,制御に必要な演算回路の,動作の正当性や動作の正当性や安定性を証明安定性を証明すべきすべき

回路からボトムアップ的な信頼性確保回路からボトムアップ的な信頼性確保 システム全体の信頼性向上に多大な貢献システム全体の信頼性向上に多大な貢献

Page 5: 高速ディジタル回路の 論理的設計手法について

- 7-

論文の構成論文の構成

高速動作するディジタル回路の論理的高速動作するディジタル回路の論理的設計手法に関する研究設計手法に関する研究

通信・画像処理・演算回路への応用通信・画像処理・演算回路への応用「高速性,信頼性,設計と動作の正し「高速性,信頼性,設計と動作の正しさ等の検証が必要である」という立場さ等の検証が必要である」という立場で展開で展開

Page 6: 高速ディジタル回路の 論理的設計手法について

- 10-

通信用バッファに必要な条通信用バッファに必要な条件件

通信系の通信系の同期確立同期確立– 内部に格納されているデータの数を外部へ通内部に格納されているデータの数を外部へ通知知

信頼性を確保信頼性を確保– メモリ内部の一時的な障害に対して自己回復メモリ内部の一時的な障害に対して自己回復する機能する機能

((例)例) LANLAN を用いた音声伝送システムを用いた音声伝送システム

Page 7: 高速ディジタル回路の 論理的設計手法について

-OHP-

図 1.1  LAN上のノードに FIFO型メモリを用いた音声伝送の例

Page 8: 高速ディジタル回路の 論理的設計手法について

-OHP-

図 1.2 多段ラッチ・リングバッファ構成をとる FIFOメモリ

(a) 多段ラッチ構成 (b) リングバッファ構成

Page 9: 高速ディジタル回路の 論理的設計手法について

- 14-

セルオートマトン概念を用セルオートマトン概念を用いた通信バッファいた通信バッファ

基本的な動作を行うオートマトン(基本的な動作を行うオートマトン(セセルル)を定義)を定義

各セルをメモリ深さ分だけ各セルをメモリ深さ分だけ直列に接続直列に接続 前後のセルを前後のセルを近傍系近傍系とするとする

– 自己の状態と近傍セルの状態自己の状態と近傍セルの状態– 先頭先頭データ保持の有無を認識できるできる

Page 10: 高速ディジタル回路の 論理的設計手法について

-OHP-

図 1.3 セル近傍系とステートマシン

(a) i 番目のセル Celli の近傍系 (b) セルの遷移図

Page 11: 高速ディジタル回路の 論理的設計手法について

-OHP-図 1.4 機能ブロックとフラグの推移

(a) FIFOメモリの機能ブロック図 (b) 書き込み/読み出し時のフラグ推移

Write Operation

Read Operation

Page 12: 高速ディジタル回路の 論理的設計手法について

- 17-

自己回復性 自己回復性 ((耐故障性)耐故障性)

メモリ深さ メモリ深さ n n ,, 待ち行列先頭 待ち行列先頭 CellCellii 障害発生フラグ 障害発生フラグ FlagFlagkk のとき…のとき…

CASE-1 : CASE-1 : クリアからセットクリアからセット状態に誤る場合状態に誤る場合– (1) (1) 読みだし操作 読みだし操作 11 回で回復回で回復– (2) (2) 書込み操作 書込み操作 ((n-k+1n-k+1)) 回で回復回で回復

CASE-2 : CASE-2 : セットからクリアセットからクリア状態に誤る場合状態に誤る場合– (1) (1) 読みだし操作 読みだし操作 ((i-ki-k)) 回で回復回で回復– (2) (2) 書込み操作 書込み操作 ((n-kn-k)) 回で回復回で回復

Page 13: 高速ディジタル回路の 論理的設計手法について

-OHP-図 1.5 自己回復過程のフラグ推移

Write Operation

CASE-1 : クリアからセット状態に誤る場合 CASE-2 : セットからクリア状態に誤る場合

Read Operation

Read Operation

Write Operation

Page 14: 高速ディジタル回路の 論理的設計手法について

- 19-

既存メモリ構成方法との既存メモリ構成方法との性能比較性能比較

有効データ数の通知機能有効データ数の通知機能 障害回復性障害回復性 動作速度動作速度 メモリ容量に対する回路規模メモリ容量に対する回路規模 バッファのゲートアレイ バッファのゲートアレイ (FPGA)(FPGA) 実装実装

Page 15: 高速ディジタル回路の 論理的設計手法について

-OHP-

図 2.1 簡単な機械工場のペトリネットモデル

プレーストランジション

アーク

Page 16: 高速ディジタル回路の 論理的設計手法について

- 22-

既存ペトリネットの低記述既存ペトリネットの低記述性性

ペトリネット ペトリネット (Petri net)(Petri net)– 並列性をもつシステムモデル並列性をもつシステムモデル設計に適する設計に適する– ネット解析 → ネット解析 → 設計・動作の正しさの検証設計・動作の正しさの検証– 視覚的視覚的にシステム状態の推移を観測できるにシステム状態の推移を観測できる

既存ペトリネット既存ペトリネット– プレーストランジションネット,カラーペトリネットプレーストランジションネット,カラーペトリネット– ネット動作がネット動作が一意に固定一意に固定– 実システムの記述には分岐処理等,実システムの記述には分岐処理等,ネット規模が増大ネット規模が増大

Page 17: 高速ディジタル回路の 論理的設計手法について

-OHP-

図 2.2 演算器の LC-Petri net モデル

(例)次のような条件で連続的に整数演算を行うシステム

Page 18: 高速ディジタル回路の 論理的設計手法について

- 24-論理カラーペトリネット論理カラーペトリネット(( LLogical ogical CColoured-oloured-Petri netPetri net ))

発火条件発火条件の拡張の拡張– 入力プレース内トークンの有無,データ値入力プレース内トークンの有無,データ値によるによる任意の論理式任意の論理式で与えるで与える

発火後の発火後のトークン移動条件トークン移動条件の拡張の拡張– 入力プレース内トークンの入力プレース内トークンのデータ値によるデータ値による関数関数で自由に設定できるで自由に設定できる

処理分岐用の処理分岐用のネット要素追加が不要ネット要素追加が不要– 実システムが実システムが“現実的な規模”“現実的な規模”で設計可能で設計可能

Page 19: 高速ディジタル回路の 論理的設計手法について

- 25-

LC-Petri netLC-Petri net の解析方法の解析方法

LC-Petri net LC-Petri net へのへの発火評価順序の導入発火評価順序の導入 LC-Petri net LC-Petri net から から Boolean Marking Net Boolean Marking Net

(BMN)(BMN) へ変換へ変換– 厳密解析,ハードウェア化,クロック配分厳密解析,ハードウェア化,クロック配分

…… 可達木可達木 (Reachability Tree)(Reachability Tree) による探索による探索 Petri net Design System Tool Petri net Design System Tool による,による,

シミュレーション解析シミュレーション解析

Page 20: 高速ディジタル回路の 論理的設計手法について

- 26-

制御用シーケンサの制御用シーケンサの     LC-Petri netLC-Petri net モデルモデル

画像処理装置の制御用シーケンサ画像処理装置の制御用シーケンサををLC-Petri net LC-Petri net により設計により設計

パイプライン構成パイプライン構成された処理装置された処理装置– 並列度=3並列度=3 の並行処理が要求された の並行処理が要求された

検査画像の取り込み検査画像の取り込み 基準画像の展開基準画像の展開 マッチング処理マッチング処理

Page 21: 高速ディジタル回路の 論理的設計手法について

-OHP-図 2.3 画像処理システム

(a) 機器構成図

(b) 処理装置の内部パイプライン構造

Page 22: 高速ディジタル回路の 論理的設計手法について

-OHP-

図 2.4 画像処理のための LC-Petri net 図

Page 23: 高速ディジタル回路の 論理的設計手法について

- 29-

ネット解析とその評価ネット解析とその評価 初期マーキング初期マーキングの設定の設定 可達木によるトランジション可達木によるトランジション発火系列の発火系列の探索探索

システム異常状態の検出システム異常状態の検出– 設計の不備設計の不備がネット解析により判明がネット解析により判明

試験用コンピュータへの試験用コンピュータへの実装実装– Petri net Design System ToolPetri net Design System Tool  を使用 を使用– 各シーケンスを各シーケンスを視覚的に確認視覚的に確認

Page 24: 高速ディジタル回路の 論理的設計手法について

-OHP-図 2.5  LC-Petri net図から生成した可達木(一部分)

試験用コンピュータの様子

Page 25: 高速ディジタル回路の 論理的設計手法について

- 32-

逐次リアルタイム復号逐次リアルタイム復号 セットアップセットアップ時間 時間 S, S, アクティブアクティブ時間 時間 AA シーケンシャル性シーケンシャル性 , , 実行時間実行時間予測性予測性 リアルタイム復号リアルタイム復号

– セットアップ時間セットアップ時間 SSでで MM画素を画素を一定の時間一定の時間間隔で次々と復号可能間隔で次々と復号可能

逐次リアルタイム復号逐次リアルタイム復号– シーケンシャル性とリアルタイム復号の両シーケンシャル性とリアルタイム復号の両方の性質を持つ方の性質を持つ

Page 26: 高速ディジタル回路の 論理的設計手法について

- 33-

高速画像処理の要件高速画像処理の要件

セットアップ時間セットアップ時間 SSが小さいが小さい 逐次リアルタイム復号である逐次リアルタイム復号である 画素出力時間の間隔が小さい画素出力時間の間隔が小さい

Page 27: 高速ディジタル回路の 論理的設計手法について

-OHP-

図 3.1 セットアップ・アクティブ時間を含んだ復号時タイミング

図 3.2 パターンマッチングを行う画像処理アプリケーション

Page 28: 高速ディジタル回路の 論理的設計手法について

- 36-

22 進桁圧縮進桁圧縮 (BPC)(BPC) 方式方式

符号器 符号器 (BPC encoder)(BPC encoder)– Run-lengthRun-length 計算計算– 2進桁対応2進桁対応

前段の前段の Run-lengthRun-length 計算の結果を入力としブロ計算の結果を入力としブロック長をック長を 22 進数に変換する進数に変換する

– 符号テーブルによる量子化符号テーブルによる量子化

Page 29: 高速ディジタル回路の 論理的設計手法について

-OHP-

図 3.3  BPC方式の基本システムとコード表

Page 30: 高速ディジタル回路の 論理的設計手法について

- 38-

符号化の例符号化の例

入力入力 bitbit ストリームストリーム

得られた得られた BPCBPC 符号符号

Length Length

Length Length1 2 2 2

3 2 4 2

000001 000010

000100 011000

;

;

Length Length

Length Length1 2 2 2

3 2 4 2

000001 000010

000100 011000

;

;

[ ][ ][ ][ ][ ]000 101 010 111011110 0111111111[ ][ ][ ][ ][ ]000 101 010 111011110 0111111111

Page 31: 高速ディジタル回路の 論理的設計手法について

- 39-

リアルタイム復号ハードウリアルタイム復号ハードウェアェア

復号器 復号器 (BPC real-time decoder)(BPC real-time decoder)– 3bit3bit先読みレジスタ先読みレジスタ

常に圧縮データの先頭常に圧縮データの先頭 3bit3bitを同時に参照を同時に参照– 符号探索ステートマシン符号探索ステートマシン

符号の展開が完全に終る前に出力を開始符号の展開が完全に終る前に出力を開始– BitBit 出力カウンタ出力カウンタ

復号器の復号器のゲートアレイ ゲートアレイ (FPGA)(FPGA) 実装実装– セットアップ時間セットアップ時間 S=85x3[nsec]S=85x3[nsec]– 出力間隔出力間隔 85[nsec]85[nsec]

Page 32: 高速ディジタル回路の 論理的設計手法について

-OHP-

図 3.4 先読みレジスタ・符号探索ステートマシン

Page 33: 高速ディジタル回路の 論理的設計手法について

-OHP-

図 3.5  FPGA 実装・復号タイミングチャート

Page 34: 高速ディジタル回路の 論理的設計手法について

- 43-

演算回路の数学的定義演算回路の数学的定義 回路の構造 回路の構造

– Many Sorted SignatureMany Sorted Signature 演算回路,入力演算回路,入力 pp ,演算子,演算子 ff

– 1GateCircStr1GateCircStr((p,fp,f)) 回路の入出力信号回路の入出力信号

– InputVertices, InnerVerticesInputVertices, InnerVertices 演算回路の合成演算回路の合成 動作後の回路の状態動作後の回路の状態

– FollowingFollowing((ss)) is stable. is stable. Mizar proof checking systemMizar proof checking system を使用してを使用して

証明の正しさを検証済み証明の正しさを検証済み

Page 35: 高速ディジタル回路の 論理的設計手法について

-OHP-図 4.1 回路の構造 Many Sorted Signature

Page 36: 高速ディジタル回路の 論理的設計手法について

- 45-

論理演算子の定義論理演算子の定義

論理演算子論理演算子– Boolean OperatorBoolean Operator の概念の概念

演算回路の論理演算結果演算回路の論理演算結果– ““1GateCircuit1GateCircuit((p,fp,f) ) は は BooleanBoolean である”である”

22 入力型論理演算子入力型論理演算子– and2*, nand2*, or2*, nor2*, xor2*and2*, nand2*, or2*, nor2*, xor2*

33 入力型論理演算子入力型論理演算子– and3*, nand3*, or3*, nor3*, xor3*and3*, nand3*, or3*, nor3*, xor3*

Page 37: 高速ディジタル回路の 論理的設計手法について

- 46-

22の補数回路の補数回路~動作の正しさの証明~~動作の正しさの証明~

演算回路演算回路– 1bit1bit分の 分の 22の補数回路を の補数回路を n-bitn-bit接続 → 実現接続 → 実現

22の補数器,桁上がり演算器を定義の補数器,桁上がり演算器を定義– 回路の入出力に関する諸定理を導出回路の入出力に関する諸定理を導出

1bit1bit分の演算回路分の演算回路– 「「 22の補数器」 と 「桁上がり演算器」を合成の補数器」 と 「桁上がり演算器」を合成

動作の正しさの証明動作の正しさの証明– 入力信号点の状態が決まれば演算結果が必ず入力信号点の状態が決まれば演算結果が必ず安定することを示す安定することを示す

Page 38: 高速ディジタル回路の 論理的設計手法について

-OHP-図 4.2   2 の補数回路の構造 BitCompStr(p,f)

Page 39: 高速ディジタル回路の 論理的設計手法について

- 48-結論結論  ~何を明らかにしたの  ~何を明らかにしたのか~か~

ディジタル回路においては,「ディジタル回路においては,「高速性高速性」,」,「「信頼性信頼性」,「」,「設計と動作の正当性設計と動作の正当性」等の」等の検証が必要である.これらの各要求に関し,検証が必要である.これらの各要求に関し,– 11 .通信システムの信頼性向上.通信システムの信頼性向上– 22 .システム設計仕様の検証.システム設計仕様の検証– 33 .高速パイプライン型回路の設計手法.高速パイプライン型回路の設計手法– 44 .演算回路の動作の正しさを数学証明.演算回路の動作の正しさを数学証明

以上の方策について明らかにした以上の方策について明らかにした

Page 40: 高速ディジタル回路の 論理的設計手法について

- 49-

今後の応用研究今後の応用研究 22 次元セルオートマトン次元セルオートマトン

– シストリックアレイ演算器シストリックアレイ演算器– 設計検証,耐故障性設計検証,耐故障性

LC-Petri net LC-Petri net デザインデザイン– ゲートアレイ設計へ直結,回路の自動生成ゲートアレイ設計へ直結,回路の自動生成

複雑な演算回路複雑な演算回路– 固定・浮動小数点演算器(加減算,乗除算,固定・浮動小数点演算器(加減算,乗除算,等々)の設計検証への応用等々)の設計検証への応用