JP2012203451A - 半導体集積回路シミュレーション装置及び半導体集積回路のシミュレーション方法 - Google Patents
半導体集積回路シミュレーション装置及び半導体集積回路のシミュレーション方法 Download PDFInfo
- Publication number
- JP2012203451A JP2012203451A JP2011064630A JP2011064630A JP2012203451A JP 2012203451 A JP2012203451 A JP 2012203451A JP 2011064630 A JP2011064630 A JP 2011064630A JP 2011064630 A JP2011064630 A JP 2011064630A JP 2012203451 A JP2012203451 A JP 2012203451A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- transaction
- integrated circuit
- semiconductor integrated
- initiator
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】バスアーキテクチャの変更があった場合にTLモデルの変更あるいは書き換えを不要にする半導体集積回路シミュレーション装置を提供する。
【解決手段】実施形態によれば、シミュレーション装置1は、半導体集積回路に含まれるバスのバスアーキテクチャ情報を取得するバスアーキテクチャ情報取得部と、取得したバスアーキテクチャ情報に基づいて、バスアーキテクチャに適合する転送サイズを算出する転送サイズ算出部と、シミュレーション実行部とを有する。シミュレーション実行部は、半導体集積回路に含まれるバスイニシエータからのトランザクションを、転送サイズに適合するサイズのトランザクションに変換してバスへ出力するトランザクション変換部を設定して、半導体集積回路のシミュレーションを行う。
【選択図】図2
【解決手段】実施形態によれば、シミュレーション装置1は、半導体集積回路に含まれるバスのバスアーキテクチャ情報を取得するバスアーキテクチャ情報取得部と、取得したバスアーキテクチャ情報に基づいて、バスアーキテクチャに適合する転送サイズを算出する転送サイズ算出部と、シミュレーション実行部とを有する。シミュレーション実行部は、半導体集積回路に含まれるバスイニシエータからのトランザクションを、転送サイズに適合するサイズのトランザクションに変換してバスへ出力するトランザクション変換部を設定して、半導体集積回路のシミュレーションを行う。
【選択図】図2
Description
本発明の実施形態は、半導体集積回路シミュレーション装置及び半導体集積回路のシミュレーション方法に関する。
近年、システムLSI(Large Scale Integration)と呼ばれる半導体集積回路が広く利用されている。システムLSIは、複数の機能ブロックと、複数の機能ブロック間を接続するバスを有する半導体集積回路である。このシステムLSIの性能は、そのシステムアーキテクチャに依存するところが大きい。
しかし、そのアーキテクチャは、そのシステムを構成するハードウエア及びプロセッサの構成、使用するプロセッサの種類と動作周波数、システム上で実行される各処理をどのハードウエアあるいはプロセッサに割り当てるか、割り振った各処理の実行時間、バス幅等のバスアーキテクチャ、等の多くの要素を考慮して決定される。
しかし、そのアーキテクチャは、そのシステムを構成するハードウエア及びプロセッサの構成、使用するプロセッサの種類と動作周波数、システム上で実行される各処理をどのハードウエアあるいはプロセッサに割り当てるか、割り振った各処理の実行時間、バス幅等のバスアーキテクチャ、等の多くの要素を考慮して決定される。
通常、そのアーキテクチャの決定のためにシミュレーション技術が利用される。シミュレーションでは、種々の要素を考慮して、候補として挙がった複数のアーキテクチャを実現するモデルをシミュレーション装置あるいはブレッドボード等の実機上で動作させ、バス上のトランザクション情報、バス競合によるバス使用待ち情報、バスのスループット・レイテンシ情報などを得て比較することが行われる。しかし、シミュレーションには多くの時間を要するため、そのシミュレーションの高速化が求められている。
そのシミュレーションの高速化のために、モデルに含まれる機能ブロック間のデータのやりとりをRTL(Register Transfer Level)の一般的なピンインターフェース(以下、Pin I/Fという)を使用せずに、データ量や転送にかかる時間を含むバストランザクション情報としてひとまとめにしてやり取りするトランザクションレベルインターフェースすなわちトランザクションレベルモデル(以下、TLモデルという)を使用したシミュレーションが行われている。
システムアーキテクチャの検討においてTL モデルを用いる場合、TLモデルの内容を、想定するバスアーキテクチャに応じて変更しなければならない場合がある。例えば、バスマスタとしてのバスイニシエータのモデルが、バススレーブであるバスターゲットのモデルへトランザクションを発行するときに、バスイニシエータあるいはバスターゲットのTLモデルが発行あるいは受理するトランザクションがバスアーキテクチャに適合しない場合がある。そのような場合、バスアーキテクチャに適合する形式でトランザクションを発行あるいは受理するように、そのモデルを変更すなわち書き換えられなければならない。
しかし、バスアーキテクチャに適合するようにバスイニシエータあるいはバスターゲットのモデルを変更することは、繁雑な作業である。種々のシステムアーキテクチャを検討する際に、バスアーキテクチャの変更の度に、変更されたバスアーキテクチャに適合するようにバスイニシエータあるいはバスターゲットのモデルを毎回変更することは、シミュレーション時間の短縮化すなわちシミュレーションの高速化を阻害するものとなっている。
そこで、本実施形態は、バスアーキテクチャの変更があった場合にTLモデルの変更あるいは書き換えを不要にする半導体集積回路シミュレーション装置及び半導体集積回路のシミュレーション方法を提供することを目的とする。
実施形態の半導体集積回路シミュレーション装置は、半導体集積回路に含まれるバスのバスアーキテクチャ情報を取得するバスアーキテクチャ情報取得部と、取得した前記バスアーキテクチャ情報に基づいて、前記バスアーキテクチャに適合する転送サイズを算出する転送サイズ算出部と、シミュレーション実行部とを有する。シミュレーション実行部は、前記半導体集積回路に含まれるバスイニシエータからのトランザクションを、前記転送サイズに適合するサイズのトランザクションに変換して前記バスへ出力するトランザクション変換部を設定して、前記半導体集積回路のシミュレーションを行う。
以下、図面を参照して実施形態を説明する。
(第1の実施形態)
(構成)
図1は、本実施形態に係わる半導体集積回路シミュレーション装置(以下、シミュレーション装置という)の構成を示す構成図である。シミュレーション装置1は、各種ソフトウエアプログラムを実行する中央処理装置(以下、CPUという)2aを有する本体装置2と、本体装置2と接続され各種ソフトウエアプログラム等を記憶する記憶部3と、本体装置2と接続された表示部4と有して構成されている。そして、ユーザが、各種プログラムを実行させるための指示を与えるための、キーボード5とマウス6の入力装置が、本体装置2には接続されている。
(第1の実施形態)
(構成)
図1は、本実施形態に係わる半導体集積回路シミュレーション装置(以下、シミュレーション装置という)の構成を示す構成図である。シミュレーション装置1は、各種ソフトウエアプログラムを実行する中央処理装置(以下、CPUという)2aを有する本体装置2と、本体装置2と接続され各種ソフトウエアプログラム等を記憶する記憶部3と、本体装置2と接続された表示部4と有して構成されている。そして、ユーザが、各種プログラムを実行させるための指示を与えるための、キーボード5とマウス6の入力装置が、本体装置2には接続されている。
記憶部3には、各種ソフトウエアプログラムとして、半導体集積回路のシミュレーションを行うシミュレーションプログラムSPと、トランザクションレベルモデルデータすなわちプログラム(以下、TLモデルプログラムという)TLPが記憶されている。本体装置2のCPU2aは、システムアーキテクチャ検討作業者であるユーザの指示に応じて、記憶部3に記憶されたTLモデルプログラムTLPについてシミュレーションプログラムSPを実行する。
従って、ユーザは、半導体集積回路のTLモデルプログラムTLPを作成して、シミュレーションプログラムSPを実行して、設計する半導体集積回路のシミュレーションを行うことができる。
図2は、シミュレーション装置1のブロック構成図である。図2の各ブロックは、シミュレーションプログラムSPの処理により実現される。シミュレーションプログラムSPの処理は、CPU2aにより実行される。
図2に示すように、シミュレーション装置1は、TLモデル入力部S1、バスアーキテクチャ情報取得部S2、転送サイズ算出部S3、シミュレーション実行部S4及びシミュレーション結果出力部S5を有する。
図2に示すように、シミュレーション装置1は、TLモデル入力部S1、バスアーキテクチャ情報取得部S2、転送サイズ算出部S3、シミュレーション実行部S4及びシミュレーション結果出力部S5を有する。
まず、ユーザがキーボード5等の入力装置を用いてシミュレーションの対象となるTLモデルプログラムTLPを入力あるいは指定する。CPU2aは、その指定されたTLモデルプログラムTLP から、各TLモデルの情報を入力し、RAM等に保持する。TLモデル入力部S1は、各TLモデルが入力される処理部である。
次に、ユーザは、バス15のバスアーキテクチャ情報を入力して設定する。CPU2aは、設定されたバスアーキテクチャ情報を取得し、その後の処理用のデータとしてRAM等に保持する。ここでは、ユーザが指定した、バスのバス幅、バースト長及び転送にかかる時間の情報が設定される。バスアーキテクチャ情報取得部S2は、半導体集積回路に含まれるバスのバスアーキテクチャ情報を取得する処理部である。
CPU2aは、設定されたバスアーキテクチャの情報から、後述するトランザクション変換部が出力するトランザクションデータの転送サイズを演算して求める。転送サイズ算出部S3は、取得したバスアーキテクチャ情報に基づいて、バスアーキテクチャに適合する転送サイズを算出する処理部である。
後述するように、トランザクション変換部は、設定された転送サイズで、トランザクションデータを分割あるいは統合してバスに出力する。バスイニシエータとバス間に配置されたトランザクション変換部を含むTLモデルプログラムTLPのシミュレーションが、CPU2aによって行われる。シミュレーション実行部S4は、半導体集積回路に含まれるバスイニシエータからのトランザクションを、転送サイズに適合するサイズのトランザクションに変換してバスへ出力するトランザクション変換部(後述する)を設定して、半導体集積回路のシミュレーションを行う処理部である。
CPU2aは、シミュレーション結果を出力し、表示装置4の画面上に表示する。シミュレーション結果は、例えば、トランザクションタイミング図などである。シミュレーション結果出力部S5は、シミュレーション実行部S4によるシミュレーションの結果を出力する処理部である。
なお、本実施形態は、シミュレーションの実行の前に、バスアーキテクチャの情報の設定と転送サイズの計算が行われる例で説明するが、点線で示すように、シミュレーションの実行(S4)の中で、バスアーキテクチャの情報の設定及び変更(S2)とその設定等に基づく転送サイズの計算(S3)を行うようにしてもよい。
次に、トランザクションレベルモデルの例について説明する。
図3は、システムLSIのシステムアーキテクチャのトランザクションレベルモデル図の例を示す図である。トランザクションレベルモデル図は、シミュレーション時に使用されるシステムLSIのアーキテクチャを示す図である。一般に、システムLSIは、複数の機能ブロックが、1又は複数のバスを介して接続され、複数の機能ブロックは、所定の1又は複数のバスを介してデータのやりとりを行っているが、図3では、本実施形態の説明を簡単にするために、4つの機能ブロックとそのブロック間を接続する1つのバスのみを示している。データのリードあるいはライトに関わるデータの転送処理の単位がトランザクションである。
図3は、システムLSIのシステムアーキテクチャのトランザクションレベルモデル図の例を示す図である。トランザクションレベルモデル図は、シミュレーション時に使用されるシステムLSIのアーキテクチャを示す図である。一般に、システムLSIは、複数の機能ブロックが、1又は複数のバスを介して接続され、複数の機能ブロックは、所定の1又は複数のバスを介してデータのやりとりを行っているが、図3では、本実施形態の説明を簡単にするために、4つの機能ブロックとそのブロック間を接続する1つのバスのみを示している。データのリードあるいはライトに関わるデータの転送処理の単位がトランザクションである。
図3において、例として、バスイニシエータ11,12と、バスターゲット13,14とはバス15を介して接続されている。4つの機能ブロックは、バスイニシエータ11が所定の時刻から所定のトランザクションIT1をバスターゲット13へ送信し、バスイニシエータ12も前記の所定の時刻とは異なる時刻から所定のトランザクションIT2をバスターゲット14へ送信し、バスターゲット13と14のそれぞれにおいて所定の処理が実行される、という処理条件を有している。
例えば、バスイニシエータ11は、バス15を介して所定の時刻t1から、64バイトのトランザクションIT1をバスターゲット13へ送信するTLモデルであり、バスイニシエータ11からのデータを受信するバスターゲット13は、64バイト分のトランザクションが揃った時点、所定の処理を実行するという動作条件を有するTLモデルである。同様に、バスイニシエータ12は、バス15を介して所定の時刻t2から、32バイトのトランザクションIT2をバスターゲット14へ送信するTLモデルであり、バスターゲット14は、32バイト分のトランザクションが揃った時点、所定の処理を実行するという動作条件を有するTLモデルである。バス15は、指定されたバス幅とバースト長を有するバスアーキテクチャのTLモデルである。
例えば、ユーザがバス15のバス幅を32ビット、バースト長を4に設定してシミュレーションを行う場合を想定する。バス15は、32ビット幅でバースト長が4なので、バスイニシエータ11と12は、それぞれ64バイトと32バイトのトランザクションをそのままバス15へ出力できない。
従来は、バスイニシエータ11のTLモデルの内容を書き換えて、64バイトのトランザクションを4つの16バイトのトランザクションに分けて送信するTLモデルに書き換え、同様に、バスイニシエータ12のTLモデルも書き換えて、32バイトのトランザクションを2つの16バイトのトランザクションに分けて送信するモデルに書き換えなければならない。
従来は、バスイニシエータ11のTLモデルの内容を書き換えて、64バイトのトランザクションを4つの16バイトのトランザクションに分けて送信するTLモデルに書き換え、同様に、バスイニシエータ12のTLモデルも書き換えて、32バイトのトランザクションを2つの16バイトのトランザクションに分けて送信するモデルに書き換えなければならない。
図4は、バスイニシエータのTLモデルの書き換えの例を説明するための図である。図4に示すように、バスイニシエータ11と12が、それぞれ64バイトと32バイトのトランザクション処理を記述している場合、バスアーキテクチャに応じて、それぞれを、16バイトのトランザクションの発行をするバスイニシエータ11A,12Aに書き換えなければならない。さらに、システムLSIのシステムアーキテクチャを検討するために、バスアーキテクチャが変更された場合には、その変更の度に、システムアーキテクチャ検討作業者であるユーザは、その変更されたバスアーキテクチャに応じてバスイニシエータ11,12のTLモデルを、バスイニシエータ11A,12AのTLモデルに書き換えなければならない。
本実施形態では、このようなモデルの書き換えあるいは修正を行わなくてもよいように、バスイニシエータ11、12とバス15の間に設けられるトランザクション変換部16を設定し、トランザクション変換部16は、入力されたトランザクションIT1,IT2を、所定のサイズに変換したトランザクションTT1,TT2に変換して出力するように構成されている。
なお、トランザクション変換部16は、シミュレーション時にのみ設けられるTLモデルであって、最終的に製造されるシステムLSIの中には、トランザクション変換部16は、含まれない。
また、トランザクション変換部16における処理に掛かる時間がTLモデルプログラムTLPのシミュレーション結果には反映されないように、トランザクション変換部16における処理時間は除かれて、シミュレーション結果は、生成されて出力される。例えば、トランザクション変換部16の処理時間は除いて、バスイニシエータ11,12、バス15,バスターゲット13,14における処理の実行開始タイミングが決定されて、トランザクションタイミング図が作成される。
また、トランザクション変換部16における処理に掛かる時間がTLモデルプログラムTLPのシミュレーション結果には反映されないように、トランザクション変換部16における処理時間は除かれて、シミュレーション結果は、生成されて出力される。例えば、トランザクション変換部16の処理時間は除いて、バスイニシエータ11,12、バス15,バスターゲット13,14における処理の実行開始タイミングが決定されて、トランザクションタイミング図が作成される。
ここで、トランザクションタイミング図について説明する。図5Aから図5Cは、トランザクションタイミング図の例を示す図である。図5Aの例では、バスイニシエータ11がバスターゲット13へ時刻100に64バイトのデータTD1を送信し、バスターゲット13は、64バイト全てのデータが揃ってから処理SA1を実行し、バスイニシエータ12がバスターゲット14へ時刻110に32バイトのデータTD2を送信し、バスターゲット14は、32バイト全てのデータが揃ってから処理SA2を実行するとした場合である。図5Aの場合では、バスイニシエータ11が、64バイトの一纏まりのトランザクションを発行し、かつバスイニシエータ12が、32バイトの一纏まりのトランザクションを発行している。図5Aは、その場合のトランザクションタイミングを示す。
図5Bの例は、バスが32ビット幅、バースト長が4で、かつバス調停がラウンドロビン方式であり、バスイニシエータ11がバスターゲット13へ時刻100から64バイトのデータTD1の転送を開始し、バスターゲット13は、64バイト全てのデータが揃ってから処理SA1を実行し、バスイニシエータ12がバスターゲット14へ時刻110から32バイトのデータTD2の転送を開始し、バスターゲット14は、32バイト全てのデータが揃ってから処理SA2を実行するとした場合である。図5Bは、その場合のトランザクションタイミングを示す。なお、バス幅が狭くなると、同じデータ量のデータの転送時間が長くなる。
図5Cの例は、バスが64ビット幅、バースト長が4で、かつバス調停がラウンドロビン方式であり、バスイニシエータ11がバスターゲット13へ時刻100から64バイトのデータTD1の転送を開始し、バスターゲット13は、64バイト全てのデータが揃ってから処理SA1を実行し、バスイニシエータ12がバスターゲット14へ時刻110から32バイトのデータTD2の転送を開始し、バスターゲット14は、32バイト全てのデータが揃ってから処理SA2を実行するとした場合である。図5Cは、その場合のトランザクションタイミングを示す。
以上のように、トランザクションタイミング図は、バスアーキテクチャに応じた各トランザクションの実行と、各バスターゲットにおける実行開始タイミングの状況を示すので、バスアーキテクチャを変更したときのタイミングを容易に把握することができる。
(トランザクションの分割)
まず、図3のトランザクション変換部16が、バスイニシエータ11,12から発行される各トランザクションをバス15のバスアーキテクチャに合わせた転送サイズのトランザクションに分割する場合の例について説明する。
まず、図3のトランザクション変換部16が、バスイニシエータ11,12から発行される各トランザクションをバス15のバスアーキテクチャに合わせた転送サイズのトランザクションに分割する場合の例について説明する。
シミュレーションのためのバスアーキテクチャ情報はユーザにより入力され、トランザクション変換部16は、S2で取得したバス15のバスアーキテクチャ情報から計算された転送サイズ毎に、バスイニシエータ11,12からのトランザクションIT1,IT2を分割して、その分割された複数のトランザクションDTをバス15に出力する。すなわち、トランザクション変換部16が、バスイニシエータから一纏めで発行されるトランザクションIT1,IT2をバスアーキテクチャに合わせた転送サイズに変換するので、バスイニシエータのTLモデルの変更は不要となる。
図6は、トランザクション変換部16におけるトランザクションの分割処理の例を示すフローチャートである。
トランザクション変換部16は、バスイニシエータ11からトランザクションを受信し(S11)、S3において求めたバスアーキテクチャが許容する転送サイズTSで、バスイニシエータ11からのトランザクションを分割する変換を行うトランザクション変換処理を実行する(S12)。
転送サイズTSは、バスアーキテクチャ情報の示すバス幅とバースト長から求められる。上述した例の場合、バス幅が32ビットでバースト長が4の場合、バス15の転送サイズ(すなわち期待サイズ)は16バイト(=4Byte(32bit)×4burst)である。よって、バスイニシエータのトランザクションサイズIT1が、64バイトである場合、転送サイズTSは、16バイトなので、トランザクションIT1は4つに分割される。
トランザクション変換部16は、バスイニシエータ11からトランザクションを受信し(S11)、S3において求めたバスアーキテクチャが許容する転送サイズTSで、バスイニシエータ11からのトランザクションを分割する変換を行うトランザクション変換処理を実行する(S12)。
転送サイズTSは、バスアーキテクチャ情報の示すバス幅とバースト長から求められる。上述した例の場合、バス幅が32ビットでバースト長が4の場合、バス15の転送サイズ(すなわち期待サイズ)は16バイト(=4Byte(32bit)×4burst)である。よって、バスイニシエータのトランザクションサイズIT1が、64バイトである場合、転送サイズTSは、16バイトなので、トランザクションIT1は4つに分割される。
S12の処理により、バスイニシエータ11からのトランザクションは、複数のトランザクションに分割され(S12)、一つずつ出力される(S13)。分割されたトランザクション(以下、分割トランザクションという)が出力されると、最後の分割トランザクションか否かが判定される(S14)。
図7は、分割トランザクションを出力するトランザクション変換部の処理を説明するための図である。図7において、バスイニシエータ11からの64バイトのトランザクションIT1は、各々が16バイトの転送サイズを有する4つのトランザクションDTに分割される。
4つ目の分割トランザクションDTが出力されるまでは、S14でNOとなって、S13が繰り返され、分割トランザクションDTの出力が行われる。4つ目の分割トランザクションDTが出力されると、S14でYESとなり、バスイニシエータ11へ、完了通知NTを出力して(S15)、処理は終了する。
すなわち、トランザクション変換部16は、バスイニシエータ11からのトランザクションのサイズが、転送サイズTSよりも大きい場合は、バスイニシエータ11からのトランザクションを転送サイズTSのトランザクションに分割して複数の分割トランザクションを生成して、バス15へ複数の分割トランザクションを出力する。そして、トランザクション変換部16は、バスイニシエータ11が期待する64バイト分のトランザクションの完了をチェックし、完了したならば、バスイニシエータ11に、その期待するトランザクションの発行が完了したことを通知する。トランザクション変換部16からの完了通知により、バスイニシエータ11は、トランザクションの発行の完了を判定して、次のトランザクションの発行を行うことができる。
以上は、バスイニシエータ11について説明したが、バスイニシエータ12の場合は、32バイトのトランザクションIT2であるので、トランザクション変換部16は、トランザクションIT2を2つの分割トランザクションDTに分割して出力する。
(トランザクションの統合)
以上は、バスイニシエータの発行するトランザクションIT1,IT2のサイズが、バス15の転送サイズTSよりも大きい場合であるが、バスイニシエータの発行するトランザクションIT1,IT2のサイズが、バス15の転送サイズTSよりも小さい場合がある。
そのような場合は、トランザクション変換部16は、バスイニシエータから発行されるトランザクションの統合を行う。
以上は、バスイニシエータの発行するトランザクションIT1,IT2のサイズが、バス15の転送サイズTSよりも大きい場合であるが、バスイニシエータの発行するトランザクションIT1,IT2のサイズが、バス15の転送サイズTSよりも小さい場合がある。
そのような場合は、トランザクション変換部16は、バスイニシエータから発行されるトランザクションの統合を行う。
図8は、トランザクション変換部16におけるトランザクションの統合処理の例を示すフローチャートである。
トランザクション変換部16は、バスイニシエータ11からトランザクションを受信し(S21)、S3において求めたバスアーキテクチャが許容する転送サイズTSになるように、バスイニシエータ11からのトランザクションを合成すなわち統合する変換を行うトランザクション変換処理を実行する(S22)。
トランザクション変換部16は、バスイニシエータ11からトランザクションを受信し(S21)、S3において求めたバスアーキテクチャが許容する転送サイズTSになるように、バスイニシエータ11からのトランザクションを合成すなわち統合する変換を行うトランザクション変換処理を実行する(S22)。
CPU2aは、統合したトランザクションが、バス15の転送サイズTS(すなわち期待サイズ)になったか否かを判定し(S23)、統合したトランザクションがその期待サイズでない場合は(S23:NO)、処理は、S21へ戻る。統合したトランザクションが期待サイズになった場合は(S23:YES)、統合されたトランザクション(以下、統合トランザクションという)CTをバス15へ出力すなわち発行する(S24)。
よって、S22,S24,S25の処理により、バスイニシエータ11からのトランザクションIT1は、統合されて、転送サイズTSの統合トランザクションCTが出力される。
よって、S22,S24,S25の処理により、バスイニシエータ11からのトランザクションIT1は、統合されて、転送サイズTSの統合トランザクションCTが出力される。
図9は、統合トランザクションを出力するトランザクション変換部の処理を説明するための図である。上述したように、転送サイズTSは、バスアーキテクチャ情報の示すバス幅とバースト長から求められる。例えば、バス幅が32ビットでバースト長が8の場合、バス15の転送サイズは64バイトである。そして、バスイニシエータ11の発行するトランザクションサイズIT1が、16バイトである場合、転送サイズTSは、64バイトなので、4つのトランザクションIT1が統合される。そして、その4つのトランザクションIT1が統合されて、64バイトの転送サイズの統合バストランザクションCTが出力される。
4つ目のトランザクションIT1が出力されるまでは、S23でNOとなって、S21,S22が繰り返され、トランザクションIT1が統合される。4つのトランザクションIT1を受信すると、S23でYESとなり、バスイニシエータ11へ、統合トランザクションCTが出力される。
すなわち、トランザクション変換部16は、バスイニシエータ11からのトランザクションIT1のサイズが、転送サイズTSよりも小さい場合は、バスイニシエータ11からのトランザクションを転送サイズTSのトランザクションになるように統合して1つの統合トランザクションCTを生成して、バス15へ出力する。
以上は、バスイニシエータ11について説明したが、バスイニシエータ12の場合も同様に、トランザクションのサイズがバスの転送サイズが大きい場合は、複数のトランザクションの統合が行われる。
以上は、バスイニシエータ11について説明したが、バスイニシエータ12の場合も同様に、トランザクションのサイズがバスの転送サイズが大きい場合は、複数のトランザクションの統合が行われる。
以上のように、本実施形態のシミュレーション装置によれば、バスアーキテクチャの情報を設定すれば、システムアーキテクチャ検討作業者であるユーザがバスイニシエータのTLモデルを書き換える等の修正をしなくても、指定したTLモデルのシミュレーションを行うことができる。
そして、シミュレーション実行部(S4)は、シミュレーションにおいて得られた変換されたトランザクションの出力時間情報に基づいて、半導体集積回路に含まれるバスターゲットにおける処理の実行開始タイミングを決定することができる。よって、シミュレーション結果出力部(S5)は、その実行開始タイミングの情報からトランザクションタイミング図などを生成して出力することができる。
なお、上記の例では、トランザクション変換部16は、バスに対して1つ設けられているが、トランザクション変換部を、バスイニシエータ毎に設けてもよい。図10は、トランザクション変化部が、バスイニシエータ毎に設けられているトランザクションレベルモデル図である。図10に示すように、トランザクション変換部16aと16bが、それぞれバスイニシエータ11と12に対応して設けられている。
さらになお、上記の例では、バスイニシエータからのトランザクションのサイズが転送サイズTSより大きい場合、バスイニシエータからのトランザクションを分割して、バスを介してバスターゲットへ発行しているが、トランザクションの転送時間の計算処理は行い、バスイニシエータからのトランザクションを分割しないで、そのままバスを介してバスターゲットへ供給するようにしてもよい。
すなわち、トランザクションの分割において、トランザクションに含まれるデータの分割はせず、トランザクションの分割によりトランザクションがいくつに分割されるかという情報の計算だけ行う。
これは、シミュレーション処理において、トランザクション自体の分割及び転送処理にかかる時間が省けるため、シミュレーションの高速化に繋がるというメリットがある。トランザクションの分割数を計算し、バス調停による各分割トランザクションの転送時間の計算だけは行い、その計算結果は得られるので、バスターゲットにおける処理の実行開始タイミングを決定することができる。よって、シミュレーション結果は上記と同様に得ることができる。
例えば、バスイニシエータが16バイトのトランザクションを発行し、そのトランザクションが、「0xAABBCCDDEEFFGGHH」であって、バスアーキテクチャが32ビット幅でシングル転送(すなわち1回のトランザクションサイズが4バイト転送)のみである場合、トランザクションは4つに分割される。このとき、通常は、トランザクションの分割数の計算処理と、トランザクションデータの「0x AABB」、「0x CCDD」、「0x EEFF」及び「0x GGHH」への分割処理が行われるが、ここでは、トランザクションの分割数の計算処理だけを行い、トランザクションの分割処理は行わず、16バイトのトランザクションデータ「0xAABBCCDDEEFFGGHH」の転送は行う。バスターゲットへのトランザクションデータ「0xAABBCCDDEEFFGGHH」の転送は行われるので、バスターゲットにおける処理に問題はない。
以上のように、トランザクション変換部は、バスイニシエータからのトランザクションのサイズが転送サイズよりも大きい場合、バスイニシエータからのトランザクションが転送サイズのトランザクションに分割されて出力されたとした場合の仮想出力時間情報を生成し、バスイニシエータからのトランザクションをそのままバスへ出力し、トランザクションの分割処理は実行しない。
すなわち、分割したと仮定した場合の分割トランザクションの仮想出力時間を計算により得て、シミュレーション実行部(S4)は、シミュレーションにおいて得られた変換されたトランザクションの仮想出力時間情報に基づいて、半導体集積回路に含まれるバスターゲットにおける処理の実行開始タイミングを決定する。
このように、トランザクションのやりとりと、タイミング時間の計算を分けて行うようにしても、上述した実施形態と同様に、バスイニシエータのTLモデルの書き換えをせずに、シミュレーションを実行することができる。
(第2の実施形態)
第1の実施形態は、バスアーキテクチャを変更した場合においてもバスイニシエータのTLモデルを書き換えないで済むシミュレーション装置に関するが、本実施形態は、バスアーキテクチャを変更した場合においてもバスターゲットのTLモデルを書き換えないで済むシミュレーション装置に関する。
第1の実施形態は、バスアーキテクチャを変更した場合においてもバスイニシエータのTLモデルを書き換えないで済むシミュレーション装置に関するが、本実施形態は、バスアーキテクチャを変更した場合においてもバスターゲットのTLモデルを書き換えないで済むシミュレーション装置に関する。
バスターゲットのTLモデルにおいても、トランザクションを受信して処理を開始するための動作開始条件が定義すなわち記述されている場合があり、バスアーキテクチャの変更に応じて、そのTLモデルの書き換えが必要になる場合がある。
例えば、あるバスターゲットは、所定サイズのトランザクションのみ受信可能である仕様であると、意図した処理が実行されなかったりする場合が生じる。あるいは、あるバスターゲットがトランザクションの受信が処理の動作開始条件となっている仕様であると、所定のサイズのトランザクションの一部(例えば64バイト中の16バイト)だけを受信しても、その一部のトランザクションを用いた処理が開始されてしまい、意図した処理が実行されなかったり、意図しない処理が実行されてしまう場合が生じる。従って、従来は、バスターゲットのTLモデルの書き換えが必要であった。
そこで、本実施形態によれば、ユーザがバスアーキテクチャを変更した場合には、トランザクション変換部はそのバスターゲット情報に応じて、トランザクションを変換する。
例えば、あるバスターゲットは、所定サイズのトランザクションのみ受信可能である仕様であると、意図した処理が実行されなかったりする場合が生じる。あるいは、あるバスターゲットがトランザクションの受信が処理の動作開始条件となっている仕様であると、所定のサイズのトランザクションの一部(例えば64バイト中の16バイト)だけを受信しても、その一部のトランザクションを用いた処理が開始されてしまい、意図した処理が実行されなかったり、意図しない処理が実行されてしまう場合が生じる。従って、従来は、バスターゲットのTLモデルの書き換えが必要であった。
そこで、本実施形態によれば、ユーザがバスアーキテクチャを変更した場合には、トランザクション変換部はそのバスターゲット情報に応じて、トランザクションを変換する。
図11は、シミュレーション装置1Aのブロック構成図である。図11の各ブロックは、シミュレーションプログラムSPの処理により実現される。図11において、図2と同様の処理は、同じ符号を付し、説明は省略する。
図11は、シミュレーション装置1Aのブロック構成図である。シミュレーション装置1Aは、TLモデル入力部S1、バスターゲット情報取得部S31、転送サイズ算出部S32、シミュレーション実行部S4及びシミュレーション結果出力部S5を有する。
図11において、ユーザによりバスターゲット情報が入力されるので、S1の後に、バスターゲット情報の取得が行われる(S31)。そして、そのバスターゲット情報から、各バスターゲットの期待サイズを計算により得て(S32)、シミュレーションが実行される(S4)。
なお、点線で示すように、シミュレーションの実行(S4)の中で、バスターゲット情報の設定及び変更(S31)とその設定等に基づく転送サイズの計算(S32)を行うようにしてもよい。
バスターゲット情報取得部S31が、半導体集積回路に含まれるバスターゲットがトランザクションを受理して動作開始をする開始条件を含むバスターゲット情報を取得する処理部である。転送サイズ算出部S32が、取得したバスターゲット情報に基づいて、バスターゲットに適合するバスターゲット用転送サイズを算出する処理部である。
図12は、第2の実施形態に係る、システムLSIのシステムアーキテクチャのトランザクションレベルモデル図である。図12に示すように、バス15とバスターゲット13,14間にトランザクション変換部16Aが設定されている。第2の実施形態のシミュレーション装置の構成は、図1及び図2で説明した第1の実施形態のシミュレーション装置1と同じであり、図12に示す本実施形態のトランザクションレベルモデル図において、図3と同じ構成については、同じ符号を付し、説明は省略する。
図12に示す場合においても、入力されたバスアーキテクチャ情報(S31)と、各バスターゲットの動作開始条件等から、転送サイズである期待サイズが決定される(S32)。そして、バスとバスターゲット間に配置されたトランザクション変換部を含むTLモデルプログラムTLPのシミュレーションが、CPU2aによって行われる(S4)。
(トランザクションの分割)
まず、図12のトランザクション変換部16Aが、バス15から受信した各トランザクションをバスターゲット13,14のそれぞれの期待サイズのトランザクションに分割する場合の例について説明する。バスターゲット13,14の期待サイズとは、バスターゲット13,14のそれぞれがトランザクションを受信して処理を開始する動作開始条件に基づいて設定されるトランザクションのサイズである。
まず、図12のトランザクション変換部16Aが、バス15から受信した各トランザクションをバスターゲット13,14のそれぞれの期待サイズのトランザクションに分割する場合の例について説明する。バスターゲット13,14の期待サイズとは、バスターゲット13,14のそれぞれがトランザクションを受信して処理を開始する動作開始条件に基づいて設定されるトランザクションのサイズである。
シミュレーションのためのバスアーキテクチャ情報はユーザにより入力される。トランザクション変換部16Aは、バスアーキテクチャ情報と、S31で取得した各バスターゲット情報から計算された期待サイズ毎に、バス15からのバストランザクションIT3,IT4を分割して、その分割された複数のトランザクションDT3,DT4のそれぞれをバスターゲット13,14に出力する。すなわち、バスターゲットのTLモデルは変更せずに、トランザクション変換部16Aは、バス15からのトランザクションIT3,IT4をバスターゲット13,14に合わせた転送サイズに変換する。
図13は、トランザクション変換部16Aにおけるトランザクションの分割処理の例を示すフローチャートである。
トランザクション変換部16Aは、バス15からトランザクションを受信し(S41)、受信すると、バス15へトランザクションの受理通知NT1を出力する(S42)。S32において求めた各バスターゲットが許容する期待サイズの転送サイズTSに、バス15からのトランザクションを分割する変換を行うトランザクション変換処理を実行する(S43)。
トランザクション変換部16Aは、バス15からトランザクションを受信し(S41)、受信すると、バス15へトランザクションの受理通知NT1を出力する(S42)。S32において求めた各バスターゲットが許容する期待サイズの転送サイズTSに、バス15からのトランザクションを分割する変換を行うトランザクション変換処理を実行する(S43)。
転送サイズTSは、上述したように各バスターゲットの期待サイズである。例えば、バス幅が32ビットでバースト長が8の場合、バス15の転送サイズは64バイトである。これに対して、バスターゲット13の期待サイズが、16バイトである場合、バス15からのトランザクションは、4つの分割トランザクションDT3に分割される。
そして、バス15からのトランザクションは、複数のトランザクションに分割され、一つずつ出力される(S44)。分割トランザクションが出力されると、最後の分割トランザクションか否かが判定される(S45)。
図14は、分割トランザクションを出力するトランザクション変換部16Aの処理を説明するための図である。図14に示すように、バス15からの64バイトのトランザクションIT3は、各々が16バイトの転送サイズを有する4つの分割トランザクションDT3に分割される。
4つ目の分割トランザクションDT3が出力されるまでは、S45でNOとなって、S44が繰り返され、分割トランザクションDT3が出力される。4つ目の分割トランザクションDT3が出力されると、S45でYESとなり、処理は終了する。
すなわち、トランザクション変換部16Aは、バス15からのトランザクションのサイズが、期待サイズよりも大きい場合は、バス15からのトランザクションを期待サイズである転送サイズTSのトランザクションに分割して複数の分割トランザクションDT3を生成して、バスターゲット13へ出力する。
以上は、バスターゲット13について説明したが、バスターゲット14の場合も、トランザクション変換部16Aは、バスターゲット14の期待サイズに、バス15からのトランザクションを分割してバスターゲット14に出力する。
(トランザクションの統合)
以上は、バス15からトランザクションIT3,IT4のサイズが、バスターゲットの期待サイズよりも大きい場合であるが、バス15からのトランザクションIT3,IT4のサイズが、バスターゲット13,14の期待サイズよりも小さい場合がある。
そのような場合は、シミュレーションプログラムSPは、バスからのトランザクションの統合を行う。
以上は、バス15からトランザクションIT3,IT4のサイズが、バスターゲットの期待サイズよりも大きい場合であるが、バス15からのトランザクションIT3,IT4のサイズが、バスターゲット13,14の期待サイズよりも小さい場合がある。
そのような場合は、シミュレーションプログラムSPは、バスからのトランザクションの統合を行う。
図15は、トランザクション変換部16におけるトランザクションの統合処理の例を示すフローチャートである。
トランザクション変換部16Aは、バス15からトランザクションを受信し(S51)、受信すると、バス15へトランザクションの受理通知を出力する(S52)。S3において求めたバスターゲットの期待サイズになるように、バス15からのトランザクションを統合する変換を行うトランザクション変換処理を実行する(S53)。
トランザクション変換部16Aは、バス15からトランザクションを受信し(S51)、受信すると、バス15へトランザクションの受理通知を出力する(S52)。S3において求めたバスターゲットの期待サイズになるように、バス15からのトランザクションを統合する変換を行うトランザクション変換処理を実行する(S53)。
CPU2aは、統合したトランザクションが、バスターゲット13の期待サイズになったか否かを判定し(S54)、統合したトランザクションが期待サイズでない場合は(S54:NO)、処理は、S51へ戻る。統合したトランザクションが期待サイズである場合は(S54:YES)、統合さトランザクションCT3をバスターゲット13へ出力すなわち発行する(S55)。
よって、S51,S53,S54の処理により、バス15からのトランザクションIT3は、統合されて、バスターゲット13の期待サイズの統合トランザクションCT3が出力される。
図16は、統合トランザクションを出力するトランザクション変換部の処理を説明するための図である。上述したように、期待サイズは、バスターゲット13のTLモデルより取得することができる。例えば、バス15からのトランザクションのサイズが16バイトで、バスターゲット13の期待サイズが64バイトである場合、期待サイズは、64バイトなので、4つのトランザクションIT3が統合される。そして、その4つのトランザクションIT3が統合されて、64バイトの統合トランザクションCT3が出力される。
従って、4つのトランザクションIT3が統合されるまでは、S54でNOとなって、S51からS53が繰り返され、トランザクションIT3が統合される。4つのトランザクションIT3を受信すると、S54でYESとなり、バスターゲット13へ、統合トランザクションCT3が出力される。
すなわち、トランザクション変換部16Aは、バス15からのトランザクションIT3のサイズが、期待サイズである転送サイズよりも小さい場合は、バス15からのトランザクションIT3を転送サイズのトランザクションになるように統合して1つの統合トランザクションCT3を生成して、バスターゲット13へ出力する。
以上は、バスターゲット13について説明したが、バスターゲット14の場合も同様であり、トランザクション変換部16Aは、統合トランザクションCT4をバスターゲット14へ出力する。
そして、シミュレーション実行部(S4)は、シミュレーションにおいて得られた変換されたトランザクションの出力時間情報に基づいて、半導体集積回路に含まれるバスターゲットにおける処理の実行開始タイミングを決定することができる。よって、シミュレーション結果出力部(S5)は、その実行開始タイミングの情報からトランザクションタイミング図などを生成して出力することができる。
以上のように、本実施形態のシミュレーション装置によれば、バスアーキテクチャ情報とバスターゲット情報を設定すれば、システムアーキテクチャ検討作業者であるユーザがバスターゲットのTLモデルを書き換える等の修正をしなくても、指定したTLモデルのシミュレーションを行うことができる。
なお、上記の例では、トランザクション変換部16Aは、バスに対して1つ設けられているが、トランザクション変換部を、バスターゲット毎に設けてもよい。図16は、トランザクション変換部が、バスターゲット毎に設けられているトランザクションレベルモデル図である。図16に示すように、トランザクション変換部16Aaと16Abが、それぞれバスターゲット13と14に対応して設けられ、それぞれが変換されたトランザクションTT3,TT4を出力している。
さらになお、上記の例では、トランザクション変換部は、バスからのトランザクションのサイズが期待サイズよりも小さい場合、バスからのトランザクションが期待サイズのトランザクションになるように統合してバスターゲットへ出力しているが、バスからのトランザクションを統合しないでそのままバスターゲットへ供給するようにしてもよい。
すなわち、トランザクションの統合において、複数のトランザクションの統合はせず、トランザクションの統合において、いくつのトランザクションが統合されるかという情報の計算だけ行う。
これは、シミュレーション処理において、トランザクションの統合及び転送処理にかかる時間が省けるため、シミュレーションの高速化に繋がるというメリットがある。トランザクションの統合数を計算し、バス調停による統合トランザクションの転送時間の計算だけを行い、その計算結果は得られるので、バスターゲットにおける処理の実行開始タイミングを決定することができる。よって、シミュレーション結果は上記と同様に得ることができる。
例えば、バスイニシエータが16バイトのトランザクションを発行し、そのトランザクションが、4つのデータの「0x AABB」、「0x CCDD」、「0x EEFF」及び「0x GGHH」に分割されてバスを介して転送され、バスターゲットが16バイト分のデータが揃ったら、処理を実行する場合、4つのトランザクションは1つに統合される。このとき、通常は、トランザクションの統合数の計算処理と、統合トラザクションデータ「0x AABBCCDDEEFFGGHH」の統合処理が行われるが、ここでは、トランザクションの統合数の計算処理だけを行い、トランザクションの統合処理は行わず、バスターゲットへの4つのデータの「0x AABB」、「0x CCDD」、「0x EEFF」及び「0x GGHH」の転送は行う。バスターゲットへの4つのデータの「0x AABB」、「0x CCDD」、「0x EEFF」及び「0x GGHH」の転送は行われるので、バスターゲットにおける処理に問題はない。
以上のように、トランザクション変換部は、バスからのトランザクションのサイズが期待サイズよりも小さい場合、バスからのトランザクションが期待サイズのトランザクションになるように統合して1つにするとした場合の仮想出力時間情報を生成し、バスからのトランザクションをそのままバスターゲットへ出力し、トランザクションの統合処理は実行しない。
すなわち、統合したと仮定した場合の統合トランザクションの仮想出力時間を計算により得て、シミュレーション実行部(S4)は、シミュレーションにおいて得られた変換されたトランザクションの仮想出力時間情報に基づいて、半導体集積回路に含まれるバスターゲットにおける処理の実行開始タイミングを決定する。
このように、トランザクションのやりとりと、タイミング時間の計算を分けて行うようにしても、バスターゲットのTLモデルの書き換えをしなくても、シミュレーションを実行することができる。
このように、トランザクションのやりとりと、タイミング時間の計算を分けて行うようにしても、バスターゲットのTLモデルの書き換えをしなくても、シミュレーションを実行することができる。
(第3の実施形態)
第1の実施形態は、TLモデルにおいてバスとバスイニシエータ間にトランザクション変換部を設定してシミュレーションを行うシミュレーション装置であり、第2の実施形態は、TLモデルにおいてバスとバスターゲット間にトランザクション変換部を設定してシミュレーションを行うシミュレーション装置であるのに対して、第3の実施形態は、TLモデルにおいてバスとバスイニシエータ間及びバスとバスターゲット間のそれぞれにトランザクション変換部16,16Aを設定してシミュレーションを行うシミュレーション装置に関する。
第1の実施形態は、TLモデルにおいてバスとバスイニシエータ間にトランザクション変換部を設定してシミュレーションを行うシミュレーション装置であり、第2の実施形態は、TLモデルにおいてバスとバスターゲット間にトランザクション変換部を設定してシミュレーションを行うシミュレーション装置であるのに対して、第3の実施形態は、TLモデルにおいてバスとバスイニシエータ間及びバスとバスターゲット間のそれぞれにトランザクション変換部16,16Aを設定してシミュレーションを行うシミュレーション装置に関する。
図18は、本実施形態のシステムLSIのシステムアーキテクチャのトランザクションレベルモデル図である。
TLモデルにおいてバスイニシエータ11,12とバス15の間に、第1の実施形態のトランザクション変換部16を設け、バス15とバスターゲット13,14の間に、第2の実施形態のトランザクション変換部16Aを設定して、シミュレーションが行われる。
TLモデルにおいてバスイニシエータ11,12とバス15の間に、第1の実施形態のトランザクション変換部16を設け、バス15とバスターゲット13,14の間に、第2の実施形態のトランザクション変換部16Aを設定して、シミュレーションが行われる。
トランザクション変換部16,16Aの構成及び処理内容は、それぞれ上述の第1及び第2の実施形態のトランザクション変換部16,16Aと同様である。
よって、LSIのシステムアーキテクチャを検討する場合に、バスアーキテクチャの変更があっても、バスイニシエータ及びバスターゲットのTLモデルの書き換え等の変更作業は、不要となる。
なお、上記の例では、トランザクション変換部16と16Aは、バスに対して1つ設けられているが、図10と図17に示したように、トランザクション変換部を、バスターゲット毎及びバスターゲット毎に設けられてもよい。
以上のように、上述した各実施形態のシミュレーション装置によれば、バスアーキテクチャの変更があった場合にTLモデルの変更あるいは書き換えを不要にすることができる。
なお、以上説明した動作を実行するプログラムは、コンピュータプログラム製品として、フレキシブルディスク、CD−ROM等の可搬媒体や、ハードディスク等の記憶媒体に、その全体あるいは一部が記録され、あるいは記憶されている。そのプログラムがコンピュータにより読み取られて、動作の全部あるいは一部が実行される。あるいは、そのプログラムの全体あるいは一部を通信ネットワークを介して流通または提供することができる。利用者は、通信ネットワークを介してそのプログラムをダウンロードしてコンピュータにインストールしたり、あるいは記録媒体からコンピュータにインストールすることで、容易に本実施形態のシミュレーション装置を実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として例示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1、1A シミュレーション装置、2 本体装置、2a CPU、3 記憶部、4 表示部、5 キーボード、6 マウス、11,11A,12,12A バスイニシエータ、13,13A,14,14A バスターゲット、15 バス、16,16A トランザクション変換部
Claims (5)
- 半導体集積回路に含まれるバスのバスアーキテクチャ情報を取得するバスアーキテクチャ情報取得部と、
取得した前記バスアーキテクチャ情報に基づいて、前記バスアーキテクチャに適合する転送サイズを算出する転送サイズ算出部と、
前記半導体集積回路に含まれるバスイニシエータからのトランザクションを、前記転送サイズに適合するサイズのトランザクションに変換して前記バスへ出力するトランザクション変換部を設定して、前記半導体集積回路のシミュレーションを行うシミュレーション実行部と、
を有することを特徴とする半導体集積回路シミュレーション装置。 - 前記トランザクション変換部は、前記バスイニシエータからのトランザクションのサイズが、前記転送サイズよりも大きい場合は、前記バスイニシエータからのトランザクションを前記転送サイズのトランザクションに分割して複数の分割トランザクションを生成して、前記バスへ前記複数の分割トランザクションを出力し、前記バスイニシエータからのトランザクションのサイズが、前記転送サイズよりも小さい場合は、前記バスイニシエータからのトランザクションを前記転送サイズのトランザクションになるように統合して1つの統合トランザクションを生成して、前記バスへ前記統合トランザクションを出力することを特徴とする請求項1に記載の半導体集積回路シミュレーション装置。
- 前記トランザクション変換部は、前記バスイニシエータからのトランザクションのサイズが前記転送サイズよりも大きい場合、前記バスイニシエータからのトランザクションが前記転送サイズのトランザクションに分割されて出力されたとした場合の仮想出力時間情報の生成処理を実行し、前記バスイニシエータからのトランザクションの分割処理は実行しないことを特徴とする請求項1又は2に記載の半導体集積回路シミュレーション装置。
- 半導体集積回路に含まれるバスターゲットがトランザクションを受理して動作開始をする開始条件を含むバスターゲット情報を取得するバスターゲット情報取得部と、
取得した前記バスターゲット情報に基づいて、前記バスターゲットに適合する転送サイズを算出する転送サイズ算出部と、
前記半導体集積回路に含まれるバスからのトランザクションを、前記転送サイズに適合するサイズのトランザクションに変換して前記バスターゲットへ出力するトランザクション変換部を設定して、前記半導体集積回路のシミュレーションを行うシミュレーション実行部と、
を有することを特徴とする半導体集積回路シミュレーション装置。 - バスアーキテクチャ情報取得部、転送サイズ算出部及びシミュレーション実行部を用いて半導体集積回路のシミュレーションを行う方法であって、
前記バスアーキテクチャ情報取得部により、前記半導体集積回路に含まれるバスのバスアーキテクチャ情報を取得し、
前記転送サイズ算出部により、取得した前記バスアーキテクチャ情報に基づいて、前記バスアーキテクチャに適合する転送サイズを算出し、
前記シミュレーション実行部により、前記半導体集積回路に含まれるバスイニシエータからのトランザクションを、前記転送サイズに適合するサイズのトランザクションに変換して前記バスへ出力するトランザクション変換部を設定して、前記半導体集積回路のシミュレーションを行う、
ことを特徴とする半導体集積回路のシミュレーション方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011064630A JP2012203451A (ja) | 2011-03-23 | 2011-03-23 | 半導体集積回路シミュレーション装置及び半導体集積回路のシミュレーション方法 |
US13/235,122 US20120245915A1 (en) | 2011-03-23 | 2011-09-16 | Semiconductor integrated circuit simulation apparatus and simulation method for semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011064630A JP2012203451A (ja) | 2011-03-23 | 2011-03-23 | 半導体集積回路シミュレーション装置及び半導体集積回路のシミュレーション方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012203451A true JP2012203451A (ja) | 2012-10-22 |
Family
ID=46878076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011064630A Withdrawn JP2012203451A (ja) | 2011-03-23 | 2011-03-23 | 半導体集積回路シミュレーション装置及び半導体集積回路のシミュレーション方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20120245915A1 (ja) |
JP (1) | JP2012203451A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014142725A (ja) * | 2013-01-22 | 2014-08-07 | Fujitsu Ltd | シミュレーションプログラム、シミュレーション方法およびシミュレーション装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8756544B2 (en) * | 2010-12-06 | 2014-06-17 | Industrial Technology Research Institute | Method for inserting characteristic extractor |
CN103150440B (zh) * | 2013-03-14 | 2015-09-09 | 福州瑞芯微电子有限公司 | 一种模块级电路网表仿真方法 |
KR20150134688A (ko) | 2014-05-22 | 2015-12-02 | 삼성전자주식회사 | 트랜잭터를 자동으로 생성하는 컴퓨팅 시스템 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6154801A (en) * | 1997-07-31 | 2000-11-28 | Advanced Micro Devices, Inc. | Verification strategy using external behavior modeling |
US6715011B1 (en) * | 2000-05-31 | 2004-03-30 | International Business Machines Corporation | PCI/PCI-X bus bridge with performance monitor |
US8073820B2 (en) * | 2008-04-07 | 2011-12-06 | Sonics, Inc. | Method and system for a database to monitor and analyze performance of an electronic design |
-
2011
- 2011-03-23 JP JP2011064630A patent/JP2012203451A/ja not_active Withdrawn
- 2011-09-16 US US13/235,122 patent/US20120245915A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014142725A (ja) * | 2013-01-22 | 2014-08-07 | Fujitsu Ltd | シミュレーションプログラム、シミュレーション方法およびシミュレーション装置 |
Also Published As
Publication number | Publication date |
---|---|
US20120245915A1 (en) | 2012-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9645802B2 (en) | Technique for grouping instructions into independent strands | |
US8365111B2 (en) | Data driven logic simulation | |
JP2009026113A (ja) | シミュレーション装置及びプログラム | |
US20090172621A1 (en) | System and method for system-on-chip (soc) performance analysis | |
US11650800B2 (en) | Attestation of operations by tool chains | |
KR101715986B1 (ko) | 신호 흐름이 프로그램된 디지털 신호 프로세서 코드의 효율적인 자원 관리를 위한 시스템 및 방법 | |
US20140195217A1 (en) | Simulated input/output devices | |
JP2012203451A (ja) | 半導体集積回路シミュレーション装置及び半導体集積回路のシミュレーション方法 | |
JP7036814B2 (ja) | デバッギングシステム及び方法 | |
JP5034916B2 (ja) | 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置 | |
US7228513B2 (en) | Circuit operation verification device and method | |
US8886512B2 (en) | Simulation apparatus, computer-readable recording medium, and method | |
JP6249827B2 (ja) | シミュレーション装置及びシミュレーションプログラム | |
JP5251586B2 (ja) | 検証支援プログラム、検証支援装置および検証支援方法 | |
JP6667733B2 (ja) | シミュレーション装置、シミュレーション方法およびシミュレーションプログラム | |
US20140325468A1 (en) | Storage medium, and generation apparatus for generating transactions for performance evaluation | |
US10452393B2 (en) | Event-driven design simulation | |
JP6767269B2 (ja) | 情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム | |
JP5226848B2 (ja) | シミュレーション装置及びプログラム | |
US20190012418A1 (en) | Simulation program, method, and device | |
JP2004021907A (ja) | 性能評価用シミュレーションシステム | |
JP2014194746A (ja) | シミュレーション装置及びシミュレーション方法及びプログラム | |
JP2020140284A (ja) | ベクトル演算処理装置、ベクトル演算処理装置による配列変数初期化方法、及び、ベクトル演算処理装置による配列変数初期化プログラム | |
JP5874433B2 (ja) | トレース結合装置及びプログラム | |
US8352239B2 (en) | Emulator interface device and method thereof |
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: 20140603 |