IPコア

IPコア（あいぴーコア、）とは、LSIを構成するための部分的な回路情報で、特に機能単位でまとめられているものを指す。単にIPと呼ぶ場合もある。

ASIC開発やプログラマブルロジックデバイスを用いた開発の際に利用する。

1990年代以降、LSIの開発手法としてハードウェア記述言語による開発が盛んになり、開発効率の向上が求められた。
そこで、既存開発製品の回路を、機能ブロック単位で再利用可能な形にまとめ、他の製品でも利用可な部分はそれを流用する方法が用いられた。
更に、この再利用可能な機能ブロックは、その開発者だけでなく、他の開発者や他の会社との間でもやり取りが行われるようになり、
新しいビジネスモデルが発達した。
IPコアベンダは、LSIを開発するためのIPコアを提供し、LSI開発側はIPコアベンダに使用料を支払う契約を結ぶのが一般的である。

IPとは元々は知的財産という意味だが、半導体業界において回路情報は重要な技術製品であり、形のない商品としてIPと呼ばれるようになった。

 IPコアの形態での分類 
LSIの集積規模が飛躍的に向上したことを背景に、大規模なIPコアも開発されるようになった。またプログラマブルロジックも、規模、速度ともに実用レベルに達すると、FPGAをメインのターゲットにしたIPコアも登場した。

 ハードマクロ
マスクに相当する画像データとして提供される。シミュレーション用に等価なゲートモデルや、ビヘイビアモデルも同時に提供されることが多い。
半導体プロセス技術に依存する。
ソフトマクロに比べ、性能、面積の面で優れる。
スタンダードセルでは実現できない回路（アナログ回路など）も含むことができる。
マスクパターンのため、プログラマブルロジックデバイスにプログラムすることはできない。あらかじめ埋め込まれているハードマクロが利用できる場合もある。
ストラクチャードASICでは、あらかじめ埋め込まれているハードマクロが存在する場合もある。
実チップになった実績があるものが多く、十分検証されている可能性が高い。

 ソフトマクロ
 RTLの形で提供されるもの。
利用者の手元でターゲットのプロセス用に論理合成すればよく、半導体プロセス技術に依存しない。
回路の構成がわかるため、トラブル発生時に解析が容易になる。
RTLレベルでカスタマイズすることが可能（商用IPコアの場合、サポートが受けられなくなる可能性もある）。
 ゲートレベルに論理合成されたネットリストの形のもの。
提供側がオリジナルのRTLを公開したくない場合に、ブラックボックスとして提供される。
IPコア内部の変更は基本的にできない。
 RTLより上位のビヘイビア記述の形で提供されるものもある。
 プロセッサコアの場合をソフトプロセッサという

また、IPコアベンダとして、商用のもの以外に、フリーで配布されているものもある。

 IPコアを利用する長所・短所 
長所
IPコアを利用することで、全てを始めから開発するより開発期間を短縮できる。
半導体プロセス技術に依存しない。（RTLで提供されるソフトマクロの場合）

短所
品質/信頼性 IPコアによっては詳細な設計仕様/検証結果がついていない場合もある。詳細な仕様や、どこまで正確に検証されているかを、よく確認する必要がある。
接続性 既存の回路にIPコアを組み合わせる場合、仕様の確認ミスから接続部分で問題が起こりやすい。
ハードマクロのIPコアの場合、ターゲットの半導体プロセス技術以外では利用できない。
高額なライセンスフィ IPコアを購入してライセンス契約をする際は、導入時に契約金を払う場合と、量産製品ひとつ毎に契約金を払う場合とがある。契約形態によってはそれら両方の場合もある。トラブル時のサポート体制なども含め、かえってコストがかかる場合もありうるため、商用IPコアを利用する場合はよく検討する必要がある。

 IPコアとして提供されている機能の例 
デジタル回路のIPコアが一般的であるが、アナログ回路のIPコアも存在する。

 デジタル回路
 プロセッサコア（ソフトマクロのものをソフトプロセッサ、ハードマクロのものをハードプロセッサという）、DSP
 プロセッサ周辺回路 （タイマー、DMA、割り込み制御、他）
 メモリ （フラッシュメモリ、SRAM、DRAM、他）
 基本的に半導体プロセス技術依存
 フルスクラッチのフルカスタムASICでのみ利用可能
 通信I/F （UART、SPI、I²C、USB、イーサネット、ATM、JTAG、他）
 バスI/F （PCI、PCI Express、AHB、ハードディスクドライブ I/F、各種メモリカードI/F、他）
 基本算術演算 （浮動小数点演算、FFT、他）
 暗号化/復号 （AES、DES、RSA、RC5、SHA-1、MD5、TLS/SSL、他）
 動画・画像処理 （静止画CODEC（JPEG、他）、動画CODEC （MPEG）、画像認識、他）
 音声処理 （音声CODEC（MP3、AAC、μ-law、A-law）、音声合成、他）

 アナログ回路
基本的に半導体プロセス技術依存
 AD、DA変換
 オペアンプ
 PLL、クロック、タイミング
 電源
 大電力ドライバ （モータドライバ）
 センサ （加速度、圧力、光/画像、温度、磁気、電流/電圧、他）

 主な用途 
 ASIC
 FPGAやCPLDなどのプログラマブルロジックデバイス

 関連項目 
 ハードウェア記述言語
 プログラマブルロジックデバイス
 ASIC
 システムLSI
 EDA (半導体)
 知的財産
 オープンソースハードウェア
 ライセンス生産

 脚注 

あいひいこあ
あいひいこあ
あいひいこあ