JP2017123010A - 半導体設計支援装置及び半導体設計支援方法 - Google Patents

半導体設計支援装置及び半導体設計支援方法 Download PDF

Info

Publication number
JP2017123010A
JP2017123010A JP2016001078A JP2016001078A JP2017123010A JP 2017123010 A JP2017123010 A JP 2017123010A JP 2016001078 A JP2016001078 A JP 2016001078A JP 2016001078 A JP2016001078 A JP 2016001078A JP 2017123010 A JP2017123010 A JP 2017123010A
Authority
JP
Japan
Prior art keywords
cells
clock
file
design support
layout
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
JP2016001078A
Other languages
English (en)
Inventor
憲二 ▲浜▼田
憲二 ▲浜▼田
Kenji Hamada
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.)
MegaChips Corp
Original Assignee
MegaChips 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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2016001078A priority Critical patent/JP2017123010A/ja
Publication of JP2017123010A publication Critical patent/JP2017123010A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】クロックツリー方式によるクロックタイミングの設計において、OCVを考慮しつつ、タイミング収束の問題を解決する半導体設計支援方法を提供する。【解決手段】本発明は、半導体集積回路モデルのレイアウト領域における論理的機能を実現するセルの配置に関するフロアプランファイル122b、該セル間の論理的な接続関係を定義した論理接続情報ファイル122a、及び所定のクロックに基づいて駆動される該セルのタイミング制約条件を定義したタイミング制約条件ファイル122cに基づいて、該レイアウト領域における各セルの物理レイアウトを決定することと、該論理接続情報ファイル及び該タイミング制約条件ファイルに基づいて、該物理レイアウトが決定された該複数のセル間におけるトゥルーパスを特定することと、該物理レイアウト及び該トゥルーパスに基づいて、該レイアウト領域にクロックツリーを構成する。【選択図】図1

Description

本発明は、半導体集積回路の設計技術に関し、特に、クロックツリー合成を用いた、半導体集積回路のレイアウト設計を支援する半導体設計支援装置及びこれを用いた半導体設計支援方法に関する。
半導体集積回路の設計においては、典型的には、設計者は、まず、例えばHDL(Hardware Description Language)等を用いて機能設計を行い、論理合成ツールを用いて論理設計を行った後、回路設計を行う。該回路設計では、設計者は、レイアウト設計を行いながら、タイミング解析を行い、半導体集積回路モデルを最適化していく。このような半導体集積回路の設計には、各種の設計支援ツールを実装したCADシステムやEDAシステムと呼ばれる半導体設計支援装置が用いられる。
半導体集積回路の大規模化、高速化及び低消費電力化の実現には、半導体集積回路の設計において、クロックタイミングを適切に設計することが重要であり、とりわけ、クロックツリー方式では、クロックツリーの設計(クロックツリー合成(CTS:Clock Tree Synthesis))が鍵となる。クロックツリーは、PLL(Phased Locked Loop)回路等のクロックソースから素子(セル)等の各クロックリーフ(リーフセル)に向けてツリー状に構成されたクロックライン上に、セルを駆動するためのバッファ(クロックドライバと呼ばれることもある。)を配置した構造データである。クロックツリー合成では、一般に、クロックソースからリーフセルに向けて論理的な接続関係を規定した後、該論理的な接続関係に従ってリーフセルの物理的位置を決定し、クロックラインをツリー状に分配させながらバッファを配置することによって、クロックツリーを構築していく。
例えば、下記特許文献1は、クロックツリー合成を用いた半導体集積回路のレイアウト方法を開示する。かかる半導体集積回路のレイアウト方法は、内部論理領域に機能ブロックを配置する工程と、各機能ブロックへのクロック配線をCTS対象ネットとCTS対象ネット以外のCTS対象外ネットとに区分する工程と、CTS対象ネットを配置する工程とを有し、さらに、CTS対象ネットの配線長データをメモリに待避させる工程と、配線長データの待避後にCTS対象外ネットを配置する工程と、配線混雑に関するデータを抽出する工程と、配線混雑部データ及びメモリから読み出した配線長データに基づいて、CTS対象ネットを配線混雑部分から迂回させつつ配置する工程とを有している。
また、下記特許文献2は、異なるクロックツリー間の回路間をつなぐデータ転送パスが存在しても、OCV(On Chip Variation)に影響されずにクロックを分配するクロック分配回路に関する技術を開示する。具体的には、特許文献2は、回路図データと機能ブロックデータと設計ルールデータとに基づいて、半導体装置の配置配線領域に、第1クロック信号で動作する第1順序回路と第2クロック信号で動作する第2順序回路と、第1PLL回路と、第2PLL回路とを配置するステップと、第1PLL回路から出力される第1クロック信号を第1順序回路に分配する第1クロック分配網と、第2PLL回路から出力される第2クロック信号を第2順序回路に分配する第2クロック分配網とを形成するステップと、第1順序回路と第2順序回路との間に第1データ転送パスがある場合、第1クロック分配網の第1PLL回路から第1順序回路までのクロック分配パスが有する複数の分岐ノードのうち第1PLL回路側の最初の分岐ノードを除いたものから第1分岐ノードを選択し、第1分岐ノードから第1PLL回路にフィードバックパスを形成するステップとを有するクロック分配回路の形成方法を開示する。
特開2000-48051号公報 特開2007-336003号公報
クロックタイミングの設計においては、タイミング収束の問題が重要であり、特に、チップ(半導体集積回路)上の物理的な位置やセル間距離等に依存して発生する遅延変動や電圧変動といった「チップ上のばらつき」(OCV:On chip Variation)(以下「オンチップバリエーション」という。)も考慮する必要がある。オンチップバリエーションを考慮することで、実製品及びその使用環境により近い状態になるよう、設計パラメータの値を調整し、タイミング検証を行うことができるようになる。
クロックツリー合成では、得られるクロックツリーにおいて、セル間の論理的接続関係及び物理的距離が比較的小さな範囲に収まっている場合には、オンチップバリエーションの影響は軽微であり、クロックスキューは小さく、タイミング収束条件も比較的容易に充足させることができた。しかしながら、物理的距離が離れたリーフセル間にトゥルーパス(True Path)の接続関係がある場合、オンチップバリエーションを考慮すると、タイミング収束の問題が飛躍的に増大し、タイミング収束を図ることが困難であった。とりわけ、従前のクロックツリー合成では、セル間の論理的な接続関係に従ってセルの物理的配置が決定され、そこからクロックツリーを構築していたため、セルの論理的接続関係と物理的配置関係とが整合していない場合、タイミング収束を図ることが極めて困難な状況にあった。
そこで、本発明は、クロックツリー方式によるクロックタイミングの設計において、オンチップバリエーションを考慮しつつ、タイミング収束の問題を容易に解決することを目的とする。
より具体的には、本発明は、クロックツリー合成において、セルの論理的接続関係と物理的配置関係との整合性を考慮しながら、最適なクロックツリーを構築し、これによって、半導体集積回路のタイミング収束の問題を容易に解決する半導体設計支援装置及び半導体設計支援方法を提供することを目的とする。
また、本発明は、クロックツリー合成において、クロックライン上に配置されるべきバッファの個数を必要最小限に抑えることで、消費電力を抑えた半導体集積回路の設計を可能にする半導体設計支援装置及び半導体設計支援方法を提供することを目的とする。
上記課題を解決するための本発明は、以下に示す発明特定事項乃至は技術的特徴を含んで構成される。
ある観点に従う本発明は、クロックツリーを用いた半導体集積回路のレイアウト設計を支援する半導体設計支援装置において実行される方法であり得る。該方法は、半導体集積回路モデルに対するレイアウト領域における所定の論理的機能を実現する少なくとも1以上のセルの配置に関するフロアプランファイル、前記半導体集積回路モデルにおける前記セル間の論理的な接続関係を定義した論理接続情報ファイル、及び所定のクロックに基づいて駆動される前記セルのタイミング制約条件を定義したタイミング制約条件ファイルを受け付けることと、前記フロアプランファイル、前記論理接続情報ファイル、及び前記タイミング制約条件ファイルに基づいて、前記レイアウト領域における複数の前記セルのそれぞれの物理レイアウトを決定することと、前記論理接続情報ファイル及び前記タイミング制約条件ファイルに基づいて、前記物理レイアウトが決定された前記複数のセル間におけるトゥルーパスを特定することと、前記物理レイアウト及び前記トゥルーパスに基づいて、前記レイアウト領域にクロックツリーを構成することと、を含む。
ここで、前記クロックツリーを構成することは、上流のクロックソースから下流の前記セルに向かって延在するクロックラインを配線することを含み、前記クロックラインを配線することは、前記クロックラインの分岐ノードを決定することを含み得る。また、前記クロックラインの分岐ノードを決定することは、前記分岐ノードの上流側にバッファを配置することを含む。
前記方法は、特定された前記トゥルーパスに基づいて、前記物理レイアウトが決定された前記複数のセルのいくつかを選択し、該選択したいくつかのセルごとにクラスタを形成することをさらに含み得る。
前記クラスタを形成することは、前記タイミング制約条件ファイルに規定されたスラック値が小さい前記セルを選択することを含み得る。
また、前記クラスタを形成することは、前記複数のセルのうち、近接する前記セル同士を選択することを含み得る。
また、前記クラスタを形成することは、一の前記セルと他の前記セルとの間のスラック値の差が所定の閾値以下でない場合に、前記一のセルと前記他のセルとを異なるクラスタに属するようにクラスタリングすることを含み得る。
また、前記クラスタを形成することは、前記クラスタにおける前記セルの個数が所定数以下になるようにクラスタリングすることを含み得る。
前記分岐ノードを決定することは、形成された前記クラスタにおける前記セル間の前記クロックライン上に分岐ノードを形成することを含み得る。
また、前記分岐ノードを決定することは、形成された前記クラスタ間の前記クロックライン上に分岐ノードを形成することを含み得る。
また、前記分岐ノードを決定することは、前記クロックソースからのマンハッタン距離、前記セル間のマンハッタン距離、前記クロックラインが有する配線容量、及びバッファの駆動能力の少なくとも1つに基づいて決定され得る。
さらに、前記クラスタを形成することは、前記クラスタ間に形成された分岐ノードを頂点とする新たなクラスタを形成することを含み得る。
また、別の観点に従う本発明は、クロックツリーを用いた半導体集積回路のレイアウト設計を支援する半導体設計支援装置であり得る。該半導体設計支援装置は、半導体集積回路モデルに対するレイアウト領域における所定の論理的機能を実現する少なくとも1以上のセルの配置に関するフロアプランファイル、前記半導体集積回路モデルにおける前記セル間の論理的な接続関係を定義した論理接続情報ファイル、及び所定のクロックに基づいて駆動される前記セルのタイミング制約条件を定義したタイミング制約条件ファイルを記憶する記憶部と、前記フロアプランファイル、前記論理接続情報ファイル、及び前記タイミング制約条件ファイルに基づいて、前記レイアウト領域における複数の前記セルのそれぞれの物理レイアウトを決定する物理レイアウト生成部と、前記論理接続情報ファイル及び前記タイミング制約条件ファイルに基づいて、前記物理レイアウトが決定された前記複数のセル間におけるトゥルーパスを特定するトゥルーパス特定部と、前記物理レイアウト及び前記トゥルーパスに基づいて、前記レイアウト領域にクロックツリーを構成するクロックツリー生成部とを含み得る。前記クロックツリー生成部は、上流のクロックソースから下流の前記セルに向かって延在するクロックラインを配線し、前記クロックラインの分岐ノードを決定し、前記分岐ノードの上流側にバッファを配置するように構成され得る。
さらに、別の観点に従う本発明は、クロックツリーを用いた半導体集積回路のレイアウト設計を支援するための設計支援プログラムであり得る。すなわち、前記設計支援プログラムは、半導体設計支援装置のプロセッサに、半導体集積回路モデルに対するレイアウト領域における所定の論理的機能を実現する少なくとも1以上のセルの配置に関するフロアプランファイル、前記半導体集積回路モデルにおける前記セル間の論理的な接続関係を定義した論理接続情報ファイル、及び所定のクロックに基づいて駆動される前記セルのタイミング制約条件を定義したタイミング制約条件ファイルを受け付ける機能と、前記フロアプランファイル、前記論理接続情報ファイル、及び前記タイミング制約条件ファイルに基づいて、前記レイアウト領域における複数の前記セルのそれぞれの物理レイアウトを決定する機能と、前記論理接続情報ファイル及び前記タイミング制約条件ファイルに基づいて、前記物理レイアウトが決定された前記複数のセル間におけるトゥルーパスを特定する機能と、前記物理レイアウト及び前記トゥルーパスに基づいて、前記レイアウト領域にクロックツリーを構成する機能と、を実現させ得る。前記クロックツリーを構成させる機能は、上流のクロックソースから下流の前記セルに向かって延在するクロックラインを配線する機能を含み得る。また、前記クロックラインを配線する機能は、前記クロックラインの分岐ノードを決定する機能を含み得る。さらに、前記クロックラインの分岐ノードを決定する機能は、前記分岐ノードの上流側にバッファを配置する機能を含み得る。
さらに、本発明は、前記プログラムを記録した記録媒体としても把握し得る。
本発明によれば、クロックツリー方式によるクロックタイミングの設計において、オンチップバリエーションを考慮しつつも、タイミング収束の問題を容易に解決することができるようになる。
また、本発明によれば、クロックツリーのクロックライン上に配置されるバッファの数を必要最小限度に抑えることができるため、消費電力を低く抑えることができるようになる。
なお、本明細書等において、手段(部)とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。また、1つの手段が有する機能が2つ以上の物理的手段により実現されても良いし、2つ以上の手段の機能が1つの物理的手段により実現されても良い。
本発明の他の技術的特徴、目的、及び作用効果乃至は利点は、添付した図面を参照して説明される以下の実施形態により明らかにされる。
本発明の一実施形態に係る半導体設計支援装置を説明するためのブロックダイアグラムである。 本発明の一実施形態に係る半導体設計支援装置の設計支援処理部におけるクロックツリー合成機能を説明するためのブロックダイアグラムである。 本発明の一実施形態に係る半導体設計支援装置による設計支援処理を説明するフローチャートである。 図3に示したクロックツリー合成の詳細を示すフローチャートである。 図4に示したクロックツリー合成におけるクラスタリング処理の詳細を示すフローチャートである。 図4に示したクロックツリー合成におけるクロックラインの配線処理の詳細を示すフローチャートである。 本発明の一実施形態に係る半導体設計支援装置による設計支援処理における半導体集積回路モデルを仮想的に表現した概略図である。 本発明の一実施形態に係る半導体設計支援装置による設計支援処理における半導体集積回路モデルを仮想的に表現した概略図である。 本発明の一実施形態に係る半導体設計支援装置による設計支援処理における半導体集積回路モデルを仮想的に表現した概略図である。 本発明の一実施形態に係る半導体設計支援装置による設計支援処理における半導体集積回路モデルを仮想的に表現した概略図である。 本発明の一実施形態に係る半導体設計支援装置による設計支援処理における半導体集積回路モデルを仮想的に表現した概略図である。
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。本発明は、その趣旨を逸脱しない範囲で種々変形(例えば各実施形態を組み合わせる等)して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
図1は、本発明の一実施形態に係る半導体設計支援装置を説明するためのブロックダイアグラムである。同図に示すように、本実施形態の半導体設計支援装置100は、例えば、設計支援処理部110と、記憶部120と、ユーザインターフェース部130とを含んで構成される。半導体設計支援装置100は、典型的には、コンピューティングデバイスであり、プロセッサの制御の下、所定の設計支援プログラムを実行することにより、半導体設計支援のための各種の機能を実現した装置である。このような装置は、一般に、CADシステムやEDAシステムと呼ばれ得る。
設計支援処理部110は、例えば、設計支援プログラムが実行されることにより具現化される各種の設計支援ツール111を提供し、所定の処理を実行する。設計支援ツール111は、例えば、論理合成ツール111a、フロアプランナ111b、クロックツリー合成ツール111c、及びタイミング解析ツール111d、レイアウト設計ツール111e等を含む。これらの設計支援ツール111a〜111dは、全体として1つの設計支援ツール111として構成されても良いし、それぞれが独立に構成され、適宜、相互に連携して実行するように構成されても良い。
記憶部120は、例えば、設計支援プログラム121及び各種の設計データファイル122等を記憶する。記憶部120は、例えば、プロセッサの一次記憶装置としてのメモリ及び/又は二次記憶装置としてのストレージデバイスにより実現される。
設計支援プログラム121は、設計支援ツール111を実現するためのプログラムであり、例えば、1つのプログラムモジュールから構成されても良いし、複数のプログラムモジュールから構成されても良い。設計データファイル122は、例えば、論理接続情報ファイル122a、フロアプランファイル122b、及びタイミング制約条件ファイル122c等を含む。論理接続情報ファイル122aは、設計しようとする半導体集積回路におけるゲートレベルでのセル間の論理的な接続情報を定義する論理回路データファイルであり、例えば、RTLコードやネットリスト等が知られている。フロアプランファイル122bは、半導体集積回路上のレイアウト領域における所定の論理的機能を実現する少なくとも1以上のセルを含むブロックの配置に関するデータファイルである。タイミング制約条件ファイル122cは、所定のクロックに基づいて駆動されるセルの時間的な制約条件を定義したデータファイルであり、セルのタイミングスラックに関する記述(スラック値等)を含む。設計データファイル122のいくつかは、例えば、上述した関連する設計支援ツール111により動的に生成され、利用に供され得る。
ユーザインターフェース部130は、各種の設計支援ツール111を使用する設計者(ユーザ)にインタラクティブな操作環境を提供する。ユーザインターフェース部130は、典型的には、ディスプレイやキーボード及びマウス等のハードウェアとオペレーティングシステムやデバイスドライバ等のソフトウェアとの協働により実現される。
このような半導体設計支援装置100は、例えば、プロセッサの制御の下、所定の設計支援プログラム121を実行し、ユーザによるインタラクティブな操作を介して、レイアウト設計、検証を行い、所望の半導体集積回路を作成することができる。
図2は、本発明の一実施形態に係る半導体設計支援装置100の設計支援処理部110におけるクロックツリー合成を説明するためのブロックダイアグラムである。本例では、クロックツリー合成は、クロックツリー合成ツール111cによって提供される機能である。
同図に示すように、クロックツリー合成ツール111cは、例えば、物理レイアウト生成部210と、トゥルーパス特定部220と、クラスタリング部230と、クロックツリー生成部240といった機能構成要素により説明され得る。
物理レイアウト生成部210は、記憶部120上の論理接続情報ファイル122a、フロアプランファイル122b、及びタイミング制約条件ファイル122cに基づいて、設計しようとする半導体集積回路のレイアウト領域における複数のセル及びセル間を接続するデータラインの物理的位置を決定し、物理レイアウトを生成し、これを保持する。物理レイアウトは、記憶部120に物理レイアウト情報ファイル122dとして一時的に格納されても良い。
トゥルーパス特定部220は、生成された物理レイアウトにおけるセル間のトゥルーパス(True Path)を特定する。トゥルーパスは、セル間において動作タイミング乃至はデータの依存関係を考慮する必要があるデータラインである。なお、セル間において動作タイミング乃至はデータの依存関係を考慮する必要がないデータラインは、フォルスパス(False Path)と呼ばれる。トゥルーパス特定部220は、物理レイアウトにおいて配置されたセル間のデータラインのそれぞれについて、記憶部120上の論理接続情報ファイル122a及びタイミング制約条件ファイル122cに基づいて、トゥルーパスであるか否かを判定し、トゥルーパスであるデータラインを特定する。
クラスタリング部230は、生成された物理レイアウトにおいて、関連性を有するセル同士を抽出し、これらによるクラスタを形成する。より具体的には、クラスタリング部230は、生成された物理レイアウトにおいて、下流側(すなわち、末端側のリーフに相当するセル)から上流側(すなわち、クロックソース)に向かって順に個々のセルを着目し、セルのスラック値を考慮しながら、近傍のセル同士を選択することによってクラスタを形成する。このことからわかるように、本例のようなクラスタリングでは、セルの論理的な階層関係が必ずしも考慮される必要はない。最初のクロックツリー合成が行われる前は、スラック値は、例えば、設計者が見積もった初期値が用いられ得る。クラスタリング部230は、典型的には、スラック値が小さいセルからクラスタリングを開始し得る。また、クラスタリング部230は、セル同士のスラック値の差が所定の閾値よりも大きいと判断する場合、該セルがそれぞれ異なるクラスタに属するように、クラスタリングを行う。これは、異なるクラスタに属するセル同士のタイミング制約条件にマージンを与えることで、タイミング解析の結果において、タイミング充足する可能性を高めるためである。また、クラスタリング部230は、各クラスタに含まれるべきセルの個数が所定数以下になるようにクラスタリングを行う。ここでいう所定数は、例えば、使用され得るバッファの最大駆動能力、設計ルールや設計ノウハウ等によって予め選択され得る。
クロックツリー生成部240は、生成された物理レイアウト内に、既に配置されているセルに対するクロックラインを配線すると共に、バッファが配置されるべき位置を決定しながら分岐ノードを形成し、該分岐ノードにバッファを配置することによって、クロックツリー合成(CTS)を実行する。
具体的には、クロックツリー生成部240は、まず、クロックソースからクラスタにおける各セルに至るまで、例えばマンハッタン距離を考慮して、クロックラインを仮配線すると共に、該クラスタ内のセルに対してバッファを配置すべき最適位置を見つけ出して、そこに分岐ノードを形成して、クロックラインの配線及びバッファの配置を決定する。マンハッタン距離は、XY座標空間における各座標の差の絶対値の総和を2点間の距離とする距離概念として知られている。続いて、クロックツリー生成部240は、物理レイアウト上で近接するクラスタ間に対するバッファを配置すべき最適位置を見つけ出して、そこに分岐ノードを形成して、クロックラインの配線及びバッファの配置を決定する。つまり、これは、クラスタレベルでのクロックラインの配線及び分岐ノードの決定である。さらに、クロックツリー生成部240は、直前に決定したバッファに関連する分岐ノードを頂点とする、より上位レベルのクラスタを形成し、同様に、近接する該クラスタに対するバッファを配置すべき最適位置を見つけ出して、そこに分岐ノードを形成して、クロックラインの配線及びバッファの配置を決定する。上位レベルのクラスタを形成するため、クロックツリー生成部240は、例えば、クラスタリング部230を呼び出して、そのようなクラスタリングを実行させても良い。以降同様に、クロックツリー生成部240は、リーフからクロックソースに至るまで、クロックラインの配線及びバッファの配置の決定を繰り返し、クロックツリーを構築していく。
上述した分岐ノードの決定乃至はバッファの配置は、例えば、マンハッタン距離(例えば、クロックソースからのマンハッタン距離の最小値及び/又はクラスタ内におけるセル間のマンハッタン距離の最小値)、クロックラインの配線容量、及びバッファの駆動能力の少なくとも1つに依存して決定される。また、クラスタの形成には、典型的には、使用されるバッファの最大駆動能力が考慮されるため、これに依存して、バッファの配置が決定される。
クロックツリー生成部240は、クロックツリー合成により生成されたクロックツリーをクロックツリーファイル122eとして記憶部120に出力する。生成されたクロックツリーファイルは、例えば、タイミング解析ツール111dに参照され、タイミング解析が行われる。
タイミング解析ツール111dは、例えば静的タイミング解析(Static Timing Analysis:STA)を用いて、生成されたクロックツリーにおけるセルのスラック値を算出する。スラック値は、典型的には、タイミング制約条件が充足されるか否かを示す正又は負の値である。
以上のようにして、半導体設計支援装置100のクロックツリー合成ツール111cは、物理レイアウトを決定した上で、セル間のトゥルーパスに従って、クロックラインの配線及び分岐ノードを決定することによって、クロックツリーを生成する。この場合、クロックツリー合成ツール111cは、リーフ側からソース側に向かって順に分岐ノードを決定していく。これにより、半導体設計支援装置100は、クロックツリーにおけるタイミング収束を効率的に行うことができ、OCVに起因するタイミング収束の困難性を効率的に緩和することができる。
なお、タイミング制約条件を充足しないスラック値がある場合には、半導体設計支援装置100は、算出されたスラック値を用いて、クロックツリー合成ツール111cに、再度、クロックツリーを合成させるよう、制御し得る。
図3は、本発明の一実施形態に係る半導体設計支援装置100による設計支援処理を説明するフローチャートである。
同図を参照して、まず、半導体設計支援装置100は、設計しようとする半導体集積回路についての各種の設計データファイル122、例えば、論理接続情報ファイル122a、フロアプランファイル122b、及びタイミング制約条件ファイル122cを準備する(S301)。例えば、半導体設計支援装置100は、論理合成ツール111aを稼働させ、論理接続情報ファイル122aを生成し、これをフロアプランナ111bに入力することによりフロアプランファイル122bを生成し、これをさらに論理合成ツール111aにフィードバックすることにより、所望の論理接続情報ファイル122a及びフロアプランファイル122bを作成する。或いは、これらの設計データファイル122は、外部の設計支援ツールによって予め生成され、半導体設計支援装置100に読み込まれても良い。
半導体設計支援装置100は、次に、クロックツリー合成ツール111c、論理接続情報ファイル122a、フロアプランファイル122b、及びタイミング制約条件ファイル122cに基づいて、半導体集積回路のレイアウト領域において、複数のセル及びセル間を接続するデータラインの物理的位置を生成し、例えば図7に示すようなフロアプランを生成する(S302)。ここで、図7は、半導体集積回路としての生成されたフロアプランを仮想的に表現した概略図である。同図において、フロアプラン700は、レイアウト領域710内に物理的なブロックサイズを考慮して配置乃至は配列された、PLL回路711、各種のセル、すなわち、IPコア712、メモリ713、及び順序回路セル714を含む。なお、同図に示すフロアプラン700は、単一レイヤーで構成されているが、複数レイヤーで構成されても良い。
図3に戻り、半導体設計支援装置100は、次に、生成したフロアプラン700に基づいて、クロックツリー合成を行い、クロックツリーファイルを生成する(S303)。クロックツリー合成では、物理レイアウトに関する情報及びセル間のトゥルーパスに関する情報が参照される。クロックツリー合成の詳細は、後述する。
半導体設計支援装置100は、次に、生成されたクロックツリーファイルに対してタイミング解析を行い(S304)、該クロックツリーファイルのタイミング制約条件を判定する(S305)。タイミング解析は、例えば静的タイミング解析が行われ、スラック値が計算される。
半導体設計支援装置100は、タイミング解析の結果、タイミング制約条件を充足しないと判定する場合(S305のNo)、例えば、ユーザインターフェース部130を介して、ユーザにその旨を通知し、ユーザの操作に従って、さらなるクロックツリー合成を行う(S303)。このように、クロックツリー合成は、生成されたクロックツリーについて、タイミング解析の結果がタイミング制約条件を充足するまで、繰り返される。
図4〜図6は、本発明の一実施形態に係る半導体設計支援装置100による設計支援処理を説明するフローチャートであり、具体的には、図3に示したクロックツリー合成(S303)の詳細を示している。また、図8〜図11は、クロックツリー合成の各工程における半導体集積回路を仮想的に表現した概略図である。
すなわち、図4に示すように、クロックツリー合成では、半導体設計支援装置100は、まず、論理接続情報ファイル122a、フロアプランファイル122b及びタイミング制約条件ファイル122cに基づいて、生成されたフロアプラン700において配置されたセル間のデータラインのそれぞれについて、トゥルーパスであるか否かを判定し、トゥルーパスであるデータラインを特定する(S401)。
次に、半導体設計支援装置100は、物理レイアウトにおいて、関連性を有するセルを抽出し、クラスタリングを行う(S402)。
すなわち、半導体設計支援装置100は、まず、フロアプラン700において、末端のリーフのセルに着目し、スラック値が小さいセルをクラスタリングの候補として1つ選択する(図5のS501)。続いて、半導体設計支援装置100は、選択したセルに近接する相手のセルを1つ選択する(S502)。
次に、半導体設計支援装置100は、選択したセル同士のスラック値の差が所定の閾値以下であるか否かを判断する(S503)。半導体設計支援装置100は、選択したセル同士のスラック値の差が所定の閾値以下でないと判断する場合(S503のNo)、当該セル同士を別々のクラスタにクラスタリングするため、該相手のセルを現在のクラスタリング候補から除外して(S504)、半導体設計支援装置100は、近接する全てのリーフセルについてクラスタリングを行ったか否かを判断し(S507)、末端のリーフにおいて、近接する全てのリーフセルについてクラスタリングを行っていないと判断する場合には(S507のNo)、次の近接するセルを選択するために、S501に戻る。
一方、半導体設計支援装置100は、選択したセル同士のスラック値の差が所定の閾値以下であると判断する場合(S503のYes)、続いて、クラスタ内のセルの個数が所定数以下であるか否かを判断する(S505)。半導体設計支援装置100は、クラスタ内のセルの個数が所定数以下であると判断する場合(S505のYes)、選択したセルをクラスタに含めるようクラスタリングする(S506)。一方、半導体設計支援装置100は、クラスタ内のセルの個数が所定数以下でないと判断する場合(S505のNo)、該相手のセルを現在のクラスタリング候補から除外する(S504)。半導体設計支援装置100は、近接する全てのリーフセルについてクラスタリングを行ったか否かを判断し(S507)、近接する全てのリーフセルについてクラスタリングを行っていないと判断する場合には(S507のNo)、次のクラスタを形成するために、S501の処理に戻る。
このようにして、生成されたフロアプランを前提にして、生成しようとするクロックツリーにおけるリーフのセルに基づく最初のクラスタ(最下位レベルのクラスタ)が形成されることになる。
例えば、図8は、フロアプランにおけるレイアウト領域の一部に配置された順序回路セル群FF1〜FF7の例を示している。同図において、セルFF同士を結ぶ点線TPは、トゥルーパスの関係を有することを示し、いくつかのセルFFを囲む二点鎖線は、形成されたクラスタC1〜C3を示している。なお、ここでいうトゥルーパスは、データラインで接続パスであって、クロックツリーにおけるクロックラインの接続パスとは異なる。同図では、例えば、セルFF2とセルFF6との間は、トゥルーパスを有する関係にあるが、スラック値の差が所定の閾値以上であったため、これらのセルは、異なるクラスタにクラスタリングされていることが示されている。また、セルFF3とセルFF4とは、近接するセル同士であるが、トゥルーパスの関係を有しないため、異なるクラスタにクラスタリングされている。なお、簡略化のため、図示していないが、IPコア712やメモリ713もまたセルとして、クロックツリー合成の対象であり、同様に、トゥルーパスの関係を有し得る。
図4に戻り、半導体設計支援装置100は、生成されたクラスタ内に、セルに対するクロックラインを配線すると共にバッファを配置することによって、クロックツリーを漸次に構築していく(S403)。
この工程では、半導体設計支援装置100は、まず、クロックソースから最下位レベルのクラスタにおける各セルに至るまで、例えばマンハッタン距離を考慮して、クロックラインを仮配線する(図6のS601)。続いて、半導体設計支援装置100は、クラスタ内の例えば2つのセルに対するバッファを配置すべき最適位置を見つけ出して、そこに分岐ノードを形成して、クロックラインの配線及びバッファの配置を決定する(S602)。バッファの配置は、例えば、マンハッタン距離(例えば、クロックソースからのマンハッタン距離の最小値及び/又はクラスタ内におけるセル間のマンハッタン距離の最小値)、クロックラインの配線容量、及びバッファの駆動能力の少なくとも1つに依存して決定される。
次に、半導体設計支援装置100は、クラスタのそれぞれにおいてクロックラインの配線及びバッファの配置を決定したか否かを判断し(S603)、全てのクラスタにおいてクロックラインの配線及びバッファの配置を決定するまで、上記の処理を繰り返す。例えば、図9は、クラスタリングされた図8に示したようなクラスタにおけるクロックラインの配線及びバッファの配置を示している。すなわち、同図では、クラスタC1〜C3における分岐ノードN1〜N4及び分岐ノードN1〜N4の上流側にそれぞれ配置されたバッファBUF1〜BUF4が示されている。
続いて、半導体設計支援装置100は、物理レイアウト上で近接するクラスタ間に対するバッファを配置すべき最適位置を見つけ出して、そこに分岐ノードを形成して、クロックラインの配線及びバッファの配置を決定する(S604)。
例えば、図10は、図9に示した近接するクラスタ間に対するクロックラインの配線及びバッファの配置を示している。すなわち、同図では、一例として、クラスタC1とクラスタC2とに対して形成された分岐ノードN11及びその上流側に配置されたバッファBUF11が示されている。
半導体設計支援装置100は、次に、形成した分岐ノードがクロックソースまで到達したか否かを判断する(S605)。半導体設計支援装置100は、形成した分岐ノードがクロックソースまで到達したと判断する場合には(S605のYes)、クロックラインの配線及びバッファの配置によるクロックツリーの構築を終了する。
一方、半導体設計支援装置100は、形成した分岐ノードがクロックソースまで到達していないと判断する場合には(S605のNo)、直前に決定したバッファに関連する分岐ノードを頂点とする新たな上位レベルのクラスタを形成する(S606)。続いて、半導体設計支援装置100は、近接する該形成したクラスタに対するバッファを配置すべき最適位置を見つけ出して、そこに分岐ノードを形成して、クロックラインの配線及びバッファの配置を決定する(S606)。例えば、図11は、図10に示した上位レベルのクラスタ間に対するクロックラインの配線及びバッファの配置を示している。すなわち、同図では、一例として、クラスタC11とクラスタC12とに対して形成された分岐ノードN21及びその上流側に配置されたバッファBUF21が示されている。
半導体設計支援装置100は、以降同様に、より上位レベルのクラスタを形成しながら、クロックソースに至るまで、クロックラインの配線及びバッファの配置の決定を繰り返す。
このように、本例のクロックツリー合成では、生成された物理レイアウトを前提にして、セル間のトゥルーパスを考慮し、リーフ側からクロックラインの配線及びバッファの配置が順次に決定され、クロックツリーが構築されることになる。この場合、クロックツリー合成ツール111cは、リーフ側からソース側に向かって順に分岐ノードを決定していく。これにより、半導体設計支援装置100は、クロックツリーにおけるタイミング収束を効率的に行うことができ、OCVに起因するタイミング収束の困難性を効率的に緩和することができる。
図3に戻り、半導体設計支援装置100は、クロックツリーファイル122eを構築すると、上述したように、タイミング解析ツール111dを稼働させ、タイミング解析を実行する(S304)。タイミング解析の結果、例えば、該クロックツリーにおける各セルのスラック値が得られる。タイミング制約条件を充足しないスラック値がある場合(S305のNo)、クロックツリー合成ツール111cにより、再度、クロックツリーが合成され得る。
例えば、半導体設計支援装置100は、各クラスタごとに、得られた各セルの最小のセットアップ・スラック値及び最小のホールド・スラック値に基づき、タイミング・ウィンドウを求める。続いて、半導体設計支援装置100は、求めたタイミング・ウィンドウにおいて、論理接続情報ファイル122aにおけるトゥルーパスに関する情報に基づいて、該セル間のクロックタイミングを所定値だけ変更して調整する。例えば、半導体設計支援装置100は、セットアップ・タイミング及びホールド・タイミングのそれぞれの制約が同時に充足するように、データパスの遅延を調整し、及び/又は前段の順序回路セルのクロック遅延を調整する。さらに、半導体設計支援装置100は、クロックラインの配線の引き回し位置を変更し、及び/又は分岐ノードの位置を変更し、或いは該分岐ノードからのバッファの位置を僅かにシフトさせ、クロックの遅延量を変更する。このようにして、半導体設計支援装置100は、設計しようとする半導体集積回路のタイミング制約条件が充足されるよう、クロックツリーの再合成において、各種のパラメータの調整を行う。なお、このようなクロックツリーの再合成において、従前のP&Rといった自動配置配線ツールや他のツールの使用を排除するものではない。
上記各実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない限り、さまざまな形態で実施することができる。
例えば、本明細書に開示される方法においては、その結果に矛盾が生じない限り、ステップ、動作又は機能を並行して又は異なる順に実施しても良い。説明されたステップ、動作及び機能は、単なる例として提供されており、ステップ、動作及び機能のうちのいくつかは、発明の要旨を逸脱しない範囲で、省略でき、また、互いに結合させることで一つのものとしてもよく、また、他のステップ、動作又は機能を追加してもよい。
また、本明細書では、さまざまな実施形態が開示されているが、一の実施形態における特定のフィーチャ(技術的事項)を、適宜改良しながら、他の実施形態に追加し、又は該他の実施形態における特定のフィーチャと置換することができ、そのような形態も本発明の要旨に含まれる。
本発明は、半導体集積回路の設計分野に広く利用することができる。
100…半導体設計支援装置
110…設計支援処理部
111…設計支援ツール
111a…論理合成ツール
111b…フロアプランナ
111c…クロックツリー合成ツール
111d…タイミング解析ツール
111e…レイアウト設計ツール
120…記憶部
121…設計支援プログラムファイル
122…設計データファイル
122a…論理接続情報ファイル
122b…フロアプランファイル
122c…タイミング制約条件ファイル
122d…物理レイアウト情報ファイル
122e…クロックツリーファイル
130…ユーザインターフェース部
700…フロアプラン
710…レイアウト領域
711…PLL
712…IPコア
713…メモリ
714…順序回路セル

Claims (12)

  1. クロックツリーを用いた半導体集積回路のレイアウト設計を支援する半導体設計支援装置において実行される方法であって、
    半導体集積回路モデルに対するレイアウト領域における所定の論理的機能を実現する少なくとも1以上のセルの配置に関するフロアプランファイル、前記半導体集積回路モデルにおける前記セル間の論理的な接続関係を定義した論理接続情報ファイル、及び所定のクロックに基づいて駆動される前記セルのタイミング制約条件を定義したタイミング制約条件ファイルを受け付けることと、
    前記フロアプランファイル、前記論理接続情報ファイル、及び前記タイミング制約条件ファイルに基づいて、前記レイアウト領域における複数の前記セルのそれぞれの物理レイアウトを決定することと、
    前記論理接続情報ファイル及び前記タイミング制約条件ファイルに基づいて、前記物理レイアウトが決定された前記複数のセル間におけるトゥルーパスを特定することと、
    前記物理レイアウト及び前記トゥルーパスに基づいて、前記レイアウト領域にクロックツリーを構成することと、を含み、
    前記クロックツリーを構成することは、上流のクロックソースから下流の前記セルに向かって延在するクロックラインを配線することを含み、前記クロックラインを配線することは、前記クロックラインの分岐ノードを決定することを含み、前記クロックラインの分岐ノードを決定することは、前記分岐ノードの上流側にバッファを配置することを含む、
    方法。
  2. 特定された前記トゥルーパスに基づいて、前記物理レイアウトが決定された前記複数のセルのいくつかを選択し、該選択したいくつかのセルごとにクラスタを形成することをさらに含む、請求項1記載の方法。
  3. 前記クラスタを形成することは、前記タイミング制約条件ファイルに規定されたスラック値が小さい前記セルを選択することを含む、請求項2記載の方法。
  4. 前記クラスタを形成することは、前記複数のセルのうち、近接する前記セル同士を選択することを含む、請求項3記載の方法。
  5. 前記クラスタを形成することは、一の前記セルと他の前記セルとの間のスラック値の差が所定の閾値以下でない場合に、前記一のセルと前記他のセルとを異なるクラスタに属するようにクラスタリングすることを含む、請求項3又は4記載の方法。
  6. 前記クラスタを形成することは、前記クラスタにおける前記セルの個数が所定数以下になるようにクラスタリングすることを含む、請求項2乃至5のいずれか記載の方法。
  7. 前記分岐ノードを決定することは、形成された前記クラスタにおける前記セル間の前記クロックライン上に分岐ノードを形成することを含む、請求項2乃至6のいずれか記載の方法。
  8. 前記分岐ノードを決定することは、形成された前記クラスタ間の前記クロックライン上に分岐ノードを形成することを含む、請求項7記載の方法。
  9. 前記分岐ノードを決定することは、前記クロックソースからのマンハッタン距離、前記セル間のマンハッタン距離、前記クロックラインが有する配線容量、及びバッファの駆動能力の少なくとも1つに基づいて決定される、請求項8記載の方法。
  10. 前記クラスタを形成することは、前記クラスタ間に形成された分岐ノードを頂点とする新たなクラスタを形成することを含む、請求項8に記載の方法。
  11. クロックツリーを用いた半導体集積回路のレイアウト設計を支援する半導体設計支援装置であって、
    半導体集積回路モデルに対するレイアウト領域における所定の論理的機能を実現する少なくとも1以上のセルの配置に関するフロアプランファイル、前記半導体集積回路モデルにおける前記セル間の論理的な接続関係を定義した論理接続情報ファイル、及び所定のクロックに基づいて駆動される前記セルのタイミング制約条件を定義したタイミング制約条件ファイルを記憶する記憶部と、
    前記フロアプランファイル、前記論理接続情報ファイル、及び前記タイミング制約条件ファイルに基づいて、前記レイアウト領域における複数の前記セルのそれぞれの物理レイアウトを決定する物理レイアウト生成部と、
    前記論理接続情報ファイル及び前記タイミング制約条件ファイルに基づいて、前記物理レイアウトが決定された前記複数のセル間におけるトゥルーパスを特定するトゥルーパス特定部と、
    前記物理レイアウト及び前記トゥルーパスに基づいて、前記レイアウト領域にクロックツリーを構成するクロックツリー生成部と、を含み、
    前記クロックツリー生成部は、上流のクロックソースから下流の前記セルに向かって延在するクロックラインを配線し、前記クロックラインの分岐ノードを決定し、前記分岐ノードの上流側にバッファを配置する、
    半導体設計支援装置。
  12. クロックツリーを用いた半導体集積回路のレイアウト設計を支援するための設計支援プログラムであって、前記設計支援プログラムは、半導体設計支援装置のプロセッサに、
    半導体集積回路モデルに対するレイアウト領域における所定の論理的機能を実現する少なくとも1以上のセルの配置に関するフロアプランファイル、前記半導体集積回路モデルにおける前記セル間の論理的な接続関係を定義した論理接続情報ファイル、及び所定のクロックに基づいて駆動される前記セルのタイミング制約条件を定義したタイミング制約条件ファイルを受け付ける機能と、
    前記フロアプランファイル、前記論理接続情報ファイル、及び前記タイミング制約条件ファイルに基づいて、前記レイアウト領域における複数の前記セルのそれぞれの物理レイアウトを決定する機能と、
    前記論理接続情報ファイル及び前記タイミング制約条件ファイルに基づいて、前記物理レイアウトが決定された前記複数のセル間におけるトゥルーパスを特定する機能と、
    前記物理レイアウト及び前記トゥルーパスに基づいて、前記レイアウト領域にクロックツリーを構成する機能と、を実現させ、
    前記クロックツリーを構成させる機能は、上流のクロックソースから下流の前記セルに向かって延在するクロックラインを配線する機能を含み、前記クロックラインを配線する機能は、前記クロックラインの分岐ノードを決定する機能を含み、前記クロックラインの分岐ノードを決定する機能は、前記分岐ノードの上流側にバッファを配置する機能を含む、
    設計支援プログラム。
JP2016001078A 2016-01-06 2016-01-06 半導体設計支援装置及び半導体設計支援方法 Pending JP2017123010A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016001078A JP2017123010A (ja) 2016-01-06 2016-01-06 半導体設計支援装置及び半導体設計支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016001078A JP2017123010A (ja) 2016-01-06 2016-01-06 半導体設計支援装置及び半導体設計支援方法

Publications (1)

Publication Number Publication Date
JP2017123010A true JP2017123010A (ja) 2017-07-13

Family

ID=59306540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016001078A Pending JP2017123010A (ja) 2016-01-06 2016-01-06 半導体設計支援装置及び半導体設計支援方法

Country Status (1)

Country Link
JP (1) JP2017123010A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI714039B (zh) * 2019-03-27 2020-12-21 創意電子股份有限公司 時序模型、時序模型建立方法、與相關的頂層分析方法
CN113392605A (zh) * 2021-03-22 2021-09-14 江苏华创微系统有限公司 一种适用于高性能dsp核时序收敛的精细化物理设计方法
CN113807043A (zh) * 2021-09-17 2021-12-17 中国科学院上海微系统与信息技术研究所 时钟树综合和布局混合优化方法和装置、存储介质和终端
KR102430483B1 (ko) * 2022-02-04 2022-08-08 주식회사 마키나락스 반도체 소자의 배치를 평가하는 방법
US11854916B2 (en) 2022-02-04 2023-12-26 MakinaRocks Co., Ltd. Method for evaluating placement of semiconductor devices

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI714039B (zh) * 2019-03-27 2020-12-21 創意電子股份有限公司 時序模型、時序模型建立方法、與相關的頂層分析方法
CN113392605A (zh) * 2021-03-22 2021-09-14 江苏华创微系统有限公司 一种适用于高性能dsp核时序收敛的精细化物理设计方法
CN113392605B (zh) * 2021-03-22 2023-06-13 江苏华创微系统有限公司 一种适用于高性能dsp核时序收敛的精细化物理设计方法
CN113807043A (zh) * 2021-09-17 2021-12-17 中国科学院上海微系统与信息技术研究所 时钟树综合和布局混合优化方法和装置、存储介质和终端
KR102430483B1 (ko) * 2022-02-04 2022-08-08 주식회사 마키나락스 반도체 소자의 배치를 평가하는 방법
US11854916B2 (en) 2022-02-04 2023-12-26 MakinaRocks Co., Ltd. Method for evaluating placement of semiconductor devices

Similar Documents

Publication Publication Date Title
US8458640B2 (en) Routing using a dynamic grid
Drechsler Evolutionary algorithms for VLSI CAD
JP2017123010A (ja) 半導体設計支援装置及び半導体設計支援方法
US9135375B1 (en) Methods for construction and optimization of a clock tree plan for reduced power consumption
JP4719265B2 (ja) 確率的相互接続構造設計のためのシステムおよび方法
US7795943B2 (en) Integrated circuit device and layout design method therefor
US20090282381A1 (en) Electronic design automation tool and method for optimizing the placement of process monitors in an integrated circuit
JP2005182654A (ja) リコンフィギュラブル回路、リコンフィギュラブル回路を備えた処理装置、リコンフィギュラブル回路における論理回路の機能決定方法、回路生成方法および回路
CN106257467B (zh) 用于在设计编译流程中利用针对寄存器重定时的估计的方法和装置
US11748548B2 (en) Hierarchical clock tree implementation
US20230036710A1 (en) Technology-independent line end routing
US9047434B2 (en) Clustering for processing of circuit design data
US10289775B1 (en) Systems and methods for assigning clock taps based on timing
JP5630870B2 (ja) 半導体集積回路のレイアウト方法及びプログラム
US8341563B1 (en) Method and apparatus for power gating stitching
Chu et al. Efficient nonrectangular shaped voltage island aware floorplanning with nonrandomized searching engine
Behjat et al. Integer linear programming models for global routing
US8132141B2 (en) Method and apparatus for generating a centerline connectivity representation
US8181143B2 (en) Method and apparatus for generating a memory-efficient representation of routing data
JP2013257646A (ja) 自動レイアウトプログラム、自動レイアウト装置及びレイアウト最適化方法
Ewetz et al. Fast clock scheduling and an application to clock tree synthesis
US10878152B1 (en) Single-bit latch optimization for integrated circuit (IC) design
JP4587754B2 (ja) クロック合成方法、半導体装置及びプログラム
US11144698B1 (en) Method, system, and product for an improved approach to placement and optimization in a physical design flow
Gade et al. A Pre-RTL floorplanner tool for automated CMP design space exploration with thermal awareness

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180216

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180216

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180719

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180802