このＰＤＦは，ＣＱ出版社発売の「PCI Express設計の基礎と応用」の一部分の見本です．
内容・購入方法などにつきましては以下のホームページをご覧下さい．
<http://shop.cqpub.co.jp/hanbai/books/46/46411.htm>

第3PHY チップを使った基板設計
低コストのアドイン・カードで使う
高速パラレル・インターフェース PIPE章

福田 光治

ギガ・ビット・クラスの高速シリアル通信を行う PCI Express を実現するためには，何種類かの回路構成があります．低コストのアドイン・カードでは，PCI Express
シリアル信号の物理層処理を行い，パラレル変換して後段の LSI（FPGA など）に渡す PHY チップがよく使われます．PHY チップと LSI の間のインターフェースを PIPE
（PHY Interface for the PCI Express Architecture）といいます．
PIPE では 100 MHz 以上の高速パラレル信号がやりとりされるので，伝送線路を意識して基板を設計する必要があります．本章では，PIPE の特徴や PHY チップを使った基板（口絵 1 〜口絵 8 参照）の設計例を紹介します．

組み込みシステムや産業機器の分野では，PCI Express インターフェースを備えた製品の開発が数多く進められています．特に x1/x4 リンクのアドイン・カー
ドなど，安価で低消費電力なシステムで採用されるエンドポイント製品（表 3-1）は，物理層の処理を行って高速シリアル信号をパラレルに変換する PHY チップと物理層より上位層の処理を行う FPGA などを用いた 2 チップ構成で実現できます．
PHY チップを使わない場合は，高速トランシーバ内蔵 FPGA や ASIC を使用して 1 チップで構成します．
表 3-1 PCI Express の接続ツリーの構成要素
x1/x4 リンクのアドイン・カー
ドなどの安価で低消費電力なエンドポイントは，PHY チップと FPGA を用いた 2 チップ構成で実現する場合が多い．

項 目
ルート・コンプレックススイッチ
ブリッジ
エンドポイント

概 要
I/O 構造の最上位階層デバイス．CPU やメモリ・サブシステムを I/O として接続
複数の PCI Express ポートを接続し，ポート間でのルーティングやレイテンシ管理を行うデバイス
レガシ PCI システムへの接続など，デバイス相互接続性を確立
タイプ 00h コンフィグレーション空間ヘッダをもつデバイス．末端のモジュールとしてルート・コ
ンプレックスやスイッチに接続される

91

3-1 PHY チップのメリットとデメリット
PCI Express インターフェースを PHY チップで実現する場合，2.5 Gbps のシリ
アル・インターフェースと PHY チップのパラレル・インターフェースである PIPE
（PHY Interface for the PCI Express Architecture）という 2 種類を確立する必要があります（図 3-1，図 3-2）．PIPE は，PHY 専用チップとバックエンド回路（FPGA など）とを接続するクロック同期のパラレル・インターフェースです．このように多数の高速信号を扱うシステムにおいては，設計ノウハウや開発コスト，FPGA
プロトコル階層
トランザクション層
FPGAで実現
データ・リンク層

物理層
MAC

125MHz/250MHz
高速パラレル信号

PIPEインターフェース
PCS
PMA
PCI Express
インターフェース

PHYチップ

2.5GHz高速
シリアル信号図 3-1 PCI Express のエンドポイントを PHY チップで実現するには高速パラレル・インターフェース PIPE が必要
PCI Express の 3 層構造のうち PHY で実現する部分とそれより上の上位層を表す．PHY チップと FPGAとの間の配線グループが PIPE となる．

92

第 3 章 PHY チップを使った基板設計

FPGAなど

データ・リンク層

MAC層

TxData8ビットまたは16ビット

TxDataK

1ビットまたは2ビット

Command

7ビット

8ビットまたは16ビット

RxData1ビットまたは2ビット

RxDataK

6ビット

Status

シリアル信号
2.5Gbps
PHYチップPCLK（a）PIPEでやりとりする信号
信号名

ビット幅

方向

概要周波数

TxDATA

8または16入力

PHYデバイスへのパラレル・データ入力

125MHzまたは250MHzRxDATA

8または16出力

PHYデバイスからのパラレル・データ出力

125MHzまたは250MHzTxDATAK

1または2入力

TXDATAがデータなのかコントロール信号なのかを示す入力

125MHzまたは250MHzRxDATAK

1または2

出力

RXDATAがデータなのかコントロール信号なのかを示す出力

125MHzまたは250MHzCOMMAND

7

PHYへの動作コマンド制御用入力
入力 （TxDetectRx/Loopback，TxElecIdle，TxCompliance，RxPolarity，Reset#，PowerDown［1：0］）―

STATUS

6

出力PHYからのステータス通知用出力（RxValid，PhyStatus，RxElecIdle，RxStatus［2：0］）―

出力125MHzまたは
同期パラレル信号のクロック出力（立ち上がり同期）
250MHz

PCLK

1

図 3-2

PIPE の信号（b）各信号の特徴

PHY チップと MAC 層間に接続される PIPE 信号を表す．PIPE はデータ信号，コマンド信号，ステータス信号，クロックに大別できる．

消費電力などさまざまな問題が存在します．高速トランシーバ内蔵 FPGA を使った場合と比べて，実際に 2 チップで構成した場合のメリットとデメリットを次に記します．
● メリット・ ASSP（Application Specific Standard Product）なので消費電力を小さくできる・上位層（MAC/トランザクション/データ・リンク）デバイスを幅広く選択可能・ビーコン（Beacon）や周波数拡散型クロックなど PCI Express 規格専用の機能に対応可能
3-1 PHY チップのメリットとデメリット 93

第4アドイン・カードの電源設計
章

マルチ電源の回路設計と基板設計をマスタ！
鈴木 正人/今井 淳

PCI Express インターフェースを持つアドイン・カードは，CPU や FPGA などのLSI を使って設計します．一つのデバイスに複数の電源電圧を供給しなければならないものもあり，カード上の電源は複雑になる傾向があります．
例えば，高速トランシーバを内蔵した FPGA を用いると，PCI Express のすべての機能を 1 チップで実現できる代わりに，コア，I/O，高速トランシーバ用に少なくとも 3 種類の電源が必要になります．またデータをバッファリングするために DDRメモリなどを使う場合は，さらに別の電源が必要になってきます．
そこで本章では，高速トランシーバ内蔵 FPGA を搭載した x8 PCI Express アドイン・カードを例にとり，マルチ電源の電源回路設計や基板設計の考え方を解説します．

4-1 要求される電源仕様● 高速トランシーバ内蔵 FPGA の電源
FPGA 搭載 PCI Express アドイン・カードを例にどのような電源が必要になるか考えてみましょう．本アドイン・カードの特徴を写真 4-1 に示します．
このカードは，ザイリンクスの FPGA Virtex-5 LXT/SXT シリーズ「XC5VLX110T」を搭載しています．GHz クラスの高速トランシーバ（RocketIO）を内蔵しており，PCI Express や DDR2 メモリ，光モジュールなどへの高速伝送を評価できます．またイーサネットやデバッガ専用 MICTOR コネクタなどのインターフェースも備えています．
電源 IC の選定方法や使用方法について説明していきます．この基板では，以下のような電源デバイスなどを搭載しています．
・ FPGA の高速トランシーバ（RocketIO）
用の電源デバイス（写真 4-1 の①）・基板外形寸法（CEM Specification）の要求を満たすための部品実装効率が4-1 要求される電源仕様 103

SFP（最大オプション・3.2Gbps×2） ボード用電源
LTC3407

カメラリンク
Rｘコネクタ

10M/100M/1Gビット・イーサネット・インターフェース①高速トランシーバ（RocketIO） LVDS高速IF（最大用電源モジュール：LTM4600， コネクタ
3.2Gbps×4）
LDO : LTC3026

フラッシュ・メモリ
Midbusプローブ

RS-232-Cポート

PCI Express x8（2.5Gbps×8）

FPGA

MMCX（超小型同軸）コネクタ
×2（最大3.2Gbps×2）

写真 4-1 PCI Express アドイン・カードの特徴と使用している電源デバイス
開発した PCI Express アドイン・カードはザイリンクス Virtex-5 LXT/SXT シリーズの FPGA を搭載し，PCI
Express や DDR2 メモリ，光モジュールなどへの高速伝送が評価できる．高速トランシーバを使用し高速シリアル・インターフェースを実現するため FPGA に供給する電源設計が重要となる．

高い 3 出力スイッチング・レギュレータ（写真 4-1 の②）・ DDR2 SDRAM の終端に対応した 2 出力電源
（写真 4-1 の③）
・ DC-DC コンバータの 1 次側入力（12 V）に発生するスイッチング・ノイズを低減するためのフェライト・ビーズ（写真 4-1 の④）s コアや高速トランシーバ用の電源を用意する必要がある
FPGA に内蔵された高速トランシーバ「RocketIO」には高精度な電源が必要です．
104

第 4 章 アドイン・カードの電源設計

Appendix

B

FPGA で実現する DMA 転送
CPU を介さず高速にデータをやりとりさせる
鈴木 正人/今井 淳

PCI Express において広帯域の転送を行う場合，CPU などを介さずにメモリ間で直接データをやりとりする DMA（Direct Memory Access）が必須です．
第 4 章で紹介したボードを例にとり，FPGA を用いた PCI Express の DMA 転送実現例を紹介します．

B-1 ハード・マクロとソフト・マクロの回路使用率の違い
ここでは，第 4 章で電源設計を解説したボードで実現した DMA 転送回路（サンプル・デザイン）について紹介します．FPGA にはザイリンクスの XC5VLX50T
パソコン（DVIインターフェース）
FPGA Virtex-5

DVIインターフェース
PCIクロック
DMAC

PCIE̲USERPCI̲Expressユーザ・インターフェース

pcie̲core（Xilinx IP）

ホスト

DDR2インターフェース

DVI̲IF

DVIクロック

DDR2̲IF

CLK̲MANDDR2SDRAM

DDR2クロック
発振器

DDR2クロック

図 B-1 全体構成図
DMA 転送を行ったサンプル・デザインの全体構成を示す．ザイリンクスの IP コア LogiCORE PCI Express
エンドポイント Block Plus を使用して PCI Express を実現している．IP コアのユーザ・インターフェー
ス部分にて DMA コントローラ（DMAC）を構成している．

B-1 ハード・マクロとソフト・マクロの回路使用率の違い 125

第5FPGA 用 IPコアの選び方章

ソース公開の無償 IP コアでよく分かる
川井 敦

PCI Express のインターフェース回路は複雑で大規模となることが多いので，FPGA や ASIC を設計する際には IP（Intellectual Property）コアと呼ばれる回路ブロックを利用することがよくあります．IP コアは各ベンダが提供します．
本章では，PCI Express の IP コアを適切に選んで FPGA に実装し，性能を最大限に生かすために押さえておくべき知識を解説します．これから PCI Express イン
ターフェースを備えた機器を開発しようと考えているエンジニアはもちろん，IP コ
アを設計する側の立場にあるエンジニアにも再確認してもらいたい内容です．
CQ 出版社ウェブ・ページ（http://www.cqpub.co.jp/）から本書関連データとしてダウンロードできる無償 IP コア（第 6 章コラム 6-1 参照）のソース・コードを参照
しながら本稿を読むと，より深い理解が得られます．

5-1 PCI Express のおさらい
PCI Express は PCI や PCI - X の後継として近年急速に普及したインターフェース規格です．PCI Express のインターフェース回路は複雑かつ大規模となることが多いため，インターフェース回路をゼロから自作することはあまりありません．
ベンダが提供する IP コアと呼ばれる回路ブロックを FPGA や ASIC に実装したり，ブリッジ・チップを使ったりすることが一般的です．
しかし PCI Express 規格の IP コアの設計には大きな自由度があります．各ベンダが提供する IP コアにはそれぞれ特徴があり，またそれぞれの IP コアにはユーザ（PCI Express を備えた機器の設計者）が設定すべき多くのパラメータが存在します．どの IP コアを選択するか，パラメータにどのような値を設定するかは，開発期間，通信性能，回路資源の消費量などに大きな影響を与えます．
従って用途に合った IP コアを選択し，場合によっては IP コアだけでなくブリッ5-1 PCI Express のおさらい 131

第6IP コアを使った FPGA 設計入門
章

無償 IP コアですぐ試せる
川井 敦

本稿では FPGA に PCI Express の IP コア（Intellectual Property）を実装し，転送性能を最大限に引き出す方法について解説します．CQ 出版社のウェブ・ページ
からダウンロード可能な，筆者が開発したソース・コード公開の無償 IP コアを用いた性能実測例を紹介します．

6-1 転送速度の実測
本章では，転送性能を最大限に引き出す方法について解説します．IP（Intellectual Property）コアを実装した回路を用いて転送性能を測定します．
PCI Express 転送性能の測定には，CQ 出版社のウェブ・ページからダウンロードできる，K＆F Computing Research（以下，KFCR）の無償 IP コア「GPCIe」を

アルテラの高速トランシーバ内蔵FPGA「Arria GX」

PCI Express x8対応

写真 6-1 性能測定に使用した PCI Express（x8）評価ボードの外観
K＆F Computing Research 製．比較的低価格な高速トランシーバ内蔵 FPGA（アルテラ Arria GX）と外部メモリ（DRAM）を搭載．Arria GX でリンク幅 x8 をサポートする唯一のボード（2009 年 1 月筆者調べ）．

6-1 転送速度の実測 147