UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 20459

LogiCORE 2-D Discrete Cosine Transform (DCT) v2.0 - コアの GUI の出力幅が生成された HDL の出力幅よりも大きいために Java エラーが発生する理由

説明

キーワード : COREGen, CORE Generator, input, 入力

コアの GUI の出力幅が、生成された HDL の出力幅よりも大きいのはなぜですか。 これが原因で Java エラーが発生するのはなぜですか。

たとえば、次のように入力すると、コアの生成でエラーが発生します。

InputWidth = 12
ResultWidth = 30

次のようなエラー メッセージが表示されます。

"ERROR:coreutil - FATAL: Port DOUT: external net width (30) does not match the
port width (23).
ERROR:coreutil - An internal error has occurred. To resolve this error, please
consult the Answers Database at http://support.xilinx.com
ERROR:coreutil - Failure to generate output products"

ソリューション

2-D DCT の GUI には、Internal Width ではなく、Result Width の絶対最大ビット幅が表示されます。

等式は次のとおりです。
等式 1 : MAX { Internal Width } = Input Bit Width + IsInputUnsigned + Coeff Bit Width + log2(8)

等式 2 : InternalWidthSelected = MAX {Internal Width } , for full precision

等式 3 : MAX { Result Width } = InternalWidthSelected + Coeff Bit Width + log2(8)

この場合、
MAX { x } = 変数 x の最大値を算出する関数
IsInputUnsigned = 入力が符号なしと指定されている場合は 1 で、それ以外は 0 となる。
InternalWidthSelected = 内部幅を定義する変数 (この値は、等式 1 で返される値と同じか、それ以下です。)

例 :
Input Width = 8
Coeff Width = 8
Input = Signed
MAX { Internal Width } = 8 + 0 + 8 + 3 = 19

[Precision] を [Truncate/Round] にします。
内部幅 (internal width) を 16 にします (この値は 19 未満にしないと、数値が赤字で表示されます)。
結果 :
MAX { Result Width } = 16 + 8 + 3 = 27

ただし、表示されるのは最大内部幅に基づいた最大の出力幅で、選択した内部幅には基づいていません。 したがって、GUI には 19 + 8 + 3 = 30 と表示されます。 この値が 28 - 29 の場合に値が赤色で表示されず、生成でエラーが発生します。
AR# 20459
日付 07/26/2007
ステータス アーカイブ
種類 一般
このページをブックマークに追加