(57)【特許請求の範囲】
【請求項１】
プログラム可能な論理デバイス（ＰＬＤ）を設計する方法であって、
ａ）該ＰＬＤがアレイに配置された複数の論理素子（ＬＥ）を含むように該ＰＬＤを設計することと、
ｂ）ステップａ）の後に、該ＰＬＤがベース信号ルーティング接続の形成物を含むように該ＰＬＤをさらに設計することであって、該ベース信号ルーティング接続の形成物は、該複数のＬＥ間に信号をルーティングするための複数の信号ルーティング線を含み、該ベース信号ルーティング接続の形成物の該複数の信号ルーティング線は、ＰＬＤタイミングモデルの信号ルーティングタイミングによって特徴付けられ、該複数の信号ルーティング線は、ＩＰ機能ブロックで終端するか、ＩＰ機能ブロックとインターフェースをとるか、または、ＩＰ機能ブロックを通り過ぎる、ことと、
ｃ）ステップｂ）の後に、該複数のＬＥのアレイ内に組み込まれた該ＩＰ機能ブロック部分を横切って、該ベース信号ルーティング接続の形成物の信号をルーティングするための時間の量が、該ＰＬＤタイミングモデルの信号ルーティングタイミングと異なっているか否かを決定することと、
ｄ）ステップｃ）の後に、該決定された差分量に基づいて、該ＰＬＤの設計を、該ＰＬＤの該ベース信号ルーティング接続の形成物が該ＩＰ機能ブロック部分を横切って拡張されるような設計にするか、または、該ベース信号ルーティング接続の形成物内の該複数のＬＥのアレイ内にホールを含むような設計にして該ＩＰ機能ブロック部分を収容するようにするか、を決定することと
を包含する、方法。
【請求項２】
ステップｄ）は、前記決定された差分量を事前規定されたしきい値と比較することを包含する、請求項１に記載の方法。
【請求項３】
ｅ）ホールを含むような設計にすることが決定された場合には、ステップｄ）の後に、前記ベース信号ルーティング接続の形成物内で該アレイに配置された前記複数の論理素子（ＬＥ）において該ホールを前記ＰＬＤが含むように該ＰＬＤをさらに設計することをさらに包含し、
ステップｅ）は、該ＩＰ機能ブロックと該ベース信号ルーティング接続の形成物とのインターフェースをとるインターフェース回路を有するように該ホールを配置することを包含する、請求項１に記載の方法。
【請求項４】
ｅ）ホールを含むような設計にすることが決定された場合には、ステップｄ）の後に、前記アレイに配置された前記複数の論理素子（ＬＥ）において該ホールを前記ＰＬＤが含むように該ＰＬＤをさらに設計することをさらに包含し、
ステップｅ）は、前記ベース信号ルーティング接続の形成物の部分が該ホールを横切ってルーティングされるように、該ＰＬＤをさらに設計することを包含する、請求項１に記載の方法。
【請求項５】
ステップｅ）において、前記ホールを横切ってルーティングされる前記ベース信号ルーティング接続の形成物の部分が、該ベース信号ルーティング接続の形成物が該ＰＬＤの残り部分にルーティングされる物理的層以外の該ＰＬＤの物理的層にルーティングされるように、該ＰＬＤを設計することをさらに包含する、請求項４に記載の方法。
【請求項６】
ｅ）ステップｂ）の後に、前記ベース信号ルーティング接続の形成物を中断しないＩＰコア論理回路を前記ＰＬＤがさらに含むように、該ＰＬＤをさらに設計することをさらに包含する、請求項１に記載の方法。
【請求項７】
前記ホールは、前記ベース信号ルーティング接続の形成物によって完全に包囲されている、請求項１に記載の方法。
【請求項８】
プログラム可能な論理デバイス（ＰＬＤ）を設計する方法であって、
該ＰＬＤがアレイに配置された複数の論理素子（ＬＥ）を含むように、該ＰＬＤを設計することと、
該複数の論理素子（ＬＥ）を含んだ後に、
該複数のＬＥ間に信号をルーティングするための複数の信号ルーティング線を含むベース信号ルーティング接続の形成物であって、該複数の信号ルーティング線は、複数の短い線と複数の長い線とを含む、ベース信号ルーティング接続の形成物と、
該複数のＬＥのアレイ内に形成されたホールに挿入された少なくとも１つのＩＰ機能ブロックと
を該ＰＬＤが含むように、該ＰＬＤをさらに設計することと
を包含し、
該複数の短い線の第１のサブセットは、該ＩＰ機能ブロックに接続し、該複数の短い線の第２のサブセットは、該ＩＰ機能ブロックで終端し、他方、少なくとも１つの長い線は、該ＩＰ機能ブロックを通り過ぎる、方法。
【請求項９】
前記複数の短い線は、８ＬＥの長さ未満の長さを有しており、前記複数の長い線は、８ＬＥの長さ以上の長さを有している、請求項８に記載の方法。
【請求項１０】
前記複数の短い線の第３のサブセットは、前記ＩＰ機能ブロックを通り過ぎる、請求項８に記載の方法。
【請求項１１】
半導体集積回路を設計する方法であって、
ａ）該半導体集積回路がアレイに配置された複数の論理素子（ＬＥ）を含み、かつ、少なくとも１つのＩＰ機能ブロックが該複数のＬＥのアレイ内に形成されたホールに挿入されているように、該半導体集積回路を設計することと、
ｂ）ステップａ）の後に、該半導体集積回路が該複数のＬＥに接続されたベース信号ルーティング接続の形成物を含み、かつ、該ＩＰ機能ブロックによって少なくとも部分的に中断されるようにすることによって、該ベース信号ルーティング接続の形成物の第１の部分が該ＩＰ機能ブロックで終端され、該ベース信号ルーティング接続の形成物の第２の部分が該ＩＰ機能ブロックを通過するように、該半導体集積回路をさらに設計することと、
ｃ）ステップｂ）の後に、該半導体集積回路がインターフェース部分を含むように、該半導体集積回路をさらに設計することと、
ｄ）ステップｃ）の後に、該ベース信号ルーティング接続の形成物の第３の部分が該インターフェース部分を介して該ＩＰ機能ブロックに接続するように、該半導体集積回路をさらに設計することと
を包含する、方法。
【請求項１２】
ステップａ）は、前記ベース信号ルーティング接続の形成物が複数の長いルーティング線と複数の短いルーティング線とを含むように行われ、
ステップｂ）は、該複数の長いルーティング線の少なくともいくつかが該ＩＰ機能ブロックによって継続し、該複数の短いルーティング線の少なくともいくつかが該ＩＰ機能ブロックで終端するか、または、該ＩＰ機能ブロックに接続するように行われる、請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム可能な論理デバイス（ＰＬＤ）の分野に関し、より詳細には、フレキシブルなアーキテクチャに関する。このフレキシブルなアーキテクチャにより、論理素子のアレイを有するＰＬＤの論理素子（ＬＥ）の代わりに知的所有（ＩＰ）機能ブロックを用いる。
【背景技術】
【０００２】
従来のプログラム可能な論理デバイス（ＰＬＤ）は、論理素子（ＬＥ）の１つ以上のアレイを含み、ＬＥの間には、ベース信号のルーティングアーキテクチャが設けられる。このアーキテクチャは、ＬＥ間のルーティング（これは典型的には、ハードウェア設計言語プログラム命令をこのようなルーティングに変換するソフトウェアプログラムによって行われる）が最適化されるように設計されている。１つ以上のアレイを含むＰＬＤの例としては、Ｓａｎ  Ｊｏｓｅ、ＣａｌｉｆｏｒｎｉａのＡｌｔｅｒａ  ＣｏｒｐｏｒａｔｉｏｎによるデバイスのＡＰＥＸファミリのＰＬＤがある。１つ以上のＩＰ機能ブロックをＬＥアレイ内に付加することが所望される場合もある。本開示の目的のために、ＬＥを、基本的な−または最も一般的な−（例えば、ルックアップテーブルまたはマクロセル論理について機能する）論理素子としてみなす。１つのアレイのＬＥは、基本的には、ベース信号のルーティングアーキテクチャによって接続される。ＩＰ機能ブロックは、最も一般的な論理素子の機能による制約を受けない機能ブロックである。例えば、限定的にではなく例示的に説明すると、ＩＰ機能ブロックは、高速シリアルインターフェース（ＨＳＳＩ）、デジタル信号プロセッサもしくは他のマイクロプロセッサ、ＡＬＵ、メモリ、またはマルチプレクサであり得る。
【０００３】
従来では、ＩＰ機能ブロックをＬＥアレイに付加する場合、ＩＰ機能ブロックは、ＬＥアレイの端部に配置され、ＬＥアレイ全体の端部を網羅する。これにより、ベース信号のルーティングの崩壊が最小限になる。その上、ＩＰ機能ブロックをアレイの端部に配置すると、ＩＰ機能ブロック上のルーティングによって生じる性能低下も最低限になる。しかし、ＩＰ機能ブロックをＬＥアレイの端部に配置すると、従来の（ＬＥアレイの連絡のための）入力／出力（Ｉ／Ｏ）セルの配置場所がＬＥアレイの端部になるという不利点も生じる。ＩＰ機能ブロックは端部のＩ／Ｏセルへのアクセスをも必要としない場合があるものの、それでもなお、他の素子（ＬＥ、またはさらには他のＩＰ機能ブロック）がＩＰ機能ブロックの配置場所である端部のＩ／Ｏセルにアクセスするのを妨害する。いくつかの場合（例えば、米国特許第５，５５０，７８２号に記載されているような場合）において、ブロック（例えば、埋込み型アレイブロック（ＥＡＢ））は、ＬＥの論理アレイブロック（ＬＡＢ）と完全に取って代わる。この場合、ＥＡＢへのルーティングは、従来の論理ブロックとインターフェースをとるルーティングとほとんど同じであるため、対応する性能低下は発生しない。
【０００４】
ＰＬＤのＬＥアレイ内にＩＰ機能ブロックを配置することは後になって決定されてきた場合が明らかに多いため、ＩＰ機能ブロックが配置される場所は、ベース信号のルーティングアーキテクチャに対する崩壊を最小限にする範囲でＩＰ機能ブロックを最適に配置できる場所のみである場合が多かった。ベース信号のルーティングアーキテクチャの崩壊を最小限にする目的によってＩＰ機能ブロックの配置場所が決定されないＰＬＤアーキテクチャが必要とされている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、ベース信号のルーティングアーキテクチャを最適にするように、ＩＰ機能ブロックを配置できるＰＬＤアーキテクチャを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のプログラム可能な論理デバイス（ＰＬＤ）は、
アレイに構成された複数の論理素子（ＬＥ）と、
該ＬＥ間に信号をルーティングするための複数の信号ルーティング線を備えるベース信号のルーティングアーキテクチャと、
を備え、
該ＬＥのアレイ内にはホールが形成され、該ホールは、周辺部分および中央部分によって特徴付けられ、
該ベース信号のルーティングアーキテクチャは、該ホールにおいて少なくとも部分的に中断され、
該ＰＬＤは、該ホールの周辺部分内にインターフェース回路をさらに備え、該インターフェース回路は、該ホール内の回路を該信号をルーティングするアーキテクチャに結合するように構成可能であり、
該ＰＬＤは、該ホール内にＩＰ機能ブロックをさらに備え、該インターフェース回路に電気的に結合され、これにより上記目的が達成される。
【０００７】
前記ベース信号のルーティングアーキテクチャの一部分は、前記ホールを横切ってルーティングされてもよい。
【０００８】
前記ホールを横切ってルーティングされる前記信号をルーティングするアーキテクチャの部分は、前記ＰＬＤの物理的層のうち、前記ベースルーティングアーキテクチャが該ＰＬＤの残り部分にルーティングされる物理的層以外のＰＬＤの物理的層内のホールを横切ってルーティングされてもよい。  前記ＩＰ機能ブロックは第１のＩＰ機能ブロックであり、
前記ＰＬＤは、第２のＩＰ機能ブロックをさらに備え、該第２のＩＰ機能ブロックは、前記ＬＥのアレイ内に形成されたホール内に無いため、前記ベース信号のルーティングアーキテクチャは、該第２のＩＰ機能ブロックによって中断されてもよい。
【０００９】
前記第１のＩＰ機能ブロック回路のサイズは、前記ベース信号のルーティングアーキテクチャ全てが前記第１のＩＰ機能ブロックを横切ってルーティングされた場合、該ベース信号のルーティングアーキテクチャのの信号のタイミングは、事前規定された閾値よりも長く中断されるようなサイズであり、
該ベース信号のルーティングアーキテクチャを該第２のＩＰ機能ブロックを横切ってルーティングするタイミングは、該事前規定された閾値よりも短く中断されてもよい。
【００１０】
前記ホールは、前記ベース信号のルーティングアーキテクチャによって完全に包囲されてもよい。
【００１１】
前記ホールは、前記ベース信号のルーティングアーキテクチャによって少なくとも２つの側部上で包囲されてもよい。
【００１２】
前記ホールは、前記ベース信号のルーティングアーキテクチャに対し、いかなるＩ／Ｏパッドも移動または代替させてもよい。
【００１３】
前記ホールは、前記ベース信号のルーティングアーキテクチャにおいて、Ｉ／Ｏパッドを移動または代替させてもよい。
【００１４】
前記ＩＰ機能ブロックは、前記ＩＰ機能ブロックと、前記ベース信号のルーティングアーキテクチャ以外のものとの間に入力／出力を設ける回路を備えてもよい。
【００１５】
本発明のプログラム可能な論理デバイス（ＰＬＤ）を設計する方法は、
ａ）該ＰＬＤがアレイに構成された複数の論理素子（ＬＥ）を含むように該ＰＬＤを設計する工程と、
ｂ）該ＰＬＤがベース信号のルーティングアーキテクチャを備えるように該ＰＬＤを設計する工程であって、該ベース信号のルーティングアーキテクチャは、該ＬＥ間に信号をルーティングするための複数の信号ルーティング線を含み、信号をルーティングするタイミングのモデルによって特徴付けられる、工程と、
ｃ）該ベース信号のルーティングアーキテクチャが該ＬＥのアレイ内に組み込まれたＩＰ機能ブロック部分を横切って拡張される場合、その結果得られるタイミングと、該ベース信号をルーティングするタイミングのモデルとの間の差を決定する工程と、
ｄ）該決定された差に基づいて、該ＰＬＤの設計を、該ＰＬＤの信号をルーティングするアーキテクチャが該ＩＰ機能ブロック部分を横切って拡張されるような設計にするか、または、該ベース信号のルーティングアーキテクチャ内のホールを含むように構成して該ＩＰ機能ブロック部分を収容するようにするかを決定する工程と、
を包含し、これにより上記目的が達成される。
【００１６】
前記工程ｄ）は、前記決定された差を事前規定された閾値と比較する工程を包含してもよい
ｅ）前記ＰＬＤが該ベース信号のルーティングアーキテクチャ内のホールを含むように該ＰＬＤを設計する工程であって、前記ＩＰ機能ブロックと前記ベース信号のルーティングアーキテクチャとの間のインターフェースをとるインターフェース回路を有するホールを含むように、該ＰＬＤを設計する工程を包含する、工程をさらに包含してもよい。
【００１７】
ｅ）前記ＰＬＤが前記ホールを含むように該ＰＬＤを設計する工程であって、前記ベース信号のルーティングアーキテクチャの部分が該ホールを横切ってルーティングされるように、該ＰＬＤを設計する工程を包含する、をさらに包含してもよい。
【００１８】
ｅ）前記ホールを横切ってルーティングされる前記ベース信号のルーティングアーキテクチャの部分は、該ＰＬＤの物理的層であって前記ベースルーティングアーキテクチャが該ＰＬＤの残り部分にルーティングされる物理的層以外の層にルーティングされるように、該ＰＬＤを設計する工程と、をさらに包含してもよい。
【００１９】
ｅ）前記ベース信号のルーティングアーキテクチャを中断することなく前記ＰＬＤが前記ＩＰコア論理回路を含むように、該ＰＬＤを設計する、
工程をさらに包含してもよい。
【００２０】
前記ホールは、前記ベース信号のルーティングアーキテクチャによって完全に包囲されてもよい。
【００２１】
本発明のプログラム可能な論理デバイス（ＰＬＤ）は、
アレイに構成された複数の論理素子（ＬＥ）と、
該ＬＥ間に信号をルーティングするための複数の信号ルーティング線を備えるベース信号のルーティングアーキテクチャであって、該信号ルーティング線は、短い線および長い線を含み、該ＬＥの部分の代わりに少なくとも１つのＩＰ機能ブロックが該アレイに挿入され、該短い線の第１のサブセットは、前記ＩＰ機能ブロックに接続し、該短い線の第２のサブセットは、該ＩＰ機能ブロックにおいて終端し、他方、該ＩＰ機能ブロックの近隣を少なくとも１つの長い線が通過する、ベース信号のルーティングアーキテクチャと、
を備え、これにより上記目的が達成される。
【００２２】
前記短い線の長さは、８ＬＥの長さ８倍未満の長さであり、前記長い線は、８ＬＥ以上の長さであってもよい。
【００２３】
前記短い線の第３のサブセットは、前記ＩＰ機能ブロックの近隣を通過してもよい。
【００２４】
本発明の半導体回路は、アレイに構成された複数の論理素子（ＬＥ）は、該アレイには、少なくとも１つのＩＰ機能ブロックが挿入される、論理素子（ＬＥ）と、
ベース信号のルーティングアーキテクチャであって、該ＬＥに接続され、該ＩＰ機能ブロックによって少なくとも部分的に中断され、これにより、該ベースルーティングアーキテクチャの第１の部分が該ＩＰ機能ブロックにおいて終端し、該ベース信号のルーティングアーキテクチャの第２の部分が、該ＩＰ機能ブロックの近隣を通過し続ける、アーキテクチャと、
を備え、これにより上記目的が達成される。
【００２５】
前記半導体集積回路は、インターフェース部分をさらに備え、
前記ベース信号のルーティングアーキテクチャの第３の部分は、該インターフェース部分を介して前記ＩＰ機能ブロックに接続してもよい。
【００２６】
前記ベース信号のルーティングアーキテクチャは、長いルーティング線および短いルーティング線を備え、該長いルーティング線のうち少なくともいくつかは、前記ＩＰ機能ブロックだけ継続し、該短いルーティング線のうち少なくともいくつかは、該ＩＰ機能ブロックに向かって終端するかまたは該ＩＰ機能ブロックに接続してもよい。
【００２７】
前記ＩＰ機能ブロックのうちいくつかは、前記ベース信号のルーティングアーキテクチャを中断しないように配置されてもよい。
【００２８】
前記ベース信号のルーティングアーキテクチャを中断するために前記ＩＰ機能ブロックを配置するか否かという決定は、該ＩＰ機能ブロックの物理的サイズに基づいて行われてもよい。
【００２９】
前記決定工程は、前記ＩＰ機能ブロックによって占有されるダイのスペースによって示される物理的サイズに基づいて行われてもよい。
【００３０】
前記決定工程は、タイミングパラメータによって示される物理的サイズに基づいて行われてもよい。
【００３１】
プログラム可能な論理デバイス（ＰＬＤ）を設計する、本発明の方法は、
該ＰＬＤを、該ＰＬＤがアレイに構成された複数の論理素子（ＬＥ）を含むように設計する工程であって、
該ＬＥ間に信号をルーティングするための複数の信号ルーティング線を備えるベース信号のルーティングアーキテクチャであって、該信号ルーティング線は、短い線および長い線を含む、アーキテクチャと、
該ＬＥの部分の代わりに少なくとも１つのＩＰ機能ブロックを該アレイに挿入する工程と、
を該ＰＬＤが含むように該ＰＬＤを設計する工程、
を包含し、
該短い線の第１のサブセットは、該ＩＰ機能ブロックに接続し、該短い線の第２のサブセットは、該ＩＰ機能ブロックにおいて終端し、他方、該ＩＰ機能ブロックの近隣を少なくとも１つの長い線が通過し、
これにより上記目的が達成される。
【００３２】
前記短い線の長さは、８ＬＥ未満であり、前記長い線の長さは、８ＬＥの長さ以上であってもよい。
【００３３】
前記短い線の第３のサブセットは、前記ＩＰ機能ブロックの近隣を通過してもよい。
【００３４】
本発明の半導体集積回路を設計する方法は、
ａ）該半導体集積回路は、アレイに構成された複数の論理素子（ＬＥ）を含み、該アレイには、少なくとも１つのＩＰ機能ブロックが挿入されるように該半導体集積回路を設計する、工程と、
ｂ）該半導体集積回路が該ＬＥに接続されたベース信号のルーティングアーキテクチャを備え、該ＩＰ機能ブロックによって少なくとも部分的に中断されるような設計にし、これにより、該ベースルーティングアーキテクチャの第１の部分は、該ＩＰ機能ブロックにおいて終端し、該ベース信号のルーティングアーキテクチャの第２の部分は、該ＩＰ機能ブロックの近隣を通過した状態であるように該半導体集積回路を設計する工程と、
を包含し、これにより上記目的が達成される。
【００３５】
ｃ）前記半導体集積回路がインターフェース部分を含むように該半導体集積回路を設計する工程と、
ｄ）前記ベース信号のルーティングアーキテクチャの第３の部分が該インターフェース部分を介して前記ＩＰ機能ブロックに接続するように該半導体集積回路を設計する、工程と、
をさらに包含してもよい。
【００３６】
前記工程ａ）は、前記ベース信号のルーティングアーキテクチャが長いルーティング線および短いルーティング線を含むようにする工程であり、
前記工程ｂ）は、該長いルーティング線の少なくともいくつかが該ＩＰ機能ブロックだけ継続し、該短いルーティング線の少なくともいくつかが該ＩＰ機能ブロックにおいて終端するか、または該ＩＰ機能ブロックに接続するように行われてもよい。
【００３７】
前記工程ａ）は、前記ＩＰ機能ブロックのうちいくつかが前記ベース信号のルーティングアーキテクチャを中断しないように配置するように行われてもよい。
【００３８】
前記工程ａ）において、前記ベース信号のルーティングアーキテクチャを中断するために前記ＩＰ機能ブロックを配置するか否かに関する決定は、前記ＩＰ機能ブロックの物理的サイズに基づいて行われてもよい。
【００３９】
前記決定工程は、前記ＩＰ機能ブロックによって占有されたダイスペースによって示される物理的サイズに基づいて行われてもよい。
【００４０】
前記決定工程は、タイミングパラメータによって示されるタイミングパラメータによって示される物理的サイズに基づいて行われてもよい。
【００４１】
本発明の一局面によれば、「ホール」は、ＩＰ機能ブロックを組み込むためのホールが設けられるようにベース信号のルーティングアーキテクチャへの割り込みを行うことによって、ＰＬＤのＬＥアレイ内に形成される。残りのベース信号のルーティングとＩＰ機能ブロックとの間のインターフェースを得るために、インターフェース領域が設けられる。これにより、ＰＬＤの通常のＬＥのルーティング構造内にＩＰ機能ブロックをフレキシブルに配置することが可能となる。
【発明の効果】
【００４２】
本発明により、ベース信号のルーティングアーキテクチャを最適にするようにＩＰ機能ブロックを配置できるＰＬＤアーキテクチャを提供することを可能にする。
【発明を実施するための最良の形態】
【００４３】
本出願は、２００１年５月６日に出願された仮特許出願第６０／２８９、３１１号に対する優先権を主張する。
【００４４】
図１Ａ〜図１Ｃおよび図２Ａ〜図２Ｃは、本発明の一局面によるＰＬＤアーキテクチャの一例の平面図を示す。図１Ａ〜図１Ｃ中の図示内容は例示的なものに過ぎず、本発明は、図１Ａ〜図１Ｃに示すこれらの例に限定されない。ここで、本発明に従って、図１Ａ〜図１Ｃの平面図（および本発明の範囲内に収まる他の平面図）を生成する方法について説明する。
【００４５】
ベース信号のルーティングアーキテクチャは、ＬＥにあわせて規定および最適化される。例えば、ＬＥのアレイは、目標となる特定のダイのサイズにあわせて作製される。作製されたＬＥアレイに変更を加える場合、上記の「従来の技術」において述べたように、ＬＥアレイ内にＩＰ機能ブロックを配置するのが望ましい。いくつかの実施形態において、ＩＰ機能ブロックをＩＰ機能ブロックとして所望の特定の一様な密度で付加する（ただし、ＩＰ機能ブロックの密度は、一様である必要はない）。ＩＰ機能ブロックがＬＥアレイに付加されると、これらのＩＰ機能ブロックはＬＥに取って代わる。従って、ＬＥと、ダイに付加されるＩＰの量との間にはトレードオフが成り立つ。特定のベース信号のルーティングアーキテクチャの最適化の対象となるＬＥのアレイは、目標となるダイ全体を実質的に占有し得る。あるいは、ベース信号のルーティングアーキテクチャを、他のＬＥを含む他の回路と共にダイ上に共存するＬＥのアレイにあわせて最適化してもよい。
【００４６】
図１Ａ、図１Ｂおよび図１Ｃは、Ｉ／Ｏパッド１１２への直接的なアクセスを必要としないように、ＬＥアレイ内部に組み込まれたＩＰ機能ブロック１１０を示す。図２Ａおよび図２Ｂは、Ｉ／Ｏパッド１１２からＩＰ機能ブロック１２０へのアクセスが可能となるように、ＬＥアレイの端部に組み込んであるがＬＥアレイの端部全体は網羅していないＩＰ機能ブロック１２０を示す。さらに、図２Ａおよび図２Ｂでは図示していないが、所望であれば、ＩＰ機能ブロックをＩ／Ｏパッド１１２と取り換えることさえも可能である。
【００４７】
図３は、ＩＰ機能ブロックを、図１Ａ〜図１Ｃの実施例において適用されるような「ドーナツホール」３０２として組み込んだ様子を示す。すなわち、ＩＰ機能ブロックが組み込まれた領域内において、ベース信号のルーティングアーキテクチャが中断され、組み込み対象のＩＰ機能ブロックに（少なくとも１つの金属層に）ホール３０２が残る。さらに、インターフェース領域３０４がホール３０２を完全に包囲するように提供され、これにより、残りのベース信号アレイルーティングとＩＰ機能ブロックとの間にインターフェースが設けられる。このようなインターフェースブロックの極めて具体的な例については、図５および図６を参照して後述する。ベース信号のルーティングアーキテクチャのいくつかの線は、ホール３０２の側部のインターフェース領域３０４からホール３０２が占有していない別の金属層に持ち上げられ、ホール３０２の別の側部（典型的にはホール３０２の反対側）にあるインターフェース領域３０４において下げられることによって、ホール３０２の周囲にルーティング可能である点に留意されたい。一般的には、より短い距離を走る信号ルーティング線は終端され、より長い距離を駆動するルーティング線は、別の金属層まで持ち上げられてホールを横切ってバッファリングされ、ドーナツホールの反対側にあるインターフェース領域において低くされる。「より短い」および「より長い」という用語は、任意の特定の実施形態によって異なり、これについては、中断のサイズ（すなわち、「小さい」または「大きい」中断）について述べる際に後述する。典型的には、ホール上を横切ってバッファリングされるルーティング線は、ホール領域中のＩＰ機能ブロックへ接続されなくてもバッファリングを行う。
【００４８】
図３の実施形態に示すベース信号のルーティングアーキテクチャによる４つの側部上にＩＰ機能ブロックが境界付けられない場合にも、インターフェース領域は、２つの側部上に境界付けられ（この一例を図２Ａに示す）、３つの側部上に境界付けられ（この一例を図２Ｂに示す）、または１つの側部上でさえも境界付けられる（この一例を図２Ｃに示す）。このインターフェース領域は典型的には、ベース信号のルーティングアーキテクチャと境界付けられたホールの各側部上に提供される。
【００４９】
図４は、インターフェース領域３０４の実施形態を示す。すなわち、図４によれば、特定のレベルの粒度がある場合、インターフェース領域４０８は、ホール４０２中に伸びる２４本までの信号線と、ホール４０２から伸びる１２本までの信号線とを含むことが図示されている。このインターフェース領域４０８は、モジュール方式で特定のレベルの粒度で構築される。一実施形態において、特定のレベルの粒度は、ＬＥアレイの論理アレイブロック（ＬＡＢ）の幅または高さのいずれかである。
【００５０】
ホールを配置する際に用いられる設計構成は、１つのホールの内外の多くの信号線であり、これは、特定の配置様態（主に、そのホールがベース信号のルーティングアーキテクチャととの間に有する境界の範囲から得られる配置様態）から得られる。これについては、やはり図２Ａおよび図２Ｂを参照すれば見ることができる。
【００５１】
図５および図６は、ＩＰ機能ブロックがＲＡＭブロックである（これは、図５および図６において「Ｍｅｇａ−ＲＡＭ」５０２として設計されている）場合の状況を示す。図５は、水平方向のルーティングの観点からみたときの状況を示し、図６は、垂直方向のルーティングの観点からみたときの状況を示す。このＭｅｇａ−ＲＡＭ５０２は、ＬＥアレイの複数の列および複数の行に及ぶため、多数のルーティング線（「チャンネル」）とインターフェースをとる。一般的なルーティングはＭｅｇａ−ＲＡＭ５０２を横断せず、一般的なルーティングは、Ｍｅｇａ−ＲＡＭインターフェース（図３のインターフェース領域の特定の例）において「デッドエンド」を形成して、当該Ｍｅｇａ−ＲＡＭ用のドーナツホールを形成する。Ｈ２４（図５）およびＶ１６（図６）のルーティング線は、Ｍｅｇａ−ＲＡＭブロックを横切ってバッファリングされる。このＭｅｇａ−ＲＡＭの水平方向のインターフェース５０４（図５）によって、Ｍｅｇａ−ＲＡＭは、Ｍｅｇａ−ＲＡＭの左側または右側において論理とインターフェースをとることが可能となる。このＭｅｇａ−ＲＡＭの垂直方向のインターフェース６０４（図６）によって、Ｍｅｇａ−ＲＡＭは、Ｍｅｇａ−ＲＡＭの上下において論理とインターフェースをとることが可能となる。Ｍｅｇａ−ＲＡＭの垂直方向のインターフェース（図６）において、１５個のＭＲＡＭ＿ＬＩＭからなる群が２つある（これらの全ては図示されていない）。これらの２つの群はそれぞれ、異なるＶ−チャンネルによって入力される。ＭｅｇａＲＡＭによって網羅されるＬＡＢ行それぞれについて、１つのＭｅｇａ−ＲＡＭインターフェースがＭｅｇａＲＡＭの左右の端部にそれぞれ提供され、Ｍｅｇａ−ＲＡＭによって網羅されるＬＡＢ列の各対について、１つのＭｅｇａ−ＲＡＭインターフェースがＭｅｇａ−ＲＡＭの上下の端部にそれぞれ提供される。
【００５２】
ここで、Ｍｅｇａ−ＲＡＭ５０２への駆動について説明する。典型的な実施形態におけるＨルーティング線およびＶルーティング線は、ＭＲＡＭ＿ＬＩＭ５０６、６０６ａおよび６０６ｂ（ＬＡＢ入力マルチプレクサ）中に接続される。ＭＲＡＭ＿ＬＩＭ５０６、６０６ａおよび６０６ｂは、２段型で４方向共有型のマルチプレクサである。Ｍｅｇａ−ＲＡＭ５０２の境界において終端するルーティングの部分のうち、Ｍｅｇａ−ＲＡＭ５０２への信号搬送を行うことが可能なルーティング部分のみが、ＭＲＡＭ＿ＬＩＭ５０６、６０６ａおよび６０６ｂへの入力を行う。そのため、ルーティングが一方向性である場合（すなわち、各線が信号を一方向に搬送できる場合）、信号をＭＲＡＭから搬送することが可能なルーティング部分は、入力インターフェースに結合されない。別の実施形態において、一方向性の線に加えてまたは一方向性の線の代わりに二方向性の線を用いる。
【００５３】
図７の表は、ＭＲＡＭ＿ＬＩＭ５０６、６０６ａおよび６０６ｂの連結性の詳細を列記したものである。簡単に言うと、図７は、水平方向のＭｅｇａＲＡＭインターフェース（図５）および垂直方向のＭｅｇａＲＡＭインターフェース（図６）それぞれについて、「１本の線あたりの経路」の数と、「ＭＲＡＭ＿ＬＩＭあたりの接続の部数」とをリスト化したものである。図７テーブルの下において、リスト項目の総数は、水平方向のＭｅｇａＲＡＭインターフェースおよび垂直方向のＭｅｇａＲＡＭインターフェースそれぞれについて、信号におけるＭＲＡＭＬＩＭファン（ｆａｎ）の総数と、ＭＲＡＭ＿ＬＩＭマルチプレクサの総数とを含む。
【００５４】
クロック入力５２４は、Ｍｅｇａ−ＲＡＭブロック５０２の側部にあるグローバルクロックネットワークから（図５）中のＭｅｇａ−ＲＡＭ水平方向のインターフェース５０４を通じてＭｅｇａ−ＲＡＭブロック５０２に伝えられる。ＭＲＡＭ＿ＣＬＯＣＫＭＵＸ５２６は、近接するＬＡＢを通じて入力を行う８個のＬＡＢＣＬＫのうち１つを選択する。行あたりに１つのクロック入力がＭｅｇａ−ＲＡＭ５０２に対して存在するが、Ｍｅｇａ−ＲＡＭ５０２は典型的には、自身にとって利用可能な各クロック入力を用いない。
【００５５】
Ｍｅｇａ−ＲＡＭ入力マルチプレクサ（「ＭＲＩＭ」）は、完全占有された４方向のマルチプレクサを共有するマルチプレクサであり、３０本のＬＡＢ線を、２４個のＩ／Ｏブロック入力に接続する。
【００５６】
ここで、Ｍｅｇａ−ＲＡＭ５０２からの駆動について説明する。Ｍｅｇａ−ＲＡＭの端部において、コアへ駆動されるルーティング線は、自身を駆動するＬＡＢを有さず、部分長の線として残る。Ｍｅｇａ−ＲＡＭインターフェースは、全長および部分長（すなわち、この実施形態では長さが４の線および長さが８の線）を用いて、ＭＲＡＭ＿ＤＩＭを介してコアに接続する。このＭｅｇａ−ＲＡＭインターフェースにより、コアルーティング部上への駆動の際にＬＡＢに提供されるリソースに類似するリソースが得られる。例えば、４つのＬＡＢをコア中に延ばすＨ４線は駆動され、３つまたはそれ以下のＬＡＢをコア中に延ばすＨ４線は駆動されない。これらの部分長線は、Ｖｃｃまで駆動される。別の実施形態において、部分長線は、図１０を参照して後述するように、ＭＩＲＡＭ＿ＬＩＭに接続する。
【００５７】
Ｍｅｇａ−ＲＡＭの水平方向のインターフェースは、信号を駆動して、近隣のＶ−チャンネルルーティングに信号を提供することもできる。論理への「近道の」経路に対する１２個のＭｅｇａＲＡＭ＿Ｏｕｔ信号のうち１０個を用いる、１０本の部分長スニーク経路（Ｈ４、Ｈ８、Ｖ１６、Ｈ２４）（例えば、線５２８によってまとめて設計されたスニーク経路）を、近隣のＬＡＢに直接は知らせる。
【００５８】
各ＭＲＡＭドライバ入力マルチプレクサ（「ＭＲＡＭ  ＤＩＭ」）６１２ａ、６ｌ２ｂは、コアの端部においてＶ−チャンネルをサポートし、半Ｈチャンネルは、ＭＲＡＭからの信号をコアの方向に搬送することができる。Ｍｅｇａ−ＲＡＭの垂直方向のインターフェース６０４は、２つの全Ｖ−チャンネルの全長ルーティングリソースを駆動する。これらのドライバは、ＭｅｇａＲＡＭ＿Ｏｕｔ信号専用であり、他のルーティングリソースからの曲がり角部（ｔｕｒｎ）はサポートしない。Ｍｅｇａ−ＲＡＭの垂直方向のインターフェース６０４中のＶ線ドライバと関連付けられたＤＩＭ６１２ａおよび６１２ｂを用いて、ＭｅｇａＲＡＭ＿Ｏｕｔ信号間の選択を行う。垂直方向のインターフェース中の各ＤＩＭ６１２ａ、６１２ｂは、４：１マルチプレクサであり、これは１つ以上のステージで可能であり、ＤＩＭへの各入力はＭｅｇａＲＡＭ＿Ｏｕｔ信号である。ＭｅｇａＲＡＭ＿Ｏｕｔ信号からＤＩＭ６１２ａ、６１２ｂへの接続パターンは典型的には、２つのＶチャンネル間に均等に分散する。
【００５９】
ＭｅｇａＲＡＭの水平方向のインターフェース（図５）およびＭｅｇａ−ＲＡＭの垂直方向のインターフェース（図６）それぞれについてのＤＩＭあたりのＭｅｇａＲＡＭ＿Ｏｕｔ信号接続部の数について、図８において説明する。図９は、ＭｅｇａＲＡＭの水平方向のインターフェースおよびＭｅｇａ−ＲＡＭの垂直方向のインターフェースそれぞれのＭｅｇａ＿ＲＡＭインターフェース仕様の概要をまとめたものであり、上述した様々なインターフェースコンポーネントの総数をリストしたものである。
【００６０】
上記のホールのコンセプトを用いて、ＩＰ機能ブロック全てをＬＥアレイに組み込まなければならないわけではない場合が多い点に留意されたい。例えば、ＩＰ機能ブロックは２種類である（すなわち、小さいかまたは大きい）。一般的には、本明細書において用いられる小さいという用語および大きいという用語は、サイズを示すものとしてみなされ得る。しかし、実際の一設計構成では、特定のＩＰ機能ブロックを小さいかまたは大きいとみなすことは、信号のルーティングのタイミングに対してどれだけの崩壊に耐えることが可能であるのかを考えることである。例えば、一実施形態によれば、小さいブロックはＩＰ機能ブロックであり、そのレイアウトは、ＬＥの幅のオーダーで特定の幅で描写可能である。この実施形態によれば、ブロック上での信号ルーティングのタイミングがＬＥ上のルーティングに対するタイミングよりも著しく大きくならない限り、小さいブロックの幅はＬＥよりも幅広であり得る。例えば、１つの０．１３μｍのアーキテクチャにおいて、幅がおよそ５ＬＥのブロック上に信号ルーティングを行うタイミングは、ＬＥ上のルーティングに対するタイミングの場合と比較してそれほど大きくならないと考えられている。典型的には、小さいブロックをＬＥが包囲している状態でＩＰ機能ブロックを横切ってベース信号のルーティングアーキテクチャが保持されている限り、ＬＥの幅を超え得るさらなる入力および／または出力を追加してもよい。（このホールのコンセプトを用いてインプリメントされる）ＩＰ機能ブロックが大きいかまたは小さいかを判定する際の別の考慮事項は、インターフェース領域の利用に関連するオーバーヘッドに対するＩＰ機能ブロックのサイズである。一実施形態において、小さいブロックは、ＭＥＡＢ（中程度のサイズの埋込み型アレイブロック）と、ＳＥＡＢ（小さいサイズの埋込み型アレイブロック）と、ＤＳＰブロックとを含む。それとは対照的に、大きいブロックはＩＰ機能ブロックであり、そのサイズは典型的には、ＬＥのサイズよりもずっと大きい。このベース信号のルーティングアーキテクチャをこれらのブロック上に配置することを何も改変を加えずに拡張すると、これらのブロック上のルーティングは、ＬＥ上のルーティングよりもずっと大きくなり、ＰＬＤタイミングモデル中に境界が形成される。このような大きいブロックは、上述したように、ベース信号のルーティングアーキテクチャ内のホールとしてＬＥアレイに挿入され得る。ベース信号のルーティングアーキテクチャとホールとの間の境界に発生する事象は、ある点において、ＬＥアレイの端部において終端するベース信号のルーティングアーキテクチャに類似する。
【００６１】
いくつかの実施形態において、図１０に関して図示されているのは、ＬＥルーティング線が交互配置で一方向性のルーティングアーキテクチャの一部であることである。図１０からわかるように、この交互配置構成を設けた結果、境界において、例えば、ＰＬＤ１００１の端部におけるＩ／Ｏインターフェース１００８または挿入されたＩＰ機能ブロック（参照符号１００４にって図示）によって形成された部分線１００２が設けられる。このような交互配置のアーキテクチャの実施形態によれば、ルーティングドライバ１００６は、（インターフェース領域１００８がＩ／Ｏインターフェース領域またはホールインターフェース領域であるかに関係無く）インターフェース領域１００８に設けられ、これにより、全体線および部分線を駆動する。論理ブロック１００４の出力ポート１０１０は、線の「全体」および線の「部分」両方のドライバに接続する。ドライバの前方において信号選択マルチプレクサを用いて、ルーティングの柔軟性を増加させることができる。上述したように、ルーティングは、セグメント化された二方向性の線によって実施され得る。
【００６２】
ＰＬＤコア１００１から走る部分線１００２は、入力選択マルチプレクサ１０１２に電力供給して、論理ブロック１００４に駆動される。。これらの部分線１００２によって、ドライバ１０１４にかかる負荷が全体線１０１６にかかる負荷よりも小さくなり、負荷が小さくなると、部分線１００２は、ＰＬＤコア１００１への高速経路となる。領域が問題である場合、部分線１００２用のドライバ１０１８は、全体線１０１６用のドライバ１０２０よりも小さく、かつ、負荷が小さいからといって速度は不利にならない。
【００６３】
さらに、部分線１００２をも駆動することによって、ルーティングに柔軟性が提供され、信号が、ＰＬＤコア１００１からＰＬＤ境界に搬送される。部分線１００２がＰＬＤ１００１から向かってＩＰ機能ブロック１００４に走るようにすると、ＰＬＤコア１００１から論理ブロック１００４へのルーティング可能性が増す。さらに、ドライバ１０１８をさらに多く用いて、コア１００１がより多くの信号にアクセスできるようにするか、または、信号を用いて、所与の信号についてより多くの経路をＰＬＤコア１００１内に提供することも可能である。従って、非常に簡単に、今まで未使用のままであった線を用いて、ＰＬＤコア１００１に必要なアクセスを提供することができる。
【００６４】
本発明について図示の実施形態を参照しながら具体的に説明してきたが、本開示に基づけば、様々な改変例、変更例およびおよび適応例が可能であり、本発明の範囲内であることが理解される。本発明について、現在最も実際的でかつ好適な実施形態と共に説明してきたが、本発明は開示された実施形態に限定されるのではなく、本発明の範囲内に含まれる様々な改変例およびその均等な構成物を網羅するものとして意図されることが理解される。例えば、本明細書中にて上述した技術を、他の種類の固定ブロックまたはルーティング構造に適用してもよい。
【図面の簡単な説明】
【００６５】
【図１Ａ】図１Ａは、ＰＬＤ内にあって、かつ、ＬＥアレイの端部の近隣ではない「大型の」ＩＰ機能ブロックの可能な配置を示す。「大型の」ＩＰ機能ブロックとは、Ｉ／Ｏへの直接アクセスを要求しないメモリのことである。
【図１Ｂ】図１Ｂは、ＰＬＤ内にあって、かつ、ＬＥアレイの端部の近隣ではない「大型の」ＩＰ機能ブロックの可能な配置を示す。「大型の」ＩＰ機能ブロックとは、Ｉ／Ｏへの直接アクセスを要求しないメモリのことである。
【図１Ｃ】図１Ｃは、ＰＬＤ内にあって、かつ、ＬＥアレイの端部の近隣ではない「大型の」ＩＰ機能ブロックの可能な配置を示す。「大型の」ＩＰ機能ブロックとは、Ｉ／Ｏへの直接アクセスを要求しないメモリのことである。
【図２Ａ】図２Ａは、ＰＬＤ内にあって、かつ、ＬＥアレイの端部の近隣である大型のＩＰ機能ブロックの可能な配置を示し、この配置により、Ｉ／Ｏへのアクセスが可能となる。
【図２Ｂ】図２Ｂは、ＰＬＤにあって、かつ、ＬＥアレイの端部の近隣である大型のＩＰ機能ブロックの可能な配置を示し、この配置により、Ｉ／Ｏへのアクセスが可能となる。
【図２Ｃ】図２Ｃは、ＰＬＤにあって、かつ、ＬＥアレイの端部の近隣である大型のＩＰ機能ブロックの可能な配置を示し、この配置により、Ｉ／Ｏへのアクセスが可能となる。
【図３】図３は、ＰＬＤのコンテキストにおける「ドーナツホール」を示し、これは、「大型の」ＩＰ機能ブロックをＰＬＤ内にあって、かつ、ＬＥアレイの端部から離れた位置に配置する際に用いられる。
【図４】図４は、図１Ａ〜図１Ｃ、図２Ａ〜図２Ｃおよび図３において用いられるような「大型のブロック」のインターフェース領域をより詳細に示したものである。
【図５】図５は、大きなランダムアクセスメモリ（「ＭＲＡＭ」）である「大型のブロック」に対する水平方向のインターフェースを示す。
【図６】図６は、ＭＲＡＭに対する垂直方向のインターフェースを示す。
【図７】図７は、ＭＲＡＭ＿ＬＩＭの連結性の詳細を示す表である。
【図８】図８は、ＭｅｇａＲＡＭ＿Ｏｕｔ信号接続を示す表である。
【図９】図９は、Ｍｅｇａ−ＲＡＭインターフェースの仕様を示す表である。
【図１０】図１０は、交互配置のルーティングアーキテクチャの１実施形態に示し、交互配置のルーティングアーキテクチャの境界にある部分線が走る。
【符号の説明】
【００６６】
５０２  Ｍｅｇａ−ＲＡＭ（ＩＰ機能ブロック）
５０４  インターフェース
５２６  ＭＲＡＭ＿ＣＬＯＣＫＭＵＸ
６１２  ＭＲＡＭ  ＤＩＭ
【図１Ａ】
0004729333.tif 000002
【図１Ｂ】
0004729333.tif 000003
【図１Ｃ】
0004729333.tif 000004
【図２Ａ】
0004729333.tif 000005
【図２Ｂ】
0004729333.tif 000006
【図２Ｃ】
0004729333.tif 000007
【図３】
0004729333.tif 000008
【図４】
0004729333.tif 000009
【図５】
0004729333.tif 000010
【図６】
0004729333.tif 000011
【図７】
0004729333.tif 000012
【図８】
0004729333.tif 000013
【図９】
0004729333.tif 000014
【図１０】
0004729333.tif 000015