説明

半導体集積回路の設計方法

【課題】レイアウト後のクロックのデューティ調整を容易に行なうことのできる、半導体集積回路の設計方法を提供する。
【解決手段】、クロックの両エッジで動作するセルへクロックを供給するセルとして初期配置セルを配置した後、クロックツリーの配置、クロック配線、セル間配線などのレイアウトを実行し、レイアウト実行後の実配線長にもとづくタイミング検証を行って、デューティ値の規定を満たさないデューティ違反が発生している初期配置セルを抽出し、デューティ違反の初期配置セルを、レイアウト上の配置位置はそのままで、外形サイズ、入出力端子位置、入力容量および出力駆動力が初期配置セルと同じで、デューティが規定値を満たすように調整されたデューティ調整セルに置換する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路の設計方法に関する。
【背景技術】
【0002】
予めライブラリに登録されたセルを用いて設計を行う半導体集積回路では、セルの配置およびセル間の配線を行った後に、実配線長を用いた遅延シミュレーションを実行し、クリティカルパス等のタイミング検証を行う。その中で、例えば、クロック分配におけるスキューエラーが検出されると、クロックドライバの遅延時間を調整するなどの対策が必要となる。そのとき、クロックドライバのセルのサイズが変わったり、入出力端子の位置が変わったりすると、配置・配線のやり直しが必要となり、半導体集積回路の設計期間が長くなるという問題が生じる。
【0003】
このような問題への対策として、従来、セルの外形形状、寸法、入出力端子位置、入力端子容量、出力の駆動能力が同じで、遅延値のみが異なる複数のクロックドライバ用セルをライブラリに登録しておき、実配線遅延シミュレーション後のタイミング解析で、クロックスキューエラーが検出された場合は、クロックドライバ用セルを置き換えることで遅延時間を調整し、クロックスキューエラーを解消する設計方法が提案されている(例えば、特許文献1参照。)。
【0004】
上述の設計方法によれば、クロックドライバ用セルの置き換えを行っても配置・配線のやり直しを行う必要がなく、半導体集積回路の設計期間の増加を防止することができる。
【0005】
ところで、近年、半導体集積回路のさらなる高速動作を図るために、DDR SDRAMなど、クロックの立ち上り/立ち下りの両エッジを用いる回路が使用されるようになっている。クロックの立ち上り/立ち下りの両エッジを用いる場合、クロックスキューのみならず、クロックのデューティを一定の範囲内に収める必要がある。
【0006】
しかし、従来の設計方法では、例えば、クロックの立ち上りに同期して動作する回路であれば、クロックの立ち上りのタイミングの調整が行われるのみで、クロックのデューティを一定の範囲内に収めることはできない、という問題があった。
【特許文献1】特開2001−332693号公報 (第8−9ページ、図5)
【発明の開示】
【発明が解決しようとする課題】
【0007】
そこで、本発明の目的は、レイアウト後のクロックのデューティ調整を容易に行なうことのできる、半導体集積回路の設計方法を提供することにある。
【課題を解決するための手段】
【0008】
本発明の一態様によれば、クロックの両エッジで動作するセルへクロックを供給するセルとして初期配置セルを配置してレイアウトを行うステップと、前記レイアウト実行後の実配線長にもとづくタイミング検証により、デューティ値の規定を満たさないデューティ違反が発生している前記初期配置セルを抽出するステップと、前記レイアウトの配置上で、前記デューティ違反の前記初期配置セルを、外形サイズ、入出力端子位置、入力容量および出力駆動力が前記初期配置セルと同じで、デューティが規定値を満たすように調整されたデューティ調整セルに置換するステップとを有することを特徴とする半導体集積回路の設計方法が提供される。
【発明の効果】
【0009】
本発明によれば、レイアウト後であっても、セルを置換するのみでクロックのデューティ調整を容易に行なうことができる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の実施例を図面を参照して説明する。
【実施例】
【0011】
図1は、本発明の実施例に係る半導体集積回路の設計方法の処理の流れの例を示すフロー図である。このフローでは、論理設計終了後の概略のフローを示す。なお、本実施例の設計方法で設計される半導体集積回路は、クロックの両エッジで動作するセルを複数個含んでいるものとする。
【0012】
図1のフローにおける処理では、まず、セルの配置処理を行い、クロックの両エッジで動作するセルへクロックを供給するセルとして初期配置セルを配置する(ステップS01)。
【0013】
その後、クロックツリーの配置、クロック配線、セル間配線などのレイアウト工程を実行する(ステップS02)。
【0014】
その後、レイアウト実行後の実配線長にもとづくタイミング検証により、ステップS01で配置した初期配置セルの中で、デューティ値の規定を満たさないデューティ違反が発生している初期配置セルを抽出する(ステップS03)。
【0015】
最後に、ステップS03で抽出された初期配置セルを、レイアウト上の配置位置はそのままで、外形サイズ、入出力端子位置、入力容量および出力駆動力が初期配置セルと同じで、デューティが規定値を満たすように調整されたデューティ調整セルに置換し(ステップS04)、本フローの処理を終了する。
【0016】
ここで、上述の処理で使用する初期配置セルおよびデューティ調整セルは、半導体集積回路の設計に使用される一般のセルとともに、セルライブラリ100に予め登録されているものとする。
【0017】
図2は、初期配置セルの構成の例を示す回路図である。
【0018】
この例の初期配置セル11は、2入力ANDゲートAN11と、インバータIV11と、から構成される。
【0019】
2入力ANDゲートAN11の一方の入力は入力端子INに接続され、他の入力は‘1’レベルに固定されている。また、2入力ANDゲートAN11の出力は、出力端子OUTに接続されている。したがって、入力端子INに入力された信号は、そのままの極性で、出力端子OUTに出力される。
【0020】
ここで、2入力ANDゲートAN11の負荷駆動力は、出力の立ち上り時間と立ち下り時間が同じになるように設計されている。そのため、入力端子INに入力された信号は、そのデューティが保たれたまま、出力端子OUTに出力される。
【0021】
インバータIV11は、後述のデューティ調整セルと入力容量を同じにするために入力端子INに接続されたダミーの回路である。
【0022】
図3は、図1のステップS02のレイアウト実行後の半導体集積回路のレイアウトの概略を示す図である。
【0023】
セルIP1、IP2、IP3は、クロックの両エッジで動作するセルであり、それぞれのクロック端子の直前に、初期配置セル11が、それぞれ配置される。各初期配置セル11へは、クロックツリーCTにより、クロックが分配される。
【0024】
クロックツリーCTは、クロックの立ち上りにスキューエラーが発生しないように、バッファの個数等を調整して、各枝のクロックの立ち上りのディレイ量を調整する。ただし、各枝の配線容量等が異なるため、各枝に分配されるクロックのデューティは異なってくる。
【0025】
そこで、本実施例では、図1のステップS03で、セルIP1、IP2、IP3に入力されるクロックのデューティを測定し、セルIP1、IP2、IP3に対して規定されるデューティ値を満たしているかどうかを検証する。この検証でデューティ違反が検出された場合、そのクロックを出力している初期配置セル11をデューティ調整セルに置換し、デューティ違反を解消する。
【0026】
このとき、デューティ調整セルは、外形サイズ、入出力端子位置、入力容量および出力駆動力を初期配置セルと同じに設計されている。これにより、当初のレイアウトを何ら変更することなく、初期配置セル11をデューティ調整セルに置換することができる。
【0027】
図4に、デューティ調整セルの構成の例を示す。
【0028】
図4(a)は、クロックの‘H’幅を減少させたいときに用いるデューティ調整セル21の回路構成の例を示す。
【0029】
デューティ調整セル21は、2入力ANDゲートAN21と、インバータIV21と、ディレイ用バッファD21と、から構成される。
【0030】
2入力ANDゲートAN21の一方の入力は、入力端子INに直接接続され、他の入力は、直列に接続されたインバータIV21、ディレイ用バッファD21を介して入力端子INに接続される。
【0031】
2入力ANDゲートAN21の出力は、出力端子OUTに接続されている。また、2入力ANDゲートAN21の負荷駆動力は、初期配置セル11の2入力ANDゲートAN11と同じに設計されている。
【0032】
一方、図4(b)は、クロックの‘H’幅を増加させたいときに用いるデューティ調整セル31の回路構成の例を示す。
【0033】
デューティ調整セル31は、2入力ORゲートOR31と、ディレイ用バッファD31と、ディレイ用バッファD32とから構成される。
【0034】
2入力ORゲートOR31の一方の入力は、入力端子INに直接接続され、他の入力は、直列に接続されたディレイ用バッファD31、D32を介して入力端子INに接続される。
【0035】
2入力ORゲートOR31の出力は、出力端子OUTに接続されている。また、2入力ORゲートOR31の負荷駆動力は、初期配置セル11の2入力ANDゲートAN11と同じに設計されている。
【0036】
図5に、デューティ調整セル21内部の動作波形を示す。
【0037】
入力端子INに入力された信号は、インバータIV21により反転される。インバータIV21の出力は、ディレイ用バッファD21により遅延される。
【0038】
2入力ANDゲートAN21は、入力端子INに入力された信号と、ディレイ用バッファD21の出力とのANDをとり、両入力がともに‘H’のとき、‘H’を出力する。このとき、ディレイ用バッファD21の出力は、入力端子INに入力された信号が‘H’の期間中に、‘L’へ変化するため、2入力ANDゲートAN21の出力の‘H’の期間は、入力端子INに入力された信号の‘H’の期間よりも短くなる。
【0039】
2入力ANDゲートAN21の出力は、出力負荷容量に応じたディレイを伴って出力端子OUTへ出力される。
【0040】
2入力ANDゲートAN21の負荷駆動力が初期配置セル11の2入力ANDゲートAN11と同じに設計されているので、デューティ調整セル21の入出力端子間のディレイ(セルディレイ)は、初期配置セル11のセルディレイと同じになる。
【0041】
したがって、初期配置セル11の出力端子OUTに出力される信号のクロック周期開始エッジの出力時刻t11と、デューティ調整セル21の出力端子OUTに出力される信号のクロック周期開始エッジの出力時刻t21とは、同じ時刻となる。
【0042】
すなわち、初期配置セル11をデューティ調整セル21に置換しても、その出力端子OUTに出力されるクロック信号の立ち上がりにスキューが生じることはない。
【0043】
図6には、デューティ調整セル31内部の動作波形を示す。
【0044】
入力端子INに入力された信号は、ディレイ用バッファD31、D32により、順次遅延される。
【0045】
2入力ORゲートOR31は、入力端子INに入力された信号と、ディレイ用バッファD32の出力とのORをとり、両入力のいずれかが‘H’のとき、‘H’を出力する。このとき、ディレイ用バッファD32の出力は、入力端子INに入力された信号が‘L’に変化した後も‘H’であるため、2入力ORゲートOR31の出力の‘H’の期間は、入力端子INに入力された信号の‘H’の期間よりも長くなる。
【0046】
2入力ORゲートOR31の出力は、出力負荷容量に応じたディレイを伴って出力端子OUTへ出力される。
【0047】
2入力ORゲートOR31の負荷駆動力が初期配置セル11の2入力ANDゲートAN11と同じに設計されているので、デューティ調整セル21のセルディレイは、初期配置セル11のセルディレイと同じになる。
【0048】
したがって、初期配置セル11の出力端子OUTに出力される信号のクロック周期開始エッジの出力時刻t11と、デューティ調整セル31の出力端子OUTに出力される信号のクロック周期開始エッジの出力時刻t31とは、同じ時刻となる。
【0049】
すなわち、初期配置セル11をデューティ調整セル31に置換しても、その出力端子OUTに出力されるクロック信号の立ち上がりにスキューが生じることはない。
【0050】
図7は、初期配置セルをデューティ調整セルへ置換した例を示すレイアウトの概略図である。
【0051】
この例では、セルIP1へクロックを供給するセルが初期配置セル11からデューティ調整セル21に置換され、セルIP2へクロックを供給するセルが初期配置セル11からデューティ調整セル31に置換された例を示す。
【0052】
セルライブラリ100には、デューティ調整量の異なる複数のデューティ調整セルが登録されている。図8および図9に、その例を示す。
【0053】
図8は、クロックの‘H’幅を減少させたいときに用いるデューティ調整セルの例である。
【0054】
図8(a)に示すデューティ調整セル22は、デューティ調整セル21のディレイ用バッファD21の出力にさらにディレイ用バッファD22を接続し、このディレイ用バッファD22の出力を2入力ANDゲートAN21へ入力するようにしたものである。
【0055】
図8(b)に示すデューティ調整セル23は、デューティ調整セル22のディレイ用バッファD22の出力にさらにディレイ用バッファD23を接続し、このディレイ用バッファD23の出力を2入力ANDゲートAN21へ入力するようにしたものである。
【0056】
一方、図9は、クロックの‘H’幅を増加させたいときに用いるデューティ調整セルの例である。
【0057】
図9(a)に示すデューティ調整セル32は、デューティ調整セル31のディレイ用バッファD32の出力にさらにディレイ用バッファD33を接続し、このディレイ用バッファD33の出力を2入力ORゲートOR31へ入力するようにしたものである。
【0058】
図9(b)に示すデューティ調整セル33は、デューティ調整セル32のディレイ用バッファD33の出力にさらにディレイ用バッファD34を接続し、このディレイ用バッファD34の出力を2入力ORゲートOR31へ入力するようにしたものである。
【0059】
図10は、デューティ調整セルの選択によりデューティが変化する様子を示す波形図である。
【0060】
図10(a)は、デューティ調整セル23、デューティ調整セル22、デューティ調整セル21の選択により、クロックの‘H’幅の減少量が変化する様子を示す。
【0061】
この例では、デューティ調整セルに内蔵されるディレイ用バッファの数が少ないほど、クロックの‘H’幅の減少量は多くなる。
【0062】
図10(b)は、デューティ調整セル31、デューティ調整セル32、デューティ調整セル33の選択により、クロックの‘H’幅の増加量が変化する様子を示す。
【0063】
この例では、デューティ調整セルに内蔵されるディレイ用バッファの数が多いほど、クロックの‘H’幅の増加量は多くなる。
【0064】
このような本実施例によれば、初期配置セルを、外形サイズ、入出力端子位置、入力容量および出力駆動力が同じデューティ調整セルに置換することにより、当初のレイアウトを何ら変更することなく、クロックのデューティを調整することができる。
【0065】
このデューティ調整セルは、初期配置セルと同じタイミングで、クロック周期開始エッジを出力するよう設計されているので、初期配置セルをデューティ調整セルに置換しても、クロックの立ち上りにスキューが発生することがない。
【0066】
また、デューティ調整量の異なる複数のデューティ調整セルがセルライブラリに登録されているので、必要なデューティ調整量に応じて最適なデューティ調整セルを選択することにより、デューティの調整を速やかに行うことができる。
【図面の簡単な説明】
【0067】
【図1】本発明の実施例に係る半導体集積回路の設計方法の処理の流れの例を示すフロー図。
【図2】本発明の実施例における初期配置セルの構成の例を示す回路図。
【図3】本発明の実施例の設計方法による半導体集積回路のレイアウトの概略を示す図。
【図4】本発明の実施例におけるデューティ調整セルの構成の例を示す回路図。
【図5】本発明の実施例のデューティ調整セルの動作の例を示す波形図。
【図6】本発明の実施例のデューティ調整セルの動作の例を示す波形図。
【図7】本発明の実施例の設計方法により初期配置セルをデューティ調整セルへ置換した例を示すレイアウトの概略図。
【図8】本発明の実施例におけるデューティ調整セルの構成の例を示す回路図。
【図9】本発明の実施例におけるデューティ調整セルの構成の例を示す回路図。
【図10】本発明の実施例のデューティ調整セルの選択によりデューティが変化する様子を示す波形図。
【符号の説明】
【0068】
11 初期配置セル
21〜23、31〜33 デューティ調整セル
100 セルライブラリ
AN11、AN21 ANDゲート
OR31 ORゲート
IV11、IV21 インバータ
D21〜D23、D31〜D34 ディレイ用バッファ

【特許請求の範囲】
【請求項1】
クロックの両エッジで動作するセルへクロックを供給するセルとして初期配置セルを配置してレイアウトを行うステップと、
前記レイアウト実行後の実配線長にもとづくタイミング検証により、デューティ値の規定を満たさないデューティ違反が発生している前記初期配置セルを抽出するステップと、
前記レイアウトの配置上で、前記デューティ違反の前記初期配置セルを、外形サイズ、入出力端子位置、入力容量および出力駆動力が前記初期配置セルと同じで、デューティが規定値を満たすように調整されたデューティ調整セルに置換するステップと
を有することを特徴とする半導体集積回路の設計方法。
【請求項2】
前記デューティ調整セルは、
前記初期配置セルと同じタイミングで、クロック周期開始エッジを出力する
ことを特徴とする請求項1に記載の半導体集積回路の設計方法。
【請求項3】
前記初期配置セルおよび前記デューティ調整セルが、
予めセルライブラリに登録されている
ことを特徴とする請求項1または2に記載の半導体集積回路の設計方法。
【請求項4】
前記セルライブラリには、
デューティ調整量の異なる複数の前記デューティ調整セルが登録されている
ことを特徴とする請求項3に記載の半導体集積回路の設計方法。
【請求項5】
前記デューティ調整セルは、
内部のディレイ素子のディレイ量を調整することによって前記デューティの調整を行う
ことを特徴とする請求項1乃至4のいずれか1項に記載の半導体集積回路の設計方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−39570(P2010−39570A)
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願番号】特願2008−198769(P2008−198769)
【出願日】平成20年7月31日(2008.7.31)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(390010308)東芝デジタルメディアエンジニアリング株式会社 (192)
【Fターム(参考)】