JP2000163462A - Method for designing semiconductor integrated circuit and record medium - Google Patents

Method for designing semiconductor integrated circuit and record medium

Info

Publication number
JP2000163462A
JP2000163462A JP10339555A JP33955598A JP2000163462A JP 2000163462 A JP2000163462 A JP 2000163462A JP 10339555 A JP10339555 A JP 10339555A JP 33955598 A JP33955598 A JP 33955598A JP 2000163462 A JP2000163462 A JP 2000163462A
Authority
JP
Japan
Prior art keywords
logic
semiconductor integrated
integrated circuit
designing
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.)
Pending
Application number
JP10339555A
Other languages
Japanese (ja)
Inventor
Yoshitaka Ueda
佳孝 上田
Isao Ogura
功 小椋
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP10339555A priority Critical patent/JP2000163462A/en
Publication of JP2000163462A publication Critical patent/JP2000163462A/en
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To prevent a timing violation without increasing a design TAT(turn- around time) and to provide the designing method for a semiconductor integrated circuit which can be highly integrated. SOLUTION: The structures of all logic circuits shown in a logic diagram are retrieved and only flip-flops are selected out of them; and only logical connection places of flip-flop direct connection structures where a following flip-flop 12 is connected directly to a precedent flip-flop 11 are selected and only logical connection places where the fan-out number of the precedent flip- flop 11 is less than a specific number (n) are selected as logical connection places where a timing violation is possibly caused. Then a delay circuit is inserted into a logical connection place to correct the logic diagram. For example, logical connection places where the flip-flop direct connection structure is constituted and the fan-out number of the precedent flip-flop 11 is less than the specific number (n) are selected and a delay circuit 14 is inserted into a data signal line DL as the output of the precedent flip-flop 11.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、半導体集積回路の
設計方法およびその設計方法をコンピュータシステムに
実行させるためのプログラムが記録されたコンピュータ
で読み取り可能な記録媒体に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for designing a semiconductor integrated circuit and a computer-readable recording medium on which a program for causing a computer system to execute the method is recorded.

【0002】[0002]

【従来の技術】デジタル集積回路に分類されるLSIの
うち、メモリデバイスを除くあらゆる集積回路の総称で
ある論理LSIの設計フローでは、仕様設計→機能設計
→論理設計→回路設計→レイアウト設計の順序で各設計
工程が行われる。
2. Description of the Related Art Among LSIs classified as digital integrated circuits, in a logic LSI design flow, which is a generic term for all integrated circuits except for memory devices, the order of specification design → function design → logic design → circuit design → layout design Each design process is performed.

【0003】仕様設計では、論理LSIの具体的な用
途,価格,目標性能,内蔵機能,従来品種との互換性と
いった要素について実現可能性を吟味し、要素間の整合
性を考慮しつつ外部仕様としてまとめる。機能設計で
は、まず、データの流れと制御の考え方を主要ハードウ
ェアと共に表現した機能ブロック図を作成し、次に、機
能ブロック図に基づいてハードウェア記述言語を用いて
全機能を詳細に記述した詳細機能記述を作成し、続い
て、詳細機能記述を機能シミュレータにかけて機能検証
を行う。
In the specification design, the feasibility of elements such as the specific use of the logic LSI, price, target performance, built-in functions, and compatibility with conventional products is examined, and external specifications are considered while considering the consistency between the elements. Put together. In the functional design, we first created a functional block diagram expressing the concept of data flow and control together with the main hardware, and then described all functions in detail using a hardware description language based on the functional block diagram. A detailed function description is created, and then the detailed function description is applied to a function simulator to perform function verification.

【0004】論理設計では、機能ブロック図および詳細
機能記述を具体的なハードウェアに変換してロジック図
を作成する。レイアウト設計では、まず、ロジック図に
表現された論理をパターン設計が可能なレベルまで具体
化する回路設計を行って回路図を作成し、次に、回路図
に基づいてパターン設計を行ってパターン図を作成し、
続いて、パターン図に基づいて、回路図を構成する各素
子や素子間を接続する配線を半導体基板上に具体化する
ためのマスクを作成する。
In the logical design, a functional block diagram and detailed function description are converted into specific hardware to create a logical diagram. In the layout design, first, create a circuit diagram by making a circuit design that embodies the logic expressed in the logic diagram to a level at which pattern design is possible, and then perform a pattern design based on the circuit diagram. To create
Subsequently, based on the pattern diagram, a mask for embodying each element constituting the circuit diagram and the wiring connecting the elements on the semiconductor substrate is created.

【0005】[0005]

【発明が解決しようとする課題】半導体基板上に作成さ
れた実際の論理LSIでは、配線抵抗,配線容量,負荷
容量などによって配線遅延が生じ、その配線遅延によっ
てデータ遅延やクロック遅延が発生することがある。例
えば、関連する複数のフリップフロップに入力されるク
ロックに伝搬時間差(クロックスキュー)が発生する
と、各フリップフロップの正常な同期動作が阻害され
て、データホールド違反が起こるおそれがある。
In an actual logic LSI formed on a semiconductor substrate, wiring delay occurs due to wiring resistance, wiring capacitance, load capacitance, and the like, and the data delay and clock delay occur due to the wiring delay. There is. For example, when a propagation time difference (clock skew) occurs between clocks input to a plurality of related flip-flops, a normal synchronization operation of each flip-flop is disturbed and a data hold violation may occur.

【0006】このように、データ遅延やクロック遅延が
発生すると、論理回路のクロック同期動作が阻害される
タイミング違反が起こり、機能設計で作成した詳細機能
記述を満足しなくなるために、仕様設計で作成した外部
仕様を実現できなくなる。そこで、タイミング違反を防
止するために、以下の方法が行われていた。
As described above, when a data delay or a clock delay occurs, a timing violation that hinders the clock synchronization operation of the logic circuit occurs, and the detailed function description created by the function design is not satisfied. Can not be realized. Therefore, the following method has been used to prevent timing violation.

【0007】レイアウト設計後にタイミング解析を行
う方法 まず、レイアウト設計後に実際の配線遅延を求め、その
配線遅延に基づいてタイミング解析を行うことにより、
タイミング違反を起こしているレイアウト箇所を探し出
す。次に、当該レイアウト箇所を考慮して再び論理設計
を行い、タイミングを満足させるように論理を変更す
る。続いて、変更された論理に基づいて、再びレイアウ
ト設計を行う。
Method of Performing Timing Analysis After Layout Design First, actual wiring delay is determined after layout design, and timing analysis is performed based on the wiring delay.
Find the layout part that is causing the timing violation. Next, the logic design is performed again in consideration of the layout portion, and the logic is changed so as to satisfy the timing. Subsequently, a layout design is performed again based on the changed logic.

【0008】この方法では、最初のレイアウト設計にお
けるタイミング違反については2回目のレイアウト設計
で解決されるものの、2回目のレイアウト設計において
新たなタイミング違反が起こることがある。そのため、
タイミング違反が完全に解決されるまで、論理設計とレ
イアウト設計を繰り返し行う必要があり、設計TAT
(Turn Around Time)が増大するという問題があった。
In this method, a timing violation in the first layout design is solved in the second layout design, but a new timing violation may occur in the second layout design. for that reason,
Until the timing violation is completely resolved, it is necessary to repeatedly perform logic design and layout design.
(Turn Around Time) increases.

【0009】論理設計時にタイミング解析を行う方法 論理設計において、レイアウト後に実際に生じるであろ
う配線遅延を予測し、その配線遅延に基づいてタイミン
グ解析を行うことにより、タイミング解析を起こすと予
測される論理接続箇所を探し出し、タイミングを満足さ
せるように当該論理接続箇所に遅延回路(遅延セル,バ
ッファなど)を挿入する。
Method of Performing Timing Analysis During Logic Design In logic design, it is predicted that a timing analysis will occur by estimating a wiring delay that will actually occur after layout and performing a timing analysis based on the wiring delay. A logical connection is searched for and a delay circuit (delay cell, buffer, etc.) is inserted into the logical connection so as to satisfy the timing.

【0010】この方法は、一般に論理合成ソフトウェア
上で実行され、そのための論理合成ソフトウェアも種々
販売されているため、比較的簡単に行うことができる。
しかし、この方法では、予測した配線遅延に基づいてタ
イミング解析を行うため、実際の配線遅延に対して対処
できるとは限らず、タイミング違反を確実に防止するの
が難しいという問題があった。
This method is generally executed on logic synthesis software, and various types of logic synthesis software are sold on the market. Therefore, the method can be performed relatively easily.
However, in this method, since timing analysis is performed based on the predicted wiring delay, there is a problem that it is not always possible to deal with an actual wiring delay, and it is difficult to reliably prevent a timing violation.

【0011】また、タイミング違反を起こすと予測され
る論理接続箇所の全てに遅延回路を挿入する場合(すな
わち、タイミング違反のワーストケースを考慮して遅延
回路を挿入する場合)、予測した配線遅延や論理構造に
よっては、実際にはタイミング違反を起こさない論理接
続箇所にも遅延回路を挿入することになり、その不必要
な遅延回路の分だけ論理回路数(ゲート数)が増加して
回路規模が増大するため、論理LSIの高集積化を阻害
するという問題があった。
In addition, when a delay circuit is inserted into all of the logical connection points where a timing violation is predicted to occur (ie, when a delay circuit is inserted in consideration of the worst case of a timing violation), the predicted wiring delay or Depending on the logical structure, a delay circuit is inserted at a logical connection point where a timing violation does not actually occur, and the number of logic circuits (the number of gates) increases by the unnecessary delay circuit, thereby increasing the circuit scale. Because of the increase, there is a problem that high integration of the logic LSI is hindered.

【0012】このように、従来行われていたタイミング
違反の防止方法にはそれぞれ問題があった。その
上、タイミング解析を行うには、論理情報をタイミング
・シミュレータに入力した後にタイミング・シミュレー
タを動作させるため、その動作に要する時間に加えて、
論理情報を入力するための手間と時間を要することか
ら、設計TATが増大するという問題があった。
As described above, the conventional methods for preventing timing violations have problems. In addition, in order to perform timing analysis, the timing simulator is operated after inputting logical information into the timing simulator, so that in addition to the time required for the operation,
Since it takes time and effort to input logical information, there is a problem that the design TAT increases.

【0013】本発明は上記問題点を解決するためになさ
れたものであって、その目的は、設計TATを増大させ
ることなくタイミング違反を防止すると共に高集積化が
可能な半導体集積回路の設計方法を提供することにあ
る。また、本発明の別の目的は、前記半導体集積回路の
設計方法をコンピュータシステムに実行させるためのプ
ログラムが記録されたコンピュータで読み取り可能な記
録媒体を提供することにある。
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to provide a method of designing a semiconductor integrated circuit capable of preventing a timing violation and increasing the degree of integration without increasing the design TAT. Is to provide. Another object of the present invention is to provide a computer-readable recording medium on which a program for causing a computer system to execute the method for designing a semiconductor integrated circuit is recorded.

【0014】[0014]

【課題を解決するための手段】かかる目的を達成するた
めになされた請求項1に記載の発明は、半導体集積回路
を構成する全ての論理回路の構造と各論理回路間の全て
の接続情報とを解析する第1の処理と、第1の処理の解
析結果に基づき、予め設定しておいた条件を参照するこ
とにより、タイミング違反を起こす可能性のある論理接
続箇所を抽出する第2の処理と、第2の処理で抽出され
た論理接続箇所のタイミング違反を防止するための論理
変更を行う第3の処理とを備えた半導体集積回路の設計
方法をその要旨とする。
According to the first aspect of the present invention, there is provided a semiconductor integrated circuit having the structure of all logic circuits and all connection information between the logic circuits. And a second process of extracting a logical connection point that may cause a timing violation by referring to a preset condition based on an analysis result of the first process. The gist of the present invention is a method of designing a semiconductor integrated circuit including: a third process of performing a logic change for preventing a timing violation of a logical connection portion extracted in the second process.

【0015】従って、本発明によれば、タイミング解析
を行うことなく論理設計を修正してタイミング違反を防
止するため、前記したタイミング違反の防止方法の
問題を全て回避することが可能になる上に、タイミング
解析に要する手間や時間が不要になるため、設計TAT
を短縮することができる。また、本発明によれば、不必
要な論理変更を行わないため、論理変更に伴う回路規模
の増大を抑えることが可能になり、論理LSIの高集積
化を図ることができる。
Therefore, according to the present invention, in order to prevent a timing violation by correcting a logic design without performing a timing analysis, it is possible to avoid all the problems of the method for preventing a timing violation described above. Since the time and effort required for timing analysis are not required, the design TAT
Can be shortened. Further, according to the present invention, unnecessary logic changes are not performed, so that it is possible to suppress an increase in circuit scale due to the logic changes, and to achieve high integration of the logic LSI.

【0016】ところで、請求項2に記載の発明のよう
に、請求項1に記載の半導体集積回路の設計方法におい
て、前記第3の処理におけるタイミング違反を防止する
ための論理変更は、前記第2の処理で抽出された論理接
続箇所であるデータ信号線に対して遅延回路を挿入する
ことにより、前段の論理回路から次段の論理回路へのデ
ータ伝搬時間を遅延させるようにしてもよい。
According to a second aspect of the present invention, in the method of designing a semiconductor integrated circuit according to the first aspect, the logic change for preventing a timing violation in the third process is performed by the second process. By inserting a delay circuit into the data signal line which is the logical connection point extracted in the above processing, the data propagation time from the preceding logic circuit to the next logic circuit may be delayed.

【0017】また、請求項3に記載の発明のように、請
求項1または請求項2に記載の半導体集積回路の設計方
法において、前記第3の処理におけるタイミング違反を
防止するための論理変更は、前記第2の処理で抽出され
た論理接続箇所の前段の論理回路のクロック入力端子に
接続されるクロック信号線に対して遅延回路を挿入する
ことにより、前段の論理回路に対するクロック伝搬時間
を遅延させるようにしてもよい。
According to a third aspect of the present invention, in the method of designing a semiconductor integrated circuit according to the first or second aspect, the logic change for preventing a timing violation in the third processing is performed. By inserting a delay circuit into the clock signal line connected to the clock input terminal of the logic circuit at the preceding stage of the logical connection point extracted at the second processing, the clock propagation time to the logic circuit at the preceding stage is delayed. You may make it do.

【0018】また、請求項4に記載の発明のように、請
求項1〜3のいずれか1項に記載の半導体集積回路の設
計方法において、前記第2の処理における予め設定して
おいた条件として、タイミング違反を起こす可能性のあ
る論理接続箇所の前段の論理回路のファンアウト数を用
いてもよい。
According to a fourth aspect of the present invention, in the method of designing a semiconductor integrated circuit according to any one of the first to third aspects, the condition set in advance in the second processing is set. Alternatively, the number of fan-outs of the logic circuit at the preceding stage of the logical connection location that may cause a timing violation may be used.

【0019】そして、請求項5に記載の発明のように、
請求項4に記載の半導体集積回路の設計方法において、
前記ファンアウト数に対応して、前段の論理回路から次
段の論理回路へのデータ伝搬時間または前段の論理回路
に対するクロック伝搬時間を遅延させるようにしてもよ
い。
Then, as in the invention according to claim 5,
The method for designing a semiconductor integrated circuit according to claim 4,
The data propagation time from the preceding logic circuit to the next logic circuit or the clock propagation time to the preceding logic circuit may be delayed in accordance with the fanout number.

【0020】また、請求項6に記載の発明のように、請
求項1〜3のいずれか1項に記載の半導体集積回路の設
計方法において、前記第2の処理における予め設定して
おいた条件として、タイミング違反を起こす可能性のあ
る論理接続箇所の前段の論理回路と次段の論理回路との
間に直列接続される段間論理回路の個数を用いてもよ
い。
According to a sixth aspect of the present invention, in the method of designing a semiconductor integrated circuit according to any one of the first to third aspects, the condition set in advance in the second processing is set. Alternatively, the number of inter-stage logic circuits connected in series between the logic circuit at the preceding stage and the logic circuit at the next stage of the logical connection location that may cause a timing violation may be used.

【0021】そして、請求項7に記載の発明のように、
請求項6に記載の半導体集積回路の設計方法において、
前記段間論理回路の個数に対応して、前段の論理回路か
ら次段の論理回路へのデータ伝搬時間または前段の論理
回路に対するクロック伝搬時間を遅延させるようにして
もよい。
And, as in the invention according to claim 7,
The method for designing a semiconductor integrated circuit according to claim 6,
The data propagation time from the preceding logic circuit to the next logic circuit or the clock propagation time to the preceding logic circuit may be delayed according to the number of the interstage logic circuits.

【0022】また、請求項8に記載の発明のように、請
求項1〜3のいずれか1項に記載の半導体集積回路の設
計方法において、前記第2の処理における予め設定して
おいた条件として、前段の論理回路と次段の論理回路と
が直結される論理接続箇所をタイミング違反を起こす可
能性のある論理接続箇所として抽出してもよい。
According to another aspect of the present invention, in the method for designing a semiconductor integrated circuit according to any one of the first to third aspects, the condition set in advance in the second processing is set. Alternatively, a logical connection point where the preceding logic circuit and the next logic circuit are directly connected may be extracted as a logical connection point that may cause a timing violation.

【0023】これは、前段の論理回路と次段の論理回路
とが直結される直結型の論理接続箇所は、前段の論理回
路と次段の論理回路との間に段間論理回路が接続される
ものに比べて、タイミング違反(特に、データホールド
違反)を起こす可能性が極めて高いためである。そし
て、直結型の論理接続箇所であるか否かを判別するに
は、段間論理回路の有無を判断するだけでよいため、前
記第2の処理における論理接続箇所の抽出作業が非常に
簡単であり、容易に実施することができる。
This is a direct connection type logical connection point where the previous stage logic circuit is directly connected to the next stage logic circuit, and an interstage logic circuit is connected between the previous stage logic circuit and the next stage logic circuit. This is because the possibility of a timing violation (particularly, a data hold violation) is extremely high as compared with the case of the first embodiment. Then, it is only necessary to determine the presence or absence of an interstage logic circuit to determine whether or not the logical connection portion is a direct connection type logical connection portion. Therefore, the operation of extracting the logical connection portion in the second process is very simple. Yes, and can be easily implemented.

【0024】ところで、請求項9に記載の発明のよう
に、請求項1〜8のいずれか1項に記載の半導体集積回
路の設計方法において、論理設計により作成したロジッ
ク図に対して論理変更を行うことにより当該ロジック図
を修正するようにしてもよい。また、請求項10に記載
の発明のように、請求項1〜8のいずれか1項に記載の
半導体集積回路の設計方法において、レイアウト設計に
て回路図またはパターン図に対して論理変更を行うこと
により当該回路図またはパターン図を修正するようにし
てもよい。
According to a ninth aspect of the present invention, in the method of designing a semiconductor integrated circuit according to any one of the first to eighth aspects, a logic change is made to a logic diagram created by logic design. By doing so, the logic diagram may be modified. According to a tenth aspect of the present invention, in the method of designing a semiconductor integrated circuit according to any one of the first to eighth aspects, a logic change is performed on a circuit diagram or a pattern diagram in a layout design. Thus, the circuit diagram or the pattern diagram may be modified.

【0025】次に、請求項11に記載の発明は、請求項
1〜10のいずれか1項に記載の半導体集積回路の設計
方法をコンピュータシステムに実行させるためのプログ
ラムが記録されたコンピュータで読み取り可能な記録媒
体を提供するものである。つまり、請求項1〜10のい
ずれか1項に記載の発明を実行する機能は、コンピュー
タシステムで実行されるプログラムとして備えることが
できる。このようなプログラムの場合、例えば、半導体
メモリ,ハードディスク,フロッピーディスク,データ
カード(ICカード,磁気カードなど),光ディスク
(CD−ROM,DVDなど),光磁気ディスク(MD
など),相変化ディスク,磁気テープなどのコンピュー
タで読み取り可能な記録媒体に記録し、必要に応じてコ
ンピュータシステムにロードして起動することにより用
いることができる。この他、ROMやバックアップRA
Mをコンピュータで読み取り可能な記録媒体として前記
プログラムを記録しておき、このROMあるいはバック
アップRAMをコンピュータシステムに組み込んで用い
てもよい。
Next, an eleventh aspect of the present invention is directed to a computer-readable storage medium storing a program for causing a computer system to execute the semiconductor integrated circuit designing method according to any one of the first to tenth aspects. It provides a possible recording medium. That is, the function of executing the invention described in any one of claims 1 to 10 can be provided as a program executed by a computer system. In the case of such a program, for example, semiconductor memory, hard disk, floppy disk, data card (IC card, magnetic card, etc.), optical disk (CD-ROM, DVD, etc.), magneto-optical disk (MD
Etc.), a phase change disk, a magnetic tape, or another computer-readable recording medium, and can be used by loading it into a computer system and activating it as necessary. In addition, ROM and backup RA
The above program may be recorded as M on a computer-readable recording medium, and the ROM or the backup RAM may be incorporated in a computer system and used.

【0026】[0026]

【発明の実施の形態】以下、本発明を具体化した一実施
形態を図面と共に説明する。図1は、本実施形態におけ
る半導体集積回路の設計方法を説明するためのフローチ
ャートである。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a flowchart illustrating a method for designing a semiconductor integrated circuit according to the present embodiment.

【0027】本実施形態における半導体集積回路の設計
方法を実行する機能は、コンピュータシステムで実行さ
れるプログラムとして備えることができる。このような
プログラムは、コンピュータで読みとり可能な各種記録
媒体(例えば、半導体メモリ,ハードディスク,フロッ
ピー(登録商標)ディスク,データカード(ICカー
ド,磁気カードなど),光ディスク(CD−ROM,D
VDなど),光磁気ディスク(MDなど),相変化ディ
スク,磁気テープなど)に記録し、必要に応じてコンピ
ュータシステムにロードして起動することにより用いる
ことができる。または、ROMやバックアップRAMを
コンピュータで読み取り可能な記録媒体として前記プロ
グラムを記録しておき、このROMあるいはバックアッ
プRAMをコンピュータシステムに組み込んで用いても
よい。
The function of executing the method of designing a semiconductor integrated circuit according to the present embodiment can be provided as a program executed by a computer system. Such programs are stored in various computer-readable recording media (for example, semiconductor memory, hard disk, floppy (registered trademark) disk, data card (IC card, magnetic card, etc.), optical disk (CD-ROM, D-ROM).
VD, etc.), a magneto-optical disk (MD, etc.), a phase change disk, a magnetic tape, etc.), and can be used by loading it into a computer system as necessary and starting up. Alternatively, the program may be recorded in a ROM or a backup RAM as a computer-readable recording medium, and the ROM or the backup RAM may be incorporated in a computer system and used.

【0028】本実施形態の論理LSIの設計フローにお
いても、従来と同様に、仕様設計→機能設計→論理設計
の順序で各設計工程を行い、論理設計によりロジック図
を作成する。そして、図1に示すフローチャートを実行
する。まず、ステップ(以下、Sという)1000にお
いて、論理設計により作成したロジック図のデータを入
力する。
In the design flow of the logic LSI of the present embodiment, similarly to the conventional case, each design process is performed in the order of specification design → function design → logic design, and a logic diagram is created by logic design. Then, the flowchart shown in FIG. 1 is executed. First, in step (hereinafter, referred to as S) 1000, data of a logic diagram created by logic design is input.

【0029】次に、S2000において、ロジック図に
表される全ての論理回路の構造(ネット情報)と各論理
回路間の全ての接続情報(ファンアウト数)とを解析す
る。次に、S3000において、S2000における解
析結果に基づき、予め設定しておいた条件を参照するこ
とにより、タイミング違反を起こす可能性のある論理接
続箇所(ネット)を抽出する。
Next, in S2000, the structures (net information) of all the logic circuits shown in the logic diagram and all the connection information (number of fan-outs) between the logic circuits are analyzed. Next, in S3000, based on the analysis result in S2000, by referring to preset conditions, a logical connection portion (net) that may cause a timing violation is extracted.

【0030】ここで、論理回路の構造には、図2および
図3に示す例がある。図2(a)に示す例では、前段の
フリップフロップ11に対して次段のフリップフロップ
12が1つだけ直結されている。図2(b)に示す例で
は、各フリップフロップ11,12間に段間論理回路と
してのインバータ13がM個(Mは正の整数)直列に接
続されている。
Here, examples of the structure of the logic circuit are shown in FIGS. In the example shown in FIG. 2A, only one flip-flop 12 in the next stage is directly connected to the flip-flop 11 in the previous stage. In the example shown in FIG. 2B, M inverters 13 (M is a positive integer) are connected in series between the flip-flops 11 and 12 as an interstage logic circuit.

【0031】図3(a)に示す例では、前段のフリップ
フロップ11に対して次段のフリップフロップ12が1
つ直結されると共に、その次段のフリップフロップ12
と並列に(N−1)個(Nは正の整数)の各種論理回路
15が前段のフリップフロップ11に対して直結されて
いる。つまり、前段のフリップフロップ11に対して、
次段のフリップフロップ12および各種論理回路15が
合わせてN個直結されている。この場合、フリップフロ
ップ11のファンアウト数はNになる。
In the example shown in FIG. 3A, the flip-flop 12 in the next stage is 1
And the next stage flip-flop 12
In parallel, (N-1) (N is a positive integer) various logic circuits 15 are directly connected to the flip-flop 11 in the preceding stage. That is, for the flip-flop 11 in the preceding stage,
A total of N flip-flops 12 and various logic circuits 15 at the next stage are directly connected. In this case, the fan-out number of the flip-flop 11 is N.

【0032】図3(b)に示す例は、図2(b)に示す
例と図3(a)に示す例とが併用されたものであり、前
段のフリップフロップ11と次段のフリップフロップ1
2との間に、段間論理回路としてのインバータ13がM
個直列に接続されると共に、各種論理回路15が合計
(N−1)個接続されている。つまり、前段のフリップ
フロップ11に対して、段間論理回路としてのインバー
タ13を介し、次段のフリップフロップ12および各種
論理回路15が合わせてN個されている。この場合も、
フリップフロップ11のファンアウト数はNになる。
The example shown in FIG. 3 (b) is a combination of the example shown in FIG. 2 (b) and the example shown in FIG. 3 (a). 1
2, an inverter 13 as an inter-stage logic circuit has M
Are connected in series, and a total of (N-1) logic circuits 15 are connected. That is, N flip-flops 12 and various logic circuits 15 in the next stage are combined with the preceding flip-flop 11 via the inverter 13 as an inter-stage logic circuit. Again,
The fan-out number of the flip-flop 11 becomes N.

【0033】尚、フリップフロップ11,12の種類に
は、非同期式,同期化,同期式の3種類があるが、本実
施形態はいずれの種類にも適用することができる。非同
期式フリップフロップとは同期動作のできないものを指
す。同期化フリップフロップとは、クロック入力端子
(同期入力端子)をもち、そのクロック入力端子にHレ
ベルのクロックが入力されているときにのみ動作するも
のを指す。同期式フリップフロップとは、クロック入力
端子をもち、そのクロック入力端子に入力されたクロッ
クの立ち上がりのタイミングにのみ動作するもの(ポジ
ティブエッジトリガ形)や、クロックの立ち下がりのタ
イミングにのみ動作するもの(ネガティブエッジトリガ
形)を指す。そして、同期式フリップフロップには、R
Sフリップフロップ,Dフリップフロップ,JKフリッ
プフロップなどがある。一般に、非同期式および同期化
のフリップフロップをラッチと総称し、同期式フリップ
フロップのことを単にフリップフロップと呼んでいる。
There are three types of flip-flops 11, 12: asynchronous, synchronous, and synchronous, but the present embodiment can be applied to any type. Asynchronous flip-flops are those that cannot perform synchronous operations. The synchronizing flip-flop has a clock input terminal (synchronization input terminal) and operates only when an H-level clock is input to the clock input terminal. Synchronous flip-flops have a clock input terminal and operate only at the rising edge of the clock input to the clock input terminal (positive edge trigger type) or those that operate only at the falling edge of the clock (Negative edge trigger type). The synchronous flip-flop has R
There are an S flip-flop, a D flip-flop, a JK flip-flop, and the like. Generally, asynchronous and synchronous flip-flops are collectively referred to as latches, and synchronous flip-flops are simply referred to as flip-flops.

【0034】図4は、S3000における処理の詳細の
一例を説明するためのフローチャートである。まず、S
3010において、ロジック図に表される全ての論理回
路の構造(ネット情報)を検索し、その中からフリップ
フロップのみを選出する。
FIG. 4 is a flowchart for explaining an example of the details of the processing in S3000. First, S
At 3010, the structures (net information) of all the logic circuits shown in the logic diagram are searched, and only flip-flops are selected from them.

【0035】次に、S3020において、選出したフリ
ップフロップのうち、前段のフリップフロップ11に対
して次段のフリップフロップ12が直結されているフリ
ップフロップ直結構造の論理接続箇所のみを選出する。
次に、S3030において、選出したフリップフロップ
直結構造の論理接続箇所のうち、前段のフリップフロッ
プ11のファンアウト数(ネットの接続数)が所定数n
以下の論理接続箇所のみを選出する。このS3030に
て選出された論理接続箇所が、タイミング違反を起こす
可能性のある論理接続箇所となる。そして、図1に示す
メインルーチンに復帰してS4000へ移行する。
Next, in S3020, of the selected flip-flops, only the logical connection portions of the flip-flop direct connection structure in which the next-stage flip-flop 12 is directly connected to the preceding flip-flop 11 are selected.
Next, in S3030, among the selected logical connection portions of the flip-flop direct connection structure, the fan-out number (the number of net connections) of the preceding flip-flop 11 is a predetermined number n.
Only the following logical connection points are selected. The logical connection point selected in S3030 is a logical connection point that may cause a timing violation. Then, the process returns to the main routine shown in FIG. 1 and shifts to S4000.

【0036】S4000において、S3000にて抽出
したタイミング違反を起こす可能性のある論理接続箇所
(S3030にて選出された論理接続箇所)に対して、
それぞれ遅延回路を挿入し、その遅延回路に基づいてS
1000にて入力されたロジック図を修正して完成させ
る。
In S4000, the logical connection point (the logical connection point selected in S3030) which may cause a timing violation extracted in S3000 is
Each delay circuit is inserted, and based on the delay circuit, S
The logic diagram input at 1000 is corrected and completed.

【0037】すなわち、S3030では、図5(a)に
示すように、フリップフロップ直結構造で且つ前段のフ
リップフロップ11のファンアウト数が所定数n以下の
論理接続箇所を選出する。そして、S4000では、図
5(b)に示すように、前段のフリップフロップ11の
出力であるデータ信号線DLに遅延回路14を挿入す
る。
That is, in S3030, as shown in FIG. 5A, a logical connection portion having a flip-flop direct connection structure and a fan-out number of the preceding flip-flop 11 of a predetermined number n or less is selected. Then, in S4000, as shown in FIG. 5B, the delay circuit 14 is inserted into the data signal line DL which is the output of the flip-flop 11 in the preceding stage.

【0038】尚、遅延回路14としては、遅延セルまた
はバッファを用いればよい。遅延セルは、複数個のイン
バータを直列に接続して構成される。バッファとして
は、データの入出力に所定の遅延時間が生じる各種回路
(例えば、波形整形回路、駆動回路など)があげられ
る。
Incidentally, as the delay circuit 14, a delay cell or a buffer may be used. The delay cell is configured by connecting a plurality of inverters in series. Examples of the buffer include various circuits (for example, a waveform shaping circuit, a driving circuit, and the like) in which a predetermined delay time occurs in inputting and outputting data.

【0039】その後、S4000にて修正したロジック
図を用いて、従来と同様にレイアウト設計を行う。この
ように、図4および図5に示す例においては、論理設計
により作成したロジック図に表される全ての論理回路の
構造(ネット情報)と各論理回路間の全ての接続情報と
を解析し、フリップフロップ直結構造で且つ前段のフリ
ップフロップ11のファンアウト数(ネットの接続数)
が所定数n以下の論理接続箇所(ネット)を抽出し、そ
の論理接続箇所に遅延回路14を挿入するように論理変
更してロジック図を修正している。
Thereafter, using the logic diagram modified in S4000, a layout design is performed in the same manner as in the related art. As described above, in the examples shown in FIGS. 4 and 5, the structures (net information) of all the logic circuits and all the connection information between the logic circuits represented in the logic diagrams created by the logic design are analyzed. , The number of fan-outs of the flip-flops 11 directly connected to the flip-flop structure and the number of fan-outs (the number of connected nets)
Extracts logical connection points (nets) having a predetermined number n or less and corrects the logic diagram by changing the logic so that the delay circuit 14 is inserted into the logical connection points.

【0040】ここで、各フリップフロップ11,12が
直結構造の場合は、各フリップフロップ11,12間に
段間論理回路としてのインバータ13が接続されている
場合のように前段のフリップフロップ11の出力がイン
バータ13にて遅延されないため、前段のフリップフロ
ップ11の出力が速やかに次段のフリップフロップ12
に入力される。従って、各フリップフロップ11,12
に入力されるクロックCKの伝搬時間差(クロックスキ
ュー)が原因となり、特に、各フリップフロップ11,
12が直結構造の場合は、データホールド違反(タイミ
ング違反)が起こり易くなる。
When the flip-flops 11 and 12 have a direct connection structure, the flip-flop 11 of the preceding stage is connected between the flip-flops 11 and 12 as in the case where an inverter 13 is connected between the flip-flops 11 and 12. Since the output is not delayed by the inverter 13, the output of the flip-flop 11 in the preceding stage is promptly output from the flip-flop 12 in the next stage.
Is input to Therefore, each flip-flop 11, 12
Is caused by a propagation time difference (clock skew) of the clock CK input to the flip-flops 11,
When 12 has a direct connection structure, a data hold violation (timing violation) is likely to occur.

【0041】また、前段のフリップフロップ11のファ
ンアウト数が小さいほど、前段のフリップフロップ11
の出力に対する負荷容量が小さくなるため、前段のフリ
ップフロップ11の出力が速やかに次段のフリップフロ
ップ12に入力される。従って、各フリップフロップ1
1,12に入力されるクロックCKの伝搬時間差(クロ
ックスキュー)が原因となり、特に、前段のフリップフ
ロップ11のファンアウト数が小さいほど、データホー
ルド違反(タイミング違反)が起こり易くなる。
The smaller the fan-out number of the preceding flip-flop 11, the smaller the number of fan-outs of the preceding flip-flop 11.
, The output capacitance of the preceding flip-flop 11 is immediately input to the next flip-flop 12. Therefore, each flip-flop 1
Due to the propagation time difference (clock skew) between the clocks CK input to the clock signals 1 and 12, the data hold violation (timing violation) is more likely to occur as the number of fan-outs of the preceding flip-flop 11 decreases.

【0042】そのため、図4および図5に示す例では、
フリップフロップ直結構造で且つ前段のフリップフロッ
プ11のファンアウト数が所定数n以下の論理接続箇所
がタイミング違反を起こす可能性が大きいとして、当該
論理接続箇所に遅延回路14を挿入することにより、前
段のフリップフロップ11の出力を遅延させて次段のフ
リップフロップ12に入力し、データホールド違反の発
生を防止している。
Therefore, in the examples shown in FIGS. 4 and 5,
By assuming that there is a high possibility that a logical connection point having a flip-flop direct connection structure and a fan-out number of the preceding flip-flop 11 of which the fan-out number is equal to or less than a predetermined number n causes a timing violation, the delay circuit 14 is inserted into the logical connection point. The delay of the output of the flip-flop 11 is input to the flip-flop 12 of the next stage to prevent occurrence of a data hold violation.

【0043】ところで、フリップフロップ直結構造の論
理接続箇所であるか否かを判別するには段間論理回路の
有無を判断するだけでよいため、前記S3020の処理
は非常に簡単であり、容易に実施することができる。
尚、前記したファンアウト数の所定数nは、次段のフリ
ップフロップ12と並列に接続される各種論理回路15
の個数を変化させた際のタイミング違反の発生度合いを
求める実験により、適宜な値に設定すればよい。
By the way, since it is only necessary to judge the presence or absence of the interstage logic circuit to judge whether or not it is the logical connection part of the flip-flop direct connection structure, the process of S3020 is very simple and easy. Can be implemented.
Note that the predetermined number n of the fan-out numbers is determined by various logic circuits 15 connected in parallel with the flip-flop 12 of the next stage.
May be set to an appropriate value by an experiment for determining the degree of occurrence of a timing violation when the number is changed.

【0044】また、前記したファンアウト数の所定数n
が大きくなるほど、挿入する遅延回路14の遅延時間が
短くなるようにしてもよい。すなわち、遅延時間の異な
る複数の遅延回路14を予め用意しておき、前記したフ
ァンアウト数の所定数nに対応して最適な遅延時間の遅
延回路14を選択し、その選択した遅延回路14を前記
論理接続箇所に挿入すればよい。
The predetermined number n of the fan-out numbers described above
, The delay time of the delay circuit 14 to be inserted may be shortened. That is, a plurality of delay circuits 14 having different delay times are prepared in advance, and a delay circuit 14 having an optimum delay time is selected corresponding to the predetermined number n of the fan-out numbers. What is necessary is just to insert in the said logical connection part.

【0045】図6は、S3000における処理の詳細の
別の例を説明するためのフローチャートである。まず、
S3110において、図4に示す例におけるS3010
と同じ処理を行う。
FIG. 6 is a flowchart for explaining another example of the details of the processing in S3000. First,
In S3110, S3010 in the example shown in FIG.
Performs the same processing as.

【0046】次に、S3120において、S3110に
て選出したフリップフロップのうち、各フリップフロッ
プ11,12間に接続されている段間接続回路(例え
ば、インバータ13など)の個数が所定数m以下の論理
接続箇所のみを選出する。次に、S3130において、
S3120にて選出した論理接続箇所のうち、前段のフ
リップフロップ11のファンアウト数(ネットの接続
数)が所定数n以下の論理接続箇所のみを選出する。こ
のS3030にて選出された論理接続箇所が、タイミン
グ違反を起こす可能性のある論理接続箇所となる。そし
て、図1に示すメインルーチンに復帰してS4000へ
移行する。
Next, in S3120, among the flip-flops selected in S3110, the number of inter-stage connection circuits (for example, inverters 13) connected between the flip-flops 11 and 12 is equal to or less than a predetermined number m. Select only logical connection points. Next, in S3130,
From the logical connection points selected in S3120, only the logical connection points where the fan-out number (the number of net connections) of the flip-flop 11 in the preceding stage is equal to or less than the predetermined number n are selected. The logical connection point selected in S3030 is a logical connection point that may cause a timing violation. Then, the process returns to the main routine shown in FIG. 1 and shifts to S4000.

【0047】すなわち、S3110では、図7(a)に
示すように、段間接続回路(インバータ13)の個数が
所定数m以下で且つ前段のフリップフロップ11のファ
ンアウト数がn以下の論理接続箇所を選出する。そし
て、S4000では、図7(b)に示すように、前段の
フリップフロップ11の出力であるデータ信号線DLに
遅延回路14を挿入する。
That is, in S3110, as shown in FIG. 7A, the number of interstage connection circuits (inverters 13) is a predetermined number m or less and the number of fan-outs of the preceding flip-flop 11 is n or less. Select a location. Then, in S4000, as shown in FIG. 7B, the delay circuit 14 is inserted into the data signal line DL which is the output of the flip-flop 11 in the preceding stage.

【0048】このように、図6および図7に示す例にお
いては、論理設計により作成したロジック図に表される
全ての論理回路の構造(ネット情報)と各論理回路間の
全ての接続情報とを解析し、前段のフリップフロップ1
1と次段のフリップフロップ12との間に直列に接続さ
れている段間接続回路(インバータ13)の個数が所定
数m以下で且つ前段のフリップフロップ11のファンア
ウト数(ネットの接続数)が所定数n以下の論理接続箇
所(ネット)を抽出し、その論理接続箇所に遅延回路1
4を挿入するように論理変更してロジック図を修正して
いる。
As described above, in the examples shown in FIGS. 6 and 7, the structures (net information) of all the logic circuits represented in the logic diagrams created by the logic design and all the connection information between the logic circuits are included. Is analyzed, and the flip-flop 1
The number of interstage connection circuits (inverters 13) connected in series between the first flip-flop 12 and the next-stage flip-flop 12 is equal to or less than a predetermined number m, and the number of fan-outs (number of net connections) of the preceding flip-flop 11 Extracts logical connection points (nets) of a predetermined number n or less, and adds delay circuits 1 to the logical connection points.
The logic diagram is modified by changing the logic so that 4 is inserted.

【0049】ここで、段間接続回路の個数が少ないほ
ど、前段のフリップフロップ11の出力が速やかに次段
のフリップフロップ12に入力されるため、各フリップ
フロップ11,12に入力されるクロックCKの伝搬時
間差(クロックスキュー)が原因となり、データホール
ド違反(タイミング違反)が起こり易くなる。
Here, the smaller the number of inter-stage connection circuits, the faster the output of the preceding flip-flop 11 is input to the next flip-flop 12, so that the clock CK input to each flip-flop 11, 12 , A data hold violation (timing violation) is likely to occur.

【0050】そのため、図6および図7に示す例では、
段間接続回路の個数が所定数m以下で且つ前段のフリッ
プフロップ11のファンアウト数が所定数n以下の論理
接続箇所がタイミング違反を起こす可能性が大きいとし
て、当該論理接続箇所に遅延回路14を挿入することに
より、前段のフリップフロップ11の出力を遅延させて
次段のフリップフロップ12に入力し、データホールド
違反の発生を防止している。
Therefore, in the examples shown in FIGS. 6 and 7,
It is determined that there is a great possibility that a logical connection point where the number of interstage connection circuits is equal to or less than a predetermined number m and the fan-out number of the preceding flip-flop 11 is equal to or less than a predetermined number n causes a timing violation. , The output of the preceding flip-flop 11 is delayed and input to the next flip-flop 12, thereby preventing occurrence of a data hold violation.

【0051】尚、前記したファンアウト数の所定数n
は、前段のフリップフロップ11と次段のフリップフロ
ップ12との間に接続される各種論理回路15の個数を
変化させた際のタイミング違反の発生度合いを求める実
験により、適宜な値に設定すればよい。
It should be noted that the predetermined number n of the fan-out numbers described above
Can be set to an appropriate value by an experiment for determining the degree of occurrence of timing violation when the number of various logic circuits 15 connected between the preceding flip-flop 11 and the next flip-flop 12 is changed. Good.

【0052】また、前記した段間接続回路の個数の所定
数mは、段間接続回路の個数を変化させた際のタイミン
グ違反の発生度合いを求める実験により、適宜な値に設
定すればよい。また、前記した段間接続回路の個数の所
定数mが大きくなるほど、挿入する遅延回路14の遅延
時間が短くなるようにしてもよい。すなわち、遅延時間
の異なる複数の遅延回路14を予め用意しておき、前記
した段間接続回路の個数の所定数mに対応して最適な遅
延時間の遅延回路14を選択し、その選択した遅延回路
14を前記論理接続箇所に挿入すればよい。
The predetermined number m of the interstage connection circuits may be set to an appropriate value by an experiment for determining the degree of occurrence of a timing violation when the number of interstage connection circuits is changed. The delay time of the inserted delay circuit 14 may be reduced as the predetermined number m of the interstage connection circuits increases. That is, a plurality of delay circuits 14 having different delay times are prepared in advance, and the delay circuit 14 having the optimum delay time is selected in accordance with the predetermined number m of the inter-stage connection circuits, and the selected delay circuit is selected. The circuit 14 may be inserted at the logical connection point.

【0053】以上詳述したように、本実施形態において
は、予め設定しておいた条件(フリップフロップ直結構
造、前段のフリップフロップ11のファンアウト数が所
定数n以下、段間接続回路の個数が所定数m以下)を参
照することにより、タイミング違反を起こす可能性のあ
る論理接続箇所を抽出し、当該論理接続箇所に対して遅
延回路14を一義的に挿入してロジック図を修正するこ
とで、タイミング違反を防止している。
As described in detail above, in the present embodiment, the preset conditions (the flip-flop direct connection structure, the number of fan-outs of the preceding flip-flop 11 is equal to or less than a predetermined number n, the number of inter-stage connection circuits) Is a predetermined number m or less) to extract a logical connection point that may cause a timing violation, and uniquely insert the delay circuit 14 into the logical connection point to correct the logic diagram. To prevent timing violations.

【0054】従って、本実施形態によれば、タイミング
解析を行うことなく論理設計を修正してタイミング違反
を防止するため、前記したタイミング違反の防止方法
の問題を全て回避することが可能になる上に、タイミ
ング解析に要する手間や時間が不要になるため、設計T
ATを短縮することができる。また、本実施形態では、
不必要な遅延回路を設けないため、回路規模の増大を抑
えることが可能になり、論理LSIの高集積化を図るこ
とができる。
Therefore, according to the present embodiment, since the logic design is corrected to prevent the timing violation without performing the timing analysis, it is possible to avoid all the problems of the method for preventing the timing violation described above. In addition, since the time and effort required for the timing analysis become unnecessary, the design T
AT can be shortened. In the present embodiment,
Since an unnecessary delay circuit is not provided, an increase in circuit scale can be suppressed, and high integration of a logic LSI can be achieved.

【0055】そして、本実施形態によれば、クロックの
伝搬時間差(クロックスキュー)を必要以上に低減する
必要がなくなるため、その分だけ設計TATを短縮する
ことができる。加えて、クロックの伝搬時間差を低減す
るために論理接続箇所に挿入する遅延回路の数をも低減
できるため、回路規模の増大を抑えることが可能にな
り、論理LSIの高集積化を図ることができる。
According to the present embodiment, since it is not necessary to reduce the clock propagation time difference (clock skew) more than necessary, the design TAT can be shortened accordingly. In addition, the number of delay circuits to be inserted at the logical connection point in order to reduce the clock propagation time difference can be reduced, so that it is possible to suppress an increase in circuit scale, and to achieve high integration of the logic LSI. it can.

【0056】尚、本発明は上記実施形態に限定されるも
のではなく、以下のように変更してもよく、その場合で
も、上記実施形態と同様の作用および効果を得ることが
できる。 [1]図5または図7に示すように、各フリップフロッ
プ11,12に入力される各クロックCK1,CK2が
異なる場合(すなわち、各クロックCK1,CK2が異
相クロックの場合)においても、各フリップフロップ1
1,12に入力されるクロックCKが同一の場合と同様
に遅延回路14を挿入すればよい。
The present invention is not limited to the above embodiment, but may be modified as follows. Even in such a case, the same operation and effect as in the above embodiment can be obtained. [1] As shown in FIG. 5 or 7, even when the clocks CK1 and CK2 input to the flip-flops 11 and 12 are different (that is, when the clocks CK1 and CK2 are different-phase clocks), Step 1
The delay circuit 14 may be inserted as in the case where the clocks CK input to 1 and 12 are the same.

【0057】[2]図5または図7に示す例では、デー
タ信号線DLに遅延回路14を挿入することにより、デ
ータ伝搬時間を遅延させている。しかし、図8(a)
(b)に示すように、データ信号線DLではなく、クロ
ック信号線に遅延回路14を挿入することにより、クロ
ック遅延時間を遅延させるようにしてもよい。この場合
には、S3000にて抽出したタイミング違反を起こす
可能性のある論理接続箇所について、その論理接続箇所
の前段に位置するフリップフロップ11のクロック入力
端子に接続されるクロック信号線に遅延回路14を挿入
することにより、前段のフリップフロップ11の出力を
遅延させて次段のフリップフロップ12に入力させる。
[2] In the example shown in FIG. 5 or FIG. 7, the data propagation time is delayed by inserting the delay circuit 14 into the data signal line DL. However, FIG.
As shown in (b), the clock delay time may be delayed by inserting the delay circuit 14 in the clock signal line instead of the data signal line DL. In this case, for the logical connection point which may cause a timing violation extracted in S3000, the delay circuit 14 is connected to the clock signal line connected to the clock input terminal of the flip-flop 11 located at the preceding stage of the logical connection point. Is inserted, the output of the previous-stage flip-flop 11 is delayed and input to the next-stage flip-flop 12.

【0058】尚、図8(a)に示す例によれば、図5
(b)に示す例と同様の作用・効果を得ることができ
る。また、図8(b)に示す例によれば、図7(b)に
示す例と同様の作用・効果を得ることができる。 [3]上記実施形態では、論理設計により作成したロジ
ック図に対して論理変更を行うことにより当該ロジック
図のデータを修正し、その修正したロジック図を用いて
従来通りにレイアウト設計を行っている。
According to the example shown in FIG.
The same operation and effect as the example shown in (b) can be obtained. According to the example shown in FIG. 8B, the same operation and effect as those of the example shown in FIG. 7B can be obtained. [3] In the above embodiment, the data of the logic diagram is modified by making a logic change to the logic diagram created by the logic design, and the layout design is conventionally performed using the modified logic diagram. .

【0059】しかし、ロジック図に対して論理変更を行
うことにより当該ロジック図を修正するのではなく、レ
イアウト設計において論理変更を行うようにしてもよ
い。例えば、レイアウト設計において、従来通りに作成
した回路図中に遅延回路を挿入するように論理変更して
回路図のデータを修正し、その修正した回路図を用いて
従来通りにパターン設計を行うようにしてもよい。ま
た、レイアウト設計において、従来通りに作成したパタ
ーン図中に遅延回路を挿入するように論理変更してパタ
ーン図のデータを修正し、その修正したパターン図を用
いて従来通りにマスクを作成してもよい。つまり、本発
明は、論理設計およびレイアウト設計のどの段階で実施
してもよい。
However, instead of correcting the logic diagram by making a logic change to the logic diagram, the logic change may be performed in the layout design. For example, in the layout design, the data of the circuit diagram is modified by changing the logic so that the delay circuit is inserted into the circuit diagram created as before, and the pattern design is performed using the modified circuit diagram as before. It may be. Also, in the layout design, modify the data of the pattern diagram by changing the logic so that a delay circuit is inserted into the pattern diagram created as before, and create a mask using the corrected pattern diagram as before Is also good. That is, the present invention may be implemented at any stage of the logic design and the layout design.

【0060】[4]上記実施形態では段間論理回路とし
てインバータ13が使用された例を示したが、インバー
タに限らず、どのような論理回路(例えば、フリップフ
ロップ、加算器,カウンタ,乗算器,シフタ,ALU
(Arithmetic Logic Unit),FIFO(First In Firs
t Out)など)を段間論理回路として使用した場合にも
適用できることは言うまでもない。
[4] In the above embodiment, an example was described in which the inverter 13 was used as an inter-stage logic circuit. However, the invention is not limited to the inverter, but any logic circuit (for example, flip-flop, adder, counter, multiplier, etc.) , Shifter, ALU
(Arithmetic Logic Unit), FIFO (First In Firs)
It is needless to say that the present invention can also be applied to the case where t.

【0061】[5]上記実施形態はフリップフロップ1
1,12に適用したものであるが、フリップフロップに
限らず、どのような論理回路(例えば、加算器,カウン
タ,乗算器,シフタ,ALU,FIFOなど)に適用し
てもよい。
[5] In the above embodiment, the flip-flop 1
Although the present invention is applied to 1 and 12, the present invention is not limited to flip-flops but may be applied to any logic circuit (for example, an adder, a counter, a multiplier, a shifter, an ALU, a FIFO, etc.).

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

【図1】本発明を具体化した一実施形態の動作を説明す
るためのフローチャート。
FIG. 1 is a flowchart for explaining the operation of an embodiment embodying the present invention.

【図2】一実施形態を説明するためのブロック図。FIG. 2 is a block diagram illustrating an embodiment.

【図3】一実施形態を説明するためのブロック図。FIG. 3 is a block diagram illustrating an embodiment.

【図4】図1のS3000の処理の詳細を説明するため
のフローチャート。
FIG. 4 is a flowchart for explaining the details of the process of S3000 in FIG. 1;

【図5】一実施形態を説明するためのブロック図。FIG. 5 is a block diagram illustrating an embodiment.

【図6】図1のS3000の処理の詳細を説明するため
のフローチャート。
FIG. 6 is a flowchart for explaining details of the process of S3000 in FIG. 1;

【図7】一実施形態を説明するためのブロック図。FIG. 7 is a block diagram illustrating an embodiment.

【図8】別の実施形態を説明するためのブロック図。FIG. 8 is a block diagram for explaining another embodiment.

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

11…前段のフリップフロップ 12…次段のフリップフロップ 13…インバータ 14…遅延回路 15…各種論理回路 DL…データ信号線 CK,CK1,CK2…クロック 11: preceding flip-flop 12: next-stage flip-flop 13: inverter 14: delay circuit 15: various logic circuits DL: data signal lines CK, CK1, CK2: clock

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B046 AA08 BA03 BA04 DA00 DA05 JA07 5F064 BB02 BB07 BB19 BB20 DD13 DD25 EE15 EE47 EE54 HH06 ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5B046 AA08 BA03 BA04 DA00 DA05 JA07 5F064 BB02 BB07 BB19 BB20 DD13 DD25 EE15 EE47 EE54 HH06

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 半導体集積回路を構成する全ての論理回
路の構造と各論理回路間の全ての接続情報とを解析する
第1の処理と、 第1の処理の解析結果に基づき、予め設定しておいた条
件を参照することにより、タイミング違反を起こす可能
性のある論理接続箇所を抽出する第2の処理と、 第2の処理で抽出された論理接続箇所のタイミング違反
を防止するための論理変更を行う第3の処理とを備えた
ことを特徴とする半導体集積回路の設計方法。
A first processing for analyzing the structures of all the logic circuits constituting the semiconductor integrated circuit and all connection information between the logic circuits; and setting in advance based on an analysis result of the first processing. A second process for extracting a logical connection point that may cause a timing violation by referring to the set conditions, and a logic for preventing a timing violation of the logical connection point extracted in the second process. And a third process for performing a change.
【請求項2】 請求項1に記載の半導体集積回路の設計
方法において、 前記第3の処理におけるタイミング違反を防止するため
の論理変更は、前記第2の処理で抽出された論理接続箇
所であるデータ信号線に対して遅延回路を挿入すること
により、前段の論理回路から次段の論理回路へのデータ
伝搬時間を遅延させることを特徴とする半導体集積回路
の設計方法。
2. The method for designing a semiconductor integrated circuit according to claim 1, wherein the logical change for preventing a timing violation in the third processing is a logical connection point extracted in the second processing. A method for designing a semiconductor integrated circuit, wherein a data propagation time from a preceding logic circuit to a next logic circuit is delayed by inserting a delay circuit into a data signal line.
【請求項3】 請求項1または請求項2に記載の半導体
集積回路の設計方法において、 前記第3の処理におけるタイミング違反を防止するため
の論理変更は、前記第2の処理で抽出された論理接続箇
所の前段の論理回路のクロック入力端子に接続されるク
ロック信号線に対して遅延回路を挿入することにより、
前段の論理回路に対するクロック伝搬時間を遅延させる
ことを特徴とする半導体集積回路の設計方法。
3. The method for designing a semiconductor integrated circuit according to claim 1, wherein the logic change for preventing a timing violation in the third process is performed by the logic extracted in the second process. By inserting a delay circuit into the clock signal line connected to the clock input terminal of the logic circuit at the previous stage of the connection point,
A method for designing a semiconductor integrated circuit, comprising delaying a clock propagation time for a logic circuit in a preceding stage.
【請求項4】 請求項1〜3のいずれか1項に記載の半
導体集積回路の設計方法において、 前記第2の処理における予め設定しておいた条件とは、
タイミング違反を起こす可能性のある論理接続箇所の前
段の論理回路のファンアウト数であることを特徴とする
半導体集積回路の設計方法。
4. The method for designing a semiconductor integrated circuit according to claim 1, wherein the condition set in advance in said second processing is:
A method of designing a semiconductor integrated circuit, wherein the number is a fanout number of a logic circuit at a stage preceding a logic connection point where a timing violation may occur.
【請求項5】 請求項4に記載の半導体集積回路の設計
方法において、 前記ファンアウト数に対応して、前段の論理回路から次
段の論理回路へのデータ伝搬時間または前段の論理回路
に対するクロック伝搬時間を遅延させることを特徴とす
る半導体集積回路の設計方法。
5. The method for designing a semiconductor integrated circuit according to claim 4, wherein a data propagation time from a preceding logic circuit to a next logic circuit or a clock for the preceding logic circuit is corresponding to the number of fan-outs. A method for designing a semiconductor integrated circuit, wherein a propagation time is delayed.
【請求項6】 請求項1〜3のいずれか1項に記載の半
導体集積回路の設計方法において、 前記第2の処理における予め設定しておいた条件とは、
タイミング違反を起こす可能性のある論理接続箇所の前
段の論理回路と次段の論理回路との間に直列接続される
段間論理回路の個数であることを特徴とする半導体集積
回路の設計方法。
6. The method for designing a semiconductor integrated circuit according to claim 1, wherein the condition set in advance in said second processing is:
A method for designing a semiconductor integrated circuit, comprising: the number of inter-stage logic circuits connected in series between a logic circuit at a preceding stage and a logic circuit at a next stage of a logic connection portion that may cause a timing violation.
【請求項7】 請求項6に記載の半導体集積回路の設計
方法において、 前記段間論理回路の個数に対応して、前段の論理回路か
ら次段の論理回路へのデータ伝搬時間または前段の論理
回路に対するクロック伝搬時間を遅延させることを特徴
とする半導体集積回路の設計方法。
7. The method for designing a semiconductor integrated circuit according to claim 6, wherein a data propagation time from a preceding logic circuit to a next logic circuit or a logic of a preceding logic circuit corresponds to the number of inter-stage logic circuits. A method for designing a semiconductor integrated circuit, wherein a clock propagation time for a circuit is delayed.
【請求項8】 請求項1〜3のいずれか1項に記載の半
導体集積回路の設計方法において、 前記第2の処理における予め設定しておいた条件とは、
前段の論理回路と次段の論理回路とが直結される論理接
続箇所であることを特徴とする半導体集積回路の設計方
法。
8. The method for designing a semiconductor integrated circuit according to claim 1, wherein the condition set in advance in said second processing is:
A method for designing a semiconductor integrated circuit, wherein the logic circuit is a logical connection part where a preceding logic circuit and a next logic circuit are directly connected.
【請求項9】 請求項1〜8のいずれか1項に記載の半
導体集積回路の設計方法において、 論理設計により作成したロジック図に対して論理変更を
行うことにより当該ロジック図を修正することを特徴と
する半導体集積回路の設計方法。
9. The method for designing a semiconductor integrated circuit according to claim 1, wherein the logic diagram is modified by performing a logic change on the logic diagram created by the logic design. Characteristic semiconductor integrated circuit design method.
【請求項10】 請求項1〜8のいずれか1項に記載の
半導体集積回路の設計方法において、 レイアウト設計にて回路図またはパターン図に対して論
理変更を行うことにより当該回路図またはパターン図を
修正することを特徴とする半導体集積回路の設計方法。
10. The method for designing a semiconductor integrated circuit according to claim 1, wherein a logic change is performed on the circuit diagram or the pattern diagram in the layout design. A method for designing a semiconductor integrated circuit, comprising:
【請求項11】 請求項1〜10のいずれか1項に記載
の半導体集積回路の設計方法をコンピュータシステムに
実行させるためのプログラムが記録されたコンピュータ
で読み取り可能な記録媒体。
11. A computer-readable recording medium in which a program for causing a computer system to execute the method for designing a semiconductor integrated circuit according to claim 1 is recorded.
JP10339555A 1998-11-30 1998-11-30 Method for designing semiconductor integrated circuit and record medium Pending JP2000163462A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10339555A JP2000163462A (en) 1998-11-30 1998-11-30 Method for designing semiconductor integrated circuit and record medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10339555A JP2000163462A (en) 1998-11-30 1998-11-30 Method for designing semiconductor integrated circuit and record medium

Publications (1)

Publication Number Publication Date
JP2000163462A true JP2000163462A (en) 2000-06-16

Family

ID=18328586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10339555A Pending JP2000163462A (en) 1998-11-30 1998-11-30 Method for designing semiconductor integrated circuit and record medium

Country Status (1)

Country Link
JP (1) JP2000163462A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012123524A (en) * 2010-12-07 2012-06-28 Fujitsu Semiconductor Ltd Circuit design support device, circuit design support method and semiconductor integrated circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012123524A (en) * 2010-12-07 2012-06-28 Fujitsu Semiconductor Ltd Circuit design support device, circuit design support method and semiconductor integrated circuit

Similar Documents

Publication Publication Date Title
US8572534B2 (en) System and method for designing multiple clock domain circuits
US8196076B2 (en) Optimal flow in designing a circuit operable in multiple timing modes
US7962872B2 (en) Timing analysis when integrating multiple circuit blocks while balancing resource requirements and accuracy
US20090083685A1 (en) Method for generating optimized constraint systems for retimable digital designs
US7444606B2 (en) Method for designing semiconductor integrated circuit, semiconductor integrated circuit and program for designing same
TWI533154B (en) Digital circuit design method and associated computer program product
US20080201671A1 (en) Method for generating timing exceptions
JP2008123056A (en) Timing constraint-generating system of logic circuit and timing constraint-generating method of logic circuit, control program, and readable recording medium
US9449127B1 (en) System for verifying timing constraints of IC design
Nishizawa et al. libretto: An open cell timing characterizer for open source vlsi design
US7028273B2 (en) Delay optimization designing system and delay optimization designing method for a logic circuit and control program
US6598191B1 (en) Verification of asynchronous boundary behavior
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US7945882B2 (en) Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium
Semba et al. Comparison of RTL conversion and GL conversion from synchronous circuits to asynchronous circuits
US6701498B2 (en) Black box timing model for latch-based systems
US20080069277A1 (en) Method and apparatus for modeling signal delays in a metastability protection circuit
JP2000163462A (en) Method for designing semiconductor integrated circuit and record medium
JP3561661B2 (en) Semiconductor integrated circuit and method of designing semiconductor integrated circuit
JP2001101248A (en) Semiconductor integrated circuit, method for designing semiconductor integrated circuit and recording medium
US6668359B1 (en) Verilog to vital translator
JP5849973B2 (en) Data processing apparatus, data processing system, data processing method, and data processing program
JP2002259488A (en) Method for verifying clock skew
JP3033760B1 (en) Logic circuit synthesizing apparatus and synthesizing method
JP3654941B2 (en) Logic simulation method and logic simulator