STARC実習講座の概要 - kasahara.cs.waseda.ac.jp ·...
Transcript of STARC実習講座の概要 - kasahara.cs.waseda.ac.jp ·...
STARC 2007 実習講座
E コース
2008/12/10
コピー禁止
STARC実習講座の概要
株式会社半導体理工学研究センター
00_共_実習講座概要_081209
目次
1.講座の狙い ‥3
2.講座の特長 ‥3
3.実習講座の構成 ‥4
3.1 実習講座の構成 ‥4
3.2 実習E: アルゴリズム設計コース ‥5
4.信号処理実習講座のモチーフ ‥7
5.制御実習講座のモチーフ ・・8
6.実習講座で使用する機材 ‥9
7.実習開催の趣旨 ‥13
2
STARC実習講座の概要
1 講座の狙い
性能、コスト、開発期間など、SoC にまつわる数多くの制約条件の中で、最適な現実解を設計するための旗
振り役としての SoC アーキテクトの重要性は日に日に増している。実習講座は、これと対になって組まれてい
る講義を受講した学生に対して実施することを前提に、講義に続けて実際に設計してみることによって、理解
をより確かなものとし、さらには、システム全体を設計できる技術も習得し、SoC アーキテクトを目指したいと
の向学心を燃やしてもらうことを期待している。
・ システム仕様からボードやロボットでの動作までの設計を、
動かす楽しみを味わいながら、
チーム作業を通して模擬体験します。
・ 次のような技術を習得できます。
- 最先端のSoC(System On a Chip)設計技術を、模擬体験を通して身に着けることができます。
- 現場で製品を設計するために必要な設計工程を、模擬体験によって得ることができます。
- 共同作業と役割分担の重要性を、チーム作業を通して理解することができます。
2 講座の特長
・ 先端分野の設計モチーフを体験
- 画像や音声などを扱うディジタル機器やロボットをモチーフとしているので、自分で設計したものを操
作してその達成感を味わうことができます。
・ システム仕様から始まる設計を体験
- 要求仕様に基づき、トップダウンに設計と検査を積み重ねる訓練を行い、期間・性能・機能のバラン
スの取れた設計を体験してもらいます。
・ 最先端の業務を体験
- 実際の設計現場で利用されているツール・教材・品質管理技術を使用してもらいます。
・ チーム設計を体験
- 設計チームの一員としてコミュニケーション、リーダーシップをとり、ネゴシエーションを行いながら、
役割分担や、各専門分野にまたがる横断的な共同設計を理解してもらいます。
・ 設計分野で4つのコース
- アルゴリズム設計、システム設計、LSI 設計、組込み SW 設計の4コースを用意しており、各設計の関
係と位置づけを理解してもらいます。どのコースも共通の設計モチーフを用いるため、複数のコース
を受けることにより、理解が促進します。
3
4
3 実習講座の構成
3.1 実習講座の構成
実習講座は、システムの動作との関連を把握しながら RTL 設計を行うBコース (LSI 設計編)、HW やシステ
ムの構造を把握しながら組込みSWの開発を対象とするCコース (組込みSW設計編)、システム全体からHW、
SW を統合した設計を対象とするDコース (システム設計編)、仕様となるアルゴリズムからのシステム設計を
対象とする E コース(アルゴリズム設計編)の四つのコースから成っています。四つのコースはそれぞれ独立
した内容となっており、独立した受講が可能です。また、年間の受講数は問いません。
3.1.1 各コースの位置付け
図 1 各コースの位置付け
3.1.2 実習の基本的な流れ
要求仕様と教材を理解し、次にチーム内の役割分担、工程作成、設計仕様書の作成を行います。それらの
設計方針についてデザインレビューを行い、評価します。結果に不満足の場合は設計方針を立て直します。
次に実際の設計作業に取り掛かります。設計とPC上での検証が終わったところで再びデザインレビューを行
い、設計・検証した状況を確認します。次にボードやロボットへの実装を行い、実機評価をします。最後に、成
果発表の形式でデザインレビューを行います。各チームが他の全受講者に対して、自チームのプロジェクト
の上手く行った点、失敗した点を発表してもらい、プロジェクトの成果を売り込みます。
数人から成るチームが編成され、HW が得意な人、SW が得意な人、進行の推進役が得意な人、自分たち
の考えた仕様や設計内容を他のチームに売り込み、マーケティングを担当する人等々に役割分担してもらい、
チームの総力で完成を目指してもらいます。
STARC 2007 実習講座
E コース
2008/12/10
3.2 実習E:アルゴリズム設計コース
3.2.1 概要
・ アルゴリズムを実装する上で必要なことを学ぶ講座です。
- 講座は講義(3コマ)と実習(12コマ)から構成されています。
- 講義では、以下の二点に焦点を当てています。
アルゴリズムの機器への組み込みかた
アルゴリズムの実装の理解
- 実習は以下を中心に行います。
アルゴリズムから実装までの設計フローの体験
実機への実装及び、実機での動作確認
・ 色んな実習モチーフから一つを選んで開催します。
- 現在は、信号処理アルゴリズム(音声シフト)と制御アルゴリズム(走行制御)の実習があります。
- 講義は実習モチーフが変わっても、変更はありません。
3.2.2 趣旨
・ アルゴリズム設計や実装設計の専門分野の教育では学ぶことができない、アルゴリズム設計から実装
設計へ繋がる設計の知識を習得する。
・ 企業のプロジェクトの一員では経験できない、プロジェクト全体を見通すために必要な知識を習得する。
・ アルゴリズム設計と実装設計の間を埋める教育です。
- アルゴリズムの発明を専門としている学生に対しては、アルゴリズムを実装するためには何が必要
なのかを理解してもらう。
- LSI 設計や、ボード設計を専門としている学生に対しては、実装すべきアルゴリズムとはどういった
ものなのかを理解してもらう。
- どちらの学生にも、アルゴリズムを実装するために必要な、アルゴリズムの改変を理解してもらう。
3.2.3 受講対象者
・ LSI 設計、SoC 設計、ボード設計などの実装設計の研究を行っている学生
・ アルゴリズムを研究している各分野(信号処理、制御工学など)の学生
・ MATLAB/Simulink の基本的使用方法を習得していることが望ましい
3.2.4 習得できるスキル
・ アルゴリズムレベルから実装までの改変
3.2.5 講座内容(講義部)
・ アルゴリズムから実装までの設計フローの重要性を理解する。
・ アルゴリズムレベルの設計・検証の全体像を把握する。
・ 実装に向けたアルゴリズムの改変の内容を理解する。
・ アルゴリズムを組み込んだシステムレベルの設計にて、考慮すべきことを理解する。
00_共_実習講座概要_081209
3.2.6 講座内容(実習部) ・ 実習は 3 部構成である
- モチーフ説明
- 基礎実習:設計フローの習得
- 応用実習:設計の実体験
・ モチーフ説明では、実習で使用するアルゴリズムの、実習に必要な知識を身に付ける。
・ 基礎実習では、受講者一人一人が講義で学んだ設計フローを習得するために、テキストに従い追体験す
る。
- 一人一台用意された PC とツールを使用します。
- アルゴリズムから実装までの設計フローを追体験する
アルゴリズムの改変とアルゴリズムの性能検証
アルゴリズムをシステムに組み込んで、システムでの性能検証
・ 応用実習では、グループ単位でアルゴリズムから実装までの設計を行う。
- 各グループに用意された PC、ツール、機器を使用して作業を行う
- プロジェクトチームの一員としての作業の仕方を学ぶ
プロジェクトの管理
システムの設計・検証
プロジェクトの報告・レビュー
- 基礎実習で学んだ設計フローの活用の仕方を学ぶ
基礎実習モチーフの機器への組み込み
新アルゴリズムの仕様検討
新アルゴリズムをシステムへ組み込んでの検証
新アルゴリズムの機器への組み込み
3.2.7 実習モチーフ ・ E コースアルゴリズム設計編:信号処理アルゴリズム
- 基礎実習では周波数シフトのアルゴリズムの改変、実装
- 応用実習ではピッチシフトへのアルゴリズムの改変、実装
・ E コースアルゴリズム設計編:制御アルゴリズム
- 基礎実習では古典制御で走行距離制御アルゴリズム(1m)の改変、実装
- 応用実習では、基礎実習で作成した制御の T-Engine ボードへの組み込みと通信ロジックの実装
※今回の開催では、信号処理モチーフを使用します。
2
Eコーススケジュール:信号処理モチーフ①
※講座は5日間で行われます。
3
Eコーススケジュール:信号処理モチーフ②
※講座は5日間で行われます。
4
Eコーススケジュール:制御モチーフ①
※講座は5日間で行われます。
5
Eコーススケジュール:制御モチーフ②
※講座は5日間で行われます。
6
4 信号処理実習講座のモチーフ
図 2 サンプル・システム:DVDプレーヤ
信号処理モチーフとしてDVDプレーヤを簡単化したシステムを採用した。ただし本物のDVD(図 2 (a))では、
回路の複雑度や取り扱い速度、メディアの容量などで困難をきたすので、実習向けに大幅に簡略化した状態
のDVDもどきの再生機(図 2 (b))をモチーフとした。これを、疑似DVDプレーヤ(簡易AV再生機)と呼んでいる。
DVDプレーヤのパーツの対応を表に示す。
比較的簡単で、かつシステムとしては最新のものであり、動画や音声が出ることから実装時に達成感を得
られること、SW や HW の切り分け方やシステム設計としての仕様のあり方が、その商品の価値を大きく左右
する格好の題材であることなどから、信号処理モチーフとして選んだものである。
(a)本来のデジタル機器 (b)実習用簡易版
DVDディスク PCカード(Compact Flash)
TV LCDパネル
外付けスピーカ 外付けスピーカ
リモコン タッチパネルとスイッチ
実習用簡易版の再生仕様は以下の通り。
画像:160x120 ピクセル、24bit カラーデータを 16bit カラー表示、秒間 5 枚の Motion JPEG
音声:8kHz サンプリング、16bit モノラル/8bit ステレオ
文字:半角英数字のみ、画面に表示しきれる文字数(10 文字)
(a) 本来のデジタル機器 (b) 実習用の簡易版
パケットデータ
AV機器
SP TV SP
DVDディスク(蓄積メディア)
画像 音声 文字 デコード デコード デコード
画像 音声 文字 デコード デコード デコード
画像圧縮 MPEG2
PCカード(Comact Flash)
T-Engine評価ボード
増設SP LCD 増設SP
パケット転送エラー 擬似パケット転送エラー追加可能
画像圧縮 Motion JPEG
パケットデータ
AV
再生制御
疑似D
VD
メディア
プレーヤG
UI
実習向けに
簡略化
7
5 制御実習講座のモチーフ
制御部
制御
図3 サンプル・システム:車輪駆動ロボット
制御モチーフとして教育用車輪駆動ロボットを採用した。制御工学の実習として、実際に車体の駆動モータ
と、モータの制御を行うためのセンサを備えている。本実習では、制御理論の実装に焦点を当てるため、実装
に必要な制御以外の他のシステム(状態検出器、電流フィードバック制御器、モータドライバ回路)は予め用
意してある。
比較的簡単で、かつ実際の車体が制御されることから実装時に動くものを作る楽しみと達成感を得られる
こと、SW や HW の切り分け方やシステム設計としての仕様のあり方が、その商品の価値を大きく左右する格
好の題材であることなどから選んだものである
8
6 実習講座で使用する機材
6.1 信号処理実習講座で使用するボード
図4 実習システムの構成
図5 T-Engine実習システム(写真)
T-Engine拡張バス
ARM926EJ-S
Memory-C
SDRAM
Buff
FlashROM
32
32
CPL PCMCILCD-C
16
PCCARD
USB-H
Touch& Key
32
16 16 8
FPGA
FPGA
32
32
AC97
USB
プレーヤGUI
WideStudio
SDRAM 画像用
JPEGデコーダ
音声/文字用
PCM/Captionデコーダ
富士通MB87Q1100搭載T-Engine/ARM926-MB8
Coreボード
T-Engine/ARM926-MB8
Baseボード
T-Engine/
μT-Engine用
機能拡張FPGA開発ボード
LCDボード
音声再生 Compact Flash
ストリームコンテンツ用
外部SP
9
6.2 制御実習講座で使用するボード
PID制御
PID制PID制センサセンサ
図6 実習システムの構成
図7 e-nuvoシステム(写真)
10
6.3 実習講座で使用するツール環境 実習講座で用意するPCの中には、次のようなツールがあらかじめインストールされている。
・ ライセンス管理ツール FlexLM/GUIwrapper (Macromedia/CreDist)
・ GUI WideStudio (Freesoft)
・ 文書作成用エディタ Microsoft Office (Microsoft)
・ プログラム用エディタ 秀丸 (Shareware)
・ アルゴリズム開発ツール MATLAB/Simulink (MathWorks)
・ 仕様オーサリングツール VisualSpec (InterDesign Technologies)
・ HW/SW協調検証 CoMET (Vast Systems Technology)
・ RTLスタイルチェッカー SpyGlass (Atrenta)
・ RTLシミュレータ ModelSim (Mentor Graphics)
・ 動作合成 eXCite Pro (Y Explorations)
・ 論理合成・FPGAレイアウト ISE (Xilinx)
・ 組み込みSW統合開発環境 HEW (RENESAS)
・ フラッシュ開発ツールキット Flash Development Toolket (RENESAS)
・ RTOS T-Engine/T-Monitor (Personal Media)
・ C++コンパイラ Microsoft VisualC++ v6.0 (Microsoft)
・ gnuコンパイル環境 GNU T-Engine環境向け版 (Personal Media)
※以上のツール名及び会社名は各社の商標並びに商号です。
実習講座で使用するPCはWindows-XPのPCである(Windows 2000でも可能)。図 3に示す。
アルゴリズム設計
モデル作成(MATLAB/Simulink)
仕様設計
モデル作成(VisualSpec)
高位合成(eXCite Pro)
性能評価(CoMET)
外部モデル
図 3 上流設計に使用する各種開発ツールと設計データ・外部モデル
また、このPCをT-Engineに接続してHW/SW動作確認する状態を図 4に示す。
11
ETMコネクタ
レイアウト・ダウンロード(QuartusII)
論理合成 (Leonardo)
ターゲットHW開発環境
SW開発(T-Engine開発環境)
デバッガ(Partner-JET)
ターゲットSW開発
RTOSのデバッグコンソール用
ICE接続
gdbによるリモートデバッグ用
ICE
図 4 T-Engineに実装後、HW/SW動作確認のためICEで接続した状態
終的には、T-Engineに実装した後、PCなしでT-Engine実習システム単独にて動作させる。
12
13
7 実習開催の趣旨
7.1 実習の狙い 実習の狙い:SoCアーキテクトの育成
SoCアーキテクトとは、
1) 制約条件の中で、 適な現実解を設計できる人
2) HW/SWそれぞれの領域に踏み込んで仕様設計ができる人
である。
7.2 実習の効果 ・ システム開発者からみて魅力の高い(高性能、低コスト、高信頼)SoC を設計できるために必要な
技術と仕事の仕方がわかる人材を育てる。
・ 以下のことを大学の授業の中で行うことができる。
- 実際の業務で活用される、SoC設計技術の設計の流れを習得させる。
- 学年、学科、個人のスキルを越えた実習を行うことができる。
- 共同で一つのプロジェクトを遂行するために必要なことを理解させる。
- 設計業務の模擬体験や失敗を通して、設計作業以外にも設計品質管理やマネジメントのような
作業がプロジェクトの遂行には必要なことを理解させる。
- 失敗事例を提起し、自らその対処方法を考えさせることで、プロジェクトマネジメントを実践
させる。
7.3 実習の活用 ・ T-Engineボードという安価で標準的なボードを採用しているので、大学独自の教材等への流用が比
較的容易である。
・ T-Engine規格そのものの技術的魅力に加えて、次のようなメリットがある。
・ モチーフ動作に必要なデバイスがボードに揃っており、 PC を使わずにすむため、単独動作が可能
で実習の達成感が高い。
・ 規格仕様がオープンであり、学習向けに有効である。
・ HW環境が安価で追加購入が容易である。
・ T-Engine ボード上に開発した SW は、開発に当たって将来の移植容易性も考慮したので各社ボード
間の互換性を確保しやすく、同じ規格の代替製品の利用が容易である。
7.4 実習の実施実績 ・ 前年度までの実施実績
・早稲田大学 ・中央大学 ・慶応義塾大学
・東京工業大学 ・工学院大学 ・埼玉大学
・名古屋大学 ・立命館大学 ・熊本大学
・東北大学 ・金沢大学