JP4891807B2 - 高位合成装置および高位合成方法 - Google Patents

高位合成装置および高位合成方法 Download PDF

Info

Publication number
JP4891807B2
JP4891807B2 JP2007049481A JP2007049481A JP4891807B2 JP 4891807 B2 JP4891807 B2 JP 4891807B2 JP 2007049481 A JP2007049481 A JP 2007049481A JP 2007049481 A JP2007049481 A JP 2007049481A JP 4891807 B2 JP4891807 B2 JP 4891807B2
Authority
JP
Japan
Prior art keywords
circuit
description
level
register transfer
terminal
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
JP2007049481A
Other languages
English (en)
Other versions
JP2008217071A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2007049481A priority Critical patent/JP4891807B2/ja
Priority to US12/038,740 priority patent/US8020136B2/en
Publication of JP2008217071A publication Critical patent/JP2008217071A/ja
Application granted granted Critical
Publication of JP4891807B2 publication Critical patent/JP4891807B2/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

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)

Description

本発明は、回路の動作レベル記述を入力としてレジスタ転送レベル記述を出力する高位合成装置および高位合成方法に関する。
LSI設計において、近年のLSIの大規模化に伴い、効率の良いLSI設計手法が必要となっている。このため、レジスタ転送レベルよりも比較的に記述量が少ない動作レベルで回路を記述し、高位合成ツールによって、レジスタ転送レベル回路を合成する手法が使用されるようになってきた。
動作レベル記述はC言語のようなプログラミング言語を用いて回路の動作を逐次処理として記述するものであるが、高位合成ツールは、このような動作レベル記述からレジスタ転送レベル記述を生成する。一般に、高位合成では、図13に示すフローチャートの工程が実施される。
最初に、スケジューリング工程S11で、逐次処理として記述してある動作記述を入力し、処理性能を向上させるために演算のスケジューリングを行い、並列処理の方法を決定する。スケジューリングには、データと演算の依存関係をグラフで表現したデータフローグラフ(DFG)が使用される。
次に、リソース共有工程S12で、回路面積を削減するために、動作レベル記述における演算を実行するリソースの共有化が行われる。このときリソースの入力は、動作レベル記述での演算に応じた入力となるため、リソースの入力を制御するためのセレクタが必要となる。
最後に、制御回路生成工程S13で、スケジューリング結果を実現するために必要な制御回路が生成され、リソースの接続であるデータパスと併せてレジスタ転送レベル(RTL)記述として出力される。
上記において、データフローグラフは、元の動作記述から依存解析を行い抽出されるが、動作レベル記述が入力値により動作内容が変化する場合等でデータの依存関係が複雑な場合には、必ずしも最小必要限のデータ依存だけを抽出する依存解析ができるとは限らない。このような場合、結果として、ユーザが期待するスケジューリング結果にならない場合がある。
また、レジスタ転送レベル回路の処理性能はスケジューリングにより決定されるため、場合によっては、要求性能を満たすレジスタ転送レベル回路が生成できない場合がある。このような場合、非特許文献1で提案されているようにユーザがスケジューリングを変更可能な機構を用いて、要求性能を満たすスケジューリングを行う方法がある。しかし、スケジューリング結果通りに回路を動作させるための制御回路の生成方法はツールにより制限されているため、結果として、ユーザが変更可能なスケジューリングも制限される。
また、別の手法として、動作レベル記述の段階で部分的にスケジューリングを決定しておき、高位合成ツールによるスケジューリング箇所を削減する手法がある。図14はスケジューリングを模式的に示した図であり、図14(a)は逐次動作における処理関係を示している。図14(b)は高位合成のスケジューリング結果での処理関係を示しているが、ユーザが必要とする処理関係が図14(c)のような場合は、あらかじめ動作レベル記述で図14(c)と記述しておくこととなる(動作レベル記述の変更)。しかし、図14(c)の動作を表現するためには、プロセスAとプロセスBが並行プロセスであることを表現する必要がある。このような場合、非特許文献2で提案されているような並行プロセスを記述可能な言語を使用することになる。このような言語を用いて動作レベル回路を記述した場合、動作レベル記述の動作検証を行うためには、並行プロセスのシミュレーションを行う機構が必要となる。また、タイミングを考慮した記述であるため、動作レベル記述自体が複雑になってしまう場合がある。
特許文献1で開示されているように、特定のプロトコルで動作するような場合には、タイミングに関する情報をライブラリとして保持し、動作レベル記述はタイミングを考慮しない記述とし、高位合成ツールによりライブラリに定義されたタイミングを基にスケジューリングを行う方法がある。この場合は、適用できる回路は、決まったプロトコルである必要がある。
特開2002−140379号公報(第4−5頁、第1−8図) A.A. JERRAYA, I. PARK, K. O’BRIEN、"AMICAL:AN INTERACTIVE HIGH LEVEL SYNTHESIS"、Proceedings of European Conference onDesign Automation, 1993 Thorsten Grotker, Stan Liao, GrantMartin, Stuart Swan著、柿本勝・河原林政道・長谷川隆 監訳、「System Cによるシステム設計」丸善 2003年1月発行
動作レベル記述からレジスタ転送レベル記述の合成を行う場合において、高位合成ツールにより合成された回路が要求性能を満たせない場合、従来の方法として、スケジューリングにユーザが介在できる機構を設けているが、ユーザが制御できる範囲が限定されていた。この場合、結局、要求性能が充分に満たせないことになる。
また、動作レベル記述の段階で、ユーザがスケジューリングを決定する方法(動作レベル記述の変更)があるが、この場合、動作レベル記述の動作検証に特別な機構が必要となったり、動作レベル記述が複雑になるため、設計効率が低下する可能性がある。
また、動作レベル記述を変更せずに、タイミングに関する情報をライブラリとする方法があるが、適用可能な範囲が限定される。この場合も、結局、要求性能が充分に満たせないことになる。
本発明は、このような事情に鑑みて創作したものであり、動作レベル記述を変更することなしに、ユーザが設計したスケジューリングを実現する制御回路を用いて、レジスタ転送レベル記述を生成することができる高位合成装置および高位合成方法を提供することを目的としている。
本発明の高位合成装置は、動作レベル回路記述からレジスタ転送レベル回路記述を生成するものであって、
動作レベル回路記述から第1のレジスタ転送レベル回路記述を生成する高位合成手段と、
所定の付加回路を生成するための回路情報記述に基づき第2のレジスタ転送レベル回路記述を生成する回路生成手段と、
前記第1のレジスタ転送レベル回路記述内の端子と前記第2のレジスタ転送レベル回路記述内の端子との接続関係を記述した接続情報記述に基づき前記第1のレジスタ転送レベル回路記述と前記第2のレジスタ転送レベル回路記述とを接続する回路接続手段とを備えている高位合成装置であって、
前記高位合成手段において、前記第1のレジスタ転送レベル回路記述に記載された端子間での信号伝播にかかるサイクル数である遅延量を算出し、
前記回路生成手段において、前記遅延量を有する遅延回路記述を含む前記第2のレジスタ転送レベル回路記述を生成する、ことを特徴とするものである。
この構成においては、高位合成手段は、動作レベル記述から本来通りに第1のレジスタ転送レベル回路を生成するだけであり、動作レベル記述の変更はしない。要求性能を満たす上で必要な要素としてのレジスタ転送レベルの付加回路に関係する第2のレジスタ転送レベル回路を、本来の高位合成手段とは別系統の回路生成手段によって生成することにしている。そして、回路接続手段は、高位合成手段による第1のレジスタ転送レベル回路と回路生成手段による第2のレジスタ転送レベル回路とを接続する。この接続に際して、第1のレジスタ転送レベル回路内の信号と第2のレジスタ転送レベル回路内の信号との接続関係を記述した接続情報を利用する。
このようにして、本構成によれば、動作レベル記述を変更することなく、ユーザが設計したスケジューリング結果を実現する制御回路を使用したレジスタ転送レベル回路が生成され、要求性能を満たしたレジスタ転送レベル回路を得ることが可能となる。
上記構成の高位合成装置において、前記回路接続手段が前記接続情報記述において参照する端子は、前記動作レベル回路記述に存在する端子であってもよい。
また上記構成の高位合成装置において、前記回路接続手段が前記接続情報記述において参照する端子は、前記高位合成手段により生成される前記動作レベル回路記述に記載された端子の信号が変化するタイミングを示すデータである前記高位合成手段のスケジューリング結果を実現する制御回路の入出力端子であってもよい。
また上記構成の高位合成装置において、前記回路接続手段が前記接続情報記述において参照する端子は、前記高位合成手段におけるリソース共有化に伴い生成されるリソースの入力データを選択するセレクタの制御信号端子であってもよい。
また、本発明の高位合成装置は、動作レベル回路記述からレジスタ転送レベル回路記述を生成するものであって、
動作レベル回路記述から第1のレジスタ転送レベル回路記述を生成する高位合成手段と、
前記第1のレジスタ転送レベル回路記述内の端子と所定の第2のレジスタ転送レベル回路記述内の端子との接続関係を記述した接続情報記述に基づき前記第1のレジスタ転送レベル回路記述と前記第2のレジスタ転送レベル回路記述とを接続する回路接続手段とを備えている高位合成装置であって、
前記高位合成手段において、前記第1のレジスタ転送レベル回路記述に記載された端子のビット幅を算出し、
前記回路接続手段において、前記ビット幅を有する配線記述を使用して、前記第1のレジスタ転送レベル回路記述に記載された端子と前記第2のレジスタ転送レベル回路記述に記載された端子を接続する、ことを特徴とするものである。
本構成では、回路生成手段は用いられていない。ここでの第2のレジスタ転送レベル回路は、非合成のものである。この場合、ユーザが設計した制御回路を使用して、上記と同様に、動作レベル記述を変更することなく、要求性能を満たすRTL記述を生成することが可能である。高位合成により生成されたRTL回路に人手で修正を加える場合に対して、記述ミスの削減が可能となる。
上記構成の高位合成装置において、前記回路接続手段が前記接続情報記述において参照する端子は、前記動作レベル回路記述に存在する端子であってもよい。
また上記構成の高位合成装置において、前記回路接続手段が前記接続情報記述において参照する端子は、前記高位合成手段により生成される前記動作レベル回路記述に記載された端子の信号が変化するタイミングを示すデータである前記高位合成手段のスケジューリング結果を実現する制御回路の入出力端子であってもよい。
また上記構成の高位合成装置において、前記回路接続手段が前記接続情報記述において参照する端子は、前記高位合成手段におけるリソース共有化に伴い生成されるリソースの入力データを選択するセレクタの制御信号端子であってもよい。
また上記構成の高位合成装置において、さらに、所定の入力端子の値と、前記動作レベル回路記述に記載された端子の信号が変化するタイミングを示すデータである前記高位合成手段のスケジューリング結果から取得した波形データと、前記回路情報記述に基づき前記回路情報記述に記載された端子の信号が変化するタイミングを示す波形データとから信号遷移波形を表示する波形表示手段を備えているという態様がある。
この構成により、高位合成により生成された回路の信号とユーザにより設計された回路の信号との遷移の関係を確認し、ユーザが入力した回路情報が意図したとおりの動作を行う回路が生成される情報であるかを確認することが可能となる。
また、本発明の高位合成方法は、高位合成装置を用いた高位合成方法であって、
動作レベル回路記述から第1のレジスタ転送レベル回路記述主回路データベースに生成する高位合成ステップと、
前記高位合成ステップで生成された前記第1のレジスタ転送レベル回路記述が所定の要求性能を満たしているかを判定する第1の判定ステップと、
前記第1の判定ステップにおいて前記要求性能を満たしていない場合に、所定の付加回路を生成するための回路情報記述とレジスタ転送レベル回路記述内の端子の接続関係を記述した接続情報記述を入力するステップと、
前記高位合成ステップで生成された前記第1のレジスタ転送レベル回路記述と前記回路情報記述を参照し前記要求性能を満たしているかを判定する第2の判定ステップと、
前記第2の判定ステップにおいて前記要求性能を満たしている場合に、前記回路情報記述に基づき第2のレジスタ転送レベル回路記述副回路データベースに生成する回路生成ステップと、
前記接続情報記述に基づき前記第1のレジスタ転送レベル回路記述と前記第2のレジスタ転送レベル回路記述を接続して前記要求性能を満たしているレジスタ転送レベル回路記述を生成する回路接続ステップとを含む高位合成方法であって、
前記高位合成ステップにおいて、前記第1のレジスタ転送レベル回路記述に記載された端子間での信号伝播にかかるサイクル数である遅延量を算出し、前記主回路データベースに蓄積し、
前記回路生成ステップにおいて、前記遅延量を有する遅延回路記述を含む前記第2のレジスタ転送レベル回路記述を生成し、
前記高位合成ステップにおいて、前記第1のレジスタ転送レベル回路記述に記載された端子のビット幅を算出し、前記主回路データベースに蓄積し、
前記回路接続ステップにおいて、前記ビット幅を有する配線記述を使用して、前記第1のレジスタ転送レベル回路記述に記載された端子と前記第2のレジスタ転送レベル回路記述に記載された端子を接続する、ことを特徴とするものである。
この高位合成方法においては、高位合成により動作レベル記述から第1のレジスタ転送レベル回路を生成し、高位合成の結果が要求性能を満たしているかを判定し、要求性能を満たしていない場合は、レジスタ転送レベルの付加回路を生成するための回路情報と信号の接続関係を記述した接続情報を入力し、高位合成の結果と回路情報を参照し要求性能を満たしているかを判定し、回路情報に基づき第2のレジスタ転送レベル回路を生成し、接続情報に基づき第1のレジスタ転送レベル回路と第2のレジスタ転送レベル回路を接続する。
この構成により、動作レベル記述を変更することなく、ユーザが設計したスケジューリング結果を実現する制御回路を使用したレジスタ転送レベル回路が生成され、要求性能を満たしたレジスタ転送レベル回路を得ることが可能となる。
本発明によれば、動作レベル記述を変更することなく、ユーザが設計したスケジューリング結果を実現する制御回路を使用したレジスタ転送レベル回路が生成でき、要求性能を満たしたレジスタ転送レベル回路を得ることができる。
以下、本発明にかかわる高位合成装置および高位合成方法の実施の形態を図面を用いて詳細に説明する。
(実施の形態1)
図1は、本発明の実施の形態1における高位合成装置の構成図である。
高位合成装置A1は、動作記述ファイルF1から第1のレジスタ転送レベル(RTL)回路を生成して主回路データベースDB1に格納する高位合成手段1と、設定ファイルF2から第2のレジスタ転送レベル(RTL)回路を生成して副回路データベースDB2に格納する回路生成手段2と、設定ファイルF2に記述されている接続方法に従って、主回路データベースDB1の第1のRTL回路と副回路データベースDB2の第2のRTL回路を接続するための目標とするRTL記述ファイルF10を生成する回路接続手段3とから構成されている。
動作記述ファイルF1は、設計対象である回路の動作を記述したファイルであり、高位合成装置A1の入力ファイルである。動作記述ファイルF1は、C言語等のプログラミング言語により記述されている。
設定ファイルF2は、ユーザが設計したRTL回路を生成するために必要な回路情報と、主回路データベースDB1にある第1のRTL回路の信号と副回路データベースDB2にある第2のRTL回路の信号を接続するために必要な接続情報が記述されているファイルであり、高位合成装置A1の入力ファイルである。
目標とするRTL記述ファイルF10は、レジスタ転送レベルで回路を記述したファイルであり、高位合成装置A1の出力ファイルである。RTL記述ファイルF10は、Verilog−HDL言語等のハードウェア記述言語で記述されている。
主回路データベースDB1は、高位合成手段1の高位合成によって動作記述ファイルF1から生成される第1のRTL回路を保存するデータベースである。
副回路データベースDB2は、回路生成手段2によって設定ファイルF2に記述されている回路情報から生成される第2のRTL回路を保存するデータベースである。
主回路データベースDB1と副回路データベースDB2は、RTL回路を中間表現として格納している。中間表現は、目標とするRTL記述ファイルF10に記述する内容と同等の情報と、高位合成手段1によって生成された付加情報を表現している。
高位合成手段1は、従来技術と同等の方法によって、動作記述ファイルF1から第1のRTL回路を生成し、主回路データベースDB1に保存する。
次に、回路生成手段2の動作例について説明する。
図2は動作記述ファイルF1の記述例であり、図3は設定ファイルF2の記述例である。
設定ファイルF2は、目標とするRTL記述ファイルF10に記述されるモジュールと同一の単位で記述されており、動作記述ファイルF1から高位合成手段1により生成されるモジュールの端子以外の端子を生成するための端子情報と、高位合成手段1で生成される制御回路の信号情報と、回路生成手段2で生成される回路情報と、回路接続手段3で使用される接続情報が記述されている。
module文(1,9,16,30行目)は、対象となるモジュール名を指定する。input/output文(2,3,10,17〜19行目)は、端子情報であり、端子名を指定する。出力端子(output)の場合は、output文内に端子の入力の論理を左辺を端子名とする代入文で記述する。controller文(4/11行目)は、高位合成手段1により生成される制御回路を示し、start文(5,12行目)は制御回路の開始信号が信号名STであることを示す。register文(20,24行目)は、遅延回路を生成することを示し、遅延回路の出力の信号名を指定する。register文内に遅延回路の入力の論理や遅延回路の書き込み条件(21/25行目)を左辺を出力信号名とする代入文で記述し、delay文(22行目)で遅延回路の遅延量を指定し、reset文(26行目)でリセット動作時の値を指定する。遅延量を示す式には、cycle関数を使用して、高位合成手段1のスケジューリング結果における遅延量を参照する。instance文(31行目)は、モジュールf3のインスタンスをインスタンス名f3として生成することを示す。wire文(32,35)は、組み合わせ回路を生成することを示し、代入文の左辺と右辺を接続することを示す。select文(38行目)は、インスタンスf2の入力信号としてリソース共有化によりセレクタが生成されている場合は、セレクタの制御信号としてインスタンスf3の出力端子s0を接続することを示している。
設定ファイルF2で、代入文の右辺となる組み合わせ論理で参照する信号は、動作記述ファイルF1に記述されている信号、もしくは、設定ファイルF2で定義した信号を使用する。設定ファイルF2で定義する信号は、回路生成手段2で生成する回路の出力信号、もしくは、高位合成手段1で生成される制御回路の信号である。組み合わせ論理には、算術・論理・条件演算子を用いて式として記述する。例えば、出力となるRTL記述ファイルがVerilog−HDLの場合には、Verilog−HDLで定義されている演算子を使用する。
回路生成手段2は、設定ファイルF2に記述されている回路情報に基づき、第2のRTL回路を生成し副回路データベースDB2に格納する。図4(b)は、設定ファイルF2に基づいて生成された第2のRTL回路である。
output文の組み合わせ論理記述x1から出力信号を生成する組み合わせ回路K1を生成する。output文で指定された出力端子DNをモジュールf1の端子として生成する。
register文x2/x3から遅延回路K2/K3を生成する。
register文記述x2から生成される遅延回路K2は、入力信号がf1_DNであり、入力信号から出力信号までの遅延サイクルが、主回路データベースDB1内のモジュールf1の信号adから信号doまでの遅延サイクルと同一である回路K2となる。信号adから信号doまでの遅延サイクルが2サイクルの場合、遅延回路K2は、入力から出力までの遅延が1サイクルとなる。
register文x3から生成される遅延回路K3は、リセット時に0に設定されるレジスタであり、入力信号f1_DNが1の場合に、レジスタ値が更新される回路K3となる。
次に、回路接続手段3の動作例について説明する。
図4、図5は、生成される回路の一例であり、図4(a)は主回路データベースDB1に保存される第1のRTL回路、図4(b)は副回路データベースDB2に保存される第2のRTL回路、図5は目標とするRTL記述ファイルF10に出力される目標とするRTL回路である。
モジュールf1における信号c1は、主回路データベースDB1に生成された信号であり、副回路データベースDB2から参照されている信号であるため、主回路データベースDB1の信号c1と副回路データベースDB2の信号c1は同一信号として接続される。
モジュールtopでは、instance文x4からモジュールf3のインスタンスf3がモジュールtop内の回路として生成される。
wire文x5/x6から、モジュールf1とモジュールf3、モジュールf2とモジュールf3間の配線H1/H2が結線される。
select文x7は、モジュールf2のリソース共有時に生成されるセレクタを示す記述であり、condition文がセレクタの制御信号が、インスタンスf3の端子s0であることを示している。この記述により、モジュールf2のリソース共有用セレクタの制御信号の配線H3は、インスタンスf3の端子s0に接続される。
回路接続手段3により、信号間の接続のために生成した配線H1/H2/H3のビット幅が、主回路データベースDB1の信号および副回路データベースDB2の信号のビット幅を基に決定される。
最後に、回路接続手段3は、接続して得た図5に示す回路を目標のRTL記述ファイルF10として出力する。
以上により、本実施の形態における高位合成装置では、ユーザが設計したスケジューリングを実現する制御回路を生成するための情報を設定ファイルF2に記述することにより、動作レベル記述を変更することなく、要求性能を満たすRTL記述を生成することが可能である。
また、ユーザが生成したい制御回路が、高位合成のスケジューリング結果に依存する場合でも、高位合成の結果から算出した値を使用して、制御回路の生成方法を指定できるため、高位合成により生成されるRTL回路に対して、相対的な制御を行う制御回路の生成が可能となる。
また、リソース共有に付随して生成されるセレクタの制御に対しても、ユーザが設計した制御回路から制御が可能になるため、高位合成のリソース共有機能を使用することが可能となる。
(実施の形態2)
図6は、本発明の実施の形態2における高位合成装置の構成図である。図6において、実施の形態1の図1におけるのと同じ符号は同一構成要素を指している。
高位合成装置A2は、動作記述ファイルF1から第1のRTL回路を生成して主回路データベースDB1に格納する高位合成手段1と、設定ファイルF2に記述されている接続情報に従って、主回路データベースDB1における第1のRTL回路に、非合成RTL記述ファイルF3に記述された非合成のRTL回路を呼び出すインスタンスを追加して目標とするRTL記述ファイルF10を生成する回路接続手段3から構成されている。本実施の形態においては、実施の形態1の場合の回路生成手段2はない。
非合成RTL記述ファイルF3は、レジスタ転送レベルで回路を記述したファイルである。非合成RTL記述ファイルF3は、Verilog−HDL言語等のハードウェア記述言語で記述されている。
次に、回路接続手段3の動作例について説明する。
図7(a)は、設定ファイルF2の記述例であり、図7(b)は、非合成RTL記述ファイルF3の記述例である。図8は目標とするRTL記述ファイルF10の記述例である。
設定ファイルF2は、目標とするRTL記述ファイルF10に記述されているモジュールと同一の単位で記述されており、動作記述ファイルF1に記述されているモジュールの端子以外の端子を生成するための端子情報(input/output)と、非合成RTL記述ファイルF3に記述されているRTL回路のモジュールを呼び出すためのインスタンス情報(instance)と、信号を接続するための接続情報(wire/output)が記述されている。
回路接続手段3は、端子情報に基づき、モジュールに端子を追加し、インスタンス情報に基づき、モジュールにインスタンスを追加する。RTL記述z1は端子情報y1に基づき追加された端子記述であり、RTL記述z3はインスタンス情報y2に基づき追加されたインスタンス記述である。その他の端子記述、インスタンス記述は、主回路データベースDB1から生成される記述である。
次に、回路接続手段3は、接続情報y3に基づき、追加した端子またはインスタンスのピンと主回路データベースDB1に存在する第1のRTL回路の信号と接続する。RTL記述z3のインスタンス記述のピンの接続記述は、接続情報y3に基づき接続された記述である。
回路接続手段3により、信号間の接続のために生成した配線z2のビット幅と設定ファイルF2の端子情報に基づき追加された端子z1のビット幅が、主回路データベースDB1の信号および非合成RTL記述ファイルF3の信号のビット幅を基に決定される。
以上により、本実施の形態における高位合成装置では、ユーザが設計した制御回路を使用して、動作レベル記述を変更することなく、要求性能を満たすRTL記述を生成することが可能である。高位合成により生成されたRTL回路に人手で修正を加える場合に対して、記述ミスを削減できるという効果がある。
(実施の形態3)
図9は、本発明の実施の形態3における高位合成装置の構成図である。図9において、実施の形態1の図1におけるのと同じ符号は同一構成要素を指している。
高位合成装置A3は、動作記述ファイルF1から第1のRTL回路を生成して主回路データベースDB1に格納する高位合成手段1と、設定ファイルF2から第2のRTL回路を生成して副回路データベースDB2に格納する回路生成手段2と、設定ファイルF2に記述されている接続方法に従って、主回路データベースDB1の第1のRTL回路と副回路データベースDB2の第2のRTL回路から目標とするRTL記述ファイルF10を生成する回路接続手段3と、高位合成手段1のスケジューリング結果と設定ファイルF2から各信号の波形を生成し、表示する波形表示手段4とから構成されている。
次に波形表示手段4の動作例について説明する。
図10は、波形表示手段4の構成図である。波形表示手段4は、動作記述ファイルF1の入力信号値を入力する入力値設定手段41と、高位合成手段1のスケジューリング結果から各信号の遷移タイミングを抽出し、波形データベースDB3に保存するスケジューリング結果抽出手段42と、設定ファイルF2で新たに定義された信号の遷移タイミングを計算し、波形データベースDB3に追加する波形追加手段43と、波形データベースDB3の情報を画面に表示する表示手段44から構成されている。
最初に、ユーザにより信号の遷移タイミングの計算に必要な値が入力値設定手段41によって設定される。例えば、動作記述ファイルF1の場合、信号nにより信号の遷移タイミングが変化するため、信号nの値の設定が必要となる。
次に、スケジューリング結果抽出手段42では、動作記述ファイルF1に記述されている信号、および高位合成手段1により生成される制御回路の開始、終了信号が遷移するタイミングを抽出し、波形データベースDB3に格納する。
次に、波形追加手段43では、設定ファイルF2に記述されている遅延回路について、遅延回路が参照している信号の遷移タイミングを波形データベースDB3から取得し、遅延回路の出力信号の遷移タイミングを計算し、波形データベースDB3に追加する。
最後に、表示手段44によってユーザにスケジューリング結果抽出手段42により生成された波形と波形追加手段43により生成された波形とが重ねて画面に表示される。
図11は、動作記述ファイルF1を信号nの値が4の場合の表示画面の例であり、波形w1はスケジューリング結果抽出手段42により生成された波形であり、波形w2は波形追加手段43により生成された波形である。波形は、1ビットの信号については、信号値0と1の遷移を、1ビット以外の信号については、信号値が変化する時刻を示す波形として表示される。
以上により、本実施の形態における高位合成装置では、高位合成により生成された回路の信号とユーザにより設計された回路の信号との遷移の関係を確認することができるので、ユーザが入力した回路情報が意図したとおりの動作を行う回路が生成される情報であるかを確認することが可能となる。
図12は、本実施の形態における高位合成方法の処理の手順を示すフローチャートである。
最初に、高位合成ステップS1では、高位合成手段1を用いて、動作記述ファイルF1に対して高位合成を行い、得られた第1のRTL回路を主回路データベースDB1に格納する。
次に、性能確認ステップS2では、波形表示手段4を用いて、各信号の遷移タイミングを確認し、処理性能が要求されるサイクル数で処理が完了しているかを確認する。
もし、処理性能が要求を満たしていない場合には、設定ファイル入力ステップS3で、ユーザは処理性能が要求を満たすように回路構成を決定し、決定した回路を生成するように設定ファイルF2を記述する。
性能確認ステップS4で、入力した設定ファイルF2と高位合成結果を参照して、波形表示手段4を用いて、処理性能の確認を行う。
処理性能の確認後、回路生成ステップS5では、回路生成手段2を用いて、設定ファイルF2から第2のRTL回路を生成し、副回路データベースDB2に格納する。
最後に、回路接続ステップS5では、回路接続手段3を用いて、主回路データベースDB1に格納されている第1のRTL回路と副回路データベースDB2に格納されている第2のRTL回路を設定ファイルF2に従って接続し、目標とするRTL記述ファイルF10を得る。
以上により、本実施の形態における高位合成方法では、ユーザが入力した回路情報によって生成されるRTL回路の動作を確認しながら設計を行えるため、回路情報の入力ミスを防止しつつ、かつ、要求性能を満たすRTL回路の生成が可能となる。
本発明の高位合成装置は、動作レベル記述の変更なしに、ユーザが設計した制御回路を使用したレジスタ転送レベル記述を生成できる特徴を有しているので、要求性能を満たすために複雑な制御を必要とするLSI設計に有用である。
本発明の実施の形態1における高位合成装置の構成図 本発明の実施の形態1における動作記述ファイルの記述例を示す図 本発明の実施の形態1における設定ファイルの記述例を示す図 本発明の実施の形態1における主・副回路データベースに格納される回路例を示す図 本発明の実施の形態1における回路接続手段により生成される回路例を示す図 本発明の実施の形態2における高位合成装置の構成図 本発明の実施の形態2における設定ファイルと非合成RTL記述ファイルの記述例を示す図 本発明の実施の形態2における目標とするRTL記述ファイルの記述例を示す図 本発明の実施の形態3における高位合成装置の構成図 本発明の実施の形態3における波形表示手段の構成図 本発明の実施の形態3における波形表示手段の表示例を示す図 本発明の実施の形態3における高位合成方法の処理の手順を示すフローチャート 従来技術での高位合成方法の処理の手順を示すフローチャート 処理時間の関係図
符号の説明
1 高位合成手段
2 回路生成手段
3 回路接続手段
4 波形表示手段
A1〜A3 高位合成装置
DB1 主回路データベース
DB2 副回路データベース
F1 動作記述ファイル
F2 設定ファイル
F3 非合成RTL記述ファイル
F10 RTL記述ファイル
S1 高位合成ステップ
S2 性能確認ステップ
S3 設定ファイル入力ステップ
S4 性能確認ステップ
S5 回路生成ステップ
S6 回路接続ステップ

Claims (10)

  1. 動作レベル回路記述から第1のレジスタ転送レベル回路記述を生成する高位合成手段と、
    所定の付加回路を生成するための回路情報記述に基づき第2のレジスタ転送レベル回路記述を生成する回路生成手段と、
    前記第1のレジスタ転送レベル回路記述内の端子と前記第2のレジスタ転送レベル回路記述内の端子との接続関係を記述した接続情報記述に基づき前記第1のレジスタ転送レベル回路記述と前記第2のレジスタ転送レベル回路記述とを接続する回路接続手段とを備えている高位合成装置であって、
    前記高位合成手段において、前記第1のレジスタ転送レベル回路記述に記載された端子間での信号伝播にかかるサイクル数である遅延量を算出し、
    前記回路生成手段において、前記遅延量を有する遅延回路記述を含む前記第2のレジスタ転送レベル回路記述を生成する、ことを特徴とする高位合成装置。
  2. 前記回路接続手段が前記接続情報記述において参照する端子は、前記動作レベル回路記述に存在する端子である請求項1に記載の高位合成装置。
  3. 前記回路接続手段が前記接続情報記述において参照する端子は、前記高位合成手段により生成される前記動作レベル回路記述に記載された端子の信号が変化するタイミングを示すデータである前記高位合成手段のスケジューリング結果を実現する制御回路の入出力端子である請求項1に記載の高位合成装置。
  4. 前記回路接続手段が前記接続情報記述において参照する端子は、前記高位合成手段におけるリソース共有化に伴い生成されるリソースの入力データを選択するセレクタの制御信号端子である請求項1に記載の高位合成装置。
  5. 動作レベル回路記述から第1のレジスタ転送レベル回路記述を生成する高位合成手段と、
    前記第1のレジスタ転送レベル回路記述内の端子と所定の第2のレジスタ転送レベル回路記述内の端子との接続関係を記述した接続情報記述に基づき前記第1のレジスタ転送レベル回路記述と前記第2のレジスタ転送レベル回路記述とを接続する回路接続手段とを備えている高位合成装置であって、
    前記高位合成手段において、前記第1のレジスタ転送レベル回路記述に記載された端子のビット幅を算出し、
    前記回路接続手段において、前記ビット幅を有する配線記述を使用して、前記第1のレジスタ転送レベル回路記述に記載された端子と前記第2のレジスタ転送レベル回路記述に記載された端子を接続する、ことを特徴とする高位合成装置。
  6. 前記回路接続手段が前記接続情報記述において参照する端子は、前記動作レベル回路記述に存在する端子である請求項に記載の高位合成装置。
  7. 前記回路接続手段が前記接続情報記述において参照する端子は、前記高位合成手段により生成される前記動作レベル回路記述に記載された端子の信号が変化するタイミングを示すデータである前記高位合成手段のスケジューリング結果を実現する制御回路の入出力端子である請求項に記載の高位合成装置。
  8. 前記回路接続手段が前記接続情報記述において参照する端子は、前記高位合成手段におけるリソース共有化に伴い生成されるリソースの入力データを選択するセレクタの制御信号端子である請求項に記載の高位合成装置。
  9. さらに、所定の入力端子の値と、前記動作レベル回路記述に記載された端子の信号が変化するタイミングを示すデータである前記高位合成手段のスケジューリング結果から取得した波形データと、前記回路情報記述に基づき前記回路情報記述に記載された端子の信号が変化するタイミングを示す波形データとから信号遷移波形を表示する波形表示手段を備えている請求項1に記載の高位合成装置。
  10. 高位合成装置を用いた高位合成方法であって、
    動作レベル回路記述から第1のレジスタ転送レベル回路記述主回路データベースに生成する高位合成ステップと、
    前記高位合成ステップで生成された前記第1のレジスタ転送レベル回路記述が所定の要求性能を満たしているかを判定する第1の判定ステップと、
    前記第1の判定ステップにおいて前記要求性能を満たしていない場合に、所定の付加回路を生成するための回路情報記述とレジスタ転送レベル回路記述内の端子の接続関係を記述した接続情報記述を入力するステップと、
    前記高位合成ステップで生成された前記第1のレジスタ転送レベル回路記述と前記回路情報記述を参照し前記要求性能を満たしているかを判定する第2の判定ステップと、
    前記第2の判定ステップにおいて前記要求性能を満たしている場合に、前記回路情報記述に基づき第2のレジスタ転送レベル回路記述副回路データベースに生成する回路生成ステップと、
    前記接続情報記述に基づき前記第1のレジスタ転送レベル回路記述と前記第2のレジスタ転送レベル回路記述を接続して前記要求性能を満たしているレジスタ転送レベル回路記述を生成する回路接続ステップとを含む高位合成方法であって、
    前記高位合成ステップにおいて、前記第1のレジスタ転送レベル回路記述に記載された端子間での信号伝播にかかるサイクル数である遅延量を算出し、前記主回路データベースに蓄積し、
    前記回路生成ステップにおいて、前記遅延量を有する遅延回路記述を含む前記第2のレジスタ転送レベル回路記述を生成し、
    前記高位合成ステップにおいて、前記第1のレジスタ転送レベル回路記述に記載された端子のビット幅を算出し、前記主回路データベースに蓄積し、
    前記回路接続ステップにおいて、前記ビット幅を有する配線記述を使用して、前記第1のレジスタ転送レベル回路記述に記載された端子と前記第2のレジスタ転送レベル回路記述に記載された端子を接続する、ことを特徴とする高位合成方法。
JP2007049481A 2007-02-28 2007-02-28 高位合成装置および高位合成方法 Expired - Fee Related JP4891807B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007049481A JP4891807B2 (ja) 2007-02-28 2007-02-28 高位合成装置および高位合成方法
US12/038,740 US8020136B2 (en) 2007-02-28 2008-02-27 Device and method for high-level synthesis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007049481A JP4891807B2 (ja) 2007-02-28 2007-02-28 高位合成装置および高位合成方法

Publications (2)

Publication Number Publication Date
JP2008217071A JP2008217071A (ja) 2008-09-18
JP4891807B2 true JP4891807B2 (ja) 2012-03-07

Family

ID=39717378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007049481A Expired - Fee Related JP4891807B2 (ja) 2007-02-28 2007-02-28 高位合成装置および高位合成方法

Country Status (2)

Country Link
US (1) US8020136B2 (ja)
JP (1) JP4891807B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8079013B1 (en) * 2008-12-19 2011-12-13 Xilinx, Inc. Hardware description interface for a high-level modeling system
JP6254387B2 (ja) * 2013-08-30 2017-12-27 株式会社日立情報通信エンジニアリング 高位合成で作成する新規設計データと既存設計データの接続方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295636B1 (en) * 1998-02-20 2001-09-25 Lsi Logic Corporation RTL analysis for improved logic synthesis
US6704908B1 (en) * 1999-11-17 2004-03-09 Amadala Limited Method and apparatus for automatically generating a phase lock loop (PLL)
JP3852741B2 (ja) * 2000-10-31 2006-12-06 シャープ株式会社 高位合成方法および高位合成装置
JP2002230065A (ja) * 2001-02-02 2002-08-16 Toshiba Corp システムlsi開発装置およびシステムlsi開発方法
JP2002366596A (ja) * 2001-06-11 2002-12-20 Sharp Corp 高位合成装置および高位合成方法、高位合成方法による論理回路の製造方法、記録媒体
JP2006309667A (ja) * 2005-05-02 2006-11-09 Fujitsu Ltd 動作合成検証装置及び方法

Also Published As

Publication number Publication date
JP2008217071A (ja) 2008-09-18
US20080209380A1 (en) 2008-08-28
US8020136B2 (en) 2011-09-13

Similar Documents

Publication Publication Date Title
US5164911A (en) Schematic capture method having different model couplers for model types for changing the definition of the schematic based upon model type selection
JP4492803B2 (ja) 動作合成装置及びプログラム
JP2006190209A (ja) 検証支援プログラム、記録媒体、検証支援装置、および検証支援方法
JP4147842B2 (ja) 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム
US7370297B2 (en) Method, system, and computer program for validating correspondence information between behavior and lower level description of a circuit design
JP4891807B2 (ja) 高位合成装置および高位合成方法
JP2009009418A (ja) 検証装置および検証方法
JP2008117318A (ja) ハードウェア検証用プログラミング記述生成装置、高位合成装置、ハードウェア検証用プログラミング記述生成方法、ハードウェア検証用プログラム生成方法、制御プログラムおよび可読記録媒体
US11023633B2 (en) High-level synthesis method, high-level synthesis apparatus, and high-level synthesis system
JP2006268165A (ja) 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体
JPH1031693A (ja) 専用アプリケーション・サブシステムの合成方法
JP4481783B2 (ja) シミュレーションモデル作成装置及びシミュレーション装置とシステム並びに方法とプログラム
US20070250803A1 (en) High-level synthesis method and high-level synthesis system
WO2004068347A1 (en) Method and apparatus for categorising test scripts
JP2007018313A (ja) 回路設計プログラム、回路設計装置、回路設計方法
JP2005078402A (ja) 電子回路の動作合成方法
JP7233611B2 (ja) 製造システム設計検証装置
JP2002222228A (ja) 高位合成システム及び高位合成方法
JP2007011477A (ja) 論理回路動作モデル生成装置及び論理回路動作モデル生成方法
JP2000057180A (ja) 高位合成装置、高位合成方法および高位合成プログラムを記録した媒体
US20240046018A1 (en) Logic circuit design method and logic circuit designing apparatus
JP5036633B2 (ja) 図面作成装置および図面作成プログラム
JP2009217720A (ja) プログラム生成装置およびプログラム生成方法
JP2009129367A (ja) 動作合成システム、動作合成方法および動作合成用プログラム
KR100345689B1 (ko) 유한요소결과를 이용하여 반력 데이터를 노달포스데이터로 변환하는 방법 및 그 방법을 저장한기록매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110929

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees