JP2008245164A - 順序回路及びその高速化方法 - Google Patents

順序回路及びその高速化方法 Download PDF

Info

Publication number
JP2008245164A
JP2008245164A JP2007086058A JP2007086058A JP2008245164A JP 2008245164 A JP2008245164 A JP 2008245164A JP 2007086058 A JP2007086058 A JP 2007086058A JP 2007086058 A JP2007086058 A JP 2007086058A JP 2008245164 A JP2008245164 A JP 2008245164A
Authority
JP
Japan
Prior art keywords
clock
circuit
data path
gcb
clock cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007086058A
Other languages
English (en)
Other versions
JP4847383B2 (ja
Inventor
Jiro Ogami
次郎 大上
Akinori Hashimoto
彰徳 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007086058A priority Critical patent/JP4847383B2/ja
Publication of JP2008245164A publication Critical patent/JP2008245164A/ja
Application granted granted Critical
Publication of JP4847383B2 publication Critical patent/JP4847383B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】最大遅延データパスによって決定される最大動作周波数よりも高速に動作させることを可能とし、結果としてパフォーマンスを向上させることができる順序回路及びその高速化方法を提供する。
【解決手段】組み合わせ回路を含む順序回路は、クロック周期を超える遅延値を有するデータパスの動作開始を検出する検出回路(FF_LとXNOR)と、検出回路がそのデータパスの動作開始を検出した時のクロック周期のみを当該データパスのタイミングを満たすようなクロック周期へ変更する変更回路(GCB)とを備える。
【選択図】図1

Description

本発明は、順序回路を高速化する技術に関する。
LSI(Large Scale Integration)の多くは、フリップフロップ回路(以下単に「FF」と言う)とランダムロジック回路(以下単に「ランダムロジック」と言う)とで構成されるクロック同期回路である。なお、ランダムロジック回路は組み合わせ回路であり、クロック同期回路は順序回路である。このクロック同期回路のパフォーマンスは、そのクロックの動作周波数で決定される。
図11は、一般的なクロック同期回路の一例を模式的に示す図である。同図に示したように、一般的なクロック同期回路は、FF(クロック同期RAM(Random Access Memory)/クロック同期ROM(Read Only Memory)を含む)の間にランダムロジック(Random Logic)が挿入された回路構成を有する。このような構成のクロック同期回路において、クロック(Clock)の最大動作周波数は、FF−FF間の最も遅延の大きいデータパス(「最大遅延データパス」とも言う)によって決定される。
図12は、図11に示したクロック同期回路の一部である部分回路を抜き出した図である。図13は、その部分回路中の各FF間のデータパスの遅延値(Delay time)を示す図である。
図12に示した部分回路は、ソース(Source)側に3つのFF(FF_S1、FF_S2、FF_S3)と、エンド(End)側に3つのFF(FF_D1、FF_D2、FF_D3)と、更にその間にランダムロジック(Random Logic)とを有した回路である。この部分回路内にマルチサイクルパスが存在しない場合、部分回路の最大動作周波数は最も遅延値が大きいデータパスによって決定される。従って、図13に示した各FF間のデータパスの遅延値の中でFF_S3からFF_D1へのデータパスの遅延値が最も大きくその値が5000psであることから、この部分回路の最大動作周波数は200MHz(クロック周期5000ps)となる。なお、FF_S3からFF_D1以外のデータパスは全て4000ps以下の遅延値であるが、最大動作周波数は最大遅延データパス(FF_S3からFF_D1)の遅延値(5000ps)のみによって決定される。
図14は、その部分回路の200MHz動作時のタイミングチャートの一例を示す図である。同図に示したように、この場合のクロック周期は5000psとなることから、全てのデータパスのタイミングが満たされ、この部分回路は正常に動作する。
一方、図15は、その部分回路の250MHz動作時のタイミングチャートの一例を示す図である。同図に示したように、この場合のクロック周期は4000psとなることから、5000psの遅延値を有するFF_S3からFF_D1へのデータパスのタイミングが満たされなくなり、この部分回路は正常に動作しなくなる。
なお、論理回路のタイミング解析に関し、特許文献1には、与えられた論理回路における検証対象の始点と終点の間の全てのパスがマルチサイクルパスであるかどうかの解析を高速化すると共に計算量を削減し、大規模な論理回路のマルチサイクルパスの検出を実現するための手法が提案されている。
特開2003−157297号公報
上述のように、従来のクロック同期回路においては、最も遅延の大きいデータパスが存在する場合、そのデータパスの遅延値によってクロックの最大動作周波数が決定する。そのため、従来では、最大遅延データパスは常に動作しているわけではないにも関わらず、最大動作周波数は最大遅延データパスの遅延値によって決定されていた。
その一方で、近年のLSIでは高いパフォーマンスが求められており、最大動作周波数を向上させることが大きな課題になっている。
本発明は、上記実情に鑑み、最大遅延データパスによって決定される最大動作周波数よりも高速に動作させることを可能とし、結果としてパフォーマンスを向上させることができる順序回路及びその高速化方法を提供することを目的とする。
上記目的を達成するため、本発明の第1の態様に係る順序回路は、ランダムロジック回路を含む順序回路であって、クロック周期を超える遅延値を有するデータパスの動作開始を検出する検出手段と、前記検出手段が前記データパスの動作開始を検出した時のクロック周期のみを、当該データパスのタイミングを満たすようなクロック周期へ変更する変更手段と、を備えることを特徴とする。
本回路によれば、クロック周期を超える遅延値を有するデータパスの動作開始が検出されたときには、その時のクロック周期が、そのデータパスのタイミングを満たすようなクロック周期へ変更される。従って、最大遅延データパスが動作するクロック周期を検出してそのクロック周期のみ一時的に動作周波数を低下させることができる。これにより、最大遅延データパスが動作するクロック周期以外の動作周波数を向上させることができる。
本発明の第2の態様に係る順序回路は、上記第1の態様において、前記変更手段はGCB(Gated Clock Buffer)であって、当該GCBによりクロックパルスがゲイティングされることによってクロック周期が変更される、ことを特徴とする。
本回路によれば、データパスのタイミングを満たすようなクロック周期への変更が、GCBによって行われる。
本発明の第3の態様に係る順序回路は、上記第1の態様において、前記変更手段はクロックコントローラであって、当該クロックコントローラの制御によって直接的にクロック周期が変更される、ことを特徴とする。
本回路によれば、データパスのタイミングを満たすようなクロック周期への変更が、クロックコントローラによって行われる。
本発明の第4の態様に係る順序回路は、上記第1乃至3の何れか一つの態様において、前記検出手段及び前記変更手段は、前記順序回路の論理設計段階又は物理設計段階に挿入される、ことを特徴とする。
また、本発明は、上記順序回路のほか、順序回路の高速化方法として構成することもできる。
本発明によれば、順序回路を、最大遅延データパスによって決定される最大動作周波数よりも高速に動作させることができ、結果としてパフォーマンスを向上させることができる。
以下、図面を参照しながら本発明の実施の形態を説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態に係る順序回路であるクロック同期回路を示す図である。
なお、同図に示したクロック同期回路は、図12に示した回路に本発明を適用した例であり、そのソース側FFからエンド側FFへのデータパスにおける遅延値は図13に示したとおりである。
図1に示したように、本実施形態に係るクロック同期回路は、図12に示した回路に加えて、FF_S3の出力を入力とするFF_Lと、FF_S3の出力およびFF_Lの出力を入力とする排他的論理和の否定であるXNOR回路(以下単に「XNOR」と言う)と、そのXNORの出力がEnable信号として入力されるGated Clock Buffer(EnableつきGated Clock Buffer)であるGCBとを有する。
本実施形態において、FF_LとXNORは、クロック周期を超える遅延値を有するデータパスの動作開始を検出するための回路であって、遅延値が最も大きいデータパスがFF_S3からFF_D1へのデータパスであることに着目して、ソース側FFをFF_S3とするデータパスの動作開始を検出する。GCBは、そのデータパスの動作開始を検出した時のクロック周期のみを、当該データパスのタイミングを満たすようなクロック周期へ変更するための回路である。
図2は、GCBの動作を説明するためのタイミングチャートの一例を示す図である。同図に示したように、GCBは、入力されたクロック信号の立ち上がり時(例えば時刻t1)にEN pinに入力されたEnable信号がハイレベルであれば、そのクロック周期(例えばクロック周期T1)については、入力されたクロック信号のとおりクロックパルスをX pinから出力し、一方、クロック信号の立ち上がり時(例えば時刻t2)にEN pinに入力されたEnable信号がローレベルであれば、そのクロック周期(例えばクロック周期T2)については、クロックパルスを出力せずローレベルをX pinから出力するように構成されている。
以上のような構成により、FF_S3の出力値が変化した時(ソース側FFをFF_S3とするデータパスの動作開始を検出した時)には、次のクロックパルスをゲイティング、すなわち、次のクロックパルスを出力させないようにすることによって、FF_S3の出力値が変化した時のクロック周期を、ソース側FFをFF_S3とするデータパスのタイミングを満たすようなクロック周期へ変更することが可能になっている。
図3は、本実施形態に係るクロック同期回路における250MHz動作時のタイミングチャートの一例を示す図である。
同図に示した例では、時刻t1のクロック立ち上がり時にGCBに入力されるEnable信号(GCB.EN)がハイレベルであることから、そのクロック周期(クロック周期T1)についてのGCBの出力(GCB.X)は、入力されたクロック信号のとおりとなる。また、時刻t1のクロック立ち上がりに同期してFF_S3の出力(FF_S3.Q)がローからハイレベルに変化することに伴って、XNORの出力(=GCBの入力(GCB.EN))がハイからローレベルに変化する。
これにより、次の時刻t2のクロック立ち上がり時にGCBに入力されるEnable信号(GCB.EN)がローレベルになることから、そのクロック周期(クロック周期T2)についてのGCBの出力(GCB.X)はローレベルとなる。また、時刻t2のクロック立ち上がりに同期してFF_Lの出力(FF_L.Q)がローからハイレベルに変化することに伴って、XNORの出力(=GCBの入力(GCB.EN))がローからハイレベルに変化
する。
これにより、次の時刻t3のクロック立ち上がり時にGCBに入力されるEnable信号(GCB.EN)がハイレベルになることから、そのクロック周期(クロック周期T3)についてのGCBの出力(GCB.X)は入力されたクロック信号のとおりとなる。
このように、図3に示した例では、FF_S3の出力値が変化すると、次のクロックパルスがゲイティングされ、FF_S3の出力値が変化した時のクロック周期だけが4000psから8000ps(=T1+T2)へ変更されるので、GCBに入力されるクロック周期(4000ps)を超える遅延値を有するデータパス、すなわち最も大きい遅延値(5000ps)を有するFF_S3からFF_D1のデータパスのタイミングを満たすことができ、回路を正常に動作させることができる。
これにより、図15に示した従来のクロック同期回路では不可能であった250MHz動作が、本実施形態に係るクロック同期回路では可能になり、FF_S3の出力値変化の頻度が一定以下(図3に示した例では5サイクルに1回以下の頻度)の場合には、従来のクロック同期回路よりも高いパフォーマンスで回路を動作させることが可能になる。
以上、本実施形態に係るクロック同期回路によれば、最大遅延データパスが動作するクロック周期を検出してそのクロック周期のみ一時的に動作周波数を低下させることができるので、そのクロック周期以外の動作周波数を向上させることができる。従って、最大遅延データパスによって決定される最大動作周波数よりも高速に動作させることができ、結果としてパフォーマンスを向上させることができる。
<第2の実施形態>
図4は、本発明の第2の実施形態に係る順序回路であるクロック同期回路を示す図である。
なお、同図に示したクロック同期回路も、図12に示した回路に本発明を適用した例であり、そのソース側FFからエンド側FFへのデータパスにおける遅延値は図13に示したとおりである。
図4に示したように、本実施形態に係るクロック同期回路は、図1に示したクロック同期回路に加えて、FF_S1の出力を入力とするFF_L2と、FF_S1の出力およびFF_L2の出力を入力とする排他的論理和の否定であるXNOR_2と、XNOR_1の出力およびXNOR_2の出力を入力とするAND回路(以下単に「AND」と言う)とを有し、そのANDの出力がEnable信号としてGCBに入力されるように構成されている。なお、FF_L1とXNOR_1は、図1に示したFF_LとXNORである。
本実施形態において、FF_L1とFF_L2、XNOR_1とXNOR_2、及びANDは、クロック周期を超える遅延値を有するデータパスの動作開始を検出するための回路であって、遅延値が最も大きいデータパスがFF_S3からFF_D1であり、その次に遅延値が大きいデータパスがFF_S1からFF_D1、FF_S1からFF_D3、及びFF_S3からFF_D3であることに着目して、ソース側FFをFF_S1とするデータパスの動作開始とソース側FFをFF_S3とするデータパスの動作開始を検出する回路である。GCBは、そのデータパスの動作開始を検出した時のクロック周期のみを、当該データパスのタイミングを満たすようなクロック周期へ変更するための回路である。
以上のような構成により、FF_S1の出力値が変化した時(ソース側FFをFF_S1とするデータパスの動作開始を検出した時)には、次のクロックパルスをゲイティング
、すなわち、次のクロックパルスを出力させないようにすることによって、FF_S1の出力値が変化した時のクロック周期を、ソース側FFをFF_S1とするデータパスのタイミングを満たすようなクロック周期へ変更すること、及び、FF_S3の出力値が変化した時(ソース側FFをFF_S3とするデータパスの動作開始を検出した時)には、次のクロックパルスをゲイティング、すなわち、次のクロックパルスを出力させないようにすることによって、FF_S3の出力値が変化した時のクロック周期を、ソース側FFをFF_S3とするデータパスのタイミングを満たすようなクロック周期へ変更することが可能になっている。
図5は、本実施形態に係るクロック同期回路における333MHz動作時のタイミングチャートの一例を示す図である。
同図に示した例では、時刻t1のクロック立ち上がり時にGCBに入力されるEnable信号(GCB.EN)がハイレベルであることから、そのクロック周期(クロック周期T1)についてのGCBの出力(GCB.X)は、入力されたクロック信号のとおりとなる。また、時刻t1のクロック立ち上がりに同期してFF_S3の出力(FF_S3.Q)がローからハイレベルに変化することに伴って、XNOR_1の出力がハイからローレベルに変化してANDの出力(=GCBの入力(GCB.EN))がハイからローレベルに変化する。
これにより、次の時刻t2のクロック立ち上がり時にGCBに入力されるEnable信号(GCB.EN)がローレベルになることから、そのクロック周期(クロック周期T2)についてのGCBの出力(GCB.X)はローレベルとなる。また、時刻t2のクロック立ち上がりに同期してFF_L1の出力(FF_L1.Q)がローからハイレベルに変化することに伴って、XNOR_1の出力がローからハイレベルに変化してANDの出力(=GCBの入力(GCB.EN))がローからハイレベルに変化する。
これにより、次の時刻t3のクロック立ち上がり時にGCBに入力されるEnable信号(GCB.EN)がハイレベルになることから、そのクロック周期(クロック周期T3)についてのGCBの出力(GCB.X)は、入力されたクロック信号のとおりとなる。また、時刻t3のクロック立ち上がりに同期してFF_S1の出力(FF_S1.Q)がローからハイレベルに変化することに伴って、XNOR_2の出力がハイからローレベルに変化してANDの出力(=GCBの入力(GCB.EN))がハイからローレベルに変化する。
これにより、次の時刻t4のクロック立ち上がり時にGCBに入力されるEnable信号(GCB.EN)がローレベルになることから、そのクロック周期(クロック周期T4)についてのGCBの出力(GCB.X)はローレベルとなる。また、時刻t4のクロック立ち上がりに同期してFF_L2の出力(FF_L2.Q)がローからハイレベルに変化することに伴って、XNORの出力がローからハイレベルに変化しANDの出力(=GCBの入力(GCB.EN))がローからハイレベルに変化する。
これにより、次の時刻t5のクロック立ち上がり時にGCBに入力されるEnable信号(GCB.EN)がハイレベルになることから、そのクロック周期(クロック周期T5)についてのGCBの出力(GCB.X)は入力されたクロック信号のとおりとなる。
このように、図5に示した例では、FF_S1の出力値が変化した時およびFF_S3の出力値が変化した時に、次のクロックパルスがゲイティングされ、その時のクロック周期だけが3000psから6000ps(例えばT1+T2)へ変更されるので、GCBに入力されるクロック周期(3000ps)を超える遅延値を有するデータパス(遅延値が5000psのFF_S3からFF_D1と、遅延値が4000psのFF_S1からFF_D1、FF_S1からFF_D3、及びFF_S3からFF_D3)のタイミングを満たすことができ、回路を正常に動作させることができる。
これにより、ソース側FFをFF_S1とするデータパスとソース側FFをFF_S3とするデータパスのタイミングを満たすことができるので、それ以外のデータパスの中で遅延値が最も大きいデータパスは、ソース側FFをFF_S2とする、FF_S2からFF_D1およびFF_S2からFF_D3のデータパスとなり、その遅延値が3000psとなることから、回路の最高動作周波数を333MHzまで高めることが可能になる。
以上、本実施形態に係るクロック同期回路によれば、最大遅延データパスが動作するクロック周期とその次に遅延値が大きいデータパスが動作するクロック周期を検出してそのクロック周期のみ一時的に動作周波数を低下させることができるので、そのクロック周期以外の動作周波数を向上させることができる。従って、最大遅延データパスによって決定される最大動作周波数よりも高速に動作させることができ、結果としてパフォーマンスを向上させることができる。
<第3の実施形態>
図6は、本発明の第3の実施形態に係る順序回路であるクロック同期回路を示す図である。
なお、同図に示したクロック同期回路も、図12に示した回路に本発明を適用した例であり、そのソース側FFからエンド側FFへのデータパスにおける遅延値は図13に示したとおりである。
図6に示したように、本実施形態に係るクロック同期回路は、XNORの出力がGCBではなくクロックコントローラ(Clock Controller)に接続されることが、図1に示したクロック同期回路と異なる。クロックコントローラは、詳しくは図7を用いて説明するが、図6に示した回路に供給するクロックの周波数をXNORの出力に応じて動的に変化させることが可能な回路である。
本実施形態において、FF_LとXNORは、クロック周期を超える遅延値を有するデータパスの動作開始を検出するための回路であって、遅延値が最も大きいデータパスがFF_S3からFF_D1へのデータパスであることに着目して、ソース側FFをFF_S3とするデータパスの動作開始を検出する回路である。クロックコントローラは、そのデータパスの動作開始を検出した時のクロック周期のみを、当該データパスのタイミングを満たすようなクロック周期へ変更するための回路である。
図7は、クロックコントローラの構成例とタイミングチャートの一例を示す図である。
同図に示したように、このクロックコントローラは、PLL(Phase Locked Loop)1と、カウンター回路2と、FF3とを有して構成される。PLL1は、ソースクロック(Source Clock)を供給する回路である。なお、本例ではPLLからのソースクロックを用いるが、PLL以外からのソースクロックを用いることも可能である。カウンター回路2は、図6に示したXNORの出力信号であるギアダウン(Gear Down)信号に応じて最大カウント値を設定し、その最大カウント値に応じてPLL1からのソースクロックを分周して出力する回路である。FF3は、カウンター回路2の出力とPLL1からのソースクロックに応じて、図6に示した回路に供給するクロックを出力する回路である。
このような構成のクロックコントローラにおいて、PLL1から供給されるソースクロックを1GHzとし、カウンター回路1は、ギアダウン信号がハイレベルのときにはソースクロックを4分周させるような値を最大カウント値として設定し、ギアダウン信号がローレベルのときにはソースクロックを5分周させるような値を最大カウント値として設定するものとすると、クロックコントローラの動作は、例えば、図7に示したタイミングチャー
トのようになる。すなわち、ギアダウン信号がハイレベルの時(通常動作時)には、カウンター回路2に1GHzのソースクロックを4分周させるような値が最大カウント値として設定され、250MHz(クロック周期4000ps)のClockを生成して出力し、ギアダウン信号がローレベルの時には、カウンター回路に1GHzのソースクロックを5分周させるような値が最大カウント値として設定され、200MHz(クロック周期5000ps)のClockを生成し出力する。
このような構成により、クロックコントローラは、FF_S3の出力値が変化した時(ソース側FFをFF_S3とするデータパスの動作開始を検出した時)のみ、一時的に出力するクロックの周波数を下げることが可能になる。
図8は、本実施形態に係るクロック同期回路における250MHz動作時のタイミングチャートの一例を示す図である。なお、このときのクロックコントローラの動作は、上述の図7に示したタイミングチャートのとおりとする。
図8に示した例では、時刻t1のクロック立ち上がりに同期してFF_S3の出力(FF_S3.Q)がローからハイレベルに変化することに伴って、XNORの出力(=Gear Down)がハイからローレベルに変化する。これにより、クロックコントローラは、200MHz(クロック周期5000ps)のClockを生成し出力する(クロック周期T1参照)。
次に、時刻t2のクロック立ち上がりに同期してFF_Lの出力(FF_L.Q)がローからハイレベルに変化することに伴って、XNORの出力(=Gear Down)がローからハイレベルに変化する。これにより、クロックコントローラは、250MHz(クロック周期4000ps)のClockを生成し出力する(クロック周期T2参照)。
このように、図8に示した例では、FF_S3の出力値が変化すると、クロックの周波数が250MHzから200MHzに一時的に低下してFF_S3の出力値が変化した時のクロック周期(クロック周期T1参照)だけが4000psから5000psへ変更されるので、想定されている250MHzのクロック周期(4000ps)を超える遅延値を有するデータパス、すなわち最も大きい遅延値(5000ps)を有するFF_S3からFF_D1のデータパスのタイミングを満たすことができ、回路を正常に動作させることができる。これにより、従来のクロック同期回路よりも高いパフォーマンスで回路を動作させることが可能になる。
以上、本実施形態に係るクロック同期回路によれば、上述の第1の実施形態と同様に、最大遅延データパスが動作するクロック周期を検出してそのクロック周期のみ一時的に動作周波数を低下させることができるので、そのクロック周期以外の動作周波数を向上させることができる。従って、最大遅延データパスによって決定される最大動作周波数よりも高速に動作させることができ、結果としてパフォーマンスを向上させることができる。
ところで、上述の第1乃至3の各実施形態に係るクロック同期回路における、クロック周期を超える遅延値を有するデータパスの動作開始を検出するための回路(以下単に「検出回路」と言う)、及び、そのデータパスの動作開始を検出した時のクロック周期のみを当該データパスのタイミングを満たすようなクロック周期へ変更するための回路(以下単に「変更回路」と言う)は、当該クロック同期回路を含むLSIの設計フローにおける論理設計段階又は物理設計段階に挿入されるものである。
図9は、その検出回路及び変更回路を論理設計段階に挿入するようにしたときのLSIの設計フローを示す図であり、図10は、その検出回路及び変更回路を物理設計段階に挿入するようにしたときのLSIの設計フローを示す図である。
まず、図9及び図10に示した設計フローに共通するLSIの設計手順を説明する。
図9及び図10において、S1では、論理設計が行われる。詳しくは、回路の設計が行われる。通常は、Verilog-HDLやVHDLなどのハードウェア記述言語を用いてその設計が行われる。
S2では、論理合成が行われる。詳しくは、論理設計で設計した回路が、Gate(ANDやORやFF)で記述されたNetlistに変換される。通常は、論理合成ツールを用いてその変換が行われる。また、ライブラリとゲート規模から遅延値の計算が行われ、到達周波数の見積もりが行われる。但し、この時点での遅延値(つまり到達周波数)は、配置配線情報が含まれていないため、最終的なLSIとは誤差を生じることになる。そして、この時点で見積もられた到達周波数が所望の到達周波数に達していた場合にはS3へ進み、そうでない場合にはS1へ戻って設計変更が行われる。S1へ戻って行われる設計変更では、論理合成の結果がフィードバックされて回路修正が行われる。
S3では、物理設計が行われる。詳しくは、論理合成で生成されたNetlistから、配置配線が行われる。
S4では、STA(Static Timing Analysis)が行われる。STAは、物理設計後のタイミング解析である。ここでは、遅延値が抽出されることにより、正確な到達周波数が得られる。そして、この時点で得られた到達周波数が所望の到達周波数に達していた場合にはS5へ進み、そうでない場合にはS3へ戻って設計変更が行われる。S3へ戻って行われる設計変更では、STAの結果がフィードバックされて回路修正が行われる。
S5では、物理検証が行われる。詳しくは、LSI製造のための様々な設計ルールを満たしているか否かの検証が行われる。
基本的にこのような設計手順を有するLSIの設計フローにおいて、図9に示した設計フローでは、S2の論理合成からS1の論理設計へ戻って行われる設計変更において、論理合成の結果がフィードバックされて回路修正が行われる際に、論理合成で見積もられた正常動作に支障をきたすタイミングのデータパスに対して上述の検出回路及び変更回路の組み込みが行われる。これにより、上述のとおり実質的な動作周波数を向上させることができる。
他方、図10に示した設計フローでは、S4のSTAからS3の物理設計へ戻って行われる設計変更において、STAの結果がフィードバックされて回路修正が行われる際に、STAで得られた正常動作に支障をきたすタイミングのデータパスに対して上述の検出回路及び変更回路の組み込みが行われる。これにより、上述のとおり実施的な動作周波数を向上させることができる。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の要旨を逸脱しない範囲において、各種の改良及び変更を行っても良いのはもちろんである。
(付記1)
組み合わせ回路を含む順序回路であって、
クロック周期を超える遅延値を有するデータパスの動作開始を検出する検出手段と、
前記検出手段が前記データパスの動作開始を検出した時のクロック周期のみを、当該データパスのタイミングを満たすようなクロック周期へ変更する変更手段と、
を備えることを特徴とする順序回路。
(付記2)
前記変更手段はGCB(Gated Clock Buffer)であって、当該GCBによりクロックパ
ルスがゲイティングされることによってクロック周期が変更される、
ことを特徴とする付記1記載の順序回路。
(付記3)
前記変更手段はクロックコントローラであって、当該クロックコントローラの制御によって直接的にクロック周期が変更される、
ことを特徴とする付記1記載の順序回路。
(付記4)
前記検出手段は、クロック周期を超える遅延値を有する第1のデータパスの始点となる回路の出力を入力とする第1のフリップフロップ回路と、前記第1のデータパスの始点となる回路の出力と前記第1のフリップフロップ回路の出力とを入力とする第1のXNOR回路とを有する、
ことを特徴とする付記1記載の順序回路。
(付記5)
前記検出手段は、更に、クロック周期を超える遅延値を有する第2のデータパスの始点となる回路の出力を入力とする第2のフリップフロップ回路と、前記第2のデータパスの始点となる回路の出力と前記第2のフリップフロップ回路の出力とを入力とする第2のXNOR回路と、前記第1のXNOR回路の出力と前記第2のXNOR回路の出力とを入力とするAND回路とを有する、
ことを特徴とする付記4記載の順序回路。
(付記6)
前記検出手段及び前記変更手段は、前記順序回路の論理設計段階又は物理設計段階に挿入される、
ことを特徴とする付記1乃至5の何れか一項記載の順序回路。
(付記7)
組み合わせ回路を含む順序回路の高速化方法であって、
クロック周期を超える遅延値を有するデータパスの動作開始を検出し、
前記データパスの動作開始を検出した時のクロック周期のみを、当該データパスのタイミングを満たすようなクロック周期へ変更する、
ことを特徴とする順序回路の高速化方法。
第1の実施形態に係るクロック同期回路を示す図である。 GCBの動作を説明するためのタイミングチャートの一例を示す図である。 第1の実施形態に係るクロック同期回路における250MHz動作時のタイミングチャートの一例を示す図である。 第2の実施形態に係るクロック同期回路を示す図である。 第2の実施形態に係るクロック同期回路における333MHz動作時のタイミングチャートの一例を示す図である。 第3の実施形態に係るクロック同期回路を示す図である。 クロックコントローラの構成例とタイミングチャートの一例を示す図である。 第3の実施形態に係るクロック同期回路における250MHz動作時のタイミングチャートの一例を示す図である。 検出回路及び変更回路を論理設計段階に挿入するようにしたときのLSIの設計フローを示す図である。 検出回路及び変更回路を物理設計段階に挿入するようにしたときのLSIの設計フローを示す図である。 一般的なクロック同期回路の一例を模式的に示す図である。 図11に示したクロック同期回路の一部である部分回路を抜き出した図である。 部分回路中の各FF間のデータパスの遅延値(Delay time)を示す図である。 部分回路の200MHz動作時のタイミングチャートの一例を示す図である。 部分回路の250MHz動作時のタイミングチャートの一例を示す図である。
符号の説明
1 PLL
2 カウンター回路
3 FF

Claims (5)

  1. 組み合わせ回路を含む順序回路であって、
    クロック周期を超える遅延値を有するデータパスの動作開始を検出する検出手段と、
    前記検出手段が前記データパスの動作開始を検出した時のクロック周期のみを、当該データパスのタイミングを満たすようなクロック周期へ変更する変更手段と、
    を備えることを特徴とする順序回路。
  2. 前記変更手段はGCB(Gated Clock Buffer)であって、当該GCBによりクロックパルスがゲイティングされることによってクロック周期が変更される、
    ことを特徴とする請求項1記載の順序回路。
  3. 前記変更手段はクロックコントローラであって、当該クロックコントローラの制御によって直接的にクロック周期が変更される、
    ことを特徴とする請求項1記載の順序回路。
  4. 前記検出手段及び前記変更手段は、前記順序回路の論理設計段階又は物理設計段階に挿入される、
    ことを特徴とする請求項1乃至3の何れか一項記載の順序回路。
  5. 組み合わせ回路を含む順序回路の高速化方法であって、
    クロック周期を超える遅延値を有するデータパスの動作開始を検出し、
    前記データパスの動作開始を検出した時のクロック周期のみを、当該データパスのタイミングを満たすようなクロック周期へ変更する、
    ことを特徴とする順序回路の高速化方法。
JP2007086058A 2007-03-28 2007-03-28 順序回路及びその高速化方法 Expired - Fee Related JP4847383B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007086058A JP4847383B2 (ja) 2007-03-28 2007-03-28 順序回路及びその高速化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007086058A JP4847383B2 (ja) 2007-03-28 2007-03-28 順序回路及びその高速化方法

Publications (2)

Publication Number Publication Date
JP2008245164A true JP2008245164A (ja) 2008-10-09
JP4847383B2 JP4847383B2 (ja) 2011-12-28

Family

ID=39915901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007086058A Expired - Fee Related JP4847383B2 (ja) 2007-03-28 2007-03-28 順序回路及びその高速化方法

Country Status (1)

Country Link
JP (1) JP4847383B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100989899B1 (ko) 2008-11-26 2010-10-26 한국과학기술원 펄스 래치를 사용하는 디지털 순차 회로의 속도 향상 방법 및 장치
JP2016063505A (ja) * 2014-09-22 2016-04-25 日本電気株式会社 Lsiパッケージ、および、クロック分配方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08125644A (ja) * 1994-10-27 1996-05-17 Fujitsu Ltd クロックの同期化回路
JPH09116413A (ja) * 1995-10-20 1997-05-02 Toshiba Corp 論理回路及びその設計方法
JPH11259554A (ja) * 1998-03-13 1999-09-24 Toshiba Corp 論理回路のタイミング解析方法ならびに同方法を用いた論理合成システム、及び同方法がプログラムされ記録される記録媒体
JP2000236062A (ja) * 1999-02-16 2000-08-29 Kawasaki Steel Corp 半導体集積回路
JP2002353799A (ja) * 2001-05-22 2002-12-06 Matsushita Electric Ind Co Ltd 半導体集積回路及びその駆動方法
JP2003330568A (ja) * 2002-05-09 2003-11-21 Toshiba Corp 半導体集積回路および回路設計システム
JP2006287552A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd クロックネットワークの消費電力低減回路

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08125644A (ja) * 1994-10-27 1996-05-17 Fujitsu Ltd クロックの同期化回路
JPH09116413A (ja) * 1995-10-20 1997-05-02 Toshiba Corp 論理回路及びその設計方法
JPH11259554A (ja) * 1998-03-13 1999-09-24 Toshiba Corp 論理回路のタイミング解析方法ならびに同方法を用いた論理合成システム、及び同方法がプログラムされ記録される記録媒体
JP2000236062A (ja) * 1999-02-16 2000-08-29 Kawasaki Steel Corp 半導体集積回路
JP2002353799A (ja) * 2001-05-22 2002-12-06 Matsushita Electric Ind Co Ltd 半導体集積回路及びその駆動方法
JP2003330568A (ja) * 2002-05-09 2003-11-21 Toshiba Corp 半導体集積回路および回路設計システム
JP2006287552A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd クロックネットワークの消費電力低減回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100989899B1 (ko) 2008-11-26 2010-10-26 한국과학기술원 펄스 래치를 사용하는 디지털 순차 회로의 속도 향상 방법 및 장치
JP2016063505A (ja) * 2014-09-22 2016-04-25 日本電気株式会社 Lsiパッケージ、および、クロック分配方法

Also Published As

Publication number Publication date
JP4847383B2 (ja) 2011-12-28

Similar Documents

Publication Publication Date Title
US8281275B2 (en) Reducing leakage power in integrated circuit designs
US8291364B2 (en) Automated digital circuit design tool that reduces or eliminates adverse timing constraints do to an inherent clock signal skew, and applications thereof
US7254796B2 (en) Method for synthesizing domino logic circuits cross reference to related patent application using partition
JPH11312027A (ja) 半導体装置及びその設計方法
US20100253409A1 (en) Clock generation system and clock dividing module
JP2008123056A (ja) 論理回路のタイミング制約生成システムおよび論理回路のタイミング制約生成方法、制御プログラム、可読記録媒体
US20150341032A1 (en) Locally asynchronous logic circuit and method therefor
JP4847383B2 (ja) 順序回路及びその高速化方法
US20090070619A1 (en) Multi-cycle path information verification method and multi-cycle path information verification device
Ahmadi et al. A hybrid time borrowing technique to improve the performance of digital circuits in the presence of variations
US20120128110A1 (en) Method and system for eliminating implementation timing in synchronization circuits
JPWO2009084396A1 (ja) 遅延モニタ回路および遅延モニタ方法
Xia et al. Design of high-performance asynchronous pipeline using synchronizing logic gates
US20120200322A1 (en) Clock tree insertion delay independent interface
JP2009301192A (ja) シミュレーション装置およびシミュレーション方法
US9184752B2 (en) Low power digital fractional divider with glitchless output
JP6303509B2 (ja) 回路検証方法、及び回路検証プログラム
JP5729546B2 (ja) 半導体設計支援装置、タイミング制約生成方法、およびプログラム
JP2013036960A (ja) 遅延スキャンテスト方法、半導体装置及び半導体装置の設計方法
US9488691B2 (en) Integrated circuit control based on a first sample value and a delayed second sample value
JP5234806B2 (ja) 論理シミュレーション装置およびそのシミュレーション方法
JP2011134072A (ja) 半導体集積回路の設計方法及びプログラム
JP2011054070A (ja) 冗長論理回路検出方法及び冗長論理回路検出装置
KR100588370B1 (ko) 클램프 신호 생성 회로
JP2005094484A (ja) 位相差検出回路、クロックスキュー補正回路、位相差検出方法及びクロックスキュー補正方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110906

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111011

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111013

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4847383

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees