ハード／ソフト・コデザインの基礎
第１回
神原弘之
京都高度技術研究所（ASTEM RI）
http://www.metsa.astem.or.jp/RUECHIP2/
1

講師の自己紹介❚ 神原 弘之（かんばら ひろゆき）❚ 在籍：京都リサーチパークの京都高度技術研究所

2

講師の自己紹介 （つづき）❚ LSIの設計❚ LSIのCADの研究開発（Computer Aided Design）❚ この１６年間に設計した主な LSI
教育用プロセッサ：KUE-CHIP2
Mini Disc 携帯プレーヤ用音声圧縮
Java 実行エンジン
MPEG4 動画の圧縮／再生（現在進行中）

3

概要❚ ハード／ソフト・コデザインとは？
❚ どんなことを勉強するのか？
❚ システムLSIとは何か？
❚ システムLSIのハードとは？ソフトとは？
❚ LSIハードウェアの設計方法の変化❚ 何の役にたつのか❚ 講義の進め方、成績の評価
4

ハード／ソフト・コデザインとは？
❚ Hardware Software Co-Design❚ 「システムLSI」の❚ 「専用ハードウェア」と「ソフトウェア」を❚ 「同時協調的」に設計すること5

概要❚ ハード／ソフト・コデザインとは？
❚ どんなことを勉強するのか？
❚ システムLSIとは何か？
❚ システムLSIのハードとは？ソフトとは？
❚ LSIハードウェアの設計方法の変化❚ 何の役にたつのか❚ 講義の進め方、成績の評価
6

どんなことを勉強するのか？
❚ システムLSIとは何か？
❚ ソフトウェアをプロセッサやDSPはどう実行するか❚ 専用ハードウェアをどうやって設計するか

7

コデザインの設計対象

システムLSIパソコン（マザーボード）8概要❚ ハード／ソフト・コデザインとは？
❚ どんなことを勉強するのか？
❚ システムLSIとは何か？
❚ システムLSIのハードとは？ソフトとは？
❚ LSIハードウェアの設計方法の変化❚ 何の役にたつのか❚ 講義の進め方、成績の評価
9システムLSIとは何か？
どこに使われている？

→ディジタル家電

・携帯電話
・ディジタルカメラ
・MP3プレーヤ・PDA（電子手帳）
10システムLSIとは何か？（つづき）：
ルネサス社の「SH-Mobile1」

http://www.renesas.com/jpn/products/mpumcu/shmobile/sh7290.html 11

システムLSIとは何か？（つづき）
中身

プロセッサ
DSP

メモリ

バス

専用
ハード

入出力
12

システムLSIとは何か？（つづき）
プロセッサ
DSP

メモリ

バス
入力（例：CCDカメラ）から入力

データ（画像）を読込み、メモリに書き込む13システムLSIとは何か？（つづき）
プロセッサ
DSP y=a*b

メモリ

バス
プロセッサやDSPは、ソフトウェアに従って（バス経由で）メモリ中のデータを読込み、演算処理を行って、メモリに書き戻す

14システムLSIとは何か？（つづき）
プロセッサ
DSP

メモリ

バス
メモリ中のデータを読込み、出力出力（例：液晶表示）する
15

概要❚ ハード／ソフト・コデザインとは？
❚ どんなことを勉強するのか？
❚ システムLSIとは何か？
❚ システムLSIのハードとは？ソフトとは？
❚ LSIハードウェアの設計方法の変化❚ 何の役にたつのか❚ 講義の進め方、成績の評価
16

システムLSIのハードとは？ソフトとは？
❚ ソフトウェア❚

プロセッサやDSPの動作を決めるプログラム❚ ハードウェア❚❚❚

専用ハードウェア
メモリ
入出力
プロセッサ、DSP
17

プロセッサとDSPの違い
プロセッサは、整数の算術論理演算が得意
DSPは、Digital Signal Processor の略
DSPも、プロセッサの一種
DSPは、固定小数点もしくは浮動小数点の積和演算が得意
18

システムLSIの設計の手順
アルゴリズムを（Cなどで）記述

性能評価（コンパイルとエミュレーション）
仕様を満たしている？

Ｙ

システムＬＳＩ 設計

Ｎ
プロセッサの高速化

専用ハードウェア化
19

専用ハードウェアとは？
携帯電話の場合・カメラ付き・着メロ
・TV電話
・iアプリ

→画像の圧縮と展開→音源処理→動画の再生→Java エンジン
20

専用ハードウェアとは？
（つづき）

メモリ
バス

専用ハード
プロセッサやDSPと同様に（バス経由で）メモリ中のデータを読込み、演算を行って、メモリに書き戻す

21

専用ハードウェアとは？
（つづき）

メモリ
バス専用ハード
プロセッサやDSPと異なる点→できる処理は限られている→処理速度が速い

22

概要❚ ハード／ソフト・コデザインとは？
❚ どんなことを勉強するのか？
❚ システムLSIとは何か？
❚ システムLSIのハードとは？ソフトとは？
❚ LSIハードウェアの設計方法の変化❚ 何の役にたつのか❚ 講義の進め方、成績の評価
23

LSIハードウェアの設計方法の変化

C = a+b | a & b : c;

これまでのLSI 設計

論理設計

物理設計

＋機能設計

これからのLSI 設計
IF c THEN out = a + b ;ELSE out = a & b ;高位合成
END IF ;Ｃなどのプログラミン
グ言語から（人手設計と同等な）専用ハードウェ
ア（RTL記述）の生
24
成ハード／ソフト・コデザインとは？
システム LSI の動作記述(C や Java などのプログラミング言語)

ハード／ソフト・コデザイン
動作合成技術
ソフトウェアの実装(C, C++, Java …..)
For (,,) {c = a * b + c;}

LSI ハードウェアの仕様(RT Level HDL)

ハードとソフトの両方を同時に設計

IF c THEN out = a + b ;ELSE out = a & b ;25
END IF ;概要❚ ハード／ソフト・コデザインとは？
❚ コデザインの設計対象❚ システムLSIとは何か？
❚ システムLSIのハードとは？ソフトとは？
❚ LSIハードウェアの設計方法の変化❚ 何の役にたつのか❚ 講義の進め方、成績の評価
26

どんなことを勉強するのか？
❚ システムLSIとは何か？
❚ ソフトウェアをプロセッサやDSPはどう実行するか❚ 専用ハードウェアをどうやって設計するか27

何の役にたつのか？
❚ 企業の収益は、ディジタル家電次第❚ ディジタル家電は、システムLSI次第❚ システムLSIの設計者は全く足りていない
28

何の役にたつのか？（つづき）❚ ハードとソフトの両方わかる技術者を目指そう❚ ハード／ソフト・コデザインは最先端の設計手法❙ 就職先で使っている人は、ほとんどいない❙ いきなり、第一人者

29

講義のあらまし❚ 第 １ 回 イントロダクション❚ 第 ２ 回 プロセッサとは？プログラムとは❚ 第３、４回 プロセッサ（MIPS）の命令の解説❚ 第 ５ 回 ２進数の四則演算（加算、減算、乗算、除算）❚ 第６、７回 ソフトウェアの高速実行化（パイプライン）❚ 第 ８ 回 レポート
❚ 第 ９～回 高位合成によるハードウェア設計❚ 第 １５ 回 最終講義試験30

概要❚ ハード／ソフト・コデザインとは？
❚ コデザインの設計対象❚ システムLSIとは何か？
❚ システムLSIのハードとは？ソフトとは？
❚ LSIハードウェアの設計方法の変化❚ 何の役にたつのか❚ 講義の進め方、成績の評価
31