JP2016014950A - 回路設計支援装置及び回路設計支援方法及びプログラム - Google Patents

回路設計支援装置及び回路設計支援方法及びプログラム Download PDF

Info

Publication number
JP2016014950A
JP2016014950A JP2014135679A JP2014135679A JP2016014950A JP 2016014950 A JP2016014950 A JP 2016014950A JP 2014135679 A JP2014135679 A JP 2014135679A JP 2014135679 A JP2014135679 A JP 2014135679A JP 2016014950 A JP2016014950 A JP 2016014950A
Authority
JP
Japan
Prior art keywords
level synthesis
hierarchical structure
changing
unit
layout design
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.)
Pending
Application number
JP2014135679A
Other languages
English (en)
Inventor
平野 進
Susumu Hirano
進 平野
山本 亮
Akira Yamamoto
亮 山本
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2014135679A priority Critical patent/JP2016014950A/ja
Priority to US14/755,977 priority patent/US20160004797A1/en
Publication of JP2016014950A publication Critical patent/JP2016014950A/ja
Pending legal-status Critical Current

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
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

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)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】半導体集積回路等の回路設計において、後工程からの手戻りが少なく開発全体を効率化(時間短縮)できるようにする。【解決手段】高位合成処理部11は、動作記述ファイル1の高位合成を行う。合成結果解析部12は、設計対象回路のレイアウト設計に関する条件であるレイアウト設計条件を取得し、また、高位合成結果4とレイアウト設計条件とを照合し、高位合成結果4に含まれるいずれかの要素がレイアウト設計条件と異なる場合に、動作記述の階層構造の変更方法を決定する。階層変更部13は、合成結果解析部12により決定された変更方法に従って、動作記述の階層構造を変更する。【選択図】図1

Description

本発明は、半導体集積回路等の回路設計を支援する技術に関する。
近年のLSIの微細化に伴う回路規模の増大により、RTL(Register Transfer Level)を手書き設計するには非常に多くの設計期間が必要となる。
これに対して、近年ではRTLよりも抽象度の高い動作記述からRTLを自動的に生成する高位合成(あるいは、動作合成とも呼ばれる)技術が提唱されており、これを実現する高位合成ツールも市販されている。
従来の設計手法においては動作記述(例えば、C++言語やSystemC言語)において(もしくはRTL設計においても)、階層構造(ブロック分割/統合等)については、機能設計者自身が検討し、どちらかというと機能単位で決めていた。
しかし、この方法では、昨今のプロセス微細化や大規模LSI化に伴い後工程のレイアウト設計で問題(レイアウト面積増大、配線混雑、タイミング違反等)が出ることが多くなってきており、上流設計(動作記述設計やRTL設計)まで手戻りが入ることが多くなった。
そこで、RTL設計においても、上記のような理由でレイアウトを考慮して階層構造を決めることが多くなってきた。
しかし、RTL設計で階層を変更するのは作業が複雑、かつ、面倒であり、設計時の効率が悪いという問題点があった。
階層構造を変更するにはRTL設計よりも動作記述の方が容易なため、動作記述における階層構造の変更についての提案もなされている(例えば、特許文献1参照)。
また、レイアウト設計での問題点の一つであるタイミング違反(遅延違反)については、実際のレイアウト結果を基にした合成制約を高位合成時に与えることによって、手戻りをなくすという方法も提案されている(例えば、特許文献2参照)。
国際公開WO2011/155622号公報 特開2004−240530号公報
特許文献1に開示される従来の方法では、高位合成での階層構造の変更について記載しているが、性能を評価し最も性能が出る階層構造を決めるのが目的であり、レイアウト設計での問題については触れられていない。
また、特許文献2に開示される従来の方法では、レイアウト設計での問題点の一つであるタイミング違反があった場合に、その実際のレイアウト結果(配線遅延)を抽出して高位合成にフィードバックする手段を設けることで回路を合成するまでの時間を短縮することが記載されているが、レイアウトでのその他の問題(レイアウト面積増大、配線混雑等)については触れられていない。
また、LSI開発工程の後の方であるレイアウト工程からフィードバックするため、設計のフィードバックを抽出するのに時間がかかるという課題があった。
この発明は上記のような課題を解決することを主な目的としており、半導体集積回路等の回路設計において、後工程からの手戻りが少なく開発全体を効率化(時間短縮)できるようにすることを目的とする。
本発明に係る回路設計支援装置は、
設計対象回路の動作が階層構造で記述されている動作記述の高位合成を行う高位合成処理部と、
前記設計対象回路のレイアウト設計に関する条件であるレイアウト設計条件を取得するレイアウト設計条件取得部と、
前記高位合成処理部による高位合成結果と前記レイアウト設計条件とを照合し、前記高位合成結果に含まれるいずれかの要素が前記レイアウト設計条件と異なる場合に、前記動作記述の階層構造の変更方法を決定する変更方法決定部と、
前記変更方法決定部により決定された変更方法に従って、前記動作記述の階層構造を変更する階層変更部とを有することを特徴とする。
本発明によれば、レイアウト設計を考慮した階層構造の設計が可能となり、後工程からの手戻りが少なく開発全体を効率化(時間短縮)することができる。
実施の形態1に係る半導体設計支援装置の構成例を示す図。 実施の形態1に係る動作記述ファイルの例を示す図。 実施の形態1に係るModuleAの動作記述の例を示す図。 実施の形態1に係るModuleCの動作記述の例を示す図。 実施の形態1に係る半導体設計支援装置の動作例を示すフローチャート図。 実施の形態1に係る階層構造の例を示す図。 実施の形態1に係るモジュールの合成結果を示す図。 実施の形態1に係るModuleAの構成例を示す図。 実施の形態1に係るModuleAの合成結果を示す図。 実施の形態1に係る変更後の動作記述の例を示す図。 実施の形態1に係る変更後の動作記述の例を示す図。 実施の形態1に係る変更後の動作記述の例を示す図。 実施の形態1に係る変更後の階層構造の例を示す図。 実施の形態1に係るModuleCの構成例を示す図。 実施の形態1に係るModuleA及びModuleCの合成結果を示す図。 実施の形態1に係るModule_a、Module_cx及びModule_cの合成結果を示す図。 実施の形態1に係る変更後のモジュールのポート数を示す図。 実施の形態1に係る変更後の階層構造の例を示す図。 実施の形態2に係る半導体設計支援装置の構成例を示す図。 実施の形態2に係る半導体設計支援装置の動作例を示すフローチャート図。 実施の形態1及び2に係る半導体設計支援装置のハードウェア構成例を示す図。
実施の形態1.
本実施の形態及び以降の実施の形態では、高位合成結果を基にしたデータ解析手段を備え、その解析結果を基に高位合成で動作記述の階層を変更する手段を備えることで、レイアウト設計を考慮した階層構造の動作記述やRTLを容易に設計でき、後工程からの手戻りが少なく開発全体を効率化(時間短縮)できる構成を説明する。
図1は、実施の形態1による半導体設計支援装置10を示す構成図である。
半導体設計支援装置10は、回路設計支援装置の例に相当する。
図1において、動作記述ファイル1は、抽象度の高いコンピュータプログラムであり、例えば動作を記述したアルゴリズムC言語やC++言語やSystemC言語のファイルである。
制約条件2は、高位合成を実行するための制約条件であり、半導体設計支援装置10に入力される。
この出力であるRTL3は、高位合成処理部11で生成されるRTLそのものであり、高位合成結果4は、高位合成処理部11で実行された高位合成の結果であり、具体的にはゲート数やポート数、タイミング情報等が表示される結果レポートである。
半導体設計支援装置10内の高位合成処理部11は、動作記述ファイル1をLSI化するためのハードウェア専用言語RTLに変換するためのものであり、いわゆる市販されている高位合成ツールそのものと置き換えることも可能である。
次に、合成結果解析部12は、高位合成結果4とレイアウト設計条件とを入力とし、これらの情報を基に、階層変更(ブロック分割/統合)の指針や情報を出力するものであり、その出力を基に、実際に階層を変更するのが、階層変更部13である。
レイアウト設計条件は、設計対象の半導体集積回路のレイアウト設計に関する条件である。
合成結果解析部12は、高位合成処理部11による高位合成結果4とレイアウト設計条件とを取得し、高位合成結果4とレイアウト設計条件とを照合する。
高位合成結果4に含まれるいずれかの要素がレイアウト設計条件と異なる(レイアウト設計条件に合致しない)場合に、合成結果解析部12は、レイアウト設計条件に合致しない要素に対応させて、動作記述の階層構造の変更方法を決定する。
そして、階層変更部13は、合成結果解析部12により決定された変更方法に従って、動作記述の階層構造を変更する。
合成結果解析部12は、レイアウト設計条件取得部及び変更方法決定部の例に相当する。
図2は、図1中の動作記述ファイル1の一例を示す図であり、ModuleA、ModuleB、ModuleCという3つの階層(モジュール)が含まれた動作記述を示している。
すなわち、半導体設計支援装置10が動作する前の設計対象の半導体集積回路の階層構造は3つに分けられていることがわかる。
図3にModuleAの動作記述、図4にModuleCの動作記述を示す(ModuleBについては省略)。
なお、図2、図3、図4に示す記述は、C++言語で記述されたプログラムを説明するために必要な一部の記述のみを抜き出したもので、動作記述としては不完全なプログラムである。
本説明ではC++言語で説明するがその他の言語でもよい。
次に、動作について説明する。
図5は、半導体設計支援装置10の動作を示すフローチャートであり、この図に沿って説明する。
先ず、階層構造を最適化したい動作記述ファイル1と高位合成の制約条件ファイル2を半導体設計支援装置10に入力する(ステップS10)。
ここでは、動作記述ファイル1には、図2で示したC++言語のコードを入力とする。
また、制約条件ファイル2としては、関数単位でRTLのモジュールになるような条件を与えるものとする。
次に、高位合成処理部11で制約条件ファイル2に従い、動作記述ファイル1をRTLに変換し、RTL3とその高位合成結果4を出力する(ステップS11)。
図2で示すコードを入力することで、図6に示す階層を持つRTLが生成される。
また、得られた合成結果から、図7に示す合成結果を得るとする。
ここまでは通常の高位合成作業である。
次に、出力された高位合成結果4の情報(ゲート数、ポート数等)とレイアウト設計条件とにより、合成結果解析部12において解析を行う(ステップS12)。
例えば、最近ではレイアウト制約としてレイアウト単位の階層(ブロック)のゲート数やポート数に制約がある場合もある。
一例として、ゲート数が1Mゲート以内というレイアウト設計条件があった場合、全てのモジュールのゲート数が1Mよりも小さい場合は階層を変更する必要が無いため、ステップS12に戻り次の階層の解析を行う。
もし1Mゲートよりも大きいゲート数のモジュールが存在する場合は階層を分割する必要があるため、ステップS14の階層変更に進む。
ステップS14では、合成結果解析部12において階層変更箇所の抽出を行う。
抽出にあたり、対象モジュール内の下位階層モジュールの合成結果を解析する。
本実施の形態の例では、回路規模を基準としているため、合成結果解析部12は、回路規模が最も大きいモジュールを抽出する。
図8にModuleAの内部モジュールのモジュール構成図、図9にそれらの合成結果を示す。
この例では、FuncCが最も回路規模が大きいため、FuncCが抽出される。
合成結果解析部12は、階層構造の変更方法として、FuncCを親関数ModuleAから抜き出し、その他の関数FuncA、FuncBは親関数ModuleAに残すという方法を決定する。
次に、ステップS15で、階層変更部13が、合成結果解析部12が決定した変更方法に従って階層変更を行う。
階層変更では、上記抽出された関数を親関数(親階層)から分離し、新たな関数(階層)を生成する。
本例では、FuncCを親関数ModuleAから抜き出し、その他の関数FuncA、FuncBは親関数ModuleAに残す。
より具体的には、階層変更部13は、動作記述ファイル1のコードを以下のように変更する。
抽出された関数FuncCの親関数となるModuleAから、上記抽出された関数FuncCをコード上分離し、新たな関数ModuleA_aを生成し(図11)、残ったその他の関数をまとめた関数Module_A_bを生成し(図12)、さらにそれらを接続するModuleAを再生成する(図10)。
つまり、ModuleA(図3)のコードがModuleA_a(図11)とModule_A_b(図12)に分割されることになり、Top階層(図2)は図10になる。
次に、ステップS16で、他に1Mゲートを超える階層(モジュール)が無いか確認し、あった場合は、ステップS14に戻り同様のことを繰り返す。
無い場合は、ステップS17に進み、階層変更された動作記述を再度高位合成し、1Mゲート以下になっていることを確認する。
1Mゲート以下になっていない場合は、同様の動作を繰り返す。
ここで得た結果のRTL階層を図13に示す。
本例では、関数(階層)を分離する例を示しているが、関数(階層)を統合することも可能である。
例えば、ModuleAの下位の階層や関数等分割できる単位毎のゲート数をあらかじめ高位合成時に全て出力しておいて、その値より1Mゲート以下になるように関数(階層)を組み合わせてもよい。
さらに、本実施の形態では、コードを分割することを示したが、コードを変更せず、制約条件だけ変えて階層を変更してもよい。
また、上記の例では回路規模を基準としているが、ポート数を基準としてもよい。
例えばポート数が900本以内というレイアウト設計条件の場合を説明する。
まず、S11にて高位合成結果の一部としてポート数を得る。
次に、ステップS13において、合成結果解析部12は、ポート数のレイアウト設計条件を判断基準として基準を超える階層を特定する。
本実施の形態の例では、ModuleAにおいて、ポート数が1000本となり、基準の900本を超えるため、ModuleAについてステップS14に移行する。
ステップS14では、合成結果解析部12が、下位階層(図14)の合成結果(図15)から、ModuleAに接続されるポート数が最も大きい関数を抽出する。
本例では、ポート数が900本であるFuncCが抽出される(FuncBとの接続100本とModuleAとの接続800本の合計900本)。
さらに、合成結果解析部12は、ModuleAを介してFuncCの接続先となるModuleCの合成結果を参照する。
ModuleCにおいて、ModuleCのFuncXが接続先となるため、合成結果解析部12は、FuncCとFuncXについて階層変更を行うことを決定する。
より具体的には、まずFuncXとFuncCを統合した関数Module_cxを生成し、次に親関数ModuleAからFuncCを抜き出した関数Module_aを生成し、また、親関数ModuleCからFuncXを抜き出した関数Module_cを生成することを決定する。
階層変更部13は、合成結果解析部12により決定された変更方法に従って、上記の手順にて階層構造を変更する。
以上の処理によって得られた各々のFuncのポート数結果を図16に示す。
また、図17にTopのModuleのポート数を示す。
このTopの結果から、ポート数が基準以下であれば終了する。
まだ、基準を満たさない場合は、基準を満たすまで関数統合を繰り返す。
この階層変更後、再度高位合成を行い、最終確認を行う。
得られた合成結果のRTL階層構造を図18に示す。
さらに上記では、回路規模とポート数でそれぞれの基準の例を示したが、それらを組み合わせて、評価関数(例えば、ポート数からゲート数を割ったピンペア数等)を作成し判断してもよい。
また本実施の形態では、関数をベースに分離しているが、関数ではなく、コード中の任意の箇所を分割して、再度高位合成して同じことを繰り返し、回路規模等の条件に合う分割位置を決めてもよい。
以上のように、高位合成結果を基にしたデータ解析手段を備え、その解析結果を基に高位合成で動作記述の階層を変更する手段を備えることで、レイアウト設計を考慮した階層構造の動作記述やRTLを容易に設計できるとともに、開発後期の下流設計(レイアウト設計等)からの手戻りが少なくなり開発全体を効率化(時間短縮)できる。
また、レイアウト設計を考慮した階層分割が出来るため、面積や消費電力の削減にも寄与することが可能となる。
実施の形態2.
実施の形態1では、階層毎の高位合成情報をそのまま用いて階層を変更するものであるが、実施の形態2では、設計ブロック全体のタイミング違反(遅延違反)情報に着目し、タイミング違反が発生している階層のみを分割する。
図19は、このような場合の、実施の形態2による半導体設計支援装置20を示す構成図である。
半導体設計支援装置20は、回路設計支援装置の例に相当する。
図19において、半導体設計支援装置20、仮想配線モデル5、仮想配線モデル入力部23、遅延違反解析部22以外は、実施の形態1とまったく同じため説明を省略する。
半導体設計支援装置20は、仮想配線モデル入力部21により仮想配線モデル5を入力可能にした点と、高位合成結果4の遅延違反情報を解析する遅延違反解析部22を設けた点以外は実施の形態1と同じである。
仮想配線モデル5は、RTLを論理合成する際によく使用されるもので、対象回路のゲート数やファンアウト数に応じて容量や遅延を定めたものであり、一般的には半導体のプロセス毎に存在するものである。
仮想配線モデル入力部21は、仮想配線モデル5の情報を高位合成用に変換するものである。
遅延違反解析部22は、高位合成結果4のタイミング違反情報を入力し、タイミング違反の解析を行い、タイミング違反が発生している要素を抽出し、抽出した要素に対応させて、動作記述の階層構造の変更方法を決定する。
遅延違反解析部22は、変更方法決定部の例に相当する。
次に動作について説明する。
図20は、半導体設計支援装置20の動作を示すフローチャートであり、この図に沿って説明する。
先ず、階層構造を最適化したい動作記述ファイル1と高位合成の制約条件ファイル2と仮想配線モデル5を半導体設計支援装置20に入力する(ステップS20)。
次に、仮想配線モデル入力部21により、仮想配線モデルの情報を高位合成処理部11の制約として入力できるように変換する(ステップS21)。
具体的には、仮想配線モデル5の容量や遅延の情報を高位合成処理部11が読める遅延情報に置き換える。
例えば、高位合成処理部では、フリップフロップやNANDゲート等のセルの遅延が0.3ns等のように値が規定されているが、その値に仮想配線モデル5の情報を加味する。
例えば、ゲート数が小さいブロックにおいては配線が短くなり遅延も小さくなるため、前記の0.3nsの遅延を0.1nsに置き換える。
この遅延値の置換えについては、事前にいろいろ試して変換方法を決めておく必要がある。
次に、高位合成処理部11で、仮想配線モデル入力部21と前記制約条件ファイル2に従い、動作記述ファイル1をRTLに変換し、RTL3とその高位合成結果4を出力し、そのうちタイミング違反情報を抽出する(ステップS22)。
そして、そのタイミング違反情報を遅延違反解析部22に入力し、遅延違反解析部22がタイミング違反が起こっている個所を解析する(ステップS23)。
具体的には、タイミング違反が起こっている個所がどの階層(モジュールや関数等)に含まれているかを検出し、その個所が含まれている最も下位の階層を抽出し、抽出した階層に対応させて階層構造の変更方法を決定する。
次に、その検出した階層のみを階層変更部13により分割する(ステップS24)。
階層変更部13による具体的な階層変更方法は、実施の形態1と同じなので説明を省略する。
次に、階層変更された部分については、その回路規模に応じた仮想配線モデルの値が当たるようして、高位合成処理部11において再度高位合成を実施し(ステップS25)、タイミング違反が改善していることを確認する(ステップS26)。
他にタイミング違反が発生して無いか確認し(ステップS27)、ある場合はステップ23に戻り、前記同様のことを繰り返し実施する。
他にタイミング違反個所が無い場合はこれで完了となる。
なお、これでもタイミング違反が無くならない場合は、本実施の形態に示す方法以外に更に別の対策(回路変更等)が必要となる。
なお、前記では、タイミング違反個所を含む最も小さい階層に分割することを記載しているが、あまり小さい階層が増えるとレイアウト作業が大変(煩雑)になるため、タイミング違反が出ない範囲で更に上の階層で分割してもよい。
その場合は、タイミング違反が出ない最も上位の階層を抽出すべく階層変更と高位合成を繰り返し実施する。
以上のように、高位合成のタイミング違反結果を基にしたデータ解析手段を備え、その解析結果を基に高位合成で遅延違反の個所の動作記述の階層を分割する手段を備えることで、タイミングの厳しい個所の遅延を設計者の手をわずらわすことなく改善することができる。
最後に、実施の形態1及び2に示した半導体設計支援装置10、20のハードウェア構成例を図21を参照して説明する。
半導体設計支援装置10、20はコンピュータであり、半導体設計支援装置10、20の各要素をプログラムで実現することができる。
半導体設計支援装置10、20のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
演算装置901は、プログラムを実行するCPU(Central Processing Unit)である。
外部記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置である。
主記憶装置903は、RAM(Random Access Memory)である。
通信装置904は、例えば、NIC(Network Interface Card)である。
入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
プログラムは、通常は外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
プログラムは、図1に示す「〜部」として説明している機能を実現するプログラムである。
更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、図1に示す「〜部」の機能を実現するプログラムを実行する。
また、実施の形態1及び2の説明において、「〜の判断」、「〜の判定」、「〜の抽出」、「〜の解析」、「〜の決定」、「〜の変更」、「〜の設定」、「〜の取得」、「〜の選択」、「〜の生成」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
なお、図21の構成は、あくまでも半導体設計支援装置10、20のハードウェア構成の一例を示すものであり、半導体設計支援装置10、20のハードウェア構成は図21に記載の構成に限らず、他の構成であってもよい。
1 動作記述ファイル、2 制約条件、3 RTL、4 高位合成結果、5 仮想配線モデル、10 半導体設計支援装置、11 高位合成処理部、12 合成結果解析部、13 階層変更部、20 半導体設計支援装置、21 仮想配線モデル入力部、22 遅延違反解析部。

Claims (9)

  1. 設計対象回路の動作が階層構造で記述されている動作記述の高位合成を行う高位合成処理部と、
    前記設計対象回路のレイアウト設計に関する条件であるレイアウト設計条件を取得するレイアウト設計条件取得部と、
    前記高位合成処理部による高位合成結果と前記レイアウト設計条件とを照合し、前記高位合成結果に含まれるいずれかの要素が前記レイアウト設計条件と異なる場合に、前記動作記述の階層構造の変更方法を決定する変更方法決定部と、
    前記変更方法決定部により決定された変更方法に従って、前記動作記述の階層構造を変更する階層変更部とを有することを特徴とする回路設計支援装置。
  2. 前記変更方法決定部は、
    前記レイアウト設計条件と異なる要素を抽出し、抽出した要素に対応させて、前記動作記述の階層構造の変更方法を決定することを特徴とする請求項1に記載の回路設計支援装置。
  3. 前記高位合成処理部は、
    前記階層変更部により階層構造が変更された後の動作記述の高位合成を行い、
    前記変更方法決定部は、
    前記高位合成処理部による高位合成結果と前記レイアウト設計条件とを照合し、前記高位合成結果に含まれるいずれかの要素が前記レイアウト設計条件と異なる場合に、改めて、前記動作記述の階層構造の変更方法を決定し、
    前記階層変更部は、
    改めて、前記変更方法決定部により決定された変更方法に従って、前記動作記述の階層構造を変更することを特徴とする請求項1に記載の回路設計支援装置。
  4. 前記レイアウト設計条件取得部は、
    レイアウト設計条件として、ゲート数についての条件及びポート数についての条件の少なくともいずれかを取得することを特徴とする請求項1に記載の回路設計支援装置。
  5. 設計対象回路の動作が階層構造で記述されている動作記述の高位合成を行う高位合成処理部と、
    前記高位合成処理部による高位合成結果に含まれるいずれかの要素にタイミング違反が発生している場合に、前記動作記述の階層構造の変更方法を決定する変更方法決定部と、
    前記変更方法決定部により決定された変更方法に従って、前記動作記述の階層構造を変更する階層変更部とを有することを特徴とする回路設計支援装置。
  6. 前記変更方法決定部は、
    前記タイミング違反が発生している要素を抽出し、抽出した要素に対応させて、前記動作記述の階層構造の変更方法を決定することを特徴とする請求項5に記載の回路設計支援装置。
  7. 前記高位合成処理部は、
    前記階層変更部により階層構造が変更された後の動作記述の高位合成を行い、
    前記変更方法決定部は、
    前記高位合成処理部による高位合成結果に含まれるいずれかの要素にタイミング違反が発生している場合に、改めて、前記動作記述の階層構造の変更方法を決定し、
    前記階層変更部は、
    改めて、前記変更方法決定部により決定された変更方法に従って、前記動作記述の階層構造を変更することを特徴とする請求項5に記載の回路設計支援装置。
  8. 回路設計支援を行うコンピュータに、
    設計対象回路の動作が階層構造で記述されている動作記述の高位合成を行う高位合成処理と、
    前記設計対象回路のレイアウト設計に関する条件であるレイアウト設計条件を取得するレイアウト設計条件取得処理と、
    前記高位合成処理による高位合成結果と前記レイアウト設計条件とを照合し、前記高位合成結果に含まれるいずれかの要素が前記レイアウト設計条件と異なる場合に、前記動作記述の階層構造の変更方法を決定する変更方法決定処理と、
    前記変更方法決定処理により決定された変更方法に従って、前記動作記述の階層構造を変更する階層変更処理とを実行させることを特徴とするプログラム。
  9. 回路設計支援を行うコンピュータに、
    設計対象回路の動作が階層構造で記述されている動作記述の高位合成を行う高位合成処理と、
    前記高位合成処理による高位合成結果に含まれるいずれかの要素にタイミング違反が発生している場合に、前記動作記述の階層構造の変更方法を決定する変更方法決定処理と、
    前記変更方法決定処理により決定された変更方法に従って、前記動作記述の階層構造を変更する階層変更処理とを実行させることを特徴とするプログラム。
JP2014135679A 2014-07-01 2014-07-01 回路設計支援装置及び回路設計支援方法及びプログラム Pending JP2016014950A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014135679A JP2016014950A (ja) 2014-07-01 2014-07-01 回路設計支援装置及び回路設計支援方法及びプログラム
US14/755,977 US20160004797A1 (en) 2014-07-01 2015-06-30 Circuit designing support apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014135679A JP2016014950A (ja) 2014-07-01 2014-07-01 回路設計支援装置及び回路設計支援方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2016014950A true JP2016014950A (ja) 2016-01-28

Family

ID=55017165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014135679A Pending JP2016014950A (ja) 2014-07-01 2014-07-01 回路設計支援装置及び回路設計支援方法及びプログラム

Country Status (2)

Country Link
US (1) US20160004797A1 (ja)
JP (1) JP2016014950A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018131457A1 (ja) * 2017-01-11 2018-07-19 富士通株式会社 情報処理装置、プログラム、および情報処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234097A (ja) * 2003-01-28 2004-08-19 Ricoh Co Ltd テスト容易性を考慮した動作合成システム
JP2004265224A (ja) * 2003-03-03 2004-09-24 Mitsubishi Electric Corp 半導体集積回路設計方法および設計支援装置
JP2012150631A (ja) * 2011-01-19 2012-08-09 Renesas Electronics Corp 半導体集積回路の設計方法および設計装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5111413A (en) * 1989-03-24 1992-05-05 Vantage Analysis Systems, Inc. Computer-aided engineering
US6718520B1 (en) * 1997-01-27 2004-04-06 Unisys Corporation Method and apparatus for selectively providing hierarchy to a circuit design
US7076410B1 (en) * 1997-01-27 2006-07-11 Unisys Corporation Method and apparatus for efficiently viewing a number of selected components using a database editor tool
US6701289B1 (en) * 1997-01-27 2004-03-02 Unisys Corporation Method and apparatus for using a placement tool to manipulate cell substitution lists
US6836877B1 (en) * 1998-02-20 2004-12-28 Lsi Logic Corporation Automatic synthesis script generation for synopsys design compiler
US6618839B1 (en) * 1999-11-30 2003-09-09 Synplicity, Inc. Method and system for providing an electronic system design with enhanced debugging capabilities
US7363599B1 (en) * 2005-10-04 2008-04-22 Xilinx, Inc. Method and system for matching a hierarchical identifier
US8977995B1 (en) * 2007-01-10 2015-03-10 Cadence Design Systems, Inc. Timing budgeting of nested partitions for hierarchical integrated circuit designs
US7882460B2 (en) * 2008-04-29 2011-02-01 International Business Machines Corporation Method of circuit power tuning through post-process flattening
US8136062B2 (en) * 2008-08-28 2012-03-13 International Business Machines Corporation Hierarchy reassembler for 1×N VLSI design
WO2011096058A1 (ja) * 2010-02-03 2011-08-11 富士通株式会社 回路設計方法、回路設計システム及びプログラム
WO2011155622A1 (ja) * 2010-06-09 2011-12-15 日本電気株式会社 回路合成装置、方法、及び、プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234097A (ja) * 2003-01-28 2004-08-19 Ricoh Co Ltd テスト容易性を考慮した動作合成システム
JP2004265224A (ja) * 2003-03-03 2004-09-24 Mitsubishi Electric Corp 半導体集積回路設計方法および設計支援装置
JP2012150631A (ja) * 2011-01-19 2012-08-09 Renesas Electronics Corp 半導体集積回路の設計方法および設計装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018131457A1 (ja) * 2017-01-11 2018-07-19 富士通株式会社 情報処理装置、プログラム、および情報処理方法
US11062066B2 (en) 2017-01-11 2021-07-13 Fujitsu Limited Information processing apparatus, computer-readable recording medium, and information processing method

Also Published As

Publication number Publication date
US20160004797A1 (en) 2016-01-07

Similar Documents

Publication Publication Date Title
US7788625B1 (en) Method and apparatus for precharacterizing systems for use in system level design of integrated circuits
US10296688B2 (en) Pin-based noise characterization for silicon compiler
JP2006285333A (ja) 動作合成装置及び方法
US9047434B2 (en) Clustering for processing of circuit design data
Tatsuoka et al. Physically aware high level synthesis design flow
JP5830955B2 (ja) 検証装置、検証方法及び検証プログラム
CN115204076B (zh) 集成电路的逻辑优化方法、装置、电子设备及可读介质
JP2008299464A (ja) 消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置
US8522175B2 (en) Semiconductor circuit design supporting apparatus and method, and non-transitory computer-readable medium
JP2016014950A (ja) 回路設計支援装置及び回路設計支援方法及びプログラム
JP5447547B2 (ja) マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム
US8959467B2 (en) Structural rule analysis with TCL scripts in synthesis or STA tools and integrated circuit design tools
JP2008243092A (ja) マルチサイクルパス検出装置、マルチサイクルパス検出方法及びマルチサイクルパス検出プログラム
JP2011242825A (ja) 消費電力情報算出プログラム、消費電力情報算出方法、及び消費電力情報算出装置
JP2006268165A (ja) 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体
JP4881769B2 (ja) 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム
JP6242170B2 (ja) 回路設計支援装置及びプログラム
JP2018041301A (ja) Rtl最適化システム及びrtl最適化プログラム
US9852259B2 (en) Area and/or power optimization through post-layout modification of integrated circuit (IC) design blocks
JP5622257B2 (ja) 動作合成システム及び動作合成プログラム
CN113688587B (zh) 一种电路布图的生成方法、装置、计算机设备及存储介质
KR102656245B1 (ko) 출력 위상 조정을 위한 복합 로직 셀을 생성하는 방법 및 이를 생성하는 컴퓨팅 시스템
JP5849973B2 (ja) データ処理装置、データ処理システム、データ処理方法、及びデータ処理プログラム
JP5262678B2 (ja) 動作合成システム、動作合成方法、及び動作合成用プログラム
CN111695321B (zh) 电路设计方法及相关的电脑程序产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180322

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180612