(57)【要約】【課題】複数の知的コアの自動統合を可能にするシステム・オン・チップ（ＳＯＣ）構造を提供する。【解決手段】このＳＯＣ構造は、チップ上の共通バスに接続された複数のセルを組み込む。各セルは、機能コアと、機能コアに接続された自動統合ユニット（ＡＩＵ）とを組み込む。各ＡＩＵは、その機能コアに関する統合情報を、共通バスを介して他のセル内のＡＩＵに通信する。ＡＩＵ間の情報の交換は、統合ユニット自体またはコントローラによって制御される。受信した統合情報に基づいて、各ＡＩＵは、統合のために必要とされるどんな構成調節も自動的に行うことができる。さらに、この情報の交換に基づいて、各機能コアは、ＳＯＣ動作中に、必要に応じて対話することができる。そのようなＳＯＣ構造を形成する関連方法、およびそのようなＳＯＣ構造のための設計構造も提供される。【選択図】図１
2011527097.tif 000002
【特許請求の範囲】
【請求項１】
共通バスと、
前記共通バスを介して通信する複数のセルと
を備えるシステム・オン・チップ（ＳＯＣ）構造であって、
各セルが、前記共通バスに接続された統合ユニットと、前記統合ユニットに接続された機能コアとを備え、
前記統合ユニットが、前記共通バスを介して前記機能コアに関する統合情報を他のすべてのセルに通信するように適合され、前記共通バスを介して前記他のすべてのセルから対応する統合情報を受信するようにさらに適合されるＳＯＣ構造。
【請求項２】
前記統合ユニットが、前記共通バスと通信するプロセッサをさらに備え、前記プロセッサが、前記対応する統合情報を解析し、前記対応する統合情報に基づいて前記セルの構成を調節するように適合される請求項１に記載のシステム・オン・チップ（ＳＯＣ）構造。
【請求項３】
前記プロセッサがさらに、前記統合情報を選択して、前記他のすべてのセルに前記統合情報をいつ通信するかを判定するように適合される請求項２に記載のシステム・オン・チップ（ＳＯＣ）構造。
【請求項４】
前記統合ユニットが、
前記統合情報を格納する第１メモリ装置と、
前記対応する統合情報を格納する第２メモリ装置と
をさらに備える請求項１ないし３のいずれかに記載のシステム・オン・チップ（ＳＯＣ）構造。
【請求項５】
前記統合情報が、コア・タイプ情報、コア構成情報、コア機能情報、およびコア使用情報のうちの少なくとも１つを含む請求項１ないし４のいずれかに記載のシステム・オン・チップ（ＳＯＣ）構造。
【請求項６】
前記統合ユニットが、通信ブロックをさらに備え、前記セルのすべての中のすべての統合ユニット内のすべての通信ブロックが、本質的に同一であり、指定の数の通信ブロック・ピンを備え、各通信ブロック・ピンが、前記共通バス上の特定のネットに関連する特定の識別子を有し、
前記特定の識別子を有する前記各通信ブロック・ピンが、前記共通バス上の前記特定のネットに接続され、それによって、異なる統合ユニット内の、同一の識別子を有する通信ブロック・ピンが、前記共通バス上の同一のネットに接続される請求項１ないし５のいずれかに記載のシステム・オン・チップ（ＳＯＣ）構造。
【請求項７】
前記共通バスに接続され、前記セルのそれぞれの中の前記統合ユニットと通信する統合ユニット・コントローラであって、前記セル間の情報の交換を規制および監視するように適合される統合ユニット・コントローラ
をさらに備える請求項１ないし６のいずれかに記載のシステム・オン・チップ（ＳＯＣ）構造。
【請求項８】
システム・オン・チップ（ＳＯＣ）構造を形成する方法であって、
それぞれが統合ユニットと前記統合ユニットに接続された機能コアとを備える、前記システム・オン・チップ（ＳＯＣ）構造のための複数のセルを選択すること、ならびに
各セルについて、
前記統合ユニットを共通バスに接続すること、
前記統合ユニットにより、前記共通バスを介して、前記共通バスに接続された他のすべてのセルに前記機能コアに関する統合情報を通信すること、および
前記統合ユニットにより、前記共通バスを介して、前記他のすべてのセルから対応する統合情報を受信すること
を含む方法。
【請求項９】
前記統合ユニットにより、前記対応する統合情報を解析し、前記対応する統合情報に基づいて前記セルの構成を調節することをさらに含む請求項８に記載の方法。
【請求項１０】
前記通信の前に、前記統合ユニットにより、前記統合情報を選択することをさらに含む請求項８または９に記載の方法。
【請求項１１】
前記統合ユニットにより、前記他のすべてのセルに前記統合情報をいつ通信するかを判定すること、および
前記共通バスに接続された統合ユニット・コントローラにより、前記セル間の情報の交換を規制および監視すること
のうちの１つをさらに含む請求項８ないし１０のいずれかに記載の方法。
【請求項１２】
前記統合ユニットが、前記統合情報を格納する第１メモリ装置と、第２メモリ装置とを備え、
前記方法が、前記対応する統合情報の前記受信後に、前記第２メモリ装置内に前記対応する統合情報を格納することをさらに含む請求項８ないし１１のいずれかに記載の方法。
【請求項１３】
前記統合ユニットが通信ブロックをさらに備え、
前記セルのすべての中のすべての統合ユニット内のすべての通信ブロックが、本質的に同一であり、指定の数の通信ブロック・ピンを備え、各通信ブロック・ピンが、前記共通バス上の特定のネットに関連する特定の識別子を有し、
前記共通バスへの前記統合ユニットの前記接続が、前記特定のネットに前記各通信ブロック・ピンを接続することを含み、それによって、異なる統合ユニット内の、同一の識別子を有する通信ブロック・ピンが、前記共通バス上の同一のネットに接続される請求項８ないし１２のいずれかに記載の方法。
【請求項１４】
コンピュータ・システム内にロードされ、コンピュータ・システム上で実行されるとき、請求項８ないし１３のいずれかに記載の方法のすべてのステップを前記コンピュータ・システムに実施させるコンピュータ・プログラム・コードを含むコンピュータ・プログラム。
【請求項１５】
機能データを有するデータ・キャリアであって、前記機能データが、コンピュータ・システム内にロードされ、コンピュータ・システムによって操作されるとき、前記コンピュータ・システムが請求項８ないし１３のいずれかに記載の方法のすべてのステップを実施することを可能にする機能コンピュータ・データ構造を含むデータ・キャリア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般にはシステム・オン・チップ（ＳＯＣ）構造に関し、より詳細には、複数のＩＰ（Intellectual Property）コアおよび他のコアの自動統合を可能にするＳＯＣ構造、ＳＯＣ構造のための設計構造、ならびにＳＯＣ構造を形成する関連方法に関する。
【背景技術】
【０００２】
システム・オン・チップ（ＳＯＣ）は、共通システム・バスを介して相互接続された複数の機能コアまたは機能マクロを通常は組み込む集積回路である。機能コアは、様々なサード・パーティのＩＰコア、論理コア、メモリ・コア、プロセッサ・コア、ダスト論理コア（dust logic core）、または入出力システム・コア、あるいはそれらの組合せを含むことができる。こうしたＳＯＣは、コアの数および種類の増加と共にますます大型となり、高密度となりつつある。このサイズおよび密度の増加により、ネットリスト作成中と物理設計中の両方で多数の機能コアを統合する複雑さのために必然的にターンアラウンド時間（ＴＡＴ）が長くなる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
したがって、ネットリスト作成および物理設計を単純化し、それによってターンアラウンド時間（ＴＡＴ）を最小限に抑えるために、ＳＯＣ内の機能コアの自動統合を可能にするＳＯＣ構造およびそのようなＳＯＣを形成する方法が当技術分野で求められている。
【課題を解決するための手段】
【０００４】
したがって本発明は、第１の態様で、共通バスと、前記共通バスを介して通信する複数のセルとを備えるシステム・オン・チップ（ＳＯＣ）構造であって、各セルが、前記共通バスに接続された統合ユニットと、前記統合ユニットに接続された機能コアとを備え、前記統合ユニットが、前記共通バスを介して前記機能コアに関する統合情報を他のすべてのセルに通信するように適合され、前記共通バスを介して前記他のすべてのセルから対応する統合情報を受信するようにさらに適合されるＳＯＣ構造を提供する。
【０００５】
好ましくは、前記統合ユニットは、前記共通バスと通信するプロセッサをさらに備え、前記プロセッサが、前記対応する統合情報を解析し、前記対応する統合情報に基づいて前記セルの構成を調節するように適合される。好ましくは、前記プロセッサがさらに、前記統合情報を選択して、前記他のすべてのセルに前記統合情報をいつ通信するかを判定するように適合される。好ましくは、前記統合ユニットは、前記統合情報を格納する第１メモリ装置と、前記対応する統合情報を格納する第２メモリ装置とをさらに備える。好ましくは、前記統合情報は、コア・タイプ情報、コア構成情報、コア機能情報、およびコア使用情報のうちの少なくとも１つを含む。好ましくは、前記コア構成情報は通信プロトコル情報を含む。好ましくは、前記統合ユニットは通信ブロックをさらに備え、前記セルのすべての中のすべての統合ユニット内のすべての通信ブロックは、本質的に同一であり、指定の数の通信ブロック・ピンを備え、各通信ブロック・ピンは、前記共通バス上の特定のネットに関連する特定の識別子を有し、前記特定の識別子を有する前記各通信ブロック・ピンが、前記共通バス上の前記特定のネットに接続され、それによって、異なる統合ユニット内の、同一の識別子を有する通信ブロック・ピンが、前記共通バス上の同一のネットに接続される。
【０００６】
好ましくは、前記機能コアは、ＩＰコア、論理コア、メモリ・コア、プロセッサ・コア、入出力（Ｉ／Ｏ）コア、およびダスト論理コアのうちの１つを含む。
【０００７】
一実施形態では、システム・オン・チップ（ＳＯＣ）構造は、共通バスと、前記共通バスを介して通信する複数のセルであって、各セルが、前記共通バスに接続された統合ユニットと、前記統合ユニットに接続された機能コアとを備え、前記統合ユニットが、前記共通バスを介して前記機能コアに関する統合情報を他のすべてのセルに通信するように適合され、前記共通バスを介して前記他のすべてのセルから対応する統合情報を受信するようにさらに適合される複数のセルと、前記共通バスに接続され、前記セルのそれぞれの中の前記統合ユニットと通信する統合ユニット・コントローラであって、前記セル間の情報の交換を規制および監視するように適合される統合ユニット・コントローラとを備える。好ましくは、前記統合ユニットは、前記共通バスと通信するプロセッサをさらに備え、前記プロセッサが、前記対応する統合情報を解析し、前記対応する統合情報に基づいて前記セルの構成を調節するように適合される。好ましくは、前記プロセッサがさらに、前記統合情報を選択するように適合される。好ましくは、前記統合ユニットは、前記統合情報を格納する第１メモリ装置と、前記対応する統合情報を格納する第２メモリ装置とをさらに備える。好ましくは、前記統合情報は、コア・タイプ情報、コア構成情報、コア機能情報、およびコア使用情報のうちの少なくとも１つを含む。好ましくは、前記コア構成情報は通信プロトコル情報を含む。好ましくは、前記統合ユニットは通信ブロックをさらに備え、前記セルのすべての中のすべての統合ユニット内のすべての通信ブロックは、本質的に同一であり、指定の数の通信ブロック・ピンを備え、各通信ブロック・ピンは、前記共通バス上の特定のネットに関連する特定の識別子を有し、前記特定の識別子を有する前記各通信ブロック・ピンが、前記共通バス上の前記特定のネットに接続され、それによって、異なる統合ユニット内の、同一の識別子を有する通信ブロック・ピンが、前記共通バス上の同一のネットに接続される。
【０００８】
第２の態様では、システム・オン・チップ（ＳＯＣ）構造を形成する方法であって、前記システム・オン・チップ（ＳＯＣ）構造のための複数のセルを選択することであって、前記セルがそれぞれ、統合ユニットと、前記統合ユニットに接続された機能コアとを備えること、ならびに各セルについて、前記統合ユニットを共通バスに接続すること、前記統合ユニットにより、前記共通バスを介して、前記共通バスに接続された他のすべてのセルに前記機能コアに関する統合情報を通信すること、および前記統合ユニットにより、前記共通バスを介して、前記他のすべてのセルから対応する統合情報を受信することを含む方法が提供される。
【０００９】
この方法は、前記統合ユニットにより、前記対応する統合情報を解析し、前記対応する統合情報に基づいて前記セルの構成を調節することをさらに含むことができる。この方法は、前記通信の前に、前記統合ユニットにより、前記統合情報を選択することをさらに含むことができる。この方法は、前記統合ユニットにより、前記他のすべてのセルに前記統合情報をいつ通信するかを判定すること、および前記共通バスに接続された統合ユニット・コントローラにより、前記セル間の情報の交換を規制および監視することのうちの１つをさらに含むことができる。好ましくは、前記統合ユニットは、前記統合情報を格納する第１メモリ装置と、第２メモリ装置とを備え、前記方法は、前記対応する統合情報の前記受信後に、前記第２メモリ装置内に前記対応する統合情報を格納することをさらに含む。好ましくは、前記統合情報は、コア・タイプ情報、コア構成情報、コア機能情報、およびコア使用情報のうちの少なくとも１つを含み、前記コア構成情報は通信プロトコル情報を含む。好ましくは、前記統合ユニットは通信ブロックをさらに備え、前記セルのすべての中のすべての統合ユニット内のすべての通信ブロックは、本質的に同一であり、指定の数の通信ブロック・ピンを備え、各通信ブロック・ピンは、前記共通バス上の特定のネットに関連する特定の識別子を有し、前記共通バスへの前記統合ユニットの前記接続は、前記特定のネットに前記各通信ブロック・ピンを接続することを含み、それによって、異なる統合ユニット内の、同一の識別子を有する通信ブロック・ピンが、前記共通バス上の同一のネットに接続される。
【００１０】
第３の態様では、機能データを有するデータ・キャリアであって、前記機能データが、コンピュータ・システム内にロードされ、コンピュータ・システムによって操作されるとき、前記コンピュータ・システムが第２の態様の方法のすべてのステップを実施することを可能にする機能コンピュータ・データ構造を含むデータ・キャリアが提供される。
【００１１】
第３の態様は、機械可読媒体で具体化された設計構造の形態で実現することができ、設計構造は、前記共通バスを介して通信する複数のセルを備えるシステム・オン・チップ（ＳＯＣ）構造を含み、各セルは、前記共通バスに接続された統合ユニットと、前記統合ユニットに接続された機能コアとを備え、前記統合ユニットが、前記共通バスを介して前記機能コアに関する統合情報を他のすべてのセルに通信するように適合され、前記共通バスを介して前記他のすべてのセルから対応する統合情報を受信するようにさらに適合される。好ましくは、設計構造はネットリストを含む。好ましくは、設計構造は、集積回路のレイアウト・データの交換のために使用されるデータ・フォーマットとして記憶媒体上に常駐する。
【００１２】
第４の態様では、コンピュータ・システム内にロードされ、コンピュータ・システム上で実行されるとき、第２の態様による方法のすべてのステップを前記コンピュータ・システムに実施させるコンピュータ・プログラム・コードを含むコンピュータ・プログラムが提供される。
【００１３】
上記に照らして、複数のＩＰコアならびに他の機能コアの自動統合を可能にするシステム・オン・チップ（ＳＯＣ）構造の実施形態が本明細書で開示される。このＳＯＣ構造実施形態は、チップ上に共通システム・バスに接続された複数のセルを備える。各セルは、機能コアと、機能コアに接続された自動統合ユニット（ＡＩＵ）とを組み込む。各セル内の各ＡＩＵは、その機能コアに関する統合情報（例えば、コア・タイプ情報、コア構成情報、コア使用情報など）を、共通バスを介して他のセル内のＡＩＵに通信する。ＡＩＵ間のそのような統合情報の交換は、統合ユニット自体、または共通バスにやはり接続されたコントローラ（すなわちアービタ）によって制御される。受信した統合情報に基づいて、各ＡＩＵは、統合のために必要とされるどんな構成調節も自動的に行うことができる。さらに、この情報の交換に基づいて、各機能コアは、ＳＯＣ動作中に、必要に応じて対話することができる。そのようなＳＯＣ構造を形成する関連方法、およびそのようなＳＯＣ構造のための設計構造も開示される。
【００１４】
より具体的には、本発明のシステム・オン・チップ（ＳＯＣ）構造の実施形態はすべて、共通バスと、この共通バスを介して互いに接続され、通信する複数のセルとを備える。各セルは機能コアを備えることができる。機能コアは、例えばＩＰコア、論理コア、メモリ・コア、プロセッサ・コア、入出力（Ｉ／Ｏ）コア、ダスト論理コアなどを含む。さらに、各セル内で、機能コアが埋込み自動統合ユニット（ＡＩＵ）に接続される。各ＡＩＵが、その機能コアに関する統合情報を、共通バスを介して他のすべてのセルに通信するように適合され、共通バスを介して他のすべてのセルから対応する統合情報を受信するようにさらに適合される。したがって、ＡＩＵにより、ＳＯＣ構造内への機能コアの自動統合が可能となる。
【００１５】
具体的には、ＡＩＵは 本質的に汎用であり、各ＡＩＵは、通信ブロック、プロセッサ、および２つのメモリ・インスタンスを備える。所与のセル内で、ＡＩＵの通信ブロックは、セルと共通バスとの間の接続を実現する。セルのすべての中のＡＩＵのすべての中の通信ブロックのすべては、本質的に同一である。各通信ブロックは、同一の指定の数の通信ブロック・ピンを備え、こうした通信ブロック・ピンのそれぞれは、それを共通バス上の特定のネットに関連付ける特定の識別子を有する。共通バス上で、各通信ブロック・ピンが、それが関連付けられるその特定のネットに接続される。したがって、同一の識別子を有する任意の通信ブロック・ピンが、異なる統合ユニット内の異なる通信ブロック上に位置する場合であっても、共通バス上の同一のネットに接続される。したがって、各セル内で、機能コア・ピンが適切な通信ブロック・ピンに接続され、必要なネットに機能コアが適切に接続されることが保証される。
【００１６】
さらに、所与のセル内で、ＡＩＵ内の第１メモリ装置に、その機能コアに関する統合情報がプリロードされる。この統合情報は、例えばコア・タイプ情報、コア構成情報（例えば通信プロトコル情報）、コア機能情報、コア使用情報などを含むことができる。ＡＩＵ内の第２メモリ装置が、その後に他のセルから受信した対応する統合情報を格納する。ＡＩＵプロセッサは、通信ブロックを介して共通バスと通信し、２つのメモリ・インスタンスにもアクセスすることができる。このプロセッサは、第１メモリ装置から、共通バスを介して他のセルに通信すべき統合情報を選択するように適合される。さらに、このプロセッサは、他のセルから対応する統合情報を受信し、第２メモリ装置上にその対応する統合情報を格納するように適合される。セル間の統合情報の交換は、ＡＩＵで自己制御することができ、または共通バスにやはり接続された統合ユニット・コントローラ（すなわちアービタ）で集中式に制御することができる。
【００１７】
各ＡＩＵ内で、プロセッサは、他のセルから受信した対応する統合情報を解析するようにさらに適合される。この解析に基づいて、プロセッサは、セルの構成を調節することができる。次いで、ＳＯＣの機能動作中に、ＳＯＣ上で他のどの資源（すなわち他の機能コア）が利用可能かを判定し、そうした他の資源にどのようにアクセスし、または使用することができるかを判定し、あるいはその両方を判定するために、この対応する統合情報にＡＩＵプロセッサでアクセスすることができる。したがって、情報の交換に基づいて、異なるセル内の機能コアが、必要に応じて対話することができる（すなわち、異なるセル内の機能コアを自動的に統合することができる）。
【００１８】
上述のＳＯＣ構造を形成する方法の実施形態も本明細書で開示される。この方法実施形態は、各セルが機能コア（例えば、ＩＰコア、論理コア、メモリ・コア、プロセッサ・コア、入出力（Ｉ／Ｏ）コア、ダスト論理コアなど）と、機能コアに接続された自動統合ユニット（ＡＩＵ）とを備えるように様々なセルを形成することを含む。次に、この方法は、ＳＯＣ構造のための複数のこうしたセルを選択することを含む。次いで、各セルについて、ＡＩＵがＳＯＣ上の共通バスに接続される。
【００１９】
セル形成中に、上記で詳述した汎用ＡＩＵが、各セルに組み込まれる。各セルが形成され、各セル内の各ＡＩＵが共通バスに接続された後に、ＡＩＵ間の情報の交換を行うことができる。具体的には、この方法実施形態は、他のセルのすべてに通信すべきそれぞれの機能コアに関する統合情報をＡＩＵで選択することを含むことができる。この統合情報は、例えば、コア・タイプ情報、コア構成情報（例えば通信プロトコル情報）、コア機能情報、コア使用情報などを含むことができる。次いで、１つのＡＩＵが、共通バスを介して、共通バスに接続された他のセルのすべてに、選択した統合情報を通信する。その統合情報をブロードキャストした後に、その１つのＡＩＵは、他のセルのすべてから対応する統合情報を受信し、その第２メモリ装置上にその情報を格納することができる。何らかの１つのＡＩＵが情報を送信中であるとき、他のすべてのＡＩＵは聴取モードにとどまり、その第２メモリ装置上にブロードキャスト情報を受信および格納する。１つのＡＩＵがその情報を送信した後は、プロセスが別のＡＩＵによって反復され、すべての統合情報が共有されるまで以下同様である。
【００２０】
この統合情報の交換は、ＡＩＵで自己制御することができ、または共通バスにやはり接続された統合ユニット・コントローラで制御することができる。したがって、この方法の一実施形態は、統合情報を他のすべてのセルにいつ通信するかを、各ＡＩＵで個別に判定することを含む。この方法の別の実施形態は、共通バスに接続された統合ユニット・コントローラで、セル間の情報の交換を規制および監視することを含む。
【００２１】
情報の交換がどのように制御されるかに関わらず、他のセルから対応する統合情報を受信した後に、受信側ＡＩＵは、それ自体の第２メモリ装置内に他のセルからの対応する統合情報を格納し、必要に応じてそれにアクセスする。例えば、この方法実施形態は、ＳＯＣの機能動作中にセルを他のセルのすべてと統合することができることを保証するために、ＡＩＵ、より具体的にはＡＩＵ内のプロセッサで、受信した対応する統合情報を解析し、その情報に基づいてセルの構成を調節することを含むことができる。さらに、ＳＯＣの機能動作中に、所与のセル内のＡＩＵは、対応する統合情報にアクセスすることができる。この情報に基づいて、ＡＩＵは、他のどの資源（すなわち他の機能コア）がＳＯＣ上で利用可能かを判定し、そうした他の資源にどのようにアクセスし、または使用することができるかを判定し、あるいはその両方を判定することができる。したがって、統合情報の交換により、異なるセル内の機能コアが、ＳＯＣの機能動作中に必要に応じて対話することが可能となる。
【００２２】
上述のシステム・オン・チップ（ＳＯＣ）構造に関する設計構造の実施形態も本明細書で開示される。この設計構造は、機械可読媒体で具体化することができ、集積回路のレイアウト・データの交換のために使用されるデータ・フォーマットとして記憶媒体上に常駐することができ、ネットリストを含むことができる。
【００２３】
以下の説明および添付の図面と共に考慮するときに、本発明の実施形態の上記および他の態様がより良く理解されよう。しかし、以下の説明は、本発明の実施形態および本発明の多数の特定の細部を示すものの、限定としてではなく例として与えられることを理解されたい。本発明の精神から逸脱することなく、実施形態の範囲内で多数の変更および修正を行うことができ、実施形態は、そのような変更および修正を含む。
【００２４】
次に、添付の図面を参照しながら、本発明の好ましい実施形態を単なる例として説明する。
【図面の簡単な説明】
【００２５】
【図１】本発明の例示的システム・オン・チップ（ＳＯＣ）構造を示す概略ブロック図である。
【図２】図１のＳＯＣ構造に組み込むことのできる例示的セルを示す概略ブロック図である。
【図３】本発明の方法の一実施形態を示す流れ図である。
【図４】図３の方法ステップのうちの１つを示す流れ図である。
【図５】半導体設計、製造、または試験、あるいはそれらの組合せで使用される設計プロセスを示す流れ図である。
【発明を実施するための形態】
【００２６】
上記で触れたように、システム・オン・チップ（ＳＯＣ）は、共通システム・バスを介して相互接続された複数の機能コアまたは機能マクロを通常は組み込む集積回路である。機能コアは、様々なサード・パーティのＩＰコア、論理コア、メモリ・コア、プロセッサ・コア、ダスト論理コア、または入出力システム・コア、あるいはそれらの組合せを含むことができる。こうしたＳＯＣは、コアの数および種類の増加と共にますます大型となり、高密度となりつつある。このサイズおよび密度の増加により、ネットリスト作成中と物理設計中の両方で多数の機能コアを統合する複雑さのために必然的にターンアラウンド時間（ＴＡＴ）が長くなる。したがって、ネットリスト作成および物理設計を単純化し、それによってターンアラウンド時間（ＴＡＴ）を最小限に抑えるために、ＳＯＣ内の機能コアの自動統合を可能にする構造および方法が当技術分野で求められている。
【００２７】
上記に鑑みて、複数のＩＰコアならびに他の機能コアの自動統合を可能にするシステム・オン・チップ（ＳＯＣ）構造の実施形態が本明細書で開示される。このＳＯＣ構造実施形態は、チップ上に共通システム・バスに接続された複数のセルを備える。各セルは、機能コアと、機能コアに接続された自動統合ユニット（ＡＩＵ）とを組み込む。各セル内の各ＡＩＵは、その機能コアに関する統合情報（例えば、コア・タイプ情報、コア構成情報、コア使用情報など）を、共通バスを介して他のセル内のＡＩＵに通信する。ＡＩＵ間のそのような統合情報の交換は、統合ユニット自体、または共通バスにやはり接続されたコントローラ（すなわちアービタ）によって制御される。受信した統合情報に基づいて、各ＡＩＵは、統合のために必要とされるどんな構成調節も自動的に行うことができる。さらに、この情報の交換に基づいて、各機能コアは、ＳＯＣ動作中に、必要に応じて対話することができる。そのようなＳＯＣ構造を形成する関連方法、およびそのようなＳＯＣ構造のための設計構造も開示される。
【００２８】
図１を参照すると、本発明のシステム・オン・チップ（ＳＯＣ）構造１００の実施形態はすべて、共通バス１５０と、この共通バス１５０に接続され、この共通バス１５０を介して互いに通信する複数のセル１０１とを備える。共通バス１５０は、例えば、ＳＯＣ１００の機能動作のために使用される同一のバス（すなわちシステム・バス）でよい。
【００２９】
各セル１０１は、機能コア１３０（すなわち、機能マクロ、機能ブロックなど）を備えることができる。機能コア１３０は、例えばＩＰコア、論理コア、メモリ・コア、プロセッサ・コア、入出力（Ｉ／Ｏ）コア、ダスト論理コアなどを含むことができる。したがって、従来技術のＳＯＣ構造と同じく、ＳＯＣ構造１００上のセル１０１の組合せは、様々なＩＰコア、論理コア、メモリ・コア、プロセッサ・コア、ダスト論理コア、または入出力システム・コア、あるいはそれらの組合せを組み込むことができる。しかし、従来技術のＳＯＣ構造とは異なり、各セル１０１内で、機能コア１３０が組込み自動統合ユニット（ＡＩＵ）１２０に接続される。
【００３０】
各ＡＩＵ１２０が、その機能コア１３０に関する統合情報を、共通バス１５０を介して他のすべてのセル１０１に通信するように適合され、共通バス１５０を介して他のすべてのセル１０１から対応する統合情報を受信するようにさらに適合される。したがって、ＡＩＵ１２０により、ＳＯＣ構造１００内への機能コア１３０の自動統合が可能となる。この自動統合は、ＳＯＣ１００がパワーアップされるごとに、またはセル１０１に対して変更が行われ、もしくは新しいセル１０１がＳＯＣ１００に追加されるごとに、あるいはその両方で、ＳＯＣ１００の初期化時（すなわち、ＳＯＣ１００の初期パワーアップ時）に行うことができ、すべてのセル１０１が、統合のために必要なすべての情報を保有することが保証される。
【００３１】
より具体的には、図１と共に図２の例示的セル構造１０１ａを参照すると、セル１０１に組み込まれるＡＩＵ１２０は本質的に汎用であり、各ＡＩＵ１２０は、通信ブロック１２６、プロセッサ１２５、および２つのメモリ・インスタンス１２１〜１２２を備える。所与のセル（例えばセル１０１ａ）内で、ＡＩＵ１２０の通信ブロック１２６は、セルと共通バス１５０との間の接続を実現する。ＳＯＣ１００内のセル１０１のすべての中のＡＩＵ１２０のすべての中の通信ブロック１２６のすべては、本質的に同一であり、標準通信プロトコル（例えば多元接続有線／ワイヤレス・バス・プロトコル（multiple access wired/wireless bus protocol））を使用する。各通信ブロック１２６は、同一の指定の数（例えば、５００本、１０００本、１５００本など）の通信ブロック・ピン１２７（すなわち通信ブロック・ビット）を備え、こうした通信ブロック・ピン１２７のそれぞれは、それを共通バス１５０上の特定のネット１５７（すなわち特定のポート）に関連付ける特定の識別子（例えば、ピン１、ピン２、ピン３など）を有する。各通信ブロック・ピン１２７が、共通バス１５０上で、それが関連付けられる特定のネット１５７に接続される。したがって、同一の識別子を有する任意の通信ブロック・ピン１２７が、異なるＡＩＵ内の異なる通信ブロック上に位置する場合であっても、共通バス１５０上の同一のネットに接続される。すなわち、所与のセル（例えばセル１０１ａ）内の機能コア１３０構造の如何に関わらず、そのＡＩＵ１２０が、他の任意のセル１０１内のＡＩＵ１２０と同様に共通バス１５０に接続される。しかし、機能コア１３０が必要とされるネット１５７に接続されることを保証するために、各セル１０１内で、機能コア・ピン１３７（すなわち機能コア・ビット）を適切な通信ブロック・ピン１２７に接続しなければならない。
【００３２】
こうした汎用通信ブロック１２６は、設計者がＳＯＣ１００内の様々なセル１０１を共通バス１５０に容易に接続することを可能にすることにより、ＳＯＣ１００製造中のネットリスト作成時間を著しく削減する。具体的には、上記で論じたように、各セル１０１内で、実際の機能コア・ピン１３７と特定のバス・ポート接続１５７がＡＩＵ１２０によって互いに分離され、チップ・インテグレータ（すなわち、設計者、ネットリスト作成者など）にとっての複雑さが限定される。すなわち、ネットリスト作成中に、設計者は、セル１０１のすべてをＳＯＣ１００に統合するために、各セル１０１内の各機能コア１３０に対して必要な複雑な機能、構成の必要、またはラッパ論理を理解する必要はない。汎用通信ブロック１２６により、非常に一般的な方式で機能コア１３０を共通バス１５０に接続することが可能となる。ＳＯＣ１００上のセル１０１と共通バス１５０との接続性を記述するネットリストを作成する際に、設計者（複数可）が知っている必要があるのは単に、機能コア１３０のピン１３７が通信ブロック・ピン１２７  Ｘ０〜Ｘｎに接続され、したがって少なくとも通信ブロック・ピン１２７  Ｘ０〜Ｘｎを共通バス上の関連するポート１５７に接続しなければならないことだけである。設計者（複数可）が、ある機能コアについて限定された入力を必要とすることもあることに留意されたい。例えば、設計者（複数可）は、ＳＯＣ１００との正しいソフトウェア対話を保証するために、所与のセル（例えばセル１０１ａ）内の機能コア１３０が特定のＩ／Ｏにアクセスする必要があることがあることを知っている必要があることがある（例えば、ＵＳＢ１をＩ／Ｏ  ｐｉｎ１に接続しなければならず、ＵＳＢ２をＩ／Ｏ  ｐｉｎ２に接続しなければならず、以下同様であり、その結果、ハードウェア層および非ハードウェア層は、何と通信しているかを認識している）。
【００３３】
所与のセル（例えばセル１０１ａ）内で、ＡＩＵ１２０内の第１メモリ装置１２１（例えば不揮発性メモリ装置）が、そのセル１０１ａをＳＯＣ１００に統合するのに必要なすべての情報を格納する。すなわち、第１メモリ装置１２１に統合情報がプリロードされる。この統合情報は、具体的には、所与のセル１０１ａ内の機能コアに関するものであり、例えば、コア・タイプ情報（例えば、ＵＳＢ、イーサネット、プロセッサ、ｓｅｒｄｅｓ、ｂｉｓｔ、ｒａｍ、Ｉ／Ｏ、．．．）、コア構成情報（例えば、共通バス１５０上のビット・カウントや選ばれたアドレス空間などの通信プロトコル情報）、コア機能情報、およびコア使用情報（例えば、外部メモリが必要かどうか、どれほどの外部メモリが必要か、この外部メモリと通信するのに使用するアドレスなど）を含むことができる。ＡＩＵ１２０内の第２メモリ装置１２２（例えば別の不揮発性メモリ装置）は、その後で他のセル１０１から受信した対応する統合情報を格納する。
【００３４】
所与のセル（例えばセル１０１ａ）内のＡＩＵプロセッサ１２５は、通信ブロック１２６を介して共通バス１５０と通信する。プロセッサ１２５はさらに、２つのメモリ・インスタンス１２１〜１２２にアクセスすることができる。このプロセッサ１２５は、第１メモリ装置１２１から、共通バス１５０を介して他のセル１０１に通信すべき統合情報を選択するように適合される。すなわち、プロセッサ１２５論理は、通信ブロック１２６を介して共通バス１５０に、およびＳＯＣ１００内の他のセル１０１に対してどの関連統合情報（例えば、どのタイプの情報、構成情報、機能情報、使用情報など）を渡す必要があるかを制御する。さらに、このプロセッサ１２５は、他のセル１０１から対応する統合情報を受信し、その対応する統合情報を第２メモリ装置１２２上に格納するように適合される。
【００３５】
セル１０１間、より具体的にはＡＩＵ１２０間の統合情報の交換は、ＡＩＵ１２０で自己制御することができ、または共通バス１５０にやはり接続された統合ユニット・コントローラ１１０（すなわちアービタ）で集中式に制御することができる。具体的には、ＳＯＣ構造１００の一実施形態では、ＡＩＵ１２０は完全に自律的である。すなわち、各ＡＩＵ１２０、より具体的には各セル１０１内のＡＩＵ１２０内のプロセッサ１２５が、そのセルから他のすべてのセルに統合情報をいつ通信するかを判定するように適合される。例えば、プロセッサ１２５は、共通バス１５０が空きであるかどうかを判定する（すなわち、他のＡＩＵ１２０が現在のところ情報を送信（すなわちブロードキャスト）していないと判定する）ように適合されるセンサ１２８（例えば、何らかのタイプのキャリア・センス多元接続ルーチン（carrier sense multiple access routine））を備えることができる。共通バス１５０が空きである場合、プロセッサ１２５は、そのセル１０１に関する統合情報を送信（すなわちブロードキャスト）することを開始することができる。
【００３６】
ＳＯＣ構造１０１の別の実施形態では、統合ユニット・コントローラ１１０（すなわちアービタ）が共通バス１５０に接続される。この統合ユニット・コントローラ１１０は、各セル１０１内のＡＩＵ１２０と通信し、セル１０１間の情報の交換を規制および監視するように適合される。すなわち、各セル１０１内の各ＡＩＵ１２０に、共通バス１５０を介していつ通信するかを無作為に判定させるのではなく、コントローラ１１０がこの判定を行う。コントローラ１１０はさらに、そのような通信を登録および追跡することができる。コントローラ１１０はさらに、遅れてウェイクアップしたセル（late waking cell）または新しいセルに、何らかのトランザクションを紛失した可能性があることを警報し、またはすべてのセル１０１に再初期化ルーチンを開始すべきことをシグナリングし、あるいはその両方を行うために、ＳＯＣ１００内のどれだけのセル１０１が統合情報を送信したかをブロードキャストするように適合することができる。どちらの実施形態でも、１つのセル（例えばセル１０１ａ）が統合情報を送信中であるとき、他のすべてのセル１０１は聴取格納状態（listening-storingstate）にとどまる。
【００３７】
各ＡＩＵ１２０内で、プロセッサ１２５はさらに、他のセル１０１から受信した対応する統合情報を解析するように適合される。この解析に基づいて、プロセッサ１２５は、機能ＳＯＣ動作中のシステム・オン・チップ（ＳＯＣ）構造１００上のセル１０１の自動統合が可能となるように、セル１０１の構成、より具体的には機能コア１３０の構成を必要に応じて調節することができる。
【００３８】
例えば、上記で触れたように、１つのセル１０１が統合情報を送信（すなわちブロードキャスト）するとき、他のすべてのセルは聴取格納状態にとどまる。どの統合情報が他のセルで受信されるかに応じて、他のセルは、それに応じてその構成を調節する。例えば、単一のセル（例えばセル１０１ａ）内のＡＩＵ１２０が、特定のアドレス空間に対する要求を示す統合情報を送出する場合、他のすべてのセル１０１内の他のすべてのＡＩＵ１２０が、この情報を記録する。次いで、別のセルが共通バス１５０の制御を得て、その統合情報を送信するとき、その別のセルは、セル１０１ａによって既に取得されたものとは異なるアドレス空間を選ばなければならない。したがって、各ＡＩＵ１２０は、バスを介して統合情報を送信（すなわちブロードキャスト）する順番の間、マスタとして機能する。
【００３９】
統合情報の交換が完了した後は、機能ＳＯＣ動作を開始することができ、その間、セル１０１間の対話がＡＩＵ１２０を介して調整される。具体的には、ＳＯＣ１００の機能動作中、各セル１０１内のプロセッサ１２５は、他のどの資源（すなわち他の機能コア１３０）がＳＯＣ１００上で利用可能かを判定し、そうした他の資源にどのようにアクセスし、または使用することができるかを判定し、あるいはその両方を判定するために、第２メモリ１２２内の対応する統合情報にアクセスすることができる。この統合情報の交換のために、ネットリスティング中または物理設計段階中に、ＳＯＣ１００内に他に何が存在するかについての事前の知識は不要である。セル１０１がどのような挙動を示し、ＳＯＣ１００内の他のセル１０１とどのように対話する（すなわち、データを送信／受信する）かは、統合情報の交換に基づいて判定される。
【００４０】
図１〜２と共に図３を参照すると、上述のＳＯＣ構造１００を形成する方法の実施形態も本明細書で開示される。この方法実施形態は、各セル１０１が機能コア１３０（例えば、ＩＰコア、論理コア、メモリ・コア、プロセッサ・コア、入出力（Ｉ／Ｏ）コア、ダスト論理コアなど）と、機能コア１３０に接続された自動統合ユニット（ＡＩＵ）１２０とを備えるように様々なセル１０１を形成することを含む（３０２、図２の例示的セル１０１ａを参照）。次に、この方法は、ＳＯＣ構造１０１のための複数のこうしたセル１０１を選択することを含む（３０４）。次いで、各セル１０１について、ＡＩＵ１２０がＳＯＣ１００上の共通バス１５０に接続される（３０６、図１参照）。共通バス１５０は、例えば、ＳＯＣの機能動作のために使用される同一のバス（すなわちシステム・バス）でよい。
【００４１】
プロセス３０２でのセル形成中、上記で詳述したように、各セル内のＡＩＵ１２０は汎用ＡＩＵであるべきである。すなわち、図２の例示的セル１０１ａに示されるように、各セル内の各ＡＩＵ１２０が通信ブロック１２６、プロセッサ１２５、プリロードされたセル特有の統合情報を格納する第１メモリ装置１２１、およびその後で他のセルから対応する統合情報を格納するように構成された第２メモリ装置１２２を備えるように各ＡＩＵ１２０を形成すべきである。セル１０１のすべての中のＡＩＵ１２０のすべての中の通信ブロック１２６のすべては、本質的に同一であるべきである。各通信ブロック１２６は、同一の指定の数の通信ブロック・ピン１２７（すなわち通信ブロック・ビット）を有するべきであり、こうした通信ブロック・ピン１２７のそれぞれは、それを共通システム・バス１５０上の特定のネット１５７（すなわち特定のポート）に関連付ける特定の識別子を有するべきである。次いで、機能コア・ピン１３７（すなわち機能コア・ビット）が、適切な通信ブロック・ピン１２７（すなわち、ＡＩＵがない場合に接続されることになるネットに関連付けられる通信ブロック・ピン）に接続される。ＡＩＵ１２０が共通バス１５０に接続されるとき、各通信ブロック・ピン１２７が、それが関連付けられる特定のネット１５７に接続され、したがって機能コア１３０がバス１５０上の必要とされるネット１５７に接続されることが保証される。
【００４２】
プロセス３０６で、各セル１０１、より具体的には各セル１０１内の各ＡＩＵ１２０が共通バス１５０に接続された後は、セル１０１間、より具体的にはＡＩＵ１２０間の通信を行うことができる（すなわち、共通バス１５０を介してＡＩＵ１２０間の統合情報の交換を行うことができる）（３０８）。具体的には、この方法実施形態は、他のセル１０１のすべてに通信（すなわち、送信、ブロードキャストなど）すべきそれぞれの機能コア１３０に関する統合情報を、すべてのセル１０１内のＡＩＵ１２０で選択することを含むことができる（３１０）。この統合情報は、例えば、コア・タイプ情報、コア構成情報（例えば通信プロトコル情報）、コア機能情報、コア使用情報などを含むことができる。次いで、１つのＡＩＵ１２０（例えば、セル１０１ａ内のＡＩＵ１２０）が、共通バス１５０を介して、共通バス１５０に接続された他のセル１０１のすべてに、選択した統合情報を通信（すなわち、送信、ブロードキャストなど）する（３１２）。その統合情報を送信する前または後に、セル１０１ａ内の１つのＡＩＵ１２０はまた、他のセルのＡＩＵ１２０のすべてから対応する統合情報を受信および格納することもできる。セル１０１ａの１つのＡＩＵ１２０がその情報を送信した後は、プロセスを別のＡＩＵによって反復することができ、すべての統合情報が共有されるまで以下同様である（３１４）。したがって、このプロセス３０８の間の所与の時間に、任意の１つのＡＩＵが、統合情報を通信（すなわち、送信、ブロードキャストなど）していることができ、他のすべては、その統合情報を聴取（すなわち、受信および格納）することができる。
【００４３】
プロセス３０８での統合情報の交換は、ＡＩＵ１２０で自己制御することができ、または図１に示されるように、共通バス１５０にやはり接続された統合ユニット・コントローラ１１０（すなわちアービタ）で制御することができる。具体的には、図４を参照すると、方法の一実施形態は、統合情報を他のすべてのセルにいつ通信するかを、各ＡＩＵで別個に判定することを含む（４０２〜４０４）。この判定プロセスは、共通バスが空きであるかどうかをＡＩＵ１２０でまず判定することを含むことができる。すなわち、ＡＩＵ１２０はすべて、（例えば、何らかのタイプのキャリア・センス多元接続ルーチンを使用して）共通バスを聴取し（４０２）、何らかの他のＡＩＵ１２０が共通バス１５０を介して情報を送信中であるかどうかを判定する（すなわち、共通バス１５０上にデータがあるかどうかを判定する）（４０４）。共通バス１５０が空きではない場合（すなわち、データが別のＡＩＵ１２０によってブロードキャスト中である場合）、聴取側ＡＩＵ１２０は、それぞれの第２メモリ装置１２２上に、受信した統合情報があればそれを格納する（４０６）。共通バス１５０が空きである場合（すなわち、バス１５０上にデータがない場合）、１つのセル（例えばセル１０１ａ）内のＡＩＵ１２０は、共通バス１５０を介して他のセル１０１のすべてにその機能コア１３０に関する統合情報を送信（すなわち、通信、ブロードキャストなど）することを開始することができる（４０８）。すべてのＡＩＵ１２０がその統合情報を共有する機会を得るまで、プロセス４０２〜４０８が続行される。この方法の別の実施形態では、プロセス３０８でのセル１０１間の統合情報の交換が、共通バス１５０に接続された統合ユニット・コントローラ１１０で集中式に規制および監視される。すなわち、各セル１０１内の各ＡＩＵ１２０に、共通バス１５０を介していつ通信するかを自律的かつ無作為に判定させるのではなく、コントローラ１１０がこの判定を行う。具体的には、セル間の情報の交換が、中央コントローラ１１０によって登録および追跡される。さらに、ＳＯＣ１００内のセル１０１に、統合情報を既に送信したセルの数に関してこの中央コントローラ１１０によって通知することができ、遅れてウェイクアップしたセルもしくは新しいセルに、何らかのトランザクションを紛失した可能性があることをこの中央コントローラ１１０によって警報することができ、またはすべてのセル１０１に、再初期化ルーチンを開始すべきことをこの中央コントローラ１１０によって通知することができ、あるいはそれらの組合せを行うことができる。いずれの実施形態でも、何らかの１つのセルが統合情報を送信中であるとき、他のすべてのセルは聴取格納状態にとどまる。
【００４４】
こうした実施形態のそれぞれで、他のセルから対応する統合情報を受信した後に、受信側ＡＩＵは、それ自体の第２メモリ装置内に他のセルからの対応する統合情報を格納し（３１２）、必要に応じてそれにアクセスする。例えば、この方法実施形態は、ＳＯＣ１００の機能動作中にすべてのセル１０１を統合することができることを保証するために、他のセル１０１から受信した対応する統合情報がある場合にはそれを、ＡＩＵ１２０、より具体的にはＡＩＵ１２０内のプロセッサ１２５で解析し、受信情報に基づいてそれぞれのセル１０１の構成を調節することを含むことができる（３１６）。さらに、プロセス３０８〜３１６で統合情報の交換が完了し、何らかの構成調節が行われた後は、ＳＯＣ１００の機能動作を開始することができる（３１８）。ＳＯＣ１００の機能動作中、他のどの資源（すなわち他の機能コア）がＳＯＣ１０１上で利用可能かを判定し、そうした他の資源にどのようにアクセスし、または使用することができるかを判定し、あるいはその両方を判定するために、所与のセル（例えばセル１０１ａ）内で、第２メモリ１２２内に格納された対応する統合情報にＡＩＵプロセッサ１２５によってアクセスすることができる。したがって、受信した統合情報に基づいて、異なるセル１０１内の各機能コア１３０が、必要に応じて対話することができる（すなわち、異なるセル１０１内の各機能コア１３０を自動的に統合することができる）。
【００４５】
上述のシステム・オン・チップ（ＳＯＣ）構造に関する設計構造の実施形態も本明細書で開示される。この設計構造は、機械可読媒体で具体化することができ、集積回路のレイアウト・データの交換のために使用されるデータ・フォーマットとして記憶媒体上に常駐することができ、ネットリストを含むことができる。具体的には、図５は、例えば半導体設計、製造、または試験、あるいはそれらの組合せで使用される例示的設計フロー５００のブロック図を示す。設計フロー５００は、設計中のＩＣのタイプに応じて変化することがある。例えば、特定用途向けＩＣ（ＡＳＩＣ）を構築する設計フロー５００は、標準構成要素を設計する設計フロー５００とは異なることがある。好ましくは、設計構造５２０は、設計プロセス５１０に対する入力であり、ＩＰプロバイダ、コア開発者、または他の設計会社から来ることがあり、あるいは設計フローのオペレータによって生成され、または他の供給源から生成されることがある。設計構造５２０は、セマンティクス、またはＨＤＬすなわちハードウェア記述言語（例えば、Ｖｅｒｉｌｏｇ、ＶＨＤＬ、Ｃなど）の形態の、図１〜２に示される本発明の一実施形態を含む。設計構造５２０を１つまたは複数の機械可読媒体上に収容することができる。例えば、設計構造５２０は、図１〜２に示される本発明の一実施形態のテキスト・ファイルまたはグラフィカル表現でよい。好ましくは、設計プロセス５１０は、図１〜２に示される本発明の一実施形態をネットリスト５８０に合成（または変換）し、ネットリスト５８０は、例えば、集積回路設計内の他の素子および回路への接続を記述するワイヤ、トランジスタ、論理ゲート、制御回路、Ｉ／Ｏ、モデルなどのリストであり、機械可読媒体のうちの少なくとも１つの上に記録される。例えば、媒体は、ＣＤ、コンパクト・フラッシュ、他のフラッシュ・メモリ、インターネットを介して送信すべきデータのパケット、または他のネットワーキングに適した手段でよい。合成は、設計仕様および回路に関するパラメータに応じてネットリスト５８０が１回または複数回再合成される反復プロセスでよい。
【００４６】
設計プロセス５１０は、様々な入力、例えば、所与の製造技術（例えば、様々な技術ノード、３２ｎｍ、４５ｎｍ、９０ｎｍなど）に関する、モデル、レイアウト、およびシンボリック表現を含む、１組の共通に使用される素子、回路、およびデバイスを収容することのできるライブラリ要素５３０、設計仕様５４０、特性データ（characterization data）５５０、検証データ５６０、設計規則５７０、およびテスト・データ・ファイル５８５（テスト・パターンおよび他のテスティング情報を含むことができる）からの入力を使用することを含むことができる。設計プロセス５１０は、例えば、タイミング解析、検証、設計規則チェッキング、プレース・アンド・ルート操作などの標準回路設計プロセスをさらに含むことができる。本発明の範囲および精神から逸脱することなく設計プロセス５１０で使用される可能な電子設計自動化ツールおよびアプリケーションの範囲を集積回路設計の当業者は理解することができる。本発明の設計構造は、何らかの指定の設計フローに限定されない。
【００４７】
好ましくは、設計プロセス５１０は、図１〜２に示される本発明の一実施形態を、任意の追加の集積回路設計またはデータと共に（適用可能な場合）、第２設計構造５９０に変換する。設計構造５９０は、集積回路のレイアウト・データの交換のために使用されるデータ・フォーマット、またはシンボリック・データ・フォーマット（例えば、ＧＤＳＩＩ（ＧＤＳ２）、ＧＬ１、ＯＡＳＩＳ、マップ・ファイル、またはそのような設計構造を格納する他の任意の適切なフォーマットで格納された情報）あるいはその両方のフォーマットで記憶媒体上に常駐する。設計構造５９０は、例えばシンボリック・データ、マップ・ファイル、テスト・データ・ファイル、設計内容ファイル、製造データ、レイアウト・パラメータ、ワイヤ、金属のレベル、ビア、形状、製造ラインを通る経路指定のためのデータ、図１〜２に示される本発明の一実施形態を生成するために半導体製造業者が必要とする任意の他のデータなどの情報を含むことができる。次いで、設計構造５９０はステージ５９５に進むことができ、例えば設計構造５９０がテープアウトに進み、製造に対して解放され、マスク・ハウスに対して解放され、別の設計ハウスに送られ、顧客に送り戻されるなどである。
【００４８】
したがって、複数のＩＰコアならびに他の機能コアの自動統合を可能にするシステム・オン・チップ（ＳＯＣ）構造の実施形態が上記で開示される。このＳＯＣ構造実施形態は、チップ上に共通システム・バスに接続された複数のセルを備える。各セルは、機能コアと、機能コアに接続された自動統合ユニット（ＡＩＵ）とを組み込む。各セル内の各ＡＩＵは、その機能コアに関する統合情報（例えば、コア・タイプ情報、コア構成情報、コア使用情報など）を、共通バスを介して他のセル内のＡＩＵに通信する。ＡＩＵ間のそのような統合情報の通信は、統合ユニット自体、または共通バスにやはり接続されたコントローラ（すなわちアービタ）によって制御される。受信した統合情報に基づいて、各ＡＩＵは、統合のために必要とされるどんな構成調節も自動的に行うことができる。さらに、この情報の交換に基づいて、各機能コアは、ＳＯＣ動作中に、必要に応じて対話することができる。各セル内にＡＩＵを配置し、共通汎用バス構造を使用することにより、設計者がＳＯＣ内の様々なセルをほぼ盲目的に接続し、次いでセル自体に依拠して、システム内でどのように機能するかを判定することを可能にすることによって、ネットリスト作成時間を著しく削減することができる。そのようなＳＯＣ構造を形成する関連方法、およびそのようなＳＯＣ構造のための設計構造も開示される。
【図１】
2011527097.tif 000003
【図２】
2011527097.tif 000004
【図３】
2011527097.tif 000005
【図４】
2011527097.tif 000006
【図５】
2011527097.tif 000007
【国際調査報告】
2011527097.tif 000008
2011527097.tif 000009
2011527097.tif 000010