JP4492803B2 - 動作合成装置及びプログラム - Google Patents

動作合成装置及びプログラム Download PDF

Info

Publication number
JP4492803B2
JP4492803B2 JP2005100714A JP2005100714A JP4492803B2 JP 4492803 B2 JP4492803 B2 JP 4492803B2 JP 2005100714 A JP2005100714 A JP 2005100714A JP 2005100714 A JP2005100714 A JP 2005100714A JP 4492803 B2 JP4492803 B2 JP 4492803B2
Authority
JP
Japan
Prior art keywords
circuit description
information
rtl
description
behavior 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
JP2005100714A
Other languages
English (en)
Other versions
JP2006285333A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2005100714A priority Critical patent/JP4492803B2/ja
Publication of JP2006285333A publication Critical patent/JP2006285333A/ja
Application granted granted Critical
Publication of JP4492803B2 publication Critical patent/JP4492803B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、半導体集積回路装置の動作を記述した動作レベル回路記述から具体的な機能(回路)を記述したRTL回路記述を生成する動作合成装置及び該装置で用いるプログラムに関する。
一般に、LSIやVLSI等の半導体集積回路装置の設計では、設計の支援や一部を自動化するLSI設計自動化・支援ツールが用いられる。このLSI設計の自動化・支援ツールを利用したVLSI設計の代表的な方法として、各種のEDA(Electronic Design Automation)ツールを用いたトップダウン設計方法がある。トップダウン設計方法は、その上流工程から、動作レベル設計フェーズ、機能設計フェーズ、論理設計フェーズ、レイアウト設計フェーズに大別できる。
図14はトップダウン設計方法の概略工程を示すフローチャートである。
図14に示すように、トップダウン設計方法においては、まず設計対象となるLSIをシステムとして捉え、システム仕様の作成工程として、その動作を記述することから始まる。この工程を動作レベル設計フェーズと呼ぶ。動作レベル設計フェーズで作成された回路記述は動作レベル回路記述と呼ばれる。動作レベル回路記述の作成には、例えば、C言語、C++言語、あるいはjava言語等が用いられる。また、SystemCやSpecC等のように、C言語やC++言語に回路表現に便利な特徴を付加した言語が用いられることもある。
図15は動作レベル回路記述の一例を示す図である。
図15はSystemCに似た文法にしたがって記述された動作レベル回路記述の例を示している。
図15に示す動作レベル回路記述では、その1行目及び2行目で4ビットの信号instと8ビットの信号cmdとが定義されている。また、3行目から8行目にはswitch文を用いて信号instの値により信号cmdの値が決まることが定義されている。
動作レベル設計フェーズでは、動作レベル回路記述で表現された回路の動作が正しいか否かを確認する論理検証も併せて行う。動作レベル設計フェーズにおける論理検証には動作レベル論理検証装置が用いられる。動作レベル論理検証装置としては、例えばコンピュータから成る専用のシミュレーション装置等が用いられる。
なお、論理検証を行う際には、動作レベル回路記述に対してアサーションを付加することもある。アサーションとは、設計回路が満たすべき性質を指定する情報であり、例えば非特許文献1に記載された手法を用いて作成する。
アサーションとして付加する情報には、例えば「回路がデッドロック状態に陥らない」のように回路が設計者にとって望ましくない状態にならないことを指定する情報、「リクエスト信号がアクティブになると、それに対する応答信号(アクノレッジ信号)がいつかアクティブになる」のように回路が設計者にとって望ましい状態へ必ず到達することを指定する情報、あるいは「指定された信号のうち、複数の信号が同時にアクティブにならない」のように回路上の信号どうしが設計者にとって望ましい関係で成り立つことを指定する情報等がある。
アサーションは、動作レベル回路記述だけでなく後工程で作成されるRTL(register transfer level)回路記述に対しても付加される。したがって、これらを区別するために動作レベル回路記述に対して付加するアサーションを動作レベルアサーションと呼ぶ。
上記動作レベル論理検証装置は、動作レベル回路記述及び動作レベルアサーションが入力されると、動作レベル回路記述で表現された設計回路が動作レベルアサーションを満たしているか否かを確認する。
図16は動作レベルアサーションの記述例を示す図である。
図16に示すalways never文はアサーション用の記述言語であり、instは上述したように動作レベル回路記述上で定義された信号である。図16ではalways never文を用いて動作レベル回路記述上の信号instの値が4にならないことが定義されている。
トップダウン設計方法においては、図14に示したように動作レベル設計フェーズが終了すると機能設計フェーズが実行される。機能設計フェーズでは、動作合成装置を用いて動作レベル設計フェーズで作成された動作レベル回路記述をRTL回路記述に変換する。RTL回路記述は設計対象の回路をクロック毎の動作にまで具体化した記述である。動作合成装置については、例えば非特許文献2に記載された構成を使用すればよい。
図17は図14に示した動作合成装置の処理手順を示すフローチャートである。
図17に示すように、動作合成装置は、まず前処理工程として、受け取った動作レベル回路記述について、関数呼び出しの解消等のようにあとの工程の処理に適した形式への変換、不要コードの削除、言語レベル最適化による変形処理等を実施する。
次に、動作合成装置は、これら前処理された回路記述を基に、どの工程(またはステート)で、どのような処理や演算等を実行すべきかを決定するスケジューリング工程を実施する。
続いて、スケジューリングされた回路記述を基に、信号値を保持するためのレジスタを生成し、コストが最小となるように各処理で共有化することを考慮しつつ、生成したレジスタに変数を割り当てるレジスタバインディング工程を実施する。また、使用する演算器の数が最適となるように回路記述中の各演算子に演算器をそれぞれ割り当てる演算器マッピング工程(演算器バインディング工程とも言う)を実施する。
最後に、動作合成装置は、レジスタバインディング工程や演算器バインディング工程が終了した回路記述を論理合成可能なRTL回路記述へ変換する後処理工程を実施する。
なお、設計者は、動作合成装置による処理を制御するために、上述した動作レベル回路記述にディレクティブを指定することがある。ディレクティブは、動作合成装置への指示を示す、動作レベル回路記述に付加する情報である。ディレクティブについては、例えば特許文献1の図7A、6行目に例示されている。
ディレクティブは、上記アサーションと同様にRTL回路記述にも付加することがある。したがって、これらを区別するために動作レベル回路記述に対して付加するディレクティブを動作レベルディレクティブと呼ぶ。
動作合成装置は、動作レベル回路記述及び動作レベルディレクティブが入力されると、該動作レベルディレクティブにしたがって動作レベル回路記述の合成を行う。動作レベルディレクティブは、例えば動作レベル回路記述中にコメントあるいは他の形式で挿入される。
図18は動作レベルディレクティブが付加された動作レベル回路記述の一例を示す図である。図18の3行目に示すコメント形式の記述//directive "full case"が動作レベルディレクティブである。
図18では、その1行目から2行目に4ビットの信号instと8ビットの信号cmdとがそれぞれ定義されている。また、4行目から9行目にはswitch文を用いて信号instの値により信号cmdの値が決まることが定義されている。
ここで、上述したように信号instは4ビットであるため、16通りの値が指定可能である。しかしながら、図18では5通りの信号instの値に対する動作しか示されていない。これは、信号instの値が図18で定義された以外の値(6〜15)の場合は、信号cmdの値をそのまま維持することを暗黙のうちに示している。
しかしながら、図18の3行目に記述された動作レベルディレクティブであるfull case文は、これに続くswitch文が想定し得る条件を全て網羅していることを指定している。このような動作レベルディレクティブを挿入することで、図18に示す動作レベル回路記述を受け取った動作合成装置は、switch文の実行時に信号instの値が6から15にならないことが分かるため、信号cmdの値を保持する処理等を考慮することなく、動作レベル回路記述をRTL回路記述へ変換できる。
このように動作レベルディレクティブを指定することで、動作合成時に不要な論理や記憶素子を設ける必要が無くなるため、動作合成装置によって生成される回路規模の増大を抑制できる。
なお、従来、機能設計フェーズでは、周知のハードウェア記述言語HDL(Hardware Description Language)等を用いて、設計者がRTL回路記述を作成する場合が一般的であった。設計者がRTL回路記述を作成する場合、通常、上記動作レベルディレクティブは指定されない。
図19はRTL回路記述の一例を示す図である。
図19は周知のハードウェア記述言語Verilog−HDLの文法にしたがって作成されたRTL回路記述の例である。
図19に示すRTL回路記述では、その1行目から3行目で、4ビットの信号REG00、8ビットの信号MID01及び4ビットの信号stateがそれぞれ定義されている。また、4行目から12行目には、always文を用いて、信号stateの値が2であるとき、信号REG00の値により信号MID01の値が決まることが定義されている。
このようなRTL回路記述を生成する機能設計フェーズでは、RTL回路記述で表現された回路が意図したように動作するか、十分な性能を有しているか等を確認する機能レベルの論理検証も併せて行われる。RTL回路記述の機能レベルにおける論理検証は、RTL回路記述が動作合成装置によって作成されたか設計者によって作成されたかに関係なく実行される。
この機能設計フェーズにおける論理検証には機能レベル論理検証装置が用いられる。機能レベル論理検証装置としては、上記動作レベル論理検証装置と同様に、例えばコンピュータから成る専用のシミュレーション装置等が用いられる。
なお、機能設計フェーズにおける論理検証を行う際には、設計者により回路が満たすべき性質をアサーションとして付加することがある。機能設計フェーズでRTL回路記述に付加するアサーションをRTLアサーションと呼ぶ。また、RTL回路記述には、機能設計フェーズの後工程である論理設計フェーズのためにディレクティブを付加することがある。このRTL回路記述に付加するディレクティブをRTLディレクティブと呼ぶ。これらは、動作レベル設計フェーズにおいて動作レベル回路記述に付加するアサーションやディレクティブと同様に記述される。
図20はRTLアサーションの記述例を示す図である。
図20に示すalways never文は上述したようにアサーション用の記述言語であり、REG00はRTL回路記述上で定義された信号である。図20では、always never文を用いてRTL回路記述上の信号REG00の値が4にならないことが定義されている。
図21はRTLディレクティブが付加されたRTL回路記述の一例を示す図である。
図21の6行目に示すコメント形式の記述// directive "full case"がRTLディレクティブである。
図21に示すRTL回路記述では、その1行目から3行目で、4ビットの信号REG00、8ビットの信号MID01及び4ビットの信号stateがそれぞれ定義されている。
また、4行目から13行目には、always文を用いて、信号stateの値が2であるとき、信号REG00の値により信号MID01の値が決まることが定義されている。さらに、図21の6行目に記述されたRTLディレクティブであるfull case文により、これに続くcase文が想定し得る条件を全て網羅していることが定義されている。
機能設計フェーズが終了すると、論理設計フェーズが実行される。論理設計フェーズでは、論理合成装置を用いて機能設計フェーズで作成されたRTL回路記述を論理レベル回路記述(論理ゲート回路による記述、またはネットリスト)に変換する。論理合成装置で生成されたネットリストは、続くレイアウト設計フェーズでレイアウト設計に用いられ、レイアウト設計で生成された回路パターンを基にチップ設計が行われる(図14参照)。
上述したように、動作レベル設計フェーズや機能設計フェーズでは、設計対象である回路の動作や機能を記述した回路記述の他に、複数の付帯する情報が付加される。これらの情報をまとめて付帯情報と呼ぶ。付帯情報には、上記動作レベルアサーションや動作レベルディレクティブのように動作レベル回路記述に付加される情報(以下、動作レベル付帯情報と称す)、あるいはRTLアサーションやRTLディレクティブのようにRTL回路記述に付加される情報(以下、RTL付帯情報と称す)等がある。なお、動作レベル設計フェーズでは、上記動作レベルアサーションや動作レベルディレクティブのように動作合成対象とならない記述の他に、動作レベル回路記述のデバッグに用いる情報(デバッグ記述)等も付加される。
これらの付帯情報は、動作レベル設計フェーズや機能設計フェーズ等の設計フェーズ毎に生成される回路記述に対してそれぞれ付加されるものであるが、上述したように同様の記述言語を用いて作成されるため、動作レベル設計フェーズや機能設計フェーズ毎にそれぞれアサーションやディレクティブを作成することは非効率である。
しかしながら、動作レベル回路記述とRTL回路記述とでは、使用する信号の名称、あるいはアサーションやディレクティブを適用する条件等が異なるため、動作レベル回路記述に付加した動作レベルアサーションや動作レベルディレクティブを、RTL回路記述に対してそのまま再利用し付加することはできない。
また、上述した動作合成装置が実施するスケジューリング処理によって、動作レベル回路記述の実行文の一部が並列化されたり、実行順序が変更されることがあるため、動作レベルアサーションや動作レベルディレクティブをRTL回路記述へ付加する場合、どの工程(またはステート)に適用するのか、あるいはどの工程で実行する処理に適用するのかが容易に判別できない場合が多い。
さらに、動作合成装置が実行するレジスタバインディング工程や演算器バインディング工程によって、動作レベル回路記述では同時に使用されない複数の信号がRTL回路記述では同一の信号にマッピングされる等、バインディング工程によって信号名が変更されることもある。そのため、動作レベルアサーションや動作レベルディレクティブで指定された信号が、RTL回路記述ではどの信号に対応するのか容易に判別できない場合が多い。
また、図16に示した動作レベルアサーションや図20に示したRTLアサーションから分かるように、動作レベルアサーションとRTLアサーションとでは同様の情報を指定することが可能であるが、動作レベル回路記述を基に具体的な機能(回路)を示すRTL回路記述を生成した場合も信号名称が変わってしまうことがある。例えば、図15に示した動作レベル回路記述と図19に示したRTL回路記述を比較すると、動作レベル回路記述で使用する信号がinst, cmdであるのに対し、RTL回路記述で使用する信号はREG00, MID01, stateとなっている。そのため、機能設計フェーズでは動作レベル設計フェーズで使用したアサーションをそのまま使用することはできない。
同様に、図18に示した動作レベル回路記述と図21に示したRTL回路記述を比較すると、信号名称が変わっていることが分かる。また、図18の動作レベル回路記述で使用しているswitch文と図21のRTL回路記述で使用しているcase文に関連があることが分からないと、動作レベルディレクティブをRTLディレクティブとして再利用することはできない。
ところで、動作レベル回路記述とRTL回路記述の相違に起因する問題は、上述したアサーションやディレクティブが別々に必要となることで設計効率が低下する問題だけでなく様々な問題を引き起こしている。そのような各種の問題を解決するために従来から様々な手法が検討されてきた。
例えば、設計回路の動作を高速にシミュレートするために動作レベル回路記述とRTL回路記述とを適宜切り替えて用いる場合、動作レベル回路記述とRTL回路記述との差異が問題になる。このような問題を解決するため、特許文献2では、動作レベル回路記述とRTL回路記述との対応関係を生成する生成手段を備え、当該対応関係に基づき動作レベル回路記述の変数をRTL回路記述のレジスタにマッピングする手法が記載されている。
また、特許文献3には、論理設計フェーズで用いる論理合成装置において、論理合成装置からの情報を基にRTL回路記述と論理回路記述との対応関係を生成する生成ユニットを有し、当該対応関係によりRTL回路記述と論理回路記述を対比表示することが記載されている。
また、特許文献4には、動作レベル回路記述、RTL回路記述及び動作レベル回路記述中のテスト系列を基に、RTL回路記述に対するテスト系列を生成することが記載されている。このとき、動作レベル回路記述及びRTL回路記述を解析してRTL回路記述用のテスト系列の生成に必要な対応関係を生成すること、あるいは動作合成装置から得られる対応関係を使用することが記載されている。
米国特許第6397341号明細書 特許第3173729号公報 特開平5−2621号公報 特許第3373641号公報 ハリー・フォスター(H.D. Foster)、他3名、アサーションベースドデザイン(Assertion-based design)、クルーワーアカデミックパブリシャーズ(Kluwer Academic Publishers)、2003年、pp. 1-20。 若林一敏、他1名、アイ・イー・イー・イー・トランザクションズ・オン・コンピュータ・エイディド・デザイン(IEEE Transactions on Computer Aided Design)、2000年11月、pp. 1507-1522。
上述したように、従来の技術では、動作レベル回路記述とRTL回路記述との相違により、アサーションやディレクティブを別々に作成する必要があるため、設計効率が低下する問題がある。
なお、動作レベル回路記述とRTL回路記述に付加するアサーションやディレクティブを共有するために、動作合成装置で生成されたRTL回路記述に対して、設計者が、動作レベル回路記述とRTL回路記述との差異を勘案の上、RTLアサーションやRTLディレクティブに翻訳または変換し付加する方法も考えられる。しかしながら、そのような人手による作業は、通常、回路記述の解析が困難であるために設計ミスを引き起こす要因となる。
また、特許文献2に記載の技術では、動作レベル回路記述中の構成要素とRTL回路記述中の構成要素との間の対応関係を基に、互いの構成要素が保持する値をそのまま交換する方法が示されているだけであるため、動作レベル回路記述に付加するディレクティブやアサーション等の付帯情報を加工してRTL回路記述の付帯情報として用いることはできない。
また、特許文献3に記載の技術では、RTL回路記述中の構成要素と論理回路記述中の構成要素との対応関係を把握し、対応する構成要素を対比表示することのみ示されている。したがって、特許文献3に記載の技術でも動作レベル回路記述に付加するディレクティブやアサーション等の付帯情報を加工してRTL回路記述の付帯情報として用いることはできない。
同様に、特許文献4に記載の技術では、動作レベル回路記述中の外部入出力値とRTL回路記述中の外部入出力値との対応関係を把握し、互いの外部入出力値をそのまま交換する方法が示されているだけであるため、動作レベル回路記述に付加するディレクティブやアサーション等の付帯情報を加工してRTL回路記述の付帯情報として用いることはできない。
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、動作レベル回路記述に付加する付帯情報からRTL回路記述に付加する付帯情報への変換を可能にして設計効率を向上させることができる動作合成装置及び該装置で用いるプログラムを提供することを目的とする。
上記目的を達成するため本発明の動作合成装置は、動作レベル回路記述を基にRTL回路記述を生成すると共に、
(a)前記動作レベル回路記述に含まれる信号、演算及び記述文と、前記RTL回路記述に含まれる信号、演算及び記述文の対応関係、並びに
(b)前記動作レベル回路記述に含まれる信号及び演算と、前記RTL回路記述に含まれる信号及び演算が対応するための条件
を含む、前記動作記述レベルと前記RTL回路記述の対応関係を示す情報を生成する動作合成手段と、
予め設定された変換ルール、及び前記動作合成手段で生成された前記対応関係の情報を基に、前記動作レベル回路記述に付加された付帯情報を前記RTL回路記述に付加する付帯情報に変換する付帯情報変換手段と、
を有する。
または、付帯情報が付加された動作レベル回路記述から該付帯情報を抽出し、該付帯情報を判別するための情報である付帯情報中間記述を生成する付帯情報抽出手段と、
動作レベル回路記述を基にRTL回路記述を生成すると共に、
(a)前記動作レベル回路記述に含まれる信号、演算及び記述文と、前記RTL回路記述に含まれる信号、演算及び記述文の対応関係、並びに
(b)前記動作レベル回路記述に含まれる信号及び演算と、前記RTL回路記述に含まれる信号及び演算が対応するための条件
を含む、前記動作記述レベルと前記RTL回路記述の対応関係を示す情報を生成する動作合成手段と、
予め設定された変換ルール、前記付帯情報抽出手段で生成された前記付帯情報中間記述及び前記動作合成手段で生成された前記対応関係の情報を基に、前記動作レベル回路記述に付加された付帯情報を前記RTL回路記述に付加する付帯情報に変換する付帯情報変換手段と、
を有する。
一方、本発明のプログラムは、コンピュータに、半導体集積回路装置の動作を記述した動作レベル回路記述から具体的な機能を記述したRTL回路記述を生成させるためのプログラムであって、
動作レベル回路記述を基にRTL回路記述を生成するステップと、
(a)前記動作レベル回路記述に含まれる信号、演算及び記述文と、前記RTL回路記述に含まれる信号、演算及び記述文の対応関係、並びに
(b)前記動作レベル回路記述に含まれる信号及び演算と、前記RTL回路記述に含まれる信号及び演算が対応するための条件
を含む、前記動作記述レベルと前記RTL回路記述の対応関係を示す情報を生成するステップと、
予め設定された変換ルール、及び前記対応関係の情報を基に、前記動作レベル回路記述に付加された付帯情報を前記RTL回路記述に付加する付帯情報に変換するステップと、
をコンピュータに実行させるためのものである。
または、コンピュータに、半導体集積回路装置の動作を記述した動作レベル回路記述から具体的な機能を記述したRTL回路記述を生成させるためのプログラムであって、
付帯情報が付加された動作レベル回路記述から該付帯情報を抽出し、該付帯情報を判別するための情報である付帯情報中間記述を生成するステップと、
動作レベル回路記述を基にRTL回路記述を生成するステップと、
(a)前記動作レベル回路記述に含まれる信号、演算及び記述文と、前記RTL回路記述に含まれる信号、演算及び記述文の対応関係、並びに
(b)前記動作レベル回路記述に含まれる信号及び演算と、前記RTL回路記述に含まれる信号及び演算が対応するための条件
を含む、前記動作記述レベルと前記RTL回路記述の対応関係を示す情報を生成するステップと、
予め設定された変換ルール、前記付帯情報中間記述及び前記動作合成手段で生成された前記対応関係の情報を基に、前記動作レベル回路記述に付加された付帯情報を前記RTL回路記述に付加する付帯情報に変換するステップと、
をコンピュータに実行させるためのものである。
上記のような動作合成装置及びプログラムでは、予め設定された変換ルール及び対応関係の情報、または予め設定された変換ルール、付帯情報中間記述及び対応関係の情報を基に、動作レベル回路記述の付帯情報がRTL回路記述の付帯情報に変換されるため、動作レベル回路記述の付帯情報とRTL回路記述の付帯情報とをそれぞれ個別に作成する必要がなくなる。
本発明によれば、付帯情報変換ルール及び対応関係の情報を基に、動作レベル回路記述の付帯情報がRTL回路記述の付帯情報に変換されるため、動作レベル回路記述の付帯情報とRTL回路記述の付帯情報とをそれぞれ個別に作成する必要がなくなる。したがって、半導体集積回路装置の設計効率が向上する。また、人手による付帯情報の作成作業は不要であるため、それに起因する設計ミスが防止される。
次に本発明について図面を参照して説明する。
(第1の実施の形態)
図1は本発明の動作合成装置の第1の実施の形態の構成を示すブロック図である。
図1に示すように、第1の実施の形態の動作合成装置は、動作レベル回路記述及び動作レベル付帯情報からRTL回路記述及びRTL付帯情報をそれぞれ生成する処理装置100と、処理に必要な各種情報が格納される記憶装置200とを有する構成である。
本実施形態の処理装置100は、動作合成手段101及び付帯情報変換手段102を有する構成である。また、記憶装置200は、動作レベル回路記述記憶部201、動作レベル付帯情報記憶部202、対応関係記憶部203、RTL回路記述記憶部204、RTL付帯情報記憶部205及び付帯情報変換ルール記憶部209を有する構成である。
動作レベル回路記述記憶部201には動作レベル回路記述が予め格納され、動作レベル付帯情報記憶部202には動作レベル付帯情報が予め格納されている。動作レベル回路記述及び動作レベル付帯情報は、例えば設計者によって準備される。
記憶装置200の対応関係記憶部203には、動作合成手段101で生成された動作レベル回路記述とRTL回路記述の対応関係を示す情報(以下、単に「対応関係」と称す)が格納される。動作レベル回路記述とRTL回路記述の対応関係としては、例えば、「信号の対応関係」、「演算の対応関係」、「記述文の対応関係」等がある。
動作合成手段101は、動作レベル回路記述記憶部201に格納された動作レベル回路記述を読み出し、従来と同様の技術を用いてRTL回路記述を生成し、生成したRTL回路記述をRTL回路記述記憶部204へ格納する。また、動作レベル回路記述とRTL回路記述の相違からその対応関係を生成し、生成した対応関係を対応関係記憶部203へ格納する。
付帯情報変換手段102は、付帯情報変換ルール記憶部209に格納された付帯情報変換ルール、動作レベル付帯情報記憶部202に格納された動作レベル付帯情報、対応関係記憶部203に格納された対応関係をそれぞれ読み出し、それらの情報を基に動作レベル付帯情報からRTL付帯情報に生成し、RTL付帯情報記憶部205へ格納する。
付帯情報変換ルール記憶部209に格納される付帯情報変換ルールは、付帯情報の種類によって異なり、例えば付帯情報の記述に用いる文法の変換ルール、動作レベル回路記述の信号をRTL回路記述の信号へ置き換えるためのルール、RTL回路記述に付加する付帯情報の位置に関するルール等がある。
なお、本実施形態の動作合成装置は、図1に示した各構成要素の機能を実現するLSIや論理回路等によって構成されていてもよく、図2に示すような情報処理装置(コンピュータ)によって実現されてもよい。図2に示す情報処理装置は、CPUを含む処理装置100と、記憶装置200と、記録媒体500とを有し、処理装置100は、記録媒体500に格納された動作合成用プログラムを読み込み、該動作合成プログラムにしたがってCPUにより以下に記載する本実施形態の動作合成手段101及び付帯情報変換手段102の処理をそれぞれ実行する。
また、記憶装置200は、そのメモリ領域が、上記動作レベル回路記述記憶部201、動作レベル付帯情報記憶部202、対応関係記憶部203、RTL回路記述記憶部204RTL付帯情報記憶部205及び付帯情報変換ルール記憶部209にそれぞれ分割されて使用される。
次に本実施形態の動作合成装置の動作について図1を参照しつつ図3を用いて説明する。
図3は本発明の動作合成装置の第1の実施の形態の動作を示すフローチャートである。
上述したように、動作レベル回路記述記憶部201には動作レベル回路記述が予め格納され、動作レベル付帯情報記憶部202には動作レベル付帯情報が予め格納されているものとする。また、付帯情報変換ルール記憶部209には付帯情報変換ルールが予め格納されているものとする。
動作レベル回路記述は、従来と同様にC言語、C++言語またはjava言語、あるいはSystemC、SpecC等のように、C言語またはC++言語に回路の表現に便利な特徴を付加した言語を用いて作成される。
動作レベル回路記述の一例は図15に示したとおりである。図15に示した動作レベル回路記述では、その1行目及び2行目で4ビットの信号instと8ビットの信号cmdとが定義されている。また、3行目から8行目にはswitch文を用いて信号instの値により信号cmdの値が決まることが定義されている。
なお、以下では、動作レベル付帯情報として動作レベルアサーションを例にして説明する。動作レベルアサーションは、上述したように回路の動作が満たすべき性質を指定する情報であり、例えば非特許文献1に記載された技術を用いて作成される。
動作レベルアサーションの記述例は図16に示したとおりである。上述したように、図16では、always never文を用いて動作レベル回路記述上の信号instの値が4にならないことが定義されている。
図3に示すように、本実施形態の動作合成装置は、まず動作合成手段101を用いて動作レベル回路記述記憶部201に格納された動作レベル回路記述及び動作レベル付帯情報記憶部202に格納された動作レベル付帯情報をそれぞれ読み出し、該動作レベル回路記述及び動作レベル付帯情報を基にRTL回路記述を生成する。また、動作レベル回路記述と生成したRTL回路記述との相違からそれらの対応関係を生成する(ステップA1)。生成したRTL回路記述はRTL回路記述記憶部204へ格納し、対応関係は対応関係記憶部203へ格納する。このステップA1の処理は、例えば非特許文献2に記載された既知の技術を用いて実施すればよい。
動作合成装置で生成するRTL回路記述の一例は図19に示したとおりである。上述したように、図19に示すRTL回路記述では、その1行目から3行目に4ビットの信号REG00、8ビットの信号MID01及び4ビットの信号stateがそれぞれ定義されている。また、4行目から12行目にはalways文を用いて、信号stateの値が2であるとき、信号REG00の値により信号MID01の値が決まることが定義されている。すなわち、信号REG00の値が、4’h1,4’h2,4’h3,4’h4, 4’h5のとき、信号MID01の値が8’h1, 8’h2, 8’h4, 8’h8, 8’h10にそれぞれ決まることが定義され、信号REG00の値が上記以外の場合は、信号MID01の値が特に定められていないことが示されている。
図4は第1の実施の形態の動作合成装置で生成する対応関係の記述例を示す図である。
図4に示す記述は、上記「信号の対応関係」を定義したものであり、動作レベル回路記述に含まれる信号と、その信号に対応するRTL回路記述に含まれる信号と、これらの信号が対応するための条件とが含まれている。具体的には、条件state == 4'h2が成り立つとき、動作レベル回路記述の信号inst、信号cmdが、RTL回路記述の信号REG00、信号MID01にそれぞれ対応することが定義されている。
動作合成装置は、動作合成手段101を用いてRTL回路記述及び対応関係を生成すると、付帯情報変換手段102を用いて付帯情報変換ルール記憶部209に格納された付帯情報変換ルール、対応関係記憶部203に格納された対応関係及び動作レベル付帯情報記憶部202に格納された動作レベル付帯情報をそれぞれ読み出し、付帯情報変換ルール及び対応関係に基づき動作レベル付帯情報をRTL付帯情報に変換する(ステップA2)。変換したRTL付帯情報はRTL付帯情報記憶部205へ格納する。
例えば、図15に示した動作レベル回路記述を図19に示したRTL回路記述へ変換する場合、付帯情報変換ルールとしては、動作レベル回路記述の信号をRTL回路記述の信号へ置き換えるためのルールが定義される。この場合、付帯情報変換手段102は、図4に示した対応関係の情報を基に、この付帯情報変換ルールにしたがって動作レベルアサーション内で定義された信号inst, cmdをRTLアサーションの信号REG00, MID01へ置き換えることでRTLアサーションを生成する。
本実施形態の動作合成装置によれば、付帯情報変換ルール記憶部209に格納された付帯情報変換ルール及び対応関係記憶部203に格納された対応関係を基に、動作レベル付帯情報がRTL付帯情報に変換されるため、動作レベル付帯情報とRTL付帯情報とをそれぞれ個別に作成する必要がなくなる。したがって、半導体集積回路装置の設計効率が向上する。また、人手による付帯情報の作成作業は不要であるため、それに起因する設計ミスが防止される。
(第2の実施の形態)
次に本発明の動作合成装置の第2の実施の形態について図面を用いて説明する。
図5は本発明の動作合成装置の第2の実施の形態の構成を示すブロック図である。
図5に示すように、第2の実施の形態の動作合成装置は、付帯情報が付加された動作レベル回路記述からRTL回路記述及びRTL付帯情報をそれぞれ生成する処理装置300と、処理に必要な各種情報が格納される記憶装置400とを有する構成である。
本実施形態の処理装置300は、動作合成手段101、付帯情報変換手段102及び付帯情報抽出手段103を有する構成である。また、記憶装置400は、付帯情報つき動作レベル回路記述記憶部206、対応関係記憶部203、RTL回路記述記憶部204、RTL付帯情報記憶部205、付帯情報中間記述記憶部207、付帯情報つきRTL回路記述記憶部208及び付帯情報変換ルール記憶部209を有する構成である。
付帯情報つき動作レベル回路記述記憶部206には動作レベル付帯情報が付加された動作レベル回路記述が格納される。
対応関係記憶部203には、第1の実施の形態と同様に動作合成手段101で生成された、動作レベル回路記述とRTL回路記述の対応関係を示す情報が格納される。動作レベル回路記述とRTL回路記述との対応関係としては、例えば、「信号の対応関係」、「演算の対応関係」、「記述文の対応関係」等がある。
付帯情報抽出手段103は、付帯情報つき動作レベル回路記述記憶部206に格納された動作レベル付帯情報が付加された動作レベル回路記述を読み出し、動作レベル付帯情報を抽出して付帯情報中間記述を取得し、該付帯情報中間記述を付帯情報中間記述記憶部207へ格納する。付帯情報中間記述は、例えば付帯情報が付加された動作レベル回路記述中の行の情報、動作レベル回路記述の情報、付帯情報等の該付帯情報を判別するための情報から構成される。
動作合成手段101は、付帯情報つき動作レベル回路記述記憶部206に格納された動作レベル付帯情報が付加された動作レベル回路記述を読み出し、従来と同様の技術を用いてRTL回路記述を生成し、生成したRTL回路記述をRTL回路記述記憶部204へ格納する。また、動作レベル回路記述とRTL回路記述の相違からその対応関係を生成し、生成した対応関係を対応関係記憶部203へ格納する。
付帯情報変換手段102は、付帯情報変換ルール記憶部209に格納された付帯情報変換ルール、付帯情報中間記述記憶部207に格納された付帯情報中間記述及び対応関係記憶部203に格納された対応関係をそれぞれ読み出し、それらの情報を基に動作レベル付帯情報をRTL付帯情報に変換し、RTL回路記述記憶部204から読み出したRTL回路記述に該RTL付帯情報を付加して付帯情報つきRTL回路記述記憶部208へ格納する。
付帯情報変換ルール記憶部209に格納される付帯情報変換ルールは、付帯情報の種類によって異なり、例えば付帯情報の記述に用いる文法の変換ルール、動作レベル回路記述の信号をRTL回路記述の信号へ置き換えるためのルール、RTL回路記述に付加する付帯情報の位置に関するルール等がある。
なお、本実施形態の動作合成装置は、図5に示した各構成要素の機能を実現するLSIや論理回路等によって構成されていてもよく、図6に示すような情報処理装置によって実現されてもよい。図6に示す情報処理装置は、CPUを含む処理装置300と、記憶装置400と、記録媒体500とを有し、処理装置300は、記録媒体500に格納された動作合成用プログラムを読み込み、該動作合成プログラムにしたがってCPUにより以下に記載する本実施形態の動作合成手段101、付帯情報変換手段102及び付帯情報抽出手段103の処理をそれぞれ実行する。
また、記憶装置400は、そのメモリ領域が、上記付帯情報つき動作レベル回路記述記憶部206、対応関係記憶部203、RTL回路記述記憶部204、RTL付帯情報記憶部205、付帯情報中間記述記憶部207、付帯情報つきRTL回路記述記憶部208及び付帯情報変換ルール記憶部209にそれぞれ分割されて使用される。
次に本実施形態の動作合成装置の動作について図5を参照しつつ図7を用いて説明する。
図7は本発明の動作合成装置の第2の実施の形態の動作を示すフローチャートである。
上述したように、付帯情報つき動作レベル回路記述記憶部206には動作レベル付帯情報が付加された動作レベル回路記述が予め格納され、付帯情報変換ルール記憶部209には付帯情報変換ルールが予め格納されているものとする。
動作レベル回路記述は、従来と同様にC言語、C++言語またはjava言語、あるいはSystemC、SpecC等のように、C言語またはC++言語に回路の表現に便利な特徴を付加した言語を用いて作成される。
まず、動作レベル付帯情報として動作レベルディレクティブを付加する場合を例にして本実施形態の動作を説明する。
動作レベルディレクティブが付加された動作レベル回路記述の一例は図18に示したとおりである。上述したように、図18ではswitch文を用いて信号instの値により信号cmdの値が決まることが定義されている。また、図18では、動作レベルディレクティブの記述であるfull case文を用いて、これに続くswitch文が想定し得る条件を全て網羅していることを定義している。
このような動作レベルディレクティブを挿入することで、図18に示す動作レベル回路記述を受け取った動作合成装置は、switch文の実行時に信号instの値が6から15にならないことが分かるため、信号cmdの値を保持する処理等を考慮することなく、動作レベル回路記述をRTL回路記述へ変換できる。
図7に示すように、本実施形態の動作合成装置は、まず付帯情報抽出手段103を用いて、付加情報つき動作レベル回路記述記憶部206に格納された動作レベル付帯情報が付加された動作レベル回路記述を読み出し、動作レベル付帯情報を抽出して付帯情報中間記述を取得する(ステップB1)。取得した付帯情報中間記述は付帯情報中間記述記憶部207に格納する。
図8は動作レベルディレクティブを指定する付帯情報中間記述の一例を示す図である。
図8には、動作レベル回路記述に動作レベルディレクティブ//directive "full case"が挿入され、その処理対象が4行目のswitch文であることが定義されている。
次に、動作合成装置は、動作合成手段101を用いて付帯情報つき動作レベル回路記述記憶部206に格納された動作レベル付帯情報が付加された動作レベル回路記述を読み出し、該動作レベル回路記述及び動作レベル付帯情報を基にRTL回路記述を生成する。また、動作レベル回路記述と生成したRTL回路記述の相違からそれらの対応関係を生成する(ステップB2)。生成したRTL回路記述はRTL回路記述記憶部204へ格納し、対応関係は対応関係記憶部203へ格納する。このステップB2の処理は、例えば非特許文献2に記載された既知の技術を用いて実施すればよい。
動作合成装置で生成するRTL回路記述の一例は図19に示したとおりである。
上述したように、図19に示すRTL回路記述では、その1行目から3行目に4ビットの信号REG00、8ビットの信号MID01及び4ビットの信号stateがそれぞれ定義されている。また、4行目から12行目にはalways文を用いて、信号stateの値が2であるとき、信号REG00の値により信号MID01の値が決まることが定義されている。すなわち、信号REG00の値が、4’h1,4’h2,4’h3,4’h4, 4’h5のとき、信号MID01の値が8’h1, 8’h2, 8’h4, 8’h8, 8’h10にそれぞれ決まることが定義され、信号REG00の値が上記以外の場合は、信号MID01の値が特に定められていないことが示されている。
図9は第2の実施の形態の動作合成装置で生成する対応関係の記述例を示す図である。
図9に示す記述は、図4に示した動作レベル回路記述の信号とRTL回路記述の信号の対応関係に加えて、上記「記述文の対応関係」を定義したものであり、動作レベル回路記述の4行目に記載されたswitch()文がRTL回路記述の6行目に記載のcase()文に対応することが定義されている。
動作合成装置は、動作合成手段101を用いてRTL回路記述及び対応関係を生成すると、付帯情報変換手段102を用いて付帯情報変換ルール記憶部209に格納された付帯情報変換ルール、対応関係記憶部203に格納された対応関係及び付帯情報中間記述記憶部207に格納された付帯情報中間記述をそれぞれ読み出し、付帯情報変換ルール及び対応関係に基づき動作レベル付帯情報をRTL付帯情報に変換する(ステップB3)。変換したRTL付帯情報はRTL回路記述記憶部204から読み出したRTL回路記述に付加し、付帯情報つきRTL回路記述記憶部208へ格納する。
RTL付帯情報が付加されたRTL回路記述の一例は図21に示したとおりである。
図21では、その1行目から3行目に4ビットの信号REG00、8ビットの信号MID01及び4ビットの信号stateがそれぞれ定義されている。また、4行目から13行目にはalways文を用いて、信号stateの値が2であるとき、信号REG00の値により信号MID01の値が決まることが定義されている。さらに、図21では、動作レベルディレクティブの記述である6行目のfull case文を用いて、これに続くcase文が想定し得る条件を全て網羅していることが定義されている。
例えば、図18に示した動作レベル回路記述を図21に示したRTL回路記述へ変換する場合、付帯情報変換ルールとしては、動作レベル回路記述からRTL回路記述への変換と共に動作レベル回路記述に付加されたディレクティブも変換してRTL回路記述へ付加するルール、及びその際にRTL回路記述の文法に変換するルールが定義される。この場合、付帯情報変換手段102は、図9に示した対応関係の情報を基に、この付帯情報変換ルールにしたがって動作レベルディレクティブ内で定義された信号inst, cmdをRTLディレクティブの信号REG00, MID01へ置き換える。また、動作レベル回路記述の4行目のswitch()文をRTL回路記述の6行目にcase()文として挿入することでRTLディレクティブを生成する。その際、記述文法を動作ディレクティブからRTLディレクティブへ変換する。
次に、動作レベル付帯情報として動作レベル回路記述をデバッグするためのデバッグ記述を付加する場合を例にして本実施形態の動作を説明する。なお、動作合成装置には、図5または図6に示した構成を用いるため、ここではその説明を省略する。
図10はデバッグ記述が付加された動作レベル回路記述の一例を示す図である。
図10の3行目に示す printf() がデバッグ記述である。このデバッグ記述は動作レベル設計フェーズにおいて設計した回路が正しいか否かを確認する論理検証時に使用される。
図10では、その1行目から2行目に4ビットの信号instと8ビットの信号cmdとがそれぞれ定義されている。また、4行目から9行目にはswitch文を用いて信号instの値により信号cmdの値が決まることが定義されている。さらに、回路動作をモニタするために、3行目のprintf()文により、これに続くswitch文を実行する直前の信号instの値をコンソール画面に出力することが定義されている。
図3に示したように、動作合成装置は、付帯情報抽出手段103を用いて、付加情報つき動作レベル回路記述記憶部206に格納された動作レベル付帯情報が付加された動作レベル回路記述を読み出し、動作レベル付帯情報を抽出して付帯情報中間記述を取得する(ステップB1)。取得した付帯情報中間記述は付帯情報中間記述記憶部207に格納する。
図11はデバッグ記述を指定する付帯情報中間記述の一例を示す図である。
図11には、動作レベル回路記述の3行目にデバッグ記述である printf() が挿入され、その処理対象が動作レベル回路記述中の信号instであることが定義されている。
次に、動作合成装置は、動作合成手段101を用いて付帯情報つき動作レベル回路記述記憶部206に格納された動作レベル付帯情報が付加された動作レベル回路記述を読み出し、該動作レベル回路記述を基にRTL回路記述を生成する。また、動作レベル回路記述と生成したRTL回路記述との相違からそれらの対応関係を生成する(ステップB2)。生成したRTL回路記述はRTL回路記述記憶部204へ格納し、対応関係は対応関係記憶部203へ格納する。
動作合成装置で生成するRTL回路記述の一例は図19に示したとおりである。
図12は第2の実施の形態の動作合成装置で生成する対応関係の他の例を示す図である。
図12に示す記述は、上記「演算の対応関係」を定義したものであり、動作レベル回路記述に含まれる演算と、その演算に対応するRTL回路記述に含まれる演算と、これらの演算が対応するための条件とが含まれている。具体的には、RTL回路記述において条件 state == 4'h2 が成り立つとき、動作レベル回路記述中の信号instに対する処理をRTL回路記述中の信号REG00に処理に置き換えることが定義されている。
動作合成装置は、動作合成手段101を用いてRTL回路記述及び対応関係を生成すると、付帯情報変換手段102を用いて付帯情報変換ルール記憶部209に格納された付帯情報変換ルール、対応関係記憶部203に格納された対応関係及び付帯情報中間記述記憶部207に格納された付帯情報中間記述をそれぞれ読み出し、付帯情報変換ルール及び対応関係に基づき動作レベル付帯情報をRTL付帯情報に変換する(ステップB3)。変換したRTL付帯情報はRTL回路記述記憶部204から読み出したRTL回路記述に付加し、付帯情報つきRTL回路記述記憶部208へ格納する。
図13はデバッグ記述が付加されたRTL回路記述の一例を示す図である。
図13では、その1行目から3行目に4ビットの信号REG00、8ビットの信号MID01及び4ビットの信号stateがそれぞれ定義されている。また、4行目から11行目にはalways文を用いて、信号stateの値が2であるとき、信号REG00の値により信号MID01の値が決まることが定義されている。さらに、図13では、動作レベル回路記述中の信号instに対応するRTL回路記述中の信号REG00をモニタするために、12行目から14行目にデバッグ記述が挿入されている。
ここでは、条件 state == 4'h2 が成り立つとき、動作レベル回路記述中の信号instは、RTL回路記述中の信号REG00に対応し、信号stateの値が4'h2 のとき、信号REG00の値を画面に出力するよう定義されている。
例えば、図10に示した動作レベル回路記述を図13に示したRTL回路記述へ変換する場合、付帯情報変換ルールとしては、動作レベル回路記述中の信号に対応するRTL回路記述中の信号の値を出力するルール、及びその際にRTL回路記述の文法にしたがって出力するルールが定義される。
この場合、付帯情報変換手段102は、図12に示した対応関係の情報を基に、この付帯情報変換ルールにしたがって、RTL回路記述において条件 state == 4'h2 が成り立つとき、動作レベル回路記述中の信号instをRTL回路記述の信号REG00に置き換え、RTL回路記述の文法にしたがって画面に出力する。
本実施形態の動作合成装置によれば、付帯情報抽出手段103により動作レベル回路記述に付加された付帯情報を抽出し、付帯情報変換ルール記憶部209に格納された付帯情報変換ルール及び対応関係記憶部203に格納された対応関係を基に、付帯情報変換手段102により動作レベル付帯情報がRTL付帯情報に変換されるため、動作レベル回路記述に付帯情報が既に付加されている場合でも、第1の実施の形態と同様に動作レベル付帯情報とRTL付帯情報とをそれぞれ個別に作成する必要がなくなる。したがって、半導体集積回路装置の設計効率が向上する。また、人手による付帯情報の作成作業は不要であるため、それに起因する設計ミスが防止される。
本発明の動作合成装置の第1の実施の形態の構成を示すブロック図である。 本発明の動作合成装置の第1の実施の形態の他の構成例を示すブロック図である。 本発明の動作合成装置の第1の実施の形態の動作を示すフローチャートである。 第1の実施の形態の動作合成装置で生成する対応関係の記述例を示す図である。 本発明の動作合成装置の第2の実施の形態の構成を示すブロック図である。 本発明の動作合成装置の第2の実施の形態の他の構成例を示すブロック図である。 本発明の動作合成装置の第2の実施の形態の動作を示すフローチャートである。 動作レベルディレクティブを指定する付帯情報中間記述の一例を示す図である。 第2の実施の形態の動作合成装置で生成する対応関係の記述例を示す図である。 デバッグ記述が付加された動作レベル回路記述の一例を示す図である。 デバッグ記述を指定する付帯情報中間記述の一例を示す図である。 第2の実施の形態の動作合成装置で生成する対応関係の他の例を示す図である。 デバッグ記述が付加されたRTL回路記述の一例を示す図である。 トップダウン設計方法の概略工程を示すフローチャートである。 動作レベル回路記述の一例を示す図である。 動作レベルアサーションの記述例を示す図である。 図14に示した動作合成装置の処理手順を示すフローチャートである。 動作レベルディレクティブが付加された動作レベル回路記述の一例を示す図である。 RTL回路記述の一例を示す図である。 RTLアサーションの記述例を示す図である。 RTLディレクティブが付加されたRTL回路記述の一例を示す図である。
符号の説明
100 処理装置
101 動作合成手段
102 付帯情報変換手段
103 付帯情報抽出手段
200 記憶装置
201 動作レベル回路記述記憶部
202 動作レベル付帯情報記憶部
203 対応関係記憶部
204 RTL回路記述記憶部
205 RTL付帯情報記憶部
206 付帯情報つき動作レベル回路記述記憶部
207 付帯情報中間記述記憶部
208 付帯情報つきRTL回路記述記憶部
209 付帯情報変換ルール記憶部
500 記録媒体

Claims (4)

  1. 動作レベル回路記述を基にRTL回路記述を生成すると共に、
    (a)前記動作レベル回路記述に含まれる信号、演算及び記述文と、前記RTL回路記述に含まれる信号、演算及び記述文の対応関係、並びに
    (b)前記動作レベル回路記述に含まれる信号及び演算と、前記RTL回路記述に含まれる信号及び演算が対応するための条件
    を含む、前記動作記述レベルと前記RTL回路記述の対応関係を示す情報を生成する動作合成手段と、
    予め設定された変換ルール、及び前記動作合成手段で生成された前記対応関係の情報を基に、前記動作レベル回路記述に付加された付帯情報を前記RTL回路記述に付加する付帯情報に変換する付帯情報変換手段と、
    を有する動作合成装置。
  2. 付帯情報が付加された動作レベル回路記述から該付帯情報を抽出し、該付帯情報を判別するための情報である付帯情報中間記述を生成する付帯情報抽出手段と、
    動作レベル回路記述を基にRTL回路記述を生成すると共に、
    (a)前記動作レベル回路記述に含まれる信号、演算及び記述文と、前記RTL回路記述に含まれる信号、演算及び記述文の対応関係、並びに
    (b)前記動作レベル回路記述に含まれる信号及び演算と、前記RTL回路記述に含まれる信号及び演算が対応するための条件
    を含む、前記動作記述レベルと前記RTL回路記述の対応関係を示す情報を生成する動作合成手段と、
    予め設定された変換ルール、前記付帯情報抽出手段で生成された前記付帯情報中間記述及び前記動作合成手段で生成された前記対応関係の情報を基に、前記動作レベル回路記述に付加された付帯情報を前記RTL回路記述に付加する付帯情報に変換する付帯情報変換手段と、
    を有する動作合成装置。
  3. コンピュータに、半導体集積回路装置の動作を記述した動作レベル回路記述から具体的な機能を記述したRTL回路記述を生成させるためのプログラムであって、
    動作レベル回路記述を基にRTL回路記述を生成するステップと、
    (a)前記動作レベル回路記述に含まれる信号、演算及び記述文と、前記RTL回路記述に含まれる信号、演算及び記述文の対応関係、並びに
    (b)前記動作レベル回路記述に含まれる信号及び演算と、前記RTL回路記述に含まれる信号及び演算が対応するための条件
    を含む、前記動作記述レベルと前記RTL回路記述の対応関係を示す情報を生成するステップと、
    予め設定された変換ルール、及び前記対応関係の情報を基に、前記動作レベル回路記述に付加された付帯情報を前記RTL回路記述に付加する付帯情報に変換するステップと、
    をコンピュータに実行させるためのプログラム。
  4. コンピュータに、半導体集積回路装置の動作を記述した動作レベル回路記述から具体的な機能を記述したRTL回路記述を生成させるためのプログラムであって、
    付帯情報が付加された動作レベル回路記述から該付帯情報を抽出し、該付帯情報を判別するための情報である付帯情報中間記述を生成するステップと、
    動作レベル回路記述を基にRTL回路記述を生成するステップと、
    (a)前記動作レベル回路記述に含まれる信号、演算及び記述文と、前記RTL回路記述に含まれる信号、演算及び記述文の対応関係、並びに
    (b)前記動作レベル回路記述に含まれる信号及び演算と、前記RTL回路記述に含まれる信号及び演算が対応するための条件
    を含む、前記動作記述レベルと前記RTL回路記述の対応関係を示す情報を生成するステップと、
    予め設定された変換ルール、前記付帯情報中間記述及び前記動作合成手段で生成された前記対応関係の情報を基に、前記動作レベル回路記述に付加された付帯情報を前記RTL回路記述に付加する付帯情報に変換するステップと、
    をコンピュータに実行させるためのプログラム。
JP2005100714A 2005-03-31 2005-03-31 動作合成装置及びプログラム Expired - Fee Related JP4492803B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005100714A JP4492803B2 (ja) 2005-03-31 2005-03-31 動作合成装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005100714A JP4492803B2 (ja) 2005-03-31 2005-03-31 動作合成装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2006285333A JP2006285333A (ja) 2006-10-19
JP4492803B2 true JP4492803B2 (ja) 2010-06-30

Family

ID=37407237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005100714A Expired - Fee Related JP4492803B2 (ja) 2005-03-31 2005-03-31 動作合成装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4492803B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4756002B2 (ja) * 2007-02-19 2011-08-24 株式会社リコー 半導体集積回路の設計支援装置、その設計支援方法、その製造方法、プログラム、及び記録媒体
JP5115003B2 (ja) 2007-03-30 2013-01-09 日本電気株式会社 論理設計支援システム及びプログラム
JP5109143B2 (ja) * 2007-06-28 2012-12-26 株式会社東芝 検証装置および検証方法
JP5014920B2 (ja) * 2007-08-17 2012-08-29 ラピスセミコンダクタ株式会社 回路設計方法、ならびにその方法により製造される集積回路
JP5034867B2 (ja) * 2007-10-26 2012-09-26 富士通株式会社 ソフトウェア検証支援プログラム、該プログラムを記録した記録媒体、ソフトウェア検証支援装置、およびソフトウェア検証支援方法
JP5211776B2 (ja) * 2008-03-14 2013-06-12 日本電気株式会社 動作合成装置、動作合成方法及びプログラム
JP5233355B2 (ja) * 2008-03-25 2013-07-10 日本電気株式会社 プロパティ生成システムおよびプロパティ検証システム
JP5233354B2 (ja) * 2008-03-25 2013-07-10 日本電気株式会社 プロパティ検証システム、プロパティ検証方法、及びプログラム
JP2012159977A (ja) * 2011-01-31 2012-08-23 Renesas Electronics Corp 動作合成装置、動作合成方法及び動作合成プログラム
JP5830955B2 (ja) * 2011-06-21 2015-12-09 日本電気株式会社 検証装置、検証方法及び検証プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006172113A (ja) * 2004-12-15 2006-06-29 Toshiba Corp 高位合成装置、自動高位合成方法及び高位合成プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3373641B2 (ja) * 1994-03-14 2003-02-04 株式会社東芝 テスト系列生成装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006172113A (ja) * 2004-12-15 2006-06-29 Toshiba Corp 高位合成装置、自動高位合成方法及び高位合成プログラム

Also Published As

Publication number Publication date
JP2006285333A (ja) 2006-10-19

Similar Documents

Publication Publication Date Title
JP4492803B2 (ja) 動作合成装置及びプログラム
JP4994393B2 (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
US7958470B1 (en) Method and system for false path analysis
US8326592B2 (en) Method and system for verifying electronic designs having software components
US10691856B1 (en) System design flow with runtime customizable circuits
JP4147842B2 (ja) 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム
US6964027B2 (en) System and method for optimizing exceptions
JP2009301231A (ja) シミュレーション装置,シミュレーション方法,シミュレーションプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP2007522574A (ja) デジタルシステムのhdl記述ファイルを作成する方法、および得られるシステム
KR100565143B1 (ko) 시스템 lsi의 설계방법 및 이를 기억하는 기억매체
JP3923920B2 (ja) 集積回路の設計システム及び集積回路の設計方法
US7971167B2 (en) Semiconductor design support device, semiconductor design support method, and manufacturing method for semiconductor integrated circuit
JP5447547B2 (ja) マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム
JP4881769B2 (ja) 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム
US20160246601A1 (en) Technique for translating dependent instructions
JPWO2006025412A1 (ja) 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置
JP5577619B2 (ja) 論理回路設計装置
JP4006120B2 (ja) 論理合成装置
JP5849973B2 (ja) データ処理装置、データ処理システム、データ処理方法、及びデータ処理プログラム
JP3616212B2 (ja) メガセルテスト支援装置
KR102545302B1 (ko) Cmos 기반 디지털 회로의 설계 및 검증 과정 자동화 프레임워크
JP5262678B2 (ja) 動作合成システム、動作合成方法、及び動作合成用プログラム
US20230205969A1 (en) Techniques for modeling and verification of convergence for hierarchical domain crossings
JP4199816B2 (ja) 論理合成方法
JP4268620B2 (ja) 回路記述言語の等価性検証方法及び等価性検証装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100218

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent or registration of utility model

Ref document number: 4492803

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100330

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140416

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees