Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3204285B2 - Method for increasing operating speed of logic circuit with embedded latch - Google Patents
[go: Go Back, main page]

JP3204285B2 - Method for increasing operating speed of logic circuit with embedded latch - Google Patents

Method for increasing operating speed of logic circuit with embedded latch

Info

Publication number
JP3204285B2
JP3204285B2 JP12559694A JP12559694A JP3204285B2 JP 3204285 B2 JP3204285 B2 JP 3204285B2 JP 12559694 A JP12559694 A JP 12559694A JP 12559694 A JP12559694 A JP 12559694A JP 3204285 B2 JP3204285 B2 JP 3204285B2
Authority
JP
Japan
Prior art keywords
node
circuit
latch
nodes
logic circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP12559694A
Other languages
Japanese (ja)
Other versions
JPH07334540A (en
Inventor
敏明 宮崎
広 中田
章博 筒井
一久 山田
直久 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP12559694A priority Critical patent/JP3204285B2/en
Publication of JPH07334540A publication Critical patent/JPH07334540A/en
Application granted granted Critical
Publication of JP3204285B2 publication Critical patent/JP3204285B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

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

【0001】[0001]

【産業上の利用分野】この発明は、FPGA(Field Pr
ogrammable Gate Array)を構成する回路として用いて
好適な、ラッチ埋め込み型の論理回路の動作速度高速化
方法に関する。
BACKGROUND OF THE INVENTION The present invention relates to an FPGA (Field Pr
ogrammable Gate Array) suitable for use as a circuit for constituting a related operating speed fast method latch embedded logic circuits of.

【0002】[0002]

【従来の技術】論理回路の動作速度は、その同期クロッ
ク周波数によって決まり、その上限は論理回路内の各ラ
ッチ間に存在する組み合せ回路部分の最大遅延をもたら
す経路(これを以後、クリティカルパスと呼ぶ)の遅延
値の逆数である。設計済みの論理回路の処理機能を変更
せずに動作速度を高速化するには、その遅延が減少する
ように組み合わせ回路部分に新たにラッチを挿入すれば
よい。ただし、クロック応答遅延以外に論理回路の処理
機能を変更させないために、ラッチは論理回路の全ての
入出力端子間の経路に対して同一個数になるように挿入
されなければならない。前述の考えに基づいた方法とし
て、たとえば、中田他、”同期回路における論理を保存
したラッチの挿入手法”電子情報通信学会論文誌A,Vol.
J75-A,No.12,PP.1849-1858,December 1992.(以下、文
献1とする)に示されるようなラッチ挿入方法が提案さ
れている。
2. Description of the Related Art The operating speed of a logic circuit is determined by its synchronous clock frequency, and the upper limit thereof is a path which causes the maximum delay of a combinational circuit portion existing between each latch in the logic circuit (hereinafter referred to as a critical path). ) Is the reciprocal of the delay value. In order to increase the operation speed without changing the processing function of the designed logic circuit, a new latch may be inserted into the combinational circuit part so as to reduce the delay. However, in order not to change the processing function of the logic circuit other than the clock response delay, the latches must be inserted so that the number of latches is the same for all paths between the input and output terminals of the logic circuit. As a method based on the above-mentioned idea, for example, Nakata et al., “A method of inserting a latch preserving logic in a synchronous circuit”, IEICE Transactions A, Vol.
J75-A, No. 12, PP. 1849-1858, December 1992 (hereinafter referred to as Document 1), a latch insertion method has been proposed.

【0003】[0003]

【発明が解決しようとする課題】しかし、近年、論理回
路設計においては、回路の個別部品への割り付け、配置
ならびに配線作業は、計算機支援設計(Computer Aided
Design:CAD)ツールを用いて行われることが多い
が、一部の回路変更にともなってそれら作業をやり直す
と、全体に大きくその構成が変化する。このため、設計
者が意図している部分だけでなく、他の組み合わせ回路
部分の遅延も大きく変化する。従って、従来では動作速
度高速化だけを目的にラッチ挿入を行うことは簡単な作
業ではなかった。さらには、従来手法は、ラッチの挿入
箇所や挿入個数に関する制約を考慮していないため、回
路構成上、予め使用できるラッチの個数、ならびに挿入
箇所に制限がある場合は、単純に適用することはできな
かった。
However, in recent years, in logic circuit design, the work of allocating, arranging, and wiring circuits to individual components has been performed by computer aided design (Computer Aided).
Design: CAD) tools are often used, but if the work is redone with some circuit changes, the overall configuration changes significantly. For this reason, not only the part intended by the designer but also the delay of other combinational circuit parts greatly change. Therefore, conventionally, it is not a simple operation to insert a latch only for the purpose of increasing the operation speed. Furthermore, since the conventional method does not consider restrictions on the insertion location and the number of latches inserted, if the number of latches that can be used in advance and the insertion location are limited due to the circuit configuration, it is not possible to simply apply could not.

【0004】また、設計済み論理回路の動作速度高速化
を目的とした従来の挿入方法では、論理回路内に存在す
るそれぞれの組み合わせ回路部分内に、最終的に新たな
るラッチをいくつ挿入することになるかを、陽に知るこ
とはできない。そのため回路構成上、ラッチの挿入位置
に限りがある場合、従来手法を適用することはできなか
った。また、通常の回路構成では挿入されたラッチに対
するクロック供給配線を追加する必要があり、そのため
に部品の再配置や他の配線の変更を行う必要が生じ、そ
れにともなって結果的に別の部分にクリティカルパスが
生じてしまうことがあった。本発明は上述した問題点に
鑑み、FPGA等を用いた論理回路の設計後に、動作速
度高速化を目的として基本回路にラッチを挿入しても、
他の部分が影響を受けないラッチ埋め込み型論理回路の
動作速度高速化方法を提供することを目的とする。
In a conventional insertion method for increasing the operating speed of a designed logic circuit, a number of new latches are finally inserted in each combinational circuit portion existing in the logic circuit. I can't know for sure. For this reason, when the insertion position of the latch is limited due to the circuit configuration, the conventional method cannot be applied. In addition, in a normal circuit configuration, it is necessary to add a clock supply wiring for the inserted latch, which necessitates rearrangement of components and a change in other wiring, and consequently another part. A critical path sometimes occurred. The present invention has been made in view of the above-described problems, and after a logic circuit using an FPGA or the like is designed, a latch may be inserted into a basic circuit for the purpose of increasing the operation speed.
And to provide a <br/> operating speed fast method latch embedded logic circuits other parts are not affected.

【0005】[0005]

【課題を解決するための手段】上述した課題を解決する
ために、請求項1に記載の発明にあっては、多入力1出
力の組み合わせ回路と、前記組み合わせ回路の出力に接
続されるラッチと、前記組み合わせ回路の出力と前記ラ
ッチの出力の何れかを選択して出力する選択手段とを具
備する基本回路を複数備え、前記基本回路間の配線を設
定することにより、所定の機能を有する回路を構成する
論理回路において、前記基本回路をノード、前記基本回
路間の配線をエッジ、該論理回路の全ての入力を始端ノ
ード、該論理回路の全ての出力を終端ノードとして、該
論理回路を有向グラフ化する第1の工程と、前記有向グ
ラフ中に存在するループを1つのノードに縮約し、前記
ループ内のノードに接続されているエッジを縮約したノ
ードに接続する第2の工程と、始端ノードを集合Aと定
義する第3の工程と、集合Aに属するノードからエッジ
により直接到達できる全てのノードからなる集合を集合
Aとして定義し直す第4の工程と、集合Aに終端ノード
が含まれているか否かを調べる第5の工程と、集合Aに
属するノードに、ラッチを使用したノード、あるいはエ
ッジを経由して到達できるノードが集合Aに属するノー
ド、あるいはエッジおよび他のノードを経由して到達で
きるノードが集合Aに含まれるノード、の何れかに該当
するノードがあるか否かを調べる第6の工程と、第6の
工程において該当するノードを集合Aから削除し、該削
除したノードからエッジにより直接到達できるノードを
集合Aに加える第7の工程と、集合Aに終端ノードが含
まれているか否かを調べ、含まれていなければ第6の工
程に戻る第8の工程と、第6の工程において、該当する
ノードがなければ集合Yに集合Aを加え第4の工程に戻
る第9の工程とからなり、第5の工程あるいは第8の工
程において、集合Aに終端ノードが含まれている場合
に、集合Yに属する全てのノードにラッチを挿入するこ
とを特徴とする。
According to the first aspect of the present invention, there is provided a multi-input, one-output combination circuit, and a latch connected to an output of the combination circuit. A circuit having a plurality of basic circuits each including a selection means for selecting and outputting any one of the output of the combinational circuit and the output of the latch, and having a predetermined function by setting a wiring between the basic circuits. In the logic circuit, the basic circuit is set as a node, the wiring between the basic circuits is set as an edge, all inputs of the logic circuit are set as start nodes, and all outputs of the logic circuit are set as end nodes. A first step of reducing a loop existing in the directed graph to one node and connecting an edge connected to a node in the loop to a reduced node. A third step of defining a starting node as a set A, a fourth step of redefining a set of all nodes that can be directly reached from a node belonging to the set A by an edge as a set A, and a set A A step of checking whether or not a terminal node is included in the set A. A node using a latch or a node that can reach a node belonging to the set A via a latch or an edge belonging to the set A A sixth step of checking whether or not there is a node that can be reached via another node in the set A; and, in the sixth step, a corresponding node from the set A A seventh step of deleting and adding a node directly reachable by an edge from the deleted node to the set A; and checking whether or not the set A includes a terminal node. If there is no corresponding node in the sixth step, if there is no corresponding node, the ninth step is to add the set A to the set Y and return to the fourth step. In the step or the eighth step, when the end node is included in the set A, the latch is inserted into all the nodes belonging to the set Y.

【0006】[0006]

【作用】この発明によれば、多入力1出力の組み合わせ
回路と、前記組み合わせ回路の出力に接続されるラッチ
と、前記組み合わせ回路の出力と前記ラッチの出力の何
れかを選択して出力する選択手段とによって成る基本回
路が論理回路を構成し、前記論理回路の始端から終端ま
での間に複数存在する伝搬経路の何れにあっても、新規
に挿入されるラッチ個数が等しくなるようにラッチ挿入
箇所を選定し、該当する基本回路の出力にラッチが挿入
されるように前記選択手段によって出力を選択する。
According to the present invention, a combination circuit having multiple inputs and one output, a latch connected to the output of the combination circuit, and a selection circuit for selecting and outputting one of the output of the combination circuit and the output of the latch The basic circuit constituted by the means constitutes a logic circuit, and a latch is inserted so that the number of newly inserted latches is equal in any of a plurality of propagation paths existing from the beginning to the end of the logic circuit. A portion is selected, and an output is selected by the selection means so that a latch is inserted into an output of the corresponding basic circuit.

【0007】[0007]

【実施例】以下、図面を参照して本発明の一実施例を説
明する。 A.構成 図1に、本発明の一実施例で用いる論理回路の基本とな
る基本回路1の構成を示す。この基本回路1は、入力I
1、I2・・・Inと出力Xとを有する。全ての入力I1、
I2・・・Inは、多入力1出力を有する組み合わせ回路
2に接続され、組み合わせ回路2の出力がラッチ3と、
2入力を有するセレクタ4の1つの入力とに接続されて
いる。また、ラッチ3の出力はセレクタ4のもう1つの
入力に接続されている。さらに、セレクタ4の出力は基
本回路1の出力Xに接続されている。基本回路1にあっ
ては、組み合わせ回路2の出力を直接出力Xとするか、
出力Xと組み合わせ回路2の出力との間にラッチ2を挿
入するかは、セレクタ4によって切り替えることができ
る。この切り替えのためのセレクト信号線およびラッチ
3のクロック供給線は予め配線されており、また、それ
ら配線がクリティカルパスになることはない。全ての論
理回路は、図1の基本回路1を単位として設計すること
ができる。
An embodiment of the present invention will be described below with reference to the drawings. A. 1. Configuration FIG. 1 shows a configuration of a basic circuit 1 which is a basic logic circuit used in one embodiment of the present invention. This basic circuit 1 has an input I
1, I2... In and an output X. All inputs I1,
I2... In are connected to a combinational circuit 2 having multiple inputs and one output.
It is connected to one input of a selector 4 having two inputs. The output of the latch 3 is connected to another input of the selector 4. Further, the output of the selector 4 is connected to the output X of the basic circuit 1. In the basic circuit 1, whether the output of the combinational circuit 2 is the direct output X,
Whether the latch 2 is inserted between the output X and the output of the combinational circuit 2 can be switched by the selector 4. The select signal line for this switching and the clock supply line of the latch 3 are wired in advance, and the wiring does not become a critical path. All the logic circuits can be designed with the basic circuit 1 of FIG. 1 as a unit.

【0008】B.回路グラフ 前述の基本回路1を複数用いた論理回路において、動作
速度を高速化するために、本発明では該論理回路を回路
グラフ化している。以下に、図2および図3を参照して
回路グラフについて説明する。図2のような構成として
設計された論理回路は、図1の基本回路1を1つのノー
ドとし、各基本回路1間の配線をエッジとした有向グラ
フとして図3(a)のように表すことができる。以後、
図3(a)に示すような図を回路グラフと呼ぶ。図3
(a)で円で示すノードaからiは図1の基本回路1を
表す。ここで、黒塗り円で示したノードeおよびfは、
図1に示すセレクタ4によってラッチ3側が選択されて
いる基本回路1であり、これ以後、ノードeあるいはf
のようなノードをラッチノードと呼ぶ。ノードsおよび
tはダミーノードであり、それぞれ論理回路の全ての入
力端子、出力端子に結ばれている。論理回路の全ての入
力端子は、1つのダミーノードとし、図3(a)中のノ
ードsである。同様に出力端子も全て、1つのダミーノ
ードとし、図3(a)中のノードtである。
B. Circuit Graph In a logic circuit using a plurality of the basic circuits 1 described above, in order to increase the operating speed, the logic circuit is formed into a circuit graph in the present invention. The circuit graph will be described below with reference to FIGS. A logic circuit designed as a configuration as shown in FIG. 2 can be expressed as a directed graph in which the basic circuit 1 in FIG. 1 is set as one node and the wiring between the basic circuits 1 is an edge as shown in FIG. it can. Since then
A diagram as shown in FIG. 3A is called a circuit graph. FIG.
Nodes a to i shown by circles in (a) represent the basic circuit 1 in FIG. Here, nodes e and f shown by solid circles are
This is the basic circuit 1 in which the latch 3 side is selected by the selector 4 shown in FIG.
Is called a latch node. Nodes s and t are dummy nodes, which are connected to all input terminals and output terminals of the logic circuit, respectively. All the input terminals of the logic circuit are one dummy node, which is the node s in FIG. Similarly, all the output terminals are one dummy node and are the node t in FIG.

【0009】論理回路内にループが存在する場合は、そ
のループを1つのノードに縮約し、ループ内の各ノード
に接続されていたエッジはその縮約したノードに接続す
るように回路グラフを変形する。たとえば、図3(a)
の回路グラフでは、ノードcとeとhとがループを構成
している。これを縮約した回路グラフを図3(b)に示
す。図3(b)で、ノードLは、図3(a)のノードc
とeとhとが構成していたノードが縮約されたノードで
あり、エッジE1、E2、E3およびE4が新たに生成
されている。なお、ループは、論理回路の性質上必ず1
つはラッチノードを含む。そのため、ループを縮約して
生じたノードはラッチノードとして黒塗り円で示す。
When a loop exists in a logic circuit, the loop is reduced to one node, and the edge connected to each node in the loop is connected to the reduced node. Deform. For example, FIG.
In the circuit graph of (1), the nodes c, e, and h form a loop. FIG. 3B shows a reduced circuit graph. In FIG. 3B, the node L is the node c in FIG.
The nodes composed of e, h, and h are contracted nodes, and edges E1, E2, E3, and E4 are newly generated. Note that the loop is always 1 due to the nature of the logic circuit.
One includes a latch node. Therefore, a node generated by reducing the loop is indicated by a black circle as a latch node.

【0010】C.ラッチ挿入方法 以下に、本発明による基本回路1を複数用いた論理回路
において、動作速度を高速化するために、何れの基本回
路1にラッチを挿入するか決定する方法を、図4に示す
フローチャートを参照して説明する。また、この方法を
図3(b)の回路グラフに適用した場合について、図5
から図8を参照して説明する。なお、ラッチ挿入に際し
ては、元の回路動作を保障するために文献1で示された
ように、回路グラフ上でノードsからノードtに至る全
ての経路に対して新たに挿入されるラッチの個数は同一
でなくてはならない、と云う制約を満たさねばならな
い。このラッチ挿入方法は前述の制約を満たす。また、
ここに言う「ノードの子供」とは、そのノードから出る
エッジによって直接到達できる全てのノードを言い、
「ノードの子孫」とは、そのノードからエッジおよび他
のノードを経由して到達できる全てのノードを言う。さ
らに、子孫には子供も含まれる。
C. Latch Insertion Method Hereinafter, a flow chart shown in FIG. 4 shows a method of determining which basic circuit 1 to insert a latch in order to increase the operation speed in a logic circuit using a plurality of basic circuits 1 according to the present invention. This will be described with reference to FIG. FIG. 5 shows a case where this method is applied to the circuit graph of FIG.
This will be described with reference to FIG. At the time of latch insertion, as shown in Reference 1, in order to guarantee the original circuit operation, the number of latches newly inserted for all paths from node s to node t on the circuit graph Must be identical. This latch insertion method satisfies the above-mentioned restrictions. Also,
The term "child of a node" here refers to any node that can be directly reached by an edge emanating from the node,
"Descendants of a node" refers to all nodes that can be reached from that node via edges and other nodes. In addition, offspring include children.

【0011】まず、ノードsのみを集合Aの要素として
定義する(ステップS1)。なお、この時点では新たに
ラッチを挿入する対象ノードの集合Yは定義されていな
いものとする。次に、集合A内の全ノードの子供を検索
し、集合Aの要素の子供となっている全ノードを集合A
の要素として定義し直す(ステップS2)。図5におい
ては、ノードsの子供であるノードa、bおよびLを集
合Aの要素として定義し直す。次に、新しく定義された
集合Aの要素に終端ノードtが含まれていたら、集合Y
に集合Aの要素たる全ノードを追加定義して、処理を終
了(ステップS3)する。一方、ステップS3の処理に
おいて、集合Aの要素に終端ノードtが含まれていなけ
れば、集合Aの要素たる全ノードに対して、そのノード
がラッチノードであるか、またはそのノードの子孫が集
合Aの要素になっているか、を調べる(ステップS
4)。
First, only the node s is defined as an element of the set A (step S1). At this point, it is assumed that the set Y of target nodes into which a new latch is to be inserted is not defined. Next, children of all nodes in the set A are searched, and all nodes that are children of the elements of the set A are set
(Step S2). In FIG. 5, nodes a, b, and L that are children of node s are redefined as elements of set A. Next, if the element of the newly defined set A includes the terminal node t, the set Y
, All the nodes which are the elements of the set A are additionally defined, and the process ends (step S3). On the other hand, in the processing of step S3, if the element of the set A does not include the terminal node t, for all the nodes that are the elements of the set A, the node is a latch node or the descendant of the node is a set. Check whether it is an element of A (step S
4).

【0012】ステップS4の処理で調べた集合Aの要素
がラッチノードであるか、あるいは子孫が集合Aの要素
になっているノードの場合は、このノードを仮にノード
nとしてノードnを集合Aの要素から削除し、ノードn
の子供を集合Aの要素に加える(ステップS5)。図5
においては、ノードLはラッチノードのため、集合Aの
要素から削除し、その代わりにノードLの子供であるノ
ードiおよびjを集合Aの要素に追加する。なお、ノー
ドbもノードLの子供であるが、既に集合Aの要素にな
っている。ここで、集合Aの要素に終端ノードtが含ま
れていたら、集合Yに集合Aの要素たる全ノードを追加
定義して、処理を終了する(ステップS6)。また、含
まれていなければ、ステップS4に戻る。一方、ステッ
プ4の処理において集合Aの要素たる全ノードがラッチ
ノードでなく、かつ子孫が集合Aの要素になっていなけ
れば、集合Aの要素たる全ノードを集合Yに追加定義し
て(ステップS7)、ステップS2へ戻る。図5におい
ては、集合A={a,b,i,j}(図5中二重円で示す
ノード)は、互いに子孫関係になく、しかもラッチノー
ドではないため、ラッチ挿入対象ノード(破線B)とし
て定義する。
If the element of the set A checked in the process of step S4 is a latch node, or if the descendant is an element of the set A, this node is temporarily set as a node n and the node n is set as the node A of the set A. Node n
Are added to the elements of the set A (step S5). FIG.
In, since node L is a latch node, it is deleted from the elements of set A, and nodes i and j, which are children of node L, are added to the elements of set A instead. Although node b is a child of node L, it is already an element of set A. Here, if the terminal node t is included in the elements of the set A, all the nodes that are the elements of the set A are additionally defined in the set Y, and the processing is terminated (step S6). If not included, the process returns to step S4. On the other hand, if all the nodes that are the elements of the set A are not the latch nodes and the descendants are not the elements of the set A in the processing of the step 4, all the nodes that are the elements of the set A are additionally defined to the set Y (step S7), returning to step S2. In FIG. 5, the set A = {a, b, i, j} (nodes indicated by double circles in FIG. 5) has no descendant relationship with each other and is not a latch node. ).

【0013】次に図6において、集合Aの要素として、
ノードa、b、iおよびjのそれぞれ子供たるノード
d、g、kおよびl(図6中二重円のノード)を定義し
直す(ステップS2)。なお、ノードfはノードbの子
供であるが、ラッチノードのため、ノードfの子供であ
るノードgおよびkを集合Aの要素として定義してい
る。さらに図7において、ノードg、kおよびlは、ノ
ードdの子孫であるため、ノードdを集合Aから削除
し、ノードdの子供であるノードfは前述の通りラッチ
ノードのため、やはり集合Aの要素には含まれない(ス
テップS5)。従って、結果的に集合A={g,k,l}
(図7中二重円のノード)となる。次に図8において、
ノードlはノードkの子孫(子供)であるから、ノード
kを集合Aの要素から削除する。この時点で集合Aの要
素たるノードgおよびlは、どちらも子供が終端ノード
tであるので、この集合A={g,l}(図8中二重円
のノード)をラッチ挿入対象ノード(破線C)として集
合Yに追加定義する(ステップS6)。
Next, in FIG. 6, as elements of the set A,
The nodes d, g, k and l (the nodes of the double circle in FIG. 6) which are the children of the nodes a, b, i and j are redefined (step S2). Although node f is a child of node b, nodes g and k, which are children of node f, are defined as elements of set A because they are latch nodes. Further, in FIG. 7, since the nodes g, k and l are descendants of the node d, the node d is deleted from the set A, and the node f which is a child of the node d is a latch node as described above. (Step S5). Therefore, as a result, the set A = {g, k, l}
(The node of the double circle in FIG. 7). Next, in FIG.
Since the node 1 is a descendant (child) of the node k, the node k is deleted from the elements of the set A. At this time, since the nodes g and l, which are the elements of the set A, both have the child as the terminal node t, this set A = {g, l} (the double circle node in FIG. 8) It is additionally defined in the set Y as a broken line C) (step S6).

【0014】図4に示すフローチャートの終了時点で、
集合Yの要素たるノードが、新たにラッチを挿入する対
象ノードであるが、図3(b)で示した回路グラフにお
いては、図8中の2本の破線BおよびCで結ばれたノー
ドが、ラッチを挿入すべきノードであると求められる。
なお、具体的なラッチ挿入操作は、回路グラフ上のそれ
ぞれのノードに対応した図1の基本回路1のセレクタ4
をラッチ3が接続された方に切り替えることによって行
う。
At the end of the flowchart shown in FIG.
The node that is an element of the set Y is a target node into which a new latch is inserted. In the circuit graph shown in FIG. 3B, nodes connected by two broken lines B and C in FIG. , A node into which a latch should be inserted.
Note that a specific latch insertion operation is performed by selecting the selector 4 of the basic circuit 1 of FIG. 1 corresponding to each node on the circuit graph.
By switching to the one to which the latch 3 is connected.

【0015】以上の説明では、多入力1出力の組み合わ
せ回路を内部に持つ図1に示した基本回路1を1つのノ
ードとする回路グラフを前提にしてきた。しかし、本発
明は、他の基本回路を単位とする回路構成でも、図3に
示すような回路グラフが作成できればそのまま適用でき
る。その例を図9から図12に示す。図9および図11
は、多入力2出力の構成をとるそれぞれ異なった構成を
とるそれぞれ基本回路11および基本回路21を示して
いる。図9中、基本回路11は、入力を共通とする2つ
の組み合わせ回路2aおよび2bを持つ。この構成は図
1の基本回路1を2つ用意し、入力を共有した形になっ
ている。従って、回路グラフを作成する際に、図10に
示した様に、2つのノード15aおよび15bを作成す
るようにすればよい。
In the above description, it has been assumed that the basic circuit 1 shown in FIG. 1 having a multi-input / one-output combinational circuit therein is used as one node. However, the present invention can be applied to a circuit configuration using other basic circuits as a unit as long as a circuit graph as shown in FIG. 3 can be created. Examples thereof are shown in FIGS. 9 and 11
Shows a basic circuit 11 and a basic circuit 21 having different configurations each having a configuration of multiple inputs and two outputs. In FIG. 9, the basic circuit 11 has two combinational circuits 2a and 2b having a common input. In this configuration, two basic circuits 1 of FIG. 1 are prepared and inputs are shared. Therefore, when creating a circuit graph, two nodes 15a and 15b may be created as shown in FIG.

【0016】また、図11で示した基本回路22は、図
1の基本回路に比べ、1つの組み合わせ回路22から2
つの出力がでている形になっている。この場合は、図1
2に示した様に1つのノード25から2つの出力がでる
ように回路グラフ上のノードを構成すればよい。ただ
し、この場合、図11内のラッチ3aおよび3bは同時
に使用されるかまたは使用されないかのどちらかであ
り、ラッチ挿入否挿入を制御するセレクタ4aおよび4
bは常に同期して制御される必要がある。さらに、以上
に述べた基本回路11あるいは21のラッチ挿入位置
は、内部にある組み合わせ回路2a、2bあるいは22
の出力の直後であったが、入力に対してラッチ挿入位置
を設けても、回路グラフ上では同一に扱うことができ
る。
The basic circuit 22 shown in FIG. 11 is different from the basic circuit of FIG.
One output is in the form. In this case, FIG.
As shown in FIG. 2, the nodes on the circuit graph may be configured so that two outputs are output from one node 25. However, in this case, the latches 3a and 3b in FIG. 11 are either simultaneously used or not used, and the selectors 4a and 4
b must always be controlled synchronously. Further, the latch insertion position of the basic circuit 11 or 21 described above depends on the combinational circuit 2a, 2b or 22
However, even if a latch insertion position is provided for the input, the same can be handled on the circuit graph.

【0017】[0017]

【発明の効果】以上説明したように、本発明によれば、
FPGA等を用いた設計済みの論理回路に、ラッチを挿
入して動作速度の高速化を行う際に、新たなラッチ挿入
に伴って回路変更が一切起こらないため、新たなクリテ
ィカルパスを生じさせることなく、しかも組み合わせ回
路内に予め埋め込まれた有限なラッチ挿入数の上限およ
びその挿入位置の制約を受けない、ラッチ埋め込み型論
理回路の動作速度高速化方法が実現できる。
As described above, according to the present invention,
When increasing the operating speed by inserting a latch into a designed logic circuit using an FPGA or the like, a new critical path is created because no circuit change occurs with the insertion of a new latch. In addition, it is possible to realize a method for increasing the operating speed of a latch-embedded logic circuit , which is not limited by the upper limit of the finite number of latches inserted beforehand in the combinational circuit and the restriction on the insertion position.

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

【図1】本発明の実施例における基本回路の構成の一例
を示す図である。
FIG. 1 is a diagram illustrating an example of a configuration of a basic circuit according to an embodiment of the present invention.

【図2】本発明の実施例における論理回路の構成の一例
を示す図である。
FIG. 2 is a diagram illustrating an example of a configuration of a logic circuit according to an embodiment of the present invention.

【図3】図2に示す論理回路例を回路グラフで示した図
である。
FIG. 3 is a diagram showing a circuit graph of the example of the logic circuit shown in FIG. 2;

【図4】図3に示す回路グラフで表された論理回路に対
する、ラッチ挿入方法を示すフローチャートである。
FIG. 4 is a flowchart illustrating a latch insertion method for the logic circuit represented by the circuit graph illustrated in FIG. 3;

【図5〜図8】図3(b)に示す回路グラフに、図4に
示すフローチャートに従ってラッチを挿入するノードを
決定する様子を示す図である。
FIGS. 5 to 8 are diagrams showing how a node into which a latch is inserted is determined in the circuit graph shown in FIG. 3B according to the flowchart shown in FIG.

【図9】本発明において、多入力2出力の基本回路の構
成の一例を示す図である。
FIG. 9 is a diagram showing an example of a configuration of a basic circuit having multiple inputs and two outputs in the present invention.

【図10】図9に示す基本回路を、回路グラフ中に表現
するためにノード化した様子を示す図である。
FIG. 10 is a diagram showing a state in which the basic circuit shown in FIG. 9 is converted into a node for expression in a circuit graph.

【図11】本発明において、多入力2出力の基本回路の
構成の一例を示す図である。
FIG. 11 is a diagram showing an example of a configuration of a basic circuit with multiple inputs and two outputs in the present invention.

【図12】図11に示す基本回路を、回路グラフ中に表
現するためにノード化した様子を示す図である。
FIG. 12 is a diagram showing a state in which the basic circuit shown in FIG. 11 is turned into a node for expression in a circuit graph.

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

1 基本回路 2 組み合わせ回路 3 ラッチ 4 セレクタ 1 Basic circuit 2 Combination circuit 3 Latch 4 Selector

───────────────────────────────────────────────────── フロントページの続き (72)発明者 山田 一久 東京都千代田区内幸町一丁目1番6号 日本電信電話株式会社内 (72)発明者 太田 直久 東京都千代田区内幸町一丁目1番6号 日本電信電話株式会社内 (56)参考文献 山田一久、外3名,”マルチFPGA システムによる通信用回路エミュレーシ ョンの検討”,電子情報通信学会技術研 究報告(CS92−77〜84),平成5年1 月21日,第92巻,第429号,p.49−56 宮崎敏明、外4名,”FPGA上の同 期回路に対する高速化を目的としたラッ チ挿入法”,情報処理学会研究報告(93 −DA−69),平成5年12月16日,第93 巻,第111号,p.71−77 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Kazuhisa Yamada 1-6-1, Uchisaiwaicho, Chiyoda-ku, Tokyo Nippon Telegraph and Telephone Corporation (72) Naohisa Ota 1-1-6 Uchisaiwaicho, Chiyoda-ku, Tokyo Japan Inside Telegraph and Telephone Corporation (56) References Kazuhisa Yamada and 3 others, “Study of communication circuit emulation using multi-FPGA system”, IEICE Technical Report (CS92-77-84), 1993 Vol. 92, No. 429, p. 49-56 Toshiaki Miyazaki and 4 others, "Latch insertion method for high-speed synchronous circuit on FPGA", Information Processing Society of Japan Research Report (93-DA-69), December 16, 1993 93, No. 111, p. 71-77 (58) Field surveyed (Int. Cl. 7 , DB name) G06F 17/50

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】多入力1出力の組み合わせ回路と、前記組
み合わせ回路の出力に接続されるラッチと、前記組み合
わせ回路の出力と前記ラッチの出力の何れかを選択して
出力する選択手段とを具備する基本回路を複数備え、前
記基本回路間の配線を設定することにより、所定の機能
を有する回路を構成する論理回路において、 前記基本回路をノード、前記基本回路間の配線をエッ
ジ、該論理回路の全ての入力を始端ノード、該論理回路
の全ての出力を終端ノードとして、該論理回路を有向グ
ラフ化する第1の工程と、 前記有向グラフ中に存在するループを1つのノードに縮
約し、前記ループ内のノードに接続されているエッジを
縮約したノードに接続する第2の工程と、 始端ノードを集合Aと定義する第3の工程と、 集合Aに属するノードからエッジにより直接到達できる
全てのノードからなる集合を集合Aとして定義し直す第
4の工程と、 集合Aに終端ノードが含まれているか否かを調べる第5
の工程と、 集合Aに属するノードに、ラッチを使用したノード、あ
るいはエッジを経由して到達できるノードが集合Aに属
するノード、あるいはエッジおよび他のノードを経由し
て到達できるノードが集合Aに含まれるノード、の何れ
かに該当するノードがあるか否かを調べる第6の工程
と、 第6の工程において該当するノードを集合Aから削除
し、該削除したノードからエッジにより直接到達できる
ノードを集合Aに加える第7の工程と、 集合Aに終端ノードが含まれているか否かを調べ、含ま
れていなければ第6の工程に戻る第8の工程と、 第6の工程において、該当するノードがなければ集合Y
に集合Aを加え第4の工程に戻る第9の工程とからな
り、 第5の工程あるいは第8の工程において、集合Aに終端
ノードが含まれている場合に、集合Yに属する全てのノ
ードにラッチを挿入することを特徴とするラッチ埋め込
み型論理回路動作速度高速化方法。
1. A combination circuit having multiple inputs and one output, a latch connected to an output of the combination circuit, and selection means for selecting and outputting one of the output of the combination circuit and the output of the latch. A logic circuit comprising a plurality of basic circuits to perform a predetermined function by setting wiring between the basic circuits, wherein the basic circuit is a node, the wiring between the basic circuits is an edge, and the logic circuit A first step of making the logic circuit a directed graph, with all inputs of the logic element as a starting node and all outputs of the logic circuit as a terminating node, and reducing a loop existing in the directed graph to one node, A second step of connecting an edge connected to a node in the loop to a reduced node, a third step of defining a start node as a set A, and a node belonging to the set A A fourth step of redefining a set consisting of all nodes that can be directly reached by edges from the set as a set A, and a fifth step of checking whether or not the set A includes a terminal node.
A node using a latch or a node that can be reached via an edge to a node belonging to set A, or a node that can be reached via an edge and another node to set A A sixth step of checking whether or not there is a node corresponding to any of the included nodes; a node in which the corresponding node is deleted from the set A in the sixth step, and a node directly reachable from the deleted node by an edge In the set A, whether the set A includes a terminal node, and if not, return to the sixth step; and return to the sixth step. If there is no node to do, set Y
A ninth step of adding the set A to the set A and returning to the fourth step. In the fifth step or the eighth step, if the set A includes a terminal node, all nodes belonging to the set Y Latch embedding characterized by inserting a latch into a latch
A method for increasing the operating speed of read- only logic circuits.
JP12559694A 1994-06-07 1994-06-07 Method for increasing operating speed of logic circuit with embedded latch Expired - Lifetime JP3204285B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12559694A JP3204285B2 (en) 1994-06-07 1994-06-07 Method for increasing operating speed of logic circuit with embedded latch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12559694A JP3204285B2 (en) 1994-06-07 1994-06-07 Method for increasing operating speed of logic circuit with embedded latch

Publications (2)

Publication Number Publication Date
JPH07334540A JPH07334540A (en) 1995-12-22
JP3204285B2 true JP3204285B2 (en) 2001-09-04

Family

ID=14914065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12559694A Expired - Lifetime JP3204285B2 (en) 1994-06-07 1994-06-07 Method for increasing operating speed of logic circuit with embedded latch

Country Status (1)

Country Link
JP (1) JP3204285B2 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
宮崎敏明、外4名,"FPGA上の同期回路に対する高速化を目的としたラッチ挿入法",情報処理学会研究報告(93−DA−69),平成5年12月16日,第93巻,第111号,p.71−77
山田一久、外3名,"マルチFPGAシステムによる通信用回路エミュレーションの検討",電子情報通信学会技術研究報告(CS92−77〜84),平成5年1月21日,第92巻,第429号,p.49−56

Also Published As

Publication number Publication date
JPH07334540A (en) 1995-12-22

Similar Documents

Publication Publication Date Title
US8108812B1 (en) Register retiming technique
CN100530594C (en) Switch methodology for mask-programmable logic devices
CN1307586C (en) High Efficiency Logic Packed Field Programmable Gate Array Core Cell
US20040021490A1 (en) Method and apparatus for timing management in a converted design
US6938236B1 (en) Method of creating a mask-programmed logic device from a pre-existing circuit design
CN108092660B (en) A method and system for optimizing a subthreshold circuit
JP5120785B2 (en) Logic circuit design apparatus, logic circuit design method and logic circuit design program for asynchronous logic circuit
US6557161B2 (en) Method for prototyping asynchronous circuits using synchronous devices
US7707532B1 (en) Techniques for grouping circuit elements into logic blocks
US6389580B1 (en) Computer readable storage medium having logic synthesis program, and logic synthesis method and apparatus
CN116401987A (en) Chip time sequence optimization method, system, equipment and medium
US7886256B1 (en) Timing analysis of a mapped logic design using physical delays
JP3204285B2 (en) Method for increasing operating speed of logic circuit with embedded latch
US6584597B1 (en) Modeling of phase synchronous circuits
JP2872216B1 (en) Macro design method
Huang et al. Maze routing with buffer insertion under transition time constraints
JP2809166B2 (en) High-speed delay verification device
Yun et al. Performance-driven synthesis of asynchronous controllers
JP2002259487A (en) Method and device for simulating multiple power supply circuit
JPH10116300A (en) Logic circuit delay verification method
JPH081948B2 (en) Method for manufacturing semiconductor integrated circuit
US6948139B2 (en) Method for combining states
US8954907B1 (en) Block emulation techniques in integrated circuits
JP2786017B2 (en) Method for manufacturing semiconductor integrated circuit
JP2993488B2 (en) Integrated circuit design method, integrated circuit, and storage medium

Legal Events

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

Free format text: PAYMENT UNTIL: 20090629

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090629

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110629

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120629

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130629

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140629

Year of fee payment: 13

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term