JP2003234643A - 半導体集積回路装置の設計方法および半導体集積回路装置 - Google Patents

半導体集積回路装置の設計方法および半導体集積回路装置

Info

Publication number
JP2003234643A
JP2003234643A JP2002030246A JP2002030246A JP2003234643A JP 2003234643 A JP2003234643 A JP 2003234643A JP 2002030246 A JP2002030246 A JP 2002030246A JP 2002030246 A JP2002030246 A JP 2002030246A JP 2003234643 A JP2003234643 A JP 2003234643A
Authority
JP
Japan
Prior art keywords
circuit
clock signal
flip
latch
flop
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.)
Withdrawn
Application number
JP2002030246A
Other languages
English (en)
Inventor
Atsushi Yoshikawa
篤志 吉川
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2002030246A priority Critical patent/JP2003234643A/ja
Priority to US10/319,658 priority patent/US6711724B2/en
Publication of JP2003234643A publication Critical patent/JP2003234643A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining

Landscapes

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

Abstract

(57)【要約】 【課題】 高速クロック信号に同期して正確に動作する
パイプラインを設計する。 【解決手段】 クロック信号周期を、目標値よりもフリ
ップフロップ回路のラッチ回路置換による利得(MRT
P2)長くして論理回路(LGA−LGC)を配置す
る。次いで、クロック信号を目標値(TK)に変更して
セットアップ条件のエラーが生じるクリティカルパスを
検出する。このエラーパスに関連するフリップフロップ
(FFC)を互いに相補的に動作するラッチ回路(LL
A,LHA)で置換した後、このラッチ回路により、関
連のロジック(LGB,LGC)を再配置する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は半導体集積回路装
置の設計方法および半導体集積回路装置に関し、特に、
集積回路装置におけるパイプライン設計時のクロックス
キューおよびクロックジッタなどのオーバーヘッドを削
減することのできる半導体集積回路装置の設計方法およ
びその設計方法に従って作製される半導体集積回路装置
の構成に関する。
【0002】
【従来の技術】LSI(大規模集積回路)においては、
高速で信号/データを転送するために、クロック信号に
同期して信号の処理/転送を行なう同期式多段パイプラ
インが広く用いられる。このような同期式多段パイプラ
インを構成する場合には、一般にフリップフロップまた
はラッチなどが転送回路として用いられる。
【0003】図9は、フリップフロップにより構成され
る2段パイプラインの構成の一例を示す図である。図9
において、2段パイプラインは、クロック信号CLK0
1に同期して入力信号INを転送するフリップフロップ
回路FF01と、フリップフロップ回路FF01から与
えられる信号に所定の論理処理を施して出力するロジッ
クLG1と、ロジックLG1の出力信号をクロック信号
CLK02に同期して転送するフリップフロップ回路F
F02と、フリップフロップ回路FF02から与えられ
る信号に所定の論理処理を施して出力するロジックLG
2と、クロック信号CLK03に同期してロジックLG
2の出力信号を転送して出力信号/データOUTを生成
するフリップフロップ回路FF03を含む。
【0004】ロジックLG1およびLG2は、それぞれ
与えられた信号に論理処理を施して出力するため、その
信号伝搬に対し論理遅延時間L01およびL02を有す
る。
【0005】ここで、ロジックLG1からLG3は、一
般的に、複数の信号を受けて論理処理を行う。以下の説
明においては、特に明確に断らないが、フリップフロッ
プ回路FFは、1つまたは複数の信号を転送する。フリ
ップフロップ回路FFが転送する信号の数は、次段のロ
ジックLGの構成に従って、決定される。
【0006】フリップフロップ回路FF01は、クロッ
ク信号CLK01に対しセットアップ時間SUP11と
ホールド時間HLD11を有する。また、このフリップ
フロップ回路FF01は、クロック信号CLK01のト
リガエッジが与えられてから有効信号が出力されるまで
の出力遅延時間TPD11を有する。
【0007】フリップフロップ回路FF02は、セット
アップ時間SUP12とホールド時間HLD12と出力
遅延時間TPD12を有する。
【0008】フリップフロップ回路FF03は、セット
アップ時間SUP13とホールド時間HLD13と出力
遅延時間TPD13を有する。
【0009】また、フリップフロップ回路FF01から
FF03に対して与えられるクロック信号に対しては、
後に説明するクロック信号の不確定要素に起因する固定
のスキューが存在する。
【0010】図10は、図9に示す出力遅延時間TP
D、セットアップ時間SUPおよびホールド時間HLD
を示す図である。図10においては、フリップフロップ
回路FF01−FF03が、クロック信号CLKの立上
がりエッジで与えられた信号をラッチして出力するアッ
プエッジトリガ型フリップフロップの場合の各パラメー
タを示す。
【0011】セットアップ時間SUPは、クロック信号
CLKの立上がりエッジに対して入力信号SINが確定
状態に維持される時間である。ホールド時間HLDは、
クロック信号CLKの立上がりエッジから入力信号SI
Nが確定状態に維持されるのに必要な時間である。出力
遅延時間TPDは、クロック信号CLKが立上がってか
らフリップフロップ回路の出力信号FOUTが確定する
までに要する時間を示す。
【0012】通常、セットアップ時間SUPは、フリッ
プフロップを構成するトランジスタの動作パラメータの
最悪条件下で決定され、またホールド時間HLDは、フ
リップフロップを構成するトランジスタの最も良い動作
パラメータを用いて算出される。
【0013】クロック信号CLKは、周期TKを有す
る。クロック信号CLK01−CLK03は、図11に
示すように、クロック発生回路100から発生されるク
ロック信号CLKOを受けるクロック分配回路110に
より与えられる。クロック分配回路110は、与えられ
たクロック信号CLKOをパイプラインの各ステージの
フリップフロップ回路へ転送する。
【0014】クロック発生回路100は、たとえばPL
L(位相ロックループ)で構成され、システムクロック
などの外部からのクロック信号に位相同期した内部クロ
ック信号CLKOを生成する。クロック分配回路110
は、このパイプラインの構成に応じて、ツリー状クロッ
クネットワーク、フィッシュボーン型クロック分配回路
などのさまざまな形態をとる。
【0015】クロック信号CLK01からCLK3は、
予め定められた経路を介して転送されるため、図9に示
すフリップフロップ回路FF01−FF03へ与えられ
るクロック信号CLK01−CLK03は、それぞれ、
スキューおよびジッタと呼ばれるクロック信号の曖昧さ
を有し、これらのクロック信号CLK01−CLK03
は、理想的なクロック信号のエッジに対しずれを生じ
る。
【0016】ここで、以下の説明において、「クロック
スキュー」は、プロセスのばらつきおよびクロック分配
回路110における配線不均一などの原因により生じる
空間的なクロック信号のずれであると定義する。すなわ
ち、クロックスキューは、クロック発生回路100に対
するフリップフロップ回路FF01−FF03の位置関
係に応じて生じるこのクロック信号の位相のずれを示
す。
【0017】ただし、クロックスキューにおいては、配
線の不均一性およびレイアウト依存によるプロセスばら
つきなどにより生じる固定要素と、予測不可能なプロセ
スばらつきおよびクロック分配回路110における電源
電圧の変動および温度変動などに依存する不確定要素を
分離して考える。なお、配線の不均一性は、線幅および
配線長さ等のばらつきを示し、レイアウト依存によるプ
ロセスばらつきは、たとえば、クロック分配回路110
に含まれるクロック信号を伝送するリピータを構成する
トランジスタにおけるレイアウトに依存する不純物濃度
のばらつきによる動作特性のばらつきなどを示す。
【0018】「クロックジッタ」は、クロック発生回路
(PLL)100の電源変動や温度変動などにより生じ
る時間的なクロック信号のずれと定義する。したがっ
て、クロックジッタは、不確定要素のみが存在するもの
と仮定する。このクロックジッタは、時間的なクロック
信号のずれであり、各フリップフロップ回路に対して、
同様にジッタが生じる。
【0019】図9を再び参照して、フリップフロップ回
路FF01およびFF02の間のクロックスキューSK
W01とフリップフロップ回路FF02およびFF03
の間のクロックスキューSKW02は、クロックスキュ
ーの固定要素成分である。また、フリップフロップ回路
FF01およびFF03の間のクロックスキューは、S
KWAで示すが、このクロックスキューSKWAも固定
要素成分である。このクロックスキューの固定要素は、
正および負の値をとることができる。あるクロック信号
に対して位相が遅れるクロック信号のスキューの固定要
素(SKW014,SKW02)は正の値となる(前段
のロジックに対し、サイクル時間を長くすることができ
る)。また、このクロック信号に対して位相が速くなる
クロック信号のスキューの固定要素は、負の値となる。
【0020】クロックスキューの不確定要素は、フリッ
プフロップ回路FF01およびFF02の間およびフリ
ップフロップ回路FF02およびFF03の間で等しい
と示し、絶対値でSKWETと定義する。これは、不確
定要素であり、常に最悪ケースを想定するためである。
【0021】また、クロックジッタは、上述のように、
フリップフロップ回路FF01およびFFF02の間お
よびフリップフロップ回路FF02およびFF03の間
で互いに等しいとして、絶対値でJTRとして示す。た
だし、クロックジッタJTRは、クロック信号の1周期
TKでの値と考える。
【0022】スキューMRGは、ジッタ成分JTRとク
ロックスキューの不確定要素SKWETとの和と定義す
る。
【0023】ロジックLG1およびLG2は、クロック
信号CLKOの1周期TK期間内において与えられた信
号に対し所定の論理処理を施して次段のフリップフロッ
プへ転送する必要がある。
【0024】図12は、ロジックLG1およびLG2が
クロック信号CLKの1周期において使用することので
きる時間(論理遅延時間)Lを示す。図12を参照し
て、クロック信号CLKの1周期TKにおいて、出力遅
延時間TPDと、ロジックの信号論理遅延時間Lと、ジ
ッタJTRと、クロックスキューの不確定要素SKWE
Tと、次段のフリップフロップのセットアップ時間SU
Pと、2段のフリップフロップのクロックスキューの固
定要素SKWが含まれる。ジッタJTRは、クロック信
号CLKのトリガエッジ(立上がりエッジ)の位相の変
化範囲の大きさを示す。
【0025】したがって、この図12において、ロジッ
クLG1およびLG2は、次式で示されるセットアップ
条件式を満たす必要がある。
【0026】 L01≦TK−TPD01−SUP02+SKW01−SKWET−JTR… (1) L02≦TK−TPD02−SUP03+SKW02−SKWET−JTR… (2) また、ホールド時間についても、これらのロジックLG
1およびLG2の論理遅延時間L01およびL02は、
次段のフリップフロップ回路のホールド時間内において
フリップフロップ回路の出力信号が変化するのを防止す
る必要があり、以下に示すホールド条件を満たす必要が
ある。
【0027】 LH01≧HLD02−TPDH01+SKWH01+SKWETH…(3) LH02≧HLD03−TPDH02+SKWH02+SKWETH…(4) ホールド条件において、ジッタJTRが現われていない
のは、ジッタは、各クロック信号に対して生じ、これら
のジッタ成分が相殺されるためである。
【0028】ここで、LSIの製造プロセスのばらつき
などを考慮した場合、一般的には、セットアップ条件で
用いられる遅延時間とホールド条件で用いられる遅延時
間とは異なる値を用いる場合が多い。これは、セットア
ップ条件式においては、このセットアップ時間が長くな
る場合を考慮し、またホールド条件式においては、次段
フリップフロップ回路が最高速で信号を伝搬する条件を
考慮して、ホールド時間が最小となる場合を考慮するた
めである。
【0029】したがって、遅延時間に関連するセットア
ップ条件下での各パラメータに対し、それぞれ対応の符
号の末尾に“H”を付して、ホールド条件であることを
示し、論理遅延時間およびクロック信号の立上りからそ
のフリップフロップ回路の出力の遅れを示す出力遅延時
間をそれぞれLHおよびTPDHで示す。また、クロッ
クスキューに関しても、別の条件下で考慮される場合が
あるため、同様、クロックスキューに関連する記号につ
いても、ホールド条件時においては、セットアップ条件
での対応の記号の末尾にHを付す。
【0030】上式(1)から(4)において、レイアウ
ト依存によるプロセスばらつきなどの固定要素は、正確
な計算が不可能な場合およびCAD(コンピュータ支援
設計)ツール上の制約などにより、その一部またはすべ
てを、不確定要素のクロックスキューSKWETにおい
て考慮することが要求される場合がある。たとえば、C
ADツール上の制約により、任意のフリップフロップ間
におけるクロックスキュー値として一定値を用いる場合
には、このクロックスキューの固定要素SKW01およ
びSKW02を0とし、一方、不確定要素のクロックス
キューSKWETに、このクロックスキューの最大値を
含むことが要求される。逆に、電源電圧の変動および温
度変動などによるばらつきなどを、正確に計算または制
御できる場合には、不確定要素のクロックスキューSK
WETおよびジッタJTRの一部またはすべてを、クロ
ックスキューの固定要素SKW01およびSKW02が
考慮することができる場合もある。
【0031】この不確定要素のばらつきに対し以下のよ
うに定義する。SKWET+JTR=MRGこの定義の
もとでは、前述のセットアップ条件式(1)および
(2)は、以下のように変更される。
【0032】 L01≦TK−TPD01−SUP02+SKW01−MRG…(5) L02≦TK−TPD02−SUP03+SKW02−MRG…(6) クロックスキューとして、すべてのクロック分配系にお
けるクロックスキューの最大値のみを考慮する場合に
は、このクロックスキューの最大値を、不確定要素MR
Gに含めることにより、セットアップ条件式(5)およ
び(6)を、以下のように変更することができる。
【0033】 L01≦TK−TPD01−SUP02−MRG…(7) L02≦TK−TPD02−SUP03−MRG…(8) 条件式(7)および(8)は、一般的にフリップフロッ
プを用いてパイプラインを設計する場合に用いられる。
条件式(5)および(6)では、クロックスキューは、
各クロック信号伝搬パスごとにそれぞれ計算し、個々の
値に従ってロジック回路を設計するのに対し、条件式
(7)および(8)では、クロックスキューの最大値に
従ってすべてのパス(パイプラインステージ)を設計す
る。したがって、あるフリップフロップ間においては、
実際の論理回路の論理遅延時間よりも余裕のある論理遅
延時間Lが割当てられるパス(パイプラインステージ)
が存在することになる。
【0034】式(5)および(6)から、2段パイプラ
イン間の論理遅延時間L1+L2の条件は、以下のよう
に表わされる。
【0035】 L01+L02≦2・TK−TPD01−TPD02−SUP02 −SUP03+SKW01+SKW02−2・MRG…(9) フリップフロップ回路FF01およびFF03の間のク
ロックスキューの固定要素を、図9に示すように、SK
WAと定義すると、このクロックスキュー固定要素SK
WAは、各パイプラインステージのクロックスキューの
固定要素の和と考えることができる。すなわち、次式が
定義される。
【0036】SKW01+SKW02=SKWA この条件式を用いると、上式(9)を、以下のように変
更することができる。
【0037】 L01+L02≦2・TK−TPD01−TPD02−SUP02 −SUP03+SKWA−2・MRG…(10) ≦2・TK−TPD01−TPD02−SUP02 −SUP03+SKWA−2・(SKWET+JTR) フリップフロップのクロック入力からこのフリップフロ
ップの出力の遅延時間の平均値をTpd、フリップフロ
ップのセットアップ時間の平均値をSupと定義する
と、2段パイプライン間の許容最大論理遅延時間の平均
値は、以下のように考えることができる。
【0038】 L01+L02=2・TK−2・Tpd−2・Sup+SKW−2・MRG… (11) 図13は、フリップフロップを用いた3段パイプライン
の構成を概略的に示す図である。図13において、3段
パイプラインは、クロック信号CLK11−CLK14
にそれぞれ同期して与えられた信号を転送するフリップ
フロップ回路FF11−FF14と、フリップフロップ
回路FF11からの信号/データに論理処理を施してフ
リップフロップ回路FF12へ転送するロジックLG1
1と、フリップフロップ回路FF12に与えられる信号
に論理処理を施してフリップフロップ回路FF13へ転
送するロジックLG12と、フリップフロップ回路FF
13から与えられる信号に論理処理を施してフリップフ
ロップ回路FF14へ転送するロジックLG13とを含
む。
【0039】フリップフロップ回路FF11に対して
は、出力遅延時間TPD11と、セットアップ時間SU
P11と、ホールド時間HLD11とが定義される。フ
リップフロップ回路FF12に対しては、出力遅延時間
TPD12と、セットアップ時間SUP12と、ホール
ド時間HLD12とが定義される。フリップフロップ回
路FF13に対しては、出力遅延時間TPD13と、セ
ットアップ時間SUP13と、ホールド時間HLD13
とが定義される。フリップフロップ回路FF14に対し
ては、出力遅延時間TPD14と、セットアップ時間S
UP14と、ホールド時間HLD14とが定義される。
【0040】これらのフリップフロップ回路FF11−
FF14それぞれに与えらるクロック信号CLK11か
らCLK14に対しては、不確定要素のクロックスキュ
ーMRGが定義される。
【0041】クロック信号CLK12およびCLK11
は、クロックスキュー確定要素SKW11を有し、クロ
ック信号CLK12およびCLK13の間には、クロッ
クスキュー確定要素SKW12が存在し、またクロック
信号CLK13およびCLK14の間には、クロックス
キュー固定要素SKW13が存在する。フリップフロッ
プ回路FF14およびFF11に対するクロック信号C
LK14およびCLK11の間には、クロックスキュー
固定要素SKWAが存在する。
【0042】この図13に示す3段パイプラインにおい
て、ロジックLG11、LG12、およびLG13のそ
れぞれの論理遅延時間をL11、L12、およびL13
とすると、上述の、2段パイプライン構成と同様、論理
遅延時間L11−L14は、以下のセットアップ条件式
およびホールド条件式を満たすことが要求される。
【0043】 L11≦TK−TPD11−SUP12−SKW11−MRG…(12) L12≦TK−TPD12−SUP13−SKW12−MRG…(13) L13≦TK−TPD13−SUP14−SKW13−MRG…(14) LH11≧HLD12−TPDH11+SKWH11 +SKWETH…(15) LH12≧HLD13−TPDH12+SKWH12 +SKWETH…(16) LH13≧HLD14−TPDH13+SKWH13 +SKWETH…(17) 上式(15)−(17)において、ロジックLG11−
LG13のホールド条件での論理遅延時間を符号LH1
1−LH13で示し、同様、フリップフロップ回路のホ
ールド条件での出力遅延時間を、符号TPDH11−T
PDH13で示す。同様、固定要素のクロックスキュー
についても、同様、ホールド条件でのクロックスキュー
を符号SKWH11−SKWH13およびSKWETH
で示す。
【0044】上式において、MRGは、前述の2段パイ
プライン構成と同様、ジッタJTRとクロックスキュー
不確定要素SKWETの和で与えられる。ホールド条件
式において、ジッタ成分が考慮されないのは、2段パイ
プラインの場合と同様、ジッタは、各クロック信号に対
し同様に現れるため、ホールド条件下では、このジッタ
は相殺されるためである。
【0045】また、フリップフロップ回路FF14およ
びFF11の間のクロックスキュー固定要素SKWA
は、クロックスキュー固定要素SKW11、SKW12
およびSKW13の和と考えることができるため、上式
(12)−(14)により、3段パイプライン間の論理
遅延時間L11+L12+L13の条件は次式で表わさ
れる。
【0046】 L11+L12+L13≦3・TK−TPD11−TPD12 −TPD13−SUP12−SUP13 −SUP14−SKWA−3・MRG…(18) フリップフロップのクロック入力からフリップフロップ
の出力の遅延時間の平均値をTpd、フリップフロップ
のセットアップ時間の平均値をSupと定義すると、こ
の3段パイプライン間の許容最大論理遅延時間の平均値
は、以下のように考えることができる。
【0047】 L11+L12+L13=3・TK−3・Tpd−3・Sup +SKWA−3・MRG…(19)
【0048】
【発明が解決しようとする課題】上述の条件式(11)
および(19)から、フリップフロップを用いてパイプ
ラインを設計する場合には、任意のフリップフロップ間
に対して出力遅延時間Tpd、クロックスキュー不確定
要素MRGおよびセットアップ時間Supをその間に含
まれるパイプライン段数分考慮する必要があることがわ
かる。
【0049】LSIの動作周波数の向上によりクロック
周期が短くなり、また高集積化およびトランジスタおよ
び配線の微細化に伴ってプロセスばらつきの影響が大き
くなり、応じて、クロック周期に対するスキューおよび
ジッタなどの不確定要素の割合が大きくなっている。ま
た、フリップフロップのクロック入力からフリップフロ
ップの出力までの遅延時間TPDおよびフリップフロッ
プのセットアップ時間SUPに関しても、動作周波数の
向上に比例して改善をするのが困難となってきている。
したがって、この論理遅延時間に対する出力遅延時間T
PD、クロックスキュー不確定要素MRGおよびセット
アップ時間SUPの値の影響が大きくなり、パイプライ
ンの設計が困難となり、高速動作するパイプラインを最
適設計することができなくなるという問題が生じる。
【0050】それゆえ、この発明の目的は、高速動作す
るパイプラインを容易に設計することのできる半導体集
積回路装置の設計方法を提供することである。
【0051】この発明の他の目的は、フリップフロップ
回路の動作パラメータおよびクロックスキュー等の影響
を小さくすることのできるパイプラインの設計方法を提
供することである。
【0052】この発明のさらに他の目的は、高速動作す
る最適設計されたパイプラインを備える半導体集積回路
装置を提供することである。
【0053】
【課題を解決するための手段】この発明に係る半導体集
積回路装置の設計方法は、基本クロック信号に同期して
信号を転送する複数のフリップフロップ回路を含むパイ
プラインを備える半導体集積回路装置の設計方法であ
り、以下のステップを備える:転送クロック信号の周期
を、前記基本クロック信号の周期と前記フリップフロッ
プ回路をラッチ回路で置換した際に得られる利得時間と
の和であると仮定して前記パイプラインをフリップフロ
ップ回路を用いて設計するステップと、転送クロック信
号の周期を、基本クロック信号の周期に設定して、該設
計されたパイプラインのエラーパスを検出するステップ
と、このエラーパスに関連するフリップフロップ回路
を、クロック信号に同期して相補的に動作する複数のラ
ッチ回路に分割するステップと、エラーパスの論理回路
を、信号伝搬遅延について所定の条件不等式が各ラッチ
回路に関連する論理回路段において満たされるように複
数のラッチ回路により分割して再配置するステップ。
【0054】好ましくは、エラーパスを検出するステッ
プは、転送クロック信号に対するセットアップ条件が満
たされないセットアップエラーを生じるパスをエラーパ
スとして検出するステップを含む。
【0055】また、好ましくは、複数のラッチ回路に分
割するステップは、エラーパスに関連する1つのフリッ
プフロップ回路を2つの互いに相補的に動作するラッチ
回路に分割するステップを含む。
【0056】これに代えて、好ましくは、複数のラッチ
回路に分割するステップは、エラーパスに関連する複数
のフリップフロップ回路各々を2つの互いに相補的に動
作するラッチ回路に分割するステップを備える。
【0057】好ましくは、利得時間は、対象フリップフ
ロップ回路の転送クロック信号に対する出力遅延時間と
対象フリップフロップ回路のセットアップ時間と転送ク
ロック信号に対するマージンの和と複数のラッチ回路の
信号伝搬遅延時間との差を対象フリップフロップ回路に
関連するパイプライン段の数で割った値で与えられる。
【0058】好ましくは、所定の条件不等式は、複数の
ラッチ回路各々に対する基本クロック信号のスキュー
と、基本クロック信号に対するマージンと、前段のフリ
ップフロップ回路の出力遅延時間と、複数のラッチ回路
各々の信号伝搬遅延時間と、後段のフリップフロップ回
路のセットアップ時間と、複数のラッチ回路の各々のセ
ットアップ時間と、基本クロック信号の周期と、ラッチ
回路のアクティブ期間の基本クロック信号のデューティ
とを少なくとも考慮して導出される。
【0059】好ましくは、所定の条件不等式は、さら
に、複数のラッチ回路および前記後段のフリップフロッ
プ回路の基本クロック信号に対するホールド条件と、基
本クロック信号の各ラッチ回路の信号伝搬遅延時間と、
前段のフリップフロップ回路の出力遅延時間と、基本ク
ロック信号に対するマージンとを考慮して導出される不
等式を含む。
【0060】この発明の第1の観点に係る半導体集積回
路装置は、クロック信号に同期して与えられた信号を転
送する第1のフリップフロップ回路と、クロック信号に
同期して、第1のフリップフロップ回路と相補的に動作
し、与えられた信号を転送しかつラッチする第1のラッ
チ回路と、第1のフリップフロップ回路と第1のラッチ
回路との間に配置され、第1のフリップフロップ回路か
ら与えられる信号に論理処理を施して前記第1のラッチ
回路に転送する第1の論理回路と、クロック信号に同期
して、前記第1のラッチ回路と相補的に動作し、与えら
れた信号を転送しかつラッチする第2のラッチ回路と、
第1のラッチ回路と前記第2のラッチ回路との間に配置
され、第1のラッチ回路からの信号に論理処理を施して
前記第2のラッチ回路に転送する第2の論理回路と、ク
ロック信号に同期して前記第2のラッチ回路と相補的に
動作し、与えられた信号を転送する第2のフリップフロ
ップ回路と、第2のラッチ回路と前記第2のフリップフ
ロップ回路との間に配置され、第2のラッチ回路からの
信号に論理処理を施して前記第2のフリップフロップ回
路へ転送する第3の論理回路とを含む。第1および第2
のラッチ回路と前記第1および第2のフリップフロップ
回路は、以下の条件を満たすように配置される。
【0061】 L1≦TK−TPDF1−SUPL1+SKW1−SKET−JTR…(1) L2≦TK−TPDL1−SUPL2+SKW2−SKET−JTR…(2) L3≦TK−TPDL2−SUPF2+SKW3−SKET−JTR…(3) L1+L2≦(1+HDY)・TK−TPDF1−SUPL2 +SKW4−SKET−JTR・K1−THR1…(4) L2+L3≦(1+LDY)・TK−TPDL1−SUPF2 +SKW5−SKET−JTR・K2−THR2…(5) L1+L2+L3≦2・TK−TPDF1−SUPF2+SKWA −SKET−JTR・K3−THR1−THR2…(6) L1≧HLDL1−TPDFH1+SKWH1+SKETH…(7) L2≧HLDL2−TPDLH1+SKWH2+SKETH…(8) L3≧HLDF2−TPDLH2+SKWH3+SKETH…(9) ここで、L1、L2およびL3は、それぞれ、第1、第
2および第3の論理回路の信号伝搬遅延時間を示し、T
Kは前記クロック信号の周期を示し、TPDF1は、第
1のフリップフロップ回路のクロック信号に対する信号
の出力の遅れを示し、TPDL1およびTPDL2は、
第1および第2のラッチ回路のクロック信号に対する出
力信号の遅れを示し、SKW1、SKW2およびSKW
3は、クロック信号の前段の回路に与えられるクロック
信号に対するスキューをそれぞれ示し、SKW4は、第
1のフリップフロップ回路に与えられるクロック信号に
対する第2のラッチ回路に与えられるクロック信号のス
キューを示し、SKW5は、第2のフリップフロップ回
路へ与えられるクロック信号の第1のラッチ回路へ与え
られるクロック信号に対するスキューを示し、SKWA
は、第2のフリップフロップ回路へ与えられるクロック
信号の第1のフリップフロップ回路へ与えられるクロッ
ク信号に対するスキューを示し、SUPL1、SUPL
2、SUPF2は、それぞれ、第1のラッチ回路、第2
のラッチ回路および第2のフリップフロップのセットア
ップ時間をそれぞれ示す。
【0062】SKETは、前記クロック信号の固定スキ
ューを示し、JTRは、前記クロック信号の前段の回路
のクロック信号に対するジッタを示し、THR1および
THR2は、第1および第2のラッチ回路の信号伝搬遅
延時間をそれぞれ示し、HDYおよびLDYは、それぞ
れ、第1および第2のラッチ回路に与えられるクロック
信号のラッチ期間のデューティを示し、K1、K2およ
びK3は、前記ジッタの周期依存性を示す係数であり、
HLDL1、HLDL2およびHLDF2は、それぞ
れ、第1のラッチ回路、第2のラッチ回路、および第2
のフリップフロップ回路のホールドクロック信号に対す
るホールド時間を示し、TPDFH1、TPDLH1、
およびTPDLH2は、第1のフリップフロップ回路、
第1のラッチ回路および第2のラッチ回路のホールド条
件下におけるクロック信号に対する出力信号の遅れを示
し、SKWH1、SKWH2およびSKWH3は、クロ
ック信号のホールド条件下における前段回路に与えられ
るクロック信号に対するスキューを示し、SKETH
は、クロック信号の固定要因によるスキューを示す。
【0063】好ましくは、条件式(1)から(6)は、
クロック信号のジッタJTRの周期依存性を無視する
と、以下の条件式に変換される; L1≦TK−TPDF1−SUPL1+SKW1−MRG…(10) L2≦TK−TPDL1−SUPL2+SKW2−MRG…(11) L3≦TK−TPDL2−SUPF2+SKW3−MRG…(12) L1+L2≦(1+HDY)・TK−TPDF1−SUPL2 +SKW4−MRG−THR1…(13) L2+L3≦(1+LDY)・TK−TPDL1−SUPF2 +SKW5−MRG−THR2…(14) L1+L2+L3≦2・TK−TPDF1−SUPF2 +SKWA−MRG−THR1−THR2…(15)。
【0064】ただし、MRGはSKET+JTRで与え
られる。この発明の第2の観点に係る半導体集積回路装
置は、クロック信号に同期して、与えられた信号を転送
する第1のフリップフロップ回路と、第1のフリップフ
ロップ回路からの信号に論理処理を施して出力する第1
の論理回路と、クロック信号に同期して、第1のフリッ
プフロップ回路と相補的に動作し、第1の論理回路の出
力信号を転送しかつラッチする第1のラッチ回路と、第
1のラッチ回路からの出力信号に論理処理を施して出力
する第2の論理回路と、クロック信号に同期して第1の
ラッチ回路と相補的に動作し、第2の論理回路の出力信
号を転送しかつラッチする第2のラッチ回路と、第2の
ラッチ回路の出力信号に論理処理を施して出力する第3
の論理回路と、クロック信号に同期して第2のラッチ回
路と相補的に動作し、第3の論理回路の出力信号を転送
しかつラッチする第3のラッチ回路と、第3のラッチ回
路の出力信号に論理処理を施して出力する第4の論理回
路と、クロック信号に同期して第3のラッチ回路と相補
的に動作して第4の論理回路の出力信号を転送しかつラ
ッチする第4のラッチ回路と、第4のラッチ回路の出力
信号に論理処理を施して出力する第5の論理回路と、ク
ロック信号に同期して第4のラッチ回路と同相で動作し
て第5の論理回路の出力信号を転送する第2のフリップ
フロップ回路とを備える。第1から第5の論理回路から
の論理遅延時間L1−L5は、以下の条件を満たす; L1≦TK−TPDF1−SUPL1−SKW1−MRG…(1) L2≦TK−TPDL1−SUPL2−SKW2−MRG…(2) L3≦TK−TPDL2−SUPL3−SKW3−MRG…(3) L4≦TK−TPDL3−SUPL4−SKW4−MRG…(4) L5≦TK−TPDL4−SUPF2−SKW5−MRG…(5) L1+L2≦(1+HDY)・TK−TPDF1−SUPL2 −SKW21−MRGJ1−THR1…(6) L2+L3≦(1+LDY)・TK−TPDL1−SUPL3 −SKW22−MRGJ2−THR2…(7) L3+L4≦(1+HDY)・TK−TPDL2−SUPL4 −SKW23−MRGJ1−THR3…(8) L4+L5≦(1+LDY)・TK−TPDL3−SUPF2 −SKW24−MRGJ2−THR4…(9) L1+L2+L3≦2・TK−TPDF1−SUPL3 −SKW31−MRGJ3 −THR1−THR2…(10) L2+L3+L4≦2・TK−TPDL1−SUPL4 −SKW32−MRGJ3 −THR2−THR3…(11) L3+L4+L5≦2・TK−TPDL2−SUPF2 −SKW33−MRGJ3 −THR3−THR4…(12) L1+L2+L3+L4≦(2+HDY)・TK−TPDF1 −SUPL4−SKW41−MRGJ4 −THR1−THR2−THR3…(13) L2+L3+L4+L5≦(2+LDY)・TK−TPDL1 −SUPF2−SKW42−MRGJ5 −THR2−THR3−THR4…(14) L1+L2+L3+L4+L5≦3・TK−TPDF1−SUPF2 −SKW51−MRGJ−THR1 −THR2−THR3−THR4…(15) L1≧HLDL1−TPDFH1+SKWH1+MRGH…(16) L2≧HLDL2−TPDLH1+SKWH2+MRGH…(17) L3≧HLDL3−TPDLH2+SKWH3+MRGH…(18) L4≧HLDL4−TPDLH3+SKWH4+MRGH…(19) L5≧HLDF2−TPDLH4+SKWH5+MRGH…(20) ここで、TKは、クロック信号の周期を示し、TPDF
1は、第1のフリップフロップ回路のクロック信号に対
する出力信号の遅延時間を示し、TPDL1−TPDL
4は、第1から第4のラッチ回路のクロック信号のトリ
ガエッジに対する出力信号の遅れを示し、SUPL1−
SUPL4は、第1から第4のラッチ回路のクロック信
号に対するセットアップ時間を示し、SUPF2は、第
2のフリップフロップ回路のクロック信号に対するセッ
トアップ時間を示し、SKW1−SKW5、クロック信
号の前段の回路に与えられるクロック信号に対するスキ
ューを示し、SKW21−SKW24は、第1から第5
の論理回路の連続する2段の論理回路のクロック信号の
スキューを示し、SKW31−SKW33は、第1から
第5の論理回路の連続する3段の論理回路に対するクロ
ック信号のスキューを示し、SKW41およびSKW4
2は、第1から第5の論理回路の連続する4段の論理回
路に対するクロック信号のスキューを示し、SKW51
は、第2のフリップフロップ回路に対するクロック信号
の第1のフリップフロップ回路に対するクロック信号の
スキューを示し、THR1−THR4は、第1から第4
のラッチ回路の信号伝搬遅延時間を示し、HDYは、第
1および第3のラッチ回路のラッチ期間の前記クロック
信号のデューティを示し、LDYは、前記第2および第
4のラッチ回路のラッチ期間のクロック信号のデューテ
ィを示し、MRGは、クロック信号のジッタを含む成分
に対するマージンを示し、MRGJ1−MRGJ5+
は、ジッタの周期依存性を考慮したクロック信号に対す
るマージンを示し、HLDL1−HLDL4は、第1か
ら第4のラッチ回路それぞれのクロック信号に対するホ
ールド時間を示し、HLDF2は、第2のフリップフロ
ップ回路のクロック信号に対するホールド時間を示し、
TPDF1は、ホールド条件下における第1のフリップ
フロップ回路のクロック信号のトリガエッジに対する出
力信号の遅れを示し、TPDLH1−TPDLH4は、
第1から第4のラッチ回路のクロック信号のトリガエッ
ジに対する出力信号の遅れを示し、SKWH1−SKW
H5は、ホールド条件下におけるクロック信号の次段回
路へのクロック信号に対するスキューを示し、MRGH
は、ホールド条件下における前記クロック信号に対する
マージンを示す。
【0065】好ましくは、MRGJ1−MRGJ5は、
クロック信号のジッタの周期依存性が無視することので
きる条件下では、MRGと等しい値を有する。
【0066】フリップフロップ回路を相補的に動作する
ラッチ回路対で置換することにより、ラッチ回路のデー
タスルー時間によりフリップフロップ回路の出力遅延時
間およびクロックスキューなどを置換することができ
る。これにより、対象パイプラインステージの許容最大
論理遅延時間を長くすることができ、論理回路に対する
配置条件を緩和することができる。
【0067】また、ラッチ回路の配置時においては、不
等式を条件式として用いているため、ラッチ回路の配置
位置に幅を持たせることができ、論理回路の分割が容易
となる。
【0068】また、これらのラッチ回路による論理回路
の分割により、論理遅延時間に余裕を持つパスが形成さ
れるため、このパスにおける回路の再配置により、回路
面積を低減することができる。
【0069】また、このようなパイプラインを半導体集
積回路装置において配置することにより、高速クロック
信号に同期して安定に動作する半導体集積回路装置を実
現することができる。
【0070】
【発明の実施の形態】[実施の形態1]図1は、この発
明の実施の形態1に従う多段パイプラインの構成を概略
的に示す図である。この図1に示す多段パイプライン
は、図9に示す2段パイプラインにおけるフリップフロ
ップ回路FF02を、ラッチ回路LL01およびLH0
2により置換した構成と等価である。この構成において
は、ラッチ回路LL01およびLH02の挿入位置によ
り、パイプラインを構成するロジック回路の配置が異な
り、ロジックLG03が、フリップフロップ回路FF0
1とラッチ回路LL01の間に配置され、ラッチ回路L
L01およびLH02の間にロジックLG04が配置さ
れ、ラッチ回路LH02とフリップフロップ回路FF0
3の間にロジックLG05が配置される。
【0071】ラッチ回路LL01およびLL02は、ロ
ジックの回路構成に応じて、1または複数の信号/デー
タを、それぞれ、クロック信号CLK04およびCLK
05に同期して転送/ラッチする。
【0072】フリップフロップ回路FF01およびFF
03へは、それぞれ、クロック信号CLK01およびC
LK03が与えられ、フリップフロップ回路FF01お
よびFF03は、クロック信号CLK01およびCLK
03の立上がりに同期して、与えられた信号を出力す
る。
【0073】ラッチ回路LL01はローアクティブラッ
チ回路であり、クロック信号CLK04がLレベルのと
きに、与えられた信号を通過させるスルー状態となり、
クロック信号CLK04がHレベルとなると、ラッチ状
態となる。
【0074】ラッチ回路LH02は、ハイアクティブラ
ッチ回路であり、クロック信号CLK05がHレベルの
ときにスルー状態となり、クロック信号CLK05がL
レベルのときにラッチ状態となる。
【0075】フリップフロップ回路FF01に対して
は、出力遅延時間TPD01、セットアップ時間SUP
01およびホールド時間HLD01を有する。ラッチ回
路LL01は、出力遅延時間TPDL01、セットアッ
プ時間SUPL01、およびホールド時間HLDL01
が定義される。
【0076】ラッチ回路LH02に対しては、出力遅延
時間TPDL02、セットアップ時間SUPL02およ
びホールド時間HLDL02が定義される。
【0077】フリップフロップ回路FF03に対して
は、出力遅延時間TPD03、セットアップ時間SUP
03およびホールド時間HLD03が定義される。
【0078】また、これらのフリップフロップ回路FF
01およびFF03とラッチ回路LL01およびLH0
2に対するクロック信号CLK01、CLK03、CL
K04およびCLK05に対しては、それぞれクロック
スキューの不確定要素MRGが存在する。
【0079】ロジックLG03−LG05は、それぞ
れ、論理遅延時間L03、L04、およびL05を有す
る。
【0080】図2は、図1に示すローアクティブラッチ
回路LL01の構成の一例を示す図である。図2におい
ては、1つの信号を転送/ラッチするローアクティブラ
ッチの構成を示す。ローアクティブラッチ回路LLにお
いては、前段のロジックLG03の出力信号/データそ
れぞれに対して、図2に示すローアクティブラッチが配
置される。
【0081】図2において、ローアクティブラッチ回路
LL(LL01)(ローアクティブラッチ)は、クロッ
ク信号CLK(CLK04)を受ける2段の縦続接続さ
れるインバータ1および2と、インバータ1および2の
出力AおよびBの信号に従って選択的に導通し、導通
時、入力Dに与えられた信号を通過させるCMOSトラ
ンスミッションゲート3と、CMOSトランスミッショ
ンゲート3を介して転送される信号を受けるインバータ
4と、インバータ4の出力信号を反転して出力Qに転送
するインバータ5と、インバータ4の出力信号を反転す
るインバータ6と、インバータ1および2の出力信号に
応答してCMOSトランスミッションゲート3と相補的
に導通し、導通時、インバータ6の出力信号をインバー
タ4の入力へ転送するCMOSトランスミッションゲー
ト7を含む。
【0082】このローアクティブラッチ回路(ローアク
ティブラッチ)LLにおいて、クロック信号CLKがH
レベルのときには、インバータ1の出力信号がLレベ
ル、インバータ2の出力信号がHレベルとなり、CMO
Sトランスミッションゲート3は非導通状態となり、一
方、CMOSトランスミッションゲート7が導通状態と
なる。この状態においては、インバータ4および6によ
り、ラッチ回路が構成され、ローアクティブラッチ回路
LLは、ラッチ状態となり、入力Dと出力Qを分離す
る。
【0083】一方、クロック信号CLKがLレベルのと
きには、インバータ1の出力信号がHレベル、インバー
タ2の出力信号がLレベルとなり、CMOSトランスミ
ッションゲート3が導通状態、CMOSトランスミッシ
ョンゲート7が非導通状態となる。したがって、入力D
に与えられた信号が、CMOSトランスミッションゲー
ト3、およびインバータ4および5を介して出力Qに伝
達され、ローアクティブラッチ回路LLは、スルー状態
となる。
【0084】このローアクティブラッチ回路LLに対し
ては、図3に示すように、セットアップ時間SUPLお
よびホールド時間HLDLが、クロック信号CLKの立
上がりエッジに対して定義される。一方、ローアクティ
ブラッチ回路LLの出力遅延時間TPDLは、ラッチ状
態からスルー状態に移行し、ローアクティブラッチ回路
LLの出力信号が変化する際の応答の遅れを示すため、
クロック信号CLKの立下がりエッジに対して定義され
る。
【0085】図3に示すように、入力Dに与えられる信
号は、ローアクティブラッチ回路LLがスルー状態のと
きに変化する場合、出力Qは、このローアクティブラッ
チ回路LLにおける伝搬遅延時間(データスルー時間)
THRだけ遅れて変化する。
【0086】図4は、図1に示すハイアクティブラッチ
回路LH02の構成の一例を示す図である。図4におい
ても、ハイアクティブラッチ回路は、1つの信号に対し
て配置されるハイアクティブラッチの構成を示す。前段
のロジックLG04の出力信号/データそれぞれに対し
て図4に示すハイアクティブラッチが配置される。
【0087】図4において、ハイアクティブラッチ回路
LH(LH02)(ハイアクティブラッチ)は、クロッ
ク信号CLK(CLK05)を受ける2段の縦続接続さ
れるインバータ11および12と、インバータ11およ
び12の出力CおよびEからの信号に従って選択的に導
通し、導通時入力Dに与えれる信号/データを通過させ
るCMOSトランスミッションゲート13と、CMOS
トランスミッションゲート13を介して転送される信号
を反転するインバータ14と、インバータ14の出力信
号を反転して出力Qに伝達するインバータ15と、イン
バータ14の出力信号を反転するインバータ16と、イ
ンバータ11および12の出力信号に応答してCMOS
トランスミッションゲート13と相補的に導通し、導通
時、インバータ16の出力信号をインバータ14の入力
に伝達するCMOSトランスミッションゲート17を含
む。
【0088】ハイアクティブラッチ回路LHにおいて
は、クロック信号CLKがLレベルのときには、インバ
ータ11の出力信号がHレベルおよびインバータ12の
出力信号がLレベルとなり、CMOSトランスミッショ
ンゲート13が非導通状態、CMOSトランスミッショ
ンゲート17が導通状態となり、ハイアクティブラッチ
回路LHは、入力Dと出力Qが分離されるラッチ状態と
なる。このラッチ状態においては、インバータ14およ
び16により、信号/データがラッチされる。
【0089】クロック信号CLKがHレベルとなると、
インバータ11の出力信号がLレベル、インバータ12
の出力信号がHレベルとなり、CMOSトランスミッシ
ョンゲート13が導通状態、CMOSトランスミッショ
ンゲート17が非導通状態となる。この状態において
は、ハイアクティブラッチ回路LHは、入力Dに与えら
れた信号/データが出力Qに転送されるスルー状態とな
る。
【0090】この図4に示すハイアクティブラッチ回路
においては、図5に示すように、セットアップ時間SU
PLおよびホールド時間HLDLが、クロック信号CL
Kの立下がりエッジに対して定義され、出力遅延時間T
PDLが、クロック信号CLKの立上がりエッジに対し
て定義される。また、このハイアクティブラッチ回路L
Hにおいても、入力Dに与えられた信号が出力Qに転送
されるまでの伝搬遅延時間(データスルー時間)THR
が存在する。
【0091】再び図1を参照して、フリップフロップ回
路FF01とラッチ回路LL01のクロック信号間に
は、クロックスキュー固定要素SKW03が存在し、ラ
ッチ回路LL01およびLH02のクロック信号間に
は、クロックスキュー固定要素SKW04が存在し、ラ
ッチ回路LH02とフリップフロップ回路FF03のク
ロック信号間には、クロックスキュー固定要素SKW0
5が存在する。
【0092】また、フリップフロップ回路FF01とラ
ッチ回路LH02のクロック信号間には、クロックスキ
ュー固定要素SKW06が存在し、ラッチ回路LL01
とフリップフロップ回路FF03のクロック信号間に
は、クロックスキュー固定要素SKW07が存在する。
【0093】フリップフロップ回路FF01とフリップ
フロップ回路FF03のクロック信号間には、クロック
スキュー固定要素SKWAが存在する。
【0094】クロックジッタの不確定要素は、周期依存
性があると考え、クロック1周期の周期のジッタJTR
に係数を掛ける。
【0095】この条件においては、図1に示すパイプラ
インにおけるロジックの論理遅延時間L03−L05
は、以下のセットアップ条件式(20)から(25)お
よびホールド条件式(26)から(28)を満たす必要
がある。
【0096】 L03≦TK−TPD01−SUPL01+SKW03−SKWET −JTR…(20) L04≦TK−TPDL01−SUPL02+SKW04−SKWET −JTR…(21) L05≦TK−TPDL02−SUPL03+SKW05−SKWET −JTR…(22) L03+L04≦(1+HDY)・TK−TPD01−SUPL02 +SKW06−SKWET−JTR・K01 −THR01…(23) L04+L05≦(1+LDY)・TK−TPDL01−SUPL03 +SKW07−SKWET−JTR・K02 −THR02…(24) L03+L04+L05≦2・TK−TPD01−SUP03+SKWA −SKWET−JTR・K03 −THR01−THR02…(25) LH03≧HLDL01−TPDH01+SKWH03 +SKWETH…(26) LH04≧HLDL02−TPDLH01+SKWH04 +SKWETH…(27) LH05≧HLD03−TPDLH02+SKWH05 +SKWETH…(28) ここで、THR01およびTHR02は、ラッチ回路L
L01およびLH02のデータスルー時間を示し、また
ホールド条件下においては、異なるパラメータ値を用い
るため、Hをセットアップ条件における対応のパラメー
タの符号の末尾に付している。このセットアップ条件に
おけるパラメータの符号については、以下の説明におい
ても同様である。符合が異なるものの、実際に設計され
たパイプラインのロジックの論理遅延時間は、セットア
ップ条件およびホールド条件両者を満たしている。
【0097】HDYおよびLDYは、クロック信号のH
レベル期間およびLレベル期間のクロック信号の1周期
に対する割合を示す。HDY+LDY=1が成立するも
のとする。
【0098】フリップフロップ回路FF01のクロック
入力からそのフリップフロップ回路FF01の出力の遅
延時間(出力遅延時間TPD)は、ロジックLG01と
ロジックLG03とは、全体の構成が異なるものの、フ
リップフロップ回路FF01に接続される部分の構成
は、図9に示す構成と同じであり、前述の条件式(1
0)で用いた値に等しいと考えることができる。
【0099】また、フリップフロップ回路FF03のセ
ットアップ時間についても、このフリップフロップ回路
FF03の前の数段の論理パスが等しいため、図9に示
す構成の場合と大きく異なることはないと考えられる。
したがって、上述の条件式(20)から(25)におい
ては、条件式(10)において用いられた出力遅延時間
TPD01とセットアップ時間SUP03と同じ値が用
いられる。
【0100】クロックジッタなどは、クロック信号の周
期が変化すると応じて変化する。一般に、クロックジッ
タは、1サイクル期間でのジッタよりも2サイクルにわ
たる期間でのジッタのほうが大きくなるというように、
考察対象のクロック周期が大きくなるほど(間のロジッ
クのパスの数が増大するほど)、そのジッタの値が大き
くなると考えられる。したがって、クロックジッタの不
確定要素の周期依存性を示す係数K01−K03は、一
般的には1以上となり、係数K01およびK02より
も、係数K03の方が大きな値をとるこが多い。
【0101】HDYおよびLDYは、クロック信号CL
KのHレベル期間およびLレベル期間のデューティを示
す。これらのデューティHDYおよびLDYに関して
は、これらの値を正確に計算できない場合および制御す
ることができない場合には、それらのデューティ比HD
YおよびLDYの値を、クロックスキューの不確定要素
SKWETに含める必要が生じる。
【0102】また条件式(25)に示されるデータスル
ー時間THR02に関しては、厳密には、条件式(2
4)のデータスルー時間THR02と異なる。しかしな
がら、ハイアクティブラッチ回路LH02の前の数段の
論理パスが、両条件において等しいため、大きく異なる
ことはないと考えて同じ値を用いる。
【0103】また、条件式(20)ないし(25)それ
ぞれにおいて用いられる論理遅延時間L03ないしL0
5の値も、厳密には異なるものの、同様の理由により、
大きく変わることはないものとして、同じ値を用いる。
【0104】ホールド条件を示す条件式(26)ないし
(28)に着目すると、パイプラインをフリップフロッ
プのみを用いて構成するフリップフロップ設計時におけ
るホールド条件の条件式(3)および(4)と同等で、
単に条件式の数が1つ増加するだけであることがわか
る。
【0105】クロックジッタには、周期依存性がないも
のとする、係数K01=K02=K03=1と考えるこ
とができる。この仮定の下では、フリップフロップ設計
の場合と同様に、SKWET+JTR=MRGと定義す
ると、セットアップ条件式(20)ないし(25)は、
以下のように変換することができる。
【0106】 L03≦TK−TPD01−SUPL01+SKW03−MRG…(29) L04≦TK−TPDL01−SUPL02+SKW04−MRG…(30) L05≦TK−TPDL02−SUPL03+SKW05−MRG…(31) L03+L04≦(1+HDY)・TK−TPD01−SUPL02 +SKW06−MRG−THR01…(32) L04+L05≦(1+LDY)・TK−TPDL01−SUP03 +SKW07−MRG−THR02…(33) L03+L04+L05≦2・TK−TPD01−SUP0+SKWA −MRG−THR01−THR02…(34) フリップフロップのクロック入力からその出力の遅延時
間の平均値をTpd、フリップフロップのセットアップ
時間の平均値をSup、ラッチ回路LL01およびLH
02のデータスルー時間の平均値をThrと定義する
と、2段パイプライン構成における許容最大論理遅延時
間の平均値は以下の式で表わされる。
【0107】 L03+L04+L05=2・TK−Tpd−Sup+SKWA −MRG−2・Thr…(35) 図1に示すようにラッチ回路を用いたパイプライン設計
を行なう場合には、データTpd、MRGおよびおよび
Supは、2段のパイプライン間で一度だけ考慮する必
要があることがわかる。すなわち、ラッチ回路を利用し
て論理回路構成を行ない、このラッチ回路の数に等しい
データスルー時間Thrを犠牲とすることにより、デー
タTpd、MRGおよびSupの一部をキャンセルする
ことができる。ただし、条件式(29)から(34)を
すべて満たす場合においても、論理遅延時間L03ない
しL05の条件によっては、この式(34)または(3
5)の最大遅延時間を有効に使うことができなくなる場
合があり、注意が必要である。
【0108】条件式(10)および(34)の右辺は、
2段パイプライン間の許容最大論理遅延時間を示してお
り、これらの条件式(10)および(34)の右辺の差
分を取ると、以下のMRTP2・2の値だけ、遅延時間
の点で、ラッチ回路を用いた構成が有利になることがわ
かる。
【0109】 MRTP2・2=TPD02+SUP02+MRG−THR01 −THR02…(36) したがって、ラッチ回路のデータスルー時間THR01
およびTHR02の値が十分小さい場合には、条件式
(36)の値が正の値を取り、ラッチ回路を用いること
により、フリップフロップ回路のみを用いるパイプライ
ン設計よりも遅延時間の点で有利となる。
【0110】条件式(36)の値MRTP2・2は2段
パイプラインにおける利得を示しており、1段のパイプ
ラインにおける利得分MRTP2は、次式で表わされ
る。
【0111】 MRTP2 =(1/2)・(TPD02+SUP02+MRG−THR01−THR02) …(37) また、条件式(11)および(35)の右辺の差分を取
り、1段パイプラインにおける利得分に換算すると、以
下の値だけ、ラッチ回路を用いた場合、許容最大論理遅
延時間を長くすることができる。
【0112】 MRTP2 =(1/2)・(Tpd+Sup+MRG−2・Thr)…(38) MRG≫Tpd+Sup−2・Thrという条件が成り
立つ場合には、条件式(38)をさらに簡単にすること
ができ、以下の値だけ、ラッチ回路を用いた場合に有利
になることがわかる。
【0113】 MRTP2=(1/2)・MRG…(39) クロックスキューとクロックジッタの不確定要素の周期
依存性とを考慮する場合には、条件式(10)および
(25)の右辺の差分を取る必要がある。この場合、1
段パイプラインにおける利得分に換算すると、以下の値
だけラッチ回路を用いた構成が有利になることがわか
る。
【0114】 MRTP2=(1/2)・{Tpd+Sup+SKWET +(2−K3)・JTR−2・Thr}…(40) ラッチ設計による利得を示す条件式(37)から(4
0)における値が大きい場合には、ラッチ設計の利点を
活かすことにより、論理遅延時間を長くすることができ
る。したがって、以下の設計フローに従ってラッチ回路
を用いてパイプラインを設計することにより、パイプラ
イン設計が容易となる。
【0115】ステップ01:クロック周期を「TK+M
RTP2」と考えてフリップフロップを用いてパイプラ
インを設計する。
【0116】ステップ02:目標のクロック周期TKに
対してセットアップエラーとなるクリティカルパスを検
出する。
【0117】ステップ03:エラーパスに関連するフリ
ップフロップの1個をローアクティブラッチ回路とハイ
アクティブラッチ回路に分離する。フリップフロップ回
路がアップエッジ型回路の場合には、ローアクティブラ
ッチ回路を前段に、ハイアクティブラッチ回路を後段に
配置する。フリップフロップ回路が逆にダウンエッジ型
の場合には、ハイアクティブラッチ回路を前段に配置し
ローアクティブラッチ回路を後段に配置する。
【0118】ステップ04:エラーパスの論理を、前述
の条件式(20)から(28)または(29)から(3
4)を満たすようにラッチ間に移動させる。
【0119】図6は、この発明の実施の形態1に従う2
段パイプラインのラッチ設計手順を示す図である。以
下、図6(A)−(D)を参照して、2段パイプライン
のラッチ設計手順について説明する。
【0120】図6(A)に示すように、ステップ01に
おいて、クロック信号の1周期を、TK+MRTP2に
設定して、必要な段数を有するパイプラインをフリップ
フロップ回路を用いて形成する。最終的に、ラッチ回路
を用いてパイプラインを構成するため、目標のクロック
周期TKよりもラッチ利得分MRTP2を見込んだクロ
ック周期TH+MRTP2を用いる。利得MRTP2
は、最も正確な条件式(40)を用いて計算するのが理
想的である。しかしながら、フリップフロップ設計を、
既存の論理構成ツールを用いて行なう場合の制約および
論理設計時間の短縮などの理由により、実際の適用が困
難な場合には、条件式(37)から(39)のいずれか
を用いることもできる。
【0121】図6(A)においては、フリップフロップ
回路FFA−FFDが配置され、フリップフロップ回路
FFAおよびFFBの間にロジックLGAが配置され、
フリップフロップ回路FFBおよびFFCの間にロジッ
クLGBが配置され、フリップフロップ回路FFCおよ
びFFDの間に、ロジックLGCが配置される。
【0122】次に、図6(B)に示すように、ステップ
02において、クロック周期を正規の周期TKに戻し
て、エラーを生じる(セットアップ条件に関して)エラ
ーパスを検出する。セットアップ条件についてエラーを
生じるパスを検出するのは、クロック信号周期が長い状
態でホールド条件およびセットアップ条件が満たされる
ようにロジックを配置しており、クロック信号の周期が
目標値に設定された場合には、ホールド条件は満たされ
ているためである。したがって、特にホールド条件につ
いては、エラーを検出する必要がなく、エラーパス検出
時間を短縮する。
【0123】図6(B)においては、エラーパスとし
て、ロジックLGBが検出される。このエラーパスの検
出方法としては、論理構成ツールを用いて計算する方法
およびインダクタンス、容量および抵抗値などを抽出し
て遅延時間を計算するバックアノテーション時に計算す
る方法などの方法を取ることができる。
【0124】エラーパスに関連するフリップフロップ回
路を、ローアクティブラッチ回路およびハイアクティブ
ラッチ回路で置換する。このエラーパスの前段および後
段のフリップフロップ回路のいずれが、ラッチ回路へ分
割が可能な場合には、前段のパスの遅延と後段のパスの
遅延の条件に従って分割するフリップフロップ回路を決
定する。このフリップフロップ回路が立上がりエッジ型
フリップフロップ回路の場合には、前段にローアクティ
ブラッチ回路LLを配置し、後段にハイアクティブラッ
チ回路LHを配置する。図6(C)においては、エラー
パスの後段のフリップフロップ回路FFCが、ローアク
ティブラッチ回路LLAおよびハイアクティブラッチ回
路LHAで置換される。
【0125】次に、図6(D)に示すように、ステップ
04において、ラッチ設計の条件式として、ホールド条
件に関しては条件式(26)から(28)およびセット
アップ条件として、条件式(20)から(25)または
条件式(29)から(34)に従ってエラーパスに関連
するロジックLGBおよびLGCを、3つのロジックL
GKA、LGKBおよびLGKCに分割する。この分割
により、フリップフロップ回路FFBとローアクティブ
ラッチ回路LLAの間にロジックLGKAが配置され、
ラッチ回路LLAおよびLHAの間にロジックLGKB
が配置され、ハイアクティブラッチ回路LHAおよびフ
リップフロップ回路FFBの間にロジックLGKCが配
置される。
【0126】フリップフロップ回路FFBからフリップ
フロップ回路FFDに対して、2クロック周期2・TK
が割当てられる。
【0127】ロジックLGKA−LGKCで構成される
パイプライン段に対しては、最大論理遅延時間の利得M
RTP2・2をフリップフロップを用いる場合に比べて
得ることができる。すなわち、1段のパイプラインに対
し挿入可能な論理遅延時間を増加させることができる。
この許容論理遅延時間の増加分MRTP2により、遅延
収束時間を改善することができ、応じて設計期間の短縮
が期待できる。また、より複雑な論理を各パイプライン
段に組込むことができる。
【0128】さらに、許容論理遅延時間が増加するた
め、実際の遅延時間に対し余裕のあるパスが増加し、こ
のパスにおいてトランジスタサイズの調整またはたとえ
ば2入力ANDゲートを4入力ANDゲートへの変更な
どの論理的な改善を行なうことができ、面積を低減する
ことができる。
【0129】また、ロジックの論理遅延時間に対する条
件式として不等式を用いているため、ラッチ回路の挿入
位置に幅を持たせることができ、ラッチ回路の挿入位置
が一意的に決定される場合に比べて、ロジックの分割お
よび分割後のロジックの最適化を容易に実現することが
できる。
【0130】[実施の形態2]図7は、この発明の実施
の形態2に従うパイプラインの構成を概略的に示す図で
ある。この図7に示すパイプラインは、図13に示す3
段のパイプラインにおいて、フリップフロップ回路FF
12を、ラッチ回路LL15およびLH16で置換し、
フリップフロップ回路FF13を、ラッチ回路LL17
およびLH18で置換した構成と等価である。ラッチ回
路LL15およびLL17は、ローアクティブラッチ回
路であり、ラッチ回路LH16およびLH18は、ハイ
アクティブラッチ回路である。フリップフロップ回路の
ラッチ回路への分割により、ロジックもラッチ回路によ
り分割される。
【0131】フリップフロップ回路FF11とローアク
ティブラッチ回路LL15の間にロジックLG14が配
置され、ラッチ回路LL15およびLH16の間にロジ
ックLG15が配置される。ラッチ回路LH16および
LL17の間にロジックLG16が配置され、ラッチ回
路LL17およびLH18の間にロジックLG17が配
置される。ハイアクティブラッチ回路LH18とフリッ
プフロップ回路FF14の間にロジックLG18が配置
される。ロジックLG14からLG18は、それぞれ、
論理遅延時間L14からL18を有する。
【0132】フリップフロップ回路FF11およびFF
14は、クロック信号の立上がりエッジで与えられた信
号を取込み出力する。したがって、クロック信号がLレ
ベルのときにスルー状態となるローアクティブラッチ回
路LLとクロック信号がHレベルのときにスルー状態と
なるハイアクティブラッチ回路が、この順に配置され
る。
【0133】フリップフロップ回路FF11に対して
は、出力遅延時間TPD11とセットアップ時間SUP
11とホールド時間HLD11とが定義される。
【0134】ローアクティブラッチ回路LL15に対し
ては、出力遅延時間TPDL15とセットアップ時間S
UPL15と、データスルー時間THR15と、ホール
ド時間HLDL15とが定義される。
【0135】ハイアクティブラッチ回路LH16に対し
ては、出力遅延時間TPDL16とセットアップ時間S
UPL16と、データスルー時間THR16と、ホール
ド時間HLDL16とが定義される。
【0136】ローアクティブラッチ回路LL17に対し
ては、出力遅延時間TPDL17と、セットアップ時間
SUPL17と、データスルー時間THR17と、ホー
ルド時間HLDL17とが定義される。
【0137】ハイアクティブラッチ回路LH18に対し
ては、出力遅延時間TPDL18と、セットアップ時間
SUPL18と、データスルー時間THL18と、ホー
ルド時間HLDL18とが定義される。
【0138】フリップフロップ回路FF14に対して
は、出力遅延時間TPD14と、セットアップ時間SU
P14と、ホールド時間HLD14とが定義される。
【0139】フリップフロップ回路FF11およびFF
14へは、クロック信号CLK11およびCLK14が
それぞれ与えられる。ラッチ回路LL15、LH16、
LL17およびLH18に対しては、クロック信号CL
K15、CLK16、CLK17およびCLK18が、
それぞれ与えられる。
【0140】ラッチ回路LL15とフリップフロップ回
路FF11のクロック信号間には、クロックスキューの
固定要素SKW14が存在し、ラッチ回路LL15およ
びLH16のクロック信号間には、クロックスキューの
固定要素SKW15が存在する。ラッチ回路LH16お
よびLL17のクロック信号間には、クロックスキュー
の固定要素SKW16が存在する。ラッチ回路LL17
およびLH18のクロック信号間には、クロックスキュ
ーの固定要素SKW17が存在する。ラッチ回路LH1
8およびフリップフロップ回路FF14のクロック信号
間には、クロックスキューの固定要素SKW18が存在
する。
【0141】フリップフロップ回路FF11とラッチ回
路LH16のクロック信号間にはクロックスキューの固
定要素SKW19が存在し、ラッチ回路LH16および
LH18のクロック信号間には、クロックスキューの固
定要素SKW21が存在する。ラッチ回路LL15およ
びLL17のクロック信号間には、クロックスキューの
固定要素SKW20が存在する。ラッチ回路LL17お
よびフリップフロップ回路FF14のクロック信号間に
は、クロックスキューの固定要素SKW22が存在す
る。
【0142】ラッチ回路LL17とフリップフロップ回
路FF11のクロック信号間には、クロックスキューの
固定要素SKW23が存在する。ラッチ回路LL15お
よびLH18のクロック信号間には、クロックスキュー
の固定要素SKW24が存在する。フリップフロップ回
路FF14とラッチ回路LH16のクロック信号間に
は、クロックスキューの固定要素SKW25が存在す
る。
【0143】ラッチ回路LH18とフリップフロップ回
路FF11のクロック信号間には、クロックスキューの
固定要素SKW26が存在し、フリップフロップ回路F
F14とラッチ回路LL15のクロック信号間には、ク
ロックスキューの固定要素SKW27が存在する。フリ
ップフロップ回路FF14およびFF11のクロック信
号間には、クロックスキューの固定要素SKAが存在す
る。
【0144】また、これらのフリップフロップ回路FF
11およびFF14と、ラッチ回路LL15、LH1
6、LL17およびLH18に対するクロック信号にお
いては、ジッタを含むクロックスキューの不確定要素M
RGが存在する。
【0145】このクロックジッタの不確定要素は、周期
依存性がないと考え、JTR+SKWET=MRGと定
義する。クロックジッタに周期依存性が存在する場合に
は、2段パイプラインの場合と同様に考慮する。
【0146】ロジックLG14−LG18は、論理遅延
時間L14−L18を有し、フリップフロップ回路FF
11−FF14の間の3段パイプラインの論理は、図1
3に示されるフリップフロップ設計のパイプラインと全
く同様であると仮定すると、論理遅延時間L14−L1
8は、以下のセットアップ条件に対する条件式(41)
から(55)およびホールド条件についての条件式(5
6)から(60)を満たすことが要求される。
【0147】 L14≦TK−TPD11−SUPL15−SKW14−MRG…(41) L15≦TK−TPDL15−SUPL16−SKW15−MRG…(42) L16≦TK−TPDL16−SUPL17−SKW16−MRG…(43) L17≦TK−TPDL17−SUPL18−SKW17−MRG…(44) L18≦TK−TPDL18−SUP14−SKW18−MRG…(45) L14+L15≦(1+HDY)・TK−TPD11−SUPL16 −SKW19−MRG1(=MRG)−THR15 …(46) L15+L16≦(1+LDY)・TK−TPDL15−SUPL17 −SKW20−MRG2(=MRG)−THR16 …(47) L16+L17≦(1+HDY)・TK−TPDL16−SUPL18 −SKW21−MRG1(=MRG)−THR17 …(48) L17+L18≦(1+LDY)・TK−TPDL17−SUPL14 −SKW22−MRG2(=MRG)−THR18 …(49) L14+L15+L16≦2・TK−TPD11−SUPL17 −SKW23−MRG3(=MRG) −THR15−THR16…(50) L15+L16+L17≦2・TK−TPDL15−SUPL18 −SKW24−MRG3(=MRG) −THR16−THR17…(51) L16+L17+L18≦2・TK−TPDL16−SUP14 −SKW25−MRG3(=MRG) −THR17−THR18…(52) L14+L15+L16+L17≦(2+HDY)・TK−TPD11 −SUPL18−SKW26 −MRG4(=MRG) −THR15−THR16−THR17 …(53) L15+L16+L17+L18≦(2+LDY)・TK−TPDL15 −SUP14−SKW27 −MRG5(=MRG) −THR16−THR17−THR18 …(54) L14+L15+L16+L17+L18 ≦3・TK−TPD11−SUP14−SKWA−MRG6(=MRG) −THR15−THR16−THR17−THR18…(55) LH14 ≧HLDL15−TPD11+SKWH14+SKWETH…(56) LH15 ≧HLDL16−TPDL15+SKWH15+SKWETH…(57) LH16 ≧HLDL17−TPDL16+SKWH16+SKWETH…(58) LH17 ≧HLDL18−TPDL17+SKWH17+SKWETH…(59) LH18 ≧HLD14−TPDL18+SKWH18+SKWETH…(60) 上式において、MRG1からMRG5は、クロックジッ
タの周期依存性を考慮した値であり、クロックジッタの
周期依存性が存在しない場合には、MRG1からMRG
5は、全てMRGに等しくなる。
【0148】フリップフロップのクロック入力に対する
フリップフロップ出力の遅延時間(出力遅延時間)の平
均値をTpd、フリップフロップのセットアップ時間の
平均値をSup、ラッチ回路のデータスルー時間の平均
値をThrと定義すると、この3段パイプライン間の許
容最大論理遅延時間の平均値は、条件式(55)から、
次式で与えられる。
【0149】 L14+L15+L16+L17+L18 =3・TK−Tpd−Sup+SKWA−MRG−4・Tth…(61) したがって、この条件式(61)から、図7に示される
ようなラッチ回路を用いてパイプライン設計を行なう場
合には、パラメータTpd、MRGおよびSupは、3
段パイプラインにおいて1回のみ考慮する必要があるこ
とが判る。すなわち、ラッチ回路を利用した回路構成を
行ない、このラッチ回路の数のデータスルー時間THR
の合計を犠牲にすることにより、これらのパラメータT
pd、MRGおよびSupの一部をキャンセルすること
ができる。
【0150】条件式(18)および(55)のそれぞれ
の右辺は、3段パイプラインの間の許容最大論理遅延時
間を与えており、これらの条件式(18)および(5
5)の右辺の差分を求め、この差分値を1段パイプライ
ンにおける利得分に換算すると、以下の値MRTP3だ
け、ラッチ回路を利用することにより、最大遅延時間を
長くすることができる。
【0151】 MRTP3= (1/3)・(TPD12+TPD13+SUP12+SUP13+2・MRG −THR15−THR16−THR17−THR18)…(62) また、条件式(19)および(62)の右辺の差分を求
め、1段パイプライン間での利得分に換算すると、以下
の式で与えられる値だけラッチ回路を用いたパイプライ
ンにおいては、最大論理遅延時間を長くすることができ
る。
【0152】 MRTP3=(1/3)・(2・Tpd+2・Sup +2・MRG−4・Thr)…(63) 2・MRG≫2・Tpd+2・Sup−4・Thrとい
う条件が成り立つような場合には、この条件式(63)
はさらに簡単化することができ、以下の値だけラッチ回
路を用いた場合が有利になることがわかる。
【0153】MRTP3=MRG・2/3…(64) したがって、ラッチ回路を用いたパイプライン設計にお
ける利得MRTP3の値が大きい場合には、このラッチ
設計の利点を活かすことにより、論理遅延時間を長く取
ることができ、以下のステップに従って3段パイプライ
ンを作成することができる。
【0154】ステップ11:クロック周期を、目標クロ
ック周期TK+利得分MRTP3の和と考えて、フリッ
プフロップ回路を用いてパイプラインを設計する。
【0155】ステップ12:目標クロック周期TKに対
してセットアップエラーとなるクリティカルパスを検出
する。
【0156】ステップ13:エラーパスに関連する2個
のフリップフロップを、それぞれ、ローアクティブラッ
チ回路およびハイアクティブラッチ回路に分離する。
【0157】ステップ14:エラーパスの論理を、前述
の条件式(41)−(60)が満たされるようにラッチ
間に移動する。
【0158】図8(A)から(D)は、この発明の実施
の形態2に従うパイプラインのラッチ設計手順を概略的
に示す図である。以下、図8(A)から(D)を参照し
て、この発明の実施の形態2に従う3段パイプラインの
設計手順について説明する。
【0159】図8(A)において、まずステップ11と
して、通常のフリップフロップを利用するパイプライン
構成時のセットアップ条件およびホールド条件を用い
る。ただし、ラッチ設計を考慮するため、目標クロック
周期TKよりも、ラッチ利得分MRTP3を見込んで、
クロック周期「TK+MRTP3」を用いて設計を行な
う。この利得MRTP3は、条件式(62)から(6
4)のいずれかを用いるものの、クロックジッタの周期
依存性を表わす要素を考慮する場合には、2段パイプラ
イン構成時と同様に複雑な式となる。図8(A)におい
て、フリップフロップ回路FFA−FFEそれぞれの次
段にロジックLGA−LGEが配置される。最終段のロ
ジックLGEの出力はフリップフロップ回路FFFに与
えられる。
【0160】次に、図8(B)に示すように、ステップ
12においては、クロック信号の周期を目標周期TKに
設定して、実施の形態1と同様にして、セットアップエ
ラーを生じるクリティカルパスを検出する。このエラー
パスの検出の方法としては実施の形態1の場合と同様、
論理合成ツールにおいて計算する方法およびバックアノ
テーション時に計算する方法などのさまざまな手段が考
えられる。図8(B)においては、ロジックLGCがエ
ラーパスとなる状態が一例として示される。
【0161】次に、図8(C)において、ステップ13
においては、このクリティカルパスに関連する2つのフ
リップフロップ回路を選択する。この2つのフリップフ
ロップ回路を選択する方法は、3通り考えられる。すな
わち、エラーパス前段の2つのフリップフロップ回路
(FFBおよびFFC)を選択する場合、エラーパスの
始点側のフリップフロップ回路(FFC)とエラーパス
の後段のフリップフロップ回路(FFD)を選択する場
合、およびエラーパスの後段のフリップフロップ回路
(FFD)およびさらに後段のフリップフロップ回路
(FFB)を選択する場合である。
【0162】いずれの条件下でのフリップフロップもラ
ッチ回路へ分割することが可能な場合には、前段のパス
の遅延と後段のパスの遅延などの条件によって決定す
る。選択されたフリップフロップ回路が、アップエッジ
型フリップフロップ回路の場合には、前方にローアクテ
ィブラッチ回路を配置し、後方に、ハイアクティブラッ
チ回路を配置するようにフリップフロップ回路を分割す
る。逆に、選択されたフリップフロップ回路が、ダウン
エッジ型フリップフロップ回路の場合には、前方にハイ
アクティブラッチ回路を配置し、後方に、ローアクティ
ブラッチ回路を配置するようにフリップフロップ回路を
分割する。図8(C)においては、このエラーパスの前
後のフリップフロップ回路FFCおよびFFDを選択
し、フリップフロップ回路FFCをローアクティブラッ
チ回路LLAおよびハイアクティブラッチ回路LHAに
分割し、フリップフロップ回路FFDを、ローアクティ
ブラッチ回路LLBおよびハイアクティブラッチ回路L
HBに分離する。
【0163】次いで、図8(D)を参照して、ステップ
14において、ラッチ設計の条件式、すなわちホールド
条件についての条件式(56)−(60)およびセット
アップ条件についての条件式(41)から(55)に従
って、3段パイプラインにわたるロジック(LGB−L
GD)を5つの論理回路部分に分割する。図8(D)に
おいては、ロジックLGB−LGDが、それぞれ、ロジ
ックLGKA−LGKEに分割される。すなわち、フリ
ップフロップ回路FFBとローアクティブラッチ回路L
LAの間に、ロジックLGKAが配置され、ラッチ回路
LLAおよびLHAの間にロジックLGKBが配置さ
れ、ラッチ回路LHAおよびLLBの間にロジックLG
KCが配置される。ラッチ回路LLBおよびLHBの間
にロジックLGKDが配置される。ラッチ回路LHBお
よびフリップフロップ回路FFEの間にロジックLGK
エが配置される。このフリップフロップ回路FFBから
フリップフロップ回路FFEは、3段のパイプラインに
相当し、クロック周期が3・TKとなる。
【0164】したがって、このラッチ設計を行なうため
のフローのステップ11−ステップ14を用いることに
より、1段のパイプラインに対し挿入可能な論理遅延時
間を増加させることができる。この許容論理遅延時間の
増加により、遅延収束時間の改善による設計期間の短縮
が可能となる。また、より複雑な論理を、各パイプライ
ン間に組込むことができる。さらに、遅延時間に余裕の
あるパスが増加するため、先の実施の形態1と同様、論
理的な改善により、面積を削減することができる。
【0165】また、実施の形態1と同様、論理遅延時間
に対する条件として不等式を用いているため、ラッチ回
路の配置位置に対して幅を持たせることができ、フリッ
プフロップ回路の分割によるロジックの再配置が容易と
なり、また、分割後のロジックを最適化することができ
る。
【0166】[一般的構成]上述のように2段パイプラ
イン構成および3段パイプライン構成のラッチ設計につ
いて説明してきている。しかしながら、4段以上のパイ
プライン構成および2段パイプライン構成と3段パイプ
ライン構成の混在などについても同様に考えることがで
きる。ただし、これらのパイプラインの段数が増加する
と、フリップフロップを用いた設計に対するラッチ設計
の遅延利得分は増加するものの、条件式が大きくなり、
設計が複雑となる。一般に、N段のパイプラインをラッ
チ設計した場合、1段当りのパイプラインの利得MRT
PNとしては、次式で与えられる。
【0167】MRTPN=(1/N)・{(N−1)T
pd+(N−1)Sup+(N−1)・MRG−2・
(N−1)・Thr} また、クロック信号の曖昧さの要因として、クロックス
キューおよびクロックジッタなどの例を示している。し
かしながら、他の設計要因および条件を考慮することに
より、これまでに示した条件式または類似式でこれらの
クロック信号の曖昧さを表わせることができる場合にお
いても、同様の効果を得ることができる。
【0168】また、フリップフロップ回路としては、ク
ロック信号の立上がりエッジで信号/データを出力する
立上がりエッジ型フリップフロップ回路に代えて、クロ
ック信号の立下がりに同期して信号/データを出力する
立上がりエッジ型のフリップフロップ回路が用いられる
場合に対しても同様の効果を得ることができる。
【0169】また、ホールド条件に対する不等式におい
ては、論理遅延時間をセットアップ条件に対する論理遅
延時間と異なる符号を用いている。しかしながら、実施
の形態1においても述べているように、実際に設計され
たパイプラインにおいて各ロジックの論理遅延時間は、
セットアップ条件およびホールド条件両者を満たしてい
る。
【0170】
【発明の効果】以上のように、この発明に従えば、パイ
プラインのフリップフロップ設計においてクロック周期
を所定値長くして論理回路を配置し、クロック周期の目
標値に対してエラーを生じるエラーパスに関連するフリ
ップフロップをラッチ回路で置換して論理回路を再配置
しており、論理パスの許容最大論理遅延時間を長くする
ことができ、パイプライン設計を容易に行なうことがで
きる。
【0171】また、遅延時間に余裕のあるパスにおいて
論理回路の変更およびトランジスタサイズの変更などに
より、回路のレイアウト面積を低減することができ、ま
た、複雑な回路を配置することもできる。
【0172】また、セットアップ条件が満たされないパ
スをエラーパスとして検出することにより、ラッチ回路
を用いても、信号/データの突き抜けが生じるのを正確
に防止して、論理回路を再配置することができる。
【0173】また、エラーパスに関連する1つのフリッ
プフロップ回路を2つの相補的に動作するラッチ回路で
置換することにより、2段パイプラインをラッチ回路に
より分割しかつこの2段パイプラインの許容論理遅延時
間を長くすることができ、2段パイプラインの設計が容
易となる。
【0174】また、エラーパスに関連する複数のフリッ
プフロップ回路それぞれを2つの相補的に動作するラッ
チ回路で置換することにより、3段以上のパイプライン
をラッチ回路により分割して、論理回路を最適配置する
ことができる。
【0175】また、クロック周期を設定する際に、ラッ
チ回路置換により得られる利得時間を考慮してクロック
周期を設定してフリップフロップを用いてパイプライン
を設計することにより、ラッチ回路の置換により救済可
能なパイプラインステージを検出することができ、遅延
収束時間を短縮することができ、パイプライン設計に要
する時間を短縮することができる。
【0176】また、この利得時間として、フリップフロ
ップ回路の出力遅延時間と対象フリップフロップ回路の
セットアップ時間とクロック信号に対するマージンの和
と複数のラッチ回路の信号伝搬遅延時間との差を対象フ
リップフロップ回路に関連するパイプライン段数で割っ
た値とすることにより、ラッチ回路の置換によりパイプ
ライン段を正確に動作させるパスに変換することができ
る。
【0177】また、条件式として、クロック信号のスキ
ューおよびマージンと前段のフリップフロップ回路およ
び複数のラッチ回路の信号伝搬遅延時間と、後段のフリ
ップフロップ回路のセットアップ時間とこれら複数のラ
ッチ回路のセットアップ時間と、クロック信号の周期
と、ラッチ回路がラッチ状態となるクロック信号のデュ
ーティとを少なくとも考慮して導出される不等式を用い
ることにより、正確に、ラッチ回路の配置位置を、幅を
持たせることができ、ラッチ回路による論理回路分割時
における論理回路の再配置が容易となる。
【0178】また、条件式として、さらにホールド条件
を利用することにより、正確に、クロック信号に同期し
て信号/データを転送するパイプラインを実現すること
ができる。
【0179】また、第1および第2のフリップフロップ
の間に、互いに相補的に動作するラッチ回路を配置し、
これらの回路の間に、所定の不等式で与えられる条件式
を満たすように論理回路を配置することにより、高速ク
ロック信号に同期して正確に動作する2段パイプライン
を実現することができる。
【0180】また、クロック信号の周期依存性を無視す
ることにより、この論理回路に対する制約条件が簡略化
され、論理回路の再配置が容易となる。
【0181】また、第1および第2のフリップフロップ
の間に、順次相補的に動作するラッチ回路を4個配置
し、これらの回路の間に、所定の不等式で与えられる条
件式を満たすように論理回路を配置することにより、高
速クロック信号に同期して正確に動作する3段パイプラ
インを実現することができる。
【0182】また、このジッタの周期依存性を無視した
条件式を用いることにより、論理回路の配置条件を簡略
化することができる。
【図面の簡単な説明】
【図1】 この発明の実施の形態1に従う2段パイプラ
インの構成を概略的に示す図である。
【図2】 図1に示すローアクティブラッチ回路の構成
の一例を示す図である。
【図3】 図2に示すローアクティブラッチ回路の動作
を示す信号波形図である。
【図4】 図1に示すハイアクティブラッチ回路の構成
の一例を示す図である。
【図5】 図4に示すハイアクティブラッチ回路の動作
を示す信号波形図である。
【図6】 (A)から(D)は、この発明の実施の形態
1に従うパイプライン設計フローを示す図である。
【図7】 この発明の実施の形態2に従う3段パイプラ
インの構成を概略的に示す図である。
【図8】 (A)から(D)は、この発明の実施の形態
2におけるパイプライン設計フローを示す図である。
【図9】 フリップフロップ設計に従う2段パイプライ
ンの構成を概略的に示す図である。
【図10】 図9に示す各パラメータを示す図である。
【図11】 パイプラインに対するクロック分配系の構
成を概略的に示す図である。
【図12】 2段パイプラインの論理回路の論理遅延時
間と各パラメータの関係を示す図である。
【図13】 フリップフロップ設計に従う3段パイプラ
インの構成を概略的に示す図である。
【符号の説明】
FF01−FF03,FF11−FF14 フリップフ
ロップ、LL01,LL15,LL17 ローアクティ
ブラッチ回路、LH02,LH16,LH18ハイアク
ティブラッチ回路、LG03−LG05,LG14−L
G18 ロジック、FFA−FFF フリップフロッ
プ、LGA−LGE,LGKA−LGKE ロジック。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) H01L 21/82 D

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 基本クロック信号に同期して信号を転送
    する複数のフリップフロップ回路を含むパイプラインを
    備える半導体集積回路装置の設計方法であって、 転送クロック信号の周期を、前記基本クロック信号の周
    期と前記パイプラインの特定のフリップフロップ回路を
    ラッチ回路で置換した際に得られる利得時間との和であ
    ると仮定して前記パイプラインをフリップフロップ回路
    を用いて設計するステップと、 前記転送クロック信号の周期を、前記基本クロック信号
    の周期に設定して、該設計されたパイプラインのエラー
    パスを検出するステップと、 前記エラーパスに関連するフリップフロップ回路を、前
    記クロック信号に同期して相補的に動作する複数のラッ
    チ回路に分割するステップと、 前記エラーパスに関連する論理回路を、信号伝搬遅延に
    ついて所定の条件不等式が各ラッチ回路に関連する論理
    回路段において満たされるように前記複数のラッチ回路
    により分割して再配置するステップとを備える、半導体
    集積回路装置の設計方法。
  2. 【請求項2】 前記エラーパスを検出するステップは、
    前記転送クロック信号に対するセットアップ条件が満た
    されないセットアップエラーを生じるパスを前記エラー
    パスとして検出するステップを含む、請求項1記載の半
    導体集積回路装置の設計方法。
  3. 【請求項3】 前記複数のラッチ回路に分割するステッ
    プは、前記エラーパスに関連する1つのフリップフロッ
    プ回路を2つの互いに相補的に動作するラッチ回路に分
    割するステップを含む、請求項1記載の半導体集積回路
    装置の設計方法。
  4. 【請求項4】 前記複数のラッチ回路に分割するステッ
    プは、前記エラーパスに関連する複数のフリップフロッ
    プ回路各々を2つの互いに相補的に動作するラッチ回路
    に分割するステップを備える、請求項1記載の半導体集
    積回路装置の設計方法。
  5. 【請求項5】 前記利得時間は、対象フリップフロップ
    回路の前記転送クロック信号に対する信号出力遅延時間
    と前記対象フリップフロップ回路のセットアップ時間と
    前記転送クロック信号に対するマージンの和と前記複数
    のラッチ回路の信号伝搬遅延時間との差を前記対象フリ
    ップフロップ回路に関連するパイプライン段の数で割っ
    た値で与えられる、請求項1記載の半導体集積回路装置
    の設計方法。
  6. 【請求項6】 前記所定の条件不等式は、前記複数のラ
    ッチ回路各々に対する前記基本クロック信号のスキュー
    と、前記基本クロック信号に対するマージンと、前段の
    フリップフロップ回路および前記複数のラッチ回路各々
    の信号伝搬遅延時間と、後段のフリップフロップ回路の
    セットアップ時間と、前記複数のラッチ回路の各々のセ
    ットアップ時間と、前記基本クロック信号の周期と、前
    記ラッチ回路がラッチ状態となる基本クロック信号のデ
    ューティとを少なくとも考慮して導出される、請求項1
    記載の半導体集積回路装置の設計方法。
  7. 【請求項7】 前記所定の条件不等式は、さらに、前記
    複数のラッチ回路および前記後段のフリップフロップ回
    路の前記基本クロック信号に対するホールド条件と、前
    記クロック信号の各前記ラッチ回路および前段のフリッ
    プフロップ回路の前記基本クロック信号に対する出力遅
    延時間と、前記基本クロック信号に対するマージンとを
    考慮して導出される不等式を含む、請求項6記載の半導
    体集積回路装置の設計方法。
  8. 【請求項8】 クロック信号に同期して与えられた信号
    を転送する第1のフリップフロップ回路、 前記クロック信号に同期して、前記第1のフリップフロ
    ップ回路と相補的に動作し、与えられた信号を転送しか
    つラッチする第1のラッチ回路、 前記第1のフリップフロップ回路と前記第1のラッチ回
    路との間に配置され、少なくとも前記第1のフリップフ
    ロップ回路から与えられる信号に論理処理を施して前記
    第1のラッチ回路に転送する第1の論理回路、 前記クロック信号に同期して、前記第1のラッチ回路と
    相補的に動作し、与えられた信号を転送しかつラッチす
    る第2のラッチ回路、 前記第1のラッチ回路と前記第2のラッチ回路との間に
    配置され、前記第1のラッチ回路からの信号に論理処理
    を施して前記第2のラッチ回路に転送する第2の論理回
    路、 前記クロック信号に同期して前記第2のラッチ回路と相
    補的に動作し、与えられた信号を転送する第2のフリッ
    プフロップ回路、および前記第2のラッチ回路と前記第
    2のフリップフロップ回路との間に配置され、前記第2
    のラッチ回路からの信号に論理処理を施して前記第2の
    フリップフロップ回路へ転送する第3の論理回路とを備
    え、 前記第1および第2のラッチ回路と前記第1および第2
    のフリップフロップ回路は、以下の条件を満たすように
    配置される; L1≦TK−TPDF1−SUPL1+SKW1−SKET−JTR…(1) L2≦TK−TPDL1−SUPL2+SKW2−SKET−JTR…(2) L3≦TK−TPDL2−SUPF2+SKW3−SKET−JTR…(3) L1+L2≦(1+HDY)・TK−TPDF1−SUPL2+SKW4 −SKET−JTR・K1−THR1…(4) L2+L3≦(1+LDY)・TK−TPDL1−SUPF2+SKW5 −SKET−JTR・K2−THR2…(5) L1+L2+L3≦2・TK−TPDF1−SUPF2+SKWA−SKET −JTR・K3−THR1−THR2…(6) L1≧HLDL1−TPDFH1+SKWH1+SKETH…(7) L2≧HLDL2−TPDLH1+SKWH2+SKETH…(8) L3≧HLDF2−TPDLH2+SKWH3+SKETH…(9) ここで、L1、L2およびL3は、それぞれ、前記第
    1、第2および第3の論理回路の論理遅延時間を示し、
    TKは前記クロック信号の周期を示し、TPDF1は、
    前記第1のフリップフロップ回路の前記クロック信号に
    対する信号の出力の遅れを示し、TPDL1およびTP
    DL2は、前記第1および第2のラッチ回路の前記クロ
    ック信号に対する出力信号の遅れを示し、SKW1、S
    KW2およびSKW3は、前記クロック信号の前段回路
    に与えられるクロック信号に対するスキューをそれぞれ
    示し、SKW4は、前記第1のフリップフロップ回路に
    与えられるクロック信号に対する前記第2のラッチ回路
    に与えられるクロック信号のスキューを示し、SKW5
    は、前記第2のフリップフロップ回路に与えられるクロ
    ック信号の前記第1のラッチ回路へ与えられるクロック
    信号のスキューを示し、SKWAは前記第2のフリップ
    フロップ回路に与えられるクロック信号の前記第1のフ
    リップフロップ回路へ与えられるクロック信号に対する
    スキューを示し、SUPL1、SUPL2、SUPF2
    は、それぞれ、前記第1のラッチ回路、第2のラッチ回
    路および第2のフリップフロップ回路のセットアップ時
    間をそれぞれ示し、SKETは、前記クロック信号の不
    確定要素に起因する固定スキューを示し、JTRは、前
    記クロック信号の前段の回路のクロック信号に対するジ
    ッタを示し、THR1およびTHR2は、前記第1およ
    び第2のラッチ回路の信号伝搬遅延時間をそれぞれ示
    し、HDYおよびLDYは、それぞれ前記第1および第
    2のラッチ回路に与えられるクロック信号のラッチ期間
    のデューティを示し、K1、K2およびK3は、前記ジ
    ッタの周期依存性を示す係数であり、HLDL1、HL
    DL2およびHLDF2は、それぞれ、前記第1のラッ
    チ回路、前記第2のラッチ回路、および前記第2のフリ
    ップフロップ回路の前記クロック信号に対するホールド
    時間を示し、TPDFH1、TPDLH1、およびTP
    DLH2は、前記第1のフリップフロップ回路、第1の
    ラッチ回路および第2のラッチ回路のホールド条件下に
    おける前記クロック信号に対する出力信号の遅れを示
    し、SKWH1、SKWH2およびSKWH3は、前記
    クロック信号のホールド条件下における前段回路に与え
    られるクロック信号に対するスキューを示し、SKET
    Hは、前記クロック信号の不確定要因による固定スキュ
    ーを示す、半導体集積回路装置。
  9. 【請求項9】 前記条件式(1)から(6)は、前記ク
    ロック信号のジッタJTRの周期依存性を無視すると、
    以下の条件式に変換される; L1≦TK−TPDF1−SUPL1+SKW1−MRG…(10) L2≦TK−TPDL1−SUPL2+SKW2−MRG…(11) L3≦TK−TPDL2−SUPF2+SKW3−MRG…(12) L1+L2≦(1+HDY)・TK−TPDF1−SUPL2+SKW4 −MRG−THR1…(13) L2+L3≦(1+LDY)・TK−TPDL1−SUPF2+SKW5 −MRG−THR2…(14) L1+L2+L3≦2・TK−TPDF1−SUPF2+SKWA −MRG−THR1−THR2…(15)、 ただし、MRGは、SKET+JTRで与えられる、請
    求項8記載の半導体集積回路装置。
  10. 【請求項10】 クロック信号に同期して、与えられた
    信号を転送する第1のフリップフロップ回路、 前記第1のフリップフロップ回路からの信号に論理処理
    を施して出力する第1の論理回路、 前記クロック信号に同期して、前記第1のフリップフロ
    ップ回路と相補的に動作し、前記第1の論理回路の出力
    信号を転送しかつラッチする第1のラッチ回路、 前記第1のラッチ回路からの出力信号に論理処理を施し
    て出力する第2の論理回路、 前記クロック信号に同期して前記第1のラッチ回路と相
    補的に動作し、前記第2の論理回路の出力信号を転送し
    かつラッチする第2のラッチ回路、 前記第2のラッチ回路の出力信号に論理処理を施して出
    力する第3の論理回路、 前記クロック信号に同期して前記第2のラッチ回路と相
    補的に動作し、前記第3の論理回路の出力信号を転送し
    かつラッチする第3のラッチ回路、 前記第3のラッチ回路の出力信号に論理処理を施して出
    力する第4の論理回路、 前記クロック信号に同期して前記第3のラッチ回路と相
    補的に動作して前記第4の論理回路の出力信号を転送し
    かつラッチする第4のラッチ回路、 前記第4のラッチ回路の出力信号に論理処理を施して出
    力する第5の論理回路、および前記クロック信号に同期
    して前記第4のラッチ回路と同相で動作して前記第5の
    論理回路の出力信号を転送する第2のフリップフロップ
    回路とを備え、 前記第1から第5の論理回路それぞれの論理遅延時間L
    1からL5は、以下の条件を満たす; L1≦TK−TPDF1−SUPL1−SKW1−MRG…(1) L2≦TK−TPDL1−SUPL2−SKW2−MRG…(2) L3≦TK−TPDL2−SUPL3−SKW3−MRG…(3) L4≦TK−TPDL3−SUPL4−SKW4−MRG…(4) L5≦TK−TPDL4−SUPF2−SKW5−MRG…(5) L1+L2≦(1+HDY)・TK−TPDF1−SUPL2 −SKW21−MRGJ1−THR1…(6) L2+L3≦(1+LDY)・TK−TPDL1−SUPL3 −SKW22−MRGJ2−THR2…(7) L3+L4≦(1+HDY)・TK−TPDL2−SUPL4 −SKW23−MRGJ1−THR3…(8) L4+L5≦(1+LDY)・TK−TPDL3−SUPF2 −SKW24−MRGJ2−THR4…(9) L1+L2+L3≦2・TK−TPDF1−SUPL3 −SKW31−MRGJ3 −THR1−THR2…(10) L2+L3+L4≦2・TK−TPDL1−SUPL4 −SKW32−MRGJ3 −THR2−THR3…(11) L3+L4+L5≦2・TK−TPDL2−SUPF2 −SKW33−MRGJ3 −THR3−THR4…(12) L1+L2+L3+L4≦(2+HDY)・TK−TPDF1 −SUPL4−SKW41−MRGJ4 −THR1−THR2−THR3…(13) L2+L3+L4+L5≦(2+LDY)・TK−TPDL1 −SUPF2−SKW42−MRGJ5 −THR2−THR3−THR4…(14) L1+L2+L3+L4+L5 ≦3・TK−TPDF1−SUPF2−SKW51−MRGJ −THR1−THR2−THR3−THR4…(15) L1≧HLDL1−TPDFH1+SKWH1+MRGH…(16) L2≧HLDL2−TPDLH1+SKWH2+MRGH…(17) L3≧HLDL3−TPDLH2+SKWH3+MRGH…(18) L4≧HLDL4−TPDLH3+SKWH4+MRGH…(19) L5≧HLDF2−TPDLH4+SKWH5+MRGH…(20) ここで、TKは、前記クロック信号の周期を示し、TP
    DF1は、前記第1のフリップフロップ回路の前記クロ
    ック信号に対する出力信号の遅延時間を示し、TPDL
    1−TPDL4は、前記第1から第4のラッチ回路の前
    記クロック信号のトリガエッジに対する出力信号の遅れ
    を示し、SUPL1−SUPL4は、前記第1から第4
    のラッチ回路の前記クロック信号に対するセットアップ
    時間を示し、SUPF2は、前記第2のフリップフロッ
    プ回路の前記クロック信号に対するセットアップ時間を
    示し、SKW1−SKW5、前記クロック信号の前段の
    回路に与えられるクロック信号に対するスキューを示
    し、SKW21−SKW24は、前記第1から第5の論
    理回路の連続する2段の論理回路のクロック信号のスキ
    ューを示し、SKW31−SKW33は、前記第1から
    第5の論理回路の連続する3段の論理回路に対するクロ
    ック信号のスキューを示し、SKW41およびSKW4
    2は、前記第1から第5の論理回路の連続する4段の論
    理回路に対するクロック信号のスキューを示し、SKW
    51は、前記第2のフリップフロップ回路に対するクロ
    ック信号の前記第1のフリップフロップ回路に対するク
    ロック信号のスキューを示し、THR1−THR4は、
    前記第1から第4のラッチ回路の信号伝搬遅延時間を示
    し、HDYは、前記第1および第3のラッチ回路のラッ
    チ期間の前記クロック信号のデューティを示し、LDY
    は、前記第2および第4のラッチ回路のラッチ期間の前
    記クロック信号のデューティを示し、MRGは、前記ク
    ロック信号のジッタを含む成分に対するマージンを示
    し、MRGJ1−MRGJ5は、前記ジッタの周期依存
    性を考慮した前記クロック信号に対するマージンを示
    し、HLDL1−HLDL4は、前記第1から第4のラ
    ッチ回路の前記クロック信号に対するホールド時間を示
    し、HLDF2は、前記第2のフリップフロップ回路の
    前記クロック信号に対するホールド時間を示し、TPD
    F1は、ホールド条件下における前記第1のフリップフ
    ロップ回路の前記クロック信号のトリガエッジに対する
    出力信号の遅れを示し、TPDLH1−TPDLH4
    は、前記第1から第4のラッチ回路の前記クロック信号
    のトリガエッジから出力信号の遅れを示し、SKWH1
    −SKWH5は、ホールド条件下における前記クロック
    信号の前段回路のクロック信号に対するスキューを示
    し、MRGHは、ホールド条件下における前記クロック
    信号に対するマージンを示す、半導体集積回路装置。
  11. 【請求項11】 前記MRGJ1−MRGJ5は、前記
    クロック信号の前記ジッタの周期依存性が無視すること
    のできる条件下では、前記MRGと等しい値を有する、
    請求項10記載の半導体集積回路装置。
JP2002030246A 2002-02-07 2002-02-07 半導体集積回路装置の設計方法および半導体集積回路装置 Withdrawn JP2003234643A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002030246A JP2003234643A (ja) 2002-02-07 2002-02-07 半導体集積回路装置の設計方法および半導体集積回路装置
US10/319,658 US6711724B2 (en) 2002-02-07 2002-12-16 Semiconductor integrated circuit device having pipeline stage and designing method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002030246A JP2003234643A (ja) 2002-02-07 2002-02-07 半導体集積回路装置の設計方法および半導体集積回路装置

Publications (1)

Publication Number Publication Date
JP2003234643A true JP2003234643A (ja) 2003-08-22

Family

ID=27654735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002030246A Withdrawn JP2003234643A (ja) 2002-02-07 2002-02-07 半導体集積回路装置の設計方法および半導体集積回路装置

Country Status (2)

Country Link
US (1) US6711724B2 (ja)
JP (1) JP2003234643A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008537438A (ja) * 2005-04-21 2008-09-11 アーム・リミテッド 集積回路の処理ステージ内のエラー回復
JP2010147647A (ja) * 2008-12-17 2010-07-01 Hitachi Ltd 半導体装置
US8438518B2 (en) 2009-03-03 2013-05-07 Nec Corporation Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit
JP2015215851A (ja) * 2014-05-13 2015-12-03 株式会社ソシオネクスト 回路設計方法及び半導体集積回路

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671644B2 (en) * 2001-08-15 2003-12-30 International Business Machines Corporation Using clock gating or signal gating to partition a device for fault isolation and diagnostic data collection
JP3964295B2 (ja) * 2002-09-18 2007-08-22 松下電器産業株式会社 集積回路設計における電源経路構造
US7096442B2 (en) * 2003-07-10 2006-08-22 Lsi Logic Corporation Optimizing IC clock structures by minimizing clock uncertainty
US6911854B2 (en) * 2003-07-30 2005-06-28 Sun Microsystems, Inc. Clock skew tolerant clocking scheme
WO2005064434A1 (en) * 2003-12-19 2005-07-14 Koninklijke Philips Electronics N.V. Integrated circuit clock distribution
JP4419633B2 (ja) * 2004-03-25 2010-02-24 日本電気株式会社 論理回路設計システム、論理回路設計方法およびそのプログラム
US7117472B2 (en) * 2004-07-09 2006-10-03 Lsi Logic Corporation Placement of a clock signal supply network during design of integrated circuits
US20060084530A1 (en) * 2004-10-19 2006-04-20 Cheeseman Travis L Heated warm-up device for an athletic instrument
US7346861B1 (en) * 2004-12-02 2008-03-18 Altera Corporation Programmable logic devices with two-phase latch circuitry
JP2007140764A (ja) * 2005-11-16 2007-06-07 Fujitsu Ltd 検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体
US7643591B2 (en) * 2006-07-26 2010-01-05 International Business Machines Corproation Transition balancing for noise reduction /Di/Dt reduction during design, synthesis, and physical design
US7546560B2 (en) * 2006-12-06 2009-06-09 Lsi Corporation Optimization of flip flop initialization structures with respect to design size and design closure effort from RTL to netlist
US7694242B1 (en) * 2006-12-11 2010-04-06 Cadence Design Systems, Inc. System and method of replacing flip-flops with pulsed latches in circuit designs
US7823107B2 (en) * 2007-10-19 2010-10-26 International Business Machines Corporation Transition balancing for noise reduction/Di/Dt reduction during design, synthesis, and physical design
US20090177424A1 (en) * 2008-01-08 2009-07-09 Ronald Pasqualini 3-Dimensional method for determining the clock-to-Q delay of a flipflop
US7979838B2 (en) * 2008-02-15 2011-07-12 International Business Machines Corporation Method of automating creation of a clock control distribution network in an integrated circuit floorplan
US9262359B1 (en) * 2009-12-04 2016-02-16 Cadence Design Systems, Inc. Method and system for implementing pipeline flip-flops
US8918748B1 (en) * 2012-08-24 2014-12-23 Altera Corporation M/A for performing automatic latency optimization on system designs for implementation on programmable hardware
US8839178B1 (en) 2013-03-14 2014-09-16 Medtronic, Inc. Tool for evaluating clock tree timing and clocked component selection
US9660626B2 (en) * 2013-03-14 2017-05-23 Medtronic, Inc. Implantable medical device having clock tree network with reduced power consumption
US10338558B2 (en) 2014-10-17 2019-07-02 21, Inc. Sequential logic circuitry with reduced dynamic power consumption

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69626596T2 (de) * 1995-10-20 2003-12-18 Toshiba Kawasaki Kk Logische Schaltung, die nach dem Carry select Prinzip arbeitet
JPH10327047A (ja) * 1997-05-22 1998-12-08 Sony Corp 半導体集積回路およびその設計方法
US6081656A (en) * 1997-06-27 2000-06-27 Advanced Micro Devices, Inc. Method for deriving a double frequency microprocessor from an existing microprocessor
US6378123B1 (en) * 1998-02-20 2002-04-23 Lsi Logic Corporation Method of handling macro components in circuit design synthesis
US6336205B1 (en) * 1998-11-12 2002-01-01 Matsushita Electric Industrial Co., Ltd. Method for designing semiconductor integrated circuit
JP3617392B2 (ja) * 1999-11-25 2005-02-02 日本電気株式会社 多段パイプラインラッチ回路及びその製造方法
JP2001217694A (ja) * 2000-02-04 2001-08-10 Nec Corp 遅延調整回路及びこれを用いたクロック生成回路
TW478255B (en) * 2000-12-13 2002-03-01 Via Tech Inc Circuit static timing analysis method using generated clock
US6457161B1 (en) * 2001-03-27 2002-09-24 Benoit Nadeau-Dostie Method and program product for modeling circuits with latch based design
US6594805B1 (en) * 2001-11-13 2003-07-15 Lsi Logic Corporation Integrated design system and method for reducing and avoiding crosstalk

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008537438A (ja) * 2005-04-21 2008-09-11 アーム・リミテッド 集積回路の処理ステージ内のエラー回復
JP4722994B2 (ja) * 2005-04-21 2011-07-13 アーム・リミテッド 集積回路の処理ステージ内のエラー回復
JP2010147647A (ja) * 2008-12-17 2010-07-01 Hitachi Ltd 半導体装置
US8438518B2 (en) 2009-03-03 2013-05-07 Nec Corporation Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit
JP2015215851A (ja) * 2014-05-13 2015-12-03 株式会社ソシオネクスト 回路設計方法及び半導体集積回路

Also Published As

Publication number Publication date
US6711724B2 (en) 2004-03-23
US20030149943A1 (en) 2003-08-07

Similar Documents

Publication Publication Date Title
JP2003234643A (ja) 半導体集積回路装置の設計方法および半導体集積回路装置
KR102116274B1 (ko) 초전도 등시성 수신기 시스템
EP2871550B1 (en) Clocking for pipelined routing
TW202139027A (zh) 時鐘樹電路、哈希引擎、計算晶片、算力板和資料處理設備
US7821850B2 (en) Semiconductor digital circuit, FIFO buffer circuit, and data transferring method
JP6450953B2 (ja) クロック同期方法
US20100253409A1 (en) Clock generation system and clock dividing module
Chattopadhyay et al. GALDS: a complete framework for designing multiclock ASICs and SoCs
JP2006344224A (ja) クロック領域の境界間のクロックスキューの管理方法および管理装置
US20100146469A1 (en) System and method for selecting gates in a logic block
US7302657B2 (en) Optimization of the design of a synchronous digital circuit
US6664839B2 (en) Semiconductor integrated circuit having reduced crosstalk interference on clock signals
WO2009084396A1 (ja) 遅延モニタ回路および遅延モニタ方法
Teehan et al. Towards reliable 5Gbps wave-pipelined and 3Gbps surfing interconnect in 65nm FPGAs
US20090167400A1 (en) Device and method for generating clock signal
Lee et al. Impact of Sequential Design on The Cost of Adiabatic Quantum-Flux Parametron Circuits
JP3869406B2 (ja) クロック位相差検出回路、クロック分配回路、及び大規模集積回路
KR100546320B1 (ko) 클럭 트리 합성 장치 및 방법
EP1601131B1 (en) Asynchronous multi-clock system
JP2009159296A5 (ja)
JP2018500861A (ja) 集積回路の隣接するn個の同一のブロックにデジタル信号を同期的に分配するための方法
EP1308862B1 (en) Optimization of the design of a synchronous digital circuit
CN101860359A (zh) 时钟产生***和时钟分频模块
JP2003216271A (ja) 半導体集積回路
Calazans et al. Asynchronous Circuit Principles and a Survey of Associated Design Tools

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050510