JP7351189B2 - タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム - Google Patents

タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム Download PDF

Info

Publication number
JP7351189B2
JP7351189B2 JP2019205611A JP2019205611A JP7351189B2 JP 7351189 B2 JP7351189 B2 JP 7351189B2 JP 2019205611 A JP2019205611 A JP 2019205611A JP 2019205611 A JP2019205611 A JP 2019205611A JP 7351189 B2 JP7351189 B2 JP 7351189B2
Authority
JP
Japan
Prior art keywords
logic
circuit
timing
cone
input
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.)
Active
Application number
JP2019205611A
Other languages
English (en)
Other versions
JP2021077282A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2019205611A priority Critical patent/JP7351189B2/ja
Publication of JP2021077282A publication Critical patent/JP2021077282A/ja
Application granted granted Critical
Publication of JP7351189B2 publication Critical patent/JP7351189B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラムに関する。
クロックに同期して動作する論理回路は、複数サイクルにまたがる信号の遅延が許されるマルチサイクルパスを含む場合がある。この種の論理回路において、予め指定した個所に、指定したサイクル数の不定値を与えて論理シミュレーションを実行することで、設定したマルチサイクルパス箇所が正しいか否かを判断する手法が開示されている(特許文献1)。
マルチサイクルパスを含む論理回路の検証を効率的に実行するためには、論理回路に含まれるマルチサイクルパスを自動的に抽出することが好ましい。しかしながら、従来、マルチサイクルパスかどうかの判断は、設計者等が回路設計時の情報を頼りに判断している。このため、論理規模が大きくなると、判断に要する工数が増加し、また、マルチサイクルパスかどうかの判断を誤るリスクが増大するという問題があった。
開示の技術は、上記の課題に鑑みてなされたものであり、マルチタイミングパスを自動的に抽出可能にすることで、マルチサイクルパスの判断に要する工数を削減し、判断ミスの発生を防止することを目的とする。
上記技術的課題を解決するため、本発明の一形態のタイミング制約抽出装置は、半導体集積回路に搭載する論理回路のタイミング制約を抽出するタイミング制約抽出装置であって、検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報をタイミング情報記憶部から入力し、入力した前記タイミング情報に基づいてマルチサイクルパスの候補を決定するマルチサイクルパス候補決定手段と、前記検証対象の論理回路の接続情報を接続情報記憶部から入力し、入力した前記接続情報に基づいて前記マルチサイクルパスの候補の終点のフリップフロップに接続されるロジックコーンを抽出し、抽出したロジックコーンに含まれる回路の接続情報をロジックコーン記憶部に格納するコーン抽出手段と、前記検証対象の論理回路の論理シミュレーション結果をシミュレーション結果記憶部から入力し、入力した前記論理シミュレーション結果を使用して、前記コーン抽出手段が抽出したロジックコーンに含まれる回路の端子の信号状態を抽出し、抽出した信号状態を信号状態記憶部に格納する信号状態抽出手段と、前記抽出したロジックコーンのうち、前記マルチサイクルパスの候補を含むロジックコーンにフリップフロップを追加してマルチサイクルパスの検証用回路を作成し、作成した前記検証用回路の接続情報を検証用回路記憶部に格納する検証用回路作成手段と、前記抽出したロジックコーンに含まれる回路の接続情報と前記検証用回路の接続情報と前記抽出した信号状態とを、前記ロジックコーン記憶部と前記検証用回路記憶部と前記信号状態記憶部とからそれぞれ入力し、入力した回路の接続情報に、前記抽出した信号状態を与えて等価性検証を実行し、等価である前記マルチサイクルパスの候補を真のマルチサイクルパスと判断する判断手段と、前記判断手段が判断した前記真のマルチサイクルパスのタイミング制約を示すタイミング制約情報を出力する出力手段と、を有することを特徴とする。
マルチタイミングパスを自動的に抽出可能にすることで、マルチサイクルパスの判断に要する工数を削減し、判断ミスの発生を防止することができる。
本発明の第1実施形態に係るタイミング制約抽出装置の一例を示すブロック図である。 図1のタイミング制約抽出装置の動作の説明に使用する論理回路の一例を示す回路図である。 図2に示したマルチサイクルパス候補であるFF1とFF2の入出力端子の信号波形の一例を示すタイミング図である。 図2に示したマルチサイクルパス候補であるFF1とFF2の入出力端子の信号波形の別の例を示すタイミング図である。 図1のマルチサイクルパス候補決定部の一例を示すブロック図である。 図2のタイミングレポートファイルの一例を示す説明図である。 タイミングの満足(MET)/割れ(VIOLATED)と余裕度(slack)との一例を説明するタイミング図である。 タイミングの満足(MET)/割れ(VIOLATED)と余裕度(slack)との別の例を説明するタイミング図である。 タイミングの満足(MET)/割れ(VIOLATED)と余裕度(slack)とのさらなる別の例を説明するタイミング図である。 図1の周辺ロジックコーン回路抽出部の一例を示すブロック図である。 図2の論理回路から抽出されるロジックコーンの一例を示す説明図である。 図1の周辺ロジックコーンプロパティ抽出部の一例を示すブロック図である。 図11のロジックコーン1のプロパティを抽出する一例を示す説明図である。 図11のロジックコーン3のプロパティを抽出する一例を示す説明図である。 マルチサイクルパスで回路が正常に動作するかを判断する一例を示す説明図である。 図1のマルチサイクル検証用回路作成部およびマルチサイクルパス可否判断部の一例を示すブロック図である。 図16のフリップフロップ追加部によりフリップフロップを追加する一例を示す説明図である。 図16の等価性検証装置による等価性検証の一例を示す説明図である。 図1の情報処理装置のハードウェア構成の一例を示すブロック図である。
以下、図面を参照して実施の形態の説明を行う。なお、各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。
図1は、本発明の一実施形態に係るタイミング制約抽出装置の一例を示すブロック図である。図1に示すタイミング制約抽出装置10は、論理合成装置30、タイミング解析装置31および論理シミュレーション装置32とともに、サーバ等のコンピュータである情報処理装置100に搭載されることで実現される。
例えば、情報処理装置100は、タイミング制約抽出装置10、論理合成装置30、タイミング解析装置31および論理シミュレーション装置32の機能をソフトウェアにより実現する。なお、タイミング制約抽出装置10の機能を実現する情報処理装置が、論理合成装置30、タイミング解析装置31および論理シミュレーション装置32を実現する情報処理装置と別に設けられてもよい。
例えば、タイミング制約抽出装置10の各機能は、情報処理装置100に搭載されるCPU(Central Processing Unit)等のプロセッサが、タイミング制約抽出プログラムを実行することにより、タイミング制約抽出方法を実行することで実現される。なお、情報処理装置100は、タイミング制約抽出装置10の少なくとも一部をハードウェアにより実現してもよい。
論理合成装置30は、クロック情報20とRTL(Register Transfer Level)記述21とを使用して論理合成を実行することで、論理回路がゲートレベルで示されたネットリスト40を生成する。タイミング解析装置31は、クロック情報20等のタイミング情報とネットリスト40とを使用して論理回路のタイミング解析を実行し、解析結果をタイミングレポートファイル41として出力する。タイミングレポートファイル41は、検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報の一例である。タイミングレポートファイル41が格納されるハードディスク装置等の記憶装置は、タイミング情報記憶部の一例である。
論理シミュレーション装置32は、論理回路のRTL記述21とテストパタン22とを使用して論理シミュレーションを実行し、論理シミュレーション(SIM)結果42を出力する。論理シミュレーション(SIM)結果42が格納されるハードディスク装置等の記憶装置は、シミュレーション結果記憶部の一例である。論理合成装置30、タイミング解析装置31および論理シミュレーション装置32は、既存の装置であるため、詳細な説明は割愛する。
なお、論理合成装置30、タイミング解析装置31および論理シミュレーション装置32は、論理回路の設計・検証時に使用される。このため、タイミング制約抽出装置10は、論理回路の設計・検証時に得られるネットリスト40、タイミングレポートファイル41および論理シミュレーション結果42等の情報を利用して、後述するようにマルチサイクルパスを抽出することができる。
タイミング制約抽出装置10は、マルチサイクルパス候補決定部11、周辺ロジックコーン回路抽出部12および周辺ロジックコーンプロパティ抽出部13を有する。また、タイミング制約抽出装置10は、マルチサイクル検証用回路作成部14、マルチサイクルパス可否判断部15およびタイミング制約出力部16を有する。
マルチサイクルパス候補決定部11は、マルチサイクルパス候補決定手段の一例であり、周辺ロジックコーン回路抽出部12は、コーン抽出手段の一例であり、周辺ロジックコーンプロパティ抽出部13は、信号状態抽出手段の一例である。マルチサイクル検証用回路作成部14は、検証用回路作成手段の一例であり、マルチサイクルパス可否判断部15は、判断手段の一例であり、タイミング制約出力部16は、出力手段の一例である。
タイミング制約抽出装置10は、ネットリスト40とタイミングレポートファイル41と論理シミュレーション結果42とを入力し、ネットリスト50とプロパティ情報51とネットリスト52とを生成する。そして、タイミング制約抽出装置10は、内部で生成したマルチタイミングパスの候補のうち真のマルチタイミングパスと判断したパスの情報を示すマルチサイクルタイミング制約53を、人手を介することなく自動生成する。なお、図1に示すRTL記述21、ネットリスト40、50、52等の各種ファイルのフォーマットは、いずれも一般的なものであるため、ここでの説明は割愛する。
マルチサイクルパス候補決定部11は、検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報に基づいてマルチサイクルパスの候補であるマルチサイクルパス候補を決定する。
周辺ロジックコーン回路抽出部12は、検証対象の論理回路のネットリスト40を入力し、ネットリスト40に基づいてマルチサイクルパス候補の終点のフリップフロップに接続されるロジックコーンを抽出し、ネットリスト50として出力する。
周辺ロジックコーンプロパティ抽出部13は、検証対象の論理回路の論理シミュレーション結果42を入力し、論理シミュレーション結果42を使用して、抽出されたロジックコーンに含まれる回路の端子の信号状態を示すプロパティ情報51を抽出する。
マルチサイクル検証用回路作成部14は、抽出したロジックコーンのうち、マルチサイクルパス候補を含むロジックコーンにフリップフロップを追加してマルチサイクルパスの検証用回路を作成し、ネットリスト52として出力する。
マルチサイクルパス可否判断部15は、抽出したロジックコーンに含まれる回路を示すネットリスト50と、フリップフロップを追加した検証用回路とを示すネットリスト52と、抽出したプロパティを示すプロパティ情報51を入力する。そして、マルチサイクルパス可否判断部15は、ネットリスト50、52で示される回路にプロパティを与えて等価性検証を実行し、等価であると判断されたマルチサイクルパス候補を真のマルチサイクルパスとして抽出する。
タイミング制約出力部16は、マルチサイクルパス可否判断部15により判断された真のマルチサイクルパスのタイミング制約であるマルチサイクルタイミング制約53を出力する。以上より、タイミング制約抽出装置10は、真のマルチサイクルパスを自動的に抽出することができる。
図2は、図1のタイミング制約抽出装置10の動作の説明に使用する論理回路の一例を示す回路図である。図2に示す論理回路は、検証対象の半導体集積回路の一部を抜き出したものである。
各フリップフロップFF1,FF1_b,FF1_z,FF2,FF2_b,FF3は、データ入力端子D、クロック入力端子CK、リセット入力端子RBおよびデータ出力端子Qを有する。以下では、フリップフロップFFを単にFFとも称する。また、フリップフロップFF1,FF1_b,FF1_z,FF2,FF2_b,FF3を区別なく説明する場合、フリップフロップFFまたは単にFFとも称する。
フリップフロップFFは、リセット入力端子RBでアサートレベルのリセット信号を受けている間、リセットされ、データ出力端子Qからリセットレベルを出力する。フリップフロップFFは、リセット入力端子RBでネゲートレベルのリセット信号を受けている間、データ入力端子Dに入力されたデータをクロック入力端子CKで受けるクロックに同期して取り込み、それまで蓄えていたデータをデータ出力端子Qから出力する。
図2に示す例では、2入力のオアゲートOR1は、2つの入力をFF1,FF1_bの出力にそれぞれ接続し、出力を2入力のアンドゲートAND1の一方の入力に接続している。アンドゲートAND1は、他方の入力をFF1_zの出力に接続し、出力をFF2のデータ入力端子Dに接続している。以下では、オアゲートOR1およびアンドゲートAND1を単にOR1、AND1とも称する。
タイミング的な観点では、あるFFから論理ゲート(組み合わせ回路)を介して接続されるFFまでを1つのタイミングパスと考える。この例では、網掛けで示すFF1からFF2までを1つのタイミングパスと考え、このパスを今後議論していくマルチサイクルパスの候補であるマルチサイクルパス候補とする。
図3および図4は、図2に示したマルチサイクルパス候補であるFF1とFF2の入出力端子の信号波形の例を示すタイミング図である。図3は、最も基本的なシングルサイクルパスの例である。図中、FF1/Qは、FF1のデータ出力端子Qを示し、FF2/Dは、FF2のデータ入力端子Dを示し、FF2/Qは、FF2のデータ出力端子Qを示す。以降に示すタイミング図でも同様の表記をする。
図3に示す例では、クロックサイクル(3)のタイミングでFF1/Qの信号波形が論理0から論理1に遷移する(図3(a))。そして、FF1/Qの信号波形の論理0から論理1への遷移は、クロックサイクル(3)中にFF2/Dまで伝播する(図3(b))。このため、図3に示すタイミング例では、FF2は、クロックサイクル(4)のタイミングで、データ入力端子Dに供給された論理1を取り込み、データ出力端子Qから論理1を出力できる(図3(c))。このように、FF1/Qの信号遷移からFF2/Qの信号遷移までにかかるクロックサイクル数が"1"の場合、そのパスをシングルサイクルパスと呼ぶ。
一方、図4は、マルチサイクルパスの例を示す。FF1/Qの信号波形が論理0から論理1に遷移するタイミングは、図3と同様に、クロックサイクル(3)である(図4(a))。但し、図4では、FF1/Qの信号波形の論理0から論理1への遷移は、クロックサイクル(4)の開始後にFF2/Dに伝播される(図4(b))。このため、FF2は、データ入力端子Dに供給された論理1を、クロックサイクル(4)のタイミングで取り込めず、クロックサイクル(5)のタイミングで取り込んでデータ出力端子Qから出力する(図4(c))。このように、FF1のデータ出力端子Qの信号遷移からFF2のデータ出力端子Qの信号遷移までにかかるクロックサイクル数が"2"以上の場合、そのパスをマルチサイクルパスと呼び、サイクル数が"2"の場合をマルチサイクル2と呼ぶ。
図5は、図1のマルチサイクルパス候補決定部11の一例を示すブロック図である。マルチサイクルパス候補決定部11は、タイミングレポートファイル入力部11aとタイミングバイオレーション情報抽出部11bとサイクル数計算部11cとマルチサイクル制約決定部11dとを有する。
図6は、図5のタイミングレポートファイル41の一例を示す説明図である。タイミングレポートファイル41には、タイミングパスの起点と終点となる一対のFFの階層インスタンス名と端子名、1クロックサイクルの周期等の情報を含まれる。また、タイミングレポートファイル41には、1クロックサイクルでタイミングが満足しているのか(MET)、タイミングが割れているのか(VIOLATED)を示す情報と、そのときのタイミングの余裕度(slack)を示す情報等が含まれる。
図6の例では、1クロックサイクルの周期が2nsであり、タイミングが割れており、タイミングの余裕度(slack)が-1.302nsであることが示されている。タイミングレポートファイル41は、既存のタイミング解析装置31により生成される既存のファイルであるため、詳細な説明は割愛する。タイミングの満足(MET)と割れ(VIOLATED)については、図7~図9で説明する。
図7、図8および図9は、タイミングの満足(MET)/割れ(VIOLATED)と余裕度(slack)との例を説明するタイミング図である。図7~図9は、タイミングパスの起点がFF1であり、タイミングパスの終点がFF2である例を示す。
図7は、規定の1クロックサイクル内でタイミングが満足しており(MET)、タイミングの余裕度(slack)がプラスである場合の例を示す。ここで、タイミングの満足(MET)は、規定のクロックサイクル内に、起点のFF1/Qから終点のFF2/Dまで信号が伝達できることを示す。
図8は、規定の1クロックサイクル内でタイミングが割れており(VIOLATED)、タイミングの余裕度(slack)がマイナスである場合の例を示す。図8は、図6に示したタイミングレポートファイル41に対応する例を示している。ここで、タイミングの割れ(VIOLATED)は、規定の1クロックサイクル内では、起点のFF1/Qから終点のFF2/Dまで信号が伝達できないことを示す。
図9は、図8のタイミングを2クロックサイクルで考えた場合、タイミングが満足(MET)し、タイミングの余裕度(slack)がプラスになることを示す。図9中の"set_multicycle_path 2 -from FF1/CK -to FF2/D"は、マルチサイクル制約決定部11dが決定するマルチサイクルパス候補の制約(マルチサイクル制約)を示すコマンドの例を示す。マルチサイクル制約を示すコマンドは、マルチサイクル制約決定部11dから出力される。
図5に戻って、タイミングレポートファイル入力部11aは、タイミングレポートファイル41(図6)に含まれる情報を取得し、取得した情報をタイミングバイオレーション情報抽出部11bに出力する。タイミングバイオレーション情報抽出部11bは、受信したタイミングレポートファイル41の情報を解析し、タイミングが割れている(VIOLATED)パスの情報をサイクル数計算部11cに出力する。
サイクル数計算部11cは、例えば、1クロックサイクルの周期が2ns、タイミングが割れている(VIOLATED)、タイミングの余裕度(slack)が-1.302nsという図6のタイミングレポートファイル41の情報を取得する。すなわち、図8に示すタイミングの関係を示す情報を取得する。そして、サイクル数計算部11cは、計算を実行し、図9に示すように、仮に2クロックサイクルあればタイミングの余裕度(slack)がプラスの0.698nsとなり、タイミングを満足できる(MET)と判定する。サイクル数計算部11cは、計算により得た判定結果(2クロックサイクルならMETする)をマルチサイクル制約決定部11dに出力する。
マルチサイクル制約決定部11dは、サイクル数計算部11cによる判定結果に基づいて、マルチサイクルパス候補の制約を決定する。図6に示すタイミングレポートファイル41では、タイミングパスの起点となるフリップフロップの階層インスタンス名がFF1でその端子名がCKであり、終点となるフリップフロップの階層インスタンス名がFF2でその端子名がDである。
マルチサイクル制約決定部11dは、タイミングレポートファイル41の情報と、サイクル数計算部11cが算出した情報とから、"set_multicycle_path 2 -from FF1/CK -to FF2/D"というマルチサイクル制約を示すコマンドを作成する。ここで、サイクル数計算部11cが算出した情報は、"2クロックサイクルならMETする"という判定結果である。
例えば、"set_multicycle_path"というコマンドはSDC(Synopsys Design Constraints)のコマンドでありタイミング制約を指定する際に使用される一般的なフォーマットなので説明は割愛する。なお、"set_multicycle_path n"(nは2以上の整数)は、マルチサイクルnを示し、上述した"set_multicycle_path 2 -from FF1/CK -to FF2/D"というマルチサイクル制約は、マルチサイクル2を示す。
なお、マルチサイクル制約を示すコマンド等の情報は、SDCに限定されず、他のコマンドやフォーマットでもよい。このように、マルチサイクルパス候補決定部11は、入力されたタイミングレポートファイル41から自動的にマルチサイクルパス候補を決定することができ、決定したマルチサイクルパス候補をマルチサイクル制約として出力することができる。したがって、設計者等が人手でマルチサイクルパス候補を生成する場合に比べて、作成工数を削減することができ、作成ミスや記述ミスの発生を防止することができる。
図10は、図1の周辺ロジックコーン回路抽出部12の一例を示すブロック図である。周辺ロジックコーン回路抽出部12は、ネットリスト入力部12aとロジックコーン1抽出部12bとロジックコーン2抽出部12cとロジックコーン3抽出部12dとネットリスト出力部12eとを有する。ロジックコーン1抽出部12bは、第1の抽出手段の一例であり、ロジックコーン2抽出部12cは、第2の抽出手段の一例であり、ロジックコーン3抽出部12dは、第3の抽出手段の一例である。周辺ロジックコーン回路抽出部12の機能を説明する前に、ロジックコーンについて説明する。
図11は、図2の論理回路から抽出されるロジックコーンの一例を示す説明図である。ロジックコーンは、半導体集積回路の設計を支援するCAD(Computer Aided Design)ツールで使われる概念であり、組合せ回路の集合を示す。
例えば、回路の中で着目する1つのFF(始点)のデータ出力端子Qから出力される信号の論理値が変化すると、後段側の論理セルを介して論理値の変化が順次伝播していき、信号が分配されていく。信号の分配に伴い、着目するデータ出力端子Qの論理値の変化の影響が後続のゲート回路に広がっていき、次段の所定数のFF(終点)のデータ入力端子Dまで伝わる。ここで、始点のFFから所定数の終点のFFまでの間にある組合せ回路を含む仮想の円錐型の論理構造をロジックコーンと呼ぶ。また、着目するFFのデータ入力端子Dを頂点とし、前段側のFFに向けて遡っていくパス上の回路を含む仮想の円錐型の論理構造もロジックコーンと呼ぶ。
図11に示す例では、始点のFF1から終点のFF2までのマルチサイクルパス候補において、終点のFF2に注目する。そして、FF2のデータ入力端子Dを起点として、前段のFF1、FF1_b,...,FF1_zのデータ出力端子Qに向けて回路を遡ったときのパスに含まれる論理回路によりロジックコーン1が形成される。
また、FF2のデータ出力端子Qを起点として、後段側に位置する次のFF3、FF3_b,...,FF3_zのデータ入力端子Dまでのパスに含まれる論理回路によりロジックコーン2が形成される。ロジックコーン1は、第1のロジックコーンの一例であり、ロジックコーン2は、第2のロジックコーンの一例である。
さらに、FF2に関する他のロジックコーンとして、FF3のデータ入力端子Dを起点として、1つ前段側に位置するFF2_b,...,FF2のデータ入力端子Dに向けて回路を遡ったときのパスに含まれる論理回路によりロジックコーン3が形成される。ロジックコーン3は、第3のロジックコーンの一例である。なお、ロジックコーンに含まれる論理回路を抽出する技術は、タイミング解析ツールや等価性検証ツールなどで使用されている既存の技術であるため、具体的な抽出手法の説明は割愛する。
図10に戻り、ネットリスト入力部12aは、検証対象の論理回路全体の情報を示すネットリスト40を入力する。ネットリスト40は、論理回路の接続情報の一例であり、ネットリスト40が格納されるハードディスク装置等の記憶装置は、接続情報記憶部の一例である。ロジックコーン1抽出部12b、ロジックコーン2抽出部12cおよびロジックコーン3抽出部12dは、ネットリスト40と、マルチサイクル制約決定部11dが決定したマルチサイクルパス候補の起点と終点のFFとに基づいて、次のように動作する。
例えば、ロジックコーン1抽出部12bは、マルチサイクルパス候補の終点のFF2に着目し、終点のFF2のデータ入力端子Dを起点に回路を始点のFF1にたどり着くまで遡っていき、図11のロジックコーン1に含まれる回路を抽出する。ロジックコーン2抽出部12cは、終点のFF2のデータ出力端子Qを起点として後段のFF3,FF3_b,...,FF3_zにたどり着くまで回路をたどり、図11のロジックコーン2に含まれる回路を抽出する。
ロジックコーン3抽出部12dは、ロジックコーン2抽出部12cでたどり着いたFFのうちの1つであるFF3のデータ入力端子Dを起点に回路を前段のFFにたどり着くまで遡っていき、図11のロジックコーン3に含まれる回路を抽出する。なお、図の見やすさを考慮して図11には示していないが、ロジックコーン3抽出部12dは、FF3だけではなくロジックコーン2抽出部12cでたどり着いたFF3_bやFF3_zなどの全てのFFに対して同様の抽出を行う。したがって、実際には複数のロジックコーン3が抽出される。
そして、図10のネットリスト出力部12eは、ロジックコーン1抽出部12b、ロジックコーン2抽出部12cおよびロジックコーン3抽出部12dが抽出した回路群をネットリスト50として出力する。このように、周辺ロジックコーン回路抽出部12は、ロジックコーン1とロジックコーン2と複数のロジックコーン3とに含まれる回路を抽出し、これをマルチサイクルパス候補に関連する回路とみなしてネットリスト50を生成する。ネットリスト50は、ロジックコーン1とロジックコーン2と複数のロジックコーン3とに含まれる回路の接続情報の一例であり、ネットリスト50が格納されるハードディスク装置等の記憶装置は、ロジックコーン記憶部の一例である。
図12は、図1の周辺ロジックコーンプロパティ抽出部13の一例を示すブロック図である。周辺ロジックコーンプロパティ抽出部13は、論理シミュレーション(SIM)結果入力部13aとマルチサイクルパス遷移タイミング特定部13bとを有する。また、周辺ロジックコーンプロパティ抽出部13は、ロジックコーン1入力端子プロパティ抽出部13cとロジックコーン3入力端子プロパティ抽出部13dとプロパティ情報出力部13eとを有する。
プロパティは、一般に属性という意味があるが、ここでは設計仕様の意味として使用される。プロパティは、検証対象の論理回路の端子の信号状態の一例であり、例えば、回路上のノードAが論理1のときノードBは論理0であるというものである。プロパティ情報51が格納されるハードディスク装置等の記憶装置は、信号状態記憶部の一例である。
SIM結果入力部13aは、論理シミュレーション装置32(図1)のSIM結果42を入力する。なお、SIM結果42は、検証対象の回路全体の各フリップフロップの出力の波形が記録されているものであればよい。
マルチサイクルパス遷移タイミング特定部13bは、マルチサイクルパス候補決定部11が決定したマルチサイクル制約とSIM結果42とを用いて、例えば、起点のFF1の出力波形と終点のFF2の出力波形とを検索する。そして、マルチサイクルパス遷移タイミング特定部13bは、起点のFF1/Qと終点のFF2/Qで論理値が変化したクロックサイクル数(クロックサイクルの番号)を求める。
図13は、図11のロジックコーン1のプロパティを抽出する一例を示す説明図である。図13の上側の波形(A)は、1クロックサイクルでタイミングがMETする例を示し、図13の下側の波形(B)は、2クロックサイクルでタイミングがMETする例を示す。
動作波形が波形(A)になるか波形(B)になるかは、実際の論理回路の各素子の伝搬遅延時間や配線遅延により決まる。但し、RTLシミュレーションは、タイミングパス中のセルや各セルの遅延時間の情報を持っていない。このため、図1の論理シミュレーション装置32がRTL記述21とテストパタン22とを使用して実行した論理シミュレーションのSIM結果42を示す波形は、波形(A)になる。波形(A)がSIM結果42に記録されるため、FF1/Qは、クロックサイクル(3)に同期して論理0から論理1に遷移し、FF2/Qは、クロックサイクル(4)に同期して論理0から論理1に遷移することが波形の検索結果から得られる。
図12に示したマルチサイクルパス遷移タイミング特定部13bは、起点のFF1/Qの値が変化する前のクロックサイクル(2)と、FF1/Qの値が変化した後の2つのクロックサイクル(3)、(4)とを注目するクロックサイクルとして特定する。例えば、マルチサイクルパス遷移タイミング特定部13bは、特定したクロックサイクルを、ロジックコーン1、3別に、ロジックコーン1入力端子プロパティ抽出部13cとロジックコーン3入力端子プロパティ抽出部13dとに通知する。
ロジックコーン1入力端子プロパティ抽出部13cは、ネットリスト50を使用して、ロジックコーン1に含まれる回路の端子の各クロックサイクル(2),(3),(4)での値を抽出する(図13の白丸)。例えば、ロジックコーン1に含まれる回路の端子は、FF1/Q,FF1_b/Q,FF1_z/Qなどである。図13の波形(A)、(B)の違いは、FF2/Dが論理0から論理1に遷移するタイミング(クロックサイクル(3)またはクロックサイクル(4))であり、各クロックサイクル(2),(3),(4)で抽出されるプロパティは、波形(A)、(B)で同じである。
FF2/Dへの伝播時間の違いは、FF2/Qの波形にも影響する。すなわち、波形(A)では、クロックサイクル(4)と(5)の2クロックサイクルの間、FF2/Qの値が論理1になる(図13(a))。波形(B)では、クロックサイクル(5)の1クロックサイクルだけ、FF2/Qの値が論理1になる(図13(b))。このように、マルチサイクル2では、終点のFF2の入力までの信号の伝播遅延時間の違いよって、波形(A)、(B)のいずれかになる。波形(A)、(B)のどちらであっても論理回路が正常動作する場合、そのタイミングパスはマルチサイクル2であるとすることができる。
図14は、図11のロジックコーン3のプロパティを抽出する一例を示す説明図である。図14の上側の波形(A)は、図13の波形(A)において1クロックサイクルでタイミングがMETする場合の後続の動作を示す。図14の下側の波形(B)は、図13の波形(B)において2クロックサイクルでタイミングがMETする場合の後続の動作を示す。
図12のロジックコーン3入力端子プロパティ抽出部13dは、ネットリスト50を使用して、ロジックコーン3(図11)の各端子、つまりFF2_b/Qなどの論理値を抽出する(図14の白丸)。ロジックコーン3が、図11に示したものだけでないことは前述の通りである。したがって、ロジックコーン3入力端子プロパティ抽出部13dは、図11に示されていない全てのロジックコーン3に含まれる回路の端子の値を抽出することになる。
また、注目するクロックサイクルは、ロジックコーン1入力端子プロパティ抽出部13cの場合に比べて1サイクル進んだクロックサイクル(3),(4),(5)になる。これはロジックコーン3がロジックコーン1より1クロックサイクル後段の回路であるからである。
ロジックコーン1入力端子プロパティ抽出部13cおよびロジックコーン3入力端子プロパティ抽出部13dの動作により、周辺ロジックコーン回路抽出部12で得られた回路の全ての端子の所定のクロックサイクルのプロパティを抽出できたことになる。そして、図12のプロパティ情報出力部13eは、抽出された複数のプロパティを含むプロパティ情報51を出力する。プロパティ情報51は、どの端子がどのクロックサイクルでどういう論理値になっているかというプロパティの情報が含まれていれば、フォーマットは限定されない。例えば、マルチサイクルパス可否判断部15で使用する等価性検証装置15a(図16)がサポートしている言語(例えば、System Verilog Assertionなど)を使用して、プロパティ情報51が作成されてもよい。
このように、周辺ロジックコーンプロパティ抽出部13は、ロジックコーン1とロジックコーン3の全ての端子の所定のクロックサイクルでの論理値をプロパティとしてSIM結果42から抽出することができる。
図15は、マルチサイクルパスで回路が正常に動作するかを判断する一例を示す説明図である。図15に示す波形は、図14に示す波形と同じである。
マルチサイクルパスで回路が正常に動作するかを判断する場合、先ず、図11に示したロジックコーン2の1つの出力端子であるFF3/Qの波形に注目する。そして、ロジックコーン3入力端子プロパティ抽出部13dで抽出したクロックサイクル(3),(4),(5)の影響を受けるクロックサイクル(4),(5),(6)の波形(A)と波形(B)とを比較する。図15では、マルチサイクルパスの終点のFF2/Qの波形(A)と波形(B)とが異なっているにも関わらず、後段のFF3/Qでは、波形(A)と波形(B)において黒丸で示す論理は全て同じである。すなわち、検証対象の論理回路は、1クロックサイクルでMETしても、2クロックサイクルでMETしても正常に動作する。
換言すれば、マルチサイクルパスで回路が正常に動作する場合、マルチサイクル2(1サイクルでMETする場合)でもマルチサイクル2(2サイクルでMETする場合)でも、回路の後段ではその違いを吸収して同じ波形になる。したがって、回路の後段の波形(論理値)が同じであることを証明することで、マルチサイクルパスで回路が正常に動作すると判断することができ、真のマルチサイクルパスを抽出することができる。
ここで、タイミング制約抽出装置10は、マルチサイクルパスで回路が正常に動作することの証明を、論理シミュレーションではなく等価性検証技術を用いて行う。例えば、図16で説明する等価性検証装置15aは、ネットリスト50から再現される波形(A)で動作する回路と、ネットリスト52から再現される波形(B)で動作する回路との等価性検証を行う。ここで、ネットリスト50は、上述したように、周辺ロジックコーン回路抽出部12により作成され、ネットリスト52は、図16で説明するマルチサイクル検証用回路作成部14により作成される。
図16は、図1のマルチサイクル検証用回路作成部14およびマルチサイクルパス可否判断部15の一例を示すブロック図である。マルチサイクル検証用回路作成部14は、フリップフロップ追加部14aとネットリスト出力部14bとを有する。マルチサイクルパス可否判断部15は、等価性検証装置15aとマルチサイクル可否判断部15bとを有する。
フリップフロップ追加部14aは、マルチサイクルパス候補のパスを、シングルサイクルパスからマルチサイクルパスにするために、所定数のフリップフロップを追加する。フリップフロップ追加部14aが追加するフリップフロップの数は、マルチサイクルパス候補決定部11が決定したマルチサイクル制約(マルチサイクル数)から自動的に決定する。
例えば、マルチサイクル2であれば1個のフリップフロップが追加され、マルチサイクル3であれば2個のフリップフロップが追加される。すなわち、マルチサイクルn(nは2以上の整数)では、n-1個のフリップフロップが追加される。ネットリスト出力部14bは、フリップフロップ追加部14aにより所定数のフリップフロップが追加されたネットリスト52を出力する。フリップフロップ追加部14aにより所定数のフリップフロップが追加されたネットリスト52は、マルチサイクルパスの検証用回路の接続情報の一例である。ネットリスト52が格納されるハードディスク装置等の記憶装置は、検証用回路記憶部の一例である。
図17は、図16のフリップフロップ追加部14aによりフリップフロップを追加する一例を示す説明図である。図17に示す回路において、フリップフロップFF1_addを追加する前の元の回路は、図2に示したマルチサイクル2のマルチサイクルパス候補を含む回路である。
図17に示すように、フリップフロップ追加部14aは、マルチサイクルパス候補の起点となるFF1の出力にFF1_addを1個追加する。1個のFF1_addを追加することによって、FF1からFF2へ信号を伝播するために2クロックサイクルが必要になる。すなわち、FF1_addの追加により、図13および図14に示した波形(B)を擬似的に再現できる回路を作成したことになる。このように、マルチサイクル検証用回路作成部14は、起点となるFFの直後に、想定しているマルチサイクル数より1つ少ない数のFFを追加した回路を、マルチサイクル時のタイミングを擬似的に再現する回路として作成することができる。
図16に戻って、マルチサイクルパス可否判断部15の等価性検証装置15aは、フリップフロップが追加された回路のネットリスト52と、シングルパスに対応する回路のネットリスト50とを使用して2つの回路の等価性検証を実行する。この際、2つの回路の入力端子に与える制約として、周辺ロジックコーンプロパティ抽出部13で作成したプロパティ情報51が使用される。
例えば、等価性検証装置15aは、市販されているシーケンシャル等価性検証ツールでもよい。なお、等価性検証ツールには、フリップフロップで分割された組み合わせ回路を対象とするものと、組合せ回路だけでなく順序回路も検証可能なシーケンシャル等価性検証と呼ばれるものとの2種類がある。ここで、組み合わせ回路は、ORゲートやANDゲートなどのクロックが供給されない論理セルで構成された回路であり、順序回路は、フリップフロップなどのクロックが供給される論理セルで構成された回路である。
図18は、図16の等価性検証装置15aによる等価性検証の一例を示す説明図である。等価性検証装置15aが検証する2つの回路は、フリップフロップの段数が相違するため、フリップフロップも含めて検証が可能なシーケンシャル等価性検証を実行する必要がある。
等価性検証装置15aは、ネットリスト50,52で示される2つの検証回路の入力端子にプロパティ情報51を使用して同じ制約を与え、出力端子から出力される信号の論理値である出力値を比較する。そして、等価性検証装置15aは、出力値の論理が常に同じ場合に、2つの回路が等価であることを示すレポートを出力し、出力値の論理に違いがある場合に、不等価であることを示すレポートを出力する。すなわち、等価性検証装置15aは、ロジックコーン1とロジックコーン3とに含まれる回路をマルチサイクルパスの候補に関連する回路とみなして等価性検証で使用する。
ここで、マルチサイクル制約決定部11dで決定したマルチサイクル制約が示すマルチサイクル数に対応する数のフリップフロップを追加した回路を作成することで、マルチサイクルパスの可否判断を等価性検証技術で行うことができる。等価性検証は、テストパタンを使用せずに静的手法により検証を実行できるため、テストパタンを用いて動的に検証を実行する論理シミュレーションに比べて、検証時間を短縮することができる。
また、等価性検証装置15aが検証に使用するネットリスト50,52は、図11に示したロジックコーンに含まれる回路の接続、すなわち、マルチサイクルに関連する回路の接続を示す。マルチサイクルパスに関連する回路を抜き出して等価性検証を実行することで、マルチサイクルパスに関係の無い回路を含めて等価性検証を実行する場合に比べて検証時間を短縮することができる。
図16に示したマルチサイクル可否判断部15bは、等価性検証装置15aから出力されるレポートで示される比較結果が等価を示す場合には、当該検証対象のマルチサイクルパス候補を真のマルチサイクルと判断する。また、マルチサイクル可否判断部15bは、等価性検証装置15aから出力されるレポートで示される比較結果が不等価を示す場合には、当該検証対象のマルチサイクルパス候補をシングルパスと判断する。そして、マルチサイクル可否判断部15bは、マルチサイクルパス候補のうち、真のマルチサイクルパスと判断したタイミングパスを示す情報を図1に示したタイミング制約出力部16に出力する。
タイミング制約出力部16は、マルチサイクル可否判断部15bがマルチサイクルパスと判断したタイミングパスについてのみ、マルチサイクル制約決定部11dで決定したマルチサイクル制約をマルチサイクルタイミング制約53として出力する。そして、タイミング制約抽出装置10により、マルチタイミングパスを自動的に抽出する動作が完了する。マルチサイクルタイミング制約53は、真のマルチサイクルパスのタイミング制約を示すタイミング制約情報の一例である。
図19は、図1の情報処理装置100のハードウェア構成の一例を示すブロック図である。情報処理装置100は、CPU101とROM(Read Only Memory)102とRAM(Random Access Memory)103と外部記憶装置104とを有する。また、情報処理装置100は、入力インタフェース部105と出力インタフェース部106と入出力インタフェース部107と通信インタフェース部108とを有する。例えば、CPU101とROM102とRAM103と外部記憶装置104と入力インタフェース部105と出力インタフェース部106と入出力インタフェース部107と通信インタフェース部108とは、バスBUSを介して相互に接続される。
CPU101は、OSおよびアプリケーション等の各種プログラムを実行し、情報処理装置100の全体の動作を制御する。ROM102は、各種プログラムをCPU101により実行可能にするための基本プログラムや各種パラメータ等を保持する。RAM103は、CPU101により実行される各種プログラムや、プログラムで使用するデータを記憶する。
外部記憶装置104は、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等であり、RAM103に展開する各種プログラムを記憶する。なお、各種プログラムには、タイミング制約抽出プログラムが含まれる。
入力インタフェース部105には、情報処理装置100を操作する操作者等からの入力を受け付けるキーボード、マウスやタブレット等の入力装置110が接続される。出力インタフェース部106には、CPU101が実行する各種プログラムにより生成される表示画面等を表示する表示装置やプリンタ等の出力装置120が接続される。
入出力インタフェース部107には、USB(Universal Serial Bus)メモリ等の記録媒体130が接続される。例えば、記録媒体130には、タイミング制約抽出プログラム等の各種プログラムが格納されてもよい。この場合、プログラムは、入出力インタフェース部107を介して記録媒体130からRAM103に転送される。なお、記録媒体130は、CD-ROMやDVD(Digital Versatile Disc:登録商標)等でもよく、この場合、入出力インタフェース部107は、接続する記録媒体130に対応するインタフェースを有する。通信インタフェース部108は、情報処理装置100を、例えばネットワークに接続する。なお、記録媒体130は、入出力インタフェースを介してバスに接続されてもよい。
以上、この実施形態では、タイミング制約抽出装置10は、真のマルチサイクルパスを自動的に抽出することができる。これにより、マルチサイクルパスの判断に要する工数を削減し、判断ミスの発生を防止することができる。
例えば、マルチサイクルパス候補決定部11は、入力されたタイミングレポートファイル41から自動的にマルチサイクルパス候補を決定することができ、決定したマルチサイクルパス候補をマルチサイクル制約として出力することができる。したがって、設計者等が人手でマルチサイクルパス候補を生成する場合に比べて、作成工数を削減することができ、作成ミスや記述ミスの発生を防止することができる。
周辺ロジックコーンプロパティ抽出部13は、ロジックコーン1とロジックコーン3の全ての端子の所定のクロックサイクルでの論理値をプロパティとしてSIM結果42から抽出することができる。マルチサイクル検証用回路作成部14は、起点となるFFの直後に、想定しているマルチサイクル数より1つ少ない数のFFを追加した回路を、マルチサイクル時のタイミングを擬似的に再現する回路として作成することができる。
マルチサイクル制約決定部11dで決定したマルチサイクル制約が示すマルチサイクル数に対応する数のフリップフロップを追加した回路を作成することで、マルチサイクルパスの可否判断を等価性検証技術で行うことができる。等価性検証は、テストパタンを使用せずに静的手法により検証を実行できるため、テストパタンを用いて動的に検証を実行する論理シミュレーションに比べて、検証時間を短縮することができる。
また、等価性検証装置15aが検証に使用するネットリスト50、52は、図11に示したロジックコーンに含まれる回路の接続、すなわち、マルチサイクルに関連する回路の接続を示す。マルチサイクルパスに関連する回路を抜き出して等価性検証を実行することで、マルチサイクルパスに関係の無い回路を含めて等価性検証を実行する場合に比べて検証時間を短縮することができる。
なお、上述した実施形態では、分かりやすさを考慮して、図2に示す比較的簡易な論理回路について、マルチタイミングパスを自動的に抽出する例を説明した。しかしながら、実際には、半導体集積回路に搭載される全ての論理回路について、真のマルチタイミングパスが網羅的に抽出される。
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
10 タイミング制約抽出装置
11 マルチサイクルパス候補決定部
11a タイミングレポートファイル入力部
11b タイミングバイオレーション情報抽出部
11c サイクル数計算部
11d マルチサイクル制約決定部
12 周辺ロジックコーン回路抽出部
12a ネットリスト入力部
12b ロジックコーン1抽出部
12c ロジックコーン2抽出部
12d ロジックコーン3抽出部
12e ネットリスト出力部
13 周辺ロジックコーンプロパティ抽出部
13a SIM結果入力部
13b マルチサイクルパス遷移タイミング特定部
13c ロジックコーン1入力端子プロパティ抽出部
13d ロジックコーン3入力端子プロパティ抽出部
13e プロパティ情報出力部
14 マルチサイクル検証用回路作成部
14a フリップフロップ追加部
14b ネットリスト出力部
15 マルチサイクルパス可否判断部
15a 等価性検証装置
15b マルチサイクル可否判断部
16 タイミング制約出力部
20 クロック情報
21 RTL記述
22 テストパタン
30 論理合成装置
31 タイミング解析装置
32 論理シミュレーション装置
40 ネットリスト
41 タイミングレポートファイル
42 論理シミュレーション結果
50 ネットリスト
51 プロパティ情報
52 ネットリスト
53 マルチサイクルタイミング制約
100 情報処理装置
特許第5040758号公報

Claims (5)

  1. 半導体集積回路に搭載する論理回路のタイミング制約を抽出するタイミング制約抽出装置であって、
    検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報をタイミング情報記憶部から入力し、入力した前記タイミング情報に基づいてマルチサイクルパスの候補を決定するマルチサイクルパス候補決定手段と、
    前記検証対象の論理回路の接続情報を接続情報記憶部から入力し、入力した前記接続情報に基づいて前記マルチサイクルパスの候補の終点のフリップフロップに接続されるロジックコーンを抽出し、抽出したロジックコーンに含まれる回路の接続情報をロジックコーン記憶部に格納するコーン抽出手段と、
    前記検証対象の論理回路の論理シミュレーション結果をシミュレーション結果記憶部から入力し、入力した前記論理シミュレーション結果を使用して、前記コーン抽出手段が抽出したロジックコーンに含まれる回路の端子の信号状態を抽出し、抽出した信号状態を信号状態記憶部に格納する信号状態抽出手段と、
    前記抽出したロジックコーンのうち、前記マルチサイクルパスの候補を含むロジックコーンにフリップフロップを追加してマルチサイクルパスの検証用回路を作成し、作成した前記検証用回路の接続情報を検証用回路記憶部に格納する検証用回路作成手段と、
    前記抽出したロジックコーンに含まれる回路の接続情報と前記検証用回路の接続情報と前記抽出した信号状態とを、前記ロジックコーン記憶部と前記検証用回路記憶部と前記信号状態記憶部とからそれぞれ入力し、入力した回路の接続情報に、前記抽出した信号状態を与えて等価性検証を実行し、等価である前記マルチサイクルパスの候補を真のマルチサイクルパスと判断する判断手段と、
    前記判断手段が判断した前記真のマルチサイクルパスのタイミング制約を示すタイミング制約情報を出力する出力手段と、
    を有することを特徴とするタイミング制約抽出装置。
  2. 前記コーン抽出手段は、
    前記終点のフリップフロップから始点のフリップフロップに向けて回路を遡ったときの回路を含む第1のロジックコーンを抽出する第1の抽出手段と、
    前記終点のフリップフロップの後段側に位置する次のフリップフロップまでの回路を含む第2のロジックコーンを抽出する第2の抽出手段と、
    前記後段側に位置する前記次のフリップフロップから1つ前段側に位置するフリップフロップまで遡ったときの回路を含み、前記終点のフリップフロップに接続された第3のロジックコーンを抽出する第3の抽出手段と、を有し、
    前記信号状態抽出手段は、前記第1のロジックコーンと前記第3のロジックコーンとに含まれる回路の端子の信号状態を抽出し、
    前記判断手段は、前記第1のロジックコーンと前記第3のロジックコーンとを前記マルチサイクルパスの候補に関連する回路とみなして前記等価性検証で使用することを特徴とする請求項1に記載のタイミング制約抽出装置。
  3. 前記検証用回路作成手段は、前記マルチサイクルパスの候補の始点のフリップフロップの出力に、前記マルチサイクルパス候補決定手段が決定した前記マルチサイクルパスの候補のマルチサイクル数より1つ少ない数のフリップフロップを追加することで、前記検証用回路を作成することを特徴とする請求項1または請求項2に記載のタイミング制約抽出装置。
  4. 半導体集積回路に搭載する論理回路のタイミング制約を抽出するタイミング制約抽出装置が実行するタイミング制約抽出方法であって、
    検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報をタイミング情報記憶部から入力し、入力した前記タイミング情報に基づいてマルチサイクルパスの候補を決定し、
    前記検証対象の論理回路の接続情報を接続情報記憶部から入力し、入力した前記接続情報に基づいて前記マルチサイクルパスの候補の終点のフリップフロップに接続されるロジックコーンを抽出し、抽出したロジックコーンに含まれる回路の接続情報をロジックコーン記憶部に格納し、
    前記検証対象の論理回路の論理シミュレーション結果をシミュレーション結果記憶部から入力し、入力した前記論理シミュレーション結果を使用して、前記抽出したロジックコーンに含まれる回路の端子の信号状態を抽出し、抽出した信号状態を信号状態記憶部に格納し、
    前記抽出したロジックコーンのうち、前記マルチサイクルパスの候補を含むロジックコーンにフリップフロップを追加してマルチサイクルパスの検証用回路を作成し、作成した前記検証用回路の接続情報を検証用回路記憶部に格納し、
    前記抽出したロジックコーンに含まれる回路の接続情報と前記検証用回路の接続情報と前記抽出した信号状態とを、前記ロジックコーン記憶部と前記検証用回路記憶部と前記信号状態記憶部とからそれぞれ入力し、入力した回路の接続情報に、前記抽出した信号状態を与えて等価性検証を実行し、等価である前記マルチサイクルパスの候補を真のマルチサイクルパスと判断し、
    判断した前記真のマルチサイクルパスのタイミング制約を示すタイミング制約情報を出力することを特徴とするタイミング制約抽出方法。
  5. 半導体集積回路に搭載する論理回路のタイミング制約を抽出するタイミング制約抽出装置が実行するタイミング制約抽出プログラムであって、
    検証対象の論理回路において、組合せ回路を介して接続される一対のフリップフロップ間で入出力される信号のタイミングを示すタイミング情報をタイミング情報記憶部から入力し、入力した前記タイミング情報に基づいてマルチサイクルパスの候補を決定し、
    前記検証対象の論理回路の接続情報を接続情報記憶部から入力し、入力した前記接続情報に基づいて前記マルチサイクルパスの候補の終点のフリップフロップに接続されるロジックコーンを抽出し、抽出したロジックコーンに含まれる回路の接続情報をロジックコーン記憶部に格納し、
    前記検証対象の論理回路の論理シミュレーション結果をシミュレーション結果記憶部から入力し、入力した前記論理シミュレーション結果を使用して、前記抽出したロジックコーンに含まれる回路の端子の信号状態を抽出し、抽出した信号状態を信号状態記憶部に格納し、
    前記抽出したロジックコーンのうち、前記マルチサイクルパスの候補を含むロジックコーンにフリップフロップを追加してマルチサイクルパスの検証用回路を作成し、作成した前記検証用回路の接続情報を検証用回路記憶部に格納し、
    前記抽出したロジックコーンに含まれる回路の接続情報と前記検証用回路の接続情報と前記抽出した信号状態とを、前記ロジックコーン記憶部と前記検証用回路記憶部と前記信号状態記憶部とからそれぞれ入力し、入力した回路の接続情報に、前記抽出した信号状態を与えて等価性検証を実行し、等価である前記マルチサイクルパスの候補を真のマルチサイクルパスと判断し、
    判断した前記真のマルチサイクルパスのタイミング制約を示すタイミング制約情報を出力することを特徴とするタイミング制約抽出プログラム。
JP2019205611A 2019-11-13 2019-11-13 タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム Active JP7351189B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019205611A JP7351189B2 (ja) 2019-11-13 2019-11-13 タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019205611A JP7351189B2 (ja) 2019-11-13 2019-11-13 タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム

Publications (2)

Publication Number Publication Date
JP2021077282A JP2021077282A (ja) 2021-05-20
JP7351189B2 true JP7351189B2 (ja) 2023-09-27

Family

ID=75898023

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019205611A Active JP7351189B2 (ja) 2019-11-13 2019-11-13 タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム

Country Status (1)

Country Link
JP (1) JP7351189B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004171149A (ja) 2002-11-18 2004-06-17 Fujitsu Ltd マルチサイクルパス解析方法
JP2008243092A (ja) 2007-03-29 2008-10-09 Toshiba Corp マルチサイクルパス検出装置、マルチサイクルパス検出方法及びマルチサイクルパス検出プログラム
US20130145333A1 (en) 2011-12-06 2013-06-06 International Business Machines Corporation Statistical clock cycle computation
JP2013196132A (ja) 2012-03-16 2013-09-30 Ricoh Co Ltd 半導体集積回路の設計支援装置および半導体集積回路のフォルスパス抽出方法
US9842187B1 (en) 2016-03-28 2017-12-12 Xilinx, Inc. Representation of complex timing characteristics of startpoint-endpoint pairs in a circuit design

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004171149A (ja) 2002-11-18 2004-06-17 Fujitsu Ltd マルチサイクルパス解析方法
JP2008243092A (ja) 2007-03-29 2008-10-09 Toshiba Corp マルチサイクルパス検出装置、マルチサイクルパス検出方法及びマルチサイクルパス検出プログラム
US20130145333A1 (en) 2011-12-06 2013-06-06 International Business Machines Corporation Statistical clock cycle computation
JP2013196132A (ja) 2012-03-16 2013-09-30 Ricoh Co Ltd 半導体集積回路の設計支援装置および半導体集積回路のフォルスパス抽出方法
US9842187B1 (en) 2016-03-28 2017-12-12 Xilinx, Inc. Representation of complex timing characteristics of startpoint-endpoint pairs in a circuit design

Also Published As

Publication number Publication date
JP2021077282A (ja) 2021-05-20

Similar Documents

Publication Publication Date Title
US10031986B1 (en) System and method for creating a spice deck for path-based analysis of an electronic circuit design using a stage-based technique
US20050216247A1 (en) Method and program for verifying logic circuit having asynchronous interface
JP4176906B2 (ja) 静的・動的タイミング検証方法及び記憶媒体
CN112949233B (zh) Fpga芯片的自动化开发方法及装置、电子设备
US8181131B2 (en) Enhanced analysis of array-based netlists via reparameterization
JP4251964B2 (ja) 検証装置、検証方法およびプログラム
JP2006107517A (ja) クロストークを考慮したタイミング分析のためのシステム、方法及び論理装置
JP2010531001A (ja) 自動回路設計及びシミュレーションに使用するための技術
US8522182B2 (en) Generation of an end point report for a timing simulation of an integrated circuit
US7823101B2 (en) Device, method, and storage for verification scenario generation, and verification device
CN107784185B (zh) 一种门级网表中伪路径的提取方法、装置及终端设备
JP6787045B2 (ja) 検証支援プログラム、検証支援方法、および情報処理装置
JP5830955B2 (ja) 検証装置、検証方法及び検証プログラム
US7945882B2 (en) Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium
JP7351189B2 (ja) タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム
JP2008204199A (ja) 検証装置、検証方法及びプログラム
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US8959467B2 (en) Structural rule analysis with TCL scripts in synthesis or STA tools and integrated circuit design tools
US7275223B2 (en) Facilitating high-level validation of integrated circuits in parallel with development of blocks in a hierarchical design approach
JP4881769B2 (ja) 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム
US10885248B1 (en) Method for modeling glitches during circuit simulation
JP5146369B2 (ja) 回路設計プログラム、回路設計方法および回路設計装置
TW202213155A (zh) 邏輯模擬驗證系統、邏輯模擬驗證方法、及程式產品
Plassan et al. Improving the efficiency of formal verification: the case of clock-domain crossings
Kebaili et al. Enabler-based synchronizer model for clock domain crossing static verification

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230712

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230828

R151 Written notification of patent or utility model registration

Ref document number: 7351189

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151