Last Update 2009/06/10

PCIデバイス設計入門
PCIバスの原理からHDLによるIC設計&デバッグ手法まで

B5判 272ページ
CD-ROM付き
定価2,305円(税込)
JAN9784789833141
2000年1月1日発行
[絶版→新版移行2005.2.15] PCIデバイス設計入門
こちらの商品は品切れ絶版となりました.新版の『改訂新版 PCIデバイス設計入門』をお求めください.
付録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の貸与または改変,複写複製(コピー)はできません.詳しくはこちらをご覧ください.