【題目】動的再構成可能ハードウェアで変わるSoCプラットフォーム

【講師】村上和彰 (九州大学)

【日時】8月14日(金) 8:50-10:30

-----------------------------------------------------------------------------------


本日はシステム設計時の再構成化/カスタム化に話を絞る。
(出荷後のシステム再構成化の話は対象外。)


■SoCのハードウェアのカスタム化⇒カスタム・ロジック

カスタムロジックの実現方法:

1.プロセッサ+ソフトウェア
2.コンフィギュラブル・プロセッサ+ソフトウェア
3.リコンフィギュラブル・プロセッサ+ソフトウェア
4.リコンフィギュラブル・ハードウェア

従来は製造コストが最も重要視されていた。
そのためチップ面積を小さくすることに注力。

近年は、コストパーフォーマンスが強く重要視されてきている。
そのためSoCカスタム品が
・短TAT/Time to market
・チップ上にシステムを構成
・ランニングコスト(消費電力/信頼性)
の観点から注目されている。


■プラットフォーム/プラットフォーム設計

SoC設計資産をできるだけ共通化させる
その共通化の規模は、社内の部門間または会社を跨いで(横断的に)アプリ毎
などが考えられる。

例:UniPhier(松下電器)、MeP(東芝セミコンダクター) 


Q:アプリ毎にプラットフォームに作り共通化と言われたが、その粒度は?

A:例えばデジタルカメラでは、画像処理ブロック単位程度


要求にミートしない仕様については、作りこみが必要。それもできるだけ早く!
⇒カスタム・ロジック

プラットフォーム・ベースSoC設計上の最重要課題
1.最適なプラットフォームの選択
2.同プラットフォームの特定半導体テクノロジ上での実装
3.同プラットフォーム上でのカスタム・ロジックの実現


Q:ソフトウェアではコンポーネントなどのような共通化の技術があり問題点もある。
  HWでも問題点はあるのか?

A。HWでもIPコア(当初の期待された効果が得られていない)が簡単に共通化ができない場合
  があるなど問題はある。
 

■リファレンス・リスト
プラットフォームの紹介


■SoC設計への諸アプローチ−−設計フローの観点から

従来は、
HDL⇒論理合成⇒布線論理
C⇒コンパイラ⇒ソフトウェア(+ハードウェア)
という設計フローしかなかったが
近年は、
システムの動的再構成という設計フローも存在する。
プロセッサそのものをカスタム化することもできる。
しかし、そのためには仕様を記述する必要がある。

5つのアプローチ
(「From Scratch」、IPコアベース、プラットフォーム・ベース、コンフィギュラブル、リコンフィギュラブル)
は再利用vsプラットフォーム設計と大別できる。

■カスタム・ロジックの実現方法

・目標(実現対象)はカスタム・ロジック(仕様のカスタム化)

・アーキテクチャは
(非カスタム化)プロセッサ
カスタム化プロセッサ(ASIP)
専用ハードウェア
の3つに分けられる。

・実装方法は
動的再構成可能プロセッサ(DRP)
動的再構成可能ハードウェア(DRH)
FPGA
布線論理(ガチガチのハードウェア)


■ハードウェア・ベース対プロセッサベース

ハードウェア
アルゴリズム⇒状態マシン⇒順序回路の通り設計/実装

プロセッサ+ソフトウェア
アルゴリズム⇒プログラム⇒命令セットと実装


■動的再構成可能ハードウェア 対 動的再構成可能プロセッサ

・動的再構成可能ハードウェア
リコンフィギュラブル・ハードウェアを作りこむ。
後からハードウェア・コンフィギュレーション・データにアルゴリズムを吸収させる。

・動的再構成可能プロセッサ
プログラム部分にアルゴリズムを吸収させる。
プロセッサ・コンフィギュレーション・データに命令セットを実装。


■時間的粒度

FSM-by-FSM
Finite state machine毎に切り替え

ISA-by-ISA
命令セット毎に切り替え


■動的再構成可能可能プロセッサ・アーキテクチャ

・コプロセッサ型
組込みプロセッサ(OSを載せることもある)+DSPの置き換えが狙い

・プロセッサ内蔵型
SoCのある部分の置き換えが狙い
(OSのらない。オブジェクトコードがのる。)

■コンフィギュラブル vs リコンフィギュラブル
ハードウェアまたはプロセッサとしての実現する機能が(SoC設計者によって)設定可能だが・・・
コンフィギュラブル  − 1度だけ可能
リコンフィギュラブル − 何度でも可能

■HW再構成可能性に関する設計空間
HW再構成の時間的粒度 vs HW再構成の機能的粒度の位置づけ


■設計フローに戻って

・リコンフィギュラブル・ハードウェア vs リコンフィギュラブル・プロセッサ
 ⇒ハードウェア設計スキルのみ必要 vs ハードウェアとソフトウェア設計スキルの両方必要

・コンフィギュラブル・プロセッサ vs リコンフィギュラブル・プロセッサ
 ほとんど同じ設計フロー
 最後の実装部分がちがう


<これまでのまとめ>
パワーポイント資料を参照。
当日強調された点

・プラットフォーム・ベース
SoC設計の共有&汎用化が可能になると、少品種大量生産が可能に!
しかし、現段階ではまだそのような状況にはなっていない。

・コンフィギュラブル
カスタム化のために、どういう命令セットを追加するのかを考える必要がある。
ツールの準備が必要なのがデメリット

・リコンフィギュラブル
生産出荷後もカスタム化が可能なのがメリット。
構成情報を持たせなければいけなくなるのがデメリット。


■Redefisについて

カスタム化するためには、設計者が特殊な記述をしなければいけない。
これがネックであったが、RedefisはCだけの記述で設計可能。
そのため、ソストウェア開発者もカスタムなプロセッサを作成しやすい。

SoC設計者がSoCに載せたい機能をCで記述
↓
ISA GeneratorがCプログラムを解析して、それを実行するのに適した命令セットを自動生成。
専用の命令セットとプロセッサ構成情報を生成する。

■従来プロセッサ vs Redefis

設計フローはほとんど同じ。
しかしツールは異なる。

■通常のリコンフィギュラブル・プロセッサ vs Redefis

通常のリコンフィギュラブル・プロセッサ:HDLで記述して、HW構成情報を生成。
Redefis:Cで記述してISA Generatorによって自動的に命令セットとHW構成情報を生成。


Redifis向けリコンフィギュラブル・プロセッサ:Vulcan

リコンフィギュラブル・データパス(RDP)で128個のカスタム命令セットを実装できる。
パイプラインでは、Phase2とPhase3を重ねることはできていない。

Redefisの開発環境とISA Generatorの説明もあり。(パワーポイント資料を参照。)

アプリケーション例:DES暗号
この例はVulcanの仕様にあった上手くいった例。

DES暗号化処理の性能比較で、
VulcanはPentium4と比較して、3〜4倍のスループットを出すことができた。