JP2002083000A - 論理回路設計方法及び論理回路 - Google Patents

論理回路設計方法及び論理回路

Info

Publication number
JP2002083000A
JP2002083000A JP2000269614A JP2000269614A JP2002083000A JP 2002083000 A JP2002083000 A JP 2002083000A JP 2000269614 A JP2000269614 A JP 2000269614A JP 2000269614 A JP2000269614 A JP 2000269614A JP 2002083000 A JP2002083000 A JP 2002083000A
Authority
JP
Japan
Prior art keywords
scan
flip
clock
flop
group
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
JP2000269614A
Other languages
English (en)
Inventor
Fumio Kasahara
文雄 笠原
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 JP2000269614A priority Critical patent/JP2002083000A/ja
Priority to US09/775,651 priority patent/US6518788B2/en
Publication of JP2002083000A publication Critical patent/JP2002083000A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】 【課題】スキャンパスを構成するスキャンFF間に発生
するクロックスキューを調整するための論理回路設計方
法を提供する。 【解決手段】論理回路に含まれる複数のフリップフロッ
プをクロックソースでグループ分けする。スキャンパス
によって接続するあるグループに属するスキャンフリッ
プフロップと、別のグループに属するスキャンフリップ
フロップとの間に比較的大きなクロックスキューが発生
するので、各グループの最後段のスキャンフリップフロ
ップに、遅延回路を含むスキャンフリップフロップを適
用する。これにより、比較的大きいクロックスキュー
を、バッファを挿入するより少ないベーシックセル数の
使用で調整することができる。また、クロックスキュー
の比較的小さい部分については、バッファを挿入するこ
とによりクロックスキューが調整される。このように、
クロックスキューの大きさに応じて、遅延回路を含むス
キャンフリップフロップと、バッファとが使い分けられ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のスキャンフ
リップフロップ回路を含む論理回路及びそれを設計する
論理回路設計方法に関し、特に、スキャンパスのクロッ
クスキューを調整するための論理回路設計方法に関す
る。
【0002】
【従来の技術】論理回路の設計において、論理回路に含
まれる複数のフリップフロップを縦列に接続したスキャ
ンパスを構成し、論理回路の動作を検証するスキャンパ
ステストが従来より行われている(スキャンパスを構成
する各フリップフロップをスキャンフリップフロップと
称し、以下スキャンFFと記述する)。スキャンFF
は、スキャンパス用のスキャン端子(スキャン入力端子
(SI)とスキャン出力端子(SO))を有し、各スキ
ャンFFのスキャン出力端子(SO)が次段のスキャン
FFのスキャン入力端子(SI)と接続することによ
り、スキャンパスが構成される。
【0003】このとき、論理回路が異なる複数のクロッ
クソースを有し、互いに異なるクロックソースで動作す
るスキャンFFが接続されると、クロックスキューが生
じ、スキャンFFのホールドタイムが満たされない場合
がある。
【0004】さらに、スキャンパスでは、スキャンFF
間に組み合わせ回路が存在しないため、データの伝搬速
度が速く、同一クロックソースで動作するスキャンFF
間でも、ホールドタイムが満たされない場合がある。但
し、同一クロックソースに基づくクロックスキューは、
一般的に、異なるクロックソースに基づくクロックスキ
ューより比較的小さい。
【0005】図8は、スキャンパスにおけるクロックス
キューを説明する図である。図8(a)において、スキ
ャンFF1、スキャンFF3はクロックCK1、スキャ
ンFF2はクロックCK2により動作する。図8(b)
において、クロックCK1とクロックCK2にスキュー
がない場合、スキャンFF2のスキャン入力端子SIに
入力されるデータ1は、スキャンFF2のホールドタイ
ム(期間A)を満たす。一方、クロックCK2とクロッ
クCK1との間にスキューがあると、スキャンFF2の
スキャン入力端子(SI)に入力される信号は、スキャ
ンFF2のホールドタイム(期間B)を満たさない。
【0006】このようなクロックスキューは、従来、次
のような手法により調整されている。(1)クロックス
キューが生じるスキャンFF間にバッファのような遅延
素子を挿入する。 (2)スキャンパスを構成するスキャンFFを全て遅延
回路を含むスキャンFFにする。
【0007】
【発明が解決しようとする課題】しかしながら、上記の
手法には、次のような問題点がある。即ち、上記(1)
遅延素子を挿入する場合、異なるクロックソースに基づ
くクロックスキューのような比較的大きいクロックスキ
ューを調整するためには、ベーシックセル数(論理回路
の規模を示す単位)を比較的多く使用するバッファが必
要となる。クロックスキューの調整のためだけに使用さ
れ、論理回路の動作に無関係な論理素子に、多くのベー
シックセルを割り当てることは、論理回路の集積化の妨
げとなり、好ましくない。
【0008】例えば、クロック周期が8nsにおいて、
その半周期4ns(4000ps)の遅延を発生させる
ためには、約20個のベーシックセル(以下、BCとい
う)を使用するバッファをスキャンFF間に挿入する必
要がある。
【0009】ところが、このとき、バッファに代わっ
て、半周期の遅延を発生させる遅延回路を含むスキャン
FFを利用すれば、より少ないベーシックセル数の使用
によりクロックスキューを調整することができる。具体
的には、2つのスキャンFF間でクロックスキューが発
生する場合、その前段のスキャンFFを、遅延回路を含
むスキャンFFに変更する。例えば、遅延回路を内蔵し
ない通常のスキャンFFのベーシックセル数が例えば8
BCであり、遅延回路を含むスキャンFFのベーシック
セル数が例えば10BCである場合、2BCの追加使用
によりクロックスキューが調整される。
【0010】一方、上記(2)スキャンパスを構成する
スキャンFFを全て遅延回路を含むスキャンFFに変更
する場合、2つのスキャンFF間のクロックスキューが
比較的小さく、遅延回路を含むスキャンFFに変更する
場合より、より小さなベーシックセルのバッファの挿入
で調整できる場合がある。例えば6BCの通常スキャン
FFを例えば10BCの遅延回路を含むスキャンFFに
変更する場合より、例えば1BCのバッファを挿入する
場合の方が、より少ないベーシックセルの使用によりク
ロックスキューを調整できる。特に、スキャンパスを構
成するスキャンFF間のクロックスキューの多くは、比
較的小さいスキューであるので、クロックスキューを調
整するために、全てのスキャンFFを遅延回路を含むス
キャンFFに変更することは非効率的である。
【0011】このように、比較的大きいクロックスキュ
ーを調整するには、遅延回路を含むスキャンFFを利用
することが好ましく、比較的小さいクロックスキューを
調整するには、バッファを挿入することが好ましい。こ
のようにすることでクロックスキューを調整するのに使
用するベーシックセル数を最小化することができる。
【0012】しかしながら、従来においては、上述のよ
うにクロックスキューの大きさに応じて、バッファと、
遅延回路を含むスキャンFFとを使い分けることはして
いなかった。
【0013】そこで、本発明の目的は、スキャンパスを
構成するスキャンFF間に発生するクロックスキューの
大きさを判別し、その大きさに応じて最適なクロックス
キュー調整手段を適用する論理回路設計方法を提供する
ことにある。
【0014】また、本発明の目的は、できるだけ少ない
ベーシックセルの使用でスキャンパスのクロックスキュ
ーが調整された論理回路を提供することにある。
【0015】
【課題を解決するための手段】上記目的を達成するため
に、本発明では、論理回路に含まれる複数のフリップフ
ロップをクロックソースでグループ分けすることによ
り、クロックスキューの比較的大きい部分を判別する。
即ち、スキャンパスによって接続するあるグループに属
するスキャンフリップフロップと、別のグループに属す
るスキャンフリップフロップとの間に比較的大きなクロ
ックスキューが発生する。具体的には、各グループの最
後段のスキャンフリップフロップが、別のグループに属
するスキャンフリップフロップと接続するので、各グル
ープの最後段のスキャンフリップフロップに、遅延回路
を含むスキャンフリップフロップを適用することによ
り、比較的大きいクロックスキューを、バッファを挿入
するより少ないベーシックセル数の使用で調整すること
ができる。また、クロックスキューの比較的小さい部分
については、バッファを挿入することによりクロックス
キューが調整される。このように、クロックスキューの
大きさに応じて、遅延回路を含むスキャンフリップフロ
ップと、バッファとを使い分けることにより、全てのス
キャンFFを、遅延回路を含むスキャンフリップフロッ
プにする場合や、全てのクロックスキューをバッファ挿
入で調整する場合と比較して、クロックスキューを調整
するために使用されるベーシックセル数を少なくするこ
とができ、論理回路の集積度を高めることができる。
【0016】好ましくは、上記目的を達成するための本
発明の論理回路設計方法は、複数のフリップフロップを
有する論理回路を設計する論理回路設計方法において、
前記複数のフリップフロップを、少なくとも、第一のク
ロックに基づいて動作するフリップフロップのグループ
と、第二のクロックに基づいて動作するフリップフロッ
プのグループにグループ分けし、前記複数のフリップフ
ロップをそれぞれスキャンフリップフロップにして、各
スキャンフリップフロップに設けられるスキャン端子を
順に縦列接続することよりスキャンパスを構成し、第一
のクロックで動作するスキャンフリップフロップであっ
て、且つスキャンパス上で第二のクロックで動作するス
キャンフリップフロップと接続するスキャンフリップフ
ロップに、そのスキャン端子出力を遅延させる遅延回路
を含むスキャンフリップフロップを適用することを特徴
とする。
【0017】比較的大きいクロックスキューを調整する
ために、好ましくは、上記遅延回路を含むスキャンフリ
ップフロップは、少なくともクロック周期の半周期の遅
延を有する。
【0018】グループ分けは、例えば、次のようにして
行われる。即ち、論理回路の少なくとも一つの出力端子
から論理回路のクロックラインをバックトレースし、出
力端子から所定の論理素子又は論理回路の入力端子に到
達するまでのクロックラインに接続するフリップフロッ
プを、一つのグループとしてグループ分けされる。ま
た、所定の論理素子に到達した場合、さらに当該論理素
子から論理回路のクロックラインをバックトレースし、
当該論理素子から別の論理素子又は入力端子に到達する
までのクロックラインに接続するフリップフロップを、
さらに一つのグループとしてグループ分けされる。な
お、所定の論理素子は、例えば、多入力回路、分周回路
又は反転回路である。
【0019】さらに好ましくは、スキャンフリップフロ
ップ配置後のリオーダー処理として、グループ内のリオ
ーダー処理とグループ間のリオーダー処理の2段階の処
理が行われる。グループ内のリオーダー処理は、各グル
ープの最終段のスキャンフリップフロップを、遅延回路
を含むスキャンフリップフロップにしたままで、各グル
ープ内のスキャンパスが最短になるように、各グループ
内の複数のスキャンフリップフロップの接続順序を求
め、当該順序で各グループ内の複数のスキャンフリップ
フロップを再接続する。また、グループ間のリオーダー
処理は、各グループ間のスキャンパスが最短になるよう
に、各グループの接続順序を求め、当該順序に従って、
各グループの最後段のスキャンフリップフロップと、そ
の次のグループの第一段目のスキャンフリップフロップ
とを再接続する。
【0020】これにより、別のグループのスキャンフリ
ップフロップと接続する各グループの最後段のスキャン
フリップフロップを、遅延回路を含むスキャンフリップ
フロップにしたままで、スキャンフリップフロップの実
際の配置を考慮したスキャンパスを構成することができ
る。
【0021】また、上記目的を達成するための本発明の
論理回路は、スキャンパスを構成する複数のスキャンフ
リップフロップを有する論理回路において、複数のスキ
ャンフリップフロップは、少なくとも第一のクロックで
動作するスキャンフリップフロップと、第二のクロック
で動作するスキャンフリップフロップとを含み、第一の
クロックで動作するスキャンフリップフロップであっ
て、且つスキャンパス上で第二のクロックで動作するス
キャンフリップフロップと接続するスキャンフリップフ
ロップは、そのスキャン端子出力を遅延させる遅延回路
を含むスキャンフリップフロップであることを特徴とす
る。
【0022】
【発明の実施の形態】以下、本発明の実施の形態につい
て説明する。しかしながら、本発明の技術的範囲が、本
実施の形態に限定されるものではない。
【0023】本発明の実施の形態では、異なる複数のク
ロックソースを有する論理回路において、その論理回路
を構成する複数のフリップフロップを、同一クロックソ
ース毎にグループ分けする。そして、複数のフリップフ
ロップをスキャンフリップフロップにした後、同一グル
ープ内の最後段のスキャンフリップフロップを遅延回路
を含むスキャンフリップフロップに変更する。また、同
一グループ内におけるスキャンフリップフロップ間に
は、所定の遅延時間を有するバッファを挿入する。
【0024】図1は、本発明の実施の形態における論理
回路設計方法のフローチャートである。このフローチャ
ートは、例えば、コンピュータ装置である論理回路設計
装置によって実行される。論理回路設計装置は、以下の
フローチャートに従うコンピュータプログラムを実行す
ることより、このフローチャートを実行する。
【0025】まず、論理回路を構成する複数の論理素子
(フリップフロップを含む)及び各論理素子の接続関係
の情報を記述したネットリストから、フリップフロップ
(以下、FFという)を抽出する(ST1)。
【0026】論理回路の少なくとも1つの出力端子から
入力端子方向に、抽出されたFFのクロックラインをバ
ックトレースする(ST2)。バックトレースにより、
クロックライン上にある所定の論理素子に到達すると
(ST3)、そこまでのクロックラインに接続するFF
を一つのグループとしてグループ分けする(ST4)。
【0027】図2は、グループ分けの例を説明する図で
ある。図2(a)において、最後段のFF−Cのクロッ
クラインからバックトレースすると、インバータINV
(反転回路)に到達する。インバータINVによりクロ
ックの位相が反転するので、インバータINVから出力
する逆相クロックで動作するFFと、正相クロックで動
作するFFのクロックソースは、異なるクロックソース
とみなすことができる。従って、論理素子インバータに
到達するまでのクロックラインに接続するFF−C、F
F−B、FF−Aが一つのグループ(グループX)とし
てグループ分けされる。
【0028】一方、別の最後段のFF−Fのクロックラ
インからのバックトレースでは、クロックの外部入力端
子に到達する。従って、外部入力端子に到達するまでク
ロックラインに接続するFF−F、FF−E、FF−D
が一つのグループ(グループY)としてグループ分けさ
れる。このようにして、異なるクロックソースで動作す
るFF、この場合、逆相クロックで動作するFF−A、
B、Cと、正相クロックで動作するFF−D、E、Fと
をグループ分けすることができる。
【0029】図2(b)は、クロックラインに分周用F
F(分周回路)がある場合の図である。分周前のクロッ
クで動作するFF−D、E、Fのクロックソースと、分
周クロックで動作するFF−A、B、Cのクロックソー
スは異なるクロックソースとみなすことができる。上記
同様に、FF−Cからバックトレースすると、分周用F
Fに到達し、それに到達するまでのクロックラインに接
続するFF−A、B、Cを一つのグループ(グループ
X)としてグループ分けすることができる。また、FF
−Fからバックトレースすると、上記同様に、クロック
外部端子に到達するまでのクロックラインに接続するF
F−D、E、Fを一つのグループ(グループY)として
グループ分けできる。分周回路として、分周用FFに代
わって、PLL回路など他の回路が適用されてもよい。
【0030】さらに、図2(c)は、クロックラインに
多入力回路(例えば、AND、OR、EXOR回路な
ど)がある場合の図である。多入力回路も異なるクロッ
クソースを提供する。従って、バックトレースにより多
入力回路に到達した場合は、それまでのクロックライン
に接続するFFを一つのグループとしてグループ分けす
る。図2(c)においても、上記同様に、多入力回路か
らの出力をクロックソースとするFF−A、B、Cが一
つのグループ(グループX)にグループ分けされ、外部
端子から供給されるクロックそのままをクロックソース
とするFF−D、E、Fが一つのグループ(グループ
Y)としてグループ分けされる。
【0031】このように、最後段のFFからそのクロッ
クラインをバックトレースし、所定の論理素子又は入力
端子に到達するまでのクロックラインに接続するFFを
一つのグループとしてグループ分けする。これにより、
クロックソース毎のFFにグループ分けすることができ
る。
【0032】図1に戻って、バックトレースによって所
定の論理素子に到達した場合は、さらにそこからバック
トレースを再開し、上述同様に、そこまでのクロックラ
インに接続するFFが一つのグループにグループ分けさ
れる。また、バックトレースにより論理回路の入力端子
に到達した場合も、同様のグループ分けが行われる。こ
のようにして、全てのクロックラインについてのバック
トレースを行い、全てのFFに対するグループ分けが終
了すると(ST5)、グループ分けされた各FFに対し
てスキャンパスが構成される(ST6)。具体的には、
まず、各FFにスキャン入力端子(SI)、スキャン出
力端子(SO)及びスキャンモード(SM)端子(図示
せず)を挿入してスキャンFFにする。そして、まず、
各グループ内において、スキャンパスを形成する。さら
に、グループ毎にスキャンパスが形成されると、グルー
プ間でスキャンパスが形成される。即ち、あるグループ
の最後段のスキャンFFのスキャン出力端子(SO)
と、別のグループの最初のスキャンFFのスキャン入力
端子(SI)とを接続する。なお、ステップST6にお
いては、グループ内のスキャンFFの実際の配置、及び
各グループの実際の配置は考慮されず、例えば、ネット
リストの接続情報などに基づいて適宜接続される図3
は、スキャンパスが構成された図2に対応する論理回路
の例である。図3(a)は、図2(a)に対応する。図
3(a)に示されるように、各FF−A、B、C、D、
E、Fは、スキャン出力端子(SO)とスキャン入力端
子(SI)を有するスキャンFF−A、B、C、D、
E、Fに変更される。そして、例えば、グループXにお
いて、スキャンFF−Aのスキャン出力端子とスキャン
FF−Bのスキャン入力端子を接続し、さらに、スキャ
ンFF−Bのスキャン出力端子とスキャンFF−Cのス
キャン入力端子を接続する。また、グループYにおい
て、スキャンFF−Dのスキャン出力端子とスキャンF
F−Eのスキャン入力端子を接続し、さらに、スキャン
FF−Eのスキャン出力端子とスキャンFF−Fのスキ
ャン入力端子を接続する。グループX、Y内それぞれで
スキャンパスが形成されると、グループXとグループY
間でスキャンパスを形成するために、グループXの最後
段のスキャンFF−Cのスキャン出力端子と、グループ
Yの第一段目のスキャンFF−Dのスキャン入力端子と
が接続する。なお、図3(b)、図3(c)は、同様に
スキャンパスが構成された図2(b)、図2(c)に対
応する図であって、上述と同様であるので、その説明を
省略する。
【0033】スキャンパスが完成すると、各グループの
最後段のスキャンFFを、遅延回路を含むスキャンFF
に変更する(ST7)。例えば、図3では、スキャンF
F−CとFF−Fが、遅延回路を含むスキャンFFに変
更される。従来技術の項で述べたように、互いに異なる
クロックソースのFF間をスキャンパスで接続すると、
比較的大きいクロックスキューが発生する。上記で分類
されたグループは、それぞれ異なるクロックソースで分
類されたグループであるので、グループ間のスキャンパ
スでは、比較的大きいクロックスキューが発生すると考
えられる。従って、別のグループのスキャンFFと接続
する各グループの最後段のスキャンFFを、遅延回路を
含むスキャンFFに変更することで、バッファを挿入す
る場合と比較して少ないベーシックセルの使用数で、比
較的大きいクロックスキューを調整することができる。
【0034】図4は、遅延回路を含むスキャンFFの回
路例を示す図である。具体的には、遅延回路を含むスキ
ャンFFの2つの回路例(図4(a)、(b))とそれ
らのタイミングチャート(図4(c))が示されてい
る。図4(a)、(b)において、それぞれ点線で囲ま
れた部分が遅延回路部分である。また、図4(c)に示
されるように、図4(a)、(b)のスキャンFFのス
キャン出力端子(SO)からの出力は、通常のスキャン
FF(遅延回路を含まないスキャンFF)のスキャン出
力端子(SO)からの出力より、クロック周期の半周期
遅れる。図4(a)、(b)のフリップフロップの動作
については、特開平07−095016号に詳述されて
いる。簡単に説明すると、図4(a)において、遅延回
路部分(点線囲み部分)は、2つのインバータを一方の
出力が他方に入力されるように接続したループと、2つ
のトランスミッションゲートから構成されるラッチ回路
である。この回路において、トランスミッションゲート
は、クロックがL状態のときに導通し、H状態のときに
は非導通である。従って、スキャン出力端子SOの出力
が変化するのは、クロックがL状態に変化して、遅延回
路部分以外のフリップフロップ部分からの状態が入力さ
れるトランスミッションゲートTG1が導通し、フリッ
プフロップ部分における状態変化が遅延回路部分に伝達
された場合となる。従って、図4(c)に示すような、
スキャン出力端子SOにおいて、出力Qよりクロック周
期の半周期遅延した出力を得ることができる。
【0035】図4(b)において、遅延回路部分におけ
るNAND回路の一方の入力にスキャンテスト時のスキ
ャンモードSM信号「1」が入力された場合は、NAN
D回路は、インバータと同じ動作をするので、図4
(b)の回路は、図4(a)の回路と実質的に同一であ
る。なお、遅延回路を含むスキャンFFは、上記の回路
に限定されず、種々の変形が可能である。
【0036】一方、グループ内における各スキャンFF
間のクロックスキューは、比較的小さいので、各グルー
プの最後段以外のスキャンFFは、遅延回路を含まない
通常のスキャンFFのままであって、各グループ内にお
けるスキャンFF間には、そのクロックスキューを調整
するために、後述のリオーダー処理後に適宜バッファが
挿入される。
【0037】このように、本発明の実施の形態では、論
理回路を構成するFFのクロックラインをバックトレー
スし、所定の論理素子に到達するまでのクロックライン
に接続するFFを一つのグループとしてグループ分けす
る。これにより、異なるクロックソースで動作するFF
にグループ分けすることができる。これにより、異なる
クロックソースに基づく比較的大きいクロックスキュー
が発生する位置、即ち、各グループ間にまたがったスキ
ャンパス部分を識別することができ、遅延回路を含むス
キャンFFに変更するスキャンFF(即ち、各グループ
の最後段のスキャンFF)を特定することができる。
【0038】遅延回路を含むスキャンFFの適用を、比
較的大きいクロックスキューの発生する箇所に限定する
ことで、全てのクロックスキューをバッファ挿入で調整
する方法や、全てのスキャンFFを、遅延回路を含むス
キャンFFに変更する方法と比較して、より少ないベー
シックセル数の使用でスキャンパスのクロックスキュー
を調整することができるので、論理回路の集積度を高め
られる。
【0039】本発明の実施の形態では、さらに、スキャ
ンFFのリオーダー(reorder)処理が実行される。上述
において形成されたスキャンパスは、実際の論理回路の
配置を考慮していない。従って、スキャンFFの実際の
配置に基づくスキャンパスが冗長となる場合がある。リ
オーダー処理は、スキャンFF配置後のスキャンパスが
できるだけ短くなるようにスキャンFFの接続順序を見
直す処理である。即ち、図1において、スキャンFFの
配置が行われた後に(ST8)、以下に説明するグルー
プ内のリオーダー処理(ST9)、グループ間のリオー
ダー処理(ST10)が行われる。
【0040】図5は、グループ内のリオーダー処理(S
T9)の例を説明する図である。図5(a)は、あるグ
ループにおけるリオーダー前のネットリストの情報に従
ったスキャンFFの配置の例である。スキャンFF−
A、B、C、D、E、Fが縦列に接続されてスキャンパ
スが構成されている。このとき、最後段のスキャンFF
−Fは、遅延回路を含むスキャンFFである。しかしな
がら、図5(a)に示すように、スキャンFF−Aとス
キャンFF−Bとが接続し、また、スキャンFF−Eと
スキャンFF−Fが接続すると、それぞれ領域M、Nに
配線の無駄が生じる。
【0041】そこで、本発明の実施の形態におけるグル
ープ内のリオーダー処理により、グループ内でのスキャ
ンパスが最短経路になるように、図5(b)に示される
ように、接続順序を変えてスキャンFFを接続し直す。
即ち、スキャンFF−AとスキャンFF−Dとを接続
し、スキャンFF−CとスキャンFF−Fとを接続す
る。これにより、領域M、N上に配線がなくなり、論理
回路のスペースの効率化が図られる。このとき、本実施
の形態のリオーダー処理では、遅延回路を含むスキャン
FFに変更されているスキャンFF−Fは、最後段のス
キャンFFに維持される。
【0042】このように、本実施の形態のリオーダー処
理では、まず、各グループ内でリオーダー処理すること
により、遅延回路を含むスキャンFFが、各グループ内
の最後段のスキャンFFであることを維持する。グルー
プ内のリオーダー処理により、各グループにおけるスキ
ャンFFの接続順序が決定する。
【0043】各グループ内でのリオーダー処理が終了す
ると、次にグループ間のリオーダー処理が行われる。
【0044】図6は、グループ間のリオーダー処理(S
T10)の例を説明する図である。図6では、一本のス
キャンパスにおけるグループ間のリオーダー処理の例を
示す。グループ間のリオーダー処理では、各グループの
最後段のスキャンFFと、別のグループの第一段目のス
キャンFFとを接続する配線が最短経路になるように、
グループ間における接続順序が決定される。具体的に
は、図6(a)に示すリオーダー前のグループ間の接続
順序(グループA−C−B−D)を、図6(b)に示す
ような接続順序(グループA−B−C−D)に変更する
ことにより、スキャンパスを最短にすることが可能とな
る。
【0045】図7は、グループ間のリオーダー処理の別
の例を説明する図である。図7では、2本のスキャンパ
スにおけるグループ間のリオーダー処理の例を示す。具
体的には、図7(a)に示すように、リオーダー前のグ
ループAとグループDとを接続するスキャンパスと、グ
ループCとグループBとを接続するスキャンパスを、図
7(b)に示すように、グループAとグループBとを接
続するスキャンパスと、グループCとグループDとを接
続するスキャンパス変更することにより、2本のスキャ
ンパスをそれぞれを短くすることができるとともに、図
示される囲み部分付近の配線を削減することができるの
で、無駄な配線がなくなり、論理回路の面積を有効に使
用できる。
【0046】こうして、リオーダー処理が行われると、
リオーダー処理後の各グループ内のスキャンFF間それ
ぞれでタイミングチェックを行い(図1のST11)、
所定の遅延時間を有するバッファが適宜挿入される(図
1のST12)。
【0047】このように、論理回路に含まれるフリップ
フロップをクロックソースに基づいてグループ分けする
ことで、クロックスキューが比較的大きいスキャンパス
部分を知ることができる。即ち、クロックソースが異な
るスキャンFF間は、クロックスキューが比較的大きい
と想定されるので、各グループの最後段のスキャンFF
と、それに接続する異なるクロックソースのスキャンF
Fとの間のクロックスキューは比較的大きい。従って、
各グループの最後段の通常のスキャンFF(遅延回路を
含まないスキャンFF)を、遅延回路を含むスキャンF
Fにする。
【0048】こうして、クロックスキューの比較的大き
い部分を特定し、その部分には、遅延回路を含むスキャ
ンFFを適用し、クロックスキューの比較的小さい部分
には、バッファを挿入することで、クロックスキューが
調整される。これにより、クロックスキューの調整に使
用される論理回路のベーシックセル数を少なくすること
ができ、消費電力の低減にも寄与する。
【0049】なお、グループ分けされたグループ数が比
較的多い場合は、オペレータの判断により、異なるクロ
ックソースであっても、例えばクロックスキューが比較
的小さいと想定されるグループ同士を、一つにまとめて
もよい。
【0050】また、各グループの最後段のスキャンFF
のうち外部出力端子と接続するスキャンFFは、次段に
スキャンFFと接続しない。従って、クロックスキュー
を調整する必要がなく、遅延回路を含むスキャンFFに
変更されなくともよい。
【0051】本発明の保護範囲は、上記の実施の形態に
限定されず、特許請求の範囲に記載された発明とその均
等物に及ぶものである。
【0052】
【発明の効果】以上、本発明によれば、論理回路に含ま
れる複数のフリップフロップをクロックソースでグルー
プ分けすることにより、クロックスキューの比較的大き
い部分を特定し、その部分については、遅延回路を含む
スキャンFFを適用することにより、クロックスキュー
の比較的小さい部分については、バッファを挿入するこ
とによりクロックスキューが調整される。このように、
クロックスキューの大きさに応じて、遅延回路を含むス
キャンFFと、バッファとを使い分けることにより、全
てのスキャンFFを、遅延回路を含むスキャンFFにす
る場合や、全てのクロックスキューをバッファ挿入で調
整する場合と比較して、クロックスキューを調整するた
めに使用されるベーシックセル数を少なくすることがで
き、論理回路の集積度を高めることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態における論理回路設計方法
のフローチャートである。
【図2】グループ分けの例を説明する図である。
【図3】スキャンパスが構成された図2に対応する論理
回路の例である。
【図4】遅延回路を含むスキャンFFの回路例を示す図
である。
【図5】グループ内のリオーダー処理(ST9)の例を
説明する図である。
【図6】グループ間のリオーダー処理(ST10)の例
を説明する図である。
【図7】グループ間のリオーダー処理(ST10)の別
の例を説明する図である。
【図8】スキャンパスにおけるクロックスキューを説明
する図である。
【符号の説明】
FF フリップフロップ CK クロック SI スキャン入力端子 SO スキャン出力端子

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】複数のフリップフロップを有する論理回路
    を設計する論理回路設計方法において、 前記複数のフリップフロップを、少なくとも、第一のク
    ロックに基づいて動作するフリップフロップのグループ
    と、第二のクロックに基づいて動作するフリップフロッ
    プのグループとにグループ分けし、 前記複数のフリップフロップをそれぞれスキャンフリッ
    プフロップにして、各スキャンフリップフロップに設け
    られるスキャン端子を順に縦列接続することよりスキャ
    ンパスを構成し、 前記第一のクロックで動作するスキャンフリップフロッ
    プであって、且つスキャンパス上で前記第二のクロック
    で動作するスキャンフリップフロップと接続するスキャ
    ンフリップフロップに、そのスキャン端子出力を遅延さ
    せる遅延回路を含むスキャンフリップフロップを適用す
    ることを特徴とする論理回路設計方法。
  2. 【請求項2】請求項1において、 前記遅延回路を含むスキャンフリップフロップは、少な
    くともクロック周期の半周期の遅延を有することを特徴
    とする論理回路設計方法。
  3. 【請求項3】請求項1において、 前記論理回路の少なくとも一つの出力端子から前記論理
    回路のクロックラインをバックトレースし、 前記出力端子から所定の論理素子又は前記論理回路の入
    力端子に到達するまでのクロックラインに接続するフリ
    ップフロップを、一つのグループとしてグループ分けす
    ることを特徴とする論理回路設計方法。
  4. 【請求項4】請求項3において、 前記所定の論理素子は、多入力回路、分周回路又は反転
    回路を少なくとも含むをことを特徴とする論理回路設計
    方法。
  5. 【請求項5】請求項3において、 前記所定の論理素子に到達した場合、さらに当該論理素
    子から前記論理回路のクロックラインをバックトレース
    し、 当該論理素子から別の論理素子又は前記入力端子に到達
    するまでのクロックラインに接続するフリップフロップ
    を、一つのグループとしてグループ分けすることを特徴
    とする論理回路設計方法。
  6. 【請求項6】請求項1において、 各グループの最終段のスキャンフリップフロップを、前
    記遅延回路を含むスキャンフリップフロップにしたまま
    で、各グループ内のスキャンパスが最短になるように、
    各グループ内の複数のスキャンフリップフロップの接続
    順序を求め、当該順序で各グループ内の複数のスキャン
    フリップフロップを再接続することを特徴とする論理回
    路設計方法。
  7. 【請求項7】請求項6において、 各グループ間のスキャンパスが最短になるように、各グ
    ループの接続順序を求め、当該順序に従って、各グルー
    プの最後段のスキャンフリップフロップと、その次のグ
    ループの第一段目のスキャンフリップフロップとを再接
    続することを特徴とする論理回路設計方法。
  8. 【請求項8】スキャンパスを構成する複数のスキャンフ
    リップフロップを有する論理回路において、 前記複数のスキャンフリップフロップは、少なくとも、
    第一のクロックで動作するスキャンフリップフロップ
    と、第二のクロックで動作するスキャンフリップフロッ
    プとを含み、 前記第一のクロックで動作するスキャンフリップフロッ
    プであって、且つスキャンパス上で前記第二のクロック
    で動作するスキャンフリップフロップと接続するスキャ
    ンフリップフロップは、そのスキャン端子出力を遅延さ
    せる遅延回路を含むスキャンフリップフロップであるこ
    とを特徴とする論理回路。
  9. 【請求項9】請求項8において、 前記遅延回路を含むスキャンフリップフロップは、少な
    くともクロック周期の半周期の遅延を有することを特徴
    とする論理回路。
  10. 【請求項10】複数のフリップフロップを有する論理回
    路を設計するためのコンピュータ実行可能なプログラム
    を格納した記録媒体において、前記プログラムは、 前記複数のフリップフロップを、少なくとも、第一のク
    ロックに基づいて動作するフリップフロップのグループ
    と、第二のクロックに基づいて動作するフリップフロッ
    プのグループとにグループ分けするステップと、 前記複数のフリップフロップをそれぞれスキャンフリッ
    プフロップにして、各スキャンフリップフロップに設け
    られるスキャン端子を順に縦列接続することよりスキャ
    ンパスを構成するステップと、 前記第一のクロックで動作するスキャンフリップフロッ
    プであって、且つスキャンパス上で前記第二のクロック
    で動作するスキャンフリップフロップと接続するスキャ
    ンフリップフロップに、そのスキャン端子出力を遅延さ
    せる遅延回路を含むスキャンフリップフロップを適用す
    るステップとを備えることを特徴とする記録媒体。
JP2000269614A 2000-09-06 2000-09-06 論理回路設計方法及び論理回路 Pending JP2002083000A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000269614A JP2002083000A (ja) 2000-09-06 2000-09-06 論理回路設計方法及び論理回路
US09/775,651 US6518788B2 (en) 2000-09-06 2001-02-05 Logic circuit design method and logic circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000269614A JP2002083000A (ja) 2000-09-06 2000-09-06 論理回路設計方法及び論理回路

Publications (1)

Publication Number Publication Date
JP2002083000A true JP2002083000A (ja) 2002-03-22

Family

ID=18756187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000269614A Pending JP2002083000A (ja) 2000-09-06 2000-09-06 論理回路設計方法及び論理回路

Country Status (2)

Country Link
US (1) US6518788B2 (ja)
JP (1) JP2002083000A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146550B2 (en) 2002-10-28 2006-12-05 Matsushita Electric Industrial Co., Ltd. Isolation testing circuit and testing circuit optimization method
JP2011090493A (ja) * 2009-10-22 2011-05-06 Nec Corp 回路設計装置及び方法
JP2012244455A (ja) * 2011-05-20 2012-12-10 Nec Corp 信号伝送装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4118536B2 (ja) * 2001-07-03 2008-07-16 株式会社東芝 クロック遅延設定方法
US6775813B2 (en) * 2002-09-10 2004-08-10 Sun Microsystems, Inc. Aggregation of storage elements into stations and placement of same into an integrated circuit or design
US7096442B2 (en) * 2003-07-10 2006-08-22 Lsi Logic Corporation Optimizing IC clock structures by minimizing clock uncertainty
TWI221926B (en) * 2003-09-10 2004-10-11 Realtek Semiconductor Corp A multi-time domain logic system and related method
US7447961B2 (en) * 2004-07-29 2008-11-04 Marvell International Ltd. Inversion of scan clock for scan cells
US7421610B2 (en) * 2005-07-21 2008-09-02 Freescale Semiconductor, Inc. Clock generation circuit
US20070208979A1 (en) * 2006-01-13 2007-09-06 Taiwan Semiconductor Manufacturing Co., Ltd. Split clock scan flip-flop
JP2008293088A (ja) * 2007-05-22 2008-12-04 Nec Electronics Corp 半導体集積回路及びその設計方法
US8516417B2 (en) * 2009-08-07 2013-08-20 International Business Machines Corporation Method and system for repartitioning a hierarchical circuit design
US11113444B2 (en) * 2018-06-27 2021-09-07 Taiwan Semiconductor Manufacturing Co., Ltd. Machine-learning based scan design enablement platform

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2734394B2 (ja) * 1995-01-27 1998-03-30 日本電気株式会社 半導体集積回路装置
US6064232A (en) * 1997-12-18 2000-05-16 Advanced Micro Devices, Inc. Self-clocked logic circuit and methodology
FR2782387B1 (fr) * 1998-08-13 2000-11-03 St Microelectronics Sa Circuit de detection de la disparition d'un signal periodique

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146550B2 (en) 2002-10-28 2006-12-05 Matsushita Electric Industrial Co., Ltd. Isolation testing circuit and testing circuit optimization method
JP2011090493A (ja) * 2009-10-22 2011-05-06 Nec Corp 回路設計装置及び方法
JP2012244455A (ja) * 2011-05-20 2012-12-10 Nec Corp 信号伝送装置

Also Published As

Publication number Publication date
US20020029361A1 (en) 2002-03-07
US6518788B2 (en) 2003-02-11

Similar Documents

Publication Publication Date Title
JP2002083000A (ja) 論理回路設計方法及び論理回路
US6078202A (en) Semiconductor device having portions that operate at different frequencies, and method of designing the device
JP4119152B2 (ja) 半導体集積回路装置
WO2022152032A1 (zh) 测试电路、测试方法和包括测试电路的计算系统
CN118227527A (zh) Sdram控制器子系统的源同步分区
US6711089B2 (en) Method and apparatus for performing signal synchronization
JPH10104320A (ja) 走査チェーンの走査保持時間エラー除去方法、走査チェーンの再配置方法及び集積回路
US7162705B2 (en) Dynamically reconfiguring clock domains on a chip
CN117811539A (zh) Fpga时钟无毛刺切换电路
CN116388737A (zh) 用于转换故障测试的时钟整形器电路
JP2009180532A (ja) 標準セルおよび半導体装置
US6185720B1 (en) Slaveless synchronous system design
US6927615B2 (en) Low skew, power efficient local clock signal generation system
JP3982927B2 (ja) スキャンチェイン設計システム及びその設計方法
JP2007109773A (ja) 大規模半導体集積回路装置
JP2012137986A (ja) 半導体集積回路のレイアウト設計装置、半導体集積回路のレイアウト設計方法及びプログラム
JP3501059B2 (ja) 半導体集積回路
JP3866562B2 (ja) 半導体集積回路の設計方法
JP2000353939A (ja) クロック信号同期式フリップフロップ回路
JP4186559B2 (ja) スキャンフリップフロップ
JP2009222558A (ja) スキャン用フリップフロップ回路
JPH0721227A (ja) 非同期論理回路の論理合成方法
JP2004061340A (ja) 半導体装置
JP2000236062A (ja) 半導体集積回路
JP2003273852A (ja) 半導体集積回路装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080623

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080731

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080916