32
2006 年度 卒業論文 Live Linux 向け brickOS および LSI 設計開発環境モジュールの構築 東海大学電子情報学部コミュニケーション工学科 3ADT2126 安藤 逸人 2007.1.31 1

Live Linux向けbrickOS LSI 設計開発環境モジュールの構築labo.nshimizu.com/thesis/b2006/3adt2126.pdf · ることがあるが, このSLAXは起動時間や反応 時間が短いことから他の1CDLinuxと比較して

Embed Size (px)

Citation preview

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

図 1: My SLAX Creator

7

図 2: My SLAX Creator ソース選択

8

図 3: My SLAX Creator 追加module選択

9

図 4: My SLAX Creator 削除module選択

10

図 5: My SLAX Creator オプション選択

11

図 6: My SLAX Creator ISO作成

12

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

図 7: SLAX起動画面

14

図 8: SLAX使用画面

15

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

図 12: 基本ディレクトリ構成

図 13: brichOS追加ディレクトリ構成

21

図 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

図 15: EDA追加ディレクトリ構成

図 16: EDA.moディレクトリ構成

26

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