設計教育のための Web ベースシステムの開発

広島工業大学紀要教育編
第 3巻 (
2
0
0
4
) pp.1
6
論
文
VLSI設計教育のための Webベースシステムの開発
大村道郎*・瀬尾賢治*
(平成 1
5年 9月 1
2日受理)
Developmento
faw
e
b
b
a
s
e
ds
y
s
t
e
mf
o
rVLSId
e
s
i
g
ne
d
u
c
a
t
i
o
n
MichirohOHMURAandK
e
n
j
iSEO
(
R
e
c
e
i
v
e
dS
e
p
.12,2003)
Abstract
Ing
e
n
e
r
a
l,t
h
enumbero
fVLSICADworkstationsshouldbemorethant
h
enumbero
f
s
t
u
d
e
n
t
si
nVLSId
e
s
i
g
ne
d
u
c
a
t
i
o
n
. I
nExperiments1
1o
fDepartmento
fE
l
e
c
t
r
i
c
a
landD
i
g
i
t
a
l
e
r
v
e
rands
i
xPCsa
r
eusedf
o
ras
m
a
l
lnumbero
fs
t
u
d
e
n
t
si
nag
r
o
u
p
.
SystemsEngineering,as
T
h
i
ssystemcann
o
tbeusedf
o
ral
a
r
g
enumbero
fs
t
u
d
e
n
t
si
nac
l
a
s
so
fo
t
h
e
rl
e
c
t
u
r
e
sr
e
l
a
t
e
d
o
rVLSIdesigneducationhasbeen
t
oVLSId
e
s
i
g
n
. Int
h
i
spaper,aweb-basedsystemf
d
e
v
e
l
o
p
e
di
no
r
d
e
rt
os
u
p
p
o
r
tal
a
r
g
enumbero
fs
t
u
d
e
n
t
si
nt
h
ec
l
a
s
s
e
s
. Thewebs
e
r
v
e
r
sa
r
e
l
. Byusingt
h
i
ssystem,
s
t
u
d
e
n
t
scan
c
o
n
n
e
c
t
e
dt
ot
h
eCADa
p
p
l
i
c
a
t
i
o
n
sbyCGIw
r
i
t
t
e
ni
nPer
uset
h
eVLSICADa
p
p
l
i
c
a
t
i
o
n
s仕omt
h
ePCsanywherei
nt
h
ecampus.I
ft
h
ed
e
s
i
g
n
e
df
i
l
e
sa
r
e
i
nDepartmento
fE
l
e
c
t
r
i
c
a
landD
i
g
i
t
a
l
downloadedt
ot
h
ePCsi
ntheN10・108PCroom(
SystemsE
n
g
i
n
e
e
r
i
n
g
),CPLDboardscanbeusedt
ov
e
r
i
f
yt
h
ed
e
s
i
g
n
e
dc
i
r
c
u
i
t
s
.
KeyWords:Web-based,CGI,VLSICAD,CPLD,SystemC
ーザインタフェースを設計し
1. ま え が き
2台のサーバ上で、 VLSI
CAD ツールと組み合わせることにより,学内のネットワ
一般的に V
LSI設計教育では,論理合成ツール,シミュ
ークに接続された任意の PCからライセンスの範囲内で自
LSI
レーションツール,自動レイアウトツールなどの V
LSI設計教育システムを開発した。さ
由に実習ができる V
CAD アプリケーションをインストールした専用のワーク
らに 24台の PC を備えた学科内の実験室で、は, S
amba を
ステーションを受講者数分用意する必要がある O 電気・デ
用いたウインドウズファイル共有を行い
ィジタルシステム工学科では,現在
実験ボードがそのまま共有ファイルから使うことができ
の電気工学実験 Hにおいて
3年次,通年,必修
1班 6人程度のグループに対
6台の CPLD
る2)0
0分 x 3の実験を 1テーマ 2週かけて行っている O
し 1週 9
本システムでは,まず P
e
r
l言語を用いた CGIによって,
i
I
Pを用いた FPGA設計」のテーマでは 6台の PCX 端
末を用意し,先端の V
LSICADツールをインストールし
ハードウェア記述言語の 1つである S
y
s
t
e
m
C
3
)で設計し
たアプリケーションサーバを l台使って実験を行ってい
C++コンパイラにより実行されるシミュレーション結果
た
1
)
。
をブラウザ上に表示する。さらに X ウインドウベースの
た回路をアプリケーションサーバに送信する。次に
GNU
この実験装置では 6人程度の少人数を対象とした実習は
CAD アプリケーションにより論理合成された回路図の画
出来ても,それ以上の多人数を受け入れることは出来ない。
像を VNCプロトコルを用いて,あらかじめブラウザ上に
そこで他の V
LSI設計関連科目においても利用できるシス
a
v
aアプレット内に表示する O そし
ダウンロードされた J
LSICADツールに対する Webベースのユ
テムとして, V
て得られた E
d
i
f形式のネットリストをブラウザでダウン
ホ広島工業大学工学部電気・ディジタルシステム工学科
大村道郎・瀬尾賢治
ロードする c 電気・ディジタルシステム工学科の実験室に
まず,このシステムで用いられるハードウェア記述言語,
ある 24台 の PC に ダ ウ ン ロ ー ド し た 場 合 は そ の ま ま
SystemC について説明する o VLS1設計においてハード
CPLD 設計ソフトを用いて
ウェア記述言語,とくに C++に基づく SystemC を用い
6台の CPLD実験ボードの
た回路設計が注目されている o C++言語などのシステム
うちいずれかに書き込み,動作を確認することができる O
なお,このシステムは平成 1
4年度私立大学教育研究高度
レベル言語や VHDL等のハードウェア記述言語を用いた
化推進特別補助(高等教育研究改革推進経費) I
遠隔デー
LS1設計は,以下に示す幾つかのレベルに分けて考えるこ
タ計測・解析・設計システムを利用した電気・ディジタル
とができる。
(
1) アルゴリズムレベル
システム関連教育研究」の一部として整備された。
(
z
i アルゴリズムレベル (VHDL動作記述)
まず本論文の 2章で Webベース VLS1設計教育システ
ムについて述べ,次に 3章で VLS1設計教育での利用につ
いて説明し
(C++)
(
3
)
4章でまとめを行う。
レジスタトランスファレベル (VHD
L
)
凶ゲートレベル
これまでハードウェアの設計は,主に回路図エディタを
2
. Webベ ー ス VLSI設 計 教 育 シ ス テ ム
用いてゲートレベルで回路を記述していた。しかし回路規
2
.
1 VLSI設計教育システムの基本構成
模の増大と論理合成の技術の進歩により,現在ではハード
VLS1設計教育システムの基本構成を図 Iに示す c まず
ウェア記述言語を用いた,レジスタ・トランスファレベル
ハードウェアは, Web サーバ, VNC サ ー バ , お よ び
での記述が一般的になっている O 回路の様々な最適化は論
Samba を 用 い た フ ァ イ ル サ ー バ を 備 え た 2台の VLS1
理合成ツールが自動的に行う。また,正確な動作を保証す
CAD アプリケーションサーバが,クライアントとして 2
4
るため,まず,動作記述レベルで回路を記述し,高速なシ
台の PC と 1
0
0
b
a
s
e のネットワークで接続されている。
ミュレーションによりその動作を確認した後,改めてレジ
クライアントのうち 6台には CPLD 実験ボードがダウン
スタ・トランスファレベルで記述することが望ましいとさ
ロードケーブルで接続されている。また, VLS1CAD ラ
れている O 近年の高位合成技術の進歩により,ハードウェ
イセンスサーバもネットワーク上に用意されている。なお,
ア記述言語を用いた動作記述レベルでの記述から,レジス
CPLD 実験ボード以外は,学内の任意の PC から利用可
タ・トランスファレベルへ,自動的に変換することも可能
能である。
となっている。
次 に ソ フ ト ウ ェ ア は , 高 位 ・ 論 理 合 成 (Synopsys社
一方,システム全体の設計を行うには,通常,システム
SystemC Compiler), シ ミ ュ レ ー シ ョ ン (GNUC十+
レベル言語の 1つである C++言語が用いられ, C++レベ
C
o
m
p
i
l
e
r
),スタンダードセルレイアウト (Synopsys宇
土
ルでのシミュレーシヨンにより動作の確認を行っていた。
Milkyway.Apol
!o
), CPLD設計 (
A
l
t
e
r
a社 MAX+Plus
このため,ハードウェア処理とソフトウェア処理を分割し
Iワークステーション用)のツールがワークステーション
た後,ハードウェア設計者は改めて VHDL等のハードウ
にインストールされている。また各 PC にも, CPLD 設
ェア記述言語を用い,目的のハードウェアを動作記述レベ
A
l
t
e
r
a社 MAX+PLUSI
I
) がインストールさ
計ソフト (
ル,またはレジスタ・トランスファレベルで記述しなおす
れている。
必要があった。この作業は効率がよい方法とは言い難く,
以下,システムの詳細について説明する。
様々なパグが入り込む危険性があった。
2.
2 SystemC
最近の設計の流れでは, C++言語で記述されたアルゴ
リズムレベルから,ハードウェアとソフトウェアの協調設
アプリケーションサーパ
計を考え,直接,レジスタ・トランスファレベルに変換を
Webl
:
t
ー
パ
行うことが可能となってきた。
これらのレベルは目的によって使い分けられる。例えば,
Sambaサー}¥
ライセンスサーパ
制御回路を設計するには,初めからハードウェアを意識し
たレジスタ・トランスファレベルで記述するほうが有利と
なり,大規模なシステムを設計するには C++言語を用い
たシステムレベルでの記述が不可欠となる O
本システムでは VHDL言語に加えて,この SystemC
言語での記述も可能である。
2
.
3 テンプレート
¥
'
L
S
1設計においてハードウェア記述言語で書かれた既
図 1 システムの基本構成
2
VLSI設計教育のための Webベースシステムの開発
修弘
法 猷a
・縫畿通bM"
A f
.
'
:
.
r
o
:
極
量
齢
綴喜謹器宇
多品捌岬
私
,
.
磁
路
-
事祭怒F
行~ . .
与
組
数ゆ叫
併設
守ぜ蕗鋭シ歩
図 3 設計ファイルのアップロード
図 2 授業ごとに提供されるテンプレート
存回路の雛形(以降,テンプレートと呼ぶ)を提供するこ
2
.
5 VNC+Java
とは,一般的には設計効率を大幅に上げることにつなが
設計された回路図を表示するためには,別の仕組みが必
る 九 本 学 科 の VLSI設計教育では,導入教育として,ハ
要となる。従来は PC側に X サーバを立ち上げ,アプリ
ードウェア記述言語を用いたトップダウン設計を体験する
ケーションサーバからの画像を X プロトコルで受けて表
ことを主な目的としている O また,あらかじめハードウェ
示していた。 PC 側の高価な X サーバを導入する代わり
ア記述言語の丈法を学習する時間を十分に取ることは難し
に
, X ベースの VKC プロトコルを用いた Xvnc をアプ
い。そこで授業科目に応じて, SystemCや VHDLで記述
リケーションサーバ側に用意する。さらに, VNC ビュー
されたテンプレートを,各科目に応じたウェブページから
p
p
l
e
t を Webサーバ側に用意す
ワとして機能する Javaa
提供している O
ることにより,クライアントである PC 側では, Web ブ
ラウザを用意するだけで,生成された回路固などを見るこ
図 2に
, 4年次選択「集積回路設計」のウェブページと,
とカまできる。
そこで提供されるテンプレートの例を示す。
まず,クライアントである PC 側から, Web ブラウザ
システムを利用する学生は,まず SystemC で記述され
たテンプレートを Webページからダウンロードし,テキ
を使って本システム実習ページ内の特定のリンクを聞く
ストエディタで編集することにより,あらかじめ細かい丈
すると,そこに置いである JavaAppletがブラウザにダ
法を学習しなくてもハードウェア記述言語を用いたトップ
ウンロードされる。この Appletは VNC ビューワとして
ダウン設計を体験することが可能となる。特に SystemC
機能し,サーバ側からの X ウインドウの画像を VNC プ
を用いる場合
ロトコルで受信する。まず,パスワードを入力すると, X
1年 次
2年 次 を 通 し て 実 習 を 行 う
O
C/C++言語の文法知識がそのまま役に立つ。
ウインドウのルート上に,確認のためディスプレイ番号を
2.
4 CGI
タイトル部分に表示するようにした小さな X クライアン
本システムでは, Web サーバをアプリケーションサー
X
l
o
g
o
) が起動される c
ト (
図 4に VNC ビューワとなる JavaApplet上に X ウイ
e
r
lで記述した CGI を用いてアプリケー
バ上に構築し, P
ンドウのルート画面が表示されたところを示す。なお,ル
ションを利用する。
ート画面上にはディスプレイ番号をタイトル部分に表示し
まず,設計し,記述した SystemC言語の入力ファイル
た Xlogoも表示されている c
は,関連科目のページからリンクが張られた本システム,
トップの実習ページから POSTメソッドによって CGIに
このディスプレイ番号を指定し, CGI でスクリプトを
引き渡される O 次に各アプリケーションはライセンスサー
実行すると,論理合成により生成された回路図がブラウザ
tと通信し,ライセンスの範囲内でアプリケーションを起
上に表示される c
ノ
動する O さらに,シミュレーション結果や論理合成された
さらに得られた E
d
i
f形式のネットリストは本システム
回路のネットリストは,実習のページ内のリンクをクリッ
実習ページ内の特定のリンクからブラウザでダウンロード
クすることにより,ブラウザでダウンロードすることがで
できる。
きる。
2
.
6 CPLD
図 3にブラウザから設計ファイルをサーバにアップロー
CPLD というのは, Complex Programmable Logic
Device の略で,複数の基本ロジックから構成される,何
ドするところを示す。
3
大村道郎・瀬尾賢治
図4
J
a
v
aA
p
p
l
e
t内の Xウインドウ
図5
S
y
s
t
e
m
Cでソースファイルを記述する。完成したソース
e
r
l言語で記述された C
G
Iの POSTメソッ
ファイルは P
度でも書き換え可能なデバイスである C 小規模の基本ロジ
ックセルをチップ上に並べた
現在のところ数千
C
P
L
D~言十ソフト
FPGA タイプのものでは,
ドを使ってサーバに送信する。
数百万ゲートまで収容できるものが市
販 さ れ て い る O 何度でも書き換えができることから,
次に
C
G
Iから GNUC++コンパイラを起動してソース
V
L
S
I設計教育における実習には非常に向いている素子で
ファイルをメイクする。コンパイル時にエラーが出ればウ
あるといえる O
ェブブラウザに表示されるので,
CPLDを使うには E
d
i
f形式のネットリストから CPLD
S
y
s
t
e
m
Cのソースファ
イルを修正する。このとき 1年次必修の計算機実習
2年
設計ツールを使ってオブジェクトファイルを生成する必要
次必修の応用計算機実習で習得した C 言語の知識や,
がある O 電気・ディジタルシステム工学科の実験室にある
UNIXの操作,プログラミングの技術を用いれば,それほ
P
C
.および本システムのサーバには, CPLD設計ソフ
A
1
t
e
r
a社 MAX+PLUSI
I
)がインストールしであり,
ト(
Sambaを用いたファイルサーバが提供するウインドウズ
共 有 フ ァ イ ル を 使 っ て 任 意 の CPLD 実 験 ボ ー ド
(MAX7000デバイス)に書き込むことができる 図 5に
CPLD設計ソフトを示す。
ど抵抗なし簡単なハードウェアの設計ができる。
各
C
G
Iから S
y
n
o
p
s
y
s杜の高位・論理合成ツール
S
y
s
t
e
m
CC
o
m
p
i
l
e
rを起動し,データベースファイル,お
よび E
d
i
f形式のネットリストを生成する。合成時にエラ
そして,
ーが出た場合はブラウザに表示されるので,再びソースフ
O
ァイルを修正する。
リンクをクリックし, VNC ビ ュ ー ワ と な る J
a
v
a
A
p
p
l
e
tをダウンロードすることにより, X ウインドウの
ルート画面をビューワ内に表示する。そして C
GIから
S
y
n
o
p
s
y
s社 D
e
s
i
g
nV
i
s
i
o
nを起動してデータベースファ
3
.授業での利用
3
.
1 集積回路設計
5年度から 4年次前期選択科目として始まった集積
平成 1
6
0名程度の学生に対し, V
L
S
I設計教育の
イルを読み込み,前述の X ウインドウのルート画面上に
実習を含む講義を行っている。まず,電子回路の延長とし
生成された回路図を表示する C 図 6に X ウインドウのル
ての集積回路の基礎について講義を行った後,ハードウェ
ート画面上に生成された
ア記述言語を用いたトップダウン設計手法について,その
パターンを繰り返し点滅させる回路の回路図を示す。
流れを示し,各設計段階における設計自動化の手法を説明
E
d
i
f形式のネットリストを PCにダウンロード
A
l
t
e
r
a社の CPLD設計ソフト MAX+PLUS Iを用
いて, C
PLD に書きこむためのオブジェクトファイルに
変 換 す る 。 ま た , こ の と き , CPLD のどのピンに,
S
y
s
t
e
m
Cで記述された回路のどの信号を割り当てるかを
回路設計では,
最後に
する O さらに全員にシステムの使い方と設計する回路につ
し
,
いて説明する O その後,電気・ディジタルシステム工学科
PCからウェブブラウザで集積回路
ここでは C
PLD実験ボード上の 1
設計のページを開く
つの 7セグメント L
EDに,任意のパターンを繰り返し点
の実験室や各ゼミ室の
O
指定する G
滅させる回路を設計する O
まずこのページから,
7セグメント LEDに,任意の
実際に実験ボード上の
S
y
s
t
e
m
Cで記述したカウンタ,
CPLDに設計したオブジェクト
ファイルを書きこむが,図 7にそのときのピン割当ての様
7セグメント LEDの
およぴデコーダ回路のテンプレートをダウンロードする。
子を示す。自分の設計したとおりに
そして回路を設計し,ダウンロードしたファイルを使って
各セグメントが点滅するかどうかを確認し設計どおりの
4
VLSI設計教育のための Webベースシステムの開発
図 8 チップレイアウト
図 6 回路図の表示
図 7 ピン割当て
動作であれば実習を終了する c
本システムはソースファイルをシステムに送信できる
図 9 試作したチップ
が,同様の仕組みを用いて,ブラウザ上で講義のレポート
をバイナリファイルとしてサーバヒに送ることができる。
d
i
f形式で出力した 3 得られたネットリストはまず
を E
3
.
2 卒業研究
CPLD 設計ソフトでゲートレベルのシミュレーションを
開発したシステムの確認を兼ねて,卒業研究で
SystemC を用いた 3次元スイッチボックスルータを設計
行しヘさらに CPLD 実験ボードを用いて実際に回路を動
作させ,確認を行った。
した。ルータは 2次元の迷路法に基づき,これを 3次元に
さらにそのネットリストを S
ynopsys社:t
v
I
i
lkyway で
拡張し,さらに絶縁層を貫通するビアのコストも考慮した。
p
o
l
l
o でスタンダードセル方式のレイアウト
入力,同社 A
各配線にはソースとシンクの 2端子が与えられ,配線領域
を自動生成した。図 8に自動配レイアウトツールで合成さ
を表す 3次元立方格子内での重なりのない経路を求める。
れた最中冬的なスタンダードセルのマスクレイアウトを示す。
設計した回路では,各 3次元立方格子に 1つのセルが対
得られたマスクレイアウトを GDS I形式のファイルと
応する c X.Y方向と Z 方向ではコストが異なるため,信
して東京大学大規模集積システム設計教育研究センター 6'
号を受け取るタイミングをずらせる必要がある(詳細は丈
(以降, VDEC と呼ぶ)に送り.チップとして試作を行っ
献 5)参照)。
た。試作したチップはオンセミコンダクタ製, G
v
I
O
S
.1
.2
開発した W
eb-basedSystem上で, SystemCで記述し
ミクロンルール(日本モトローラ株式会社)で,ポリシリ
c++コンパイラを用いてメ
コン 2層,メタル配線 2層.レイアウト方式はスタンダー
イクし,シミュレーションを行った。次に Synopsys社
6
.
7
8
0個トラン
ドセルを用いているこ 7.3mm角のチップに 2
SystemCC
o
m
p
i
l
e
rで論理合成し,得られたネットリスト
ジスタが集積されている,同 9に試作したチップを示す。
た回路について,まず G~1J
- 5
大村道郎・瀬尾賢治
4
.む
す
いた L
SI設計教育¥広島工業大学研究紀要, Vo135,
び
p
p
.1
7-2
3(
2
0
01
)
.
本稿では, VLSI設計教育のための Web ベースシステ
2)大村道郎,鈴木貴,古川輝雄,永田武, "SystemC と
ムの開発について,システムの詳細と授業科目での利用に
CPLD を用いた LSI設計教育システム¥平成 1
5年電
ついて述べた O 今後,さらにシステムを改良し
.2 (
2
0
0
3
)
.
気学会全国大会,第一分冊, p
e
-
.Liao,G
.Martin,andS
.Swan,
3) T
. Grotker,S
l
e
a
r
n
i
n
g と組み合わせた総合的な VLSI設計教育ができ
“
SystemDesignwithSystemC",KluwerAcademic
るシステムにすることなどがある。
謝
Pub(
2
0
0
2
)
辞
4)丸本敬幸,大村道郎,り、ードウェア設計のための
C++テンプレートライブラリ, 2
0
0
2年度電子情報通
本教育研究の一部は,平成 1
4
年度私立大学教育研究高度
遠隔デー
化推進特別補助(高等教育研究改革推進経費) I
.89 (
2
0
0
2
)
.
信学会総合大会, p
5) 市 塚 裕 之 , 河 野 裕 介 , 菅 原 隆 太 , 大 村 道 郎 ,
タ計測・解析・設計システムを利用した電気・ディジタル
,および S
ynopsys杜ユニパーシ
システム関連教育研究J
S
y
s
t
匂emC を用いた 3次元スイツチボボ、ツクスル一夕
“
ち
ティプログラムの支援を受けた。また,本チップ試作は東
日
5
年度電気.↑情青報関連学会中国支部連合大会, p
.
平成 l
京大学大規模集積システム設計教育研究センターを通しオ
6
2
5(
2
0
0
3
)
.
ンセミコンダクター欄,
日本モトローラ怖,
HOYA蜘,
6)東京大学大規模集積システム設計教育研究センター,
3年度東京大学大規模集積システム設計教育研
“平成 1
および京セラ怖の協力で行われたものである。
文
.5
6(
2
0
0
2
)
.
究センタ一年報", p
献
1)大村道郎,田中武,“広島工業大学における I
P を用
6