Allianceのインストール

目的

マルチチッププロジェクト(CMP: Circuits Multi-Projetsまたはhttp://www.austriamicrosystems.com/)を利用してASICを試作してみます.集積回路(IC)を製造するファブにはhttp://www.tsmc.com.tw/japanese/default.htmもしくはMOSIS Integrated Circuit Fabrication Serviceを利用します.
ここでは上記ファブで製造可能なASICを,ふつーのノートパソコンと1人月の労力,その他の初期投資は0円,で設計する方法を紹介します.

Alliance

Alliance(SoC: soc )はVLSI設計のフリーのCADツールとポータブルなスタンダードセルなどのライブラリを提供するものです.これにはVHDLコンパイラ,シミュレータ,論理合成ツールおよび自動配置配線ツールが含まれます.パリのピエール・アンド・マリーキュリー大学のMASI研究室で開発されており,ソースコードGPLライセンスで提供されています.

cygwinにインストール

CygwinがサポートされているのでREADMEを読めばよいだけなので,ここに書く価値はない情報ですが,いちおうメモ書き.

環境

以下の環境でインストールを行いました.

cygwinのインストール

cygwinをインストールします.Allianceのコンパイルに必要な以下のツールとライブラリを追加インストールします.
インストール画面のデフォルト表示はカテゴリ別になっており,インストールしたいものを名前から探すのは大変です.選択画面の右上にある"view"ボタンを押すと,表示が名前順一覧に切り替わり,楽に探せるようになります.

Allianceのインストール

ソースコードを入手します.http://www-asim.lip6.fr/pub/alliance/distribution/5.0/からalliance-5.0-20070718.tar.gz をダウンロードします.次に以下の手順でコンパイル,インストールを行います.以下の説明の頭文字"%"はコマンド実行を意味します.シェルにはBashを使用しています.インストール・ディレクトリは /usr/local/alliance とします.

  • 適当なフォルダで,ソースコードを展開します
    • % tar xzvf alliance-5.0-20070718.tar.gz
  • alliance-5.0というフォルダに移動してコンパイルします
    • % cd alliance-5.0
    • export ALLIANCE_TOP=/usr/local/alliance (cshを使用しているならば,setenv ALLIANCE_TOP /usr/local/alliance )
    • % ./configure --prefix=$ALLIANCE_TOP
    • % make install (プロセッサ・コアがたくさんあるときは make -j 2 install など同時に実行するジョブ数を指定する)

以上でインストールまでできます.
Core2Duoなど複数のプロセッサ・コアがあるときは,"make -j 2 install"のように,makeコマンドのオプションに"-j 2"を指定すると2つのジョブを同時に実行するために,処理時間が半分程度になります.
私の環境で"make -j 3 install"を実行すると,ジョブの実行順序により処理が停止したらしく,コンパイル途中でmakeが1度停止しました.しかし再度同じオプションでmakeを実行するとインストールまで完了しました.
インストール完了までの時間はCore2Duo 1.4GHzの環境でおおよそ1時間でした.

環境変数の設定

$HOME/.bashrc に以下のパス設定をしました.

export ALLIANCE_TOP=/usr/local/alliance
export PATH=$PATH:$ALLIANCE_TOP/bin
使い方

東海大学清水研究室に詳細な資料があります.http://www.google.co.jp/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2Fshimizu-lab.dt.u-tokai.ac.jp%2Fthesis%2Fb2002%2F9jet2226.pdf&ei=wQvgSJXLDoSC7QOM3pmaBA&usg=AFQjCNH4Mi9P1eS41wPfutVMIe_Ma0aP_A&sig2=-Q2PqoRDSfgtJoefhtb_Zw
実際の作業で必要になるスタンダードセルの入手などを,このドキュメントとは別に記述してみようと思います.