JP2018112948A - 設計支援装置及び設計支援方法 - Google Patents

設計支援装置及び設計支援方法 Download PDF

Info

Publication number
JP2018112948A
JP2018112948A JP2017003675A JP2017003675A JP2018112948A JP 2018112948 A JP2018112948 A JP 2018112948A JP 2017003675 A JP2017003675 A JP 2017003675A JP 2017003675 A JP2017003675 A JP 2017003675A JP 2018112948 A JP2018112948 A JP 2018112948A
Authority
JP
Japan
Prior art keywords
module
modules
information
signal
design
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017003675A
Other languages
English (en)
Inventor
マチュー パリジ
Matthew Parisi
マチュー パリジ
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017003675A priority Critical patent/JP2018112948A/ja
Publication of JP2018112948A publication Critical patent/JP2018112948A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】設計対象回路に含まれるモジュール間の関連性を適切に抽出する。【解決手段】生成部311は、設計対象回路に含まれる複数のモジュールのうち2つのモジュールの組み合わせについて、それらのモジュールの間の関連性を示す関連性情報を生成する。これらの2つのモジュールは、設計対象回路の設計工程において、設計対象回路の情報を記憶する記憶部に対して所定期間内にコミットされたモジュールである。変更部312は、複数の組み合わせに対する複数の関連性情報のうち、一方のモジュールの信号が他方のモジュールの信号に影響を与える組み合わせの関連性情報が示す関連性が小さくなるように、その組み合わせの関連性情報を変更する。出力部313は、変更された関連性情報を含む複数の関連性情報を出力する。【選択図】図3

Description

本発明は、設計支援装置及び設計支援方法に関する。
レジスタ転送レベル(RTL)等の論理コードを用いた大規模集積回路(LSI)の論理設計において、回路の形式的検証を行う技術が知られている(例えば、特許文献1〜特許文献3を参照)。
ソースコード上のバグを予測する技術、及びソフトウェアモジュール間におけるロジカルカップリング(logical coupling)を検出する技術も知られている(例えば、特許文献4及び非特許文献1を参照)。
特開2008−181210号公報 米国特許出願公開第2007/0022394号明細書 米国特許出願公開第2003/0233504号明細書 特開2016−24784号公報
H. Gall et al., "CVS Release History Data for Detecting Logical Couplings", Proceedings of the Sixth International Workshop on Principles of Software Evolution, IEEE, 2003.
回路の設計工程において、設計者が回路に含まれる2つのモジュールの間の関連性に気付かずに、一方のモジュールの回路情報を変更した場合、他方のモジュールの回路情報の変更漏れが発生することがある。
1つの側面において、本発明は、設計対象回路に含まれるモジュール間の関連性を適切に抽出することを目的とする。
1つの案では、設計支援装置は、生成部、変更部、及び出力部を含む。生成部は、設計対象回路に含まれる複数のモジュールのうち2つのモジュールの組み合わせについて、それらのモジュールの間の関連性を示す関連性情報を生成する。これらの2つのモジュールは、設計対象回路の設計工程において、設計対象回路の情報を記憶する記憶部に対して所定期間内にコミットされたモジュールである。
変更部は、複数の組み合わせに対する複数の関連性情報のうち、一方のモジュールの信号が他方のモジュールの信号に影響を与える組み合わせの関連性情報が示す関連性が小さくなるように、その組み合わせの関連性情報を変更する。出力部は、変更された関連性情報を含む複数の関連性情報を出力する。
実施形態によれば、設計対象回路に含まれるモジュール間の関連性を適切に抽出することができる。
LSIの設計工程を示す図である。 ロジカルカップリングを示す図である。 設計支援装置の機能的構成図である。 設計支援処理のフローチャートである。 設計支援装置の具体例を示す機能的構成図である。 設計対象回路を示す図である。 回路情報を示す図である。 グラフ形式の検証結果を示す図である。 グラフ形式のカップリング情報を示す図である。 変更されたカップリング情報を示す図である。 設計支援処理の具体例を示すフローチャートである。 組み合わせリストを示す図である。 コミットリストを示す図である。 テーブル形式のカップリング情報を示す図である。 組み合わせリストを用いて変更されたカップリング情報を示す図である。 変更リストを示す図である。 テーブル形式の検証結果を示す図である。 検証結果を用いて変更されたカップリング情報を示す図である。 所定期間内にコミットされた複数のモジュールを示す図である。 情報処理装置の構成図である。
以下、図面を参照しながら、実施形態を詳細に説明する。
LSIの論理設計で用いられる論理コードは、ソフトウェアのコードと同様にバージョン管理システムによって管理されている。したがって、非特許文献1の技術を論理コードに対して適用することで、LSIに含まれるモジュールの間の論理的な関連性を示すロジカルカップリングを検出することが可能である。
図1は、LSIの設計工程の例を示している。LSIに含まれるモジュールA〜モジュールEの回路情報は、論理コードによって記述されており、時間の経過に伴って一部のモジュールの回路情報が1人又は複数の設計者によって変更される。各モジュールは、1つ以上の回路素子を含む。各回路素子は、トランジスタ、ダイオード、抵抗器、キャパシタ、インダクタ等であってもよい。
LSIの回路情報は、データベース等のレポジトリに格納されており、各設計者は、レポジトリから変更対象のモジュールの回路情報を読み出し、ローカルな記憶領域上で読み出した回路情報を変更する。そして、各設計者は、変更した回路情報をレポジトリに対してコミットすることで、変更内容をLSIの回路情報に反映させる。
複数のモジュールの回路情報が変更された場合、それらのモジュールの回路情報が同時にコミットされることもある。例えば、時刻tにおいては、モジュールA、モジュールB、及びモジュールDの回路情報が同時にコミットされている。
図2は、図1の設計工程から検出されるロジカルカップリングの例を示している。モジュール間の線分は、設計工程において線分の両端の2つのモジュールが同時にコミットされたことを示し、線分に付された数字は、同時にコミットされた回数を示している。この数字が大きいほど、同時にコミットされた回数が多いため、2つのモジュールの間の論理的な関連性が大きいと言える。ただし、同時にコミットされた2つのモジュールの間で、必ずしも直接的な信号の入出力関係が存在するとは限らない。
例えば、モジュールBとモジュールAが同時にコミットされた回数は2回であり、モジュールBとモジュールDが同時にコミットされた回数は5回である。したがって、モジュールBとモジュールDの関連性は、モジュールBとモジュールAの関連性よりも大きい。一方、モジュールEは常に単独でコミットされているため、他のモジュールとの関連性は小さい。このように、同時にコミットされた2つのモジュールの間には何らかの依存関係があることが推測され、逆に、単独でコミットされたモジュールは独立性が高いことが推測される。
したがって、ロジカルカップリングを検出することで、回路情報が互いに関連している可能性が高いモジュールを、設計者に対して提示することが可能になる。例えば、同時にコミットされた回数が多いモジュールB及びモジュールDのうち、モジュールBの回路情報を変更した場合は、モジュールDの回路情報も同時に変更することが望ましいと考えられる。この場合、モジュールB及びモジュールDの関連性を設計者に対して提示することで、モジュールDの変更漏れを防止できる。
しかし、設計者は、形式的検証を行うことで、回路内の多くのモジュール間の関連性を把握することができるため、ロジカルカップリングの検出結果をそのまま提示しても、意図した効果が得られないことがある。
モジュール間の関連性としては複数の要因が考えられるが、そのうちいくつかの要因は設計者にとって自明であるため、それらの要因に基づく関連性を示す情報は、有益な情報とは言えない。ロジカルカップリングの検出結果に自明な関連性を示す情報が多く含まれていると、設計者が気付きにくい非自明な関連性を示す情報が埋もれてしまい、非自明な関連性を見つけることが困難になる。その結果、非自明な関連性を有するモジュールの変更漏れが発生する。
例えば、同じプロトコルを用いる受信バッファと送信バッファのように、モジュール同士が共通の概念で繋がっている場合、それらのモジュールの関連性は回路の仕様によって規定されることが多く、設計者にとって自明である。また、一方のモジュールの出力信号が他方のモジュールの入力信号として用いられる回路のように、モジュール同士が論理的に繋がっている場合、それらのモジュールの関連性は形式的検証によって検出することができるため、設計者にとって自明である。
一方、モジュールの論理コードのコピー及びペーストによって、そのモジュールの回路情報が再利用される場合、コピー元のモジュールとコピー先のモジュールとの関連性は、設計者にとって自明ではない。
設計工程において先に生成されたモジュールと動作が類似するモジュールの論理コードを生成する場合、先に生成されたモジュールの論理コードをコピーして、その一部を書き換えることが多い。この場合、コピー元の論理コードに改変が起きても、コピー先の論理コードの対応部分が改変されず、設計者にとって気付きにくいバグの原因となることが多い。
なお、かかる問題は、LSIの設計工程に限らず、プリント基板に実装された回路等の設計工程においても生ずるものである。
図3は、設計支援装置の機能的構成例を示している。図3の設計支援装置301は、生成部311、変更部312、及び出力部313を含む。
図4は、図3の設計支援装置301が行う設計支援処理の例を示すフローチャートである。まず、生成部311は、設計対象回路に含まれる複数のモジュールのうち2つのモジュールの組み合わせについて、それらのモジュールの間の関連性を示す関連性情報を生成する(ステップ401)。これらの2つのモジュールは、設計対象回路の設計工程において、設計対象回路の情報を記憶する記憶部に対して所定期間内にコミットされたモジュールである。
次に、変更部312は、複数の組み合わせに対する複数の関連性情報のうち、特定の組み合わせの関連性情報が示す関連性が小さくなるように、その組み合わせの関連性情報を変更する(ステップ402)。特定の組み合わせは、一方のモジュールの信号が他方のモジュールの信号に影響を与える組み合わせである。そして、出力部313は、変更された関連性情報を含む複数の関連性情報を出力する(ステップ403)。
このような設計支援装置301によれば、設計対象回路に含まれるモジュール間の関連性を適切に抽出することができる。
図5は、図3の設計支援装置301の具体例を示している。図5の設計支援装置301は、生成部311、変更部312、出力部313、設計変更部501、記憶部502、及び記憶部503を含む。記憶部502は、レポジトリとして使用され、設計対象回路の回路情報511を記憶する。記憶部503は、組み合わせリスト521、コミットリスト522、変更リスト523、カップリング情報524、及び検証結果525を記憶する。
回路情報511は、例えば、バージョン管理システムによって管理されている論理コードである。設計変更部501は、設計工程における設計者の変更指示に従って、回路情報511の一部を変更する。
組み合わせリスト521は、ユーザによって指定されたモジュールの組み合わせを示す。例えば、ユーザは、共通の概念で繋がっている複数のモジュールを組み合わせリスト521に登録することができる。
生成部311は、回路情報511の論理コードから、同時にコミットされた複数のモジュールを示すコミットリスト522を生成して、記憶部503に格納する。同時にコミットされた複数のモジュールは、所定期間内にコミットされた複数のモジュールの一例である。そして、生成部311は、組み合わせリスト521及びコミットリスト522に基づいて、回路情報511の論理コードのうち、設計変更部501によって変更された部分を示す変更リスト523を生成し、記憶部503に格納する。
さらに、生成部311は、回路情報511の論理コードからロジカルカップリングを検出し、検出したロジカルカップリングを示すカップリング情報524を生成して、記憶部503に格納する。カップリング情報524は、設計対象回路に含まれる2つのモジュールの組み合わせ毎に、モジュール間の関連性を示す関連性情報を含む。各組み合わせの2つのモジュールは、記憶部502の回路情報511に対して同時にコミットされたモジュールである。例えば、生成部311は、非特許文献1の技術を論理コードに対して適用することで、カップリング情報524を生成することができる。
変更部312は、回路情報511及び変更リスト523を用いて設計対象回路の形式的検証を行うことで、検証結果525を生成し、記憶部503に格納する。検証結果525は、設計対象回路に含まれる複数のモジュールのうち、一方のモジュールの信号が他方のモジュールの信号に影響を与える関係を有する2つのモジュールの組み合わせを示す。
次に、変更部312は、カップリング情報524に含まれる複数の関連性情報のうち、検証結果525が示す組み合わせの関連性情報が示す関連性が小さくなるように、その組み合わせの関連性情報を変更することで、カップリング情報524を更新する。そして、出力部313は、更新後のカップリング情報524を出力する。
図6は、設計対象回路の例を示している。図6の設計対象回路601は、モジュールA〜モジュールEを含み、外部から信号IN1及び信号IN2を受信して、信号OUT1及び信号OUT2を外部へ出力する。
モジュールCは、信号IN1を受信して、信号SCをモジュールBへ出力する。モジュールEは、信号IN2を受信して、信号SEをモジュールAへ出力する。モジュールAは、信号SEを受信して、信号SAをモジュールBへ出力するとともに、信号OUT1を外部へ出力する。モジュールBは、信号SA及び信号SCを受信して、信号SBをモジュールDへ出力する。モジュールDは、信号SBを受信して、信号OUT2を外部へ出力する。
モジュールDは、送信バッファであり、モジュールEは、モジュールDと同じプロトコルを用いる受信バッファである。したがって、モジュールDとモジュールEは、共通の概念で繋がっている。この場合、モジュールDとモジュールEの組み合わせが、組み合わせリスト521に登録される。
図7は、図6の設計対象回路601に対する回路情報511の例を示している。図7の回路情報511は、設計者によって変更された情報が時系列に記録されているログファイル701〜ログファイル703を含む。
例えば、ログファイル701(File1)には、モジュールAにおいて、図6の信号SEに対応する信号IN_SETTINGSを、信号setting1に対して割り当てる論理コードが記述されている。この例では、信号IN_SETTINGS及び信号setting1のビット幅が、9ビットから10ビットに変更されている。ログファイル701〜ログファイル703には、信号のビット幅に対する変更以外に、信号名、信号線の接続関係、回路素子の種類及び個数等に対する変更が記録されることもある。
図8は、図6の設計対象回路601に対するグラフ形式の検証結果525の例を示している。図8の検証結果525は、モジュールAの影響円すい(cone of influence:COI)801がモジュールB及びモジュールDを含むことを示している。モジュールAのCOI801は、モジュールAが生成する信号が影響を与える範囲を表し、COI801に含まれるモジュールの信号は、モジュールAが生成する信号の影響を受けることになる。
図9は、図6の設計対象回路601に対するグラフ形式のカップリング情報524の例を示している。モジュール間の線分は、線分の両端の2つのモジュールの組み合わせを示し、設計工程においてそれらのモジュールが同時にコミットされたことを表す。線分に付された数字は、関連性情報に対応し、同時にコミットされた回数を示している。コミット回数が多いほど、モジュール間の関連性は大きくなり、コミット回数が少ないほど、モジュール間の関連性は小さくなる。
例えば、モジュールAとモジュールDが同時にコミットされた回数は1回であり、モジュールAとモジュールBが同時にコミットされた回数は2回である。モジュールBとモジュールDが同時にコミットされた回数は5回であり、モジュールBとモジュールCが同時にコミットされた回数は3回である。モジュールDとモジュールEが同時にコミットされた回数は1回である。
図10は、図8の検証結果525に基づいて変更されたカップリング情報524の例を示している。生成部311は、図9のカップリング情報524に含まれるコミット回数のうち、組み合わせリスト521に登録されているモジュール間のコミット回数を1だけデクリメントする。この例では、モジュールDとモジュールEの組み合わせが組み合わせリスト521に登録されているため、これらのモジュール間のコミット回数が1回から0回に変更され、モジュール間の線分が削除されている。
変更部312は、図9のカップリング情報524に含まれるコミット回数のうち、モジュールAとCOI801に含まれるモジュールとの間のコミット回数を、1だけデクリメントする。この例では、モジュールAとモジュールBの間のコミット回数が2回から1回に変更され、モジュールAとモジュールDの間のコミット回数が1回から0回に変更される。これにより、モジュールAとモジュールDの間の線分が削除されている。
このように、共通の概念で繋がっているモジュール間の関連性と、論理的に繋がっているモジュール間の関連性とが、小さくなるか又は削除されるため、結果的に、それ以外の要因による関連性が強調される。したがって、設計者が気付きにくい非自明な関連性を強調して提示することが可能になり、モジュールの変更漏れが防止される。
例えば、論理コードのコピー及びペーストが行われ、コピー元のモジュールとコピー先のモジュールの論理コードが同時にコミットされている場合、それらのモジュール間の関連性が強調されて設計者に提示される。これにより、設計者は、一方のモジュールの論理コードを変更した場合、他方のモジュールの論理コードも漏れなく変更することが可能になる。これにより、回路検証の全体的なコストが削減される。
ロジカルカップリングの多くが設計者にとって自明な関連性である場合、それらの関連性を小さくすることで、設計者が変更漏れを確認する作業が容易になる。例えば、ロジカルカップリングの半数が自明である場合、変更漏れを確認する作業コストを最大50%削減することが可能である。
図11は、図5の設計支援装置301が行う設計支援処理の具体例を示すフローチャートである。まず、生成部311は、回路情報511の論理コードからロジカルカップリングを検出し、コミットリスト522及びカップリング情報524を生成する(ステップ1101)。そして、生成部311は、コミットリスト522のエントリに含まれているモジュールの組み合わせが、組み合わせリスト521に登録されているか否かをチェックする(ステップ1102)。
図12は、図6の設計対象回路601に対する組み合わせリスト521の例を示している。図12の組み合わせリスト521は、モジュールDとモジュールEの組み合わせを示すエントリ{D;E}を含む。
図13は、図6の設計対象回路601に対するコミットリスト522の例を示している。図13のコミットリスト522は、モジュールE及びモジュールDが同時にコミットされたことを示すエントリ{E;D}と、モジュールA、モジュールB、及びモジュールCが同時にコミットされたことを示すエントリ{A;B;C}とを含む。
図14は、図6の設計対象回路601に対するテーブル形式のカップリング情報524の例を示している。テーブルの各行及び各列は、1つのモジュールに対応し、行及び列によって指定されるセルに記載された数字は、行に対応するモジュールと列に対応するモジュールが同時にコミットされた回数を示している。図14のカップリング情報524は、図9に示したカップリング情報524と等価である。
モジュールの組み合わせが組み合わせリスト521に登録されている場合(ステップ1102,YES)、生成部311は、カップリング情報524に含まれるコミット回数を1だけデクリメントする(ステップ1103)。例えば、図13のモジュールEとモジュールDの組み合わせは、図12の組み合わせリスト521に登録されているため、図14のモジュールD及びモジュールEに対応するセルのコミット回数が1回から0回に変更される。これにより、図14のカップリング情報524は、図15に示すように変更される。
一方、モジュールの組み合わせが組み合わせリスト521に登録されていない場合(ステップ1102,NO)、生成部311は、ステップ1104の処理を行う。ステップ1104において、生成部311は、ログファイルを参照して各モジュールの変更前後の論理コードを比較することで、設計変更部501によって変更された変数を特定し、その変数を変更リスト523に登録する。
次に、生成部311は、コミットリスト522の最後のエントリを処理したか否かをチェックし(ステップ1105)、未処理のエントリが残っている場合(ステップ1105,NO)、次のエントリについてステップ1102以降の処理を行う。
図16は、図6の設計対象回路601に対する変更リスト523の例を示している。図16の変更リスト523は、モジュールAの信号setting1を含む。
コミットリスト522の最後のエントリを処理した場合(ステップ1105,YES)、変更部312は、回路情報511及び変更リスト523を用いて設計対象回路の形式的検証を行うことで、検証結果525を生成する(ステップ1106)。
図17は、図6の設計対象回路601に対するテーブル形式の検証結果525の例を示している。変更された変数は、図16の変更リスト523に含まれる変数を表し、COIは、その変数に対応する信号のCOIを表す。COIに含まれる複数の要素のうち、1番目の要素は、信号を生成するモジュールを示し、2番目以降の要素は、1番目の要素が示すモジュールによって生成された信号の影響を受けるモジュールを示す。
図17の検証結果525は、図8に示した信号setting1のCOI801を示すエントリを含む。この場合、COI801に対応する{A:B;D}の1番目の要素が示すモジュールAによって生成される信号setting1は、2番目の要素が示すモジュールBと3番目の要素が示すモジュールDの信号に影響を与える。
次に、変更部312は、検証結果525のエントリに登録されたCOIの1番目の要素と2番目以降の要素の組み合わせに対応する、カップリング情報524のコミット回数を1だけデクリメントする(ステップ1107)。
次に、変更部312は、COIの最後の要素を処理したか否かをチェックし(ステップ1108)、未処理の要素が残っている場合(ステップ1108,NO)、次の要素についてステップ1107以降の処理を行う。
そして、COIの最後の要素を処理した場合(ステップ1108,YES)、変更部312は、検証結果525の最後のエントリを処理したか否かをチェックする(ステップ1109)。未処理のエントリが残っている場合(ステップ1109,NO)、変更部312は、次のエントリについてステップ1107以降の処理を行う。そして、検証結果525の最後のエントリを処理した場合(ステップ1109,YES)、出力部313は、カップリング情報524を出力する(ステップ1110)。
例えば、図17の{A:B;D}において、1番目の要素と2番目の要素の組み合わせは、モジュールA及びモジュールBを示すため、図15のモジュールA及びモジュールBに対応するセルのコミット回数が2回から1回に変更される。また、1番目の要素と3番目の要素の組み合わせは、モジュールA及びモジュールDを示すため、図15のモジュールA及びモジュールDに対応するセルのコミット回数が1回から0回に変更される。これにより、図15のカップリング情報524は、図18に示すように変更される。
ステップ1101において生成されるコミットリスト522及びカップリング情報524において、複数のモジュールが必ずしも同時にコミットされている必要はなく、所定期間内にコミットされていてもよい。この場合、カップリング情報524のコミット回数は、設計工程に含まれる複数の所定期間のうち、2つのモジュールがコミットされた所定期間の個数を表す。
図19は、設計工程において、所定期間内にコミットされた複数のモジュールの例を示している。例えば、期間T1において、モジュールAの回路情報が2回コミットされており、モジュールB及びモジュールDの回路情報がそれぞれ1回ずつコミットされている。この場合、コミットリスト522には、これらのモジュールの組み合わせを示すエントリ{A;B;D}が登録される。
また、期間T2において、モジュールBの回路情報が3回コミットされており、モジュールA及びモジュールCの回路情報がそれぞれ1回ずつコミットされている。この場合、コミットリスト522には、これらのモジュールの組み合わせを示すエントリ{A;B;C}が登録される。
カップリング情報524において、モジュールA及びモジュールBに対応するコミット回数は2回になり、モジュールA及びモジュールCに対応するコミット回数と、モジュールA及びモジュールDに対応するコミット回数は、1回になる。
期間T1及び期間T2は所定期間であり、設計対象回路の用途又は仕様に応じて決定することができる。この所定期間は、1時間〜1日であってもよく、2日以上であってもよい。期間が短いほど、1エントリに含まれるモジュールのうち、同時にコミットされたモジュールの割合が大きくなり、期間が長いほど、同時にコミットされたモジュールの割合が小さくなる。
このように、所定期間内にコミットされた複数のモジュールからコミットリスト522及びカップリング情報524が生成される場合であっても、設計支援装置301は、図11と同様の設計支援処理を行うことができ、モジュールの変更漏れが防止される。
図3及び図5の設計支援装置301の構成は一例に過ぎず、設計支援装置301の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図5の設計支援装置301において、記憶部502が設計支援装置301の外部の装置に設けられる場合は、記憶部502を省略することができる。
図4及び図11のフローチャートは一例に過ぎず、設計支援装置301の構成又は条件に応じて、一部の処理を省略又は変更してもよい。例えば、設計対象回路に対する組み合わせリスト521が用意されていない場合は、生成部311は、図11のステップ1101においてコミットリスト522を生成する必要はなく、ステップ1102〜ステップ1105の処理も省略することができる。
ステップ1103において、生成部311は、コミット回数を1だけデクリメントする代わりに、コミット回数をN(Nは2以上の整数)だけデクリメントしてもよい。生成部311は、コミット回数をデクリメントする代わりに、コミット回数を0回に変更してもよい。
ステップ1107において、生成部311は、コミット回数を1だけデクリメントする代わりに、コミット回数をNだけデクリメントしてもよい。生成部311は、コミット回数をデクリメントする代わりに、コミット回数を0回に変更してもよい。
図6の設計対象回路601は一例に過ぎず、設計支援装置301は、様々な設計対象回路に対して設計支援処理を行うことができる。図1及び図19の設計工程と図7の回路情報511は一例に過ぎず、回路情報511及び設計工程は、設計対象回路及び設計者に応じて変化する。
図2のロジカルカップリング、図8及び図17の検証結果525、図9、図10、図14、図15、及び図18のカップリング情報524、図12の組み合わせリスト521、図13のコミットリスト522、及び図16の変更リスト523は一例に過ぎない。これらの情報は、回路情報511及び設計工程に応じて変化する。
図20は、図3及び図5の設計支援装置301として用いられる情報処理装置(コンピュータ)の構成例を示している。図20の情報処理装置は、Central Processing Unit(CPU)2001、メモリ2002、入力装置2003、出力装置2004、補助記憶装置2005、媒体駆動装置2006、及びネットワーク接続装置2007を備える。これらの構成要素はバス2008により互いに接続されている。
メモリ2002は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ2002は、記憶部503として用いることができる。
CPU2001(プロセッサ)は、例えば、メモリ2002を利用してプログラムを実行することにより、生成部311、変更部312、及び設計変更部501として動作する。
入力装置2003は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。入力される情報は、組み合わせリスト521であってもよい。
出力装置2004は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は処理結果の出力に用いられる。出力装置2004は、出力部313として用いることができる。処理結果は、変更部312によって変更されたカップリング情報524であってもよい。
補助記憶装置2005は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置2005は、フラッシュメモリ又はハードディスクドライブであってもよい。情報処理装置は、補助記憶装置2005にプログラム及びデータを格納しておき、それらをメモリ2002にロードして使用することができる。補助記憶装置2005は、記憶部502として用いることができる。
媒体駆動装置2006は、可搬型記録媒体2009を駆動し、その記録内容にアクセスする。可搬型記録媒体2009は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体2009は、Compact Disk Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体2009にプログラム及びデータを格納しておき、それらをメモリ2002にロードして使用することができる。
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ2002、補助記憶装置2005、又は可搬型記録媒体2009のような、物理的な(非一時的な)記録媒体である。
ネットワーク接続装置2007は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置2007を介して受信し、それらをメモリ2002にロードして使用することができる。記憶部502が設計支援装置301の外部の装置に設けられる場合、情報処理装置は、回路情報511を外部の装置からネットワーク接続装置2007を介して受信することができる。
なお、情報処理装置が図20のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、オペレータ又はユーザからの指示又は情報を入力する必要がない場合は、入力装置2003を省略してもよい。可搬型記録媒体2009又は通信ネットワークを利用しない場合は、媒体駆動装置2006又はネットワーク接続装置2007を省略してもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
図1乃至図20を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
設計対象回路に含まれる複数のモジュールのうち、前記設計対象回路の設計工程において、前記設計対象回路の情報を記憶する記憶部に対して所定期間内にコミットされた2つのモジュールの組み合わせについて、前記2つのモジュールの間の関連性を示す関連性情報を生成する生成部と、
複数の組み合わせに対する複数の関連性情報のうち、一方のモジュールの信号が他方のモジュールの信号に影響を与える組み合わせの関連性情報が示す関連性が小さくなるように、前記一方のモジュールの信号が前記他方のモジュールの信号に影響を与える前記組み合わせの前記関連性情報を変更する変更部と、
変更された前記関連性情報を含む前記複数の関連性情報を出力する出力部と、
を備えることを特徴とする設計支援装置。
(付記2)
前記2つのモジュールの間の関連性は、前記設計工程に含まれる複数の前記所定期間のうち、前記2つのモジュールがコミットされた前記所定期間の個数を示し、
前記変更部は、前記一方のモジュールの信号が前記他方のモジュールの信号に影響を与える前記組み合わせの前記関連性情報が示す前記所定期間の個数を削減することを特徴とする付記1記載の設計支援装置。
(付記3)
前記一方のモジュールの信号は、前記設計工程において変更された信号であることを特徴とする付記1又は2記載の設計支援装置。
(付記4)
前記生成部は、前記複数の組み合わせに対する前記複数の関連性情報のうち、ユーザによって指定された所定の組み合わせの関連性情報が示す関連性が小さくなるように、前記所定の組み合わせの前記関連性情報を変更することを特徴とする付記1乃至3のいずれか1項に記載の設計支援装置。
(付記5)
コンピュータが、
設計対象回路に含まれる複数のモジュールのうち、前記設計対象回路の設計工程において、前記設計対象回路の情報を記憶する記憶部に対して所定期間内にコミットされた2つのモジュールの組み合わせについて、前記2つのモジュールの間の関連性を示す関連性情報を生成し、
複数の組み合わせに対する複数の関連性情報のうち、一方のモジュールの信号が他方のモジュールの信号に影響を与える組み合わせの関連性情報が示す関連性が小さくなるように、前記一方のモジュールの信号が前記他方のモジュールの信号に影響を与える前記組み合わせの前記関連性情報を変更し、
変更された前記関連性情報を含む前記複数の関連性情報を出力する、
ことを特徴とする設計支援方法。
(付記6)
前記2つのモジュールの間の関連性は、前記設計工程に含まれる複数の前記所定期間のうち、前記2つのモジュールがコミットされた前記所定期間の個数を示し、
前記コンピュータは、前記一方のモジュールの信号が前記他方のモジュールの信号に影響を与える前記組み合わせの前記関連性情報が示す前記所定期間の個数を削減することを特徴とする付記5記載の設計支援方法。
(付記7)
前記一方のモジュールの信号は、前記設計工程において変更された信号であることを特徴とする付記5又は6記載の設計支援方法。
(付記8)
前記コンピュータは、前記複数の組み合わせに対する前記複数の関連性情報のうち、ユーザによって指定された所定の組み合わせの関連性情報が示す関連性が小さくなるように、前記所定の組み合わせの前記関連性情報を変更することを特徴とする付記5乃至7のいずれか1項に記載の設計支援方法。
301 設計支援装置
311 生成部
312 変更部
313 出力部
501 設計変更部
502、503 記憶部
511 回路情報
521 組み合わせリスト
522 コミットリスト
523 変更リスト
524 カップリング情報
525 検証結果
601 設計対象回路
701〜703 ログファイル
801 COI
2001 CPU
2002 メモリ
2003 入力装置
2004 出力装置
2005 補助記憶装置
2006 媒体駆動装置
2007 ネットワーク接続装置
2008 バス
2009 可搬型記録媒体

Claims (5)

  1. 設計対象回路に含まれる複数のモジュールのうち、前記設計対象回路の設計工程において、前記設計対象回路の情報を記憶する記憶部に対して所定期間内にコミットされた2つのモジュールの組み合わせについて、前記2つのモジュールの間の関連性を示す関連性情報を生成する生成部と、
    複数の組み合わせに対する複数の関連性情報のうち、一方のモジュールの信号が他方のモジュールの信号に影響を与える組み合わせの関連性情報が示す関連性が小さくなるように、前記一方のモジュールの信号が前記他方のモジュールの信号に影響を与える前記組み合わせの前記関連性情報を変更する変更部と、
    変更された前記関連性情報を含む前記複数の関連性情報を出力する出力部と、
    を備えることを特徴とする設計支援装置。
  2. 前記2つのモジュールの間の関連性は、前記設計工程に含まれる複数の前記所定期間のうち、前記2つのモジュールがコミットされた前記所定期間の個数を示し、
    前記変更部は、前記一方のモジュールの信号が前記他方のモジュールの信号に影響を与える前記組み合わせの前記関連性情報が示す前記所定期間の個数を削減することを特徴とする請求項1記載の設計支援装置。
  3. 前記一方のモジュールの信号は、前記設計工程において変更された信号であることを特徴とする請求項1又は2記載の設計支援装置。
  4. 前記複数の組み合わせは、前記複数のモジュールから生成される組み合わせのうち、ユーザによって指定された所定の組み合わせを除いた残りの組み合わせであることを特徴とする請求項1乃至3のいずれか1項に記載の設計支援装置。
  5. コンピュータが、
    設計対象回路に含まれる複数のモジュールのうち、前記設計対象回路の設計工程において、前記設計対象回路の情報を記憶する記憶部に対して所定期間内にコミットされた2つのモジュールの組み合わせについて、前記2つのモジュールの間の関連性を示す関連性情報を生成し、
    複数の組み合わせに対する複数の関連性情報のうち、一方のモジュールの信号が他方のモジュールの信号に影響を与える組み合わせの関連性情報が示す関連性が小さくなるように、前記一方のモジュールの信号が前記他方のモジュールの信号に影響を与える前記組み合わせの前記関連性情報を変更し、
    変更された前記関連性情報を含む前記複数の関連性情報を出力する、
    ことを特徴とする設計支援方法。
JP2017003675A 2017-01-12 2017-01-12 設計支援装置及び設計支援方法 Pending JP2018112948A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017003675A JP2018112948A (ja) 2017-01-12 2017-01-12 設計支援装置及び設計支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017003675A JP2018112948A (ja) 2017-01-12 2017-01-12 設計支援装置及び設計支援方法

Publications (1)

Publication Number Publication Date
JP2018112948A true JP2018112948A (ja) 2018-07-19

Family

ID=62912299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017003675A Pending JP2018112948A (ja) 2017-01-12 2017-01-12 設計支援装置及び設計支援方法

Country Status (1)

Country Link
JP (1) JP2018112948A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021250812A1 (ja) * 2020-06-10 2021-12-16 三菱電機株式会社 情報処理装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021250812A1 (ja) * 2020-06-10 2021-12-16 三菱電機株式会社 情報処理装置及びプログラム

Similar Documents

Publication Publication Date Title
US20180173527A1 (en) Floating point instruction format with embedded rounding rule
US8996339B2 (en) Incremental formal verification
WO2016026328A1 (zh) 一种信息处理方法、装置及计算机存储介质
US10394756B2 (en) System and method for customizing archive of a device driver generator tool for a user
US20150370957A1 (en) Layout design method and system
US20110231178A1 (en) Modeling and generating computer software product line variants
US9189589B2 (en) Pattern-based via redundancy insertion
WO2020075282A1 (ja) 変換方法、変換装置および変換プログラム
US9679092B1 (en) Constraint handling for parameterizable hardware description language
JP2018112948A (ja) 設計支援装置及び設計支援方法
CN116501415B (zh) 命令执行方法及装置、电子设备、计算机可读存储介质
US9646252B2 (en) Template clauses based SAT techniques
US20070148705A1 (en) System and method for qualifying a logic cell library
JP2006024008A (ja) 情報処理方法、情報処理装置およびプログラム
TWI423125B (zh) 微處理器以及相關指令執行方法
US8352234B2 (en) Model generation based on a constraint and an initial model
US20150178427A1 (en) Stacked multiple-input delay gates
CN116956797A (zh) 一种电源完整性仿真方法、装置及电子设备
US7949989B2 (en) Methods, systems and computer program products for layout device matching driven by a schematic editor
US9354870B2 (en) Maintaining integrity of output of code generators
JP6379713B2 (ja) 設計支援プログラム、装置、及び方法
JP6330257B2 (ja) 設計書データ作成支援プログラム、設計書データ作成支援方法および情報処理装置
JP6854994B1 (ja) 動作確認支援装置、動作確認支援方法及び動作確認支援プログラム
JP2012053703A (ja) 最適化ネットリスト作成プログラム、最適化ネットリスト作成装置および最適化ネットリスト作成方法
JP6559995B2 (ja) 半導体集積回路の設計支援装置及び設計支援方法