JPWO2010073610A1 - スタンダードセル・ライブラリ及び半導体集積回路 - Google Patents
スタンダードセル・ライブラリ及び半導体集積回路 Download PDFInfo
- Publication number
- JPWO2010073610A1 JPWO2010073610A1 JP2010543849A JP2010543849A JPWO2010073610A1 JP WO2010073610 A1 JPWO2010073610 A1 JP WO2010073610A1 JP 2010543849 A JP2010543849 A JP 2010543849A JP 2010543849 A JP2010543849 A JP 2010543849A JP WO2010073610 A1 JPWO2010073610 A1 JP WO2010073610A1
- Authority
- JP
- Japan
- Prior art keywords
- cell
- driving force
- transistor
- size
- output 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.)
- Withdrawn
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 41
- 230000003915 cell function Effects 0.000 claims description 172
- 230000006870 function Effects 0.000 claims description 42
- 210000004027 cell Anatomy 0.000 description 548
- 238000000034 method Methods 0.000 description 30
- 230000009467 reduction Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 10
- 230000007423 decrease Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 241000238876 Acari Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 210000003719 b-lymphocyte Anatomy 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- UGDGKPDPIXAUJL-UHFFFAOYSA-N ethyl n-[4-[benzyl(2-phenylethyl)amino]-2-(4-ethylphenyl)-1h-imidazo[4,5-c]pyridin-6-yl]carbamate Chemical compound N=1C(NC(=O)OCC)=CC=2NC(C=3C=CC(CC)=CC=3)=NC=2C=1N(CC=1C=CC=CC=1)CCC1=CC=CC=C1 UGDGKPDPIXAUJL-UHFFFAOYSA-N 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000002898 library design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002040 relaxant effect Effects 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
Images
Classifications
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
- H01L27/04—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
- H01L27/10—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
- H01L27/118—Masterslice integrated circuits
- H01L27/11803—Masterslice integrated circuits using field effect technology
- H01L27/11807—CMOS gate arrays
-
- 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
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
- H01L27/0203—Particular design considerations for integrated circuits
- H01L27/0207—Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
半導体集積回路設計に用いるスタンダードセル・ライブラリにおいて、一機能のセルの駆動力系列が公比「2のp乗根」(pは2以上の自然数)という等比数列の形をしており、当該セルの出力信号駆動部のトランジスタが、p通りのサイズに限定されたレイアウトデバイスだけを使ってレイアウト設計されている。pが小さくても非常に細密な等比数列型の刻みで駆動力系列をつくることができると同時に、レイアウトデバイスのサイズが離散的に限定されるので、セルの性能モデルの精度保証を容易にし、前記スタンダードセル・ライブラリは、高性能回路を信頼性の高いモデルで設計することを可能にする。従って、高性能回路設計に適した等比数列型で、刻みの細密な駆動力系列を備えたスタンダードセル・ライブラリが、性能モデルの精度保証の容易な離散限定的なトランジスタ・サイズで実現される。
Description
本発明は、半導体集積回路の設計に用いるスタンダードセル・ライブラリに関し、特にライブラリの駆動力系列の構成とそれを実現するためのセルレイアウト構造であって、詳しくは、等比数列型駆動力系列を持つスタンダードセル・ライブラリに関する。
半導体集積回路の設計において、ASIC設計手法で用いられるスタンダードセル・ライブラリは、INVERTER、BUFFER、2入力NAND、2入力NOR,2入力AND,2入力ORなど、いくつかの基本論理機能に限定して、トランジスタ回路によって論理機能を論理ゲートの形に実現したものを、スタンダードセルとして登録したものである。各論理機能について、出力信号を駆動するトランジスタの大きさを変えて駆動力の異なるセルをつくることも可能であり、一般に一論理機能について複数通りの駆動力のセルが登録されている。
一方、高性能回路を設計するカスタム設計手法においても、論理機能をある程度基本的なものに絞り、それらを論理ゲートと考えながら、論理ゲートを組み合わせることによって回路設計を行う、という思想は存在する。例えば、非特許文献1に、そのような手法が紹介されている。カスタム設計手法であるから、各ゲートのトランジスタ・サイズは、回路内に配置される毎に、連続的に最適なサイズにマニュアル設定されるのだが、基本的な設計指針として、一連なりの論理パス上に並ぶ論理ゲートの駆動力は、パス信号の入力側から出力側に向けて等比的に増大させるのが好ましい、と解説されている。これは、理論的背景とともに著者らの豊富な経験に裏付けられた指針として、カスタム設計者に広く知られている。
従来、スタンダードセル・ライブラリにおいては、同じ論理機能を持つセルの駆動力系列は、基準の駆動力を仮に[1]と書くと、[1/2]、[1]、[2]、[4]、[8]のように2倍刻みの等比的な構成のものが一般的だった。その後、ASIC設計手法を高速回路設計にも適用したいという要求が出てきて、高駆動力として[16]、[32]等が加えられて、駆動力系列が高駆動側に延長された。また、低消費電力への要求が高まるに従い、無駄に大きな駆動力を使う場合を減らすためには、刻みを細密にするのがよいと知られるようになり、[3]、[6]等の中間の駆動力が追加されてきた。結果的に、[1/2]、[1]、[2]、[3]、[4]、[6]、[8]、[16]、[32]という、隣接駆動力間の比率は2.0の他に1.5や1.333が現れて凸凹になるが、以前に比べると豊富な駆動力バリエーションを備えた駆動力系列が一般的になってきている。
さて、半導体大規模集積回路の設計において、セミカスタム設計手法、すなわちスタンダードセル・ライブラリを用いたASIC設計手法を、より高性能な回路設計すなわち高速かつ低消費電力をより高いレベルで両立させなければならないような回路設計にも適用できるように改善したい、という欲求が近年特に強くなっている。そのため、例えば、非特許文献2には、ASIC設計手法の中にカスタム設計手法の思想を積極的に取り込んでいこうという提案がいくつか紹介されている。
前記文献の中で、スタンダードセル・ライブラリの設計に残された改善の余地として、トランジスタのサイズ設計が注目されており、例えば、スタンダードセル・ライブラリを用いて通常のASIC設計フローを流した後、遅延解析結果を受けて、遅延制約を満たすために高速化しなければならないセル又は遅延制約に対して過度に高速で無駄に電力を消費しているセルを選び出し、その内部のトランジスタ・サイズを修正して、新たなセルとして設計に適用する、というフローが提案されている。前記フローで設計したところ、回路遅延を13.5%縮小した上に消費電力を18%削減することができた、という報告も記されている。この例からも、高性能な回路設計に向けたスタンダードセル・ライブラリの最適化という観点から、セル内の個々のトランジスタを細かくサイズ調整することが非常に重要かつ有効である、ということが判る。
前記提案のフローによれば、セルのトランジスタ・サイズを修正する際に、セルの大きさ自身が変わってしまう可能性があるので、新たなセルを追加して再設計する際の手間が膨らんでしまうという問題を避けられない。そこで、例えば、特許文献1には、セルの大きさやセルの入出力ピン位置を変えることなく、内部のトランジスタのサイズを、一定の最大サイズで制約された条件の下で、自由に再設定できるようなライブラリの定義方法が提案されている。
Ivan Sutherland,Bob Sproull,David Harris,"Logical Effort: Designing Fast CMOS Circuits,"Academic Press,1999.
David Chinnery,Kurt Keutzer,"Closing the Gap Between ASIC&Custom,"Kluwer Academic Publishers,2002.
トランジスタの微細化の進展に伴い、ゲート長(有効チャネル長)や有効チャネル幅を設計者の意図どおりに、製造で仕上げることが難しくなっている。また、STIストレスによってチャネルの電気特性が変動するという問題も無視できなくなってきている。これらがトランジスタの性能に与える影響は、そのトランジスタ自身のサイズに依存する部分もあれば、近くに配置される別のトランジスタとの位置関係など複雑な要因も絡んだりするので、正確に予測してモデル化することが難しい。そこで、トランジスタがセル内にレイアウトされたときの電気特性をTEG(Test Element Group)で事前に評価して、設計で使用するモデルに反映させる手法が提案されているが、トランジスタ・サイズのバリエーションや、隣接するトランジスタとの位置関係のバリエーションなどを含めて、全てのレイアウト・バリエーションを事前に評価することは、一般にはパターンが膨大になるので極めて難しい。
前記従来の技術として紹介した、設計フローの中で適宜セルのトランジスタ・サイズ設計を見直すという手法は、トランジスタ・サイズ設計に与えられた自由度が結果的に高まることになるので、確かにカスタム設計手法の持つ性能面での有効性を獲得することができる。しかし、少なくとも、使用するトランジスタのサイズさえも事前に限定することができないので、微細化トランジスタの世代においては、トランジスタの性能モデルとして誤差の大きなモデルで設計することを余儀なくされる、という弱点を持つ。
本発明の目的は、微細化トランジスタの直面する、モデル精度保証が困難であるという問題を、セルで使用するトランジスタ・サイズを限定することでTEGで評価するレイアウトのパターン数を現実的なレベルに抑えることによって緩和しながら、高性能な設計に適した駆動力系列、すなわち、刻みの細密な等比型の駆動力系列を備えたスタンダードセル・ライブラリを提供することにある。
前記目的を達成するため、本願の主要な構成を説明すると次の通りである。
すなわち、本発明のスタンダードセル・ライブラリは、半導体集積回路設計に用いるスタンダードセル・ライブラリであって、前記ライブラリは少なくとも一つのセル機能を実現するための複数のセルを備えており、少なくとも一つの前記セル機能について、当該同一の機能を持ちかつ駆動力の異なる複数のセルからなるセル群を含み、前記セル群の駆動力に関する系列が、前記セル群に属するセルの出力信号駆動部のトランジスタ・サイズの相対的大きさを駆動力の指標として、前記指標に関して等比数列を形成しており、2以上のある自然数pが存在し、前記等比数列は、「2のp乗根」(21/p)という形に実質的に表現できる公比を持つことを特徴とする。
また、本発明は、前記スタンダードセル・ライブラリであって、セルの前記出力信号駆動部のトランジスタ・サイズについて、セル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、基準サイズX[1]と定義したときに、正の実数θを前記自然数pに係る21/pによって定義すると、θpは2を意味し、前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、前記セル群中のセルであって、当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスから前記セルに対応して一つだけ選択された前記レイアウトデバイスを、一つ又は複数個繰り返し並べる形態で、前記セル内にレイアウトされていることを特徴とする。
前記スタンダードセル・ライブラリでは、「2のp乗根」(pは2以上の自然数)を公比とする等比数列であるので、前記pが例えば5程度に小さくても、高性能設計に適した非常に刻みの細密な駆動力系列をつくることができ、しかもその駆動力系列の実現のためにレイアウトデバイスとして必要となるトランジスタのサイズ種類を前記p通りに抑えることができる。出力信号駆動部のトランジスタに係るレイアウトデバイスの種類を連続可変ではなく離散的に限定された数種類に抑えることにより、前記トランジスタのモデル精度保証を容易にし、高性能設計用のスタンダードセル・ライブラリを、誤差の少ない性能モデルに基づいて提供することができるのである。
また、本発明は、前記スタンダードセル・ライブラリであって、セルの前記出力信号駆動部のトランジスタ・サイズについて、セル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、基準サイズX[1]と定義したときに、正の実数θを前記自然数pに係る21/pによって定義すると、θpは2を意味し、前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、前記セル群中のセルであって、当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスを組み合わせて並べる形態で、前記セル内にレイアウトされていることを特徴とする。
前記スタンダードセル・ライブラリでは、刻みの細密な等比数列型の駆動力系列を離散的に限定されたレイアウトデバイスで実現する際に、駆動力に僅かな誤差を許し、異なるサイズのレイアウトデバイスを組み合わせて近似的に駆動力を実現することによって、並列に並べるレイアウトデバイス本数の大幅な削減が可能となる。この並列本数の削減分だけセル幅を削減できるので、実質的に駆動力を変更することなく、セル面積を大幅に縮小することができる。
更に、本発明は、半導体集積回路設計に用いるスタンダードセル・ライブラリであって、前記ライブラリは少なくとも一つのセル機能を実現するための複数のセルを備えており、少なくとも一つの前記セル機能について、当該同一の機能を持ちかつ駆動力の異なる複数のセルからなるセル群を含み、前記セル群の駆動力に関する系列が、前記セル群に属するセルの出力信号駆動部のトランジスタ・サイズの相対的大きさを駆動力の指標として、前記指標に関して等比数列を形成しており、2以上のある自然数pが存在し、また、1以上p未満のある自然数qが存在し、前記等比数列は、「2のp乗根のq乗」(2q/p)という形に実質的に表現できる公比を持つことを特徴とする。
本発明は、前記スタンダードセル・ライブラリであって、セルの前記出力信号駆動部のトランジスタ・サイズについて、セル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、基準サイズX[1]と定義したときに、正の実数θを前記自然数pに係る21/pによって定義すると、θpは2を意味し、前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、前記セル群中のセルであって、当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズに基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスから前記セルに対応して一つだけ選択された前記レイアウトデバイスを、一つ又は複数個繰り返し並べる形態で、前記セル内にレイアウトされていることを特徴とする。
本発明では、駆動力系列が形成する等比数列の公比を「2のp乗根のq乗」(pは2以上の自然数、qは1以上p未満の自然数)の形まで拡張することができる。しかも、その駆動力系列の実現のためにレイアウトデバイスとして必要となるトランジスタのサイズ種類を前記同じp通りのままで抑えることができる。公比の選択肢が広がるので、ライブラリの最適化を深めることが可能となる。
加えて、本発明は、半導体集積回路設計に用いるスタンダードセル・ライブラリであって、前記ライブラリは、複数のセル機能を実現するための複数のセルを備えており、第1のセル機能について、当該同一の機能を持ちかつ駆動力の異なる複数のセルからなる第1のセル群を含み、更に、前記第1のセル機能とは異なる第2のセル機能について、当該同一の機能を持ちかつ駆動力の異なる複数のセルからなる第2のセル群を含み、前記第1のセル群に属するセル及び前記第2のセル群に属するセルについて、セルの出力信号駆動部のトランジスタ・サイズについて共通の基準サイズを定義することができて、前記第1のセル群のセルについて、出力信号駆動部のトランジスタ・サイズの前記基準サイズに対する割合を指標として、当該前記第1のセル機能に係る駆動力を定義することができて、前記第1のセル群の前記駆動力に関する系列が、第1の等比数列を形成しており、2以上のある自然数pが存在し、また、1以上p未満のある自然数qが存在して、前記第1の等比数列は、「2のp乗根のq乗」(2q/p)という形に実質的に表現できる公比を持ち、前記第2のセル群のセルについて、出力信号駆動部のトランジスタ・サイズの前記基準サイズに対する割合を指標として、当該前記第2のセル機能に係る駆動力を定義することができて、前記第2のセル群の前記駆動力に関する系列が、第2の等比数列を形成しており、qより大きくp未満のある自然数rが存在して、前記第2の等比数列は、「2のp乗根のr乗」(2r/p)という形に実質的に表現できる公比を持つことを特徴とする。
本発明は、前記スタンダードセル・ライブラリであって、セルの出力信号駆動部のトランジスタ・サイズについて、セル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、前記第1のセル群と前記第2のセル群に対して、共通な前記基準サイズX[1]と定義したときに、正の実数θを前記自然数pに係る21/pによって定義すると、θpは2を意味し、前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、前記第1のセル群中のセル又は前記第2のセル群中のセルであって、当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスから前記セルに対応して一つだけ選択された前記レイアウトデバイスを、一つ又は複数個繰り返し並べる形態で、前記セル内にレイアウトされていることを特徴とする。
前記スタンダードセル・ライブラリでは、例えば、セル機能Aとセル機能Bとの2つのセル機能の駆動力系列があって、セルが同一のP/N比で設計される場合には、公比を何れも「2のp乗根のべき乗」の形から各々選択することによって、何れの駆動力系列も共通のp通りのレイアウトデバイスを使って実現することができる。つまり、公比の異なる細密等比数列型の駆動力系列を、共通の離散限定化レイアウトデバイスによって実現することができるのである。
以上説明したように、本発明のスタンダードセル・ライブラリによれば、刻みの細密な等比型の駆動力系列を提供することができるので、高速かつ低消費電力な高性能回路設計に求められるカスタム設計手法的な駆動力の選択を、それに近い形でライブラリとして実現することが可能になる。
また、それと同時に、セルの性能モデルの精度保証の上で最重要な、出力信号駆動部のトランジスタに係るレイアウトデバイスの種類を連続可変ではなく離散的に限定された数種類に抑えることができるので、前記トランジスタのモデル精度保証を容易にし、高性能設計用のスタンダードセル・ライブラリを、誤差の少ない性能モデルに基づいて提供することができる。従って、本発明によれば、高性能回路を信頼性の高いモデルで設計することのできるスタンダードセル・ライブラリを提供することが可能となる。
以下、本発明の実施形態の等比数列型駆動力系列を持つスタンダードセル・ライブラリを説明する。
尚、本明細書では、スタンダードセルのレイアウトに現れる個々のMOSトランジスタ・デバイスを、トランジスタ・レイアウトデバイス又は簡単にレイアウトデバイスと呼ぶ。また、トランジスタ・レイアウトデバイスを数える際に、1本、2本という表現を使うことにする。トランジスタ・レイアウトデバイスには、Pチャネル型トランジスタ・レイアウトデバイス(PMOSトランジスタ・デバイス)及びNチャネル型トランジスタ・レイアウトデバイス(NMOSトランジスタ・デバイス)の2つの型がある。また、1本のPチャネル型トランジスタ・レイアウトデバイスと1本のNチャネル型トランジスタ・レイアウトデバイスをCMOSトランジスタ・デバイスの組として考えるときは、この組をトランジスタ・レイアウトデバイス又は簡単にレイアウトデバイスと呼ぶこともある。これに対して、回路上のトランジスタは、単にPチャネル型トランジスタ、Nチャネル型トランジスタと呼び、またPチャネル型トランジスタとNチャネル型トランジスタをCMOSトランジスタの組として考えるときに、これをトランジスタと呼ぶこともある。
レイアウトデバイスのサイズと言うときは、チャネル幅を指す。本明細書で注目するのは、スタンダードセルの出力信号を駆動する部分のトランジスタであるが、それを構成するトランジスタ・レイアウトデバイスについては、スタンダードセル・ライブラリの中で、チャネル長が全て同一であると想定している。尚、1本のPチャネル型トランジスタ・レイアウトデバイスと1本のNチャネル型トランジスタ・レイアウトデバイスをCMOSトランジスタ・デバイスの組として考えているときは、P型とN型のそれぞれのレイアウトデバイスのチャネル幅を組にしたものをレイアウトデバイスのサイズと呼ぶこともある。
レイアウトデバイスのサイズすなわちチャネル幅をnm(ナノメートル)単位で表すと、そのデバイスがどの世代の微細加工技術を使って製造されるものかによって、その数値が大きく変動する。また、スタンダードセルのセル高さは、前記加工技術の世代によっても、又は設計する半導体集積回路の種類によっても変わるので、その点からも、搭載されるレイアウトデバイスのサイズのnm数値自身は、やはり大きく変動する。本明細書ではスタンダードセルの一ライブラリの中での相対的なサイズに注目するので、基準サイズを定義して、基準サイズに対する割合によって、サイズに関する議論を行う。基準サイズについては、以下で詳しく説明していく。
本発明は、スタンダードセルのある特別なレイアウト構造に依存するものではない。スタンダードセルの一般的なレイアウト構造として、Pチャネル型トランジスタ・レイアウトデバイス及びNチャネル型トランジスタ・レイアウトデバイスは、チャネル幅の方向がセル高さの方向に平行になるように配置され、P型の配置領域とN型の配置領域はセル高さを分割する形で、セル内に分離されているものとする。そして、セル内に1本描きで配置可能なレイアウトデバイスのサイズには、Pチャネル型とNチャネル型のそれぞれについて最大サイズが存在し、この最大サイズは、一つのスタンダードセル・ライブラリに属する全てのセルに対して共通であるものとする。
さて、本発明はセルの駆動力に関するので、セルの出力信号駆動部のトランジスタに注目する。ここでは、本明細書で言う出力信号駆動部トランジスタについて、一般的な認識と異なるものではないが、典型的なセル回路の場合を例として説明しておく。先ず、INVERTER回路のセルであれば、セルへの入力信号は一つであり、この信号でゲート電極を直接制御されるPチャネル型トランジスタとNチャネル型トランジスタの組が1組存在し、この組が出力信号を駆動するCMOSトランジスタの組にもなっているので、これを出力信号駆動部のトランジスタと考える。次に、BUFFER回路のセルであれば、INVERTER回路を2段つないだ形になっているので、後段のINVERTER回路を構成するトランジスタを出力信号駆動部のトランジスタと考える。また、2入力NAND回路のセルであれば、2つの入力信号を仮に信号Aと信号Bと呼ぶと、信号Aでゲート電極を直接制御されるPチャネル型トランジスタとNチャネル型トランジスタの組(「トランジスタA組」と呼ぶ)が1組存在し、信号Bでゲート電極を直接制御されるPチャネル型トランジスタとNチャネル型トランジスタの組(「トランジスタB組」と呼ぶ)が1組存在する。トランジスタA組のPチャネル型トランジスタとトランジスタB組のPチャネル型トランジスタとは、チャネルの並列接続によって出力信号を駆動(プルアップ)し、トランジスタA組のNチャネル型トランジスタとトランジスタB組のNチャネル型トランジスタとは、チャネルの直列接続によって出力信号を駆動(プルダウン)する。本明細書では、前記トランジスタA組及び前記トランジスタB組のそれぞれを、2NANDの出力信号駆動部のトランジスタと考える。但し、ここでは、前記A組とB組はCMOSトランジスタの組として等しいような2NAND回路を想定しており、出力信号駆動部のトランジスタの属性を議論する際には、何れか一方のトランジスタ組で代表させることによって考えている。2NOR回路のセルについても同様に考えるものとする。
スタンダードセル・ライブラリを構成するセルは、セル機能によって分類することができて、一般に各セル機能を持つセルがそれぞれ複数個用意される。セル機能の例としては、INVERTER、BUFFER、2入力NAND、2入力NOR、2入力AND、2入力ORなどがあり、各セル機能について、出力信号駆動力の大きさの違う複数のセルが存在する。セルの回路において、出力信号を駆動する部分のトランジスタは、Pチャネル型トランジスタとNチャネル型トランジスタとの組み合わせで構成される。その各チャネル型トランジスタのサイズは、前記各チャネル型トランジスタを構成するために前記セルのレイアウト上で単独で又は並列で配置される、当該各チャネル型トランジスタ・レイアウトデバイスのサイズの総和に等しい。本明細書では、出力信号駆動部トランジスタのサイズを、当該Pチャネル型トランジスタのサイズと当該Nチャネル型トランジスタのサイズの組で表すものとする。そうした上で、セルの出力信号駆動力の大きさ、すなわちセルの駆動力を、出力信号駆動部トランジスタのサイズによって指標化する。いま、セルの駆動力を定量化するための指標として採用した出力信号駆動部トランジスタのサイズは、それ自身がPチャネル型、Nチャネル型それぞれのトランジスタ・サイズの組として定義されたので、駆動力も数値の組という形で与えられる。従って、任意の二つのセルの駆動力の間で大小関係を議論することは難しく、比較するセルの間に一定の条件が成立していることを前提に、駆動力の大小関係を議論することが必要である。この点について、次に説明する。
一般に、一つのスタンダードセル・ライブラリで、同じセル機能を持つセル群の中では、出力信号駆動部を構成するトランジスタの、Pチャネル型トランジスタ・サイズとNチャネル型トランジスタ・サイズとの比は一定である。以下、この比を出力信号駆動部トランジスタのP/N比と呼び、本明細書ではこれを簡単に、セルのP/N比と呼ぶ。セルのP/N比は、セル機能によってそれぞれ最適化されるので、セル機能が異なればセルのP/N比も異なるのが一般的である。本明細書において、2つのセルの駆動力の間で大小関係又は比を議論する場合には常に、これら2つのセルのP/N比が等しいことを必要条件とする。セルの回路において、例えばNANDセルのように、Pチャネル側はチャネルの並列で出力を駆動し、Nチャネル側はチャネルの直列で出力を駆動するような場合には、仮にP/N比がINVERTERセルと等しかったとしても、両者の駆動力は質的に異なると考えるべきであり、直接大小比較することはできない。従って、駆動力の大小比較のためにP/N比が等しいことは必要条件だが十分条件ではない、言い換えると、駆動力の大小比較はセル機能が同一である場合に限って可能である、ということに注意する。
ここでは、P/N比が等しいという条件の下では、以下で説明するように、2つのセルの出力信号駆動部トランジスタ・サイズの間で大小比較や比の議論が可能になる、という点に注目する。そして、セルの駆動力については、セル機能が同一である場合に限り、P/N比が等しいときの出力信号駆動部トランジスタ・サイズ間の大小比較に基づいて、2つの駆動力の間で大小比較や比の議論が可能となる。あるセル機能が与えられて、当該同一の機能を持つ多数のセルについて駆動力の大小関係を議論するには、そのセル機能に付随した基準になる駆動力を一つ用意するのが便利であり、基準の駆動力を定義するために、そのセル機能に付随したP/N比において、トランジスタ・サイズについての基準サイズを導入する。
いま、セルのP/N比を固定して考える。与えられたP/N比を満たしながら、セルのレイアウト上で、1本のPチャネル型トランジスタ・レイアウトデバイスと1本のNチャネル型トランジスタ・レイアウトデバイスとの組によって実現される最大のトランジスタに注目し、そのトランジスタ・サイズを、そのP/N比に付随する基準サイズとする。従って、本明細書でいう基準サイズとは、セルのレイアウト上で、セル内に単独(1本描き)で配置できるPチャネル型トランジスタ・レイアウトデバイスのある特定のサイズと、セル内に単独(1本描き)で配置できるNチャネル型トランジスタ・レイアウトデバイスのある特定のサイズとの組であって、与えられたP/N比を満たすものを意味する。以下、この基準サイズをX[1]と表記する。同じP/N比であれば、この表記を使って全てのトランジスタ・サイズを相対的に表現することができる。例えば、基準サイズに対して、PチャネルもNチャネルもトランジスタ・サイズが半分であるような出力信号駆動部のトランジスタであれば、前記トランジスタの相対的なサイズはX[1/2]という表現になる。逆にPチャネルもNチャネルも2倍サイズであれば、当該トランジスタの相対的なサイズはX[2]となる、という具合である。
次に、セル機能を固定して考える。一つのセル機能が与えられれば、付随してP/N比が決まるので、前記基準サイズは、セル機能に付随する基準サイズ、と言うこともできる。セル機能を同じくするセルにおいては、駆動力の大小関係や比を議論するために、前記セル機能に付随した基準サイズに対する割合によって表現される、出力信号駆動部トランジスタのサイズの相対的な大きさを、あらためて駆動力の指標として利用すればよい。基準サイズX[1]のトランジスタを出力信号駆動部に備えるセルの駆動力を、基準の駆動力X[1]と定義及び表記する。例えば、セルAとセルBが同じセル機能を有するとしたとき、適当な正の実数aとbを使って、セルAの出力信号駆動部トランジスタのサイズがX[a]であれば、セルAの駆動力は基準駆動力のa倍という意味でX[a]と表すことができ、セルBの出力信号駆動部トランジスタのサイズがX[b]であれば、同様にセルBの駆動力をX[b]と表すことができる。そして、セルAの駆動力に対するセルBの駆動力の比はb/aであると言うことができるのである。
基準サイズについての説明の最後に、前記基準サイズX[1]に基づいて、トランジスタ・レイアウトデバイスのサイズを表現することを考える。前記基準サイズX[1]は、セルのP/N比を固定して考えることによって、これを定義することができた。そこで、トランジスタ・レイアウトデバイスのサイズについても、同じP/N比を満たす組だけに絞って考える限りにおいては、前記P/N比に付随する基準サイズX[1]を用いて、これに対する割合によって相対的なサイズ表現をとることができる。あるレイアウトデバイスの相対的なサイズが、適当な正の実数cを使ってX[c]であるとすると、基準サイズの定義より、cは1を超えないことに注意する。逆に言うと、あるトランジスタの相対的なサイズがX[c]であるとき、cが1を超えていなければ、前記X[c]は一つのトランジスタ・レイアウトデバイスの相対的なサイズを表していると解釈することもできる。
(第1の実施形態)
以下、本発明による第1の実施形態について説明する。
以下、本発明による第1の実施形態について説明する。
ここでは、一つのセル機能を固定し、従ってセルのP/N比も固定して考える。そして、与えられたP/N比に付随するトランジスタの基準サイズをX[1]とし、この基準サイズX[1]のトランジスタを出力信号駆動部のトランジスタとするセルの駆動力を基準駆動力X[1]とする。
前記で説明したように、前記P/N比に従うセルの出力信号駆動部トランジスタのサイズは前記基準サイズに対する割合によって、基準サイズのa倍(aは正の実数)であればX[a]と表され、そのときの駆動力は前記基準駆動力のa倍という意味で駆動力X[a]である。本明細書で駆動力系列という表現が頻繁に出てくるが、駆動力系列と言うときは、一つのセル機能を共有するセル群に注目し、セルと駆動力が一対一に対応するときに、このX[・]の形で表現される駆動力指標に従って駆動力の小さな方から大きな方へと、セルに順列をつけて並べたものを意味する。ここでは、一つのスタンダードセル・ライブラリを開発するに際して前記セル機能を共有し駆動力の異なる複数のセルを用意しなければならない場合に、その駆動力系列においてセルの駆動力が「2のべき乗根」の値を公比とする等比数列を形成するように前記複数のセルを設計すれば、レイアウトデバイスのサイズを離散的に限定することができて、駆動力系列の細密化と設計信頼性の確保を両立できることを示す。
いま、pを2以上のある自然数とし、正の実数θを次の式で定める。
θ = 21/p …(1)
すなわち、θは「2のp乗根」であり、従って、
θp = 2 …(1´)
である。さて、このθを公比とする等比数列の形で駆動力の系列を構築すると、どういうことになるのかを説明する。先ず、基準の駆動力であるX[1]自身を、この系列の中に含むこととする。そのとき、X[1]以下の駆動力の系列は、仮にX[1/2]を最小駆動力とすれば、次のようになる。
すなわち、θは「2のp乗根」であり、従って、
θp = 2 …(1´)
である。さて、このθを公比とする等比数列の形で駆動力の系列を構築すると、どういうことになるのかを説明する。先ず、基準の駆動力であるX[1]自身を、この系列の中に含むこととする。そのとき、X[1]以下の駆動力の系列は、仮にX[1/2]を最小駆動力とすれば、次のようになる。
X[1/2]、X[(1/2)θ]、X[(1/2)θ2]、…、
X[(1/2)θp−1]、X[1]
…(2)
また、X[1]より大きな駆動力の方で、駆動力系列は次のようになる。
X[(1/2)θp−1]、X[1]
…(2)
また、X[1]より大きな駆動力の方で、駆動力系列は次のようになる。
X[θ]、 X[θ2]、…、 X[θp−1]、 X[2]
、X[2θ]、X[2θ2]、…、X[2θp−1]、X[4]
、X[4θ]、X[4θ2]、…、X[4θp−1]、X[8]
… …(3)
前記系列(3)において、例えばX[θ]という駆動力は、駆動力X[(1/2)θ]の2倍の駆動力である。つまり、X[θ]という駆動力のセルを作ろうと思えば、サイズX[θ]のトランジスタを使えばよいが、駆動力X[(1/2)θ]を生み出すサイズX[(1/2)θ]のトランジスタを2本並列にすれば実現できる。同様に、例えばX[2θ2]という駆動力は、駆動力X[(1/2)θ2]の4倍であるので、駆動力X[(1/2)θ2]を生み出すサイズX[(1/2)θ2]のトランジスタを4本並列にすれば実現できる。このように考えると、前記系列(3)において、この先どこまで駆動力を大きくしていっても、次のp通りのサイズを持つトランジスタがあれば、これを並列にして使うことで、出現する全ての駆動力を実現できることが判る。
、X[2θ]、X[2θ2]、…、X[2θp−1]、X[4]
、X[4θ]、X[4θ2]、…、X[4θp−1]、X[8]
… …(3)
前記系列(3)において、例えばX[θ]という駆動力は、駆動力X[(1/2)θ]の2倍の駆動力である。つまり、X[θ]という駆動力のセルを作ろうと思えば、サイズX[θ]のトランジスタを使えばよいが、駆動力X[(1/2)θ]を生み出すサイズX[(1/2)θ]のトランジスタを2本並列にすれば実現できる。同様に、例えばX[2θ2]という駆動力は、駆動力X[(1/2)θ2]の4倍であるので、駆動力X[(1/2)θ2]を生み出すサイズX[(1/2)θ2]のトランジスタを4本並列にすれば実現できる。このように考えると、前記系列(3)において、この先どこまで駆動力を大きくしていっても、次のp通りのサイズを持つトランジスタがあれば、これを並列にして使うことで、出現する全ての駆動力を実現できることが判る。
トランジスタ・サイズの集合:
{X[(1/2)・θs]:sは1からpまでの自然数} …(4)
また、前記系列(2)におけるp+1通りの駆動力についても、最小の駆動力X[1/2]を除けば、残りのp通りの全ての駆動力が前記集合(4)にあるp通りのサイズと一対一に対応することは明らかである。そして、前記集合(4)に現れているトランジスタ・サイズは何れもX[1]以下であるので、これらサイズ全てを、トランジスタ・レイアウトデバイスのサイズと解釈することができる。すなわち、駆動力系列を前記θ(2のp乗根)を公比とする等比数列の形に構築するならば、次の集合(5)に示すp通りのサイズを持つトランジスタ・レイアウトデバイスのみによって、X[(1/2)θ]以上の全ての駆動力を例外なく実現することが可能となるわけである。
{X[(1/2)・θs]:sは1からpまでの自然数} …(4)
また、前記系列(2)におけるp+1通りの駆動力についても、最小の駆動力X[1/2]を除けば、残りのp通りの全ての駆動力が前記集合(4)にあるp通りのサイズと一対一に対応することは明らかである。そして、前記集合(4)に現れているトランジスタ・サイズは何れもX[1]以下であるので、これらサイズ全てを、トランジスタ・レイアウトデバイスのサイズと解釈することができる。すなわち、駆動力系列を前記θ(2のp乗根)を公比とする等比数列の形に構築するならば、次の集合(5)に示すp通りのサイズを持つトランジスタ・レイアウトデバイスのみによって、X[(1/2)θ]以上の全ての駆動力を例外なく実現することが可能となるわけである。
トランジスタ・レイアウトデバイスのサイズの集合:
{X[(1/2)・θs]:sは1からpまでの自然数} …(5)
いま、例として、自然数pに3を選んだ場合について、具体的に説明する。このとき、正の実数θは21/3によって定義されるので、θ3=2である。このことに注意しながら、公比θの等比数列型の駆動力系列を表示したものが、図1における[公比θの等比数列型の駆動力系列]の表である。この表中、X[θ]の上に記した(1)や、X[2]の上に記した(3)等の数字は、その駆動力の基準駆動力X[1]に対する比を、θのべき乗で見たときの当該べき乗数を指す。ここでは、説明の便宜上、この乗数を駆動力のインデックスとして使うことにする。例えば、X[θ]は「(1)番目の駆動力」、X[2]は「(3)番目の駆動力」、またX[(1/2)・θ]は「(−2)番目の駆動力」という具合である。そのとき、駆動力系列は、最小駆動力をX[1/2]とし最大駆動力をX[64]とするならば、インデックス(−3)を始まりとして、インデックスが1ずつ増えていく順に、インデックス(18)までが並ぶ。図の表の中で、インデックスを3(すなわちp)の剰余系で分類することによって、X[(1/2)θ]以上の駆動力、すなわち、インデックス(−2)以上の駆動力を3つのグループに分けている。図の符号1〜3は前記各グループを示す。
{X[(1/2)・θs]:sは1からpまでの自然数} …(5)
いま、例として、自然数pに3を選んだ場合について、具体的に説明する。このとき、正の実数θは21/3によって定義されるので、θ3=2である。このことに注意しながら、公比θの等比数列型の駆動力系列を表示したものが、図1における[公比θの等比数列型の駆動力系列]の表である。この表中、X[θ]の上に記した(1)や、X[2]の上に記した(3)等の数字は、その駆動力の基準駆動力X[1]に対する比を、θのべき乗で見たときの当該べき乗数を指す。ここでは、説明の便宜上、この乗数を駆動力のインデックスとして使うことにする。例えば、X[θ]は「(1)番目の駆動力」、X[2]は「(3)番目の駆動力」、またX[(1/2)・θ]は「(−2)番目の駆動力」という具合である。そのとき、駆動力系列は、最小駆動力をX[1/2]とし最大駆動力をX[64]とするならば、インデックス(−3)を始まりとして、インデックスが1ずつ増えていく順に、インデックス(18)までが並ぶ。図の表の中で、インデックスを3(すなわちp)の剰余系で分類することによって、X[(1/2)θ]以上の駆動力、すなわち、インデックス(−2)以上の駆動力を3つのグループに分けている。図の符号1〜3は前記各グループを示す。
グループ1:(インデックスが3で割って1余る数)
インデックス集合=(−2)、(1)、(4)、(7)、(10)、(13)、(16)
グループ2:(インデックスが3で割って2余る数)
インデックス集合=(−1)、(2)、(5)、(8)、(11)、(14)、(17)
グループ3:(インデックスが3で割り切れる数)
インデックス集合=(0)、(3)、(6)、(9)、(12)、(15)、(18)
グループ1に属する駆動力は必ず、インデックス(−2)の駆動力X[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ2に属する駆動力は必ず、インデックス(−1)の駆動力X[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ3に属する駆動力は必ず、インデックス(0)の駆動力X[1](基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、同図の中で『トランジスタ・レイアウトデバイス』のリストで示した3つのレイアウトデバイスを使って、X[(1/2)θ]以上の駆動力を全て実現することができるのである。
インデックス集合=(−2)、(1)、(4)、(7)、(10)、(13)、(16)
グループ2:(インデックスが3で割って2余る数)
インデックス集合=(−1)、(2)、(5)、(8)、(11)、(14)、(17)
グループ3:(インデックスが3で割り切れる数)
インデックス集合=(0)、(3)、(6)、(9)、(12)、(15)、(18)
グループ1に属する駆動力は必ず、インデックス(−2)の駆動力X[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ2に属する駆動力は必ず、インデックス(−1)の駆動力X[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ3に属する駆動力は必ず、インデックス(0)の駆動力X[1](基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、同図の中で『トランジスタ・レイアウトデバイス』のリストで示した3つのレイアウトデバイスを使って、X[(1/2)θ]以上の駆動力を全て実現することができるのである。
p=3のとき、「2の3乗根」によるθの値は1.260程度であり、このθを公比とする等比数列であれば、スタンダードセル・ライブラリのセル駆動力系列の刻みとして細密なものだと言える。本発明によれば、この細密な駆動力系列を、X[1]より特に小さな駆動力を除けば、3種類のサイズのレイアウトデバイスの集合によって実現することができるわけであり、高性能設計に必要な駆動力系列の細密化と、高信頼性設計に必要なレイアウトデバイスの限定化を同時に満足することが可能となる。
尚、レイアウトデバイスの種類を増やしてでも、駆動力系列を更に細密にしたいならば、pを大きくとればよい。例えば、pを5まで増やせるならば、公比θは1.149程度まで小さくなり、非常に細密な駆動力系列が可能となるが、その場合でもレイアウトデバイスの種類を僅か5種類に抑えることができるわけである。
(第2の実施形態)
次に、本発明による第2の実施形態について説明する。
次に、本発明による第2の実施形態について説明する。
ここでも、前記第1の実施形態におけると同様に、一つのセル機能を固定し、従ってセルのP/N比も固定して考える。そして、与えられたP/N比に付随するトランジスタの基準サイズをX[1]とし、この基準サイズX[1]のトランジスタを出力信号駆動部のトランジスタとするセルの駆動力を基準駆動力X[1]とする。
ここでは、駆動力系列を等比数列の形に構築する際、「2のべき乗根」の公比から一歩拡張した形の「2のべき乗根のべき乗」という公比を採用したとしても、同様のレイアウトデバイス限定化効果を有することを示す。つまり、この拡張によって、選択できる公比の候補値が増えるので高性能設計に向けたライブラリの最適化を深めることができるのだが、以下で説明するように、レイアウトデバイスのサイズ種類を増やす必要はないのである。
いま、pを2以上のある自然数とし、正の実数θを前記式(1)で定める。よって、前記式(1´)はここでも成立している。そして新たに、qを1以上p未満のある自然数とし、正の実数ωを次の式で定める。
ω = 2q/p …(6)
すなわち、ωは「2のp乗根のq乗」であり、従って、
ωp = 2q …(6´)
である。尚、もしもここでqを1にとれば、前記第1の実施形態に同じである。
すなわち、ωは「2のp乗根のq乗」であり、従って、
ωp = 2q …(6´)
である。尚、もしもここでqを1にとれば、前記第1の実施形態に同じである。
さて、このωを公比とする等比数列の形で駆動力系列を構築すると、どういうことになるのかを説明する。先ず、基準の駆動力であるX[1]自身を、この系列の中に含むことにする。そのとき、駆動力X[1]より大きなところでの駆動力系列は、次のようになる。
X[ω]、X[ω2]、…、X[ωp−1]、X[2q]
、X[2qω]、X[2qω2]、…、X[2qωp−1]、X[22q]
、X[22qω]、X[22qω2]、…、X[22qωp−1]、X[23q]
…(7)
系列(7)の一般項は、kを1以上の任意の自然数として、X[ωk]と書くことができるが、θの定義式(1)及び、ωの定義式(6)より、
ω = θq …(8)
の関係があるので、前記一般項は次のように表現できる。
、X[2qω]、X[2qω2]、…、X[2qωp−1]、X[22q]
、X[22qω]、X[22qω2]、…、X[22qωp−1]、X[23q]
…(7)
系列(7)の一般項は、kを1以上の任意の自然数として、X[ωk]と書くことができるが、θの定義式(1)及び、ωの定義式(6)より、
ω = θq …(8)
の関係があるので、前記一般項は次のように表現できる。
X[1]より大きな駆動力の一般項:
X[ωk]=X[θqk]、kは1以上の整数 …(9)
ここで、前記式(1´)に注目すると、前記駆動力の一般項(9)は全て、次のp通りのトランジスタ・レイアウトデバイスで実現できることが判る。
X[ωk]=X[θqk]、kは1以上の整数 …(9)
ここで、前記式(1´)に注目すると、前記駆動力の一般項(9)は全て、次のp通りのトランジスタ・レイアウトデバイスで実現できることが判る。
トランジスタ・レイアウトデバイスのサイズの集合:
{X[(1/2)・θs]:sは1からpまでの自然数} …(10)
具体的には、kが1以上の自然数のとき、すなわち駆動力X[ωk]が基準の駆動力X[1]より大きいとき、qkをpで割ったときの商をi、余りをjとすると、i及びjは0以上の整数となり、前記集合(10)に示すp通りのレイアウトデバイスを使って、駆動力X[ωk]を次のように実現することができる。
{X[(1/2)・θs]:sは1からpまでの自然数} …(10)
具体的には、kが1以上の自然数のとき、すなわち駆動力X[ωk]が基準の駆動力X[1]より大きいとき、qkをpで割ったときの商をi、余りをjとすると、i及びjは0以上の整数となり、前記集合(10)に示すp通りのレイアウトデバイスを使って、駆動力X[ωk]を次のように実現することができる。
j=0、すなわち、qkがpの倍数ならば、
ωk=2iより、駆動力X[ωk]は、基準サイズX[1]の2i本並列で実現可能。
ωk=2iより、駆動力X[ωk]は、基準サイズX[1]の2i本並列で実現可能。
j=1、2、…、p−1のどれかならば、
ωk=2i+1[(1/2)θj]より、
駆動力X[ωk]は、サイズX[(1/2)・θj]の2i+1本並列で実現可能。
ωk=2i+1[(1/2)θj]より、
駆動力X[ωk]は、サイズX[(1/2)・θj]の2i+1本並列で実現可能。
また、駆動力がX[1]以下のところでの一般項は、kを0又は負の整数として、X[ωk]と書くことができるが、やはり前記式(1´)に注目すると、kが次の不等式
qk ≧ −(p−1) …(11)
を満たす範囲であるならば、前記式(10)に示すp通りのレイアウトデバイスを使って、X[ωk]の駆動力を実現できることが判る。前記式(11)の条件は、次の不等式で言い換えることができることに注意しておく。
qk ≧ −(p−1) …(11)
を満たす範囲であるならば、前記式(10)に示すp通りのレイアウトデバイスを使って、X[ωk]の駆動力を実現できることが判る。前記式(11)の条件は、次の不等式で言い換えることができることに注意しておく。
ωk ≧ (1/2)・θ …(12)
以上をまとめると、前記式(6)で与えられたωを公比とする等比数列の形で駆動力系列を構築すると、その一般項は、kを整数として駆動力X[ωk]となるが、kが前記式(12)を満たす範囲であれば、それらは何れも前記集合(10)で示したp通りのレイアウトデバイスを並列に使うことによって実現することができる。尚、前記集合(10)は、前記集合(5)と同形であることに注意する。すなわち、レイアウトデバイスの種類は前記自然数pに依存して増減するのみで、前記自然数qには依存しないのである。
以上をまとめると、前記式(6)で与えられたωを公比とする等比数列の形で駆動力系列を構築すると、その一般項は、kを整数として駆動力X[ωk]となるが、kが前記式(12)を満たす範囲であれば、それらは何れも前記集合(10)で示したp通りのレイアウトデバイスを並列に使うことによって実現することができる。尚、前記集合(10)は、前記集合(5)と同形であることに注意する。すなわち、レイアウトデバイスの種類は前記自然数pに依存して増減するのみで、前記自然数qには依存しないのである。
いま、例として、自然数pに5を選び、自然数qに2を選んだ場合について、具体的に説明する。このとき、正の実数θは21/5によって定義されるので、θ5=2である。このことに注意しながら、公比ω=22/5の等比数列型の駆動力系列を、ω=θ2の関係に基づくθ表記で表示したものが、図2における[公比ωの等比数列型の駆動力系列]の表である。この表中、X[θ2]の上に記した(1)や、X[4]の上に記した(5)等の数字は、その駆動力の基準駆動力X[1]に対する比を、公比ω(=θ2)のべき乗で見たときの当該べき乗数を指す。やはり、説明の便宜上、この乗数を駆動力のインデックスとして使う。例えば、X[θ2]はX[ω]であるので「(1)番目の駆動力」、X[4]はX[ω5]であるので「(5)番目の駆動力」、またX[(1/2)θ]はX[ω―2]であるので「(−2)番目の駆動力」、という具合である。そのとき、駆動力系列は、最小駆動力をX[(1/2)θ]とし最大駆動力をX[64]とするならば、インデックス(−2)を始まりとして、インデックスが1ずつ増えていく順に、インデックス(15)までが並ぶ。図の表の中で、インデックスを5(すなわちp)の剰余系で分類することによって、X[(1/2)θ]以上の駆動力、すなわち、インデックス(−2)以上の駆動力を5つのグループに分けている。図の符号11〜15は前記各グループを示す。
グループ11:(インデックスが5で割って1余る数)
インデックス集合=(1)、(6)、(11)
グループ12:(インデックスが5で割って2余る数)
インデックス集合=(2)、(7)、(12)
グループ13:(インデックスが5で割って3余る数)
インデックス集合=(−2)、(3)、(8)、(13)
グループ14:(インデックスが5で割って4余る数)
インデックス集合=(−1)、(4)、(9)、(14)
グループ15:(インデックスが5で割り切れる数)
インデックス集合=(0)、(5)、(10)、(15)
グループ11に属する駆動力は必ず、駆動力X[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ12に属する駆動力は必ず、駆動力X[(1/2)θ4]の整数倍になっているので、それらは全てサイズX[(1/2)θ4]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ13に属する駆動力は必ず、駆動力X[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ14に属する駆動力は必ず、駆動力X[(1/2)θ3]の整数倍になっているので、それらは全てサイズX[(1/2)θ3]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ15に属する駆動力は必ず、駆動力X[1](基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、同図の中で『トランジスタ・レイアウトデバイス』のリストで示した5つのレイアウトデバイスを使って、X[(1/2)θ]以上の駆動力を全て実現することができるのである。
インデックス集合=(1)、(6)、(11)
グループ12:(インデックスが5で割って2余る数)
インデックス集合=(2)、(7)、(12)
グループ13:(インデックスが5で割って3余る数)
インデックス集合=(−2)、(3)、(8)、(13)
グループ14:(インデックスが5で割って4余る数)
インデックス集合=(−1)、(4)、(9)、(14)
グループ15:(インデックスが5で割り切れる数)
インデックス集合=(0)、(5)、(10)、(15)
グループ11に属する駆動力は必ず、駆動力X[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ12に属する駆動力は必ず、駆動力X[(1/2)θ4]の整数倍になっているので、それらは全てサイズX[(1/2)θ4]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ13に属する駆動力は必ず、駆動力X[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ14に属する駆動力は必ず、駆動力X[(1/2)θ3]の整数倍になっているので、それらは全てサイズX[(1/2)θ3]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ15に属する駆動力は必ず、駆動力X[1](基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、同図の中で『トランジスタ・レイアウトデバイス』のリストで示した5つのレイアウトデバイスを使って、X[(1/2)θ]以上の駆動力を全て実現することができるのである。
p=5、q=2のとき、「2の5乗根の2乗」によるωの値は1.320程度であるので、このωを公比とする等比数列であれば、スタンダードセル・ライブラリのセル駆動力系列の刻みとして細密なものだと言える。前記第1の実施形態で紹介した、公比が「2の3乗根」すなわち1.260程度の場合と比較すると、公比の値が少し異なる。この少しの差が、ライブラリを実際に設計に適用する際に、ライブラリの最適性の違いとして意味を持つ可能性がある。何れの公比が最適であるかは、具体的な個々の設計で違ってくるであろうが、「2のべき乗根」型公比から「2のべき乗根のべき乗」型公比にまで拡張できるしくみの存在は、公比選択の幅を広げる意味で有効である。
更に、この「2のべき乗根のべき乗」型公比によって、例えば、セル機能Aとセル機能Bとの2つのセル機能の駆動力系列があって、セルが同一のP/N比で設計されるなら、公比を何れも「2のp乗根のべき乗」の形から各々選択することによって、どちらの駆動力系列も共通のp通りのレイアウトデバイスを使って実現することができる。つまり、公比の異なる細密等比数列型の駆動力系列を、共通の離散限定化レイアウトデバイスによって実現することができるのである。これについては、次の第3の実施形態において詳しく説明する。
(第3の実施形態)
続いて、本発明による第3の実施形態について説明する。
続いて、本発明による第3の実施形態について説明する。
実際のスタンダードセル・ライブラリ設計において、全セル機能に亘って最高レベルに細密な駆動力系列を構築することは、ライブラリ中のセル数が膨大になり過ぎてしまうので、好ましくない。従って、細密な駆動力系列が必要なセル機能とそうでないセル機能とを選別すると共に、細密な駆動力系列を必要とするセル機能についても、各セル機能毎に駆動力系列の細密度が必要十分なレベルに最適化されていることが望ましい。ここでは、セルのP/N比が同一であれば、刻みの異なる細密等比数列型の駆動力系列を持つ2つのセル機能について、出力信号駆動部トランジスタを構成するためのレイアウトデバイスを共通化できることを示す。
尚、異なるセル機能の間でP/N比を同一にすることは、程度問題ではあるが、そのライブラリに課せられた設計ニーズに対して、十分な妥当性を持つ場合がある。例えば、2入力AND機能を持つセルを、前段に2入力NAND回路を配して後段の出力信号駆動部にINVERTER回路を配する形で2段構成にする場合に、この2入力ANDセルのP/N比は前記後段のINVERTER回路部分のP/N比を意味するので、これとINVERTERセル(以下、INVセルと略す)のP/N比を共通化する可能性は十分考えられる。その際、例えば、INVセルの駆動力系列をかなり細密にしたい一方で2入力ANDセルの駆動力系列はそれほど細密でなくても構わない、というような事態が生じる。又は、他の例として、2入力NANDセルとINVセルのP/N比を同一に設計することもあり得る。その場合に、両セル機能とも駆動力系列をライブラリの中で相対的に細密にしたいのだが、両系列の刻みを同一にはせず、少しだが違う刻みでそれぞれの駆動力系列の細密度を最適化したいという要望が生じる可能性もある。こういったような場合を想定して、駆動力系列の作り分けとレイアウトデバイスの共通化とを図るのが、ここで説明する実施形態の狙いである。
スタンダードセル・ライブラリ中で、セル機能Aのセルとセル機能Bのセルとを同一のP/N比で設計するとする。そして、セル機能A及びセル機能Bともに、駆動力系列をライブラリの中で相対的に細密にしたいが、セル機能Bの駆動力系列は、セル機能Aの駆動力系列に比較すると、少し刻みが粗くてもいいものとする。この場合に、駆動力系列を共に等比数列の形にするとして、それらの公比を、同じpによる「2のp乗根のべき乗」の形の中からそれぞれ選ぶならば、どちらのセルの駆動力系列も離散的に限定されたp通りのレイアウトデバイスを共通に使って構築できることを示す。
セル機能Aのセルとセル機能BのセルとはP/N比を同一にするので、一つのサイズX[1]を基準にして、共通に出力信号駆動部トランジスタのサイズを表すことができる。しかし、セル機能は異なるので、駆動力については共通の基準を設けることができない。そこで、セル機能Aのセルが、基準サイズX[1]のトランジスタを出力駆動部トランジスタとするときの駆動力をX1[1]とし、これをセル機能Aについての基準駆動力とする。同様に、セル機能Bのセルが、基準サイズX[1]のトランジスタを出力駆動部トランジスタとするときの駆動力をX2[1]とし、これをセル機能Bについての基準駆動力とする。
いま、pを2以上のある自然数とし、正の実数θを前記式(1)で定めるものとし、前記式(1´)はここでも成立する。また、qを1以上p未満のある自然数とし、正の実数ω1を次式で定める。
ω1 = 2q/p …(13)
すなわち、ω1は「2のp乗根のq乗」であり、従って、
ω1 p = 2q …(13´)
が成り立つ。そして、rを前記qより大きなp未満のある自然数とし、正の実数ω2を次式で定める。
すなわち、ω1は「2のp乗根のq乗」であり、従って、
ω1 p = 2q …(13´)
が成り立つ。そして、rを前記qより大きなp未満のある自然数とし、正の実数ω2を次式で定める。
ω2 = 2r/p …(14)
すなわち、ω2は「2のp乗根のr乗」であり、従って、
ω2 p = 2r …(14´)
が成り立つ。ここで、セル機能Aの駆動力系列を公比ω1の等比数列で構築し、セル機能Bの駆動力系列を公比ω2の等比数列で構築することを考える。そうすると、どちらも「2のp乗根のべき乗」型の公比を持ち、q<rより、公比ω2は公比ω1より大きいので、セル機能Bの駆動力系列は、セル機能Aのそれと比較して、刻みが大きく細密度は低くなる。
すなわち、ω2は「2のp乗根のr乗」であり、従って、
ω2 p = 2r …(14´)
が成り立つ。ここで、セル機能Aの駆動力系列を公比ω1の等比数列で構築し、セル機能Bの駆動力系列を公比ω2の等比数列で構築することを考える。そうすると、どちらも「2のp乗根のべき乗」型の公比を持ち、q<rより、公比ω2は公比ω1より大きいので、セル機能Bの駆動力系列は、セル機能Aのそれと比較して、刻みが大きく細密度は低くなる。
さて、先ず前記ω1を公比とする等比数列型のセル機能Aの駆動力系列から見てみる。基準の駆動力であるX1[1]自身を、この系列の中に含むことにするので、駆動力X1[1]より大きなところでの駆動力系列は、次のようになる。
X1[ω1]、X1[ω1 2]、…X1[ω1 p−1]、X1[2q]、
X1[2qω1]、X1[2qω1 2]、…X1[2qω1 p−1]、X1[22q]、
X1[22qω1]、X1[22qω1 2]、…X1[22qω1 p−1]、X1[23q]
…
…(15)
系列(15)の一般項は、kを1以上の任意の自然数として、X[ω1 k]と書くことができるが、θの定義式(1)及び、ω1の定義式(13)より、
ω1 = θq …(16)
の関係があるので、前記一般項は次のように表現できる。
X1[ω1]、X1[ω1 2]、…X1[ω1 p−1]、X1[2q]、
X1[2qω1]、X1[2qω1 2]、…X1[2qω1 p−1]、X1[22q]、
X1[22qω1]、X1[22qω1 2]、…X1[22qω1 p−1]、X1[23q]
…
…(15)
系列(15)の一般項は、kを1以上の任意の自然数として、X[ω1 k]と書くことができるが、θの定義式(1)及び、ω1の定義式(13)より、
ω1 = θq …(16)
の関係があるので、前記一般項は次のように表現できる。
X1[1]より大きな駆動力の一般項:
X1[ω1 k]=X1[θqk]、kは1以上の整数 …(17)
ここで、前記式(1´)に注目すると、前記駆動力の一般項(17)は全て、次のp通りのトランジスタ・レイアウトデバイスで実現できることが判る。
X1[ω1 k]=X1[θqk]、kは1以上の整数 …(17)
ここで、前記式(1´)に注目すると、前記駆動力の一般項(17)は全て、次のp通りのトランジスタ・レイアウトデバイスで実現できることが判る。
トランジスタ・レイアウトデバイスのサイズの集合:
{X[(1/2)・θs]:sは1からpまでの自然数} …(18)
具体的には、kが1以上の自然数のとき、すなわち駆動力X1[ω1 k]が基準の駆動力X1[1]より大きいとき、qkをpで割ったときの商をi、余りをjとすると、i及びjは0以上の整数となり、前記集合(18)のp通りのレイアウトデバイスを使って、駆動力X1[ω1 k]を次のように実現することができる。
{X[(1/2)・θs]:sは1からpまでの自然数} …(18)
具体的には、kが1以上の自然数のとき、すなわち駆動力X1[ω1 k]が基準の駆動力X1[1]より大きいとき、qkをpで割ったときの商をi、余りをjとすると、i及びjは0以上の整数となり、前記集合(18)のp通りのレイアウトデバイスを使って、駆動力X1[ω1 k]を次のように実現することができる。
j=0すなわちqkがpの倍数ならば、
ω1 k=2iより、駆動力X1[ω1 k]は、基準駆動力X1[1]の2i倍だから、
基準サイズX[1]のレイアウトデバイスの2i本並列で実現可能。
ω1 k=2iより、駆動力X1[ω1 k]は、基準駆動力X1[1]の2i倍だから、
基準サイズX[1]のレイアウトデバイスの2i本並列で実現可能。
j=1、2、…、p−1のどれかならば、
ω1 k=2i+1[(1/2)θj]より、
駆動力X1[ω1 k]は、駆動力X1[(1/2)θj]の2i+1倍だから、
サイズX[(1/2)・θj]のレイアウトデバイスの2i+1本並列で実現可能。
ω1 k=2i+1[(1/2)θj]より、
駆動力X1[ω1 k]は、駆動力X1[(1/2)θj]の2i+1倍だから、
サイズX[(1/2)・θj]のレイアウトデバイスの2i+1本並列で実現可能。
また、駆動力がX1[1]以下のところでの一般項は、kを0又は負の整数として、X1[ω1 k]と書くことができるが、やはり前記式(1´)に注目すると、kが次の不等式
qk ≧ −(p−1) …(19)
を満たす範囲であるならば、前記集合(18)のp通りのレイアウトデバイスを使って、X1[ω1 k]の駆動力を実現できることが判る。前記式(19)の条件は、次の不等式で言い換えることができることに注意しておく。
qk ≧ −(p−1) …(19)
を満たす範囲であるならば、前記集合(18)のp通りのレイアウトデバイスを使って、X1[ω1 k]の駆動力を実現できることが判る。前記式(19)の条件は、次の不等式で言い換えることができることに注意しておく。
ω1 k ≧ (1/2)・θ …(20)
つまり、セル機能Aの駆動力系列の一般項は、kを整数として駆動力X1[ω1 k]となるが、kが前記式(20)を満たす範囲であれば、それらは何れも前記集合(18)のp通りのレイアウトデバイスを並列に使うことによって実現することができる。
つまり、セル機能Aの駆動力系列の一般項は、kを整数として駆動力X1[ω1 k]となるが、kが前記式(20)を満たす範囲であれば、それらは何れも前記集合(18)のp通りのレイアウトデバイスを並列に使うことによって実現することができる。
次に、前記ω2を公比とする等比数列型のセル機能Bの駆動力系列を見るのだが、やはり基準の駆動力であるX2[1]自身をこの系列の中に含むことにするので、前記セル機能Aの駆動力系列についての議論と形式的には同じ議論ができる。ここでは、要点だけ述べておく。先ず、
ω2 = θr …(21)
の関係があるので、セル機能Bの駆動力系列の一般項は次のように表現できる。
ω2 = θr …(21)
の関係があるので、セル機能Bの駆動力系列の一般項は次のように表現できる。
セル機能Bの駆動力系列の一般項:
X2[ω2 k]=X2[θrk]、kは整数 …(22)
kが1以上の自然数のとき、すなわち駆動力X2[ω2 k]が基準の駆動力X2[1]より大きいとき、rkをpで割ったときの商をi、余りをjとすると、i及びjは0以上の整数となり、前記集合(18)のp通りのレイアウトデバイスを使って、駆動力X2[ω2 k]を次のように実現することができる。
X2[ω2 k]=X2[θrk]、kは整数 …(22)
kが1以上の自然数のとき、すなわち駆動力X2[ω2 k]が基準の駆動力X2[1]より大きいとき、rkをpで割ったときの商をi、余りをjとすると、i及びjは0以上の整数となり、前記集合(18)のp通りのレイアウトデバイスを使って、駆動力X2[ω2 k]を次のように実現することができる。
j=0すなわちrkがpの倍数ならば、
ω2 k=2iより、駆動力X2[ω2 k]は、基準駆動力X2[1]の2i倍だから、
基準サイズX[1]のレイアウトデバイスの2i本並列で実現可能。
ω2 k=2iより、駆動力X2[ω2 k]は、基準駆動力X2[1]の2i倍だから、
基準サイズX[1]のレイアウトデバイスの2i本並列で実現可能。
j=1、2、…、p−1のどれかならば、
ω2 k=2i+1[(1/2)θj]より、
駆動力X2[ω2 k]は、駆動力X2[(1/2)θj]の2i+1倍だから、
サイズX[(1/2)・θj]のレイアウトデバイスの2i+1本並列で実現可能。
ω2 k=2i+1[(1/2)θj]より、
駆動力X2[ω2 k]は、駆動力X2[(1/2)θj]の2i+1倍だから、
サイズX[(1/2)・θj]のレイアウトデバイスの2i+1本並列で実現可能。
また、駆動力がX2[1]以下のところでは、前記一般項(22)でkを0又は負の整数とすればよいが、やはり前記式(1´)に注目すると、kが次の不等式
rk ≧ −(p−1) …(23)
を満たす範囲であるならば、前記集合(18)のp通りのレイアウトデバイスを使って、X2[ω2 k]の駆動力を実現できることが判る。尚、前記式(23)の条件は、次の不等式で言い換えることができる。
rk ≧ −(p−1) …(23)
を満たす範囲であるならば、前記集合(18)のp通りのレイアウトデバイスを使って、X2[ω2 k]の駆動力を実現できることが判る。尚、前記式(23)の条件は、次の不等式で言い換えることができる。
ω2 k ≧ (1/2)・θ …(24)
つまり、セル機能Bの駆動力系列の一般項は、kを整数として駆動力X2[ω2 k]となるが、kが前記式(24)を満たす範囲であれば、それらは何れも前記集合(18)のp通りのレイアウトデバイスを並列に使うことによって実現することができる。
つまり、セル機能Bの駆動力系列の一般項は、kを整数として駆動力X2[ω2 k]となるが、kが前記式(24)を満たす範囲であれば、それらは何れも前記集合(18)のp通りのレイアウトデバイスを並列に使うことによって実現することができる。
よって、セル機能Aの駆動力系列も、セル機能Bの駆動力系列も、セルが同一のP/N比で設計されるならば、公比を何れも「2のp乗根のべき乗」の形から選択することによって、先の前記集合(18)のp通りのレイアウトデバイスを使って実現できることを、確認できた。すなわち、公比の異なる駆動力系列を共通の離散限定化レイアウトデバイスで実現することができるのである。
いま、自然数pに5を選び、自然数qに2を、自然数rに3を、それぞれ選んだ場合を例にとって、具体的に説明する。このとき、正の実数θは21/5によって定義されるので、θ5=2である。公比ω1=22/5の等比数列型の駆動力系列を、ω1=θ2の関係に基づくθ表記で表示したものが、図3における[駆動力系列1(公比ω1=22/5=θ2)]の表である。この表中、X1[θ2]の上に記した(1)や、X1[4]の上に記した(5)等の数字は、その駆動力の基準駆動力X1[1]に対する比を、公比ω1(=θ2)のべき乗で見たときの当該べき乗数を指す。やはり、説明の便宜上、この乗数を駆動力のインデックスとして使う。例えば、X1[θ2]はX1[ω1]であるので「(1)番目の駆動力」、X1[4]はX1[ω1 5]であるので「(5)番目の駆動力」、またX1[(1/2)θ]はX1[ω1 ―2]であるので「(−2)番目の駆動力」、という具合である。そのとき、駆動力系列は、最小駆動力をX1[(1/2)θ]とし、最大駆動力をX1[64]とするならば、インデックス(−2)を始まりとして、インデックスが1ずつ増えていく順に、インデックス(15)までが並ぶ。この表の中で、インデックスを5(すなわちp)の剰余系で分類することによって、X1[(1/2)θ]以上の駆動力すなわち、インデックス(−2)以上の駆動力を5つのグループに分けている。同図の符号21〜25は前記各グループを示す。
グループ21:(インデックスが5で割って1余る数)
インデックス集合=(1)、(6)、(11)
グループ22:(インデックスが5で割って2余る数)
インデックス集合=(2)、(7)、(12)
グループ23:(インデックスが5で割って3余る数)
インデックス集合=(−2)、(3)、(8)、(13)
グループ24:(インデックスが5で割って4余る数)
インデックス集合=(−1)、(4)、(9)、(14)
グループ25:(インデックスが5で割り切れる数)
インデックス集合=(0)、(5)、(10)、(15)
グループ21に属する駆動力は必ず、駆動力X1[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ22に属する駆動力は必ず、駆動力X1[(1/2)θ4]の整数倍になっているので、それらは全てサイズX[(1/2)θ4]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ23に属する駆動力は必ず、駆動力X1[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ24に属する駆動力は必ず、駆動力X1[(1/2)θ3]の整数倍になっているので、それらは全てサイズX[(1/2)θ3]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ25に属する駆動力は必ず、駆動力X1[1](系列1の基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、図3の『トランジスタ・レイアウトデバイス』リストで示した5つのレイアウトデバイスを使って、X1[(1/2)θ2]以上の駆動力を全て実現することができるのである。
インデックス集合=(1)、(6)、(11)
グループ22:(インデックスが5で割って2余る数)
インデックス集合=(2)、(7)、(12)
グループ23:(インデックスが5で割って3余る数)
インデックス集合=(−2)、(3)、(8)、(13)
グループ24:(インデックスが5で割って4余る数)
インデックス集合=(−1)、(4)、(9)、(14)
グループ25:(インデックスが5で割り切れる数)
インデックス集合=(0)、(5)、(10)、(15)
グループ21に属する駆動力は必ず、駆動力X1[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ22に属する駆動力は必ず、駆動力X1[(1/2)θ4]の整数倍になっているので、それらは全てサイズX[(1/2)θ4]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ23に属する駆動力は必ず、駆動力X1[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ24に属する駆動力は必ず、駆動力X1[(1/2)θ3]の整数倍になっているので、それらは全てサイズX[(1/2)θ3]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ25に属する駆動力は必ず、駆動力X1[1](系列1の基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、図3の『トランジスタ・レイアウトデバイス』リストで示した5つのレイアウトデバイスを使って、X1[(1/2)θ2]以上の駆動力を全て実現することができるのである。
次に、公比ω2=23/5の等比数列型の駆動力系列を、ω2=θ3の関係に基づくθ表記で表示したものが、図3における[駆動力系列2(公比ω2=23/5=θ3)]の表である。この表中、X2[θ3]の上に記した(1)や、X2[8]の上に記した(5)等の数字は、その駆動力の基準駆動力X2[1]に対する比を、公比ω2(=θ3)のべき乗で見たときの当該べき乗数を指す。やはり、説明の便宜上、この乗数を駆動力のインデックスとして使う。例えば、X2[θ3]はX2[ω2]であるので「(1)番目の駆動力」、X2[8]はX2[ω2 5]であるので「(5)番目の駆動力」、またX2[(1/2)θ2]はX2[ω2 ―1]であるので「(−1)番目の駆動力」、という具合である。そのとき、駆動力系列は、最小駆動力をX2[(1/2)θ2]とし、最大駆動力をX2[64]とするならば、インデックス(−1)を始まりとして、インデックスが1ずつ増えていく順に、インデックス(10)までが並ぶ。この表の中で、インデックスを5(すなわちp)の剰余系で分類することによって、X2[(1/2)θ2]以上の駆動力、すなわち、インデックス(−1)以上の駆動力を5つのグループに分けている。同図の符号31〜35は前記各グループを示す。
グループ31:(インデックスが5で割って1余る数)
インデックス集合=(1)、(6)
グループ32:(インデックスが5で割って2余る数)
インデックス集合=(2)、(7)
グループ33:(インデックスが5で割って3余る数)
インデックス集合=(3)、(8)
グループ34:(インデックスが5で割って4余る数)
インデックス集合=(−1)、(4)、(9)
グループ35:(インデックスが5で割り切れる数)
インデックス集合=(0)、(5)、(10)
グループ31に属する駆動力は必ず、駆動力X2[(1/2)θ3]の整数倍になっているので、それらは全てサイズX[(1/2)θ3]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ32に属する駆動力は必ず、駆動力X2[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ33に属する駆動力は必ず、駆動力X2[(1/2)θ4]の整数倍になっているので、それらは全てサイズX[(1/2)θ4]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ34に属する駆動力は必ず、駆動力X2[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ35に属する駆動力は必ず、駆動力X2[1](系列2の基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、図3の『トランジスタ・レイアウトデバイス』リストで示した5つのレイアウトデバイスを使って、X2[(1/2)θ2]以上の駆動力を全て実現することができるのである。
インデックス集合=(1)、(6)
グループ32:(インデックスが5で割って2余る数)
インデックス集合=(2)、(7)
グループ33:(インデックスが5で割って3余る数)
インデックス集合=(3)、(8)
グループ34:(インデックスが5で割って4余る数)
インデックス集合=(−1)、(4)、(9)
グループ35:(インデックスが5で割り切れる数)
インデックス集合=(0)、(5)、(10)
グループ31に属する駆動力は必ず、駆動力X2[(1/2)θ3]の整数倍になっているので、それらは全てサイズX[(1/2)θ3]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ32に属する駆動力は必ず、駆動力X2[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ33に属する駆動力は必ず、駆動力X2[(1/2)θ4]の整数倍になっているので、それらは全てサイズX[(1/2)θ4]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ34に属する駆動力は必ず、駆動力X2[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ35に属する駆動力は必ず、駆動力X2[1](系列2の基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、図3の『トランジスタ・レイアウトデバイス』リストで示した5つのレイアウトデバイスを使って、X2[(1/2)θ2]以上の駆動力を全て実現することができるのである。
以上をまとめると、前記[駆動力系列1(公比ω1=22/5=θ2)]中の全ての駆動力も、前記[駆動力系列2(公比ω2=23/5=θ3)]中の全ての駆動力も、前記リスト『トランジスタ・レイアウトデバイス』の5つのレイアウトデバイスによって、ともに実現できることが確かめられた。
p=5、q=2、r=3のとき、ω1=22/5の値は1.320程度、ω2=23/5=1.516程度であるので、それぞれを公比とする等比数列型の駆動力系列の細密度には、確かに有意な差が存在する。それらを、5つのレイアウトデバイスだけで、作り分けることができるのである。
また、いま、p=5、q=1、r=2とすれば、ω1=21/5の値は1.149程度、ω2=22/5=1.320程度であるので、それぞれを公比とする等比数列型の駆動力系列の細密度は何れも高く、特にω1を公比とする等比数列型の駆動力系列は際立って細密な刻みとなる。それらを、5つのレイアウトデバイスだけで、作り分けることができるのである。
本実施形態では、2つの異なるセル機能に対して、刻みの異なる細密等比数列型の駆動力系列を共通のレイアウトデバイスによって実現できる可能性を議論してきたが、前記の議論を進めるにおいて前提にしたのは、セル機能Aのセルとセル機能Bのセルとを同一のP/N比で設計すること、及び各々の駆動力系列を同じ自然数pによる「2のp乗根のべき乗」の形の公比を持つ等比数列型に設計すること、という2点のみであった。従って、実はこの議論は、セル機能Aとセル機能Bとが同一であっても、成り立つものである。そこで、本実施形態の中で、一つのセル機能に対して、刻みの異なる2通りの等比数列型の駆動力系列を持たせることの有効性について、触れておく。
特に高速回路の設計に適用するスタンダードセル・ライブラリにおいて、INVERTERなど基本的な機能のセルについては、相当に大きな駆動力まで駆動力の系列を用意しておく必要があるが、そのとき、基準駆動力からその大駆動力までを細密等比数列型の駆動力系列で実現するには、多くのセル数を要する。一般的に回路の消費電力を抑えるためには、スタンダードセル・ライブラリの駆動力の比較的小さなところでの刻みを細かくすることが効果的であり、また回路の速度性能を上げるためには最大駆動力を高くしておくことが必要だと考えられるので、ライブラリとしての最適性を維持しながらセル数の膨張を抑制するために、比較的小さな駆動力のところでは刻みを細かくして、駆動力の大きなところでは刻みを広げて、できるだけ大きな駆動力までカバーできるようにしておくことが有効となる。すなわち、一つのセル機能について、比較的駆動力の小さなところと駆動力の大きなところとを、刻みの異なる2通りの駆動力系列によって実現することが必要となるが、この場合、セルは同一のP/N比で設計されるので、前記本実施形態についての議論から、同じpによる「2のp乗根のべき乗」の形の公比から2通りの公比を選択すれば、p通りのレイアウトデバイスを共通に使って駆動力系列を等比数列型に設計することが可能なのである。
いま、自然数pに5を選び、正の実数θを21/5によって定義する。駆動力の小さなところでは公比θ2の等比数列型の駆動力系列をなし、駆動力の大きなところでは公比θ3の等比数列型の駆動力系列をなすような、一つのセル機能についての駆動力系列の例を、図11の『駆動力系列』表に示す。この表中、<1>、<2>等は単純に、一番小さな駆動力から一番大きな駆動力までに順に番号を振ったものであり、<1>のX[(1/2)θ]から<9>のX[4θ2]までは公比θ2の等比数列型駆動力系列であり、<9>のX[4θ2]から<15>のX[64]までは公比θ3の等比数列型駆動力系列である。本実施形態の説明で既述の図3において、『駆動力系列1』のインデックス(−2)から(6)までの駆動力と、『駆動力系列2』のインデックス(4)から(10)までの駆動力を選び、X[4θ2]が共通に含まれていることに注意しながら、あわせて一列に並べることによって、前記図11の『駆動力系列』をつくることができる。従って、前記図11の『駆動力系列』は、前記図3の5つの「トランジスタ・レイアウトデバイス」によって実現できることが判る。
前記図3の『駆動力系列1』の場合であれば、18通りの駆動力でカバーしていた範囲を、前記図11の『駆動力系列』では15通りの駆動力でカバーしており、セル数を抑制する効果のあることが判る。公比を切り替えるポイントと、駆動力の大きい側での公比を見直すことによって、更なる抑制も可能となる。
前記図3の『駆動力系列1』の場合であれば、18通りの駆動力でカバーしていた範囲を、前記図11の『駆動力系列』では15通りの駆動力でカバーしており、セル数を抑制する効果のあることが判る。公比を切り替えるポイントと、駆動力の大きい側での公比を見直すことによって、更なる抑制も可能となる。
(第4の実施形態)
更に、本発明による第4の実施形態について説明する。
更に、本発明による第4の実施形態について説明する。
前記第1、第2、第3の何れの実施形態においても、出力信号駆動部のトランジスタは、一つのサイズのトランジスタ・レイアウトデバイスを繰り返し並べて並列に使うことによって、実現することができた。ここでは、駆動力に僅かな誤差を許し、異なるサイズのレイアウトデバイスを組み合わせて近似的に駆動力を実現することによって、並列に並べるレイアウトデバイス本数の大幅な削減が可能となることを、二つの具体例に基づいて説明する。
先ず、駆動力系列が等比数列で、公比が「2のp乗根」のとき、p=3とした場合を取り上げる。これは、第1の実施形態の説明で用いた前記図1の例に同じであるので、そこで用いた記号、記法をそのまま同じ意味で用いる。例えば、θは正の実数であり、21/3によって定義される。また、駆動力に与えるインデックスも同じである。そして、図4に記載の表[公比θの等比数列型の駆動力系列]は、第1の実施形態にかかる図1に記載の駆動力系列と同じ系列を、インデックス(−2)以上すなわち駆動力がX[(1/2)・θ]以上のところについて再記したものであるが、図4の表では、あらためて、各駆動力をレイアウトデバイスの並列配置で実現するための並列本数を記載している。例えば、駆動力X[θ]はグループ1に属するので、サイズX[(1/2)θ]のトランジスタを繰り返し並べれば実現できることは第1の実施形態において説明済みだが、具体的な本数は2本である。尚、図4に記載のリスト『トランジスタ・レイアウトデバイス』で示したレイアウトデバイスの集合は、第1の実施形態で記した前記集合(5)でp=3とした場合に同じであるが、参照の便宜のため、あらためて次に記す。
トランジスタ・レイアウトデバイスのサイズの集合:
{X[(1/2)・θ]、X[(1/2)・θ2]、X[1]} …(25)
さて、実際の半導体集積回路設計では、設計グリッドと呼ばれる長さの最小単位が存在するので、トランジスタ・サイズX[(1/2)・θ]など、θ=21/3を使って表示された厳密なサイズをそのまま設計に使えるわけではない。いま、仮に、設計グリッドが基準サイズX[1]の1/1000に相当するとする。そのとき、前記集合(25)の3通りのレイアウトデバイスを設計で使用する数値表示に書き換えたものが、図5のリスト『トランジスタ・レイアウトデバイスの数値表示』であり、参照の便宜のため、集合(26)として次に記す。
{X[(1/2)・θ]、X[(1/2)・θ2]、X[1]} …(25)
さて、実際の半導体集積回路設計では、設計グリッドと呼ばれる長さの最小単位が存在するので、トランジスタ・サイズX[(1/2)・θ]など、θ=21/3を使って表示された厳密なサイズをそのまま設計に使えるわけではない。いま、仮に、設計グリッドが基準サイズX[1]の1/1000に相当するとする。そのとき、前記集合(25)の3通りのレイアウトデバイスを設計で使用する数値表示に書き換えたものが、図5のリスト『トランジスタ・レイアウトデバイスの数値表示』であり、参照の便宜のため、集合(26)として次に記す。
トランジスタ・レイアウトデバイスのサイズの集合(数値表示):
{X[0.630]、X[0.794]、X[1.000]} …(26)
また、駆動力の表もθ表示から数値表示に書き換えると、図5の表[公比θの等比数列型の駆動力系列の近似]のようになり、前記図4の表とは、インデックスを通じて駆動力同士が一対一に対応する。例えば、図4の表中でインデックス(1)の駆動力X[θ]は、図5の表中でインデックスが同じ(1)の駆動力X[1.260]に書き換えられ、又は図4の表中でインデックス(11)の駆動力X[8θ2]は、図5の表中でインデックスが同じ(11)の駆動力X[12.699]に書き換えられる、という具合である。ここで、数値表示されたレイアウトデバイスの集合(26)と図5の駆動力系列表の駆動力数値を見比べると、一部の駆動力については、一種類のレイアウトデバイス、すなわち第1の実施形態に係る図1のグループ分類に則った厳密に対応するレイアウトデバイスに固執しなくても、レイアウトデバイスX[1.000]をできるだけ多く使った上で他の種類のデバイスで足りない部分を補えば、相当精度の良い近似駆動力を得られることが判る。例えば、インデックス(7)の駆動力X[4θ]は数値表示でX[5.040]であるが、これをX[5.000]で近似してやれば、レイアウトデバイスX[1.000]の5本並列で実現できる。そのときの駆動力の誤差は、駆動力が下がる方向に僅か0.8%であって、一方で並列本数は8本から5本に削減されるので、削減率は37.5%にもなる。この並列本数の削減分だけセル幅を削減できるので、前記近似によって実質的に駆動力を変更することなく、セル面積を大幅に縮小することができることになる。このように近似が有効な駆動力は他にもあって、例えば、インデックス(14)の駆動力X[16θ2]は数値表示でX[25.398]であるが、これをX[25.260]で近似してやれば、レイアウトデバイスX[1.000]の24本とレイアウトデバイスX[0.630]の2本のあわせて26本並列で実現できる。そのときの駆動力の誤差は、駆動力が下がる方向に僅か0.5%であって、一方で並列本数は32本から26本に削減されるので、削減率は18.7%になる。図5の前記表[公比θの等比数列型の駆動力系列の近似]には、各駆動力の数値表示に加えて、このような近似が有効な駆動力について、近似誤差と並列本数の削減度を記している。インデックス(7)から(18)までの中間駆動力及び高駆動力のところで、12個の駆動力のうちの7つにおいて、実質的な駆動力を変更せずに、大幅な並列本数の削減が可能であることが判る。
{X[0.630]、X[0.794]、X[1.000]} …(26)
また、駆動力の表もθ表示から数値表示に書き換えると、図5の表[公比θの等比数列型の駆動力系列の近似]のようになり、前記図4の表とは、インデックスを通じて駆動力同士が一対一に対応する。例えば、図4の表中でインデックス(1)の駆動力X[θ]は、図5の表中でインデックスが同じ(1)の駆動力X[1.260]に書き換えられ、又は図4の表中でインデックス(11)の駆動力X[8θ2]は、図5の表中でインデックスが同じ(11)の駆動力X[12.699]に書き換えられる、という具合である。ここで、数値表示されたレイアウトデバイスの集合(26)と図5の駆動力系列表の駆動力数値を見比べると、一部の駆動力については、一種類のレイアウトデバイス、すなわち第1の実施形態に係る図1のグループ分類に則った厳密に対応するレイアウトデバイスに固執しなくても、レイアウトデバイスX[1.000]をできるだけ多く使った上で他の種類のデバイスで足りない部分を補えば、相当精度の良い近似駆動力を得られることが判る。例えば、インデックス(7)の駆動力X[4θ]は数値表示でX[5.040]であるが、これをX[5.000]で近似してやれば、レイアウトデバイスX[1.000]の5本並列で実現できる。そのときの駆動力の誤差は、駆動力が下がる方向に僅か0.8%であって、一方で並列本数は8本から5本に削減されるので、削減率は37.5%にもなる。この並列本数の削減分だけセル幅を削減できるので、前記近似によって実質的に駆動力を変更することなく、セル面積を大幅に縮小することができることになる。このように近似が有効な駆動力は他にもあって、例えば、インデックス(14)の駆動力X[16θ2]は数値表示でX[25.398]であるが、これをX[25.260]で近似してやれば、レイアウトデバイスX[1.000]の24本とレイアウトデバイスX[0.630]の2本のあわせて26本並列で実現できる。そのときの駆動力の誤差は、駆動力が下がる方向に僅か0.5%であって、一方で並列本数は32本から26本に削減されるので、削減率は18.7%になる。図5の前記表[公比θの等比数列型の駆動力系列の近似]には、各駆動力の数値表示に加えて、このような近似が有効な駆動力について、近似誤差と並列本数の削減度を記している。インデックス(7)から(18)までの中間駆動力及び高駆動力のところで、12個の駆動力のうちの7つにおいて、実質的な駆動力を変更せずに、大幅な並列本数の削減が可能であることが判る。
二つ目の例として、同じく駆動力系列が等比数列で、公比が「2のp乗根のq乗」のとき、p=5、q=2とした場合を取り上げる。これは、第2の実施形態の説明で用いた前記図2の例に同じであるので、そこで用いた記号、記法をそのまま同じ意味で用いる。例えば、θは正の実数であり、21/5によって定義される。公比ωは22/5=θ2である。また、駆動力に与えるインデックスも同じである。そして、図6に記載の表[公比ωの等比数列型の駆動力系列]は、第2の実施形態にかかる図2に記載の駆動力系列と同じ系列を再記したものであるが、図6の表では、あらためて、各駆動力をレイアウトデバイスの並列配置で実現するための並列本数を記載している。例えば、駆動力X[θ2]はグループ11に属するので、サイズX[(1/2)θ2]のトランジスタを繰り返し並べれば実現できることは第2の実施形態において説明済みだが、具体的な本数は2本である。尚、図6に記載のリスト『トランジスタ・レイアウトデバイス』で示したレイアウトデバイスの集合は、第2の実施形態で記した前記集合(10)でp=5とした場合に同じであるが、参照の便宜のため、あらためて次に記す。
トランジスタ・レイアウトデバイスのサイズの集合:
{X[(1/2)・θ]、X[(1/2)・θ2]、X[(1/2)・θ3]
、X[(1/2)・θ4]、X[1]} …(27)
前記一つ目の例のときと同様、設計グリッドが基準サイズX[1]の1/1000に相当するとする。そのとき、前記集合(27)の5通りのレイアウトデバイスを設計で使用する数値表示に書き換えたものが、図7のリスト『トランジスタ・レイアウトデバイスの数値表示』であり、参照の便宜のため、集合(28)として次に記す。
{X[(1/2)・θ]、X[(1/2)・θ2]、X[(1/2)・θ3]
、X[(1/2)・θ4]、X[1]} …(27)
前記一つ目の例のときと同様、設計グリッドが基準サイズX[1]の1/1000に相当するとする。そのとき、前記集合(27)の5通りのレイアウトデバイスを設計で使用する数値表示に書き換えたものが、図7のリスト『トランジスタ・レイアウトデバイスの数値表示』であり、参照の便宜のため、集合(28)として次に記す。
トランジスタ・レイアウトデバイスのサイズの集合(数値表示):
{X[0.574]、X[0.660]、X[0.758]、X[0.871]
、X[1.000]} …(28)
また、駆動力の表もθ表示から数値表示に書き換えると、図7の表[公比ωの等比数列型の駆動力系列の近似]のようになり、前記図6の表とは、インデックスを通じて駆動力同士が一対一に対応する。例えば、図6の表中でインデックス(1)の駆動力X[θ2]は、図7の表中でインデックスが同じ(1)の駆動力X[1.320]に書き換えられ、又は図6の表中でインデックス(8)の駆動力X[8θ]は、図7の表中でインデックスが同じ(8)の駆動力X[9.190]に書き換えられる、という具合である。ここで、数値表示されたレイアウトデバイスの集合(28)と図7の駆動力系列表の駆動力数値を見比べると、一部の駆動力については、一種類のレイアウトデバイス、すなわち第2の実施形態に係る図2のグループ分類に則った厳密に対応するレイアウトデバイスに固執しなくても、レイアウトデバイスX[1.000]をできるだけ多く使った上で他の種類のデバイスで足りない部分を補えば、相当精度の良い近似駆動力を得られることが判る。例えば、インデックス(6)の駆動力X[4θ2]は数値表示でX[5.278]であるが、これをX[5.320]で近似してやれば、レイアウトデバイスX[1.000]の4本並列とレイアウトデバイスX[0.660]の2本並列のあわせて6本並列で実現できる。そのときの駆動力の誤差は、駆動力が上がる方向に僅か0.8%であって、一方で並列本数は8本から6本に削減されるので、削減率は25.0%にもなる。この並列本数の削減分だけセル幅を削減できるので、前記近似によって実質的に駆動力を変更することなく、セル面積を大幅に縮小することができることになる。このように近似が有効な駆動力は他にもあって、例えば、インデックス(9)の駆動力X[8θ3]は数値表示でX[12.126]であるが、これをX[12.149]で近似してやれば、レイアウトデバイスX[1.000]の11本とレイアウトデバイスX[0.574]の2本のあわせて13本並列で実現できる。そのときの駆動力の誤差は、駆動力が上がる方向に僅か0.2%であって、一方で並列本数は16本から13本に削減されるので、削減率は18.75%になる。図7の前記表[公比ωの等比数列型の駆動力系列の近似]には、各駆動力の数値表示に加えて、このような近似が有効な駆動力について、近似誤差と並列本数の削減度を記している。インデックス(6)〜(15)までの中間駆動力及び高駆動力のところで、10個の駆動力のうちの8つにおいて、実質的な駆動力を変更せずに、大幅な並列本数の削減が可能であることが判る。
{X[0.574]、X[0.660]、X[0.758]、X[0.871]
、X[1.000]} …(28)
また、駆動力の表もθ表示から数値表示に書き換えると、図7の表[公比ωの等比数列型の駆動力系列の近似]のようになり、前記図6の表とは、インデックスを通じて駆動力同士が一対一に対応する。例えば、図6の表中でインデックス(1)の駆動力X[θ2]は、図7の表中でインデックスが同じ(1)の駆動力X[1.320]に書き換えられ、又は図6の表中でインデックス(8)の駆動力X[8θ]は、図7の表中でインデックスが同じ(8)の駆動力X[9.190]に書き換えられる、という具合である。ここで、数値表示されたレイアウトデバイスの集合(28)と図7の駆動力系列表の駆動力数値を見比べると、一部の駆動力については、一種類のレイアウトデバイス、すなわち第2の実施形態に係る図2のグループ分類に則った厳密に対応するレイアウトデバイスに固執しなくても、レイアウトデバイスX[1.000]をできるだけ多く使った上で他の種類のデバイスで足りない部分を補えば、相当精度の良い近似駆動力を得られることが判る。例えば、インデックス(6)の駆動力X[4θ2]は数値表示でX[5.278]であるが、これをX[5.320]で近似してやれば、レイアウトデバイスX[1.000]の4本並列とレイアウトデバイスX[0.660]の2本並列のあわせて6本並列で実現できる。そのときの駆動力の誤差は、駆動力が上がる方向に僅か0.8%であって、一方で並列本数は8本から6本に削減されるので、削減率は25.0%にもなる。この並列本数の削減分だけセル幅を削減できるので、前記近似によって実質的に駆動力を変更することなく、セル面積を大幅に縮小することができることになる。このように近似が有効な駆動力は他にもあって、例えば、インデックス(9)の駆動力X[8θ3]は数値表示でX[12.126]であるが、これをX[12.149]で近似してやれば、レイアウトデバイスX[1.000]の11本とレイアウトデバイスX[0.574]の2本のあわせて13本並列で実現できる。そのときの駆動力の誤差は、駆動力が上がる方向に僅か0.2%であって、一方で並列本数は16本から13本に削減されるので、削減率は18.75%になる。図7の前記表[公比ωの等比数列型の駆動力系列の近似]には、各駆動力の数値表示に加えて、このような近似が有効な駆動力について、近似誤差と並列本数の削減度を記している。インデックス(6)〜(15)までの中間駆動力及び高駆動力のところで、10個の駆動力のうちの8つにおいて、実質的な駆動力を変更せずに、大幅な並列本数の削減が可能であることが判る。
ここで説明した内容は、レイアウトデバイスのサイズや駆動力系列に現れる出力信号駆動部のトランジスタ・サイズの具体的な数値に基づく近似手法であるから、一般のp、qの場合を定量的に議論することはできない。しかし、ここで示した2つの場合によって実用上の有効性は確認できたものと考えられる。
(レイアウトデバイス、レイアウト及び半導体集積回路の一例)
図8は、INVセルを例として、そのINVセルの駆動力系列を、公比θを2の3乗根(θ=21/3)とした場合の公比θの等比数列に実現する場合の3通りのレイアウトデバイスを示す。同図において、この3通りのレイアウトデバイスは、INVセル用の基準サイズX[1]のレイアウトデバイス51と、INVセル用のサイズX[(1/2)θ]のレイアウトデバイス52と、INVセル用のサイズX[(1/2)θ2]のレイアウトデバイス53である。尚、同図において、41はセル高さを示すセル枠、42はセル高さ、43はP型トランジスタ・レイアウトデバイスの配置可能領域、44はN型トランジスタ・レイアウトデバイスの配置可能領域、45はP型トランジスタ・レイアウトデバイス、46はN型トランジスタ・レイアウトデバイスである。
図8は、INVセルを例として、そのINVセルの駆動力系列を、公比θを2の3乗根(θ=21/3)とした場合の公比θの等比数列に実現する場合の3通りのレイアウトデバイスを示す。同図において、この3通りのレイアウトデバイスは、INVセル用の基準サイズX[1]のレイアウトデバイス51と、INVセル用のサイズX[(1/2)θ]のレイアウトデバイス52と、INVセル用のサイズX[(1/2)θ2]のレイアウトデバイス53である。尚、同図において、41はセル高さを示すセル枠、42はセル高さ、43はP型トランジスタ・レイアウトデバイスの配置可能領域、44はN型トランジスタ・レイアウトデバイスの配置可能領域、45はP型トランジスタ・レイアウトデバイス、46はN型トランジスタ・レイアウトデバイスである。
また、図9は、同様に、INVセルを例として、そのINVセルの駆動力系列を、公比θを2の3乗根(θ=21/3)とした場合の公比θの等比数列に実現する場合のINVセルの駆動力と対応するレイアウトを示す。同図において、61は基準駆動力X[1]に対応するインデックス(0)のINNVセル、62は駆動力X[(1/2)θ]に対応するインデックス(−2)のINNVセル、63は駆動力X[(1/2)θ2]に対応するインデックス(−1)のINNVセルである。また、64は前記駆動力X[(1/2)θ]に対応するインデックス(−2)のINNVセル62を2個繰り返し並べる形態でレイアウトされた駆動力X[θ]に対応するインデックス(1)のINNVセル、65は前記駆動力X[(1/2)θ2]に対応するインデックス(−1)のINNVセル63を2個繰り返し並べる形態でレイアウトされた駆動力X[θ2]に対応するインデックス(2)のINNVセル、66は前記基準駆動力X[1]に対応するインデックス(0)のINNVセル61を2個繰り返し並べる形態でレイアウトされた駆動力X[2]に対応するインデックス(3)のINNVセルである。更に、67は前記駆動力X[θ]に対応するインデックス(1)のINNVセル64を2個繰り返し並べる形態でレイアウトされた駆動力X[2θ]に対応するインデックス(4)のINNVセル、68は前記駆動力X[θ2]に対応するインデックス(2)のINNVセル65を2個繰り返し並べる形態でレイアウトされた駆動力X[2θ2]に対応するインデックス(5)のINNVセル、69は前記駆動力X[2]に対応するインデックス(3)のINNVセルを2個繰り返し並べる形態でレイアウトされた駆動力X[4]に対応するインデックス(6)のINNVセルである。
更に、図10は、同様に、INVセルを例として、そのINVセルの駆動力系列を、公比θを2の3乗根(θ=21/3)とした場合の公比θの等比数列に実現する場合のスタンダードセル・ライブラリによって、各INVセルをスタンダードセル領域に並べて半導体集積回路を形成する様子を示す。図10において、同図左側には公比θを2の3乗根(θ=21/3)とした場合の公比θの等比数列に実現する場合のスタンダードセル・ライブラリに含まれる9種のINVセル、すなわち、基準駆動力X[1]でインデックス(0)のINVセル101と、駆動力X[(1/2)θ]でインデックス(−2)のINVセル102と、駆動力X[(1/2)θ2]でインデックス(−1)のINVセル103と、駆動力X[θ]でインデックス(1)のINVセル104と、駆動力X[θ2]でインデックス(2)のINVセル105と、駆動力X[2]でインデックス(3)のINVセル106と、駆動力X[2θ]でインデックス(4)のINVセル107と、駆動力X[2θ2]でインデックス(5)のINVセル108と、駆動力X[4]でインデックス(6)のINVセル109とを用いて、半導体集積回路のスタンダードセル領域120に、これら9種のINVセル101〜109を配置して半導体集積回路を形成する一例を示している。尚、同図において、121は電源(Vdd電位)の配線、122は接地(Vss電位)の配線である。また、図10では、スタンダードセル・ライブラリに含まれる9種のINVセル101〜109において、スタンダードセル領域120に配置されたときのINVセルの向きを認識できるように記号Fを付している。
以上説明したように、本発明によるスタンダードセル・ライブラリは、各種電子機器に搭載されるCMOSトランジスタを有する半導体集積回路等に利用することができる。
1〜3 駆動力系列のインデックスを3の剰余系で分類したときの各グループ
11〜15 駆動力系列のインデックスを5の剰余系で分類したときの各グループ
21〜25 駆動力系列のインデックスを5の剰余系で分類したときの各グループ
31〜35 駆動力系列のインデックスを5の剰余系で分類したときの各グループ
11〜15 駆動力系列のインデックスを5の剰余系で分類したときの各グループ
21〜25 駆動力系列のインデックスを5の剰余系で分類したときの各グループ
31〜35 駆動力系列のインデックスを5の剰余系で分類したときの各グループ
本発明は、半導体集積回路の設計に用いるスタンダードセル・ライブラリに関し、特にライブラリの駆動力系列の構成とそれを実現するためのセルレイアウト構造であって、詳しくは、等比数列型駆動力系列を持つスタンダードセル・ライブラリに関する。
半導体集積回路の設計において、ASIC設計手法で用いられるスタンダードセル・ライブラリは、INVERTER、BUFFER、2入力NAND、2入力NOR,2入力AND,2入力ORなど、いくつかの基本論理機能に限定して、トランジスタ回路によって論理機能を論理ゲートの形に実現したものを、スタンダードセルとして登録したものである。各論理機能について、出力信号を駆動するトランジスタの大きさを変えて駆動力の異なるセルをつくることも可能であり、一般に一論理機能について複数通りの駆動力のセルが登録されている。
一方、高性能回路を設計するカスタム設計手法においても、論理機能をある程度基本的なものに絞り、それらを論理ゲートと考えながら、論理ゲートを組み合わせることによって回路設計を行う、という思想は存在する。例えば、非特許文献1に、そのような手法が紹介されている。カスタム設計手法であるから、各ゲートのトランジスタ・サイズは、回路内に配置される毎に、連続的に最適なサイズにマニュアル設定されるのだが、基本的な設計指針として、一連なりの論理パス上に並ぶ論理ゲートの駆動力は、パス信号の入力側から出力側に向けて等比的に増大させるのが好ましい、と解説されている。これは、理論的背景とともに著者らの豊富な経験に裏付けられた指針として、カスタム設計者に広く知られている。
従来、スタンダードセル・ライブラリにおいては、同じ論理機能を持つセルの駆動力系列は、基準の駆動力を仮に[1]と書くと、[1/2]、[1]、[2]、[4]、[8]のように2倍刻みの等比的な構成のものが一般的だった。その後、ASIC設計手法を高速回路設計にも適用したいという要求が出てきて、高駆動力として[16]、[32]等が加えられて、駆動力系列が高駆動側に延長された。また、低消費電力への要求が高まるに従い、無駄に大きな駆動力を使う場合を減らすためには、刻みを細密にするのがよいと知られるようになり、[3]、[6]等の中間の駆動力が追加されてきた。結果的に、[1/2]、[1]、[2]、[3]、[4]、[6]、[8]、[16]、[32]という、隣接駆動力間の比率は2.0の他に1.5や1.333が現れて凸凹になるが、以前に比べると豊富な駆動力バリエーションを備えた駆動力系列が一般的になってきている。
さて、半導体大規模集積回路の設計において、セミカスタム設計手法、すなわちスタンダードセル・ライブラリを用いたASIC設計手法を、より高性能な回路設計すなわち高速かつ低消費電力をより高いレベルで両立させなければならないような回路設計にも適用できるように改善したい、という欲求が近年特に強くなっている。そのため、例えば、非特許文献2には、ASIC設計手法の中にカスタム設計手法の思想を積極的に取り込んでいこうという提案がいくつか紹介されている。
前記文献の中で、スタンダードセル・ライブラリの設計に残された改善の余地として、トランジスタのサイズ設計が注目されており、例えば、スタンダードセル・ライブラリを用いて通常のASIC設計フローを流した後、遅延解析結果を受けて、遅延制約を満たすために高速化しなければならないセル又は遅延制約に対して過度に高速で無駄に電力を消費しているセルを選び出し、その内部のトランジスタ・サイズを修正して、新たなセルとして設計に適用する、というフローが提案されている。前記フローで設計したところ、回路遅延を13.5%縮小した上に消費電力を18%削減することができた、という報告も記されている。この例からも、高性能な回路設計に向けたスタンダードセル・ライブラリの最適化という観点から、セル内の個々のトランジスタを細かくサイズ調整することが非常に重要かつ有効である、ということが判る。
前記提案のフローによれば、セルのトランジスタ・サイズを修正する際に、セルの大きさ自身が変わってしまう可能性があるので、新たなセルを追加して再設計する際の手間が膨らんでしまうという問題を避けられない。そこで、例えば、特許文献1には、セルの大きさやセルの入出力ピン位置を変えることなく、内部のトランジスタのサイズを、一定の最大サイズで制約された条件の下で、自由に再設定できるようなライブラリの定義方法が提案されている。
Ivan Sutherland,Bob Sproull,David Harris,"Logical Effort: Designing Fast CMOS Circuits,"Academic Press,1999.
David Chinnery,Kurt Keutzer,"Closing the Gap Between ASIC&Custom,"Kluwer Academic Publishers,2002.
トランジスタの微細化の進展に伴い、ゲート長(有効チャネル長)や有効チャネル幅を設計者の意図どおりに、製造で仕上げることが難しくなっている。また、STIストレスによってチャネルの電気特性が変動するという問題も無視できなくなってきている。これらがトランジスタの性能に与える影響は、そのトランジスタ自身のサイズに依存する部分もあれば、近くに配置される別のトランジスタとの位置関係など複雑な要因も絡んだりするので、正確に予測してモデル化することが難しい。そこで、トランジスタがセル内にレイアウトされたときの電気特性をTEG(Test Element Group)で事前に評価して、設計で使用するモデルに反映させる手法が提案されているが、トランジスタ・サイズのバリエーションや、隣接するトランジスタとの位置関係のバリエーションなどを含めて、全てのレイアウト・バリエーションを事前に評価することは、一般にはパターンが膨大になるので極めて難しい。
前記従来の技術として紹介した、設計フローの中で適宜セルのトランジスタ・サイズ設計を見直すという手法は、トランジスタ・サイズ設計に与えられた自由度が結果的に高まることになるので、確かにカスタム設計手法の持つ性能面での有効性を獲得することができる。しかし、少なくとも、使用するトランジスタのサイズさえも事前に限定することができないので、微細化トランジスタの世代においては、トランジスタの性能モデルとして誤差の大きなモデルで設計することを余儀なくされる、という弱点を持つ。
本発明の目的は、微細化トランジスタの直面する、モデル精度保証が困難であるという問題を、セルで使用するトランジスタ・サイズを限定することでTEGで評価するレイアウトのパターン数を現実的なレベルに抑えることによって緩和しながら、高性能な設計に適した駆動力系列、すなわち、刻みの細密な等比型の駆動力系列を備えたスタンダードセル・ライブラリを提供することにある。
前記目的を達成するため、本願の主要な構成を説明すると次の通りである。
すなわち、請求項1記載の発明のスタンダードセル・ライブラリは、半導体集積回路設計に用いるスタンダードセル・ライブラリであって、前記ライブラリは少なくとも一つのセル機能を実現するための複数のセルを備えており、少なくとも一つの前記セル機能について、当該同一の機能を持ちかつ駆動力の異なる複数のセルからなるセル群を含み、前記セル群の駆動力に関する系列が、前記セル群に属するセルの出力信号駆動部のトランジスタ・サイズの相対的大きさを駆動力の指標として、前記指標に関して等比数列を形成しており、2以上のある自然数pが存在し、前記等比数列は、「2のp乗根」(21/p)という形に実質的に表現できる公比を持つことを特徴とする。
また、請求項2記載の発明は、前記請求項1記載のスタンダードセル・ライブラリであって、セルの前記出力信号駆動部のトランジスタ・サイズについて、セル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、基準サイズX[1]と定義したときに、正の実数θを前記自然数pに係る21/pによって定義すると、θpは2を意味し、前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、前記セル群中のセルであって、当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスから前記セルに対応して一つだけ選択された前記レイアウトデバイスを、一つ又は複数個繰り返し並べる形態で、前記セル内にレイアウトされていることを特徴とする。
前記請求項1及び2記載のスタンダードセル・ライブラリでは、「2のp乗根」(pは2以上の自然数)を公比とする等比数列であるので、前記pが例えば5程度に小さくても、高性能設計に適した非常に刻みの細密な駆動力系列をつくることができ、しかもその駆動力系列の実現のためにレイアウトデバイスとして必要となるトランジスタのサイズ種類を前記p通りに抑えることができる。出力信号駆動部のトランジスタに係るレイアウトデバイスの種類を連続可変ではなく離散的に限定された数種類に抑えることにより、前記トランジスタのモデル精度保証を容易にし、高性能設計用のスタンダードセル・ライブラリを、誤差の少ない性能モデルに基づいて提供することができるのである。
また、請求項3記載の発明は、前記請求項1記載のスタンダードセル・ライブラリであって、セルの前記出力信号駆動部のトランジスタ・サイズについて、セル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、基準サイズX[1]と定義したときに、正の実数θを前記自然数pに係る21/pによって定義すると、θpは2を意味し、前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、前記セル群中のセルであって、当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスを組み合わせて並べる形態で、前記セル内にレイアウトされていることを特徴とする。
前記請求項3記載のスタンダードセル・ライブラリでは、刻みの細密な等比数列型の駆動力系列を離散的に限定されたレイアウトデバイスで実現する際に、駆動力に僅かな誤差を許し、異なるサイズのレイアウトデバイスを組み合わせて近似的に駆動力を実現することによって、並列に並べるレイアウトデバイス本数の大幅な削減が可能となる。この並列本数の削減分だけセル幅を削減できるので、実質的に駆動力を変更することなく、セル面積を大幅に縮小することができる。
更に、請求項5記載の発明は、半導体集積回路設計に用いるスタンダードセル・ライブラリであって、前記ライブラリは少なくとも一つのセル機能を実現するための複数のセルを備えており、少なくとも一つの前記セル機能について、当該同一の機能を持ちかつ駆動力の異なる複数のセルからなるセル群を含み、前記セル群の駆動力に関する系列が、前記セル群に属するセルの出力信号駆動部のトランジスタ・サイズの相対的大きさを駆動力の指標として、前記指標に関して等比数列を形成しており、2以上のある自然数pが存在し、また、1以上p未満のある自然数qが存在し、前記等比数列は、「2のp乗根のq乗」(2q/p)という形に実質的に表現できる公比を持つことを特徴とする。
請求項6記載の発明は、前記請求項5記載のスタンダードセル・ライブラリであって、セルの前記出力信号駆動部のトランジスタ・サイズについて、セル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、基準サイズX[1]と定義したときに、正の実数θを前記自然数pに係る21/pによって定義すると、θpは2を意味し、前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、前記セル群中のセルであって、当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズに基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスから前記セルに対応して一つだけ選択された前記レイアウトデバイスを、一つ又は複数個繰り返し並べる形態で、前記セル内にレイアウトされていることを特徴とする。
請求項5及び6記載の発明では、駆動力系列が形成する等比数列の公比を「2のp乗根のq乗」(pは2以上の自然数、qは1以上p未満の自然数)の形まで拡張することができる。しかも、その駆動力系列の実現のためにレイアウトデバイスとして必要となるトランジスタのサイズ種類を前記同じp通りのままで抑えることができる。公比の選択肢が広がるので、ライブラリの最適化を深めることが可能となる。
加えて、請求項9記載の発明は、半導体集積回路設計に用いるスタンダードセル・ライブラリであって、前記ライブラリは、複数のセル機能を実現するための複数のセルを備えており、第1のセル機能について、当該同一の機能を持ちかつ駆動力の異なる複数のセルからなる第1のセル群を含み、更に、前記第1のセル機能とは異なる第2のセル機能について、当該同一の機能を持ちかつ駆動力の異なる複数のセルからなる第2のセル群を含み、前記第1のセル群に属するセル及び前記第2のセル群に属するセルについて、セルの出力信号駆動部のトランジスタ・サイズについて共通の基準サイズを定義することができて、前記第1のセル群のセルについて、出力信号駆動部のトランジスタ・サイズの前記基準サイズに対する割合を指標として、当該前記第1のセル機能に係る駆動力を定義することができて、前記第1のセル群の前記駆動力に関する系列が、第1の等比数列を形成しており、2以上のある自然数pが存在し、また、1以上p未満のある自然数qが存在して、前記第1の等比数列は、「2のp乗根のq乗」(2q/p)という形に実質的に表現できる公比を持ち、前記第2のセル群のセルについて、出力信号駆動部のトランジスタ・サイズの前記基準サイズに対する割合を指標として、当該前記第2のセル機能に係る駆動力を定義することができて、前記第2のセル群の前記駆動力に関する系列が、第2の等比数列を形成しており、qより大きくp未満のある自然数rが存在して、前記第2の等比数列は、「2のp乗根のr乗」(2r/p)という形に実質的に表現できる公比を持つことを特徴とする。
請求項10記載の発明は、前記請求項9記載のスタンダードセル・ライブラリであって、セルの出力信号駆動部のトランジスタ・サイズについて、セル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、前記第1のセル群と前記第2のセル群に対して、共通な前記基準サイズX[1]と定義したときに、正の実数θを前記自然数pに係る21/pによって定義すると、θpは2を意味し、前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、前記第1のセル群中のセル又は前記第2のセル群中のセルであって、当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスから前記セルに対応して一つだけ選択された前記レイアウトデバイスを、一つ又は複数個繰り返し並べる形態で、前記セル内にレイアウトされていることを特徴とする。
前記請求項9及び10記載のスタンダードセル・ライブラリでは、例えば、セル機能Aとセル機能Bとの2つのセル機能の駆動力系列があって、セルが同一のP/N比で設計される場合には、公比を何れも「2のp乗根のべき乗」の形から各々選択することによって、何れの駆動力系列も共通のp通りのレイアウトデバイスを使って実現することができる。つまり、公比の異なる細密等比数列型の駆動力系列を、共通の離散限定化レイアウトデバイスによって実現することができるのである。
以上説明したように、本発明のスタンダードセル・ライブラリによれば、刻みの細密な等比型の駆動力系列を提供することができるので、高速かつ低消費電力な高性能回路設計に求められるカスタム設計手法的な駆動力の選択を、それに近い形でライブラリとして実現することが可能になる。
また、それと同時に、セルの性能モデルの精度保証の上で最重要な、出力信号駆動部のトランジスタに係るレイアウトデバイスの種類を連続可変ではなく離散的に限定された数種類に抑えることができるので、前記トランジスタのモデル精度保証を容易にし、高性能設計用のスタンダードセル・ライブラリを、誤差の少ない性能モデルに基づいて提供することができる。従って、本発明によれば、高性能回路を信頼性の高いモデルで設計することのできるスタンダードセル・ライブラリを提供することが可能となる。
以下、本発明の実施形態の等比数列型駆動力系列を持つスタンダードセル・ライブラリを説明する。
尚、本明細書では、スタンダードセルのレイアウトに現れる個々のMOSトランジスタ・デバイスを、トランジスタ・レイアウトデバイス又は簡単にレイアウトデバイスと呼ぶ。また、トランジスタ・レイアウトデバイスを数える際に、1本、2本という表現を使うことにする。トランジスタ・レイアウトデバイスには、Pチャネル型トランジスタ・レイアウトデバイス(PMOSトランジスタ・デバイス)及びNチャネル型トランジスタ・レイアウトデバイス(NMOSトランジスタ・デバイス)の2つの型がある。また、1本のPチャネル型トランジスタ・レイアウトデバイスと1本のNチャネル型トランジスタ・レイアウトデバイスをCMOSトランジスタ・デバイスの組として考えるときは、この組をトランジスタ・レイアウトデバイス又は簡単にレイアウトデバイスと呼ぶこともある。これに対して、回路上のトランジスタは、単にPチャネル型トランジスタ、Nチャネル型トランジスタと呼び、またPチャネル型トランジスタとNチャネル型トランジスタをCMOSトランジスタの組として考えるときに、これをトランジスタと呼ぶこともある。
レイアウトデバイスのサイズと言うときは、チャネル幅を指す。本明細書で注目するのは、スタンダードセルの出力信号を駆動する部分のトランジスタであるが、それを構成するトランジスタ・レイアウトデバイスについては、スタンダードセル・ライブラリの中で、チャネル長が全て同一であると想定している。尚、1本のPチャネル型トランジスタ・レイアウトデバイスと1本のNチャネル型トランジスタ・レイアウトデバイスをCMOSトランジスタ・デバイスの組として考えているときは、P型とN型のそれぞれのレイアウトデバイスのチャネル幅を組にしたものをレイアウトデバイスのサイズと呼ぶこともある。
レイアウトデバイスのサイズすなわちチャネル幅をnm(ナノメートル)単位で表すと、そのデバイスがどの世代の微細加工技術を使って製造されるものかによって、その数値が大きく変動する。また、スタンダードセルのセル高さは、前記加工技術の世代によっても、又は設計する半導体集積回路の種類によっても変わるので、その点からも、搭載されるレイアウトデバイスのサイズのnm数値自身は、やはり大きく変動する。本明細書ではスタンダードセルの一ライブラリの中での相対的なサイズに注目するので、基準サイズを定義して、基準サイズに対する割合によって、サイズに関する議論を行う。基準サイズについては、以下で詳しく説明していく。
本発明は、スタンダードセルのある特別なレイアウト構造に依存するものではない。スタンダードセルの一般的なレイアウト構造として、Pチャネル型トランジスタ・レイアウトデバイス及びNチャネル型トランジスタ・レイアウトデバイスは、チャネル幅の方向がセル高さの方向に平行になるように配置され、P型の配置領域とN型の配置領域はセル高さを分割する形で、セル内に分離されているものとする。そして、セル内に1本描きで配置可能なレイアウトデバイスのサイズには、Pチャネル型とNチャネル型のそれぞれについて最大サイズが存在し、この最大サイズは、一つのスタンダードセル・ライブラリに属する全てのセルに対して共通であるものとする。
さて、本発明はセルの駆動力に関するので、セルの出力信号駆動部のトランジスタに注目する。ここでは、本明細書で言う出力信号駆動部トランジスタについて、一般的な認識と異なるものではないが、典型的なセル回路の場合を例として説明しておく。先ず、INVERTER回路のセルであれば、セルへの入力信号は一つであり、この信号でゲート電極を直接制御されるPチャネル型トランジスタとNチャネル型トランジスタの組が1組存在し、この組が出力信号を駆動するCMOSトランジスタの組にもなっているので、これを出力信号駆動部のトランジスタと考える。次に、BUFFER回路のセルであれば、INVERTER回路を2段つないだ形になっているので、後段のINVERTER回路を構成するトランジスタを出力信号駆動部のトランジスタと考える。また、2入力NAND回路のセルであれば、2つの入力信号を仮に信号Aと信号Bと呼ぶと、信号Aでゲート電極を直接制御されるPチャネル型トランジスタとNチャネル型トランジスタの組(「トランジスタA組」と呼ぶ)が1組存在し、信号Bでゲート電極を直接制御されるPチャネル型トランジスタとNチャネル型トランジスタの組(「トランジスタB組」と呼ぶ)が1組存在する。トランジスタA組のPチャネル型トランジスタとトランジスタB組のPチャネル型トランジスタとは、チャネルの並列接続によって出力信号を駆動(プルアップ)し、トランジスタA組のNチャネル型トランジスタとトランジスタB組のNチャネル型トランジスタとは、チャネルの直列接続によって出力信号を駆動(プルダウン)する。本明細書では、前記トランジスタA組及び前記トランジスタB組のそれぞれを、2NANDの出力信号駆動部のトランジスタと考える。但し、ここでは、前記A組とB組はCMOSトランジスタの組として等しいような2NAND回路を想定しており、出力信号駆動部のトランジスタの属性を議論する際には、何れか一方のトランジスタ組で代表させることによって考えている。2NOR回路のセルについても同様に考えるものとする。
スタンダードセル・ライブラリを構成するセルは、セル機能によって分類することができて、一般に各セル機能を持つセルがそれぞれ複数個用意される。セル機能の例としては、INVERTER、BUFFER、2入力NAND、2入力NOR、2入力AND、2入力ORなどがあり、各セル機能について、出力信号駆動力の大きさの違う複数のセルが存在する。セルの回路において、出力信号を駆動する部分のトランジスタは、Pチャネル型トランジスタとNチャネル型トランジスタとの組み合わせで構成される。その各チャネル型トランジスタのサイズは、前記各チャネル型トランジスタを構成するために前記セルのレイアウト上で単独で又は並列で配置される、当該各チャネル型トランジスタ・レイアウトデバイスのサイズの総和に等しい。本明細書では、出力信号駆動部トランジスタのサイズを、当該Pチャネル型トランジスタのサイズと当該Nチャネル型トランジスタのサイズの組で表すものとする。そうした上で、セルの出力信号駆動力の大きさ、すなわちセルの駆動力を、出力信号駆動部トランジスタのサイズによって指標化する。いま、セルの駆動力を定量化するための指標として採用した出力信号駆動部トランジスタのサイズは、それ自身がPチャネル型、Nチャネル型それぞれのトランジスタ・サイズの組として定義されたので、駆動力も数値の組という形で与えられる。従って、任意の二つのセルの駆動力の間で大小関係を議論することは難しく、比較するセルの間に一定の条件が成立していることを前提に、駆動力の大小関係を議論することが必要である。この点について、次に説明する。
一般に、一つのスタンダードセル・ライブラリで、同じセル機能を持つセル群の中では、出力信号駆動部を構成するトランジスタの、Pチャネル型トランジスタ・サイズとNチャネル型トランジスタ・サイズとの比は一定である。以下、この比を出力信号駆動部トランジスタのP/N比と呼び、本明細書ではこれを簡単に、セルのP/N比と呼ぶ。セルのP/N比は、セル機能によってそれぞれ最適化されるので、セル機能が異なればセルのP/N比も異なるのが一般的である。本明細書において、2つのセルの駆動力の間で大小関係又は比を議論する場合には常に、これら2つのセルのP/N比が等しいことを必要条件とする。セルの回路において、例えばNANDセルのように、Pチャネル側はチャネルの並列で出力を駆動し、Nチャネル側はチャネルの直列で出力を駆動するような場合には、仮にP/N比がINVERTERセルと等しかったとしても、両者の駆動力は質的に異なると考えるべきであり、直接大小比較することはできない。従って、駆動力の大小比較のためにP/N比が等しいことは必要条件だが十分条件ではない、言い換えると、駆動力の大小比較はセル機能が同一である場合に限って可能である、ということに注意する。
ここでは、P/N比が等しいという条件の下では、以下で説明するように、2つのセルの出力信号駆動部トランジスタ・サイズの間で大小比較や比の議論が可能になる、という点に注目する。そして、セルの駆動力については、セル機能が同一である場合に限り、P/N比が等しいときの出力信号駆動部トランジスタ・サイズ間の大小比較に基づいて、2つの駆動力の間で大小比較や比の議論が可能となる。あるセル機能が与えられて、当該同一の機能を持つ多数のセルについて駆動力の大小関係を議論するには、そのセル機能に付随した基準になる駆動力を一つ用意するのが便利であり、基準の駆動力を定義するために、そのセル機能に付随したP/N比において、トランジスタ・サイズについての基準サイズを導入する。
いま、セルのP/N比を固定して考える。与えられたP/N比を満たしながら、セルのレイアウト上で、1本のPチャネル型トランジスタ・レイアウトデバイスと1本のNチャネル型トランジスタ・レイアウトデバイスとの組によって実現される最大のトランジスタに注目し、そのトランジスタ・サイズを、そのP/N比に付随する基準サイズとする。従って、本明細書でいう基準サイズとは、セルのレイアウト上で、セル内に単独(1本描き)で配置できるPチャネル型トランジスタ・レイアウトデバイスのある特定のサイズと、セル内に単独(1本描き)で配置できるNチャネル型トランジスタ・レイアウトデバイスのある特定のサイズとの組であって、与えられたP/N比を満たすものを意味する。以下、この基準サイズをX[1]と表記する。同じP/N比であれば、この表記を使って全てのトランジスタ・サイズを相対的に表現することができる。例えば、基準サイズに対して、PチャネルもNチャネルもトランジスタ・サイズが半分であるような出力信号駆動部のトランジスタであれば、前記トランジスタの相対的なサイズはX[1/2]という表現になる。逆にPチャネルもNチャネルも2倍サイズであれば、当該トランジスタの相対的なサイズはX[2]となる、という具合である。
次に、セル機能を固定して考える。一つのセル機能が与えられれば、付随してP/N比が決まるので、前記基準サイズは、セル機能に付随する基準サイズ、と言うこともできる。セル機能を同じくするセルにおいては、駆動力の大小関係や比を議論するために、前記セル機能に付随した基準サイズに対する割合によって表現される、出力信号駆動部トランジスタのサイズの相対的な大きさを、あらためて駆動力の指標として利用すればよい。基準サイズX[1]のトランジスタを出力信号駆動部に備えるセルの駆動力を、基準の駆動力X[1]と定義及び表記する。例えば、セルAとセルBが同じセル機能を有するとしたとき、適当な正の実数aとbを使って、セルAの出力信号駆動部トランジスタのサイズがX[a]であれば、セルAの駆動力は基準駆動力のa倍という意味でX[a]と表すことができ、セルBの出力信号駆動部トランジスタのサイズがX[b]であれば、同様にセルBの駆動力をX[b]と表すことができる。そして、セルAの駆動力に対するセルBの駆動力の比はb/aであると言うことができるのである。
基準サイズについての説明の最後に、前記基準サイズX[1]に基づいて、トランジスタ・レイアウトデバイスのサイズを表現することを考える。前記基準サイズX[1]は、セルのP/N比を固定して考えることによって、これを定義することができた。そこで、トランジスタ・レイアウトデバイスのサイズについても、同じP/N比を満たす組だけに絞って考える限りにおいては、前記P/N比に付随する基準サイズX[1]を用いて、これに対する割合によって相対的なサイズ表現をとることができる。あるレイアウトデバイスの相対的なサイズが、適当な正の実数cを使ってX[c]であるとすると、基準サイズの定義より、cは1を超えないことに注意する。逆に言うと、あるトランジスタの相対的なサイズがX[c]であるとき、cが1を超えていなければ、前記X[c]は一つのトランジスタ・レイアウトデバイスの相対的なサイズを表していると解釈することもできる。
(第1の実施形態)
以下、本発明による第1の実施形態について説明する。
以下、本発明による第1の実施形態について説明する。
ここでは、一つのセル機能を固定し、従ってセルのP/N比も固定して考える。そして、与えられたP/N比に付随するトランジスタの基準サイズをX[1]とし、この基準サイズX[1]のトランジスタを出力信号駆動部のトランジスタとするセルの駆動力を基準駆動力X[1]とする。
前記で説明したように、前記P/N比に従うセルの出力信号駆動部トランジスタのサイズは前記基準サイズに対する割合によって、基準サイズのa倍(aは正の実数)であればX[a]と表され、そのときの駆動力は前記基準駆動力のa倍という意味で駆動力X[a]である。本明細書で駆動力系列という表現が頻繁に出てくるが、駆動力系列と言うときは、一つのセル機能を共有するセル群に注目し、セルと駆動力が一対一に対応するときに、このX[・]の形で表現される駆動力指標に従って駆動力の小さな方から大きな方へと、セルに順列をつけて並べたものを意味する。ここでは、一つのスタンダードセル・ライブラリを開発するに際して前記セル機能を共有し駆動力の異なる複数のセルを用意しなければならない場合に、その駆動力系列においてセルの駆動力が「2のべき乗根」の値を公比とする等比数列を形成するように前記複数のセルを設計すれば、レイアウトデバイスのサイズを離散的に限定することができて、駆動力系列の細密化と設計信頼性の確保を両立できることを示す。
いま、pを2以上のある自然数とし、正の実数θを次の式で定める。
θ = 21/p …(1)
すなわち、θは「2のp乗根」であり、従って、
θp = 2 …(1´)
である。さて、このθを公比とする等比数列の形で駆動力の系列を構築すると、どういうことになるのかを説明する。先ず、基準の駆動力であるX[1]自身を、この系列の中に含むこととする。そのとき、X[1]以下の駆動力の系列は、仮にX[1/2]を最小駆動力とすれば、次のようになる。
すなわち、θは「2のp乗根」であり、従って、
θp = 2 …(1´)
である。さて、このθを公比とする等比数列の形で駆動力の系列を構築すると、どういうことになるのかを説明する。先ず、基準の駆動力であるX[1]自身を、この系列の中に含むこととする。そのとき、X[1]以下の駆動力の系列は、仮にX[1/2]を最小駆動力とすれば、次のようになる。
X[1/2]、X[(1/2)θ]、X[(1/2)θ2]、…、
X[(1/2)θp−1]、X[1]
…(2)
また、X[1]より大きな駆動力の方で、駆動力系列は次のようになる。
X[(1/2)θp−1]、X[1]
…(2)
また、X[1]より大きな駆動力の方で、駆動力系列は次のようになる。
X[θ]、 X[θ2]、…、 X[θp−1]、 X[2]
、X[2θ]、X[2θ2]、…、X[2θp−1]、X[4]
、X[4θ]、X[4θ2]、…、X[4θp−1]、X[8]
… …(3)
前記系列(3)において、例えばX[θ]という駆動力は、駆動力X[(1/2)θ]の2倍の駆動力である。つまり、X[θ]という駆動力のセルを作ろうと思えば、サイズX[θ]のトランジスタを使えばよいが、駆動力X[(1/2)θ]を生み出すサイズX[(1/2)θ]のトランジスタを2本並列にすれば実現できる。同様に、例えばX[2θ2]という駆動力は、駆動力X[(1/2)θ2]の4倍であるので、駆動力X[(1/2)θ2]を生み出すサイズX[(1/2)θ2]のトランジスタを4本並列にすれば実現できる。このように考えると、前記系列(3)において、この先どこまで駆動力を大きくしていっても、次のp通りのサイズを持つトランジスタがあれば、これを並列にして使うことで、出現する全ての駆動力を実現できることが判る。
、X[2θ]、X[2θ2]、…、X[2θp−1]、X[4]
、X[4θ]、X[4θ2]、…、X[4θp−1]、X[8]
… …(3)
前記系列(3)において、例えばX[θ]という駆動力は、駆動力X[(1/2)θ]の2倍の駆動力である。つまり、X[θ]という駆動力のセルを作ろうと思えば、サイズX[θ]のトランジスタを使えばよいが、駆動力X[(1/2)θ]を生み出すサイズX[(1/2)θ]のトランジスタを2本並列にすれば実現できる。同様に、例えばX[2θ2]という駆動力は、駆動力X[(1/2)θ2]の4倍であるので、駆動力X[(1/2)θ2]を生み出すサイズX[(1/2)θ2]のトランジスタを4本並列にすれば実現できる。このように考えると、前記系列(3)において、この先どこまで駆動力を大きくしていっても、次のp通りのサイズを持つトランジスタがあれば、これを並列にして使うことで、出現する全ての駆動力を実現できることが判る。
トランジスタ・サイズの集合:
{X[(1/2)・θs]:sは1からpまでの自然数} …(4)
また、前記系列(2)におけるp+1通りの駆動力についても、最小の駆動力X[1/2]を除けば、残りのp通りの全ての駆動力が前記集合(4)にあるp通りのサイズと一対一に対応することは明らかである。そして、前記集合(4)に現れているトランジスタ・サイズは何れもX[1]以下であるので、これらサイズ全てを、トランジスタ・レイアウトデバイスのサイズと解釈することができる。すなわち、駆動力系列を前記θ(2のp乗根)を公比とする等比数列の形に構築するならば、次の集合(5)に示すp通りのサイズを持つトランジスタ・レイアウトデバイスのみによって、X[(1/2)θ]以上の全ての駆動力を例外なく実現することが可能となるわけである。
{X[(1/2)・θs]:sは1からpまでの自然数} …(4)
また、前記系列(2)におけるp+1通りの駆動力についても、最小の駆動力X[1/2]を除けば、残りのp通りの全ての駆動力が前記集合(4)にあるp通りのサイズと一対一に対応することは明らかである。そして、前記集合(4)に現れているトランジスタ・サイズは何れもX[1]以下であるので、これらサイズ全てを、トランジスタ・レイアウトデバイスのサイズと解釈することができる。すなわち、駆動力系列を前記θ(2のp乗根)を公比とする等比数列の形に構築するならば、次の集合(5)に示すp通りのサイズを持つトランジスタ・レイアウトデバイスのみによって、X[(1/2)θ]以上の全ての駆動力を例外なく実現することが可能となるわけである。
トランジスタ・レイアウトデバイスのサイズの集合:
{X[(1/2)・θs]:sは1からpまでの自然数} …(5)
いま、例として、自然数pに3を選んだ場合について、具体的に説明する。このとき、正の実数θは21/3によって定義されるので、θ3=2である。このことに注意しながら、公比θの等比数列型の駆動力系列を表示したものが、図1における[公比θの等比数列型の駆動力系列]の表である。この表中、X[θ]の上に記した(1)や、X[2]の上に記した(3)等の数字は、その駆動力の基準駆動力X[1]に対する比を、θのべき乗で見たときの当該べき乗数を指す。ここでは、説明の便宜上、この乗数を駆動力のインデックスとして使うことにする。例えば、X[θ]は「(1)番目の駆動力」、X[2]は「(3)番目の駆動力」、またX[(1/2)・θ]は「(−2)番目の駆動力」という具合である。そのとき、駆動力系列は、最小駆動力をX[1/2]とし最大駆動力をX[64]とするならば、インデックス(−3)を始まりとして、インデックスが1ずつ増えていく順に、インデックス(18)までが並ぶ。図の表の中で、インデックスを3(すなわちp)の剰余系で分類することによって、X[(1/2)θ]以上の駆動力、すなわち、インデックス(−2)以上の駆動力を3つのグループに分けている。図の符号1〜3は前記各グループを示す。
{X[(1/2)・θs]:sは1からpまでの自然数} …(5)
いま、例として、自然数pに3を選んだ場合について、具体的に説明する。このとき、正の実数θは21/3によって定義されるので、θ3=2である。このことに注意しながら、公比θの等比数列型の駆動力系列を表示したものが、図1における[公比θの等比数列型の駆動力系列]の表である。この表中、X[θ]の上に記した(1)や、X[2]の上に記した(3)等の数字は、その駆動力の基準駆動力X[1]に対する比を、θのべき乗で見たときの当該べき乗数を指す。ここでは、説明の便宜上、この乗数を駆動力のインデックスとして使うことにする。例えば、X[θ]は「(1)番目の駆動力」、X[2]は「(3)番目の駆動力」、またX[(1/2)・θ]は「(−2)番目の駆動力」という具合である。そのとき、駆動力系列は、最小駆動力をX[1/2]とし最大駆動力をX[64]とするならば、インデックス(−3)を始まりとして、インデックスが1ずつ増えていく順に、インデックス(18)までが並ぶ。図の表の中で、インデックスを3(すなわちp)の剰余系で分類することによって、X[(1/2)θ]以上の駆動力、すなわち、インデックス(−2)以上の駆動力を3つのグループに分けている。図の符号1〜3は前記各グループを示す。
グループ1:(インデックスが3で割って1余る数)
インデックス集合=(−2)、(1)、(4)、(7)、(10)、(13)、(16)
グループ2:(インデックスが3で割って2余る数)
インデックス集合=(−1)、(2)、(5)、(8)、(11)、(14)、(17)
グループ3:(インデックスが3で割り切れる数)
インデックス集合=(0)、(3)、(6)、(9)、(12)、(15)、(18)
グループ1に属する駆動力は必ず、インデックス(−2)の駆動力X[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ2に属する駆動力は必ず、インデックス(−1)の駆動力X[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ3に属する駆動力は必ず、インデックス(0)の駆動力X[1](基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、同図の中で『トランジスタ・レイアウトデバイス』のリストで示した3つのレイアウトデバイスを使って、X[(1/2)θ]以上の駆動力を全て実現することができるのである。
インデックス集合=(−2)、(1)、(4)、(7)、(10)、(13)、(16)
グループ2:(インデックスが3で割って2余る数)
インデックス集合=(−1)、(2)、(5)、(8)、(11)、(14)、(17)
グループ3:(インデックスが3で割り切れる数)
インデックス集合=(0)、(3)、(6)、(9)、(12)、(15)、(18)
グループ1に属する駆動力は必ず、インデックス(−2)の駆動力X[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ2に属する駆動力は必ず、インデックス(−1)の駆動力X[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ3に属する駆動力は必ず、インデックス(0)の駆動力X[1](基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、同図の中で『トランジスタ・レイアウトデバイス』のリストで示した3つのレイアウトデバイスを使って、X[(1/2)θ]以上の駆動力を全て実現することができるのである。
p=3のとき、「2の3乗根」によるθの値は1.260程度であり、このθを公比とする等比数列であれば、スタンダードセル・ライブラリのセル駆動力系列の刻みとして細密なものだと言える。本発明によれば、この細密な駆動力系列を、X[1]より特に小さな駆動力を除けば、3種類のサイズのレイアウトデバイスの集合によって実現することができるわけであり、高性能設計に必要な駆動力系列の細密化と、高信頼性設計に必要なレイアウトデバイスの限定化を同時に満足することが可能となる。
尚、レイアウトデバイスの種類を増やしてでも、駆動力系列を更に細密にしたいならば、pを大きくとればよい。例えば、pを5まで増やせるならば、公比θは1.149程度まで小さくなり、非常に細密な駆動力系列が可能となるが、その場合でもレイアウトデバイスの種類を僅か5種類に抑えることができるわけである。
(第2の実施形態)
次に、本発明による第2の実施形態について説明する。
次に、本発明による第2の実施形態について説明する。
ここでも、前記第1の実施形態におけると同様に、一つのセル機能を固定し、従ってセルのP/N比も固定して考える。そして、与えられたP/N比に付随するトランジスタの基準サイズをX[1]とし、この基準サイズX[1]のトランジスタを出力信号駆動部のトランジスタとするセルの駆動力を基準駆動力X[1]とする。
ここでは、駆動力系列を等比数列の形に構築する際、「2のべき乗根」の公比から一歩拡張した形の「2のべき乗根のべき乗」という公比を採用したとしても、同様のレイアウトデバイス限定化効果を有することを示す。つまり、この拡張によって、選択できる公比の候補値が増えるので高性能設計に向けたライブラリの最適化を深めることができるのだが、以下で説明するように、レイアウトデバイスのサイズ種類を増やす必要はないのである。
いま、pを2以上のある自然数とし、正の実数θを前記式(1)で定める。よって、前記式(1´)はここでも成立している。そして新たに、qを1以上p未満のある自然数とし、正の実数ωを次の式で定める。
ω = 2q/p …(6)
すなわち、ωは「2のp乗根のq乗」であり、従って、
ωp = 2q …(6´)
である。尚、もしもここでqを1にとれば、前記第1の実施形態に同じである。
すなわち、ωは「2のp乗根のq乗」であり、従って、
ωp = 2q …(6´)
である。尚、もしもここでqを1にとれば、前記第1の実施形態に同じである。
さて、このωを公比とする等比数列の形で駆動力系列を構築すると、どういうことになるのかを説明する。先ず、基準の駆動力であるX[1]自身を、この系列の中に含むことにする。そのとき、駆動力X[1]より大きなところでの駆動力系列は、次のようになる。
X[ω]、X[ω2]、…、X[ωp−1]、X[2q]
、X[2qω]、X[2qω2]、…、X[2qωp−1]、X[22q]
、X[22qω]、X[22qω2]、…、X[22qωp−1]、X[23q]
…(7)
系列(7)の一般項は、kを1以上の任意の自然数として、X[ωk]と書くことができるが、θの定義式(1)及び、ωの定義式(6)より、
ω = θq …(8)
の関係があるので、前記一般項は次のように表現できる。
、X[2qω]、X[2qω2]、…、X[2qωp−1]、X[22q]
、X[22qω]、X[22qω2]、…、X[22qωp−1]、X[23q]
…(7)
系列(7)の一般項は、kを1以上の任意の自然数として、X[ωk]と書くことができるが、θの定義式(1)及び、ωの定義式(6)より、
ω = θq …(8)
の関係があるので、前記一般項は次のように表現できる。
X[1]より大きな駆動力の一般項:
X[ωk]=X[θqk]、kは1以上の整数 …(9)
ここで、前記式(1´)に注目すると、前記駆動力の一般項(9)は全て、次のp通りのトランジスタ・レイアウトデバイスで実現できることが判る。
X[ωk]=X[θqk]、kは1以上の整数 …(9)
ここで、前記式(1´)に注目すると、前記駆動力の一般項(9)は全て、次のp通りのトランジスタ・レイアウトデバイスで実現できることが判る。
トランジスタ・レイアウトデバイスのサイズの集合:
{X[(1/2)・θs]:sは1からpまでの自然数} …(10)
具体的には、kが1以上の自然数のとき、すなわち駆動力X[ωk]が基準の駆動力X[1]より大きいとき、qkをpで割ったときの商をi、余りをjとすると、i及びjは0以上の整数となり、前記集合(10)に示すp通りのレイアウトデバイスを使って、駆動力X[ωk]を次のように実現することができる。
{X[(1/2)・θs]:sは1からpまでの自然数} …(10)
具体的には、kが1以上の自然数のとき、すなわち駆動力X[ωk]が基準の駆動力X[1]より大きいとき、qkをpで割ったときの商をi、余りをjとすると、i及びjは0以上の整数となり、前記集合(10)に示すp通りのレイアウトデバイスを使って、駆動力X[ωk]を次のように実現することができる。
j=0、すなわち、qkがpの倍数ならば、
ωk=2iより、駆動力X[ωk]は、基準サイズX[1]の2i本並列で実現可能。
ωk=2iより、駆動力X[ωk]は、基準サイズX[1]の2i本並列で実現可能。
j=1、2、…、p−1のどれかならば、
ωk=2i+1[(1/2)θj]より、
駆動力X[ωk]は、サイズX[(1/2)・θj]の2i+1本並列で実現可能。
ωk=2i+1[(1/2)θj]より、
駆動力X[ωk]は、サイズX[(1/2)・θj]の2i+1本並列で実現可能。
また、駆動力がX[1]以下のところでの一般項は、kを0又は負の整数として、X[ωk]と書くことができるが、やはり前記式(1´)に注目すると、kが次の不等式
qk ≧ −(p−1) …(11)
を満たす範囲であるならば、前記式(10)に示すp通りのレイアウトデバイスを使って、X[ωk]の駆動力を実現できることが判る。前記式(11)の条件は、次の不等式で言い換えることができることに注意しておく。
qk ≧ −(p−1) …(11)
を満たす範囲であるならば、前記式(10)に示すp通りのレイアウトデバイスを使って、X[ωk]の駆動力を実現できることが判る。前記式(11)の条件は、次の不等式で言い換えることができることに注意しておく。
ωk ≧ (1/2)・θ …(12)
以上をまとめると、前記式(6)で与えられたωを公比とする等比数列の形で駆動力系列を構築すると、その一般項は、kを整数として駆動力X[ωk]となるが、kが前記式(12)を満たす範囲であれば、それらは何れも前記集合(10)で示したp通りのレイアウトデバイスを並列に使うことによって実現することができる。尚、前記集合(10)は、前記集合(5)と同形であることに注意する。すなわち、レイアウトデバイスの種類は前記自然数pに依存して増減するのみで、前記自然数qには依存しないのである。
以上をまとめると、前記式(6)で与えられたωを公比とする等比数列の形で駆動力系列を構築すると、その一般項は、kを整数として駆動力X[ωk]となるが、kが前記式(12)を満たす範囲であれば、それらは何れも前記集合(10)で示したp通りのレイアウトデバイスを並列に使うことによって実現することができる。尚、前記集合(10)は、前記集合(5)と同形であることに注意する。すなわち、レイアウトデバイスの種類は前記自然数pに依存して増減するのみで、前記自然数qには依存しないのである。
いま、例として、自然数pに5を選び、自然数qに2を選んだ場合について、具体的に説明する。このとき、正の実数θは21/5によって定義されるので、θ5=2である。このことに注意しながら、公比ω=22/5の等比数列型の駆動力系列を、ω=θ2の関係に基づくθ表記で表示したものが、図2における[公比ωの等比数列型の駆動力系列]の表である。この表中、X[θ2]の上に記した(1)や、X[4]の上に記した(5)等の数字は、その駆動力の基準駆動力X[1]に対する比を、公比ω(=θ2)のべき乗で見たときの当該べき乗数を指す。やはり、説明の便宜上、この乗数を駆動力のインデックスとして使う。例えば、X[θ2]はX[ω]であるので「(1)番目の駆動力」、X[4]はX[ω5]であるので「(5)番目の駆動力」、またX[(1/2)θ]はX[ω―2]であるので「(−2)番目の駆動力」、という具合である。そのとき、駆動力系列は、最小駆動力をX[(1/2)θ]とし最大駆動力をX[64]とするならば、インデックス(−2)を始まりとして、インデックスが1ずつ増えていく順に、インデックス(15)までが並ぶ。図の表の中で、インデックスを5(すなわちp)の剰余系で分類することによって、X[(1/2)θ]以上の駆動力、すなわち、インデックス(−2)以上の駆動力を5つのグループに分けている。図の符号11〜15は前記各グループを示す。
グループ11:(インデックスが5で割って1余る数)
インデックス集合=(1)、(6)、(11)
グループ12:(インデックスが5で割って2余る数)
インデックス集合=(2)、(7)、(12)
グループ13:(インデックスが5で割って3余る数)
インデックス集合=(−2)、(3)、(8)、(13)
グループ14:(インデックスが5で割って4余る数)
インデックス集合=(−1)、(4)、(9)、(14)
グループ15:(インデックスが5で割り切れる数)
インデックス集合=(0)、(5)、(10)、(15)
グループ11に属する駆動力は必ず、駆動力X[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ12に属する駆動力は必ず、駆動力X[(1/2)θ4]の整数倍になっているので、それらは全てサイズX[(1/2)θ4]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ13に属する駆動力は必ず、駆動力X[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ14に属する駆動力は必ず、駆動力X[(1/2)θ3]の整数倍になっているので、それらは全てサイズX[(1/2)θ3]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ15に属する駆動力は必ず、駆動力X[1](基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、同図の中で『トランジスタ・レイアウトデバイス』のリストで示した5つのレイアウトデバイスを使って、X[(1/2)θ]以上の駆動力を全て実現することができるのである。
インデックス集合=(1)、(6)、(11)
グループ12:(インデックスが5で割って2余る数)
インデックス集合=(2)、(7)、(12)
グループ13:(インデックスが5で割って3余る数)
インデックス集合=(−2)、(3)、(8)、(13)
グループ14:(インデックスが5で割って4余る数)
インデックス集合=(−1)、(4)、(9)、(14)
グループ15:(インデックスが5で割り切れる数)
インデックス集合=(0)、(5)、(10)、(15)
グループ11に属する駆動力は必ず、駆動力X[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ12に属する駆動力は必ず、駆動力X[(1/2)θ4]の整数倍になっているので、それらは全てサイズX[(1/2)θ4]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ13に属する駆動力は必ず、駆動力X[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ14に属する駆動力は必ず、駆動力X[(1/2)θ3]の整数倍になっているので、それらは全てサイズX[(1/2)θ3]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ15に属する駆動力は必ず、駆動力X[1](基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、同図の中で『トランジスタ・レイアウトデバイス』のリストで示した5つのレイアウトデバイスを使って、X[(1/2)θ]以上の駆動力を全て実現することができるのである。
p=5、q=2のとき、「2の5乗根の2乗」によるωの値は1.320程度であるので、このωを公比とする等比数列であれば、スタンダードセル・ライブラリのセル駆動力系列の刻みとして細密なものだと言える。前記第1の実施形態で紹介した、公比が「2の3乗根」すなわち1.260程度の場合と比較すると、公比の値が少し異なる。この少しの差が、ライブラリを実際に設計に適用する際に、ライブラリの最適性の違いとして意味を持つ可能性がある。何れの公比が最適であるかは、具体的な個々の設計で違ってくるであろうが、「2のべき乗根」型公比から「2のべき乗根のべき乗」型公比にまで拡張できるしくみの存在は、公比選択の幅を広げる意味で有効である。
更に、この「2のべき乗根のべき乗」型公比によって、例えば、セル機能Aとセル機能Bとの2つのセル機能の駆動力系列があって、セルが同一のP/N比で設計されるなら、公比を何れも「2のp乗根のべき乗」の形から各々選択することによって、どちらの駆動力系列も共通のp通りのレイアウトデバイスを使って実現することができる。つまり、公比の異なる細密等比数列型の駆動力系列を、共通の離散限定化レイアウトデバイスによって実現することができるのである。これについては、次の第3の実施形態において詳しく説明する。
(第3の実施形態)
続いて、本発明による第3の実施形態について説明する。
続いて、本発明による第3の実施形態について説明する。
実際のスタンダードセル・ライブラリ設計において、全セル機能に亘って最高レベルに細密な駆動力系列を構築することは、ライブラリ中のセル数が膨大になり過ぎてしまうので、好ましくない。従って、細密な駆動力系列が必要なセル機能とそうでないセル機能とを選別すると共に、細密な駆動力系列を必要とするセル機能についても、各セル機能毎に駆動力系列の細密度が必要十分なレベルに最適化されていることが望ましい。ここでは、セルのP/N比が同一であれば、刻みの異なる細密等比数列型の駆動力系列を持つ2つのセル機能について、出力信号駆動部トランジスタを構成するためのレイアウトデバイスを共通化できることを示す。
尚、異なるセル機能の間でP/N比を同一にすることは、程度問題ではあるが、そのライブラリに課せられた設計ニーズに対して、十分な妥当性を持つ場合がある。例えば、2入力AND機能を持つセルを、前段に2入力NAND回路を配して後段の出力信号駆動部にINVERTER回路を配する形で2段構成にする場合に、この2入力ANDセルのP/N比は前記後段のINVERTER回路部分のP/N比を意味するので、これとINVERTERセル(以下、INVセルと略す)のP/N比を共通化する可能性は十分考えられる。その際、例えば、INVセルの駆動力系列をかなり細密にしたい一方で2入力ANDセルの駆動力系列はそれほど細密でなくても構わない、というような事態が生じる。又は、他の例として、2入力NANDセルとINVセルのP/N比を同一に設計することもあり得る。その場合に、両セル機能とも駆動力系列をライブラリの中で相対的に細密にしたいのだが、両系列の刻みを同一にはせず、少しだが違う刻みでそれぞれの駆動力系列の細密度を最適化したいという要望が生じる可能性もある。こういったような場合を想定して、駆動力系列の作り分けとレイアウトデバイスの共通化とを図るのが、ここで説明する実施形態の狙いである。
スタンダードセル・ライブラリ中で、セル機能Aのセルとセル機能Bのセルとを同一のP/N比で設計するとする。そして、セル機能A及びセル機能Bともに、駆動力系列をライブラリの中で相対的に細密にしたいが、セル機能Bの駆動力系列は、セル機能Aの駆動力系列に比較すると、少し刻みが粗くてもいいものとする。この場合に、駆動力系列を共に等比数列の形にするとして、それらの公比を、同じpによる「2のp乗根のべき乗」の形の中からそれぞれ選ぶならば、どちらのセルの駆動力系列も離散的に限定されたp通りのレイアウトデバイスを共通に使って構築できることを示す。
セル機能Aのセルとセル機能BのセルとはP/N比を同一にするので、一つのサイズX[1]を基準にして、共通に出力信号駆動部トランジスタのサイズを表すことができる。しかし、セル機能は異なるので、駆動力については共通の基準を設けることができない。そこで、セル機能Aのセルが、基準サイズX[1]のトランジスタを出力駆動部トランジスタとするときの駆動力をX1[1]とし、これをセル機能Aについての基準駆動力とする。同様に、セル機能Bのセルが、基準サイズX[1]のトランジスタを出力駆動部トランジスタとするときの駆動力をX2[1]とし、これをセル機能Bについての基準駆動力とする。
いま、pを2以上のある自然数とし、正の実数θを前記式(1)で定めるものとし、前記式(1´)はここでも成立する。また、qを1以上p未満のある自然数とし、正の実数ω1を次式で定める。
ω1 = 2q/p …(13)
すなわち、ω1は「2のp乗根のq乗」であり、従って、
ω1 p = 2q …(13´)
が成り立つ。そして、rを前記qより大きなp未満のある自然数とし、正の実数ω2を次式で定める。
すなわち、ω1は「2のp乗根のq乗」であり、従って、
ω1 p = 2q …(13´)
が成り立つ。そして、rを前記qより大きなp未満のある自然数とし、正の実数ω2を次式で定める。
ω2 = 2r/p …(14)
すなわち、ω2は「2のp乗根のr乗」であり、従って、
ω2 p = 2r …(14´)
が成り立つ。ここで、セル機能Aの駆動力系列を公比ω1の等比数列で構築し、セル機能Bの駆動力系列を公比ω2の等比数列で構築することを考える。そうすると、どちらも「2のp乗根のべき乗」型の公比を持ち、q<rより、公比ω2は公比ω1より大きいので、セル機能Bの駆動力系列は、セル機能Aのそれと比較して、刻みが大きく細密度は低くなる。
すなわち、ω2は「2のp乗根のr乗」であり、従って、
ω2 p = 2r …(14´)
が成り立つ。ここで、セル機能Aの駆動力系列を公比ω1の等比数列で構築し、セル機能Bの駆動力系列を公比ω2の等比数列で構築することを考える。そうすると、どちらも「2のp乗根のべき乗」型の公比を持ち、q<rより、公比ω2は公比ω1より大きいので、セル機能Bの駆動力系列は、セル機能Aのそれと比較して、刻みが大きく細密度は低くなる。
さて、先ず前記ω1を公比とする等比数列型のセル機能Aの駆動力系列から見てみる。基準の駆動力であるX1[1]自身を、この系列の中に含むことにするので、駆動力X1[1]より大きなところでの駆動力系列は、次のようになる。
X1[ω1]、X1[ω1 2]、…X1[ω1 p−1]、X1[2q]、
X1[2qω1]、X1[2qω1 2]、…X1[2qω1 p−1]、X1[22q]、
X1[22qω1]、X1[22qω1 2]、…X1[22qω1 p−1]、X1[23q]
…
…(15)
系列(15)の一般項は、kを1以上の任意の自然数として、X[ω1 k]と書くことができるが、θの定義式(1)及び、ω1の定義式(13)より、
ω1 = θq …(16)
の関係があるので、前記一般項は次のように表現できる。
X1[ω1]、X1[ω1 2]、…X1[ω1 p−1]、X1[2q]、
X1[2qω1]、X1[2qω1 2]、…X1[2qω1 p−1]、X1[22q]、
X1[22qω1]、X1[22qω1 2]、…X1[22qω1 p−1]、X1[23q]
…
…(15)
系列(15)の一般項は、kを1以上の任意の自然数として、X[ω1 k]と書くことができるが、θの定義式(1)及び、ω1の定義式(13)より、
ω1 = θq …(16)
の関係があるので、前記一般項は次のように表現できる。
X1[1]より大きな駆動力の一般項:
X1[ω1 k]=X1[θqk]、kは1以上の整数 …(17)
ここで、前記式(1´)に注目すると、前記駆動力の一般項(17)は全て、次のp通りのトランジスタ・レイアウトデバイスで実現できることが判る。
X1[ω1 k]=X1[θqk]、kは1以上の整数 …(17)
ここで、前記式(1´)に注目すると、前記駆動力の一般項(17)は全て、次のp通りのトランジスタ・レイアウトデバイスで実現できることが判る。
トランジスタ・レイアウトデバイスのサイズの集合:
{X[(1/2)・θs]:sは1からpまでの自然数} …(18)
具体的には、kが1以上の自然数のとき、すなわち駆動力X1[ω1 k]が基準の駆動力X1[1]より大きいとき、qkをpで割ったときの商をi、余りをjとすると、i及びjは0以上の整数となり、前記集合(18)のp通りのレイアウトデバイスを使って、駆動力X1[ω1 k]を次のように実現することができる。
{X[(1/2)・θs]:sは1からpまでの自然数} …(18)
具体的には、kが1以上の自然数のとき、すなわち駆動力X1[ω1 k]が基準の駆動力X1[1]より大きいとき、qkをpで割ったときの商をi、余りをjとすると、i及びjは0以上の整数となり、前記集合(18)のp通りのレイアウトデバイスを使って、駆動力X1[ω1 k]を次のように実現することができる。
j=0すなわちqkがpの倍数ならば、
ω1 k=2iより、駆動力X1[ω1 k]は、基準駆動力X1[1]の2i倍だから、
基準サイズX[1]のレイアウトデバイスの2i本並列で実現可能。
ω1 k=2iより、駆動力X1[ω1 k]は、基準駆動力X1[1]の2i倍だから、
基準サイズX[1]のレイアウトデバイスの2i本並列で実現可能。
j=1、2、…、p−1のどれかならば、
ω1 k=2i+1[(1/2)θj]より、
駆動力X1[ω1 k]は、駆動力X1[(1/2)θj]の2i+1倍だから、
サイズX[(1/2)・θj]のレイアウトデバイスの2i+1本並列で実現可能。
ω1 k=2i+1[(1/2)θj]より、
駆動力X1[ω1 k]は、駆動力X1[(1/2)θj]の2i+1倍だから、
サイズX[(1/2)・θj]のレイアウトデバイスの2i+1本並列で実現可能。
また、駆動力がX1[1]以下のところでの一般項は、kを0又は負の整数として、X1[ω1 k]と書くことができるが、やはり前記式(1´)に注目すると、kが次の不等式
qk ≧ −(p−1) …(19)
を満たす範囲であるならば、前記集合(18)のp通りのレイアウトデバイスを使って、X1[ω1 k]の駆動力を実現できることが判る。前記式(19)の条件は、次の不等式で言い換えることができることに注意しておく。
qk ≧ −(p−1) …(19)
を満たす範囲であるならば、前記集合(18)のp通りのレイアウトデバイスを使って、X1[ω1 k]の駆動力を実現できることが判る。前記式(19)の条件は、次の不等式で言い換えることができることに注意しておく。
ω1 k ≧ (1/2)・θ …(20)
つまり、セル機能Aの駆動力系列の一般項は、kを整数として駆動力X1[ω1 k]となるが、kが前記式(20)を満たす範囲であれば、それらは何れも前記集合(18)のp通りのレイアウトデバイスを並列に使うことによって実現することができる。
つまり、セル機能Aの駆動力系列の一般項は、kを整数として駆動力X1[ω1 k]となるが、kが前記式(20)を満たす範囲であれば、それらは何れも前記集合(18)のp通りのレイアウトデバイスを並列に使うことによって実現することができる。
次に、前記ω2を公比とする等比数列型のセル機能Bの駆動力系列を見るのだが、やはり基準の駆動力であるX2[1]自身をこの系列の中に含むことにするので、前記セル機能Aの駆動力系列についての議論と形式的には同じ議論ができる。ここでは、要点だけ述べておく。先ず、
ω2 = θr …(21)
の関係があるので、セル機能Bの駆動力系列の一般項は次のように表現できる。
ω2 = θr …(21)
の関係があるので、セル機能Bの駆動力系列の一般項は次のように表現できる。
セル機能Bの駆動力系列の一般項:
X2[ω2 k]=X2[θrk]、kは整数 …(22)
kが1以上の自然数のとき、すなわち駆動力X2[ω2 k]が基準の駆動力X2[1]より大きいとき、rkをpで割ったときの商をi、余りをjとすると、i及びjは0以上の整数となり、前記集合(18)のp通りのレイアウトデバイスを使って、駆動力X2[ω2 k]を次のように実現することができる。
X2[ω2 k]=X2[θrk]、kは整数 …(22)
kが1以上の自然数のとき、すなわち駆動力X2[ω2 k]が基準の駆動力X2[1]より大きいとき、rkをpで割ったときの商をi、余りをjとすると、i及びjは0以上の整数となり、前記集合(18)のp通りのレイアウトデバイスを使って、駆動力X2[ω2 k]を次のように実現することができる。
j=0すなわちrkがpの倍数ならば、
ω2 k=2iより、駆動力X2[ω2 k]は、基準駆動力X2[1]の2i倍だから、
基準サイズX[1]のレイアウトデバイスの2i本並列で実現可能。
ω2 k=2iより、駆動力X2[ω2 k]は、基準駆動力X2[1]の2i倍だから、
基準サイズX[1]のレイアウトデバイスの2i本並列で実現可能。
j=1、2、…、p−1のどれかならば、
ω2 k=2i+1[(1/2)θj]より、
駆動力X2[ω2 k]は、駆動力X2[(1/2)θj]の2i+1倍だから、
サイズX[(1/2)・θj]のレイアウトデバイスの2i+1本並列で実現可能。
ω2 k=2i+1[(1/2)θj]より、
駆動力X2[ω2 k]は、駆動力X2[(1/2)θj]の2i+1倍だから、
サイズX[(1/2)・θj]のレイアウトデバイスの2i+1本並列で実現可能。
また、駆動力がX2[1]以下のところでは、前記一般項(22)でkを0又は負の整数とすればよいが、やはり前記式(1´)に注目すると、kが次の不等式
rk ≧ −(p−1) …(23)
を満たす範囲であるならば、前記集合(18)のp通りのレイアウトデバイスを使って、X2[ω2 k]の駆動力を実現できることが判る。尚、前記式(23)の条件は、次の不等式で言い換えることができる。
rk ≧ −(p−1) …(23)
を満たす範囲であるならば、前記集合(18)のp通りのレイアウトデバイスを使って、X2[ω2 k]の駆動力を実現できることが判る。尚、前記式(23)の条件は、次の不等式で言い換えることができる。
ω2 k ≧ (1/2)・θ …(24)
つまり、セル機能Bの駆動力系列の一般項は、kを整数として駆動力X2[ω2 k]となるが、kが前記式(24)を満たす範囲であれば、それらは何れも前記集合(18)のp通りのレイアウトデバイスを並列に使うことによって実現することができる。
つまり、セル機能Bの駆動力系列の一般項は、kを整数として駆動力X2[ω2 k]となるが、kが前記式(24)を満たす範囲であれば、それらは何れも前記集合(18)のp通りのレイアウトデバイスを並列に使うことによって実現することができる。
よって、セル機能Aの駆動力系列も、セル機能Bの駆動力系列も、セルが同一のP/N比で設計されるならば、公比を何れも「2のp乗根のべき乗」の形から選択することによって、先の前記集合(18)のp通りのレイアウトデバイスを使って実現できることを、確認できた。すなわち、公比の異なる駆動力系列を共通の離散限定化レイアウトデバイスで実現することができるのである。
いま、自然数pに5を選び、自然数qに2を、自然数rに3を、それぞれ選んだ場合を例にとって、具体的に説明する。このとき、正の実数θは21/5によって定義されるので、θ5=2である。公比ω1=22/5の等比数列型の駆動力系列を、ω1=θ2の関係に基づくθ表記で表示したものが、図3における[駆動力系列1(公比ω1=22/5=θ2)]の表である。この表中、X1[θ2]の上に記した(1)や、X1[4]の上に記した(5)等の数字は、その駆動力の基準駆動力X1[1]に対する比を、公比ω1(=θ2)のべき乗で見たときの当該べき乗数を指す。やはり、説明の便宜上、この乗数を駆動力のインデックスとして使う。例えば、X1[θ2]はX1[ω1]であるので「(1)番目の駆動力」、X1[4]はX1[ω1 5]であるので「(5)番目の駆動力」、またX1[(1/2)θ]はX1[ω1 ―2]であるので「(−2)番目の駆動力」、という具合である。そのとき、駆動力系列は、最小駆動力をX1[(1/2)θ]とし、最大駆動力をX1[64]とするならば、インデックス(−2)を始まりとして、インデックスが1ずつ増えていく順に、インデックス(15)までが並ぶ。この表の中で、インデックスを5(すなわちp)の剰余系で分類することによって、X1[(1/2)θ]以上の駆動力すなわち、インデックス(−2)以上の駆動力を5つのグループに分けている。同図の符号21〜25は前記各グループを示す。
グループ21:(インデックスが5で割って1余る数)
インデックス集合=(1)、(6)、(11)
グループ22:(インデックスが5で割って2余る数)
インデックス集合=(2)、(7)、(12)
グループ23:(インデックスが5で割って3余る数)
インデックス集合=(−2)、(3)、(8)、(13)
グループ24:(インデックスが5で割って4余る数)
インデックス集合=(−1)、(4)、(9)、(14)
グループ25:(インデックスが5で割り切れる数)
インデックス集合=(0)、(5)、(10)、(15)
グループ21に属する駆動力は必ず、駆動力X1[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ22に属する駆動力は必ず、駆動力X1[(1/2)θ4]の整数倍になっているので、それらは全てサイズX[(1/2)θ4]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ23に属する駆動力は必ず、駆動力X1[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ24に属する駆動力は必ず、駆動力X1[(1/2)θ3]の整数倍になっているので、それらは全てサイズX[(1/2)θ3]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ25に属する駆動力は必ず、駆動力X1[1](系列1の基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、図3の『トランジスタ・レイアウトデバイス』リストで示した5つのレイアウトデバイスを使って、X1[(1/2)θ2]以上の駆動力を全て実現することができるのである。
インデックス集合=(1)、(6)、(11)
グループ22:(インデックスが5で割って2余る数)
インデックス集合=(2)、(7)、(12)
グループ23:(インデックスが5で割って3余る数)
インデックス集合=(−2)、(3)、(8)、(13)
グループ24:(インデックスが5で割って4余る数)
インデックス集合=(−1)、(4)、(9)、(14)
グループ25:(インデックスが5で割り切れる数)
インデックス集合=(0)、(5)、(10)、(15)
グループ21に属する駆動力は必ず、駆動力X1[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ22に属する駆動力は必ず、駆動力X1[(1/2)θ4]の整数倍になっているので、それらは全てサイズX[(1/2)θ4]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ23に属する駆動力は必ず、駆動力X1[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ24に属する駆動力は必ず、駆動力X1[(1/2)θ3]の整数倍になっているので、それらは全てサイズX[(1/2)θ3]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ25に属する駆動力は必ず、駆動力X1[1](系列1の基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、図3の『トランジスタ・レイアウトデバイス』リストで示した5つのレイアウトデバイスを使って、X1[(1/2)θ2]以上の駆動力を全て実現することができるのである。
次に、公比ω2=23/5の等比数列型の駆動力系列を、ω2=θ3の関係に基づくθ表記で表示したものが、図3における[駆動力系列2(公比ω2=23/5=θ3)]の表である。この表中、X2[θ3]の上に記した(1)や、X2[8]の上に記した(5)等の数字は、その駆動力の基準駆動力X2[1]に対する比を、公比ω2(=θ3)のべき乗で見たときの当該べき乗数を指す。やはり、説明の便宜上、この乗数を駆動力のインデックスとして使う。例えば、X2[θ3]はX2[ω2]であるので「(1)番目の駆動力」、X2[8]はX2[ω2 5]であるので「(5)番目の駆動力」、またX2[(1/2)θ2]はX2[ω2 ―1]であるので「(−1)番目の駆動力」、という具合である。そのとき、駆動力系列は、最小駆動力をX2[(1/2)θ2]とし、最大駆動力をX2[64]とするならば、インデックス(−1)を始まりとして、インデックスが1ずつ増えていく順に、インデックス(10)までが並ぶ。この表の中で、インデックスを5(すなわちp)の剰余系で分類することによって、X2[(1/2)θ2]以上の駆動力、すなわち、インデックス(−1)以上の駆動力を5つのグループに分けている。同図の符号31〜35は前記各グループを示す。
グループ31:(インデックスが5で割って1余る数)
インデックス集合=(1)、(6)
グループ32:(インデックスが5で割って2余る数)
インデックス集合=(2)、(7)
グループ33:(インデックスが5で割って3余る数)
インデックス集合=(3)、(8)
グループ34:(インデックスが5で割って4余る数)
インデックス集合=(−1)、(4)、(9)
グループ35:(インデックスが5で割り切れる数)
インデックス集合=(0)、(5)、(10)
グループ31に属する駆動力は必ず、駆動力X2[(1/2)θ3]の整数倍になっているので、それらは全てサイズX[(1/2)θ3]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ32に属する駆動力は必ず、駆動力X2[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ33に属する駆動力は必ず、駆動力X2[(1/2)θ4]の整数倍になっているので、それらは全てサイズX[(1/2)θ4]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ34に属する駆動力は必ず、駆動力X2[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ35に属する駆動力は必ず、駆動力X2[1](系列2の基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、図3の『トランジスタ・レイアウトデバイス』リストで示した5つのレイアウトデバイスを使って、X2[(1/2)θ2]以上の駆動力を全て実現することができるのである。
インデックス集合=(1)、(6)
グループ32:(インデックスが5で割って2余る数)
インデックス集合=(2)、(7)
グループ33:(インデックスが5で割って3余る数)
インデックス集合=(3)、(8)
グループ34:(インデックスが5で割って4余る数)
インデックス集合=(−1)、(4)、(9)
グループ35:(インデックスが5で割り切れる数)
インデックス集合=(0)、(5)、(10)
グループ31に属する駆動力は必ず、駆動力X2[(1/2)θ3]の整数倍になっているので、それらは全てサイズX[(1/2)θ3]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ32に属する駆動力は必ず、駆動力X2[(1/2)θ]の整数倍になっているので、それらは全てサイズX[(1/2)θ]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ33に属する駆動力は必ず、駆動力X2[(1/2)θ4]の整数倍になっているので、それらは全てサイズX[(1/2)θ4]のトランジスタを1本又は複数本繰り返し並べれば実現できる。グループ34に属する駆動力は必ず、駆動力X2[(1/2)θ2]の整数倍になっているので、それらは全てサイズX[(1/2)θ2]のトランジスタを1本又は複数本繰り返し並べれば実現できる。そして、グループ35に属する駆動力は必ず、駆動力X2[1](系列2の基準駆動力)の整数倍になっているので、それらは全て基準サイズX[1]のトランジスタを1本又は複数本繰り返し並べれば実現できる。すなわち、図3の『トランジスタ・レイアウトデバイス』リストで示した5つのレイアウトデバイスを使って、X2[(1/2)θ2]以上の駆動力を全て実現することができるのである。
以上をまとめると、前記[駆動力系列1(公比ω1=22/5=θ2)]中の全ての駆動力も、前記[駆動力系列2(公比ω2=23/5=θ3)]中の全ての駆動力も、前記リスト『トランジスタ・レイアウトデバイス』の5つのレイアウトデバイスによって、ともに実現できることが確かめられた。
p=5、q=2、r=3のとき、ω1=22/5の値は1.320程度、ω2=23/5=1.516程度であるので、それぞれを公比とする等比数列型の駆動力系列の細密度には、確かに有意な差が存在する。それらを、5つのレイアウトデバイスだけで、作り分けることができるのである。
また、いま、p=5、q=1、r=2とすれば、ω1=21/5の値は1.149程度、ω2=22/5=1.320程度であるので、それぞれを公比とする等比数列型の駆動力系列の細密度は何れも高く、特にω1を公比とする等比数列型の駆動力系列は際立って細密な刻みとなる。それらを、5つのレイアウトデバイスだけで、作り分けることができるのである。
本実施形態では、2つの異なるセル機能に対して、刻みの異なる細密等比数列型の駆動力系列を共通のレイアウトデバイスによって実現できる可能性を議論してきたが、前記の議論を進めるにおいて前提にしたのは、セル機能Aのセルとセル機能Bのセルとを同一のP/N比で設計すること、及び各々の駆動力系列を同じ自然数pによる「2のp乗根のべき乗」の形の公比を持つ等比数列型に設計すること、という2点のみであった。従って、実はこの議論は、セル機能Aとセル機能Bとが同一であっても、成り立つものである。そこで、本実施形態の中で、一つのセル機能に対して、刻みの異なる2通りの等比数列型の駆動力系列を持たせることの有効性について、触れておく。
特に高速回路の設計に適用するスタンダードセル・ライブラリにおいて、INVERTERなど基本的な機能のセルについては、相当に大きな駆動力まで駆動力の系列を用意しておく必要があるが、そのとき、基準駆動力からその大駆動力までを細密等比数列型の駆動力系列で実現するには、多くのセル数を要する。一般的に回路の消費電力を抑えるためには、スタンダードセル・ライブラリの駆動力の比較的小さなところでの刻みを細かくすることが効果的であり、また回路の速度性能を上げるためには最大駆動力を高くしておくことが必要だと考えられるので、ライブラリとしての最適性を維持しながらセル数の膨張を抑制するために、比較的小さな駆動力のところでは刻みを細かくして、駆動力の大きなところでは刻みを広げて、できるだけ大きな駆動力までカバーできるようにしておくことが有効となる。すなわち、一つのセル機能について、比較的駆動力の小さなところと駆動力の大きなところとを、刻みの異なる2通りの駆動力系列によって実現することが必要となるが、この場合、セルは同一のP/N比で設計されるので、前記本実施形態についての議論から、同じpによる「2のp乗根のべき乗」の形の公比から2通りの公比を選択すれば、p通りのレイアウトデバイスを共通に使って駆動力系列を等比数列型に設計することが可能なのである。
いま、自然数pに5を選び、正の実数θを21/5によって定義する。駆動力の小さなところでは公比θ2の等比数列型の駆動力系列をなし、駆動力の大きなところでは公比θ3の等比数列型の駆動力系列をなすような、一つのセル機能についての駆動力系列の例を、図11の『駆動力系列』表に示す。この表中、<1>、<2>等は単純に、一番小さな駆動力から一番大きな駆動力までに順に番号を振ったものであり、<1>のX[(1/2)θ]から<9>のX[4θ2]までは公比θ2の等比数列型駆動力系列であり、<9>のX[4θ2]から<15>のX[64]までは公比θ3の等比数列型駆動力系列である。本実施形態の説明で既述の図3において、『駆動力系列1』のインデックス(−2)から(6)までの駆動力と、『駆動力系列2』のインデックス(4)から(10)までの駆動力を選び、X[4θ2]が共通に含まれていることに注意しながら、あわせて一列に並べることによって、前記図11の『駆動力系列』をつくることができる。従って、前記図11の『駆動力系列』は、前記図3の5つの「トランジスタ・レイアウトデバイス」によって実現できることが判る。
前記図3の『駆動力系列1』の場合であれば、18通りの駆動力でカバーしていた範囲を、前記図11の『駆動力系列』では15通りの駆動力でカバーしており、セル数を抑制する効果のあることが判る。公比を切り替えるポイントと、駆動力の大きい側での公比を見直すことによって、更なる抑制も可能となる。
前記図3の『駆動力系列1』の場合であれば、18通りの駆動力でカバーしていた範囲を、前記図11の『駆動力系列』では15通りの駆動力でカバーしており、セル数を抑制する効果のあることが判る。公比を切り替えるポイントと、駆動力の大きい側での公比を見直すことによって、更なる抑制も可能となる。
(第4の実施形態)
更に、本発明による第4の実施形態について説明する。
更に、本発明による第4の実施形態について説明する。
前記第1、第2、第3の何れの実施形態においても、出力信号駆動部のトランジスタは、一つのサイズのトランジスタ・レイアウトデバイスを繰り返し並べて並列に使うことによって、実現することができた。ここでは、駆動力に僅かな誤差を許し、異なるサイズのレイアウトデバイスを組み合わせて近似的に駆動力を実現することによって、並列に並べるレイアウトデバイス本数の大幅な削減が可能となることを、二つの具体例に基づいて説明する。
先ず、駆動力系列が等比数列で、公比が「2のp乗根」のとき、p=3とした場合を取り上げる。これは、第1の実施形態の説明で用いた前記図1の例に同じであるので、そこで用いた記号、記法をそのまま同じ意味で用いる。例えば、θは正の実数であり、21/3によって定義される。また、駆動力に与えるインデックスも同じである。そして、図4に記載の表[公比θの等比数列型の駆動力系列]は、第1の実施形態にかかる図1に記載の駆動力系列と同じ系列を、インデックス(−2)以上すなわち駆動力がX[(1/2)・θ]以上のところについて再記したものであるが、図4の表では、あらためて、各駆動力をレイアウトデバイスの並列配置で実現するための並列本数を記載している。例えば、駆動力X[θ]はグループ1に属するので、サイズX[(1/2)θ]のトランジスタを繰り返し並べれば実現できることは第1の実施形態において説明済みだが、具体的な本数は2本である。尚、図4に記載のリスト『トランジスタ・レイアウトデバイス』で示したレイアウトデバイスの集合は、第1の実施形態で記した前記集合(5)でp=3とした場合に同じであるが、参照の便宜のため、あらためて次に記す。
トランジスタ・レイアウトデバイスのサイズの集合:
{X[(1/2)・θ]、X[(1/2)・θ2]、X[1]} …(25)
さて、実際の半導体集積回路設計では、設計グリッドと呼ばれる長さの最小単位が存在するので、トランジスタ・サイズX[(1/2)・θ]など、θ=21/3を使って表示された厳密なサイズをそのまま設計に使えるわけではない。いま、仮に、設計グリッドが基準サイズX[1]の1/1000に相当するとする。そのとき、前記集合(25)の3通りのレイアウトデバイスを設計で使用する数値表示に書き換えたものが、図5のリスト『トランジスタ・レイアウトデバイスの数値表示』であり、参照の便宜のため、集合(26)として次に記す。
{X[(1/2)・θ]、X[(1/2)・θ2]、X[1]} …(25)
さて、実際の半導体集積回路設計では、設計グリッドと呼ばれる長さの最小単位が存在するので、トランジスタ・サイズX[(1/2)・θ]など、θ=21/3を使って表示された厳密なサイズをそのまま設計に使えるわけではない。いま、仮に、設計グリッドが基準サイズX[1]の1/1000に相当するとする。そのとき、前記集合(25)の3通りのレイアウトデバイスを設計で使用する数値表示に書き換えたものが、図5のリスト『トランジスタ・レイアウトデバイスの数値表示』であり、参照の便宜のため、集合(26)として次に記す。
トランジスタ・レイアウトデバイスのサイズの集合(数値表示):
{X[0.630]、X[0.794]、X[1.000]} …(26)
また、駆動力の表もθ表示から数値表示に書き換えると、図5の表[公比θの等比数列型の駆動力系列の近似]のようになり、前記図4の表とは、インデックスを通じて駆動力同士が一対一に対応する。例えば、図4の表中でインデックス(1)の駆動力X[θ]は、図5の表中でインデックスが同じ(1)の駆動力X[1.260]に書き換えられ、又は図4の表中でインデックス(11)の駆動力X[8θ2]は、図5の表中でインデックスが同じ(11)の駆動力X[12.699]に書き換えられる、という具合である。ここで、数値表示されたレイアウトデバイスの集合(26)と図5の駆動力系列表の駆動力数値を見比べると、一部の駆動力については、一種類のレイアウトデバイス、すなわち第1の実施形態に係る図1のグループ分類に則った厳密に対応するレイアウトデバイスに固執しなくても、レイアウトデバイスX[1.000]をできるだけ多く使った上で他の種類のデバイスで足りない部分を補えば、相当精度の良い近似駆動力を得られることが判る。例えば、インデックス(7)の駆動力X[4θ]は数値表示でX[5.040]であるが、これをX[5.000]で近似してやれば、レイアウトデバイスX[1.000]の5本並列で実現できる。そのときの駆動力の誤差は、駆動力が下がる方向に僅か0.8%であって、一方で並列本数は8本から5本に削減されるので、削減率は37.5%にもなる。この並列本数の削減分だけセル幅を削減できるので、前記近似によって実質的に駆動力を変更することなく、セル面積を大幅に縮小することができることになる。このように近似が有効な駆動力は他にもあって、例えば、インデックス(14)の駆動力X[16θ2]は数値表示でX[25.398]であるが、これをX[25.260]で近似してやれば、レイアウトデバイスX[1.000]の24本とレイアウトデバイスX[0.630]の2本のあわせて26本並列で実現できる。そのときの駆動力の誤差は、駆動力が下がる方向に僅か0.5%であって、一方で並列本数は32本から26本に削減されるので、削減率は18.7%になる。図5の前記表[公比θの等比数列型の駆動力系列の近似]には、各駆動力の数値表示に加えて、このような近似が有効な駆動力について、近似誤差と並列本数の削減度を記している。インデックス(7)から(18)までの中間駆動力及び高駆動力のところで、12個の駆動力のうちの7つにおいて、実質的な駆動力を変更せずに、大幅な並列本数の削減が可能であることが判る。
{X[0.630]、X[0.794]、X[1.000]} …(26)
また、駆動力の表もθ表示から数値表示に書き換えると、図5の表[公比θの等比数列型の駆動力系列の近似]のようになり、前記図4の表とは、インデックスを通じて駆動力同士が一対一に対応する。例えば、図4の表中でインデックス(1)の駆動力X[θ]は、図5の表中でインデックスが同じ(1)の駆動力X[1.260]に書き換えられ、又は図4の表中でインデックス(11)の駆動力X[8θ2]は、図5の表中でインデックスが同じ(11)の駆動力X[12.699]に書き換えられる、という具合である。ここで、数値表示されたレイアウトデバイスの集合(26)と図5の駆動力系列表の駆動力数値を見比べると、一部の駆動力については、一種類のレイアウトデバイス、すなわち第1の実施形態に係る図1のグループ分類に則った厳密に対応するレイアウトデバイスに固執しなくても、レイアウトデバイスX[1.000]をできるだけ多く使った上で他の種類のデバイスで足りない部分を補えば、相当精度の良い近似駆動力を得られることが判る。例えば、インデックス(7)の駆動力X[4θ]は数値表示でX[5.040]であるが、これをX[5.000]で近似してやれば、レイアウトデバイスX[1.000]の5本並列で実現できる。そのときの駆動力の誤差は、駆動力が下がる方向に僅か0.8%であって、一方で並列本数は8本から5本に削減されるので、削減率は37.5%にもなる。この並列本数の削減分だけセル幅を削減できるので、前記近似によって実質的に駆動力を変更することなく、セル面積を大幅に縮小することができることになる。このように近似が有効な駆動力は他にもあって、例えば、インデックス(14)の駆動力X[16θ2]は数値表示でX[25.398]であるが、これをX[25.260]で近似してやれば、レイアウトデバイスX[1.000]の24本とレイアウトデバイスX[0.630]の2本のあわせて26本並列で実現できる。そのときの駆動力の誤差は、駆動力が下がる方向に僅か0.5%であって、一方で並列本数は32本から26本に削減されるので、削減率は18.7%になる。図5の前記表[公比θの等比数列型の駆動力系列の近似]には、各駆動力の数値表示に加えて、このような近似が有効な駆動力について、近似誤差と並列本数の削減度を記している。インデックス(7)から(18)までの中間駆動力及び高駆動力のところで、12個の駆動力のうちの7つにおいて、実質的な駆動力を変更せずに、大幅な並列本数の削減が可能であることが判る。
二つ目の例として、同じく駆動力系列が等比数列で、公比が「2のp乗根のq乗」のとき、p=5、q=2とした場合を取り上げる。これは、第2の実施形態の説明で用いた前記図2の例に同じであるので、そこで用いた記号、記法をそのまま同じ意味で用いる。例えば、θは正の実数であり、21/5によって定義される。公比ωは22/5=θ2である。また、駆動力に与えるインデックスも同じである。そして、図6に記載の表[公比ωの等比数列型の駆動力系列]は、第2の実施形態にかかる図2に記載の駆動力系列と同じ系列を再記したものであるが、図6の表では、あらためて、各駆動力をレイアウトデバイスの並列配置で実現するための並列本数を記載している。例えば、駆動力X[θ2]はグループ11に属するので、サイズX[(1/2)θ2]のトランジスタを繰り返し並べれば実現できることは第2の実施形態において説明済みだが、具体的な本数は2本である。尚、図6に記載のリスト『トランジスタ・レイアウトデバイス』で示したレイアウトデバイスの集合は、第2の実施形態で記した前記集合(10)でp=5とした場合に同じであるが、参照の便宜のため、あらためて次に記す。
トランジスタ・レイアウトデバイスのサイズの集合:
{X[(1/2)・θ]、X[(1/2)・θ2]、X[(1/2)・θ3]
、X[(1/2)・θ4]、X[1]} …(27)
前記一つ目の例のときと同様、設計グリッドが基準サイズX[1]の1/1000に相当するとする。そのとき、前記集合(27)の5通りのレイアウトデバイスを設計で使用する数値表示に書き換えたものが、図7のリスト『トランジスタ・レイアウトデバイスの数値表示』であり、参照の便宜のため、集合(28)として次に記す。
{X[(1/2)・θ]、X[(1/2)・θ2]、X[(1/2)・θ3]
、X[(1/2)・θ4]、X[1]} …(27)
前記一つ目の例のときと同様、設計グリッドが基準サイズX[1]の1/1000に相当するとする。そのとき、前記集合(27)の5通りのレイアウトデバイスを設計で使用する数値表示に書き換えたものが、図7のリスト『トランジスタ・レイアウトデバイスの数値表示』であり、参照の便宜のため、集合(28)として次に記す。
トランジスタ・レイアウトデバイスのサイズの集合(数値表示):
{X[0.574]、X[0.660]、X[0.758]、X[0.871]
、X[1.000]} …(28)
また、駆動力の表もθ表示から数値表示に書き換えると、図7の表[公比ωの等比数列型の駆動力系列の近似]のようになり、前記図6の表とは、インデックスを通じて駆動力同士が一対一に対応する。例えば、図6の表中でインデックス(1)の駆動力X[θ2]は、図7の表中でインデックスが同じ(1)の駆動力X[1.320]に書き換えられ、又は図6の表中でインデックス(8)の駆動力X[8θ]は、図7の表中でインデックスが同じ(8)の駆動力X[9.190]に書き換えられる、という具合である。ここで、数値表示されたレイアウトデバイスの集合(28)と図7の駆動力系列表の駆動力数値を見比べると、一部の駆動力については、一種類のレイアウトデバイス、すなわち第2の実施形態に係る図2のグループ分類に則った厳密に対応するレイアウトデバイスに固執しなくても、レイアウトデバイスX[1.000]をできるだけ多く使った上で他の種類のデバイスで足りない部分を補えば、相当精度の良い近似駆動力を得られることが判る。例えば、インデックス(6)の駆動力X[4θ2]は数値表示でX[5.278]であるが、これをX[5.320]で近似してやれば、レイアウトデバイスX[1.000]の4本並列とレイアウトデバイスX[0.660]の2本並列のあわせて6本並列で実現できる。そのときの駆動力の誤差は、駆動力が上がる方向に僅か0.8%であって、一方で並列本数は8本から6本に削減されるので、削減率は25.0%にもなる。この並列本数の削減分だけセル幅を削減できるので、前記近似によって実質的に駆動力を変更することなく、セル面積を大幅に縮小することができることになる。このように近似が有効な駆動力は他にもあって、例えば、インデックス(9)の駆動力X[8θ3]は数値表示でX[12.126]であるが、これをX[12.149]で近似してやれば、レイアウトデバイスX[1.000]の11本とレイアウトデバイスX[0.574]の2本のあわせて13本並列で実現できる。そのときの駆動力の誤差は、駆動力が上がる方向に僅か0.2%であって、一方で並列本数は16本から13本に削減されるので、削減率は18.75%になる。図7の前記表[公比ωの等比数列型の駆動力系列の近似]には、各駆動力の数値表示に加えて、このような近似が有効な駆動力について、近似誤差と並列本数の削減度を記している。インデックス(6)〜(15)までの中間駆動力及び高駆動力のところで、10個の駆動力のうちの8つにおいて、実質的な駆動力を変更せずに、大幅な並列本数の削減が可能であることが判る。
{X[0.574]、X[0.660]、X[0.758]、X[0.871]
、X[1.000]} …(28)
また、駆動力の表もθ表示から数値表示に書き換えると、図7の表[公比ωの等比数列型の駆動力系列の近似]のようになり、前記図6の表とは、インデックスを通じて駆動力同士が一対一に対応する。例えば、図6の表中でインデックス(1)の駆動力X[θ2]は、図7の表中でインデックスが同じ(1)の駆動力X[1.320]に書き換えられ、又は図6の表中でインデックス(8)の駆動力X[8θ]は、図7の表中でインデックスが同じ(8)の駆動力X[9.190]に書き換えられる、という具合である。ここで、数値表示されたレイアウトデバイスの集合(28)と図7の駆動力系列表の駆動力数値を見比べると、一部の駆動力については、一種類のレイアウトデバイス、すなわち第2の実施形態に係る図2のグループ分類に則った厳密に対応するレイアウトデバイスに固執しなくても、レイアウトデバイスX[1.000]をできるだけ多く使った上で他の種類のデバイスで足りない部分を補えば、相当精度の良い近似駆動力を得られることが判る。例えば、インデックス(6)の駆動力X[4θ2]は数値表示でX[5.278]であるが、これをX[5.320]で近似してやれば、レイアウトデバイスX[1.000]の4本並列とレイアウトデバイスX[0.660]の2本並列のあわせて6本並列で実現できる。そのときの駆動力の誤差は、駆動力が上がる方向に僅か0.8%であって、一方で並列本数は8本から6本に削減されるので、削減率は25.0%にもなる。この並列本数の削減分だけセル幅を削減できるので、前記近似によって実質的に駆動力を変更することなく、セル面積を大幅に縮小することができることになる。このように近似が有効な駆動力は他にもあって、例えば、インデックス(9)の駆動力X[8θ3]は数値表示でX[12.126]であるが、これをX[12.149]で近似してやれば、レイアウトデバイスX[1.000]の11本とレイアウトデバイスX[0.574]の2本のあわせて13本並列で実現できる。そのときの駆動力の誤差は、駆動力が上がる方向に僅か0.2%であって、一方で並列本数は16本から13本に削減されるので、削減率は18.75%になる。図7の前記表[公比ωの等比数列型の駆動力系列の近似]には、各駆動力の数値表示に加えて、このような近似が有効な駆動力について、近似誤差と並列本数の削減度を記している。インデックス(6)〜(15)までの中間駆動力及び高駆動力のところで、10個の駆動力のうちの8つにおいて、実質的な駆動力を変更せずに、大幅な並列本数の削減が可能であることが判る。
ここで説明した内容は、レイアウトデバイスのサイズや駆動力系列に現れる出力信号駆動部のトランジスタ・サイズの具体的な数値に基づく近似手法であるから、一般のp、qの場合を定量的に議論することはできない。しかし、ここで示した2つの場合によって実用上の有効性は確認できたものと考えられる。
(レイアウトデバイス、レイアウト及び半導体集積回路の一例)
図8は、INVセルを例として、そのINVセルの駆動力系列を、公比θを2の3乗根(θ=21/3)とした場合の公比θの等比数列に実現する場合の3通りのレイアウトデバイスを示す。同図において、この3通りのレイアウトデバイスは、INVセル用の基準サイズX[1]のレイアウトデバイス51と、INVセル用のサイズX[(1/2)θ]のレイアウトデバイス52と、INVセル用のサイズX[(1/2)θ2]のレイアウトデバイス53である。尚、同図において、41はセル高さを示すセル枠、42はセル高さ、43はP型トランジスタ・レイアウトデバイスの配置可能領域、44はN型トランジスタ・レイアウトデバイスの配置可能領域、45はP型トランジスタ・レイアウトデバイス、46はN型トランジスタ・レイアウトデバイスである。
図8は、INVセルを例として、そのINVセルの駆動力系列を、公比θを2の3乗根(θ=21/3)とした場合の公比θの等比数列に実現する場合の3通りのレイアウトデバイスを示す。同図において、この3通りのレイアウトデバイスは、INVセル用の基準サイズX[1]のレイアウトデバイス51と、INVセル用のサイズX[(1/2)θ]のレイアウトデバイス52と、INVセル用のサイズX[(1/2)θ2]のレイアウトデバイス53である。尚、同図において、41はセル高さを示すセル枠、42はセル高さ、43はP型トランジスタ・レイアウトデバイスの配置可能領域、44はN型トランジスタ・レイアウトデバイスの配置可能領域、45はP型トランジスタ・レイアウトデバイス、46はN型トランジスタ・レイアウトデバイスである。
また、図9は、同様に、INVセルを例として、そのINVセルの駆動力系列を、公比θを2の3乗根(θ=21/3)とした場合の公比θの等比数列に実現する場合のINVセルの駆動力と対応するレイアウトを示す。同図において、61は基準駆動力X[1]に対応するインデックス(0)のINNVセル、62は駆動力X[(1/2)θ]に対応するインデックス(−2)のINNVセル、63は駆動力X[(1/2)θ2]に対応するインデックス(−1)のINNVセルである。また、64は前記駆動力X[(1/2)θ]に対応するインデックス(−2)のINNVセル62を2個繰り返し並べる形態でレイアウトされた駆動力X[θ]に対応するインデックス(1)のINNVセル、65は前記駆動力X[(1/2)θ2]に対応するインデックス(−1)のINNVセル63を2個繰り返し並べる形態でレイアウトされた駆動力X[θ2]に対応するインデックス(2)のINNVセル、66は前記基準駆動力X[1]に対応するインデックス(0)のINNVセル61を2個繰り返し並べる形態でレイアウトされた駆動力X[2]に対応するインデックス(3)のINNVセルである。更に、67は前記駆動力X[θ]に対応するインデックス(1)のINNVセル64を2個繰り返し並べる形態でレイアウトされた駆動力X[2θ]に対応するインデックス(4)のINNVセル、68は前記駆動力X[θ2]に対応するインデックス(2)のINNVセル65を2個繰り返し並べる形態でレイアウトされた駆動力X[2θ2]に対応するインデックス(5)のINNVセル、69は前記駆動力X[2]に対応するインデックス(3)のINNVセルを2個繰り返し並べる形態でレイアウトされた駆動力X[4]に対応するインデックス(6)のINNVセルである。
更に、図10は、同様に、INVセルを例として、そのINVセルの駆動力系列を、公比θを2の3乗根(θ=21/3)とした場合の公比θの等比数列に実現する場合のスタンダードセル・ライブラリによって、各INVセルをスタンダードセル領域に並べて半導体集積回路を形成する様子を示す。図10において、同図左側には公比θを2の3乗根(θ=21/3)とした場合の公比θの等比数列に実現する場合のスタンダードセル・ライブラリに含まれる9種のINVセル、すなわち、基準駆動力X[1]でインデックス(0)のINVセル101と、駆動力X[(1/2)θ]でインデックス(−2)のINVセル102と、駆動力X[(1/2)θ2]でインデックス(−1)のINVセル103と、駆動力X[θ]でインデックス(1)のINVセル104と、駆動力X[θ2]でインデックス(2)のINVセル105と、駆動力X[2]でインデックス(3)のINVセル106と、駆動力X[2θ]でインデックス(4)のINVセル107と、駆動力X[2θ2]でインデックス(5)のINVセル108と、駆動力X[4]でインデックス(6)のINVセル109とを用いて、半導体集積回路のスタンダードセル領域120に、これら9種のINVセル101〜109を配置して半導体集積回路を形成する一例を示している。尚、同図において、121は電源(Vdd電位)の配線、122は接地(Vss電位)の配線である。また、図10では、スタンダードセル・ライブラリに含まれる9種のINVセル101〜109において、スタンダードセル領域120に配置されたときのINVセルの向きを認識できるように記号Fを付している。
以上説明したように、本発明によるスタンダードセル・ライブラリは、各種電子機器に搭載されるCMOSトランジスタを有する半導体集積回路等に利用することができる。
1〜3 駆動力系列のインデックスを3の剰余系で分類したときの各グループ
11〜15 駆動力系列のインデックスを5の剰余系で分類したときの各グループ
21〜25 駆動力系列のインデックスを5の剰余系で分類したときの各グループ
31〜35 駆動力系列のインデックスを5の剰余系で分類したときの各グループ
11〜15 駆動力系列のインデックスを5の剰余系で分類したときの各グループ
21〜25 駆動力系列のインデックスを5の剰余系で分類したときの各グループ
31〜35 駆動力系列のインデックスを5の剰余系で分類したときの各グループ
Claims (16)
- 半導体集積回路設計に用いるスタンダードセル・ライブラリであって、
前記ライブラリは少なくとも一つのセル機能を実現するための複数のセルを備えており、
少なくとも一つの前記セル機能について、当該同一の機能を持ちかつ駆動力の異なる複数のセルからなるセル群を含み、
前記セル群の駆動力に関する系列が、前記セル群に属するセルの出力信号駆動部のトランジスタ・サイズの相対的大きさを駆動力の指標として、前記指標に関して等比数列を形成しており、
2以上のある自然数pが存在し、
前記等比数列は、「2のp乗根」(21/p)という形に実質的に表現できる公比を持つ
ことを特徴とするスタンダードセル・ライブラリ。 - 前記請求項1に記載のスタンダードセル・ライブラリであって、
セルの前記出力信号駆動部のトランジスタ・サイズについて、セル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、基準サイズX[1]と定義したときに、
正の実数θを前記自然数pに係る21/pによって定義すると、θpは2を意味し、
前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、
前記セル群中のセルであって、
当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、
前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスから前記セルに対応して一つだけ選択された前記レイアウトデバイスを、一つ又は複数個繰り返し並べる形態で、前記セル内にレイアウトされている
ことを特徴とするスタンダードセル・ライブラリ。 - 前記請求項1に記載のスタンダードセル・ライブラリであって、
セルの前記出力信号駆動部のトランジスタ・サイズについて、セル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、基準サイズX[1]と定義したときに、
正の実数θを前記自然数pに係る21/pによって定義すると、θpは2を意味し、
前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、
前記セル群中のセルであって、
当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、
前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスを組み合わせて並べる形態で、前記セル内にレイアウトされている
ことを特徴とするスタンダードセル・ライブラリ。 - 前記請求項2に記載のスタンダードセル・ライブラリであって、
前記p通りのトランジスタ・レイアウトデバイスを構成する、p通りのPチャネル型トランジスタ・レイアウトデバイス及び、同じくp通りのNチャネル型トランジスタ・レイアウトデバイスが、それぞれ単独でも、セルの出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、
前記セル群に属さないセルであって、
当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、
前記セルの出力信号駆動部のトランジスタが、前記p通りのPチャネル型トランジスタ・レイアウトデバイス及び前記p通りのNチャネル型トランジスタ・レイアウトデバイスを組み合わせて並べる形態で、前記セル内にレイアウトされている
ことを特徴とするスタンダードセル・ライブラリ。 - 半導体集積回路設計に用いるスタンダードセル・ライブラリであって、
前記ライブラリは少なくとも一つのセル機能を実現するための複数のセルを備えており、
少なくとも一つの前記セル機能について、当該同一の機能を持ちかつ駆動力の異なる複数のセルからなるセル群を含み、
前記セル群の駆動力に関する系列が、前記セル群に属するセルの出力信号駆動部のトランジスタ・サイズの相対的大きさを駆動力の指標として、前記指標に関して等比数列を形成しており、
2以上のある自然数pが存在し、また、1以上p未満のある自然数qが存在し、
前記等比数列は、「2のp乗根のq乗」(2q/p)という形に実質的に表現できる公比を持つ
ことを特徴とするスタンダードセル・ライブラリ。 - 前記請求項5に記載のスタンダードセル・ライブラリであって、
セルの前記出力信号駆動部のトランジスタ・サイズについて、セル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、基準サイズX[1]と定義したときに、
正の実数θを前記自然数pに係る21/pによって定義すると、θpは2を意味し、
前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、
前記セル群中のセルであって、
当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズに基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、
前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスから前記セルに対応して一つだけ選択された前記レイアウトデバイスを、一つ又は複数個繰り返し並べる形態で、前記セル内にレイアウトされている
ことを特徴とするスタンダードセル・ライブラリ。 - 前記請求項5に記載のスタンダードセル・ライブラリであって、
セルの前記出力信号駆動部のトランジスタ・サイズについて、セル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、基準サイズX[1]と定義したときに、
正の実数θを前記自然数pに係る21/pによって定義すると、θpは2を意味し、
前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、
前記セル群中のセルであって、
当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズに基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、
前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスを組み合わせて並べる形態で、前記セル内にレイアウトされている
ことを特徴とするスタンダードセル・ライブラリ。 - 前記請求項6に記載のスタンダードセル・ライブラリであって、
前記p通りのトランジスタ・レイアウトデバイスを構成する、p通りのPチャネル型トランジスタ・レイアウトデバイス及び、同じくp通りのNチャネル型トランジスタ・レイアウトデバイスが、それぞれ単独でも、セルの出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、
前記セル群に属さないセルであって、
当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、
前記セルの出力信号駆動部のトランジスタが、前記p通りのPチャネル型トランジスタ・レイアウトデバイス及び前記p通りのNチャネル型トランジスタ・レイアウトデバイスを組み合わせて並べる形態で、前記セル内にレイアウトされている
ことを特徴とするスタンダードセル・ライブラリ。 - 半導体集積回路設計に用いるスタンダードセル・ライブラリであって、
前記ライブラリは、複数のセル機能を実現するための複数のセルを備えており、
第1のセル機能について、当該同一の機能を持ちかつ駆動力の異なる複数のセルからなる第1のセル群を含み、
更に、前記第1のセル機能とは異なる第2のセル機能について、当該同一の機能を持ちかつ駆動力の異なる複数のセルからなる第2のセル群を含み、
前記第1のセル群に属するセル及び前記第2のセル群に属するセルについて、セルの出力信号駆動部のトランジスタ・サイズについて共通の基準サイズを定義することができて、
前記第1のセル群のセルについて、出力信号駆動部のトランジスタ・サイズの前記基準サイズに対する割合を指標として、当該前記第1のセル機能に係る駆動力を定義することができて、
前記第1のセル群の前記駆動力に関する系列が、第1の等比数列を形成しており、
2以上のある自然数pが存在し、また、1以上p未満のある自然数qが存在して、
前記第1の等比数列は、「2のp乗根のq乗」(2q/p)という形に実質的に表現できる公比を持ち、
前記第2のセル群のセルについて、出力信号駆動部のトランジスタ・サイズの前記基準サイズに対する割合を指標として、当該前記第2のセル機能に係る駆動力を定義することができて、
前記第2のセル群の前記駆動力に関する系列が、第2の等比数列を形成しており、
qより大きくp未満のある自然数rが存在して、
前記第2の等比数列は、「2のp乗根のr乗」(2r/p)という形に実質的に表現できる公比を持つ
ことを特徴とするスタンダードセル・ライブラリ。 - 前記請求項9に記載のスタンダードセル・ライブラリであって、
セルの出力信号駆動部のトランジスタ・サイズについて、セル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、前記第1のセル群と前記第2のセル群に対して、共通な前記基準サイズX[1]と定義したときに、
正の実数θを前記自然数pに係る21/pによって定義すると、θpは2を意味し、
前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、
前記第1のセル群中のセル又は前記第2のセル群中のセルであって、
当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、
前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスから前記セルに対応して一つだけ選択された前記レイアウトデバイスを、一つ又は複数個繰り返し並べる形態で、前記セル内にレイアウトされている
ことを特徴とするスタンダードセル・ライブラリ。 - 半導体集積回路設計に用いるスタンダードセル・ライブラリであって、
前記ライブラリは少なくとも一つのセル機能を実現するための複数のセルを備えており、
少なくとも一つの前記セル機能について、当該同一の機能を持ちかつ駆動力の異なる複数のセルからなるセル群を含み、
前記セル群の駆動力に関する系列において、前記セル群に属するセルの出力信号駆動部のトランジスタ・サイズの相対的大きさを駆動力の指標として、前記セル群に属するセルに駆動力の小さなものから大きなものへと順列をつけた系列において、
前記系列の中で連続する複数のセルから構成される第1の部分系列が存在し、 前記第1の部分系列に属する全てのセルは第1の部分セル群を形成し、
前記第1の部分系列は、前記指標による駆動力に関して等比数列を形成し、
2以上のある自然数pが存在し、また、1以上p未満のある自然数qが存在して、
前記等比数列は、「2のp乗根のq乗」(2q/p)という形に実質的に表現できる公比を持っており、
同時に、前記系列の中で連続する複数のセルから構成される、前記第1の部分系列には属さないセルを少なくとも1つ以上含む、第2の部分系列が存在し、前記第2の部分系列に属する全てのセルは第2の部分セル群を形成し、
前記第2の部分系列は、前記指標による駆動力に関して等比数列を形成し、
前記自然数qとは異なる、qより大きくp未満のある自然数rが存在して、
前記第2の部分系列が形成する前記等比数列は、「2のp乗根のr乗」(2r/p)という形に実質的に表現できる公比を持っている
ことを特徴とするスタンダードセル・ライブラリ。 - 前記請求項11に記載のスタンダードセル・ライブラリであって、
セルの前記出力信号駆動部のトランジスタ・サイズについて、セル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、基準サイズX[1]と定義したときに、
正の実数θを前記自然数pに係る21/pによって定義すると、θpは2を意味し、
前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、
前記第1の部分セル群中のセル又は前記第2の部分セル群中のセルであって、当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、
前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスから前記セルに対応して一つだけ選択された前記レイアウトデバイスを、一つ又は複数個繰り返し並べる形態で、前記セル内にレイアウトされている
ことを特徴とするスタンダードセル・ライブラリ。 - 半導体集積回路設計に用いるスタンダードセル・ライブラリであって、
前記ライブラリは少なくとも一つのセル機能を実現するための複数のセルを備えており、
少なくとも一つの前記セル機能について、当該同一の機能を持ちかつ駆動力の異なる複数のセルからなるセル群を含み、
セルの出力信号駆動部のトランジスタ・サイズについて、スタンダードセル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、基準サイズX[1]と定義したときに、
pを2以上のある自然数とし、正の実数θを21/pによって定義すると、θpは2を意味し、
前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスが、出力信号駆動部のトランジスタを構成するデバイスとして搭載可能であり、
前記セル群に属するセルであって、
当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、
前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスから前記セルに対応して一つだけ選択された前記レイアウトデバイスを、一つ又は複数個繰り返し並べる形態で、前記セル内にレイアウトされている
ことを特徴とするスタンダードセル・ライブラリ。 - 半導体集積回路であって、
スタンダードセル・アレイの領域を備え、
前記スタンダードセル・アレイには、少なくとも一つのセル機能について複数個のセルが配置されており、
前記セルは出力信号を駆動するための出力信号駆動部トランジスタを有し、前記セル機能を有する前記複数個のセルの中から、当該同一の機能を持ちかつ出力信号駆動部トランジスタのサイズの異なるセル群を見い出すことができて、
セルの出力信号駆動部のトランジスタ・サイズについて、スタンダードセル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、基準サイズX[1]と定義したときに、
pを2以上のある自然数とし、正の実数θを21/pによって定義すると、θpは2を意味し、
前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスを定義することができて、
前記セル群中のセルであって、
当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、
前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスから前記セルに対応して一つだけ選択された前記レイアウトデバイスを、一つ又は複数個繰り返し並べる形態で、前記セル内にレイアウトされている
ことを特徴とする半導体集積回路。 - 半導体集積回路であって、
スタンダードセル・アレイの領域を備え、
前記スタンダードセル・アレイには、少なくとも一つのセル機能について複数個のセルが配置されており、
前記セルは出力信号を駆動するための出力信号駆動部トランジスタを有し、前記セル機能を有する前記複数個のセルの中から、当該同一の機能を持ちかつ出力信号駆動部トランジスタのサイズの異なるセル群を見い出すことができて、
前記セル群の駆動力に関する系列において、前記セル群に属するセルの出力信号駆動部のトランジスタ・サイズの相対的大きさを駆動力の指標として、前記セル群に属するセルを駆動力の小さなものから大きなものへと順列をつけた系列において、
前記系列の中で複数のセルから構成される部分系列が存在し、前記部分系列は、前記指標による駆動力に関して等比数列を形成し、
2以上のある自然数pが存在し、また、1以上p未満のある自然数qが存在し、
前記等比数列は、「2のp乗根のq乗」(2q/p)という形に実質的に表現できる公比を持つ
ことを特徴とする半導体集積回路。 - 前記請求項15に記載の半導体集積回路であって、
セルの出力信号駆動部のトランジスタ・サイズについて、スタンダードセル内に1本描きで収納可能なトランジスタ・レイアウトデバイスのある特定のサイズを、基準サイズX[1]と定義したときに、
pを2以上のある自然数とし、正の実数θを21/pによって定義すると、θpは2を意味し、
前記基準サイズX[1]に基づく表示で、X[(1/2)・θs](sは自然数で1からpまで動く)という形のp通りのサイズで区別される、p通りのトランジスタ・レイアウトデバイスを定義することができて、
前記請求項15に記載の駆動力に関して等比数列をなす前記部分系列中のセルであって、
当該出力信号駆動部のトランジスタ・サイズが、前記基準サイズX[1]に基づく表示で、X[(1/2)・θ]に等しいか又はそれより大きなサイズであるとき、
前記セルの出力信号駆動部のトランジスタが、前記p通りのトランジスタ・レイアウトデバイスから前記セルに対応して一つだけ選択された前記レイアウトデバイスを、一つ又は複数個繰り返し並べる形態で、前記セル内にレイアウトされている
ことを特徴とする半導体集積回路。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008328451 | 2008-12-24 | ||
JP2008328451 | 2008-12-24 | ||
PCT/JP2009/007107 WO2010073610A1 (ja) | 2008-12-24 | 2009-12-22 | スタンダードセル・ライブラリ及び半導体集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2010073610A1 true JPWO2010073610A1 (ja) | 2012-06-07 |
Family
ID=42287257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010543849A Withdrawn JPWO2010073610A1 (ja) | 2008-12-24 | 2009-12-22 | スタンダードセル・ライブラリ及び半導体集積回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8302057B2 (ja) |
JP (1) | JPWO2010073610A1 (ja) |
WO (1) | WO2010073610A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11842131B2 (en) | 2016-09-30 | 2023-12-12 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method and system for generating layout diagram for semiconductor device having engineering change order (ECO) cells |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8397184B2 (en) * | 2008-10-09 | 2013-03-12 | Lsi Corporation | Channel length scaling for footprint compatible digital library cell design |
US8720518B2 (en) * | 2010-12-17 | 2014-05-13 | Kimberly-Clark Worldwide, Inc. | Apparatus for bonding ribbon in a nonlinear pattern to a web |
JP2012243151A (ja) * | 2011-05-20 | 2012-12-10 | Toshiba Corp | 半導体集積回路のチップサイズ見積もり装置、及び半導体集積回路のチップサイズ見積もり方法 |
US9183335B2 (en) * | 2013-03-21 | 2015-11-10 | Synopsys, Inc. | Dynamic power driven clock tree synthesis (CTS) |
US9704846B1 (en) | 2013-10-04 | 2017-07-11 | Pdf Solutions, Inc. | IC chips containing a mixture of standard cells obtained from an original set of design rules and enhanced standard cells that are a substantially uniform variant of the original set of design rules and methods for making the same |
US10037397B2 (en) | 2014-06-23 | 2018-07-31 | Synopsys, Inc. | Memory cell including vertical transistors and horizontal nanowire bit lines |
US9361418B2 (en) | 2014-06-23 | 2016-06-07 | Synopsys, Inc. | Nanowire or 2D material strips interconnects in an integrated circuit cell |
US9400862B2 (en) | 2014-06-23 | 2016-07-26 | Synopsys, Inc. | Cells having transistors and interconnects including nanowires or 2D material strips |
TWI656622B (zh) * | 2014-09-23 | 2019-04-11 | 聯華電子股份有限公司 | 積體電路佈局結構 |
US9842182B2 (en) | 2014-10-01 | 2017-12-12 | Samsung Electronics Co., Ltd. | Method and system for designing semiconductor device |
US9495501B1 (en) * | 2016-01-29 | 2016-11-15 | International Business Machines Corporation | Large cluster persistence during placement optimization of integrated circuit designs |
US10312229B2 (en) | 2016-10-28 | 2019-06-04 | Synopsys, Inc. | Memory cells including vertical nanowire transistors |
US10339250B2 (en) | 2016-11-29 | 2019-07-02 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of generating engineering change order (ECO) layout of base cell and computer-readable medium comprising executable instructions for carrying out said method |
US11062073B2 (en) * | 2016-12-23 | 2021-07-13 | Google Llc | Integrated circuit design system and method |
US10236886B2 (en) * | 2016-12-28 | 2019-03-19 | Qualcomm Incorporated | Multiple via structure for high performance standard cells |
US10664565B2 (en) * | 2017-05-19 | 2020-05-26 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method and system of expanding set of standard cells which comprise a library |
US10860777B1 (en) * | 2019-06-17 | 2020-12-08 | Taiwan Semiconductor Manufacturing Company Ltd. | Method and system for fabricating integrated circuit with aid of programmable circuit synthesis |
US10963618B1 (en) * | 2020-01-06 | 2021-03-30 | Cadence Design Systems, Ine. | Multi-dimension clock gate design in clock tree synthesis |
US11657205B2 (en) * | 2020-10-16 | 2023-05-23 | Synopsys, Inc. | Construction, modeling, and mapping of multi-output cells |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02287880A (ja) * | 1989-04-28 | 1990-11-27 | Nec Corp | 論理回路の適性セル選択装置 |
US5164811A (en) | 1990-04-20 | 1992-11-17 | Seiko Epson Corporation | Semiconductor integrated circuit with varying channel widths |
JP2763985B2 (ja) * | 1992-04-27 | 1998-06-11 | 三菱電機株式会社 | 論理シミュレーション装置 |
JPH07311794A (ja) * | 1994-05-18 | 1995-11-28 | Toshiba Corp | 半導体集積回路の設計処理方法 |
US5689432A (en) * | 1995-01-17 | 1997-11-18 | Motorola, Inc. | Integrated circuit design and manufacturing method and an apparatus for designing an integrated circuit in accordance with the method |
US5619418A (en) * | 1995-02-16 | 1997-04-08 | Motorola, Inc. | Logic gate size optimization process for an integrated circuit whereby circuit speed is improved while circuit area is optimized |
US5619420A (en) * | 1995-05-04 | 1997-04-08 | Lsi Logic Corporation | Semiconductor cell having a variable transistor width |
JPH0922945A (ja) * | 1995-07-04 | 1997-01-21 | Hitachi Ltd | Cmos半導体集積回路のセル構造及び半導体集積回路の設計方式 |
US5757655A (en) * | 1996-08-26 | 1998-05-26 | Micron Technology, Inc. | Method and system for producing dynamic property forms and compacting property databases |
US5956497A (en) * | 1997-02-26 | 1999-09-21 | Advanced Micro Devices, Inc. | Methodology for designing an integrated circuit using a reduced cell library for preliminary synthesis |
AU1913500A (en) * | 1998-11-25 | 2000-06-13 | Nanopower, Inc. | Improved flip-flops and other logic circuits and techniques for improving layouts of integrated circuits |
JP2000188334A (ja) * | 1998-12-21 | 2000-07-04 | Matsushita Electric Ind Co Ltd | 半導体集積回路修正装置 |
JP3579633B2 (ja) * | 2000-05-19 | 2004-10-20 | 株式会社ルネサステクノロジ | 半導体集積回路 |
US7003738B2 (en) * | 2000-06-30 | 2006-02-21 | Zenasis Technologies, Inc. | Process for automated generation of design-specific complex functional blocks to improve quality of synthesized digital integrated circuits in CMOS using altering process |
JP2002056042A (ja) * | 2000-08-11 | 2002-02-20 | Hitachi Ltd | 半導体集積回路の自動配置方法 |
US6643828B2 (en) * | 2001-12-14 | 2003-11-04 | Hewlett-Packard Development Company, L.P. | Method for controlling critical circuits in the design of integrated circuits |
US7080341B2 (en) * | 2003-09-09 | 2006-07-18 | Robert Eisenstadt | Apparatus and method for integrated circuit power management |
US7426710B2 (en) * | 2004-05-27 | 2008-09-16 | Verisilicon Holdings, Co. Ltd. | Standard cell library having cell drive strengths selected according to delay |
US7254802B2 (en) * | 2004-05-27 | 2007-08-07 | Verisilicon Holdings, Co. Ltd. | Standard cell library having cell drive strengths selected according to delay |
US7185294B2 (en) * | 2004-09-23 | 2007-02-27 | Verisilicon Holdings, Co Ltd | Standard cell library having globally scalable transistor channel length |
JP2008522525A (ja) * | 2004-12-01 | 2008-06-26 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 論理回路を有する電子装置及び論理回路を設計する方法。 |
US7644383B2 (en) * | 2005-06-30 | 2010-01-05 | Texas Instruments Incorporated | Method and system for correcting signal integrity crosstalk violations |
US8015517B1 (en) * | 2008-06-06 | 2011-09-06 | Nangate A/S | Library sizing |
US8225257B2 (en) * | 2008-10-14 | 2012-07-17 | Lsi Corporation | Reducing path delay sensitivity to temperature variation in timing-critical paths |
-
2009
- 2009-12-22 WO PCT/JP2009/007107 patent/WO2010073610A1/ja active Application Filing
- 2009-12-22 JP JP2010543849A patent/JPWO2010073610A1/ja not_active Withdrawn
-
2011
- 2011-06-24 US US13/168,813 patent/US8302057B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11842131B2 (en) | 2016-09-30 | 2023-12-12 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method and system for generating layout diagram for semiconductor device having engineering change order (ECO) cells |
Also Published As
Publication number | Publication date |
---|---|
US8302057B2 (en) | 2012-10-30 |
WO2010073610A1 (ja) | 2010-07-01 |
US20110252392A1 (en) | 2011-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2010073610A1 (ja) | スタンダードセル・ライブラリ及び半導体集積回路 | |
JP5183737B2 (ja) | デュアルゲートmos型電界効果トランジスタによる再構成可能論理セル | |
JP4090222B2 (ja) | 半導体集積回路、該半導体集積回路の設計方法及び該半導体集積回路設計用プログラム | |
US11682665B2 (en) | Semiconductor layout with different row heights | |
US8159266B1 (en) | Metal configurable integrated circuits | |
US7886250B2 (en) | Reconfigurable integrated circuit | |
Pradeep et al. | Design and development of high performance MOS current mode logic (MCML) processor for fast and power efficient computing | |
US20120119782A1 (en) | Logic for Metal Configurable Integrated Circuits | |
JP2004079694A (ja) | スタンダードセル | |
US8159265B1 (en) | Memory for metal configurable integrated circuits | |
US20070223279A1 (en) | Semiconductor integrated circuit device | |
US7693701B2 (en) | Structure for a configurable low power high fan-in multiplexer | |
Bobba et al. | Layout technique for double-gate silicon nanowire fets with an efficient sea-of-tiles architecture | |
US10033384B2 (en) | FINFET based driver circuit | |
CN110866372A (zh) | n倍驱动两输入与非门标准单元及其版图 | |
JP5262082B2 (ja) | 半導体集積回路 | |
US10002964B2 (en) | System and method for threshold logic with electrostatically formed nanowire transistors | |
CN102611429A (zh) | 基于阈值逻辑的set/mos混合结构的加法器 | |
WO2023056639A1 (zh) | 逻辑门电路、锁存器及触发器 | |
JP2008022329A (ja) | 出力制御回路 | |
US7830179B2 (en) | Multi-functional logic gate device and programmable integrated circuit device using the same | |
JP3155239B2 (ja) | 伝送ゲートセル | |
CN202435380U (zh) | 基于阈值逻辑的set/mos混合结构的加法器 | |
JPH08306890A (ja) | 予め画定された接続パターンを備えたゲートアレイセル | |
CN102571064B (zh) | 基于set/mos混合结构的二进制码-格雷码转换器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130305 |