JP4955484B2 - 回路設計装置、回路設計方法、及び、回路設計プログラム - Google Patents

回路設計装置、回路設計方法、及び、回路設計プログラム Download PDF

Info

Publication number
JP4955484B2
JP4955484B2 JP2007218308A JP2007218308A JP4955484B2 JP 4955484 B2 JP4955484 B2 JP 4955484B2 JP 2007218308 A JP2007218308 A JP 2007218308A JP 2007218308 A JP2007218308 A JP 2007218308A JP 4955484 B2 JP4955484 B2 JP 4955484B2
Authority
JP
Japan
Prior art keywords
circuit
hardware description
clock
clock supply
supply stop
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007218308A
Other languages
English (en)
Other versions
JP2009053812A (ja
Inventor
泰輝 荒谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2007218308A priority Critical patent/JP4955484B2/ja
Priority to US12/222,368 priority patent/US8042074B2/en
Publication of JP2009053812A publication Critical patent/JP2009053812A/ja
Application granted granted Critical
Publication of JP4955484B2 publication Critical patent/JP4955484B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/35Delay-insensitive circuit design, e.g. asynchronous or self-timed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

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

Description

本発明は、システムLSI(Large Scale Integration)の設計に関し、クロック供給を停止させる回路設計装置、回路設計方法、及び、回路設計プログラムに関する。
従来、LSI全体に対するクロックの供給は一元的にされており、LSIに対しては人手によってクロック供給停止回路が挿入されていた。近年、LSIの大規模化が進み、従来のLSIが1つの部品的要素であるマクロブロックとして扱われるようになった。このため、LSIに挿入されるクロック供給停止回路は、数多くのマクロブロックを制御する必要があり、多様化、煩雑化が進んできた。
一方、LSIの内部において、動作していないフリップフロップ(以降、F/Fと記す)に対してクロック供給停止回路を挿入することが知られている。このクロック供給停止回路の挿入は、人手により個々のF/Fが動作しない期間を抽出し、この抽出結果に基づいて、行われる。このクロック供給停止回路の挿入は、多大な時間がかかる。また、上記のクロック供給停止回路の挿入方法では、係るクロック供給停止回路の抽出や挿入のミスが発生する確率が高い。そのため、これにより開発期間の長期化やコストの上昇を招くという問題があった。
このような問題を解決する為に、クロック供給停止回路を自動挿入する方法、及び、その新たな回路構成が必要となり、例えば、特許文献1から特許文献3の技術が開示されている。
例えば、特許文献1には、ハードウェア記述からステートマシンを構成するレジスタ及びステートマシンがアイドル状態以外の時のみ動作するレジスタを検出する工程と、検出したレジスタにゲーテッドクロックを供給するゲーテッドクロック供給回路を生成し、ハードウェア記述にゲーテッドクロック供給回路を反映させる工程を有する論理回路設計方法および装置が開示されている。これは、ステートマシンがアイドル状態のときにクロックを停止させるクロック供給停止回路を挿入する手法である。
図17は、特許文献1に開示された論理回路設計装置の一実施形態の概略的構成図である。図17に示す論理回路設計装置は、レジスタ検出条件を入力する手段10pと、ハードウェア記述(HDLソース)からステートマシンを構成するレジスタを検出する手段20pと、ステートマシンのアイドル状態を検出する手段30pと、ステートマシンがアイドル状態以外の時のみ動作するレジスタを検出する手段40pと、検出したレジスタにゲーテッドクロックを供給するゲーテッドクロック供給回路を生成する手段50pと、生成したゲーテッドクロック供給回路を反映させたハードウェア記述を生成する手段60pを備える。
図18は、図17に示す論理回路設計装置により生成されるゲーテットクロック供給回路を示す回路図である。図18において、回路ブロック1(アイドル状態判定)70pは、ステートマシンのアイドル状態を検出し、クロック供給停止回路のイネーブル信号IDL_ENを生成する。回路ブロック2(FF)80p及び回路ブロック3(AND)90pは、ステートマシンを構成する回路ブロック4(CURRENT_STATEレジスタC)100pに対してのみ、クロック供給停止回路を自動挿入する。
特許文献2には、イネーブル信号がイネーブル状態の時に内容がクロック信号に同期して更新される第1のF/F(フリップフロップ)を、クロック信号がイネーブル信号に基づいてゲーテッドクロック化された第2のF/Fに変更する回路設計方法及び回路設計装置が開示されている。これは、F/Fがディスエーブル状態のときにクロック供給停止回路を挿入する手法である。
図19は、特許文献2に開示された回路設計装置の構成を示す図である。図19に示す回路設計装置は、次の回路設計方法を実現する。回路設計方法は、ハードウェア記述を解析してF/Fの動作条件を求め、イネーブル信号を抽出するステップ(2p)と、イネーブル信号とF/Fの対応関係を表すハードウェア記述に変更するステップ(3p)と、変更されたRTL記述とテストベクトルを入力し、回路のシミュレーションをするステップ(5p)と、シミュレーション結果からイネーブル状態となる比率のアクティブ率を求めるステップと、アクティブ率に基づいてゲーテッドクロック化されたF/Fに変更するステップ(7p)とを有し、その結果をハードウェア記述として出力する(ステップ8p)
図20は、図19に示す回路設計装置によってゲーテットクロック化した構成を示す図である。図20により、特許文献2により生成されたクロック供給停止回路挿入後のハードウェア記述による論理回路について説明する。図20において、ラッチ回路103pの入力となっているenは、F/F102pが動作しているときにHighになり、動作していないときにLowとなる信号である。ラッチ回路103p及びANDゲート104pによりイネーブル付きのF/F102pに対してのみ、クロック供給停止回路を自動挿入する。また、関連技術として、クロック信号制御方式、特に伝搬速度の速いフリップ・フロップ回路群が使用されている電子計算機において、クロック信号とリセット信号とが同時に上記フリップ・フロップ回路に入力したとき、その出力が不定となることを避けるため、クロック信号の入力を一時的に停止させた状態の下でリセットを掛け、上記フリップ・フロップ回路群を完全にリセット状態にするようにしたクロック信号制御方式が開示されている(特許文献3)。
特開2003−330988号公報 特開2002−92065号公報 特開昭57−108911号公報
しかしながら、特許文献1の技術は、ステートマシンを構成するF/Fに対してのみクロック供給停止回路を挿入する方法である。また、特許文献2の技術は、イネーブル付きのF/Fに対してのみクロック供給停止回路を挿入する方法である。このため、上記特許文献1および2の技術は、ステートマシンを構成するF/Fおよびイネーブル付きのF/F以外の他のF/Fに対してクロック供給停止回路を挿入することができない。
F/Fは、設定値を保持しておく回路や、データを数クロック分遅らせる回路等にも用いられる。従って、F/Fは、ステートマシンを構成する回路に用いられるものや、イネーブル付きのF/Fに限られるものではない。また、各種回路には、リセット時には動作をしないF/Fが多用されている。このため、特許文献1及び特許文献2に開示された技術では、クロック供給停止回路を挿入する対象のF/Fとして抽出されないF/Fが多数存在する。特許文献1および特許文献2の技術では抽出することができないF/Fはリセット時には動作しないF/Fである。
このように、従来の技術は、所定の制御信号を受けるF/Fに対してクロック供給停止回路を自動で挿入することができなかった。
本発明に係る回路設計装置の一態様は、回路を記述した第1ハードウェア記述に含まれるフリップフロップから第1クロックおよび制御信号を受信するフリップフロップを抽出するとともに、前記抽出したフリップフロップが受信するクロックを第2クロックに変更した第2ハードウェア記述を生成し、この第2ハードウェア記述に対して、前記第1クロックおよび前記制御信号に基づき前記第2クロックの供給を停止する制御回路を挿入した第3ハードウェア記述を生成するプロセッサを有することを特徴とする。
本発明によれば、同一のクロック及び制御信号を受信するフリップフロップを抽出して、抽出されたフリップフロップへのクロック供給を制御する制御回路を自動挿入することが可能となる。これにより、論理回路が消費する電力の低減を図ることができる。また、論理回路の設計作業の効率化を図ることが可能となる。
以下、本発明の実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付し、その説明は省略する。
(実施形態1)
実施形態1では、ハードウェア記述に含まれるF/Fをグループ化し、グループ毎にクロック供給停止回路を挿入する回路設計を行う一態様を説明する。
図1は、本発明の実施形態1に係る回路設計装置の概念を示した図である。回路設計装置1は、基本ハードウェア記述11及びF/F情報テーブル12情報テーブル12が有する情報を取得する。回路設計装置1は、処理を行う構成要素として、グループ化手段21とクロック供給停止回路自動挿入手段(以下、「挿入手段」という)22とを備える。また、回路設計装置1は、グループテーブル(Groupテーブル)13とクロック供給停止回路挿入後のハードウェア記述(以下、「修正後ハードウェア記述」という)14とを生成し、生成した修正後ハードウェア記述14を出力する。
基本ハードウェア記述11は、クロック供給停止回路を含まない論理回路のハードウェア記述である。
F/F情報テーブル12は、基本ハードウェア記述11に含まれる各F/Fの名、リセット名、F/Fがリセットされるときの論理(リセットアクティブ情報)をまとめた情報テーブルである。例えば、図5の回路を記述した基本ハードウェア記述に含まれる各F/Fの情報をまとめたF/F情報テーブル12は、図7となる。リセットアクティブ情報は、Hi又はLowで表される。本明細書では、クロック名、リセット名、及びリセットアクティブ情報をまとめて「リセット情報」という。F/F情報テーブル12は、基本ハードウェア記述11に基づいて、一般的に知られる手法を用いて得ることができる。例えば、F/F情報テーブル12は、EDAツールであるConformal−ASICが基本ハードウェア記述11を解析することにより得ることができる。F/F情報テーブル12は、「Clock/Reset/Reset Activeテーブル」ともいう。
グループテーブル13は、F/F情報テーブル12が保持するそれぞれのF/Fを、クロック名、リセット名、リセットアクティブ情報が同一であるF/Fごとにグループ化したグループ情報テーブルである。図8は、本実施の形態を説明するために用いるグループテーブル13の一例である。図8では、図7に示した各F/Fが、同一のクロック、リセット名、リセットアクティブ情報を有する4つのグループに分類されている。グループテーブル13は、挿入手段22がクロック供給停止回路を自動挿入する際に、最小規模のクロック供給停止回路を挿入するために用いられる。
修正後ハードウェア記述14は、基本ハードウェア記述11へ、クロック供給停止回路を自動挿入したハードウェア記述である。
グループ化手段21は、F/F情報テーブル12から各F/Fの名、リセット名、F/Fがリセットされるときの論理、すなわちリセット情報を取得するとともに、基本ハードウェア記述11に含まれる各F/Fをクロック名、リセット名、及びリセットアクティブ情報が同一であるF/Fごとに分類するための手段である。グループ化手段21は、リセット情報が同一であるF/Fをグループ化したグループ情報をグループテーブル13として出力する。グループ化手段21は、リセット情報が同じF/F名と、F/Fに共通するリセット情報(具体的には、クロック名、リセット名、リセットアクティブ情報)とを対応させたグループ情報をグループテーブル13へ保存する。
挿入手段22は、基本ハードウェア記述11及びグループ化手段21が作成したグループテーブル13が有する情報を取得するとともに、グループテーブル13が保存しているグループ毎に、基本ハードウェア記述11に、クロック供給停止回路を自動挿入する。本明細書では、クロック供給停止回路は、イネーブル時にクロック供給を停止するように動作する回路であり、イネーブル又はディスエーブル時にヒゲが出ない回路である。
なお、回路設計装置1は、図1には明示していないが、基本ハードウェア記述11及びF/F情報テーブル12を記憶する記憶領域を備える。また、回路設計装置1は、生成するグループテーブル13及び修正後ハードウェア記述14を記憶する記憶領域を備える。例えば、基本ハードウェア記述11を第1記憶領域、F/F情報テーブル12を第2記憶領域、グループテーブル13を第3記憶領域、修正後ハードウェア記述14を第4記憶領域へ記憶するようにしてもよい。また、グループ化手段21及び挿入手段22を制御部8という。制御部8は、ハードウェア、ファームウェア、ソフトウェアの少なくとも二つの組み合わせで構成されてもよいし、ハードウェア、ファームウェア、ソフトウェアのいずれか一つで構成されてもよい。ソフトウェアで実現される部分については、プログラムがメモリにロードされ、CPUにより各命令が実行されることになる。従って、回路とソフトウェア(CPUによる命令の実行)の組み合わせによって実現することも可能である。以下では、グループ化手段21と挿入手段22をプログラムで実現する場合について説明する。
図2は、本実施の形態に係る回路設計装置1の構成例を示す。図2の回路設計装置9は、メモリ2、CPU(Central Processing Unit)3、ワークメモリ4、バス5、及び入出力ポート(I/O)6を備える。
メモリ2は、データ記憶領域10とプログラム記憶領域20とを備える。データ記憶領域10は、少なくとも、入出力ポート6を介して入力される基本ハードウェア記述11とF/F情報テーブル12、及び、回路設計装置9が生成するグループテーブル13と修正後ハードウェア記述14を記憶する領域を備える。プログラム記憶領域20は、少なくとも、グループ化手段21と挿入手段22とを記憶する領域を備える。図2は、データ記憶領域10及びプログラム記憶領域20に備える記憶領域の一例を示したものであり、これら以外の記憶領域を備えることもある。
CPU3は、回路設計装置9が実行する処理を制御する。ワークメモリ4は、CPUが実行するプログラムやデータを一時的に記憶する領域であり、例えば、RAM(Random Access Memory)などの揮発性メモリが用いられる。回路設計装置9内の各構成要素は、バス5を介してデータをやり取りする。
入出力ポート6は、例えば、基本ハードウェア記述11、F/F情報テーブル12を受信し、バス5を介してこれら基本ハードウェア記述11、F/F情報テーブル12をデータ記憶領域10へ出力する。また、入出力ポート6は、例えば、挿入手段22が生成した修正後ハードウェア記述14を外部へ出力する。入出力ポート6の詳細説明はここでは省略する。なお、図2の構成は一例であり、回路設計装置1は、図2の構成に限定されるものではない。以下で説明する機能を実現する回路設計装置であれば、他の構成であってもかまわない。さらに、本明細書では、基本ハードウェア記述11と修正後ハードウェア記述14とを区別して表している。しかしながら、基本ハードウェア記述11へ、クロック供給停止回路を挿入して上書きするような場合であってもよい。このように、二つのハードウェア記述の記憶領域が共通する場合であってもよい。
続いて、図2乃至図5、図7、図8を用いて、本実施形態の回路設計装置がクロック供給停止回路を自動挿入する動作の一例を説明する。なお、以下の説明では、図5の回路が記載された基本ハードウェア記述11を用いて、本実施の形態の具体的な動作の一例を説明するが、図5以外の回路が記載された基本ハードウェア記述に対しても本実施の形態は適用できる。
まず、CPU3はバス5を介してメモリ2のプログラム記憶領域20にアクセスし、グループ化手段21をメモリ2のプログラム記憶領域20からワークメモリ4へ読み出して実行する。CPU3は実行したグループ化手段に基づき、バス5を介してメモリ2のデータ記憶領域10にアクセスする。そしてCPU3は、データ記憶領域10内のF/F情報テーブル12から、基本ハードウェア記述11に含まれるF/Fの数を取得する(S31)。F/F情報テーブル12は、ここでは、図5の回路を記述した基本ハードウェア記述に含まれる各F/Fのリセット情報を有する。つまり、F/F情報テーブル12は、図7に示すリセット情報を有する。従って、例えば、データ記憶領域10が図7に示すF/F情報テーブル12を記憶している場合、CPU3は当該F/F情報テーブル12からF/Fの数として8を取得する。その後、CPU3は、処理を行う各F/F(以降、処理対象となるF/Fを「処理対象F/F」という)について、ステップS32からステップS36までの処理を、取得したF/Fの数、繰り返す。図3では、処理対象F/Fは、F/F情報テーブルからi番目に読み出されるF/Fである。
CPU3は、F/F情報テーブル12から処理対象F/Fのリセット情報(クロック名、リセット名、リセットアクティブ情報)を読み出す(S32)。例えば、図7を参照して、CPU3が第1番目の処理対象F/Fの情報をメモリ2のデータ記憶領域10に格納されているF/F情報テーブル12から読み出す場合、クロック名としてCLK1、リセット名としてRSTB、リセットアクティブ情報としてLow、という三種類の情報を読み出す。次に、CPU3は、バス5を介してメモリ2のデータ記憶領域内にあるグループテーブル13にアクセスする。そしてCPU3はこのグループテーブル13からグループ情報を読み出す(S33)。CPU3は、複数のグループ情報が保存されている場合、係るグループテーブル13から、グループ全部のグループ情報を読み出す。
CPU3は、F/F情報テーブル12から読み出した一のF/Fにおける(例えば第1番目)リセット情報と、グループテーブル13からのグループ情報とを比較する(S34)。すなわち、CPU3は、処理対象である一のF/Fのクロック名、リセット名、リセットアクティブ情報と、グループテーブル13が有するクロック名、リセット名、リセットアクティブ情報とを比較する。そしてCPU3は、一つのF/Fのリセット情報が既にグループテーブル13に保存されている場合(S34でYES)には、バス5を介してメモリ2のデータ記憶領域10にアクセスし、係る一のF/Fに対するリセット情報と一致するグループテーブル13内のグループ情報に、処理対象F/Fの名称(F/F名)を保存する(S36)。CPU3は、処理対象である一のF/Fのリセット情報がグループテーブル13が有するグループ情報に保存されてない場合(S34でNO)、同様にメモリ2のデータ記憶領域10へアクセスし、処理対象である一のF/Fのリセット情報に含まれるクロック名、リセット名、リセットアクティブ情報をグループテーブル13に新規に保存する(S35)。その後、CPU3は、新規に保存した当該グループ情報に処理対象F/FのF/F名を保存する(S36)。CPU3は、処理対象F/Fが他に存在する場合は、S32からの処理を繰り返す(S37)。
例えば図7における第1番目のF/Fに対してCPU3がS32からS36までの処理を行った場合には、図7における第2番目のF/Fに対して再びS32からS36の処理を実行する。この例では、CPU3は、S31において、図7にF/F情報テーブルからF/Fの数として8を取得している。従って、CPU3は、S32からS36までの処理を合計8回繰り返すことになる。また、この例において、CPU3は図8に示したグループテーブル13を作成する。CPU3はこのグループテーブル13を中間データとして保持するようにしてもよい。
次に、CPU3は、バス5を介してメモリ2にアクセスし、メモリ2のプログラム記憶領域20に格納されている挿入手段22をワークメモリ4へ読み出して実行する。CPU3は実行した挿入手段22に基づいて、クロック供給停止回路を基本ハードウェア記述11へ挿入する。前述した通り、一例として、図5の回路を記載した基本ハードウェア記述11を用いてCPU3が図5の回路にクロック供給停止回路を挿入する動作を説明する。以下、図2、図4ないし図8を用いて、係る動作を説明する。
まずCPU3は、実行した挿入手段22に基づいて、グループテーブル13からグループ数として4を取得する(S41)。CPU3は、ステップS42からS46までの処理を取得したグループ数の回数繰り返す。以降の説明では、ステップS42からステップS46の各ステップで処理するi番目のグループ情報(Group[i])を処理対象グループ情報とする。
CPU3は、グループテーブル13から、処理対象である一のグループに含まれるF/Fの数を取得する(S42)。例えば処理対象のグループが図8におけるグループ1であれば、CPU3は2の値を取得する。図8におけるグループ1は図5におけるF/F1とF/F2の二つを含むからである。そして、CPU3は、バス5を介してメモリ2のデータ記憶領域10にアクセスし、基本ハードウェア記述11を取得する(S43)。そしてCPU3は、取得した基本ハードウェア記述11の内、処理対象となるグループに含まれる各F/Fが受信するクロックの名称を別名に変更(リネーム)する(S43)。例えば、図8のグループテーブル13におけるグループ1が処理対象グループである場合、CPU3は、基本ハードウェア記述11に含まれる各F/Fであってグループ1にも含まれる各F/Fが受信するクロックのそれぞれの名称をCLK1からCLK1_G1にリネームする。そして、CPU3は、上記の各F/Fが受信するクロックの名称をCLK1からCLK_G1に変更したハードウェア記述であるクロックリネーム後のハードウェア記述16を生成する(S43)。このクロックリネーム後のハードウェア記述は中間データであり、CPU3はワークメモリ4にこのクロックリネーム後のハードウェア記述16を保持している。
次に、CPU3は、クロックリネーム後のハードウェア記述16に対して、クロック供給停止回路を挿入する処理を行い、修正後ハードウェア記述を得る。ここで、クロック供給停止回路は三つの端子を有する。すなわち、Data端子、Enable端子、Output端子である。係る三つの端子の内、Data端子はクロックを受信する端子であり、Enableはリセット信号を受信する端子であり、Output端子は信号を出力するための端子である。そこでCPU3は、クロック供給停止回路のData端子が受信する信号名を、処理対象グループに含まれる各F/Fに対して出力されるクロック信号の名称に設定する(S45)。例えば処理対象であるグループが図8に示すグループテーブル13の内の第1番目のグループ、すなわちグループ1である場合には、CPU3は挿入する一のクロック供給停止回路のData端子が受信する信号名をCLK1に設定する。また、CPU3は、クロック供給停止回路のEnable端子が受信するリセット信号の名称を、処理対象グループに含まれる各F/Fにが受信するリセット信号の名称に設定する(S45)。例えば図8に示すグループテーブルの内の第1番目のグループが処理対象グループである場合、CPU3は、挿入する一のクロック供給停止回路のEnable端子が受信する信号の名称をRSTBに設定する。
さらに、CPU3は、処理対象である一のグループに含まれる各F/Fのリセットアクティブ情報[Hi又はLow]を、クロック供給停止回路のEnableのアクティブ情報とする。例えば図8に示すグループテーブル13の内、第1番目のグループが処理対象グループである場合、CPU3は、挿入するクロック供給停止回路のEnableのアクティブ情報をLowと設定する。そしてCPU3は、クロック供給停止回路のOutput端子が出力する信号名を、CPU3がステップS43においてリネームしたクロック名に設定する(S45)。そして、CPU3は、処理対象グループに含まれる各F/Fにクロック供給停止回路を挿入した「クロック供給停止回路挿入後のハードウェア記述」を生成し、それを修正後ハードウェア記述14として出力する(S46)。CPU3は、以上のS42からS46までの処理をステップ41で取得したグループの数だけ繰り返す。すなわち、CPU3は、グループテーブル13が有する各グループのそれぞれに対してS42からS46までの処理を繰り返してクロック供給停止回路の自動挿入を完了する。そしてCPU3は、グループテーブル13の各グループに含まれるすべてのF/Fに対してクロック供給停止回路を挿入した修正後ハードウェア記述14を得る。具体的にはCPU3は、図6に示した回路を記述した修正後ハードウェア記述14を得る。
その後、CPU3は、バス5を介して、クロック供給停止回路を自動挿入した後の修正後ハードウェア記述14をメモリ2内のデータ記憶領域10へ保存する(S46)。
以上の説明で、具体例として用いた図5、図6の回路図を、基本ハードウェア記述11と修正後ハードウェア記述14と比較しながら説明する。上述した本実施の形態に係る動作説明からもわかるように、図5は基本ハードウェア記述の回路例を示す図であり、図6は図5に示す基本ハードウェア記述へクロック供給停止回路を自動挿入した修正後ハードウェア記述の回路例を示す図である。
図5に示す回路例において、F/F1(D1)及びF/F2(D2)のクロック名はCLK1であり、リセット名はRSTBである。F/F3(D3)及びF/F4(D4)のクロック名はCLK1であり、リセット名はRSTBとF/F2(D2)の論理積を取ったRSTB1(D9)である。F/F5(D5)のクロック名はCLK2であり、リセット名はRSTBである。F/F6(D6)及びF/F7(D7)及びF/F8(D8)のクロック名はCLK2であり、リセット名はRSTBとF/F5(D5)の論理積を取ったRSTB2(D10)である。また、全てのF/F(D1〜D8)におけるリセットアクティブ情報はLowである。
図5に示す基本ハードウェア記述11に基づいて、一般的に知られる手法(例えば、EDAツールであるConformal−ASIC)にて取得した情報を、図7に示す。図7は、F/F情報テーブルの一例を示す図である。上述した本実施の形態の動作説明では、この図7をF/F情報テーブルとして具体的に使用した
図7に示すF/F情報テーブル12に基づいて、CPU3が生成したグループテーブルを図8に示す。CPU3は、クロック供給停止回路を自動挿入する図4のフローを実行する前に、図3で説明したフローに従ってグループテーブル13を作成する。これは、最小規模のクロック供給停止回路を挿入するために実施される。
図7のF/F情報テーブルでは、F/F1とF/F2に関するクロック名、リセット名及びリセットアクティブ情報が同じである。同様に、F/F3とF/F4に関するクロック名、リセット名及びリセットアクティブ情報、F/F6とF/F7とF/F8に関するクロック名、リセット名及びリセットアクティブ情報が同じである。このため、CPU3は、図8一例として示すグループテーブル13のように、F/F1とF/F2を一つのグループに、F/F3とF/F4をひとつのグループに、F/F5とF/F6とF/F8を一つのグループにする。そして、CPU3は、各グループのグループ情報を生成し、グループテーブルへ保存する。また、図7に示すF/F情報テーブル例では、F/F5に関するクロックとリセットとリセットアクティブ情報は他のF/Fにはない。このため、CPU3は、図8に示すグループテーブル13のように、1つのグループとしてグループ情報を生成し、保存する。
次に、図6に示す修正後ハードウェア記述について説明する。CPU3は、図4で説明した手続きに従って、図6に示す修正後ハードウェア記述14を生成する。具体的には、CPU3は、図8に示すグループテーブル13に基づいて、図5に示す基本ハードウェア記述11へクロック供給停止回路を自動挿入し、修正後ハードウェア記述14を生成する。
図6に示す修正後ハードウェア記述14の論理回路例では、F/F1(D1)及びF/F2(D2)のクロック名はCLK1からCLK1_G1にリネームされている。また、F/F3(D3)及びF/F4(D4)のクロック名はCLK1からCLK1_G2にリネームされている。F/F5(D5)のクロック名はCLK2からCLK2_G3にリネームされている。F/F6(D6)、F/F7(D7)及びF/F8(D8)のクロック名はCLK2からCLK2_G4にリネームされている。また、図8に示すグループテーブル13に保存されているグループ毎に、Group1のクロック供給停止回路(E1)、Group2のクロック供給停止回路(E2)、Group3のクロック供給停止回路(E3)、Group4のクロック供給停止回路(E4)が挿入されている。
挿入するクロック供給停止回路は、一般的に知られるイネーブル時にクロック供給を停止するように動作する回路であり、イネーブル又はディスエーブル時にヒゲが出ない回路である。例えば、特開2002−351571号公報に開示されているクロック供給停止回路である。また、クロック供給停止回路の挿入に伴って、各F/Fにクロック供給停止回路から出力されるクロックが入力されるように配線の変更がなされる。
次に、本実施形態の回路設計装置及び方法により得られたクロック供給停止回路挿入後の修正後ハードウェア記述14による論理回路において、リセット時のクロック供給停止について説明する。図9は、図6に一例として示す修正後ハードウェア記述に基づいて生成した論理回路におけるリセット時の動作を示すタイミングチャートである。
図9に示すCLKは、図6に示すCLK1、CLK2に対応する。図9に示すF/Fに供給されるクロックは、図6に示すCLK1_G1、CLK1_G2、CLK2_G3、CLK2_G4に対応する。図9に示すRSTBは、図6に示すRSTBに対応する。図9において、T1はRSTBが立ち下がった期間から次の立ち上がりまでの期間である。本発明により自動挿入されたクロック供給停止回路により、このT1の期間、F/Fに供給されるクロックが停止されている。
以上説明したように、本実施形態の回路設計装置及び方法によれば、基本ハードウェア記述11に含まれるF/Fについて、クロック名、リセット名及びリセットアクティブ情報が同じF/Fに共通するクロック供給停止回路を挿入することができる。これにより、リセット時にクロック供給を停止することが可能となる。このため、消費電力を削減することができる。また、クロック供給停止回路を自動挿入することにより、回路設計に要する時間を節約することができると共に、人手によるミスを無くすことができる。これにより、論理回路の設計作業の効率化を図ることができる。
(実施形態2)
実施形態2では、実施形態1に示した回路設計装置及び方法へ、クロック供給停止回路がクロック供給を停止するまでの期間を調整する機能を追加した一態様を説明する。本実施形態では、実施形態1の図4に示したCPU3が行うフローに新たな処理を追加した構成となる。具体的には、図2のメモリ2内にあるプログラム記憶領域20が有する挿入手段22を、異なる挿入手段23とする。その他の構成、機能等については、実施形態1と同様であるため、説明を省略する。
図10は、実施形態2におけるCPU3のクロック供給停止回路の挿入動作の一例を示すフローチャートである。実施形態2では、CPU3は、入力情報として、新たにパラメータ17を取得する。パラメータ17は、自動挿入するクロック供給停止回路のEnableを何(要素)によりどれだけ遅延させるかを決定する遅延情報である。従って、パラメータ(遅延情報)は、Enableを遅らせ、クロック供給停止回路がクロック供給を停止するまでの期間を延長するための情報である。例えば、パラメータ17は、回路設計者が任意に与えることができる情報として、挿入手段23に記述しておくことができる。図11から図13にパラメータの一例を示す。例えば、図11に示すパラメータ17の例では、クロックCLK1に対して挿入するクロック供給停止回路のEnableを3クロック分遅延させ、CLK2というクロックに対して挿入するクロック供給停止回路のEnableを3クロック分遅延させることを示している。
また、図12に示すパラメータ例では、挿入するクロック供給停止回路のEnableを、遅延素子を用いて5msec遅延させる。図13に示すパラメータ例では、挿入するクロック供給停止回路のEnableを、遅延素子TDXDLY1を2個用いて遅延させる。
また、図10に示す処理では、CPU3は、図4と比較して、ステップS51、S52の処理を追加して実施する。図4のステップS45は図10のステップS53に対応する。他の処理は図4と同様であるため説明を省略し、追加・変更された処理である点線で囲まれた処理について説明する。CPU3は、実施の形態1で説明した場合と同様に、クロックリネーム後のハードウェア記述16を中間データとして取得する。その後、CPU3は、ステップS51、S52の処理を、グループテーブル13に保存されている各グループの数だけ繰り返す。まずCPU3は、パラメータ17を取得する。具体的には、CPU3はグループテーブル13に保存されている各グループの内、処理対象である一のグループのリセット名に対応する信号の遅延値を読み出す(S51)。例えば図8に示したグループテーブル13の内の第1番目のグループが処理対象グループであり、また、パラメータ17が図11に記載の情報を有している場合、CPU3は、パラメータ17から、図8のグループ1内の各F/Fのそれぞれが受信するRSTBを、CLK1の3クロック分遅延させる旨の情報を取得する(S51)。次にステップS52において、CPU3は、グループテーブル13の各グループの内、処理対象である一のグループのリセット名に対応する信号を遅延させる遅延回路を挿入する(S52)。
具体的には、CPU3は、ハードウェア記述の遅延回路の入力端子Inputに対し、処理対象である一のグループに含まれる各F/Fが受信するリセット信号の名称を設定する(S51)。例えば処理対象グループが図8に示した第1グループであり、パラメータが図11に示すものである場合、CPU3はパラメータ17からCLK1の3クロック分という遅延値を取得する(S51)。そうすると後のステップにおいてCPU3は、クロックリネーム後のハードウェア記述に含まれるF/F1およびF/F2が受信するリセット信号RSTBをCLK1の3クロック分遅延させるべく、クロックリネーム後のハードウェア記述に対して遅延回路を挿入する必要がある。そこでまずCPU3はあらかじめ遅延回路を用意する。CPU3はハードウェア記述の遅延回路の入力端子Inputが受信する信号名をRTSBに設定する。次にCPU3は遅延回路のOutput端子が受信する信号名を新規に作成する新規信号名に設定する。この遅延回路は出力端子Outputから、リセット信号を出力する回路である。すなわちこの遅延回路は入力端子Inputを介してリセット信号を受信し、所定遅延時間後、受信したリセット信号を出力端子Outputを介して出力する。例えば図8の第1グループに対して、図11のパラメータに基づいて挿入された遅延回路は、リセット信号RSTBを受信してからCLK1の3クロック分の時間が経過した後、受信したリセット信号RSTBを出力端子Outputを介して出力する。
CPU3は、図4のステップS45において、クロック供給停止回路のEnableに、i番目のグループ情報に含まれるF/Fが受信するリセット信号の名称を代入していた。一方、ステップS53では、CPU3はクロック供給停止回路のEnableが受信する信号名をステップS52で作成した新規信号名に設定する(S53)。その他のデータは、具体的には、図4のステップS45と同様である。ここで、実施の形態1と同様にクロック供給停止回路は三つの端子を有する。すなわち、Data端子、Enable端子、Output端子である。係る三つの端子の内、Data端子はクロックを受信する端子であり、Enable端子はリセット信号を受信する端子であり、Output端子は信号を出力するための端子である。そこでCPU3は、クロック供給停止回路のData端子が受信する信号の名称を、処理対象であるi番目のグループ情報に含まれる各F/Fが受信するクロック信号の名称に設定する(S53)。また、CPU3はクロック供給停止回路のEnable端子が受信する信号名をステップ52で挿入した遅延回路の出力信号名に設定する(S53)。
さらに、CPUは、処理対象であるi番目のグループ情報に含まれる各F/Fのリセットアクティブ情報[Hi又はLow]を、クロック供給停止回路のEnableのアクティブ情報とする(S53)。最後に、CPU3は、クロック供給停止回路のOutput端子が出力する信号名を、ステップS43においてリネームしたクロック信号の名称に設定する(S53)。
CPU3は図10のS42からS46までの処理をステップ41で取得したグループ数だけ繰り返す。そして、CPU3は、グループテーブルが有する各グループ内のF/Fのそれぞれに対してクロック供給停止回路を挿入した回路であって、対応するクロック供給停止回路のEnableに遅延回路を接続した回路を示す修正後ハードウェア記述14を完成させる(S53)。具体的にはCPU3は、図14に示した回路を記述した修正後ハードウェア記述14を得る。図6記載の回路と比較すると図14に記載の回路には遅延回路が含まれていることが分かる。そして、CPU3は、バス5を介してメモリ2のデータ記憶領域10へアクセスし、修正後ハードウェア記述をデータ記憶領域10に書き込む。
図14、図15を用いて、本実施形態の回路設計装置1を適用してクロック供給停止回路を自動挿入した修正後ハードウェア記述14による論理回路例について説明する。図14は、図5に示す基本ハードウェア記述へクロック供給停止回路及び遅延回路を自動挿入した修正後ハードウェア記述の回路例を示す図である。図15は、遅延回路の内部回路構成の一例を示す図である。
図14に示す回路例において、実施形態1で生成した修正後ハードウェア記述(図6)に対して、Group1のクロック供給停止回路(E1)における遅延回路DL1(H1)、Group2のクロック供給停止回路(E2)における遅延回路DL2(H2)、Group3のクロック供給停止回路(E3)におけるDL3(H3)、Group4のクロック供給停止回路(E4)におけるDL4(H4)が追加されている。
図15は、遅延回路DL1(H1)〜DL4(H4)の内部の回路構成を示している。図15における入力信号RSTBは、図14の遅延回路DL1(H1)においてはRSTBと対応し、遅延回路DL2(H2)においてはRSTB1と対応し、遅延回路DL3(H3)においてはRSTBと対応し、遅延回路DL4(H4)においてはRSTB2と対応する。
同様に、図15における入力信号CLKは、図14の遅延回路DL1(H1)においてはCLK1と対応し、遅延回路DL2(H2)においてはCLK1と対応し、遅延回路DL3(H3)においてはCLK2と対応し、遅延回路DL4(H4)においてはCLK2と対応する。さらに、図15における出力信号Enableは、図14の一のクロック供給停止回路の入力端子であるEnable(EN)に繋がる信号と対応する。
図15において、Enableは、F/F D1(J1)、F/F D2(J2)、F/F D3(J3)により、RSTBをCLKの3クロック分遅延させた信号と、RSTBとの論理積(J4)である。F/F D1(J1)、F/F D2(J2)、F/F D3(J3)は、CLKの立ち上がりで動作するF/Fである。図15は、一例として、図11に示すパラメータ例の内部構成の一例を示している。図11に示すパラメータ17は、挿入するクロック供給停止回路のEnableをCLK1に対して3クロック分、CLK2に対して3クロック分遅延させる場合である。例えば、パラメータ17が挿入するクロック供給停止回路のEnableをCLK1に対して5クロック分遅延させるパラメータの場合、CLK1というクロックに対して挿入する遅延回路には合計5つのF/FでRSTBを遅延させる。
また、図15の遅延回路構成はF/Fによるものであるが、図13に示すパラメータ例のように、挿入するクロック供給停止回路のEnableに対して遅延素子TDXDLY1を2個挿入して遅延させる場合、遅延素子TDXDLY1を2個使用して同様の効果が得られる。
次に、本実施形態の回路設計装置及び方法により得られたクロック供給停止回路挿入後の修正後ハードウェア記述14による論理回路において、リセット時のクロック供給停止について説明する。図16は、図14に一例として示す修正後ハードウェア記述に基づいて生成した論理回路におけるリセット時の動作を示すタイミングチャートである。
図16に示すCLKは、図6及び図14に示すCLK1、CLK2と対応する。図16に示すF/Fに供給されるクロック(実施形態1)は、図6に示すCLK1_G1、CLK1_G2、CLK2_G3、CLK2_G4と対応する。図16におけるF/Fに供給されるクロック(実施形態2)は、図14に示すCLK1_G1、CLK1_G2、CLK2_G3、CLK2_G4と対応する。図16に示すRSTBは、図6及び図14に示すRSTBと対応する。図16に示すEnableは、図14に示す遅延回路DL1〜DL4(H1〜H4)の出力端子Outputから出力され、クロック供給停止回路の入力端子の一であるEnable端子(EN)に繋がる信号と対応する。
図16において、U1はRSTBが立ち下がった期間から次の立ち上がりまでの期間である。実施形態1では、U1の期間、F/Fに供給されるクロックが停止されている。U2はEnableが立ち下がった期間から次の立ち上がりまでの期間である。実施形態2では、U2の期間、F/Fに供給されるクロックが停止されていることを示す。U4は、挿入された遅延回路によりクロック供給停止を遅延させた期間である。
実施形態1では、クロック供給を停止するEnable信号がRSTBと同じであり、RSTBはクロック(CLK)と非同期であるため、図16に示すU3のタイミングにおいて、F/Fに供給されるクロック(実施形態1)の立ち上がりに衝突する可能性があった。このとき、F/Fはデータが安定せず不定値になってしまう。上記の問題は、論理設計において、論理合成及びレイアウトを実施した後の遅延を考慮した検証でのみ発見することが可能であり、問題が見つかった場合には、後戻りが大きく開発期間の長期化やコストの上昇を招くという問題があった。実施形態2では、図16に示すU3のタイミングでは、F/Fに供給されるクロック(実施形態2)は停止(Low)となっている。従って、リセット解除時(U3)にF/Fに供給されるクロック(実施形態2)の立ち上がりに衝突する可能性がなくなり、F/Fはデータが常に安定し不定値になることはない。これは、Enable信号が遅延回路によって遅延させられているからである。
このように、本実施形態では、実施形態1に加え、Enable信号がアクティブになるタイミングを遅らせる遅延回路を自動挿入することができる。これにより、クロック供給を停止するまでの期間を延長し、リセットが解除されるタイミングとクロック供給を再開するタイミングとをずらすことができる。また、パラメータによって、クロック供給を停止するまでの期間を指定することにより、設計者の所望のタイミングでクロック供給を再開させることができる。
以上説明したように、本発明の好適な実施形態では、回路設計装置、方法及びプログラム(以下、「回路設計装置等)という)は、リセットがかかるF/Fに対して、リセット時にクロック供給を停止する回路設計を行う。回路設計装置等は、クロック供給停止回路を自動挿入する際に、最小規模のクロック供給停止回路を挿入する。このために、クロック供給停止を回路化することなしに作成された論理回路のハードウェア記述におけるF/F情報テーブルに保存されているクロック名、リセット名及びリセットアクティブ情報を共通化し、分類して、グループテーブルを作成する。これにより、クロック供給停止を回路化することなしに作成された論理回路のハードウェア記述に対して、クロック供給停止回路を自動挿入する。このようにして、論理回路の設計作業の効率化を図ることができる。また、リセット時における論理回路の低消費電力化を図ることができる。
さらに、本発明別の好適な実施形態では、回路設計装置等は、遅延回路と合わせてクロック供給停止回路を自動挿入する回路設計を行う。これにより、クロック供給を停止するまでの期間を延長することが可能になる。このようにして、回路設計装置等は、論理合成及びレイアウトを実施した後の遅延を考慮した検証を行わずに、リセット解除時とクロック変化点との衝突を防ぎ、論理回路の設計作業の効率化を図ることができる。
なお、本発明は上記に示す実施形態に限定されるものではない。本発明の範囲において、上記実施形態の各要素を、当業者であれば容易に考えうる内容に変更、追加、変換することが可能である。
本発明の実施形態1に係る回路設計装置の概念を示した図である。 本実施の形態に係る回路設計装置を計算機上で実現する場合の構成例を示す図である。 実施形態1のグループ化手段21の動作例を説明するフローチャートである。 実施形態1の挿入手段の動作例を説明するフローチャートである。 基本ハードウェア記述の回路例を示す図である。 実施形態1において、図5に示す基本ハードウェア記述へクロック供給停止回路を自動挿入した修正後ハードウェア記述の回路例を示す図である。 F/F情報テーブルの一例を示す図である。 図7に基づいて生成したグループテーブルの一例を示す図である。 図6に一例として示す修正後ハードウェア記述に基づいて生成した論理回路におけるリセット時の動作を示すタイミングチャートである。 基本ハードウェア記述の回路例を示す図である。 パラメータ(遅延情報)の一例を示す図である。 パラメータ(遅延情報)の他の一例を示す図である。 パラメータ(遅延情報)の他の一例を示す図である。 実施形態2において、図5に示す基本ハードウェア記述へクロック供給停止回路及び遅延回路を自動挿入した修正後ハードウェア記述の回路例を示す図である。 遅延回路の内部回路構成の一例を示す図である。 図14に一例として示す修正後ハードウェア記述に基づいて生成した論理回路におけるリセット時の動作を示すタイミングチャートである。 特許文献1に開示された論理回路設計装置の一実施形態の概略的構成図である。 図17に示す論理回路設計装置により生成されるゲーテットクロック供給回路を示す回路図である。 特許文献2に開示された回路設計装置の構成を示す図である。 図19に示す回路設計装置によってゲーテットクロック化した構成を示す図である。
符号の説明
1、9 回路設計装置
2 メモリ
3 CPU
4 ワークメモリ
5 バス
6 入出力ポート
8 制御部
11 基本ハードウェア記述
12 F/F情報テーブル
13 グループテーブル
14 修正後ハードウェア記述
16 クロックリネーム後のハードウェア記述
17 パラメータ
21 グループ化手段
22、23 クロック供給停止回路自動挿入手段(挿入手段)

Claims (6)

  1. 回路を記述した第1ハードウェア記述に含まれるフリップフロップから第1クロックおよび制御信号を受信するフリップフロップを抽出するとともに、前記抽出したフリップフロップが受信するクロックを第2クロックに変更した第2ハードウェア記述を生成し、この第2ハードウェア記述に対して、前記第1クロックおよび前記制御信号に基づき前記第2クロックの供給を停止する制御回路を挿入した第3ハードウェア記述を生成するプロセッサを有し
    前記制御信号は、前記第1ハードウェア記述に含まれるフリップフロップが受信するリセット信号であることを特徴とする回路設計装置。
  2. 前記第1ハードウェア記述を記憶する記憶装置をさらに有し、
    前記プロセッサは、前記記憶装置から前記第1ハードウェア記述を読みだすとともに、前記第3ハードウェア記述を前記記憶装置に書き込むことを特徴とする請求項1に記載の回路設計装置。
  3. 前記プロセッサは、前記第2ハードウェア記述に対して、前記制御回路に対する前記制御信号の伝達を遅延させる遅延回路をさらに挿入することを特徴とする請求項1に記載の回路設計装置。
  4. 前記プロセッサは、前記第1ハードウェア記述に含まれるフリップフロップ内、受信するクロックと、受信するリセット信号と、受信するリセット信号がアクティブを示す信号のレベルと、が共通であるフリップフロップを抽出することを特徴とする請求項に記載の回路設計装置。
  5. 回路を記述した第1ハードウェア記述に含まれるフリップフロップから第1クロックおよび、前記第1ハードウェア記述に含まれるフリップフロップが受信するリセット信号である制御信号を受信するフリップフロップを抽出するとともに、前記抽出したフリップフロップが受信するクロックを第2クロックに変更した第2ハードウェア記述を生成し、この第2ハードウェア記述に対して、前記第1クロックおよび前記制御信号に基づき前記第2クロックの供給を停止する制御回路を挿入した第3ハードウェア記述を生成する処理をコンピュータに実行させるプログラム。
  6. 前記第2ハードウェア記述に対して、さらに、前記制御回路に対する前記制御信号の伝達を遅延させる遅延回路を挿入する処理をコンピュータに実行させる請求項記載のプログラム。
JP2007218308A 2007-08-24 2007-08-24 回路設計装置、回路設計方法、及び、回路設計プログラム Expired - Fee Related JP4955484B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007218308A JP4955484B2 (ja) 2007-08-24 2007-08-24 回路設計装置、回路設計方法、及び、回路設計プログラム
US12/222,368 US8042074B2 (en) 2007-08-24 2008-08-07 Circuit design device, circuit design program, and circuit design method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007218308A JP4955484B2 (ja) 2007-08-24 2007-08-24 回路設計装置、回路設計方法、及び、回路設計プログラム

Publications (2)

Publication Number Publication Date
JP2009053812A JP2009053812A (ja) 2009-03-12
JP4955484B2 true JP4955484B2 (ja) 2012-06-20

Family

ID=40383323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007218308A Expired - Fee Related JP4955484B2 (ja) 2007-08-24 2007-08-24 回路設計装置、回路設計方法、及び、回路設計プログラム

Country Status (2)

Country Link
US (1) US8042074B2 (ja)
JP (1) JP4955484B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761817B2 (en) * 2006-05-22 2010-07-20 Coherent Logix, Incorporated Designing an ASIC based on execution of a software program on a processing system
JP2012515377A (ja) 2009-01-12 2012-07-05 ラムバス・インコーポレーテッド クロック転送低電力シグナリングシステム
US8104012B1 (en) * 2009-01-31 2012-01-24 Xilinx, Inc. System and methods for reducing clock power in integrated circuits
US8058905B1 (en) 2009-01-31 2011-11-15 Xilinx, Inc. Clock distribution to facilitate gated clocks
JP2011065320A (ja) * 2009-09-16 2011-03-31 Renesas Electronics Corp レイアウト方法、レイアウト装置及びレイアウトプログラム
JP5368941B2 (ja) * 2009-11-06 2013-12-18 シャープ株式会社 論理回路設計支援方法及び装置
US9053271B1 (en) * 2014-02-06 2015-06-09 Freescale Semiconductor, Inc. Integrated circuit reset system modification tool

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5826051B2 (ja) 1980-12-25 1983-05-31 富士通株式会社 クロツク信号制御方式
JPH11149496A (ja) * 1997-11-19 1999-06-02 Toshiba Corp ゲーテッドクロック設計支援装置、ゲーテッドクロック設計支援方法、及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2002092065A (ja) * 2000-09-11 2002-03-29 Toshiba Corp 回路設計方法及び回路設計装置
JP2002351571A (ja) 2001-05-25 2002-12-06 Yaskawa Electric Corp クロック供給停止回路
JP2003330988A (ja) 2002-05-15 2003-11-21 Fujitsu Ltd 論理回路設計方法及び装置
JP3923920B2 (ja) * 2003-03-31 2007-06-06 株式会社東芝 集積回路の設計システム及び集積回路の設計方法
JP2005093563A (ja) * 2003-09-12 2005-04-07 Matsushita Electric Ind Co Ltd 半導体集積回路およびその設計方法
US20060236278A1 (en) * 2005-04-19 2006-10-19 International Business Machines Corporation Method of automatic generation of micro clock gating for reducing power consumption
JP4396987B2 (ja) * 2006-02-08 2010-01-13 シャープ株式会社 動作合成装置および動作合成方法、ディジタル回路の製造方法、動作合成制御プログラム、可読記録媒体
US7484192B2 (en) * 2006-09-18 2009-01-27 International Business Machines Corporation Method for modeling metastability decay through latches in an integrated circuit model

Also Published As

Publication number Publication date
US8042074B2 (en) 2011-10-18
JP2009053812A (ja) 2009-03-12
US20090055781A1 (en) 2009-02-26

Similar Documents

Publication Publication Date Title
JP4955484B2 (ja) 回路設計装置、回路設計方法、及び、回路設計プログラム
JP3357813B2 (ja) ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
US6536031B2 (en) Method for generating behavior model description of circuit and apparatus for logic verification
EP1816577A1 (en) A method of making an integrated circuit including a clock tree
JP2006079447A (ja) 集積回路設計支援装置、集積回路設計支援方法及び集積回路設計支援プログラム
US7350180B1 (en) Search algorithm for inheriting clock contexts in hardware description language translation tools
CN111858412B (zh) 调整时序的方法、装置、计算机设备及介质
CN113408222B (zh) 文件生成方法、装置、电子设备及存储介质
US20090113365A1 (en) Automated digital circuit design tool that reduces or eliminates adverse timing constraints due to an inherent clock signal skew, and applications thereof
JP2006048525A (ja) シミュレーション方法
JP2001357090A (ja) 論理合成方法及び論理合成装置
CN114169271A (zh) 使用静态检查器结果对证伪的功率感知形式属性进行自动调试
US8671374B2 (en) Information processing apparatus
US11036906B1 (en) Method and apparatus to accelerate verification signoff by selective re-use of integrated coverage models
JP2018041301A (ja) Rtl最適化システム及びrtl最適化プログラム
Mao et al. Automated mapping of asynchronous circuits on fpga under timing constraints
JP5545054B2 (ja) デバッグ回路及びデバッグシステム
JP2008204111A (ja) 半導体集積回路の設計支援装置、その設計支援方法、その製造方法、プログラム、及び記録媒体
US11983478B2 (en) Selection of full or incremental implementation flows in processing circuit designs
CN117371386B (zh) 电路布局更新方法、装置、设备及存储介质
US11106851B1 (en) Serialization in electronic design automation flows
JP2000242675A (ja) 半導体集積回路の配置方法及び配置プログラムを記録したコンピュータ読取可能な記録媒体
JP2006201825A (ja) 集積回路の遅延解析方法及び遅延解析プログラム
JP5531479B2 (ja) 回路設計方法、及び回路設計プログラム
JP2001175699A (ja) 半導体集積回路のクロックツリー設計方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120131

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: 20120306

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120315

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees