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

2006年4月23日

sfl2vhの修正

Filed under: 組込みシステム — @ 11:13 PM

O氏より、sfl2vhでVHDLに変換した結果に一部問題が発生し、うまく合成できないケースがあるとの情報をいただく。

問題点は2つである。

一つは外部端子の宣言をきちんと判定せず、内部的に保持している端子を誤って外部端子としてVHDLのentityに出力するケースがあり、不正な端子が余分に出力される場合があった。これは、外部端子の宣言であることをきちんと調査した上でentityの合成を行うように修正して対策。

もう一つはVHDLで算出演算を使うときの型変換のエラーである。私の使っているISE8.1iでは問題なく通る記述も、ISE8.1SP2では通らないらしい。
同じ環境がないと再現はできないのであるが、現象をじっと観察して、おそらく、型変換の演算オーバーライドがうまくいかないと判定。が、ISEのバージョンによって違うというのは困りものである。
結果、unsignedパッケージを新たにインポートすることで、オーバライドの状況をコンパイラに伝えることに成功。余分な型変換の呼び出しは抑止し、デフォルトの型で利用するように修正。

これで、VHDLの多くの合成系に対応できる・・・はずである。

Powered by WordPress