JP2011233559A - 半導体集積回路及びその設計方法 - Google Patents
半導体集積回路及びその設計方法 Download PDFInfo
- Publication number
- JP2011233559A JP2011233559A JP2010099822A JP2010099822A JP2011233559A JP 2011233559 A JP2011233559 A JP 2011233559A JP 2010099822 A JP2010099822 A JP 2010099822A JP 2010099822 A JP2010099822 A JP 2010099822A JP 2011233559 A JP2011233559 A JP 2011233559A
- Authority
- JP
- Japan
- Prior art keywords
- flip
- clock
- flop
- flop circuit
- circuit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/396—Clock trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/353—Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
- H03K3/356—Bistable circuits
- H03K3/3562—Bistable circuits of the master-slave type
- H03K3/35625—Bistable circuits of the master-slave type using complementary field-effect transistors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
【課題】消費電力を削減した半導体集積回路及びその設計方法を提供する。
【解決手段】半導体集積回路の設計方法は、複数の標準フリップフロップ回路及び低消費電力フリップフロップ回路を配置するステップと、セルタイプを指標に含む評価関数を用いて、配置されたフリップフロップ回路を複数のクラスタにグループ化するステップと、標準フリップフロップ回路のみで構成されたクラスタに対して第1クロックバッファを割り当て、低消費電力フリップフロップ回路を含むクラスタに対して前記第1クロックバッファよりサイズの大きい第2クロックバッファを割り当てるステップと、クロック配線するステップと、を備える。
【選択図】図4
【解決手段】半導体集積回路の設計方法は、複数の標準フリップフロップ回路及び低消費電力フリップフロップ回路を配置するステップと、セルタイプを指標に含む評価関数を用いて、配置されたフリップフロップ回路を複数のクラスタにグループ化するステップと、標準フリップフロップ回路のみで構成されたクラスタに対して第1クロックバッファを割り当て、低消費電力フリップフロップ回路を含むクラスタに対して前記第1クロックバッファよりサイズの大きい第2クロックバッファを割り当てるステップと、クロック配線するステップと、を備える。
【選択図】図4
Description
本発明の実施形態は、半導体集積回路及びその設計方法に関するものである。
LSI(Large Scale Integrated Circuit:大規模集積回路)のレイアウト設計においては、クロックスキュー(クロック信号が供給されるフリップフロップ間のクロック信号の遅延時間差)対策として、クロック回路がツリー型構造の回路で構成される。
LSIでは、消費電力を削減するために、通常のフリップフロップよりも内部のクロックバッファのサイズを小さくした低消費電力フリップフロップが使用される。このような低消費電力フリップフロップは、フリップフロップの遅延時間が、クロック入力波形(クロックスリュー)に大きく依存する。具体的には、クロック入力波形が鈍った時に、フリップフロップの遅延時間が、通常のフリップフロップに比べて、大きくなる。
このような低消費電力フリップフロップを用いる際に、遅延時間を大きくしないために、クロックスリューの上限を設定してクロックツリー生成(CTS:Clock Tree Synthesis)を実行すると、通常のフリップフロップのスリューを必要以上に鋭くするために、駆動力の大きなクロックバッファを挿入することになる。そのため、クロックツリーの消費電力が増加するという問題があった。
一方、CTS実行時に、通常のフリップフロップのクロックスリューの上限を設定すると、上述したような低消費電力フリップフロップの遅延時間が大きくなる。従って、タイミング制約を満たすために、低消費電力フリップフロップがあまり使用されなくなり、LSIの消費電力を削減することが困難になるという問題があった。
本発明は、消費電力を削減した半導体集積回路及びその設計方法を提供することを目的とする。
本実施形態によれば、半導体集積回路の設計方法は、複数の第1フリップフロップ回路及び前記第1フリップフロップ回路よりクロック信号の波形変化に対する遅延変化量が大きい複数の第2フリップフロップ回路を配置するステップと、各フリップフロップ回路の座標、入力スリュー制約、クロック入力容量、及び各フリップフロップ回路が前記第1フリップフロップ回路及び前記第2フリップフロップ回路のうちのいずれであるかを示すセルタイプを指標に含む評価関数を用いて、前記第1フリップフロップ回路及び前記第2フリップフロップ回路を複数のクラスタにグループ化するステップと、前記第1フリップフロップ回路により構成される第1クラスタに対して第1クロックバッファを割り当て、前記第2フリップフロップ回路を含む第2クラスタに対して前記第1クロックバッファよりサイズの大きい第2クロックバッファを割り当てるステップと、前記第1クロックバッファの出力が前記第1クラスタを構成する前記第1フリップフロップ回路に与えられ、前記第2クロックバッファの出力が前記第2クラスタを構成するフリップフロップ回路に与えられるようにクロック配線するステップと、を備える。
本実施形態によれば、半導体集積回路は、複数の第1フリップフロップ回路と、前記第1フリップフロップ回路よりクロック信号の波形変化に対する遅延変化量が大きい複数の第2フリップフロップ回路と、前記クロック信号が与えられる第1クロックバッファと、前記クロック信号が与えられ、前記第1クロックバッファよりサイズの大きい第2クロックバッファと、を備える半導体集積回路であって、前記第2クロックバッファは前記第1フリップフロップ回路及び/又は前記第2フリップフロップ回路へクロック信号を出力し、前記第1クロックバッファのクロック信号の出力先は前記第1フリップフロップ回路により構成される。
以下、本発明の実施の形態を図面に基づいて説明する。
図1にフリップフロップ回路の構成の一例を示す。図1(a)はフリップフロップ回路の信号伝送回路を示し、図1(b)はフリップフロップ回路のクロック供給回路を示す。信号伝送回路は、クロックドインバータ11〜13、インバータ14〜16及びトランスミッションゲート17を有する。
クロックドインバータ11にはデータ信号Dが入力される。クロックドインバータ11の出力はインバータ14の入力及びクロックドインバータ12の出力に接続されている。インバータ14の出力及びクロックドインバータ12の入力はトランスミッションゲート17の入力に接続されている。トランスミッションゲート17の出力はインバータ15の入力及びクロックドインバータ13の出力に接続されている。インバータ15の出力及びクロックドインバータ13の入力はインバータ16の入力に接続される。インバータ16は出力信号Qを出力する。
フリップフロップ回路のクロック供給回路はインバータ18、19を有する。インバータ18の入力はクロック信号CLKの供給ノードに接続され、インバータ18の出力にインバータ19の入力が接続される。インバータ19の出力から内部クロック信号CLKIを供給し、インバータ18の出力から内部クロック反転信号/CLKIを供給する。
クロックドインバータ12は内部クロック信号CLKIがハイレベルのときはインバータとして動作し、ロウレベルのときは出力が高インピーダンス状態になり、入出力を切り離す。クロックドインバータ11、13は内部クロック信号CLKIがロウレベルのときはインバータとして動作し、ハイレベルのときは出力が高インピーダンス状態になり、入出力を切り離す。トランスミッションゲート17は内部クロック信号CLKIがハイレベルのとき信号を通し、ロウレベルのときは通さなくなる。
クロック信号CLKがロウレベルのとき、データ信号Dはクロックドインバータ11を通過してインバータ14に入力される。内部クロック信号CLKIはロウレベルのためトランスミッションゲート17及びクロックドインバータ12は閉じており、入力信号は阻止される。
クロック信号CLKがロウレベルからハイレベルに切り替わるとクロックドインバータ11が閉じ、トランスミッションゲート17及びクロックドインバータ12が開く。つまりクロック信号CLKが切り替わる瞬間に、データ信号Dは、インバータ14及びクロックドインバータ12によりラッチされるとともに、トランスミッションゲート17、インバータ15、16を通過して出力される。
続いて、クロック信号がハイレベルからロウレベルに切り替わると、トランスミッションゲート17が閉じ、クロックドインバータ13が開く。これにより、トランスミッションゲート17を通過してきていた信号はインバータ15及びクロックドインバータ13によりラッチされ、インバータ16から出力される。この状態は、トランスミッションゲート17が開いて、異なるレベルの信号が入力されるまで継続する。
このようなフリップフロップ回路では、図1(b)に示すクロック供給回路のインバータ18、19のサイズを小さくすると、消費電力が小さくなる。本実施形態では、半導体集積回路に、インバータ18、19のサイズが異なるフリップフロップ回路を配置する。以下の説明では、インバータ18、19のサイズが大きく、動作速度の速いフリップフロップ回路を標準フリップフロップ回路と称し、インバータ18、19のサイズが小さく、標準フリップフロップ回路より消費電力が少なく動作速度の遅いフリップフロップ回路を低消費電力フリップフロップ回路と称する。
図2に、標準フリップフロップ回路(標準FF)と低消費電力フリップフロップ回路(低消費電力FF)の各々についての、クロックスリューと遅延時間との関係の一例を示す。図2に示すように、標準フリップフロップ回路と比較して、低消費電力フリップフロップ回路の方が、クロックスリューに敏感である。言い換えれば、標準フリップフロップ回路と比較して、低消費電力フリップフロップ回路は、クロック信号の波形変化(波形なまり)に対する遅延増加量が大きいことが分かる。
本実施形態は、このような標準フリップフロップ回路と低消費電力フリップフロップ回路とを用いて、半導体集積回路を設計するものである。
図3に、本実施形態に係る半導体集積回路の設計装置の概略構成を示す。設計装置100は、入出力部101、制御部102、記憶部110、及び演算部120を備える。入出力部101は、データの入出力を行う。制御部102は、入出力部101、記憶部110、演算部120間のデータ転送制御を行う。
記憶部110は、回路情報記憶領域111、チップ情報記憶領域112、及び回路図データ記憶領域113を有する。
回路情報記憶領域111は、チップに配置されるフリップフロップ等の素子情報や、各素子の接続情報(ネットリスト)等の回路設計情報を記憶する。フリップフロップは、上述の標準フリップフロップ回路や低消費電力フリップフロップ回路である。
チップ情報記憶領域112は、素子が配置されるチップのサイズ等の情報を記憶する。回路図データ記憶領域113は、素子が配置されたチップ情報である回路図データを記憶する。
演算部120は、配置配線部121、タイミング解析部122、判定部123、及びセル置換部124を有する。
配置配線部121は、回路設計情報及びチップ情報に基づいて、素子の配置を実行する。そして、配置配線部121は、クロック配線網にクロックバッファを挿入し、ツリー状に負荷バランスを調整してレイアウトするCTS(クロックツリー合成)を実行する。CTSでは、近接する複数のフリップフロップ回路をまとめてクラスタ(グループ)を作成するクラスタリング処理(グループ化)が行われた後、各クラスタに対して、クロックバッファが挿入される(割り当てられる)。クラスタリング処理では以下の評価関数fが最小となるようにクラスタが作成される。
f(各フリップフロップのセルタイプ,各フリップフロップの座標,各フリップフロップのクロック入力端子容量,利用できるクロックバッファセルリスト,各フリップフロップのクロック入力端子に対する最大入力スリュー制約,クロックバッファの最大ファンアウト制約,クラスタの最大負荷容量制約)
フリップフロップのセルタイプとは、フリップフロップが標準フリップフロップ回路であるか、又は低消費電力フリップフロップ回路であるかを示す。
フリップフロップのセルタイプとは、フリップフロップが標準フリップフロップ回路であるか、又は低消費電力フリップフロップ回路であるかを示す。
配置配線部121は、クロック信号を伝送するクロックラインの配線後、データ信号を伝送するデータラインの配線を実行し、回路図データを作成する。配置配線部121は、回路図データを回路図データ記憶領域113に書き込む。
タイミング解析部122は、回路図データ記憶領域113に記憶されている回路図データに所定の高精度なタイミング解析を実行する。タイミング解析は、例えば、CTS処理において構成されたクロックツリー配線のクロック遅延時間、データパスの遅延時間、半導体回路の動作速度等を計測することによって行われる。
判定部123は、タイミング解析部122の解析結果が、所定のタイミング条件を満たしているか否か判定する。
セル置換部124は、回路図データに対してタイミングの修正(IPO:in place optimization)を実行する。例えば、セル置換部124は、配置されているクロックバッファを、設計制約に合わせて、駆動能力の大きいクロックバッファに置換する。
次に、このような設計装置100を用いて半導体集積回路を設計する方法を、図4に示すフローチャートを用いて説明する。
(ステップS401)配置配線部121が、回路設計情報及びチップ情報に基づいて、標準フリップフロップ回路及び低消費電力フリップフロップ回路をロジカルに合成配置する。
(ステップS402)配置配線部121が、CTS処理を行う。これにより、クラスタリング処理、クロックツリー配線、及びクロックバッファの挿入が行われる。
クラスタリング処理では、上述の評価関数fが用いられ、近接する複数のフリップフロップ回路をまとめてクラスタが作成される。評価関数fでは、フリップフロップのセルタイプが指標に含まれている。これにより、図5(a)に示すように、同じタイプのフリップフロップ回路が同じクラスタに含まれ易くなる。
図5(b)に示すように、標準フリップフロップ回路のみで構成されるクラスタにはサイズの小さいクロックバッファが挿入され、低消費電力フリップフロップ回路のみで構成されるクラスタにはサイズの大きいクロックバッファが挿入される。また、低消費電力フリップフロップ及び標準フリップフロップ回路が混在するクラスタにも、サイズの大きいクロックバッファが挿入される。図2で説明したように、低消費電力フリップフロップ回路は、クロックスリューに敏感であり、駆動力の大きなクロックバッファから出力されるクロック信号を与える必要があるためである。
(ステップS403)配置配線部121が、詳細配線を実行し、データ信号の配線を行う。これにより回路図データが作成される。なお、本ステップでは、詳細配線ではなく概略配線を実行して回路図データを作成することも可能である。
(ステップS404)タイミング解析部122が、回路図データに対してタイミング解析を実行する。
(ステップS405)判定部123が、タイミング解析の結果が所定のタイミング条件を満たしているか否か判定する。所定のタイミング条件を満たしている場合は処理を終了し、満たしていない場合はステップS406へ進む。
(ステップS406)セル置換部124が、回路図データに対してタイミングの修正を実行し、ステップS404に戻る。
フリップフロップのタイプを考慮せずにクラスタリング処理を行うと、標準フリップフロップ回路と低消費電力フリップフロップ回路とが混在したクラスタが多くなる。このようなクラスタには、駆動力の大きいクロックバッファを挿入するため、クロックツリーの消費電力が大きい。
一方、本実施形態では、フリップフロップのタイプを考慮してクラスタリング処理を行うため、標準フリップフロップ回路のみで構成されるクラスタが作成され易くなる。このようなクラスタに対しては、駆動力の小さいクロックバッファを挿入することができる。従って、クロックツリーの消費電力が削減され、半導体集積回路全体の消費電力を削減できる。
図6に示すように、配置配線部121は、クラスタリング処理の際に、近接するクラスタを比較して、標準フリップフロップ回路のみで構成されるクラスタが出来るようにクラスタを修正してもよい。この例では、クラスタ60Aの低消費電力フリップフロップ回路62、63とクラスタ61Aの低消費電力フリップフロップ回路65とで新たにクラスタ60Bとし、クラスタ60Aの標準フリップフロップ回路64とクラスタ61Aの標準フリップフロップ回路66、67とで新たにクラスタ61Bとしている。
これにより、標準フリップフロップ回路のみで構成されるクラスタが増加し、駆動力の小さいクロックバッファを挿入する箇所がさらに増えるため、クロックツリーの消費電力をさらに削減できる。なお、クラスタの修正は、上記の評価関数fの値が所定の閾値以下の場合のみ行うものとし、フリップフロップ回路の配置位置は変えないものとする。
図6に示す例において、クラスタ61Aの低消費電力フリップフロップ回路65をクラスタ60Aに含めるようにし、標準フリップフロップ回路66、67のみで1つのクラスタとしてもよい。
また、図6に示す例では、2つのクラスタ間でクラスタの再構成をしているが、3つ以上のクラスタ間で行ってもよい。
また、図7(a)に示すように、標準フリップフロップ回路のみで構成されるクラスタが近接(隣接)している場合、図7(b)に示すように、2つのクラスタの標準フリップフロップを1つのクロックバッファで駆動するようにしてもよい。クロックバッファを1つ削除できるため、クロックツリーの消費電力をさらに削減できる。なお、このようなクロックバッファの削除、共通化は、入力スリュー制約が満たせる場合にのみ行うものとする。
上記実施形態では、図1(b)に示すクロック供給回路の2段のインバータ18、19のサイズが小さいフリップフロップ回路を低消費電力フリップフロップ回路としていたが、これらのインバータ18、19を省略した構成のフリップフロップ回路を低消費電力フリップフロップ回路として用いてもよい。このようなフリップフロップ回路の構成例を図8に示す。
図8の回路は、2つの状態(論理値0及び論理値1)を保持する状態保持回路F11が設けられ、状態保持回路F11にはインバータV11〜V14が設けられている。インバータV11の出力がインバータV12の入力に接続されることで記憶ノードMBが構成され、インバータV12の出力がインバータV11の入力に接続されることで記憶ノードMが構成されている。記憶ノードMBはインバータV13の入力に接続され、記憶ノードMはインバータV14の入力に接続されている。
また、状態保持回路F11の後段に、2つの状態(論理値0および論理値1)を保持する状態保持回路F12が設けられることで、マスタースレーブフリップフロップが構成されている。状態保持回路F12にはインバータV3〜V5が設けられている。インバータV3の出力がインバータV4の入力に接続されることで記憶ノードSが構成され、インバータV4の出力がインバータV3の入力に接続されることで記憶ノードSBが構成されている。記憶ノードSBはインバータV5の入力に接続され、出力信号Qが出力される。
また、この回路には、Pチャンネル電界効果トランジスタ(以下、PMOSトランジスタ)M1、M2およびNチャンネル電界効果トランジスタ(以下、NMOSトランジスタ)M3、M4が設けられている。PMOSトランジスタM1のドレインは記憶ノードMBに接続され、ソースはインバータV1を介してデータ信号Dが入力される。PMOSトランジスタM2のドレインは記憶ノードMに接続され、ソースはインバータV2を介してデータ反転信号DBが入力されている。
また、NMOSトランジスタM3のドレインはインバータV13の出力に接続され、ソースは記憶ノードSに接続されている。NMOSトランジスタM4のドレインはインバータV14の出力に接続され、ソースは記憶ノードSBに接続されている。そして、PMOSトランジスタM1、M2およびNMOSトランジスタM3、M4の各ゲートにはクロック信号CKが入力される。
クロック信号CKがハイレベルの場合、PMOSトランジスタM1、M2はオフし、NMOSトランジスタM3、M4はオンする。そして、状態保持回路F11では、記憶ノードMがハイレベルに維持されている時は記憶ノードMBがロウレベルに維持され、記憶ノードMがロウレベルに維持されている時は記憶ノードMBがハイレベルに維持される。
インバータV1にデータ信号Dが入力されると、データ反転信号DBが生成され、PMOSトランジスタM1のソースおよびインバータV2に入力される。また、インバータV2にデータ反転信号DBが入力されると、データ信号DBBが生成され、PMOSトランジスタM2のソースに入力される。
そして、クロック信号CKがハイレベルからロウレベルに遷移すると、PMOSトランジスタM1、M2はオンする。このとき、データ反転信号DBがPMOSトランジスタM1を介して記憶ノードMBに印加され、データ信号DBBがPMOSトランジスタM2を介して記憶ノードMに印加され、その状態が記憶ノードMB、Mに保持される。
そして、記憶ノードMBの状態がインバータV13にて反転されることで出力信号Q1が生成され、NMOSトランジスタM3のドレインに入力される。また、記憶ノードMの状態がインバータV14にて反転されることで出力反転信号QB1が生成され、NMOSトランジスタM4のドレインに入力される。このとき、NMOSトランジスタM3、M4はオフしている。したがって、状態保持回路F12の出力信号Qの状態は変化しない。
次に、クロック信号CKがロウレベルからハイレベルに遷移すると、PMOSトランジスタM1、M2はオフし、NMOSトランジスタM3、M4はオンする。NMOSトランジスタM3、M4がオンすると、出力信号Q1がNMOSトランジスタM3を介して記憶ノードSに印加され、出力反転信号QB1がNMOSトランジスタM4を介して記憶ノードSBに印加され、その状態が記憶ノードS、SBに保持される。
そして、記憶ノードSBに保持された状態がインバータV5にて反転されることで出力信号Qが生成される。
ここで、データ反転信号DBがハイレベルで記憶ノードMBがロウレベルの場合は、PMOSトランジスタM1を介して記憶ノードMBに充電させることができる。また、データ反転信号DBがロウレベルで記憶ノードMBがハイレベルの場合は、データ信号DBBがハイレベルで記憶ノードMがロウレベルであることから、PMOSトランジスタM2を介して記憶ノードMに充電させることができる。
また、出力信号Q1がロウレベルで記憶ノードSがハイレベルの場合は、NMOSトランジスタM3を介して記憶ノードSを放電させることができる。また、出力信号Q1がロウレベルで記憶ノードSがハイレベルの場合は、出力反転信号QB1がハイレベルで記憶ノードSBがロウレベルであることから、NMOSトランジスタM4を介して記憶ノードSBを充電させることができる。
さらに、PMOSトランジスタM1、M2をそれぞれ介して記憶ノードMB、Mにデータ反転信号DBおよびデータ信号DBBをそれぞれ入力させ、NMOSトランジスタM3、M4をそれぞれ介して出力信号Q1および出力反転信号QB1をそれぞれ出力させることにより、PMOSトランジスタM1、M2のゲートおよびNMOSトランジスタM3、M4のゲートにクロック信号CKを入力することで、状態保持回路F11に状態を保持させたり、状態保持回路F11に保持されている状態を出力したりすることができる。このため、クロック信号CKからクロック反転信号を生成するクロックバッファ(図1(b)に示すインバータ18、19)を別途設ける必要がなくなり、クロックバッファによる消費電力を削減することができる。上記実施形態では、図8に示すような回路を低消費電力フリップフロップ回路として使用することができる。
また、図8に示す状態保持回路F11を図9に示す状態保持回路F31に置換した回路を低消費電力フリップフロップ回路として用いてもよい。状態保持回路F31には、インバータV31、V32、PMOSトランジスタM31、M33およびNMOSトランジスタM32、M34が設けられている。
インバータV31の出力が、並列に接続されたPMOSトランジスタM31及びNMOSトランジスタM32を介してインバータV32の入力に接続されることで記憶ノードMが構成されている。また、インバータV32の出力が、並列に接続されたPMOSトランジスタM33およびNMOSトランジスタM34を介してインバータV31の入力に接続されることで記憶ノードMBが構成されている。
PMOSトランジスタM31のゲートとNMOSトランジスタM32のゲートにはデータ反転信号DBが入力され、PMOSトランジスタM33のゲートとNMOSトランジスタM34のゲートにはデータ信号DBBが入力される。そして、インバータV31の入力にはトランジスタM1のドレインが接続され、インバータV32の入力にはトランジスタM2のドレインが接続されている。
そして、データ信号Dがハイレベルの場合、データ反転信号DBはロウレベルになり、NMOSトランジスタM34がオンし、PMOSトランジスタM31がオンする。一方、データ信号Dがロウレベルの場合、データ反転信号DBはハイレベルになり、PMOSトランジスタM33がオンし、NMOSトランジスタM32がオンする。このため、データ信号Dがいずれの状態においても、インバータV31の出力とインバータV32の入力とは導通し、インバータV32の出力とインバータV31の入力とは導通する。このため、状態保持回路F31では、記憶ノードMがハイレベルに維持されている時は記憶ノードMBがロウレベルに維持され、記憶ノードMがロウレベルに維持されている時は記憶ノードMBがハイレベルに維持される。
そして、トランジスタM1、M2がオンすると、データ反転信号DBが記憶ノードMBに印加され、データ信号Dが記憶ノードMに印加される。そして、データ反転信号DBおよびデータ信号Dのレベルに応じて記憶ノードMB、Mの状態が変化し、その状態が記憶ノードMB、Mに保持される。記憶ノードMB、Mに保持されている状態は、インバータV31、V32にてそれぞれ反転され、出力信号Q及び出力反転信号QBとして出力される。
ここで、PMOSトランジスタM31、M33がオンの場合、ハイレベル電位VDDがソースに印加されると、ドレインもハイレベル電位VDDになる。これに対し、ロウレベル電位VSSがドレインに印加されると、ソースはPMOSトランジスタM31、M33のしきい値電圧Vph分だけロウレベル電位VSSから上昇する。
一方、NMOSトランジスタM32、M34がオンの場合、ロウレベル電位VSSがソースに印加されると、ドレインもロウレベル電位VSSになる。これに対し、ハイレベル電位VDDがドレインに印加されると、ソースはNMOSトランジスタM32、M34のしきい値電圧Vnh分だけハイレベル電位VDDから降下する。
ここで、データ反転信号DBがハイレベルで記憶ノードMBがロウレベル、データ信号Dがロウレベルで記憶ノードMがハイレベルとする。このとき、PMOSトランジスタM33およびNMOSトランジスタM32がオンする。
このため、NMOSトランジスタM32にて記憶ノードMでのハイレベルの保持能力が低下され、記憶ノードMに印加されるデータ信号Dがロウレベルになった時に、記憶ノードMに保持されている状態をハイレベルからロウレベルに遷移し易くさせることができる。また、PMOSトランジスタM33にて記憶ノードMBでのロウレベルの保持能力が低下され、記憶ノードMBに印加されるデータ反転信号DBがハイレベルになった時に、記憶ノードMBに保持されている状態をロウレベルからハイレベルに遷移し易くさせることができる。このため、本回路が動作可能の電源電圧マージンを拡大し、回路のロバスト性を改善できる。
一方、データ反転信号DBがロウレベルで記憶ノードMBがハイレベル、データ信号Dがハイレベルで記憶ノードMがロウレベルとする。このとき、NMOSトランジスタM34およびPMOSトランジスタM31がオンする。
このため、PMOSトランジスタM31にて記憶ノードMでのロウレベルの保持能力が低下され、記憶ノードMに印加されるデータ信号Dがハイレベルになった時に、記憶ノードMに保持されている状態をロウレベルからハイレベルに遷移し易くさせることができる。また、NMOSトランジスタM34にて記憶ノードMBでのハイレベルの保持能力が低下され、記憶ノードMBに印加されるデータ反転信号DBがロウレベルになった時に、記憶ノードMBに保持されている状態をハイレベルからロウレベルに遷移し易くさせることができる。
このように、図9に示すような回路構成にすることで、記憶ノードM、MBに保持されている状態を遷移しやすくさせることができ、動作可能な電源電圧マージンを拡大することができる。また、図8に示す回路と同様に、クロック信号CKからクロック反転信号を生成するクロックバッファ(図1(b)に示すインバータ18、19)を別途設ける必要がなくなり、クロックバッファによる消費電力を削減することができる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
100 設計装置
101 入出力部
102 制御部
110 記憶部
120 演算部
101 入出力部
102 制御部
110 記憶部
120 演算部
Claims (5)
- 複数の第1フリップフロップ回路及び前記第1フリップフロップ回路よりクロック信号の波形変化に対する遅延変化量が大きい複数の第2フリップフロップ回路を配置するステップと、
各フリップフロップ回路の座標、入力スリュー制約、クロック入力容量、及び各フリップフロップ回路が前記第1フリップフロップ回路及び前記第2フリップフロップ回路のうちのいずれであるかを示すセルタイプを指標に含む評価関数を用いて、前記第1フリップフロップ回路及び前記第2フリップフロップ回路を複数のクラスタにグループ化するステップと、
前記第1フリップフロップ回路により構成される第1クラスタに対して第1クロックバッファを割り当て、前記第2フリップフロップ回路を含む第2クラスタに対して前記第1クロックバッファよりサイズの大きい第2クロックバッファを割り当てるステップと、
前記第1クロックバッファの出力が前記第1クラスタを構成する前記第1フリップフロップ回路に与えられ、前記第2クロックバッファの出力が前記第2クラスタを構成するフリップフロップ回路に与えられるようにクロック配線するステップと、
を備える半導体集積回路の設計方法。 - 前記第2クラスタの前記第2フリップフロップ回路を、他の第2クラスタに含め、当該第2クラスタを第1クラスタに修正するステップをさらに備えることを特徴とする請求項1に記載の半導体集積回路の設計方法。
- 複数の前記第1クラスタに対応する前記第1クロックバッファを共通化するステップをさらに備えることを特徴とする請求項1又は2に記載の半導体集積回路の設計方法。
- 複数の第1フリップフロップ回路と、
前記第1フリップフロップ回路よりクロック信号の波形変化に対する遅延変化量が大きい複数の第2フリップフロップ回路と、
前記クロック信号が与えられる第1クロックバッファと、
前記クロック信号が与えられ、前記第1クロックバッファよりサイズの大きい第2クロックバッファと、
を備える半導体集積回路であって、
前記第2クロックバッファは前記第1フリップフロップ回路及び/又は前記第2フリップフロップ回路へクロック信号を出力し、
前記第1クロックバッファのクロック信号の出力先は前記第1フリップフロップ回路により構成されることを特徴とする半導体集積回路。 - 前記第1フリップフロップ回路及び前記第2フリップフロップ回路はそれぞれ前記クロック信号を反転するインバータを有し、
前記第1フリップフロップ回路のインバータのサイズは、前記第2フリップフロップ回路のインバータのサイズより大きいことを特徴とする請求項4に記載の半導体集積回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010099822A JP2011233559A (ja) | 2010-04-23 | 2010-04-23 | 半導体集積回路及びその設計方法 |
US12/954,530 US20110260764A1 (en) | 2010-04-23 | 2010-11-24 | Semiconductor integrated circuit, method for designing semiconductor integrated circuit, and computer readable recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010099822A JP2011233559A (ja) | 2010-04-23 | 2010-04-23 | 半導体集積回路及びその設計方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011233559A true JP2011233559A (ja) | 2011-11-17 |
Family
ID=44815285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010099822A Withdrawn JP2011233559A (ja) | 2010-04-23 | 2010-04-23 | 半導体集積回路及びその設計方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110260764A1 (ja) |
JP (1) | JP2011233559A (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8730404B2 (en) * | 2012-05-31 | 2014-05-20 | Silicon Laboratories Inc. | Providing a reset mechanism for a latch circuit |
JP6273112B2 (ja) * | 2012-09-11 | 2018-01-31 | 株式会社半導体エネルギー研究所 | フリップフロップ回路および半導体装置 |
KR20150019872A (ko) * | 2013-08-16 | 2015-02-25 | 에스케이하이닉스 주식회사 | 시프트 레지스터 |
US10073944B2 (en) * | 2016-06-08 | 2018-09-11 | Synopsys, Inc. | Clock tree synthesis based on computing critical clock latency probabilities |
US10216880B1 (en) * | 2016-07-15 | 2019-02-26 | Cadence Design Systems, Inc. | Systems and methods for power efficient flop clustering |
KR102588078B1 (ko) * | 2016-11-21 | 2023-10-13 | 엘지디스플레이 주식회사 | 표시장치 |
US10198551B1 (en) * | 2017-08-18 | 2019-02-05 | Cadence Design Systems, Inc. | Clock cell library selection |
US11526650B1 (en) * | 2021-03-31 | 2022-12-13 | Cadence Design Systems, Inc. | Switching power aware driver resizing by considering net activity in buffering algorithm |
-
2010
- 2010-04-23 JP JP2010099822A patent/JP2011233559A/ja not_active Withdrawn
- 2010-11-24 US US12/954,530 patent/US20110260764A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20110260764A1 (en) | 2011-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011233559A (ja) | 半導体集積回路及びその設計方法 | |
US8427213B2 (en) | Robust time borrowing pulse latches | |
US10192860B2 (en) | Engineering change order (ECO) cell, layout thereof and integrated circuit including the ECO cell | |
US6396307B1 (en) | Semiconductor integrated circuit and method for designing the same | |
Moreira et al. | Impact of C-elements in asynchronous circuits | |
US10699054B2 (en) | Standard cell library, integrated circuit including synchronous circuit, and computing system for designing the integrated circuit | |
US9625938B2 (en) | Integrated differential clock gater | |
US6425115B1 (en) | Area efficient delay circuits | |
TWI754735B (zh) | 順序電路 | |
US11442103B2 (en) | Multibit vectored sequential with scan | |
KR20180035526A (ko) | 반도체 장치의 설계 방법 | |
Yuzhaninov et al. | Design flow and characterization methodology for dual mode logic | |
CN111693858A (zh) | 一种用于减少无附加电路的可扫描触发器中的功耗的方法 | |
KR20190041052A (ko) | 공통 클럭을 사용하는 플립플롭을 포함하는 전자 회로 | |
US20240223167A1 (en) | Process-voltage-temperature tolerant replica feedback pulse generator circuit for pulsed latch | |
JP4263841B2 (ja) | 半導体集積回路及び半導体集積回路設計方法 | |
US11967955B2 (en) | Fast clocked storage element | |
KR102563928B1 (ko) | 표준 셀 라이브러리, 동기 회로를 포함하는 집적 회로 및 집적 회로를 설계하기 위한 컴퓨팅 시스템 | |
EP4391377A1 (en) | Fast clocked storage element | |
JP5321185B2 (ja) | 半導体集積回路の設計方法、設計装置および、コンピュータプログラム | |
JP2012008093A (ja) | 半導体集積回路 | |
Tian | Transistor-Level Programmable Fabric | |
WO2007015479A1 (ja) | プログラマブル・ロジック・アレイ及びプログラマブル・ロジック・アレイモジュールジェネレータ | |
US20100242004A1 (en) | Method of semiconductor circuit device | |
JP2015023502A (ja) | 集積回路及びそれに用いられるフリップフロップ |
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: 20130702 |