(57)【特許請求の範囲】
【請求項１】
同一特性の抵抗からなる抵抗群および同一特性のトランジスタからなるトランジスタ群が配列され、抵抗およびトランジスタの上層に延在される配線により、抵抗およびトランジスタを選択して、抵抗とトランジスタを有したペア性の要求される電子回路を半導体チップ上に構成するための半導体集積回路の製造方法であり、
抵抗群およびトランジスタ群が配列された半導体チップを用意し、前記ペア性の要求される電子回路を構成する抵抗およびトランジスタの情報に基づき、抵抗素子群およびトランジスタ素子群の配列から一方の端部から抵抗およびトランジスタを選択し、コンピュータ内で仮想的に配置し、
列方向に設けられた選択された複数の抵抗を固定し、トランジスタの配列の中からどのトランジスタ素子を選択すれば、抵抗とトランジスタとを結ぶ配線のペア性を維持しつつ配線長が最短になるか演算して、再選択するトランジスタ素子を決定し、
演算結果に基づき、選択された抵抗と再選択されたトランジスタとを結ぶ配線を、ペア性を維持しつつ配線が最短になるように設けて、前記半導体チップ上に前記電子回路を構成することを特徴とする半導体集積回路の製造方法。
【請求項２】
前記ペア性の要求される電子回路は、差動増幅回路、Ａｍｐ、コンパレータまたは波形整形回路から成るアナログ回路である請求項１に記載の半導体集積回路の製造方法。
【請求項３】
前記抵抗は、コンピュータでの演算のために、前記抵抗の抵抗値の計算の許容誤差、許容誤差の丸め方法および合成する素子の最大個数が設定された情報をもとに選択される請求項１または請求項２に記載の半導体集積回路の製造方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路装置の製造方法に関し、更に言えば電子回路を構成する各半導体素子を自動的に選択配置可能にすることで、特に開発期間の短縮及び設計の自由度を実現するものである。
【０００２】
【従来の技術】
従来、ＡＳＩＣと言えば、ＭＯＳが主流で、例えばゲートアレイ、マスタースライス等が実現されている。ＭＯＳは、ディジタル回路が主たる回路であり、トランジスタのオンオフで回路が形成され、トランジスタ、抵抗等は、そのサイズ、電流容量等の特性が殆ど同じもので構成されている。従ってトランジスタ、抵抗等がリピートされ、これらを配線で選択して１つの回路が構成され、ＩＣが実現されている。
【０００３】
しかしリニア回路、特にＢＩＰのリニア回路は、電子回路ブロックが複数で成り、これを構成する素子は、色々な特性、色々なサイズで構成されている。従って、トランジスタ、ダイオード、抵抗及びコンデンサの半導体素子は、ゲートアレイやマスタースライスのようにリピートして配置し、これを選択して回路を構成するわけにはいかず、以下のようにしていた。
【０００４】
例えば、特開平２−３９５２号公報（図１１）がその一例としてある。これは素子の配置領域が矩形状に形成される、いわゆるビルディングブロック方式と呼ばれるものであり、ブロツクの両側には電源ラインとグランドラインが設けられている。
【０００５】
つまり、ＡＭ回路を構成する場合、必要な素子数を決定し、全ての素子をサイズが同じ配置領域に分配して構成している。
【０００６】
例えば、サイズの同じ配置領域が、８個横に並べられ、２列で形成されている。その内、３個の配置領域でＡの電子回路ブロック（例えばＡＭ回路）、３個の配置領域でＢの電子回路ブロック、２個の配置領域でＣの電子回路ブロック、５個の配置領域でＤの電子回路ブロック及び３個の配置領域でＥの電子回路ブロックが構成されている。
【０００７】
つまり、サイズの同じ配置領域は、積み木に相当し、矩形のＩＣにこの積み木を自由に並べることで、整然と配置している。例えば、電子回路ブロックＣが不要ならば、この２つのブロックを削除し、残りのブロックを並べ替えれば、別のＩＣチップが実現でき、また電子回路ブロックＦを追加したい場合は、これを構成するブロックも含めて積み木の如く並び替えればよい。
【０００８】
この設計手法を図１２で説明する。例えば、ＡＭ／ＦＭ回路のＩＣの場合、必要とされる回路ライブラリーが選択された後、選択された回路ライブラリーをＩＣチップにビルディングブロツク方式で作り込むため、矩形のパターンライブラリーが形成され、ＩＣチップ内に並べられる。そしてパターンライブラリー全てを選択するようにメタル配線が施される。これが親となる第１世代のＡＭ／ＦＭＩＣとなる。
【０００９】
【発明が解決しようとする課題】
前記ＡＭ／ＦＭ回路は、回路の世代交代がそれほど早くないのでパターンライブラリーを何年もの間使用でき、特に音響等の分野において適している。
【００１０】
しかし世代交代が早いＩＣ、パターンライブラリーとして展開しにくいＩＣ、その機種で終わるようなＩＣでは、現在でもＭＯＳで実施されているゲートアレイ、マスタースライス等が採用されている。
【００１１】
しかし前述したように、リニア回路は、極端に言えば、回路の始まりから終わりに至るまで、実質それぞれの素子が異なる。例えば抵抗では、数ｍΩから数ＭΩに至るまで多種多様の素子が用いられている。またＴｒに於いても、縦型ＰＮＰトランジスタ、ラテラルＰＮＰトランジスタ、縦型ＮＰＮトランジスタ等が用いられ、この各種のトランジスタの中に於いても、電流容量の条件から色々なサイズのＴｒが組み込まれていた。説明は省略するがコンデンサも同様である。
【００１２】
従ってこれらの多種多様な抵抗、コンデンサ、Ｔｒを全てマスタースライス用に用意するのは、実質困難であった。
【００１３】
また各素子を数種類用意し、その特定の特性（抵抗値、容量値または電流容量）を実現するために、配線による選択で、直列／並列接続をして特性を得ることは現実としては可能であるが、配線を網の目のように配置しなければ成らず、コンピュータ化が難しい問題があった。
【００１４】
更には、この網の目のような配線の中には、ひどい場合チップの端から端までといった長い距離を延在するものがある。しかしこの長い延在領域に、スイッチングノイズを出す素子、発振回路により不要輻射ノイズをだすもの、リーク電流を出すもの、ペア性がくずれているもの等があり、一旦選択された素子を別の素子に選択し直す、配線の延在場所を変えるための再配置が必要となる場合があった。
【００１５】
この様な場合、コンピュータにより自動設計を解除し、素子の位置、配線のルート等を手作業で変えていた。従って、日に日に大きくなるＩＣ規模に於いて、これら手作業による設計を採用していては、短納期を実現することが難しい問題もあった。
【００１６】
【課題を解決するための手段】
本発明は、前述の課題に鑑みて成され、ブロック内に準備された各半導体素子を自動的に順次選択して電子回路を構成するようにコンピュータにより自動割付する際に、電子回路のペア性を考慮しながら前記電子回路の位置関係によって自動的に順次選択された半導体素子間に設けられる配線長が短くなるように、前記選択された半導体素子から前記ブロック内の非選択半導体素子を自動的に再選択することで解決するものである。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。本発明は、特にリニア回路に関するもので、ここではＢＩＰ−ＩＣで説明して行くが、ＭＯＳ型リニア回路でも適用できる。
【００１８】
では図１〜図４を参照しながら説明する。図２及び図３は、図４の回路図に基づき、本発明を採用しない場合に発生する素子の配置例を示し、図１は、本発明を採用した場合の配置例を示す。
【００１９】
両図ともに、紙面に対して上から、第１の抵抗群として１ｋΩの抵抗が２２本形成され、次に第１のトランジスタ（以下Ｔｒと呼ぶ。）群が１４個形成され、更に第２の抵抗群として１ｋΩの抵抗が１２個配置されている。ただしこの配列は、あくまでも一例であり、他の配列でも良い。
【００２０】
図２の本発明を採用しない第１の方法では、図４の抵抗Ｒ１〜Ｒ４が、５ｋΩであり、第１の抵抗群に於いては、左から自動的に５個ずつ選択されて直列接続される。また図４の回路では、ＴｒＱ１〜Ｑ４の４個が採用されているため、第１のＴｒ群に於いて、左から４つまでが選択されている。更に、図４の抵抗Ｒ５、Ｒ６は、３ｋΩであり、第２の抵抗群において、左から３個ずつ選択され、それぞれが直列接続されている。
【００２１】
このように素子の自動選択を行うと、列の端部（左端または右端）から順次選択されていき、その後、配線が自動的に配置される。
【００２２】
しかし、この構造であると、回路全体の配線長のバランスが悪くなり、配線長の長い部分からノイズが進入する問題があった。
【００２３】
そこで、図３の本発明を採用しない第２の方法では、上記配線長の長い部分からノイズが進入するといった問題に鑑み、配線長が最短になるように配置する方法を採用した。
【００２４】
即ち、図３に示す素子の配置例では、大面積を必要とする前記抵抗群を基準にして、その抵抗群と配線されるＴｒを、その配線長が最短となるように前記Ｔｒ群内から選択している。
【００２５】
つまり、Ｑ１とＱ２では、抵抗Ｒ１とＲ２の列の長さが長いため、抵抗Ｒ１とＲ２の位置は固定される。従って、第１の抵抗群、左から１番目〜１０個目までの間の抵抗は、その位置が固定され、抵抗Ｒ１と配線されるＴｒは抵抗Ｒ１のコンタクト部と一番近いところにある、左から１番目のＴｒが選択され（配線ａ−ｅ）、抵抗Ｒ２と配線されるＴｒは抵抗Ｒ２のコンタクト部と一番近いところにある、左から４番目のＴｒが選択されている（配線ｂ−ｆ’）。つまり、配線ａ−ｅ，ｂ−ｆ’が最短になるようにＴｒ（Ｑ１とＱ２）が再選択されている。
【００２６】
そして、固定されたＱ１、Ｑ２に対して、第２の抵抗群との接続配線ｉ’が最短距離に成るように、第２の抵抗群が再選択される。つまり、第２の抵抗群の左から３番目〜５番目までの抵抗で、抵抗Ｒ５を構成するように再選択されている。
【００２７】
同様に、Ｑ３とＱ４では、抵抗Ｒ３とＲ４の列の長さが長いため、抵抗Ｒ３とＲ４は、固定される。従って、第１の抵抗群、左から１１番目〜２０個目までの間の抵抗は、その位置が固定され、抵抗Ｒ３と配線されるＴｒは抵抗Ｒ３のコンタクト部と一番近いところにある、左から７番目のＴｒが選択され（配線ｃ−ｇ’）、抵抗Ｒ４と配線されるＴｒは抵抗Ｒ４のコンタクト部と一番近いところにある、右から５番目のＴｒが選択されている（配線ｄ−ｈ’）。つまり、配線ｃ−ｇ’，ｄ−ｈ’が最短になるようにＴｒ（Ｑ３とＱ４）が再選択されている。
【００２８】
そして、固定されたＱ３、Ｑ４に対して、第２の抵抗群との接続配線ｊ’が最短距離に成るように、第２の抵抗群が再選択される。つまり、第２の抵抗群の右から１番目〜３番目までの抵抗で、抵抗Ｒ６を構成するように再選択されている。
【００２９】
しかしながら、この場合には回路素子のペア性が崩れてしまい、結果として動作特性悪化の原因となっていた。
【００３０】
特にアナログ回路の場合、特に差動増幅回路、Ａｍｐ、コンパレータ、波形整形回路等で、ペア性を要求する。例えば図４の抵抗Ｒ１とＲ２、Ｒ３とＲ４、Ｑ１とＱ２、Ｑ３とＱ４が該当する。
【００３１】
従って、上記問題を鑑み本発明では、図２及び図３の状態に素子を配置した後、または仮想的に配置した後、配線長を計算し、ペア性を考慮しながら配線長が短くなるように素子の再選択を、少なくとも一回以上行うようにしたことを特徴としている。特にここでは、トランジスタＱ１とＱ２、Ｑ３とＱ４は、ペア性が要求されるため隣同士に配置し、この隣同士に配置した状態で配線長が短くなるように再配置している。
【００３２】
つまり、図１に示すようにＱ１とＱ２では、抵抗Ｒ１とＲ２の列の長さが長いため、抵抗Ｒ１とＲ２の位置は固定される。従って、第１の抵抗群、左から１番目〜１０個目までの間の抵抗は、その位置が固定され、この間で、隣り合わせ状態の一対のＴｒ（Ｑ１とＱ２）が調整される。つまり、ペア性を考慮しながら配線Ａ−Ｅ，Ｂ−Ｆが最短になるようにＴｒ（Ｑ１とＱ２）が再選択される。そのため、配線Ａ−Ｅ，Ｂ−Ｆの長さは、実質同じにならない場合も発生する。しかしながら、配線間のばらつきは従来（図２）に比して十分に小さいものであり、それ以上に良好なペア性を構築することにより特性向上が図れる。
【００３３】
そして固定されたＱ１、Ｑ２に対して、第２の抵抗群との接続配線Ｉが最短距離に成るように、第２の抵抗群が再選択される。つまり、第２の抵抗群の左から３番目〜５番目までの抵抗で、抵抗Ｒ５を構成するように再選択されている。
【００３４】
同様に、Ｑ３とＱ４では、抵抗Ｒ３とＲ４の列の長さが長いため、抵抗Ｒ３とＲ４の位置は固定される。従って、第１の抵抗群、左から１１番目〜２０番目までの間の抵抗は、その位置が固定され、この間で、隣り合わせ状態の一対のＴｒ（Ｑ３とＱ４）が調整される。つまり、ペア性を考慮しながら配線Ｃ−Ｇ，Ｄ−Ｈが最短になるようにＴｒ（Ｑ３とＱ４）が再選択される。そのため、配線Ｃ−Ｇ，Ｄ−Ｈの長さは、実質同じにならない場合も発生する。しかしながら、配線間のばらつきは従来（図２）に比して十分に小さいものであり、それ以上に良好なペア性を構築することにより特性向上が図れる。
【００３５】
そして固定されたＱ３、Ｑ４に対して、第２の抵抗群との接続配線Ｊが最短距離に成るように、第２の抵抗群が再選択される。つまり、第２の抵抗群の右から１番目〜３番目までの抵抗で、抵抗Ｒ６を構成するように再選択されている。
【００３６】
この配線長の計算は、図８の斜線の部分を認識して計算される。つまり実線で示す下地（マスク情報等）の上に、斜線で示す領域（ポート）が定義され、このポートをコンピュータが認識し、直線で結んだ距離（フライライン）が短くなるようにポートが自動選択されていく。尚、（ａ）、（ｂ）、（ｃ）、（ｄ）、（ｅ）は、コンデンサ、抵抗、トランジスタ、パッド及びＡｍｐ、論理回路等の基本回路のブロツクであり、このブロックでは入出力端子等がポートとして配置されている。
【００３７】
続いて、素子の合成について説明する。図４では、抵抗値を５ｋ、３ｋと切りの良い数字で示してあるが、実際は端数が有る。
【００３８】
コンピュータは、許容誤差を厳しく設定すると、指示通りに計算するので、限りなくその数値に近づけようとして、合成素子数も膨大となり、計算の時間もより膨大となる。そのため、図１０のような条件のもとで計算させるようにした。尚、コンピュータは、電子回路図から読み取った電子回路図情報（ペア性や抵抗値等の数値情報等）及び上記図１０に示す下地マスター内の各半導体素子の各種情報とから再配置するように制御している。
【００３９】
モデル名とは、実際の回路図に付いている名前で、マスタセル名とは、セルパターンの名前である。そして、このセルパターンは、値としてその素子の抵抗値、容量値を示し、それぞれがトリミング可能か否か、またトリミング可能な場合は、最小値としてどこまでトリミングできるのかを示している。しかもこの計算の許容誤差、許容誤差の丸め方法として、切り捨て、切り上げ、四捨五入のいずれを採用するか、合成素子数の最大個数が示されている。
【００４０】
このテーブルにより、計算処理の条件が決められ設計スピードの高速化が実現される。
【００４１】
また、例えば素子として抵抗を使って説明すれば、回路図で定義された素子（抵抗）の値を幾つの素子（抵抗）を選択して合成するか、前述したテーブルが条件として加わり、演算処理される。ここでコンデンサの場合も同様な接続を考慮して実現される。
【００４２】
本発明は、ここに特徴を有し、まず素子（抵抗）がトリミング可能か、トリミング不可能かを、図１０のテーブルから判断する。
【００４３】
そしてトリミング不可能な場合は、以下に示す６つのモードの選択本数を計算し、このうち、最小選択本数となるようなモードが選択される。
▲１▼直列接続
▲２▼直列接続と余りの値を並列で実現するもの
▲３▼直列と直列を並列で接続するもの
▲４▼並列と直列を並列で接続するもの
▲５▼並列接続
▲６▼並列と並列を直列接続するもの
特に▲２▼は、目的の抵抗値を下地セルの抵抗値で割算して、何本の下地セルを採用するか決め、この計算で発生する抵抗値の余りを何本の下地セルの並列接続で実現できるか計算するものである。
【００４４】
また、より大きな下地セルを使えば、合成本数が減ることは言うまでもない。
【００４５】
続いて、トリミング可能な場合は、２つのモードで計算処理される。
【００４６】
▲１▼直列接続
▲２▼並列接続
以上、一連の設計方法について図８を用いて説明する。
【００４７】
まず「下地情報テーブルの生成」で、素子が配置される領域に於けるマスターセルの下地情報をテーブルに生成する。
【００４８】
「割付テーブル生成」とは、実現すべき回路をペア性を考慮してＸ軸、Ｙ軸のどちらの方向から素子を選択していくか等の情報を生成する。
【００４９】
続いて「合成処理」で、前述したように、選択されたマスタセルの本数が最小になるようにし、各素子の合成パターンを生成する。このとき、ペア性が指定される素子の合成では同一パターンとして構成する。例えば、１ＫΩの抵抗を３個直列接続して３ＫΩの抵抗をペアで作り込む場合には、それらが同一パターンで構成されるようにする。
【００５０】
続いて「トランジスタの配置」で、トランジスタの配置位置、向き等が決められる。
【００５１】
この後、本来であれば、抵抗の配置になるが、ここでは、「初期配置」と「配置改善」の工程にはいる。初期配置とは、ブロックの左下コーナーから詰め、回路図に沿った配置が行われる。また合成処理で生成された素子は、合成パターンに合った最適な場所が選ばれる。そして初期配置後に、「配置改善」が行われる。この配置改善とは、配線が短くなるようにデータ処理され、必要により非選択されたＴＲに選択し直す処理のことである。
【００５２】
続いて抵抗Ｒを配置する。ここでも、前述したようにしてＴＲと抵抗Ｒ間での配線長が短くなるように、必要であれば一旦選択されたトランジスタ、抵抗に代えて非選択のトランジスタ、抵抗に選択し直す。
【００５３】
続いて容量の配置をし、最後に、抵抗のフライライン改善が実施される。
【００５４】
ここでは、選択されたマスタセル（抵抗）の位置は変えず、配線とコンタクトする端子の位置の調整により配線の長さが短くなるように調整される。
【００５５】
続いて、具体例について図５〜図７を参照しながら説明する。
【００５６】
一般に、半導体チップ２０は、図５に示すようにボンディングパッド２１で囲まれた領域が、例えば複数本のブロック列（ここでは左右に３本の列ＢＬ１、ＢＬ２、ＢＬ３）に分けられ、各ブロック列は、複数のブロックに分けられている。例えば第１列目のブロック列ＢＬ１は、ブロック１〜ブロック１０で、第２列目のブロック列ＢＬ２は、ブロック１１〜ブロック２０で、第３列目のブロック列ＢＬ３は、ブロック２１〜ブロック３０で構成されている。
【００５７】
また、各ブロック１〜３０は、矢印で示した拡大図（図５下図）のように基本ユニットセルＵＣから成る。このユニットセルＵＣは、図６の左図に示す回路図が選択できるように群となって作り込まれている。
【００５８】
つまり、値の異なる抵抗が複数種類選択され、それぞれが群となって配置されている。これはトランジスタＴｒもコンデンサも同様である。特にＴｒは、図では、縦型及び横型のＰＮＰ−Ｔｒ、縦型ＮＰＮ−Ｔｒの３タイプがそれぞれ群となって配列されている。このブロック列の配列の仕方、配列本数は、一例であり、これに限られるものではない。また、ブロック内の素子である抵抗、Ｔｒ、コンデンサ以外にダイオード等が設けられても良い。
【００５９】
更に、この各素子は、それぞれサイズの異なる（抵抗ではその抵抗値が異なることを、Ｔｒでは電流容量の異なることを、コンデンサでは、その容量値が異なることを意味している。）素子が、群となって配置されている。
【００６０】
ただし、ボンディングパッドの下に保護ダイオード等が作り込まれている場合もあるが、ここでは素子数の比率からみて極めて少ないので無視した。また、ボンディングパッド２１…の中には、電源パッド、グランドパッドが少なくとも１つずつ形成されている。
【００６１】
まず、図１の半導体チップ２０には、従来例で説明した図１１に示すように、複数の電子回路ブロックが用意され、これらが電気的に接続されて一つのＩＣ回路が実現される。また各電子回路ブロックは、その回路図に沿ってブロツク内の素子を選択して構成され、少なくとも１つのブロックで構成される。
【００６２】
図７は、例えば目的の回路図におけるＴｒと抵抗が選択された状態を示すもので、ここでもＴｒと抵抗の間の配線が最短になるようにコンピュータ処理されている。つまり、第１の抵抗列は、左から１番〜４番までが直列接続で選択され、５番目〜８番目も直列接続で選択される。ここで第２のＴｒ列、第１の抵抗列との接続配線は、全体的に各素子列内の左側の素子が選択されているために左側に偏った配置となり、バランスを崩していることが判る。
【００６３】
これを本発明を適用してコンピュータ処理し、Ｔｒの再選択を行ったものが図６である。
トランジスタは、図７に示す左から１、２番目のＴｒが選択されている状態から、図６では左から２、４番目のＴｒに再選択され、抵抗も、図７に示すように、左から１番目〜４番目の抵抗が順に取られているが、図６では、４番目〜１番目へと逆方向に再選択されている。従って再選択されることでペア性を維持しつつ、配線長が短くなるように処理されている。
【００６４】
【発明の効果】
本発明によれば、ブロック内に準備された各半導体素子を自動的に順次選択して電子回路を構成するように自動割付する際に、電子回路のペア性を考慮しながら前記電子回路の位置関係によって自動的に順次選択された半導体素子間に設けられる配線長が短くなるように、前記選択された半導体素子から前記ブロック内の非選択の半導体素子を自動的に再選択するようにすることで、配線長が長いために発生するノイズの出入り、配線のアンバランスによるペア性の欠落が無くなり、動作特性を改善することができる。
【００６５】
しかも従来、配線長が長くなることによるノイズの発生を防止する処理及び配線長のアンバランスから発生する動作特性改善処理を手作業で実施していたが、本発明を適用し、これらを所定の条件で処理させることでコンピュータで自動割付させることができ、設計時間の短縮が実現できる。
【図面の簡単な説明】
【図１】本発明の実施の形態である半導体集積回路の製造方法を説明する図である。
【図２】従来の半導体集積回路の製造方法を説明する図である。
【図３】従来の半導体集積回路の製造方法を説明する図である。
【図４】ブロックに収容される回路図の一例を説明する図である。
【図５】半導体集積回路の構成を説明する図である。
【図６】図５のブロック内の素子の選択例を説明する図である。
【図７】図５のブロック内の素子の選択例を説明する図である。
【図８】自動割付に関するフローチャートを示す図である。
【図９】ブロック内の素子に割り当てられるポートを説明する図である。
【図１０】配線長が短くなるように演算処理する際の条件を説明する図である。
【図１１】従来の半導体集積回路の製造方法を説明する図である。
【図１２】従来の半導体集積回路の製造方法を説明する図である。
【図１】
0003768034.tif 000002
【図２】
0003768034.tif 000003
【図３】
0003768034.tif 000004
【図４】
0003768034.tif 000005
【図５】
0003768034.tif 000006
【図６】
0003768034.tif 000007
【図７】
0003768034.tif 000008
【図８】
0003768034.tif 000009
【図９】
0003768034.tif 000010
【図１０】
0003768034.tif 000011
【図１１】
0003768034.tif 000012
【図１２】
0003768034.tif 000013