JPH11345253A - Logic synthesizing device, logic synthesizing method and medium recording logic synthetic program - Google Patents

Logic synthesizing device, logic synthesizing method and medium recording logic synthetic program

Info

Publication number
JPH11345253A
JPH11345253A JP10154220A JP15422098A JPH11345253A JP H11345253 A JPH11345253 A JP H11345253A JP 10154220 A JP10154220 A JP 10154220A JP 15422098 A JP15422098 A JP 15422098A JP H11345253 A JPH11345253 A JP H11345253A
Authority
JP
Japan
Prior art keywords
description
logic
logical
circuit
implementation
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.)
Withdrawn
Application number
JP10154220A
Other languages
Japanese (ja)
Inventor
Osamu Chiba
修 千葉
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10154220A priority Critical patent/JPH11345253A/en
Publication of JPH11345253A publication Critical patent/JPH11345253A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To remarkably reduce the time needed for logical synthesis by making a logic synthesizing means synthesize a logic circuit from description including the description of a block that is subjected to logical compression with a logical compressing means. SOLUTION: A syntax analyzing part 21 reads RTL description that becomes an object of syntax analysis from a file and analyzes the syntax of the description. A logic compressing part 22 before synthesis extracts a combinational circuit from the read RTL and performs logic compression. A logical structure deciding part 23 estimates and constructs a logic circuit structure while referring to an internal library to the RTL undergoing the logic compression. An implementation deciding part 24 decides implementation based on a design restriction condition. A technology mapping part 25 converts a logic circuit that is synthesized by using the internal library into a library designated by a user. A violation place correcting part 26 corrects design restriction violation place, etc. A logic compressing part 27 after synthesis compresses logic after logical synthesis.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ハードウェア記述
言語を論理合成して得られる論理回路の最適化に関し、
特に、論理合成前に最適化を行う論理合成装置、論理合
成方法および論理合成プログラムを記録した媒体に関す
る。
The present invention relates to optimization of a logic circuit obtained by logically synthesizing a hardware description language.
In particular, the present invention relates to a logic synthesis device that performs optimization before logic synthesis, a logic synthesis method, and a medium that stores a logic synthesis program.

【0002】[0002]

【従来の技術】近年、半導体集積回路の高密度化、多機
能化に伴い、その回路規模は増大する傾向にあり、回路
設計に要する時間も増加しつつある。この回路設計に要
する時間を短縮する方法の1つとして、ハードウェア記
述言語(HDL)を使用して回路設計を行う方法が挙げ
られる。
2. Description of the Related Art In recent years, as semiconductor integrated circuits have become denser and more multifunctional, the circuit scale has tended to increase, and the time required for circuit design has also increased. As one of the methods for reducing the time required for the circuit design, there is a method of designing the circuit using a hardware description language (HDL).

【0003】図15は、従来の論理合成装置における論
理合成の処理手順を説明するためのフローチャートであ
る。まず、論理合成の対象となるRTL(Register Tra
nsfer level )がファイルから読み込まれ、その記述の
構文が解析される(S101)。この構文解析におい
て、文法的に誤りのある記述、または論理合成装置に扱
えない記述があれば、エラーメッセージを表示して処理
を中止する。そして、論理合成装置で扱えない記述がな
ければ、ステップS102へ進む。
FIG. 15 is a flowchart for explaining a processing procedure of logic synthesis in a conventional logic synthesis apparatus. First, the RTL (Register Tra
nsfer level) is read from the file, and the syntax of the description is analyzed (S101). In this syntax analysis, if there is a grammatically incorrect description or a description that cannot be handled by the logic synthesizer, an error message is displayed and the processing is stopped. If there is no description that cannot be handled by the logic synthesis device, the process proceeds to step S102.

【0004】図16は、ハードウェア記述言語の一例と
して、Verilog−HDLによるRTL記述を示し
ている。最初の行に、module文によりマクロセル
comb_testが定義されている。このcomb_
testは、出力信号hと入力信号a,b,cおよびd
とを含んでいる。2行目には、出力信号hが定義されて
いる。そして、3〜6行目には、入力信号a〜dが定義
されている。
FIG. 16 shows an RTL description in Verilog-HDL as an example of a hardware description language. In the first line, a macro cell comb_test is defined by a module statement. This comb_
test is the output signal h and the input signals a, b, c and d
And In the second row, the output signal h is defined. In the third to sixth rows, input signals a to d are defined.

【0005】7〜8行目には、配線型(wire型)変
数hおよびgが中間変数として定義されている。また、
9 行目において、中間変数hが入力信号aと中間変数g
との論理積であることが定義されている。また、10行
目において、中間変数gが(入力信号aとbとの論理
積)および(入力信号cとdとの論理積)の論理和であ
ることが定義されている。さらに、最後の行において、
endmodule文によりマクロセルcomb_te
stの定義が終わりであることを示している。なお、図
16に示す記述には文法的な誤りはない。
In lines 7 and 8, wiring type variables (wire type) h and g are defined as intermediate variables. Also,
In line 9, the intermediate variable h is the input signal a and the intermediate variable g
Is defined as the logical product of In the tenth line, it is defined that the intermediate variable g is a logical sum of (logical product of input signals a and b) and (logical product of input signals c and d). In addition, in the last line,
Macro cell comb_te by endmodule statement
This indicates that the definition of st is over. Note that there is no grammatical error in the description shown in FIG.

【0006】再び図15のフローチャートに戻り、以下
に説明を続ける。ステップS101において読み込んだ
RTLに対して、内部ライブラリを参照しながら論理回
路構造を推定し、構築する。すなわち、RTLに定義さ
れている&(論理積)、|(論理和) 、および !(否
定) 等の演算子は、それぞれ内部ライブラリを参照する
ことにより、AND,ORおよびNOTセルに単純にマ
ッピングされる。
Returning to the flowchart of FIG. 15, the description will be continued below. The logic circuit structure is estimated and constructed for the RTL read in step S101 with reference to the internal library. In other words, operators such as & (logical product), | (logical sum), and! (Negative) defined in RTL are simply mapped to AND, OR, and NOT cells by referring to the internal library. Is done.

【0007】図17は、図16に示すRTL記述から合
成された論理回路を示している。図17中は、図16
のの記述から推定された論理構造に対応するものであ
る。また、図17中は、図16のの記述から推定さ
れた論理構造に対応するものである。
FIG. 17 shows a logic circuit synthesized from the RTL description shown in FIG. In FIG. 17, FIG.
Corresponds to the logical structure deduced from the description of. 17 corresponds to the logical structure deduced from the description of FIG.

【0008】一方、論理演算子以外の+(加算)、−
(減算)、*(乗算)、/(除算)等で表記される算術
演算子については、インプリメンテーションが選択され
ていない内部ライブラリの演算器セルにマッピングされ
る。また、レジスタ(RTL上でレジスタ型変数で定義
され、構文解釈上で記憶素子として解釈されるもの)に
ついては、エッジトリガ設計方式ではフリップフロップ
(以下、F/Fと呼ぶ)セルに、レベルセンシティブ方
式ではラッチ(以下、Latchと呼ぶ) セルに変換さ
れる。
On the other hand, + (addition) and-other than logical operators
Arithmetic operators represented by (subtraction), * (multiplication), / (division) and the like are mapped to the operation unit cells of the internal library for which the implementation is not selected. In the edge trigger design method, a register (defined as a register type variable on the RTL and interpreted as a storage element in a syntax interpretation) is provided with a level-sensitive flip-flop (hereinafter, referred to as F / F) cell. In the method, the data is converted into a latch (hereinafter referred to as Latch) cell.

【0009】図18(a)は、算術演算子および記憶素
子の記述を含んだRTLの一例を、図18(b)は、そ
の記述から合成された論理構造を示している。図18
(a)に示すように、1 行目においてmodule文に
よってマクロセルsample_datapathが定
義されている。また、2行目において8ビットの出力信
号out_datが定義されており、3行目において7
ビットの入力信号in1、in2およびadd_val
が定義されている。また、4行目および5行目において
入力信号sel_inおよびclkがそれぞれ定義され
ている。
FIG. 18A shows an example of an RTL including a description of an arithmetic operator and a storage element, and FIG. 18B shows a logical structure synthesized from the description. FIG.
As shown in (a), a macro cell sample_datapath is defined by a module statement in the first line. An 8-bit output signal out_dat is defined in the second row, and 7-bit output signal out_dat is defined in the third row.
Bit input signals in1, in2 and add_val
Is defined. In the fourth and fifth rows, input signals sel_in and clk are defined, respectively.

【0010】6行目において、レジスタ型(reg型)
変数として8ビットの出力信号out_datが定義さ
れている。また、7行目において配線型(wire型)
変数として7ビットの入力信号in_datが定義され
ている。
In line 6, a register type (reg type)
An 8-bit output signal out_dat is defined as a variable. In the seventh row, a wiring type (wire type)
A 7-bit input signal in_dat is defined as a variable.

【0011】8行目においては、sel_in信号によ
ってin1またはin2のうちいずれかが選択されて配
線型変数in_datとして出力されることが記述され
ている。さらには、9行目において、7ビットの配線型
変数in_datと7ビットの入力信号add_val
とが加算されて、入力信号clkのポジティブエッヂで
値が保持され、レジスタ型変数out_datとして出
力されることが記述されている。
The eighth line describes that either the signal in1 or the signal in2 is selected by the signal sel_in and output as the wiring variable in_dat. Further, in the ninth row, a 7-bit wiring type variable in_dat and a 7-bit input signal add_val
Are described, the value is held at the positive edge of the input signal clk, and is output as the register type variable out_dat.

【0012】図18(b)は、図18(a)に示すRT
Lから合成された論理構造を示している。図18(a)
のに示す記述から図18(b)に示すセレクタセル
の論理構造が、図18(a)のに示す記述から図18
(b)に示す記憶素子F/Fの論理構造が、図18
(a)のに示す記述から図18(b)に示す算術演算
セル(加算器) の論理構造が決定される。しかし、図
18(b)に示す論理構造が決定された段階では、まだ
算術演算子から推定された加算器の実現方式を決定す
るためのインプリメンテーションが決定されていないの
で、ブラックボックスとして扱われる。
FIG. 18B shows the RT shown in FIG.
3 shows a logical structure synthesized from L. FIG. 18 (a)
The logical structure of the selector cell shown in FIG. 18B is changed from the description shown in FIG.
The logical structure of the storage element F / F shown in FIG.
The logic structure of the arithmetic operation cell (adder) shown in FIG. 18B is determined from the description shown in FIG. However, at the stage where the logical structure shown in FIG. 18B has been determined, the implementation for determining the implementation method of the adder estimated from the arithmetic operator has not yet been determined, so that it is treated as a black box. Will be

【0013】再び、図15に示すフローチャートに戻
り、次に設計制約条件に基づいたインプリメンテーショ
ンの選択を行う(S103)。ステップS102におい
て、算術演算セル(加算器) のインプリメンテーショ
ンがまだ選択されていないので、外部より与えられた設
計制約条件(速度優先または面積優先が設定される)に
基づいて、その内部論理構造が決定される。
Returning again to the flowchart shown in FIG. 15, an implementation is selected based on design constraints (S103). In step S102, since the implementation of the arithmetic operation cell (adder) has not been selected yet, the internal logical structure of the arithmetic operation cell (adder) is set based on the externally applied design constraint (speed or area priority is set). Is determined.

【0014】たとえば、図18(b)に示す加算器の
場合、速度優先の設計制約条件が与えられるとCarry Lo
ok Ahead方式の加算器に相当する論理回路構造が、また
面積優先の設計制約条件が与えられるとRipple Carry方
式の加算器に相当する論理回路構造が、AND,OR,
NOT等の単純演算セルを用いて構成される。なお、こ
のインプリメンテーション選択の最終段階において、読
み込まれたRTL記述は組合せ回路部分についてはAN
D,OR,NOT等の単純演算セルによって、順序回路
部分についてはF/FまたはLatchの記憶素子によ
って表現される。
For example, in the case of the adder shown in FIG.
ok The logic circuit structure corresponding to the Ahead type adder, and the logic circuit structure corresponding to the Ripple Carry type adder given the area-first design constraint condition are AND, OR,
It is configured using a simple operation cell such as NOT. Note that at the final stage of this implementation selection, the read RTL description is an
Simple operation cells such as D, OR, NOT, etc., and the sequential circuit portion are represented by F / F or Latch storage elements.

【0015】次に、以上の処理によって論理合成装置の
内部ライブラリを用いて決定された論理構造を、ユーザ
指定のライブラリ(プロセス、テクノロジおよびデザイ
ンルール別に分類されたライブラリを指す。たとえば、
CMOS(Complementary Metal Oxide Semiconductor)
0.8μm3層Al等がこれに相当する。)を用いた論
理回路に変換される(S104)。この論理回路の変換
の際、ユーザ指定ライブラリに存在しない内部セルで表
現されている論理構造は、ユーザ指定ライブラリを用い
た等価論理回路に置換される。この等価論理回路への変
換は、テクノロジマッピングと呼ばれている。
Next, the logical structure determined by using the internal library of the logic synthesizer by the above processing is converted into a library specified by a user (a library classified by process, technology, and design rule. For example,
CMOS (Complementary Metal Oxide Semiconductor)
0.8 μm three-layer Al corresponds to this. ) Is converted into a logic circuit (S104). At the time of the conversion of the logic circuit, the logic structure represented by an internal cell that does not exist in the user-specified library is replaced with an equivalent logic circuit using the user-specified library. This conversion to an equivalent logic circuit is called technology mapping.

【0016】図19(a)および19(b)は、このテ
クノロジマッピングの一例を示す図である。図19
(a)に示す論理回路(8入力AND素子)がユーザ
指定ライブラリ内にない場合、図19(b)に示すよう
にテクノロジマッピングにより2個の4入力AND素子
およびと、1個の2入力AND素子に変換され
る。また、4入力AND素子と2入力AND素子と
の間に出力信号out1が、4入力AND素子と2入
力AND素子との間に出力信号out2が自動的に生
成される。このように、テクノロジマッピングにより、
素子数(セル数)が最小となるよう等価回路が構築さ
れ、等価回路が当該論理回路に割り付けられる。
FIGS. 19A and 19B are diagrams showing an example of this technology mapping. FIG.
When the logic circuit (8-input AND element) shown in (a) is not in the user-specified library, as shown in FIG. 19B, two 4-input AND elements and one 2-input AND are obtained by technology mapping. Converted to elements. Further, an output signal out1 is automatically generated between the four-input AND element and the two-input AND element, and an output signal out2 is automatically generated between the four-input AND element and the two-input AND element. Thus, with technology mapping,
An equivalent circuit is constructed so that the number of elements (the number of cells) is minimized, and the equivalent circuit is allocated to the logic circuit.

【0017】再び、図15に示すフローチャートに戻
り、説明を続ける。次に、設計制約違反箇所および設計
規則違反箇所の修正を行う(S105)。外部から与え
られた具体的な設計制約違反として、たとえば、回路の
動作周波数に関する制約や回路の面積に関する制約に違
反する場合がこれに該当する。また、設計規則違反とし
て、たとえば、記憶素子におけるセットアップ時間、ホ
ールド時間またはセルの駆動能力不足等がこれに該当す
る。
Returning to the flowchart shown in FIG. 15, the description will be continued. Next, the design constraint violation part and the design rule violation part are corrected (S105). As a specific design constraint violation given from the outside, for example, a case in which a constraint on an operating frequency of a circuit or a constraint on an area of a circuit is violated. Further, as a violation of the design rule, for example, a setup time, a hold time, or a shortage of cell driving capability in the storage element corresponds to this.

【0018】最後に、論理回路の圧縮が行われる(S1
06)。ステップS105において行われた設計制約違
反および設計規則違反とならない範囲内で、ブール代数
の公理や定理を適用して論理圧縮を行う。たとえば、図
20(a)に示す論理回路であれば、入力信号AとBと
の関係はNOTセル2個の直列接続(ブール代数では2
重否定)によって表現されている。ここで、信号AとB
との間の設計制約条件(たとえば、信号Bが次段で順序
回路の入力データに接続されていれば、セットアップ時
間やホールド時間に影響を与える)や設計規則条件(た
とえば、配線の負荷容量による遅延時間に影響を与え
る)に抵触しない範囲で、図20(b)に示すようにド
ライバセル1個による機能表現に置換される。さらに、
図20(c)に示すように配線の直接接続による機能表
現に置換される。これらの置換は、いずれもブール代数
の定理によるものである。
Finally, the logic circuit is compressed (S1).
06). Logical compression is performed by applying a Boolean axiom axiom or theorem within a range that does not violate the design constraints and design rules performed in step S105. For example, in the case of the logic circuit shown in FIG. 20A, the relationship between input signals A and B is determined by connecting two NOT cells in series (2 in a Boolean algebra).
Double negation). Here, signals A and B
(For example, if the signal B is connected to the input data of the sequential circuit at the next stage, it affects the setup time and the hold time) and the design rule conditions (for example, As long as it does not conflict with the delay time, the function expression is replaced by a single driver cell as shown in FIG. further,
As shown in FIG. 20C, the function is replaced with a functional expression by direct connection of wiring. All of these permutations are based on the Boolean algebra theorem.

【0019】以上の処理によって合成された論理回路か
ら、ユーザによって指定された形式のネットリストデー
タを生成して出力し、処理を終了する。なお、ステップ
S106において設計制約条件および設計規則条件に抵
触しない範囲で論理圧縮が行えなければ、ステップS1
05までに合成された論理回路からネットリストデータ
を生成して出力し、処理を終了する。
From the logic circuit synthesized by the above processing, netlist data in the format specified by the user is generated and output, and the processing is terminated. If the logical compression cannot be performed within the range that does not violate the design constraint conditions and the design rule conditions in step S106, step S1
The netlist data is generated and output from the logic circuit synthesized up to 05, and the process ends.

【0020】[0020]

【発明が解決しようとする課題】一般に、Verilo
g−HDL(IEEE−1364)、またはVHDL
(IEEE−1076)等のハードウェア記述言語を論
理合成して得られた論理回路は、論理接続図等によって
人手入力されて作成された論理回路と比較して、レイア
ウト(配置配線)作業が困難であるといわれている。そ
の理由の1つとして、合成後の論理回路を想定せずに機
能だけを満足するように記述される点が挙げられる。す
なわち、論理合成装置の処理能力の不足により、入力さ
れたハードウェア記述言語から論理回路を合成する際、
論理回路の最適化が十分に行われないことによるもので
ある。
SUMMARY OF THE INVENTION Generally, Verilo
g-HDL (IEEE-1364) or VHDL
A logic circuit obtained by logically synthesizing a hardware description language such as (IEEE-1076) is more difficult to perform layout (placement and wiring) work than a logic circuit created by manual input using a logical connection diagram or the like. It is said to be. One of the reasons is that description is made so as to satisfy only functions without assuming a logic circuit after synthesis. That is, when synthesizing a logic circuit from the input hardware description language due to lack of processing capability of the logic synthesis device,
This is because the optimization of the logic circuit is not performed sufficiently.

【0021】このように、合成後の論理回路を意識せず
に記述されたプログラムは、冗長な論理の記述を含み、
従来の十分な処理能力を持たない論理合成装置によって
合成された論理回路は、pin−pair/gate等
に代表されるレイアウト指標の極端な悪化が起こらない
ため、レイアウト容易性の事前チェックが困難であると
いう問題点があった。なお、このpin−pair/g
ateとは、出力端子に接続される入力端子数をゲート
の面積で割った値を意味し、この値が大きくなるとレイ
アウトが困難となることを示している。
As described above, a program described without considering the synthesized logic circuit includes a redundant logic description,
In a logic circuit synthesized by a conventional logic synthesis device having insufficient processing capability, a layout index represented by pin-pair / gate or the like does not extremely deteriorate. There was a problem. In addition, this pin-pair / g
“ate” means a value obtained by dividing the number of input terminals connected to the output terminal by the area of the gate, and indicates that if this value is large, the layout becomes difficult.

【0022】また、従来の論理合成装置においては、論
理構造の最適化処理が論理合成後の最後の段階で行われ
るため、論理構造に起因する冗長なセルや配線が残った
まま論理圧縮(図15のステップS106)までの処理
が行われることになり、論理構造の最適化までに多大な
時間を要するという問題点があった。
Further, in the conventional logic synthesizer, since the optimization processing of the logic structure is performed at the last stage after the logic synthesis, the logic compression is performed while the redundant cells and wiring due to the logic structure remain. The process up to step S106) is performed, and there is a problem that it takes a lot of time to optimize the logical structure.

【0023】本発明は、上記問題点を解決するためにな
されたものであり、第1の目的は、論理合成に要する時
間を大幅に削減することが可能な論理合成装置を提供す
ることである。
The present invention has been made to solve the above problems, and a first object of the present invention is to provide a logic synthesizing apparatus capable of greatly reducing the time required for logic synthesis. .

【0024】第2の目的は、論理合成に要する時間を大
幅に削減することが可能な論理合成方法を提供すること
である。
A second object is to provide a logic synthesis method capable of greatly reducing the time required for logic synthesis.

【0025】第3の目的は、論理合成に要する時間を大
幅に削減することが可能な論理合成プログラムを記録し
た媒体を提供することである。
A third object is to provide a medium recording a logic synthesis program capable of greatly reducing the time required for logic synthesis.

【0026】[0026]

【課題を解決するための手段】請求項1に記載の論理合
成装置は、ハードウェア記述言語による記述の中から組
合せ回路のみを含むブロックの記述を抽出するための抽
出手段と、抽出手段によって抽出された組合せ回路のみ
を含むブロックの記述を論理圧縮するための論理圧縮手
段と、論理圧縮手段によって論理圧縮されたブロックの
記述を含む記述から論理回路を合成するための論理合成
手段とを含む。
According to a first aspect of the present invention, there is provided a logic synthesizing device for extracting a description of a block including only a combinational circuit from a description in a hardware description language, and an extraction unit. And a logic synthesizing unit for synthesizing a logic circuit from the description including the description of the block logically compressed by the logical compression unit.

【0027】論理合成手段は、論理圧縮手段によって論
理圧縮されたブロックの記述を含む記述から論理回路を
合成するので、論理合成に要する時間を短縮することが
可能となる。
The logic synthesis means synthesizes the logic circuit from the description including the description of the block logically compressed by the logic compression means, so that the time required for the logic synthesis can be reduced.

【0028】請求項2に記載の論理合成装置は、内部ラ
イブラリを参照することにより、ハードウェア記述言語
による記述に基づいて論理回路構造を決定するための論
理構造決定手段と、論理構造決定手段によって論理回路
構造が決定されなかった記述のインプリメンテーション
を、ユーザからの指示により変更するためのインプリメ
ンテーション変更手段と、論理構造決定手段によって決
定された論理回路構造およびインプリメンテーション変
更手段によって変更されたインプリメンテーションに基
づいて、論理回路を合成するための論理合成手段とを含
む。
According to a second aspect of the present invention, there is provided a logic synthesis device comprising: a logic structure determining unit for determining a logic circuit structure based on a description in a hardware description language by referring to an internal library; Implementation changing means for changing the implementation of the description for which the logic circuit structure has not been determined in accordance with an instruction from the user, and changing the logic circuit structure and the implementation changing means determined by the logic structure determining means Logic synthesis means for synthesizing a logic circuit based on the implemented implementation.

【0029】インプリメンテーション変更手段は、ユー
ザからの指示によりインプリメンテーションを変更する
ので、所望の論理回路を短時間で得ることが可能とな
り、論理合成装置の処理効率が向上する。
Since the implementation changing means changes the implementation according to an instruction from the user, it becomes possible to obtain a desired logic circuit in a short time, and the processing efficiency of the logic synthesis device is improved.

【0030】請求項3に記載の論理合成装置は、ハード
ウェア記述言語による記述の中から組合せ回路のみを含
むブロックの記述を抽出するための抽出手段と、抽出手
段によって抽出された組合せ回路のみを含むブロックの
記述を論理圧縮するための論理圧縮手段と、内部ライブ
ラリを参照することにより、論理圧縮手段によって論理
圧縮されたブロックの記述を含む記述に基づいて論理回
路構造を決定するための論理構造決定手段と、論理構造
決定手段によって論理回路構造が決定されなかった記述
のインプリメンテーションを、ユーザからの指示により
変更するためのインプリメンテーション変更手段と、論
理構造決定手段によって決定された論理回路構造および
インプリメンテーション変更手段によって変更されたイ
ンプリメンテーションに基づいて、論理回路を合成する
ための論理合成手段とを含む。
According to a third aspect of the present invention, there is provided a logic synthesizing apparatus, comprising: extracting means for extracting a description of a block including only a combinational circuit from a description in a hardware description language; and combining only the combinational circuit extracted by the extracting means. Logical compression means for logically compressing the description of the block including the logical block, and a logical structure for determining the logical circuit structure based on the description including the description of the block logically compressed by the logical compression means by referring to the internal library Determining means, implementation changing means for changing an implementation of a description whose logical circuit structure has not been determined by the logical structure determining means in accordance with an instruction from a user, and a logic circuit determined by the logical structure determining means Implementation changed by structure and implementation change means Based on the emission, and a logic synthesizing means for synthesizing a logic circuit.

【0031】インプリメンテーション変更手段は、ユー
ザからの指示によりインプリメンテーションを変更する
ので、請求項1の効果に加えて、所望の論理回路を短時
間で得ることが可能となり、論理合成装置の処理効率が
向上する。
Since the implementation changing means changes the implementation in accordance with an instruction from the user, it is possible to obtain a desired logic circuit in a short time in addition to the effect of the first aspect. Processing efficiency is improved.

【0032】請求項4に記載の論理合成装置は、請求項
1または3記載の論理合成装置であって、抽出手段はハ
ードウェア記述言語による記述の中から変数を抽出する
ための変数抽出手段と、入力端子として宣言されている
変数、記憶素子の出力信号として解釈される変数、およ
び右辺に算術演算回路の出力信号が含まれる変数のうち
いずれかに該当するまで、変数抽出手段によって抽出さ
れた変数を順次展開することにより組み合わせ回路を抽
出する組合せ回路抽出手段とを含む。
The logic synthesizing device according to claim 4 is the logic synthesizing device according to claim 1 or 3, wherein the extracting means is a variable extracting means for extracting a variable from a description in a hardware description language. Extracted by the variable extracting means until one of a variable declared as an input terminal, a variable interpreted as an output signal of the storage element, and a variable including the output signal of the arithmetic operation circuit on the right side. Combination circuit extracting means for extracting a combination circuit by sequentially developing variables.

【0033】組み合わせ回路抽出手段は、展開不可能と
なるまで変数を展開することによって組合せ回路を抽出
するので、さらに適切に組合せ回路の抽出が可能とな
る。
Since the combinational circuit extracting means extracts the combinational circuit by expanding the variables until the combinational expansion becomes impossible, the combinational circuit can be extracted more appropriately.

【0034】請求項5に記載の論理合成方法は、ハード
ウェア記述言語による記述の中から組合せ回路のみを含
むブロックの記述を抽出するステップと、抽出された組
合せ回路のみを含むブロックの記述を論理圧縮するステ
ップと、論理圧縮されたブロックの記述を含む記述から
論理回路を合成するステップとを含む。
According to a fifth aspect of the present invention, there is provided a logic synthesis method comprising the steps of extracting a description of a block including only a combinational circuit from a description in a hardware description language; Compressing, and synthesizing a logic circuit from the description including the description of the logically compressed block.

【0035】論理圧縮されたブロックの記述を含む記述
から論理回路を合成するので、論理合成に要する時間を
短縮することが可能となる。
Since the logic circuit is synthesized from the description including the description of the logically compressed block, the time required for the logic synthesis can be reduced.

【0036】請求項6に記載の論理合成方法は、内部ラ
イブラリを参照することにより、ハードウェア記述言語
による記述に基づいて論理回路構造を決定するステップ
と、論理回路構造が決定されなかった記述のインプリメ
ンテーションを、ユーザからの指示により変更するステ
ップと、決定された論理回路構造および変更されたイン
プリメンテーションに基づいて、論理回路を合成するス
テップとを含む。
According to a sixth aspect of the present invention, in the logic synthesis method, a logic circuit structure is determined based on a description in a hardware description language by referring to an internal library, and a description of the description in which the logic circuit structure is not determined is provided. The method includes a step of changing an implementation according to an instruction from a user, and a step of synthesizing a logic circuit based on the determined logic circuit structure and the changed implementation.

【0037】ユーザからの指示によりインプリメンテー
ションを変更するので、所望の論理回路を短時間で得る
ことが可能となり、論理合成の処理効率が向上する。
Since the implementation is changed in accordance with an instruction from the user, a desired logic circuit can be obtained in a short time, and the processing efficiency of logic synthesis is improved.

【0038】請求項7に記載の媒体に記録された論理合
成プログラムは、ハードウェア記述言語による記述の中
から組合せ回路のみを含むブロックの記述を抽出するス
テップと、抽出された組合せ回路のみを含むブロックの
記述を論理圧縮するステップと、論理圧縮されたブロッ
クの記述を含む記述から論理回路を合成するステップと
を含む。
The logic synthesizing program recorded on the medium according to claim 7 includes a step of extracting a description of a block including only a combinational circuit from a description in a hardware description language, and includes only the extracted combinational circuit. Logically compressing the description of the block; and synthesizing a logic circuit from the description including the description of the logically compressed block.

【0039】論理圧縮されたブロックの記述を含む記述
から論理回路を合成するので、論理合成に要する時間を
短縮することが可能となる。
Since the logic circuit is synthesized from the description including the description of the logically compressed block, the time required for the logic synthesis can be reduced.

【0040】請求項8に記載の媒体に記録された論理合
成プログラムは、内部ライブラリを参照することによ
り、ハードウェア記述言語による記述に基づいて論理回
路構造を決定するステップと、論理回路構造が決定され
なかった記述のインプリメンテーションを、ユーザから
の指示により変更するステップと、決定された論理回路
構造および変更されたインプリメンテーションに基づい
て、論理回路を合成するステップとを含む。
In the logic synthesizing program recorded on the medium according to the present invention, a logic circuit structure is determined based on a description in a hardware description language by referring to an internal library, and the logic circuit structure is determined. The method includes a step of changing the implementation of the description that has not been made in accordance with an instruction from a user, and a step of synthesizing a logic circuit based on the determined logic circuit structure and the changed implementation.

【0041】ユーザからの指示によりインプリメンテー
ションを変更するので、所望の論理回路を短時間で得る
ことが可能となり、論理合成の処理効率が向上する。
Since the implementation is changed according to an instruction from the user, a desired logic circuit can be obtained in a short time, and the processing efficiency of logic synthesis is improved.

【0042】[0042]

【発明の実施の形態】図1は、本発明の論理合成装置の
外観例を示す図である。論理合成装置は、コンピュータ
本体1、グラフィックディスプレイ装置2、磁気テープ
4が装着される磁気テープ装置3、キーボード5、マウ
ス6、CD−ROM(Compact Disc-Read Only Memory
)8が装着されるCD−ROM装置7、および通信モ
デム9を含む。論理合成プログラムは、磁気テープ4ま
たはCD―ROM8等の記憶媒体によって供給される。
論理合成プログラムはコンピュータ本体1によって実行
され、操作者はグラフィックディスプレイ装置2を見な
がらキーボード5またはマウス6を操作することによっ
て論理合成を行う。また、論理合成プログラムは他のコ
ンピュータより通信回線を経由し、通信モデム9を介し
てコンピュータ本体1に供給されてもよい。
FIG. 1 is a diagram showing an example of the external appearance of a logic synthesis device according to the present invention. The logic synthesis device includes a computer main body 1, a graphic display device 2, a magnetic tape device 3 on which a magnetic tape 4 is mounted, a keyboard 5, a mouse 6, a CD-ROM (Compact Disc-Read Only Memory).
) 8 includes a CD-ROM device 7 to be mounted, and a communication modem 9. The logic synthesis program is supplied by a storage medium such as the magnetic tape 4 or the CD-ROM 8.
The logic synthesis program is executed by the computer main body 1, and the operator performs logic synthesis by operating the keyboard 5 or the mouse 6 while watching the graphic display device 2. The logic synthesis program may be supplied from another computer to the computer main body 1 via a communication line and a communication modem 9.

【0043】図2は、本発明の論理合成装置の構成例を
示すブロック図である。図1に示すコンピュータ本体1
は、CPU(Central Processing Unit )10、ROM
(Read Only Memory)11、RAM(Random Access Memo
ry)12およびハードディスク13を含む。CPU10
は、グラフィックディスプレイ装置2、磁気テープ装置
3、キーボード5、マウス6、CD−ROM装置7、通
信モデム9、ROM11、RAM12またはハードディ
スク13との間でデータを入出力しながら処理を行う。
磁気テープ4またはCD−ROM8に記録された論理合
成プログラムは、CPU10により磁気テープ装置3ま
たはCD−ROM装置7を介して一旦ハードディスク1
3に格納される。CPU10は、ハードディスク13か
ら適宜論理合成プログラムをRAM12にロードして実
行することによって論理合成を行う。
FIG. 2 is a block diagram showing a configuration example of the logic synthesizing device of the present invention. Computer body 1 shown in FIG.
Is a CPU (Central Processing Unit) 10 and ROM
(Read Only Memory) 11, RAM (Random Access Memo)
ry) 12 and the hard disk 13. CPU10
Performs processing while inputting and outputting data to and from the graphic display device 2, magnetic tape device 3, keyboard 5, mouse 6, CD-ROM device 7, communication modem 9, ROM 11, RAM 12, or hard disk 13.
The logical synthesis program recorded on the magnetic tape 4 or the CD-ROM 8 is temporarily transferred to the hard disk 1 by the CPU 10 via the magnetic tape device 3 or the CD-ROM device 7.
3 is stored. The CPU 10 performs logic synthesis by appropriately loading a logic synthesis program from the hard disk 13 into the RAM 12 and executing the program.

【0044】以下、本発明の各実施の形態における論理
合成装置について説明するが、図1に示す論理合成装置
の外観および図2に示す論理合成装置の構成ブロック図
は各実施の形態において共通である。
The logic synthesizer in each embodiment of the present invention will be described below. The appearance of the logic synthesizer shown in FIG. 1 and the configuration block diagram of the logic synthesizer shown in FIG. 2 are common to each embodiment. is there.

【0045】[実施の形態1]図3は、本発明の実施の
形態1における論理合成装置の概略構成を示すブロック
図である。この論理合成装置は、RTLを読み込んでそ
の記述の構文解析を行うための構文解析部21と、論理
合成前にRTLに基づいて論理圧縮を行うための合成前
論理圧縮部22と、内部ライブラリを用いて論理回路構
造を決定するための論理構造決定部23と、設計制約条
件に基づいてインプリメンテーションを選択するための
インプリメンテーション選択部24と、内部ライブラリ
を用いて決定された論理構造をユーザ指定のライブラリ
を用いた論理構造に置換するためのテクノロジマッピン
グ部25と、設計制約条件および設計規則違反箇所を修
正するための違反箇所修正部26と、論理合成後の論理
回路の圧縮を行うための合成後論理圧縮部27とを含
む。
[First Embodiment] FIG. 3 is a block diagram showing a schematic configuration of a logic synthesizing apparatus according to a first embodiment of the present invention. The logic synthesizing apparatus includes a syntax analysis unit 21 for reading RTL and analyzing the syntax of the description, a pre-synthesis logic compression unit 22 for performing logic compression based on RTL before logic synthesis, and an internal library. A logical structure determining unit 23 for determining a logical circuit structure using the same, an implementation selecting unit 24 for selecting an implementation based on design constraints, and a logical structure determined using an internal library. A technology mapping unit 25 for replacing with a logical structure using a library specified by a user, a violating part correcting unit 26 for correcting violating parts of design constraints and design rules, and compression of a logic circuit after logic synthesis. And a post-synthesis logical compression unit 27.

【0046】図4は、本発明の実施の形態1における論
理合成装置の処理手順を説明するためのフローチャート
である。まず、構文解析部21は、論理合成の対象とな
る機能記述(RTL記述)をファイルから読み込み、そ
の記述の構文を解析する(S11)。この構文解析にお
いて、文法的に誤りのある記述、または論理合成装置に
扱えない記述があれば、エラーメッセージを表示して処
理を中止する。そして、論理合成装置で扱えない記述が
なければ、ステップS12へ進む。なお、この処理は、
図15のステップS101の処理と同じであるので詳細
な説明は繰り返さない。
FIG. 4 is a flowchart for explaining a processing procedure of the logic synthesizing apparatus according to the first embodiment of the present invention. First, the syntax analysis unit 21 reads a function description (RTL description) to be subjected to logic synthesis from a file and analyzes the syntax of the description (S11). In this syntax analysis, if there is a grammatically incorrect description or a description that cannot be handled by the logic synthesizer, an error message is displayed and the processing is stopped. If there is no description that cannot be handled by the logic synthesis device, the process proceeds to step S12. Note that this process
Since the process is the same as the process of step S101 in FIG. 15, detailed description will not be repeated.

【0047】次に、合成前論理圧縮部22は、ステップ
S11において読み込まれたRTLから組合せ回路を抽
出し、当該組合せ回路に対して論理圧縮を行う(S1
2)。この論理合成前の論理圧縮の詳細については後述
する。
Next, the pre-synthesis logical compression section 22 extracts a combinational circuit from the RTL read in step S11 and performs logical compression on the combinational circuit (S1).
2). Details of the logical compression before the logical synthesis will be described later.

【0048】次に、論理構造決定部23は、ステップS
12において論理圧縮が行われたRTLに対して、内部
ライブラリを参照しながら論理回路構造を推定し、構築
する(S13)。なお、この処理は、図15のステップ
S102の処理と同じであるので詳細な説明は繰り返さ
ない。
Next, the logical structure determination unit 23 determines in step S
The logic circuit structure is estimated and constructed with reference to the internal library for the RTL subjected to the logic compression in S12 (S13). Note that this processing is the same as the processing in step S102 in FIG. 15, and thus detailed description will not be repeated.

【0049】次に、インプリメンテーション決定部24
は、設計制約条件に基づいたインプリメンテーションの
選択を行う(S14)。ステップS13において、イン
プリメンテーションがまだ選択されていない算術演算セ
ルに対して、外部より与えられた設計制約条件(速度優
先または面積優先が設定される) に基づいて、その内部
論理構造が決定される。なお、この処理は、図15のス
テップS103の処理と同じであるので詳細な説明は繰
り返さない。
Next, the implementation determining unit 24
Selects an implementation based on design constraints (S14). In step S13, the internal logical structure of an arithmetic operation cell whose implementation is not yet selected is determined based on externally applied design constraint conditions (speed priority or area priority is set). You. Note that this processing is the same as the processing in step S103 in FIG. 15, and thus detailed description will not be repeated.

【0050】次に、テクノロッジマッピング部25は、
以上の処理によって論理合成装置の内部ライブラリを用
いて合成された論理回路を、ユーザ指定のライブラリを
用いた論理回路に変換する(S15)。この論理回路の
変換の際、ユーザ指定ライブラリに存在しない内部セル
で表現されている論理構造は、ユーザ指定ライブラリを
用いた等価論理回路に置換される。なお、この処理は、
図15のステップS104の処理と同じであるので詳細
な説明は繰り返さない。
Next, the techno lodge mapping unit 25
The logic circuit synthesized using the internal library of the logic synthesis device by the above processing is converted into a logic circuit using a library specified by the user (S15). At the time of the conversion of the logic circuit, the logic structure represented by an internal cell that does not exist in the user-specified library is replaced with an equivalent logic circuit using the user-specified library. Note that this process
Since the process is the same as that in step S104 in FIG. 15, detailed description will not be repeated.

【0051】次に、違反箇所修正部26は、設計制約違
反箇所および設計規則違反箇所の修正を行う(S1
6)。この処理は、図15のステップS105の処理と
同じであるので詳細な説明は繰り返さない。
Next, the violating part correcting unit 26 corrects the violating part of the design constraint and the violating part of the design rule (S1).
6). This process is the same as the process in step S105 in FIG. 15, and thus detailed description will not be repeated.

【0052】最後に、合成後論理圧縮部27は、論理合
成後の論理の圧縮が行う(S17)。ステップS16に
おいて行われた設計制約違反および設計規則違反となら
ない範囲内で、ブール代数の公理や定理を適用して論理
圧縮を行う。この処理は、図15のステップS106の
処理と同じであるので詳細な説明は繰り返さない。
Finally, the post-synthesis logic compression section 27 performs compression of the logic after the logic synthesis (S17). Logic compression is performed by applying a Boolean axiom axiom or theorem within a range that does not violate the design constraints and design rules performed in step S16. This process is the same as the process in step S106 in FIG. 15, and thus detailed description will not be repeated.

【0053】以上の処理によって合成された論理回路か
ら、ユーザによって指定された形式のネットリストデー
タを生成して出力し、処理を終了する。なお、ステップ
S17において設計制約条件および設計規則条件に抵触
しない範囲で論理圧縮が行えなければ、ステップS16
までに合成された論理回路からネットリストデータを生
成して出力し、処理を終了する。
From the logic circuit synthesized by the above processing, netlist data in the format specified by the user is generated and output, and the processing is terminated. If the logical compression cannot be performed within the range that does not violate the design constraint conditions and the design rule conditions in step S17, step S16
The netlist data is generated and output from the logic circuit synthesized up to and the processing is terminated.

【0054】図5は、図4のステップS12の処理手順
をさらに詳細に説明するためのフローチャートである。
まず、構文解析が行われた後のRTLの中から、組み合
わせ回路ツリーのみを抽出する(S21)。この処理の
詳細は、後述する。
FIG. 5 is a flowchart for explaining the processing procedure of step S12 in FIG. 4 in more detail.
First, only the combinational circuit tree is extracted from the RTL after the syntax analysis is performed (S21). Details of this processing will be described later.

【0055】次に、抽出された組合せ回路ツリー(RT
L)をブール代数式に変換する(S22)。たとえば、
ステップS21において抽出された組合せ回路ツリーが
図6(a)に示す記述の場合、まず、組合せ回路ツリー
を構成する記述を単一の式による記述に変換するために
式を式に代入すると、図6(b)に示す単一の式が
得られる。図6(b)に示す記述の中の論理演算子&
(論理積AND)、|(論理和OR)および!(否定N
OT)を、それぞれブール代数式の演算子である
(・)、(+)および( ̄)に置き換える。このように
して、図6(a)に示す組み合わせ回路ツリーが図6
(c)に示すブール代数式に置き換えられる。
Next, the extracted combinational circuit tree (RT
L) is converted into a Boolean expression (S22). For example,
In the case where the combinational circuit tree extracted in step S21 is the description shown in FIG. 6A, first, an expression is substituted into an expression in order to convert the description constituting the combinational circuit tree into a description using a single expression. The single equation shown in FIG. 6 (b) is obtained. The logical operator & in the description shown in FIG.
(Logical AND), | (logical OR) and! (Negative N
OT) are replaced by (•), (+) and ( ̄), which are operators of the Boolean equation, respectively. Thus, the combinational circuit tree shown in FIG.
It is replaced by the Boolean equation shown in FIG.

【0056】次に、ステップS22において置き換えら
れたブール代数式の右辺に共通項があるか否かを判定す
る(S23)。この判定に先立って、図7に示す表が作
成される。この表は、図6(c)に示すブール代数式か
ら作成されたものであり、右辺における各変数a〜dの
カウント数を表したものである。この表に示すように、
カウント数が2以上の変数があれば、ブール代数式の右
辺に共通項があるので(S23,Yes)、組合せ回路
ツリーの最適化が可能であるとして、ステップS24へ
進む。また、ステップS23において、変数のカウント
数が全て2未満であれば、ブール代数式の右辺に共通項
がないので(S23,No)、組み合わせツリーの最適
化が不可能であるとして、組み合わせ回路の最適化処理
を終了する。なお、このステップにおける処理は、従来
技術で説明したpin−pairが2以上の配線に対す
る最適化処理と同等である。
Next, it is determined whether or not there is a common term on the right side of the Boolean expression replaced in step S22 (S23). Prior to this determination, a table shown in FIG. 7 is created. This table is created from the Boolean equation shown in FIG. 6C, and shows the count numbers of the variables a to d on the right side. As shown in this table,
If there is a variable whose count number is 2 or more, since there is a common term on the right side of the Boolean expression (S23, Yes), it is determined that the combinational circuit tree can be optimized, and the process proceeds to step S24. If all the counts of the variables are less than 2 in step S23, there is no common term on the right side of the Boolean equation (S23, No). The conversion process ends. Note that the processing in this step is the same as the optimization processing for wiring with two or more pin-pairs described in the related art.

【0057】次に、ステップS23において最適化が可
能であると判定されたブール代数式に対して、ブール代
数の定理と公理とを用いて最適化を行う(S24)。そ
のブール代数式の最適化の処理を図8を用いて説明す
る。図8(a)の式は、図6の式´を置換して求め
られたブール代数式を示している。式にブール代数の
定理(分配律)を用いることにより、式が求められ
る。さらに、式にブール代数の定理(分配律)を用い
ることにより、式が求められる。式の右辺の中で、
ブール代数の公理(AND演算)を用いることにより、
a・aとaとが等価となるので、式が求められる。最
後に、式にブール代数の定理(分配律)を用いること
により、式が求められる。なお、図8(b)は式〜
の右辺における各変数のカウント数を、図8(c)は
式の右辺における各変数のカウント数を示しており、
各変数のカウント数が最小となった時点で最適化処理を
終了するようにしている。
Next, optimization is performed on the Boolean algebraic expression determined to be optimizable in step S23 using the Boolean algebra theorem and axiom (S24). The process of optimizing the Boolean equation will be described with reference to FIG. The expression of FIG. 8A shows a Boolean expression obtained by substituting Expression ′ of FIG. An expression is obtained by using the Boolean algebra theorem (distribution rule) in the expression. Furthermore, an expression is obtained by using the Boolean algebra theorem (distribution rule) in the expression. In the right side of the expression,
By using the Boolean axiom (AND operation),
Since a · a and a are equivalent, an equation is obtained. Finally, an equation is obtained by using the Boolean algebra theorem (distribution rule) in the equation. Note that FIG.
8C shows the count number of each variable on the right side of the equation, and FIG. 8C shows the count number of each variable on the right side of the equation.
The optimization process is terminated when the count number of each variable becomes minimum.

【0058】次に、ステップS24において論理圧縮さ
れたブール代数式をRTLに戻す処理を行い、論理圧縮
される前のRTLと論理圧縮された後のRTLとをグラ
フィクディスプレイ2に表示等して、ユーザに記述の最
適化を行う旨を知らせる(S25)。
Next, in step S24, a process of returning the logically compressed Boolean expression to RTL is performed, and the RTL before logical compression and the RTL after logical compression are displayed on the graphic display 2 and the like. To the effect that the description is to be optimized (S25).

【0059】最後に、論理圧縮される前のRTLをステ
ップS24において論理圧縮された後のRTLに変更し
て、組合せ回路の最適化処理を終了する(S26)。ま
た、他の論理合成を実現する装置においても、最適な論
理合成結果が得られるように、入力されたオリジナルの
ハードウェア記述言語による機能表現と、最適化処理が
行われた後の機能表現とを対にして出力するようにして
もよい。
Finally, the RTL before the logical compression is changed to the RTL after the logical compression in step S24, and the optimization processing of the combinational circuit is completed (S26). In other devices that implement logic synthesis, the function expression in the input original hardware description language and the function expression after the optimization processing are performed so that the optimum logic synthesis result can be obtained. May be output as a pair.

【0060】図9は、図5のステップS21に示す組合
せ回路ツリーの抽出の詳細を説明するためのフローチャ
ートである。まず、図4のステップS11において構文
解析された機能記述の中から変数をすべて抽出する(S
31)。
FIG. 9 is a flowchart for explaining details of the extraction of the combinational circuit tree shown in step S21 of FIG. First, all variables are extracted from the function description parsed in step S11 of FIG.
31).

【0061】ステップS31において抽出された変数群
の中から、処理対象となる変数を1つ選択する(S3
2)。この時、選択する次候補がなければ(S33,Y
es)、処理を終了する(S35)。また、選択する次
候補があれば(S33,No)、当該選択候補が出力端
子として宣言されているか否かを判定する(S34)。
この判定方法として、たとえば、ハードウェア記述言語
がVerilog−HDLの場合には、図6(a)に示
すように特別な宣言子(output)を用いて宣言さ
れているので、このoutput文によって定義されて
いる変数を照合することによって、変数が出力端子であ
るか否かを判定できる。
One variable to be processed is selected from the group of variables extracted in step S31 (S3).
2). At this time, if there is no next candidate to select (S33, Y
es), the process ends (S35). If there is a next candidate to be selected (S33, No), it is determined whether or not the selected candidate is declared as an output terminal (S34).
As a method of this determination, for example, when the hardware description language is Verilog-HDL, the declaration is made using a special declarator (output) as shown in FIG. It is possible to determine whether or not the variable is an output terminal by collating the variable being set.

【0062】ステップS34において、選択候補(トレ
ース対象候補変数)が出力端子として宣言されていれば
(S34,Yes)、ステップS38へ進む。また、選
択候補が出力端子として宣言されていなければ(S3
4,No)、当該変数が条件判定式の右辺の一項である
か否かを判定する(S36)。この判定方法として、た
とえば、ハードウェア記述言語がVerilog−HD
Lの場合には、if文や図6(a)に示すようなass
ign文による三項子演算定義等の条件判定式を用いて
定義されているので、当該変数がその右辺の一項として
定義されている場合には組合せ回路ツリーを構成する変
数の候補として判定する。
In step S34, if the selection candidate (trace target candidate variable) is declared as an output terminal (S34, Yes), the process proceeds to step S38. If the selection candidate is not declared as an output terminal (S3
4, No), it is determined whether or not the variable is one term of the right side of the condition determination expression (S36). As this determination method, for example, when the hardware description language is Verilog-HD
In the case of L, if sentence or assass as shown in FIG.
Since the variable is defined using a condition determination expression such as a ternary operation definition using an "ign" statement, if the variable is defined as a term on its right side, it is determined as a candidate for a variable constituting a combinational circuit tree. .

【0063】ステップS36において、変数が条件判定
式の右辺の一項と判定された場合には(S36,Ye
s)、ステップS38へ進む。また、変数が条件判定式
の右辺の一項と判定されなかった場合には(S36,N
o)、当該変数が算術演算子を用いた式の右辺の一項で
あるか否かを判定する(S37)。この判定方法とし
て、+(加算)、−(減算)、*(乗算)、/(除算)
等で表記される算術演算子が含まれる式の右辺の一項と
して定義されているか否かを判定する。
If it is determined in step S36 that the variable is a term on the right side of the conditional expression (S36, Ye
s), and proceed to step S38. On the other hand, if the variable is not determined to be a member of the right side of the condition determination expression (S36, N
o), it is determined whether or not the variable is one term on the right side of the expression using the arithmetic operator (S37). As the determination method, + (addition),-(subtraction), * (multiplication), / (division)
It is determined whether or not it is defined as one term on the right side of the expression including the arithmetic operator represented by.

【0064】ステップS37において、変数が算術演算
子が含まれる右辺の一項として定義されていれば(S3
7,Yes)、ステップS38へ進む。また、変数が算
術演算子が含まれる右辺の一項として定義されていなけ
れば(S37,No)、組み合わせ回路ツリー構造の展
開ができないとして当該変数の処理を中止して、ステッ
プS32へ戻り次候補変数の選択を行う。
In step S37, if the variable is defined as one term on the right side including the arithmetic operator (S3
7, Yes), and proceeds to step S38. If the variable is not defined as a term on the right side including the arithmetic operator (S37, No), the processing of the variable is stopped because the combinational circuit tree structure cannot be expanded, and the process returns to step S32 to return to the next candidate. Select a variable.

【0065】ステップS38において、当該変数が文法
上記憶素子として解釈されないか否かを判定する。たと
えば、ハードウェア記述言語がVerilog−HDL
の場合には、当該変数がレジスタ型(reg型)変数ま
たは配線型(wire型)変数として定義されているか
を判定する。配線型変数として定義されている場合に
は、当該変数が組合せ回路の出力であり記憶素子として
解釈されないと判定してステップS39へ進む。
In step S38, it is determined whether the variable is not interpreted as a storage element in grammar. For example, if the hardware description language is Verilog-HDL
In the case of, it is determined whether the variable is defined as a register type (reg type) variable or a wiring type (wire type) variable. If the variable is defined as a wiring type variable, it is determined that the variable is an output of the combinational circuit and is not interpreted as a storage element, and the process proceeds to step S39.

【0066】また、当該変数がレジスタ型変数として定
義されている場合には、当該変数の動作が定義されてい
るalways文の解釈を行う。たとえば、図18
(a)の式に示すように入力信号の変化の全組み合わ
せのいずれかにおいて、変数out_datが変化しな
いことがある場合、すなわち、変数out_datの値
が保持されることがある場合は当該変数を記憶素子の出
力として解釈し(S38,No)、組合せ回路ツリーの
展開ができないとして当該変数の処理を中止して、ステ
ップS32へ戻り次候補変数の選択を行う。また、入力
信号の変化の全組み合わせにおいて必ず当該変数が変化
する場合、すなわち、変数の値が保持されない場合は当
該変数を組み合わせ回路の出力として解釈し(S38,
Yes)、ステップS39へ進む。
If the variable is defined as a register type variable, an "always" statement in which the operation of the variable is defined is interpreted. For example, FIG.
As shown in the equation (a), when the variable out_dat does not change in any of the combinations of changes in the input signal, that is, when the value of the variable out_dat is sometimes held, the variable is stored. The variable is interpreted as the output of the element (S38, No), the processing of the variable is stopped because the combinational circuit tree cannot be expanded, and the process returns to step S32 to select the next candidate variable. If the variable always changes in all combinations of changes in the input signal, that is, if the value of the variable is not held, the variable is interpreted as the output of the combinational circuit (S38,
Yes), and proceed to step S39.

【0067】ステップS38において、当該変数が記憶
素子の出力でないと判定された場合は、組合せ回路の出
力を実現するために定義された変数であると解釈でき
る。ここで、組み合わせ回路ツリー構造のバックトレー
スを行うために、当該変数を当該変数の機能動作を定義
している式の右辺(変数群と各種演算子)で置き換える
(S39)。この処理を順次繰り返すことにより、論理
ツリー構造が展開不可能となるまで展開処理が行われ
る。この展開不可能となる場合として、以下に示す場合
が挙げられる。
If it is determined in step S38 that the variable is not the output of the storage element, it can be interpreted as a variable defined for realizing the output of the combinational circuit. Here, in order to perform a backtrace of the combinational circuit tree structure, the variable is replaced with the right side (variable group and various operators) of the expression defining the function operation of the variable (S39). By sequentially repeating this processing, the expansion processing is performed until the logical tree structure cannot be expanded. The following cases can be cited as cases in which this expansion is impossible.

【0068】(1)入力信号として定義されている。 (2)記憶素子の出力信号である。(1) It is defined as an input signal. (2) An output signal of the storage element.

【0069】(3)組合せ回路の出力信号であるが、デ
ータパスを構成するマクロ素子への入力信号である。
(3) The output signal of the combinational circuit is the input signal to the macro element constituting the data path.

【0070】次に、ステップS39において展開された
論理式を構成する各変数のバックトレース処理を行う
(S40〜S46)。まず、展開された論理式に含まれ
る変数群の中から1つの変数を選択し、バックトレース
処理の前処理を行う(S40)。
Next, backtrace processing of each variable constituting the logical expression developed in step S39 is performed (S40 to S46). First, one variable is selected from the variable group included in the developed logical expression, and preprocessing of the back trace processing is performed (S40).

【0071】この時、選択する次候補がなければ(S4
1,Yes)、ステップS32へ戻り以下の処理を繰り
返す。また、選択する次候補があれば(S41,N
o)、当該選択候補が入力端子として宣言されているか
否かを判定する(S42)。この判定方法として、たと
えば、ハードウェア記述言語がVerilog−HDL
の場合には、図6(a)に示すように特別な宣言子(i
nput)を用いて宣言されているので、このinpu
t文によって定義されている変数を照合することによっ
て、変数が入力端子であるか否かを判定できる。
At this time, if there is no next candidate to select (S4
1, Yes), returning to step S32 and repeating the following processing. If there is a next candidate to be selected (S41, N
o), it is determined whether the selection candidate is declared as an input terminal (S42). As this determination method, for example, the hardware description language is Verilog-HDL
In the case of (a), a special declarator (i
nput), the input
By collating the variable defined by the t statement, it can be determined whether the variable is an input terminal.

【0072】ステップS42において、選択候補(トレ
ース対象候補変数)が入力端子として宣言されていれば
(S42,Yes)、ステップS38へ進む。また、選
択候補が入力端子として宣言されていなければ(S4
2,No)、当該変数が文法上記憶素子として解釈され
ないか否かを判定する。この判定方法は、ステップS3
8において説明した方法と同じであるので、詳細な説明
は繰り返さない。
In step S42, if the selection candidate (trace target candidate variable) is declared as an input terminal (S42, Yes), the process proceeds to step S38. If the selection candidate is not declared as an input terminal (S4
2, No), it is determined whether or not the variable is grammatically interpreted as a storage element. This determination method is performed in step S3.
8, the detailed description will not be repeated.

【0073】ステップS43において、当該変数が記憶
素子の出力でないと判定された場合は(S43,Ye
s)、ステップS45へ進む。また、当該変数が記憶素
子として解釈されなければ(S43,No)、データパ
ス系回路であるか制御系回路であるかを判定する。この
データパス系回路とは、通常のデータバスが伝搬する回
路のことを指し、算術演算回路を含む回路をデータパス
系回路として判定する。一方、データパス系回路以外の
回路を制御系回路とし、論理演算回路のみを含む回路を
制御系回路と判定する。すなわち、当該変数を実現する
ための機能記述式の右辺が論理演算子のみで構成されて
いる場合(S44,Yes)、制御系回路と判定してス
テップS46へ進む。また、当該変数を実現するための
機能記述式の右辺が論理演算子のみで構成されていない
(算術演算子を含む)場合(S44,No)、データパ
ス系回路と判定してステップS45へ進む。
If it is determined in step S43 that the variable is not the output of the storage element (S43, Ye
s), and proceed to step S45. If the variable is not interpreted as a storage element (S43, No), it is determined whether it is a data path circuit or a control circuit. The data path circuit refers to a circuit through which a normal data bus propagates, and a circuit including an arithmetic operation circuit is determined as a data path circuit. On the other hand, a circuit other than the data path circuit is set as a control circuit, and a circuit including only a logical operation circuit is determined as a control circuit. That is, when the right side of the function description expression for realizing the variable includes only logical operators (S44, Yes), it is determined that the variable is a control system circuit, and the process proceeds to step S46. If the right side of the function description expression for realizing the variable is not composed only of the logical operator (including the arithmetic operator) (S44, No), it is determined to be the data path circuit and the process proceeds to step S45. .

【0074】ステップS45において、当該変数を展開
不可能な組み合わせ回路ツリーの終点とみなし、展開処
理を終了してステップS40へ戻り次候補の選択処理を
行う。
In step S45, the variable is regarded as the end point of the combinational circuit tree that cannot be expanded, the expansion processing ends, and the process returns to step S40 to select the next candidate.

【0075】また、ステップS46において、制御系回
路内の変数として判定された変数を、当該変数を実現す
るための論理式に置き換えることにより、中間変数の展
開処理を行う。以上の処理を繰り返すことにより、展開
処理対象となる変数がなくなるまで、すなわち、中間変
数の展開が不可能となるまで展開処理が行われ、制御系
回路の論理ツリーがRTLから抽出される。このように
して、中間変数を用いることで複数の文に分割されて記
述されている制御系回路の論理ツリーを単一の式に置き
換えることができる。以上説明したように、本実施の形
態における論理合成装置によれば、ハードウェア記述言
語による記述の中から組合せ回路のみを抽出することが
可能となるとともに、その組合せ回路を論理合成前に論
理圧縮することにより、論理合成に要する時間を短縮す
ることが可能となった。
Further, in step S46, a variable determined as a variable in the control system circuit is replaced with a logical expression for realizing the variable, thereby performing an intermediate variable expanding process. By repeating the above processing, expansion processing is performed until there are no more variables to be expanded, that is, expansion of intermediate variables becomes impossible, and a logical tree of the control system circuit is extracted from the RTL. In this way, by using the intermediate variables, the logic tree of the control circuit divided and described in a plurality of sentences can be replaced with a single expression. As described above, according to the logic synthesis apparatus of the present embodiment, it is possible to extract only the combinational circuit from the description in the hardware description language, and to logically compress the combinational circuit before performing the logic synthesis. By doing so, it has become possible to reduce the time required for logic synthesis.

【0076】[実施の形態2]図10は、本発明の実施
の形態2における論理合成装置の概略構成を示すブロッ
ク図である。図3に示す実施の形態1における論理合成
装置と比較して、合成前論理圧縮部22が削除された
点、およびインプリメンテーション選択変更部28が追
加された点のみが異なる。したがって、重複する構成お
よび機能の詳細な説明は繰り返さない。
[Second Embodiment] FIG. 10 is a block diagram showing a schematic configuration of a logic synthesizing apparatus according to a second embodiment of the present invention. The only difference from the logic synthesis apparatus according to the first embodiment shown in FIG. 3 is that the pre-synthesis logical compression unit 22 has been deleted and that an implementation selection change unit 28 has been added. Therefore, detailed description of the same configurations and functions will not be repeated.

【0077】実施の形態1の論理合成装置において説明
したように、インプリメンテーション選択部24は、イ
ンプリメンテーションがまだ選択されていない算術演算
セルに対して、外部より与えられた設計制約条件(速度
優先または面積優先が設定される) に基づいて、その内
部論理構造を決定する。しかし、不用意な設計制約条件
が与えられた場合や、機能記述の内容によっては設計者
が意図しない不適切なインプリメンテーションが選択さ
れる場合がある。インプリメンテーション選択変更部2
8は、インプリメンテーション選択部24によって決定
されたインプリメンテーションの選択を、人手により変
更するものである。
As described in the logic synthesizing apparatus of the first embodiment, the implementation selecting unit 24 applies the design constraint condition (from the outside) to the arithmetic operation cell whose implementation has not been selected yet. (Speed-priority or area-priority is set). However, inadvertent design constraints may be given, or an inappropriate implementation that is not intended by the designer may be selected depending on the contents of the function description. Implementation selection change unit 2
Reference numeral 8 is for manually changing the implementation selection determined by the implementation selection unit 24.

【0078】図11は、本実施の形態における論理合成
装置の処理手順を説明するためのフローチャートであ
る。図4に示す実施の形態1における論理合成装置の処
理手順と比較して、図4のステップS12が削除された
点、およびステップS14とS15との間にステップS
18が追加された点のみが異なる。したがって、重複す
る処理手順についての詳細な説明は繰り返さない。
FIG. 11 is a flowchart for explaining the processing procedure of the logic synthesizing apparatus according to the present embodiment. Compared to the processing procedure of the logic synthesis apparatus according to the first embodiment shown in FIG. 4, step S12 in FIG. 4 is deleted, and step S12 is inserted between steps S14 and S15.
The only difference is that 18 has been added. Therefore, detailed description of the overlapping processing procedure will not be repeated.

【0079】図12は、図11に示すステップS18の
処理をさらに詳細に説明するためのフローチャートであ
る。まず、インプリメンテーション選択変更部28は、
ステップS14までの処理によって決定された論理構造
を、グラフィックディスプレイ装置2に表示する(S5
1)。
FIG. 12 is a flowchart for explaining the processing in step S18 shown in FIG. 11 in more detail. First, the implementation selection changing unit 28
The logical structure determined by the processing up to step S14 is displayed on the graphic display device 2 (S5).
1).

【0080】そして、ステップS14において選択され
たインプリメンテーションに相当する論理構造をグラフ
ィックディスプレイ装置2にハイライト表示する(S5
2)。たとえば、図18(b)に示す論理構造であれ
ば、算術演算セル等がグラフィックディスプレイ装置
2にハイライト表示され、算術演算セルのインプリメ
ンテーションの変更が可能であることが示される。ま
た、インプリメンテーション選択変更部28は、ステッ
プS13において決定された論理構造(上述した制御系
回路に相当する部分)については、変更が不可能である
ことを表示する。このとき、これらの制御系論理回路に
相当する部分(AND,OR,NOTセル等の組み合わ
せ)をブラックボックスとして表示することにより、グ
ラフィックディスプレイ装置2における表示速度を向上
させることも可能である。
Then, the logical structure corresponding to the implementation selected in step S14 is highlighted on the graphic display device 2 (S5).
2). For example, in the case of the logical structure shown in FIG. 18B, the arithmetic operation cells and the like are highlighted on the graphic display device 2, indicating that the implementation of the arithmetic operation cells can be changed. Further, the implementation selection changing unit 28 displays that the logical structure (the part corresponding to the above-described control circuit) determined in step S13 cannot be changed. At this time, by displaying a portion (combination of AND, OR, NOT cells, etc.) corresponding to these control logic circuits as a black box, the display speed in the graphic display device 2 can be improved.

【0081】次に、インプリメンテーション選択変更部
28は、メッセージを表示して操作者に対してインプリ
メンテーションの変更を促す(S53)。操作者は、イ
ンプリメンテーション選択部24が機能記述および設計
制約条件に基づいて選択したインプリメンテーションを
変更せずにそのまま決定してもよい。また、操作者は、
グラフィックディスプレイ装置2に表示された速度優先
の設計制約条件や面積優先の設計制約条件等の選択肢の
中から設計制約条件を選択し、インプリメンテーション
を変更してもよい(S54)。
Next, the implementation selection changing section 28 displays a message to urge the operator to change the implementation (S53). The operator may determine the implementation selected by the implementation selecting unit 24 based on the function description and the design constraint without changing the implementation. Also, the operator
The design constraint may be selected from the options such as the speed-first design constraint and the area-first design constraint displayed on the graphic display device 2, and the implementation may be changed (S54).

【0082】最後に、インプリメンテーション選択変更
部28は、操作者によるインプリメンテーションの変更
指示に基づき、機能記述および設計制約条件の内容を変
更する(S55)。そして、図18(b)に示す加算器
の場合、速度優先の設計制約条件が与えられるとCarr
y Look Ahead方式の加算器に相当する論理回路構造が、
また面積優先の設計制約条件が与えられるとRipple Car
ry方式の加算器に相当する論理回路構造が、AND,O
R,NOT等の単純演算セルを用いて構成される。
Finally, the implementation selection changing unit 28 changes the function description and the contents of the design constraint conditions based on the instruction to change the implementation by the operator (S55). Then, in the case of the adder shown in FIG.
y The logic circuit structure equivalent to the Look Ahead type adder is
Also, given design constraints that prioritize area, Ripple Car
The logical circuit structure corresponding to the ry type adder is AND, O
It is configured using simple operation cells such as R and NOT.

【0083】以上説明したように、本実施の形態におけ
る論理合成装置によれば、操作者はグラフィックディス
プレイ装置上に表示されたインプリメンテーションに相
当する論理回路を確認しながらインプリメンテーション
の変更ができるので、所望の論理回路を短時間で得るこ
とが可能となり、処理効率が向上する。
As described above, according to the logic synthesis apparatus of the present embodiment, the operator can change the implementation while checking the logic circuit corresponding to the implementation displayed on the graphic display device. Therefore, a desired logic circuit can be obtained in a short time, and processing efficiency is improved.

【0084】[実施の形態3]実施の形態3における論
理合成装置は、図3に示す実施の形態1における論理合
成装置と比較して、図3に示す実施の形態1における論
理合成装置のインプリメンテーション選択部24とテク
ノロジマッピング部25との間に、図10に示す実施の
形態2における論理合成装置のインプリメンテーション
選択変更部28が追加された点のみが異なる。したがっ
て、重複する構成および機能の詳細な説明は繰り返さな
い。
[Embodiment 3] The logic synthesis device according to the third embodiment is different from the logic synthesis device according to the first embodiment shown in FIG. 3 in that the logic synthesis device according to the first embodiment shown in FIG. The only difference is that an implementation selection changing unit 28 of the logic synthesis device according to the second embodiment shown in FIG. 10 is added between the annotation selection unit 24 and the technology mapping unit 25. Therefore, detailed description of the same configurations and functions will not be repeated.

【0085】図13は、実施の形態3における論理合成
装置の処理手順を説明するためのフローチャートであ
る。図4に示す実施の形態1における論理合成装置のフ
ローチャートと比較して、図4に示す実施の形態1にお
ける論理合成装置のフローチャートのステップS14と
S15との間に、図11に示す実施の形態2における論
理合成装置のフローチャートのステップS18が追加さ
れた点のみが異なる。したがって、重複する処理手順の
詳細な説明は繰り返さない。
FIG. 13 is a flowchart for explaining a processing procedure of the logic synthesizing apparatus according to the third embodiment. Compared to the flowchart of the logic synthesis device according to the first embodiment shown in FIG. 4, between steps S14 and S15 in the flowchart of the logic synthesis device according to the first embodiment shown in FIG. 4, the embodiment shown in FIG. 2 only in that step S18 of the flowchart of the logic synthesis device in FIG. 2 is added. Therefore, detailed description of the overlapping processing procedure will not be repeated.

【0086】以上説明したように、実施の形態3におけ
る論理合成装置によれば、実施の形態1および2におけ
る論理合成装置の効果を得ることができる。すなわち、
ハードウェア記述言語による記述の中から組合せ回路の
みを抽出することが可能となる。そして、その組合せ回
路を論理合成前に論理圧縮すること、および操作者がグ
ラフィックディスプレイ装置上に表示されたインプリメ
ンテーションに相当する論理回路を確認しながらインプ
リメンテーションを変更することにより、論理合成に要
する時間を大幅に短縮することが可能となった。
As described above, according to the logic synthesis device of the third embodiment, the effects of the logic synthesis devices of the first and second embodiments can be obtained. That is,
Only the combinational circuit can be extracted from the description in the hardware description language. Then, the combinational circuit is logically compressed before the logical synthesis, and the operator changes the implementation while checking the logical circuit corresponding to the implementation displayed on the graphic display device, thereby performing the logical synthesis. Time can be greatly reduced.

【0087】[実施の形態4]実施の形態1〜3におい
ては、論理合成装置について説明した。実施の形態4に
おいては、ハードウェア記述言語を解析するための論理
解析装置に関するものである。
Fourth Embodiment In the first to third embodiments, the logic synthesizing apparatus has been described. Fourth Embodiment The fourth embodiment relates to a logic analyzer for analyzing a hardware description language.

【0088】本発明の実施の形態4における論理解析装
置は、図3に示す実施の形態1における論理合成装置の
テクノロジマッピング部25、違反箇所修正部26およ
び合成後論理圧縮部27を削除し、インプリメンテーシ
ョン選択部24の後に図10に示す実施の形態2におけ
る論理合成装置のインプリメンテーション選択変更部2
8を追加した点のみが異なる。したがって、重複する構
成および機能の詳細な説明は繰り返さない。
The logic analyzer according to the fourth embodiment of the present invention removes the technology mapping unit 25, the violation correction unit 26, and the post-synthesis logical compression unit 27 of the logic synthesis device according to the first embodiment shown in FIG. After the implementation selection unit 24, the implementation selection change unit 2 of the logic synthesis apparatus according to the second embodiment shown in FIG.
The only difference is that 8 has been added. Therefore, detailed description of the same configurations and functions will not be repeated.

【0089】図14は、実施の形態4における論理解析
装置の処理手順を説明するためのフローチャートであ
る。図13に示す実施の形態3における論理合成装置の
フローチャートと比較して、図13に示す実施の形態3
における論理合成装置のフローチャートのステップS1
5〜S17を削除した点のみが異なる。したがって、重
複する処理手順の詳細な説明は繰り返さない。
FIG. 14 is a flowchart for explaining the processing procedure of the logic analyzer according to the fourth embodiment. As compared with the flowchart of the logic synthesis device in the third embodiment shown in FIG. 13, the third embodiment shown in FIG.
Step S1 of the flowchart of the logic synthesis device in
The only difference is that 5 to S17 are deleted. Therefore, detailed description of the overlapping processing procedure will not be repeated.

【0090】以上説明したように、実施の形態4におけ
る論理解析装置によれば、ハードウェア記述言語による
記述の中から組合せ回路のみを抽出することが可能とな
る。そして、その組合せ回路を論理合成前に論理圧縮す
ること、および操作者がグラフィックディスプレイ装置
上に表示されたインプリメンテーションに相当する論理
回路を確認しながらインプリメンテーションを変更する
ことにより、ハードウェア記述言語を論理合成する前
に、論理合成後の論理回路におよぼす影響を解析するこ
とが可能となった。
As described above, according to the logic analyzer of the fourth embodiment, it is possible to extract only the combinational circuit from the description in the hardware description language. Then, the combinational circuit is logically compressed before the logical synthesis, and the operator changes the implementation while checking the logical circuit corresponding to the implementation displayed on the graphic display device, thereby realizing the hardware. Before logic synthesis of a description language, it became possible to analyze the effect on the logic circuit after logic synthesis.

【0091】[0091]

【発明の効果】請求項1記載の論理合成装置によれば、
論理圧縮されたブロックの記述を含む記述から論理回路
を合成するので、論理合成に要する時間を短縮すること
が可能となった。
According to the logic synthesizing device of the first aspect,
Since the logic circuit is synthesized from the description including the description of the logically compressed block, the time required for the logic synthesis can be reduced.

【0092】請求項2に記載の論理合成装置によれば、
ユーザからの指示によりインプリメンテーションを変更
するので、所望の論理回路を短時間で得ることが可能と
なり、論理合成装置の処理効率が向上した。
According to the logic synthesizing device of the second aspect,
Since the implementation is changed according to an instruction from the user, a desired logic circuit can be obtained in a short time, and the processing efficiency of the logic synthesis device has been improved.

【0093】請求項3に記載の論理合成装置によれば、
ユーザからの指示によりインプリメンテーションを変更
するので、請求項1の効果に加えて、所望の論理回路を
短時間で得ることが可能となり、論理合成装置の処理効
率が向上した。
According to the logic synthesizing device of the third aspect,
Since the implementation is changed according to an instruction from the user, in addition to the effect of the first aspect, a desired logic circuit can be obtained in a short time, and the processing efficiency of the logic synthesis device has been improved.

【0094】請求項4に記載の論理合成装置によれば、
展開不可能となるまで変数を展開することによって組合
せ回路を抽出するので、さらに適切に組合せ回路の抽出
が可能となった。
According to the logic synthesizing device of the fourth aspect,
Since the combinational circuit is extracted by expanding the variables until the expansion becomes impossible, the combinational circuit can be extracted more appropriately.

【0095】請求項5に記載の論理合成方法によれば、
論理圧縮されたブロックの記述を含む記述から論理回路
を合成するので、論理合成に要する時間を短縮すること
が可能となった。
According to the logic synthesis method of the fifth aspect,
Since the logic circuit is synthesized from the description including the description of the logically compressed block, the time required for the logic synthesis can be reduced.

【0096】請求項6に記載の論理合成方法によれば、
ユーザからの指示によりインプリメンテーションを変更
するので、所望の論理回路を短時間で得ることが可能と
なり、論理合成の処理効率が向上した。
According to the logic synthesis method of the sixth aspect,
Since the implementation is changed according to an instruction from the user, a desired logic circuit can be obtained in a short time, and the processing efficiency of logic synthesis has been improved.

【0097】請求項7に記載の媒体に記録された論理合
成プログラムによれば、論理圧縮されたブロックの記述
を含む記述から論理回路を合成するので、論理合成に要
する時間を短縮することが可能となった。
According to the logic synthesizing program recorded on the medium according to the seventh aspect, since the logic circuit is synthesized from the description including the description of the logically compressed block, the time required for the logic synthesis can be reduced. It became.

【0098】請求項8に記載の媒体に記録された論理合
成プログラムによれば、ユーザからの指示によりインプ
リメンテーションを変更するので、所望の論理回路を短
時間で得ることが可能となり、論理合成の処理効率が向
上した。
According to the logical synthesizing program recorded on the medium according to the eighth aspect, since the implementation is changed according to the instruction from the user, it is possible to obtain a desired logical circuit in a short time. Processing efficiency was improved.

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

【図1】 本発明の論理合成装置の外観を示す図であ
る。
FIG. 1 is a diagram illustrating an appearance of a logic synthesis device according to the present invention.

【図2】 本発明の論理合成装置の構成を示すブロック
図である。
FIG. 2 is a block diagram illustrating a configuration of a logic synthesis device according to the present invention.

【図3】 本発明の実施の形態1における論理合成装置
の概略構成を説明するための図である。
FIG. 3 is a diagram for explaining a schematic configuration of a logic synthesis device according to the first embodiment of the present invention;

【図4】 本発明の実施の形態1における論理合成装置
の処理手順を説明するためのフローチャートである。
FIG. 4 is a flowchart illustrating a processing procedure of the logic synthesis device according to the first embodiment of the present invention.

【図5】 図4のステップS12の処理手順をさらに詳
細に説明するためのフローチャートである。
FIG. 5 is a flowchart for explaining the processing procedure of step S12 in FIG. 4 in further detail;

【図6】 組み合わせ回路の記述をブール代数式に変換
する一例を示す図である。
FIG. 6 is a diagram illustrating an example of converting a description of a combinational circuit into a Boolean expression.

【図7】 ブール代数式の変数のカウント数の一例を示
す図である。
FIG. 7 is a diagram illustrating an example of a count number of a variable of a Boolean expression.

【図8】 ブール代数式の論理圧縮の一例およびそのと
きの変数のカウント数の変化を示す図である。
FIG. 8 is a diagram illustrating an example of logical compression of a Boolean expression and a change in the count number of a variable at that time.

【図9】 図5のステップS21の処理手順をさらに詳
細に説明するためのフローチャートである。
FIG. 9 is a flowchart for explaining the processing procedure of step S21 in FIG. 5 in more detail;

【図10】 本発明の実施の形態2における論理合成装
置の概略構成を説明するための図である。
FIG. 10 is a diagram illustrating a schematic configuration of a logic synthesis device according to a second embodiment of the present invention.

【図11】 本発明の実施の形態2における論理合成装
置の処理手順を説明するためのフローチャートである。
FIG. 11 is a flowchart illustrating a processing procedure of the logic synthesis device according to the second embodiment of the present invention.

【図12】 図11のステップS18の処理手順をさら
に詳細に説明するためのフローチャートである。
FIG. 12 is a flowchart for explaining the processing procedure of step S18 in FIG. 11 in further detail;

【図13】 本発明の実施の形態3における論理合成装
置の処理手順を説明するためのフローチャートである。
FIG. 13 is a flowchart illustrating a processing procedure of the logic synthesis device according to the third embodiment of the present invention.

【図14】 本発明の実施の形態4における論理解析装
置の処理手順を説明するためのフローチャートである。
FIG. 14 is a flowchart illustrating a processing procedure of the logic analysis device according to the fourth embodiment of the present invention.

【図15】 従来の論理合成装置の処理手順を説明する
ためのフローチャートである。
FIG. 15 is a flowchart illustrating a processing procedure of a conventional logic synthesis device.

【図16】 ハードウェア記述言語の一例を示す図であ
る。
FIG. 16 is a diagram illustrating an example of a hardware description language.

【図17】 図16に示す機能記述から合成された論理
回路を示す図である。
FIG. 17 is a diagram showing a logic circuit synthesized from the function description shown in FIG. 16;

【図18】 算術演算子等を含む記述の一例およびその
記述から合成された論理回路を示す図である。
FIG. 18 is a diagram illustrating an example of a description including an arithmetic operator and the like and a logic circuit synthesized from the description.

【図19】 テクノロジマッピング処理の一例を示す図
である。
FIG. 19 is a diagram illustrating an example of a technology mapping process.

【図20】 従来の論理圧縮の一例を示す図である。FIG. 20 is a diagram illustrating an example of conventional logical compression.

【符号の説明】[Explanation of symbols]

1 コンピュータ本体、2 グラフィックディスプレイ
装置、3 磁気テープ装置、4 磁気テープ、5 キー
ボード、6 マウス、7 CD−ROM装置、8 CD
−ROM、9 通信モデム、10 CPU、11 RO
M、12 RAM、13 ハードディスク、21 構文
解析部、22 合成前論理圧縮部、23論理構造決定
部、24 インプリメンテーション選択部、25 テク
ノロジマッピング部、26 違反箇所修正部、27 合
成後論理圧縮部、28 インプリメンテーション選択変
更部。
1 Computer main body, 2 Graphic display device, 3 Magnetic tape device, 4 Magnetic tape, 5 Keyboard, 6 Mouse, 7 CD-ROM device, 8 CD
-ROM, 9 communication modem, 10 CPU, 11 RO
M, 12 RAM, 13 hard disk, 21 syntax analysis unit, 22 pre-synthesis logical compression unit, 23 logical structure determination unit, 24 implementation selection unit, 25 technology mapping unit, 26 violation part correction unit, 27 post-synthesis logical compression unit , 28 Implementation selection changer.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 ハードウェア記述言語による記述の中か
ら組合せ回路のみを含むブロックの記述を抽出するため
の抽出手段と、 前記抽出手段によって抽出された組合せ回路のみを含む
ブロックの記述を論理圧縮するための論理圧縮手段と、 前記論理圧縮手段によって論理圧縮されたブロックの記
述を含む記述から論理回路を合成するための論理合成手
段とを含む論理合成装置。
An extraction unit for extracting a description of a block including only a combinational circuit from a description in a hardware description language; and a logical description of a block description including only the combinational circuit extracted by the extraction unit. And a logic synthesizing means for synthesizing a logic circuit from a description including a description of a block logically compressed by the logical compression means.
【請求項2】 内部ライブラリを参照することにより、
ハードウェア記述言語による記述に基づいて論理回路構
造を決定するための論理構造決定手段と、 前記論理構造決定手段によって論理回路構造が決定され
なかった記述のインプリメンテーションを、ユーザから
の指示により変更するためのインプリメンテーション変
更手段と、 前記論理構造決定手段によって決定された論理回路構造
および前記インプリメンテーション変更手段によって変
更されたインプリメンテーションに基づいて、論理回路
を合成するための論理合成手段とを含む論理合成装置。
2. By referring to an internal library,
A logical structure determining means for determining a logical circuit structure based on a description in a hardware description language, and an implementation of a description whose logical circuit structure is not determined by the logical structure determining means is changed by an instruction from a user And logic synthesis means for synthesizing a logic circuit based on the logic circuit structure determined by the logic structure determination means and the implementation changed by the implementation change means. And a logic synthesizer including:
【請求項3】 ハードウェア記述言語による記述の中か
ら組合せ回路のみを含むブロックの記述を抽出するため
の抽出手段と、 前記抽出手段によって抽出された組合せ回路のみを含む
ブロックの記述を論理圧縮するための論理圧縮手段と、 内部ライブラリを参照することにより、前記論理圧縮手
段によって論理圧縮されたブロックの記述を含む記述に
基づいて論理回路構造を決定するための論理構造決定手
段と、 前記論理構造決定手段によって論理回路構造が決定され
なかった記述のインプリメンテーションを、ユーザから
の指示により変更するためのインプリメンテーション変
更手段と、 前記論理構造決定手段によって決定された論理回路構造
および前記インプリメンテーション変更手段によって変
更されたインプリメンテーションに基づいて、論理回路
を合成するための論理合成手段とを含む論理合成装置。
3. Extraction means for extracting a description of a block including only a combinational circuit from descriptions in a hardware description language, and logically compresses a description of a block including only the combinational circuit extracted by the extraction means. Logic determining means for determining a logical circuit structure based on a description including a description of a block logically compressed by the logical compressing means by referring to an internal library; and Implementation changing means for changing an implementation of a description whose logic circuit structure is not determined by the determining means in accordance with an instruction from a user; and a logic circuit structure determined by the logical structure determining means and the implementation. Based on the implementation changed by the There, the logic synthesis device including a logic synthesis means for synthesizing a logic circuit.
【請求項4】 前記抽出手段は、ハードウェア記述言語
による記述の中から変数を抽出するための変数抽出手段
と、 入力端子として宣言されている変数、記憶素子の出力信
号として解釈される変数、および右辺に算術演算回路の
出力信号が含まれる変数のうちいずれかに該当するま
で、前記変数抽出手段によって抽出された変数を順次展
開することにより組み合わせ回路を抽出する組合せ回路
抽出手段とを含む、請求項1または3記載の論理合成装
置。
4. The variable extracting means for extracting a variable from a description in a hardware description language; a variable declared as an input terminal; a variable interpreted as an output signal of a storage element; And a combinational circuit extracting means for extracting a combinational circuit by sequentially expanding the variables extracted by the variable extracting means until the output signal of the arithmetic operation circuit is included on the right side. The logic synthesis device according to claim 1.
【請求項5】 ハードウェア記述言語による記述の中か
ら組合せ回路のみを含むブロックの記述を抽出するステ
ップと、 前記抽出された組合せ回路のみを含むブロックの記述を
論理圧縮するステップと、 前記論理圧縮されたブロックの記述を含む記述から論理
回路を合成するステップとを含む論理合成方法。
5. A step of extracting a description of a block including only a combinational circuit from a description in a hardware description language; a step of logically compressing the description of the block including only the extracted combinational circuit; Synthesizing a logic circuit from the description including the described description of the block.
【請求項6】 内部ライブラリを参照することにより、
ハードウェア記述言語による記述に基づいて論理回路構
造を決定するステップと、 論理回路構造が決定されなかった記述のインプリメンテ
ーションを、ユーザからの指示により変更するステップ
と、 前記決定された論理回路構造および前記変更されたイン
プリメンテーションに基づいて、論理回路を合成するス
テップとを含む論理合成方法。
6. Referring to an internal library,
Determining a logic circuit structure based on a description in a hardware description language; changing an implementation of the description for which the logic circuit structure has not been determined according to a user instruction; and determining the determined logic circuit structure. And synthesizing a logic circuit based on the modified implementation.
【請求項7】 ハードウェア記述言語による記述の中か
ら組合せ回路のみを含むブロックの記述を抽出するステ
ップと、 前記抽出された組合せ回路のみを含むブロックの記述を
論理圧縮するステップと、 前記論理圧縮されたブロックの記述を含む記述から論理
回路を合成するステップとを含む論理合成プログラムを
記録した媒体。
7. A step of extracting a description of a block including only a combinational circuit from a description in a hardware description language; a step of logically compressing the description of the block including only the extracted combinational circuit; Synthesizing a logic circuit from the description including the described description of the block.
【請求項8】 内部ライブラリを参照することにより、
ハードウェア記述言語による記述に基づいて論理回路構
造を決定するステップと、 論理回路構造が決定されなかった記述のインプリメンテ
ーションを、ユーザからの指示により変更するステップ
と、 前記決定された論理回路構造および前記変更されたイン
プリメンテーションに基づいて、論理回路を合成するス
テップとを含む論理合成プログラムを記録した媒体。
8. Referring to the internal library,
Determining a logic circuit structure based on a description in a hardware description language; changing an implementation of the description for which the logic circuit structure has not been determined according to a user instruction; and determining the determined logic circuit structure. And synthesizing a logic circuit based on the modified implementation.
JP10154220A 1998-06-03 1998-06-03 Logic synthesizing device, logic synthesizing method and medium recording logic synthetic program Withdrawn JPH11345253A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10154220A JPH11345253A (en) 1998-06-03 1998-06-03 Logic synthesizing device, logic synthesizing method and medium recording logic synthetic program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10154220A JPH11345253A (en) 1998-06-03 1998-06-03 Logic synthesizing device, logic synthesizing method and medium recording logic synthetic program

Publications (1)

Publication Number Publication Date
JPH11345253A true JPH11345253A (en) 1999-12-14

Family

ID=15579481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10154220A Withdrawn JPH11345253A (en) 1998-06-03 1998-06-03 Logic synthesizing device, logic synthesizing method and medium recording logic synthetic program

Country Status (1)

Country Link
JP (1) JPH11345253A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016024683A (en) * 2014-07-22 2016-02-08 キヤノン株式会社 Information processor and control method therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016024683A (en) * 2014-07-22 2016-02-08 キヤノン株式会社 Information processor and control method therefor

Similar Documents

Publication Publication Date Title
US6026228A (en) Integrated circuit design method, database apparatus for designing integrated circuit and integrated circuit design support apparatus
US6363515B1 (en) Early power estimation tool for high performance electronic system design
US20040221249A1 (en) Automated analysis of RTL code containing ASIC vendor rules
Ott et al. A designer's guide to VHDL synthesis
US7769569B2 (en) Method and system for designing a structural level description of an electronic circuit
US20070143731A1 (en) Method and Program for Supporting Register-Transfer-Level Design of Semiconductor Integrated Circuit
KR100329896B1 (en) Toggle based application specific core methodology
US7979835B1 (en) Method of estimating resource requirements for a circuit design
US8185850B1 (en) Method of implementing a circuit design using control and data path information
US6463567B1 (en) LSI design system through model creation for functional block and LSI design method therefor
US20080301598A1 (en) method for checking constraints equivalence of an integrated circuit design
US6964027B2 (en) System and method for optimizing exceptions
US7000206B2 (en) Timing path detailer
JPH11345253A (en) Logic synthesizing device, logic synthesizing method and medium recording logic synthetic program
US5490082A (en) Method of graphically designing circuits
EP0870253A1 (en) Method for reducing power consumption of switching nodes in a circuit
US9117046B1 (en) Method of generating data for estimating resource requirements for a circuit design
US6877140B1 (en) Method and system for generating a schematic representing bus structures
US6295628B1 (en) Logic synthesis method and device using similar circuit extraction
JP2967761B2 (en) Logic synthesis method and apparatus
US6502227B1 (en) LSI design method which never produces timing error having influence on entire specification of LSI function, after design of layout and circuit of detailed portion
CN118153509A (en) Method and device for realizing layout wiring of FPGA
Kim et al. DEMI: A delay minimization algorithm for cell-based digital VLSI design
JP3652220B2 (en) Logic circuit verification device, logic circuit verification method, and recording medium storing logic circuit verification program
JPH08106476A (en) Automatic composing method for logic circuit

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050906