JP3701781B2 - 論理回路とその作成方法 - Google Patents
論理回路とその作成方法 Download PDFInfo
- Publication number
- JP3701781B2 JP3701781B2 JP32753697A JP32753697A JP3701781B2 JP 3701781 B2 JP3701781 B2 JP 3701781B2 JP 32753697 A JP32753697 A JP 32753697A JP 32753697 A JP32753697 A JP 32753697A JP 3701781 B2 JP3701781 B2 JP 3701781B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- logic circuit
- selector
- delay time
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
- H03K19/1737—Controllable logic circuits using multiplexers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Description
【発明の属する技術の分野】
本発明は、セレクタ回路を使用した高速な論理回路に関し、また、そのような論理回路を作成する方法に関する。
【0002】
【従来の技術】
高速論理回路に関する研究は数多く発表されている。その中の多くは、パストランジスタ回路を使用した論理回路である。
【0003】
例えば、Proceeding of IEEE 1994 Custom Integrated Circuits Conference,pp.603-606(以下、文献1と呼ぶ )では、nチャネル電界効果トランジスタだけで構成した2入力1出力のパストランジスタセレクタと遅延時間改善ためのバッファ用のインバータを組み合わせて論理回路を作成する方法が提案されている。この例では、複雑な論理機能を少ない数のトランジスタで実現できるというパストランジスタ回路の特徴を利用し、トランジスタ数の少ないコンパクトな回路で目的の論理回路を実現する事により、高速で動作する論理回路を作成する事に成功している。
【0004】
また、IEEE Journal of Solid-State Circuits, Vol. 25, No. 2, pp.388-395(以下、文献2と呼ぶ )では、CPL(Complementary Pass-transistor Logic)という、差動型の高速パストランジスタ論理回路が提案されている。文献1と同様にCPLでも、nチャネル電界効果トランジスタだけで構成した2入力1出力のパストランジスタセレクタとバッファ用インバータを使用して論理回路を構成する。CPLの一番の特徴は、文献1の場合と違って、必ず2つの2入力1出力のパストランジスタセレクタをペアにして使用し、正逆両極性の信号を利用した差動型の論理回路である点である。このようにCPLでは、複雑な論理機能をすくない数のトランジスタによる実現できるというパストランジスタ回路の特徴と、さらに、極性合わせのためのインバータが不要であるという差動型回路の特徴の両方を利用する事により、高速で動作する論理回路を実現している。実際、文献2によるとCMOS回路よりも2.5倍速い全加算器がCPLにより実現されている。
【0005】
また、IEEE International Solid-State Circuits Conference Digest of Technical Papers, pp.90-91, 1993(以下、文献3と呼ぶ )には、DPL(Double Pass-transistor Logic)というパストランジスタ論理回路が提案されている。DPLではCPLと同じように差動型のパストランジスタセレクタ回路により、正逆両極性の信号を使用して論理回路を構成する。しかし、CPLとは違ってnチャネル電界効果トランジスタとpチャネル電界効果トランジスタの両タイプのトランジスタを使用してパストランジスタセレクタ回路を構成する。文献1、2のパストランジスタ回路では、nチャネル電界効果トランジスタだけでセレクタ回路を構成するため、セレクタ回路の出力ではトランジスタのしきい値電圧に相当する電圧降下が発生し、このため電源電圧が低い場合には高速動作ができないという問題がある。しかし、DPLでは、pチャネル電界効果トランジスタを併用する事によって、しきい値電圧分の電圧降下の問題がなくなるため、低電源電圧時でも高速動作が可能である。
【0006】
さらに、U. S. Patent No. 5040139(以下、文献4と呼ぶ )、U. S. Patent No. 5162666(以下、文献5と呼ぶ )、およびU. S. Patent No. 5200907(以下、文献6と呼ぶ )には、TGM(Transmission Gate Multiplexer)という、パストラジスタ回路ベースの、セレクタを使用して論理回路を作成する方法が紹介されている。パストラジスタ回路ベースで構成したTGMが、CMOS回路で構成したXOR、NAND、NORゲートよりも高速に動作可能なため、TGMベースの論理回路は、従来のCMOSベースの論理回路よりも、高速動作が可能である。
【0007】
【発明が解決しようとする課題】
実際の大規模な論理回路では、ある入力からある出力にたどり着くまでの経路(パス)は一般に複数存在する。このため、ある出力信号が確定するまでに必要な時間(つまりその出力信号の遅延時間)は、その各々のパスの中で、パス上に存在するトランジスタ等の回路を構成する素子の遅延時間の総和がもっとも遅いパス(いわゆるクリティカルパス)の遅延時間によって決定される。さらに、出力信号が複数存在する場合は、一番遅延時間の遅い出力信号の遅延時間よって論理回路の動作スピードは決定されてしまう。
【0008】
このため、1本でも遅延時間が極端に遅いパスが存在してしまうと、たとえ他のすべてのパスの遅延時間が非常に小さく、高速動作が可能であったとしても、回路全体では高速動作が不可能である。このように、実際の大規模な論理回路に対して、高速動作可能な論理回路を作成するためには、論理回路作成時に、各々のパスの段数がなるべく同じになるようにして、遅延時間が極端に遅いパスができないような回路を作る事が実用上非常に重要である。
【0009】
しかし、従来技術で説明した文献1〜6は、回路自体の動作スピードを向上させる事には大変有効ではあるが、必ずしも上記に示したような極端に遅いパスができない事を保証するものではない。また、文献1〜6は各々のパスの段数がなるべく均等になるように論理回路を作成する方法を何ら示唆していない。
【0010】
また、実際の回路では、すべての入力信号が同一時刻に到達しているとは限らず、特定の入力信号が他の入力信号よりも遅れる場合がある。このような場合には、論理回路全体の遅延時間は、回路自体の遅延時間にその遅れてくる入力信号の遅れの和になる。つまり、パスの遅延時間が小さくても、そのパスに関係する入力信号の中で極端に遅いものが存在すれば、そのパスが全体の動作スピードを決定してしまう。このため、入力信号が極端に遅れてくるような場合には、その入力信号が関係するパスは段数がなるべく浅くなるようにして回路を作成し、回路全体の遅延時間が均等になるような論理回路を作成する必要がある。
【0011】
本発明の目的は、論理回路の各々のパスの段数がなるべく同じになるようにして、遅延時間が極端に遅いクリィティカルパスが存在しない論理回路を作成して、高速に動作可能な論理回路を提供する事である。
【0012】
また、本発明の他の目的は、特定の入力信号が遅れてくる場合にも、その遅れによる遅延時間の増加分を考慮して、その入力信号に関係するパスは段数が浅くなるようにして論理回路を作成して、高速に動作可能な論理回路を提供する事である。
【0013】
さらに、本発明の他の目的は、遅延時間が極端に遅いクリィティカルパスが存在しない論理回路を作成する方法を提供する事である。
【0014】
さらに、本発明の他の目的は、特定の入力信号が遅れてくる場合にも、その遅れによる遅延時間の増加分を考慮して、遅延時間が極端に遅いクリィティカルパスが存在しない論理回路を作成する方法を提供する事である。
【0015】
【課題を解決するための手段】
上記目的を達成するため、本発明の望ましい態様は、制御入力Sが第1の入力信号(IN1)に制御され、入力I1あるいは入力I0が第2の入力信号(IN2)に制御され、出力Oが第1のノード(N1)に接続された第1のセレクタ(S1)と、制御入力Sが第1のノード(N1)に制御され、入力I1が第3の入力信号(IN3)に制御され、入力I0が第1の入力信号(IN1)に制御され、出力Oが第1の出力信号(OUT1)に接続された第3のセレクタ(S3)を含む事を特徴とする論理回路(図1のC1)である。
【0016】
本発明の他の望ましい態様は、制御入力Sが第1の入力信号(IN1)に制御され、入力I1が第3の入力信号(IN3)に制御され、出力Oが第41のノード(N41)に接続された第41のセレクタ(S41)と、制御入力Sが第2の入力信号(IN2)に制御され、入力I1あるいは入力I0のどちらか一方が第41のノード(N41)に制御され、残りが第1の入力信号(IN1)に制御され、出力Oが第1の出力信号(OUT1)に接続された第43のセレクタ(S43)を含む事を特徴とする論理回路(図2のC41)である。
【0017】
本発明の他の望ましい態様では、制御入力Sが第1の入力信号(IN1)に制御され、入力I1が第2の入力信号(IN2)に制御され、入力I0が固定電位(GND)に接続され、出力Oが第1のノード(N1)に接続された第1のセレクタ(S1)と、制御入力Sが第1の入力信号(IN1)に制御され、入力I1が第4の入力信号(IN4)に制御され、入力I0が第5の入力信号(IN5)に制御され、出力Oが第2のノード(N2)に接続された第2のセレクタ(S2)と、制御入力Sが第1のノード(N1)に制御され、入力I1が第3の入力信号(IN3)に制御され、入力I0が第2のノード(N2)に制御され、出力Oが第1の出力信号(OUT1)に接続された第3のセレクタ(S3)を含む論理回路(図1のC1)である。
【0018】
本発明の他の望ましい他の態様は、制御入力Sが第1の入力信号(IN1)に制御され、入力I1が固定電位(GND)に接続され、入力I0が第2の入力信号(IN2)に制御され、出力Oが第21のノード(N21)に接続された第21のセレクタ(S21)と、制御入力Sが第1の入力信号(IN1)に制御され、入力I1が第5の入力信号(IN5)に制御され、入力I0が第4の入力信号(IN4)に制御され、出力Oが第22のノード(N22)に接続された第22のセレクタ(S22)と、制御入力Sが第21のノード(N21)に制御され、入力I1が第3の入力信号(IN3)に制御され、入力I0が第22のノード(N22)に制御され、出力Oが第1の出力信号(OUT1)に接続された第23のセレクタ(S23)を含む論理回路(図1のC21)である。
【0019】
さらに、本発明の他の望ましい他の態様は、制御入力Sが第1の入力信号(IN1)に制御され、入力I1が第3の入力信号(IN3)に制御され、入力I0が第5の入力信号(IN5)に制御され、出力Oが第41のノード(N41)に接続された第41のセレクタ(S41)と、制御入力Sが第1の入力信号(IN1)に制御され、入力I1が第4の入力信号(IN4)に制御され、入力I0が第5の入力信号(IN5)に制御され、出力Oが第42のノード(N42)に接続された第42のセレクタ(S42)と、制御入力Sが第2の入力信号(IN2)に制御され、入力I1が第41のノード(N41)に制御され、入力I0が第42のノード(N42)に制御され、出力Oが第1の出力信号(OUT1)に接続された第43のセレクタ(S43)を含む論理回路(図2のC41)である。
【0020】
さらに、本発明の他の望ましい他の態様は、制御入力Sが第1の入力信号(IN1)に制御され、入力I1が第5の入力信号(IN5)に制御され、入力I0が第3の入力信号(IN3)に制御され、出力Oが第51のノード(N51)に接続された第51のセレクタ(S51)と、制御入力Sが第1の入力信号(IN1)に制御され、入力I1が第5の入力信号(IN5)に制御され、入力I0が第4の入力信号(IN4)に制御され、出力Oが第52のノード(N52)に接続された第52のセレクタ(S52)と、制御入力Sが第2の入力信号(IN2)に制御され、入力I1が第51のノード(N51)に制御され、入力I0が第52のノード(N52)に制御され、出力Oが第1の出力信号(OUT1)に接続された第53のセレクタ(S53)を含む論理回路(図2のC51)である。
【0021】
さらに、本発明の他の望ましい他の態様は、制御入力Sが第2の入力信号(IN2)に制御され、入力I1が第4の入力信号(IN4)に制御され、入力I0が第5の入力信号(IN5)に制御され、出力Oが第61のノード(N61)に接続された第61のセレクタ(S61)と、制御入力Sが第3の入力信号(IN3)に制御され、入力I1が第4の入力信号(IN4)に制御され、入力I0が第5の入力信号(IN5)に制御され、出力Oが第62のノード(N62)に接続された第62のセレクタ(S62)と、
制御入力Sが第1の入力信号(IN1)に制御され、入力I1が第61のノード(N61)に制御され、入力I0が第62のノード(N62)に制御され、出力Oが第1の出力信号(OUT1)に接続された第63のセレクタ(S63)を含む論理回路(図2のC61)である。
【0022】
さらに、本発明の他の望ましい他の態様は、制御入力Sが第3の入力信号(IN3)に制御され、入力I1が第4の入力信号(IN4)に制御され、入力I0が第5の入力信号(IN5)に制御され、出力Oが第71のノード(N71)に接続された第71のセレクタ(S71)と、制御入力Sが第1の入力信号(IN1)に制御され、入力I1が第4の入力信号(IN4)に制御され、入力I0が第71のノード(N71)に制御され、出力Oが第72のノード(N72)に接続された第72のセレクタ(S72)と、制御入力Sが第1の入力信号(IN1)に制御され、入力I1が第5の入力信号(IN5)に制御され、入力I0が第71のノード(N71)に制御され、出力Oが第73のノード(N73)に接続された第73のセレクタ(S73)と、制御入力Sが第2の入力信号(IN2)に制御され、入力I1が第72のノード(N72)に制御され、入力I0が第73のノード(N73)に制御され、出力Oが第1の出力信号(OUT1)に接続された第74のセレクタ(S74)を含む論理回路(図2のC71)である。
【0023】
さらに、本発明の他の望ましい他の態様は、制御入力Sが第2の入力信号(IN2)に制御され、入力I1が第4の入力信号(IN4)に制御され、入力I0が第5の入力信号(IN5)に制御され、出力Oが第81のノード(N81)に接続された第81のセレクタ(S81)と、制御入力Sが第1の入力信号(IN1)に制御され、入力I1が第81のノード(N81)に制御され、入力I0が第4の入力信号(IN4)に制御され、出力Oが第82のノード(N82)に接続された第82のセレクタ(S82)と、制御入力Sが第1の入力信号(IN1)に制御され、入力I1が第81のノード(N81)に制御され、入力I0が第5の入力信号(IN5)に制御され、出力Oが第83のノード(N83)に接続された第83のセレクタ(S83)と、制御入力Sが第3の入力信号(IN3)に制御され、入力I1が第82のノード(N82)に制御され、入力I0が第83のノード(N83)に制御され、出力Oが第1の出力信号(OUT1)に接続された第84のセレクタ(S84)を含む論理回路(図2のC81)である。
【0024】
さらに、本発明の他の望ましい他の態様は、ゲートが第104のノード(N104)により制御され、入力I0と第100のノード(N100)との間にソースドレイン経路が接続された第100のnチャネル電界効果トランジスタ(T100)と、ゲートが制御入力Sにより制御され、入力I1と第100のノード(N100)との間にソースドレイン経路が接続された第101のnチャネル電界効果トランジスタ(T101)と、ゲートが制御入力Sにより制御され、第1の動作電位点(VDD)と第104のノード(N104)との間にソースドレイン経路が接続された第104のpチャネル電界効果トランジスタ(T104)と、ゲートが制御入力Sにより制御され、第2の動作電位点(GND)と第104のノード(N104)との間にソースドレイン経路が接続された第105のnチャネル電界効果トランジスタ(T105)と、ゲートが第100のノード(N100)により制御され、第1の動作電位点(VDD)と出力との間にソースドレイン経路が接続された第102のpチャネル電界効果トランジスタ(T102)と、ゲートが第100のノード(N100)により制御され、第2の動作電位点(GND)と出力との間にソースドレイン経路が接続された第103のnチャネル電界効果トランジスタ(T103)を含む事を特徴とするセレクタ(図3のa行のC100)を含む事を特徴とする図1のC1、C11、C21、C31および図2のC41、C51、C61、C71、C81の論理回路である。
【0025】
さらに、本発明の他の望ましい他の態様は、ゲートが制御入力Sの相補信号(S’)により制御され、入力I0と第200のノード(N200)との間にソースドレイン経路が接続された第200のnチャネル電界効果トランジスタ(T200)と、ゲートが制御入力Sにより制御され、入力I1と第200のノード(N200)との間にソースドレイン経路が接続された第201のnチャネル電界効果トランジスタ(T201)と、ゲートが制御入力Sの相補信号(S’)により制御され、入力I0の相補信号(I0’)と第202のノード(N202)との間にソースドレイン経路が接続された第202のnチャネル電界効果トランジスタ(T202)と、ゲートが制御入力Sにより制御され、入力I1の相補信号(I1’)と第202のノード(N202)との間にソースドレイン経路が接続された第203のnチャネル電界効果トランジスタ(T203)と、ゲートが第200のノード(N200)により制御され、第1の動作電位点(VDD)と出力の相補信号(OUT’)との間にソースドレイン経路が接続された第206のpチャネル電界効果トランジスタ(T206)と、ゲートが第200のノード(N200)により制御され、第2の動作電位点(GND)と出力の相補信号(OUT’)との間にソースドレイン経路が接続された第207のnチャネル電界効果トランジスタ(T207)と、ゲートが第202のノード(N202)により制御され、第1の動作電位点(VDD)と出力との間にソースドレイン経路が接続された第208のpチャネル電界効果トランジスタ(T208)と、ゲートが第202のノード(N202)により制御され、第2の動作電位点(GND)と出力との間にソースドレイン経路が接続された第209のnチャネル電界効果トランジスタ(T209)をセレクタ(図3のa行のC200)を含む事を特徴とする図1のC1、C11、C21、C31および図2のC41、C51、C61、C71、C81の論理回路である。
【0026】
さらに、本発明の他の望ましい他の態様は、ゲートが第1の入力信号(IN1)により制御され、第1の動作電位点(VDD)と第127のノード(N127)との間にソースドレイン経路が接続された第127のpチャネル電界効果トランジスタ(TP127)と、ゲートが第1の入力信号(IN1)により制御され、第2の動作電位点(GND)と第127のノード(N127)との間にソースドレイン経路が接続された第127のnチャネル電界効果トランジスタ(TN127)と、
ゲートが第127のノード(N127)により制御され、第128のノード(N128)にソースドレイン経路が接続された第128のnチャネル電界効果トランジスタ(TN128)と、ゲートが第1の入力信号(IN1)により制御され、第2の入力信号(IN2)と第128のノード(N128)との間にソースドレイン経路が接続された第129のnチャネル電界効果トランジスタ(TN129)と、
ゲートが第128のノード(N128)により制御され、第1の動作電位点(VDD)と第121のノード(N121)との間にソースドレイン経路が接続された第121のpチャネル電界効果トランジスタ(TP121)と、ゲートが第128のノード(N128)により制御され、第2の動作電位点(GND)と第121のノード(N121)との間にソースドレイン経路が接続された第121のnチャネル電界効果トランジスタ(TN121)と、
ゲートが第121のノード(N121)により制御され、第3の入力信号(IN3)と第125のノード(N125)との間にソースドレイン経路が接続された第125のnチャネル電界効果トランジスタ(TN125)と、ゲートが第128(N128)のノードにより制御され、第1の入力信号(IN1)に制御された第124のノード(N124)と第125のノード(N125)との間にソースドレイン経路が接続された第126のnチャネル電界効果トランジスタ(TN126)を含む事を特徴とする論理回路(図4のC120)。
【0027】
さらに、本発明の他の望ましい他の態様は、ゲートが第1の入力信号(IN1)により制御され、第1の動作電位点(VDD)と第120のノード(N120)との間にソースドレイン経路が接続された第120のpチャネル電界効果トランジスタ(TP120)と、
ゲートが第1の入力信号(IN1)により制御され、第2の動作電位点(GND)と第120のノード(N120)との間にソースドレイン経路が接続された第120のnチャネル電界効果トランジスタ(TN120)と、
ゲートが第120のノード(N120)により制御され、第5の入力信号(IN5)と第124のノード(N124)との間にソースドレイン経路が接続された第123のnチャネル電界効果トランジスタ(TN123)と、ゲートが第1の入力信号(IN1)により制御され、第4の入力信号(IN4)と第124のノード(N124)との間にソースドレイン経路が接続された第124のnチャネル電界効果トランジスタ(TN124)と、
ゲートが第130のノード(N130)により制御され、第1の動作電位点(VDD)と第121のノード(N121)との間にソースドレイン経路が接続された第121のpチャネル電界効果トランジスタ(TP121)と、ゲートが第130のノード(N130)により制御され、第2の動作電位点(GND)と第121のノード(N121)との間にソースドレイン経路が接続された第121のnチャネル電界効果トランジスタ(TN121)と、
ゲートが第121のノード(N121)により制御され、第3の入力信号(IN3)と第125のノード(N125)との間にソースドレイン経路が接続された第125のnチャネル電界効果トランジスタ(TN125)と、ゲートが第130のノード(N130)により制御され、第124のノード(N124)と第125のノード(N125)との間にソースドレイン経路が接続された第126のnチャネル電界効果トランジスタ(TN126)と、
ゲートが第1の入力信号(IN1)により制御され、第1の動作電位点(VDD)と第127のノード(N127)との間にソースドレイン経路が接続された第127のpチャネル電界効果トランジスタ(TP127)と、ゲートが第1の入力信号(IN1)により制御され、第2の動作電位点(GND)と第127のノード(N127)との間にソースドレイン経路が接続された第127のnチャネル電界効果トランジスタ(TN127)と、
ゲートが第127のノード(N127)により制御され、第1の動作電位点(VDD)あるいは第2の動作電位点(GND)と第128のノード(N128)との間にソースドレイン経路が接続された第128のnチャネル電界効果トランジスタ(TN128)と、ゲートが第1の入力信号(IN1)により制御され、第2の入力信号(IN2)と第128のノード(N128)との間にソースドレイン経路が接続された第129のnチャネル電界効果トランジスタ(TN129)と、
ゲートが第128のノード(N128)により制御され、第1の動作電位点(VDD)と第130のノード(N130)との間にソースドレイン経路が接続された第130のpチャネル電界効果トランジスタ(TP130)と、ゲートが第128のノード(N128)により制御され、第2の動作電位点(GND)と第130のノード(N130)との間にソースドレイン経路が接続された第130のnチャネル電界効果トランジスタ(TN130)と、
ゲートが第125のノード(N125)により制御され、第1の動作電位点(VDD)と第1の出力信号との間にソースドレイン経路が接続された第122のpチャネル電界効果トランジスタ(TP122)と、ゲートが第125のノード(N125)により制御され、第2の動作電位点(GND)と第1の出力信号との間にソースドレイン経路が接続された第122のnチャネル電界効果トランジスタ(TN122)を含む事を特徴とする論理回路(図4のa行のC120)である。
【0028】
さらに、本発明の他の望ましい他の態様は、ゲートが第1の入力信号(IN1)により制御され、第1の動作電位点(VDD)と第140のノード(N140)との間にソースドレイン経路が接続された第140のpチャネル電界効果トランジスタ(TP140)と、ゲートが第1の入力信号(IN1)により制御され、第2の動作電位点(GND)と第140のノード(N140)との間にソースドレイン経路が接続された第140のnチャネル電界効果トランジスタ(TN140)と、
ゲートが第140のノード(N140)により制御され、第5の入力信号(IN5)と第144のノード(N144)との間にソースドレイン経路が接続された第143のnチャネル電界効果トランジスタ(TN143)と、ゲートが第1の入力信号(IN1)により制御され、第4の入力信号(IN4)と第144のノード(N144)との間にソースドレイン経路が接続された第144のnチャネル電界効果トランジスタ(TN144)と、
ゲートが第150のノード(N150)により制御され、第1の動作電位点(VDD)と第141のノード(N141)との間にソースドレイン経路が接続された第141のpチャネル電界効果トランジスタ(TP141)と、ゲートが第150のノード(N150)により制御され、第2の動作電位点(GND)と第141のノード(N141)との間にソースドレイン経路が接続された第141のnチャネル電界効果トランジスタ(TN141)と、
ゲートが第141のノード(N141)により制御され、第3の入力信号(IN3)と第145のノード(N145)との間にソースドレイン経路が接続された第145のnチャネル電界効果トランジスタ(TN145)と、ゲートが第150のノード(N150)により制御され、第144のノード(N144)と第145のノード(N145)との間にソースドレイン経路が接続された第146のnチャネル電界効果トランジスタ(TN146)と、
ゲートが第1の入力信号(IN1)により制御され、第1の動作電位点(VDD)と第147のノード(N147)との間にソースドレイン経路が接続された第147のpチャネル電界効果トランジスタ(TP147)と、ゲートが第1の入力信号(IN1)により制御され、第2の動作電位点(GND)と第147のノード(N147)との間にソースドレイン経路が接続された第147のnチャネル電界効果トランジスタ(TN147)と、
ゲートが第1の入力信号(IN1)により制御され、第2の入力信号(IN2)と第148のノード(N148)との間にソースドレイン経路が接続された第148のnチャネル電界効果トランジスタ(TN148)と、ゲートが第147のノード(N147)により制御され、第1の動作電位点(VDD)あるいは第2の動作電位点(GND)と第148のノード(N148)との間にソースドレイン経路が接続された第149のnチャネル電界効果トランジスタ(TN149)と、
ゲートが第148のノード(N148)により制御され、第1の動作電位点(VDD)と第150のノード(N150)との間にソースドレイン経路が接続された第150のpチャネル電界効果トランジスタ(TP150)と、ゲートが第148のノード(N148)により制御され、第2の動作電位点(GND)と第150のノード(N150)との間にソースドレイン経路が接続された第150のnチャネル電界効果トランジスタ(TN150)と、
ゲートが第145のノード(N145)により制御され、第1の動作電位点(VDD)と第1の出力信号との間にソースドレイン経路が接続された第142のpチャネル電界効果トランジスタ(TP142)と、ゲートが第145のノード(N145)により制御され、第2の動作電位点(GND)と第1の出力信号との間にソースドレイン経路が接続された第142のnチャネル電界効果トランジスタ(TN142)を含む事を特徴とする論理回路(図5のa行のC140)である。
【0029】
さらに、本発明の他の望ましい他の態様は、ゲートが第1の入力信号(IN1)により制御され、第1の動作電位点(VDD)と第160のノード(N160)との間にソースドレイン経路が接続された第160のpチャネル電界効果トランジスタ(TP160)と、ゲートが第1の入力信号(IN1)により制御され、第2の動作電位点(GND)と第160のノード(N160)との間にソースドレイン経路が接続された第160のnチャネル電界効果トランジスタ(TN160)と、
ゲートが第160のノード(N160)により制御され、第5の入力信号(IN5)と第163のノード(N163)との間にソースドレイン経路が接続された第163のnチャネル電界効果トランジスタ(TN163)と、ゲートが第1の入力信号(IN1)により制御され、第4の入力信号(IN4)と第163のノード(N163)との間にソースドレイン経路が接続された第164のnチャネル電界効果トランジスタ(TN164)と、
ゲートが第168のノード(N168)により制御され、第1の動作電位点(VDD)と第161のノード(N161)との間にソースドレイン経路が接続された第161のpチャネル電界効果トランジスタ(TP161)と、ゲートが第168のノード(N168)により制御され、第2の動作電位点(GND)と第161のノード(N161)との間にソースドレイン経路が接続された第161のnチャネル電界効果トランジスタ(TN161)と、
ゲートが第161のノード(N161)により制御され、第3の入力信号(IN3)と第165のノード(N165)との間にソースドレイン経路が接続された第165のnチャネル電界効果トランジスタ(TN165)と、ゲートが第168のノード(N168)により制御され、第163のノード(N163)と第165のノード(N165)との間にソースドレイン経路が接続された第166のnチャネル電界効果トランジスタ(TN166)と、
ゲートが第1の入力信号(IN1)により制御され、第1の動作電位点(VDD)と第168のノード(N168)との間にソースドレイン経路が接続された第167のpチャネル電界効果トランジスタ(TP167)と、ゲートが第2の入力信号(IN2)により制御され、第1の動作電位点(VDD)と第168のノード(N168)との間にソースドレイン経路が接続された第168のpチャネル電界効果トランジスタ(TP168)と、ゲートが第2の入力信号(IN2)により制御され、第168のノード(N168)と第167のノード(N167)との間にソースドレイン経路が接続された第167のnチャネル電界効果トランジスタ(TN167)と、ゲートが第1の入力信号(IN1)により制御され、第2の動作電位点(GND)と第167のノード(N167)との間にソースドレイン経路が接続された第167のnチャネル電界効果トランジスタ(TN167)と、
ゲートが第165のノード(N165)により制御され、第1の動作電位点(VDD)と第1の出力信号との間にソースドレイン経路が接続された第162のpチャネル電界効果トランジスタ(TP162)と、ゲートが第165のノード(N165)により制御され、第2の動作電位点(GND)と第1の出力信号との間にソースドレイン経路が接続された第162のnチャネル電界効果トランジスタ(TN162)を含む事を特徴とする論理回路(図11のa行のC160)である。
【0030】
さらに、本発明の他の望ましい他の態様は、ゲートが第1の入力信号(IN1)により制御され、第1の動作電位点(VDD)と第185のノード(N185)との間にソースドレイン経路が接続された第184のpチャネル電界効果トランジスタ(TP184)と、ゲートが第2の入力信号(IN2)により制御され、第1の動作電位点(VDD)と第185のノード(N185)との間にソースドレイン経路が接続された第185のpチャネル電界効果トランジスタ(TP185)と、ゲートが第2の入力信号(IN2)により制御され、第185のノード(N185)と第184のノード(N184)との間にソースドレイン経路が接続された第184のnチャネル電界効果トランジスタ(TN184)と、ゲートが第1の入力信号(IN1)により制御され、第2の動作電位点(GND)と第184のノード(N184)との間にソースドレイン経路が接続された第185のnチャネル電界効果トランジスタ(TN185)と、
ゲートが第185のノード(N185)により制御され、第1の動作電位点(VDD)と第180のノード(N180)との間にソースドレイン経路が接続された第180のpチャネル電界効果トランジスタ(TP180)と、ゲートが第185のノード(N185)により制御され、第2の動作電位点(GND)と第180のノード(N180)との間にソースドレイン経路が接続された第180のnチャネル電界効果トランジスタ(TN180)と、
ゲートが第180のノード(N180)により制御され、第3の入力信号(IN3)と第182のノード(N182)との間にソースドレイン経路が接続された第182のnチャネル電界効果トランジスタ(TN182)と、ゲートが第185のノード(N185)により制御され、第1の入力信号(IN1)と第182のノード(N182)との間にソースドレイン経路が接続された第183のnチャネル電界効果トランジスタ(TN183)と、ゲートが第182のノード(N182)により制御され、第1の動作電位点(VDD)と第1の出力信号(OUT1)との間にソースドレイン経路が接続された第181のpチャネル電界効果トランジスタ(TP181)と、ゲートが第182のノード(N182)により制御され、第2の動作電位点と第1の出力信号との間にソースドレイン経路が接続された第181のnチャネル電界効果トランジスタ(TN181)を含む事を特徴とする論理回路(図12のa行のC180)である。
【0031】
【発明の実施の形態】
以下、本発明の論理回路について、図面に示したいくつかの実施例を参照してさらに詳細に説明する。なお、以下においては、同じ参照番号は同じもの、もしくは類似のものを表わすものとする。
【0032】
<実施例1>
図1で本発明の一実施形態をそのa行に従って説明する。図1のa行に示されているセレクタ(C0のS5〜S6、C1のS1〜S3等)は、図3のa行のE100のブール式で示される論理機能を持つ。つまり、制御入力Sが“1”の時には入力I1が選択され、出力Oに出力され、“0”の時は入力I0が選択され、出力される。図3のC100〜C102の回路は、この2入力1出力のセレクタをさまざまなタイプの回路により実装した例である。このうち、C100はセレクタ部分(トランジスタT100、T101)をnチャネル電界効果型トランジスタのみで構成した例であり、文献1で示されている回路である。なお、このC100の回路において、トランジスタT102、T103、T106は、主として遅延時間改善のためのバッファとして挿入された回路であり、後段にもセレクタ回路が続く場合には省略する事が可能である。
【0033】
図3のa行のC101の回路は、セレクタ部分をnチャネル電界効果型トランジスタおよびpチャネル電界効果型トランジスタにより構成した例である。この回路では、C100の回路と違って、セレクタ部分(T110〜T113)でのしきい値電圧分の電圧降下がないため、電源電圧が低い場合でも高速に動作する事が可能である。さらに、図3のa行のC102はCMOS回路で構成した例である。この例からわかるように、一般にセレクタ回路は、パストランジスタ回路で構成した方がコンパクトに実現できる。
【0034】
以下、この図1のC0の遅延時間を考える。この回路では次のようなパスが存在し、
C0のパス1 IN5→セレクタS6→OUT1
C0のパス2 IN4→セレクタS5→N5→セレクタS6→OUT1
C0のパス3 IN3→セレクタS5→N5→セレクタS6→OUT1
C0のパス4 IN2→セレクタS5→N5→セレクタS6→OUT1
各パスの遅延時間を、入力信号IN3のみが他の入力信号(IN1、IN2、IN4、IN5)よりも極端に遅れてくる場合について考える。例えば、IN3が1.0ns遅れてくるとして、またセレクタS5、S6の遅延時間を0.5nsとした場合には、
C0のパス1 0+0.5 0.5ns
C0のパス2 0+0.5+0.5 1.0ns
C0のパス3 1.0+0.5+0.5 2.0ns
C0のパス4 0+0.5+0.5 1.0ns
となる。つまり、図1のC0に太線で示したIN3→S5→N5→S6→OUT1というパスが遅延時間が一番遅いクリィティカルパスとなる。このため、この他のパスは2.0nsよりも高速動作が可能なのであるが、この回路全体で見た時の遅延時間はこのクリティカルパスの遅延時間2.0nsになってしまう。これは、このC0の回路ではIN3が他の入力信号よりも遅れてくるにもかかわらず、このIN3から出力に至るパスには、セレクタが2段(S5、S6)存在する。このため、このパスの遅延時間が極端に遅くなり(この例では他のパスより1.0nsも遅い)、回路全体の遅延時間も遅くなってしまうからである。
【0035】
これに対し、図1のC1に示す本発明の論理回路では、C0と同等の論理機能を持った回路であるにもかかわらず、IN3から出力OUT1に至るパスにはセレクタは1段(S3)しか存在しないため、高速動作が期待できる。実際、このC1の回路では、以下のようなパスが存在するのであるが、
C1のパス1 IN5→セレクタS2→N2→セレクタS3→OUT1
C1のパス2 IN4→セレクタS2→N2→セレクタS3→OUT1
C1のパス3 IN1→セレクタS2→N2→セレクタS3→OUT1
C1のパス4 IN3→セレクタS3→OUT1
C1のパス5 IN2→セレクタS1→N1→セレクタS3→OUT1
C1のパス6 IN2→セレクタS1→N1→セレクタS3→OUT1
それぞれの遅延時間を見積もると、
C1のパス1 0+0.5+0.5 1.0ns
C1のパス2 0+0.5+0.5 1.0ns
C1のパス3 0+0.5+0.5 1.0ns
C1のパス4 1.0+0.5 1.5ns
C1のパス4 0+0.5+0.5 1.0ns
C1のパス6 0+0.5+0.5 1.5ns
となり、C0と同様にIN3から出力OUT1に至るパスが遅延時間が一番遅いクリィティカルパスである。しかし、遅延時間は1.5nsであるので、C0の回路よりも0.5ns、つまり25%の高速動作が可能である。
【0036】
図1のC0とC1の回路が同じ論理機能を持つ事は、それぞれのブール式が以下のように全く同じ式になる事から証明される。2入力1出力のセレクタ回路のブール式表現(図3のE100)から、C0のブール式は、
となる。同様にC1のブール式は、
となり、式(E0)と(E1)は全く同じ形であるので、C0とC1は全く同じ論理機能を持った回路である事がわかる。なお、以上のブール式において、IN1'はIN1の否定論理であり、IN1相補信号を表す(以下のブール式でも同様)。
【0037】
このように、図1のC0の回路で、入力信号IN3が遅れてくる場合には、本発明の論理回路(C1)に置き換える事により、IN3からOUT1に至るパスの段数が削減され、高速動作可能な回路が得られる。
【0038】
セレクタを図3のC100のタイプで構成したとして、C1の回路をトランジスタレベルの回路で書き表すと、図4のa行のC120に示す、トランジスタTN120〜TN130およびTP120〜130から構成される回路になる。
【0039】
以上では、セレクタの制御入力Sからその出力Oへの遅延時間と、信号入力I0、I1から出力Oへの遅延時間が同じであるという仮定の下で遅延時間を見積もった。しかし、セレクタが、図3のa行のC100〜C102の回路で構成される場合には、制御入力からの遅延時間は内部の極性反転用インバータ(例えば、C100では、T104〜105)の遅延時間分だけ多くかかる。典型的な例では、信号入力I1およびI0からの遅延時間は0.3nsであるのに対して、制御入力Sからの遅延時間は0.5ns程度かかる。しかし、パストランジスタセレクタを図3のC200、C201に示す差動型の回路で構成すれば、差動型回路では必ず正負両極性の信号が対となって存在するため、極性反転用インバータが不要になる。
【0040】
このため、制御入力Sからの遅延時間は大幅に短縮され、信号入力I1およびI0からの遅延時間と同程度ぐらい、あるいは若干小さくする事が可能である。このため、本発明の論理回路を、差動型のパストランジスタ回路で構成すればさらに高速に動作可能な論理回路が得られる。
【0041】
図3のC200の回路は、セレクタ部分をnチャネル電界効果型トランジスタのみで構成したもので、文献2で提案されているCPLと呼ばれる回路である。なお、図3のC100およびC101の回路と同様に、このC200の回路において、トランジスタT204〜T209はバッファ用の回路であり、次段にもセレクタが続く場合には省略する事が可能である。一方、図3のC201の回路は、セレクタ部分をnチャネル電界効果型トランジスタおよびpチャネル電界効果型トランジスタの両極性のトランジスタを使用して構成した例である。この回路は、図3のa行のC101に示した回路と同様に、電源電圧が低い場合にも高速動作可能な回路である。
【0042】
図3のC200の差動型セレクタにより、このC1の回路を構成すると、図4のb行のC220に示す、トランジスタTN220〜TN235およびTP220〜235から構成される回路になる。図4のa行のC120と見比べればわかるように、セレクタの制御入力部分での極性反転用インバータが不要なため、高速動作が可能な回路である。
【0043】
また、一般的に、2つの入力I0およびI1のどちらか一方が、GNDあるいはVDD電位に固定され、AND論理あるいはOR論理として動作しているパストランジスタセレクタ(図6のa〜d行のセレクタS300〜S330)は、それと同等の論理機能を持ったCMOS回路で構成したNANDゲート、NORゲート等(図6のa〜d行のG300〜G331)に置き換えた方が遅延時間等の回路特性がよくなる場合が多い(例えば、Proceeding of 1997 The Symposium on VLSI circuits, pp. 31-32を参照、以下、文献7と略す)。なお、この図6のG300〜G331で示したNANDゲート、NORゲートおよびインバータは、それぞれ図6のG340(トランジスタT340〜T343)、G350(トランジスタT350〜T353)、G360(トランジスタT360〜T363)で示される標準的なCMOS回路で構成される。
【0044】
図1のC1の回路では、セレクタS1が、図6のa行のセレクタS300に該当するので、NANDゲート+インバータに変換する事が可能であり(図6のa行の変換パターン参照)、図7に示す回路に変形できる。さらに、この図7の回路のインバータG2とセレクタS3の動作を考えると、インバータG2の入力が“1”の時は、セレクタS3の制御入力が“0”になって、セレクタS3ではI1が選択され、インバータG2の入力が“0”の時にはセレクタS3の制御入力には“1”が入力されるので、I0の方が選択される。
【0045】
つまり、セレクタS3のI0、I1の接続関係を交換すれば、インバータG2は不要になる(図8のa行に該当)。このため、図1のC1の回路は、最終的には図10のa行のC2の回路に変形できる。一般的に、2入力NANDゲート(G1)の遅延時間は、セレクタの遅延時間より小さい。例えば、セレクタの遅延時間が0.5ns程度ならば、0.2ns程度である。このC2の回路の遅延時間を見積もると、
C2のパス1 IN5→S2→S3→OUT1 0+0.5+0.5 = 1.0ns
C2のパス2 IN4→S2→S3→OUT1 0+0.5+0.5 = 1.0ns
C2のパス3 IN1→S2→S3→OUT1 0+0.5+0.5 = 1.0ns
C2のパス4 IN3→S3→OUT1 1.0+0.5 = 1.5ns
C2のパス5 IN2→G1→S3→OUT1 0+0.2+0.5 = 0.7ns
C2のパス6 IN1→G1→S3→OUT1 0+0.2+0.5 = 0.7ns
であるので、クリィティカルパス(パス4)の遅延時間は1.5nsとなり、C1の場合と同じである。しかし、パス5およびパス6の遅延時間も短縮されているため、もしIN3だけではなくIN2も遅れてくるような場合には、このC2の回路の方が高速に動作できる。実際、IN2が0.6ns遅れてくる場合を考えると、C1では、C1のパス5 0.6+0.5+0.5 = 1.6nsとなるため、パス5がクリィティカルパスになってしまい、1.5nsでは動作不可能であり、0.1ns遅くなってしまう。一方、C2では、C2のパス5 0.6+0.2+0.5 = 1.3ns となり、クリィティカルパスはパス4のままで、1.5nsで動作可能である。
【0046】
このように、本発明の論理回路の一部のセレクタをCMOS回路で構成したNANDゲート、NORゲートに置き換える事により、さらに遅延時間の小さい論理回路を作る事が可能となる。
【0047】
セレクタを図3のC100のタイプで構成したとして、このC2の回路をトランジスタレベルの回路で書き表すと、図11のa行のC160に示す、トランジスタTN160〜TN168およびTP160〜168から構成される回路になる。
【0048】
また、差動型セレクタを使用している場合でも、CMOS回路と組み合わせる事によりさらに高速な論理回路が得られる。この場合には、CMOS回路で構成したNANDゲート、NORゲートは図9のa〜c行に従って差動型回路にする事が可能である。例えば、図10のC2の回路でNANDゲートG1は、図9のa行に該当するので、NANDゲートとNORゲートに変換すればよい。このようにして図10のa行のC2の回路を差動型回路で組み直すと、図10のa行のC3に示す回路が得られる。セレクタの信号入力I1およびI0から出力Oへの遅延時間は0.3ns、制御入力Sからの遅延時間は0.2ns、NANDゲートおよびNORゲートの遅延時間は0.3nsとして、このC3の回路の遅延時間を見積もると
、C3のパス1 IN5→DS2→DS3→OUT1 0+0.3+0.3 = 0.6ns
C3のパス2 IN4→DS2→DS3→OUT1 0+0.3+0.3 = 0.6ns
C3のパス3 IN1→DS2→DS3→OUT1 0+0.2+0.3 = 0.9ns
C3のパス4 IN3→DS3→OUT1 1.0+0.3 = 1.3ns
C3のパス5 IN1→G1、G3→DS3→OUT1 0+0.3+0.2 = 0.5ns
C3のパス6 IN2→G1、G3→DS3→OUT1 0+0.3+0.2 = 0.5ns
となり、C1およびC2の回路よりもさらに高速動作可能である。このC3の回路で、セレクタを図3のC200のタイプで構成したとして、C3の回路をトランジスタレベルの回路で書き表すと、図11のb行のC260に示す、トランジスタTN260〜TN273およびTP260〜273から構成される回路になる。
【0049】
次に、C0の回路で、入力信号IN5がGND固定であり、IN4がVDD固定である場合を考える。この場合には、C2のセレクタS1は、I0がGND固定、I1がVDD固定となり、図8のc行のセレクタS403に該当する。このセレクタの動作を考えると、セレクタの制御入力Sが“0”の時は、GND電位、つまり“0”を出力し、制御入力Sが“1”の時は、VDD電位、つまり“1”を出力する。このため、このセレクタは冗長であり取り除く事が可能であり、図12のa行のC181に示す回路に簡単化できる。このC181の回路では、C2の回路で存在したIN1→S2→S3→OUT1というパスが存在しないため、C2の回路よりも高速動作が可能である。このように、一般に図8のb〜f行のセレクタ(S402〜S406)が存在する場合には、それらの冗長なセレクタを取り除く事により、回路を簡単化して、より高速に動作する論理回路を作成する事が可能である。
【0050】
なお、このC181の回路を、図3のC200のタイプでセレクタで構成したとすると、
図12のC180に示す、トランジスタTN180〜TN185およびTP180〜TP185で構成された回路になる。また、このC181の回路を差動型回路で構成し直すと、図12のb行のC281の回路になる。さらに、この回路を同様にトランジスタレベルの回路で書き表すと、図12のC280に示す回路になる。
【0051】
<実施例1の変形例>
実施例1では、図1のC0の回路において、IN3→S5→N5→S6→OUT1がクリティカルパスである場合を想定したが、本実施例では、IN4→S5→N5→S6→OUT1のパスがこの回路全体での遅延時間を決定するクリティカルパスである場合を考える(図1のC10)。言い換えると、セレクタが2段接続された回路において、実施例1は前段セレクタ(S5)および後段のセレクタ(S6)とも入力I1がクリティカルパスである場合であったが、本実施例では前段のセレクタ(S5)では入力I0、後段のセレクタ(S6)では入力I1がクリティカルパスである場合である。このような場合にも、以下に示すように、図1のC1に示した本発明の論理回路を使用する事によって遅延時間を削減する事が可能である。
【0052】
このC10の回路は、図8のa行の変換規則に従うと、図13の回路(セレクタS5の制御入力Sの信号を反転)と論理的に同等である。この図13の回路において、IN4→S5→N5→S6→OUT1のパスの段数を削減する事は、実施例1の図1のC0の回路においてIN3→S5→N5→S6→OUT1のパスの段数を削減する事と同じである。このため、実施例1のC0→C1の回路変形に従うと、C10の回路は、同じ論理機能を持ったC11の回路に変形可能であり、IN4からOUT1に至るパスの段数を1段にまで削減する事が可能である。このように、本発明の論理回路を使用する事により、遅延時間を小さくする事が可能である。また、このC11の回路で、セレクタS11は図6のa行のセレクタS300に該当するため、実施例1の場合と同様にNANDゲートに変換すると、図10のC12の回路になる。さらに、このC12の回路も、実施例1の場合と同様に差動型回路(図10のC13)で組み直す事で高速化可能である。特に、この図10のC13の場合には、差動型回路で構成する事により、C12の回路ではインバータを1段挿入してIN2の反転信号を作る必要があったものが、不要になる。このため、インバータの遅延時間分だけ高速化する事ができる。
【0053】
次に、図1のc行に示すC20の回路のように、今度は、前段のセレクタ(S25)では入力I1、後段のセレクタ(S26)では入力I0が遅延時間を削減したいパス(IN3→S25→N25→S26→OUT1)である場合を考える。このような場合にも、このC20の回路のセレクタS26の制御入力IN1を反転すれば、実施例1の本発明の論理回路を適用する事が可能であり、図1のc行に示すC21の回路に変換する事が可能である。IN3からOUT1に至るパスの段数が小さい、本発明のC21の回路を使用する事により、遅延時間を削減する事が可能となる。このC21の回路を、図3のC100に示すセレクタで構成した場合のトランジスタレベルの回路図は、図5のa行のC140に示す、トランジスタTN140〜TN150およびTP140〜TP150に示す回路になる。また、同じ回路を今度は図3のC200に示す差動型セレクタで構成したとすると、図5のb行のC240に示す、トランジスタTN240〜TN254およびTP240〜TP254に示す回路になる。なお、このC21の回路でも、セレクタS21が図6のa行のセレクタS300に該当するので、CMOSゲートに変換する事が可能である(図10のc行のC22)。また、差動型回路(図10のc行のC23)にする事により、さらに遅延時間を小さくする事が可能である。
【0054】
さらに、図1のd行に示すC30の回路のように、今度は、前段のセレクタ(S25)および後段のセレクタ(S26)とも入力I0が遅延時間を削減したいパス(IN4→S25→N25→S26→OUT1)である場合を考える。このような場合にも、C20の回路でIN2が反転されている場合と考えれば、図1のd行のC31の回路に変換する事が可能であり、IN4からOUT1に至るパスをこれまでと同様にセレクタ1段にまで削減する事が可能である。このC31の回路でも、セレクタS31が図6のa行のセレクタS300に該当するので、CMOSゲートに変換する事が可能である(図10のd行のC32)。また、差動型回路(図10のd行のC33)にする事により、さらに遅延時間を小さくする事が可能である。
【0055】
以上に説明したように、セレクタが2段接続されている回路で、前段および後段のセレクタの入力I0あるいはI1が遅延時間を削減したいパスになっている場合(図1のa〜d行)には、本発明の論理回路(C1、C11、C21、C31)を使用する事により、クリィティカルパスの段数が削減でき、遅延時間を削減する事が可能である。
<実施例2>
本実施例では、実施例1の場合と違って、図2のa行のC40に示すように、前段のセレクタ(S45)では制御入力S、後段のセレクタ(S46)では入力I1が遅延時間を削減したいパス(IN2→S45→N45→S46→OUT1)である場合を考える。このような場合には、C40の回路と同等の論理機能を持った、図2のC41に示す本発明の論理回路を使用すれば、IN2からOUT1に至るパスの段数をセレクタS43のみの1段にまで削減する事が可能であり、遅延時間も小さくする事が可能である。なお、このC40とC41の回路が、全く同じ論理機能を持った回路である事は、次のように、それぞれのブール式が同じ形になる事で証明される。C40のブール式は、
となる。この式(E40)を、IN2に関してシャノン展開の公式(例えば、IEEE TRANSACTIONS ON COMPUTERS, Vol. C-27, No. 6, pp.509-516参照、以下、文献8と略す)に基づいて変形すると、
となり、これはC41の回路をブール式で表現したものと一致する。このように、C40の回路で、IN2からOUT1に至るパスがクリィティカルパスである場合には、C40の代わりに、それと全く同じ論理機能を持った本発明のC41の回路を使用する事により、クリィティカルパスの段数を削減する事ができ、遅延時間を小さくする事が可能である。
【0056】
次に、図2のb行のC50に示すように、今度は、後段のセレクタ(S46)では入力I0がクリィティカルパス(IN2→S55→N55→S56→OUT1)である場合を考える。この場合には、C40の回路でIN1が反転している場合に相当するので、図2のb行のC51に示す回路によりパスの段数を削減する事が可能である。このように、この場合も本発明の回路により、遅延時間を小さくする事ができる。
【0057】
なお、本実施例の回路(C41、C51)でも、実施例1の場合と同様に、図6のa〜d行のセレクタS300〜S330に該当するセレクタが存在する場合には、そのセレクタをCMOSゲートに変更して回路を構成する事も可能である。また、差動型回路で構成する事により、さらに遅延時間を削減する事が可能である。
【0058】
以上に説明したように、セレクタが2段接続されている回路で、前段のセレクタでは制御
入力S、後段のセレクタでは信号入力I0あるいはI1が遅延時間を削減したいパスになっている場合についても、本発明の論理回路(C41、C51)を使用する事により、クリィティカルパスの段数を削減する事が可能であり、遅延時間を削減する事が可能である。
<実施例3>
本実施例では、実施例1、2の場合と違って、図2のc行のC60に示すように、前段のセレクタ(S65)および後段のセレクタ(S66)とも、制御入力Sが遅延時間を削減したいパス(IN1→S65→N65→S66→OUT1)になっている場合を考える。このような場合には、C60の回路と同等の論理機能を持った、図2のc行のC61に示す本発明の論理回路を使用すれば、目的のパスを、IN1→S63→OUT1の1段に削減する事が可能であり、この結果、回路全体で見た時の遅延時間を小さくする事が可能である。なお、C60とC61の回路が、論理的に同等である事は、実施例2の場合と同様に文献8に紹介されているシャノン展開を利用する事により以下のように証明される。C60のブール式は、
0)
となるが、式(E60)を、IN1に関してシャノン展開すると、
となり、これはC61の回路をブール式で表現したものと一致する。
【0059】
このように、セレクタが2段接続されている回路で、前段および後段のセレクタともに、制御入力Sが遅延時間を削減したいパスになっている場合にも、本発明の論理回路(C61)を使用する事により、パスの段数を削減する事が可能であり、遅延時間を削減する事が可能である。
<実施例4>
本実施例では、実施例1〜3の場合と違って、図2のd行のC70に示すように、前段のセレクタ(S75)では入力I1、後段のセレクタ(S76)では制御入力Sが遅延時間を削減したいパス(IN2→S75→N75→S76→OUT1)になっている場合を考える。
【0060】
このような場合には、図2のc行のC71に示す、本発明の論理回路を使用すればよい。この本発明のC71の回路と元のC70の回路を比較すると、目的とするIN2からOUT1に至るパスは2段→1段に段数が削減されているのであるが、他のパス、例えばIN4からOUT1に至るパスは、1段→3段となり、段数が増加してしまっている。しかし、入力信号IN2が他の入力信号よりも極端に遅れてくる場合には、IN2からの段数が大幅に削減されたおかげで、この回路全体で見た時の遅延時間を小さくする事が可能である。 なお、このC70とC71の回路が、論理的に同等である事は、実施例2、3の場合と同様に、シャノン展開を利用する事により、以下のように証明される。C70のブール式は、 OUT1 = N75・IN4 + N75'・IN5
= (IN1・IN2 + IN1'・IN3)・IN4 + (IN1・IN2 + IN1'・IN3)'・IN5 (E70)
となるが、式(E70)を、IN2に関してシャノン展開すると、
となり、これはC71の回路をブール式で表現したものと一致する。
【0061】
次に、図2のe行のC80に示すように、C70の場合とは違って、今度は、前段のセレクタ(S75)では入力I0が遅延時間を削減したいパス(IN3→S75→S76→OUT1)である場合を考える。この場合は、C70の回路でIN1が反転している場合に相当するので、C80の回路は図2のe行のC81に示す回路に置き換える事が可能であり、目的のパスをIN3→OUT1の1段にまで削減する事が可能である。このように、この場合も本発明の論理回路により、クリィティカルパスの段数を削減する事ができ、遅延時間を小さくする事ができる。
【0062】
このように、セレクタが2段接続されている回路で、前段のセレクタでは入力I1あるいはI0、後段のセレクタでは制御入力Sがクリィティカルパスになっている場合にも、本発明の論理回路(C71、C81)を使用する事により、パスの段数を削減する事が可能であり、遅延時間を削減する事が可能である。
<実施例5>
以上の実施例1〜4では、簡単な論理回路を例にして、本発明の論理回路(C1,C11,C21,C31,C41,C51,C61,C71,C81)を使用する事により、セレクタが2段接続された回路では、どのようなパスでも段数を削減する事が可能であり、遅延時間を小さくする事ができる事を示した。つまり、セレクタのみで構成された回路ならば、どのようなパスがクリィティカルパスであろうと、回路を2段単位のセレクタ回路に分割して本発明の論理回路に置き換える事により、クリィティカルパスの段数を削減する事が可能であり、遅延時間を削減する事が可能である。さらに、CMOS論理回路であっても、一旦、それと論理的に同等なセレクタ回路に置き換え、セレクタ2段単位で、本発明の論理回路に置き換えていく事により、遅延時間の小さい論理回路に作り直す事ができる。以下、本実施例では、図14に示す計算機システムにより、より複雑な論理回路に対して、本発明の論理回路を使用して遅延時間を改善する方法を説明する。
【0063】
(1)システムの全体構成
図15は、本発明の論理回路を使用した遅延時間改善プログラム100の概略構造とこのプログラムを実行するための計算機システムを示す。この計算機システムは、入力装置、例えば、キーボード1、中央処理装置(CPU)2、表示装置(CRT)3、磁気テープ装置4および論理回路合成プログラム100を格納する磁気ディスク装置5からなる。プログラム100は、セレクタ回路変換ルーチン110、セレクタを使用した遅延時間改善ルーチン120、CMOSセル再マッピングルーチン130から構成される。このプログラムは、設計者がキーボード1から指示を与える事により、磁気ディスク装置5からCPU2にロードされて、実行される。遅延時間の改善度合いはCRT3上に表示され、生成された遅延時間改善終了論理回路は磁気テープ装置4等を経由して図15の自動レイアウトプログラム160に渡される。
【0064】
図14において、設計者は論理回路仕様9を入力する。この論理回路仕様9には、目的とする論理回路の論理機能を記述した論理関数と、その論理回路の入力信号はどれくらい遅れて入力され、それに対して出力信号はこのくらいの遅延時間でないといけないといった遅延時間制約等の情報も含まれる。論理回路自動合成プログラム90は、この論理回路仕様9から、ライブラリ11を参照して論理回路10を生成する。この論理回路10には、セル間の結線関係を記述したネットリストと、前述した遅延時間制約情報が記述されている。本実施例に特有のセレクタを使用した遅延時間改善プログラム100は、論理回路10に記載されている情報から、ライブラリ11を参照して、遅延時間制約を満たすように、論理回路10と同じ論理機能を持った遅延時間改善終了論理回路12を出力する。自動レイアウトプログラム160はライブラリ11を参照して、この論理回路に最適なレイアウトを決定し、レイアウトデータ20を作成する。マスクデータ作成プログラム170は、レイアウトデータ20に従って、上記合成された論理回路を半導体集積回路技術を使用して生成するための複数のマスクパターンを決め、それらのマスクパターンを表すマスクデータ21を生成する。半導体製造装置180は、マスクデータ21を用いて目的の論理機能を持った半導体集積回路を製造する。90、100、160、170の各プログラムは、それぞれに割り当てられた異なる計算機上で実行される。もちろん、これらのプログラムを同じ計算機上で実行させる事もできる。なお、この論理回路自動合成プログラム、自動レイアウトプログラムおよびはマスクデータ作成プログラムは既存のツールで実現される。
【0065】
本実施例では、入力された論理回路を、それと論理的に同等なセレクタ回路に置き換えた後に、クリティカルパス上の回路を、セレクタ2段単位で、本発明の論理回路に置き換えて行く事により、遅延時間を改善して行く点に特徴がある。以下、図18に示す論理回路を例にして本実施例のそれぞれのルーチンについて説明する。なお、この図18の論理回路で、入力信号A〜Hの遅れは0ns(=遅れなし)とし、出力信号outの制約は0ns、つまり、できうる限り小さい遅延時間で出力せよというものであるとする。
【0066】
(2)セレクタ回路変換ルーチン110
このルーチン110は、論理回路10から、図9に示した変換パターンに基づいて、それと全く同じ論理機能を持ったセレクタ回路だけで構成した論理回路を生成する。例えば、図18の論理回路の場合には、G500、G502、G504、G506の2入力ANDゲートは、図9のa行の変換パターンに該当し、残りのG501、G503、G505の2入力ORゲートは図9のd行の変換パターンに該当するため、図19に示すセレクタだけで構成した論理回路に変換される。
【0067】
(3)セレクタを使用した遅延時間改善ルーチン120
このルーチンは、実施例1〜4で説明した本発明の論理回路を使用して、(2)のセレクタ回路変換ルーチン110で生成された論理回路を順次部分的に組み直して、目的の遅延時間制約を満たすように与えられた論理回路を変形して行く。
【0068】
まず、与えられた論理回路について、順方向遅延時間および逆方向遅延時間を計算するのであるが、ここでは簡単な図17の回路を例にして順方向遅延時間と逆方向遅延時間について説明する。さらに、説明の簡単化のために、図17の回路において、ANDゲートG400,G401,G402の2本の入力端子から出力端子までの遅延時間は1nsであるとする。
【0069】
順方向遅延時間は、図17のE400の1式に示されるように、入力信号の遅れにパス上に存在する各セルの遅延時間を加えたもので定義される。つまり、信号がそのノードまで伝播してくるのにかかる時間に対応する。例えば、図17の回路で、ノードN400では、入力IN3およびIN4の遅れ(0ns)+セルG400の遅延時間(1ns)=1ns、が信号が伝播するために必要な時間であるので、この順方向遅延時間は1nsになる。また、ノードN401について考えると、このノードの順方向遅延時間は、ノードN400の順方向遅延時間(1ns)にセルG401の遅延時間(1ns)を加えた時間(2ns)と、ノードN405の順方向遅延時間(0ns)にセルG401の遅延時間(1ns)を加えた時間(1ns)のうち、遅延時間の遅い方であるので、2nsになる。
【0070】
一方、逆方向遅延時間は、図17のE400の2式に示されるように、出力信号の制約から、パス上に存在する各セルの遅延時間を順次引いていったもので定義される。つまり、制約通りの遅延時間で出力信号が確定しているために要求される、各ノードでの遅延時間に対応する。例えば、図17の回路では、出力OUTが制約通りの2nsの遅延時間で確定するためには、ノードN401は、それよりもセルG402内の遅延時間(1ns)分だけ速い、遅延時間1nsで信号が伝播してなくてはならないので、このノードN401の逆方向遅延時間は1nsになる。また、ノードN400については、ノードN401の逆方向遅延時間(1ns)よりも、さらに、セルG401の遅延時間(1ns)分だけ速く信号が確定していなければならないため、このノードの逆方向遅延時間は0nsになる。
【0071】
このように、処理121で順方向遅延時間および逆方向遅延時間を計算した後に、次の処理122において、それらの値からスラックを計算する。スラックとは、図17のE400の3式に示されるように、逆方向遅延時間から順方向遅延時間を引いたもので定義する。この図17の回路で、各ノードのスラックを求めると、
N400 : 0ns - 1ns = -1ns
N401 : 1ns - 2ns = -1ns
N402 : 2ns - 3ns = -1ns
N403 : -1ns - 0ns = -1ns
N404 : -1ns - 0ns = -1ns
N405 : 0ns - 0ns = 0ns
N406 : 1ns - 0ns = +1ns
となる。前述したように、逆方向遅延時間は、制約通りの遅延時間で出力信号が確定するために必要な、そのノードでの信号の遅延時間に対応する。また、順方向遅延時間はそのノードに実際に信号が伝播してくるまでの時間に対応する。つまり、ノードのスラックが正の値であれば、制約を満たすために要求される遅延時間よりも、実際にはそれよりも小さい遅延時間で信号が伝播している事に対応する。このため、スラックが正の値ならば、そのノードに信号が到達するまでの遅延時間はもっと遅れてもよい事を意味する。逆に、ノードのスラックが負の値であれば、制約を満たすために要求される遅延時間よりも、実際には遅れて信号が伝播してくる事に対応するため、そのノードに至るパスの遅延時間を短縮しない限り、制約通りの遅延時間で回路が動作できない事を意味する。このように、逆方向遅延時間と順方向遅延時間の差でスラックを定義して、回路の全ノードでのスラックを計算する事により、どの部分が回路全体での高速動作に妨げになっているかが一目瞭然になる。また、これにより、どの部分を組み直せば回路全体の遅延時間を小さくできるかもわかるようになる。例えば、この図17の回路では、スラックが-1nsである、N403→G400→N400→G401→N401→G402→N402というパスが、この回路の遅延時間を決定するクリティカルパスであり、このパスの遅延時間を改善しない限り、回路全体で見た時の遅延時間は改善されない。この事はこの図17のような簡単な論理回路ではあまり意味をなさないが、人間の目では手におえないような、論理回路自動合成ツール等により合成された複雑な論理回路の場合には大変重要な意味を持つ。
【0072】
次に処理123において、このようして計算した各ノードのスラックから各セルのホールを計算する。セルのホールとは、図17のE400の4式に示されるように、各入力端子が接続されているノードのスラックに対して、入力端子間のスラックの差を求め、そのうち最も差が小さいもので定義する。前述したように、スラックは、ノード毎の遅延時間についての余裕に対応するため、ホールの値が大きいセルというのは、複数ある入力端子のうち、ある1本だけ遅延時間が他の入力よりも大幅に遅れているという事を意味している。つまり、他の入力端子からの遅延時間を犠牲にしてでも、その1本だけ大幅遅い入力端子からの遅延時間を短縮する事ができれば、他の入力端子からの遅延時間には余裕があるため、回路全体の遅延時間を悪化させる事なしに、回路全体での遅延時間を短縮する事ができるという事を意味する。実施例1〜4で説明したように、本発明の論理回路を使用して回路を組み直すと、目的とするクリティカルパスの段数を確実に削減でき、遅延時間も確実に小さくできるのであるが、それ以外のパスでは逆に段数が増えてしまって遅延時間が悪化してしまう場合がある。しかし、ここで説明したように、ホールの大きい部分では、1本のパスだけが遅延時間が大幅に他に比べて遅いため、その1本のパスの遅延時間を短縮する事ができれば、他のパスの遅延時間が多少悪化してしまっても、回路全体の遅延時間は確実に小さくできる事が保証される。つまり、ホールの大きなセルを見つけて、そこを、本発明の論理回路で組み直せば、回路全体で見た時の遅延時間を小さくする事が可能なのである。
【0073】
この図17の回路の例で、各セルのホールを計算すると、
G400 : 0ns (N403とN404のスラックの差)
G401 : 1ns (N400とN405のスラックの差)
G402 : 2ns (N400とN405のスラックの差)
となる。つまり、この図17の回路では、セルG402、G401にはホールが存在し、このG402およびG401から構成される部分の回路をうまく組み直す事できれば、より高速に動作できる回路に変形する事が可能である。
【0074】
以上では、簡単のため図17の回路を例にして、スラックおよびホールについて説明したが、この事は図18の回路をセレクタ回路変換して得られた図19の回路でも全く同様である。この図19の回路で、セレクタの制御入力Sおよび入力I0、I1から出力Oまでの遅延時間が一律0.2nsであるとすると、この図19の回路の遅延時間は1.4nsで、クリティカルパスは、A→S500→S501→S502→S503→S504→S505→S506→out(セレクタ7段)である。次に各セルのホールを計算すると、
S500 : 0ns
S501 : 0.2ns
S502 : 0.4ns
S503 : 0.6ns
S504 : 0.8ns
S505 : 1.0ns
S506 : 1.2ns
となる。このように、S505およびS506がホールがもっとも大きいセルであるので、このS505およびS506から構成される部分を、本発明の論理回路に置き換えれば確実に遅延時間を小さくする事が可能である。実際、この部分は、前段のセレクタ(S505)では入力I0、後段のセレクタ(S506)では入力I1がクリティカルパスであり、図1のb行のC10に相当するので、図11のb行のC11に示す本発明の論理回路に置き換えると、図20の回路が得られる。この図20の回路において、セレクタS510、S510およびS512が、図19のセレクタS505およびS506から置き換えられたセレクタである。このうち、S510は図8のc行に相当する冗長なセレクタであるため、取り除く事が可能であり、図21の回路に簡単化できる。この図21の回路では、クリティカルパスは A→S500→S501→S502→S503→S504→S511→outで、図19の回路より1段少ないセレクタ6段であり、遅延時間は1.2nsである。つまり、図19の回路よりも遅延時間は0.2ns(セレクタ1段分)短縮されている。さらに、この図21の回路で、ホールの存在するセル、S503およびS504、S501およびS502を、同様の手順で本発明の論理回路に置き換えると、図22に示す回路が得られる。この図22の回路では、クリティカルパスは、A→S500→S515→S513→S511→outで、図21の回路よりもさらに2段少ないセレクタ4段であり、遅延時間も0.4ns小さい、0.8nsにまで短縮されている。
【0075】
さらに、この図22の回路において、ホールの存在するS513およびS511について同様の手順で回路を組み直すと、最終的には図23に示す回路が得られる。この図23の回路では、クリティカルパスは、G→I510→S512→S517→S518→out(あるいはC→I512→S516→S515→S518→out 、 E→I511→S514→S519→S518→out )であり、インバータ1段、セレクタ3段にまで短縮されている。インバータの遅延時間を0.1nsであるとすると、この図22の回路の遅延時間は0.9nsである。
【0076】
(4)CMOSセル再マッピングルーチン130
このルーチンでは、図6のa〜d行に該当するセレクタを、 CMOS回路で構成したNANDゲートあるいはNORゲート等に置き換える事により、回路の遅延時間をさらに改善する。また、必要に応じてセレクタを図3のb行のC200およびC201等で示す差動型回路で組み直す事により、さらに遅延時間を改善する。
【0077】
(3)の遅延時間改善ルーチンで得られた図23の回路で、セレクタS512、S500、S516、S514およびS519は、図6のa行に該当する。このため、これらのセレクタを、CMOS回路で構成したANDゲートに変換する事が可能であり、図24の回路が得られる。この図24の回路において、ANDゲートG514およびG519を、1つの3入力ANDゲートにまとめる事により、遅延時間を小さくする事が可能である(図25のG521)。また、この図24の回路で、セレクタの制御入力Sを駆動しているANDゲート(G516、G519)を、NANDゲート+インバータと考えると、図8のa行に示すように、制御入力Sを駆動するインバータは取り除く事が可能であるので、これらのANDゲートはNANDゲートに置き換える事が可能である(図25のG520、G521)。一般に、CMOS回路ではANDゲートは、NANDゲート+インバータで構成されるため、NANDゲートの方がインバータ1段分だけ遅延時間が小さい。このようにして図24の回路を図25の回路に変形する事により、さらに遅延時間を小さくする事が可能である。また、図25の回路を差動型回路で構成しなおすと、最終的には差動型セレクタDS515、DS517、DS518、CMOSゲートG500P、G500N、G520P、G520N、G516P、G516N、G521P、G521Nから構成される図26に示す回路が得られる。
【0078】
【表1】
【0079】
表1は本発明による遅延時間改善後の回路と元の回路のクリティカルパスの段数および遅延時間を比較した表である。表1に示すように、本方法により遅延時間を改善した回路(図26)は、元の回路ではクリティカルパスの段数が7段であったのに対し、3段にまで段数を削減している事に成功しており、また、遅延時間についても1.59nsから、0.51nsにまで削減する事に成功している。このように、本実施例で説明した図16の遅延時間改善プログラムを使用する事により、遅延時間を確実に改善できる事がわかる。また、この図26の回路から、この例のようにすべての入力信号の遅れが全く同じ場合には、各入力信号から出力信号に至るパスの段数はすべて同じ3段になり、非常にバランスの取れた回路が出来上がる事がわかる。
【0080】
本実施例では、簡単のためにすべての入力信号の遅れは0nsであるという仮定の下に説明をしてきたが、ある特定の入力信号が遅れてくるような場合についても全く同様である。このような場合には、入力信号の遅れの分は、スラックおよびホールの値に反映される。そのため、信号が遅れてくる入力に関係するパスは段数が浅くなるように、回路が変形されて行き、回路全体で見た時の遅延時間が削減される。
【0081】
また、以上では、CMOSセルに再マッピングされるセレクタを、図6のa〜d行の4種類のセレクタに限定してきた。図23の回路からわかるように、本発明の論理回路を使用した遅延時間改善法により、回路の段数は大幅に削減される(7段→3段)。このため、たとえ、すべてのセレクタをCMOSセルにマッピングし直したとしても、元の回路よりも段数が短く、遅延時間が小さい論理回路を得る事が可能である。
【0082】
<実施例6>
実施例5では、比較的簡単な論理回路(図18、セル数:7)を例にして、本発明により、遅延時間を確実に小さくする事ができる事を示したのであるが、本実施例では、より大規模な論理回路に対しても本発明が有効である事を示す。
【0083】
【表2】
【0084】
表2は実際の大規模な論理回路に対して、本発明による遅延時間改善後の回路と元の回路のセル数、面積、最大制約違反および制約違反パス数を比較した表である。大規模な論理回路(セル数:9712)に対して、実際に図14に示した計算機システムを使用して、本発明を適用して遅延時間を改善した。この表に示されるように、セル数および面積は10%程度増加してしまう。しかし、本発明を適用する前には、遅延時間が制約よりも遅く、制約違反を起こしているパスが全部で1321本存在し、しかも最大で1.42ns違反していたものが、本発明の論理回路を使用して遅延時間を改善する事により、制約違反パス数は258本、最大制約違反は0.98nsにまで削減する事に成功している。
【0085】
図27は違反パスの分布を本発明の適用前後で比較したものである。この表からわかるように、本発明を適用する事により、制約違反1.0ns以上のパスは一掃されている。また、制約違反0.2ns以下のパスも大幅に減っている事から、すべてパスの遅延時間を確実に小さくできている事がわかる。
【0086】
図28は本発明の適用前後でセルのホールの分布を比較したものである。図16で示した本発明による遅延時間改善法では、新たに定義したホールという量を目安にして、ホールのある部分の回路を、本発明のセレクタベースの組み直して行く事により遅延時間を改善して行く。この際、組み直された後の回路では、クリティカルパスについては確実に遅延時間が短縮されるのであるが、それ以外のパスでは遅延時間が悪化するパスも存在する。
【0087】
言い換えると、ホールを利用して回路全体で見た時の遅延時間を改善して行くのであるが、この図28からわかるように、本発明適用前ではホールの分布のピークが4.0ns付近にあったものが、本発明適用後には、ピークが3.4ns付近に移動しており、確かにホールを利用して、回路全体で見た時の遅延時間を改善している事がわかる。
【0088】
以上の結果からわかるように、本発明の論理回路を使用した遅延時間改善法は、実際の大規模な論理回路に対しても、非常に有効である事がわかる。
【0089】
【発明の効果】
以上に示した実施例からわかるように、本発明の論理回路を使用して回路を組み直して行く事により、論理回路の各々のパスの段数がなるべく同じになるようにして、遅延時間が極端に遅いクリィティカルパスが存在しない論理回路を作成する事が可能であり、その結果、高速に動作可能な論理回路を提供する事が可能になる。
【0090】
また、特定の入力信号が遅れてくる場合にも、本発明の論理回路を使用して回路を組み直して行く事により、その遅れによる遅延時間の増加分を考慮して、その入力信号に関係するパスは段数が浅くなるようにして論理回路を作成する事が可能であり、その結果、高速に動作可能な論理回路を提供する事が可能になる。
【図面の簡単な説明】
【図1】本発明の望ましい実施形態。
【図2】本発明の他の望ましい実施形態。
【図3】セレクタ回路のトランジスタレベルの回路図。
【図4】本発明の他の望ましい実施形態。
【図5】本発明の他の望ましい実施形態。
【図6】NANDゲート、NORゲート、インバータに変換されるセレクタのパターンと、その変換ルールを示す図。
【図7】図1のC1の本発明の論理回路において、セレクタS1を、図6のa行の変換パターンに従って、NANDゲート+インバータに置き換えた回路。
【図8】冗長なセレクタを示した図。
【図9】NANDゲート、NORゲート、インバータを差動型回路で構成した例を示す図。
【図10】図1のC1、C11、C21、C31に示す本発明の論理回路を、図6の変換ルールに従って一部セレクタをCMOSゲートに置き換えた場合の回路と、それらの回路を差動型回路で構成した場合の回路。
【図11】図10のa行に示した本発明の論理回路C2およびC3のトランジスタレベルの回路図。
【図12】図10のa行のC2およびC3に示した本発明の論理回路において、入力信号IN5がGND固定、IN4がVDD固定である場合に、冗長なセレクタを取り除いた後の回路図。
【図13】図1のb行のC0の回路でセレクタS5の制御入力Sを入力信号IN2の反転信号に接続させた場合の回路図。
【図14】本発明の第5の実施例による、セレクタを使用した遅延時間改善プログラムの概略とそれを実行するための計算機システムを示す図。
【図15】本発明の論理回路を使用した遅延時間改善プログラムを使用して、論理回路仕様から半導体集積回路を製造するまでのフロチャートを示した図。
【図16】本発明の論理回路を使用した遅延時間改善プログラムのフロチャートを示した図。
【図17】本発明の第5の実施例による、順方向遅延時間、逆方向遅延時間、スラックおよびホールを説明するための図。
【図18】図16の本発明の論理回路を使用した遅延時間改善プログラムに入力される論理回路の例。
【図19】図16の本発明の論理回路を使用した遅延時間改善プログラムのセレクタ回路変換ルーチンにより生成されるセレクタのみで構成した論理回路の回路図。
【図20】図16の本発明の論理回路を使用した遅延時間改善プログラムの遅延時間改善ルーチンの途中で生成される中間回路の回路図。
【図21】図16の本発明の論理回路を使用した遅延時間改善プログラムの遅延時間改善ルーチンの途中で生成される中間回路の回路図。
【図22】図16の本発明の論理回路を使用した遅延時間改善プログラムの遅延時間改善ルーチンの途中で生成される中間回路の回路図。
【図23】図16の本発明の論理回路を使用した遅延時間改善プログラムの遅延時間改善ルーチンで最終的に出力される回路の回路図。
【図24】図16の本発明の論理回路を使用した遅延時間改善プログラムのCMOSセル再マッピングルーチンの途中で生成される回路の回路図。
【図25】図16の本発明の論理回路を使用した遅延時間改善プログラムのCMOSセル再マッピングルーチンで最終的に出力される回路の回路図。
【図26】図16の本発明の論理回路を使用した遅延時間改善プログラムのCMOSセル再マッピングルーチンで最終的に出力される回路(差動型セレクタ使用)の回路図。
【図27】実際の大規模な論理回路に対して、図16の本発明の論理回路を使用した遅延時間改善プログラムの適用前後の、制約違反パス数を比較した図。
【図28】実際の大規模な論理回路に対して、図16の本発明の論理回路を使用した遅延時間改善プログラムの適用前後の、セルのホールの分布を比較した図。
Claims (12)
- ライブラリを格納した記憶装置にアクセス可能な計算機を用いた論理回路の設計方法であって、
複数のセルとその結線関係で記述された第1の論理回路のネットリストを受け、
上記第1の論理回路の複数のセルを上記ライブラリを参照して複数のセレクタ回路に置き換えて、上記第1の論理回路と論理的に同等であって複数のセレクタ回路とその結線関係で記述される第2の論理回路に変換し、
上記第2の論理回路の部分回路を、上記第2の論理回路の部分回路と論理的に同等であって複数のセレクタ回路とその結線関係で記述され、上記第2の論理回路の部分回路よりも遅延時間の小さい論理回路に置き換えて、第3の論理回路に変換し、
上記第3の論理回路の複数のセレクタ回路にセルをマッピングして複数のセルとその結線関係で記述された第4の論理回路を得る論理回路の設計方法。 - 請求項1において、
上記セレクタ回路は2つの信号入力と、1つの制御入力と、1つの出力とを有することを特徴とする論理回路の設計方法。 - 請求項1において、
上記第2の論理回路の部分回路は2段のセレクタ回路を含むことを特徴とする論理回路の設計方法。 - 請求項1において、
上記セルはCMOSセルであって、上記第1の論理回路及び上記第4の論理回路はCMOS論理回路であることを特徴とする論理回路の設計方法。 - 請求項1において、
さらに、上記第4の論理回路のレイアウトを決定し、レイアウトデータを作成する論理回路の設計方法。 - 請求項5において、
さらに、上記レイアウトデータに基づきマスクデータを作成する論理回路の設計方法。 - 請求項1において、
上記第2の論理回路の部分回路はクリティカルパスを形成していることを特徴とする論理回路の設計方法。 - 請求項1において、
上記セレクタ回路は2つの信号入力と、1つの制御入力と、1つの出力とを有し、
上記第2の論理回路に含まれる各セレクタ回路の各入力のスラックを計算し、
上記各セレクタ回路の各入力のスラックの差の最小値を計算し、上記最小値に基づいて上記第2の論理回路の部分回路を決定する論理回路の設計方法。 - 半導体集積回路装置の製造方法であって、
論理回路のレイアウトを決定してレイアウトデータを作成し、
上記レイアウトデータに基づきマスクデータを作成し、
上記マスクデータに基づくマスクデータパターンを用いて半導体集積回路装置を製造し、
上記論理回路は、第1の論理回路の複数のセルを複数のセレクタ回路に置き換えて、上記第1の論理回路と論理的に同等であって複数のセレクタ回路とその結線関係で記述される第2の論理回路に変換し、上記第2の論理回路の部分回路を、上記第2の論理回路の部分回路と論理的に同等であって複数のセレクタ回路とその結線関係で記述され、上記第2の論理回路の部分回路よりも遅延時間の小さい論理回路に置き換えて第3の論理回路に変換し、上記第3の論理回路の複数のセレクタ回路にセルをマッピングすることで得られたことを特徴とする半導体集積回路装置の製造方法。 - 請求項9において、
上記セレクタ回路は2つの信号入力と、1つの制御入力と、1つの出力とを有することを特徴とする半導体集積回路装置の製造方法。 - 請求項9において、
上記第2の論理回路の部分回路は2段のセレクタ回路を含むことを特徴とする半導体集積回路装置の製造方法。 - 請求項9において、
上記セルはCMOSセルであって、上記論理回路はCMOS論理回路であることを特徴とする半導体集積回路の製造方法。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32753697A JP3701781B2 (ja) | 1997-11-28 | 1997-11-28 | 論理回路とその作成方法 |
TW087119189A TW461181B (en) | 1997-11-28 | 1998-11-19 | Logic circuit and its manufacturing method |
US09/197,465 US6124736A (en) | 1997-11-28 | 1998-11-23 | Logic circuit and its forming method |
KR1019980051132A KR100592051B1 (ko) | 1997-11-28 | 1998-11-27 | 논리회로와그작성방법 |
US09/610,697 US6323690B1 (en) | 1997-11-28 | 2000-07-05 | Logic circuit and its forming method |
US09/906,264 US6400183B2 (en) | 1997-11-28 | 2001-07-17 | Logic circuit and its forming method |
US10/122,385 US6486708B2 (en) | 1997-11-28 | 2002-04-16 | Logic circuit and its forming method |
US10/266,773 US6696864B2 (en) | 1997-11-28 | 2002-10-09 | Logic circuit and its forming method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32753697A JP3701781B2 (ja) | 1997-11-28 | 1997-11-28 | 論理回路とその作成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11161470A JPH11161470A (ja) | 1999-06-18 |
JP3701781B2 true JP3701781B2 (ja) | 2005-10-05 |
Family
ID=18200202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32753697A Expired - Fee Related JP3701781B2 (ja) | 1997-11-28 | 1997-11-28 | 論理回路とその作成方法 |
Country Status (4)
Country | Link |
---|---|
US (5) | US6124736A (ja) |
JP (1) | JP3701781B2 (ja) |
KR (1) | KR100592051B1 (ja) |
TW (1) | TW461181B (ja) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3665231B2 (ja) * | 1999-06-03 | 2005-06-29 | 株式会社ルネサステクノロジ | 論理回路 |
US6288593B1 (en) * | 2000-01-04 | 2001-09-11 | Translogic Technology, Inc. | Digital electronic circuit for use in implementing digital logic functions |
US6819141B1 (en) * | 2000-03-14 | 2004-11-16 | International Business Machines Corporation | High speed, static digital multiplexer |
US6529040B1 (en) * | 2000-05-05 | 2003-03-04 | Xilinx, Inc. | FPGA lookup table with speed read decoder |
JP3472527B2 (ja) * | 2000-05-16 | 2003-12-02 | 松下電器産業株式会社 | 論理回路モジュール及びこれを用いた半導体集積回路の設計方法並びに半導体集積回路 |
JP2002083001A (ja) | 2000-09-06 | 2002-03-22 | Hitachi Ltd | 論理回路の設計方法及びそれに使用するセルライブラリ |
US6546539B1 (en) * | 2000-12-14 | 2003-04-08 | Lsi Logic Corporation | Netlist resynthesis program using structure co-factoring |
JP2002245104A (ja) * | 2001-02-16 | 2002-08-30 | Nec Corp | 論理縮小機能を備えたマッピング装置、マッピング方法、及びそのプログラム。 |
TW530455B (en) * | 2001-04-19 | 2003-05-01 | Sanyo Electric Co | Switch circuit device of compound semiconductor |
JP2002318825A (ja) | 2001-04-20 | 2002-10-31 | Hitachi Ltd | 論理回路の設計方法 |
US6779156B2 (en) * | 2001-06-15 | 2004-08-17 | Science & Technology Corporation @ Unm | Digital circuits using universal logic gates |
US6489830B1 (en) * | 2001-09-05 | 2002-12-03 | Hewlett-Packard Company | Apparatus and method for implementing a multiplexer |
US7047175B1 (en) * | 2001-11-16 | 2006-05-16 | Synopsys, Inc. | System and method for enhancing the speed of dynamic timing simulation using delay assessment at compile time |
US7345511B2 (en) * | 2002-08-29 | 2008-03-18 | Technion Research & Development Foundation Ltd. | Logic circuit and method of logic circuit design |
US7103868B2 (en) * | 2002-11-12 | 2006-09-05 | Lsi Logic Corporation | Optimizing depths of circuits for Boolean functions |
US6831481B1 (en) * | 2003-03-14 | 2004-12-14 | Xilinx, Inc. | Power-up and enable control circuits for interconnection arrays in programmable logic devices |
US7129755B2 (en) * | 2004-04-09 | 2006-10-31 | Broadcom Corporation | High-fanin static multiplexer |
US7350177B2 (en) * | 2004-04-29 | 2008-03-25 | Taiwan Semiconductor Manufacturing Co., Ltd. | Configurable logic and memory devices |
WO2006087698A2 (en) * | 2005-02-16 | 2006-08-24 | Technion Research & Development Foundation Ltd. | Logic circuit and method of logic circuit design |
US8448102B2 (en) | 2006-03-09 | 2013-05-21 | Tela Innovations, Inc. | Optimizing layout of irregular structures in regular layout context |
US8839175B2 (en) | 2006-03-09 | 2014-09-16 | Tela Innovations, Inc. | Scalable meta-data objects |
US7446352B2 (en) | 2006-03-09 | 2008-11-04 | Tela Innovations, Inc. | Dynamic array architecture |
US9009641B2 (en) | 2006-03-09 | 2015-04-14 | Tela Innovations, Inc. | Circuits with linear finfet structures |
US8541879B2 (en) | 2007-12-13 | 2013-09-24 | Tela Innovations, Inc. | Super-self-aligned contacts and method for making the same |
US9035359B2 (en) | 2006-03-09 | 2015-05-19 | Tela Innovations, Inc. | Semiconductor chip including region including linear-shaped conductive structures forming gate electrodes and having electrical connection areas arranged relative to inner region between transistors of different types and associated methods |
US7763534B2 (en) | 2007-10-26 | 2010-07-27 | Tela Innovations, Inc. | Methods, structures and designs for self-aligning local interconnects used in integrated circuits |
US7956421B2 (en) | 2008-03-13 | 2011-06-07 | Tela Innovations, Inc. | Cross-coupled transistor layouts in restricted gate level layout architecture |
US7908578B2 (en) | 2007-08-02 | 2011-03-15 | Tela Innovations, Inc. | Methods for designing semiconductor device with dynamic array section |
US8653857B2 (en) * | 2006-03-09 | 2014-02-18 | Tela Innovations, Inc. | Circuitry and layouts for XOR and XNOR logic |
US9230910B2 (en) | 2006-03-09 | 2016-01-05 | Tela Innovations, Inc. | Oversized contacts and vias in layout defined by linearly constrained topology |
US8658542B2 (en) | 2006-03-09 | 2014-02-25 | Tela Innovations, Inc. | Coarse grid design methods and structures |
US9563733B2 (en) | 2009-05-06 | 2017-02-07 | Tela Innovations, Inc. | Cell circuit and layout with linear finfet structures |
US7741879B2 (en) * | 2007-02-22 | 2010-06-22 | Avago Technologies Enterprise IP (Singapore) Pte. Ltd. | Apparatus and method for generating a constant logical value in an integrated circuit |
US8667443B2 (en) | 2007-03-05 | 2014-03-04 | Tela Innovations, Inc. | Integrated circuit cell library for multiple patterning |
US8453094B2 (en) | 2008-01-31 | 2013-05-28 | Tela Innovations, Inc. | Enforcement of semiconductor structure regularity for localized transistors and interconnect |
US7939443B2 (en) | 2008-03-27 | 2011-05-10 | Tela Innovations, Inc. | Methods for multi-wire routing and apparatus implementing same |
KR100933668B1 (ko) * | 2008-04-30 | 2009-12-23 | 주식회사 하이닉스반도체 | 출력회로 |
JP5599395B2 (ja) | 2008-07-16 | 2014-10-01 | テラ イノヴェイションズ インコーポレイテッド | 動的アレイアーキテクチャにおけるセル位相整合及び配置の方法及びその実施 |
US9122832B2 (en) | 2008-08-01 | 2015-09-01 | Tela Innovations, Inc. | Methods for controlling microloading variation in semiconductor wafer layout and fabrication |
US8661392B2 (en) | 2009-10-13 | 2014-02-25 | Tela Innovations, Inc. | Methods for cell boundary encroachment and layouts implementing the Same |
US9159627B2 (en) | 2010-11-12 | 2015-10-13 | Tela Innovations, Inc. | Methods for linewidth modification and apparatus implementing the same |
US8461902B2 (en) * | 2011-01-27 | 2013-06-11 | Advanced Micro Devices, Inc. | Multiplexer circuit with load balanced fanout characteristics |
US10151182B2 (en) | 2013-02-22 | 2018-12-11 | Samson Pump Company, Llc | Modular top loading downhole pump with sealable exit valve and valve rod forming aperture |
US8904322B2 (en) * | 2013-03-26 | 2014-12-02 | International Business Machines Corporation | Structure for stacked CMOS circuits |
US9122823B2 (en) | 2013-12-20 | 2015-09-01 | International Business Machines Corporation | Stacked multiple-input delay gates |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5040139A (en) * | 1990-04-16 | 1991-08-13 | Tran Dzung J | Transmission gate multiplexer (TGM) logic circuits and multiplier architectures |
US5200907A (en) * | 1990-04-16 | 1993-04-06 | Tran Dzung J | Transmission gate logic design method |
US5198705A (en) * | 1990-05-11 | 1993-03-30 | Actel Corporation | Logic module with configurable combinational and sequential blocks |
US5162666A (en) * | 1991-03-15 | 1992-11-10 | Tran Dzung J | Transmission gate series multiplexer |
JP3175322B2 (ja) * | 1992-08-20 | 2001-06-11 | 株式会社日立製作所 | 論理自動生成方法 |
JP2972498B2 (ja) * | 1993-09-02 | 1999-11-08 | 松下電器産業株式会社 | 論理回路の自動設計方法、そのシステム及びその装置並びに乗算器 |
JP3153403B2 (ja) * | 1993-12-28 | 2001-04-09 | 富士通株式会社 | 半導体集積回路の遅延時間計算装置 |
JPH0818438A (ja) * | 1994-06-29 | 1996-01-19 | Nec Commun Syst Ltd | ゲートアレー構成半導体装置 |
KR960003103A (ko) * | 1994-06-30 | 1996-01-26 | 윌리엄 이. 힐러 | 연합 헤테로젠니우스 필드 프로그래머블 게이트 어레이 논리 모듈 및 그 형성방법 |
JP3400124B2 (ja) * | 1994-08-08 | 2003-04-28 | 株式会社日立製作所 | パストランジスタ型セレクタ回路及び論理回路 |
JP3330236B2 (ja) * | 1994-09-01 | 2002-09-30 | 三菱電機エンジニアリング株式会社 | 加算回路およびキャリー選択回路 |
TW298686B (ja) * | 1995-04-25 | 1997-02-21 | Hitachi Ltd | |
US5751165A (en) * | 1995-08-18 | 1998-05-12 | Chip Express (Israel) Ltd. | High speed customizable logic array device |
JPH0993118A (ja) * | 1995-09-22 | 1997-04-04 | Kawasaki Steel Corp | パストランジスタ論理回路 |
US5625303A (en) * | 1995-09-27 | 1997-04-29 | Intel Corporation | Multiplexer having a plurality of internal data paths that operate at different speeds |
US6185719B1 (en) * | 1997-06-06 | 2001-02-06 | Kawasaki Steel Corporation | Pass-transistor logic circuit and a method of designing thereof |
US5977792A (en) * | 1997-12-15 | 1999-11-02 | Texas Instruments Incorporated | Configurable logic circuit and method |
US6453446B1 (en) * | 1997-12-24 | 2002-09-17 | Magma Design Automation, Inc. | Timing closure methodology |
US6233724B1 (en) * | 1998-10-30 | 2001-05-15 | Micron Technology, Inc. | Circuit synthesis time budgeting based upon wireload information |
US6336208B1 (en) * | 1999-02-04 | 2002-01-01 | Xilinx, Inc. | Delay optimized mapping for programmable gate arrays with multiple sized lookup tables |
-
1997
- 1997-11-28 JP JP32753697A patent/JP3701781B2/ja not_active Expired - Fee Related
-
1998
- 1998-11-19 TW TW087119189A patent/TW461181B/zh not_active IP Right Cessation
- 1998-11-23 US US09/197,465 patent/US6124736A/en not_active Expired - Lifetime
- 1998-11-27 KR KR1019980051132A patent/KR100592051B1/ko not_active IP Right Cessation
-
2000
- 2000-07-05 US US09/610,697 patent/US6323690B1/en not_active Expired - Fee Related
-
2001
- 2001-07-17 US US09/906,264 patent/US6400183B2/en not_active Expired - Fee Related
-
2002
- 2002-04-16 US US10/122,385 patent/US6486708B2/en not_active Expired - Lifetime
- 2002-10-09 US US10/266,773 patent/US6696864B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11161470A (ja) | 1999-06-18 |
KR100592051B1 (ko) | 2006-12-01 |
KR19990045623A (ko) | 1999-06-25 |
US6486708B2 (en) | 2002-11-26 |
TW461181B (en) | 2001-10-21 |
US6323690B1 (en) | 2001-11-27 |
US20020149394A1 (en) | 2002-10-17 |
US6400183B2 (en) | 2002-06-04 |
US20030071658A1 (en) | 2003-04-17 |
US6124736A (en) | 2000-09-26 |
US6696864B2 (en) | 2004-02-24 |
US20010054916A1 (en) | 2001-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3701781B2 (ja) | 論理回路とその作成方法 | |
US6651223B2 (en) | Logic circuit design method and cell library for use therewith | |
Zimmermann et al. | Low-power logic styles: CMOS versus pass-transistor logic | |
US6396307B1 (en) | Semiconductor integrated circuit and method for designing the same | |
KR100334001B1 (ko) | 반도체 집적회로의 설계방법 및 자동설계장치 | |
US6820242B2 (en) | Logic circuit including combined pass transistor and CMOS circuits and a method of synthesizing the logic circuit | |
Huda et al. | Optimizing effective interconnect capacitance for FPGA power reduction | |
US6938223B2 (en) | Logic circuit having a functionally redundant transistor network | |
Liu et al. | Performance driven synthesis for pass-transistor logic | |
Hsu et al. | Clock gating optimization with delay-matching | |
JP4263841B2 (ja) | 半導体集積回路及び半導体集積回路設計方法 | |
Razavi | A Minimal-Cost Inherent-Feedback Approach for Low-Power MRF-Based Logic Gates. | |
TW452938B (en) | A logic circuit including combined pass transistor and CMOS circuits and a method of synthesizing the logic circuit | |
CN117494649A (zh) | 考虑长度匹配的快速单通量量子电路布线方法 | |
Chinnery et al. | High-Speed Logic, Circuits, Libraries and Layout | |
Parameshwara et al. | Study of power-delay characteristics of a mixed-Logic-Style Novel Adder Circuit at 90nm Gate Length | |
Aken'ova et al. | ``Soft++: An Improved Embedded FPGA Methodology for SoC Designs'' | |
VSwathi et al. | Design and Implementation of 1-Bit Hybrid Full Adder Design Using GDI Techniques | |
Grad | Analysis and implementation of binary addition in nanometer cmos technology | |
JP2001077201A (ja) | 集積回路設計方法と集積回路 | |
JPH09246502A (ja) | ゲートアレイ集積回路 | |
Joshi | Probabilistic power analysis technique for low power VLSI circuits | |
WO1998031101A1 (fr) | Circuit logique combinant un circuit a transistors a canaux et un circuit cmos, et procede mettant en oeuvre cette combinaison | |
JP2001109785A (ja) | パストランジスタ論理回路設計方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20031121 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040308 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050412 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050613 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050714 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080722 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090722 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100722 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110722 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110722 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110722 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120722 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120722 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130722 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |