JP3165592B2 - データパス自動配置方法及びその装置 - Google Patents

データパス自動配置方法及びその装置

Info

Publication number
JP3165592B2
JP3165592B2 JP18324294A JP18324294A JP3165592B2 JP 3165592 B2 JP3165592 B2 JP 3165592B2 JP 18324294 A JP18324294 A JP 18324294A JP 18324294 A JP18324294 A JP 18324294A JP 3165592 B2 JP3165592 B2 JP 3165592B2
Authority
JP
Japan
Prior art keywords
circuit
data path
directional branch
evaluation
branch
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
Application number
JP18324294A
Other languages
English (en)
Other versions
JPH0850600A (ja
Inventor
昌彦 豊永
道明 村岡
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 Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP18324294A priority Critical patent/JP3165592B2/ja
Priority to US08/510,673 priority patent/US5657243A/en
Publication of JPH0850600A publication Critical patent/JPH0850600A/ja
Application granted granted Critical
Publication of JP3165592B2 publication Critical patent/JP3165592B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、VLSI等の半導体集
積回路のレイアウト設計を支援するCAD方法及びCA
D装置に関し、特に、複数ビットのデータ信号を一括し
て演算処理するデータパス論理回路のレイアウト設計を
自動的に行なうデータパス自動配置方法及びその装置に
関する。
【0002】
【従来の技術】近年、半導体集積回路の製造技術は飛躍
的に向上している。特に、微細加工技術及び多層配線技
術の発展により、1チップ上に搭載できるトランジスタ
数は1000万を越えようとしている。ところが、従来
の計算機による設計支援システムやデザインオートメー
ション技術等では、このような大規模な半導体集積回路
の回路設計を実現させることが困難である。なぜなら
ば、設計対象となる論理素子数が増大するに伴って、計
算機による処理時間が非常に長くなってしまい、処理結
果の質の低下が問題となるからである。
【0003】高性能及び小面積が求められる信号処理回
路のレイアウト設計方法としては、自動配置によりレイ
アウトを決定するのではなく、例えば、信号の流れを重
視するために、論理回路図における各構成要素の配置を
そのままレイアウト時の配置とする方法が採用されてい
る。
【0004】また、論理回路図に依存しないデータパス
自動配置方法としては、主に人手によりビット情報を指
定し、この指定に基づきビットスライス素子をクラスタ
リングし、配置を自動的に求める方法が知られている
(特開平3−77172号公報参照)。
【0005】
【発明が解決しようとする課題】ところが、論理回路図
の配置をレイアウト時の配置に利用する従来のレイアウ
ト設計方法においては、論理回路図の構成要素(論理シ
ンボル)とレイアウトで扱う要素との間に面積的な意味
で相関がないため、面積効率が悪いレイアウト結果を得
ることがある。これを改善する方法として、論理回路図
上における1ビットの信号に対する一連の演算処理を1
素子化した論理素子と、この一連の演算処理を実現する
物理素子(セル)とを用意しておき、信号のビット数に
応じてこのビット数と同数だけ論理素子を使用して配置
を行ない、これと同様な配置になるように信号のビット
数と同数だけセルを重ねてレイアウトを実現する方法
(ビットスライス方式)が用いられている。しかし、様
々な回路に対応するために膨大な種類のセルを用意する
必要があり、このため、工数が著しく増大するという問
題点がある。
【0006】図19(a)及び(b)は従来のデータパ
ス自動配置方法による配置結果を示し、図20は従来の
データパス自動配置方法により実現される半導体集積回
路全体のレイアウトを示している。同図において、20
はデータパスブロック、22は専用セル、24は入力端
子、26は出力端子、30は半導体集積回路、32はデ
ータパス配線、34は周辺回路である。
【0007】従来のデータパス自動配置方法において
は、図19(a)に示すように、回路内において信号の
ビット数が処理全体を通じて不変であれば、性能及び面
積の最適化が図れるが、図19(b)に示すように、回
路内において信号のビット数が処理の途中で変化する場
合には、効率のよい配置が得られない。これを解決する
ためには、ビット構成に応じた専用素子を開発する必要
がある。このため、人手による修正が不可避となり、半
導体集積回路全体の開発費用が非常に高価になってしま
う。
【0008】さらに、図19(a)及び(b)に示すよ
うに、データパスブロックにおける入力端子24と出力
端子26との位置関係はビット構成に依存する。このた
め、図20に示すように、半導体集積回路30全体で評
価すると、配線32の迂回が発生することにより性能及
び面積効率の低下が生じるという問題点がある。端子を
所望の位置に配置する方法として、標準セル方式による
自動配置方法が考えられるが、この方法は、通常、配線
を最適化するものであり、データパス論理回路の性能及
び面積の最適化を実現する配置最適化技術は存在しな
い。
【0009】本発明は、上記に鑑みなされたものであっ
て、高性能で面積が小さい半導体集積回路を実現できる
データパス配置設計を自動的に行なうことが可能な方法
及び装置を提供することを目的とする。
【0010】
【課題を解決するための手段】上記の目的を達成するた
め、請求項1、5の発明は、演算処理が正確な順序で高
速に実行されることを保証できるデータパス配置設計を
自動で行なうことを可能とするものである。
【0011】具体的に請求項1の発明が講じた解決手段
は、複数ビットのデータ信号を一括して演算処理するデ
ータパス論理回路の回路素子を、電子計算機の記憶及び
演算機能を用いて半導体基板上に自動配置するデータパ
ス自動配置方法を対象とし、上記データパス論理回路を
入力する第1の処理と、該第1の処理で入力されたデー
タパス論理回路における、上記複数ビットのデータ信号
をそれぞれ入力するための複数個の入力端子からなる入
力端子群を始点とし、同データパス論理回路における複
数個の出力端子からなる出力端子群を終点とする第1の
有向枝を生成する第2の処理と、上記第1の処理で入力
されたデータパス論理回路における回路素子同士間の結
線に対応して、該結線に信号を供給する一方の回路素子
を始点とし、同結線から信号を受け取る他方の回路素子
を終点とする第2の有向枝を生成する第3の処理と、該
第3の処理で生成された第2の有向枝を用いて、上記複
数ビットのデータ信号にそれぞれ対応する複数個の回路
素子群を生成する第4の処理と、上記第2の処理で生成
された第1の有向枝の方向と上記第3の処理で生成され
た第2の有向枝の方向とを一致させるという制約を満た
すための評価を含む配置評価を生成する第5の処理と、
該第5の処理で生成された配置評価に基づいて、上記第
1の処理で入力されたデータパス論理回路の回路素子の
配置に関する最適化を行なう第6の処理と、該第6の処
理で最適化が行なわれた結果得られる配置結果を出力す
る第7の処理とを備えている構成とするものである。
【0012】また、請求項5の発明が講じた解決手段
は、複数ビットのデータ信号を一括して演算処理するデ
ータパス論理回路の回路素子を、電子計算機の記憶及び
演算機能を用いて半導体基板上に自動配置するデータパ
ス自動配置装置を対象とし、上記データパス論理回路を
入力する第1の手段と、該第1の手段により入力された
データパス論理回路における、上記複数ビットのデータ
信号をそれぞれ入力するための複数個の入力端子からな
る入力端子群を始点とし、同データパス論理回路におけ
る複数個の出力端子からなる出力端子群を終点とする第
1の有向枝を生成する第2の手段と、上記第1の手段に
より入力されたデータパス論理回路における回路素子同
士間の結線に対応して、該結線に信号を供給する一方の
回路素子を始点とし、同結線から信号を受け取る他方の
回路素子を終点とする第2の有向枝を生成する第3の手
段と、該第3の手段により生成された第2の有向枝を用
いて、上記複数ビットのデータ信号にそれぞれ対応する
複数個の回路素子群を生成する第4の手段と、上記第2
の手段により生成された第1の有向枝の方向と上記第3
の手段により生成された第2の有向枝の方向とを一致さ
せるという制約を満たすための評価を含む配置評価を生
成する第5の手段と、該第5の手段により生成された配
置評価に基づいて、上記第1の手段により入力されたデ
ータパス論理回路の回路素子の配置に関する最適化を行
なう第6の手段と、該第6の手段により最適化が行なわ
れた結果得られる配置結果を出力する第7の手段とを備
えている構成とするものである。
【0013】請求項2、6の発明は、さらに、データパ
ス論理回路の入力端子及び出力端子を所望の位置に配置
できるようにすることによって、半導体集積回路全体の
回路面積を縮小できるデータパス配置設計を自動で行な
うことを可能とするものである。
【0014】具体的には、請求項2の発明は、請求項1
の発明の構成に、上記第2の処理は、上記データパス論
理回路の入力端子群を上記第1の有向枝の始点として設
定し、同データパス論理回路の出力端子群を上記第1の
有向枝の終点として設定する処理と、上記半導体基板上
において、上記入力端子群及び上記出力端子群が所望の
位置に配置されるように上記第1の有向枝を折り曲げる
ための仮の始点及び終点を上記第1の有向枝上に設ける
と仮定する処理とを有している構成を付加するものであ
る。
【0015】また、請求項6の発明は、請求項5の発明
の構成に、上記第2の手段は、上記データパス論理回路
の入力端子群を上記第1の有向枝の始点として設定し、
同データパス論理回路の出力端子群を上記第1の有向枝
の終点として設定する手段と、上記半導体基板上におい
て、上記入力端子群及び上記出力端子群が所望の位置に
配置されるように上記第1の有向枝を折り曲げるための
仮の始点及び終点を上記第1の有向枝上に設けると仮定
する手段とを有している構成を付加するものである。
【0016】請求項3、7の発明は、さらに、各演算処
理の性能を維持しつつ面積効率を向上できるデータパス
配置設計を自動で行なうことを可能とするものである。
【0017】具体的には、請求項3の発明は、請求項1
の発明の構成に、上記第3の処理は、上記データパス論
理回路における回路素子同士間の結線に対応して、該結
線に信号を供給する一方の回路素子を始点とし、同結線
から信号を受け取る他方の回路素子を終点とする重み付
き有向枝を上記第2の有向枝として生成する処理と、上
記回路素子を積論理や和論理等の複数個の基本回路素子
に展開する処理と、上記基本回路素子同士間の結線に対
応して、該結線に信号を供給する一方の基本回路素子を
始点とし、同結線から信号を受け取る他方の基本回路素
子を終点とする重み付き有向枝を上記第2の有向枝とし
て生成する処理と、第2の有向枝の重みに基づく優先順
位を考慮しながらすべての第2の有向枝の長さの合計を
最短にするという制約を満たすための評価を生成する処
理とを有し、上記第5の処理において、上記評価が加え
られた配置評価が生成される構成を付加するものであ
る。
【0018】また、請求項7の発明は、請求項5の発明
の構成に、上記第3の手段は、上記データパス論理回路
における回路素子同士間の結線に対応して、該結線に信
号を供給する一方の回路素子を始点とし、同結線から信
号を受け取る他方の回路素子を終点とする重み付き有向
枝を上記第2の有向枝として生成する手段と、上記回路
素子を積論理や和論理等の複数個の基本回路素子に展開
する手段と、上記基本回路素子同士間の結線に対応し
て、該結線に信号を供給する一方の基本回路素子を始点
とし、同結線から信号を受け取る他方の基本回路素子を
終点とする重み付き有向枝を上記第2の有向枝として生
成する手段と、第2の有向枝の重みに基づく優先順位を
考慮しながらすべての第2の有向枝の長さの合計を最短
にするという制約を満たすための評価を生成する手段と
を有し、上記第5の手段は、上記評価が加えられた配置
評価を生成する構成を付加するものである。
【0019】請求項4、8の発明は、さらに、1ビット
の信号に対して一連の論理処理を行なう複数個の回路素
子をグループ化し部分的なビットスライス構造を求める
ことによって、論理性能の最適化と面積の最適化とを同
時に図ることができるデータパス配置設計を自動で行な
うことを可能とするものである。
【0020】具体的には、請求項4の発明は、請求項1
の発明の構成に、上記第4の処理は、上記データパス論
理回路の一の回路素子を始点とするすべての第2の有向
枝と、同データパス論理回路の他の回路素子を終点とす
るすべての第2の有向枝とが完全に一致する場合に両回
路素子により上記回路素子群を構成する処理と、同一の
回路素子群に属する回路素子を互いに隣接させるという
制約を満たすための評価を生成する処理とを有し、上記
第5の処理において、上記評価が加えられた配置評価が
生成される構成を付加するものである。
【0021】また、請求項8の発明は、請求項5の発明
の構成に、上記第4の手段は、上記データパス論理回路
の一の回路素子を始点とするすべての第2の有向枝と、
同データパス論理回路の他の回路素子を終点とするすべ
ての第2の有向枝とが完全に一致する場合に両回路素子
により上記回路素子群を構成する手段と、同一の回路素
子群に属する回路素子を互いに隣接させるという制約を
満たすための評価を生成する手段とを有し、上記第5の
手段は、上記評価が加えられた配置評価を生成する構成
を付加するものである。
【0022】
【作用】請求項1、5の発明の構成により、データパス
論理回路の入力端子を始点とし出力端子を終点とする第
1の有向枝を配置することによって、データパスブロッ
ク内における信号の流れる方向を規定できる。また、デ
ータパス論理回路における一の回路素子を始点とし他の
回路素子を終点とする第2の有向枝を用いることによっ
て、データパス論理回路における部分的なビットスライ
ス構造を自動的に抽出することが可能となる。これによ
り、データパス論理回路の回路素子のレイアウトについ
て、以上のような制約の下に配線長や面積等の最適化を
図ることが可能となる。
【0023】さらに、請求項2、6の発明の構成によ
り、上記第1の有向枝を生成する際に、データパス論理
回路の入力端子及び出力端子の配置位置に応じて、第1
の有向枝を配置領域に畳み込む処理を行なうことによっ
て、端子位置に応じて信号の流れを変更することが可能
となる。このため、入力端子及び出力端子を所望の位置
に配置することができる。
【0024】また、請求項3、7の発明の構成により、
上記第2の有向枝を生成する際に、データパス論理回路
の回路素子をさらに詳細な基本回路素子に展開する処理
を行なうことによって、各セル列の面積の均等化を図る
ことができるためデータパスブロックの面積を縮小する
ことが可能である。そのうえ、基本回路素子同士間の結
線を優先的に短くできるので回路素子の性能の低下を防
止することが可能である。
【0025】請求項4、8の発明の構成により、回路素
子群を生成する際に、互いに隣接して配置されるべき複
数個の回路素子からなる回路素子群を論理関係ではなく
信号の流れから自動的に抽出することができる。これに
より、1ビットの信号に対して一連の論理処理を行なう
複数個の回路素子がグループ化され、部分的なビットス
ライス構造が自動的に求められる。
【0026】
【実施例】以下、本発明の一実施例を図面に基づいて説
明する。
【0027】初めに、上記実施例に係るデータパス自動
配置装置の構成について説明する。ここで、データパス
自動配置装置はデータパス論理回路のレイアウトを自動
的に生成する装置である。
【0028】図1は本実施例に係るデータパス自動配置
装置の構成を示すブロック図である。
【0029】図1において、1は第1の手段としての回
路入力部であり、データパス論理回路を入力する。2は
第2の手段としての外部端子有向枝配置部であり、デー
タパス論理回路における入力端子群を始点とし出力端子
群を終点とする外部端子有向枝を生成し、この外部端子
有向枝を配置領域に配置する。3は第3の手段としての
回路内有向枝生成部であり、データパス論理回路におけ
る回路素子同士間の結線に対応して、この結線に信号を
供給する一方の回路素子を始点とし、同結線から信号を
受け取る他方の回路素子を終点とする回路内有向枝を生
成する。4は第4の手段としてのビット列生成部であ
り、回路内有向枝生成部3により生成された回路内有向
枝を用いてビット列を生成する。5は第5の手段として
の配置評価式生成部であり、配置評価式を生成する。6
は第6の手段としての配置最適化部であり、配置評価式
に基づいてデータパス論理回路の回路素子の配置に関す
る最適化を行なう。7は第7の手段としての配置出力部
であり、最適化が行なわれた結果得られる配置結果を出
力する。
【0030】図2は外部端子有向枝配置部2の構成を示
すブロック図であり、図2において、2aは外部端子有
向枝生成部であり、データパス論理回路の入力端子群を
有向枝の始点とし出力端子群を有向枝の終点として設定
することによって外部端子有向枝を生成する。2bは外
部端子有向枝畳み込み部であり、入力端子群及び出力端
子群が所望の位置に配置されるように外部端子有向枝を
折り曲げて配置領域に配置する。
【0031】図3は回路内有向枝生成部3の構成を示す
ブロック図であり、図3において、3aは第1の重み付
き有向枝生成部であり、データパス論理回路における回
路素子同士間の結線に対応して、この結線に信号を供給
する一方の回路素子を始点とし同結線から信号を受け取
る他方の回路素子を終点とする、重みW1を持つ有向枝
を回路内有向枝として生成する。3bは回路素子展開部
であり、回路素子を積論理や和論理等の基本回路素子に
展開する。3cは第2の重み付き有向枝生成部であり、
基本回路素子同士間の結線に対応して、この結線に信号
を供給する一方の基本回路素子を始点とし同結線から信
号を受け取る他方の基本回路素子を終点とする、重みW
2を持つ有向枝を回路内有向枝として生成する。3dは
重み評価生成部であり、重みに基づく優先順位を考慮し
ながらすべての回路内有向枝の長さの合計を最短にする
という制約を満たすための評価を生成する。
【0032】図4はビット列生成部4の構成を示すブロ
ック図であり、図4において、4aはグループ回路生成
部であり、データパス論理回路の中から、一の回路素子
等(基本回路素子を含む)を始点とするすべての回路内
有向枝と他の回路素子等を終点とするすべての回路内有
向枝とが完全に一致するような回路素子等のペアを検索
し、この回路素子等のペアによりビット列のグループ回
路を構成する。4bはグループ回路評価生成部であり、
同一のグループ回路に属する回路素子等を互いに隣接さ
せるという制約を満たすための評価を生成する。
【0033】次に、以上のように構成されたデータパス
自動配置装置の具体的な動作について説明する。ここで
は、図9に示すデータパス論理回路10を入力として用
いた場合の動作を説明する。
【0034】図5は本実施例に係るデータパス自動配置
装置により実現されるデータパス自動配置方法の処理の
流れを示す流れ図である。
【0035】図5に示すように、まず、回路入力処理
(第1の処理)S1において、データパス論理回路を読
み込む。データパス論理回路の内容を図9に示す。デー
タパス論理回路10は、入力端子A〜Dと、出力端子
E,Fと、制御端子G,Hと、回路素子I〜Qと、結線
a〜oとから構成されている。
【0036】次に、外部端子有向枝配置処理(第2の処
理)S2は、図6に示すように、データパス論理回路の
入力端子群を始点とし出力端子群を終点として外部端子
有向枝を生成する処理S21と、入力端子群及び出力端
子群が所望の位置に配置されるように外部端子有向枝を
折り曲げて配置領域に配置する処理S22とから構成さ
れる。
【0037】処理S21において、図10に示すよう
に、データパス論理回路10の入力端子A〜Dからなる
入力端子群12を始点として設定し、出力端子E,Fか
らなる出力端子群14を終点として設定することによっ
て外部端子有向枝16を生成する。処理S22におい
て、図11(a)に示すように、始点としての入力端子
群12と終点としての出力端子群14とが何れも配置領
域18の上辺に配置されるように、外部端子有向枝16
上に仮の始点及び終点17を数箇所設け、外部端子有向
枝16を折り曲げて配置する。以後の説明では、簡単の
ために、図11(b)に示すように、入力端子群12が
配置領域18の上辺に出力端子群14が配置領域18の
下辺に配置されるように外部端子有向枝16を配置する
ものとする。
【0038】次に、回路内有向枝生成処理(第3の処
理)S3は、図7に示すように、データパス論理回路に
おける回路素子同士間の結線に対応して、該結線に信号
を供給する一方の回路素子を始点とし、同結線から信号
を受け取る他方の回路素子を終点とする重み付き有向枝
を回路内有向枝として生成する処理S31と、回路素子
を基本回路素子に展開する処理S32と、基本回路素子
同士間の結線に対応して、該結線に信号を供給する一方
の基本回路素子を始点とし、同結線から信号を受け取る
他方の基本回路素子を終点とする重み付き有向枝を回路
内有向枝として生成する処理S33と、重みに基づく優
先順位を考慮しながらすべての回路内有向枝の長さの合
計を最短にするという制約を満たすための評価を生成す
る処理S34とから構成される。
【0039】処理S31において、回路素子同士間の結
線e〜kに対応して、図12に示すように、2つの回路
素子のうち、結線への出力端子としての出力側の回路素
子を始点とし、同結線からの入力端子としての入力側の
回路素子を終点とする、重みW1を持つ回路内有向枝e
1〜k1を求める。例えば、結線iに対応して、2つの
回路素子M,Pのうち、結線iへの出力端子としての出
力側の回路素子Mを始点とし、結線iからの入力端子と
しての入力側の回路素子Pを終点とする、重みW1を持
つ回路内有向枝i1を求める。
【0040】処理32において、図13に示すように、
回路素子Pを基本回路素子(AND、OR、NOR等)
P1〜P3に展開する。同様に、回路素子Oを基本回路
素子O1〜O3に展開する。
【0041】処理33において、基本回路素子同士間の
結線に対応して、図14に示すように、2つの基本回路
素子のうち、結線への出力端子としての出力側の基本回
路素子を始点とし、同結線からの入力端子としての入力
側の基本回路素子を終点とする、重みW2を持つ回路内
有向枝α〜δを求める。例えば、基本回路素子P1,P
3間の結線に対応して、基本回路素子P1,P3のう
ち、結線への出力端子としての出力側の基本回路素子P
1を始点とし、結線からの入力端子としての入力側の基
本回路素子P3を終点とする、重みW2を持つ回路内有
向枝αを求める。ここで、重みW2を重みW1より重く
設定する。
【0042】処理34において、重みW2が重みW1よ
り重いことに基づき、回路素子内の基本回路素子同士間
の配線長を短くして回路素子の性能を保証するために、
次の(1)式で示される評価を生成する。この(1)式
の評価は、後に配置評価に追加される。
【0043】
【数1】 ただし、pは回路内有向枝の総数、W(i)はi番目の
回路内有向枝の重み、R(i)はi番目の回路内有向枝
(結線)の配線長である。
【0044】次に、ビット列生成処理(第4の処理)S
4は、図8に示すように、一の回路素子等(基本回路素
子を含む)を始点とするすべての回路内有向枝と、他の
回路素子等を終点とするすべての回路内有向枝とが完全
に一致する場合に両回路素子等をグループ化する処理S
41と、同一のグループ回路に属する回路素子等を互い
に隣接させるという制約を満たすための評価を生成する
処理S42とから構成される。
【0045】処理S41において、図14に示すよう
に、例えば、回路素子Iと回路素子Mとの間には、回路
素子Iを始点とするすべての回路内有向枝と回路素子M
を終点とするすべての回路内有向枝とが完全に一致する
という関係が成り立つ(ここでは何れの回路内有向枝も
e1である)ため、回路素子I,Mを回路素子のペアと
して選び出す。同様の関係が、回路素子Mと基本回路素
子P1との間にも見出される。図15に示すように、検
索された回路素子I,M及び基本回路素子P1をビット
列のグループ回路GC1として1回路素子とみなす。同
様にして、回路素子J,N及び基本回路素子P2からグ
ループ回路GC2が、回路素子K及び基本回路素子O1
からグループ回路GC3が、回路素子L及び基本回路素
子O2からグループ回路GC4が、基本回路素子O3及
び回路素子Qからグループ回路GC5がそれぞれ構成さ
れる。処理S42において、例えば、グループ回路GC
1に属する回路素子I,M及び基本回路素子P1は互い
に隣接して配置されるように、同一のグループ回路に属
する回路素子等(基本回路素子を含む)を互いに隣接さ
せるという制約を満たすための評価を生成する。
【0046】次に、配置評価式生成処理(第5の処理)
S5において、回路内有向枝生成処理S3で生成された
(1)式の評価と、ビット列生成処理S4で生成された
評価と、データパス論理回路10の特徴となるデータの
流れを保持するために回路内有向枝e1〜k1,α〜δ
の方向と外部端子有向枝16の方向とを一致させるとい
う制約を満たすための評価と、通常の配置評価(配線
長、混雑度評価等)とをまとめて配置評価式を生成す
る。
【0047】回路内有向枝e1〜k1,α〜δの方向と
外部端子有向枝16の方向とを一致させるという制約を
満たすための評価としては、回路内有向枝及び外部端子
有向枝をベクトルとみなして、次の(2)式で示すこと
ができる。
【0048】
【数2】 ここで、pは回路内有向枝の総数、V0は配置領域18
における外部端子有向枝16に相当するベクトル、V
(i)は回路内有向枝e1〜k1,α〜δのうちのi番
目の有向枝に相当するベクトルである。したがって、
(2)式は各回路内有向枝と外部端子有向枝16との内
積の総和に相当する。
【0049】次に、配置最適化処理(第6の処理)S6
は、図16に示すように、適当に配置された初期配置結
果から、配置評価式生成処理S5で生成された配置評価
式の値を最小にするような配置結果を得るための処理で
ある。ここで、最適化の方法としては、従来から提案さ
れている方法、例えば、ペア交換法を用いればよい。ペ
ア交換法とは、ランダムに2素子を選択し、両者を交換
又は一方へ移動したと仮定しこの場合の配置評価結果を
元の配置と比較し、改善されるならばこの交換又は移動
を実施し、改善されない場合には元の配置のままにして
おくという処理を有限回数繰り返す方法である。
【0050】図17に配置改善後の配置結果を示す。た
だし、ここでは、回路素子及び基本回路素子に相当する
物理素子としてスタンダードセルを用いた場合を示す。
厳密な端子位置は、配置改善後の結線関係から決定す
る。制御端子G,Hの配置位置としては近傍の辺を自動
的に割り当てる。なお、図16及び図17において、C
L1〜CL6はセル列を表わす。
【0051】最後に、配置出力処理(第7の処理)S7
において、最終的な配置結果を出力しレイアウト処理が
完了する。
【0052】以上のように、本実施例においては、端子
位置を変更することが可能であるため、図20に示す従
来例に比較して、図18に示すように、半導体集積回路
全体の面積の縮小化を図ることができ、面積効率のよい
データパスレイアウトが得られる。
【0053】また、本実施例では、特殊なデータパス論
理回路を入力として使用したが、半導体集積回路におけ
る一般的なデータパス論理回路に対しても有効であるこ
とは言うまでもない。
【0054】
【発明の効果】以上説明したように、請求項1の発明に
係る方法又は請求項5の発明に係る装置によると、デー
タパス論理回路の入力端子を始点とし出力端子を終点と
する第1の有向枝を配置することによって、データパス
ブロック内における信号の流れる方向を規定できる。ま
た、データパス論理回路における一の回路素子を始点と
し他の回路素子を終点とする第2の有向枝を用いること
によって、データパス論理回路における部分的なビット
スライス構造を自動的に抽出することが可能となる。こ
れにより、データパス論理回路の回路素子のレイアウト
について、以上のような制約の下に配線長や面積等の最
適化を図ることが可能となる。したがって、演算処理が
正確な順序で高速に実行されることを保証できるデータ
パス配置設計を自動で行なうことができる。
【0055】さらに、請求項2の発明に係る方法又は請
求項6の発明に係る装置によると、上記第1の有向枝を
生成する際に、データパス論理回路の入力端子及び出力
端子の配置位置に応じて、第1の有向枝を配置領域に畳
み込む処理を行なうことによって、端子位置に応じて信
号の流れを変更することが可能となる。このため、入力
端子及び出力端子を所望の位置に配置することができ
る。したがって、半導体集積回路全体の回路面積を縮小
することが可能なデータパス配置設計を自動で行なうこ
とができる。
【0056】また、請求項3の発明に係る方法又は請求
項7の発明に係る装置によると、上記第2の有向枝を生
成する際に、データパス回路の回路素子をさらに詳細な
基本回路素子に展開する処理を行なうことによって、各
セル列の面積の均等化を図ることができるためデータパ
スブロックの面積を縮小することが可能である。そのう
え、基本回路素子同士間の結線を優先的に短くできるの
で回路素子の性能の低下を防止することが可能である。
したがって、各演算処理の性能を維持しつつ面積効率を
向上できるデータパス配置設計を自動で行なうことがで
きる。
【0057】請求項4の発明に係る方法又は請求項8の
発明に係る装置によると、回路素子群を生成する際に、
互いに隣接して配置されるべき複数個の回路素子からな
る回路素子群を論理関係ではなく信号の流れから自動的
に抽出することができる。これにより、1ビットの信号
に対して一連の論理処理を行なう複数個の回路素子がグ
ループ化され、部分的なビットスライス構造が自動的に
求められる。したがって、論理性能の最適化と面積の最
適化とを同時に図ることができるデータパス配置設計を
自動で行なうことができる。
【0058】以上のように、本発明によると、高性能で
面積が小さい半導体集積回路を実現するデータパス配置
設計を自動的に行なうことが可能な方法及び装置を提供
することができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係るデータパス自動配置装
置の構成を示すブロック図である。
【図2】上記データパス自動配置装置の外部端子有向枝
配置部の構成を示すブロック図である。
【図3】上記データパス自動配置装置の回路内有向枝生
成部の構成を示すブロック図である。
【図4】上記データパス自動配置装置のビット列生成部
の構成を示すブロック図である。
【図5】上記データパス自動配置装置により実現される
データパス自動配置方法の処理の流れを示す流れ図であ
る。
【図6】上記データパス自動配置方法における外部端子
有向枝配置処理の詳細を示す流れ図である。
【図7】上記データパス自動配置方法における回路内有
向枝生成処理の詳細を示す流れ図である。
【図8】上記データパス自動配置方法におけるビット列
生成処理の詳細を示す流れ図である。
【図9】上記データパス自動配置方法における回路入力
処理において入力されるデータパス論理図である。
【図10】上記データパス自動配置方法における外部端
子有向枝配置処理において生成される外部端子有向枝を
示すデータパス論理図である。
【図11】(a)は、入力端子群と出力端子群とが何れ
も上辺に配置されるように仮の始点及び終点が数箇所設
けられ折り曲げて配置された外部端子有向枝を示す図で
あり、(b)は、入力端子群が上辺に出力端子群が下辺
に配置されるように配置された外部端子有向枝を示す図
である。
【図12】上記データパス自動配置方法における回路内
有向枝生成処理において回路素子間の回路内有向枝が生
成された後のデータパス論理図である。
【図13】上記データパス自動配置方法における回路内
有向枝生成処理において基本回路素子に展開された回路
素子を示す図である。
【図14】上記データパス自動配置方法における回路内
有向枝生成処理において基本回路素子間の回路内有向枝
が生成された後のデータパス論理図である。
【図15】上記データパス自動配置方法におけるビット
列生成処理においてビット列のグループ回路が生成され
た後のデータパス論理図である。
【図16】上記データパス自動配置方法における配置最
適化処理の実施前の初期配置を示す図である。
【図17】上記データパス自動配置方法における配置最
適化処理の完了後の配置結果を示す図である。
【図18】上記データパス自動配置方法により実現され
る半導体集積回路全体のレイアウトを示す図である。
【図19】(a)は従来のデータパス自動配置方法によ
る配置結果を示し、データパス論理回路内において信号
のビット数が不変である場合の配置結果を示す図であ
り、(b)は上記従来のデータパス自動配置方法による
配置結果を示し、データパス論理回路内において信号の
ビット数が途中で変化する場合の配置結果を示す図であ
る。
【図20】上記従来のデータパス自動配置方法により実
現される半導体集積回路全体のレイアウトを示す図であ
る。
【符号の説明】
1 回路入力部(第1の手段) 2 外部端子有向枝配置部(第2の手段) 3 回路内有向枝生成部(第3の手段) 4 ビット列生成部(第4の手段) 5 配置評価式生成部(第5の手段) 6 配置最適化部(第6の手段) 7 配置出力部(第7の手段) S1 回路入力処理(第1の処理) S2 外部端子有向枝配置処理(第2の処理) S3 回路内有向枝生成処理(第3の処理) S4 ビット列生成処理(第4の処理) S5 配置評価式生成処理(第5の処理) S6 配置最適化処理(第6の処理) S7 配置出力処理(第7の処理)
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 H01L 21/82

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数ビットのデータ信号を一括して演算
    処理するデータパス論理回路の回路素子を、電子計算機
    の記憶及び演算機能を用いて半導体基板上に自動配置す
    るデータパス自動配置方法であって、 上記データパス論理回路を入力する第1の処理と、 該第1の処理で入力されたデータパス論理回路におけ
    る、上記複数ビットのデータ信号をそれぞれ入力するた
    めの複数個の入力端子からなる入力端子群を始点とし、
    同データパス論理回路における複数個の出力端子からな
    る出力端子群を終点とする第1の有向枝を生成する第2
    の処理と、 上記第1の処理で入力されたデータパス論理回路におけ
    る回路素子同士間の結線に対応して、該結線に信号を供
    給する一方の回路素子を始点とし、同結線から信号を受
    け取る他方の回路素子を終点とする第2の有向枝を生成
    する第3の処理と、 該第3の処理で生成された第2の有向枝を用いて、上記
    複数ビットのデータ信号にそれぞれ対応する複数個の回
    路素子群を生成する第4の処理と、 上記第2の処理で生成された第1の有向枝の方向と上記
    第3の処理で生成された第2の有向枝の方向とを一致さ
    せるという制約を満たすための評価を含む配置評価を生
    成する第5の処理と、 該第5の処理で生成された配置評価に基づいて、上記第
    1の処理で入力されたデータパス論理回路の回路素子の
    配置に関する最適化を行なう第6の処理と、 該第6の処理で最適化が行なわれた結果得られる配置結
    果を出力する第7の処理とを備えていることを特徴とす
    るデータパス自動配置方法。
  2. 【請求項2】 上記第2の処理は、 上記データパス論理回路の入力端子群を上記第1の有向
    枝の始点として設定し、同データパス論理回路の出力端
    子群を上記第1の有向枝の終点として設定する処理と、 上記半導体基板上において、上記入力端子群及び上記出
    力端子群が所望の位置に配置されるように上記第1の有
    向枝を折り曲げるための仮の始点及び終点を上記第1の
    有向枝上に設けると仮定する処理とを有していることを
    特徴とする請求項1に記載のデータパス自動配置方法。
  3. 【請求項3】 上記第3の処理は、 上記データパス論理回路における回路素子同士間の結線
    に対応して、該結線に信号を供給する一方の回路素子を
    始点とし、同結線から信号を受け取る他方の回路素子を
    終点とする重み付き有向枝を上記第2の有向枝として生
    成する処理と、 上記回路素子を積論理や和論理等の複数個の基本回路素
    子に展開する処理と、 上記基本回路素子同士間の結線に対応して、該結線に信
    号を供給する一方の基本回路素子を始点とし、同結線か
    ら信号を受け取る他方の基本回路素子を終点とする重み
    付き有向枝を上記第2の有向枝として生成する処理と、 第2の有向枝の重みに基づく優先順位を考慮しながらす
    べての第2の有向枝の長さの合計を最短にするという制
    約を満たすための評価を生成する処理とを有し、 上記第5の処理において、上記評価が加えられた配置評
    価が生成されることを特徴とする請求項1に記載のデー
    タパス自動配置方法。
  4. 【請求項4】 上記第4の処理は、 上記データパス論理回路の一の回路素子を始点とするす
    べての第2の有向枝と、同データパス論理回路の他の回
    路素子を終点とするすべての第2の有向枝とが完全に一
    致する場合に両回路素子により上記回路素子群を構成す
    る処理と、 同一の回路素子群に属する回路素子を互いに隣接させる
    という制約を満たすための評価を生成する処理とを有
    し、 上記第5の処理において、上記評価が加えられた配置評
    価が生成されることを特徴とする請求項1に記載のデー
    タパス自動配置方法。
  5. 【請求項5】 複数ビットのデータ信号を一括して演算
    処理するデータパス論理回路の回路素子を、電子計算機
    の記憶及び演算機能を用いて半導体基板上に自動配置す
    るデータパス自動配置装置であって、 上記データパス論理回路を入力する第1の手段と、 該第1の手段により入力されたデータパス論理回路にお
    ける、上記複数ビットのデータ信号をそれぞれ入力する
    ための複数個の入力端子からなる入力端子群を始点と
    し、同データパス論理回路における複数個の出力端子か
    らなる出力端子群を終点とする第1の有向枝を生成する
    第2の手段と、 上記第1の手段により入力されたデータパス論理回路に
    おける回路素子同士間の結線に対応して、該結線に信号
    を供給する一方の回路素子を始点とし、同結線から信号
    を受け取る他方の回路素子を終点とする第2の有向枝を
    生成する第3の手段と、 該第3の手段により生成された第2の有向枝を用いて、
    上記複数ビットのデータ信号にそれぞれ対応する複数個
    の回路素子群を生成する第4の手段と、 上記第2の手段により生成された第1の有向枝の方向と
    上記第3の手段により生成された第2の有向枝の方向と
    を一致させるという制約を満たすための評価を含む配置
    評価を生成する第5の手段と、 該第5の手段により生成された配置評価に基づいて、上
    記第1の手段により入力されたデータパス論理回路の回
    路素子の配置に関する最適化を行なう第6の手段と、 該第6の手段により最適化が行なわれた結果得られる配
    置結果を出力する第7の手段とを備えていることを特徴
    とするデータパス自動配置装置。
  6. 【請求項6】 上記第2の手段は、 上記データパス論理回路の入力端子群を上記第1の有向
    枝の始点として設定し、同データパス論理回路の出力端
    子群を上記第1の有向枝の終点として設定する手段と、 上記半導体基板上において、上記入力端子群及び上記出
    力端子群が所望の位置に配置されるように上記第1の有
    向枝を折り曲げるための仮の始点及び終点を上記第1の
    有向枝上に設けると仮定する手段とを有していることを
    特徴とする請求項5に記載のデータパス自動配置装置。
  7. 【請求項7】 上記第3の手段は、 上記データパス論理回路における回路素子同士間の結線
    に対応して、該結線に信号を供給する一方の回路素子を
    始点とし、同結線から信号を受け取る他方の回路素子を
    終点とする重み付き有向枝を上記第2の有向枝として生
    成する手段と、 上記回路素子を積論理や和論理等の複数個の基本回路素
    子に展開する手段と、 上記基本回路素子同士間の結線に対応して、該結線に信
    号を供給する一方の基本回路素子を始点とし、同結線か
    ら信号を受け取る他方の基本回路素子を終点とする重み
    付き有向枝を上記第2の有向枝として生成する手段と、 第2の有向枝の重みに基づく優先順位を考慮しながらす
    べての第2の有向枝の長さの合計を最短にするという制
    約を満たすための評価を生成する手段とを有し、 上記第5の手段は、上記評価が加えられた配置評価を生
    成することを特徴とする請求項5に記載のデータパス自
    動配置装置。
  8. 【請求項8】 上記第4の手段は、 上記データパス論理回路の一の回路素子を始点とするす
    べての第2の有向枝と、同データパス論理回路の他の回
    路素子を終点とするすべての第2の有向枝とが完全に一
    致する場合に両回路素子により上記回路素子群を構成す
    る手段と、 同一の回路素子群に属する回路素子を互いに隣接させる
    という制約を満たすための評価を生成する手段とを有
    し、 上記第5の手段は、上記評価が加えられた配置評価を生
    成することを特徴とする請求項5に記載のデータパス自
    動配置装置。
JP18324294A 1994-08-04 1994-08-04 データパス自動配置方法及びその装置 Expired - Fee Related JP3165592B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP18324294A JP3165592B2 (ja) 1994-08-04 1994-08-04 データパス自動配置方法及びその装置
US08/510,673 US5657243A (en) 1994-08-04 1995-08-03 Method and apparatus for automatically arranging circuit elements in data-path circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18324294A JP3165592B2 (ja) 1994-08-04 1994-08-04 データパス自動配置方法及びその装置

Publications (2)

Publication Number Publication Date
JPH0850600A JPH0850600A (ja) 1996-02-20
JP3165592B2 true JP3165592B2 (ja) 2001-05-14

Family

ID=16132270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18324294A Expired - Fee Related JP3165592B2 (ja) 1994-08-04 1994-08-04 データパス自動配置方法及びその装置

Country Status (2)

Country Link
US (1) US5657243A (ja)
JP (1) JP3165592B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838583A (en) * 1996-04-12 1998-11-17 Cadence Design Systems, Inc. Optimized placement and routing of datapaths
US6209119B1 (en) 1997-04-10 2001-03-27 Matsushita Electric Industrial Co., Ltd. Apparatus and method for synthesizing module
JP3105857B2 (ja) * 1998-01-26 2000-11-06 日本電気アイシーマイコンシステム株式会社 半導体集積回路装置のレイアウト方法及び半導体集積回路装置
US6286128B1 (en) * 1998-02-11 2001-09-04 Monterey Design Systems, Inc. Method for design optimization using logical and physical information
US6442743B1 (en) * 1998-06-12 2002-08-27 Monterey Design Systems Placement method for integrated circuit design using topo-clustering
US6560761B1 (en) * 2001-03-29 2003-05-06 Lsi Logic Corporation Method of datapath cell placement for bitwise and non-bitwise integrated circuit designs
US7902933B1 (en) 2006-03-29 2011-03-08 Cypress Semiconductor Corporation Oscillator circuit
US8589848B2 (en) 2012-04-19 2013-11-19 International Business Machines Corporation Datapath placement using tiered assignment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4641247A (en) * 1985-08-30 1987-02-03 Advanced Micro Devices, Inc. Bit-sliced, dual-bus design of integrated circuits
US5239465A (en) * 1988-10-11 1993-08-24 Hitachi, Ltd. Method and system for layout design of integrated circuits with a data transferring flow
JPH0377172A (ja) * 1989-08-20 1991-04-02 Fujitsu Ltd データパス抽出方式
US5491640A (en) * 1992-05-01 1996-02-13 Vlsi Technology, Inc. Method and apparatus for synthesizing datapaths for integrated circuit design and fabrication
JP3224885B2 (ja) * 1993-01-14 2001-11-05 三菱電機株式会社 集積回路装置及びその設計方法
US5487018A (en) * 1993-08-13 1996-01-23 Vlsi Technology, Inc. Electronic design automation apparatus and method utilizing a physical information database
JPH07105253A (ja) * 1993-10-07 1995-04-21 Nec Corp データパス回路レイアウト生成システム

Also Published As

Publication number Publication date
JPH0850600A (ja) 1996-02-20
US5657243A (en) 1997-08-12

Similar Documents

Publication Publication Date Title
US5764533A (en) Apparatus and methods for generating cell layouts
US7017132B2 (en) Methodology to optimize hierarchical clock skew by clock delay compensation
US6477695B1 (en) Methods for designing standard cell transistor structures
US7676780B2 (en) Techniques for super fast buffer insertion
US7873928B2 (en) Hierarchical analog IC placement subject to symmetry, matching and proximity constraints
US6453447B1 (en) Method for fabricating integrated circuits
US20010034873A1 (en) Device level layout optimization in electronic design automation
US6385761B1 (en) Flexible width cell layout architecture
US6810506B1 (en) Methodology for stitching reduced-order models of interconnects together
JP3165592B2 (ja) データパス自動配置方法及びその装置
US6075934A (en) Method for optimizing contact pin placement in an integrated circuit
US7913219B2 (en) Orientation optimization method of 2-pin logic cell
WO2001075687A9 (en) Method and apparatus to optimize an integrated circuit design using transistor folding
Evans et al. Placement and routing for power module layout
JPH10173058A (ja) 配置配線方法
US20030023946A1 (en) Standard cell library generation using merged power method
US7290225B2 (en) Method for compressing semiconductor integrated circuit, using design region divided into plural blocks
US6983431B2 (en) Simultaneous placement of large and small cells in an electronic circuit
JP2001085528A (ja) 半導体集積回路の設計方法および半導体集積回路の製造方法
JP3028938B2 (ja) 半導体集積回路のレイアウト方法
JP2872174B2 (ja) マスタースライス方式の半導体集積回路及びそのレイアウト方法
JP3247011B2 (ja) セル配置改善装置及び方法
JP2658829B2 (ja) 半導体集積回路のレイアウト方法
US20040128640A1 (en) Length matrix generator for register transfer level code
Friedman Feedback in silicon compilers

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010213

LAPS Cancellation because of no payment of annual fees