JPH0969119A - 回路設計装置及び回路設計方法 - Google Patents

回路設計装置及び回路設計方法

Info

Publication number
JPH0969119A
JPH0969119A JP7248721A JP24872195A JPH0969119A JP H0969119 A JPH0969119 A JP H0969119A JP 7248721 A JP7248721 A JP 7248721A JP 24872195 A JP24872195 A JP 24872195A JP H0969119 A JPH0969119 A JP H0969119A
Authority
JP
Japan
Prior art keywords
circuit
clock tree
designing
registers
clock
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.)
Pending
Application number
JP7248721A
Other languages
English (en)
Inventor
Mitsuru Sasano
満 笹野
Norihisa Shirota
典久 代田
Yasuhiro Iida
康博 飯田
Kenichi Sato
健一 佐藤
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP7248721A priority Critical patent/JPH0969119A/ja
Publication of JPH0969119A publication Critical patent/JPH0969119A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Semiconductor Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】フロアプランの実行によりブロツクの配置に変
更があつた場合、各ブロツクに与えられるクロツクが最
適な状態から不適切な状態になることがあつた。 【解決手段】フロアプランの実行により変更のあつたブ
ロツクのレジスタ情報を取得し、当該取得された情報に
基づいて各ブロツクに最適なクロツクツリーを作成する
処理を開始させるようにする。

Description

【発明の詳細な説明】
【0001】
【目次】以下の順序で本発明を説明する。 発明の属する技術分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段 発明の実施の形態 (1)回路設計装置 (2)回路設計手順 (2−1)概略 (2−2)クロツクツリー作成前処理 (3)他の実施例 発明の効果
【0002】
【発明の属する技術分野】本発明は回路設計装置に関す
る。特にLSI(Large Scale Integrated circuit)を
構成するレジスタ及び組合せ回路にクロツク信号を分配
するクロツクツリーを作成するものに適用して好適なも
のである。
【0003】
【従来の技術】通常、LSIの基本構造は、図21に示
すように、データを一時的に保持するためのレジスタR
と、各種ゲートを組合せた組合せ回路Cと、入力ポート
PI及び出力ポートPOとを互に接続したものと考える
ことができる。ここでLSIを構成する各レジスタRに
はクロツク信号CKが供給されており、各レジスタRは
このクロツク信号CKに基づいてデータの保持動作を実
行するようになされている。
【0004】ところで1つのLSIの内部では、1つの
基準クロツクを基準として各レジスタRが動作している
ことが多く、1つのクロツク信号CKを数千個のレジス
タRに供給する必要がある。ところがこれら全てのレジ
スタRを1本のクロツク信号線で接続するのは実際上困
難であり、1つのバツフアによつてクロツク信号CKを
供給できるレジスタ(又はバツフア)の数には上限(例
えば十数個)があつた。
【0005】そこで従来は、図22に示すように、クロ
ツク信号CKを数段階のバツフアを経て各レジスタRに
分配するようになされている。なお図22に示すよう
に、クロツク信号CKの発生源と各レジスタRとをバツ
フアBを介して階層的に接続する接続回路を、以下の説
明ではクロツクツリーという。ところがこのクロツクツ
リーを用いて各レジスタRにクロツク信号CKを供給す
る場合、各レジスタRのクロツク入力端に入力されるク
ロツク信号CKにタイミングのずれ、いわゆるクロツク
スキユーが発生するおそれがあつた。これを図23を用
いて説明する。
【0006】因に図23はレジスタRの最も一般的な構
成を示す。さてレジスタRはクロツク信号CKの立ち上
がりで入力信号Dの値をレジスタ内に取り込み、その値
を出力信号Qとして出力する。その動作タイミングを図
24に示す。ただし図24の場合には初期状態として信
号Qn-1 がレジスタ内部に保持されているものとし、同
じく信号Qn-1 が出力端からn-1 されているものとす
る。
【0007】さてレジスタRは、クロツク信号が次に立
ち上がるタイミングで入力信号Dnの値を内部に取り込
み、その値を出力信号Qn として出力する。このときレ
ジスタRが正常に動作するために必要となる条件は、ク
ロツク信号CKの立ち上がり時刻に対して先行するセツ
トアツプ時間tsuと、後続するホールド時間th との期
間において入力信号Dの値が一定に保たれていることで
ある。
【0008】ところでクロツク信号CKが立ち上がつて
から実際に出力信号Qの値が変化するまでの間には伝搬
遅延時間tpdだけの遅れが生じる。この伝搬遅延時間t
pdの値は一般にホールド時間th よりも大きい。従つ
て、同一のクロツク信号CKが与えられている限り、複
数のレジスタRと組合せ回路Cとが互いに接続されてい
てもホールド時間th の期間に各レジスタRの入力信号
Dの値が変化することはない。すなわち上述のホールド
時間th に関する入力信号Dの条件は満たされることに
なる。
【0009】これを図25に示す回路例を用いて説明す
る。この回路例の場合、レジスタR3に入力される入力
信号Dはクロツク信号CKの立ち上がりより少なくとも
伝搬遅延時間tpd以上経過した後でなければ変化しな
い。すなわちホールド時間thに関する入力信号Dの制
約は自然に満たされることになる。タイミングの詳細は
図26に示した通りである。なお図26の図中、tmin
は組合せ回路Cの内部における最小遅延時間を表してい
る。
【0010】一方、前述の通り、実際のクロツク信号C
Kは複数のバツフアを介して供給されるので、レジスタ
Rに到達するまでの間にクロツク信号CKに遅延が生じ
るのを避け得ない。しかもこの遅延量は、各バツフア素
子の特性のバラツキや各バツフア出力に接続される負荷
の大きさの違い等の要因によつて変化するため予測が難
しい。例えば図27に示す回路例の場合、各レジスタR
にクロツク信号CKが到達する時刻は完全に一致すると
は言い得ない。すなわちクロツクスキユーが生じること
になる。
【0011】さてこのようにクロツクスキユーが生じた
場合、その影響が最も深刻になるのはホールド時間th
に関する入力信号Dの制約が満たされなくなるときであ
る。これはレジスタRに供給されるクロツク信号CKの
立ち上がり時刻が相対的に遅れる場合に起こる。例えば
レジスタR3に加えられるクロツク信号CKが他のレジ
スタR1及びR2に加わえられるクロツク信号CKに比
べて遅れた場合、図28に示すように、レジスタR3に
入力される入力信号Dがホールド時間th 内(若しくは
それ以前)で変化する可能性がある。
【0012】この図から分かることは、1つのレジスタ
Rと他のレジスタRとの間に位置する組合せ回路Cの最
小遅延時間tmin の値が十分に大きければクロツクスキ
ユーは生じないということである。しかし最小遅延時間
min の値が小さい場合には、以下に述べる2通りの方
法のうちの1つを用いてクロツクスキユーの発生に対処
しなければならない。1つはクロツクツリーを構成する
段階での対策である。すなわち図29に示すように、ク
ロツクスキユーが問題となるレジスタR1、R2、R3
の組を1本のクロツク信号で接続することによつて、ク
ロツクスキユーの発生をなくす方法である。
【0013】この方法は、回路規模の増加や性能の悪化
が起こらず、むしろ後述するチツプのレイアウトの観点
からすると好ましい結果を期待することができる。しか
しながら、前述したように1つのバツフアからクロツク
信号を供給できるレジスタRの数には上限があるため、
この方法は必ずしも全ての回路に適用し得ない。
【0014】もう1つの方法は、図30に示すように、
クロツクツリー構成後の対策である。これはレジスタと
レジスタとの間の適当な位置に遅延素子を挿入すること
により最小遅延時間tmin を伸ばす方法である。この方
法を使えば、ホールド時間th に関する入力信号Dの制
約を常に満たすようにすることができるが、遅延素子の
挿入によつて回路規模が増加するのを避け得ず、動作速
度も低下し易い。従つて図29に示す前者の方法を適用
でき得る限り、この方法でクロツクツリーを構成するこ
とが望ましい。
【0015】ところでこのクロツクツリーを構成するに
はかかるクロツクスキユーを考慮に入れる他、冒頭で説
明したLSI自体の基本構造を十分に考慮しなければな
らない。以下、この点について説明する。当然のことな
がら、データは入力ポートから出力ポートへと伝搬さ
れ、その過程において各種の演算が実行される。従つて
LSIを構成するレジスタR及び組合せ回路Cのチツプ
内部における物理的な配置(レイアウト)もデータの流
れに沿つて行なわれるのが自然である。すなわちデータ
の流れの上流ではレジスタR(及び組合せ回路C)を入
力ポートの近くに配置し、下流に近づくにつれて出力ポ
ートに近づけて配置するのが自然である。そうすること
によつて、LSI内部における全体の配線長が減少し、
チツプ面積の減少及び性能の向上を図ることができる。
【0016】一般にチツプのレイアウトを設定する装置
はコンピユータ上にソフトウエアとして実現されてい
る。このことはクロツクツリーの構成法にも関連する。
すなわちクロツクツリーの各バツフアも、やはりデータ
の流れに従つて配置されるべきである。具体的には、図
31で概念的に示したように、入力ポート又は出力ポー
トから近い順にレジスタを分類し、それぞれを同一のク
ロツクバツフアに接続することによつて、クロツクツリ
ー全体の配線長をできるだけ短くすることが必要であ
る。その結果、チツプ面積が減少するだけでなく、配線
自身の持つ浮遊容量を減少でき、クロツク信号の遅延量
を減少させることができる。従つてクロツクスキユー
(すなわちクロツク信号の遅延量の差)を小さくさせる
ことが期待できる。
【0017】このようにチツプのレイアウトはデータの
流れに沿つて行なわれるべきである。現在使用されてい
るレイアウト設計ソフトでは、これらのことを考慮し、
セルとセルとを繋ぐネツトの関係に基づいて接続されて
いるセル同士を近くに配置するようになされている。し
かしチツプ面積が大規模化する昨今、現在使用されてい
るレイアウト装置のアルゴリズムでは能力不足が問題に
なつてきている。
【0018】そこで最近では、LSIの設計を行なつた
設計者自身からレイアウトで使用する情報を取得し、積
極的に活用する手法が取られている。ここでレイアウト
で使用する情報とは、自分の設計した回路中をデータが
どう流れるかについての情報であり、またハードウエア
記述言語及び論理合成装置を用いた最近の上流設計であ
つても設計時に作成した論理的な階層をデータがどのよ
うに流れるかについての情報である。このように設計者
から得られる情報を用いる手法はフロアプランと呼ば
れ、その作業を提供する装置はフロアプラン装置と呼ば
れる。
【0019】さてフロアプラン装置はコンピユータ上で
実行されるソフトウエアとして実現されているのが一般
である。通常、設計者はコンピユータの映像表示手段に
表示される画像を確認しながら入力手段でブロツクを配
置する位置を入力する。具体的には、設計者が図32に
示すように矩形のブロツクをLSIのチツプイメージ上
に並べることによりフロアプランを実行する。なお図
中、「PIN0」〜「PIN27」はLSIの入出力ピンであ
る。
【0020】まず設計者は、フロアプランの作業前に、
図21において説明した入力ポート及び出力ポートと、
これらのピンの対応を付ける。続いて設計者は信号がど
のピンから入力され、どのブロツクを通りどのピンから
出力されるかを考えながら各ブロツクの物理的な位置を
決定する。因に良いレイアウト結果は、実際に信号をや
りとりするブロツク同士を隣接することにより実現され
る。従つて「Block B」と「Block F 」との間で情報を
やり取りしているのに図32のように離した配置となる
と信号のやりとりが上手く行かなくなる。
【0021】これらのことを考慮しつつブロツク配置が
完了した時点でこれらブロツクの位置情報はフロアプラ
ン装置からレイアウト装置に渡される。レイアウト装置
はこれら情報を基にブロツク内のセルをフロアプランで
指示された位置の中に配置する。この作業によりブロツ
ク内のセルが配置される物理的な位置が限定され、同じ
ブロツク内のセルは互いに近くに配置されるようにな
り、レイアウトの質が高まる。
【0022】ところがこれらフロアプランに使用するブ
ロツクは実際の設計の際に用いたブロツクとは限らな
い。設計する際には、そのブロツクがLSIの規模と比
較してどの程度なのかはまだ分かつていない。そこでフ
ロアプラン作業の際に、設計時に作成したブロツクが、
1つのブロツクとして扱うには不適当なほど小さい場合
や逆に大きすぎる場合は、複数のブロツクを合わせて1
つのブロツクにしたり、1つのブロツクを分割して複数
のブロツクにしたりする。フロアプラン作業は、このよ
うにブロツクの統合及び分割の場を設計者に提供する
が、実際にブロツクの統合及び分割を行なうのではな
く、フロアプラン装置内で仮想的にブロツクの統合及び
分割を行ない、その仮想的に作成されたブロツクに属し
ているセルに対して位置情報を付加してレイアウト装置
に渡す作業である。
【0023】
【発明が解決しようとする課題】ところで前述したよう
に、フロアプランに使用するブロツクは実際の設計に用
いた論理的なブロツクとは限らない。設計者はフロアプ
ランの際に設計時のブロツクを適当な大きさに統合した
り、分割することにより新たなブロツクを作成する。と
ころがこのレイアウト作業をクロツクの分配作業が終わ
つた後に実行する場合、ブロツクの統合や分解が実行さ
れると、たとえフロアプラン以前には最適なクロツク分
配であつたとしても、フロアプラン実行後は不適当なも
のになつてしまう場合があり、クロツク分配とフロアプ
ランのバランスが難しいという問題があつた。
【0024】以下、クロツク分配が不適切になる例を具
体的に示す。例えば図33の回路の場合、ブロツクA及
びブロツクBの基でクロツクの分配が行なわれることに
より、適切なクロツクツリーが合成されているが、レジ
スタA及びレジスタB間にはゲートやデイレイが存在し
ない。ところがレジスタAの入力側及びレジスタBの出
力側に数多くの組合せ回路が存在し、大きなデイレイが
あるとすると、レジスタA及びレジスタBの間でクロツ
クスキユーが起こる可能性を無視し得なくなる。
【0025】これはレジスタAとレジスタBとが異なる
ブロツクに属することに起因して2つのレジスタが互い
に異なる位置に配置される可能性があるためである。こ
のような場合、クロツクスキユーに対する対策として
は、上述のクロツク分配作業が終了した後、このデータ
ライン上に遅延素子を挿入して対処するのが適当であ
る。そこでクロツク分配に続くフロアプランにおいて、
ブロツクAとブロツクBとをマージして新しいブロツク
Cを作成したとする。
【0026】それが図34の例であるが、レジスタAが
レジスタBと同じブロツクになつた場合、このクロツク
分配は適切ではない。従つて最も適切なクロツク分配を
実現するには図35で示すように同じクロツクバツフア
でレジスタA及びBにクロツク信号CKを与える必要が
ある。一方、フロアプラン操作によりブロツクを分解す
る場合には次のようにクロツク分配が不適切になる場合
がある。
【0027】まず図36に示すように、元々1つのブロ
ツクDにおいてクロツク分配が行なわれ、適切なクロツ
クツリーが合成されているものとする。この図36の場
合、レジスタAとレジスタBとの間にはゲートが存在せ
ず、デイレイのおそれはない。従つてクロツクスキユー
の対策のためにこれら2つののレジスタには同じクロツ
クバツフアを介してクロツク信号CKが与えられてい
る。
【0028】続いてフロアプラン作業が実行され、ブロ
ツクDが2つのブロツクE及びFに分割されたとする。
それが図37の例である。ところがこのように2つのブ
ロツクに分割されると、同じクロツクバツフアを介して
クロツク信号CKが与えられていたレジスタA及びBが
別々のブロツクに入れられてしまう。ところが2つのブ
ロツクに分割されると、これらレジスタが物理的に異な
る位置に置かれることになり、クロツクラインが異様に
伸びて正確なタイミングが取れなくなつてしまう。従つ
てブロツクDのもとで最適化されたクロツク分配は新ブ
ロツクE及びFのもとでは不適切となる。
【0029】これらブロツクに対してクロツク分配を最
適化したものを図38に示す。このように1つのブロツ
クを2つのブロツクに分割する場合には分割後の各ブロ
ツク内で適切なクロツクツリーを合成し、レジスタAと
レジスタBとの間にクロツクスキユー対策として遅延素
子を挿入しなければならない。以上の例のように、適当
なクロツク分配を実現んした回路であつても、その後に
フロアプランを実行する場合には、ブロツクの統合及び
分解によつてクロツク分配が不適当なものとなるおそれ
を避け得なかつた。
【0030】本発明は以上の点を考慮してなされたもの
で、チツプのレイアウトに適合して最適なクロツク分配
を実現できる回路設計方法及びこれを用いた回路設計装
置を提案しようとするものである。
【0031】
【課題を解決するための手段】かかる課題を解決するた
め本発明においては、複数のレジスタを含むブロツクを
1又は複数組み合わせてなる回路を設計する際、フロア
プラン実行後におけるブロツクの情報を得た後、当該ブ
ロツクに適したクロツクツリーの作成処理を実行するよ
うにする。このようにまず設計者はクロツクの分配を意
識せず最後まで回路を論理設計し、その後、フロアプラ
ンを実行する。そしてこのフロアプランの実行により発
生したブロツクの統廃合についての情報を取得し、その
情報に基づいて当該ブロツクに適したクロツクツリーを
作成する。
【0032】
【実施例】以下図面について、本発明の一実施例につい
て詳述する。
【0033】(1)回路設計装置 図1に回路設計装置の全体構成を示す。この実施例の場
合、回路設計装置11はコンピユータ上のソフトウエア
として実現されている。さて回路設計装置11は、キー
ボードやマウス等でなる入力装置12と、各種プログラ
ムに基づいて最適なフロアプラン及びクロツク分配を実
現する処理装置13と、処理結果を画面上に表示する表
示装置14との3つで構成されている。回路設計装置1
1は入力装置12を通じて設計者から必要な情報を取得
し、処理結果を表示装置14である表示装置の画面上に
表示するようになされている。
【0034】因に処理装置13は、フロアプランのため
のプログラムやクロツク分配プログラム等が記憶されて
いる記憶装置13Aと、これらプログラムを逐次解読し
て所定の制御信号を出力する制御装置13Bと、制御信
号に基づいて必要なデータを記憶装置13Aから読み出
して演算する演算装置13Cとの3つの部分によつて構
成されている。
【0035】(2)回路設計手順 (2−1)概略 図2に一連の回路設計手順を示す。まず最初に設計者は
ステツプSP2に示すようにクロツク分配を意識しない
でLSIを設計する。ここで設計者はハードウエア記述
言語を用いて設計作業を進め、その記述を記憶装置13
Aに記憶されている論理合成ソフトウエアに入力するこ
とによつて配置配線に必要なLSIの設計データ(ネツ
トリスト)を入手する。なおこのLSIの設計データは
記憶装置13A上に保存される。
【0036】この作業が終了すると、次はステツプSP
3に示すようにフロアプランを実行する処理に移る。回
路設計装置11は記憶装置13Aからフロアプランのプ
ログラムを読み出すと、前ステツプSP2で得た設計デ
ータ及びピン情報等を入力し、図3に示すように、チツ
プイメージと、LSI内のブロツクを意味する矩形パタ
ーンとを画面上に表示する。
【0037】なお矩形パターンの面積は各ブロツクの規
模を表しており、設計者はLSI上におけるデータの流
れを考慮しながらこれら矩形パターンの縦横比を変え、
チツプイメージ上に配置する。この際、図4(A)に示
すブロツクA〜Fのように1つのブロツクが小さすぎて
フロアプランに適しないブロツクについては、6つのブ
ロツクA〜Fを1まとめにしたブロツクLを作成してチ
ツプイメージ上に配置するようにし、図4(B)に示す
ブロツクKのように大きすぎてフロアプランに適しない
ブロツクについてはブロツクKを壊して複数のブロツク
M、N、Oを作成してチツプイメージ上に配置するよう
にする。
【0038】なおブロツクKを壊すということは、具体
的にはブロツクKの階層が無くなつて下位の階層のブロ
ツクM、N、Oが現れることを意味する。これら新しい
ブロツクM、N、Oについても、設計者は縦横比を変え
ながら図5に示すようにチツプイメージ上に配置する。
さてフロアプランが終了すると、回路設計装置11は続
くステツプSP4に移り、前ステツプSP2で作成した
最終的なブロツクの情報を取得する。このとき位置情報
は不要で、必要なものはフロアプランで最終的に使用さ
れたブロツクの情報である。
【0039】このとき元のLSI内に存在しないブロツ
クが含まれていない場合には、回路設計装置11は新た
に作成されたブロツクの情報を記憶装置13A内に格納
する。例えば図4(A)に示すように、複数のブロツク
を統合して新たなブロツクが作成した場合には、これら
複数のブロツクを包含する新たなブロツクを作成し、こ
れについての情報を記憶する。このとき回路設計装置1
1は統合しようとするブロツクの上位に新たにもう1つ
階層を設ける。また図4(B)に示すように、ブロツク
を分解して新たなブロツクを作成する場合には、分解す
るブロツクの階層を消去する。以上のように、回路設計
装置11は記憶装置13A上に最終的なブロツク構造を
記憶する。
【0040】このようにブロツク構造の記憶装置13A
上への書き込みが終了すると、回路設計装置11の処理
はステツプSP5のクロツクツリー作成前処理に移り、
各ブロツク内のレジスタやクロツクツリーを作成する上
で必要となる各種情報を取得する処理に移る。また回路
設計装置11は設計者から各ブロツクのクロツクツリー
の構成に有益な情報が入力されるのを待ち受け、全ての
入力が終了した時点で次のステツプSP6に移る。この
とき回路設計装置11は前ステツプSP5で入力された
情報に基づいて実際にクロツクツリーを作成し、これを
各ブロツク内に埋め込むことによりLSIの設計図を完
成する。因にクロツクツリーを埋め込むということは、
具体的には、クロツクツリーが埋め込まれたように記録
媒体上のLSI設計データを書き換えることを意味す
る。
【0041】以上のように、回路設計装置11はフロア
プラン後のブロツクを用いてクロツクツリーを作成し、
これをブロツク内に埋め込むように処理を実行するよう
になされており、各回路にクロツクを適切に分配できる
ようになされている。また回路設計装置11はフロアプ
ラン後のブロツクを用いてクロツクツリーを作成し、こ
れをブロツク内に埋め込むように処理を実行することに
より、従来のようにフロアプランの実行の際にブロツク
を統合又は分解してもクロツクツリーが不適当になるお
それを心配しなくて済むようになされている。続いてス
テツプSP5で実行される具体的な処理内容を説明す
る。
【0042】(2−2)クロツクツリー作成前処理 ステツプSP5の処理を図6及び図7に示す。まず回路
設計装置11はステツプSP5に示すクロツクツリー作
成前処理を開始するとステツプSP12において、LS
Iについての設計情報が記憶されているフアイルのフア
イル名が入力装置12を用いて指定されるのを待ち受け
る。例えば記憶装置13A上にこれら設計情報がフアイ
ル名"foo.v "と言う名称で保存されており、これを設計
者が図8に示すように入力すると、回路設計装置11は
このフアイル名で記録されている情報を読み出す。なお
各フアイルには、LSIの設計情報がLSIベンダーが
採用するネツトリスト形式又はハードウエア記述言語と
して保存されている。
【0043】続くステツプSP13に移ると、回路設計
装置11はフアイル名"foo.v "に記憶されている設計情
報のうちどのブロツクについてクロツクを分配しようと
しているのか設計者が入力するのを待ち受ける。例えば
図9に示すように、設計者はブロツクに関する情報を入
力する。この例の場合、"foo.v "というフアイル名のフ
アイルに保存されているLSI内の"FOO"という名称の
ブロツクが指定されている。これにより当該ブロツクに
ついてのクロツクの分配が可能な状態になる。
【0044】このようにブロツクの特定が完了すると、
回路設計装置11はステツプSP14に移り、"FOO "ブ
ロツク内のどのクロツク信号に対して分配作業を実行す
るのか特定するため、設計者からクロツク信号名が入力
されるのを待ち受ける状態になる。例えば図10に示す
ように、設計者がクロツク信号名を入力するのを待ち受
ける。なおこの図の場合、"FOO "ブロツク中に存在する
複数のレジスタのうちクロツク信号入力ポートに接続さ
れている“CK”というクロツク信号についてクロツク
の分配を実行しようとしていることを示している。この
ようにクロツク信号を指定できることにより、LSI中
に複数のクロツク信号があつてもそのうちの一部のクロ
ツクについてのみ分配できるという点で有用である。
【0045】このようにクロツク信号名の指定が終了す
ると、回路設計装置11はステツプSP15に移り、設
計者からクロツクツリーの形状が入力されるのを待ち受
ける。設計者は回路設計装置11に入力装置12を用い
てクロツクツリーの形状を与える。さてクロツクツリー
は図2に示すように構成されるものであるが、設計者は
このステツプSP15でこの構成をどうするかを指示す
る。例えば図11のように、レジスタ4個に対して1つ
のバツフアを介してクロツクを与えるように指示する。
因にこのバツフアは第1階層のバツフアと呼ぶことにす
る。
【0046】さらに図11では、これら第1階層のバツ
フア3個につき1つのバツフアを介してクロツクを分配
している。因にこの第1階層のバツフアにクロツクを与
えるバツフアは第2階層のバツフアと呼ぶ。またこの第
2階層のバツフア2個につき1つのバツフアを介してク
ロツクを分配している。この第2階層のバツフアを介し
てクロツクを与えるバツフアを第3階層のバツフアと呼
ぶことにする。
【0047】以上のように、第1階層のレジスタ4個当
たりにつきバツフア1つ、この第1階層バツフア3個当
たりにつき第2階層のバツフア1つ、第2階層のバツフ
ア2個当たりにつき第3階層のバツフア1つというよう
にクロツクツリーを構成したい場合、設計者は回路設計
装置11に図12のように指示する。このようにクロツ
クツリーは各階層のバツフア1つあたり、いくつのフア
ンアウト(Fanout)にするかで形状を指示することがで
きる。さて回路設計装置11は図12に示すようにクロ
ツクツリーの形状が入力されると、これらの情報からク
ロツクツリーの形状を取得し利用する。
【0048】このようにクロツクツリーの形状が入力さ
れると、回路設計装置11は続くステツプSP16にお
いて、クロツクツリーに用いるバツフアの種類の情報を
設計者から取得する。設計者は回路設計装置11に入力
装置12を用いてクロツクツリーに使用するバツフアの
種類の情報を入力する。
【0049】例えば図11及び図12で示した第1階層
のバツフアには全て"VF1L"というインバータを使用し、
第2階層のバツフアには全て"VF1N"というインバータを
使用し、第3階層のバツフアには"BF1L"というバツフア
を使用したいのであれば、設計者は図13に示すように
このバツフアの種類の情報を入力する。このように各階
層のバツフアの種類を指定することで、このクロツクツ
リー全てのバツフアの種類を指示することができる。図
13のようにクロツクツリーで用いるバツフアの種類の
情報が入力されると、回路設計装置11はそのバツフア
の種類の情報を取得し利用する。
【0050】次に回路設計装置11はステツプSP17
に移り、クロツクツリー中のバツフアに付けられる名称
の規則を設計者から取得されるのを待ち受ける。設計者
は回路設計装置11に入力装置12を用いてクロツクツ
リー中のバツフアに付けられる命名規則を入力する。一
般にクロツクツリーは新たに作成され、付加されるもの
であるから、その構成要素であるクロツクツリーバツフ
アにはそれぞれ新しい個別の名称が付加される。この名
称を設計者が指定することによつて、設計者は新たにで
きたクロツクツリーを識別し、扱いやすくすることが可
能となる。
【0051】例えばクロツクツリーを合成、付加した後
にそのクロツクツリーに対して修正を加えるときなどに
は、名称が既知であると非常に便利である。この例の場
合、設計者は新たに作成されたクロツクツリーのバツフ
アの名称を全て"NEWCKBUF"という文字に唯一の数字を付
加したものにするとする。このような名称の規則にする
場合、例えば図14のように情報を入力する。回路設計
装置11はこの情報に従い、"NEWCKBUF00","NEWCKBUF0
1","NEWCKBUF02",...のように名付けられたバツフアを
用いて新たにクロツクツリーを作成する。
【0052】この処理が終了すると、回路設計装置11
は次のステツプSP18において、LSI内のレジスタ
のうち同一ワードのレジスタを名称から判断するための
情報を設計者から取得する処理に移る。設計者は回路設
計装置11に入力装置12を用いて、同一ワードのレジ
スタの名称の判断に必要な情報を入力する。ここで回路
設計装置11は、設計されたときに「どのレジスタとど
のレジスタが同じワードであるか」という情報を使用す
る。この情報を使用することでより質のよいクロツク分
配が可能となる。
【0053】通常ハードウエア記述言語を用いてLSI
を作成する場合には、設計者は情報のワードの流れを意
識して設計している。すなわちバスの情報を受け渡すレ
ジスタは、ハードウエア記述言語のソースコードではひ
とかたまりで記述される。しかし論理合成ソフトウエア
は、基本的には1ビツトレジスタしか合成できないた
め、これらのワードのレジスタは展開されてしまう。こ
れらのレジスタは展開される際、論理合成ソフトウエア
によつてある決まつた名称が付けられる。すなわちその
名称からレジスタが同じワードであつたかどうかを判断
することができる。本回路設計装置11は、その名称の
判断基準に従つてクロツクの同一ワード性を判断し、ク
ロツク分配の際に利用する。
【0054】具体的に説明する。ある論理合成ソフトは
ハードウエア記述言語のソースコード中で同じワードに
あるレジスタを“信号名[ビツト番号]”というように名
付けるとする。従つて“信号名”の部分が同じ
で、“[”と“]”に囲まれた“ビツト番号”に数字が入
つているレジスタ同士は同じワードと判断してよいこと
になる。そこで、このように命名された同一ワードレジ
スタの名称による判断基準を本回路設計装置11に指示
する場合には、設計者は例えば図15のようにこの情報
を入力する。
【0055】図15の例ではこの情報を“%s[%d]”とい
う文字列で与えている。この文字列中の“%s”が信号名
を示し、「同じワードにあるレジスタはこの部分に当た
る文字列が等しい」ことを表している。また“%d”がビ
ツト番号を示し、「同じワードにあるレジスタではこの
部分にユニークな番号が入る」ことを表している。本回
路設計装置11はこのような名称の基準を解釈し、クロ
ツク分配を行なおうとしている回路中のレジスタの名称
からワードを推測し、そのワード情報をクロツク分配の
際に使用する。
【0056】さてこの処理が終了すると、回路設計装置
11はステツプSP19の処理に移る。このステツプS
P19において、回路設計装置11はLSI内のレジス
タのうち同一ワードのポートを名称から判断するための
情報を設計者から取得する。設計者は本回路設計装置1
1に入力装置12を用いて同一ワードのポートの名称の
判断情報を入力する。ここで回路設計装置11は、設計
されたときに「どのポートとどのポートが同じワードで
あるか」という情報を使用する。この情報を使用するこ
とで、より質のよいクロツク分配が可能となる。
【0057】さて回路設計装置11は前ステツプSP1
8の処理の場合と同様、名称の判断情報に従つてポート
の同一ワード性を判断し、クロツク分配に利用する。例
えば図16の例のようにこの基準を入力する。図16の
例では図15と同様に“%s[%d]”という文字列で与えて
いる。この文字列中の“%s”が信号名を示し、「同じワ
ードにあるレジスタはこの部分に当たる文字列が等し
い」ことを表している。また“%d”がビツト番号を示
し、「同じワードにあるレジスタではこの部分にユニー
クな番号が入る」ことを表している。本回路設計装置1
1はこのような名称の基準を解釈し、クロツク分配を行
なおうとしている回路中のポートの名称からワードを推
測し、そのワード情報をクロツク分配の際に使用する。
【0058】この処理が終了すると、回路設計装置11
はステツプSP20の処理に移る。ステツプSP20に
おいて、回路設計装置11はLSI内のレジスタ置き換
えに関する情報を設計者から取得する。設計者は入力装
置12を用い、回路設計装置11に対してLSI内のレ
ジスタ置き換えるための情報を入力する。この装置につ
いては本出願人が1994年10月20日に出願した特願平6-25
5167号に記載されており、記載されているような処理に
よりレジスタが置き換えられる。
【0059】例えば1ビツトのレジスタを4つが集めた
ものと同等の機能を有する4ビツトのレジスタがライブ
ラリに存在する場合、その4ビツトレジスタを用いれば
1つのクロツク入力によつて4つのレジスタをドライブ
できるため、4つのレジスタ間のクロツクスキユーを無
くすことができる。また、通常この4ビツトレジスタの
ライブラリは1ビツトレジスタ4つよりもゲート数が小
さくなるように作られているため、これを使用すると回
路規模も少なくなる。またクロツク線の本数自体が削減
されるため、スキユーを防ぐクロツクツリーを作りやす
くなる。このように本回路設計装置11では、適当な1
ビツトのレジスタ4つを1つの4ビツトレジスタセルへ
と置き換えるといつた置換機能を持つている。
【0060】本回路設計装置11は設計者から入手した
置換情報を使用する。そのためクロツク分配するのと同
時にレジスタの置き換えを行なうことが可能となる。図
17はこのレジスタ置き換えの情報入力の例である。例
えば"FD1S"という1ビツトレジスタを同等の機能の"F41
S"という4ビツトレジスタに置き換える場合には、図1
7に示すように、入力装置12から本回路設計装置11
に指示を出す。本回路設計装置11はこの指示を解釈
し、レジスタを置き換える。
【0061】これにより例えばデータパス系といつた、
今まで機能レベル表現に適さなかつた論理演算回路を機
能レベル表現して論理演算回路を設計することができる
ようになる。また記憶回路といつた機能レベル表現によ
り表現できたとしても構造レベル表現の論理演算回路に
うまく変換できなかつた論理演算回路をも適切に機能レ
ベル表現から構造レベル表現に変換して論理演算回路を
設計することができるようになる。
【0062】さてこれら処理が終了すると、回路設計装
置11は次のステツプSP21に移る。回路設計装置1
1はこのステツプSP21において、設計者から最下層
のクロツクバツフアがドライブ可能なレジスタの最大の
段数差を取得する。設計者は本回路設計装置11に入力
装置12を用いて、第1階層のクロツクバツフアにおけ
るレジスタ段数の差の制限値を入力する。
【0063】ここでレジスタの段数とは、チツプの入力
ポートに信号を与えた場合に、「何クロツク目にその信
号が伝わるか」ということである。このレジスタの段数
は「そのレジスタが入力ポートに近いのか、それとも出
力ポートに近いのか」ということ、すなわちチツプ上の
物理的な位置を表している。この情報は、第1階層のク
ロツクバツフアはレジスタのクロツクポートに直接信号
を供給しドライブするため必要になる。
【0064】すなわち物理的に遠いレジスタを同じクロ
ツクバツフアでドライブしようとすると、クロツクツリ
ーの配線も伸びてしまい、クロツクスキユーが大きくな
る。また本来入力ポートに近いレジスタは入力ポートに
近い位置に、出力ポートに近いレジスタは出力ポートに
近い位置にレイアウトするのが適切であるが、同じバツ
フアでドライブすると、その接続情報のため適切な位置
にレイアウトがされない場合があり、良くない。そこで
同じ第1階層のクロツクバツフアによりドライブされる
レジスタの段数の差の制限を設け、段数が余りに異なる
場合には同じクロツクバツフアでドライブしないように
している。これより一段と良質のクロツク分配が可能に
なる。
【0065】具体的には、同じクロツクバツフアで9段
以上の差のあるレジスタを一緒にドライブしないという
制限を設ける場合には、例えば、図18のように入力す
る。これにより互いに距離が近いレジスタものに同じバ
ツフアが接続されるようにクロツクツリーを構成でき、
クロツクスキユーの悪影響を最小限にすることができ
る。
【0066】このようにステツプSP21の処理が終了
すると、本回路設計装置11はステツプSP22に移
り、設計者からレジスタ間の最小遅延時間に対するクロ
ツクスキユーが生じやすい危険箇所を判断するのに用い
る閾値を取得する。設計者は本回路設計装置11に入力
装置12を用いて、危険な箇所を見分けるためのデータ
伝搬時間の閾値を入力する。先に述べたように、クロツ
クスキユーが問題となるのは、レジスタとレジスタとの
間のデータ伝搬時間が小さい場合であり、データ伝搬時
間が大きい場合にはクロツクスキユーは起こりにくい。
そこで、データ伝搬時間の大小によつてクロツク分配の
際の扱いを変えるほうが、最終的により適切なクロツク
分配を行なうことが可能となる。
【0067】例えば設計者がレジスタ間のデータ伝搬時
間が 0.3〔ns〕以下のレジスタ同士を危険箇所と判断さ
せ該当箇所を見つけ出したい場合、図19のように情報
を入力すれば良い。この情報を設計者から得ることで、
回路設計装置11は危険箇所に優先的にクロツクを分配
することが可能となる。
【0068】この後、回路設計装置11は次のステツプ
SP23の処理に移る。本回路設計装置11は、このス
テツプSP23において、設計者からその動作記録を保
存するログフアイルの名称を取得する。設計者はこのロ
グフアイル名を入力装置12を用いて入力する。例え
ば"log "に記録したい場合には、設計者は図20のよう
に情報を入力し、回路設計装置11はその名称を獲得
し、与えた名称のフアイルに記録することが可能とな
る。このように設計者によるログフアイル名の入力が終
了すると、回路設計装置11は次のステツプP6に移り
様々な処理を実行してクロツクの分配処理を実行するこ
とになる。なおどの情報をどのように処理し、どのよう
に使用したかの記録はログフアイルに記録される。
【0069】以上の構成によれば、クロツクツリー作成
前処理において、クロツクツリーを作成するLSIの設
計情報をフアイル名により特定できるようにしたことに
より、数多くのLSI設計情報を1つの記録装置13A
内で管理することができ、作業効率を高めることができ
る。また以上の構成によれば、クロツクツリー作成前処
理において、ブロツク名の入力によりクロツクツリーを
作成する回路部分を自由に選択できるようにしたことに
より、設計作業時の自由度の高い回路設計方法を実現で
きる。
【0070】また以上の構成によれば、クロツクツリー
作成前処理において、クロツク信号名の入力により複数
あるクロツク信号の中から1又は複数のクロツク信号を
特定できるようにしたことにより、必要なクロツク信号
のみについてクロツクの分配作業を実行できる設計作業
時の自由度の高い回路設計方法を実現できる。また以上
の構成によれば、クロツクツリー作成前処理において、
クロツクツリーの階層構成を外部入力できるようにした
ことにより、設計者の有する知識を有効に利用できる回
路設計方法を実現できる。
【0071】また以上の構成によれば、クロツクツリー
作成前処理において、クロツクツリーに用いるバツフア
の種類を複数の中から選択できるようにしたことによ
り、回路設計時の自由度を高めることができる。また以
上の構成によれば、クロツクツリー作成前処理におい
て、クロツクツリーに用いるバツフアの名称を自由に設
定できるようにしたことにより、作成されたクロツクツ
リーに修正を加える際に修正対象を識別し易くでき、回
路設計時の作業効率を一段と高めることができる。
【0072】また以上の構成によれば、クロツクツリー
作成前処理において、同一ワードのレジスタを名称から
判断するための情報を入力できるようにしたことによ
り、論理合成ソフト上では展開されているハードウエア
記述言語上で同じワードが与えられているレジスタを論
理合成ソフトウエア上で識別できるようにできる。これ
によりワード属性の等しいレジスタを優先的にまとめる
ことができ、チツプレイアウトを配慮してクロツクツリ
ーを作成することができる。
【0073】また以上の構成によれば、クロツクツリー
作成前処理において、同一ワードのポートを名称から判
断するための情報を入力できるようにしたことにより、
前述の場合と同様、論理合成ソフト上では展開されてい
るハードウエア記述言語上で同じワードが与えられてい
るレジスタを論理合成ソフトウエアが識別できるように
することができる。これによりワード属性の等しいレジ
スタを優先的にまとめることができ、チツプレイアウト
を配慮してクロツクツリーを作成することができる。
【0074】また以上の構成によれば、クロツクツリー
作成前処理において、互いに同等の機能を有するレジス
タを別のレジスタで置き換えられるように置き換えるレ
ジスタを指定できるようにしたことにより、複数個の1
ビツトレジスタを1個の多ビツトレジスタに置き換える
こともができる。これによりクロツクスキユーの生じ難
いクロツクツリーを作成することができる。さらに以上
の構成によれば、クロツクツリー作成前処理において、
クロツクツリーの最下層に属するクロツクバツフアに接
続されるレジスタの段数差に制限値を設けられるように
したことにより、物理的に離れたレジスタに同じクロツ
クバツフアが接続されてクロツクスキユーが生じないよ
うにすることができる。
【0075】さらに以上の構成によれば、クロツクツリ
ー作成前処理において、レジスタ間の最小遅延時間につ
いてのクロツクスキユーが生じ得る危険箇所を判断する
ための敷居値を設定できるようにしたことにより、クロ
ツクスキユーが発生し難いようにクロツクツリーを作成
することができる。また以上の構成によれば、回路設計
装置が前述の各種情報を用いてどのような処理と判断を
経て最終的なクロツクツリーを作成したかについての処
理経過を記録するログフアイル名をクロツクツリー作成
前処理において指定できるようにしたことにより、後に
処理状況を解析したい場合にも容易に見つけ出すことが
できるクロツクツリー作成方法を実現することができ
る。
【0076】(3)他の実施例 なお上述の実施例においては、コンピユータ上で実行さ
れるソフトウエアとして回路設計装置を実現する場合に
ついて述べたが、本発明はこれに限らず、各種機能をハ
ードウエアによつて実現しても良い。また上述の実施例
においては、LSIの回路設計からクロツクツリーの作
成まで1つの回路設計装置を用いて実現する場合につい
て述べたが、本発明はこれに限らず、LSIの回路設
計、フロアプラン、クロツクツリーの作成等の各機能を
個別に実行する装置についても広く適用し得る。
【0077】
【発明の効果】上述のように本発明によれば、複数のレ
ジスタを含むブロツクを1又は複数組み合わせて構成さ
れる回路を設計する際、フロアプラン実行後におけるブ
ロツクの情報を得た後、当該ブロツクに適したクロツク
ツリーの作成処理を実行するようにする。これによりフ
ロアプランの実行によりブロツクの統廃合が生じても当
該統廃合後のブロツクを前提としてクロツクツリーを作
成することができ、適切なクロツクツリーを回路内に埋
め込むことができる回路設計方法及び回路設計装置を実
現することができる。
【図面の簡単な説明】
【図1】本発明による回路設計装置の一実施例を示すブ
ロツク図である。
【図2】回路設計の際に用いる処理手順の概要を示すフ
ローチヤートである。
【図3】フロアプランの操作説明に供する略線図であ
る。
【図4】ブロツクの統合及び分解の説明に供する略線図
である。
【図5】フロアプラン実行後のレイアウトの説明に供す
る略線図である。
【図6】クロツクツリー作成前処理において実行される
処理手順の説明に供するフローチヤートである。
【図7】クロツクツリー作成前処理において実行される
処理手順の説明に供するフローチヤートである。
【図8】LSI設計情報フアイルの入力画面例を示す略
線図である。
【図9】クロツク分配の対象となるブロツク名の入力画
面例を示す略線図である。
【図10】クロツク分配の対象となるクロツク信号名の
入力画面例を示す略線図である。
【図11】クロツクツリーの構成例を示す略線図であ
る。
【図12】図11に示すクロツクツリーの構成を指示す
る際の入力画面例を示す略線図である。
【図13】クロツクツリーを構成するバツフアの種類を
指定する際の入力画面例を示す略線図である。
【図14】クロツクツリーのバツフアに付けられる名称
の規則を指定する際の入力画面例を示す略線図である。
【図15】同一ワードのレジスタを名称から判断できる
ようにするための基準入力画面の一例を示す略線図であ
る。
【図16】同一ワードのポートを名称から判断できるよ
うにするための基準入力画面の一例を示す略線図であ
る。
【図17】レジスタの置き換え情報を入力する際の入力
画面例を示す略線図である。
【図18】クロツクツリーの最下層に属するクロツクバ
ツフアにおけるレジスタ段数の差の制限値を入力する際
の入力画面例を示す略線図である。
【図19】レジスタからレジスタへデータが伝搬すると
きの最小遅延時間について、クロツクスキユーの危険性
がある箇所を判別するのに用いる閾値の入力画面例を示
す略線図である。
【図20】ログフアイル名の入力画面例を示す略線図で
ある。
【図21】LSIの基本構造を示す略線図である。
【図22】クロツクツリーの構造を示す略線図である。
【図23】最も一般的なレジスタの構成例を示すブロツ
ク図である。
【図24】レジスタに入出力される信号の時間関係を示
すタイミングチヤートである。
【図25】レジスタに同一のクロツク信号を与える場合
の回路例を示すブロツク図である。
【図26】クロツク信号と入出力信号との時間関係を示
すタイミングチヤートである。
【図27】バツフアを介してクロツク信号が与えられる
場合の回路例を示すブロツク図である。
【図28】クロツク信号と入出力信号との時間関係を示
すタイミングチヤートである。
【図29】クロツクスキユーをなくすためにとられる接
続例を示すブロツク図である。
【図30】クロツクスキユーをなくすためにとられる接
続例を示すブロツク図である。
【図31】LSIチツプのレイアウト概念図を示すブロ
ツク図である。
【図32】フロアプラン操作例を示す略線図である。
【図33】フロアプラン操作によるブロツクの統合の説
明に供する略線図である。
【図34】フロアプラン操作によるブロツクの統合によ
つてクロツクの分配が不適切となる回路例を示す略線図
である。
【図35】フロアプラン操作によるブロツクの統合後の
クロツク分配が適切となるように訂正した回路例を示す
略線図である。
【図36】フロアプラン操作によるブロツクの分解の説
明に供する略線図である。
【図37】フロアプラン操作によるブロツクの分解によ
つてクロツクの分配が不適切となる回路例を示す略線図
である。
【図38】フロアプラン操作によるブロツクの分解後の
クロツク分配が適切となるように訂正した回路例を示す
略線図である。
【符号の説明】
11……回路設計装置、12……入力装置、13……処
理装置、13A……記憶装置、13B……制御装置、1
3C……演算装置、14……表示装置、B……バツフ
ア、C……組合せ回路、D……遅延素子、PI……入力
ポート、PO……出力ポート、R……レジスタ、CK…
…クロツク信号。
フロントページの続き (72)発明者 佐藤 健一 東京都品川区北品川6丁目7番35号ソニー 株式会社内

Claims (39)

    【特許請求の範囲】
  1. 【請求項1】複数のレジスタを含むブロツクを1又は複
    数組み合わせてなる回路の設計に使用される回路設計装
    置において、 フロアプラン実行後における上記ブロツクの情報に基づ
    いて当該ブロツクに適したクロツクツリーの作成処理を
    実行する制御装置を具えることを特徴とする回路設計装
    置。
  2. 【請求項2】上記制御装置は、 フロアプランの実行により情報に変更が生じたブロツク
    を識別し、当該変更のあつたブロツクについて変更後の
    情報を取得する変更データ取得手段と、 上記回路の構造を上記変更後の情報に基づいて更新する
    データ変更手段と、 フロアプランの実行により新たに作成されたブロツクに
    ついて当該ブロツクに含まれるレジスタの情報を取得す
    るレジスタ情報読取手段と、 上記レジスタ情報読取手段によつて得られた情報に基づ
    いてクロツクツリーの構造を決定するクロツクツリー決
    定手段と、 上記クロツクツリー決定手段によつて最終的に得られた
    情報に基づいて上記ブロツク上にクロツクツリーを埋め
    込むクロツク埋込み手段とを具えることを特徴とする請
    求項1に記載の回路設計装置。
  3. 【請求項3】複数のレジスタを含むブロツクを1又は複
    数組み合わせてなる回路の設計に使用される回路設計装
    置において、 入力装置によつて入力されたフアイル名に該当するフア
    イルを記憶装置より読み出し、当該読み出されたフアイ
    ルから取得した回路情報に基づいてクロツクツリーを作
    成する制御装置を具えることを特徴とする回路設計装
    置。
  4. 【請求項4】上記制御装置は、入力装置によつて入力さ
    れたフアイル名に該当するフアイルを記憶装置より読み
    出し、当該読み出されたフアイルから取得した回路情報
    に基づいてクロツクツリーを作成するを具えることを特
    徴とする請求項1に記載の回路設計装置。
  5. 【請求項5】複数のレジスタを含むブロツクを1又は複
    数組み合わせてなる回路の設計に使用される回路設計装
    置において、 入力装置によつて入力されたブロツク名に該当するブロ
    ツクのデータを記憶装置より読み出し、当該読み出され
    たデータから取得した回路情報に基づいてクロツクツリ
    ーを作成する制御装置を具えることを特徴とする回路設
    計装置。
  6. 【請求項6】上記制御装置は、入力装置によつて入力さ
    れたブロツク名に該当するブロツクのデータを記憶手段
    より読み出し、当該読み出されたデータから取得した回
    路情報に基づいて当該ブロツクについてのクロツクツリ
    ーを作成することを特徴とする請求項1に記載の回路設
    計装置。
  7. 【請求項7】複数のレジスタを含むブロツクを1又は複
    数組み合わせてなる回路の設計に使用される回路設計装
    置において、 入力装置によつて入力されたクロツク信号名に該当する
    クロツク信号についてのみクロツクツリーを作成する制
    御装置を具えることを特徴とする回路設計装置。
  8. 【請求項8】上記制御装置は、入力装置によつて入力さ
    れたクロツク信号名に該当するクロツク信号についての
    みクロツクツリーを作成することを特徴とする請求項1
    に記載の回路設計装置。
  9. 【請求項9】複数のレジスタを含むブロツクを1又は複
    数組み合わせてなる回路の設計に使用される回路設計装
    置において、 入力装置によつて入力されたクロツクツリーの骨格構造
    に基づいてクロツクツリーを作成する制御装置を具える
    ことを特徴とする回路設計装置。
  10. 【請求項10】上記制御装置は、入力装置によつて入力
    されたクロツクツリーの骨格構造に基づいてクロツクツ
    リーを作成することを特徴とする請求項1に記載の回路
    設計装置。
  11. 【請求項11】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    装置において、 入力装置によつて入力されたバツフア名に該当するバツ
    フアを用いてクロツクツリーを作成する制御装置を具え
    ることを特徴とする回路設計装置。
  12. 【請求項12】上記制御装置は、入力装置によつて入力
    されたバツフア名に該当するバツフアを用いてクロツク
    ツリーを作成することを特徴とする請求項1に記載の回
    路設計装置。
  13. 【請求項13】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    装置において、 クロツクツリーに用いるバツフアに付けられる名称の規
    則を入力装置より取得し、当該規則に基づいて認識した
    バツフアを用いてクロツクツリーを作成する制御装置を
    具えることを特徴とする回路設計装置。
  14. 【請求項14】上記制御装置は、クロツクツリーに用い
    るバツフアに付けられる名称の規則を入力装置より取得
    し、当該規則に基づいて認識したバツフアを用いてクロ
    ツクツリーを作成することを特徴とする請求項1に記載
    の回路設計装置。
  15. 【請求項15】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    装置において、 上記回路内のレジスタのうち、同一ワードのレジスタを
    名称から判断するのに必要な情報を入力装置より取得
    し、当該情報に基づくレジスタの同一ワード性を利用し
    てクロツクツリーを作成する制御装置を具えることを特
    徴とする回路設計装置。
  16. 【請求項16】上記制御装置は、上記回路内のレジスタ
    のうち、同一ワードのレジスタを名称から判断するのに
    必要な情報を入力装置より取得し、当該情報に基づくレ
    ジスタの同一ワード性を利用してクロツクツリーを作成
    することを特徴とする請求項1に記載の回路設計装置。
  17. 【請求項17】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    装置において、 上記回路内のレジスタのうち、同一ワードのポートを名
    称から判断するのに必要な情報を入力装置から取得し、
    当該情報に基づくポートの同一ワード性を利用してクロ
    ツクツリーを作成する制御装置を具えることを特徴とす
    る回路設計装置。
  18. 【請求項18】上記制御装置は、上記回路内のレジスタ
    のうち、同一ワードのポートを名称から判断するのに必
    要な情報を入力装置から取得し、当該情報に基づくポー
    トの同一ワード性を利用してクロツクツリーを作成する
    ことを特徴とする請求項1に記載の回路設計装置。
  19. 【請求項19】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    装置において、 所定の接続形態を有するレジスタ群を他の接続形態のレ
    ジスタに置き換えるための情報を入力装置から取得し、
    当該情報に基づいてクロツクツリー作成前にレジスタを
    置き換える制御装置を具えることを特徴とする回路設計
    装置。
  20. 【請求項20】上記制御装置は、所定の接続形態を有す
    るレジスタ群を他の接続形態のレジスタに置き換えるた
    めの情報を入力装置から取得し、当該情報に基づいてク
    ロツクツリー作成前にレジスタを置き換えることを特徴
    とする請求項1に記載の回路設計装置。
  21. 【請求項21】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    装置において、 クロツクツリーの最下層に位置するクロツクバツフアに
    接続し得るレジスタの最大段数差を入力装置から取得
    し、当該情報に基づいてクロツクツリーを作成する制御
    装置を具えることを特徴とする回路設計装置。
  22. 【請求項22】上記制御装置は、クロツクツリーの最下
    層に位置するクロツクバツフアに接続し得るレジスタの
    最大段数差を入力装置から取得し、当該情報に基づいて
    クロツクツリーを作成することを特徴とする請求項1に
    記載の回路設計装置。
  23. 【請求項23】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    装置において、 レジスタ間の最小遅延時間に対するクロツクスキユーの
    危険性を判断するための閾値を入力装置から取得し、当
    該情報に基づいてクロツクツリーを作成する制御装置を
    具えることを特徴とする回路設計装置。
  24. 【請求項24】上記制御装置は、レジスタ間の最小遅延
    時間に対するクロツクスキユーの危険性を判断するため
    の閾値を入力装置から取得し、当該情報に基づいてクロ
    ツクツリーを作成することを特徴とする請求項1に記載
    の回路設計装置。
  25. 【請求項25】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    装置において、 クロツクツリー作成過程における動作記録を入力装置か
    ら指定されたフアイルに保存する制御装置を具えること
    を特徴とする回路設計装置。
  26. 【請求項26】上記制御装置は、クロツクツリー作成過
    程における動作記録を入力装置から指定されたフアイル
    に保存することを特徴とする請求項1に記載の回路設計
    装置。
  27. 【請求項27】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    方法において、 フロアプラン実行後、当該フロアプラン後に得られた上
    記ブロツクの情報に基づいて当該ブロツクに適したクロ
    ツクツリーを作成するようにすることを特徴とする回路
    設計方法。
  28. 【請求項28】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    方法において、 クロツクツリーの作成対象である回路に関する設計情報
    が記憶されているフアイルをクロツクツリーの作成処理
    を実行する前に入力できるようにしたことを特徴とする
    回路設計方法。
  29. 【請求項29】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    方法において、 上記回路のうち特定のブロツクをクロツクツリーの作成
    対象としてクロツクツリーの作成処理を実行する前に指
    定できるようにしたことを特徴とする回路設計方法。
  30. 【請求項30】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    方法において、 クロツクツリーを構成する対象となるクロツク信号をク
    ロツクツリーの作成処理を実行する前に指定できるよう
    にしたことを特徴とする回路設計方法。
  31. 【請求項31】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    方法において、 クロツクツリーの作成処理を実行する前にクロツクツリ
    ーの骨格構造を指定できるようにしたことを特徴とする
    回路設計方法。
  32. 【請求項32】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    方法において、 クロツクツリーの作成処理を実行する前にクロツクツリ
    ーに用いられるバツフアの種類を指定できるようにした
    ことを特徴とする回路設計方法。
  33. 【請求項33】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    方法において、 クロツクツリーの作成処理を実行する装置側で、クロツ
    クツリーに用いられるバツフアを認識できるようにバツ
    フアに付けられる名称の規則をクロツクツリーの作成処
    理実行前に指定できるようにしたことを特徴とする回路
    設計方法。
  34. 【請求項34】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    方法において、 クロツクツリーの作成処理を実行する装置側で、上記回
    路内のレジスタのうち同一ワードのレジスタを名称から
    認識できるようにするための情報をクロツクツリー作成
    処理の実行前に指定できるようにしたことを特徴とする
    回路設計方法。
  35. 【請求項35】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    方法において、 クロツクツリーの作成処理を実行する装置側で、上記回
    路内のレジスタのうち同一ワードのポートを名称から認
    識できるようにするための情報をクロツクツリー作成処
    理の実行前に指定できるようにしたことを特徴とする回
    路設計方法。
  36. 【請求項36】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    方法において、 所定の接続形態を有するレジスタ群を他の接続形態のレ
    ジスタに置き換えるための情報をクロツクツリー作成処
    理の実行前に指定できるようにしたことを特徴とする回
    路設計方法。
  37. 【請求項37】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    方法において、 クロツクツリーの最下層に位置するクロツクバツフアに
    接続し得るレジスタの最大段数差をクロツクツリー作成
    処理の実行前に指定できるようにしたことを特徴とする
    回路設計方法。
  38. 【請求項38】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    方法において、 レジスタ間の最小遅延時間に対するクロツクスキユーの
    危険性を判断するための閾値をクロツクツリー作成処理
    の実行前に指定できるようにしたことを特徴とする回路
    設計方法。
  39. 【請求項39】複数のレジスタを含むブロツクを1又は
    複数組み合わせてなる回路の設計に使用される回路設計
    方法において、 クロツクツリー作成過程における動作記録を保存するフ
    アイル名をクロツクツリー作成処理の実行前に指定でき
    るようにしたことを特徴とする回路設計方法。
JP7248721A 1995-08-31 1995-08-31 回路設計装置及び回路設計方法 Pending JPH0969119A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7248721A JPH0969119A (ja) 1995-08-31 1995-08-31 回路設計装置及び回路設計方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7248721A JPH0969119A (ja) 1995-08-31 1995-08-31 回路設計装置及び回路設計方法

Publications (1)

Publication Number Publication Date
JPH0969119A true JPH0969119A (ja) 1997-03-11

Family

ID=17182364

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7248721A Pending JPH0969119A (ja) 1995-08-31 1995-08-31 回路設計装置及び回路設計方法

Country Status (1)

Country Link
JP (1) JPH0969119A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011530106A (ja) * 2008-07-30 2011-12-15 シノプシス, インコーポレイテッド 3dicのためのフロアプランニングを容易にするための方法およびシステム
JP2013045459A (ja) * 2011-08-22 2013-03-04 Fujitsu Ltd クロック・ネットワーク・メタ合成のためのシステムおよび方法
US8887108B1 (en) 2014-05-14 2014-11-11 Fujitsu Limited Support apparatus, design support method, and recording medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011530106A (ja) * 2008-07-30 2011-12-15 シノプシス, インコーポレイテッド 3dicのためのフロアプランニングを容易にするための方法およびシステム
JP2013045459A (ja) * 2011-08-22 2013-03-04 Fujitsu Ltd クロック・ネットワーク・メタ合成のためのシステムおよび方法
US8887108B1 (en) 2014-05-14 2014-11-11 Fujitsu Limited Support apparatus, design support method, and recording medium

Similar Documents

Publication Publication Date Title
US6120550A (en) Design file templates for implementation of logic designs
US6080204A (en) Method and apparatus for contemporaneously compiling an electronic circuit design by contemporaneously bipartitioning the electronic circuit design using parallel processing
NL192892C (nl) Computer-ondersteund systeem voor het ontwerpen van geïntegreerde schakelingen.
US6574788B1 (en) Method and system for automatically generating low level program commands as dependency graphs from high level physical design stages
JP3027009B2 (ja) 設計取り込みシステム
US8584062B2 (en) Tool suite for RTL-level reconfiguration and repartitioning
US8270231B2 (en) Configurable embedded processor
US5912819A (en) Method for designing an architectural system
JP2007087215A (ja) ハードウェアモデルの変換処理に用いられるデータ構造、コンピュータプログラム、方法、及びシステム
JP3192906B2 (ja) 論理シミュレーションシステム及び論理変更方法
US20040237056A1 (en) Behavioral synthesis system, behavioral synthesis method, control program, readable recording medium, logic circuit production method, and logic circuit
JPH0969119A (ja) 回路設計装置及び回路設計方法
JP4805779B2 (ja) 集積回路設計方法、集積回路設計装置及び集積回路設計プログラム
JP4131119B2 (ja) 半導体集積回路設計方法及び半導体集積回路設計プログラム
JP2001125937A (ja) 半導体集積回路装置のレイアウト設計システム、半導体集積回路装置のレイアウト設計方法、およびそのシステムにおける各手段をもしくはその方法における各工程をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US6734046B1 (en) Method of customizing and using maps in generating the padring layout design
US7979838B2 (en) Method of automating creation of a clock control distribution network in an integrated circuit floorplan
JP4448048B2 (ja) 構造解析プログラム
JP2006285860A (ja) シミュレーションモデル生成方法およびその装置
WO2007083747A1 (ja) 階層型論理回路の信号接続プログラム、方法及び装置
US6948139B2 (en) Method for combining states
JPH0480876A (ja) シミュレーション方法
Ramachandran et al. Behavioral design assistant (BdA) user's manual: version 1.0
JPS6311715B2 (ja)
Ludwig Fast Hardware Synthesis Tools and a Reconfigurable Coprocessor