101 Innovation Drive San Jose, CA 95134 (408) 544-7000 www.altera.com
8B10B エンコーダ / デコーダ
MegaCore ファンクション・ユーザガイド
MegaCore バージョン : 7.1 ドキュメント・デート : 2007 年 5 月Copyright © 2007 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device designations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service 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 warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the
application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera Corporation. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
Contents
このユーザガイドについて
改訂履歴 ... v アルテラへのお問い合わせ ... vi 表記規則 ... vii第1章 この MegaCore ファンクションについて
リリース情報 ... 1–1 サポートされるデバイス・ファミリ ... 1–1 機能 ... 1–2 概要 ... 1–2 OpenCore Plus 評価機能 ... 1–3 性能 ... 1–3第2章 使用法
デザイン・フロー ... 2–1 8B10B エンコーダ / デコーダの演習 ... 2–2 新規 Quartus II プロジェクトの作成 ... 2–3 MegaWizard Plug-In Manager の起動 ... 2–4 パラメータ化 ... 2–7 シミュレーションのセットアップ ... 2–9 ファイルの生成 ... 2–10 制約の設定 ... 2–12 デザインのシミュレーション ... 2–13 IP 機能シミュレーション・モデル ... 2–13 デザインのコンパイル ... 2–14 デバイスのプログラム ... 2–14 ライセンスの設定 ... 2–14第3章 仕様
機能の説明 ... 3–1 ディスパリティ ... 3–2 GFP(Generic Framing Procedure)... 3–3 キャラクタ・コード ... 3–3 エンコーダ ... 3–4 デコーダ ... 3–9 OpenCore Plus タイム・アウト動作 ... 3–10 パラメータ ... 3–11 信号 ... 3–12このユーザ
ガイドについて
改訂履歴
以下の表にこのユーザガイドの章の改訂履歴を示します。 章 日付 バージョン 変更内容 すべて 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 機能シミュレーションモデル情報を追加。アルテラへのお問い合わせ
アルテラへの
お問い合わせ
ア ル テ ラ 製 品 に 関 す る 最 新 情 報 は、ア ル テ ラ の ウ ェ ブ サ イ ト、 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 タイム・アウト動作の説明を追加。 ● パラメータの説明(表)を追加。 ● 信号の表を更新。 章 日付 バージョン 変更内容
このユーザガイドについて
表記規則
本書では、以下の表記規則を使用しています。 書体 意味 太字かつ文頭が大文字 コマンド名、ダイアログ・ボックス・タイトル、チェックボックス・オプショ ン、およびダイアログ・ボックス・オプションは、太字かつ文頭が大文字で表 記されています。例 : 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. など 手順など項目の順序が重要なものは、番号が付けられリスト形式で表記されて います。 ■ ● • 箇条書きの黒点などは、項目の順序が重要ではないものに付いています。 9 チェックマークは、1 ステップしかない手順を表します。 指差しマークは、要注意箇所を表しています。 CAUTION マークは、特別な配慮および理解が必要であり、手順またはプロセ スを始める前、または続ける際に確認すべき情報を示しています。 注意マークは、手順またはプロセスを始める前、または続ける際に確認すべき 情報を示しています。 矢印は、Enter キーを押すことを示しています。 足跡マークは、詳細情報の参照先を示しています。
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 フル・サポート特長
特長
■ 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 Recommendation
G.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) デバイス・ファミリ サポートの種類この 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)
性能
表 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 ファンクションは小 さくなりますが速度も低下します。
この 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 ファンクショ ンは小さくなりますが速度も低下します。
2. 使用法
デザイン・
フロー
OpenCore Plus 機能を使用して 8B10B エンコーダ / デコーダ MegaCore®
ファンクションを評価するには、デザイン・フローで以下のステップを 実行します。 1. 8B10B エンコーダ / デコーダ MegaCore ファンクションを取得して インストールします。 8B10B エンコーダ / デコーダ MegaCore ファンクションは、MegaCore IP ライブラリの一部であり、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. ディレクトリ構造
ed8b10b
Contains the 8B10B Encoder/Decoder MegaCore function files and documentation. doc
Contains the documentation for the MegaCore function. lib
Contains encrypted lower-level design files.
<path>
common
Contains the shared components. ip
Contains the MegaCore IP Library. Installation directory
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 の起動
■ パラメータ化
■ シミュレーションのセットアップ
■ ファイルの生成
使用法
新規 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: Add
Files ページを表示します。 指定したディレクトリが存在しない場合は、そのディレク トリを作成するかどうかを確認するメッセージが表示され ます。Yes をクリックして、ディレクトリを作成します。 6. Quartus II ソフトウェアをインストールしたディレクトリとは別のディ レクトリに MegaCore IP ライブラリをインストールした場合、ユー
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 を起動します。MegaWizard
Plug-In Manager ダイアログ・ボックスが表示されます(図 2-2参
照)。
MegaWizard Plug-In Manager の使用方法について詳しく は、Quartus II Help を参照してください。
使用法
図 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
8B10B エンコーダ / デコーダの 演習
図 2-3. MegaCore ファンクションの選択
7. Next をクリックして、8B10B エンコーダ / デコーダ MegaCore ファ
ンクション のParameter Settingsページを表示します(図 2-4参照)。
ダイアログ・ボックス下部の Next または Back をクリック して、MegaWizard Plug-In Manager で表示するページを 変更することができます。Parameter Settings、Simulation Model または Summary タブをクリックして、指定した ページに直接移動することができます。
使用法 図 2-4. パラメータ
パラメータ化
MegaCore ファンクションをパラメータ化するには、以下のステップに 従います。 1. Encoder または Decoder のいずれかの動作モードを選択します。2. Encoder を選択した場合、Register inputs/outputs チェック・ボッ
クスをオンにして 3 サイクル・レイテンシにするか、Register
inputs/outputs チェック・ボックスをオフにして1 サイクル・レイ
8B10B エンコーダ / デコーダの 演習
Decoder は、常にレジスタ付き入力および出力を持ちます。
3. Encoder または Decoder のいずれかの動作モードを選択します。
4. Encoder を選択した場合、Register inputs/outputs チェック・ボッ
クスをオンにして 3 サイクル・レイテンシにするか、Register
inputs/outputs チェック・ボックスをオフにして1 サイクル・レイ
テンシにします。
Decoder は、常にレジスタ付き入力および出力を持ちます。
5. Next(または Simulation Model タブ)をクリックして、シミュレー
ション・セットアップ・ページ(図 2-5を参照)を表示します。
使用法
シミュレーションのセットアップ
IP 機能シミュレーション・モデルは、Quartus II ソフトウェアで生成す るサイクル単位の正確な VHDL または Verilog HDL モデル・ファイル です。このモデルにより、業界標準の VHDL および Verilog HDL シミュ レータを使用した IP の高速機能シミュレーションが可能になります。 これらのモデルはシミュレーション目的にのみ使用し、合成や その他の目的には使用しないでください。これらのモデルを合 成に使用すると、機能しないデザインが作成されます。 MegaCore ファンクション用の IP 機能シミュレーション・モデルを生成 するには、以下のステップに従います。1. Generate Simulation Model をオンにします。
2. Language リストから使用する言語を指定します。
3. Next(または Summary ページ)をクリックして、Summary ペー
8B10B エンコーダ / デコーダの 演習 図 2-6. Summary ページ
ファイルの生成
Summary ページのチェック・ボックスを使用して、指定したファイル をイネーブルまたはディセーブルすることができます。グレイのチェッ クマークは自動的に生成されるファイルを示し、赤色のチェックマーク はオプションのファイルを示します。 いずれかの MegaWizard オプションを変更する場合は、Back をクリッ ク し て 前 の ペ ー ジ を 表 示 す る か、Parameters Setting、Simulation Library または Summary Page をクリックします。使用法
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 期限付きまたはテザード・ハードウェア評価に必要な OpenCore
Plus ファイルです。
<variation name>_enc8b10b.v このMegaCoreファンクション・バリエーション用のVerilog HDL RTL です。
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 コア用のトップ・レベル・デモ・テストベンチを備えた Verilog
HDL モジュールです。
表 2–1の注 :
(1) これらのファイルはバリエーションに依存し、一部のファイルは生成されないか名前が異なる場合があり ます。
(2) <variation name>は、MegaWizardインタフェースで自動的に供給されるプリフィックス・バリエーション名です。 (3) デコーダ・モードを選択した場合、ファイル名は <variation name>_dec8b10b になります。
表 2–1. 生成されるファイル (2 / 2) 注 (1)
使用法 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 エンコーダ / デコーダ・バリエーションを作 成したディレクトリに変更します。
デザインのコンパイル
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 評価機能によるメガファンクショ
使用法
ライセンスの
設定
MegaCore ファンクションを製品に組み込む場合にのみ、ライセンスを 購入していただく必要があります。 8B10B エンコーダ / デコーダのライセンス購入後は、アルテラのウェブ サイト( www.altera.co.jp/licensing )からライセンス・ファイルを要 求して、コンピュータにインストールできます。ライセンス・ファイル を要求すると、アルテラから電子メールで license.dat ファイルが送信さ れます。インターネットをご利用いただけないお客様は、アルテラの販 売代理店にお問い合わせください。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 a b c d e i f g h j Conversion 8b10b LSB sent first MSB sent last機能の説明
ディスパリティ
ディスパリティとは、エンコードされたワードでの 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 を参照してください。仕様
GFP
8B10B エンコーダ / デコーダ MegaCore ファンクションは、GFP(Generic Framing 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 Demapper GFP Encoder 8B/10B Decoder8B/10B MapperGFP Gigabit Ethernet Stream (8B/10B Encoded) Gigabit Ethernet Stream (8B/10B Encoded) Ingress Egress機能の説明 ションでは、通常コンマ・キャラクタ(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 コード を表します。仕様 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)
clk reset_n kin ena rdin rdcascade rdout valid kerr datain [7:0] dataout [9:0] rdforce idle_ins
機能の説明
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
仕様 レイテンシのエンコーディング 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 個のレジスタを遅延させ る各入力と直列に挿入することによって達成できます。以下の Verilog HDL コードの例は、必要な遅延レジスタの実装方法を示しています。 例 : 非カスケード・アプリケーションに対する 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_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
仕様
デコーダ
データおよび識別された 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 つのワードを同時にデコードす ることができます。デコーダをカスケード接続するには、エンコーダ同 clk reset_n idle_del ena datain [9:0] valid dataout [7:0] kout kerr rderr rdin rdforce rdout rdcascade機能の説明 入力に接続し、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仕様 ■ 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 サイクル・レイテンシ信号
信号
表 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 出力 カスケード・ランニング・ディスパリティ。エンコーダをカスケード 接続するときに使用します。
仕様 表 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 出力 カスケード・ランニング・ディスパリティ。デコーダをカスケード接 続するときに使用します。