JP5071297B2 - 設計支援プログラム、設計支援装置、および設計支援方法 - Google Patents

設計支援プログラム、設計支援装置、および設計支援方法 Download PDF

Info

Publication number
JP5071297B2
JP5071297B2 JP2008200605A JP2008200605A JP5071297B2 JP 5071297 B2 JP5071297 B2 JP 5071297B2 JP 2008200605 A JP2008200605 A JP 2008200605A JP 2008200605 A JP2008200605 A JP 2008200605A JP 5071297 B2 JP5071297 B2 JP 5071297B2
Authority
JP
Japan
Prior art keywords
architecture
execution
traffic
domain
design support
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.)
Expired - Fee Related
Application number
JP2008200605A
Other languages
English (en)
Other versions
JP2010039678A (ja
Inventor
浩一郎 山下
純吾 桑原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008200605A priority Critical patent/JP5071297B2/ja
Publication of JP2010039678A publication Critical patent/JP2010039678A/ja
Application granted granted Critical
Publication of JP5071297B2 publication Critical patent/JP5071297B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、システムアーキテクチャを探求する際に最適なアーキテクチャ構成を求める設計支援プログラム、設計支援装置、および設計支援方法に関する。
近年、システムLSI(Large Scale Integration)の開発時におけるシミュレーションによる設計技術が進められている。この技術は主にESL(Electronic System Level)技術と呼ばれ、システムLSIの設計を、段階ごとに詳細性(抽象性)を変えながら設計を行うシステム上流工程設計での高速シミュレーション技術である。一方で、抽象度の低い構成では、処理速度は遅いが、実際のハードウェアロジックに近い、ハード詳細設計の段階で用いられる(たとえば、下記特許文献1,2を参照。)。
ESL技術では、詳細なクロック動作などを適宜スキップ、隠蔽することで高速動作を行うことができる。CPU(Central Processing Unit)のインストラクションシミュレータと連動させることで、ソフト動作可能なシミュレーション環境として利用されており、SoC(System on a Chip)などの大規模システムLSI開発に適用される。
この技術を用いてシステム全体の挙動を開発の初期段階で見極め、詳細な動作は後工程で実施を行う。設計者は開発上流段階でのブロック図構成レベルの情報でハードウェアを表記することができる。ESLなどで用いられるシミュレーションでハードウェアを表現する場合、SystemCおよびXML(Extensible Markup Language)スクリプトによるハードウェア記述によりハードウェアをプログラマブルに表現できるため、容易にシステム構成を変更した評価を行うことができる。またこれらのハードウェア表現は一般的なソフトウェアのプログラムと同様の表現がなされる。
また、ESLでは、CPUのインストラクションシミュレータと連動させることで、ソフト動作可能なシミュレーション環境として利用されており、SoCなどの大規模システムLSI開発に適用される。さらに、シミュレーションを高速化する技術として、バスやメモリのアクセスタイミングを無視し、CPUの命令セット実行のみに注力したバックドアモデル技術も提案されている。
これらの技術を用いてシステム全体の挙動を開発の初期段階で見極め、詳細な動作は後工程で実施をおこなう。設計者は開発上流段階でのブロック図構成レベルの情報でハードウェアを表記することができる。ESLなどで用いられるシミュレーションでハードウェアを表現する場合、SystemCおよびXML(Extensible Markup Language)スクリプトによるハードウェア記述が適用される。これにより、ハードウェアをプログラマブルに表現できるため、容易にシステム構成を変更した評価を行うことができる。また、これらのハードウェア表現は一般的なソフトウェアのプログラムと同様の表現がなされる。
以上の技術を利用し、RTL(Register Transfer Level)など実設計モデルを用いたシミュレーションで、実時間の数百万分の一の速度で実施されていたものが数千分の一ほどまで高速化することが可能である。
特開2001−22808号公報 特開2003−67438号公報
しかしながら、上述した従来技術では、トランザクションの詳細動作を割愛することや、インストラクションレベルのシミュレーションと並装することで概略的な動作傾向をみるESLにおいても、解析を行うシステムが大規模化するにあたってシミュレーション時間が指数的に増大していく現象が発生するケースがあるという問題があった。
また、ある程度以上の規模になった場合、RTLシミュレーションにおける実行時間制約や、実行環境リソースの制約と同じ問題が起こり、本来実施を行いたい上流設計レベルでの概略的な動作解析を行うことに適さないケースが発生してしまうという問題があった。
この発明は、上述した従来技術による問題点を解消するため、設計期間の短縮化を図ることができる設計支援プログラム、設計支援装置、および設計支援方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この設計支援プログラム、設計支援装置、および設計支援方法は、設計対象となるアーキテクチャからドメイン分割されたドメイン群の中から選ばれた選択ドメインについて評価ソフトウェアに関するESLシミュレーションを実行し、実行結果に基づいて、前記選択ドメインのトラフィックと同等のトラフィックを生成する単一のトラフィック生成器を生成し、前記選択ドメインを生成されたトラフィック生成器に置換することにより、前記アーキテクチャを再構築し、再構築されたアーキテクチャを出力することを要件とする。
この設計支援プログラム、設計支援装置、および設計支援方法によれば、設計期間の短縮化を図ることができるという効果を奏する。
以下に添付図面を参照して、この設計支援プログラム、設計支援装置、および設計支援方法の好適な実施の形態を詳細に説明する。
(本実施の形態の概要)
図1は、本実施の形態にかかる設計支援の概要を示す説明図である。設計対象のアーキテクチャ100をドメイン分割する。ドメイン分割はバス系統または/およびクロック系統でおこなう。つぎに、ドメイン分割されたドメイン101,102のうち任意のドメインを選択する。ここでは、ドメイン101が選択されたとする。ドメイン101についてESLシミュレーションを実行し、その実行結果から、ドメイン101のトラフィックと同等のドラフィックを生成するトラフィック生成器Gに置換する。
ドメイン101が複数のハードウェアブロックA,B,X,Y,Mの集合であるのに対し、トラフィック生成器Gは、単一のハードウェアブロックである。トラフィック生成器Gは、置換元であるドメイン101のトラフィックと同等なトラフィックを生成しており、トラフィック内のデータの種類や中身がどのような内容であるかは意識していない。
このあと、トラフィック生成器Gと置換されなかったドメイン102とを結合して置換後のアーキテクチャ110を得る。この置換後のアーキテクチャ110に対して、再度ESLシミュレーションを実行することで、評価結果120を得る。これにより、ESLシミュレーションの高速化を実現する。
(設計支援装置のハードウェア構成)
図2は、本実施の形態にかかる設計支援装置のハードウェア構成を示すブロック図である。図2において、設計支援装置は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ(Flexible Disk Drive)206と、光ディスク207と、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。
ここで、CPU201は、設計支援装置の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。
光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
インターフェース(以下、「I/F」と略する。)209は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク214に接続され、このネットワーク214を介して他の装置に接続される。そして、I/F209は、ネットワーク214と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ212は、画像を光学的に読み取り、設計支援装置内に画像データを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(設計支援装置の機能的構成)
図3は、本実施の形態にかかる設計支援装置の機能的構成を示すブロック図である。設計支援装置300は、取得部301と、分割部302と、実行部303と、実行制御部304と、生成部305と、再構築部306と、出力部307と、を含む構成である。この制御部となる機能(取得部301〜出力部307)は、具体的には、たとえば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶されたプログラムをCPU201に実行させることにより、または、I/F209により、その機能を実現する。
取得部301は、ハードウェアモデル情報やハードウェアモデル間の接続情報、評価ソフトウェアを取得する機能を有する。具体的には、たとえば、ハードウェアモデル情報や接続情報を記憶領域から読み出したり、外部から受信したりする。取得される情報は、SystemCや状態記述言語(XML)などにより記述されている。
図4は、ハードウェアモデル情報を示す説明図である。ハードウェアモデル情報400とは、アーキテクチャを構成するハードウェアモデルのソースコードの集合である。ここでは、例として、ペリフェラルX,Y,Zと、共有リソースM,Nのソースコードを示している。
図5は、設計対象となるアーキテクチャを示すブロック構成図である。図5では、図4に示したハードウェアモデル情報400を適用したアーキテクチャを示している。図5に示したアーキテクチャ500では、バスやクロックの接続情報が与えられていないため、単にペリフェラルX,Y,Zと共有リソースM,Nとバスとブリッジ(図中太矢印)とクロック供給ブロック(波形図を含むブロック)が含まれていることが表現されているだけである。
図6は、接続情報を示す説明図であり、図7は、接続情報が与えられたアーキテクチャを示すブロック構成図である。符号601はバスAの接続情報、符号602はバスCの接続情報、符号603はブリッジBの接続情報である。これらの接続情報601〜603をバス系統の接続情報600と称す。また、符号611〜614は、クロック供給ブロックP〜Sの接続情報である。これらの接続情報611〜614をクロック系統の接続情報610と称す。
なお、以降、クロック供給ブロックからのクロックの符号は、クロック供給ブロックの符号を用いる。たとえば、クロック供給ブロックPからは、クロックPが供給される。なお、ハードウェアモデルのソースコードのブロック化は、既存の構造分析により実現可能である。以降、ブロック化されたハードウェアモデルをハードウェアブロックと称す。
評価ソフトウェアとは、アーキテクチャに実行させるベンチマークプログラムである。評価ソフトウェアがソースコードではなく評価ソフトウェアの設計情報であった場合、想定される負荷を発生するような代替ソフトウェアを用いてもよい。本実施の形態で対象とする設計が上流工程であり、入力情報そのものにあいまい性を含むものであり、また、得られる結果も概略的な結果をもとめるあいまい性を許容している設計フェーズであるため、代替ソフトウェアを利用することについての問題性、あるいは誤差、精度については許容範囲とみなす。
分割部302は、取得部301によって取得された接続情報に基づいて、アーキテクチャ100をドメイン分割する機能を有する。具体的には、たとえば、接続情報から得られるハードウェアモデル間を接続するバスの共通性やハードウェアモデルに供給されるクロックの共通性に基づいて、アーキテクチャ100をドメイン分割する。
ここで、分割部302によるドメイン分割について詳細に説明する。図7に示したアーキテクチャ100の場合、接続状態はバスへの接続モデル記述ソースを解析することで分割の基準を得ることができる。この解析は、たとえば、XMLパーサへの組み込みやコンパイラの中のLint(ソースコード検査プログラム)等の技術を用いて実行することができる。
図8は、図7に示したアーキテクチャ100の接続解析結果を示す説明図である。図7のアーキテクチャ100では、接続解析結果800は、ペリフェラルX,Yと共有リソースMはバスAに接続されているため、バスAのグループに属する。ペリフェラルZと共有リソースNはバスCに接続されているため、バスCのグループに属する。
一方、クロック供給ブロックPはバスグループAのペリフェラルXにクロックPを供給する。クロック供給ブロックQはバスグループAの共有リソースMにクロックQを供給する。クロック供給ブロックRは、バスグループAのペリフェラルYとバスグループCのペリフェラルZにクロックRを供給する。クロック供給ブロックSは、バスグループCの共有リソースNにクロックRを供給する。
これにより、ペリフェラルXと共有リソースMはともにバスAに接続されているため、ドメインDaに分類される。ペリフェラルY,ZはそれぞれバスA,Cに接続されているが、同一クロックRの供給を受けている。したがって、図7のアーキテクチャのハードウェア構成については、バスおよびクロックの共通性では分類不可能となる。このようなケースでは、評価ソフトウェアに関するインストラクションレベルのESLシミュレーションをおこない、その実行結果を用いて再度分類する。
図9は、評価ソフトウェアのソースコード群を示す説明図である。ソースコード群900において、評価ソフトウェア901とは、アーキテクチャ100が実行するベンチマークプログラムである。ソースコード902〜904は、評価ソフトウェア901内のハードウェアの動作や接続先を示している。「Driver X」,「Driver Y」および「Driver Z」は、それぞれペリフェラルX〜Zに相当する。たとえば、ソースコード902では、Driver X(ペリフェラルX)が共有リソースM,Nにアクセスすることが記述されている。
実行部303は、評価ソフトウェア901に関するESLシミュレーションを実行する機能を有する。実行部303は、後述する実行制御部304により指定された方法で、評価ソフトウェア901に関するESLシミュレーションを実行する。
実行制御部304は、実行部303を制御して、分割されたドメイン群の中から選ばれた選択ドメインについて評価ソフトウェア901に関するESLシミュレーションを実行する機能を有する。具体的には、たとえば、アーキテクチャ100について評価ソフトウェア901に関するインストラクションレベルのESLシミュレーションを実行する。
ここで、インストラクションレベルのESLシミュレーションについて説明する。インストラクションレベルのESLシミュレーションは通常、評価ソフトウェア901のトレース実行によるデバッグに用いるシミュレーションで、通常、アーキテクチャ100の評価には用いられないが、本実施の形態では、アーキテクチャ100が生成するトラフィック負荷のみを利用する。インストラクションレベルのESLシミュレーションを実行することによって、ハードウェアモデルからハードウェアモデルへのデータトラフィック量が明らかになる。
この実行結果では、バスA,Cや共有リソースM,Nなど、複数のアクセスタイミングにより発生する衝突現象は得られない。なお、このインストラクションレベルのESLシミュレーションは、バックドアモデルによるESLシミュレーションであり、最低限1個のクロックを用いて実行する。
図10は、アーキテクチャにおける評価ソフトウェア901のESLシミュレーションを示す説明図である。図10中、バス上の矢印はハードウェアブロック間のデータ依存関係を示している。このESLシミュレーションは、クロック1系統のシミュレーションである。すなわち、クロックP〜Sは考慮されていないバックドアモデルによるESLシミュレーションである(したがって、図10において、クロックP〜Sの符号は付していない。)。
図11および図12は、図10に示したインストラクションレベルのESLシミュレーションの実行結果を示す説明図である。この実行結果により図8において分類が不確定に終わったペリフェラルY,Zの分類をおこなう。
図11に示した実行結果1100では、ペリフェラルYは共有リソースMにアクセスデータ量として100[MB]分のデータを保存しており、共有リソースNに10[MB]分のデータを保存している。したがって、共有リソースMへのデータ依存比率の方が高いため、ペリフェラルYはバスAのグループに分類される。同様に、ペリフェラルZは共有リソースMにアクセスデータ量として0[MB]分のデータを保存しており、共有リソースNに100[MB]分のデータを保存している。したがって、共有リソースNへのデータ依存比率の方が高いため、ペリフェラルZはバスCのグループに分類される。
図12に示した実行結果1200では、ペリフェラルYは共有リソースMにアクセスデータ量として10[MB]分のデータを保存しており、共有リソースNに100[MB]分のデータを保存している。したがって、共有リソースNへのデータ依存比率の方が高いため、ペリフェラルYはバスCのグループに分類される。同様に、ペリフェラルZは共有リソースMにアクセスデータ量として0[MB]分のデータを保存しており、共有リソースNに100[MB]分のデータを保存している。したがって、共有リソースNへのデータ依存比率の方が高いため、ペリフェラルZもバスCのグループに分類される。
このように、ハードウェア構成では分類不可能であった場合、評価ソフトウェア901の実行結果、特にデータ依存比率の高さにより分類する。このデータ依存比率の高さに応じて分類することにより、ESLシミュレーションを実行する際に、ブロック間を跨るデータアクセスの低減化を図ることができ、評価精度の低下を回避することができる。
また、ブロック間を跨ぐデータアクセスデータを小さくすることで、次のフェーズでドメインをトラフィック生成器Gで置き換えた場合に、トラフィックを模擬化したときの誤差を必要最小限に抑制することができる。
図13および図14は、アーキテクチャ100のドメイン分割結果を示すブロック構成図である。図13のドメイン分割結果は、図8および図11により確定された分類に基づく分割である。ドメインDa1は、バスAにのみ接続されるペリフェラルX,Yおよび共有リソースM、クロック供給ブロックP〜Rを有する。ドメインDc1は、バスCにのみ接続されるペリフェラルZおよび共有リソースN、クロック供給ブロックR,Sを有する。
図14のドメイン分割結果は、図8および図12により確定された分類に基づく分割である。ドメインDa2は、バスAにのみ接続されるペリフェラルXおよび共有リソースM、クロック供給ブロックP,Qを有する。ドメインDc2は、バスA,Cに接続されるペリフェラルY,Zおよび共有リソースN、クロック供給ブロックP,R,Sを有する。
なお、実行制御部304では、分割されたドメイン群の中から選ばれた選択ドメインについて、トランザクションレベルのESLシミュレーションを実行する。この実行結果により、トラフィック生成器Gが生成されることとなる。
図3に戻って、生成部305は、実行制御部304によって実行された実行結果に基づいて、選択ドメインのトラフィックと同等のトラフィックを生成する単一のトラフィック生成器Gを生成する機能を有する。トラフィック生成器Gは、対応するドメインに置き換わる単一のハードウェアブロックである。したがって、ドメインを簡略化しているため、ハードウェアブロック数によって増大するESLシミュレーション時間を短縮することができる。
トラフィック生成器Gは、与えられたパラメタにより、無作為なデータを作成し、アーキテクチャにトラフィックの負荷を与えるシミュレーション用のハードウェアブロックである。また、データ入力を行うアドレス空間、データ出力を行うアドレス空間を指定できる。
さらに、置換元のドメインのデータパターンのトラフィック負荷を生成する。具体的には、接続されるバスと同周期のクロックが与えられ、そのクロックに沿って、あらかじめ内部に保存しておいたシナリオデータと呼ばれるトラフィックパターンをもとに、起動時から周期的に負荷をあたえることができる。また、トラフィック生成器Gにはシナリオデータを生成するプログラマブルな領域が用意してあり、ドメインと置換する際に、ハードウェアブロックとともに、シナリオ生成プログラムが入力される仕組みをもつ。以下、トラフィック生成器Gについて詳細に説明する。
図15は、トラフィック生成器Gを示す説明図である。トラフィック生成器Gは4つのインターフェースをもつ。スレーブ端子1501は、代替するハードウェアブロックを模擬するためのコマンド1500を入力するためのインターフェースである。マスター端子1502は、入力されたコマンド1500を処理し、所望のトラフィックを生成するためのインターフェースである。クロック端子1503は、動作のための基本周期を取り込むインターフェースである。割込端子1504は、動作状況を報告するインターフェースである。
コマンド1500はシナリオデータに与えるパラメタの列であり、アクセスパターンap、インターバルint、周期f、データ長l、アクセス空間addr、反復回数rptを要素として構成される。
コマンド1500はレジスタイメージ1511として外部から参照できる。表現を行おうとする代替トラフィックは複数のコマンド列で表現されるため、これらを連続して入力可能なようにコマンドバッファ1512に蓄える仕組みをもつ。コマンドバッファ1512に蓄えられたコマンド列は順次読み出され、あらかじめ準備されたシナリオデータ1513に基づき、クロック端子1503から入力されたクロックCLKに従って、マスター端子1502から出力されることになる。
すなわち、コマンド1500で指定されたアクセス空間addrに対して反復回数rpt回のアクセスパターンapの形式で出力される。総アクセス量に対する単位アクセス量は、バスのパケットサイズに相当する。
図16は、シナリオデータを示す説明図である。図16において、シナリオデータは、アクセスパターンAP、インターバルINT、周期F、データ長L、アクセス空間ADDR、反復回数RPTのパラメタをもたない仮想的なロジックで構成される。これらをパラメタとして選択する理由は、次のような理由によるものである。
アクセスパターンを示す水平(H)方向、垂直(V)方向、ランダム(R)では、アクセスの連続性を示したものである。多くのハードウェアデバイス、とくにメモリ装置では、連続したアドレス(水平方向に対して連続)であるか、周期的にとびとびの空間にアクセス(垂直方向に対して連続)するか、ランダムかによってパフォーマンスが異なることが知られている。これは、実際の回路接続において、連続空間へのアクセス、あるいは空間に対して周期性のあるアクセスであれば、バッファやキャッシュ機構により、ランダムにアクセスすることによりページング切り替えに伴うレイテンシが発生せず、より高速にアクセスできるためである。
ただし、トラフィック生成器Gからはアクセス先のデバイスの特性は不明であるため、元々発生していたトラフィックがどのようなアクセスパターンをもっていたかの特徴のみを抽出する。実際のパフォーマンスの変化については、接続先のデバイスの特性を引き出すことにより解決することになる。
インターバルINT、周期F、データ長L、アクセス空間ADDR、反復回数RPTについては、実際のトラフィックに対する時間的空間的な属性を示した一般的な表現である。本実施の形態のESLシミュレーションで利用されるハードウェアはSystemCなどの記述言語で表現される。これはソフトウェアの関数と同じ構成であり、実際に動作を行う場合には、ESLシミュレーションを発生させる関数がコールされる仕組みになっている。
トラフィック生成器Gの内部で、コマンドバッファ1512からアクセスパターンが読み出された場合、シナリオデータとして定義されている関数から、図16に示すアクセスパターンに相当する関数にリンクする。この時点ではパターンのみを生成する仮想回路が接続されているだけである。続いてコマンドバッファ1512から読み出されたインターバルint、周期f、反復回数rpt、アクセス空間addrを読み取り、このパラメタをリンクした関数への引数として渡すことで、指定されたアドレス空間ADDRに対して、アクセスデータのインターバルINT、周期F、反復回数RPTのトラフィックが生成可能になる。
図17は、実際のデータパターンからトラフィック生成器Gに置換する場合のアクセスパターン、周期、反復回数、アクセス空間を生成する方式の説明図である。実際のアクセスデータを1回のESLシミュレーションで得た場合、シミュレータはクロックに応じた詳細なアクセスログを生成する。本実施の形態で対象としている検証評価では、クロック単位での詳細データではなく、複数のハードウェアブロックの相互干渉において、大概的にどのようなパフォーマンスを示すかを検証する目的があるため、クロック単位での詳細なパターンを追従する必要がない。
図13に示したドメインDa1を単一のトラフィック生成器Gに置き換える場合、まず、周期パターンを探索する。厳密な周期パターン探索では、測定区間のすべての特性を読み出す手法が利用されるが、本実施の形態でのフェーズでは、誤差を許容しながらも概略的な傾向をみるためのシミュレーションであるため、厳密な周期パターンを抽出する必要がない。そこで、ドメインDa1に対する1回目のESLシミュレーションで得られたアクセス波形1700をNサイクル周期で分割する。nは定数で、経験的に定められた初期値は1000とし、シミュレーション環境により値を変更可能とする。
これは、置換を行おうとしているドメインDa1内の各ハードウェアブロックが発生するアクセスパターンの解析に重要であり、たとえば、(A)において、パターンの波形が視覚的に周期性を持つ場合、これは既存の数学的アルゴリズムにより周期を求めることができるが、視覚的に周期性を持たない場合、周期を求めることが困難になる。一方で、周期性を見出すことは本問題を解決する主旨ではないため、あえて初期値として、たとえば、n=1000を設定することで、その間隔でアクセスパターンを簡略化する。
このように、周期nの初期値を定数(n=1000)とするのは、視覚的にも周期パターンを見出せない場合のモデル数値化のための手法である。周期パターンがあるか否かは、既存の数学的手法を行い、適当な収束値が得られなかったケースで判断を行う。そして、nサイクルで分割した場合の1つのパターンを平均化する。区間平均化するときの1つのアクセス単位は、接続先の転送パケット単位となる。たとえば、32ビットアクセスを行うものであれば、4バイト単位、64ビットアクセスであれば8バイト単位となる。
たとえば、図17の(A)において、全アクセスが1600ビット(200バイト)であり、接続先が32ビット(4バイト)単位であったとすると、(B)において、トラフィック生成器Gで得られる模擬波形1800は、全アクセス量を平均化したものである。区間である周期nは1000サイクルであるため、4バイトのアクセスを20サイクルの周期で50回送ることになるため、1サイクルで4バイトを転送し、19サイクルのインターバルをもつことになる。このときのトラフィックは、(C)に示したように、データ長L=4、インターバルINT=19、周期F=20、反復回数RPT=50となる。
このようにして、すべての区間のパターンについて模擬波形を生成し、これらの値をコマンド1500としてトラフィック生成器Gに順次与えることで、置換されたトラフィック生成器Gが、元々存在していたドメインDa1のデータアクセス負荷(トラフィック)を表現することができる。
以下、具体的なトラフィック生成器Gの操作事例を示す。実行制御部304によるドメインDa1についての1回目のESLシミュレーションにより、ドメインDa1からの出力波形を測定する。図17のアクセス波形1700がブリッジBにおける測定波形となる。図17では、ランダムな波形ではなく、周期的なパターンを示しているため、上述した既存の数学的アルゴリズムにより周期を求めることができる。
図17で得られるアクセス波形の黒い部分は実際にデータが通過した点の集合である。具体的なデータ内容については関係なく、データが通過すること、すなわち置換を行おうとするハードウェアブロックから発生するアクセス負荷により、他のハードウェアブロックのアクセスが影響を受けることになる。
実際には3種類のクロックP〜Rが導入され、調停(アービトレーション)の結果発生するデータアクセス負荷である。しかし、アクセス波形1700だけで見れば、単なる一つの負荷の帯であり、この帯を模式化してしまうことでアクセス負荷を簡素化することができる。
なお、トラフィック生成器Gは以下のようなレジスタをもつものとする。レジスタは以下の構成である必要はなく、実装環境に応じて形態を変更することも可能である。
CTL:コントロールレジスタ
トラフィック生成器Gに制御コマンド1500を設定する。
0x00:制御停止
0x01:実行開始
0x02:コマンド1500の入力モード
DPR:データパターンレジスタ
1つの負荷パターンがどのようなアクセスをするか指定する。
0x00:指定されたSTAR/SBAR/DTAR/DBARに対して連続
0x01:指定されたSTAR/SBAR/DATR/DBARに対して断続
0x02:指定されたSTAR/SBAR/DATR/DBARに対してランダム
断続データの場合、断続データの間隔を上位ビットに指定する。
下位ビットが0x01以外の場合、上位ビットは無視される。
TWR:トラフィック・ワイズ・レジスタ
1つの負荷パターンに対するアクセス量を実数で指定する。
ITR:インターバルタイムレジスタ
1つの負荷パターン同士の感覚を実数で指定する。
RTR:リピートタイムレジスタ
1つのパターンを何回リピートするかを指定する。
STAR:ソーストップアドレスレジスタ(置換元のアドレス空間の先頭アドレス)
SBAR:ソースボトムアドレスレジスタ(置換元のアドレス空間の最終アドレス)
DTAR:デスティネーショントップアドレスレジスタ(置換先以外のアドレス空間の先頭アドレス)
DBAR:デスティネーションボトムアドレスレジスタ(置換先以外のアドレス空間の最終アドレス)
BUF:コマンドバッファ1512(上記パターンを記述するためのバッファ。)
レジスタに書き込むことにより、順にスタックされる。実行時にはFIFO(First−In First−Out)読み出しされる。
実験環境のトラフィック生成器Gは以下のような仕様で動作する。
1.コントロールレジスタCTLにコマンド1500の入力モードに変更する。
2.コマンドバッファBUFに各レジスタに与える値を順に記述する。
3.コントロールレジスタCTLを実行モードにする。
トラフィック生成器Gにはシナリオを生成するプログラマブルな領域が用意してあり、実際のハードウェアブロックと置換する際に、ハードウェアブロックとともに、シナリオ生成プログラムが入力される仕組みをもつ。上記1〜3のような仕様のトラフィック生成器Gへのプログラムの記述を容易に表現するために、アセンブラ風の記述をする。「Set XXX,YYY」と記述した場合、「XXX」に「YYY」を設定することを意味する。また「#」はコメント行とする。
Set CTL, 00 # 停止
Set CTL, 02 # コマンド1500の入力モード
Set Buf, 00 # 連続アクセスするパターンを生成する。
Set Buf, 04 # データ長L=4のアクセス。実行時にトラフィック・ワイズ・レジスタTWRに代入される。
# 自動インクリメント
Set Buf, 19 # インターバル時間19。実行時にインターバルタイムレジスタITRに代入される。
# 自動インクリメント
Set Buf, 255 # 繰り返し回数255回。実行時にリピートタイムレジスタRTRに代入される。
Set Buf, 0xff00 # ペリフェラルX,Yのアドレス空間。実行時にソーストップアドレスレジスタSTARに代入される
# 自動インクリメント
Set Buf, 0xffff # ペリフェラルX,Yのアドレス空間。実行時にソースボトムアドレスレジスタSBARに代入される。
# 自動インクリメント
Set Buf, 0x0000 # ペリフェラルX,Y以外のアドレス空間。実行時にデスティネーショントップアドレスレジスタDTARに代入される。
# 自動インクリメント
Set Buf, 0x00ff # ペリフェラルX,Y以外のアドレス空間。実行時にデスティネーションボトムアドレスレジスタDBARに代入される。
# 自動インクリメント
Set CTL, 01 # 実行開始
実行開始することによって、Bufにスタックされた命令を順に読み出し、各レジスタに値を読み込んで実際のトラフィックを生成することになる。以上1つのパターンを再現する例であるが、ランダムアクセスを周期化したときのように、1つのパターンの周期は1回ずつで、毎回アクセス幅やインターバルが異なるケースでは、「Set Buf」に相当するセンテンスを必要な回数分繰り返せばよい。
図18は、ドメインDa1についてのシミュレーション波形を示す説明図である。このシミュレーション波形は、ブリッジBにおいて測定される。図19はドメインDa1についてのシミュレーション波形とトラフィック生成器Gからのトラフィック波形との比較を示す説明図である。
(A1)が実際の全体トラフィックの波形、(A2)が測定を行いたい置換されたハードウェアブロック以外のアクセスを示す波形、(A3)が実際のアクセスを示す波形である。また、(B1)はトラフィック生成器Gにより影響を受けた全体トラフィックの波形、(B2)が測定を行いたい置換されたブロック以外のアクセスを示す波形、(B3)がトラフィック生成器Gの生成した負荷を示す波形である。
このように、測定を行いたい影響を受けるアクセスが、実際のペリフェラルX,Yによる負荷での影響と同様の影響をトラフィック生成器Gにより影響をうけていることが観測できる。結果として、3つの処理系統を1つに集約、簡略化することにより、よりESLシミュレーション時間を短縮することが可能になる。
図3に戻って、再構築部306は、選択ドメインをトラフィック生成器Gに置換することにより、アーキテクチャを再構築する機能を有する。具体的には、たとえば、各選択ドメインに固有のトラフィック生成器Gと非選択ドメインとを結合することで、アーキテクチャを再構築する。
図20は、アーキテクチャの再構築を示す説明図である。再構築前のアーキテクチャのドメインDa1(図13)をトラフィック生成器Ga1に置換することで、再構築後のアーキテクチャ110が得られる。また、実行制御部304は、再構築後のアーキテクチャ110についてトランザクションレベルのESLシミュレーションを実行することで、図1に示した評価結果120を得る。
図3に戻って、出力部307は、再構築後のアーキテクチャ110や評価結果120を出力する機能を有する。出力形式は、ディスプレイへの表示や外部への送信、記憶領域への書き込みがある。
(ESLシミュレーション時間の比較)
図21は、ESLシミュレーション時間の比較を示すグラフである。横軸はシミュレーションモデル、縦軸は実行時間(対数)である。バックドアモデルでは、評価ソフトウェア901を実行させるのに必要な最低限1系統のクロックを用いてESLシミュレーションを行った結果である。グラフの右にいくに従ってクロック系統が追加され、この増加にともなって実行時間が指数的に増加していく。
すなわち、複数のクロック依存のハードウェアブロックがある場合、クロック系統が複数あると、シミュレーション内部の時間も時系列に沿った結果をもつこととなり、そのクロック系統が異なれば、シミュレーション内部での同期を取るために処理量が増大することとなる。
図20の再構築においては、再構築前では、4つのクロック系統(P〜S)および8種類のハードウェアブロック(X,Y,Z,M,N,A,B,C)のESLシミュレーションを実行することになる。図21の実際のトランザクションレベルのESLシミュレーション時間をもとに換算すると、10の3.5乗のオーダーで実行時間がかかることになる。
図20の再構築後では、ドメインDa1についてのインストラクションレベルのシミュレーション1回と3系統クロック(P,R,S)および5つのハードウェアブロック(G,Z,N,B,C)についてのトランザクションレベルのシミュレーション1回を実行することになる。図21のESLシミュレーション時間をもとに換算すると、10の3乗のオーダーの実行時間ですむことになる。
なお、本実施の形態では、評価ソフトウェア901の実行においてデータトラフィックのパターンを算出するため、図21におけるバックドア相当の実行を1回だけ実施することになるが、この実行に要する時間はたかだか10の1乗のオーダーである。したがって、本実施の形態では、ESLシミュレーション時間の大幅な短縮が可能となる。
(設計支援処理手順)
図22は、本実施の形態にかかる設計支援装置による設計支援処理手順を示すフローチャートである。図22において、情報取得処理(ステップS2201)、ドメイン分割処理(ステップS2202)、トラフィック生成器G生成処理(ステップS2203)、アーキテクチャ再構築処理(ステップS2204)の順に実行する。
なお、情報取得処理(ステップS2201)では、図4に示したハードウェアモデル情報、図6に示した接続情報、図9に示した評価ソフトウェア901を取得する。このあと、再構築アーキテクチャについてサイクルモデルのESLシミュレーションを実行する(ステップS2205)。そして、実行結果を出力する(ステップS2206)。これにより、一連の設計支援処理を終了する。
図23は、ドメイン分割処理(ステップS2202)の詳細な処理手順を示すフローチャートである。まず、ハードウェア接続解析結果があるか否かを判断する(ステップS2301)。一方、ない場合(ステップS2301:No)、構造分析をおこなう(ステップS2302)。そして、ハードェアブロック間依存解析をおこなって(ステップS2303)、ステップS2301に戻る。
ステップS2301において、ハードウェア接続解析結果がある場合(ステップS2301:Yes)、ESL実行結果があるか否かを判断する(ステップS2304)。ない場合(ステップS2304:No)、バックドアモデルによるESLシミュレーションを実行して(ステップS2305)、ステップS2301に戻る。ESL実行結果がある場合(ステップS2304:Yes)、ドメイン分割を実行する(ステップS2306)。そして、トラフィック生成器生成処理(ステップS2203)に移行する。
図24は、トラフィック生成器生成処理(ステップS2203)の詳細な処理手順を示すフローチャートである。まず、評価対象ドメインを分割されたドメイン群の中から抽出する(ステップS2401)。抽出されるドメインは、設計者が指定したドメインでもよく、すべてのドメインでもよい。
そして、未処理の評価対象ドメインがあるか否かを判断する(ステップS2402)。未処理の評価対象ドメインがある場合(ステップS2402:Yes)、未処理の評価対象ドメインを1つ選択し(ステップS2403)、サイクルモデルによるESLシミュレーションを実行する(ステップS2404)。すなわち、トランザクションレベルのESLシミュレーションを実行する。
そして、その実行結果に基づいて評価対象ドメインのトラフィックと同等のトラフィック生成器Gを生成して(ステップS2405)、ステップS2402に戻る。ステップS2402において、未処理の評価対象ドメインがない場合(ステップS2402:No)、アーキテクチャ再構築処理(ステップS2204)に移行する。
図25は、アーキテクチャ再構築処理(ステップS2204)の詳細な処理手順を示すフローチャートである。まず、非評価対象ドメインを抽出する(ステップS2501)。図13の例では、ドメインDc1を抽出する。そして、評価対象ドメイン固有のトラフィック生成器Gと非評価対象ドメインとを結合する(ステップS2502)。図20に示したように、ドメインDa1固有のトラフィック生成器Ga1とドメインDc1とを結合することで、再構築後のアーキテクチャを得る。
このように、本実施の形態によれば、設計対象となるアーキテクチャから分割されたドメインの一部または全部をそのドメインのトラフィックと同等のトラフィックを生成するトラフィック生成器Gに置換することで、アーキテクチャを簡略化することができる。これにより、簡略化されたアーキテクチャについてトランザクションレベルのESLシミュレーションを実行することで、上流設計におけるESLシミュレーション速度の高速化を図ることができる。したがって、設計期間の短縮化を図ることができる。
なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な媒体であってもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータを、
評価ソフトウェアに関するESLシミュレーションを実行する実行手段、
前記実行手段を制御して、設計対象となるアーキテクチャからドメイン分割されたドメイン群の中から選ばれた選択ドメインについて前記評価ソフトウェアに関するESLシミュレーションを実行する実行制御手段、
前記実行制御手段によって実行された実行結果に基づいて、前記選択ドメインのトラフィックと同等のトラフィックを生成する単一のトラフィック生成器を生成する生成手段、
前記選択ドメインを前記生成手段によって生成されたトラフィック生成器に置換することにより、前記アーキテクチャを再構築する再構築手段、
前記再構築手段によって再構築されたアーキテクチャを出力する出力手段、
として機能させることを特徴とする設計支援プログラム。
(付記2)前記コンピュータを、
前記アーキテクチャを構成するハードウェアモデル間の接続情報を取得する取得手段、
前記取得手段によって取得された接続情報に基づいて、前記アーキテクチャをドメイン分割する分割手段として機能させ、
前記実行制御手段は、
前記実行手段を制御して、前記分割手段によって分割されたドメイン群の中から選ばれた選択ドメインについて前記評価ソフトウェアに関するESLシミュレーションを実行することを特徴とする付記1に記載の設計支援プログラム。
(付記3)前記分割手段は、
前記接続情報から得られる前記ハードウェアモデル間を接続するバスの共通性に基づいて、前記アーキテクチャをドメイン分割することを特徴とする付記2に記載の設計支援プログラム。
(付記4)前記分割手段は、
前記接続情報から得られる前記ハードウェアモデルに供給されるクロックの共通性に基づいて、前記アーキテクチャをドメイン分割することを特徴とする付記2または3に記載の設計支援プログラム。
(付記5)前記実行制御手段は、
前記実行手段を制御して、前記アーキテクチャについて前記評価ソフトウェアに関するインストラクションレベルのESLシミュレーションを実行し、
前記分割手段は、
前記アーキテクチャについて前記評価ソフトウェアに関するインストラクションレベルのESLシミュレーションにより得られる前記ハードウェアモデル間のデータ依存量に基づいて、前記アーキテクチャをドメイン分割することを特徴とする付記2〜4のいずれか一つに記載の設計支援プログラム。
(付記6)前記実行制御手段は、
前記分割手段により、前記いずれのドメインにも分類できない不確定ハードウェアモデルがある場合、前記実行手段を制御して、前記アーキテクチャについて前記評価ソフトウェアに関するインストラクションレベルのESLシミュレーションを実行し、
前記分割手段は、
前記アーキテクチャについて前記評価ソフトウェアに関するインストラクションレベルのESLシミュレーションにより得られる前記ハードウェアモデル間のデータ依存量に基づいて、前記アーキテクチャをドメイン分割することを特徴とする付記2〜4のいずれか一つに記載の設計支援プログラム。
(付記7)前記実行制御手段は、
前記実行手段を制御して、前記再構築されたアーキテクチャについて前記評価ソフトウェアに関するESLシミュレーションを実行し、
前記出力手段は、
前記再構築されたアーキテクチャについて実行された前記評価ソフトウェアに関するESLシミュレーションの実行結果を出力することを特徴とする付記1〜6のいずれか一つに記載の設計支援プログラム。
(付記8)評価ソフトウェアに関するESLシミュレーションを実行する実行手段と、
前記実行手段を制御して、設計対象となるアーキテクチャからドメイン分割されたドメイン群の中から選ばれた選択ドメインについて前記評価ソフトウェアに関するESLシミュレーションを実行する実行制御手段と、
前記実行制御手段によって実行された実行結果に基づいて、前記選択ドメインのトラフィックと同等のトラフィックを生成する単一のトラフィック生成器を生成する生成手段と、
前記選択ドメインを前記生成手段によって生成されたトラフィック生成器に置換することにより、前記アーキテクチャを再構築する再構築手段と、
前記再構築手段によって再構築されたアーキテクチャを出力する出力手段と、
を備えることを特徴とする設計支援装置。
(付記9)コンピュータが、
設計対象となるアーキテクチャからドメイン分割されたドメイン群の中から選ばれた選択ドメインについて評価ソフトウェアに関するESLシミュレーションを実行する実行工程、
前記実行工程によって実行された実行結果に基づいて、前記選択ドメインのトラフィックと同等のトラフィックを生成する単一のトラフィック生成器を生成する生成工程、
前記選択ドメインを前記生成工程によって生成されたトラフィック生成器に置換することにより、前記アーキテクチャを再構築する再構築工程、
前記再構築工程によって再構築されたアーキテクチャを出力する出力工程、
を実行することを特徴とする設計支援方法。
本実施の形態にかかる設計支援の概要を示す説明図である。 本実施の形態にかかる設計支援装置のハードウェア構成を示すブロック図である。 本実施の形態にかかる設計支援装置の機能的構成を示すブロック図である。 ハードウェアモデル情報を示す説明図である。 設計対象となるアーキテクチャを示すブロック構成図である。 接続情報を示す説明図である。 接続情報が与えられたアーキテクチャを示すブロック構成図である。 図7に示したアーキテクチャの接続解析結果を示す説明図である。 評価ソフトウェアのソースコード群を示す説明図である。 アーキテクチャにおける評価ソフトウェアのESLシミュレーションを示す説明図である。 図10に示したインストラクションレベルのESLシミュレーションの実行結果(その1)を示す説明図である。 図10に示したインストラクションレベルのESLシミュレーションの実行結果(その2)を示す説明図である。 アーキテクチャのドメイン分割結果(その1)を示すブロック構成図である。 アーキテクチャのドメイン分割結果(その2)を示すブロック構成図である。 トラフィック生成器を示す説明図である。 シナリオデータを示す説明図である。 実際のデータパターンからトラフィック生成器に置換する場合のアクセスパターン、周期、反復回数、アクセス空間を生成する方式の説明図である。 ドメインDa1についてのシミュレーション波形を示す説明図である。 ドメインDa1についてのシミュレーション波形とトラフィック生成器からのトラフィック波形との比較を示す説明図である。 アーキテクチャの再構築を示す説明図である。 ESLシミュレーション時間の比較を示すグラフである。 本実施の形態にかかる設計支援装置による設計支援処理手順を示すフローチャートである。 ドメイン分割処理(ステップS2202)の詳細な処理手順を示すフローチャートである。 トラフィック生成器生成処理(ステップS2403)の詳細な処理手順を示すフローチャートである。 アーキテクチャ再構築処理(ステップS2204)の詳細な処理手順を示すフローチャートである。
符号の説明
300 設計支援装置
301 取得部
302 分割部
303 実行部
304 実行制御部
305 生成部
306 再構築部
307 出力部

Claims (5)

  1. コンピュータを、
    評価ソフトウェアに関するESLシミュレーションを実行する実行手段、
    前記実行手段を制御して、設計対象となるアーキテクチャからドメイン分割されたドメイン群の中から選ばれた選択ドメインについて前記評価ソフトウェアに関するESLシミュレーションを実行する実行制御手段、
    前記実行制御手段によって実行された実行結果に基づいて、前記選択ドメインのトラフィックと同等のトラフィックを生成する単一のトラフィック生成器を生成する生成手段、
    前記選択ドメインを前記生成手段によって生成されたトラフィック生成器に置換することにより、前記アーキテクチャを再構築する再構築手段、
    前記再構築手段によって再構築されたアーキテクチャを出力する出力手段、
    として機能させることを特徴とする設計支援プログラム。
  2. 前記コンピュータを、
    前記アーキテクチャを構成するハードウェアモデル間の接続情報を取得する取得手段、
    前記取得手段によって取得された接続情報に基づいて、前記アーキテクチャをドメイン分割する分割手段として機能させ、
    前記実行制御手段は、
    前記実行手段を制御して、前記分割手段によって分割されたドメイン群の中から選ばれた選択ドメインについて前記評価ソフトウェアに関するESLシミュレーションを実行することを特徴とする請求項1に記載の設計支援プログラム。
  3. 前記実行制御手段は、
    前記実行手段を制御して、前記アーキテクチャについて前記評価ソフトウェアに関するインストラクションレベルのESLシミュレーションを実行し、
    前記分割手段は、
    前記アーキテクチャについて前記評価ソフトウェアに関するインストラクションレベルのESLシミュレーションにより得られる前記ハードウェアモデル間のデータ依存量に基づいて、前記アーキテクチャをドメイン分割することを特徴とする請求項2に記載の設計支援プログラム。
  4. 評価ソフトウェアに関するESLシミュレーションを実行する実行手段と、
    前記実行手段を制御して、設計対象となるアーキテクチャからドメイン分割されたドメイン群の中から選ばれた選択ドメインについて前記評価ソフトウェアに関するESLシミュレーションを実行する実行制御手段と、
    前記実行制御手段によって実行された実行結果に基づいて、前記選択ドメインのトラフィックと同等のトラフィックを生成する単一のトラフィック生成器を生成する生成手段と、
    前記選択ドメインを前記生成手段によって生成されたトラフィック生成器に置換することにより、前記アーキテクチャを再構築する再構築手段と、
    前記再構築手段によって再構築されたアーキテクチャを出力する出力手段と、
    を備えることを特徴とする設計支援装置。
  5. コンピュータが、
    設計対象となるアーキテクチャからドメイン分割されたドメイン群の中から選ばれた選択ドメインについて評価ソフトウェアに関するESLシミュレーションを実行する実行工程、
    前記実行工程によって実行された実行結果に基づいて、前記選択ドメインのトラフィックと同等のトラフィックを生成する単一のトラフィック生成器を生成する生成工程、
    前記選択ドメインを前記生成工程によって生成されたトラフィック生成器に置換することにより、前記アーキテクチャを再構築する再構築工程、
    前記再構築工程によって再構築されたアーキテクチャを出力する出力工程、
    を実行することを特徴とする設計支援方法。
JP2008200605A 2008-08-04 2008-08-04 設計支援プログラム、設計支援装置、および設計支援方法 Expired - Fee Related JP5071297B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008200605A JP5071297B2 (ja) 2008-08-04 2008-08-04 設計支援プログラム、設計支援装置、および設計支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008200605A JP5071297B2 (ja) 2008-08-04 2008-08-04 設計支援プログラム、設計支援装置、および設計支援方法

Publications (2)

Publication Number Publication Date
JP2010039678A JP2010039678A (ja) 2010-02-18
JP5071297B2 true JP5071297B2 (ja) 2012-11-14

Family

ID=42012176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008200605A Expired - Fee Related JP5071297B2 (ja) 2008-08-04 2008-08-04 設計支援プログラム、設計支援装置、および設計支援方法

Country Status (1)

Country Link
JP (1) JP5071297B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2011114478A1 (ja) * 2010-03-17 2013-06-27 富士通株式会社 生成方法、スケジューリング方法、生成プログラム、スケジューリングプログラム、生成装置、および情報処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129653A (ja) * 1993-11-08 1995-05-19 Mitsubishi Electric Corp シミュレーションによるシステム設計支援方式
JPH09269954A (ja) * 1996-04-01 1997-10-14 Hitachi Ltd 論理シミュレーションモデルの作成方法
JP2003132108A (ja) * 2001-10-29 2003-05-09 Matsushita Electric Ind Co Ltd システム設計のシミュレーション方法及びその装置

Also Published As

Publication number Publication date
JP2010039678A (ja) 2010-02-18

Similar Documents

Publication Publication Date Title
US7558719B1 (en) System and method for runtime analysis of system models for variable fidelity performance analysis
US7934179B2 (en) Systems and methods for logic verification
US8701084B1 (en) Preview of auto-fix changes to software code
US20070005321A1 (en) Building integrated circuits using logical units
WO2009043920A1 (en) A system level power evaluation method
JP4393450B2 (ja) 論理回路モデル変換装置及び論理回路モデル変換プログラム
Große et al. Quality-driven SystemC design
Behal et al. An automated setup for large-scale simulation-based fault-injection experiments on asynchronous digital circuits
JP2009140388A (ja) 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置
US8886512B2 (en) Simulation apparatus, computer-readable recording medium, and method
JP5071297B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法
Zamora et al. System-level performance/power analysis for platform-based design of multimedia applications
US11430496B2 (en) Phase-aware DDR command dynamic scheduling
JP5001126B2 (ja) ハードウェア検証用プログラミング記述生成装置、ハードウェア検証用プログラミング記述生成方法、制御プログラムおよび可読記録媒体
US7051301B2 (en) System and method for building a test case including a summary of instructions
Hu et al. A performance prototyping approach to designing concurrent software architectures
Bombieri et al. HDTLib: an efficient implementation of SystemC data types for fast simulation at different abstraction levels
Yuan et al. Automatic enhanced CDFG generation based on runtime instrumentation
US20240111660A1 (en) Managing high performance simulation representation of an emulation system
Jenihhin et al. PSL Assertion Checking Using Temporally Extended High-Level Decision Diagrams
TWI427496B (zh) 製造積體電路的模型的方法和系統
Sjölund Tools for Understanding, Debugging, and Simulation Performance Improvement of Equation-Based Models
Goli et al. Design Understanding Methodology
JP5287132B2 (ja) 設計支援プログラム、設計支援装置、およびシミュレーションモデル
JP5262403B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120710

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120724

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120806

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150831

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees