半導体設計にMATLABを長年活用してきた日本の半導体ベンダ
いまやあらゆる"ものづくり"の現場で活用されるようになったと言っても良いMATLAB/Simulink。MathWorksでは、近年FPGAやASICでのプロトタイピングや実装のためにMATLAB/SimulinkよりダイレクトにHDLコードを生成することが可能な「HDL Coder」をリリースするなど、半導体や組み込み分野に向けたアプローチの強化が進められ、同分野に対する取り組みが本気であることが示されてきた。そんな半導体業界において、長年MATLAB/Simulinkを使ってきた半導体ベンダが実は日本国内にいる。それがラピスセミコンダクタだ。
同社は現在、ロームのグループ企業であるが、前身のOKIセミコンダクタ(その前の沖電気工業を含めた)時代から、低消費電力技術など特長ある技術を駆使したLSIの設計・製造などを行ってきている。そうした企業背景があり、もともとMATLAB/Simulinkも10年以上昔から無線通信機器の設計向けに活用されてきたという経緯があり、そのノウハウを半導体設計に転用することで、少ない工数で高性能なLSIの開発を実現したという。
無線通信で培ったMATLAB/Simulinkノウハウを半導体設計にも応用
ラピスが開発した4ダイバシティ受信に対応したカーナビゲーションシステム用ISDB-T方式OFDM復調LSI「ML7138」の開発者 |
そうしたMATLAB/Simulinkを活用して設計された最新の半導体デバイスが4ダイバシティ受信に対応したカーナビゲーションシステム用ISDB-T方式OFDM復調LSI「ML7138」である。ISDB-Tは、いわゆる日本の地デジ放送の映像方式だが、家でアンテナを固定して視聴するのはともかく、自動車にアンテナを搭載し、それを途切れることなく視聴しようと思うと、相当高い技術的ハードルとなる(ワンセグを搭載したスマートフォンなどであっても、移動しながら、特に自動車や電車などの高速移動時、では途切れ途切れになりやすいことを考えれば、それよりも圧倒的にデータ量の多いフルセグ放送を途切れさせないようにするのが、どれだけ困難なものか、お分かりいただけると思う)。
特に、そうした問題を解決可能なアルゴリズムを開発したとしても、回路規模が大きすぎたり、消費電力が大きすぎた結果、結局LSIに搭載できないとなれば、実装可能なアルゴリズムに落とし込む時間や人手、それに伴うコストなどがかかってしまう。特に、車載向け地デジLSI(SoC)では後発の同社の場合、開発期間が長引けば、先行企業の製品が採用される確率が高まってくる。そうした意味では、他社より自動車に搭載した場合に生じる各種のノイズの影響を除去し、より高い感度で受信し、常に途切れさせないアルゴリズムを速やかに開発する必要があった。
中でも、近年、電気自動車(EV)やハイブリッド車(HEV)などの普及が始まり、ガソリン車でも燃費向上などを目指したエレクトロニクス化が進んだ結果、従来のエンジンノイズなどとは異なる、各種モーターから発せられるパルスノイズや電装系から生じるクロックノイズなど、アナログ的なフィルタでは取りきれないノイズが機器に影響をおよぼすようになってきており、それを設計の時点で解決しておく必要があったという。
そこで活躍したのがMATLAB/Simulinkである。本連載第2回目の時(NICTの電波で検知するセキュリティシステム「RAMIDS」)に、MATLABが無線通信の解析処理に向いていることを説明したが、同LSIのアルゴリズム開発もまさに同じ無線通信の解析処理であり、そうして開発されたアルゴリズムをFPGAに搭載し、実際にそれを自動車に搭載し試験を実施、そこで得た信号をシミュレーションにフィードバックさせることで、さらに精度を向上させ、再び実地での試験と繰り返すことにより、より良いものへと昇華させ、そのアルゴリズムをそのままLSIに落とし込むという手法を取り入れることで、企画段階から量産出荷まで、2年弱で済んだという。
普通の要求仕様設定から半導体の設計、製造、客先評価までの手順を考えればモノにもよるが3~5年程度と見積もれば、最大で2倍以上の期間短縮に成功したことになる。
ハード設計エンジニアがアルゴリズムを理解することで高性能化を実現
これが実現できたのは、もちろんMATLAB/Simulinkが持つ波形の直視が可能なツールなどの活用による問題抽出と対策案の立案の容易さ、ということがあるが、単にツールを使えればできることなのか、と言えばそれは間違いだ。例え良いアルゴリズムが作れたとしても、ハードウェア設計の部隊がそれを回路に落とし込めなければ、出来上がったデバイスが性能をフルに実環境で発揮することは難しい。それが実現できたのは、同社のエンジニアがハードウェアの設計(具体設計)とアルゴリズム(上流設計)の両方を見ることが可能なスキルを有していたことにより、アルゴリズムの開発段階で、具体設計に落とし込んだ際の回路イメージを意識しながら設計ができたという点にあり、それが結果的に短期間で最適な対策案を決定し、それを回路に落とし込むことを可能にしたのだ。
ML7138の開発におけるMATLAB協調設計のイメージ。各工程において、MATLABと現物の環境試験を連動させることで、実チップのおける手戻りなどを減らすことが可能となり、開発工数の削減による短TAT化を実現しつつ、実環境における高性能の実現を両立させることに成功した |
そうして設計・製造されたML7138は、実際に自動車に搭載した走行試験において、その走行距離や場所によって若干異なるが、競合他社製品に比べ、受信率(この場合は映像が途切れなかった割合)は3~5%高いことが確認され、それが実際の採用決定にもつながった。
また、もともと同社は低消費電力プロセス技術に一日の長があったが、MATLAB/Simulinkによる最適化により、消費電力は競合他社製品の1/2以下となる234mW(typ)を達成し、システムとしても1W以下という低消費電力を実現することを可能としたという。
なお、同社ではこれまで培ってきた途切れない無線通信アルゴリズムの活用として、適用領域の拡大を狙いたいとしており、自動車分野のみならず、Bluetooth Low Energy(BLE)やスマートメーターなどの特定小電力無線領域、IEEE802.15.4/ZigBeeなどの近距離無線分野への応用展開を図っていきたいとしている。また、MathWorksも半導体の設計分野に向け、より使いやすいツールになるべく取り組みを進めていることを受け、将来的には半導体設計におけるMATLAB/Simulinkの適用分野そのものの拡大も図ることで、さらなる開発期間の短縮、高性能化、低消費電力化などを実現していければとしている。