FC2カウンター FPGAの部屋 XSTでROMを推定させる書き方の問題点
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

XSTでROMを推定させる書き方の問題点

Xilinx社の論理合成ツールXSTでRAMを推定させる書き方をして、それに初期値を入れる方法を以前紹介した。(”VHDLでのブロックRAMや分散RAMの初期化(外部データファイル)”、”VHDLでのブロックRAMや分散RAMの初期化(16進数で書かれた外部データファイル”)
それらと同様の方法で、ROMを17個生成して使用していたのだが、これらを含む全体のプロジェクトの論理合成に5時間以上掛かっていた。このモジュールは多くの掛け算をLUTに割り当てるように、シフトと足し算で掛け算を行っている。そこに論理合成時間がかかっていると思っていたが、そうではなかった。これらのROMをCOREGeneratorでIPにしたところ、5時間以上の論理合成時間が3分20秒程度となった。
多くのROMやRAMを生成する場合には、論理合成ツールXSTでRAMを推定させる書き方をして、それに初期値を入れる方法をしては、今のところ、良くないという推測ができることがわかった。

ご注意ください。COREGenでIPにした方がいいみたいです。初期値も.COEファイルに直すのは簡単です。ISEのバージョンはISE11.5で確認しています。

(追加)
そういえば、Spartan-6とVirtex-6は、Xilinx社の論理合成ツールXSTでRAMを推定させる書き方をしても論理合成が早かったと思います。論理合成エンジンが違うのかな?Spartan-3系と。。。
  1. 2010年05月11日 10:44 |
  2. その他のXilinxのツールについて
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/1462-7d58117c
この記事にトラックバックする(FC2ブログユーザー)