JP3851300B2 - 半導体集積回路装置 - Google Patents

半導体集積回路装置 Download PDF

Info

Publication number
JP3851300B2
JP3851300B2 JP2003276686A JP2003276686A JP3851300B2 JP 3851300 B2 JP3851300 B2 JP 3851300B2 JP 2003276686 A JP2003276686 A JP 2003276686A JP 2003276686 A JP2003276686 A JP 2003276686A JP 3851300 B2 JP3851300 B2 JP 3851300B2
Authority
JP
Japan
Prior art keywords
block
gated clock
circuit
hierarchy
gated
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.)
Expired - Fee Related
Application number
JP2003276686A
Other languages
English (en)
Other versions
JP2004005724A (ja
Inventor
達史 大山
英樹 山内
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2003276686A priority Critical patent/JP3851300B2/ja
Publication of JP2004005724A publication Critical patent/JP2004005724A/ja
Application granted granted Critical
Publication of JP3851300B2 publication Critical patent/JP3851300B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)

Description

この発明は、半導体集積回路装置に関する。
近年、電子機器などに用いられる半導体集積回路装置には、小型化、軽量化、省電力化およびコストの削減が要求されている。そして、このような要求を考慮して、メモリや各種の論理回路を1つのチップ上に設けたシステムLSIが開発されている。このようなシステムLSIに対応した設計技術として、従来、ある機能を実現する多くのセルを含む回路ブロック(機能ブロック(IP)とも呼ばれる)を基本単位として設計を行う設計方法が知られている。また、このような回路ブロックを基本単位として設計を行う方法のうち、回路ブロックを基本単位として階層構造を作ることにより設計を行う設計方法も知られている。
また、上記した回路ブロックを基本単位として階層構造を作ることにより設計を行う設計方法において、消費電力を削減する設計方法として、たとえば、クロックを必要なときだけオンするゲートを用いたゲーテッドクロックを使用する方法も提案されている(たとえば、非特許文献1参照)。
また、上記した回路ブロックを基本単位とする半導体集積回路装置の設計方法として、1つの階層内のブロック間で共有できる部分を共有することにより電力を削減する設計方法が開示されている(たとえば、特許文献1参照)。
日経マイクロデバイス別冊「低電力LSIの技術白書」(日経BP社1994年発行)の80頁 特開2000−123059号公報
しかしながら、上記公報には、1つの階層内での消費電力削減に関する設計方法のみが開示されており、階層構造を有する場合の消費電力削減に関する設計方法については何ら開示されていない。このため、従来では、階層構造を有する複数の回路ブロックを含む半導体集積回路装置の設計においては、消費電力を軽減するための簡易な設計方法を提供するのは困難であった。特に、3つ以上の階層構造を有する場合には、階層構造が複雑になるので、消費電力削減に関する簡易な設計方法を提供するのは困難であった。このため、従来では、3つ以上の階層構造を有する場合に、低消費電力の半導体集積回路装置を簡単な方法で設計するのは困難であった。
また、従来、階層構造を有する場合に、消費電力削減のためのゲーテッドクロ
ックを採用しようとすると、ゲーテッドクロックの構成が複雑になるという問題点もあった。特に、3層以上の階層構造を有する場合には、階層構造が複雑になるので、この傾向が著しい。また、従来では、各回路ブロックの組み合わせを変えるような設計変更や階層構造を変更する設計変更を行う場合、1からゲーテッドクロックの構成を設計しなおす必要があった。このため、従来では、設計変更を行う場合に、ゲーテッドクロックの構成を簡単に設計するのは困難であった。
この発明は上記のような課題を解決するためになされたものであり、この発明の目的は、階層構造を有する場合に、消費電力削減のためのゲーテッドクロックを簡単な手法で選択することによって、容易に、低消費電力の半導体集積回路装置を得ることである。
請求項1による半導体集積回路装置は、第1のブロックと、第1のブロックの領域内に形成された第2のブロックと、第2のブロックの領域内に形成された第3のブロックとを有し、第2のブロックは、第1のブロックで生成された動作制御信号により制御され、第3のブロックは、第2のブロックで生成された動作制御信号により制御され、第3のブロックに入力されるゲーテッドクロックとして、第1および第2のブロックで生成される前記動作制御信号をゲート信号として生成した少なくとも2つのゲーテッドクロック、および、第1のブロックに入力される所定のゲーテッドクロックからなるグループより選択される1つのゲーテッドクロックを用いることを特徴とする。
請求項1では、上記のように構成することによって、動作制御信号と、第1のブロックに入力される所定のゲーテッドクロックとに基づいて、消費電力を軽減するための複数のゲーテッドクロックが、機械的に簡単に決定される。そして、その複数のゲーテッドクロックの中から所定の回路制約を満足する1つのゲーテッドクロックを選択すれば、第2のブロックが第1のブロックの領域内に形成されており、第3のブロックが第2のブロックの領域内に形成されている場合においても、容易に低消費電力の半導体集積回路装置を得ることができる。
請求項2による半導体集積回路装置は、請求項1の構成において、第1のブロックには、ゲーテッドクロックとしてマスタークロックが入力され、第2のブロックには、ゲーテッドクロックとして、第1のブロックで生成した動作制御信号をゲート信号として生成したゲーテッドクロック、および、マスタークロックのうちいずれかが入力されることを特徴とする。請求項3では、このように構成することによって、第1および第2のブロックに入力される消費電力軽減のためのゲーテッドクロックを容易に選択することができる。
請求項3による半導体集積回路装置は、請求項1又は2に記載の構成において、第3のブロックには、上記グループに含まれる複数のゲーテッドクロックのうち、所定の回路上の制約を満足する1つのゲーテッドクロックが入力されることを特徴とする。請求項4では、このように構成することによって、第3のブロックには、所定の回路上の制約を満足する1つのゲーテッドクロックが入力されるので、半導体集積回路装置において、簡単に、所定の回路上の制約を満足する最適化されたゲーテッドクロックを供給することができる。
以上のように、本発明によれば、階層構造を有する回路ブロックを含む半導体集積回路装置において、消費電力を軽減するためのゲーテッドクロックを簡単に選択することができるので、容易に、低消費電力の半導体集積回路装置を得ることができる。
以下、本発明を具体化した実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態による3つの階層構造を有する半導体集積回路装置の構成を示したブロック図である。また、図2は、図1に示した第3階層の回路ブロックの内部構成および信号を説明するためのブロック図である。図3は、図2に示した第3階層の回路ブロックの内部をブラックボックスとして表した場合のブロック図である。また、図4は、図1に示したゲーテッドクロック生成部の詳細構成を示したブロック図である。図5は、図4のゲーテッドクロック生成部のクロック生成動作を説明するためのタイミング図である。
まず、図1を参照して、本発明の一実施形態による半導体集積回路装置は、3つの階層構造を有する複数の回路ブロック1〜4を備えている。最上位階層である第1階層の回路ブロック(Class1)1の下位階層として、第2階層の回路ブロック(Class1_2)2と、第2階層の回路ブロック(Class1_1)3とが設けられている。また、第2階層の回路ブロック(Class1_1)3の下位階層として、第3階層の回路ブロック(Class1_1_1)4が設けられている。
各回路ブロック1〜4には、ゲーテッドクロック生成部5から1本ずつゲーテッドクロックが供給される。また、第2階層の回路ブロック2には、第1階層の回路ブロック1から動作制御信号CTL1_2が出力される。また、第2階層の回路ブロック3には、第1階層の回路ブロック1から動作制御信号CTL1_1が出力される。また、第3階層の回路ブロック4には、第2階層の回路ブロック3から動作制御信号CTL1_1_1が出力される。このように、各階層ごとに、上位階層から下位階層に動作制御信号が出力される。これにより、上位階層の回路ブロックが動作中にのみその下位階層の回路ブロックが動作する構造としている。
最下位階層である第3階層の回路ブロック4は、図2に示すように、データを保持するためのフリップフロップ42と、動作制御信号に基づいてフリップフロップ42に新規入力データをラッチするかどうかを選択するためのセレクタ41とを含んでいる。セレクタ41には、入力信号と、動作制御信号CTL1_1_1とが入力される。また、フリップフロップ42には、セレクタ41からの信号と、ゲーテッドクロックCLK1_1_1とが入力される。
動作としては、動作制御信号CTL1_1_1がオンの場合のみ、入力信号をセレクタ41によりフリップフロップ42にラッチさせて保持する。動作制御信号CTL1_1_1がオフの場合には、フリップフロップ42は保持している値を出力するだけで良い。本実施形態では、他の回路ブロック1〜3も、図2に示した第3階層の回路ブロック4と同様の構成を有している。
図2に示した第3階層の回路ブロック4の内部をブラックボックスとして表すと図3に示すようになる。一般に、各階層の回路ブロック1〜4は、図3に示すように表される。
図2および図3に示した第3階層の回路ブロック4では、上記したように、動作制御信号CTL1_1_1がオフのときは、フリップフロップ42は保持している値を出力するだけで良いので、この場合にはクロックを供給をする必要がない。このような場合、電力削減のため、動作に必要なときだけクロックを供給する方法として、本実施形態では、ゲーテッドクロックが用いられる。ゲーテッドクロック生成部5は、図4に示すように、フリップフロップ51とAND回路52とを含んでいる。
フリップフロップ51の一方の入力端には、動作制御信号と等価なゲート信号、または、ゲーテッドクロックとしてのマスタークロックと等価なクロックを出力するためのゲート信号(たとえば、常に「1」の信号)が入力される。また、フリップフロップ51の他方の入力端には、マスタークロックが入力される。AND回路52には、マスタークロックと、フリップフロップ51の出力とが入力される。これにより、AND回路52からゲーテッドクロックが出力される。図4には、図1に示した第3階層の回路ブロック4に入力されるゲーテッドクロックCLK1_1_1が生成される例が示されている。この場合、ゲート信号としては、動作制御信号CTL1_1_1と等価なゲート信号GT1_1_1を用いる。たとえば、この時の信号のタイミングは、図5に示すようになる。
本実施形態の3階層構造を有するブロック構成の場合、図1に示すように、各回路ブロック1〜4ごとに個別にゲーテッドクロックを供給する。このとき、各回路ブロック1〜4につき、1本のゲーテッドクロックを供給する。本実施形態では、各回路ブロック1〜4に供給するゲーテッドクロックが2本ある場合には、回路ブロックを分けることによって、上記1本のゲーテッドクロックのルールを守れるようにする。
本実施形態では、各回路ブロック1〜4に、以下のようなゲーテッドクロックを供給する。
まず、最上位階層である第1階層の回路ブロック(Class1)1には、図1に示すように、ゲーテッドクロックとして、マスタークロック(MCLK)を供給する。また、第1階層の下位階層である第2階層の回路ブロック(Class1_2)2には、動作制御信号CTL1_2をゲート信号として生成されるゲーテッドクロックCLK1_2、または、マスタークロック(MCLK)を供給する。また、第2階層の回路ブロック(Class1_1)3には、動作制御信号CTL1_1をゲート信号として生成されるゲーテッドクロックCLK1_1、または、マスタークロック(MCLK)を供給する。
また、第3階層の回路ブロック(Class1_1_1)4には、動作制御信号CTL1_1_1をゲート信号として生成されるゲーテッドクロックCLK1_1_1、その上位階層の動作制御信号CTL1_1をゲート信号として生成されるゲーテッドクロックCLK1_1、または、マスタークロック(MCLK)を供給する。
図6は、図1に示した第3階層の回路ブロックに対するゲーテッドクロックを選択する際の方法を説明するための概略図である。図6を参照して、次に、第3階層の回路ブロック4において、上記した3つのゲーテッドクロック(CLK1_1_1、CLK1_1、MCLK)の中から、1つのゲーテッドクロックを選択する手順について説明する。
まず、第3階層の回路ブロック4に入力される動作制御信号CTL1_1_1をゲート信号として生成されるゲーテッドクロックCLK1_1_1が次のような回路上の制約を満足しているかどうかを調べる。たとえば、1つのゲーテッドクロックで動作するフリップフロップが回路制約による所定の数(M)以上あるかどうかを調べる。上記制約を満たしている場合は、そのゲーテッドクロックCLK1_1_1を、図6に示すように、第3階層の回路ブロック4に接続する。そして、ゲーテッドクロックCLK1_1_1が上記の回路制約を満たしていない場合には、そのゲーテッドクロックCLK1_1_1を、その上位階層のゲーテッドクロックCLK1_1に置き換える。
すなわち、ゲーテッドクロックCLK1_1_1は、本来第3階層の回路ブロック4に供給されるゲーテッドクロックであるが、上記制約に違反している場合は、その上位階層のゲーテッドクロックCLK1_1に置き換える。さらに、必要であれば、最上位階層のゲーテッドクロックであるマスタークロック(MCLK)に置き換える。その後、不要となったゲーテッドクロックは抹消する。
上記のような設計方法を用いることによって、階層構造を有するブロックベースの設計方法において、自動的に回路制約を満たすゲーテッドクロックを生成することができる。
なお、第2階層の回路ブロック(Class1_2)2についても、本来この回路ブロック2に供給されるゲーテッドクロックCLK1_2が回路制約を満足するかどうかを調べる。そして、回路制約を満足している場合には、そのゲーテッドクロックCLK1_2を第2階層の回路ブロック2に供給する(図1参照)。そのゲーテッドクロックCLK1_2が回路制約に違反する場合には、マスタークロック(MCLK)に置き換える。また、第2階層の回路ブロック(Class1_1)3についても、本来この回路ブロック3に供給されるゲーテッドクロックCLK1_1が回路制約を満足するかどうかを調べる。そして、回路制約を満足している場合には、そのゲーテッドクロックCLK1_1を第2階層の回路ブロック3に供給する。そのゲーテッドクロックCLK1_1が所定の回路制約を満足していない場合には、マスタークロック(MCLK)に置き換える。
本実施形態では、上記のように、第3階層の回路ブロック4に入力されるゲーテッドクロックとして、異なる階層に出力される2つの動作制御信号CTL1_1_1およびCTL1_1をゲート信号として生成したゲーテッドクロックおよびマスタークロックのうちのいずれか1つのゲーテッドクロックを用いることによって、消費電力を軽減するための複数のゲーテッドクロックを機械的に簡単に決定することができる。それにより、その複数のゲーテッドクロックの中から所定の回路制約を満足する1つのゲーテッドクロックを選択すれば、容易に、低消費電力の半導体集積回路装置を得ることができる。
また、最上位階層である第1階層の回路ブロック1には、マスタークロックを供給するとともに、第2階層の回路ブロック2および3には、動作制御信号に対応するゲーテッドクロックまたはマスタークロックを供給することによって、第1階層の回路ブロック1と、第2階層の回路ブロック2および3とに供給する消費電力軽減のためのゲーテッドクロックを容易に選択することができる。
また、回路ブロックの組み合わせを変更するような設計変更や階層構造を変更するような設計変更を行う場合にも、動作制御信号と最上位階層に入力されるマスタークロックとに基づいて、容易に、各回路ブロック1〜4に入力するゲーテッドクロックを選択することができる。その結果、設計変更を行う場合にも、簡単に対処することができる。
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
たとえば、上記実施形態では、3つの階層構造を有する回路ブロックを備えた半導体集積回路装置を例にとって説明したが、本発明はこれに限らず、4つ以上の階層構造を有する場合にも同様に適用可能である。この場合、第1階層から第3階層の回路ブロックについては、上記実施形態と同様のゲーテッドクロックを選択して供給する。そして、第4階層以下のブロックには、その階層に入力される動作制御信号および上位階層の動作制御信号ならびにマスタークロックの中から所定の回路制約を満足するゲーテッドクロックを選択して供給する。なお、第4階層以下の下位階層の回路ブロックについては、上記した第3階層の回路ブロック4の場合と同様の方法を用いて、回路制約を満たすゲーテッドクロックを自動的に選択することができる。
また、上記実施形態では、1つのゲーテッドクロックで動作するフリップフロップが所定の数(M)以上あるという回路制約を例にとって説明したが、本発明はこれに限らず、状況に応じて他の回路制約を用いてもよい。たとえば、上記したフリップフロップの数に関する回路制約に加えて、ゲーテッドクロックの種類の総数が所定の数(N)以下であるという回路制約を加えてもよい。
また、上記実施形態では、各回路ブロック1〜4に1本ずつのゲーテッドクロックを供給する例を示したが、本発明はこれに限らず、各回路ブロックに複数本のゲーテッドクロックを供給するようにしてもよい。
また、上記実施形態では、各回路ブロック2〜4に動作制御信号を1つずつ入力する例を示したが、本発明はこれに限らず、各回路ブロックに複数の動作制御信号を入力するようにしてもよい。
本発明の一実施形態による3つの階層構造を有する回路ブロックを含む半導体集積回路装置の構成を示したブロック図である。 図1に示した第3階層の回路ブロックの内部構成および信号を説明するためのブロック図である。 図2に示した第3階層の回路ブロックの内部構成をブラックボックスにした場合のブロック図である。 図1に示したゲーテッドクロック生成部の詳細構成を示したブロック図である。 図4に示したゲーテッドクロック生成部の動作を説明するためのタイミング図である。 図1に示した第3階層の回路ブロックに対するゲーテッドクロックを選択する際の方法を説明するための概略図である。
符号の説明
1 第1階層の回路ブロック(Class1)
2 第2階層の回路ブロック(Class1_2)
3 第2階層の回路ブロック(Class1_1)
4 第3階層の回路ブロック(Class1_1_1)
5 ゲーテッドクロック生成部
41 セレクタ
42 フリップフロップ
51 フリップフロップ
52 AND回路

Claims (3)

  1. 第1のブロックと、
    前記第1のブロックの領域内に形成された第2のブロックと、
    前記第2のブロックの領域内に形成された第3のブロックとを有し、
    前記第2のブロックは、第1のブロックで生成された動作制御信号により制御され、
    前記第3のブロックは、第2のブロックで生成された動作制御信号により制御され、
    前記第3のブロックに入力されるゲーテッドクロックとして、第1および第2のブロックで生成される前記動作制御信号をゲート信号として生成した少なくとも2つのゲーテッドクロック、および、第1のブロックに入力される所定のゲーテッドクロックからなるグループより選択される1つのゲーテッドクロックを用いる、半導体集積回路装置。
  2. 前記第1のブロックには、ゲーテッドクロックとしてマスタークロックが入力され、
    前記第2のブロックには、ゲーテッドクロックとして、前記第1のブロックで生成した動作制御信号をゲート信号として生成したゲーテッドクロック、および、前記マスタークロックのうちいずれかが入力される、請求項1に記載の半導体集積回路装置。
  3. 前記第3のブロックには、前記グループに含まれる複数のゲーテッドクロックのうち、所定の回路上の制約を満足する1つのゲーテッドクロックが入力される、請求項1又は2に記載の半導体集積回路装置。
JP2003276686A 2003-07-18 2003-07-18 半導体集積回路装置 Expired - Fee Related JP3851300B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003276686A JP3851300B2 (ja) 2003-07-18 2003-07-18 半導体集積回路装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003276686A JP3851300B2 (ja) 2003-07-18 2003-07-18 半導体集積回路装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000375490A Division JP3485885B2 (ja) 2000-12-11 2000-12-11 半導体集積回路装置の設計方法

Publications (2)

Publication Number Publication Date
JP2004005724A JP2004005724A (ja) 2004-01-08
JP3851300B2 true JP3851300B2 (ja) 2006-11-29

Family

ID=30438647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003276686A Expired - Fee Related JP3851300B2 (ja) 2003-07-18 2003-07-18 半導体集積回路装置

Country Status (1)

Country Link
JP (1) JP3851300B2 (ja)

Also Published As

Publication number Publication date
JP2004005724A (ja) 2004-01-08

Similar Documents

Publication Publication Date Title
CN104937596B (zh) 用于3d集成电路的时钟分布网络
US20030015773A1 (en) Semiconductor device
JP2009038072A (ja) 半導体集積回路及びその開発方法
KR102601216B1 (ko) 반도체 장치의 설계 방법
JP2008028930A (ja) 半導体集積回路及びその設計方法
US20090113370A1 (en) Layout designing method for semiconductor device and layout design supporting apparatus for the same
US8086989B2 (en) Structure for glitchless clock multiplexer optimized for synchronous and asynchronous clocks
US6425115B1 (en) Area efficient delay circuits
JP2007300067A (ja) 半導体集積回路装置およびその設計方法
JP2007294015A (ja) 半導体集積回路、及びbist回路設計方法
JP3629250B2 (ja) 半導体集積回路のレイアウト方法及び半導体集積回路
US20040217479A1 (en) Semiconductor device and design method thereof
KR100427004B1 (ko) 반도체 집적 회로 장치 및 그 설계 방법
JP3851300B2 (ja) 半導体集積回路装置
US7260804B1 (en) Method for circuit block routing based on switching activity
JP4471582B2 (ja) 半導体集積回路及び回路設計装置
US7260807B2 (en) Method and apparatus for designing an integrated circuit using a mask-programmable fabric
KR20110094767A (ko) 반도체 집적 회로 장치 및 그 설계 방법
JP2007103662A (ja) 半導体集積回路およびその製造方法
US7284217B2 (en) Method of LSI designing and a computer program for designing LSIS
JP2005116793A (ja) 半導体集積回路及びそのクロック配線方法
JP2006261458A (ja) クロックツリー安定化装置、および半導体装置
JP2006269900A (ja) 半導体集積回路の設計方法
Gopalakrishnan Energy Reduction for Asynchronous Circuits in SoC Applications
JP2008242918A (ja) 半導体集積回路の設計装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051222

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20051227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20060110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060215

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: 20060822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060831

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

Free format text: PAYMENT UNTIL: 20100908

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100908

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110908

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120908

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130908

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees