Core)とは、FPGA、IC、LSIなどの半導体を構成する再利用可能な回路コンポーネントの設計情報です。ソフトウェア開発においてはその設計情報を「ライブラリ」と呼ぶのに対して、半導体設計では「IPコア」や省略して「IP」と呼びます。IPコアには回路の種類、有償無償、ファイルフォーマットなどにおいて様々な種類が存在します。IPコアが利用されるようになった背景1959年にIC(集積回路)が発明されてから、その集積度は飛躍的に拡大してきました。集積度が拡大するに伴って、設計規模も拡大するため、設計を効率化する必要があります。そのために、設計抽象度の向上(トランジスタレベル⇒ゲートレベル⇒RTL⇒C言語やブロック線図)、設計自動化などと共に、設計資産の再利用が進みました。IPコアは機能ブロックごとに設計情報をまとめておくことで、様々な製品開発で利用できます。IPコアは、開発された会社や組織内、IPコアベンダの販売網、インターネットなどを通じて流通しています。IPコアを使用するメリット・デメリット全ての機能を一から自社開発しようとすると開発コストは大きくなり、開発期間も増大します。IPコアを利用することでこれらを抑えることができます。一度自社で開発した設計データを再利用できるようにしておくと、次回以降の設計において、IPコアとしてそれを利用して開発コストと開発期間を抑えることができます。IPコアにバグがあった場合、内部を把握していないため修正が困難になったり、隠蔽化されている場合はユーザーが修正することができなかったりするデメリットがあります。CODECなど)IPコアのファイルフォーマットハードマクロ:LSIを設計するためのマスクデータ(画像データ)で提供されるため、半導体製造プロセスに依存する。これはFPGAには利用できない。標準的なファイルフォーマットにはGDSIIがある。HDLなどの設計言語で記述されているものは内部を解読してカスタマイズや、シミュレーションすることが可能。ファイル形式はASCIIファイルで、拡張子は*.vhdまたは*.v。内部を解読できないよう暗号化されたバイナリ形式のファイルもある。ネットリスト:ブラックボックス化のために論理合成後のネットリストで提供されるものはカスタマイズが困難。ファイル形式がASCII形式でメーカー問わず共通化されているEDIFと、バイナリ形式でメーカー独自フォーマットのNGO、NGC、VQMなどがある。IPコアの課金方法FPGAベンダが自社のFPGA設計用に有償・無償で提供するものEDAベンダがLSI設計用に提供し、量産チップ単位で課金するものEDAベンダがLSI設計用に提供し、開発プロジェクト数に応じて課金するもの無償で提供されるもの(OpenCoresのようなフリーのIPコア掲載サイトもある)IPコア設計用ライブラリを提供するSimulink汎用のブロック線図シミュレータSimulinkは様々な機能をブロックライブラリとして提供しています。それらブロックライブラリを使用してユーザーが設計した「モデル」からはVHDL/Verilogコードを生成してLSIやFPGAに実装することができるため、そのライブラリはIPコアの基本構成要素とみなすこともできます。Simulinkが提供するVHDL/Verilog生成可能なライブラリには以下のようなものがあります。AXI4-Streamなどのバスインターフェースを自動的に付加したIPコアとIPコア定義ファイルを生成することができます。生成したIPコアはLSIやFPGA設計において、AXI4バスに接続される機能コンポーネントとして利用できます。FPGA用のIPコアの設計に利用されています。scienceMathWorksはエンジニアや研究者向け数値解析ソフトウェアのリーディングカンパニーです。