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

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


課題・出欠状況確認
最新情報

2006.11.27
12月実習の受講可否について、申込みをした皆さんに電子メールで返信していますが、万一届いていない人がいましたら、
まで至急連絡をください。
---


2006.08.29 実習について(詳細)
「SoC設計技術C」に付属する実習の募集を開始しました。

実習に参加を希望する学生は、9月30日までに、 宛でSubject(件名)を「SoC-C実習希望:学籍番号-CD 氏名」(例:SoC-C実習希望:1G04R001-1 早稲田太郎)として電子メールを送ってください(本文は不要です)。必ずwaseda-netのIDから電子メールを送信してください。予定定員を超えた場合は、レポートの成績を基準に選考し、後日受講者を発表します。本受講は単位には一切関係がありませんが、単位取得者に発行される修了証には本実習の受講の有無が記載されます。


2006.08.22 講師の先生の都合により、初日に予定されていた風見先生の講義と最終日に予定されていた平山先生の講義日程が入れ替わりました。以下のスケジュールにおいて、背景を薄黄色で示しています。確認願います。

2006.05.11 実習について
■実習概要
「SoC設計技術A」「同B」「同C」にはそれぞれ実習が付属します。実習内容はそれぞれ独立したものですが、SoC設計の各工程を体験できる内容になっています。詳しくはこちらの文書(PDF)を参照してください。
■実習案内
「SoC設計技術C」実習の概要は以下のとおりです。

* 内容: 組込みソフトウェア設計
* 日程: 12月23,25,26,27,28日
* 時間: 10:30〜16:10 (作業工程の進み方によっては延長されることもあります)
* 会場: 55号館 S棟 2階 第3会議室

受講申し込み方法については後日掲示します。


2006.03.05 本科目の登録は、通常の登録方法と同様です。ただし、定員(400名)を超えた場合は抽選となります。
2006.03.05 本ページを開設。通常の科目と異なり5コマ×3日間で2単位の講座となります。

授業日程(前期集中 57−201)
2006年9月11日、12日、13日の2限〜6限
+ オプション:実習(12月23日、25日、26日、27日、28日)

以下に授業の進め方の目安を示します。 なお、それぞれの回の内容は多少変わる可能性があります。 また、今後、以下の内容が変更される場合もあります。 なお、実際の授業の進捗状況によって、各回の授業内容が変わることもあ りますが、その場合には、実際の授業を優先させます。 
日付 連絡事項 2限 3限 4限 5限 6限
9月
11日
C1章 星先生(ゼンテック)
「マイクロプロセッサの歴史と組込みシステム」
1.1. マイクロプセッサとマイコンの歴史
1.2. 組込みシステムとは?
1.3. 事例紹介:自動車内における組込みシステム
1.4. 組込みソフトウェア開発に必要なハードウェア知識
C2章 星先生(ゼンテック)
「組込み用OSの種類と組込み用ソフトウェアの現状」
2.1. 組込みシステムで用いられるプログラム言語と種類
2.2. 組込み用OSの種類と特徴
2.3. ミドルウェア
2.4. 肥大化、複雑化するソフトウェア
2.5. ソフトウェア資産活用のために職人芸からの脱皮 "
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 進捗管理
9月
12日
C4章 中村先生(アップウィンド)
「リアルタイムシステムのためのソフトウェアプラットフォーム」
4.1 組込みLinux概要と実装方法
C4章 小林先生(日立超LSI)
「リアルタイムシステムのためのソフトウェアプラットフォーム」
4.2 T-Engine概要と実装方法
C5章 小林先生(日立超LSI)
「ターゲットハードウェアへの実装」
5.1. 組込みソフトウェアの実行環境
5.2. 開発フローと開発手法
5.3. 組込みソフトウェアの実装
5.4. デバイスドライバの開発
5.5. マルチタスクデバッギング
C6章 星先生(ゼンテック)
「開発ツールと開発環境」
6.1. 開発時間を縮めるアプローチ
 製品の開発時間増大の要因
 開発時間を短縮するためのアプローチ
 開発プロセスによる開発の分類
6.2. 組込みソフトウェアの開発ツール
 組込みソフトウェアのデバッグ環境
 組込みソフトウェアの開発ツールの変移
 ICE、ROMエミュレータ、JTAG
 セルフ環境とクロス環境
6.3. 統合開発環境IDE
 実際の開発環境例
 タイミング測定 "
C9章 新井先生(NECEL)
「チューニング」
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 メモリに合わせたチューニング
9月
13日
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.時間管理機能
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を用いたソフト開発の流れ
C8章 竹山先生(ペネトレート)
「実際の開発事例」
8.1 現場で考慮しなければならないこと
考慮する項目/ターゲット市場/製品の仕様/開発コスト/目標原価
開発スケジュール/システム設計/開発ツールと開発環境/品質の確保
開発のマネージメント
8.2 開発事例:デジタルカメラの開発
カメラのコンセプト/ボード/システム構成/HW/SW/SWシステム
  フラッシュカードのサポート/プロセッサのアーキテクチャの活用
使用するメモリとJPEG処理時間/JPEGアルゴリズムチューニング
C10章 枝廣先生(NEC)
「マルチプロセッサ」
10.1 PCと組み込みの違い/プロセッサ要件
10.2 マルチプロセッサの必要性
10.3 マルチプロセッサの事例紹介
10.4 マルチプロセッサの長所と短所
10.5 マルチプロセッサにおける同期、通信
10.6 マルチプロセッサにおけるソフトウェア環境
10.7 将来のモデル


オプション実習:(12月23,25,26,27,28日に実施)
場所:55号館S棟2階 第3会議室
受講は希望者:ただし、修了証には受講有無が記載されるので注意

題材:DVDプレイヤー設計(他の実習とは異なります)



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


本講義の概要


 本講座はSTARC寄附講座である(*)。本講座では、高度情報化社会で重要な役割を果たすマルチメディア信号処理を核とする情報端末システムのハードウェア開発者ばかりか、システム開発者、ソフトウェア開発者を目指す人達のために、最適なシステムソリューションを追求するための方法論を論じ、複雑さに屈しない思考力と洞察力を修得することを目指す。
 「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-2006. All rights reserved.