Nothing Special   »   [go: up one dir, main page]

JP3725230B2 - LSI function design support device - Google Patents

LSI function design support device Download PDF

Info

Publication number
JP3725230B2
JP3725230B2 JP04320496A JP4320496A JP3725230B2 JP 3725230 B2 JP3725230 B2 JP 3725230B2 JP 04320496 A JP04320496 A JP 04320496A JP 4320496 A JP4320496 A JP 4320496A JP 3725230 B2 JP3725230 B2 JP 3725230B2
Authority
JP
Japan
Prior art keywords
state
data
lsi
description
state transition
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
JP04320496A
Other languages
Japanese (ja)
Other versions
JPH09237283A (en
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP04320496A priority Critical patent/JP3725230B2/en
Publication of JPH09237283A publication Critical patent/JPH09237283A/en
Application granted granted Critical
Publication of JP3725230B2 publication Critical patent/JP3725230B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、LSI(大規模集積回路)の機能設計を支援する装置に関し、更に詳しくは、LSIの動作を状態遷移図形式で記述したデータからレジスタ転送レベルのハードウェア記述言語によるハードウェア記述データを生成する機能を備えたLSI機能設計支援装置に関する。
【0002】
【従来の技術】
近年、LSIの開発においてハードウェア記述言語(Hardware Description Language)(以下「HDL」という)を用いたトップダウン設計手法がとられるようになってきている。すなわち、機能設計の段階において設計対象のLSIをレジスタ転送レベルのHDLで記述したハードウェア記述データが作成され、このハードウェア記述データから論理合成ツールによってゲートレベルの回路データが生成されるようになっている。
【0003】
このようなトップダウン設計手法において、レジスタ転送レベルのHDLによるハードウェア記述データの作成を容易にするために、設計者が状態遷移図を基本とする形式でグラフィック端末より設計対象のLSIの動作を示すデータ(設計情報)を入力するためのLSI機能設計支援装置が提案されている。この装置では、入力された状態遷移図形式のデータからレジスタ転送レベルのHDLによるハードウェア記述データが自動的に生成される。例えば、特開平3−41567号公報には、状態遷移図および機能図をCAD(Computer Aided Design)データとして対話形式でデータベース登録し、このデータベースより対応するハードウェア記述言語に変換してファイル出力する状態遷移図設計システムが開示されている。これによれば、デジタル回路の設計システムにおけるユーザインタフェイスが向上し、設計効率を向上させることができるという効果が得られる。
【0004】
上記のLSI機能設計支援装置によってハードウェア記述データを生成する場合、その記述スタイルによって、論理合成後の回路の品質や性能が異なる。このため、目的に応じた質の高い論理合成を行えるようなハードウェア記述が望まれる。
【0005】
例えば、論理合成後の回路規模の縮小化を重視する場合には、圧縮率の高い論理圧縮アルゴリズムによる論理合成ツールを使用できるようなハードウェア記述が望まれる。また、製造後の回路のデバッグやテストに手間を要すると予想される場合には、デバッグやテストが容易となるようなハードウェア記述が望まれる。ところで前述の状態遷移図によって表される各状態を示す状態コードを格納するフリップフロップは、通常、複数個から成り、同一クロックに同期する。したがって、クロックスキューが生じない安定した回路を実現するためには、状態コードを格納する複数のフリップフロップが一つの回路ブロックとして実現されるようなハードウェア記述が望まれる。また、近年の携帯機器の普及によりLSIの消費電力の低減が重要になっており、携帯機器に使用されるLSIについては、動作速度よりも消費電力を抑えることが優先され、これに対応したハードウェア記述が望まれる。
【0006】
【発明が解決しようとする課題】
しかし、従来のLSI機能設計支援装置では、ハードウェア記述データの生成において上記の点は考慮されていなかった。すなわち、設計者によって入力された状態遷移図形式のデータ(設計情報)により設計対象のLSIの動作が有限状態機械(以下「FSM」という)と所定状態におけるレジスタ動作の記述(データパスの記述)として表現されている場合には、このデータから従来のLSI設計支援装置によって生成されるハードウェア記述データに対しては、圧縮率の高いFSM専用の論理圧縮アルゴリズムに基づくツールを使用することができなかった。
【0007】
また、従来のLSI機能設計支援装置には、状態遷移図形式の入力データからレジスタ転送レベルのハードウェア記述データを生成する際に、論理合成後の回路のデバッグやタイミング解析の容易化、消費電力の低減などについて考慮しているものはなかった。さらに、同一のクロックに同期する複数のフリップフロップについても、論理合成後にそれらが一つの回路ブロックとして実現されるようなハードウェア記述データを生成するLSI機能設計支援装置は存在しなかった。
【0008】
そこで本発明では、回路規模(チップ面積)の縮小化や、デバッグ等の容易化、消費電力の低減、回路動作の安定化等の各種の目的に応じた質の高い論理合成が可能となるようなハードウェア記述データを状態遷移図形式の入力データから生成することができるLSI機能設計支援装置を提供することを目的とする。
【0013】
【課題を解決するための手段】
本発明に係る第のLSI機能設計支援装置では、
操作者による入力操作に基づき、状態遷移の階層的記述が可能である状態遷移図により設計対象のLSIの動作を記述した状態遷移図データを生成する入力データ生成手段と、
前記状態遷移図データによって表される前記LSIの各状態が下位の状態を有する状態であるマクロ状態か否かを判定する状態判定手段と、
前記LSIが前記マクロ状態にあるときに値が「1」となり、前記マクロ状態ではないときに値が「0」となるフラグ信号の記述データを生成するフラグ記述生成手段と、
前記マクロ状態における下位の状態の遷移クロックを前記フラグ信号が「1」のときに供給させ、前記フラグ信号が「0」のときに該遷移クロックの供給を停止させるゲートの記述データを生成するゲート記述生成手段と、
フラグ記述生成手段およびゲート記述生成手段によって生成された記述データを用いて、前記フラグ信号により前記遷移クロックの供給と停止が制御される前記LSIをレジスタ転送レベルのハードウェア記述言語で記述したハードウェア記述データを生成するハードウェア記述生成手段と、
を備えることを特徴としている。
【0014】
本発明に係る第のLSI機能設計支援装置では、上記第のLSI機能設計支援装置において、
上記ゲート記述生成手段に代えて、前記マクロ状態の下位の状態に割り付けられたレジスタ動作のためのクロックを前記フラグ信号が「1」のときに供給させ、前記フラグ信号が「0」のときに該クロックの供給を停止させるゲートの記述データを生成するゲート記述生成手段を備え、
上記ハードウェア記述生成手段は、上記フラグ記述生成手段およびゲート記述生成手段によって生成された記述データを用いて、前記フラグ信号により前記クロックの供給と停止が制御される前記LSIをレジスタ転送レベルのハードウェア記述言語で記述したハードウェア記述データを生成することを特徴としている。
【0020】
【発明の効果】
本発明に係る第のLSI機能設計支援装置によれば、生成されるハードウェア記述データに基づいて得られるLSIは、その状態がマクロ状態か否かを示すフラグ信号によりそのマクロ状態の下位の状態の遷移クロックの供給と停止が制御される構成となる。これにより、マクロ状態の下位の状態コードを格納する状態レジスタには、その下位の状態遷移が生じない期間中(そのマクロ状態以外の状態となる期間中)は遷移クロックの供給が停止されるため、LSIの消費電力が低減される。
【0021】
本発明に係る第のLSI機能設計支援装置によれば、生成されるハードウェア記述データに基づいて得られるLSIは、その状態がマクロ状態か否かを示すフラグ信号により、そのマクロ状態の下位の状態に割り付けられたレジスタ動作のためのクロックの供給と停止が制御される構成となる。これにより、マクロ状態の下位の状態に割り付けられたレジスタ動作に対しては、その下位の状態遷移が生じない期間中(そのマクロ状態以外の状態となる期間中)はクロックの供給が停止されるため、LSIの消費電力が低減される。
【0023】
【発明の実施の形態】
<実施形態1>
以下、本発明の一実施形態(以下「実施形態1」という)であるLSI機能設計支援装置について説明する。このLSI機能設計支援装置は、汎用コンピュータとそれによって実行されるコンピュータ・プログラムとによって実現される。
【0024】
図1は、本実施形態のLSI機能設計支援装置のハードウェアであるコンピュータの構成を示す概略ブロック図である。本LSI機能設計支援装置のハードウェアは、CPU16とメモリ18などから成る本体10と、後述の拡張遷移図データやライブラリデータなどを格納するハードディスク装置12と、キーボードやマウス等の入力装置14と、CRTディスプレイ等の表示装置20とから構成されている。このような構成において、本体10のメモリ18に所定のプログラムが格納され、CPU16がそのプログラムに基づいて動作することにより、LSIの機能設計を支援するための種々の機能が実現される。
【0025】
図2は、上記LSI機能設計支援装置における処理を示すフローチャートである。上記LSI機能設計支援装置による設計では、まずステップS10において、設計者である操作者が、表示装置20を見ながらキーボードやマウス等の入力装置14を操作することにより、設計対象のLSIであるデジタル回路の動作を示す情報を入力する。本LSI機能設計支援装置では、状態遷移図の形式で設計対象のLSIの動作を示す情報を入力することができ、このとき、その状態遷移図で示される任意の状態における演算処理等のレジスタ動作を記述できるようになっている。具体的には、状態遷移図で示される状態におけるデータパス部分の動作を示す代入文や演算式などをHDLで記述する。以下、このようなレジスタ動作の記述機能の追加等により拡張された状態遷移図を「拡張状態遷移図」という(後述の拡張状態遷移図では、状態遷移の階層的記述の機能も追加されている)。このようなLSIの設計情報入力のための拡張状態遷移図としては、例えば「オープンチャート」を用いることができる(山田孝光、安井隆、岡善治、「機能エントリ・ツールを用いたソーティング回路の設計」、CQ出版社、雑誌 "インターフェース"、1995年3月号,pp.160-166 参照)。
【0026】
図4は、本LSI機能設計支援装置により入力された設計情報である拡張状態遷移図の一例を設計対象のLSIの入出力の定義とともに示す図である。図4には、状態S1を示す円の横に「C=A+B」と記載されており、これは、状態S1において実行される演算すなわちレジスタ動作を示している。この拡張状態遷移図によって示される設計情報が操作者により入力されると、図5に示すようなデータ構造の設計データがメモリ18内に生成され、これがハードディスク装置12に拡張状態遷移図データとして格納される。
【0027】
このようにして設計情報が入力されて拡張状態遷移図データが生成されると、ステップS12において、この拡張状態遷移図データ対し所定のチェックを行う。すなわち、状態の遷移先が存在するか否か等の状態遷移図に関するチェック(状態遷移図チェック)や、レジスタ動作を記述したハードウェア記述の文法チェック(HDL文法チェック)、論理合成の可能性のチェック(合成チェック)を行う。
【0028】
上記各種のチェックの結果、エラーが発見されればステップS10へ戻り(ステップS14)、エラーがなくなるまでステップS10〜S14が繰り返し実行される。そしてエラーがなくなればステップS16へ進み、操作者が所定の操作によりHDLの生成方式を指定する。すなわち、ハードウェア記述データの生成に際して、論理合成の効率(LSIのチップ面積の縮小化)を優先するか、消費電力の低減を優先するか、デバッグの容易性を優先するか等の優先事項を指定する。
【0029】
HDL生成方式が指定されると、ステップS18において、拡張状態遷移図データからハードウェア記述データを生成し(以下、このハードウェア記述データを生成する処理を「HDL生成処理」という)、LSI機能設計支援装置の処理を終了する。このようにして得られたハードウェア記述データは、設計対象のLSIをレジスタ転送レベルで記述したものであり、このハードウェア記述データから、既存の論理合成ツールにより、そのLSIの製造技術に対応するテクノロジ・ライブラリのマクロを用いて論理回路データが生成される。
【0030】
図3は、図2のステップS18におけるHDL生成処理を実行するサブルーチンを示すフローチャートである。本LSI機能設計支援装置は、このフローチャートに示す処理により、上記の拡張状態遷移図データからレジスタ転送レベルのハードウェア記述データを生成する。以下、このHDL生成処理について図3を参照しつつ説明する。なお本実施形態では、ハードウェア記述言語(HDL)としてVerilog-HDLを使用する。
【0031】
HDL生成処理では、まずステップS20において、ハードディスク装置12に格納された拡張状態遷移図データをメモリ18へ読み込む。次にステップS22において、読み込まれた拡張状態遷移図データによって示されるFSMへの入力信号を入力ポートに持ち、FSMからの出力信号と現在の状態を示す信号(以下「状態信号」という)とを出力ポートに持つような一つの階層ブロックを設定し、これをFSMとして動作する階層ブロック(以下「有限状態機械ブロック」という)として記述したハードウェア記述データを生成する。例えば図4に示した拡張状態遷移図データに対しては、有限状態機械ブロックのハードウェア記述データとして図8に示すようなデータを生成する。その後、ステップS24において、拡張状態遷移図データによって示されるデータパス部分(図4に示した例では「C=A+B」という記述に相当する部分)の入力バスと、前記FSMの階層ブロックの出力信号である状態信号とを入力ポートに持ち、データパス部分の出力バスを出力ポートに持つような一つの階層ブロックを設定し、これをデータパス部分として動作する階層ブロック(以下「データパス・ブロック」という)として記述したハードウェア記述データを生成する。例えば図4に示した拡張状態遷移図データに対しては、データパス・ブロックのハードウェア記述データとして図9に示すようなデータを生成する。このようにして、有限状態機械ブロックとデータパス・ブロックの両階層ブロックのハードウェア記述データを出力した後は、ステップS28において、図8に示す有限状態機械ブロックFSMの記述データおよび図9に示すデータパス・ブロックREGACTの記述データから成るハードウェア記述データを、これらの階層ブロックから構成される最上位の階層ブロックTOPのハードウェア記述データとして、すなわち図10に示すブロック図に相当するハードウェア記述データとして出力する。これによりHDL生成処理を終了し、このサブルーチンから復帰する。
【0032】
以上のようにして本実施形態において生成されるハードウェア記述データと比較するために、従来の手法により図4に示した拡張状態遷移図データから生成されたハードウェア記述データを図6に示す。このときの設計対象のLSIの外部ポートの入出力関係は、図7に示すようになる。
【0033】
本実施形態において図4に示した拡張状態遷移図データから生成されるハードウェア記述データは、前述のように図8および図9に示す通りであり、FSMに相当する部分とデータパスに相当する部分とが別個の階層ブロックとして構成されるようなハードウェア記述データとなっている。したがって、FSM専用の論理圧縮アルゴリズムによる論理合成ツールを、生成されたハードウェア記述のうちのFSMに相当する部分に適用することが可能となり、これにより高い圧縮率が得られる。また、論理合成後の回路デバッグやタイミング解析はFSMとデータパス部分を分離して実施することができるため、デバッグやタイミング解析が容易となり、設計の作業効率が向上する。
【0034】
<実施形態2>
上記実施形態において生成されるハードウェア記述データによれば、設計対象のLSIは有限状態機械ブロックとデータパス・ブロックとが分離された構成となるが、データパス・ブロックを、更に、組合せ回路のみから成る階層ブロックとレジスタ群からなる階層ブロックとに分離した構成となるようにすれば、論理合成やデバッグをこれらの階層ブロック毎に行うことができるため、論理合成の効率が更に向上し、論理合成後の回路のデバッグやタイミング解析が更に容易となる。このためには、図3のステップS24におけるデータパス・ブロックのハードウェア記述データの生成を以下のように変更すればよい(以下、このように変更した本発明の実施の形態を「実施形態2」という)。
【0035】
すなわち、図11のフローチャートに示すように、まずステップS102において、ステップS20で読み込まれた拡張状態遷移図データによって示されるデータパス部分からクロック信号によって引き起こされるデータロード動作を削除したものを抽出し、これを一つの階層ブロック(以下「組合せ回路ブロック」という)として記述したハードウェア記述データを生成する。例えば図4に示した拡張状態遷移図データに対しては、組合せ回路ブロックのハードウェア記述データとして図12に示すようなデータを生成する。次にステップS104において、前記データパス部分のうち内部レジスタ(レジスタ群)を構成するフリップフロップへと論理合成によって変換されるものを抽出し、これを一つの階層ブロック(以下「レジスタ・ブロック」という)として記述したハードウェア記述データを生成する。例えば図4に示した拡張状態遷移図データに対しては、レジスタ・ブロックのハードウェア記述データとして図13に示すようなデータを生成する。このようにして得られた図12の組合せ回路ブロックCOMBの記述データと図13のレジスタ・ブロックREGの記述データから成るハードウェア記述データによれば、図14に示すように、データパス・ブロックREGACTにおいて組合せ回路ブロックCOMBとレジスタ・ブロックREGとが別個の階層ブロックとして構成されることになる。
【0036】
<実施形態3>
次に、テスト容易化設計に対応した本発明の実施の形態(以下「実施形態3」という)を説明する。本実施形態では、HDL生成処理は、図15のフローチャートに示すようになる。このフローチャートは、上記実施形態1における図3のフローチャートにテスト回路挿入のためのステップS26を追加したものである。その他の構成は、上記実施形態1と同様である。
【0037】
本実施形態では、拡張状態遷移図データからレジスタ転送レベルのハードウェア記述データを生成する際に、上記実施形態1と同様に図15のステップS20〜S24の処理を行った後、ステップS26においてテスト回路挿入のための処理を行う。すなわち、外部から供給されるテストモード信号とテストクロック信号に対するハードウェア記述データとともに、テストモード信号が「0」のときに有限状態機械ブロックとデータパス・ブロックとにそれぞれに対応した通常のクロックを供給し、テストモード信号が「1」のときにテストクロックを有限状態機械ブロックおよびデータパス・ブロックに供給するマルチプレクサに対するハードウェア記述データを生成する。これにより、図16に示す構成の回路に相当するレジスタ転送レベルのハードウェア記述データが得られる。図16は、最上位の階層ブロックTOPの構成を示すブロック図であって、この構成によれば、通常の動作時には、テストモード信号TEST_MODEが「0」とされて、有限状態機械ブロックFSMにはクロック信号CLKが、データパスブロックREGACTにはクロック信号CK2がそれぞれ供給されるが、テスト時には、テストモード信号TEST_MODEが「1」とされて、有限状態機械ブロックFSMおよびデータパスブロックREGACTにテストクロック信号TEST_CLOCKが供給される。
【0038】
以上のように本実施形態によれば、レジスタ転送レベルのハードウェア記述データ生成においてテスト回路が挿入されるため、論理合成後においてテスト回路を挿入することなく、テスト容易化設計が実現される。これにより、LSI設計の作業効率が向上する。
【0039】
<実施形態4>
次に、本発明の第4の実施の形態(以下「実施形態4」という)であるLSI機能設計支援装置について説明する。
本実施形態のLSI機能設計支援装置は、上記実施形態1〜3と同一のハードウェア構成を有し(図1参照)、上記実施形態1〜3と同様にして設計対象のLSIの動作を記述する拡張状態遷移図データを入力する(図2のステップS10〜S14参照)。しかし本実施形態では、HDL生成処理が上記実施形態1〜3と相違する。また本実施形態では、レジスタ転送レベルのハードウェア記述に使用できるマクロを集めたマクロ・ライブラリが、ハードディス装置12に格納されている。そして、このマクロ・ライブラリには、設計対象のLSIの製造技術に対応するテクノロジ・ライブラリに登録されている複数ビット分のフリップフロップの機能を有するフリップフロップ・マクロに相当するマクロが登録されている。
【0040】
以下、本実施形態のHDL生成処理について図17に示すフローチャートを参照しつつ説明する。
まずステップS30において、実施形態1〜3と同様にしてハードディスク装置12内に格納された設計情報である拡張状態遷移図データを、メモリ18に読み込む。以下では、このステップにおいて図18に示すような状態遷移図データが読み込まれたものとして説明する。図18において、例えば状態名「S0」はS0とラベル付けされた状態を示し、その横に次の状態として「S1」が記載されているのは、状態S0の次に状態S1に遷移することを示している。また、出力としての「Z」の記載の有無は、「Z」の記載された状態において信号名Zの出力信号が「1」となり、「Z」の記載されていない状態において信号名Zの出力信号が「0」となることを示す。なお図18に示した例では、レジスタ動作の記述は含まれていないため、メモリ18に読み込まれるデータは、通常の状態遷移図データである。
【0041】
次のステップS32では、読み込まれた状態遷移図データによって表される状態を調べ、各状態に状態コードを割り付ける(状態コード解析処理)。図18に示した状態遷移図データの場合には、S0〜S8の9個の状態が存在するため、最小ビット幅で状態コードを割り付けるとすると、4ビット幅の状態レジスタが必要となる。図19は、図18の状態遷移図データに対する状態コード解析の結果を示しており、この例では、状態S0〜S8に4ビットの状態コード「0000」〜「1000」がそれぞれ割り付けられている。このようにして状態コードが割り付けられると、設計対象のLSIの動作を示す状態遷移図は図22に示すようになり、これが表示装置20に表示される。
【0042】
状態コードの割り付け後は、ステップS34において、ハードディスク装置12に格納されたマクロ・ライブラリを参照して、状態コードを格納する状態レジスタの実現に必要なフリップフロップ・マクロを求める。いま、マクロ・ライブラリには、図20に示すように、「R42」というマクロ名の4ビットのフリップフロップ・マクロと、「R82」というマクロ名の8ビットのフリップフロップ・マクロとが登録されているものとする。この場合、図19に示したように状態コードが割り付けられたとすると、フリップフロップ・マクロR42が選択され、これに対応する図21に示すデータが、設計対象のLSIのハードウェア記述に使用されるフリップフロップ・データとしてハードディスク装置12に格納される。
【0043】
そしてステップS36において、ステップS30で読み込まれた状態遷移図データから、ステップ34で得られたフリップフロップ・データを参照して、レジスタ転送レベルのハードウェア記述データを生成する。
【0044】
以上のようにして本実施形態において生成されるハードウェア記述データと比較するために、従来のLSI機能設計支援装置により図18の状態遷移図データから生成されたハードウェア記述データを図23に示す。図23において、HDLの記述201は4ビットの状態コードの割り付けを、HDLの記述202は状態レジスタをそれぞれ示す。この図23に示すハードウェア記述データから論理合成ツールによって論理回路を合成すると、図25に示すような回路が得られる。
【0045】
これに対し、本実施形態において図18の状態遷移図データから生成されるハードウェア記述データは、図24に示すようになる。図24において、HDLの記述211は状態コードの割り付けを、HDLの記述212は状態レジスタを、HDLの記述213は4ビットのフリップフロップ・マクロR42の使用をそれぞれ示している。この図24に示すハードウェア記述データから論理合成ツールによって論理回路を合成すると、図26に示すような回路が得られる。従来のLSI機能設計支援装置により得られた図25に示した論理回路では、状態コードを格納するレジスタとして1ビットのフリップフロップDFFC0Rが4個生成されているのに対し、図25に示す論理回路では、状態コードを格納するレジスタとして4ビットのフリップフロップ・マクロR42が1個生成されている。
【0046】
このように本実施形態によれば、状態コードを格納する状態レジスタとして複数ビットのフリップフロップ・マクロを使用したハードウェア記述データが得られる。このフリップフロップ・マクロは、設計対象のLSIの製造技術に対応するテクノロジ・ライブラリに登録されているマクロに相当するものである。このため、上記ハードウェア記述データに対して論理合成を行うと、状態レジスタとして複数ビット分のフリップフロップが一つの回路ブロックとして生成される。これにより、クロックスキュー等が生じず安定に動作するLSIを実現することができる。また、状態レジスタが一つのマクロとして実現されるため、チップ面積の点でも有利である。
【0047】
<実施形態5>
次に、本発明の第5の実施の形態(以下「実施形態5」という)であるLSI機能設計支援装置について説明する。
本実施形態のLSI機能設計支援装置も、上記実施形態1〜4と同一のハードウェア構成を有し(図1参照)、上記実施形態1〜4と同様にして設計対象のLSIの動作を記述する拡張状態遷移図データを入力する(図2のステップS10〜S14参照)。ただし、本実施形態で使用される拡張状態遷移図は、任意の状態におけるレジスタ動作を記述できるのみならず、状態遷移を階層的に記述できるものである。例えば前述のオープンチャートは、このような記述機能を有している。
【0048】
本実施形態のHDL生成処理は上記実施形態1〜4と相違する。以下、本実施形態のHDL生成処理について図27に示すフローチャートを参照しつつ説明する。
まずステップS40において、階層的記述が可能な拡張状態遷移図によって表現された設計情報である拡張状態遷移図データを、ハードディスク装置12からメモリ18に読み込む。図28は、ステップS40で読み込まれる拡張状態遷移図データの一例を示す図である。この拡張状態遷移図データによって表される状態のうち、状態HS0はその下階層として拡張状態遷移図304で示されるような状態遷移を持ち、状態HS1およびHS2も下階層を持っている。また、状態HS0の下階層における状態S0に対するHDLの記述303は、レジスタ動作を示すものであり、HDLの記述302は、このレジスタ動作に対して供給されるクロックを定義するものである。
【0049】
上記ステップS40において拡張状態遷移図データが読み込まれた後は、これによって表される状態を順次調べながら、ハードウェア記述データを生成する。
すなわち、まずステップS42において、未調査の状態の有無を判定し、未調査の状態が有ればステップS44へ進んで未調査の状態を一つ求める。このとき、同一階層に未調査の状態が存在するときは同一階層における未調査の状態を選択し、同一階層に未調整の状態が存在しないときはその上位の階層における未調査の状態を選択する。
【0050】
次のステップS46では、ステップ44で求められた状態が下階層の状態遷移を持つか(下位の状態を持つか)否かを判定し、下階層の状態遷移を持たない場合は、ステップS48へ進んで、ステップS44で求められた状態から出ていく矢印が有るか否かを判定する。その結果、矢印が無い場合はステップS42に戻り、矢印が有る場合はステップS50へ進む。
【0051】
ステップS50では状態の遷移条件を求め、次のステップS52において、調査対象の状態(ステップS44で求められた状態)に対してレジスタ動作が記述されていれば、そのレジスタ動作を示すハードウェア記述データを生成する。その後、ステップS54において状態の遷移先を求める。そしてステップS56において、このようにして求められた遷移条件および遷移先(次の状態)と現在の状態とに基づき、FSMに対するハードウェア記述データを生成する。その後、ステップS42に戻る。以後、未調査の状態が存在しかつステップS44で求められる状態が下階層の状態遷移を持たない限り(ステップS46参照)、ステップS42→S44→S46→S48→S50→S52→S54→S56→S42というループ(ただし、調査対象の状態から出ていく矢印が無いときはステップS48からS42へ戻る)を繰り返し実行する。この実行中にステップS46において下階層の状態遷移を持つと判定されると(以下、下階層の状態遷移を持つ状態を「マクロ状態」という)、ステップS58へ進む。
【0052】
ステップS58では、その下階層でのみ動作するクロックに対するハードウェア記述データを生成する。具体的には、まず、その下階層の上位の階層の状態遷移図における状態コードがこの状態(その下階層の状態遷移を持つマクロ状態)であることを示す値のときに「1」となり、それ以外のときに「0」となるようなフラグ信号のハードウェア記述データを生成し、次に、このフラグ信号と下階層の状態遷移用として供給すべき元のクロックとの論理積の信号を、下階層の状態コードを格納する状態レジスタへクロックとして供給することを示すハードウェア記述データ、すなわち上記フラグ信号を用いたANDゲートによるクロックのゲーティングを示すハードウェア記述データを生成する。
【0053】
上記ステップS58の実行後は下階層の状態遷移に移行し、未調査の状態が存在しかつステップS44で求められる状態が下階層の状態遷移を持たない限り(ステップS46参照)、S42→S44→S46→S48→S50→S52→S54→S56→S42いうループ(ただし、調査対象の状態から出ていく矢印が無いときはステップS48からS42へ戻る)を繰り返し実行する。これにより、下階層の状態遷移図について上記と同様の処理が行われる。この実行中にステップS46において更に下階層の状態遷移を持つと判定されると、その下階層について上記ループを繰り返し実行する。以降同様にして、最下位の状態遷移図に至るまで上記と同様の処理が行われる。このような処理が行われた結果、未調査の状態が無くなれば、このサブルーチンから復帰し(ステップS42)、HDL生成処理を終了する。
【0054】
本実施形態におけるHDL生成処理では、以上のようにして、階層構造を有する拡張状態遷移図における各状態が順次調べられ、設計対象のLSIに対するレジスタ転送レベルのハードウェア記述データが生成される。図29は、このようなHDL生成処理により図28に示した拡張状態遷移図データから得られるハードウェア記述データの一部を示す図である。この図におけるHDLの記述402は、ステップS58で生成される部分であって、下階層の状態遷移を持つマクロ状態HS0で動作していることを示すフラグCLK3MおよびCLK3MMと、マクロ状態HS0の下階層の状態遷移用として供給すべき元のクロックCLKとの論理積をとることにより、クロックのゲーティングを行ってクロックCLK3を生成することを示している。このクロックCLK3が実際に下階層の状態遷移用クロックとして供給される。また、図29におけるHDLの記述403もステップS58で生成され、これは上記フラグCLK3MおよびCLK3MMの作成を示している。
【0055】
本実施形態によれば、ステップ58における上記のような処理により、各マクロ状態に対し、設計対象のLSIがそのマクロ状態であるとき以外には、そのマクロ状態の下階層に対して状態遷移のクロックが供給されないような構成を記述したハードウェア記述データが生成される。したがって、このハードウェア記述データに基づいて製造されるLSIでは、各マクロ状態について、そのマクロ状態の下階層の状態遷移が生じない期間中すなわちそのマクロ状態以外の状態となる期間中は、その下階層への状態遷移クロックの供給が停止し、これにより消費電力が低減される。
【0056】
上記実施形態では、下階層の状態遷移のクロックをゲーティングすることにより消費電力の低減を図っているが、下階層のレジスタ動作に対して供給されるクロックをゲーティングすることによっても消費電力を低減することができる。すなわち、まず、その下階層の上位の階層の状態遷移図における状態コードがこの状態(その下階層の状態遷移を持つマクロ状態)であることを示す値のときに「1」となり、それ以外のときに「0」となるようなフラグ信号のハードウェア記述データを生成し、次に、このフラグ信号と下階層のレジスタ動作に対して供給すべき元のクロックとの論理積の信号を下階層のレジスタ動作に対するクロックとして供給することを示すハードウェア記述データを生成するようにしてもよい。このようなハードウェア記述データに基づいて製造されるLSIでは、レジスタ動作用として供給すべきクロックが上記フラグを用いてゲーティングされるため、各マクロ状態について、そのマクロ状態以外の状態となる期間中は、その下階層の状態に割り付けられたレジスタ動作に対するクロックの供給が停止する。これにより、LSIの消費電力が低減される。
【0057】
<変形例>
以上において説明した各実施形態は、それぞれ、論理合成の効率とデバッグの容易性などを向上させるために有限状態機械ブロックとデータパス・ブロックを別の階層ブロックにするという特徴や、クロックスキューの発生防止等のために状態レジスタを複数ビット分のフリップフロップから成る一つの回路ブロックとして実現するという特徴、消費電力を低減するために下階層の状態遷移用のクロックのゲーティングを行うという特徴などを有しているが、これらの特徴を複数備えたLSI機能設計支援装置や、これらの特徴を全て備えたLSI機能設計支援装置も実現可能である。
【図面の簡単な説明】
【図1】 本発明の実施形態であるLSI機能設計支援装置のハードウェア構成を示す概略ブロック図。
【図2】 上記LSI機能設計支援装置における処理を示すフローチャート。
【図3】 実施形態1のLSI機能設計支援装置によるHDL生成処理を示すフローチャート。
【図4】 実施形態1のLSI機能設計支援装置に入力される拡張状態遷移図データの一例を示す図。
【図5】 上記拡張状態遷移図データのデータ構造を示す図。
【図6】 従来のLSI機能設計支援装置により上記拡張状態遷移図データから生成されるハードウェア記述データを示す図。
【図7】 図6のハードウェア記述データに対応する設計対象のLSIの外部ポートの入出力関係を示す図。
【図8】 実施形態1において上記拡張状態遷移図データから生成されるハードウェア記述データのうち有限状態機械ブロックの部分を示す図。
【図9】 実施形態1において上記拡張状態遷移図データから生成されるハードウェア記述データのうちデータパス・ブロックの部分を示す図。
【図10】 実施形態1において生成されるハードウェア記述データに対応するLSIの構成を示すブロック図。
【図11】 実施形態2のLSI機能設計支援装置によるHDL生成処理におけるデータパス・ブロックのハードウェア記述の生成を示すフローチャート。
【図12】 実施形態2において上記拡張状態遷移図データから生成されるハードウェア記述データのうち組合せ回路ブロックの部分を示す図。
【図13】 実施形態2において上記拡張状態遷移図データから生成されるハードウェア記述データのうちレジスタ・ブロックの部分を示す図。
【図14】 実施形態2において生成されるハードウェア記述データに対応するLSIの構成のうちデータパス・ブロックの部分を示すブロック図。
【図15】 実施形態3のLSI機能設計支援装置によるHDL生成処理を示すフローチャート。
【図16】 実施形態3において生成されるハードウェア記述データに対応するLSIの構成を示すブロック図。
【図17】 実施形態4のLSI機能設計支援装置によるHDL生成処理を示すフローチャート。
【図18】 実施形態4のLSI機能設計支援装置に入力される状態遷移図データの一例を示す図。
【図19】 実施形態4における上記状態遷移図データの状態コード解析の結果を示す図。
【図20】 実施形態4におけるマクロ・ライブラリに登録されているフリップフロップ・マクロを示す図。
【図21】 実施形態4におけるハードウェア記述データ生成の際に使用されるフリップフロップ・データを示す図。
【図22】 実施形態4のLSI機能設計支援装置に入力される状態遷移図データに対応する、状態コード割り付け後の状態遷移図を示す図。
【図23】 従来のLSI機能設計支援装置により上記状態遷移図データから生成されるハードウェア記述データを示す図。
【図24】 実施形態4において上記状態遷移図データから生成されるハードウェア記述データを示す図。
【図25】 従来のLSI機能設計支援装置により生成される図23のハードウェア記述データから論理合成により得られる論理回路を示す図。
【図26】 実施形態4において生成される図24のハードウェア記述データから論理合成により得られる論理回路を示す図。
【図27】 実施形態5のLSI機能設計支援装置によるHDL生成処理を示すフローチャート。
【図28】 実施形態5のLSI機能設計支援装置に入力される拡張状態遷移図データの一例を示す図。
【図29】 実施形態5において図28の拡張状態遷移図データから生成されるハードウェア記述データの一部を示す図。
【符号の説明】
10 …LSI機能設計支援装置のハードウェア本体
12 …ハードディスク装置
16 …CPU
18 …メモリ
211…状態コードの割付を示すハードウェア記述(実施形態4)
212…状態レジスタを示すハードウェア記述(実施形態4)
213…4ビットのフリップフロップ・マクロの使用を示すハードウェア記述(実施形態4)
402…状態遷移用クロックのゲーティングを示すハードウェア記述(実施形態5)
403…上記ゲーティングに使用されるフラグの作成を示すハードウェア記述(実施形態5)
FSM …有限状態機械ブロック
REGACT…データパス・ブロック
COMB …組合せ回路ブロック
REG …レジスタ・ブロック
R42 …4ビット・フリップフロップ・マクロ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an apparatus for supporting functional design of an LSI (Large Scale Integrated Circuit), and more specifically, hardware description data in a hardware description language of a register transfer level from data describing an LSI operation in a state transition diagram format. The present invention relates to an LSI function design support apparatus having a function of generating a function.
[0002]
[Prior art]
In recent years, a top-down design method using a hardware description language (hereinafter referred to as “HDL”) has been adopted in LSI development. In other words, hardware description data in which the LSI to be designed is described in HDL at the register transfer level is created at the functional design stage, and gate level circuit data is generated from this hardware description data by a logic synthesis tool. ing.
[0003]
In such a top-down design method, in order to facilitate the creation of hardware description data by HDL at the register transfer level, the designer operates the LSI to be designed from the graphic terminal in a format based on the state transition diagram. An LSI function design support apparatus for inputting data (design information) to be shown has been proposed. In this apparatus, hardware description data by register transfer level HDL is automatically generated from the input data in the state transition diagram format. For example, in Japanese Patent Application Laid-Open No. 3-41567, state transition diagrams and function diagrams are registered in a database interactively as CAD (Computer Aided Design) data, converted from this database into a corresponding hardware description language, and output as a file. A state transition diagram design system is disclosed. According to this, the user interface in the digital circuit design system is improved, and it is possible to improve the design efficiency.
[0004]
When hardware description data is generated by the LSI function design support apparatus, the quality and performance of a circuit after logic synthesis differs depending on the description style. For this reason, a hardware description that enables high-quality logic synthesis according to the purpose is desired.
[0005]
For example, when importance is attached to the reduction of the circuit scale after logic synthesis, a hardware description that can use a logic synthesis tool based on a logic compression algorithm with a high compression rate is desired. In addition, when it is expected that it takes time to debug and test a circuit after manufacturing, a hardware description that facilitates debugging and testing is desired. By the way, the flip-flop for storing the state code indicating each state represented by the above-described state transition diagram is usually composed of a plurality of and is synchronized with the same clock. Therefore, in order to realize a stable circuit that does not cause clock skew, a hardware description is desired in which a plurality of flip-flops that store status codes are realized as one circuit block. Also, with the recent spread of portable devices, it is important to reduce the power consumption of LSIs. For LSIs used in portable devices, priority is given to reducing power consumption over operating speed, and hardware that supports this A hardware description is desired.
[0006]
[Problems to be solved by the invention]
However, in the conventional LSI function design support apparatus, the above points are not taken into consideration in the generation of hardware description data. That is, the state transition diagram data (design information) input by the designer is a finite state machine (hereinafter referred to as “FSM”) and the register operation description in a predetermined state (data path description). Can be used for hardware description data generated from this data by a conventional LSI design support device based on a FSM-dedicated logical compression algorithm with a high compression ratio. There wasn't.
[0007]
Also, the conventional LSI function design support device facilitates debugging of the circuit after logic synthesis, timing analysis, and power consumption when generating the hardware description data at the register transfer level from the input data in the state transition diagram format. There was nothing to consider about the reduction. Further, there has been no LSI function design support device that generates hardware description data for a plurality of flip-flops synchronized with the same clock so that they are realized as one circuit block after logic synthesis.
[0008]
Therefore, the present invention makes it possible to perform high-quality logic synthesis according to various purposes such as reduction in circuit scale (chip area), ease of debugging, reduction of power consumption, stabilization of circuit operation, and the like. An object of the present invention is to provide an LSI function design support device capable of generating simple hardware description data from input data in a state transition diagram format.
[0013]
[Means for Solving the Problems]
According to the present invention 1 In the LSI functional design support device,
Input data generation means for generating state transition diagram data describing the operation of the LSI to be designed based on a state transition diagram capable of hierarchical description of state transitions based on an input operation by an operator;
State determination means for determining whether each state of the LSI represented by the state transition diagram data is a macro state which is a state having a lower state;
Flag description generating means for generating description data of a flag signal having a value of “1” when the LSI is in the macro state and a value of “0” when not in the macro state;
A gate that generates description data of a gate that supplies a transition clock of a lower state in the macro state when the flag signal is “1” and stops supply of the transition clock when the flag signal is “0” A description generation means;
Hardware in which the LSI for which the supply and stop of the transition clock is controlled by the flag signal is described in a register description level hardware description language using the description data generated by the flag description generation means and the gate description generation means Hardware description generation means for generating description data;
It is characterized by having.
[0014]
According to the present invention 2 In the LSI functional design support apparatus, 1 LSI function design support device
Instead of the gate description generating means, a clock for register operation assigned to a lower state of the macro state is supplied when the flag signal is "1", and when the flag signal is "0" Gate description generating means for generating description data of a gate for stopping the supply of the clock;
The hardware description generation means uses the description data generated by the flag description generation means and the gate description generation means to transfer the LSI, whose supply and stop of the clock are controlled by the flag signal, to a register transfer level hardware. Hardware description data described in a hardware description language is generated.
[0020]
【The invention's effect】
According to the present invention 1 According to the LSI functional design support apparatus, the LSI obtained based on the generated hardware description data supplies a transition clock of a lower state of the macro state by a flag signal indicating whether the state is the macro state or not. And the stop is controlled. As a result, the supply of the transition clock to the status register that stores the status code in the lower level of the macro state is stopped during the period in which the lower level status transition does not occur (during the period in which the status is other than the macro status). LSI power consumption is reduced.
[0021]
According to the present invention 2 According to the LSI functional design support apparatus, the LSI obtained based on the generated hardware description data is assigned to a lower level state of the macro state by a flag signal indicating whether the state is the macro state or not. The clock supply and stop for register operation are controlled. As a result, for the register operation assigned to the lower state of the macro state, the clock supply is stopped during a period in which the lower state transition does not occur (during a period other than the macro state). Therefore, the power consumption of the LSI is reduced.
[0023]
DETAILED DESCRIPTION OF THE INVENTION
<Embodiment 1>
Hereinafter, an LSI functional design support apparatus according to an embodiment of the present invention (hereinafter referred to as “Embodiment 1”) will be described. This LSI function design support apparatus is realized by a general-purpose computer and a computer program executed thereby.
[0024]
FIG. 1 is a schematic block diagram showing the configuration of a computer that is hardware of the LSI functional design support apparatus of this embodiment. The hardware of this LSI functional design support apparatus includes a main body 10 including a CPU 16 and a memory 18, a hard disk device 12 that stores expanded transition diagram data and library data described later, an input device 14 such as a keyboard and a mouse, And a display device 20 such as a CRT display. In such a configuration, a predetermined program is stored in the memory 18 of the main body 10, and various functions for supporting the functional design of the LSI are realized by the CPU 16 operating based on the program.
[0025]
FIG. 2 is a flowchart showing processing in the LSI function design support apparatus. In the design by the LSI function design support device, first, in step S10, the operator who is the designer operates the input device 14 such as a keyboard and a mouse while looking at the display device 20, so that the digital which is the LSI to be designed. Input information indicating the operation of the circuit. In this LSI functional design support device, information indicating the operation of the LSI to be designed can be input in the form of a state transition diagram. At this time, register operations such as arithmetic processing in an arbitrary state shown in the state transition diagram Can be described. Specifically, an assignment statement or an arithmetic expression indicating the operation of the data path portion in the state shown in the state transition diagram is described in HDL. Hereinafter, a state transition diagram expanded by adding a register function description function or the like is referred to as an “extended state transition diagram” (in the extended state transition diagram described later, a function of hierarchical description of state transition is also added. ). As an extended state transition diagram for LSI design information input, for example, an “open chart” can be used (Takamitsu Yamada, Takashi Yasui, Yoshiharu Oka, “Designing a sorting circuit using a function entry tool” ”, CQ Publisher, Magazine“ Interface ”, March 1995, pp. 160-166).
[0026]
FIG. 4 is a diagram illustrating an example of an extended state transition diagram, which is design information input by the LSI functional design support apparatus, together with input / output definitions of the LSI to be designed. In FIG. 4, “C = A + B” is written beside the circle indicating the state S1, and this indicates an operation executed in the state S1, that is, a register operation. When the operator inputs the design information shown by the extended state transition diagram, design data having a data structure as shown in FIG. 5 is generated in the memory 18 and stored in the hard disk device 12 as extended state transition diagram data. Is done.
[0027]
When the design information is thus input and the extended state transition diagram data is generated, a predetermined check is performed on the extended state transition diagram data in step S12. That is, a check on a state transition diagram such as whether a state transition destination exists (state transition diagram check), a grammar check of a hardware description describing a register operation (HDL grammar check), and the possibility of logic synthesis Perform a check (composite check).
[0028]
If an error is found as a result of the above various checks, the process returns to step S10 (step S14), and steps S10 to S14 are repeatedly executed until there is no error. If there is no error, the process proceeds to step S16, and the operator designates the HDL generation method by a predetermined operation. In other words, when generating hardware description data, prioritize whether to prioritize logic synthesis efficiency (LSI chip area reduction), prioritize reduction of power consumption, or prioritize debugging. specify.
[0029]
When the HDL generation method is specified, in step S18, hardware description data is generated from the extended state transition diagram data (hereinafter, the process of generating the hardware description data is referred to as “HDL generation process”), and the LSI function design is performed. The process of the support device is terminated. The hardware description data obtained in this way is a description of the LSI to be designed at the register transfer level, and this hardware description data corresponds to the LSI manufacturing technology using an existing logic synthesis tool. Logic circuit data is generated using macros in the technology library.
[0030]
FIG. 3 is a flowchart showing a subroutine for executing the HDL generation process in step S18 of FIG. The LSI functional design support device generates register transfer level hardware description data from the above extended state transition diagram data by the processing shown in this flowchart. Hereinafter, the HDL generation process will be described with reference to FIG. In this embodiment, Verilog-HDL is used as a hardware description language (HDL).
[0031]
In the HDL generation process, first, in step S20, the extended state transition diagram data stored in the hard disk device 12 is read into the memory 18. In step S22, an input signal to the FSM indicated by the read extended state transition diagram data is input to the input port, and an output signal from the FSM and a signal indicating the current state (hereinafter referred to as "state signal") are obtained. One hierarchical block such as an output port is set, and hardware description data in which this is described as a hierarchical block that operates as an FSM (hereinafter referred to as “finite state machine block”) is generated. For example, for the extended state transition diagram data shown in FIG. 4, data as shown in FIG. 8 is generated as hardware description data of a finite state machine block. Thereafter, in step S24, the input bus of the data path portion (the portion corresponding to the description of “C = A + B” in the example shown in FIG. 4) indicated by the extended state transition diagram data, and the output signal of the FSM hierarchical block A hierarchical block that has a status signal as an input port and an output bus of the data path portion at the output port is set, and this operates as the data path portion (hereinafter referred to as “data path block”) The hardware description data described as) is generated. For example, for the extended state transition diagram data shown in FIG. 4, data as shown in FIG. 9 is generated as hardware description data of the data path block. After outputting the hardware description data of both the finite state machine block and the data path block in this way, in step S28, the description data of the finite state machine block FSM shown in FIG. 8 and the data shown in FIG. The hardware description data composed of the description data of the data path block REGACT is used as the hardware description data of the highest hierarchical block TOP composed of these hierarchical blocks, that is, the hardware description corresponding to the block diagram shown in FIG. Output as data. As a result, the HDL generation process is terminated, and the process returns from this subroutine.
[0032]
FIG. 6 shows the hardware description data generated from the extended state transition diagram data shown in FIG. 4 by the conventional method for comparison with the hardware description data generated in the present embodiment as described above. The input / output relationship of the external port of the LSI to be designed at this time is as shown in FIG.
[0033]
In this embodiment, the hardware description data generated from the extended state transition diagram data shown in FIG. 4 is as shown in FIGS. 8 and 9 as described above, and corresponds to a portion corresponding to the FSM and a data path. The hardware description data is such that the portion is configured as a separate hierarchical block. Therefore, it becomes possible to apply a logic synthesis tool based on a logic compression algorithm dedicated to FSM to the portion corresponding to the FSM in the generated hardware description, thereby obtaining a high compression ratio. In addition, since circuit debugging and timing analysis after logic synthesis can be carried out separately from the FSM and the data path portion, debugging and timing analysis are facilitated, and design work efficiency is improved.
[0034]
<Embodiment 2>
According to the hardware description data generated in the above embodiment, the LSI to be designed has a configuration in which the finite state machine block and the data path block are separated, but the data path block is further combined with only the combinational circuit. If the configuration is separated into a hierarchical block consisting of and a hierarchical block consisting of a register group, logic synthesis and debugging can be performed for each of these hierarchical blocks. This makes it easier to debug the circuit after synthesis and analyze the timing. For this purpose, the generation of the hardware description data of the data path block in step S24 of FIG. 3 may be changed as follows (hereinafter referred to as “embodiment 2”). ").
[0035]
That is, as shown in the flowchart of FIG. 11, first, in step S102, the data path portion indicated by the extended state transition diagram data read in step S20 is extracted from the data load operation caused by the clock signal. Hardware description data in which this is described as one hierarchical block (hereinafter referred to as “combination circuit block”) is generated. For example, for the extended state transition diagram data shown in FIG. 4, data as shown in FIG. 12 is generated as hardware description data of the combinational circuit block. Next, in step S104, the data path portion is extracted that is converted into a flip-flop constituting an internal register (register group) by logic synthesis, and this is extracted as one hierarchical block (hereinafter referred to as "register block"). Hardware description data described as) is generated. For example, for the extended state transition diagram data shown in FIG. 4, data as shown in FIG. 13 is generated as hardware description data of the register block. According to the hardware description data composed of the description data of the combinational circuit block COMB of FIG. 12 and the description data of the register block REG of FIG. 13 obtained as described above, as shown in FIG. 14, the data path block REGACT The combinational circuit block COMB and the register block REG are configured as separate hierarchical blocks.
[0036]
<Embodiment 3>
Next, an embodiment of the present invention (hereinafter referred to as “Embodiment 3”) corresponding to the testability design will be described. In the present embodiment, the HDL generation process is as shown in the flowchart of FIG. This flowchart is obtained by adding step S26 for inserting a test circuit to the flowchart of FIG. 3 in the first embodiment. Other configurations are the same as those of the first embodiment.
[0037]
In this embodiment, when generating the register transfer level hardware description data from the extended state transition diagram data, the processing in steps S20 to S24 in FIG. 15 is performed as in the first embodiment, and then the test is performed in step S26. Performs processing for circuit insertion. That is, together with hardware description data for the test mode signal and test clock signal supplied from the outside, when the test mode signal is “0”, normal clocks corresponding to the finite state machine block and the data path block are respectively provided. And generate hardware description data for the multiplexer that supplies a test clock to the finite state machine block and the datapath block when the test mode signal is "1". Thereby, hardware description data of a register transfer level corresponding to the circuit having the configuration shown in FIG. 16 is obtained. FIG. 16 is a block diagram showing the configuration of the highest hierarchical block TOP. According to this configuration, the test mode signal TEST_MODE is set to “0” during normal operation, and the finite state machine block FSM has The clock signal CLK is supplied to the data path block REGACT, and the clock signal CK2 is supplied to the data path block REGACT. At the time of the test, the test mode signal TEST_MODE is set to “1”, and the test clock signal is supplied to the finite state machine block FSM and the data path block REGACT. TEST_CLOCK is supplied.
[0038]
As described above, according to the present embodiment, the test circuit is inserted in the hardware description data generation at the register transfer level, so that design for testability is realized without inserting the test circuit after logic synthesis. Thereby, the work efficiency of LSI design is improved.
[0039]
<Embodiment 4>
Next, an LSI functional design support apparatus according to a fourth embodiment (hereinafter referred to as “embodiment 4”) of the present invention will be described.
The LSI functional design support apparatus of this embodiment has the same hardware configuration as those of the first to third embodiments (see FIG. 1), and describes the operation of the LSI to be designed as in the first to third embodiments. The extended state transition diagram data to be input is input (see steps S10 to S14 in FIG. 2). However, in the present embodiment, the HDL generation process is different from those in the first to third embodiments. In this embodiment, a macro library that collects macros that can be used for hardware description at the register transfer level is stored in the hard disk device 12. In this macro library, macros corresponding to flip-flop macros having a flip-flop function for a plurality of bits registered in the technology library corresponding to the LSI manufacturing technology to be designed are registered. .
[0040]
Hereinafter, the HDL generation processing of the present embodiment will be described with reference to the flowchart shown in FIG.
First, in step S30, extended state transition diagram data, which is design information stored in the hard disk device 12, is read into the memory 18 in the same manner as in the first to third embodiments. In the following description, it is assumed that state transition diagram data as shown in FIG. 18 has been read in this step. In FIG. 18, for example, the state name “S0” indicates a state labeled S0, and “S1” is described as the next state next to the state name “S0” means that the state transitions to state S1 next to state S0. Is shown. In addition, whether or not “Z” is described as an output indicates that the output signal of the signal name Z is “1” in a state where “Z” is described, and the output of the signal name Z is in a state where “Z” is not described. Indicates that the signal is “0”. In the example shown in FIG. 18, since the description of the register operation is not included, the data read into the memory 18 is normal state transition diagram data.
[0041]
In the next step S32, the state represented by the read state transition diagram data is examined, and a state code is assigned to each state (state code analysis process). In the case of the state transition diagram data shown in FIG. 18, there are nine states S0 to S8. Therefore, if a status code is assigned with a minimum bit width, a status register with a 4-bit width is required. FIG. 19 shows the result of the state code analysis for the state transition diagram data of FIG. 18, and in this example, 4-bit state codes “0000” to “1000” are assigned to the states S0 to S8, respectively. When the status code is assigned in this way, the state transition diagram showing the operation of the LSI to be designed is as shown in FIG. 22, and this is displayed on the display device 20.
[0042]
After assigning the status code, in step S34, the macro library stored in the hard disk device 12 is referred to obtain a flip-flop macro necessary for realizing the status register for storing the status code. Now, as shown in FIG. 20, a 4-bit flip-flop macro named “R42” and an 8-bit flip-flop macro named “R82” are registered in the macro library. It shall be. In this case, if the status code is assigned as shown in FIG. 19, the flip-flop macro R42 is selected, and the data shown in FIG. 21 corresponding to this is used for the hardware description of the LSI to be designed. It is stored in the hard disk device 12 as flip-flop data.
[0043]
In step S36, hardware description data at the register transfer level is generated by referring to the flip-flop data obtained in step 34 from the state transition diagram data read in step S30.
[0044]
FIG. 23 shows the hardware description data generated from the state transition diagram data of FIG. 18 by the conventional LSI functional design support apparatus for comparison with the hardware description data generated in the present embodiment as described above. . In FIG. 23, an HDL description 201 indicates allocation of a 4-bit status code, and an HDL description 202 indicates a status register. When a logic circuit is synthesized from the hardware description data shown in FIG. 23 by a logic synthesis tool, a circuit as shown in FIG. 25 is obtained.
[0045]
On the other hand, the hardware description data generated from the state transition diagram data of FIG. 18 in this embodiment is as shown in FIG. In FIG. 24, the HDL description 211 indicates the status code assignment, the HDL description 212 indicates the status register, and the HDL description 213 indicates the use of the 4-bit flip-flop macro R42. When a logic circuit is synthesized from the hardware description data shown in FIG. 24 by a logic synthesis tool, a circuit as shown in FIG. 26 is obtained. In the logic circuit shown in FIG. 25 obtained by the conventional LSI function design support apparatus, four 1-bit flip-flops DFFC0R are generated as registers for storing the status codes, whereas the logic circuit shown in FIG. In this case, one 4-bit flip-flop macro R42 is generated as a register for storing the status code.
[0046]
As described above, according to the present embodiment, hardware description data using a multi-bit flip-flop macro as a status register for storing a status code is obtained. This flip-flop macro corresponds to a macro registered in a technology library corresponding to the manufacturing technology of the LSI to be designed. Therefore, when logic synthesis is performed on the hardware description data, a plurality of bits of flip-flops are generated as a single circuit block as a status register. As a result, it is possible to realize an LSI that operates stably without causing clock skew or the like. Further, since the status register is realized as one macro, it is advantageous in terms of chip area.
[0047]
<Embodiment 5>
Next, an LSI function design support apparatus according to a fifth embodiment (hereinafter referred to as “embodiment 5”) of the present invention will be described.
The LSI function design support apparatus of the present embodiment also has the same hardware configuration as that of the first to fourth embodiments (see FIG. 1), and describes the operation of the LSI to be designed in the same manner as the first to fourth embodiments. The extended state transition diagram data to be input is input (see steps S10 to S14 in FIG. 2). However, the extended state transition diagram used in the present embodiment can describe not only register operations in an arbitrary state but also state transitions in a hierarchical manner. For example, the aforementioned open chart has such a description function.
[0048]
The HDL generation process of the present embodiment is different from those of the first to fourth embodiments. Hereinafter, the HDL generation processing of this embodiment will be described with reference to the flowchart shown in FIG.
First, in step S 40, extended state transition diagram data, which is design information expressed by an extended state transition diagram that can be hierarchically described, is read from the hard disk device 12 into the memory 18. FIG. 28 is a diagram illustrating an example of extended state transition diagram data read in step S40. Of the states represented by the extended state transition diagram data, the state HS0 has a state transition as shown in the extended state transition diagram 304 as its lower layer, and the states HS1 and HS2 also have a lower layer. The HDL description 303 for the state S0 in the lower layer of the state HS0 indicates a register operation, and the HDL description 302 defines a clock supplied for this register operation.
[0049]
After the extended state transition diagram data is read in step S40, hardware description data is generated while sequentially checking the states represented thereby.
That is, first, in step S42, it is determined whether or not there is an uninvestigated state. At this time, when an unexamined state exists in the same hierarchy, an unexamined state in the same hierarchy is selected, and when an unadjusted state does not exist in the same hierarchy, an unexamined state in an upper hierarchy is selected. .
[0050]
In the next step S46, it is determined whether or not the state obtained in step 44 has a lower level state transition (has a lower state). If there is no lower level state transition, the process goes to step S48. It is determined whether or not there is an arrow that goes out of the state obtained in step S44. As a result, if there is no arrow, the process returns to step S42, and if there is an arrow, the process proceeds to step S50.
[0051]
In step S50, a state transition condition is obtained. In the next step S52, if a register operation is described for the state to be investigated (the state obtained in step S44), hardware description data indicating the register operation is described. Is generated. Thereafter, in step S54, a state transition destination is obtained. In step S56, hardware description data for the FSM is generated based on the transition condition, the transition destination (next state), and the current state thus obtained. Thereafter, the process returns to step S42. Thereafter, unless there is an unexamined state and the state obtained in step S44 has a lower-level state transition (see step S46), step S42 → S44 → S46 → S48 → S50 → S52 → S54 → S56 → S42. The above loop (however, when there is no arrow exiting from the state to be investigated, the process returns from step S48 to S42) is repeatedly executed. If it is determined in step S46 that there is a lower level state transition during this execution (hereinafter, a state having a lower level state transition is referred to as a “macro state”), the process proceeds to step S58.
[0052]
In step S58, hardware description data for a clock that operates only in the lower hierarchy is generated. Specifically, first, when the state code in the state transition diagram of the upper layer of the lower layer is a value indicating that this state (macro state having the state transition of the lower layer) is “1”, Otherwise, hardware description data of a flag signal that becomes “0” is generated, and then a logical product signal of this flag signal and an original clock to be supplied for lower-level state transition is generated. Then, hardware description data indicating supply as a clock to a status register storing a lower-level status code, that is, hardware description data indicating clock gating by an AND gate using the flag signal is generated.
[0053]
After the execution of step S58, the process proceeds to the lower level state transition. Unless an unexamined state exists and the state obtained in step S44 has a lower level state transition (see step S46), S42 → S44 → A loop of S46->S48->S50->S52->S54->S56-> S42 (however, if there is no arrow exiting from the state to be investigated, the process returns from step S48 to S42) is repeatedly executed. As a result, the same processing as described above is performed for the state transition diagram of the lower hierarchy. During this execution, if it is determined in step S46 that there is a further lower level state transition, the above loop is repeatedly executed for the lower level. Thereafter, in the same manner, the same processing as described above is performed until the lowest state transition diagram is reached. If there is no unexamined state as a result of such processing, the process returns from this subroutine (step S42), and the HDL generation processing is terminated.
[0054]
In the HDL generation processing in the present embodiment, each state in the extended state transition diagram having a hierarchical structure is sequentially examined as described above, and register transfer level hardware description data for the LSI to be designed is generated. FIG. 29 is a diagram showing a part of hardware description data obtained from the extended state transition diagram data shown in FIG. 28 by such HDL generation processing. The HDL description 402 in this figure is a part generated in step S58, and includes flags CLK3M and CLK3MM indicating that the macro state HS0 operates in a lower hierarchy state transition, and a lower hierarchy of the macro state HS0. This indicates that the clock CLK3 is generated by performing gating of the clock by taking a logical product with the original clock CLK to be supplied for state transition. This clock CLK3 is actually supplied as a lower-level state transition clock. In addition, the HDL description 403 in FIG. 29 is also generated in step S58, which indicates creation of the flags CLK3M and CLK3MM.
[0055]
According to the present embodiment, by the processing as described above in step 58, for each macro state, the state transition is performed for the lower layer of the macro state, except when the LSI to be designed is in the macro state. Hardware description data describing a configuration in which no clock is supplied is generated. Therefore, in an LSI manufactured based on this hardware description data, for each macro state, during the period during which no state transition of the lower layer of the macro state occurs, that is, during the period when the state is other than the macro state, Supply of the state transition clock to the hierarchy is stopped, thereby reducing power consumption.
[0056]
In the above embodiment, the power consumption is reduced by gating the clock of the lower layer state transition, but the power consumption can also be reduced by gating the clock supplied to the lower layer register operation. Can be reduced. That is, first, when the state code in the state transition diagram of the upper layer of the lower layer is a value indicating this state (macro state having the state transition of the lower layer), it becomes “1”. The hardware description data of the flag signal that sometimes becomes “0” is generated, and the logical product signal of this flag signal and the original clock to be supplied for the lower layer register operation is Hardware description data indicating that the clock is supplied as a clock for the register operation may be generated. In an LSI manufactured based on such hardware description data, a clock to be supplied for register operation is gated using the above flag, so that each macro state is in a state other than the macro state. In the middle, the supply of the clock to the register operation assigned to the lower layer state is stopped. Thereby, the power consumption of LSI is reduced.
[0057]
<Modification>
Each of the embodiments described above is characterized in that the finite state machine block and the data path block are separated from each other in order to improve the efficiency of logic synthesis and the ease of debugging, and the occurrence of clock skew. The feature that the state register is realized as one circuit block consisting of flip-flops for multiple bits for prevention, etc., and the feature that the gate for the lower-level state transition is gated to reduce power consumption, etc. However, it is also possible to realize an LSI function design support device having a plurality of these features and an LSI function design support device having all of these features.
[Brief description of the drawings]
FIG. 1 is a schematic block diagram showing a hardware configuration of an LSI function design support apparatus according to an embodiment of the present invention.
FIG. 2 is a flowchart showing processing in the LSI function design support apparatus.
FIG. 3 is a flowchart showing HDL generation processing by the LSI functional design support apparatus according to the first embodiment;
FIG. 4 is a diagram showing an example of extended state transition diagram data input to the LSI functional design support device according to the first embodiment.
FIG. 5 is a view showing a data structure of the extended state transition diagram data.
FIG. 6 is a diagram showing hardware description data generated from the extended state transition diagram data by a conventional LSI function design support device.
7 is a diagram showing an input / output relationship of an external port of an LSI to be designed corresponding to the hardware description data of FIG. 6;
FIG. 8 is a diagram showing a finite state machine block portion of the hardware description data generated from the extended state transition diagram data in the first embodiment.
FIG. 9 is a diagram showing a data path block portion of the hardware description data generated from the extended state transition diagram data in the first embodiment.
FIG. 10 is a block diagram showing a configuration of an LSI corresponding to hardware description data generated in the first embodiment.
FIG. 11 is a flowchart showing generation of a hardware description of a data path block in HDL generation processing by the LSI functional design support apparatus according to the second embodiment;
FIG. 12 is a diagram showing a combinational circuit block portion of hardware description data generated from the extended state transition diagram data in the second embodiment.
FIG. 13 is a diagram showing a register block portion of hardware description data generated from the extended state transition diagram data in the second embodiment.
FIG. 14 is a block diagram showing a data path block portion of the LSI configuration corresponding to the hardware description data generated in the second embodiment.
FIG. 15 is a flowchart showing HDL generation processing by the LSI functional design support apparatus according to the third embodiment;
FIG. 16 is a block diagram showing a configuration of an LSI corresponding to hardware description data generated in the third embodiment.
FIG. 17 is a flowchart showing HDL generation processing by the LSI functional design support apparatus according to the fourth embodiment;
FIG. 18 is a diagram showing an example of state transition diagram data input to an LSI functional design support device according to a fourth embodiment.
FIG. 19 is a diagram illustrating a result of state code analysis of the state transition diagram data according to the fourth embodiment.
FIG. 20 is a diagram showing flip-flop macros registered in a macro library according to the fourth embodiment.
FIG. 21 is a diagram showing flip-flop data used when hardware description data is generated in the fourth embodiment.
FIG. 22 is a diagram showing a state transition diagram after state code allocation corresponding to state transition diagram data input to the LSI functional design support device of the fourth embodiment;
FIG. 23 is a diagram showing hardware description data generated from the state transition diagram data by a conventional LSI function design support apparatus.
FIG. 24 is a diagram showing hardware description data generated from the state transition diagram data in the fourth embodiment.
25 is a diagram showing a logic circuit obtained by logic synthesis from the hardware description data of FIG. 23 generated by a conventional LSI function design support device.
FIG. 26 is a diagram showing a logic circuit obtained by logic synthesis from the hardware description data of FIG. 24 generated in the fourth embodiment.
FIG. 27 is a flowchart showing HDL generation processing by the LSI functional design support apparatus according to the fifth embodiment;
FIG. 28 is a diagram showing an example of extended state transition diagram data input to the LSI functional design support device according to the fifth embodiment.
FIG. 29 is a diagram showing a part of hardware description data generated from the extended state transition diagram data of FIG. 28 in the fifth embodiment.
[Explanation of symbols]
10 ... Hardware body of LSI functional design support device
12: Hard disk device
16 ... CPU
18 ... Memory
211 ... Hardware description indicating allocation of status codes (Embodiment 4)
212 ... Hardware description indicating status register (Embodiment 4)
213 ... Hardware description showing use of 4-bit flip-flop macro (Embodiment 4)
402: Hardware description indicating gating of state transition clock (Embodiment 5)
403 ... Hardware description indicating creation of flag used for gating (Embodiment 5)
FSM ... Finite state machine block
REGACT ... Datapath block
COMB… Combination circuit block
REG ... Register block
R42 ... 4-bit flip-flop macro

Claims (2)

操作者による入力操作に基づき、状態遷移の階層的記述が可能である状態遷移図により設計対象のLSIの動作を記述した状態遷移図データを生成する入力データ生成手段と、
前記状態遷移図データによって表される前記LSIの各状態が下位の状態を有する状態であるマクロ状態か否かを判定する状態判定手段と、
前記LSIが前記マクロ状態にあるときに値が「1」となり、前記マクロ状態ではないときに値が「0」となるフラグ信号の記述データを生成するフラグ記述生成手段と、
前記マクロ状態における下位の状態の遷移クロックを前記フラグ信号が「1」のときに供給させ、前記フラグ信号が「0」のときに該遷移クロックの供給を停止させるゲートの記述データを生成するゲート記述生成手段と、
フラグ記述生成手段およびゲート記述生成手段によって生成された記述データを用いて、前記フラグ信号により前記遷移クロックの供給と停止が制御される前記LSIをレジスタ転送レベルのハードウェア記述言語で記述したハードウェア記述データを生成するハードウェア記述生成手段と、
を備えることを特徴とするLSI機能設計支援装置。
Input data generation means for generating state transition diagram data describing the operation of the LSI to be designed based on a state transition diagram capable of hierarchical description of state transitions based on an input operation by an operator;
State determination means for determining whether each state of the LSI represented by the state transition diagram data is a macro state which is a state having a lower state;
Flag description generating means for generating description data of a flag signal having a value of “1” when the LSI is in the macro state and a value of “0” when not in the macro state;
A gate that generates description data of a gate that supplies a transition clock of a lower state in the macro state when the flag signal is “1” and stops supply of the transition clock when the flag signal is “0” A description generation means;
Hardware in which the LSI for which the supply and stop of the transition clock is controlled by the flag signal is described in a register description level hardware description language using the description data generated by the flag description generation means and the gate description generation means Hardware description generation means for generating description data;
An LSI function design support apparatus comprising:
操作者による入力操作に基づき、状態遷移の階層的記述および任意状態におけるレジスタ動作の記述が可能である状態遷移図により設計対象のLSIの動作を記述した状態遷移図データを生成する入力データ生成手段と、
前記状態遷移図データによって表される前記LSIの各状態が下位の状態を有する状態であるマクロ状態か否かを判定する状態判定手段と、
前記LSIが前記マクロ状態にあるときに値が「1」となり、前記マクロ状態ではないときに値が「0」となるフラグ信号の記述データを生成するフラグ記述生成手段と、
前記マクロ状態の下位の状態に割り付けられたレジスタ動作のためのクロックを前記フラグ信号が「1」のときに供給させ、前記フラグ信号が「0」のときに該クロックの供給を停止させるゲートの記述データを生成するゲート記述生成手段と、
フラグ記述生成手段およびゲート記述生成手段によって生成された記述データを用いて、前記フラグ信号により前記クロックの供給と停止が制御される前記LSIをレジスタ転送レベルのハードウェア記述言語で記述したハードウェア記述データを生成するハードウェア記述生成手段と、
を備えることを特徴とするLSI機能設計支援装置。
Input data generation means for generating state transition diagram data describing the operation of the LSI to be designed from a state transition diagram capable of describing a hierarchical description of state transitions and register operations in an arbitrary state based on an input operation by an operator When,
State determination means for determining whether each state of the LSI represented by the state transition diagram data is a macro state which is a state having a lower state;
Flag description generating means for generating description data of a flag signal having a value of “1” when the LSI is in the macro state and a value of “0” when not in the macro state;
A clock for register operation assigned to a lower state of the macro state is supplied when the flag signal is “1”, and the supply of the clock is stopped when the flag signal is “0”. Gate description generation means for generating description data;
Hardware description in which the LSI whose supply and stop of the clock are controlled by the flag signal is described in a register description level hardware description language using the description data generated by the flag description generation means and the gate description generation means Hardware description generation means for generating data;
An LSI function design support apparatus comprising:
JP04320496A 1996-02-29 1996-02-29 LSI function design support device Expired - Fee Related JP3725230B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04320496A JP3725230B2 (en) 1996-02-29 1996-02-29 LSI function design support device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04320496A JP3725230B2 (en) 1996-02-29 1996-02-29 LSI function design support device

Publications (2)

Publication Number Publication Date
JPH09237283A JPH09237283A (en) 1997-09-09
JP3725230B2 true JP3725230B2 (en) 2005-12-07

Family

ID=12657408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04320496A Expired - Fee Related JP3725230B2 (en) 1996-02-29 1996-02-29 LSI function design support device

Country Status (1)

Country Link
JP (1) JP3725230B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000052753A1 (en) * 1999-03-04 2000-09-08 Hitachi, Ltd. Semiconductor integrated circuit and method for designing logic integrated circuit comprising the same
JP2008129916A (en) * 2006-11-22 2008-06-05 Oki Electric Ind Co Ltd Circuit designing method

Also Published As

Publication number Publication date
JPH09237283A (en) 1997-09-09

Similar Documents

Publication Publication Date Title
US5644498A (en) Timing shell generation through netlist reduction
Panda SystemC: a modeling platform supporting multiple design abstractions
US5949692A (en) Hierarchical scan architecture for design for test applications
US6378123B1 (en) Method of handling macro components in circuit design synthesis
US6292931B1 (en) RTL analysis tool
US6836877B1 (en) Automatic synthesis script generation for synopsys design compiler
US5828579A (en) Scan segment processing within hierarchical scan architecture for design for test applications
JP3357813B2 (en) Gated clock design support method, gated clock design support device, and computer-readable recording medium storing gated clock design support program
US5541850A (en) Method and apparatus for forming an integrated circuit including a memory structure
US6173435B1 (en) Internal clock handling in synthesis script
US7162703B1 (en) Electrical design rule checking expert traverser system
JPH0793380A (en) Method for static route analysis of digital circuit and circuit element for it
JP3803561B2 (en) Logic circuit design method
US6671870B2 (en) Computer implemented circuit synthesis system
Scheffer Methodologies and tools for pipelined on-chip interconnect
Ataei et al. An open-source eda flow for asynchronous logic
JP4200465B2 (en) Semiconductor integrated circuit design method and design system
US20040210861A1 (en) System and method for optimizing exceptions
JPH11502646A (en) Generation and use of synthetic shells in ASIC design
US7000206B2 (en) Timing path detailer
JP3725230B2 (en) LSI function design support device
US5774380A (en) State capture/reuse for verilog simulation of high gate count ASIC
JP2004303022A (en) Preprocessor, design system of integrated circuit, and design method of integrated circuit
US6457167B1 (en) Gated clock design supporting method, gated clock design supporting apparatus, and computer readable memory storing gated clock design supporting program
US6704916B1 (en) Method and apparatus for optimizing placement and routing and recording medium for recording program for optimizing placement and routing

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050921

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

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090930

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090930

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100930

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110930

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120930

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130930

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees