JPH05136262A - 集積回路構成およびその構成方法 - Google Patents

集積回路構成およびその構成方法

Info

Publication number
JPH05136262A
JPH05136262A JP3308337A JP30833791A JPH05136262A JP H05136262 A JPH05136262 A JP H05136262A JP 3308337 A JP3308337 A JP 3308337A JP 30833791 A JP30833791 A JP 30833791A JP H05136262 A JPH05136262 A JP H05136262A
Authority
JP
Japan
Prior art keywords
flip
flop
circuit
buffer
flops
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.)
Granted
Application number
JP3308337A
Other languages
English (en)
Other versions
JP2572322B2 (ja
Inventor
Stefan Rusu
ステフアン・ルス
Joseph S Yang
ジヨウゼフ・サンラム・ヤング
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH05136262A publication Critical patent/JPH05136262A/ja
Application granted granted Critical
Publication of JP2572322B2 publication Critical patent/JP2572322B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits
    • H01L27/0207Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318583Design for test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

(57)【要約】 【目的】 集積回路において、これを構成するフリップ
フロップ回路の配置を最適にした集積回路構成とその方
法の提供。 【構成】 複数のフリップフロップ回路と、複数のバッ
ファと、フリップフロップ回路がそれらのフリップフロ
ップ回路へ信号を送り出すために接続できるバッファと
共に列を成して配列されている複数の組合わせ回路素子
とを含み、フリップフロップ回路は、フリップフロップ
回路の幅を横断するべく定められた大域信号を搬送する
と共に、隣接するフリップフロップ回路の入力端子及び
出力端子に整合するような入力端子及び出力端子を形成
するように設計された導線を有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータ回路のレイ
アウトに関し、特に、より有効なコンピュータ回路のレ
イアウト設計を自動化し且つ提供する方法及び装置に関
する。
【0002】
【従来の技術】コンピュータ回路を設計し、開発し、試
験するのはコンピュータ回路設計者である。設計が完了
したならば、何らかの種類のレイアウトグラフィックス
エディタを介して回路をレイアウトしなければならな
い。一般的に、このレイアウトは、レイアウトを生成す
るために回路設計者により提供される標準回路素子ライ
ブラリと、概略図とを使用するソフトウェアツールによ
り実行される。通常、このレイアウトは回路素子間の接
続を全体として最短にするように設計される。この種の
ツールは配置・ルーティングツールとして参照される。
典型的なツールは、Cadence.Place an
d Route Reference Mauual
2.0版(1988年6月22日刊)に記載されている
Cadence Design Systems,In
c.製造の「Place and Route」であ
る。この種の別のツールはSilver−Lisco
(カリフォルニア州・メンロパーク)製造の「CAL−
MP」である。
【0003】レイアウトの利用可能領域と、その領域に
配置すべき回路概略図はツールに入力として供給され
る。ツールは標準回路セルのライブラリを使用して、回
路図に示されている回路素子を配置すると共に、回路図
に従ってそれらの素子を接続する。通常、そのようなツ
ールは、組合わせ回路素子(ゲート)の中に順次回路素
子(フリップフロップ及びラッチ)が点在しているよう
な回路レイアウトを発生する。レイアウトを発生し後に
は、いくつかの設計要素を追加しなければならない。た
とえば、レイアウトが出来上がるまで、様々な素子を接
続する金属部の長さはわからない。また、その長さがわ
かって初めて、回路素子を駆動するバッファを確定でき
るのである。本質的には、全ての経路と、金属部の長さ
とを計算した後に、まず、レイアウトを描くためにツー
ルを使用し、次にバッファを個々に設計することが必要
である。これには非常に長い時間を要し、従って、その
作業はコストのかかるものとなる。配置・ルーティング
ツールが発生する典型的なレイアウトの場合、たとえ
ば、個々のバッファが発生しなければならない増幅の程
度を確定するために、個々の金属導線の長さを計算しな
ければならないので、この作業は非常に困難である。そ
のため、フリップフロップなどの順次素子へ信号を送り
出すバッファの設計は難しくなる。
【0004】配置・ルーティングツールを使用する際に
起こるもう1つの問題は、回路の設計とレイアウトが終
了した後、その機能が正しいことを確認するために、回
路を試験しなければならないという点である。すなわ
ち、個々の素子とその相互接続部の保全性を確定するた
めの試験手順が必要なのである。そのような試験手順
は、チップの素子の間に追加の金属導線を接続すること
を要求する場合が多い。一般的に、配置・ルーティング
ツールは、試験手順又はその手順が要求する接続を全く
参照せずに、動作回路中で使用すべき、できる限り短い
相互接続線という考えに基づいて回路素子を配置してゆ
く。そこで、素子を配置した後に、設計者は元に戻っ
て、試験を実行するために必要な接続線を個々に描かな
ければならない。これも、また困難で時間及びコストの
かかる作業である。さらに、それは、試験に使用する金
属コネクタの長さを最短にさせるような作業ではない。
【0005】
【発明が解決しようとする課題】従って、本発明の目的
は、配置・ルーティングソフトウェアツールによってレ
イアウトが設計されるような集積回路構成において、回
路素子の配置を最適化する方法を提供することである。
【0006】本発明の別のさらに特定した目的は、動作
と試験の2つの目的について集積回路構成におけるフリ
ップフロップ回路の配置を最適化することである。
【0007】本発明の別の目的は、フリップフロップへ
大域信号を送り出すために利用されるコネクタを標準化
し且つその長さをできる限る短縮するような、集積回路
ブロックにおけるフリップフロップのレイアウトの最適
化を可能にすることである。
【0008】
【課題を解決するための手段】本発明の上記の目的及び
その他の目的は、複数のフリップフロップ回路と、複数
のバッファと、フリップフロップ回路がそれらのフリッ
プフロップ回路へ信号を送り出すために接続できるバッ
ファと共に列を成して連なって配列されている複数の組
合わせ回路素子とを具備し、フリップフロップ回路は、
フリップフロップ回路の幅を横断するべく定められた大
域信号を搬送すると共に、隣接するフリップフロップ回
路の入力端子及び出力端子に整合するような入力端子及
び出力端子を形成するように設計された導線を有する集
積回路構成において実現される。
【0009】本発明の上記の目的及びその他の目的、並
びに本発明の上記の特徴及びその他の特徴は、以下の詳
細な説明を図面と共に参照することによりさらに良く理
解されるであろう。尚、図面中、いくつかの図を通し
て、同じ図中符号は同じ素子を指す。
【0010】
【実施例】そこで、図1を参照すると、図1には、集積
回路ブロック10に組合わせ回路や、フリップフロップ
などの多数の回路素子をどのように配置するかが示され
ている。一般には集積回路の小型ブロックを配置・ルー
ティングツールを使用して互いに独立してレイアウト
し、次に、チップ全体を利用するさらに大きな集積回路
においてそれらのブロックを組合わせる。図には、それ
ぞれのセルを単に小さな方形として示してある。そのよ
うな多数の矩形は、図示するように、4つの水平の列1
1〜14に互いに隣接して、ブロックのレイアウトを成
して位置するように配置されている。通常、1つの回路
ブロックを構成する矩形セルは、それぞれ、それと同じ
列に現れるものと考えられる他のセルと同じ高さになる
ように設計される。各列11〜14は隣接する列と、ブ
ロックの縁部とからルーティングチャネルによって離間
している。ルーティングチャネルは、様々の回路セルの
間の接続をルーティングするブロックの領域である。
【0011】ブロック10には、回路セルを表わす矩形
の大きさが異なることからわかるように、多数の異なる
回路セルが示されているが、図1で指示してあるのはフ
リップフロップ回路(FF)15と、バッファ(B)と
を表わすセルのみである。その他の回路セルはANDゲ
ート,ORゲート,NORゲートなどの組合わせ素子で
ある。フリップフロップ回路15は様々な列11〜14
に明確な順序づけなしに点在していることが図1からわ
かるであろう。この点在は、(1)様々な回路素子のた
めに利用できるブロック10の領域と、(2) 回路構
成を描示する回路概略図とを規定するソフトウェアに対
する入力に応答して起こる。配置・ルーティングソフト
ウェアツールはこの情報を受取り、回路セルのライブラ
リを使用して、回路セルが表示通りに列の中にレイアウ
トされ、図示するように点在し、且つ様々な回路セルを
接合する金属コネクタの全長をできる限り短くするよう
に選択された態様でルーティングチャネルを介してコネ
クタにより接合されているマップを生成する。この種の
レイアウトを提供することにより、金属相互接続部によ
り与えられる総負荷は最小限に抑えられる。
【0012】このような回路セルの配置パターンからい
くつかの困難な問題が起こる。まず、第1に、いくつか
の回路セル、特にフリップフロップは全ていくつかの同
じ入力信号(大域信号)を使用する。全てのフリップフ
ロップは、たとえば、システムクロック信号に応答して
動作する。図1の回路では、ブロック10のどの箇所に
クロック信号が入力するとしても、各フリップフロップ
へクロック信号を搬送する金属コネクタ16の長さは異
なることがわかるであろう。最新のコンピュータには、
さらに高い動作周波数が使用されているので、コネクタ
に起因する容量性負荷と、クロック信号の緩衝の双方を
制御することにより、システムクロックを正確に制御す
ることが必要である。それぞれのフリップフロップにク
ロック信号を印加しなければならないので、回路設計ご
とに、回路セル及びその接続部をレイアウトするために
配置・ルーティングツールを使用したならば、さかのぼ
って、フリップフロップを駆動するためのクロック信号
を発生するのに必要なバッファの増幅を確定することが
必要である。このバッファを正確に確定しなければ、ク
ロックスキューは回路の動作に影響を与えるほどに大き
くなってしまうであろう。多くの場合、集積回路全体の
回路の大部分について単一のバッファを使用する。平生
は、バッファBを確定して、ブロック10に配置する。
【0013】図1の場合のようにフリップフロップが無
作為に位置している場合には、このようなバッファの増
幅を確定するのは非常に行うことが難しい。バッファ値
の推定値に達することができるようになるまでに、全て
の導線を個別に測定することは必要である。先に指摘し
た通り、これは長い時間を要し、費用もかかる。
【0014】典型的な配置・ルーティングツールが発生
するフリップフロップのこのような回路構成で起こる第
2の問題点は、使用前にフリップフロップを試験しなけ
ればならないということが原因となる。この試験は、ブ
ロック10の全てのフリップフロップを逐次順序で横切
ってゆく信号を走査することにより実行される。走査入
力が第1のフリップフロップに向かい、そのフリップフ
ロップからの走査出力が次のフリップフロップの走査入
力端子に向かい、その順序で次々に進んでゆく連鎖を成
して全てのフリップフロップが接続している限り、フリ
ップフロップの順序がどうであれ、差異はない。典型的
な走査試験用導線18を図1に示す。
【0015】現在、このようなフリップフロップの走査
連鎖は、通常、回路素子がブロック10上に配置・ルー
ティングツールにより、金属接続部を全体として最小に
する順序でレイアウトされた後、手動操作で構成され
る。その際には、走査試験のために使用すべき接続線を
描き、それらが集積回路の実際の製造を制御するプログ
ラムに入っていることを検分する。これも同じように長
い時間を要し、高いコストを要する。さらに、回路素子
は配置・ルーティングツールが確定した位置に既に存在
しているので、走査試験のために形成した金属接続部の
長さをできる限り短くするように最適化することは不可
能である。従って、このような走査試験回路の設計はさ
らに多くのコストを追加するばかりでなく、試験中の回
路への負荷を増加させる。回路の設計に際して走査導線
接続部を回路図の中にあらかじめ指定しておくことはで
きるが、そうなると、走査導線は、単に、配置・ルーテ
ィングツールがそれらを配置する場所に必ず配置される
ことになり、これは、ブロック上の金属の量を著しく増
加させるパターンである。
【0016】配置・ルーティングツールが提供する典型
的な構成は、多数の他の接続も難しくしている。回路構
成のそれぞれのフリップフロップはリセット信号、走査
イネーブル信号(回路を試験モードに入らせるための)
と、データイネーブル信号(回路に先行データを保持さ
せるための)とをさらに受信しなければならない。それ
らの信号は全てのフリップフロップについて同一でなく
とも良いが、特定のグループに属する全てのフリップフ
ロップについては同じである。従って、回路素子を配置
し、それらの導線をルーティングする従来の方法では、
これらの信号を送り出すために使用される導線の長さ
や、負荷がフリップフロップごとに異なるのは確実であ
る。このため、これらの信号を送り出すバッファを設け
且つこれらの信号のタイミングに影響を及ぼす負荷要因
を排除するために、確実により多くの作業が必要にな
る。
【0017】集積回路のレイアウトに必要である手作業
は本発明の方法と構成により相当に少なくなることがこ
れでわかった。図2は、本発明の方法に従って得られる
回路セルの配列を示す。この場合、ブロック20上の回
路構成に含まれる全てのフリップフロップは1対の列2
1及び22に互いに関連して配列しており、回路構成に
含まれる全ての組合わせ素子は別の2つの別個の列23
及び24に関連して配列している。各列にあるフリップ
フロップと関連して配置されているバッファ(B)は、
それらのフリップフロップへ入力信号を送り出すために
使用される。図示してあるこの特定の配列から、本発明
を採用して設計されるどのような特定の回路構成につい
ても、含まれるべき列は4つだけであると判断してはな
らない。この4という数は単なる1例として使用した数
である。
【0018】回路のフリップフロップをフリップフロッ
プと、バッファのみを含む列に配置することより、いく
つかの改善が得られる。まず、第1に、ブロック上のフ
リップフロップは組合わせ素子と同じ列に位置しなくな
っているので、それらの素子と同じ高さでなくとも良
く、同じレイアウトスタイルを使用していなくとも良
い。このため、フリップフロップをより高いレイアウト
密度を有するように設計することができる。また、導線
をフリップフロップセルの中にそれらのセルを横断すよ
うに設計すると共に、クロックなどの大域信号を全ての
フリップフロップへ搬送するための入力端子及び出力端
子を形成するように設計することも可能になる。標準形
フリップフロップが、そのフリップフロップと交差し且
つ内部でクロック信号を要求する位置に接続する導線を
有する場合、セルをブロック上の当接位置にレイアウト
したときに入力端子と出力端子が接合するように、入力
端子と出力端子を各フリップフロップに関して厳密に同
じ位置に配置しても良い。このように、クロック信号を
配置・ルーティングツールによってルーティングする必
要はなく、クロック信号は、単にフリップフロップを列
の中に並列させることによりルーティングされるので、
接続は自動的に成立することになる。
【0019】すなわち、クロック信号線における各フリ
ップフロップに対する負荷は全く同一であり、総負荷は
単にフリップフロップごとの既知の内部負荷を加算する
ことにより加算できるのである。これは、それらの値を
テーブルに記憶し、ツールがレイアウトを確定した後に
ツールに計算させることにより容易に実行されるであろ
う。ツールは負荷を計算し、標準セルのライブラリから
この値に整合するバッファを選択する。ツールはこのバ
ッファを、それが駆動すべきフリップフロップと共に列
の中に配置する。次に、ツールは選択したバッファに関
わる値と、列中のフリップフロップに対してなされた接
続の詳細を記憶して、それらを概略図に注釈として戻し
記入できるようにする。これにより、バッファがいずれ
かの列のフリップフロップへクロックを送り出すために
必要な値の計算に関連する煩雑な作業はなくなる。実際
には、バッファをツールにより各フリップフロップ列の
中に、外部ルーティングが不要になるように設計し且つ
配置しても良い。これ自体が回路設計における相当の労
力とコストを節約することになる。もう1つの利点は、
クロック信号線をルーティングするために利用されてい
たであろうルーティングチャネルの面積を節約すること
である。
【0020】同じように、各フリップフロップ(試験の
ための)への走査入力と、各フリップフロップからの走
査出力とを本質的に構成の中に設計できるであろう。1
つのフリップフロップの走査出力端子(実際にはそのデ
ータ出力端子)を同じ列の次のフリップフロップの走査
入力端子に配置することにより、走査試験のためにフリ
ップフロップを接合する金属導線は自動的に形成される
ようになるので、従来は走査回路の設計に伴って必要で
あった手作業は不要になり、この方法を採用しなければ
走査信号線をルーティングするのに必要になるルーティ
ングチャネルの面積の大半は節約できる。クロック回路
について追加されるバッファの場合と同じように、走査
信号線の接続とそれらの値を、概略図に戻して注釈とし
て記入するために、ツールにより記憶する。
【0021】クロック駆動回路と同じように、リセット
入力信号、走査イネーブル信号及びデータイネーブル信
号を供給するために必要な導線を、フリップフロップセ
ルを横切り且つセル内部の必要な端子と接触するように
フリップフロップセル中に設計しても良い。セルを通っ
てそれらの信号を搬送する導線における入力端子と出力
端子が整合している限り、導線の接続はフリップフロッ
プをブロック上に並列配置する以上の作業を伴わずに成
立する。さらに、クロック信号を搬送する導線の場合と
同様に、この構成では、セルを通る導線の長さは等し
く、それらの導線に関する負荷を容易に計算することが
できる。ツールは単純にフリップフロップの標準負荷値
を求めてルックアップテーブルを参照し、それらの値を
加算し、特定の大域信号に対してバッファを選択する。
これにより、それらの回路及びそのドライバの設計は非
常に容易になり、本発明の方法を採用しなければ大域信
号をルーティングするために必要な面積を節約できる。
【0022】各列のフリップフロップに大域信号ごとに
個別のバッファを配置することにより、フリップフロッ
プの列ごとに、クロックパルスについて等しい遅延、立
上がり時間及び立下がり時間を発生させるために金属導
線が適正に駆動されるように、クロック信号線及び他の
大域信号線を駆動するのに適する特定の特性をもつ個々
のバッファを容易に選択できるであろう。
【0023】図4は、これを実行する方法を指摘する構
成を示す。図からわかるように、主クロックはフリップ
フロップの列の左側にあるバス30を介して供給され
る。このクロックは、クロック信号線を駆動するための
正確な増幅を与えるように選択したバッファ32に導線
31により接続される。金属導線33はクロック信号を
バッファ32から各フリップフロップ列の他のバッファ
をそれぞれ介して、その列の個々のフリップフロップ3
5のうち第1のものへ搬送する。各導線33は各フリッ
プフロップに左端の標準位置で接続し、フリップフロッ
プの右端の標準位置から出るので、フリップフロップは
単純な突合わせによって接続する。入力信号を使用しな
い素子が存在するどのような位置においても(異なる大
域信号を駆動するバッファなど)、セルは単にその素子
の回路を介して信号を送り出す導線を伴って設計され
る。クロック信号を供給する導線は同一であるので、特
定のバッファに関わる値を容易に選択でき、レイアウト
を実行するのに要する設計時間は著しく短縮される。
【0024】先に指摘した通り、リセット信号、走査イ
ネーブル信号及びデータイネーブル信号をフリップフロ
ップに供給するために、入力バッファ(クロック信号に
使用したようなバッファ)の同様のレイアウトを行えば
良い。それらの信号線に供給される信号は関連するフリ
ップフロップの型によって幾分かは異なるであろうが、
同じ型のフリップフロップを一緒に列にまとめれば良
い。これにより、それらの大域信号のルーティングをク
ロック信号の場合と同じようにフリップフロップ自体の
内部で処理することができるので、多数の全く同じ接続
構成を設けても良く、回路レイアウトの設計に費やされ
る労力とコストは相当に減らされる。当然のことなが
ら、複数のフリップフロップ群が1つの列の中で始まっ
て、終わる状況では、セルの外側の、ルーティングチャ
ネルの中に向かう接続はツールのルーティングプログラ
ムにより行われる。ルーティングがわかったならば、ツ
ールはルーティングの済んだ信号線に関わる推定値を使
用し、それらの値をその特定のフリップフロップに関わ
るルックアップテーブルから取出した値を合計して、バ
ッファ値を確定し、バッファを配置する。同じように、
バッファの値と、様々なフリップフロップとの接続を、
ブロック10の概略図に戻して注釈として記入するため
に記憶する。
【0025】ブロックの同じ列に様々に異なる種類のフ
リップフロップが現れると予想される場合には、リセッ
ト信号や、それに類する大域信号を、それらの信号を使
用しないフリップフロップを経て信号を使用する異なる
種類のフリップフロップへ搬送する導線を、フリップフ
ロップ列の未使用のセルを介して走るコネクタの構成と
同じ方式で、各フリップフロップに配置すれば良い。そ
のような導線は異なるフリップフロップセルに接続する
ために異なる高さに位置していると考えられる。
【0026】図3は、本発明に従って設計した回路にお
いてフリップフロップの走査試験を実行するために必要
な回路コネクタの接続を示す。図からわかるように、走
査入力信号は導線40に到達し、第1の列にある第1の
フリップフロップの走査入力端子に印加される。その箇
所から第1の列を通して、各フリップフロップの走査出
力端子は並列している次のフリップフロップの走査入力
端子と整合し且つ対応するように設計されている。第1
の列の終端で、最後のフリップフロップからの走査出力
は金属導線42により直接にすぐ上の列の第1のフリッ
プフロップの走査入力端子へと転送される。この接続
は、フリップフロップの配置が終了した後に、ツールの
ルーティング部分により行われる。
【0027】走査信号線は、第1の列への接続点から第
2の列を通って続いている。第2の列の各フリップフロ
ップの走査出力端子は、並列している次のフリップフロ
ップの走査入力端子と整合し且つ対応するように設計さ
れる。第2の列の終端で、最後のフリップフロップから
の走査出力は金属導線44により直接にブロックの走査
出力端子へと転送される。この導線44も、フリップフ
ロップの列を通って走査信号線の接続が行われた後に、
ツールによってルーティングされる。走査信号線の配置
が完了したならば、それらの接続を概略図に戻して注釈
として記入できるように、先の場合と同じようにツール
により記憶する。図からわかるように、走査用導線は考
えられる限り短くされており、走査用導線の設計はほと
んど取上げるにたらないといえるほどの作業になってい
る。
【0028】本発明を実現するために、まず、回路で使
用すべき様々なフリップフロップの種類を決定する。次
に、その種類ごとに標準セルを設計する。標準セルは、
大域信号を搬送するために必要なセルを横断する導線を
全て含む。それらの導線は、夫々、フリップフロップの
回路と必要に応じて接触すると共に、セルを突合わせた
ときに隣接するセルの導線の端子に接合する位置を占め
るように設計される。ある特定の信号がセルを横断する
と予想される場合には、この目的のための導線をセルの
特定の高さに、隣接するセルの導線と整合すべき端子と
共に組込んでも良い。各フリップフロップも、セルを突
合わせたときに隣接するフリップフロップの走査入力端
子及び走査入力端子と整合すべき走査入力端子及び走査
出力端子を伴って設計される。それらの標準セルを配置
・ルーティングツールのライブラリに記憶する。その
後、配置・ルーティングツールを動作させて回路素子を
配置するが、全てのフリップフロップはフリップフロッ
プと、バッファのみを含む列に配置される。これは、フ
リップフロップ用テンプレート(回路のライブラリ中の
マスターセル)に区別特性を与えることによって行われ
る。次に、ツールは導線をルーティングする。ツール
は、フリップフロップごとの負荷キャパシタンスの値
と、使用すべきバッファの値を確定するためのバッファ
の特性とを保持するルックアップテーブルを使用する。
ツールは1つの列の大域信号線ごとの負荷値を合計し、
その負荷を適正に駆動することができるバッファを選択
する。バッファは、その値に基づいて、どのフリップフ
ロップ群についても配置、接続されれば良い。大域信号
が1つの列のフリップフロップの全てを駆動するのでは
なく、その導線をルーティングチャネルを介してルーテ
ィングしなければならない場合にも、ツールはそれまで
通りに回路の外側の信号線に関する推定値を使用するこ
とによりバッファのサイズを決定し、それを配置する。
【0029】このように、本発明は、大半の大域信号線
の接続をそれらの値を手動操作で測定し、計算する必要
なく実行することがわかるであろう。この動作は負荷を
生じる要因を減少させる一方で、回路レイアウトの設計
をスピードアップすることにより、そのような配置のタ
イミングをはるかに正確に決定できるようにする。
【0030】図5は、本発明に従って集積回路の特定の
1ブロックをレイアウトする手順を示すフローチャート
である。図5からわかるように、まず、概略図と標準セ
ルのライブラリを自動配置・ルーティングツールに供給
する。ツールはそれらの入力を受取り、個々のセルの配
置を準備する。次に、ツールは列を選択し、回路板上の
所定の位置に自動的に列を配置する。さらに、ツールは
列と列の間にルーティングチャネルを生成する。
【0031】この時点までは、本発明の方法は従来の方
法とほぼ同じである。次に、ツールは、走査信号端子、
クロック信号線及び他の大域信号線が隣接するセルの間
で突合わせにより接続するように、フリップフロップを
フリップフロップと、同様のラッチと、バッファのみを
含む列にまとめる。その後、ツールは、ルックアップテ
ーブルと推定値を使用して、大域信号線に関するバッフ
ァ値を計算する。それらの値によって、バッファを選択
し、フリップフロップを含む列に配置する。バッファ値
と接続が確定したときに、それらの値を記憶して、概略
図に戻して注釈として記入できるようにし、この戻し注
釈を実行するためにネットリストを作成する。
【0032】次に、セルの列の間でセルに対する回路接
続のルーティングを実行する。さらに、各セル列の内部
の接続のルーティングを実行する。最後に、この新たな
回路レイアウトの設計を概略図に照らして検査しうる形
態に変換する。本発明の方法の最終ステップでは、先に
述べた戻し注釈の詳細を追加した更新済み概略図に照ら
して検査を実行する。
【0033】本発明を好ましい一実施例に関して説明し
たが、当業者が本発明の趣旨から逸脱せずに様々な変形
や変更を実施しうることは理解されるであろう。従っ
て、本発明は特許請求の範囲によって判断されるべきで
ある。
【図面の簡単な説明】
【図1】典型的な配置・ルーティングソフトウェアツー
ルにより設計した従来の構成における様々な回路素子の
配置を示す図。
【図2】本発明に従って使用される配置・ルーティング
ソフトウェアツールにより設計した構成における様々な
回路素子の配置を示す図。
【図3】本発明に従って使用される配置・ルーティング
ソフトウェアツールにより設計した構成における様々な
回路素子及び様々な相互接続線の配置を示す図。
【図4】本発明に従って使用される配置・ルーティング
ソフトウェアツールにより設計した構成における様々な
回路素子及び様々な相互接続線の配置を示す別の図。
【図5】本発明の方法を実施する過程を表わすフローチ
ャート。
【符号の説明】
20 集積回路ブロック 21,22,23,24 列 30 バス 31 導線 32 バッファ 33 金属導線 35 フリップフロップ 40 導線 42,44 金属導線
フロントページの続き (72)発明者 ジヨウゼフ・サンラム・ヤング アメリカ合衆国 94539 カリフオルニア 州・フレモント・メスクワイト コート・ 44532

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のフリップフロップ回路と、複数の
    バッファと、フリップフロップ回路がそれらのフリップ
    フロップ回路へ信号を送り出すために接続できるバッフ
    ァと共に列を成して連なって配列されている複数の組合
    わせ回路素子とを具備し、フリップフロップ回路は、フ
    リップフロップ回路の幅を横断するべく定められた大域
    信号を前記フリップフロップ回路へ搬送すると共に、隣
    接するフリップフロップ回路の入力端子及び出力端子に
    整合するように入力端子及び出力端子を形成するように
    設計された導線を有する集積回路構成。
  2. 【請求項2】 複数のフリップフロップ回路と、それら
    のフリップフロップ回路が列を成して連なって配列され
    ている複数の組合わせ回路とを具備し、フリップフロッ
    プ回路は、回路の両側に配置され且つフリップフロップ
    回路が互いに当接したときには互いに対応する走査入力
    端子と、走査出力端子とを有する集積回路構成。
  3. 【請求項3】 複数のフリップフロップ回路と、複数の
    バッファと、複数の組合わせセルとを有する集積回路を
    形成するために、複数の回路セルと、それらのセルの間
    のルーティング接続部とを自動的に配置する方法におい
    て:配置し且つルーティングすべき回路の1ブロックの
    概略図を作成する工程と;それぞれがセルを横断する大
    域信号搬送用導線を有し且つセルの両側に、セルが互い
    に当接したときに互いに対応する入力端子と、出力端子
    とを形成するフリップフロップ用の標準セルと、バッフ
    ァ用の標準セルと、組合わせセル用の標準セルとを形成
    する工程と;そのようなフリップフロップ回路の導線に
    関する標準ローディング値テーブルを作成する工程と;
    フリップフロップが全て他のフリップフロップと共に列
    を成して位置するようにセルを配置する工程と;ローデ
    ィング値テーブルにおけるロードの標準値からバッファ
    の値を計算する工程と;標準値に基づいて導線を駆動す
    るために、バッファをフリップフロップと共に列を成し
    て配置する工程とから成る集積回路構成方法。
JP3308337A 1990-10-29 1991-10-29 回路セルとそれらの回路セルの間を接続するルーティングとを集積回路上に配置させる方法 Expired - Fee Related JP2572322B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/605,557 US5208764A (en) 1990-10-29 1990-10-29 Method for optimizing automatic place and route layout for full scan circuits
US605557 1990-10-29

Publications (2)

Publication Number Publication Date
JPH05136262A true JPH05136262A (ja) 1993-06-01
JP2572322B2 JP2572322B2 (ja) 1997-01-16

Family

ID=24424166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3308337A Expired - Fee Related JP2572322B2 (ja) 1990-10-29 1991-10-29 回路セルとそれらの回路セルの間を接続するルーティングとを集積回路上に配置させる方法

Country Status (3)

Country Link
US (2) US5208764A (ja)
JP (1) JP2572322B2 (ja)
KR (1) KR970004536B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160757A (ja) * 1993-12-13 1995-06-23 Nec Corp Fpgaのタイミング自動調整システム

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3172211B2 (ja) * 1991-09-05 2001-06-04 富士通株式会社 回路合成システム
US6090150A (en) * 1991-12-28 2000-07-18 Nec Corporation Method of designing clock wiring and apparatus for implementing the same
JPH06196563A (ja) * 1992-09-29 1994-07-15 Internatl Business Mach Corp <Ibm> Vlsiの配線設計に対するコンピュータ実施可能な過密領域配線方法
US5654898A (en) * 1993-05-10 1997-08-05 Cascade Design Automation Corporation Timing-driven integrated circuit layout through device sizing
EP0650194B1 (en) * 1993-10-21 1999-11-10 Advanced Micro Devices, Inc. High density dynamic bus
US5619419A (en) * 1994-09-13 1997-04-08 Lsi Logic Corporation Method of cell placement for an itegrated circuit chip comprising integrated placement and cell overlap removal
US5856927A (en) * 1995-05-01 1999-01-05 Vlsi Technology, Inc. Method for automatically routing circuits of very large scale integration (VLSI)
US5898595A (en) * 1995-05-26 1999-04-27 Lsi Logic Corporation Automated generation of megacells in an integrated circuit design system
US5764532A (en) * 1995-07-05 1998-06-09 International Business Machines Corporation Automated method and system for designing an optimized integrated circuit
JP2959444B2 (ja) * 1995-08-30 1999-10-06 日本電気株式会社 フリップチップ型半導体装置の自動配置配線方法
US6539509B1 (en) 1996-05-22 2003-03-25 Lsi Logic Corporation Clock skew insensitive scan chain reordering
US5798935A (en) * 1996-07-01 1998-08-25 Sun Microsystems, Inc. Method and apparatus for sizing buffers to provide minimal skew
US5953518A (en) * 1997-03-14 1999-09-14 Lsi Logic Corporation Yield improvement techniques through layout optimization
US6110221A (en) * 1997-06-23 2000-08-29 Sun Microsystems, Inc. Repeater blocks adjacent clusters of circuits
US6114903A (en) * 1998-01-14 2000-09-05 Lsi Logic Corporation Layout architecture for core I/O buffer
US6073261A (en) * 1998-05-22 2000-06-06 Hewlett Packard Company Circuit for evaluating signal timing
US6609228B1 (en) 2000-11-15 2003-08-19 International Business Machines Corporation Latch clustering for power optimization
US7000163B1 (en) * 2002-02-25 2006-02-14 Lsi Logic Corporation Optimized buffering for JTAG boundary scan nets
US7062740B2 (en) * 2003-05-22 2006-06-13 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for reducing design cycle time for designing input/output cells
US7305645B1 (en) 2004-09-07 2007-12-04 Advanced Micro Technologies, Inc. Method for manufacturing place & route based on 2-D forbidden patterns
US7257798B2 (en) * 2005-06-21 2007-08-14 Cadence Design Systems, Inc. Method and system for designing a timing closure of an integrated circuit
US7721171B2 (en) * 2007-08-16 2010-05-18 International Business Machines Corporation Scheme to optimize scan chain ordering in designs
US11095272B2 (en) * 2018-09-21 2021-08-17 Taiwan Semiconductor Manufacturing Company, Ltd. Flip-flop cell
TWI712947B (zh) 2019-06-06 2020-12-11 瑞昱半導體股份有限公司 積體電路設計方法與其非暫態電腦可讀取媒體

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0679319B2 (ja) * 1985-04-10 1994-10-05 株式会社日立製作所 配置更新方法
JPS6235716A (ja) * 1985-08-09 1987-02-16 Hitachi Ltd 半導体集積回路装置
JPH01289138A (ja) * 1988-05-16 1989-11-21 Toshiba Corp マスタースライス型半導体集積回路
JPH0229124A (ja) * 1988-07-19 1990-01-31 Toshiba Corp スタンダードセル

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160757A (ja) * 1993-12-13 1995-06-23 Nec Corp Fpgaのタイミング自動調整システム

Also Published As

Publication number Publication date
JP2572322B2 (ja) 1997-01-16
KR970004536B1 (ko) 1997-03-28
US5208764A (en) 1993-05-04
US5307286A (en) 1994-04-26
KR920008622A (ko) 1992-05-28

Similar Documents

Publication Publication Date Title
JPH05136262A (ja) 集積回路構成およびその構成方法
KR100413861B1 (ko) 집적회로의표준셀영역내에예비셀을분배하기위한방법및장치
US6543041B1 (en) Method and apparatus for reducing signal integrity and reliability problems in ICS through netlist changes during placement
US6405350B1 (en) System and method for improving crosstalk errors via the insertion of delay gates
US7263679B2 (en) Semiconductor integrated circuit device with boundary scan test and design automation apparatus, boundary scan test method and program
Schmit et al. Behavioral synthesis for FPGA-based computing
US8607178B2 (en) Integrated circuit chip with repeater flops and methods for automated design of same
US6959426B2 (en) Cost-effective scan architecture and a test application scheme for scan testing with non-scan test power and test application cost
US6513149B1 (en) Routing balanced clock signals
US6698000B2 (en) Semiconductor process parameter determining method, semiconductor process parameter determining system, and semiconductor process parameter determining program
US8578306B2 (en) Method and apparatus for performing asynchronous and synchronous reset removal during synthesis
US6463574B1 (en) Apparatus and method for inserting repeaters into a complex integrated circuit
US6505335B1 (en) Automatic cell placement and routing method and semiconductor integrated circuit
KR100276848B1 (ko) 다수의 집적 회로의 배선 방법 및 시스템
US6253354B1 (en) Method and apparatus for analyzing variations in source voltage of semiconductor device
US7565387B1 (en) Systems and methods for configuring a programmable logic device to perform a computation using carry chains
JPH06232735A (ja) 同期ディジタル電子回路の設計方法
JP2921294B2 (ja) レイアウト設計方法
JPH06266801A (ja) フロアプランを考慮した論理合成方法
JP3425920B2 (ja) クロックツリー設計装置、クロックツリー設計方法、及び、記録媒体
JP3410698B2 (ja) 検査回路挿入方法
JP2842334B2 (ja) レイアウト方法
JP2000353745A (ja) 複数クロック間のクロックスキュー低減方法及び装置
JPH0887538A (ja) 半導体集積回路の設計方法
JP2000222451A (ja) 半導体集積回路の設計支援システム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees