JP3702475B2 - 回路自動生成装置 - Google Patents
回路自動生成装置 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
【産業上の利用分野】
本発明は、たとえば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…合成部
Claims (1)
- キャリ・ルック・アヘッド回路の自動生成装置であって、
処理データのビット長が異なる複数種類の回路モジュールの回路情報と該回路モジュール相互の接続情報が記憶されている回路モジュール記憶手段と、
入力された処理データのビット長と回路モジュールの最大ビット長との演算結果に基づいて、異なるビット長の回路モジュールを組み合わせて前記入力された処理データのビット長になるように、前記回路モジュール記憶手段に記憶されている複数種類の回路モジュールより、適切な回路モジュールを順次選択する前記回路モジュール記憶手段に記憶されている複数種類の回路モジュールを順次選択する回路モジュール選択手段と、
前記回路モジュール選択手段により選択された回路モジュールを該回路モジュールの前記接続情報に基づいて順次接続する回路接続手段と、
前記回路接続手段により接続された回路を表す情報を出力する出力手段と
を有し、
前記回路モジュール記憶手段には、2つの1ビット入力と下位からの桁上げ入力に基づいて上位への桁上げを出力する1ビットキャリ・ルック・アヘッド回路である第1の回路モジュールと、前記第1の回路モジュールにさらに出力バッファを付加した第2の回路モジュールとの前記各情報が記憶され、
前記回路モジュール選択手段は、入力された処理データのビット長より1少ない数の前記第1の回路モジュールを連続して選択し、さらに1つの前記第2の回路モジュールを選択する
回路自動生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17295494A JP3702475B2 (ja) | 1994-07-25 | 1994-07-25 | 回路自動生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17295494A JP3702475B2 (ja) | 1994-07-25 | 1994-07-25 | 回路自動生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0836594A JPH0836594A (ja) | 1996-02-06 |
JP3702475B2 true JP3702475B2 (ja) | 2005-10-05 |
Family
ID=15951450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17295494A Expired - Fee Related JP3702475B2 (ja) | 1994-07-25 | 1994-07-25 | 回路自動生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3702475B2 (ja) |
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/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0836594A (ja) | 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 | |
JPH03257671A (ja) | 設計取り込みシステム | |
Pieper et al. | Efficient Dedicated Multiplication Blocks for 2's Complement Radix-2m Array Multipliers. | |
Sk | High speed multiplexer design using tree based decomposition algorithm | |
JPH05291891A (ja) | 一次乱数パルス列発生回路装置 | |
JP3702475B2 (ja) | 回路自動生成装置 | |
JP3134132B2 (ja) | 論理回路自動生成装置 | |
US6877140B1 (en) | Method and system for generating a schematic representing bus structures | |
CN114442996A (zh) | 计算芯片、算力板和数字货币挖矿机 | |
JP3102408B2 (ja) | 信号遅延低減方法及び装置 | |
JP4413052B2 (ja) | データフローグラフ処理装置および処理装置 | |
JP3964483B2 (ja) | 集積回路の論理シミュレーション方法 | |
US6544806B1 (en) | Fast computation of truth tables | |
EP1323079B1 (en) | Method and system for generic inference of sequential elements | |
JP3486638B2 (ja) | 定数乗算器 | |
JP3477816B2 (ja) | トリー加算器及び乗算器 | |
JP2014021679A (ja) | 設計支援装置、設計支援方法及びプログラム | |
JPH04165470A (ja) | Lsiのレイアウト設計方式 | |
JP2839574B2 (ja) | 不定値を含む論理回路の照合方式 | |
US5140672A (en) | Diagram generator having reference table which included reproducing and name assigning units for expanding circuit from lower to higher level | |
JP4954019B2 (ja) | 演算装置 | |
JP2000222451A (ja) | 半導体集積回路の設計支援システム | |
JPH06309396A (ja) | 回路設計方法 | |
JPH06325118A (ja) | 論理回路の遅延時間計算装置 | |
JPH04281523A (ja) | 多入力加算器の合成方法 |
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 |