JP2004127012A - Synchronous circuit and its design method - Google Patents
Synchronous circuit and its design method Download PDFInfo
- Publication number
- JP2004127012A JP2004127012A JP2002291285A JP2002291285A JP2004127012A JP 2004127012 A JP2004127012 A JP 2004127012A JP 2002291285 A JP2002291285 A JP 2002291285A JP 2002291285 A JP2002291285 A JP 2002291285A JP 2004127012 A JP2004127012 A JP 2004127012A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- clock control
- control cell
- synchronous circuit
- signal
- 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
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、クロックツリーによって生成される複数のクロック信号に同期して動作する複数の記憶素子を備える同期式回路およびその設計方法に関するものである。
【0002】
【従来の技術】
大規模化するLSI(大規模集積回路)の設計には同期式回路を用いるのが主流である。同期式回路には、設計環境が整備されている(今現在、主流の設計手法である)、タイミングの検証が簡単である(静的タイミング検証)、テスト容易化設計としてスキャンテストを採用可能である等の利点がある反面、非同期式回路と比べて消費電力が大きい、非同期式回路と比べてPVT変動に対する信頼性が低い等の欠点がある。
【0003】
ここで、PVT変動とは、半導体製造プロセス(P)、電源電圧(V)、温度(T)の変動を意味する。
【0004】
ところで、半導体製造プロセスの微細化に伴う、配線遅延の絶対値の増大とゲート遅延に対する配線遅延の相対値の増大により、大規模な半導体チップにおいて、同期式回路を用いてクロック信号を高速化することは次第に難しくなってきている。この問題に対する1つの回答は非同期式回路である。但し、クロック周波数が比較的低いアプリケーションも数多く存在し、それらに対しては同期式回路の方が好ましい場合も多い。
【0005】
非同期式回路は、同期式回路とは相反する利点や欠点を持っている。すなわち、非同期式回路は、同期式回路と比べて消費電力が小さい、同期式回路と比べてPVT変動に対する信頼性が高い等の利点がある反面、設計環境が整備されていない、タイミング検証が難しい(静的タイミング解析は使用不可)、全てをイベントドリブンシミュレーションで行う必要がある、テスト容易化設計としてスキャンテストを採用できない等の欠点がある。
【0006】
同期式回路において、消費電力に占めるクロックラインの充放電電流の割合は非常に高く、回路にも依存するが、消費電力の半分以上を占める場合もある。特に、携帯電話等のモバイル用途のアプリケーションでは、低消費電力の要求が非常に高いというのが現状である。
【0007】
これに対し、前述のように、非同期式回路を採用して回路設計を行うことにより低消費電力を実現することができる。しかし、非同期式回路の設計環境は整備されていないし、スキャンテスト等のテスト容易化設計も利用できないため、設計工数の増大を招くという問題がある。
【0008】
【発明が解決しようとする課題】
従って、本発明の目的は、前記従来技術に基づく問題点を解消し、同期式回路の設計環境を使用して回路設計を行うことができ、なおかつ非同期式回路のように低消費電力を実現することができる同期式回路およびその設計方法を提供することにある。
【0009】
【課題を解決するための手段】
上記目的を達成するために、本発明は、クロックツリーによって生成される複数の第1クロック信号に同期して動作する複数の第1記憶素子を備える同期式回路であって、
前記クロックツリーは、前記第1クロック信号よりも位相の進んでいる第2クロック信号を出力するタイミングを指定するイネーブル信号により指定される所定のタイミングで前記第2クロック信号を出力するゲート素子を備えるクロック制御セルを含むことを特徴とする同期式回路を提供するものである。
【0010】
ここで、前記クロック制御セルは、前記イネーブル信号を保持する第2記憶素子を備え、前記ゲート素子は前記第2記憶素子に保持されたイネーブル信号により制御されるのが好ましい。
【0011】
また、前記第2記憶素子は、前記第2クロック信号により前記イネーブル信号を保持するのが好ましい。
【0012】
本発明は、上記のいずれかに記載の同期式回路の設計方法であって、
前記クロック制御セルを含むクロックツリーを合成するに際し、
前記クロック制御セルが駆動する前記第1記憶素子の個数に応じて、前記クロックツリーの中における前記クロック制御セルの配置を決定し、前記クロック制御セルの配置に応じて変化する、前記第1記憶素子に入力される前記第1クロック信号と前記クロック制御セルに入力される前記第2クロック信号との間の位相のずれを考慮して、前記クロック制御セルのタイミング制約値を変更し、配置配線前のタイミング検証を行うことを特徴とする同期式回路の設計方法を提供する。
【0013】
ここで、さらに、前記クロック制御セルの第2記憶素子による遅延時間を考慮して、前記クロック制御セルのタイミング制約値を変更し、前記配置配線前のタイミング検証を行うのが好ましい。
【0014】
【発明の実施の形態】
以下に、添付の図面に示す好適実施形態に基づいて、本発明の同期式回路およびその設計方法を詳細に説明する。
【0015】
図1は、本発明の同期式回路の一実施形態の構成概念図である。
同図に示す同期式回路10は、大元(ルート)のクロック信号CLKから複数のクロック信号(第1クロック信号)CLKOを生成するクロックツリー12と、このクロックツリー12によって生成される複数のクロック信号CLKOに同期して動作する複数のフリップフロップ(第1記憶素子)14と、組合せ論理回路16とを備えている。
【0016】
クロックツリー12は、ルートバッファ(CTS)18と、複数のクロック制御セル20とを備えている。ルートバッファ18の入力端子には大元のクロック信号CLKが入力され、ルートバッファ18の出力信号CLKIは各クロック制御セル20の一方の入力端子(図中下側の入力端子)に入力されている。また、各クロック制御セル20の出力信号CLKOは、各々対応するフリップフロップ14のクロック入力端子に入力されている。
【0017】
クロックツリー12は、クロックツリー合成ツールを用いて自動生成されるものである。図示を省略しているが、ルートバッファ18と各クロック制御セル20との間、および各クロック制御セル20と各々対応するフリップフロップ14との間には、必要に応じて、ツリー状に構成された1段以上のバッファまたはインバータが適宜挿入される。これにより、クロック制御セル20の出力信号CLKOは複数のクロック信号に分配される。
【0018】
クロック制御セル20は、そのファンナウト数、すなわちクロック制御セル20が最終的に駆動するフリップフロップ14の個数に応じて、クロックツリー合成ツールにより、クロックツリー12の中における配置が自動的に決定される。すなわち、クロック制御セル20は、そのファンナウト数が多い場合には、クロックツリーの中の比較的上流側に配置され、ファンナウト数が少ない場合には比較的下流側に配置される。
【0019】
フリップフロップ14は、クロックツリー12によって生成されるクロック信号CLKOに同期して動作する。本実施形態のフリップフロップ14の場合、クロック信号CLKOの立ち上がりに同期して、データ入力端子Dに入力される信号が保持され、データ出力端子Qから出力される。フリップフロップ14のデータ入力端子Dには組み合わせ回路16からの出力信号が入力され、データ出力端子Qからの出力信号は組合せ論理回路16に入力されている。
【0020】
図示例では、各々のクロック制御セル20からの出力信号CLKOが、それぞれ対応するフリップフロップ14のクロック入力端子に入力されている。図示を省略しているが、各々のフリップフロップ14は、複数のフリップフロップをまとめて1つのフリップフロップ14として概念的に表したものであり、各々のフリップフロップのクロック入力端子には、クロック制御セル20の出力信号CLKOが分配されて生成された複数のクロック信号がそれぞれ入力される。
【0021】
組合せ論理回路16は、クロックツリー12およびフリップフロップ14以外の回路を概念的に表したものである。組合せ論理回路16には、外部からの信号も入力されている。また、組合せ論理回路16からの出力信号の一部は、フリップフロップ14のデータ入力端子Dの他、クロックツリー12を構成するクロック制御セル20の他方の入力端子(図中上側の入力端子)にも入力され、残りの出力信号は外部へ出力されている。
【0022】
図1に示す同期式回路10は、従来公知の同期式回路の設計環境を使用して設計することが可能である。また、スキャンテスト等のテスト容易化手法を採用することも可能である。
【0023】
次に、同期式回路10の動作を説明する前に、クロック制御セル20について、図2の構成回路図および図3のタイミングチャートを参照して説明する。
【0024】
図2に示すクロック制御セル20は、ラッチ(第2記憶素子)22と、ANDゲート(ゲート素子)24とを備えている。ラッチ22のデータ入力端子Dにはイネーブル信号CLKEが入力され、その反転クロック入力端子Gにはクロック信号(第2クロック信号)CLKIが入力されている。ラッチ22のデータ出力端子Qからの出力信号およびクロック信号CLKIがANDゲート24に入力され、ANDゲート24からはクロック信号CLKOが出力されている。
【0025】
図3のタイミングチャートに示すように、クロック信号CLKIは、図1に示すクロックツリー12のルートバッファ18から直接、もしくは必要に応じて、ツリー状に構成されたバッファまたはインバータを介して入力される所定周波数のクロック信号である。このクロック信号CLKIは、クロックツリー12の中におけるクロック制御セル20の配置に応じて、フリップフロップ14に入力されるクロック信号に対して位相が所定の時間進んでいる。
【0026】
イネーブル信号CLKEは、このクロック制御セル20から、クロック信号CLKIをクロック信号CLKOとして出力するタイミングを指定する制御信号であり、図1に示す組合せ論理回路16から入力される。イネーブル信号CLKEは、フリップフロップ14に入力されるクロック信号に同期して変化するので、クロック信号CLKIの立ち上がりエッジに対して所定時間遅延したタイミングで変化する。
【0027】
クロック制御セル20において、ラッチ22は、クロック信号CLKIがローレベル(L)の期間は透過モードとなり、データ入力端子Dに入力されるイネーブル信号CLKEがデータ出力端子Qから出力される。また、クロック信号CLKIがハイレベル(H)の期間は保持モードとなり、クロック信号CLKIの立ち上がりのタイミングでデータ入力端子Dに入力されているイネーブル信号CLKEの状態が保持される。
【0028】
図4のタイミングチャートに示すように、ラッチ22を正しく動作させるためには、クロック信号CLKIの立ち上がりエッジに対してイネーブル信号CLKEのデータ保持期間に物理的なタイミング制約がある。すなわち、ラッチ22を正しく動作させるためには、イネーブル信号CLKEは、クロック信号CLKIの立ち上がりに対して所定のセットアップ時間ts およびホールド時間th が必要である。
【0029】
クロック制御セル20では、図3のタイミングチャートに示すように、イネーブル信号CLKEとしてハイレベルが入力されると、前述のように、クロック信号CLKIのローレベルの期間にラッチ22が透過モードとなり、そのデータ出力端子Qからハイレベルが出力される。そして、ANDゲート24によりクロック信号CLKIとの論理積が取られ、クロック信号CLKIの次のハイレベルの期間に、クロック信号CLKOとしてハイレベルが出力される。
【0030】
次に、図1に示す同期式回路10の動作を説明する。
【0031】
同期式回路10では、クロックツリー12により、大元のクロック信号CLKが分配されて複数のクロック信号CLKOが生成される。クロック制御セル20には、組合せ論理回路16からイネーブル信号CLKEが入力されており、クロック制御セル20から各々対応するフリップフロップ14に供給されるクロック信号CLKOは、フリップフロップ14が動作する必要がある時にしか変化しないので、クロックラインの充放電による消費電力を大幅に削減することができる。
【0032】
各々のフリップフロップ14は、前述のように、クロックツリー12から入力されるクロック信号CLKOに同期して動作し、その出力信号は組合せ論理回路16へ入力される。組合せ論理回路16は、外部入力およびそれぞれのフリップフロップ14からの出力信号に基づいて動作する。そして、その出力信号の一部はイネーブル信号CLKEとしてクロック制御セル20に入力され、他の一部はフリップフロップ14のデータ入力端子Dに入力され、残りは外部へ出力される。
【0033】
次に、本発明の同期式回路の設計方法について説明する。
【0034】
既に述べたように、クロックツリー12はクロックツリー合成ツールによって合成される。この時、クロック制御セル20は、例えばラッチ22の出力信号をハイレベルとして透過の属性が与えられ、クロックツリー12を構成するバッファの1つとして扱われる。これにより、従来公知のクロックツリー合成ツールを使用してクロックツリー12を合成することができる。
【0035】
また、クロックツリー合成ツールによってクロックツリー12が合成される場合、クロック制御セル20は、そのファンナウト数に応じて、クロックツリー12の中の配置が自動的に決定される。クロック制御セル20の配置に応じて、クロック制御セル20に入力されるクロック信号CLKIは、フリップフロップ14に入力されるクロック信号CLKOに対して、そのファンナウト数に応じて位相が所定の時間だけ進んでいる。
【0036】
例えば、クロック制御セル20のファンナウト数が少ない場合、クロック制御セル20はクロックツリー12の中の比較的下流側に配置され、多い場合には比較的上流側に配置される。したがって、クロック制御セル20のファンナウト数が多くなるにつれて、クロック制御セル20は、次第にクロックツリー12の中の上流側に配置されるので、クロック制御セル20に入力されるクロック信号CLKIの進み具合は大きくなる。
【0037】
通常、同期式回路の設計において、配置配線前のタイミング検証、例えばシミュレーションや論理合成時のタイミング検証では、クロックライン上の全てのノードが同位相であると仮定して、例えばフリップフロップやラッチ等の各記憶素子のタイミング制約の検証が行われる。
【0038】
しかし、クロック制御セル20を用いてクロックツリー12を合成した場合、クロックツリー12からフリップフロップ14に入力されるクロック信号CLKOに対して、クロック制御セル20に入力されるクロック信号CLKIの位相が所定の一定時間進んでいるため、全てのクロック信号が同位相であるとしてタイミング検証を行うと、実際に配置配線した後のタイミング検証において、不具合が発生する可能性が高くなる。
【0039】
その理由は、クロック制御セル20のファンナウト数に応じて、クロックツリー12におけるクロック制御セル20の配置が上流側、下流側に前後し、クロック制御セル20に入力されるクロック信号CLKIの位相の進み具合、すなわちクロックツリー12からフリップフロップ14に入力されるクロック信号CLKOとクロック制御セル20に入力されるクロック信号CLKIとの間の位相のずれ幅が変化するからである。
【0040】
これに対して、本発明の同期式回路の設計方法では、ネットリスト解析を行って各クロック制御セル20のファンナウト数を検出し、このファンナウト数すなわちクロック制御セル20の配置に応じて変化する、フリップフロップ14に入力されるクロック信号とクロック制御セル20に入力されるクロック信号CLKIとの間の位相のずれを考慮して、クロック制御セル20のタイミング制約値を動的に変更し、配置配線前のタイミング検証を行う。
【0041】
言い換えると、クロック制御セル20に入力されるクロック信号CLKIが、フリップフロップ14に入力されるクロック信号と同位相であると仮定して配置配線前のタイミング検証を行っても、配置配線後のタイミング検証において不具合が発生する確率が低くなるように、クロック制御セル20のタイミング制約値にオフセットを与えて配置配線前のタイミング検証を行う。
【0042】
例えば、クロック制御セル20の物理的なタイミング制約値として、セットアップ時間およびホールド時間がそれぞれ2nsおよび1nsである場合に、クロック制御セル20のファンナウト数に応じて、クロック制御セル20に入力されるクロック信号CLKIの進み時間が1nsであるとすると、配置配線前のタイミング検証では、クロック制御セル20のセットアップ時間およびホールド時間がそれぞれ3nsおよび0nsに変更される。
【0043】
このように、クロック制御セル20のファンナウト数に応じて、そのタイミング制約値を動的に変更して配置配線前のタイミング検証を行うことにより、配置配線後にタイミングエラーが発生する確率を低く抑えることができる。
【0044】
なお、クロック制御セル20では、ラッチ22による出力遅延が発生するため、この遅延時間を考慮して、ANDゲート24から無用なパルスが発生しないようにラッチ22のセットアップ時間ts を調整する方が好ましい。また、本発明の同期式回路の設計方法では、各クロック制御セル20のファンナウト数に応じてそのタイミング制約値を動的に変更するため、同一クロックライン上にクロック制御セル20を1つだけ設けるようにする方が好ましい。
【0045】
次に、従来公知の同期式回路に、本発明を適用した場合の一例を挙げて説明する。
【0046】
図5(a)は、従来の同期式回路の一例の構成回路図である。
この同期式回路26は、マルチプレクサ28と、フリップフロップ30とを備えている。マルチプレクサ28の入力端子0には、フリップフロップ30のデータ出力端子Qからの出力信号OUTが入力され、入力端子1には入力信号INが入力されている。また、フリップフロップ30のクロック入力端子にはクロック信号CLKが入力され、データ入力端子Dには、マルチプレクサ28からの出力信号が入力されている。
【0047】
この同期式回路26では、イネーブル信号ENBLがハイレベルの場合には、クロック信号CLKの立ち上がりに同期して、入力信号INがマルチプレクサ28を介してフリップフロップ30に保持され、出力信号OUTとして出力される。一方、イネーブル信号ENBLがローレベルの場合には、フリップフロップ30の出力信号OUTがマルチプレクサ28を介してフリップフロップ30に再度保持されるため、フリップフロップ30の出力信号OUTは変化しない。
【0048】
この同期式回路26では、イネーブル信号ENBLの状態に応じて、フリップフロップ30の出力信号OUTが不必要に変化するのを防止するが、フリップフロップ30が動作する必要がない場合でもフリップフロップ30に無駄なクロックが入力され、クロックラインの充放電に伴い無駄な消費電力が発生する。
【0049】
図5(b)は、図5(a)に示す従来の同期式回路に本発明を適用して構成された本発明の同期式回路である。図5(b)に示す同期式回路32は、図5(a)に示す同期式回路26において、クロック信号CLKの代わりに、クロック制御セル20の出力信号をフリップフロップ30のクロック入力端子に入力したものである。また、クロック制御セル20には、クロック信号CLKおよびイネーブル信号ENBLが入力されている。
【0050】
この同期式回路32では、クロック制御セル20の出力信号が、イネーブル信号ENBLの状態に応じて、フリップフロップ30が動作する必要がある時にしか変化しないので、クロック制御セル20の出力信号CLKOの充放電による消費電力を削減することができる。特に、クロック制御セル20の出力信号CLKOが入力されるフリップフロップ30の個数が多くなるほど、また、フリップフロップ30が動作する割合が少なければ少ないほど、クロック制御セル20の出力信号CLKOの充放電による消費電力の削減効果は大きくなる。
【0051】
図5(c)は、図5(b)に示す本発明の同期式回路をさらに最適化したものである。図5(c)に示す同期式回路34は、図5(b)に示す同期式回路32において、マルチプレクサ28が取り除かれ、フリップフロップ30のデータ入力端子Dに入力信号INが直接入力されている。図5(b)に示す同期式回路32では、クロック制御セル20の出力信号が、フリップフロップ30が動作する必要がある時にしか変化しないので、マルチプレクサ28は不要である。
【0052】
このように、本発明を適用する同期式回路では、単にクロックラインの充放電電流を削減し、同期式回路の消費電力を削減することができるというだけではなく、図5(b)および(c)からも分かるように、従来、マルチプレクサ等の回路を用いてフリップフロップの出力信号が不必要に変化するのを防止していたところを、クロック信号が変化するのを防止し、マルチプレクサ等の回路を不要とすることにより、その分のトランジスタ数や消費電力も削減できるという効果もある。
【0053】
なお、クロック制御セル20は、図2の構成に限定されず、所定の機能を実現する他の構成のものを用いてもよい。例えば、ラッチ22ではなくフリップフロップを使用してもよい。クロック立ち上がり同期のフリップフロップの場合には、データ出力端子からの出力信号の変化タイミングが1クロック後ろ側へずれることになる。クロック立ち下がり同期のフリップフロップの場合には出力信号の変化タイミングは遅れないが、データ入力信号に課せられる遅延時間制約がおよそクロック半周期分厳しくなる。また、フリップフロップ14がクロック立ち下がり同期である場合や、イネーブル信号ENBLの極性が異なる場合には、それに合わせてクロック制御セル20内のラッチ22やANDゲート24の入力および出力信号の極性を適宜変化させる必要がある。
【0054】
本発明は、基本的に以上のようなものである。
以上、本発明の同期式回路およびその設計方法について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【0055】
【発明の効果】
以上詳細に説明した様に、本発明の同期式回路によれば、クロック制御セルから各々対応する第1記憶素子に供給されるクロック信号は、第1記憶素子が動作する必要がある時にしか変化しないので、クロックラインの充放電による消費電力を大幅に削減することができる。また、本発明の同期式回路は、同期式回路の設計環境を使用して短時間で設計を行うことができるし、スキャンテスト等のテスト方式を利用してテストを容易化することも可能である。
また、本発明の同期式回路の設計方法によれば、クロック制御セルのファンナウト数に応じて、そのタイミング制約値を動的に変更して配置配線前のタイミング検証を行うので、配置配線後のタイミング検証の時にタイミングエラーが発生する確率を低く抑えることができる。
また、本発明によれば、クロックツリー内で同じクロック制御セルを経由して生成されるクロック信号群の間のスキューが小さくなるので、配置配線後のタイミングエラーが発生しにくいという効果もある。例えば、シフトレジスタ回路にクロック制御セルが付加される場合は、ホールド時間制約エラーの発生する確率が抑えられることが期待される。
【図面の簡単な説明】
【図1】本発明の同期式回路の一実施形態の構成概念図である。
【図2】クロック制御セルの一実施形態の構成回路図である。
【図3】クロック制御セルの動作を表す一実施形態のタイミングチャートである。
【図4】クロック制御セルのタイミング制約を表す一実施形態のタイミングチャートである。
【図5】(a)、(b)および(c)は、それぞれ従来の同期式回路、本発明を適用した同期式回路、および本発明の同期式回路を最適化した状態を表す一実施形態の概念図である。
【符号の説明】
10,26,32,34 同期式回路
12 クロックツリー
14,30 フリップフロップ
16 組合せ論理回路
18 ルートバッファ
20 クロック制御セル
22 ラッチ
24 ANDゲート
28 マルチプレクサ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a synchronous circuit including a plurality of storage elements operating in synchronization with a plurality of clock signals generated by a clock tree, and a method for designing the same.
[0002]
[Prior art]
In designing LSIs (Large Scale Integrated Circuits) which are becoming larger in scale, synchronous circuits are mainly used. Synchronous circuits have a well-designed design environment (currently the mainstream design method), easy timing verification (static timing verification), and scan testing as a test-friendly design. On the other hand, there are advantages such as the above, but there are disadvantages such as higher power consumption as compared with the asynchronous circuit and lower reliability against PVT fluctuation as compared with the asynchronous circuit.
[0003]
Here, the PVT fluctuation means fluctuations in the semiconductor manufacturing process (P), the power supply voltage (V), and the temperature (T).
[0004]
By the way, with the increase in the absolute value of the wiring delay and the increase in the relative value of the wiring delay with respect to the gate delay accompanying the miniaturization of the semiconductor manufacturing process, the clock signal is speeded up using a synchronous circuit in a large-scale semiconductor chip. Things are getting harder and harder. One answer to this problem is asynchronous circuits. However, there are many applications where the clock frequency is relatively low, and a synchronous circuit is often preferred for them.
[0005]
Asynchronous circuits have advantages and disadvantages that conflict with synchronous circuits. That is, an asynchronous circuit has advantages such as lower power consumption than a synchronous circuit and higher reliability against PVT fluctuations than a synchronous circuit, but has a poor design environment and difficult timing verification. (Static timing analysis cannot be used.) There are drawbacks such as that all must be performed by event-driven simulation and that scan tests cannot be used as testability design.
[0006]
In a synchronous circuit, the ratio of the charge / discharge current of the clock line to the power consumption is very high, and depending on the circuit, it may occupy more than half of the power consumption. In particular, at present, low power consumption is very demanding in mobile applications such as mobile phones.
[0007]
On the other hand, as described above, low power consumption can be realized by designing a circuit using an asynchronous circuit. However, there is a problem that the design environment of the asynchronous circuit is not prepared and a design for facilitating test such as a scan test cannot be used.
[0008]
[Problems to be solved by the invention]
Therefore, an object of the present invention is to solve the problems based on the conventional technique, to perform circuit design using a synchronous circuit design environment, and to realize low power consumption like an asynchronous circuit. To provide a synchronous circuit and a design method thereof.
[0009]
[Means for Solving the Problems]
To achieve the above object, the present invention is a synchronous circuit including a plurality of first storage elements that operate in synchronization with a plurality of first clock signals generated by a clock tree,
The clock tree includes a gate element that outputs the second clock signal at a predetermined timing specified by an enable signal that specifies a timing of outputting a second clock signal whose phase is earlier than the first clock signal. A synchronous circuit including a clock control cell is provided.
[0010]
Here, it is preferable that the clock control cell includes a second storage element holding the enable signal, and the gate element is controlled by the enable signal held in the second storage element.
[0011]
Further, it is preferable that the second storage element holds the enable signal by the second clock signal.
[0012]
The present invention is a method for designing a synchronous circuit according to any of the above,
In synthesizing a clock tree including the clock control cell,
The first storage, wherein an arrangement of the clock control cells in the clock tree is determined according to the number of the first storage elements driven by the clock control cells, and the first storage changes in accordance with the arrangement of the clock control cells. Changing a timing constraint value of the clock control cell in consideration of a phase shift between the first clock signal input to the element and the second clock signal input to the clock control cell; Provided is a method for designing a synchronous circuit, which performs a previous timing verification.
[0013]
Here, it is preferable that the timing constraint value of the clock control cell is changed in consideration of the delay time of the clock control cell due to the second storage element, and the timing verification before the placement and routing is performed.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a synchronous circuit and a design method thereof according to the present invention will be described in detail based on preferred embodiments shown in the accompanying drawings.
[0015]
FIG. 1 is a conceptual diagram of a configuration of an embodiment of a synchronous circuit of the present invention.
The
[0016]
The
[0017]
The
[0018]
The arrangement of the
[0019]
The flip-
[0020]
In the illustrated example, the output signal CLKO from each
[0021]
The
[0022]
The
[0023]
Next, before describing the operation of the
[0024]
The
[0025]
As shown in the timing chart of FIG. 3, the clock signal CLKI is input directly from the
[0026]
The enable signal CLKE is a control signal that specifies the timing at which the clock signal CLKI is output as the clock signal CLKO from the
[0027]
In the
[0028]
As shown in the timing chart of FIG. 4, in order to correctly operate the latch 22, there is a physical timing constraint on the data holding period of the enable signal CLKE with respect to the rising edge of the clock signal CLKI. That is, in order to operate the latch 22 correctly, enable signal CLKE is required predetermined set-up time t s and the hold time t h with respect to rising edge of the clock signal CLKI.
[0029]
In the
[0030]
Next, the operation of the
[0031]
In the
[0032]
Each flip-
[0033]
Next, a method of designing a synchronous circuit according to the present invention will be described.
[0034]
As described above, the
[0035]
When the
[0036]
For example, when the number of fan-outs of the
[0037]
Normally, in synchronous circuit design, timing verification before placement and routing, for example, timing verification at the time of simulation or logic synthesis, assumes that all nodes on a clock line have the same phase, such as flip-flops and latches. The verification of the timing constraint of each storage element is performed.
[0038]
However, when the
[0039]
The reason is that the arrangement of the
[0040]
On the other hand, in the synchronous circuit design method of the present invention, the number of fan-outs of each
[0041]
In other words, assuming that the clock signal CLKI input to the
[0042]
For example, when the setup time and the hold time are 2 ns and 1 ns, respectively, as the physical timing constraint values of the
[0043]
As described above, by dynamically changing the timing constraint value according to the number of fan-outs of the
[0044]
In the
[0045]
Next, an example in which the present invention is applied to a conventionally known synchronous circuit will be described.
[0046]
FIG. 5A is a configuration circuit diagram of an example of a conventional synchronous circuit.
The
[0047]
In the
[0048]
The
[0049]
FIG. 5B shows a synchronous circuit of the present invention configured by applying the present invention to the conventional synchronous circuit shown in FIG. The
[0050]
In the
[0051]
FIG. 5 (c) shows a further optimization of the synchronous circuit of the present invention shown in FIG. 5 (b). In the
[0052]
As described above, in the synchronous circuit to which the present invention is applied, not only the charge / discharge current of the clock line can be reduced and the power consumption of the synchronous circuit can be reduced, but also FIGS. As can be seen from FIG. 2), the output signal of the flip-flop is prevented from being unnecessarily changed by using a circuit such as a multiplexer, but the clock signal is prevented from being changed by a circuit such as a multiplexer. The effect of reducing the number of transistors is that the number of transistors and power consumption can be reduced.
[0053]
Note that the
[0054]
The present invention is basically as described above.
As described above, the synchronous circuit and the design method thereof according to the present invention have been described in detail. However, the present invention is not limited to the above embodiment, and various improvements and modifications may be made without departing from the gist of the present invention. Of course.
[0055]
【The invention's effect】
As described above in detail, according to the synchronous circuit of the present invention, the clock signal supplied from the clock control cell to each corresponding first storage element changes only when the first storage element needs to operate. Therefore, power consumption due to charging and discharging of the clock line can be significantly reduced. In addition, the synchronous circuit of the present invention can be designed in a short time by using a synchronous circuit design environment, and can also facilitate a test by using a test method such as a scan test. is there.
Further, according to the synchronous circuit design method of the present invention, the timing constraint value is dynamically changed in accordance with the number of fan-outs of the clock control cell to perform timing verification before placement and routing. The probability that a timing error will occur at the time of timing verification can be reduced.
Further, according to the present invention, the skew between clock signal groups generated via the same clock control cell in the clock tree is reduced, so that there is also an effect that a timing error after placement and routing hardly occurs. For example, when a clock control cell is added to the shift register circuit, it is expected that the probability of occurrence of a hold time constraint error is reduced.
[Brief description of the drawings]
FIG. 1 is a conceptual diagram illustrating a configuration of a synchronous circuit according to an embodiment of the present invention.
FIG. 2 is a configuration circuit diagram of an embodiment of a clock control cell.
FIG. 3 is a timing chart of an embodiment showing an operation of a clock control cell.
FIG. 4 is a timing chart of an embodiment showing timing constraints of a clock control cell.
FIGS. 5 (a), (b) and (c) are embodiments showing a conventional synchronous circuit, a synchronous circuit to which the present invention is applied, and an optimized state of the synchronous circuit of the present invention, respectively. FIG.
[Explanation of symbols]
10, 26, 32, 34
Claims (5)
前記クロックツリーは、前記第1クロック信号よりも位相の進んでいる第2クロック信号を出力するタイミングを指定するイネーブル信号により指定される所定のタイミングで前記第2クロック信号を出力するゲート素子を備えるクロック制御セルを含むことを特徴とする同期式回路。A synchronous circuit including a plurality of first storage elements operating in synchronization with a plurality of first clock signals generated by a clock tree,
The clock tree includes a gate element that outputs the second clock signal at a predetermined timing specified by an enable signal that specifies a timing of outputting a second clock signal whose phase is earlier than the first clock signal. A synchronous circuit comprising a clock control cell.
前記クロック制御セルを含むクロックツリーを合成するに際し、
前記クロック制御セルが駆動する前記第1記憶素子の個数に応じて、前記クロックツリーの中における前記クロック制御セルの配置を決定し、前記クロック制御セルの配置に応じて変化する、前記第1記憶素子に入力される前記第1クロック信号と前記クロック制御セルに入力される前記第2クロック信号との間の位相のずれを考慮して、前記クロック制御セルのタイミング制約値を変更し、配置配線前のタイミング検証を行うことを特徴とする同期式回路の設計方法。A method for designing a synchronous circuit according to claim 1,
In synthesizing a clock tree including the clock control cell,
The first storage, wherein an arrangement of the clock control cells in the clock tree is determined according to the number of the first storage elements driven by the clock control cells, and the first storage changes in accordance with the arrangement of the clock control cells. Changing a timing constraint value of the clock control cell in consideration of a phase shift between the first clock signal input to the element and the second clock signal input to the clock control cell; A method for designing a synchronous circuit, comprising performing timing verification before.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002291285A JP2004127012A (en) | 2002-10-03 | 2002-10-03 | Synchronous circuit and its design method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002291285A JP2004127012A (en) | 2002-10-03 | 2002-10-03 | Synchronous circuit and its design method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004127012A true JP2004127012A (en) | 2004-04-22 |
Family
ID=32282918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002291285A Pending JP2004127012A (en) | 2002-10-03 | 2002-10-03 | Synchronous circuit and its design method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004127012A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008067323A (en) * | 2006-09-11 | 2008-03-21 | Canon Inc | Rush current controller and rush current control method |
JP2009010804A (en) * | 2007-06-29 | 2009-01-15 | Renesas Technology Corp | Arrangement and wiring method of semiconductor integrated circuit and program for supporting arrangement and wiring of semiconductor integrated circuit |
JP2009296548A (en) * | 2008-06-09 | 2009-12-17 | Toshiba Corp | Semiconductor integrated circuit device |
JP2016208231A (en) * | 2015-04-21 | 2016-12-08 | 日本電気株式会社 | Logic circuit and method for controlling setting circuit |
-
2002
- 2002-10-03 JP JP2002291285A patent/JP2004127012A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008067323A (en) * | 2006-09-11 | 2008-03-21 | Canon Inc | Rush current controller and rush current control method |
JP2009010804A (en) * | 2007-06-29 | 2009-01-15 | Renesas Technology Corp | Arrangement and wiring method of semiconductor integrated circuit and program for supporting arrangement and wiring of semiconductor integrated circuit |
JP2009296548A (en) * | 2008-06-09 | 2009-12-17 | Toshiba Corp | Semiconductor integrated circuit device |
JP2016208231A (en) * | 2015-04-21 | 2016-12-08 | 日本電気株式会社 | Logic circuit and method for controlling setting circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8484523B2 (en) | Sequential digital circuitry with test scan | |
US8015530B1 (en) | Method of enabling the generation of reset signals in an integrated circuit | |
US9685957B2 (en) | System reset controller replacing individual asynchronous resets | |
JP2008122159A (en) | Semiconductor integrated circuit | |
US9625938B2 (en) | Integrated differential clock gater | |
US6356132B1 (en) | Programmable delay cell | |
CN109905116B (en) | Programmable pipeline interface circuit | |
US10354706B1 (en) | Delaying start of user design execution | |
US8058900B1 (en) | Method and apparatus for clocking | |
JP2579237B2 (en) | State element circuit having a flow-through latch circuit, VLSI circuit having the state element circuit, and method of operating a latch as a functional alternative to a master-slave flip-flop | |
JP2008278482A (en) | Multi-speed ring oscillator | |
EP1116087B1 (en) | Synchronous polyphase clock distribution system | |
US5742190A (en) | Method and apparatus for clocking latches in a system having both pulse latches and two-phase latches | |
US6611158B2 (en) | Method and system using a common reset and a slower reset clock | |
US6711089B2 (en) | Method and apparatus for performing signal synchronization | |
US6304125B1 (en) | Method for generating and distribution of polyphase clock signals | |
US7003683B2 (en) | Glitchless clock selection circuit | |
US20110181331A1 (en) | Integrated circuit with leakage reduction in static nets | |
JP2004127012A (en) | Synchronous circuit and its design method | |
US20190087516A1 (en) | Concurrently optimized system-on-chip implementation with automatic synthesis and integration | |
US20040019830A1 (en) | Test apparatus of semiconductor integrated circuit with hold error preventing function | |
JPH10133768A (en) | Clock system and semiconductor device, and method for testing semiconductor device, and cad device | |
US9729153B1 (en) | Multimode multiplexer-based circuit | |
US6185720B1 (en) | Slaveless synchronous system design | |
TWI783555B (en) | Semiconductor device and method for generating test pulse signals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050526 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070816 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070821 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080108 |