JPS6046827B2 - 配置決定装置 - Google Patents

配置決定装置

Info

Publication number
JPS6046827B2
JPS6046827B2 JP52025028A JP2502877A JPS6046827B2 JP S6046827 B2 JPS6046827 B2 JP S6046827B2 JP 52025028 A JP52025028 A JP 52025028A JP 2502877 A JP2502877 A JP 2502877A JP S6046827 B2 JPS6046827 B2 JP S6046827B2
Authority
JP
Japan
Prior art keywords
cell
data
placement
cells
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP52025028A
Other languages
English (en)
Other versions
JPS53110067A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP52025028A priority Critical patent/JPS6046827B2/ja
Publication of JPS53110067A publication Critical patent/JPS53110067A/ja
Publication of JPS6046827B2 publication Critical patent/JPS6046827B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

【発明の詳細な説明】 本発明は、プリント回路基板上における集積回路ICの
配置や大規模集積回路LSIチップ上における論理ゲー
トの配置などを極めて短時間に決定する配置決定装置に
関するものである。
ICプリント回路基板の設計において、そのプリント基
板に搭載すべき複数個のICを基板上のどこに配置する
か、あるいはLSIチップの設計において、そのチップ
に搭載すべき複数個の論理ゲートをどのような相対関係
で配置するかを決定する設計過程を、それぞれプリント
回路基板における配置設計、ulチップにおける配置設
計と呼んでいる。
この配置設計はそれに引続いて行われる配線設計(ある
与えられた信号端子間を、与えられた配線層内で結線す
る配線径路を求める設計過程)の成否に大きな影響を与
える。
すなわち、良い配置が与えられれば100%の配線径路
が見つかる論理回路に対して、悪い配置に基いて配線設
計を行うと、如何に努力しても100%の配線径路が見
つけられないこと力化ばしば起る。従つて配置設計はプ
リント回路基板やLSIチップの設計において重要な設
計過程となつている。この配置設計は人手によつて行わ
れる場合も多いが、最近では設計時間の短縮、配置品質
の向上、設計エラーの低減等をねらつて、計算機を利用
してプログラムによつて行われることが多くなつてきた
配置処理を計算機を用いてソフトウェアで行う場合、種
々の配置手法に基いて処理されるが、品質の良い配置を
得るためには入れ換え改善法(あるいは逐次改善法)と
呼ばれる配置手法が用いられることが多い。この手法は
ある与えられた初期配置から出発して、部品(IC)論
理ゲート、など)をお互いに入れ換えることによつて配
置改善するものである。配置の良否を評価する基準とし
ては総配線長最小化と呼ばれる基準が一般に用いられる
これはある与えられた配置を評価する場合、その論理接
続関係にもとづいて仮に配線してみて、これらの配線の
長さの総和が短かければ良い配置、長ければ悪い配置と
みなす評価基準である。入れ換え改善法では、ある規則
によつて選んだ入れ換え部品のベアを仮に交換してみて
、例えば、上記の総配線長最小化の評価基準に照らして
、改善があれば実際にその部品ベアを入れ換え、改善が
なければ入れ換えを行わないという操作を次々と異なる
部品ベアについて繰返すことによつて配置改善を行うの
てある。第4図〜第6図を用いて前述の入れ換え改善法
による配置改善手順について説明する。第4図は初期配
置の一例である。ここでは4X4=田個のノード(ノー
ドは例えばICパッケージや論理ゲートを表わす)を4
×4のアレイ状に配置する場合を示している。ノード間
の枝は仮の配線を表わし、この配線長の総和で配置の良
否を評価する。配線長は例えばノード6と10の間は4
゜1゛2、ノード1と2の間はX方向に゜“1−Y方向
に“2゛で併わせて“3゛の距離(これをマンハッタン
距離と呼ぶ)と考える。このような計算の仕方で第4図
の総配線長を計算すると、“゜54゛となる。この値を
減少させるように配置換えをすることが配置改善とみな
すのてある。例えば、第4図でノード6と10を入れ換
えると第5図の配置が得られるが、このどき総配線長は
゜゜49゛となり配置改善が行われたことになる。この
ような操作を異なるノードのベアについて繰返.してい
くと、例えは第6図のような配置が得られ、総配線長は
“25゛である。この配置においては如何なるベアを入
換えても配置改善が行われないのでこれが最終配置とな
る。上記のような手法においては、入れ換え候補の.部
品ベアをなるべく多く選んて改善を試みることが最終配
置の品質を高めることになる。
しかし、このベアの組合せの数は部品数の3乗以上程度
に比例するので、部品数が数100以上のものに対して
は処理時間が極めて厖大となり、このような手一法の適
用が禁止的となつている。あるいは、例え適用しても極
めて不十分な配置結果しか得られないのが現状である。
本発明は、上記のような配置処理の機能を計算機を用い
てソフトウェアで行う代わりに、その大半の処理機能を
ハードウェア化して処理時間を短縮することを目的とし
たもので、以下実施例について詳細に説明する。
第1図は本発明の実施例の要部ブロック線図であつて、
1はセル、2はアドレスデコード回路、3はアドレスデ
ータ線、4はセル選択線、5はセル間データバス、6は
データバス、7は制御ユニット、8はデータ入出力線、
9,10,11,12はクロック線である。
セル1は、複数個のレジスタと、演算ユニットと、制御
回路と、制御ストレージ等からなつており、レジスタ間
のデータ転送、加減算、比較等の処理機能を有し、図に
示すようにアレイ状に配置する。
アドレスデコード回路2はアドレスデータ線3より与え
られたアドレスデータをデコードし、特定のセル選択線
4を駆動して特定のセル1を選択する。選択されたセル
1に於いては、入力する2本のセル選択線4の両方共が
゜゜1゛状態となり、選択されなかつたセル1に入力す
る2本のセル選択線4は少なくとも何れか一方が゛0゛
状態となるもので、これによつてどのセル1が選択され
たかを識別できる。セル間データバス5は上下あるいは
左右に隣り合うセル1間の専用のデータバスであり、隣
り合うセル1内のレジスタのデータを転送するために使
用される。
データバス6は双方向性のデータバスであり、任意のセ
ル1内のレジスタのデータを制御ユニット7に転送した
り、逆に制御ユニット7内のデータを任意のセル1に転
送したりするために用いられる。制御ユニット7はレジ
スタ、演算回路、制御回路、制御ストレージ、クロック
発生回路等からなつており、装置全体の制御を行う。デ
ータ入出力線8は本装置と外部との間でデータを授受す
るためのものである。クロック線9,10,11,12
は4相からなつており、特定のセル行あるいはセル列に
特定のクロック相信号を供給するように配線されている
。第2図は、セル1の実施例のブロック線図であり、1
01はANDゲート、102〜105はバッファレジス
タ、106はレジスタ間バス、107,108はレジス
タ群、109は加減算回路、110,111は演算バス
、112はデ゜一タバス、113は順序制御回路、11
4は制御ストレージ、115はマイクロ命令レジスタ、
116は命令デコード回路、117は制御信号線である
ANDゲート101は2本のセル選択線4から入力信号
を受けて、両方のセル選択線4共゜“1゛のとき゜“1
゛を出力し、これを順序制御回路1135に供給する。
バツフアレジヌタ102〜105はセル間データバス5
から受けたデータを一旦蓄え、あるいはレジスタ群10
7からレジスタ間バス106を通して与えられたデータ
を一旦蓄える機能をもつ。パンファレジスタ103と1
04(ま五データバス6とも接続されている。レジスタ
間バス106はバッファレジスタ102〜105および
レジスタ群107の相互を接続していて、それらの間の
データ転送に用いられる。
レジスタ群107,108はデータを格納し1ておくた
めの複数個のレジスタからなつており、データバス11
2からデータを受け、レジスタ群107は演算バス11
0にデータを出力し、レジスタ群108は演算バス11
1にデータを出力する。また、レジスタ群107のうち
の1つのレジ2スタはレジスタ間バス106に接続され
ていてデータの授受を行う。加減算回路109は、演算
バス110,111からデータをうけて、両者の加減算
を行つてその結果をデータバス112に出力する。
順序制御回2路113は制御ストレージ115からマイ
クロ命令を取り出す順序を指定する。制御ストレージ1
14はセル1内の動作を制御する一連のマイクロ命令を
格納しており、順序制御回路113の指定する順序に従
つてマイクロ命令を出力する。マイクロ命令レジスタ1
15は制御ストレージ114から出力されたマイクロ命
令を一旦格納しておき、これを命令デコード回路116
に与える。命令デコード回路116はマイクロ命令レジ
スタ115から与えられたマイクロ命令をデコー.ドし
て制御信号線117に制御信号を出力する。この制御信
号によつてセル1内の各部の動作を制御する。第3図は
各クロック線9,10,11,12の接続状態を詳細に
示したブロック線図である。
クロック線9,10はセル列間に交互にくし状に配線す
る。また、クロック線11,12も同様にセル行間に交
互にくし状に配線する。セル1内に示した数字の組は後
で動作の説明のためにつけた各2ル1の番地である。以
下、第1図〜第3図にもとづいて本装置の動トを詳細に
説明する。
本装置の動作は大きく分けて次の3つのフエイぐに分か
れる。
初期配置セットフェイズ、配線長曽減値算出フェイズ、
入れ換えフェイズである。獄下順に説明する。j)初期
配置セットフェイズ このフェイズでは第1図の各セル1に初期配置の状態を
セットする。
各セル1に与えるべき情報はそのセル1に割当られたノ
ードの番号と、該ノードが接続されているノードの番号
と位置である。これらの全ての情報はデータ入力線8を
通して、制御ユニット7に外部より与えられ、制御ユニ
ット7に一旦蓄えられたのち、各セル1に与えられる。
このとき、全セル1の中から情報を書き込むべき特定の
セル1を選ぶためにアドレスデータ線3を通してセルア
ドレスを指定し、これをアドレスデコード回路2でデコ
ードして、その特定のセル1に入力する2本のセル選択
線4を両方とも゜゜1゛の状態にする。一方、その特定
のセル1に書き込むべき情報はデータバス6を通して転
送される。このような処理を全セル1に対して行うこと
により、全セル1にそれぞれ初期配置として割当てられ
たノードの番号と、該ノードと接続されている全てのノ
ードの番号と位置を格納することができる。これらの情
報は全てレジスタ群107に格納されるものとする。(
2)配線長増減値算出フェイズ 初期配置セットフェイズで与えられた情報にもとずいて
隣り合うセル内のノードと交換したときに配線長がどれ
だけ長くなるか、あるいは短かくなるかをあらかじめ算
出しておくフェイズである。
実際に入れ換えるベアが指定されたときに、ここで計算
した値を用いて改善されるかどうかを判定することにな
る。これらの計算は、ある着目したセル内のノード自身
の位置とそのノードが接続されている全てのノードの位
置が与えられているので、そのノードを上下左右の隣り
の位置に移動したと仮定することによつて容易に実行さ
れる。
この結果、各セルともそれぞれ上下左右のノードと入れ
換えたと仮定したときの配線長の増減の値を新たな情報
として格納する。(3)入れ換えフェイズ このフェイズでは(1)の初期配置セットフェイズで
セットされた配置をスタートポイントにして上下左右に
隣合うセル1内のノードの入れ換えを試みて配置改善が
あれば入換え、改善がなければ入れ換えないという処理
を繰り返す。
この処理をいかなる隣り同士のセル1のノードの入れ換
えを行つても改善がみられなくなるまで続ける。まず入
れ換えの対象となるノードのベアを指定する必要がある
が、このために4相のクロック信号を用いている。
ノードのベアを指定する方法について第3図を用いて説
明する。例えばク咄ンク線9が“゜1゛になつたときに
はセル1のベアの組合せは((1,1),(2,1))
,((1,2),(2,2)),((1,3),(2,
3)) ・((1,6),(2,6)),((3,1
),(4,1)),((3,2),(4,2)),
・((3,6),(4,6)),((5,1),(6,
1)) ((5,6)(6,6))が指定されたこ
とになる。また、例えばクロック線11が6′r゛とな
つたときには、セル1のベアの組合せとして((1,5
),(1,4)),((2,5),(2,4))・ ・
((6,5),(6,4)),((1,3),(1,2
)),((2,3),(2,2)), ・・・((6,
3),(6,2))が指定されたことになる。このよう
にしてクロック線9,10,11,12がフェイズをず
らして1回ずつ゜゜1゛の状態とれば、全てのセル1の
隣り同士の組合せが指定されることになる。すなわち全
てのノードの隣り同士の組合せが指定されたことになる
。次に上記のような方式で順番に指定されたセル1内の
ノードベアに対して、入れ換えによる配線改善があるか
ないかを判定する。
以下クロック線9が“゜1゛の状態をとつたときを仮定
して説明を行う。
このとき((1,1),(2,1)),((1,2),
(2,2))・・・・・等がベアとして指定されたこと
になるが、このうち、((1,1),(2,1))のベ
アに着目する。セル・1,1、セル2,1とも(2)の
配線長増減値算出フェイズでそれぞれ隣りのセル内のノ
ードと入れ換えたと仮定したときの配線長の増減の値を
もつている。従つて、ここではセル1,1については右
隣りのセルすなわちセル2,1、セル2,1については
左隣りのセルすなわち1,1と入れ換えたと仮定したと
きの配線長の増減の値を加え合わせることによつて両者
のセル内のノードを入れ換えたときに配置全体として改
善があるかどうか判定できる(但し、配線長が増える場
合と、減る場合て正負逆符号がとられているとする)。
この計算はセル1,1あるいはセル2,1内に有する機
能で容易に実行されるものである。
従つ)てどちらか一方から他方のセルへ配線長増減値算
出フェイズであらかじめ算出されているデータを転送す
れば、そのデータを受けた側のセルでそのセル自身のも
つデータと併わせて上記の判定を行うことができるもの
である。このような左右どちらのセルでこの判定機能を
行うかはあらかじめ制御ストレージ114にマイクロ命
令としてセットしておけばよいことになる。両セル間の
データ転送はセル間データバス5を通して行われ、全セ
ルのベアについて以上の処理を終えた段階で、各セlル
ペアで入れ換えによる改善があるかどうかを調べる。こ
れは制御ユニット7によつてセルアドレスを順次指定し
てそのセルからの判定結果をデータバス6を通して制御
ユニット7に送ることによつて行う。制御ユニット7で
は一旦このデータを格納しておき、このデータにもとづ
いてノードの入れ換えに関与するセル内のデータの変更
を行う。これを第4図、第5図を例にとつて説明すると
、ノード6と10が入れ換えになつた場合にノード10
に接続関係のあるノード5,7,9,13でもつている
ノード10の位置情報を第4図での1,4から第5図で
の1,3というデータに書き変えることに相当する。こ
れを行うためには初期配置セットフェイズで行つたのと
はほぼ同様な方法で指定されたセル内に変更すべきデー
タを書き込む。
すなわち、セル選択線4で特定のセルを指定してデータ
バス6を通してデータを転送しそのセルにデータを書き
込む。このようにして、入れ換えによつて生じたノード
位置データの変更を全て終了すると、初期配置セットフ
ェイズ後の状態と同じになる(但し、ノード位置は第4
図から第5図へというような変化をしている)。引続い
てクロック線10が゜゜1゛になり、クロック線11が
゜“1゛になるという経過に従つて、次々に異なるセル
すなわちノードのベアが指定され上記と同様の処理が繰
返される。
この操作を繰返してクロック線9,10,11,12が
1周期経過しても如何なるノードベアにも入れ換えによ
る改善がなくなつたとき、これを制御ユニット7で監視
して、入れ換えフェイズを完了する。この時点の各セル
に格納されているノード位置データが最終配置である。
従つて、これを制御ユニット7からデータ入出力線8を
通して外部に読み出せばよい。以上説明したように、本
発明は、レジスタ群107,108、加減算回路109
等からなる演算回路、順序制御回路113や制御ストレ
ージ114等からなる制御回路を含むセル1をアレイ状
に構成し、セル間データバス5により隣接セル間を接続
し、制御ユニット7とセル1とをデータバス6により接
続し、又複数相のクロック信号を供給するクロック線9
,10,11,12を接続し、セル1には予め初期配置
データを格納して、クロック信号に従つて順次一対のセ
ル内のノード交換による配線改善の可否を総配線最小化
等の所定の評価基準に基いて演算回路により判定し、改
善判定の場合にはノードの入れ換えを行い、非改善判定
の場合はノードの入れ換えを行わない処理を繰返し、そ
れによつて最終配置データを得るものであり、従来はソ
フトウェアによつて求めていた配置決定が、本発明によ
れば、ハードウェアで直接求めることができ、配線決定
を短時間で処理することができる。
なお従来のソフトウェアにより配置決定を行う場合に、
汎用計算機と云うハードウェアを用いることになるが、
その場合の演算回路は単一で、配置決定を逐次的に処理
しなければならないことになる。
一方本発明によれば、各セルの演算回路により並列処理
が可能となることによつて、従来例に比較して処理時間
を大幅に短縮することができるものである。
又セルの個数は、配置を決定すべきICの個数又は?■
チップ上の論理ゲートの個数と同一以上設ければ良いこ
とになる。又本発明は前述の実施例にのみ限定されるも
のではなく、種々付加変更し得ることは勿論である。
【図面の簡単な説明】
第1図は本発明の実施例の要部ブロック線図、第2図は
第1図のセル1の部分の一実施例のブロック線図、第3
図は第1図のクロック線の供給の実施例を示すブロック
線図、第4図、第5図、第6図は配置改善処理手順につ
いての説明図である。 1・・・・・・セル、2・・・・・アドレスデコード回
路、3ノ・・・・・アドレスデータ線、4・・・・・・
セル選択線、5・・・・・・セル間データバス、6・・
・・・・データバス、7・・・制御ユニット、8・・・
・・・データ入出力線、9,10,11,12・・・・
・・クロック線、101・・・ANDゲート、102〜
105・・・・・・バッファレジ7スタ、106・・・
・・・レジスタ間バス、107,108・・・・・ルジ
スタ群、109・・・・・・加減算回路、110,11
1・・・・・演算バス、112・・・・・・データバス
、113・・・・・・順序制御回路、114・・・・・
制御ストレージ、115・・・・・・マイクロ命令レジ
スタ、1ク16・・・・命令デコード回路、117・・
・・・・制御信号線。

Claims (1)

    【特許請求の範囲】
  1. 1 レジスタ群と、演算回路と該レジスタ群及び演算回
    路を制御する回路を含むセル、該セルをアレイ状に構成
    し隣接するセル間を接続して該セル間のデータの転送を
    行うセル間データパス、前記セルを選択する為のアドレ
    スデコード回路、前記セルに複数相のクロック信号を供
    給するクロック線、制御ユニット及び該制御ユニットと
    前記セルとの間のデータ転送を行うデータパスを有し、
    前記セルは、予め初期配置データとして、ノードの番号
    と該ノードと接続関係にあるノードの番号と位置とを格
    納し、前記クロック信号に同期して順次選択された一対
    のセル内のノードを交換したとき、配置が改善されるか
    否かを所定の評価基準に基いて前記演算回路により判定
    し、改善判定によりノードの入れ換えを行い、非改善判
    定によりノードの入れ換えを行わない処理を繰返して最
    終配置データを得る構成としたことを特徴とする配置決
    定装置。
JP52025028A 1977-03-08 1977-03-08 配置決定装置 Expired JPS6046827B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP52025028A JPS6046827B2 (ja) 1977-03-08 1977-03-08 配置決定装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52025028A JPS6046827B2 (ja) 1977-03-08 1977-03-08 配置決定装置

Publications (2)

Publication Number Publication Date
JPS53110067A JPS53110067A (en) 1978-09-26
JPS6046827B2 true JPS6046827B2 (ja) 1985-10-18

Family

ID=12154447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52025028A Expired JPS6046827B2 (ja) 1977-03-08 1977-03-08 配置決定装置

Country Status (1)

Country Link
JP (1) JPS6046827B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4495559A (en) * 1981-11-02 1985-01-22 International Business Machines Corporation Optimization of an organization of many discrete elements
JPS6093436A (ja) * 1983-10-28 1985-05-25 Hitachi Tobu Semiconductor Ltd 電子部品実装配線基板の設計作図装置
US4742471A (en) * 1985-10-31 1988-05-03 International Business Machines Corporation Method for improving wirability of master-image DCVS chips

Also Published As

Publication number Publication date
JPS53110067A (en) 1978-09-26

Similar Documents

Publication Publication Date Title
US4300234A (en) Address pattern generator for testing a memory
JPS6242261A (ja) 超次元アレイ内のプロセツサ相互接続方法およびその装置
JP3176482B2 (ja) 論理シミュレーション装置
US4759021A (en) Test pattern generator
JPH02503245A (ja) N次元網でm次元(mはnより小さい)結合網をシミュレートする方法と装置
US6907385B2 (en) Memory defect redress analysis treating method, and memory testing apparatus performing the method
JPS6046827B2 (ja) 配置決定装置
US7516059B2 (en) Logical simulation device
US9798550B2 (en) Memory access for a vector processor
JP4388641B2 (ja) 集積回路の試験装置
EP0142562B1 (en) Pipeline system for microprogram control unit
US7043417B1 (en) High speed software driven emulator comprised of a plurality of emulation processors with improved multiplexed data memory
JPH0812226B2 (ja) 半導体装置
JPS6046828B2 (ja) 配置決定装置
US6510480B1 (en) Data transfer circuit and data processing method using data transfer circuit for handling interruption processing
JPH06105756B2 (ja) 配置決定方法
JPH0345580B2 (ja)
JPH06300814A (ja) 集積回路及びそのテスト方法
JPS5842621B2 (ja) 配線径路決定装置
JP3099774B2 (ja) 半導体集積回路
US7089538B1 (en) High speed software driven emulator comprised of a plurality of emulation processors with a method to allow memory read/writes without interrupting the emulation
JPS63108747A (ja) ゲ−トアレイ集積回路
JP2005032375A (ja) 半導体記憶装置、及びそのテスト方法
JP2824853B2 (ja) パターンデータ書込み方式
AU649476B2 (en) Integrated circuit comprising a standard cell, an application cell and a test cell