[go: up one dir, main page]

JP2011238163A - 半導体集積回路のレイアウト方法、レイアウトシステム及びレイアウトプログラム - Google Patents

半導体集積回路のレイアウト方法、レイアウトシステム及びレイアウトプログラム Download PDF

Info

Publication number
JP2011238163A
JP2011238163A JP2010110969A JP2010110969A JP2011238163A JP 2011238163 A JP2011238163 A JP 2011238163A JP 2010110969 A JP2010110969 A JP 2010110969A JP 2010110969 A JP2010110969 A JP 2010110969A JP 2011238163 A JP2011238163 A JP 2011238163A
Authority
JP
Japan
Prior art keywords
sequential
layout
circuit
sequential circuits
clock
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
JP2010110969A
Other languages
English (en)
Inventor
Kazuyuki Irie
和幸 入江
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010110969A priority Critical patent/JP2011238163A/ja
Priority to US13/099,658 priority patent/US8751991B2/en
Publication of JP2011238163A publication Critical patent/JP2011238163A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)
  • 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)

Abstract

【課題】半導体集積回路のレイアウト設計におけるタイミング収束性を向上させること。
【解決手段】本発明にかかる半導体集積回路のレイアウト方法は、半導体集積回路に搭載され、同一のクロックルートからクロックが分配されるN個(Nは、3以上の整数)の順序回路のうち、M個(Mは、2以上かつN以下の整数)の順序回路を選択し、選択されたM個の順序回路を、M個の入力端子及び出力端子と、クロックルートから分配されるクロックを受け付ける1個のクロック端子とを有する1個の多データ入出力順序回路へ置換する。
【選択図】図4

Description

本発明は、半導体集積回路のレイアウト方法、レイアウトシステム及びレイアウトプログラムに関し、特に、順序回路の配置配線情報に基づく、タイミング解析を行う半導体集積回路のレイアウト方法、レイアウトシステム及びレイアウトプログラムに関する。
近年、ASIC(Application Specific Integrated Circuit)、マイコン、ASSP(Application Specific Standard Produce)に代表される半導体集積回路の大規模化により、レイアウト設計時の消費電力が増大する傾向がある。また、半導体集積回路のプロセス微細化に伴い、OCV(On Chip Variation)影響が拡大している。さらに、半導体集積回路の大規模化により、CTS(Clock Tree Synthesis)スキューの悪化によるタイミング収束が困難となり、設計TAT(Turn Around Time)が大きくなっている。これらのことから、半導体集積回路のレイアウトの小面積化、低消費電力化並びにOCV値及びCTSスキュー値の更なる低減の要求が高まってきた。
特許文献1には、CTSのスキューの低減を計ることにより、レイアウト面積や消費電力の増大を抑えることができる半導体集積回路のレイアウト方法及びレイアウト装置に関する技術が開示されている。特許文献1に開示されたレイアウト方法及びレイアウト装置では、CTS最終段における各FFの配線長が平均配線長距離になるように、FFを再配置する。これにより、CTSスキューを合わせるためのDelayセルの挿入を抑制することができるため、半導体集積回路のレイアウトの小面積、低消費電力化及びOCV対象距離縮小を実現する。
図10は、特許文献1にかかる半導体集積回路のレイアウト方法の処理の流れを示すフローチャート図である。まず、特許文献1にかかる半導体集積回路のレイアウト装置X(不図示)は、レイアウト対象のFF等を配置する(S91)。次に、レイアウト装置Xは、配置されたFFに対してCTSにより配置及び配線を行う(S92)。尚、ここまでは、通常のCTS工程である。
ここで、図11は、特許文献1にかかる半導体集積回路のレイアウト方法におけるCTS工程後の回路図の例を示す図である。尚、以下の説明では、CTS最終段バッファを含むFF群をCTSブロックと呼ぶ。図11では、CTSブロック91は、CTS最終段バッファであるバッファ910と、バッファ910からクロック配線されたFF911乃至913とを含む。CTSブロック92は、CTS最終段バッファであるバッファ920と、バッファ920からクロック配線されたFF921乃至923とを含む。以下、同様に、CTSブロック9n(nは、3以上の整数)まで存在するものとする。
このとき、レイアウト装置Xは、各CTSブロックについて、CTS最終段バッファからFFまでの最長配線長を選出する(S93)。例えば、レイアウト装置Xは、CTSブロック91における最長配線長として、バッファ910からFF912の間の配線長L1を選出する。また、レイアウト装置Xは、CTSブロック92における最長配線長として、バッファ920からFF921の間の配線長L2を選出する。以下、同様に、レイアウト装置Xは、CTSブロック9nにおける最長配線長として、バッファ9n0からFF9n3の間の配線長Lnを選出する。
そして、レイアウト装置Xは、各CTSブロックにおける選出された最長配線長を用いて平均値Lを算出する(S94)。すなわち、レイアウト装置Xは、以下の式(1)により、最長配線長の平均値Lavgを求める。
( L1 +L2 +.........+Ln )/n=Lavg ・・・(1)
続いて、レイアウト装置Xは、以下の式(2)を満たす座標(x、y)にFFを再配置する(S95)。すなわち、レイアウト装置Xは、各CTSブロックにおけるCTS最終段バッファを原点としたx軸及びy軸の二次元座標において、式(2)を満たす正方形の辺上に各FFを配置し直す。
L=|x|+|y| ・・・(2)
そして、レイアウト装置Xは、各CTSブロックについて、CTS最終段バッファから再配置された各FFまでを最短で配線する(S96)。すなわち、レイアウト装置Xは、原点のCTS最終段バッファから各FFまでをx軸又はy軸に平行な直線を組み合わせて配線を行う。これにより、特許文献1では、最終段バッファから各FFまでの配線長を平均配線長距離に近づける。
図12は、特許文献1にかかる半導体集積回路のレイアウト方法における配置の概念を説明する図である。CTSブロック91では、バッファ910とFF911、912及び913のそれぞれとの間の実線で示す配線長が等しいことを示す。同様に、CTSブロック92では、バッファ920とFF921、922及び923のそれぞれとの間の実線で示す配線長が等しいことを示す。
図13は、特許文献1にかかる半導体集積回路のレイアウト方法における配置の概念を説明する図である。まず、原点には、あるCTSブロックにおけるCTS最終段バッファが配置されているものとする。そして、x軸及びy軸上の正と負の方向に、最長配線長の平均値Lavgとなる点をa、b、c及びdとする。そして、点a、b、c及びdを頂点として点線で結ぶことにより、正方形となる。当該正方形は、正方形の辺上の座標を(x、y)とした時、式(2)を用いて表すことができる。また、第1象限〜第4象限におけるLは、以下の式(21)〜(24)で表すことができる。
(第1象限)L= x + y ・・・(21)
(第2象限)L=−x + y ・・・(22)
(第3象限)L=−x − y ・・・(23)
(第4象限)L= x − y ・・・(24)
例えば、図13の点B(x1、y1)にFFが配置され、原点であるCTS最終段バッファから、O−A−Bという経路で配線がされた場合、配線長は、以下の式(3)となる。
OA+AB=x1+y1=Lavg ・・・(3)
また同様に、図13の点E(x2、y2)にFFが配置され、原点であるCTS最終段バッファから、O−C−D−Eという経路で配線がされた場合、配線長は、以下の式(4)となる。
OC+CD+DE=(OC+DE)+CD=|x2|+|y2|=Lavg ・・・(4)
その後、レイアウト装置Xは、概略配線(S97)、詳細配線(S98)、検証(S99)を行う。
特開2000−348083号公報
しかしながら、特許文献1にかかる手法では、タイミング収束が十分でないという問題点がある。その理由は、特許文献1では、各FFの周辺の配置状況の制約からCTS最終段バッファからの配線長を完全に平均距離に一致させることが困難なためである。また、仮に、配線長を完全に平均距離に一致させたとしても、各FFにとって最適なタイミングエラーとなるとは限らない。そのため、スキューが生じ得るため、十分にタイミング収束することができない場合がある。
本発明の第1の態様にかかる半導体集積回路のレイアウト方法は、半導体集積回路に搭載され、同一のクロックルートからクロックが分配されるN個(Nは、3以上の整数)の順序回路のうち、M個(Mは、2以上かつN以下の整数)の順序回路を選択し、前記選択されたM個の順序回路を、M個の入力端子及び出力端子と、前記クロックルートから分配されるクロックを受け付ける1個のクロック端子とを有する1個の多データ入出力順序回路へ置換する。
本発明の第2の態様にかかる半導体集積回路のレイアウトシステムは、半導体集積回路に搭載され、同一のクロックルートからクロックが分配されるN個(Nは、3以上の整数)の順序回路の配置情報を記憶する記憶部と、前記半導体集積回路における前記順序回路のレイアウトを行う制御部と、を備えるコンピュータを用いた半導体集積回路のレイアウトシステムであって、前記制御部は、前記N個の順序回路のうち、M個(Mは、2以上かつN以下の整数)の順序回路を選択する選択手段と、前記選択されたM個の順序回路を、M個の入力端子及び出力端子と、前記クロックルートから分配されるクロックを受け付ける1個のクロック端子とを有する1個の多データ入出力順序回路へ置換する置換手段と、を備える。
本発明の第3の態様にかかる半導体集積回路のレイアウトプログラムは、半導体集積回路に搭載され、同一のクロックルートからクロックが分配されるN個(Nは、3以上の整数)の順序回路のうち、M個(Mは、2以上かつN以下の整数)の順序回路を選択する選択処理と、前記選択されたM個の順序回路を、M個の入力端子及び出力端子と、前記クロックルートから分配されるクロックを受け付ける1個のクロック端子とを有する1個の多データ入出力順序回路へ置換する置換処理と、を含む処理をコンピュータに実行させる。
上述したように、本発明の第1乃至第3の態様により、M個の順序回路が1個の多ビットフリップフロップ等の多データ入出力順序回路に置き換わる。置換前には、異なる複数の順序回路のそれぞれに対して、同一のクロックルートからクロックを分配して入力されていたために、タイミングエラーが発生しやすい状態であった。それに比べて、本発明による置換後は、複数の順序回路と同等のデータ処理を実現しつつ、クロックの入力を一つにまとめることで、クロックの遅延を抑えることができる。これにより、スキューが生じにくくなり、タイミング収束を効率的に行うことができる。
本発明により、タイミング収束性を向上させる半導体集積回路のレイアウト方法、レイアウトシステム及びレイアウトプログラムを提供することができる。
本発明の実施の形態1にかかる半導体集積回路のレイアウト方法を実施する情報システムの構成を示すブロック図である。 本発明の実施の形態1にかかる半導体集積回路のレイアウト方法を実施するレイアウト装置のハードウェア構成を示すブロック図である。 本発明の実施の形態1にかかる半導体集積回路のレイアウト方法の適用対象とする回路図の例を示す図である。 本発明の実施の形態1にかかる半導体集積回路のレイアウト方法の適用後の回路図の例を示す図である。 本発明の実施の形態1にかかる半導体集積回路のレイアウト方法の処理の流れを示すフローチャート図である。 本発明の実施の形態1にかかるCTS前タイミング解析処理(前半)の流れを示すフローチャート図である。 本発明の実施の形態1にかかるCTS前タイミング解析処理(後半)の流れを示すフローチャート図である。 本発明の実施の形態1にかかるCTS後タイミング解析処理(前半)の流れを示すフローチャート図である。 本発明の実施の形態1にかかるCTS後タイミング解析処理(後半)の流れを示すフローチャート図である。 関連技術にかかる半導体集積回路のレイアウト方法の処理の流れを示すフローチャート図である。 関連技術にかかる半導体集積回路のレイアウト方法におけるCTS工程後の回路図の例を示す図である。 関連技術にかかる半導体集積回路のレイアウト方法における配置の概念を説明する図である。 関連技術にかかる半導体集積回路のレイアウト方法における配置の概念を説明する図である。
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
<発明の実施の形態1>
図1は、本発明の実施の形態1にかかる半導体集積回路のレイアウト方法を実施するレイアウトシステム100の構成を示すブロック図である。レイアウトシステム100は、ネットワーク103を介して接続されるサーバ装置101と、コンピュータ装置104a、104b、・・・、104nとを備えるコンピュータシステムである。ネットワーク103は、インターネット、イントラネット、公衆網、専用線等の通信ネットワークである。
サーバ装置101は、記憶装置102を含むコンピュータ装置である。尚、サーバ装置101のその他の構成及び動作は、公知なものであるため、図示及び詳細な説明を省略する。記憶装置102には、少なくともレイアウトプログラム1021が格納されている。記憶装置102は、例えば、ハードディスクドライブ、フラッシュメモリ等の記憶媒体又は不揮発性の記憶装置でもよいし、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置であってもよい。サーバ装置101は、ネットワーク103を介してクライアント端末であるコンピュータ装置104a乃至104nと接続される。サーバ装置101は、コンピュータ装置104a乃至104nのいずれかからの要求に応じて、記憶装置102に格納されたレイアウトプログラム1021を、ネットワーク42を介して要求元へ提供する。
コンピュータ装置104a乃至104nは、サーバ装置101からレイアウトプログラム1021を取得し、内蔵する記憶装置(不図示)に記憶して実行することにより、本発明の実施の形態1にかかる半導体集積回路のレイアウト処理を実現するコンピュータ装置である。コンピュータ装置104a乃至104nは、例えば、エンジニアリングワークステーション等である。
尚、本発明の実施の形態1は、図1に示したレイアウトシステム100のようなコンピュータシステムに限定されない。例えば、本発明の実施の形態1にかかるレイアウトシステム100は、単一のコンピュータ装置により実現しても構わない。その場合、例えば、コンピュータ装置104aに予めレイアウトプログラム152を内蔵することで実現可能である。
図2は、本発明の実施の形態1にかかる半導体集積回路のレイアウト方法を一台のコンピュータ装置により実施するレイアウト装置10のハードウェア構成を示すブロック図である。レイアウト装置10は、CPU(Central Processing Unit)110と、RAM(Random Access Memory)120と、ROM(Read Only Memory)130と、IF(InterFace)部140と、ハードディスク150とを備えるコンピュータ装置である。また、ハードディスク150は、不揮発性記憶装置であり、OS(Operating System)151及びレイアウトプログラム152を格納する。尚、ハードディスク150には、レイアウトに関する情報やCTSやタイミング解析を行うためのコンピュータプログラムを格納しても構わない。レイアウトに関する情報とは、例えば、レイアウト対象の半導体集積回路に搭載されるフリップフロップ等の順序回路の配置情報及び配線情報等である。
CPU110は、レイアウト装置10における各種処理、RAM120、ROM130、IF部140及びハードディスク150へのアクセス等を制御する制御装置である。IF部140は、レイアウト装置10の外部とのデータの入出力を行う。レイアウト装置10は、CPU110がハードディスク150に格納されたOS151及びレイアウトプログラム152等を読み込み、実行する。これにより、レイアウト装置10は、半導体集積回路のレイアウト処理として実現する。
図3は、本発明の実施の形態1にかかる半導体集積回路のレイアウト方法の適用対象とする半導体集積回路200の回路図の例を示す図である。半導体集積回路200は、入力端子T1に外部からのデータ信号D1が入力され、入力端子T2に外部からのデータ信号D2が入力され、クロック入力端子CLK0にクロックルートからクロック信号CLKが入力される。また、半導体集積回路200は、出力端子T3から外部へデータ信号D3を出力し、出力端子T4から外部へデータ信号D4を出力する。また、半導体集積回路200に搭載されるFF1〜FF8のそれぞれは、1ビットのデータの入力を受け付けるための入力端子DATA1〜DATA8と、1ビットのデータの出力を行うための出力端子OUT1〜OUT8と、同一のクロックルートからクロック信号CLKが分配されて入力されるクロック入力端子CLK1〜CLK8とを有する順序回路の一例であるフリップフロップ回路である。
ここで、図3に示す半導体集積回路200の回路素子の接続関係を説明する。FF5は、入力端子DATA5に入力端子T1を接続し、出力端子OUT5に後段のセル15の入力端子を接続する。また、FF5は、クロック入力端子CLK5にクロック入力端子CLK0を接続する。セル15は、その出力端子に、組合せ回路を経由してFF1の前段のセル18の入力端子を接続する。セル18は、その出力端子に、FF1の入力端子DATA1を接続する。
FF1は、出力端子OUT1に後段のセル11の入力端子を接続する。また、FF1は、クロック入力端子CLK1にクロック入力端子CLK0を接続する。
FF6は、入力端子DATA6に入力端子T2を接続し、出力端子OUT6に後段のセル16の入力端子を接続する。また、FF6は、クロック入力端子CLK6にクロック入力端子CLK0を接続する。セル16は、その出力端子に、組合せ回路を経由してFF2の前段のセル17の入力端子を接続する。セル17は、その出力端子に、FF2の入力端子DATA2を接続する。
FF2は、出力端子OUT2に後段のセル12の入力端子の一つを接続する。また、FF2は、クロック入力端子CLK2にクロック入力端子CLK0を接続する。
セル11は、その出力端子に、組合せ回路を経由してFF4の前段のセル14の入力端子と、セル12の入力端子の一つとを接続する。セル14は、その出力端子に、FF4の入力端子DATA4を接続する。FF4は、出力端子OUT4に、後段のセル19の入力端子を接続する。また、FF4は、クロック入力端子CLK4にクロック入力端子CLK0を接続する。
セル12は、その出力端子に、組合せ回路を経由してFF3の前段のセル13の入力端子を接続する。セル13は、その出力端子に、FF3の入力端子DATA3を接続する。FF3は、出力端子OUT3に、後段のセル20の入力端子を接続する。また、FF3は、クロック入力端子CLK3にクロック入力端子CLK0を接続する。
セル19は、その出力端子に、組合せ回路を経由してFF8の前段のセル22の入力端子を接続する。セル22は、その出力端子に、FF8の入力端子DATA8を接続する。FF8は、出力端子OUT8に出力端子T3を接続する。また、FF8は、クロック入力端子CLK8にクロック入力端子CLK0を接続する。
セル20は、その出力端子に、組合せ回路を経由してFF7の前段のセル21の入力端子を接続する。セル21は、その出力端子に、FF7の入力端子DATA7を接続する。FF7は、出力端子OUT7に出力端子T4を接続する。また、FF7は、クロック入力端子CLK7にクロック入力端子CLK0を接続する。
図4は、本発明の実施の形態1にかかる半導体集積回路のレイアウト方法の適用後の半導体集積回路200の回路図の例を示す図である。具体的には、図4は、図3のFF1、FF2、FF3及びFF4の4セルがFF1eに置換されたものである。FF1eは、1つのクロック信号の入力を受け付け、4ビットのデータの入力を受け付け、4ビットのデータを出力する順序回路の一例である多ビットフリップフロップ回路である。具体的には、FF1eは、1ビットのデータの入力を受け付けるための4個の入力端子DATA1〜DATA4と、1ビットのデータの出力を行うための4個の出力端子OUT1〜OUT4と、クロック信号CLKが分配されて入力される1個のクロック入力端子CLK1eとを有する。言い換えると、FF1eは、置換対象のFF1〜FF4と同数の入力端子及び出力端子と、クロックルートから分配されるクロックを受け付ける1個のクロック端子とを有する1個の多データ入出力順序回路といえる。尚、図4において、FF5、セル15、FF6、セル16、セル22、FF8、セル21、FF7の構成は、図3と同じであるため説明を省略する。
ここで、図4に示す半導体集積回路200の回路素子の接続関係を説明する。FF1eは、入力端子DATA1にセル18の出力端子を接続し、入力端子DATA2にセル17の出力端子を接続し、入力端子DATA3にセル13の出力端子を接続し、入力端子DATA4にセル14の出力端子を接続する。また、FF1eは、出力端子OUT1にセル11の入力端子を接続し、出力端子OUT2にセル12の入力端子の一つを接続し、出力端子OUT3にセル20の入力端子を接続し、出力端子OUT4にセル19の入力端子を接続する。また、FF1eは、クロック入力端子CLK1eにクロック入力端子CLK0を接続する。
セル11は、その出力端子に、組合せ回路を経由してセル14の入力端子と、セル12の入力端子の一つとを接続する。セル14は、その出力端子に、FF1eの入力端子DATA4を接続する。セル12は、その出力端子に、組合せ回路を経由してセル13の入力端子を接続する。セル13は、その出力端子に、FF1eの入力端子DATA3を接続する。また、図4のセル11〜14のそれぞれは、図3のセル11〜14と同一のセルタイプであり、同一の配置座標に配置されたものである。
ここで、図3及び図4を用いて、本発明の実施の形態1にかかる半導体集積回路のレイアウト方法における多ビットFF回路への置換の例を説明する。まず、前提として図3における配置距離について説明する。距離LAは、セル18とFF1との間の配置座標に基づく距離を示す。また、距離LBは、FF1とセル11との間の配置座標に基づく距離を示す。距離LCは、セル11とセル14との間の配置座標に基づく距離を示す。距離LDは、セル14とFF4との間の配置座標に基づく距離を示す。距離LEは、FF4とセル19との間の配置座標に基づく距離を示す。距離LFは、FF5とFF1との間の配置座標に基づく距離を示す。距離LGは、FF4とFF8との間の配置座標に基づく距離を示す。
そして、本発明の実施の形態1にかかる置換の例としては、図3のFF1、FF2、FF3及びFF4の4つのフリップフロップ回路が、図4のFF1eで示す一つの多ビットFF回路に置換されたことを挙げることができる。そして、当該置換処理においては、セル11、セル12、セル13、セル14、セル17、セル18、セル19及びセル20の配置位置は変更されない。
このとき、当該置換処理により図3から図4へ配置距離が変化する。例えば、セル18から、FF1、セル11、セル14及びFF4を経由して、セル19までのセル又はFF間の配置距離については、距離LCを除いて次のように変化する。具体的には、図3では、セル18からFF1の入力端子DATA1までの配置距離が距離LAであったのに対し、図4では、セル18からFF1eの入力端子DATA1までの配置距離が「距離LA+距離LA1+距離LA2」と変化する。また、図3では、FF1の出力端子OUT1からセル11までの配置距離が距離LBであったのに対し、図4では、FF1eの出力端子OUT1からセル11までの配置距離が「距離LB1+距離LB2」と変化する。また、図3では、セル14からFF4の入力端子DATA4までの配置距離が距離LDであったのに対し、図4では、セル14からFF1eの入力端子DATA4までの配置距離が「距離LD1+距離LD2」と変化する。また、図3では、FF4の出力端子OUT4からセル19までの配置距離が距離LEであったのに対し、図4では、FF1eの出力端子OUT4からセル19までの配置距離が「距離LE1+距離LE2+距離LE」と変化する。
尚、セル17から、FF2、セル12、セル13及びFF3を経由して、セル20までのセル又はFF間の配置距離については、セル12とセル13間を除いて同様に変化する。
図5は、本発明の実施の形態1にかかる半導体集積回路のレイアウト方法の処理の流れを示すフローチャート図である。ここでは、予め半導体集積回路200にN個(Nは、3以上の整数)のフリップフロップ回路が配置及び配線済みであるものとする。
まず、レイアウト装置10は、CTS前のタイミング解析処理を実行する(S11)。すなわち、レイアウト装置10は、CTSを実施する前に、レイアウト対象のN個のフリップフロップ回路のうち、M個(Mは、2以上かつN以下の整数)の順序回路を選択する。そして、レイアウト装置10は、選択されたM個の順序回路を、M個の入力端子及び出力端子と、1個のクロック端子とを有する1個の多ビットFF回路へ置換する。
より具体的には、レイアウト装置10は、半導体集積回路200に搭載される複数のフリップフロップ回路の配置情報に基づき、タイミング解析処理の対象となる2つのFFの組合せである対象FF組を選択する。そして、レイアウト装置10は、選択した対象FF組が多ビットFF回路に置換可能か否かを判定する。例えば、レイアウト装置10は、選択した対象FF組を多ビットFF回路に置換すると仮定する。そして、レイアウト装置10は、当該仮定した場合の配置移動距離を考慮した場合に、タイミングエラーとなるか否かを判定する。そして、置換可能であると判定した場合、つまり、タイミングエラーとならない場合、レイアウト装置10は、当該選択された対象FF組を1個の多ビットFF回路へ置換する。
すなわち、ステップS11において、レイアウト装置10は、選択されたM個の順序回路のそれぞれの前段パス及び後段パスについて、選択されたM個の順序回路の配置情報と、置換されたと仮定した場合の多ビットFF回路の配置情報とを用いて、多ビットFF回路に置換されたと仮定した場合のタイミング検証を実施する。そして、レイアウト装置10は、タイミング検証を実施した全ての前段パス及び後段パスについてタイミングエラーが発生しない場合に、多ビットFF回路へ置換することが望ましい。これにより、多ビットFF回路へ置換すべき対象FF組をより正確に特定することができ、置換により効果を高めることができる。
さらに、ステップS11において、レイアウト装置10は、N個の順序回路についてタイミング解析を行い、タイミングエラーが発生した順序回路の一部又は全部をM個の順序回路として選択し、当該選択されたM個の順序回路を1個の多ビットFF回路へ置換するとよい。
次に、レイアウト装置10は、CTS前のタイミング解析処理済みの半導体集積回路200の配置情報に基づき、CTSを実行する(S12)。
そして、レイアウト装置10は、CTS後のタイミング解析処理を実行する(S13)。すなわち、レイアウト装置10は、CTS実施後に、半導体集積回路200に搭載されるN個の順序回路のうち、ステップS11において置換されなかった順序回路と、ステップS11において置換された多ビットFF回路との中から複数の順序回路を選択する。そして、レイアウト装置10は、CTS実施後のクロックスキュー値を考慮して、当該選択された複数の順序回路を1個の多ビットFF回路へ置換する。
つまり、ステップS13において、レイアウト装置10は、ステップS11の処理に加えて、選択されたM個の順序回路のそれぞれの前段パス及び後段パスについて、CTS実施後のクロックスキュー値をさらに用いて、タイミング検証を実施する。
さらに、ステップS13において、レイアウト装置10は、CTS実施後にクロックスキュー値を算出し、クロックスキュー値が所定値を超えたパスに対応する順序回路の一部又は全部を前記M個の順序回路として選択し、当該選択されたM個の順序回路を1個の多ビットFF回路へ置換するとよい。
また、ステップS13において、レイアウト装置10は、選択されたM個の順序回路のそれぞれの前段パス及び後段パスについて、クロックのOCV値をさらに用いて、タイミング検証を実施するとよい。
尚、ステップS101及びS103にて置換対象となるFF組は、同一クロック、かつ、同期クロックのFF組である。
続いて、図6及び図7を用いて、図5のステップS11のCTS前タイミング解析処理の流れを説明する。図6は、本発明の実施の形態1にかかるCTS前タイミング解析処理(前半)の流れを示すフローチャート図である。図7は、本発明の実施の形態1にかかるCTS前タイミング解析処理(後半)の流れを示すフローチャート図である。
前提として、RAM120には、予めタイミング解析対象となる半導体集積回路200に搭載されるN個のFFを識別する情報と、各FFの配置座標を含む配置情報とが記憶されているものとする。このとき、説明の便宜上、半導体集積回路200が図3の状態であるものとする。また、RAM120には、タイミング解析対象として選択され処理済みのFFの組合せを登録するための処理済みリストの領域が確保されているものとする。尚、CTS前タイミング解析処理の開始時において、処理済みリストには、FFの組合せが登録されていないものとする。または、処理済みリストには、当該タイミング解析対象の対象外とするFFについて予め登録しておいてもよい。
まず、レイアウト装置10は、タイミング解析対象のFF組(始点FFと終点FF)を抽出する(S201)。例えば、図3において、レイアウト装置10は、始点FFをFF1、終点FFをFF4とした組合せを対象FF組として選択する。併せて、レイアウト装置10は、始点FFをFF1、終点FFをFF3とした組合せと、始点FFをFF2、終点FFをFF3とした組合せとを選択する。つまり、対象FF組として3つが選択されたものとする。
尚、対象FF組の選択の仕方は、任意に定めることができる。例えば、レイアウト装置10は、外部から予めタイミング解析対象の矩形領域として図3のFF1、FF2、FF3及びFF4を囲む点線の領域の指定を受け付け、当該指定領域内の上述した3つの対象FF組を選択するようにしてもよい。または、レイアウト装置10は、指定領域から上述した3つの対象FF組のうち、一つを選択し、以後、ステップS201が実行される度に、指定領域内の未選択の対象FF組を選択するようにしてもよい。または、レイアウト装置10は、ステップS201が実行される度に、都度、指定領域を受け付けるようにしても構わない。
さらに、レイアウト装置10は、指定領域の受け付けを必要とせず、セルや組合せ回路を経由して接続された2つのFFの組み合わせを対象FF組として選択してもよい。または、対象FF組は、2つずつである必要はない。例えば、始点FFをFF1として、FF1から接続されるFF4及びFF3を終点FFとし、FF1、FF3及びFF4を対象FF組としてもよい。さらには、FF1、FF2、FF3及びFF4を対象FF組として選択してもよい。つまり、半導体集積回路200に搭載される全てのFFのうち、少なくとも2以上のFFが選択されればよい。
次に、レイアウト装置10は、対象FF組の各FFが処理済みリストに未登録であるか否かを判定する(S202)。すなわち、レイアウト装置10は、RAM120に格納された処理済みリストを参照し、ステップS201により抽出した対象FF組の各FFが登録されているか否かを判定する。
ステップS202において、処理済みリストに登録済みであると判定した場合、後述するステップS217へ進む。また、ステップS202において、処理済みリストに未登録であると判定した場合、レイアウト装置10は、対象FF組においてタイミングエラーが発生しているか否かを判定する(S203)。すなわち、レイアウト装置10は、当該タイミング解析処理の開始前の半導体集積回路200におけるFFの配置位置において、対象FF組の始点FFと終点FFとの間でタイミングエラーが発生しているか否かを判定する。
ステップS203において、タイミングエラーが発生していると判定した場合、レイアウト装置10は、以下の式(51)に従い、RAM120内に変数aとして最悪タイミングエラー値を代入する(S204)。
a = 最悪タイミングエラー値 ・・・(51)
ステップS203において、タイミングエラーが発生していないと判定した場合、レイアウト装置10は、以下の式(52)に従い、RAM120内に変数aとして最悪タイミングマージン値、つまり、タイミング余裕値を代入する(S205)。
a = 最悪タイミングマージン値 ・・・(52)
その後、レイアウト装置10は、対象FF組を多ビットFF(置換FF)へ置換したと仮定した場合の配置位置を登録する(S206)。すなわち、レイアウト装置10は、対象FF組の始点FFと終点FFの中間位置を置換後の配置位置として決定し、決定した配置位置をRAM120に登録する。例えば、図3のFF1、FF2、FF3及びFF4を置換FFであるFF1eに置換したと仮定した場合、FF1eの配置位置が登録される。尚、当該置換後の配置位置の決定方法は、任意であるが、具体例については、後述する。
続いて、レイアウト装置10は、置換FFの後段パスについての遅延値を算出する(S207)。すなわち、まず、レイアウト装置10は、以下の式(61)及び(62)に従い、距離Lb1及びLb2を算出する。そして、以下の式(63)に従い、遅延値bを算出する。
Lb1 = 置換FFから後段セルまでの距離 ・・・(61)
Lb2 = 置換前の始点FFから後段セルまでの距離 ・・・(62)
b = Lb1とLb2との差分距離から換算した遅延値 ・・・(63)
例えば、対象FF組がFF1及びFF4であり、FF1eに置換されたと仮定した場合、まず、レイアウト装置10は、FF1eの出力端子OUT1からセル11までの距離である「距離LB1+距離LB2」を距離Lb1として算出する。また、レイアウト装置10は、FF1の出力端子OUT1からセル11までの距離である距離LBを距離Lb2として算出する。そして、レイアウト装置10は、距離Lb1と距離Lb2の差分距離を算出する。そして、レイアウト装置10は、当該差分距離による影響を遅延時間に換算して遅延値bを算出し、遅延値bをRAM120に登録する。
次に、レイアウト装置10は、前段パスについての遅延値を算出する(S208)。すなわち、まず、レイアウト装置10は、以下の式(71)及び(72)に従い、距離Lc1及びLc2を算出する。そして、以下の式(73)に従い、遅延値cを算出する。
Lc1 = 前段セルから置換FFまでの距離 ・・・(71)
Lc2 = 前段セルから置換前の終点FFまでの距離 ・・・(72)
c = Lc1とLc2との差分距離から換算した遅延値 ・・・(73)
例えば、対象FF組がFF1及びFF4であり、FF1eに置換されたと仮定した場合、まず、レイアウト装置10は、セル14からFF1eの入力端子DATA4までの距離である「距離LD1+距離LD2」を距離Lc1として算出する。また、レイアウト装置10は、セル14からFF4の入力端子DATA4までの距離である距離LDを距離Lc2として算出する。そして、レイアウト装置10は、距離Lc1と距離Lc2の差分距離を算出する。そして、レイアウト装置10は、当該差分距離による影響を遅延時間に換算して遅延値cを算出し、遅延値cをRAM120に登録する。
尚、対象FF組がFF1及びFF3並びにFF2及びFF3である場合についても同様に遅延値b及び遅延値cを算出し、登録する。
ここで、レイアウト装置10は、多ビットFF回路への置換に伴う配置位置の移動距離で生じた遅延変化分を含めて、タイミングエラーとならないか否かを判定する(S209)。具体的には、レイアウト装置10は、変数aが「遅延値b+遅延値c」に比べて大きいか否かを判定する。ステップS209において、タイミングエラーとなると判定した場合、ステップS216へ進む。
ステップS209において、タイミングエラーとならないと判定した場合、レイアウト装置10は、対象FF組の始点FFを終点FFとするFF組である前パスFF組の最悪タイミングマージン値を、以下の式(81)に従い、RAM120内に変数dとして代入する(S210)。
d = 最悪タイミングマージン値 ・・・(81)
例えば、対象FF組がFF1及びFF4である場合、始点FFであるFF1を終点FFとするため、前パスFF組は、FF5及びFF1となる。そのため、変数dには、FF5及びFF1における最悪タイミングマージン値が登録される。
そして、レイアウト装置10は、対象FF組の終点FFを始点FFとするFF組である後パスFF組の最悪タイミングマージン値を、以下の式(82)に従い、RAM120内に変数eとして代入する(S211)。
e = 最悪タイミングマージン値 ・・・(82)
例えば、対象FF組がFF1及びFF4である場合、終点FFであるFF4を始点FFとするため、後パスFF組は、FF4及びFF8となる。そのため、変数eには、FF4及びFF8における最悪タイミングマージン値が登録される。
尚、対象FF組がFF1及びFF3である場合、前パスFF組はFF5及びFF1となり、後パスFF組はFF3及びFF7となる。また、対象FF組がFF2及びFF3である場合、前パスFF組はFF6及びFF2となり、後パスFF組はFF3及びFF7となる。これらの場合も同様に、変数d及び変数eを算出し、登録する。
続いて、レイアウト装置10は、ステップS210により登録された対象FF組の前パスFF組の最悪タイミングマージン値に基づいて、遅延値を算出する(S212)。すなわち、まず、レイアウト装置10は、以下の式(91)及び(92)に従い、距離Lf1及びLf2を算出する。そして、以下の式(93)に従い、遅延値fを算出する。
Lf1 = 前パス最終段セルから置換FFまでの距離 ・・・(91)
Lf2 = 前パス最終段セルから置換前の始点FFまでの距離 ・・・(92)
f = Lf1とLf2との差分距離から換算した遅延値 ・・・(93)
例えば、前パスFF組がFF5及びFF1である場合、まず、レイアウト装置10は、セル18からFF1eの入力端子DATA1までの距離である「距離LA+距離LA1+距離LA2」を距離Lf1として算出する。また、レイアウト装置10は、セル18からFF1の入力端子DATA1までの距離である距離LAを距離Lf2として算出する。そして、レイアウト装置10は、距離Lf1と距離Lf2の差分距離を算出する。そして、レイアウト装置10は、当該差分距離による影響を遅延時間に換算して遅延値fを算出し、遅延値fをRAM120に登録する。
次に、レイアウト装置10は、ステップS211により登録された対象FF組の後パスFF組の最悪タイミングマージン値に基づいて、遅延値を算出する(S213)。すなわち、まず、レイアウト装置10は、以下の式(101)及び(102)に従い、距離Lg1及びLg2を算出する。そして、以下の式(103)に従い、遅延値gを算出する。
Lg1 = 置換FFから後パス初段セルまでの距離 ・・・(101)
Lg2 = 置換前の始点FFから後パス初段セルまでの距離 ・・・(102)
g = Lg1とLg2との差分距離から換算した遅延値 ・・・(103)
例えば、後パスFF組がFF4及びFF8である場合、まず、レイアウト装置10は、FF1eの出力端子OUT4からセル19までの距離である「距離LE1+距離LE2+距離LE」を距離Lg1として算出する。また、レイアウト装置10は、FF4の出力端子OUT4からセル19までの距離である距離LEを距離Lg2として算出する。そして、レイアウト装置10は、距離Lg1と距離Lg2の差分距離を算出する。そして、レイアウト装置10は、当該差分距離による影響を遅延時間に換算して遅延値gを算出し、遅延値gをRAM120に登録する。
尚、対象FF組がFF1及びFF3並びにFF2及びFF3である場合についても、それぞれ前パスFF組及び後パスFF組について同様に遅延値f及び遅延値gを算出し、登録する。
ここで、レイアウト装置10は、多ビットFF回路への置換に伴う配置位置の移動距離で生じた遅延変化分を含めて、タイミングエラーとならないか否かを判定する(S214)。具体的には、レイアウト装置10は、変数dが遅延値fに比べて大きく、かつ、変数eが遅延値gに比べて大きいか否かを判定する。ステップS214において、タイミングエラーとなると判定した場合、ステップS216へ進む。
ステップS214において、タイミングエラーとならないと判定した場合、レイアウト装置10は、対象FF組を多ビットFF回路に置換する(S215)。すなわち、レイアウト装置10は、RAM120内の対象FF組の配置情報を削除し、ステップS206において登録した多ビットFF回路の配置位置を配置情報として登録する。
そして、レイアウト装置10は、対象FF組の各FFを処理済みリストへ登録する(S216)。つまり、レイアウト装置10は、ステップS201において選択された対象FF組の各FFの識別情報をRAM120内に登録する。
その後、レイアウト装置10は、タイミング解析対象FFの全てが処理済みリストに登録済みであるか否かを判定する(S217)。未登録のFFが存在すると判定した場合、ステップS201へ進む。ステップS217において、全てのFFが処理済みリストに登録済みであると判定した場合、当該CTS前のタイミング解析処理を終了する。
続いて、図8及び図9を用いて、図5のステップS13のCTS後タイミング解析処理の流れを説明する。図8は、本発明の実施の形態1にかかるCTS後タイミング解析処理(前半)の流れを示すフローチャート図である。図9は、本発明の実施の形態1にかかるCTS後タイミング解析処理(後半)の流れを示すフローチャート図である。尚、以下の説明において、図6及び図7と同等の処理については、適宜、詳細な説明を省略する。
ここで、例えば、図5のステップS11において、複数のFFが多ビットFF回路へ置換された場合には、図4における各FFにおける配置情報がCTS後のタイミング解析処理の対象となる。また、図5のステップS11において、複数のFFが多ビットFF回路へ置換されなかった場合には、図3における各FFにおける配置情報がCTS後のタイミング解析処理の対象となる。尚、以下では、説明の便宜上、半導体集積回路200が図3の状態であるものとする。
また、前提として、RAM120には、予め、上述したCTS後のタイミング解析対象となる半導体集積回路200に搭載される複数のFFを識別する情報と、各FFの配置座標を含む配置情報とが記憶されているものとする。また、RAM120には、タイミング解析対象として選択され処理済みのFFの組合せを登録するための処理済みリストの領域が確保されているものとする。尚、CTS後タイミング解析処理の開始時において、処理済みリストには、FFの組合せが登録されていないものとする。または、処理済みリストには、当該タイミング解析対象の対象外とするFFについて予め登録しておいてもよい。
まず、レイアウト装置10は、ステップS201と同様に、タイミング解析対象のFF組(始点FFと終点FF)を抽出する(S301)。尚、抽出される対象FF組には、図5のステップS11において置換された多ビットFF回路が始点FF又は終点FFとして含まれても構わない。
次に、ステップS202及びS203と同様に、ステップS302及びS303を行う。ステップS303において、タイミングエラーが発生していると判定した場合、レイアウト装置10は、以下の式(111)に従い、RAM120内に変数hとして最悪タイミングエラー値を、また、以下の式(112)に従い、RAM120内に変数jとしてクロックスキュー値を代入する(S304)。
h = 最悪タイミングエラー値 ・・・(111)
j = クロックスキュー値 = 終点FFのクロック遅延値 − 始点FFのクロック遅延値 ・・・(112)
例えば、対象FF組がFF1及びFF4である場合、終点FFのクロック遅延値は、クロック入力端子CLK0からFF4のクロック入力端子CLK4までの間で、図5のステップS12によるCTSの実行結果により求まるクロック遅延値となる。また、同様に、始点FFのクロック遅延値は、クロック入力端子CLK0からFF1のクロック入力端子CLK1までの間のクロック遅延値となる。
ステップS303において、タイミングエラーが発生していないと判定した場合、レイアウト装置10は、以下の式(113)に従い、RAM120内に変数hとして最悪タイミングマージン値を、また、上記の式(112)に従い、RAM120内に変数jとしてクロックスキュー値を代入する(S305)。
h = 最悪タイミングマージン値 ・・・(113)
その後、レイアウト装置10は、ステップS206と同様に、対象FF組を多ビットFF(置換FF)へ置換したと仮定した場合の配置位置を登録する(S306)。
続いて、レイアウト装置10は、ステップS207と同様に、置換FFの後段パスについての遅延値を算出する(S307)。すなわち、まず、レイアウト装置10は、以下の式(121)及び(122)に従い、距離Lk1及びLk2を算出する。そして、以下の式(123)に従い、遅延値kを算出する。
Lk1 = 置換FFから後段セルまでの距離 ・・・(121)
Lk2 = 置換前の始点FFから後段セルまでの距離 ・・・(122)
k = Lk1とLk2との差分距離から換算した遅延値 ・・・(123)
次に、レイアウト装置10は、ステップS208と同様に、前段パスについての遅延値を算出する(S308)。すなわち、まず、レイアウト装置10は、以下の式(131)及び(132)に従い、距離Lm1及びLm2を算出する。そして、以下の式(133)に従い、遅延値mを算出する。
Lm1 = 前段セルから置換FFまでの距離 ・・・(131)
Lm2 = 前段セルから置換前の終点FFまでの距離 ・・・(132)
m = Lm1とLm2との差分距離から換算した遅延値 ・・・(133)
ここで、レイアウト装置10は、多ビットFF回路への置換に伴う配置位置の移動距離で生じた遅延変化分及びクロック遅延値を考慮して、タイミングエラーとならないか否かを判定する(S309)。具体的には、レイアウト装置10は、「変数h − クロックスキュー値である変数j」が「遅延値k+遅延値m」に比べて大きいか否かを判定する。ステップS309において、タイミングエラーとなると判定した場合、ステップS316へ進む。
ステップS309において、タイミングエラーとならないと判定した場合、レイアウト装置10は、ステップS210と同様に、対象FF組の始点FFを終点FFとするFF組である前パスFF組の最悪タイミングマージン値を、以下の式(141)に従い、RAM120内に変数nとして代入する(S310)。
n = 最悪タイミングマージン値 ・・・(141)
そして、レイアウト装置10は、ステップS211と同様に、対象FF組の終点FFを始点FFとするFF組である後パスFF組の最悪タイミングマージン値を、以下の式(142)に従い、RAM120内に変数pとして代入する(S311)。
p = 最悪タイミングマージン値 ・・・(142)
続いて、レイアウト装置10は、ステップS212と同様に、ステップS310により登録された対象FF組の前パスFF組の最悪タイミングマージン値に基づいて、遅延値を算出する(S312)。すなわち、まず、レイアウト装置10は、以下の式(151)及び(152)に従い、距離Lq1及びLq2を算出する。そして、以下の式(153)に従い、遅延値qを算出する。
Lq1 = 前パス最終段セルから置換FFまでの距離 ・・・(151)
Lq2 = 前パス最終段セルから置換前の始点FFまでの距離 ・・・(152)
q = Lq1とLq2との差分距離から換算した遅延値 ・・・(153)
次に、レイアウト装置10は、ステップS213と同様に、ステップS311により登録された対象FF組の後パスFF組の最悪タイミングマージン値に基づいて、遅延値を算出する(S313)。すなわち、まず、レイアウト装置10は、以下の式(161)及び(162)に従い、距離Lr1及びLr2を算出する。そして、以下の式(163)に従い、遅延値rを算出する。
Lr1 = 置換FFから後パス初段セルまでの距離 ・・・(161)
Lr2 = 置換前の始点FFから後パス初段セルまでの距離 ・・・(162)
r = Lr1とLr2との差分距離から換算した遅延値 ・・・(163)
ここで、レイアウト装置10は、ステップS214と同様に、多ビットFF回路への置換に伴う配置位置の移動距離で生じた遅延変化分を含めて、タイミングエラーとならないか否かを判定する(S314)。具体的には、レイアウト装置10は、変数nが遅延値qに比べて大きく、かつ、変数pが遅延値rに比べて大きいか否かを判定する。ステップS314において、タイミングエラーとなると判定した場合、ステップS316へ進む。
ステップS314において、タイミングエラーとならないと判定した場合、レイアウト装置10は、ステップS215と同様に、対象FF組を多ビットFF回路に置換する(S315)。すなわち、レイアウト装置10は、RAM120内の対象FF組の配置情報を削除し、ステップS306において登録した多ビットFF回路の配置位置を配置情報として登録する。
そして、レイアウト装置10は、ステップS216と同様に、対象FF組の各FFを処理済みリストへ登録する(S316)。つまり、レイアウト装置10は、ステップS301において選択された対象FF組の各FFの識別情報をRAM120内に登録する。
その後、レイアウト装置10は、ステップS217と同様に、タイミング解析対象FFの全てが処理済みリストに登録済みであるか否かを判定する(S317)。未登録のFFが存在すると判定した場合、ステップS301へ進む。ステップS317において、全てのFFが処理済みリストに登録済みであると判定した場合、当該CTS後のタイミング解析処理を終了する。
ここで、本発明の実施の形態1にかかる置換後の配置位置の決定方法の具体例について説明する。ここでは、図3のFF5からセル18、FF1、セル11、セル14、FF4及びセル19を経由したFF8までのパスを対象とする。
このとき、対象FF組をFF1及びFF4とした場合、多ビットFF回路であるFF1eの配置位置は、次のように決定することができる。例えば、タイミングエラー値又はタイミングマージン値といったタイミング情報を考慮しない場合、FF1eの配置位置は、セル18からセル11及びセル14を経由してセル19までのパスの中間位置とすることが望ましい。また、タイミング情報が存在する場合、FF5からFF1のタイミング情報、FF1からFF4のタイミング情報及びFF4からFF8のタイミング情報に基づき、タイミング収束が可能な位置とすることが望ましい。つまり、この場合、上記の中間位置を基準としつつ、それぞれのFF間におけるタイミング余裕値が同一となるような距離比率の位置に多ビットFF回路を配置することが望ましい。
例えば、セル18からセル19のパスの距離が3mmとした場合、中間距離は、1.5mmである。このとき、FF5からFF1のタイミング余裕値が1ns、FF4からFF8のタイミング余裕値が2nsである場合、セル18からFF1eの距離を1mm、FF1eからセル19の距離を2mmとすることが望ましい。
この場合に、さらに、FF1からFF4のタイミング余裕値が−1ns、つまり、タイミング余裕度が無い場合、FF1からセル11の距離及びセル14からFF4の距離を短くすることにより、タイミング収束する可能性がある。そのため、タイミングエラー箇所を特定させることが望ましい。
尚、前段パス又は後段パスのタイミング余裕度が必ずしもプラスである必要はない。例えば、FF5からFF1のタイミング余裕値が−1ns、つまり、タイミング余裕度が無く、FF4からFF8のタイミング余裕値が2nsである場合、セル18からFF1eの距離を0mm、すなわち、FF1eがセル18に隣接し、FF1eからセル19の距離を3mmとするとよい。尚、本発明の実施の形態1にかかる置換後の配置位置の決定方法は、上述したものに限定されない。
以上のことから、本発明の実施の形態1の第1の効果として、クロックスキュー値をゼロに近づけることにより、タイミング収束性が向上することが挙げられる。その理由としては、次の通りである。まず、特許文献1にかかる発明では、クロック配線長が平均値となるように対処する手法である。そのため、上述したように、クロックスキューの影響により、タイミングエラーを完全に収束させることが不可能であった。これに対して、本発明の実施の形態1では、複数のFFを同一のクロック構造を持つ多ビットFF回路へ置き換えるものである。これにより、タイミング解析対象のFF間でクロック遅延時間の差異が無くなる。そして、クロックスキューをゼロに近づけることができる。そのため、クロックスキューの影響によりタイミングエラーとなっているパスをポジティブタイミングスラック(Positive Timing Slack)にすることできるからである。
また、本発明の実施の形態1の第2の効果として、相対ばらつき成分であるOCV(On Chip Variation)をゼロに近づけることにより、タイミング収束性が向上することが挙げられる。その理由としては、次の通りである。まず、本発明の実施の形態1では、OCVの影響により、ネガティブタイミングスラック(Negative Timing Slack)となっているパスに対し、同一クロック構造を持つ、多ビットFF回路へ置き換える。これにより、タイミング解析対象のFF間でのクロック分岐点が存在しなくなる。そして、OCVをゼロに近づけることができる。そのため、OCVの影響でタイミングエラーとなっているパスをポジティブタイミングスラックにすることができるからである。
さらに、本発明の実施の形態1の第3の効果として、面積縮小化が可能となることが挙げられる。その理由としては、次の通りである。まず、本発明の実施の形態1では、FFとFFとの組合せを同一クロック構造を持つ多ビットFF回路へ置換する。これにより、FF内とFF内に各々存在していたクロックのトランジスタ回路が一つの同一トランジスタ回路化される。そのため、FF自体の面積が縮小される。また、特許文献1では、FFとFFのそれぞれにCTSツリーが存在していた。本発明の実施の形態1では、多ビットFF回路に置換することで、CTSツリーが一本化され、CTSツリーバッファ分の面積が縮小されるためである。
また、本発明の実施の形態1の第4の効果として、低消費電力化が可能となることが挙げられる。その理由としては、次の通りである。まず、特許文献1では、FF内のクロック回路とFF内のクロック回路が各々動作するため、電力が各々のFFにおいて消費されていた。これに対して、本発明の実施の形態1では、同一クロック構造を持つ多ビットFF回路への置換により、一つのクロック回路のみの動作となる。そのため、クロック回路を共有して多ビットを一つの回路として動作させることができる。それ故、FFが集約された分だけ、FF自身の消費電力を削減することができる。また、特許文献1では、FFとFFのそれぞれにCTSツリーが存在していた。これに対して、本発明の実施の形態1では、多ビットFF回路に置換することで、CTSツリーが一本化され、CTSツリーにおけるバッファ分の消費電力が削減されるためである。
<その他の発明の実施の形態>
尚、本発明は、以下のように言うことができる。すなわち、半導体集積回路のレイアウト設計であって、多ビットFF回路に置換する方法において、任意の置換対象FF組が同一クロックでかつ同期クロックであり、CTS実施前の配置後に多ビットFF回路置換前後の距離を判断して多ビットFF回路への置換を行なう手段と、CTS実施後に多ビットFF回路置換前後の距離およびクロック遅延から判断して多ビットFF回路への置換を行なう手段とを有することを特徴とする半導体集積回路のレイアウト方法。これにより、クロックスキュー影響によりネガティブタイミングスラックとなっているパスを、同一クロック構造を持つ多ビットFF回路に置換することにより、クロックスキューをゼロに近づけることができる。また、クロックスキュー影響(又はOCV影響)でタイミングエラーとなっているパスをポジティブタイミングスラックとする事ができ、クロックスキューをゼロに近づけることによりタイミング収束性の向上が図ることができる。
また、上記に加えて、CTS実施前のタイミング解析において、距離から換算した遅延値がタイミングマージン範囲内であるかを判断する手段を有することが望ましい。
さらに、上記に加えて、多ビットFF回路への置換により発生した差分距離を遅延換算して、任意の対象FF組および該当FF組の前パスFF組および後パスFF組がタイミングマージン範囲内にあるかを判断し、多ビットFF回路への置換を行なう手段を有することが望ましい。
または、CTS実施後のタイミング解析において、多ビットFF回路への置換により発生した差分距離を遅延換算およびクロック遅延から、任意の対象FF組および該当FF組の前パスFF組および後パスFF組が所望のタイミングであるかを判断し、多ビットFF回路への置換を行なう手段を有するようにしてもよい。
この場合、さらに、任意のFF組の最悪タイミングマージン値または最悪タイミングエラー値とクロックスキュー値の差分が、置換前後の距離を遅延値に換算した差分の総計よりも大きい場合に多ビットFF回路への置換を行なう手段を有するとよい。
または、任意のFF組の最悪タイミングマージン値または最悪タイミングエラー値とクロックのOCV値の差分が、置換前後の距離を遅延値に換算した差分の総計よりも大きい場合に多ビットFF回路への置換を行なう手段を有するようにしてもよい。
または、任意のFF組の最悪タイミングマージン値または最悪タイミングエラー値とクロックスキュー値およびクロックOCV値の差分が、置換前後の距離を遅延値に換算した差分の総計よりも大きい場合に多ビットFF回路への置換を行なう手段を有するとよい。
上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、DVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disc)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
100 レイアウトシステム
101 サーバ装置
102 記憶装置
1021 レイアウトプログラム
103 ネットワーク
104a コンピュータ装置
104b コンピュータ装置
104n コンピュータ装置
10 レイアウト装置
110 CPU
120 RAM
130 ROM
140 IF部
150 ハードディスク
151 OS
152 レイアウトプログラム
200 半導体集積回路
1 FF
2 FF
3 FF
4 FF
5 FF
6 FF
7 FF
8 FF
1e FF
11 セル
12 セル
13 セル
14 セル
15 セル
16 セル
17 セル
18 セル
19 セル
20 セル
21 セル
22 セル
LA 距離
LA1 距離
LA2 距離
LB 距離
LB1 距離
LB2 距離
LC 距離
LD 距離
LD1 距離
LD2 距離
LE 距離
LE1 距離
LE2 距離
LF 距離
LG 距離
CLK0 クロック入力端子
CLK1 クロック入力端子
CLK2 クロック入力端子
CLK3 クロック入力端子
CLK4 クロック入力端子
CLK5 クロック入力端子
CLK6 クロック入力端子
CLK7 クロック入力端子
CLK8 クロック入力端子
CLK1e クロック入力端子
DATA1 入力端子
DATA2 入力端子
DATA3 入力端子
DATA4 入力端子
DATA5 入力端子
DATA6 入力端子
DATA7 入力端子
DATA8 入力端子
OUT1 出力端子
OUT2 出力端子
OUT3 出力端子
OUT4 出力端子
OUT5 出力端子
OUT6 出力端子
OUT7 出力端子
OUT8 出力端子
CLK クロック信号
D1 データ信号
D2 データ信号
D3 データ信号
D4 データ信号
T1 入力端子
T2 入力端子
T3 出力端子
T4 出力端子
a 変数
Lb1 距離
Lb2 距離
b 遅延値
Lc1 距離
Lc2 距離
c 遅延値
d 変数
e 変数
Lf1 距離
Lf2 距離
f 遅延値
Lg1 距離
Lg2 距離
g 遅延値
h 変数
j 変数
Lk1 距離
Lk2 距離
k 遅延値
Lm1 距離
Lm2 距離
m 遅延値
n 変数
p 変数
Lq1 距離
Lq2 距離
q 遅延値
Lr1 距離
Lr2 距離
r 遅延値
91 CTSブロック
910 バッファ
911 FF
912 FF
913 FF
92 CTSブロック
920 バッファ
921 FF
922 FF
923 FF
9n CTSブロック
9n0 バッファ
9n1 FF
9n2 FF
9n3 FF
L1 配線長
L2 配線長
Li 配線長
Ln 配線長
Lavg 平均値
X レイアウト装置

Claims (17)

  1. 半導体集積回路に搭載され、同一のクロックルートからクロックが分配されるN個(Nは、3以上の整数)の順序回路のうち、M個(Mは、2以上かつN以下の整数)の順序回路を選択し、
    前記選択されたM個の順序回路を、M個の入力端子及び出力端子と、前記クロックルートから分配されるクロックを受け付ける1個のクロック端子とを有する1個の多データ入出力順序回路へ置換する
    半導体集積回路のレイアウト方法。
  2. 前記選択されたM個の順序回路のそれぞれの前段パス及び後段パスについて、前記選択されたM個の順序回路の配置情報と、前記置換されたと仮定した場合の前記多データ入出力順序回路の配置情報とを用いて、前記多データ入出力順序回路に置換されたと仮定した場合のタイミング検証を実施し、
    前記タイミング検証を実施した全ての前記前段パス及び前記後段パスについてタイミングエラーが発生しない場合に、前記多データ入出力順序回路へ置換する
    ことを特徴とする請求項1に記載のレイアウト方法。
  3. 前記選択されたM個の順序回路のそれぞれの前段パス及び後段パスについて、CTS実施後のクロックスキュー値をさらに用いて、前記タイミング検証を実施することを特徴とする請求項2に記載のレイアウト方法。
  4. 前記N個の順序回路についてタイミング解析を行い、
    タイミングエラーが発生した順序回路の一部又は全部を前記M個の順序回路として選択し、
    当該選択されたM個の順序回路を1個の前記多データ入出力順序回路へ置換することを特徴とする請求項1乃至3のいずれか1項に記載のレイアウト方法。
  5. CTS実施後にクロックスキュー値を算出し、
    前記クロックスキュー値が所定値を超えたパスに対応する順序回路の一部又は全部を前記M個の順序回路として選択し、
    当該選択されたM個の順序回路を1個の前記多データ入出力順序回路へ置換することを特徴とする請求項3に記載のレイアウト方法。
  6. CTS実施前の前記N個の順序回路の中から、前記M個の順序回路を選択し、
    前記選択されたM個の順序回路を1個の前記多データ入出力順序回路へ置換し、
    前記置換後の配置情報に基づきCTSを実施し、
    前記CTS実施後に、前記N個の順序回路のうち前記置換されなかった順序回路と、前記置換された前記多データ入出力順序回路との中から複数の順序回路を選択し、
    前記CTS実施後のクロックスキュー値を考慮して、前記選択された複数の順序回路を1個の前記多データ入出力順序回路へ置換することを特徴とする請求項1乃至5のいずれか1項に記載のレイアウト方法。
  7. 前記選択されたM個の順序回路のそれぞれの前段パス及び後段パスについて、クロックのOCV値をさらに用いて、前記タイミング検証を実施することを特徴とする請求項2又は3に記載のレイアウト方法。
  8. 半導体集積回路に搭載され、同一のクロックルートからクロックが分配されるN個(Nは、3以上の整数)の順序回路の配置情報を記憶する記憶部と、
    前記半導体集積回路における前記順序回路のレイアウトを行う制御部と、
    を備えるコンピュータを用いた半導体集積回路のレイアウトシステムであって、
    前記制御部は、
    前記N個の順序回路のうち、M個(Mは、2以上かつN以下の整数)の順序回路を選択する選択手段と、
    前記選択されたM個の順序回路を、M個の入力端子及び出力端子と、前記クロックルートから分配されるクロックを受け付ける1個のクロック端子とを有する1個の多データ入出力順序回路へ置換する置換手段と、を備える
    半導体集積回路のレイアウトシステム。
  9. 前記制御部は、
    前記選択されたM個の順序回路のそれぞれの前段パス及び後段パスについて、前記選択されたM個の順序回路の配置情報と、前記置換されたと仮定した場合の前記多データ入出力順序回路の配置情報とを用いて、前記多データ入出力順序回路に置換されたと仮定した場合のタイミング検証を実施するタイミング検証手段をさらに備え、
    前記置換手段は、前記タイミング検証を実施した全ての前記前段パス及び前記後段パスについてタイミングエラーが発生しない場合に、前記多データ入出力順序回路へ置換する
    ことを特徴とする請求項8に記載のレイアウトシステム。
  10. 前記タイミング検証手段は、前記選択されたM個の順序回路のそれぞれの前段パス及び後段パスについて、CTS実施後のクロックスキュー値をさらに用いて、前記タイミング検証を実施することを特徴とする請求項9に記載のレイアウトシステム。
  11. 前記制御部は、
    前記N個の順序回路についてタイミング解析を行うタイミング解析手段をさらに備え、
    前記選択手段は、タイミングエラーが発生した順序回路の一部又は全部を前記M個の順序回路として選択し、
    前記置換手段は、当該選択されたM個の順序回路を1個の前記多データ入出力順序回路へ置換することを特徴とする請求項8乃至10のいずれか1項に記載のレイアウトシステム。
  12. 前記制御部は、
    CTS実施後にクロックスキュー値を算出する算出手段をさらに備え、
    前記選択手段は、前記クロックスキュー値が所定値を超えたパスに対応する順序回路の一部又は全部を前記M個の順序回路として選択し、
    前記置換手段は、当該選択されたM個の順序回路を1個の前記多データ入出力順序回路へ置換することを特徴とする請求項10に記載のレイアウトシステム。
  13. 半導体集積回路に搭載され、同一のクロックルートからクロックが分配されるN個(Nは、3以上の整数)の順序回路のうち、M個(Mは、2以上かつN以下の整数)の順序回路を選択する選択処理と、
    前記選択されたM個の順序回路を、M個の入力端子及び出力端子と、前記クロックルートから分配されるクロックを受け付ける1個のクロック端子とを有する1個の多データ入出力順序回路へ置換する置換処理と、
    を含む処理をコンピュータに実行させる半導体集積回路のレイアウトプログラム。
  14. 前記選択されたM個の順序回路のそれぞれの前段パス及び後段パスについて、前記選択されたM個の順序回路の配置情報と、前記置換されたと仮定した場合の前記多データ入出力順序回路の配置情報とを用いて、前記多データ入出力順序回路に置換されたと仮定した場合のタイミング検証を実施するタイミング検証処理をさらに含み、
    前記置換処理は、前記タイミング検証を実施した全ての前記前段パス及び前記後段パスについてタイミングエラーが発生しない場合に、前記多データ入出力順序回路へ置換することを特徴とする請求項13に記載のレイアウトプログラム。
  15. 前記タイミング検証処理は、前記選択されたM個の順序回路のそれぞれの前段パス及び後段パスについて、CTS実施後のクロックスキュー値をさらに用いて、前記タイミング検証を実施することを特徴とする請求項14に記載のレイアウトプログラム。
  16. 前記N個の順序回路についてタイミング解析を行うタイミング解析処理をさらに含み、
    前記選択処理は、前記タイミング解析処理によりタイミングエラーが発生した順序回路の一部又は全部を前記M個の順序回路として選択し、
    前記置換処理は、当該選択されたM個の順序回路を1個の前記多データ入出力順序回路へ置換することを特徴とする請求項13乃至15のいずれか1項に記載のレイアウトプログラム。
  17. CTS実施後にクロックスキュー値を算出する算出処理をさらに含み、
    前記選択処理は、前記クロックスキュー値が所定値を超えたパスに対応する順序回路の一部又は全部を前記M個の順序回路として選択し、
    前記置換処理は、当該選択されたM個の順序回路を1個の前記多データ入出力順序回路へ置換することを特徴とする請求項15に記載のレイアウトプログラム。
JP2010110969A 2010-05-13 2010-05-13 半導体集積回路のレイアウト方法、レイアウトシステム及びレイアウトプログラム Pending JP2011238163A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010110969A JP2011238163A (ja) 2010-05-13 2010-05-13 半導体集積回路のレイアウト方法、レイアウトシステム及びレイアウトプログラム
US13/099,658 US8751991B2 (en) 2010-05-13 2011-05-03 Layout method, layout system, and non-transitory computer readable medium storing layout program of semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010110969A JP2011238163A (ja) 2010-05-13 2010-05-13 半導体集積回路のレイアウト方法、レイアウトシステム及びレイアウトプログラム

Publications (1)

Publication Number Publication Date
JP2011238163A true JP2011238163A (ja) 2011-11-24

Family

ID=44912851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010110969A Pending JP2011238163A (ja) 2010-05-13 2010-05-13 半導体集積回路のレイアウト方法、レイアウトシステム及びレイアウトプログラム

Country Status (2)

Country Link
US (1) US8751991B2 (ja)
JP (1) JP2011238163A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019096745A (ja) * 2017-11-22 2019-06-20 株式会社リコー 半導体集積回路、半導体集積回路製造方法及び半導体設計支援装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5883676B2 (ja) * 2012-02-22 2016-03-15 ルネサスエレクトロニクス株式会社 Lsi設計方法
JP6301363B2 (ja) * 2012-12-26 2018-03-28 シノプシス, インコーポレイテッドSyn0Psys, Inc. 有用なスキューで最適化を導くためのパイプラインに沿ったタイミングボトルネックの分析
US9823298B2 (en) * 2015-08-12 2017-11-21 Arm Limited Critical path architect
KR102611888B1 (ko) * 2016-11-07 2023-12-11 삼성전자주식회사 스위칭 액티비티에 기초한 반도체 장치의 배치 방법 및 이에 의해 제조된 반도체 장치
US10769345B1 (en) * 2018-12-20 2020-09-08 Cadence Design Systems, Inc. Clock tree optimization by moving instances toward core route

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233748A (ja) * 1992-02-24 1993-09-10 Toshiba Corp シミュレーション方法
JPH0745707A (ja) * 1993-06-29 1995-02-14 Mitsubishi Electric Corp セルリダクション装置
JPH07182394A (ja) * 1993-12-24 1995-07-21 Nec Corp 順序回路の遅延最適化システム
JP2005122471A (ja) * 2003-10-16 2005-05-12 Matsushita Electric Ind Co Ltd 半導体集積回路の設計データの処理方法
JP2006154951A (ja) * 2004-11-25 2006-06-15 Fujitsu Ltd 検証方法及び検証装置
JP2007080256A (ja) * 2005-08-15 2007-03-29 Fujitsu Ltd 集積回路のレイアウト設計方法および集積回路のレイアウト設計プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3703333B2 (ja) * 1999-03-25 2005-10-05 Necエレクトロニクス株式会社 論理接続情報変換装置
US6396307B1 (en) * 1999-05-19 2002-05-28 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit and method for designing the same
US6539536B1 (en) * 2000-02-02 2003-03-25 Synopsys, Inc. Electronic design automation system and methods utilizing groups of multiple cells having loop-back connections for modeling port electrical characteristics
US7127695B2 (en) * 2002-07-18 2006-10-24 Incentia Design Systems Corp. Timing based scan chain implementation in an IC design
US7331030B2 (en) * 2004-12-17 2008-02-12 Stmicroelectronics, Inc. Method to unate a design for improved synthesizable domino logic flow
US7559040B1 (en) * 2005-06-02 2009-07-07 Cadence Design Systems, Inc. Optimization of combinational logic synthesis through clock latency scheduling
US7511548B2 (en) * 2006-12-14 2009-03-31 International Business Machines Corporation Clock distribution network, structure, and method for providing balanced loading in integrated circuit clock trees
US8099702B2 (en) * 2008-07-30 2012-01-17 Synopsys, Inc. Method and apparatus for proximate placement of sequential cells

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233748A (ja) * 1992-02-24 1993-09-10 Toshiba Corp シミュレーション方法
JPH0745707A (ja) * 1993-06-29 1995-02-14 Mitsubishi Electric Corp セルリダクション装置
JPH07182394A (ja) * 1993-12-24 1995-07-21 Nec Corp 順序回路の遅延最適化システム
JP2005122471A (ja) * 2003-10-16 2005-05-12 Matsushita Electric Ind Co Ltd 半導体集積回路の設計データの処理方法
JP2006154951A (ja) * 2004-11-25 2006-06-15 Fujitsu Ltd 検証方法及び検証装置
JP2007080256A (ja) * 2005-08-15 2007-03-29 Fujitsu Ltd 集積回路のレイアウト設計方法および集積回路のレイアウト設計プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019096745A (ja) * 2017-11-22 2019-06-20 株式会社リコー 半導体集積回路、半導体集積回路製造方法及び半導体設計支援装置

Also Published As

Publication number Publication date
US20110283248A1 (en) 2011-11-17
US8751991B2 (en) 2014-06-10

Similar Documents

Publication Publication Date Title
US8572542B2 (en) Clock-tree structure and method for synthesizing the same
JP2011238163A (ja) 半導体集積回路のレイアウト方法、レイアウトシステム及びレイアウトプログラム
US9508615B2 (en) Clock tree synthesis for low cost pre-bond testing of 3D integrated circuits
CN102799698A (zh) 一种用于专用集成电路的时钟树规划的方法和系统
US20120137263A1 (en) Timing closure in chip design
US7859309B2 (en) Clock tree distributing method
JP2009104503A (ja) 電気回路および電気回路の設計方法
US20120240090A1 (en) Clock tree designing apparatus and clock tree designing method
US8839061B2 (en) System and method for scan chain re-ordering
US9280628B2 (en) System and method for clock network meta-synthesis
JP2007272687A (ja) 半導体集積回路のタイミング検証方法及びタイミング検証装置
US20190251221A1 (en) Build synthesized soft arrays
JP2004185427A (ja) スキャンパスタイミング最適化装置
JP2009187104A (ja) 半導体集積回路
JP2005136286A (ja) 半導体集積回路の設計方法、及びその装置
CN114117980B (zh) 芯片设计方法、芯片设计模块、电子设备和介质
US8813010B2 (en) Timing analysis program, timing analysis apparatus, and timing analysis method
JP2008219535A (ja) 同期回路
JP2010211302A (ja) クロック配線方法
JP4473163B2 (ja) スキャンチェーンのホールドエラー解消方法
JP2011164684A (ja) 設計装置、設計方法、及び設計プログラム
CN115859894B (zh) 集成电路的设计方法、中继模块数据库的构建方法及装置
JP2012137986A (ja) 半導体集積回路のレイアウト設計装置、半導体集積回路のレイアウト設計方法及びプログラム
Lu et al. Register on MEsh (ROME): A novel approach for clock mesh network synthesis
CN120186879A (zh) 差分走线对内延时补偿结构、方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131217