PCIデバイス設計入門
PCIバスの原理からHDLによるIC設計&デバッグ手法まで
B5判 272ページ
CD-ROM付き
定価2,305円(税込)
JAN9784789833141
2000年1月1日発行
付録CD-ROMの内容
PCIデバイスHDLソース&各社PCI評価ボード対応設計データ
DOS版PCIデバッグツール/DOS版&Windows版デバッグライブラリ
|
パソコンの拡張バスは,ISAバスに代わってPCIバスが主流になってきた.したがって,これからの技術者にとって,PCIバスを理解することは必須となっている.CPUの信号が直接出ているようなISAバスとは異なり,PCIバスはコントローラによって入出力の制御をする.そのため,高速なデータ伝送が可能になるが,その代わり付加回路およびソフトウェアのサポートが必要になり,PCIボードを設計することはISAバスボードに比べると難しくなっている.
本書では,PCIバスのターゲットデバイスに焦点を絞り,PCIバスの動作原理からFPGAを使ったコントロールデバイスの設計ならびにそれを利用したボードの制作までを詳細に解説する.
目次
序章 PCIバスは難しくない
第1部 基礎知識編
第1章 PCIバスの概要と要点
1.1 PCIバスの概要
1.2 PCIバスの動作
1.3 PCIバスの動作上の注意点
コラム1 タイミング図の意味と同期回路
コラム2 PCI SIGとベンダID取得
特別講座1 VHDL/Verilog-HDL言語入門
1.1 HDL回路設計概要
1.2 HDL文法クイックリファレンス
1.3 回路記述例
コラム1 reg宣言してもレジスタが生成されない
第2部 ハードウェア設計入門編
第2章 PCIバストランザクションの基礎
メモリライトサイクル ―― ターゲット1の設計
2.1 シーケンサの骨格
2.2 PCIターゲットシーケンサ
2.3 アドレスデコーダ
2.4 ローカルバスシーケンサ
メモリリード/ライトサイクル―――ターゲット2の設計
2.5 PCIターゲットシーケンサ
2.3 アドレスデコーダ
2.4 ローカルバスシーケンサ
コラム1 テスト環境の確認
コラム2 PCIバスの欠陥!?
第3章 コンフィグレーションレジスタの実装
コンフィグレーションレジスタの実装―――ターゲット3の設計
3.1 コンフィグレーションレジスタ
3.2 ターゲットシーケンサとアドレスデコーダ
3.3 ローカルバスシーケンサ
3.4 設計したデバイスの動作確認
コラム1 クラスコードいろいろ
コラム2 単機能デバイス/多機能デバイス
コラム3 サブシステムベンダIDとサブシステムID
コラム4 32/16ビットレジスタにバイトアクセスはあるか?
コラム5 VHDLかVerilog-HDLか
第4章 メモリ&I/Oターゲットデバイスの設計
ローカルバスにSRAMを接続―――ターゲット4の設計
4.1 ローカルバスの仕様検討
4.2 メモリアクセスタイミング制御
I/O空間を実装する―――ターゲット5の設計
4.3 内部レジスタをI/O空間に
コラム1 なぜ/CEが共通で/WEが独立か
コラム2 SRAMのアクセス速度
第5章 割り込み対応ターゲットデバイスの設計
割り込み制御機能を実装する―――ターゲット6の設計
5.1 PCIバスの割り込みシステム
5.2 割り込み対応ターゲットの設計
5.3 割り込み制御回路いろいろ
コラム1 PC/AT互換機でもインタラプトラインレジスタは8ビット必要!?
コラム2 インタラプトアクノリッジサイクル
第6章 より安定したPCIターゲットデバイスの設計
より安定して動作するPCIデバイス―――ターゲット7の設計
6.1 パリティの生成とチェック
6.2 バースト転送への考慮
6.3 ディスコネクタ対応のシーケンサ
バースト転送対応デバイス―――ターゲット8の設計
6.4 バースト転送対応デバイスの設計
コラム1 パリティチェックをしても…
コラム2 デバッグには必須! PCIバスエクステンション
コラム3 ディスコネクトしてる?
特別講座2 VHDL/Verilog-HDLステップアップ編
2.1 ステートマシンのHDLコーディング
2.2 回路のライブラリ化
2.3 RTL記述の注意点
Appendix1 VHDLからVerilog-HDLへの変更方法
コラム1 HDL学習ツール
第3部 ハードウェア設計実践編
第7章 PCIバス対応プリント基板設計法
7.1 PCIアドインボードの物理形状
7.2 PCIバス信号ピンの処理
7.3 プリント基板の配線やピン配置
コラム1 FA/産業用コンピュータ
コラム2 3.3V電源は必ずあるか?
コラム3 PCIアドインボードの存在確認
コラム4 Vioピン電圧とデバイスI/O電圧
Appendix2 PCI試作評価用ボード各種
コラム1 PCIハードウェアとソフトウェア第4版
第8章 ディジタルI/Oボード&FIFO搭載I/Oボードの設計
ディジタルI/Oボードの設計
8.1 32ビットI/Oボードの設計
FIFO搭載I/Oボードの設計
8.2 FIFOの必要性とは
8.3 汎用FIFOデバイスの動作
8.4 FIFO制御PCIデバイスの設計
8.5 ローカルバスシーケンサの詳細
8.6 通信相手の準備
8.7 動作確認用サンプルプログラム
8.8 FIFOを活かすには
第9章 SIOボード&汎用バスブリッジの設計
SIOボードの設計
9.1 ビット幅の異なるバスの接続
9.2 SIOコントローラ用ブリッジの設計
汎用バスブリッジの設計
9.3 プログラマブルタイミングコントローラ
第10章 PCIデバイスの各種タイミング考察
10.1 CPLD/FPGAデバイスのタイミング考察
各種CPLD/FPGAデバイスの評価
10.2 FLEX10Kシリーズ(ALTERA)
10.3 XC4000XL/SpartanXLシリーズ(XILINX)
10.4 ispLSI5000シリーズ(LATTICE)
10.5 MACH M4ファミリ(旧VANTIS/現LATTICE)
Appendix3 各社CPLD/FPGAデバイスと開発ツール
論理合成ツール
デバイス開発ツール
第4部 ハードウェアデバッグ編
第11章 PC/AT互換機におけるPCIバス
11.1 PC/AT互換機におけるPCIバスの構成
11.2 PC/AT互換機とコンフィグレーション空間
11.3 コンフィグレーションレジスタへのアクセス
11.4 コンフィグレーション時のデバイスセレクト
11.5 PC/AT互換機とPCIバスの割り込み
11.6 PCI BIOSの使い方
11.7 プラグ&プレイBIOSについて
第12章 PCIデバッグツール群の機能と使い方
12.1 PCIデバッグツール群とは
12.2 コンフィグレーション情報表示ツール REDPCI.COM
12.3 物理メモリエディタ MEMORY.COM
12.4 I/Oアクセスツール IO.COM
12.5 プラグ&プレイBIOS情報表示ツール PnP.COM
12.6 PCI IRQルーティング情報表示ツール PCIIRQ.COM
第13章 PCIデバッグライブラリ for DOS と使い方
PCIデバッグライブラリ for DOS
13.1 PCI BIOSコールライブラリ PCIFUNC
13.2 ハイメモリアクセスライブラリ MEMFUNC
13.3 I/Oアクセスライブラリ IOFUNC
13.4 割り込みエントリ処理ライブラリ IRQFUNC
PCIデバッグプログラムの作り方
第14章 PCIデバッグライブラリ for Win32 と使い方
14.1 WindowsからPCIデバイスを制御するには
14.2 PCIDEBUG.DLLの使い方
14.3 DLLの内部構造
14.4 WindowsNT用ドライバの内部構造
14.5 Windows95/98用ドライバの内部構造
14.6 PCIデバッグライブラリの実行速度
14.7 PCIデバイスのリソース割り当て
14.8 通常のドライバとの違いなどについて
本書に付属するCD-ROMについて
CD-ROM収録内容
本書付属CD-ROMには、大きく分けて以下のファイル群が収録されています.
・本書連携CD-ROMコラム記事
・本書設計PCIターゲットデバイスHDLソース
・各社PCI試作評価用ボード用デバイスデータ
・DOS版PCIデバイスデバッグ用ツール
・DOS版PCIデバッグライブラリ&サンプルプログラム
・Windows版PCIデバッグライブラリ&サンプルプログラム
●本書連携CD-ROMコラム記事
第5章 割り込み対応ターゲットデバイスの設計
▲割り込みシステムデザイン指南
第11章 PC/AT互換機におけるPCIバス
▲CPUからのアクセスとバースト転送
第12章 PCIデバッグツール群の機能と使い方
・デバイス番号12は存在するのか?!
第14章 PCIデバッグライブラリ for Win32 と使い方
▲各種プログラミング言語からの使い方
・VisualC++からの使い方
・VisualBasic Ver5.0/6.0からの使い方
・Delphi4.0からの使い方
・コラム1 割り込み共有に関する問題について
・コラム2 WindowsNTにおけるHalTranslateBusAddress()の働き
▲PCIデバッグライブラリサンプル事例
・PciWatchの機能拡張
・PCIデバッグライブラリをEXCELから使う
▲INFファイルとリソース割り当て
・Windows95の標準ドライバの組み込み
・Windows95 OSR2の標準ドライバの組み込み
・Windows98&98SEの標準ドライバの組み込み
・各OSごとのINFファイルの組み込み
●本書設計PCIターゲットデバイスHDLソース
▲汎用版VHDLソース
・ターゲット1〜8…TGT1〜TGT8.VHD
・ディジタルI/Oボード…PIO.VHD
・FIFO搭載I/Oボード…FIFO1.VHD
・SIOボード…SIO.VHD
・汎用バスブリッジ…BRIDGE8/16/32.VHD
▲MAX+plusII VHDL論理合成ツール用 VHDLソース
・ターゲット4…TGT4.VHD
▲Verilog-HDLソース
・ターゲット3/7…TGT3.V/TGT7.V
●各社PCI試作評価用ボード用デバイスデータ
▲EasyPCIシリーズ GPCI9320
・ターゲット1〜7…TGT1〜7
・ディジタルI/Oボード…PIO
▲EasyPCIシリーズ GPCI9560
・ターゲット1〜7…TGT1〜7
▲EasyPCIシリーズ GPCI10K30
・ターゲット1〜8…TGT1〜8
▲EasyPCIシリーズ GPCI10K100
・ターゲット1〜8…TGT1〜8
▲PCI Evaluation Board BP-13
・ターゲット1〜8…TGT1〜8
・ディジタルI/Oボード…PIO
・FIFO搭載I/Oボード…FIFO1
・SIOボード…SIO
・汎用バスブリッジ…BRIDGE8/16/32
▲PCI Evaluation Board BP-29
・ターゲット1〜8…TGT1〜8
▲PCI Evaluation Board BP-49XLA
・ターゲット7…TGT7
▲PCI Evaluation Board BP-49SPA
・ターゲット7…TGT7
▲G-PCI2
・ターゲット1〜7…TGT1〜7
●DOS版PCIデバイスデバッグ用ツール
・PCIバステストツール…PCICHK
・PCIコンフィグレーション情報表示ツール…REDPCI.COM
・物理メモリエディタ…MEMORY.COM
・I/Oアクセスツール…IO.COM
・プラグ&プレイBIOS情報表示ツール…PnP.COM
・PCI IRQルーティング情報表示ツール…PCIIRQ.COM
●DOS版PCIデバッグライブラリ&サンプルプログラム
・PCI BIOSコールライブラリ…PCIFUNC
・ハイメモリアクセスライブラリ…MEMFUNC
・I/Oアクセスライブラリ…IOFUNC
・割り込みエントリ処理ライブラリ…IRQFUNC
・メモリリード/ライトチェックプログラム…MEMCHK
・割り込み動作チェックプログラム…INTCHK
・ディジタルI/Oボード用動作チェックプログラム…PIO
・FIFO搭載I/Oボード用動作チェックプログラム…FIFOS/FIFOR
・SIOボード用動作チェックプログラム…SIO1/SIO2
●Windows版PCIデバッグライブラリ&サンプルプログラム
・PCIデバッグライブラリ for Win32…PCIDEBUG
・メモリアクセスプログラム(VC++版)…TGT7TEST
・PCIコンフィグレーション情報表示ツール…PCIWATCH
・EXCEL用マクロファイル…CFGDUMP.XLS/MEMDUMP.XLS
・メモリアクセスプログラム(VB版)…TGT7TEST
・メモリアクセスプログラム(Delphi版)…TGT7TEST
●本書付属のCD-ROMについてのご注意
本書付属のCD-ROMの貸与または改変,複写複製(コピー)はできません.詳しくはこちらをご覧ください.