1. なぜ21世紀にレガシーCPUなのか
長期に渡って供給しなければならない組込システムの場合、CPUの置き換えは大きなコストが発生します。レガシーなCPUを新しいものにする場合、様々な苦労が発生します。
例えば、
- ソフトウェアはすべて書き直しとなります
- 周辺デバイスの構成を見直すことになり、大幅な設計工数増となります
- 最初に書かれたアセンブラをC言語のような汎用言語に置き換える必要があります。
一方、既存のCPUを使い続けるのにも、リスクがあります。
- 供給が長期に渡ると、ビジネスの収益性は落ち、将来CPUの生産中止が起きた時に、再設計の工数が取れなくなる
- 周辺部品が時間の経過とともになくなる
これらの問題の解決策として、互換半導体IP(知的資産)とFPGAを使う方法があります。
2. モトローラ68000の場合
例えば、モトローラのMC68000をIPで置き換える場合を考えます。
いわゆる68Kは、MC68000に始まります。MC68000は、1979年に当時のモトローラ社によって開発された32-bit プロセッサです。以降68010、68020、68030等々と続き、上位互換となっています。セカンドソースとしては、日立(HD68000)、モステック (MK68000)、ロックウェル(R68000)、シグネティックス( SCN68000)、トンプソン (EF68000 / TS68000)、東芝 (TMC68000)などが同一仕様のプロセッサを供給していました。
IPは、米国CAST社のMC68000互換Processor IP(C68000)を使用します。これはMC68000の32-bit内部バスと16-bit外部バスの機能をそなえています。 FPGAに搭載すれば、そのままMC68000とセカンドソース品と同様、システムのROMにあるプログラムを実行することができます。また、追加機能としてIEEE1149.1(JTAG)のポートをサポートしています。よって、ソフトウェア開発では、サードパーティのJTAG コンパイラ/デバッガを用いてソフトウェアの機能拡張が可能です。
3. CAST社 IP導入のメリット
IP導入により、以下のようなメリットが出ます。
- 既存のソフトウェア資産がそのまま使えます。
- 生産中止のリスクがありません。使用しているFPGAが生産中止になっても、その時点の最適なFPGAに乗せ換えることで対応できます。
- 他の周辺もIP化することで、周辺デバイスの生産中止にも対応可能できす。
- 周辺デバイスのIP化により、量産コストを削減することができます。
- IPは、オリジナル・デバイスより高い性能を実現しています。これにより、
性能向上ができ、製品余命を延ばすことができます。
- 68000を搭載モジュールが複数ある場合、FPGAの中にまとめて入れてしま
うことができます。
- C言語導入によるメンテナンス性向上
4. 他のデバイスで置き換える場合との比較
過去開発経験があるディスクリートCPUで、元のCPUを置き換える方法もあります。FPGAとIPを使うより、ディスクリートCPUのほうがよい場合もあります。以下のようなケースはディスクリートCPUのほうがよいでしょう。
- 製品余命があまり長くない場合(あと数年供給すればよい)
- プログラムのコードサイズが小さい場合、書きなおしは容易です。特に大半がC言語で書かれている場合は、書きなおしは更に楽になります。
- FPGAやIPを使った経験が乏しい場合で、自社で沢山使われているプロセッサがあれば、それを使うほうがよいでしょう。
5. スコア・シート による判断
様々な要因があるため、下記のようなスコア・シートをチーム構成メンバ全員でつけることで、客観的な意思決定ができます。
(スコアシート例)
項目 |
スコア |
組込製品の寿命 |
(例 10 年以上) |
|
ソフトウェアコードサイズ |
(例 128KB x2 ) |
|
ソフトウェア言語 |
(例 100%アセンブラ) |
|
年間出荷数量 |
(例 50 台) |
|
周辺部品点数 |
(例500点) |
|
組込製品の原価 |
(例 10万ドル) |
|
MC68000の経験 |
(例 あり。社内に数名) |
|
68K のプログラミング経験 |
(例 1 名経験あり) |
|
FPGA の使用経験 |
(例 3品種に使用) |
|
合計 |
|
例えば、最初の「組込製品の寿命」では、残り何年あるかで、IP導入のメリットが出るかどうかが変わってきます。短ければ、ディスクリートで置き換えても、そのプロセッサが生産中止になる確率は低く、大丈夫です。一方、製品寿命が10年を超えるようですと、置き換えたプロセッサが、再び生産中止になる確率は高まります。この例では、10年以上ですから、ディスクリートでの置き換えはリスクがあります。
このように個々の項目を精査し、比重を考え、点数化(スコアリング)を行います。
6. 具体的な置き換え作業
実際に置き換えるにあたっては、まずIPコアをハードウェア・プラットフォーム上で評価しなければなりません。もし、お手元のアプリケーション・ソフトウェアがシリコンIPの68000プロセッサで動作するのであるならば、MC68000の置き換えは可能です。
下記は、抽象化したMC68000搭載システムの図です。
(図:MC68000搭載システム)
 |
I/O 1, I/O 2, I/O 3の部分は、お手元のI/O部品に置き換えて考えてみて下さい。例えば、I/O 1 はシリアル、I/O 2はパラレル、I/O 3は、他システムとつながるVMEバスインターフェース、といった具合です。
これに対し、IP化した場合のイメージは、以下のようになります。
(図:シリコンIPC68000搭載システム)
 |
市版のFPGAシステムなどをうまく使って、C68000上で、MC68000のファームウェアを動作させます。
MC68000互換Processorコア
本稿に書かれたスコアリングの詳細、評価方法、ライセンスなどについて関心がありましたら、下記までお問い合わせ下さい。
問い合わせ先
| 株式会社スピナカーシステムズ
IPビジネス部 石倉裕三
メールアドレス: info2 spinnaker.co.jp
|
|