藤本氏によると、LSI社は従来から各サブチームが個々のブロックを設計/検証し、その次に各ブロックをチップ上のほかのIPコアと組み合わせた後、シミュレータを用いて検証するという方法をとっていたという。しかし設計チームは今回初めて、開発したグラフィックスプロセッサ、メモリーコントローラ、サウンドプロセッサのコアをFPGAを用いたプロトタイピングボード上で検証し、ハードウエア/ソフトウエアの動作確認を行った。
「シミュレーションだけで検証を行っていたときも、数多くの確認用条件が存在した。しかし、設計の初期段階において個々のコアに対する検証をさらに詳細にやっておくべきであった。FPGAを用いたプロトタイピングボードを使い始めてからは、検証作業が迅速に進行した」と藤本氏は振り返る。FPGAを利用する方法であれば、問題が発生したらプロトタイピングボードに接続した液晶ディスプレイに問題点を表示することができる。そのタイミングでデバッガによって処理を停止させ、エラーが生じた時点の内部レジスタを調べることができた。
追跡したバグが、チップの設計によるものではなく、FPGAのプログラミングソフトウエアによって発生していることもあった。さらに、「FPGAベンダーが提供するFIFOコントローラを利用していたが、それに問題があることもあった」と藤本氏は指摘する。
グラフィックスプロセッサの設計チームは、仕様定義の段階でグラフィックスプロセッサコアをC言語で記述したモデル(以下、Cモデル)を作成した。「Cモデルを検証に用いようとしたが、RTLと同様、Cモデルを更新するのも大変な作業だった」と藤本氏は語る。仕様が確定していて、RTL出力を検証するためにCモデル出力を使用することができる場合には、Cモデルは有効であるという。しかしLSI社の場合は、チームがRTL設計に着手したとき、仕様は完全には確定していない状態であった。このことも理由となり、FPGAベースのプロトタイピングボードを使い始めてからは、Cモデルで検証するのをやめた。プロトタイピングボード上で設計が安定してからは、予備的なドライバの開発も始めた。
プロトタイピングボードは、LSI社が顧客に提供するZEVIO検証用ボードのベースとなった。RTL設計が安定したら、チップサイズを大まかに把握するために、暫定的に論理合成やレイアウト設計を行った。論理合成には米Synopsys社のツールを使い、配置/配線には米Magma Design Automation社のツールを利用したという。
藤本氏は、「特にメモリーブロックの適切な配置を決めるために、この試作的なレイアウト設計は重要であった」と語る。ZEVIOは240KバイトのSRAMを搭載していた。このため、ZEVIOのレイアウト設計チームは、さまざまなコアが効率的にメモリーにアクセスでき、かつレイアウト上であまり大きな面積を占めないようにブロックを分割する作業を、RTL設計チームと共同で実施する必要があった。藤本氏は、「メモリー容量を大きくし、グラフィックスプロセッサとDSPが同一のメモリーにアクセスできるようにした。機能レジスタでは、どのコアがメモリーへのアクセスを許可され、何にアクセスするのかを割り当てたため、DSPとグラフィックスプロセッサ用のセグメントを前もって定義しておく必要があった」と語る。これを実現するために、レイアウト設計チームとRTL設計チームはメモリーの最適なレイアウトを決定すべく何度も作業を繰り返した。最終的にZEVIOのゲート数は全体で200万となった。
ZEVIOでは、消費電力を低く抑えるために、マルチ閾(しきい)値電圧に対応した130nmライブラリを用いた。まず、回路全体をリーク電流が少ない低速タイプのゲートで合成し、次にタイミング面でボトルネックになる個所とクリティカルパスを検出して、それに対応する部分のゲートを高速タイプのものに置き換えるという方法をとった。これにより、リーク電流が少ないトランジスタと高速なトランジスタの適切な組み合わせが実現できたという。
レイアウトの物理的な検証やテープアウトの作業は比較的スムーズに行えた。「試作チップが完成した3日後には、実際のシステム上ですべてのデモを実行することができた。その結果、顧客による評価も予定より短期間で行えた。成熟した技術を利用し、設計工程の早い段階で検証などを実施したことが成功につながった」と藤本氏は述べる。評価ボードが予定より早く完成したため、VTech社のソフトウエア開発チームも早く製品開発に着手することができた。最終的には2006年のクリスマスシーズンにシステムを市場に投入することができた。
いうまでもなく、ZEVIOの用途はVFlashだけではない。同SoCをモジュラ構造にしたことで、ほかの用途にも転用することができる。「派生製品を6カ月で作成可能とすることを目標に、同プラットフォームを設計した」と藤本氏は述べる。
モジュラ構造を採用したことにより、プロセッサコアの置き換えなども比較的容易に行える。例えば、デフォルトではARMコアを採用していたが、これをMIPSコアに置き換えることが可能である。ペリフェラルコアのいくつかも取り換えることができる。
LSI社はチップにUSBのサポートを追加すべく作業を行っている。藤本氏によると、次世代のZEVIOプラットフォームは、DDRタイプのSDRAMを搭載する予定だという。一方で、コトは次世代ZEVIOプラットフォーム向けの独自OSを開発中だ。LSI社は次世代ZEVIOプラットフォームが対応できるOSの種類を拡大しており、現在はLinuxとWindows CEのサポートに取り組んでいる。
藤本氏によると、「設計グループは、ある顧客向けの新ZEVIOプロジェクトを終えた。そのチップは製造中だが顧客からはまだその製品が発表されていない段階である」という。
LSI社は、ZEVIOの仕様定義を2004年12月に始め、2005年末に設計に着手した。その9カ月後の2006年9月には製造を開始した。
ZEVIOプロジェクトは、民生電子機器市場で成功を収めるための1つの教訓を示している。それは、この市場向けの製品は、必ずしも最新かつ最高のプロセス技術を用いて製造した最高速のSoCである必要はないということである。アーキテクチャを定義する段階で十分に計画を練ることと、その過程で独創的な手法を少し適用することにより、LSI社の設計チームは比較的強力で、コスト効率の良いプラットフォームを構築した。VTech社は、これを用いて適切な時期に製品を市場に送り出すことができた。また、LSI社はほかの顧客にも同様のサポートを提供可能な柔軟性のある“ツール”を得ることができた。ZEVIOがどれだけの期間、LSI社の実用的なプラットフォームとして生き残るのか、またいくつの派生製品がほかの顧客向けに開発されるのか、今後に注目したい。
Copyright © ITmedia, Inc. All Rights Reserved.