広島工業大学紀要教育編 第 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
© Copyright 2025 ExpyDoc