JP2014215768A - 性能評価用トランザクション生成プログラム及び性能評価用トランザクション生成装置 - Google Patents

性能評価用トランザクション生成プログラム及び性能評価用トランザクション生成装置 Download PDF

Info

Publication number
JP2014215768A
JP2014215768A JP2013091661A JP2013091661A JP2014215768A JP 2014215768 A JP2014215768 A JP 2014215768A JP 2013091661 A JP2013091661 A JP 2013091661A JP 2013091661 A JP2013091661 A JP 2013091661A JP 2014215768 A JP2014215768 A JP 2014215768A
Authority
JP
Japan
Prior art keywords
transaction
performance evaluation
dependency
scenario
semiconductor elements
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
JP2013091661A
Other languages
English (en)
Inventor
佐藤 信之
Nobuyuki Sato
信之 佐藤
真拡 加藤
Masahiro Kato
真拡 加藤
晋哲 神
Kuniaki Jin
晋哲 神
渡部祐希
Yuki Watanabe
祐希 渡部
誠也 福島
Seiya Fukushima
誠也 福島
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 Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2013091661A priority Critical patent/JP2014215768A/ja
Priority to US14/252,060 priority patent/US20140325468A1/en
Publication of JP2014215768A publication Critical patent/JP2014215768A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design 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)
  • Debugging And Monitoring (AREA)

Abstract

【課題】短期間で容易に、マクロのトランザクションを忠実に再現することが可能な性能評価用トランザクション生成プログラム及び性能評価用トランザクション生成装置を提供すること。【解決手段】性能評価用トランザクション生成プログラムであって、コンピュータに、半導体回路を構成する各半導体素子が出力する信号のレベル遷移を示す情報である動作波形データと半導体素子間の動作の依存関係を示すパラメタに基づいて、前記半導体回路を構成する各半導体素子の動作の依存関係を示すトランザクションシナリオを生成させ、前記トランザクションシナリオに基づいて、前記半導体回路を検証するためのトランザクションを生成させることを特徴とする。【選択図】図8

Description

本発明は、論理回路から構成されるハードウェアシステムの性能評価用トランザクション生成プログラム及び性能評価用トランザクション生成装置に関する。
プロセス技術の進歩によりLSI(大規模集積回路:Large Scale Integrated circuit)の集積度が増大し、システムLSIとして1チップ上に搭載することが可能となっている。また、チップ上に搭載する機能モジュールも多様化し、回路規模も増大している。近年、性能要求を満たすために、より複雑なアーキテクチャを実現する必要があり、アーキテクチャに起因する問題が発生しやすくなっている。アーキテクチャとはLSIのハードウェアの基本構成のことで、例えばLSIを構成する複数の機能ブロックの組み合わせの構成などのことである。
LSIのシステム全体としての処理能力を評価するためには、ハードウェアとソフトウェアとを同時に動作させた検証を行うことが必要である。例えば、回路記述用のRTL(レジスタ転送レベル:Register Transfer Level)を用いて検証を行うには、具体的なハードウェア構成のレベルでシステム全体のシミュレーションを実行することになる。
特許文献1には、システムアーキテクチャのシミュレーション方法に関し、機能ブロック間のデータ授受の記録を残し、グループ分けに応じたシミュレーションを実行する技術が開示されている。
図1は、従来のLSI開発における課題を説明するための図である。
LSIの開発は、図1に示すように、与えられた「仕様設計」に基づいて、ハードウェアについては、「ハード設計」を行い、「ハード検証」した後「LSI製造」が行われる。また、ソフトウェアについては、「ソフト設計」を行い、「ソフト検証」が行われる。従来のシステム評価は、その後に実行される。すなわち、システム評価はハードウェア設計完了後しか行えず、そこでアーキテクチャに起因する問題が発見されたとしても、多くの作業をやり直す必要が生じるために現実的には大きなフィードバックは行えない。
そこで、(1)アーキテクチャにフィードバック可能な開発初期段階(ハードウェア設計完了前)でのシステム評価を行うことができ、かつ、(2)アーキテクチャに起因する問題が発見可能なシステム評価を行うことができる仕組み、が求められている。
上記(1)アーキテクチャにフィードバック可能な開発初期段階(ハードウェア設計完了前)でのシステム評価を行うことができる仕組みとしては、「仮想的にハードウェアを表現したソフトウェアであるESL(電子システムレベル:Electronics System Level)モデルによる性能評価技術」が提案されている。また、ESLモデルによる性能評価を実現するためのESLモデル記述言語(System C)およびESLシミュレータは、既知の技術として実現されている。
図2は、ESL技術を用いたシステム評価環境を示す図である。
図2に示すように、ESLシミュレータは、CPU(中央処理装置:Central Processing Unit)、MEM(メモリ:MEMory)、DMAC(ダイレクトメモリアクセスコントローラ:Direct Memory Access Controller)等のハードウェアをソフトウェアで仮想的にモデル化して表現し、シミュレーション対象に対する命令であるトランザクションを電子システムレベルでシミュレートするためのシミュレータである。
また、ハードウェアの仕様記述のトランザクション手順が定義され、トランザクション識別子により順序機械の検査装置を自動生成する技術が開示されている(例えば、特許文献2参照。)。
上記(2)アーキテクチャに起因する問題が発見可能なシステム評価を行うことができる仕組みについては、「アーキテクチャに起因する問題」を見つけるために、「実際の使用時(ユースケース)のシステム動作による性能評価を行う」ことが重要である。この性能評価を実現するために、以下の要素が表現される環境が求められている。
・実際の使用に則ったシステム動作時の各ハードウェアマクロ(以降、マクロ)のトランザクション負荷が表現される環境
・トランザクション負荷が高い精度(マクロ仕様のトランザクション)で表現される環境
これらのことから、「ESLモデルでマクロのトランザクションを忠実に再現する仕組み」が求められている。
また、現在のLSI開発は、すべてのマクロを新規に開発することは稀であり、新規開発のIP(設計資産:Intellectual Property)と既存のIPの組み合わせで構成されることが殆どである。従って、ESLモデル化の対象としては、新規開発IP(RTL無し)と既存IP(RTL有り)のユースケースがある。
図3は、ユースケースと従来技術との関係を示す図である。
図3に示すように、「ESLモデルでマクロのトランザクションを忠実に再現する仕組み」として、従来は、ユースケースに応じて、「手作り」と「動作波形再現」の二つの手法が使用されている。
このような従来技術では、「忠実に再現するモデルを開発するのに時間がかかる」という問題点があった。
図4は、「手作り」手法を説明するための図である。
図4に示すように、「手作り」手法は、まず、マクロ仕様書41に基づいて、モデリング42を行うことにより、ユーザがマクロのトランザクションを忠実にシミュレートするESLモデル43を作成する。この「手作り」手法は、ESLモデル43を作成することでマクロのトランザクションを忠実に再現できることになる一方、精度の高いESLモデル43を開発するには、複雑な実装仕様の検討が必要であるため時間とコストがかかり、必要な時期にモデルが準備できない場合がある。
図5は、Synopsys社のトラフィックジェネレータを説明するための図である。
例えば、Synopsys社のシステムレベル検証ツール「Platform Architect MCO(Multicore Optimization Technology)」に搭載されているトラフィックジェネレータは、ハードウェアの実行結果であるハードウェアマクロの動作波形情報(VCD:Value Change Dumped)を入力とし、動作波形情報から要求(リクエストトランザクション)のみを抽出してシミュレートする。これを用いてバスモデルへ負荷をかけることで、アーキテクチャ評価を行う。
「手作り」手法の課題を解決するための施策としての「動作波形再現」手法は、例えば図5に示したSynopsys社のトラフィックジェネレータのように、モデリング対象のRTLが存在する場合、マクロの動作波形情報からリクエストトランザクションのみをシミュレートする仕組みが実現されている。動作波形情報からトランザクションを生成することでユーザがモデル開発を行う必要がなくなり、短期間かつ容易にマクロのトランザクションのモデリングが可能になる。
特開2003−67439号公報 特開2004−21730号公報
しかしながら、従来の技術では、マクロのトランザクションを忠実に再現できない、という問題点があった。
図6は、従来技術の問題点を説明するための図である。
すなわち、現状のトラフィックジェネレータは、バスおよびスレーブデバイスへのトランザクション負荷をかけることを主眼としていることから、リクエストトランザクションのみをシミュレートしているため、リクエストトランザクションに対する応答(レスポンストランザクション)を待ち合せて、次のリクエストトランザクションを発行するようなマクロ特有の「トランザクション間に依存関係を持たせた動作」が実現できず、マクロのトランザクションを忠実に再現できない。
例えば、ハードウェアの実動作が、図6(a)に示すように、第1の要求(リクエストトランザクション)61Aに対する第1の応答(レスポンストランザクション)62Aの発行が、何らかの原因により遅れ、第1の応答(レスポンストランザクション)64Aの発行となった場合、本来発行すべきであった第2の要求(リクエストトランザクション)63Aは、第1の応答64Aの発行を待つので、第2の要求(リクエストトランザクション)65Aとしては遅れての発行となる。
これに対して、トラフィックジェネレータでは、図6(b)に示すように、第1の要求(リクエストトランザクション)61Bに対する第1の応答(レスポンストランザクション)62Bの発行が、何らかの原因により遅れ、第1の応答(レスポンストランザクション)64Bの発行となった場合であっても、第2の要求(リクエストトランザクション)63Bは、第1の応答64Bの発行を待たずに発行され、遅れることはない。
本発明は、短期間で容易に、マクロのトランザクションを忠実に再現することが可能な性能評価用トランザクション生成プログラム及び性能評価用トランザクション生成装置の提供を目的とする。
本発明は、上記課題を解決するため、下記のような構成を採用した。
1つの案では、性能評価用トランザクション生成プログラムであって、コンピュータに、半導体回路を構成する複数の半導体素子の各々が出力する信号のレベル遷移を示す情報である動作波形データと前記複数の半導体素子間の動作の依存関係を示すパラメタに基づいて、前記複数の半導体素子間の動作の前記依存関係を示すトランザクションシナリオを生成させ、前記トランザクションシナリオに基づいて、前記半導体回路を検証するためのトランザクションを生成させることを特徴とする。
本発明によれば、RTLが有る場合、マクロの動作波形とマクロ特徴動作のパラメタを用意するだけで、短期間で容易にマクロのトランザクションを忠実に再現することが可能となる、という効果を奏する。
従来のLSI開発における課題を説明するための図である。 ESL技術を用いたシステム評価環境を示す図である。 ユースケースと従来技術との関係を示す図である。 「手作り」手法を説明するための図である。 Synopsys社のトラフィックジェネレータを説明するための図である。 従来技術の問題点を説明するための図である。 性能評価用トランザクション生成プログラムが実行される性能評価用トランザクション生成装置のハードウェアシステム(パソコン)を示す図である。 性能評価用トランザクション生成装置の構造を示す図である。 動作波形ファイルの例を示す図である。 パラメタファイルの例を示す図である。 トランザクションシナリオファイルの例を示す図である。 トランザクションシナリオ生成装置83の構造を示す図である。 トランザクションシナリオ生成装置83が実行するトランザクションシナリオ生成処理の流れを示すフローチャートである。 図13のステップS1301の「動作波形からのトランザクション抽出」処理を説明するための図である。 図13のステップ1302の「依存関係付加」処理で、同一チャネル間の場合を説明するための図である。 図13のステップ1302の「依存関係付加」処理で、異なるチャネル間の場合を説明するための図である。 トランザクションシナリオの生成を説明するための図である。 トランザクション実行装置85によるトランザクション実行処理を実行するためのトランザクション実行プログラムの位置付けを説明する図である。 トランザクション実行装置85が実行するトランザクション実行処理の流れを示すフローチャートである。 トランザクション実行プログラムの例を示す図である。 トランザクション実行処理を実行するトランザクション実行装置85の動作フロー(リード動作)を示す図である。 トランザクション実行処理を実行するトランザクション実行装置85の動作フロー(ライト動作)を示す図である。
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
本発明の実施の形態のポイントは、下記の3つである。
(1)マクロの動作波形情報にマクロ特徴動作仕様(トランザクションの動作の依存関係)をパラメタとして与えることでマクロのトランザクションを忠実に再現する仕組み
(2)トランザクションの動作の依存関係をトランザクションシナリオに反映する仕組み
(3)トランザクションの動作の依存関係を実現する仕組み
本実施の形態は、ハードウェアシステム(パソコン)上で実行されるソフトウェア(プログラム)であり、後述する性能評価用トランザクション生成プログラムである。そして、性能評価用トランザクション生成プログラムが実行されるハードウェアシステム(パソコン)としての性能評価用トランザクション生成装置である。
図7は、性能評価用トランザクション生成プログラムが実行される性能評価用トランザクション生成装置のハードウェアシステム(パソコン)を示す図である。
図7において、ハードウェアシステム(パソコン)70は、CPU(中央処理装置:Central Processing Unit)71、メモリ(主記憶装置)72、ハードディスク(補助記憶装置)73、ディスプレイ(出力装置)74、キーボード/マウス(入力装置)75、及び入出力制御装置76を備える一般的なコンピュータである。
性能評価用トランザクション生成装置77は、ハードディスク(補助記憶装置)73に格納された性能評価用トランザクション生成プログラムを実行することにより機能する。
図8は、性能評価用トランザクション生成装置の構造を示す図である。
図8において、性能評価用トランザクション生成装置77は、トランザクションシナリオ生成装置83及びトランザクション実行装置85を備える。
トランザクションシナリオ生成装置83は、動作波形(VCD)ファイル81に格納された動作波形データと、パラメタファイル82に格納されたマクロ特徴動作仕様に基づいて、半導体回路を構成する各半導体素子の動作の依存関係を示すトランザクションシナリオを生成し、トランザクションシナリオファイル84に格納する。動作波形ファイル81には、半導体回路を構成する各半導体素子が出力する信号のレベル遷移を示す情報である動作波形データが格納されている。また、パラメタファイル82には、半導体素子間の動作の依存関係を示すパラメタとしてマクロ特徴動作仕様が格納されている。
トランザクション実行装置85は、トランザクションシナリオファイル84に格納されたトランザクションシナリオに基づいて、半導体回路のアーキテクチャを検証するためのトランザクションを生成させる。
そして、性能評価用トランザクション生成装置77を、例えば、Synopsys社のシステムレベル検証ツール「Platform Architect MCO」に搭載することにより、半導体回路のアーキテクチャ評価を行うことができる。
図9は、動作波形ファイルの例を示す図である。
図9において、動作波形ファイル81は、動作を記録する信号を定義する信号定義部と、信号の状態変化時の時刻及び信号値を記録する信号変化記録部で構成される。図9に示した例では、0[ns]時の値変化信号値、1000[ns]時の値変化信号値及び10000[ns]時の値変化信号値が、信号変化記録部に記録されている。
図10は、パラメタファイルの例を示す図である。
図10において、パラメタファイル82は、Channel、Type、StartTime及びEndTimeから構成され、マクロの特徴動作仕様として、トランザクション依存関係付加のパラメタを設定する。
Channelは、依存関係を付加する対象のチャネルを指定する。チャネルとはトランザクションの並列処理の単位である。例えば、readはリードチャネルであり、writeはライトチャネルである。
Typeは、上記並列処理で同一のチャネル内で複数並列処理されるのか、異なるチャネルが混在して複数処理されるのかを示すパラメタであり、これによって付加する依存関係の種類が指定される。すなわち依存関係は、同一チャネル内のトランザクションへの依存関係と、異なるチャネル間のトランザクションへの依存関係がある。sameは、同一チャネル内のトランザクションへの依存関係を付加し、differentは、異なるチャネル間のトランザクションへの依存関係を付加する。
StartTimeは、依存関係を付加する開始時刻[ns]を指定する。EndTimeは、依存関係を付加する終了時刻[ns]を指定する。
図11は、トランザクションシナリオファイルの例を示す図である。
図11において、トランザクションシナリオファイル84は、トランザクションのシーケンスおよびトランザクションの動作の依存関係を表現したファイルであり、TransNum、WriteDepend及びReadDependから構成される。
TransNumは、トランザクションの番号を指定する。WriteDependは、TransNumで指定されたトランザクションに動作の依存関係があるライトトランザクションのトランザクション番号を指定する。ReadDependは、TransNumで指定されたトランザクションに動作の依存関係があるリードトランザクションのトランザクション番号を指定する。
上記性能評価用トランザクション生成装置77によって生成されたトランザクションは、トランザクションシナリオファイル84に基づいて生成されたデータ群である。トランザクションは、バスへのリクエストトランザクション(Req)及びレスポンストランザクション(Resp)で構成される。
上述したように、マクロの動作波形は、ある条件下でのマクロのトランザクションを表現しているのみであるため、従来のように動作波形をただ再現しただけでは、動作波形取得条件以外の状態になった場合のマクロのトランザクションをシミュレートできなかった。
そこで、性能評価用トランザクション生成装置77は、トランザクションシナリオ生成装置83によって、マクロの動作波形とマクロ特徴動作仕様としての「トランザクションの動作の依存関係」をパラメタファイルとして外部から入力し、パラメタ値と動作波形情報に基づき依存関係を付加したトランザクションシナリオを生成する。そして、トランザクション実行装置85によって、トランザクションシナリオ生成装置83が生成したトランザクションシナリオに基づきトランザクションを実行する。これにより、波形動作取得条件以外の状態でも、マクロの動作を忠実に再現できる。
次に、性能評価用トランザクション生成装置77が備えるトランザクションシナリオ生成装置83及びトランザクション実行装置85のそれぞれについて詳細に説明する。
図12は、トランザクションシナリオ生成装置83の構造を示す図である。
図12に示すように、トランザクションシナリオ生成装置83は、トランザクションシナリオ生成部121を備える。
トランザクションシナリオ生成部121は、動作波形(VCD)ファイル81に格納された動作波形データと、パラメタファイル82に格納されたマクロ特徴動作仕様に基づいて、半導体回路を構成する各半導体素子の動作の依存関係を示すトランザクションシナリオを生成し、トランザクションシナリオファイル84に格納する。
図13は、トランザクションシナリオ生成装置83が実行するトランザクションシナリオ生成処理の流れを示すフローチャートである。
ステップS1301において、動作波形からトランザクションを抽出し、ステップS1302において、依存関係の付加を行う。これらの処理については、その詳細を後述する。
図14は、図13のステップS1301の「動作波形からのトランザクション抽出」処理を説明するための図である。
図14に示すように、まず、動作波形(VCD)ファイル81の動作波形(VCD)の各時刻の信号値から信号の状態を内部で再現し(再現波形141)、再現波形とインタフェースプロトコル仕様からトランザクションを認識する。例えば、動作波形(VCD)の40[ns](#40)のclock信号(内部信号名:”(ダブルコーテーションマーク))の立ち上がり(clock=1)において、rready信号(内部信号名:#(シャープマーク))が1(0[ns]時に設定)、かつrvalid信号(内部信号名:$(ドルマーク))が1であるため、インタフェースプロトコル仕様に基づいてトランザクションであると認識する。
その後、認識した順番に番号を付与しTransNumに格納し、トランザクションが成立した時刻をTimeに格納し、Read/WriteをChannelに格納して、トランザクションテーブル142を作成する。
図15は、図13のステップ1302の「依存関係付加」処理で、同一チャネル間の場合を説明するための図である。
Typeパラメタにsameが設定された場合、Channelパラメタで指定されたチャネル(read又はwrite)内のStartTimeパラメタとEndTimeパラメタで指定された時刻内に存在するトランザクションに対して依存関係を付加する。すなわち、注目するチャネルの始端と終端を除く区間に発生しているリクエストに対し、パラメタファイル82で指定された時間内にて注目するチャネル内で直前に発行されているトランザクションがあれば、レスポンストランザクションを待ち合わせる依存関係を付加する。
例えば、Type=Same、Channel=read、StartTime=40[ns]、EndTime=160[ns]の場合、readチャネル内の40[ns]から160[ns]間に存在するトランザクションに動作の依存関係を付加する。また、Type=Same、Channel=Write、StartTime=40[ns]、EndTime=160[ns]の場合、writeチャネル内の40[ns]から160[ns]間に存在するトランザクションに動作の依存関係を付加する。
図16は、図13のステップ1302の「依存関係付加」処理で、異なるチャネル間の場合を説明するための図である。
Typeパラメタにdifferentが設定された場合、Channelパラメタで指定されたチャネル(read又はwrite)ともう一方のチャネル(Channelパラメタにreadが指定された場合はwrite、Channelパラメタにwriteが指定された場合はread)間のStartTimeパラメタとEndTimeパラメタで指定された時刻内に存在するトランザクションに対して動作の依存関係を付加する。すなわち、注目するチャネルの始端と終端を除く区間に発生しているリクエストに対し、パラメタファイル82で指定された時間内にて異なるチャネル内で直前に発行されているトランザクションがあれば、レスポンストランザクションを待ち合わせる動作の依存関係を付加する。
例えば、Type=different、Channel=read、StartTime=40[ns]、EndTime=160[ns]の場合、readチャネルからwriteチャネルに対して、40[ns]から160[ns]間に存在するトランザクションに動作の依存関係を付加する。また、Type=different、Channel=write、StartTime=40[ns]、EndTime=160[ns]の場合、Writeチャネルからreadチャネルに対して、40[ns]から160[ns]間に存在するトランザクションに動作の依存関係を付加する。
図17は、トランザクションシナリオの生成を説明するための図である。
下記(1)乃至(4)の処理によりトランザクションシナリオを生成する。
(1)トランザクションテーブルの「Time」と、依存関係パラメタファイルの「StartTime」及び「EndTime」を比較し、注目トランザクションが動作の依存関係の付加対象かどうかを判断する。図17中の「トランザクションテーブル」に例示されているように、「Time」が、例えば80[ns]の場合、図17中の「依存関係パラメタファイル」に例示されているように、「StartTime」40[ns]と「EndTime」160[ns]の間になる。よって、この場合は依存関係対象であると判断し、下記(2)に移行する。また、「Time」が、例えば200[ns]のように「startTime」「EndTime」間でない場合は、トランザクションテーブルの次の行に移行して、同様の処理を実行する。
(2)トランザクションテーブルの「Channel」と依存関係パラメタファイルの「Type」を参照し、依存関係付加方法を判定する。例えば、図17中に例示したように、トランザクションテーブルの「Channel」と同じ、依存関係パラメタファイルの「Channel」(read又はwrite)の「Type」が「same」の場合は、同一チャネル依存関係付加を選択し、下記
(3)へ移行する。また、トランザクションテーブルの「Channel」と同じ、依存関係パラメタファイルの「Channel」(read又はwrite)の「Type」が「different」の場合は、異チャネル依存関係付加を選択してから、下記(3)へ移行する。
(3)1つ前の時刻のトランザクションの「Channel」と注目トランザクションの「Channel」を、選択した依存関係付加方法に基づいて比較し、依存関係を付加するかを判定する。前時刻にトランザクションが無い場合は、注目トランザクションを次時刻に変更して上記(1)へ戻る。例えば、同一チャネル依存関係付加を選択した場合であって、1つ前の時刻のトランザクションの「Channel」と注目トランザクションの「Channel」が同じ場合は、依存関係を付加して下記(4)へ移行する。1つ前の時刻のトランザクションの「Channel」と注目トランザクションの「Channel」が異なる場合は、上記(2)へ移行する。また、異チャネル依存関係付加を選択した場合であって、1つ前の時刻のトランザクションの「Channel」と注目トランザクションの「Channel」が同じ場合は、上記(2)へ移行する。1つ前の時刻のトランザクションの「Channel」と注目トランザクションの「Channel」が異なる場合は、依存関係を付加して下記(4)へ移行する。
(4)依存するトランザクションの“TransNum”の値を、注目トランザクションの“Channel”に該当するトランザクションシナリオの該当行に記載し、注目トランザクションを次時刻に変更して上記(1)へ戻る。
このように、トランザクションの動作の依存関係をトランザクションシナリオに反映することで、従来技術では反映することができなかった動作波形情報を用いた場合のトランザクションの動作の依存関係を含めた、マクロのトランザクションの忠実な再現が可能となる。また、動作波形とパラメタからトランザクションシナリオを自動生成する仕組みとし、トランザクション実行装置85と合わせて使用することにより、モデル開発コストを削減し、短期間かつ容易なモデル開発が可能になる。
図18は、トランザクション実行装置85によるトランザクション実行処理を実行するためのトランザクション実行プログラムの位置付けを説明する図である。
トランザクション実行プログラム1801は、トランザクション実行装置85によってトランザクション実行処理を実行するためのソフトウェアプログラムであり、上述のようにして作成されたトランザクションシナリオを実行する。また、トランザクションシナリオを実行するためのトランザクション実行プログラム1801は、プログラミング言語の関数であるリードチャネルトランザクションシナリオ実行関数1801A及びライトチャネルトランザクションシナリオ実行関数1801Bを備える。
リードチャネルトランザクションシナリオ実行関数1801A又はライトチャネルトランザクションシナリオ実行関数1801Bは、テーブル操作API(アプリケーションプログラミングインタフェース:Application Programming Interface)を介して、トランザクションシナリオ制御ライブラリ1802に格納されているトランザクション情報、すなわち上述のトランザクションシナリオを取得する。
また、リードチャネルトランザクションシナリオ実行関数1801A及びライトチャネルトランザクションシナリオ実行関数1801Bは、時間制御APIを介し、ESLシミュレータ等のシミュレータ1804に対してリクエストの発行間隔調整(レイテンシ)等を実行する。
また、リードチャネルトランザクションシナリオ実行関数1801Aは、リードチャネル制御APIを介し、汎用バスマスタ1803のリードチャネルに対してリクエストの発行及びレスポンスの待ち合わせ等を実行する。ライトチャネルトランザクションシナリオ実行関数1801Bは、ライトチャネル制御APIを介し、汎用バスマスタ1803のライトチャネルに対してリクエストの発行及びレスポンスの待ち合わせ等を実行する。
図19は、トランザクション実行装置85が実行するトランザクション実行処理の流れを示すフローチャートであり、図20は、トランザクション実行プログラムの例を示す図である。また、図21は、トランザクション実行処理を実行するトランザクション実行装置85の動作フロー(リード動作)を示す図であり、図22は、トランザクション実行処理を実行するトランザクション実行装置85の動作フロー(ライト動作)を示す図である。
トランザクション実行装置85が実行するトランザクション実行処理は、トランザクションシナリオに定義された依存関係情報に基づき、リクエストの発行前に、汎用バスマスタ1803が公開するリードチャネル制御API及びライトチャネル制御APIを用いて指定トランザクションの完了待ち合わせを行うことで、トランザクション間の動作の依存関係を実現する。
すなわち、トランザクション実行装置85は、まず、図19のステップS1901において、トランザクションシナリオ生成装置83が生成したトランザクションシナリオをトランザクションシナリオ制御ライブラリ1802から順に取得する。
そして、ステップS1902において、ステップS1901でトランザクションシナリオを取得できたか否か、すなわちトランザクションシナリオ制御ライブラリ1802に格納されているトランザクションシナリオを全て取得したか否かを判断する。
トランザクションシナリオ制御ライブラリ1802に格納されているトランザクションシナリオを順に取得した結果、次に取得するべきトランザクションシナリオがない場合(ステップS1902:NO)は、本トランザクション実行処理を終了する。他方、トランザクションシナリオを取得した場合(ステップS1902:YES)は、ステップS1903において、待ち合わせ(レイテンシ)を実行する。
次に、ステップS1904において、ステップS1901で取得したトランザクションシナリオに、リードの依存関係が存在するか否かを判断する。
存在しない場合(ステップS1904:NO)は、ステップS1906へ進み、存在する場合(ステップS1904:YES)は、ステップS1905において、リード依存トランザクション完了の待ち合わせを行う。
次に、ステップS1906において、ステップS1901で取得したトランザクションシナリオに、ライトの依存関係が存在するか否かを判断する。
存在しない場合(ステップS1906:NO)は、ステップS1908へ進み、存在する場合(ステップS1906:YES)は、ステップS1908において、ライト依存トランザクション完了の待ち合わせを行う。
そして、ステップS1908において、リクエストトランザクションを発行し、ステップS1901に戻る。
上述の処理をステップS1901でトランザクション情報を取得できなくなるまで、すなわち、順に取得すべきトランザクションシナリオがトランザクションシナリオ制御ライブラリ1802内になくなるまで繰り返す。
上述したトランザクション実行装置85が実行するトランザクション実行処理を実行することにより、図21に示すようなリード動作が実行され、また、図22に示すようなライト動作が実行される。これら図21及び図22に示すような動作は、生成されたトランザクションを全て実行するまで繰り返し実行される。
上述のようなトランザクション実行装置85を用いることにより、モデル開発の作業は、RTLが無い場合に従来行っていたモデル開発における「モデル仕様設計・コーディング・テスト」工程が不要となり、マクロトランザクション仕様の調査結果に基づきトランザクションシナリオを作成するのみとなるため、短期間で容易に、マクロのトランザクションを忠実に再現することが可能となる。
以上、本発明の実施の形態を説明してきたが、上述の性能評価用トランザクション生成装置77は、トランザクションをリクエストトランザクションとレスポンストランザクションに分けて制御可能とし、指定トランザクションのレスポンストランザクションを待ち合せる機能を使用することにより、リクエストトランザクションとレスポンストランザクション間に動作の依存関係が付与できる。そして、依存関係が表現可能となることで、従来技術では行えなかった動作条件変化時のリクエストトランザクション発行タイミングが変化するという「マクロのトランザクションの忠実な再現」が可能となる。
また、トランザクションシナリオを作成するだけでマクロのトランザクションを忠実に再現可能となることから、モデル開発コストを削減し、短期間かつ容易なモデル開発が可能になる。
上述の性能評価用トランザクション生成装置77は、通常の情報処理装置(コンピュータ)を使用して実現することができる。すなわち、性能評価用トランザクション生成装置77は、CPU、RAMやROM等のメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、及びネットワーク接続装置を備える。また、これらはバスにより互いに接続されている。
メモリは、性能評価用トランザクション生成装置77に用いられるプログラム及びデータを格納する。CPUは、メモリを利用してプログラムを実行することにより、上述のトランザクションシナリオ生成処理及びトランザクション実行処理を実行する。
入力装置は、例えば、キーボード、ポインティングデバイス等であり、ユーザからの指示や情報の入力に用いられる。出力装置は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザへの問い合わせや処理結果の出力に用いられる。
外部記録装置は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。この外部記録装置には、ハードディスクドライブも含まれる。性能評価用トランザクション生成装置77は、この外部記録装置にプログラム及びデータを格納しておき、それらをメモリにロードして使用することができる。
媒体駆動装置は、可搬型記録媒体を駆動し、その記録内容にアクセスする。可搬型記録媒体は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。この可搬型記録媒体には、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等も含まれる。ユーザは、この可搬型記録媒体にプログラム及びデータを格納しておき、それらをメモリにロードして使用することができる。
このように、トランザクションシナリオ生成処理及びトランザクション実行処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ、外部記録装置、及び可搬型記録媒体のような、物理的な(非一時的な)記録媒体が含まれる。
ネットワーク接続装置は、LAN(Local Area Network)等の有線または無線の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。性能評価用トランザクション生成装置77は、プログラム及びデータを外部の装置からネットワーク接続装置を介して受け取り、それらをメモリにロードして使用することができる。
例えば、外部記録装置に格納したプログラムやデータは、性能評価用トランザクション生成装置77のメモリにロードされる。また、ネットワーク接続装置を介して接続可能な外部装置は、プログラムやデータを搬送する搬送信号を生成し、通信ネットワーク上の任意の伝送媒体を介して性能評価用トランザクション生成装置77に送信する。
開示した実施の形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができる。
41 マクロ仕様書
42 モデリング
43 ESLモデル
61A 第1の要求(リクエストトランザクション)
62A 第1の応答(レスポンストランザクション)
63A 第2の要求(リクエストトランザクション)
64A 第1の応答(レスポンストランザクション)
65A 第2の要求(リクエストトランザクション)
61B 第1の要求(リクエストトランザクション)
62B 第1の応答(レスポンストランザクション)
63B 第2の要求(リクエストトランザクション)
64B 第1の応答(レスポンストランザクション)
70 ハードウェアシステム(パソコン)
71 CPU(中央処理装置:Central Processing Unit)
72 メモリ(主記憶装置)
73 ハードディスク(補助記憶装置)
74 ディスプレイ(出力装置)
75 キーボード/マウス(入力装置)
76 入出力制御装置
77 性能評価用トランザクション生成装置
81 動作波形(VCD)ファイル
82 パラメタファイル
83 トランザクションシナリオ生成装置
84 トランザクションシナリオファイル
85 トランザクション実行装置
121 トランザクションシナリオ生成部
141 再現波
142 トランザクションテーブル
1801 トランザクション実行プログラム
1801A リードチャネルトランザクションシナリオ実行関数
1801B ライトチャネルトランザクションシナリオ実行関数
1802 トランザクションシナリオ制御ライブラリ
1803 汎用バスマスタ
1804 シミュレータ

Claims (6)

  1. 性能評価用トランザクション生成プログラムであって、
    コンピュータに、
    半導体回路を構成する複数の半導体素子の各々が出力する信号のレベル遷移を示す情報である動作波形データと前記複数の半導体素子間の動作の依存関係を示すパラメタに基づいて、前記複数の半導体素子間の動作の前記依存関係を示すトランザクションシナリオを生成させ、
    前記トランザクションシナリオに基づいて、前記半導体回路を検証するためのトランザクションを生成させる、
    ことを特徴とする性能評価用トランザクション生成プログラム。
  2. 前記トランザクションを実行させる、
    ことを特徴とする請求項1に記載の性能評価用トランザクション生成プログラム。
  3. 前記複数の半導体素子は第1および第2の半導体素子を含み、
    前記依存関係は、前記第1の半導体素子のトランザクションが前記第2の半導体素子のトランザクションの結果に依存する関係である、
    ことを特徴とする請求項1又は2に記載の性能評価用トランザクション生成プログラム。
  4. 前記依存関係は、前記複数の半導体素子間の動作であって、前記トランザクションの並列処理の単位であるチャネルが同一のチャネルである動作間における関係である、
    ことを特徴とする請求項1乃至3の何れか1項に記載の性能評価用トランザクション生成プログラム。
  5. 前記依存関係は、前記複数の半導体素子間の動作であって、前記トランザクションの並列処理の単位であるチャネルが異なるチャネルである動作間における関係である、
    ことを特徴とする請求項1乃至3の何れか1項に記載の性能評価用トランザクション生成プログラム。
  6. 性能評価用トランザクション生成装置であって、
    半導体回路を構成する複数の半導体素子の各々が出力する信号のレベル遷移を示す情報である動作波形データと前記複数の半導体素子間の動作の依存関係を示すパラメタに基づいて、前記複数の半導体素子間の動作の前記依存関係を示すトランザクションシナリオを生成するトランザクションシナリオ生成手段と、
    前記トランザクションシナリオ生成手段によって生成された前記トランザクションシナリオに基づいて、前記半導体回路を検証するためのトランザクションを生成するトランザクション生成手段と、
    を備えることを特徴とする性能評価用トランザクション生成装置。
JP2013091661A 2013-04-24 2013-04-24 性能評価用トランザクション生成プログラム及び性能評価用トランザクション生成装置 Withdrawn JP2014215768A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013091661A JP2014215768A (ja) 2013-04-24 2013-04-24 性能評価用トランザクション生成プログラム及び性能評価用トランザクション生成装置
US14/252,060 US20140325468A1 (en) 2013-04-24 2014-04-14 Storage medium, and generation apparatus for generating transactions for performance evaluation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013091661A JP2014215768A (ja) 2013-04-24 2013-04-24 性能評価用トランザクション生成プログラム及び性能評価用トランザクション生成装置

Publications (1)

Publication Number Publication Date
JP2014215768A true JP2014215768A (ja) 2014-11-17

Family

ID=51790449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013091661A Withdrawn JP2014215768A (ja) 2013-04-24 2013-04-24 性能評価用トランザクション生成プログラム及び性能評価用トランザクション生成装置

Country Status (2)

Country Link
US (1) US20140325468A1 (ja)
JP (1) JP2014215768A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10908934B2 (en) 2017-07-06 2021-02-02 Fujitsu Limited Simulation program, method, and device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150026652A1 (en) * 2013-07-18 2015-01-22 Nvidia Corporation System, method, and computer program product for correlating transactions within a simulation of a hardware platform for post-simulation debugging
FR3021433B1 (fr) * 2014-05-21 2016-06-24 Kalray Systeme de synchronisation inter-processeurs

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0619537D0 (en) * 2006-10-04 2006-11-15 Mephisto Design Automation Nv Method and apparatus for the simultaneous multi-level and/or multi-simulator design optimization of electronic circuits
US7809988B1 (en) * 2006-12-29 2010-10-05 The Mathworks, Inc. Test environment having synchronous and asynchronous distributed testing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10908934B2 (en) 2017-07-06 2021-02-02 Fujitsu Limited Simulation program, method, and device

Also Published As

Publication number Publication date
US20140325468A1 (en) 2014-10-30

Similar Documents

Publication Publication Date Title
JP4994393B2 (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
US11836641B2 (en) Machine learning-based prediction of metrics at early-stage circuit design
CN112949233B (zh) Fpga芯片的自动化开发方法及装置、电子设备
TW201229700A (en) Hybrid simulation system and method
JP5004566B2 (ja) 設計を検証するシステム
Goli et al. Automated analysis of virtual prototypes at electronic system level
JP4850091B2 (ja) 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置
US8700380B2 (en) Method for generating performance evaluation model
JP2014215768A (ja) 性能評価用トランザクション生成プログラム及び性能評価用トランザクション生成装置
US9021289B2 (en) Method and system for power estimation based on a number of signal changes
US20020188432A1 (en) Circuit model generation and circuit model testing
US20100161305A1 (en) Performance evaluation device, performance evaluation method and simulation program
US20190012418A1 (en) Simulation program, method, and device
CN112861455A (zh) Fpga建模验证系统及方法
JP5001126B2 (ja) ハードウェア検証用プログラミング記述生成装置、ハードウェア検証用プログラミング記述生成方法、制御プログラムおよび可読記録媒体
TWI427496B (zh) 製造積體電路的模型的方法和系統
US11734080B1 (en) Memory efficient and scalable approach to stimulus (waveform) reading
JP7351189B2 (ja) タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム
CN116842902B (zh) 针对黑盒模型的系统级仿真建模方法
CN116451625B (zh) 用于rtl和带sdf网表的联合仿真的装置和方法
US20230244512A1 (en) Fast waveform capture with low hardware footprint enabling full visibility
CN110321574B (zh) 一种打印波形的方法和装置
US10908934B2 (en) Simulation program, method, and device
KR101629725B1 (ko) 프레임워크 기반의 혼합회로 시뮬레이션 시스템 및 방법
JP2007241836A (ja) マルチサイクルパス検証方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20150616

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151228

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20160322