アダルト・ヴァイオリン May the force be with you..

2009年1月27日

VHDLでのセレクタ最適化

Filed under: Weblog — い~ぐる @ 1:13 PM

VHDLは構文上、プライオリティエンコーダを含むセレクタを推奨する本が多く、サンプルで見かける例にも、whenを使った、プライオリティ付セレクタ使用例が多いので、おそらく、VHDLユーザは高速回路にあまり興味がないだろうと思っている。

Verilogユーザはスピードにクリティカルなので、SFLからVerilogに変換する場合、最適化を指示すると、AND-ORによる高速セレクタを生成していた。一方、VHDLへの変換では、先の理由から、最適化を指示しても、Verilogほどの突っ込んだ最適化はせず、推奨構文を用いて、分りやすい生成しかしてこなかった。

VHDLのユーザはあまりいないので、これで問題になることもなかったし…

ところが、自分のプロジェクトで無料のレイアウトツールとして、Allianceを使おうと思うと、高速なVHDL回路が欲しくなる。もちろん、VerilogからEDIFに変換するツールを用いて、EDIF経由でレイアウトする方法もあり、以前、テストチップ作成したときには、Verilogの合成ツールを自分で書いて対応した。

だが、EDIFレベルの論理合成をライブラリの属性を見ながら最適化するツールを作るのは、無駄な気がして、あまりメンテナスしていない。

そこで、自分のプロジェクトで使うために、sfl2vhでのセレクタ最適化が可能となるようにした。

回路実装までは試していないが、完成したとしても、今まで、VHDLユーザーには、その手のリクエストはなかったので、一般公開はしなくてもいいかも?

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress