JP2004133702A - 自動設計システム、及び自動設計方法 - Google Patents

自動設計システム、及び自動設計方法 Download PDF

Info

Publication number
JP2004133702A
JP2004133702A JP2002297793A JP2002297793A JP2004133702A JP 2004133702 A JP2004133702 A JP 2004133702A JP 2002297793 A JP2002297793 A JP 2002297793A JP 2002297793 A JP2002297793 A JP 2002297793A JP 2004133702 A JP2004133702 A JP 2004133702A
Authority
JP
Japan
Prior art keywords
glitch
skew
logic circuit
clock
unit
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.)
Granted
Application number
JP2002297793A
Other languages
English (en)
Other versions
JP3990250B2 (ja
Inventor
Takeshi Kitahara
北原 健
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002297793A priority Critical patent/JP3990250B2/ja
Priority to US10/681,640 priority patent/US6915497B2/en
Publication of JP2004133702A publication Critical patent/JP2004133702A/ja
Application granted granted Critical
Publication of JP3990250B2 publication Critical patent/JP3990250B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31704Design for test; Design verification
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • 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

Abstract

【課題】LSI等の半導体チップの面積の拡大を防ぎ、又設計期間を短縮しつつ、効率よく消費電力を低減できる自動設計システム、及び自動設計方法を提供することである。
【解決手段】LSIのパターンレイアウトに用いる論理回路の回路情報を入力する入力装置1と、グリッチが発生する回路素子を検索するグリッチ検索部21と、回路素子の入力端へ信号を出力するフリップフロップ(F/F)のクロック入力端に入力されるクロック信号のスキューを算定するスキュー算定部22と、スキューを第1目標スキューとして設定することにより、グリッチを削減できるか否かを解析する回路情報解析部31と、グリッチを削減できると解析された場合に、第1目標スキューを設定する第1目標スキュー設定部32aと、グリッチを削減できないと解析された場合に、第1ラッチを挿入する第1ラッチ挿入部33aとを備える。
【選択図】   図1

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータを用いたLSIの自動設計技術に関する。
【0002】
【従来の技術】
近年、LSI等の半導体チップは高集積化、大型化する傾向にあり、更にLSI化された回路に供給されるクロックの周波数は飛躍的に向上している。これに伴い、半導体チップの消費電力も大きくなりつつある。そのため、バッテリーを電源とする携帯機器等にLSI化された回路を搭載する場合、1回の充電で機器が動作できる時間が短くなり、回路の消費電力の低減が要請されている。
【0003】
消費電力の低減を実現するための方法の1つに、回路で発生するグリッチの削減がある。例えば、図3(a)に示すような回路があった場合、図3(b)のタイムチャートに示すように、入力信号が時刻tにクロックAと同期して、F/F40で1→0、F/F41で1→0と出力信号が変化したとする。ここで、F/F40、41は、立ち上がりエッジトリガータイプのものである。この場合、F/F40の出力信号は配線401、インバータ403、配線402を伝播してORゲート45に到達する。一方、F/F41の出力信号は配線404を伝播してORゲート45に到達する。信号の伝播の際には、配線や回路素子等による信号の伝播遅延が生じる。図3(a)に示す回路において、例えば配線401で0.1ns、バッファ403で0.2ns、配線402で0.1nsの伝播遅延が生じたとすると、F/F40の出力信号がORゲートに到達するのは、0.1ns+0.2ns+0.1ns=0.4ns後の図3(b)に示した時刻tである。一方、図3(a)に示す回路において、例えば配線404で0.1nsの伝播遅延が生じたとすると、F/F41の出力信号がORゲート45に到達するのは、0.1ns後の図3(b)に示した時刻tである。よって、t−t=0.3nsの伝播時間のずれを生じて、F/F40及び41の出力信号がORゲート45に到達する。更にORゲート45で0.1nsの伝播遅延が生じたとすると、図3(b)に示すようにORゲート45の出力信号で、時刻tに1→0、時刻tに0→1と2度のスイッチングがあり、グリッチが生じる。しかし、グリッチは、回路が実行するタスクに対して何ら影響を与えない。即ち、グリッチにより消費される電力はまったく無駄なもので、可能な限り低減することが望ましい。
【0004】
又、グリッチによる消費電力を低減する手法の1つとして、組み合わせ回路部分にラッチを挿入する手法がある(例えば、非特許文献1参照)。例えば図3(a)のように、ORゲート45の出力先にラッチ42を挿入する。ラッチ42は、クロックBが1のときに入力信号を出力信号に伝播して、クロックBが0のときに入力信号を伝播しない。更に、ラッチ42のクロック入力信号であるクロックBは、図3(b)のように、クロックAよりも位相がt−tだけずれるように設定する。この場合、ラッチ42において入力信号を取り込むのは、図3(b)に示した時刻tであるため、それ以前にラッチ42へ入力されるグリッチは、ラッチ42の出力信号に現れない。これにより、ラッチ42の出力信号で、グリッチが削除できる。この結果、消費電力を低減させることができる。
【0005】
又、消費電力の低減を実現するための他の方法として、ゲーテッドクロック設計がある(例えば、非特許文献2参照)。これは、各レジスタにクロックが常に供給され、クロック・ツリー全体に常時クロックが供給されることにより消費電力の増加が非常に大きくなるという問題を解決するための手法である。ゲーテッドクロック設計は、例えば図9(a)に示すようにクロックCLKとレジスタ群104の間に、F/F105〜107、イネーブル回路103、ANDゲート101を挿入し、ANDゲート101の一方の入力端にはレジスタ転送条件であるイネーブル回路103の出力信号が入力される。そして、レジスタ転送条件が成立しイネーブル回路103の出力信号が1のときにのみ、ANDゲート101が導通してクロックがレジスタ群104に供給され、レジスタ群104で論理回路109の出力信号が取り込まれる。これにより、レジスタ転送条件不成立時に現在の値を保持するためのフィードバック・ループはレジスタに不要であり、又クロックがレジスタに供給される回数が少なくなることによりクロック・ツリーの振幅回数を減らすことができ、消費電力を低減させることができる。
【0006】
LSI設計では、先ず論理設計が行われ、各ゲートの配置処理が行われた後、クロック配線が行われる。従って、ゲーテッドクロック設計でも、図8に示すように、先ずステップS901で論理設計が行われ、ステップS902でこの論理設計に対応する各ゲートの配置処理が行われた後、ステップS903で各記憶素子のクロック端子を接続するクロック配線の設計処理が行われる。ここで、「記憶素子」とは、F/F、ラッチ、メモリ等の値を保持できる回路素子の総てを指す。クロック配線処理の1つとして、クロックのスキューの最小化を図るためクロック・ツリー合成(CTS)処理が用いられる場合がある(例えば、特許文献1参照)。CTS処理では、図10に示すように、ラッチ115とラッチ116、ラッチ117とラッチ118、ラッチ119とラッチ120、ラッチ121とラッチ122をそれぞれ同じ配線距離dで二つのクロック端子を結ぶ。次に配線125と配線126、配線127と配線128の中点をそれぞれ同じ配線距離Dの配線131及び132で結ぶ。そして更に、配線131及び132の中点をそれぞれ同じ配線距離の配線141及び142で結ぶ。このような配線処理を繰り返すことにより、クロックがクロック端子へ到達する際の伝播遅延を均等にする。この結果、クロックのスキューを最小化させてクロック配線が行うことができる。
【0007】
【特許文献1】
特開平11−119853
【0008】
【非特許文献1】
V.Tiwari et al., ”Guarded Evaluation: Pushing Power Managementto Logic Synthesis/Design”, Proceedings International Symposium on Low Power Design, 1995
【0009】
【非特許文献2】
T.Kitahara et al., ”A Clock−Gating Method for Low−Power LSI design”, Proceedings Asia and South Pacific design Automation Conference, 1998
【0010】
【発明が解決しようとする課題】
組み合わせ回路部分にラッチを挿入する手法では、グリッチを削減しようとする部分の総てにラッチを挿入するため、ラッチ挿入によりLSI等の半導体チップの面積が拡大するという問題があった。この結果、消費電力の低減を実現するための障害となっていた。
【0011】
又、ゲーテッドクロック設計でCTS処理を用いてクロック配線が行われると、図9(b)に示すゲーテッドクロック設計された論理回路のように、F/F105〜107からイネーブル回路103の出力に至るまでの経路はそれぞれ異なることから、クロック配線後にF/F105〜107の出力信号からレジスタ群104a、104bまでのタイミング制約を満たさなくなる場合がある。又、クロックスキューを調整するために、ANDゲート101の出力先にバッファ112a、112bがクロック配線処理時に追加されることがある。この場合は、ANDゲート101の出力端からレジスタ群104a、104bまでの伝播遅延が増える。このため、F/F105〜107からレジスタ群104a、104bの論理回路中に、タイミング制約が満たされないクリティカルパスが生じることがある。この場合、論理設計まで戻ってレジスタにゲーテッドクロック設計を用いないよう論理設計の変更を行い、再度レイアウト処理を実行する必要があった。このようなレイアウトの再実行は、設計期間を増大させるという問題点があった。更に、ゲーテッドクロック設計を用いないため、レジスタ群104a、104bにクロックが常に供給され、レジスタ群104a、104bの消費電力を低減できないという性能上の影響も生じていた。この結果、消費電力の低減を実現するための障害となっていた。
【0012】
本発明は、上述のごとき従来の課題を解決するためになされたもので、その目的は、LSI等の半導体チップの面積の拡大を防ぎ、又設計期間を短縮しつつ、効率よく消費電力を低減できる自動設計システム、及び自動設計方法を提供することである。
【0013】
【課題を解決するための手段】
本発明の第1の特徴は、LSIのパターンレイアウトに用いる論理回路の回路情報を入力する入力装置と、論理回路上においてグリッチが発生する回路素子を検索するグリッチ検索部と、回路素子の入力端へ信号を出力するF/Fのクロック入力端に入力されるクロック信号のスキューを算定するスキュー算定部と、スキュー算定部で算定されたスキューを第1目標スキューとして設定することにより、グリッチを削減できるか否かを解析する回路情報解析部と、回路情報解析部でグリッチを削減できると解析された場合に、スキュー算定部で算定された第1目標スキューを設定する第1目標スキュー設定部と、回路情報解析部でグリッチを削減できないと解析された場合に、回路素子の出力端からの信号伝播経路に、第1ラッチを挿入する第1ラッチ挿入部とを備える自動設計システムであることを要旨とする。
【0014】
クロック配線では、誤作動を防止するため、総ての記憶素子のクロック入力端の間におけるスキューを無くすことが望ましい。スキューが無いことを、「ゼロスキュー」という。一方、論理回路中の記憶素子のクロック入力端に目標とするスキューを設定することを、「目標スキューの設定」と定義する。
【0015】
本発明の第1の特徴によれば、グリッチを削減しようとする部分の総てにラッチを挿入する必要がなくなる。
【0016】
本発明の第2の特徴は、LSIのパターンレイアウトに用いるゲーテッドクロック設計された論理回路の回路情報を入力する入力装置と、論理回路が正常に動作するためのタイミング制約を満たすか否かの検証を行う第1タイミング検証部と、ゲーテッドクロック設計された半導体チップ領域上の論理回路に対し、クロック配線をする第1クロック配線処理部と、クロック配線処理された後に、タイミング制約を満たすか否かの検証を行う第2タイミング検証部と、第2タイミング検証部でタイミング制約を満たさないと検証された場合、タイミングを満たさないクリティカルパスのうち最大のスラック値を算定するスラック値算定部と、スラック値が正となるように目標スキューを設定する目標スキュー設定部とを備える自動設計システムであることを要旨とする。
【0017】
本発明の第2の特徴によれば、クロック配線処理の段階でゲーテッドクロック設計により供給されるクロックを目標スキューに従って調整して、タイミング制約を満たすことができる。
【0018】
本発明の第3の特徴は、LSIのパターンレイアウトに用いる論理回路の回路情報を入力するステップと、論理回路上においてグリッチが発生する回路素子を検索するステップと、前記回路素子の入力端へ信号を出力するF/Fのクロック入力端に入力される信号のスキューを算定するステップと、スキューを第1目標スキューとして設定することにより、グリッチを削減できるか否かを解析するステップと、グリッチを削減できると解析された場合に、クロック配線に第1目標スキューを設定するステップと、グリッチを削減できないと解析された場合に、回路素子の出力端からの信号伝播経路に、第1ラッチを挿入するステップとを備える自動設計方法であることを要旨とする。
【0019】
本発明の第3の特徴によれば、グリッチを削減しようとする部分の総てにラッチを挿入する必要がなくなる。
【0020】
本発明の第4の特徴は、LSIのパターンレイアウトに用いるゲーテッドクロック設計された論理回路の回路情報を入力するステップと、論理回路が正常に動作するためのタイミング制約を満たすか否かの検証を行うステップと、ゲーテッドクロック設計された半導体チップ上の論理回路に対し、第1クロック配線をするステップと、第1クロック配線処理された後に、タイミング制約を満たすか否かの検証を行うステップと、第1クロック配線処理された後の論理回路がタイミング制約を満たさないと検証された場合、タイミングを満たさないクリティカルパスのうち最大のスラック値を算定するステップと、スラック値が正となるように目標スキューを設定するステップとを備える自動設計方法であることを要旨とする。
【0021】
本発明の第4の特徴によれば、クロック配線処理の段階でゲーテッドクロック設計により供給されるクロックを目標スキューに従って調整して、タイミング制約を満たすことができる。
【0022】
【発明の実施の形態】
(第1の実施の形態)
図1に示すように、本発明の第1の実施の形態に係る自動設計システムは、入力装置1、テストベクタ情報入力装置7、タイミング制約入力装置6、中央演算処理装置(CPU)100、出力装置17、インターフェイス15、ホストコンピュータ16、共通バス20、読み出し専用メモリ(ROM)18、随時書き込み読み出しメモリ(RAM)19、及びデータ記憶装置10を備える。データ記憶装置10は、回路情報記憶部2、テストベクタ情報記憶部23、タイミング制約情報記憶部14、グリッチ消費電力記憶部9、総消費電力記憶部12、目標スキュー情報記憶部24、ラッチ情報記憶部25等のファイルを備える。
【0023】
入力装置1により、設計しようとする論理回路の回路情報が入力される。テストベクタの設定が行われている場合は、テストベクタ情報入力装置7により、テストベクタ情報が入力される。タイミング制約入力装置6により、論理回路が満たすべきタイミング制約情報が入力される。例えば、タイミング制約入力装置6により、クロック周期、クロック周波数、セットアップ・ホールド時間等が入力される。出力装置17は、CPU100で処理等されるデータを出力する。ホストコンピュータ16は、インターフェイス15を介して、出力装置17が出力するデータと同様のデータをハードディスク等に保存し、ホストコンピュータ16に接続されたモニター等に出力する。入力装置1、テストベクタ情報入力装置7、タイミング制約入力装置6、CPU100、出力装置17、インターフェイス15、及びデータ記憶装置10は、共通バス20を介してデータのやり取りを行う。
【0024】
CPU100は更に、クロック配線処理部30、グリッチ検索部21、スキュー算定部22、回路情報解析部31、第1目標スキュー設定部32a、第2目標スキュー設定部32b、第1ラッチ挿入部33a、第2ラッチ挿入部33b、タイミング検証部5、グリッチ消費電力見積部8、総消費電力見積部11、回路消費電力比較部13を備える。グリッチ検索部21は、論理回路において、グリッチが発生する回路素子を検索する。テストベクタ情報が入力されている場合は、シミュレーションによりグリッチが発生する回路素子を検索できる。テストベクタ情報が入力されていない場合でも、回路素子の種類、及び配線や回路素子等で生ずる伝播遅延の算定によりグリッチが発生する回路素子を検索できる。スキュー算定部22は、グリッチ検索部21で検索されたグリッチが発生する回路素子の入力端へ信号を出力するF/Fの入力端に入力される信号のスキューを算定する。配線や回路素子等で生ずる伝播遅延の算定によりスキューを算定できる。
【0025】
回路情報解析部31は、スキュー算定部22で算定されたスキューを、第1目標スキューとして設定することにより、グリッチを削減できるか否かを解析する。即ち論理回路によっては、回路情報解析部31で第1目標スキューを設定してもグリッチを削減できないと解析される場合もある。例えば、図5(a)に示すような論理回路において、F/F605の出力信号は、インバータ603及び604を経由してEXORゲート601の端子αに至る経路(第1の経路)と、配線606を経由してEXORゲート601の端子βに至る経路(第2の経路)を伝播する。この場合、図5(b)のタイムチャートに示すように、第1の経路と第2の経路を伝播してEXORゲート601の端子α及び端子βへ入力される信号で伝播遅延差が生じ、グリッチが発生する。しかし、F/F605のクロック入力端に、いくら第1目標スキューを設定してスキューを調整しても、第1の経路と第2の経路での信号の伝播遅延差を0にすることはできず、EXORゲート601の出力先で生じるグリッチを削減できない。しかしこの場合でも、図5(a)に示すように、EXORゲート601の出力先に第1ラッチ602を挿入すれば、グリッチを削減できる。
【0026】
第1目標スキュー設定部32aは、回路情報解析部31で第1目標スキューの設定により、グリッチを削減できると解析された場合に、第1目標スキューを設定する。第2目標スキュー設定部32bは、タイミング制約入力装置6に入力されたタイミング制約を満たさないとタイミング検証部5が検証した場合に、このタイミング制約を満たすようにクロック配線上に第2目標スキューを設定する。第1ラッチ挿入部33aは、回路情報解析部31で第1目標スキューの設定により、グリッチを削減できないと解析された場合に、グリッチ検索部21で検索されたグリッチが発生する回路素子の出力端からの信号伝播経路に第1ラッチを挿入する。第2ラッチ挿入部33bは、タイミング制約入力装置6に入力されたタイミング制約を満たさないとタイミング検証部5が検証した場合に、このタイミング制約を満たすように回路素子の出力端からの信号伝播経路に第2ラッチを挿入する。タイミング検証部5は、第1目標スキュー設定部32aにより第1目標スキューが設定された後の論理回路、又は第1ラッチ挿入部33aにより第1ラッチが挿入された論理回路に対してクロック配線を行った後に、タイミング制約入力装置6により入力されたタイミング制約を満たすか否かを検証する。一般に、検証方法は静的タイミング解析(STA)により行う。グリッチ消費電力見積部8は、グリッチ検索部21により検索された回路素子で発生するグリッチの消費電力を算定する。グリッチの消費電力は、グリッチの発生頻度と1回のグリッチによる消費電力の積をとれば求めることができる。グリッチの発生頻度とグリッチが発生する回路素子は、グリッチ検索部21により決定される。1回のグリッチによる消費電力Wは、次のように求められる。消費電力Wは、ゲート内部の消費電力WIと、外部配線の消費電力WOからなる。
【0027】
W=WI+WO ・・・・・(1)
WIは、測定により求められる。WOは、配線容量をC、電源電圧をV、グリッチの発生頻度をfとすれば、以下の式により求められる。
【0028】
WO=CVf/2 ・・・・・(2)
総消費電力見積部11は、クロック配線処理部30によりクロック配線された論理回路、及び入力装置1から入力された論理回路の総消費電力を算定する。回路消費電力比較部13は、グリッチ消費電力見積部8で算定されたグリッチ消費電力の増減と、総消費電力見積部11で算定された論理回路の総消費電力の増減を、第1又は第2目標スキューの設定及び第1又は第2ラッチの挿入の前後で比較する。即ち、第1又は第2目標スキューの設定又は第1又は第2ラッチの挿入により減少したグリッチ消費電力と、バッファの挿入、クロック配線の調整、ラッチの挿入により増加した論理回路の総消費電力を比較する。
【0029】
グリッチ検索部21は、テストベクタ入力判定部81、シミュレーションベースグリッチ解析部82、確率ベースグリッチ解析部83を備える。テストベクタ入力判定部81は、テストベクタ情報入力装置7によってテストベクタ情報が入力されたか否かを判断する。テストベクタ入力判定部81によりテストベクタ情報が入力されたと判断された場合に、シミュレーションベースグリッチ解析部82は、入力されたテストベクタ情報を基に、配線や回路素子等で生ずる伝播遅延等の情報を取り入れて論理回路のシミュレーションを行う。具体的には、図3(a)及び(b)で説明したように、入力パターンと配線や回路素子等で生ずる信号の伝播遅延を基に、図3(b)に示すようなタイムチャートからグリッチの発生頻度が求められ、グリッチが発生する回路素子を決定できる。テストベクタ入力判定部81によりテストベクタ情報が入力されなかったと判断された場合に、確率ベースグリッチ解析部83は、確率計算を用いてグリッチの発生頻度を確率として求め、グリッチが発生する回路素子を決定する。
【0030】
例えば、図4(a)に示すような論理回路があるとする。ANDゲート502の入力(I,I)がとりうる組み合わせは、(0,0)(0,1)(1,0)(1,1)の4通りである。このうち、ANDゲート502の出力Nが0となる組み合わせは、(0,0)(0,1)(1,0)の3通りである。よって、出力Nが0となる確率P(N=0)は、以下のようになる。
【0031】
P(N=0)=P(I=0)P(I=0)+P(I=0)P(I=1)+P(I=1)P(I=0) ・・・・・(3)
同様に、出力Nが1となる確率P(N=1)は、以下のようになる。
【0032】
P(N=1)=P(I=1)P(I=1) ・・・・・(4)
この結果、出力Nが0→1と変化する確率P(N:0→1)は、変化前がN=0である確率と変化後がN=1である確率との積で表される。即ち:
P(N:0→1)=P(N=0)×P(N=1) ・・・・・(5)
である。この方法で、P(N=0)、P(N=1)、P(N:0→1)、P(N:1→0)が求まる。このように、回路素子502〜506の総ての出力信号が変化する確率が求まる。
【0033】
ここで、図4(a)に示す論理回路で、ANDゲート502でグリッチが発生する条件は、(条件1)一方の入力信号Iが0→1と変化し、他方の入力信号Iが1→0と変化し、且つIが0→1と変化した時刻Tより、Iが1→0と変化する時刻Tの方が遅い(T<T)ことと、(条件2)一方の入力信号Iが1→0と変化し、他方の入力信号Iが0→1と変化し、且つIが0→1と変化した時刻Tより、Iが1→0と変化する時刻Tの方が早い(T>T)ことである。図4(b)を参照しつつ、(条件1)の場合においてグリッチが発生する確率P(I:0→1,I:1→0,T<T,N:glitch)を求める。ANDゲート502の入力端αに至る経路はα→インバータ505→αの1通りで、ANDゲート502の入力端βに至る経路は:
α→ORゲート503→β
α→インバータ506→α→ANDゲート504→β→ORゲート503→β
β→ANDゲート504→β→ORゲート503→β
の3通りである。ここで、αからαまでの伝播遅延をΔ(α→α)と表す。同様に、βに至るまでの各経路の伝播遅延をΔ(α→β)、Δ(α→β)、Δ(β→β)と表す。各経路の伝播遅延は、配線や回路素子502〜506等による信号の伝播遅延を基に求めることができる。そしてその結果:
Δ(α→α)>Δ(α→β) ・・・・・(6)
Δ(α→α)<Δ(α→β) ・・・・・(7)
Δ(α→α)<Δ(β→β) ・・・・・(8)
であったとする。この場合、Δ(α→β)はT<Tの条件を満たさないため、Dの信号変化によってはグリッチは発生しない。一方、α→インバータ506→α→ANDゲート504→β→ORゲート503→βはT<Tの条件を満たすため、グリッチが発生する可能性がある。信号Dが0→1と変化することにより、信号Iが1→0と変化するためには、D=0、D=1が条件となる。なぜなら、D=1、又はD=0であれば、信号Dが0→1と変化してもORゲート503の出力信号は変化しないからである。よって、信号Dが0→1と変化することによりIの信号変化を引き起こす確率P(D:0→1,I:1→0)は:
P(D,0→1)×P(D=0)×P(D=1) ・・・・・(9)
となる。更に、信号Dが1→0と信号変化を起こせば、信号Iが0→1と信号変化を起こし、ANDゲート502の出力信号Nでグリッチが発生する。よって、信号DとDの信号変化により出力信号Nで0→1→0のグリッチが発生する確率P(D,D,N:0→1→0)は:
P(D:0→1)×P(D=0)×P(D=1)×P(D:1→0)・・・・・(10)
となる。出力信号Nで1→0→1のグリッチが発生する確率P(D,D,N:1→0→1)も同様に求めることができる。この結果、信号DとDの変化により出力信号Nでグリッチが発生する確率P(D,D,N:glitch)は:
P(D,D,N:glitch)=P(D,D,N:0→1→0)+P(D,D,N:1→0→1) ・・・・・(11)
となる。
【0034】
同様に、信号DとDの信号変化により出力信号Nでグリッチが発生する確率P(D,D,N:glitch)も求めることができる。以上の結果から、(条件1)において出力信号Nにグリッチが発生する確率P(I:0→1,I:1→0,T<T,N:glitch)は、P(D,D,N:glitch)+P(D,D,N:glitch)となる。同様に、(条件2)において出力信号Nにグリッチが発生する確率P(I:1→0,I:0→1,T>T,N:glitch)も求めることができ、最終的に(条件1)と(条件2)における出力信号Nにグリッチが発生する確率を足せば、出力信号Nにグリッチが発生する確率P(N:glitch)を求めることができる。このように、確率ベースグリッチ解析部83でグリッチの発生頻度を確率として求めることができ、グリッチが発生する回路素子を決定することができる。
【0035】
ROM18は、システムを立ち上げる基本入出力システム(BIOS)を格納する。RAM19は、種々の情報、及び演算結果を記憶する。回路情報記憶部2は、入力装置1により入力された回路情報を記憶する。テストベクタ情報記憶部23は、テストベクタ情報入力装置7により入力されたテストベクタを記憶する。タイミング制約情報記憶部14は、タイミング制約入力装置6により入力されたタイミング制約情報を記憶する。グリッチ消費電力記憶部9は、グリッチ消費電力見積部8で算定されたグリッチ消費電力を記憶する。総消費電力記憶部12は、総消費電力見積部11で見積もられた論理回路の総消費電力を記憶する。目標スキュー情報記憶部24は、第1目標スキュー設定部32a又は第2目標スキュー設定部32bで設定された第1又は第2スキューを第1又は第2目標スキューとして記憶する。ラッチ情報記憶部25は、第1ラッチ挿入部33a又は第2ラッチ挿入部33bで挿入された第1又は第2ラッチの位置・数等を記憶する。出力装置17、ホストコンピュータ16は、回路情報記憶部2、テストベクタ情報記憶部23、タイミング制約情報記憶部14、グリッチ消費電力記憶部9、総消費電力記憶部12、目標スキュー情報記憶部24、ラッチ情報記憶部25に記憶されているデータを出力してもよい。
【0036】
次に、第1の実施の形態に係る自動設計方法を図2のフローチャートで説明する。
【0037】
(イ)先ず、ステップS201において、入力装置1により、設計しようとする論理回路の回路情報が入力される。ステップS203において、総消費電力見積部11は、入力装置1により入力された論理回路の総消費電力を算定する。
【0038】
(ロ)ステップS204において、テストベクタ入力判定部81は、テストベクタ情報入力装置7によりテストベクタ情報が入力されたか否かを判断する。テストベクタ情報が入力されている場合は、ステップS205において、シミュレーションベースグリッチ解析部82で、そのテストベクタ情報を基に、配置後の伝播遅延などの情報を取り入れて論理回路のシミュレーションを行い、論理回路中におけるグリッチの発生頻度とグリッチが発生する回路素子を決定する。テストベクタ情報が入力されていない場合は、ステップS206において、確率ベースグリッチ解析部83で確率計算を行い、論理回路中におけるグリッチの発生頻度とグリッチが発生する回路素子を決定する。
【0039】
(ハ)ステップS207において、グリッチ消費電力見積部8で、グリッチ検索部21により検索された論理回路中の回路素子で発生するグリッチの消費電力を算定する。ステップS208において、スキュー算定部22でグリッチが発生する回路素子の入力端にクロックを出力するF/Fのクロックスキューを算定する。ここで算定されるクロックスキューは、グリッチを除去できる値である。
【0040】
(ニ)ステップS209において、ステップS208で算定されたスキューを目標スキューとして設定することでグリッチを削減できるか回路情報解析部31で解析する。ステップS209において目標スキューを設定することでグリッチを削減できると解析された場合は、ステップS210aで、ステップS208で算定されたスキューを設定する。ステップS209において、目標スキューを設定することでグリッチを削減できないと解析された場合は、ステップS210bにおいて、組み合わせ回路部分に第1ラッチ若しくは第1ラッチ群を第1ラッチ挿入部33aで挿入する。
【0041】
(ホ)ステップS211において、ステップS210aで第1目標スキュー設定部32aにより第1目標スキューが設定された後の論理回路、又はステップS210bで第1ラッチ挿入部33aにより第1ラッチが挿入された論理回路に対してクロック配線処理部30によりクロック配線が行われる。ステップS212において、クロック配線された論理回路がタイミング制約入力装置6により入力されたタイミング制約を満たすか否かを検証する。タイミング制約を満たさないと検証された場合、ステップS217において、第2目標スキュー設定部32bでタイミング制約を満たすようにクロック配線上に第2スキューを設定し、又は第2ラッチ挿入部33bでタイミング制約を満たすように回路素子の出力端からの信号伝播経路に第2ラッチを挿入する。ステップS213において、ステップS210aで第1目標スキュー設定部32aにより第1目標スキューが設定された後の論理回路、又はステップS210bで第1ラッチ挿入部33aにより第1ラッチが挿入された論理回路で発生するグリッチの消費電力をグリッチ消費電力見積部8で算定する。タイミング制約を満たさないと検証された場合には、更にステップS217で第2目標スキュー設定部32bにより第2目標スキューが設定された後の論理回路、又は第2ラッチ挿入部33bにより第2ラッチが挿入された論理回路で発生するグリッチの消費電力をグリッチ消費電力見積部8で算定する。ステップS214において、第1又は第2目標スキューが設定された後の論理回路、第1又は第2ラッチが挿入された後の論理回路の総消費電力を、総消費電力見積部11で算定する。
【0042】
(へ)ステップS215において、回路消費電力比較部13は、グリッチ消費電力見積部8で算定されたグリッチ消費電力の増減と、総消費電力見積部11で算定された論理回路の総消費電力の増減を、第1又は第2目標スキューの設定及び第1又は第2ラッチの挿入の前後で比較する。その結果、論理回路全体の消費電力を低減できたと解析された場合は終了する。又はステップS215で論理回路全体の消費電力を低減できなかったと解析された場合は、ステップS216において第1又は第2目標スキューの設定及び第1又は第2ラッチの挿入は行わず終了する。
【0043】
第1の実施の形態によれば、回路情報解析部31で目標スキューを設定することによりグリッチを削減できると解析された場合は、目標スキューの設定によりスキューを調整することでグリッチを削減できるため、グリッチを削減しようとする部分の総てにラッチを挿入する必要はなくなり、ラッチ挿入によりLSI等の半導体チップの面積が拡大するという問題を解決しつつ消費電力の低減を実現することができる。
【0044】
(第2の実施の形態)
第2の実施の形態に係る自動設計システムを図6により説明する。自動設計システムは、入力装置71、タイミング制約入力装置74、CPU500、出力装置60、インターフェイス61、ホストコンピュータ62、共通バス200、読み出し専用メモリ(ROM)180、ランダムアクセスメモリ(RAM)190、データ記憶装置600を備える。データ記憶装置600は、回路情報記憶部65、タイミング制約情報記憶部66、目標スキュー情報記憶部67、スラック値情報記憶部68等のファイルを備える。
【0045】
入力装置71により、例えば、図9(a)に示すようなゲーテッドクロック設計された論理回路の回路情報が入力される。タイミング制約入力装置74により、ゲーテッドクロック設計された論理回路が期待通りの動作をするために満たすべきタイミング制約情報が、入力される。例えば、タイミング制約入力装置74により、クロック周期、クロック周波数、セットアップ・ホールド時間等が入力される。出力装置60は、CPU500で処理等されるデータを出力する。ホストコンピュータ62は、インターフェイス61を介して、出力装置60が出力するデータと同様のデータをハードディスク等に保存し、ホストコンピュータ62に接続されたモニター等に出力する。入力装置71、タイミング制約入力装置74、CPU500、出力装置60、インターフェイス61は、共通バス200を介してデータのやり取りを行う。
【0046】
CPU500は、第1タイミング検証部73、第1クロック配線処理部75、第2タイミング検証部79、スラック値算定部90、目標スキュー設定部76、第2クロック配線処理部77を備える。第1タイミング検証部73は、入力装置71により入力されたゲーテッドクロック設計におけるイネーブル回路が、タイミング制約入力装置74に入力されたタイミング制約を満たすか否かを検証する。例えば、図9(a)に示すように、F/F105〜107からANDゲート101を通ってレジスタ群104に至る回路が、タイミング制約入力装置74に入力されたタイミング制約を満たすか否かを検証する。第1クロック配線処理部75は、入力装置71により入力されたゲーテッドクロック設計された論理回路に対して、クロック配線を行う。例えば、図9(b)に示すゲーテッドクロック設計された論理回路のようにクロックCLKからF/F105〜107及びレジスタ群104a、104bへCTS処理を行い、ANDゲート101を中間クロックバッファとしてクロック配線を行う。第2タイミング検証部79は、第1クロック配線処理部75により配線された後に、タイミング制約入力装置74に入力されたタイミング制約を満たすか否か検証される。例えば、図9(b)に示すゲーテッドクロック設計された論理回路のように、配線150が配線160、170に比し極端に長い場合は、F/F105の出力信号がイネーブル回路103へ遅れて入力され、タイミング制約入力装置74に入力されたタイミング制約を満たさなくなる。第2タイミング検証部79でタイミング制約を満たさないと検証された場合に、スラック値算定部90は、第2タイミング検証部79におけるタイミングを満たさないクリティカルパスのうち最大のスラック値を算定する。例えば、図9(b)に示すゲーテッドクロック設計された論理回路では、F/F105→イネーブル回路103→配線102→ANDゲート101→バッファ112a→レジスタ群104aの経路、又はF/F105→イネーブル回路103→配線102→ANDゲート101→バッファ112b→レジスタ群104bの経路がクリティカルパスとなる。「スラック値」とは、タイミング制約値と実際の回路遅延時間値の差をいう。正のスラック値は、タイミング制約を満たしていることを意味し、負のスラック値は、タイミング制約を満たしていないことを意味する。目標スキュー設定部76は、スラック値算定部90により算定されたスラック値が正となるように目標スキューを設定する。例えば、図9(b)に示すゲーテッドクロック設計された論理回路で、上述のクリティカルパスのスラック値が−δ(<0)であったとする。目標スキュー設定部76は、δに相当する目標スキューをF/F105に設定する。第2クロック配線処理部77は、目標スキューを満たすようにクロック配線処理を行う。この際、バッファの挿入や削除、配線の延長や短絡等によりクロックスキューを調整する。例えば、図9(b)に示すゲーテッドクロック設計された論理回路のように、クリティカルパスのスラック値は−δであり、目標スキュー設定部76によりδに相当する目標スキューを満たすために、δに相当する遅延時間を生じるバッファ111を削除すれば、タイミング制約を満たすことができる。
【0047】
ROM180は、システムを立ち上げる基本入出力システム(BIOS)を格納する。RAM190は、種々の情報、及び演算結果を記憶する。回路情報記憶部65は、入力装置71により入力された回路情報を記憶する。タイミング制約情報記憶部66は、タイミング制約入力装置74により入力されたタイミング制約情報を記憶する。目標スキュー情報記憶部67は、目標スキュー設定部76で設定されたF/Fに対する目標スキューを記憶する。スラック値情報記憶部68は、スラック値算定部90で算定されたクリティカルパスの最大スラック値を記憶する。出力装置60、ホストコンピュータ62は、回路情報記憶部65、タイミング制約情報記憶部66、目標スキュー情報記憶部67、スラック値情報記憶部68に記憶されているデータを出力してもよい。
【0048】
次に、第2の実施の形態に係る自動設計方法を図7のフローチャートで説明する。
【0049】
(イ)先ず、ステップS802において、図9(a)に示すような、論理回路109及びイネーブル回路103を含むゲーテッドクロック設計された論理回路の回路情報を入力装置71により入力する。ステップS804において、入力装置71により入力された論理回路が、タイミング制約入力装置74に入力されたタイミング制約を満たすか否かの検証を第1タイミング検証部73が行う。ステップS804においてタイミング制約の検証を行った結果、タイミング制約を満たすと検証された場合は、ステップS805において、第1クロック配線処理部75は、ゲーテッドクロック設計された論理回路に対し、クロック配線を行う。
【0050】
(ロ)ステップS807において、クロック配線処理された後の論理回路がタイミング制約入力装置74により入力されたタイミング制約を満たすか否かの検証を、第2タイミング検証部79が行う。ステップS807においてタイミングの検証を行った結果、タイミング制約を満たさないと検証された場合は、ステップS808において、タイミングを満たさないクリティカルパスのうち最大のスラック値を、スラック値算定部90が算定する。タイミング制約を満たすか否かの検証を、第2タイミング検証部79が行った結果、タイミングを満たすと検証された場合は終了する。
【0051】
(ハ)ステップS809において、目標スキュー設定部76は、スラック値算定部90で算定したスラック値を目標スキューとして設定する。ステップS810において、第2クロック配線処理部77は、目標スキューを満たすようにクロック配線処理を行う。そして、再びステップS807に戻り、タイミング制約を満たすか否かの検証を、第2タイミング検証部79が行う。
【0052】
(ニ)ステップS804において、タイミング制約を満たすか否かの検証を第1タイミング検証部73が行った結果、タイミング制約を満たさないと検証された場合は、ステップ803においてタイミング制約を満たすようにゲーテッドクロック設計された論理回路の設計変更をする。タイミング制約を満たすようにするためには、論理回路構造を変更したり、回路素子の配置を換えたりしてもよい。
【0053】
第2の実施の形態によれば、クロック配線処理の段階でゲーテッドクロック設計により供給されるクロックを目標スキューに従って調整して、タイミング制約を満たすことができるため、論理設計段階にまで戻ってレジスタにゲーテッドクロック設計を用いないよう論理設計の変更を行い、再度レイアウト処理を実行する必要がなくなり、設計期間を短縮して消費電力の低減を実現することができる。
【0054】
【発明の効果】
本発明によれば、LSI等の半導体チップの面積の拡大を防ぎ、又設計期間を短縮しつつ、効率よく消費電力を低減できる自動設計システム、及び自動設計方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る自動設計システムの概略を示す図である。
【図2】本発明の第1の実施の形態に係る自動設計方法を説明するためのフローチャートである。
【図3】(a)は、論理回路でグリッチが発生することを示す回路図である。(b)は、論理回路でグリッチが発生することを示すタイムチャートである。
【図4】(a)は、グリッチの発生頻度を確率として求める手法を説明するための回路図である。(b)は、論理回路でグリッチが発生することを示すタイムチャートである。
【図5】(a)は、目標スキューを設定することによりグリッチを削減できない論理回路を示す回路図である。(b)は、目標スキューを設定することによりグリッチを削減できないことを示すタイムチャートである。
【図6】本発明の第2の実施の形態に係る自動設計システムの概略を示す図である。
【図7】本発明の第2の実施の形態に係る自動設計方法を説明するためのフローチャートである。
【図8】従来の自動設計方法を説明するためのフローチャートである。
【図9】(a)は、ゲーテッドクロック設計の概略を示す図である。(b)は、目標スキューを設定したゲーテッドクロック設計の概略を示す図である。
【図10】CTS処理を示す図である。
【符号の説明】
1,71 入力装置
2,65 回路情報記憶部
5 タイミング検証部
6 タイミング制約入力装置
7 テストベクタ情報入力装置
8 グリッチ消費電力見積部
9 グリッチ消費電力記憶部
10,600 データ記憶装置
11 総消費電力見積部
12 総消費電力記憶部
13 回路消費電力比較部
14,66 タイミング制約情報記憶部
15,61 インターフェイス
16,62 ホストコンピュータ
17,60 出力装置
18,180 ROM
19,190 RAM
20,200 共通バス
100,500 CPU
21 グリッチ検索部
22 スキュー算定部
23 テストベクタ情報記憶部
24,67 目標スキュー情報記憶部
25 ラッチ情報記憶部
30 クロック配線処理部
31 回路情報解析部
32a 第1目標スキュー設定部
32b 第2目標スキュー設定部
33a 第1ラッチ挿入部
33b 第2ラッチ挿入部
68 スラック値情報記憶部
73 第1タイミング検証部
74 タイミング制約入力装置
75 第1クロック配線処理部
76 目標スキュー設定部
77 第2クロック配線処理部
79 第2タイミング検証部
81 テストベクタ入力判定部
82 シミュレーションベースグリッチ解析部
83 確率ベースグリッチ解析部
90 スラック値算定部

Claims (12)

  1. LSIのパターンレイアウトに用いる論理回路の回路情報を入力する入力装置と、
    前記論理回路上においてグリッチが発生する回路素子を検索するグリッチ検索部と、
    前記回路素子の入力端へ信号を出力するフリップフロップ(F/F)のクロック入力端に入力されるクロック信号のスキューを算定するスキュー算定部と、
    前記スキューを第1目標スキューとして設定することにより、前記グリッチを削減できるか否かを解析する回路情報解析部と、
    前記グリッチを削減できると解析された場合に、前記第1目標スキューを設定する第1目標スキュー設定部と、
    前記グリッチを削減できないと解析された場合に、前記回路素子の出力端からの信号伝播経路に、第1ラッチを挿入する第1ラッチ挿入部
    とを備えることを特徴とする自動設計システム。
  2. 前記第1目標スキューを設定し、又は前記第1ラッチを挿入した前記論理回路に、半導体チップ領域上にクロック配線を行うクロック配線処理部と、
    前記クロック配線後に、前記論理回路が正常に動作するためのタイミング制約を満たすか否かを検証するタイミング検証部と、
    前記タイミング制約を満たさないと検証された場合に、前記タイミングを満たすように第2目標スキューを設定する第2目標スキュー設定部
    とを更に備えることを特徴とする請求項1に記載の自動設計システム。
  3. 前記第1目標スキューを設定し、又は前記第1ラッチを挿入した前記論理回路に、半導体チップ領域上にクロック配線を行うクロック配線処理部と、
    前記クロック配線後に、前記論理回路が正常に動作するためのタイミング制約を満たすか否かを検証するタイミング検証部と、
    前記タイミング制約を満たさないと検証された場合に、前記タイミングを満たすように第2ラッチを挿入する第2ラッチ挿入部
    とを更に備えることを特徴とする請求項1に記載の自動設計システム。
  4. 前記第1又は第2目標スキューの設定前後で、前記論理回路中のグリッチ消費電力を見積もるグリッチ消費電力見積部と、
    前記第1又は第2目標スキューの設定前後で、前記クロック配線、及び前記回路素子の総消費電力を見積もる総消費電力見積部と、
    前記グリッチ消費電力の増減と、前記総消費電力の増減を比較する回路消費電力比較部
    とを更に備えることを特徴とする請求項1乃至3の何れか1項に記載の自動設計システム。
  5. LSIのパターンレイアウトに用いるゲーテッドクロック設計された論理回路の回路情報を入力する入力装置と、
    前記論理回路が正常に動作するためのタイミング制約を満たすか否かの検証を行う第1タイミング検証部と、
    前記ゲーテッドクロック設計された半導体チップ領域上の論理回路に対し、第1クロック配線をする第1クロック配線処理部と、
    前記第1クロック配線処理された後に、前記論理回路が前記タイミング制約を満たすか否かの検証を行う第2タイミング検証部と、
    前記第2タイミング検証部で前記タイミング制約を満たさないと検証された場合、前記タイミングを満たさないクリティカルパスのうち最大のスラック値を算定するスラック値算定部と、
    前記スラック値が正となるように目標スキューを設定する目標スキュー設定部
    とを備えることを特徴とする自動設計システム。
  6. 前記目標スキューの設定後に、前記目標スキューを満たすように第2クロック配線処理を行う第2クロック配線処理部を更に備えることを特徴とする請求項5に記載の自動設計システム。
  7. LSIのパターンレイアウトに用いる論理回路の回路情報を入力するステップと、
    前記論理回路上においてグリッチが発生する回路素子を検索するステップと、
    前記回路素子の入力端へ信号を出力するF/Fのクロック入力端に入力されるクロック信号のスキューを算定するステップと、
    前記スキューを第1目標スキューとして設定することにより、前記グリッチを削減できるか否かを解析するステップと、
    前記グリッチを削減できると解析された場合に、前記第1目標スキューを設定するステップと、
    前記グリッチを削減できないと解析された場合に、前記回路素子の出力端からの信号伝播経路に、第1ラッチを挿入するステップ
    とを備えることを特徴とするコンピュータを用いた自動設計方法。
  8. 前記第1目標スキューを設定し、又は前記第1ラッチを挿入した前記論理回路に、半導体チップ領域上にクロック配線を行うステップと、
    前記クロック配線後に、前記論理回路が正常に動作するためのタイミング制約を満たすか否かを検証するステップと、
    前記タイミング制約を満たさないと検証された場合に、前記タイミングを満たすように第2目標スキューを設定するステップ
    とを更に備えることを特徴とする請求項7に記載の自動設計方法。
  9. 前記第1目標スキューを設定し、又は前記第1ラッチを挿入した前記論理回路に、半導体チップ領域上にクロック配線を行うステップと、
    前記クロック配線後に、前記論理回路が正常に動作するためのタイミング制約を満たすか否かを検証するステップと、
    前記タイミング制約を満たさないと検証された場合に、前記タイミングを満たすように第2ラッチを挿入するステップ
    とを更に備えることを特徴とする請求項7に記載の自動設計方法。
  10. 前記目標スキューの設定前後で、前記論理回路のグリッチ消費電力を見積もるステップと、
    前記目標スキューの設定前後で、配線や回路素子の総消費電力を見積もるステップと、
    前記グリッチ消費電力の増減と、前記総消費電力の増減を比較するステップ
    とを更に備えることを特徴とする請求項7乃至9の何れか1項に記載の自動設計方法。
  11. LSIのパターンレイアウトに用いるゲーテッドクロック設計された論理回路の回路情報を入力するステップと、
    前記論理回路が正常に動作するためのタイミング制約を満たすか否かの検証を行うステップと、
    前記ゲーテッドクロック設計された半導体チップ領域上の論理回路に対し、第1クロック配線をするステップと、
    前記第1クロック配線処理された後に、前記論理回路が前記タイミング制約を満たすか否かの検証を行うステップと、
    前記第1クロック配線処理された後の論理回路が前記タイミング制約を満たさないと検証された場合、前記タイミングを満たさないクリティカルパスのうち最大のスラック値を算定するステップと、
    前記スラック値が正となるように目標スキューを設定するステップ
    とを備えることを特徴とするコンピュータを用いた自動設計方法。
  12. 前記目標スキューの設定後に、前記目標スキューを満たすように第2クロック配線処理を行うステップを更に備えることを特徴とする請求項11に記載の自動設計方法。
JP2002297793A 2002-10-10 2002-10-10 自動設計システム、及び自動設計方法 Expired - Fee Related JP3990250B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002297793A JP3990250B2 (ja) 2002-10-10 2002-10-10 自動設計システム、及び自動設計方法
US10/681,640 US6915497B2 (en) 2002-10-10 2003-10-08 Automatic design system for wiring on LSI

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002297793A JP3990250B2 (ja) 2002-10-10 2002-10-10 自動設計システム、及び自動設計方法

Publications (2)

Publication Number Publication Date
JP2004133702A true JP2004133702A (ja) 2004-04-30
JP3990250B2 JP3990250B2 (ja) 2007-10-10

Family

ID=32287404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002297793A Expired - Fee Related JP3990250B2 (ja) 2002-10-10 2002-10-10 自動設計システム、及び自動設計方法

Country Status (2)

Country Link
US (1) US6915497B2 (ja)
JP (1) JP3990250B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007037017A1 (ja) * 2005-09-29 2007-04-05 Fujitsu Limited 消費電力解析方法及び消費電力解析装置
WO2020129119A1 (ja) * 2018-12-17 2020-06-25 三菱電機株式会社 回路設計支援システムおよび回路設計支援プログラム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
JP4017583B2 (ja) * 2003-10-16 2007-12-05 松下電器産業株式会社 半導体集積回路の設計データの回路表示方法
US20060080076A1 (en) * 2004-10-12 2006-04-13 Nec Laboratories America, Inc. System-level power estimation using heteregeneous power models
DE102004049745A1 (de) * 2004-10-13 2006-04-27 Infineon Technologies Ag Verfahren zum rechnergestützten Ermitteln einer Taktbaumstruktur sowie integrierte Halbleiterschaltung
US7409659B2 (en) * 2004-11-12 2008-08-05 Agere Systems Inc. System and method for suppressing crosstalk glitch in digital circuits
US7308381B2 (en) * 2005-08-31 2007-12-11 Matsushita Electric Industrial Co., Ltd. Timing verification method for semiconductor integrated circuit
WO2009037738A1 (ja) * 2007-09-18 2009-03-26 Fujitsu Limited 引出し配線方法、引出し配線プログラムおよび引出し配線装置
US20130290693A1 (en) * 2012-04-27 2013-10-31 Esencia Technologies Inc. Method and Apparatus for the Automatic Generation of RTL from an Untimed C or C++ Description as a Fine-Grained Specialization of a Micro-processor Soft Core
US10169523B2 (en) * 2015-08-27 2019-01-01 International Business Machines Corporation Timing constraints formulation for highly replicated design modules
JP2017126194A (ja) * 2016-01-14 2017-07-20 富士通株式会社 プログラマブルロジックデバイスの設計プログラム、プログラマブルロジックデバイス設計装置、及びその方法
JP2020149312A (ja) 2019-03-13 2020-09-17 株式会社東芝 回路設計支援方法、及び回路設計支援プログラム
CN111177997B (zh) * 2019-12-27 2022-07-12 广东高云半导体科技股份有限公司 基于时钟频率的布局布线控制方法及装置、系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5648913A (en) * 1993-03-29 1997-07-15 Xilinx, Inc. Frequency driven layout system and method for field programmable gate arrays
US5507029A (en) * 1995-01-11 1996-04-09 International Business Machines Corporation Method for minimizing the time skew of electrical signals in very large scale integrated circuits
JP3357813B2 (ja) 1997-04-01 2002-12-16 株式会社東芝 ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
US6272667B1 (en) 1997-10-09 2001-08-07 Kabushiki Kaisha Toshiba Method and apparatus for clock gated logic circuits to reduce electric power consumption
US6698006B1 (en) * 2001-12-14 2004-02-24 Sequence Design, Inc. Method for balanced-delay clock tree insertion

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007037017A1 (ja) * 2005-09-29 2007-04-05 Fujitsu Limited 消費電力解析方法及び消費電力解析装置
JPWO2007037017A1 (ja) * 2005-09-29 2009-04-02 富士通株式会社 消費電力解析方法及び消費電力解析装置
US7900172B2 (en) 2005-09-29 2011-03-01 Fujitsu Limited Method and apparatus for analyzing power consumption
JP4667466B2 (ja) * 2005-09-29 2011-04-13 富士通株式会社 消費電力解析方法及び消費電力解析装置
WO2020129119A1 (ja) * 2018-12-17 2020-06-25 三菱電機株式会社 回路設計支援システムおよび回路設計支援プログラム
JPWO2020129119A1 (ja) * 2018-12-17 2021-03-11 三菱電機株式会社 回路設計支援システムおよび回路設計支援プログラム

Also Published As

Publication number Publication date
US20040133867A1 (en) 2004-07-08
JP3990250B2 (ja) 2007-10-10
US6915497B2 (en) 2005-07-05

Similar Documents

Publication Publication Date Title
US8446224B2 (en) Network of tightly coupled performance monitors for determining the maximum frequency of operation of a semiconductor IC
US8584065B2 (en) Method and apparatus for designing an integrated circuit
JP3990250B2 (ja) 自動設計システム、及び自動設計方法
JP4540540B2 (ja) 遅延計算装置
US6795951B2 (en) Method and system for fault-tolerant static timing analysis
US8238190B2 (en) Clock-gated model transformation for asynchronous testing of logic targeted for free-running, data-gated logic
US20210382518A1 (en) Timing error detection and correction circuit
US7870528B2 (en) Method and system for unfolding/replicating logic paths to facilitate modeling of metastable value propagation
US8607186B2 (en) Automatic verification of merged mode constraints for electronic circuits
US7885801B2 (en) Modeling asynchronous behavior from primary inputs and latches
US8627262B2 (en) Automatic generation of merged mode constraints for electronic circuits
US20080028357A1 (en) Method of automatic generation of micro clock gating for reducing power consumption
US9449127B1 (en) System for verifying timing constraints of IC design
Oklobdzija Clocking in multi-GHz environment
JP6833140B2 (ja) 回路設計支援システムおよび回路設計支援プログラム
US9489478B2 (en) Simplifying modes of an electronic circuit by reducing constraints
Nishizawa et al. libretto: An open cell timing characterizer for open source vlsi design
Jiang et al. AOS: An automated overclocking system for high performance CNN accelerator through timing delay measurement on FPGA
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
Semião et al. Time management for low-power design of digital systems
Dobai et al. Deductive fault simulation for asynchronous sequential circuits
JP2000286342A (ja) コンピュータ読み取り可能な記憶媒体、半導体集積回路の設計方法、ならびに半導体装置の設計方法
US20120253712A1 (en) Power consumption calculation method, power consumption calculation apparatus, and non-transitory computer-readble medium storing power consumption calculation program
Semião et al. Delay-fault tolerance to power supply voltage disturbances analysis in nanometer technologies
Schlichtmann Novel approaches to circuit timing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070607

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070710

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070719

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees