JPH1040270A - 半導体集積回路及びその設計方法 - Google Patents

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

Info

Publication number
JPH1040270A
JPH1040270A JP8189570A JP18957096A JPH1040270A JP H1040270 A JPH1040270 A JP H1040270A JP 8189570 A JP8189570 A JP 8189570A JP 18957096 A JP18957096 A JP 18957096A JP H1040270 A JPH1040270 A JP H1040270A
Authority
JP
Japan
Prior art keywords
circuit
transistor
partial
logic
graph
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
Application number
JP8189570A
Other languages
English (en)
Inventor
Yasuhiro Tanaka
康弘 田中
Hiroshi Mizuno
洋 水野
Yoichiro Mae
洋一郎 前
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP8189570A priority Critical patent/JPH1040270A/ja
Publication of JPH1040270A publication Critical patent/JPH1040270A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Metal-Oxide And Bipolar Metal-Oxide Semiconductor Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】 パストランジスタ論理等の非CMOSの論理
回路方式を用いて、処理速度、回路面積及び消費電力の
優位性を確保すると共に、論理合成や自動レイアウト等
と組合せた自動設計が可能な半導体集積回路の設計手法
を提供する。 【解決手段】 論理回路をレジスタよりなるレジスタ部
と回路要素よりなる組合せ回路部とに分離した後、該組
合せ回路部を構成する回路要素よりなる複数の部分回路
を作成する。複数の部分回路のそれぞれをトランジスタ
レベルの部分回路に変換するした後、該トランジスタレ
ベルの部分回路毎に部分回路レイアウトセルを生成す
る。部分回路レイアウトセルとレジスタ部を構成する各
レジスタとを単位セルとしてセルベースのレイアウトの
配置及び配線を行なうことによりブロック全体のレイア
ウトを作成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パストランジスタ
論理を用いた半導体集積回路、及びそのレイアウト設計
方法の改良に関し、特に、セルベースの自動配置配線を
利用する設計方法、及びパストランジスタ論理を用いた
回路とCMOS論理を用いた回路とが混在する半導体集
積回路に適した設計方法に関する。
【0002】
【従来の技術】近年、演算を行なう論理としてパストラ
ンジスタ論理が用いられている。このパストランジスタ
論理は、完全なCMOS論理ではなく、入力信号をトラ
ンジスタのゲート端子のみでなく、ドレイン端子にも与
えて論理演算を行なうものであって、完全なCMOS論
理に比べて、省面積、低消費電力及び高速化等の優位性
が得られる場合がある。
【0003】このパストランジスタ論理に関しては、
米国特許第4541067号、 K.Yano,他、"A 2.8-n
s CMOS 16 ×16-b Multiplier Using Complementary Pa
ss-Transistor Logic"(IEEE Journal of Solid-State C
ircuits, Vol. 25, No.2, pp.388-395, April 1990)
(文献1)、及び A.Parameswar,他、"A High Speed,
Low Power, Swing Restored Pass-Transistor Logic Ba
sed Multiply and Accumulate Circuit for Multimedia
Applications"(Proceeding of IEEE 1994 Custom Inte
grated Circuits Conference, pp.278-281)(文献2)
等に開示されている。
【0004】また、パストランジスタ論理の回路のレイ
アウト設計をセルベースのレイアウト設計手法により行
なう手法は、K.Yano, 他、"Lean Integration: Achie
vinga Quantum Leap in Performance and Cost of Logi
c LSIs"(Proceeding of IEEE 1994 Custom Integrated
Circuits Conference, pp.603-606) (文献3)、特
開平7−130856号公報(公報1)、及び Y.Sas
aki,他、"Pass Transistor Based Gate Array Architec
ture" (1995 Symposium on VLSI Circuits Digest of T
echnical Papers, pp.123-124)(文献4)等に開示され
ている。
【0005】前記文献3及び公報1で提案されている方
法は、3種類のパストランジスタ論理のセルを準備し、
該セルの入力ピンの割り当てを変えることにより、多く
の論理回路中の論理を3種類のセルに割り当て、この3
種類のセルを従来のスタンダードセル自動配置配線ツー
ルを用いて配置配線を行なうことにより、ブロックレイ
アウトを得るものである。
【0006】また、前記文献4で提案されている手法
は、ゲートアレー手法を用いたものであって、従来のゲ
ートアレーでは、PチャネルMOSトランジスタとNチ
ャネルMOSトランジスタとの対を敷き詰めていたのに
対し、平均的なパストランジスタ論理、その出力部のア
ンプ、メモリセルで必要とされるNチャネルMOSトラ
ンジスタ数及びPチャネルMOSトランジスタ数を基に
作成されており、NチャネルMOSトランジスタ数がP
チャネルMOSトランジスタ数よりも多い下地セルを用
いている。
【0007】
【発明が解決しようとする課題】しかしながら、前記文
献1及び文献2に示される従来のパストランジスタ論理
を用いた半導体集積回路は、加算器や乗算器等の特定の
演算器に適用されるものであり、人手による設計(カス
タム設計)によりレイアウトを行なうものであって、ラ
ンダム論理を一般の論理合成等を用いて自動設計するの
は困難である。
【0008】一方、前記文献3、公報1及び文献4に示
されるレイアウト設計手法によると、ランダム論理を自
動設計できるものの、これらの従来のレイアウト設計手
法を用いて全ての回路をパストランジスタ論理で設計す
る場合には、次の問題が発生する。
【0009】まず、パストランジスタ論理では、トラン
ジスタのドレイン−ソース間で信号を伝搬させるため、
トランジスタのしきい値電圧分の電圧降下が発生するの
で、電圧降下した信号を元の電圧にまで増幅する信号増
幅用アンプが必要となる。
【0010】AND回路やOR回路等の基本論理を設け
て論理の自由度を高める場合、これらの基本論理のセル
をパストランジスタ論理を用いた回路で作成しようとす
ると、基本論理毎に前記信号増幅用アンプを付加して1
セルとするため、1セルを構成するトランジスタ数が増
えて面積が増大し、CMOS論理のセルに対する面積優
位性が無くなるという問題が発生する。逆に、AND回
路やOR回路等を複数組合せた複合論理を1セルとし、
1つの信号増幅用アンプに対するパストランジスタ論理
のトランジスタ数を多くして、信号増幅用アンプのオー
バーヘッドの低減を図る場合には、論理の自由度が低下
するので、予め非常に多くの種類のセルを準備しなけれ
ば、所望の半導体回路が得られないという問題が発生す
る。
【0011】本発明は、かかる点に鑑みてなされたもの
であり、特定の演算器のみならず、ランダム論理を用い
た回路等に対しても、パストランジスタ論理等の非CM
OSの論理回路方式を用いて、処理速度、回路面積及び
消費電力の優位性が確保できると共に、論理合成や自動
レイアウト等と組合せた自動設計が可能な半導体集積回
路の設計方法を提供することを目的とする。
【0012】
【課題を解決するための手段】前記の目的を達成するた
め、請求項1の発明は、半導体集積回路の設計方法を、
論理回路をレジスタよりなるレジスタ部と回路要素より
なる組合せ回路部とに分離する論理回路分離工程と、前
記組合せ回路部を構成する回路要素を要素とする集合に
対して、各要素が複数の部分集合に属することを許し且
つすべての要素がいずれかの部分集合に属するように複
数の部分集合を作成し、該複数の部分集合のそれぞれを
部分回路とする部分回路作成工程と、前記部分回路のそ
れぞれをトランジスタレベルの部分回路に変換するトラ
ンジスタ回路変換工程と、前記トランジスタレベルの部
分回路毎に部分回路レイアウトセルをそれぞれ生成する
部分回路レイアウト生成工程と、前記部分回路レイアウ
トセルと前記のレジスタ部を構成する各レジスタとを単
位セルとしてセルベースのレイアウトの配置及び配線を
行なうことにより、前記論理回路のレイアウトを作成す
るレイアウト配置配線工程とを備えている構成とするも
のである。
【0013】請求項1の構成により、論理回路を組合せ
回路部とレジスタ部とに分離した後、組合せ回路部から
複数の部分回路を作成し、該複数の部分回路をそれぞれ
トランジスタレベルの回路に変換し、変換されたトラン
ジスタレベルの回路のレイアウトセルに基づいて論理回
路全体のレイアウトを作成するため、部分回路をトラン
ジスタレベルの回路に変換する際に、部分回路毎に元の
論理例えばCMOS論理を他の論理例えばパストランジ
スタ論理やダイナミック論理等に置き換えることができ
る。
【0014】請求項2の発明は、請求項1の構成に、前
記部分回路作成工程は、前記複数の部分回路のそれぞれ
における入力信号数に上限の制約を設ける第1の工程
と、前記複数の部分回路のそれぞれにおける入力信号の
数が前記上限の制約を満たすように前記複数の部分集合
を作成する第2の工程とを含む構成を付加するものであ
る。
【0015】請求項2の構成により、組合せ回路部から
複数の部分回路を作成する際に、部分回路の入力信号数
に上限の制約が設けられるため、パストランジスタ論理
やダイナミック論理等のトランジスタレベルの回路の処
理速度や動作信頼性等の回路特性に影響を及ぼすトラン
ジスタ段数の上限が制約される。
【0016】請求項3の発明は、請求項2の構成に、前
記部分回路作成工程における第2の工程は、前記複数の
部分回路のそれぞれにおける入力信号の数が前記上限の
制約を満たし且つ前記複数の部分集合のそれぞれを構成
する要素の数が最大となるように、前記複数の部分集合
を作成する工程を含む構成を付加するものである。
【0017】請求項3の構成により、部分回路の入力信
号数が上限の制約を満たす範囲内で回路要素が最大とな
るような部分集合が作成されるため、部分回路をパスト
ランジスタ論理やダイナミック論理等のトランジスタレ
ベルの回路に変換する際に、入力信号数により決まるト
ランジスタ段数が制約された範囲内で、より多くのゲー
トを含む回路をより少ないトランジスタ数で実現できる
可能性が増す。
【0018】請求項4の発明は、請求項1の構成に、前
記部分回路作成工程は、前記複数の部分回路のそれぞれ
における入力信号数を表す項と、前記複数の部分集合の
それぞれを構成する要素の数を表す項とを含む評価関数
を作成する第1の工程と、前記評価関数の値が最小とな
るように前記複数の部分集合を作成する第2の工程とを
含む構成を付加するものである。
【0019】請求項4の構成により、部分回路における
入力信号数を表す項と、部分集合を構成する要素の数を
表す項とを含む評価関数の値が最小となるように部分集
合を作成するため、パストランジスタ論理やダイナミッ
ク論理等のトランジスタレベルの回路の処理速度や動作
信頼性等の回路特性に影響を及ぼすトランジスタ段数の
上限が制約されると共に、トランジスタ段数が制約され
た範囲内で、より多くのゲートを含む回路をより少ない
トランジスタ数で実現できる可能性が増す。
【0020】請求項5の発明は、請求項1の構成に、前
記部分回路作成工程は、前記複数の部分回路の境界とな
る複数個の信号を指定する第1の工程と、前記複数個の
信号が各部分回路の境界となり且つ各部分回路の出力信
号及び前記複数個の信号を生成するために必要な回路要
素が含まれるように前記複数の部分集合を作成する第2
の工程とを含む構成を付加するものである。
【0021】請求項5の構成により、組合せ回路部から
複数の部分回路を作成する際、指定された複数個の信号
が各部分回路の境界となり且つ各部分回路の出力信号及
び指定された複数個の信号を生成するために必要な回路
要素が含まれるように部分集合を作成するため、論理コ
ーン毎に部分集合が作成されるので、1つの出力信号を
作成するのに必要な入力信号及び回路要素が容易に分か
る。
【0022】請求項6の発明は、請求項5の構成に、前
記部分回路作成工程における第1の工程は、前記複数個
の信号としてファンアウト数が所定数以上である信号を
指定する工程を含む構成を付加するものである。
【0023】請求項6の構成により、ファンアウト数が
多い信号を指定して論理コーンを作成するため、ファン
アウト数が多いため駆動するのに大きいバッファを必要
とする論理コーンが容易に分かる。
【0024】請求項7の発明は、請求項5の構成に、前
記部分回路作成工程における第2の工程は、前記第1の
工程において指定した複数の信号以外の信号に出力信号
が含まれないように前記複数の部分集合を作成する工程
を含む構成を付加するものである。
【0025】請求項7の構成により、論理コーン作成時
に指定した出力信号以外の出力信号が含まれないように
して論理コーンを作成するため、部分回路の出力信号は
1つに限定される。
【0026】請求項8の発明は、請求項1の構成に、前
記部分回路作成工程は、一の前記回路要素が属する部分
集合の数に上限の制約を設ける第1の工程と、一の前記
回路要素が属する部分集合の数が前記上限の制約を満た
すように前記複数の部分集合を作成する第2の工程とを
含む構成を付加するものである。
【0027】請求項8の構成により、論理コーン作成時
に各回路要素が属する部分集合の数の上限の制約を設け
るため、冗長な部分回路が低減する。
【0028】請求項9の発明は、請求項1の構成に、前
記部分回路作成工程は、前記部分集合を構成する回路要
素の数に下限の制約を設ける第1の工程と、作成された
複数の部分集合のそれぞれを構成する回路要素の数が前
記下限の制約を満たさない要素少数部分集合があると
き、該要素少数部分集合よりなる部分回路のファンアウ
ト数に相当する数の前記要素少数部分集合よりなる要素
少数部分回路を作成する第2の工程と、前記要素少数部
分回路を、該要素少数部分回路の出力信号を入力とする
部分集合よりなる部分回路に結合する第3の工程とを含
む構成を付加するものである。
【0029】請求項9の構成により、作成された部分集
合を構成する回路要素の数が下限の制約を満たさない要
素少数部分集合があるときには、該要素少数部分集合よ
りなる要素少数部分回路を作成し、作成した要素少数部
分回路を、該要素少数部分回路の出力信号を入力とする
部分回路に結合するため、部分回路を他の論理例えばパ
ストランジスタ論理に書き換えたときにトランジスタ数
が少なくなる可能性が大きくなる。
【0030】請求項10の発明は、請求項1の構成に、
前記トランジスタ回路変換工程は、前記部分回路作成工
程において作成された複数の部分回路毎に、当該部分回
路の論理関数の出力信号を根にすると共に当該部分回路
の入力信号を枝とする二分決定グラフを作成する第1の
工程と、前記複数の部分回路のそれぞれを前記二分決定
グラフにより論理圧縮処理を行なう第2の工程と、論理
圧縮処理が行なわれた各部分回路をトランジスタレベル
の部分回路に変換する第3の工程とを含む構成を付加す
るものである。
【0031】請求項10の構成により、部分回路の論理
関数の出力信号を根にすると共に当該部分回路の入力信
号を枝とする二分決定グラフを作成し、部分回路を二分
決定グラフにより論理圧縮処理を行ない、論理圧縮処理
された部分回路をトランジスタレベルの部分回路に変換
するため、部分回路をパストランジスタ論理等の回路に
変換する処理を所定の手順に従って行なうことができ
る。
【0032】請求項11の発明は、請求項10の構成
に、前記トランジスタ回路変換工程における第1の工程
は、前記組合せ回路部の入力からの遅延時間が相対的に
大きい入力信号を前記二分決定グラフの根側の枝に割り
当てると共に、前記組合せ回路部の入力からの遅延時間
が相対的に小さい入力信号を前記二分決定グラフの葉側
の枝に割り当てることにより、前記二分決定グラフを作
成する工程を含み、前記トランジスタ回路変換工程にお
ける第3の工程は、論理圧縮処理が行なわれた各部分回
路をパストランジスタ論理を用いたトランジスタレベル
の部分回路に変換する工程を含む構成を付加するもので
ある。
【0033】請求項11の構成により、組合せ回路部の
入力からの遅延時間が相対的に大きい入力信号を二分決
定グラフの根側の枝に割り当てると共に、組合せ回路部
の入力からの遅延時間が相対的に小さい入力信号を二分
決定グラフの葉側の枝に割り当てることにより二分決定
グラフを作成するため、部分回路への入力の遅延時間を
考慮した二分決定グラフを作成することができる。
【0034】請求項12の発明は、請求項1の構成に、
前記トランジスタ回路変換工程は、前記複数の部分回路
のそれぞれをパストランジスタ論理を用いたトランジス
タレベルの部分回路に変換する際の当該トランジスタレ
ベルの回路における入力信号数の下限の制約を設ける第
1の工程と、前記複数の部分回路のそれぞれにおける入
力信号の数が前記下限の制約を満たしているか否かを判
断し、入力信号数が前記下限の制約を満たしているとき
には前記部分回路をパストランジスタ論理を用いたトラ
ンジスタレベルの回路に変換する一方、入力信号数が前
記下限の制約を満たしていないときには前記部分回路を
CMOS論理を用いたトランジスタレベルの回路に変換
する第2の工程とを含む構成を付加するものである。
【0035】請求項12の構成により、部分回路におけ
る入力信号の数がトランジスタレベルの回路における入
力信号数の下限の制約を満たしているときには部分回路
をパストランジスタ論理を用いたトランジスタレベルの
回路に変換する一方、部分回路における入力信号の数が
トランジスタレベルの回路における入力信号数の下限の
制約を満たしていないときには部分回路をCMOS論理
を用いたトランジスタレベルの回路に変換するため、パ
ストランジスタ論理を用いた回路において入力信号数が
少ないときには信号増幅器の面積割合が増大してCMO
S論理に対する面積優位性が得られなくなる事態を回避
できる。
【0036】請求項13の発明は、請求項1の構成に、
前記トランジスタ回路変換工程は、前記複数の部分回路
のそれぞれをパストランジスタ論理を用いたトランジス
タレベルの回路に変換したときの第1のトランジスタ数
と、前記複数の部分回路のそれぞれをCMOS論理を用
いたトランジスタレベルの回路に変換したときの第2の
トランジスタ数とをそれぞれ算出する第1の工程と、前
記第1のトランジスタ数が前記第2のトランジスタ数よ
りも少ないときには前記部分回路をパストランジスタ論
理を用いたトランジスタレベルの回路に変換する一方、
前記第2のトランジスタ数が前記第1のトランジスタ数
よりも少ないときには前記部分回路をCMOS論理を用
いたトランジスタレベルの回路に変換する第2の工程と
を含む構成を付加するものである。
【0037】請求項13の構成により、部分回路をパス
トランジスタ論理を用いたトランジスタレベルの回路に
変換したときの第1のトランジスタ数と、部分回路をC
MOS論理を用いたトランジスタレベルの回路に変換し
たときの第2のトランジスタ数と比較し、第1のトラン
ジスタ数が少ないときにはパストランジスタ論理を用い
たトランジスタレベルの回路に変換する一方、第2のト
ランジスタ数が少ないときにはCMOS論理を用いたト
ランジスタレベルの回路に変換するため、パストランジ
スタ論理の面積優位性がある部分回路にはパストランジ
スタ論理を用いる一方、パストランジスタ論理の面積優
位性がない部分回路にはCMOS論理を用いることがで
きる。
【0038】請求項14の発明は、請求項1の構成に、
前記トランジスタ回路変換工程は、前記複数の部分回路
のそれぞれをパストランジスタ論理を用いてトランジス
タレベルの部分回路に変換する際の当該トランジスタレ
ベルの回路におけるパストランジスタのソース端子とド
レイン端子との直列接続段数の上限の制約を設ける第1
の工程と、前記複数の部分回路のそれぞれをパストラン
ジスタ論理を用いたトランジスタレベルの回路に変換す
る第2の工程と、前記組合せ回路部の入力から出力まで
のすべての信号経路におけるパストランジスタのソース
端子とドレイン端子との直列接続段数をそれぞれ算出す
る第3の工程と、算出された直列接続段数が前記上限の
制約を満たさない信号経路におけるパストランジスタ論
理を用いたトランジスタレベルの回路の少なくとも一部
分をCMOS論理を用いたトランジスタレベルの回路に
置き換える第4の工程とを含む構成を付加するものであ
る。
【0039】請求項14の構成により、組合せ回路部の
入力から出力までの信号経路におけるパストランジスタ
のソース端子とドレイン端子との直列接続段数が上限の
制約を満たさないときには、パストランジスタ論理を用
いたトランジスタレベルの回路の少なくとも一部分をC
MOS論理を用いたトランジスタレベルの回路に置き換
えるため、つまり、変換されたトランジスタレベルのド
レイン端子−ソース端子の直列接続段数が大きく回路の
少なくとも一部分はCMOS論理を用いた回路に置き換
えられるため、パストランジスタ論理を用いると高速に
なる部分はパストランジスタ論理を用い、パストランジ
スタ論理を用いても高速にならない部分はCMOS論理
を用いることができる。
【0040】請求項15の発明は、請求項1の構成に、
前記トランジスタ回路変換工程は、前記複数の部分回路
のそれぞれをパストランジスタ論理を用いたトランジス
タレベルの回路に変換する第1の工程と、変換されたト
ランジスタレベルの部分回路のファンアウト先にトラン
ジスタのゲート端子への入力が1個以上存在するときに
は、変換されたトランジスタレベルの部分回路の出力に
信号増幅器を挿入する第2の工程とを含む構成を付加す
るものである。
【0041】請求項15の構成により、パストランジス
タ論理を用いたトランジスタレベルの回路に変換された
部分回路のファンアウト先にトランジスタのゲート端子
への入力が1個以上存在するときには、変換されたトラ
ンジスタレベルの部分回路の出力に信号増幅器を挿入す
るため、パストランジスタ論理を用いた回路においてド
レイン端子−ソース端子間を信号が通過することにより
電圧降下が発生し、入力がトランジスタのゲート端子に
加えられるときに十分な動作が行なえなくなる事態を回
避することができる。
【0042】請求項16の発明は、請求項1の構成に、
前記トランジスタ回路変換工程は、前記複数の部分回路
のそれぞれをパストランジスタ論理を用いたトランジス
タレベルの回路に変換する第1の工程と、変換されたト
ランジスタレベルの部分回路のそれぞれの入力から出力
までの信号経路におけるパストランジスタのソース端子
とドレイン端子との最大直列接続段数をそれぞれ算出す
る第2の工程と、前記最大直列接続段数が所定数以上の
場合、前記最大直列段数が相対的に大きいトランジスタ
レベルの部分回路には増幅能力が相対的に大きい信号増
幅器を挿入すると共に、前記最大直列段数が相対的に小
さいトランジスタレベルの部分回路には増幅能力が相対
的に小さい信号増幅器を挿入する第3の工程とを含む構
成を付加するものである。
【0043】請求項16の構成により、パストランジス
タ論理を用いたトランジスタレベルの回路に部分回路の
入力から出力までの信号経路におけるパストランジスタ
のソース端子とドレイン端子との最大直列接続段数が所
定数以上の場合、最大直列段数が大きいトランジスタレ
ベルの部分回路には増幅能力が大きい信号増幅器を挿入
すると共に、最大直列段数が小さいトランジスタレベル
の部分回路には増幅能力が小さい信号増幅器を挿入する
ため、つまりパストランジスタのドレイン端子−ソース
端子間の最大の直列接続段数に応じて増幅能力の異なる
信号増幅器を挿入するため、増幅能力は高いが面積の大
きい信号増幅器を全ての部分回路の出力に付加すること
に起因して回路全体の面積が増大する事態を回避するこ
とができる。
【0044】請求項17の発明は、請求項1の構成に、
前記部分回路レイアウト生成工程は、複数種類の副セル
のレイアウトをそれぞれ副セルライブラリとして準備す
る第1の工程と、変換されたトランジスタレベルの部分
回路に対して1個以上の前記の副セルライブラリの組合
せを割り当てることにより前記部分回路レイアウトセル
を生成する第2の工程とを含み、前記レイアウト配置配
線工程は、変換されたトランジスタレベルの部分回路に
割り当てられた前記副セルライブラリの配置及び配線を
行なうことにより、前記論理回路のレイアウトを作成す
る工程を含む構成を付加するものである。
【0045】請求項17の構成により、複数種類の副セ
ルのレイアウトを副セルライブラリとして準備し、変換
されたトランジスタレベルの部分回路に1個以上の副セ
ルライブラリの組合せを割り当てることにより部分回路
レイアウトセルを生成するため、部分回路は予め準備さ
れている副セルライブラリの配置配線により作成され
る。
【0046】請求項18の発明は、請求項17の構成
に、前記部分回路レイアウト生成工程における第2の工
程は、前記副セルライブラリの優先順位を予め設ける優
先順位設定工程と、変換されたトランジスタレベルの部
分回路のネットリストから、該ネットリスト中の信号線
を節点とし且つトランジスタを枝とする第1のグラフを
作成すると共に、前記副セルライブラリのネットリスト
から、該ネットリスト中の信号線を節点とし且つトラン
ジスタを枝とする第2のグラフを作成するグラフ作成工
程と、前記第2のグラフのうちから前記第1のグラフを
構成する部分グラフと同形のグラフを前記優先順位に基
づいて検索することにより、前記第1のグラフから1個
以上の前記第2のグラフの組合せよりなる組み合わせグ
ラフを作成し、該組み合わせグラフを前記第1のグラフ
と対応する前記トランジスタレベルの部分回路に割り当
てるグラフ割り当て工程とを含む構成を付加するもので
ある。
【0047】請求項18の構成により、変換されたトラ
ンジスタレベルの部分回路のネットリスト及び副セルラ
イブラリのネットリストから、信号線を節点とし且つト
ランジスタを枝とする第1のグラフ及び第2のグラフを
作成し、第1のグラフから1個以上の第2のグラフの組
合せよりなる組み合わせグラフを作成し、該組み合わせ
グラフを第1のグラフと対応するトランジスタレベルの
部分回路に割り当てるため、副セルライブラリの数を抑
制することができる。
【0048】請求項19の発明は、請求項18の構成
に、前記第2の工程におけるグラフ作成工程は、木構造
よりなる前記第1のグラフ及び第2グラフを作成する工
程を含み、前記第2の工程におけるグラフ割り当て工程
は、前記第1のグラフに基づき各節点の根からの相対的
距離をインオーダに並べた第1のリストを作成すると共
に、前記第2のグラフに基づき各節点の根からの相対的
距離をインオーダに並べた第2のリストを作成し、作成
された第1のリストと第2のリストとを比較して前記第
1のリストを前記第2のリストの組合せとして構成する
ことにより前記組合せグラフを作成する工程を含む構成
を付加するものである。
【0049】請求項19の構成により、木構造の第1の
グラフに基づきインオーダの第1のリストを作成すると
共に木構造の第2のグラフに基づきインオーダの第2の
リストを作成し、第1のリストを第2のリストの組合せ
として構成するため、第1のグラフから1個以上の第2
のグラフの組合せよりなる組み合わせグラフを作成する
処理が容易且つ的確になる。
【0050】請求項20の発明は、請求項18の構成
に、前記第2の工程におけるグラフ作成工程は、木構造
よりなる前記第1のグラフ及び第2グラフを作成する工
程と、作成された第1のグラフに閉路が存在するときに
は、該閉路を構成する節点のうちの1個の節点を複数個
に分割して前記の閉路を切断して前記第1のグラフを木
構造の複数の部分グラフに分割する工程とを含み、前記
第2の工程におけるグラフ割り当て工程は、前記複数の
部分グラフのそれぞれに基づき1個以上の前記第2のグ
ラフの組合せよりなる部分組み合わせグラフを作成し、
該部分組み合わせグラフを前記第1のグラフと対応する
前記トランジスタレベルの部分回路にそれぞれ割り当て
る工程を含む構成を付加するものである。
【0051】請求項20の構成により、第1のグラフに
閉路が存在するときには、該閉路を構成する節点のうち
の1個の節点を複数個に分割して閉路を切断することに
より、第1のグラフを木構造の複数の部分グラフに分割
するため、第1のグラフから1個以上の第2のグラフの
組合せよりなる組み合わせグラフを作成する処理が容易
且つ的確になる。
【0052】請求項21の発明は、請求項18の構成
に、前記第2の工程におけるグラフ割り当て工程は、前
記第1のグラフに基づき1個以上の前記第2のグラフの
組合せよりなる組み合わせグラフを作成する際、該組み
合わせグラフが複数種類作成されたときには、該複数種
類の組合せグラフのうち副セルライブラリの合計面積が
最小となるものを選択し、選択された部分組み合わせグ
ラフを前記第1のグラフと対応する前記トランジスタレ
ベルの部分回路にそれぞれ割り当てる工程を含む構成を
付加するものである。
【0053】請求項21の構成により、第1のグラフに
基づき1個以上の第2のグラフの組合せよりなる組み合
わせグラフを作成する際、複数種類の組合せグラフのう
ち副セルライブラリの合計面積が最小となるものを選択
して第1のグラフに割り当てるため、第1のグラフには
副セルライブラリの合計面積が最小となる組み合わせグ
ラフが割り当てられる。
【0054】請求項22の発明は、パストランジスタ論
理を用いた論理回路を備えた半導体集積回路を対象と
し、前記論理回路が該論理回路を構成するすべてのトラ
ンジスタのゲート端子で区切られてなる複数の部分回路
と、前記複数の部分回路のそれぞれを構成し、電源線又
は接地線よりなる入力線に接続される入力側トランジス
タと、出力線に接続される出力側トランジスタと、前記
入力側トランジスタ及び前記出力側トランジスタとソー
ス端子又はドレイン端子が互いに接続された中間トラン
ジスタとからなるトランジスタ群とを備え、前記トラン
ジスタ群を構成するトランジスタのうち、出力側に位置
するトランジスタの飽和電流値は入力側に位置するトラ
ンジスタの飽和電流値以下に設定されている構成とする
ものである。
【0055】請求項22の構成により、入力側トランジ
スタ、出力側トランジスタ及び中間トランジスタからな
るトランジスタ群を構成するトランジスタのうち、出力
側のトランジスタの飽和電流値は入力側のトランジスタ
の飽和電流値以下であり、パストランジスタ論理部にお
いて信号はソース端子とドレイン端子間の容量及び配線
容量を飽和させながら伝搬し、トランジスタを通過する
電流は入力側のトランジスタよりも出力側のトランジス
タにおいて小さくなる現象と対応しているので、パスト
ランジスタ論理部におけるトランジスタのゲート幅の総
和を変えることなく、各トランジスタにおける飽和電流
値を大きくすることができる。
【0056】請求項23の発明は、パストランジスタ論
理を用いた論理回路と、トランジスタよりなり前記論理
回路に入力される信号線を駆動する信号増幅器とを備え
た半導体集積回路を対象とし、前記信号増幅器を構成す
る最終段のトランジスタの飽和電流値は、前記論理回路
を構成し且つドレイン端子が前記信号増幅器の出力に接
続されているすべてのトランジスタの飽和電流値の合計
値以上に設定されている構成とするものである。
【0057】請求項23の構成により、信号増幅器を構
成する最終段のトランジスタの飽和電流値は、ドレイン
端子が信号増幅器の出力に接続されているすべてのトラ
ンジスタの飽和電流値の合計値以上に設定されているた
め、信号伝搬速度をパストランジスタ回路の性能の限界
まで引き出すことができる。
【0058】
【発明の実施の形態】以下、本発明の各実施形態につい
て、図面を参照しながら説明する。
【0059】(第1の実施の形態)図1は第1の実施形
態に係る半導体集積回路設計方法を示すフローチャート
であって、図1において、101は論理回路のデータ入
力を行なうデータ入力処理、102はデータ入力処理1
01で読み込まれた論理回路を組合せ回路部とレジスタ
部とに分離するレジスタ部分離処理、103はレジスタ
部分離処理102によって分離された組合せ回路部の各
回路構成要素が複数の部分集合に属することを許して組
合せ回路部から複数の部分集合を作成し各部分集合を部
分回路とする組合せ部分回路作成処理、104は組合せ
部分回路作成処理103で作成された組合せ回路の部分
回路を部分回路毎にトランジスタレベルの回路に変換す
るトランジスタ回路変換処理、105はトランジスタ回
路変換処理104で作成されたトランジスタレベルの回
路からレイアウトを生成する部分回路レイアウト生成処
理、106は部分回路レイアウト生成処理105によっ
て生成された部分回路のレイアウトセルとレジスタのレ
イアウトセルとを入力としてセルベースの配置配線処理
を行なってレイアウトを生成する配置配線処理、107
は配置配線処理106によって作成されたレイアウトデ
ータを出力するデータ出力処理である。
【0060】図2は第1の実施形態に係るハードウエア
の構成図の一例を示しており、図2において、201は
処理されたあらゆる情報を見るためのディスプレイ装
置、202は設計者があらゆる情報や処理命令を入力す
るためのキーボード、203はあらゆる処理を行なう中
央演算処理装置、204は各情報を格納する記憶装置で
ある。
【0061】以下、第1の実施形態に係る半導体集積回
路設計方法における詳細な処理について、図1のフロー
チャートに基づき図3に示す論理回路を用いて説明す
る。
【0062】図3は、第1の実施形態の入力となる論理
回路の一例としてのゲートレベルのネットリストであっ
て、図3において、301はクロック入力端子、302
はデータ入力端子、303はデータ出力端子、304は
レジスタセル、305、306、307、308、30
9、310、311、312、313は論理積ゲートセ
ル、314、315、316は論理和ゲートセル、31
7は否定ゲートセル、318は排他的論理和ゲートセ
ル、319はレジスタ部、320は組合せ回路部であ
る。
【0063】まず、データ入力処理101において、記
憶装置204又はキーボード202より図3に示す論理
回路が入力される。但し、ここで入力される論理回路の
データにはレジスタ部319及び組合せ回路部320の
情報はない。
【0064】次に、レジスタ部分離処理102によっ
て、データ入力処理101に読み込まれた論理回路をレ
ジスタ部と組合せ回路部とに分離する。図3に示す論理
回路はレジスタ部319と組合せ回路部320とに分離
される。
【0065】次に、組合せ部分回路作成処理103によ
って、組合せ回路部320から1つ以上の組合せ部分回
路を作成する。この組合せ部分回路の作成処理として
は、以下の3つの評価方法が考えられる。
【0066】<組合せ部分回路作成処理における第1の
評価方法>組合せ部分回路作成処理103における第1
の評価方法は、部分回路の入力信号数の上限制約を与え
る方法である。
【0067】部分回路の入力信号数は、該部分回路を例
えばパストランジスタ論理のトランジスタレベルの回路
に変換する際のトランジスタ段数の上限を示すものであ
る。例えば入力信号数がnの場合、部分回路をパストラ
ンジスタ論理のトランジスタレベルの回路に変換する
と、最大で入力信号数よりも1少ない(n−1)段で回
路を組めることが分かっている。また、トランジスタの
段数が長くなればなるほど速度や動作信頼性等の回路性
能に劣化が生じる。そこで、組合せ部分回路作成処理1
03において入力信号数の上限制約を与え、この上限制
約を満足するように部分回路の作成を行なう。
【0068】図3に示す論理回路の組合せ回路部320
に対して入力信号数の上限制約を4とし、作成される部
分回路をゲートの集合で示すと、(数1)に示す5つの
部分集合が作成される。各部分集合1〜5が成す部分回
路の入力信号数は、(部分集合1の入力信号数)=4、
(部分集合2の入力信号数)=4、(部分集合3の入力
信号数)=4、(部分集合4の入力信号数)=3、(部
分集合5の入力信号数)=3となる。尚、(数1)は作
成される部分集合の一例であり、これ以外の部分集合を
作成することも可能である。
【0069】
【数1】部分集合1={論理積ゲート305,論理積ゲ
ート306,論理和ゲート314} 部分集合2={論理積ゲート307,論理積ゲート30
8,論理和ゲート315} 部分集合3={論理積ゲート310,論理積ゲート31
1,論理和ゲート316} 部分集合4={論理積ゲート313,排他的論理和ゲー
ト318} 部分集合5={論理積ゲート309,否定ゲート31
7,論理積ゲート312} 図3に示す論理回路の組合せ回路部320に対して入力
信号数の上限制約を5とし、作成される部分回路をゲー
トの集合で示すと、(数2)の4つの部分集合が作成さ
れる。各部分集合6〜9が成す部分回路の入力信号数
は、(部分集合6の入力信号数)=5、(部分集合7の
入力信号数)=5、(部分集合8の入力信号数)=4、
(部分集合9の入力信号数)=3となる。尚、(数2)
は作成される部分集合の一例であり、これ以外の部分集
合を作成することも可能である。
【0070】
【数2】部分集合6={論理積ゲート305,論理積ゲ
ート306,論理和ゲート314,論理積ゲート30
9} 部分集合7={論理積ゲート307,論理積ゲート30
8,論理和ゲート315,否定ゲート317,論理積ゲ
ート312} 部分集合8={論理積ゲート310,論理積ゲート31
1,論理和ゲート316} 部分集合9={論理積ゲート313,排他的論理和ゲー
ト318} <組合せ部分回路作成処理における第2の評価方法>組
合せ部分回路作成処理103における第2の評価方法
は、入力信号数が同じときには構成要素が最も多い部分
集合を選択する方法である。
【0071】前記のようにパストランジスタ論理のトラ
ンジスタレベルの回路におけるトランジスタ段数の上限
は入力信号数で示され、部分集合内により多くのゲート
を含む方が回路全体から見たトランジスタ数が少なくな
る可能性がある。図3に示す論理回路の組合せ回路部3
20に対して入力信号数の上限制約を4とし、第2の評
価方法を適用すると、部分集合3と部分集合4とが1つ
の部分集合となり、(数3)に示す4つの部分集合が作
成されることになる。部分集合Aが成す部分回路の入力
信号数は、(部分集合Aの入力信号数)=4となる。
【0072】
【数3】部分集合1={論理積ゲート305,論理積ゲ
ート306,論理和ゲート314} 部分集合2={論理積ゲート307,論理積ゲート30
8,論理和ゲート315} 部分集合A=部分集合3U部分集合4 ={論理積ゲート310,論理積ゲート311,論理和
ゲート316,論理積ゲート313,排他的論理和ゲー
ト318} 部分集合5={論理積ゲート309,否定ゲート31
7,論理積ゲート312} <組合せ部分回路作成処理における第3の評価方法>組
合せ部分回路作成処理103における第3の評価方法
は、評価関数を用いる方法である。
【0073】第1及び第2の評価方法における複数の評
価項目を一度に評価するために評価方法を関数で表すも
のである。例えば、部分集合Sに対して、第1の評価方
法の評価対象である入力信号数の上限制約を越えた入力
信号の数をN(S)で表し、第2の評価方法の評価対象
である構成要素数をM(S)で表し、評価関数C(S)
を(数4)の式で表し、組合せ回路部全体の構成要素か
らなる集合Uの元をすべて含む集合族を作成するとき
に、全部分集合の評価関数C(S)の和F(U)の値が
最も小さくなる集合族を求める方法である。(数4)に
おいてα、βはそれぞれ定数である。
【0074】
【数4】 C(S)=α×N(S)−β×M(S)×M(S) 図3の回路についてC(S)の計算例を示す。入力信号
数の上限制約を4、定数αを100、βを2とすると、
(数1)〜(数3)に示された各部分集合の評価関数値
C(S)は(数5)のようになる。
【0075】
【数5】 C(部分集合1)=100×0−2×3×3=−18 C(部分集合2)=100×0−2×3×3=−18 C(部分集合3)=100×0−2×3×3=−18 C(部分集合4)=100×0−2×2×2=−8 C(部分集合5)=100×0−2×3×3=−18 C(部分集合6)=100×1−2×4×4=68 C(部分集合7)=100×2−2×5×5=150 C(部分集合8)=100×0−2×3×3=−18 C(部分集合9)=100×0−2×2×2=−8 C(部分集合A)=100×0−2×5×5=−50 (数1)〜(数3)に示された集合族の評価関数値C
(S)の和F(U)は次の(数6)の値になる。
【0076】
【数6】 F({部分集合1,部分集合2,部分集合3,部分集合4,部分集合5}) =C(部分集合1)+C(部分集合2)+C(部分集合3) +C(部分集合4)+C(部分集合5) =−18−18−18−8−18=−80 F({部分集合6,部分集合7,部分集合8,部分集合9}) =C(部分集合6)+C(部分集合7)+C(部分集合8) +C(部分集合9) =68+150−18−8=192 F({部分集合1,部分集合2,部分集合A,部分集合5}) =C(部分集合1)+C(部分集合2)+C(部分集合A) +C(部分集合5) =−18−18−50−18=−104 このように(数1)〜(数3)の集合族の評価値が計算
され、最も値の小さい(数3)の集合族が選択されるこ
とになる。尚、今回評価関数計算の候補となる集合族は
こちらで指定したが、これに代えて、元の集合からラン
ダムに作成する方法や、可能性のあるすべての集合族に
対して行なう方法もある。
【0077】次に、トランジスタ回路変換処理104に
よって各部分集合からなる組合せ回路をトランジスタレ
ベルの回路に変換する。
【0078】例えば、前記の部分集合1からなる組合せ
回路は図4(a)のようになる。この組合せ回路をパス
トランジスタ論理によるトランジスタレベルの回路に変
換すると図4(b)のようになる。図4(b)において
401はNチャネルトランジスタ、402は電源端子、
403は接地端子である。図4(a)と図4(b)とに
おいて、各信号名はそれぞれ対応しており、同じ符号は
同じ信号を表している。尚、トランジスタレベルの回路
を生成するための具体的な方法については、第4の実施
形態において説明する。
【0079】次に、部分回路レイアウト生成処理105
によってトランジスタレベルの回路からマスク図を生成
する。
【0080】図5は図4(b)に示す回路と対応するマ
スク図を示しており、図5において、501はソース領
域及びドレイン領域を構成する拡散層、502はゲート
領域を構成するポリシリコン層、503は第1の金属
層、504は電源端子、505は接地端子、506は信
号入力端子、507は信号出力端子、508はポリシリ
コン層502と第1の金属層503とを接続するコンタ
クト層、509は拡散層501と第1の金属層503と
を接続するコンタクト層である。図5における端子名は
図4(b)における端子名とそれぞれ対応している。
尚、トランジスタレベルの回路からレイアウトセルを生
成するための具体的な方法については、第11の実施形
態において説明する。
【0081】次に、配置配線処理106によってブロッ
ク全体のレイアウトを作成する。この場合、部分回路レ
イアウト生成処理105によって生成されるレイアウト
セルを標準セルと同規格で生成し、レジスタセルを標準
セルタイプのものを用いることにより、配置配線処理1
06は標準セル方式を利用することができる。
【0082】次に、データ出力処理107によって作成
されたレイアウトデータをディスプレイ装置201又は
記憶装置204に出力する。
【0083】以上説明したように、第1の実施形態に係
る半導体集積回路設計方法によると、論理回路を組合せ
回路部320とレジスタ部319とに分離し、組合せ回
路部320からさらにいくつかの部分回路を作成し、部
分回路をトランジスタレベルの回路に変換し、トランジ
スタレベルの部分回路のレイアウトセルを作成し、これ
に基づき論理回路全体のレイアウトデータを作成するこ
とが可能になる。この設計方法を用いることにより、組
合せ回路を一度トランジスタレベルに変換するときに、
元の論理例えばCMOS論理から他の論理例えばパスト
ランジスタ論理やダイナミック論理等に置き換えること
が可能となり、よりデバイス数の少ない論理方式を選択
できるので、作成されるブロックの面積、処理速度及び
消費電力を小さくすることが可能となる。
【0084】組合せ部分回路作成処理103において、
第1の評価方法、つまり部分回路の入力信号数の上限制
約を与える方法を用いると、部分回路をパストランジス
タ論理やダイナミック論理等のトランジスタレベルの回
路に変換する際に、速度や動作信頼性といった回路の性
能に関わるトランジスタ段数の上限を規定することが可
能となる。
【0085】組合せ部分回路作成処理103において、
第2の評価方法、つまり入力信号数が同じときには構成
要素が最も多い部分集合を選択する方法を用いると、部
分回路をパストランジスタ論理やダイナミック論理等の
トランジスタレベルの回路に変換する際、トランジスタ
段数の上限は入力信号数によって決まるため、より多く
のゲートを含む回路をより少ないトランジスタ数で実現
できる可能性が増えるので、結果として同じ機能で回路
面積、処理速度及び消費電力の小さい回路を作成するこ
とが可能となる。
【0086】組合せ部分回路作成処理103において、
第3の評価方法、つまり評価関数を用いる方法を用いる
と、組合せ部分回路作成処理103を行なう際に、第1
の評価方法及び第2の評価方法を組合せて一度に評価す
ることが可能になるので、回路面積、処理速度及び消費
電力の面でより良い解を発見することが可能となる。
【0087】(第2の実施の形態)以下、第2の実施形
態に係る半導体集積回路設計方法における詳細な処理に
ついて、図1のフローチャートに基づき図6に示す論理
回路を用いて説明する。第2の実施形態を実現するハー
ドウエア構成については、第1の実施形態と同様、図2
に示すものを用いる。
【0088】図6は、第2の実施形態の入力となる論理
回路の一例としてのゲートレベルのネットリストを示し
ており、図6において、601はクロック入力端子、6
02はデータ入力端子、603はデータ出力端子、60
4はレジスタセル、605、606、607、608、
609、610、611、612、613、614は論
理積ゲートセル、615、616、617は論理和ゲー
トセル、618はレジスタ部、619は組合せ回路部で
ある。
【0089】まず、データ入力処理101において、記
憶装置204又はキーボード202より図6に示す論理
回路が入力される。但し、ここで入力される論理回路の
データにはレジスタ部618及び組合せ回路部619の
情報はない。
【0090】次に、レジスタ部分離処理102によっ
て、データ入力処理101に読み込まれた論理回路をレ
ジスタ部と組合せ回路部とに分離する。図6に示す論理
回路はレジスタ部618と組合せ回路部619とに分離
される。
【0091】次に、組合せ部分回路作成処理103によ
って、組合せ回路部619から1つ以上の組合せ部分回
路を作成する。以下、この組合せ部分回路作成処理10
3について図13のフロー図に沿って説明する。
【0092】<組合せ部分回路作成処理における第1段
階の処理>まず、論理コーンの作成1301において、
第1段階の処理として、論理コーン毎に部分集合を作成
する。論理コーンとは、組合せ回路中の任意の出力信号
と、該出力信号を生成するための入力信号と、これら入
力信号と出力信号との間の回路構成要素と、該回路構成
要素間の接続情報とからなる論理回路である。例えば、
図6における論理積ゲート612の出力信号を元に論理
コーンを作成し、作成された論理コーンを論理ゲートの
集合で記述すると(数7)に示す13通りの集合が考え
られる。
【0093】
【数7】集合1={論理積ゲート612} 集合2={論理積ゲート612,論理和ゲート615} 集合3={論理積ゲート612,論理積ゲート611} 集合4={論理積ゲート612,論理和ゲート615,
論理積ゲート611} 集合5={論理積ゲート612,論理和ゲート615,
論理積ゲート605} 集合6={論理積ゲート612,論理和ゲート615,
論理積ゲート606} 集合7={論理積ゲート612,論理積ゲート611,
論理積ゲート605} 集合8={論理積ゲート612,論理積ゲート611,
論理積ゲート606} 集合9={論理積ゲート612,論理和ゲート615,
論理積ゲート605,論理積ゲート606} 集合10={論理積ゲート612,論理積ゲート61
1,論理積ゲート605,論理積ゲート606} 集合11={論理積ゲート612,論理和ゲート61
5,論理積ゲート611,論理積ゲート605} 集合12={論理積ゲート612,論理和ゲート61
5,論理積ゲート611,論理積ゲート606} 集合13={論理積ゲート612,論理和ゲート61
5,論理積ゲート611,論理積ゲート605,論理積
ゲート606} ここで、図6に示す論理回路の回路要素を元とする集合
に対し、すべての元をいずれかの部分集合が含み、かつ
すべての元が2つ以上の部分集合には含まれないで、で
きるだけ部分集合の数が少なくなるような論理コーンに
分割すると、(数8)のような集合が考えられる。各論
理コーンに対する集合を作成するときに指定した出力信
号は、それぞれ部分集合Aは論理積ゲート612の出力
信号、部分集合Bは論理積ゲート613の出力信号、部
分集合Cは論理積ゲート614の出力信号である。
【0094】図7は(数8)の各部分集合に対応する回
路図を示している。図7(a)は部分集合Aに対応する
回路図、図7(b)は部分集合Bに対応する回路図、図
7(c)は部分集合Cに対応する回路図である。尚、
(数8)は一例であって、これ以外の分割も考えられ
る。
【0095】
【数8】部分集合A={論理積ゲート612,論理和ゲ
ート615,論理積ゲート611,論理積ゲート60
5,論理積ゲート606} 部分集合B={論理積ゲート613,論理和ゲート61
6,論理和ゲート617,論理積ゲート607,論理積
ゲート608,論理積ゲート609} 部分集合C={論理積ゲート614,論理積ゲート61
0} <組合せ部分回路作成処理における第2段階の処理>…
…請求項6 組合せ部分回路作成処理103における第2段階の処理
は、図13に示すフロー図における判定処理1302
と、論理コーン作成時に指定した出力信号以外の出力信
号がないような論理コーンの部分集合を作成する処理1
303とからなる。指定した出力信号以外の出力信号が
あるということは、1つの部分回路から複数の出力信号
が存在するということであって動作が不安定になる。動
作を安定させるためには、バッファを出力信号数だけ挿
入する必要があるので、回路やレイアウト設計が困難に
なる場合がある。例えば(数8)の部分集合Bは指定し
た出力信号である論理積ゲート613の出力信号以外に
論理和ゲート617の出力信号が他の部分回路への出力
となっている。
【0096】そこで、指定した出力信号以外の出力信号
がないような論理コーンに部分集合を作成する。(数
8)の部分集合Bを指定した出力信号以外の出力信号が
ないような論理コーンの部分集合にすると(数9)のよ
うな3つ部分集合に分割される。図8は(数9)の各部
分集合に対応する回路図を示しており、図8(a)は部
分集合Dに対応する回路図、図8(b)は部分集合Eに
対応する回路図、図8(c)は部分集合Fに対応する回
路図である。
【0097】
【数9】部分集合D={論理積ゲート613,論理和ゲ
ート616,論理積ゲート607} 部分集合E={論理和ゲート617,論理積ゲート60
9} 部分集合F={論理積ゲート608} <組合せ部分回路作成処理における第3段階の処理>組
合せ部分回路作成処理103における第2段階の処理
は、図13に示すフロー図における判定処理1304
と、部分集合に回路構成要素の下限制約を与え、下限制
約を満足しない部分集合からなる回路を出力のファンア
ウト数だけ複製し、その出力信号を入力とする部分集合
からなる回路に結合する処理1305とからなる。回路
構成要素の少ない部分回路は、該部分回路を他の論理、
例えばパストランジスタ論理に書き換えたときにトラン
ジスタ数が少なくなる可能性が低く、出力バッファ等が
必要になって逆にトランジスタ数が多くなる可能性があ
る。例えば部分集合の回路構成要素の下限を2としたと
き、(数9)に示される集合のうち部分集合Fが制約違
反となる。
【0098】そこで、部分集合Fのすべての元を出力信
号である論理積ゲート608の出力を入力とする部分集
合に含める。つまり(数9)の3つの集合は(数10)
の2つ集合になる。図9は(数10)の各部分集合に対
応する回路図を示しており、図9(a)は部分集合Gに
対応する回路図、図9(b)は部分集合Hに対応する回
路図である。
【0099】
【数10】 部分集合G=部分集合DU部分集合F ={論理積ゲート613,論理和ゲート616,論理積
ゲート607,論理積ゲート608} 部分集合H=部分集合EU部分集合F ={論理和ゲート617,論理積ゲート609,論理積
ゲート608} 尚、第2の実施形態においては、図13のフローチャー
トに従って3つの段階で組合せ部分回路の作成を行なっ
たが、これらのうちの任意の1つ以上の組合せで組合せ
部分回路作成処理103を行なっても構わない。
【0100】次に、トランジスタ回路変換処理104に
よって各部分集合からなる組合せ回路をトランジスタレ
ベルの回路に変換する。例えば前記の部分集合Hからな
る組合せ回路は図9(b)のようになる。この組合せ回
路を例えばパストランジスタ論理によるトランジスタレ
ベルの回路に変換すると、図9(c)のようになる。図
9において、901はNチャネルトランジスタ、902
は電源端子、903は接地端子である。図9(b)と図
9(c)とにおいて、各信号名はそれぞれ対応してお
り、同じ符号は同じ信号を表している。尚、トランジス
タレベルの回路を生成するための具体的な方法について
は、第4の実施形態において説明する。
【0101】次に、部分回路レイアウト生成処理105
によってトランジスタレベルの回路からマスク図を生成
する。図5は図9(c)の回路に対応するマスク図を示
している。図5における端子名はそれぞれ図9(c)に
おける端子名と対応している。尚、トランジスタレベル
の回路からレイアウトセルを生成するための具体的な方
法については、第11の実施形態において説明する。
【0102】次に、配置配線処理106によってブロッ
ク全体のレイアウトを作成する。この場合、部分回路レ
イアウト生成処理105によって生成されるレイアウト
セルを標準セルと同規格で生成し、レジスタセルを標準
セルタイプのものを用いることにより、配置配線処理1
06は標準セル方式を利用することができる。
【0103】次に、データ出力処理107によって作成
されたレイアウトデータをディスプレイ装置201又は
記憶装置204に出力する。
【0104】以上説明したように、第2の実施形態に係
る半導体集積回路設計方法によると、論理回路を組合せ
回路部619とレジスタ部618とに分割し、組合せ回
路部619からさらにいくつかの部分回路を作成し、部
分回路をトランジスタレベルの回路に変換し、トランジ
スタレベルの部分回路のレイアウトセルを作成し、これ
に基づき論理回路全体のレイアウトデータを作成するこ
とが可能になる。この設計方法を用いることにより、組
合せ回路を一度トランジスタレベルに変換するときに、
元の論理例えばCMOS論理から他の論理例えばパスト
ランジスタ論理に置き換えることが可能となり、よりデ
バイス数の少ない論理方式を選択できるので、作成され
るブロックの面積、処理速度及び消費電力を小さくする
ことが可能となる。
【0105】また、第1段階の処理において、論理コー
ン毎に部分集合を作成するため、1つの出力信号を作成
するのに必要な入力信号及び回路構成要素が分かるの
で、各出力信号毎の論理コーンから部分回路を作成する
と、部分回路の出力信号を1つにすることができ、回路
動作を安定させることが可能となる。
【0106】また、第2段階の処理において、論理コー
ン作成時に指定した出力信号以外の出力信号がないよう
な論理コーンの部分集合を作成するため、部分回路の出
力信号を1つにできるので、回路動作を安定させ、出力
部に必要となるバッファの数を減らすことが可能とな
り、また、回路面積、処理速度及び消費電力の面でより
良い回路を作成することが可能となる。
【0107】また、第3段階の処理において、回路構成
要素が少な過ぎる部分回路を他の部分回路と結合させる
ため、部分回路を他の論理、例えばパストランジスタ論
理に書き換えた際にトランジスタ数が少なくなる可能性
が大きくなるので、部分回路の出力部に必要な出力バッ
ファの数を減らすことができ、回路面積、処理速度及び
消費電力の面でより良い回路を作成することが可能とな
る。
【0108】(第3の実施形態)以下、第3の実施形態
に係る半導体集積回路設計方法における詳細な処理につ
いて、図1のフローチャートに基づき図10に示す論理
回路を用いて説明する。第3の実施形態を実現するハー
ドウエア構成については、第1の実施形態と同様、図2
に示すものを用いる。
【0109】図10は、第3の実施形態の入力となる論
理回路の一例としてのゲートレベルのネットリストであ
る。
【0110】図10において、1001はクロック入力
端子、1002はデータ入力端子、1003はデータ出
力端子、1004はレジスタセル、1005、1006
は否定ゲートセル、1007、1008、1009、1
010、1011、1012、1013、1014は論
理積ゲートセル、1015、1016、1017、10
18は論理和ゲートセル、1019、1020は排他的
論理和ゲートセル、1021はレジスタ部、1022は
組合せ回路部である。
【0111】まず、データ入力処理101において、記
憶装置204又はキーボード202より図10の論理回
路が入力される。但し、ここで入力される論理回路のデ
ータにはレジスタ部1021及び組合せ回路部1022
の情報はない。
【0112】次に、レジスタ部分離処理102によっ
て、データ入力処理101に読み込まれた論理回路をレ
ジスタ部と組合せ回路部とに分離する。図10に示す論
理回路はレジスタ部1021と組合せ回路部1022と
に分離される。
【0113】次に、組合せ部分回路作成処理103によ
って、組合せ回路部1022から1つ以上の組合せ部分
回路を作成する。以下、この組合せ部分回路作成処理1
03の処理について図14のフローチャートに沿って説
明する。
【0114】<組合せ部分回路作成処理における第1段
階の処理>まず、論理コーンの作成1401において、
論理コーン毎に部分集合を作成する際に、ファンアウト
が所定数以上である信号を境界として論理コーンを作成
する。ファンアウトが大きい信号は信号を駆動するため
に大きいバッファを設ける必要があり、論理コーンの出
力部に必要な大きさのバッファを設けることにより達成
できる。例えば図10に示す回路に対して考えると、論
理和ゲート1017の出力信号はファンアウト数が3で
最も大きい信号である。前記の所定数を3とすると、図
10は(数11)のようになる。論理和ゲート1017
の出力信号を指定した論理コーンは部分集合6の要素か
ら構成される。また、各論理コーンを図11に示す。図
11(a)は論理積ゲート1012を任意の出力信号と
し(数11)の部分集合1からなる論理コーン、図11
(b)は論理積ゲート1013を任意の出力信号とし
(数11)の部分集合2からなる論理コーン、図11
(c)は排他的論理和ゲート1019を任意の出力信号
とし(数11)の部分集合3からなる論理コーン、図1
1(d)は論理積ゲート1014を任意の出力信号とし
(数11)の部分集合4からなる論理コーン、図11
(e)は排他的論理和ゲート1020を任意の出力信号
とし(数11)の部分集合5からなる論理コーン、図1
1(f)は論理和ゲート1017の出力信号を任意の出
力信号とし(数11)の部分集合6からなる論理コーン
である。
【0115】
【数11】部分集合1={論理積ゲート1012,否定
ゲート1005,論理和ゲート1015,論理積ゲート
1007,論理積ゲート1008} 部分集合2={論理積ゲート1013,論理和ゲート1
015,論理和ゲート1016,論理積ゲート100
7,論理積ゲート1008,論理積ゲート1009} 部分集合3={排他的論理和ゲート1019,論理和ゲ
ート1016,論理積ゲート1008,論理積ゲート1
009} 部分集合4={論理積ゲート1014,論理積ゲート1
009} 部分集合5={排他的論理和ゲート1020,論理和ゲ
ート1018,論理積ゲート1011,否定ゲート10
06} 部分集合6={論理和ゲート1017,論理積ゲート1
010,論理積ゲート1011} <組合せ部分回路作成処理における第2段階の処理>…
…請求項7 組合せ部分回路作成処理103における第2段階の処理
は、図14に示すフロー図のおける判定処理1402
と、論理コーン作成時に各回路構成要素が属する部分集
合の数を制限して論理コーンを作成する処理10403
とからなる。回路構成要素が複数の論理コーンに属する
ということは冗長な回路が発生するということであり、
素子数が増大し、回路面積及び消費電力が大きくなる原
因となる。例えば、前記の(数11)の例では、論理積
ゲート1008は、部分集合1、部分集合2及び部分集
合3の3つの部分集合に属しており、各部分集合からな
る論理コーンにおいても現れ、回路全体として冗長な部
分になる。そこで、各回路構成要素が属する部分集合の
数を制限する。例えば図10に示す回路に対して、各回
路の構成要素が属することができる部分集合の上限を2
とすると、(数12)のようになる。図12は(数1
2)に示す部分集合の論理コーンを示している。図12
(a)は(数12)の部分集合Aからなる論理コーン、
図12(b)は(数12)の部分集合Bからなる論理コ
ーン、図12(c)は(数12)の部分集合Cからなる
論理コーン、図12(d)は(数12)の部分集合Dか
らなる論理コーン、図12(e)は(数12)の部分集
合Eからなる論理コーン、図12(f)は(数12)の
部分集合Fからなる論理コーン、図12(g)は(数1
2)の部分集合Gからなる論理コーン、図12(H)は
(数12)の部分集合Hからなる論理コーンである。
【0116】
【数12】部分集合A={論理積ゲート1012,否定
ゲート1005,論理和ゲート1015,論理積ゲート
1007} 部分集合B={論理積ゲート1013,論理和ゲート1
015,論理和ゲート1016,論理積ゲート100
7} 部分集合C={排他的論理和ゲート1019,論理和ゲ
ート1016} 部分集合D={論理積ゲート1014} 部分集合E={排他的論理和ゲート1020,論理和ゲ
ート1018,論理積ゲート1011,否定ゲート10
06} 部分集合F={論理積ゲート1008} 部分集合G={論理積ゲート1009} 部分集合H={論理和ゲート1017,論理積ゲート1
010,論理積ゲート1011} 尚、第3の実施形態においては、図14のフローチャー
トに従って2つの段階で組合せ部分回路作成を行なった
が、これらのうちの1つで組合せ部分回路作成処理10
3を行なっても構わない。
【0117】次に、トランジスタ回路変換処理104に
よって各部分集合からなる組合せ回路をトランジスタレ
ベルの回路に変換する。例えば前記の部分集合Hからな
る組合せ回路は図12(h)のようになる。この組合せ
回路を例えばパストランジスタ論理によるトランジスタ
レベルの回路に変換すると、図9(c)のようになる。
図12(h)と図9(c)とにおいて、各信号名はそれ
ぞれ対応しており、同じ符号は同じ信号を表している。
尚、トランジスタレベルの回路を生成するための具体的
な方法については、第4の実施の形態において説明す
る。
【0118】次に部分回路レイアウト生成処理105に
よってトランジスタレベルの回路からマスク図を生成す
る。図5に図9(c)の回路に対応するマスク図を示
す。図5中の端子名はそれぞれ図9(c)中の端子名と
対応している。なお、トランジスタレベルの回路からレ
イアウトセルを生成するための具体的な方法としては第
11の実施の形態の中で説明を行なう。
【0119】次に、配置配線処理106によってブロッ
ク全体のレイアウトを作成する。この場合、部分回路レ
イアウト生成処理105によって生成されるレイアウト
セルを標準セルと同規格で生成し、レジスタセルを標準
セルタイプのものを用いることにより、配置配線処理1
06は標準セル方式を利用することができる。
【0120】次に、データ出力処理107によって作成
されたレイアウトデータをディスプレイ装置201又は
記憶装置204に出力する。
【0121】以上説明したように、第3の実施形態に係
る半導体集積回路設計方法によると、論理回路を組合せ
回路部1022とレジスタ部1021とに分割し、組合
せ回路部1022からさらにいくつかの部分回路を作成
し、部分回路をトランジスタレベルの回路に変換し、ト
ランジスタレベルの部分回路のレイアウトセルを作成
し、これに基づき論理回路全体のレイアウトデータを作
成することが可能になる。この設計方法を用いることに
より、組合せ回路を一度トランジスタレベルに変換する
ときに、元の論理例えばCMOS論理から他の論理例え
ばパストランジスタ論理に置き換えることが可能とな
り、よりデバイス数の少ない論理方式を選択できるの
で、作成されるブロックの面積、処理速度及び消費電力
を小さくすることが可能となる。
【0122】また、第2の実施形態と同様、論理コーン
毎に部分集合を作成するため、1つの出力信号を作成す
るのに必要な入力信号及び回路構成要素が分かるので、
各出力信号毎の論理コーンから部分回路を作成すると、
部分回路の出力信号を1つにすることができ、回路動作
を安定させることが可能となる。
【0123】また、第1段階の処理において、ファンア
ウトが大きい信号を指定して論理コーンを作成するた
め、信号を駆動するため大きいバッファを設ける必要が
ある大きいファンアウトの論理コーンの出力部に必要な
大きさのバッファを設けることができる。
【0124】また、第2段階の処理において、論理コー
ン作成時に各回路構成要素が属する部分集合の数を制限
するため、冗長な回路が減少するので、回路面積及び消
費電力の面でより良い回路を作成することが可能とな
る。
【0125】(第4の実施の形態)以下、第4の実施形
態に係る半導体集積回路の設計方法における詳細な処理
について、図15及び図16のフローチャートに基づき
図21に示す論理回路を用いて説明する。第4の実施形
態を実現するハードウエア構成については、第1の実施
形態と同様、図2に示すものを用いる。
【0126】図15は、第4の実施形態に係る半導体集
積回路の設計方法における全体の処理のフローチャート
を示しており、図15において、101は論理回路のデ
ータ入力を行なうデータ入力処理、102はデータ入力
処理101で読み込まれた論理回路を組合せ回路部とレ
ジスタ部とに分離するレジスタ部分離処理、103はレ
ジスタ部分離処理102によって分離された組合せ回路
部の各回路構成要素が複数の部分集合に属することを許
して組合せ回路部から複数の部分集合を作成し各部分集
合を部分回路とする組合せ部分回路作成処理、1501
は組合せ部分回路作成処理103で作成された組合せ回
路の部分回路を二分決定グラフにより論理圧縮を行なう
論理圧縮処理、104は論理圧縮処理1501で圧縮さ
れた組合せ回路の部分回路を部分回路毎にトランジスタ
レベルの回路に変換するトランジスタ回路変換処理、1
05はトランジスタ回路変換処理104で作成されたト
ランジスタレベルの回路からレイアウトを生成する部分
回路レイアウト生成処理、106は部分回路レイアウト
生成処理105によって生成された部分回路のレイアウ
トセルとレジスタのレイアウトセルとを入力としてセル
ベースの配置配線処理を行ないレイアウトを生成する配
置配線処理、107は配置配線処理106によって作成
されたレイアウトデータを出力するためのデータ出力処
理である。
【0127】また、図16は、論理圧縮処理1501の
詳細な処理のフローチャートを示しており、図16にお
いて、1601は組合せ部分処理作成処理103で作成
された部分回路から論理圧縮処理を行なっていない部分
回路を以下の処理対象として取り出す未処理部分回路の
取出処理、1602は組合せ回路部の入力から取り出さ
れた部分回路の入力までの遅延時間に基づいて部分回路
の入力内での優先度を決定する入力優先度決定処理、1
603は選択された部分回路を、部分回路の論理関数の
出力を根に、入力信号を枝とし、入力優先度決定処理1
602で決定された各入力の優先度に基づき、遅延時間
が大きい入力信号を二分決定グラフの根側の枝に、遅延
時間が小さい入力信号を二分決定グラフの葉側の枝にそ
れぞれ割り当てて二分決定グラフを作成する二分決定グ
ラフ作成処理、1604は二分決定グラフ作成処理16
03で作成された二分決定グラフを圧縮することにより
部分回路の論理を圧縮する二分決定グラフ圧縮処理、1
605は全ての部分回路に対して論理圧縮処理を行なっ
たか否かを判断し、全ての部分回路の処理を行なってい
る場合には論理圧縮処理を終了し、未処理の部分回路が
存在する場合には、未処理部分回路の取出処理1601
からの処理を繰り返す処理である。
【0128】また、図21は、第4の実施形態の入力と
なる論理回路の一例としてのゲートレベルのネットリス
トを示しており、図21において、2101はクロック
入力端子、2102はデータ入力端子、2103はデー
タ出力端子、2104はレジスタセル(フリップフロッ
プ)、2105、2106、2107、2108、21
09、2110、2114は論理積ゲートセル、211
1、2112、2113は排他的論理和ゲートセルであ
り、これらが信号線で接続されている。
【0129】まず、データ入力処理101において、記
憶装置204又はキーボード202より図21に示す論
理回路が入力される。この論理回路は、回路図エディタ
ーにより人手で設計されたものでもよいが、論理合成を
用いて高位の機能記述より自動生成されたものでもよ
い。
【0130】次に、レジスタ部分離処理102によっ
て、データ入力処理101に読み込まれた論理回路をレ
ジスタ部と組合せ回路部とに分離する。図21に示すよ
うに、入力された論理回路はレジスタ部2115と組合
せ回路部2116とに分離される。
【0131】次に、組合せ部分回路作成処理103によ
って、組合せ回路部2116から1つ以上の組合せ部分
回路を作成する。この部分回路の作成方法としては、第
1、第2及び第3の実施形態において説明したように、
いくつかの方法があるが、ここでは、図21に示す組合
せ回路部2116に対して、2117の部分回路1、2
118の部分回路2、2119の部分回路3、2120
の部分回路4及び2121の部分回路5よりなる5個の
部分回路が作成されたとする。
【0132】次に、論理圧縮処理1501により、作成
された各部分回路の論理の圧縮処理を行なう。
【0133】以下、図22に基づいて論理の圧縮処理に
ついて詳細に説明する。
【0134】まず、未処理部分回路の取出処理1601
により、未処理の部分回路が選ばれる。ここでは、図2
2(a)に示す部分回路2120が選択されたとする。
部分回路2120においては、論理積ゲートセル211
0に信号線a、信号線g及び信号線dが入力され、論理
積ゲートセル2110の出力と信号線mとが排他的論理
和ゲートセル2113に入力され、排他的論理和ゲート
セル2113から信号線yに出力されている。
【0135】次に、入力優先度決定処理1602によ
り、信号線a、信号線g、信号線d、信号線mに対し
て、組合せ回路部2116の入力からの遅延見積に基づ
いて優先度が決定される。図22(b)の表は、その優
先度決定の様子を示している。遅延は、例えば、組合せ
回路部2116の入力からどの程度の大きさの部分回路
を介して当該部分回路2120の入力に信号が伝搬して
くるかにより見積もる。部分回路の大きさはその入力数
で判断される。信号線a及び信号線dは組合せ回路部2
116の入力が直接に入力されているので遅延は0、信
号線gは2入力の部分回路2117を介して入力されて
いるので遅延は1、信号線mは6入力の部分回路211
8を介して入力されているので遅延は2とする。尚、遅
延見積の方法としては、ゲート段数による見積方法や、
組合せ回路部の入力側から論理圧縮処理を行ない、その
圧縮結果に基づいて遅延見積を行なう方法等も可能であ
る。
【0136】遅延見積の結果に従って、遅延値の大きい
ものから順に優先度を付ける。図22(b)に示す表で
は、数字が小さい程、優先度が高くなっている。
【0137】優先度が決定されると、二分決定グラフ作
成処理1603により、優先度に基づき、部分回路の論
理関数の出力を根とし、この根に続いて優先度の高いも
のから順に入力信号を枝として、二分決定グラフを作成
する。図22(c)は、図22(a)に示す部分回路2
120を図22(b)の優先度に従って作成した二分決
定グラフである。
【0138】ここで、二分決定グラフは後のトランジス
タ回路変換処理104によりパストランジスタ論理を用
いた回路方式のトランジスタレベルの回路に変換される
が、その際、二分決定グラフの根に近い枝がパストラン
ジスタ論理を用いた回路の出力に近いトランジスタに割
り当てられるので、根に近い枝に割り当てられた入力は
出力までの遅延時間が小さく、逆に、葉に近い枝に割り
当てられた入力は出力までの遅延時間が大きくなる。よ
って、対象となる部分回路までの遅延時間が大きいもの
を部分回路での遅延時間の小さい入力に、対象となる部
分回路までの遅延時間が小さいものを部分回路での遅延
時間の大きい入力に割り当てることにより、最大の遅延
時間を小さく抑えることができ、全体として遅延時間の
小さい高速な回路が実現される。
【0139】次に、二分決定グラフ圧縮処理1604に
より、作成された二分決定グラフを圧縮する。図22
(c)の二分決定グラフを圧縮すると図22(d)の二
分決定グラフが得られる。
【0140】以上のような未処理部分回路の取出処理1
601から二分決定グラフ圧縮処理1604までの処理
を、判定処理1605により繰り返し全ての部分回路に
対して行なう。全ての部分回路に対して圧縮した二分決
定グラフが得られると、論理圧縮処理1501は終了
し、トランジスタ回路変換処理104へ進む。
【0141】トランジスタ回路変換処理104において
は、各部分回路の圧縮後の二分決定グラフをパストラン
ジスタ論理を用いた回路に変換する。二分決定グラフ
は、グラフ中の枝をトランジスタ、節点を信号線として
変換することにより、容易にパストランジスタ論理を用
いた回路を実現することができる。また、二分決定グラ
フを圧縮することによりグラフ中の枝の数が低減される
ので、変換後の回路のトランジスタ数が低減され、面積
の小さい回路を得ることが可能である。
【0142】図23は、部分回路2117、部分回路2
118、部分回路2119、部分回路2120及び部分
回路2121を論理圧縮後、パストランジスタ論理を用
いた回路に変換した状態を示している。
【0143】次に、部分回路毎のトランジスタレベルの
ネットリストを得た後、部分回路レイアウト生成処理1
05により、各部分回路のレイアウトを生成する。この
部分レイアウト生成処理105は、第10の実施形態で
説明する副セルを用いる方法により生成することが可能
であるが、又は、得られた部分回路のトランジスタレベ
ルのネットリストをセルレイアウト合成に与えることに
より、各部分回路のレイアウトを得る方法も可能であ
る。
【0144】図44は、図23で示したトランジスタレ
ベルの部分回路のネットリストに対して副セルを組合せ
ることによりレイアウトを生成した例を示しており、図
44において、4401、4402、4403、440
4及び4405は、それぞれ、部分回路2117、部分
回路2118、部分回路2119、部分回路2120及
び部分回路2121のレイアウトを生成した一例を示し
ている。
【0145】尚、各部分回路の出力には、正論理及び負
論理を得て、出力信号駆動を行なうための信号増幅器が
付加されている。また、図44においては、副セル間の
配線のマスクパターンは省略して描かれているが、実際
にはそれらのマスクパターンが描かれたものとなってい
る。
【0146】各部分回路のレイアウトが得られると、レ
イアウト配置配線処理106により部分回路のレイアウ
トを配置配線し、与えられた論理回路のレイアウトを得
る。ここで、配置配線されるのは、部分回路毎に生成さ
れた部分回路のレイアウトであるため、まず、部分回路
をセルとしてレイアウト配置配線用の部分回路間のネッ
トリストを作成する。
【0147】図24は、図21に示した論理回路の組合
せ回路部2116の部分回路間のネットリストを示して
いる。この部分回路間のネットリストにより、図44で
示した部分回路のレイアウトをセルとして、レジスタ部
2115のレジスタ(フリップフロップ)2104のレ
イアウトセルと共にレイアウトの配置配線を行なう。
尚、図24においてはレジスタ部2115は省略してあ
るが、レジスタ部2115は元のゲートレベルのネット
リストと同じである。また、図24においては信号線は
全て1本で表現してあるが、実際には負論理入力等が必
要な信号線については、正論理及び負論理の2本の信号
線が存在する。
【0148】図45は、以上説明した方法により、図2
1で示した論理回路のネットリストからレイアウトを作
成したマスクレイアウト図の一例を示している。図45
においてはセル内部及び配線のマスクパターンは省略し
て描かれているが、実際にはそれらのマスクパターンが
描かれたものとなっている。図45において、440
1、4402、4403、4404、4405は図44
で示した各部分回路のレイアウトセルであり、4501
はフリップフロップのレイアウトセルである。これらの
セルがセルベースの配置配線手法により自動配置配線が
行なわれレイアウトが得られる。
【0149】次に、データ出力処理107によって、作
成されたレイアウトデータをディスプレイ装置201又
は記憶装置204に出力する。
【0150】尚、ここでは、パストランジスタ論理を用
いたトランジスタレベルの回路へ変換しているが、トラ
ンジスタ回路変換処理104において、ダイナミック論
理等の他の回路方式に変換することにより、用途に応じ
た半導体集積回路を得ることができる。
【0151】以上説明したように、第4の実施形態に係
る半導体集積回路設計方法によると、論理回路を組合せ
回路部2116とレジスタ部2115とに分離し、組合
せ回路部2116からさらにいくつかの部分回路を作成
し、作成された部分回路毎に論理を二分決定グラフによ
り圧縮し、圧縮した部分回路をトランジスタレベルの回
路に変換し、トランジスタレベルの部分回路のレイアウ
トセルを作成し、これに基づき論理回路全体のレイアウ
トデータを作成することが可能になる。この設計方法に
おいては、入力された論理レベルの回路を、実現する回
路方式に応じた最適な大きさの部分回路に分割し、分割
された部分回路をさらに論理圧縮し、パストランジスタ
論理等の回路方式の回路に変換するので、用途に応じて
回路面積、処理速度及び消費電力の優位性が得られる回
路方式を用いることができると共に、また、これらの処
理は一定の手続きに従って行なわれるため、計算機によ
る自動処理化を簡単に実現することができる。
【0152】また、入力された論理レベルの回路は、使
用する回路方式にとって最適な大きさの部分回路に分割
され、分割された部分回路毎のレイアウトが生成される
ので、入力される論理レベルのネットリストには特別な
制約はないと共に、自由な論理を用いて設計できる。こ
のため、人手で作成した論理回路でも、論理合成により
高位な機能記述から自動合成した論理回路でもよいの
で、高い設計効率で設計を行なうことが可能である。
【0153】また、論理圧縮処理1501において部分
回路の入力遅延に基づく二分決定グラフへの割り当てを
行なうため、部分回路への入力の遅延時間に応じて、パ
ストランジスタ論理を用いた回路方式に変換したときの
部分回路内部における遅延を考慮したトランジスタレベ
ルの回路への変換を行なうことが可能であるので、最適
な遅延を持つ回路を作成することが可能となる。
【0154】(第5の実施形態)以下、第5の実施形態
に係る半導体集積回路設計方法における全体の処理及び
トランジスタ回路変換処理について、図1、図17及び
図25に基づき図21に示す論理回路を用いて説明す
る。第5の実施形態を実現するハードウエア構成につい
ては、第1の実施形態と同様、図2に示すものを用い
る。
【0155】図17は、図1のフローチャートにおける
トランジスタ回路変換処理104の詳細な処理を示すフ
ローチャートであって、図17において、1701は部
分処理作成処理103で作成された部分回路からトラン
ジスタ回路への変換を行なっていない部分回路を以下の
処理対象として取り出す未処理部分回路の取出処理、1
702は取り出された部分回路の入力信号線数と予め与
えられた入力信号数の下限制約とを比較する入力信号線
数比較処理、1703は入力信号線数比較処理1702
で当該部分回路の入力信号数が下限制限以上の場合に、
当該部分回路をパストランジスタ論理を用いたトランジ
スタレベルの回路に変換するパストランジスタ論理変換
処理、1704は入力信号線数比較処理1702で当該
部分回路の入力信号数が下限制限未満の場合に、当該部
分回路をCMOS論理を用いたトランジスタレベルの回
路に変換するCMOS論理変換処理、1705は全ての
部分回路に対してトランジスタ回路変換処理を行なった
か否かを判断し、全ての部分回路の処理を行なっている
場合にはトランジスタ回路変換処理を終了し、未処理の
部分回路が存在する場合には、未処理部分回路の取出処
理1701からの処理を繰り返す処理である。
【0156】まず、データ入力処理101において、記
憶装置204又はキーボード202より図21に示す論
理回路が入力される。
【0157】次に、レジスタ部分離処理102によっ
て、データ入力処理101に読み込まれた論理回路をレ
ジスタ部と組合せ回路部に分離する。図21に示すよう
に、論理回路はレジスタ部2115と組合せ回路部21
16とに分離される。
【0158】次に、組合せ部分回路作成処理103によ
って、組合せ回路部2116から1つ以上の組合せ部分
回路を作成する。ここでは、図21に示す組合せ回路部
2116に対して、2117の部分回路1、2118の
部分回路2、2119の部分回路3、2120の部分回
路4及び2121の部分回路5よりなる5個の部分回路
が作成されたとする。図24は、これらの部分回路をセ
ルとして作成した部分回路間のネットリスト図を示して
いる。
【0159】部分回路が作成されると、未処理の部分回
路取り出し処理1701において未処理の部分回路を選
択し、入力信号線数比較処理1702により選択された
部分回路の入力数を下限制限値と比較し、入力信号線数
が下限制限値以上の場合、パストランジスタ論理変換1
703により選択された部分回路はパストランジスタ論
理を用いたトランジスタレベルの回路に変換され、入力
信号線数が下限制限値未満の場合、CMOS論理変換1
704により選択された部分回路はCMOS論理を用い
たトランジスタレベルの回路に変換さる。例えば、下限
制限値が3の場合、部分回路2117は入力信号数は2
であるのでCMOS論理に変換され、部分回路2118
は入力信号数は6であるのでパストランジスタ論理に変
換される。また、各部分回路には必要に応じて信号増幅
器の回路が付加される。
【0160】図25(a)は、図24で示した部分回路
に対するトランジスタ変換処理の実行例を示している。
部分回路2117(部分回路1)及び部分回路2121
(部分回路5)は入力信号数が下限制限値3未満である
からCMOS論理の回路に変換され、他の部分回路は入
力信号数が下限制限値3を満足しているのでパストラン
ジスタ論理の回路に変換されている。図25(b)は、
この変換結果を部分回路間のネットリストとして摸式的
に示している。
【0161】部分回路毎のトランジスタレベルのネット
リストが作成されると、部分回路レイアウト生成処理1
05により各部分回路毎にレイアウトが生成される。そ
して、生成されたレイアウトを各部分回路をセルとした
レイアウトセルとして、レイアウト配置配線処理106
によりレジスタ部2115のフリップフロップのレイア
ウトセルと共に、セルベースのレイアウトの配置配線に
よりブロック全体のレイアウトを作成する。
【0162】次に、データ出力処理107によって、作
成されたレイアウトデータをディスプレイ装置201又
は記憶装置204に出力する。
【0163】以上説明したように、第5の実施形態に係
る半導体集積回路設計方法によると、論理回路を組合せ
回路部2116とレジスタ部2115とに分離し、組合
せ回路部2116からさらにいくつかの部分回路を作成
し、部分回路をトランジスタレベルの回路に変換し、ト
ランジスタレベルの部分回路のレイアウトセルを作成
し、これに基づき論理回路全体のレイアウトデータを作
成することが可能になる。特に、部分回路をトランジス
タレベルの回路に変換する際に、部分回路の入力信号線
数に応じて、パストランジスタ論理を用いた回路方式に
するか、又はCMOS論理を用いた回路方式にするかを
決定する。パストランジスタ論理を用いた回路方式で
は、入力信号数が少ない場合には、信号増幅器の面積割
合が増大し、CMOSに対する面積優位性が出ない場合
があるが、ここでは、入力信号数が少ない部分回路につ
いてはCMOS論理を用いた回路方式を使用するため、
パストランジスタ論理の面積優位性がある部分回路はパ
ストランジスタ論理を用い、パストランジスタ論理の面
積優位性がない部分回路にはCMOS論理を用いること
ができるので、全体として面積の小さい半導体集積回路
を作成することが可能となる。
【0164】(第6の実施形態)以下、第6の実施形態
に係る半導体集積回路設計方法における全体の処理及び
トランジスタ回路変換処理について、図1、図18及び
図26に基づき図21に示す論理回路を用いて説明す
る。第6の実施形態を実現するハードウエア構成につい
ては、第1の実施形態と同様、図2に示すものを用い
る。
【0165】図18は、図1のフローチャートにおける
トランジスタ回路変換処理104の詳細な処理を示すフ
ローチャートであって、図18において、1801は組
合せ部分処理作成処理103で作成された部分回路から
トランジスタ回路への変換を行なっていない部分回路を
以下の処理対象として取り出す未処理部分回路の取出処
理、1802は取り出された部分回路をパストランジス
タ論理を用いた回路方式に変換した場合のトランジスタ
数を見積もるパストランジスタ論理トランジスタ数見積
処理、1803は取り出された部分回路をCMOS論理
を用いた回路方式に変換した場合のトランジスタ数を見
積もるCMOS論理トランジスタ数見積処理、1804
はパストランジスタ論理トランジスタ数見積処理180
2で見積もられたトランジスタ数と、CMOS論理トラ
ンジスタ数見積処理1803で見積もられたトランジス
タ数とを比較するトランジスタ数比較処理、1805は
トランジスタ数比較処理1804でパストランジスタ論
理の方がトランジスタ数が少ない場合に選択された部分
回路をパストランジスタ論理を用いた回路方式に変換す
るパストランジスタ論理変換処理、1806はトランジ
スタ数比較処理1804でパストランジスタ論理の方が
トランジスタ数が少なくない場合に選択された部分回路
をCMOS論理を用いた回路方式に変換するCMOS論
理変換処理、1807は全ての部分回路に対してトラン
ジスタ回路変換処理を行なったか否かを判断し、全ての
部分回路の処理を行なっている場合にはトランジスタ回
路変換処理を終了し、未処理の部分回路が存在する場合
には、未処理部分回路の取出処理1801からの処理を
繰り返す処理である。
【0166】まず、データ入力処理101において、記
憶装置204又はキーボード202より図21に示す論
理回路が入力される。
【0167】次に、レジスタ部分離処理102によっ
て、データ入力処理101に読み込まれた論理回路をレ
ジスタ部と組合せ回路部とに分離する。図21に示すよ
うに、論理回路はレジスタ部2115と組合せ回路部2
116とに分離される。
【0168】次に、組合せ部分回路作成処理103によ
って、組合せ回路部2116から1つ以上の組合せ部分
回路を作成する。ここでは、図21に示す組合せ回路部
2116に対して、2117の部分回路1、2118の
部分回路2、2119の部分回路3、2120の部分回
路4及び2121の部分回路5よりなる5個の部分回路
が作成されたとする。図24は、これらの部分回路をセ
ルとして作成した部分回路間のネットリスト図を示して
いる。
【0169】部分回路が作成されると、未処理の部分回
路取り出し処理1801において未処理の部分回路を選
択し、選択された部分回路に対して、パストランジスタ
論理トランジスタ数見積処理1802及びCMOS論理
トランジスタ数見積処理1803により、パストランジ
スタ論理及びCMOS論理を用いた場合のトランジスタ
数がそれぞれ見積もられる。この見積り処理において
は、必要な場合には信号増幅器のトランジスタ数も考慮
する。その後、トランジスタ比較処理1804で、パス
トランジスタ論理を用いた場合のトランジスタ数とCM
OS論理を用いた場合のトランジスタ数とを比較し、比
較結果に従って、パストランジスタ論理変換処理180
5及びCMOS論理変換処理1806によりトランジス
タ数の少ない方の回路方式に部分回路を変換する。
【0170】図26(a)は、図24で示した部分回路
に対するトランジスタ変換処理の実行例を示している。
部分回路2117(部分回路1)、部分回路2120
(部分回路4)及び部分回路2121(部分回路5)は
CMOS論理を用いた方がトランジスタ数が少ないため
パストランジスタ論理の回路方式が採用され、他の部分
回路はCMOS論理を用いた方がトランジスタ数が少な
いためCMOS論理の回路方式が採用されている。図2
6(b)は、この変換結果を部分回路間のネットリスト
として摸式的に示している。
【0171】部分回路毎のトランジスタレベルのネット
リストが作成されると、部分回路レイアウト生成処理1
05により各部分回路毎にレイアウトが生成される。そ
して、生成されたレイアウトを各部分回路をセルとした
レイアウトセルとして、レイアウト配置配線処理106
によりレジスタ部2115のフリップフロップのレイア
ウトセルと共に、セルベースのレイアウトの配置配線に
よりブロック全体のレイアウトを作成する。
【0172】次に、データ出力処理107によって、作
成されたレイアウトデータをディスプレイ装置201又
は記憶装置204に出力する。
【0173】以上説明したように、第6の実施形態に係
る半導体集積回路設計方法によると、論理回路を組合せ
回路部2116とレジスタ部2115とに分離し、組合
せ回路部2116からさらにいくつかの部分回路を作成
し、部分回路をトランジスタレベルの回路に変換し、ト
ランジスタレベルの部分回路のレイアウトセルを作成
し、これに基づき論理回路全体のレイアウトデータを作
成することが可能になる。特に、部分回路をトランジス
タレベルの回路に変換する際に、トランジスタ数の見積
りに基づいて、パストランジスタ論理を用いた回路方式
にするか、又はCMOS論理を用いた回路方式にするか
を決定する。このようにして、パストランジスタ論理の
面積優位性がある部分回路にはパストランジスタ論理を
用い、パストランジスタ論理の面積優位性がない部分回
路にはCMOS論理を用いることができるので、全体と
して面積の小さい半導体集積回路を作成することが可能
となる。
【0174】(第7の実施の形態)以下、第7の実施形
態に係る半導体集積回路設計方法における全体の処理及
びトランジスタ回路変換処理について、図1、図19及
び図27に基づき図21に示す論理回路を用いて説明す
る。第7の実施形態を実現するハードウエア構成につい
ては、第1の実施形態と同様、図2に示すものを用い
る。
【0175】図19は、図1のフローチャートにおける
トランジスタ回路変換処理104の詳細な処理を示すフ
ローチャートであって、図19において、1901は部
分処理作成処理103で作成された全ての部分回路をパ
ストランジスタ論理を用いた回路方式のトランジスタレ
ベルの回路への変換を行なうパストランジスタ論理変換
処理、1902は変換されたトランジスタレベルの回路
中のドレイン端子−ソース端子間の直列接続の全てのパ
スの直列接続段数を計算するパストランジスタ直列段数
計算処理、1903はパストランジスタ直列段数計算処
理1902で求めた直列段数が予め定められた直列段数
の上限制限を超えているか否かを判断する直列段数許容
判断処理、1904は直列段数許容判断処理1903で
直列段数が上限制約を超えている場合、超えているパス
の全部又は一部をCMOS論理を用いた回路方式に変換
するCMOS論理置換処理である。
【0176】まず、データ入力処理101において、記
憶装置204又はキーボード202より図21に示す論
理回路が入力される。
【0177】次に、レジスタ部分離処理102によっ
て、データ入力処理101に読み込まれた論理回路をレ
ジスタ部2115と組合せ回路部2116とに分離す
る。図21に示すように、論理回路はレジスタ部211
5と組合せ回路部2116とに分離される。
【0178】次に、組合せ部分回路作成処理103によ
って、組合せ回路部2116から1つ以上の組合せ部分
回路を作成する。ここでは、図21に示す組合せ回路部
2116に対して、2117の部分回路1、2118の
部分回路2、2119の部分回路3、2120の部分回
路4及び2121の部分回路5よりなる5個の部分回路
が作成されたとする。図24は、これらの部分回路をセ
ルとして作成した部分回路間のネットリスト図を示して
いる。
【0179】部分回路が作成されると、パストランジス
タ論理変換処理1901で全ての部分回路をパストラン
ジスタ論理を用いたトランジスタレベルの回路に変換
し、パストランジスタ直列段数計算処理1902で各部
分回路毎に全てのドレイン端子−ソース端子間の直列接
続パスの段数が算出され、最大の段数が上限制限値を超
えている場合、CMOS論理置換処理1904により直
列段数が超えている部分回路の全て又は一部をCMOS
論理を用いた回路に置き換える。CMOS論理を用いた
回路に置き換えた後、再び、パストランジスタ直列段数
計算処理1902からの処理を繰り返し、全てのパスト
ランジスタ論理中のドレイン端子−ソース端子間の直列
接続パスの段数が上限制限以下になるように処理を行な
う。
【0180】図27(a)は、図24で示した部分回路
に対するトランジスタ変換処理の実行例を示している。
図24で示した部分回路をパストランジスタ論理を用い
たトランジスタ論理の回路に変換すると、図23に示す
ような部分回路に変換され、変換後の各部分回路中の最
大のパストランジスタ直列段数を計算すると、図27
(a)のようになる。ここで、直列段数の制限値を4と
すると、部分回路2118(部分回路2)の直列段数は
5であって制限値を超えているので、部分回路2118
はCMOS論理に置き換えられる。他の部分回路は制限
値を越えていないので、パストランジスタ論理を用いた
回路方式のままとなる。図27(b)は、この変換結果
を部分回路間のネットリストとして摸式的に示してい
る。
【0181】部分回路毎のトランジスタレベルのネット
リストが作成されると、部分回路レイアウト生成処理1
05により各部分回路毎にレイアウトが生成される。そ
して、生成されたレイアウトを各部分回路をセルとした
レイアウトセルとして、レイアウト配置配線処理106
によりレジスタ部2115のフリップフロップのレイア
ウトセルと共に、セルベースのレイアウトの配置配線に
よりブロック全体のレイアウトを作成する。
【0182】次に、データ出力処理107によって、作
成されたレイアウトデータをディスプレイ装置201又
は記憶装置204に出力する。
【0183】以上説明したように、第7の実施形態に係
る半導体集積回路設計方法によると、論理回路を組合せ
回路部2116とレジスタ部2115とに分離し、組合
せ回路部2116からさらにいくつかの部分回路を作成
し、部分回路をトランジスタレベルの回路に変換し、ト
ランジスタレベルの部分回路のレイアウトセルを作成
し、これに基づき論理回路全体のレイアウトデータを作
成することが可能になる。特に、部分回路をトランジス
タレベルの回路に変換する際に、パストランジスタ論理
を用いた回路へ変換した場合にドレイン端子−ソース端
子の直列段数が大きくなるものに関しては、CMOS論
理を用いた回路方式に置き換えられる。パストランジス
タ論理を用いた回路方式においては、ドレイン端子−ソ
ース端子の直列段数が大きくなりすぎると、遅延値が増
大したり、動作が不安定になったりする場合があるが、
第7の実施形態においては、直列段数が多い場合にはC
MOS論理を用いるため、パストランジスタ論理による
と高速な部分回路についてはパストランジスタ論理を用
い、パストランジスタ論理によると高速にならない部分
回路についてはCMOS論理を用いるので、回路全体と
して高速で安定した半導体集積回路を作成することが可
能となる。
【0184】(第8の実施形態)以下、第8の実施形態
に係る半導体集積回路設計方法における全体の処理及び
トランジスタ回路変換処理について、図1、図20、図
21、図23、図24、図28及び図29に基づき図2
1に示す論理回路を用いて説明する。第8の実施形態を
実現するハードウエア構成については、第1の実施形態
と同様、図2に示すものを用いる。
【0185】図20は、図1のフローチャートにおける
トランジスタ回路変換処理104の詳細な処理のフロー
チャートを示しており、図20において、2001は部
分処理作成処理103で作成された全ての部分回路をパ
ストランジスタ論理を用いた回路方式のトランジスタレ
ベルの回路への変換を行なうパストランジスタ論理変換
処理、2002はパストランジスタ論理変換処理200
1で作成されたトランジスタレベルの部分回路から信号
増幅器挿入処理を行なっていない部分回路を以下の処理
対象として取り出す未処理部分回路の取出処理、200
3は取り出されたトランジスタレベルの部分回路中のド
レイン端子−ソース端子間の直列接続の全てのパスの最
大の直列接続段数を計算するパストランジスタ最大直列
段数計算処理、2004は取り出された部分回路のファ
ンアウト先にトランジスタのゲート端子への入力が存在
するか否かを判断するファンアウト先検索処理、200
5はパストランジスタ最大直列段数計算処理2003で
求めた直列接続段数が予め定めた基準値を超えているか
否かを判断する直列段数判断処理、2006は、ファン
アウト先検索処理2004でファンアウト先にゲート端
子があるか、又は直列段数判断処理2005で基準値よ
り直列段数が大きい場合に、当該部分回路の出力に、パ
ストランジスタ最大直列段数計算処理2003で求めた
部分回路内のドレイン端子−ソース端子間の最大直列接
続段数に応じて、適切な信号増幅能力を持つ信号増幅器
を挿入する信号増幅器挿入処理、2007は全ての部分
回路に対して信号増幅器挿入の要否の検討を行なったか
否かを判断し、全ての部分回路の処理を行なっている場
合にはトランジスタ回路変換処理を終了し、未処理の部
分回路が存在する場合には、未処理部分回路の取出処理
2002からの処理を繰り返す処理である。
【0186】まず、データ入力処理101において、記
憶装置204又はキーボード202より図21の論理回
路が入力される。
【0187】次に、レジスタ部分離処理102によっ
て、データ入力処理101に読み込まれた論理回路をレ
ジスタ部2115と組合せ回路部2116とに分離す
る。図21に示すように、論理回路はレジスタ部211
5と組合せ回路部2116とに分離される。
【0188】次に、組合せ部分回路作成処理103によ
って、組合せ回路部から1つ以上の組合せ部分回路を作
成する。ここでは、図21に示す組合せ回路部2116
に対して、2117の部分回路1、2118の部分回路
2、2119の部分回路3、2120の部分回路4及び
2121の部分回路5よりなる5個の部分回路が作成さ
れたとする。図24は、これらの部分回路をセルとして
作成した部分回路間のネットリスト図を示している。
【0189】部分回路が作成されると、パストランジス
タ論理変換処理2001で全ての部分回路をパストラン
ジスタ論理を用いたトランジスタレベルの回路に変換す
る。図21に示す組合せ回路部2116は、図23に示
すトランジスタレベルの部分回路に変換される。
【0190】ここでは、図28(a)に示すように、セ
ンスアンプ型の信号増幅能力の大きい信号増幅器280
1と、プルアップ型の信号増幅能力の小さい信号増幅器
2802とを準備しているとする。また、図28(b)
に示す用に、信号増幅器の挿入基準として、直列1段の
場合には挿入無し、2段以上で且つ3段以下の場合には
信号増幅器2802を挿入し、4段以上の場合には信号
増幅器2801を挿入するとする。
【0191】図28(c)は、図24に示す回路に対し
て、ファンアウト先検索処理2004によりファンアウ
ト先のゲート端子に2803に示す○印を付加した回路
を模式的に示している。ここでは、パストランジスタ論
理のゲート端子及びフリップフロップの入力がその対象
となる。また、図28(c)においては、パストランジ
スタ最大直列段数計算処理2003で求めた直列段数も
示されている。これらの結果に基づき、信号増幅器挿入
処理2006により、図28(b)に示す基準に従って
信号増幅器2801又は信号増幅器2802が各部分回
路の出力に付加される。図29は、信号増幅器2801
又は信号増幅器2802が付加された状態を示してい
る。尚、部分回路2117及び部分回路2121は最大
の直列段数が1であるが、ファンアウト先にゲート端子
入力が存在するので信号増幅器2802が付加されてい
る。
【0192】部分回路毎のトランジスタレベルのネット
リストが作成されると、部分回路レイアウト生成処理1
05により各部分回路毎にレイアウトが生成される。そ
して、生成されたレイアウトを各部分回路をセルとした
レイアウトセルとして、レイアウト配置配線処理106
によりレジスタ部2115のフリップフロップのレイア
ウトセルと共に、セルベースのレイアウトの配置配線に
よりブロック全体のレイアウトを作成する。
【0193】次に、データ出力処理107によって、作
成されたレイアウトデータをディスプレイ装置201又
は記憶装置204に出力する。
【0194】以上説明したように、第8の実施形態に係
る半導体集積回路設計方法によると、論理回路を組合せ
回路部2116とレジスタ部2115とに分離し、組合
せ回路部2116からさらにいくつかの部分回路を作成
し、部分回路をトランジスタレベルの回路に変換し、ト
ランジスタレベルの部分回路のレイアウトセルを作成
し、これに基づき論理回路全体のレイアウトデータを作
成することが可能になる。特に、部分回路をトランジス
タレベルの回路に変換する際に、ファンアウト先にゲー
ト端子への入力が存在する場合には出力に信号増幅器を
付加する。パストランジスタ論理を用いた回路方式で
は、ドレイン端子−ソース端子間を信号が通過するた
め、電圧降下が発生するので、入力がトランジスタのゲ
ート端子に加えられても十分な動作が行なえない場合が
あるが、第8の実施形態においては、ゲート端子へ接続
されている部分回路の出力に信号増幅器を挿入するの
で、高速で安定した動作を持つ半導体集積回路を作成す
ることが可能となる。
【0195】また、パストランジスタ論理のドレイン端
子−ソース端子間の最大の直列接続段数に応じて、増幅
能力の異なる信号増幅器を挿入する。信号増幅器は、一
般に、増幅能力が高いものは面積が大きいため、全ての
部分回路の出力に増幅能力の高い信号増幅器を付加する
と回路全体の面積が増大するが、第8の実施形態におい
ては、信号増幅器を挿入する際に、部分回路中のパスト
ランジスタ論理のドレイン端子−ソース端子間の最大の
直列接続段数に応じて、最適な能力及び面積を持つ信号
増幅器を挿入するので、高速で安定した動作を持ち且つ
適切な面積を持つ半導体集積回路を作成することが可能
となる。
【0196】(第9の実施形態)以下、第9の実施形態
に係る半導体集積回路について図30の回路図に基づき
説明する。
【0197】図30(a)は、第9の実施形態に係る半
導体集積回路を示しており、図30において、3001
はNチャネルトランジスタ、3002はPチャネルトラ
ンジスタ、3003は半導体集積回路をトランジスタの
ゲート端子で回路を切ることにより作成される部分回
路、3004は等価容量である。パストランジスタ論理
はNチャネルトランジスタC、D、E、F、G、Hによ
り構成されている。尚、第9の実施形態においては、N
チャネルトランジスタによりパストランジスタ論理を実
現しているが、Pチャネルトランジスタによっても実現
可能である。
【0198】トランジスタは各端子に容量を持ち、パス
トランジスタ論理部のソース端子及びドレイン端子の容
量と配線容量とを等価容量で表現すると、図30(a)
に示す回路は図30(b)のようになる。パストランジ
スタ部の信号は、ソース端子及びドレイン端子の容量と
配線容量とを飽和させながら次段に伝搬されていく。こ
のため、トランジスタを通過する電流は次段に行くとき
には前段よりも小さくなるので、後段のトランジスタに
おいてはゲート幅が小さくなっても差支えがない。ま
た、ゲート幅を小さくした方が容量が小さくなるため、
飽和電流も少なくなる。
【0199】図30(a)に示す回路において、電源線
から信号線xまでのトランジスタの並びであるA、C、
D、Eの順序、及び接地線から信号xまでのトランジス
タの並びであるB、C、D、Eの順序で、各トランジス
タの飽和電流値は前段のトランジスタの飽和電流値以下
になる。すなわち、同じ極性のトランジスタで見た場
合、トランジスタのゲート幅は前段のトランジスタのゲ
ート幅よりも小さくなっている。接地線から信号xまで
のトランジスタの並びで見ると、トランジスタBのゲー
ト幅が最も大きく、次にトランジスタC、D、Eの順に
ゲート幅が小さくなっている。
【0200】図31は、図30(a)に示す回路におけ
る端子in1を電源電圧から接地電圧に変化させたとき
の端子in1の入力波形と、これに伴う端子out1の
出力波形とを示しており、図31において、3101は
端子in1への入力波形、3102はパストランジスタ
論理部のトランジスタのゲート幅をC、D、Eの順に小
さくしたときのout1の出力波形、3103はトラン
ジスタのゲート幅をC、D、Eにおいて同じにしたとき
のout1の出力波形である。
【0201】以上説明したように、第9の実施形態に係
る半導体集積回路によると、すべてパストランジスタ論
理部のトランジスタのゲート幅を順に変化させているの
で、トランジスタのゲート幅の総和が等しいとすると、
各トランジスタのゲート幅が同じである場合に比べて、
信号の伝搬速度が速いパストランジスタ論理の半導体集
積回路を設計することが可能になる。
【0202】(第10の実施形態)以下、第10の実施
形態に係る半導体集積回路について図32の回路図に基
づき説明する。
【0203】図32は、第10の実施形態に係る半導体
集積回路を示しており、図32において、3201はN
チャネルトランジスタ、3202はPチャネルトランジ
スタである。AのPチャネルトランジスタ3202及び
BのNチャネルトランジスタ3201は信号増幅器の最
終段のトランジスタであって、C、D及びEのNチャネ
ルトランジスタ3201は、最終段のPチャネルトラン
ジスタ3202及びNチャネルトランジスタ3201に
接続されるパストランジスタ論理部のトランジスタであ
る。
【0204】パストランジスタ論理部を構成する各C、
D及びEのNチャネルトランジスタ3201のドレイン
端子にそれぞれ飽和電流を与えることによって、信号伝
搬速度をパストランジスタ回路の特性の限界まで引き出
すことができる。このためには、電源線に接続されるA
のPチャネルトランジスタ3202の飽和電流値及び接
地線に接続されるBのNチャネルトランジスタ3201
の飽和電流値を、それぞれC、D及びEのNチャネルト
ランジスタ3201の飽和電流値の合計値以上にすれば
よい。
【0205】以上説明したように、第10の実施形態に
係る半導体集積回路によると、信号増幅器の最終段のト
ランジスタの飽和電流値をパストランジスタ論理部のト
ランジスタの飽和電流値の合計値以上にするため、信号
伝搬速度をパストランジスタ回路の性能の限界まで引き
出すことが可能となる。
【0206】(第11の実施形態)以下、第11の実施
形態に係る半導体集積回路設計方法における部分回路レ
イアウト生成処理について図33に基づき説明する。
【0207】図33は、図1に示すフローチャートにお
ける部分回路レイアウト生成処理105の詳細な処理の
フローチャートを示しており、図33において、330
1は与えられたトランジスタレベルの部分回路を、予め
与えられている複数種類の副セルのレイアウト及びトラ
ンジスタレベルネットリストの副セルライブラリ330
2より、1個以上の副セルの組合せに割り当てる副セル
割り当て処理、3303は副セル割り当て処理3301
により割り当てられた副セルの配置配線を行ない、部分
回路のレイアウトを生成する副セル配置配線処理であ
る。
【0208】副セル割り当て処理3301は、3段階の
部分回路レイアウト生成処理に細分化されており、以
下、順に説明する。
【0209】<第1段階の部分回路レイアウト生成処理
>図33において、3304は与えられた部分回路のト
ランジスタレベルのネットリストより、ネットリスト中
の信号線を節点、トランジスタを枝としてグラフを作成
するグラフ作成処理、3305はグラフ作成処理330
4により作成されたグラフに閉路が存在するか否かを判
定する閉路判定処理、3306は閉路判定処理3305
により閉路が存在すると判定された場合、グラフ作成処
理3304により作成された部分回路のグラフを、閉路
を構成する節点の中の1個の節点を複数個に分割して閉
路を切断し、木構造の部分グラフに分割するグラフ分割
処理である。この場合、閉路判定処理3305により閉
路が存在しないと判定された場合、以後の処理ではグラ
フ作成処理3304により作成された部分回路のグラフ
全体を1つの部分グラフとして扱う。
【0210】また、図33において、3307は副セル
の割り当てが行なわれていない部分グラフを取り出す未
処理部分グラフ取出処理、3308は部分グラフ取出処
理3307により取り出された木構造を持つ部分グラフ
において、各節点の根からの相対的距離をインオーダに
並べたリストを作成するインオーダのリスト作成処理で
ある。3309は副セルライブラリ3302より副セル
のトランジスタレベルのネットリストを、ネットリスト
中の信号線を節点、トランジスタを枝として、各副セル
に対応したグラフを作成する副セルグラフ作成処理、3
310は副セルグラフ作成処理3309により作成され
た副セルのグラフに対してグラフの各節点の根からの相
対的距離をインオーダに並べたリストを作成する副セル
のインオーダのリスト作成処理、3311は副セルのイ
ンオーダのリスト作成処理3310により作成された副
セルインオーダリストライブラリ、3312はインオー
ダのリスト作成処理3308により作成された木構造を
持つ部分グラフのインオーダのリストと副セルのインオ
ーダのリスト作成処理3311により作成された副セル
のインオーダのリストライブラリとの比較を行ない、部
分グラフに対してその部分グラフと同型の副セルに対応
したグラフの組合せを求めるインオーダのリスト検索処
理、3313はインオーダのリスト検索処理3312に
より求められた副セルの組合せを部分グラフに割り当て
る副セル割り当て処理である。
【0211】また、図33において、3314は与えら
れた部分回路に対応するグラフにおいて、副セル割り当
て処理が行なわれていない部分グラフがあるか否かを判
定する未処理部分グラフ判定処理である。未処理部分グ
ラフ判定処理3314において未処理の部分グラフが存
在すると判定された場合、未処理部分グラフ取り出し処
理3307に戻って次の部分グラフに対して副セル割り
当てが行なわれる。一方、未処理部分グラフ判定処理3
314において未処理部分グラフが存在しないと判定さ
れた場合、部分回路のグラフの全ての部分グラフに割り
当てられた副セルの割り当て情報と副セルライブラリ3
302のレイアウトデータより、副セル配置配線処理3
303において配置配線を行なって部分回路のレイアウ
トセルを生成する。
【0212】以下、部分回路のレイアウトセル生成処理
105の詳細な処理を、図33のフローチャートに従っ
て図34に示す部分回路のトランジスタレベルのネット
リストに基づき説明する。
【0213】図34は、入力となる部分回路のトランジ
スタレベルのネットリストを示しており、図34におい
て3401はNチャネルトランジスタである。図34に
示すトランジスタレベルのネットリストはパストランジ
スタ論理の回路を構成している。図34の部分回路の入
力信号はA、 ̄A、B、 ̄B、C、 ̄C、D、E、F及
びGであり、出力信号はXであり、H、I、J、Kはト
ランジスタレベルのネットリストの中間信号線である。
【0214】図35は、グラフ作成処理3304によ
り、図34のトランジスタレベルのネットリストに対し
てネットリスト中の信号線を節点、トランジスタを枝と
して作成されたグラフであって、図35において、35
01は出力信号に対応する節点、3503は入力信号に
対応する節点、3504は中間信号線に対応する節点、
3502はトランジスタに対応する枝である。節点の名
前は図34の信号線名にそれぞれ対応しており、枝に付
加されている記号は枝に対応するトランジスタのゲート
端子に入力される信号線名に対応している。
【0215】図35に示すグラフにおいて、節点X、
I、J、H及び節点I、K、F、Jにおいてそれぞれ閉
路が存在する。図35に示すグラフは閉路判定処理33
05により閉路があると判定され、グラフ分割処理33
06により閉路を構成する節点の中の1個の節点を複数
個に分割して閉路を切断し、木構造の部分グラフに分割
される。
【0216】図36は図35に示すグラフからグラフ分
割処理3306によって分割された部分グラフを示して
おり、図36において、3601及び3602は図35
に示すグラフを分割することにより作成された木構造の
部分グラフである。このグラフの分割は、図35の閉路
を構成する節点X、I、J,Hにおける節点Jを360
3、3604、3605のJ1、J2、J3の3つの節
点に分割すると共に、図35の閉路を構成する節点I、
K、F、Jにおける節点Fを3606、3607のF
1、F2に分割することにより作成されている。
【0217】図37は、第11の実施形態において予め
与えられている副セルのレイアウト図を示しており、第
11の実施形態においては、4種類(a)、(b)、
(c)、(d)の副セルが与えられている。図37にお
いて、3701はソース領域及びドレイン領域を構成す
る拡散層、3702はゲート領域を構成するポリシリコ
ン層、3703は第1の金属層、3704は電源端子、
3705は接地端子、3706は信号入力端子、370
7は信号出力端子、3708はポリシリコン層3702
と第1の金属層3703とを接続するコンタクト層、3
709は拡散層3701と第1の金属層3703とを接
続するコンタクト層、3710は副セルのレイアウトの
面積を示す値である。
【0218】図38は、第11の実施形態において予め
与えられている副セルのトランジスタレベルのネットリ
ストを示しており、図38において、3801はNチャ
ネルトランジスタであり、これらNチャネルトランジス
タ3801はパストランジスタ論理の回路を構成してい
る。また、図38における信号線の信号線名は図37に
おけるレイアウト図の信号線名と対応している。
【0219】図39(a)〜(d)は、第11の実施形
態において予め与えられている副セルのトランジスタレ
ベルのネットリストから、副セルグラフ作成処理330
9により作成された副セルのグラフと、副セルのインオ
ーダのリスト作成処理3310により作成された副セル
のインオーダリストを示している。副セルのインオーダ
のリスト作成処理3310により作成された副セルのイ
ンオーダのリストは副セルのインオーダのリストライブ
ラリ3311に保存される。
【0220】図39(a)において、3901は図37
の(a)及び図38の(a)の副セルに対応する副セル
のグラフ、3902は副セルのグラフ3901の節点名
のインオーダ、3903は副セルのグラフ3901の各
節点の根からの相対距離をインオーダに並べたインオー
ダリスト、3904はインオーダリスト3903の先頭
数字を零とした場合の相対値のリストである。
【0221】図39(b)において、3905は図37
の(b)及び図38の(b)の副セルに対応する副セル
のグラフ、3906は副セルのグラフ3905の節点名
のインオーダ、3907は副セルのグラフ3905の各
節点の根からの相対距離をインオーダに並べたインオー
ダリストであり、3908はインオーダリスト3907
の先頭数字を零とした場合の相対値のリストである。
【0222】図39(c)において、3909は図37
の(c)及び図38の(c)の副セルに対応する副セル
のグラフ、3910は副セルのグラフ3909の節点名
のインオーダ、3911は副セルのグラフ3909の各
節点の根からの相対距離をインオーダに並べたインオー
ダリストであり、3912はインオーダリスト3911
の先頭数字を零とした場合の相対値のリストである。
【0223】図39(d)において、3913は図37
の(d)及び図38の(d)の副セルに対応する副セル
のグラフ、3914は副セルのグラフ3913の節点名
のインオーダ、3915は副セルのグラフ3913の各
節点の根からの相対距離をインオーダに並べたインオー
ダリスト、3916はインオーダリスト3915の先頭
数字を零とした場合の相対値のリストである。
【0224】図37(a)と図38(a)と図39
(a)、図37(b)と図38(b)と図39(b)、
図37(c)と図38(c)と図39(c)、及び図3
7(d)と図38(d)と図39(d)において信号線
名はそれぞれ対応している。
【0225】第11の実施形態において予め与えられて
いる副セルの優先順位は(d)、(c)、(b)、
(a)の順である。
【0226】図40は、図36に示されている部分グラ
フに対して、未処理部分グラフ取出処理3307、イン
オーダのリスト作成処理3308、インオーダのリスト
検索処理3312、副セル割当て処理3313及び未処
理部分グラフ判定処理3314がどのように処理を行な
うかを示した概略図であって、図40において、400
1、4002、4003、4005、4006は処理状
態を表している。
【0227】4001は未処理部分グラフ取出処理33
07直前の処理状態を示しており、処理状態4001の
内部のグラフは図36の分割された部分グラフグラフ構
造のみを示している。処理状態4001の内部のグラフ
には部分グラフが2つ存在する。初めはこの2つの部分
グラフの両者とも未処理である。
【0228】未処理部分グラフ取出処理3307により
部分グラフ3602が取出された場合、処理は処理状態
4001から処理状態4002へ移る。処理状態400
2ではインオーダのリスト作成処理3308により部分
グラフ3602のグラフの各節点の根からの相対距離を
インオーダに並べたリストであるインオーダリスト40
07が作成され、さらに、インオーダリスト4007の
先頭数字を零とした場合の相対値のリストであるインオ
ーダリスト4008が作成される。このインオーダリス
ト4008に対してインオーダのリスト検索処理331
2により、予め与えられている副セルに対して作成され
ている副セルのインオーダリストと一致する部分が検索
される。
【0229】第11の実施形態において予め与えられて
いる副セルの優先順位は、面積/トランジスタ数の値が
小さいものから順に与えられ、(d)、(c)、
(b)、(a)の順であるため、インオーダリスト40
08は、副セルのインオーダのリストライブラリ331
1に保存されている副セルのインオーダリスト391
6、3912、3908、3904に対して、前記の優
先順位の順に比較される。インオーダリスト4008
は、保存されているインオーダリスト3916、391
2、3908とは一致せず、インオーダリスト3904
と全て一致する。従って、部分グラフ3602は副セル
割当て処理3313によりインオーダリスト3904に
対応する副セル3901の1つに割り当てられる。処理
状態4003はこの割当て処理を示している。
【0230】処理状態4001においては部分グラフが
2つ存在し、部分グラフ3602に対する処理は終了し
たが、部分グラフ3601に対しては未処理である。こ
のため、未処理部分グラフ判定処理3314において未
処理部分グラフが存在すると判定され、処理は未処理部
分グラフ取出処理3307に移り、未処理部分グラフ取
出処理3307により、未処理である部分グラフ360
1が取出される。処理は処理状態4001から処理状態
4004へ移る。
【0231】処理状態4004においては、インオーダ
のリスト作成処理3308により部分グラフ3601の
グラフの各節点の根からの相対距離をインオーダに並べ
たリストであるインオーダリスト4009と、このイン
オーダリスト4009の先頭数字を零としとした場合の
相対値のリストである前方検索用のインオーダリスト4
010と、インオーダリスト4009の最後尾数字を零
とした場合の相対値のリストである後方検索用のインオ
ーダリスト4011とが作成される。
【0232】前方検索用のインオーダリスト401にお
いては先頭から、また後方検索用のインオーダリスト4
011においては最後尾から、予め与えられている副セ
ルに対して作成されている副セルのインオーダリストと
一致する部分がそれぞれ検索される。第11の実施形態
において予め与えられている副セルの優先順位は
(d)、(c)、(b)、(a)であるため、前方検索
用のインオーダリスト4010及び後方検索用のインオ
ーダリスト4011は、副セルのインオーダのリストラ
イブラリに保存されている副セルのインオーダリスト3
916、3912、3908、3904に対して、前記
の優先順位の順に比較される。
【0233】図46は前記の比較処理の方法を示してお
り、図46において、4601は優先順位が一番高い副
セル(d)に対応するインオーダのリストとの比較処
理、4011は後方検索用リストであって、相対値は逆
順に検索されるため、ここでは逆順に表している。
【0234】比較処理4601においては、前方検索用
のインオーダリスト4010及び後方検索用のインオー
ダリスト4011の両者とも副セル(d)に対応するイ
ンオーダリスト3916と一致しない。そこで、次に優
先順位が高い副セル(b)に対応するインオーダリスト
3912に対する比較を行なう。比較処理4602は、
前方検索用のインオーダリスト4010及び後方検索用
のインオーダリスト4011と副セル(c)に対応する
インオーダリスト3912との比較処理を示している。
比較処理4602においては、前方検索用のインオーダ
リスト4010及び後方検索用のインオーダリスト40
11の両者とも副セル(c)に対応するインオーダリス
ト3912と一致しない。そこで、次に優先順位が高い
副セル(b)に対応するインオーダリスト3908に対
する比較を行なう。比較処理4603は前方検索用のイ
ンオーダリスト4010及び後方検索用のインオーダリ
スト4011と副セル(b)に対応するインオーダリス
ト3908との比較処理を示している。
【0235】比較処理4603においては、前方検索用
のインオーダリスト4010では一致しないが、後方検
索用のインオーダリスト4011で一致する部分が存在
する。この一致する部分を副セル(b)に割り当てる。
処理状態4005はこの割当て処理を示しており、後方
検索用のインオーダリスト4011の一致した部分を副
セル(b)に割り当てる。この割当てでは後方検索用の
インオーダリスト4011において一致しなかった部分
が存在する。この一致しなかった部分に対して再度イン
オーダリストを作成する。つまり、部分グラフ3601
における未割当てのグラフに対して、グラフの各節点の
根からの相対距離をインオーダに並べたリストであるイ
ンオーダリスト4012と、このインオーダリスト40
12のインオーダのリストの先頭数字を零とした場合の
相対値のリストである前方検索用のインオーダリスト4
013と、インオーダリスト4012の最後尾数字を零
とした場合の相対値のリストである後方検索用のインオ
ーダリスト4014が作成される。
【0236】第11の実施形態において予め与えられて
いる副セルの優先順位は(d)、(c)、(b)、
(a)であるため、前方検索用のインオーダリスト40
13及び後方検索用のインオーダリスト4014は、副
セルのインオーダのリストライブラリ3311に保存さ
れている副セルのインオーダリスト3916、391
2、3908、3904に対してこの順に比較される。
この比較では前方検索用のインオーダリスト4013が
副セル(b)に対応するインオーダリスト3908にそ
の全てが一致する。このため処理状態4004において
インオーダリスト3908と一致しなかった部分は、処
理状態4005において部分グラフ3905に割り当て
られる。
【0237】この結果、部分グラフ3601は副セル割
当て処理3313により、インオーダリスト3908に
対応する副セル(b)の2つの組合せに割り当てられ
る。処理状態4006はこの割当て状態を示している。
【0238】図36に示す部分グラフは図41に示す4
101、4102、4103の3つの組合せに割り当て
られ、4101は副セル(b)、4102は副セル
(b)、4103は副セル(a)に割り当てられる。図
36に示す部分グラフ3601の節点Iは4104にお
けるI1及び4105におけるI2に分割されている。
【0239】前記の割当て処理に基づき副セル配置配線
処理3303によって部分回路のレイアウトが生成され
る。
【0240】図42(a)は副セルの配置を示し、図4
2(b)は副セルの配線を示しており、図42におい
て、4201は4103に割り当てられた副セル(a)
に対応するレイアウト、4202は4102に割り当て
られた副セル(b)に対応するレイアウト、4203は
4101に割り当てられた副セル(b)に対応するレイ
アウトである。4204は第2の金属層、4205は部
分回路のレイアウトの信号出力端子、4206は部分回
路のレイアウトの信号入力端子、4207は第1の金属
層3703と第2の金属層4204とを接続するコンタ
クト層である。図34のトランジスタレベルのネットリ
ストとして与えられた部分回路のレイアウトは図42
(c)となる。
【0241】尚、ここでは検索用のインオーダリストと
して、前方検索用のインオーダリスト及び後方検索用の
インオーダリストを作成し、この両者と副セルのインオ
ーダリストとを比較したが、前方検索用インオーダリス
トのみを作成し、これと副セルのインオーダリストと比
較するだけでもよいし、また、後方検索用のインオーダ
のみを作成し、これと副セルのインオーダリストを比較
するだけでもよい。
【0242】図43は、図36に示す部分回路の分割済
グラフ3601に対して、副セルの組合せを全て求める
場合の処理の流れを示した概略図であって、図43にお
いて、4301、4302、4303、4304、43
05、4306、4307、4308、4309、43
10、4311、43120、4313、4314、4
315は処理状態を表し、4316、4317、431
8、4319、4320、4321、4322は処理状
態4306、4308、4310、4312、431
3、4314、4315において割り当てられている副
セルの組み合せと、各副セルの面積の値3710から求
められる組合せ副セルの面積の合計値である。
【0243】処理状態4301は、部分グラフ3601
が未処理部分グラフ取出処理により取り出された処理状
態を表しており、該処理状態4301は図40における
処理状態4004と対応している。処理状態4304
は、部分グラフ3601のインオーダリストと副セルの
インオーダリストのリストライブラリ3311とから、
部分グラフ3601のインオーダリストに対して副セル
(b)に一致する部分を検索し、互いに対応する部分を
副セル(b)に割り当てた処理状態を表しており、該処
理状態4304は図40における処理状態4005と対
応している。処理状態4310は、直前の処理状態43
04において未だ一致していないインオーダリストの部
分に対して、副セル(b)が割り当てられ、部分グラフ
3601が副セル(b)の2個の組合せに割り当てられ
たことを表しており、該処理状態4310は図40にお
ける処理状態4006と対応している。処理状態431
0においては、部分グラフ3601に対して割り当てら
れた副セル(b)の面積の合計を算出し、算出された面
積値8は4318の部分に示されている。
【0244】処理状態4302及び処理状態4303は
処理状態4301に対して副セル(a)が割り当てられ
た処理状態を表している。処理状態4305は直前の処
理状態4302又は処理状態4303において未だ一致
していないインオーダリストの一部分に対して副セル
(a)が割り当てられた処理状態を示している。処理状
態4306は、直前の処理状態4302において未だ一
致していないインオーダリストの部分に対して副セル
(c)が割り当てられ、元の部分グラフ3601が、1
つの副セル(a)と1つの副セル(c)との組み合せに
割り当てられたことを示している。処理状態4306に
おいては組み合わされた副セルの合計面積9は4316
の部分に示されている。
【0245】処理状態4307は、直前の処理状態43
02において一致していないインオーダリストの一部分
に対して副セル(b)が割り当てられた処理状態、及び
直前の処理状態4304において一致していないインオ
ーダリストの一部分に対して副セル(a)が割り当てら
れた処理状態を表している。処理状態4308は直前の
処理状態4303において一致していないインオーダリ
ストの一部分に対して副セル(d)が割り当てられた処
理状態を表しており、該処理状態4308においては組
み合わされた副セルの合計面積9は4317の部分に示
されている。処理状態4309は直前の処理状態430
3において一致していないインオーダリストの一部分に
対して副セル(a)が割り当てられた処理状態を表して
いる。処理状態4311は、直前の処理状態4305に
おいて一致していないインオーダリストの一部分に対し
て副セル(a)が割り当てられた処理状態、及び直前の
処理状態4309において一致していないインオーダリ
ストの一部分に対して副セル(a)が割り当てられた処
理状態を表している。処理状態4312は直前の処理状
態4305において一致していないインオーダリストの
一部分に対して副セル(b)が割り当てられた処理状態
を表しており、該処理状態4312においては組み合わ
された副セルの合計面積10は4319の部分に示され
ている。処理状態4313は、直前の処理状態4307
において一致していないインオーダリストの一部分に対
して副セル(a)が割り当てられた処理状態を表してお
り、該処理状態4313においては組み合わされた副セ
ルの合計面積10は4320に示されている。処理状態
4314は直前の処理状態4309において一致してい
ないインオーダリストの一部分に対して副セル(b)が
割り当てられた処理状態を表しており、該処理状態43
14においては組み合わされた副セルの合計面積10は
4321の部分に示されている。処理状態4315は直
前の処理状態4311において一致していないインオー
ダリストの一部分に対して副セル(a)が割り当てられ
た処理状態を表しており、該処理状態4315において
は組み合わされた副セルの合計面積12は4322の部
分に示されている。
【0246】図43に示す処理の概略図においては、処
理状態4306、4308、4310、4312、43
13、4314、4315により全ての副セルの組合わ
せを求めている。これらの組合せに対して、予め与えら
れている副セルの面積3710より、その組合せを部分
回路に割り当てたときの部分回路のレイアウトを構成す
る副セルの面積の合計値を算出する。処理状態430
6、4308、4310、4312、4313、431
4、4315のそれぞれに対して、4316、431
7、4318、4319、4320、4321、432
2の部分回路の面積の値が副セル面積の値3710より
算出される。これらの副セル面積のうちで最小のものが
選ばれるため、第11の実施形態においては、処理状態
4310の組合せが選ばれる。処理状態4310により
得られた部分回路のレイアウトは図42の(c)と同じ
になる。このように副セルの面積が最小になる組合せを
求めることにより、より小さい面積の部分回路レイアウ
トセルを生成できる。
【0247】以上説明したように第11の実施形態に係
る半導体集積回路の設計方法によると、論理回路から複
数個の部分回路を作成し、複数個の部分回路のトランジ
スタレベルのネットリストと予め準備されている複数種
類の副セルのレイアウトとから各部分回路のレイアウト
を生成し、得られた各部分回路のレイアウトに基づき論
理回路全体のレイアウトを作成することが可能となる。
この設計方法は、部分回路を副セルの組み合わせにより
作成するので、既存の自動配置配線処理を用いたレイア
ウト生成が可能となる。また、半導体集積回路内の構成
要素について遅延時間を特に考慮する必要があるものを
同じ部分回路に含めることにより、部分回路においては
遅延時間を考慮する必要がある副セル同士が隣接して配
置されるので、論理回路全体としての配線遅延を抑制す
ることができる。
【0248】また、部分回路のトランジスレベルのネッ
トリストの接続構造をグラフに変換し、変換された部分
回路のグラフと、予め準備されていると共に優先順位が
与えられている副セルライブラリとを比較し、変換され
た部分回路のグラフに、該部分回路のグラフにおける副
セルライブラリと同形のグラフ又はその組合せを割り当
てて部分回路のレイアウトを生成するため、部分回路レ
イアウトを生成するために必要となる予め準備された副
セルライブラリの数を低減できる。
【0249】また、部分回路のトランジスレベルのネッ
トリストの接続構造をグラフに変換し、変換された部分
回路のグラフが木構造を持つとき、変換された部分回路
のグラフに、グラフのインオーダを用いて副セルの組合
せを割り当てて部分回路のレイアウトを生成するため、
部分回路レイアウトを生成するために必要となる予め準
備された副セルライブラリの数を低減できる。
【0250】また、部分回路のトランジスレベルのネッ
トリストの接続構造をグラフに変換し、変換された部分
回路のグラフに予め準備された副セルライブラリの組合
せを割り当てる場合、副セルライブラリの組合せが複数
種類存在するときには、複数のセルライブラリの組合せ
の全部又は一部分を求め、求めた組合せのうち部分回路
のレイアウトの面積が最小になる副セルライブラリの組
合せを用いて部分回路のレイアウトを生成するため、部
分回路のレイアウト面積を小さくすることができ、これ
により、全体のレイアウトの面積を小さくすることがで
きる。
【0251】また、部分回路のトランジスレベルのネッ
トリストの接続構造をグラフに変換し、変換された部分
回路のグラフに閉路が存在するとき、部分回路のグラフ
における閉路部分を切断して木構造を持つ部分グラフを
作成し、変換された部分回路のグラフに、該部分回路の
グラフにおける副セルライブラリと同形のグラフ又はそ
の組合せを割り当てて部分回路のレイアウトを生成する
ため、部分回路のレイアウトを生成するために必要とな
る予め準備された副セルライブラリの数を低減すること
ができる。
【0252】
【発明の効果】請求項1の発明に係る半導体集積回路の
設計方法によると、論理回路より分離された組み合わせ
回路部から作成された複数の部分回路をトランジスタレ
ベルの回路に変換する際に、部分回路毎に元の論理例え
ばCMOS論理を他の論理例えばパストランジスタ論理
やダイナミック論理等に置き換えることができるため、
よりデバイス数の少ない論理方式を選択できるので、作
成されるブロックの面積、処理速度及び消費電力を小さ
くすることが可能となる。
【0253】請求項2の発明に係る半導体集積回路の設
計方法によると、パストランジスタ論理やダイナミック
論理等のトランジスタレベルの回路の処理速度や動作信
頼性等の回路特性に影響を及ぼすトランジスタ段数の上
限が制約されるため、部分回路がパストランジスタ論理
やダイナミック論理等のトランジスタレベルの回路に変
換されたときの処理速度や動作信頼性等の回路性能が低
減する事態を回避することができる。
【0254】請求項3の発明に係る半導体集積回路の設
計方法によると、部分回路をパストランジスタ論理やダ
イナミック論理等のトランジスタレベルの回路に変換す
る際に、入力信号数により決まるトランジスタ段数が制
約された範囲内で、より多くのゲートを含む回路をより
少ないトランジスタ数で実現できる可能性が増すので、
同じ機能で回路面積、処理速度及び消費電力に優れた回
路を作成することが可能となる。
【0255】請求項4の発明に係る半導体集積回路の設
計方法によると、トランジスタレベルの回路の処理速度
や動作信頼性等の回路特性に影響を及ぼすトランジスタ
段数の上限が制約されると共に、トランジスタ段数が制
約された範囲内でより多くのゲートを含む回路をより少
ないトランジスタ数で実現できる可能性が増加するの
で、パストランジスタ論理やダイナミック論理等のトラ
ンジスタレベルの回路における回路面積、処理速度、動
作信頼性及び消費電力に優れた回路を作成することが可
能となる。
【0256】請求項5の発明に係る半導体集積回路の設
計方法によると、論理コーン毎に部分集合が作成される
ため、1つの出力信号を作成するのに必要な入力信号及
び回路構成要素が分かるので、各出力信号毎の論理コー
ンから部分回路を作成することにより部分回路の出力信
号を1つにすることができ、これによって、回路動作を
安定させることが可能となる。
【0257】請求項6の発明に係る半導体集積回路の設
計方法によると、ファンアウト数が多いため駆動するの
に大きいバッファを必要とする論理コーンが分かるの
で、該論理コーンの出力部に必要な大きさのバッファを
設けることができる。
【0258】請求項7の発明に係る半導体集積回路の設
計方法によると、部分回路の出力信号は1つに限定され
るため、回路動作が安定すると共に出力部に設けるバッ
ファの数を減らすことが可能になるので、回路面積、処
理速度及び消費電力の面でより優れた回路を作成するこ
とが可能となる。
【0259】請求項8の発明に係る半導体集積回路の設
計方法によると、冗長な部分回路が低減するので、回路
面積及び消費電力の面で優れた回路を作成することが可
能となる。
【0260】請求項9の発明に係る半導体集積回路の設
計方法によると、部分回路を他の論理例えばパストラン
ジスタ論理に書き換えたときにトランジスタ数が少なく
なる可能性が大きくなるため、部分回路の出力部に必要
な出力バッファの数を低減することができるので、回路
面積、処理速度及び消費電力の面でより優れた回路を作
成することが可能となる。
【0261】請求項10の発明に係る半導体集積回路の
設計方法によると、部分回路をパストランジスタ論理等
の回路に変換する処理を一定の手続きに従って行なうこ
とができるので、計算機による自動処理によって部分回
路をトランジスタレベルの部分回路に変換することが容
易になる。
【0262】請求項11の発明に係る半導体集積回路の
設計方法によると、部分回路への入力の遅延時間を考慮
した二分決定グラフを作成できるので、パストランジス
タ論理を用いた回路に変換したときに、最適な遅延時間
を持つ回路を作成することができる。
【0263】請求項12の発明に係る半導体集積回路の
設計方法によると、パストランジスタ論理を用いた回路
において入力信号数が少ないときには信号増幅器の面積
割合が増大してCMOSに対する面積優位性が得られな
いという事態を回避でき、パストランジスタ論理の面積
優位性がある部分回路に対してはパストランジスタ論理
を用いる一方、パストランジスタ論理の面積優位性がな
い部分回路に対してはCMOS論理を用いることができ
るので、全体として面積の小さい半導体集積回路を作成
することができる。
【0264】請求項13の発明に係る半導体集積回路の
設計方法によると、パストランジスタ論理の面積優位性
がある部分回路はパストランジスタ論理を用いた回路に
変換する一方、パストランジスタ論理の面積優位性がな
い部分回路はCMOS論理を用いた回路に変換するの
で、全体として面積の小さい半導体集積回路を作成する
ことができる。
【0265】請求項14の発明に係る半導体集積回路装
置の設計方法によると、パストランジスタ論理を用いる
と高速になる部分はパストランジスタ論理を用い、パス
トランジスタ論理を用いても高速にならない部分はCM
OS論理を用いることができるため、パストランジスタ
論理を用いた回路においてドレイン端子−ソース端子の
直列接続段数が大きくなりすぎるため遅延時間が増大し
たり、動作が不安定になったりする事態を回避できるの
で、回路全体として高速で安定した半導体集積回路を作
成することが可能となる。
【0266】請求項15の発明に係る半導体集積回路の
設計方法によると、パストランジスタ論理を用いた回路
においてドレイン端子−ソース端子間を信号が通過する
ことにより電圧降下が発生して、入力がトランジスタの
ゲート端子に加えられるときに十分な動作が行なえなく
なる事態を回避できるので、高速で安定した動作を持つ
半導体集積回路を作成することが可能となる。
【0267】請求項16の発明に係る半導体集積回路の
設計方法によると、パストランジスタのドレイン端子−
ソース端子間の最大の直列接続段数に応じて最適な能力
と面積を持つ信号増幅器を挿入するため、増幅能力は高
いが面積の大きい信号増幅器を全ての部分回路の出力に
付加することに起因して回路全体の面積が増大する問題
を回避できるので、高速で安定した動作を持ち且つ適切
な面積を持つ半導体集積回路を作成することが可能とな
る。
【0268】請求項17の発明に係る半導体集積回路の
設計方法によると、トランジスタレベルの部分回路を予
め準備されている副セルライブラリの配置配線により作
成することができるので、既存の自動配置配線処理を用
いたレイアウト生成が可能になる。この場合、組み合せ
回路部の遅延時間を特に考慮する必要がある回路要素に
ついては同じ部分回路に含めることにより、遅延時間を
特に考慮する必要がある回路要素群の配線遅延を抑制す
ることができる。
【0269】請求項18の発明に係る半導体集積回路の
設計方法によると、第1のグラフから1個以上の第2の
グラフの組合せよりなる組み合わせグラフを作成し、作
成された組み合わせグラフを第1のグラフと対応するト
ランジスタレベルの部分回路に割り当てるため、部分回
路レイアウトを生成するために必要となる予め準備され
た副セルライブラリの数を抑制することができる。
【0270】請求項19の発明に係る半導体集積回路の
設計方法によると、第1のグラフから1個以上の第2の
グラフの組合せよりなる組み合わせグラフを作成する処
理が容易且つ的確になるので、部分回路レイアウトを生
成するために必要となる予め準備された副セルライブラ
リの数を抑制することができる。
【0271】請求項20の発明に係る半導体集積回路の
設計方法によると、第1のグラフから1個以上の第2の
グラフの組合せよりなる組み合わせグラフを作成する処
理が容易且つ的確になるので、部分回路レイアウトを生
成するために必要となる予め準備された副セルライブラ
リの数を抑制することができる。
【0272】請求項21の発明に係る半導体集積回路の
設計方法によると、第1のグラフには副セルライブラリ
の合計面積が最小となる組み合わせグラフが割り当てら
れるので、全体のレイアウトの面積を小さくすることが
できる。
【0273】請求項22の発明に係る半導体集積回路に
よると、パストランジスタ論理部におけるトランジスタ
のゲート幅の総和を変えることなく、各トランジスタに
おける飽和電流値を大きくすることができるので、信号
の伝搬速度が速いパストランジスタ論理の半導体集積回
路が得られる。
【0274】請求項23の発明に係る半導体集積回路に
よると、信号増幅器を構成する最終段のトランジスタの
飽和電流値は、ドレイン端子が信号増幅器の出力に接続
されているすべてのトランジスタの飽和電流値の合計値
以上であるので、信号伝搬速度をパストランジスタ回路
の性能の限界まで引き出すことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る半導体集積回路
の設計方法の流れを示すフロー図である。
【図2】本発明の各実施形態に係る半導体集積回路の設
計方法を実現するためのハードウエア構成を示す図であ
る。
【図3】本発明の第1の実施形態に係る半導体集積回路
の設計方法における論理回路のゲートレベルのネットリ
ストの一例を示す図である。
【図4】本発明の第1の実施形態に係る半導体集積回路
の設計方法におけるゲートレベルの部分回路と同じ論理
を実現するパストランジスタ論理による回路図である。
【図5】本発明の第1、第2及び第3の実施形態に係る
半導体集積回路の設計方法における部分回路のレイアウ
トセルの一例である。
【図6】本発明の第2の実施形態に係る半導体集積回路
の設計方法における論理回路のゲートレベルのネットリ
ストの一例を示す図である。
【図7】本発明の第2の実施形態に係る半導体集積回路
の設計方法におけるゲートレベルの部分回路の回路図で
ある。
【図8】本発明の第2の実施形態に係る半導体集積回路
の設計方法におけるゲートレベルの部分回路の回路図で
ある。
【図9】本発明の第2の実施形態に係る半導体集積回路
の設計方法におけるゲートレベルの部分回路と同じ論理
を実現するパストランジスタ論理による回路図である。
【図10】本発明の第3の実施形態に係る半導体集積回
路の設計方法における論理回路のゲートレベルのネット
リストの一例を示す図である。
【図11】本発明の第3の実施形態に係る半導体集積回
路の設計方法におけるゲートレベルの部分回路の回路図
である。
【図12】本発明の第3の実施形態に係る半導体集積回
路の設計方法におけるゲートレベルの部分回路の回路図
である。
【図13】本発明の第2の実施形態に係る半導体集積回
路の設計方法における部分回路作成処理の流れを示すフ
ロー図である。
【図14】本発明の第3の実施形態に係る半導体集積回
路の設計方法における部分回路作成処理の流れを示すフ
ロー図である。
【図15】本発明の第3の実施形態に係る半導体集積回
路の設計方法の流れを示すフロー図である。
【図16】本発明の第4の実施形態に係る半導体集積回
路の設計方法における論理圧縮処理の流れを示すフロー
図である。
【図17】本発明の第5の実施形態に係る半導体集積回
路の設計方法におけるトランジスタ回路変換処理の流れ
を示すフロー図である。
【図18】本発明の第6の実施形態に係る半導体集積回
路の設計方法におけるトランジスタ回路変換処理の流れ
を示すフロー図である。
【図19】本発明の第7の実施形態に係る半導体集積回
路の設計方法におけるトランジスタ回路変換処理の流れ
を示すフロー図である。
【図20】本発明の第8の実施形態に係る半導体集積回
路の設計方法におけるトランジスタ回路変換処理の流れ
を示すフロー図である。
【図21】本発明の第4、第5、第6、第7及び第8の
実施形態に係る半導体集積回路の設計方法における論理
レベルの回路の一例を示す図である。
【図22】本発明の第4の実施形態に係る半導体集積回
路の設計方法における部分回路の二分決定グラフの作成
及び圧縮処理の一例を示す図である。
【図23】本発明の第4、第7及び第8の実施形態に係
る半導体集積回路の設計方法における部分回路のパスト
ランジスタ論理を用いたトランジスタレベルの回路の一
例を示す図である。
【図24】本発明の第4、第5、第6、第7及び第8の
実施形態に係る半導体集積回路の設計方法における部分
回路間の接続を表すネットリストの一例を示す図であ
る。
【図25】本発明の第5の実施形態に係る半導体集積回
路の設計方法におけるトランジスタ回路変換処理の処理
の一例を示す図である。
【図26】本発明の第6の実施形態に係る半導体集積回
路の設計方法におけるトランジスタ回路変換処理の処理
の一例を示す図である。
【図27】本発明の第7の実施形態に係る半導体集積回
路の設計方法におけるトランジスタ回路変換処理の処理
の一例を示す図である。
【図28】本発明の第8の実施形態に係る半導体集積回
路の設計方法におけるトランジスタ回路変換処理の処理
の一例を示す図である。
【図29】本発明の第8の実施形態に係る半導体集積回
路の設計方法におけるトランジスタ回路変換処理の処理
の結果の一例を示す図である。
【図30】本発明の第9の実施形態に係る半導体集積回
路の設計方法におけるトランジスタレベルの回路図の説
明図である。
【図31】本発明の第9の実施形態に係る半導体集積回
路の設計方法における回路の入力信号及び出力信号の波
形である。
【図32】本発明の第10の実施形態に係る半導体集積
回路の設計方法におけるトランジスタレベルの回路図の
説明図である。
【図33】本発明の第10の実施形態に係る半導体集積
回路の設計方法における部分回路レイアウト生成処理の
流れを示すフロー図である。
【図34】本発明の第11の実施形態に係る半導体集積
回路の設計方法における部分回路のトランジスタレベル
のネットリストの一例を示す図である。
【図35】本発明の第11の実施形態に係る半導体集積
回路の設計方法における部分回路のトランジスタレベル
のネットリストの一例に対応するグラフを示す図であ
る。
【図36】本発明の第11の実施形態に係る半導体集積
回路の設計方法における図35のグラフを分割した結果
である木構造の部分グラフを示す図である。
【図37】本発明の第11の実施形態に係る半導体集積
回路の設計方法における予め与えられている副セルのレ
イアウトを示す図である。
【図38】本発明の第11の実施形態に係る半導体集積
回路の設計方法における予め与えられている副セルのト
ランジスタレベルのネットリストを示す図である。
【図39】本発明の第11の実施形態における予め与え
られている副セルのグラフを示す図ある。
【図40】本発明の第11の実施形態に係る半導体集積
回路の設計方法における未処理グラフ取出処理、インオ
ーダのリスト作成処理、インオーダのリスト検索処理、
副セル割当て処理及び未処理部分グラフ判定処理の処理
の流れを示す概略図である。
【図41】本発明の第11の実施形態に係る半導体集積
回路の設計方法における副セルの割当て結果を示す図で
ある。
【図42】本発明の第11の実施形態に係る半導体集積
回路の設計方法における部分回路のレイアウトの配置、
配線及び配置配線結果のレイアウトを示す図である。
【図43】本発明の第11の実施形態に係る半導体集積
回路の設計方法における副セルの割当てが複数存在する
場合の副セル割当て処理流れを示す概略図である。
【図44】本発明の第4の実施形態に係る半導体集積回
路の設計方法における部分回路のレイアウトの一例を示
す図である。
【図45】本発明の第4の実施形態に係る半導体集積回
路の設計方法におけるブロック全体のレイアウトの一例
を示す図である。
【図46】本発明の第11の実施形態に係る半導体集積
回路の設計方法における部分グラフのインオーダのリス
トと副セルのインオーダのリストの比較を示す図であ
る。
【符号の説明】
101 データ入力処理 102 レジスタ部分離処理 103 部分回路作成処理 104 トランジスタ回路変換処理 105 部分回路レイアウト生成処理 106 レイアウト配置配線処理 107 データ出力処理 319 レジスタ部 320 組合せ回路部 1501 論理圧縮処理 1602 入力優先度決定処理 1603 二分決定グラフ作成処理 1604 二分決定グラフ圧縮処理 1702 入力信号線数比較処理 1703、1805、1901、2001 パストラ
ンジスタ論理変換処理 1704、1806 CMOS論理変換処理 1802 パストランジスタ論理トランジスタ数見積
処理 1803 CMOS論理トランジスタ数見積処理 1804 トランジスタ数比較処理 1902 パストランジスタ直列段数計算処理 1903 直列段数許容判断処理 1904 CMOS論理置換処理 2003 パストランジスタ最大直列段数計算処理 2004 ファンアウト先検索処理 2005 直列段数判断処理 2006 信号増幅器挿入処理 2801、2802 信号増幅器 3301 副セル割り当て処理 3302 副セルのレイアウト及びトランジスタレベ
ルネットリストのライブラリ 3303 副セル配置配線処理 3304 グラフ作成処理 3305 閉路判定処理 3306 グラフ分割処理 3308 インオーダのリスト作成処理 3311 副セルのインオーダのリストライブラリ 3601 木構造の部分グラフ 3602 木構造の部分グラフ 3710 副セルのレイアウトの面積値 3901、3905、3909、3913 副セルの
グラフ 3904、3908、3912、3916 副セルの
インオーダのリスト 4010、4013 前方検索用のインオーダのリス
ト 4011、4014 後方検索用のインオーダのリス

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 論理回路をレジスタよりなるレジスタ部
    とレジスタ以外の回路要素よりなる組合せ回路部とに分
    離する論理回路分離工程と、 前記組合せ回路部を構成する回路要素を要素とする集合
    に対して、各要素が複数の部分集合に属することを許し
    且つすべての要素がいずれかの部分集合に属するように
    複数の部分集合を作成し、該複数の部分集合のそれぞれ
    を部分回路とする部分回路作成工程と、 前記部分回路のそれぞれをトランジスタレベルの部分回
    路に変換するトランジスタ回路変換工程と、 前記トランジスタレベルの部分回路毎に部分回路レイア
    ウトセルをそれぞれ生成する部分回路レイアウト生成工
    程と、 前記部分回路レイアウトセルと前記のレジスタ部を構成
    する各レジスタとを単位セルとしてセルベースのレイア
    ウトの配置及び配線を行なうことにより、前記論理回路
    のレイアウトを作成するレイアウト配置配線工程とを備
    えていることを特徴とする半導体集積回路の設計方法。
  2. 【請求項2】 前記部分回路作成工程は、 前記複数の部分回路のそれぞれにおける入力信号数に上
    限の制約を設ける第1の工程と、 前記複数の部分回路のそれぞれにおける入力信号の数が
    前記上限の制約を満たすように前記複数の部分集合を作
    成する第2の工程とを含むことを特徴とする請求項1に
    記載の半導体集積回路の設計方法。
  3. 【請求項3】 前記部分回路作成工程における第2の工
    程は、前記複数の部分回路のそれぞれにおける入力信号
    の数が前記上限の制約を満たし、且つ前記複数の部分集
    合のそれぞれを構成する要素の数が最大となるように前
    記複数の部分集合を作成する工程を含むことを特徴とす
    る請求項2に記載の半導体集積回路の設計方法。
  4. 【請求項4】 前記部分回路作成工程は、 前記複数の部分回路のそれぞれにおける入力信号数を表
    す項と、前記複数の部分集合のそれぞれを構成する要素
    の数を表す項とを含む評価関数を作成する第1の工程
    と、 前記評価関数の値が最小となるように前記複数の部分集
    合を作成する第2の工程とを含むことを特徴とする請求
    項1に記載の半導体集積回路の設計方法。
  5. 【請求項5】 前記部分回路作成工程は、 前記複数の部分回路の境界となる複数個の信号を指定す
    る第1の工程と、 前記複数個の信号が各部分回路の境界となり且つ各部分
    回路の出力信号及び前記複数個の信号を生成するために
    必要な回路要素が含まれるように前記複数の部分集合を
    作成する第2の工程とを含むことを特徴とする請求項1
    に記載の半導体集積回路の設計方法。
  6. 【請求項6】 前記部分回路作成工程における第1の工
    程は、前記複数個の信号としてファンアウト数が所定数
    以上である信号を指定する工程を含むことを特徴とする
    請求項5に記載の半導体集積回路の設計方法。
  7. 【請求項7】 前記部分回路作成工程における第2の工
    程は、前記第1の工程において指定した複数の信号以外
    の信号に出力信号が含まれないように前記複数の部分集
    合を作成する工程を含むことを特徴とする請求項5に記
    載の半導体集積回路の設計方法。
  8. 【請求項8】 前記部分回路作成工程は、 一の前記回路要素が属する部分集合の数に上限の制約を
    設ける第1の工程と、 一の前記回路要素が属する部分集合の数が前記上限の制
    約を満たすように前記複数の部分集合を作成する第2の
    工程とを含むことを特徴とする請求項1に記載の半導体
    集積回路の設計方法。
  9. 【請求項9】 前記部分回路作成工程は、 前記部分集合を構成する回路要素の数に下限の制約を設
    ける第1の工程と、 作成された複数の部分集合のそれぞれを構成する回路要
    素の数が前記下限の制約を満たさない要素少数部分集合
    があるとき、該要素少数部分集合よりなる部分回路のフ
    ァンアウト数に相当する数の前記要素少数部分集合より
    なる要素少数部分回路を作成する第2の工程と、 前記要素少数部分回路を、該要素少数部分回路の出力信
    号を入力とする部分集合よりなる部分回路に結合する第
    3の工程とを含むことを特徴とする請求項1に記載の半
    導体集積回路の設計方法。
  10. 【請求項10】 前記トランジスタ回路変換工程は、 前記部分回路作成工程において作成された複数の部分回
    路毎に、当該部分回路の論理関数の出力信号を根にする
    と共に当該部分回路の入力信号を枝とする二分決定グラ
    フを作成する第1の工程と、 前記複数の部分回路のそれぞれを前記二分決定グラフに
    より論理圧縮処理を行なう第2の工程と、 論理圧縮処理が行なわれた各部分回路をトランジスタレ
    ベルの部分回路に変換する第3の工程とを含むことを特
    徴とする請求項1に記載の半導体集積回路の設計方法。
  11. 【請求項11】 前記トランジスタ回路変換工程におけ
    る第1の工程は、前記組合せ回路部の入力からの遅延時
    間が相対的に大きい入力信号を前記二分決定グラフの根
    側の枝に割り当てると共に、前記組合せ回路部の入力か
    らの遅延時間が相対的に小さい入力信号を前記二分決定
    グラフの葉側の枝に割り当てることにより、前記二分決
    定グラフを作成する工程を含み、 前記トランジスタ回路変換工程における第3の工程は、
    論理圧縮処理が行なわれた各部分回路をパストランジス
    タ論理を用いたトランジスタレベルの部分回路に変換す
    る工程を含むことを特徴とする請求項10に記載の半導
    体集積回路の設計方法。
  12. 【請求項12】 前記トランジスタ回路変換工程は、 前記複数の部分回路のそれぞれをパストランジスタ論理
    を用いたトランジスタレベルの部分回路に変換する際の
    当該トランジスタレベルの回路における入力信号数の下
    限の制約を設ける第1の工程と、 前記複数の部分回路のそれぞれにおける入力信号の数が
    前記下限の制約を満たしているか否かを判断し、入力信
    号数が前記下限の制約を満たしているときには前記部分
    回路をパストランジスタ論理を用いたトランジスタレベ
    ルの回路に変換する一方、入力信号数が前記下限の制約
    を満たしていないときには前記部分回路をCMOS論理
    を用いたトランジスタレベルの回路に変換する第2の工
    程とを含むことを特徴とする請求項1に記載の半導体集
    積回路の設計方法。
  13. 【請求項13】 前記トランジスタ回路変換工程は、 前記複数の部分回路のそれぞれをパストランジスタ論理
    を用いたトランジスタレベルの回路に変換したときの第
    1のトランジスタ数と、前記複数の部分回路のそれぞれ
    をCMOS論理を用いたトランジスタレベルの回路に変
    換したときの第2のトランジスタ数とをそれぞれ算出す
    る第1の工程と、 前記第1のトランジスタ数が前記第2のトランジスタ数
    よりも少ないときには前記部分回路をパストランジスタ
    論理を用いたトランジスタレベルの回路に変換する一
    方、前記第2のトランジスタ数が前記第1のトランジス
    タ数よりも少ないときには前記部分回路をCMOS論理
    を用いたトランジスタレベルの回路に変換する第2の工
    程とを含むことを特徴とする請求項1に記載の半導体集
    積回路の設計方法。
  14. 【請求項14】 前記トランジスタ回路変換工程は、 前記複数の部分回路のそれぞれをパストランジスタ論理
    を用いてトランジスタレベルの部分回路に変換する際の
    当該トランジスタレベルの回路におけるパストランジス
    タのソース端子とドレイン端子との直列接続段数の上限
    の制約を設ける第1の工程と、 前記複数の部分回路のそれぞれをパストランジスタ論理
    を用いたトランジスタレベルの回路に変換する第2の工
    程と、 前記組合せ回路部の入力から出力までのすべての信号経
    路におけるパストランジスタのソース端子とドレイン端
    子との直列接続段数をそれぞれ算出する第3の工程と、 算出された直列接続段数が前記上限の制約を満たさない
    信号経路におけるパストランジスタ論理を用いたトラン
    ジスタレベルの回路の少なくとも一部分をCMOS論理
    を用いたトランジスタレベルの回路に置き換える第4の
    工程とを含むことを特徴とする請求項1に記載の半導体
    集積回路の設計方法。
  15. 【請求項15】 前記トランジスタ回路変換工程は、 前記複数の部分回路のそれぞれをパストランジスタ論理
    を用いたトランジスタレベルの回路に変換する第1の工
    程と、 変換されたトランジスタレベルの部分回路のファンアウ
    ト先にトランジスタのゲート端子への入力が1個以上存
    在するときには、変換されたトランジスタレベルの部分
    回路の出力に信号増幅器を挿入する第2の工程とを含む
    ことを特徴とする請求項1に記載の半導体集積回路の設
    計方法。
  16. 【請求項16】 前記トランジスタ回路変換工程は、 前記複数の部分回路のそれぞれをパストランジスタ論理
    を用いたトランジスタレベルの回路に変換する第1の工
    程と、 変換されたトランジスタレベルの部分回路のそれぞれの
    入力から出力までの信号経路におけるパストランジスタ
    のソース端子とドレイン端子との最大直列接続段数をそ
    れぞれ算出する第2の工程と、 前記最大直列接続段数が所定数以上の場合、前記最大直
    列段数が相対的に大きいトランジスタレベルの部分回路
    には増幅能力が相対的に大きい信号増幅器を挿入すると
    共に、前記最大直列段数が相対的に小さいトランジスタ
    レベルの部分回路には増幅能力が相対的に小さい信号増
    幅器を挿入する第3の工程とを含むことを特徴とする請
    求項1に記載の半導体集積回路の設計方法。
  17. 【請求項17】 前記部分回路レイアウト生成工程は、 複数種類の副セルのレイアウトをそれぞれ副セルライブ
    ラリとして準備する第1の工程と、 変換されたトランジスタレベルの部分回路に対して1個
    以上の前記の副セルライブラリの組合せを割り当てるこ
    とにより前記部分回路レイアウトセルを生成する第2の
    工程とを含み、 前記レイアウト配置配線工程は、 変換されたトランジスタレベルの部分回路に割り当てら
    れた前記副セルライブラリの配置及び配線を行なうこと
    により、前記論理回路のレイアウトを作成する工程を含
    むことを特徴とする請求項1に記載の半導体集積回路の
    設計方法。
  18. 【請求項18】 前記部分回路レイアウト生成工程にお
    ける第2の工程は、 前記副セルライブラリの優先順位を予め設ける優先順位
    設定工程と、 変換されたトランジスタレベルの部分回路のネットリス
    トから、該ネットリスト中の信号線を節点とし且つトラ
    ンジスタを枝とする第1のグラフを作成すると共に、前
    記副セルライブラリのネットリストから、該ネットリス
    ト中の信号線を節点とし且つトランジスタを枝とする第
    2のグラフを作成するグラフ作成工程と、 前記第2のグラフのうちから前記第1のグラフを構成す
    る部分グラフと同形のグラフを前記優先順位に基づいて
    検索することにより、前記第1のグラフから1個以上の
    前記第2のグラフの組合せよりなる組み合わせグラフを
    作成し、該組み合わせグラフを前記第1のグラフと対応
    する前記トランジスタレベルの部分回路に割り当てるグ
    ラフ割り当て工程とを含むことを特徴とする請求項17
    に記載の半導体集積回路の設計方法。
  19. 【請求項19】 前記第2の工程におけるグラフ作成工
    程は、木構造よりなる前記第1のグラフ及び第2グラフ
    を作成する工程を含み、 前記第2の工程におけるグラフ割り当て工程は、前記第
    1のグラフに基づき各節点の根からの相対的距離をイン
    オーダに並べた第1のリストを作成すると共に、前記第
    2のグラフに基づき各節点の根からの相対的距離をイン
    オーダに並べた第2のリストを作成し、作成された第1
    のリストと第2のリストとを比較して前記第1のリスト
    を前記第2のリストの組合せとして構成することにより
    前記組合せグラフを作成する工程を含むことを特徴とす
    る請求項18に記載の半導体集積回路の設計方法。
  20. 【請求項20】 前記第2の工程におけるグラフ作成工
    程は、 木構造よりなる前記第1のグラフ及び第2グラフを作成
    する工程と、 作成された第1のグラフに閉路が存在するときには、該
    閉路を構成する節点のうちの1個の節点を複数個に分割
    して前記の閉路を切断して前記第1のグラフを木構造の
    複数の部分グラフに分割する工程とを含み、 前記第2の工程におけるグラフ割り当て工程は、前記複
    数の部分グラフのそれぞれに基づき1個以上の前記第2
    のグラフの組合せよりなる部分組み合わせグラフを作成
    し、該部分組み合わせグラフを前記第1のグラフと対応
    する前記トランジスタレベルの部分回路にそれぞれ割り
    当てる工程を含むことを特徴とする請求項18に記載の
    半導体集積回路の設計方法。
  21. 【請求項21】 前記第2の工程におけるグラフ割り当
    て工程は、前記第1のグラフに基づき1個以上の前記第
    2のグラフの組合せよりなる組み合わせグラフを作成す
    る際、該組み合わせグラフが複数種類作成されたときに
    は、該複数種類の組合せグラフのうち副セルライブラリ
    の合計面積が最小となるものを選択し、選択された部分
    組み合わせグラフを前記第1のグラフと対応する前記ト
    ランジスタレベルの部分回路にそれぞれ割り当てる工程
    を含むことを特徴とする請求項18に記載の半導体集積
    回路の設計方法。
  22. 【請求項22】 パストランジスタ論理を用いた論理回
    路を備えた半導体集積回路であって、 前記論理回路が該論理回路を構成するすべてのトランジ
    スタのゲート端子で区切られてなる複数の部分回路と、 前記複数の部分回路のそれぞれを構成し、電源線又は接
    地線よりなる入力線に接続される入力側トランジスタ
    と、出力線に接続される出力側トランジスタと、前記入
    力側トランジスタ及び前記出力側トランジスタとソース
    端子又はドレイン端子が互いに接続された中間トランジ
    スタとからなるトランジスタ群とを備え、 前記トランジスタ群を構成するトランジスタのうち、出
    力側に位置するトランジスタの飽和電流値は入力側に位
    置するトランジスタの飽和電流値以下に設定されている
    ことを特徴とする半導体集積回路。
  23. 【請求項23】 パストランジスタ論理を用いた論理回
    路と、トランジスタよりなり前記論理回路に入力される
    信号線を駆動する信号増幅器とを備えた半導体集積回路
    であって、 前記信号増幅器を構成する最終段のトランジスタの飽和
    電流値は、前記論理回路を構成し且つドレイン端子が前
    記信号増幅器の出力に接続されているすべてのトランジ
    スタの飽和電流値の合計値以上に設定されていることを
    特徴とする半導体集積回路。
JP8189570A 1996-07-18 1996-07-18 半導体集積回路及びその設計方法 Withdrawn JPH1040270A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8189570A JPH1040270A (ja) 1996-07-18 1996-07-18 半導体集積回路及びその設計方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8189570A JPH1040270A (ja) 1996-07-18 1996-07-18 半導体集積回路及びその設計方法

Publications (1)

Publication Number Publication Date
JPH1040270A true JPH1040270A (ja) 1998-02-13

Family

ID=16243551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8189570A Withdrawn JPH1040270A (ja) 1996-07-18 1996-07-18 半導体集積回路及びその設計方法

Country Status (1)

Country Link
JP (1) JPH1040270A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9530109B2 (en) 2010-09-28 2016-12-27 International Business Machines Corporation Iterative pattern generation algorithm for plate design problems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9530109B2 (en) 2010-09-28 2016-12-27 International Business Machines Corporation Iterative pattern generation algorithm for plate design problems
US10108913B2 (en) 2010-09-28 2018-10-23 International Business Machines Corporation Iterative pattern generation algorithm for plate design problems

Similar Documents

Publication Publication Date Title
Chen et al. Low-power high-level synthesis for FPGA architectures
US5926396A (en) Logic synthesis method, semiconductor integrated circuit and arithmetic circuit
US6721926B2 (en) Method and apparatus for improving digital circuit design
US6396307B1 (en) Semiconductor integrated circuit and method for designing the same
US20060117280A1 (en) Digital circuit layout techniques using binary decision diagram for identification of input equivalence
US6360352B2 (en) Digital circuit layout techniques
Chen et al. Routability-driven flip-flop merging process for clock power reduction
US7725871B1 (en) SAT-based technology mapping framework
KR19990006276A (ko) 패스-트랜지스터 논리회로 및 그의 설계방법
US8042083B2 (en) Methods and systems for FPGA rewiring
US8667435B1 (en) Function symmetry-based optimization for physical synthesis of programmable integrated circuits
US6051031A (en) Module-based logic architecture and design flow for VLSI implementation
US7441212B1 (en) State machine recognition and optimization
Hsiao et al. High‐performance Multiplexer‐based Logic Synthesis Using Pass‐transistor Logic
US6938223B2 (en) Logic circuit having a functionally redundant transistor network
Das et al. A timing-driven approach to synthesize fast barrel shifters
JPH1040270A (ja) 半導体集積回路及びその設計方法
Li et al. An automatic transistor-level tool for GRM FPGA interconnect circuits optimization
Zheng et al. An integrated circuit partitioning and TDM assignment optimization framework for multi-FPGA systems
US7146582B2 (en) Logic circuit optimizing method, logic circuit optimizing device and logic circuit composing device
US7191427B2 (en) Method for mapping a logic circuit to a programmable look up table (LUT)
Chi et al. A reliable clock tree design methodology for ASIC designs
Ciric et al. Delay minimization and technology mapping of two-level structures and implementation using clock-delayed domino logic
Jiang BDD-based logic synthesis of MEM relay circuits
Badel et al. Design Methodology for MCML Standard Cells

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20031007