JP2007257373A - 自動配置方法、装置、及びプログラム - Google Patents

自動配置方法、装置、及びプログラム Download PDF

Info

Publication number
JP2007257373A
JP2007257373A JP2006081702A JP2006081702A JP2007257373A JP 2007257373 A JP2007257373 A JP 2007257373A JP 2006081702 A JP2006081702 A JP 2006081702A JP 2006081702 A JP2006081702 A JP 2006081702A JP 2007257373 A JP2007257373 A JP 2007257373A
Authority
JP
Japan
Prior art keywords
cell
adjustment
net
adjustment cell
target net
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.)
Granted
Application number
JP2006081702A
Other languages
English (en)
Other versions
JP4778339B2 (ja
Inventor
Kazuyuki Kosugi
一之 小杉
Kiyoko Osaki
聖子 大崎
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006081702A priority Critical patent/JP4778339B2/ja
Publication of JP2007257373A publication Critical patent/JP2007257373A/ja
Application granted granted Critical
Publication of JP4778339B2 publication Critical patent/JP4778339B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】より軽い負荷で探索精度を維持した調整用セルの挿入可能なエリア(挿入ポイント)を探索するための技術を提供すると共に、調整用セルの挿入によって生じる影響を考慮して、その調整用セルの挿入ポイントを探索するための技術を提供する。
【解決手段】自動配置処理部34は、自動レイアウト処理部33によってデザインが確定した電子回路が形成される基板を複数のエリアに分割し、エリア毎に調整用セルを挿入できる余裕度を評価したマップを事前に作成する。調整用セルを挿入すべき対象ネットでその挿入ポイントを探す探索を行うか否かは、その対象ネットが存在するエリアで評価した余裕度によって判定する。それにより、調整用セルの挿入ポイントを探し出すことが見込める対象ネットのみ、挿入ポイントの探索を行う。
【選択図】図2

Description

本発明は、設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定するための技術に関する。
現在では、電子回路の設計はCADを用いて行われるのが普通である。CADでは、電子回路の機能的、或いは論理的な単位となる素子、或いは部品は基本素子(セル)としてライブラリに登録させている。このことから、論理設計は、基本的に、ライブラリに登録されたセルのなかで必要なセルを選択し、その選択したセル同士を接続させることで行われる。セル同士の接続は、それらがそれぞれ持つピンとピンを結ぶことで行われる。
電子回路の設計では、デザインの比較的に小さな変更が行われる。そのようなデザイン変更はECO(engineering change orders)と呼ばれる。そのECOは、セル間を接続するネットで発生したタイミングエラー(信号を取り込むタイミングが早すぎるか否か確認するホールドタイムチェックでのエラー)の修正のために行われることが多い。その修正は普通、ネット上に信号を遅延させる調整用セル(通常はバッファ)を追加することで行われる。そのような調整用セルの追加では、既存のデザインからはそれが挿入された箇所の配線のみが変更されることになる。
図1は、ECOが行われる場合の一般的な設計処理の流れを説明する図である。ここで図1を参照して、その設計処理の一般的な流れについて具体的に説明する。
ステップS1の論理合成では、ハードウェア記述言語で表現したRTL(register transfer level)記述、真理値表、状態遷移記述、(特定の半導体製造技術に依存しない)論理式などを入力して、最適なゲート・レベル論理回路(ネットリスト)が自動生成される。ステップS2のレイアウト処理では、ネットリストを読み込み、セルの配置の決定や配線の配置といったことが行われ、デザインが確定される。そのデザインを表すデータは配置配線データベースに格納される。このときにセルはインスタンス化される。
ステップS3では、配置された配線の抵抗、容量の各値を算出する。ステップS4では、電子回路の遅延を計算で見積もり,見積もった遅延値を用いて、信号が伝搬していく時間差によって不具合(誤動作など)が生じるか否か確認するための静的タイミング解析(STA)を行う。ステップS5では、そのSTAによって見つかったタイミングエラー(ここではホールド・タイミングエラー)を発生させる配線(ネット)を示すパス(path)情報、及び実際の遅延を示すスラック(Slack)情報を出力する。ステップS6では、タイミングエラーを修正するためのタイミング調整を行い、その調整内容を示すECOリストD1が作成される。そのECOリストD1は、対象ネットを例えばインスタンス名とピン(端子)名で記述したものである。ECOはステップS2のレイアウト処理で行われる。
タイミングエラーが発生しているネット上に調整用セルを挿入可能なエリアが存在しているとは限らない。他のセルや配線によってエリアが存在しない場合がある。このことから、特許文献1に記載された従来技術のように、配線上で調整用セルを配置可能な位置を探索して挿入位置(挿入ポイント)を決定することが行われている。しかし、その探索に要する負荷は重いのが実情である。その探索を行うべき配線の数が多くなると、負荷は非常に重くなり、膨大な処理時間が必要となる。また、探索を行っても挿入可能なエリアを探し出せるか否かは判らない。このようなことから、調整用セルを挿入可能なエリアの探索精度を維持させつつ、負荷を軽減させることが重要であると考えられる。
設計の対象となる電子回路の多くは、半導体チップ(基板)上に形成される半導体集積回路である。近年のディープサブミクロン半導体集積回路の設計では、回路の高集積化、高速化が進むにつれ、タイミングエラーを短TAT(ターンアラウンドタイム)で修正するのが困難になってきている。これは、タイミングエラーを修正するためのデザイン変更によって他のタイミングエラーを発生させることが起こりやすいためである。そのために、デザイン変更を再度、行うイタレーションを繰り返すことも多いのが実情である。このことから、調整用セルを挿入可能なエリアの探索では、その調整用セルの挿入によって生じる影響を考慮することも重要であると考えられる。
特開2001−168199号公報 特開2000−269347号公報
本発明は、より軽い負荷で探索精度を維持した調整用セルの挿入可能なエリア(挿入ポイント)を探索するための技術を提供することを第1の目的とする。
また、本発明は、調整用セルの挿入によって生じる影響を考慮して、その調整用セルの挿入可能なエリア(挿入ポイント)を探索するための技術を提供することを第2の目的とする。
本発明の第1〜第3の態様の自動配置方法は共に、設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定するための方法であって、それぞれ以下のように調整用セルを挿入すべき位置の決定を行う。
第1の態様の自動配置方法では、電子回路が形成される基板を複数のエリアに分割して、該エリア毎に調整用セルを挿入できる余裕度を事前に評価し、対象ネットが存在するエリアで評価した余裕度に基づいて、該対象ネット上に調整用セルを挿入可能か否か判定し、調整用セルを挿入可能と判定した対象ネットを対象にして、該調整用セルを挿入すべき位置の決定を行う。
第2の態様の自動配置方法では、対象ネットに信号を出力する出力側セル、及び該信号を入力する入力側セルのうちの少なくとも一方の近傍に調整用セルを挿入可能か否か確認すると共に、該一方の近傍に該調整用セルを挿入すべき状況か否か確認し、該確認によって、一方の近傍に調整用セルが挿入可能であり、且つ該調整用セルを挿入すべき状況であることが判明した場合に、該調整用セルを挿入すべき位置として該一方の近傍を選択し決定する。
第3の態様の自動配置方法では、対象ネットが複数の層に形成されることで複数のネットセグメントから構成されている場合に、該複数のネットセグメントをネットセグメントの長さによって分け、該ネットセグメントのなかで長さが長いネットセグメントを優先させる形で、調整用セルを挿入すべきネットセグメントを選択し決定する。
本発明の自動配置装置は、設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定するものであって、電子回路が形成される基板を複数のエリアに分割して、該エリア毎に調整用セルを挿入できる余裕度を事前に評価する評価手段と、対象ネットが存在するエリアで評価した余裕度に基づいて、該対象ネット上に調整用セルを挿入可能か否か判定する判定手段と、調整用セルを挿入可能と判定手段が判定した対象ネットを対象にして、該調整用セルを挿入すべき位置の決定を行う配置決定手段と、を具備する。
本発明のプログラムは、設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定するためにコンピュータに実行させるプログラムであって、電子回路が形成される基板を複数のエリアに分割して、該エリア毎に調整用セルを挿入できる余裕度を事前に評価する評価機能と、対象ネットが存在するエリアで評価した余裕度に基づいて、該対象ネット上に調整用セルを挿入可能か否か判定する判定機能と、調整用セルを挿入可能と判定機能により判定した対象ネットを対象にして、該調整用セルを挿入すべき位置の決定を行う配置決定機能と、を実現させる。
本発明では、電子回路が形成される基板を複数のエリアに分割して、エリア毎に調整用セルを挿入できる余裕度を事前に評価し、対象ネットが存在するエリアで評価した余裕度に基づいて、対象ネット上に調整用セルを挿入可能か否か判定することにより、調整用セルを挿入可能と判定した対象ネットのみを対象にして、調整用セルを挿入すべき位置の決定を行う。対象ネット上で挿入すべき位置を探す探索には負荷が重く、対象ネットの数が多くなれば負荷は極めて重くなり、膨大な処理時間が必要となる。しかし、比較的に軽い負荷で求められる余裕度によって、調整用セルの挿入可能な対象ネットを選別する(絞り込む)ようにした場合には、無駄な探索を行うことを回避できるようになる。この結果、調整用セルの挿入可能なエリア(挿入ポイント)の決定(探索)は、探索精度を維持しながらより軽い負荷で行えるようになる。
本発明では、対象ネットに信号を出力する出力側セル、及び該信号を入力する入力側セルのうちの少なくとも一方の近傍に調整用セルを挿入可能か否か確認すると共に、該一方の近傍に該調整用セルを挿入すべき状況か否か確認し、その確認によって、一方の近傍に調整用セルが挿入可能であり、且つ該調整用セルを挿入すべき状況であることが判明した場合に、調整用セルを挿入すべき位置としてその一方の近傍を選択し決定する。出力側セル、或いは入力側セルの近傍に調整用セルを配置することにより、その配置(挿入)によって対象ネットに生じる抵抗値や容量値の変化を最小限に抑えることができる。その近傍への配置は、その配置を行うべき状況であった場合、つまりその配置によって別の不具合が生じない、その不具合が生じる可能性が小さい状況下で行うため、調整用セルの配置(挿入)によって生じる影響も最小限に抑えることができる。これらの結果、調整用セルの配置によって別のタイミングエラーを発生させるようなことはより確実に回避できるようになり、それによってイタレーションの発生も最小限に抑えられるようになる。
本発明では、対象ネットが複数の層に形成されることで複数のネットセグメントから構成されている場合に、該複数のネットセグメントをネットセグメントの長さによって分け、該ネットセグメントのなかで長さが長いネットセグメントを優先させる形で、調整用セルを挿入すべきネットセグメントを選択し決定する。調整用セルの挿入には或る程度のネットセグメントの長さが必要である。そのため、調整用セルを挿入可能なネットセグメントをより高速に探し出すことができる。
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図2は、本実施の形態による自動配置装置を搭載した自動レイアウト処理装置の構成を説明する図である。
そのレイアウト処理装置は、図2に示すように、ユーザである設計者がデータ入力を行うための入力処理部31と、表示装置に表示させるべき情報を表示させるための表示制御部32と、自動レイアウト処理を実行する自動レイアウト処理部33と、タイミングエラーが発生した配線(ネット)上で調整用セルを挿入すべき位置の決定を自動的に行う自動配置処理部34と、各種データやプログラムを記憶可能な記憶部35と、を備えた構成となっている。
自動レイアウト処理部54は、図1に示すステップS2〜S5の設計処理を行えるものである。入力処理部31を介して設計者が指示した設計処理を行う。ステップS2のレイアウト処理を実行することで確定したデザインのデータは配置配線データベース(DB)に格納される。そのDBは記憶部35上に構築されている。
図3は、上記自動レイアウト処理装置として用いることが可能なコンピュータのハードウェア構成を説明する図である。図2についての詳細な説明の前に、自動レイアウト処理装置として用いることが可能なコンピュータの構成について具体的に説明する。
図3に示すコンピュータは、CPU61、メモリ62、入力装置63、出力装置64、外部記憶装置65、媒体駆動装置66、及びネットワーク接続装置67を有し、これらがバス68によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
CPU61は、当該コンピュータ全体を制御するものである。メモリ62は、プログラム実行、データ更新等の際に、外部記憶装置65(あるいは可搬型の記録媒体MD)に記憶されているプログラムあるいはデータを一時的に格納するRAM等のメモリである。CPU61は、プログラムをメモリ62に読み出して実行することにより、全体の制御を行う。
入力装置63は、例えば、キーボード、マウス等の外部入力装置と接続可能なものか、或いはそれらを有するものである。そのような外部入力装置に対するユーザの操作を検出し、その検出結果をCPU61に通知する。
出力装置64は、例えばディスプレイと接続可能なものか、或いはそれを有するものである。CPU61の制御によって送られてくるデータをディスプレイ上に出力させる。
ネットワーク接続装置67は、例えばLAN、或いはインターネット等の通信ネットワークを介して、他の装置と通信を行うためのものである。外部記憶装置65は、例えばハードディスク装置である。主に各種データやプログラムの保存に用いられる。
媒体駆動装置66は、光ディスクや光磁気ディスク等の可搬型の記録媒体MDにアクセスするものである。
図2に示す自動レイアウト処理装置は、CPU61が、例えば外部記憶装置65に格納されたプログラムをメモリ62に読み出して実行することで実現される。そのプログラムは、ネットワーク接続装置67が通信ネットワークを介して取得したもの、或いは媒体駆動装置66が記録媒体MDから読み出したものであっても良い。
図2に示す自動配置処理部34は、マップ作成部41、探索部42、及びリスト作成部43を備えている。それらは以下のような処理を行う。
電子回路を構成するセルが基板上に高密度に配置されるほど、空いたスペースは小さくなる。しかし、実装密度は一様であるとは限らない。これらのことに着目し、本実施の形態では、設計された電子回路が形成される基板を複数のエリアに分割し、エリア毎に調整用セルを挿入できる余裕度を事前に評価するようにしている。その評価を行うのがマップ作成部41である。その余裕度の評価は、エリア毎にセル、或いは配線が存在しない面積(空きスペース)が全体に占める割合を算出することで行っている。以降、その割合を「空きスペース率」(%)、その空きスペース率を求めるエリアを「ブロック」とそれぞれ呼ぶことにする。
図6は、分割されたブロック、及びその空きスペース率を説明する図である。その図6では、各枠はそれぞれブロックを表し、そのブロックの空きスペース率は枠内の模様によって表している。ここでは、空きスペース率が0、つまり空きスペース無し、空きスペース率が50%未満(より正確には50>空きスペース率>0)、空きスペース率が50%以上の3種類に分けてブロックの空きスペース率を表している。
調整用セルは、他のセルに重ならないように配置しなければならない。セル間の接続はピンとピンを結ぶことで行われる。配線はそのピン間に配置される。このことから、本実施の形態では、ブロックへの分割はそれぞれがセルの1つのピンを含むように行っている(図12)。セルのピンについては以降「端子」とも呼ぶことにする。信号を出力する側の端子はソース(source)端子、その信号を入力する側の端子はシンク(sink)端子と呼ぶことにする。
図7は、空きスペースマップの記述方法を説明する図である。
各ブロックにはそれぞれセルが持つ1つのピン(端子)が存在している。このことから、空きスペースマップの記述では、セルを表すインスタンス名、及びそれが持つ1つのピンの名前をブロック識別用の情報として用いて、ブロック毎に空きスペース率を記述する方法を採用している。図7で1行目に記述された「TOP/CellA.IN 90%」では、「TOP/CellA」はインスタンス名、「IN」はピン名、「90%」は空きスペース率、をそれぞれ表している。
配置配線DBには、セルに関する情報やその配置情報が格納されている。マップ作成部41はその配置配線DBを参照して、それぞれがセルの持つ1つのピンを含むように各ブロックの形状、及びその位置を決定し、空きスペース率を計算する。そのようにして空きスペースマップの作成を行う。
探索部42は、タイミングエラーが発生した配線(ネット)毎に、調整用セルを挿入すべき位置(挿入ポイント)を探索する処理を行う。その探索は、対象ネットが存在するブロックの空きスペース率が予め定めた閾値より大きい場合にのみ行う。その閾値は、空きスペース率と、調整用セルの挿入可能なスペース(挿入ポイント)が実際に見つかる確率との関係を考慮して決定したものである。それにより、挿入ポイントを探し出せることが見込める場合にのみ、その挿入ポイントの探索を行う。
そのようにして、調整用セルを挿入すべき対象ネットのなかで可能性が期待できないものを除外し、その可能性が期待できる挿入ポイントのみに限定して探索を行う。そのような絞り込みを行うため、挿入ポイントの探索に要する負荷はより軽減させることができる。その絞り込みのための空きスペースマップの作成は、比較的に軽い負荷で行うことができる。このことから、対象ネットの全てで探索を行うような場合と比較すれば、全体的な負荷はより軽くすることができ、処理時間はより短縮させることができる。また、調整用セルを挿入可能な対象ネットでは挿入ポイントの探索を行うため、高い探索精度を維持させることができる。
挿入ポイントの探索は、以下のようなものを優先させる形で行う。図8〜図10を参照して具体的に説明する。
図8は、ネットの抵抗・容量を考慮した場合の調整用セルの理想的な挿入ポイントを説明する図である。
最近では、ネットで生じる遅延値の計算(見積もり)はその抵抗・容量を考慮して行うようになっている(図1)。それら抵抗・容量の変化に伴ってネットで生じる遅延値も変化する。その遅延値の変化は再度、ECOを行うことになる可能性、つまりイタレーションの可能性を高くする。従って、調整用セルのネットへの挿入前後で生じる抵抗・容量の変化は最小限に抑えるのが望ましい。このことから本実施の形態では、調整用セル(buff)はソース端子、或いはシンク端子の何れかにできるだけ近づけて配置するようにしている。図8は、セルA、セルBを結ぶネットに調整用セルとして挿入するバッファ(buff)をセルAのソース端子に近づけて配置した場合の例を示している。そのように配置することにより、調整用セルとそれに近い側の端子を結ぶネットの抵抗・容量は殆ど無視できるものにすることができ、調整用セルとそれに遠い側の端子を結ぶネットの抵抗・容量は挿入前のネットのそれらとほぼ同じものとすることができる。
調整用セルを近傍に配置すべき端子は、状況に応じて選択するのが望ましい。その選択は、例えば以下のように行えば良い。
図9は、ソース端子を選択すべき状況を説明する図である。その図9では、3つの状況例1〜3を図9(a)〜(c)にそれぞれ示している。以降、ネットに信号を出力する側のセルは「ソース・セル」、その信号を入力する側のセルは「シンク・セル」とそれぞれ呼ぶことにする。
調整用セルを挿入してのタイミング調整は、基本的にホールド・タイミングエラー(以下「ホールド・エラー」と略記)を修正するために行われる。図9(a)に示す状況例1は、ソース・セルから出力された信号を入力する複数のシンク・セルでホールド・エラーが発生し、且つソース・セル側に調整用セル(buffer)の挿入スペースがある場合のものである。そのような場合、ソース・セル側に調整用セルを配置することにより、複数のシンク・セルで発生していたホールド・エラーを全て解消させることができる。
図9(b)に示す状況例2は、一つだけあるシンク・セルにホールド・エラーが発生したが、その近傍に挿入スペースが無い場合のものである。そのような場合、デザインの変更量を抑えるために、ソース・セル側に調整用セルを配置するのが望ましい。
図9(c)に示す状況例3は、ホールド・エラーが発生したシンク・セルの近傍に他のネット(net B)が存在する場合のものである。そのような場合、シンク・セル側に調整用セルを挿入することによって、他のネットに重畳するクロストーク・ノイズ分を増大させる。そのノイズ分は、クロストーク遅延を発生させる原因となる。このことから、ソース・セル側に調整用セルを配置するのが望ましい。
図10は、シンク端子を選択すべき状況を説明する図である。その図10では、4つの状況例1〜4を図10(a)〜(d)にそれぞれ示している。
図10(a)に示す状況例1は、ソース・セルから出力された信号を入力する複数のシンク・セルが存在し、その全てのシンク・セルでホールド・エラーのみが発生していない場合のものである。その場合、少なくとも1つのシンク・セルでホールド・エラーが発生し、それ以外のシンク・セルのなかにタイミングエラーが発生していないもの、或いはセットアップ・タイミングエラー(以降「セットアップ・エラー」と略記)が発生しているものが存在する。このため、ソース・セル側に調整用セルを配置すると、それ以外のシンク・セルに新たなタイミングエラーを発生させる、或いはタイミングエラーをより悪化させる、といった可能性がある。それにより、ホールド・エラーのみが発生したシンク・セル側に調整用セルを配置するのが望ましい。
図10(b)に示す状況例2は、一つだけあるシンク・セルにホールド・エラーが発生したが、ソース・セル側に挿入スペースが無い場合のものである。そのような場合、デザインの変更量を抑えるために、シンク・セル側に調整用セルを配置するのが望ましい。
図10(c)に示す状況例3は、ホールド・エラーが発生したシンク・セルの近傍に他のネット(net B)が存在する場合のものである。そのような場合、他のネットに重畳するクロストーク・ノイズ分の増大を回避させるために、シンク・セル側に調整用セルを配置するのが望ましい。
図10(d)に示す状況例4は、シンク・セルにホールド・エラーの他にスルーレート(slew rate)エラーが発生している場合のものである。そのスルーレート・エラーは、伝搬してきた信号の波形が動作を保証する形を保っているか否か確認する波形解析によって検出するエラーである。信号波形は伝搬中になまることから、調整用セルはシンク・セル側に配置するのが望ましい。そのように配置することにより、スルーレート・エラーを解消できる可能性がある。
ネット(配線)は多層に渡って配置する場合がある。現在では、多層構造の基板を採用するのが普通なため、多くのネットは多層に渡って配置されているのが実情である。各層の部分であるネットセグメントの長さは、その周辺の状態を考慮して決定された可能性がある。周辺の状態を考慮して決定されたのであれば、長さが短いネットセグメントでは、調整用セルの挿入スペースが存在しない可能性が高いことになる。このことから本実施の形態では、対象ネットが多層に渡って配置されている場合、調整用セルの挿入ポイントを探索するネットセグメントは、長さが長いほうから行っている。それにより、より長いネットセグメントを優先させる形で調整用セルを挿入するようにしている。
探索部42は、上述したようにして、調整用セルの挿入ポイントの探索を行う。ネットセグメントの長さによる優先は、ソース端子、及びシンク端子のなかで調整用セルを配置するのが望ましい端子の近傍に挿入スペースが存在しない場合に採用するようにしている。それにより、デザイン変更をより小さくする、その変更による影響をより小さくする、といったことを重視している。
リスト作成部43は、探索部42が探索によって見つかった挿入ポイントに挿入すべき調整用セル、その挿入ポイントを示す情報を対象ネット毎にまとめたリストを作成する。そのリストは、例えば図11に示すようなものである。その情報としては、例えばソース端子と調整用セルを新たに結ぶネットの抵抗値、容量値を採用している。
そのリストでは、対象ネットは図7に示す空きスペースマップと同様に、インスタンス名、及びそれが持つ1つの端子の名前で表している。「buff1(0mΩ,4pf)」は調整用セルの候補がバッファであり、そのバッファはソース端子と抵抗値、容量値がそれぞれ0mΩ、4pfのネットで接続させるべきであることを表している。「DontAdjust」は対象ネットに挿入ポイントが見つからなかったことを表している。絞り込みにより除外するか、或いは探索によって挿入ポイントが探し出せなかった対象ネットでは、それが記述される。
図4は、調整用セル自動配置処理のフローチャートである。次に図4を参照して、上記自動配置処理部34の動作について詳細に説明する。その配置処理は、タイミングエラーが発生した対象ネットに調整用セルを挿入すべき挿入ポイントを自動的に決定するために実行する処理の流れを示したものである。例えば図3に示すCPU61が外部記憶装置65に格納されたプログラムをメモリ62に読み出して実行することで実現される。
先ず、ステップS11では、配置配線DBを参照して、空きスペースマップ(図7)を作成する。続くステップS12では、対象ネットが存在するブロックの空きスペース率が0%でないか否か判定する。本実施の形態では、上述したように、セルの1端子のみが存在すようにブロックへの分割を行っている。このことから、2つの空きスペース率が共に0%であった場合、判定はNOとなってステップS15に移行し、その対象ネット用の結果を格納した後、一連の処理を終了する。そうでない場合には、判定はYESとなってステップS13に移行する。ステップS12からステップS15に移行した場合には、対象ネットには「DontAdjust」が記述されることとなる(図11)。
ステップS13では、2つの空きスペース率は共に閾値以下か否か判定する。その2つの空きスペース率が共に閾値以下であった場合、判定はYESとなってステップS14に移行し、対象ネットをタイミング調整対象から除外した後、ステップS15に移行する。それにより、ステップS14からステップS15に移行した場合にも、対象ネットには「DontAdjust」が記述されることとなる(図11)。一方、そうでない場合、つまり空きスペース率が閾値より大きい場合には、判定はNOとなってステップS16に移行し、調整用セルを挿入すべき挿入ポイントを探索するための挿入ポイント探索処理を実行した後、ステップS15に移行する。
上記ステップS12〜S16は、タイミング調整の対象となる対象ネット毎に、その対象ネットに応じて実行される。それにより、図11に示すようなリストが作成されることとなる。
図5は、上記ステップS16として実行される挿入ポイント探索処理のフローチャートである。ここで図5を参照して、その探索処理について詳細に説明する。
先ず、ステップS21では、ネット(配線)をネットセグメントに分けて、その長さが長い順にソートする。続くステップS22では、ソートしたネットセグメントのなかから対象とする対象ネットセグメントを選択し、その全体に渡って挿入ポイントを探索する。その後に移行するステップS23では、探索した挿入ポイントは複数、存在するか否か判定する。既に探し出した挿入ポイントが存在する状態でステップS22の処理を実行した結果、新たに挿入ポイントが見つかった場合、判定はYESとなってステップS24に移行する。そうでない場合には、判定はNOとなってステップS25に移行する。
ステップS24では、対象ネットの状況に応じた優先度に従って挿入ポイントを選択する。その後に移行するステップS25では、抵抗値・容量値(RC)を計算すべき挿入ポイントが有るか否か判定する。挿入ポイントを初めて探し出した場合、或いはステップS24の処理を実行することで選択した挿入ポイントが新たに探し出したものであった場合、その挿入ポイントを示すRCを計算する必要があることから、判定はYESとなり、ステップS26でそのRCを計算した後、ステップS27に移行する。そうでない場合には、判定はNOとなり、次にそのステップS27の処理を実行する。
ステップS27では、探索の対象となる他のネットセグメントが有るか否か判定する。上述したように、対象ネットの状況により、調整用セルの望ましい挿入ポイントは変化する。ネットセグメントの探索は長いものから行うようにしている。挿入ポイントが1つも見つかっていなければ、未探索のネットセグメントが有る間はそれを対象とした探索は続けなければならない。このようなことから、調整用セルの挿入がより望ましい未探索のネットセグメントが存在する場合、或いは未探索のネットセグメントが存在し、且つ挿入ポイントが見つかっていない場合、判定はYESとなってステップS22に戻り、対象としていないネットセグメントのなかで長さが最も長いネットセグメントを選択して挿入ポイントの探索を行う。それらの何れも該当しない場合には、判定はNOとなってステップS28に移行し、探索結果を出力した後、一連の処理を終了する。その探索結果として、探し出した挿入ポイントの有無、その挿入ポイントが有れば計算したRCなどが出力される。
このようにして本実施の形態では、対象ネットの状況に応じて、見つかった挿入ポイントのなかで最も望ましいものを選択するようにしている。それにより、デザイン変更をより小さくする、その変更による影響をより小さくする、ということを重視した挿入ポイントの決定を行うようにしている。
なお、本実施の形態では、ブロックへの分割はセルの1端子のみが存在すよう行っているが、別の分割方法を採用しても良い。例えば予め定めた形状・大きさでブロックへの分割を行うようにしても良い。或いはネットで結ぶ各セルの各端子を含むように分割を行うようにしても良い。
調整用セルを挿入できる余裕度の評価は、空きスペース率を計算することで行っているが、別の指標を採用しても良い。その空きスペース率は、ブロック全体に示す空きスペース率であるが、調整用セルの配置が望ましい挿入スペースは、ネット上のセルに重ならないエリアである。ネット上でなくとも、元のネットの近傍であることが望ましい。これは、そのような場所に配置したとしても、対象ネットが接続される端子の裏側にのみ挿入可能なスペースがあり、そのスペースに調整用セルを配置するような場合と比較すれば、デザイン変更はより小さくなるからである。このことから、図12に示すように、端子のネットが接続された側に予め定めた大きさのエリア1201を想定し、そのエリア1201の空きスペース率を求めるようにしても良い。そのようにした場合には、より確実に調整用セルを配置可能な対象ネットを特定できるようになる。
そのエリア1201は、端子の座標を基点に、ネットに沿って離れる方向、或いはその方向と交差する2つの方向の何れかに動かすことにより、空きスペース率がより望ましい位置を探索するようにしても良い。そのようにした場合には、調整用セルを配置可能な対象ネットを更に確実に特定できるようになる。そのエリア1201の形状や大きさは固定としても良いが、設計者が任意に設定できるようにしても良い。
(付記1)
設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定するための方法であって、
前記電子回路が形成される基板を複数のエリアに分割して、該エリア毎に前記調整用セルを挿入できる余裕度を事前に評価し、
前記対象ネットが存在するエリアで評価した余裕度に基づいて、該対象ネット上に前記調整用セルを挿入可能か否か判定し、
前記調整用セルを挿入可能と判定した対象ネットを対象にして、該調整用セルを挿入すべき位置の決定を行う、
ことを特徴とする自動配置方法。
(付記2)
前記調整用セルを挿入すべき位置の決定は、前記対象ネットに信号を出力する出力側セル、及び該信号を入力する入力側セルのうちの一方の近傍を優先させる形で行う、
ことを特徴とする付記1記載の自動配置方法。
(付記3)
前記対象ネットが複数の層に形成されることで複数のネットセグメントから構成されている場合、前記調整用セルを挿入すべき位置の決定は、該ネットセグメントのなかで長さが長いネットセグメントを優先させる形で行う、
ことを特徴とする付記1記載の自動配置方法。
(付記4)
前記複数のエリアへの分割は、各エリア内に、一つのセルが有する1つのピンを存在させる形で行う、
ことを特徴とする付記1記載の自動配置方法。
(付記5)
前記余裕度の評価は、前記対象ネットに信号を出力する出力側セル、及び該信号を入力する入力側セルのうちの少なくとも一方に着目して、該対象ネットが接続された側に限定して行う、
ことを特徴とする付記1記載の自動配置方法。
(付記6)
設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定するための方法であって、
前記対象ネットに信号を出力する出力側セル、及び該信号を入力する入力側セルのうちの少なくとも一方の近傍に前記調整用セルを挿入可能か否か確認すると共に、該一方の近傍に該調整用セルを挿入すべき状況か否か確認し、
前記確認によって、前記一方の近傍に前記調整用セルが挿入可能であり、且つ該調整用セルを挿入すべき状況であることが判明した場合に、該調整用セルを挿入すべき位置として該一方の近傍を選択し決定する、
ことを特徴とする自動配置方法。
(付記7)
設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定するための方法であって、
前記対象ネットが複数の層に形成されることで複数のネットセグメントから構成されている場合に、該複数のネットセグメントをネットセグメントの長さによって分け、
該ネットセグメントのなかで長さが長いネットセグメントを優先させる形で、前記調整用セルを挿入すべきネットセグメントを選択し決定する、
ことを特徴とする自動配置方法。
(付記8)
設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定する自動配置装置であって、
前記電子回路が形成される基板を複数のエリアに分割して、該エリア毎に前記調整用セルを挿入できる余裕度を事前に評価する評価手段と、
前記対象ネットが存在するエリアで評価した余裕度に基づいて、該対象ネット上に前記調整用セルを挿入可能か否か判定する判定手段と、
前記調整用セルを挿入可能と前記判定手段が判定した対象ネットを対象にして、該調整用セルを挿入すべき位置の決定を行う配置決定手段と、
を具備することを特徴とする自動配置装置。
(付記9)
設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定する自動配置装置であって、
前記対象ネットに信号を出力する出力側セル、及び該信号を入力する入力側セルのうちの少なくとも一方の近傍に前記調整用セルを挿入可能か否か確認すると共に、該一方の近傍に該調整用セルを挿入すべき状況か否か確認する確認手段と、
前記確認手段によって、前記一方の近傍に前記調整用セルが挿入可能であり、且つ該調整用セルを挿入すべき状況であることが判明した場合に、該調整用セルを挿入すべき位置として該一方の近傍を選択し決定する配置決定手段と、
を具備することを特徴とする自動配置装置。
(付記10)
設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定する自動配置装置であって、
前記対象ネットが複数の層に形成されることで複数のネットセグメントから構成されている場合に、該複数のネットセグメントをネットセグメントの長さによって分けるソート手段と、
前記ソート手段が長さで分けた前記ネットセグメントのなかで長さが長いネットセグメントを優先させる形で、前記調整用セルを挿入すべきネットセグメントを選択し決定する配置決定手段と、
を具備することを特徴とする自動配置装置。
(付記11)
設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定するためにコンピュータに実行させるプログラムであって、
前記電子回路が形成される基板を複数のエリアに分割して、該エリア毎に前記調整用セルを挿入できる余裕度を事前に評価する評価機能と、
前記対象ネットが存在するエリアで評価した余裕度に基づいて、該対象ネット上に前記調整用セルを挿入可能か否か判定する判定機能と、
前記調整用セルを挿入可能と前記判定機能により判定した対象ネットを対象にして、該調整用セルを挿入すべき位置の決定を行う配置決定機能と、
を実現させるためのプログラム。
(付記12)
前記配置決定機能による前記調整用セルを挿入すべき位置の決定は、前記対象ネットに信号を出力する出力側セル、及び該信号を入力する入力側セルのうちの一方の近傍を優先させる形で行う、
ことを特徴とする付記11記載のプログラム。
(付記13)
前記対象ネットが複数の層に形成されることで複数のネットセグメントから構成されている場合、前記配置決定機能による前記調整用セルを挿入すべき位置の決定は、該ネットセグメントのなかで長さが長いネットセグメントを優先させる形で行う、
ことを特徴とする付記11記載のプログラム。
(付記14)
前記評価機能による前記複数のエリアへの分割は、各エリア内に、一つのセルが有する1つのピンを存在させる形で行う、
ことを特徴とする付記11記載のプログラム。
(付記15)
前記評価機能による前記余裕度の評価は、前記対象ネットに信号を出力する出力側セル、及び該信号を入力する入力側セルのうちの少なくとも一方に着目して、該対象ネットが接続された側に限定して行う、
ことを特徴とする付記11記載のプログラム。
(付記16)
設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定するためにコンピュータに実行させるプログラムであって、
前記対象ネットに信号を出力する出力側セル、及び該信号を入力する入力側セルのうちの少なくとも一方の近傍に前記調整用セルを挿入可能か否か確認すると共に、該一方の近傍に該調整用セルを挿入すべき状況か否か確認する確認機能と、
前記確認機能によって、前記一方の近傍に前記調整用セルが挿入可能であり、且つ該調整用セルを挿入すべき状況であることが判明した場合に、該調整用セルを挿入すべき位置として該一方の近傍を選択し決定する配置決定機能と、
を実現させるためのプログラム。
(付記17)
設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定するためにコンピュータに実行させるプログラムであって、
前記対象ネットが複数の層に形成されることで複数のネットセグメントから構成されている場合に、該複数のネットセグメントをネットセグメントの長さによって分けるソート機能と、
前記ソート機能により長さで分けた前記ネットセグメントのなかで長さが長いネットセグメントを優先させる形で、前記調整用セルを挿入すべきネットセグメントを選択し決定する配置決定機能と、
を実現させるためのプログラム。
ECOが行われる場合の一般的な設計処理の流れを説明する図である。 本実施の形態による自動配置装置を搭載した自動レイアウト処理装置の構成を説明する図である。 本実施の形態による自動配置装置を搭載した自動レイアウト処理装置として用いることが可能なコンピュータのハードウェア構成を説明する図である。 調整用セル自動配置処理のフローチャートである。 挿入ポイント探索処理のフローチャートである。 分割されたブロック、及びその空きスペース率を説明する図である。 空きスペースマップの記述方法を説明する図である。 ネットの抵抗・容量を考慮した場合の調整用セルの理想的な挿入ポイントを説明する図である。 ソース端子を選択すべき状況を説明する図である。 シンク端子を選択すべき状況を説明する図である。 挿入ポイントの探索によって作成されるリストを説明する図である。 空きスペース率の他の求め方を説明する図である。
符号の説明
31 入力処理部
32 表示制御部
33 自動レイアウト処理部
34 自動配置処理部
35 記憶部
41 マップ作成部
42 探索部
43 リスト作成部

Claims (5)

  1. 設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定するための方法であって、
    前記電子回路が形成される基板を複数のエリアに分割して、該エリア毎に前記調整用セルを挿入できる余裕度を事前に評価し、
    前記対象ネットが存在するエリアで評価した余裕度に基づいて、該対象ネット上に前記調整用セルを挿入可能か否か判定し、
    前記調整用セルを挿入可能と判定した対象ネットを対象にして、該調整用セルを挿入すべき位置の決定を行う、
    ことを特徴とする自動配置方法。
  2. 設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定するための方法であって、
    前記対象ネットに信号を出力する出力側セル、及び該信号を入力する入力側セルのうちの少なくとも一方の近傍に前記調整用セルを挿入可能か否か確認すると共に、該一方の近傍に該調整用セルを挿入すべき状況か否か確認し、
    前記確認によって、前記一方の近傍に前記調整用セルが挿入可能であり、且つ該調整用セルを挿入すべき状況であることが判明した場合に、該調整用セルを挿入すべき位置として該一方の近傍を選択し決定する、
    ことを特徴とする自動配置方法。
  3. 設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定するための方法であって、
    前記対象ネットが複数の層に形成されることで複数のネットセグメントから構成されている場合に、該複数のネットセグメントをネットセグメントの長さによって分け、
    該ネットセグメントのなかで長さが長いネットセグメントを優先させる形で、前記調整用セルを挿入すべきネットセグメントを選択し決定する、
    ことを特徴とする自動配置方法。
  4. 設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定する自動配置装置であって、
    前記電子回路が形成される基板を複数のエリアに分割して、該エリア毎に前記調整用セルを挿入できる余裕度を事前に評価する評価手段と、
    前記対象ネットが存在するエリアで評価した余裕度に基づいて、該対象ネット上に前記調整用セルを挿入可能か否か判定する判定手段と、
    前記調整用セルを挿入可能と前記判定手段が判定した対象ネットを対象にして、該調整用セルを挿入すべき位置の決定を行う配置決定手段と、
    を具備することを特徴とする自動配置装置。
  5. 設計された電子回路のセル間を接続するネットのなかでタイミングエラーが発生している対象ネット上にタイミング調整のために挿入すべき調整用セルの位置を自動的に決定するためにコンピュータに実行させるプログラムであって、
    前記電子回路が形成される基板を複数のエリアに分割して、該エリア毎に前記調整用セルを挿入できる余裕度を事前に評価する評価機能と、
    前記対象ネットが存在するエリアで評価した余裕度に基づいて、該対象ネット上に前記調整用セルを挿入可能か否か判定する判定機能と、
    前記調整用セルを挿入可能と前記判定機能により判定した対象ネットを対象にして、該調整用セルを挿入すべき位置の決定を行う配置決定機能と、
    を実現させるためのプログラム。
JP2006081702A 2006-03-23 2006-03-23 自動配置方法、装置、及びプログラム Expired - Fee Related JP4778339B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006081702A JP4778339B2 (ja) 2006-03-23 2006-03-23 自動配置方法、装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006081702A JP4778339B2 (ja) 2006-03-23 2006-03-23 自動配置方法、装置、及びプログラム

Publications (2)

Publication Number Publication Date
JP2007257373A true JP2007257373A (ja) 2007-10-04
JP4778339B2 JP4778339B2 (ja) 2011-09-21

Family

ID=38631542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006081702A Expired - Fee Related JP4778339B2 (ja) 2006-03-23 2006-03-23 自動配置方法、装置、及びプログラム

Country Status (1)

Country Link
JP (1) JP4778339B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146047A (ja) * 2008-12-16 2010-07-01 Renesas Electronics Corp バッファ回路挿入方法、バッファ回路挿入装置及びバッファ回路挿入プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0689938A (ja) * 1992-09-08 1994-03-29 Oki Electric Ind Co Ltd クロック供給回路及びクロックスキュー調整方法
JP2000269347A (ja) * 1999-03-18 2000-09-29 Nec Corp バッファレイアウト設計装置および方法
JP2001168199A (ja) * 1999-12-10 2001-06-22 Nec Ic Microcomput Syst Ltd 半導体装置の自動配置配線方法
JP2005258657A (ja) * 2004-03-10 2005-09-22 Toshiba Corp クロックレイアウトシステム、及びクロックレイアウト方法
JP2006065669A (ja) * 2004-08-27 2006-03-09 Renesas Technology Corp 自動配置配線装置及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0689938A (ja) * 1992-09-08 1994-03-29 Oki Electric Ind Co Ltd クロック供給回路及びクロックスキュー調整方法
JP2000269347A (ja) * 1999-03-18 2000-09-29 Nec Corp バッファレイアウト設計装置および方法
JP2001168199A (ja) * 1999-12-10 2001-06-22 Nec Ic Microcomput Syst Ltd 半導体装置の自動配置配線方法
JP2005258657A (ja) * 2004-03-10 2005-09-22 Toshiba Corp クロックレイアウトシステム、及びクロックレイアウト方法
JP2006065669A (ja) * 2004-08-27 2006-03-09 Renesas Technology Corp 自動配置配線装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146047A (ja) * 2008-12-16 2010-07-01 Renesas Electronics Corp バッファ回路挿入方法、バッファ回路挿入装置及びバッファ回路挿入プログラム

Also Published As

Publication number Publication date
JP4778339B2 (ja) 2011-09-21

Similar Documents

Publication Publication Date Title
US7890909B2 (en) Automatic block composition tool for composing custom blocks having non-standard library cells in an integrated circuit design flow
US8769470B2 (en) Timing closure in chip design
WO2008106347A1 (en) System and method for sign-off timing closure of a vlsi chip
US7069528B2 (en) System and method for reducing timing violations due to crosstalk in an integrated circuit design
WO2002003261A1 (en) Method and system for hierarchical metal-end, enclosure and exposure checking
KR102416490B1 (ko) 와이어의 공정 변이를 고려한 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템
US9147030B2 (en) Multiple-instantiated-module (mim) aware pin assignment
US9098669B1 (en) Boundary latch and logic placement to satisfy timing constraints
US20140331196A1 (en) Analyzing sparse wiring areas of an integrated circuit design
US8881089B1 (en) Physical synthesis optimization with fast metric check
US8549448B2 (en) Delay optimization during circuit design at layout level
US8601425B2 (en) Solving congestion using net grouping
US7367005B2 (en) Method and apparatus for designing a layout, and computer product
US8015532B2 (en) Optimal timing-driven cloning under linear delay model
US9940422B2 (en) Methods for reducing congestion region in layout area of IC
US7168057B2 (en) Targeted optimization of buffer-tree logic
US20090259979A1 (en) Design tool and method for automatically identifying minimum timing violation corrections in an integrated circuit design
JP4778339B2 (ja) 自動配置方法、装置、及びプログラム
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US8336013B2 (en) Determining an order for visiting circuit blocks in a circuit design for fixing design requirement violations
US20180046744A1 (en) Systems and methods for cell abutment
JP2003281212A (ja) 自動配置配線方法、装置及びプログラム
US8024681B2 (en) Hierarchical HDL processing method and non-transitory computer-readable storage medium
US9852259B2 (en) Area and/or power optimization through post-layout modification of integrated circuit (IC) design blocks
JP2007226686A (ja) クリティカルパス推定プログラム、推定装置、推定方法、および集積回路設計プログラム。

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110228

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

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

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

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees