JP3702475B2 - Automatic circuit generator - Google Patents
Automatic circuit generator Download PDFInfo
- Publication number
- JP3702475B2 JP3702475B2 JP17295494A JP17295494A JP3702475B2 JP 3702475 B2 JP3702475 B2 JP 3702475B2 JP 17295494 A JP17295494 A JP 17295494A JP 17295494 A JP17295494 A JP 17295494A JP 3702475 B2 JP3702475 B2 JP 3702475B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- module
- unit
- bit
- generation
- 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
Description
【0001】
【産業上の利用分野】
本発明は、たとえばLSI開発などで用いる回路の設計装置として用いて好ましい、回路自動生成装置に関する。
【0002】
【従来の技術】
CAD装置を利用した回路設計が急速に普及している。特に、ゲートアレイなどの特定用途向けIC(ASIC)としてのLSIの論理回路の回路設計・回路入力は、設計した回路情報がネットリストやレイアウトデータに直接変換可能で、シミュレーションやレイアウトが効率よく行えるため、通常、CAD装置を用いて行われている。
CAD装置による回路設計において設計者は、まず、予め用意されたライブラリより所望の演算素子を読み出し、画面に表示された回路図の任意の位置に順次配置する。そして、それらの演算素子の入出力端子間を、マウスなどを用いて順次結線することにより回路入力を行う。前記ライブラリには、インバータ・AND・OR・NAND・NORなどの基本演算素子や、加算器・カウンタ・コンパレータ・マルチプレクサなどの機能演算素子などが格納されている。また、設計者が基本演算素子を組み合わせて構成するより高速または低消費電力で構成可能な演算回路なども、各々1つのモジュールとして格納されている。
【0003】
また、そのような設計される回路において、通常の基板上に構成される回路で扱われる処理データのビット長は8ビット、16ビット、32ビットなどの2のべき乗の値をとる場合が多い。しかし、LSI内部の回路においては、ゲート数、消費電力などの制約により、取り扱うデータに必要かつ十分なビット長で設計されることが多い。たとえば、桁上がりを考慮した9ビット、17ビットと言ったデータや、最大値の制限により15ビット、31ビットというビット長での処理も頻繁に行われる。
また、そのビット長の決定に際しては、実際にビット長を変更した回路を入力し、シュミレーションを行い、回路の特性を評価して最終的にビット長を決定する方法で行われる場合も多い。
そのため、特にLSI内部の回路の設計を行う場合に、処理データのビット長を増減する変更は頻繁に行われる。
【0004】
【発明が解決しようとする課題】
しかしこのように、CAD装置を利用して回路設計を行っても、実際の入力作業は手作業の繰り返しなので、非常に時間がかかるという問題があった。特に、LSI内部の回路の設計に際して頻繁に行われる、前述したような処理するデータのビット長の変更は、手間がかかり時間を浪費する場合が多く、回路設計の効率の向上の妨げになっていた。
また、複数のビット長のデータについて処理を行うモジュールを用いて回路を構成していた場合に、たとえば1ビットのデータのビット長の変更が、その1ビットに相当する回路の修正にとどまらず、その処理部全体の見直しを余儀なくされる場合も多い。そのような場合は、大幅な回路の修正をしなければならず、回路設計の効率が非常に低下していた。
【0005】
したがって本発明の目的は、所望のビット長のデータを処理対象とする回路を自動的に生成でき、したがって、ビット長の変更に伴う回路の再設計が容易に可能な、回路自動生成装置を提供することにある。また、ビット長の変更に伴う回路の再設計が容易に可能とすることにより、設計時間を大幅に短縮可能なCAD装置を提供することにある。
【0006】
【課題を解決するための手段】
処理データのビット長の変更は、本来は単純で規則的な変更である。したがって、たとえば1ビット分の処理回路を相互に接続可能なように記憶しておけば、ある程度規則的に直列あるいは並列に接続されている回路は規則的に生成可能なはずである。
そこで、そのような回路モジュールのデータを記憶し、外部よりビット長を入力することにより、任意のビット長のデータを処理可能な回路を自動生成する回路自動生成装置を発明した。また、ビット位置に基づく回路の違いや、規則的な違いは、複数のモジュールを記憶し適宜選択して接続することにより、対応可能にした。さらに、2ビットあるいは4ビットといった複数ビットのデータを処理対象とするモジュールを用い、それらを組み合わせて所望のビット長のデータを処理対象する回路を生成できるようにした。
【0007】
本発明の回路自動生成装置は、キャリ・ルック・アヘッド回路の自動生成装置であって、処理データのビット長が異なる複数種類の回路モジュールの回路情報と該回路モジュール相互の接続情報が記憶されている回路モジュール記憶手段と、入力された処理データのビット長と回路モジュールの最大ビット長との演算結果に基づいて、異なるビット長の回路モジュールを組み合わせて前記入力された処理データのビット長になるように、前記回路モジュール記憶手段に記憶されている複数種類の回路モジュールより、適切な回路モジュールを順次選択する前記回路モジュール記憶手段に記憶されている複数種類の回路モジュールを順次選択する回路モジュール選択手段と、前記回路モジュール選択手段により選択された回路モジュールを該回路モジュールの前記接続情報に基づいて順次接続する回路接続手段と、前記回路接続手段により接続された回路を表す情報を出力する出力手段とを有し、前記回路モジュール記憶手段には、2つの1ビット入力と下位からの桁上げ入力に基づいて上位への桁上げを出力する1ビットキャリ・ルック・アヘッド回路である第1の回路モジュールと、前記第1の回路モジュールにさらに出力バッファを付加した第2の回路モジュールとの前記各情報が記憶され、前記回路モジュール選択手段は、入力された処理データのビット長より1少ない数の前記第1の回路モジュールを連続して選択し、さらに1つの前記第2の回路モジュールを選択する。
【0014】
【実施例】
第1実施例
本発明の第1実施例の回路自動生成装置について、図1〜図4を参照して説明する。
まず,第1実施例の回路自動生成装置の構成について図1を参照して説明する。
図1は第1実施例の回路自動生成装置の構成を示すブロック図である。
回路自動生成装置10は、入力部11、ビット長記憶部12、モジュール選択部13、基本モジュールa生成部14、基本モジュールb生成部15、生成回路記憶部16、減算部17、および、出力部18より構成される。
本実施例の回路自動生成装置10は、論理回路などを設計する場合に用いるCAD装置に組み込まれているものである。
【0015】
以下、各部の動作について説明する。
入力部11は、キーボードなどの入力機器であって、この入力部11より作業者により回路のデータ幅であるビット長Bが入力される。入力されたビット長Bはビット長記憶部12に、モジュールを選択するためのパラメータNとして記憶される。なお、このビット長Bは、データのビット幅であるから、通常2以上の整数が入力される。
ビット長記憶部12は、メモリで構成されるデータ記憶回路であり、入力部11より入力されたビット長B、および、後述する減算部17により更新されたパラメータNnew を、モジュールを選択するためのパラメータNとして記憶する。ビット長記憶部12に記憶されたパラメータNは、モジュール選択部13および減算部17より読み出し可能である。
【0016】
モジュール選択部13は、ビット長記憶部12に記憶されているパラメータNに基づいて基本モジュールを選択する選択部である。モジュール選択部13は、パラメータNが2以上の場合には、所定の選択線を介してその旨を示す選択信号S1を、基本モジュールa生成部14、および、減算部17に印加する。また、パラメータNが1の場合には、所定の選択線を介してその旨を示す選択信号S2を、基本モジュールb生成部15、および、出力部18に印加する。
【0017】
基本モジュールa生成部14は、モジュール選択部13より選択信号S1が印加されると、基本モジュールa生成部14内に記憶している基本モジュールaを実回路情報として生成し、生成回路記憶部16に出力する。基本モジュールa生成部14には、基本モジュールaを構成する演算素子とそれらの結線情報、他素子との接続情報、および、素子の遅延などの回路の特性情報が記憶されている。したがって、基本モジュール生成部14は、それらの情報を読み出し、信号名などの識別情報を付加することにより、他の素子と接続可能で回路図面などに配置可能な実回路情報として生成する。
基本モジュールb生成部15は、モジュール選択部13より選択信号S2が印加されると、基本モジュールb生成部15内に記憶している基本モジュールbを実回路情報として生成し、生成回路記憶部16に出力する。その記憶されている情報、および、実回路情報の生成については、前述した基本モジュールa生成部14と同じである。
【0018】
生成回路記憶部16は、基本モジュールa生成部14および基本モジュールb生成部15により順次生成される基本モジュールを、入力される順序で順次接続させて記憶する記憶部である。この接続の仕方の情報は、予め基本モジュールa生成部14および基本モジュールb生成部15に記憶されている、それぞれの基本モジュールの情報内に記述されている。
減算部17は、モジュール選択部13より選択信号S1が印加されると、ビット長記憶部12に記憶されているビット長のパラメータNより1を減じ、この減算結果の新たなパラメータNnew をビット長記憶部12に入力する。すなわち、モジュール選択部13より生成モジュールとして基本モジュールaが選択されるごとに、ビット長記憶部12に記憶されているビット長のパラメータNより1を減じて順次更新する。
【0019】
出力部18は、モジュール選択部13より選択信号S2が印加されると、それまで基本モジュールa生成部14および基本モジュールb生成部15により生成され、生成回路記憶部16により順次接続され記憶されていた回路情報を読み出し出力する。この出力された情報は、回路図面の指定された位置に配置され、また、ディスプレイなどの出力機器上に、作業者より目視可能な状態に表示される。
【0020】
次に、この回路生成装置10による回路自動生成の動作について、図2および図3を参照して具体的に説明する。
本実施例において、回路自動生成装置10は、加算器などに頻繁に用いられるキャリ・ルック・アヘッド回路(桁上げ先見信号、以後CLA回路と言う)について、所望のビット数のCLA回路を生成する回路自動生成装置である。
図2は、基本モジュールa生成部14および基本モジュールb生成部15に記憶されている基本モジュールを示す図であり、(A)はCLA回路の1ビット分の論理回路に相当する基本モジュールaを示す図、(B)はCLA回路の1ビット分の論理回路に出力用のバッファが付加された構成の基本モジュールbを示す図である。
【0021】
図3は、回路自動生成装置10により生成された回路を示す図であり、4ビットのCLA回路である。図3に示すように、4ビットのCLA回路は、4ビットの桁上がりチェック用の回路が直列に接続されており、さらに最終回路の出力部には出力用のバッファが付加された構成である。したがって、図2に示した基本モジュールで示せば、図2(A)に示した基本モジュールaを3つと、図2(B)に示した基本モジュールbを1つが、順次接続された状態である。
【0022】
以下、4ビットのCLA回路を生成する場合の、回路自動生成装置10の動作について説明する。
まず、入力部11よりビット長の入力値として4が入力され、ビット長記憶部12にパラメータNとして記憶される。モジュール選択部13においては、そのパラメータNを参照し、N≠1なので選択信号S1が選択される。その結果、基本モジュールaが選択され、基本モジュールa生成部14により生成された図2(A)に示す回路が、生成回路記憶部16に記憶される。一方、選択信号S1が印加された減算部17において、ビット長記憶部12に記憶されているパラメータNより1が減じられ、新たなパラメータNnew としてビット長記憶部12にセットされる。
【0023】
以降、その更新されたパラメータに基づいて回路生成の処理が繰り返される。2回目の基本モジュールの選択時には、パラメータNは3でN≠1なので、前述した1回目の場合と同様に、再び基本モジュールaが生成される。さらに、3回目の回路生成時も、N=2なので、同様に基本モジュールaが生成される。生成された3つの基本モジュールaは、生成回路記憶部16において、順次接続されて記憶される。
【0024】
3つの基本モジュールaを生成した後、ビット長記憶部12に記憶されているパラメータNは1となっている。そのため4回目の回路生成時は、パラメータN=1なので、モジュール選択部13において選択信号S2が選択される。その結果、基本モジュールbが選択され、基本モジュールb生成部15により生成された図2(B)に示す回路が、生成回路記憶部16に入力され、それまでの回路と接続されて記憶される。その結果、生成回路記憶部16には図3に示すような4ビットCLA回路が生成される。そして、選択信号S2は同時に出力部18に印加され、出力部18はこのCLA回路を生成回路記憶部16より読み出し出力する。
【0025】
なお、この回路自動生成装置10は、ワークステーションなどに搭載されたCADツールなどにおいても実現可能である。第1実施例の回路自動生成装置10を、そのようなコンピュータ装置に適用した場合の処理について図4を参照して説明する。
図4は、回路自動生成装置10をコンピュータ装置により実現した場合の、フローチャートを示す図である。
【0026】
まず、ステップ11で入力装置より入力されたビット長を変数Nにセットする。次に、ステップ12でN=1か否かを調べ、N≠1の場合にはステップ13においてメモリに記憶されている基本モジュールaの回路を生成する。そして、ステップ14でNより1を減じて、再びステップ12より処理を繰り返す。ステップ12においてN=1となったら、ステップ15において基本モジュールbの回路を生成する。そして、ステップ16においてそれまで生成され記憶された基本モジュールを順次接続し出力する。
【0027】
このように、第1実施例の回路自動生成装置によれば、入力されたビット長のCLA回路を生成することができる。また、生成する順序に従って、回路モジュールを選択することができるので、たとえば、最終段の出力のみ出力バッファが付加されているような、ビット位置により回路構成が多少異なるような場合においても、適切に回路が生成できる。
【0028】
第2実施例
本発明の第2実施例の回路自動生成装置について、図5〜図8を参照して説明する。
まず,第2実施例の回路自動生成装置の構成について図5を参照して説明する。
図5は第2実施例の回路自動生成装置の構成を示すブロック図である。
回路自動生成装置20は、入力部21、ビット長記憶部22、剰余算出部23、モジュール選択部24、4ビットモジュール生成部25、3ビットモジュール生成部26、2ビットモジュール生成部27、生成回路記憶部28、減算値決定部29、減算部30、判定部31、および、出力部32より構成される。
本実施例の回路自動生成装置20も第1実施例の回路自動生成装置10と同様に、論理回路などを設計する場合に用いられるCAD装置に組み込まれているものである。
【0029】
以下、各部の動作について説明する。
入力部21は、キーボードなどの入力機器であって、この入力部21より作業者により回路のデータ幅であるビット長Bが入力される。入力されたビット長Bはビット長記憶部22に記憶される。なお、このビット長Bはデータのビット幅であるから、通常2以上の整数が入力される。
ビット長記憶部22は、メモリで構成されるデータ記憶部であり、入力部21よりデータを入力され、後述する判定部31によりそのデータを逐次更新される。このビット長記憶部22に記憶されているデータが回路生成をするビット長を表すパラメータNである。ビット長記憶部22に記憶されたパラメータNは、剰余算出部23および減算部30より読み出し可能である。
【0030】
剰余演算部23は、ビット長記憶部22に記憶されているパラメータNを所定数で除し、その余りを求め、モジュールを選択するためのパラメータMとしてモジュール選択部24、減算値決定部29に出力する。前記所定の除数は、後述するモジュール生成部で生成される基本モジュールの最大ビット長により決定される数値であって、本実施例においては4である。したがって、その余りであるパラメータMは0〜3の値をとる。
【0031】
モジュール選択部24は、剰余算出部23より入力されたパラメータMに基づいて基本モジュールを選択する選択部である。モジュール選択部24は、パラメータMをデコードし、そのパラメータMの値に応じた選択信号を生成し、その信号を対応するモジュール生成部に印加する。本実施例においては、パラメータMは0〜3の4値をとるため、モジュール選択部24は4つの選択信号S0〜S3のいずれかを生成し、各選択信号に対応する4本の出力信号線を介して各モジュール生成部に信号を印加する。具体的には、パラメータMが0の場合は、4ビットモジュール生成部25に選択信号S0が印加され、パラメータMが1の場合には、3ビットモジュール生成部26と2ビットモジュール生成部27に選択信号S1が印加され、パラメータMが2の場合には、2ビットモジュール生成部27に選択信号S2が印加され、パラメータMが3の場合には、3ビットモジュール生成部26に選択信号S3が印加される。
【0032】
4ビットモジュール生成部25は、モジュール選択部24より選択信号S0が印加されると、4ビットモジュール生成部25内に記憶している4ビットモジュールを実回路情報として生成し、生成回路記憶部28に出力する。その記憶されている情報、および、実回路情報の生成については、前述した第1実施例と同じである。
3ビットモジュール生成部26は、モジュール選択部24より印加される選択信号S2および選択信号S3に基づいて、4ビットモジュール生成部25と同様に3ビットモジュールを生成する。
2ビットモジュール生成部27は、モジュール選択部24より印加される選択信号S1および選択信号S2に基づいて、2ビットモジュールを生成する。
【0033】
生成回路記憶部28は、4ビットモジュール生成部25、3ビットモジュール生成部26、および、2ビットモジュール生成部27により順次生成される基本モジュールを、入力される順序で順次接続させて記憶する記憶部である。この接続の仕方の情報は、予め前記各モジュール生成部に記憶されている、それぞれの基本モジュールの情報内に記述されている。
【0034】
減算値決定部29は、剰余算出部23により算出されたパラメータMに基づいて、モジュール選択部24により選択された回路モジュールの、ビット長を求め、減算値Pとして減算部30に出力する。前記ビット長は、各回路モジュールの記憶時に、各回路モジュールに対応して予め減算値決定部29内に記憶されているテーブルを参照して求める。本実施例においては、パラメータM=0の場合は減算値P=4、パラメータM=1の場合は減算値P=5,パラメータM=2の場合は減算値P=2、パラメータM=3の場合は減算値P=3が求められ出力される。
なお、本実施例の減算値決定部29においては、この減算値Pは剰余算出部23より算出されたパラメータMに基づいて求めたが、同じくこのマラメータMに基づいて生成されたモジュール選択部24から出力される選択信号S0〜S3を用いて求めるようにしてもよい。
【0035】
減算部30は、ビット長記憶部22に記憶されているビット長のパラメータNより、減算値決定部29により選択された減算値Pを減じ、減算結果Nnew を算出し、判定部31に出力する。すなわち、回路モジュールが順次選択されるごとに、選択された回路モジュールのビット長に相当する値をビット長のパラメータNより減じ、回路生成待ちのビット長Nnew を求める。
【0036】
判定部31は、減算部30より入力された減算結果Nnew に基づいて、再びモジュール生成の処理を繰り返すか、処理を終了して生成された回路を出力するかを判定する。減算結果Nnew は、これから生成されるべき回路のビット長を示す値なので、判定部31においては、この減算結果Nnew が0以下の場合には処理を終了し、0より大きい場合は引き続き回路生成の処理を行う。したがって、減算結果Nnew が0以下の場合には出力部32にこれまでに生成し記憶されている回路データを出力するような信号を出力する。また、減算結果Nnew が0より大きい場合には、ビット長記憶部22に減算結果Nnew を入力し、ビット長記憶部22に記憶されているパラメータをこの減算結果Nnew で更新する。
【0037】
出力部32は、判定部31より出力信号が印加されると、それまで4ビットモジュール生成部25、3ビットモジュール生成部26、および、2ビットモジュール生成部27により生成され、生成回路記憶部28で順次接続され記憶されていた回路情報を読み出し出力する。この出力された情報は、回路図面の指定された位置に配置され、また、ディスプレイなどの出力機器上に、作業者より目視可能な状態に表示される。
【0038】
次に、この回路自動生成装置20による回路自動生成の動作について、図6および図7を参照して具体的に説明する。
本実施例において、回路自動生成装置20は、第1実施例同様に、CLA回路について、所望のビット数のCLA回路を生成する回路自動生成装置である。なお、第2実施例においては、4ビット、3ビット、および、2ビットそれぞれについて最適な構成のCLA回路が予めライブラリとして用意されており、これらを基本回路モジュールとして用いて、任意のビット長のCLA回路を生成する路自動生成装置である。
図6は、4ビットモジュール生成部25、3ビットモジュール生成部26、および、2ビットモジュール生成部27に記憶されている回路モジュールを示す図であり、(A)は4ビットCLA回路のモジュールを示す図、(B)は3ビットCLA回路のモジュールを示す図、(C)は2ビットCLA回路のモジュールを示す図である。
【0039】
図7は、回路自動生成装置20により生成された回路を示す図であり、9ビットのCLA回路である。図7に示すように、9ビットのCLA回路は、2ビットのCLA回路、3ビットのCLA回路、4ビットのCLA回路が直列に接続された構成である。
以下、9ビットのCLA回路を生成する場合の、回路自動生成装置20の動作について説明する。
【0040】
まず、入力部21よりビット長の入力値として9が入力され、ビット長記憶部22にパラメータNとして記憶される。剰余算出部23においては、前記パラメータNを4で除して余り1が算出される。その計算結果の値1はパラメータMとしてモジュール選択部24に入力され、選択信号S2が選択される。その結果、図6(A)に示す2ビットモジュールと、図6(B)に示す3ビットモジュールが生成され、生成回路記憶部28に記憶される。一方、パラメータM=1に基づいて減算値決定部29で減算値P=5が求められ、減算部30おいてパラメータN=9との減算が行われ、結果4が得られる。判定部31は前記減算の結果が4なので、この減算結果を新たなビット長のパラメータとしてビット長記憶部22に入力する。
【0041】
こののように更新されたパラメータNに基づいて、再びモジュールの生成が行われる。今度はパラメータN=4なので、剰余であるパラメータM=0となり、図6(C)に示す4ビットモジュールが生成され、生成回路記憶部28に入力され、それまでの回路と接続されて記憶される。また、減算値決定部29により減算値Pとして4が求められ、その結果、減算部30における減算結果Nnew は0となる。したがって、判定部31より出力部32に出力信号が印加され、生成回路記憶部28に記憶されている図7に示す9ビットCLA回路の回路図が出力される。
【0042】
なお、この回路自動生成装置20も、第1実施例と同様にワークステーションなどに搭載されたCADツールで実現可能である。第2実施例の回路自動生成装置20をそのようなコンピュータ装置に適用した場合の処理について図8を参照して説明する。
図8は、回路自動生成装置20をコンピュータ装置により実現した場合の、フローチャートを示す図である。
【0043】
まず、ステップ21で入力装置より入力されたビット長を変数Nにセットする。次に、ステップ22でNを4で除した余りが算出され変数Mにセットされる。そして、この変数Mに基づいて、ステップ23においてM=0か否かが判定され、M=0の場合はステップ24で4ビットモジュールを生成し、ステップ25で変数Pに4をセットする。
またステップ23においてM≠0の場合はステップ26でM=1、2のいずれかであるか否を調べる。M=1またはM=2の場合は、ステップ27で2ビットモジュールを生成する。そしてステップ28でM=1かM=2かを判定し、M=1の場合はステップ29で変数Pに2を、M=2の場合はステップ30で変数Pに5を各々セットする。
【0044】
一方、ステップ26においてMは1でも2でもないと判定された場合、すなわちM=3の場合は、ステップ31において回路生成より先に変数Pに3をセットする。そして、ステップ26〜ステップ30において、すでに2ビットモジュールが生成されたM=1の場合とともに、ステップ32において3ビットモジュールが生成される。
このように、ステップ23〜ステップ32において、モジュールの生成と変数Pへの減算値のセットが終了すると、ステップ33において、N−Pの減算を行い、変数Nをこの減算結果で更新する。そして、ステップ34においてこの変数Nの値が調べられ、変数Nが0より大きい場合は再びステップ22より処理を繰り返す。ステップ34において、変数Nが0以下の場合は、ステップ35で、それまで生成され記憶された回路モジュールを順次接続し出力する。
【0045】
このように、第2実施例の回路自動生成装置20によれば、第1実施例同様に入力されたビット長のCLA回路を生成することができる。特に、記憶されている回路モジュールが複数ビットのデータを処理対象とするような回路であっても、それらを適切に組み合わせて、所望のビット長のCLA回路を生成できる。
【0046】
第3実施例
本発明の第3実施例の回路自動生成装置について、図9を参照して説明する。
第3実施例の回路自動生成装置は、第1実施例または第2実施例の回路自動生成装置を複数有し、動作の異なる複数種類の回路モジュールを合成し、より複雑な構成の回路を生成することが可能にした回路自動生成装置である。
第3実施例の回路自動生成装置50は、入力部51、第1〜第4の回路自動生成装置52〜55、合成部56より構成される。
【0047】
入力部51においては、処理データのビット長とともに、回路を構成するモジュールの種類を選択する信号が入力され、選択された信号に対応する回路モジュールの生成装置にビット長および回路生成を指示する信号を送出する。この回路を構成するモジュールとして、複数種類のモジュールを選択してよい。なお、選択する順番は、合成部56による合成のルールに従った順番で選択するものとする。
【0048】
第1〜第4の回路自動生成部52〜55は、各々所定の動作の任意のビット長のデータに対して各々所定の動作をする回路モジュールを自動生成する生成手段である。これらの回路自動生成部は、たとえば、CLA回路、加算回路、選択回路、シフトレジスタ回路などの生成部である。各回路自動生成部は、たとえば、第1実施例、第2実施例に示した回路自動生成装置により構成されるが、各回路自動生成部の回路モジュール記憶手段に記憶されている接続情報としては、各回路自動生成部内の複数の回路モジュール間での接続情報の他に、さらに、これらの第1〜第4の回路自動生成部間52〜55で生成される回路間での接続情報も記憶されている。なお、生成する回路の処理データのビット長は入力部57より入力される。
【0049】
合成部56は、第1〜第4の回路自動生成部52〜55より生成された回路モジュールを、さらに合成して1つの回路を生成し出力する。合成部56は、各回路自動生成部より出力された回路結線情報と、その回路の各端子の接続情報に基づいて各回路を合成する。この合成は、たとえば、入力部51で選択された順序で、生成された回路モジュールの出力端子を次に選択された回路の入力端子に接続するなどの予め定めたルールに基づいて行う。
【0050】
このような構成の第3実施例の回路自動生成装置によれば、任意のビット長のデータを処理対象とする回路を自動生成する上に、さらに、基本的な回路モジュールを組み合わせた、多少複雑な回路の自動生成が可能となり、回路設計のより一層の効率の向上が可能となる。
【0051】
なお、本発明は、前述した第1実施例および第2実施例に限られるものではなく種々の改変が可能である。
たとえば、本実施例は、CLA回路を生成する回路自動生成装置として具体的に説明したがこれに限られるものではない。任意のビットのデータに対する複数の基本回路を、直列または並列に順次規則的に接続して構成可能な回路であれば、任意の回路に適用可能である。たとえば、シフトレジスタ、マルチプレクサ、アダーなどにも適用可能である。
【0052】
また、本実施例の回路モジュール生成部の構成は、各回路モジュール生成部が、印加された信号に基づいて所定の回路モジュールを生成し出力するものであった。しかし、たとえば1つの制御部が、記憶手段に記憶されている回路モジュールより、選択信号に基づいて適宜回路モジュールを選択し出力するような、制御部と記憶部よりなる構成でもよい。
また、回路モジュールおよび生成された回路の記述方法に関しては、本発明は何ら制限をするものではない。たとえば、基本素子と接続状態を用いてネットリストの形式で記述された回路、ハードウェア記述言語(HDL)を用いて記述された回路、また、動作を機能記述・論理記述された回路など、任意の記述・形式の回路が適用可能である。
【0053】
【発明の効果】
本発明の回路自動生成装置によれば、入力されたビット数に基づいて、任意の数だけ所定の回路モジュールを接続させることができ、所望のビット長のデータを処理対象とする回路を自動的に生成できた。また、ビット位置により多少構成が異なるような回路も適切に生成できた。さらに、複数ビットに対応した基本回路モジュールを組み合わせて所望のビット長のデータを処理対象とする回路を生成することもできた。したがって、ビット長の変更に伴う回路の再設計が容易に行える回路自動生成装置を提供できた。
また、それにより、設計時間を大幅に短縮でき、効率良く回路の設計が行えるCAD装置を提供できた。
【図面の簡単な説明】
【図1】本発明の第1実施例の回路自動生成装置の構成を示すブロック図である。
【図2】図1に示した回路自動生成装置の基本モジュール生成部で生成される回路モジュールを示す図であり、(A)は基本モジュールaを示す図、(B)は基本モジュールbを示す図である。
【図3】図1に示した回路自動生成装置で生成される回路を示す図である。
【図4】図1に示した回路自動生成装置をコンピュータ装置により実現した場合の、フローチャートを示す図である。
【図5】本発明の第2実施例の回路自動生成装置の構成を示すブロック図である。
【図6】図5に示した回路自動生成装置のモジュール生成部で生成される回路モジュールを示す図であり、(A)は2ビットモジュールを示す図、(B)は3ビットモジュールを示す図、(C)は4ビットモジュールを示す図である。
【図7】図5に示した回路自動生成装置で生成される回路を示す図である。
【図8】図5に示した回路自動生成装置をコンピュータ装置により実現した場合の、フローチャートを示す図である。
【図9】本発明の第3実施例の回路自動生成装置の構成を示すブロック図である。
【符号の説明】
10…回路自動生成装置
11…入力部 12…ビット長記憶部
13…モジュール選択部 14…基本モジュールa生成部
15…基本モジュールb生成部 16…生成回路記憶部
17…減算部 18…出力部
20…回路自動生成装置
22…ビット長記憶部 23…剰余算出部
24…モジュール選択部 25…4ビットモジュール生成部
26…3ビットモジュール生成部 27…2ビットモジュール生成部
28…生成回路記憶部 29…減算値決定部
30…減算部 31…判定部
32…出力部
50…回路自動生成装置
51…入力部 52…第1の回路自動生成部
53…第2の回路自動生成部 54…第3の回路自動生成部
55…第4の回路自動生成部 56…合成部[0001]
[Industrial application fields]
The present invention relates to an automatic circuit generation device that is preferably used as a circuit design device used in LSI development, for example.
[0002]
[Prior art]
Circuit design using CAD devices is rapidly spreading. In particular, circuit design and circuit input of LSI logic circuits as application-specific ICs (ASICs) such as gate arrays can be converted directly into netlists and layout data, enabling efficient simulation and layout. Therefore, it is usually performed using a CAD apparatus.
In circuit design using a CAD apparatus, a designer first reads out a desired arithmetic element from a library prepared in advance and sequentially arranges it at an arbitrary position on a circuit diagram displayed on the screen. Then, circuit input is performed by sequentially connecting the input / output terminals of these arithmetic elements using a mouse or the like. The library stores basic arithmetic elements such as inverters, AND, OR, NAND, and NOR, and functional arithmetic elements such as adders, counters, comparators, and multiplexers. In addition, arithmetic circuits that can be configured with higher speed or lower power consumption, which are configured by combining basic arithmetic elements by the designer, are also stored as one module.
[0003]
In such a designed circuit, the bit length of processing data handled by a circuit configured on a normal substrate often takes a power of 2 such as 8 bits, 16 bits, 32 bits. However, a circuit inside an LSI is often designed with a bit length necessary and sufficient for data to be handled due to restrictions such as the number of gates and power consumption. For example, data such as 9 bits and 17 bits considering the carry, and processing with bit lengths of 15 bits and 31 bits due to the limitation of the maximum value are frequently performed.
In many cases, the bit length is determined by a method in which a circuit in which the bit length is actually changed is input, simulation is performed, the characteristics of the circuit are evaluated, and the bit length is finally determined.
For this reason, especially when designing the circuit inside the LSI, changes to increase or decrease the bit length of the processing data are frequently made.
[0004]
[Problems to be solved by the invention]
However, there is a problem that even if circuit design is performed using a CAD device, it takes a very long time because the actual input operation is a repeated manual operation. In particular, changing the bit length of the data to be processed as described above, which is frequently performed when designing a circuit inside an LSI, often takes time and wastes time, and hinders improvement in the efficiency of circuit design. It was.
Further, when a circuit is configured using a module that processes data of a plurality of bit lengths, for example, changing the bit length of 1-bit data is not limited to correcting the circuit corresponding to the 1-bit data, In many cases, the entire processing unit must be reviewed. In such a case, the circuit must be significantly modified, and the circuit design efficiency has been greatly reduced.
[0005]
Accordingly, it is an object of the present invention to provide an automatic circuit generation device that can automatically generate a circuit for processing data having a desired bit length, and thus can easily redesign a circuit in accordance with a change in bit length. There is to do. It is another object of the present invention to provide a CAD device that can greatly reduce the design time by making it possible to easily redesign a circuit accompanying a change in bit length.
[0006]
[Means for Solving the Problems]
The change of the bit length of the processing data is originally a simple and regular change. Therefore, for example, if processing circuits for 1 bit are stored so that they can be connected to each other, circuits connected in series or in parallel to some degree should be able to be generated regularly.
Therefore, an automatic circuit generation device has been invented that automatically generates a circuit capable of processing data of an arbitrary bit length by storing such circuit module data and inputting the bit length from the outside. Also, circuit differences based on bit positions and regular differences can be dealt with by storing a plurality of modules and selecting and connecting them appropriately. Furthermore, a module that processes data of a plurality of bits such as 2 bits or 4 bits is used, and a circuit that processes data of a desired bit length can be generated by combining them.
[0007]
BookThe circuit automatic generation device of the inventionA device for automatically generating a carry-look-ahead circuit,Circuit module storage means for storing circuit information of a plurality of types of circuit modules having different bit lengths of processing data and connection information between the circuit modules, bit length of input processing data, and maximum bit length of the circuit module Based on the result of the calculation, the circuit modules having different bit lengths can be combined into a bit length of the input processing data so as to be more suitable than the plurality of types of circuit modules stored in the circuit module storage means. Circuit module selection means for sequentially selecting a plurality of types of circuit modules stored in the circuit module storage means for sequentially selecting modules, and the circuit module selected by the circuit module selection means as the connection information of the circuit modules Circuit connection means for sequentially connecting based on the circuit connection means, and the circuit connection means Yes and output means for outputting information indicating a more connected circuitryThe circuit module storage means includes a first circuit module that is a 1-bit carry-look-ahead circuit that outputs a carry to the upper order based on two 1-bit inputs and a carry input from the lower order, Each information of the second circuit module in which an output buffer is further added to the first circuit module is stored, and the circuit module selection means is configured to reduce the first length of the first processing module by one less than the bit length of the input processing data. Are successively selected, and one of the second circuit modules is further selected..
[0014]
【Example】
First embodiment
An automatic circuit generation device according to a first embodiment of the present invention will be described with reference to FIGS.
First, the configuration of the automatic circuit generation device of the first embodiment will be described with reference to FIG.
FIG. 1 is a block diagram showing the configuration of the automatic circuit generation device of the first embodiment.
The automatic
The circuit
[0015]
Hereinafter, the operation of each unit will be described.
The
The bit
[0016]
The
[0017]
When the selection signal S <b> 1 is applied from the
When the selection signal S <b> 2 is applied from the
[0018]
The generation
When the selection signal S1 is applied from the
[0019]
When the selection signal S2 is applied from the
[0020]
Next, the operation of automatic circuit generation by the
In this embodiment, the automatic
FIG. 2 is a diagram illustrating basic modules stored in the basic module a
[0021]
FIG. 3 is a diagram illustrating a circuit generated by the automatic
[0022]
The operation of the automatic
First, 4 is input as an input value having a bit length from the
[0023]
Thereafter, the circuit generation process is repeated based on the updated parameters. When the basic module is selected for the second time, the parameter N is 3 and N ≠ 1, so the basic module a is generated again as in the case of the first time. Further, since N = 2 at the time of the third circuit generation, the basic module a is generated in the same manner. The three generated basic modules a are sequentially connected and stored in the generation
[0024]
After generating the three basic modules a, the parameter N stored in the bit
[0025]
The automatic
FIG. 4 is a diagram showing a flowchart when the automatic
[0026]
First, in
[0027]
Thus, according to the circuit automatic generation device of the first embodiment, it is possible to generate the CLA circuit having the input bit length. In addition, since the circuit modules can be selected according to the order of generation, even when the circuit configuration is slightly different depending on the bit position, for example, an output buffer is added only to the output of the final stage, A circuit can be generated.
[0028]
Second embodiment
A circuit automatic generation apparatus according to a second embodiment of the present invention will be described with reference to FIGS.
First, the configuration of the automatic circuit generation device of the second embodiment will be described with reference to FIG.
FIG. 5 is a block diagram showing the configuration of the automatic circuit generation device of the second embodiment.
The automatic
Similarly to the automatic
[0029]
Hereinafter, the operation of each unit will be described.
The
The bit
[0030]
The
[0031]
The
[0032]
When the selection signal S0 is applied from the
The 3-bit
The 2-bit
[0033]
The generation
[0034]
The subtraction
In the subtraction
[0035]
The
[0036]
Based on the subtraction result Nnew input from the
[0037]
When an output signal is applied from the
[0038]
Next, the operation of automatic circuit generation by the automatic
In this embodiment, the circuit
FIG. 6 is a diagram illustrating circuit modules stored in the 4-bit
[0039]
FIG. 7 is a diagram illustrating a circuit generated by the automatic
The operation of the automatic
[0040]
First, 9 is input as an input value having a bit length from the
[0041]
Based on the parameter N updated in this way, a module is generated again. Since the parameter N = 4 this time, the parameter M = 0, which is a remainder, is generated, and the 4-bit module shown in FIG. 6C is generated, input to the generation
[0042]
The automatic
FIG. 8 is a diagram showing a flowchart when the automatic
[0043]
First, in
If M.noteq.0 in
[0044]
On the other hand, if it is determined in
As described above, when the generation of the module and the setting of the subtraction value to the variable P are completed in
[0045]
As described above, according to the circuit
[0046]
Third embodiment
A circuit automatic generation apparatus according to a third embodiment of the present invention will be described with reference to FIG.
The circuit automatic generation device of the third embodiment has a plurality of circuit automatic generation devices of the first embodiment or the second embodiment, and generates a circuit with a more complicated configuration by synthesizing a plurality of types of circuit modules having different operations. This is an automatic circuit generation device that can be used.
The circuit
[0047]
In the
[0048]
The first to fourth circuit
[0049]
The
[0050]
According to the circuit automatic generation apparatus of the third embodiment having such a configuration, a circuit for processing data having an arbitrary bit length is automatically generated, and further, a basic circuit module is combined, which is somewhat complicated. Circuit can be automatically generated, and the efficiency of circuit design can be further improved.
[0051]
The present invention is not limited to the first embodiment and the second embodiment described above, and various modifications can be made.
For example, the present embodiment has been specifically described as a circuit automatic generation device that generates a CLA circuit, but is not limited thereto. Any circuit can be applied as long as it is a circuit that can be configured by sequentially connecting a plurality of basic circuits for arbitrary bit data in series or in parallel. For example, the present invention can be applied to a shift register, a multiplexer, an adder, and the like.
[0052]
Further, the configuration of the circuit module generation unit of the present embodiment is such that each circuit module generation unit generates and outputs a predetermined circuit module based on the applied signal. However, for example, one control unit may be configured by a control unit and a storage unit such that a circuit module is appropriately selected from a circuit module stored in the storage unit and output based on a selection signal.
Further, the present invention does not limit the circuit module and the generated circuit description method. For example, a circuit described in the form of a netlist using basic elements and connection states, a circuit described using a hardware description language (HDL), or a circuit whose operation is described in a function or logic The circuit of the description / format is applicable.
[0053]
【The invention's effect】
According to the circuit automatic generation device of the present invention, an arbitrary number of predetermined circuit modules can be connected based on the number of input bits, and a circuit for processing data having a desired bit length is automatically set. I was able to generate. Also, a circuit having a slightly different configuration depending on the bit position could be generated appropriately. Furthermore, a circuit for processing data having a desired bit length can be generated by combining basic circuit modules corresponding to a plurality of bits. Therefore, it is possible to provide an automatic circuit generation device that can easily redesign a circuit according to a change in bit length.
As a result, it was possible to provide a CAD apparatus capable of greatly reducing the design time and designing the circuit efficiently.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an automatic circuit generation device according to a first embodiment of the present invention.
2 is a diagram showing a circuit module generated by a basic module generation unit of the automatic circuit generation device shown in FIG. 1, in which (A) shows a basic module a, and (B) shows a basic module b. FIG.
FIG. 3 is a diagram illustrating a circuit generated by the automatic circuit generation device illustrated in FIG. 1;
FIG. 4 is a diagram showing a flowchart when the circuit automatic generation device shown in FIG. 1 is realized by a computer device;
FIG. 5 is a block diagram showing a configuration of an automatic circuit generation device according to a second exemplary embodiment of the present invention.
6 is a diagram illustrating a circuit module generated by a module generation unit of the circuit automatic generation device illustrated in FIG. 5, in which (A) illustrates a 2-bit module, and (B) illustrates a 3-bit module. , (C) is a diagram showing a 4-bit module.
7 is a diagram showing a circuit generated by the automatic circuit generation device shown in FIG. 5. FIG.
8 is a diagram showing a flowchart when the automatic circuit generation device shown in FIG. 5 is realized by a computer device.
FIG. 9 is a block diagram showing a configuration of an automatic circuit generation device according to a third exemplary embodiment of the present invention.
[Explanation of symbols]
10 ... Automatic circuit generator
11 ...
13 ...
15 ... Basic module
17 ...
20 ... Circuit automatic generation device
22: Bit length storage unit 23: Remainder calculation unit
24 ...
26: 3-bit module generation unit 27: 2-bit module generation unit
28 ... Generation
30 ...
32 ... Output section
50. Automatic circuit generation device
51 ...
53 ... 2nd circuit
55 ... Fourth automatic
Claims (1)
処理データのビット長が異なる複数種類の回路モジュールの回路情報と該回路モジュール相互の接続情報が記憶されている回路モジュール記憶手段と、
入力された処理データのビット長と回路モジュールの最大ビット長との演算結果に基づいて、異なるビット長の回路モジュールを組み合わせて前記入力された処理データのビット長になるように、前記回路モジュール記憶手段に記憶されている複数種類の回路モジュールより、適切な回路モジュールを順次選択する前記回路モジュール記憶手段に記憶されている複数種類の回路モジュールを順次選択する回路モジュール選択手段と、
前記回路モジュール選択手段により選択された回路モジュールを該回路モジュールの前記接続情報に基づいて順次接続する回路接続手段と、
前記回路接続手段により接続された回路を表す情報を出力する出力手段と
を有し、
前記回路モジュール記憶手段には、2つの1ビット入力と下位からの桁上げ入力に基づいて上位への桁上げを出力する1ビットキャリ・ルック・アヘッド回路である第1の回路モジュールと、前記第1の回路モジュールにさらに出力バッファを付加した第2の回路モジュールとの前記各情報が記憶され、
前記回路モジュール選択手段は、入力された処理データのビット長より1少ない数の前記第1の回路モジュールを連続して選択し、さらに1つの前記第2の回路モジュールを選択する
回路自動生成装置。 Key The automatic generating apparatus of catcher Li look ahead circuit,
Circuit module storage means for storing circuit information of a plurality of types of circuit modules having different bit lengths of processing data and connection information between the circuit modules;
The circuit module storage stores the bit length of the input processing data by combining circuit modules having different bit lengths based on the calculation result of the bit length of the input processing data and the maximum bit length of the circuit module. Circuit module selection means for sequentially selecting a plurality of types of circuit modules stored in the circuit module storage means for sequentially selecting appropriate circuit modules from a plurality of types of circuit modules stored in the means;
Circuit connection means for sequentially connecting the circuit modules selected by the circuit module selection means based on the connection information of the circuit modules;
Output means for outputting information representing a circuit connected by the circuit connecting means;
Have
The circuit module storage means includes a first circuit module that is a 1-bit carry-look-ahead circuit that outputs a carry to a higher order based on two 1-bit inputs and a carry input from a lower order, Each information of the second circuit module in which an output buffer is further added to the one circuit module is stored,
The circuit module selection means continuously selects the first circuit module whose number is one less than the bit length of the input processing data, and further selects one second circuit module.
Circuits automatic generation system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17295494A JP3702475B2 (en) | 1994-07-25 | 1994-07-25 | Automatic circuit generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17295494A JP3702475B2 (en) | 1994-07-25 | 1994-07-25 | Automatic circuit generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0836594A JPH0836594A (en) | 1996-02-06 |
JP3702475B2 true JP3702475B2 (en) | 2005-10-05 |
Family
ID=15951450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17295494A Expired - Fee Related JP3702475B2 (en) | 1994-07-25 | 1994-07-25 | Automatic circuit generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3702475B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9707861D0 (en) * | 1997-04-18 | 1997-06-04 | Certicom Corp | Arithmetic processor |
-
1994
- 1994-07-25 JP JP17295494A patent/JP3702475B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0836594A (en) | 1996-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7953956B2 (en) | Reconfigurable circuit with a limitation on connection and method of determining functions of logic circuits in the reconfigurable circuit | |
US5422833A (en) | Method and system for propagating data type for circuit design from a high level block diagram | |
JPH03257671A (en) | Design uptake system | |
JPH064271A (en) | Multiplier | |
JPH05291891A (en) | Primary random pulse train generating circuit device | |
JP3702475B2 (en) | Automatic circuit generator | |
JP3134132B2 (en) | Automatic logic circuit generator | |
CN109196465B (en) | Double precision floating point operation | |
US6877140B1 (en) | Method and system for generating a schematic representing bus structures | |
JPH01220528A (en) | Parity generator | |
JPH06324845A (en) | Computer-aided designing method of carry look-ahead adder | |
JP2005527045A (en) | Integrated circuit design method | |
JP2001209664A (en) | High order synthesis method and recording medium used for execution of high order synthesis method | |
JP5935563B2 (en) | Design support apparatus, design support method, and program | |
Goode et al. | A simple circuit for adding complex numbers | |
JP3964483B2 (en) | Integrated circuit logic simulation method | |
US6544806B1 (en) | Fast computation of truth tables | |
EP1323079B1 (en) | Method and system for generic inference of sequential elements | |
JP3203454B2 (en) | Multiplier | |
JPH11251441A (en) | Method and device for reducing signal delay | |
US5140672A (en) | Diagram generator having reference table which included reproducing and name assigning units for expanding circuit from lower to higher level | |
JP4954019B2 (en) | Arithmetic unit | |
JP2000222451A (en) | Design support system for semiconductor integrated circuit | |
JPH06325118A (en) | Device for calculating delay time of logic circuit | |
JPH04281523A (en) | Synthesizing method for multi-input adder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050412 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050603 |
|
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: 20050628 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050711 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080729 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090729 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090729 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100729 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100729 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110729 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120729 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |