JP2006285860A - Simulation model generation method and device therefor - Google Patents

Simulation model generation method and device therefor Download PDF

Info

Publication number
JP2006285860A
JP2006285860A JP2005107751A JP2005107751A JP2006285860A JP 2006285860 A JP2006285860 A JP 2006285860A JP 2005107751 A JP2005107751 A JP 2005107751A JP 2005107751 A JP2005107751 A JP 2005107751A JP 2006285860 A JP2006285860 A JP 2006285860A
Authority
JP
Japan
Prior art keywords
simulation model
simulation
designating
model generation
functional module
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
JP2005107751A
Other languages
Japanese (ja)
Inventor
Masayuki Odakawa
真之 小田川
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005107751A priority Critical patent/JP2006285860A/en
Publication of JP2006285860A publication Critical patent/JP2006285860A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To easily generate a simulation model for allowing execution of system simulation by optimum speed and accuracy. <P>SOLUTION: A simulation model configuration of the whole system is generated by: designating at least one function module constituting the system so as to generate the simulation model for simulating the whole system (S401); designating a purpose of the simulation to the designated function module (S402); designating an abstraction degree of the simulation model to the designated function module on the basis of the designated purpose (S403); and designating a test vector used in the simulation using the simulation model (S404). <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明はシミュレーションモデル生成方法およびその装置に関し、特に、システム全体のシミュレーションを行うためのシミュレーションモデル構成を生成するシミュレーションモデル生成方法およびその装置に関する。   The present invention relates to a simulation model generation method and apparatus, and more particularly, to a simulation model generation method and apparatus for generating a simulation model configuration for simulating the entire system.

プロセス技術の進歩によりLSIの集積度が増大し、これまでボードとして実現していたシステムを、システムLSIとして1チップ上に搭載することが可能となった。チップ上に搭載される機能モジュールも多様化し、その回路規模も増大している。これに伴い、システムLSIを効率的に設計する手法として、従来のVerilog-HDLやVHDLといったハードウェア記述言語を使用した設計から、SystemCやSpecCといったシステム記述言語を用いた設計へと移行しつつある。   Advances in process technology have increased the degree of integration of LSIs, and it has become possible to mount a system that has been implemented as a board on a single chip as a system LSI. The functional modules mounted on the chip are also diversified and the circuit scale is increasing. Along with this, as a method for efficiently designing system LSIs, the design using hardware description languages such as Verilog-HDL and VHDL is shifting to the design using system description languages such as SystemC and SpecC. .

システム記述言語による設計支援ツールとして、Synopsys社のCoCentricや、CoWare社のn2cが知られている。これらのシステム記述言語により記述したモジュールをブロック図入力画面で入力することによって、システムLSIの設計が行われる。システムLSIの設計が終了すると、設計支援ツールによってシミュレーションモデルを生成し、シミュレータを起動してシステムシミュレーションを行うことによって、システムLSIの機能や性能を確認することができる。   Synopsys CoCentric and CoWare n2c are known as design support tools using system description languages. The system LSI is designed by inputting the modules described in these system description languages on the block diagram input screen. When the design of the system LSI is completed, the function and performance of the system LSI can be confirmed by generating a simulation model with a design support tool, starting the simulator, and performing system simulation.

システム記述言語によるモジュール記述としては一般に、記述の抽象度により以下の3種類の記述レベルが知られている。   In general, three types of description levels are known as module descriptions in the system description language depending on the level of abstraction of the description.

i)トランザクションレベル(TL):モジュール間の通信を捉えて機能を記述する抽象度レベルである。通信の開始および終了の時間、通信データにより動作するため、クロックに対する精度は非常に低い。イベントにより機能をシミュレートするため、シミュレーション速度は非常に速い。   i) Transaction level (TL): This is the level of abstraction that describes communication between modules. Since it operates according to the communication start and end time and communication data, the accuracy with respect to the clock is very low. The simulation speed is very fast because the function is simulated by the event.

ii)バスサイクルアキュレート(BCA):モジュールの入力と出力のイベントとして機能を記述する抽象度レベルである。動作クロックに対し、入力および出力部で正確にシミュレートすることができる。   ii) Bus cycle accurate (BCA): A level of abstraction that describes functions as module input and output events. The operation clock can be accurately simulated at the input and output units.

iii)レジスタトランスファレベル(RTL):レジスタファイル間の同期転送を捉えて、回路を記述する抽象度レベルである。動作クロックに対し、正確に機能動作をシミュレートすることができ精度が非常に高い。1クロックごとに機能をシミュレートするため、シミュレーション速度は非常に遅い。   iii) Register transfer level (RTL): An abstraction level for describing a circuit by capturing synchronous transfer between register files. The function operation can be accurately simulated with respect to the operation clock, and the accuracy is very high. Since the function is simulated every clock, the simulation speed is very slow.

このように、記述の抽象度が高いほどシミュレーション速度は速くなり、抽象度が低いほどシミュレーション精度が高くなる。システムLSIの設計では、抽象度の高い記述から抽象度の低い記述へと、モジュールの機能が徐々に詳細化されていく。システムLSIの設計者は、各種の抽象度で記述されたモジュールを選択して設計を行うことが一般的である。
例えば特許文献1には、論理回路用遅延計算装置に関し、特に論理部品を用いた詳細な回路図よりは抽象度の高い論理記法で表現する論理構造表現と、フロアプランレベルの配置に対して概略的な遅延計算を行う論理回路用遅延計算装置に関する技術が開示されている。
特開平05−174093号公報
Thus, the higher the abstraction level of the description, the faster the simulation speed, and the lower the abstraction level, the higher the simulation accuracy. In system LSI design, module functions are gradually refined from descriptions with a high level of abstraction to descriptions with a low level of abstraction. In general, a system LSI designer selects and designs modules described with various degrees of abstraction.
For example, Patent Document 1 relates to a delay calculation device for a logic circuit, and in particular, to a logical structure expression expressed in a logic notation having a higher abstraction level than a detailed circuit diagram using logic components, and an arrangement at a floor plan level. A technique relating to a delay calculation apparatus for a logic circuit that performs a typical delay calculation is disclosed.
JP 05-174093 A

しかしながら上記従来のシステムLSI設計においては、ユーザがシミュレーションの目的に合わせてシミュレーションモデルを選択する必要があった。このため、経験の浅い設計者や、設計を行わない検証技術者、ソフトウェア開発技術者等にとっては、最適なシミュレーションモデルの構成を選択することは難しく、シミュレーションの目的に合った精度でシミュレーション結果を得ることは困難であった。   However, in the conventional system LSI design described above, the user has to select a simulation model in accordance with the purpose of the simulation. For this reason, it is difficult for an inexperienced designer, a verification engineer who does not design, a software development engineer, etc., to select the optimal simulation model configuration, and the simulation results are obtained with an accuracy suitable for the purpose of the simulation. It was difficult to get.

本発明は上述した問題を解決するためになされたものであり、最適な速度および精度によるシステムシミュレーションを実行可能とするためのシミュレーションモデルを容易に生成するシミュレーションモデル生成方法およびその装置を提供することを目的とする。   The present invention has been made to solve the above-described problems, and provides a simulation model generation method and apparatus for easily generating a simulation model for enabling system simulation with optimum speed and accuracy. With the goal.

上記目的を達成するための一手法として、本発明のシミュレーションモデル生成方法は以下のステップを備える。   As a technique for achieving the above object, the simulation model generation method of the present invention includes the following steps.

すなわち、システム全体のシミュレーションを行うためのシミュレーションモデルを生成するシミュレーションモデル生成方法であって、システムを構成する少なくとも一つの機能モジュールを指定するモジュール指定ステップと、該指定された機能モジュールに対するシミュレーションの目的を指定する目的指定ステップと、該指定された目的に基づいて、前記機能モジュール指定ステップで指定された機能モジュールに対するシミュレーションモデルの抽象度を指定する抽象度指定ステップと、前記シミュレーションモデルを用いたシミュレーションで使用するテストベクタを指定するテストベクタ指定ステップと、を有することを特徴とする。   That is, a simulation model generation method for generating a simulation model for simulating the entire system, the module specifying step for specifying at least one functional module constituting the system, and the purpose of the simulation for the specified functional module A purpose designating step for designating, an abstraction designating step for designating the abstraction level of the simulation model for the functional module designated in the functional module designating step based on the designated purpose, and a simulation using the simulation model And a test vector designating step for designating a test vector to be used in.

本発明によれば、ユーザがシミュレーションの目的を選択するだけで、システム全体のシミュレーションモデル構成を得ることができ、最適な速度および精度によるシミュレーションを容易に実行することができる。   According to the present invention, a simulation model configuration of the entire system can be obtained only by the user selecting the purpose of simulation, and simulation with optimum speed and accuracy can be easily executed.

以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。   Hereinafter, the present invention will be described in detail based on preferred embodiments with reference to the accompanying drawings.

<第1実施形態>
まず図1に、本実施形態におけるシステムLSIのシミュレーションモデル生成処理において、ユーザインタフェースとなる画面表示例を示す。同1において、101はブロック図の入力および編集を行うブロック図表示部である。すなわち、ブロック図表示部101に示されるブロック図が、システムLSIの設計データを表している。ユーザはマウスやキーボード等を用いて、ブロック図表示部101上でシステムLSIを構成する機能モジュールの選択を行う。
<First Embodiment>
First, FIG. 1 shows a screen display example as a user interface in the simulation model generation processing of the system LSI in the present embodiment. In FIG. 1, reference numeral 101 denotes a block diagram display unit for inputting and editing a block diagram. That is, the block diagram shown in the block diagram display unit 101 represents the design data of the system LSI. The user selects a functional module that constitutes the system LSI on the block diagram display unit 101 using a mouse, a keyboard, or the like.

102は、選択した機能モジュールに対するシミュレーションの目的を選択するシミュレーション目的選択部である。ユーザは、選択したモジュールに対するシミュレーション目的を選択する。シミュレーション目的選択部102は、ブロック図表示部101内のブロック図を構成するシンボルのうち、少なくとも1つ以上が選択された場合に表示される。   Reference numeral 102 denotes a simulation purpose selection unit that selects the purpose of simulation for the selected functional module. The user selects the simulation purpose for the selected module. The simulation purpose selection unit 102 is displayed when at least one of symbols constituting the block diagram in the block diagram display unit 101 is selected.

ここで図3に、ブロック図表示部101において複数の機能モジュールが選択された場合の画面表示例を示す。1つの機能モジュールが選択されている状態を示す図1との比較から分かるように、複数の機能モジュールが選択された場合に選択可能となるシミュレーション目的は、1つの機能モジュールが選択された場合とは異なる。これは、複数の機能モジュールが選択されることによって、システム評価に関する目的が増えるためである。   Here, FIG. 3 shows a screen display example when a plurality of functional modules are selected in the block diagram display unit 101. As can be seen from the comparison with Fig. 1 that shows the state where one functional module is selected, the simulation purpose that can be selected when multiple functional modules are selected is the same as when one functional module is selected. Is different. This is because the purpose of system evaluation is increased by selecting a plurality of functional modules.

図2は、本実施形態におけるシステムLSIのシミュレーションモデル生成処理を実行するためのシステム構成を示すブロック図である。なお、本実施形態におけるシミュレーションモデル生成処理は、システムLSI設計ツールの一機能として実現されることが好ましい。   FIG. 2 is a block diagram showing a system configuration for executing a system LSI simulation model generation process in the present embodiment. Note that the simulation model generation processing in the present embodiment is preferably realized as a function of the system LSI design tool.

図2において、201はブロック図編集制御部であり、図1に示すブロック図表示に対し、システムLSIの設計データを表すブロック図の追加・削除および編集を制御し、編集された設計データを設計データベース203へ格納する。なお、ブロック図編集制御部201のブロック図入力・削除・編集の機能は、周知のCAD技術と同様であるため、ここでは詳細な説明を省略する。ブロック図編集制御部201は、その内部に画面編集制御部2011、モデル選択制御部2012、シミュレーション目的選択制御部2013を有する。   In FIG. 2, reference numeral 201 denotes a block diagram edit control unit, which controls addition / deletion and editing of a block diagram representing design data of a system LSI with respect to the block diagram display shown in FIG. 1, and designs edited design data. Store in database 203. The block diagram input / deletion / editing function of the block diagram editing control unit 201 is the same as that of the well-known CAD technology, and thus detailed description thereof is omitted here. The block diagram edit control unit 201 includes a screen edit control unit 2011, a model selection control unit 2012, and a simulation purpose selection control unit 2013 therein.

画面編集制御部2011は、設計対象のブロック図を構成するシンボルやラインの追加・削除や編集を制御し、機能モジュールを選択する。ここでシンボルは機能モジュールを代表し、ラインはバスや信号線を代表したものとして扱う。ブロック図表示部101上では、機能モジュールを代表するシンボルは箱状に、バスや信号線を代表するラインは線状に表示される。   The screen editing control unit 2011 controls addition / deletion and editing of symbols and lines constituting a block diagram to be designed, and selects a function module. Here, a symbol represents a functional module, and a line represents a bus or signal line. On the block diagram display unit 101, symbols representing functional modules are displayed in a box shape, and lines representing buses and signal lines are displayed in a line shape.

モデル選択制御部2012は、画面編集制御部2011により追加・削除および編集された機能モジュールまたはバスに対し、各種抽象度からなるシミュレーションモデルを選択し、管理する。選択可能なシミュレーションモデルは、設計データベース203内にライブラリとして保持されている。モデル選択制御部2012で選択された抽象度のシミュレーションモデルはすなわち、ユーザによって選択された抽象度であり、これは、後述するシミュレーション目的に応じて選択されたシミュレーションモデルの抽象度に優先して保持され、他の抽象度に変更されることはない。   The model selection control unit 2012 selects and manages simulation models having various degrees of abstraction for the functional modules or buses added, deleted, and edited by the screen editing control unit 2011. The selectable simulation models are held in the design database 203 as a library. The simulation model of the abstraction level selected by the model selection control unit 2012 is the abstraction level selected by the user, and this is held in preference to the abstraction level of the simulation model selected according to the simulation purpose described later. Will not be changed to other levels of abstraction.

シミュレーション目的選択制御部2013は、画面編集制御部2011で選択された機能モジュールに対し、シミュレーションの目的を選択する。   The simulation purpose selection control unit 2013 selects the purpose of the simulation for the functional module selected by the screen edit control unit 2011.

設計データベース203は、設計情報をデータベースとして記憶する。ここで設計情報としては、ブロック図編集制御部201により作成されたブロック図、既存モジュールの設計情報、各機能モジュールに対応した各種シミュレーションモデル、バスの設計情報、バスに対応した各種シミュレーションモデル、等が格納されている。   The design database 203 stores design information as a database. Here, the design information includes a block diagram created by the block diagram editing control unit 201, existing module design information, various simulation models corresponding to each functional module, bus design information, various simulation models corresponding to the bus, etc. Is stored.

202はシミュレーションモデル抽象度選択制御部である。ブロック図編集制御部201において、選択された機能モジュールに対するシミュレーションの目的が選択されると、選択されたシミュレーション目的に合わせ、テンプレートデータベース204内のテンプレートを使用して、システムを構成する各機能モジュールのシミュレーションモデルの抽象度を決定する。この決定方法については、後に詳述する。   Reference numeral 202 denotes a simulation model abstraction level selection control unit. When the purpose of simulation for the selected functional module is selected in the block diagram editing control unit 201, the template in the template database 204 is used for each functional module constituting the system according to the selected simulation purpose. Determine the abstraction level of the simulation model. This determination method will be described in detail later.

ユーザインタフェース制御部205は、ユーザとブロック図編集制御部201とのインタフェースをとる。出力部206はモニタ207へ設計情報を表示するための手段、入力部208はユーザがキーボード209およびマウス210から入力した情報を受けるための手段であり、キーボード209およびマウス210は、ユーザがブロック図の追加・削除および編集を実行し、シミュレーションモデルの選択、シミュレーション目的の選択を行うための入力手段である。すなわちユーザインタフェース制御部205においては、出力部206を介してモニタ207へ設計情報を表示し、入力部208を介してユーザからの入力を受け付ける。   A user interface control unit 205 serves as an interface between the user and the block diagram editing control unit 201. The output unit 206 is means for displaying design information on the monitor 207, the input unit 208 is means for receiving information input by the user from the keyboard 209 and the mouse 210, and the keyboard 209 and mouse 210 are block diagrams by the user. This is an input means for executing addition / deletion and editing, and selecting a simulation model and a simulation purpose. That is, the user interface control unit 205 displays design information on the monitor 207 via the output unit 206 and accepts input from the user via the input unit 208.

テストベクタ選択制御部211は、システムLSIのシミュレーションに使用するテストベクタの選択を行い管理する。選択可能なテストベクタは、テストデータベース212内に保持されている。   The test vector selection control unit 211 selects and manages a test vector used for system LSI simulation. Selectable test vectors are held in the test database 212.

以下、図4を用いて本実施形態におけるシミュレーションモデルの生成処理について詳細に説明する。図4は、本実施形態におけるシミュレーションモデル生成処理の流れを示すフローチャートである。   Hereinafter, the simulation model generation process according to the present embodiment will be described in detail with reference to FIG. FIG. 4 is a flowchart showing a flow of simulation model generation processing in the present embodiment.

まずステップS401において、ユーザがブロック図表示部101に表示されているブロック図から、ブロックを構成している機能モジュールのうち少なくとも1つを選択する。すると、選択された機能モジュールについてのシミュレーション目的選択部102が画面上に表示され、ステップS402においてユーザは該機能モジュールのシミュレーション目的を選択する。   First, in step S401, the user selects at least one of the functional modules constituting the block from the block diagram displayed on the block diagram display unit 101. Then, the simulation purpose selection unit 102 for the selected functional module is displayed on the screen, and the user selects the simulation purpose of the functional module in step S402.

するとステップS403において、シミュレーションモデル抽象度選択制御部202が選択された目的に対応するテンプレートをテンプレートデータベース204より読み出し、該読み出したテンプレートに従って、システムを構成する各機能モジュールのシミュレーションモデルの抽象度を決定する。なお、選択した機能モジュールに対するシミュレーションモデルの抽象度がユーザによって選択されている場合には、ユーザの選択が優先される。   In step S403, the simulation model abstraction level selection control unit 202 reads the template corresponding to the selected purpose from the template database 204, and determines the abstraction level of the simulation model of each functional module constituting the system according to the read template. To do. Note that when the abstraction level of the simulation model for the selected functional module is selected by the user, the user's selection is given priority.

ここで図5に、テンプレートデータベース204に保持されているテンプレートの記述例を示し、以下に説明する。なお図5は、選択した機能モジュールについてドライバソフト開発を目的とした例を示している。図中、「;」によって各項目を区別する。   Here, FIG. 5 shows a description example of the template held in the template database 204, which will be described below. FIG. 5 shows an example for the purpose of developing driver software for the selected function module. In the figure, each item is distinguished by “;”.

まず最初に、シミュレーションの目的を記述する。目的を記述することを示す「PURPOSE」に続いて、シミュレーション目的のキーワードである「DEVICE DRIVER」が記述されている。なお、「PURPOSE」と「DEVICE DRIVER」の間は「:」で区切られる。   First, the purpose of the simulation is described. Following “PURPOSE” indicating that the purpose is described, “DEVICE DRIVER” that is a keyword for the purpose of simulation is described. Note that “PURPOSE” and “DEVICE DRIVER” are separated by “:”.

次に、各モジュールについて、シミュレーションモデルの抽象度指定を行う。図5の例ではモジュールとして「CPU」、「メモリ」、「選択されたモジュール」、「それ以外のモジュール」についての指定を行っている。ここでは、「選択されたモジュール」に対する指定を例として説明する。   Next, the abstraction level of the simulation model is designated for each module. In the example of FIG. 5, “CPU”, “memory”, “selected module”, and “other modules” are specified as modules. Here, the specification for “selected module” will be described as an example.

選択されたモジュールであることを示す「SELECTED MODULE」に続き、シミュレーションモデルの抽象度が指定される。モデルの抽象度は優先度の高い順に複数個記述することができるが、最も優先度が高いのはユーザが選択した抽象度であり、キーワードとして「USER SELECTED」が記述されている。続いて、サイクル近似のトランザクションレベルモデル「CYCLE APPROXIMATE TLM」が指定され、順にサイクル精度のトランザクションレベルモデル「CYCLE ACCURATE TLM」、レジスタ精度のアンタイムモデル「REGISTER ACCURATE UT」、バスサイクル精度モデル「BCA」が指定されている。各抽象度を表すキーワードは「,」で区切られている。   Following “SELECTED MODULE”, which indicates the selected module, the abstraction level of the simulation model is designated. A plurality of model abstractions can be described in descending order of priority, but the highest priority is the abstraction level selected by the user, and “USER SELECTED” is described as a keyword. Next, the cycle approximate transaction level model “CYCLE APPROXIMATE TLM” is specified, and the cycle accuracy transaction level model “CYCLE ACCURATE TLM”, register accuracy untime model “REGISTER ACCURATE UT”, bus cycle accuracy model “BCA” Is specified. Keywords representing each degree of abstraction are separated by “,”.

このように各モジュールについての抽象度指定が記述された後に、指定されている抽象度のモデルが無い場合に使用される抽象度が「DEFAULT」として、レジスタトランスファレベル「RTL」が指定されている。   After the abstraction level specification for each module is described in this way, the abstraction level used when there is no model of the specified abstraction level is “DEFAULT”, and the register transfer level “RTL” is specified. .

シミュレーションモデル抽象度選択制御部202は、図5のようなテンプレートに従って、設計データベース203から各機能モジュールに対するシミュレーションモデルの抽象度を決定していく。このとき、最も高い優先度で指定された抽象度のモデルが無い場合、次の優先度に指定された抽象度のモデルが選択される。さらに、最も低い優先度のモデルも無い場合には、「DEFAULT」で指定された抽象度のモデルが使用される。   The simulation model abstraction level selection control unit 202 determines the abstraction level of the simulation model for each functional module from the design database 203 according to a template as shown in FIG. At this time, if there is no model with the abstraction level designated with the highest priority, the model with the abstraction level designated with the next priority is selected. Furthermore, if there is no model with the lowest priority, the model with the abstraction level specified by “DEFAULT” is used.

以上のようにして各機能モジュールについてのシミュレーションモデルの抽象度が決定されると、次にステップS404において、ユーザがテストベクタの選択を実行する。すなわち、システムのシミュレーションに使用するテストベクタを、テストデータベース212から選択する。ユーザによるテストベクタの選択が終了すると、システムLSI全体のシミュレーションモデルが生成される。   When the simulation model abstraction level for each functional module is determined as described above, in step S404, the user selects a test vector. That is, a test vector used for system simulation is selected from the test database 212. When the user finishes selecting test vectors, a simulation model of the entire system LSI is generated.

図6に、シミュレーションモデルの記述例を示す。各機能モジュールに対し、シミュレーションモデル抽象度選択制御部202により選択された抽象度のシミュレーションモデル記述がインスタンスされ、ブロック図表示部101に表示された接続情報を反映したシミュレーションモデルが生成されていることが分かる。ユーザは、生成されたシミュレーションモデルを使用して、システムLSI全体のシミュレーションを実行することができる。   FIG. 6 shows a description example of the simulation model. For each functional module, the simulation model description of the abstraction level selected by the simulation model abstraction level selection control unit 202 is instantiated, and a simulation model reflecting the connection information displayed on the block diagram display unit 101 is generated I understand. The user can execute a simulation of the entire system LSI using the generated simulation model.

以上説明したように本実施形態によれば、ブロック図の追加・削除・編集が可能な設計ツールにおいて、ユーザがシミュレーションの目的を選択すれば、選択された目的に合った抽象度のシミュレーションモデルを用いてシミュレーションが実行できるような構成を実現したことにより、以下のような効果が得られる。 まず、シミュレーション目的に応じて、常に最適な抽象度のシミュレーションモデルの組合わせによるシミュレーションを実行することができる。このため、シミュレーション時間が長くかかりすぎたり、またシミュレーション時間を短くしたことにより精度が不足するといった問題が無くなる。   As described above, according to the present embodiment, in a design tool capable of adding, deleting, and editing a block diagram, if a user selects a purpose of simulation, a simulation model having an abstraction level that meets the selected purpose is obtained. By realizing a configuration that can be used to perform simulation, the following effects can be obtained. First, according to the simulation purpose, it is possible to always execute a simulation based on a combination of simulation models having an optimal abstraction level. For this reason, the problem that the simulation time is too long or the accuracy is insufficient due to the shortened simulation time is eliminated.

さらに、ユーザがたとえ経験の少ない設計者や設計経験の無い検証技術者、ソフトウェア開発技術者であっても、各モジュールのシミュレーションモデルの抽象度を選択する必要がないため、簡単に最適な組合わせによるシミュレーションを実行することができる。   Furthermore, even if the user is an inexperienced designer, a verification engineer with no design experience, or a software development engineer, it is not necessary to select the abstraction level of the simulation model of each module. The simulation by can be executed.

<他の実施形態>
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
<Other embodiments>
Although the embodiments have been described in detail above, the present invention can take embodiments as, for example, a system, an apparatus, a method, a program, or a storage medium (recording medium). The present invention may be applied to a system composed of a single device or an apparatus composed of a single device.

尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。   In the present invention, a software program (in the embodiment, a program corresponding to the flowchart shown in the figure) that realizes the functions of the above-described embodiment is directly or remotely supplied to the system or apparatus, and the computer of the system or apparatus Is also achieved by reading and executing the supplied program code.

従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。   In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, or the like.

プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM,DVD-R)などがある。   As a recording medium for supplying the program, for example, floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card , ROM, DVD (DVD-ROM, DVD-R).

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   As another program supply method, a client computer browser is used to connect to an Internet homepage, and the computer program of the present invention itself or a compressed file including an automatic installation function is downloaded from the homepage to a recording medium such as a hard disk. Can also be supplied. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.

また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. It is also possible to execute the encrypted program by using the key information and install the program on a computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。   In addition to the functions of the above-described embodiments being realized by the computer executing the read program, the OS running on the computer based on the instructions of the program is a part of the actual processing. Alternatively, the functions of the above-described embodiment can be realized by performing all of them and performing the processing.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。   Furthermore, after the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion board or The CPU or the like provided in the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are also realized by the processing.

本発明に係る一実施形態であるシミュレーションモデル生成処理における画面表示例を示す図である。It is a figure which shows the example of a screen display in the simulation model production | generation process which is one Embodiment which concerns on this invention. 本実施形態におけるシミュレーションモデル生成処理を実行するシステム構成を示すブロック図である。It is a block diagram which shows the system configuration | structure which performs the simulation model production | generation process in this embodiment. 本実施形態において複数の機能モジュールを選択した画面表示例を示す図である。It is a figure which shows the example of a screen display which selected the some functional module in this embodiment. 本実施形態におけるシミュレーションモデル生成処理を示すフローチャートである。It is a flowchart which shows the simulation model production | generation process in this embodiment. 本実施形態におけるテンプレートの記述例を示す図である。It is a figure which shows the example of a description of the template in this embodiment. 本実施形態におけるシミュレーションモデル記述例を示す図である。It is a figure which shows the simulation model description example in this embodiment.

Claims (10)

システム全体のシミュレーションを行うためのシミュレーションモデルを生成するシミュレーションモデル生成方法であって、
システムを構成する少なくとも一つの機能モジュールを指定するモジュール指定ステップと、
該指定された機能モジュールに対するシミュレーションの目的を指定する目的指定ステップと、
該指定された目的に基づいて、前記機能モジュール指定ステップで指定された機能モジュールに対するシミュレーションモデルの抽象度を指定する抽象度指定ステップと、
前記シミュレーションモデルを用いたシミュレーションで使用するテストベクタを指定するテストベクタ指定ステップと、
を有することを特徴とするシミュレーションモデル生成方法。
A simulation model generation method for generating a simulation model for simulating the entire system,
A module designating step for designating at least one functional module constituting the system;
A purpose specifying step for specifying the purpose of simulation for the specified function module;
An abstraction level specifying step of specifying an abstraction level of the simulation model for the functional module specified in the functional module specifying step based on the specified purpose;
A test vector designating step for designating a test vector used in a simulation using the simulation model;
A simulation model generation method characterized by comprising:
前記モジュール指定ステップにおいては、前記システムを構成する複数の機能モジュールから少なくとも1つを選択することを特徴とする請求項1記載のシミュレーションモデル生成方法。   2. The simulation model generation method according to claim 1, wherein, in the module designation step, at least one is selected from a plurality of functional modules constituting the system. 前記目的指定ステップにおいては、前記機能モジュール指定ステップで指定された全ての機能モジュールに対するシミュレーションの目的を指定することを特徴とする請求項1または2記載のシミュレーションモデル生成方法。   3. The simulation model generation method according to claim 1, wherein, in the purpose specifying step, a purpose of simulation for all the function modules specified in the function module specifying step is specified. 前記目的指定ステップにおいては、前記機能モジュールに対するシミュレーションの目的を、所定の複数の目的から1つ選択することを特徴とする請求項3記載のシミュレーションモデル生成方法。   4. The simulation model generation method according to claim 3, wherein, in the purpose designating step, one purpose of simulation for the functional module is selected from a plurality of predetermined purposes. 前記抽象度指定ステップにおいては、シミュレーションの目的ごとに各機能モジュールに対するシミュレーションモデルの抽象度が記述されたテンプレートファイルを用いて、抽象度を指定することを特徴とする請求項1乃至4のいずれかに記載のシミュレーションモデル生成方法。   5. The level of abstraction is specified by using a template file in which the level of abstraction of a simulation model for each functional module is described for each purpose of simulation. The simulation model generation method described in 1. 前記抽象度指定ステップにおいては、前記機能モジュール指定ステップで指定された機能モジュールに対してユーザ指示に基づく抽象度が指定されていない場合に、前記テンプレートファイルに基づく抽象度指定を行うことを特徴とする請求項5記載のシミュレーションモデル生成方法。   In the abstraction level specifying step, when the abstraction level based on a user instruction is not specified for the functional module specified in the functional module specifying step, the abstraction level specification based on the template file is performed. The simulation model generation method according to claim 5. 前記システムはシステムLSIであることを特徴とする請求項1乃至6のいずれかに記載のシミュレーションモデル生成方法。
7. The simulation model generation method according to claim 1, wherein the system is a system LSI.
システム全体のシミュレーションを行うためのシミュレーションモデルを生成するシミュレーションモデル生成装置であって、
システムを構成する少なくとも一つの機能モジュールを指定するモジュール指定手段と、
該指定された機能モジュールに対するシミュレーションの目的を指定する目的指定手段と、
該指定された目的に基づいて、前記機能モジュール指定手段で指定された機能モジュールに対するシミュレーションモデルの抽象度を指定する抽象度指定手段と、
前記シミュレーションモデルを用いたシミュレーションで使用するテストベクタを指定するテストベクタ指定手段と、
を有することを特徴とするシミュレーションモデル生成装置。
A simulation model generation device that generates a simulation model for simulating the entire system,
Module specifying means for specifying at least one functional module constituting the system;
Purpose specifying means for specifying the purpose of simulation for the specified function module;
Based on the designated purpose, an abstraction degree designating means for designating an abstraction level of the simulation model for the functional module designated by the functional module designation means;
Test vector designating means for designating a test vector used in a simulation using the simulation model;
A simulation model generation apparatus comprising:
情報処理装置を制御することによって、該情報処理装置上で請求項1乃至7の何れかに記載されたシミュレーションモデル生成方法を実行させることを特徴とするプログラム。   A program for causing a simulation model generation method according to any one of claims 1 to 7 to be executed on an information processing apparatus by controlling the information processing apparatus. 請求項9に記載されたプログラムが記録されたことを特徴とする記録媒体。   A recording medium on which the program according to claim 9 is recorded.
JP2005107751A 2005-04-04 2005-04-04 Simulation model generation method and device therefor Withdrawn JP2006285860A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005107751A JP2006285860A (en) 2005-04-04 2005-04-04 Simulation model generation method and device therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005107751A JP2006285860A (en) 2005-04-04 2005-04-04 Simulation model generation method and device therefor

Publications (1)

Publication Number Publication Date
JP2006285860A true JP2006285860A (en) 2006-10-19

Family

ID=37407692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005107751A Withdrawn JP2006285860A (en) 2005-04-04 2005-04-04 Simulation model generation method and device therefor

Country Status (1)

Country Link
JP (1) JP2006285860A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8453081B2 (en) 2010-05-20 2013-05-28 International Business Machines Corporation Electrical design space exploration
US8572004B2 (en) 2009-12-29 2013-10-29 International Business Machines Corporation Space solution search

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572004B2 (en) 2009-12-29 2013-10-29 International Business Machines Corporation Space solution search
US8453081B2 (en) 2010-05-20 2013-05-28 International Business Machines Corporation Electrical design space exploration

Similar Documents

Publication Publication Date Title
JP3027009B2 (en) Design capture system
US6292931B1 (en) RTL analysis tool
US6311309B1 (en) Methods and apparatus for simulating a portion of a circuit design
US6173435B1 (en) Internal clock handling in synthesis script
US6836877B1 (en) Automatic synthesis script generation for synopsys design compiler
US6378123B1 (en) Method of handling macro components in circuit design synthesis
US6205572B1 (en) Buffering tree analysis in mapped design
US6263483B1 (en) Method of accessing the generic netlist created by synopsys design compilier
US9064068B1 (en) Debuggable opaque IP
US6289498B1 (en) VDHL/Verilog expertise and gate synthesis automation system
US20070094622A1 (en) Methods, Apparatus and Computer Program Products for Generating Selective Netlists that Include Interconnection Influences at Pre-Layout and Post-Layout Design Stages
CN102902839A (en) Apparatus and method for managing integrated circuit designs
JP2003529848A (en) Automatic design of digital signal processing integrated circuits
JP2006285333A (en) Operation composition device and method
JP2006285860A (en) Simulation model generation method and device therefor
JP4881769B2 (en) Semiconductor integrated circuit design support apparatus, semiconductor integrated circuit design support method, semiconductor integrated circuit design support program
US7971167B2 (en) Semiconductor design support device, semiconductor design support method, and manufacturing method for semiconductor integrated circuit
JP2006268165A (en) Timing analyzing device for integrated circuit, timing optimizing device for integrated circuit, timing analyzing method for integrated circuit, timing optimizing method for integrated circuit, method for manufacturing integrated circuit board, control program and readable recording medium
US7328415B2 (en) Modeling blocks of an integrated circuit for timing verification
US7275223B2 (en) Facilitating high-level validation of integrated circuits in parallel with development of blocks in a hierarchical design approach
JP2006215928A (en) System design support device and method
US6701496B1 (en) Synthesis with automated placement information feedback
JP5110206B2 (en) Behavioral synthesis apparatus, behavioral synthesis method, and program
JP2007004356A (en) System verification tool
JP3101872B2 (en) Logic synthesis support method and system

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