44
101 Innovation Drive San Jose, CA 95134 (408) 544-7000 www.altera.com 8B10B エンコーダ / デコーダ MegaCore ファンクション・ユーザガイド MegaCore バージョン : 7.1 ドキュメント・デート : 2007 5

8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

101 Innovation DriveSan Jose, CA 95134(408) 544-7000www.altera.com

8B10Bエンコーダ /デコーダMegaCoreファンクション・ユーザガイド

MegaCoreバージョン : 7.1ドキュメント・デート : 2007年 5月

Page 2: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Copyright © 2007 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific devicedesignations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks andservice marks of Altera Corporation in the U.S. and other countries. All other product or service names are the property of their respective holders.Altera products are protected under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. Altera warrantsperformance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to makechanges to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of theapplication or use of any information, product, or service described herein except as expressly agreed to in writing by AlteraCorporation. Altera customers are advised to obtain the latest version of device specifications before relying on any publishedinformation and before placing orders for products or services.

ii MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイドébíËÉTÉ|Å[Ég

UG-IPED8B10B-1.9

Page 3: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 iii

Contents

このユーザガイドについて改訂履歴 ......................................................................................................................................................................................................... vアルテラへのお問い合わせ ............................................................................................................................................................. vi表記規則 ...................................................................................................................................................................................................... vii

第1章 この MegaCoreファンクションについてリリース情報 .......................................................................................................................................................................................... 1–1サポートされるデバイス・ファミリ ................................................................................................................................... 1–1機能 ............................................................................................................................................................................................................... 1–2概要 ............................................................................................................................................................................................................... 1–2

OpenCore Plus評価機能 ....................................................................................................................................................... 1–3性能 ............................................................................................................................................................................................................... 1–3

第2章 使用法デザイン・フロー ............................................................................................................................................................................... 2–18B10Bエンコーダ /デコーダの演習 ................................................................................................................................... 2–2新規 Quartus IIプロジェクトの作成 ............................................................................................................................ 2–3MegaWizard Plug-In Managerの起動 ........................................................................................................................ 2–4パラメータ化 .................................................................................................................................................................................. 2–7シミュレーションのセットアップ .................................................................................................................................. 2–9ファイルの生成 ........................................................................................................................................................................... 2–10制約の設定 ...................................................................................................................................................................................... 2–12

デザインのシミュレーション .................................................................................................................................................. 2–13IP機能シミュレーション・モデル ............................................................................................................................... 2–13

デザインのコンパイル .................................................................................................................................................................. 2–14デバイスのプログラム .................................................................................................................................................................. 2–14ライセンスの設定 ............................................................................................................................................................................. 2–14

第3章 仕様機能の説明 ............................................................................................................................................................................................... 3–1ディスパリティ ............................................................................................................................................................................. 3–2GFP(Generic Framing Procedure).............................................................................................................................. 3–3キャラクタ・コード .................................................................................................................................................................. 3–3エンコーダ ........................................................................................................................................................................................ 3–4デコーダ ............................................................................................................................................................................................. 3–9OpenCore Plusタイム・アウト動作 .......................................................................................................................... 3–10

パラメータ ............................................................................................................................................................................................. 3–11信号 ............................................................................................................................................................................................................. 3–12

Page 4: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

iv MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

Contents

Page 5: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 v8B10Bエンコーダ /デコーダMegaCoreファンクション・ユーザガイド

このユーザガイドについて

改訂履歴 以下の表にこのユーザガイドの章の改訂履歴を示します。

章 日付 バージョン 変更内容

すべて 2007年 5月 7.1 ● Arria™ GXデバイス・ファミリのサポートを追加● メンテナンス・リリース ; 製品リリース情報を更新

1 2006年 12月 7.0 ● Cyclone IIIデバイスのサポートを追加。

2006年 4月 1.6.1 ● リリース情報およびサポートされるデバイス・ファミリの表を更新。

2005年 10月 1.6.0 ● リリース情報およびサポートされるデバイス・ファミリの表を更新。

2004年 6月 1.5.0 ● リリース情報およびサポートされるデバイス・ファミリの表を更新。

● 性能情報を更新。

2004年 2月 1.4.0 ● リリース情報およびサポートされるデバイス・ファミリの表を更新。

● OpenCore Plusの説明を追加。● 性能情報を更新。

2 2006年 12月 6.1 ● 新しいバージョンに合わせるためにスクリーン・ショットを更新。

2006年 4月 1.6.1 ● 演習のインストラクションを更新。

2005年 10月 1.6.0 ● システム要求を更新

2004年 6月 1.5.0 ● システム要求を更新● 8B10Bエンコーダ /デコーダMegaCore®ファンクションを取得するためのインストラクションを更新。

2004年 2月 1.4.0 ● Linuxインストラクションを追加。● IP Toolbenchインストラクションを追加。● IP機能シミュレーションモデル情報を追加。

Page 6: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

vi MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

アルテラへのお問い合わせ

アルテラへのお問い合わせ

アルテラ製品に関する最新情報は、アルテラのウェブサイト、www.altera.co.jp をご覧ください。テクニカル・サポートについては、www.altera.co.jp/mysupportにアクセスしてください。また、アルテラの販売代理店にもお問い合わせいただけます。

3 2006年 4月 1.6.1 ● Encoded Latencyの説明を追加。● 3–8ページの「エンコーダのタイミング図—1サイクル・レイテンシ」を追加。

● clk信号の説明を修正。● Device familyパラメータを削除し、Registered

inputs/outputsパラメータを追加。

2005年 10月 1.6.0 ● Device familyパラメータ・オプションから Mercury™デバイスを削除し、HardCopy® IIおよび Stratix® II GXファミリを追加。

2004年 6月 1.5.0 ● 変更なし。

2004年 2月 1.4.0 ● 実行時の不一致エラー出力(rderr)の説明を追加。● 10B_ERRスペシャル・コードの説明を追加。● OpenCore Plusタイム・アウト動作の説明を追加。● パラメータの説明(表)を追加。● 信号の表を更新。

章 日付 バージョン 変更内容

Page 7: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 vii8B10Bエンコーダ /デコーダMegaCoreファンクション・ユーザガイド

このユーザガイドについて

表記規則 本書では、以下の表記規則を使用しています。

書体 意味太字かつ文頭が大文字 コマンド名、ダイアログ・ボックス・タイトル、チェックボックス・オプショ

ン、およびダイアログ・ボックス・オプションは、太字かつ文頭が大文字で表記されています。例 : Save Asダイアログ・ボックス

太字 外部タイミング・パラメータ、ディレクトリ名、プロジェクト名、ディスク・ドライブ名、ファイル名、ファイルの拡張子、およびソフトウェア・ユーティリティ名は、太字で表記されています。例 : fMAX, \qdesignsディレクトリ、d: ドライブ、chiptrip.gdfファイル

斜体かつ文頭が大文字 資料のタイトルは、斜体かつ文頭が大文字で表記されています。 例 : AN 75: High-Speed Board Design

斜体 内部タイミング・パラメータおよび変数は、斜体で表記されています。例 : tPIA, n + 1

変数は、山括弧 (< >) で囲み、斜体で表記されています。例 : <ファイル名 >、<プロジェクト名 >.pofファイル

文頭が大文字 キーボード・キーおよびメニュー名は、文頭が大文字で表記されています。例 : Deleteキー、Optionsメニュー

「小見出しタイトル」 資料内の小見出しおよびオンライン・ヘルプ・トピックのタイトルは、鉤括弧で囲んでいます。 例 : 「表記規則」

Courier フォント 信号およびポート名は、Courierフォントで表記されています。 例 : data1、tdi、input。 アクティブ Low信号は、サフィックス nで表示されています (例 : resetn)。

表示されているとおりに入力する必要があるものは、Courierフォントで表記されています (例 : c:\qdesigns\tutorial\chiptrip.gdf)。また、Reportファイルのような実際のファイル、ファイルの構成要素 (例 : AHDLキーワードの SUBDESIGN)、ロジック・ファンクション名 (例 : TRI) もCourierフォントで表記されています。

1.、2.、3.およびa.、b.、c.など

手順など項目の順序が重要なものは、番号が付けられリスト形式で表記されています。

■ ● • 箇条書きの黒点などは、項目の順序が重要ではないものに付いています。チェックマークは、1ステップしかない手順を表します。

指差しマークは、要注意箇所を表しています。CAUTIONマークは、特別な配慮および理解が必要であり、手順またはプロセスを始める前、または続ける際に確認すべき情報を示しています。

注意マークは、手順またはプロセスを始める前、または続ける際に確認すべき情報を示しています。矢印は、Enterキーを押すことを示しています。

足跡マークは、詳細情報の参照先を示しています。

Page 8: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

viii MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

表記規則

Page 9: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 1–12007年 5月 8B10Bエンコーダ /デコーダMegaCoreファンクション・ユーザガイド

1. この MegaCoreファンクションについて

リリース情報 表 1–1に、アルテラの 8B10Bエンコーダ /デコーダMegaCore® ファンクションのリリースに関する情報を示します。

サポートされるデバイス・ファミリ

MegaCore ファンクションは、ターゲットのアルテラ・デバイス・ファミリに対し、フル・サポートあるいは暫定サポートを提供しています。

■ フル・サポートとは、MegaCoreファンクションがデバイス・ファミリの機能要件およびタイミング要求値をすべて満たしており、生産デザインで使用可能であることを意味します。

■ 暫定サポートとは、MegaCore ファンクションがすべての機能要件を満たすが、デバイス・ファミリに対するタイミング解析の実行中であるため、生産デザインでの使用は注意が必要なことを意味します。

表 1–2に、8B10Bエンコーダ /デコーダMegaCoreファンクションによる各アルテラ・デバイス・ファミリへのサポートのレベルを示します。

表 1–1. 8B10Bエンコーダ /デコーダ MegaCoreファンクションのリリース情報

項目 説明

バージョン 7.1

リリース月 2007年 5月

製品コード IP-ED8B10B

プロダクト ID 0079

ベンダ ID 6AF7

表 1–2.サポートされるデバイス・ファミリ (1 /2)

デバイス・ファミリ サポートの種類Arria™ GX 暫定サポート

Cyclone® フル・サポートCyclone II フル・サポートCyclone III 暫定サポートHardCopy® II フル・サポート

Page 10: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

1–2 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

特長

特長 ■ Arria™ GXデバイス・ファミリをサポート■ 8b/10bエンコーディングおよびデコーディング■ カスケード接続されたエンコーディングおよびデコーディング■ 業界標準のスペシャル・キャラクタ・コーディング■ 使いやすい IP MegaWizard® インタフェース■ OpenCore Plus評価をサポート■ アルテラでサポートしている VHDL、Verilog HDL シミュレータ上

で使用可能な IPファンクション・シュミレーション・モデル■ 以下を含むすべての適用可能な規格に準拠。

● Institute of Electrical and Electronics Engineers、IEEE 802.3z、MAC(Media Access Control)パラメータ、物理層、1000 Mb/s動作用リピータおよび管理パラメータ、1998 年、パラグラフ36.2.4.1~ 36.2.4.6。

● American National Standards Institute、ANSI X3.230、FC-PH(ファイバ・チャネル物理および信号インタフェース)、1994年。

● International Telecommunication Union、ITU-T RecommendationG.7041、Generic Framing Procedure、2001年 10月。

概要 エンコーダおよびデコーダは、Gigabit Ethernet、ファイバ・チャネル、およびその他のアプリケーションの物理層コーディングに使用されます。8b/10bエンコーダは、バイト入力を取り込み、最大ラン・レングス5の直流(DC)バランスト・ストリーム(同数の 1と 0)を生成します。個別 10ビット・コードの一部は同数の 1と 0で構成されますが、その他の 10ビット・コードは 4個の 1と 6個の 0または 6個の 1と 4個の 0で構成されます。後者の場合、1と 0の数の差異は次の 10ビット・コード生成への入力として使用されるため、この差異を反転させて、全体のバランスト・ストリームを維持することができます。このため、8 ビット入力の一部には、入力の差異に応じて 2つの有効な 10ビット・コードがあります。

HardCopy Stratix® フル・サポートStratix フル・サポートStratix II フル・サポートStratix II GX フル・サポートStratix III 暫定サポートStratix GX フル・サポートその他のデバイス・ファミリ サポートなし

表 1–2.サポートされるデバイス・ファミリ (2 /2)

デバイス・ファミリ サポートの種類

Page 11: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 1–32007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

この MegaCoreファンクションについて

アルテラ 8B10B エンコーダ / デコーダは、マルチギガビット・アプリケーションでのエンコーディングおよびデコーティングが可能なコンパクトで高性能のMegaCoreファンクションです。

OpenCore Plus評価機能

アルテラの無償 OpenCore Plus評価版機能により、以下の処理を実行することができます。

■ ユーザのシステムでメガファンクションの動作をシミュレーションする。

■ デザインの機能を検証したり、サイズやスピードを素早く簡単に評価する。

■ メガファンクションを含むデザインに対し、実行時間に制限のあるデバイス・プログラミング・ファイルを生成する。

■ デバイスをプログラムし、評価されるメガファンクションを含むデザインを実機上で検証する。

メガファンクションのライセンスは、お客様が機能と性能に満足し、かつデザインを製品化する場合にのみ、ご購入いただく必要があります。

8B10Bエンコーダ /デコーダを使用したOpenCore Plusハードウェア評価について詳しくは、3–10ページの「OpenCore Plusタイム・アウト動作」および「AN 320: OpenCore Plus評価機能によるメガファンクションの評価」を参照してください。

性能 表 1–3、表 1–4および表 1–5に、8B10Bエンコーダ /デコーダMegaCoreファンクションのリソース利用および性能を示します。これらの結果は、以下のデバイスに対するQuartus® IIソフトウェア 7.1バージョンを使用して得られたものです。

■ Cyclone II (EP2C35F484C6)■ Cyclone III (EP3C80F780C6)■ Stratix II (EP2S30F484C3)■ Stratix III (EP3SE110F780C2)

Page 12: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

1–4 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

性能

表 1–3.リソース利用および性能(Cyclone II、Cyclone III)

デバイス

パラメータLE数

fMAX (MHz) (1)、(2)動作モード

レジスタ入力 /出力

Cyclone II エンコーダ オン 100 250

エンコーダ オフ 107 454

デコーダ – 131 403

Cyclone III エンコーダ オン 100 250

エンコーダ オフ 107 454

デコーダ – 131 403

表 1–3の注 :(1) fMAXは、カスケード接続されていないエンコーダ /デコーダ用です。(2) これらの結果は、Quartus II ソフトウェアで自動 ROM 置換機能をディセーブルして

得られたものです。この機能をイネーブルすると、MegaCore ファンクションは小さくなりますが速度も低下します。

表 1–4.リソース利用および性能(Stratix II)

デバイスパラメータ

組み合わせALUT数

ロジック・レジスタ数

fMAX (MHz) (1)、(2)動作モード

レジスタ入力 /出力

Stratix II エンコーダ オン 61 51 444

エンコーダ オフ 68 13 585

デコーダ – 55 33 447

表 1–4の注 :(1) fMAXは、カスケード接続されていないエンコーダ /デコーダ用です。(2) これらの結果は、Quartus II ソフトウェアで自動 ROM 置換機能をディセーブルして

得られたものです。この機能をイネーブルすると、MegaCore ファンクションは小さくなりますが速度も低下します。

Page 13: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 1–52007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

この MegaCoreファンクションについて

表 1–5.リソース利用および性能(Stratix III)

デバイス

パラメータ組み合わせALUT数

ロジック・レジスタ数

fMAX (MHz) (1)、(2)動作モード

レジスタ入力 /出力

Stratix III エンコーダ オン 60 51 510

エンコーダ オフ 68 13 675

デコーダ – 55 33 520

表 1–5の注 :(1) fMAXは、カスケード接続されていないエンコーダ /デコーダ用です。(2) これらの結果は、Quartus II ソフトウェアで自動 ROM 置換機能をディセーブル

して得られたものです。この機能をイネーブルすると、MegaCore ファンクションは小さくなりますが速度も低下します。

Page 14: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

1–6 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

性能

Page 15: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 2–12007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

2. 使用法

デザイン・フロー

OpenCore Plus機能を使用して 8B10Bエンコーダ/デコーダMegaCore®

ファンクションを評価するには、デザイン・フローで以下のステップを実行します。

1. 8B10Bエンコーダ /デコーダ MegaCoreファンクションを取得してインストールします。

8B10B エンコーダ / デコーダ MegaCoreファンクションは、MegaCoreIPライブラリの一部であり、Quartus® IIソフトウェアとともに配布されます。また、アルテラのウェブサイト( www.altera.co.jp)からダウンロードすることもできます。

システム要求およびインストールの手順については、アルテラ・ウェブサイトの「Quartus II Installation & Licensing for Windows」または「Quartus II Installation & Licensing for UNIX & Linux Workstations」 を参照してください。

図 2-1に、8B10Bエンコーダ /デコーダをインストールした後のディレクトリ構造を示します。ここで、<path>がインストール・ディレクトリです。Windows でのデフォルトのインストール・ディレクトリは、c:\altera\71です。UNIXおよび Linuxでは、/opt/altera/71です。

図 2-1. ディレクトリ構造

ed8b10bContains the 8B10B Encoder/Decoder MegaCore function files and documentation.

docContains the documentation for the MegaCore function.

libContains encrypted lower-level design files.

<path>

commonContains the shared components.

ipContains the MegaCore IP Library.

Installation directory

Page 16: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

2–2 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

8B10Bエンコーダ / デコーダの 演習

2. 8B10B エンコーダ / デコーダ MegaCore ファンクションのカスタム・バリエーションを作成します。

3. 選択したデザイン入力方法を使用してデザインの残りを実装します。

4. IP機能シミュレーション・モデルを使用して、デザインの動作を検証します。

IP機能シミュレーション・モデルについて詳しくは、「Quartus IIハンドブック Volume 3」の「サードパーティ・シミュレーション・ツールによるアルテラ IPのシミュレーション」の章を参照してください。

5. Quartus IIソフトウェアを使用してデザインをコンパイルします。

実行時間等に制限はありますが、OpenCore Plusプログラミング・ファイルを生成して、ハードウェアでデザインの動作を検証することもできます。

6. 8B10B エンコーダ / デコーダ MegaCore ファンクションのライセンスを購入します。

8B10Bエンコーダ /デコーダ MegaCoreファンクションのライセンスを購入した後、以下のステップを実行します。

1. ライセンスをセットアップします。

2. ボード上のアルテラ・デバイス用プログラミング・ファイルを生成します。

3. 完成したデザインを使用してアルテラ・デバイスをプログラムします。

8B10Bエンコーダ /デコーダの演習

この演習では、MegaWizard インタフェースおよび Quartus II ソフトウェアを使用した 8B10Bエンコーダ /デコーダMegaCoreファンクションの作成方法を示します。8B10Bエンコーダ /デコーダMegaCoreファンクションのカスタム・バリエーションを生成した後、それをプロジェクト全体に取り込むことができます。

この演習は以下のステップで構成されています。

■ 新規 Quartus IIプロジェクトの作成■ MegaWizard Plug-In Managerの起動■ パラメータ化■ シミュレーションのセットアップ■ ファイルの生成■ 制約の設定

Page 17: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 2–32007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

使用法

新規 Quartus IIプロジェクトの作成

New Project Wizardを使用して、Quartus IIプロジェクトを新規作成する必要があります。このウィザードでは、プロジェクトの作業ディレクトリを指定し、プロジェクト名を割り当てて、トップレベル・デザイン・エンティティを指定します。

新規プロジェクトを作成するには、以下のステップに従います。

1. Windowsスタート・メニューからプログラム > Altera > Quartus II<version>を選択して、Quartus IIソフトウェアを起動します。代わりに、Quartus II Web Edition ソフトウェアを使用することもできます。

2. New Project Wizard(Fileメニュー)を選択します。

3. New Project Wizard Introduction の Next をクリックします(イントロダクションを以前にオフにしている場合は表示されません)。

4. New Project Wizard: Directory, Name, Top-Level Entity ページで、以下の情報を入力します。

a. プロジェクトの作業ディレクトリを指定します。例えば、この演習では以下のディレクトリを使用します。

c:\altera\projects\ed8b10b_project

b. プロジェクトの名前を指定します。この演習では、プロジェクト名に 以下を使用します。

ed8b10b_example

Quartus IIソフトウェアは、プロジェクトと同じ名前のトップレベル・デザイン・エンティティが自動的に指定されます。これを変更しないでください。

5. Next をクリックしてこのページを閉じ、New Project Wizard: AddFilesページを表示します。

指定したディレクトリが存在しない場合は、そのディレクトリを作成するかどうかを確認するメッセージが表示されます。Yesをクリックして、ディレクトリを作成します。

6. Quartus II ソフトウェアをインストールしたディレクトリとは別のディレクトリに MegaCore IP ライブラリをインストールした場合、ユーザ・ライブラリを追加する必要があります。

Page 18: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

2–4 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

8B10Bエンコーダ / デコーダの 演習

a. User Librariesをクリックします。

b. Library nameボックスに <path>\ipを入力します(<path>は8B10Bエンコーダ /デコーダ MegaCoreファンクションをインストールしたディレクトリ)。

c. Addをクリックして、Quartus IIプロジェクトのパスを追加します。

d. OKをクリックして、プロジェクトにライブラリのパスを保存します。

7. Nextをクリックしてこのページを閉じ、New Project Wizard: Family& Device Settingsページを表示します。

8. New Project Wizard: Family & Device Settings ページで、Familyリストにあるターゲットのデバイス・ファミリを選択します。

9. New Project Wizard の残りのページはオプションです。Finish をクリックして、Quartus IIプロジェクトを完了します。

新しい Quartus IIプロジェクトの作成が終了しました。

MegaWizard Plug-In Managerの起動

Quartus IIソフトウェアのMegaWizard Plug-in Managerを起動するには、以下のステップを実行します。

1. MegaWizard Plug-In Manager コマンド(Tools メニュー)を選択して、MegaWizard® Plug-In Managerを起動します。MegaWizardPlug-In Managerダイアログ・ボックスが表示されます(図 2-2参照)。

MegaWizard Plug-In Manager の使用方法について詳しくは、Quartus II Helpを参照してください。

Page 19: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 2–52007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

使用法

図 2-2. MegaWizard Plug-in Manager

2. Nextをクリックし、新規のカスタム・メガファンクション・バリエーションを作成します。

3. Communications > Encoding/Decoding ディレクトリを展開して、8B10B Encoder-Decoder v7.1をクリックします。

4. この MegaCore ファンクションを使用するデバイス・ファミリを選択します(例 : Stratix II GX)。

5. デザインの出力ファイル・タイプを選択します。MegaWizardインタフェースでは VHDLと Verilog HDLをサポートしています。

6. MegaWizard Plug-In Managerに、New Project Wizardで指定したプロジェクト・パスが表示されます。MegaCore ファンクション出力ファイル<project path>\<variation name>のバリエーション名を追加します。図 2-3に、これらの設定を行った後のMegaWizard Plug-In Managerを示します。

Page 20: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

2–6 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

8B10Bエンコーダ / デコーダの 演習

図 2-3. MegaCoreファンクションの選択

7. Nextをクリックして、8B10Bエンコーダ /デコーダ MegaCoreファンクション のParameter Settingsページを表示します(図 2-4参照)。

ダイアログ・ボックス下部のNextまたは Backをクリックして、MegaWizard Plug-In Manager で表示するページを変更することができます。Parameter Settings、SimulationModel または Summary タブをクリックして、指定したページに直接移動することができます。

Page 21: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 2–72007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

使用法

図 2-4. パラメータ

パラメータ化

MegaCore ファンクションをパラメータ化するには、以下のステップに従います。

1. Encoderまたは Decoderのいずれかの動作モードを選択します。

2. Encoder を選択した場合、Register inputs/outputs チェック・ボックスをオンにして 3 サイクル・レイテンシにするか、Registerinputs/outputsチェック・ボックスをオフにして 1サイクル・レイテンシにします。

Page 22: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

2–8 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

8B10Bエンコーダ / デコーダの 演習

Decoderは、常にレジスタ付き入力および出力を持ちます。

3. EncoderまたはDecoderのいずれかの動作モードを選択します。

4. Encoder を選択した場合、Register inputs/outputs チェック・ボックスをオンにして 3 サイクル・レイテンシにするか、Registerinputs/outputsチェック・ボックスをオフにして 1サイクル・レイテンシにします。

Decoderは、常にレジスタ付き入力および出力を持ちます。

5. Next(または Simulation Model タブ)をクリックして、シミュレーション・セットアップ・ページ(図 2-5を参照)を表示します。

図 2-5. Simulation Model

Page 23: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 2–92007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

使用法

シミュレーションのセットアップ

IP機能シミュレーション・モデルは、Quartus IIソフトウェアで生成するサイクル単位の正確な VHDL または Verilog HDL モデル・ファイルです。このモデルにより、業界標準の VHDLおよび Verilog HDLシミュレータを使用した IPの高速機能シミュレーションが可能になります。

これらのモデルはシミュレーション目的にのみ使用し、合成やその他の目的には使用しないでください。これらのモデルを合成に使用すると、機能しないデザインが作成されます。

MegaCoreファンクション用の IP機能シミュレーション・モデルを生成するには、以下のステップに従います。

1. Generate Simulation Modelをオンにします。

2. Languageリストから使用する言語を指定します。

3. Next(または Summary ページ)をクリックして、Summary ページ(図 2-6を参照)を表示します。

Page 24: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

2–10 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

8B10Bエンコーダ / デコーダの 演習

図 2-6. Summaryページ

ファイルの生成

Summary ページのチェック・ボックスを使用して、指定したファイルをイネーブルまたはディセーブルすることができます。グレイのチェックマークは自動的に生成されるファイルを示し、赤色のチェックマークはオプションのファイルを示します。

いずれかの MegaWizard オプションを変更する場合は、Back をクリックして前のページを表示するか、Parameters Setting、SimulationLibraryまたは Summary Pageをクリックします。

ファイルを生成するには、以下のステップに従います。

Page 25: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 2–112007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

使用法

1. 生成するファイルをオンにします(図 2-6を参照)。

2. 指定したファイルを生成して MegaWizard Plug-in Manager を閉じるには、Finishをクリックします。

ファイル生成フェーズを完了するには、数分かかかる場合があります。

ファイルの生成が完了したら、プロジェクト・ディレクトリに移動して、ファイル <variation name>.html にある生成されたファイルのリスト(以下の表にリストされているファイル)を表示します。

表 2–1 に、生成されたファイルおよびプロジェクト・ディレクトリに存在する可能性があるその他のファイルを示します。サマリに指定されるファイルの名前とタイプは、デザインを VHDL またはVerilog HDLのいずれで作成したかによって異なります。

表 2–1.生成されるファイル(1 /2) 注 (1)

ファイル名 (2) 説明<variation name>.bsf MegaCore ファンクションのバリエーション用 QuartusII シンボ

ル・ファイル。Quartus IIブロック図エディタでこのファイルを使用できます。

<variation name>.cmp VHDLコンポーネント宣言ファイル。<variation name>.html MegaCoreファンクション・レポート・ファイル。

<variation name>.v カスタムMegaCoreファンクションの Verilog HDLトップ・レベルの記述を定義する MegaCore ファンクション・バリエーション・ファイルです。デザイン内部のこのファイルによって定義されたエンティティをインスタンスします。QuartusII ソフトウェアでのデザインのコンパイル時にこのファイルがインクルードされます。

<variation name>.vo Verilog HDL IP機能シミュレーション・モデル。

<variation namez>_bb.v MegaCore ファンクション・バリエーションの Verilog HDL ブラックボックス・ファイルです。サードパーティ製 EDA ツールを使用してデザインを合成するときにこのファイルを使用します。

<variation name>_constraints.tcl 制約の設定に使用する Toolコマンド言語(tcl)スクリプトです。

<variation name>_enc8b10b.ocp 期限付きまたはテザード・ハードウェア評価に必要な OpenCorePlusファイルです。

<variation name>_enc8b10b.v このMegaCoreファンクション・バリエーション用のVerilog HDLRTLです。

<variation name>_run_modelsim.tcl IP機能シミュレーション・モデルを使用して提供されたデモ・テストベンチの実行プロセスを自動化する Tclスクリプトです。

Page 26: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

2–12 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

8B10Bエンコーダ / デコーダの 演習

制約の設定

8B10Bエンコーダ /デコーダMegaCoreファンクション・バリエーションには、Tcl(Tool Command Language)スクリプトが含まれます。この Tclスクリプトを使用して、デザインを制約します。

Win32オペレーティング・システムで Quartus IIソフトウェアの Tclスクリプトを実行するには、以下のステップのいずれかに従います。

1. TCL Scripts(Toolsメニュー)を選択します。

2. バリエーションに適用できる Tclファイルを選択します。

<variation name>_constraints. tcl

3. Runをクリックします。

または

1. Utility_Windows(Viewメニュー)の Tcl Consoleをクリックします。

2. Tcl Consoleウィンドウで、以下を入力します。

source <variation name>_constraints.tcl

UNIX または Linux オペレーティング・システム端末で Tcl スクリプトを実行するには、以下を入力します。

cd..<project_directory>

quartus_sh -t <variation name>_constraints.tcl

<variation name>_tb.v コア用のトップ・レベル・デモ・テストベンチを備えた VerilogHDLモジュールです。

表 2–1の注 :(1) これらのファイルはバリエーションに依存し、一部のファイルは生成されないか名前が異なる場合があり

ます。(2) <variation name>は、MegaWizardインタフェースで自動的に供給されるプリフィックス・バリエーション名です。(3) デコーダ・モードを選択した場合、ファイル名は <variation name>_dec8b10bになります。

表 2–1.生成されるファイル(2 /2) 注 (1)

ファイル名 (2) 説明

Page 27: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 2–132007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

使用法

Tcl スクリプトにより適用される制約のタイプによっては、解析と合成が 2回実行される場合があります。例えば、階層から独立した制約が必要な場合、Tcl スクリプトは制約を適用する前に解析と合成を実行します。したがって、Tcl スクリプトを実行した後でフル・コンパイルを実行するときには、解析と合成が再度実行されます。

これにより、カスタムMegaCoreファンクション・バリエーションをデザインに組み込み、シミュレーション、およびコンパイルを実行することができます。

デザインのシミュレーション

生成された VHDLおよび Verilog HDL IP機能シミュレーション・モデルを使用して、デザインをシミュレーションできます。

IP機能シミュレーション・モデルについて詳しくは、「Quartus II ハンドブック Volume 3」の「サードパーティ・シミュレーション・ツールによるアルテラ IPのシミュレーション」の章を参照してください。

アルテラは、各種シミュレータおよびモデルを使用してデモンストレーション・テストベンチをコンパイルし実行するためのスクリプトを含むVerilog HDL デモンストレーション・テストベンチも提供しています。このテストベンチは、8B10B MegaCore ファンクションの通常の動作、およびデザイン内のモデルをインスタンス化する方法を実証します。デモンストレーション・テストベンチは、エラー・チェックを実行しません。

8B10B エンコーダ / デコーダ MegaCore ファンクションのシミュレーションに必要なモデルまたはライブラリの全リストについて詳しくは、デモンストレーション・テストベンチで提供される _run_modelsim.tclスクリプトを参照してください。

IP機能シミュレーション・モデルModelSim® シミュレータの IP 機能シミュレーション・モデルとともにデモンストレーション・テストベンチを使用するには、以下のステップに従います。

1. ModelSimシミュレータを起動します。

2. ModelSim File メニューから、Change Directory を使用して作業ディレクトリを 8B10Bエンコーダ /デコーダ・バリエーションを作成したディレクトリに変更します。

Page 28: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

2–14 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

デザインのコンパイル

3. ModelSim Transcriptウィンドウで、コマンド do<variation_name>_run_modelsim.tclを実行します。このコマンドは必要なライブラリを設定し、ネットリスト・ファイルをコンパイルして、テストベンチを実行します。ModelSim Transcript ウィンドウに、シミュレーションの結果を反映したテストベンチからのメッセージが表示されます。

いずれの場合も、テストベンチは Verilog HDLで記述されているため、VHDLモデルのテストベンチを実行するには、混在言語シミュレーションを実行するためのライセンスが必要になります。

アルテラでは、Quartus II ソフトウェアの自動 ROM 置換機能をディセーブルすることを推奨しています。この機能をイネーブルすると、MegaCore ファンクションは小さくなりますが速度も低下します。

デザインのコンパイル

Quartus II ソフトウェアを使用して、デザインをコンパイルすることができます。デザインのコンパイルのインストラクションについては、Quartus II Helpを参照してください。

デバイスのプログラム

デザインをコンパイルした後、ターゲットのアルテラ・デバイスをプログラムし、ハードウェアでデザインを検証します。

アルテラの無償の OpenCore Plus評価機能では、ライセンスを購入する前に、8B10Bエンコーダ /デコーダMegaCoreファンクションを評価できます。OpenCore Plus評価機能により、IP機能シミュレーション・モデルを生成し、期限付きのプログラミング・ファイを作成できます。

IP 機能シミュレーション・モデルについて詳しくは、 「Quartus II ハンドブック Volume 3 バージョン 7.1」の「サードパーティ・シミュレーション・ツールによるアルテラ IPのシミュレーション」の章を参照してください。

8B10Bエンコーダ /デコーダを使用したOpenCore Plusハードウェア評価について詳しくは、3–10ページの「OpenCore Plusタイム・アウト動作」および「AN 320: OpenCore Plus評価機能によるメガファンクションの評価」を参照してください。

Page 29: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 2–152007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

使用法

ライセンスの設定

MegaCore ファンクションを製品に組み込む場合にのみ、ライセンスを購入していただく必要があります。

8B10Bエンコーダ /デコーダのライセンス購入後は、アルテラのウェブサイト( www.altera.co.jp/licensing )からライセンス・ファイルを要求して、コンピュータにインストールできます。ライセンス・ファイルを要求すると、アルテラから電子メールで license.datファイルが送信されます。インターネットをご利用いただけないお客様は、アルテラの販売代理店にお問い合わせください。

Page 30: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

2–16 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

ライセンスの設定

Page 31: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 6.13–12007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

3. 仕様

機能の説明 MegaCore®ファンクションは、エンコーダ(ENC8B10B)およびデコーダ(DEC8B10B)で構成されています。3–3ページの図 3-2を参照してください。エンコーダは 1つの 8ビット・バイトのデータを 10ビットの伝送コードにエンコードし、デコーダは 10ビット・コードを 1つの 8ビット・バイトのデータにデコードします。図 3-1 に、双方向変換プロセスを示します。

8 つの入力ビットの名前は、A、B、C、D、E、F、G、H です。ビット A

は最下位ビット(LSB)、ビット Hは最上位ビット(MSB)です。これらのビットは、5ビット・グループ A、B、C、D、Eと、3ビット・グループ F、G、Hの 2つのグループに分割されます。

コード化されたビットの名前は、a、b、c、d、e、i、f、g、h、jです(アルファベット順ではありません)。これらのビットも、6 ビット・グループ a、b、c、d、e、iと、4ビット・グループ f、g、h、jの 2つのグループに分割されます。

図 3-1. 8b10b変換

ビット・シリアル送信では、通常 LSB が最初に送信され、MSB が最後に送信されます。

9 8 7 6 5 4 3 2 1 0

7 6 5 4 3 2 1 0

H G F E D C B A

abcdeifghj

Conversion8b10b

LSB sent firstMSB sent last

Page 32: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

3–2 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

機能の説明

ディスパリティ

ディスパリティとは、エンコードされたワードでの 1と 0の数の違いのことです。

■ 中立ディスパリティとは、1と 0の数が同数である状態を示します。■ 正のディスパリティとは、1が 0の数より多い状態を示します。■ 負のディスパリティとは、0が 1の数より多い状態を示します。

MegaCore ファンクションは、中立平均ディスパリティを維持するよう設計されています。平均ディスパリティは、シリアル・ラインの直流(DC)コンポーネントを決定します。ランニング・ディスパリティとは、エンコードされた各ワードの蓄積されたディスパリティの記録であり、エンコーダによってトラッキングされます。中立平均ディスパリティを保証するには、正のランニング・ディスパリティの後に中立または負のディスパリティが、負のランニング・ディスパリティの後に中立または正のディスパリティが続く必要があります。

以下に示すルールのいずれかが適用されると、ランニング・ディスパリティ・エラー出力(rderr)がアサートされます。

■ 現在のランニング・ディスパリティが正であり、6 ビット・グループで 0より 1の数が多い、または 111000である。

■ 現在のランニング・ディスパリティが負であり、6 ビット・グループで 1より 0の数が多い、または 000111である。

■ 6ビット・グループの後のランニング・ディスパリティが正であり、4ビット・グループで 0より 1の数が多い、または 1100である。

■ 6ビット・グループの後のランニング・ディスパリティが負であり、4ビット・グループで 1より 0の数が多い、または 1100でである。

上記のルールに基づき、rderr は無効な 10 ビット・コードに対してのみアサートされます。rderrの計算は、スペシャル・コントロール・キャラクタ・エラー(kerr)信号の計算から完全に独立しています。

有効なエンコーディングに対応するが不正なディスパリティを持つ 10ビット・コード(技術的には無効なコード)の場合、kerr信号はアサートされません。rderr のみアサートされます。

ランニング・ディスパリティについて詳しくは、「IEEE 802.3z規格」の36.2.4.4を参照してください。

Page 33: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 3–32007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

仕様

GFP

8B10Bエンコーダ/デコーダMegaCoreファンクションは、GFP(GenericFraming Procedure)アプリケーション内で使用できます。3–3ページの図 3-2の例を参照してください。

図 3-2. 8B10Bエンコーダ /デコーダ GFPの一般的なアプリケーション

デコーダは、転送ネットワークに進入する際に、不正なコードワードまたはランニング・ディスパリティ・エラーのある不正なコードワードなど、認識されていないコードワードを受信すると、それぞれ kerrまたは rderr信号をアサートします。これらのエラー信号をアサートすることで、デコーダは無効なコードワードを受信したことをマッパに通知し、マッパはスペシャル・コントロール・キャラクタ 10B_ERR コードを生成します。さらに、マッパはデータを転送ネットワークに送信する前に、8B/10Bコードワードを 64B/65Bコードワードに再マッピングします。

デマッパは、転送ネットワークから退出する際に 64B/65Bコードワードをデコードし、8B/10Bエンコーダに送出します。エンコーダは、10B_ERRコードを受信すると、ランニング・ディスパリティに応じて、中立ディスパリティを持つ 2 つの不正な 10 ビット・コードワード(001111 0001(RD-)または 110000 1110(RD+))のいずれかを送出します。

キャラクタ・コード

256個のデータ・キャラクタに加え、8b/10bコードはスペシャル・コントロール・キャラクタとも呼ばれる 13個の制限インジケータを定義します。256 個のデータ・キャラクタの名前は、Dx.y、スペシャル・コントロール・キャラクタの名前は、スペシャル・コード 10B_ERR を除いてKx.yです(3–4ページの表 3–1参照)。xの値は、5ビット・グループに対応し、yの値は 3ビット・グループに対応しています。

例えば、スペシャル・コントロール・キャラクタは、データがアイドル、テスト・データ、またはデータ・デリミタのいずれかを示します。エンコードされたキャラクタのビットがシリアルに送信されるアプリケー

(64B/65B Encoded)

Transport Network

GFP Data Stream

DemapperGFP

Encoder8B/10B

Decoder8B/10B

MapperGFP

GigabitEthernetStream

(8B/10B Encoded)

GigabitEthernetStream

(8B/10B Encoded)

Ingress Egress

Page 34: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

3–4 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

機能の説明

ションでは、通常コンマ・キャラクタ(K28.5)はアラインメントの目的に使用されます。これは、10ビット・コードが通常は診断時にのみ送信される K28.7の後を除いて、エンコードされたビット・ストリームのどこにも発生しないことが保証されているためです。

表 3–1に、MegaCoreファンクションで使用するスペシャル Kコードを示します。

エンコーダ

8 ビット・ワードをエンコードするには、8 ビットの値を datain 入力に適用し、ena入力をアサート(アクティブHigh)する必要があります。

13 個の 10 ビット・コードのいずれかを挿入すると、同等な 8 ビット・コードが datain ラインに配置され、kin 入力がアサートされます。MegaCoreファンクションはエラー・チェックを実行して、帯域外 8ビット・コードが有効であることを保証します。有効でない場合、kerr 出力がアサートされます。有効な K コードのリストについて詳しくは、表 3–1を参照してください。

表 3–1.キャラクタ・コード

10ビット・スペシャル Kコード 等価 8ビット・コードK28.0 8'b000_11100

K28.1 8'b001_11100

K28.2 8'b010_11100

K28.3 8'b011_11100

K28.4 8'b100_11100

K28.5 (1) 8'b101_11100

K28.6 8'b110_11100

K28.7 8'b111_11100

K23.7 8'b111_10111

K27.7 8'b111_11011

K29.7 8'b111_11101

K30.7 8'b111_11110

10B_ERR 8'b111_11111

表 3–1の注 :(1) K28.5 はアラインメントに使用されるカンマ・キャラクタで、IDLE コード

を表します。

Page 35: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 3–52007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

仕様

10B_ERRコードが無効なスペシャル・キャラクタであると見なされても、kerr信号はアサートされません。

idle_ins入力をアサートしても enaがアサートされない場合、アイドル(K28.5)キャラクタを自動的に挿入できます。

エンコーダは、アイドル(K28.5)コードをエンコードするのと同じ方法で無効なキャラクタをエンコードします。デコーダは無効なキャラクタをアイドル・コードとして扱います。

図 3-3に、エンコーダのブロック図を示します。

図 3-3. エンコーダ

ディスパリティ

ランニング・ディスパリティは、正または負にすることができ、これによってユーザはスペシャル再同期パターンまたはディスパリティ・エラーを挿入できます。

rdforce入力がアサートされたときは、rdinポートの値が現在のランニング・ディスパリティと見なされます。rdin を 0 に設定すると、エンコーダは正または中立のディスパリティを持つエンコードされたワードを作成します。rdin を 1 に設定すると、エンコーダは負または中立のディスパリティを持つエンコードされたワードを作成します。

カスケード・エンコーディング

2つのエンコーダをカスケード接続すると、16ビット・ワードのエンコーディングが可能です。エンコーダをカスケード接続するには、最上位バイト(MSByte)エンコーダの rdcascade出力を最下位バイト(LSByte)エンコーダの rdin 入力に接続し、LSByte エンコーダの rdout 出力を

clk

reset_n

kin

ena

rdinrdcascade

rdout

valid

kerr

datain [7:0]

dataout [9:0]

rdforce

idle_ins

Page 36: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

3–6 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

機能の説明

MSByteエンコーダの rdin入力に接続します。このような接続により、適切なランニング・ディスパリティ計算が保証されます。エンコーダが、内部で生成されたランニング・ディスパリティではなく、rdin 入力の値を考慮するには、rdforce入力をアサート(アクティブ High)する必要があります。両方の ena 入力は、同時に High または Low になる必要があります。kin [1]信号は、datain[15:8]に対応し、kin[0]は、datain[7:0]に対応しています。3–6ページの図 3-4 に、カスケード・エンコーディングを実行するために接続された 2つのエンコーダを示します。

エンコードされたワードをシリアルに送信する場合、エンコーディングdatain[15:8]の結果を最初に送信する必要があります。

図 3-4. カスケード・エンコーディング 注 (1)

図 3-4の注 :(1) ena、idle_ins、および rdforceの各信号は、High(ロジック 1)に設定されます。

clk

reset_n

rdout

valid

kerr

clk

reset_n

rdcascade

valid

kerr

rdout

rdin

dataout [9:0]

rdcascade

rdin

[1:0]kin

[15:0]datain

ena

rdforce

ena

rdforce

datain [7:0]

datain [15:8]

dataout [9:0]kin [0]

kin [1]

idle_ins

idle_ins

Page 37: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 3–72007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

仕様

レイテンシのエンコーディング

register inputs/outputsパラメータをオンにすると、エンコーダがパイプライン化されます。これにより、3 クロック・サイクルでキャラクタをエンコードできます。n の立ち上がりエッジでエンコーダによりサンプリングされたdatainおよびkinの値に対応するエンコード値は、n+2 の立ち上がりエッジの直後に出力され、クロック・サイクルn+3の立ち上がりエッジでのサンプリングに使用できます。(3–8ページの図 3-5参照)。

register inputs/outputsパラメータをオフにすると、エンコーダが 1キャラクタをエンコードするのに 1クロック・サイクルを要します。立ち上がりエッジ nでエンコーダによってサンプリングされた datain

および kin の値に対応するエンコード値は、立ち上がりエッジ n+1 の直後に出力され、クロック・サイクル n+2の立ち上がりエッジでのサンプリングに使用できます。(3–8ページの図 3-6参照)。

カスケード・エンコーディングをイネーブルするために、rdforceおよび rdin 入力で供給されるデータ・パスはパイプライン化されません。rdforceおよび rdinは、通常カスケード・コンフィギュレーションでのみ使用されるため、問題ありません。

rdforceおよび rdin入力を非カスケード・コンフィギュレーションに使用する場合、対応する datainおよび kin値に対して 2クロック・サイクル遅延しなければなりません。これは、2 個のレジスタを遅延させる各入力と直列に挿入することによって達成できます。以下の VerilogHDLコードの例は、必要な遅延レジスタの実装方法を示しています。

例 :非カスケード・アプリケーションに対する rdforceおよび rdinへの遅延の追加

// The _pre2 registers are set at the same time as datain and kin.

reg rdforce_pre2;reg rdin_pre2;

// The _pre1 registers provide an extra clock tick of delay

reg rdforce_pre1;reg rdin_pre1;always @ (posedge clk) begin

rdforce <= rdforce_pre1;

Page 38: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

3–8 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

機能の説明

rdforce_pre1 <= rdforce_pre2;rdin <= rdin_pre1;rdin_pre1 <= rdin_pre2;

end

図 3-5. エンコーダのタイミング図—3サイクル・レイテンシ

図 3-6. エンコーダのタイミング図—1サイクル・レイテンシ

clk

datain,kin,ena

a b c d e f g

a b c d

a b c d e

dataout

rdforce,rdin

n n+1 n+2 n+3

e f

f g

clk

datain,kin,ena

a b c d e f g

a b c d

a b c d e

dataout

rdforce,rdin

n n+1 n+2 n+3

e f

f g

Page 39: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 3–92007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

仕様

デコーダ

データおよび識別された 10ビット・スペシャル Kコードは、10ビットから 8ビットに変換されます。有効な Kコードについては 3–4ページの表 3–1を、変換プロセスの図については 3–1ページの図 3-1を参照してください。

スペシャル 10 ビット K コードを受信すると、スペシャル K コードは 8ビット値に変換され、kout 信号がアサートされます。また、デコーダは無効な 10ビット・コードもチェックします。

デコーダが無効なコードを受信すると、kerr 信号をアサートし、値を任意の数値にデコードします。

エンコーダは、10B_ERRキャラクタを 10ビット・コード・エラーとしてフラグし、kerr信号をアサートします。

idle_del信号がアサートされると、K28.5のスペシャル IDLEキャラクタとして識別されるすべての 10ビット・ワードが削除されます。

レシーバがディスパリティ・エラーを検出すると、rderr信号がアサートされます。

図 3-7に、デコーダのブロック図を示します。

図 3-7. デコーダ

カスケード・デコーディング

2つのデコーダをカスケード接続して、2つのワードを同時にデコードすることができます。デコーダをカスケード接続するには、エンコーダ同様に、最初のデコーダの rdcascade 出力を 2 番目のデコーダの rdin

clk

reset_n

idle_del

ena

datain [9:0]

valid

dataout [7:0]

kout

kerr

rderr

rdin

rdforce

rdout

rdcascade

Page 40: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

3–10 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

機能の説明

入力に接続し、2番目のデコーダのrdout出力を最初のデコーダのrdin

入力に接続します。両方のデコーダの rdforce入力は、Highに接続しなければなりません。

カスケード・コーディングをイネーブルするには、rdinおよび rdforce

入力で供給されるデータ・パスはパイプライン化されません。これらの入力を非カスケード・デコーダで使用する場合、対応する datainおよび kin入力に対して 1クロック・サイクル遅延させる必要があります。

デコーディング・レイテンシ

デコーダをパイプライン化することで、1 キャラクタをデコードするのに 2クロック・サイクルを要します。立ち上がりエッジ nでデコーダによりサンプリングされた datainの値に対応するデコード値は、立ち上がりエッジ n+1 の直後に出力され、クロック・サイクル n+2 の立ち上がりエッジでのサンプリングに使用できます。(3–8 ページの図 3-6 参照)。

図 3-8. デコーダのタイミング図

OpenCore Plusタイム・アウト動作

OpenCore® Plusハードウェア評価機能は、以下の 2種類の動作モードでメガファンクションの実機評価をサポートします。

■ Untethered(アンテザード)—デザインは限定時間のみ実行されます。

clk

datain,ena

a b c d e f g

a b c d

a

dataout,kout, kerr,rdout, rderr

rdforce,rdin

e

b c d e f

n n+1 n+2 n+3

Page 41: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 3–112007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

仕様

■ Tethered(テザード)—ボードとホスト・コンピュータ間に接続が必要です。デザイン内のすべてのメガファンクションが Tetheredモードをサポートしている場合、デバイスはより長時間または無制限に動作できます。

最も限定的な評価時間に達すると、デバイス内のすべてのメガファンクションが同時にタイム・アウトします。デザイン内に複数のメガファンクションがある場合、特定のメガファンクションのタイム・アウト動作は、他のメガファンクションのタイム・アウト動作によって隠されることがあります。

MegaCore ファンクションの場合、アンテザード・タイムアウトは 1時間、テザード・タイムアウト値は無制限です。

ハードウェア評価期限経過後にデザインは動作を停止し、以下のイベントが発生します。

■ エンコーダの場合 :● ena入力信号は Lowになります(デアサートされる)。● dataout出力は k28.5パターンになります。● valid出力は Lowになります(デアサートされる)。

■ デコーダの場合 :● ena入力信号は Lowになります(デアサートされる)。● dataout出力はすべて 0に強制されます。● valid出力は Lowになります(デアサートされる)。

OpenCore Plus ハードウェア評価について詳しくは、1–3 ページの「OpenCore Plus評価機能」および「AN 320: OpenCore Plus評価機能によるメガファンクションの評価」を参照してください。

パラメータ 表 3–2 に、MegaWizard インタフェースでのみ設定可能な 8B10B エンコーダ /デコーダ・ファンクションのパラメータを示します( 2–7ページの「パラメータ化」参照)。

表 3–2. 8B10Bエンコーダ /デコーダのパラメータ

パラメータ 値Mode of operation エンコーダまたはデコーダRegister inputs/outputs オン : 3サイクル・レイテンシ

オフ : 1サイクル・レイテンシ

Page 42: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

3–12 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

信号

信号 表 3–3および 3–4に、エンコーダとデコーダの信号を示します。

表 3–3. エンコーダ信号

信号名 方向 説明clk 入力 クロック。入力がラッチされ、このクロックで結果が出力されます。入

力と出力間に 1クロック・サイクルのレイテンシが存在します。

reset_n 入力 アクティブ Low、リセット。MegaCore ファンクションのすべてのレジスタを非同期でリセットします。この信号は、clkの立ち上がりエッジに非同期でデアサートしなければなりません。

kin 入力 コマンド・バイト・インジケータ。Highのとき、入力がデータ・バイトではなくコマンド・バイトであることを示します。

ena 入力 エンコーダ信号をイネーブルします。Highのとき、datain入力に現在存在するデータがエンコードされることを示します。

idle_ins 入力 アイドル・キャラクタを挿入します。Highのとき、enaがアサートされない場合、アイドル(K28.5)キャラクタが挿入されます。

datain[7:0] 入力 データ入力。8ビットの入力ワード、データ、またはコマンドです。

rdin 入力 ランニング・ディスパリティ入力。rdforceが Highのとき、内部で生成された値ではなくこのピンの値が現在のランニング・ディスパリティとして使用されます。

rdforce 入力 ランニング・ディスパリティを強制します。High のとき、rdin の値が内部で生成されたランニング・ディスパリティよりも優先されます。

kerr 出力 スペシャル K キャラクタ・エラー。この信号は、ena および kin がHigh で、datain の値が有効なスペシャル K キャラクタでない場合、Highに設定されます。

dataout[9:0] 出力 データ出力。これは 10ビットのエンコードされた出力です。

valid 出力 有効な信号です。High のとき、dataout 出力に存在する有効なエンコードされたワードが存在することを示します。

rdout 出力 ランニング・ディスパリティ出力。現在のランニング・ディスパリティ(dataout出力のワードをエンコードした後)です。

rdcascade 出力 カスケード・ランニング・ディスパリティ。エンコーダをカスケード接続するときに使用します。

Page 43: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

Altera Corporation MegaCore Version 7.1 3–132007年 5月 8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド

仕様

表 3–4. デコーダ信号

信号名 方向 説明clk 入力 クロック。入力がラッチされ、結果がこのクロックで出力されます。入

力と出力の間に 3クロック・サイクルのレイテンシが存在します。

reset_n 入力 アクティブ Low、リセット。MegaCore ファンクションのすべてのレジスタを非同期でリセットします。この信号は、clkの立ち上がりエッジに同期してデアサートする必要があります。

idle_del 入力 アイドル削除信号。High のとき、アイドル・ワード(K28.5)がストリームから削除されます(すなわち、アイドル・ワードを受信するとvalidが Lowに設定される)。

ena 入力 デコーダ信号をイネーブルします。Highのとき、datain入力に現在存在するデータがデコードされることを示します。

datain[9:0] 入力 データ入力。これは 10ビットのエンコードされた入力ワードです。

rdin 入力 ランニング・ディスパリティ入力。rdforceが Highのとき、内部で生成された値ではなくこのピンの値が現在のランニング・ディスパリティとして使用されます。

rdforce 入力 ランニング・ディスパリティを強制します。High のとき、rdin の値が内部で生成されたランニング・ディスパリティよりも優先されます。

valid 出力 有効な信号です。この信号は、ena がアサートされ、かつ dataout

に新しい非アイドル・データが存在する場合、それが不正なコードワードの結果であってもアサートされます。不正なコードワードを受信すると、kerrもアサートされます。

enaがアサートされ、idle_delがアサートされていない場合、アイドル・キャラクタ(K28.5)に対して validがアサートされます。

dataout[7:0] 出力 データ出力。8ビットのデコードされたデータまたはコマンドです。

kout 出力 コマンド出力。Highのとき、出力がデータ・バイトではなくコマンド・バイトであることを示します。

kerr 出力 スペシャル Kエラー。無効な 10ビット・ワードを受信するか、10B_ERRキャラクタを受信すると、Highにアサートされます。

rderr 出力 ランニング・ディスパリティ・エラー。Highのとき、ランニング・ディスパリティ・ルールに違反していることを示します。

rdout 出力 ランニング・ディスパリティ出力。現在のランニング・ディスパリティ(dataout出力に存在するワードをデコードした後)です。

rdcascade 出力 カスケード・ランニング・ディスパリティ。デコーダをカスケード接続するときに使用します。

Page 44: 8B10B エンコーダ デコーダ - Intel...Altera Corporation MegaCore Version 7.1 vii 8B10B エンコーダ/ デコーダMegaCore ファンクション・ユーザガイド このユーザガイドについて

3–14 MegaCore Version 7.1 Altera Corporation8B10Bエンコーダ /デコーダ MegaCoreファンクション・ユーザガイド 2007年 5月

信号