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

2009年7月24日

Alliance VHDLをcoLinuxへ

Filed under: Weblog — い~ぐる @ 11:36 AM


来週は、4日間のLinux講座だが、次の週、8月に入ったら、すぐに海外で、LSIの設計講習を行うので、その準備のため、Alliance VHDLをcoLinuxへインストール中。
Alliance VHDLの構築された頃と、多少、コンパイラなどの状況が変わってきていて、1カ所パッチが必要なのと、coLinuxでディストリビューションはUbuntuにしているが、デフォルトでは必要なパッケージがなさ過ぎなので、パッケージを追加する。
追加パッケージは、
libmotif-dev, bison, byacc, tk8.4-dev, libxi-dev, libxpm-dev, libgl1-mes-dev, flex, g++
などである。ログからリストアップしているが、不足分があれば、申し訳なし。

変更箇所は、

nero/src/ADefs.h の141行目をprivateからpublicへ。

これだけあれば、
./configure –prefix=/opt/alliance
make
make install
で構築できるはず。

coLinux-7.3のubuntuは、バージョンがいくつなのか知らないが、AllianceのMLには、ubuntuのg++-4.3だとコンパイルに失敗するようなことが書いてある。coLinuxでインストールしたものは、4.0.3なので、とりあえず、g++はそのままでOK。

cofsでWindows側のパーティションを読み書きできるようにしておけば、Windowsのツールと、行ったり来たりも簡単になる。DrealやGraalでは、X11の画面が必要なので、XmingをcoLinuxと同時に立ち上げるように、ubuntu.confのコメントアウトを外す(パスも修正)。

X11の画面をWindowsに飛ばすのに、DISPLAY変数を.bashrc_profileに設定しておく。
.bashrc_profileにallianceのインストールディレクトリの alc_env.sh をsource する記述を追加。

でいいのでは?

下記の加算回路を作って、動作確認

module test {
input a<8>,b<8>;
output f<8>;
instrin ex;

instruct ex f=^a + b;
}

レイアウトの詳細チェックをする時間はないけれど、一見、できていそう(笑)。
sfl2vh, vasy, boog, ocp, nero,graalの順番で処理した結果が画像である。
ringを動かしていないので、パッドは付いてない。

このレイアウトを作成するには、以下のコマンド列を実行する。

sfl2vh test.sfl
vasy -p -a -I vhdl test
boog test
ocp test test
nero test test
graal -l test

以上で、画像のレイアウトが出る。

Powered by WordPress