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

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

Info

Publication number
JPH0962716A
JPH0962716A JP7233526A JP23352695A JPH0962716A JP H0962716 A JPH0962716 A JP H0962716A JP 7233526 A JP7233526 A JP 7233526A JP 23352695 A JP23352695 A JP 23352695A JP H0962716 A JPH0962716 A JP H0962716A
Authority
JP
Japan
Prior art keywords
circuit
insertion position
delay
logic element
hold time
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
JP7233526A
Other languages
English (en)
Inventor
Kenichi Sato
健一 佐藤
Norihisa Shirota
典久 代田
Yasuhiro Iida
康博 飯田
Mitsuru Sasano
満 笹野
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 JP7233526A priority Critical patent/JPH0962716A/ja
Priority to US08/695,926 priority patent/US5859776A/en
Publication of JPH0962716A publication Critical patent/JPH0962716A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

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)

Abstract

(57)【要約】 【課題】自動設計の際、遅延バツフアの無駄な挿入やク
リテイカルパスの遅延時間の増大を防止できなかつた。 【解決手段】回路上のある二点間に論理素子を挿入する
場合、その挿入位置を経由する他の経路の置換を考慮
し、最終的に論理素子を挿入する場所を決定する。

Description

【発明の詳細な説明】
【0001】
【目次】以下の順序で本発明を説明する。 発明の属する技術分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段 発明の実施の形態 (1)回路設計装置の構成 (2)各種情報の形式 (2−1)定義 (2−2)ホールド時間違反経路情報 (2−3)バツフア挿入位置結果 (3)挿入位置の決定手順 (3−1)手順の概略 (3−2)ステツプSP7の詳細な処理内容 (4)他の実施例 発明の効果
【0002】
【発明の属する技術分野】本発明は半導体集積回路の論
理設計に用いる設計方法及びこの方法を用いる設計装置
に関するものである。
【0003】
【従来の技術】一般に、同期信号(以下「クロツク」と
いう)の変化点で入力信号を取り込み信号値を保持する
記憶素子(以下「フリツプフロツプ」という)において
は、変化点の前後の期間で入力信号が変化すると誤動作
が生じる可能性がある。従つてフリツプフロツプには、
図8に示すように、クロツク変化点の前後の期間に入力
信号の変化を禁止する期間が規定されている。クロツク
変化点の直前の期間はセツトアツプ時間と呼ばれ、クロ
ツク変化点の直後の期間はホールド時間と呼ばれる。
【0004】ここでは図9の回路を例に、2つの記憶素
子間でデータを受渡しする場合を考える。なお図中、レ
ジスタRO、R1はそれぞれDフリツプフロツプを示
す。またD、CK及びQはそれぞれDフリツプフロツプ
のデータ入力ピン、クロツク入力ピン及びデータ出力ピ
ンを示す。さらにTpdは、クロツクCKの変化後にレジ
スタR0のデータ入力ピンに入力されたデータがレジス
タR0内に保持された後、データ出力ピンQに出力され
るまでの時間を示している。またTdataは、レジスタR
0のデータ出力ピンQが所定の処理(operation )を受
けた後、レジスタR1のデータ入力ピンDに達するまで
の時間を示している。
【0005】さて理想的な動作環境下におけるクロツク
は全て同じタイミングで変化するため、レジスタR1側
で正しい値を保持するためには、次式
【数1】 を満たさなければならない。しかし実際上のクロツク網
には配線やバツフアリングの影響による遅延が存在し、
各フリツプフロツプでその遅延量が異なるためクロツク
到達時間の差が生じる。これを「クロツクスキユー」と
いう。
【0006】図9ではレジスタR0とレジスタR1のク
ロツクスキユーを三角形(delay )の記号で表してい
る。この時間をTckで表す。このクロツクスキユーを考
慮すると、上記(1)式は、次式
【数2】 のように書き換えることができる。この(2)式は、ク
ロツクスキユーがある場合、データのホールド時間Tho
ldをそれだけ長く取らなければいけないことを表してい
る。
【0007】
【発明が解決しようとする課題】このようにフリツプフ
ロツプ間で正しくデータを受け渡すためには、(2)式
を満たす必要がある。そのためには幾つかの「クロツク
スキユー対策」がある。まず1つは、ホールド時間Tho
ldを小さくすること。また1つは、Tpdを大きくするこ
と。1つは、Tckを小さくすること。1つは、Tdataを
大きくすることである。ここで1つ目と2つ目の対策
は、フリツプフロツプ固有の特性であり、回路設計者が
それ自体制御することは難しい。しかし例えば半導体設
計者側でこれらの特性の違うフリツプフロツプを幾つか
用意しておけば、回路設計者側でそれらを選択的に利用
することにより、これらの特性を疑似的に制御すること
は可能である。
【0008】また3つ目の対策、すなわちクロツクスキ
ユーを少なくするという対策は、フリツプフロツプ素子
数が多くなるとクロツクを全て均等に分配することが非
常に困難になる。3つ目の対策を達成する一つの方策と
しては、多ビツト構成のフリツプフロツプを利用して自
己ループ的に接続するという方法がある。ただし多ビツ
トフリツプフロツプのビツト構成は種類が限られている
ため、その最適な組合せ(どのフリツプフロツプ群を一
つの多ビツトフリツプフロツプに割り当てるか)の選択
は一般に難しい。4つ目の対策は、フリツプフロツプ間
を論理を変えずに遅延量を大きくすることである。最も
簡単なのは非反転バツフアを挿入することである。一般
にこの方法は他の方法と比べて容易に行うことができる
ため良く用いられる。
【0009】しかしながらこの4つ目の対策のようにフ
リツプフロツプ間にバツフアを挿入する方法は、その挿
入位置が問題になることがある。効率的な挿入位置を図
10の回路例を用いて考える。ここで図10(A)は遅
延バツフアを挿入する前の原回路であり、レジスタR0
とR1の出力がそれぞれ論理素子U0を経由してフリツ
プフロツプR2の入力に接続されている。ここで論理素
子U0は遅延量が小さいため、R0及びR1のどちらの
フリツプフロツプからの入力に対してもフリツプフロツ
プR2においてホールド時間違反が起きると仮定する。
【0010】この場合、ホールド時間を確保するために
遅延補償用のバツフアを挿入する際に2通りの方法があ
る。1つの方法は、図10(B)に示すように、フリツ
プフロツプR0及びR1の出力の直後に遅延バツフアを
挿入する方法である。これにより双方の経路のホールド
時間を確保することができる。このとき必要なバツフア
数は2つである。もう1つの方法は、図10(C)に示
すように、フリツプフロツプR2の入力の直前に遅延バ
ツフアを挿入する方法である。この方法によつても双方
の経路についてホールド時間を確保することができる
が、必要なバツフア数は1つで済む。
【0011】この結果だけからすると、遅延バツフアは
フリツプフロツプの直前に挿入すれば良いとも考えられ
るが、必ずしもこのような接続が良いとは限らない。例
えば図11の回路例の場合には、むしろフリツプフロツ
プR0の出力直後の方が効率的である。つまり遅延バツ
フアの挿入によりホールド時間を補償する場合、同じ効
果を得るのにも幾つかの挿入位置があり、その挿入位置
によつて必要とするバツフアの数が異なるということで
ある。実際の設計では、上記の例で挙げた問題が組み合
わされて起こるため、人手で最適な挿入位置を見つける
のは一般に難しい。
【0012】例えばある経路に遅延バツフアを挿入する
ことによる他の経路に与える影響を図12の回路例を用
いて考える。図12(A)は遅延バツフアを挿入する前
の原回路である。ここでフリツプフロツプR0の出力は
図中斜線で示した部分回路を通つた後、論理素子U0を
経由してフリツプフロツプR2の入力へ接続されてい
る。なおこの部分回路の遅延量はホールド時間を満たす
ほど十分大きいものとする。またフリツプフロツプR1
の出力は論理素子U0のみを経由してフリツプフロツプ
R2の入力へ接続されている。
【0013】そしてこの例では、フリツプフロツプR2
においてフリツプフロツプR1からの入力に対してホー
ルド時間違反が起きると仮定する。ここでホールド時間
を確保するために遅延補償用の遅延バツフアを挿入する
ことを考える。まず図12(B)のようにフリツプフロ
ツプR2の入力の直前に挿入する場合を考える。
【0014】このように接続すると、フリツプフロツプ
R1からR2にデータを伝達するのに必要なホールド時
間は確保されるのだが、これと同時にフリツプフロツプ
R0から斜線で示す部分回路、論理素子U0を経由して
フリツプフロツプR2に至る経路も遅延時間が長くなつ
てしまう。もしこの経路がクリテイカルパス(すなわち
回路の中で最も遅延の長い経路)であつた場合には、逆
にセツトアツプ時間違反を起こす可能性がでてくる。こ
のクリテイカルパスの遅延時間の増大は回路動作速度の
低下を意味するので、これは深刻な問題である。
【0015】この例の場合には、図12(C)に示すよ
うに、フリツプフロツプR1の出力の直後に挿入するの
が最も望ましい接続になる。さらに図13で示した例で
は、図11の例に加えて、フリツプフロツプR1の出力
から分岐して十分に遅い回路を経由した後にフリツプフ
ロツプR3へ到達する経路がある。よつてフリツプフロ
ツプR1の出力の直後に遅延バツフアを挿入するとフリ
ツプフロツプR1からフリツプフロツプR3に至る経路
の遅延を増加させることになる。
【0016】従つてこの回路例の場合、最も望ましい挿
入位置は分岐点J0と論理回路U0との間である。以上
述べたように、ホールド時間違反を補償するために挿入
する遅延バツフアの挿入位置を決定することは非常に難
しい。現在ではこの作業を人手に頼つているが、近年に
おける回路規模の急激な増大に伴い、それも不可能にな
つてきている。
【0017】本発明は以上の点を考慮してなされたもの
で、遅延バツフアを無駄なく挿入でき、かつクリテイカ
ルパスの遅延時間を増大させずに済む挿入位置を自動的
に実行することができる回路設計方法及び回路設計装置
を提案しようとするものである。
【0018】
【課題を解決するための手段】かかる課題を解決するた
め本発明においては、回路上のある二点間に論理素子を
挿入する場合、その挿入位置を経由する他の経路の遅延
を考慮して論理素子の挿入位置を決定するようにする。
【0019】
【発明の実施の形態】以下図面について、本発明の一実
施例を詳述する。
【0020】(1)回路設計装置の構成 図1に回路設計装置の全体構成を示す。この回路設計装
置1はホールド時間違反を起こしている経路に関する情
報と、文字によつて表現された回路記述とを記録媒体等
から入力し、これら情報に基づいてホールド時間違反を
補償する遅延バツフアの挿入位置を決定する。ただし設
計対象である回路で使用するクロツクは単相であると仮
定する。また設計対象である回路中に含まれる記憶素子
は1ビツト構成のフリツプフロツプだけであると仮定す
る。さらに単純化のため、挿入する遅延バツフアは非反
転バツフアの1種類だけを用いるものとする。
【0021】さてこの回路設計装置1は、ホールド時間
違反を起こしている経路のリストであるホールド時間違
反経路情報S1と、文字によつて表現された回路記述S
2とを挿入位置決定部2に入力し、これら違反経路リス
ト及び回路記述に基づいてホールド時間を補償する遅延
バツフアの挿入位置を決定する。なお処理結果は、挿入
位置決定部2よりバツフア挿入位置情報S3として出力
される。
【0022】(2)各種情報の形式 (2−1)定義 続いてホールド時間違反経路情報S1及びバツフア挿入
位置情報S3等、回路設計装置1が取り扱う情報の形式
を示す。なおここで示した情報の形式は単なる一例であ
り、記憶容量や処理時間の効率化のために別の形式を取
ることも可能である。以下、情報の形式に関する語句を
図2に示すように定義する。まずフイールドは1つの情
報を格納する領域をいうものとし、レコードはこのよう
なフイールドを要素とする集合をいうものとする。また
リストはレコードを要素とする集合をいうものとする。
【0023】さらに集合の要素数を表すのに「N(集合
名)」という表記を用いるものとし、集合のn番目の要
素を参照するために「集合名(n)」という表記を用い
るものとする。またレコード中のフイールドを参照する
ため「レコード名.フイールド名」という表記を用いる
ものとする。
【0024】(2−2)ホールド時間違反経路情報 まず図3にホールド時間違反経路情報の形式を示す。こ
のホールド時間違反経路情報は、ホールド時間違反を起
こしている経路の両端に位置する2つのフリツプフロツ
プ名によつて表される。この「ホールド時間違反経路情
報」のレコードは、図3に示すように、「送FF」フイ
ールドと「受FF」フイールドとの2つのフイールドか
らなる。
【0025】(2−3)バツフア挿入位置結果 続いて図4にバツフア挿入位置結果の形式を示す。この
バツフア挿入位置結果は遅延バツフアを挿入する位置を
示すリストである。この「バツフア挿入位置結果」レコ
ードは、図4に示すように、「セル」フイールドと「ピ
ン」フイールドとの2つのフイールドからなる。この形
式によつて、回路中のどの「セル」のどの「ピン」の直
前にバツフアを挿入すれば良いかを表している。
【0026】(3)挿入位置の決定手順 (3−1)手順の概略 図5に、挿入位置決定部2による挿入位置の決定処理手
順を示す。まず回路設計装置1は、ステツプSP2に示
すように、挿入位置決定部2にホールド時間違反経路情
報を読み込み、この集合をRとして記憶する。続いてス
テツプSP3に移り、文字で表現された回路記述を読み
込み、各経路の遅延量を解析して最大遅延時間dmax を
得る。
【0027】次のステツプSP4ではパラメータiを1
に設定し、続くステツプSP5においてパラメータiが
ホールド時間違反経路の要素数NR に対して大きいか否
か判定する。因に肯定結果が得られた場合、挿入位置決
定部2はステツプSP6の処理に移り、全経路を対象に
生成された「バツフア挿入位置結果」レコードを出力し
て挿入位置決定処理を終了する。
【0028】これに対して否定結果が得られた場合、挿
入位置決定部2はステツプSP7に移る。ここで挿入位
置決定部2はパラメータiに対応する各経路Ri につい
てホールド時間違反の有無を確認し、違反があつた場合
には経路上に存在する全セルの全入力ピンを対象として
遅延バツフアの挿入による効果と影響を求め、ホールド
時間違反の改善に最も効果的な位置を求める。なお挿入
位置決定部2はこれらの処理により効果的な遅延バツフ
アの挿入位置が特定されると、これらの情報に基づいて
「バツフア挿入位置結果」レコードを作成する。
【0029】この処理の終了後、挿入位置決定部2はス
テツプSP8に進み、パラメータiの値を更新してステ
ツプSP5の判定処理に戻り、ホールド時間違反のあつ
た全経路についての作成処理が終了するまでステツプS
P5−ステツプSP7−ステツプSP8−ステツプSP
5の処理を繰り返すようになされている。
【0030】(3−2)ステツプSP7の詳細な処理内
容 さてステツプSP7の具体的な処理手順を図6及び図7
に示す。まず挿入位置決定部2はステツプSP5からス
テツプSP7に移るとステツプSP11に入り、Ri の
経路について遅延量を計算し、ホールド時間違反がある
か否か確認する。ここで経路にホールド時間違反がない
と判別された場合には否定結果を得、挿入位置決定部2
はそのままステツプSP8に進む。
【0031】一方、経路にホールド時間違反があると判
別された場合には肯定結果を得、続くステツプSP12
に移り、「ホールド時間違反経路情報(Ri )」レコー
ドの「送FF」フイールドから「ホールド時間違反経路
情報(Ri )」レコードの「受FF」フイールドに至る
経路上に存在する「セル」の集合Cを求める。この後、
挿入位置決定部2はステツプSP13に移り、パラメー
タjに1を代入する一方、パラメータnに0を代入して
ステツプSP14に移る。ここでパラメータjはステツ
プSP14〜ステツプSP26で与えられる繰り返し処
理ルーチンの処理回数を表し、具体的には集合Cに属す
る各セルの通し番号に相当する。
【0032】ステツプSP14では、パラメータjの値
がセルの要素数NCより大きいか否か判定する。ここで
肯定結果が得られた場合、挿入位置決定部2は後述する
ステツプSP15〜ステツプSP26の処理によつて経
路Ri 上に存在する全てのセルについて挿入位置の決定
処理が終了したと判断してステツプSP27に移り、バ
ツフア挿入位置結果レコードを作成するようになされて
いる。なおこのステツプSP27において、挿入位置決
定部2は「バツフア挿入位置結果」レコードが作成し、
「セル」フイールドにcellを書き込み、「ピン」フイー
ルドにpinをそれぞれ書き込む。その後、挿入位置決定
部2は挿入位置に適していると判定されたピンの直前に
遅延バツフアを挿入して前述のステツプSP8に移る。
【0033】これに対してステツプSP14で否定結果
が得られた場合、挿入位置決定部2はステツプSP15
に進み、パラメータjで特定されるセルCjに対応する
入力ピンの集合Pを求める。このようにセルCjについ
て入力ピンの集合Pが求められると、挿入位置決定部2
はステツプSP16に移つてパラメータkの値を1に設
定し、次のステツプSP17においてパラメータkの値
が先に求めた入力ピンの数NPより大きいか否か判定す
る処理に移る。ここでパラメータkはステツプSP17
〜ステツプSP25で与えられる繰り返し処理ルーチン
の繰り返し回数を表し、具体的には入力ピンの通し番号
に相当する。
【0034】ここでステツプSP17で肯定結果が得ら
れ、セルCjに対応する全入力ピンについて挿入位置の
検討が終了すると、挿入位置決定部2はステツプSP2
6に移り、処理対象を次のセルCj+1に移す。なおこ
のステツプSP26の処理終了後、挿入位置決定部2は
ステツプSP14に戻る。一方、ステツプSP17で否
定結果が得られた場合、挿入位置決定部2は繰り返し処
理ルーチンを構成するステツプSP18〜ステツプSP
25の処理へ移る。
【0035】まず挿入位置決定部2はステツプSP18
において、第k番目の入力ピンPkの直前に遅延バツフ
アを挿入し、次のステツプSP19で当該遅延バツフア
の影響を受ける全てのフリツプフロツプ間の経路の遅延
値を調査するよう動作する。先のステツプSP19にお
ける調査が全ての経路について終了すると、挿入位置決
定部2はこれら全ての経路について得られた遅延時間の
最大値が予め回路について求められている最大遅延時間
dmax 以上であるか否かステツプSP20で判定する。
ここで肯定結果が得られた場合には、この遅延バツフア
の挿入が新たなクリテイカルパスを発生させてしまうた
め、挿入位置決定部2はこれに関する情報を記憶せずス
テツプSP24の処理に移つて挿入した遅延バツフアを
外すように動作する。
【0036】これに対し、ステツプSP20で否定結果
が得られた場合、挿入位置決定部2はステツプSP21
に移り、挿入によりホールド時間違反が解消されたフリ
ツプフロツプ間の数xを調べ、次のステツプSP22で
その数xがパラメータn(この前までに実行された処理
ルーチンによつてホールド時間違反が解消されたフリツ
プフロツプの数の最大値を表している)より大きいか否
か判定する。ここで否定結果が得られた場合、すなわち
ホールド時間違反が解消されたフリツプフロツプが前回
以上に改善されない場合、挿入位置決定部2はこのよう
な遅延バツフアの挿入は無駄な挿入であると判断し、ス
テツプSP24の処理に移る。そして挿入した遅延バツ
フアを外すように動作する。
【0037】これに対して肯定結果が得られた場合、す
なわちホールド時間違反が解消されたフリツプフロツプ
が前回以上ある場合、挿入位置決定部2はステツプSP
23においてパラメータnに今回得られた値xを挿入す
ると共に、cellにこのときのセルCjを代入する。また
pinに今回遅延バツフアを挿入したピン番号Pkを書き
込む。この後、挿入位置決定部2はステツプSP25に
移り、次のピン番号k+1に処理を移すように動作す
る。以上が各処理ステツプ及び処理ルーチンで実行され
る処理内容である。
【0038】以上の構成によれば、ステツプSP5−ス
テツプSP7−ステツプSP8−ステツプSP5の繰り
返し処理ルーチンにより、ホールド時間違反が生じてい
る全ての経路に対し、各経路上に存在するどのセルのど
の入力ピンの直前に遅延バツフアを挿入すればホールド
時間違反をなくす上で最も効果が得られるかを検討で
き、この検討結果を用いて「バツフア挿入位置結果」レ
コードを作成するようにしたことにより、大規模な回路
であつても適切な回路設計が可能となる遅延素子挿入位
置決定方法及び回路設計装置を実現することができる。
【0039】なおバツフア挿入位置の決定の際、回路設
計装置1の挿入位置決定部2は挿入によつて影響を受け
る全経路について挿入時における遅延時間の様子を改め
て求め、その最大値が原回路の最大遅延時間dmax 以下
になつているか確認する処理ステツプ(ステツプSP2
0)を設け、これを越える場合には遅延バツフアの挿入
位置対象から除外するようにしたことにより、従来問題
とされていたクリテイカルパスの遅延時間の増大も有効
に回避することができる。
【0040】また経路上に存在するあるセルの入力ピン
の直前に遅延バツフアを挿入する場合にはホールド時間
違反の解消に最も効果のある入力ピンを各セルごとに調
べてこれを遅延バツフアの挿入位置に決定する処理ステ
ツプ(ステツプSP22)を設けたことにより、従来問
題とされていた遅延バツフアの無駄な挿入をなくすこと
ができる。
【0041】(4)他の実施例 なお上述の実施例においては、各経路に1種類の遅延バ
ツフアのみを挿入する場合について述べたが、本発明は
これに限らず、複数種類の遅延バツフアを挿入するよう
にしても良い。また上述の実施例においては、遅延バツ
フアとして非反転バツフアを挿入する場合について述べ
たが、本発明はこれに限らず、これ以外の論理素子を挿
入する場合にも適用し得る。
【0042】さらに上述の実施例においては、処理対象
の回路がフリツプフロツプのみから構成される場合につ
いて述べたが、本発明はこれに限らず、フリツプフロツ
プ以外の記憶素子を含む回路についても適用し得る。ま
た上述の実施例においては、処理対象の回路が1ビツト
構成のフリツプフロツプのみで構成される場合について
述べたが、本発明はこれに限らず、多ビツト構成のフリ
ツプフロツプを含む回路に広く適用し得る。
【0043】さらに上述の実施例においては、同期信号
が単相である場合について述べたが、本発明はこれに限
らず、同期信号が多相である場合にも容易に適用でき
る。また上述の実施例においては、回路設計装置1とし
て挿入位置決定部2が決定した挿入位置をそのまま出力
する構成のものについて述べたが、本発明はこれに限ら
ず、挿入位置決定部2の決定した挿入位置に実際にバツ
フアを挿入して回路を書き換える機能を持たせても良
い。さらに上述の実施例においては、入力ピンの直前に
遅延バツフアを挿入する場合について述べたが、本発明
はこれに限らず、出力ピンの直後に遅延バツフアを挿入
できるようにする機能を持たせることもでき、これによ
り図10(B)に示したような冗長な挿入を回避するこ
ともできる。
【0044】
【発明の効果】上述のように本発明によれば、回路上の
ある二点間に論理素子を挿入する場合、その挿入位置を
経由する他の経路の遅延を考慮して上記論理素子の挿入
位置を決定することにより、従来人手による作業のため
非常に時間のかかつていた論理素子の挿入位置決定作業
を自動化できる。処理に要する時間を短縮することがで
きる。
【図面の簡単な説明】
【図1】本発明による回路設計装置の一実施例を示すブ
ロツク図である。
【図2】回路設計装置で扱う情報形式の説明に供する図
表である。
【図3】ホールド時間違反経路情報の形式を示す図表で
ある
【図4】バツフア挿入位置結果の形式を示す図表であ
る。
【図5】遅延バツフアの挿入位置決定処理手順が概略を
示すフローチヤートである。
【図6】特定ステツプのより詳細な説明に供するフロー
チヤートである。
【図7】特定ステツプのより詳細な説明に供するフロー
チヤートである。
【図8】Dフリツプフロツプのセツトアツプ時間とホー
ルド時間との説明に供する信号波形図である。
【図9】フリツプフロツプ間におけるデータの受け渡し
の説明に供するブロツク図である。
【図10】遅延バツフアの効果的な挿入位置を示すブロ
ツク図である。
【図11】遅延バツフアの効果的な挿入位置を示すブロ
ツク図である。
【図12】遅延バツフアの挿入による他の経路に与える
影響の説明に供するブロツク図である。
【図13】遅延バツフアの挿入による他の経路に与える
影響の説明に供するブロツク図である。
【符号の説明】
1……回路設計装置、2……挿入位置決定部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 笹野 満 東京都品川区北品川6丁目7番35号ソニー 株式会社内

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】回路上のある二点間に論理素子を挿入する
    場合、その挿入位置を経由する他の経路の遅延を考慮し
    て上記論理素子の挿入位置を決定することを特徴とする
    回路設計方法。
  2. 【請求項2】上記挿入位置を経由する他の経路は、記憶
    素子間の経路であることを特徴とする請求項1に記載の
    回路設計方法。
  3. 【請求項3】上記論理素子はその出力がその入力と論理
    的に変わらない素子であることを特徴とする請求項1に
    記載の回路設計方法。
  4. 【請求項4】上記論理素子はその出力がその入力と論理
    的に変わらない素子であることを特徴とする請求項2に
    記載の回路設計方法。
  5. 【請求項5】上記論理素子は非反転バツフアであること
    を特徴とする請求項3に記載の回路設計方法。
  6. 【請求項6】上記論理素子は非反転バツフアであること
    を特徴とする請求項4に記載の回路設計方法。
  7. 【請求項7】挿入する上記論理素子として偶数個の反転
    バツフアを用いることを特徴とする請求項3に記載の回
    路設計方法。
  8. 【請求項8】挿入する上記論理素子として偶数個の反転
    バツフアを用いることを特徴とする請求項4に記載の回
    路設計方法。
  9. 【請求項9】上記回路は文字で表現されていることを特
    徴とする請求項1に記載の回路設計方法。
  10. 【請求項10】上記回路は図で表現されていることを特
    徴とする請求項1に記載の回路設計方法。
  11. 【請求項11】上記回路は単相同期信号で動作するもの
    であることを特徴とする請求項1に記載の回路設計方
    法。
  12. 【請求項12】上記回路は多相同期信号で動作するもの
    であることを特徴とする請求項1に記載の回路設計方
    法。
  13. 【請求項13】設計対象である回路に関する情報と、上
    記回路上の経路に関する情報とを入力し、上記回路上の
    ある二点間に論理素子を挿入する場合、上記情報に基づ
    いて上記論理素子を挿入する位置を経由する他の経路の
    遅延を考慮して上記論理素子の挿入位置を決定する挿入
    位置決定部を具えることを特徴とする回路設計装置。
  14. 【請求項14】上記挿入位置を経由する他の経路は、記
    憶素子間の経路であることを特徴とする請求項13に記
    載の回路設計装置。
  15. 【請求項15】上記論理素子はその出力がその入力と論
    理的に変わらない素子であることを特徴とする請求項1
    3に記載の回路設計装置。
  16. 【請求項16】上記回路に関する情報は文字で表現され
    ていることを特徴とする請求項13に記載の回路設計装
    置。
  17. 【請求項17】上記回路に関する情報は図で表現されて
    いることを特徴とする請求項13に記載の回路設計装
    置。
  18. 【請求項18】上記回路は単相同期信号で動作するもの
    であることを特徴とする請求項13に記載の回路設計装
    置。
  19. 【請求項19】上記回路は多相同期信号で動作するもの
    であることを特徴とする請求項13に記載の回路設計装
    置。
JP7233526A 1995-08-18 1995-08-18 回路設計方法及び回路設計装置 Pending JPH0962716A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7233526A JPH0962716A (ja) 1995-08-18 1995-08-18 回路設計方法及び回路設計装置
US08/695,926 US5859776A (en) 1995-08-18 1996-08-12 Method and apparatus for the design of a circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7233526A JPH0962716A (ja) 1995-08-18 1995-08-18 回路設計方法及び回路設計装置

Publications (1)

Publication Number Publication Date
JPH0962716A true JPH0962716A (ja) 1997-03-07

Family

ID=16956428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7233526A Pending JPH0962716A (ja) 1995-08-18 1995-08-18 回路設計方法及び回路設計装置

Country Status (2)

Country Link
US (1) US5859776A (ja)
JP (1) JPH0962716A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0905632A2 (en) * 1997-09-24 1999-03-31 Sun Microsystems, Inc. Method for reducing circuit area by grouping compatible storage devices

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2882359B2 (ja) * 1996-04-27 1999-04-12 日本電気株式会社 レイアウト設計装置
JP2912264B2 (ja) * 1996-10-24 1999-06-28 日本電気アイシーマイコンシステム株式会社 自動配置方法
US6120550A (en) 1996-10-28 2000-09-19 Altera Corporation Design file templates for implementation of logic designs
JP3357813B2 (ja) * 1997-04-01 2002-12-16 株式会社東芝 ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
TW371758B (en) * 1997-06-04 1999-10-11 Siemens Ag Method to optimize the signal-propagation-time in a reprogrammable switching circuit and reprogrammable switching circuit with program-code optimized in said signal-propagation time
JP3206643B2 (ja) * 1997-08-08 2001-09-10 日本電気株式会社 半導体集積回路の設計方法
US6044209A (en) * 1997-09-15 2000-03-28 International Business Machines Corporation Method and system for segmenting wires prior to buffer insertion
US6080204A (en) * 1997-10-27 2000-06-27 Altera Corporation Method and apparatus for contemporaneously compiling an electronic circuit design by contemporaneously bipartitioning the electronic circuit design using parallel processing
JP2868009B1 (ja) * 1998-01-30 1999-03-10 日本電気株式会社 遅延算出装置、遅延算出方法および遅延算出用プログラムを記録した記録媒体
US6457167B1 (en) 1998-03-31 2002-09-24 Kabushiki Kaisha Toshiba Gated clock design supporting method, gated clock design supporting apparatus, and computer readable memory storing gated clock design supporting program
US6367056B1 (en) 1998-04-23 2002-04-02 Altera Corporation Method for incremental timing analysis
AU2079699A (en) * 1998-11-30 2000-06-19 Actcon Control Ab Method for inserting objects into a working area in a computer application
US6553550B1 (en) * 1999-03-05 2003-04-22 Peter Menegay Method and apparatus for computing delay correlation effects in digital circuits
US6928401B1 (en) * 1999-06-10 2005-08-09 Hewlett-Packard Development Company, L.P. Interactive repeater insertion simulator (IRIS) system and method
US6832180B1 (en) * 1999-10-29 2004-12-14 Sun Microsystems, Inc. Method for reducing noise in integrated circuit layouts
US7036104B1 (en) 1999-12-06 2006-04-25 International Business Machines Corporation Method of and system for buffer insertion, layer assignment, and wire sizing using wire codes
US7013253B1 (en) 2000-04-03 2006-03-14 Magma Design Automation, Inc. Method and apparatus for calculation of crosstalk noise in integrated circuits
JPWO2002063890A1 (ja) * 2001-02-07 2004-06-10 富士通株式会社 クロスコネクト装置
US6836874B2 (en) * 2002-06-26 2004-12-28 Agilent Technologies, Inc. Systems and methods for time-budgeting a complex hierarchical integrated circuit
US7191416B2 (en) * 2003-01-27 2007-03-13 Stmicroelectronics Limited System and method for modifying integrated circuit hold times
GB2402761B (en) * 2003-06-12 2006-02-22 Advanced Risc Mach Ltd Improvements in flexibility of a bus interconnect block for a data processing apparatus
JP4389701B2 (ja) * 2004-07-09 2009-12-24 日本電気株式会社 集積回路階層設計システム及び集積回路階層設計プログラム
TWI625618B (zh) * 2017-07-11 2018-06-01 新唐科技股份有限公司 可程式化接腳位準的控制電路
CN114167264B (zh) * 2021-12-03 2024-03-15 中国人民解放军国防科技大学 一种核辐射环境下用于检测数字电路保持时间违例的装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557531A (en) * 1990-04-06 1996-09-17 Lsi Logic Corporation Method and system for creating and validating low level structural description of electronic design from higher level, behavior-oriented description, including estimating power dissipation of physical implementation
JP2695078B2 (ja) * 1991-06-10 1997-12-24 株式会社東芝 データ処理装置クロック信号の分配方法
JP3172211B2 (ja) * 1991-09-05 2001-06-04 富士通株式会社 回路合成システム
US5618744A (en) * 1992-09-22 1997-04-08 Fujitsu Ltd. Manufacturing method and apparatus of a semiconductor integrated circuit device
JP3207989B2 (ja) * 1993-12-21 2001-09-10 三菱電機株式会社 遅延時間計算装置
JP3153403B2 (ja) * 1993-12-28 2001-04-09 富士通株式会社 半導体集積回路の遅延時間計算装置
US5638291A (en) * 1994-10-14 1997-06-10 Vlsi Technology, Inc. Method and apparatus for making integrated circuits by inserting buffers into a netlist to control clock skew
US5693540A (en) * 1996-04-03 1997-12-02 Altera Corporation Method of fabricating integrated circuits

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0905632A2 (en) * 1997-09-24 1999-03-31 Sun Microsystems, Inc. Method for reducing circuit area by grouping compatible storage devices
EP0905632A3 (en) * 1997-09-24 2002-07-24 Sun Microsystems, Inc. Method for reducing circuit area by grouping compatible storage devices

Also Published As

Publication number Publication date
US5859776A (en) 1999-01-12

Similar Documents

Publication Publication Date Title
JPH0962716A (ja) 回路設計方法及び回路設計装置
US6305001B1 (en) Clock distribution network planning and method therefor
MX2007000249A (es) Metodo y aparato para arreglar perturbaciones de tiempo de espera en un diseno de circuito.
US7958474B2 (en) Highly threaded static timer
US20070255928A1 (en) Processor
US20080216043A1 (en) Structure for Optimizing the Signal Time Behavior of an Electronic Circuit Design
US20230252212A1 (en) Testbench for sub-design verification
US7171634B2 (en) Processing and verifying retimed sequential elements in a circuit design
US7143379B2 (en) Apparatus and method for performing static timing analysis of an integrated circuit design using dummy edge modeling
US7082558B2 (en) Increasing possible test patterns which can be used with sequential scanning techniques to perform speed analysis
KR0167876B1 (ko) 집적회로 시뮬레이터 및 집적회로 시뮬레이션 방법
US7624363B2 (en) Method and apparatus for performing equivalence checking on circuit designs having differing clocking and latching schemes
US7197445B1 (en) Atomic transaction processing for logic simulation
US6505149B1 (en) Method and system for verifying a source-synchronous communication interface of a device
US8296697B2 (en) Method and apparatus for performing static analysis optimization in a design verification system
US7389488B2 (en) Method of finding driving strength and computer accessible record medium to store program thereof
US11409931B1 (en) Systems and methods for optimizing scan pipelining in hierarchical test design
US7269812B2 (en) Apparatus and method for performing static timing analysis of an integrated circuit design
US11106846B1 (en) Systems and methods for emulation data array compaction
JP4006120B2 (ja) 論理合成装置
US11048843B1 (en) Dynamic netlist modification of compacted data arrays in an emulation system
JP2018136602A (ja) 分散アプリケーションのベンチマークテストシステムおよびその方法
US10817633B2 (en) Timing model, timing model building method, and related top-level analysis method
US7287178B1 (en) Communication between clock domains of an electronic circuit
US10416232B1 (en) Timing optimizations in circuit designs using opposite clock edge triggered flip-flops