JP4994393B2 - 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法 - Google Patents

単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法 Download PDF

Info

Publication number
JP4994393B2
JP4994393B2 JP2008548598A JP2008548598A JP4994393B2 JP 4994393 B2 JP4994393 B2 JP 4994393B2 JP 2008548598 A JP2008548598 A JP 2008548598A JP 2008548598 A JP2008548598 A JP 2008548598A JP 4994393 B2 JP4994393 B2 JP 4994393B2
Authority
JP
Japan
Prior art keywords
model
master
register transfer
design
level
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
JP2008548598A
Other languages
English (en)
Other versions
JP2009522652A (ja
JP2009522652A5 (ja
Inventor
悦穂 渡部
ルチアーノ・ラヴァーニョ
アレックス・コンドラティエフ
Original Assignee
ケイデンス・デザイン・システムズ・インコーポレーテッド
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 ケイデンス・デザイン・システムズ・インコーポレーテッド filed Critical ケイデンス・デザイン・システムズ・インコーポレーテッド
Publication of JP2009522652A publication Critical patent/JP2009522652A/ja
Publication of JP2009522652A5 publication Critical patent/JP2009522652A5/ja
Application granted granted Critical
Publication of JP4994393B2 publication Critical patent/JP4994393B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、一般に集積回路の設計に関し、より具体的には、集積回路を設計する間に異なる抽象化レベルの複数のモデルを用いることに関する。
最新の回路設計は、コンピュータ及びコンピュータ支援設計(CAD(computer aided design))技術を用いて集積回路(IC(integrated circuit))設計処理を自動化する電子設計自動化(electronic design automation)としばしば言われる、専門化された分野へと進化してきている。ICの設計処理は、典型的には、製造されるべきハードウェア回路の入力/出力信号、機能性及びパフォーマンス特性を技術者が指定することによって開始される。過去において、集積回路の設計は、自動化されたデジタル合成ツールへの入力として用いられる、ICデバイスの低レベルのレジスタ転送レベル(RTL(Register Transfer Level))のモデルの生成を伴うことが多かった。より具体的には、RTLモデルは、入力される論理状態を受け入れてタイミング信号によって指定されるように保持する記憶素子(例えば、ラッチ、フリップフロップ、メモリワード)を指定する。タイミング信号は、例えば、クロックエッジ、クロック位相又はリセットであってもよい。転送とは、入力からレジスタ、レジスタからレジスタ及びレジスタから出力部への方程式及び/又は変換を指す。RTLの方程式及び変換には抽象化の範囲が存在していてもよいが、RTLは、ゲートレベルの設計とのサイクル毎、ステート毎の対応づけをもたらす。しかしながら、RTLモデルにおける全ての詳細なタイミング及び同期の情報は、当該RTLモデルのシミュレーション速度を比較的遅くさせる場合が多い。残念ながら、これにより、これらの情報は実際の入力によるシミュレーションの実行には適当ではない可能性がある。
代わりの方法の1つは、ハードウェアのエミュレータ上で設計のシミュレーションを実行することによって当該設計の試験を加速するというものである。エミュレータの実行速度は回路のコアルーチンを試験するには十分に速いことが多いが、それでもICの設計上で実行されるように設計されたソフトウェアを試験するには遅すぎることがある。エミュレータを用いることに関わる別の問題点は、開発の状態にあるICの設計をエミュレータ上で実行するためには、当該ICの設計は完全に特定され、かつハードウェアに製造する準備が整っていなければならないことである。エミュレータは極めて高価であるので、企業によっては、エミュレーションの段階を飛ばして実際のチップを製造し、ソフトウェアをハードウェアの最大の速度で試験する。エミュレーションのコスト及びより完全なシミュレーションのために必要とされる時間の観点から、これらの企業は、試験、具体的にはソフトウェアの試験が短縮された場合でも、結果として得られるチップは適切に機能するだろうというリスクを取る。ハードウェアにさほど重大ではないバグがあるときには、ソフトウェアはICを使用可能にするのに十分な程度に対処する場合がある。ソフトウェアを用いて対処するには重大過ぎるバグがあるときには、チップのハードウェアは変更を余儀なくされる場合があり、典型的には、時間的かつ金銭的にかなりのコストをかけて新しいチップを設計し直しかつ製造する必要がある。
より最近では、トランザクションレベルのモデル(TLM(Transaction Level Model))に基づく設計方法が提案されている。製品の仕様又は重要なシステムパラメータを記述するシステムアーキテクチャモデルが生成される。システムアーキテクチャモデルは、トランザクションレベルのモデル(TLM)へと精緻化される。トランザクションレベルのモデルは、合成及びソフトウェアの並列開発に適したRTLモデルの開発に用いられる。
一般に、IC設計の初期の手法は容認できるものであったが、その利用には欠点がある。例えば、ICの設計の間は、ハードウェア及びソフトウェアの開発の整合性を改善する技術が必要とされている。本発明は、この必要性を満たすものである。
ある態様においては、1つのハードウェア設計の複数のモデルを生成する方法が提供されている。設計のマスターモデルは、当該マスターモデルと機能的に等価である少なくとも第1及び第2のモデルに変換される。第1及び第2のモデルの抽象化レベルは、互いに異なる。第1及び第2のモデルはそれぞれ、当該モデルの抽象化レベルに関して正確なタイミング情報を含む。
以下の説明は、任意の当業者が、回路の単一のマスターモデルから集積回路ハードウェアの異なる抽象化レベルの複数のモデルを生成するための本発明の実施形態に係るシステム及び装置を作って用いることができるようにするように提示され、かつ特定のアプリケーション及びその必要条件のコンテキストにおいて提示されている。これらの好ましい実施形態に対する様々な変形は当業者にとって自明であり、本明細書において定義されている一般的な原理は、本発明の精神及び範囲を逸脱することなく他の実施形態及びアプリケーションに適用されてもよい。さらに、以下の説明における多くの詳細な事項は説明を目的として述べるものである。しかしながら、一般的な当業者の一人であれば、本発明はこれらの特定の詳細な事項を用いることなく実施される可能性もあることが認識されるであろう。他の例では、不必要な詳細説明によって本発明の記述が分かりにくくならないように、周知の構造及びデバイスはブロック図の形式で示されている。従って、本発明は、示されている実施形態に限定されるように意図されたものではなく、本明細書に記述している原理及び特徴に一致する最も広範な範囲を与えられるべきものである。
本発明の一実施形態によれば、マスターモデルを用いることによって、それぞれが異なる抽象化レベルにある複数のハードウェアモデルが生成される。本明細書で用いているように、「マスターモデル」は所望のデバイスの動作の決定的な(definitive)記述を指す。マスターモデルは、コンピュータプログラムのセットを用いることによって他のモデルを得るためのソースモデルとして機能する。本明細書で用いているように、より一般的な「モデル」という用語は、所望のデバイスの動作の任意の代表物を、即ち実際のデバイス以外の何らかの形式で記述するために用いられる。マスターモデルは、少なくとも入力、出力及びこれらの間の少なくとも1つの機能を指定する。マスターモデルはまた、完全なタイミング情報を含んでもよく、部分的なタイミング情報を含んでもよく、タイミング情報を全く含まなくてもよい。
生成される複数のモデルはマスターモデルと機能的に等価であり、よって、互いに機能的に等価である。機能的に等価であるという表現は、これらの得られたモデルが、正当なシーケンスである任意の入力を受け取ると、マスターモデルと同じ出力シーケンスを生成することを意味する。なお、得られたモデルが、デバイスの任意の使用において発生し得ないシーケンスである入力シーケンスを受け取ったときに、マスターモデルとは異なる動作をしたとしても、当該得られたモデルがマスターモデルと機能的に等価であると言うことは自由である。ある実施形態では、生成されるモデルは、サイクルアキュレート(cycle accurate)なモデルと、トランザクションアキュレート(transaction accurate)なモデルとを含む。サイクルアキュレートなモデルは、マスターモデルの実施の各クロック周期(クロックサイクル)の間、又はより具体的にはクロックエッジにおいて発生する計算又はアクティビティを正確に指定する。本明細書における目的に沿って、機能性は入力と出力との間で定義されるが、アクティビティはハードウェアにおいて実施される、例えば当該機能を実施するために必要な加算等の演算を指す。トランザクションアキュレートなモデルは、マスターモデルの実施に含まれるトランザクションのクロックタイミングを正確に指定する。
本明細書で用いているように、「トランザクション」は完全な相互作用である。例えば、トランザクションは、メモリからの単語の取り出し(フェッチ)又はビデオフレームのその圧縮形式からの復号もしくはマシン命令の実行である可能性もある。トランザクションは、典型的には、例えば実行されるために、幾つかの(2〜20の)クロック周期を必要とする。ユーザは、デバイスのモデリングにおいて意味をなす様々なトランザクションの複雑さのレベルを、かなり自由に定義できる。基本概念は、デバイスが実行する完全に基本的かつ最低レベルの作業より遙かに高いレベルであり、但しデバイス全体であるほど高くはないレベルの演算をユーザがトランザクションとして定義することにある。トランザクションレベルでの正確なモデルの実行を調べるときに、トランザクションの開始前とトランザクション完了後のデバイスのステートを見ることはできる。しかしながら、典型的には、そのトランザクションのパフォーマンスを構成する様々なステップが可視化されることはない。具体的には、実行するために6クロック周期を必要とするトランザクションを仮定すると、トランザクションの開始後3サイクルのモデルのステートを調べても演算が進行中であるという証拠は示されない。代わりに、6番目のサイクルにおいて、このモデルは完全に形成された回答を出す。従って、トランザクションレベルのモデルは、実際のデバイスが実行するはずの各ステップを辿る必要なしにトランザクションの最終結果を迅速に計算することができ、よってこのモデルは、一度に1つの事柄しか実行できないコンピュータ上で実行されると、より忠実なモデルより遙かに迅速にトランザクションを実行する。
サイクルアキュレートなモデルは、トランザクションアキュレートなモデルより抽象化レベルは低い。通常、サイクルアキュレートなモデルは、マスターモデルにおける各機能の実現に含まれる計算及びアクティビティを、設計におけるあらゆるレジスタ又は記憶素子がシミュレーションの一つ一つのクロックエッジにおいて実際のデバイスが有するものと同じ値を有するような方法で記述する。しかしながら、クロック周期間で進行する中間の計算は、より速いシミュレーションの観点から取り除かれる。トランザクションレベルのモデルの場合と同様に、全てのレジスタの新規の値は各クロックエッジで現れるが、クロック周期の中でどの値がより早く計算され、どの値がより遅く計算されたかを発見する方法はない。
別のモデリングレベルは、レジスタ転送レベル又はレジスタ転送及び/又はトランジスタレベルであるが、この場合は、あらゆる演算の実行順序、従って完全なタイミングが指定される。これに対して、トランザクションアキュレートなモデルは、マスターモデルに基づいて、トランジスタレベルの計算等のより低い抽象化レベルの演算を詳述することなく、かつハードウェアデバイスを実施するために用いられる、例えばレジスタ転送等の詳細なスケジューリングインフラを指定することなく、典型的にはデータの計算及びデータフローを記述する。代わりに、トランザクションアキュレートなモデルは、各トランザクションの実施に用いられるクロック周期を指定し、任意の入力を与えられたときの正しい出力の計算に用いられるコードも含む。基本的には、トランザクションアキュレートなモデルは、マスターモデルの各機能の実現に含まれる計算及びアクティビティを、記述のサイズをより小さくしシミュレーションの速度を速くするように、グループにまとめた形式で記述する。
図1は、単一の入力モデルを用いて異なる抽象化レベルの複数の等価なモデルを生成する処理100を示す例示的なフロー図である。高レベルのハードウェア記述言語で記述される入力モデル102は、モデル変換システムとして機能する合成ツール104に提供され、合成ツール104は異なる抽象化レベルの2つのモデルを生成する。生成される第1のモデル106は、トランザクションが正確な抽象化レベルにある。生成される第2のモデル108は、サイクルが正確な抽象化レベルにある。これらの2つのモデルは、両モデルが同一である境界では、これらが同一の正当な入力シーケンスが与えられると同じ結果を生成するという点で、機能的に等価である。「両モデルが同一である境界」という修飾語句は、サイクルアキュレートなモデルが任意のクロックエッジ(例えば、真夜中直後)においてRTLモデルと比較され得ることを意味する。サイクルアキュレートなモデルは、当該モデルがクロック周期の中間(例えば、午前8時33分)にあるときにはRTLモデルと比較され得ない。トランザクションレベルのモデルは、トランザクションが完了したクロックエッジの直後にのみサイクルアキュレートなモデル及びRTLレベルモデルと比較され得る。
ある実施形態では、合成ツール104は、高い抽象化レベルの入力モデル102を2つ(又はそれ以上)の低い抽象化レベルのモデル106、108に変換するようにプログラムされたコンピュータシステムを備える。モデル変換システム104によって実行される機能は、入力されるマスターモデル102の構文を読んで、記述が指定する機能の意味論(semantics)を表すモデルデータ構造を構築するためのパーサ機能を含む。
モデル102、106及び108は、これらのモデルにより表現されるハードウェアの動作をシミュレートする(図示されない)シミュレーションツールに入力されてもよい。一般に、モデルが詳細であるほど、当該モデルを用いてシミュレーションを実行するために必要とされる時間は長くなる。従って、入力モデル102を実行するシミュレーションツールはハードウェアのパフォーマンスを、典型的には、トランザクションアキュレートなモデル106より速く、但しより小さい詳細度でシミュレートする。同様に、トランザクションアキュレートなモデル106を実行するシミュレーションツールはハードウェアのパフォーマンスを、通常、サイクルアキュレートなモデル108より速く、但しより小さい詳細度でシミュレートする。
入力マスターモデル102を用いるシミュレーション(図示されていない処理)の間、シミュレーションは正しい結果を計算する。例えば、設計が計算機に関するものであると仮定すると、設計(TLM、CA又はRTLを用いることを問わず)のシミュレーションは、「3を押す」「+を押す」「2を押す」「7を押す」「=を押す」という入力シーケンスが提供されると、30を生成する。しかしながら、入力マスターモデル102自体は時間の概念を含まない。結果は、それが要求するや否や用意されている。言い替えれば、入力マスターモデル102は、機能を実施するときに含まれるアクション又は計算をクロック周期又はクロックエッジに関連付ける情報を含まない。従って、入力マスターモデル102を用いるシミュレーションは、アクション又は計算をクロックタイミングに対応づけない結果を生成する。
トランザクションアキュレートなモデル106を用いる(図示されていない)シミュレーションの間、シミュレーションは正しい結果を計算する。結果は、トランザクションアキュレートなモデル106に係るシミュレーションの間に当該結果が生成されるクロック周期に関連づけられる。しかしながら、中間のステート及び複数の内部(internals)は、トランザクションレベルのモデルの一部ではないので生成されない。従って、例えば、トランザクションアキュレートなモデルのシミュレーションを2つのクロックエッジの間で停止して、様々なメモリ素子の全てにおける値を調べると、これらの値は同じ瞬間にRTLモデルにおいて、又は実際のデバイスにおいて発見されるはずの値と必ずしも同じではない。
図示されていないサイクルアキュレートなモデル108を用いるシミュレーションの間、シミュレーションは正しい結果を計算する。サイクルアキュレートなモデル108は、時間の概念を含む。結果は、サイクルアキュレートなモデル108に係るシミュレーションの間に当該結果が生成されるクロック周期に関連づけられる。さらに、中間のステート及び内部も正確に生成される。
再び図1を参照すると、トランザクションアキュレートなモデル106は、ソフトウェアの開発を目的としてハードウェアのパフォーマンスのシミュレーションに用いるためにソフトウェア開発チーム110に提供されてもよい。言い替えれば、トランザクションアキュレートなモデル106は、モデリングされるハードウェア上でのソフトウェアの実行をシミュレートするのに十分な抽象化レベルでハードウェアの動作をシミュレートすることのできる(図示されていない)シミュレーションツールに入力されることが可能である。このようにして、ソフトウェアの開発者は、モデリングされるハードウェアのためのソフトウェアを、当該ハードウェアがいまだ開発中であって、実際のハードウェア設計が完成してシリコン内に固定される遙か以前に開発することができる。トランザクションアキュレートなモデル106は、実際のデバイス上で実行されるときに得られると思われるデバイスのビューと全く同じビューをソフトウェアの設計者に提供するので、当該モデルのタイミング分解能のレベルはこのソフトウェア開発の目的には適切である。ソフトウェアの設計者は、シミュレーション上で実際のデバイス上とは異なって動作するプログラムを書くことができない。ソフトウェアの開発者は、デバイスにおけるメモリ値をクロックエッジの間において決定することができず、従って、異なる2つのシミュレーション間で、又はシミュレーションと実際のものとの間でこれらが完全に正確なものであるかどうかを言い当てることはできない。設計者は、実際のものはシミュレーションより遙かに高速で実行されること、及びRTLシミュレーションは遅すぎて使用不可であることに気づく。よって、設計者は実際の装置(まだ構築されていない!)を有することができないので、得ることができる最速のモデルを選定する。従って、(図示されていない)ハードウェア開発チームは、ソフトウェア開発チーム110と並行して作業することにより開発中のハードウェアの設計を精緻化できる。
生成されるモデル106と108との間には、正確な対応付けが存在する。例えば、シミュレーションの実行中にその情報が提供されるトランザクションアキュレートなモデル106による各アクションに関して、サイクルアキュレートなモデル108において、シミュレーションの実行の間にアクション間のタイミング情報が2つのシミュレーションのそれぞれで同一であるようにアクションが存在する。トランザクションアキュレートなモデル106及びサイクルアキュレートなモデル108の機能性及びタイミングの等価性は、本発明の一実施形態により、両方のモデルを同時に構築することによって達成される。過去の実践は、ユーザが詳細な1秒毎の動作仕様(RTLモデル)を「マスターモデル」として構築するためのものであった。確かに、RTLモデルはチップを製造するために必要とされる。ユーザがモデルを1つしか持つことができないとすれば、RTLモデルは持つべきその1つのモデルであろう。しかしながら、設計チームがチップ製造より前にチップ上で用いられるべきソフトウェアを実行しかつ試験する何らかの現実的な機会を得るとすれば、最新のICを設計するという課題は、より高速な抽象化モデルの生成を命じる。RTL設計のシミュレーションは、実際に用いるには遅すぎる。1つの可能なアプローチは、RTLモデルを読み取り、不要な詳細部分を自動的に抽出して取り除き、このソースからサイクルベースのモデル又はトランザクションレベルのモデルを構築することのできるシステムの生成を試みることである。これは、紙上に記述することは容易であるが、重要なアルゴリズムデータ又は単なるスケジューリングデータを保持するために特定のレジスタが用いられているかどうかを決定できるシステムを実際に構築することは、特にRTLプログラムの複数のクリエイタが、全員がそれぞれ独自の書き方のスタイルを有する個々人の集合である場合には極めて困難である。
代わりに、ユーザに対して高レベルのモデル(例えば、TLM)を指定するように要求し、人によるガイド(パイプラインの段数等)に基づいてより低レベルの表現(例えば、RTLモデル)を構築するアルゴリズムを組み込むツールに当該高レベルのモデルを与え、当該ツールがこれを実施するときにこのようなスケジューリングを目的として挿入するレジスタ及び制御論理をマーキングすれば、この処理の終わりで、当該ツールはまた、
このスケジューリング装置が省かれかつ選択されたパイプラインの段数のみをトランザクションの長さとして含む設計を出すことができる。
トランザクションアキュレートなモデル106とサイクルアキュレートなモデル108との間の等価性は、これらの構造の特徴として保持される。ツールは、その入力からRTLモデルを構築し、シークエンシング論理を導入し、その導入のときにこの導入された論理をマーキングする。次にツールは、段内のシークエンシング論理なしに、但しRTLモデルにおいて導入した段間のシークエンシング論理を用いてサイクルアキュレートなモデルを構築する。次にツールは、導入されたシークエンシング論理なしに、単にRTL論理において各動作を実行するために発生するサイクルの値のみでトランザクションレベルのモデルを構築する。
サイクルアキュレートなモデル120は、十分にシミュレートされかつ試験されると合成ツール112へ提供される。合成ツール112は、ゲートレベルの出力モデル114を生成する。ゲートレベルの出力モデル114は、実際のハードウェア集積回路116の生成に用いられる。本設計開発処理には、本明細書に記述している本発明の原理に密接に関連していないことから図示されていない追加のステップが存在する場合のあることは認識されるであろう。一方で、ソフトウェア開発チーム110はハードウェアの開発努力と並行して作業し、集積回路116上で実行されるソフトウェア118を生成することに忙しくしているかもしれない。
従って、ある実施形態では、入力マスターモデル102は開発中の集積回路ハードウェアの機能性を、各機能の中間ステップのタイミングを指定することなく記述する。最低でも、マスターモデルは、入力と、出力と、両者間の機能とを指定する。マスターモデルは、システムC(SystemC)等の超高レベルの記述言語で記述されてもよい。このような高レベル言語の最低の必要条件は、有限の量のメモリを用いて入力と出力との間の機能を構成する全ての可能な演算(例えば、加算、減算、除算、メモリからの取り出し等)を指定する能力があることにある。また、この言語は、同時のタイミング又は因果関係等の動作に関する追加の情報を提供してもよい。
ある好ましい実施形態では、合成ツール104は、
(1)入力モデルに記述されている機能性を、IEEE1364.1 Verilog及び/又はIEEE1076.6VHDL等の標準のハードウェア記述言語の正確なフォーマットにマッピングするレジスタ転送レベルのモデル108と、
(2)システムC言語のサイクルアキュレートなモデル120と、
(3)システムC言語のトランザクションアキュレートなモデル106とを生成する。
レジスタ転送レベルのモデルは、各内部クロックエッジ間で実行されるアクティビティの全ての詳細な仕様を含む。内部クロックエッジの所定のセット内でどのアクティビティが発生すべきかの決定は、合成ツール104により、例えばこれらのアクティビティの実施に用いられるリソースを割り当て、当該リソースがこれらのアクティビティを実行するために要する時間を分析し、次にこれらのアクティビティを使用可能なクロック間隔に接続することによってもたらされる。サイクルアキュレートなモデルは、各機能の実行に必要な計算を、当該計算が各クロックエッジ間に正しく配置された状態で記述するが、当該計算を抽象レベルにおいて記述する(故にシミュレート速度がより速い)。トランザクションアキュレートなモデル106は、各機能の実行に必要な計算を、全てグループまとめて、かつRTL及びサイクルが正確な記述において当該機能が完了する最後のサイクルにおいて実行されるようにスケジューリングされる。ここで、中間結果は入手不可である。
生成される全てのモデル106、108及び120は入力と出力との間に同じ機能を保持し、入力から値を読み取る又は出力へ値を書き込むアクティビティ間のクロック周期におけるタイミングも保持する。入力と出力との間の機能を指定するサイクルアキュレートなモデル120は、入力と出力との間の機能を設計又は試験する場合に最もよく適する。RTLモデル108は、ハードウェアの実装に最もよく適する。トランザクションアキュレートなモデル106は、このハードウェア又は設計及び試験を完了するために必要な入力と出力との間の機能及びタイミング情報が必要である、ソフトウェア等のシステム内の他の構成要素を含むシステムを設計又は試験する場合に最もよく適する。
実施例.
以下は、入力マスターモデルのコードの例及び当該入力マスターモデルのRTLモデルのコード及びトランザクションアキュレートなモデルのコードへの変換である。
図1の入力マスターモデル102に対応する下記の入力マスターモデルのコード例について考察する。
Figure 0004994393
このコードは、加算器を記述している。ENABLEが真であり、かつ命令コード(opcode)が値ADDを有している時には常に、システムは入力ポートin1及び入力ポートin2上の値の和を計算し、結果を出力ポートOUTに出力する。このコードには時間の仕様は存在せず、動作仕様のみが存在する。
この仕様と一致する動作の可能な実施例は、多く存在する。異なる実施例は、別の実施例より迅速に動作を実行し、又はより少ない電力を用いて計算し(バッテリの寿命の向上)、又は最終チップにおいてより少ない面積を消費する(他のより高頻度の動作の実行を高速化するために用いられるスペースを確保する)可能性もある。本発明を実施するツールのユーザは、典型的には、幾つかの全体的なコスト関数を最適化することに基づいて、この機能の多くの可能な実施例のうちの1つを選択できるようにするツールに対して、入力マスターモデルにおける2つのアクション間の最悪の場合の遅延又は実装に用いることができるハードウェアリソースの素子の制限等の制約を設ける。
下記は、図1の合成ツール104を用いて上述のマスターモデルの回路のコードから生成されてもよいレジスタ転送レベル(RTL)フォーマットのコードの実施例を示す。動作に関するこのより詳細なRTL仕様は、典型的には、シミュレートに上述の元の仕様よりも1桁から2桁多い追加の時間を必要とすることは留意されるべきである。より遅いシミュレーション速度の理由は、このRTLモデルのコードが、ハードウェアリソースのタイミング特性、ハードウェア実装の構成情報等のシミュレータにおいて処理されるべき情報を上述の元のコード仕様である入力マスターモデルコードより遙かに多く含んでいることにある。当然ながら、回路を正しく製造するためには追加の詳細な事項も重要であるが、これは、何らかのシステム(本明細書に記述しているシステム及び方法等)がソフトウェアの観点から両者の等価性を保証している限り、ソフトウェアの試験には不要である。
Figure 0004994393
上述のRTLモデルは、高レベルのモデルで表現されるような単純な関数を有し、如何なるときも、ENABLE信号及び命令コードADDを見れば、さらなる詳細へと拡張される2つの入力の和を計算する。これで、第1のクロック周期上での入力の収集、第2のサイクル上での結果の計算及び第3のサイクル上での結果の出力を編成する4ステートのステートマシンが存在する。なお、この4ステートの処理(3ステート又は5ステート処理ではなく)を生成する決定は任意であり、当該決定は、残りの回路の複雑さ、利用可能なリソース及び合成の実行が開始された時点でユーザにより提示される全体的な目的に基づいて下される。
この記述が与えられると、周知の技術を用いてゲートレベルのモデルを生成することができる。この記述が与えられると、時にはこのADD命令を要求するソフトウェアの実行をシミュレートすることができる。言い替えれば、RTLモデルを表現するこの記述をソフトウェアプログラムとして実行することができる。しかしながら、RTLによるゲートレベルのモデルへの変換に必要とされる処理の詳細なステップ毎の記述は、ソフトウェアの正しい動作を試験する必要以上の詳細な事項を有する。その結果、このモデルのシミュレーション速度は、この詳細な事項を排除すれば可能になる速度ほど速くはならない。元のモデルは時間の指示を保有せず、よって、ソフトウェアを試験できるほど詳述されていない。
基本的に、この種のソフトウェアを開発するためには、ハードウェアがその出力部にどの時点(クロック周期)でどのような値を送るかを知る必要があるが、このような値を出力部に送るためにハードウェアがどのように内部に実装されるかは、「詳細なアクティビティ」が当該ハードウェアに関連していれば知る必要はない。従って、実装用に選択されているタイミングの仕様を含むがモデルのステート毎の実行に関する詳細な仕様を省いた中間モデルに対するニーズが存在する。
下記は、図1の合成ツール104を用いて上述の入力マスターモデルの回路のコードから生成されてもよいトランザクションアキュレートなモデルのコードの実施例を示す。トランザクションアキュレートなモデルのコードの実施例は、ソフトウェアチーム110に、より高速でシミュレートし、しかも必要な全てのタイミングの詳細事項を含むモデルを提供することができる。具体的には、トランザクションアキュレートなモデルはこのようなソフトウェアの開発に必要なタイミング情報、即ちハードウェアの入力部と出力部との間のタイミング情報を保持し、入力及び出力機能において見ることのできないハードウェア内部のタイミング情報を取り除く。
Figure 0004994393
上述のモデルは、ほぼ元のモデルの速度でシミュレートするが、今回は正しい時間概念を含む。言い替えれば、トランザクションアキュレートなモデルコードの抽象化レベルは元の入力マスターモデルコードのそれに極めて近く、即ち、唯一の相違点は入力と出力との間の追加のタイミング情報であるが、今回は正しい時間概念を含む。ポートOUTは、enableが真であってかつ命令コードが値ADDを保持した後3サイクルまで、IN1及びIN2の値を取得しない。データは命令要求後のサイクルでサンプリングされ、同じく、選択されるRTL記述のソフトウェア可視効果が保持される。出力値が1サイクルに渡ってキャッシュされるという事実は、ソフトウェア可視でないことから取り除かれる。実行を編成するステートマシンは、ソフトウェア可視でないので除外される。
入力マスターモデルとRTLとの間には、例えば下記のような多くの可能な抽象化レベルが存在することは認識されるであろう。
(A)入力と出力との間の機能、
(B)入力と出力との間の機能、及びRTLモデルにおいて実行されるような入力と出力との間のタイミング情報(クロック周期における)、
(C)入力と出力との間の機能、及びタイミング情報(クロック周期における)、及びRTLモデルにおいて各クロック周期内で実行されるアクティビティ、又は、
(D)RTLモデル。
また、(B)と(D)との間に複数の抽象化レベルを、2つの大きさ、即ちイベントの細分性(入力、出力、クロックエッジ等)及び構造に関する細分性(ビット、レジスタ等)、に関して考案することができる。さらに、注釈を付される情報の種類はタイミングに限定されなくてもよく、電力、ノイズ等の制約を含んでもよい。
図2は、本発明の一実施形態による図1のシステム及び方法を実装するようにプログラムされることが可能である例示的なコンピュータシステム200を示す略図である。コンピュータシステム200は、1つ又は複数の中央処理装置(CPU)202と、ユーザインタフェース204と、コンピュータ読み取り可能な記憶媒体206と、システムバス208と、上記CPU、ユーザインタフェース、メモリ及びシステムバスをまとめて接続するための1つ又は複数のバスインタフェースとを含む。本コンピュータシステムはまた、コンピュータネットワーク上で他の複数の装置212と通信するためのネットワークインタフェース210を含む。
図1のコンピュータ読み取り可能な入力マスターモデル102は、バス208を介してインタフェース204、記憶装置206又は他の複数の装置212から、CPU202上の記憶装置206から実行される合成ツールまで提供されてもよい。このツールは、入力モデルを図1のトランザクションアキュレートなモデル及びサイクルアキュレートなモデル及びRTLモデルに変換する。
本明細書では本発明を様々な例示的特徴、態様及び実施形態を参照して説明してきたが、本発明は変形、修正及び具体的に示しかつ説明したもの以外の他の実施形態を包含し得ることは認識されるであろう。従って、本発明は、このような代替的変形、修正及び他の実施形態を全て添付の請求の範囲に記載されているその精神及び範囲内に包含するものとして広範に解釈されかつ理解されるべきである。
単一の入力モデルを用いて異なる抽象化レベルの複数の等価モデルを生成する処理を示す例示的なフロー図である。 本発明の一実施形態による、図1の新規の変換システムを実装するようにプログラムされることが可能である例示的なコンピュータシステムを示す略図である。

Claims (18)

  1. 集積回路の設計のモデルを生成する方法において、
    集積回路の上記設計のマスターモデルを準備することと、
    上記マスターモデルを、上記マスターモデルと機能的に等価でありかつ互いに異なる抽象化レベルにある少なくとも1つの第1のモデル及び1つの第2のモデルに変換することとを含み、
    上記第1及び上記第2のモデルはそれぞれ、当該各モデルの各抽象化レベルに関して正確な上記設計のタイミング情報を含み、
    上記マスターモデルを第1のモデルに上記変換することは、合成ツールを用いることにより、スケジューリングに用いられる少なくとも1つのレジスタと制御論理とを含むレジスタ転送レベルのモデルを生成することを含み、
    上記マスターモデルを第2のモデルに上記変換することは、上記合成ツールを用いることにより、上記レジスタ転送レベルのモデルと機能的に等価であるトランザクションレベルのモデル又はサイクルアキュレートなモデルのうちの少なくとも一方を生成することを含み、
    上記方法は、
    上記マスターモデルをレジスタ転送レベルのモデルに変換するときに、上記スケジューリングに用いられる少なくとも1つのレジスタと上記制御論理とをマーキングすることと、
    上記トランザクションレベルのモデル又はサイクルアキュレートなモデルのうちの少なくとも一方から、上記マーキングされた少なくとも1つのレジスタと制御論理とを省くこととをさらに含む方法。
  2. 上記マスターモデルを第1のモデルに上記変換することは、合成ツールを用いることにより、上記設計のクロック周期間のステート毎の実行を指定するレジスタ転送レベルのモデルを生成することを含み、
    上記マスターモデルを第2のモデルに上記変換することは、上記合成ツールを用いることにより、上記レジスタ転送レベルのモデルと機能的に等価であり、かつ上記設計のクロック周期間のステート毎の実行を指定しないトランザクションレベルのモデル又はサイクルアキュレートなモデルのうちの少なくとも一方を生成することを含む請求項1記載の方法。
  3. 上記マスターモデルは上記設計の動作情報を含み、かつ上記設計のタイミング情報を含まない請求項1記載の方法。
  4. 上記マスターモデルは上記設計の動作情報を含み、かつ上記設計のタイミング情報を含まず、
    上記マスターモデルを第1のモデルに上記変換することは、合成ツールを用いることにより、上記設計のクロック周期間のスケジューリング情報を指定するレジスタ転送レベルのモデルを生成することを含み、
    上記マスターモデルを第2のモデルに上記変換することは、上記合成ツールを用いることにより、上記レジスタ転送レベルのモデルと機能的に等価であり、かつ上記設計のクロック周期間のスケジューリング情報を指定しないトランザクションレベルのモデル又はサイクルアキュレートなモデルのうちのうちの少なくとも一方を生成することを含む請求項1記載の方法。
  5. 集積回路の設計のモデルを生成する方法において、
    集積回路の設計のマスターモデルを準備することと、
    合成ツールを用いて上記マスターモデルを第1のモデルに変換することにより、上記設計の少なくとも1つの所定の集積回路のクロック周期で出力部に送る値を指定しかつ上記少なくとも1つのクロック周期の間に動作可能なスケジューリング論理を指定する上記設計のレジスタ転送レベルのモデルを生成することとを含み
    上記マスターモデルを上記第1のモデルに変換することにより上記レジスタ転送レベルのモデルを生成することは、上記レジスタ転送レベルのモデルにシークエンシング論理を導入することと、上記導入されたシークエンシング論理をマーキングすることとを含み、
    上記方法は、
    上記合成ツール及び上記生成されたレジスタ転送レベルのモデルを用いて上記マスターモデルを第2のモデルに変換することにより、レジスタ転送論理において発生するサイクルの上記値を含むが上記レジスタ転送レベルのモデルに導入されかつ上記マーキングされたシークエンシング論理を含まないトランザクションレベルのモデル、又は、上記少なくとも1つのクロック周期で上記レジスタ転送レベルのモデルの上記出力部に送る上記値と同じ値を指定し、上記レジスタ転送レベルのモデルに導入された段内のシークエンシング論理を含まないが上記レジスタ転送レベルのモデルにおける段間のシークエンシング論理を含むサイクルアキュレートなモデルのうちの少なくとも一方を生成することを含む方法。
  6. 上記トランザクションレベルのモデルを生成することに応答して、上記トランザクションレベルのモデルをシミュレーションツールに入力することと、
    上記シミュレーションツール及び上記トランザクションレベルのモデルを用いることにより、上記集積回路の設計上で実行されるように設計されたソフトウェアを試験して、入力されたモデル上で上記ソフトウェアを実行することをシミュレートすることとをさらに含む請求項5記載の方法。
  7. 上記トランザクションレベルのモデルを生成することに応答して、上記トランザクションレベルのモデルをシミュレーションツールに入力することと、
    上記シミュレーションツール及び上記トランザクションレベルのモデルを用いることにより、上記集積回路の設計上で実行されるように設計されたソフトウェアを試験して、入力されたモデル上で上記ソフトウェアを実行することをシミュレートすることと、
    上記レジスタ転送レベルのモデルを上記合成ツールに入力することと、
    上記合成ツールを用いることにより、上記レジスタ転送レベルのモデルに基づいてゲートレベルのモデルを生成することをさらに含む請求項5記載の方法。
  8. 上記マスターモデルは上記設計の動作情報を備え、かつ上記設計のタイミング情報を含まない請求項5記載の方法。
  9. 上記合成ツールを用いることにより、上記マスターモデルを、上記マスターモデルと機能的に等価であって上記第1及び第2のモデルとは異なる抽象化レベルにあり、かつ当該各モデルの抽象化レベルに関して正確な設計のタイミング情報を含む第3のモデルに変換することをさらに含む請求項1記載の方法。
  10. 上記合成ツールを用いることにより、上記マスターモデルを、上記マスターモデルと機能的に等価であって上記第1及び第2のモデルとは異なる抽象化レベルにあり、かつ当該各モデルの抽象化レベルに関して正確な設計のタイミング情報を含む第3のモデルに変換することをさらに含み、
    上記第1のモデルはレジスタ転送レベルのモデルを備え、
    上記第2のモデルはサイクルアキュレートなモデルを備え、
    上記第3のモデルはトランザクションレベルのモデルを備える請求項5記載の方法。
  11. 上記マスターモデルは上記設計のタイミング情報を含まない請求項1記載の方法。
  12. 上記マスターモデルは上記設計の部分的なタイミング情報を含む請求項1記載の方法。
  13. 上記マスターモデルを第2のモデルに上記変換することは、上記合成ツールを用いることにより上記設計の集積回路の電力、ノイズ又はタイミング情報のうちのうちの少なくとも1つを含む、トランザクションレベルのモデル又はサイクルアキュレートなモデルのうちの少なくとも一方を生成することを含む請求項1記載の方法。
  14. 請求項1記載の方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体。
  15. CPUと、
    記憶装置と、
    上記CPUを上記記憶装置に接続するバスとを備えたコンピュータシステムにおいて、
    上記記憶装置は上記CPUによって実行されるためのコードを記憶し、
    上記コードは、
    集積回路の設計のマスターモデルを準備することと、
    上記マスターモデルを、上記マスターモデルと機能的に等価であって互いに異なる抽象化レベルにある少なくとも1つの第1のモデル及び1つの第2のモデルに変換することとを実行し、
    上記第1及び上記第2のモデルはそれぞれ、当該各モデルの各抽象化レベルに関して正確な上記設計のタイミング情報を含み、
    上記マスターモデルを第1のモデルに上記変換することは、合成ツールを用いることにより、スケジューリングに用いられる少なくとも1つのレジスタと制御論理とを含むレジスタ転送レベルのモデルを生成することを含み、
    上記マスターモデルを第2のモデルに上記変換することは、上記合成ツールを用いることにより、上記レジスタ転送レベルのモデルと機能的に等価であるトランザクションレベルのモデル又はサイクルアキュレートなモデルのうちの少なくとも一方を生成することを含み、
    上記マスターモデルをレジスタ転送レベルのモデルに変換するときに、上記スケジューリングに用いられる少なくとも1つのレジスタと上記制御論理とをマーキングすることと、
    上記トランザクションレベルのモデル又はサイクルアキュレートなモデルのうちの少なくとも一方から、上記マーキングされた少なくとも1つのレジスタと制御論理とを省くこととをさらに含むコンピュータシステム。
  16. 集積回路の設計のモデルを生成する方法において、
    集積回路の設計のマスターモデルを準備することと、
    合成ツールを用いて上記マスターモデルを変換することにより、スケジューリングに用いられる1つ又は複数のレジスタと制御論理とを含むシークエンシング論理を指定する上記設計の動作のレジスタ転送レベルのモデルを生成することとを含み
    上記マスターモデルを変換することにより上記レジスタ転送レベルのモデルを生成することは、導入された上記シークエンシング論理をマーキングすることを含み、
    上記方法は、
    上記合成ツールを用いて、上記マスターモデルを、上記レジスタ転送レベルのモデルと機能的に等価であり、上記レジスタ転送レベルのモデルにおいてマーキングされた段内のシークエンシング論理を含まず、かつ上記レジスタ転送レベルのモデルにおいてマーキングされた段間のシークエンシング論理を含むサイクルアキュレートなモデルに変換することを含む方法。
  17. 上記合成ツールを用いて、上記マスターモデルを、上記レジスタ転送レベルのモデルと機能的に等価であり、レジスタ転送論理において発生するサイクルの値を含むが、上記レジスタ転送レベルのモデルおいてマーキングされた上記マーキングされたシークエンシング論理を含まないトランザクションレベルのモデルに変換することをさらに含む請求項1記載の方法。
  18. 集積回路の設計のモデルを生成する方法において、
    集積回路の設計のマスターモデルを準備することと、
    合成ツールを用いて上記マスターモデルを変換することにより、スケジューリングに用いられる1つ又は複数のレジスタと制御論理とを含むシークエンシング論理を指定する上記設計の動作のレジスタ転送レベルのモデルを生成することとを含み
    上記マスターモデルを変換することにより上記レジスタ転送レベルのモデルを生成することは、導入された上記シークエンシング論理をマーキングすることを含み、
    上記方法は、
    上記合成ツールを用いて、上記マスターモデルを、上記レジスタ転送レベルのモデルと機能的に等価であり、レジスタ転送論理において発生するサイクルの値を含むが、上記レジスタ転送レベルのモデルおいてマーキングされた上記マーキングされたシークエンシング論理を含まないトランザクションレベルのモデルに変換することを含む方法。
JP2008548598A 2005-12-30 2006-12-18 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法 Expired - Fee Related JP4994393B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/324,029 2005-12-30
US11/324,029 US7472361B2 (en) 2005-12-30 2005-12-30 System and method for generating a plurality of models at different levels of abstraction from a single master model
PCT/US2006/048249 WO2007078915A2 (en) 2005-12-30 2006-12-18 System and method for generating a plurality of models at different levels of abstraction from a single master model

Publications (3)

Publication Number Publication Date
JP2009522652A JP2009522652A (ja) 2009-06-11
JP2009522652A5 JP2009522652A5 (ja) 2009-10-22
JP4994393B2 true JP4994393B2 (ja) 2012-08-08

Family

ID=38228767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008548598A Expired - Fee Related JP4994393B2 (ja) 2005-12-30 2006-12-18 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法

Country Status (4)

Country Link
US (1) US7472361B2 (ja)
EP (1) EP1966730A4 (ja)
JP (1) JP4994393B2 (ja)
WO (1) WO2007078915A2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7778815B2 (en) * 2005-05-26 2010-08-17 The Regents Of The University Of California Method for the fast exploration of bus-based communication architectures at the cycle-count-accurate-at-transaction-boundaries (CCATB) abstraction
WO2007066319A1 (en) 2005-12-08 2007-06-14 Mentor Graphics Corporation Conversion of switching signals of a circuit simulation into a transaction model
US7673259B2 (en) * 2005-12-30 2010-03-02 Cadence Design Systems, Inc. System and method for synthesis reuse
US7587687B2 (en) * 2005-12-30 2009-09-08 Cadence Design Systems, Inc. System and method for incremental synthesis
GB0601135D0 (en) 2006-01-20 2006-03-01 Spiratech Ltd Modelling and simulation method
US7899661B2 (en) 2006-02-16 2011-03-01 Synopsys, Inc. Run-time switching for simulation with dynamic run-time accuracy adjustment
US8543367B1 (en) 2006-02-16 2013-09-24 Synopsys, Inc. Simulation with dynamic run-time accuracy adjustment
US7941774B2 (en) * 2008-08-04 2011-05-10 Texas Instruments Incorporated Partial timing modeling for gate level simulation
JP5328447B2 (ja) * 2009-03-30 2013-10-30 シャープ株式会社 高位合成装置および高位合成方法、半導体集積回路の製造方法、制御プログラム、可読記憶媒体
US20110035204A1 (en) * 2009-07-10 2011-02-10 Maxim Smirnov Layered Modeling for High-Level Synthesis of Electronic Designs
US20110184714A1 (en) * 2010-01-26 2011-07-28 Jeda Technologies, Inc. Methods and Systems for Analyzing Electronic Design and Validation Models
US8458630B1 (en) 2010-06-26 2013-06-04 Cadence Design Systems, Inc. Supporting dynamic aspects of polymorphism in high-level synthesis of integrated circuit designs
US8336009B2 (en) 2010-06-30 2012-12-18 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for electronic system function verification at two levels
US8903696B2 (en) * 2011-07-15 2014-12-02 Cadence Design Systems, Inc. System and method for controlling granularity of transaction recording in discrete event simulation
US8832622B1 (en) * 2011-11-23 2014-09-09 Marvell International Ltd. Coverage scoreboard
US9916407B2 (en) 2013-12-05 2018-03-13 International Business Machines Corporation Phase algebra for analysis of hierarchical designs
US10503856B2 (en) 2013-12-05 2019-12-10 International Business Machines Corporation Phase algebra for specifying clocks and modes in hierarchical designs
US9268889B2 (en) 2013-12-05 2016-02-23 International Business Machines Corporation Verification of asynchronous clock domain crossings
US10318695B2 (en) 2013-12-05 2019-06-11 International Business Machines Corporation Phase algebra for virtual clock and mode extraction in hierarchical designs
US20170139077A1 (en) * 2015-03-17 2017-05-18 Halliburton Energy Services, Inc Optimization of Downhole Logging Tool Data Resolution
US20230205969A1 (en) * 2021-12-27 2023-06-29 Texas Instruments Incorporated Techniques for modeling and verification of convergence for hierarchical domain crossings

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903466A (en) * 1995-12-29 1999-05-11 Synopsys, Inc. Constraint driven insertion of scan logic for implementing design for test within an integrated circuit design
US6182258B1 (en) * 1997-06-03 2001-01-30 Verisity Ltd. Method and apparatus for test generation during circuit design
US6169968B1 (en) * 1997-07-09 2001-01-02 Matsushita Electric Industrial Co., Ltd. Apparatus and method for estimating performance integrated circuit
US6862563B1 (en) 1998-10-14 2005-03-01 Arc International Method and apparatus for managing the configuration and functionality of a semiconductor design
US6845341B2 (en) * 2002-05-14 2005-01-18 Cadence Design Systems, Inc. Method and mechanism for improved performance analysis in transaction level models
US6820240B2 (en) * 2002-09-25 2004-11-16 International Business Machines Corporation Voltage island chip implementation
US6779163B2 (en) * 2002-09-25 2004-08-17 International Business Machines Corporation Voltage island design planning
JP4175953B2 (ja) * 2003-05-23 2008-11-05 シャープ株式会社 高位合成装置、ハードウェア検証用モデル生成方法、ハードウェア検証方法、制御プログラムおよび可読記録媒体
JP4484048B2 (ja) * 2004-09-10 2010-06-16 日本電気株式会社 ハードウェア/ソフトウェア協調検証システム
JP2007011477A (ja) * 2005-06-28 2007-01-18 Toshiba Corp 論理回路動作モデル生成装置及び論理回路動作モデル生成方法
JP2007087215A (ja) 2005-09-22 2007-04-05 Hitachi Ltd ハードウェアモデルの変換処理に用いられるデータ構造、コンピュータプログラム、方法、及びシステム

Also Published As

Publication number Publication date
WO2007078915A2 (en) 2007-07-12
JP2009522652A (ja) 2009-06-11
EP1966730A2 (en) 2008-09-10
WO2007078915A3 (en) 2009-04-09
US7472361B2 (en) 2008-12-30
US20070168893A1 (en) 2007-07-19
EP1966730A4 (en) 2010-08-25

Similar Documents

Publication Publication Date Title
JP4994393B2 (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
US7331024B2 (en) Power-consumption calculation method and apparatus
US11836641B2 (en) Machine learning-based prediction of metrics at early-stage circuit design
US20070276645A1 (en) Power modelling in circuit designs
US20130179142A1 (en) Distributed parallel simulation method and recording medium for storing the method
US10586003B1 (en) Circuit design using high level synthesis and linked hardware description language libraries
EP2218024A1 (en) System level power evaluation method
JP2006285333A (ja) 動作合成装置及び方法
JP2005525660A (ja) トランザクションレベルモデルにおける改善された性能分析のための方法及び機構
Darringer et al. Early analysis tools for system-on-a-chip design
US20070271080A1 (en) Model generation method for software/hardware collaboration design
US10846449B1 (en) Conversion of block model-based circuit designs into circuit implementations
US6077305A (en) Latch inference using dataflow analysis
JP2009140388A (ja) 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置
US20080300806A1 (en) Power consumption calculating method
Lorenz et al. From RTL IP to functional system-level models with extra-functional properties
US8959467B2 (en) Structural rule analysis with TCL scripts in synthesis or STA tools and integrated circuit design tools
US20140325468A1 (en) Storage medium, and generation apparatus for generating transactions for performance evaluation
Centomo et al. Automatic generation of cycle-accurate simulink blocks from hdl ips
TWI427496B (zh) 製造積體電路的模型的方法和系統
US7181384B1 (en) Method and apparatus for simulating a hybrid system with registered and concurrent nodes
JP2011238137A (ja) 性能推定装置
JP2007018313A (ja) 回路設計プログラム、回路設計装置、回路設計方法
Sjoholm et al. The need for Co-simulation in ASIC-verification
Knödtel et al. A Novel Methodology for Evaluating the Energy Consumption of IP Blocks in System-Level Designs

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090903

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111115

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

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

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

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees