JP2925160B2 - Logic synthesis method - Google Patents

Logic synthesis method

Info

Publication number
JP2925160B2
JP2925160B2 JP1076053A JP7605389A JP2925160B2 JP 2925160 B2 JP2925160 B2 JP 2925160B2 JP 1076053 A JP1076053 A JP 1076053A JP 7605389 A JP7605389 A JP 7605389A JP 2925160 B2 JP2925160 B2 JP 2925160B2
Authority
JP
Japan
Prior art keywords
abstract
circuit
logic
technology
logic gate
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 - Lifetime
Application number
JP1076053A
Other languages
Japanese (ja)
Other versions
JPH02253476A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP1076053A priority Critical patent/JP2925160B2/en
Publication of JPH02253476A publication Critical patent/JPH02253476A/en
Application granted granted Critical
Publication of JP2925160B2 publication Critical patent/JP2925160B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、設計対象とする論理回路の動作記述又は機
能図から論理回路を生成する論理合成方式に係わり、特
にテクノロジー非依存回路に対して、実在する論理素子
を割当ててテクノロジー依存の論理回路を生成する論理
合成方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Object of the Invention] (Industrial application field) The present invention relates to a logic synthesis method for generating a logic circuit from an operation description or a functional diagram of a logic circuit to be designed. The present invention relates to a logic synthesis method for generating a technology-dependent logic circuit by assigning an existing logic element to a dependent circuit.

(従来の技術) ディジタルシステムの大規模化に伴って、設計効率の
向上を目的とした各種の論理合成システムが開発されて
いる。これらは、設計対象とする論理回路の動作記述や
機能図と呼ばれるテクノロジー非依存の回路図面を入力
して、実在する論理素子(ユーザーが使用するライブラ
リに登録されている素子。以下、実在素子と呼ぶ)から
成る回路を生成するものである。
(Prior Art) With the enlargement of digital systems, various logic synthesis systems have been developed for the purpose of improving design efficiency. For these, input an operation description of a logic circuit to be designed or a technology-independent circuit drawing called a functional diagram, and input a real logic element (an element registered in a library used by a user. ) Is generated.

以下、従来の論理合成方式を第5図乃至第10図を参照
しながら説明する。
Hereinafter, a conventional logic synthesis method will be described with reference to FIGS. 5 to 10. FIG.

まず、設計すべき論理回路の動作記述や機能図を入力
し、テクノロジー非依存回路を生成する。例えば、第5
図は「2ビットの信号Cの値によってZに出力するデー
タを制御する」回路を設計対象とした場合の動作記述で
ある。記述中、DECODEは「引き数Cの値がnのときに出
力のnビット目(DECODE(C)<n−1>)に1を立て
る」というデコード機能を表す関数である。この記述か
らは、例えば、第6図に示すようなテクノロジー非依存
回路が生成される。この回路は、抽象セレクタ31と抽象
デコーダ32とからなり、抽象デコーダ32の出力で抽象セ
レクタ32の入力D1〜D4をセレクトするように構成されて
いる。このように、テクノロジー非依存回路は、加算
器、セレクタ及びデコーダ等の機能を持つマクロ要素
と、任意の入力を持つAND/OR等のプリミティブ論理ゲー
トとにより生成される。以下、上述したマクロ要素を抽
象機能モジュールと総称し、それぞれ抽象加算器、抽象
セレクタ、抽象デコーダ等と呼ぶ。また、上述したプリ
ミティブ論理ゲートを、以下、抽象論理ゲートと総称
し、それぞれ抽象ANDゲート、抽象ORゲートと呼ぶ。
First, an operation description and a functional diagram of a logic circuit to be designed are input, and a technology-independent circuit is generated. For example, the fifth
The figure is an operation description in the case of designing a circuit that “controls data to be output to Z by the value of a 2-bit signal C”. In the description, DECODE is a function representing a decoding function of "set 1 to the n-th bit (DECODE (C) <n-1>) of the output when the value of argument C is n". From this description, for example, a technology-independent circuit as shown in FIG. 6 is generated. This circuit includes an abstract selector 31 and an abstract decoder 32, and is configured to select the inputs D1 to D4 of the abstract selector 32 by the output of the abstract decoder 32. As described above, the technology-independent circuit is generated by a macro element having functions such as an adder, a selector, and a decoder, and a primitive logic gate such as AND / OR having an arbitrary input. Hereinafter, the above-described macro elements are collectively referred to as an abstract function module, and are respectively referred to as an abstract adder, an abstract selector, an abstract decoder, and the like. The above-described primitive logic gates are hereinafter collectively referred to as abstract logic gates, and are respectively referred to as abstract AND gates and abstract OR gates.

次に、テクノロジー非依存回路の加算器、セレクタ、
及びデコーダ等の抽象機能モジュールをAND/OR等の抽象
論理ゲートに展開し、冗長論理の削除等の最適化処理を
行う。例えば、第6図に示した抽象セレクタ31及び抽象
デコーダ32は、第7図(a)に示すように、抽象ANDゲ
ート41〜48、抽象ORゲート49及び抽象NOTゲート50,51に
展開される。そして抽象ANDゲート41〜48に対して、第
8図に示すような抽象ANDゲート併合規則を適用し、更
に第9図に示すような変換規則に基づいて抽象NANDゲー
トのみから成る回路に変換すると、第7図(b)の回路
を得る。このようにして冗長論理が排除される。
Next, adders, selectors, and technology-independent circuits
And an abstract function module such as a decoder is developed into an abstract logic gate such as AND / OR, and optimization processing such as deletion of redundant logic is performed. For example, the abstract selector 31 and the abstract decoder 32 shown in FIG. 6 are expanded into abstract AND gates 41 to 48, an abstract OR gate 49, and abstract NOT gates 50 and 51, as shown in FIG. . Then, an abstract AND gate merging rule as shown in FIG. 8 is applied to the abstract AND gates 41 to 48, and further converted to a circuit consisting only of abstract NAND gates based on a conversion rule as shown in FIG. 7 (b) is obtained. In this way, redundant logic is eliminated.

最後に抽象論理ゲートのみから成る回路に対して、ラ
イブラリに登録されている実在素子を割当てる。例えば
第7図(b)の回路パターンに対し、第10図に示すよう
な4入力マルチプレクサの割当て規則を適用すると、A
のパターンがマッチングするので、結局、第7図の回路
は実在素子MUX41に置き換えられる。この結果、最終的
に第11図に示すようなテクノロジー依存回路が得られ
る。
Finally, a real element registered in the library is assigned to a circuit consisting of only the abstract logic gate. For example, when a four-input multiplexer allocation rule as shown in FIG. 10 is applied to the circuit pattern of FIG.
Are eventually matched, the circuit of FIG. 7 is eventually replaced by the real element MUX41. As a result, a technology dependent circuit as shown in FIG. 11 is finally obtained.

このように、従来の論理合成方式は、抽象機能モジュ
ールを全てAND/OR,NAND,及びNOR等の抽象論理ゲートレ
ベルに展開して抽象論理ゲートのみからなるテクノロジ
ー非依存回路を生成し、この回路からライブラリ中の実
在素子と論理的に等価な回路パターンを検索することに
より実在素子を割当てるようにしていた。
As described above, in the conventional logic synthesis method, all the abstract function modules are developed at the level of abstract logic gates such as AND / OR, NAND, and NOR to generate a technology-independent circuit consisting of only abstract logic gates. Is searched for a circuit pattern that is logically equivalent to a real element in the library, thereby allocating the real element.

ところで、このような論理合成方式では、実在素子割
当てのための回路パターンの検索時間が、加算器、セレ
クタ及びデコーダ等の高機能素子を構成するゲート数に
よって決定される。例えば、MUX41と等価な第10図Aの
パターンではゲート数7個、第10図Bのパターンではゲ
ート数15個、第10図Cのパターンではゲート数13個であ
る。このため、回路パターンの探索に時間がかかるとい
う問題点があった。
By the way, in such a logic synthesis method, a search time of a circuit pattern for allocating a real element is determined by the number of gates constituting high-performance elements such as an adder, a selector and a decoder. For example, the pattern of FIG. 10A equivalent to the MUX 41 has 7 gates, the pattern of FIG. 10B has 15 gates, and the pattern of FIG. 10C has 13 gates. Therefore, there is a problem that it takes time to search for a circuit pattern.

また、第10図に示すように、一つの高機能素子と論理
的に等価な回路パターンの種類は1種類とは限らないの
で、回路パターンの検索は、全ての種類のパターンにつ
いて行わなければならず、更に時間がかかるという問題
点もあった。またこれら複数のパターンに対する割当て
規則をもれなく作るのに手間がかかるという問題点もあ
った。
Further, as shown in FIG. 10, the type of circuit pattern that is logically equivalent to one high-performance element is not limited to one type, and therefore, the search for circuit patterns must be performed for all types of patterns. There was also a problem that it took more time. There is also a problem that it takes time and effort to create an assignment rule for all of these patterns.

更に、上記の方法においては、テクノロジー非依存回
路中の抽象機能モジュールを抽象論理ゲートに展開した
後に論理最適化処理を適用しているので、展開直後の回
路パターンが変形され、本来、割当てられるべき高機能
素子が割当てられないことがあった。この結果、例え
ば、マルチプレクサ素子MUX41が割当てられず、「NAND
素子のみから構成されているマルチプレクサ回路」とい
うような、機能を把握しにくい回路が生成されるという
問題点もあった。
Furthermore, in the above method, since the logic optimization processing is applied after the abstract function module in the technology-independent circuit is expanded into the abstract logic gate, the circuit pattern immediately after the expansion is deformed and should be originally assigned. In some cases, high-performance devices were not assigned. As a result, for example, the multiplexer element MUX41 is not assigned and “NAND
There is also a problem that a circuit whose function is difficult to grasp, such as a "multiplexer circuit composed of only elements", is generated.

(発明が解決しようとする課題) このように、従来の論理合成方式では、高機能素子割
当ての際の回路パターンの探索に時間がかかるうえ、高
機能素子の割当て品質が低下するという問題点があっ
た。
(Problems to be Solved by the Invention) As described above, in the conventional logic synthesis method, it takes a long time to search for a circuit pattern at the time of allocating high-function elements, and the quality of allocating high-function elements is reduced. there were.

本発明はかかる問題点に鑑みてなされたもので、加算
器、セレクタ及びデコーダ等の実在する高機能素子を高
速に割当てることが可能でしかも高品質の回路を生成す
ることができる論理合成方式を提供することを目的とす
る。
SUMMARY OF THE INVENTION The present invention has been made in view of such a problem, and has developed a logic synthesis method capable of allocating existing high-performance elements such as an adder, a selector and a decoder at a high speed and generating a high-quality circuit. The purpose is to provide.

[発明の構成] (課題を解決するための手段) この発明の論理合成方式は、テクノロジー非依存回路
に実在素子を割り当ててテクノロジー依存の論理回路を
生成する論理合成方式において、テクノロジー非依存回
路に含まれる、抽象論理ゲートに展開される前の抽象機
能モジュールに対して実在する機能素子を直接割り当て
る機能素子割り当て手段を備えたことを特徴とする。
[Structure of the Invention] (Means for Solving the Problems) A logic synthesis method according to the present invention relates to a logic synthesis method for generating a technology-dependent logic circuit by allocating real elements to a technology-independent circuit. A feature element assigning means for directly assigning an existing function element to the included abstract function module before being expanded into the abstract logic gate is provided.

より具体的には、この発明の論理合成方式は、設計対
象とする論理回路を記述したテクノロジー非依存回路に
含まれる、抽象論理ゲートに展開される前の抽象機能モ
ジュールに対して実在する機能素子を直接割り当てる手
段と、この手段で割り当てられなかった抽象機能モジュ
ールを抽象論理ゲートに展開する手段と、この手段で展
開された抽象論理ゲートおよび前記テクノロジー非依存
回路に含まれる抽象論理ゲートに対して少なくとも冗長
論理削除の最適化変換処理を施す手段と、この手段で最
適化変換された抽象論理ゲートに対して実在素子を割り
当てる手段とを具備したことを特徴とする。
More specifically, the logic synthesis method according to the present invention includes a functional element existing in an abstract function module before being developed into an abstract logic gate, which is included in a technology independent circuit describing a logic circuit to be designed. Means for directly assigning an abstract function module which is not assigned by this means to an abstract logic gate, and means for expanding the abstract logic gate expanded by this means and the abstract logic gate included in the technology independent circuit. It is characterized by comprising at least means for performing an optimization conversion process for deleting redundant logic, and means for assigning a real element to an abstract logic gate optimized and converted by this means.

(作用) 本発明においては、論理合成過程において、テクノロ
ジー非依存回路中の抽象機能モジュールをAND/OR等の抽
象論理ゲートに展開せずに、機能素子割当て手段によっ
て、実在する高機能素子を直接割当てるようにしたの
で、ゲートレベルのマッチングが不要になり、高速に割
当て処理を実行することができる。また、抽象機能モジ
ュールは、一つのまとまりを維持したまま実在素子を割
当てられるので、不必要な回路パターンの変形による割
当て品質の低下を防止することができる。
(Operation) In the present invention, in the logic synthesis process, an existing high-functional element is directly assigned by a functional element assignment unit without expanding an abstract functional module in a technology-independent circuit into an abstract logical gate such as AND / OR. Since assignment is performed, gate level matching becomes unnecessary, and the assignment process can be executed at high speed. In addition, since the abstract function modules can be assigned real elements while maintaining one unit, it is possible to prevent allocation quality from deteriorating due to unnecessary circuit pattern deformation.

(実施例) 以下、添付の図面に基づいて本発明の実施例を説明す
る。第1図は本発明の一実施例に係る論理合成システム
の構成を示すブロック図である。
(Example) Hereinafter, an example of the present invention is described based on an accompanying drawing. FIG. 1 is a block diagram showing the configuration of a logic synthesis system according to one embodiment of the present invention.

論理回路データ記憶部11には、論理回路の構成要素と
それらの接続関係を記述するネットワーク状のデータ構
造が記憶されている。論理回路変換規則記憶部12には、
後述する高機能素子割当て規則、抽象論理ゲート展開規
則、最適化変換規則及び実在素子割当て規則が格納され
ている。高機能素子割当て部13は、論理回路データ記憶
部11に記憶された論理回路データ中の抽象機能モジュー
ルを取り出し、論理回路変換規則記憶部12中の高機能素
子割当て規則に従って高機能割当て規則を実行する。抽
象論理ゲート展開部14は、論理回路データ中の特に高機
能素子が割当てられなかった抽象機能モジュールを、論
理回路変換規則記憶部12に格納された抽象論理ゲート展
開規則に従って展開する処理を実行する。最適化変換実
行部15は、論理回路データの中の抽象論理ゲートによる
回路部分に対し、論理回路変換規則記憶部12に格納され
た冗長論理削除等の最適化変換規則に従って最適化変換
処理を実行する。実在素子割当て部16は、論理回路デー
タを、抽象NANDゲートのみからなる回路等に変換した
後、論理回路変換規則記憶部12に格納された実在素子割
当て規則(例えば、2入力、3入力及び4入力NAND素子
等の高機能素子以外の割当規則)に従って実在素子割当
て処理を実行する。実行制御部17は、これら各部13〜16
の起動順序を制御する。
The logic circuit data storage unit 11 stores a network-like data structure that describes the components of the logic circuit and their connections. In the logic circuit conversion rule storage unit 12,
Stores high-function element allocation rules, abstract logic gate expansion rules, optimization conversion rules, and real element allocation rules, which will be described later. The high function element allocating unit 13 extracts the abstract function module from the logic circuit data stored in the logic circuit data storage unit 11 and executes the high function allocation rule according to the high function element allocation rule in the logic circuit conversion rule storage unit 12. I do. The abstract logic gate expansion unit 14 executes a process of expanding an abstract function module in the logic circuit data to which no particularly high-performance element is assigned according to the abstract logic gate expansion rule stored in the logic circuit conversion rule storage unit 12. . The optimizing conversion executing unit 15 executes an optimizing conversion process on the circuit part based on the abstract logic gate in the logic circuit data in accordance with the optimizing conversion rule such as redundant logic deletion stored in the logic circuit conversion rule storage unit 12. I do. The real element allocating unit 16 converts the logic circuit data into a circuit or the like consisting of only an abstract NAND gate, and then converts the real element allocation rules (for example, 2 inputs, 3 inputs and 4 inputs) stored in the logic circuit conversion rule storage unit 12. The real element allocation process is executed in accordance with an allocation rule other than the high function element such as the input NAND element. The execution control unit 17 includes these units 13 to 16
Control the boot order.

以上の構成において、いま論理回路データ記憶部11に
前述した第6図に示すような回路が格納されている場合
について考える。この回路は「2ビットの制御信号Cの
値によってZにD1〜D4(全て1ビット)のいずれか1つ
の信号を選択し、出力する」という機能をもつテクノロ
ジー非依存回路であり、例えば、第5図に示すような動
作記述から生成される。記述中のDECODEは、「引き数C
の値がnの時に出力のnビット目(DECODE(C)<n−
1>)に1を立てる」というデコード機能を表す関数で
ある。第6図の回路は、抽象セレクタ31と抽象デコーダ
32とにより構成されている。なお第6図中、C<1:0>
は、ビット1,0をもつ2ビットの信号を表す。
In the above configuration, consider the case where a circuit as shown in FIG. 6 is stored in the logic circuit data storage unit 11 now. This circuit is a technology-independent circuit having a function of selecting and outputting any one of D1 to D4 (all 1 bit) to Z according to the value of a 2-bit control signal C. It is generated from the operation description as shown in FIG. DECODE in the description is "argument C
Is n, the n-th bit of the output (DECODE (C) <n−
1>) is set to "1"). The circuit in FIG. 6 includes an abstract selector 31 and an abstract decoder.
32. In FIG. 6, C <1: 0>
Represents a 2-bit signal having bits 1 and 0.

第2図は本実施例のシステムの動作フローを示すフロ
ーチャートである。
FIG. 2 is a flowchart showing the operation flow of the system of this embodiment.

即ち、まず、ステップS1で第1図の実行制御部17が、
高機能素子割当て部13を起動することにより、抽象機能
モジュールに対して実在する高機能素子の割当て処理が
実行される。ここでは、簡単のため、実在する高機能素
子は、2入力,4入力及び8入力のマルチプレクサのみと
する。この場合、論理回路変換規則記憶部12には、高機
能素子割当て規則として、例えば第3図に示すような規
則が格納されている。この規則は、抽象機能モジュール
に対して4入力マルチプレクサMUX41を割当てるもの
で、同図(a)に示すような「4データ入力をもつ抽象
セレクタの制御入力が2ビット抽象デコーダの出力とな
っている。」回路パターンを見つけ、同図(b)に示す
ようなMUX41からなる回路に変換する規則である。ここ
で、抽象セレクタの入力データのビット幅をnとする
と、n個のMUX41が割当てられることになる。
That is, first, in step S1, the execution control unit 17 of FIG.
By activating the high-functional element allocating unit 13, the process of allocating the real high-functional element to the abstract functional module is executed. Here, for the sake of simplicity, it is assumed that the existing high-performance elements are only 2-input, 4-input and 8-input multiplexers. In this case, for example, a rule as shown in FIG. 3 is stored in the logic circuit conversion rule storage unit 12 as a high function element assignment rule. According to this rule, a 4-input multiplexer MUX41 is assigned to an abstract function module, and the control input of an abstract selector having 4 data inputs is the output of a 2-bit abstract decoder as shown in FIG. The rule is to find a circuit pattern and convert it to a circuit consisting of the MUX 41 as shown in FIG. Here, assuming that the bit width of the input data of the abstract selector is n, n MUXs 41 are allocated.

高機能素子割当て部13は、このような規則を使用して
第4図に示すような処理アルゴリズムを実行する。第6
図の回路にこのアルゴリズムを適用すると、まず、ステ
ップS11において、抽象セレクタ31が取り出され、ステ
ップS12,S13,S14へと進む。ここで、k=4となるか
ら、ステップS15へと進み、抽象セレクタ31に対して第
3図のMUX41の割当て規則が適用される。第6図におけ
る抽象セレクタ31と抽象デコーダ32の接続関係は、第3
図(a)の回路パターンと一致するため、上記の規則の
適用は成功し、n=1であるから、第11図に示すような
MUX41を含む回路が生成される。この処理によって、こ
の回路中にはもはや抽象セレクタは存在しなくなるた
め、ステップS11,S12を経て処理は終了する。
The high function element allocating unit 13 executes a processing algorithm as shown in FIG. 4 using such rules. Sixth
When this algorithm is applied to the circuit shown in the figure, first, in step S11, the abstract selector 31 is extracted, and the process proceeds to steps S12, S13, and S14. Here, since k = 4, the process proceeds to step S15, and the allocation rule of the MUX 41 in FIG. The connection relationship between the abstract selector 31 and the abstract decoder 32 in FIG.
Since the application of the above rule is successful and n = 1 since it matches the circuit pattern of FIG.
A circuit including the MUX 41 is generated. As a result of this processing, the abstract selector no longer exists in this circuit, and the processing ends through steps S11 and S12.

次に第2図のステップS2において実行制御部17は、抽
象論理ゲート展開部14を起動する。これにより抽象論理
ゲート展開部14は、論理回路変換規則記憶部12中の抽象
論理ゲート展開規則を使用して抽象機能モジュールを抽
象AND/ORゲートに展開する。ここで展開される抽象機能
モジュールは、上記高機能素子の割当てが成功せずに残
った抽象機能モジュールである。従って、第11図におい
ては、抽象機能モジュールは存在しないため、回路の状
態は変化しない。
Next, in step S2 of FIG. 2, the execution control unit 17 activates the abstract logic gate developing unit 14. As a result, the abstract logic gate development unit 14 uses the abstract logic gate development rules in the logic circuit conversion rule storage unit 12 to develop the abstract function module into abstract AND / OR gates. The abstract function module to be developed here is an abstract function module which remains without successfully allocating the high function element. Therefore, in FIG. 11, since there is no abstract function module, the state of the circuit does not change.

更に、実行制御部17は、第2図のステップS3で最適化
変換実行部15を起動し、ステップS4で実在素子割当て部
16を起動する。これにより、最終的に実在素子のみから
成る回路を生成する。勿論、この場合でも第11図の回路
は既に実在素子のみから成る回路であるから、これらの
処理を経ても回路の状態は変化しない。従って、最終的
に第11図の回路が生成される。
Further, the execution control unit 17 activates the optimization conversion execution unit 15 in step S3 of FIG. 2, and executes the real element allocation unit in step S4.
Start 16 As a result, a circuit consisting of only real elements is finally generated. Of course, even in this case, the circuit shown in FIG. 11 is a circuit composed of only existing elements, so that even after these processes, the state of the circuit does not change. Therefore, the circuit of FIG. 11 is finally generated.

このように、本実施例によれば、抽象機能モジュール
を抽象論理ゲートに展開する高機構素子割当ての可能性
を調べることによって、高機能素子を高速に割当てるこ
とができる。実際、第3図に示したマルチプレクサMUX4
1の割当てにおいては、同図(a)のような抽象セレク
タ、抽象デコーダの2個の要素と10本の結線からなる回
路パターンを探索するだけでよい。これに対して、抽象
機能モジュールを抽象論理ゲートに展開した後に高機能
素子を割り当てる従来の方式では、例えば第10図Aの抽
象NANDゲートから成るパターンの場合、7個の要素と18
本の結線から成る複雑な回路パターンを探索しなければ
ならない。このため、探索に時間がかかる。しかも、抽
象NANDゲートからなる第10図Aと論理的に等価なパター
ンとして、第10図B,Cに示したものも考えられるため、
これらのパターンについても探索する必要があり、処理
時間は更に長くなる。ちなみに、第10図Bは15個の要素
と27個の結線からなり、Cは13個の要素と25個の結線か
らなるので、第10図Aの場合よりもさらに探索に時間が
かかる。
As described above, according to the present embodiment, by examining the possibility of high-mechanism element allocation for expanding an abstract function module into an abstract logic gate, high-function elements can be allocated at high speed. In fact, the multiplexer MUX4 shown in FIG.
In the assignment of 1, it is only necessary to search for a circuit pattern composed of two elements and 10 connections of an abstract selector and an abstract decoder as shown in FIG. On the other hand, in the conventional method in which the high-performance elements are allocated after the abstract function module is expanded into the abstract logic gate, for example, in the case of the pattern composed of the abstract NAND gate in FIG.
A complicated circuit pattern consisting of book connections must be searched. Therefore, it takes time to search. Moreover, since the patterns shown in FIGS. 10B and 10C can be considered as a logically equivalent pattern to FIG. 10A including the abstract NAND gate,
It is necessary to search for these patterns, and the processing time is further increased. Incidentally, since FIG. 10B is composed of 15 elements and 27 connections, and C is composed of 13 elements and 25 connections, it takes more time to search than in the case of FIG. 10A.

また、抽象機能モジュールを抽象論理ゲートに展開し
た後に、最適化処理等が行われた場合は、展開直後の回
路が変形されてしまい、第10図のパターンと一致しなく
なる可能性がある。この結果、従来方式ではマルチプレ
クサの機能をもつ回路にマルチプレクサ素子が割当てら
れず、機能が把握しにくい回路が生成されるという問題
がしばしば起こったが、本実施例によれば、抽象機能モ
ジュールが存在する段階において高機能素子を割当てる
ため、回路の機能情報を利用した高品質の回路を生成す
ることが可能である。
Further, when the optimization processing or the like is performed after the abstract function module is expanded into the abstract logic gate, the circuit immediately after the expansion may be deformed, and may not match the pattern of FIG. As a result, in the conventional system, a multiplexer element is not assigned to a circuit having a multiplexer function, and a problem often occurs that a circuit whose function is difficult to grasp is generated. However, according to the present embodiment, an abstract function module does not exist. Since a high-performance element is assigned at the stage of performing, a high-quality circuit using function information of the circuit can be generated.

なお、本発明は上述した実施例に限定されるものでは
ない。例えば、本発明の方式と従来の方式とを併用する
ようにしても良い。即ち、高機能素子割当て部13によっ
て、抽象機能モジュールが存在する段階において高機能
素子を割当てると共に、実在素子割当て部16によって、
抽象論理ゲートのみから成る回路においてもパターンの
探索を行い、高機能素子を割当てることによって高機能
素子をできる限り使用した回路を生成するという方法も
考えられる。この場合には、高機能素子を利用した更に
高品質の回路を生成することが可能となる。また、上記
実施例においては、論理回路変換規則を各部13〜16と
は、独立したルールベースとして備えたが、これら規則
を各部13〜16におけるアルゴリズムとして、各部13〜16
に組込むようにしても良い。
The present invention is not limited to the embodiments described above. For example, the system of the present invention and the conventional system may be used together. That is, the high-performance element allocating unit 13 allocates the high-performance device at the stage where the abstract function module exists, and the real device allocating unit 16
A method is also conceivable in which a pattern is searched for a circuit consisting only of abstract logic gates, and a circuit using high-performance elements as much as possible is generated by allocating high-performance elements. In this case, it is possible to generate a circuit of higher quality using a high-performance element. Further, in the above embodiment, the logic circuit conversion rules are provided as an independent rule base from each of the units 13 to 16.
It may be incorporated in

[発明の効果] 以上述べたように、本発明によれば、テクノロジー非
依存回路中の抽象加算器,抽象セレクタ及び抽象デコー
ダ等の抽象機能モジュールをAND/OR等の抽象論理ゲート
に展開する以前の段階において、該抽象機能モジュール
に対して実在する高機能素子を割当てるため、割当てに
要する回路パターンの探索コストは、プリミティブゲー
トから成る回路パターンを探索する従来の方式に比べ格
段に小さくなり、その結果、高機能素子を含む回路を高
速に合成することが可能となる。
[Effects of the Invention] As described above, according to the present invention, before an abstract function module such as an abstract adder, an abstract selector and an abstract decoder in a technology-independent circuit is developed into an abstract logic gate such as an AND / OR. In the step of allocating real high-performance elements to the abstract function module, the search cost of the circuit pattern required for the allocation is significantly smaller than the conventional method of searching for a circuit pattern composed of primitive gates. As a result, a circuit including a high-performance element can be synthesized at high speed.

また、最適化処理等の変形が行われた後の抽象論理ゲ
ートからなる回路の段階ではなく、抽象機能モジュール
が存在する段階において該抽象機能モジュールに対して
直接実在する機能素子を割当てるため、回路の機能に着
目した高品質の回路を生成することが可能となる。
Also, instead of the circuit stage consisting of the abstract logic gates after the transformation such as the optimization process is performed, the actual function element is directly assigned to the abstract function module in the stage where the abstract function module exists, so that the circuit It is possible to generate a high-quality circuit that focuses on the functions described above.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の一実施例に係る論理合成システムの構
成を示すブロック図、第2図は同システムの動作フロー
を示す流れ図、第3図は同システムにおける高機能素子
割当て規則を示す図、第4図は同システムにおける高機
能素子割当てアルゴリズムを示す流れ図、第5図は設計
対象回路の動作記述の例を示す図、第6図は第5図の記
述から生成されるテクノロジー非依存回路を示す図、第
7図(a)は第6図の回路を抽象論理ゲートに展開して
得られる回路を示す図、第7図(b)は第7図(a)の
回路に最適化処理を施して得られる回路を示す図、第8
図及び第9図は最適化規則の一例を示す図、第10図は抽
象論理ゲートからなる回路パターンに対して実在素子を
割当てる規則を示す図、第11図は実在素子が割当てられ
たテクノロジー依存回路を示す図である。 11……論理回路データ記憶部、12……論理回路変換規則
記憶部、13……高機能素子割当て部、14……抽象論理ゲ
ート展開部、15……最適化変換実行部、16……実在素子
割当て部、17……実行制御部。
FIG. 1 is a block diagram showing a configuration of a logic synthesis system according to one embodiment of the present invention, FIG. 2 is a flowchart showing an operation flow of the system, and FIG. 3 is a diagram showing a high function element assignment rule in the system. , FIG. 4 is a flowchart showing an algorithm for allocating high-performance elements in the system, FIG. 5 is a diagram showing an example of an operation description of a circuit to be designed, and FIG. 6 is a technology-independent circuit generated from the description in FIG. FIG. 7 (a) is a diagram showing a circuit obtained by expanding the circuit of FIG. 6 into abstract logic gates, and FIG. 7 (b) is an optimization process for the circuit of FIG. 7 (a). FIG. 8 shows a circuit obtained by applying
FIG. 9 and FIG. 9 show examples of optimization rules. FIG. 10 shows rules for allocating real elements to a circuit pattern composed of abstract logic gates. FIG. 11 shows the dependence on the technology to which real elements are allocated. It is a figure showing a circuit. 11: Logic circuit data storage unit, 12: Logic circuit conversion rule storage unit, 13: High function element allocation unit, 14: Abstract logic gate development unit, 15: Optimization conversion execution unit, 16: Real Element allocator, 17 ... Execution controller.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】設計対象とする論理回路を記述したテクノ
ロジー非依存回路に含まれる、抽象論理ゲートに展開さ
れる前の抽象機能モジュールに対して実在する機能素子
を直接割り当てる手段と、 この手段で割り当てられなかった抽象機能モジュールを
抽象論理ゲートに展開する手段と、 この手段で展開された抽象論理ゲートおよび前記テクノ
ロジー非依存回路に含まれる抽象論理ゲートに対して少
なくとも冗長論理削除の最適化変換処理を施す手段と、 この手段で最適化変換された抽象論理ゲートに対して実
在素子を割り当てる手段とを具備したことを特徴とする
論理合成方式。
A means for directly assigning a real functional element to an abstract function module before being developed into an abstract logic gate, which is included in a technology independent circuit describing a logic circuit to be designed; Means for expanding an unassigned abstract function module into an abstract logic gate; and optimizing conversion processing of at least redundant logic deletion for the abstract logic gate expanded by this means and the abstract logic gate included in the technology independent circuit And a means for allocating a real element to the abstract logic gate optimized and converted by the means.
【請求項2】テクノロジー非依存回路に実在素子を割り
当ててテクノロジー依存の論理回路を生成する論理合成
方式において、 テクノロジー非依存回路に含まれる、抽象論理ゲートに
展開される前の抽象機能モジュールに対して実在する機
能素子を直接割り当てる機能素子割り当て手段を備えた
ことを特徴とする論理合成方式。
2. A logic synthesis method in which a real element is assigned to a technology-independent circuit to generate a technology-dependent logic circuit, wherein an abstract function module included in the technology-independent circuit before being expanded into an abstract logic gate is provided. A functional element allocating means for directly allocating a functional element existing in the logic synthesis method.
JP1076053A 1989-03-28 1989-03-28 Logic synthesis method Expired - Lifetime JP2925160B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1076053A JP2925160B2 (en) 1989-03-28 1989-03-28 Logic synthesis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1076053A JP2925160B2 (en) 1989-03-28 1989-03-28 Logic synthesis method

Publications (2)

Publication Number Publication Date
JPH02253476A JPH02253476A (en) 1990-10-12
JP2925160B2 true JP2925160B2 (en) 1999-07-28

Family

ID=13594038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1076053A Expired - Lifetime JP2925160B2 (en) 1989-03-28 1989-03-28 Logic synthesis method

Country Status (1)

Country Link
JP (1) JP2925160B2 (en)

Also Published As

Publication number Publication date
JPH02253476A (en) 1990-10-12

Similar Documents

Publication Publication Date Title
US5349659A (en) Hierarchical ordering of logical elements in the canonical mapping of net lists
US5553001A (en) Method for optimizing resource allocation starting from a high level
WO1994028475A1 (en) Field programmable logic device with dynamic interconnections to a dynamic logic core
JP2689908B2 (en) How to synthesize an initializeable asynchronous circuit design
JP5157534B2 (en) Behavioral synthesis apparatus and program
JP2925160B2 (en) Logic synthesis method
US6886088B2 (en) Memory that allows simultaneous read requests
JPH0430068B2 (en)
US6532584B1 (en) Circuit synthesis method
JP2006209432A (en) Cell instance generation method
JP2835082B2 (en) Logic circuit synthesizer
JP2980348B2 (en) Logic circuit synthesizer
JPH1196203A (en) Method for designing logical circuit
US8136061B2 (en) Method of logic circuit synthesis and design using a dynamic circuit library
JP2930087B2 (en) Logic design support system
JPH08153129A (en) Reuse facilitating device
JP2606659B2 (en) Logic circuit hierarchy development apparatus and method
JP3293640B2 (en) Circuit data connection tracking system
US6988252B2 (en) Universal gates for ICs and transformation of netlists for their implementation
JP2557853B2 (en) Logic circuit element allocation method
JPH1115865A (en) Device and method for synthesizing logic circuit, and computer-readable recording medium recorded with synthesis program of logic circuit
JP2664946B2 (en) Logic circuit test pattern generator
JP2519336B2 (en) Technology-mapping method
JPH0830646A (en) Parallel processing method for simulation of logic circuit
JP2001216339A (en) Integrated process rtl description generation system

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090507

Year of fee payment: 10

EXPY Cancellation because of completion of term