- - PR -
何故IPを使用するようになったのか?
日本の半導体業界が隆盛を誇っていった80年代の後半から90年代の頭までは、IP(Intellectual Property:知的所有権)を使って設計するということはほとんどなかったと思います。当時、メーカーは自分たちの技術力に対してどこか“誇り”のようなものを持っていましたし、設計するうえで他メーカーの回路方式の特許なども絡み、“他人の作ったものを再利用する”ということに考えも及ばなかったのです(また、そのようなことに慣れていなかった気がします)。
また、当時は“大量生産”を前提にさまざまな半導体製品がアプリケーションとしては“かなり絞った(画像用LSI、音声処理用LSI、通信処理用LSIなど)形”で開発されていました。それが証拠に、その当時の電気製品の中身(基板上)の大部分は日本の半導体メーカーのチップが採用されていました(諸外国のチップを見つけたとしてもCPU(Central Processing Unit:中央演算処理装置)くらいなものでした)。
当時のシステムは、大量生産を前提に設計されていたため、画像処理、音声処理、通信処理などを得意とする半導体メーカーからチップ(いわゆるハードウェア)を購入して、それをボード上に配置して組み上げる手法が取られてきました(図1)。
図1 ディスクリートのチップでシステムを実現したイメージ
その後、ボード上にディスクリート(図1のようなチップとして別々に)に組み上げられていたものが、システムLSIやSoC(System on Chip)の登場でシステムそのものをチップ内部に収められるようになりました。これにより、メーカー側はハードウェア(最終的なチップ)としてこれまで提供していればよかった物をシステムLSIやSoCに対応するために、ハードウェア部分に相当する設計データを“柔らかいソフトウェア的なデータ”として供給する必要が出てきました。
これが“IPを提供する走り”になったと思われます。
IPを作成するのは難しいこと
筆者は、いまから10年以上前にマイクロプロセッサやその周辺、ペリフェラルのIPを作成したことがあります。そのときのIPはすでに世の中に存在しているマイクロプロセッサやペリフェラルでした(いわゆる機能的にコンパチブルなもの)。何故すでに世の中に存在しているマイクロプロセッサなどのIPを作成したかというと、このようなIPを前述したシステムLSIやSoCの作成に利用してもらうことで、筆者が提供するIPを数多く世の中に流通させることができると考えたからです。
ところが、いざそのIPを作成して世の中に出してみるといろいろ大変なことが分かりました。
以下に、その“大変なこと”の例をいくつか紹介します。
既存のチップの中には、同じチップでもいろいろなシリーズが存在する場合があります。また、そのシリーズによっては微妙に機能が違っていたりすることもあります。このような場合、どのシリーズに合わせてIPを作ったらよいか迷いますし、それらシリーズのすべてに対応させるとなると膨大な設計量になってしまいます……。この点には非常に悩まされました。
また、既存のチップからIPを作成する際、そのチップのドキュメント(仕様書)を参考にしますが、ドキュメントに書かれていない部分を使ってシステム(システムLSIやSoCにしたい部分)が動作している場合も実際にありました。具体的には、「割り込みが掛かって割り込みルーチンに飛び、本来処理の終わりで割り込み用のreturn命令でメインルーチンに戻らなければならないのをノン・マスカブル用のreturn命令で戻っていた……」などです。
さらに、チップ自身が持つ機能的なバグをそのまま使ってシステムを作り上げていた、ということもありました……。
そして何より、前述したこれらの“バグ”や“トリッキーな使い方”を見抜くのにも非常に苦労させられました。同じチップを入手して、実機でその現象が起きるよう動作をさせて観測する必要があり、1つの現象を突き止めるだけでもものすごく大変な作業でした。
このように、“実際に作ってみないと分からない”というのが、IPを作成する難しさです。
IPを使用する前に考えておくべきこと
もし、初めてIPを使う場合は、慎重に、疑い深く利用した方がよいでしょう。また、実際にIPを使用してみて意図していない動作が発生したり、うまく動作しなかったりした場合には「動かないなら私がそのバグをつぶして、IPベンダを助けてあげよう」というくらいの気概が必要だと筆者は思います。
ユーザー側の意図していない動作が発生し、IPベンダにクレームをつけたところ、IPベンダから「そちらのデータを見ないと分からないので、データをください」と切り返された、というのはよくある話です。しかし、このようにいわれてもユーザー側は機密保持の問題があるので簡単にはデータを出せません。ほとんどの場合「データは出せない。そちらで何とかしろ」とIPベンダ側に突き返すしかありません。こうなると、いつまでたっても問題は解決できません……。
では、どうしたらよいのか?
このような問題を解決するためには、IPベンダとユーザー側の“歩み寄り”が必要不可欠です。お互い「IPを良くしていこう!」というスタンスが大事なのです。
また、使用するIPに対して“どのように対価を払うのか”というIPベンダとの契約内容も重要な要素です。
一般的に、ユーザーがIPベンダへロイヤリティを支払う場合、開発したチップが売れれば売れるほどロイヤリティがIPベンダに入ります。そのため、IPベンダとしてもユーザーのサポートをしっかりと行ってくれます。しかし、売り切り契約の場合はそうもいきません。“値段は安いがサポートがほとんどない”ということも十分に考えられます。
実際どのくらい費用を掛けられるのか、プロジェクトによってさまざまだと思いますが、契約内容によってユーザーが受けられるサポートの内容も大きく変わってきますので十分に注意が必要です。
関連記事 半導体/エレクトロニクス
- 連載:イチから作って丸ごと学ぶ! H8マイコン道
- 特集:組み込みシステムに吹く“仮想化”の風
- 連載:組み込みマルチコア進化論(連載中)
- 連載:必修! FPGAタイミング解析の基礎(全5回)
- 連載:−ザ・組み込み−ソフトウェアのハードウェア化(連載中)
- 連載:S08ではじめるマイコン制御プログラミング(全6回)
- 連載:マイコン制御基礎の次(連載中)
- 連載:マイコン制御基礎の基礎(全10回)
- 連載:マイコン制御基礎以前(全10回)
- 連載:H8で学ぶマイコン開発入門(全13回)
- 連載:触って学ぼう FPGA開発入門(全6回)
- 連載:FPGA開発テクニック、チューニングの心得(全6回)
- 特集:いまさら聞けない FPGA入門
- 連載:バラして納得! 電子部品入門(全18回)
- 連載:完全マスター! 電子回路ドリル III(全14回)
- 連載:完全マスター! 電子回路ドリル II(全25回)
- 連載:完全マスター! 電子回路ドリル(全25回)
- 目指せ! 電子回路マスターへの道
- 目指せ! 電子回路マスターへの道 Part2
- 分かっておきたい、IP活用の落とし穴
組み込み開発フォーラム 新着記事
- フルスクラッチの“Hello World”を動かしてみよう(2011/3/31)
- FlexRayプロトコルの概要(その2)(2011/3/29)
- JASA、東北地域に拠点を置く会員企業を支援(2011/3/25)
- NEC、震災の影響を受けた4拠点の生産再開を発表(2011/3/23)
- 内部ブロック図の基礎と共通要素(2011/3/22)
- インテル、被災地におけるITインフラの復旧を支援(2011/3/22)
- Facts on AUTOSAR/AUTOSAR導入の現実(2011/3/18)
- 計測器・震災被害ホットラインを開設、テクトロニクス(2011/3/18)
- ZMP、地震の揺れを多角的に計測するアプリ無償配布(2011/3/16)
- メンター、3Dテレビ・マルチメディア検証プラットフォーム(2011/3/16)
- 【番外編】タチの良い計測値、悪い計測値とは?(2011/3/15)
- tarファイルシステムをAndroidに組み込む!!(2011/3/10)









