JP3978222B2 - 半導体集積回路の設計方法 - Google Patents
半導体集積回路の設計方法 Download PDFInfo
- Publication number
- JP3978222B2 JP3978222B2 JP2006107776A JP2006107776A JP3978222B2 JP 3978222 B2 JP3978222 B2 JP 3978222B2 JP 2006107776 A JP2006107776 A JP 2006107776A JP 2006107776 A JP2006107776 A JP 2006107776A JP 3978222 B2 JP3978222 B2 JP 3978222B2
- Authority
- JP
- Japan
- Prior art keywords
- clock
- circuit
- semiconductor integrated
- integrated circuit
- path
- 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
Links
Images
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Description
本発明の第1の実施形態では、クロック回路に含まれる論理セルを、統一したサイズのトランジスタによって構成した半導体集積回路について説明する。図1は、本実施形態に係る半導体集積回路の構成を示す図である。図1に示す半導体集積回路は、第1のクロック回路11、第2のクロック回路12、第1のフリップフロップ13、組合せ回路14、および第2のフリップフロップ15を備えている。第1および第2のフリップフロップ13、15は、いずれも、与えられたクロック信号CKに同期して動作する。より詳細には、第1のクロック回路11は、クロック信号CKに基づき第1のクロック信号CK1を生成し、第1のフリップフロップ13は、第1のクロック信号CK1に同期して動作する。第2のクロック回路12および第2のフリップフロップ15は、これと同様に動作する。組合せ回路14は、第1のフリップフロップ13や図示しない他のフリップフロップに記憶された値に基づき、第2のフリップフロップ15に供給されるデータ入力信号を生成する。
Ms=(t2−t1)+T−td−ts …(1)
Mh=(t1−t2)+td−th …(2)
2のクロック回路12の遅延時間t2は、第1のクロック回路11の遅延時間t1よりも大きく変動する(図4(a)を参照)。したがって、チャネル幅の実測値が設計値よりも大きくなった場合(すなわち、ΔWが正である場合)には、第2のクロック回路12の遅延時間t2は、第1のクロック回路11の遅延時間t1よりも、より多く減少する。このため、上式(1)における(t2−t1)の値が小さくなり、第2のフリップフロップ15におけるセットアップマージンが不足する。一方、現実のチャネル幅が設計値よりも小さくなった場合(すなわち、ΔWが負である場合)には、第2のクロック回路12の遅延時間t2は、第1のクロック回路11の遅延時間t1よりも、より多く増加する。このため、上式(2)における(t1−t2)の値が小さくなり、第2のフリップフロップ15におけるホールドマージンが不足する。このように、クロック回路に含まれる論理セルがチャネル幅が統一されていないトランジスタによって構成されている場合、半導体集積回路の製造ばらつきにより、第2のフリップフロップ15ではタイミングエラーが発生しやすくなる。
本発明の第2の実施形態では、ある動作条件下で動作する回路ブロックを用いて、これとは異なる動作条件下で動作する半導体集積回路を設計する方法について説明する。まず、ある閾値電圧で動作する回路ブロックを用いて、これとは異なる閾値電圧で動作する半導体集積回路(図6)を設計する方法について説明する。図6に示す半導体集積回路30は、前半クロック回路31、回路ブロック32、第2の後半クロック回路35、および第2のフリップフロップ36を備え、ある閾値電圧(以下、第2の閾値電圧VT2という)で動作する。回路ブロック32は、第1の後半クロック回路33、および第1のフリップフロップ34を含み、元々、第2の閾値電圧VT2とは異なる閾値電圧(以下、第1の閾値電圧VT1という)で動作するように設計されていたものである。
ctual Property)コアとして設計された回路であってもよい。
本発明の第3の実施形態では、トランジスタの経年劣化に伴うクロック信号の遅延時間変動を考慮して、半導体集積回路を設計する方法について説明する。一般に、トランジスタは、所定の信号電圧が印加されている期間の長さに応じて劣化する。このため、トランジスタによって構成された回路の遅延時間は、時間の経過とともに長くなる。また、多く
のクロック信号では、信号がハイレベルである期間の長さと、信号がローレベルである期間の長さは同じである。したがって、クロック信号が所定の値に変化する回数(以下、トグル回数という)を数えれば、クロック信号が所定値である期間の長さを求めることができるので、これを用いて、クロック信号が入力される論理セルに含まれるトランジスタについて、どの程度劣化が進行するかを予め予測することができる。
TC=TX×FR×α …(3)
ただし、上式(3)において、TXはステップS201で決定した耐用時間、FRは与えられたクロック信号CKの周波数、αはクロック信号CKが変化したときにフリップフロップFXに供給されるクロック信号が変化する確率(以下、トグル確率という)を表す。トグル確率αは、半導体集積回路の仕様や動作条件などに基づき、算出あるいは推定される。トグル確率αは、例えば、論理シミュレーションによっても求めることもできる。
も小さくなるように、クロック回路にバッファなどを追加あるいは削除する処理や、データ入力信号を生成する回路を再設計する処理や、レイアウト結果を修正する処理などが行われる。
TC1≒(3.15×108)×(100×106)×1 =3.15×1016 …(4)
TC2≒(3.15×108)×(100×106)×1/10=3.15×1015 …(5)
は、各フリップフロップに供給されるクロック信号の遅延変動量の最悪値が設定される。このため、第1のフリップフロップ42と第2のフリップフロップ44との間のタイミング制約には、第1のクロック信号CK1の遅延時間t1の変動率5%と、第2のクロック信号CK2の遅延時間t2の変動率2%との最悪値である5%が、設計マージンとして設定される。
本発明の第4の実施形態では、クロック信号のトグル回数を数える機能を有する半導体集積回路について説明する。図11は、本実施形態に係る半導体集積回路の構成を示す図である。図11に示す半導体集積回路は、前半クロック回路51、第1〜第3の後半クロック回路52a〜c、第1〜第3の回路ブロック53a〜c、第1〜第3のトグル計数回路54a〜c、デコーダ55、および第1〜第3のトグル回数格納レジスタ56a〜cを備えている。第1〜第3の回路ブロック53a〜cは、いずれも、与えられたクロック信号CKに同期して動作する。より詳細には、前半クロック回路51と第1の後半クロック回路52aとは、クロック信号CKに基づき第1のクロック信号CK1を生成し、第1の回路ブロック53aは、第1のクロック信号CK1に同期して動作する。第2および第3の後半クロック回路52b、52c、並びに第2および第3の回路ブロック53b、53cも、これ同様に動作する。
このため、例えば、データバスDBUSは、トグル回数出力モードでは、半導体集積回路の外部入出力端子(図示せず)に接続される。あるいは、データバスDBUSに出力されたトグル回数は、データバスDBUSに接続されたレジスタに一旦格納され、当該レジスタ経由で半導体集積回路の外部に出力されることとしてもよい。このように、デコーダ55、第1〜第3のトグル回数格納レジスタ56a〜c、データバスDBUSなどの作用により、第1〜第3のトグル計数回路54a〜cで数えたトグル回数TC1〜3は、半導体集積回路の外部に出力される。
本発明の第5の実施形態では、クロック信号のトグル回数を調整する機能を有する半導体集積回路について説明する。図13は、本実施形態に係る半導体集積回路の構成を示す図である。図13に示す半導体集積回路は、前半クロック回路51、第1〜第3の後半クロック回路52a〜c、第1〜第3の回路ブロック53a〜c、第1〜第3のトグル計数回路54a〜c、およびトグル調整回路59を備えている。図13に示す構成要素のうち、図11と同じ構成要素については、同一の参照符号を付して説明を省略する。
、および第1〜第3のトグル計数回路54a〜cで数えたトグル回数TC1〜3が入力される。トグル調整回路59は、これらの入力信号に基づき、第1〜第3の回路ブロック53a〜cに供給されるクロック信号ck1〜3を生成する。
=c)に対して、調整クロック信号CK0を供給する。したがって、モード選択信号MODEを適宜ハイレベルに設定することにより、第1〜第3の回路ブロック53a〜cに供給されるクロック信号ck1〜3のトグル回数TC1〜3を、その最大値Mに近づけることができる。
本発明の第6の実施形態では、半導体集積回路に含まれるクロック回路を検証あるいは変更する方法について説明する。図17は、本実施形態に係る半導体集積回路の設計方法を示すフローチャートである。図17に示す手順は、論理レベルの設計を終え、タイミング調整を行う前の半導体集積回路に対して実行される。
本発明の第7の実施形態では、クロック経路の特性を考慮して、クロック回路を設計する方法について説明する。まず、クロック経路上に存在する論理セルの段数の差を考慮して、クロック回路を設計する方法を説明する。図19は、本実施形態に係る半導体集積回路の設計方法を示すフローチャートである。図19に示す手順は、論理レベルの設計を終え、タイミング調整を行う前の半導体集積回路に対して実行される。
テップS403)。ここで、段数差1段あたり50ピコ秒の設計マージンを設定することとすると、この場合の設計マージンは50ピコ秒となる。そこで、求めた値50ピコ秒を、クロック経路の差を吸収するための設計マージンとして、第1のフリップフロップ82と第2のフリップフロップ84との間のタイミング制約に設定する(ステップS404)。次に、50ピコ秒の設計マージンを設定した後のタイミング制約に従って、第1および第2のフリップフロップ82、84にクロック信号およびデータ入力信号を供給するクロック回路について、タイミング調整を行う(ステップS405)。
MG=1.0×2+1.2×1=3.2 …(6)
したがって、第1および第2のフリップフロップ82、84に信号を供給する回路のタイミング調整は、求めた値3.2%をクロック経路の差を吸収するための設計マージンとして設定したタイミング制約に従って行われる。
mg=Σ(di×mi) …(7)
ただし、上式(7)において、diおよびmiは、それぞれクロック経路上に存在するi番目の配線の遅延時間および配線マージンであり、記号Σは1本のクロック経路について総和を求めることを表す。配線マージンmiは、配線の種類に応じて、例えば、1倍幅配線は0.8、2倍幅配線は0.4、3倍幅配線は0.1などのように決定される。
mg1=(d11+d12)×0.1+ d13 ×0.4+(d14+d15)×0.8 …(8)
mg2=(d21+d22)×0.1+(d23+d24)×0.4+(d25+d26)×0.8 …(9)
MGS=(d11+d12+d21+d22)×0.1+(d13+d23+d24)×0.4
+(d14+d15+d25+d26)×0.8 …(10)
したがって、第1および第2のフリップフロップ82、84にクロック信号およびデータ入力信号を供給する回路のタイミング調整は、上式(10)によって算出される値をクロック経路の差を吸収するための設計マージンとして設定したタイミング制約に従って行われる。
13、15、34、36、42、44、82、84…フリップフロップ
14…組合せ回路
16、17…論理セル
21、23、24…拡散領域
22…ポリシリコン領域
25…不要な拡散領域
30、70…半導体集積回路
32、53…回路ブロック
45、73…ANDゲート
54…トグル計数回路
55…デコーダ
56、58…トグル回数格納レジスタ
57、62…セレクタ
59…トグル調整回路
61…比較回路
71…水晶振動子
72…クロック生成回路
CK、CK1〜CK3、ck1〜ck3…クロック信号
CEN、CEN2、CEN3…クロックイネーブル信号
TC1〜TC3…トグル回数
DBUS…データバス
EN1〜EN3…イネーブル信号
CK0…調整クロック信号
MODE…モード選択信号
S1〜S3…選択制御信号
Claims (4)
- 第1及び第2の記憶セルと、1以上の論理セルを含む第1及び第2のクロック回路とを少なくとも備え、前記第1及び第2のクロック回路に供給されるクロック信号に同期して動作する半導体集積回路の設計方法であって、
前記第1のクロック回路を経由して前記第1の記憶セルに至る第1のクロック経路と、前記第2のクロック回路を経由して前記第2の記憶セルに至る第2のクロック経路とについて、含まれている論理セルの種類毎の個数及び論理セルの段数のいずれかを含むクロック経路特性を求めるステップと、
前記第1及び第2のクロック経路の各々について求められた前記クロック経路特性の差に基づき、前記第1及び第2のクロック回路の製造ばらつきに起因して生じ得る前記第1及び第2の記憶セルへのクロック到着時間の変動量の予測値を求めるステップと、
前記求められた予測値を用いて、前記第1及び第2の記憶セル間のタイミング制約を補正するステップと、
前記補正されたタイミング制約に従って、前記第1及び第2の記憶セルに前記クロック信号またはデータ入力信号を供給する回路についてタイミング調整を行うステップとを備え、
前記タイミング調整を行うステップは、前記第1及び第2のクロック回路にバッファを追加あるいは削除する処理、前記データ入力信号を供給する回路を再設計する処理、レイアウト結果を修正する処理の少なくとも1つを含む、半導体集積回路の設計方法。 - 前記クロック経路特性を求めるステップにおいて、前記第1及び第2のクロック経路上に存在する前記論理セルの段数を求め、
前記クロック到着時間の変動量の予測値を求めるステップにおいて、前記第1のクロック経路上に存在する論理セルの段数と、前記第2のクロック経路上に存在する論理セルの段数との差に基づき、前記クロック到着時間の変動量の予測値を求めることを特徴とする、請求項1に記載の半導体集積回路の設計方法。 - 前記クロック経路特性を求めるステップにおいて、前記第1及び第2のクロック経路上に存在する前記論理セルの種類毎の個数を求め、
前記クロック到着時間の変動量の予測値を求めるステップにおいて、前記第1のクロック経路上に存在する論理セルの種類ごとの個数と、前記第2のクロック経路上に存在する論理セルの種類ごとの個数との差に基づき、前記クロック到着時間の変動量の予測値を求めることを特徴とする、請求項1に記載の半導体集積回路の設計方法。 - 第1及び第2の記憶セルと、1以上の論理セルを含む第1及び第2のクロック回路とを少なくとも備え、前記第1及び第2のクロック回路に供給されるクロック信号に同期して動作する半導体集積回路の設計方法であって、
前記第1のクロック回路を経由して前記第1の記憶セルに至る第1のクロック経路と、前記第2のクロック回路を経由して前記第2の記憶セルに至る第2のクロック経路とについて、配線の種類を求めるステップと、
前記第1のクロック経路上に存在する配線の種類毎に設定される配線遅延時間と、前記配線の種類毎に設定され、前記配線の製造ばらつきが前記配線遅延時間に及ぼす影響の程度を示す係数とを用いて、前記第1のクロック経路上に存在する全ての配線の配線遅延時間の変動量の和である第1の部分和を求め、前記第2のクロック経路上に存在する配線の種類毎に設定される配線遅延時間と、配線の製造ばらつきの程度を示す前記係数とを用いて、前記第2のクロック経路上に存在する全ての配線の配線遅延時間の変動量の和である第2の部分和を求め、前記求められた第1及び第2の部分和を加算して、前記第1及び第2のクロック経路について、前記第1及び第2のクロック回路の製造ばらつきに起因して生じ得る配線遅延時間の変動量の予測値を求めるステップと、
前記求められた配線遅延時間の変動量の予測値を用いて、前記第1及び第2の記憶セル間のタイミング制約を補正するステップと、
前記補正されたタイミング制約に従って、前記第1及び第2の記憶セルに前記クロック信号またはデータ入力信号を供給する回路についてタイミング調整を行うステップとを備え、
前記タイミング調整を行うステップは、前記第1及び第2のクロック回路にバッファを追加あるいは削除する処理、前記データ入力信号を供給する回路を再設計する処理、レイアウト結果を修正する処理の少なくとも1つを含む、半導体集積回路の設計方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006107776A JP3978222B2 (ja) | 2006-04-10 | 2006-04-10 | 半導体集積回路の設計方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006107776A JP3978222B2 (ja) | 2006-04-10 | 2006-04-10 | 半導体集積回路の設計方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003322171A Division JP2005093563A (ja) | 2003-09-12 | 2003-09-12 | 半導体集積回路およびその設計方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006270983A JP2006270983A (ja) | 2006-10-05 |
JP3978222B2 true JP3978222B2 (ja) | 2007-09-19 |
Family
ID=37206363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006107776A Expired - Fee Related JP3978222B2 (ja) | 2006-04-10 | 2006-04-10 | 半導体集積回路の設計方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3978222B2 (ja) |
-
2006
- 2006-04-10 JP JP2006107776A patent/JP3978222B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006270983A (ja) | 2006-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170061057A1 (en) | Integrated circuit design method reducing clock power and integrated clock gater merged with flip-flops | |
US20060253823A1 (en) | Semiconductor integrated circuit and method for designing same | |
US7904865B2 (en) | Placement driven routing | |
JP5397083B2 (ja) | 回路設計支援方法、回路設計支援装置および回路設計支援プログラム | |
US8255851B1 (en) | Method and system for timing design | |
US9171112B2 (en) | Semiconductor hold time fixing | |
TW201435629A (zh) | 工程變更之保持時間修復方法 | |
WO2016171974A1 (en) | Methods and apparatuses for command shifter reduction | |
CN112069763A (zh) | 修正电路的方法 | |
JP2010026716A (ja) | キャッシュメモリ制御回路及びプロセッサ | |
US10802721B2 (en) | Memory devices configured to latch data for output in response to an edge of a clock signal generated in response to an edge of another clock signal | |
JP2006146601A (ja) | 半導体集積回路のレイアウト設計方法 | |
US10354029B2 (en) | Method for equipping registers of an integrated circuit to detect timing violations | |
JP3978222B2 (ja) | 半導体集積回路の設計方法 | |
US8453090B2 (en) | System and method for optimizing logic timing | |
JP2006270109A (ja) | 半導体集積回路の設計方法 | |
JP2006313894A (ja) | 半導体集積回路およびその設計方法 | |
JP2004280439A (ja) | クロストークノイズ検出方法、並びに半導体集積回路の設計方法及び設計検証方法 | |
JP5338919B2 (ja) | 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置 | |
JP5471437B2 (ja) | 半導体集積回路装置およびキャッシュメモリ制御方法 | |
Lu et al. | Register on MEsh (ROME): A novel approach for clock mesh network synthesis | |
US10747924B2 (en) | Method for manufacturing integrated circuit with aid of pattern based timing database indicating aging effect | |
US7480607B2 (en) | Circuit design verification | |
US8392778B2 (en) | Clock domain check method, clock domain check program, and recording medium | |
JP5533424B2 (ja) | 集積回路装置及び集積回路装置のスキュー調整方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060802 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070227 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070426 |
|
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: 20070530 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070622 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100629 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100629 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110629 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |