2

OFDM システムの一部である FPGA に実装される VHDL のパイロット挿入モジュールの設計に取り組んでいます。変調コンポーネントからの 48 ワードごとに、パイロット挿入によりパイロット トーンと NULL が追加され、64 チャネル IFFT の残りのチャネルが埋められます。このシステムのストリーミング操作を実現しようとしているので、固定レイテンシで IFFT へのシリアル入力用に 64 サンプルを常に生成します。

私のアプローチは、2 ポート RAM を使用することです。1 つのポートは変調されたワードを受信し、もう 1 つのポートは IFFT への書き込みに使用します。各ポートは独立したクロックで動作し、デバイスの外側に 4/3 クロック分周器があるため、出力は入力への 48 クロックごとに 64 クロックを受け取ります。

私の質問は、これが有効な設計戦略であるかどうか、およびどのような種類の落とし穴に注意する必要があるかということです。また、これを達成する方法について誰かが別の提案をしてくれれば幸いです。

ありがとう、テクノクラティック

4

1 に答える 1

1

では、48 ロジックを駆動するクロックは、64 ロジックを駆動するクロックから派生したものですか? この場合、クロックには保証された関係があることがわかり、クロックのずれを心配する必要はありません。これにより、作業が容易になります。

RAMが必要な理由はありますか?RAM の値に順不同でアクセスできるようにする必要がありますか? 可能であればFIFOを使用することをお勧めします。これにより、作業が簡単になります。読み取り/書き込みアドレスを追跡する必要はありません。

2 つのクロック ドメインが分離されていることを確認してください。RAM または FIFO に書き込むすべてのロジックを 1 つのファイルに配置し、RAM または FIFO に読み取るすべてのロジックを別のファイルに配置することをお勧めします。RAM/FIFO は、2 つの下位レベル コンポーネントをインスタンス化する TOP レベルに存在できます。

これにより、奇妙な場所でクロック ドメインが交差していないことを確認できます。RAM/FIFO は、2 つのドメイン間の唯一のインターフェイスである必要があります。

于 2013-10-16T15:09:43.177 に答える