Last Update 2003/09/10

ハードウェア記述言語でPLD/FPGA/ASICを開発する
ABELによるASICの設計技法

小林 芳直/三上 廉司 共著
B5変型判 224ページ
3.5"1.44MB FD 2枚付き
定価4,058円(税込)
JAN9784789830843
1996年7月10日発行
[絶版2000.4.20] ABELによるASICの設計技法
大変恐縮ですが,こちらの商品は品切れ絶版となりました.

 ディジタル回路の設計にハードウェア記述言語(Hardware Description Language)を使うことが一般的になってきています.それはソフトウェアを開発するのと同じように,ハードウェアの機能仕様を高級論理式,真理値表,状態遷移表などを使って記述していくことによって,PLD(Programmable Logic Device)やASIC(Application Specific IC)の開発にも応用することができます.
 本書では,ハードウェア記述言語としての定評のあるABEL(米国DATA I / O社)の教育バージョンABELEDU)をIBM PC互換機のパーソナル・コンピュータ上で使いながら,実際の開発技法と実例を取得することができます.また,ABELの言語リファレンスとしても活用できます.

目次

第1部 ABEL - HDLによるハードウェア設計

第1章 ABELの紹介
 1.1 ABELを使った論理入力
  ・ 論理式
  ・ 真理値表
  ・ ステート・ダイアグラム
 1.2 シミュレーションと論理圧縮
  ・ テスト・ベクタによるシミュレーション
  ・ クリチカル・パスと動作速度
  ・ 実装上の注意

第2章 コンビネーション回路
 2.1 回路とその機能
  ・ 基本的なゲート
  ・ XORゲート
  ・ PLA
 2.2 ブール代数
  ・ ブール論理式
  ・ ブール代数の公式
  ・ ド・モルガンの定理
  ・ シャノンの定理
  ・ 積項
  ・ 論理和
  ・ 標準積和型
 2.3 ブール代数をABELで使う

第3章 論理の最小化
 3.1 2段論理の最小化
  ・ 最大項
  ・ 最小和
  ・ 最小和の決めかた
  ・ そのほかの表現法
  ・ リード・マラー論理式
  ・ ビット・パーティショニング
  ・ ミニマム・カバー
  ・ エッセンシャル手項
  ・ クワイン・マクラスキー法
 3.2 1セット,Oセット,DCセット
 3.3 多変数を出力する回路の論理圧縮
 3.4 多段論理の最適化
  ・ ファクタリング
 3.5 XORゲートの論理圧縮
  ・ リード・マラー型論理式
  ・ XORゲートを含む回路の最適化
  ・ XORゲートを使ったファクタリング

第4章 順序回路
 4.1 同期式順序回路
  ・ 同期式ラッチの種類
  ・ ラッチのエミュレーション
  ・ ステート・マシンの設計
  ・ ミーリィ・マシンとムーア・マシン
 4.2 ステート・マシンの論理圧縮
  ・ ステート・マシンのステート定義
  ・ ステート定義の奥義
 4.3 メタステービル現象
  ・ イントリンシック・ハザード
  ・ 動作速度の限界
  ・ 入力ラッチの効用
 4.4 非同期式回路
  ・ ハザード

第5章 ABELの文法
 5.1 概説
 5.2 ABELの論理式
 5.3 真理値表
  ・ 真理値表を使ったステート・マシンの設計
  ・ ステート・ダイアグラム

第6章 TTLの機能
 6.1 バッファ
 6.2 ラッチ
  ・ 8ビット・トランスペアレント・ラッチ 74373
  ・  74259 アドレッサブル・ラッチ
 6.3 レジスタ
  ・ 8ビットDタイプ・ラッチ 74374
 6.4 シフトレジスタ
 6.5 マルチレクサ
 6.6 デマルプレクサ

第7章 カウンタ
 7.1 Tラッチを使ったカウンタ
  ・ ルックアヘッド・カウンタ
 7.2 Dラッチのカウンタ
  ・ カウンタの高級論理式
 7.3 ロードできるカウンタ
 7.4 カウンタのリセット
 7.5 グレート・ポラリティ
 7.6 SRラッチのカウンタ
 7.7 アップ・カウンタとダウン・カウンタ
 7.8 可変長カウンタ
 7.9 カウンタ・チェイン
  ・ @carryによるカウンタの分割
  ・ キャリ・ルックアヘッド
 7.10 ウェーブ・ジェネレータ

第8章 デコーダとコンパレータ
 8.1 アドレス・デコーダ
 8.2 コンパレータ
  ・ 一致比較回路
  ・ @carryを使った大規模なコンパレータ
  ・ キャリ・ルックアヘッドを使った大規模なコンパレータ
  ・ 大小比較回路

第9章 算術演算
 9.1 パリティ・チェッカ
 9.2 アダー
 9.3 アダーの高級論理式
 9.4 キャリ・ルックアヘッド
 9.5 アダー・チェイン
  ・ @carryを使ったアダー・チェイン
 9.6 引き算器
 9.7 フィボナッチ数列発生器
 9.8 積算器
  ・ 8×8遂次積算器

第10章 コード・コンバータ
 10.1 7セグメント・デコーダ
 10.2 グレイ・コード・コンバータ
 10.3 CRC回路
  ・ CRC _ CCITTの標準
  ・ パラレルCRCジェネレータ

第11章 ジョンソン・カウンタ
 11.1 ストップ・モーション
 11.2 ステート・マシンのネスティング
 11.3 ステート・マシンのトリミング
 11.4 ステート・マシンのオーバラップ・オペレーション(1)
 11.5 ステート・マシンのオーバラップ・オペレーション(2)
 11.6 ジョンソン・カウンタのマイナ・ループ

第12章 LFSR
 12.1 LFSRは何に使えるのか
 12.2 LFSRの周期
 12.3 1/8000プリスケーラの設計
  ・ LFSRのマイナ・ループとトラップ回路

第2部 ABEL - HDLの文法

第13章 ハードウェア記述言語
 13.1 構造記述(ネットリスト)表現
 13.2 機能記述表現
 13.3 機能記述と構造記述の関係
 13.4 合成とコンパイレーション
 13.5 シミュレーションと設計自動化
 13.6 言語習得のヒント

第14章 ABEL - HDLの基礎と構造
 14.1  pin - to - pin記述と詳細記述
 14.2 ABEL - HDL最小記述
 14.3 ABELのモジュール構造
  ・ 定義部の要素
  ・ 仕様記述部の要素
  ・ テスト・ベクタ記述部
 14.4  ABEL - EDUの処理系
  ・ 他のデバイス・サポートに関して
  ・ サポート・デバイス

第15章 宣言と識別子
 15.1 宣言
  ・ デバイス宣言
  ・ PIN宣言
  ・ ノード
  ・ 信号属性
 15.2 文字と変数
 15.3 数と定数
  ・ 数字
  ・ 特別な定数
 15.4 セット
  ・ セット・インデックス
 15.5 ブロック
  ・ 論理式記述でのブロックの使用
 15.6 マクロ
  ・ マクロによる文字代入
  ・ マクロによる関数定義

第16章 式と演算子
 16.1 割り当て演算子
 16.2 論理演算子
 16.3 算術演算子
 16.4 関係演算子
 16.5 演算子の優先順位
 16.6 when〜then〜else文
 16.7 セット演算
  ・ セットと数値
  ・ セットと演算子
  ・ セット演算の規則
  ・ セットと型
  ・ @carryディレクティブ

第17章 真理値表
 17.1 真理値表の型とテンプレート
 17.2 ドント・ケア
 17.3 レジスタ割り当て
 17.4 レジスタ/組み合わせ混在

第18章 ステート・ダイアグラム
 18.1 状態割り当てと宣言
  ・ レジスタと遷移条件の宣言
 18.2 状態遷移路と遷移条件記述
 18.3 制御出力
 18.4 with文法
 18.5 シンボリック・ステート・マシン

第19章 ハードウェアの詳細記述法
 19.1 pin - to - pin信号属性
  ・ pin - to - pin記述で使用する属性
 19.2 pin - to - pinドット拡張子
 19.3 ハードウェア詳細記述属性
  ・ ハードウェア詳細記述で使用する属性
 19.4 ハードウェア詳細ドット拡張子
 19.5 アクティブ・レベル
  ・ アクティブ“L”記述
  ・ 極性制御記述
  ・ istype文による極性制御
  ・ ドント・ケアの条件設定
 19.6 ノード
 19.7 中間変数
 19.8 イクスクルーシブ・オア

Appendix A ABEL - EDUの使い方
 A.1 ABEL - EDUの走行環境
 A.2 インストールの方法
 A.3 起動と操作の方法
 A.4 デバイスの指定と書き込み
 A.5 製品版と相違
 A.6 他のデバイス・サポートに関して
  ・ サポート・デバイス
 A.7 重要な情報など

Appendix B 製品版のABELについて
 B.1 製品群と走行環境
 B.2 文法の互換性
 B.3 各製品の機能と相違に関して
  ・ ABEL - 6
  ・ SYNARIO
  ・ Super ABEL

Appendix C ロジック・ダイアグラム
  ・ P16L8
  ・ P16H8
  ・ P16P8
  ・ P16R4
  ・ P16R6
  ・ P16R8
  ・ P20X8
  ・ E0320
  ・ P18CV8