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# 15254

8.1i CORE Generator - メモリ コアの COE の base-10 フォーマットでの負の数値の使用について

説明

CORE Generator の RAM\ROM 係数ファイルでは、.coe ファイルを base-10 (10 進数) フォーマットに設定した場合に負の値を使用できません。

ソリューション

CORE Generator 8.1i およびそれ以前のバージョンでは、負の値を含む COE ファイがを正しく解析できません。

この問題を回避するには、数値を 2 の補数に変換してから、その 2 の補数の 10 進数バージョンを使用します。 

 

例 : 

 

7 ビットの -10 : (2 の補数) 

 

1110110 

 

フォーマットが 2 の補数でない場合、同じ 2 進数の数値の 10 進数値は 54 になります。 

 

これは、次の数式で決定されます。

 

2*2^(N-1) + 元の値 = 変更した値 

 

これにより、正しい 2 進数フォーマットを達成するために必要な正しい 10 進数値が計算されます。

出力は 2 の補数だと仮定される場合、意図した負の 10 進数値が正しくなります。

 

次のスクリプトを使用すると、MATLAB で .coe ファイルが変換できます。

 

function out = coe_create(t) 

 

for (i=1:length(t)) 

 

if (t(i) < 0 ) 

 

t(i) = t(i) + (2* (2^11)); 

 

end 

 

end 

 

out = t; 

 

MATLAB スクリプトにより値の配列が処理され、正しい値が出力されます。

AR# 15254
日付 08/11/2014
ステータス アーカイブ
種類 一般
ツール
  • ISE Design Suite
このページをブックマークに追加