JP5440094B2 - Circuit design apparatus and method - Google Patents
Circuit design apparatus and method Download PDFInfo
- Publication number
- JP5440094B2 JP5440094B2 JP2009243400A JP2009243400A JP5440094B2 JP 5440094 B2 JP5440094 B2 JP 5440094B2 JP 2009243400 A JP2009243400 A JP 2009243400A JP 2009243400 A JP2009243400 A JP 2009243400A JP 5440094 B2 JP5440094 B2 JP 5440094B2
- Authority
- JP
- Japan
- Prior art keywords
- flip
- flop
- flops
- circuit design
- frequency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、フリップフロップを用いたツリーを作成して、擬似的に複数クロックの環境を実現する回路設計装置及び方法に関するもので、特に、その遅延制約問題、テスト時の問題、ハザードチェックの問題の改善に係わる。 The present invention relates to a circuit design apparatus and method for creating a tree using flip-flops and realizing a multi-clock environment in a pseudo manner. In particular, the present invention relates to a delay constraint problem, a test problem, and a hazard check problem. Related to improvement.
LSI(Large Scale Integration)回路の設計方法において、デファイナと呼ばれるクロック相当の信号を導入し、フリップフロップを用いたツリーを作成して、擬似的に複数クロックの環境を実現する設計方法がある。このようなデファイナ設計方法は、例えばクロックメッシュが2系統張れないような場合のように、複数クロックの設計を行いたいが物理的制限等により複数クロックが導入できない場合に、クロックバッファやクロックツリーを用いたいわゆるCTS(Clock Tree Synthesis:クロックツリー合成)よりも簡単に複数クロックを導入できる。 As a design method for an LSI (Large Scale Integration) circuit, there is a design method that introduces a clock-equivalent signal called a definer, creates a tree using flip-flops, and realizes a multi-clock environment in a pseudo manner. Such a refiner design method is used when a plurality of clocks cannot be introduced due to physical limitations or the like, as in the case where two clock meshes cannot be installed. Multiple clocks can be introduced more easily than the so-called CTS (Clock Tree Synthesis) used.
また、LSI回路の回路設計を行う場合、特許文献1に示されるように、クロックの遅延のバラツキが問題となる。このようなフリップフロップをツリー状にして擬似的に複数クロックの環境を実現するデファイナ設計は、フリップフロップを用いて信号を分配することでデファイナ信号のフリップフロップへの到達時間のバラツキを抑える効果がある。 In addition, when designing an LSI circuit, there is a problem of variations in clock delay, as disclosed in Patent Document 1. The design of a refiner that artificially realizes a multi-clock environment with a tree structure of such flip-flops has the effect of suppressing variations in the arrival time of the refiner signal to the flip-flops by distributing the signals using the flip-flops. is there.
ところが、このようなデファイナ設計では、一つのユニット内にデファイナを分配するデファイナツリーフリップフロップと、デファイナで駆動される分周化フリップフロップと、デファイナとは無関係の通常フリップフロップが混在することになる。これにより、以下に述べるように、遅延制約、非同期設計、テスト等の処理が複雑になるという問題が生じる。 However, in such a refiner design, there are a mix of a refiner tree flip-flop that distributes the refiner in one unit, a frequency-dividing flip-flop driven by the definer, and a normal flip-flop that is not related to the definer. Become. This causes a problem that processing such as delay constraint, asynchronous design, and testing becomes complicated as described below.
すなわち、先ず、分周化されるフリップフロップについては、全て手動でマルチサイクルパスの制約を与える必要がある。従来はRTL作成時に命名規則を与え、その名前を元に制約を付与していたが、この方法ではRTL作成時の命名規則遵守漏れ、及び遅延制約作成時の漏れなど人為的ミスが多発し、大きな設計後戻りを引き起こす。 That is, first, all the flip-flops to be frequency-divided must be manually given multicycle path restrictions. Conventionally, naming rules were given at the time of RTL creation, and restrictions were given based on the names, but in this method, human error such as omission of compliance with naming rules at the time of RTL creation and omission at the time of delay constraint creation occurred frequently, Causes a large design reversion.
また、分周化されたフリップフロップは、外部のクロックを直接入力することができないため、テスト時に分周化されるフリップフロップを非スキャンとするか、若しくはバイパス論理を組み込む必要がある。前者は検出率の低下につながり、後者は回路量オーバヘッドにつながる。 Further, since the frequency-divided flip-flop cannot directly input an external clock, it is necessary to make the frequency-divided flip-flop not to be scanned or to incorporate a bypass logic. The former leads to a decrease in detection rate, and the latter leads to a circuit amount overhead.
更に、デファイナツリーフリップフロップと通常フリップフロップが交じり合うような非同期パスを設計者が常に意識し、論理合成で意図したとおりの回路が合成されているかチェックする必要がある。しかしながら、デファイナ設計の場合はこうした非同期パスが比較的多く存在するため、その全てを網羅的にリストアップし、チェックするのは非常に困難である。したがって、チェック漏れも発生しやすく、万一、ハザードが発生するような回路をそのまま後工程に流してしまった場合、グリッジノイズにより実機が誤動作する可能性がある。 Furthermore, it is necessary for the designer to always be aware of the asynchronous path where the refiner tree flip-flop and the normal flip-flop cross each other, and check whether the circuit as intended in the logic synthesis is synthesized. However, in the case of a refiner design, since there are relatively many such asynchronous paths, it is very difficult to list and check all of them in an exhaustive manner. Therefore, check leakage is likely to occur, and if a circuit that causes a hazard is passed to the subsequent process as it is, the actual machine may malfunction due to glitch noise.
上述の課題を鑑み、本発明は、デファイナ設計によりフリップフロップにより分周化されたクロックを用いた回路設計で、遅延制約問題、テスト時の問題、及びハザードチェックの問題を改善できるようにした回路設計装置及び方法を提供することを目的とする。 In view of the above-described problems, the present invention provides a circuit design that can improve the delay constraint problem, the test problem, and the hazard check problem in the circuit design using the clock divided by the flip-flop by the definer design. It is an object to provide a design apparatus and method.
上述の課題を解決するために、本発明は、フリップフロップを用いてツリーを作成しフリップフロップにより分周化されたクロックにより擬似的に複数クロックの環境を実現する回路設計装置において、ネットリストとデファイナ信号情報とを参照して、ネットリスト中のフリップフロップを、デファイナツリーフリップフロップと、分周化フリップフロップと、通常のフリップフロップとに分類する手段を有することを特徴とする。 In order to solve the above-described problems, the present invention provides a circuit design apparatus that creates a tree using flip-flops and artificially realizes a multi-clock environment using clocks divided by the flip-flops. Referring to the refiner signal information, the flip-flop in the netlist is classified into a refiner tree flip-flop, a frequency-dividing flip-flop, and a normal flip-flop.
本発明は、フリップフロップを用いてツリーを作成しフリップフロップにより分周化されたクロックにより擬似的に複数クロックの環境を実現する回路設計装置の回路設計方法であって、前記回路設計装置の分類手段が、ネットリストとデファイナ信号情報とを参照して、前記ネットリスト中のフリップフロップを、デファイナツリーフリップフロップと、分周化フリップフロップと、通常のフリップフロップとに分類することを特徴とする。
The present invention relates to a circuit design method for a circuit design device that creates a tree using flip-flops and realizes a pseudo-multiple clock environment using clocks divided by the flip-flops. means, with reference to the netlist and definer signal information, the flip-flops in the netlist, the definer tree flip-flop, and the division of the flip-flop, and wherein the classified into normal flip-flop To do.
本発明によれば、デファイナ設計によりフリップフロップにより分周化されたクロックを用いた回路設計を行う場合に、ネットリスト内のフリップフロップを、デファイナツリーフリップフロップと、分周化フリップフロップと、その他の通常のフリップフロップとに分類し、分類したフリップフロップの情報に基づいて、遅延制約の生成し、スキャンパスの挿入、ハザードチェック対象のフリップフロップの抽出を行うようにしている。これにより、遅延制約問題、テスト時の問題、ハザードチェックの問題を改善することができる。 According to the present invention, when designing a circuit using a clock frequency-divided by a flip-flop by a definator design, the flip-flop in the netlist is divided into a refiner tree flip-flop, a frequency-dividing flip-flop, It is classified into other normal flip-flops, and based on the classified flip-flop information, delay constraints are generated, scan paths are inserted, and hazard check target flip-flops are extracted. As a result, the delay constraint problem, the test problem, and the hazard check problem can be improved.
以下、本発明の実施の形態について図面を参照しながら説明する。図1を参照すると、本発明の実施の形態の全体的なシステムは、データ処理装置1と記憶装置2とで構成される。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. Referring to FIG. 1, the overall system according to the embodiment of the present invention includes a data processing device 1 and a
データ処理装置1は、合成部11と、トレース部12と、遅延制約生成部13と、スキャン回路生成部14と、最適化部15と、ハザードチェック部16とで構成される。
The data processing apparatus 1 includes a
合成部11は、VerilogやVHDLのようなハードウェア記述言語(HDL)で記述されたRTL(Register transfer level)21を読み込み、それをネットリスト22に変換する。このとき、各種制約による最適化は後工程で行うので、ここでは特に強力な論理最適化は行わない。勿論、このときに最適化を行うようにしてもよい。
The
トレース部12は、ネットリスト22とデファイナ信号情報23を参照して、ネットリスト22の内部をトレースし、FFカテゴライズリスト24を出力する。FFカテゴライズリスト24は、ネットリスト22内のフリップフロップを、デファイナツリーフリップフロップと、分周化フリップフロップと、その他の通常のフリップフロップとに分類したテーブルである。このときのフリップフロップの分類処理は、以下の通りである。
The
トレース部12は、最初にデファイナ信号情報23を基に、ネットリスト22中の入力端子のうち、デファイナ信号の源泉となるべき端子を抽出し、この源泉となる端子からファンアウト方向にトレースし、フリップフロップに到達した時点で、そのフリップフロップをデファイナツリーフリップフロップとして、FFカテゴライズリスト24に追加する。そして、トレース部12は、分周比をドライブするゲーティングセルの出力に直接接続されている1段目のフリップフロップを取得し、この分周比をドライブするゲーティングセルに直接接続されているフリップフロップを分周化フリップフロップとしてFFカテゴライズリスト24に追加する。更に、トレース部12は、全てのフリップフロップ群から、既にFFカテゴライズリスト24に追加されているデファイナツリーフリップフロップ及び分周化フリップフロップを取り除き、その残りのフリップフロップを通常フリップフロップしてFFカテゴライズリスト24に追加する。
The
遅延制約生成部13は、FFカテゴライズリスト24の情報に基づいて、デファイナの組み込まれた回路向けの遅延制約情報25を生成する。遅延制約生成部13は、分周化フリップフロップの全集合を始点及び終点としたマルチサイクルを設定する。
The delay
スキャン回路生成部14は、FFカテゴライズリスト24とネットリスト22を入力として、分周化フリップフロップとそれ以外のフリップフロップで別系統のスキャンを挿入したスキャン化済みネットリスト26を出力する。ここでは分周化フリップフロップと、それ以外のフリップフロップとの2系統のスキャンパスを挿入している。分周化フリップフロップ内のスキャン接続順、及び分周化フリップフロップ以外のフリップフロップ内のスキャン接続順は任意である。
The scan
最適化部15は、遅延制約情報25及びスキャン化済みネットリスト26を入力し、このネットリストに対して論理的な最適化を行って、遅延制約、回路設計制約を満たすような回路を作成し、最適化済みネットリスト27として出力する。
The
ハザードチェック部16は、FFカテゴライズリスト24及び最適化済みネットリスト27を入力し、FFカテゴライズリスト24からハザードチェック対象のフリップフロップを抽出した上で、最適化済みネットリスト27に対してハザードの有無があるかどうかのチェックを行い、その結果をハザードレポート28として出力する。
The
一方、記憶装置2は、RTL21と、ネットリスト22と、デファイナ信号情報23と、FFカテゴライズリスト24と、遅延制約情報25と、スキャン化済みネットリスト26と、最適化済みネットリスト27と、ハザードレポート28とで構成される。
On the other hand, the
RTL21は、デジタル回路を、verilogやVHDLといったハードウェア記述言語によって記述したものである。 The RTL 21 is a digital circuit described in a hardware description language such as verilog or VHDL.
ネットリスト22は、合成部11がRTL21を論理素子によるゲート記述に変換したものである。この時点では論理最適化は行われていない。ネットリスト22は、具体的には例えばGate−Verilogにて表現される。
The
デファイナ信号情報23は、ネットリスト22におけるデファイナ信号の名前である。ネットリスト22に存在する入力ポートの一つと合致する。
The
FFカテゴライズリスト24は、トレース部12が、ネットリスト22とデファイナ信号情報23を基に、ネットリスト22における全フリップフロップを、デファイナツリーフリップフロップ、分周化フリップフロップ、通常フリップフロップの3種類に分類したテーブルを保持している。具体的には、FFカテゴライズリスト24は、各カテゴリに属するフリップフロップの名前一覧を保持する。
In the FF categorized
遅延制約情報25は、デファイナ設計をするための遅延制約を保持している。遅延制約は例えば標準的なSDC(Synopsys Design Constraints)によって記述されている。
The
スキャン化済みネットリスト26は、ネットリスト22がスキャン回路生成部14によってスキャン化された回路である。具体的には、分周化フリップフロップとそれ以外のフリップフロップの2系統の経路を有している。このようにスキャン経路を分割することにより、分周化フリップフロップに対してのテストが容易となる。
The scanned
最適化済みネットリスト27は、最適化部15が、遅延制約情報25を満たすようにスキャン化済みネットリストを論理最適化したものである。この論理最適化により、分周化フリップフロップ間は分周化されたクロック周期で、それ以外のフリップフロップ間は通常の1サイクル周期での論理最適化が行われる。
The optimized
ハザードレポート28は、最適化済みネットリスト27に対して、ハザードチェック部16がFFカテゴライズリスト24からハザードチェック対象フリップフロップをリストアップし、その各々に対してハザードチェックを行った結果である。
The hazard report 28 is a result of the
次に、本発明の第1の実施形態の動作について説明する。最初に、設計者がRTL21を作成する。RTL21は、VerilogやVHDLのようなハードウェア記述言語で記述される。このRTL21に、例えば図2に示すようなデファイナの記述が含まれているとする。
Next, the operation of the first embodiment of the present invention will be described. First, the designer creates the
図2は、Verilogでの記述例であり、図2では、端子に対して、クロック信号である”XXCLK2G”と、デファイナ信号である”XXDEF1G”が入力されており、デファイナ信号がイネーブル状態のときのみ、クロック信号を各フリップフロップに伝えるような回路記述となっている。これにより、クロック信号を任意の周期で分周することが可能となる。このRTL21に対して、合成部11が論理合成を行い、ネットリスト22を出力する。
FIG. 2 shows an example of description in Verilog. In FIG. 2, when “XXCLK2G” as a clock signal and “XXDEF1G” as a definitive signal are input to the terminals, the definitive signal is in an enabled state. Only the circuit description is such that the clock signal is transmitted to each flip-flop. As a result, the clock signal can be divided at an arbitrary period. The
図3は、このようなデファイナ記述のRTLを論理合成してできる回路の例である。図3において、Rxが分周化フリップフロップ、Gxがインテグレーテッド・ゲーティングセルである。図3に示すように、ネットリスト22では、デファイナ周辺はインテグレーテッド・ゲーティングセルGxにより実現されている。インテグレーテッド・ゲーティングセルGxは、一般的にラッチ及びANDゲートで構成されており、イネーブル信号、クロック信号のAND論理をとることで、イネーブル信号が真のときのみ、クロック信号を伝達する役割を担う。図3に示すように、分周化フリップフロップRxは、必ず、インテグレーテッド・ゲーティングセルGxに接続されている。また、デファイナ信号によって駆動されるフリップフロップRx間は、マルチサイクルパスとなる。
FIG. 3 shows an example of a circuit that can be obtained by logically synthesizing such an RTL having a refiner description. In FIG. 3, Rx is a frequency-dividing flip-flop, and Gx is an integrated gating cell. As shown in FIG. 3, in the
図4は、ネットリスト22の具体例を示すものである。図4において、R1〜RBがフリップフロップ、G1〜G5がインテグレーテッド・ゲーティングセルである。デファイナ信号は、フリップフロップR1、R2、R3によって、デファイナで駆動されるフリップフロップR4、R5、R6、R7に分配される。通常、電気回路のデザインルールを満たすために、デファイナ信号はこのようにしてフリップフロップのツリーで分配される。例えば、フリップフロップR4は、インテグレーテッド・ゲーティングセルG1により駆動されるフリップフロップである。
FIG. 4 shows a specific example of the
また、図4において、フリップフロップR8、R9、RA、RBは、デファイナと無関係のフリップフロップである。これらのフリップフロップのうち、フリップフロップRAはインテグレーテッド・ゲーティングセルG5によって駆動されているが、これはデファイナ信号で駆動されているのではなく、通常のクロックゲーティングが行われた結果として発生している。 In FIG. 4, flip-flops R8, R9, RA, and RB are flip-flops that are unrelated to the definer. Of these flip-flops, the flip-flop RA is driven by the integrated gating cell G5, but this is not driven by a definator signal, but occurs as a result of normal clock gating. doing.
次にトレース部12が、ネットリスト22とデファイナ信号情報23を入力として、フリップフロップを分類する処理を説明する。
Next, a description will be given of a process in which the
図5は、トレース部12がフリップフロップを分類する処理を示すフローチャートである。図5において、トレース部12は、最初にデファイナ信号情報23を基に、ネットリスト22中の入力端子のうち、デファイナ信号の源泉となるべき端子を抽出し(ステップS1)、源泉となる端子から、ファンアウト方向にトレースし(ステップS2)、フリップフロップに到達したかどうかを判定する(ステップS3)。そして、トレース部12は、フリップフロップに到達したら、そのフリップフロップをデファイナツリーFFとして、FFカテゴライズリスト24に追加する(ステップS4)。このファンアウト方向のトレースは、ゲーティングセルに到達するまで行われ(ステップS5)、ゲーティングセルに到達したら、トレース部12は、トレースを終了する。
FIG. 5 is a flowchart showing a process in which the
トレース部12は、このようなトレースを行うことで、分周化フリップフロップをドライブするゲーティングセルだけを抽出できる。トレース部12は、分周化フリップフロップをドライブするゲーティングセルをFFカテゴライズリスト24に追加する(ステップS6)。そして、トレース部12は、FFカテゴライズリスト24に追加されたゲーティングセルを一つ一つ取り出し、分周比をドライブするゲーティングセルの出力に直接接続している1段目のフリップフロップを取得し(ステップS7)、そのフリップフロップを分周化フリップフロップとしてFFカテゴライズリスト24に追加する(ステップS8)。これは、分周化フリップフロップは必ずゲーティングセルの1段目のフリップフロップとして接続されるというデファイナ設計のルールに基づいている(図3参照)。
By performing such tracing, the
次にトレース部12は、ネットリスト22中の全てのフリップフロップを取得し(ステップS9)、全てのフリップフロップから、既にFFカテゴライズリスト24に追加されているデファイナツリーフリップフロップ及び分周化FFを取り除き、その残りを通常フリップフロップしてFFカテゴライズリスト24に追加する(ステップS10)。そして、トレース部12は、これらの処理が終了すると、FFカテゴライズリスト24を出力する。
Next, the
例えば、ネットリスト22が図4に示すように構成され、デファイナ信号情報23が図6に示すように定義されていたとする。図6ではデファイナ信号の端子名が”DEF”であることを示している。この場合のフリップフロップのカテゴライズ処理について説明する。
For example, it is assumed that the
トレース部12は、最初に、デファイナ信号情報23に記述された”DEF”という端子から、インテグレーテッド・ゲーティングセルに達するまで回路をファンアウト方向にトレースし、トレース途中に通過したフリップフロップをデファイナツリーフリップフロップとする。図4では、”DEF”という端子からファンアウト方向にトレースすると、最初にフリップフロップR1、次にフリップフロップR2、フリップフロップR3へとトレースが到達するが、フリップフロップR2及びR3の先には、インテグレーテッド・ゲーティングセルG1、G2、及び、G3、G4が存在しているので、そこでトレースを終了し、フリップフロップR1、R2、R3をデファイナツリーフリップフロップとして、FFカテゴライズリスト24に登録する(ステップS1〜S5)。
The
次に、トレース部12は、トレースにて取得したインテグレーテッド・ゲーティングセルG1、G2、G3、G4から、ファンアウト方向に1段フリップフロップをトレースし、取得したものを分周化フリップフロップとして、FFカテゴライズリスト24に登録する。具体的には、フリップフロップR4、R5、R6、R7が分周化フリップフロップに該当する(ステップS6〜S7)。
Next, the
最後に、トレース部12は、フリップフロップの全体集合(フリップフロップR1〜RB)から、デファイナツリーフリップフロップ(フリップフロップR1、R2、R3)、分周化フリップフロップ(フリップフロップR4、R5、R6、R7)の集合を引くことによって、通常フリップフロップを抽出して、FFカテゴライズリスト24に登録する。具体的には、フリップフロップR8、R9、RA、RBが通常フリップフロップとなる(ステップS8〜S11)。
Finally, the
図7は、トレースが終わった後のFFカテゴライズリスト24を示すものである。この例では、デファイナツリーフリップフロップとしてフリップフロップR1、R2、R3がリストアップされ、分周比フリップフロップとしてフリップフロップR4、R5、R6、R7がリストアップされ、通常フリップフロップとしてフリップフロップR8、R9、RA、RBがリストアップされている。
FIG. 7 shows the
次に遅延制約生成部13が、FFカテゴライズリスト24を入力して、遅延制約情報25を生成する過程を説明する。
Next, a process in which the delay
遅延制約は、分周化フリップフロップ間のみがクロックの定数倍の周期になるため、FFカテゴライズリスト24を利用して、始点を全分周化フリップフロップの集合とし、終点も全分周化フリップフロップの集合とすればよい。これを例えばSynopsys Design Constraintsのフォーマットで記述すると、図8に示すようになる。このように一括して指定するやり方は簡素ではあるが、実際は存在しないパスにも制約を当てようとしてしまうため、そうした指定が冗長であったり、許されない場合は、ネットリスト22を参照しつつ、実際には存在しないパスを削除する方法もある。
Since the delay constraint has a period that is a constant multiple of the clock only between the frequency-divided flip-flops, the FF categorized
次にスキャン回路生成部14が、ネットリスト22とFFカテゴライズリスト24を入力して、スキャン化済みネットリスト26を生成する過程を説明する。
Next, a process in which the scan
スキャン経路は、分周化フリップフロップと、それ以外のフリップフロップで2系統に分ける必要がある。これは分周化フリップフロップのクロックはデファイナツリーフリップフロップを経由して分配されており、直接外部テスタで操作できないためである。 The scan path needs to be divided into two systems by a frequency-dividing flip-flop and other flip-flops. This is because the clock of the frequency-dividing flip-flop is distributed via the definer tree flip-flop and cannot be directly operated by an external tester.
そこで、スキャン回路生成部14は、FFカテゴライズリスト24を参照して、デファイナツリーフリップフロップ及び通常フリップフロップで構成されたスキャン経路と、分周化フリップフロップのみで構成されたスキャン経路を構築する。
Therefore, the scan
図9は、このようにして構築されたスキャン化済みネットリスト26の具体例を示すものである。図9において、スキャン経路SCAN1はデファイナツリーフリップフロップ及び通常フリップフロップで構成されたスキャン経路であり、スキャン経路SCAN2は分周化フリップフロップのみで構成されたスキャン経路である。図9から、分周化フリップフロップ(フリップフロップR4、R5、R6、R7)と、それ以外のフリップフロップ(フリップフロップR1、R2、R3、R8、R9、RA、RB)で、別系統のスキャン経路が張られていることが分かる。
FIG. 9 shows a specific example of the scanned
次に最適化部15が、遅延制約情報25とスキャン化済みネットリスト26を入力して、最適化済みネットリスト27を生成する。ここでの論理最適化手法については、この変換方法については、「BooleDozer:Logic synthesis for ASICs,IBM Journal of R&D,February 6 1996 A.J.Sulliavan等著」に記載されている。これにより、分周化フリップフロップ間は正しく遅延制約(クロック周期)が通常フリップフロップ間の定数倍された状態で駆動されるように最適化される。
Next, the
最後にハザードチェック部16が最適化済みネットリスト27とFFカテゴライズリスト24を入力して、ハザードレポート28を出力する。ここで、FFカテゴライズリスト24が図7に示すようなものであり、最適化済みネットリスト27が図10に示すようなものであったとする。
Finally, the
スタティックハザードは、1Tパスと非同期パス(ここではマルチサイクルパス)が混在して非同期パスの終点フリップフロップに入る回路で発生する可能性がある。この考え方を分周化された回路へと当てはめると、分周化フリップフロップ(フリップフロップR4、R5、R6、R7)のうち、その入力に分周化フリップフロップ及び通常フリップフロップ(又はデファイナツリーフリップフロップ)が混在するパスが、ハザードチェックの対象となるフリップフロップとなる。 There is a possibility that a static hazard occurs in a circuit in which a 1T path and an asynchronous path (here, a multi-cycle path) are mixed and enter an end-point flip-flop of the asynchronous path. When this idea is applied to a frequency-divided circuit, among the frequency-divided flip-flops (flip-flops R4, R5, R6, R7), the frequency-divided flip-flop and the normal flip-flop (or the refiner tree) are input to the input. A path in which flip-flops are mixed becomes a flip-flop to be subjected to a hazard check.
ここで図6を参照すると、フリップフロップR4、R5、R6、R7が分周化フリップフロップである。これらについてそれぞれ図10での接続を見てみると、フリップフロップR4の入力は、フリップフロップRA、RBであり、これらはどちらも通常フリップフロップであり、チェック対象外のフリップフロップであることが分かる。次にフリップフロップR5の入力はフリップフロップRBのみであり、これもチェック対象外フリップフロップとなる。次にフリップフロップR6の入力はフリップフロップR4、R8であり、通常フリップフロップと分周化フリップフロップとが混在しているフリップフロップであり、このフリップフロップR6がハザードチェック対象のフリップフロップの一つである。次にフリップフロップR7の入力はフリップフロップR4、R5であり、これらは両方とも分周化フリップフロップFFであるので、チェック対象外のフリップフロップとなる。したがって、ハザードチェックを行うべきフリップフロップは、フリップフロップR6のみとなる。 Referring now to FIG. 6, flip-flops R4, R5, R6, and R7 are frequency-dividing flip-flops. Looking at the connection in FIG. 10 for each of these, the inputs of the flip-flop R4 are flip-flops RA and RB, both of which are normal flip-flops and are not checked flip-flops. . Next, only the flip-flop RB is input to the flip-flop R5, which is also a non-checked flip-flop. Next, the inputs of the flip-flop R6 are flip-flops R4 and R8, which are a flip-flop in which a normal flip-flop and a frequency-divided flip-flop are mixed, and this flip-flop R6 is one of the flip-flops subject to hazard check It is. Next, the inputs of the flip-flop R7 are flip-flops R4 and R5, both of which are frequency-divided flip-flops FF, so that they are not checked flip-flops. Therefore, the flip-flop R6 is the only flip-flop to perform the hazard check.
そこで、ハザードチェック部16は、フリップフロップR6に対してのみハザードチェックを行い、ハザードレポート28を出力する。ハザードチェック方法については、例えば特願2008−304099号公報等に記載されているものを用いることができる。ハザードチェックの結果、フリップフロップR6について問題がなければ、図11に示すように、ハザードチェックが問題ないことを示しハザードレポートが出力される。
Therefore, the
以上説明したように、本発明の実施の形態では、デファイナ設計によりフリップフロップにより分周化されたクロックを用いた回路設計を行う場合に、トレース部12により、ネットリスト22内のフリップフロップが、デファイナツリーフリップフロップと、分周化フリップフロップと、その他の通常のフリップフロップとに分類される。このように、フリップフロップを分類することにより、以下のように、遅延制約問題、テスト時の問題、ハザードチェックの問題が改善できる。
As described above, in the embodiment of the present invention, when the circuit design using the clock divided by the flip-flop by the definer design is performed, the flip-flop in the
すなわち、本発明の実施の形態では、分類したフリップフロップの情報に基づいて、分周化フリップフロップとして分類されたフリップフロップの全集合を始点及び終点として遅延制約を生成することで、デファイナ回路設計時に分周化されたフリップフロップに対して手動で遅延制約を与える必要がなくなり、設計者の工数を削減できるとともに、人為的ミスの混入による設計後戻りを防止できる。 In other words, in the embodiment of the present invention, the delay constraint is generated by using the entire set of flip-flops classified as the frequency-divided flip-flops based on the information of the classified flip-flops as the start point and the end point. Sometimes it is not necessary to manually give delay constraints to the frequency-divided flip-flops, and the man-hours for the designer can be reduced, and the design can be prevented from being backtracked due to human error.
また、分類したフリップフロップの情報を基に、分周化フリップフロップとそれ以外のフリップフロップとで別系統のスキャンパスを挿入して、スキャン化済みネットリストを生成することで、従来は非スキャン化していた分周化フリップフロップを含めてフルスキャンできるため、検出率の向上につながる。 In addition, based on the information of the classified flip-flops, a scan path netlist is generated by inserting a separate scan path between the frequency-divided flip-flops and other flip-flops. Since a full scan can be performed including the frequency-divided flip-flop, the detection rate is improved.
また、分類したフリップフロップの情報に基づいて、ハザードチェック対象のフリップフロップを抽出し、ハザードの有無があるかどうかのチェックを行うことで、ハザードチェックすべきフリップフロップが自動で抽出され、従来のチェック対象フリップフロップを手動で抽出するという作業がなくなり、工数削減につながる。また、網羅的にチェックが行われるため、人為的ミスによるチェック漏れがなくなり、結果として実機におけるスタティックハザードによる誤動作を防止できる。 Also, based on the information of the classified flip-flops, the flip-flops that are subject to the hazard check are extracted, and the presence or absence of the hazard is checked, so that the flip-flops that should be checked for hazards are automatically extracted. There is no need to manually extract the flip-flops to be checked, leading to a reduction in man-hours. In addition, since checking is performed comprehensively, there is no check omission due to human error, and as a result, malfunction due to static hazard in an actual machine can be prevented.
本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。 The present invention is not limited to the above-described embodiments, and various modifications and applications can be made without departing from the gist of the present invention.
1:データ処理装置
2:記憶装置
11:合成部
12:トレース部
13:遅延制約生成部
14:スキャン回路生成部
15:最適化部
16:ハザードチェック部
21:RTL
22:ネットリスト
23:デファイナ信号情報
24:カテゴライズリスト
25:遅延制約情報
26:スキャン化済みネットリスト
27:最適化済みネットリスト
28:ハザードレポート
1: Data processing device 2: Storage device 11: Synthesis unit 12: Trace unit 13: Delay constraint generation unit 14: Scan circuit generation unit 15: Optimization unit 16: Hazard check unit 21: RTL
22: Net list 23: Definer signal information 24: Categorized list 25: Delay constraint information 26: Scanned net list 27: Optimized net list 28: Hazard report
Claims (10)
ネットリストとデファイナ信号情報とを参照して、前記ネットリスト中のフリップフロップを、デファイナツリーフリップフロップと、分周化フリップフロップと、通常のフリップフロップとに分類する手段を有する
ことを特徴とする回路設計装置。 In a circuit design apparatus that creates a tree using flip-flops and realizes an environment of a plurality of clocks in a pseudo manner using clocks divided by the flip-flops,
A means for classifying the flip-flops in the netlist into a definitive tree flip-flop, a frequency-dividing flip-flop, and a normal flip-flop with reference to the netlist and the definitive signal information; Circuit design equipment.
前記デファイナ信号情報を基に、デファイナ信号の源泉となるべき端子からファンアウト方向にトレースし、フリップフロップに到達したら、そのフリップフロップをデファイナツリーフリップフロップとしてリストに追加する手段と、
分周比をドライブするゲーティングセルの出力に直接接続されているフリップフロップを取得し、前記分周比をドライブするゲーティングセルに直接接続されているフリップフロップを分周化フリップフロップとして前記リストに追加する手段と、
全てのフリップフロップ群から、既に前記リストに追加されている前記デファイナツリーフリップフロップ及び前記分周化フリップフロップを取り除き、その残りのフリップフロップを通常フリップフロップして前記リストに追加する手段と
を有することを特徴とする請求項1に記載の回路設計装置。 The means for classifying the flip-flops is:
Based on the definator signal information, tracing from the terminal to be the source of the definator signal in the fan-out direction, and when the flip-flop is reached, means for adding the flip-flop to the list as a definitive tree flip-flop;
The flip-flop directly connected to the output of the gating cell that drives the division ratio is obtained, and the flip-flop that is directly connected to the gating cell that drives the division ratio is used as the division flip-flop. Means to add to,
Means for removing the refiner tree flip-flops and the frequency-dividing flip-flops already added to the list from all the flip-flop groups, and adding the remaining flip-flops to the list by performing normal flip-flops; The circuit design device according to claim 1 , comprising:
前記回路設計装置の分類手段が、ネットリストとデファイナ信号情報とを参照して、前記ネットリスト中のフリップフロップを、デファイナツリーフリップフロップと、分周化フリップフロップと、通常のフリップフロップとに分類する
ことを特徴とする回路設計方法。 A circuit design method for a circuit design device that creates a tree using flip-flops and realizes an environment of a plurality of clocks in a pseudo manner using clocks divided by the flip-flops ,
The classification means of the circuit design device refers to the netlist and the refiner signal information, and converts the flip-flops in the netlist into a refiner tree flip-flop, a frequency-dividing flip-flop, and a normal flip-flop. A circuit design method characterized by classification.
前記デファイナ信号情報を基に、デファイナ信号の源泉となるべき端子からファンアウト方向にトレースし、フリップフロップに到達したら、そのフリップフロップをデファイナツリーフリップフロップとしてリストに追加し、
分周比をドライブするゲーティングセルの出力に直接接続されているフリップフロップを取得し、前記分周比をドライブするゲーティングセルに直接接続されているフリップフロップを分周化フリップフロップとして前記リストに追加し、
全てのフリップフロップ群から、既に前記リストに追加されている前記デファイナツリーフリップフロップ及び前記分周化フリップフロップを取り除き、その残りのフリップフロップを通常フリップフロップして前記リストに追加する
ことを特徴とする請求項6に記載の回路設計方法。 Classification means of the circuit design device for classifying the flip-flops,
Based on the definator signal information, trace in the fanout direction from the terminal that should be the source of the definator signal, and when it reaches the flip-flop, add the flip-flop to the list as a definator tree flip-flop,
The flip-flop directly connected to the output of the gating cell that drives the division ratio is obtained, and the flip-flop that is directly connected to the gating cell that drives the division ratio is used as the division flip-flop. Add to
The refiner tree flip-flop and the frequency-divided flip-flop that have already been added to the list are removed from all the flip-flop groups, and the remaining flip-flops are added to the list as normal flip-flops. The circuit design method according to claim 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009243400A JP5440094B2 (en) | 2009-10-22 | 2009-10-22 | Circuit design apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009243400A JP5440094B2 (en) | 2009-10-22 | 2009-10-22 | Circuit design apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011090493A JP2011090493A (en) | 2011-05-06 |
JP5440094B2 true JP5440094B2 (en) | 2014-03-12 |
Family
ID=44108691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009243400A Expired - Fee Related JP5440094B2 (en) | 2009-10-22 | 2009-10-22 | Circuit design apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5440094B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5842442B2 (en) * | 2011-08-01 | 2016-01-13 | 株式会社ソシオネクスト | LSI design method, design program, and design apparatus |
CN102955867B (en) * | 2011-08-30 | 2017-03-22 | 三星半导体(中国)研究开发有限公司 | Method for generating gate-level netlist and standard delay file and checking and correcting false routes |
JP6048561B1 (en) * | 2015-10-20 | 2016-12-21 | 日本電気株式会社 | Data processing system, data processing method, and program |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3261079B2 (en) * | 1997-07-28 | 2002-02-25 | 富士通株式会社 | Logic circuit design support apparatus, logic circuit design support system, and logic circuit design support method |
JP4176906B2 (en) * | 1999-01-14 | 2008-11-05 | 株式会社ルネサステクノロジ | Static / dynamic timing verification method and storage medium |
JP2002083000A (en) * | 2000-09-06 | 2002-03-22 | Fujitsu Ltd | Logic circuit design method and logic circuit |
JP2006139722A (en) * | 2004-11-15 | 2006-06-01 | Canon Inc | Asynchronous signal verification method and device |
JP4221730B2 (en) * | 2006-05-09 | 2009-02-12 | 日本電気株式会社 | Circuit conjunction standard form generation method, circuit conjunction standard form generation apparatus, hazard check method, and hazard check apparatus |
JP2008123056A (en) * | 2006-11-08 | 2008-05-29 | Sharp Corp | Timing constraint-generating system of logic circuit and timing constraint-generating method of logic circuit, control program, and readable recording medium |
US7979732B2 (en) * | 2007-07-03 | 2011-07-12 | International Business Machines Corporation | Efficient utilization of a multi-source network of control logic to achieve timing closure in a clocked logic circuit |
-
2009
- 2009-10-22 JP JP2009243400A patent/JP5440094B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011090493A (en) | 2011-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8196076B2 (en) | Optimal flow in designing a circuit operable in multiple timing modes | |
US8271918B2 (en) | Formal verification of clock domain crossings | |
JP5410414B2 (en) | Circuit emulation input and delay input multiplexing | |
US7519927B1 (en) | Wiring methods to reduce metal variation effects on launch-capture clock pairs in order to minimize cycle-time overlap violations | |
JP5405451B2 (en) | Technology for use in automated circuit design and simulation | |
JP4078435B2 (en) | Logic integrated circuit, logic integrated circuit design method, and hardware description generation method for generating hardware operation description of logic integrated circuit | |
JP3851357B2 (en) | Timing characteristic extraction method for transistor circuit, storage medium storing timing characteristic library, LSI design method, and gate extraction method | |
US7210109B2 (en) | Equivalence checking of scan path flush operations | |
US20180246996A1 (en) | Design-for-testability (dft) insertion at register-transfer-level (rtl) | |
US8539400B2 (en) | Routability using multiplexer structures | |
US6675364B1 (en) | Insertion of scan hardware | |
JP5440094B2 (en) | Circuit design apparatus and method | |
US9449127B1 (en) | System for verifying timing constraints of IC design | |
CN107784185B (en) | Method and device for extracting pseudo path in gate-level netlist and terminal equipment | |
US7657851B2 (en) | Device, system, and method for correction of integrated circuit design | |
US8943457B2 (en) | Simulating scan tests with reduced resources | |
US20090234620A1 (en) | Verification support apparatus, verification support method, and computer product | |
US20070266348A1 (en) | Circuit conjunctive normal form generating method, circuit conjunctive normal form generating device, hazard check method and hazard check device | |
Engel et al. | Design methodology for IBM ASIC products | |
Semba et al. | Conversion from synchronous RTL models to asynchronous RTL models | |
Lee et al. | Learning from VLSI design experience | |
US6170072B1 (en) | Logic circuit verification apparatus and method for semiconductor integrated circuit | |
CN113919256A (en) | Boolean satisfiability verification method, system, CNF generation method and storage device | |
DN | Designing SPI to I2C protocol converter base on ASIC technology and implementing on the FPGA platform | |
JP4886559B2 (en) | Semiconductor design support apparatus, semiconductor design support method, and semiconductor design support program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120910 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130416 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130423 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130624 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131119 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131202 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5440094 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |