JP2010211550A - Circuit design program, circuit design method, and circuit design device - Google Patents

Circuit design program, circuit design method, and circuit design device Download PDF

Info

Publication number
JP2010211550A
JP2010211550A JP2009057307A JP2009057307A JP2010211550A JP 2010211550 A JP2010211550 A JP 2010211550A JP 2009057307 A JP2009057307 A JP 2009057307A JP 2009057307 A JP2009057307 A JP 2009057307A JP 2010211550 A JP2010211550 A JP 2010211550A
Authority
JP
Japan
Prior art keywords
signal
domain
circuit
logic
unit
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.)
Granted
Application number
JP2009057307A
Other languages
Japanese (ja)
Other versions
JP5146369B2 (en
Inventor
Takashi Matsuura
隆 松浦
Yukie Seki
幸恵 関
Koichi Itaya
剛一 板矢
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2009057307A priority Critical patent/JP5146369B2/en
Publication of JP2010211550A publication Critical patent/JP2010211550A/en
Application granted granted Critical
Publication of JP5146369B2 publication Critical patent/JP5146369B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To easily and reliably extract a synchronizing reset signal. <P>SOLUTION: A domain extraction means 2 extracts a domain of a signal as a candidate of a synchronizing reset signal of a sequential circuit to be designed. For example, in a circuit 5 shown in a Fig.1, the signal is back traced from an enable terminal of a D flip flop 6, and reaches an external input terminal. The signal (Clear) of the terminal is extracted as a domain. A measurement means 3 measures a signal value to be input to the sequential circuit by changing the logic of the extracted domain signal. In the circuit 5 shown in the Fig.1, a signal value to be input to the D flip flop 6 is measured by changing the logic of the signal (Clear). A synchronizing reset determination means 4 determines whether or not there exists a synchronizing reset signal on the basis of the signal value measured by the measurement means 3. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、回路設計プログラム、回路設計方法および回路設計装置に関する。   The present invention relates to a circuit design program, a circuit design method, and a circuit design apparatus.

主に、回路内で異常を検出したときに内部で生成したり、外部から入力したりしたときに、Dフリップフロップ等の順序回路を初期化するために使用するリセット信号が知られている。   A reset signal is mainly known that is used to initialize a sequential circuit such as a D flip-flop when it is generated internally when an abnormality is detected in the circuit or is input from the outside.

リセット信号には、同期リセット信号と非同期リセット信号の2つが存在する。同期リセット信号は、クロックに同期してフリップフロップを初期化する。また、非同期リセット信号は、クロック信号に無関係にリセット信号がONになったときにフリップフロップを初期化する。   There are two reset signals, a synchronous reset signal and an asynchronous reset signal. The synchronous reset signal initializes the flip-flop in synchronization with the clock. The asynchronous reset signal initializes the flip-flop when the reset signal is turned on regardless of the clock signal.

同期リセット信号は、現状では必要により人手で設定しているが、設定箇所が多く、設定漏れが存在したり、リセット状態になる固定値の設定に間違いが混入しやすかったりする。   The synchronization reset signal is manually set as necessary at present, but there are many setting locations, there is a setting omission, and it is easy to make an error in setting a fixed value to be in a reset state.

特開平10−340289号公報Japanese Patent Laid-Open No. 10-340289

非同期リセット信号を入力するフリップフロップには、非同期リセット入力端子が設けられており、非同期リセット信号は、直接、この入力端子に入力される。このため、非同期リセット信号は、フリップフロップのデータ入力を生成する論理に影響することはない。   An asynchronous reset input terminal is provided in a flip-flop that inputs an asynchronous reset signal, and the asynchronous reset signal is directly input to this input terminal. Thus, the asynchronous reset signal does not affect the logic that generates the data input of the flip-flop.

一方、同期リセット信号は、フリップフロップのデータ入力を生成する論理に影響を与える。例えば、異なるクロックで動作する回路の間でデータを転送する際に、誤動作等の問題が起きるかどうかをチェックする非同期構造チェックが知られている。このチェックでは、メタ・ステーブルの発生等を防止するために挿入した同期化回路(シンクロナイザ等)が、予め設定したルールに基づいて挿入されているかをチェックする。このチェックの際に、同期リセット信号の影響で、擬似エラー(実際には起こり得ない動作や事象に対してツールがエラー・レポートを出力する状況)が発生することがある。この疑似エラーが発生すると設計者が回路を見直す必要が生じる。   On the other hand, the synchronous reset signal affects the logic that generates the data input of the flip-flop. For example, an asynchronous structure check for checking whether a problem such as a malfunction occurs when transferring data between circuits operating with different clocks is known. In this check, it is checked whether the synchronization circuit (synchronizer or the like) inserted to prevent the occurrence of meta-stable is inserted based on a preset rule. During this check, a pseudo error (a situation where the tool outputs an error report for an operation or event that cannot actually occur) may occur due to the influence of the synchronous reset signal. When this pseudo error occurs, the designer needs to review the circuit.

また、論理合成においては、最適化によりリセットがかからない回路が生成されることがあり、やはりエラーが発生してしまい、設計者が回路を見直す必要が生じる。
本発明はこのような点に鑑みてなされたものであり、同期リセット信号を容易かつ確実に抽出することができる回路設計プログラム、回路設計方法および回路設計装置を提供することを目的とする。
In logic synthesis, a circuit that does not require resetting may be generated due to optimization, and an error will still occur, requiring the designer to review the circuit.
The present invention has been made in view of the above points, and an object thereof is to provide a circuit design program, a circuit design method, and a circuit design apparatus capable of easily and reliably extracting a synchronous reset signal.

上記目的を達成するために、開示の回路設計プログラムが提供される。この回路設計プログラムは、コンピュータを、ドメイン抽出手段、測定手段、および同期リセット判定手段として機能させる。   In order to achieve the above object, a disclosed circuit design program is provided. The circuit design program causes the computer to function as a domain extraction unit, a measurement unit, and a synchronization reset determination unit.

ドメイン抽出手段は、順序回路の同期リセット信号の候補となる信号のドメインを抽出する。
測定手段は、抽出されたドメインの信号の論理を変化させて順序回路に入力される信号値を測定する。
The domain extracting means extracts a domain of a signal that is a candidate for a synchronous reset signal of a sequential circuit.
The measuring means changes the logic of the extracted domain signal and measures the signal value input to the sequential circuit.

同期リセット判定手段は、測定手段によって測定された信号値に基づいて同期リセット信号が存在するか否かを判定する。   The synchronization reset determination unit determines whether or not there is a synchronization reset signal based on the signal value measured by the measurement unit.

開示の回路設計プログラムによれば、同期リセット信号を容易かつ確実に抽出することができる。   According to the disclosed circuit design program, the synchronous reset signal can be easily and reliably extracted.

実施の形態の回路設計装置の概要を示す図である。It is a figure which shows the outline | summary of the circuit design apparatus of embodiment. 回路設計装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of a circuit design apparatus. 回路設計装置の構成を示すブロック図である。It is a block diagram which shows the structure of a circuit design apparatus. 同期リセット抽出部の機能を示すブロック図である。It is a block diagram which shows the function of a synchronous reset extraction part. Dフリップフロップにイネーブル端子が存在する場合のドメイン抽出部の処理を示す図である。It is a figure which shows the process of the domain extraction part in case an enable terminal exists in D flip-flop. Dフリップフロップにイネーブル端子が存在しない場合のドメイン抽出部の処理を示す図である。It is a figure which shows the process of the domain extraction part when an enable terminal does not exist in D flip-flop. 同期リセット判定部の処理を説明する図である。It is a figure explaining the process of a synchronous reset determination part. 同期リセット抽出部の全体処理を示すフローチャートである。It is a flowchart which shows the whole process of a synchronous reset extraction part. Dフリップフロップにイネーブル端子が存在する場合のドメイン抽出部の処理を示すフローチャートである。It is a flowchart which shows the process of the domain extraction part in case an enable terminal exists in D flip-flop. Dフリップフロップにイネーブル端子が存在しない場合のドメイン抽出部の処理を示すフローチャートである。It is a flowchart which shows the process of the domain extraction part when an enable terminal does not exist in D flip-flop. 判定処理を示すフローチャートである。It is a flowchart which shows a determination process. 同期リセット抽出処理の具体例を示す図である。It is a figure which shows the specific example of a synchronous reset extraction process. 同期リセット抽出処理の具体例を示す図である。It is a figure which shows the specific example of a synchronous reset extraction process. 同期リセット抽出処理の具体例を示す図である。It is a figure which shows the specific example of a synchronous reset extraction process. 同期リセット抽出処理の具体例を示す図である。It is a figure which shows the specific example of a synchronous reset extraction process. 抽出した同期リセットを回路設計に適用する場合の処理フローを示す図である。It is a figure which shows the processing flow in the case of applying the extracted synchronous reset to circuit design. 非同期構造チェック部にレポートを読み込ませたときの例を示す図である。It is a figure which shows an example when a report is read into an asynchronous structure check part. 非同期構造チェック部の処理を示すフローチャートである。It is a flowchart which shows the process of an asynchronous structure check part. 論理合成部にレポートを読み込ませたときの例を示す図である。It is a figure which shows an example when a logic synthetic | combination part reads a report.

以下、実施の形態を、図面を参照して詳細に説明する。
まず、実施の形態の回路設計装置について説明し、その後、実施の形態をより具体的に説明する。
Hereinafter, embodiments will be described in detail with reference to the drawings.
First, a circuit design apparatus according to an embodiment will be described, and then the embodiment will be described more specifically.

図1は、実施の形態の回路設計装置の概要を示す図である。
実施の形態の回路設計プログラムは、コンピュータ(回路設計装置)1を、ドメイン抽出手段2、測定手段3、および同期リセット判定手段4として機能させる。
FIG. 1 is a diagram illustrating an outline of a circuit design apparatus according to an embodiment.
The circuit design program according to the embodiment causes a computer (circuit design apparatus) 1 to function as the domain extraction unit 2, the measurement unit 3, and the synchronization reset determination unit 4.

ドメイン抽出手段2は、設計対象の回路における順序回路の同期リセット信号の候補となる信号のドメインを抽出する。
具体的には、順序回路にイネーブル端子が存在する場合、ドメイン抽出手段2は、イネーブル端子からバックトレースし、外部入力端子、他の順序回路またはブラックボックスに到達した端子の信号をドメインとして抽出するのが好ましい。これにより、ドメインを容易かつ確実に抽出することができる。
The domain extraction unit 2 extracts a domain of a signal that is a candidate for a synchronous reset signal of a sequential circuit in a circuit to be designed.
Specifically, when the enable terminal is present in the sequential circuit, the domain extracting unit 2 backtraces from the enable terminal and extracts the signal of the terminal that has reached the external input terminal, another sequential circuit, or the black box as a domain. Is preferred. Thereby, a domain can be extracted easily and reliably.

例えば、図1に示す回路5では、Dフリップフロップ6のイネーブル端子からバックトレースし、インバータ7およびAND回路8を経由して外部入力端子に到達している。そしてその端子の信号(Clear)をドメインとして抽出する。   For example, in the circuit 5 shown in FIG. 1, back tracing is performed from the enable terminal of the D flip-flop 6, and the external input terminal is reached via the inverter 7 and the AND circuit 8. Then, the signal (Clear) of the terminal is extracted as a domain.

また、図1には図示していないが、順序回路にイネーブル端子が存在しない場合、ドメイン抽出手段2は、順序回路の出力信号の論理に関係する条件の属する信号のドメインを抽出するのが好ましい。これにより、フリップフロップのドメインを容易かつ確実に抽出することができる。   Although not shown in FIG. 1, when there is no enable terminal in the sequential circuit, the domain extracting means 2 preferably extracts a domain of a signal to which a condition related to the logic of the output signal of the sequential circuit belongs. . As a result, the flip-flop domain can be easily and reliably extracted.

測定手段3は、抽出されたドメインの信号の論理を変化させて順序回路に入力される信号値を測定する。図1に示す回路5では、信号(Clear)の論理を変化させてDフリップフロップ6に入力される信号値を測定する。   The measuring means 3 changes the logic of the extracted domain signal and measures the signal value input to the sequential circuit. In the circuit 5 shown in FIG. 1, the signal value input to the D flip-flop 6 is measured by changing the logic of the signal (Clear).

同期リセット判定手段4は、測定手段によって測定された信号値に基づいて同期リセット信号が存在するか否かを判定する。具体的には、順序回路に入力される信号値が、定数、かつ、定数が全て同一である場合、同期リセット信号が存在すると判断するのが好ましい。これにより、リセット信号が存在するか否かを確実に判定することができる。   The synchronization reset determination unit 4 determines whether or not a synchronization reset signal exists based on the signal value measured by the measurement unit. Specifically, when the signal values input to the sequential circuit are constants and the constants are all the same, it is preferable to determine that a synchronous reset signal exists. Thereby, it can be determined reliably whether a reset signal exists.

このような回路設計装置1によれば、ドメイン抽出手段2によりドメインを抽出し、同期リセット判定手段4により、同期リセット信号が存在するか否かを判定することで、同期リセット信号を容易かつ確実に抽出することができる。   According to such a circuit design device 1, the domain extraction unit 2 extracts the domain, and the synchronization reset determination unit 4 determines whether or not the synchronization reset signal exists, thereby easily and reliably generating the synchronization reset signal. Can be extracted.

以下、実施の形態をより具体的に説明する。
図2は、回路設計装置のハードウェア構成例を示す図である。
回路設計装置10は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス108を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、外部補助記憶装置106および通信インタフェース107が接続されている。
Hereinafter, the embodiment will be described more specifically.
FIG. 2 is a diagram illustrating a hardware configuration example of the circuit design apparatus.
The entire circuit design apparatus 10 is controlled by a CPU (Central Processing Unit) 101. A random access memory (RAM) 102, a hard disk drive (HDD) 103, a graphic processing device 104, an input interface 105, an external auxiliary storage device 106, and a communication interface 107 are connected to the CPU 101 via a bus 108. Yes.

RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。また、HDD103内には、プログラムファイルが格納される。   The RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 102 stores various data necessary for processing by the CPU 101. The HDD 103 stores an OS and application programs. A program file is stored in the HDD 103.

グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aの画面に表示させる。入力インタフェース105には、キーボード105aとマウス105bとが接続されている。入力インタフェース105は、キーボード105aやマウス105bから送られてくる信号を、バス108を介してCPU101に送信する。   A monitor 104 a is connected to the graphic processing device 104. The graphic processing device 104 displays an image on the screen of the monitor 104a in accordance with a command from the CPU 101. A keyboard 105 a and a mouse 105 b are connected to the input interface 105. The input interface 105 transmits a signal transmitted from the keyboard 105 a and the mouse 105 b to the CPU 101 via the bus 108.

外部補助記憶装置106は、記録媒体に書き込まれた情報を読み取ったり、記録媒体に情報を書き込んだりする。外部補助記憶装置106で読み書きが可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、HDD、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。   The external auxiliary storage device 106 reads information written on the recording medium and writes information on the recording medium. Examples of the recording medium that can be read and written by the external auxiliary storage device 106 include a magnetic recording device, an optical disc, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic recording device include an HDD, a flexible disk (FD), and a magnetic tape. Examples of the optical disc include a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable) / RW (ReWritable). Examples of the magneto-optical recording medium include MO (Magneto-Optical disk).

通信インタフェース107は、ネットワーク30に接続されている。通信インタフェース107は、ネットワーク30を介して、他のコンピュータとの間でデータの送受信を行う。   The communication interface 107 is connected to the network 30. The communication interface 107 transmits and receives data to and from other computers via the network 30.

以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。このようなハードウェア構成の回路設計装置10内には、以下のような機能が設けられる。   With the hardware configuration as described above, the processing functions of the present embodiment can be realized. The following functions are provided in the circuit design device 10 having such a hardware configuration.

図3は、回路設計装置の構成を示すブロック図である。
回路設計装置10は、HDL記述格納部11と、ライブラリ格納部12と、同期リセット抽出部13と、同期リセット格納部14とを有している。
FIG. 3 is a block diagram showing the configuration of the circuit design apparatus.
The circuit design device 10 includes an HDL description storage unit 11, a library storage unit 12, a synchronization reset extraction unit 13, and a synchronization reset storage unit 14.

HDL記述格納部11は、RTL(Register Transfer Level)またはネットリスト等の設計対象の回路に関するハードウェア記述言語(Hardware Description Language:HDL)で表したHDL記述を格納している。   The HDL description storage unit 11 stores an HDL description expressed in hardware description language (HDL) related to a circuit to be designed such as RTL (Register Transfer Level) or a netlist.

ライブラリ格納部12は、ネットリストの部品情報やピンアサインに一致するライブラリを格納している。
同期リセット抽出部13は、ハードウェア記述言語のフリップフロップ記述部分を取り出して、そのフリップフロップのイネーブル端子の有無によって異なる方法で同期リセット記述部分を抽出(以下、単に「同期リセットを抽出」と言う)する。
The library storage unit 12 stores a library that matches the component information and pin assignment of the netlist.
The synchronous reset extraction unit 13 takes out the flip-flop description part of the hardware description language, and extracts the synchronous reset description part in a different manner depending on the presence / absence of the enable terminal of the flip-flop (hereinafter simply referred to as “extract synchronous reset”). )

同期リセット格納部14は、同期リセット抽出部13によって抽出された同期リセットの信号名やリセット値を格納する。
次に、同期リセット抽出部13の機能を説明する。
The synchronization reset storage unit 14 stores the signal name and reset value of the synchronization reset extracted by the synchronization reset extraction unit 13.
Next, the function of the synchronous reset extraction unit 13 will be described.

図4は、同期リセット抽出部の機能を示すブロック図である。
同期リセット抽出部13は、ドメイン抽出部131と、ドメイン一覧格納部132と、定数伝播部133と、同期リセット判定部134とを有している。
FIG. 4 is a block diagram illustrating the function of the synchronous reset extraction unit.
The synchronization reset extraction unit 13 includes a domain extraction unit 131, a domain list storage unit 132, a constant propagation unit 133, and a synchronization reset determination unit 134.

ドメイン抽出部131は、Dフリップフロップにイネーブル端子が存在するか否かにより異なった抽出方法でドメインを抽出する。ここで、イネーブル端子は、RTL記述を読み込み、パーズ(文法違反のチェック)、およびエラボレート(モジュールの階層チェック)を行った後の簡易合成により、Dフリップフロップの出力データが決定する条件が全て網羅されていない場合、網羅されない条件として生成される端子である。   The domain extraction unit 131 extracts a domain by a different extraction method depending on whether an enable terminal exists in the D flip-flop. Here, the enable terminal covers all the conditions for determining the output data of the D flip-flop by simple synthesis after reading the RTL description, performing parsing (checking for grammatical violations), and elaborating (checking the module hierarchy). If not, the terminal is generated as a condition not covered.

まず、Dフリップフロップにイネーブル端子が存在する場合のドメイン抽出部131の処理を説明する。
ドメイン抽出部131は、Dフリップフロップのイネーブル端子から組み合わせ論理をバックトレースし、外部入力端子、Dフリップフロップ出力端子またはブラックボックスに到達した端子の属するネット信号をドメインとして抽出する。抽出したドメインは、ドメイン一覧格納部132に格納する。ここで、ブラックボックスとは、HDL記述が存在しない、または、PLL、I/O等合成スタイルに則っていないRTL記述を言う。
First, the processing of the domain extraction unit 131 when the D flip-flop has an enable terminal will be described.
The domain extraction unit 131 backtraces the combinational logic from the enable terminal of the D flip-flop, and extracts a net signal to which the external input terminal, the D flip-flop output terminal, or the terminal reaching the black box belongs as a domain. The extracted domain is stored in the domain list storage unit 132. Here, the black box means an RTL description that does not have an HDL description or does not conform to a synthesis style such as PLL and I / O.

図5は、Dフリップフロップにイネーブル端子が存在する場合のドメイン抽出部の処理を示す図である。
図5に示す回路20は、セレクタSel1とレジスタReg1とを備えるDフリップフロップ21と、Clear信号をDフリップフロップ21に供給するAND回路AND1およびAND回路AND2と、インバータInv1〜Inv3とを有している。
FIG. 5 is a diagram illustrating processing of the domain extraction unit when the D flip-flop has an enable terminal.
The circuit 20 shown in FIG. 5 includes a D flip-flop 21 including a selector Sel1 and a register Reg1, an AND circuit AND1 and an AND circuit AND2 that supply a Clear signal to the D flip-flop 21, and inverters Inv1 to Inv3. Yes.

レジスタReg1には、クロック信号(clk)が供給されている。
図5に示す例では、ドメイン抽出部131は、イネーブル端子Eからバックトレースを開始する。すると、インバータInv1を経由してAND回路AND2に到達する。
A clock signal (clk) is supplied to the register Reg1.
In the example illustrated in FIG. 5, the domain extraction unit 131 starts backtrace from the enable terminal E. Then, it reaches the AND circuit AND2 via the inverter Inv1.

AND回路AND2は、外部入力端子、Dフリップフロップ出力端子またはブラックボックスのいずれにも該当しないので、AND回路AND2の入力側から再度バックトレースを開始する。すると、インバータInv2を経由して到達したネット信号(Clear)を抽出する。   Since the AND circuit AND2 does not correspond to any of the external input terminal, the D flip-flop output terminal, and the black box, the back trace is started again from the input side of the AND circuit AND2. Then, the net signal (Clear) reached via the inverter Inv2 is extracted.

次に、ドメイン抽出部131は、イネーブル端子Eから再びバックトレースを開始する。すると、インバータInv1を経由してAND回路AND2に到達する。AND回路AND2の入力側から再度バックトレースを開始する。すると、インバータInv3を経由して到達したネット信号(InCtrl)を抽出する。   Next, the domain extraction unit 131 starts backtrace from the enable terminal E again. Then, it reaches the AND circuit AND2 via the inverter Inv1. Back tracing is started again from the input side of the AND circuit AND2. Then, the net signal (InCtrl) reached via the inverter Inv3 is extracted.

次に、Dフリップフロップにイネーブル端子が存在しない場合のドメイン抽出部131の処理を説明する。
図6は、Dフリップフロップにイネーブル端子が存在しない場合のドメイン抽出部の処理を示す図である。
Next, processing of the domain extraction unit 131 when there is no enable terminal in the D flip-flop will be described.
FIG. 6 is a diagram illustrating processing of the domain extraction unit when there is no enable terminal in the D flip-flop.

ドメイン抽出部131は、RTL記述を読み込み、パーズ・エラボレート後に、その記述の制御とデータの流れを示すCDFG(Control Data Flow Graph)を作成する。そして、Dフリップフロップとなる信号の論理に関係する条件(コントロール)の属するネット信号をドメインとして抽出する。抽出したドメインは、ドメイン一覧格納部132に格納する。   The domain extraction unit 131 reads the RTL description, and after parsing and elaborating, creates a CDFG (Control Data Flow Graph) indicating the control of the description and the data flow. Then, a net signal to which a condition (control) related to the logic of the signal to be the D flip-flop belongs is extracted as a domain. The extracted domain is stored in the domain list storage unit 132.

図6に示す例では、RTL記述31を読み込んで作成されたCDFG32を図示している。
if文やCase文等の分岐条件がコントロール部(図6中、三角の部分)になる。また、代入文がデータ部(図6中、四角い部分)になる。
In the example shown in FIG. 6, the CDFG 32 created by reading the RTL description 31 is illustrated.
A branch condition such as an “if” statement or a “Case” statement becomes a control portion (a triangular portion in FIG. 6). Further, the assignment statement becomes a data portion (square portion in FIG. 6).

ドメイン抽出部131は、CDFG32から、Dフリップフロップとなる信号(Outdata)の論理に関係する条件の属するネット信号(ClearおよびInCtrl)をドメインとして抽出する。   The domain extraction unit 131 extracts, from the CDFG 32, net signals (Clear and InCtrl) to which a condition relating to the logic of the signal (Outdata) serving as the D flip-flop belongs.

定数伝播部133は、抽出したドメインに全パターン(2のべき乗)の定数を設定する。そして、シミュレーションにより、定数を伝播させる。具体的には、抽出したドメインのネット信号に「0」および「1」を与える。また、それ以外のネット信号に論理「X」を与える。   The constant propagation unit 133 sets constants of all patterns (powers of 2) in the extracted domain. And a constant is propagated by simulation. Specifically, “0” and “1” are given to the extracted net signal of the domain. Further, logic “X” is given to other net signals.

そして、ドメインの全パターンについて、シミュレーションによる定数伝播を行い、Dフリップフロップ入力のネット信号値を観測する。
図5に示す回路20を用いて定数伝播の観測処理を説明すると、抽出したドメインのネット信号(ClearおよびInCtrl)にそれぞれ「0」および「1」を与える。また、それ以外のネット信号(InData)に論理「X」を与える。そして、ドメインの全パターン22数=4について、シミュレーションを行って定数を伝播させ、Dフリップフロップ21の入力端子Dのネット信号値を観測する。
Then, constant propagation by simulation is performed for all the patterns of the domain, and the net signal value of the D flip-flop input is observed.
Referring to the constant propagation observation process using the circuit 20 shown in FIG. 5, “0” and “1” are given to the extracted net signals (Clear and InCtrl) of the domain, respectively. Further, logic “X” is given to the other net signals (InData). Then, a simulation is performed for the total number of domain patterns 2 2 = 4 to propagate the constants, and the net signal value at the input terminal D of the D flip-flop 21 is observed.

同期リセット判定部134は、ドメインの全パターンのシミュレーション結果で、観測箇所のDフリップフロップ入力が定数(0または1)となることがあり、かつ、定数の値が全て同一である場合、同期リセット信号が、抽出したドメインの中に存在すると判定する。   The synchronization reset determination unit 134 performs the synchronization reset when the D flip-flop input at the observation point may be a constant (0 or 1) and all the constant values are the same in the simulation result of all patterns of the domain. It is determined that the signal exists in the extracted domain.

また、同期リセット判定部134は、同期リセット信号が存在すると判定した場合、Dフリップフロップ入力が定数となるドメインの入力パターンをAND論理とし、定数となるパターン数分のOR論理として論理式を生成する。そして、その論理式の論理最適化を行う。そして、論理最適化した論理式に残った信号を同期リセット信号として、論理式の信号が肯定・否定によりリセット値を「1」・「0」として抽出する。   When the synchronization reset determination unit 134 determines that there is a synchronization reset signal, the input pattern of the domain in which the D flip-flop input is a constant is AND logic, and a logical expression is generated as the OR logic for the number of patterns that are constant. To do. Then, logical optimization of the logical expression is performed. Then, the signal remaining in the logical expression that is logically optimized is extracted as a synchronous reset signal, and the reset value is extracted as “1” and “0” when the logical expression signal is affirmative / negative.

図7は、同期リセット判定部の処理を説明する図である。
図7に示すテーブル41は、観測結果を示すテーブル(表)である。
テーブル41は、ドメインのネット信号、ドメイン以外のネット信号および観測するDFF入力の欄が設けられており、横方向に並べられた情報同士が互いに関連づけられている。
FIG. 7 is a diagram for explaining the processing of the synchronization reset determination unit.
A table 41 shown in FIG. 7 is a table (table) showing observation results.
The table 41 includes columns of domain net signals, non-domain net signals, and DFF input to be observed, and pieces of information arranged in the horizontal direction are associated with each other.

ドメインのネット信号の欄には、抽出されたドメインを識別するドメイン名が設定されている。そして、その下部には観測処理にてドメインのネット信号に与えた論理のパターンが設定されている。   In the domain net signal column, a domain name for identifying the extracted domain is set. In the lower part, the logic pattern given to the net signal of the domain in the observation process is set.

ドメイン以外のネット信号の欄には、ドメイン以外のネット信号を識別する信号名が設定されている。そして、その下部にはその信号名が取り得る論理のパターンが設定されている。   In the column of net signals other than the domain, signal names for identifying net signals other than the domain are set. In the lower part, logic patterns that can be taken by the signal names are set.

DFF入力の欄には、ドメインのネット信号の欄に設定された論理のパターンが入力されたときのDフリップフロップの入力端子で観測された値が設定されている。
図7に示す例では、観測箇所のDフリップフロップの入力端子の論理が、テーブル41の3番目および4番目のパターンにていずれも「0」になっている。このため、観測箇所のDフリップフロップの入力が定数(0または1)となることがあり、かつ、定数の値が全て同一であるという条件を満たしている。従って、同期リセット判定部134は、同期リセット信号が存在すると判定する。
The value observed at the input terminal of the D flip-flop when the logic pattern set in the domain net signal field is input is set in the DFF input field.
In the example shown in FIG. 7, the logic of the input terminal of the D flip-flop at the observation location is “0” in the third and fourth patterns of the table 41. For this reason, the input of the D flip-flop at the observation point may be a constant (0 or 1), and the condition that the values of the constants are all the same is satisfied. Therefore, the synchronization reset determination unit 134 determines that a synchronization reset signal exists.

そして、Dフリップフロップの入力端子の論理が定数となるドメインの論理のパターン(図7中、3番目および4番目のパターン)をAND論理とし、定数となるパターン数分のOR論理として論理式を生成する。そして、生成された論理式(Clear & ~InCtrl + Clear & InCtrl)から論理最適化した論理式(Clear)に残ったネット信号(Clear)を同期リセット信号として抽出する。   Then, the logic pattern of the domain in which the logic of the input terminal of the D flip-flop is a constant (the third and fourth patterns in FIG. 7) is AND logic, and the logical expression is OR logic for the number of patterns that are constant. Generate. Then, the net signal (Clear) remaining in the logical expression (Clear) that has been optimized from the generated logical expression (Clear & ~ InCtrl + Clear & InCtrl) is extracted as a synchronous reset signal.

次に、同期リセット抽出部13の全体処理を説明する。
図8は、同期リセット抽出部の全体処理を示すフローチャートである。
まず、同期リセット抽出対象のDフリップフロップを取り出す(ステップS1)。
Next, the whole process of the synchronous reset extraction part 13 is demonstrated.
FIG. 8 is a flowchart showing the overall processing of the synchronous reset extraction unit.
First, the D flip-flop from which synchronous reset is extracted is extracted (step S1).

次に、ドメイン抽出部131が、取り出したDフリップフロップのドメインを抽出する(ステップS2)。
次に、定数伝播部133が、定数伝播の観測を行う(ステップS3)。すなわち、ドメインに定数値、それ以外に「X」を設定し、シミュレーション後のDフリップフロップの入力端子の論理を観測する。
Next, the domain extraction unit 131 extracts the domain of the extracted D flip-flop (step S2).
Next, the constant propagation unit 133 observes constant propagation (step S3). That is, a constant value is set in the domain, and “X” is set in the domain, and the logic of the input terminal of the D flip-flop after the simulation is observed.

次に、同期リセット判定部134が、判定処理を行う(ステップS4)。
以上で全体処理の説明を終了する。
次に、イネーブル端子が存在するDフリップフロップのドメイン抽出部131の処理を説明する。
Next, the synchronous reset determination unit 134 performs determination processing (step S4).
This is the end of the description of the entire process.
Next, the processing of the domain extraction unit 131 of the D flip-flop having the enable terminal will be described.

図9は、Dフリップフロップにイネーブル端子が存在する場合のドメイン抽出部の処理を示すフローチャートである。
まず、Dフリップフロップのイネーブル端子からバックトレースを行う(ステップS11)。
FIG. 9 is a flowchart showing the processing of the domain extraction unit when the D flip-flop has an enable terminal.
First, back tracing is performed from the enable terminal of the D flip-flop (step S11).

次に、バックトレースが終了したか否かを判断する(ステップS12)。
バックトレースが終了した場合(ステップS12のYes)、ドメイン抽出処理を終了する。
Next, it is determined whether or not the backtrace is finished (step S12).
When the backtrace is finished (Yes in step S12), the domain extraction process is finished.

一方、バックトレースが終了していない場合(ステップS12のNo)、到達したポイントをチェックする(ステップS13)。
そして、到達したポイントが外部入力、フリップフロップまたはブラックボックスのいずれか否かを判断する(ステップS14)。
On the other hand, if the backtrace has not ended (No in step S12), the reached point is checked (step S13).
Then, it is determined whether the reached point is an external input, a flip-flop, or a black box (step S14).

ポイントが、外部出力、フリップフロップまたはブラックボックスのいずれかではない場合、到達したポイントの入力側からバックトレースする(ステップS15)。その後、ステップS12に移行し、ステップS12以降の処理を引き続き行う。   When the point is not one of the external output, the flip-flop, and the black box, back tracing is performed from the input side of the reached point (step S15). Thereafter, the process proceeds to step S12, and the processing after step S12 is continued.

一方、ポイントが、外部出力、フリップフロップまたはブラックボックスのいずれかである場合(ステップS14のYes)、到達したネット信号をドメインとしてドメイン一覧格納部132に格納(追加)する(ステップS16)。その後、ステップS12に移行し、ステップS12以降の処理を引き続き行う。   On the other hand, when the point is any one of an external output, a flip-flop, and a black box (Yes in step S14), the reached net signal is stored (added) in the domain list storage unit 132 as a domain (step S16). Thereafter, the process proceeds to step S12, and the processing after step S12 is continued.

以上でドメイン抽出部131の処理の説明を終了する。
次に、イネーブル端子が存在しないDフリップフロップのドメイン抽出部131の処理を説明する。
Above, description of the process of the domain extraction part 131 is complete | finished.
Next, processing of the domain extraction unit 131 of the D flip-flop having no enable terminal will be described.

図10は、Dフリップフロップにイネーブル端子が存在しない場合のドメイン抽出部の処理を示すフローチャートである。
まず、CDFGからDフリップフロップの条件信号を抽出する(ステップS21)。
FIG. 10 is a flowchart showing the processing of the domain extracting unit when there is no enable terminal in the D flip-flop.
First, a condition signal for the D flip-flop is extracted from CDFG (step S21).

次に、Dフリップフロップの条件信号の抽出が終了したか否かを判断する(ステップS22)。
抽出が終了した場合(ステップS22のYes)、処理を終了する。
Next, it is determined whether or not the extraction of the condition signal of the D flip-flop has been completed (step S22).
When the extraction is finished (Yes in step S22), the process is finished.

一方、抽出が終了していない場合(ステップS22のNo)、Dフリップフロップ信号のコントロールを抽出する(ステップS23)。
そして、抽出した条件信号をドメインとしてドメイン一覧格納部132に格納(追加)する(ステップS24)。その後、ステップS22に移行し、ステップS22以降の処理を引き続き行う。
On the other hand, if the extraction has not ended (No in step S22), the control of the D flip-flop signal is extracted (step S23).
Then, the extracted condition signal is stored (added) as a domain in the domain list storage unit 132 (step S24). Thereafter, the process proceeds to step S22, and the processes after step S22 are continued.

以上でドメイン抽出部の処理の説明を終了する。
次に、ステップS4の判定処理を説明する。
図11は、判定処理を示すフローチャートである。
This is the end of the description of the processing of the domain extraction unit.
Next, the determination process in step S4 will be described.
FIG. 11 is a flowchart showing the determination process.

まず、観測結果を示すテーブル41を読み込む(ステップS31)。
次に、テーブル41の、あるビットのDFF入力の信号値が定数値か否かを判断する(ステップS32)。
First, the table 41 indicating the observation result is read (step S31).
Next, it is determined whether or not the signal value of the DFF input of a certain bit in the table 41 is a constant value (step S32).

DFF入力の観測値が定数値ではない場合(ステップS32のNo)、ステップS35に移行する。
一方、DFF入力の観測値が定数値である場合(ステップS32のYes)、ドメインに設定したパターンよりAND論理を生成する(ステップS33)。
When the observed value of the DFF input is not a constant value (No in step S32), the process proceeds to step S35.
On the other hand, if the observed value of the DFF input is a constant value (Yes in step S32), AND logic is generated from the pattern set in the domain (step S33).

次に、生成したAND論理をOR論理に追加する(ステップS34)。
次に、全てのパターンの論理式を生成したか否かを判断する(ステップS35)。
全てのパターンの論理式を生成していない場合(ステップS35のNo)、ステップS32に移行し、次のビットのDFF入力の観測値について、ステップS32以降の処理を引き続き行う。
Next, the generated AND logic is added to the OR logic (step S34).
Next, it is determined whether or not logical expressions for all patterns have been generated (step S35).
When the logical expressions of all the patterns have not been generated (No in Step S35), the process proceeds to Step S32, and the processing after Step S32 is continued for the observation value of the DFF input of the next bit.

一方、全てのパターンの論理式を生成した場合(ステップS35のYes)、生成した論理式を最適化する(ステップS36)。そして、論理式に残った信号を同期リセット信号として抽出する。   On the other hand, when the logical expressions of all patterns are generated (Yes in step S35), the generated logical expressions are optimized (step S36). Then, the signal remaining in the logical expression is extracted as a synchronous reset signal.

以上で判定処理の説明を終了する。なお、判定処理は、フリップフロップの1ビット毎に行う。
次に、同期リセット抽出処理の具体例を説明する。
This is the end of the description of the determination process. The determination process is performed for each bit of the flip-flop.
Next, a specific example of the synchronous reset extraction process will be described.

<具体例1>
図12は、同期リセット抽出処理の具体例を示す図である。
図12(a)に示すRTL記述31aは、定数が出力に代入されている。すなわち、入力信号はないが、制御信号でフリップフロップの「0」、「1」を変える。具体的には、InCtrl1のときに1になる。Inctrl2のときに「0」になる。
<Specific example 1>
FIG. 12 is a diagram illustrating a specific example of the synchronous reset extraction process.
In the RTL description 31a shown in FIG. 12A, constants are substituted into the output. That is, although there is no input signal, “0” and “1” of the flip-flop are changed by the control signal. Specifically, it is 1 when InCtrl1. It becomes “0” in the case of Inctr2.

ドメイン抽出部131は、RTL記述31aからネット信号(InCtrl1およびInCtrl2)をドメインとして抽出する。
そして、同期リセット判定部134は、図12(b)に示す、定数伝播部133が定数伝播の観測処理を行って得られたテーブル41aを参照する。すると、Dフリップフロップの入力端子の論理が定数になることはあるが、定数の値が同一ではないため同期リセットが存在しないと判定する。
The domain extraction unit 131 extracts net signals (InCtrl1 and InCtrl2) from the RTL description 31a as domains.
Then, the synchronous reset determination unit 134 refers to the table 41a shown in FIG. 12B obtained by the constant propagation unit 133 performing the constant propagation observation process. Then, although the logic of the input terminal of the D flip-flop may become a constant, it is determined that there is no synchronous reset because the values of the constants are not the same.

<具体例2>
図13は、同期リセット抽出処理の具体例を示す図である。
ドメイン抽出部131は、図13(a)に示すRTL記述31bからネット信号(Clear、InitおよびInCtrl)をドメインとして抽出する。
<Specific example 2>
FIG. 13 is a diagram illustrating a specific example of the synchronous reset extraction process.
The domain extraction unit 131 extracts net signals (Clear, Init, and InCtrl) as domains from the RTL description 31b illustrated in FIG.

そして、同期リセット判定部134は、図13(b)に示す、定数伝播部133が定数伝播の観測処理を行って得られたテーブル41bを参照する。すると、Dフリップフロップの入力端子の論理が3番目〜8番目のパターンにていずれも同一の定数「0」になっている。   Then, the synchronization reset determination unit 134 refers to the table 41b obtained by the constant propagation unit 133 performing the constant propagation observation process illustrated in FIG. Then, the logic of the input terminal of the D flip-flop is the same constant “0” in the third to eighth patterns.

このため、定数となるドメインの論理のパターンをAND論理とし、定数となるパターン数分のOR論理として生成される論理式(~Clear & Init & ~InCtrl + ~Clear & Init & InCtrl + Clear & ~Init & ~InCtrl + Clear & ~Init & InCtrl + Clear & Init & ~InCtrl + Clear & Init & InCtrl)から論理最適化した論理式(Clear + Init)に残ったネット信号(Clear,Init)を同期リセット信号として抽出する。リセット値は、ともに「1」である。   Therefore, the logical pattern of the domain that becomes a constant is AND logic, and a logical expression (~ Clear & Init & ~ InCtrl + ~ Clear & Init & InCtrl + Clear & ~ Init & ~ InCtrl + Clear & ~ Init & InCtrl + Clear & Init & ~ InCtrl + Clear & Init & InCtrl Extract as a signal. Both reset values are “1”.

<具体例3>
図14は、同期リセット抽出処理の具体例を示す図である。
ドメイン抽出部131は、図14(a)に示すRTL記述31cからネット信号(Clear、InitおよびInCtrl)をドメインとして抽出する。
<Specific example 3>
FIG. 14 is a diagram illustrating a specific example of the synchronous reset extraction process.
The domain extracting unit 131 extracts net signals (Clear, Init, and InCtrl) as domains from the RTL description 31c illustrated in FIG.

そして、同期リセット判定部134は、図14(b)に示す、定数伝播部133が定数伝播の観測処理を行って得られたテーブル41cを参照する。すると、Dフリップフロップの入力端子の論理が7番目および8番目のパターンにていずれも「0」になっている。   Then, the synchronization reset determination unit 134 refers to the table 41c obtained by the constant propagation unit 133 performing the constant propagation observation process illustrated in FIG. Then, the logic of the input terminal of the D flip-flop is “0” in both the seventh and eighth patterns.

このため、定数となるドメインの論理のパターンをAND論理とし、定数となるパターン数分のOR論理として生成される論理式(Clear & Init & ~InCtrl + Clear & Init & InCtrl)から論理最適化した論理式(Clear & Init)に残ったネット信号(Clear,Init)を同期リセット信号として抽出する。リセット値は、ともに「1」である。   For this reason, the logic pattern of the domain that becomes a constant is AND logic, and the logic is optimized from a logical expression (Clear & Init & ~ InCtrl + Clear & Init & InCtrl) that is generated as OR logic for the number of constant patterns. The net signal (Clear, Init) remaining in the logical expression (Clear & Init) is extracted as a synchronous reset signal. Both reset values are “1”.

<具体例4>
図15は、同期リセット抽出処理の具体例を示す図である。
ドメイン抽出部131は、図15(a)に示すRTL記述31dからネット信号(ClearおよびInCtrl)をドメインとして抽出する。
<Specific Example 4>
FIG. 15 is a diagram illustrating a specific example of the synchronous reset extraction process.
The domain extraction unit 131 extracts net signals (Clear and InCtrl) as domains from the RTL description 31d illustrated in FIG.

そして、同期リセット判定部134は、図15(b)に示す、定数伝播部133が定数伝播の観測処理を行って得られたテーブル41dを参照する。すると、Dフリップフロップの入力端子の論理が定数になることがないため同期リセットが存在しないと判定する。   Then, the synchronization reset determination unit 134 refers to the table 41d obtained by the constant propagation unit 133 performing the constant propagation observation process illustrated in FIG. Then, since the logic of the input terminal of the D flip-flop does not become a constant, it is determined that there is no synchronous reset.

以上述べたように、回路設計装置10によれば、同期リセット抽出部13が同期リセットを抽出するようにした。これにより、例えば、疑似エラーに対し、抽出した同期リセット信号とその値を入力することにより、そのエラーを設計者に通知しないようにすることで、設計者の手間を省くことができる。   As described above, according to the circuit design device 10, the synchronous reset extraction unit 13 extracts the synchronous reset. Thereby, for example, by inputting the extracted synchronous reset signal and its value with respect to a pseudo error, the error of the designer is not notified to the designer, so that the trouble of the designer can be saved.

また、同期リセット信号を指定することで、フリップフロップのデータ入力前にリセットのかからない論理を生成せずに論理合成することで、エラーの発生を防止することができる。以下具体例を用いて説明する。   In addition, by designating a synchronous reset signal, it is possible to prevent the occurrence of an error by performing logic synthesis without generating logic that does not need to be reset before data input to the flip-flop. This will be described below using a specific example.

図16は、抽出した同期リセットを回路設計に適用する場合の処理フローを示す図である。
回路設計装置10は、さらに、設計仕様格納部51と、RTL設計部52と、記述スタイルチェック部53と、非同期構造チェック部54と、論理合成部55と、ネットリスト格納部56とを有している。
FIG. 16 is a diagram showing a processing flow when the extracted synchronous reset is applied to circuit design.
The circuit design device 10 further includes a design specification storage unit 51, an RTL design unit 52, a description style check unit 53, an asynchronous structure check unit 54, a logic synthesis unit 55, and a netlist storage unit 56. ing.

なお、図16では、ライブラリ格納部12および同期リセット抽出部13の図示を省略している。
RTL設計部52は、設計仕様格納部51に格納されている設計仕様からRTLを設計する。設計したRTL設計記述のHDLをHDL記述格納部11に格納する。
In FIG. 16, the library storage unit 12 and the synchronous reset extraction unit 13 are not shown.
The RTL design unit 52 designs an RTL from the design specifications stored in the design specification storage unit 51. The designed HDL of the RTL design description is stored in the HDL description storage unit 11.

記述スタイルチェック部53は、RTL設計記述の文法エラーや、文法エラーにならない問題点をチェックする。
非同期構造チェック部54は、同期リセット格納部14に格納されている同期リセットの信号名やリセット値に基づいて、異なるクロックで動作する回路間でデータを転送する際に、誤動作等の問題が起こるか否かをチェックする。
The description style check unit 53 checks a syntax error in the RTL design description and a problem that does not cause a syntax error.
The asynchronous structure check unit 54 has a problem such as malfunction when transferring data between circuits operating with different clocks based on the signal name and reset value of the synchronous reset stored in the synchronous reset storage unit 14. Check whether or not.

論理合成部55は、同期リセット格納部14に格納されている同期リセットの信号名やリセット値に基づいて論理合成を行い、RTLからゲートレベルのネットリストを生成する。   The logic synthesis unit 55 performs logic synthesis based on the signal name and reset value of the synchronization reset stored in the synchronization reset storage unit 14, and generates a gate level netlist from the RTL.

図17は、非同期構造チェック部にレポートを読み込ませたときの例を示す図である。
周波数が異なるクロック信号(Tclk)およびクロック信号(Rclk)でデータを転送する場合、メタ・ステーブルが発生することがある。これを防ぐためにクロックRclk(受信側のクロック)でDフリップフロップ21、21aを2つ並べて二段受けするシンクロナイザ61が設けられている。図17に示すようにDフリップフロップ21、21a間に同期リセットを挿入するAND回路AND3が配置される場合がある。
FIG. 17 is a diagram illustrating an example when a report is read by the asynchronous structure check unit.
When data is transferred using a clock signal (Tclk) and a clock signal (Rclk) having different frequencies, a meta stable may occur. In order to prevent this, a synchronizer 61 is provided which receives two D flip-flops 21 and 21a side by side with a clock Rclk (reception side clock). As shown in FIG. 17, an AND circuit AND3 for inserting a synchronous reset may be arranged between the D flip-flops 21 and 21a.

メタ・ステーブルを回避するためには、Dフリップフロップ21、21a間に論理があるのは好ましくないため、非同期構造チェック部54はエラーを検出する。しかし、ネット信号(Clear)からAND回路AND1およびAND回路AND3に至る経路は、クリアがかからなければ回路60には何も影響しないが、同期リセットの影響で、シンクロナイザ61に論理が存在するという疑似エラーが発生するからである。   In order to avoid meta-stable, it is not preferable that there is logic between the D flip-flops 21 and 21a. Therefore, the asynchronous structure check unit 54 detects an error. However, the route from the net signal (Clear) to the AND circuit AND1 and the AND circuit AND3 has no effect on the circuit 60 unless it is cleared, but the synchronizer 61 has logic due to the influence of the synchronous reset. This is because a pseudo error occurs.

回路設計装置10によれば、AND回路AND1およびAND回路AND3に入力されるClear信号が、同期リセット信号であることを抽出し、そのレポートを非同期構造チェック部54に読み込ませることでAND回路AND1およびAND回路AND3を無視することができ、そのエラーを設計者に通知しないようにすることで、設計者の手間を省くことができる。   According to the circuit design device 10, it is extracted that the Clear signal input to the AND circuit AND1 and the AND circuit AND3 is a synchronous reset signal, and the asynchronous structure check unit 54 reads the report so that the AND circuit AND1 and The AND circuit AND3 can be ignored, and the error of the designer can be saved by not reporting the error to the designer.

次に、非同期構造チェック部54の処理を詳しく説明する。
図18は、非同期構造チェック部の処理を示すフローチャートである。
まず、同期リセットがONにならない(抽出したリセット値の反対)値をネットに設定して定数を伝播する(ステップS41)。
Next, the processing of the asynchronous structure check unit 54 will be described in detail.
FIG. 18 is a flowchart showing the processing of the asynchronous structure check unit.
First, a constant is propagated by setting a value that does not turn on synchronous reset (opposite of the extracted reset value) to the net (step S41).

次に、非同期パスを抽出する(ステップS42)。
次に、非同期パスの前後に論理が存在するか否かを判断する(ステップS43)。
非同期パスの前後に論理が存在しない場合(ステップS43のNo)、ステップS46に移行する。
Next, an asynchronous path is extracted (step S42).
Next, it is determined whether or not logic exists before and after the asynchronous path (step S43).
If there is no logic before and after the asynchronous path (No in step S43), the process proceeds to step S46.

一方、非同期パスの前後に論理が存在する場合(ステップS43のYes)、多入力で1入力以外が定数か否かを判断する(ステップS44)。
多入力で1入力以外が定数ではない場合(ステップS44のNo)、ステップS46に移行する。
On the other hand, if logic exists before and after the asynchronous path (Yes in step S43), it is determined whether or not there are constants other than one input with multiple inputs (step S44).
If there are multiple inputs and there is no constant other than one input (No in step S44), the process proceeds to step S46.

一方、多入力で1入力以外が定数の場合(ステップS44のYes)、当該論理にマークをつける(ステップS45)。
次に、全ての非同期パスを抽出したか否かを判断する(ステップS46)。
On the other hand, if there are multiple inputs and a constant other than 1 input (Yes in step S44), the logic is marked (step S45).
Next, it is determined whether all asynchronous paths have been extracted (step S46).

全て抽出していない場合(ステップS46のNo)、ステップS42に移行し、ステップS42以降の処理を引き続き行う。
一方、全て抽出した場合(ステップS46のYes)、マークされた論理を無視して非同期構造チェックを行う(ステップS47)。その後、処理を終了する。
If not all have been extracted (No in step S46), the process proceeds to step S42, and the processes after step S42 are continued.
On the other hand, if all of them are extracted (Yes in step S46), the marked logic is ignored and an asynchronous structure check is performed (step S47). Thereafter, the process ends.

以上で非同期構造チェック部54の処理の説明を終了する。
次に、論理合成部55にレポートを読み込ませたときの処理を説明する。
図19は、論理合成部にレポートを読み込ませたときの例を示す図である。
This is the end of the description of the processing of the asynchronous structure check unit 54.
Next, processing when the logic synthesis unit 55 reads a report will be described.
FIG. 19 is a diagram illustrating an example when a report is read by the logic synthesis unit.

同期リセットが存在すると、最適化オプション(面積や、タイミングを短くする)の影響で、フリップフロップのリセットがかからない。
図19(a)に示すように、セレクタSel2の前段に同期リセットを含むAND−OR論理が存在する論理合成をされてしまうと、セレクタSel2が出力する信号の論理が「X」となり、Dフリップフロップ21bに対してリセットがいつまでもかからない。何故なら、セレクタの制御信号に不定Xが入っていると、セレクタは「X」を出力するからである。
If a synchronous reset exists, the flip-flop is not reset due to the effect of optimization options (reducing area and timing).
As shown in FIG. 19A, if logic synthesis is performed in which AND-OR logic including a synchronous reset exists in the previous stage of the selector Sel2, the logic of the signal output from the selector Sel2 becomes “X”, and the D flip-flop The reset for the group 21b does not last forever. This is because if the control signal of the selector contains an indefinite X, the selector outputs “X”.

一方、回路設計装置10では、AND回路AND4およびAND回路AND5に入力される信号(Clear)が、同期リセット信号であることを抽出することができるため、その信号を使わない論理合成ができる。   On the other hand, in the circuit design device 10, since it can be extracted that the signal (Clear) input to the AND circuit AND4 and the AND circuit AND5 is a synchronous reset signal, logic synthesis can be performed without using the signal.

すなわち、図19(b)に示すように、セレクタSel2の後に同期リセット信号を含むAND−OR論理で回路を構成することにより、AND回路AND6に入力されるClear=0でセレクト信号が「0」となり、エラーを回避することができる。   That is, as shown in FIG. 19B, by configuring the circuit with AND-OR logic including a synchronous reset signal after the selector Sel2, the select signal is “0” when Clear = 0 input to the AND circuit AND6. Thus, errors can be avoided.

なお、本実施の形態では、同期リセット格納部14に格納された同期リセットのレポートを非同期構造チェック部54または論理合成部55に読み込ませるようにした。しかし、これに限らず、非同期構造チェック部54および論理合成部55が、それぞれ、同期リセット抽出部13の機能に該当する機能を備えるようにしてもよい。   In the present embodiment, the asynchronous reset check unit 54 or the logic synthesis unit 55 reads the synchronous reset report stored in the synchronous reset storage unit 14. However, the present invention is not limited to this, and the asynchronous structure check unit 54 and the logic synthesis unit 55 may each have a function corresponding to the function of the synchronous reset extraction unit 13.

また、回路設計装置10が行った処理が、複数の装置によって分散処理されるようにしてもよい。例えば、1つの装置が、RTL生成処理までを行ってRTLを生成しておき、他の装置が、そのRTLを用いてリセット信号を抽出するようにしてもよい。   Further, the processing performed by the circuit design device 10 may be distributedly processed by a plurality of devices. For example, one device may perform RTL generation processing to generate an RTL, and another device may extract a reset signal using the RTL.

以上、本発明の回路設計プログラム、回路設計方法および回路設計装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。   The circuit design program, the circuit design method, and the circuit design apparatus of the present invention have been described based on the illustrated embodiment. However, the present invention is not limited to this, and the configuration of each part has the same function. Can be replaced with any structure having Moreover, other arbitrary structures and processes may be added to the present invention.

また、本発明は、前述した実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、回路設計装置10が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。
In addition, the present invention may be a combination of any two or more configurations (features) of the above-described embodiments.
The above processing functions can be realized by a computer. In that case, a program describing the processing contents of the functions of the circuit design device 10 is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic recording device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape. Examples of the optical disc include a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable) / RW (ReWritable). Examples of the magneto-optical recording medium include MO (Magneto-Optical disk).

プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   When distributing the program, for example, a portable recording medium such as a DVD or a CD-ROM in which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.

回路設計プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。   A computer that executes a circuit design program stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.

1、10 回路設計装置
2 ドメイン抽出手段
3 測定手段
4 同期リセット判定手段
5、20、60 回路
6、21、21a、21b Dフリップフロップ
7、Inv1、Inv2、Inv3 インバータ
8、AND1〜AND6 AND回路
11 HDL記述格納部
12 ライブラリ格納部
13 同期リセット抽出部
14 同期リセット格納部
31〜31d RTL記述
32 CDFG
41〜41d テーブル
51 設計仕様格納部
52 RTL設計部
53 記述スタイルチェック部
54 非同期構造チェック部
55 論理合成部
56 ネットリスト格納部
61 シンクロナイザ
131 ドメイン抽出部
132 ドメイン一覧格納部
133 定数伝播部
134 同期リセット判定部
Reg1 レジスタ
Sel1、Sel2 セレクタ
DESCRIPTION OF SYMBOLS 1, 10 Circuit design apparatus 2 Domain extraction means 3 Measurement means 4 Synchronization reset determination means 5, 20, 60 Circuit 6, 21, 21a, 21b D flip-flop 7, Inv1, Inv2, Inv3 Inverter 8, AND1-AND6 AND circuit 11 HDL description storage unit 12 Library storage unit 13 Synchronization reset extraction unit 14 Synchronization reset storage unit 31-31d RTL description 32 CDFG
41 to 41d Table 51 Design specification storage unit 52 RTL design unit 53 Description style check unit 54 Asynchronous structure check unit 55 Logic synthesis unit 56 Netlist storage unit 61 Synchronizer 131 Domain extraction unit 132 Domain list storage unit 133 Constant propagation unit 134 Synchronous reset Judgment part Reg1 register Sel1, Sel2 selector

Claims (8)

コンピュータを、
順序回路の同期リセット信号の候補となる信号のドメインを抽出するドメイン抽出手段、
抽出された前記ドメインの信号の論理を変化させて前記順序回路に入力される信号値を測定する測定手段、
前記測定手段によって測定された信号値に基づいて同期リセット信号が存在するか否かを判定する同期リセット判定手段、
として機能させることを特徴とする回路設計プログラム。
Computer
Domain extraction means for extracting a domain of a signal that is a candidate for a synchronous reset signal of a sequential circuit;
Measuring means for measuring a signal value input to the sequential circuit by changing logic of the extracted signal of the domain;
Synchronization reset determination means for determining whether a synchronization reset signal exists based on the signal value measured by the measurement means;
A circuit design program characterized by functioning as
前記順序回路にイネーブル端子が存在する場合、前記ドメイン抽出手段は、前記イネーブル端子からバックトレースし、外部入力端子、他の順序回路またはブラックボックスに到達した端子の信号のドメインを抽出することを特徴とする請求項1記載の回路設計プログラム。   When an enable terminal is present in the sequential circuit, the domain extracting unit backtraces from the enable terminal and extracts a signal domain of an external input terminal, another sequential circuit, or a terminal reaching a black box. The circuit design program according to claim 1. 前記順序回路にイネーブル端子が存在しない場合、前記ドメイン抽出手段は、前記順序回路の出力信号の論理に関係する条件の属する信号のドメインを抽出することを特徴とする請求項1記載の回路設計プログラム。   2. The circuit design program according to claim 1, wherein when there is no enable terminal in the sequential circuit, the domain extracting unit extracts a domain of a signal to which a condition related to a logic of an output signal of the sequential circuit belongs. . 前記測定手段は、抽出された前記ドメイン以外のネット信号に不定の論理を与えて前記信号値を測定することを特徴とする請求項1記載の回路設計プログラム。   The circuit design program according to claim 1, wherein the measurement unit measures the signal value by applying indefinite logic to the extracted net signal other than the domain. 前記同期リセット判定手段は、前記順序回路に入力される信号値が、定数、かつ、前記定数が全て同一である場合、同期リセット信号が存在すると判定することを特徴とする請求項1記載の回路設計プログラム。   2. The circuit according to claim 1, wherein the synchronization reset determination unit determines that a synchronization reset signal is present when a signal value input to the sequential circuit is a constant and the constants are all the same. Design program. 前記コンピュータを、さらに、前記同期リセット判定手段により、同期リセット信号が存在すると判定された前記ドメインのネット信号の論理を最適化する論理最適化手段として機能させることを特徴とする請求項1記載の回路設計プログラム。   2. The computer according to claim 1, wherein the computer further functions as a logic optimization unit that optimizes the logic of the net signal of the domain that is determined by the synchronization reset determination unit to include a synchronization reset signal. Circuit design program. コンピュータが実行する、
ドメイン抽出手段が、順序回路の同期リセット信号の候補となる信号のドメインを抽出し、
測定手段が、抽出された前記ドメインの信号の論理を変化させて前記順序回路に入力される信号値を測定し、
同期リセット判定手段が、前記測定手段によって測定された信号値に基づいて同期リセット信号が存在するか否かを判定する、
ことを特徴とする回路設計方法。
The computer runs,
Domain extraction means extracts a domain of a signal that is a candidate for a synchronous reset signal of a sequential circuit,
The measuring means changes the logic of the extracted signal of the domain and measures the signal value input to the sequential circuit,
The synchronization reset determination means determines whether a synchronization reset signal exists based on the signal value measured by the measurement means;
A circuit design method characterized by the above.
順序回路の同期リセット信号の候補となる信号のドメインを抽出するドメイン抽出部と、
抽出された前記ドメインの信号の論理を変化させて前記順序回路に入力される信号値を測定する測定部と、
前記測定部によって測定された信号値に基づいて同期リセット信号が存在するか否かを判定する同期リセット判定部と、
を有することを特徴とする回路設計装置。
A domain extraction unit for extracting a domain of a signal that is a candidate for a synchronous reset signal of a sequential circuit;
A measurement unit that changes a logic of the extracted signal of the domain and measures a signal value input to the sequential circuit;
A synchronization reset determination unit that determines whether a synchronization reset signal exists based on a signal value measured by the measurement unit;
A circuit design apparatus comprising:
JP2009057307A 2009-03-11 2009-03-11 Circuit design program, circuit design method, and circuit design apparatus Expired - Fee Related JP5146369B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009057307A JP5146369B2 (en) 2009-03-11 2009-03-11 Circuit design program, circuit design method, and circuit design apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009057307A JP5146369B2 (en) 2009-03-11 2009-03-11 Circuit design program, circuit design method, and circuit design apparatus

Publications (2)

Publication Number Publication Date
JP2010211550A true JP2010211550A (en) 2010-09-24
JP5146369B2 JP5146369B2 (en) 2013-02-20

Family

ID=42971625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009057307A Expired - Fee Related JP5146369B2 (en) 2009-03-11 2009-03-11 Circuit design program, circuit design method, and circuit design apparatus

Country Status (1)

Country Link
JP (1) JP5146369B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013526738A (en) * 2010-05-11 2013-06-24 アルテラ コーポレイション Method and apparatus for performing asynchronous and synchronous reset release during synthesis
CN115630601A (en) * 2022-12-22 2023-01-20 上海合见工业软件集团有限公司 System for determining signal correlation based on backtracking algorithm

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10340289A (en) * 1997-06-06 1998-12-22 Nec Corp Method and device for logic synthesis
JP2002279006A (en) * 2001-03-19 2002-09-27 Ricoh Co Ltd Device for supporting circuit design
JP2007233842A (en) * 2006-03-02 2007-09-13 Matsushita Electric Ind Co Ltd Generation method for reset operation verification circuit
JP2010134598A (en) * 2008-12-03 2010-06-17 Renesas Technology Corp Logic verification apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10340289A (en) * 1997-06-06 1998-12-22 Nec Corp Method and device for logic synthesis
JP2002279006A (en) * 2001-03-19 2002-09-27 Ricoh Co Ltd Device for supporting circuit design
JP2007233842A (en) * 2006-03-02 2007-09-13 Matsushita Electric Ind Co Ltd Generation method for reset operation verification circuit
JP2010134598A (en) * 2008-12-03 2010-06-17 Renesas Technology Corp Logic verification apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013526738A (en) * 2010-05-11 2013-06-24 アルテラ コーポレイション Method and apparatus for performing asynchronous and synchronous reset release during synthesis
CN115630601A (en) * 2022-12-22 2023-01-20 上海合见工业软件集团有限公司 System for determining signal correlation based on backtracking algorithm

Also Published As

Publication number Publication date
JP5146369B2 (en) 2013-02-20

Similar Documents

Publication Publication Date Title
JP5432127B2 (en) Technology for use in automated circuit design and simulation
JP5410414B2 (en) Circuit emulation input and delay input multiplexing
JP5432126B2 (en) Technology for use in automated circuit design and simulation
US7603636B2 (en) Assertion generating system, program thereof, circuit verifying system, and assertion generating method
JP5405451B2 (en) Technology for use in automated circuit design and simulation
US20050216247A1 (en) Method and program for verifying logic circuit having asynchronous interface
US7254793B2 (en) Latch modeling technique for formal verification
JP2009003683A (en) Software execution apparatus and cooperative operation method
JP2011043993A (en) Delay analysis device for semiconductor integrated circuit, delay analysis method and program for the same
JP5146369B2 (en) Circuit design program, circuit design method, and circuit design apparatus
US7945882B2 (en) Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium
JP2008204199A (en) Verification device, verification method and program
JPWO2006025412A1 (en) Logic verification method, logic module data, device data, and logic verification apparatus
JP5799645B2 (en) Power supply voltage setting method and power supply voltage setting program
JP7351189B2 (en) Timing constraint extraction device, timing constraint extraction method, and timing constraint extraction program
US8160859B2 (en) Medium storing logic simulation program, logic simulation apparatus, and logic simulation method
JP7354815B2 (en) Verification support device, verification support method, and verification support program
Kebaili et al. Enabler-based synchronizer model for clock domain crossing static verification
JP4983642B2 (en) Design verification program, design verification method, and design verification apparatus
US20110320994A1 (en) Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit
US20090292837A1 (en) Propagation path specifying device, propagation path specifying method and computer program product
Chew et al. Integrating Design for Testability Technique into OpenLane with Skywater 130-Nanometer Process Design Kit
CN117907812A (en) Circuit detection method and device, electronic device, storage medium, and program product
JP2010181984A (en) Program and device for supporting circuit design
JP5115056B2 (en) Logic circuit description format conversion method, program and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121004

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: 20121030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121112

R150 Certificate of patent or registration of utility model

Ref document number: 5146369

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees