目次
序章 PCIバスは難しくない!!
第1部 基礎知識編
PCIデバイスを設計するうえで最低限必要な基礎知識
第1章 PCIバスの概要と要点
1.1 PCIバスの概要
1.2 PCIバスの動作1
1.3 PCIバスの動作上の注意点
コラム1 タイミング図の意味と同期回路
コラム2 PCI SIG(Special Interest Group)とベンダID取得
Appendix1 本書で使用するPCI評価ボードとHDLについて
第2部 ハードウェア設計入門編
FRAME#/IRDY#を読みDEVSEL#/TRDY#を操る
第2章 PCIバス・トランザクションの基礎
メモリ・ライト・サイクル―ターゲット1の設計
2.1 シーケンサの骨格
2.2 PCIターゲット・シーケンサ
2.3 アドレス・デコーダ
2.4 ローカル・バス・シーケンサ
メモリ・リード/ライト・サイクル―ターゲット2の設計
2.5 PCIターゲット・シーケンサ
2.6 アドレス・デコーダ
2.7 ローカル・バス・シーケンサ
コラム1 テスト環境の確認
コラム2 PCIバスの欠陥!?
Appendix2 PCI動作確認環境について
プラグ&プレイのための各種情報を格納する内部レジスタ
第3章 コンフィグレーション・レジスタの実装
コンフィグレーション・レジスタの実装―ターゲット3の設計
3.1 コンフィグレーション・レジスタ
3.2 ターゲット・シーケンサとアドレス・デコーダ
3.3 ローカル・バス・シーケンサ
3.4 設計したデバイスの動作確認
コラム1 クラス・コードいろいろ
コラム2 単機能デバイス/多機能デバイス
コラム3 サブシステム・ベンダIDとサブシステムID
コラム4 32/16ビット・サイズのレジスタにバイト・アクセスはあるか?
ローカル・バスにSRAMを接続し内部I/Oレジスタを実装するために
第4章 メモリ&I/Oターゲット・デバイスの設計
ローカル・バスにSRAMを接続―ターゲット4の設計
4.1 ローカル・バスの仕様検討
4.2 メモリ・アクセス・タイミング制御
I/O空間を実装する―ターゲット5の設計
4.3 内部レジスタをI/O空間に
コラム1 なぜ ̄CEが共通で ̄WEが独立か…
コラム2 SRAMのアクセス速度4
コラム3 大容量FPGAの内部メモリを使う
外部の非同期なタイミングをCPUに知らせるために
第5章 割り込み対応ターゲット・デバイスの設計
割り込み制御機能を実装する―ターゲット6の設計
5.1 PCIバスの割り込みシステム
5.2 割り込み対応ターゲットの設計
5.3 割り込み制御回路いろいろ
コラム1 PC/AT互換機でもインタラプト・ライン・レジスタは8ビット必要!?
コラム2 インタラプト・アクノリッジ・サイクル
コラム3 ロジック回路によるチャタリング除去
パリティ制御とバースト転送への考慮
第6章 より安定したPCIターゲット・デバイスの設計
より安定して動作するPCIデバイス―ターゲット7の設計
6.1 パリティの生成とチェック
6.2 バースト転送への考慮
6.3 ディスコネクト対応のシーケンサ
バースト転送対応デバイス―ターゲット8の設計
6.4 バースト転送対応デバイスの設計
コラム1 パリティ・チェックをしても…
コラム2 デバッグには必須!PCIバス・エクステンション
コラム3 ディスコネクトしてる?
自らバスの制御権を取得してトランザクションを開始する
第7章 PCIバスマスタの基礎知識
7.1 バス・アービトレーションのしくみ
7.2 マスタ側から見たバス・トランザクション
7.2.1 トランザクションの開始
7.2.2 データ転送
7.2.3 トランザクションの終了
7.3 コンフィグレーション・レジスタ
シングル転送メモリ・リード/ライト・サイクル発行デバイスを実現する
第8章 基本的なバスマスタ・デバイスの設計
8.1 バスマスタ・デバイスの構成
8.2 信号などの宣言
8.3 イニシエータ・シーケンサの設計
8.4 データ転送処理とパリティ生成
8.5 ローカル・バス・シーケンサと割り込み制御
8.6 動作確認
第3部 ハードウェア・デバッグ編
設計したPCIデバイスが正しく動作するかどうかを確認する
第9章 PCIデバッグ・プログラムの作り方
9.1 DOS環境で動作するデバッグ・プログラム
9.2 Windows環境でのデバイスの認識
9.3 Windows環境で動作するデバッグ・プログラム
コラム1 LSI C-86試食版をインストールする
第4部 PCIアドイン・ボード設計編
必要な信号/信号ピン処理/パターン設計の基本
第10章 PCIバス対応プリント基板設計法
10.1 PCIアドイン・ボードの物理形状
10.2 PCIバス信号ピンの処理
10.3 プリント基板の配線やピン配置
コラム1 FA/産業コンピュータ
コラム2 3.3V電源は必ずあるか?
コラム3 PCIアドイン・ボードの存在確認
コラム4 Vioピン電圧とデバイスI/O電圧
PCIバスをベースに,より信頼の高いシステムを構築できる
第11章 CompactPCIの概要とボード設計手法
11.1 CompactPCIのシステム
11.2 システム・スロット・ボードの設計ルール
11.3 ペリフェラル・スロット・ボードの設計ルール
11.4 諸注意事項〜失敗事例から〜
コラム1 PCIメザニン・カード規格について
コラム2 CompactPCI用コネクタのピン配置
バンク構成やグローバル・クロック・ライン,内蔵PLL機能の活用など
第12章 FPGAによるPCIデバイス設計時の注意点
12.1 I/Oピン設定時の注意点
12.2 高ファンアウト・バッファ・ピンの使用(PCIの場合)
12.3 内蔵PLL機能の使用
12.4 I/Oバッファ内レジスタの使用(PCI-Xの場合)
コラム1 疑似的にPCIバス対応I/Oを作る
第5部 PCIハードウェア設計応用編
各種形態のパラレル/シリアル・インターフェース・ボードを作る
第13章 PIO/SIOボード&汎用バス・ブリッジの設計
13.1 32ビット・ディジタルI/Oボードの設計
13.2 ビット幅の異なるバスの接続
13.3 SIOコントローラ用ブリッジの設計
13.4 汎用バス・ブリッジの設計
コラム1 Windows環境での動作確認
Appendix3 IDEコントローラやPCカード・コントローラなどの設計製作事例
PC/AT互換機の起動時に初期化やメッセージを表示できる
第14章 PCI拡張ROM対応PCIデバイスの設計事例
14.1 PCI拡張ROMの概要
14.2 PCI拡張ROMプログラムの起動シーケンス
14.3 PCI拡張ROM対応PCIデバイスの設計
14.4 PCI拡張ROMの開発支援ツール
14.5 x86 PC/AT互換機用のサンプル・プログラム
14.6 PCI拡張ROMの活用例
コラム1 FPGA内蔵メモリをROMとして使う
コラム2 ROM化ファイル分割ツール ROMDVI.COM
コラム3 初期化時だけ必要な場合/ランタイムだけ必要な場合
Appendix4 XScale/SH-4用PCIブリッジの設計製作
64ビットPCI-X評価ボードおよび32ビットPCI評価ボードを使って実現する
第15章 FPGAによるPCI-X対応デバイス設計事例
15.1 PCI-Xの信号について
15.2 Stratix評価キットをPCI-X対応化する
15.3 PCI-Xターゲット・システムの設計
15.4 デバイスに実装する際の注意点
コラム1 PCI-Xバス・システム開発支援ボードPower-X/V2P
コラム2 メモリ・リード・ブロック/メモリ・ライト・ブロック・コマンド
Appendix5 ロジアナ波形で見るPCI-Xバスの動き
本書に付属するCD-ROMについて
このほかの関連書籍
PCIバスやPCI-Xバスの動作の詳細を知りたい…
「改訂新版 PCIバス&PCI-Xバスの徹底研究」(税込定価2,310円)好評発売中!