JP2010205073A - 回路設計支援システム - Google Patents

回路設計支援システム Download PDF

Info

Publication number
JP2010205073A
JP2010205073A JP2009051207A JP2009051207A JP2010205073A JP 2010205073 A JP2010205073 A JP 2010205073A JP 2009051207 A JP2009051207 A JP 2009051207A JP 2009051207 A JP2009051207 A JP 2009051207A JP 2010205073 A JP2010205073 A JP 2010205073A
Authority
JP
Japan
Prior art keywords
module
violation
circuit design
information
inter
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.)
Withdrawn
Application number
JP2009051207A
Other languages
English (en)
Inventor
Yasumichi Haruta
泰睦 春田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009051207A priority Critical patent/JP2010205073A/ja
Publication of JP2010205073A publication Critical patent/JP2010205073A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】実際に信号の出力動作が行われる前に、他のモジュールにて入力として使用されるような入出力タイミングの違反を検出する。
【解決手段】上記の課題を解決するために、記憶装置に保持されている動作レベル記述を読み出して動作合成処理を実行して複数のモジュールを生成する動作合成部と、その複数のモジュールを接続したときの接続関係を示すモジュール間接続情報を生成するモジュール間接続部と、その複数のモジュール間の端子に違反が存在するか否かを検証するモジュール間型検証部と、その端子間において、入出力タイミング違反がないか検証するモジュール間タイミング検証部とを具備する回路設計支援システムを構成する。そのモジュール間タイミング検証部は、動作レベル記述が、実際に信号の出力動作が行われる前に、他のモジュールに対して入力として使用されるような入出力タイミング違反が存在するか否かを検証する。
【選択図】図1

Description

本発明は、回路設計支援システムに関し、特に動作合成ツールが生成する回路を検証する回路設計支援システムに関する。
動作合成により回路設計を支援する回路設計支援システムに関する技術が知られている(例えば、特許文献1〜4参照)。特許文献1には、ブロックをベースとする設計方法に関する技術が記載されている。特許文献2には、シミュレーション対象システムについて、入出力のタイミング制約の下で、動作タイミングの実用的な事例や、動作タイミングの実用的な変動の範囲を利用者に示すための技術が記載されている。特許文献3には、不具合の原因であるRTレベルの記述内の指定された部品に対応する動作レベル記述内の要素や動作合成命令を、設計者に提示できる回路設計支援システムに関する技術が記載されている。特許文献4には、論理回路の検証データを簡単に作成することができる論理回路検証データ生成装置に関する技術が記載されている。
回路設計支援システムにおいては、複数のモジュールを接続する上位階層の記述を、自動的に生成するような設計支援が必要かつ重要である。関連する回路設計支援システムは、各モジュールの入力となる動作レベル記述を記憶する記憶装置と、動作合成部を含むデータ処理装置と、動作レベル記述表示部などの入出力装置から構成されている。このような構成を有する回路設計支援システムにおける回路設計は、次のように行われる。はじめに回路設計者は所望の回路群の動作を複数の動作レベル記述として記述し記憶部に転送しておく。
記憶された動作レベル記述群に対し、動作合成部を操作し動作合成処理を実施する。動作合成処理は、スケジューリング工程、バインディング工程、最適化工程などからなる。スケジューリング工程においては、動作時間の決められていない動作レベル記述の各処理に対して、動作時間を決定する。バインディング工程においては動作レベル記述の各処理に対して、ハードウェアリソースを決定する。最適化工程は動作合成の各段階において実施され、ループ最適化などの言語レベル最適化や、後工程としての論理最適化などが含まれる。
これら動作合成処理の各工程において、動作合成部は中間記述を生成する。動作合成の結果、中間記述の中に、回路動作が有限オートマトンとして記録される。すべての工程が終了すると、RTレベル記述を生成する。得られたRTレベル記述は下流の設計工程に流され回路として実現される。
動作合成の対象となるモジュールは、最上位階層の記述を除いて、全て他のモジュールで子階層としてインスタンス化されることで、ハードウェアの実体として実現される。インスタンス化されたモジュール間の入出力端子、もしくは、モジュールの入出力端子と上位階層となるモジュールの入出力端子を結線することで、モジュール間あるいはインスタンス階層間のデータの流れが実現される。全てのモジュールに対して、動作合成が実行される。動作合成によって生成されたシミュレーションモデルやRTレベルを全モジュール分集めてコンパイル実行することで、サイクル精度レベル、あるいはRTレベルのシミュレーションを行い、想定された動作を示すか確認する。これによって、モジュール間の接続を含めた、モジュールの論理的記述の正しさが正しいことを確認する。
この手順を支援するものとして、全てのモジュールの動作レベル記述や動作合成結果を管理し、指定された任意のモジュール間あるいは端子間の接続状態の型の一致を検証するような機能を備えたシステムが考えられる。
図10は、関連する回路設計支援システム400の構成を示すブロック図である。回路設計支援システム400は、入出力装置401と、データ処理装置402と、記憶装置403とを備えている。
記憶装置403は、動作レベル記述記憶部409、中間記述の情報を記憶する中間記述記憶部411、各モジュールの端子情報を記憶する端子情報記憶部410、およびモジュール間の接続関係を記憶するモジュール間接続情報記憶部412を含んでいる。
データ処理装置402は、動作合成部406と、モジュール間の接続関係を指定するモジュール間接続部407、および、接続関係のある端子間の型の一致を検証するモジュール間型検証部408とを含んでいる。
入出力装置401は、動作レベル記述を表示する動作レベル記述表示部404と、モジュール間の接続関係を表示・編集するモジュール間接続表示・編集部405とを含んでいる。
このような構成を有する関連する回路設計支援システム400において、モジュール間の接続の検証は次のように行われる。動作レベル記述記憶部409に記憶された動作レベル記述群に対して動作合成を実施すると、各モジュールに対して端子情報が端子情報記憶部410に記憶される。
モジュールのインスタンス化や、モジュール間の接続が既に入力された動作レベル記述によって実現されている場合は、モジュール間接続情報記憶部412に他のモジュールとの接続状況が格納される。実現されていない場合は、モジュール間接続部407によって指定された任意のモジュール間を自動接続するか、モジュール間接続表示・編集部405によって、ユーザがグラフィカルなサポートの元で、手動で接続を行う。自動接続については、入力されたモジュールの端子で同じ名前のものがあれば接続を行う、などの方法が考えられる。これらの自動、手動の接続支援で生成された接続関係も、モジュール間接続情報記憶部412に格納される。モジュール間接続情報記憶部412に格納された接続情報は、モジュール間接続表示・編集部405によって表示、確認することができる。このようにして構築された接続関係に対して、モジュール間型検証部408により、接続関係のある全ての端子同士が同じ型をもつか検証し、違反がある場合は警告メッセージを表示する。
特表2002−526908号公報 特開2000−207437号公報 特開2007−102271号公報 特開2008−90622号公報
関連する回路設計支援システム400は、端子間の接続の検証を行うに当たり、その検証の対象が、端子の型などの入力となる動作レベル記述から判断できるような種類のものに限られている。そのため、接続する端子の入出力タイミングの正しさなどの、意味的な検証ができない。
例えば、あるモジュールの出力端子が、他のモジュールの入力端子に接続されており、動作レベル記述が、実際に信号の出力動作が行われる前に、他のモジュールにて入力として使用されるようになっている場合を考える。このような場合は仕様として、想定する信号が入力として使われているとは考えにくく、基本的には異常な記述と考えるべきである。
ところが、入力端子と出力端子の型が一致している場合は、モジュール間型検証部によって接続の異常を検出することができない。全てのモジュールの動作合成が終了した後のサイクル精度レベル、RTレベルのシミュレーションを行うことで、初めて検出することができる。だがシミュレーションの実行には多大な時間が必要とされるし、またシミュレーションの結果として異常が検出されたとしても、接続されている端子間の入出力のタイミングの問題であると結果を解析するだけでも多くの時間を要する。
入力端子と出力端子の型が一致していない場合は、モジュール間型検証部によって接続が異常であることを検出できる。しかし、モジュール間型検証部は型が一致しない旨のメッセージを出力するのみであり、このような入出力タイミングの問題については検証の対象外となるため、検出後の動作レベル記述の修正において、記述者が入出力のタイミングの異常に気がつかず型の調整のみを行う可能性が高い。
本発明の目的は、端子間の接続において、実際に信号の出力動作が行われる前に、他のモジュールにて入力として使用されるような入出力タイミングの違反を、シミュレーション実行前に検出することで、設計期間の短縮を行うことを目的とした回路設計支援システムを提供することにある。
上記の課題を解決するために、記憶装置に保持されている動作レベル記述を読み出して動作合成処理を実行し、その動作合成処理の結果である複数のモジュールを生成する動作合成部と、その複数のモジュールを接続したときの接続関係を示すモジュール間接続情報を生成するモジュール間接続部と、そのモジュール間接続情報に示されるその接続関係に基づいて、その複数のモジュール間の端子に違反が存在するか否かを検証するモジュール間型検証部と、そのモジュール間接続情報に示されるその接続関係に基づいて、その端子間において、入出力タイミング違反がないか検証するモジュール間タイミング検証部とを具備する回路設計支援システムを構成する。ここにおいて、そのモジュール間タイミング検証部は、その複数のモジュールのうちの特定モジュールの出力端子が、他のモジュールの入力端子に接続されており、その動作レベル記述が、実際に信号の出力動作が行われる前に、その他のモジュールに対して入力として使用されるような入出力タイミング違反が存在するか否かを検証する。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、本発明による回路設計支援システムは、入出力タイミングの違反を検出する機構を持ち、検出した違反の内容を表示し、違反の内容と関連する動作レベル記述の該当部を明瞭に他の部位と区別表示する。また、入出力タイミングの違反を、シミュレーションを行う前に検出、対応する。これによって、動作レベル記述群に、入出力タイミングの違反が存在する場合、その検出と、違反部分の特定及び動作レベル記述の修正が容易になる。
また、入出力タイミングの違反を早期に検出し対策することで、シミュレーションにかかる時間、及びシミュレーションの結果を解析する工数を削減し、回路の設計期間を短縮することができる。
図1は、回路設計支援システムの構成を示すブロック図である。 図2は、回路設計支援システムの動作を示すフローチャートである。 図3は、名称がmodule1という名前のモジュールに関する動作レベル記述を示すリストである。 図4は、名称がmodule2という名前のモジュールに関する動作レベル記述を示すリストである。 図5は、名称がmodule3という名前のモジュールに関する動作レベル記述を示すリストである。 図6は、接続操作が終了した状態でのモジュール間接続表示・編集部の表示画面を例示する図である。 図7は、module1、module2、module3に対して入出力タイミング検証を行った結果を示す図である。 図8は、接続違反表示部に表示される警告メッセージを例示する図である。 図9は、動作レベル記述表示部で違反箇所の区別表示がなされている様子を例示する図である。 図10は、関連する技術による回路設計支援システムを示すブロック図である。
以下、本発明の実施の形態を図面に基づいて説明する。なお、実施の形態を説明するための図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
図1を参照すると、本実施形態の回路設計支援システム1は、入出力装置100と、プログラム制御により動作するデータ処理装置110と、記憶装置120を備えている。入出力装置100は、動作レベル記述表示部101と、モジュール間接続表示・編集部102と、タイミングチャート表示部103と、接続違反表示部104を含んでいる。データ処理装置110は、動作合成部111と、モジュール間接続部112と、モジュール間型検証部113と、モジュール間タイミング検証部114を含んでいる。記憶装置120は、動作レベル記述記憶部121と、端子情報記憶部122と、中間記述記憶部123と、モジュール間接続情報記憶部124と、FSM(Finite state machine;有限状態機械)情報記憶部125と、対応関係記憶部126を含んでいる。データ処理装置110に設けられたそれぞれの機能ブロックは、概ね次のように動作する。
動作合成部111は、動作レベル記述記憶部121に記憶された回路の動作レベル記述に対して動作合成を行う。動作レベル記述は、動作レベル記述表示部101に表示される。動作合成部111によって生成される中間記述は、中間記述記憶部123に、端子情報は端子情報記憶部122に、状態遷移情報はFSM情報記憶部125記憶される。動作レベル記述と中間記述の対応情報は、対応関係記憶部126に記憶される。
モジュール間接続部112は、記憶装置120に記憶されたモジュール群に対して、モジュールの端子間の接続を行う。接続方法の一つとして、端子情報記憶部122に記憶された端子情報を元に、モジュール間接続表示・編集部102上で設計者の指定のあった複数のモジュールのうち、名称が同じ端子を自動で接続することが考えられる。また他の手法として、モジュール間接続表示・編集部102上で、設計者が端子毎に接続を指定することも考えられる。モジュール間接続部112で構築されたモジュール間、端子間の接続関係は、モジュール間接続情報記憶部124に記憶される。
モジュール間型検証部113は、モジュール間接続情報記憶部124に記憶された、接続関係のある端子間において、型の不一致などの違反がないか検証する。違反が検出された場合は違反情報を接続違反表示部104に表示する。同時に、動作レベル記述の違反に相当する部位を、中間記述記憶部123に記憶された中間記述や違反情報から、対応関係記憶部126を用いて抽出し、動作レベル記述表示部101で非違反部から区別表示する。
モジュール間タイミング検証部114は、モジュール間接続情報記憶部124に記憶された、接続関係のある端子間において、あるモジュールの出力端子が、他のモジュールの入力端子に接続されており、動作レベル記述が、実際に信号の出力動作が行われる前に、他のモジュールにて入力として使用されるような入出力タイミング違反がないか検証する。違反が検出された場合は違反情報を接続違反表示部104、及びタイミングチャート表示部103に表示する。同時に、動作レベル記述の違反に相当する部位を、中間記述記憶部123に記憶された中間記述や違反情報から、対応関係記憶部126を用いて抽出し、動作レベル記述表示部101で非違反部から区別表示する。これによって、入出力タイミングの違反の抽出と、関連部位の区別表示が可能となる。
図2は、本実施形態の回路設計支援システム1の動作を例示するフローチャートである。図2のフローチャートを参照して、本実施形態の全体の動作について詳細に説明する。まず設計者は、ステップA1において、入出力装置100を用いて、入力となる動作レベル記述、および動作合成方法を記憶装置120に転送する。動作レベル記述は動作レベル記述記憶部121に記憶される。また、転送された動作レベル記述は動作レベル記述表示部101にも表示され、設計者は動作レベル記述表示部101を介して、転送された動作レベル記述の編集を行うことができる。
ステップA2において、記憶された動作レベル記述に対して、動作合成部111を用いて動作合成処理を実行する。合成の過程で生成される中間記述を中間記述記憶部123に記憶させる。この中間記述と、動作合成の入力となった動作レベル記述との対応関係が、対応関係記憶部126に記憶される。同時に、モジュールの端子情報が端子情報記憶部122に、状態遷移に関する情報がFSM情報記憶部125に格納される。
ステップA3において、動作レベル記述上では未接続のモジュールや端子がある場合は、設計者が、モジュール間接続部112によって、モジュール間の接続作業を行う。接続方法の一つとして、端子情報記憶部122に記憶された端子情報を元に、モジュール間接続表示・編集部102上で設計者の指定のあった複数のモジュールのうち、名称が同じ端子を自動で接続することがあげられる。また他の手法として、モジュール間接続表示・編集部102上で、設計者が接続を行う端子を明示的に指定し、端子毎に接続を行うことも考えられる。全てのモジュール間、端子間の接続関係は、モジュール間接続情報記憶部124に記憶される。
ステップA4において、接続の指定が終わると、自動あるいは手動で指定された各接続に対して、型、あるいは入出力タイミングによる接続違反の検出を行う。まずモジュール間型検証部113によって、モジュール間接続情報記憶部124に記憶された、接続関係のある端子間において、型の不一致などの違反がないか検証する。次に、モジュール間タイミング検証部114は、モジュール間接続情報記憶部124に記憶された、接続関係のある端子間において、あるモジュールの出力端子が、他のモジュールの入力端子に接続されており、動作レベル記述が、実際に信号の出力動作が行われる前に、他のモジュールにて入力として使用されるような入出力タイミング違反がないか検証する。違反が検出された場合は違反情報を接続違反表示部104に表示する。タイミング違反が検出された場合は同時に、タイミングチャート表示部103に表示する。
ステップA5において、接続の検証を実施した結果、何らかの違反が検出された場合は、接続違反表示部104やタイミングチャート表示部103に表示された違反情報を選択することで、動作レベル記述の違反に相当する部位を動作レベル記述表示部101において区別表示する。設計者はこの情報を元に、問題の解決を図る。違反部の区別表示は、中間記述記憶部123に記憶された中間記述や違反情報から、対応関係記憶部126を用いて違反該当部を抽出することで実現する。
このように、本実施形態の回路設計支援システム1では、入出力タイミングの違反を接続違反表示部104及びタイミングチャート表示部103を介して設計者に提示できる。また、これらの違反メッセージ等を選択することで、動作レベル記述の違反該当部を動作レベル記述表示部101上で区別表示することができる。これらの情報を元に、設計者は効率的に、入出力タイミングに関する不具合の改善を行うことができる。
以下に、具体的な記述例を用いて、本実施形態の回路設計支援システム1の動作を説明する。以下の説明においては、設計者が記述した動作レベル記述が、動作レベル記述記憶部121に記憶されているとする。動作レベル記述は、一般に、C言語や、C言語に端子やレジスタなどの部品や並列動作が記述できるようハードウェア向けの拡張を施した言語や、C++言語や、SYSTEMCや、VERILOG−HDLや、VHDLなどが用いられる。これらの言語で記述された動作レベル記述が、予め動作レベル記述記憶部121に格納されている。
図3は、名称がmodule1という名前のモジュールに関する動作レベル記述300の構成を例示するリストである。1サイクル目に信号sig1を出力する記述301が記載されている。4サイクル目に外部メモリmemに対して書き込みを行う記述302が記載されている。5サイクル目に信号sig3を参照する記述303が記載されている。6サイクル目に信号sig2を参照する記述304が記載されている。
図4は、名称がmodule2という名前のモジュールに関する動作レベル記述305の構成を理事するリストである。1サイクル目に信号sig1を参照する記述306が記載されている。4サイクル目に外部メモリmemを参照する記述307が記載されている。5サイクル目に信号sig2を出力する記述308が記載されている。
図5は、名称がmodule3という名前のモジュールに関する動作レベル記述309の構成を例示するリストである。2サイクル目に信号sig1を参照する記述310が記載されている。6サイクル目に信号sig3を出力する記述311が記載されている。
これらの動作レベル記述300、動作レベル記述305、動作レベル記述309に対して、それぞれ動作合成を実行する。動作合成部111によって、動作レベル記述は、中間記述を経て、RTレベル記述に変換される。端子情報は、端子情報記憶部122に格納される。中間記述は、中間記述記憶部123に格納される。状態遷移の情報は、FSM情報記憶部125に格納される。動作レベル記述と中間記述の対応関係は、対応関係記憶部126に記憶される。設計者は、動作レベル記述を動作レベル記述表示部101で閲覧することができる。
次に、module1、module2、module3の3モジュールの接続を行う。接続は、モジュール間接続部112を用いて、同じ名前の信号端子を接続するなどの方法で自動的に行うか、モジュール間接続表示・編集部102で、端子レベルで接続を編集するなどの手法で行われる。
図6は、接続操作が終了した状態のモジュール間接続表示・編集部102の表示画面を例示する図である。モジュール間接続表示・編集部102の枠312の中に、module1に相当する矩形313、module2に相当する矩形314、module3に相当する矩形315、及びメモリmemに相当する矩形316が描画されている。また、module1の信号sig1の端子とmodule2の信号sig1の端子とmodule3の信号sig1の端子が接続されている。module1の信号sig2の端子とmodule2の信号sig2の端子が接続されている。module3の信号sig1の端子とmodule3の信号sig3の端子が接続されている。module1のメモリmemへのアクセス端子とmodule2のメモリmemへのアクセス端子が接続されている。これらの接続状態は、モジュール間接続情報記憶部124に記憶される。
接続操作が終了した後、設計者はこれらの接続関係に対して、モジュール間型検証部113を用いて、接続されている端子同士の型が一致しているか検証する。モジュール間接続情報記憶部124に記憶されたそれぞれの接続において、つながっている端子間の型の比較を行うことで、モジュール間型検証部113による検証が実施される。端子間の型に基づいた接続操作及び接続結果の確認は、以上で終了する。
ここで、module1の動作レベル記述300における信号sig1の出力記述301と、module2の動作レベル記述305における信号sig1の入力記述306と、module3の動作レベル記述309における信号sig1の入力記述310を考える。module1の動作レベル記述300における信号sig1の出力記述301は、回路始動直後の1クロック目で実行されている。また、module3の動作レベル記述309における信号sig1の入力記述310は、2クロック目で実行されている。module3の動作レベル記述309における信号sig1の入力記述310は、module1の動作レベル記述300における信号sig1の出力記述301の後のクロックサイクルで実行されている。そのため、module3の入力動作時には、module1の出力した値が正しく渡っている。
ところが、module2の動作レベル記述305における信号sig1の入力記述306は、1クロック目で実行されており、module1の動作レベル記述300における信号sig1の出力記述301と同じクロックサイクルで実行されている。このため、module2の入力動作時には、module1の出力した値を正しく参照することができない可能性があり、結果として仕様上想定した動作をとることが困難と考えられ、入出力タイミングの違反である可能性が高い。
本実施形態の回路設計支援システム1では、モジュール間型検証部113を用いた型の検証を実施した後、モジュール間タイミング検証部114を用いて、FSM情報記憶部125に記憶された各モジュールの状態遷移情報から、各クロックサイクルでの信号に対する入出力情報を抽出し、信号が出力される前に他のモジュールで参照されるなどの違反を検出することによって、入出力タイミングの検証を行う。結果はタイミングチャート表示部103に表示される。
図7は、module1、module2、module3に対して検証を行った結果を示している。module1の状態遷移図317、module2の状態遷移図318、module3の状態遷移図319が、それぞれのモジュールの入出力端子の接続状態と入出力タイミングにあわせて結線され表示されている。例えばmodule1の1サイクル目は、module1の状態遷移図317中の第1状態(320)に相当し、module2の1サイクル目はmodule2の状態遷移図318中の第1状態(321)に相当する。
module1では、記述301で示されるように、1サイクル目に信号sig1の出力がなされており、module2では、記述306で示されるように、1サイクル目に信号sig1の参照がなされているが、module1の第1状態(320)とmodule2の第1状態(321)を結線する、信号sig1の入出力を示す線322がこの関係を表している。module1の第1状態(320)と、module2の第1状態(321)とは、同じクロックサイクルで動作するので、module2ではmodule1が出力した信号sig1の値を正しく参照できる保証が無いため、これは違反の候補と判断され、信号sig1の入出力を示す線322が他の線と区別表示される。図7では太線で描画することで区別を表している。同時に接続違反表示部104に、警告メッセージを表示する。
図8は、警告メッセージの構成を例示する図である。module3でもmodule2と同様、記述310で示されるように、2サイクル目に信号sig1の参照がなされており、module1の第1状態(320)とmodule3の第2状態(324)を結線する、信号sig1の入出力を示す線325がこの関係を表している。この接続の場合、module3での信号sig1の参照はmodule1での信号sig1の出力の後のクロックサイクルで行われるため、違反候補とみなされず、線325は区別表示されていない。
次に、module1の4サイクル目は、module1の状態遷移図317中の第4状態(326)に相当し、module2の4サイクル目はmodule2の状態遷移図318中の第4状態(327)に相当する。module1では記述302で示されるように、4サイクル目にメモリmemの書き込みがなされており、module2では記述307で示されるように、4サイクル目にメモリmemの参照がなされているが、module1の第4状態(326)とmodule2の第4状態(327)を結線する、メモリmemへの書き込みと参照を示す線328がこの関係を表している。module1の第4状態(326)とmodule2の第4状態(327)は同じクロックサイクルで動作するので、module2ではmodule1が書き込んだメモリの値を正しく参照できる保証が無いため、これは違反の候補と判断され、メモリmemへの書き込みと参照を示す線328が他の線と区別表示される。
また、module3の6サイクル目は、module3の状態遷移図319中の第6状態(329)に相当し、module1の5サイクル目はmodule1の状態遷移図317中の第5状態(330)に相当する。module3では記述311で示されるように、6サイクル目に信号sig3の出力がなされており、module1では記述303で示されるように、5サイクル目に信号sig3の参照がなされているが、module3の第6状態(329)とmodule1の第5状態(330)を結線する、信号sig3の入出力を示す線331がこの関係を表している。module3の第6状態(329)より、module1の第5状態(330)は早いクロックサイクルで動作するので、module1ではmodule3が出力した信号sig3の値を正しく参照できる保証が無いため、これは違反の候補と判断され、信号sig3の入出力を示す線331が他の線と区別表示される。
ここで、設計者がタイミングチャート表示部103の各部位を選択することで、選択された部位に相当する中間記述情報から、対応関係記憶部126に記憶された動作レベル記述との関係を元に動作レベル記述の関連部位を抽出し、動作レベル記述表示部101で区別表示を行う。
図9は、動作レベル記述表示部で違反箇所の区別表示がなされている様子を例示する図である。例えば、上述の実施形態において、違反候補とみなされている、module1の第1状態(320)とmodule2の第1状態(321)を結線している信号sig1の入出力を示す線322を特定する。
信号sig1の入出力を示す線322について、信号sig1を出力しているmodule1の第1状態(320)を選択すると、module1の動作レベル記述300の第1状態に相当する全ての行332が区別表示される。信号sig1の入出力を示す線322について、信号sig1を参照しているmodule2の第1状態(321)を選択すると、module2の動作レベル記述305の第1状態に相当する全ての行333が区別表示される。また、信号sig1の入出力を示す線322を選択すると、module1の動作レベル記述300の第1状態内での信号sig1の出力記述334と、module2の動作レベル記述305の第1状態内での信号sig1の参照記述335とが区別表示される。
更に、信号sig1の入出力を示す線322に対して、違反の可能性が無い入出力関係の候補を表示する操作を実行すると、その候補の一つとしてタイミングチャート表示部103上で、module2の第2状態(323)が区別表示され、同時にmodule2の動作レベル記述305の第2状態に相当する全ての行336が区別表示される。
更に、接続違反表示部104に表示される違反メッセージの状態名、信号名などを選択することで、タイミングチャート表示部103と同様、動作レベル記述の区別表示を行うことができる。
このように本システムにおいては、複数のモジュールの接続が行われる記述がある場合、その接続の入出力のタイミング上での妥当性を検証し、問題があれば動作レベル記述の関連箇所を区別表示することができるため、違反の発見と対策の作業が容易となる。
以上、本願発明の実施の形態を具体的に説明した。本願発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
1…回路設計支援システム
100…入出力装置
101…動作レベル記述表示部
102…モジュール間接続表示・編集部
103…タイミングチャート表示部
104…接続違反表示部
110…データ処理装置
111…動作合成部
112…モジュール間接続部
113…モジュール間型検証部
114…モジュール間タイミング検証部
120…記憶装置
121…動作レベル記述記憶部
122…端子情報記憶部
123…中間記述記憶部
124…モジュール間接続情報記憶部
125…FSM情報記憶部
126…対応関係記憶部
300…動作レベル記述
301…記述
302…記述
303…記述
304…記述
305…記述
306…記述
307…記述
308…記述
309…記述
310…記述
311…記述
312…枠
313…矩形
314…矩形
315…矩形
316…矩形
317…状態遷移図
318…状態遷移図
319…状態遷移図
320…第1状態
321…第1状態
322…線
323…第2状態
324…第2状態
325…線
326…第4状態
327…第4状態
328…線
329…第6状態
330…第5状態
331…線
332…行
333…行
334…出力記述
335…参照記述
336…行
mem…メモリ
sig1…信号
sig2…信号
sig3…信号
400…回路設計支援システム
401…入出力装置
402…データ処理装置
403…記憶装置
404…動作レベル記述表示部
405…モジュール間接続表示・編集部
406…動作合成部
407…モジュール間接続部
408…モジュール間型検証部
409…動作レベル記述記憶部
410…端子情報記憶部
411…中間記述記憶部
412…モジュール間接続情報記憶部

Claims (12)

  1. 記憶装置に保持されている動作レベル記述を読み出して動作合成処理を実行し、前記動作合成処理の結果である複数のモジュールを生成する動作合成部と、
    前記複数のモジュールを接続したときの接続関係を示すモジュール間接続情報を生成するモジュール間接続部と、
    前記モジュール間接続情報に示される前記接続関係に基づいて、前記複数のモジュール間の端子に違反が存在するか否かを検証するモジュール間型検証部と、
    前記モジュール間接続情報に示される前記接続関係に基づいて、前記端子間において、入出力タイミング違反がないか検証するモジュール間タイミング検証部と
    を具備し、
    前記モジュール間タイミング検証部は、
    前記複数のモジュールのうちの特定モジュールの出力端子が、他のモジュールの入力端子に接続されており、前記動作レベル記述が、実際に信号の出力動作が行われる前に、前記他のモジュールに対して入力として使用されるような入出力タイミング違反が存在するか否かを検証する
    回路設計支援システム。
  2. 請求項1に記載の回路設計支援システムにおいて、
    前記動作合成部は、
    前記動作合成の過程で生成される中間記述と、
    前記中間記述と前記動作レベル記述との対応関係を示す対応関係情報と、
    前記複数のモジュールの各々の端子情報と、
    前記モジュールの状態遷移に関する状態遷移情報と
    を前記記憶装置に格納し、
    前記モジュール間接続部は、
    前記端子情報に基づいて、前記複数のモジュールの名称が同じ端子を自動で接続して前記モジュール間接続情報を生成し、
    前記モジュール間タイミング検証部は、
    前記モジュール間接続情報と、前記状態遷移情報と、前記中間記述とに基づいて、前記入出力タイミング違反が存在するか否かを検証する
    回路設計支援システム。
  3. 請求項2に記載の回路設計支援システムにおいて、
    前記モジュール間タイミング検証部は、
    前記状態遷移情報に示される前記複数のモジュールの各々の状態を参照し、その参照によって得られた前記複数のモジュールの各々の動作タイミングと、前記中間記述に示される動作タイミングとの関連に基づいて、前記入出力タイミング違反が存在するか否かを検証する
    回路設計支援システム。
  4. 請求項3に記載の回路設計支援システムにおいて、さらに、
    タイミングチャート表示部と、
    動作レベル表示部と
    を具備し、
    前記タイミングチャート表示部は、
    前記入出力タイミング違反が検出されたとき違反情報を表示し、
    前記動作レベル表示部は、
    前記違反情報に基づいて、前記動作レベル記述の違反に相当する部位を区別表示する
    回路設計支援システム。
  5. 請求項4に記載の回路設計支援システムにおいて、さらに、
    接続違反表示部を具備し、
    前記接続違反表示部は、
    前記複数のモジュール間の端子に存在する違反が検出されたとき、端子違反情報を表示し、
    前記動作レベル表示部は、
    前記端子違反情報に基づいて、前記動作レベル記述の違反に相当する部位を区別表示する
    回路設計支援システム。
  6. 請求項4または5に記載に回路設計支援システムにおいて、
    前記動作レベル表示部は、
    前記中間記述と前記違反情報と前記端子違反情報を参照し、前記対応関係情報に基づいて、前記動作レベル記述の違反に相当する部位を抽出する
    回路設計支援システム。
  7. コンピュータを集積回路の設計を支援する回路設計支援システムとして機能させるための手順を示す回路設計支援プログラムであって、
    (a)記憶装置に保持されている動作レベル記述を読み出して動作合成処理を実行し、前記動作合成処理の結果である複数のモジュールを生成するステップと、
    (b)前記複数のモジュールを接続したときの接続関係を示すモジュール間接続情報を生成するステップと、
    (c)前記モジュール間接続情報に示される前記接続関係に基づいて、前記複数のモジュール間の端子に違反が存在するか否かを検証するステップと、
    (d)前記モジュール間接続情報に示される前記接続関係に基づいて、前記端子間において、入出力タイミング違反がないか検証するステップと
    を具備し、
    前記(d)ステップは、
    前記複数のモジュールのうちの特定モジュールの出力端子が、他のモジュールの入力端子に接続されている部分を特定するステップと、
    前記動作レベル記述が、実際に信号の出力動作が行われる前に、前記他のモジュールの入力端子に対して、入力として使用されるような入出力タイミング違反が存在するか否かを検証するステップと
    を含む
    回路設計支援プログラム。
  8. 請求項7に記載の回路設計支援プログラムにおいて、
    前記(a)ステップは、
    前記動作合成の過程における中間記述を生成するステップと、
    前記中間記述と前記動作レベル記述との対応関係を示す対応関係情報を生成するステップと、
    前記複数のモジュールの各々の端子情報を生成するステップと、
    前記モジュールの状態遷移に関する状態遷移情報を生成するステップと
    を含み、
    前記(c)ステップは、
    前記端子情報に基づいて、前記複数のモジュールの名称が同じ端子を自動で接続して前記モジュール間接続情報を生成するステップを含み、
    前記(d)ステップは、
    前記モジュール間接続情報と、前記状態遷移情報と、前記中間記述とに基づいて、前記入出力タイミング違反が存在するか否かを検証するステップを含む
    回路設計支援プログラム。
  9. 請求項8に記載の回路設計支援プログラムにおいて、
    前記(d)ステップは、
    前記状態遷移情報に示される前記複数のモジュールの各々の状態を参照するステップと、
    その参照によって得られた前記複数のモジュールの各々の動作タイミングと、前記中間記述に示される動作タイミングとの関連に基づいて、前記入出力タイミング違反が存在するか否かを検証するステップと
    を含む
    回路設計支援プログラム。
  10. 請求項9に記載の回路設計支援プログラムにおいて、さらに、
    (e)前記入出力タイミング違反が検出されたとき違反情報を表示するステップと、
    (f)前記違反情報に基づいて、前記動作レベル記述の違反に相当する部位を区別表示するステップと
    を具備する
    回路設計支援プログラム。
  11. 請求項10に記載の回路設計支援プログラムにおいて、さらに、
    (g)前記複数のモジュール間の端子に存在する違反が検出されたとき、端子違反情報を表示するステップを具備し、
    前記(f)ステップは、
    前記端子違反情報に基づいて、前記動作レベル記述の違反に相当する部位を区別表示するステップを含む
    回路設計支援プログラム。
  12. 請求項10または11に記載に回路設計支援プログラムにおいて、
    前記(f)ステップは、
    前記中間記述と前記違反情報と前記端子違反情報を参照した後、前記対応関係情報に基づいて、前記動作レベル記述の違反に相当する部位を抽出するステップを含む
    回路設計支援プログラム。
JP2009051207A 2009-03-04 2009-03-04 回路設計支援システム Withdrawn JP2010205073A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009051207A JP2010205073A (ja) 2009-03-04 2009-03-04 回路設計支援システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009051207A JP2010205073A (ja) 2009-03-04 2009-03-04 回路設計支援システム

Publications (1)

Publication Number Publication Date
JP2010205073A true JP2010205073A (ja) 2010-09-16

Family

ID=42966470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009051207A Withdrawn JP2010205073A (ja) 2009-03-04 2009-03-04 回路設計支援システム

Country Status (1)

Country Link
JP (1) JP2010205073A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021024413A1 (ja) * 2019-08-07 2021-02-11

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021024413A1 (ja) * 2019-08-07 2021-02-11
WO2021024413A1 (ja) * 2019-08-07 2021-02-11 株式会社Fuji シミュレーションシステム
JP7312835B2 (ja) 2019-08-07 2023-07-21 株式会社Fuji シミュレーションシステム

Similar Documents

Publication Publication Date Title
US8417504B2 (en) Conversion of circuit description to a transaction model
JP4255079B2 (ja) アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法
JP2000082094A (ja) 半導体集積回路設計検証システム
CN115238619B (zh) 数字芯片的子模块后仿真方法和系统
JP4147842B2 (ja) 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム
JP2006048525A (ja) シミュレーション方法
Chang et al. Automatic error diagnosis and correction for RTL designs
JP2007034833A (ja) 機能検証記述生成装置,機能検証記述生成方法,及び機能検証記述生成プログラム
CN117094269B (zh) 一种验证方法、装置、电子设备及可读存储介质
US20080313584A1 (en) Logic verification method
US20090132227A1 (en) Counter example analysis support apparatus
JP2004094362A (ja) 故障検証装置
JP2010205073A (ja) 回路設計支援システム
JP2008305079A (ja) 要求仕様自動検証方式
JP2755237B2 (ja) シミュレーション装置およびその方法
US10909290B2 (en) Method of detecting a circuit malfunction and related device
US6678841B1 (en) Function test support system and function test support method and hardware description model
JP2004326650A (ja) 論理検証プログラム及び記録媒体
JP2006277180A (ja) Rtl入力プログラムの不具合解析支援装置及びその方法ならびに部分rtl生成装置
JP3941336B2 (ja) 論理回路検証装置
JPWO2012049816A1 (ja) モデル検査装置、方法及びプログラム
JP2008107872A (ja) 半導体集積回路
EV et al. Design of generic verification procedure for IIC protocol in UVM
JP5104356B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法
JP2011081760A (ja) 情報処理装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120605