AR# 16986

|

LogiCORE 8b10b Encoder v4.0 - Virtex、ブロック RAM でコアを使用すると DOUT、DOUT_B、DISPOUT に間違った値が出力される

説明


概要 :

8b10b Encoder v4.0 を Virtex、ブロック RAM で使用していると、VHDL と Verilog の両方のビヘイビア シミュレーションで DOUT、DOUT_B、DISPOUT に間違った値が出力されます。ネットリスト シミュレーション (NGDBuild 後、マップ後、PAR 後) またはハードウェアのデザインではビヘイビア シミュレーションとは異なる結果が得られます。

ソリューション


ブロック RAM ベースの Virtex に対し 8b10b Encoder コアを生成するとき、データシートに定義されているように、コアのスタートアップ ステートはすべて 0 になります。これは Virtex のブロック RAM に制限があるからです。ビヘイビア シミュレーション モデルにはこの制限が反映されていないため、この問題が発生します。GUI または XCO で定義されているユーザー定義のステートに初期ステートが間違って設定されるのです。この問題は Virtex-II デバイスや LUT ベースの 8b10b Encoder コアでは発生しません。



回避策は 2 つあります。



GUI で [FORCE CODE] を選択します。FORCE CODE 入力を使用すると、入力が 8b に接続されていて使用されることがなくても初期スタートアップ ステートが自動的に修正されます。しかし、ザイリンクスではこの入力を同期リセットに接続することを推奨します。



2. FORCE_CODE 入力を使用したくない場合は、CORE Generator で生成されたラッパ ファイル、<component_name>.v または <component_name>.vhd で、値を次のように手動で設定します。

c_force_code_disp => 8b's,

c_force_code_disp_b => 8b's,

c_force_code_val => "0000000000",

c_force_code_val_b => "0000000000",
AR# 16986
日付 12/15/2012
ステータス アーカイブ
種類 一般
People Also Viewed