JP4651023B2 - Circuit simulation device - Google Patents
Circuit simulation device Download PDFInfo
- Publication number
- JP4651023B2 JP4651023B2 JP2005358048A JP2005358048A JP4651023B2 JP 4651023 B2 JP4651023 B2 JP 4651023B2 JP 2005358048 A JP2005358048 A JP 2005358048A JP 2005358048 A JP2005358048 A JP 2005358048A JP 4651023 B2 JP4651023 B2 JP 4651023B2
- Authority
- JP
- Japan
- Prior art keywords
- clock
- output
- input
- feedback
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Description
本発明は、回路シミュレーション装置に関し、特に、PLL(Phase Locked Loop:)回路を含む半導体装置の論理検証における回路シミュレーションに関する。 The present invention relates to a circuit simulation apparatus, and more particularly to a circuit simulation in logic verification of a semiconductor device including a PLL (Phase Locked Loop :) circuit.
現在市場に流通している様々な電子機器には、半導体集積回路が搭載されている。電子機器に搭載される半導体集積回路に対し、動作速度の高速化の要求が年々増加してきている。動作速度を向上させる手法の一つとして、半導体集積回路にPLL回路を搭載する技術があげられる。PLL回路を搭載した半導体集積回路では、内部クロック周波数を外部クロックの整数倍にして、動作速度の高速化を実現している。 Various electronic devices currently on the market are equipped with semiconductor integrated circuits. The demand for higher operating speed is increasing year by year for semiconductor integrated circuits mounted on electronic devices. One technique for improving the operation speed is to mount a PLL circuit on a semiconductor integrated circuit. In a semiconductor integrated circuit equipped with a PLL circuit, the internal clock frequency is set to an integral multiple of the external clock to increase the operation speed.
上述のような半導体集積回路は、様々な工程を経て開発されている。半導体開発において、開発の様々な段階においてシミュレーション技術が用いられている。シミュレーションが有効であるためには、モデルの構築を適切に行うことが必要である。従来のシミュレーション装置において、PLL回路を搭載した半導体集積回路のシミュレーションを行なう場合には、入力クロックをそのまま出力する簡易的な論理シミュレーションモデル(以下、第1従来モデルと呼ぶ。)をPLL回路の論理シミュレーションモデルとして用いていた。 The semiconductor integrated circuit as described above has been developed through various processes. In semiconductor development, simulation techniques are used at various stages of development. In order for the simulation to be effective, it is necessary to construct the model appropriately. In a conventional simulation apparatus, when a semiconductor integrated circuit equipped with a PLL circuit is simulated, a simple logic simulation model (hereinafter referred to as a first conventional model) that directly outputs an input clock is used. Used as a simulation model.
近年の半導体集積回路の微細化・複雑化に対応して、より高精度にシミュレーションを行うことができるシミュレーション装置やシミュレーション方法が求められてきている。例えば、実際の半導体集積回路において、搭載されるPLL回路には、逓倍動作中に安定した入力クロックが供給されている必要がある。何らかの要因によって実際の入力クロックが停止してしまった場合、実際の半導体集積回路の動作に不具合が生じることがある。そのため、論理シミュレーション段階において、上記の不具合を予測することが要求されることがある。しかしながら、第1従来モデルにおいては、何らかの要因で入力クロックが停止している場合であっても、その状態(入力クロックが停止した状態)を検出する事が不可能であった。 In response to the recent miniaturization and complexity of semiconductor integrated circuits, there has been a demand for a simulation apparatus and a simulation method capable of performing simulation with higher accuracy. For example, in an actual semiconductor integrated circuit, a stable input clock needs to be supplied to a PLL circuit to be mounted during a multiplication operation. When the actual input clock is stopped for some reason, a problem may occur in the actual operation of the semiconductor integrated circuit. For this reason, in the logic simulation stage, it may be required to predict the above-mentioned problem. However, in the first conventional model, even when the input clock is stopped for some reason, it is impossible to detect the state (the state where the input clock is stopped).
第1従来モデルに対応したシミュレーションに比較して、より実際のデバイスにより近い検証を行う技術として、特許文献1(特開2001−358581号公報)に記載の技術が知られている。特許文献1に記載されている技術は、論理シミュレーションモデル内にカウンター回路を搭載し、正常入力時についてのみリセットさせる事により正常波形を出力させ、リセットされない場合は、出力を停止させている。特許文献1の技術は、この動作によって、不正値の入力を論理シミュレーション結果に反映させる事で、実デバイスに近い検証を可能にしたものである。
As a technique for performing verification closer to an actual device as compared with the simulation corresponding to the first conventional model, a technique described in Patent Document 1 (Japanese Patent Laid-Open No. 2001-358581) is known. The technique described in
また、特許文献1とは異なる構成で、より実デバイスに近いPLL回路の動作を再現可能な論理シミュレーションモデル(以下、第2従来モデルと呼ぶ)が知られている。図1は、上述の第2従来モデル100の構成を示すブロック図である。図1を参照すると、第2従来モデル100は、逓倍設定値入力端子DIVと、入力クロック供給端子106と、逓倍クロック出力端子OUTと、クロック周期測定部101と、クロック周期変動検出部102と、逓倍波形生成部103、エラー処理部104を含んで構成されている。
Further, a logic simulation model (hereinafter referred to as a second conventional model) is known that has a configuration different from that of
クロック周期測定部101は、入力クロック供給端子106を介して供給される入力クロックを検出し、入力クロックの前変化時刻と現在の時刻の差を計算する。クロック周期変動検出部102は、クロック周期測定部101から出力される入力クロックの周期値を受け取り、前サイクルの周期値と今サイクルの周期値を比較する。逓倍波形生成部103は、クロック周期測定部101から出力される入力クロックの周期値と、逓倍設定値入力端子DIVを介して供給される逓倍設定入力値とを受け取り、出力逓倍波形周期を決定する。エラー処理部104は、クロック周期変動検出部102が周期変動を検出した場合に、エラー処理を行う。
The clock
上述したように、実際のPLL回路においては、逓倍動作中に供給される入力クロックは、周波数の変動しない安定したものであることが必要である。第2従来モデル100に対応した論理シミュレーションにおいて、入力クロックの周波数が変動した場合には、シミュレーション上の逓倍動作を停止させ、不正入力があった事をシミュレーション結果に反映させている。
As described above, in an actual PLL circuit, the input clock supplied during the multiplication operation needs to be stable without frequency fluctuation. In the logic simulation corresponding to the second
このシミュレーション結果は、第2従来モデルに対応した論理シミュレータ(以下、従来シミュレータと呼ぶ。)を用いたシミュレーションを実行することによって得ることができる。なお、従来シミュレータは、設計回路の接続情報及び入力パターン及び各セルの論理シミュレーションモデルを情報として、時刻毎のイベントの演算を行っている。ここにおいて、従来シミュレータは、第2従来モデルが示すPLL回路に対し、入力クロックの供給に応答してシミュレーションの実行を開始する。従来シミュレータは、第2従来モデルの記述に基づいた処理を行うことで、PLL回路の出力論理値を決定している。 This simulation result can be obtained by executing a simulation using a logic simulator corresponding to the second conventional model (hereinafter referred to as a conventional simulator). The conventional simulator calculates events for each time using the connection information of the design circuit, the input pattern, and the logic simulation model of each cell as information. Here, the conventional simulator starts simulation execution in response to the supply of the input clock to the PLL circuit indicated by the second conventional model. The conventional simulator determines the output logic value of the PLL circuit by performing processing based on the description of the second conventional model.
ここで、上記動作に関し図面を参照して具体的に説明をする。図2は、従来シミュレータの動作を示すフローチャートである。従来シミュレータは、ステップS1において、入力クロックのイベントを監視し、イベントが発生したか否かの判断を行う。その判断の結果、イベントを検出すると処理はステップS2に進み、イベントの検出が行なわれない場合処理は終了する。ステップS2において、クロック周期測定部101は、入力クロックの周期の測定を行い、測定結果をクロック周期変動検出部102に供給する。ステップS3において、クロック周期変動検出部102は、クロック周期測定部101から供給される測定結果に基づいて、前サイクル周期と現サイクル周期との値を比較し、一致していない場合は不正入力と判定する。クロック周期変動検出部102は、不正入力が発生した場合、その旨をエラー処理部104に通知して処理はステップS7に進む。不正入力が発生していない場合には、処理はステップS4に進む。ステップS7において、エラー処理部104は、不定値を出力し逓倍出力を禁止する。
Here, the above operation will be specifically described with reference to the drawings. FIG. 2 is a flowchart showing the operation of the conventional simulator. In step S1, the conventional simulator monitors an input clock event and determines whether an event has occurred. If an event is detected as a result of the determination, the process proceeds to step S2, and if no event is detected, the process ends. In step S <b> 2, the clock
ステップS4において、逓倍波形生成部103は、逓倍波形生成が完了しているか否かの判断を行う。その判断の結果、逓倍波形生成が完了している場合には、処理は終了する。未生成の場合は、処理はステップS5に進む。ステップS5において、逓倍波形生成部103が有する時刻判定部は、現在の時刻が位相調整に必要な期間を示すスペックであるロックアップタイム時間を経過しているか判定する。ロックアップタイム時刻を経過していた場合、処理はステップS6に進む。ステップS6において逓倍波形生成部103は逓倍波形出力を開始する。逓倍波形は、一定時間毎に出力を反転させる事で出力波形を生成する。また、ステップS8において、逓倍波形生成部103にて生成した出力波形をスケジュールし入力イベントよる処理は終了する。
In step S4, the multiplied
ここで、スケジュールとは、決定されたPLLの出力値をイベントとして生成する事である。本イベントが当該PLL以降のセルに伝播していく。第2従来モデルに対応した論理シミュレータは、本処理により不正入力時には、PLLより不定値を出力する。その動作によって、PLL以降のセルは正常動作しなくなり、シミュレーション結果は、期待動作とは異なる為、回路設計者は、当該PLLに違反動作が発生している事を発見できる。 Here, the schedule is to generate an output value of the determined PLL as an event. This event propagates to cells after the PLL. The logic simulator corresponding to the second conventional model outputs an indefinite value from the PLL when an illegal input is made by this processing. Due to this operation, the cells after the PLL do not operate normally, and the simulation result is different from the expected operation. Therefore, the circuit designer can find out that the violation operation has occurred in the PLL.
以下に、タイミングチャートを用いて上述した動作の説明をする。図3は、従来シミュレータの動作を示すタイミングチャートである。図3の(a)は入力クロック供給端子106に供給される入力クロックの信号波形を示している。また、図3の(b)は、逓倍クロック出力端子OUTから出力される出力信号の波形を示している。なお、本タイミングチャート以前の入力クロック供給端子106に入力されている入力クロックの周期は、周期値T1で安定しているものとする。また、時刻A1にて、PLLの位相調整が完了し、安定した逓倍波形の出力可能になるものとする。
Hereinafter, the above-described operation will be described using a timing chart. FIG. 3 is a timing chart showing the operation of the conventional simulator. FIG. 3A shows the signal waveform of the input clock supplied to the input
PLLは、逓倍波形出力に関して、PLL内部で位相調整期間が必要であり、位相調整期間中は、出力は安定しないので、論理シミュレーションモデルでは、不定を出力する。よって、逓倍出力モード変化イベント検出後、一定時間後より逓倍波形の出力が開始される。 The PLL requires a phase adjustment period inside the PLL for the output of the multiplied waveform, and the output is not stable during the phase adjustment period, so the logic simulation model outputs indefinite. Therefore, after detecting the multiplied output mode change event, output of the multiplied waveform is started after a certain time.
時刻A1では、入力クロックのイベントが発生している。その為、上述のステップS1の判断ではYESと判定される。ステップS2において、入力クロックの周期測定が行われる。ステップS3で、その測定結果に基づいて周波数の変動チェックが行われる。時刻A1では、前サイクル、現サイクルともに、周期値T1である。その為、周波数の変動が無いものと判定され、処理はステップS4に進む。ステップS4においては、時刻A1での逓倍波形生成は行われていない。その為、逓倍波形生成は行われていないと判定され、処理はステップS5進む。ステップS5おいて、現在時刻がロックアップタイムの経過している為、YESと判定し、ステップS6に進む。ステップS6において逓倍波形の生成を行い、処理はステップS8に進み、スケジュール登録し終了する。 At time A1, an input clock event has occurred. Therefore, it is determined as YES in the above-described determination in step S1. In step S2, the period of the input clock is measured. In step S3, a frequency variation check is performed based on the measurement result. At time A1, both the previous cycle and the current cycle are the period value T1. Therefore, it is determined that there is no frequency variation, and the process proceeds to step S4. In step S4, the multiplied waveform generation at time A1 is not performed. Therefore, it is determined that the multiplied waveform is not generated, and the process proceeds to step S5. In step S5, since the current time has passed the lock-up time, it is determined YES and the process proceeds to step S6. In step S6, a multiplied waveform is generated, the process proceeds to step S8, the schedule is registered, and the process ends.
その後、時刻A2にて、入力クロックのイベントが発生する為、ステップS1でYESと判定され、処理はステップS2に進む。ステップS2において入力クロックの周期測定が行われ、その測定結果が出力される。ステップS3において、時刻A2では、周波数の変動チェックを行うが、前サイクル、現サイクルともに、周期値T1である。その為、NOと判定され、処理はステップS4に進む。ステップS4においては、逓倍波形生成済みである為、NOと判定し、処理は終了する。その後、時刻A3、時刻A4においても同様の処理が繰り返される。 Thereafter, since an event of the input clock occurs at time A2, YES is determined in step S1, and the process proceeds to step S2. In step S2, the period of the input clock is measured, and the measurement result is output. In step S3, at time A2, a frequency variation check is performed, and both the previous cycle and the current cycle have the period value T1. Therefore, it is determined as NO, and the process proceeds to step S4. In step S4, since the multiplied waveform has been generated, it is determined as NO, and the process ends. Thereafter, similar processing is repeated at time A3 and time A4.
時刻A5において、入力クロックのイベントが発生する為、ステップS1でYESと判定され、処理はステップS2に進む。ステップS2において、入力クロックの周期測定を行い、測定結果を出力して処理はステップS3に進む。 Since an input clock event occurs at time A5, it is determined YES in step S1, and the process proceeds to step S2. In step S2, the period of the input clock is measured, the measurement result is output, and the process proceeds to step S3.
ステップS3において、周波数の変動チェックが行われる。図3を参照すると、前サイクルの周期値T1に対して、現周期値は周期値T2である。クロック周期変動検出部102は、周期値T1と周期値T2との差分を検出する為、周波数が変動したと判定し、処理はステップS7に進む。ステップS7において、エラー処理部104はエラー処理を行う。その後、処理はS8に進み、不定値出力をスケジュールして処理は終了する。本動作にて、周波数の変動に関して、不正動作として検出可能である。
In step S3, a frequency variation check is performed. Referring to FIG. 3, the current cycle value is the cycle value T2 with respect to the cycle value T1 of the previous cycle. Since the clock
第2従来モデルでシミュレーションを行う従来シミュレータは、現在主流であるイベントドリブン方式の論理シミュレータである。イベントドリブン方式では、信号のイベントを検出して、ネットリストの接続先の各セルの論理シミュレーションモデルを呼び出している。論理シミュレータは、セルの論理シミュレーションモデルの端子にイベントを与え、セルの論理シミュレーションモデル記述に従い、動作処理、出力値スケジュールを行っている。その後、ネットリストを介して、次の信号伝播が行われる。したがって、イベントが発生していないときは、シミュレータは待機状態に移行する。 A conventional simulator that performs simulation using the second conventional model is an event-driven logic simulator that is currently mainstream. In the event-driven method, a signal event is detected and a logic simulation model of each cell connected to a netlist is called. The logic simulator gives an event to a terminal of a cell logic simulation model, and performs operation processing and output value schedule according to the cell logic simulation model description. Thereafter, the next signal propagation is performed via the netlist. Therefore, when no event occurs, the simulator shifts to a standby state.
以下に、従来シミュレータにおいて、入力クロックの信号供給が停止した場合の動作に関して説明を行う。図4は、入力クロックの信号供給が停止した場合の従来シミュレータの動作を示すタイミングチャートである。 The operation when the input clock signal supply is stopped in the conventional simulator will be described below. FIG. 4 is a timing chart showing the operation of the conventional simulator when the input clock signal supply is stopped.
図4を参照すると、時刻B1から時刻B4までの動作は図3の時刻A1から時刻A4までと同様である。図4に示されているように、時刻B4において、入力クロックの信号供給が停止している。安定した周波数で入力クロックの入力が続いていた場合は、時刻B5で、入力クロックにイベントが発生するはずである。しかし、入力クロックの供給が停止してしまった場合は、周波数変動を検出し、供給停止を判定するイベント自体が発生しない。そのため、時刻B5以降であっても、正常状態での出力信号が継続的に出力される。 Referring to FIG. 4, the operation from time B1 to time B4 is the same as from time A1 to time A4 in FIG. As shown in FIG. 4, the signal supply of the input clock is stopped at time B4. If input clock input continues at a stable frequency, an event should occur in the input clock at time B5. However, when the supply of the input clock is stopped, the event itself for detecting the frequency fluctuation and determining the supply stop does not occur. Therefore, the output signal in the normal state is continuously output even after time B5.
上述のように、第1従来モデルに対応した論理シミュレーションでは、論理検証時に本不正入力が発生しているか否かを自動的に検証できず、その不正入力を見逃す可能性があった。これによって、実回路において正常動作しない不具合に繋がる場合があった。 As described above, in the logic simulation corresponding to the first conventional model, it is not possible to automatically verify whether or not the illegal input is generated at the time of logic verification, and there is a possibility that the illegal input is missed. This may lead to a malfunction that does not operate normally in the actual circuit.
また、特許文献1の技術では、一時的に不正値入力を検出し、出力を停止させる事が可能である。特許文献1の技術では、その後に入力が正常値に復帰した場合、即座に正常波形出力に復帰してしまう。また、入力周波数が変動した場合は、不正入力として検出できず正常波形が出力され続けることになる。つまり、特許文献1に記載の技術では、実デバイスでの出力の不安定状態が論理シミュレーションに反映されない場合がある。
Also, with the technique of
さらに、第2従来モデルに対応してシミュレーションを行う従来シミュレータにおいて、論理シミュレーションモデル内には、入力イベント発生をもとに、各種タイミングチェックに関連する情報が記述されている。従来シミュレータでは、その記述に従い、チェックを行っていた。入力に関するタイミングチェック処理としては、シミュレータ言語では、入力信号のパルス幅チェック、サイクル値チェックが関数として用意されているが、いずれも入力イベントを基に処理される。周波数の変動チェックについては、関数は用意されていないが、入力イベントを前記した用に入力イベントを基に一連の処理を記述することで実現していた。 Further, in a conventional simulator that performs a simulation corresponding to the second conventional model, information related to various timing checks is described in the logic simulation model based on the occurrence of an input event. In the conventional simulator, the check was performed according to the description. In the simulator language, the input signal pulse width check and cycle value check are prepared as functions as the timing check process related to input, and both are processed based on the input event. Although no function is prepared for the frequency fluctuation check, the input event is realized by describing a series of processes based on the input event as described above.
しかし、入力クロックの供給が停止するという事は、チェックのトリガーとなるイベントが無くなる事を意味する為、チェック処理が実行されない。実際のデバイスでは、PLL回路に安定した入力クロックが入力されない場合には、PLL回路は適切な動作をしなくなる。論理シミュレーションモデルにおいても、本入力不正動作として検出できなければならない。本発明が解決しようとする課題は、入力イベントに依存しないチェック手法を提供することにある。 However, the fact that the supply of the input clock is stopped means that there is no event that triggers the check, and therefore the check process is not executed. In an actual device, when a stable input clock is not input to the PLL circuit, the PLL circuit does not operate properly. Even in a logic simulation model, this input illegal operation must be detected. The problem to be solved by the present invention is to provide a check method that does not depend on an input event.
以下に、[発明を実施するための最良の形態]で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。 The means for solving the problem will be described below using the numbers used in [Best Mode for Carrying Out the Invention]. These numbers are added to clarify the correspondence between the description of [Claims] and [Best Mode for Carrying Out the Invention]. However, these numbers should not be used to interpret the technical scope of the invention described in [Claims].
上記課題を解決するために、以下のようなシミュレーションプログラム(24)によって回路シミュレーションを実行する、そのシミュレーションプログラム(24)は、入力クロックを基に少なくとも1つの出力クロックを出力するPLL(27)を備える回路(25)の動作を、前記PLL(27)を示すPLLモデル(30)(50)を用いてコンピュータ(10)に実行させるシミュレーションプログラム(24)であって、
(a)前記回路に関する回路情報を読み込んで、前記回路情報に基づいてシミュレーションを実行するステップと、
(b)前記シミュレーションにおける前記入力クロックの供給を監視し、前記PLLモデルに対する前記入力クロックの供給開始に応答して、前記入力クロックの変化を監視するための予想クロックを生成するステップを具備する方法を前記コンピュータ(10)に実行させることを特徴とするシミュレーションプログラム(24)であることが好ましい。
In order to solve the above problems, a circuit simulation is executed by the following simulation program (24). The simulation program (24) includes a PLL (27) that outputs at least one output clock based on the input clock. A simulation program (24) for causing a computer (10) to execute an operation of a circuit (25) comprising a PLL model (30) (50) representing the PLL (27),
(A) reading circuit information related to the circuit and executing a simulation based on the circuit information;
(B) monitoring the supply of the input clock in the simulation and generating an expected clock for monitoring changes in the input clock in response to the start of supply of the input clock to the PLL model. Is preferably a simulation program (24) characterized in that the computer (10) is executed.
また、そのシミュレーションプログラムにおいて、更に
(c)前記予想クロックと前記入力クロックとの比較に基づいて前記PLLによる出力クロックの出力を禁止するステップを具備するものであってもよい。ここにおいて、前記(b)ステップは、前記入力クロックと同じ周期のクロックを前記予想クロックとして生成するステップと、前記予想クロックと前記入力クロックとが同期しているか否かに基づいて、前記入力クロックが停止しているか否かを判定するステップを含むことが好ましい。
The simulation program may further include (c) a step of prohibiting output of the output clock from the PLL based on a comparison between the expected clock and the input clock. Here, the step (b) includes generating the clock having the same period as the input clock as the predicted clock, and whether the predicted clock and the input clock are synchronized with each other. Preferably, the method includes a step of determining whether or not is stopped.
また、上記シミュレーションプログラムを実行するために、PLL回路(27)を含む半導体集積回路(25)の動作を模擬する論理シミュレーション装置(10)を構成する。その装置(10)は、シミュレーションモデル(23)とシミュレーションプログラム(24)とを保持する記憶部(7)と、前記シミュレーションプログラム(24)に示される手順に従って回路シミュレーションを実行する演算処理部(4)とを具備する構成であることが好ましい。ここで、その記憶部(7)に保持される前記シミュレーションモデル(23)は、前記PLL回路(27)に対応するPLL回路モデル(30)(50)を含むことが好ましい。 Further, in order to execute the simulation program, a logic simulation apparatus (10) that simulates the operation of the semiconductor integrated circuit (25) including the PLL circuit (27) is configured. The apparatus (10) includes a storage unit (7) that holds a simulation model (23) and a simulation program (24), and an arithmetic processing unit (4) that executes circuit simulation according to the procedure shown in the simulation program (24). ) Is preferable. Here, it is preferable that the simulation model (23) held in the storage unit (7) includes PLL circuit models (30) and (50) corresponding to the PLL circuit (27).
そして、前記PLL回路モデル(30)(50)は、入力クロック応答して出力クロックを生成する出力クロック生成部(31)と、前記入力クロックの状態を監視するクロック監視部(32)とを示すものであることが好ましい。また、前記クロック監視部(32)は、前記入力クロックと同じ周期の予想クロックを生成し、前記予想クロックと前記入力クロックとの比較に基づいて、前記入力クロックの変化を監視する。さらに、前記クロック監視部の監視結果に基づいて、前記出力クロック生成部での前記出力クロックの生成を停止する論理シミュレーション装置であることが好ましい。 The PLL circuit models (30) and (50) show an output clock generator (31) that generates an output clock in response to an input clock, and a clock monitor (32) that monitors the state of the input clock. It is preferable. The clock monitoring unit (32) generates an expected clock having the same cycle as the input clock, and monitors the change of the input clock based on the comparison between the expected clock and the input clock. Furthermore, it is preferable that the logic simulation device stop the generation of the output clock in the output clock generation unit based on the monitoring result of the clock monitoring unit.
本発明によると、入力イベントに依存しないチェック手法を提供することが可能である。
また、回路設計の論理検証フェイズにおいて、逓倍、スキュー調整などの動作をより高精度に検証することが可能な論理シミュレーションモデルを提供することができる。
また、設計回路の問題を早期発見する為、不正入力の検出機能を搭載した論理シミュレーションモデルを提供することができる。
According to the present invention, it is possible to provide a check method that does not depend on an input event.
Further, it is possible to provide a logic simulation model capable of verifying operations such as multiplication and skew adjustment with higher accuracy in the logic verification phase of circuit design.
In addition, in order to detect a problem in the design circuit at an early stage, a logic simulation model equipped with an illegal input detection function can be provided.
以下に、本発明のシミュレーション装置の構成・動作に関して、図面を参照して説明を行う。半導体装置の開発においては、開発の対象となる半導体装置の設計に係る様々な工程でCAD(Computer Aided Design)が用いられている。したがって、本明細書では、CADを用いて半導体の設計・検証・最適化などを行う場合に対応して、本発明に実施するための形態について説明を行う。 The configuration and operation of the simulation apparatus of the present invention will be described below with reference to the drawings. In the development of semiconductor devices, CAD (Computer Aided Design) is used in various processes related to the design of a semiconductor device to be developed. Therefore, in this specification, the form for implementing this invention is demonstrated corresponding to the case where design, verification, optimization, etc. of a semiconductor are performed using CAD.
[第1の実施形態]
図5は、本発明のシミュレーション装置の構成を例示するブロック図である。図5に示されているように、第1の実施形態のシミュレーション装置10は、情報処理装置1と、入力装置2と、表示装置3とを含んで構成されている。また、図5を参照すると、情報処理装置1は、CPU(Central Processing Unit:中央演算処理装置)4と、メモリ5と、入出力インターフェース6と、大容量記憶装置7とを備え、それらはバス8を介して接続されている。また、大容量記憶装置7はデータ記憶部11とプログラム記憶部12とを含んで構成されている。
[First Embodiment]
FIG. 5 is a block diagram illustrating the configuration of the simulation apparatus of the present invention. As illustrated in FIG. 5, the simulation apparatus 10 according to the first embodiment includes an
情報処理装置1は、パーソナルコンピュータやワークステーションなどに代表される高速演算処理装置である。入力装置2は、情報処理装置1に対して、データを入力する機能を備えたマンマシンインターフェースであり、例えば、キーボードやマウスなどがその代表である。以下の実施形態においては、入力装置2が、キーボードである場合を例示して説明を行う。表示装置3は、情報処理装置1の処理結果を外部に出力する機能を有するマンマシンインターフェースであり、例えば、CRTや液晶ディスプレイがその代表である。以下の実施形態においては、表示装置3が、ディスプレイ装置である場合を例示し、レイアウト検証結果などを視覚的に表示するものとして説明を行う。
The
CPU4は、シミュレーション装置10に備えられた各種装置の制御や、情報処理装置1に入出力されるデータの処理を行う演算処理装置であり、入力装置2などから受け取ったデータを解釈して演算し、その演算結果を表示装置3などで出力する。メモリ5は、データの書き込みと読み出しができる記憶媒体であり、例えば、SDRAMやDDR−SDRAMなどがその代表として例示される。入出力インターフェース6は、上述の入力装置2や表示装置3と情報処理装置1との間で実行されるデータ通信を制御する装置である。大容量記憶装置7は、記憶媒体に大量のデータを記録させるために使用する装置であり、例えば、HDD(Hard Disk Drive)などがその代表として例示される。図5に示されているように、大容量記憶装置7はデータ記憶部11とプログラム記憶部12とを含んで構成されている。
The
データ記憶部11は、大容量記憶装置7が保持する各種データの中で本実施形態に関連するデータを格納する記憶領域を示している。また同様に、プログラム記憶部12は、大容量記憶装置7が保持する各種データの中で本実施形態の動作に関連するコンピュータプログラムを格納する記憶領域を示している。以下に、図面を参照してデータ記憶部11とプログラム記憶部12の詳細な構成に関して説明を行う。
The
図6は、データ記憶部11の構成を例示するブロック図である。図6を参照すると、データ記憶部11は、ネットリスト21と、ライブラリ22と、シミュレーションモデル23とを含んで構成されている。ネットリスト21は、回路の接続状態を表現したデータである。ライブラリ22は、よく利用される機能ブロックや基本論理ゲートのデータをマクロデータとして保持している。シミュレーションモデル23は、本実施形態のシミュレーション装置10を用いて回路特性を予測する際に、後述の論理シミュレーションプログラム24を実行する際に用いられるモデルである。図7は、プログラム記憶部12の構成を例示するブロック図である。図7を参照すると、プログラム記憶部12は、論理シミュレーションプログラム24を備えて構成されている。論理シミュレーションプログラム24は、本実施形態のシミュレーション装置10に実行させる回路シミュレーションの手順を示すコンピュータプログラムである。
FIG. 6 is a block diagram illustrating the configuration of the
図8は、本実施形態におけるシミュレーション対象の半導体装置の構成を例示するブロック図である。本実施形態のシミュレーション装置10は、PLL回路を搭載する半導体デバイスのシミュレーションに適用可能である。図8を参照すると、シミュレーション対象の半導体装置25は、信号処理部26とPLL回路27を含んで構成されている。信号処理部26は、PLL回路27から出力されるクロックに同期して動作する回路ブロックである。図8に示されているように、PLL回路は、内部クロック周波数を外部クロックの整数倍にして、PLL回路出力クロックを生成している。PLL回路を搭載した半導体集積回路では、そのPLL回路から出力されるクロックで動作することで、動作速度の高速化を実現している。なお、ここに示されている半導体装置25の構成は、本発明におけるシミュレーション対象のデバイスを限定するものではない。
FIG. 8 is a block diagram illustrating the configuration of a semiconductor device to be simulated in this embodiment. The simulation apparatus 10 of this embodiment can be applied to the simulation of a semiconductor device on which a PLL circuit is mounted. Referring to FIG. 8, a
図9は、第1の実施形態のPLL回路モデルの構成を例示するブロック図である。図9を参照すると、本実施形態のPLL回路モデル30は、逓倍クロック生成部31と、クロック監視部32とを含んで構成されている。逓倍クロック生成部31は、入力クロックに応答して逓倍クロックを生成する機能ブロックである。クロック監視部32は、入力クロックの状態を監視する機能ブロックである。また、PLL回路モデル30は、逓倍設定値入力端子41と入力クロック供給端子42と逓倍クロック出力端子43とを備えている。逓倍設定値入力端子41には逓倍設定値が供給されている。入力クロック供給端子42には、入力クロックが供給されている。逓倍クロック出力端子43からは逓倍クロックが出力される。
FIG. 9 is a block diagram illustrating the configuration of the PLL circuit model according to the first embodiment. Referring to FIG. 9, the
図9に示されているように、逓倍クロック生成部31は、クロック周期測定部33とクロック周期変化検出部34と逓倍波形生成部35とエラー処理部36を含んで構成されている。クロック周期測定部33は、入力クロックに応答して、その入力クロックの周期を測定する機能ブロックである。クロック周期測定部33には、入力クロック供給端子42を介して入力クロックが供給されている。クロック周期測定部33は、入力クロックの前変化時刻と現在の時刻の差を計算する。例えば、入力クロックの立ち上がり時刻を測定し、次に入力クロックが立ち上がる時刻との差に基づいてクロック周期を測定する。クロック周期測定部33は、測定した入力クロックの周期を示す値をクロック周期変化検出部34に供給している。
As shown in FIG. 9, the multiplied
クロック周期変化検出部34は、クロック周期測定部33から供給される入力クロックの測定値を、1周期前に供給され入力クロックの測定値と比較して、入力クロックが変動しているか否かを鑑定する機能ブロックである。クロック周期変化検出部34は、入力クロックの周期が変動している場合には、その旨を後述するエラー処理部36に通知する。
The clock cycle change detection unit 34 compares the measured value of the input clock supplied from the clock
逓倍波形生成部35は、逓倍設定値入力端子41から供給される逓倍波形設定値とクロック周期測定部33から出力される入力クロックの周期の測定値とに基づいて、入力クロックを整数倍した逓倍クック生成する機能ブロックである。エラー処理部36は、クロック周期変化検出部34から供給される入力クロックが変動した旨の通知や、後述するクロック監視部32から供給される入力クロックが停止した旨の通知に応答して、逓倍クロックの出力を制限する機能ブロックである。
The multiplied
また、図9に示されているように、クロック監視部32は、予想クロック生成部37とクロック比較部38とを含んで構成されている。予想クロック生成部37は、クロック周期測定部33から出力される測定周期と同じ周期で変化する予想クロックを生成する機能ブロックである。予想クロック生成部37は、ロックアップ時間(逓倍波形生成部35から出力される逓倍クロックの波形が安定するまでの時間)が経過した後、1クロック周期のみ実行される。予想クロック生成部37は、このとき生成した周期のクロックを予想クロックとして継続的に出力している。クロック比較部38は、予想クロック生成のイベントに応答して、その時刻の入力クロックと、供給される予想クロックとの比較を行う機能ブロックである。以下に、上記の構成によるシミュレーションの動作に関して説明を行う。
As shown in FIG. 9, the
図10は、第1の実施形態の動作を例示するフローチャートである。図10に示されているフローチャートは、本実施形態のシミュレーション装置10を用いて半導体デバイスの論理シミュレーションを実行した場合の、上述のPLL回路モデル30の動作を例示している。また、この動作は、情報処理装置1のCPU4が、プログラム記憶部12の論理シミュレーションプログラム24を読み込み、その論理シミュレーションプログラム24に示される手順に従って情報処理装置1が動作することによって実現される。図10を参照すると、シミュレーション装置10の動作は、上述した従来シミュレータと同様の手順で動作する。
FIG. 10 is a flowchart illustrating the operation of the first embodiment. The flowchart shown in FIG. 10 illustrates the operation of the above-described
ステップS101において、クロック周期測定部33は、入力クロック供給端子42を介して供給される入力クロックのイベントの発生を監視する。クロック周期測定部33は、その監視結果に基づいて入力クロックの供給に対応するイベントが発生したか否かの判断を行う。その判断の結果、そのイベントを検出すると処理はステップS102に進み、イベントの検出が行なわれない場合処理は終了する。
In step S <b> 101, the clock
ステップS102において、クロック周期測定部33は、入力クロックの周期の測定を行い、測定結果をクロック周期変化検出部34、逓倍波形生成部35およびに予想クロック生成部37に供給する。ここにおいて、クロック周期変化検出部34は、1クロックごとに入力クロックの周期を測定して測定結果を出力する。
In step S <b> 102, the clock
ステップS103において、クロック周期変化検出部34は、クロック周期測定部33から供給される測定結果に基づいて、前サイクル周期と現サイクル周期との値を比較し、一致していない場合は不正入力と判定する。クロック周期変化検出部34は、不正入力が発生した場合、その旨をエラー処理部36に通知して処理はステップS105に進む。不正入力が発生していない場合には、処理はステップS104に進む。
In step S103, the clock period change detection unit 34 compares the values of the previous cycle period and the current cycle period based on the measurement result supplied from the clock
ステップS105において、エラー処理部36は、不定値を出力し逓倍出力を禁止する。ステップS104において、逓倍波形生成部35は、逓倍波形生成が完了しているか否かの判断を行う。その判断の結果、逓倍波形生成が完了している場合には、処理は終了する。未生成の場合は、処理はステップS106に進む。
In step S105, the
ステップS106において、逓倍波形生成部35は、内部に備えられた時刻判定部を用いて、現在の時刻が位相調整に必要な期間を示すスペックであるロックアップタイム時間を経過しているか判定する。その判定において、ロックアップタイム時刻を経過していた場合、処理はステップS107に進む。
In step S <b> 106, the multiplied
ステップS107において、逓倍波形生成部35は、入力クロックの周波数を整数倍にして逓倍クロックを生成し、その逓倍クロックの出力を開始する。ここにおいて、逓倍波形生成部35によって生成される逓倍クロックは、一定時間毎に出力を反転させて生成された出力波形を有している。
In step S107, the multiplied
ステップS108において、論理シミュレーションモデル内部の予想クロック生成部37は、ステップS102で得られた測定周期と同じ周期で変化する予想クロックを生成する。予想クロックの生成動作はロックアップ時間(逓倍波形生成部35から出力される逓倍クロックの波形が安定するまでの時間)が経過した後、一度のみ実行される。予想クロック生成部37は、このとき生成した予想クロックと同じ周期のクロック継続的に出力する。
In step S108, the expected
ステップS109において、逓倍波形生成部35にて生成した出力波形をスケジュールし入力イベントよる処理は終了する。ここで、スケジュールとは、決定されたPLL回路の出力値をイベントとして生成する事である。本イベントが当該PLL回路の後段に備えられているセルに伝播していく。本実施形態のシミュレーション装置10は、上述の処理を行うことにより、入力クロックとして適切でない信号が供給された時には、その入力を不正入力として扱い、PLL回路出力として不定値を出力する。不定値が出力されることによって、PLL回路の後段のセルは正常動作しなくなる。したがって、期待動作とは異なるシミュレーション結果が出力される為、回路設計者は、当該PLLに違反動作が発生している事を発見できる。
In step S109, the output waveform generated by the multiplied
以下に、クロック監視部32に動作に関して図面を参照して説明を行う。図11は、クロック監視部32の動作を例示するフローチャートである。図11を参照すると、ステップS201において、クロック比較部38は、予想クロック生成部37が生成する予想クロックが、供給されるか否かを監視する。予想クロックが供給されると、供給されたクロックをイベント発生として認識する。クロック比較部38が予想クロック生成のイベントを検出すると、処理はステップS202に進む。予想クロック生成のイベントを検出しない場合には、処理は終了する。
The operation of the
ステップS202において、クロック比較部38は、予想クロック生成のイベントに応答して、その時刻の入力クロックと、供給される予想クロックとの比較を行う。クロック比較部38は、その比較に基づいて、入力クロックが停止しているか否かを検出する。その比較の結果、入力クロックが停止していることを検出した場合は、処理はステップS203に進む。入力クロックの停止を検出しなかった場合には、処理は終了する。
In step S202, the
ステップS203において、クロック比較部38は、入力クロックが停止している旨をエラー処理部36に通知する。エラー処理部36は、その通知に応答して逓倍波形生成部35から供給される逓倍クロックの出力を禁止する。その後処理はステップS204に進む。ステップS204において、PLL回路モデル30の出力をスケジュールして処理を終了する。
In step S203, the
このとき、クロック監視部32では、正常状態のときに入力される入力クロックと同じ周波数で、かつ、同じ動作タイミングのクロックを予想クロックとして、入力クロックとは別に生成している。そして、生成した予想クロックのイベントを検出し、予想クロックと入力クロックとが同期している否かを判定している。クロック監視部32のクロック比較部38は、その判定に基づいて同時刻に外部からの入力クロックが停止しているか否かの判定を行い、停止している場合は入力クロック供給端子42から定常値が供給されるので、その値が不正入力であるとする。
At this time, the
上述の動作に対応してシミュレーションを実行することにより、入力クロックが停止したときには、その入力を不正入力として扱い、計算機上のPLL回路は、その出力として不定値を出力する。不定値が出力されることによって、PLL回路の後段のセルは正常動作しなくなる。したがって、期待動作とは異なるシミュレーション結果が出力される為、回路設計者は、当該PLLに違反動作が発生している事を発見できる。 When the input clock is stopped by executing the simulation corresponding to the above-described operation, the input is treated as an illegal input, and the PLL circuit on the computer outputs an indefinite value as the output. Since the indefinite value is output, the subsequent cell of the PLL circuit does not operate normally. Therefore, since a simulation result different from the expected operation is output, the circuit designer can find out that a violation operation has occurred in the PLL.
図12は、本実施形態の動作を例示するタイミングチャートである。図12の(a)は、入力クロック供給端子42を介して供給される入力クロックの動作波形を示している。図12の(b)は、予想クロック生成部37から出力され、クロック比較部38に供給される予想クロックの波形を例示している。図12の(c)は、逓倍クロック出力端子43から出力される逓倍クロックの波形を例示している。以下に述べる動作においては、時刻t1にてロックアップタイムに達したものとする。
FIG. 12 is a timing chart illustrating the operation of this embodiment. FIG. 12A shows the operation waveform of the input clock supplied via the input
図12を参照すると、時刻t1で入力クロックのイベントが発生している。したがって、クロック周期測定部33は、時刻t1において入力クロックの周期を測定し、その測定結果をクロック周期変化検出部34に供給する。クロック周期変化検出部34は、時刻t0から時刻t1にかけて周波数の変動チェックを行う。このとき前サイクル(時刻t0以前)の入力クロックの周期と、現サイクル(時刻t1から時刻t2)の入力クロックの周期はともに周期は時間T1である。したがって、上述のフローチャートのステップS103において、周期が変動していない判断され、その後、逓倍波形生成が行われているか否かの判断が行われる。
Referring to FIG. 12, an input clock event occurs at time t1. Therefore, the clock
図12を参照すると、時刻t1のとき、逓倍波形生成は行われていない。そのため、時刻t1において、逓倍波形を生成するための処理が実行される。上述のように、現在時刻t1において、がロックアップタイムを経過している為、逓倍波形生成部35は、逓倍波形の生成を行い、処理は予想クロック生成動作に進む。このとき、予想クロック生成部37は、逓倍クロック生成部31によって観測されている周期値と同周期で動作する予想クロック信号を内部イベントとして生成する。
Referring to FIG. 12, at time t1, multiplication waveform generation is not performed. Therefore, at time t1, a process for generating a multiplied waveform is executed. As described above, since the lock-up time has elapsed at the current time t1, the multiplied
シミュレーション装置10は、予想クロック生成に応答して、スケジュール登録し終了する。またこのとき、クロック比較部38は、予想クロックのイベントの発生を検出し、予想クロックのイベントに応答して入力クロックのイベントが発生しているかの判定を行う。時刻t1においては、入力クロックが停止することなく供給されているので、処理を終了する。
In response to the expected clock generation, the simulation apparatus 10 registers the schedule and ends. At this time, the
その後、時刻t2〜時刻t4において、入力クロックのイベントが発生するごとに、周期が変動しているか否かの判断、および、逓倍波形生成が行われているか否かの判断が行われる。時刻t1において、逓倍波形生成が行われているため、時刻t2〜時刻t4においては、時刻t1で生成された逓倍クロックが継続的に出力される。 Thereafter, at times t2 to t4, every time an event of the input clock occurs, a determination is made as to whether the period has changed and a determination as to whether a multiplied waveform is being generated. Since the multiplied waveform is generated at time t1, the multiplied clock generated at time t1 is continuously output from time t2 to time t4.
図12の(a)を参照すると、時刻t5において、入力クロックが停止していることが示されている。このとき、予想クロック生成部37からは予想クロックが出力されている。クロック比較部38は、時刻t5において、予想クロックのイベントの発生に応答して、入力クロックと予想クロックとの比較を行う。クロック比較部38は、入力クロックが停止しているので、その旨をエラー処理部36に通知する。エラー処理部36は、クロック比較部38から入力クロックの停止が通知されたことに基づいて、エラー処理を行う。エラー処理を実行した後、不定値出力をスケジュールし処理は終了する。本動作にて、入力クロックの供給が停止された場合に、その供給停止を不正動作として検出可能である。
Referring to (a) of FIG. 12, it is shown that the input clock is stopped at time t5. At this time, an expected clock is output from the expected
[第2の実施形態]
以下に、本発明の第2の実施形態について説明を行う。なお、第2の実施形態の説明に用いる図面に、上述の第1の実施形態で用いた図面と同じ符号を用いている要素は、第1の実施形態の構成要素と同様の構成・動作であるので、その詳細な説明は省略する。
[Second Embodiment]
The second embodiment of the present invention will be described below. In the drawing used for the description of the second embodiment, the elements using the same reference numerals as those used in the first embodiment described above have the same configuration and operation as the components of the first embodiment. Therefore, detailed description thereof is omitted.
図13は、本発明における第2の実施形態のPLL回路モデル50の構成を例示するブロック図である。図13を参照すると、第2の実施形態におけるPLL回路モデル50は、第1の実施形態のPLL回路モデル30に、さらに、フィードバッククロック周期変動監視部51とフィードバッククロック監視部52とフィードバッククロック供給端子58とを含んで構成されている。また、フィードバッククロック周期変動監視部51には、フィードバッククロック供給端子58を介して、逓倍クロック出力端子43から出力される逓倍クロックがフィードバックされている。
FIG. 13 is a block diagram illustrating the configuration of the
第2の実施形態のPLL回路モデル50は、フィードバッククロック供給端子58を有し、PLL回路モデル50の出力信号をCTSを介してフィードバックさせている。したがって、PLL回路モデル50は、外部入力クロックと内部ロジックの動作クロック信号の位相を一致させる事が可能な、位相調整機能つきのPLL回路を有するは半導体装置の論理シミュレーションに適用可能である。
The
図13に示されているように、フィードバッククロック周期変動監視部51は、フィードバッククロック周期測定部53と、フィードバッククロック周期変化検出部54とを含んで構成されている。また、フィードバッククロック監視部52は、予想フィードバッククロック生成部55とフィードバッククロック比較部56と含んで構成されている。
As shown in FIG. 13, the feedback clock cycle variation monitoring unit 51 includes a feedback clock
フィードバッククロック周期測定部53は、フィードバッククロック供給端子58を介して供給される逓倍クロック(以下、フィードバッククロックと呼ぶ。)の周期を測定する機能ブロックである。フィードバッククロック周期変化検出部54は、フィードバッククロック周期測定部53から供給されるフィードバッククロック周期の測定値に基づいて、そのフィードバッククロックの周期が安定しているか否かの判断を行う機能ブロックである。
The feedback clock
予想フィードバッククロック生成部55は、逓倍設定値入力端子41を介して供給される逓倍設定値とクロック周期測定部33から出力される入力クロック周期の測定値とに基づいて、予想フィードバッククロックを生成する機能ブロックである。フィードバッククロックは、逓倍クロック出力端子43から出力される逓倍クロックと同じ周期のクロックである。したがって、予想フィードバッククロック生成部55は、逓倍クロックを生成する逓倍波形生成部35と同様の動作によって、予想フィードバッククロックを生成する。
The expected feedback
フィードバッククロック比較部56は、予想フィードバッククロック生成部55から供給される予想フィードバッククロックと、フィードバッククロック供給端子58を介して供給されるフィードバッククロックとが同期しているかどうかを判定する機能ブロックである。遅延付加部57は、逓倍波形生成部35から出力される逓倍クロックに、所定の演算処理を実行して遅延クロックを生成する機能ブロックである。
The feedback
以下に、図面を参照して第2の実施形態におけるPLL回路モデル50の動作に関して説明を行う。図14は、第2の実施形態の動作を例示するフローチャートである。図14を参照すると、ステップS101からステップS108までの動作は、第1の実施形態の動作と同様である。
The operation of the
図14のステップS110において、クロック周期測定部33から供給される入力クロックの測定周期と、逓倍設定値入力端子41介して供給される逓倍設定値とに基づいて、逓倍クロック出力端子43から出力される逓倍クロックがフィードバックされたクロックを予測した予測フィードバッククロックを生成する。ここにおいて、入力クロックの周期を測定する動作は第1の実施形態と同様に行われる。
In step S110 of FIG. 14, the output is output from the multiplied
図15は、フィードバッククロック周期変動監視部51の動作を例示するフローチャートである。図15を参照すると、ステップS301において、フィードバッククロック周期測定部53はフィードバッククロックのイベントが発生したか否かの判断を行う。その判断の結果、イベントが発生したことを検出した場合、処理はステップS302に進む。フィードバッククロックのイベントが発生していない場合には、処理は終了する。を行い。
FIG. 15 is a flowchart illustrating the operation of the feedback clock cycle variation monitoring unit 51. Referring to FIG. 15, in step S301, the feedback clock
ステップS302において、フィードバッククロック周期測定部53はフィードバッククロックの周期測定を行い、測定結果をフィードバッククロック周期変化検出部54に供給する。ステップS303において、フィードバッククロック周期変化検出部54は、フィードバッククロック周期測定部53から供給される測定結果に基づいて、フィードバッククロックの周期の変動を監視する。ここにおいて、フィードバッククロックの周期の変動を検出した場合は、フィードバッククロック周期変化検出部54はフィードバッククロックが変動している旨をエラー処理部36に通知し、処理はステップ304に進む。フィードバッククロックが変動していない場合には処理は終了する。
In step S <b> 302, the feedback clock
ステップS304において、エラー処理部36は、フィードバッククロック周期変化検出部54からの通知に基づいてエラー処理を行う。エラー処理部36におけるエラー処理の完了に応答して、処理はステップS305に進む。ステップS305において、PLL回路の出力をスケジュールし処理を終了する。
In step S <b> 304, the
図16は、フィードバッククロック監視部52の動作を例示するフローチャートである。図16を参照すると、ステップS401において、フィードバッククロック比較部56は、予想フィードバッククロック生成部55から供給される信号に基づいて、予測フィードバッククロックを生成するイベントが発生しているか否かの判定を行う。
FIG. 16 is a flowchart illustrating the operation of the feedback
予測フィードバッククロックを生成するイベントが発生している時には、処理はステップS402に進む。ステップS402において、フィードバッククロック比較部56は、予測フィードバッククロックと、フィードバッククロック供給端子58を介して供給される入力フィードバッククロックとが同期しているか否かを判断する。フィードバッククロック比較部56はその判断に基づいて、フィードバッククロックを供給するイベントが停止しているか否か判定する。イベントが発生していない場合は、フィードバッククロック比較部56は、フィードバッククロックの停止をエラー処理部36に通知し、処理はステップS403に進む。ステップS403において、エラー処理部36は、その通知に基づいてエラー処理を実行し、PLL回路モデル50の出力値を不定とする。エラー処理部36によるエラー処理の実行後、処理はステップS404に進む。ステップS404において、PLL回路モデル50の出力値を不定とするスケジュールを行い処理は終了する。
When the event for generating the predicted feedback clock has occurred, the process proceeds to step S402. In step S <b> 402, the feedback
位相調整機能付きPLLにおいては、フィードバッククロックについても、入力クロックと同様に安定したクロックを入力する必要がある。入力クロックの周波数測定結果と逓倍設定値より、予測フィードバッククロック信号のイベントを生成し、入力フィードバッククロック信号と比較することで、フィードバックループの不正動作を検出する事が可能になるなお、上述してきた複数の実施形態は、その構成・動作に矛盾が発生しない場合において組み合わせて実行することが可能である。 In a PLL with a phase adjustment function, it is necessary to input a stable clock for the feedback clock as well as the input clock. By generating an event of the predicted feedback clock signal from the frequency measurement result of the input clock and the multiplication setting value, and comparing it with the input feedback clock signal, it is possible to detect an illegal operation of the feedback loop. A plurality of embodiments can be executed in combination when there is no contradiction in the configuration and operation.
1…情報処理装置
2…入力装置
3…表示装置
4…CPU
5…メモリ
6…入出力インターフェース
7…大容量記憶装置
8…バス
10…シミュレーション装置
11…データ記憶部
12…プログラム記憶部
21…ネットリスト
22…ライブラリ
23…シミュレーションモデル
24…論理シミュレーションプログラム
25…半導体装置
26…信号処理部
27…PLL回路
30…PLL回路モデル
31…逓倍クロック生成部
32…クロック監視部
33…クロック周期測定部
34…クロック周期変化検出部
35…逓倍波形生成部
36…エラー処理部
37…予想クロック生成部
38…クロック比較部
41…逓倍設定値入力端子
42…入力クロック供給端子
43…逓倍クロック出力端子
50…PLL回路モデル
51…フィードバッククロック周期変動監視部
52…フィードバッククロック監視部
53…フィードバッククロック周期測定部
54…フィードバッククロック周期変化検出部
55…予想フィードバッククロック生成部
56…フィードバッククロック比較部
57…遅延付加部
58…フィードバッククロック供給端子
100…第2従来モデル
101…クロック周期測定部
102…クロック周期変動検出部
103…逓倍波形生成部
104…エラー処理部
106…入力クロック供給端子
DIV…逓倍設定値入力端子
OUT…逓倍クロック出力端子
DESCRIPTION OF
DESCRIPTION OF
Claims (8)
(a)前記回路に関する回路情報を読み込んで、前記回路情報に基づいてシミュレーションを実行するステップと、
(b)前記シミュレーションにおける前記入力クロックの供給を監視し、前記PLLモデルに対する前記入力クロックの供給開始に応答して、前記入力クロックの変化を監視するための予想クロックを生成するステップと、
(c)前記予想クロックと前記入力クロックとの比較に基づいて前記PLLによる出力クロックの出力を禁止するステップと
を具備し、
前記(b)ステップは、
前記入力クロックと同じ周期のクロックを前記予想クロックとして生成するステップと、
前記予想クロックと前記入力クロックとが同期しているか否かを判定し、前記予想クロックと前記入力クロックとが同期していないときに、前記入力クロックが停止していると判定するステップと、
前記入力クロックが停止していると判定されたことに基づいて、PLL回路出力として不定値をスケジュールするステップと
を含む
方法を前記コンピュータに実行させることを特徴とする
シミュレーションプログラム。 A simulation program for causing a computer to execute an operation of a circuit including a PLL that outputs at least one output clock based on an input clock using a PLL model indicating the PLL,
(A) reading circuit information related to the circuit and executing a simulation based on the circuit information;
(B) monitoring the supply of the input clock in the simulation and generating an expected clock for monitoring the change of the input clock in response to the start of supply of the input clock to the PLL model ;
(C) prohibiting output of an output clock by the PLL based on a comparison between the expected clock and the input clock;
Comprising
The step (b)
Generating a clock having the same period as the input clock as the expected clock;
Determining whether the expected clock and the input clock are synchronized, and determining that the input clock is stopped when the predicted clock and the input clock are not synchronized;
Scheduling an indefinite value as the PLL circuit output based on determining that the input clock is stopped; and
including
Simulation program for causing execute METHODS into the computer.
前記(b)ステップは、
前記シミュレーションにおける前記入力クロックが安定した時刻をロックアップ時刻として特定し、前記ロックアップ時刻における前記入力クロックの周期と同じ周期のクロックを1クロック生成するステップと、
前記1クロックを繰り返して出力することで前記予想クロックを生成するステップ
を含む
シミュレーションプログラム。 The simulation program according to claim 1 ,
The step (b)
Identifying a time when the input clock in the simulation is stable as a lockup time, and generating one clock having the same period as the period of the input clock at the lockup time;
A simulation program comprising: generating the predicted clock by repeatedly outputting the one clock.
(d)前記PLLから出力される出力クロックを帰還させたフィードバッククロックを前記PLLに供給するステップと、
(e)前記フィードバッククロックが帰還したか否かを判断するための予測フィードバッククロックを生成するステップと
(f)前記予測フィードバッククロックと前記フィードバッククロックとの比較に基づいて前記PLLによる出力クロックの出力を禁止するステップ
を具備し、
前記(f)ステップは、
前記予測フィードバッククロックと前記入力フィードバッククロックとが同期していないとき、前記フィードバッククロックが停止していると判定するステップと、
前記フィードバッククロックが停止していると判定されたとき、前記PLLの出力値を不定とするスケジュールを行うステップ
を含む
シミュレーションプログラム。 The simulation program according to claim 2 , further comprising:
(D) supplying a feedback clock obtained by feeding back an output clock output from the PLL to the PLL;
(E) generating a predicted feedback clock for determining whether or not the feedback clock has returned; and (f) outputting an output clock from the PLL based on a comparison between the predicted feedback clock and the feedback clock. A step to prohibit ,
The step (f)
Determining that the feedback clock is stopped when the predicted feedback clock and the input feedback clock are not synchronized;
Performing a schedule for making the output value of the PLL undefined when it is determined that the feedback clock is stopped;
Including simulation program.
シミュレーションモデルとシミュレーションプログラムとを保持する記憶部と、前記シミュレーションモデルは、前記PLL回路に対応するシミュレーションモデルであるPLL回路モデルを含み、
前記シミュレーションプログラムに示される手順に従って回路シミュレーションを実行する演算処理部と
を具備し、
前記PLL回路モデルは、
入力クロック応答して出力クロックを生成する出力クロック生成部と、
前記入力クロックの状態を監視するクロック監視部と
を示し、
前記クロック監視部は、
前記入力クロックと同じ周期の予想クロックを生成する予想クロック生成部と、前記予想クロック生成部から出力される前記予想クロックと前記入力クロックとを受け、前記入力クロックと前記予想クロックとが同期しているか否かを判定し、前記予想クロックと前記入力クロックとが同期していないときに、前記入力クロック前記入力クロックが停止していると判定するクロック比較部と
を含み、
前記出力クロック生成部は、
前記クロック監視部で前記入力クロックが停止していると判定されたことに基づいて、PLL回路出力として不定値をスケジュールして前記出力クロック生成部での前記出力クロックの生成を停止する
論理シミュレーション装置。 A logic simulation apparatus for simulating the operation of a semiconductor integrated circuit including a PLL circuit,
A storage unit that holds a simulation model and a simulation program, and the simulation model includes a PLL circuit model that is a simulation model corresponding to the PLL circuit;
An arithmetic processing unit that executes circuit simulation according to the procedure shown in the simulation program,
The PLL circuit model is:
An output clock generator for generating an output clock in response to an input clock;
A clock monitoring unit for monitoring the state of the input clock;
The clock monitoring unit
An expected clock generator that generates an expected clock having the same period as the input clock; and the expected clock and the input clock output from the expected clock generator, and the input clock and the expected clock are synchronized with each other. A clock comparison unit that determines whether or not the input clock and the input clock are stopped when the predicted clock and the input clock are not synchronized ;
Including
The output clock generator is
A logic simulation device that schedules an indefinite value as an output of a PLL circuit and stops generation of the output clock in the output clock generation unit based on the determination that the input clock is stopped in the clock monitoring unit .
前記予想クロック生成部は、前記出力クロックの周期が安定した時刻の前記入力クロックに同期して前記予想クロックを生成し、前記予想クロックを継続的に出力する
論理シミュレーション装置。 The logic simulation apparatus according to claim 4 ,
Prior Symbol expected clock generator, a logic simulation apparatus cycle of the output clock is in synchronization with the input clock stable time to generate the expected clock, and outputs the estimated clock continuously.
前記出力クロック生成部は、
前記入力クロックのクロック周期を測定するクロック周期測定部と、
現在時間における前記クロック周期と、過去時間における前記クロック周期とに基づいて、前記入力クロックの周期の変化を検出し、前記入力クロックの周期が変化したときに前記出力クロックの生成の禁止を指示するクロック周期変化検出部と、
前記クロック周期と遁倍設定値とに基づいて前記出力クロックを生成する遁倍波形生成部と、
前記クロック周期変化検出部からの指示に基づいて前記出力クロックを出力するか否かを判断するエラー処理部と
を含み、
前記クロック比較部は、前記入力クロックが停止していると判定したときに、前記入力クロックが停止していることを前記エラー処理部に通知し、
前記エラー処理部は、
前記クロック比較部から出力される前記通知、または、前記クロック周期変化検出部から出力される前記指示の少なくとも一方に応答して、前記遁倍波形生成部から出力される前記出力クロックの出力を禁止する
論理シミュレーション装置。 The logic simulation apparatus according to claim 5 ,
The output clock generator is
A clock period measuring unit for measuring a clock period of the input clock;
Based on the clock cycle at the current time and the clock cycle at the past time, a change in the cycle of the input clock is detected, and an instruction to prohibit the generation of the output clock is issued when the cycle of the input clock changes. A clock cycle change detector;
A multiplying waveform generating unit that generates the output clock based on the clock period and the multiplying setting value;
An error processing unit that determines whether to output the output clock based on an instruction from the clock cycle change detection unit,
When the clock comparison unit determines that the input clock is stopped, it notifies the error processing unit that the input clock is stopped ,
The error processing unit
Said notification output from the clock comparator unit, or in response to at least one of the instruction outputted from said clock period change detection unit, prohibits output of the output clock output from the遁倍waveform generator Yes Logic simulation device.
前記出力クロックが帰還された帰還クロックを受け、前記帰還クロックの周期の変化を検出する帰還クロック判定部と、
前記帰還クロックが停止されたか否かを監視する帰還クロック監視部と
を具備し、
前記帰還クロック判定部は、
前記帰還クロックの周期が変化したときに、前記出力クロック生成部に前記出力クロックの生成禁止を指示し、
前記帰還クロック監視部は、
前記帰還クロックに同期した予想帰還クロックを生成し、前記予想帰還クロックと前記帰還クロックとの比較に基づいて、前記帰還クロックが停止さしていることを検出し、前記帰還クロックの停止が検出されたときに、前記出力クロック生成部に前記出力クロックの生成禁止を指示する
論理シミュレーション装置。 The logic simulation apparatus according to claim 6 , further comprising:
A feedback clock determination unit that receives a feedback clock to which the output clock is fed back and detects a change in the period of the feedback clock;
A feedback clock monitoring unit for monitoring whether or not the feedback clock is stopped;
The feedback clock determination unit
When the period of the feedback clock changes, the output clock generation unit is instructed to prohibit generation of the output clock,
The feedback clock monitoring unit
When generating an expected feedback clock synchronized with the feedback clock, detecting that the feedback clock is stopped based on a comparison between the predicted feedback clock and the feedback clock, and detecting a stop of the feedback clock And a logic simulation device that instructs the output clock generation unit to prohibit generation of the output clock.
前記帰還クロック判定部は、
前記帰還クロックの周期を測定する帰還クロック周期測定部と、
前記帰還クロック周期測定部が現在時間に測定した前記帰還クロックの周期と、過去時間に測定された前記帰還クロックの周期とを比較し、その比較の結果に基づいて前記帰還クロックの周期の変化を検出する帰還クロック変化検出部と
を含み、
前記帰還クロック監視部は、
前記遁倍設定値と前記クロック周期測定部から出力される前記入力クロックの周期の測定値とに基づいて前記予想帰還クロックを生成する予想帰還クロック生成部と、
前記予想帰還クロックと前記予想クロックとの比較に基づいて、前記帰還クロックが停止しているか否か検出し、前記帰還クロックが停止していることを検出したときに前記質力クロック生成部に前記出力クロックの出力禁止を指示する予想帰還クロック比較部と
を含む
論理シミュレーション装置。
The logic simulation apparatus according to claim 7 , wherein
The feedback clock determination unit
A feedback clock period measuring unit for measuring the period of the feedback clock;
The feedback clock cycle measurement unit compares the cycle of the feedback clock measured at the current time with the cycle of the feedback clock measured at the past time, and changes the cycle of the feedback clock based on the comparison result. A feedback clock change detection unit for detecting,
The feedback clock monitoring unit
An expected feedback clock generating unit that generates the predicted feedback clock based on the multiplication setting value and a measured value of the period of the input clock output from the clock period measuring unit;
Based on the comparison between the expected feedback clock and the expected clock, it is detected whether the feedback clock is stopped, and when it is detected that the feedback clock is stopped, the quality clock generation unit A logic simulation device including an expected feedback clock comparison unit that instructs output prohibition of an output clock.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005358048A JP4651023B2 (en) | 2005-12-12 | 2005-12-12 | Circuit simulation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005358048A JP4651023B2 (en) | 2005-12-12 | 2005-12-12 | Circuit simulation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007164363A JP2007164363A (en) | 2007-06-28 |
JP4651023B2 true JP4651023B2 (en) | 2011-03-16 |
Family
ID=38247199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005358048A Expired - Fee Related JP4651023B2 (en) | 2005-12-12 | 2005-12-12 | Circuit simulation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4651023B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6572542B2 (en) | 2015-01-26 | 2019-09-11 | 株式会社ソシオネクスト | Logic simulation method, logic simulation apparatus and program |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002297684A (en) * | 2001-03-30 | 2002-10-11 | Nec Microsystems Ltd | Simulation method and simulation program for pll circuit |
-
2005
- 2005-12-12 JP JP2005358048A patent/JP4651023B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002297684A (en) * | 2001-03-30 | 2002-10-11 | Nec Microsystems Ltd | Simulation method and simulation program for pll circuit |
Also Published As
Publication number | Publication date |
---|---|
JP2007164363A (en) | 2007-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8255850B2 (en) | Fabricating IC with NBTI path delay within timing constraints | |
JP2005092885A (en) | System and method for statistical timing analysis of digital circuits | |
US9043737B2 (en) | Integrated circuit design verification through forced clock glitches | |
KR20170039073A (en) | Calibrating a power supply using power supply monitors | |
CN112069763A (en) | Method for correcting circuit | |
US20110295536A1 (en) | Clock jitter analyzing method and apparatus | |
US20070106488A1 (en) | Incremental circuit re-simulation system | |
US10354029B2 (en) | Method for equipping registers of an integrated circuit to detect timing violations | |
US20130036394A1 (en) | Vectorless IVD Analysis Prior to Tapeout to Prevent Scan Test Failure Due to Voltage Drop | |
JP4651023B2 (en) | Circuit simulation device | |
JP2007142094A (en) | Flip-flop functional element, semiconductor integrated circuit and method and device for designing the same | |
JP5119506B2 (en) | Semiconductor integrated circuit design apparatus, data processing method thereof, and control program thereof | |
US20080300806A1 (en) | Power consumption calculating method | |
US7930609B2 (en) | Apparatus and method for verifying target circuit | |
JP2005141434A (en) | Timing verification system and program for integrated circuit | |
JP2005108007A (en) | Lsi design verification apparatus and lsi design verification method | |
US20210132147A1 (en) | Test pattern generating method, test pattern generating device and fault model generating method | |
Anghel et al. | Design-time exploration for process, environment and aging compensation techniques for low power reliable-aware design | |
US20230351085A1 (en) | Detecting instability in combinational loops in electronic circuit designs | |
US11062069B1 (en) | Bounded deadlock check | |
US8392860B1 (en) | Identifying speed binning test vectors during simulation of an integrated circuit design | |
US20230195984A1 (en) | Method for timing signoff in mixed-transistor designs | |
JP2008217413A (en) | Static timing analysis method and program | |
JP7078428B2 (en) | Simulation execution control device, simulation execution control method, and simulation execution control program | |
JP4181987B2 (en) | Semiconductor integrated circuit, electronic device, and clock supply state detection method for semiconductor integrated circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100901 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100903 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101101 |
|
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: 20101210 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101210 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131224 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |