2005年度  SoC設計技術C−組込SW編−(STARC寄附講座)
授業計画

対象:CS3年生、電気4年、及び大学院理工学研究科(共通科目)

最新情報

2006.1.24

「SoC設計技術C(STARC寄附講座)修了証」が出来ました。柳澤研究室(55号館 N棟 6階03A室)で本日(1月24日)より配布しますので取りに
来てください。渡す際に学生証で本人確認をしますので、学生証を忘れないように注意してください。期限は特には設けませんが、早めに取りに来てください


柳澤研では「SoC設計技術B修了証」も配布しています。「SoC設計技術C修了証」を取りに来たことを明確に言ってください。「SoC設計技術B修了証」を取りに来ていない人は同時に持って行ってください。

なお、「SoC設計技術A修了証」の発行は2月下旬以降になります。



8月2日 課題を公開しました。(8/15 要パスワード(受講者の皆さんにはパスワードをメールで送信済です))

7月29日3限〜5限に定期試験がある皆さんへ:(7/28 15時更新)

7月26日(火)午後の試験が台風のために、29日の同じ時限へ移行するという延期措置がとられることになりました。延期された試験と7月29日(金)の「SoC設計技術C」の授業と重複する場合には、重なった時限だけ授業の方を公用欠席扱い(ただし、レポート課題は提出すること)にします。試験を優先させてください。試験以外の時間は授業に出席してほしいのですが、ビデオ撮影をしていますので、通常の授業時間でいう休み時間(試験期間の休み時間と異なることがある)に入退室するよう協力をお願いします。

29日は授業の間の休み時間でも、隣接の教室では試験を実施している可能性がありますので、休み時間も静かに行動するようにしましょう。

「SoC設計技術C」は内容の非常に濃い授業ですので、「SoC設計技術C」に集中する必要がありますので、授業中のPC、携帯電話等の利用を禁止します。



7月29日(金)第5時限目、第6時限目の補講について

試験が延期になったために、集中講義「SoC設計技術C」の初日の第5, 6時限目に出席できない学生が多くいるので、以下のように補講(29日の講義のビデオ上映)を行うことにしました。

 日時:2005年8月1日(月)第2時限目 10:40-12:10
 場所:52号館 302教室 (303教室ではありません。隣の部屋です)
 内容:7/29 5限 BC3章(1)風見講師(楓創研)

 日時:2005年8月2日(火)第2時限目 10:40-12:10
 場所:52号館 302教室 (303教室ではありません。隣の部屋です)
 内容:7/29 6限 CC3章(2)風見講師(楓創研)


都合のつく学生(復習したい学生を含む)は出席してください。なお、出席は取りません。自由参加にします。
SoC設計技術Cの履修について(2005/7/11)
SoC設計技術Cの科目登録希望を出された皆さんに電子メールで連絡しています。6月21日に送信した『「SoC設計技術C」受講確認のお願い』という件名のメールです。万が一、届いていない人がいましたら、soc-seminar@yanagi.comm.waseda.ac.jp まで至急連絡をください。こちらから出した電子メールに返信しない場合には、受講の意志がなくなったとみなしますので気をつけてください。なお、SoC設計技術Cの講義を多くの学生の皆さんに受講してほしいので教室を52号館303教室にしました。



2005.4.05 本科目の登録は通常の科目と同様に登録を行ってください。ただし、定員70名を超えた場合には、抽選となります。抽選となった場合には、本ページで別途お知らせします。
2005.4.05 本ページを開設

授業日程(2005年7月29日、30日、8月1日、2日の3限〜6限
+ オプション:実習(12月23日〜28日(予定))

以下に授業の進め方の目安を示します。 なお、それぞれの回の内容は多少変わる可能性があります。 また、今後、以下の内容が変更される場合もあります。 なお、実際の授業の進捗状況によって、各回の授業内容が変わることもあ りますが、その場合には、実際の授業を優先させます。 
日付 連絡事項 3限 4限 5限 6限
7月29日 C1章 星先生
「マイクロプロセッサの歴史と組込みシステム」
1.1. マイクロプセッサとマイコンの歴史
1.2. 組込みシステムとは?
1.3. 事例紹介:自動車内における組込みシステム
1.4. 組込みソフトウェア開発に必要なハードウェア知識
C2章 星先生
「組込み用OSの種類と組込み用ソフトウェアの現状」
2.1. 組込みシステムで用いられるプログラム言語と種類
2.2. 組込み用OSの種類と特徴
2.3. ミドルウェア
2.4. 肥大化、複雑化するソフトウェア
2.5. ソフトウェア資産活用のために職人芸からの脱皮 "
C3章 風見先生
「リアルタイムシステム」
3.1.リアルタイムシステムの基本概念
3.1.1.リアルタイムシステムとは
3.1.2. 並列処理とタスクスケジューリング
3.1.3.リアルタイムOSとは?
3.1.4.リアルタイムOSの導入と効果
C3章 風見先生
「リアルタイムシステム」
3.2.マルチタスク制御
3.2.1 マルチタスク機構と割込みハンドラ
3.2.1.1 マルチタスク機構
3.2.1.2 割込みハンドラ
3.2.2 マルチタスク環境
3.2.2.1.プログラム構造
3.2.2.2.速度差吸収
3.2.3 タスク間同期通信
3.2.4 メモリ管理
3.2.5.時間管理機能
7月30日 C3章 風見先生
「リアルタイムシステム」3.3  リアルタイムシステム設計への対応
3.3.1. スケジュール可能性検証
3.3.2. 優先度逆転
3.3.3. QoS制御と例外処理
3.3.3.1.  QoS制御
3.3.3.2. 例外処理 
3.3.4 RTOSを用いたソフト開発の流れ
C4章 中村先生
「リアルタイムシステムのためのソフトウェアプラットフォーム」
4.1 組込みLinux概要と実装方法
C4章 小林先生
「リアルタイムシステムのためのソフトウェアプラットフォーム」
4.2 T-Engine概要と実装方法
C5章 小林先生
「ターゲットハードウェアへの実装」
5.1. 組込みソフトウェアの実行環境
5.2. 開発フローと開発手法
5.3. 組込みソフトウェアの実装
5.4. デバイスドライバの開発
5.5. マルチタスクデバッギング
8月1日 C6章 星先生
「開発ツールと開発環境」
6.1. 開発時間を縮めるアプローチ
 製品の開発時間増大の要因
 開発時間を短縮するためのアプローチ
 開発プロセスによる開発の分類
6.2. 組込みソフトウェアの開発ツール
 組込みソフトウェアのデバッグ環境
 組込みソフトウェアの開発ツールの変移
 ICE、ROMエミュレータ、JTAG
 セルフ環境とクロス環境
6.3. 統合開発環境IDE
 実際の開発環境例
 タイミング測定 "
C7章 平山先生
「ソフトウェアエンジニアリング」
7.0 ソフトウェアエンジニアリングとは
ソフトウェアエンジニアリングの目的
7.1 組込みソフトウェアの特徴
7.2 組込みソフトウェア開発の流れ
7.2.1 システム開発とソフトウェア開発
7.2.2 ソフトウェア開発プロセス
7.3 開発上流工程 - 要求獲得と設計
7.3.1 ソフトウェア要求獲得・分析技術
7.3.2    機能要求と非機能要求
7.3.3 アーキテクチャ設計
7.3.4 組込みソフトウェア設計手法
C7章 平山先生
「ソフトウェアエンジニアリング」
7.4 部品化再利用とコンポーネント
7.4.1 ソフトウェアの再利用技術
7.4.2 プロダクトライン
7.4.3 ソフトウェア部品とコードクローン
7.5 開発下流工程 - 実装とテスト/検証
7.5.1  実装(コーディング)の作法
7.5.2  組込みソフトウェアの検証・テストの流れ
7.5.3  仕様検証
7.5.4  単体・結合テスト
7.5.5    システムテスト
7.5.6  不具合情報の管
C7章 平山先生
「ソフトウェアエンジニアリング」
7.6 品質向上のための技術
7.6.1    品質の作りこみ-レビューとインスペクション
7.6.2    品質特性モデルとメトリクス-品質の定量化
7.6.3    品質メトリクスの利用
7.7 開発プロセス/開発管理に関する技術
7.7.1    開発プロセスの定義と設計
7.7.2 開発プロセスの評価と改善
7.7.3 開発計画の立案と見積もり技術
7.7.3 成果物管理と構成管理
7.7.4 進捗管理
8月2日 C8章 竹山先生
「実際の開発事例」
8.1 現場で考慮しなければならないこと
考慮する項目/ターゲット市場/製品の仕様/開発コスト/目標原価
開発スケジュール/システム設計/開発ツールと開発環境/品質の確保
開発のマネージメント
8.2 開発事例:デジタルカメラの開発
カメラのコンセプト/ボード/システム構成/HW/SW/SWシステム
  フラッシュカードのサポート/プロセッサのアーキテクチャの活用
使用するメモリとJPEG処理時間/JPEGアルゴリズムチューニング
C9章 新井先生
「チューニング」
9.1 こんなに違うプログラム性能
9.2 チューニングとは?
9.3 チューニングの対象
9.4 チューニングのスコープ
9.5 チューニングの方針
9.6 チューニングの手順
9.7 設計工程とチューニング
9.8 ハードウエアアーキテクチャに合わせたチューニング
9.9 プロセッサの概要
9.10 プロセッサに合わせたチューニング
9.11 メモリシステムの概要
9.12 キャッシュに合わせたチューニング
9.13 メモリに合わせたチューニング
C10章 枝廣先生
「マルチプロセッサ」
10.1 PCと組み込みの違い/プロセッサ要件
10.2 マルチプロセッサの必要性
10.3 マルチプロセッサの事例紹介
10.4 マルチプロセッサの長所と短所
10.5 マルチプロセッサにおける同期、通信
10.6 マルチプロセッサにおけるソフトウェア環境
10.7 将来のモデル

実習(受講は希望者:ただし、修了証には受講有無が記載されるので注意)
−実施時間帯は別途連絡−
題材:未定
12月23日〜12月28日に実施予定


課題
出題日
先生
課題内容
課題はこちらを参照してください(8/2)



講義に関するその他の情報


本講義の概要

 本講座はSTARC寄附講座であり(*)、電気4年、通信3年、情報3年、及び理工学研究科に設置されている。本講座では、高度情報化社会で重要な役割を果たすマルチメディア信号処理を核とする情報端末システムのハードウェア開発者ばかりか、システム開発者、ソフトウェア開発者を目指す人達のために、最適なシステムソリューションを追求するための方法論を論じ、複雑さに屈しない思考力と洞察力を修得することを目指す。
 「SoC設計技術A」では、チップ上でのシステム構築における高位設計手法、「SoC設計技術B」では、画像圧縮等、より実践的なシステムに密着した実装設計手法に関する基礎知識を修得する。講師は、授業計画に示す各章毎に、当該分野の最先端で活躍されている人を起用している。なお、単位取得者には半導体理工学研究センターより修了証が授与される予定。

*(株)半導体理工学研究センター(Semiconductor Technology Academic Research Center):1995年12月に設立された民間会社で、大手半導体メーカ11社(富士通株式会社、松下電器産業株式会社、NECエレクトロニクス株式会社、沖電気工業株式会社、株式会社ルネサステクノロジ、ローム株式会社、三洋電機株式会社、セイコーエプソン株式会社、シャープ株式会社、ソニー株式会社、株式会社東芝 )により運営されている。開発部では特に設計関連の専門家が高位設計環境等の開発に取り組む一方、研究推進部では国内の大学等の研究機関から半導体技術に係わる共同研究テーマを毎年公募し有数なテーマを選択して、資金的な援助と共に客員研究員を派遣し、研究強化と若手研究者の育成を進めている。(詳しくは http://www.starc.or.jp を参照)


「SoC設計技術A」「SoC設計技術B」「SoC設計技術C」各科目の狙い

A. システム設計

  1. システム開発者からみて魅力の高い(高性能、低コスト、高信頼)SoCを設計できるようにする。 
  2. 性能/コストの視点からSWとHWの最適な組み合わせのシステムを構成できる技術を身につける。
  3. 抽象度の高い設計記述言語を用い、システムの検証を早期に行うことで、高品質なSoCを、効率よく設計できるようにする(設計生産性:10倍以上向上)。


B. LSI設計

  1. SoC設計者としてレイアウト設計の現状と難しさを理解して、どの様な対応・工夫をすれば、レイアウト設計も考慮に入れた最適なSoCが設計できるかを理解させる。
  2. LSI設計の基礎をなすマイクロアーキテクチャと論理設計の基礎/高付加価値技術の基礎(消費電力+テスト設計)、ならびにレイアウト設計より構成する。


C.組込みSW設計

  1. SoC設計者として、組込みSWがHWをどう扱うかを知ってもらい(これでHWとSWの接点が理解できる)、システムから見て最適にSoCを設計できるようにする。
  2. 技術内容:SoC設計者として、SWについては少なくともこれくらいは知っておくべき組込みSWの基礎とする。
本ページの著作権と使用許諾条件

Copyright (C) SoC設計技術運営委員, WASEDA University. 2001-2005. All rights reserved.
Hayato YAMANA / yamana@yama.info.waseda.ac.jp