JP5682081B2 - インテリジェント・アーキテクチャ・クリエータ - Google Patents
インテリジェント・アーキテクチャ・クリエータ Download PDFInfo
- Publication number
- JP5682081B2 JP5682081B2 JP2013534912A JP2013534912A JP5682081B2 JP 5682081 B2 JP5682081 B2 JP 5682081B2 JP 2013534912 A JP2013534912 A JP 2013534912A JP 2013534912 A JP2013534912 A JP 2013534912A JP 5682081 B2 JP5682081 B2 JP 5682081B2
- Authority
- JP
- Japan
- Prior art keywords
- computer
- instructions
- instruction
- processor architecture
- architecture
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/10—Processors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Devices For Executing Special Programs (AREA)
Description
(1)スピード:チップ設計サイクルが数年単位ではなく数週単位に落ち着くことになる場合には、このシステムを使用している会社が、自社の製品をすばやく市場に持ち込むことによって急速に変化する市場に浸透することが可能になる。
(2)コスト:一般にチップの実装に必要とされる多数の技術者が不要となる。このことは、このシステムを使用している会社に夥しいコストの節約をもたらす。
(3)最適性:このシステム・プロダクトを使用して設計されたチップは、優れたパフォーマンス、面積、および電力消費を有している。
int a,b,c,d;
d=d+(a*b)/c;
は、次のように変更される。
int D1182;
int D1183;
int a;
int b;
int c
int d;
D1182=a*b;
D1183=D1182/c;
d=D1183+d;
nt i,a;
for(i=1;i<10;i++)
a+=10;
が、次のとおりに変換される。
int i;
int a;
i=1;
goto D1181;
D1180:;
a=a+10;
i=i+1;
D1181:;
if(i<=9)
{
goto D1180;
}
else
{
goto D1182;
}
D1182:;
#define data 10
main()
{
int i,a;
if(i<data)
i=i+data;
else
i=0;
}
が、次のとおりに変換される。
main()
{
int i;
int a;
if(i<=9)
{
i=i+10;
}
else
{
i=0;
}
}
int *a;
char *d;
*a=10;
a++;
d=a;
*d=’c’;
d++;
*d=’b’;
が、次のとおりに変換される。
int *a;
char *d;
*a=10;
a=a+4;
d=(char*)a;
*d=99;
d=d+1;
*=98;
D1458=*sig_out;
D1459=(int)D1458;
は、次に示すように”printf”関数挿入を用いてインストルメントされる。
D1458=*sig_out;
printf(”0\t”);
printf(”0x%x\n”,(unsigned int)D1458);
D1459=(int)D1458;
printf(”1\t”);
printf(”0x%x\n”,(unsigned int)D1459);
(1)代入ステートメントを伴う行を探しながら行のデータ構造を通って進む。
(2)代入ステートメントがヒットしたとき、左辺の変数および右辺の変数をマークする。
(3)さらに下の行を調査して、この代入は必要であるか否か、または代わりに右辺の変数を直接使用することが可能であったか否かを検証する。左辺の変数の参照が行なわれる最後の行に先行する任意の行内の右辺の変数の再代入は、この要件を直接破ることになる。
(4)しかしながら、要件3が充足される場合であっても代入がなおも必要となる場合(条件付きチェック等)が存在し得る。この決定には、分岐の条件および分岐の深度を理解しているロジックが使用される。
(5)これらのチェックがすべて行なわれた後、代入が行なわれる必要がなかったことが認定された場合には、その代入演算を含む行がダミー行としてマークされる。
(1)ダミー代入行の右辺の変数を識別する。
(2)これより以前にあり、左辺にこの変数が出現した行を識別する。
(3)その左辺の変数をダミー行の左辺の変数に置き換える。分岐の深度のチェックは、ダミー代入チェック・セクションの中ですでに実行済みである。したがって、この置換は一貫することになる。
b=*(base+i);
このCコードの行がプリ‐プロセッサに通されると、結果の行が生成される:
temp1=i*4;
temp2=base+temp1;
b=*temp2;
(1)実行の反復を通じてすべての変数値を追跡する。この情報は、14に挿入されるインストルメンテーションに起因してログされたCプログラムの結果のパースから利用可能である。
(2)変数の現在の値とその変数の以前の値を比較し、それを差の値としてストアする。
(3)実行の反復のすべてを通じてこの差の値が不変のまま残り、かつそのコードの行が実際は偶発的にループ内(ループは、すでに識別済み)に存在している場合には、これが最適化の候補になる。行内の演算子が乗算である場合には、この行がダミーとしてマークされる。
(1)ポインタ(Cプログラム内においてポインタまたは配列のいずれかとして宣言される)に対する演算を行なうすべての行を識別するコードの各行を検証する。
(2)アドレス操作演算として行をマークする。
(3)結果がメモリからデータをフェッチするためだけであることを確保する。
(1)各グローバル変数が、実行の途中に取得される可能性のある値についてチェックされる。
(2)取得される値が0および1だけであれば、次のステップへ進む。
(3)それらの値がセットされるすべての行をチェックする。これらの値は、即時演算(言い換えると、x=1等の明示的な代入)を通じてのみセットされて次の段階に進むことが可能である。別の変数の代入の結果としてそれが導出される場合(x=y等)、右辺の変数がバックトラックされてその変数がこの規則を確立するか否かが調べられる。永続的なロックアップ状況を防止するために適切なところにロジックが存在する。ほかの演算(算術、論理、またはメモリ・フェッチ等)が存在しなければ、その変数はフラグであり得ない。
(4)実際の代入行をチェックする。この代入は、全体のフローの中で値(0または1)のうちの1つだけにしかなり得ない。他方の値の代入は、条件付きチェック・フロー内においてのみ起こり得る。
(5)上記の規則に適合する変数をフラグとしてマークする。
(6)この定義に対応するハードウエア・フラグがプロセッサ・アーキテクチャの中で指定され、自動的に合成されることになる。
(7)この変数の値をセットするすべての行は、フラグ操作行としてマークされる。
(8)アーキテクチャ定義はまた、これらの演算を可能にするインストラクションも作成する。
(9)フラグ操作行としてマークされたこれらすべての行は、標準的なインストラクションではなく、これらの新しく定義されたインストラクションを使用し、特定のハードウエア・フラグを参照する。
(1)各行(ダミーとしてマークされていない)において、左辺の変数および右辺の変数をマークする。
(2)右辺の変数が、その後に続く行のいずれにおいても参照されていない場合には、その変数は、既存の左辺の変数の置換に使用される。
(3)それより下にある行内の左辺の変数を参照するすべての行は、それを置換した変数を参照するべく変更される。
(4)上記のプロセスのすべてにおいて、アルゴリズムは、左辺の変数が再代入されないゾーンにサーチ範囲を制限する。
a=b+c;
d=a*2;
e=d AND b;
この場合、3つの演算すべてからなる1つのIMC、最初の2つのインストラクションだけを含む別の1つ、および最後の2つのインストラクションを含む別の1つを有する。その種の可能性のあるすべてのIMCが形成される。
x=y+z;
r=x*2;
f=r AND x;
が見つかるコード内の別の場所に来たとしても、これをIMCが使用可能な場所としてカウントすることは可能でない。そこでアルゴリズムは、同一のインストラクションのシーケンスだけでなく、同一の変数依存度構造もチェックする。可能性としてIMCの使用が可能なその種のすべての場所が、IMCとともにタグ付けされる。
C/MATLAB(マトラボ)で定義されたコンピュータ可読コードまたはアルゴリズム、
必要とされる周辺機器、
面積目標、
電力目標、
マージン目標(将来的なファームウエア更新のためにどの程度のオーバーヘッドを組み込むべきか、またどの程度複雑性が増加するか)、
プロセスの選択肢、
標準セル・ライブラリの選択肢、
テスト可能性スキャン
Claims (19)
- コンピュータが、コンピュータ可読コードによって記述されるカスタム集積回路(IC)のためのプロセッサ・アーキテクチャを自動的に生成する方法であって、少なくとも前記ICが1つまたは複数のタイミングおよびハードウエアの制約を有し、
a.コンピュータが、前記プロセッサ・アーキテクチャを定義するパラメータを前記コンピュータ可読コードの静的プロファイルおよび動的プロファイルから抽出する工程と、
b.コンピュータが、コスト関数として表現されるタイミングおよびハードウエアの制約がすべて満たされるまで1つまたは複数のパラメータを変更すること、および各プロセッサ・アーキテクチャに対し、カスタマイズされたアーキテクチャと特定用途向けインストラクション・セットに到達するまでコンパイル、アセンブル、コードのリンクを繰り返すコンパイラによって前記プロセッサ・アーキテクチャを反復的に最適化する工程であって、
前記プロセッサ・アーキテクチャの最適化には、インストラクション・セットを変更する工程を含み、当該工程には、必要とされるインストラクションの数を低減させる工程と、前記インストラクションをエンコードしてインストラクションのアクセスおよびデコード速度を向上させ、かつインストラクションのメモリ・サイズ要件を向上させる工程とが含まれ、
c.コンピュータが、生成された前記プロセッサ・アーキテクチャを半導体製造のためにカスタム集積回路のコンピュータ可読記述に合成する工程と、
d.コンピュータが、前記カスタム集積回路を製造する工程と、
を有する方法。 - コンピュータが、プロセッサのスカラ度およびインストラクションのグループ化規則を最適化する工程を有する請求項1に記載の方法。
- コンピュータが、必要とされるプロセッサ・コアの数を最適化する工程と、コンピュータが、前記プロセッサ・コアを効果的に使用するべくインストラクション・ストリームを自動的に分割する工程と、を有する請求項1に記載の方法。
- 前記プロセッサ・アーキテクチャの最適化の工程は、レジスタ・ファイル・ポート、ポート幅、およびデータ・メモリへのポートの数のうちの1つを変更する工程、を含む請求項1に記載の方法。
- 前記プロセッサ・アーキテクチャの最適化の工程は、データ・メモリ・サイズ、データ・キャッシュのプリフェッチ・ポリシー、データ・キャッシュ・ポリシーのインストラクション・メモリ・サイズ、インストラクション・キャッシュのプリフェッチ・ポリシー、およびインストラクション・キャッシュ・ポリシーのうちの1つを変更する工程、を含む請求項1に記載の方法。
- 前記プロセッサ・アーキテクチャの最適化の工程は、コプロセッサを追加する工程、を含む請求項1に記載の方法。
- コンピュータが、前記コンピュータ可読コードを、
a.各ポインタ変数のためのメモリ・ロケーションを決定する工程と、
b.各行のためのインストルメンテーションを挿入する工程と、
によって前処理する請求項1に記載の方法。 - コンピュータが、前記プロセッサ・アーキテクチャのパフォーマンスを向上させるべく前記コンピュータ可読コードに対して固有のカスタマイズがなされた新しいインストラクションを自動的に生成することによってプロセッサのインストラクション・セットを変更する工程を有し、さらに、
a.コンピュータが、ダミー代入を除去する工程と、
b.コンピュータが、冗長なループ演算を除去する工程と、
c.コンピュータが、必要とされるメモリ帯域幅を識別する工程と、
d.コンピュータが、1つまたは複数のハードウエア・フラグとして1つまたは複数のソフトウエア実装されたフラグを置換する工程と、
e.コンピュータが、期限切れの変数を再使用する工程と、
を有する請求項1に記載の方法。 - パラメータを抽出する工程は、さらに、
a.コンピュータが、各行のための実行サイクル時間を決定する工程と、
b.コンピュータが、各行のための実行クロック・サイクル・カウントを決定する工程と、
c.コンピュータが、1つまたは複数のビンのためのクロック・サイクル・カウントを決定する工程と、
d.コンピュータが、演算子統計テーブルを生成する工程と、
e.コンピュータが、各関数のための統計を生成する工程と、
f.コンピュータが、実行カウントの降順により行をソートする工程と、
を有する請求項1に記載の方法。 - コンピュータが、共通使用されるインストラクションを1つまたは複数のグループにモールドし、各グループのためのカスタム・インストラクションを生成してパフォーマンスを向上させる(インストラクション・モールディング)工程を有する請求項1に記載の方法。
- コンピュータが、新しいインストラクション候補内におけるモールディング違反をチェックする工程を有する請求項10に記載の方法。
- コンピュータが、コスト関数を適用してインストラクション・モールディングの候補(IMC)を選択する工程を有する請求項10に記載の方法。
- コンピュータが、統計的依存に基づいてインストラクション・モールディングの候補(IMC)をグループ化する工程を有する請求項10に記載の方法。
- コンピュータが、前記プロセッサ・アーキテクチャを定義するパラメータの変更のためのタイミングおよび面積のコストを決定する工程を有する請求項1に記載の方法。
- コンピュータが、1つまたは複数のインストラクション・モールディングの候補(IMC)によって置換されることになるプログラム内のシーケンスを識別する工程と、コンピュータが、シーケンス内のインストラクションをアレンジし直し、コードの機能を保持しつつIMCの利用度を最大化する工程と、を有する請求項1に記載の方法。
- コンピュータが、新しく合成されるインストラクションに使用する候補コードに関係する情報をコンパイラに渡す工程を有する請求項1に記載の方法。
- コンピュータが、ポインタの進行を追跡し、ストライドおよびメモリ・アクセス・パターンおよびメモリ依存度に関する統計を構築してキャッシュのプリフェッチおよびキャッシュ・ポリシーを最適化する工程を有する請求項1に記載の方法。
- コンピュータ可読コードまたはモデルによって記述されるカスタム集積回路(IC)を自動的に生成するシステムであって、少なくとも前記ICが浮動小数点パラメータ、パフォーマンス制約、および入力信号のためのスタティック・レンジならびにダイナミック・レンジを有し、
a.前記プロセッサ・アーキテクチャを定義するパラメータを前記コンピュータ可読コードの静的プロファイルおよび動的プロファイルから抽出するための手段と、
b.タイミングおよびハードウエアの制約がすべて満たされるべく1つまたは複数のパラメータを変更し、各プロセッサ・アーキテクチャに対し、カスタマイズされたアーキテクチャと特定用途向けインストラクション・セットに到達するまでコンパイル、アセンブル、コードのリンクを繰り返すコンパイラによって前記プロセッサ・アーキテクチャを反復的に最適化するための手段であって、
前記プロセッサ・アーキテクチャの最適化には、インストラクション・セットを変更することを含み、当該変更には、必要とされるインストラクションの数を低減させることと、前記インストラクションをエンコードしてインストラクションのアクセスおよびデコード速度を向上させ、かつインストラクションのメモリ・サイズ要件を向上させることが含まれる手段と、
c.前記生成されたプロセッサ・アーキテクチャを、半導体製造のために、前記カスタム集積回路のコンピュータ可読記述に合成するための手段と、
d.前記カスタム集積回路を製造するための装置と、
を備えるシステム。 - a.共通使用されるインストラクションを1つまたは複数のグループにモールドし、各グループのためのカスタム・インストラクションを生成してパフォーマンスを向上させる(インストラクション・モールディング)ための手段と、
b.新しいインストラクション候補内におけるモールディング違反をチェックするための手段と、
c.コスト関数を適用してインストラクション・モールディングの候補(IMC)を選択するための手段と統計的依存に基づいてIMCをグループ化するための手段と、
を備える請求項18に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/906,857 | 2010-10-18 | ||
US12/906,857 US8423929B2 (en) | 2010-10-18 | 2010-10-18 | Intelligent architecture creator |
PCT/US2011/052215 WO2012054162A1 (en) | 2010-10-18 | 2011-09-19 | Intelligent architecture creator |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013541778A JP2013541778A (ja) | 2013-11-14 |
JP5682081B2 true JP5682081B2 (ja) | 2015-03-11 |
Family
ID=45935229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013534912A Expired - Fee Related JP5682081B2 (ja) | 2010-10-18 | 2011-09-19 | インテリジェント・アーキテクチャ・クリエータ |
Country Status (7)
Country | Link |
---|---|
US (2) | US8423929B2 (ja) |
EP (1) | EP2630598A1 (ja) |
JP (1) | JP5682081B2 (ja) |
KR (1) | KR101503620B1 (ja) |
CN (1) | CN103270512A (ja) |
TW (1) | TW201218008A (ja) |
WO (1) | WO2012054162A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9235670B2 (en) * | 2014-02-18 | 2016-01-12 | CODASIP, s.r.o. | Method and an apparatus for automatic generation of verification environment for processor design and verification |
DE102015102034A1 (de) * | 2014-03-11 | 2015-09-17 | Synopsys, Inc. | Verfahren zum Analysieren von Ergebnissen in einem Entwurfsautomatisierungsablauf für elektronische Systeme, Computersystem und Computerprogrammprodukt |
US10579053B2 (en) * | 2016-09-08 | 2020-03-03 | Ge Aviation Systems, Llc | Aircraft control based on fuel, time, and deterioration costs |
CN106844926A (zh) * | 2017-01-11 | 2017-06-13 | 上海鲲云信息科技有限公司 | 动态可重构硬件电路的设计、执行方法及*** |
CN115048885B (zh) * | 2022-08-12 | 2022-11-15 | 阿里巴巴(中国)有限公司 | 电路设计参数调整方法、装置、电子设备和存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6467075B1 (en) * | 2000-03-24 | 2002-10-15 | Nec Corporation | Resolution of dynamic memory allocation/deallocation and pointers |
US6553542B2 (en) * | 2000-12-29 | 2003-04-22 | Texas Instruments Incorporated | Semiconductor device extractor for electrostatic discharge and latch-up applications |
JP4202673B2 (ja) * | 2002-04-26 | 2008-12-24 | 株式会社東芝 | システムlsi開発環境生成方法及びそのプログラム |
US7461116B2 (en) * | 2003-09-17 | 2008-12-02 | Agility Design Solutions Inc. | Emulation of a fixed point operation using a corresponding floating point operation |
US7725848B2 (en) * | 2005-01-27 | 2010-05-25 | Wolfgang Nebel | Predictable design of low power systems by pre-implementation estimation and optimization |
JP2005216177A (ja) * | 2004-01-30 | 2005-08-11 | Toshiba Corp | コンフィグラブル・プロセッサの設計装置、設計方法、ライブラリの最適化方法、プロセッサ、及びプロセッサを備えた半導体装置の製造方法 |
JP2005293448A (ja) * | 2004-04-05 | 2005-10-20 | Renesas Technology Corp | データ処理装置の開発方法、データプロセッサの開発支援プログラム、設計データの提供方法、及びデータ処理システムの開発方法 |
WO2007002799A1 (en) * | 2005-06-29 | 2007-01-04 | Lightspeed Logic, Inc. | Methods and systems for placement |
US8332793B2 (en) * | 2006-05-18 | 2012-12-11 | Otrsotech, Llc | Methods and systems for placement and routing |
JP2009021378A (ja) * | 2007-07-11 | 2009-01-29 | Nec Electronics Corp | 半導体集積回路の生産方法、設計方法及び設計システム |
US7984412B1 (en) * | 2008-03-03 | 2011-07-19 | Xilinx, Inc. | IC design estimation using mid-level elements of IP cores |
-
2010
- 2010-10-18 US US12/906,857 patent/US8423929B2/en not_active Expired - Fee Related
-
2011
- 2011-09-19 CN CN2011800610384A patent/CN103270512A/zh active Pending
- 2011-09-19 WO PCT/US2011/052215 patent/WO2012054162A1/en active Application Filing
- 2011-09-19 EP EP11834805.1A patent/EP2630598A1/en not_active Withdrawn
- 2011-09-19 JP JP2013534912A patent/JP5682081B2/ja not_active Expired - Fee Related
- 2011-09-19 KR KR1020137009796A patent/KR101503620B1/ko not_active IP Right Cessation
- 2011-09-22 TW TW100134149A patent/TW201218008A/zh unknown
-
2013
- 2013-03-01 US US13/782,670 patent/US20140082325A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP2630598A1 (en) | 2013-08-28 |
US20120096420A1 (en) | 2012-04-19 |
KR20130070640A (ko) | 2013-06-27 |
US20140082325A1 (en) | 2014-03-20 |
CN103270512A (zh) | 2013-08-28 |
US8423929B2 (en) | 2013-04-16 |
JP2013541778A (ja) | 2013-11-14 |
KR101503620B1 (ko) | 2015-03-18 |
TW201218008A (en) | 2012-05-01 |
WO2012054162A1 (en) | 2012-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5717015B2 (ja) | アーキテクチャ・オプティマイザ | |
US7337301B2 (en) | Designing configurable processor with hardware extension for instruction extension to replace searched slow block of instructions | |
US20120185820A1 (en) | Tool generator | |
US7340692B2 (en) | System LSI development apparatus and the method thereof for developing a system optimal to an application | |
Leupers et al. | Retargetable generation of code selectors from HDL processor models | |
US6772106B1 (en) | Retargetable computer design system | |
US8156457B2 (en) | Concurrent simulation of hardware designs with behavioral characteristics | |
KR20020021081A (ko) | 구성가능한 프로세서를 설계하기 위한 프로세서 자동 생성시스템 및 방법 | |
JP5682081B2 (ja) | インテリジェント・アーキテクチャ・クリエータ | |
Wehmeyer et al. | Analysis of the influence of register file size on energy consumption, code size, and execution time | |
Yang et al. | MetaCore: An application-specific programmable DSP development system | |
CN110210046B (zh) | 应用程序及专用指令集处理器一体化敏捷设计方法 | |
Frid et al. | Elementary operations: a novel concept for source-level timing estimation | |
Bornebusch et al. | Performance Aspects of Correctness-oriented Synthesis Flows. | |
Posadas et al. | Accelerating host-compiled simulation by modifying ir code: Industrial application in the spatial domain | |
Brumar | Early-Stage Non-Conventional Hardware Accelerator Discovery via Optimization Methods and Compiler Analysis | |
Posadas Cobo et al. | Accelerating host-compiled simulation by modifying IR code: industrial application in the spatial domain | |
Beatty et al. | An OpenMP-based circuit design tool: Customizable bit-width | |
Mehdipour et al. | Rapid design space exploration of a reconfigurable instruction-set processor | |
Sartor et al. | MInGLE: An Efficient Framework for Domain Acceleration using Low-Power Specialized Functional Units | |
van Kempen et al. | Automated Generation of a RISC-V LLVM Toolchain for Custom MACs | |
Hohenauer et al. | Retargetable code generation based on an architecture description language. | |
Leupers | Application Code Profiling and ISA Synthesis on MIPS 32 | |
Johnston | Shared instruction-set extensions for soft multiprocessor systems implemented on field-programmable gate arrays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20140210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140603 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140829 |
|
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: 20141202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141225 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5682081 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |