(57)【要約】【課題】  用途に応じた半導体集積回路装置を開発する際の負担を軽減できるようにする。【解決手段】  所定の回路機能を実現するための複数のバルクパターンが形成されるバルク層と、上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層と含む複数の配線層とを有するマスタースライス方式の半導体集積回路にて、バルク層にてバルクパターンを形成可能なチップ面全体に複数のバルクパターンを予め固定して配置することで、ユーザ側では、可変配線層の配線を設計し、設計した可変配線層における配線を形成するためのマスクを作成するだけで用途に応じた半導体集積回路を製造することができるようにする。【選択図】  図１
2006156929.tif 000002
【特許請求の範囲】
【請求項１】
マスタースライス方式の半導体集積回路であって、
所定の回路機能を実現するための複数のバルクパターンが形成されるバルク層と、
上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層とを含む複数の配線層とを有し、
上記バルク層にて上記バルクパターンが形成可能なチップ面全体に、選択された固定の上記複数のバルクパターンを予め配置したことを特徴とする半導体集積回路。
【請求項２】
さらに、所定の配線パターンを上記複数の配線層の中の一部の配線層に予め形成したことを特徴とする請求項１記載の半導体集積回路。
【請求項３】
上記選択された固定の複数のバルクパターンを組合せて基本ブロックを構成し、複数の当該基本ブロックをチップ面所定領域内に予め配置したことを特徴とする請求項１記載の半導体集積回路。
【請求項４】
上記所定領域は、上記選択された固定の複数のバルクパターンを形成可能な上記チップ面全体の領域から、ユーザによる使用を禁止したバルクパターンが配置される領域を除いた領域であることを特徴とする請求項３記載の半導体集積回路。
【請求項５】
上記基本ブロックを構成するバルクパターンの組合せが互いに異なる複数種類の基本ブロックを配置したことを特徴とする請求項３記載の半導体集積回路。
【請求項６】
予め用意した上記基本ブロックをＮ個（Ｎは任意の自然数）用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、配置された任意の基本ブロックに割り当てることで当該回路機能を実現可能な請求項３記載の半導体集積回路。
【請求項７】
テスト回路の機能を実現するための上記バルクパターンの配置情報及び配線情報を含むレイアウト設計済みライブラリを用い、当該ライブラリを適用することで上記テスト回路の機能を実現する請求項１記載の半導体集積回路。
【請求項８】
所定の回路機能を実現するための複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
予め用意した上記バルク層に配置可能なバルクパターンの中から、配置すべきバルクパターンが示された設定情報に応じたバルクパターンを選択して上記バルク層に配置するバルクパターン初期配置ステップを有することを特徴とする半導体集積回路のレイアウト設計方法。
【請求項９】
所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層とを含む複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
予め用意した上記バルクパターン毎に対応する複数の配線パターンの中から初期値として設定された配線パターンを、配置されている上記バルクパターンに対する初期配線パターンとして設定する初期配線設定ステップを有し、
上記初期値は、配線パターンを一意に決定可能な識別情報を用いて設定することを特徴とする半導体集積回路のレイアウト設計方法。
【請求項１０】
上記識別情報は、上記配線パターン毎に異なる上記各配線パターンに付された符号であることを特徴とする請求項９記載の半導体集積回路のレイアウト設計方法。
【請求項１１】
上記初期配線設定ステップにて初期配線パターンを設定した後、上記バルクパターンにより所望の回路機能を実現させるための上記配線パターンの識別情報を設定する配線パターン指定ステップと、
上記配線パターン指定ステップにて設定された上記配線パターンの識別情報に基づいて、上記バルクパターンに対する配線パターンを差し替え設定する配線パターン変更ステップとを有することを特徴とする請求項１０記載の半導体集積回路のレイアウト設計方法。
【請求項１２】
所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層された複数の配線層とを有し、かつ上記バルク層にて上記バルクパターンが形成可能な領域の所定領域内に上記複数のバルクパターンを組合せて構成した基本ブロックが複数配置されたマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
予め用意した上記基本ブロックをＮ個（Ｎは任意の自然数）用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、当該回路機能を実現する基本ブロックに割り当てる第１の設計ステップを有することを特徴とする半導体集積回路のレイアウト設計方法。
【請求項１３】
上記基本ブロックに割り当てる上記レイアウト設計済みライブラリを設定するライブラリ設定ステップをさらに有し、
上記第１の設計ステップでは、上記ライブラリ設定ステップでの設定に従って、上記レイアウト設計済みライブラリを指定された上記基本ブロックに割り当てることを特徴とする請求項１２記載の半導体集積回路のレイアウト設計方法。
【請求項１４】
所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層された複数の配線層とを有し、かつ上記バルク層にて上記バルクパターンが形成可能な領域の所定領域内に上記複数のバルクパターンを組合せて構成した基本ブロックが複数配置されたマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
予め用意した上記基本ブロックをＮ個（Ｎは任意の自然数）用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、当該半導体集積回路の任意の基本ブロックに割り当てることで設計を完了させることを特徴とする半導体集積回路のレイアウト設計方法。
【請求項１５】
所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
テスト回路の機能を実現するための上記バルクパターンの配置情報及び配線情報を含むレイアウト設計済みライブラリを上記バルク層及び配線層に適用するテスト回路設計ステップを有することを特徴とする半導体集積回路のレイアウト設計方法。
【請求項１６】
所定の回路機能を実現するための複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
予め用意した上記バルク層に配置可能なバルクパターンの中から、配置すべきバルクパターンが示された設定情報に応じたバルクパターンを選択して上記バルク層に配置するバルクパターン初期配置ステップをコンピュータに実行させるためのプログラム。
【請求項１７】
所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層とを含む複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
予め用意した上記バルクパターン毎に対応する複数の配線パターンの中から、初期値として配線パターンを一意に決定可能な識別情報を用いて設定された配線パターンを、配置されている上記バルクパターンに対する初期配線パターンとして設定する初期配線設定ステップをコンピュータに実行させるためのプログラム。
【請求項１８】
上記初期配線設定ステップにて初期配線パターンを設定した後、上記バルクパターンにより所望の回路機能を実現させるための上記配線パターンの識別情報を設定する配線パターン指定ステップと、
上記配線パターン指定ステップにて設定された上記配線パターンの識別情報に基づいて、上記バルクパターンに対する配線パターンを差し替え設定する配線パターン変更ステップとをコンピュータに実行させるための請求項１７記載のプログラム。
【請求項１９】
所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層された複数の配線層とを有し、かつ上記バルク層にて上記バルクパターンが形成可能な領域の所定領域内に上記複数のバルクパターンを組合せて構成した基本ブロックが複数配置されたマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
予め用意した上記基本ブロックをＮ個（Ｎは任意の自然数）用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、当該回路機能を実現する基本ブロックに割り当てる第１の設計ステップをコンピュータに実行させるためのプログラム。
【請求項２０】
所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
テスト回路の機能を実現するための上記バルクパターンの配置情報及び配線情報を含むレイアウト設計済みライブラリを上記バルク層及び配線層に適用するテスト回路設計ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及びその設計方法に関し、特にマスタースライス方式の半導体集積回路及びそのレイアウト設計方法に関する。
【背景技術】
【０００２】
従来、特定用途向けの半導体集積回路であるＡＳＩＣ（Application Specific Integrated Circuit）は、セルベースＬＳＩやＦＰＧＡ（Field Programmable Gate Array）等の半導体集積回路を利用して実現されることが多い。例えば、セルベースＬＳＩでのＡＳＩＣ開発は、基本となるトランジスタの組合せによるセル（ベーシックセル）をベースにして、基本配線を行っておき、用途に応じた所望の回路となるようにベーシックセルを組合せるとともに必要な配線を形成することにより行われる。
【０００３】
また、上述したベーシックセルを半導体チップ内に規則正しく配置したゲートアレイにおいては、ＡＳＩＣの設計及び製造を容易にするために、最上層配線のみを用途に応じて変更可能とし、その他の配線層を固定配線としたものがある（例えば、特許文献１、特許文献２参照。）。
【０００４】
【特許文献１】特開平６−１６３８６０号公報
【特許文献２】特開平２−３０１６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のＡＳＩＣ開発では、ユーザが要求する機能を実現させるためにベーシックセルの組合せや配線を設計する工程は、ＡＳＩＣ毎（個別品種毎）にそれぞれ行われている。したがって、設計された回路を半導体チップに作り込むために用いるマスク（レチクル）も個別品種毎にそれぞれ作成されている。
【０００６】
ここで、近年、半導体集積回路の微細化に伴って１つの半導体チップに集積可能な回路規模が増大し、ＡＳＩＣの開発においては、開発期間の長期化や設計及び製造の複雑さが増大してきている。また、半導体集積回路の微細化及びそれに伴う回路規模の増大により、マスク（レチクル）１つあたりの価格が高くなるとともに必要なマスク数が増加して、１品種のＡＳＩＣ製造に要するマスク費も高騰してきている。そのため、開発期間や開発費の削減が要求されている。
【０００７】
本発明は、このような事情に鑑みてなされたものであり、用途に応じた半導体集積回路を開発する際の負担を軽減できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の半導体集積回路は、マスタースライス方式の半導体集積回路であって、所定の回路機能を実現するための複数のバルクパターンが形成されるバルク層と、上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層と含む複数の配線層とを有し、上記バルク層にて上記バルクパターンが形成可能なチップ面全体に、選択された固定の上記複数のバルクパターンを予め配置したことを特徴とする。
上記構成によれば、予めバルク層にてバルクパターンが形成可能なチップ面全体にバルクパターンを固定して配置することで、ユーザ側では、可変配線層の配線を設計し、設計した可変配線層における配線を形成するためのマスクを作成するだけで用途に応じた半導体集積回路を製造することができる。
【発明の効果】
【０００９】
本発明によれば、用途に応じた半導体集積回路を開発する際、個別品種毎に可変配線層の配線設計及び設計した配線を形成するマスクの作成のみで、所望の半導体集積回路を製造することができる。したがって、個別品種毎に最低限のマスクのみを作成すれば良いので開発費を大幅に削減することができるとともに、限られた配線層の配線のみを設計し、かつ個別品種毎に作成するマスク枚数も減るので開発期間も大幅に削減することができる。それに伴い、工数、すなわち人件費も大きく削減でき、また開発における煩雑さを回避することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態を図面に基づいて説明する。
以下の説明において、「バルク層」とは、本発明の実施形態による半導体集積回路において配線層を一切含まない、トランジスタを形成するポリシリコンや拡散層等の下地である。つまり、バルク層は、トランジスタ層と配線層とを有する従来のセルベースＬＳＩのトランジスタ層に相当する。
また、「バルク」とは、バルク層に作り込まれる所定の回路機能を具備する機能ブロック、いわゆるマクロである。
【００１１】
（第１の実施形態）
図１は、本発明の第１の実施形態による半導体集積回路の構成例を示す図であり、具体的には半導体集積回路におけるバルク層の構成例について示している。
第１の本実施形態による半導体集積回路は、図１に示すように半導体チップ１内（以下、半導体チップ１全体を「フレーム」とも称す。）に複数種類のバルク（バルクパターン）を有している。図１に示した例では、８個の第１のバルクパターンＢ１、１４４個の第２のバルクパターンＢ２、１６個の第３のバルクパターンＢ３、２４個の第４のバルクパターンＢ４、及び３４４個の第５のバルクパターンＢ５を有する。
【００１２】
本実施形態（後述する他の実施形態をも含む。）においては、第１のバルクパターンＢ１は、ＰＬＬ（Phase Locked Loop）回路の機能ブロック（ＰＬＬマクロ）とし、第２のバルクパターンＢ２は、入出力回路の機能ブロック（Ｉ／Ｏマクロ）とする。また、第３、第４のバルクパターンＢ３、Ｂ４は、それぞれメモリ（ＲＡＭ）の機能ブロック（第１、第２のＲＡＭマクロ）とし、第１のＲＡＭマクロと第２のＲＡＭマクロとは、大きさ及び機能（例えば、ポート数、ワードビット数等）の少なくとも一方が異なっている。また、第５のバルクパターンＢ５は、ユーザが任意に論理を構成することができる機能ブロック（ユニットセル）とし、従来のゲートアレイで言うところの基本セル（ベーシックセル）に相当する。
【００１３】
図１から明らかなように、第１の実施形態による半導体集積回路は、従来のゲートアレイの基本セルに相当する第５のバルクパターンＢ５（ユニットセル）だけではなく、最低限の種類のバルクパターンＢ１〜Ｂ５がフレーム１内を敷き詰めるようにして配置されている。すなわち、第１の実施形態による半導体集積回路は、さまざまな機能を持たせたバルクパターンＢ１〜Ｂ５が予め一定の規則でフレーム１全体に予め埋め込み構成され、従来のトランジスタ層に相当するバルク層のバルクパターンの敷き詰められたすべての部分（領域）において何らかの回路機能が形成されている。
【００１４】
このフレーム１内のバルクパターンＢ１〜Ｂ５及びその配置は、ユーザ側では変更する（カスタマイズ）ことができない。なお、フレーム１内でのバルクパターンＢ１〜Ｂ５の配置は、大多数のユーザが所望すると予想される回路構成となるように配置したり、ユーザの使用頻度が高くなると予想される回路構成となるように配置したりすることが望ましい。
【００１５】
ここで、同一のバルクパターン、すなわち回路機能が同じバルクパターンは、大きさ及びバルク内の図形パターン（ポリシリコン、拡散層、及びコンタクト等）がすべて同じであるが、異なるバルクパターンは、大きさ又はバルク内の図形パターンの少なくとも一方が異なっている。また、各バルクパターンＢ１〜Ｂ５は、大きさがスタンダードセル（規格化された大きさの基準セル）の整数倍が望ましいが、スタンダードセルの整数倍に揃っていないバルクパターンが含まれることがある。また、各バルクパターンＢ１〜Ｂ５は、後述するように各バルクパターンＢ１〜Ｂ５上に形成される配線（配線パターン）により回路機能を制御可能である。
【００１６】
なお、各バルクパターンＢ１〜Ｂ５におけるトランジスタ（ｐチャネルトランジスタ及びｎチャネルトランジスタ）の大きさについても、ユーザが自由に変更できないように全部確定された大きさで構成されている。
【００１７】
図２は、第１の実施形態による半導体集積回路の構成例を示す断面図である。
図２において、３はバルク層ＢＬを有する半導体基板（チップ）である。バルク層ＢＬ上には、Ｃｕ（copper）、Ａｌ（aluminum）等を用いた金属配線を形成するための第１〜第６の配線層ＰＬ１〜ＰＬ６が順次積層するように設けられている（以下、説明の便宜上、バルク層ＢＬ側から順に第１、第２、第３、第４、第５、第６の配線層とする。）。各配線層ＰＬ１〜ＰＬ６に形成される配線は、異なる配線層間については層間絶縁膜により絶縁されており、必要に応じて異なる配線層の配線にビアを介して接続される。
【００１８】
また、第１の実施形態による半導体集積回路において、第１、第５、及び第６の配線層ＰＬ１、ＰＬ５、ＰＬ６に形成する配線は、配線パターンが変更不可な固定配線であり、第２、第３、及び第４の配線層ＰＬ２、ＰＬ３、ＰＬ４に形成する配線は、配線パターンが変更可能な可変配線である。つまり、第１、第５、及び第６の配線層ＰＬ１、ＰＬ５、ＰＬ６はカスタマイズできない固定配線層であり、第２、第３、及び第４の配線層ＰＬ２、ＰＬ３、ＰＬ４はカスタマイズ可能な可変配線層である。
【００１９】
なお、上述した説明では、説明の便宜上、固定配線及び可変配線は固定配線層及び可変配線層と称した各配線層のみで実現するものとしているが、固定配線及び可変配線は、配線層に形成される配線のみ、あるいは配線層間に設けるビアのみにより実現するようにしても良いし、配線層に形成される配線と配線層間に設けるビアとの組合せにより実現するようにしても良い。言い換えれば、固定配線及び可変配線をそれぞれ形成する固定配線層及び可変配線層と言った場合には、それらが配線層のみ、あるいは配線層間に設けるビアのみであっても良いし、配線層とその間に設けるビアとの組合せであっても良い。
【００２０】
このカスタマイズ可能な可変配線層の配線により、バルク層に形成される回路に対して、例えば電源を供給したり、内部の論理構成を切り換えたりすることができる。なお、カスタマイズ可能な可変配線層であっても、バルク層ＢＬに形成されている回路を機能させるために必要な配線が含まれることもある。
【００２１】
図３は、バルクパターン上に形成される配線（配線パターン）を説明するための図であり、（Ａ）〜（Ｅ）は第１〜第５のバルクパターンＢ１〜Ｂ５上にそれぞれ形成される配線パターンを示している。
【００２２】
図３（Ａ）〜（Ｅ）に示すように、各バルクパターンＢ１〜Ｂ５は、バルクパターン毎に対応する複数の配線パターンを有している。この複数の配線パターンは、各々にスタンダードセル方式で固有のセル名を示す符号（例えば、第１のバルクパターンＢ１上に形成される配線パターンについては、Ｂ１Ａ、Ｂ１Ｂ、Ｂ１Ｃ）が識別情報として付されており、当該符号により配線パターンが一意に決定される。
【００２３】
同じバルクパターンＢ１〜Ｂ５については、それに対応する複数の配線パターンの中の任意の配線パターンに変更が可能である。例えば、第２のバルクパターンＢ１上に形成する配線パターンとしては、位置が異なるバルクパターン毎に、配線パターンＢ２Ａ、Ｂ２Ｂ、Ｂ２Ｃ、及びＢ２Ｄの中から任意の１つを選択して適用することができる。
【００２４】
なお、同一のバルクパターンに対応する複数の配線パターンは、互いに異なる配線パターンであり、バルクパターンによりバルク層に形成される回路に応じて、当該回路に電源を供給する配線の配線パターンや、当該回路内部のモードを切り換える端子に対して論理（“１”或いは“０”）を供給するために電源に接続したり接続しなかったりする配線の配線パターン等が含まれる。したがって、バルクパターン上の配線パターンを変更することで、当該バルクパターンにより実現される回路機能を制御（変更）することができる。
【００２５】
ただし、同一のバルクパターンに対応する配線パターンは、セルの大きさ及び外部に対する入出力端子を設ける位置が同じ、つまり固定されていることが好ましい。例えば、図４（Ａ）に示すように第５のバルクパターンＢ５により２入力（ＩＮ１、ＩＮ２）１出力（ＯＵＴ１）の何らかの論理５を実現するための配線パターンである場合には、図４（Ｂ）に示すように配線パターンＢ５Ａ’は、外部に対する入力端子６、７及び出力端子８を設ける位置を固定し、その他の配線を論理５に応じて異ならせる。また、固定配線層と可変配線層との間のインタフェース部分についても同様に固定されていることが好ましい。
【００２６】
図５及び図６は、第１の実施形態による半導体集積回路の具体的な構成例を示す図である。
図５は、図１に示したように各バルクパターンＢ１〜Ｂ５が配置されている半導体集積回路に対して、ユーザの要求に応じたユーザレイアウト処理を行う前の半導体集積回路を示している。
【００２７】
図５に示すように、ユーザレイアウト処理前の初期状態の第１の実施形態による半導体集積回路においては、各バルクパターンＢ１〜Ｂ５に対して、予め初期値として設定されている配線パターンが設定される。図５に示した例では、第１のバルクパターンＢ１に対して配線パターンＢ１Ａが設定され、第２のバルクパターンに対して配線パターンＢ２Ａが設定されている。同様に、第３、第４、及び第５のバルクパターンＢ３、Ｂ４、Ｂ５に対して、配線パターンＢ３Ａ、Ｂ４Ａ、Ｂ５Ａが設定されている。この各バルクパターンＢ１〜Ｂ５に対して初期値として設定される配線パターンは、バルクパターンＢ１〜Ｂ５の種類毎に任意に選択可能であり、例えば、ユーザレイアウト処理において配線パターンの変更量が少なくなるようにすることが望ましい。
【００２８】
ユーザレイアウト処理前の初期状態の半導体集積回路においては、フリップフロップ（ＦＦ）、クロックバッファ、電源ノイズ対策用の容量セル（デカップリングセル）等が規則正しく並んで配置され、従来においてはユーザレイアウト処理に伴って実施していたクロストーク対策等の煩雑かつ困難な設計が予め行われている。また、図３に示した配線パターンにおける一部の限定された配線層（例えば、第１の配線層ＰＬ１）に、クロック信号を供給するための配線パターン（クロックツリーに係る配線パターン）やテスト回路用の配線パターンや電源供給用の配線パターンを含ませ、ユーザレイアウト処理前の初期状態の段階で半導体集積回路内にこれらの配線を作り込むようにしても良く、ユーザの要求に応じて必要な箇所のみそれらを用いるようにしても良い。
【００２９】
図６は、図５に示した半導体集積回路に対して、ユーザレイアウト処理を実施した後の半導体集積回路を示している。
図６に示した例では、ユーザの要求に応じたユーザレイアウト処理を実施することにより、一部の第１のバルクパターンＢ１’に対する配線パターンがＢ１ＡからＢ１Ｂに差し替えられ（変更され）、一部の第２のバルクパターンＢ２’に対する配線パターンがＢ２ＡからＢ２Ｄに差し替えられている。また、一部の第３、第４及び第５のバルクパターンＢ３’、Ｂ４’、Ｂ５’に対する配線パターンが、Ｂ３ＡからＢ３Ｄ、Ｂ４ＡからＢ４Ｄ、Ｂ５ＡからＢ５Ｄにそれぞれ差し替えられている。
【００３０】
また、配線パターンを図示していないバルクパターンＢ１”、Ｂ２”、Ｂ３”、Ｂ４”、Ｂ５”は、未使用のバルクパターンであり、バルクパターンそのものは残すが、配線については、他の配線のための配線チャネルとして開放するために削除しても良い。なお、ユーザレイアウト処理における配線パターンの差し替えは、詳細は後述するが識別情報として配線パターンに付された符号を差し替えることにより行う。
【００３１】
以上のように、第１の実施形態における半導体集積回路では、バルクパターンを共通にしたまま、つまりバルク層（トランジスタ層）の構造を変えずに固定して、各バルクパターン上の配線層に形成される配線パターンに付された符号のみを変更することで配線パターンを変更し、実現される回路機能（マクロの機能）を容易に切り換えることができる。
【００３２】
また、第１の実施形態における半導体集積回路では、ユーザの要求に応じて変更可能な部分（カスタマイズ可能部分）は配線層の一部に限定し、バルク層を含む他の部分は共通化しているので、設計を短時間で容易に行うことができるとともに、実際に製造する場合にユーザ側では変更可能な部分の配線層に係るマスク（レチクル）のみを作成するだけで所望の機能を有する半導体集積回路を製造することができる。
【００３３】
例えば、ＰＬＬマクロ（第１のバルクパターンＢ１）であれば、ＶＣＯ（Voltage Control Oscillator）周波数の変更や、分周比の設定や、外部にフィードバック端子を出すか否かの変更や、内部に複数のブロックを有する場合にはブロック毎に有効にしたり無効にしたりする変更等を配線パターンの変更のみで行うことができる。また、Ｉ／Ｏマクロ（第２のバルクパターンＢ２）であれば、Ｉ／Ｏの種類や駆動力の変更、一例として高速Ｉ／Ｏ（ＨＳＩＯ）の場合には送受信チャネル数の設定やきめ細かな電力制御の変更、メモリインタフェース規格であるＳＳＴＬ規格に準拠したＩ／Ｏの場合にはClass１やClass2の切り替え（Ｉ／Ｏセルの駆動力の変更）、動作電圧の変更等を行うことができる。
【００３４】
また、ＲＡＭマクロ（第３、第４のバルクパターンＢ３、Ｂ４）であれば、ワードビット回路構成の変更、及び速度や電力制御を行ったり、未使用時にはほとんどすべての配線層の開放を行ったりすることができる。また、ユニットセル（第５のバルクパターンＢ５）であれば、一部の入力端子のＶＤＤ（電源電位）／ＶＳＳ（基準電位）の自動クリップ、駆動力の変更、ゲート遅延のRise（立ち上がり）／Fall（立下り）特性の変更、フォローピン（電源線）の保持や裏打ちによる補強、予めプリセットしていた論理を開放して配線チャネルとして開放する或いは他の論理の再割り当て等を行うことができる。
【００３５】
次に、第１の実施形態における半導体集積回路のレイアウト設計方法について説明する。
図７（ａ）、（ｂ）は、第１の実施形態における半導体集積回路のレイアウト設計方法を概略的に示した図である。
【００３６】
図７（ａ）は、図５に示した初期状態の半導体集積回路の設計方法を示している。
初期状態の半導体集積回路の設計においては、図１に示したようなバルクパターンを全体に配置したフレーム１におけるバルクパターンの配置情報であるフレーム１内のバルクパターン配置データ７１と、図３に示したようなバルクパターンに対応する複数の配線パターンを示すバルク毎の配線パターンテーブル７２とを参照し、配線パターンの初期値選択処理Ｐ１を行う。
【００３７】
配線パターンの初期値選択処理Ｐ１では、バルクパターン毎に、配線パターンテーブル７２の中から予め設定された初期値に従って配線パターンを選択し、それをバルクパターンに対する配線パターンとして設定する。この処理Ｐ１により、図５に示したようなバルクパターン毎に同じ配線パターンが設定された初期配線パターン設定済みフレームデータ７３が得られる。
【００３８】
図７（ｂ）は、ユーザの要求に応じた所望の半導体集積回路に係るユーザレイアウト設計方法を示している。
ユーザレイアウト設計においては、上述したようにして得られた初期配線パターン設定済みフレームデータ７３と、バルク毎の配線パターンテーブル７２とを参照し、ユーザレイアウト処理Ｐ２を行う。
【００３９】
このユーザレイアウト処理Ｐ２では、初期配線パターン設定済みフレームがユーザの要求に応じた所望の半導体集積回路となるように、フレーム１内に配置された１つのバルクパターン毎に適切な配線パターンの符号が入力され、その入力された配線パターンの符号に基づいて、各々のバルクパターンの配線パターンを初期値として設定された配線パターンから適切な配線パターンに差し替え、設定する。なお、フレーム１内に配置されたすべてのバルクパターンに対する配線パターンの符号を入力するようにしても良いし、配線パターンの差し替えが必要なバルクパターンのみに対する配線パターンの符号を入力するようにしても良い。
【００４０】
ユーザレイアウト処理Ｐ２により、図６に示したようなユーザの要求に応じた所望の回路機能を実現するユーザレイアウト済みフレームデータ７４が得られる。このユーザレイアウト済みフレームデータ７４に基づいて、可変配線層に形成する配線パターンに係るマスクのみを作成することで、ユーザの要求に応じた所望の半導体集積回路が製造可能となる。
【００４１】
次に、第１の実施形態における半導体集積回路のレイアウト設計方法について詳細に説明する。
図８（ａ）、（ｂ）は、第１の実施形態における半導体集積回路のレイアウト設計方法を示すフローチャートであり、図８（ａ）は図７（ａ）に示した設計方法に対応し、図８（ｂ）は図７（ｂ）に示した設計方法に対応している。
【００４２】
図８（ａ）において、まずステップＳ１にて、バルクパターン配置データ及び配線パターンの初期値（初期配線パターンの符号）が入力される。
次に、ステップＳ２にて、バルク毎の配線パターンテーブルを参照し、ステップＳ１において入力された配線パターンの初期値に対応する配線パターンを選択する。
【００４３】
ステップＳ３にて、ステップＳ２において選択された配線パターンをバルクパターンの初期配線パターンとして設定する。
続いて、ステップＳ４にて、初期配線パターン未設定のバルクパターンがあるか否かを判断する。この判断の結果、初期配線パターン未設定のバルクパターンがある場合には、ステップＳ２に戻り、上述した処理を再び行う。
【００４４】
一方、ステップＳ４での判断の結果、初期配線パターン未設定のバルクパターンがない、すなわち、すべてのバルクパターンに対して初期配線パターンの設定が終了した場合には、ステップＳ５にて、初期配線パターン設定済みフレームデータを生成して出力し、処理を完了する。
【００４５】
図８（ｂ）において、ステップＳ１１にて、初期配線パターン設定済みフレームデータ、及び差し替え配線パターンデータが入力される。ここで、差し替え配線パターンデータは、ユーザの要求に応じた機能を半導体集積回路にて実現するための配線パターンの符号を示すデータである。
ステップＳ１２にて、フレーム１内に配置されたバルクパターンを１つずつ順次スキャンするためのスキャン座標を初期化する。
【００４６】
次に、ステップＳ１３にて、スキャン座標に対応するバルクパターンをスキャンし、配線パターンの差し替えを行うか否かを判断する。この判断の結果、配線パターンの差し替えを行う場合にはステップＳ１４に進み、そうでない場合にはステップＳ１６に進む。
【００４７】
ステップＳ１４にて、対象としているバルクパターンの配線パターンテーブルを参照し、ステップＳ１１において差し替え配線パターンデータとして入力された配線パターンの符号に対応する配線パターンを選択する。
ステップＳ１５にて、対象としているバルクパターンの配線パターンを、ステップＳ１４において選択した配線パターンに差し替え、設定する。
【００４８】
ステップＳ１６にて、スキャンしていない未スキャンのバルクパターンがあるか否かを判断する。この判断の結果、未スキャンのバルクパターンがある場合には、ステップＳ１７にて次のスキャン座標を設定し、ステップＳ１３に戻る。
一方、ステップＳ１６での判断の結果、未スキャンのバルクパターンがない場合には、ステップＳ１８にて、ユーザレイアウト済みフレームデータを生成して出力し、処理を完了する。
【００４９】
なお、第１の実施形態において上記図１に示したバルクパターンの配置は一例であり、バルクパターンをフレーム１内に敷き詰めるようにすればその配置は任意である。例えば、ＰＬＬマクロ（第１のバルクパターンＢ１）を多く配置したり、ＲＡＭマクロ（第３又は第４のバルクパターンＢ３、Ｂ４）を多く配置したりしても良い。さらに、異なるバルクパターンの配置パターンをデータとして複数保持しておき、その中から１つを選択させるようにしても良い。また、上記図２に一例を示した各バルクパターンに対応する配線パターンの数も任意である。
【００５０】
また、上述した第１の実施形態においては、各バルクパターンＢ１〜Ｂ５をそれぞれ独立してフレーム１内に配置するようにしているが、例えば図１０に示すように、２個の第３のバルクパターンＢ３と、３個の第４のバルクパターンＢ４と、３２個の第５のバルクパターンＢ５とを組合せたものを基本ブロックＢＢ１としてバルクパターンと同様に配置するようにしても良い。なお、図１０に示す基本ブロックＢＢ１は一例でありこれに限定されるものではない。
【００５１】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
以下に説明する第２の実施形態は、例えば多数のユーザが使用し得る回路機能など、ユーザのデザインで共通の回路機能を実現するための予め設計済みの情報（バルクパターンの配置情報及び配線情報等）をライブラリとして準備しておき、このライブラリを用いて設計を行うことで、さらに半導体集積回路の開発に係る期間やコストを削減し負担の軽減を図るものである。
【００５２】
図１１は、本発明の第２の実施形態による半導体集積回路の構成例を示す図であり、具体的には半導体集積回路におけるバルク層の構成例について示している。
図１１に示すように第２の実施形態による半導体集積回路は、上述した第１の実施形態による半導体集積回路と同様に、バルクパターンが形成可能な領域を敷き詰めるようにして最低限の複数種類のバルクパターンＢ１〜Ｂ５がフレーム１内に配置されている。したがって、第２の実施形態による半導体集積回路においても、上述した第１の実施形態と同様に、フレーム１内においてバルク層のバルクパターンが敷き詰められたすべての部分（領域）で何らかの回路機能が形成されている。
【００５３】
第２の実施形態においては、フレーム１内にバルクパターンＢ１〜Ｂ５を配置する場合に、選択された固定の複数のバルクパターンを組合せて基本ブロックＢＬＫを構成し、基本ブロックＢＬＫをフレーム１内の所定領域に配置する。このとき、フレーム１内の所定領域に配置可能なだけ基本ブロックＢＬＫを敷き詰めるように配置する。本実施形態では、基本ブロックＢＬＫをＮ個（Ｎは任意の自然数）用いて所定の回路機能を実現する予め設計済みとしたファームマクロ（ライブラリ）が提供される。
【００５４】
なお、フレーム１内の所定領域に基本ブロックＢＬＫを配置して残った当該所定領域内の残余領域については、バルクパターン（例えば、第５のバルクパターンＢ５）を適宜配置するようにしても良いし、バルクパターンを配置せず空き領域とするようにしても良い。
【００５５】
例えば、図１１に示した例では、図示しているように１個の第３のバルクパターン（第１のＲＡＭマクロ）Ｂ３と、２個の第４のバルクパターン（第２のＲＡＭマクロ）Ｂ４と、１８個の第５のバルクパターン（ユニットセル）Ｂ５とを組合せて１つの基本ブロックＢＬＫを構成する。そして、フレーム１内の所定領域に、その所定領域を敷き詰めるように基本ブロックＢＬＫを配置し、１６個の基本ブロックＢＬＫが配置されている。ここで、基本ブロックＢＬＫが配置されるフレーム１内の所定領域は、フレーム１内にてバルクパターンＢ１〜Ｂ５を形成可能な領域から、ユーザに使用を禁止したバルクパターンが配置される領域を除いた領域であり、例えば、第１のバルクパターン（ＰＬＬマクロ）Ｂ１及び第２のバルクパターン（Ｉ／Ｏマクロ）Ｂ２が配置される領域（言い換えれば外部インタフェースに係るバルクパターン及びクロック制御に係るバルクパターンが配置される領域）を除いたユーザが任意の回路機能を実現可能なフレーム１内の領域である。
また、図１１に示した例では、所定領域内の残余領域には、第５のバルクパターンＢ５を配置している。
【００５６】
なお、第２の実施形態による半導体集積回路でのバルク層ＢＬ及び配線層ＰＬ１〜ＰＬ６に係る積層構造は、図２に示した第１の実施形態による半導体集積回路と同様であるので説明は省略する。
【００５７】
図１２は、上述したように基本ブロックＢＬＫをＮ個用いて所定の回路機能を実現するファームマクロの一例を示す図である。ファームマクロは、所定の回路機能を実現するためのレイアウト設計を予め行って得られた情報を登録したものであり、例えばユーザがよく使用する、デザインで共通の回路機能をファームマクロとして登録する。例えば、ファームマクロを用いて実現可能な回路機能の一例としては、ＡＶ機器用、サーバ向け機器用、ストレージ機器用、及び画像処理用などのＣＰＵやプロセッサ、また各高速Ｉ／Ｏの規格に準拠したデータリンク層の処理回路（高速Ｉ／Ｏのインタフェース回路）等があげられる。
【００５８】
ファームマクロは、所定の回路機能を実現するために使用するバルクパターンの配置情報や配線情報を、予め設計済みのデータとして基本ブロックＢＬＫ単位で有している。バルクパターンの配置情報には配置座標及びバルクパターンの種類に係る情報を含み、配線情報には配線を形成する位置を示す座標及び配線層に係る情報を含む。なお、これらの情報における座標値は、基本ブロックＢＬＫ内の所定位置を基準とする座標値である。
【００５９】
図１２（Ａ）〜（Ｃ）に示す例では、所定の回路機能を実現するための配線を配線層ＰＬ１〜ＰＬ６に有するバルクパターン、つまり所定の回路機能を実現するために使用したり上層の配線層に配線が形成されたりするバルクパターンにはハッチングを施して図示している。
【００６０】
図１２（Ａ）は、１個の基本ブロックＢＬＫを用いて特定の回路機能を実現する（１個の基本ブロックＢＬＫに特定の回路機能を登録した）第１のファームマクロＦＭ１を示している。第１のファームマクロＦＭ１は、１個の第３のバルクパターンＢ３と６個の第５のバルクパターンＢ５により特定の回路機能を実現するファームマクロである。
【００６１】
図１２（Ｂ）は、１個の基本ブロックＢＬＫを用いて特定の回路機能を実現する第２のファームマクロＦＭ２を示している。第２のファームマクロＦＭ２は、１個の第３のバルクパターンＢ３と２個の第４のバルクパターンＢ４と４個の第５のバルクパターンＢ５により特定の回路機能を実現するファームマクロである。
【００６２】
図１２（Ｃ）は、２個の基本ブロックＢＬＫを用いて特定の回路機能を実現する第３のファームマクロＦＭ３を示している。第３のファームマクロＦＭ３は、一方の基本ブロックＢＬＫ内の１個の第３のバルクパターンＢ３と１個の第４のバルクパターンＢ４と７個の第５のバルクパターンＢ５、及び他方の基本ブロックＢＬＫ内の１個の第３のバルクパターンＢ３と１個の第４のバルクパターンＢ４と６個の第５のバルクパターンＢ５により特定の回路機能を実現するファームマクロである。
【００６３】
図１３は、第２の実施形態による半導体集積回路の具体的な構成例を示す図である。
ユーザの要求に応じて、フレーム１内の基本ブロックＢＬＫにファームマクロＦＭ１〜ＦＭ３を割り当てた場合の半導体集積回路を示している。
【００６４】
ファームマクロＦＭ１〜ＦＭ３の割り当ては、割り当てが指定された基本ブロックＢＬＫに対してファームマクロＦＭ１〜ＦＭ３に係るバルクパターンの配置情報や配線情報を基本ブロックＢＬＫ単位で適用し反映させる（以下、「戻す」とも言う。）ことにより行われる。これにより、指定された任意の基本ブロックＢＬＫは、例えばプロセッサや高速Ｉ／Ｏインタフェース回路等の特定の回路機能に置き換えることができる。
【００６５】
ここで、ファームマクロＦＭ１〜ＦＭ３のバルクパターンの配置情報及び配線情報を基本ブロックＢＬＫに適用する場合には、バルクパターンの配置情報及び配線情報における座標値が、指定された基本ブロックＢＬＫのフレーム１内における配置位置（配置座標）を基に変換される。つまり、ファームマクロＦＭ１〜ＦＭ３のバルクパターンの配置情報及び配線情報における座標値を指定された基本ブロックＢＬＫの位置に応じて変換して戻す。この処理は、座標変換（計算）機能を有するＣＡＤシステム等の設計システムを用いることで可能である。なお、バルクパターンの配置情報や配線情報を指定された基本ブロックＢＬＫに戻す際には、双方の情報を戻さなくても良く、バルクパターンの配置情報のみを戻して配線は再配線を行うようにしても良い。
【００６６】
また、ファームマクロＦＭ１〜ＦＭ３の割り当てが行われない基本ブロック（図１３では、基本ブロックＵＢＫ）のバルクパターンＢ１〜Ｂ５及び配線チャネルは、ユーザが自由に使用できるようにしてユーザ自らが任意の回路機能を形成できるようにしても良いし、ユーザには使用できないようにしても良い。さらには、基本ブロックにファームマクロＦＭ１〜ＦＭ３が割り当てられていても、ファームマクロＦＭ１〜ＦＭ３内の未使用のバルクパターンＢ１〜Ｂ５及び配線チャネルは、ユーザが自由に使用できるように解放しても良い。
【００６７】
以上のように、第２の実施形態による半導体集積回路では、ユーザのデザインで共通の回路機能を実現するための予め設計済みのファームマクロＦＭ１〜ＦＭ３の情報（バルクパターンの配置情報及び配線情報等）をライブラリとして準備し、半導体集積回路の設計を行う場合にこのライブラリを用いることで、ファームマクロＦＭ１〜ＦＭ３として提供される回路機能については、バルクパターンの配置やその配線などの設計を行うことなく、基本ブロックに対して既にある配置情報や配線情報を適用するという容易作業のみで基本的な回路設計を完了して所望の回路機能を実現することができる。したがって、半導体集積回路の開発に係る期間やコストを大幅に削減して負担を軽減することができる。なお、上述した第１の実施形態と同様な効果も得られる。
【００６８】
次に、第２の実施形態における半導体集積回路のレイアウト設計方法について説明する。
図１４は、第２の実施形態における半導体集積回路のレイアウト設計方法を概略的に示した図である。
【００６９】
第２の実施形態による半導体集積回路の設計においては、図１１に示したようなフレーム１内の所定領域に基本ブロックを敷き詰めるように配置したフレーム１における基本ブロックの配置情報である基本ブロック配置データ１４１と、図１２に示したようなファームマクロを示すファームマクロのライブラリ１４２とを参照し、ファームマクロの割り当て処理Ｐ１１を行う。
【００７０】
ファームマクロの割り当て処理Ｐ１１では、フレーム１内の基本ブロック毎に、ファームマクロのライブラリ１４２の中からユーザの設定値に従って予め設計済みのファームマクロを選択し、それを基本ブロックに対するファームマクロとして設定する。この処理Ｐ１１により、図１３に示したような基本ブロック毎にファームマクロが割り当てられたファームマクロ割り当て済みフレームデータ１４３が得られる。
【００７１】
さらに、指定された基本ブロックに対してファームマクロに係るバルクパターンの配置情報及び配線情報を戻す配置・配線情報戻し処理Ｐ１２を行う。
配置・配線情報戻し処理Ｐ１２は、基本ブロック内に既に存在するクロック配線やテスト回路用配線等の配線がレイアウトにて使用されている場合に、割り当てたファームマクロ毎にバルクパターンの配置情報及び配線情報の双方、又はバルクパターンの配置情報のみを基本ブロックに対して戻す処理である。この処理Ｐ１２により、ユーザの設定に応じて、所望の回路機能を実現するファームマクロがフレーム１内にレイアウトされたユーザレイアウト済みフレームデータ１４４が得られる。
【００７２】
次に、第２の実施形態における半導体集積回路のレイアウト設計方法について詳細に説明する。
図１５は、第２の実施形態における半導体集積回路のレイアウト設計方法を示すフローチャートである。
まず、ステップＳ２１にて、フレーム１内の所定領域に配置された基本ブロックに割り当てるファームマクロを示すファームマクロの設定値が入力される。
ステップＳ２２にて、フレーム１内に配置された基本ブロックを１つずつ順次スキャンするためのスキャン座標を初期化する。
【００７３】
次に、ステップＳ２３にて、ステップＳ２１において入力されたファームマクロの設定値に基づいて、スキャン座標に対応する基本ブロックに割り当てるファームマクロを選択する。
【００７４】
ステップＳ２４にて、基本ブロックに選択したファームマクロの配線情報を戻すか否かを判断する。この判断の結果、ファームマクロの配線情報を戻す場合には、ステップＳ２５に進み、ファームマクロの配線情報を基本ブロックに戻す。一方、基本ブロック内で既にクロック配線やテスト回路用配線等の配線がレイアウトにて使用されている場合など、ファームマクロの配線情報を戻さない場合には、ステップＳ２５をスキップする。
続いて、ステップＳ２６にて、選択したファームマクロのバルクパターンの配置情報を基本ブロックに戻す。
【００７５】
つまり、ステップＳ２４〜Ｓ２６の処理では、基本ブロック内で既にクロック配線やテスト回路用配線等の配線がレイアウトにて使用されている場合など既に存在する配線に不都合が生じるおそれがあってファームマクロの配線情報を戻さない場合には、ファームマクロにおけるバルクパターンの配置情報のみを基本ブロックに戻し、そうでない場合にはファームマクロにおけるバルクパターンの配置情報及び配線情報の双方を基本ブロックに戻す。
【００７６】
ステップＳ２７にて、スキャンしていない未スキャンの基本ブロックがあるか否かを判断する。この判断の結果、未スキャンの基本ブロックがある場合には、ステップＳ２８にて次のスキャン座標を設定し、ステップＳ２３に戻る。
一方、ステップＳ２７での判断の結果、未スキャンの基本ブロックがない場合には、ステップＳ２８にて、ユーザレイアウト済みフレームデータを生成して出力し、処理を完了する。
【００７７】
なお、上述した第２の実施形態においては、図１１に示したようにフレーム１内の所定領域に１種類の基本ブロックＢＬＫを敷き詰めるように配置した半導体集積回路を一例として示したが、本発明はこれに限定されるものではなく、フレーム１内の所定領域に複数種類の基本ブロックを配置するようにしても良い。また、複数種類の基本ブロックを用いる場合、各基本ブロックの大きさは、同じであっても良いし、異なっていても良い。つまり、基本ブロックの大きさは任意である。
【００７８】
また、図１１に示した第２の実施形態による半導体集積回路においては、フレーム１内の所定領域に配置した基本ブロックは、すべて同じ方向に揃えて配置しているが、基本ブロック内の所定位置を中心として所定の角度だけ回転させたり、基本ブロック内のある軸に対して対称となるように反転させたりして、基本ブロックを配置しても良い。なお、回転させたり、反転させたりして配置した基本ブロックに対してファームマクロを割り当てる場合には、ファームマクロのバルクパターンの配置情報や配線情報における座標値にも回転や反転に対応する座標変換処理を施すようにすれば良い。
【００７９】
例えば、図１６に示すように、１個の第３のバルクパターンＢ３と、２個の第４のバルクパターンＢ４と、１８個の第５のバルクパターンＢ５とを組合せた第１の基本ブロックＢＬＫ１、及び１個の第３のバルクパターンＢ３と、１個の第４のバルクパターンＢ４と、２０個の第５のバルクパターンＢ５とを組合せた第２の基本ブロックＢＬＫ２の２種類の基本ブロックＢＬＫ１、ＢＬＫ２をフレーム１内の所定領域に配置しても良い。また、例えば図１６において、基本ブロックＢＬＫ１をその内部の点又は軸を基準として回転又は対称移動させた基本ブロックＢＬＫ１’を基本ブロックＢＬＫ１と合わせて配置しても良い。
【００８０】
このように基本ブロックの配置方法は様々であるので、異なる基本ブロックの配置パターンをデータ（フレームライブラリ）として複数保持しておき、半導体集積回路を設計する際にその中から１つを選択させるようにしても良い。
【００８１】
また、図１２や図１３に示したファームマクロＦＭ１〜ＦＭ３及びその配置例は一例であり、これに限定されるものではない。例えば、図１６に示すファームマクロＦＭ４のように異なる基本ブロックＢＬＫ１、ＢＬＫ２を用いて１つのファームマクロを構成しても良い。また、複数の基本ブロックで１つのファームマクロを構成する場合、基本ブロックが接触して組み合わさっている、言い換えれば基本ブロックの何れか１つの辺が他の基本ブロックの何れか１つの辺に重なっている必要もなく、図１６に示すファームマクロＦＭ３’のようにファームマクロを割り当てる基本ブロックが離れていても良い。このようにファームマクロを割り当てる基本ブロックが離れている場合には、このファームマクロに対応する基本ブロック間の配線は再配線すれば良い。
【００８２】
なお、複数の基本ブロックで１つのファームマクロを構成する場合には、基本的には基本ブロック間の配線は再配線を行う。しかし、基本ブロック間の間隔（隙間）がファームマクロを含めてすべて同じである場合には、基本ブロック間の配線であっても再配線を行わずにファームマクロの配線情報を用いるようにしても良い。
【００８３】
また、第２の実施形態では、基本ブロック内で既にクロック配線やテスト回路用配線等の配線がレイアウトにて使用されている場合など既に存在する配線に不都合が生じるおそれがある場合には基本ブロック内のすべてのバルクパターンについてファームマクロの配線情報を戻さないようにしているが、不都合が生じる部分のみファームマクロの配線情報を戻さないようにしても良い。また、不都合が生じるか否かにかかわらず、基本ブロックに対してファームマクロの配線情報を常に戻すようにして、物理検証（デザインルールチェック、電気的接続チェック）等で検出されたバイオレーションショート等の違反部分のみ再配線を行うようにしても良い。
【００８４】
また、上述した第２の実施形態における半導体集積回路のレイアウト設計方法では、ファームマクロの割り当て処理Ｐ１１及び配置・配線情報戻し処理Ｐ１２が完了して得られたデータをユーザレイアウト済みフレームデータとしているが、フレーム１内の未使用のバルクパターンＢ１〜Ｂ５及び配線チャネル（ファームマクロの割り当てが行われない基本ブロックのバルクパターンＢ１〜Ｂ５及び配線チャネルや、ファームマクロ内の未使用のバルクパターンＢ１〜Ｂ５及び配線チャネル）を用い、ユーザの要求に応じた個別の回路機能を実現するためのユーザレイアウトをさらに行うようにしても良い。この場合のレイアウト設計方法の概略を図１７に示す。
【００８５】
図１７は、第２の実施形態における半導体集積回路の他のレイアウト設計方法を概略的に示す図である。図１７において、図１４に示した要素に対応する要素には同一の符号を付している。
図１７（ａ）に示す半導体集積回路のレイアウト設計方法は、説明の便宜上、ファームマクロの割り当て処理Ｐ１１及び配置・配線情報戻し処理Ｐ１２が完了して得られたデータを初期レイアウト済みフレームデータ１４４’と称している点が異なるだけで、上記図１４に示した半導体集積回路のレイアウト設計方法と同様であるので説明は省略する。
【００８６】
図１７（ｂ）は、ユーザの要求に応じた個別の回路機能を実現するためのユーザレイアウト設計方法を示している。
ユーザレイアウト設計においては、図１７（ａ）に示したようにしてファームマクロの割り当て処理Ｐ１１及び配置・配線情報戻し処理Ｐ１２が完了して得られた初期レイアウト済みフレームデータ１４４’と、バルク毎の配線パターンテーブル１７５とを参照し、ユーザレイアウト処理Ｐ２３を行う。
【００８７】
このユーザレイアウト処理Ｐ２３では、ファームマクロの割り当てを行った初期レイアウト済みフレームにて、ユーザが自由に使用可能な未使用バルクパターン及び配線チャネルを用いてユーザの要求に応じた回路機能を実現するための配線パターンの設定処理を行う。具体的には、フレーム１内の未使用バルクパターン毎に適切な配線パターンの符号が入力され、その入力された配線パターンの符号に基づいて、各々のバルクパターンの配線パターンを選択して適切な配線パターンを設定する。
【００８８】
ユーザレイアウト処理Ｐ２３にて、未使用バルクパターンに係る配線パターンの設定処理を行うことで、ファームマクロ割り当て後の未使用のバルクパターンＢ１〜Ｂ５及び配線チャネルを用い、ユーザの要求に応じた個別の回路機能を実現するユーザレイアウト済みフレームデータ１７６が得られる。
【００８９】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。
半導体集積回路において、例えばＪＴＡＧ（バウンダリスキャンテスト）に準拠した２つのＴＡＰ（Test Access Port：テストアクセスポート）コントローラを具備させる場合には、マルチプレクサを用いて２つのＴＡＰコントローラを切り換えるように構成するのが一般的である。マルチプレクサを用いることで、チップ内部に具備する２つのＴＡＰコントローラがチップ外部からは排他的に見えるとともに、外部ピン（端子）数（外部入出力の数）を削減できる。
【００９０】
しかし、上述のような回路を実現する場合、従来の半導体集積回路においては、２つのＴＡＰコントローラとマルチプレクサとに係る論理（ネットリスト）は、例えばメーカー側等から提供されユーザにかかわらず共通であるが、実際のレイアウト設計はユーザ毎に自由に実施していた。つまり、同じ回路機能を実現するにもかかわらず、ユーザ毎にレイアウト設計を行うため、開発効率を低下させるとともに、開発や製造等に要するコストの削減を妨げる要因の１つであった。
【００９１】
そこで、以下に説明する第３の実施形態は、テスト回路機能を実現するための予め設計済みの情報（バルクパターンの配置情報及び配線情報等）をライブラリとして準備し、それを用いて設計を行うことで、半導体集積回路の開発に係る期間やコストを削減し負担の軽減を図るものである。また、ライブラリとして提供される構成の一部をユーザが変更可能なようにすることで汎用性の向上を図っている。
【００９２】
なお、以下の説明では、第３の実施形態による半導体集積回路の特徴的な回路構成についてのみ説明し、全体の構成等については上述した第１及び第２の実施形態による半導体集積回路と同様に構成すれば良いので説明は省略する。
【００９３】
図１８は、本発明の第３の実施形態による半導体集積回路の構成例を示す図である。なお、図１８においては、第３の実施形態による半導体集積回路の要素的特徴のみを図示しており、上述した第１及び第２の実施形態に全体を示したような半導体集積回路内の構成の一部に相当する。
【００９４】
図１８において、１９２はＪＴＡＧ用のマルチプレクサであり、１９３は第１のＴＡＰコントローラ（ＴＡＰ−Ａ）、１９４は第２のＴＡＰコントローラ（ＴＡＰ−Ｂ）である。ＴＡＰ−Ａ１９３は、例えばチップ全体の試験用に設けたＴＡＰコントローラであり、ＴＡＰ−Ｂ１９４は、例えばプロセッサ用に設けたＴＡＰコントローラである。
【００９５】
マルチプレクサ１９２は、バッファＢＵＦ１１を介した配線により外部端子（ピン）ＩＯ１１（入力ＩＮ１）に接続されるとともに、バッファＢＵＦ１２を介した配線により外部端子ＩＯ１２（出力ＯＵＴ１）に接続される。マルチプレクサ１９２とＴＡＰ−Ａ１９３とは、バッファＢＵＦ２１、ＢＵＦ２２を介した配線により接続される。同様に、マルチプレクサ１９２とＴＡＰ−Ｂ１９４とは、バッファＢＵＦ３１、ＢＵＦ３２を介した配線により接続される。
【００９６】
また、マルチプレクサ１９２には外部からテストモード信号ＴＳＴが入力されており、ＴＡＰ−Ａ１９３とＴＡＰ−Ｂ１９４のいずれのＴＡＰコントローラを用いるか切り換え可能となっている。このテストモード信号ＴＳＴに応じてＴＡＰ−Ａ１９３とＴＡＰ−Ｂ１９４とが切り換えられる、すなわちＴＡＰ−Ａ１９３又はＴＡＰ−Ｂ１９４のどちらを外部端子ＩＯ１１、ＩＯ１２に対して接続するかが切り換えられる。
【００９７】
なお、マルチプレクサ１９２と外部端子ＩＯ１１とを接続するバッファＢＵＦ１１を介した配線、マルチプレクサ１９２とＴＡＰ−Ａ１９３、ＴＡＰ−Ｂ１９４とをそれぞれ接続するバッファＢＵＦ２１、ＢＵＦ３１を介した配線は、ＩＥＥＥ１１４９．１規格（いわゆるＪＴＡＧ）に準拠したテストデータ入力ＴＤＩ、テストクロックＴＣＫ、テストモード選択ＴＭＳ、及びテストリセットｎＴＲＳＴにそれぞれ対応した複数の配線で構成されるが、図１８においては説明の便宜上、省略して図示している。また、マルチプレクサ１９２と外部端子ＩＯ１２とを接続するバッファＢＵＦ１２を介した配線、マルチプレクサ１９２とＴＡＰ−Ａ１９３、ＴＡＰ−Ｂ１９４とをそれぞれ接続するバッファＢＵＦ２２、ＢＵＦ３２を介した配線は、ＩＥＥＥ１１４９．１規格に準拠したテストデータ出力ＴＤＯに対応している。
【００９８】
ここで、本実施形態においては、第２の実施形態におけるファームマクロと同様に、図１８に一例を示したような回路構成を実現するために使用するバルクパターンの配置情報及び配線情報を予め設計済みのデータ（ライブラリ）として登録しておく。したがって、マルチプレクサ１９２、ＴＡＰ−Ａ１９３、ＴＡＰ−Ｂ１９４、及び各バッファの回路機能を実現するマクロのバルクパターン（バルク層の構造）は、ユーザによらず固定され、ユーザ側では変更できない。
【００９９】
また、各マクロ間の配線についても固定しユーザ側での変更を行えないようにするが、後述するようにマルチプレクサ１９２（バッファＢＵＦ３１、ＢＵＦ３２）とＴＡＰ−Ｂ１９４との間の配線については、ユーザ側で変更可能とする。したがって、各マクロ間の配線のうち、少なくともマルチプレクサ１９２（バッファＢＵＦ３１、ＢＵＦ３２）とＴＡＰ−Ｂ１９４との間の配線は、可変配線層に形成される。他のマクロ間の配線は、固定配線層又は可変配線層のどちらに形成するようにしても良い。
【０１００】
このように、第３の実施形態では、図１８に示したようなテスト回路の機能を実現するための予め設計済みのバルクパターンの配置情報及び配線情報をライブラリとして準備しておき、半導体集積回路の設計を行う場合にこのライブラリを用いる。これにより、ライブラリとして提供されるテスト回路の機能については、バルクパターンの配置やその配線に加えバルクパターン間の配線などの設計を行うことなく、ライブラリに示される情報を適用する容易な作業のみでテスト回路の機能を実現することができる。したがって、チップ内部に具備する２つのＴＡＰコントローラ（ＴＡＰ−Ａ１９３、ＴＡＰ−Ｂ１９４）がチップ外部からは排他的に見え、かつ外部端子数（外部入出力の数）を削減できるという効果が得られるとともに、かつ半導体集積回路の開発に係る期間やコストを削減し負担を軽減することができる。
【０１０１】
さらには、マルチプレクサ１９２（バッファＢＵＦ３１、ＢＵＦ３２）とＴＡＰ−Ｂ１９４との間の配線を、ユーザ側で変更可能、すなわちカスタマイズできるようにしたことで、回路構成を一部変更し、さまざまな応用が可能となる。以下、図１９〜図２１を参照して、第３の実施形態による半導体集積回路に対するカスタマイズの一例を示す。なお、図１９〜図２１においては、図１８に対応する回路部分のみ図示している。
【０１０２】
図１９は、第３の実施形態における半導体集積回路の回路変更例を示す図である。図１９に示す例は、マルチプレクサ１９２（バッファＢＵＦ３１、ＢＵＦ３２）とＴＡＰ−Ｂ１９４との間の配線を削除し、ＴＡＰ−Ｂ１９４の入力端及び出力端を、外部端子ＩＯ１１、ＩＯ１２とは異なる外部端子（ピン）ＩＯ２１（入力ＩＮ２）及びＩＯ２２（出力ＯＵＴ２）にそれぞれ接続したものである。
【０１０３】
このようにＴＡＰ−Ｂ１９４の入力端及び出力端を外部端子ＩＯ２１、ＩＯ２２に接続するようにすることで、チップ内部のＴＡＰ−Ａ１９３とＴＡＰ−Ｂ１９４がチップ外部からそれぞれ独立して見え、２つのＴＡＰコントローラ１９３、１９４を独立制御して動作させることが可能になる。
【０１０４】
なお、ＴＡＰ−Ｂ１９４の入力端及び出力端と外部端子ＩＯ２１、ＩＯ２２との間には、任意の論理回路（ＡＮＤ回路やＯＲ回路やＮＡＮＤ回路）等を挿入しても良い。また、削除した配線に係るバッファＢＵＦ３１、ＢＵＦ３２については、削除しても良いしそのまま残しても良く、残す場合にはバッファＢＵＦ３１の出力端はフローティングであっても良いがバッファＢＵＦ３２の入力端はＶＤＤ（電源電位）又はＶＳＳ（基準電位）にクリップしておくことが望ましい。
【０１０５】
図２０は、第３の実施形態における半導体集積回路の他の回路変更例を示す図である。図２０に示す例は、図１８に示した回路構成において、ＴＡＰ−Ｂ１９４にさらに第３のＴＡＰコントローラ（ＴＡＰ−Ｃ）１９５をデイジーチェーン（直列）に接続したものである。このようにＴＡＰコントローラが、直列に接続可能なものである場合には、図２０に示すように複数のＴＡＰコントローラをデイジーチェーンに接続し、ＴＡＰコントローラに対応する回路素子（例えばプロセッサ）の数を任意に増加させることができる。また、異なる回路素子等を混在させることもできる。
【０１０６】
図２１は、第３の実施形態における半導体集積回路のその他の回路変更例を示す図である。図２１に示す例は、ライブラリに準備しているＴＡＰ−Ｂ１９４を用いずに、ユーザ側で新規にレイアウト設計を行った第４のＴＡＰコントローラ（ＴＡＰ−Ｄ）１９６をマルチプレクサ１９２に接続したものである。なお、用いないＴＡＰ−Ｂ１９４については削除しても良いし、そのまま残しておいても良い。
【０１０７】
このように、ライブラリにおける既存のＴＡＰ−Ｂ１９４を用いずに、新規にレイアウトしたＴＡＰ−Ｄ１９６をマルチプレクサ１９２に接続する、すなわち、既存のマルチプレクサ１９２を有効に利用して異なるＴＡＰコントローラを接続することも可能である。例えば、ＴＡＰ−Ｂ１９４がある一種（Ａ種とする）のＣＰＵに対応したＴＡＰコントローラであり、ＴＡＰ−Ｄ１９６が異なる一種（Ｂ種とする）のＣＰＵに対応したＴＡＰコントローラであるとすると、既存のマルチプレクサ１９２を流用して異なるＣＰＵを接続することができる。
【０１０８】
なお、第３の実施形態による半導体集積回路に対するカスタマイズは、これらに限定されるものではなく、変更可能な範囲で任意に行うことが可能である。例えば、図１９〜図２１に示したものを任意に組合せるようにしてカスタマイズすることも可能である。
また、上述した説明では、図１８に示した回路構成を実現するための設計済み情報をライブラリとして登録するようにしているが、変更可能な部分を除いた回路部分１９１を実現するための設計済み情報をライブラリとして登録するようにしてもよい。その場合には、外部とのインタフェース部分、つまりバッファＢＵＦ３１の出力端及びバッファＢＵＦ３２の入力端を、ＴＡＰ−Ｂ１９４やＴＡＰ−Ｄ１９６と接続可能なように固定しておく。
【０１０９】
図２２は、第３の実施形態における半導体集積回路の回路実装の具体例を示す図である。図２２において、２２１は、マルチプレクサ２２２、チップ全体の試験用ＴＡＰコントローラ２２３、及びプロセッサコア２２４が形成されるチップである。また、プロセッサコア２２４には、プロセッサ用ＴＡＰコントローラ２２５が形成される。ここで、マルチプレクサ２２２、チップ全体の試験用ＴＡＰコントローラ２２３、及びプロセッサ用ＴＡＰコントローラ２２５が、図１８に示したマルチプレクサ１９２、ＴＡＰ−Ａ１９３、及びＴＡＰ−Ｂ１９４にそれぞれ対応する。
【０１１０】
また、マクロ２２１は、ＩＥＥＥ１１４９．１規格に対応したものであり、それに準拠してテストデータ入力ＴＤＩ、テストクロックＴＣＫ、テストモード選択ＴＭＳ、テストリセットｎＴＲＳＴ、及びテストデータ出力ＴＤＯとしてそれぞれ用いられる外部端子（ピン）を有している。さらに、マルチプレクサ２２２を制御して、ＴＡＰコントローラ２２３、２２５のどちらを用いるか切り換えるためのテストモード信号ＴＳＴを入力するための外部端子を有している。
【０１１１】
マルチプレクサ２２２は、チップ外部からの入力信号（テストデータ入力ＴＤＩ、テストクロックＴＣＫ、テストモード選択ＴＭＳ、テストリセットｎＴＲＳＴ）であるか、チップ外部への出力信号（テストデータ出力ＴＤＯ）であるか、及び信号が正論理であるか負論理であるか等に応じて、ＯＲ回路、ＡＮＤ回路、２−１セレクタ回路を用いて構成される。そして、マルチプレクサ２２２は、テストモード信号ＴＳＴに応じて、ＴＡＰコントローラ２２３、２２５の何れか一方と各信号の授受を行う。
なお、第３の実施形態におけるテスト回路機能を実現するための設計済み情報をライブラリとして準備し、それを利用してレイアウト設計を行う上述した手法は、第１及び第２の実施形態で示した半導体集積回路のみならず、バルク層を固定し、一部又は全部の配線を固定して提供されるゲートアレイなどを含む任意のＡＳＩＣに適用可能である。
【０１１２】
（各実施形態における半導体集積回路の初期レイアウト設計）
ここで、上述した各実施形態における半導体集積回路の初期レイアウト設計方法、すなわち図１、図１０、図１１等に一例を示したバルクパターンの初期配置に係るレイアウト設計方法について説明する。
【０１１３】
図２３は、各実施形態における半導体集積回路のレイアウト設計方法（バルクパターンの初期配置方法）を概略的に示した図である。
半導体集積回路における初期レイアウト設計（バルクパターンの初期配置の設計）においては、フレーム内におけるバルクパターンの設定情報であるバルクパターンデータ２３１と、フレーム内に配置可能なバルクパターンを示すバルクパターン配置候補テーブル２３２とを参照し、バルクパターンの選択配置処理Ｐ３１を行う。なお、バルクパターンデータ２３１及びバルクパターン配置候補テーブル２３２には、第２の実施形態等で示したような基本ブロックについて含ませても良い。
【０１１４】
バルクパターンの選択配置処理Ｐ３１では、フレーム内の所定領域毎に、バルクパターンデータ２３１に示される設定値に従って、バルクパターン配置候補テーブル２３２の中からバルクパターンを選択し、それを当該所定領域に対するバルクパターンとして設定し配置する。この処理Ｐ３１により、図１、図１０、図１１に示したようなフレーム全体に（バルク層のバルク配置可能領域を敷き詰めるように）バルクパターンが配置されたバルクパターン設定済みフレームデータ２３３が得られる。
【０１１５】
次に、各実施形態における半導体集積回路の初期レイアウト設計方法について詳細に説明する。
図２４は、各実施形態における半導体集積回路の初期レイアウト設計方法を示すフローチャートである。
【０１１６】
まず、ステップＳ３１にて、フレーム内の各領域に配置するバルクパターンを示すバルクパターンデータ２３１（バルクパターンの設定値）が入力される。
【０１１７】
次に、ステップＳ３２にて、フレーム内の所定領域毎に、ステップＳ３１において入力されたバルクパターンの設定値に対応するバルクパターンを選択し当該領域に設定し配置する。このバルクパターンの選択は、半導体集積回路に適用可能な、すなわちフレーム内に配置可能なバルクパターンが示されるバルクパターン配置候補テーブルを参照して行われる。
【０１１８】
続いて、ステップＳ３３にて、フレーム内にバルクパターン未配置の領域があるか否かを判断する。この判断の結果、バルクパターンが未配置の領域がある場合には、ステップＳ３２に戻り、上述した処理を再び行う。
【０１１９】
一方、ステップＳ３３での判断の結果、バルクパターンが未配置の領域がない、すなわちバルク配置可能なフレーム内の全領域に対してバルクパターンの配置が完了した場合には、ステップＳ３４にて、バルクパターン設定済みフレームデータを生成して出力し、処理を終了する。
【０１２０】
（他の実施形態）
なお、上述した半導体集積回路のレイアウト設計方法に係る処理は、ＣＰＵ又はＭＰＵ、ＲＡＭ、ＲＯＭなどを有するコンピュータが、ＲＯＭに記憶されたプログラムを実行することで実現でき、上記プログラムは本発明の実施形態に含まれる。また、コンピュータが上記機能を果たすように動作させるプログラムを、例えばＣＤ−ＲＯＭのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものであり、上記プログラムを記録した記録媒体は本発明の実施形態に含まれる。上記プログラムを記録する記録媒体としては、ＣＤ−ＲＯＭ以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。
また、コンピュータがプログラムを実行し処理を行うことにより、上記実施形態の機能が実現されるプログラムプロダクトは、本発明の実施形態に含まれる。上記プログラムプロダクトとしては、上記実施形態の機能を実現するプログラム自体、上記プログラムが読み込まれたコンピュータ、ネットワークを介して通信可能に接続されたコンピュータに上記プログラムを提供可能な送信装置、当該送信装置を備えるネットワークシステム等がある。
また、コンピュータが供給されたプログラムを実行することにより上記実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）又は他のアプリケーションソフト等と共同して上記実施形態の機能が実現される場合や、供給されたプログラムの処理の全て又は一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上記実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。また、本発明をネットワーク環境で利用するべく、全部又は一部のプログラムが他のコンピュータで実行されるようになっていても良い。
例えば、上述した本実施形態による半導体集積回路のレイアウト設計方法は、図９に示すようなコンピュータ機能９００を用い、そのＣＰＵ９０１により実行可能である。
コンピュータ機能９００は、図９に示すように、ＣＰＵ９０１と、ＲＯＭ９０２と、ＲＡＭ９０３と、キーボード（ＫＢ）９０９のキーボードコントローラ（ＫＢＣ）９０５と、表示部としてのＣＲＴディスプレイ（ＣＲＴ）９１０のＣＲＴコントローラ（ＣＲＴＣ）９０６と、ハードディスク（ＨＤ）９１１及びフレキシブルディスク（ＦＤ）９１２のディスクコントローラ（ＤＫＣ）９０７と、ネットワークインタフェースカード（ＮＩＣ）９０８とが、システムバス９０４を介して互いに通信可能に接続された構成としている。
ＣＰＵ９０１は、ＲＯＭ９０２又はＨＤ９１１に記憶されたソフトウェア（プログラム）、又はＦＤ９１２より供給されるソフトウェア（プログラム）を実行することで、システムバス９０４に接続された各構成部を総括的に制御する。
すなわち、ＣＰＵ９０１は、上述したような動作を行うための処理プログラムを、ＲＯＭ９０２、ＨＤ９１１、又はＦＤ９１２から読み出して実行することで、上記実施形態での動作を実現するための制御を行う。
ＲＡＭ９０３は、ＣＰＵ９０１の主メモリ又はワークエリア等として機能する。
ＫＢＣ９０５は、ＫＢ９０９や図示していないポインティングデバイス等からの指示入力を制御する。ＣＲＴＣ９０６は、ＣＲＴ９１０の表示を制御する。ＤＫＣ９０７は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、及び上記実施形態における上記処理プログラム等を記憶するＨＤ９１１及びＦＤ９１２とのアクセスを制御する。ＮＩＣ９０８はネットワーク９１３上の他の装置と双方向にデータをやりとりする。
【０１２１】
また、上述した本発明の実施形態においては、第１、第５、及び第６の配線層ＰＬ１、ＰＬ５、ＰＬ６を固定配線層とし、第２、第３、及び第４の配線層ＰＬ２、ＰＬ３、ＰＬ４を可変配線層とした６層配線の半導体集積回路を一例として示しているが、これに限定されず、本発明は多層配線（配線層の数は任意）の半導体集積回路に適用可能であるとともに、少なくとも１層の可変配線層を有していれば、可変配線層及び固定配線層については任意である。また、上述したように固定配線及び可変配線は、配線層に形成される配線のみ、あるいは配線層間に設けるビアのみにより実現するようにしても良いし、配線層に形成される配線と配線層間に設けるビアとの組合せにより実現するようにしても良い。
【０１２２】
また、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【０１２３】
（付記１）マスタースライス方式の半導体集積回路であって、
所定の回路機能を実現するための複数のバルクパターンが形成されるバルク層と、
上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層とを含む複数の配線層とを有し、
上記バルク層にて上記バルクパターンが形成可能なチップ面全体に、選択された固定の上記複数のバルクパターンを予め配置したことを特徴とする半導体集積回路。
（付記２）さらに、所定の配線パターンを上記複数の配線層の中の一部の配線層に予め形成したことを特徴とする付記１記載の半導体集積回路。
（付記３）上記所定の配線パターンは、クロック信号を供給するための配線パターン、上記バルクパターンにより構成されるテスト回路用の配線パターン、及び電源供給用の配線パターンの少なくとも１つを含むことを特徴とする付記２記載の半導体集積回路。
（付記４）上記バルクパターンを複数任意に組合せて構成された基本ブロックを単位として、上記複数のバルクパターンを配置したことを特徴とする付記１記載の半導体集積回路。
（付記５）上記選択された固定の複数のバルクパターンを組合せて基本ブロックを構成し、複数の当該基本ブロックをチップ面所定領域内に予め配置したことを特徴とする付記１記載の半導体集積回路。
（付記６）上記所定領域は、上記選択された固定の複数のバルクパターンを形成可能な上記チップ面全体の領域から、ユーザによる使用を禁止したバルクパターンが配置される領域を除いた領域であることを特徴とする付記５記載の半導体集積回路。
（付記７）上記ユーザによる使用を禁止したバルクパターンが配置される領域は、外部インタフェースに係るバルクパターン及びクロック制御に係るバルクパターンが配置される領域であることを特徴とする付記６記載の半導体集積回路。
（付記８）上記基本ブロックを構成するバルクパターンの組合せが互いに異なる複数種類の基本ブロックを配置したことを特徴とする付記５記載の半導体集積回路。
（付記９）予め用意した上記基本ブロックをＮ個（Ｎは任意の自然数）用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、配置された任意の基本ブロックに割り当てることで当該回路機能を実現可能な付記５記載の半導体集積回路。
（付記１０）上記レイアウト設計済みライブラリは、上記バルクパターンの配置情報及び配線情報を含むことを特徴とする付記９記載の半導体集積回路。
（付記１１）テスト回路の機能を実現するための上記バルクパターンの配置情報及び配線情報を含むレイアウト設計済みライブラリを用い、当該ライブラリを適用することで上記テスト回路の機能を実現する付記１記載の半導体集積回路。
（付記１２）上記配線情報に示される配線パターンの一部はユーザによる変更が可能であることを特徴とする付記１１記載の半導体集積回路。
（付記１３）上記テスト回路は、ＩＥＥＥ１１４９．１規格に準拠したテストを実行する回路であることを特徴とする付記１１記載の半導体集積回路。
（付記１４）上記テスト回路は、２つのテストアクセスポートコントローラを接続可能であるとともに、使用する上記テストアクセスポートコントローラを切り換えるマルチプレクサを有することを特徴とする付記１３記載の半導体集積回路。
（付記１５）所定の回路機能を実現するための複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
予め用意した上記バルク層に配置可能なバルクパターンの中から、配置すべきバルクパターンが示された設定情報に応じたバルクパターンを選択して上記バルク層に配置するバルクパターン初期配置ステップを有することを特徴とする半導体集積回路のレイアウト設計方法。
（付記１６）所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層とを含む複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
予め用意した上記バルクパターン毎に対応する複数の配線パターンの中から初期値として設定された配線パターンを、配置されている上記バルクパターンに対する初期配線パターンとして設定する初期配線設定ステップを有し、
上記初期値は、配線パターンを一意に決定可能な識別情報を用いて設定することを特徴とする半導体集積回路のレイアウト設計方法。
（付記１７）上記識別情報は、上記配線パターン毎に異なる上記各配線パターンに付された符号であることを特徴とする付記１６記載の半導体集積回路のレイアウト設計方法。
（付記１８）上記初期配線設定ステップにて初期配線パターンを設定した後、上記バルクパターンにより所望の回路機能を実現させるための上記配線パターンの識別情報を設定する配線パターン指定ステップと、
上記配線パターン指定ステップにて設定された上記配線パターンの識別情報に基づいて、上記バルクパターンに対する配線パターンを差し替え設定する配線パターン変更ステップとを有することを特徴とする付記１７記載の半導体集積回路のレイアウト設計方法。
（付記１９）上記配線パターン指定ステップにて、上記配線パターンを差し替える上記バルクパターンに係る上記配線パターンの識別情報のみを設定することを特徴とする付記１８記載の半導体集積回路のレイアウト設計方法。
（付記２０）上記配線パターン指定ステップにて、すべての上記バルクパターンに係る上記配線パターンの識別情報を設定することを特徴とする付記１８記載の半導体集積回路のレイアウト設計方法。
（付記２１）上記配線パターン変更ステップにより、上記配線パターンを差し替えられ未使用となる上記バルクパターンに係る配線パターンを削除することを特徴とする付記１８記載の半導体集積回路のレイアウト設計方法。
（付記２２）上記配線パターン変更ステップにて、上記バルクパターンを異なる論理機能で動作させるために上記配線パターンを差し替えることを特徴とする付記１８記載の半導体集積回路のレイアウト設計方法。
（付記２３）所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層された複数の配線層とを有し、かつ上記バルク層にて上記バルクパターンが形成可能な領域の所定領域内に上記複数のバルクパターンを組合せて構成した基本ブロックが複数配置されたマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
予め用意した上記基本ブロックをＮ個（Ｎは任意の自然数）用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、当該回路機能を実現する基本ブロックに割り当てる第１の設計ステップを有することを特徴とする半導体集積回路のレイアウト設計方法。
（付記２４）上記所定領域は、上記選択された固定の複数のバルクパターンを形成可能な上記チップ面全体の領域から、ユーザによる使用を禁止したバルクパターンが配置される領域を除いた領域であることを特徴とする付記２３記載の半導体集積回路のレイアウト設計方法。
（付記２５）上記ユーザによる使用を禁止したバルクパターンが配置される領域は、外部インタフェースに係るバルクパターン及びクロック制御に係るバルクパターンが配置される領域であることを特徴とする付記２４記載の半導体集積回路のレイアウト設計方法。
（付記２６）上記基本ブロックに割り当てる上記レイアウト設計済みライブラリを設定するライブラリ設定ステップをさらに有し、
上記第１の設計ステップでは、上記ライブラリ設定ステップでの設定に従って、上記レイアウト設計済みライブラリを指定された上記基本ブロックに割り当てることを特徴とする付記２３記載の半導体集積回路のレイアウト設計方法。
（付記２７）上記第１の設計ステップは、
上記ライブラリ設定ステップでの設定に従って、上記レイアウト設計済みライブラリを選択する選択ステップと、
上記選択ステップにて選択した上記レイアウト設計済みライブラリを、指定された基本ブロックに割り当てる割当ステップとを有することを特徴とする付記２６記載の半導体集積回路のレイアウト設計方法。
（付記２８）上記レイアウト設計済みライブラリは上記バルクパターンの配置情報及び配線情報を有し、
上記割当ステップでは、上記バルクパターンの配置情報及び配線情報、又は上記バルクパターンの配置情報のみを、指定された基本ブロックに反映させることを特徴とする付記２７記載の半導体集積回路のレイアウト設計方法。
（付記２９）上記第１の設計ステップにて、上記レイアウト設計済みライブラリを上記基本ブロックに割り当てた後、未使用のバルクパターンを用いて任意の回路機能を実現させるためのユーザレイアウトを行う第２の設計ステップをさらに有することを特徴とする付記２３記載の半導体集積回路のレイアウト設計方法。
（付記３０）上記第２の設計ステップでは、上記未使用のバルクパターンに対して上記任意の回路機能を実現させるための配線パターンを設定することを特徴とする付記２９記載の半導体集積回路のレイアウト設計方法。
（付記３１）所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層された複数の配線層とを有し、かつ上記バルク層にて上記バルクパターンが形成可能な領域の所定領域内に上記複数のバルクパターンを組合せて構成した基本ブロックが複数配置されたマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
予め用意した上記基本ブロックをＮ個（Ｎは任意の自然数）用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、当該半導体集積回路の任意の基本ブロックに割り当てることで設計を完了させることを特徴とする半導体集積回路のレイアウト設計方法。
（付記３２）所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
テスト回路の機能を実現するための上記バルクパターンの配置情報及び配線情報を含むレイアウト設計済みライブラリを上記バルク層及び配線層に適用するテスト回路設計ステップを有することを特徴とする半導体集積回路のレイアウト設計方法。
（付記３３）上記配線情報に示される配線パターンの一部はユーザによる変更が可能であることを特徴とする付記３２記載の半導体集積回路のレイアウト設計方法。
（付記３４）所定の回路機能を実現するための複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
予め用意した上記バルク層に配置可能なバルクパターンの中から、配置すべきバルクパターンが示された設定情報に応じたバルクパターンを選択して上記バルク層に配置するバルクパターン初期配置ステップをコンピュータに実行させるためのプログラム。
（付記３５）所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層とを含む複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
予め用意した上記バルクパターン毎に対応する複数の配線パターンの中から、初期値として配線パターンを一意に決定可能な識別情報を用いて設定された配線パターンを、配置されている上記バルクパターンに対する初期配線パターンとして設定する初期配線設定ステップをコンピュータに実行させるためのプログラム。
（付記３６）上記初期配線設定ステップにて初期配線パターンを設定した後、上記バルクパターンにより所望の回路機能を実現させるための上記配線パターンの識別情報を設定する配線パターン指定ステップと、
上記配線パターン指定ステップにて設定された上記配線パターンの識別情報に基づいて、上記バルクパターンに対する配線パターンを差し替え設定する配線パターン変更ステップとをコンピュータに実行させるための付記３５記載のプログラム。
（付記３７）所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層された複数の配線層とを有し、かつ上記バルク層にて上記バルクパターンが形成可能な領域の所定領域内に上記複数のバルクパターンを組合せて構成した基本ブロックが複数配置されたマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
予め用意した上記基本ブロックをＮ個（Ｎは任意の自然数）用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、当該回路機能を実現する基本ブロックに割り当てる第１の設計ステップをコンピュータに実行させるためのプログラム。
（付記３８）上記第１の設計ステップにて、上記レイアウト設計済みライブラリを上記基本ブロックに割り当てた後、さらに、未使用のバルクパターンを用いて任意の回路機能を実現させるためのユーザレイアウトを行う第２の設計ステップをコンピュータに実行させるための付記３７記載のプログラム。
（付記３９）所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
テスト回路の機能を実現するための上記バルクパターンの配置情報及び配線情報を含むレイアウト設計済みライブラリを上記バルク層及び配線層に適用するテスト回路設計ステップをコンピュータに実行させるためのプログラム。
【図面の簡単な説明】
【０１２４】
【図１】本発明の第１の実施形態による半導体集積回路の構成例を示す図である。
【図２】第１の実施形態による半導体集積回路の構成例を示す断面図である。
【図３】バルクパターン上に形成される配線（配線パターン）を説明するための図である。
【図４】配線パターンを説明するための図である。
【図５】第１の実施形態による半導体集積回路の具体的な構成例を示す図である。
【図６】第１の実施形態による半導体集積回路の具体的な構成例を示す図である。
【図７】第１の実施形態における半導体集積回路のレイアウト設計方法を概略的に示す図である。
【図８】第１の実施形態における半導体集積回路のレイアウト設計方法を示すフローチャートである。
【図９】本発明の実施形態における半導体集積回路のレイアウト設計方法を実行可能なコンピュータ機能を示す図である。
【図１０】第１の実施形態による半導体集積回路の他の構成例を示す図である。
【図１１】本発明の第２の実施形態による半導体集積回路の構成例を示す図である。
【図１２】ファームマクロの一例を示す図である。
【図１３】第２の実施形態による半導体集積回路の具体的な構成例を示す図である。
【図１４】第２の実施形態における半導体集積回路のレイアウト設計方法を概略的に示した図である。
【図１５】第２の実施形態における半導体集積回路のレイアウト設計方法を示すフローチャートである。
【図１６】第２の実施形態による半導体集積回路の他の構成例を示す図である。
【図１７】第２の実施形態における半導体集積回路の他のレイアウト設計方法を概略的に示す図である。
【図１８】本発明の第３の実施形態による半導体集積回路の特徴を示す回路構成図である。
【図１９】第３の実施形態における半導体集積回路の回路変更例を示す図である。
【図２０】第３の実施形態における半導体集積回路の他の回路変更例を示す図である。
【図２１】第３の実施形態における半導体集積回路のその他の回路変更例を示す図である。
【図２２】第３の実施形態における半導体集積回路の回路実装の一例を示す図である。
【図２３】各実施形態における半導体集積回路でのバルクパターンの初期配置に係るレイアウト設計方法を概略的に示す図である。
【図２４】各実施形態における半導体集積回路でのバルクパターンの初期配置に係るレイアウト設計方法を示すフローチャートである。
【符号の説明】
【０１２５】
１  半導体チップ（フレーム）
Ｂ１〜Ｂ５  バルクパターン
ＢＬ  バルク層
ＰＬ１〜ＰＬ５  配線層
ＢＬＫ、ＢＬＫ１、ＢＬＫ２  基本ブロック
ＦＭ１〜ＦＭ４  ファームマクロ
１９２  マルチプレクサ
１９３、１９４、１９５、１９６  テストアクセスポート（ＴＡＰ）
【図１】
2006156929.tif 000003
【図２】
2006156929.tif 000004
【図３】
2006156929.tif 000005
【図４】
2006156929.tif 000006
【図５】
2006156929.tif 000007
【図６】
2006156929.tif 000008
【図７】
2006156929.tif 000009
【図８】
2006156929.tif 000010
【図９】
2006156929.tif 000011
【図１０】
2006156929.tif 000012
【図１１】
2006156929.tif 000013
【図１２】
2006156929.tif 000014
【図１３】
2006156929.tif 000015
【図１４】
2006156929.tif 000016
【図１５】
2006156929.tif 000017
【図１６】
2006156929.tif 000018
【図１７】
2006156929.tif 000019
【図１８】
2006156929.tif 000020
【図１９】
2006156929.tif 000021
【図２０】
2006156929.tif 000022
【図２１】
2006156929.tif 000023
【図２２】
2006156929.tif 000024
【図２３】
2006156929.tif 000025
【図２４】
2006156929.tif 000026