live linux向けbrickos lsi...
TRANSCRIPT
2006年度 卒業論文
Live Linux向けbrickOSおよびLSI設計開発環境モジュールの構築
東海大学電子情報学部コミュニケーション工学科
3ADT2126 安藤 逸人
2007.1.31
1
目 次
1 はじめに 5
2 1CD Linux 52.1 1CDLinuxとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 SLAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 開発環境 63.1 My SLAX Creator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.2 SLAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4 module 164.1 moduleとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.2 使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.3 作成方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5 brickOS 175.1 brickOSとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175.2 クロスコンパイル環境の構築 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.2.1 binutilsとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175.2.2 binutilsのインストール手順 . . . . . . . . . . . . . . . . . . . . . . . . . . 185.2.3 gccとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185.2.4 newlibとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185.2.5 gccと newlibのインストール手順 . . . . . . . . . . . . . . . . . . . . . . . 19
5.3 brickOSのインストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.4 動作確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.4.1 ファームウェアのダウンロード . . . . . . . . . . . . . . . . . . . . . . . . 205.4.2 実行テスト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6 brickOSのモジュール化 20
7 sfl2vl 227.1 sfl2vlのインストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
8 Alliance VHDL 238.1 Alliance VHDLとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238.2 インストール手順 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
9 Icarus Verilog 239.1 Icarus Verilogとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239.2 コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249.3 出力ファイル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259.4 Icarus Verilogのインストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
10 sfl2vl,Alliance VHDL,Icarus Verilogのモジュール化 25
2
11 Verilator 2711.1 Verilatorとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2711.2 Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
11.2.1 Perlとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2711.3 Verilog-Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
11.3.1 Verilog-Perlとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2811.3.2 Verilog-Perlのインストール . . . . . . . . . . . . . . . . . . . . . . . . . . 28
11.4 SystemC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2811.4.1 SystemCとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2811.4.2 SystemCのインストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
11.5 SystemPerl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2911.5.1 SystemPerlとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2911.5.2 SystemPerlのインストール . . . . . . . . . . . . . . . . . . . . . . . . . . 29
11.6 Verilatorのインストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
12 Verilatorのモジュール化 30
13 まとめ 31
3
図 目 次
1 My SLAX Creator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 My SLAX Creator ソース選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 My SLAX Creator 追加module選択 . . . . . . . . . . . . . . . . . . . . . . . . . 94 My SLAX Creator 削除module選択 . . . . . . . . . . . . . . . . . . . . . . . . . 105 My SLAX Creator オプション選択 . . . . . . . . . . . . . . . . . . . . . . . . . . 116 My SLAX Creator ISO作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 SLAX起動画面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 SLAX使用画面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 インストール時のディレクトリ構成 . . . . . . . . . . . . . . . . . . . . . . . . . . 1610 変換時のディレクトリ構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1611 module構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1612 基本ディレクトリ構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2113 brichOS追加ディレクトリ構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2114 brichOS.moディレクトリ構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2215 EDA追加ディレクトリ構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616 EDA.moディレクトリ構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2617 Verilator追加ディレクトリ構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3018 Verilator.moディレクトリ構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4
1 はじめに
1CDLinuxの一つである SLAXで利用可能なモジュールを作成する.
• BrickOSを用いて,LEGOMINDSTORMSのプログラム開発ダウンロード可能なモジュール
• LSI設計開発環境向けに sfl2vl とAllianceVHDL,IcarusVerilog,verilatorを利用可能なモジュール
2 1CD Linux
2.1 1CDLinuxとは
1CDLinux(ワンシーディーリナックス)とは1枚のコンパクトディスクから Linuxを起動するシステムのこと. コンピュータの電源を投入した後に光学ドライブに Linuxの入ったCDを挿入して起動する.通常オペレーティングシステムを利用可能な状態にするにはハードディスクドライブへのインストール作業を必要とするが,1CDLinuxでは LinuxがCDにそのまま利用できる状態で記録されており,インストールの必要がないため,ハードディスクドライブに問題が生じても,光学ドライブが利用できれば1CDLinuxを利用できる. コンピュータを利用するに必要不可欠な装置(マザーボード,CPU,メインメモリなど)が故障していれば起動することはできない. コンピュータをLiveCDからブートする際は最初のステップでカーネルイメージ(vmlinuz)をロードします. 次にコンピュータの RAM上に 4MBの ramdiskを作成し,rootdiskイメージ(initrd.gz)は, そこに取り出され rootファイルシステムとしてマウントします. 大きなディレクトリは,CDROMから直接マウントします.最近では USBデバイスからのブートが可能なコンピュータと, 大容量かつ起動可能なUSBフラッシュメモリの登場により, フラッシュメモリから Linuxを起動することもできる.
5
2.2 SLAX
SLAXとは, 最も古くからある Linuxディストリビューションのひとつである slackwareを基にしたチェコ発の 1CDLinuxである.日本国内では, 産業技術総合研究所が日本語化を行っているDebianベースのKNOPPIXが有名だが,SLAXは slackwareの特徴を活かして,シンプルさと軽快さに特徴がある. KNOPPIXが色々な用途で使用できるように多くのアプリケーションが最初から用意されているため,現在ではCD-ROMに収まらないような巨大なサイズとなっているのに対し,SLAXはデスクトップOSとして必要十分なアプリケーションのみが用意されており,必要な機能を満たしながらコンパクトになっている. 従来の 1CDLinuxは,CD-ROMドライブの遅さから,遅いという印象を持たれることがあるが, この SLAXは起動時間や反応時間が短いことから他の 1CDLinuxと比較して軽快さが特徴である.
3 開発環境
3.1 My SLAX Creator
Windows上でMy SLAX Creatorを使用し既存の SLAX Live CDイメージ(slax-ja-5.1.8.1-3.iso)に SLAX用追加ソフトウェアとして提供されている開発モジュール(Development mod-ule 5.1.4)を追加してカスタマイズ SLAX LiveCDを作成した.
• uim-1.4.0
• anthy-8300
• kde-3.5.4
• koffice-1.5.2
• jfbterm-0.4.7
• vim-7.0.109
• lv-4.51
• espgs-8.15.3svnn185
• opfc-ModuleHP-1.1.1
6
3.2 SLAX
SLAX Live CD を CD-ROM/DVD ドライブに入れたまま起動させます. BIOS で CD-ROM/DVD ドライブが最初に起動する必要がある. ID(root)と Password(toor)を入力してログインします.login: root
password: toor
Linuxのウィンドウ環境である Xwindow sys-tem を起動します.root@slax# startx
SLAX起動中はハードディスクへの記録許可が無いため,今回はUSBメモリを使用して保存した.
13
4 module
4.1 moduleとは
SLAX用追加ソフトウェアです.多くのソフトウェアが SLAX index pageで圧縮したモジュール形式で提供されており簡単に利用することができます. さらに自分自身で作成することが可能です.
4.2 使用方法
ダウンロードまたは作成した.moモジュールを,CDまたはUSBの/modules/ディレクトリに保存することでモジュールがブートプロセス時に自動的に使用できます. また,SLAX起動状態で次のコマンドを使用することでその場でモジュールを起動することができます.
uselivemod module.mo
さらに linux live scriptsをインストールすることで自分自身のディストリビューションでも使用できます.
4.3 作成方法
Slackwareの TGZパッケージを SLAXモジュールに変換するコマンドtgz2mo application.tgz application.mo
インストールしたソフトウェアのディレクトリを SLAXモジュールに変換するコマンド
dir2mo /tmp/application application.mo
モジュールを変換作成する場合,インストールしたままのディレクトリ状態で行うとモジュール使用時にはルートディレクトリに変換したディレクトリの内容が反映される. そのため変換する際は新しいディレクトリを作成し,そこへ変換したいディレクトリをルートから見たディレクトリ状態に再現して作成を行う必要がある.
図 9: インストール時のディレクトリ構成
図 10: 変換時のディレクトリ構成
図 11: module構成
16
5 brickOS
5.1 brickOSとは
brickOSはオープンソースのオペレーティングシステムであり, CとC++プログラミング環境を Lego Mindstorms Robotics Kitsに供給します. OSを RCXにダウンロードして,コンパイルされたプログラムを RCXにダウンロードするユーティリティです. brickOSソースではを OS,デモプログラム,およびユーティリティが提供されている.
5.2 クロスコンパイル環境の構築
RCXには,日立製の H8/300Hというマイコンが載っています. x86系等のCPU用のバイナリとの互換性はないので,PC上で H8用のバイナリを作成する必要がある. そのために下記のファイルをインストールする.
• binutils-2.13.2.tar.bz2
• gcc-core-3.2.1.tar.gz
• gcc-g++-3.2.1.tar.gz
• newlib-1.11.0.tar.gz
• h8300-hms-gcc-3.1-1.patch
5.2.1 binutilsとは
binutilsとは,バイナリユーティリティのことで下記のコマンドやリンカスクリプト(リンクアドレス,セクションなどを指定する)など実行ファイルの生成や解析をサポートするソフトウェア群が含まれています.
• as(アセンブラ)
• ld(リンカ)
• nm(オブジェクトファイル中のシンボルを表示する)
• objdump(オブジェクトファイルの内容の詳細を表示する)
• objcopy(オブジェクトファイルをSレコード形式など他のフォーマットに変換する)
• strip(オブジェクトファイルからシンボル情報を削除する)
17
5.2.2 binutilsのインストール手順
ファイルを展開する.tar xfj binutils-2.13.2.tar.bz2
展開したディレクトリに移動する.cd binutils-2.13.2
作業ディレクトリ(objdir)を作成する.mkdir objdir
作成した作業ディレクトリ(objdir)に移動する.cd objdir
configureを実行してMakefileを作成する.
../configure –prefix=/usr/local/crossgcc/h8300-hms –target=h8300-hms
gmakeでmakeする.gmake all
rootで gmake installを行う.gmake install
5.2.3 gccとは
GNU(GNU Compiler Collection)プロジェクトによって提供されているコンパイラのことで, C言語,C++,Objective C,Eortranといった複数の言語をコンパイルすることが可能である.
5.2.4 newlibとは
Newlibは,米Red Hat社が運営しているオープンソースプロジェクトを集めたホームページで公開・配布されている組み込みシステム向けの小さなライブラリであり,現在は,米Red Hat社の Jeff Johnston氏とTom Fitzsimmons氏がメンテナンスをしている. 米カリフォルニア大学バークレー校,米AT& T社,米Advanced Mi-cro Devices社,米Red Hat社,米Sun Microsys-tems社,米 Hewlett Packard社,米 SuperH社,米 Intel社,FreeBSDプロジェクト,米Free Soft-ware Foundationなどが著作権を所有しており,各社・各団体がその利用を許可している. このように Newlibは各社・各団体が共同で開発したライブラリであり, ランタイムライセンスが不要であるという特徴を持っている.
18
5.2.5 gccと newlibのインストール手順
インストールした binutils が使えるように,PATHを通す.
export PATH=$PATH:/usr/local/crossgcc/h8300-hms/bin
ファイルを展開する.tar zxvf gcc-core-3.2.1.tar.gz
tar zxvf gcc-g++-3.2.1.tar.gz
tar zxvf newlib-1.11.0.tar.gz
展開した gcc-3.2.1に移動する.cd gcc-3.2.1
gccと一緒に newlibもコンパイルできるようにシンボリックリンクを張る.ln -s ../newlib-1.11.0/newlib .
パッチを当てる.patch -p1 < ../h8300-hms-gcc-3.1-1.patch
作業ディレクトリ(objdir)を作成する.mkdir objdir
作成した作業ディレクトリ(objdir)に移動する.cd objdir
configureを実行してMakefileを作成する.../configure ¥
–prefix=/usr/local/crossgcc/h8300-hms–target=h8300-hms ¥
–enable-languages=c,c++ –with-newlib
gmakeでmakeする.gmake all
rootで gmake installを行う.gmake install
5.3 brickOSのインストール
ファイルを展開する.tar zxvf brickos-0.9.0.tar.gz
展開したディレクトリに移動する.cd brickos-0.9.0
configureを実行してMaikfileを作成する../configure
configureで h8用クロスコンパイラの位置を自動で判別し設定するが, 設定できない場合に位置の書き換えが必要となる.vi Makefile.common
TOOLPREFIXを書き換える.TOOLPREFIX = /h8300-hms-
上記を下記に書き換える.TOOLPREFIX = /h8300-hms/bin/h8300-hms-
Makefile.commonの変更を保存して閉じてmakeをする.make
utilに移動する.cd util
make stripをする.make strip
make installする.make install
19
5.4 動作確認
5.4.1 ファームウェアのダウンロード
brickOSのファームウェアは,brickOSを展開したディレクトリ(/boot/brickOS.srec)にあり, これを RCXに転送します.
util/firmdl3 –tty=/dev/usb/legousbtower0boot/brickOS.srec
5.4.2 実行テスト
実行テストとして demoディレクトリ内にある helloworld.lxをRCXにダウンロードする.utill/dll demo/helloworld.lx
6 brickOSのモジュール化
/homeにディレクトリ(brickos)を作成する.mkdir brickos
cd /
brick-0.9.0ディレクトリを/home/brickos内に移動する.mv brick-0.9.0 /home/brickos
h8300-hmsディレクトリを/home/brickos内に移動する.mv h8300-hms /home/brickos
cd ../
brickosディレクトリをモジュールに変換する.dir2mo brickos brickos.mo
20
図 14: brichOS.moディレクトリ構成
7 sfl2vl
7.1 sfl2vlのインストール
sfl2vl support pageより sfl2vlbin-i386-linux-20060809.tar.gzをダウンロードする.
ファイルを rootで展開する.tar xzf sfl2vlbin-i386-linux-20060809.tar.gz -C /
22
8 Alliance VHDL
8.1 Alliance VHDLとは
Allianceは,VLSIデザインのための完全セットの無料の CADツールと携帯用ライブラリです. それは VHDLコンパイラ,シミュレータ,論理統合ツール, オートプレイス, およびルートツールを含んでいます. 完全セットの携帯用CMOSライブラリを提供します.
8.2 インストール手順
Alliance Home Pageよりalliance-5.0-20060509.tar.gzをダウンロードしてファイルを展開する.tar xzf alliance-5.0-20060509.tar.gz
環境変数を設定する.export ALLIANCE_ TOP=/alliance-5.0
configureを実行してMakefileを作成する../configure –prefix=$ALLIANCE_ TOP
gmakeで installをする.gmake install
9 Icarus Verilog
9.1 Icarus Verilogとは
Icarus VerilogはVerilogの文法を解釈しコンパイル,シミュレーションおよび合成するフリーなソフトウェアです.
23
9.2 コマンド
iverilog [下記オプションコマンド]
-B iverilogはVerilogソースファイルを前処理したりコンパイルするために,外部のプログラムを利用します.
-c file Verilogソースファイルのリストをこのフラグで指定します.他のシミュレータの「コマンドファイル」に似ています.
-C path ドライバ設定ファイルをこのフラグで選択します.通常は,/usr/lib/ivl/iverilog.conf が選択されます.このフラグは新しい設定ファイルをテストするときに役立ちます.
-D macro マクロmacroを「1」で定義します.この形は,Verilogソースファイル中の ifdef条件で利用されます.
-D macro=defn マクロmacroを defnで定義します.-E コンパイルをせずに前処理だけをします.-g1—-g2—-g3.0 生成するVerilog言語を選択します.IEEE1364-1995(1),IEEE1364-2001(2)
あるいは SystemVerilog 3.0(3.0) から選択します.-I includedir Verilogインクルードファイルを探すディレクトリを指定します.-M path コンパイルするために必要なファイルをパスで指定します.-m module ロードするVPIモジュールを指定します.-N path コンパイラのデバッグに使用されます.-o filename 出力ファイル名を指定します.-p flag=value ターゲットの特定のフラグ flagに値 valueを 指定します.-S 論理合成します.-s topmodule 最上階層のモジュールを指定します.-t target 出力ファイルの種類を指定します.
下の「出力ファイル」に示すものが選択できます.-v メッセージをより多く出力します.-V コンパイラのバージョンを表示します.-W class 警告のクラスを指定します.-y libdir ライブラリモジュールの探すパスを追加します.
24
9.3 出力ファイル
null 出力を行いません.vvp 標準の出力ファイル.vvpシミュレー
タでシミュレーションするための形式.xnf Xilinxネットリストフォーマット.fpga EDIFネットリストフォーマット.
9.4 Icarus Verilogのインストール
Icarus Verilog のホームページより verilog-0.8.3.tar.gzをダウンロードしてファイルを展開する.tar zxvf verilog-0.8.3.tar.gz
展開したディレクトリに移動する.cd verilog-0.8.3
configureでMakefileを作成する../configure
makeでコンパイルする.make
makeで installする.make install
10 sfl2vl,Alliance VHDL,Icarus
Verilogのモジュール化
sfl2vl,Alliance VHDL,Icarus Verilogの 3つをまとめて1つのモジュールを作成した. /homeにディレクトリ(EDA)を作成する.mkdir EDA
cd /
alliance-0.5ディレクトリを/home/EDA内に移動する.mv alliance-0.5/home/EDA
verilog-0.8.3ディレクトリを/home/EDA内に移動する.mv verilog-0.8.3 /home/EDA
cd ../
EDAディレクトリをモジュールに変換する.dir2mo EDA EDA.mo
25
11 Verilator
11.1 Verilatorとは
Verilatorは最も速い無料のVerilog HDLシミュレータです. C++か SystemCコードに syn-thesizable Verilog,いくつかのPSL, SystemVer-ilog,および Synthesis assertionsをコンパイルします. Verilatorをインストールのために下記のソフトウェアをインストールする.
• Perl 5.6.2
• Verilog-Perl-2.371
• Systemc-2.1.v1
• SystemPerl-1.272
• Verilator-3.632
11.2 Perl
11.2.1 Perlとは
Larry Wall氏が開発したプログラミング言語で,テキストの検索や抽出, レポート作成に向いた言語で,表記法は C言語に似ている. インタプリタ型であるため,プログラムを作成したら,コンパイルなどの処理を行なうことなく,すぐに実行することができる.subsubsectionPerlのインストールPerl.comホームページから perl-5.6.2.tar.gzをダウンロードし,展開する.tar zxvf perl-5.6.2.tar.gz
展開したディレクトリに移動する.cd perl-5.6.2
configureでMakefileを作成する.sh ./configure.gnu
makeでコンパイルする.make
正常に出来たかをテストをする.make test
インストールをする.make install
27
11.3 Verilog-Perl
11.3.1 Verilog-Perlとは
このライブラリは Perl言語における Verilogサポートのためのビルポイントとして意図されます.
11.3.2 Verilog-Perlのインストール
Verilog-Perlホームページから Verilog-Perl-2.371.tar.gzをダウンロードし,展開する.tar xvzf Verilog-Perl-2.371.tar.gz
展開したディレクトリに移動する.cd Verilog-Perl-2.371
perlスクリプトでMakefileを作成する.perl Makefile.PL
makeでコンパイルする.make
インストールする.make install
11.4 SystemC
11.4.1 SystemCとは
LSI設計のための言語の1つです. 回路の動作をハードウエア記述言語(hardware descriptionlanguage:HDL)ではなく, C++言語のクラス・ライブラリにより記述します. 100万ゲート以上といった大規模な LSIの設計・開発効率の向上が望める. SystemCでモデル化することで,システム・レベルでの性能評価やハードウエアとソフトウエアを組み合わせた機能検証を,ハードウエアの試作前に実行しやすくなる.ハードウエアの設計/検証とソフトウエアの設計/検証を並行して進めることができるようになる.
11.4.2 SystemCのインストール
SystemCホームページからSystemc-2.1.v1.tar.gzをダウンロードし,展開する.tar zxvf Systemc-2.1.v1.tar.gz
展開したディレクトリに移動する.cd Systemc-2.1.v1
作業ディレクトリ(objdir)を作成する.mkdir objdir
作成した作業ディレクトリ(objdir)に移動する.cd objdir
configureでMakefileを作成する.../configure
gmakeでコンパイルする.gmake
インストールする.gmake install
28
11.5 SystemPerl
11.5.1 SystemPerlとは
このパールライブラリは,4個の主要なサブパッケージを提供します.
• SystemC-Mode
• SystemC::Parser
• SystemC::Netlist
• sp_ preproc
11.5.2 SystemPerlのインストール
SystemPerlホームページからSystemPerl-1.272.tar.gzをダウンロードし,展開する.tar xvzf SystemPerl-1.272.tar.gz
展開したディレクトリに移動する.cd SystemPerl-1.272
perlスクリプトでMakefileを作成する.perl Makefile.PL
makeでコンパイルする.make
インストールする.make install
11.6 Verilatorのインストール
Verilatorホームページからverilator-3.632.tgzをダウンロードし,展開する.tar xvzf verilator-3.632.tgz
展開したディレクトリに移動する.cd verilator-3.632
configureでMakefileを作成する../configure
makeでコンパイルする.make
インストールする.make install
29
12 Verilatorのモジュール化
/homeにディレクトリ(Verilator)を作成する.mkdir Verilator
cd /
perl-5.6.2ディレクトリを/home/Verilator内に移動する.mv perl-5.6.2 /home/Verilator
Verilog-Perl-2.371ディレクトリを/home/Verilator内に移動する.mv Verilog-Perl-2.371 /home/Verilator
Systemc-2.1.v1ディレクトリを/home/Verilator内に移動する.mv Systemc-2.1.v1 /home/Verilator
SystemPerl-1.272ディレクトリを/home/Verilator内に移動する.mv SystemPerl-1.272 /home/Verilator
verilator-3.632ディレクトリを/home/Verilator内に移動する.mv verilator-3.632 /home/Verilator
cd ../
Verilatorディレクトリをモジュールに変換する.dir2mo Verilator Verilator.mo
図 17: Verilator追加ディレクトリ構成
図 18: Verilator.moディレクトリ構成
30
13 まとめ
今回,Live LinuxであるSLAXのモジュール作成をして今まであまり分かっていなかったLinuxのファイル展開やインストールの方法などが理解できた. SLAXでいくつかのモジュールを起動状態で使用しようとした際,ハングアップすることがあった. また,容量の大きいソフトのコンパイルでは途中で容量不足となり完了できないことがあった. SLAX起動中はハードディスクに記録ができず,作成したモジュールなどの保存したいデータは USBメモリに保存して作業していた.
31
参考文献
[1] SLAX index page http://www.slax.org/
[2] slax-ja http://hatochan.dyndns.org/slax-ja/
[3] ライブ CDの部屋 http://2.csx.jp/livecdroom/
[4] MySlax Creator http://myslax.bonsonno.org/
[5] brickOS http://brickos.sourceforge.net/
[6] The Newlib Homepage http://sources.redhat.com/newlib/
[7] sfl2vl support page http://www.ip-arch.jp/sfl2vl.html
[8] Alliance Home Page http://www-asim.lip6.fr/recherche/alliance/
[9] Icarus Verilog http://www.icarus.com/eda/verilog/
[10] Verilator http://www.veripool.com/verilator.html
[11] Perl.com http://www.perl.com/
[12] Verilog-Perl http://www.veripool.com/verilog-perl.html
[13] SystemC http://www.systemc.org/
[14] SystemPerl http://www.veripool.com/systemperl.html
32