JP5146369B2 - 回路設計プログラム、回路設計方法および回路設計装置 - Google Patents
回路設計プログラム、回路設計方法および回路設計装置 Download PDFInfo
- Publication number
- JP5146369B2 JP5146369B2 JP2009057307A JP2009057307A JP5146369B2 JP 5146369 B2 JP5146369 B2 JP 5146369B2 JP 2009057307 A JP2009057307 A JP 2009057307A JP 2009057307 A JP2009057307 A JP 2009057307A JP 5146369 B2 JP5146369 B2 JP 5146369B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- domain
- logic
- circuit
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明はこのような点に鑑みてなされたものであり、同期リセット信号を容易かつ確実に抽出することができる回路設計プログラム、回路設計方法および回路設計装置を提供することを目的とする。
測定手段は、抽出されたドメインの信号の論理を変化させて順序回路に入力される信号値を測定する。
まず、実施の形態の回路設計装置について説明し、その後、実施の形態をより具体的に説明する。
実施の形態の回路設計プログラムは、コンピュータ(回路設計装置)1を、ドメイン抽出手段2、測定手段3、および同期リセット判定手段4として機能させる。
具体的には、順序回路にイネーブル端子が存在する場合、ドメイン抽出手段2は、イネーブル端子からバックトレースし、外部入力端子、他の順序回路またはブラックボックスに到達した端子の信号をドメインとして抽出するのが好ましい。これにより、ドメインを容易かつ確実に抽出することができる。
図2は、回路設計装置のハードウェア構成例を示す図である。
回路設計装置10は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス108を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、外部補助記憶装置106および通信インタフェース107が接続されている。
回路設計装置10は、HDL記述格納部11と、ライブラリ格納部12と、同期リセット抽出部13と、同期リセット格納部14とを有している。
同期リセット抽出部13は、ハードウェア記述言語のフリップフロップ記述部分を取り出して、そのフリップフロップのイネーブル端子の有無によって異なる方法で同期リセット記述部分を抽出(以下、単に「同期リセットを抽出」と言う)する。
次に、同期リセット抽出部13の機能を説明する。
同期リセット抽出部13は、ドメイン抽出部131と、ドメイン一覧格納部132と、定数伝播部133と、同期リセット判定部134とを有している。
ドメイン抽出部131は、Dフリップフロップのイネーブル端子から組み合わせ論理をバックトレースし、外部入力端子、Dフリップフロップ出力端子またはブラックボックスに到達した端子の属するネット信号をドメインとして抽出する。抽出したドメインは、ドメイン一覧格納部132に格納する。ここで、ブラックボックスとは、HDL記述が存在しない、または、PLL、I/O等合成スタイルに則っていないRTL記述を言う。
図5に示す回路20は、セレクタSel1とレジスタReg1とを備えるDフリップフロップ21と、Clear信号をDフリップフロップ21に供給するAND回路AND1およびAND回路AND2と、インバータInv1〜Inv3とを有している。
図5に示す例では、ドメイン抽出部131は、イネーブル端子Eからバックトレースを開始する。すると、インバータInv1を経由してAND回路AND2に到達する。
図6は、Dフリップフロップにイネーブル端子が存在しない場合のドメイン抽出部の処理を示す図である。
if文やCase文等の分岐条件がコントロール部(図6中、三角の部分)になる。また、代入文がデータ部(図6中、四角い部分)になる。
図5に示す回路20を用いて定数伝播の観測処理を説明すると、抽出したドメインのネット信号(ClearおよびInCtrl)にそれぞれ「0」および「1」を与える。また、それ以外のネット信号(InData)に論理「X」を与える。そして、ドメインの全パターン22数=4について、シミュレーションを行って定数を伝播させ、Dフリップフロップ21の入力端子Dのネット信号値を観測する。
図7に示すテーブル41は、観測結果を示すテーブル(表)である。
テーブル41は、ドメインのネット信号、ドメイン以外のネット信号および観測するDFF入力の欄が設けられており、横方向に並べられた情報同士が互いに関連づけられている。
図7に示す例では、観測箇所のDフリップフロップの入力端子の論理が、テーブル41の3番目および4番目のパターンにていずれも「0」になっている。このため、観測箇所のDフリップフロップの入力が定数(0または1)となることがあり、かつ、定数の値が全て同一であるという条件を満たしている。従って、同期リセット判定部134は、同期リセット信号が存在すると判定する。
図8は、同期リセット抽出部の全体処理を示すフローチャートである。
まず、同期リセット抽出対象のDフリップフロップを取り出す(ステップS1)。
次に、定数伝播部133が、定数伝播の観測を行う(ステップS3)。すなわち、ドメインに定数値、それ以外に「X」を設定し、シミュレーション後のDフリップフロップの入力端子の論理を観測する。
以上で全体処理の説明を終了する。
次に、イネーブル端子が存在するDフリップフロップのドメイン抽出部131の処理を説明する。
まず、Dフリップフロップのイネーブル端子からバックトレースを行う(ステップS11)。
バックトレースが終了した場合(ステップS12のYes)、ドメイン抽出処理を終了する。
そして、到達したポイントが外部入力、フリップフロップまたはブラックボックスのいずれか否かを判断する(ステップS14)。
次に、イネーブル端子が存在しないDフリップフロップのドメイン抽出部131の処理を説明する。
まず、CDFGからDフリップフロップの条件信号を抽出する(ステップS21)。
抽出が終了した場合(ステップS22のYes)、処理を終了する。
そして、抽出した条件信号をドメインとしてドメイン一覧格納部132に格納(追加)する(ステップS24)。その後、ステップS22に移行し、ステップS22以降の処理を引き続き行う。
次に、ステップS4の判定処理を説明する。
図11は、判定処理を示すフローチャートである。
次に、テーブル41の、あるビットのDFF入力の信号値が定数値か否かを判断する(ステップS32)。
一方、DFF入力の観測値が定数値である場合(ステップS32のYes)、ドメインに設定したパターンよりAND論理を生成する(ステップS33)。
次に、全てのパターンの論理式を生成したか否かを判断する(ステップS35)。
全てのパターンの論理式を生成していない場合(ステップS35のNo)、ステップS32に移行し、次のビットのDFF入力の観測値について、ステップS32以降の処理を引き続き行う。
次に、同期リセット抽出処理の具体例を説明する。
図12は、同期リセット抽出処理の具体例を示す図である。
図12(a)に示すRTL記述31aは、定数が出力に代入されている。すなわち、入力信号はないが、制御信号でフリップフロップの「0」、「1」を変える。具体的には、InCtrl1のときに1になる。Inctrl2のときに「0」になる。
そして、同期リセット判定部134は、図12(b)に示す、定数伝播部133が定数伝播の観測処理を行って得られたテーブル41aを参照する。すると、Dフリップフロップの入力端子の論理が定数になることはあるが、定数の値が同一ではないため同期リセットが存在しないと判定する。
図13は、同期リセット抽出処理の具体例を示す図である。
ドメイン抽出部131は、図13(a)に示すRTL記述31bからネット信号(Clear、InitおよびInCtrl)をドメインとして抽出する。
図14は、同期リセット抽出処理の具体例を示す図である。
ドメイン抽出部131は、図14(a)に示すRTL記述31cからネット信号(Clear、InitおよびInCtrl)をドメインとして抽出する。
図15は、同期リセット抽出処理の具体例を示す図である。
ドメイン抽出部131は、図15(a)に示すRTL記述31dからネット信号(ClearおよびInCtrl)をドメインとして抽出する。
回路設計装置10は、さらに、設計仕様格納部51と、RTL設計部52と、記述スタイルチェック部53と、非同期構造チェック部54と、論理合成部55と、ネットリスト格納部56とを有している。
RTL設計部52は、設計仕様格納部51に格納されている設計仕様からRTLを設計する。設計したRTL設計記述のHDLをHDL記述格納部11に格納する。
非同期構造チェック部54は、同期リセット格納部14に格納されている同期リセットの信号名やリセット値に基づいて、異なるクロックで動作する回路間でデータを転送する際に、誤動作等の問題が起こるか否かをチェックする。
周波数が異なるクロック信号(Tclk)およびクロック信号(Rclk)でデータを転送する場合、メタ・ステーブルが発生することがある。これを防ぐためにクロックRclk(受信側のクロック)でDフリップフロップ21、21aを2つ並べて二段受けするシンクロナイザ61が設けられている。図17に示すようにDフリップフロップ21、21a間に同期リセットを挿入するAND回路AND3が配置される場合がある。
図18は、非同期構造チェック部の処理を示すフローチャートである。
まず、同期リセットがONにならない(抽出したリセット値の反対)値をネットに設定して定数を伝播する(ステップS41)。
次に、非同期パスの前後に論理が存在するか否かを判断する(ステップS43)。
非同期パスの前後に論理が存在しない場合(ステップS43のNo)、ステップS46に移行する。
多入力で1入力以外が定数ではない場合(ステップS44のNo)、ステップS46に移行する。
次に、全ての非同期パスを抽出したか否かを判断する(ステップS46)。
一方、全て抽出した場合(ステップS46のYes)、マークされた論理を無視して非同期構造チェックを行う(ステップS47)。その後、処理を終了する。
次に、論理合成部55にレポートを読み込ませたときの処理を説明する。
図19は、論理合成部にレポートを読み込ませたときの例を示す図である。
図19(a)に示すように、セレクタSel2の前段に同期リセットを含むAND−OR論理が存在する論理合成をされてしまうと、セレクタSel2が出力する信号の論理が「X」となり、Dフリップフロップ21bに対してリセットがいつまでもかからない。何故なら、セレクタの制御信号に不定Xが入っていると、セレクタは「X」を出力するからである。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、回路設計装置10が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。
2 ドメイン抽出手段
3 測定手段
4 同期リセット判定手段
5、20、60 回路
6、21、21a、21b Dフリップフロップ
7、Inv1、Inv2、Inv3 インバータ
8、AND1〜AND6 AND回路
11 HDL記述格納部
12 ライブラリ格納部
13 同期リセット抽出部
14 同期リセット格納部
31〜31d RTL記述
32 CDFG
41〜41d テーブル
51 設計仕様格納部
52 RTL設計部
53 記述スタイルチェック部
54 非同期構造チェック部
55 論理合成部
56 ネットリスト格納部
61 シンクロナイザ
131 ドメイン抽出部
132 ドメイン一覧格納部
133 定数伝播部
134 同期リセット判定部
Reg1 レジスタ
Sel1、Sel2 セレクタ
Claims (8)
- コンピュータを、
順序回路の同期リセット信号の候補となる信号のドメインを抽出するドメイン抽出手段、
抽出された前記ドメインの信号の論理を変化させて前記順序回路に入力される信号値を測定する測定手段、
前記測定手段によって測定された信号値に基づいて同期リセット信号が存在するか否かを判定する同期リセット判定手段、
として機能させることを特徴とする回路設計プログラム。 - 前記順序回路にイネーブル端子が存在する場合、前記ドメイン抽出手段は、前記イネーブル端子からバックトレースし、外部入力端子、他の順序回路またはブラックボックスに到達した端子の信号のドメインを抽出することを特徴とする請求項1記載の回路設計プログラム。
- 前記順序回路にイネーブル端子が存在しない場合、前記ドメイン抽出手段は、前記順序回路の出力信号の論理に関係する条件の属する信号のドメインを抽出することを特徴とする請求項1記載の回路設計プログラム。
- 前記測定手段は、抽出された前記ドメイン以外のネット信号に不定の論理を与えて前記信号値を測定することを特徴とする請求項1記載の回路設計プログラム。
- 前記同期リセット判定手段は、前記順序回路に入力される信号値が、定数、かつ、前記定数が全て同一である場合、同期リセット信号が存在すると判定することを特徴とする請求項1記載の回路設計プログラム。
- 前記コンピュータを、さらに、前記同期リセット判定手段により、同期リセット信号が存在すると判定された前記ドメインのネット信号の論理を最適化する論理最適化手段として機能させることを特徴とする請求項1記載の回路設計プログラム。
- コンピュータが実行する、
ドメイン抽出手段が、順序回路の同期リセット信号の候補となる信号のドメインを抽出し、
測定手段が、抽出された前記ドメインの信号の論理を変化させて前記順序回路に入力される信号値を測定し、
同期リセット判定手段が、前記測定手段によって測定された信号値に基づいて同期リセット信号が存在するか否かを判定する、
ことを特徴とする回路設計方法。 - 順序回路の同期リセット信号の候補となる信号のドメインを抽出するドメイン抽出部と、
抽出された前記ドメインの信号の論理を変化させて前記順序回路に入力される信号値を測定する測定部と、
前記測定部によって測定された信号値に基づいて同期リセット信号が存在するか否かを判定する同期リセット判定部と、
を有することを特徴とする回路設計装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009057307A JP5146369B2 (ja) | 2009-03-11 | 2009-03-11 | 回路設計プログラム、回路設計方法および回路設計装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009057307A JP5146369B2 (ja) | 2009-03-11 | 2009-03-11 | 回路設計プログラム、回路設計方法および回路設計装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010211550A JP2010211550A (ja) | 2010-09-24 |
JP5146369B2 true JP5146369B2 (ja) | 2013-02-20 |
Family
ID=42971625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009057307A Expired - Fee Related JP5146369B2 (ja) | 2009-03-11 | 2009-03-11 | 回路設計プログラム、回路設計方法および回路設計装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5146369B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8578306B2 (en) * | 2010-05-11 | 2013-11-05 | Altera Corporation | Method and apparatus for performing asynchronous and synchronous reset removal during synthesis |
CN115630601B (zh) * | 2022-12-22 | 2023-03-17 | 上海合见工业软件集团有限公司 | 基于回溯算法确定信号相关性的系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2967761B2 (ja) * | 1997-06-06 | 1999-10-25 | 日本電気株式会社 | 論理合成方法及び装置 |
JP2002279006A (ja) * | 2001-03-19 | 2002-09-27 | Ricoh Co Ltd | 回路設計支援装置 |
JP2007233842A (ja) * | 2006-03-02 | 2007-09-13 | Matsushita Electric Ind Co Ltd | リセット動作検証回路の生成方法 |
JP5265318B2 (ja) * | 2008-12-03 | 2013-08-14 | ルネサスエレクトロニクス株式会社 | 論理検証装置 |
-
2009
- 2009-03-11 JP JP2009057307A patent/JP5146369B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010211550A (ja) | 2010-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7603636B2 (en) | Assertion generating system, program thereof, circuit verifying system, and assertion generating method | |
JP5432127B2 (ja) | 自動回路設計及びシミュレーションに使用するための技術 | |
JP5410414B2 (ja) | 回路エミュレーションの入力及び遅延入力のマルチプレクシング | |
JP5432126B2 (ja) | 自動回路設計及びシミュレーションに使用するための技術 | |
JP4271067B2 (ja) | 非同期回路検証方法および非同期回路検証プログラム | |
JP5405451B2 (ja) | 自動回路設計及びシミュレーションに使用するための技術 | |
JP4468410B2 (ja) | ソフトウェア実行装置および協調動作方法 | |
US7888971B2 (en) | Verification support system and method | |
JP5146369B2 (ja) | 回路設計プログラム、回路設計方法および回路設計装置 | |
US7945882B2 (en) | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium | |
JP2008204199A (ja) | 検証装置、検証方法及びプログラム | |
JPWO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 | |
JP5799645B2 (ja) | 電源電圧設定方法及び電源電圧設定プログラム | |
JP7351189B2 (ja) | タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム | |
US8160859B2 (en) | Medium storing logic simulation program, logic simulation apparatus, and logic simulation method | |
JP5348065B2 (ja) | 検証支援プログラム、検証支援装置および検証支援方法 | |
JP4983642B2 (ja) | 設計検証プログラム、設計検証方法および設計検証装置 | |
JP5338919B2 (ja) | 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置 | |
JP7354815B2 (ja) | 検証支援装置、検証支援方法および検証支援プログラム | |
Kebaili et al. | Enabler-based synchronizer model for clock domain crossing static verification | |
US20110320994A1 (en) | Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit | |
US20090292837A1 (en) | Propagation path specifying device, propagation path specifying method and computer program product | |
CN117907812A (zh) | 电路检测方法及装置、电子设备、存储介质、程序产品 | |
Aggarwal | Complete ASIC Design Flow Using Synopsys Synthesis Tools | |
JP2010181984A (ja) | 回路設計支援プログラムおよび回路設計支援装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111122 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121004 |
|
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: 20121030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121112 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5146369 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151207 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |