Alteraはインテル® Quartus® プロセッサーの以下の問題を特定しています。® Stratix向け II 9.0SP1® IV トランシーバー 基本 (PMA Direct) モード構成。
1. ハードウェアにおけるtx_clkout周波数は、チャネル幅が 16 ビットまたは 20 ビットの場合に想定される値の 2 倍です (PMA Direct xN 構成にのみ適用)
2. チャネル幅が 16 ビットの場合、トランスミッターとレシーバー側のトランシーバー FPGA・ファブリック・インターフェイス設定でビット設定が正しく行われず、ビットエラーが発生する。
3. ソフトウェアのタイミングモデルは暫定的なものであり、ベーシック (PMA Direct) モード構成を使用しているデザインではタイミング違反になる可能性があります。
回避策 1 と 2 を回避するには、Quartus® II ソフトウェア 9.0SP1 バージョンの以下のリンクからパッチをインストールし、デザインを再コンパイルしてください。
http://www.altera.com/patches/quartus/90sp1/pc_quartus_ii_90sp1_sivgx_patch_1_25.zip
http://www.altera.com/patches/quartus/90sp1/linux_quartus_ii_90sp1_sivgx_patch_1_25.tar
Linux readme.txt -http://www.altera.com/patches/quartus/90sp1/linux_quartus_ii_90sp1_sivgx_patch_1_25.txt
問題 3 を回避するには、以下に記載されているデザインガイドラインとタイミング制約に従ってください。
デザイン・ガイドライン
a) レシーバー FPGA・ファブリック・インターフェイスのセットアップおよびホールドタイム要件を満たすために、
リカバリーされたクロックの正のエッジ (rx_clkout) を使用して受信並列データ (rx_dataout) をキャプチャーし、SDC ファイルに次のマルチサイクル制約を追加します。
set_multicycle_path -setup -from [get_registers rx_data_reg*] 0
set_multicycle_path -hold -from [get_registers rx_data_reg*] 0
rx_data_regは、FPGA コアの RX PMA のrx_dataoutポートから RX データを取得するために使用されるレジスターです。
この手順を使用したコンパイル済みデザインにタイミング違反が表示されている場合 (トランシーバーのデータレートとロジック使用率に依存)、rx_clkoutの負のエッジを使用して受信並列データをクロックし、SDC ファイルから上記のマルチサイクル制約を削除します。
b) FPGA・ファブリック- トランスミッター・インターフェイスのセットアップおよびホールド時間要件を満たすために、
アプリノートを参照してください AN580 - ベーシック (PMA Direct) モードでタイミング・クロージャーを実現
タイミング制約: SDC ファイルにこれらの制約を追加するのは、9.0SP1 を使用する場合のみです。Quartus® II 9.0SP2 バージョンにアップグレードする場合は、これらの制約を取り除きます。
設定pma_direct_variation
foreach_in_collection rxpma_clockout_pin [get_pins -compatibility_mode
*|_alt4gxb_*|receive_pma*|クロックアウト]
{
set rxpma_clockout [get_pin_info -name]
regsub "(.*|_alt4gxb_.*|receive_pma\d |)(クロックアウト)" "\1deserclock[0]" rxpma_clocksrc
create_generated_clock -source -master_clock -name
set_clock_uncertainty -hold -from -to 1.0
}
を PMA Direct ALTGX モジュールの名前で置き換えます。