JP2790086B2 - Automatic logic circuit synthesizer - Google Patents
Automatic logic circuit synthesizerInfo
- Publication number
- JP2790086B2 JP2790086B2 JP7214159A JP21415995A JP2790086B2 JP 2790086 B2 JP2790086 B2 JP 2790086B2 JP 7214159 A JP7214159 A JP 7214159A JP 21415995 A JP21415995 A JP 21415995A JP 2790086 B2 JP2790086 B2 JP 2790086B2
- Authority
- JP
- Japan
- Prior art keywords
- function block
- logic
- statement
- specified
- logical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Description
【0001】[0001]
【産業上の利用分野】本発明はディジタル論理システム
の論理設計を計算機で行う論理設計CADに関し、特
に、ハードウェア記述言語(HDL)によって記述され
た論理記述に基づいて論理回路を合成する論理回路の自
動合成装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a logic design CAD for performing a logic design of a digital logic system by a computer, and more particularly to a logic circuit for synthesizing a logic circuit based on a logic description described by a hardware description language (HDL). To an automatic synthesizer.
【0002】[0002]
【従来の技術】ハードウェア記述言語によって記述され
た論理記述を予め定められたルールに従って解析し、解
析結果に基づいて論理回路を合成する論理回路の自動合
成装置は、従来から種々のものが知られている(例え
ば、特開平5−128203号公報)。2. Description of the Related Art Various automatic logic circuit synthesizing apparatuses for analyzing a logic description described in a hardware description language in accordance with a predetermined rule and synthesizing a logic circuit based on the analysis result have been known. (For example, Japanese Patent Laid-Open No. 5-128203).
【0003】ところで、論理回路の自動合成装置を用い
て論理回路を合成する場合、論理回路の設計者が意図し
たファンクションブロックによって論理回路が合成され
ることが望ましいが、上記した従来の技術では、そのよ
うなことは全く考慮されておらず、単に論理記述によっ
て表される論理を実現するファンクションブロックによ
って論理回路を合成するだけであった。When a logic circuit is synthesized using an automatic logic circuit synthesizer, it is desirable that the logic circuit be synthesized by a function block intended by a designer of the logic circuit. Such a thing is not considered at all, and a logic circuit is simply synthesized by a function block that realizes a logic represented by a logic description.
【0004】[0004]
【発明が解決しようとする課題】上述したように、従来
の論理回路の自動合成装置に於いては、設計者が意図し
たファンクションブロックによって論理回路を合成する
ということは全く考慮されておらず、単に論理記述によ
って表される論理を実現するファンクションブロックに
よって論理回路を合成するだけであるので、設計者が希
望する論理回路が得られない場合があるという問題があ
った。例えば、設計者が論理記述中の或る部分の論理
を、遅延時間の短いファンクションブロックによって実
現することを意図していたとしても、上記ファンクショ
ンブロックと同じ論理を有する遅延時間の長い他のファ
ンクションブロックによって実現されてしまう場合があ
るという問題があった。また、設計者が意図しないファ
ンクションブロックによって論理回路が合成された場合
には、設計者が意図するファンクションブロックに置き
換える作業を行わなければならないため、設計者に負担
がかかるという問題もある。As described above, in a conventional automatic synthesis circuit for a logic circuit, it is not considered at all that synthesis of a logic circuit by a function block intended by a designer is considered. Since a logic circuit is simply synthesized by a function block that realizes a logic represented by a logic description, there is a problem that a logic circuit desired by a designer may not be obtained. For example, even if the designer intends to realize a certain part of the logic in the logic description by a function block having a short delay time, another function block having the same logic as the above function block and having a long delay time is used. There is a problem that it may be realized by the above. In addition, when a logic circuit is synthesized by a function block not intended by the designer, there is a problem that a burden is imposed on the designer because the operation of replacing the function block with the function block intended by the designer must be performed.
【0005】そこで、本発明の目的は、論理回路の設計
者が意図するファンクションブロックを使用して論理回
路を合成することができる論理回路の自動合成装置を提
供することにある。SUMMARY OF THE INVENTION It is an object of the present invention to provide an automatic logic circuit synthesizer capable of synthesizing a logic circuit using a function block intended by a designer of the logic circuit.
【0006】[0006]
【課題を解決するための手段】本発明は上記目的を達成
するため、ハードウェア記述言語で記述された論理記述
に基づいて論理回路を合成する論理回路の自動合成装置
に於いて、前記論理記述中の任意の論理式を指定すると
共に指定した論理式で表される論理を実現するファンク
ションブロックを指定するファンクションブロック指定
文を、前記論理記述中に組み込み可能にし、且つファン
クションブロック指定文が組み込まれた論理記述を入力
し、入力した論理記述を内部データ構造に変換する内部
データ構造変換部と、前記内部データ構造中の、ファン
クションブロック指定文によって指定された論理式と対
応する部分を、前記ファンクションブロック指定文によ
って指定されたファンクションブロックに置き換え、置
き換え後のファンクションブロックに対して置き換え禁
止指定を行うファンクションブロック置き換え部と、該
ファンクションブロック置き換え部によって置き換えの
済んだ内部データ構造に対して論理合成を行う論理合成
部とを備えたものである。To achieve the above object, the present invention provides an automatic logic circuit synthesis apparatus for synthesizing a logic circuit based on a logic description described in a hardware description language. A function block designating statement that designates an arbitrary logical expression and specifies a function block that realizes the logic represented by the specified logical expression can be incorporated in the logical description, and the function block designating statement is incorporated. An internal data structure conversion unit for inputting the logical description, and converting the input logical description into an internal data structure; and converting the part corresponding to the logical expression specified by the function block specification statement in the internal data structure into the function Replaced with the function block specified by the block specification statement, and the replaced fan And function block replacement unit that performs prohibition specified substituted for Deployment block, in which a logic synthesis unit for performing a logic synthesis to the internal data structure having undergone the replacement by the function block replacement unit.
【0007】また、本発明は、ファンクションブロック
指定文によって指定された論理式とファンクションブロ
ックとの論理が等しい場合のみ、ファンクションブロッ
ク置き換え部による置き換えが行われるようにするた
め、ファンクションブロックの論理が登録されたライブ
ラリを備え、前記ファンクションブロック置き換え部
は、前記ファンクションブロック指定文によって指定さ
れた論理式の論理と、前記ファンクションブロック指定
文によって指定されたファンクションブロックの論理と
が等しいか否かを前記ライブラリに登録されているファ
ンクションブロックの論理に基づいて判断し、等しいと
判断した場合に限り、ファンクションブロックの置き換
えを行うようにしたものである。Further, according to the present invention, the logic of the function block is registered so that the replacement by the function block replacement unit is performed only when the logic of the function block specified by the function block designation statement is equal to the logic of the function block. Wherein the function block replacement unit determines whether or not the logic of the logical expression specified by the function block designating statement is equal to the logic of the function block specified by the function block designating statement. The function block is determined based on the logic of the function block registered in the function block, and the function block is replaced only when it is determined that they are equal.
【0008】[0008]
【作用】論理記述中の或る論理式によって表される論理
を、特定のファンクションブロックによって実現したい
場合には、論理回路の設計者は、上記或る論理式を指定
すると共に指定した論理式で表される論理を実現するフ
ァンクションブロックを指定するファンクションブロッ
ク指定文を、論理記述中に組み込んでおく。When the logic expressed by a certain logical expression in the logical description is to be realized by a specific function block, the designer of the logical circuit specifies the above logical expression and uses the specified logical expression. A function block designation statement that designates a function block that implements the expressed logic is incorporated in the logic description.
【0009】ファンクションブロック指定文が組み込ま
れた論理記述は、内部データ構造変換部によって内部デ
ータ構造に変換される。その後、ファンクションブロッ
ク置き換え部が、内部データ構造中の、ファンクション
ブロック指定文によって指定された論理式と対応する部
分を、ファンクションブロック指定文によって指定され
たファンクションブロックに置き換え、置き換え後のフ
ァンクションブロックに対して置き換え禁止指定を行
う。その後、論理合成部が、置き換えの済んだ内部デー
タ構造の置き換え禁止指定が行われていない部分に対し
て論理合成を行うことにより、論理回路を合成する。The logical description incorporating the function block designation statement is converted into an internal data structure by an internal data structure conversion unit. Then, the function block replacement unit replaces the part corresponding to the logical expression specified by the function block specification statement in the internal data structure with the function block specified by the function block specification statement, and To specify replacement prohibition. Thereafter, the logic synthesis unit synthesizes the logic circuit by performing logic synthesis on the portion of the replaced internal data structure for which the replacement prohibition designation has not been performed.
【0010】[0010]
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, embodiments of the present invention will be described in detail with reference to the drawings.
【0011】図1は本発明の実施例のブロック図であ
り、論理記述ファイル1と、内部データ構造変換部2
と、内部データ構造ファイル3と、ファンクションブロ
ック置き換え部4と、ライブラリ5と、論理合成部6
と、論理回路ファイル7と、出力部8とから構成されて
いる。FIG. 1 is a block diagram of an embodiment of the present invention, in which a logical description file 1 and an internal data structure conversion unit 2 are shown.
, An internal data structure file 3, a function block replacement unit 4, a library 5, and a logic synthesis unit 6.
, A logic circuit file 7, and an output unit 8.
【0012】論理記述ファイル1には、合成する論理回
路の論理等を表す、ハードウェア記述言語によって記述
された論理記述が格納される。本実施例の論理記述中に
は、論理記述中の任意の論理式を指定すると共に指定し
た論理式で表される論理を実現するファンクションブロ
ックを指定するファンクションブロック指定文が組み込
まれている。尚、ファンクションブロック指定文は、従
来のハードウェア記述言語では使用されていなかったも
のである。The logic description file 1 stores a logic description written in a hardware description language that represents the logic of a logic circuit to be synthesized. In the logical description of this embodiment, a function block specifying statement that specifies an arbitrary logical expression in the logical description and specifies a function block that implements the logic represented by the specified logical expression is incorporated. The function block designation statement is not used in the conventional hardware description language.
【0013】図2は論理記述ファイル1に格納される論
理記述の一例を示した図であり、ファンクションブロッ
ク指定文21〜23と、論理式31〜35とから構成さ
れている。FIG. 2 is a diagram showing an example of a logical description stored in the logical description file 1, which is composed of function block designation statements 21 to 23 and logical expressions 31 to 35.
【0014】論理式31は、入力信号Aを反転した信号
を出力信号Xとする論理を表している。論理式32は、
入力信号B,Cの論理積を反転した信号を出力信号Yと
する論理を表している。論理式33は、入力信号Dを反
転した信号を出力信号Zとする論理を、論理式34は、
入力信号Xを反転した信号を出力信号Sとする論理を、
論理式35は、入力信号Zを反転した信号を出力信号T
とする論理を表している。A logical expression 31 represents a logic that sets a signal obtained by inverting the input signal A as an output signal X. The logical expression 32 is
The logic of the output signal Y is a signal obtained by inverting the logical product of the input signals B and C. A logical expression 33 is a logic that sets a signal obtained by inverting the input signal D as an output signal Z, and a logical expression 34 is
A logic that sets a signal obtained by inverting the input signal X as an output signal S is
The logical expression 35 is a signal obtained by inverting the input signal Z to the output signal T.
Is expressed.
【0015】ファンクションブロック指定文21は、フ
ァンクションブロック指定文21とその次のファンクシ
ョンブロック指定文22との間に存在する各論理式によ
って表される各論理を、それぞれファンクションブロッ
ク名L101のファンクションブロックで実現すること
を指定する。この例の場合、ファンクションブロック指
定文21とファンクションブロック指定文22との間に
は、1つの論理式31しか存在しないので、ファンクシ
ョンブロック指定文21は、論理式31によって表され
る論理を、ファンクションブロック名L101のファン
クションブロックで実現することを指定していることに
なる。The function block designation statement 21 represents each logic represented by each logical expression existing between the function block designation statement 21 and the next function block designation statement 22 as a function block having a function block name L101. Specify to be realized. In this example, since only one logical expression 31 exists between the function block specifying statement 21 and the function block specifying statement 22, the function block specifying statement 21 That is, it is designated to be realized by the function block with the block name L101.
【0016】ファンクションブロック指定文22は、フ
ァンクションブロック指定文22とその次のファンクシ
ョンブロック指定文23との間に存在する各論理式によ
って表される各論理を、それぞれファンクションブロッ
ク名L302のファンクションブロックで実現すること
を指定する。この例の場合、ファンクションブロック指
定文22とファンクションブロック指定文23との間に
は、1つの論理式32しか存在しないので、ファンクシ
ョンブロック指定文22は、論理式32によって表され
る論理を、ファンクションブロック名L302のファン
クションブロックで実現することを指定していることに
なる。The function block designation statement 22 represents each logic represented by each logical expression between the function block designation statement 22 and the next function block designation statement 23 as a function block having a function block name L302. Specify to be realized. In this example, since only one logical expression 32 exists between the function block specifying statement 22 and the function block specifying statement 23, the function block specifying statement 22 This means that the function block with the function name of block name L302 is specified.
【0017】ファンクションブロック指定文23は、そ
の前に存在するファンクションブロック指定文22の効
力がそれより後には及ばないようにすることを指定して
いる。The function block specification statement 23 specifies that the effect of the function block specification statement 22 existing before it does not extend beyond it.
【0018】内部データ構造変換部2は、論理記述ファ
イル1に格納されている論理記述を入力して構文解析を
行い、解析結果に基づいて論理記述を内部データ構造に
変換する機能を有する。The internal data structure conversion unit 2 has a function of inputting a logical description stored in the logical description file 1 and performing syntax analysis, and converting the logical description into an internal data structure based on the analysis result.
【0019】ライブラリ5には、複数のファンクション
ブロックの論理とファンクションブロック名とが対応し
て登録されている。In the library 5, the logics of a plurality of function blocks and the function block names are registered correspondingly.
【0020】ファンクションブロック置き換え部4は、
ファンクションブロック指定文によって指定された論理
式の論理とファンクションブロック指定文によって指定
されたファンクションブロックの論理とが等しいか否か
をライブラリ5の内容に基づいて判断する機能と、両者
が等しくないと判断した場合、ファンクションブロック
指定文によって指定された論理式とファンクションブロ
ックのファンクションブロック名とを含むエラー情報を
CRT等の出力部8に出力する機能と、両者が等しいと
判断した場合、内部データ構造ファイル3に格納されて
いる内部データ構造から、ファンクションブロック指定
文によって指定された、論理式と対応する部分を探し出
し、探し出した部分をファンクションブロック指定文に
よって指定されたファンクションブロックと置き換える
機能と、置き換えの済んだファンクションブロックに対
して置き換え禁止指定を行う機能を有する。The function block replacement unit 4
A function of determining, based on the contents of the library 5, whether or not the logic of the logical expression specified by the function block specification statement is equal to the logic of the function block specified by the function block specification statement; In this case, the function of outputting error information including the logical expression designated by the function block designation statement and the function block name of the function block to the output unit 8 such as a CRT, and the internal data structure file A function for searching a part corresponding to the logical expression specified by the function block specification statement from the internal data structure stored in 3 and replacing the searched part with the function block specified by the function block specification statement; It has a function to perform the prohibition specified replacement for the function block that done.
【0021】論理合成部6は、ファンクションブロック
置き換え部4による置き換えの済んだ内部データ構造に
対して、ライブラリ5を使用して論理合成を行い、その
結果生成される論理回路を論理回路ファイル7に出力す
る機能を有する。The logic synthesis section 6 performs logic synthesis using the library 5 on the internal data structure that has been replaced by the function block replacement section 4, and stores the resulting logic circuit in the logic circuit file 7. It has a function to output.
【0022】次に、本実施例の動作を、論理記述ファイ
ル1に格納されている論理記述の内容が図2に示すもの
である場合を例にとって説明する。Next, the operation of the present embodiment will be described by taking as an example a case where the contents of the logical description stored in the logical description file 1 are those shown in FIG.
【0023】内部データ構造変換部2は、先ず、論理記
述ファイル1から図2に示す内容を有する論理記述を入
力し、次いで、入力した論理記述に対して構文解析を行
い、解析結果に基づいて論理記述を内部データ構造に変
換する。その後、内部データ構造変換部2は、内部デー
タ構造を内部データ構造ファイル3に格納し、格納完了
後、ファンクションブロック置き換え部4に対して通知
を行う。The internal data structure conversion unit 2 firstly inputs a logical description having the contents shown in FIG. 2 from the logical description file 1, and then performs a syntax analysis on the input logical description, based on the analysis result. Convert logical descriptions into internal data structures. After that, the internal data structure conversion unit 2 stores the internal data structure in the internal data structure file 3, and notifies the function block replacement unit 4 after the storage is completed.
【0024】図3は内部データ構造ファイル3に格納さ
れた内部データ構造によって表される論理回路のイメー
ジを示した図である。図3に於いて、10a,10b,
10d,10e,10fはインバータを、10cはアン
ドゲートを表している。また、図3に於けるA,B,
C,D,S,T,X,Y,Zは、図2に示した論理式中
の各信号を表している。FIG. 3 is a diagram showing an image of a logic circuit represented by the internal data structure stored in the internal data structure file 3. In FIG. 3, 10a, 10b,
10d, 10e and 10f represent inverters, and 10c represents an AND gate. In addition, A, B,
C, D, S, T, X, Y, and Z represent each signal in the logical expression shown in FIG.
【0025】ファンクションブロック置き換え部4は、
内部データ構造変換部2から通知を受けると、図4の流
れ図の処理を行う。The function block replacement unit 4
When the notification is received from the internal data structure conversion unit 2, the processing of the flowchart of FIG. 4 is performed.
【0026】先ず、ファンクションブロック置き換え部
4は、論理記述ファイル1に格納されている図2に示す
論理記述中の最初のファンクションブロック指定文21
に注目する(S1)。その後、ファンクションブロック
置き換え部4は、現在注目しているファンクションブロ
ック指定文21の内容が「*#BLKEND」であるか
否かを、即ち、現在注目しているファンクションブロッ
ク指定文21の内容がその前のファンクションブロック
指定文の効力が及ぶ範囲の終わりを示しているものなの
か否かを判断する(S3)。First, the function block replacing section 4 stores the first function block designation statement 21 in the logical description shown in FIG.
(S1). Thereafter, the function block replacing unit 4 determines whether or not the content of the currently focused function block designation statement 21 is “* # BLKEND”, that is, the content of the currently focused function block designation statement 21 is It is determined whether or not it indicates the end of the range over which the previous function block designation statement is effective (S3).
【0027】そして、S3の判断結果がYESの場合は
S1の処理を行い、NOの場合はS4の処理を行う。こ
の例の場合、現在注目しているファンクションブロック
指定文21の内容は、「*#BLK L101」であ
り、S3の判断結果はNOとなるので、ファンクション
ブロック置き換え部4は、S4の処理を行うことにな
る。If the result of the determination in S3 is YES, the process of S1 is performed, and if it is NO, the process of S4 is performed. In the case of this example, the content of the function block designation statement 21 currently focused on is “* # BLK L101”, and the determination result in S3 is NO, so the function block replacement unit 4 performs the processing in S4. Will be.
【0028】S4では、ファンクションブロック置き換
え部4は、現在注目しているファンクションブロック指
定文21と、その次のファンクションブロック指定文2
2との間に存在する論理式の内の1つに注目する。この
例の場合、ファンクションブロック指定文21と、その
次のファンクションブロック指定文22との間に存在す
る論理式は、論理式31だけであるので、ファンクショ
ンブロック置き換え部4は論理式31に注目することに
なる。In S4, the function block replacement unit 4 sets the function block specification statement 21 of interest at present and the next function block specification statement 2
Attention is paid to one of the logical expressions existing between the two. In the case of this example, since the only logical expression existing between the function block specifying statement 21 and the next function block specifying statement 22 is the logical expression 31, the function block replacing unit 4 pays attention to the logical expression 31. Will be.
【0029】その後、ファンクションブロック置き換え
部4は、現在注目している論理式31の論理と、現在注
目しているファンクションブロック指定文21によって
指定されているファンクションブロック名「L101」
のファンクションブロックの論理とが等しいか否かを、
ライブラリ5の内容に基づいて判断する(S6)。この
S6の処理を詳細に説明すると、ファンクションブロッ
ク置き換え部4は、先ず、ファンクションブロック名
「L101」をキーにしてライブラリ5を検索し、ファ
ンクションブロック名「L101」のファンクションブ
ロックの論理をライブラリ5から取得する。その後、フ
ァンクションブロック置き換え部4は、取得したファン
クションブロックの論理と、現在注目している論理式3
1の論理とを比較することにより、両者が等しいか否か
を判断する。Thereafter, the function block replacing section 4 determines the logic of the logical expression 31 of interest and the function block name “L101” specified by the function block designation statement 21 of interest.
Whether the logic of the function block is equal to
The determination is made based on the contents of the library 5 (S6). More specifically, the function block replacement unit 4 searches the library 5 using the function block name “L101” as a key, and extracts the logic of the function block having the function block name “L101” from the library 5. get. After that, the function block replacing unit 4 calculates the logic of the acquired function block and the logical expression 3
By comparing with the logic of 1, it is determined whether or not both are equal.
【0030】そして、S6に於いて、現在注目している
論理式31の論理とファンクションブロック指定文21
によって指定されているファンクションブロック名「L
101」のファンクションブロックの論理とが等しくな
いと判断した場合は、ファンクションブロック置き換え
部4は、ファンクションブロック指定文21によって指
定された論理式31とファンクションブロック名「L1
01」とを含むエラー情報を出力部8へ出力した後(S
10)、S4の処理を行う。Then, in S6, the logic of the logical expression 31 of interest and the function block designation statement 21
Function block name "L" specified by
If the function block replacement unit 4 determines that the logic of the function block of “101” is not equal, the function block replacement unit 4 determines the logical expression 31 specified by the function block specification statement 21 and the function block name “L1”.
01 is output to the output unit 8 (S
10), perform the process of S4.
【0031】また、S6に於いて、論理式31の論理と
ファンクションブロック指定文21によって指定された
ファンクションブロックの論理とが等しいと判断した場
合は、ファンクションブロック置き換え部4は、内部デ
ータ構造ファイル3に格納されている内部データ構造か
ら、ファンクションブロック指定文21によって指定さ
れた、論理式31に対応する部分を探し出し、探し出し
た部分をファンクションブロック指定文21によって指
定されたファンクションブロック名「L101」のファ
ンクションブロックで置き換える(S7,S8)。ここ
で、論理式31に対応する部分は、論理式31に含まれ
ている信号名X,Aと、内部データ構造に含まれている
信号名X,Aとに基づいて探し出すものである。If it is determined in S6 that the logic of the logical expression 31 is equal to the logic of the function block specified by the function block designation statement 21, the function block replacement unit 4 sets the internal data structure file 3 Is searched for a part corresponding to the logical expression 31 specified by the function block designation statement 21 from the internal data structure stored in the function block designation statement 21, and the found part is identified by the function block name “L101” designated by the function block designation statement 21. Replace with a function block (S7, S8). Here, the part corresponding to the logical expression 31 is searched for based on the signal names X and A included in the logical expression 31 and the signal names X and A included in the internal data structure.
【0032】その後、ファンクションブロック置き換え
部4は、内部データ構造中の、S8で置き換えられたフ
ァンクションブロックに対して置き換え禁止指定を行い
(S9)、再び、S4の処理を行う。ここで、S8で置
き換えられたファンクションブロックに対して置き換え
禁止指定を行うのは、S8で置き換えられたファンクシ
ョンブロックは、論理回路の設計者によってファンクシ
ョンブロック指定文で指定されたファンクションブロッ
クであり、論理合成部6で合成処理を行ってもそのまま
にしておくことが必要だからである。After that, the function block replacing unit 4 designates replacement prohibition for the function block replaced in S8 in the internal data structure (S9), and performs the process of S4 again. Here, the replacement prohibition designation for the function block replaced in S8 is performed because the function block replaced in S8 is a function block designated by a function block designation statement by the designer of the logic circuit. This is because it is necessary to keep the synthesizing unit 6 as it is even after performing the synthesizing process.
【0033】その後、ファンクションブロック置き換え
部4は、現在注目しているファンクションブロック指定
文21と、その次のファンクションブロック指定文22
との間に未処理の論理式が存在しないことから(S5が
YES)、論理記述ファイル1に格納されている論理記
述中の次のファンクションブロック指定文22に注目す
る(S1)。After that, the function block replacing unit 4 generates a function block specification statement 21 which is currently focused on, and a function block specification statement 22 next to the function block specification statement 22.
Since there is no unprocessed logical expression (YES in S5), attention is paid to the next function block designation statement 22 in the logical description stored in the logical description file 1 (S1).
【0034】その後、ファンクションブロック置き換え
部4は、現在注目しているファンクションブロック指定
文22の内容が「*#BLKEND」でないことから
(S3がNO)、現在注目しているファンクションブロ
ック指定文22とその次のファンクションブロック指定
文23との間に存在する論理式の1つに注目する(S
4)。この例では、ファンクションブロック指定文2
2,23の間に存在する論理式は論理式32だけである
ので、ファンクションブロック置き換え部4は論理式3
2に注目することになる。Thereafter, since the contents of the currently focused function block specification statement 22 are not “* BLKEND” (NO in S 3), the function block replacement unit 4 determines that the currently focused function block specification statement 22 Attention is paid to one of the logical expressions existing between the next function block designation statement 23 and (S
4). In this example, function block specification statement 2
Since only the logical expression 32 exists between the logical expressions 2 and 23, the function block replacement unit 4
Attention will be paid to 2.
【0035】その後、ファンクションブロック置き換え
部4は、現在注目している論理式32の論理と、現在注
目しているファンクションブロック指定文22によって
指定されているファンクションブロック名「L302」
のファンクションブロックの論理とが等しいが否かを判
断する(S6)。そして、その判断結果に応じて前述し
たと同様の処理を行う。以下、前述したと同様の処理を
繰り返し行い、論理記述ファイル1に格納されている論
理記述に組み込まれている全てのファンクションブロッ
ク指定文に対して前述した処理を行うと(S2がYE
S)、ファンクションブロック置き換え部4は、論理合
成部6に対して通知を行い(S11)、その処理を終了
する。Thereafter, the function block replacement unit 4 determines the logic of the logical expression 32 of interest and the function block name “L302” specified by the function block designation statement 22 of interest.
It is determined whether or not the logic of the function block is equal (S6). Then, the same processing as described above is performed according to the determination result. Thereafter, the same processing as described above is repeated, and the above-described processing is performed on all the function block designation statements incorporated in the logical description stored in the logical description file 1 (S2 is YE
S), the function block replacing unit 4 notifies the logic synthesizing unit 6 (S11), and ends the processing.
【0036】図5はファンクションブロック置き換え部
4による処理が終了した後の、内部データ構造ファイル
3に格納されている内部データ構造が表す論理回路のイ
メージを示した図である。図5に示すように、図3中の
インバータ10aは、ファンクションブロック指定文2
1によって指定されたファンクションブロック名「L1
01」のファンクションブロック11aに置き換えら
れ、図3中のアンドゲート10cとインバータ10d
は、ファンクションブロック指定文22によって指定さ
れたファンクションブロック名「L302」のファンク
ションブロック11cdに置き換えられている。また、
ファンクションブロック11a,11cdに対しては、
図5に点線で示すように、置き換え禁止指定が行われて
いる。FIG. 5 is a diagram showing an image of a logic circuit represented by the internal data structure stored in the internal data structure file 3 after the processing by the function block replacing section 4 is completed. As shown in FIG. 5, the inverter 10a in FIG.
1, the function block name "L1
01 "and an AND gate 10c and an inverter 10d in FIG.
Is replaced with the function block 11cd of the function block name “L302” specified by the function block specification statement 22. Also,
For the function blocks 11a and 11cd,
As shown by a dotted line in FIG. 5, replacement prohibition is designated.
【0037】論理合成部6は、ファンクションブロック
置き換え部4から通知を受けると、内部データ構造ファ
イル3に格納されている内部データ構造の置き換え禁止
指定が行われていない部分に対して、ライブラリ5の内
容を使用した論理合成を行い、合成した論理回路を論理
回路ファイル7に出力する。When the logic synthesizing unit 6 receives the notification from the function block replacing unit 4, the logic synthesizing unit 6 replaces the portion of the internal data structure stored in the internal data structure file 3 where the replacement prohibition is not specified with the library 5. Logic synthesis using the contents is performed, and the synthesized logic circuit is output to the logic circuit file 7.
【0038】図6は論理回路ファイル7に出力された論
理回路の一例を示した図である。この例では、図5中の
インバータ10bがファンクションブロック名「L10
1」のファンクションブロック12bに置き換えられ、
図5中のインバータ10e,10fがファンクションブ
ロック名「L111」のバッファ12efで置き換えら
れている。しかし、置き換え禁止指定がされている図5
中のファンクションブロック11a,11cdは、その
ままになっている。従って、論理合成部6で論理合成を
行っても、合成された論理回路は、論理回路の設計者が
意図したものとなる。FIG. 6 is a diagram showing an example of the logic circuit output to the logic circuit file 7. In this example, the inverter 10b in FIG.
1 "function block 12b,
The inverters 10e and 10f in FIG. 5 are replaced by a buffer 12ef having a function block name "L111". However, FIG.
The function blocks 11a and 11cd in the middle remain as they are. Therefore, even if the logic synthesis is performed by the logic synthesis unit 6, the synthesized logic circuit is intended by the designer of the logic circuit.
【0039】[0039]
【発明の効果】以上説明したように本発明は、論理記述
中の任意の論理式を指定すると共に指定した論理式によ
って表される論理を実現するファンクションブロックを
指定するファンクションブロック指定文を、論理記述中
に組み込み可能にし、ファンクションブロック置き換え
部が、内部データ構造中のファンクションブロック指定
文によって指定された部分を、ファンクションブロック
指定文によって指定されたファンクションブロックに置
き換えた後、置き換え後のファンクションブロックが論
理合成部によって他のファンクションブロックに置き換
えられないようにするために置き換えの禁止指定を行う
ので、設計者が意図したファンクションブロックによっ
て論理回路を合成できる効果がある。また、論理記述中
にファンクションブロック指定文を組み込むことができ
るので、論理記述に基づいて容易に論理をおうことがで
きる効果がある。As described above, according to the present invention, a function block designating statement which designates an arbitrary logical expression in a logical description and designates a function block which realizes the logic represented by the specified logical expression is used. After the function block can be embedded in the description, the function block replacement unit replaces the part specified by the function block specification statement in the internal data structure with the function block specified by the function block specification statement. Since the prohibition of the replacement is specified so that the function block is not replaced by another function block, there is an effect that the logic circuit can be synthesized by the function block intended by the designer. Also, since the function block designation statement can be incorporated in the logical description, there is an effect that the logic can be easily implemented based on the logical description.
【0040】また、本発明は、ファンクションブロック
指定文によって指定された論理式とファンクションブロ
ックとの論理が等しい場合のみ、ファンクションブロッ
ク置き換え部で置き換えを行うようにしたので、合成さ
れた論理回路に論理の矛盾が発生することはない。Also, according to the present invention, only when the logic of the logical expression specified by the function block designating statement and the logic of the function block are equal, the replacement is performed by the function block replacement unit. No contradiction occurs.
【0041】更に、本発明は、ファンクションブロック
指定文によって指定された論理式とファンクションブロ
ックとの論理が等しくない場合、ファンクションブロッ
ク指定文によって指定された論理式とファンクションブ
ロックとを含むエラー情報を出力するようにしたもので
あるので、論理回路の設計者は、指定誤りがあった場
合、それに迅速に対処することができる。Further, according to the present invention, when the logic of the function block designation statement and the logic of the function block are not equal, error information including the logic equation designated by the function block designation statement and the function block is output. Therefore, the designer of the logic circuit can promptly deal with an error in the specification.
【図1】本発明の実施例のブロック図である。FIG. 1 is a block diagram of an embodiment of the present invention.
【図2】論理記述ファイル1に格納される論理記述の一
例を示す図である。FIG. 2 is a diagram illustrating an example of a logical description stored in a logical description file 1.
【図3】内部データ構造変換部2によって内部データ構
造ファイル3に格納された内部データ構造が表す論理回
路のイメージの一例を示す図である。FIG. 3 is a diagram showing an example of an image of a logic circuit represented by an internal data structure stored in an internal data structure file 3 by an internal data structure conversion unit 2;
【図4】ファンクションブロック置き換え部4の処理例
を示す流れ図である。FIG. 4 is a flowchart showing a processing example of a function block replacement unit 4;
【図5】ファンクションブロック置き換え部4による処
理が行われた後の内部データ構造が表す論理回路のイメ
ージの一例を示す図である。FIG. 5 is a diagram illustrating an example of an image of a logic circuit represented by an internal data structure after a process performed by a function block replacement unit 4;
【図6】合成された論理回路の一例を示す図である。FIG. 6 is a diagram illustrating an example of a synthesized logic circuit.
1…論理記述ファイル 2…内部データ構造変換部 3…内部データ構造ファイル 4…ファンクションブロック置き換え部 5…ライブラリ 6…論理合成部 7…論理回路ファイル 8…出力部 DESCRIPTION OF SYMBOLS 1 ... Logic description file 2 ... Internal data structure conversion part 3 ... Internal data structure file 4 ... Function block replacement part 5 ... Library 6 ... Logic synthesis part 7 ... Logic circuit file 8 ... Output part
Claims (3)
記述に基づいて論理回路を合成する論理回路の自動合成
装置に於いて、 前記論理記述中の任意の論理式を指定すると共に指定し
た論理式で表される論理を実現するファンクションブロ
ックを指定するファンクションブロック指定文を、前記
論理記述中に組み込み可能にし、且つファンクションブ
ロック指定文が組み込まれた論理記述を入力し、入力し
た論理記述を内部データ構造に変換する内部データ構造
変換部と、 前記内部データ構造中の、ファンクションブロック指定
文によって指定された論理式と対応する部分を、前記フ
ァンクションブロック指定文によって指定されたファン
クションブロックに置き換え、置き換え後のファンクシ
ョンブロックに対して置き換え禁止指定を行うファンク
ションブロック置き換え部と、 該ファンクションブロック置き換え部によって置き換え
の済んだ内部データ構造に対して論理合成を行う論理合
成部とを備えたことを特徴とする論理回路の自動合成装
置。1. An automatic logic circuit synthesis apparatus for synthesizing a logic circuit based on a logic description described in a hardware description language, wherein an arbitrary logic expression in the logic description is specified and the specified logical expression is specified. A function block designating statement that designates a function block that realizes the logic represented by formula (1) can be incorporated into the logical description, and a logical description incorporating the function block designating statement is input, and the input logical description is converted into internal data. An internal data structure conversion unit that converts the data into a structure; and a part corresponding to the logical expression specified by the function block specification statement in the internal data structure is replaced with a function block specified by the function block specification statement. Specify replacement prohibition for other function blocks And § function blocks replacement unit, automatic synthesizer of the logic circuit, characterized in that a logic combining unit for performing a logic synthesis to the internal data structure having undergone the replacement by the function block replacement unit.
れたライブラリを備え、 前記ファンクションブロック置き換え部は、前記ファン
クションブロック指定文によって指定された論理式の論
理と、前記ファンクションブロック指定文によって指定
されたファンクションブロックの論理とが等しいか否か
を前記ライブラリに登録されているファンクションブロ
ックの論理に基づいて判断し、等しいと判断した場合に
限り、ファンクションブロックの置き換えを行うことを
特徴とする請求項1記載の論理回路の自動合成装置。2. A function block replacement unit comprising: a library in which logic of a function block is registered; wherein the function block replacement unit includes a logic of a logic expression designated by the function block designation statement and a function block designated by the function block designation statement. 2. The function block according to claim 1, wherein whether or not the logic is equal is determined based on the logic of the function block registered in the library, and the function block is replaced only when it is determined that the logic is equal. Automatic synthesis device for logic circuits.
は、前記ファンクションブロック指定文によって指定さ
れた論理式の論理と、前記ファンクションブロック指定
文によって指定されたファンクションブロックの論理と
が等しくないと判断した場合、前記ファンクションブロ
ック指定文によって指定された論理式と前記ファンクシ
ョンブロック指定文によって指定されたファンクション
ブロックを示す情報とを含むエラー情報を出力すること
を特徴とする請求項2記載の論理回路の自動合成装置。3. The function block replacement unit, when determining that the logic of the logical expression designated by the function block designation statement is not equal to the logic of the function block designated by the function block designation statement, 3. The automatic logic circuit synthesis apparatus according to claim 2, wherein error information including a logical expression specified by the function block specification statement and information indicating the function block specified by the function block specification statement is output.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7214159A JP2790086B2 (en) | 1995-07-31 | 1995-07-31 | Automatic logic circuit synthesizer |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7214159A JP2790086B2 (en) | 1995-07-31 | 1995-07-31 | Automatic logic circuit synthesizer |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0944540A JPH0944540A (en) | 1997-02-14 |
| JP2790086B2 true JP2790086B2 (en) | 1998-08-27 |
Family
ID=16651216
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7214159A Expired - Fee Related JP2790086B2 (en) | 1995-07-31 | 1995-07-31 | Automatic logic circuit synthesizer |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2790086B2 (en) |
-
1995
- 1995-07-31 JP JP7214159A patent/JP2790086B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0944540A (en) | 1997-02-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0773080A (en) | Multi-media document sotrage management device | |
| US20050190994A1 (en) | Image processing apparatus and program storage medium | |
| US6687894B2 (en) | High-level synthesis method, high-level synthesis apparatus, method for producing logic circuit using the high-level synthesis method for logic circuit design, and recording medium | |
| JPH08320893A (en) | Logic synthesizer, logic synthesis method, and semiconductor integrated circuit | |
| JP2790086B2 (en) | Automatic logic circuit synthesizer | |
| US6243852B1 (en) | Method of and an apparatus for logic circuit synthesis | |
| JP2859027B2 (en) | Logic circuit synthesizer | |
| JP2004514187A (en) | Encapsulation of HDL process description giving granularity at process level | |
| JP2001245180A (en) | Image filter circuit and image filtering method | |
| JP2967761B2 (en) | Logic synthesis method and apparatus | |
| US6861963B1 (en) | Encoding conversion fallback | |
| JP2848332B2 (en) | Automatic synthesis of logic circuits | |
| JP2002245104A (en) | Mapping device provided with logic reduction function, mapping method and its program | |
| JP2001067366A (en) | Data base retrieval result display system, method therefor and recording medium | |
| JP3330181B2 (en) | Image information processing apparatus and method | |
| JP2606659B2 (en) | Logic circuit hierarchy development apparatus and method | |
| JPH0620003A (en) | Logic synthesis method | |
| JP2835082B2 (en) | Logic circuit synthesizer | |
| JP3232717B2 (en) | Circuit description synthesizer | |
| JPH09123541A (en) | Image processor | |
| JPH07306879A (en) | Netlist / hardware description converter | |
| JP2001216339A (en) | Integrated process rtl description generation system | |
| JPH05225273A (en) | Semiconductor integrated circuit logical connection data converter | |
| JPH04116774A (en) | Digital filter synthesis device and digital filter synthesis method | |
| JPH08161297A (en) | Document processing device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080612 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090612 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100612 Year of fee payment: 12 |
|
| LAPS | Cancellation because of no payment of annual fees |