JP3702475B2 - Automatic circuit generator - Google Patents

Automatic circuit generator Download PDF

Info

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
Application number
JP17295494A
Other languages
Japanese (ja)
Other versions
JPH0836594A (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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP17295494A priority Critical patent/JP3702475B2/en
Publication of JPH0836594A publication Critical patent/JPH0836594A/en
Application granted granted Critical
Publication of JP3702475B2 publication Critical patent/JP3702475B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 circuit generation device 10 includes an input unit 11, a bit length storage unit 12, a module selection unit 13, a basic module a generation unit 14, a basic module b generation unit 15, a generation circuit storage unit 16, a subtraction unit 17, and an output unit. 18 is comprised.
The circuit automatic generation device 10 of this embodiment is incorporated in a CAD device used when designing a logic circuit or the like.
[0015]
Hereinafter, the operation of each unit will be described.
The input unit 11 is an input device such as a keyboard, and a bit length B, which is a data width of a circuit, is input from the input unit 11 by an operator. The input bit length B is stored in the bit length storage unit 12 as a parameter N for selecting a module. Since this bit length B is the bit width of data, an integer of 2 or more is usually input.
The bit length storage unit 12 is a data storage circuit configured by a memory, and is used to select a module based on the bit length B input from the input unit 11 and a parameter Nnew updated by a subtraction unit 17 described later. Store as parameter N. The parameter N stored in the bit length storage unit 12 can be read out by the module selection unit 13 and the subtraction unit 17.
[0016]
The module selection unit 13 is a selection unit that selects a basic module based on the parameter N stored in the bit length storage unit 12. When the parameter N is 2 or more, the module selection unit 13 applies a selection signal S1 indicating that to the basic module a generation unit 14 and the subtraction unit 17 via a predetermined selection line. When the parameter N is 1, a selection signal S2 indicating that is applied to the basic module b generation unit 15 and the output unit 18 via a predetermined selection line.
[0017]
When the selection signal S <b> 1 is applied from the module selection unit 13, the basic module a generation unit 14 generates the basic module a stored in the basic module a generation unit 14 as actual circuit information, and generates the generation circuit storage unit 16. Output to. The basic module a generation unit 14 stores arithmetic elements constituting the basic module a and their connection information, connection information with other elements, and circuit characteristic information such as element delay. Therefore, the basic module generation unit 14 reads out the information and adds identification information such as a signal name, thereby generating actual circuit information that can be connected to other elements and arranged in a circuit drawing or the like.
When the selection signal S <b> 2 is applied from the module selection unit 13, the basic module b generation unit 15 generates the basic module b stored in the basic module b generation unit 15 as actual circuit information, and generates the generation circuit storage unit 16. Output to. Generation of the stored information and real circuit information is the same as that of the basic module a generation unit 14 described above.
[0018]
The generation circuit storage unit 16 is a storage unit that stores the basic modules sequentially generated by the basic module a generation unit 14 and the basic module b generation unit 15 by sequentially connecting them in the input order. This connection method information is described in the information of each basic module stored in the basic module a generation unit 14 and the basic module b generation unit 15 in advance.
When the selection signal S1 is applied from the module selection unit 13, the subtraction unit 17 subtracts 1 from the bit length parameter N stored in the bit length storage unit 12, and sets the new parameter Nnew of the subtraction result to the bit length. Input to the storage unit 12. That is, every time the basic module a is selected as the generation module by the module selection unit 13, 1 is subtracted from the bit length parameter N stored in the bit length storage unit 12 and the modules are sequentially updated.
[0019]
When the selection signal S2 is applied from the module selection unit 13, the output unit 18 has been generated by the basic module a generation unit 14 and the basic module b generation unit 15 and is sequentially connected and stored by the generation circuit storage unit 16. Read out the circuit information. The output information is arranged at a designated position on the circuit drawing, and is displayed on an output device such as a display in a state that can be viewed by an operator.
[0020]
Next, the operation of automatic circuit generation by the circuit generation device 10 will be specifically described with reference to FIGS.
In this embodiment, the automatic circuit generation device 10 generates a CLA circuit having a desired number of bits for a carry look ahead circuit (carry look ahead signal, hereinafter referred to as a CLA circuit) frequently used in an adder or the like. This is an automatic circuit generation device.
FIG. 2 is a diagram illustrating basic modules stored in the basic module a generation unit 14 and the basic module b generation unit 15, and FIG. 2A illustrates a basic module a corresponding to a 1-bit logic circuit of the CLA circuit. FIG. 2B is a diagram showing a basic module b having a configuration in which an output buffer is added to a 1-bit logic circuit of a CLA circuit.
[0021]
FIG. 3 is a diagram illustrating a circuit generated by the automatic circuit generation device 10 and is a 4-bit CLA circuit. As shown in FIG. 3, the 4-bit CLA circuit has a 4-bit carry check circuit connected in series, and an output buffer is added to the output section of the final circuit. . Therefore, in the basic module shown in FIG. 2, three basic modules a shown in FIG. 2A and one basic module b shown in FIG. 2B are sequentially connected. .
[0022]
The operation of the automatic circuit generation device 10 when generating a 4-bit CLA circuit will be described below.
First, 4 is input as an input value having a bit length from the input unit 11, and stored as a parameter N in the bit length storage unit 12. In the module selection unit 13, the parameter N is referred to and the selection signal S1 is selected because N ≠ 1. As a result, the basic module a is selected, and the circuit shown in FIG. 2A generated by the basic module a generation unit 14 is stored in the generation circuit storage unit 16. On the other hand, in the subtraction unit 17 to which the selection signal S1 is applied, 1 is subtracted from the parameter N stored in the bit length storage unit 12, and is set in the bit length storage unit 12 as a new parameter Nnew.
[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 circuit storage unit 16.
[0024]
After generating the three basic modules a, the parameter N stored in the bit length storage unit 12 is 1. Therefore, when the circuit is generated for the fourth time, the parameter N = 1, so the module selection unit 13 selects the selection signal S2. As a result, the basic module b is selected, and the circuit shown in FIG. 2B generated by the basic module b generation unit 15 is input to the generation circuit storage unit 16 and connected to and stored in the previous circuit. . As a result, a 4-bit CLA circuit as shown in FIG. The selection signal S2 is simultaneously applied to the output unit 18, and the output unit 18 reads out and outputs the CLA circuit from the generation circuit storage unit 16.
[0025]
The automatic circuit generation device 10 can also be realized by a CAD tool or the like mounted on a workstation or the like. A process when the circuit automatic generation device 10 of the first embodiment is applied to such a computer device will be described with reference to FIG.
FIG. 4 is a diagram showing a flowchart when the automatic circuit generation device 10 is realized by a computer device.
[0026]
First, in step 11, the bit length input from the input device is set to a variable N. Next, in step 12, it is checked whether N = 1 or not. If N ≠ 1, a circuit of the basic module a stored in the memory is generated in step 13. In step 14, 1 is subtracted from N, and the process is repeated from step 12. When N = 1 in step 12, the circuit of the basic module b is generated in step 15. In step 16, the basic modules generated and stored so far are sequentially connected and output.
[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 circuit generation device 20 includes an input unit 21, a bit length storage unit 22, a remainder calculation unit 23, a module selection unit 24, a 4-bit module generation unit 25, a 3-bit module generation unit 26, a 2-bit module generation unit 27, and a generation circuit. The storage unit 28, the subtraction value determination unit 29, the subtraction unit 30, the determination unit 31, and the output unit 32 are configured.
Similarly to the automatic circuit generation device 10 of the first embodiment, the automatic circuit generation device 20 of this embodiment is also incorporated in a CAD device used when designing a logic circuit or the like.
[0029]
Hereinafter, the operation of each unit will be described.
The input unit 21 is an input device such as a keyboard, and a bit length B, which is a data width of the circuit, is input from the input unit 21 by an operator. The input bit length B is stored in the bit length storage unit 22. Since this bit length B is the bit width of data, an integer of 2 or more is usually input.
The bit length storage unit 22 is a data storage unit configured by a memory, and receives data from the input unit 21, and the data is sequentially updated by a determination unit 31 described later. The data stored in the bit length storage unit 22 is a parameter N representing the bit length for circuit generation. The parameter N stored in the bit length storage unit 22 can be read from the remainder calculation unit 23 and the subtraction unit 30.
[0030]
The remainder calculation unit 23 divides the parameter N stored in the bit length storage unit 22 by a predetermined number, obtains the remainder, and supplies the remainder to the module selection unit 24 and the subtraction value determination unit 29 as a parameter M for selecting a module. Output. The predetermined divisor is a numerical value determined by the maximum bit length of the basic module generated by the module generation unit described later, and is 4 in this embodiment. Accordingly, the remainder of the parameter M takes a value of 0 to 3.
[0031]
The module selection unit 24 is a selection unit that selects a basic module based on the parameter M input from the remainder calculation unit 23. The module selection unit 24 decodes the parameter M, generates a selection signal corresponding to the value of the parameter M, and applies the signal to the corresponding module generation unit. In this embodiment, since the parameter M takes four values of 0 to 3, the module selection unit 24 generates one of the four selection signals S0 to S3, and four output signal lines corresponding to the selection signals. A signal is applied to each module generation unit via. Specifically, when the parameter M is 0, the selection signal S0 is applied to the 4-bit module generation unit 25, and when the parameter M is 1, the 3-bit module generation unit 26 and the 2-bit module generation unit 27 When the selection signal S1 is applied and the parameter M is 2, the selection signal S2 is applied to the 2-bit module generation unit 27. When the parameter M is 3, the selection signal S3 is input to the 3-bit module generation unit 26. Applied.
[0032]
When the selection signal S0 is applied from the module selection unit 24, the 4-bit module generation unit 25 generates a 4-bit module stored in the 4-bit module generation unit 25 as actual circuit information, and generates a generation circuit storage unit 28. Output to. The stored information and the generation of actual circuit information are the same as those in the first embodiment described above.
The 3-bit module generation unit 26 generates a 3-bit module in the same manner as the 4-bit module generation unit 25 based on the selection signal S2 and the selection signal S3 applied from the module selection unit 24.
The 2-bit module generation unit 27 generates a 2-bit module based on the selection signal S1 and the selection signal S2 applied from the module selection unit 24.
[0033]
The generation circuit storage unit 28 stores the basic modules sequentially generated by the 4-bit module generation unit 25, the 3-bit module generation unit 26, and the 2-bit module generation unit 27 by sequentially connecting them in the input order. Part. Information on how to connect is described in the information on each basic module stored in advance in each module generation unit.
[0034]
The subtraction value determination unit 29 obtains the bit length of the circuit module selected by the module selection unit 24 based on the parameter M calculated by the remainder calculation unit 23 and outputs the bit length to the subtraction unit 30 as the subtraction value P. The bit length is obtained by referring to a table stored in advance in the subtraction value determining unit 29 corresponding to each circuit module when each circuit module is stored. In this embodiment, the subtraction value P = 4 when the parameter M = 0, the subtraction value P = 5 when the parameter M = 1, the subtraction value P = 2 when the parameter M = 2, and the parameter M = 3. In this case, the subtraction value P = 3 is obtained and output.
In the subtraction value determination unit 29 according to the present embodiment, the subtraction value P is obtained based on the parameter M calculated by the remainder calculation unit 23. Similarly, the module selection unit 24 generated based on the parameter M is used. May be obtained using the selection signals S0 to S3 output from.
[0035]
The subtraction unit 30 subtracts the subtraction value P selected by the subtraction value determination unit 29 from the bit length parameter N stored in the bit length storage unit 22, calculates the subtraction result Nnew, and outputs the result to the determination unit 31. . That is, each time a circuit module is sequentially selected, a value corresponding to the bit length of the selected circuit module is subtracted from the bit length parameter N to obtain a bit length Nnew waiting for circuit generation.
[0036]
Based on the subtraction result Nnew input from the subtraction unit 30, the determination unit 31 determines whether to repeat the module generation process again or to output the generated circuit after completing the process. Since the subtraction result Nnew is a value indicating the bit length of the circuit to be generated from now on, the determination unit 31 terminates the process when the subtraction result Nnew is 0 or less, and continues to generate the circuit when it is greater than 0. Process. Accordingly, when the subtraction result Nnew is 0 or less, a signal that outputs the circuit data generated and stored so far is output to the output unit 32. If the subtraction result Nnew is greater than 0, the subtraction result Nnew is input to the bit length storage unit 22 and the parameter stored in the bit length storage unit 22 is updated with the subtraction result Nnew.
[0037]
When an output signal is applied from the determination unit 31, the output unit 32 is generated by the 4-bit module generation unit 25, the 3-bit module generation unit 26, and the 2-bit module generation unit 27 until then, and the generation circuit storage unit 28 The circuit information sequentially connected and stored in is read out and output. The output information is arranged at a designated position on the circuit drawing, and is displayed on an output device such as a display in a state that can be viewed by an operator.
[0038]
Next, the operation of automatic circuit generation by the automatic circuit generation device 20 will be specifically described with reference to FIGS.
In this embodiment, the circuit automatic generation device 20 is a circuit automatic generation device that generates a CLA circuit having a desired number of bits for the CLA circuit, as in the first embodiment. In the second embodiment, a CLA circuit having an optimum configuration for each of 4 bits, 3 bits, and 2 bits is prepared in advance as a library, and these are used as basic circuit modules, so that an arbitrary bit length can be obtained. An automatic path generation device that generates a CLA circuit.
FIG. 6 is a diagram illustrating circuit modules stored in the 4-bit module generation unit 25, the 3-bit module generation unit 26, and the 2-bit module generation unit 27. FIG. 6A illustrates a module of a 4-bit CLA circuit. FIG. 2B is a diagram illustrating a module of a 3-bit CLA circuit, and FIG. 3C is a diagram illustrating a module of a 2-bit CLA circuit.
[0039]
FIG. 7 is a diagram illustrating a circuit generated by the automatic circuit generation device 20, which is a 9-bit CLA circuit. As shown in FIG. 7, the 9-bit CLA circuit has a configuration in which a 2-bit CLA circuit, a 3-bit CLA circuit, and a 4-bit CLA circuit are connected in series.
The operation of the automatic circuit generation device 20 when generating a 9-bit CLA circuit will be described below.
[0040]
First, 9 is input as an input value having a bit length from the input unit 21 and stored as a parameter N in the bit length storage unit 22. The remainder calculation unit 23 calculates the remainder 1 by dividing the parameter N by 4. The value 1 of the calculation result is input to the module selection unit 24 as the parameter M, and the selection signal S2 is selected. As a result, the 2-bit module shown in FIG. 6A and the 3-bit module shown in FIG. 6B are generated and stored in the generation circuit storage unit 28. On the other hand, the subtraction value determination unit 29 obtains the subtraction value P = 5 based on the parameter M = 1, and the subtraction unit 30 performs subtraction with the parameter N = 9 to obtain the result 4. Since the result of the subtraction is 4, the determination unit 31 inputs the subtraction result to the bit length storage unit 22 as a new bit length parameter.
[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 circuit storage unit 28, connected to the previous circuit, and stored. The Further, the subtraction value determination unit 29 obtains 4 as the subtraction value P, and as a result, the subtraction result Nnew in the subtraction unit 30 becomes 0. Therefore, an output signal is applied from the determination unit 31 to the output unit 32, and a circuit diagram of the 9-bit CLA circuit shown in FIG. 7 stored in the generation circuit storage unit 28 is output.
[0042]
The automatic circuit generation device 20 can also be realized by a CAD tool mounted on a workstation or the like as in the first embodiment. Processing when the circuit automatic generation device 20 of the second embodiment is applied to such a computer device will be described with reference to FIG.
FIG. 8 is a diagram showing a flowchart when the automatic circuit generation device 20 is realized by a computer device.
[0043]
First, in step 21, the bit length input from the input device is set to the variable N. Next, in step 22, the remainder obtained by dividing N by 4 is calculated and set to a variable M. Then, based on this variable M, it is determined in step 23 whether or not M = 0. If M = 0, a 4-bit module is generated in step 24, and 4 is set in variable P in step 25.
If M.noteq.0 in step 23, it is checked in step 26 whether M = 1 or 2. If M = 1 or M = 2, a 2-bit module is generated in step 27. In step 28, it is determined whether M = 1 or M = 2. If M = 1, 2 is set to the variable P in step 29, and if M = 2, 5 is set to the variable P in step 30.
[0044]
On the other hand, if it is determined in step 26 that M is neither 1 nor 2, that is, if M = 3, 3 is set to the variable P prior to circuit generation in step 31. Then, in step 26 to step 30, a 3-bit module is generated in step 32 together with a case where M = 1 in which a 2-bit module has already been generated.
As described above, when the generation of the module and the setting of the subtraction value to the variable P are completed in step 23 to step 32, NP is subtracted in step 33, and the variable N is updated with this subtraction result. In step 34, the value of the variable N is checked. If the variable N is greater than 0, the process is repeated from step 22. In step 34, when the variable N is 0 or less, in step 35, the circuit modules generated and stored so far are sequentially connected and output.
[0045]
As described above, according to the circuit automatic generation device 20 of the second embodiment, it is possible to generate a CLA circuit having a bit length inputted as in the first embodiment. In particular, even if the stored circuit module is a circuit that processes data of a plurality of bits, a CLA circuit having a desired bit length can be generated by appropriately combining them.
[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 automatic generation device 50 according to the third embodiment includes an input unit 51, first to fourth circuit automatic generation devices 52 to 55, and a synthesis unit 56.
[0047]
In the input unit 51, a signal for selecting the type of module constituting the circuit is input together with the bit length of the processing data, and a signal for instructing the bit length and circuit generation to the circuit module generation device corresponding to the selected signal. Is sent out. A plurality of types of modules may be selected as modules constituting this circuit. Note that the selection order is selected in the order in accordance with the composition rule by the composition unit 56.
[0048]
The first to fourth circuit automatic generation units 52 to 55 are generation means for automatically generating circuit modules each performing a predetermined operation on data having an arbitrary bit length of a predetermined operation. These automatic circuit generation units are, for example, generation units such as a CLA circuit, an addition circuit, a selection circuit, and a shift register circuit. Each circuit automatic generation unit is constituted by, for example, the circuit automatic generation device shown in the first embodiment and the second embodiment, but as connection information stored in the circuit module storage means of each circuit automatic generation unit, In addition to the connection information between the plurality of circuit modules in each circuit automatic generation unit, the connection information between the circuits generated between the first to fourth circuit automatic generation units 52 to 55 is also stored. Has been. The bit length of the processing data of the circuit to be generated is input from the input unit 57.
[0049]
The synthesizer 56 further synthesizes the circuit modules generated by the first to fourth automatic circuit generators 52 to 55 to generate and output one circuit. The synthesizer 56 synthesizes each circuit based on the circuit connection information output from each circuit automatic generator and the connection information of each terminal of the circuit. This synthesis is performed based on a predetermined rule such as connecting the output terminal of the generated circuit module to the input terminal of the next selected circuit in the order selected by the input unit 51, for example.
[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 ... Input unit 12 ... Bit length storage unit
13 ... Module selection unit 14 ... Basic module a generation unit
15 ... Basic module b generation unit 16 ... Generation circuit storage unit
17 ... Subtraction unit 18 ... Output unit
20 ... Circuit automatic generation device
22: Bit length storage unit 23: Remainder calculation unit
24 ... Module selection unit 25 ... 4-bit module generation unit
26: 3-bit module generation unit 27: 2-bit module generation unit
28 ... Generation circuit storage unit 29 ... Subtraction value determination unit
30 ... Subtraction unit 31 ... Determination unit
32 ... Output section
50. Automatic circuit generation device
51 ... Input unit 52 ... First circuit automatic generation unit
53 ... 2nd circuit automatic generation part 54 ... 3rd circuit automatic generation part
55 ... Fourth automatic circuit generation unit 56 ... Synthesis unit

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.
JP17295494A 1994-07-25 1994-07-25 Automatic circuit generator Expired - Fee Related JP3702475B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9707861D0 (en) * 1997-04-18 1997-06-04 Certicom Corp Arithmetic processor

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