JPH04288678A - Lag time calculator - Google Patents

Lag time calculator

Info

Publication number
JPH04288678A
JPH04288678A JP2262089A JP26208990A JPH04288678A JP H04288678 A JPH04288678 A JP H04288678A JP 2262089 A JP2262089 A JP 2262089A JP 26208990 A JP26208990 A JP 26208990A JP H04288678 A JPH04288678 A JP H04288678A
Authority
JP
Japan
Prior art keywords
abstract
delay time
circuit
lag time
data
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
JP2262089A
Other languages
Japanese (ja)
Inventor
Hiroaki Nishi
西 宏晃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2262089A priority Critical patent/JPH04288678A/en
Publication of JPH04288678A publication Critical patent/JPH04288678A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To accurately find lag time without necessitating large memory capacity by extracting the feature data of an abstract circuit element converted from operating function specification description, and calculating the lag time of the abstract circuit element based on the data. CONSTITUTION:A design data conversion part 102 performs the syntax analysis of the register transfer description of a register transfer specification 101, and generates an initial abstract circuit with fidelity to the register transfer description, and stores it in a design data base 103. In a lag time setting part 104, an abstract element data extraction part 106 fetches the types and the number of input of all the abstract function elements of the initial abstract circuit, the bit width of input facility, and the bit width of the element itself from the design data base 103. A lag time calculation part 105 calculates the number of delay stages of a target abstract element based on an extracted data group. A lag time data storage part 107 stores a calculation result by conforming to an abstract element to be data-extracted in the design data base 103.

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、ハードウェア記述言語を用いて設計された
ハードウェア素子の個々の信号遅延時間を計算し、これ
を基にハードウェア記述言語で表された全体回路の遅延
時間を解析する装置の入力となるハードウェア素子の遅
延時間を生成する遅延時間計算装置に関する。
[Detailed Description of the Invention] [Objective of the Invention] (Industrial Application Field) This invention calculates the individual signal delay times of hardware elements designed using a hardware description language, and calculates the signal delay times based on this. The present invention relates to a delay time calculation device that generates the delay time of a hardware element that is input to a device that analyzes the delay time of an entire circuit expressed in a hardware description language.

(従来の技術) 近年、大規模な論理回路の短期間開発の必要性から動作
機能レベルの設計を行い、それを論理合成装置を用いて
論理回路を生成するようになってきた。
(Prior Art) In recent years, due to the need to develop large-scale logic circuits in a short period of time, a design has been made at the operating function level, and a logic circuit has been generated using a logic synthesis device.

ところが、熟練した回路設計者による論理回路の方が、
自動合成された論理回路よりも性能(特に動作速度など
)が優れている。なぜなら、熟練した設計者は、回路の
動作周波数を満たすようにレジスタのクロックを決定し
、信号遅延時間が少なくて済む論理構造を持った回路を
用いて設計しているからである。
However, logic circuits created by skilled circuit designers are
It has better performance (especially operating speed) than automatically synthesized logic circuits. This is because a skilled designer determines the register clock to meet the operating frequency of the circuit and designs the circuit using a logic structure that requires less signal delay time.

一方、論理合成装置の方も改良されており、動作機能レ
ベルの回路をAND、ORレベルの回路に展開して簡単
化を行い、冗長な回路の削除や共通項の抽出を行って分
解し、さらに再構成してタイミングや素子数の最適化が
行われるようになってきた。
On the other hand, the logic synthesis device has also been improved, simplifying the operational function level circuit by expanding it into AND and OR level circuits, decomposing it by deleting redundant circuits and extracting common terms. Furthermore, the timing and number of elements have been optimized through reconfiguration.

この論理合成装置では、機能レベル回路から論理レベル
回路への変換の際に、信号遅延時間の小さい回路に変換
することが行われるが、機能レベル回路のどの部分をこ
の方式で変換すればよいかの指標がなかった。そこで、
機能レベル回路でクリティカルパスを予測し、変換を行
うことも考えられているが、その機能レベルの回路素子
に如何なる遅延時間を与えたらよいかが知られていなか
った。
In this logic synthesis device, when converting a functional level circuit to a logic level circuit, it is converted to a circuit with a small signal delay time, but which part of the functional level circuit should be converted using this method? There were no indicators. Therefore,
Although it has been considered to predict critical paths and perform conversion using functional level circuits, it has not been known what kind of delay time should be given to circuit elements at that functional level.

一方、遅延時間解析装置における対象回路の構成素子の
遅延時間計算については、例えばゲートレベルの遅延時
間解析装置では、AND、ORレベルの回路を1段(ゲ
ート段数)と数えており、ライブラリ化されていない機
能レベルのハードウェア素子自体の遅延時間を計算する
装置は存在しなかった。また、ライブラリセルの遅延デ
ータを用いた遅延時間解析ツールを使用することによっ
て、論理回路の詳細な信号遅延時間の解析結果を入手で
きるようになったが(例えば、どのパスが最長遅延パス
もしくは最小遅延パスであるか)、これは具体的なハー
ドウェア素子が割付いた論理回路でないと使用できなか
った。
On the other hand, regarding the delay time calculation of the constituent elements of the target circuit in a delay time analyzer, for example, in a gate-level delay time analyzer, AND and OR level circuits are counted as one stage (number of gate stages), and are not compiled into a library. There was no device that could calculate the delay time of a hardware element itself at a functional level. In addition, by using delay time analysis tools that use delay data from library cells, it is now possible to obtain detailed analysis results of signal delay times in logic circuits (for example, which paths have the longest delay or the least). (Is it a delay path?), this could only be used in a logic circuit to which specific hardware elements were allocated.

機能レベルのハードウェア素子を用いて遅延時間解析を
するには、機能レベルのハードウェア素子(この素子は
入力数が可変であったり、素子自体かビット幅を有して
いる)をライブラリ化する必要がある。しかしながら、
許される入力数やビット幅に応じた、膨大な数の素子を
予め用意する必要があるため、膨大な記憶容量を必要と
していた。また、機能レベルのハードウェア素子に対す
る遅延情報の与え方についても、設計者が素子固有の図
柄や配線図からなる機能ブロックをCADなどによって
スケマテック入力するたびに、あるいは機能素子を記述
するたびに、遅延時間を設定していたのでは設計効率が
悪かった。このため、論理回路に変換された後の信号遅
延時間を予想し、機能素子にその遅延時間を自動的に割
当てる方法が望まれていた。
To perform delay time analysis using functional-level hardware elements, create a library of functional-level hardware elements (the number of inputs is variable or the element itself has a bit width). There is a need. however,
Since it is necessary to prepare a huge number of elements in advance according to the number of allowed inputs and bit width, a huge amount of storage capacity is required. Furthermore, regarding how to provide delay information to hardware elements at the functional level, each time a designer inputs a functional block consisting of an element-specific design or wiring diagram using CAD, or each time a functional element is described, Setting a delay time was inefficient in design. Therefore, a method has been desired that predicts the signal delay time after being converted into a logic circuit and automatically allocates the delay time to the functional element.

(発明が解決しようとする課題) このように、従来の遅延時間計算装置では、元来入出力
数及びビット幅が可変であった。このため、レジスタ転
送仕様で設計された回路から変換された抽象回路は、遅
延時間をレジスタ転送仕様で使用可能な全ての抽象回路
に持たせ、それぞれをライブラリ化しなければならない
。これにより、膨大なデータ量を記憶する記憶容量が必
要であった。
(Problems to be Solved by the Invention) As described above, in the conventional delay time calculation device, the number of inputs and outputs and the bit width were originally variable. For this reason, for abstract circuits converted from circuits designed with register transfer specifications, it is necessary to provide a delay time to all abstract circuits that can be used with register transfer specifications, and to create a library for each abstract circuit. This required a storage capacity to store a huge amount of data.

そこで、この発明は、このような従来の事情に鑑みてな
されたものであり、その目的は、同一機能のハードウェ
アに対して、異なる論理構造を持ったハードウェアの遅
延時間の計算及び割付けを自動的に行い、膨大な記憶容
量を必要とせず、抽象回路素子の遅延時間を正確に計算
することができる遅延時間計算装置を提供することにあ
る。
The present invention was made in view of the above-mentioned conventional circumstances, and its purpose is to calculate and allocate delay times of hardware with different logical structures to hardware with the same function. An object of the present invention is to provide a delay time calculation device that can automatically calculate the delay time of an abstract circuit element without requiring a huge storage capacity.

[発明の構成] (課題を解決するための手段) 上記目的を達成させるため、この発明は、動作機能仕様
レベルの回路または論理合成途中の回路を構成する抽象
回路素子の特徴的データを抽出する抽出手段と、前記特
徴的データを基にして前記抽象回路素子の遅延時間を計
算する計算手段と、前記抽象回路素子が前記遅延時間を
有するものであることを関連付ける関連付け手段とから
構成されている。
[Structure of the Invention] (Means for Solving the Problems) In order to achieve the above object, the present invention extracts characteristic data of abstract circuit elements constituting a circuit at the operating function specification level or a circuit in the middle of logic synthesis. The method comprises an extraction means, a calculation means for calculating the delay time of the abstract circuit element based on the characteristic data, and an association means for associating that the abstract circuit element has the delay time. .

(作用) 上記構成により、この発明は、動作機能仕様記述から変
換された抽象回路素子の特徴的データを、抽出手段によ
って抽出し、抽出された特徴的データを基にして、抽象
回路素子の遅延時間を計算手段によって計算する。そし
て、計算された遅延時間を、関連付け手段を用いて抽象
回路素子に割り付けている。
(Operation) With the above configuration, the present invention extracts the characteristic data of the abstract circuit element converted from the operational function specification description using the extraction means, and calculates the delay of the abstract circuit element based on the extracted characteristic data. Calculate the time by a calculation means. Then, the calculated delay time is assigned to the abstract circuit element using an association means.

(実施例) 実施例を説明する前にレジスタ転送記述について説明す
る。
(Embodiment) Before explaining the embodiment, a register transfer description will be explained.

この発明に用いられる特有のレジスタ転送記述では、回
路の実際の素子と認識されるファシリティ(外部端子、
内部信号、レジスタ、メモリなど)、ハードウェアの詳
細まで立ち入らずに機能を表した演算子、組み込み関数
(加算、減算など)、及びファシリテイの動作を表すプ
ロセス(レジスタの非同期クリアなど)の記述や状態遷
移表現が可能である。以下、ファシリテイ、演算子、組
み込み関数、プロセス、ステートを抽象機能素子と呼ぶ
。なお、抽象機能素子は、ビット幅を有するものや入力
数が一定でないものも存在する。
In the specific register transfer description used in this invention, facilities (external terminals,
(internal signals, registers, memory, etc.), operators that express functionality without going into hardware details, built-in functions (addition, subtraction, etc.), and processes that express facility operations (such as asynchronous clearing of registers) It is possible to express state transitions. Hereinafter, facilities, operators, built-in functions, processes, and states will be referred to as abstract functional elements. Note that some abstract functional elements have a bit width or the number of inputs is not constant.

ここで、抽象機能素子の遅延時間について説明する。Here, the delay time of the abstract functional element will be explained.

論理合成は、最終的に抽象機能素子を論理素子(ゲート
)にまで展開して最適化を行い、これに所望のテクノロ
ジからなるハードウェアのライブラリセルを割り付ける
処理である。
Logic synthesis is a process of finally expanding abstract functional elements into logic elements (gates), optimizing them, and allocating hardware library cells of a desired technology to these.

しかし、レジスタ転送レベルの回路は、機能レベルの回
路であり、必ずしもハードウェアとして最適化された回
路、すなわちゲート数あるいはゲート段数を考慮して設
計された回路となっていない。従って、最初からすべて
の抽象機能素子にハードウェアのセルを割り付けて考え
るのは得策ではない。また、同一機能のセルであっても
、異なるスピードのセルを割り付けることによって実遅
延時間は変わってしまうので、レジスタ転送レベルの回
路の各抽象機能素子に実時間を割り当てて考えるのも適
当ではない。
However, the register transfer level circuit is a functional level circuit, and is not necessarily a circuit that is optimized as hardware, that is, a circuit that is designed with consideration to the number of gates or the number of gate stages. Therefore, it is not a good idea to allocate hardware cells to all abstract functional elements from the beginning. Furthermore, even if cells have the same function, the actual delay time will change by allocating cells with different speeds, so it is not appropriate to allocate real time to each abstract functional element of a circuit at the register transfer level. .

そこで、遅延時間の代わりに、基本的なゲートを単位と
したゲート段数を用いる。また、ハードウェアのNOR
ゲートのセルなどでは、入力数が増加するに従って実遅
延時間がかなり異なってくるので(例えば、6入力のN
ORは2入力NORの4倍の遅延時間を有する)、この
ようなゲートでは入力数を考慮して段数を与えることに
する。
Therefore, instead of the delay time, the number of gate stages in units of basic gates is used. Also, the hardware NOR
For gate cells, etc., the actual delay time varies considerably as the number of inputs increases (for example, when the number of inputs increases
(OR has a delay time four times that of two-input NOR), and in such a gate, the number of stages is given in consideration of the number of inputs.

以下、この発明の実施例を図面を参照して説明する。Embodiments of the present invention will be described below with reference to the drawings.

第1図は、この発明の遅延時間計算装置の一実施例の構
成を示したブロック図である。
FIG. 1 is a block diagram showing the configuration of an embodiment of a delay time calculation device of the present invention.

同図において、レジスタ転送仕様101は、機能動作仕
様を表すものであり、レジスタ転送記述もしくはレジス
タ転送仕様をスケマテック表示した機能ブロック図であ
る。
In the figure, a register transfer specification 101 represents a functional operation specification, and is a functional block diagram showing a register transfer description or a register transfer specification in a schematic manner.

設計データ変換部(トランスレータ)102は、レジス
タ転送仕様101のレジスタ転送記述を構文解析し、こ
のレジスタ転送記述に忠実な初期抽象回路を生成する。
A design data conversion unit (translator) 102 parses the register transfer description of the register transfer specification 101 and generates an initial abstract circuit faithful to this register transfer description.

あるいは、このトランスレータ102は、レジスタ転送
仕様101が機能ブロック図の場合、スケマテック図か
らネットワーク情報と図形情報を抽出して初期抽象回路
を生成する。
Alternatively, if the register transfer specification 101 is a functional block diagram, the translator 102 extracts network information and graphic information from the schematic diagram to generate an initial abstract circuit.

設計データベース103は、初期抽象回路のネットワー
ク情報、例えば図示しない論理合成装置によって展開さ
れた回路モデル情報、あるいはレジスタ転送仕様101
を変換した情報などを格納するところである。
The design database 103 includes network information of an initial abstract circuit, for example, circuit model information developed by a logic synthesis device (not shown), or register transfer specifications 101.
This is where the converted information is stored.

遅延時間設定部104は、この発明の中心となるところ
であり、遅延時間を計算してそれを格納するところであ
る。この遅延時間設定部104は、遅延時間計算部10
5、抽象素子データ抽出部106、及び遅延時間データ
格納部107から構成されている。
The delay time setting unit 104 is the central part of the present invention, and is the part that calculates the delay time and stores it. This delay time setting section 104 includes a delay time calculation section 10
5, an abstract element data extraction section 106, and a delay time data storage section 107.

遅延時間計算部105は、対象抽象素子の遅延段数を計
算する機能を有しており、対象抽象素子の遅延時間のモ
デルの変更に柔軟に対処できるように、遅延時間モデル
定義108を取り込んだ遅延時間計算部生成部109に
よって作成される。
The delay time calculation unit 105 has a function of calculating the number of delay stages of the target abstract element, and in order to flexibly deal with changes in the delay time model of the target abstract element, the delay time calculation unit 105 incorporates the delay time model definition 108. It is created by the time calculation unit generation unit 109.

遅延時間計算部生成部109は、抽象機能素子の可変の
入力数やビット幅などに従った遅延時間計算を行うプロ
グラムを作り替える役目を有している。
The delay time calculation unit generation unit 109 has the role of modifying a program that performs delay time calculation according to the variable number of inputs, bit width, etc. of the abstract functional element.

抽象素子データ抽出部106は、トランスレータ102
で生成された設計データベース103から、初期抽象回
路のすべての抽象機能素子のタイプと入力数、入力ファ
シリテイのビット幅、素子自体のビット幅を取り出す。
The abstract element data extraction unit 106 uses the translator 102
The types and number of inputs of all abstract functional elements of the initial abstract circuit, the bit width of the input facility, and the bit width of the element itself are extracted from the design database 103 generated in .

また、入力ファシリテイが定数につながっている場合も
あるので、抽象素子データ抽出部106は、任意段数分
入力側のネットをトレースして定数の種類やその情報(
例えば、定数が2進数なら‘1’の数とか)を抽出する
Furthermore, since the input facility may be connected to a constant, the abstract element data extraction unit 106 traces the net on the input side for an arbitrary number of stages to determine the type of constant and its information (
For example, if the constant is a binary number, extract the number '1'.

遅延時間データ格納部107は、抽象素子データ抽出部
106で抽出したデータ群を基にして、遅延時間計算部
105で計算された結果を、被データ抽出抽象素子と対
応付けて設計データベース103に格納する。なお、こ
の遅延時間データ格納部107では、計算した遅延段数
を必ずしも設計データベース103に格納する必要はな
いか、遅延時間計算部105の処理で一度計算した遅延
段数については、抽象機能素子のタイプ、入力数、ビッ
ト幅と一緒に記憶領域に保存しておき、保存された情報
を使用する別の装置(例えば、遅延時間解析装置)が、
必要に応じて設計データベース103の抽象機能素子の
データからハッシュイングを行い、情報を保存した記憶
領域の遅延段数データを取出すようにすることも可能で
ある。
The delay time data storage unit 107 stores the result calculated by the delay time calculation unit 105 based on the data group extracted by the abstract element data extraction unit 106 in the design database 103 in association with the data extracted abstract element. do. Note that the delay time data storage unit 107 does not necessarily need to store the calculated number of delay stages in the design database 103, or the number of delay stages once calculated by the process of the delay time calculation unit 105 may be stored depending on the type of abstract functional element, It is stored in a storage area together with the number of inputs and bit width, and another device (for example, a delay time analyzer) that uses the stored information
If necessary, it is also possible to perform hashing from the abstract functional element data in the design database 103 and retrieve the delay stage number data from the storage area where the information is stored.

次に、遅延時間モデル定義108について、第2図乃至
第4図を用いて説明する。
Next, the delay time model definition 108 will be explained using FIGS. 2 to 4.

第2図は、機能動作仕様を表すレジスタ転送仕様101
である。
Figure 2 shows register transfer specifications 101 representing functional operation specifications.
It is.

このレジスタ転送記述において、GTは、入力ファシリ
テイA、Bの大小比較を行う組み込み関数を意味し、2
入力1出力である。Xは、1ビットのファシリテイであ
り、A>Bのときは1になり、それ以外では0になる。
In this register transfer description, GT means a built-in function that compares the magnitude of input facilities A and B;
It has one input and one output. X is a 1-bit facility, which is 1 when A>B and 0 otherwise.

入力ファシリティA、Bは、それぞれビット幅を有して
おり、最上位ビットmsb1、最下位ビットlsb1、
msb2、lsb2のレンジを有している。なお、ビッ
ト幅はabs(lsb−msb)+1となる。
Input facilities A and B each have a bit width, the most significant bit msb1, the least significant bit lsb1,
It has a range of msb2 and lsb2. Note that the bit width is abs(lsb-msb)+1.

第3図(a)乃至(d)は、第2図で示した大小比較関
数GTを、図示しない論理合成装置によって論理回路に
展開された回路モデル図である。
3(a) to 3(d) are circuit model diagrams in which the magnitude comparison function GT shown in FIG. 2 is developed into a logic circuit by a logic synthesis device (not shown).

第3図(a)、(b)は、4ビットのマグニチュードコ
ンパレータ(以下、MAG4と表す。)301、302
、304、305と、2ビットのマグニチュードコンパ
レータ(以下、MAG2と表す。)303とのハードウ
ェアセルで構成した場合の回路モデルである。また、第
3図(c)、(d)は、INVERTER306、XO
R(排他的論理和)307、AND308、OR309
のゲート回路で構成した場合の回路モデルを示している
FIGS. 3(a) and 3(b) show 4-bit magnitude comparators (hereinafter referred to as MAG4) 301, 302.
, 304, 305, and a 2-bit magnitude comparator (hereinafter referred to as MAG2) 303. In addition, FIGS. 3(c) and 3(d) show INVERTER306,
R (exclusive OR) 307, AND308, OR309
The circuit model is shown when it is configured with gate circuits.

ここで、マグニチュードコンパレータとは、2つの入力
A、Bの比較を行い、AがBよりも大きい場合、AとB
とが等しい場合、AがBよりも小さい場合の3つの場合
について、それぞれ特定の信号を出力するものである。
Here, the magnitude comparator compares two inputs A and B, and if A is larger than B, then A and B
A specific signal is output for each of three cases: when A is equal to B, and when A is smaller than B.

このマグニチュードコンパレータを複数段繋げることに
より、多ビットの入力信号が比較されたものが出力Xと
して得られるものである。
By connecting multiple stages of magnitude comparators, output X is obtained by comparing multi-bit input signals.

関数GTの第1引数Aのファシリテイと第2引数Bのフ
ァシリテイが、2進定数でないときまたは2進定数に等
しいファシリテイでないときの回路モデルは、第3図(
a)、(b)で示した、高機能ハードウェアセルMAG
4及びMAG2で構成される。なお、この回路モデルは
、4ビット以上のビット幅を想定している。
The circuit model when the facility of the first argument A and the facility of the second argument B of the function GT are not binary constants or are not equal to binary constants is shown in Figure 3 (
High-performance hardware cell MAG shown in a) and (b)
4 and MAG2. Note that this circuit model assumes a bit width of 4 bits or more.

ビット幅に従属した論理回路への変換の仕方は(1)(
abs(lsb−msb)+1)%4=0(2)(ab
s(lsb−msb)+1)%4=1(3)(abs(
lsb−msb)+1)%4=2(4)(abs(ls
b−msb)+1)%4=3の4つの場合を考慮する必
要がある。ここで、%は剰余算を表している。
The method of conversion to a logic circuit dependent on bit width is (1) (
abs(lsb-msb)+1)%4=0(2)(ab
s(lsb-msb)+1)%4=1(3)(abs(
lsb-msb)+1)%4=2(4)(abs(ls
It is necessary to consider four cases: b-msb)+1)%4=3. Here, % represents remainder calculation.

(2)、(3)の場合は、第3図(a)の回路モデルに
変換され、(1)と(4)の場合は第3図(b)の回路
モデルに変換される。
Cases (2) and (3) are converted to the circuit model shown in FIG. 3(a), and cases (1) and (4) are converted to the circuit model shown in FIG. 3(b).

第3図(a)で示した回路モデルは、(abs(lsb
−msb)+1)/4個のMAG4と、1個のMAG2
から構成されている。
The circuit model shown in FIG. 3(a) is (abs(lsb
-msb)+1)/4 MAG4 and 1 MAG2
It consists of

なお、上記(2)の場合は、MAG2(303)の2ビ
ットの入力A、Bのうち、1ビットはGND(接地)に
接続される。
In the case of (2) above, 1 bit of the 2-bit inputs A and B of MAG2 (303) is connected to GND (ground).

上記(1)によって変換された、第3図(b)で示す回
路モデルは、(abs(lsb−msb)+1)/4個
のMAG4からなっている。
The circuit model shown in FIG. 3(b) converted by the above (1) consists of (abs(lsb-msb)+1)/4 MAG4s.

また、(4)によって変換された回路モデルは、(ab
s(lsb−msb)+1)/4+1個のMAG4から
構成され、その2ビットの入力A、Bのうちの1ビット
が、GNDに接続されている。
Moreover, the circuit model converted by (4) is (ab
It is composed of s(lsb-msb)+1)/4+1 MAG4, and one bit of its 2-bit inputs A and B is connected to GND.

一方、第3図(c)に示した回路モデルは、ファシリテ
イのビット幅が、4ビットよりも小さい場合の回路モデ
ルである。
On the other hand, the circuit model shown in FIG. 3(c) is a circuit model in which the facility bit width is smaller than 4 bits.

第3図(d)の回路モデルは、関数GTの第2引数Bの
ファシリテイが、2進定数につながっている場合のモデ
ルである。この場合は、ゲートが簡単化されてXOR3
07は削除される。すなわち、ファシリテイBのあるビ
ットが、‘0’ の場合はINVERTER306だけ
残り、‘1’の場合は何も残らなくなる。
The circuit model in FIG. 3(d) is a model in which the facility of the second argument B of the function GT is connected to a binary constant. In this case, the gate is simplified and XOR3
07 is deleted. That is, when a certain bit of facility B is '0', only INVERTER 306 remains, and when it is '1', nothing remains.

第4図は、第3図で示した回路モデルを想定した場合の
遅延時間モデル定義108を表す図である。なお、本実
施例では、msb<lsbとして説明する。
FIG. 4 is a diagram showing a delay time model definition 108 assuming the circuit model shown in FIG. 3. Note that this embodiment will be described assuming that msb<lsb.

第4図(a)は、各ゲート回路とそれに対応する段数を
示した表である。
FIG. 4(a) is a table showing each gate circuit and its corresponding number of stages.

同図に示すように、NULLは、記述上必要な0段を意
味し、AND、OR、AND3、OR3、AND4、O
R4は1段である。INV(INVERTER)は、1
個で0段、2個ある場合は1段にしている。また、XO
Rは2段、MAG2はライブラリセルで3段、MAG4
は5段となっている。なお、ライブラリセルの段数計算
については後述する。
As shown in the figure, NULL means 0 stages necessary for the description, AND, OR, AND3, OR3, AND4, O
R4 has one stage. INV (INVERTER) is 1
If there are 2 pieces, it is 0 stages, and if there are 2 pieces, it is 1 stage. Also, XO
R is 2 stages, MAG2 is 3 stages with library cells, MAG4
There are 5 stages. Note that calculation of the number of stages of library cells will be described later.

第4図(b)は、第2図に示した関数GTに対し、第3
図の回路モデルを定義した記述文である。
FIG. 4(b) shows the function GT shown in FIG.
This is a descriptive text that defines the circuit model shown in the figure.

この記述文中の、arg[n]はn番目の引数を示し、
BNUMは2進定数{0、1}を示している。また、Q
NUMは、4値定数{0、1、?(don’t car
e)、Z(high impedance)}を示して
いる。if文、比較文、論理積、あるいは論理和は、C
言語ライクに記述できる。なお、/は除算を、%は剰余
算を意味している。
In this description, arg[n] indicates the nth argument,
BNUM indicates a binary constant {0, 1}. Also, Q
NUM is a four-value constant {0, 1, ? (don't car
e), Z (high impedance)}. If statement, comparison statement, conjunction, or disjunction is C
It can be written in a language-like manner. Note that / means division, and % means remainder calculation.

記述文401は、第3図(a)、(b)の回路モデルの
条件で、関数GTの第1引数Aと第2引数BがBNUM
でもQNUMでもない場合を示している。
The descriptive text 401 is based on the conditions of the circuit model shown in FIGS. 3(a) and 3(b), and the first argument A and the second argument B of the function GT are BNUM.
However, the case where it is not QNUM is shown.

記述文402はビット幅が4以上の場合を示し、記述文
403はビット幅を4で割った余りが1と2の場合を示
している。
A descriptive text 402 indicates a case where the bit width is 4 or more, and a descriptive text 403 indicates a case where the remainders when the bit width is divided by 4 are 1 and 2.

記述文404の“{}”で囲まれた部分は、この“{”
の左に位置するMAG4の個数を示している。また、“
[]”で囲まれた部分は、ゲートの直列結合すなわちゲ
ート段数の和を示している。すなわち、記述文404は
、(lsb−msb+2)/4個のMAG4と1個のM
AG2とを接続した回路モデルであることを表している
The part surrounded by “{}” in the descriptive sentence 404 is
The number of MAG4s located to the left of is shown. Also,"
The part surrounded by "[]" indicates the series combination of gates, that is, the sum of the number of gate stages.In other words, the description 404 is (lsb-msb+2)/4 MAG4 and one M
This shows that it is a circuit model in which AG2 is connected.

記述文405は、ビット幅を4で割った余りが0と3の
場合であり、MAG4は(lsb−msb+2)/4個
分の段数である。
The description 405 is for a case where the bit width is divided by 4 and the remainders are 0 and 3, and MAG4 has the number of stages of (lsb-msb+2)/4.

記述文406は、ビット幅が3の場合を示し、その段数
は記述文407に示すように、INV、XOR、AND
4、OR3が直列結合した回路モデルから求められる。
The descriptive text 406 shows the case where the bit width is 3, and the number of stages is INV, XOR, AND, as shown in the descriptive text 407.
4. It is obtained from a circuit model in which OR3 is connected in series.

以下、記述文408乃至411は、ビット幅が2と1の
場合のモデル定義である。
Below, descriptive sentences 408 to 411 are model definitions when the bit width is 2 and 1.

記述文412は、第2引数Bのファシリテイが、BNU
MかQNUMにつながっている場合の条件を示している
In the descriptive text 412, the facility of the second argument B is BNU.
This shows the conditions when connected to M or QNUM.

記述文413は、ビット幅が4以上の場合を示している
A descriptive text 413 indicates a case where the bit width is 4 or more.

記述文414は、第3図(d)に示した回路モデルの、
入力Aから出力Xまでの最大段数を示しており、n入力
のANDとORは、それぞれlog(lsb−msb+
1)/log(4.1)+1個の4入力ANDと4入力
ORで構成される。
The descriptive text 414 is the circuit model shown in FIG. 3(d).
It shows the maximum number of stages from input A to output
It is composed of 1)/log(4.1)+1 4-input AND and 4-input OR.

記述文415乃至418は、ビット幅が3ビットと2ビ
ットの場合であり、記述文419は1ビットの場合であ
る。
The descriptive sentences 415 to 418 have a bit width of 3 bits and 2 bits, and the descriptive sentence 419 has a bit width of 1 bit.

第2引数Bの接続先のファシリテイの‘1’の値が、1
個以上の場合は2入力のORになり(記述文421)、
0個のときはNULLゲートすなわち0段となる(記述
文422)。
The value of '1' for the facility connected to the second argument B is 1.
If there are more than
When there are 0, it becomes a NULL gate, that is, 0 stage (description 422).

なお、ここでは最大遅延の段数についての回路モデルを
説明したが、関数GTのラベルをGT(max)、GT
(min)と識別して記述し、以下同様に定義すること
で最小遅延の段数も定義できる。
Although the circuit model for the maximum delay stage number has been explained here, the label of the function GT is GT(max), GT
(min), and the number of stages with the minimum delay can also be defined by similarly defining the following.

また、ここでは抽象機能素子の遅延段数について、それ
を代表する1つの回路モデルを定義した場合を示した。
Further, here, a case is shown in which one representative circuit model is defined for the number of delay stages of an abstract functional element.

しかしながら、この抽象機能素子の入出力のファシリテ
イが異なるレンジ幅で参照された場合には、それぞれの
ファシリテイを異なる端子として扱うことも可能である
。すなわち、例えば、記述文の入力ファシリテイAが、
A<0:3>とA<4:6>とにレンジ分割されて使用
されている場合は、キーワードGTをGT::<msb
:msb+3>と、GT::<msb+4:msb+6
>とに別けて定義することにより、A<0:3>から出
力Xまでの回路モデルと、A<4:6>から出力Xまで
の回路モデルとに別けて定義することも可能である。
However, if the input/output facilities of this abstract functional element are referenced with different range widths, it is also possible to treat each facility as a different terminal. That is, for example, input facility A for descriptive text is
If the range is divided into A<0:3> and A<4:6> and used, the keyword GT is GT::<msb
:msb+3> and GT::<msb+4:msb+6
>, it is also possible to define a circuit model from A<0:3> to output X and a circuit model from A<4:6> to output X.

さらに、MAG2やMAG4の様なライブラリセルにつ
いても、ライブラリセルを構成しているプリミティブゲ
ートで第4図(b)の様な定義をすることにより、遅延
段数が自動的に計算できる。
Furthermore, for library cells such as MAG2 and MAG4, the number of delay stages can be automatically calculated by defining the primitive gates forming the library cells as shown in FIG. 4(b).

同様に、論理合成途中で生成される抽象機能素子につい
ても、第4図(b)の様なモデル定義をすることによっ
て遅延段数が自動的に計算できる。
Similarly, for abstract functional elements generated during logic synthesis, the number of delay stages can be automatically calculated by defining a model as shown in FIG. 4(b).

遅延時間計算部生成部109において、モデル定義が解
析され、定義された抽象機能素子の段数を計算する遅延
時間計算部105が生成される。
A delay time calculation unit generation unit 109 analyzes the model definition and generates a delay time calculation unit 105 that calculates the number of stages of the defined abstract functional element.

さらに、遅延時間設定部104によって、実際に遅延段
数が計算される。いま、 B<1:8>=8B11000000;X=GT(A<
0:7>、B<1:8>):のようなレジスタ転送仕様
101が、設計データベース103に格納されているも
のとする。
Furthermore, the delay time setting section 104 actually calculates the number of delay stages. Now, B<1:8>=8B11000000;X=GT(A<
It is assumed that a register transfer specification 101 such as 0:7>, B<1:8>) is stored in the design database 103.

抽象素子データ抽出部106により、関数のタイプのG
T、ビット幅の8、及び第2引数の接続先がBNUMで
あることが抽出される。さらに、遅延時間計算部105
において、第4図(b)の記述文412、413のモデ
ル定義に従って遅延時間が計算される。
The abstract element data extraction unit 106 extracts the function type G
It is extracted that T, the bit width of 8, and the connection destination of the second argument are BNUM. Furthermore, the delay time calculation unit 105
In this step, the delay time is calculated according to the model definition of descriptive sentences 412 and 413 in FIG. 4(b).

log(8)/log(4.1)+1を、少数点以下で
切り捨てて2とすると、AND4、OR4とも2ケずつ
必要となるが、AND4、OR4共に1段なので最終的
に4段となる。このように計算された遅延時間が、関数
GTに関連付けられて設計データベース103に格納さ
れる。
If log(8)/log(4.1)+1 is rounded down to the nearest decimal point and becomes 2, then 2 digits are required for both AND4 and OR4, but since both AND4 and OR4 are 1 stage, the final result is 4 stages. . The delay time calculated in this manner is stored in the design database 103 in association with the function GT.

なお、今回の実施例では組み込み関数についての例を示
したが、これに限らず、この発明は、オペレータ、プロ
セス、ステートについても同様な遅延時間モデル定義を
行うことができるものである。これにより、動作機能仕
様で使用されるすべての抽象機能素子の遅延時間の計算
が可能となる。
In this embodiment, an example of a built-in function is shown, but the present invention is not limited to this, and the present invention can also define a similar delay time model for operators, processes, and states. This makes it possible to calculate the delay times of all abstract functional elements used in the operational functional specifications.

[発明の効果] 以上、説明してきたように、この発明の遅延時間計算装
置によれば、動作機能仕様とは別に遅延時間のモデル定
義を行うと共に、遅延時間計算部を自動生成している。
[Effects of the Invention] As described above, according to the delay time calculation device of the present invention, a delay time model is defined separately from the operational function specifications, and a delay time calculation section is automatically generated.

これにより、設計者が遅延時間を考慮する必要がなく、
また、遅延時間のモデル定義の変更に伴う装置の改造も
いらないため設計効率が良い。
This eliminates the need for designers to consider delay times.
Furthermore, there is no need to modify the equipment due to changes in the delay time model definition, resulting in good design efficiency.

さらに、遅延時間を考慮した機能素子のライブラリを記
憶するための記憶容量が不必要になり、遅延時間モデル
定義によって論理合成装置の簡単化後の回路モデルも記
述できるため、正確な遅延時間の計算が可能となる。
Furthermore, it eliminates the need for storage capacity to store a library of functional elements that take delay times into account, and the delay time model definition allows the simplified circuit model of the logic synthesizer to be described, allowing accurate delay time calculations. becomes possible.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はこの発明の遅延時間計算装置に係わる一実施例
の構成を示すブロック図、第2図はレジスタ転送仕様を
表す記述文、第3図(a)乃至(d)は第2図に示した
レジスタ転送仕様記述に対応する回路モデル図、第4図
(a)乃至(b)は遅延時間モデル定義を説明するため
の記述文である。 101…レジスタ転送仕様 102…設計データ変換部(トランスレータ)103…
設計データベース 104…遅延時間設定部 105…遅延時間計算部 106…抽象素子データ抽出部 107…遅延時間データ格納部 108…遅延時間モデル定義 109…遅延時間計算部生成部 301、302、304、305…MAG4(4ビット
 マグニチュードコンパレータ)303…MAG2(2
ビット マグニチュードコンパレータ) 306…INVERTERゲート回路 307…XOR(排他的論理和)ゲート回路308…A
NDゲート回路 309…ORゲート回路 代理人弁理士 三好秀和
FIG. 1 is a block diagram showing the configuration of an embodiment of the delay time calculation device of the present invention, FIG. 2 is a descriptive text showing register transfer specifications, and FIGS. The circuit model diagrams shown in FIGS. 4(a) and 4(b) corresponding to the register transfer specification description are descriptions for explaining the delay time model definition. 101...Register transfer specification 102...Design data conversion unit (translator) 103...
Design database 104...delay time setting section 105...delay time calculation section 106...abstract element data extraction section 107...delay time data storage section 108...delay time model definition 109...delay time calculation section generation section 301, 302, 304, 305... MAG4 (4-bit magnitude comparator) 303...MAG2 (2
bit magnitude comparator) 306...INVERTER gate circuit 307...XOR (exclusive OR) gate circuit 308...A
ND gate circuit 309...OR gate circuit attorney Hidekazu Miyoshi

Claims (1)

【特許請求の範囲】 動作機能仕様レベルの回路または論理合成途中の回路を
構成する抽象回路素子の特徴的データを抽出する抽出手
段と、 前記特徴的データを基にして前記抽象回路素子の遅延時
間を計算する計算手段と、 前記抽象回路素子が前記遅延時間を有するものであるこ
とを関連付ける関連付け手段とを備え、ハードウェアの
仕様を取り込んで前記抽象回路素子の遅延時間を計算す
ることを特徴とする遅延時間計算装置。
[Scope of Claims] Extraction means for extracting characteristic data of an abstract circuit element constituting a circuit at the operating function specification level or a circuit in the middle of logic synthesis; and a delay time of the abstract circuit element based on the characteristic data. and an association means for associating that the abstract circuit element has the delay time, and calculating the delay time of the abstract circuit element by incorporating hardware specifications. Delay time calculation device.
JP2262089A 1990-09-29 1990-09-29 Lag time calculator Pending JPH04288678A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2262089A JPH04288678A (en) 1990-09-29 1990-09-29 Lag time calculator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2262089A JPH04288678A (en) 1990-09-29 1990-09-29 Lag time calculator

Publications (1)

Publication Number Publication Date
JPH04288678A true JPH04288678A (en) 1992-10-13

Family

ID=17370881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2262089A Pending JPH04288678A (en) 1990-09-29 1990-09-29 Lag time calculator

Country Status (1)

Country Link
JP (1) JPH04288678A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6170072B1 (en) 1998-06-26 2001-01-02 Mitsubishi Denki Kabushiki Kaisha Logic circuit verification apparatus and method for semiconductor integrated circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6170072B1 (en) 1998-06-26 2001-01-02 Mitsubishi Denki Kabushiki Kaisha Logic circuit verification apparatus and method for semiconductor integrated circuit

Similar Documents

Publication Publication Date Title
EP1964266B1 (en) A method for multi-cycle clock gating
Eldafrawy et al. FPGA logic block architectures for efficient deep learning inference
CN115204076B (en) Logic optimization method and device of integrated circuit, electronic equipment and readable medium
JP2024524285A (en) Method and system for optimizing circuit structure based on FPGA carry chain
US10628543B1 (en) Systems and methods for estimating a power consumption of a register-transfer level circuit design
Shanigarapu et al. Low-power and high speed carry select adder
Klhufek et al. Arithsgen: Arithmetic circuit generator for hardware accelerators
Rudposhti et al. High-speed and low-cost carry select adders utilizing new optimized add-one circuit and multiplexer-based logic
JPH0863498A (en) Method and device for synthesizing logic circuit
CN113568598B (en) Yosys-based FPGA logic synthesis method and device for realizing summation operation
JPH04288678A (en) Lag time calculator
US20220121802A1 (en) Construction, modeling, and mapping of multi-output cells
Das et al. Directed acyclic graph-based design of digital logic circuits using QCA
CN113515909A (en) Gate-level netlist processing method and computer storage medium
Singh et al. Register-Transfer-Level Design for Application-Specific Integrated Circuits
CN115204077B (en) Node optimization method and device for integrated circuit, electronic equipment and readable medium
Wanna et al. Multiplier Optimization via E-Graph Rewriting
US20230367554A1 (en) Apparatus, a method of operating modulo k calculation circuitry and a non-transitory computer-readable medium to store computer-readable code for fabrication of an apparatus
US20230266942A1 (en) Triple adder
CN117540670B (en) Global truth table generation method and device for digital circuit
CN115062567B (en) Condensation operation method and device for adjacent node set in graph data and electronic equipment
JP2980348B2 (en) Logic circuit synthesizer
CN115293078B (en) Method and device for rewriting nodes of integrated circuit, electronic equipment and medium
REDDY DESIGN AND IMPLEMENTATION OF AREA EFFICIENT MULTIPLY-ACCUMULATE UNIT
Revathy et al. Design and Analysis of Area & Energy Efficient Approximate Multiplier