JP2006156929A - 半導体集積回路及びその設計方法 - Google Patents

半導体集積回路及びその設計方法 Download PDF

Info

Publication number
JP2006156929A
JP2006156929A JP2005061442A JP2005061442A JP2006156929A JP 2006156929 A JP2006156929 A JP 2006156929A JP 2005061442 A JP2005061442 A JP 2005061442A JP 2005061442 A JP2005061442 A JP 2005061442A JP 2006156929 A JP2006156929 A JP 2006156929A
Authority
JP
Japan
Prior art keywords
bulk
wiring
pattern
semiconductor integrated
integrated circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005061442A
Other languages
English (en)
Inventor
Hiroyuki Matsubara
裕之 松原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005061442A priority Critical patent/JP2006156929A/ja
Priority to US11/108,676 priority patent/US7562329B2/en
Priority to EP09157971A priority patent/EP2079109A3/en
Priority to EP05253415A priority patent/EP1655779A3/en
Priority to TW094118559A priority patent/TWI303481B/zh
Priority to CN2005100799227A priority patent/CN1770448B/zh
Priority to KR1020050058649A priority patent/KR100869087B1/ko
Publication of JP2006156929A publication Critical patent/JP2006156929A/ja
Priority to KR1020080000169A priority patent/KR20080009166A/ko
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】 用途に応じた半導体集積回路装置を開発する際の負担を軽減できるようにする。
【解決手段】 所定の回路機能を実現するための複数のバルクパターンが形成されるバルク層と、上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層と含む複数の配線層とを有するマスタースライス方式の半導体集積回路にて、バルク層にてバルクパターンを形成可能なチップ面全体に複数のバルクパターンを予め固定して配置することで、ユーザ側では、可変配線層の配線を設計し、設計した可変配線層における配線を形成するためのマスクを作成するだけで用途に応じた半導体集積回路を製造することができるようにする。
【選択図】 図1

Description

本発明は、半導体集積回路及びその設計方法に関し、特にマスタースライス方式の半導体集積回路及びそのレイアウト設計方法に関する。
従来、特定用途向けの半導体集積回路であるASIC(Application Specific Integrated Circuit)は、セルベースLSIやFPGA(Field Programmable Gate Array)等の半導体集積回路を利用して実現されることが多い。例えば、セルベースLSIでのASIC開発は、基本となるトランジスタの組合せによるセル(ベーシックセル)をベースにして、基本配線を行っておき、用途に応じた所望の回路となるようにベーシックセルを組合せるとともに必要な配線を形成することにより行われる。
また、上述したベーシックセルを半導体チップ内に規則正しく配置したゲートアレイにおいては、ASICの設計及び製造を容易にするために、最上層配線のみを用途に応じて変更可能とし、その他の配線層を固定配線としたものがある(例えば、特許文献1、特許文献2参照。)。
特開平6−163860号公報 特開平2−30163号公報
従来のASIC開発では、ユーザが要求する機能を実現させるためにベーシックセルの組合せや配線を設計する工程は、ASIC毎(個別品種毎)にそれぞれ行われている。したがって、設計された回路を半導体チップに作り込むために用いるマスク(レチクル)も個別品種毎にそれぞれ作成されている。
ここで、近年、半導体集積回路の微細化に伴って1つの半導体チップに集積可能な回路規模が増大し、ASICの開発においては、開発期間の長期化や設計及び製造の複雑さが増大してきている。また、半導体集積回路の微細化及びそれに伴う回路規模の増大により、マスク(レチクル)1つあたりの価格が高くなるとともに必要なマスク数が増加して、1品種のASIC製造に要するマスク費も高騰してきている。そのため、開発期間や開発費の削減が要求されている。
本発明は、このような事情に鑑みてなされたものであり、用途に応じた半導体集積回路を開発する際の負担を軽減できるようにすることを目的とする。
本発明の半導体集積回路は、マスタースライス方式の半導体集積回路であって、所定の回路機能を実現するための複数のバルクパターンが形成されるバルク層と、上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層と含む複数の配線層とを有し、上記バルク層にて上記バルクパターンが形成可能なチップ面全体に、選択された固定の上記複数のバルクパターンを予め配置したことを特徴とする。
上記構成によれば、予めバルク層にてバルクパターンが形成可能なチップ面全体にバルクパターンを固定して配置することで、ユーザ側では、可変配線層の配線を設計し、設計した可変配線層における配線を形成するためのマスクを作成するだけで用途に応じた半導体集積回路を製造することができる。
本発明によれば、用途に応じた半導体集積回路を開発する際、個別品種毎に可変配線層の配線設計及び設計した配線を形成するマスクの作成のみで、所望の半導体集積回路を製造することができる。したがって、個別品種毎に最低限のマスクのみを作成すれば良いので開発費を大幅に削減することができるとともに、限られた配線層の配線のみを設計し、かつ個別品種毎に作成するマスク枚数も減るので開発期間も大幅に削減することができる。それに伴い、工数、すなわち人件費も大きく削減でき、また開発における煩雑さを回避することができる。
以下、本発明の実施形態を図面に基づいて説明する。
以下の説明において、「バルク層」とは、本発明の実施形態による半導体集積回路において配線層を一切含まない、トランジスタを形成するポリシリコンや拡散層等の下地である。つまり、バルク層は、トランジスタ層と配線層とを有する従来のセルベースLSIのトランジスタ層に相当する。
また、「バルク」とは、バルク層に作り込まれる所定の回路機能を具備する機能ブロック、いわゆるマクロである。
(第1の実施形態)
図1は、本発明の第1の実施形態による半導体集積回路の構成例を示す図であり、具体的には半導体集積回路におけるバルク層の構成例について示している。
第1の本実施形態による半導体集積回路は、図1に示すように半導体チップ1内(以下、半導体チップ1全体を「フレーム」とも称す。)に複数種類のバルク(バルクパターン)を有している。図1に示した例では、8個の第1のバルクパターンB1、144個の第2のバルクパターンB2、16個の第3のバルクパターンB3、24個の第4のバルクパターンB4、及び344個の第5のバルクパターンB5を有する。
本実施形態(後述する他の実施形態をも含む。)においては、第1のバルクパターンB1は、PLL(Phase Locked Loop)回路の機能ブロック(PLLマクロ)とし、第2のバルクパターンB2は、入出力回路の機能ブロック(I/Oマクロ)とする。また、第3、第4のバルクパターンB3、B4は、それぞれメモリ(RAM)の機能ブロック(第1、第2のRAMマクロ)とし、第1のRAMマクロと第2のRAMマクロとは、大きさ及び機能(例えば、ポート数、ワードビット数等)の少なくとも一方が異なっている。また、第5のバルクパターンB5は、ユーザが任意に論理を構成することができる機能ブロック(ユニットセル)とし、従来のゲートアレイで言うところの基本セル(ベーシックセル)に相当する。
図1から明らかなように、第1の実施形態による半導体集積回路は、従来のゲートアレイの基本セルに相当する第5のバルクパターンB5(ユニットセル)だけではなく、最低限の種類のバルクパターンB1〜B5がフレーム1内を敷き詰めるようにして配置されている。すなわち、第1の実施形態による半導体集積回路は、さまざまな機能を持たせたバルクパターンB1〜B5が予め一定の規則でフレーム1全体に予め埋め込み構成され、従来のトランジスタ層に相当するバルク層のバルクパターンの敷き詰められたすべての部分(領域)において何らかの回路機能が形成されている。
このフレーム1内のバルクパターンB1〜B5及びその配置は、ユーザ側では変更する(カスタマイズ)ことができない。なお、フレーム1内でのバルクパターンB1〜B5の配置は、大多数のユーザが所望すると予想される回路構成となるように配置したり、ユーザの使用頻度が高くなると予想される回路構成となるように配置したりすることが望ましい。
ここで、同一のバルクパターン、すなわち回路機能が同じバルクパターンは、大きさ及びバルク内の図形パターン(ポリシリコン、拡散層、及びコンタクト等)がすべて同じであるが、異なるバルクパターンは、大きさ又はバルク内の図形パターンの少なくとも一方が異なっている。また、各バルクパターンB1〜B5は、大きさがスタンダードセル(規格化された大きさの基準セル)の整数倍が望ましいが、スタンダードセルの整数倍に揃っていないバルクパターンが含まれることがある。また、各バルクパターンB1〜B5は、後述するように各バルクパターンB1〜B5上に形成される配線(配線パターン)により回路機能を制御可能である。
なお、各バルクパターンB1〜B5におけるトランジスタ(pチャネルトランジスタ及びnチャネルトランジスタ)の大きさについても、ユーザが自由に変更できないように全部確定された大きさで構成されている。
図2は、第1の実施形態による半導体集積回路の構成例を示す断面図である。
図2において、3はバルク層BLを有する半導体基板(チップ)である。バルク層BL上には、Cu(copper)、Al(aluminum)等を用いた金属配線を形成するための第1〜第6の配線層PL1〜PL6が順次積層するように設けられている(以下、説明の便宜上、バルク層BL側から順に第1、第2、第3、第4、第5、第6の配線層とする。)。各配線層PL1〜PL6に形成される配線は、異なる配線層間については層間絶縁膜により絶縁されており、必要に応じて異なる配線層の配線にビアを介して接続される。
また、第1の実施形態による半導体集積回路において、第1、第5、及び第6の配線層PL1、PL5、PL6に形成する配線は、配線パターンが変更不可な固定配線であり、第2、第3、及び第4の配線層PL2、PL3、PL4に形成する配線は、配線パターンが変更可能な可変配線である。つまり、第1、第5、及び第6の配線層PL1、PL5、PL6はカスタマイズできない固定配線層であり、第2、第3、及び第4の配線層PL2、PL3、PL4はカスタマイズ可能な可変配線層である。
なお、上述した説明では、説明の便宜上、固定配線及び可変配線は固定配線層及び可変配線層と称した各配線層のみで実現するものとしているが、固定配線及び可変配線は、配線層に形成される配線のみ、あるいは配線層間に設けるビアのみにより実現するようにしても良いし、配線層に形成される配線と配線層間に設けるビアとの組合せにより実現するようにしても良い。言い換えれば、固定配線及び可変配線をそれぞれ形成する固定配線層及び可変配線層と言った場合には、それらが配線層のみ、あるいは配線層間に設けるビアのみであっても良いし、配線層とその間に設けるビアとの組合せであっても良い。
このカスタマイズ可能な可変配線層の配線により、バルク層に形成される回路に対して、例えば電源を供給したり、内部の論理構成を切り換えたりすることができる。なお、カスタマイズ可能な可変配線層であっても、バルク層BLに形成されている回路を機能させるために必要な配線が含まれることもある。
図3は、バルクパターン上に形成される配線(配線パターン)を説明するための図であり、(A)〜(E)は第1〜第5のバルクパターンB1〜B5上にそれぞれ形成される配線パターンを示している。
図3(A)〜(E)に示すように、各バルクパターンB1〜B5は、バルクパターン毎に対応する複数の配線パターンを有している。この複数の配線パターンは、各々にスタンダードセル方式で固有のセル名を示す符号(例えば、第1のバルクパターンB1上に形成される配線パターンについては、B1A、B1B、B1C)が識別情報として付されており、当該符号により配線パターンが一意に決定される。
同じバルクパターンB1〜B5については、それに対応する複数の配線パターンの中の任意の配線パターンに変更が可能である。例えば、第2のバルクパターンB1上に形成する配線パターンとしては、位置が異なるバルクパターン毎に、配線パターンB2A、B2B、B2C、及びB2Dの中から任意の1つを選択して適用することができる。
なお、同一のバルクパターンに対応する複数の配線パターンは、互いに異なる配線パターンであり、バルクパターンによりバルク層に形成される回路に応じて、当該回路に電源を供給する配線の配線パターンや、当該回路内部のモードを切り換える端子に対して論理(“1”或いは“0”)を供給するために電源に接続したり接続しなかったりする配線の配線パターン等が含まれる。したがって、バルクパターン上の配線パターンを変更することで、当該バルクパターンにより実現される回路機能を制御(変更)することができる。
ただし、同一のバルクパターンに対応する配線パターンは、セルの大きさ及び外部に対する入出力端子を設ける位置が同じ、つまり固定されていることが好ましい。例えば、図4(A)に示すように第5のバルクパターンB5により2入力(IN1、IN2)1出力(OUT1)の何らかの論理5を実現するための配線パターンである場合には、図4(B)に示すように配線パターンB5A’は、外部に対する入力端子6、7及び出力端子8を設ける位置を固定し、その他の配線を論理5に応じて異ならせる。また、固定配線層と可変配線層との間のインタフェース部分についても同様に固定されていることが好ましい。
図5及び図6は、第1の実施形態による半導体集積回路の具体的な構成例を示す図である。
図5は、図1に示したように各バルクパターンB1〜B5が配置されている半導体集積回路に対して、ユーザの要求に応じたユーザレイアウト処理を行う前の半導体集積回路を示している。
図5に示すように、ユーザレイアウト処理前の初期状態の第1の実施形態による半導体集積回路においては、各バルクパターンB1〜B5に対して、予め初期値として設定されている配線パターンが設定される。図5に示した例では、第1のバルクパターンB1に対して配線パターンB1Aが設定され、第2のバルクパターンに対して配線パターンB2Aが設定されている。同様に、第3、第4、及び第5のバルクパターンB3、B4、B5に対して、配線パターンB3A、B4A、B5Aが設定されている。この各バルクパターンB1〜B5に対して初期値として設定される配線パターンは、バルクパターンB1〜B5の種類毎に任意に選択可能であり、例えば、ユーザレイアウト処理において配線パターンの変更量が少なくなるようにすることが望ましい。
ユーザレイアウト処理前の初期状態の半導体集積回路においては、フリップフロップ(FF)、クロックバッファ、電源ノイズ対策用の容量セル(デカップリングセル)等が規則正しく並んで配置され、従来においてはユーザレイアウト処理に伴って実施していたクロストーク対策等の煩雑かつ困難な設計が予め行われている。また、図3に示した配線パターンにおける一部の限定された配線層(例えば、第1の配線層PL1)に、クロック信号を供給するための配線パターン(クロックツリーに係る配線パターン)やテスト回路用の配線パターンや電源供給用の配線パターンを含ませ、ユーザレイアウト処理前の初期状態の段階で半導体集積回路内にこれらの配線を作り込むようにしても良く、ユーザの要求に応じて必要な箇所のみそれらを用いるようにしても良い。
図6は、図5に示した半導体集積回路に対して、ユーザレイアウト処理を実施した後の半導体集積回路を示している。
図6に示した例では、ユーザの要求に応じたユーザレイアウト処理を実施することにより、一部の第1のバルクパターンB1’に対する配線パターンがB1AからB1Bに差し替えられ(変更され)、一部の第2のバルクパターンB2’に対する配線パターンがB2AからB2Dに差し替えられている。また、一部の第3、第4及び第5のバルクパターンB3’、B4’、B5’に対する配線パターンが、B3AからB3D、B4AからB4D、B5AからB5Dにそれぞれ差し替えられている。
また、配線パターンを図示していないバルクパターンB1”、B2”、B3”、B4”、B5”は、未使用のバルクパターンであり、バルクパターンそのものは残すが、配線については、他の配線のための配線チャネルとして開放するために削除しても良い。なお、ユーザレイアウト処理における配線パターンの差し替えは、詳細は後述するが識別情報として配線パターンに付された符号を差し替えることにより行う。
以上のように、第1の実施形態における半導体集積回路では、バルクパターンを共通にしたまま、つまりバルク層(トランジスタ層)の構造を変えずに固定して、各バルクパターン上の配線層に形成される配線パターンに付された符号のみを変更することで配線パターンを変更し、実現される回路機能(マクロの機能)を容易に切り換えることができる。
また、第1の実施形態における半導体集積回路では、ユーザの要求に応じて変更可能な部分(カスタマイズ可能部分)は配線層の一部に限定し、バルク層を含む他の部分は共通化しているので、設計を短時間で容易に行うことができるとともに、実際に製造する場合にユーザ側では変更可能な部分の配線層に係るマスク(レチクル)のみを作成するだけで所望の機能を有する半導体集積回路を製造することができる。
例えば、PLLマクロ(第1のバルクパターンB1)であれば、VCO(Voltage Control Oscillator)周波数の変更や、分周比の設定や、外部にフィードバック端子を出すか否かの変更や、内部に複数のブロックを有する場合にはブロック毎に有効にしたり無効にしたりする変更等を配線パターンの変更のみで行うことができる。また、I/Oマクロ(第2のバルクパターンB2)であれば、I/Oの種類や駆動力の変更、一例として高速I/O(HSIO)の場合には送受信チャネル数の設定やきめ細かな電力制御の変更、メモリインタフェース規格であるSSTL規格に準拠したI/Oの場合にはClass1やClass2の切り替え(I/Oセルの駆動力の変更)、動作電圧の変更等を行うことができる。
また、RAMマクロ(第3、第4のバルクパターンB3、B4)であれば、ワードビット回路構成の変更、及び速度や電力制御を行ったり、未使用時にはほとんどすべての配線層の開放を行ったりすることができる。また、ユニットセル(第5のバルクパターンB5)であれば、一部の入力端子のVDD(電源電位)/VSS(基準電位)の自動クリップ、駆動力の変更、ゲート遅延のRise(立ち上がり)/Fall(立下り)特性の変更、フォローピン(電源線)の保持や裏打ちによる補強、予めプリセットしていた論理を開放して配線チャネルとして開放する或いは他の論理の再割り当て等を行うことができる。
次に、第1の実施形態における半導体集積回路のレイアウト設計方法について説明する。
図7(a)、(b)は、第1の実施形態における半導体集積回路のレイアウト設計方法を概略的に示した図である。
図7(a)は、図5に示した初期状態の半導体集積回路の設計方法を示している。
初期状態の半導体集積回路の設計においては、図1に示したようなバルクパターンを全体に配置したフレーム1におけるバルクパターンの配置情報であるフレーム1内のバルクパターン配置データ71と、図3に示したようなバルクパターンに対応する複数の配線パターンを示すバルク毎の配線パターンテーブル72とを参照し、配線パターンの初期値選択処理P1を行う。
配線パターンの初期値選択処理P1では、バルクパターン毎に、配線パターンテーブル72の中から予め設定された初期値に従って配線パターンを選択し、それをバルクパターンに対する配線パターンとして設定する。この処理P1により、図5に示したようなバルクパターン毎に同じ配線パターンが設定された初期配線パターン設定済みフレームデータ73が得られる。
図7(b)は、ユーザの要求に応じた所望の半導体集積回路に係るユーザレイアウト設計方法を示している。
ユーザレイアウト設計においては、上述したようにして得られた初期配線パターン設定済みフレームデータ73と、バルク毎の配線パターンテーブル72とを参照し、ユーザレイアウト処理P2を行う。
このユーザレイアウト処理P2では、初期配線パターン設定済みフレームがユーザの要求に応じた所望の半導体集積回路となるように、フレーム1内に配置された1つのバルクパターン毎に適切な配線パターンの符号が入力され、その入力された配線パターンの符号に基づいて、各々のバルクパターンの配線パターンを初期値として設定された配線パターンから適切な配線パターンに差し替え、設定する。なお、フレーム1内に配置されたすべてのバルクパターンに対する配線パターンの符号を入力するようにしても良いし、配線パターンの差し替えが必要なバルクパターンのみに対する配線パターンの符号を入力するようにしても良い。
ユーザレイアウト処理P2により、図6に示したようなユーザの要求に応じた所望の回路機能を実現するユーザレイアウト済みフレームデータ74が得られる。このユーザレイアウト済みフレームデータ74に基づいて、可変配線層に形成する配線パターンに係るマスクのみを作成することで、ユーザの要求に応じた所望の半導体集積回路が製造可能となる。
次に、第1の実施形態における半導体集積回路のレイアウト設計方法について詳細に説明する。
図8(a)、(b)は、第1の実施形態における半導体集積回路のレイアウト設計方法を示すフローチャートであり、図8(a)は図7(a)に示した設計方法に対応し、図8(b)は図7(b)に示した設計方法に対応している。
図8(a)において、まずステップS1にて、バルクパターン配置データ及び配線パターンの初期値(初期配線パターンの符号)が入力される。
次に、ステップS2にて、バルク毎の配線パターンテーブルを参照し、ステップS1において入力された配線パターンの初期値に対応する配線パターンを選択する。
ステップS3にて、ステップS2において選択された配線パターンをバルクパターンの初期配線パターンとして設定する。
続いて、ステップS4にて、初期配線パターン未設定のバルクパターンがあるか否かを判断する。この判断の結果、初期配線パターン未設定のバルクパターンがある場合には、ステップS2に戻り、上述した処理を再び行う。
一方、ステップS4での判断の結果、初期配線パターン未設定のバルクパターンがない、すなわち、すべてのバルクパターンに対して初期配線パターンの設定が終了した場合には、ステップS5にて、初期配線パターン設定済みフレームデータを生成して出力し、処理を完了する。
図8(b)において、ステップS11にて、初期配線パターン設定済みフレームデータ、及び差し替え配線パターンデータが入力される。ここで、差し替え配線パターンデータは、ユーザの要求に応じた機能を半導体集積回路にて実現するための配線パターンの符号を示すデータである。
ステップS12にて、フレーム1内に配置されたバルクパターンを1つずつ順次スキャンするためのスキャン座標を初期化する。
次に、ステップS13にて、スキャン座標に対応するバルクパターンをスキャンし、配線パターンの差し替えを行うか否かを判断する。この判断の結果、配線パターンの差し替えを行う場合にはステップS14に進み、そうでない場合にはステップS16に進む。
ステップS14にて、対象としているバルクパターンの配線パターンテーブルを参照し、ステップS11において差し替え配線パターンデータとして入力された配線パターンの符号に対応する配線パターンを選択する。
ステップS15にて、対象としているバルクパターンの配線パターンを、ステップS14において選択した配線パターンに差し替え、設定する。
ステップS16にて、スキャンしていない未スキャンのバルクパターンがあるか否かを判断する。この判断の結果、未スキャンのバルクパターンがある場合には、ステップS17にて次のスキャン座標を設定し、ステップS13に戻る。
一方、ステップS16での判断の結果、未スキャンのバルクパターンがない場合には、ステップS18にて、ユーザレイアウト済みフレームデータを生成して出力し、処理を完了する。
なお、第1の実施形態において上記図1に示したバルクパターンの配置は一例であり、バルクパターンをフレーム1内に敷き詰めるようにすればその配置は任意である。例えば、PLLマクロ(第1のバルクパターンB1)を多く配置したり、RAMマクロ(第3又は第4のバルクパターンB3、B4)を多く配置したりしても良い。さらに、異なるバルクパターンの配置パターンをデータとして複数保持しておき、その中から1つを選択させるようにしても良い。また、上記図2に一例を示した各バルクパターンに対応する配線パターンの数も任意である。
また、上述した第1の実施形態においては、各バルクパターンB1〜B5をそれぞれ独立してフレーム1内に配置するようにしているが、例えば図10に示すように、2個の第3のバルクパターンB3と、3個の第4のバルクパターンB4と、32個の第5のバルクパターンB5とを組合せたものを基本ブロックBB1としてバルクパターンと同様に配置するようにしても良い。なお、図10に示す基本ブロックBB1は一例でありこれに限定されるものではない。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
以下に説明する第2の実施形態は、例えば多数のユーザが使用し得る回路機能など、ユーザのデザインで共通の回路機能を実現するための予め設計済みの情報(バルクパターンの配置情報及び配線情報等)をライブラリとして準備しておき、このライブラリを用いて設計を行うことで、さらに半導体集積回路の開発に係る期間やコストを削減し負担の軽減を図るものである。
図11は、本発明の第2の実施形態による半導体集積回路の構成例を示す図であり、具体的には半導体集積回路におけるバルク層の構成例について示している。
図11に示すように第2の実施形態による半導体集積回路は、上述した第1の実施形態による半導体集積回路と同様に、バルクパターンが形成可能な領域を敷き詰めるようにして最低限の複数種類のバルクパターンB1〜B5がフレーム1内に配置されている。したがって、第2の実施形態による半導体集積回路においても、上述した第1の実施形態と同様に、フレーム1内においてバルク層のバルクパターンが敷き詰められたすべての部分(領域)で何らかの回路機能が形成されている。
第2の実施形態においては、フレーム1内にバルクパターンB1〜B5を配置する場合に、選択された固定の複数のバルクパターンを組合せて基本ブロックBLKを構成し、基本ブロックBLKをフレーム1内の所定領域に配置する。このとき、フレーム1内の所定領域に配置可能なだけ基本ブロックBLKを敷き詰めるように配置する。本実施形態では、基本ブロックBLKをN個(Nは任意の自然数)用いて所定の回路機能を実現する予め設計済みとしたファームマクロ(ライブラリ)が提供される。
なお、フレーム1内の所定領域に基本ブロックBLKを配置して残った当該所定領域内の残余領域については、バルクパターン(例えば、第5のバルクパターンB5)を適宜配置するようにしても良いし、バルクパターンを配置せず空き領域とするようにしても良い。
例えば、図11に示した例では、図示しているように1個の第3のバルクパターン(第1のRAMマクロ)B3と、2個の第4のバルクパターン(第2のRAMマクロ)B4と、18個の第5のバルクパターン(ユニットセル)B5とを組合せて1つの基本ブロックBLKを構成する。そして、フレーム1内の所定領域に、その所定領域を敷き詰めるように基本ブロックBLKを配置し、16個の基本ブロックBLKが配置されている。ここで、基本ブロックBLKが配置されるフレーム1内の所定領域は、フレーム1内にてバルクパターンB1〜B5を形成可能な領域から、ユーザに使用を禁止したバルクパターンが配置される領域を除いた領域であり、例えば、第1のバルクパターン(PLLマクロ)B1及び第2のバルクパターン(I/Oマクロ)B2が配置される領域(言い換えれば外部インタフェースに係るバルクパターン及びクロック制御に係るバルクパターンが配置される領域)を除いたユーザが任意の回路機能を実現可能なフレーム1内の領域である。
また、図11に示した例では、所定領域内の残余領域には、第5のバルクパターンB5を配置している。
なお、第2の実施形態による半導体集積回路でのバルク層BL及び配線層PL1〜PL6に係る積層構造は、図2に示した第1の実施形態による半導体集積回路と同様であるので説明は省略する。
図12は、上述したように基本ブロックBLKをN個用いて所定の回路機能を実現するファームマクロの一例を示す図である。ファームマクロは、所定の回路機能を実現するためのレイアウト設計を予め行って得られた情報を登録したものであり、例えばユーザがよく使用する、デザインで共通の回路機能をファームマクロとして登録する。例えば、ファームマクロを用いて実現可能な回路機能の一例としては、AV機器用、サーバ向け機器用、ストレージ機器用、及び画像処理用などのCPUやプロセッサ、また各高速I/Oの規格に準拠したデータリンク層の処理回路(高速I/Oのインタフェース回路)等があげられる。
ファームマクロは、所定の回路機能を実現するために使用するバルクパターンの配置情報や配線情報を、予め設計済みのデータとして基本ブロックBLK単位で有している。バルクパターンの配置情報には配置座標及びバルクパターンの種類に係る情報を含み、配線情報には配線を形成する位置を示す座標及び配線層に係る情報を含む。なお、これらの情報における座標値は、基本ブロックBLK内の所定位置を基準とする座標値である。
図12(A)〜(C)に示す例では、所定の回路機能を実現するための配線を配線層PL1〜PL6に有するバルクパターン、つまり所定の回路機能を実現するために使用したり上層の配線層に配線が形成されたりするバルクパターンにはハッチングを施して図示している。
図12(A)は、1個の基本ブロックBLKを用いて特定の回路機能を実現する(1個の基本ブロックBLKに特定の回路機能を登録した)第1のファームマクロFM1を示している。第1のファームマクロFM1は、1個の第3のバルクパターンB3と6個の第5のバルクパターンB5により特定の回路機能を実現するファームマクロである。
図12(B)は、1個の基本ブロックBLKを用いて特定の回路機能を実現する第2のファームマクロFM2を示している。第2のファームマクロFM2は、1個の第3のバルクパターンB3と2個の第4のバルクパターンB4と4個の第5のバルクパターンB5により特定の回路機能を実現するファームマクロである。
図12(C)は、2個の基本ブロックBLKを用いて特定の回路機能を実現する第3のファームマクロFM3を示している。第3のファームマクロFM3は、一方の基本ブロックBLK内の1個の第3のバルクパターンB3と1個の第4のバルクパターンB4と7個の第5のバルクパターンB5、及び他方の基本ブロックBLK内の1個の第3のバルクパターンB3と1個の第4のバルクパターンB4と6個の第5のバルクパターンB5により特定の回路機能を実現するファームマクロである。
図13は、第2の実施形態による半導体集積回路の具体的な構成例を示す図である。
ユーザの要求に応じて、フレーム1内の基本ブロックBLKにファームマクロFM1〜FM3を割り当てた場合の半導体集積回路を示している。
ファームマクロFM1〜FM3の割り当ては、割り当てが指定された基本ブロックBLKに対してファームマクロFM1〜FM3に係るバルクパターンの配置情報や配線情報を基本ブロックBLK単位で適用し反映させる(以下、「戻す」とも言う。)ことにより行われる。これにより、指定された任意の基本ブロックBLKは、例えばプロセッサや高速I/Oインタフェース回路等の特定の回路機能に置き換えることができる。
ここで、ファームマクロFM1〜FM3のバルクパターンの配置情報及び配線情報を基本ブロックBLKに適用する場合には、バルクパターンの配置情報及び配線情報における座標値が、指定された基本ブロックBLKのフレーム1内における配置位置(配置座標)を基に変換される。つまり、ファームマクロFM1〜FM3のバルクパターンの配置情報及び配線情報における座標値を指定された基本ブロックBLKの位置に応じて変換して戻す。この処理は、座標変換(計算)機能を有するCADシステム等の設計システムを用いることで可能である。なお、バルクパターンの配置情報や配線情報を指定された基本ブロックBLKに戻す際には、双方の情報を戻さなくても良く、バルクパターンの配置情報のみを戻して配線は再配線を行うようにしても良い。
また、ファームマクロFM1〜FM3の割り当てが行われない基本ブロック(図13では、基本ブロックUBK)のバルクパターンB1〜B5及び配線チャネルは、ユーザが自由に使用できるようにしてユーザ自らが任意の回路機能を形成できるようにしても良いし、ユーザには使用できないようにしても良い。さらには、基本ブロックにファームマクロFM1〜FM3が割り当てられていても、ファームマクロFM1〜FM3内の未使用のバルクパターンB1〜B5及び配線チャネルは、ユーザが自由に使用できるように解放しても良い。
以上のように、第2の実施形態による半導体集積回路では、ユーザのデザインで共通の回路機能を実現するための予め設計済みのファームマクロFM1〜FM3の情報(バルクパターンの配置情報及び配線情報等)をライブラリとして準備し、半導体集積回路の設計を行う場合にこのライブラリを用いることで、ファームマクロFM1〜FM3として提供される回路機能については、バルクパターンの配置やその配線などの設計を行うことなく、基本ブロックに対して既にある配置情報や配線情報を適用するという容易作業のみで基本的な回路設計を完了して所望の回路機能を実現することができる。したがって、半導体集積回路の開発に係る期間やコストを大幅に削減して負担を軽減することができる。なお、上述した第1の実施形態と同様な効果も得られる。
次に、第2の実施形態における半導体集積回路のレイアウト設計方法について説明する。
図14は、第2の実施形態における半導体集積回路のレイアウト設計方法を概略的に示した図である。
第2の実施形態による半導体集積回路の設計においては、図11に示したようなフレーム1内の所定領域に基本ブロックを敷き詰めるように配置したフレーム1における基本ブロックの配置情報である基本ブロック配置データ141と、図12に示したようなファームマクロを示すファームマクロのライブラリ142とを参照し、ファームマクロの割り当て処理P11を行う。
ファームマクロの割り当て処理P11では、フレーム1内の基本ブロック毎に、ファームマクロのライブラリ142の中からユーザの設定値に従って予め設計済みのファームマクロを選択し、それを基本ブロックに対するファームマクロとして設定する。この処理P11により、図13に示したような基本ブロック毎にファームマクロが割り当てられたファームマクロ割り当て済みフレームデータ143が得られる。
さらに、指定された基本ブロックに対してファームマクロに係るバルクパターンの配置情報及び配線情報を戻す配置・配線情報戻し処理P12を行う。
配置・配線情報戻し処理P12は、基本ブロック内に既に存在するクロック配線やテスト回路用配線等の配線がレイアウトにて使用されている場合に、割り当てたファームマクロ毎にバルクパターンの配置情報及び配線情報の双方、又はバルクパターンの配置情報のみを基本ブロックに対して戻す処理である。この処理P12により、ユーザの設定に応じて、所望の回路機能を実現するファームマクロがフレーム1内にレイアウトされたユーザレイアウト済みフレームデータ144が得られる。
次に、第2の実施形態における半導体集積回路のレイアウト設計方法について詳細に説明する。
図15は、第2の実施形態における半導体集積回路のレイアウト設計方法を示すフローチャートである。
まず、ステップS21にて、フレーム1内の所定領域に配置された基本ブロックに割り当てるファームマクロを示すファームマクロの設定値が入力される。
ステップS22にて、フレーム1内に配置された基本ブロックを1つずつ順次スキャンするためのスキャン座標を初期化する。
次に、ステップS23にて、ステップS21において入力されたファームマクロの設定値に基づいて、スキャン座標に対応する基本ブロックに割り当てるファームマクロを選択する。
ステップS24にて、基本ブロックに選択したファームマクロの配線情報を戻すか否かを判断する。この判断の結果、ファームマクロの配線情報を戻す場合には、ステップS25に進み、ファームマクロの配線情報を基本ブロックに戻す。一方、基本ブロック内で既にクロック配線やテスト回路用配線等の配線がレイアウトにて使用されている場合など、ファームマクロの配線情報を戻さない場合には、ステップS25をスキップする。
続いて、ステップS26にて、選択したファームマクロのバルクパターンの配置情報を基本ブロックに戻す。
つまり、ステップS24〜S26の処理では、基本ブロック内で既にクロック配線やテスト回路用配線等の配線がレイアウトにて使用されている場合など既に存在する配線に不都合が生じるおそれがあってファームマクロの配線情報を戻さない場合には、ファームマクロにおけるバルクパターンの配置情報のみを基本ブロックに戻し、そうでない場合にはファームマクロにおけるバルクパターンの配置情報及び配線情報の双方を基本ブロックに戻す。
ステップS27にて、スキャンしていない未スキャンの基本ブロックがあるか否かを判断する。この判断の結果、未スキャンの基本ブロックがある場合には、ステップS28にて次のスキャン座標を設定し、ステップS23に戻る。
一方、ステップS27での判断の結果、未スキャンの基本ブロックがない場合には、ステップS28にて、ユーザレイアウト済みフレームデータを生成して出力し、処理を完了する。
なお、上述した第2の実施形態においては、図11に示したようにフレーム1内の所定領域に1種類の基本ブロックBLKを敷き詰めるように配置した半導体集積回路を一例として示したが、本発明はこれに限定されるものではなく、フレーム1内の所定領域に複数種類の基本ブロックを配置するようにしても良い。また、複数種類の基本ブロックを用いる場合、各基本ブロックの大きさは、同じであっても良いし、異なっていても良い。つまり、基本ブロックの大きさは任意である。
また、図11に示した第2の実施形態による半導体集積回路においては、フレーム1内の所定領域に配置した基本ブロックは、すべて同じ方向に揃えて配置しているが、基本ブロック内の所定位置を中心として所定の角度だけ回転させたり、基本ブロック内のある軸に対して対称となるように反転させたりして、基本ブロックを配置しても良い。なお、回転させたり、反転させたりして配置した基本ブロックに対してファームマクロを割り当てる場合には、ファームマクロのバルクパターンの配置情報や配線情報における座標値にも回転や反転に対応する座標変換処理を施すようにすれば良い。
例えば、図16に示すように、1個の第3のバルクパターンB3と、2個の第4のバルクパターンB4と、18個の第5のバルクパターンB5とを組合せた第1の基本ブロックBLK1、及び1個の第3のバルクパターンB3と、1個の第4のバルクパターンB4と、20個の第5のバルクパターンB5とを組合せた第2の基本ブロックBLK2の2種類の基本ブロックBLK1、BLK2をフレーム1内の所定領域に配置しても良い。また、例えば図16において、基本ブロックBLK1をその内部の点又は軸を基準として回転又は対称移動させた基本ブロックBLK1’を基本ブロックBLK1と合わせて配置しても良い。
このように基本ブロックの配置方法は様々であるので、異なる基本ブロックの配置パターンをデータ(フレームライブラリ)として複数保持しておき、半導体集積回路を設計する際にその中から1つを選択させるようにしても良い。
また、図12や図13に示したファームマクロFM1〜FM3及びその配置例は一例であり、これに限定されるものではない。例えば、図16に示すファームマクロFM4のように異なる基本ブロックBLK1、BLK2を用いて1つのファームマクロを構成しても良い。また、複数の基本ブロックで1つのファームマクロを構成する場合、基本ブロックが接触して組み合わさっている、言い換えれば基本ブロックの何れか1つの辺が他の基本ブロックの何れか1つの辺に重なっている必要もなく、図16に示すファームマクロFM3’のようにファームマクロを割り当てる基本ブロックが離れていても良い。このようにファームマクロを割り当てる基本ブロックが離れている場合には、このファームマクロに対応する基本ブロック間の配線は再配線すれば良い。
なお、複数の基本ブロックで1つのファームマクロを構成する場合には、基本的には基本ブロック間の配線は再配線を行う。しかし、基本ブロック間の間隔(隙間)がファームマクロを含めてすべて同じである場合には、基本ブロック間の配線であっても再配線を行わずにファームマクロの配線情報を用いるようにしても良い。
また、第2の実施形態では、基本ブロック内で既にクロック配線やテスト回路用配線等の配線がレイアウトにて使用されている場合など既に存在する配線に不都合が生じるおそれがある場合には基本ブロック内のすべてのバルクパターンについてファームマクロの配線情報を戻さないようにしているが、不都合が生じる部分のみファームマクロの配線情報を戻さないようにしても良い。また、不都合が生じるか否かにかかわらず、基本ブロックに対してファームマクロの配線情報を常に戻すようにして、物理検証(デザインルールチェック、電気的接続チェック)等で検出されたバイオレーションショート等の違反部分のみ再配線を行うようにしても良い。
また、上述した第2の実施形態における半導体集積回路のレイアウト設計方法では、ファームマクロの割り当て処理P11及び配置・配線情報戻し処理P12が完了して得られたデータをユーザレイアウト済みフレームデータとしているが、フレーム1内の未使用のバルクパターンB1〜B5及び配線チャネル(ファームマクロの割り当てが行われない基本ブロックのバルクパターンB1〜B5及び配線チャネルや、ファームマクロ内の未使用のバルクパターンB1〜B5及び配線チャネル)を用い、ユーザの要求に応じた個別の回路機能を実現するためのユーザレイアウトをさらに行うようにしても良い。この場合のレイアウト設計方法の概略を図17に示す。
図17は、第2の実施形態における半導体集積回路の他のレイアウト設計方法を概略的に示す図である。図17において、図14に示した要素に対応する要素には同一の符号を付している。
図17(a)に示す半導体集積回路のレイアウト設計方法は、説明の便宜上、ファームマクロの割り当て処理P11及び配置・配線情報戻し処理P12が完了して得られたデータを初期レイアウト済みフレームデータ144’と称している点が異なるだけで、上記図14に示した半導体集積回路のレイアウト設計方法と同様であるので説明は省略する。
図17(b)は、ユーザの要求に応じた個別の回路機能を実現するためのユーザレイアウト設計方法を示している。
ユーザレイアウト設計においては、図17(a)に示したようにしてファームマクロの割り当て処理P11及び配置・配線情報戻し処理P12が完了して得られた初期レイアウト済みフレームデータ144’と、バルク毎の配線パターンテーブル175とを参照し、ユーザレイアウト処理P23を行う。
このユーザレイアウト処理P23では、ファームマクロの割り当てを行った初期レイアウト済みフレームにて、ユーザが自由に使用可能な未使用バルクパターン及び配線チャネルを用いてユーザの要求に応じた回路機能を実現するための配線パターンの設定処理を行う。具体的には、フレーム1内の未使用バルクパターン毎に適切な配線パターンの符号が入力され、その入力された配線パターンの符号に基づいて、各々のバルクパターンの配線パターンを選択して適切な配線パターンを設定する。
ユーザレイアウト処理P23にて、未使用バルクパターンに係る配線パターンの設定処理を行うことで、ファームマクロ割り当て後の未使用のバルクパターンB1〜B5及び配線チャネルを用い、ユーザの要求に応じた個別の回路機能を実現するユーザレイアウト済みフレームデータ176が得られる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
半導体集積回路において、例えばJTAG(バウンダリスキャンテスト)に準拠した2つのTAP(Test Access Port:テストアクセスポート)コントローラを具備させる場合には、マルチプレクサを用いて2つのTAPコントローラを切り換えるように構成するのが一般的である。マルチプレクサを用いることで、チップ内部に具備する2つのTAPコントローラがチップ外部からは排他的に見えるとともに、外部ピン(端子)数(外部入出力の数)を削減できる。
しかし、上述のような回路を実現する場合、従来の半導体集積回路においては、2つのTAPコントローラとマルチプレクサとに係る論理(ネットリスト)は、例えばメーカー側等から提供されユーザにかかわらず共通であるが、実際のレイアウト設計はユーザ毎に自由に実施していた。つまり、同じ回路機能を実現するにもかかわらず、ユーザ毎にレイアウト設計を行うため、開発効率を低下させるとともに、開発や製造等に要するコストの削減を妨げる要因の1つであった。
そこで、以下に説明する第3の実施形態は、テスト回路機能を実現するための予め設計済みの情報(バルクパターンの配置情報及び配線情報等)をライブラリとして準備し、それを用いて設計を行うことで、半導体集積回路の開発に係る期間やコストを削減し負担の軽減を図るものである。また、ライブラリとして提供される構成の一部をユーザが変更可能なようにすることで汎用性の向上を図っている。
なお、以下の説明では、第3の実施形態による半導体集積回路の特徴的な回路構成についてのみ説明し、全体の構成等については上述した第1及び第2の実施形態による半導体集積回路と同様に構成すれば良いので説明は省略する。
図18は、本発明の第3の実施形態による半導体集積回路の構成例を示す図である。なお、図18においては、第3の実施形態による半導体集積回路の要素的特徴のみを図示しており、上述した第1及び第2の実施形態に全体を示したような半導体集積回路内の構成の一部に相当する。
図18において、192はJTAG用のマルチプレクサであり、193は第1のTAPコントローラ(TAP−A)、194は第2のTAPコントローラ(TAP−B)である。TAP−A193は、例えばチップ全体の試験用に設けたTAPコントローラであり、TAP−B194は、例えばプロセッサ用に設けたTAPコントローラである。
マルチプレクサ192は、バッファBUF11を介した配線により外部端子(ピン)IO11(入力IN1)に接続されるとともに、バッファBUF12を介した配線により外部端子IO12(出力OUT1)に接続される。マルチプレクサ192とTAP−A193とは、バッファBUF21、BUF22を介した配線により接続される。同様に、マルチプレクサ192とTAP−B194とは、バッファBUF31、BUF32を介した配線により接続される。
また、マルチプレクサ192には外部からテストモード信号TSTが入力されており、TAP−A193とTAP−B194のいずれのTAPコントローラを用いるか切り換え可能となっている。このテストモード信号TSTに応じてTAP−A193とTAP−B194とが切り換えられる、すなわちTAP−A193又はTAP−B194のどちらを外部端子IO11、IO12に対して接続するかが切り換えられる。
なお、マルチプレクサ192と外部端子IO11とを接続するバッファBUF11を介した配線、マルチプレクサ192とTAP−A193、TAP−B194とをそれぞれ接続するバッファBUF21、BUF31を介した配線は、IEEE1149.1規格(いわゆるJTAG)に準拠したテストデータ入力TDI、テストクロックTCK、テストモード選択TMS、及びテストリセットnTRSTにそれぞれ対応した複数の配線で構成されるが、図18においては説明の便宜上、省略して図示している。また、マルチプレクサ192と外部端子IO12とを接続するバッファBUF12を介した配線、マルチプレクサ192とTAP−A193、TAP−B194とをそれぞれ接続するバッファBUF22、BUF32を介した配線は、IEEE1149.1規格に準拠したテストデータ出力TDOに対応している。
ここで、本実施形態においては、第2の実施形態におけるファームマクロと同様に、図18に一例を示したような回路構成を実現するために使用するバルクパターンの配置情報及び配線情報を予め設計済みのデータ(ライブラリ)として登録しておく。したがって、マルチプレクサ192、TAP−A193、TAP−B194、及び各バッファの回路機能を実現するマクロのバルクパターン(バルク層の構造)は、ユーザによらず固定され、ユーザ側では変更できない。
また、各マクロ間の配線についても固定しユーザ側での変更を行えないようにするが、後述するようにマルチプレクサ192(バッファBUF31、BUF32)とTAP−B194との間の配線については、ユーザ側で変更可能とする。したがって、各マクロ間の配線のうち、少なくともマルチプレクサ192(バッファBUF31、BUF32)とTAP−B194との間の配線は、可変配線層に形成される。他のマクロ間の配線は、固定配線層又は可変配線層のどちらに形成するようにしても良い。
このように、第3の実施形態では、図18に示したようなテスト回路の機能を実現するための予め設計済みのバルクパターンの配置情報及び配線情報をライブラリとして準備しておき、半導体集積回路の設計を行う場合にこのライブラリを用いる。これにより、ライブラリとして提供されるテスト回路の機能については、バルクパターンの配置やその配線に加えバルクパターン間の配線などの設計を行うことなく、ライブラリに示される情報を適用する容易な作業のみでテスト回路の機能を実現することができる。したがって、チップ内部に具備する2つのTAPコントローラ(TAP−A193、TAP−B194)がチップ外部からは排他的に見え、かつ外部端子数(外部入出力の数)を削減できるという効果が得られるとともに、かつ半導体集積回路の開発に係る期間やコストを削減し負担を軽減することができる。
さらには、マルチプレクサ192(バッファBUF31、BUF32)とTAP−B194との間の配線を、ユーザ側で変更可能、すなわちカスタマイズできるようにしたことで、回路構成を一部変更し、さまざまな応用が可能となる。以下、図19〜図21を参照して、第3の実施形態による半導体集積回路に対するカスタマイズの一例を示す。なお、図19〜図21においては、図18に対応する回路部分のみ図示している。
図19は、第3の実施形態における半導体集積回路の回路変更例を示す図である。図19に示す例は、マルチプレクサ192(バッファBUF31、BUF32)とTAP−B194との間の配線を削除し、TAP−B194の入力端及び出力端を、外部端子IO11、IO12とは異なる外部端子(ピン)IO21(入力IN2)及びIO22(出力OUT2)にそれぞれ接続したものである。
このようにTAP−B194の入力端及び出力端を外部端子IO21、IO22に接続するようにすることで、チップ内部のTAP−A193とTAP−B194がチップ外部からそれぞれ独立して見え、2つのTAPコントローラ193、194を独立制御して動作させることが可能になる。
なお、TAP−B194の入力端及び出力端と外部端子IO21、IO22との間には、任意の論理回路(AND回路やOR回路やNAND回路)等を挿入しても良い。また、削除した配線に係るバッファBUF31、BUF32については、削除しても良いしそのまま残しても良く、残す場合にはバッファBUF31の出力端はフローティングであっても良いがバッファBUF32の入力端はVDD(電源電位)又はVSS(基準電位)にクリップしておくことが望ましい。
図20は、第3の実施形態における半導体集積回路の他の回路変更例を示す図である。図20に示す例は、図18に示した回路構成において、TAP−B194にさらに第3のTAPコントローラ(TAP−C)195をデイジーチェーン(直列)に接続したものである。このようにTAPコントローラが、直列に接続可能なものである場合には、図20に示すように複数のTAPコントローラをデイジーチェーンに接続し、TAPコントローラに対応する回路素子(例えばプロセッサ)の数を任意に増加させることができる。また、異なる回路素子等を混在させることもできる。
図21は、第3の実施形態における半導体集積回路のその他の回路変更例を示す図である。図21に示す例は、ライブラリに準備しているTAP−B194を用いずに、ユーザ側で新規にレイアウト設計を行った第4のTAPコントローラ(TAP−D)196をマルチプレクサ192に接続したものである。なお、用いないTAP−B194については削除しても良いし、そのまま残しておいても良い。
このように、ライブラリにおける既存のTAP−B194を用いずに、新規にレイアウトしたTAP−D196をマルチプレクサ192に接続する、すなわち、既存のマルチプレクサ192を有効に利用して異なるTAPコントローラを接続することも可能である。例えば、TAP−B194がある一種(A種とする)のCPUに対応したTAPコントローラであり、TAP−D196が異なる一種(B種とする)のCPUに対応したTAPコントローラであるとすると、既存のマルチプレクサ192を流用して異なるCPUを接続することができる。
なお、第3の実施形態による半導体集積回路に対するカスタマイズは、これらに限定されるものではなく、変更可能な範囲で任意に行うことが可能である。例えば、図19〜図21に示したものを任意に組合せるようにしてカスタマイズすることも可能である。
また、上述した説明では、図18に示した回路構成を実現するための設計済み情報をライブラリとして登録するようにしているが、変更可能な部分を除いた回路部分191を実現するための設計済み情報をライブラリとして登録するようにしてもよい。その場合には、外部とのインタフェース部分、つまりバッファBUF31の出力端及びバッファBUF32の入力端を、TAP−B194やTAP−D196と接続可能なように固定しておく。
図22は、第3の実施形態における半導体集積回路の回路実装の具体例を示す図である。図22において、221は、マルチプレクサ222、チップ全体の試験用TAPコントローラ223、及びプロセッサコア224が形成されるチップである。また、プロセッサコア224には、プロセッサ用TAPコントローラ225が形成される。ここで、マルチプレクサ222、チップ全体の試験用TAPコントローラ223、及びプロセッサ用TAPコントローラ225が、図18に示したマルチプレクサ192、TAP−A193、及びTAP−B194にそれぞれ対応する。
また、マクロ221は、IEEE1149.1規格に対応したものであり、それに準拠してテストデータ入力TDI、テストクロックTCK、テストモード選択TMS、テストリセットnTRST、及びテストデータ出力TDOとしてそれぞれ用いられる外部端子(ピン)を有している。さらに、マルチプレクサ222を制御して、TAPコントローラ223、225のどちらを用いるか切り換えるためのテストモード信号TSTを入力するための外部端子を有している。
マルチプレクサ222は、チップ外部からの入力信号(テストデータ入力TDI、テストクロックTCK、テストモード選択TMS、テストリセットnTRST)であるか、チップ外部への出力信号(テストデータ出力TDO)であるか、及び信号が正論理であるか負論理であるか等に応じて、OR回路、AND回路、2−1セレクタ回路を用いて構成される。そして、マルチプレクサ222は、テストモード信号TSTに応じて、TAPコントローラ223、225の何れか一方と各信号の授受を行う。
なお、第3の実施形態におけるテスト回路機能を実現するための設計済み情報をライブラリとして準備し、それを利用してレイアウト設計を行う上述した手法は、第1及び第2の実施形態で示した半導体集積回路のみならず、バルク層を固定し、一部又は全部の配線を固定して提供されるゲートアレイなどを含む任意のASICに適用可能である。
(各実施形態における半導体集積回路の初期レイアウト設計)
ここで、上述した各実施形態における半導体集積回路の初期レイアウト設計方法、すなわち図1、図10、図11等に一例を示したバルクパターンの初期配置に係るレイアウト設計方法について説明する。
図23は、各実施形態における半導体集積回路のレイアウト設計方法(バルクパターンの初期配置方法)を概略的に示した図である。
半導体集積回路における初期レイアウト設計(バルクパターンの初期配置の設計)においては、フレーム内におけるバルクパターンの設定情報であるバルクパターンデータ231と、フレーム内に配置可能なバルクパターンを示すバルクパターン配置候補テーブル232とを参照し、バルクパターンの選択配置処理P31を行う。なお、バルクパターンデータ231及びバルクパターン配置候補テーブル232には、第2の実施形態等で示したような基本ブロックについて含ませても良い。
バルクパターンの選択配置処理P31では、フレーム内の所定領域毎に、バルクパターンデータ231に示される設定値に従って、バルクパターン配置候補テーブル232の中からバルクパターンを選択し、それを当該所定領域に対するバルクパターンとして設定し配置する。この処理P31により、図1、図10、図11に示したようなフレーム全体に(バルク層のバルク配置可能領域を敷き詰めるように)バルクパターンが配置されたバルクパターン設定済みフレームデータ233が得られる。
次に、各実施形態における半導体集積回路の初期レイアウト設計方法について詳細に説明する。
図24は、各実施形態における半導体集積回路の初期レイアウト設計方法を示すフローチャートである。
まず、ステップS31にて、フレーム内の各領域に配置するバルクパターンを示すバルクパターンデータ231(バルクパターンの設定値)が入力される。
次に、ステップS32にて、フレーム内の所定領域毎に、ステップS31において入力されたバルクパターンの設定値に対応するバルクパターンを選択し当該領域に設定し配置する。このバルクパターンの選択は、半導体集積回路に適用可能な、すなわちフレーム内に配置可能なバルクパターンが示されるバルクパターン配置候補テーブルを参照して行われる。
続いて、ステップS33にて、フレーム内にバルクパターン未配置の領域があるか否かを判断する。この判断の結果、バルクパターンが未配置の領域がある場合には、ステップS32に戻り、上述した処理を再び行う。
一方、ステップS33での判断の結果、バルクパターンが未配置の領域がない、すなわちバルク配置可能なフレーム内の全領域に対してバルクパターンの配置が完了した場合には、ステップS34にて、バルクパターン設定済みフレームデータを生成して出力し、処理を終了する。
(他の実施形態)
なお、上述した半導体集積回路のレイアウト設計方法に係る処理は、CPU又はMPU、RAM、ROMなどを有するコンピュータが、ROMに記憶されたプログラムを実行することで実現でき、上記プログラムは本発明の実施形態に含まれる。また、コンピュータが上記機能を果たすように動作させるプログラムを、例えばCD−ROMのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものであり、上記プログラムを記録した記録媒体は本発明の実施形態に含まれる。上記プログラムを記録する記録媒体としては、CD−ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。
また、コンピュータがプログラムを実行し処理を行うことにより、上記実施形態の機能が実現されるプログラムプロダクトは、本発明の実施形態に含まれる。上記プログラムプロダクトとしては、上記実施形態の機能を実現するプログラム自体、上記プログラムが読み込まれたコンピュータ、ネットワークを介して通信可能に接続されたコンピュータに上記プログラムを提供可能な送信装置、当該送信装置を備えるネットワークシステム等がある。
また、コンピュータが供給されたプログラムを実行することにより上記実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)又は他のアプリケーションソフト等と共同して上記実施形態の機能が実現される場合や、供給されたプログラムの処理の全て又は一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上記実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。また、本発明をネットワーク環境で利用するべく、全部又は一部のプログラムが他のコンピュータで実行されるようになっていても良い。
例えば、上述した本実施形態による半導体集積回路のレイアウト設計方法は、図9に示すようなコンピュータ機能900を用い、そのCPU901により実行可能である。
コンピュータ機能900は、図9に示すように、CPU901と、ROM902と、RAM903と、キーボード(KB)909のキーボードコントローラ(KBC)905と、表示部としてのCRTディスプレイ(CRT)910のCRTコントローラ(CRTC)906と、ハードディスク(HD)911及びフレキシブルディスク(FD)912のディスクコントローラ(DKC)907と、ネットワークインタフェースカード(NIC)908とが、システムバス904を介して互いに通信可能に接続された構成としている。
CPU901は、ROM902又はHD911に記憶されたソフトウェア(プログラム)、又はFD912より供給されるソフトウェア(プログラム)を実行することで、システムバス904に接続された各構成部を総括的に制御する。
すなわち、CPU901は、上述したような動作を行うための処理プログラムを、ROM902、HD911、又はFD912から読み出して実行することで、上記実施形態での動作を実現するための制御を行う。
RAM903は、CPU901の主メモリ又はワークエリア等として機能する。
KBC905は、KB909や図示していないポインティングデバイス等からの指示入力を制御する。CRTC906は、CRT910の表示を制御する。DKC907は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、及び上記実施形態における上記処理プログラム等を記憶するHD911及びFD912とのアクセスを制御する。NIC908はネットワーク913上の他の装置と双方向にデータをやりとりする。
また、上述した本発明の実施形態においては、第1、第5、及び第6の配線層PL1、PL5、PL6を固定配線層とし、第2、第3、及び第4の配線層PL2、PL3、PL4を可変配線層とした6層配線の半導体集積回路を一例として示しているが、これに限定されず、本発明は多層配線(配線層の数は任意)の半導体集積回路に適用可能であるとともに、少なくとも1層の可変配線層を有していれば、可変配線層及び固定配線層については任意である。また、上述したように固定配線及び可変配線は、配線層に形成される配線のみ、あるいは配線層間に設けるビアのみにより実現するようにしても良いし、配線層に形成される配線と配線層間に設けるビアとの組合せにより実現するようにしても良い。
また、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
(付記1)マスタースライス方式の半導体集積回路であって、
所定の回路機能を実現するための複数のバルクパターンが形成されるバルク層と、
上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層とを含む複数の配線層とを有し、
上記バルク層にて上記バルクパターンが形成可能なチップ面全体に、選択された固定の上記複数のバルクパターンを予め配置したことを特徴とする半導体集積回路。
(付記2)さらに、所定の配線パターンを上記複数の配線層の中の一部の配線層に予め形成したことを特徴とする付記1記載の半導体集積回路。
(付記3)上記所定の配線パターンは、クロック信号を供給するための配線パターン、上記バルクパターンにより構成されるテスト回路用の配線パターン、及び電源供給用の配線パターンの少なくとも1つを含むことを特徴とする付記2記載の半導体集積回路。
(付記4)上記バルクパターンを複数任意に組合せて構成された基本ブロックを単位として、上記複数のバルクパターンを配置したことを特徴とする付記1記載の半導体集積回路。
(付記5)上記選択された固定の複数のバルクパターンを組合せて基本ブロックを構成し、複数の当該基本ブロックをチップ面所定領域内に予め配置したことを特徴とする付記1記載の半導体集積回路。
(付記6)上記所定領域は、上記選択された固定の複数のバルクパターンを形成可能な上記チップ面全体の領域から、ユーザによる使用を禁止したバルクパターンが配置される領域を除いた領域であることを特徴とする付記5記載の半導体集積回路。
(付記7)上記ユーザによる使用を禁止したバルクパターンが配置される領域は、外部インタフェースに係るバルクパターン及びクロック制御に係るバルクパターンが配置される領域であることを特徴とする付記6記載の半導体集積回路。
(付記8)上記基本ブロックを構成するバルクパターンの組合せが互いに異なる複数種類の基本ブロックを配置したことを特徴とする付記5記載の半導体集積回路。
(付記9)予め用意した上記基本ブロックをN個(Nは任意の自然数)用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、配置された任意の基本ブロックに割り当てることで当該回路機能を実現可能な付記5記載の半導体集積回路。
(付記10)上記レイアウト設計済みライブラリは、上記バルクパターンの配置情報及び配線情報を含むことを特徴とする付記9記載の半導体集積回路。
(付記11)テスト回路の機能を実現するための上記バルクパターンの配置情報及び配線情報を含むレイアウト設計済みライブラリを用い、当該ライブラリを適用することで上記テスト回路の機能を実現する付記1記載の半導体集積回路。
(付記12)上記配線情報に示される配線パターンの一部はユーザによる変更が可能であることを特徴とする付記11記載の半導体集積回路。
(付記13)上記テスト回路は、IEEE1149.1規格に準拠したテストを実行する回路であることを特徴とする付記11記載の半導体集積回路。
(付記14)上記テスト回路は、2つのテストアクセスポートコントローラを接続可能であるとともに、使用する上記テストアクセスポートコントローラを切り換えるマルチプレクサを有することを特徴とする付記13記載の半導体集積回路。
(付記15)所定の回路機能を実現するための複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
予め用意した上記バルク層に配置可能なバルクパターンの中から、配置すべきバルクパターンが示された設定情報に応じたバルクパターンを選択して上記バルク層に配置するバルクパターン初期配置ステップを有することを特徴とする半導体集積回路のレイアウト設計方法。
(付記16)所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層とを含む複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
予め用意した上記バルクパターン毎に対応する複数の配線パターンの中から初期値として設定された配線パターンを、配置されている上記バルクパターンに対する初期配線パターンとして設定する初期配線設定ステップを有し、
上記初期値は、配線パターンを一意に決定可能な識別情報を用いて設定することを特徴とする半導体集積回路のレイアウト設計方法。
(付記17)上記識別情報は、上記配線パターン毎に異なる上記各配線パターンに付された符号であることを特徴とする付記16記載の半導体集積回路のレイアウト設計方法。
(付記18)上記初期配線設定ステップにて初期配線パターンを設定した後、上記バルクパターンにより所望の回路機能を実現させるための上記配線パターンの識別情報を設定する配線パターン指定ステップと、
上記配線パターン指定ステップにて設定された上記配線パターンの識別情報に基づいて、上記バルクパターンに対する配線パターンを差し替え設定する配線パターン変更ステップとを有することを特徴とする付記17記載の半導体集積回路のレイアウト設計方法。
(付記19)上記配線パターン指定ステップにて、上記配線パターンを差し替える上記バルクパターンに係る上記配線パターンの識別情報のみを設定することを特徴とする付記18記載の半導体集積回路のレイアウト設計方法。
(付記20)上記配線パターン指定ステップにて、すべての上記バルクパターンに係る上記配線パターンの識別情報を設定することを特徴とする付記18記載の半導体集積回路のレイアウト設計方法。
(付記21)上記配線パターン変更ステップにより、上記配線パターンを差し替えられ未使用となる上記バルクパターンに係る配線パターンを削除することを特徴とする付記18記載の半導体集積回路のレイアウト設計方法。
(付記22)上記配線パターン変更ステップにて、上記バルクパターンを異なる論理機能で動作させるために上記配線パターンを差し替えることを特徴とする付記18記載の半導体集積回路のレイアウト設計方法。
(付記23)所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層された複数の配線層とを有し、かつ上記バルク層にて上記バルクパターンが形成可能な領域の所定領域内に上記複数のバルクパターンを組合せて構成した基本ブロックが複数配置されたマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
予め用意した上記基本ブロックをN個(Nは任意の自然数)用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、当該回路機能を実現する基本ブロックに割り当てる第1の設計ステップを有することを特徴とする半導体集積回路のレイアウト設計方法。
(付記24)上記所定領域は、上記選択された固定の複数のバルクパターンを形成可能な上記チップ面全体の領域から、ユーザによる使用を禁止したバルクパターンが配置される領域を除いた領域であることを特徴とする付記23記載の半導体集積回路のレイアウト設計方法。
(付記25)上記ユーザによる使用を禁止したバルクパターンが配置される領域は、外部インタフェースに係るバルクパターン及びクロック制御に係るバルクパターンが配置される領域であることを特徴とする付記24記載の半導体集積回路のレイアウト設計方法。
(付記26)上記基本ブロックに割り当てる上記レイアウト設計済みライブラリを設定するライブラリ設定ステップをさらに有し、
上記第1の設計ステップでは、上記ライブラリ設定ステップでの設定に従って、上記レイアウト設計済みライブラリを指定された上記基本ブロックに割り当てることを特徴とする付記23記載の半導体集積回路のレイアウト設計方法。
(付記27)上記第1の設計ステップは、
上記ライブラリ設定ステップでの設定に従って、上記レイアウト設計済みライブラリを選択する選択ステップと、
上記選択ステップにて選択した上記レイアウト設計済みライブラリを、指定された基本ブロックに割り当てる割当ステップとを有することを特徴とする付記26記載の半導体集積回路のレイアウト設計方法。
(付記28)上記レイアウト設計済みライブラリは上記バルクパターンの配置情報及び配線情報を有し、
上記割当ステップでは、上記バルクパターンの配置情報及び配線情報、又は上記バルクパターンの配置情報のみを、指定された基本ブロックに反映させることを特徴とする付記27記載の半導体集積回路のレイアウト設計方法。
(付記29)上記第1の設計ステップにて、上記レイアウト設計済みライブラリを上記基本ブロックに割り当てた後、未使用のバルクパターンを用いて任意の回路機能を実現させるためのユーザレイアウトを行う第2の設計ステップをさらに有することを特徴とする付記23記載の半導体集積回路のレイアウト設計方法。
(付記30)上記第2の設計ステップでは、上記未使用のバルクパターンに対して上記任意の回路機能を実現させるための配線パターンを設定することを特徴とする付記29記載の半導体集積回路のレイアウト設計方法。
(付記31)所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層された複数の配線層とを有し、かつ上記バルク層にて上記バルクパターンが形成可能な領域の所定領域内に上記複数のバルクパターンを組合せて構成した基本ブロックが複数配置されたマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
予め用意した上記基本ブロックをN個(Nは任意の自然数)用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、当該半導体集積回路の任意の基本ブロックに割り当てることで設計を完了させることを特徴とする半導体集積回路のレイアウト設計方法。
(付記32)所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
テスト回路の機能を実現するための上記バルクパターンの配置情報及び配線情報を含むレイアウト設計済みライブラリを上記バルク層及び配線層に適用するテスト回路設計ステップを有することを特徴とする半導体集積回路のレイアウト設計方法。
(付記33)上記配線情報に示される配線パターンの一部はユーザによる変更が可能であることを特徴とする付記32記載の半導体集積回路のレイアウト設計方法。
(付記34)所定の回路機能を実現するための複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
予め用意した上記バルク層に配置可能なバルクパターンの中から、配置すべきバルクパターンが示された設定情報に応じたバルクパターンを選択して上記バルク層に配置するバルクパターン初期配置ステップをコンピュータに実行させるためのプログラム。
(付記35)所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層とを含む複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
予め用意した上記バルクパターン毎に対応する複数の配線パターンの中から、初期値として配線パターンを一意に決定可能な識別情報を用いて設定された配線パターンを、配置されている上記バルクパターンに対する初期配線パターンとして設定する初期配線設定ステップをコンピュータに実行させるためのプログラム。
(付記36)上記初期配線設定ステップにて初期配線パターンを設定した後、上記バルクパターンにより所望の回路機能を実現させるための上記配線パターンの識別情報を設定する配線パターン指定ステップと、
上記配線パターン指定ステップにて設定された上記配線パターンの識別情報に基づいて、上記バルクパターンに対する配線パターンを差し替え設定する配線パターン変更ステップとをコンピュータに実行させるための付記35記載のプログラム。
(付記37)所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層された複数の配線層とを有し、かつ上記バルク層にて上記バルクパターンが形成可能な領域の所定領域内に上記複数のバルクパターンを組合せて構成した基本ブロックが複数配置されたマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
予め用意した上記基本ブロックをN個(Nは任意の自然数)用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、当該回路機能を実現する基本ブロックに割り当てる第1の設計ステップをコンピュータに実行させるためのプログラム。
(付記38)上記第1の設計ステップにて、上記レイアウト設計済みライブラリを上記基本ブロックに割り当てた後、さらに、未使用のバルクパターンを用いて任意の回路機能を実現させるためのユーザレイアウトを行う第2の設計ステップをコンピュータに実行させるための付記37記載のプログラム。
(付記39)所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
テスト回路の機能を実現するための上記バルクパターンの配置情報及び配線情報を含むレイアウト設計済みライブラリを上記バルク層及び配線層に適用するテスト回路設計ステップをコンピュータに実行させるためのプログラム。
本発明の第1の実施形態による半導体集積回路の構成例を示す図である。 第1の実施形態による半導体集積回路の構成例を示す断面図である。 バルクパターン上に形成される配線(配線パターン)を説明するための図である。 配線パターンを説明するための図である。 第1の実施形態による半導体集積回路の具体的な構成例を示す図である。 第1の実施形態による半導体集積回路の具体的な構成例を示す図である。 第1の実施形態における半導体集積回路のレイアウト設計方法を概略的に示す図である。 第1の実施形態における半導体集積回路のレイアウト設計方法を示すフローチャートである。 本発明の実施形態における半導体集積回路のレイアウト設計方法を実行可能なコンピュータ機能を示す図である。 第1の実施形態による半導体集積回路の他の構成例を示す図である。 本発明の第2の実施形態による半導体集積回路の構成例を示す図である。 ファームマクロの一例を示す図である。 第2の実施形態による半導体集積回路の具体的な構成例を示す図である。 第2の実施形態における半導体集積回路のレイアウト設計方法を概略的に示した図である。 第2の実施形態における半導体集積回路のレイアウト設計方法を示すフローチャートである。 第2の実施形態による半導体集積回路の他の構成例を示す図である。 第2の実施形態における半導体集積回路の他のレイアウト設計方法を概略的に示す図である。 本発明の第3の実施形態による半導体集積回路の特徴を示す回路構成図である。 第3の実施形態における半導体集積回路の回路変更例を示す図である。 第3の実施形態における半導体集積回路の他の回路変更例を示す図である。 第3の実施形態における半導体集積回路のその他の回路変更例を示す図である。 第3の実施形態における半導体集積回路の回路実装の一例を示す図である。 各実施形態における半導体集積回路でのバルクパターンの初期配置に係るレイアウト設計方法を概略的に示す図である。 各実施形態における半導体集積回路でのバルクパターンの初期配置に係るレイアウト設計方法を示すフローチャートである。
符号の説明
1 半導体チップ(フレーム)
B1〜B5 バルクパターン
BL バルク層
PL1〜PL5 配線層
BLK、BLK1、BLK2 基本ブロック
FM1〜FM4 ファームマクロ
192 マルチプレクサ
193、194、195、196 テストアクセスポート(TAP)

Claims (20)

  1. マスタースライス方式の半導体集積回路であって、
    所定の回路機能を実現するための複数のバルクパターンが形成されるバルク層と、
    上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層とを含む複数の配線層とを有し、
    上記バルク層にて上記バルクパターンが形成可能なチップ面全体に、選択された固定の上記複数のバルクパターンを予め配置したことを特徴とする半導体集積回路。
  2. さらに、所定の配線パターンを上記複数の配線層の中の一部の配線層に予め形成したことを特徴とする請求項1記載の半導体集積回路。
  3. 上記選択された固定の複数のバルクパターンを組合せて基本ブロックを構成し、複数の当該基本ブロックをチップ面所定領域内に予め配置したことを特徴とする請求項1記載の半導体集積回路。
  4. 上記所定領域は、上記選択された固定の複数のバルクパターンを形成可能な上記チップ面全体の領域から、ユーザによる使用を禁止したバルクパターンが配置される領域を除いた領域であることを特徴とする請求項3記載の半導体集積回路。
  5. 上記基本ブロックを構成するバルクパターンの組合せが互いに異なる複数種類の基本ブロックを配置したことを特徴とする請求項3記載の半導体集積回路。
  6. 予め用意した上記基本ブロックをN個(Nは任意の自然数)用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、配置された任意の基本ブロックに割り当てることで当該回路機能を実現可能な請求項3記載の半導体集積回路。
  7. テスト回路の機能を実現するための上記バルクパターンの配置情報及び配線情報を含むレイアウト設計済みライブラリを用い、当該ライブラリを適用することで上記テスト回路の機能を実現する請求項1記載の半導体集積回路。
  8. 所定の回路機能を実現するための複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
    予め用意した上記バルク層に配置可能なバルクパターンの中から、配置すべきバルクパターンが示された設定情報に応じたバルクパターンを選択して上記バルク層に配置するバルクパターン初期配置ステップを有することを特徴とする半導体集積回路のレイアウト設計方法。
  9. 所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層とを含む複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
    予め用意した上記バルクパターン毎に対応する複数の配線パターンの中から初期値として設定された配線パターンを、配置されている上記バルクパターンに対する初期配線パターンとして設定する初期配線設定ステップを有し、
    上記初期値は、配線パターンを一意に決定可能な識別情報を用いて設定することを特徴とする半導体集積回路のレイアウト設計方法。
  10. 上記識別情報は、上記配線パターン毎に異なる上記各配線パターンに付された符号であることを特徴とする請求項9記載の半導体集積回路のレイアウト設計方法。
  11. 上記初期配線設定ステップにて初期配線パターンを設定した後、上記バルクパターンにより所望の回路機能を実現させるための上記配線パターンの識別情報を設定する配線パターン指定ステップと、
    上記配線パターン指定ステップにて設定された上記配線パターンの識別情報に基づいて、上記バルクパターンに対する配線パターンを差し替え設定する配線パターン変更ステップとを有することを特徴とする請求項10記載の半導体集積回路のレイアウト設計方法。
  12. 所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層された複数の配線層とを有し、かつ上記バルク層にて上記バルクパターンが形成可能な領域の所定領域内に上記複数のバルクパターンを組合せて構成した基本ブロックが複数配置されたマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
    予め用意した上記基本ブロックをN個(Nは任意の自然数)用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、当該回路機能を実現する基本ブロックに割り当てる第1の設計ステップを有することを特徴とする半導体集積回路のレイアウト設計方法。
  13. 上記基本ブロックに割り当てる上記レイアウト設計済みライブラリを設定するライブラリ設定ステップをさらに有し、
    上記第1の設計ステップでは、上記ライブラリ設定ステップでの設定に従って、上記レイアウト設計済みライブラリを指定された上記基本ブロックに割り当てることを特徴とする請求項12記載の半導体集積回路のレイアウト設計方法。
  14. 所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層された複数の配線層とを有し、かつ上記バルク層にて上記バルクパターンが形成可能な領域の所定領域内に上記複数のバルクパターンを組合せて構成した基本ブロックが複数配置されたマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
    予め用意した上記基本ブロックをN個(Nは任意の自然数)用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、当該半導体集積回路の任意の基本ブロックに割り当てることで設計を完了させることを特徴とする半導体集積回路のレイアウト設計方法。
  15. 所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法であって、
    テスト回路の機能を実現するための上記バルクパターンの配置情報及び配線情報を含むレイアウト設計済みライブラリを上記バルク層及び配線層に適用するテスト回路設計ステップを有することを特徴とする半導体集積回路のレイアウト設計方法。
  16. 所定の回路機能を実現するための複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
    予め用意した上記バルク層に配置可能なバルクパターンの中から、配置すべきバルクパターンが示された設定情報に応じたバルクパターンを選択して上記バルク層に配置するバルクパターン初期配置ステップをコンピュータに実行させるためのプログラム。
  17. 所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層され、ユーザによる配線パターンの変更が可能な可変配線層とユーザによる配線パターンの変更が不可な固定配線層とを含む複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
    予め用意した上記バルクパターン毎に対応する複数の配線パターンの中から、初期値として配線パターンを一意に決定可能な識別情報を用いて設定された配線パターンを、配置されている上記バルクパターンに対する初期配線パターンとして設定する初期配線設定ステップをコンピュータに実行させるためのプログラム。
  18. 上記初期配線設定ステップにて初期配線パターンを設定した後、上記バルクパターンにより所望の回路機能を実現させるための上記配線パターンの識別情報を設定する配線パターン指定ステップと、
    上記配線パターン指定ステップにて設定された上記配線パターンの識別情報に基づいて、上記バルクパターンに対する配線パターンを差し替え設定する配線パターン変更ステップとをコンピュータに実行させるための請求項17記載のプログラム。
  19. 所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されたバルク層と、上記バルク層上に順次積層された複数の配線層とを有し、かつ上記バルク層にて上記バルクパターンが形成可能な領域の所定領域内に上記複数のバルクパターンを組合せて構成した基本ブロックが複数配置されたマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
    予め用意した上記基本ブロックをN個(Nは任意の自然数)用いて所定の回路機能を実現させるレイアウト設計済みライブラリを、当該回路機能を実現する基本ブロックに割り当てる第1の設計ステップをコンピュータに実行させるためのプログラム。
  20. 所定の回路機能を実現するために選択された固定の複数のバルクパターンが配置されるバルク層と、上記バルク層上に順次積層される複数の配線層とを有するマスタースライス方式の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであって、
    テスト回路の機能を実現するための上記バルクパターンの配置情報及び配線情報を含むレイアウト設計済みライブラリを上記バルク層及び配線層に適用するテスト回路設計ステップをコンピュータに実行させるためのプログラム。
JP2005061442A 2004-04-19 2005-03-04 半導体集積回路及びその設計方法 Pending JP2006156929A (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2005061442A JP2006156929A (ja) 2004-04-19 2005-03-04 半導体集積回路及びその設計方法
US11/108,676 US7562329B2 (en) 2004-04-19 2005-04-19 Master-slice-type semiconductor integrated circuit having a bulk layer and a plurality of wiring layers and a design method therefor
EP09157971A EP2079109A3 (en) 2004-11-05 2005-06-03 Design method for semiconductor integrated circuit
EP05253415A EP1655779A3 (en) 2004-11-05 2005-06-03 Semiconductor integrated circuit and design method therefor
TW094118559A TWI303481B (en) 2004-11-05 2005-06-06 Semiconductor integrated circuit and design method therefor
CN2005100799227A CN1770448B (zh) 2004-11-05 2005-06-27 半导体集成电路和其设计方法
KR1020050058649A KR100869087B1 (ko) 2004-11-05 2005-06-30 반도체 집적 회로 및 그 설계 방법
KR1020080000169A KR20080009166A (ko) 2004-11-05 2008-01-02 반도체 집적 회로 및 그 설계 방법

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004123320 2004-04-19
JP2004322730 2004-11-05
JP2005061442A JP2006156929A (ja) 2004-04-19 2005-03-04 半導体集積回路及びその設計方法

Publications (1)

Publication Number Publication Date
JP2006156929A true JP2006156929A (ja) 2006-06-15

Family

ID=35456390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005061442A Pending JP2006156929A (ja) 2004-04-19 2005-03-04 半導体集積回路及びその設計方法

Country Status (2)

Country Link
US (1) US7562329B2 (ja)
JP (1) JP2006156929A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310792A (ja) * 2007-05-11 2008-12-25 Nec Electronics Corp テスト回路
JP2011210189A (ja) * 2010-03-30 2011-10-20 Fujitsu Semiconductor Ltd 半導体装置の設計方法、プログラム、及び設計支援装置
JP2012505599A (ja) * 2008-10-09 2012-03-01 アルテラ コーポレイション 発振回路内で構成要素を接続するオプションコンダクタを提供する技術
JP2015502660A (ja) * 2011-11-22 2015-01-22 マーベル ワールド トレード リミテッド システムオンチップ内のメモリ回路および論理回路のレイアウト

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478355B2 (en) * 2004-05-21 2009-01-13 United Microelectronics Corp. Input/output circuits with programmable option and related method
US7310794B1 (en) * 2005-04-21 2007-12-18 Xilinx, Inc. Backward compatible PLDs
JP4786287B2 (ja) * 2005-10-11 2011-10-05 ルネサスエレクトロニクス株式会社 半導体集積回路の配線構造及び半導体集積回路の配線方法
US8166429B1 (en) 2008-10-17 2012-04-24 Altera Corporation Multi-layer distributed network
JP2012033094A (ja) * 2010-08-02 2012-02-16 Fujitsu Ltd 設計支援装置、制御方法および制御プログラム
WO2014056201A1 (en) 2012-10-12 2014-04-17 Mediatek Inc. Layout module for printed circuit board
US9256245B2 (en) * 2014-04-02 2016-02-09 Mediatek Inc. Clock tree circuit and memory controller
KR102415952B1 (ko) 2015-07-30 2022-07-05 삼성전자주식회사 반도체 소자의 레이아웃 설계 방법, 및 그를 이용한 반도체 소자의 제조 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0230163A (ja) * 1988-07-20 1990-01-31 Fujitsu Ltd マスタスライス型半導体集積回路装置およびその製造方法
JPH09129738A (ja) * 1995-10-30 1997-05-16 Hitachi Ltd 配線配置設計方法
JP2004179417A (ja) * 2002-11-27 2004-06-24 Nec Electronics Corp マスタースライス集積回路

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR890004568B1 (ko) * 1983-07-09 1989-11-15 후지쑤가부시끼가이샤 마스터슬라이스형 반도체장치
JPS6114734A (ja) * 1984-06-29 1986-01-22 Fujitsu Ltd 半導体集積回路装置及びその製造方法
JPS6124250A (ja) 1984-07-13 1986-02-01 Nippon Gakki Seizo Kk 半導体集積回路装置
EP0650196A2 (en) 1988-04-22 1995-04-26 Fujitsu Limited Semiconductor integrated circuit device and method of producing the same using master slice approach
US5224057A (en) 1989-02-28 1993-06-29 Kabushiki Kaisha Toshiba Arrangement method for logic cells in semiconductor IC device
US5206529A (en) 1989-09-25 1993-04-27 Nec Corporation Semiconductor integrated circuit device
US5459340A (en) * 1989-10-03 1995-10-17 Trw Inc. Adaptive configurable gate array
JPH0743742B2 (ja) 1990-09-12 1995-05-15 株式会社日立製作所 自動配線方法
JP3076410B2 (ja) 1991-07-08 2000-08-14 株式会社東芝 半導体集積回路の設計方法
US5691218A (en) 1993-07-01 1997-11-25 Lsi Logic Corporation Method of fabricating a programmable polysilicon gate array base cell structure
US5796129A (en) 1993-08-03 1998-08-18 Seiko Epson Corp. Master slice type integrated circuit system having block areas optimized based on function
JPH07249748A (ja) * 1994-03-14 1995-09-26 Fujitsu Ltd マスタースライス型lsiの設計装置
US5723883A (en) 1995-11-14 1998-03-03 In-Chip Gate array cell architecture and routing scheme
JP3260622B2 (ja) 1996-04-15 2002-02-25 株式会社東芝 半導体装置の製造方法
JP2828026B2 (ja) 1996-04-25 1998-11-25 日本電気株式会社 自動配線方法
JP2885213B2 (ja) 1997-01-23 1999-04-19 日本電気株式会社 半導体集積回路
WO2000005764A1 (fr) 1998-07-23 2000-02-03 Seiko Epson Corporation Circuit integre a semiconducteur avec integration sur la plaquette et procede de conception correspondant
JP3420089B2 (ja) 1998-11-04 2003-06-23 Necエレクトロニクス株式会社 電子デバイス並びに半導体装置、及び電極形成方法
JP3313668B2 (ja) 1999-07-07 2002-08-12 エヌイーシーマイクロシステム株式会社 データ処理装置、情報記憶媒体
JP2001110903A (ja) 1999-10-13 2001-04-20 Matsushita Electric Ind Co Ltd 集積回路のレイアウト構造、並びにcmos回路のレイアウト設計方法および設計装置
JP3744825B2 (ja) * 2000-09-08 2006-02-15 セイコーエプソン株式会社 半導体装置
JP3621354B2 (ja) 2001-04-04 2005-02-16 Necエレクトロニクス株式会社 半導体集積回路の配線方法及び構造
KR100448706B1 (ko) 2002-07-23 2004-09-13 삼성전자주식회사 단일 칩 시스템 및 이 시스템의 테스트/디버그 방법
US7053424B2 (en) 2002-10-31 2006-05-30 Yamaha Corporation Semiconductor integrated circuit device and its manufacture using automatic layout

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0230163A (ja) * 1988-07-20 1990-01-31 Fujitsu Ltd マスタスライス型半導体集積回路装置およびその製造方法
JPH09129738A (ja) * 1995-10-30 1997-05-16 Hitachi Ltd 配線配置設計方法
JP2004179417A (ja) * 2002-11-27 2004-06-24 Nec Electronics Corp マスタースライス集積回路

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310792A (ja) * 2007-05-11 2008-12-25 Nec Electronics Corp テスト回路
JP2012505599A (ja) * 2008-10-09 2012-03-01 アルテラ コーポレイション 発振回路内で構成要素を接続するオプションコンダクタを提供する技術
JP2013102456A (ja) * 2008-10-09 2013-05-23 Altera Corp 発振回路内で構成要素を接続するオプションコンダクタを提供する技術
JP2011210189A (ja) * 2010-03-30 2011-10-20 Fujitsu Semiconductor Ltd 半導体装置の設計方法、プログラム、及び設計支援装置
JP2015502660A (ja) * 2011-11-22 2015-01-22 マーベル ワールド トレード リミテッド システムオンチップ内のメモリ回路および論理回路のレイアウト

Also Published As

Publication number Publication date
US7562329B2 (en) 2009-07-14
US20050235239A1 (en) 2005-10-20

Similar Documents

Publication Publication Date Title
JP2006156929A (ja) 半導体集積回路及びその設計方法
US11625522B2 (en) Method and apparatus for generating three-dimensional integrated circuit design
TWI794255B (zh) 積體電路設計及(或)製造
US20230153508A1 (en) Cell layout of semiconductor device
US7219324B1 (en) Various methods and apparatuses to route multiple power rails to a cell
US20180261590A1 (en) Integrated circuit and computer-implemented method of manufacturing the same
KR100869087B1 (ko) 반도체 집적 회로 및 그 설계 방법
CN105742280A (zh) 用于多核芯片的集成电路布局配线
US8397190B2 (en) Method for manipulating and repartitioning a hierarchical integrated circuit design
CN111742319B (zh) 在多芯片集成电路器件中选择布线资源的方法
KR102527749B1 (ko) 3d 집적 회로용 폴딩 블록들 및 복제 핀들을 갖는 지적 재산 블록 설계
US8312405B1 (en) Method of placing input/output blocks on an integrated circuit device
US6941540B2 (en) Design method for gate array integrated circuit
US9760669B2 (en) Congestion mitigation by wire ordering
CN110034107B (zh) 半导体装置、设计其版图的方法以及其制造方法
CN111027274B (zh) 一种三维芯片布局的方法
US7954077B2 (en) Integrated circuit design utilizing array of functionally interchangeable dynamic logic cells
JP4248925B2 (ja) 自動フロアプラン決定方法
US11182527B2 (en) Cell placement site optimization
JP4751581B2 (ja) 半導体集積回路の設計方法及びプログラム
Mo et al. Fishbone: a block-level placement and routing scheme
US7216323B2 (en) Process for designing base platforms for IC design to permit resource recovery and flexible macro placement, base platform for ICs, and process of creating ICs
Tomioka et al. A semi-monotonic routing method for fanin type Ball Grid Array packages

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080125

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110920