Last Update 2020/03/06

高速・高信頼ディジタル・システムのための設計ノウハウ
定本 ASICの論理回路設計【オンデマンド版】

小林 芳直 著
A5判 344ページ
定価2,860円(税込)
JAN9784789852272
1998年5月1日発行
好評発売中!
定本 ASICの論理回路設計【オンデマンド版】

  ASIC(エーシック)…Application Specific Integrated Circuit=特定用途向けICは,一般に市販されている汎用ICではなくて,ユーザが特定の用途に使用するために作るLSIのことです.
 本書は1987年に出版された「ASICの論理回路設計法」を基本にして全面改訂したものです.当時のASIC設計はCADも十分に発達していなくて,PLDが普及しはじめて,FPGAはやっとXILINX社のものが登場した頃でした.
 当時は完全同期式回路の理論的な良さは理解されていても,現場ではまだまだ少ない存在でした.現在ならPLDやFPGAの設計は同期式が当然になってきましたし,ASICでもVHDLで書けば同期式回路を作ることができるようになってきました.
 そんな大きく変化した時代に対応した,当時のお約束の本が本書です.
 ASICを作るためには,まず特定用途の機能を実現する論理回路を用意しなくてはいけません.本書ではASICの大規模な論理回路を,同期式回路で実現するための基礎知識と実用ノウハウ,ASICを実現する上での高信頼性化技術についても大きく紙面を割いています.
 座右においてASIC設計のバイブルとしてお役立てください.

目次

第1章 ASIC=同期式設計=高信頼性設計への誘い
 1.1 究極のシステムにむかって
  ASICの基本的なラッチ構造
  ASICのデータ・パス
  本書では完全同期式設計
  現代のASIC設計法
  回路設計者とデバイス屋さん
 1.2 同期式回路に残された陥穽(かんせい)
  ラッチが誤動作する…レーシング
  ラッチのセットアップ時間とホールド時間
  レーシングを防ぐ…ダブル・ラッチ
  外部の非同期入力で発生する準安定状態…メタステーブル
  ●コラム1● 標準デバイスのメタステーブル
 1.3 それでも同期式回路設計
  テスト設計の重要性
  テスト設計二つの方式
  テスト設計のためにも同期式回路設計
  同期式回路のメリット
  高速・複雑なシステムほど同期式のメリットが生きる
 1.4 ASICの機能設計勘どころ
  ASICのプリミティブ
  内部ラッチをアレンジする技術
  非同期式回路から同期式回路への悪い変換例
  DラッチからJKラッチを作る…PLAの導入
  非同期式回路のラッチの置き換え
 Appendix 実際のラッチ選び
  キャン・テストをサポートしたラッチを使おう
  ●コラム2● ASICにスタティック・ラッチはいらない?

第2章 ゲート回路のいろいろ
 2.1 もっとも基本的なゲートの知識
  ANDゲートとORゲート
  正論理と負論理
  ANDとORの複合ゲート
  複合ゲートの入れ替え…分配則を使う
  Exclusive ORゲート
  そのほかの2入力ゲートはあるか
  論理式と真理値表の効果
  遊びの論理回路
 2.2 アダーとその構成方法
  入力3ビット…フル・アダー
  2ビット入力のアダーは
  変数が独立していることの効果
  ワン・インクリメント・アダー
  規模の大きなビット・スライス・アダー
  3入力ExORがあると
  リップル・キャリ・ジェネレータ
 2.3 そのほかの3入力素子
  データ・セレクタ
  シュナイダーの回路
 2.4 複合ゲートのチューニング
  ハザードとそのリメディ…共通項の追加
  同期式ではリメディは不要
  ハザード対策をしたバイステーブル・ラッチ
  ディレイを減らし,ディレイをそろえる効果
 Appendix デバイスの中身
  CMOSの基本ゲート構成
  TTL複合ゲートの効果
  CMOSの複合ゲート構成

第3章 論理圧縮とクワイン・マクラスキー法
 3.1 PLAを使った論理圧縮…Bose抜きの考え方
  デコード不要な変数…Bose項
  Bose抜きの基本技術
  分配則と吸収則を使いこなす
  PLA上での論理圧縮…演算子【ルビ/オペレータ】が働く
  Bose抜き二つの大きなメリット…ハザード対策とテスタビリティの向上
  共通項を使う論理圧縮
  消える共通項,消えない共通項
  論理圧縮の仲介をして発生し,消滅する共通項
  PLA上での論理圧縮の実用テクニック
  論理圧縮を強引にトライする方法
  論理圧縮の順序
  論理圧縮の例題
  共通項の復習
 3.2 クワイン・マクラスキー法
  Bose項を確実に発見する方法
  クワイン・マクラスキー法をPLA上で行うルール
  答が二つあるときの論理圧縮…ネガティブ・オプションを使う
  AOゲート,OAゲートの入れ替えと部分圧縮

第4章 コンビネーション回路の設計
 4.1 セレクタ,デコーダ,エンコーダの設計
  ライン・データ・セレクタ
  ライン・デコーダ
  プライオリティ・エンコーダ
 4.2 比較,演算回路の設計
  マグニチュード・コンパレータ
  ワン・インクリメント・アダー
  コンスタント・アダー
  バイナリ・フル・アダー
  7ビット・スライス・アダー
  サブトラクタ…引算器
  アダーのディレイを小さくするキャリ・ルック・アヘッド
  長大なバイナリ・アダーのスピードとサイズ
  キャリ・スキップ方式バイナリ・アダー
  多重のキャリ・スキップ・バイナリ・アダー
  二つのバイナリ・マルチプライヤ方式
  シーケンシャル・マルチプライヤ
  フラッシュ・マルチプライア

第5章 カウンタ回路の設計
 5.1 カウンタ設計のあらまし
  カウンタを分類すると
  バイナリ・カウンタとジョンソン・カウンタの得失
  ASICの最大動作速度を決めるもの…クリチカル・パス
  クリチカル・パスを減らすには…論理圧縮
  クリチカル・パスのめやす
 5.2 さまざまなカウンタの設計
  バイナリ・カウンタの設計
  バイナリ・カウンタの別解
  ダウン・カウンタが必要なとき
  アップ/ダウン・カウンタの設計
  機能制御を行うカウンタの設計
  卒業試験…グレイ・コード・カウンタの設計
 5.3 LFSR(M系列発生器)の設計
  シフトレジスタの設計
  LFSRは何に使えるのか
  LFSRの周期
  1/8000プリスケーラの設計
  LFSRのマイナー・ループとトラップ回路
  LFSRの逆カウンタ
  ●コラム3● CADの仕事

第6章 ジョンソン・カウンタの設計
 6.1 ジョンソン・カウンタを高信頼性化する
  ジョンソン・カウンタのメジャー・ループとマイナー・ループ
  ジョンソン・カウンタをメジャー・ループだけで動作させる
  誤動作を回復させる回路技術…ブービィ・トラップ
  ブービィ・トラップ回路を評価するには
  2ビット・ジョンソン・カウンタの場合
  3ビット・ジョンソン・カウンタの場合
  5ビット・ジョンソン・カウンタの場合
  6ビット・ジョンソン・カウンタの場合
  ユニバーサル・ジョンソン・カウンタ
 6.2 ウォッシュアウト・シーケンスを組み込むには
  効率の良いブービィ・トラップの設計は
  汎ステート・ダイヤグラムを使う
  Nビット・ジョンソン・カウンタの設計
  JKラッチを使ったジョンソン・カウンタ
 ●コラム4● 仕様と設計とバグと

第7章 シーケンサの設計
 7.1 シーケンサ設計の基礎知識
  ハードウェア・シーケンサとは
  シーケンサの動作のあらまし
  ハードウェア・シーケンサの効果的な組み立て
  シーケンサとマイクロプロセッサの違い
 7.2 ジョンソン・カウンタをステート・マシンに仕立てる
  ベースはジョンソン・カウンタ
  シーケンサのコア…ステート・マシン
  ステートの遷移を制御する…ストップ・モーション
  DラッチとJKラッチとその他のラッチ
  カウンタの長さを変える…非対称ジョンソン・カウンタ
  ステート・マシンからステート・マシンを呼び出す
  余りのステートは最後のステートに割り振る
  ステート・マシンのオーバラップ・オペレーション
  ステート・マシンを二つに分割すると
  ジャンプするカウンタ…汎ジョンソン・カウンタ
  汎ステート・ダイヤグラム
 7.3 ワンホット・ステート・マシン vs ジョンソン・ステート・マシン
  ワンホット・ステート・マシンとは
  ワンホット・ステート・マシンでは起動前にリセットが必要
  入力信号の同期用ラッチが必要
  出力信号はスタティック・ハザードに注意
  では2ホット・ステート・マシンか
  例題…ワンホット・ステート・マシンによるRAS/CASジェネレータ
     ジョンソン・ステート・マシンによるRAS/CASジェネレータ
 7.4 スキップ・アクションの設計
  スキップ・アクションとは
  ノンコンディション・スキップ
  コンディション・スキップ
  マルチ・スキップ
  スキップ・マニューバ
  例題…DMAコントローラのシーケンサ
  ●コラム5● Caldwell's merging Rule(コードウェルの合併則)

第8章 シーケンサの高信頼性化技術
 8.1 高信頼性シーケンサのまとめ
  バグの温床は一箇所に集める
  ムーア・マシンを実現しよう
  一つの入力信号は一つのラッチにしか影響を与えてはいけない
  ラッチが反転してもI/Oデバイスを破壊しないこと
 8.2 高信頼性ジョンソン・ステート・マシンをめざす
  ジョンソン・カウンタのマイナー・ループ
  マイナー・ループからの脱出法
  ジョンソン・ステート・マシンのブービィ・トラップ
  最短ウォッシュアウトを実現するには
  ブービィ・トラップ回路の実際
  非対称ジョンソン・カウンタのブービィ・トラップ回路
  ●コラム6● ステート・マシンという言葉

第9章 シーケンサの応用設計
 9.1 ソフトウェア処理かハードウェア処理か
  プログラム・サイズとハードウェア・サイズの検討
  処理速度と消費電力の検討
 9.2 自動エスカレータの設計
  自動エスカレータの動作のあらまし
  状態を定義する
  ラッチ0とラッチ1の動作
  誤動作…ハザードへの対策を加える
  ステートと場合分けの問題
 9.3 信号機の設計
  信号機の動作のあらまし
  各ステートの条件
  ジョンソン・カウンタとステート
 9.4 ディジタル貯金箱の設計
  ディジタル貯金箱の動作のあらまし
  複数のステート・マシン
 9.5 ディジタルPLLの設計
  ディジタルPLLの構成のしかた
  PLAから回路を作る
  ●コラム7● シリコン・コンパイラ

第10章 最適設計へのアプローチ
 10.1 バグを抜く道のり
  バグとり…プロとしてのコスト感覚
  IC設計のプランが3方式あったら
 10.2 16ビット・マルチプライアの回路セッティング
  16ビット・シーケンシャル・マルチプライア
  シフトレジスタを使ったシーケンシャル・マルチプライア
  スキップ・シーケンシャル・マルチプライア
  スクイズ・プラン
  ファースト・クイット
  発熱に対する考察…余分のON/OFFはやらない
  いろいろやってみよう
 10.3 バブル・ソータの回路セッティング
  パイプ・ラインで同期式SRAMの高速性を生かす
  タイムチャートからステート・マシンへ
  入力データが1位のとき
  入力データが2位のとき
  入力データが3位のとき
  入力データが4位のとき
  入力データが5位のとき
  入力データが6位のとき
  入力データが7位のとき
  入力データが8位のとき
  入力データが予選敗退したとき
  ステート・ダイヤグラムを作るには
  ラッチする?しない?
  いろいろ試してみよう

索引