AR# 16162

LogiCORE MAC FIR v2.0 - MAC FIR コアでパラメータを指定すると、ビヘイビアおよびネットリストのシミュレーションでレポートされる DOUT ピンの結果が正しくない

説明

キーワード : Core, CORE Generator, COREGen, MAC FIR, multi-channel, simulation, コア, 複数チャネル, シミュレーション

重要度 : 標準

概要 :
MAC FIR v2.0 コアで、複数チャネル、シングル レートのフィルタの場合でのみシミュレーションで少数のエラーがレポートされます。 このエラーは Virtex および Virtex-II デバイスで発生します。Virtex デバイスでは分散 RAM がデータ バッファに使用されるとこのエラーが発生します。 また、Virtex デバイスでブロック RAM がデータ バッファに使用されると、この問題が発生する可能性があります。ただし、これは MAC FIR でブロック RAM の使用数が最適化されるときにのみ発生します。 この問題は、ブロック RAM 数が削減できる場合に発生します。ブロック RAM 数は、各チャネルのデータをデータ バッファ メモリ内の 2 バイト境界に配置せずに隣接するアドレスに配置すると削除できます。

たとえば、Virtex デバイスでフィルタに 42 タップ、 12 チャネル、14 ビット データ幅を選択した場合、1 個のブロック RAM で 256 個の 14 ビット データ サンプルを保持できるので、必要となるブロック RAM 数は最低 2 個です。 この場合、必要となる RAM のロケーションは 504 個のみです (42 タップ X 12 チャネル)。 ただし、データがバイナリ アドレスに保存される場合は、各チャネルにロケーションが 64 個必要となります。 つまり合計 768 個のロケーションがメモリに必要なため (64 タップ X 12 チャネル)、ブロック RAM は 3 個必要になります。 この場合、MAC FIR でブロック RAM の数を最適化しようとするため、シミュレーションでエラーが発生します。

このエラーは、Virtex-II デバイスではあまり発生しないようですが、ブロック RAM がデータ バッファおよび係数バッファに使用されるときには発生します。

ソリューション

この問題を回避方法は、デバイスによって異なります。次を参照してください。

Virtex デバイス
分散 RAM を選択してシミュレーションでエラーが発生した場合は、データ バッファにブロック RAM を使用します。 指定するパラメータによっては、コアでブロック RAM の数が最適化されずエラーも発生しません。

Virtex-II デバイス
係数バッファにブロック RAM ではなく分散 RAM を使用します。

この問題は、5.1i IP アップデート #2 で修正される予定です。
AR# 16162
日付 04/01/2009
ステータス アーカイブ
種類 一般