JP2005093563A - 半導体集積回路およびその設計方法 - Google Patents

半導体集積回路およびその設計方法 Download PDF

Info

Publication number
JP2005093563A
JP2005093563A JP2003322171A JP2003322171A JP2005093563A JP 2005093563 A JP2005093563 A JP 2005093563A JP 2003322171 A JP2003322171 A JP 2003322171A JP 2003322171 A JP2003322171 A JP 2003322171A JP 2005093563 A JP2005093563 A JP 2005093563A
Authority
JP
Japan
Prior art keywords
clock
circuit
semiconductor integrated
integrated circuit
clock 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
Application number
JP2003322171A
Other languages
English (en)
Other versions
JP2005093563A5 (ja
Inventor
Yoichi Matsumura
陽一 松村
Takako Ohashi
貴子 大橋
Katsuya Fujimura
克也 藤村
Chihiro Ito
千尋 伊藤
Hiroki Taniguchi
博樹 谷口
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003322171A priority Critical patent/JP2005093563A/ja
Priority to US10/817,959 priority patent/US20050060676A1/en
Priority to CNA2006101540040A priority patent/CN1916921A/zh
Priority to CNA2006101540055A priority patent/CN1916922A/zh
Priority to CNA2004100351907A priority patent/CN1595638A/zh
Publication of JP2005093563A publication Critical patent/JP2005093563A/ja
Publication of JP2005093563A5 publication Critical patent/JP2005093563A5/ja
Priority to US11/482,851 priority patent/US20060253822A1/en
Priority to US11/482,852 priority patent/US20060253823A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/35Delay-insensitive circuit design, e.g. asynchronous or self-timed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】 製造ばらつきが発生しても、フリップフロップにおいてタイミングエラーが発生しにくい半導体集積回路を提供する。
【解決手段】 第1のクロック回路11に含まれる論理セル16と、第2のクロック回路12に含まれる論理セル17とを、統一されたサイズのトランジスタを用いて構成する。製造ばらつきが発生した場合でも、第1のクロック回路11の遅延時間t1と第2のクロック回路の遅延時間t2とは同じように変動するので、第2のフリップフロップ15でタイミングエラーが生じやすくなることがない。各クロック回路に含まれる論理セルを、矩形状に統一された拡散領域を有するトランジスタによって構成してもよい。
【選択図】 図1

Description

本発明は、クロック信号に同期して動作する半導体集積回路、およびその設計方法に関する。
ロジック回路を含んだ半導体集積回路の多くは、外部から供給されたクロック信号、あるいは、外部から供給された信号に基づき内部で生成したクロック信号に同期して動作する。一般に半導体集積回路は、複数のフリップフロップと、与えられたクロック信号に基づき各フリップフロップに供給されるクロック信号を生成する回路(以下、クロック回路という)とを備えている。半導体集積回路を正しく動作させるためには、各フリップフロップにクロック信号を正しく供給することが必要である。また、半導体集積回路の消費電力を低減するためには、動作させない回路ブロックに対するクロック信号の供給を停止することが有効である。このため、クロック回路の構成やクロック信号の供給方法は、半導体集積回路の設計上の重要な課題であると認識されている。
クロック回路を解析するときには、クロック回路のうちで、クロック信号が流れる経路(以下、クロック経路という)とクロック経路上に存在する論理セルとに着目し、その部分をクロックツリーとして解析することが、広く行われている。このクロックツリー解析では、与えられたクロック信号が各フリップフロップに到達するまでの時間などが算出される。その後、クロックツリーの解析結果に基づき、クロックスキュー(与えられたクロック信号が各フリップフロップに到達するまでの時間の差)が所定の許容値よりも小さくなるように、クロック回路にバッファなどを追加あるいは削除する処理や、レイアウト結果を修正する処理などが行われる。
半導体集積回路におけるクロック信号の供給については、従来から、種々の技術が知られている。このうち、本発明と関連性を有する技術としては、例えば、特許文献1〜3に記載されたものがある。特許文献1には、1ビットのコンパレータを1個おきに天地逆向きにレイアウトした全並列型A/D変換器が記載されている。特許文献2には、閾値電圧を変更できるインバータが記載されている。特許文献3には、多層配線層の最下層を用いてクロック信号を配線することが記載されている。
特開昭62−190747号公報 特開平4−284020号公報 特開2000−68380号公報
しかしながら、回路の微細化および低電圧化の進行に伴い、半導体集積回路におけるクロック信号の供給については、従来よりも高いレベルの技術が要求されるようになっている。例えば、微細化の進行に伴い、クロック回路に含まれる論理セルを構成するトランジスタのサイズは小さくなっていので、クロック回路の遅延時間は、従来よりも製造ばらつきの影響を受けやすくなっている。また、微細化の進行に伴い、クロック回路の規模が大きくなっているので、クロックツリー解析やクロック回路の設計変更に、従来よりも時間がかかるようになっている。また、微細化および低電圧化の進行に伴い、クロック回路の回路規模は大きくなるのに対して、クロック回路に含まれる論理セル1段あたりの遅延時間は減少するので、クロック回路の設計では、従来よりも適切な設計マージンを設定することが必要になっている。また、最近では、経年劣化に伴う遅延時間変動を見込んだ回路設計も行われているが、クロック信号は最も頻繁に変化する信号の1つであるから、クロック信号の経年劣化に伴う遅延時間変動を正しく評価した上で、半導体集積回路を設計することが必要になっている。
それ故に、本発明は、クロック信号の供給について従来よりも優れた特徴を有する半導体集積回路、およびそのような半導体集積回路の設計方法を提供することを目的とする。
上記課題を解決する第1の発明は、クロック回路に含まれる論理セルが、統一されたサイズのトランジスタによって構成されている半導体集積回路である。特に、クロック回路に含まれる論理セルを、矩形状に統一された拡散領域を有するトランジスタによって構成してもよい。
第2の発明は、第1の動作条件下で動作する回路ブロックのクロック回路をある特性を有する論理セルを用いて設計し、クロック回路に含まれる論理セルを他の特性を有する論理セルに置換し、セル置換後の回路ブロックを含み、第2の動作条件下で動作する半導体集積回路を設計する方法である。ここで、セル置換前とセル置換後とでは、論理セルの入力容量とセル固有遅延と駆動能力とが等しくなるようにしておく。また、動作条件とは、閾値電圧や電源電圧などをいう。
第3の発明は、各クロック信号の耐用時間内のトグル回数に基づき、各クロック信号の耐用時間経過時における遅延変動量を求め、2個の記憶セルに供給されるクロック信号について遅延変動量の差を求め、求めた差を設計マージンとして2個の記憶セル間のタイミング制約に設定して回路のタイミング調整を行う、半導体集積回路の設計方法である。
第4の発明は、各回路ブロックに供給されるクロック信号のトグル回数を数えるトグル計数回路と、数えたトグル回数を出力するトグル回数出力回路とを備えた半導体集積回路である。
第5の発明は、各回路ブロックに供給されるクロック信号のトグル回数を数えるトグル計数回路と、トグル回数が相対的に少ないクロック信号が供給される回路ブロックに調整用クロック信号を供給するトグル調整回路とを備えた半導体集積回路である。
第6の発明は、クロック経路上に存在できる論理セルの種類を指定し、クロック経路上に存在する論理セルが指定された種類の論理セルであるか否かを判定する、半導体集積回路の設計方法である。特に、クロック経路上に存在できない論理セルの種類に対応して、クロック経路上に存在できる論理セルの種類を指定し、上記判定結果に基づき、クロック経路上に存在する、クロック経路上に存在できない種類の論理セルを、対応した種類の論理セルに置換してもよい。
第7の発明は、各クロック経路について所定の特性を求め、2本のクロック経路の特性に基づく設計マージンを2個の記憶セル間のタイミング制約に設定して回路のタイミング調整を行う、半導体集積回路の設計方法である。設計マージンは、例えば、2本のクロック経路上の論理セルの段数の差に基づき、2本のクロック経路上の論理セルの種類ごとの個数の差に基づき、あるいは、2本のクロック経路上の配線の種類および遅延時間に基づき求められる。
第1の発明によれば、製造ばらつきが発生した場合でも、記憶セルにおいてタイミングエラーが発生しにくい半導体集積回路を得ることができる。クロック回路に含まれる論理セルを、矩形状に統一された拡散領域を有するトランジスタによって構成すれば、その効果はさらに顕著になる。
第2の発明によれば、回路ブロックの動作条件とこれを含む半導体集積回路の動作条件とが異なる場合についても、回路ブロックを組み込んだ半導体集積回路について改めてクロック信号のスキュー調整を行うことなく、クロック信号の電源電圧を一致させることができる。
第3の発明によれば、従来よりも的確に設計マージンを設定することができるので、トランジスタの経年劣化に伴うクロック信号の遅延時間の変動を考慮した上で、従来よりも回路規模を削減することができる。
第4の発明によれば、各回路ブロックに供給されるクロック信号のトグル回数を求めることにより、実動作環境下でクロック信号が変化する確率を、論理シミュレーションなどよりも短時間かつ高精度で求めることができる。したがって、トランジスタの経年劣化に伴うクロック信号の遅延時間変動をより的確に考慮して、新たにタイミングエラーが発生しにくい半導体集積回路を設計することができる。
第5の発明によれば、半導体集積回路をシステムに組み込んだ後でも、各クロック信号のトグル回数を調整することにより、異なる頻度で変化するクロック信号が供給され、トランジスタの経年劣化の程度に差が生じてタイミングエラーが発生し、半導体集積回路の耐用時間が短くなることを防止することができる。
第6の発明によれば、クロック経路上に存在する論理セルが、一定の特性を有する論理セル(例えば、プロセス変動に強い論理セル)であることを容易に検証することができる。また、クロック経路上に存在できない論理セルの種類に対応して、クロック経路上に存在できる論理セルの種類を指定し、クロック経路上に存在する論理セルの置換を行うことにより、一定の特性を有する論理セルだけがクロック経路上に存在するように、クロック回路を変更することができる。
第7の発明によれば、クロック経路間に論理セルの段数の差がある場合でも、クロック経路の構成差に応じて的確に設計マージンを設定することができるので、従来よりも回路規模を削減することができる。
以下、図面を参照して、本発明の第1〜第7の実施形態を説明する。各実施形態では、発明の理解を容易にするために、半導体集積回路に含まれる回路のうち、発明の理解に必要とされる主要な回路を抽出して説明する。
(第1の実施形態)
本発明の第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に供給されるデータ入力信号を生成する。
半導体集積回路に含まれる回路はいずれも1以上の論理セルを含み、各論理セルは1以上のトランジスタによって構成されている。図2は、トランジスタのレイアウト図である。レイアウトレベルで見ると、トランジスタは、図2に示すように拡散領域21とポリシリコン領域22とが重なる箇所に形成される。トランジスタの特性は、拡散領域21とポリシリコン領域22との重なり領域のサイズ(チャネル幅Wおよびチャネル長L)などによって決定される。
図1に示すように、第1のクロック回路11には論理セル16が含まれており、第2のクロック回路12には論理セル17が含まれている。本実施形態に係る半導体集積回路は、第1のクロック回路11に含まれる論理セル16と第2のクロック回路12に含まれる論理セル17とが、統一されたサイズのトランジスタによって構成されていることを特徴とする。論理セル16と論理セル17とは、典型的には、チャネル幅Wが統一されたトランジスタによって構成されるが、チャネル幅Wおよびチャネル長Lが統一されたトランジスタによって構成されることとしてもよい。
以下、本実施形態に係る半導体集積回路において、第1のクロック回路11に含まれる論理セル16と第2のクロック回路12に含まれる論理セル17とが、チャネル幅Wが統一されたトランジスタによって構成されていることによる効果を説明する。図1において、クロック信号CKの周期をT、第1のクロック回路11の遅延時間をt1、第2のクロック回路12の遅延時間をt2、組合せ回路14の遅延時間と第1のフリップフロップ13のクロック信号からデータ出力信号までの遅延時間との和をtd、第2のフリップフロップ15のセットアップ時間およびホールド時間を、それぞれtsおよびthとする。この場合、第2のフリップフロップ15が第2のクロック信号CK2に同期して正しく動作するためには、次式(1)に示すセットアップマージンMs、および次式(2)に示すホールドマージンMhが、いずれも所定値以上の正の値であることが必要とされる(図3を参照)。
Ms=(t2−t1)+T−td−ts …(1)
Mh=(t1−t2)+td−th …(2)
図4は、半導体集積回路に含まれるトランジスタについて、チャネル幅Wの変動量と遅延時間の変動量との関係を示す図である。図4(a)は、従来の半導体集積回路に含まれるトランジスタについての関係を示す図であり、図4(b)は、本実施形態に係る半導体集積回路に含まれるトランジスタについての関係を示す図である。
ここで、まず、従来の手法を用いて、図1と同じ構成を有する半導体集積回路を設計および製造したとする。従来の手法による半導体集積回路では、クロック回路に含まれる論理セルは、チャネル幅Wが統一されていないトランジスタによって構成されている。第1のクロック回路11に含まれる論理セル16を構成するトランジスタのチャネル幅の設計値をW1、第2のクロック回路12に含まれる論理セル17を構成するトランジスタのチャネル幅の設計値をW2としたとき、W1がW2よりも大きく、かつ、製造された半導体集積回路では、製造ばらつきにより、各トランジスタのチャネル幅が設計値よりもΔWだけ変動したとする。この場合、製造されたトランジスタのチャネル幅は、第1のクロック回路11に含まれる論理セル16では(W1+ΔW)、第2のクロック回路12に含まれる論理セル17では(W2+ΔW)となるが、W1がW2より大きい場合、製造ばらつきに起因するチャネル幅の変動割合は、論理セル17に含まれるトランジスタのほうが、論理セル16に含まれるトランジスタよりも大きくなる。
このため、従来の手法による半導体集積回路では、製造ばらつきが発生したときに、第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ではタイミングエラーが発生しやすくなる。
これに対して、本実施形態に係る半導体集積回路では、クロック回路に含まれる論理セルは、チャネル幅Wが統一されたトランジスタによって構成されている。すなわち、第1のクロック回路11に含まれる論理セル16を構成するトランジスタのチャネル幅の設計値W1と、第2のクロック回路12に含まれる論理セル17を構成するトランジスタのチャネル幅の設計値W2とは、常に同じ値をとる。このため、製造ばらつきが発生したときでも、第1のクロック回路11の遅延時間t1と第2のクロック回路12の遅延時間t2とは、同じ時間だけ増加または減少する(図4(b)を参照)。したがって、製造ばらつきが発生しても、上式(1)における(t2−t1)の値や上式(2)における(t1−t2)の値は設計値から変化しないので、第2のフリップフロップ15ではタイミングエラーが発生しにくい。
よって、本実施形態に係る半導体集積回路によれば、製造ばらつきが発生してもタイミングエラーが発生しにくい半導体集積回路を得ることができる。クロック回路に含まれる論理セルがチャネル幅Wおよびチャネル長Lが統一されたトランジスタによって構成されている半導体集積回路も、これと同様の効果を奏する。
本実施形態に係る半導体集積回路については、以下に示す変形例を構成することができる。本変形例に係る半導体集積回路は、クロック回路に含まれる論理セルが、統一されたサイズを有するトランジスタによって構成されていることに加えて、クロック回路に含まれる論理セルが、矩形状に統一された拡散領域23を有するトランジスタ(図5(a))によって構成されていることを特徴とする。
以下、図5を参照して、本変形例に係る半導体集積回路の効果を説明する。図5(b)は、矩形状でない拡散領域24を有するトランジスタのレイアウト図である。図5(b)に示すトランジスタを含む半導体集積回路を製造すると、図5(c)に示すように、拡散領域24のくぼんだ頂点P(周囲360度のうち、270度が拡散領域に含まれる頂点)の周囲の、本来拡散領域が形成されるべきでない部分に、不要な拡散領域25(ハッチングを施した領域)が形成される。この不要な拡散領域25は、そのサイズや形状によって、トランジスタのチャネル幅Wに影響を与え、トランジスタを含んだ回路の遅延時間に影響を与えることがある。
このため、例えば、第1のクロック回路11に含まれる論理セル16が、矩形状の拡散領域23を有するトランジスタ(図5(a))によって構成され、第2のクロック回路12に含まれる論理セル17が、くぼんだ頂点Pを持つ拡散領域24を有するトランジスタ(図5(b))によって構成されている場合、製造時に形成される不要な拡散領域25(図5(c))の影響によって、第1のクロック回路11の遅延時間t1と第2のクロック回路12の遅延時間t2との差が、設計値と異なってしまうことがある。これに伴い、第1のクロック回路11の遅延時間t1と第2のクロック回路12の遅延時間t2との間に成立すべき時間的な関係が満たされなくなり、第2のフリップフロップ15などでタイミングエラーが発生しやすくなる。
これに対して、本変形例に係る半導体集積回路では、クロック回路に含まれる論理セルは、矩形状に統一された拡散領域23を有するトランジスタ(図5(a))によって構成されている。このような特徴を有する拡散領域には、図5(c)に示すような、くぼんだ頂点Pが存在しないので、くぼんだ頂点Pの周囲に不要な拡散領域25が形成されることもない。このため、第1のクロック回路11の遅延時間t1と第2のクロック回路12の遅延時間t2とは、製造ばらつきが発生した場合でも、同じ時間だけ増加または減少する。したがって、本変形例に係る半導体集積回路によれば、第1の実施形態に係る半導体集積回路よりも、さらにタイミングエラーが発生しにくい半導体集積回路を得ることができる。
(第2の実施形態)
本発明の第2の実施形態では、ある動作条件下で動作する回路ブロックを用いて、これとは異なる動作条件下で動作する半導体集積回路を設計する方法について説明する。まず、ある閾値電圧で動作する回路ブロックを用いて、これとは異なる閾値電圧で動作する半導体集積回路(図6)を設計する方法について説明する。図6に示す半導体集積回路30は、前半クロック回路31、回路ブロック32、第2の後半クロック回路35、および第2のフリップフロップ36を備え、ある閾値電圧(以下、第2の閾値電圧VT2という)で動作する。回路ブロック32は、第1の後半クロック回路33、および第1のフリップフロップ34を含み、元々、第2の閾値電圧VT2とは異なる閾値電圧(以下、第1の閾値電圧VT1という)で動作するように設計されていたものである。
図6において、第1および第2のフリップフロップ34、36は、いずれも、与えられたクロック信号CKに同期して動作する。より詳細には、前半クロック回路31および第1の後半クロック回路33は、クロック信号CKに基づき第1のクロック信号CK1を生成し、第1のフリップフロップ34は、第1のクロック信号CK1に同期して動作する。第2の後半クロック回路35および第2のフリップフロップ36も、これと同様に動作する。
図7は、本実施形態に係る半導体集積回路の設計方法を示すフローチャートである。図7に示す手順を実行するに前に、クロック回路で使用する論理セルとして、第1の閾値電圧V1で動作する論理セル(以下、第1のクロック用セルという)と、第2の閾値電圧V2で動作する論理セル(以下、第2のクロック用セルという)とを準備する。その際、第1のクロック用セルと第2のクロック用セルとの間では、同じ種類の論理セルについては、入力容量とセル固有遅延と駆動能力が等しくなるようにしておく。言い換えると、第1のクロック用セルの入力容量は、第2のクロック用セルの入力容量に等しく、第1のクロック用セルのセル固有遅延は、第2のクロック用セルのセル固有遅延に等しく、第1のクロック用セルの駆動能力は、第2のクロック用セルの駆動能力に等しくなるようにしておく。なお、第1のクロック用セルと第2のクロック用セルとの間では、同じ種類の論理セルであっても、セルのサイズは異なっていてもよい。
上記特徴を有する第1および第2のクロック用セルを準備した後に、図7に示す手順を実行する。まず、第1の閾値電圧VT1で動作する回路ブロック32を設計する(ステップS101)。この際、回路ブロック32に含まれるクロック回路(後に、第1の後半クロック回路33となる回路)は、第1のクロック用セルを用いて設計する。回路ブロック32は、例えば、他の半導体集積回路に内蔵して使用するために、IP(Intellectual Property)コアとして設計された回路であってもよい。
次に、ステップS101で設計した回路ブロック32について、クロック回路に含まれる第1のクロック用セルを、同じ種類の第2のクロック用セルに置換する(ステップS102)。論理セル置換後のクロック回路は、第1の後半クロック回路33となる。これにより、第1の後半クロック回路33を含んだ回路ブロック32が得られる。次に、ステップS102で得られた回路ブロック32を含み、全体として第2の閾値電圧VT2で動作する半導体集積回路30を設計する(ステップS103)。
以下、本実施形態に係る設計方法を用いて、半導体集積回路30を設計する場合の効果を説明する。ここで仮に、本実施形態に係る設計方法とは異なり、第1の閾値電圧VT1で動作する回路ブロック32を設計するときに、回路ブロック32に含まれるクロック回路を、上記特徴を有していない論理セルを用いて設計したとする。このようにして設計されたクロック回路を第1の後半クロック回路33として含む半導体集積回路30を設計すると、設計された半導体集積回路30では、元々第1の閾値電圧VT1で動作するように設計された第1のフリップフロップ34と、新たに第2の閾値電圧VT2で動作するように設計された第2のフリップフロップ36との間で、閾値電圧の違いに起因したクロックスキューが発生しやすくなる。したがって、このクロックスキューを抑えるためには、回路ブロック32を組み込んだ後の半導体集積回路30について、閾値電圧を一致させるために回路変更を行うときに、第1の後半クロック回路33の遅延時間t1が閾値電圧の変更(第1の閾値電圧VT1から第2の閾値電圧VT2への変更)によって変化しないようにするため、改めてクロック信号のスキュー調整を行う必要が生じる。
これに対して、本実施形態に係る設計方法では、上述したように、第1の後半クロック回路33に含まれる第1のクロック用セルと、第2の後半クロック回路35に含まれる第2のクロック用セルとは、種類が同じであれば、同じ入力容量、同じセル固有遅延、および同じ駆動能力を有する。このため、第1の後半クロック回路33の遅延時間t1は、閾値電圧の変更前と変更後で変化しない。したがって、第1のフリップフロップ34と第2のフリップフロップ36との間には、設計値以上のクロックスキューが発生することがない。よって、本実施形態に係る半導体集積回路の設計方法によれば、回路ブロックを組み込んだ半導体集積回路について改めてクロック信号のスキュー調整を行うことなく、クロック信号の閾値電圧を一致させることができる。
なお、本実施形態ではここまで、ある閾値電圧で動作する回路ブロックを用いて、これとは異なる閾値電圧で動作する半導体集積回路を設計する方法を説明したが、回路ブロックとこれを含む半導体集積回路との間で、電源電圧など、他の動作条件が異なる場合にも、上述した方法と同様の設計方法を適用することができる。例えば、第1の電源電圧V1で動作する回路ブロックを用いて、第2の電源電圧V2で動作する半導体集積回路を設計するためには、第1の電源電圧V1で動作する第1のクロック用セルと、第2の電源電圧V2で動作する第2のクロック用セルとについて、入力容量とセル固有遅延と駆動能力とを一致させた上で、図7と同様の手順を実行すればよい。この設計方法によれば、回路ブロックの電源電圧とこれを含む半導体集積回路の電源電圧とが異なる場合についても、回路ブロックを組み込んだ半導体集積回路について改めてクロック信号のスキュー調整を行うことなく、クロック信号の電源電圧を一致させることができる。
(第3の実施形態)
本発明の第3の実施形態では、トランジスタの経年劣化に伴うクロック信号の遅延時間変動を考慮して、半導体集積回路を設計する方法について説明する。一般に、トランジスタは、所定の信号電圧が印加されている期間の長さに応じて劣化する。このため、トランジスタによって構成された回路の遅延時間は、時間の経過とともに長くなる。また、多くのクロック信号では、信号がハイレベルである期間の長さと、信号がローレベルである期間の長さは同じである。したがって、クロック信号が所定の値に変化する回数(以下、トグル回数という)を数えれば、クロック信号が所定値である期間の長さを求めることができるので、これを用いて、クロック信号が入力される論理セルに含まれるトランジスタについて、どの程度劣化が進行するかを予め予測することができる。
図8は、本実施形態に係る半導体集積回路の設計方法を示すフローチャートである。図8に示す手順は、論理レベルの設計を終え、タイミング調整を行う前の半導体集積回路に対して実行される。図8に示す手順では、まず、設計すべき半導体集積回路の耐用時間を決定する(ステップS201)。耐用時間は、半導体集積回路の仕様や動作条件などに基づき、例えば3年、10年などの値に決定される。
設計すべき半導体集積回路は、複数のフリップフロップを備えている。そこで、次に、各フリップフロップに供給されるクロック信号について、ステップS201で決定した耐用時間内のトグル回数を求める(ステップS202)。あるフリップフロップFXに供給されるクロック信号のトグル回数TCは、例えば、次式(3)によって算出される。
TC=TX×FR×α …(3)
ただし、上式(3)において、TXはステップS201で決定した耐用時間、FRは与えられたクロック信号CKの周波数、αはクロック信号CKが変化したときにフリップフロップFXに供給されるクロック信号が変化する確率(以下、トグル確率という)を表す。トグル確率αは、半導体集積回路の仕様や動作条件などに基づき、算出あるいは推定される。トグル確率αは、例えば、論理シミュレーションによっても求めることもできる。
なお、クロック信号のトグル回数を求めるときには、信号のローレベルからハイレベルへの変化だけを1回のトグルとして数えてもよく、信号の逆方向への変化だけを1回のトグルとして数えてもよく、信号の各方向への変化をそれぞれ1回のトグルとして数えてもよい。以下では、例えば、信号のローレベルからハイレベルへの変化だけを1回のトグルとして数えることとする。
次に、各フリップフロップに供給されるクロック信号について、ステップS202で求めたトグル回数に基づき、耐用時間経過時における遅延変動量を求める(ステップS203)。クロック信号については、信号がローレベルである期間の長さと、信号がハイレベルである期間の長さが同じであるとすれば、クロック信号が入力される論理セルに含まれるトランジスタについては、その特性から入力信号のトグル回数と遅延時間の変動率との関係を求めることができる(後述する図10を参照)。したがって、ステップS203では、ステップS202で求めたトグル回数と、各トランジスタにおけるトグル回数と遅延変動率との関係に基づき、耐用時間経過時における遅延変動量を求めることができる。
次に、設計すべき半導体集積回路から順にフリップフロップのペアを選択し、各ペアについて、一方のフリップフロップに供給されるクロック信号について求めた遅延変動量と、他方のフリップフロップに供給されるクロック信号について求めた遅延変動量との差を求める(ステップS204)。次に、求めた遅延変動量の差を、経年劣化に伴う遅延時間変動を吸収するための設計マージンとして、選択したフリップフロップのペア間のタイミング制約に設定する(ステップS205)。なお、ステップS204およびS205では、既にタイミング制約が付加されているフリップフロップのペアについてのみ、遅延変動量の差を求め、求めた差をタイミング制約に設定することとしてもよい。
次に、上記のように設計マージンを設定した後のタイミング制約に従って、フリップフロップにクロック信号およびデータ入力信号を供給する回路についてタイミング調整を行う(ステップS206)。ステップS206では、クロックスキューが所定の許容値よりも小さくなるように、クロック回路にバッファなどを追加あるいは削除する処理や、データ入力信号を生成する回路を再設計する処理や、レイアウト結果を修正する処理などが行われる。
図9に示すクロック回路を含む半導体集積回路に、図8に示す手順を適用した場合の詳細を説明する。図9に示すクロック回路は、第1のクロック回路41、第1のフリップフロップ42、第2のクロック回路43、および第2のフリップフロップ44を備えている。第1および第2のフリップフロップ42、44は、いずれも、与えられたクロック信号CKに同期して動作する。より詳細には、第1のクロック回路41は、2個のバッファを含み、クロック信号CKに基づき、クロック信号CKと同じ頻度で変化する第1のクロック信号CK1を生成する。第1のフリップフロップ42は、第1のクロック信号CK1に同期して動作する。第2のクロック回路43は、ANDゲート45とバッファとを含み、クロック信号CKに基づき、クロック信号CKよりも少ない頻度で変化する第2のクロック信号CK2を生成する。第2のフリップフロップ44は、第2のクロック信号CK2に同期して動作する。ANDゲート45には、クロック信号CKとクロックイネーブル信号CENとが入力される。以下では、クロック信号CKの周波数は100MHzであり、クロックイネーブル信号CENは、クロック信号CKの10サイクルにつき1サイクルの割合でハイレベルになるものとする。
図9に示すクロック回路を含む半導体集積回路の耐用時間を、例えば10年と決定する(ステップS201)。10年は約3.15×108秒に相当するから、第1のクロック信号CK1の10年間のトグル回数TC1は、次式(4)より、3.15×1016回となる。また、第2のクロック信号CK2のトグル確率αは10分の1であるから、第2のクロック信号CK2の10年間のトグル回数TC2は、次式(5)より、3.15×1015回となる(ステップS202)。
TC1≒(3.15×108)×(100×106)×1 =3.15×1016 …(4)
TC2≒(3.15×108)×(100×106)×1/10=3.15×1015 …(5)
図9に示すクロック回路に含まれる論理セルを構成するトランジスタは、入力信号のトグル回数に応じて、図10に示すように、遅延時間が変動するものとする。図10の横軸は入力信号のトグル回数を、縦軸は遅延時間の変動率を表す。第1のクロック信号CK1の10年間のトグル回数TC1は3.15×1016回であるから、図10によれば、第1のクロック信号CK1の10年後の遅延変動量は5%である。一方、第2のクロック信号CK2の10年間のトグル回数TC2は3.15×1015回であるから、図10によれば、第2のクロック信号CK2の10年後の遅延変動量は2%である。言い換えると、10年の耐用時間が経過したときには、第1のクロック信号CK1の遅延時間t1は当初より5%増加するのに対して、第2のクロック信号CK2の遅延時間t2は当初より2%増加する(ステップS203)。したがって、第1のクロック信号CK1の遅延変動量と、第2のクロック信号CK2の遅延変動量との差は、3%となる(ステップS204)。
そこで、求めた遅延変動量3%を、経年劣化に伴う遅延時間変動を吸収するための設計マージンとして、第1のフリップフロップ42と第2のフリップフロップ44との間のタイミング制約に設定する(ステップS205)。そして、3%の設計マージンを設定した後のタイミング制約に従って、第1および第2のフリップフロップ42、44にクロック信号およびデータ入力信号を供給する回路について、タイミング調整を行う(ステップS206)。
以下、本実施形態に係る設計方法を用いて、図9に示すクロック回路を含む半導体集積回路を設計する場合の効果を説明する。従来の手法では、フリップフロップ間のタイミング制約に、経年劣化に伴う遅延時間変動を吸収するための設計マージンを設定するときには、各フリップフロップに供給されるクロック信号の遅延変動量の最悪値が設定される。このため、第1のフリップフロップ42と第2のフリップフロップ44との間のタイミング制約には、第1のクロック信号CK1の遅延時間t1の変動率5%と、第2のクロック信号CK2の遅延時間t2の変動率2%との最悪値である5%が、設計マージンとして設定される。
これに対して、本実施形態に係る設計方法では、フリップフロップ間のタイミング制約に、経年劣化に伴う遅延時間変動を吸収するための設計マージンを設定するときには、各フリップフロップに供給されるクロック信号の遅延変動量の差が設定される。このため、第1のフリップフロップ42と第2のフリップフロップ44との間のタイミング制約には、第1のクロック信号CK1の遅延時間t1の変動率5%と、第2のクロック信号CKの遅延時間t2の変動率2%との差である3%が、設計マージンとして設定される。
実際の半導体集積回路では、10年の耐用時間が経過して、第1のクロック信号CK1の遅延時間t1が5%長くなったときに、第2のクロック信号CK2の遅延時間t2も2%長くなっている。したがって、第1のクロック信号CK1に同期して動作する第1のフリップフロップ42と、第2のクロック信号CK2に同期して動作する第2のフリップフロップ44との間のタイミング制約には、遅延変動量の最悪値(5%)ではなく、遅延変動量の差(2%)を、経年劣化に伴う遅延時間変動を吸収するための設計マージンとして設定すれば十分である。この遅延変動量の差を、経年劣化に伴う遅延時間変動を吸収するための設計マージンとして設定した上で半導体集積回路を設計すれば、設計された半導体集積回路は、耐用時間内では正しく動作することを保証できる。
したがって、本実施形態に係る半導体集積回路の設計方法によれば、従来よりも的確に設計マージンを設定することができるので、トランジスタの経年劣化に伴うクロック信号の遅延時間の変動を考慮した上で、従来よりも回路規模を削減することができる。
(第4の実施形態)
本発明の第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も、これ同様に動作する。
第1〜第3のトグル計数回路54a〜cは、それぞれ、第1〜第3のクロック信号CK1〜3のトグル回数を数える。ここでは、信号のローレベルからハイレベルへの変化を、1回のトグルとして数えることとする。デコーダ55は、コード信号CODEをデコードすることにより、第1〜第3のトグル回数格納レジスタ56a〜cのイネーブル信号EN1〜3を出力する。第1〜第3のトグル回数格納レジスタ56a〜cは、それぞれ、イネーブル信号EN1〜3を受けたときに、第1〜第3のトグル計数回路54a〜cからトグル回数TC1〜3を読み出して内部に格納し、格納したトグル回数をデータバスDBUSのタイミング仕様に合わせて出力する。
データバスDBUSに出力されたトグル回数は、半導体集積回路の外部に出力される。このため、例えば、データバスDBUSは、トグル回数出力モードでは、半導体集積回路の外部入出力端子(図示せず)に接続される。あるいは、データバスDBUSに出力されたトグル回数は、データバスDBUSに接続されたレジスタに一旦格納され、当該レジスタ経由で半導体集積回路の外部に出力されることとしてもよい。このように、デコーダ55、第1〜第3のトグル回数格納レジスタ56a〜c、データバスDBUSなどの作用により、第1〜第3のトグル計数回路54a〜cで数えたトグル回数TC1〜3は、半導体集積回路の外部に出力される。
図12は、本実施形態に係る半導体集積回路の他の構成を示す図である。図12に示す半導体集積回路は、前半クロック回路51、第1〜第3の後半クロック回路52a〜c、第1〜第3の回路ブロック53a〜c、第1〜第3のトグル計数回路54a〜c、デコーダ55、セレクタ57、およびトグル回数格納レジスタ58を備えている。図12に示す構成要素のうち、図11と同じ構成要素については、同一の参照符号を付して説明を省略する。セレクタ57は、デコーダ55から出力されたイネーブル信号EN1〜3に基づき、第1〜第3のトグル計数回路54a〜cのいずれかからトグル回数を読み出して出力する。トグル回数格納レジスタ58は、セレクタ57から出力されたトグル回数を内部に格納し、格納したトグル回数をデータバスDBUSのタイミング仕様に合わせて出力する。
以下、図11あるいは図12に示す構成を有する、本実施形態に係る半導体集積回路の効果を説明する。本実施形態に係る半導体集積回路は、例えば、あるシステムの評価ボードに実装される。この評価ボードは、システムの実際の動作環境下で、実際のアプリケーションソフトウエアを実行する。これにより、評価ボードを用いて、システムの実際の動作が再現される。
本実施形態に係る半導体集積回路は、上述したように、各回路ブロックに供給されるクロック信号のトグル回数を数え、数えたトグル回数を半導体集積回路の外部に出力する機構を有している。したがって、上記評価ボードを用いてシステムの動作を再現したときに、各回路ブロックに供給されるクロック信号のトグル回数を求めることにより、実動作環境下でクロック信号が変化する確率(トグル率α)を、論理シミュレーションなどよりも短時間かつ高精度で求めることができる。
第3の実施形態で既に説明したように、半導体集積回路の耐用時間を決定し、半導体集積回路に含まれるクロック信号のトグル率αを求めれば、耐用時間経過時におけるクロック回路の遅延変動量を求めることができる。そこで、本実施形態に係る半導体集積回路と同様の機能を有する新たな半導体集積回路を改良版として(あるいは評価用回路に対する設計対象回路として)設計するときに、求めた遅延変動量を考慮してクロック回路を設計することができる。したがって、トランジスタの経年劣化に伴うクロック信号の遅延時間変動をより的確に考慮して、新たにタイミングエラーが発生しにくい半導体集積回路を設計することができる。
(第5の実施形態)
本発明の第5の実施形態では、クロック信号のトグル回数を調整する機能を有する半導体集積回路について説明する。図13は、本実施形態に係る半導体集積回路の構成を示す図である。図13に示す半導体集積回路は、前半クロック回路51、第1〜第3の後半クロック回路52a〜c、第1〜第3の回路ブロック53a〜c、第1〜第3のトグル計数回路54a〜c、およびトグル調整回路59を備えている。図13に示す構成要素のうち、図11と同じ構成要素については、同一の参照符号を付して説明を省略する。
トグル調整回路59には、第1〜第3の後半クロック回路52a〜cから出力された第1〜第3のクロック信号CK1〜3、調整クロック信号CK0、モード選択信号MODE、および第1〜第3のトグル計数回路54a〜cで数えたトグル回数TC1〜3が入力される。トグル調整回路59は、これらの入力信号に基づき、第1〜第3の回路ブロック53a〜cに供給されるクロック信号ck1〜3を生成する。
図14は、トグル調整回路59の詳細な構成を示す図である。トグル調整回路59は、比較回路61、および第1〜第3のセレクタ62a〜cを含んでいる。比較回路61は、トグル回数TC1〜3に基づき、第1〜第3のセレクタ62a〜cのセレクト信号S1〜3を求める。より詳細には、トグル回数TC1〜3の最大値をMとしたときに、比較回路61は、1から3までの整数iについて、第iのトグル数TCiが最大値Mであるときは、第iのセレクタ62j(ただし、i=1ならばj=a、i=2ならばj=b、i=3ならばj=c)のセレクト信号Siをハイレベルに、それ以外の場合は、当該信号をローレベルにする。
第1のセレクタ62aは、図15に示すように、モード選択信号MODEおよびセレクト信号S1に基づき、第1のクロック信号CK1、調整クロックCK0、および固定値ローレベルのいずれかを出力する。より詳細には、第1のセレクタ62aは、モード選択信号MODEがローレベルであるとき(通常動作モードを示すとき)は、第1のクロック信号CK1を出力し、モード選択信号MODEがハイレベル(調整モードを示す)であり、かつ、セレクト信号S1がローレベルであるときは、調整クロックCK0を出力し、モード選択信号MODEがハイレベルであり、かつ、セレクト信号S1がハイレベルであるときは、固定値ローレベルを出力する。第2および第3のセレクタ62b、62cも、これと同様に動作する。
このように構成されたトグル調整回路59は、通常動作モードでは、第1〜第3の回路ブロック53a〜cに対して、それぞれ第1〜第3のクロック信号CK1〜3を出力する。また、トグル調整回路59は、調整モードでは、第1〜第3の回路ブロック53a〜cのうちから相対的にトグル回数が少ないクロック信号が供給されている回路ブロックを選択し、選択した回路ブロックに対して調整クロック信号CK0を出力する。
図16は、本実施形態に係る半導体集積回路の使用形態を示す図である。図16において、半導体集積回路70には、水晶振動子71およびクロック生成回路72によって生成されたクロック信号CKが供給される。ANDゲート73には、クロック信号CKとモード選択信号MODEとが入力される。クロック信号CKとモード選択信号MODEとの論理積が、調整クロック信号CK0となる。なお、クロック生成回路72およびANDゲート73は、半導体集積回路70の内部に設けてもよい。
モード選択信号MODEは、システムを構成するハードウェアまたはソフトウエアによって、システムの通常動作中はローレベルに設定され、システムの待機中や充電中など、システムの通常動作が行われていないときにはハイレベルに設定される。モード選択信号MODEがローレベルであるときは、調整クロック信号CK0はローレベルに固定され、トグル調整回路59に含まれる第1〜第3のセレクタ62a〜c(図14)は、それぞれ、第1〜第3のクロック信号CK1〜3を選択して出力する。この場合、第1〜第3の回路ブロック53a〜c(図13)は、それぞれ、第1〜第3のクロック信号CK1〜3に同期して動作する。
これに対して、モード選択信号MODEがハイレベルであるときは、調整クロック信号CK0はクロック信号CKと同じように変化し、第1〜第3のセレクタ62a〜cは、調整クロック信号CK0または固定値(ローレベル)を出力する。トグル調整回路59は、トグル回数TCiがその最大値Mに一致しないクロック信号TCiの供給を受けていた回路ブロック53j(ただし、i=1ならばj=a、i=2ならばj=b、i=3ならばj=c)に対して、調整クロック信号CK0を供給する。したがって、モード選択信号MODEを適宜ハイレベルに設定することにより、第1〜第3の回路ブロック53a〜cに供給されるクロック信号ck1〜3のトグル回数TC1〜3を、その最大値Mに近づけることができる。
第1〜第3の回路ブロック53a〜cに含まれる論理セルを構成するトランジスタは、各回路ブロックに供給されるクロック信号のトグル回数TCiに応じて劣化する。したがって、第1〜第3の回路ブロック53a〜cに供給されるクロック信号ck1〜3のトグル回数TC1〜3が相互に近ければ、第1〜第3の回路ブロック53a〜cに含まれる回路の遅延時間は、時間の経過とともに同じように変動する。
したがって、モード選択信号MODEを適宜ハイレベルに設定することにより、第1〜第3の回路ブロック53a〜cに含まれる回路の遅延時間を、時間の経過とともに同じように変動させることができる。よって、半導体集積回路をシステムに組み込んだ後でも、各クロック信号のトグル回数を調整することにより、異なる頻度で変化するクロック信号が供給され、トランジスタの経年劣化の程度に差が生じてタイミングエラーが発生し、半導体集積回路の耐用時間が短くなることを防止することができる。この効果は、消費電力を低減するために、回路ブロック単位でクロック信号の供給を停止する機能を有する半導体集積回路において、特に顕著に現れる。
(第6の実施形態)
本発明の第6の実施形態では、半導体集積回路に含まれるクロック回路を検証あるいは変更する方法について説明する。図17は、本実施形態に係る半導体集積回路の設計方法を示すフローチャートである。図17に示す手順は、論理レベルの設計を終え、タイミング調整を行う前の半導体集積回路に対して実行される。
図17に示す手順では、まず、半導体集積回路を設計するときに使用できるすべての論理セルの種類のうちで、クロック経路上に存在できる論理セルの種類を指定する(ステップS301)。以下、ステップS301で指定された種類の論理セルをクロック用セルといい、それ以外の論理セルを非クロック用セルという。ステップS301では、クロック用セルとして、すべての論理セルのうちで、プロセス変動に強い論理セルだけが選択的に指定される。次に、非クロック用セルの種類に対応して、論理的に等価なクロック用セルの種類を指定する(ステップS302)。
次に、設計すべき半導体集積回路から、すべてのクロック経路を抽出する(ステップS303)。次に、抽出されたクロック経路上に存在するすべての論理セルについて、当該論理セルがクロック用セルであるか非クロック用セルであるかを判定する(ステップS304)。次に、ステップS304で非クロック用セルと判定された論理セルに関する各種の情報を求める(ステップS305)。ステップS305で求めた情報は、以後の設計で参照される。次に、ステップS304で非クロック用セルと判定された論理セルを、ステップS302で当該論理セルの種類に対応して指定したクロック用セルに置換する(ステップS306)。
したがって、本実施形態に係る半導体集積回路の設計方法によれば、一定の特性を有する論理セル(例えば、プロセス変動に強い論理セル)だけがクロック経路上に存在するように、半導体集積回路に含まれるクロック回路を変更することができる。
なお、図17に示すフローチャートからステップS302およびS306を削除すれば、図18に示すフローチャートが得られる。図18に示す手順によれば、クロック経路上に存在する論理セルが、一定の特性を有する論理セル(例えば、プロセス変動に強い論理セル)であることを容易に検証することができる。
(第7の実施形態)
本発明の第7の実施形態では、クロック経路の特性を考慮して、クロック回路を設計する方法について説明する。まず、クロック経路上に存在する論理セルの段数の差を考慮して、クロック回路を設計する方法を説明する。図19は、本実施形態に係る半導体集積回路の設計方法を示すフローチャートである。図19に示す手順は、論理レベルの設計を終え、タイミング調整を行う前の半導体集積回路に対して実行される。
図19に示す手順では、まず、設計すべき半導体集積回路から、各フリップフロップに至るクロック経路を抽出する(ステップS401)。次に、抽出した各クロック経路の特性として、各クロック経路上に存在する論理セルの段数を求める(ステップS402)。次に、設計すべき半導体集積回路から順にフリップフロップのペアを選択し、各ペアについて、一方のフリップフロップに至るクロック経路上に存在する論理セルの段数と、他方のフリップフロップに至るクロック経路上に存在する論理セルの段数との差を求める(ステップS403)。
次に、求めた差に応じた時間を、クロック経路の差を吸収するための設計マージンとして、選択したフリップフロップのペア間のタイミング制約に設定する(ステップS404)。ステップS404では、設計マージンとして、例えば、ステップS403で求めた差に比例した時間を設定してもよく、求めた差に所定の関数を適用して求めた時間を設定してもよい。なお、ステップS403およびS404では、既にタイミング制約が付加されているフリップフロップのペアについてのみ、クロック経路上に存在する論理セルの段数の差を求めて、求めた差に応じた時間をタイミング制約に設定することとしてもよい。
次に、上記のように設計マージンを設定した後のタイミング制約に従って、フリップフロップにクロック信号およびデータ入力信号を供給する回路について、タイミング調整を行う(ステップS405)。ステップS405では、クロックスキューが所定の許容値よりも小さくなるように、クロック回路にバッファなどを追加あるいは削除する処理や、データ入力信号を生成する回路を再設計する処理や、レイアウト結果を修正する処理などが行われる。
図20に示すクロック回路を含む半導体集積回路に、図19に示す手順を適用した場合の詳細を説明する。図20に示すクロック回路は、第1のクロック回路81、第1のフリップフロップ82、第2のクロック回路83、および第2のフリップフロップ84を備えている。第1および第2のフリップフロップ82、84は、与えられたクロック信号CKに同期して動作する。より詳細には、第1のクロック回路81は、クロック信号CKに基づき第1のクロック信号CK1を生成し、第1のフリップフロップ82は、第1のクロック信号CK1に同期して動作する。第2のクロック回路83および第2のフリップフロップ84も、これと同様に動作する。
以下、クロック信号CKの供給点から第1のクロック回路81を経由して第1のフリップフロップ82に至る経路を、第1のクロック経路といい、クロック信号CKの供給点から第2のクロック回路83を経由して第2のフリップフロップ84に至る経路を、第2のクロック経路という。図20に示すように、第1のクロック経路上には4個の論理セルが存在し、第2のクロック経路上には5個の論理セルが存在している。なお、図20において、論理セルに付されたA、B、Cなどの文字は、論理セルの種類を表す。
第1のクロック経路上に存在する論理セルの段数は4段、第2のクロック経路上に存在する論理セルの段数は5段であるから(ステップS402)、両者の差は1段である(ステップS403)。ここで、段数差1段あたり50ピコ秒の設計マージンを設定することとすると、この場合の設計マージンは50ピコ秒となる。そこで、求めた値50ピコ秒を、クロック経路の差を吸収するための設計マージンとして、第1のフリップフロップ82と第2のフリップフロップ84との間のタイミング制約に設定する(ステップS404)。次に、50ピコ秒の設計マージンを設定した後のタイミング制約に従って、第1および第2のフリップフロップ82、84にクロック信号およびデータ入力信号を供給するクロック回路について、タイミング調整を行う(ステップS405)。
以下、本実施形態に係る設計方法を用いて、図20に示すクロック回路を含む半導体集積回路を設計する場合の効果を説明する。従来、フリップフロップ間のタイミング制約に、クロック経路上に存在する論理セルの段数を吸収するための設計マージンを設定することは知られていなかった。一般に、クロック経路間に論理セルの段数の差があると、当該クロック経路間では遅延時間の構成要因に差異が生じ、製造された半導体集積回路では、当該クロック経路間で遅延時間の変動が起こりやすくなる。このため、従来の手法による半導体集積回路では、製造ばらつきにより、タイミングエラーが発生しやすい。
これに対して、本実施形態に係る設計方法では、フリップフロップ間のタイミング制約に、クロック経路上に存在する論理セルの段数を吸収するための設計マージンが設定される。このため、クロック経路間に論理セルの段数の差があり、クロック経路間では遅延時間の構成要因に差異がある場合でも、その差異は設定された設計マージンによって吸収される。したがって、製造された半導体集積回路では、クロック経路間で遅延時間の変動が起こりにくい。よって、本実施形態に係る半導体集積回路の設計方法によれば、タイミングエラーが発生しにくい半導体集積回路を得ることができる。
本実施形態に係る半導体集積回路の設計方法については、以下に示す変形例を構成することができる。第1の変形例として、クロック経路の特性として、クロック経路上に存在する論理セルの種類ごとの個数を使用することができる。この第1の変形例に係る設計方法を実行するには、図19に示すステップS402では、各クロック経路の特性として、クロック経路上に存在する論理素子の段数に代えて、クロック経路上に存在する論理セルの種類ごとの個数を求め、ステップS403では論理セルの種類ごとの個数の差を求め、ステップS404では求めた差に応じた時間を設計マージンとして設定すればよい。
第1の変形例に係る方法を、図20に示すクロック回路を含む半導体集積回路に適用する場合の詳細を説明する。第1のクロック経路上には、種類A、B、CおよびDの論理セルがそれぞれ1個ずつ存在し、第2のクロック経路上には、種類A、BおよびDの論理セルがそれぞれ3個、1個および1個存在するので、論理セルの種類ごとの個数の差は、種類Aが2個、種類Cが1個である。ここで、種類A、B、CおよびDの論理セル1個につき、それぞれ1.0%、1.1%、1.2%および1.3%の設計マージンを設定することとすると、この場合の設計マージンMGは、次式(6)より、3.2%となる。
MG=1.0×2+1.2×1=3.2 …(6)
したがって、第1および第2のフリップフロップ82、84に信号を供給する回路のタイミング調整は、求めた値3.2%をクロック経路の差を吸収するための設計マージンとして設定したタイミング制約に従って行われる。
また、第2の変形例として、クロック経路の特性として、クロック経路上に存在する配線の種類および遅延時間を使用することができる。図21は、本実施形態の第2の変形例に係る半導体集積回路の設計方法を示すフローチャートである。図21に示すフローチャートにおいて、ステップS401およびS405は、図19に示すフローチャートに示したものと同じである。
図21に示す手順によれば、クロック経路を抽出した後(ステップS401)、抽出した各クロック経路の特性として、各クロック経路の配線の種類を求める(ステップS412)。次に、設計すべき半導体集積回路から順にフリップフロップのペアを選択し、各ペアについて、一方のフリップフロップに至るクロック経路上に存在する配線の集合と、他方のフリップフロップに至るクロック経路上に存在する配線の集合とについて、次式(7)によって定義される部分マージンmgを求めて、2つの部分マージンの和MGSを求める(ステップS413)。
mg=Σ(di×mi) …(7)
ただし、上式(7)において、diおよびmiは、それぞれクロック経路上に存在するi番目の配線の遅延時間および配線マージンであり、記号Σは1本のクロック経路について総和を求めることを表す。配線マージンmiは、配線の種類に応じて、例えば、1倍幅配線は0.8、2倍幅配線は0.4、3倍幅配線は0.1などのように決定される。
次に、求めた部分マージンの和MGSを、クロック経路の差を吸収するための設計マージンとして、ステップS413で選択したフリップフロップのペア間のタイミング制約に設定して(ステップS414)、回路のタイミング調整を行う(ステップS405)。
第2の変形例に係る方法を、図22に示すクロック回路を含む半導体集積回路に適用する場合の詳細を説明する。図22は、図20に示したクロック回路を、各クロック経路上に存在する配線の遅延時間および配線の幅とともに示した図である。図21において、配線に付された記号d**(*は1文字の数字)は各配線の遅延時間を、記号W1〜3は、それぞれ1〜3倍幅の配線を表す(ステップS412)。
ここで、配線マージンmiを、例示したように1倍幅配線は0.8、2倍幅配線は0.4、3倍幅の配線は0.1と決定すると、第1および第2のクロック経路の部分マージンmg1、mg2は、それぞれ、次式(8)および(9)に示すようになり、その和MGSは、次式(10)に示すようになる(ステップS413)。
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)によって算出される値をクロック経路の差を吸収するための設計マージンとして設定したタイミング制約に従って行われる。
上述した以外にも、クロック経路の特性として、クロック経路上に存在する配線のピッチやシールドの有無などを考慮してもよい。また、求めたクロック経路の特性に基づき、いかなる方法で設計マージンを求めるかは任意である。これら各変形例に係る半導体集積回路の設計方法は、いずれも、図19に示す設計方法と同様の効果を奏する。
本発明の半導体集積回路およびその設計方法は、クロック信号の供給に関して従来よりも優れた特徴を有するので、主にロジック回路によって構成される半導体集積回路、ロジック回路とメモリ回路との両方を含む半導体集積回路など、各種の半導体集積回路およびその設計方法に利用することができる。
本発明の第1の実施形態に係る半導体集積回路の構成を示す図 トランジスタのレイアウト図 フリップフロップのセットアップマージンおよびホールドマージンを示す図 本発明の第1の実施形態に係る半導体集積回路の効果を説明するための図 本発明の第1の実施形態の変形例に係る半導体集積回路の効果を説明するための図 本発明の第2の実施形態に係る半導体集積回路の設計方法によって設計される半導体集積回路の構成を示す図 本発明の第2の実施形態に係る半導体集積回路の設計方法を示すフローチャート 本発明の第3の実施形態に係る半導体集積回路の設計方法を示すフローチャート 本発明の第3の実施形態に係る半導体集積回路の設計方法によって設計されるクロック回路を示す図 トランジスタにおけるトグル回数と遅延時間の変動率との関係を示す図 本発明の第4の実施形態に係る半導体集積回路の構成を示す図 本発明の第4の実施形態に係る半導体集積回路の他の構成を示す図 本発明の第5の実施形態に係る半導体集積回路の構成を示す図 本発明の第5の実施形態に係る半導体集積回路のトグル調整回路の詳細な構成を示す図 本発明の第5の実施形態に係る半導体集積回路のトグル調整回路に含まれるセレクタの入出力関係を示すテーブル 本発明の第5の実施形態に係る半導体集積回路の使用形態を示す図 本発明の第6の実施形態に係る半導体集積回路の設計方法を示すフローチャート 本発明の第6の実施形態の変形例に係る半導体集積回路の設計方法を示すフローチャート 本発明の第7の実施形態に係る半導体集積回路の設計方法を示すフローチャート 本発明の第7の実施形態に係る半導体集積回路の設計方法によって設計されるクロック回路を示す図 本発明の第7の実施形態の第2の変形例に係る半導体集積回路の設計方法を示すフローチャート 本発明の第7の実施形態の第2の変形例に係る半導体集積回路の設計方法によって設計されるクロック回路を示す図
符号の説明
11、12、31、33、35、41、43、51、52、81、83…クロック回路
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 (14)

  1. クロック信号に同期して動作する半導体集積回路であって、
    複数の記憶セルと、
    与えられたクロック信号に基づき、各前記記憶セルに供給されるクロック信号を生成するクロック回路と、
    前記記憶セルに記憶された値に基づき、各前記記憶セルに供給されるデータ入力信号を生成する組合せ回路とを備え、
    前記クロック回路に含まれる論理セルは、統一されたサイズのトランジスタによって構成されていることを特徴とする、半導体集積回路。
  2. 前記クロック回路に含まれる論理セルは、矩形状に統一された拡散領域を有するトランジスタによって構成されていることを特徴とする、請求項1に記載の半導体集積回路。
  3. クロック信号に同期して動作する半導体集積回路の設計方法であって、
    第1の動作条件下で動作する第1のクロック用セルによって構成されたクロック回路を含み、前記第1の動作条件下で動作する回路ブロックを設計するステップと、
    前記回路ブロックの前記クロック回路に含まれる前記第1のクロック用セルを、入力容量とセル固有遅延と駆動能力とが前記第1のクロック用セルに等しく、かつ、第2の動作条件下で動作する第2のクロック用セルに置換するステップと、
    論理セル置換後の前記回路ブロックを含み、前記第2の動作条件下で動作する半導体集積回路を設計するステップとを備えた、半導体集積回路の設計方法。
  4. 前記動作条件が閾値電圧であることを特徴とする、請求項3に記載の半導体集積回路。
  5. 前記動作条件が電源電圧であることを特徴とする、請求項3に記載の半導体集積回路。
  6. クロック信号に同期して動作する半導体集積回路の設計方法であって、
    半導体集積回路に含まれる記憶セルに供給される各クロック信号について、予め定めた耐用時間内のトグル回数を求めるステップと、
    前記トグル回数に基づき、各前記クロック信号について前記耐用時間経過時における遅延変動量を求めるステップと、
    第1の記憶セルに供給されるクロック信号についての前記遅延変動量と、第2の記憶セルに供給されるクロック信号についての前記遅延変動量との差を求めるステップと、
    前記求めた差を、経年劣化に伴う遅延時間変動を吸収するための設計マージンとして、前記第1および第2の記憶セル間のタイミング制約に設定するステップと、
    前記設計マージンを設定した後のタイミング制約に従って、前記第1および第2の記憶セルに信号を供給する回路についてタイミング調整を行うステップとを備えた、半導体集積回路の設計方法。
  7. クロック信号に同期して動作する半導体集積回路であって、
    複数の回路ブロックと、
    与えられたクロック信号に基づき、各前記回路ブロックに供給されるクロック信号を生成するクロック回路と、
    各前記回路ブロックに供給されるクロック信号のトグル回数を数えるトグル計数回路と、
    前記トグル回数を出力するトグル回数出力回路とを備えた、半導体集積回路。
  8. クロック信号に同期して動作する半導体集積回路であって、
    複数の回路ブロックと、
    与えられたクロック信号に基づき、各前記回路ブロックに供給されるクロック信号を生成するクロック回路と、
    各前記回路ブロックに供給されるクロック信号のトグル回数を数えるトグル計数回路と、
    前記トグル回数が相対的に少ないクロック信号が供給される前記回路ブロックに対して、前記与えられたクロック信号とは別の調整用クロック信号を供給するトグル調整回路とを備えた、半導体集積回路。
  9. クロック信号に同期して動作する半導体集積回路の設計方法であって、
    クロック経路上に存在できる論理セルの種類を指定するステップと、
    半導体集積回路に含まれる各クロック経路について、クロック経路上に存在する論理セルが指定された種類の論理セルであるか否かを判定するステップとを備えた、半導体集積回路の設計方法。
  10. クロック経路上に存在できない論理セルの種類に対応して、当該論理セルと論理的に等価で、クロック経路上に存在できる論理セルの種類を指定するステップと、
    前記判定結果に基づき、前記半導体集積回路に含まれる各クロック経路について、クロック経路上に存在する、クロック経路上に存在できない種類の論理セルを、当該論理セルの種類に対応した、クロック経路上に存在できる種類の論理セルに置換するステップとをさらに備えた、請求項9に記載の半導体集積回路の設計方法。
  11. クロック信号に同期して動作する半導体集積回路の設計方法であって、
    半導体集積回路に含まれる記憶セルに至る各クロック経路について、所定の特性を求めるステップと、
    第1の記憶セルに至る第1のクロック経路についての前記特性と、第2の記憶セルに至る第2のクロック経路についての前記特性とに基づき、所定の方法で設計マージンを求めるステップと、
    前記求めた設計マージンを、クロック経路の差を吸収するための設計マージンとして、前記第1および第2の記憶セル間のタイミング制約に設定するステップと、
    前記設計マージンを設定した後のタイミング制約に従って、前記第1および第2の記憶セルに信号を供給する回路についてタイミング調整を行うステップとを備えた、半導体集積回路の設計方法。
  12. 前記所定の特性に、クロック経路上に存在する論理セルの段数が含まれており、
    前記設計マージンを求めるステップは、前記第1のクロック経路上に存在する論理セルの段数と、前記第2のクロック経路上に存在する論理セルの段数との差に基づき、前記設計マージンを求めることを特徴とする、請求項11に記載の半導体集積回路の設計方法。
  13. 前記所定の特性に、クロック経路上に存在する論理セルの種類ごとの個数が含まれており、
    前記設計マージンを求めるステップは、前記第1のクロック経路上に存在する論理セルの種類ごとの個数と、前記第2のクロック経路上に存在する論理セルの種類ごとの個数との差に基づき、前記設計マージンを求めることを特徴とする、請求項11に記載の半導体集積回路の設計方法。
  14. 前記所定の特性に、クロック経路上に存在する配線の種類が含まれており、
    前記設計マージンを求めるステップは、前記第1のクロック経路上に存在する配線の種類および遅延時間、並びに、第2のクロック経路上に存在する配線の種類および遅延時間に基づき、前記設計マージンを求めることを特徴とする、請求項11に記載の半導体集積回路の設計方法。
JP2003322171A 2003-09-12 2003-09-12 半導体集積回路およびその設計方法 Pending JP2005093563A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2003322171A JP2005093563A (ja) 2003-09-12 2003-09-12 半導体集積回路およびその設計方法
US10/817,959 US20050060676A1 (en) 2003-09-12 2004-04-06 Semiconductor integrated circuit and method for designing same
CNA2006101540040A CN1916921A (zh) 2003-09-12 2004-04-30 半导体集成电路及其设计方法
CNA2006101540055A CN1916922A (zh) 2003-09-12 2004-04-30 半导体集成电路及其设计方法
CNA2004100351907A CN1595638A (zh) 2003-09-12 2004-04-30 半导体集成电路及其设计方法
US11/482,851 US20060253822A1 (en) 2003-09-12 2006-07-10 Semiconductor integrated circuit and method for designing same
US11/482,852 US20060253823A1 (en) 2003-09-12 2006-07-10 Semiconductor integrated circuit and method for designing same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003322171A JP2005093563A (ja) 2003-09-12 2003-09-12 半導体集積回路およびその設計方法

Related Child Applications (3)

Application Number Title Priority Date Filing Date
JP2006107775A Division JP2006270109A (ja) 2006-04-10 2006-04-10 半導体集積回路の設計方法
JP2006107776A Division JP3978222B2 (ja) 2006-04-10 2006-04-10 半導体集積回路の設計方法
JP2006107774A Division JP2006313894A (ja) 2006-04-10 2006-04-10 半導体集積回路およびその設計方法

Publications (2)

Publication Number Publication Date
JP2005093563A true JP2005093563A (ja) 2005-04-07
JP2005093563A5 JP2005093563A5 (ja) 2006-02-16

Family

ID=34269982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003322171A Pending JP2005093563A (ja) 2003-09-12 2003-09-12 半導体集積回路およびその設計方法

Country Status (3)

Country Link
US (3) US20050060676A1 (ja)
JP (1) JP2005093563A (ja)
CN (3) CN1595638A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293856A (ja) * 2005-04-13 2006-10-26 Toshiba Corp クロック配線装置及びクロック配線方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352787A (ja) * 2004-06-10 2005-12-22 Matsushita Electric Ind Co Ltd タイミング解析方法およびタイミング解析装置
US7188325B1 (en) * 2004-10-04 2007-03-06 Advanced Micro Devices, Inc. Method for selecting transistor threshold voltages in an integrated circuit
JP2006155056A (ja) * 2004-11-26 2006-06-15 Fujitsu Ltd タイミングエラー修正方法
US7398485B2 (en) * 2006-04-11 2008-07-08 International Business Machines Corporation Yield optimization in router for systematic defects
JP4953716B2 (ja) * 2006-07-25 2012-06-13 パナソニック株式会社 半導体集積回路およびその関連技術
JP4955484B2 (ja) * 2007-08-24 2012-06-20 ルネサスエレクトロニクス株式会社 回路設計装置、回路設計方法、及び、回路設計プログラム
JP4901702B2 (ja) * 2007-11-27 2012-03-21 株式会社東芝 回路設計方法
US8418102B2 (en) * 2008-04-29 2013-04-09 Lsi Corporation Optimization of library slew ratio based circuit
KR20130087302A (ko) * 2012-01-27 2013-08-06 삼성전자주식회사 반도체 집적 회로와 이를 포함하는 장치의 동작 방법
JP5883676B2 (ja) * 2012-02-22 2016-03-15 ルネサスエレクトロニクス株式会社 Lsi設計方法
CN108809292B (zh) * 2017-05-02 2022-01-04 中国科学院微电子研究所 一种亚阈值电路的优化方法及系统
CN112115667A (zh) * 2020-08-05 2020-12-22 深圳市紫光同创电子有限公司 Fpga布局方法、装置、电子设备和计算机可读介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475830A (en) * 1992-01-31 1995-12-12 Quickturn Design Systems, Inc. Structure and method for providing a reconfigurable emulation circuit without hold time violations
US5980092A (en) * 1996-11-19 1999-11-09 Unisys Corporation Method and apparatus for optimizing a gated clock structure using a standard optimization tool
JPH11142477A (ja) * 1997-11-06 1999-05-28 Fujitsu Ltd 半導体集積回路
US6457167B1 (en) * 1998-03-31 2002-09-24 Kabushiki Kaisha Toshiba Gated clock design supporting method, gated clock design supporting apparatus, and computer readable memory storing gated clock design supporting program
JP2002026134A (ja) * 2000-07-12 2002-01-25 Seiko Epson Corp 半導体集積回路の製造方法及びこの方法により製造した半導体集積回路
JP2002185309A (ja) * 2000-12-18 2002-06-28 Hitachi Ltd データ保持回路および半導体装置並びに半導体装置の設計方法
KR100499626B1 (ko) * 2000-12-18 2005-07-07 주식회사 하이닉스반도체 반도체 메모리 장치
US6550045B1 (en) * 2001-11-20 2003-04-15 Lsi Logic Corporation Changing clock delays in an integrated circuit for skew optimization
US7096442B2 (en) * 2003-07-10 2006-08-22 Lsi Logic Corporation Optimizing IC clock structures by minimizing clock uncertainty
US7003746B2 (en) * 2003-10-14 2006-02-21 Hyduke Stanley M Method and apparatus for accelerating the verification of application specific integrated circuit designs

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293856A (ja) * 2005-04-13 2006-10-26 Toshiba Corp クロック配線装置及びクロック配線方法
JP4630718B2 (ja) * 2005-04-13 2011-02-09 株式会社東芝 クロック配線装置及びクロック配線方法

Also Published As

Publication number Publication date
US20060253823A1 (en) 2006-11-09
US20050060676A1 (en) 2005-03-17
CN1595638A (zh) 2005-03-16
US20060253822A1 (en) 2006-11-09
CN1916921A (zh) 2007-02-21
CN1916922A (zh) 2007-02-21

Similar Documents

Publication Publication Date Title
US20060253823A1 (en) Semiconductor integrated circuit and method for designing same
US20170061057A1 (en) Integrated circuit design method reducing clock power and integrated clock gater merged with flip-flops
US8255851B1 (en) Method and system for timing design
US8086989B2 (en) Structure for glitchless clock multiplexer optimized for synchronous and asynchronous clocks
JP2008085592A (ja) 半導体集積回路装置
US20110113280A1 (en) Circuit and method for efficient memory repair
JP2010539597A (ja) 省面積及び省電力のスタンダードセル方法
CN112069763A (zh) 修正电路的方法
JP2006146601A (ja) 半導体集積回路のレイアウト設計方法
US10354029B2 (en) Method for equipping registers of an integrated circuit to detect timing violations
US8453090B2 (en) System and method for optimizing logic timing
JP3978222B2 (ja) 半導体集積回路の設計方法
US7624361B2 (en) Method and device for designing semiconductor integrated circuit
US7802209B2 (en) Method for reducing timing libraries for intra-die model in statistical static timing analysis
JP2006270109A (ja) 半導体集積回路の設計方法
JP2006313894A (ja) 半導体集積回路およびその設計方法
JP4385234B2 (ja) 半導体集積回路装置、同装置用クロックパルス最適化方法、及びそのプログラム
CN110518897B (zh) 移除d触发器复位、置位引脚的方法、d触发器以及电路
US10747924B2 (en) Method for manufacturing integrated circuit with aid of pattern based timing database indicating aging effect
US20090108875A1 (en) Structure for a Limited Switch Dynamic Logic Cell Based Register
US7173469B1 (en) Clocking system and method for a memory
JP5471437B2 (ja) 半導体集積回路装置およびキャッシュメモリ制御方法
US9292651B2 (en) System for partitioning integrated circuit design based on timing slack
US7480607B2 (en) Circuit design verification
US8392778B2 (en) Clock domain check method, clock domain check program, and recording medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051227

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20051227

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20060208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060410

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060606