JPH09259173A - Designing method for logic circuit - Google Patents

Designing method for logic circuit

Info

Publication number
JPH09259173A
JPH09259173A JP8093578A JP9357896A JPH09259173A JP H09259173 A JPH09259173 A JP H09259173A JP 8093578 A JP8093578 A JP 8093578A JP 9357896 A JP9357896 A JP 9357896A JP H09259173 A JPH09259173 A JP H09259173A
Authority
JP
Japan
Prior art keywords
flip
flop
logic circuit
signal
processing
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.)
Pending
Application number
JP8093578A
Other languages
Japanese (ja)
Inventor
Hirohito Kimoto
浩仁 木元
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP8093578A priority Critical patent/JPH09259173A/en
Publication of JPH09259173A publication Critical patent/JPH09259173A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To enable a stable operation also for a logic circuit containing an asynchronous signal at the input, concerning a method for designing the logic circuit using a hardware description language. SOLUTION: The configuration of the logic circuit to be the object of design is described while using the hardware description language, and the logic circuit is constituted by applying this description to a logic synthesizing tool. Concerning the respective flip-flops of the constituted logic circuit (S31 and S37), upstream pathes are traced backward one by one and search is performed until reaching the input terminal or the other flip-flop (S32). Then, the flip-flop, in which the upstream path reaching the input terminal to be given an asynchronous signal exists, is registered as the processing object (S35 and S36). Concerning the registered flip-flop, processing of plural steps is performed for additionally inserting the other flip-flop to the preceding or following step.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は論理回路の設計方
法、特に、所定のクロック信号に同期して動作するフリ
ップフロップを内蔵した論理回路を設計する方法に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of designing a logic circuit, and more particularly to a method of designing a logic circuit having a built-in flip-flop that operates in synchronization with a predetermined clock signal.

【0002】[0002]

【従来の技術】近年、LSIをはじめとする半導体集積
回路を設計する方法として、ハードウエア記述言語(H
DL:Hardware Description Language )を用いて、設
計対象となる論理回路の構成を記述し、この記述に基づ
いて、設計対象となる論理回路を、個々の回路要素の組
み合わせにより構成する手法が脚光を浴びている。現
在、主流となっているこの種の手法は、いわゆるRTL
(Register Transfer Level )のハードウエア記述言語
により回路構成を記述し、この記述を論理合成ツールに
与えて論理合成を行い、目的となる回路を構成する方法
である。通常は、こうして構成された論理回路に対し
て、タイミングおよび面積に関する最適化処理を施し、
最終的な論理回路を得ることになる。このような設計方
法は、同期式論理回路の設計に広く利用されている。
2. Description of the Related Art In recent years, as a method of designing a semiconductor integrated circuit such as an LSI, a hardware description language (H
DL: Hardware Description Language) is used to describe the configuration of a logic circuit to be designed, and based on this description, a method of configuring the logic circuit to be designed by combining individual circuit elements is in the limelight. ing. This type of method, which is currently mainstream, is based on the so-called RTL.
In this method, the circuit configuration is described in a hardware description language of (Register Transfer Level), and this description is given to a logic synthesis tool to perform logic synthesis to configure a target circuit. Normally, the logic circuit thus configured is subjected to an optimization process regarding timing and area,
You will get the final logic circuit. Such a design method is widely used for designing a synchronous logic circuit.

【0003】[0003]

【発明が解決しようとする課題】上述したハードウエア
記述言語を用いた設計手法は、同期式論理回路の設計に
は適しているが、非同期式信号の取扱いには不適切な部
分がある。このため、非同期信号を含む論理回路を上述
の手法で設計する場合、設計者は、実動作時のタイミン
グ条件を考慮した上で、論理合成ツールに対して所定の
タイミング制約を与えることにより対処している。すな
わち、非同期信号については、クロック信号に対する予
想遅延値をタイミング制約として論理合成ツールに与
え、このタイミング制約のもとに、回路構成が行われる
ようにしている。しかしながら、実際のLSIでは、非
同期信号は必ずしもクロック信号に対して一定の遅延時
間をもって入力されるわけではない。このため、クロッ
ク信号の立上がりもしくは立ち下がり時点と非同期信号
の変化時点とが、たまたま一致したり、あるいは、非常
に近接したりした場合には、回路内のフリップフロップ
の論理出力が不安定となり、正常な回路動作が保証され
ないことになる。
The above-described design method using the hardware description language is suitable for designing a synchronous logic circuit, but is unsuitable for handling an asynchronous signal. Therefore, when designing a logic circuit including an asynchronous signal by the above method, the designer takes the timing condition during actual operation into consideration and then deals with it by giving a predetermined timing constraint to the logic synthesis tool. ing. That is, for an asynchronous signal, the expected delay value for the clock signal is given as a timing constraint to the logic synthesis tool, and the circuit configuration is performed under this timing constraint. However, in an actual LSI, the asynchronous signal is not always input with a constant delay time with respect to the clock signal. Therefore, if the rising or falling time of the clock signal and the changing time of the asynchronous signal happen to coincide with each other or come very close to each other, the logic output of the flip-flop in the circuit becomes unstable, Normal circuit operation cannot be guaranteed.

【0004】そこで本発明は、ハードウエア記述言語を
用いた論理回路の設計方法において、入力に非同期信号
を含む論理回路についても安定した動作が可能になるよ
うな回路設計を実現できる設計方法を提供することを目
的とする。
Therefore, the present invention provides a method for designing a logic circuit using a hardware description language, which can realize a circuit design that enables stable operation of a logic circuit including an asynchronous signal in its input. The purpose is to do.

【0005】[0005]

【課題を解決するための手段】[Means for Solving the Problems]

(1) 本発明の第1の態様は、所定のクロック信号に同
期して動作するフリップフロップを内蔵した論理回路を
設計する方法において、ハードウエア記述言語を用い
て、設計対象となる論理回路の構成を記述する段階と、
この記述に基づいて、設計対象となる論理回路を、個々
の回路要素の組み合わせにより構成する段階と、論理回
路を構成する回路要素のうちの個々のフリップフロップ
について、上流経路を1本ずつ逆上り、入力端子に到達
するか、あるいは、他のフリップフロップに到達するま
で探索を行い、非同期信号が与えられる入力端子に到達
する上流経路が存在するフリップフロップを処理対象と
して登録する信号追跡処理を行う段階と、処理対象とし
て登録されたフリップフロップについて、前段もしくは
後段に別なフリップフロップを追加挿入する複数段化処
理を行う段階と、を行うようにしたものである。
(1) A first aspect of the present invention is a method for designing a logic circuit incorporating a flip-flop that operates in synchronization with a predetermined clock signal, wherein a hardware description language is used to design a logic circuit to be designed. The stage of describing the configuration,
On the basis of this description, the stage of configuring a logic circuit to be designed by combining individual circuit elements, and the upstream paths of the individual flip-flops of the circuit elements constituting the logic circuit are reversed one by one. , Searches until it reaches an input terminal or another flip-flop, and performs signal tracking processing to register a flip-flop having an upstream path reaching an input terminal to which an asynchronous signal is given as a processing target. The step and the step of performing a multi-step process of additionally inserting another flip-flop in the preceding stage or the subsequent stage for the flip-flop registered as the processing target are performed.

【0006】(2) 本発明の第2の態様は、上述の第1
の態様に係る設計方法において、信号追跡処理を行う際
に、クロック信号以外の入力信号を非同期信号とみなす
ようにしたものである。
(2) The second aspect of the present invention relates to the above-described first aspect.
In the designing method according to the above aspect, the input signal other than the clock signal is regarded as an asynchronous signal when performing the signal tracking process.

【0007】(3) 本発明の第3の態様は、上述の第1
または第2の態様に係る設計方法において、複数段化処
理を行った後に、更に、タイミングまたは面積に関する
最適化処理を行うようにしたものである。
(3) A third aspect of the present invention is the above-described first aspect.
Alternatively, in the design method according to the second aspect, after performing the multi-stage processing, the optimization processing regarding the timing or the area is further performed.

【0008】[0008]

【発明の実施の形態】以下、本発明を図示する実施形態
に基づいて説明する。一般に、同期式論理回路は、多数
段のフリップフロップを含んでおり、各フリップフロッ
プは共通のクロック信号に同期して動作する。たとえ
ば、図1に示すD型フリップフロップ1では、入力信号
Aが入力端子Dに与えられ、出力信号Bが出力端子Qか
ら出力されることになるが、出力信号Bの立上がり時点
もしくは立ち下がり時点のタイミングは、クロック端子
CKに与えられるクロック信号に同期することになる。
ここで、入力信号Aとクロック信号とのタイミングが予
め定まっている場合、たとえば入力信号Aがクロック信
号の立上がり時点に対して常に所定の遅延時間をもって
変化するような場合、この入力信号Aはクロック信号に
同期していることになる。このように、入力信号がすべ
て同期信号である場合には、前述したハードウエア記述
言語を用いた設計手法を適用しても大きな問題は生じな
い。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below based on an embodiment shown in the drawings. Generally, the synchronous logic circuit includes a large number of flip-flops, and each flip-flop operates in synchronization with a common clock signal. For example, in the D-type flip-flop 1 shown in FIG. 1, the input signal A is given to the input terminal D, and the output signal B is outputted from the output terminal Q, but the output signal B rises or falls. Will be synchronized with the clock signal given to the clock terminal CK.
Here, when the timing between the input signal A and the clock signal is predetermined, for example, when the input signal A always changes with a predetermined delay time with respect to the rising time of the clock signal, the input signal A is the clock signal. It is synchronized with the signal. As described above, when all the input signals are synchronization signals, no serious problem occurs even if the design method using the hardware description language described above is applied.

【0009】しかしながら、入力信号Aがクロック信号
とは全く無関係な信号であった場合、すなわち、入力信
号Aがクロック信号に対する非同期信号であった場合、
このフリップフロップ1の動作は不安定になる可能性が
ある。すなわち、クロック信号の立上がりもしくは立ち
下がり時点と非同期信号の変化時点とが、たまたま一致
したり、あるいは、非常に近接したりしていた場合に
は、わずかな温度変化や電圧変動などにより、フリップ
フロップ1の論理出力が変化することになる。このよう
に、論理回路を構成する各フリップフロップの論理出力
が不安定になると、もはや正常な回路動作は保証されな
いことになる。
However, when the input signal A is a signal completely unrelated to the clock signal, that is, when the input signal A is an asynchronous signal with respect to the clock signal,
The operation of this flip-flop 1 may become unstable. That is, when the rising or falling time of the clock signal and the changing time of the asynchronous signal happen to coincide with each other or are very close to each other, a slight temperature change or voltage change causes a flip-flop. The logic output of 1 will change. In this way, if the logic output of each flip-flop forming the logic circuit becomes unstable, normal circuit operation is no longer guaranteed.

【0010】このような問題に対処する方法として、フ
リップフロップの複数段化処理が知られている。たとえ
ば、図1に示すフリップフロップ1の後段に、このフリ
ップフロップ1と全く同一の別なフリップフロップ2を
接続し、図2のような回路構成にすると、入力信号Aが
非同期信号であっても、フリップフロップ2の出力信号
Bは安定した論理出力をもった同期信号になる。このよ
うな複数段化処理により、出力信号Bの出力タイミング
は1クロック分遅れることになるものの、回路全体とし
ての論理動作には影響はない。本発明は、多数のフリッ
プフロップを有する論理回路について、この複数段化処
理を、必要なフリップフロップに対してのみ自動的に行
うための方法を提供するものである。
As a method for dealing with such a problem, a multi-stage process of flip-flops is known. For example, when the flip-flop 1 shown in FIG. 1 is connected to the subsequent stage of another flip-flop 2 which is exactly the same as the flip-flop 1 and the circuit configuration shown in FIG. 2 is adopted, even if the input signal A is an asynchronous signal. The output signal B of the flip-flop 2 becomes a synchronization signal having a stable logic output. Although the output timing of the output signal B is delayed by one clock by such a multi-stage processing, it does not affect the logical operation of the entire circuit. The present invention provides a method for automatically performing this multi-stage processing for a logic circuit having a large number of flip-flops only for necessary flip-flops.

【0011】図3は、この本発明に係る論理回路の設計
方法の処理手順を示す流れ図である。まず、ステップS
1において、HDLによる記述を行う。この作業は、前
述したように、所定のハードウエア記述言語(HDL:
Hardware Description Language )を用いて、設計対象
となる論理回路の構成を記述する処理であり、たとえ
ば、いわゆるRTL(Register Transfer Level )のハ
ードウエア記述言語により回路構成の記述を行えばよ
い。
FIG. 3 is a flowchart showing the processing procedure of the logic circuit designing method according to the present invention. First, step S
In No. 1, HDL description is performed. This work is performed by using a predetermined hardware description language (HDL:
Hardware Description Language) is used to describe the configuration of a logic circuit to be designed. For example, the circuit configuration may be described in a so-called RTL (Register Transfer Level) hardware description language.

【0012】続くステップS2において、論理回路構成
処理が行われる。この処理は、ステップS1で作成した
論理記述に基づいて、設計対象となる論理回路を個々の
回路要素の組み合わせにより構成する処理であり、通常
は、論理合成ツールを用いて自動的に行われる。具体的
には、この処理は、論理記述を具体的な回路要素に変換
する論理変換処理と、これを所望のテクノロジーに適用
するためのテクノロジーマッピング処理とによって構成
されるが、いずれも公知の技術であるため、ここでは詳
細な説明は省略する。図4は、この論理回路構成処理に
よって構成された論理回路100の一例を示す回路図で
ある(後述するステップS3の処理説明に関連した一部
のみが示されている)。この論理回路100は、フリッ
プフロップ11,13,15,21,23や、論理ゲー
ト12,14,16,22,24,25によって構成さ
れている。
In subsequent step S2, a logic circuit configuration process is performed. This process is a process of constructing a logic circuit to be designed by combining individual circuit elements based on the logic description created in step S1, and is usually automatically performed using a logic synthesis tool. Specifically, this process is composed of a logic conversion process for converting a logic description into a specific circuit element and a technology mapping process for applying the logic description to a desired technology. Therefore, detailed description is omitted here. FIG. 4 is a circuit diagram showing an example of the logic circuit 100 configured by this logic circuit configuration processing (only a part relevant to the processing description of step S3 described later is shown). The logic circuit 100 comprises flip-flops 11, 13, 15, 21, 23 and logic gates 12, 14, 16, 22, 24, 25.

【0013】次のステップS3における信号追跡処理お
よびステップS4における複数段化処理が、本発明にお
いて追加された特有の処理工程である。ステップS4の
複数段化処理は、上述した原理に基づいて、フリップフ
ロップを複数段化する処理であり、具体的には、処理対
象となるフリップフロップについて、前段もしくは後段
に別な同一のフリップフロップを追加挿入する処理であ
る。この処理により、非同期信号を入力するフリップフ
ロップについても、その出力信号として安定した同期信
号が得られることになる。一方、ステップS3の信号追
跡処理は、複数段化処理が必要なフリップフロップを特
定するための処理である。同期信号のみを入力信号とす
るフリップフロップは、その出力信号も必ず安定した同
期信号となるので、複数段化処理を行う必要はない。こ
の複数段化処理が必要となるのは、入力信号に非同期信
号を含むフリップフロップだけで十分である。そこで、
ステップS2において作成された論理回路を構成するす
べてのフリップフロップのうち、複数段化処理を行う必
要があるフリップフロップを特定するための処理が、こ
のステップS3の信号追跡処理である。
The signal tracking process in the next step S3 and the multistage conversion process in step S4 are peculiar processing steps added in the present invention. The multi-stage process of step S4 is a process of converting the flip-flops into a plurality of stages based on the above-described principle. Specifically, the flip-flops to be processed are different from each other in the same flip-flop before or after. Is a process of additionally inserting. By this processing, a stable synchronization signal can be obtained as an output signal of a flip-flop that inputs an asynchronous signal. On the other hand, the signal tracking process in step S3 is a process for identifying the flip-flops that need the multi-stage process. Since the output signal of the flip-flop that receives only the synchronizing signal as the input signal is always a stable synchronizing signal, it is not necessary to perform the multi-stage processing. The flip-flop including the asynchronous signal in the input signal is sufficient for the multistage processing. Therefore,
The process for identifying the flip-flops that need to be subjected to the multi-stage process out of all the flip-flops forming the logic circuit created in step S2 is the signal tracking process in step S3.

【0014】このステップS3の信号追跡処理の基本方
針は、個々のフリップフロップについて、その入力信号
を上流側へと追跡してゆき、それが同期信号であるの
か、非同期信号であるのかを特定するというものであ
る。そして、非同期信号の入力をもったフリップフロッ
プについては、これを複数段化処理の処理対象として登
録するのである。具体的には、論理回路を構成する回路
要素のうちの個々のフリップフロップについて、上流経
路を1本ずつ逆上り、入力端子に到達するか、あるい
は、他のフリップフロップに到達するまで探索を行い、
非同期信号が与えられる入力端子に到達する上流経路が
存在するフリップフロップについては、複数段化処理の
処理対象として登録する処理が行われることになる。
The basic policy of the signal tracking processing in step S3 is to trace the input signal of each flip-flop to the upstream side and specify whether it is a synchronous signal or an asynchronous signal. That is. Then, with respect to the flip-flop having the input of the asynchronous signal, this is registered as the processing target of the multi-stage processing. Specifically, the individual flip-flops of the circuit elements that make up the logic circuit are searched one by one in the upstream path in reverse direction until they reach the input terminal or reach another flip-flop. ,
For the flip-flop having the upstream path that reaches the input terminal to which the asynchronous signal is given, the processing to be registered as the processing target of the multi-stage processing is performed.

【0015】図5は、このステップS3の信号追跡処理
の詳細な手順を示す流れ図である。ここでは、図4に示
す論理回路100について、この信号追跡処理を実行す
る手順を例にとって、この図5の流れ図に示す処理を説
明する。
FIG. 5 is a flow chart showing the detailed procedure of the signal tracking processing in step S3. Here, with respect to the logic circuit 100 shown in FIG. 4, the process shown in the flowchart of FIG. 5 will be described by taking the procedure of executing the signal tracking process as an example.

【0016】まず、ステップS31において、フリップ
フロップを1つ選択する。以下の処理は、この選択した
1つのフリップフロップについて行われる。ここでは、
図4に示す論理回路100内のフリップフロップ11が
最初に選択されたものとして以下の説明を続ける。続く
ステップS32において、入力端子または別なフリップ
フロップへ到達するまで1つの上流経路を探索する処理
が行われる。一般に、特定のフリップフロップの入力側
には複数の上流経路が存在することが少なくない。この
ように複数の上流経路が存在する場合には、このステッ
プS32においては、そのうちの1本についてのみ逆上
る探索処理が行われる。たとえば、図4のフリップフロ
ップ11については、論理ゲート12へと逆上った後、
2つに分岐することになるが、探索はいずれか一方の分
岐経路を選択して上流側へと続けられることになる。こ
こでは、論理ゲート12からフリップフロップ13へと
逆上ったものとして以下の説明を続ける。
First, in step S31, one flip-flop is selected. The following processing is performed for this selected one flip-flop. here,
The following description will be continued on the assumption that the flip-flop 11 in the logic circuit 100 shown in FIG. 4 is selected first. In subsequent step S32, a process of searching one upstream path is performed until the input terminal or another flip-flop is reached. In general, there are often multiple upstream paths on the input side of a particular flip-flop. When there are a plurality of upstream routes in this way, in step S32, a search process is performed for one of the upstream routes. For example, for the flip-flop 11 of FIG. 4, after going up to the logic gate 12,
Although it will be branched into two, the search will be continued by selecting one of the branch routes to the upstream side. Here, the following description will be continued on the assumption that the logic gate 12 goes up to the flip-flop 13.

【0017】こうして、1つの上流経路を探索し、入力
端子または別なフリップフロップに到達したら、そこで
探索は完了する。上述の例の場合、別なフリップフロッ
プ13に到達した時点で、この上流経路の探索は完了す
る。ここでは、このフリップフロップ11→論理ゲート
12→フリップフロップ13という経路を上流経路aと
呼ぶことにする。
Thus, when one upstream path is searched and the input terminal or another flip-flop is reached, the search is completed there. In the case of the above example, the search for the upstream route is completed when the flip-flop 13 is reached. Here, the path of this flip-flop 11 → logic gate 12 → flip-flop 13 will be called the upstream path a.

【0018】次に、ステップS33において、最終的な
到達点が入力端子なのか、フリップフロップなのかが判
断される。上述の例の場合、フリップフロップ13が最
終的な到達点なので、ステップS33からステップS3
4へと進むことになる。このステップS34では、全上
流経路が探索済か否かが判断される。上述の例の場合、
フリップフロップ11には、別な上流経路が存在するの
で、ステップS34では否定的な判断がなされ、再び、
ステップS32の処理が繰り返される。
Next, in step S33, it is determined whether the final reaching point is the input terminal or the flip-flop. In the case of the above example, since the flip-flop 13 is the final reaching point, steps S33 to S3 are performed.
We will proceed to 4. In this step S34, it is determined whether or not all upstream routes have been searched. In the above example,
Since another upstream path exists in the flip-flop 11, a negative determination is made in step S34, and again,
The process of step S32 is repeated.

【0019】このステップS32の処理では、今度は、
フリップフロップ11→論理ゲート12→論理ゲート1
4→フリップフロップ15という上流経路bが探索され
る。この上流経路bの最終的な到達点はフリップフロッ
プ15なので、ステップS33からステップS34を経
て、再び、ステップS32の処理が実行されることにな
る。そして今度は、フリップフロップ11→論理ゲート
12→論理ゲート14→論理ゲート16→入力端子T1
という上流経路cが探索される。この上流経路cの最終
的な到達点は入力端子T1なので、ステップS33から
ステップS35へ進み、この入力端子T1に同期信号が
与えられているか否かが判断される。図4に示す論理回
路100では、入力端子T1にはクロック信号CLKが
与えられており、このクロック信号CLKは当然同期信
号であるので、ステップS35では肯定的な判断がなさ
れ、ステップS34へと進むことになる。なお、入力端
子T1に与えられている信号が、もし非同期信号であっ
た場合には、ステップS36へと進むことになる。
In the processing of step S32, this time,
Flip-flop 11 → logic gate 12 → logic gate 1
The upstream path b of 4 → flip-flop 15 is searched. Since the final arrival point of the upstream route b is the flip-flop 15, the process of step S32 is executed again through steps S33 to S34. Then, this time, flip-flop 11 → logic gate 12 → logic gate 14 → logic gate 16 → input terminal T1
Is searched for. Since the final reaching point of the upstream path c is the input terminal T1, the process proceeds from step S33 to step S35, and it is determined whether or not the synchronizing signal is applied to the input terminal T1. In the logic circuit 100 shown in FIG. 4, the clock signal CLK is applied to the input terminal T1, and the clock signal CLK is a synchronizing signal as a matter of course. Therefore, a positive determination is made in step S35, and the process proceeds to step S34. It will be. If the signal applied to the input terminal T1 is an asynchronous signal, the process proceeds to step S36.

【0020】この時点までに、既にフリップフロップ1
1に関しては、上流経路a,b,cというすべての上流
経路についての探索が完了しているので、ステップS3
4では肯定的な判断がなされ、ステップS37へと進む
ことになる。ここでは、この論理回路100内の全フリ
ップフロップが選択済か否かが判断され、上述の例の場
合は、否定的な判断がなされてステップS31へ戻るこ
とになる。これで、最初に選択したフリップフロップ1
1に関する処理は完了である。
By this time, the flip-flop 1 has already been
With respect to 1, since the search has been completed for all the upstream routes a, b, and c, step S3
At 4, a positive determination is made, and the process proceeds to step S37. Here, it is determined whether or not all the flip-flops in the logic circuit 100 have been selected. In the case of the above example, a negative determination is made and the process returns to step S31. This is the first flip-flop you selected.
The process regarding 1 is completed.

【0021】次に、ステップS31において、フリップ
フロップ21が選択されたものとしよう。続くステップ
S32では、このフリップフロップ21について、たと
えば、フリップフロップ21→論理ゲート22→フリッ
プフロップ23という上流経路dが探索される。この上
流経路dの最終的な到達点はフリップフロップ23であ
るから、ステップS33からステップS34を経て、再
びステップS32が繰り返される。そこで、次の上流経
路として、フリップフロップ21→論理ゲート22→論
理ゲート24→入力端子T2という上流経路eが探索さ
れたとしよう。この上流経路eの最終的な到達点は入力
端子T2であるから、ステップS33からステップS3
5へと進むことになる。この入力端子T2には、入力信
号Uが与えられている。そこで、この入力信号Uが同期
信号か否かの判断が行われる。この判断を行うために
は、図3のステップS1もしくはS2の段階において、
設計者が各入力信号について、それがクロック信号CL
Kに同期した信号になるのか、非同期の信号になるのか
を特定する情報を付加する作業を行うようにすればよ
い。ここでは、入力信号Uが非同期信号であったものと
して以下の説明を続けることにする。この場合、ステッ
プS35からステップS36へと進み、当該フリップフ
ロップを複数段化の処理対象として登録する処理が行わ
れる。すなわち、フリップフロップ21が処理対象とし
て登録されることになる。
Next, assume that the flip-flop 21 is selected in step S31. In a succeeding step S32, for this flip-flop 21, an upstream path d of, for example, flip-flop 21 → logic gate 22 → flip-flop 23 is searched. Since the final arrival point of the upstream path d is the flip-flop 23, the step S32 is repeated again through the steps S33 to S34. Therefore, it is assumed that the upstream path e of the flip-flop 21 → the logic gate 22 → the logic gate 24 → the input terminal T2 is searched as the next upstream path. Since the final arrival point of the upstream route e is the input terminal T2, steps S33 to S3
It will advance to 5. The input signal U is applied to the input terminal T2. Therefore, it is determined whether or not this input signal U is a synchronization signal. In order to make this determination, at the stage of step S1 or S2 in FIG.
For each input signal, the designer has a clock signal CL
It suffices to perform an operation of adding information for specifying whether the signal becomes a signal synchronized with K or an asynchronous signal. Here, the following description will be continued assuming that the input signal U is an asynchronous signal. In this case, the process proceeds from step S35 to step S36, and the process of registering the flip-flop as a multi-stage processing target is performed. That is, the flip-flop 21 is registered as the processing target.

【0022】こうして、ステップS36の登録処理が完
了すると、ステップS37へと進むことになる。すなわ
ち、フリップフロップ21についての処理はこれで完了
することになる。図4に示す例では、フリップフロップ
21については、フリップフロップ21→論理ゲート2
2→論理ゲート24→論理ゲート25→という別な上流
経路fも存在するが、この上流経路fについての探索は
もう行う必要はない。フリップフロップ21には、少な
くとも入力端子T2からの非同期信号Uに支配される入
力が与えられることになるので、複数段化処理の処理対
象とすべきであることがこの時点で確認できており、こ
れ以上の上流経路の探索は不要なのである。
When the registration process of step S36 is completed in this way, the process proceeds to step S37. That is, the processing for the flip-flop 21 is completed. In the example shown in FIG. 4, for the flip-flop 21, the flip-flop 21 → the logic gate 2
There is also another upstream path f of 2 → logic gate 24 → logic gate 25 →, but it is no longer necessary to search for this upstream path f. Since at least an input controlled by the asynchronous signal U from the input terminal T2 is given to the flip-flop 21, it has been confirmed at this point that the flip-flop 21 should be the target of the multi-stage processing, No further search for upstream routes is required.

【0023】こうして、論理回路100内のすべてのフ
リップフロップについて、同様の処理が施されることに
なる。たとえば、図4に示すフリップフロップ13,1
5,23についても同様の処理が行われることになる。
こうして、全フリップフロップが選択され、処理が実行
されると、この信号追跡処理は完了である。最終的に、
いくつかのフリップフロップが複数段化の処理対象とし
て登録された状態になる。図3に示す流れ図におけるス
テップS4の複数段化処理では、こうして登録されたフ
リップフロップに対して、複数段化処理を実行すればよ
い。すなわち、処理対象として登録されたフリップフロ
ップについては、前段もしくは後段に全く同一のフリッ
プフロップが追加挿入されることになる。これで、非同
期信号を入力信号に含む論理回路であっても、安定した
論理動作が確保できる。
In this way, all flip-flops in the logic circuit 100 are similarly processed. For example, the flip-flops 13, 1 shown in FIG.
The same processing is performed for 5 and 23.
In this way, when all the flip-flops are selected and the processing is executed, this signal tracking processing is completed. Finally,
Some of the flip-flops are registered as processing targets for multiple stages. In the multi-stage process of step S4 in the flow chart shown in FIG. 3, the multi-stage process may be executed for the flip-flops registered in this way. That is, for the flip-flop registered as the processing target, the completely same flip-flop is additionally inserted in the preceding stage or the succeeding stage. As a result, stable logic operation can be ensured even with a logic circuit including an asynchronous signal as an input signal.

【0024】こうして、最終的な回路要素が決定された
後、ステップS5において、最適化処理が実行される。
この最適化処理としては、たとえば、タイミングに関す
る最適化処理(より速い論理動作を可能にするための変
更処理)や、面積に関する最適化処理(チップ面積をよ
り縮小して集積度を高めるための変更処理)が一般的で
あるが、ここでは、これらの最適化処理に関する説明は
省略する。
After the final circuit elements are determined in this way, an optimization process is executed in step S5.
Examples of the optimization processing include timing optimization processing (change processing for enabling faster logic operation) and area optimization processing (change for further reducing the chip area and increasing the degree of integration). Process) is general, but the description of these optimization processes is omitted here.

【0025】なお、上述の例では、個々の入力信号につ
いて、設計者が、同期信号であるのか、非同期信号であ
るのかを設定するようにしているが、このような設定作
業を簡略化したい場合には、クロック信号以外の入力信
号は、すべて非同期信号とみなすような処理を行っても
かまわない。この場合、図5の流れ図におけるステップ
S35は、入力信号がクロック信号か否かを判断する処
理となる。もっとも、クロック信号以外の入力信号であ
っても、クロック信号にもともと同期した信号であるこ
ともあるので、効率よい設計を行う上では、個々の入力
信号ごとに同期/非同期の別を設定するようにするのが
好ましい。
In the above example, the designer sets whether each input signal is a synchronous signal or an asynchronous signal. However, when it is desired to simplify such setting work. In addition, all input signals other than the clock signal may be treated as asynchronous signals. In this case, step S35 in the flowchart of FIG. 5 is a process of determining whether or not the input signal is the clock signal. However, since input signals other than clock signals may be signals that are originally synchronized with the clock signal, in order to perform efficient design, it is necessary to set whether each input signal is synchronous or asynchronous. Is preferred.

【0026】[0026]

【発明の効果】以上のとおり本発明に係る論理回路の設
計方法によれば、非同期信号入力をもつフリップフロッ
プに対しては複数段化処理が実行されるので、ハードウ
エア記述言語を用いた設計を行っても、安定した動作が
確保できる。
As described above, according to the logic circuit designing method of the present invention, since the flip-flop having the asynchronous signal input is subjected to the multi-stage processing, the design using the hardware description language is performed. Even if you do, you can ensure stable operation.

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

【図1】D型フリップフロップ1の一例を示す回路図で
ある。
FIG. 1 is a circuit diagram showing an example of a D-type flip-flop 1.

【図2】図1に示すフリップフロップ1に対して複数段
化処理を実行し、別なフリップフロップ2を後段に接続
した回路を示す回路図である。
FIG. 2 is a circuit diagram showing a circuit in which a flip-flop 1 shown in FIG. 1 is subjected to multi-stage processing and another flip-flop 2 is connected to a subsequent stage.

【図3】本発明に係る論理回路の設計方法の処理手順を
示す流れ図である。
FIG. 3 is a flowchart showing a processing procedure of a method for designing a logic circuit according to the present invention.

【図4】図3に示す手順におけるステップS2の論理回
路構成処理によって構成された論理回路100の一例を
示す回路図である。
FIG. 4 is a circuit diagram showing an example of a logic circuit 100 configured by a logic circuit configuration process of step S2 in the procedure shown in FIG.

【図5】図3に示すステップS3の信号追跡処理の詳細
な手順を示す流れ図である。
5 is a flowchart showing a detailed procedure of a signal tracking process of step S3 shown in FIG.

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

1…フリップフロップ 2…フリップフロップ 11…フリップフロップ 12…論理ゲート 13…フリップフロップ 14…論理ゲート 15…フリップフロップ 16…論理ゲート 21…フリップフロップ 22…論理ゲート 23…フリップフロップ 24…論理ゲート 25…論理ゲート 100…論理回路 A…入力信号 B…出力信号 CLK…クロック信号 T1…入力端子 T2…入力端子 U…非同期入力信号 a〜f…上流経路 DESCRIPTION OF SYMBOLS 1 ... Flip-flop 2 ... Flip-flop 11 ... Flip-flop 12 ... Logic gate 13 ... Flip-flop 14 ... Logic gate 15 ... Flip-flop 16 ... Logic gate 21 ... Flip-flop 22 ... Logic gate 23 ... Flip-flop 24 ... Logic gate 25 ... Logic gate 100 ... Logic circuit A ... Input signal B ... Output signal CLK ... Clock signal T1 ... Input terminal T2 ... Input terminal U ... Asynchronous input signal af ... Upstream path

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 所定のクロック信号に同期して動作する
フリップフロップを内蔵した論理回路を設計する方法で
あって、 ハードウエア記述言語を用いて、設計対象となる論理回
路の構成を記述する段階と、 この記述に基づいて、設計対象となる論理回路を、個々
の回路要素の組み合わせにより構成する段階と、 前記論理回路を構成する回路要素のうちの個々のフリッ
プフロップについて、上流経路を1本ずつ逆上り、入力
端子に到達するか、あるいは、他のフリップフロップに
到達するまで探索を行い、非同期信号が与えられる入力
端子に到達する上流経路が存在するフリップフロップを
処理対象として登録する信号追跡処理を行う段階と、 前記処理対象として登録されたフリップフロップについ
て、前段もしくは後段に別なフリップフロップを追加挿
入する複数段化処理を行う段階と、 を有することを特徴とする論理回路の設計方法。
1. A method of designing a logic circuit having a built-in flip-flop that operates in synchronization with a predetermined clock signal, the method including a step of describing a configuration of a logic circuit to be designed using a hardware description language. Based on this description, a step of configuring a logic circuit to be designed by combining individual circuit elements, and one upstream path for each flip-flop among the circuit elements configuring the logic circuit Each time it reverses, it searches until it reaches the input terminal or another flip-flop, and registers the flip-flop with the upstream path that reaches the input terminal to which the asynchronous signal is given as the processing target. Regarding the step of performing processing and the flip-flop registered as the processing target, another flip-flop is provided at the front stage or the rear stage. Design method of a logic circuit and having the steps of performing a plurality staged process of adding inserts flop, a.
【請求項2】 請求項1に記載の設計方法において、信
号追跡処理を行う際に、クロック信号以外の入力信号を
非同期信号とみなすようにすることを特徴とする論理回
路の設計方法。
2. The design method according to claim 1, wherein an input signal other than a clock signal is regarded as an asynchronous signal when performing signal tracking processing.
【請求項3】 請求項1または2に記載の設計方法にお
いて、複数段化処理を行った後に、更に、タイミングま
たは面積に関する最適化処理を行うことを特徴とする論
理回路の設計方法。
3. The method for designing a logic circuit according to claim 1, further comprising performing an optimization process regarding timing or area after performing a multi-stage process.
JP8093578A 1996-03-22 1996-03-22 Designing method for logic circuit Pending JPH09259173A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8093578A JPH09259173A (en) 1996-03-22 1996-03-22 Designing method for logic circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8093578A JPH09259173A (en) 1996-03-22 1996-03-22 Designing method for logic circuit

Publications (1)

Publication Number Publication Date
JPH09259173A true JPH09259173A (en) 1997-10-03

Family

ID=14086160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8093578A Pending JPH09259173A (en) 1996-03-22 1996-03-22 Designing method for logic circuit

Country Status (1)

Country Link
JP (1) JPH09259173A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0861615A2 (en) 1997-02-25 1998-09-02 Matsushita Electric Works, Ltd. Depilator
US6637009B2 (en) 2000-09-08 2003-10-21 Nec Corporation Optimization of a logic circuit having a hierarchical structure
US6654939B2 (en) 2001-06-20 2003-11-25 Mitsubishi Denki Kabushiki Kaisha Method of designing logic circuit, and computer product
KR100609148B1 (en) * 1999-12-22 2006-08-04 한국전자통신연구원 Method for making sequential circuits with truth table comparison

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0861615A2 (en) 1997-02-25 1998-09-02 Matsushita Electric Works, Ltd. Depilator
KR100609148B1 (en) * 1999-12-22 2006-08-04 한국전자통신연구원 Method for making sequential circuits with truth table comparison
US6637009B2 (en) 2000-09-08 2003-10-21 Nec Corporation Optimization of a logic circuit having a hierarchical structure
US6654939B2 (en) 2001-06-20 2003-11-25 Mitsubishi Denki Kabushiki Kaisha Method of designing logic circuit, and computer product

Similar Documents

Publication Publication Date Title
US7478193B2 (en) Method and apparatus for interconnecting content addressable memory devices
US5553000A (en) Eliminating retiming bottlenecks to improve performance of synchronous sequential VLSI circuits
US5422914A (en) System and method for synchronizing data communications between two devices operating at different clock frequencies
US7284143B2 (en) System and method for reducing clock skew
CN105897261B (en) Clock synchronization method
US4949249A (en) Clock skew avoidance technique for pipeline processors
US5886904A (en) Latch optimization in hardware logic emulation systems
US6073246A (en) Clock generating apparatus for skew control between two-phase non-overlapping clocks
JP2013179598A (en) Programmable delay circuit having reduced insertion delay
JPH09259173A (en) Designing method for logic circuit
US8086986B1 (en) Clock boosting systems and methods
US7058915B1 (en) Pin reordering during placement of circuit designs
EP0285892A2 (en) Clock skew compensation system for pipeline processors
CN114519318B (en) NOC design method, device, related device and equipment
US20020186061A1 (en) Clock divider circuit producing 0° and 90° outputs with a 50% duty cycle
JPH0195365A (en) Analyzing processing system for critical path
JP2565103B2 (en) Output circuit
JP2023128232A (en) Processing method, asynchronous circuit, and logic circuit
JPH07182394A (en) Delay optimization system for sequencial circuit
CN114647203A (en) On-site programmable gate array circuit, configuration parameter determining method and electronic equipment
JPH0818438A (en) Gate array constitution semiconductor device
JPH1021289A (en) Lsi design method
JP2002076125A (en) Layout design method of semiconductor integrated circuit
JP2001077201A (en) Integrated circuit and design method therefor
JP2000236062A (en) Semiconductor integrated circuit