図面 (/)

技術 論理シミュレーション方法、論理シミュレーション装置及びプログラム

出願人 株式会社ソシオネクスト
発明者 黒須一司野村賢一
出願日 2015年1月26日 (5年11ヶ月経過) 出願番号 2015-012306
公開日 2016年8月4日 (4年4ヶ月経過) 公開番号 2016-139186
状態 特許登録済
技術分野 発信器の安定化、同期、周波数シンセサイザ CAD 電子回路の試験
主要キーワード 最低入力 最小デューティ PLLブロック 物理仕様 最低出力 光学ドライブ装置 メモリリーダライタ 最大入力
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年8月4日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

分周比が変動する分周回路を備えたPLL回路の動作を精度よく再現する。

解決手段

プロセッサ2が、PLL回路のフィードバッククロックリファレンスクロックとの位相差を検出し、その位相差に基づいて、PLL回路から出力される出力クロック周波数候補値を示す第1の周波数情報を生成し、第1の周波数情報を平滑化して第2の周波数情報を生成し、第2の周波数情報に基づき周波数を決定し出力クロックを生成する。

概要

背景

LSI(Large Scale Integrated circuit)には、PLL(Phase Locked Loop)回路などのアナログ回路を搭載しているものがある。PLL回路は、クロック周波数逓倍やLSI内部のクロックスキュー調整などを行う機能を有しており、LSIの高速化及び大規模化を実現させるための回路として適用されている。

また、近年では、周波数整数逓倍するPLL回路に加えて、SSCG(Spread Spectrum Clock Generator、スペクトラム拡散クロック生成器)や、小数逓倍機能を有するFractional−NPLLなど、分周比が変動する分周回路を備えたPLL回路も提案されている。

LSIの設計の際、PLL回路の動作を検証するために、Verilogなどのハードウェア記述言語でPLL回路を機能的に記述したシミュレーションモデルが作成され、論理シミュレーションが行われる。

周波数を整数逓倍するPLL回路のシミュレーションモデルには、リファレンスクロックフィードバッククロックとの位相差を検出する位相差検出部と、位相差から出力クロック目標周波数に達したか否かを判定するロック検出部が含まれる。また、位相差に基づき周波数を調整する周波数調整部と、調整された周波数のクロックを出力するクロック出力部や、出力クロックを分周してフィードバッククロックを生成する分周部が含まれる。

概要

分周比が変動する分周回路を備えたPLL回路の動作を精度よく再現する。プロセッサ2が、PLL回路のフィードバッククロックとリファレンスクロックとの位相差を検出し、その位相差に基づいて、PLL回路から出力される出力クロックの周波数の候補値を示す第1の周波数情報を生成し、第1の周波数情報を平滑化して第2の周波数情報を生成し、第2の周波数情報に基づき周波数を決定し出力クロックを生成する。

目的

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

分周比が変動する分周回路を備えたPLL回路の動作を再現する論理シミュレーション方法において、プロセッサが、前記PLL回路のフィードバッククロックリファレンスクロックとの位相差を検出し、前記プロセッサが、前記位相差に基づいて、前記PLL回路から出力される出力クロック周波数候補値を示す第1の周波数情報を生成し、前記プロセッサが、前記第1の周波数情報を平滑化して第2の周波数情報を生成し、前記プロセッサが、前記第2の周波数情報に基づき前記周波数を決定し前記出力クロックを生成する、ことを特徴とする論理シミュレーション方法。

請求項2

前記プロセッサは、連続するN(N≧2)回分の前記位相差の検出結果に基づいて生成した前記第1の周波数情報であるN個の第1の周波数値を平均化することで、前記第2の周波数情報である第2の周波数値を生成する、ことを特徴とする請求項1に記載の論理シミュレーション方法。

請求項3

前記プロセッサは、前記第1の周波数情報である第1の周波数値と予め保持している第3の周波数値との第1の差分に第1の係数を乗じて、前記第1の差分より小さい第2の差分を算出し、前記第3の周波数値に前記第1の係数より大きい第2の係数を乗じた値を、前記第2の差分に加算することで、前記第2の周波数情報である第2の周波数値を生成し、前記第2の差分に前記第3の周波数値を加えた値で、前記第3の周波数値を更新する、ことを特徴とする請求項1に記載の論理シミュレーション方法。

請求項4

前記PLL回路は、スペクトラム拡散クロック生成器または小数逓倍機能を有するPLL回路であることを特徴とする請求項1に記載の論理シミュレーション方法。

請求項5

分周比が変動する分周回路を備えたPLL回路の動作を再現する論理シミュレーション装置において、前記PLL回路のフィードバッククロックとリファレンスクロックとの位相差を検出する位相差検出部と、前記位相差に基づいて、前記PLL回路から出力される出力クロックの周波数の候補値を示す第1の周波数情報を生成する周波数調整部と、前記第1の周波数情報を平滑化して第2の周波数情報を生成する平滑化処理部と、前記第2の周波数情報に基づき前記周波数を決定し前記出力クロックを生成する出力部と、を有することを特徴とする論理シミュレーション装置。

請求項6

分周比が変動する分周回路を備えたPLL回路の動作を再現するプログラムであって、前記PLL回路のフィードバッククロックとリファレンスクロックとの位相差を検出し、前記位相差に基づいて、前記PLL回路から出力される出力クロックの周波数の候補値を示す第1の周波数情報を生成し、前記第1の周波数情報を平滑化して第2の周波数情報を生成し、前記第2の周波数情報に基づき前記周波数を決定し前記出力クロックを生成する、処理をコンピュータに実行させるプログラム。

技術分野

背景技術

0002

LSI(Large Scale Integrated circuit)には、PLL(Phase Locked Loop)回路などのアナログ回路を搭載しているものがある。PLL回路は、クロック周波数逓倍やLSI内部のクロックスキュー調整などを行う機能を有しており、LSIの高速化及び大規模化を実現させるための回路として適用されている。

0003

また、近年では、周波数整数逓倍するPLL回路に加えて、SSCG(Spread Spectrum Clock Generator、スペクトラム拡散クロック生成器)や、小数逓倍機能を有するFractional−NPLLなど、分周比が変動する分周回路を備えたPLL回路も提案されている。

0004

LSIの設計の際、PLL回路の動作を検証するために、Verilogなどのハードウェア記述言語でPLL回路を機能的に記述したシミュレーションモデルが作成され、論理シミュレーションが行われる。

0005

周波数を整数逓倍するPLL回路のシミュレーションモデルには、リファレンスクロックフィードバッククロックとの位相差を検出する位相差検出部と、位相差から出力クロック目標周波数に達したか否かを判定するロック検出部が含まれる。また、位相差に基づき周波数を調整する周波数調整部と、調整された周波数のクロックを出力するクロック出力部や、出力クロックを分周してフィードバッククロックを生成する分周部が含まれる。

先行技術

0006

国際公開2008/117361号

発明が解決しようとする課題

0007

ところで、SSCGなどの分周比が変動するPLL回路では、分周比が常に変動しているため、出力クロックの周波数が目標とする周波数に近づいても、リファレンスクロックとフィードバッククロックとの間には位相差が発生する。上記のようなシミュレーションモデルを用いた論理シミュレーションでは、リファレンスクロックとフィードバッククロックとの位相差に基づいて出力クロックの次の周波数が直ちに決定される。そのため、実際のPLL回路よりも急激な周波数変動が起こりやすく、回路動作を精度よく再現することが困難であった。

課題を解決するための手段

0008

発明の一観点によれば、分周比が変動する分周回路を備えたPLL回路の動作を再現する論理シミュレーション方法として、プロセッサが、前記PLL回路のフィードバッククロックとリファレンスクロックとの位相差を検出し、前記プロセッサが、前記位相差に基づいて、前記PLL回路から出力される出力クロックの周波数の候補値を示す第1の周波数情報を生成し、前記プロセッサが、前記第1の周波数情報を平滑化して第2の周波数情報を生成し、前記プロセッサが、前記第2の周波数情報に基づき前記周波数を決定し前記出力クロックを生成する、論理シミュレーション方法が提供される。

0009

また、発明の一観点によれば、分周比が変動する分周回路を備えたPLL回路の動作を再現する論理シミュレーション装置として、前記PLL回路のフィードバッククロックとリファレンスクロックとの位相差を検出する位相差検出部と、前記位相差に基づいて、前記PLL回路から出力される出力クロックの周波数の候補値を示す第1の周波数情報を生成する周波数調整部と、前記第1の周波数情報を平滑化して第2の周波数情報を生成する平滑化処理部と、前記第2の周波数情報に基づき前記周波数を決定し前記出力クロックを生成する出力部と、を有する論理シミュレーション装置が提供される。

0010

また、発明の一観点によれば、分周比が変動する分周回路を備えたPLL回路の動作を再現するプログラムとして、前記PLL回路のフィードバッククロックとリファレンスクロックとの位相差を検出し、前記位相差に基づいて、前記PLL回路から出力される出力クロックの周波数の候補値を示す第1の周波数情報を生成し、前記第1の周波数情報を平滑化して第2の周波数情報を生成し、前記第2の周波数情報に基づき前記周波数を決定し前記出力クロックを生成する、処理をコンピュータに実行させるプログラムが提供される。

発明の効果

0011

開示の論理シミュレーション方法、論理シミュレーション装置及びプログラムによれば、分周比が変動する分周回路を備えたPLL回路の動作を精度よく再現できる。

図面の簡単な説明

0012

第1の実施の形態の論理シミュレーション方法及び論理シミュレーション装置の一例を示す図である。
第2の実施の形態の論理シミュレーション装置のハードウェア例を示す図である。
論理シミュレーション装置の一例の機能ブロック図である。
SSCGの物理仕様の一例を示す図である(その1)。
SSCGの物理仕様の一例を示す図である(その2)。
シミュレーション実行部の一例の機能ブロック図である。
平滑化処理部の一例を示す図である。
SSCGにおける平滑化処理前後の出力周波数時間変化の一例の様子を示す図である。
Fractional−NPLLにおける平滑化処理前後の周波数の時間変化の一例の様子を示す図である。
整数逓倍PLL回路のシミュレーションモデルの一例を示す図である。
平滑化処理部を有さないシミュレーションモデルを用いた場合のSSCGの出力周波数の一例の様子を示す図である。
平滑化処理部を有さないシミュレーションモデルを用いた場合のFractional−N PLLの出力周波数の一例の様子を示す図である。
平滑化処理部を有するシミュレーションモデルを用いた場合のSSCGの出力周波数の一例の様子を示す図である。
平滑化処理部を有するシミュレーションモデルを用いた場合のFractional−N PLLの出力周波数の一例の様子を示す図である。
平滑化処理部の他の例を示す図である。
図15に示した平滑化処理部を有するシミュレーションモデルを用いた場合のSSCGの出力周波数の一例の様子を示す図である。
図15に示した平滑化処理部を有するシミュレーションモデルを用いた場合のFractional−N PLLの出力周波数の一例の様子を示す図である。
論理シミュレーションの一例の流れを示すフローチャートである(その1)。
論理シミュレーションの一例の流れを示すフローチャートである(その2)。
図7に示した平滑化処理部を用いる場合の平滑化処理の一例の流れを示す図である。
図15に示した平滑化処理部を用いる場合の平滑化処理の一例の流れを示す図である。

実施例

0013

以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の論理シミュレーション方法及び論理シミュレーション装置の一例を示す図である。

0014

本実施の形態の論理シミュレーション方法及び論理シミュレーション装置は、SSCGやFractional−NPLLといった分周比が変動するPLL回路の動作を再現するものである。

0015

論理シミュレーション装置1は、たとえば、コンピュータであり、プロセッサ2と記憶部3を有している。プロセッサ2は、記憶部3に記憶されているデータ及びプログラムに基づき、分周比が変動する分周回路を備えたPLL回路のシミュレーションモデル10の各機能を実現する。記憶部3は、プロセッサ2が実行するプログラムや、PLL回路の物理仕様など、論理シミュレーションに用いる各種データを記憶する。

0016

図1のシミュレーションモデル10には、位相差検出部11、ロック検出部12、周波数調整部13、平滑化処理部14、出力部15、分周部16が含まれている。このような各機能部は、たとえば、Verilogなどのハードウェア記述言語で記述されている。

0017

位相差検出部11は、PLL回路のフィードバッククロックと、所定の周波数をもつリファレンスクロックとの位相差を検出する。
ロック検出部12は、検出された位相差に基づき、PLL回路の出力クロックの周波数(以下出力周波数という)が目標とする周波数(以下目標周波数という)に対して所定の範囲内に収束しているか否かを判定する。

0018

周波数調整部13は、検出された位相差に基づいて、出力周波数の候補値を示す周波数情報を生成する。
平滑化処理部14は、生成された周波数情報を平滑化する。

0019

出力部15は、平滑化された周波数情報に基づき出力クロックを生成する。
分周部16は、生成された出力クロックを分周してフィードバッククロックを生成する。

0020

以下、上記のような論理シミュレーション装置1を用いた論理シミュレーション方法において、出力クロックを生成する際の処理の流れを、図1を用いて説明する。なお、前述したようにシミュレーションモデル10の各機能は、プロセッサ2により実現されるため、以下では各処理の主体を、プロセッサ2として説明する。

0021

まず、プロセッサ2は、PLL回路のフィードバッククロックとリファレンスクロックとの位相差を検出する(ステップS1)。なお、リファレンスクロックの周波数は予め一定の値に定められている。

0022

そして、プロセッサ2は、検出した位相差に基づき、出力周波数の候補値を示す周波数情報を生成する(ステップS2)。
その後、プロセッサ2は、生成した周波数情報を平滑化する(ステップS3)。図1には、ステップS2の処理で生成される周波数情報(周波数調整部13の出力)と、平滑化後の周波数情報(平滑化処理部14の出力)の一例が示されている。これらは、SSCGのシミュレーションモデルにおいて生成される周波数情報の例である。縦軸はSSCGの出力周波数を示し、横軸は時間を示している。図1のように、平滑化前には、時間に対して急激な周波数変動がみられるが、平滑化後には、急激な周波数変動が抑えられている。

0023

平滑化処理の例については後述するが、たとえば、プロセッサ2は、過去の位相差の検出結果に基づいて生成した周波数情報を、記憶部3に保持しておく。そして、プロセッサ2は、連続するN(N≧2)回分の位相差の検出結果に基づいて生成した周波数情報であるN個の周波数値(候補値)を平均化することで、上記のような急激な周波数変動を抑えることができる。

0024

次に、プロセッサ2は、平滑化後の周波数情報に基づき出力クロックを生成する(ステップS4)。
以上のように、本実施の形態の論理シミュレーション方法及び論理シミュレーション装置では、フィードバッククロックとリファレンスクロックとの位相差に基づく周波数情報を平滑化することで、シミュレーション特有の急激な周波数変動を抑えられる。そのため、分周比が変動する分周回路を備えたPLL回路の実際の動作を精度よく再現できる。

0025

また、上記のようなシミュレーションモデル10は、周波数を整数逓倍するPLL回路のシミュレーションモデルを大きく変更するものではないため、論理シミュレーションにかかる工数の増大を少なくできる。

0026

(第2の実施の形態)
以下、第2の実施の形態の論理シミュレーション方法及び論理シミュレーション装置の一例を示す。

0027

図2は、第2の実施の形態の論理シミュレーション装置のハードウェア例を示す図である。
論理シミュレーション装置20は、たとえば、コンピュータであり、プロセッサ21によって装置全体が制御されている。プロセッサ21には、バス29を介してRAM(Random Access Memory)22と複数の周辺機器が接続されている。プロセッサ21は、マルチプロセッサであってもよい。プロセッサ21は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific IntegratedCircuit)、またはPLD(Programmable Logic Device)である。またプロセッサ21は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。

0028

RAM22は、論理シミュレーション装置20の主記憶装置として使用される。RAM22には、プロセッサ21に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM22には、プロセッサ21による処理に必要な各種データが格納される。

0029

バス29に接続されている周辺機器としては、HDD(Hard Disk Drive)23、グラフィック処理装置24、入力インタフェース25、光学ドライブ装置26、機器接続インタフェース27及びネットワークインタフェース28がある。

0030

HDD23は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD23は、論理シミュレーション装置20の補助記憶装置として使用される。HDD23には、OSのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。

0031

グラフィック処理装置24には、モニタ24aが接続されている。グラフィック処理装置24は、プロセッサ21からの命令にしたがって、画像をモニタ24aの画面に表示させる。モニタ24aとしては、CRT(Cathode Ray Tube)を用いた表示装置液晶表示装置などがある。

0032

入力インタフェース25には、キーボード25aとマウス25bとが接続されている。入力インタフェース25は、キーボード25aやマウス25bから送られてくる信号をプロセッサ21に送信する。なお、マウス25bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネルタブレットタッチパッドトラックボールなどがある。

0033

光学ドライブ装置26は、レーザ光などを利用して、光ディスク26aに記録されたデータの読み取りを行う。光ディスク26aは、光の反射によって読み取り可能なようにデータが記録された可搬型記録媒体である。光ディスク26aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。

0034

機器接続インタフェース27は、論理シミュレーション装置20に周辺機器を接続するための通信インタフェースである。たとえば機器接続インタフェース27には、メモリ装置27aやメモリリーダライタ27bを接続することができる。メモリ装置27aは、機器接続インタフェース27との通信機能を搭載した記録媒体である。メモリリーダライタ27bは、メモリカード27cへのデータの書き込み、またはメモリカード27cからのデータの読み出しを行う装置である。メモリカード27cは、カード型の記録媒体である。

0035

ネットワークインタフェース28は、ネットワーク28aに接続されている。ネットワークインタフェース28は、ネットワーク28aを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。

0036

以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、図1に示した第1の実施の形態の論理シミュレーション装置1も、図2に示した論理シミュレーション装置20と同様のハードウェアにより実現することができる。

0037

論理シミュレーション装置20は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。論理シミュレーション装置20に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、論理シミュレーション装置20に実行させるプログラムをHDD23に格納しておくことができる。プロセッサ21は、HDD23内のプログラムの少なくとも一部をRAM22にロードし、プログラムを実行する。また論理シミュレーション装置20に実行させるプログラムを、光ディスク26a、メモリ装置27a、メモリカード27cなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ21からの制御により、HDD23にインストールされた後、実行可能となる。またプロセッサ21が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。

0038

(論理シミュレーション装置の機能ブロック図)
図3は、論理シミュレーション装置の一例の機能ブロック図である。
論理シミュレーション装置20は、論理ライブラリ31、物理仕様検出部32、監視部33、警告出力部34、シミュレーション実行部35を有している。

0039

論理ライブラリ31には、検証対象のアナログ回路の論理動作の他に、アナログ回路の物理仕様が記述されている。論理ライブラリ31は、たとえば、図2に示したHDD23に格納されている。

0040

物理仕様検出部32、監視部33、警告出力部34、シミュレーション実行部35は、たとえば、図2に示したプロセッサ21が、HDD23に格納されているプログラムを実行することによって実現される。

0041

物理仕様検出部32は、論理ライブラリ31から検証対象のアナログ回路の物理仕様を検出する。検証対象のアナログ回路の物理仕様とは、PLL回路などのアナログ回路を起動する際に入力すべき信号の設定を示す起動シーケンスや、出力クロックやフィードバッククロックの周波数の許容範囲などである。

0042

本実施の形態の論理シミュレーション装置20では、分周比が整数逓倍の分周回路を備えたPLL回路のほか、SSCGやFractional−NPLLなど、分周比が変動する分周回路を備えたPLL回路の物理仕様についても検出される。

0043

図4図5は、SSCGの物理仕様の一例を示す図である。縦軸は周波数を示し、横軸は時間を示している。
SSCGには、目標周波数を上限として周波数を変動させるダウンスプレッドと、目標周波数を中心として周波数を変動させるセンタースプレッドがある。図4には、ダウンスプレッドの場合の周波数の変動の様子が示されており、図5には、センタースプレッドの場合の周波数の変動の様子が示されている。

0044

SSCGにおいて、たとえば、図4図5に示すような変調周期や、変調幅が満たすべき値が、物理仕様となる。変調周期は、変調周波数によって決まり、変調幅は、目標周波数に対する変調率で決まる。

0045

なお、図4図5ではSSCGの出力周波数の変動は三角波で表されているが、サイン波などであってもよい。
図3の説明に戻る。

0046

監視部33は、論理シミュレーション時の信号または設定が、上記の物理仕様を満たすか否かを監視する。論理シミュレーション時の信号または設定とは、たとえば、前述した起動シーケンスや各クロックなどである。

0047

警告出力部34は、論理シミュレーション時の信号または設定が物理仕様を満たさない場合、たとえば、図2に示したモニタ24aに警告を表示する。
シミュレーション実行部35は、論理ライブラリ31の記述をもとに、アナログ回路の論理シミュレーションを実行する。

0048

以下、分周比が変動する分周回路を備えたPLL回路の論理シミュレーションを行う際のシミュレーション実行部35の一例を示す。
(シミュレーション実行部35の機能ブロック図)
図6は、シミュレーション実行部の一例の機能ブロック図である。シミュレーション実行部35の要素は、図1に示した、シミュレーションモデル10の要素に対応しているものも含む。

0049

シミュレーション実行部35は、リファレンスクロック生成部40、PLL部41、分周部42を有している。
リファレンスクロック生成部40は、所定の周波数のリファレンスクロックを生成する。

0050

PLL部41は、リファレンスクロックと分周部42から供給されるフィードバッククロックに基づきPLL動作を行い、出力クロックと、リファレンスクロックとフィードバッククロックとの位相差が所定の範囲内であるか否かを示すロック信号を出力する。

0051

分周部42は、出力クロックの周波数を分周してフィードバッククロックを生成する。分周部42が用いる分周比は変動する。たとえば、SSCGの場合は、分周部42は、出力周波数を、図4図5のように変動させるように分周比を変動する。

0052

PLL部41は、位相差検出部41a、ロック検出部41b、周波数調整部41c、平滑化処理部41d、出力部41eを有する。
位相差検出部41aは、上記のフィードバッククロックと、リファレンスクロックとの位相差を検出する。

0053

ロック検出部41bは、検出された位相差に基づき、出力周波数が目標周波数に対して、論理ライブラリ31に記述された所定の範囲内に収束しているか否かを判定し、判定結果に基づくロック信号を生成する。ロック信号は、監視部33に供給される。

0054

周波数調整部41cは、検出された位相差に基づいて、出力周波数の候補値を示す周波数情報を生成する。
平滑化処理部41dは、生成された周波数情報を平滑化する。平滑化処理部41dは、ローパスフィルタなどで実現が可能である。

0055

出力部41eは、平滑化された周波数情報に基づき出力クロックを生成する。出力クロックは、監視部33に供給される。
以下、平滑化処理部41dの例を説明する。

0056

(平滑化処理部41dの例)
図7は、平滑化処理部の一例を示す図である。
平滑化処理部41dは、N−1(N≧2)個の遅延部51a1,51a2,51a3,…,51aN−1及び加算部52a1,52a2,…,52aN−2,52aN−1と、除算部53を有している。

0057

遅延部51a1〜51aN−1は、直列に接続されている。遅延部51a1〜51aN−1のそれぞれは、フィードバッククロックとリファレンスクロックとの1回の位相比較の結果に基づき周波数調整部41cから周波数値(候補値)を出力する時間分、入力される周波数の値を保持してから出力する。そのため、周波数調整部41cから、フィードバッククロックとリファレンスクロックとの位相比較の結果に基づくある周波数値が出力されたとき、過去N−1回分の位相比較の結果に基づく周波数値が、遅延部51a1〜51aN−1から出力される。

0058

加算部52a1〜52aN−1は、直列に接続されている。加算部52a1は、周波数調整部41cから出力される周波数値に、遅延部51a1から出力される周波数値を加算する。加算部52a2〜52aN−1のそれぞれは、前段の加算部の出力値に、遅延部51a2〜51aN−1のうち対応するものから出力される周波数値を加算する。

0059

除算部53は、最後段の加算部52aN−1の出力値をNで割った値を、出力周波数として出力する。
このような平滑化処理部41dによれば、周波数調整部41cから出力される、最新の周波数値と、過去N−1回分の周波数値、すなわちN回分の周波数値の平均値が最新の出力周波数となる。

0060

図8は、SSCGにおける平滑化処理前後の出力周波数の時間変化の一例の様子を示す図である。縦軸は出力周波数を示し、横軸は時間を示している。破線は平滑化処理前の周波数の時間変化を示し、実線は平滑化処理後の周波数の時間変化を示している。

0061

図8に示すように、平滑化処理前の、短期間で発生する急激な周波数変動(シミュレーション特有の周波数変動)は、平滑化処理部41dによって平滑化され、緩やかな周波数変化は、遅延部51a1〜51aN−1による遅延を伴って出力周波数に反映される。

0062

図9は、Fractional−NPLLにおける平滑化処理前後の周波数の時間変化の一例の様子を示す図である。縦軸は出力周波数を示し、横軸は時間を示している。破線は平滑化処理前の周波数の時間変化を示し、実線は平滑化処理後の周波数の時間変化を示している。

0063

図9に示すように、平滑化処理前の、短期間で発生する急激な周波数変動(シミュレーション特有の周波数変動)は、平滑化処理部41dによって平滑化され、所望の出力周波数が得られている。

0064

ところで、図6のシミュレーション実行部35のようなPLL回路のシミュレーションモデルは、周波数を整数逓倍するPLL回路(以下整数逓倍PLL回路という)のシミュレーションモデルからの変更も少ない。以下、比較例とし、整数逓倍PLL回路のシミュレーションモデルの一例を示す。

0065

(比較例)
図10は、整数逓倍PLL回路のシミュレーションモデルの一例を示す図である。図6に示した要素と同じ要素については同一符号が付されている。

0066

整数逓倍PLL回路のシミュレーションモデル60におけるPLL部61では、図6に示したPLL部41と異なり、周波数調整部41cが出力する周波数情報が、出力部41eに直接供給される。また、分周部62は、出力クロックの周波数を整数逓倍する。

0067

このようなシミュレーションモデル60のPLL部61を用い、分周部62を図6に示した分周比が変動する分周部42とした場合、出力周波数は、たとえば、以下のようになる。

0068

図11は、平滑化処理部を有さないシミュレーションモデルを用いた場合のSSCGの出力周波数の一例の様子を示す図である。
また、図12は、平滑化処理部を有さないシミュレーションモデルを用いた場合のFractional−NPLLの出力周波数の一例の様子を示す図である。

0069

縦軸は出力周波数[MHz]を示し、横軸は時間[ps]を示している。
なお、図11の例において、目標周波数は1000MHz(リファレンスクロックの周波数の100逓倍)で、前述したセンタースプレッドで、出力周波数が変動している。変調率は5%(目標周波数に対して±2.5%)、変調周波数は9.8kHz(リファレンスクロックの周波数の1/1024)である。

0070

また、図12では、10MHzのリファレンスクロックを100.5倍して1005MHzの出力周波数を得る例が示されている。
図11図12のいずれの場合も、短期間で発生する急激な周波数変動(シミュレーション特有の周波数変動)が多くみられる。たとえば、図12の例では、出力周波数の全体の平均は1005MHz程度となるが、1005MHz−10MHzから、1005MHz+20MHzの範囲で出力周波数の急激な変動がみられる。

0071

大きな出力周波数の変動を抑制するため、リファレンスクロックとフィードバッククロックとの一回の位相比較によって変動させる周波数を小さくすることが考えられるが、その場合、PLL回路がロックするまでの時間が増大してしまう。

0072

これに対して、図6のシミュレーション実行部35のようなシミュレーションモデルにおいて、平滑化処理部41dとして、図7に示したものを適用することで、出力周波数は、たとえば以下のようになる。

0073

図13は、平滑化処理部を有するシミュレーションモデルを用いた場合のSSCGの出力周波数の一例の様子を示す図である。
また、図14は、平滑化処理部を有するシミュレーションモデルを用いた場合のFractional−NPLLの出力周波数の一例の様子を示す図である。

0074

縦軸は出力周波数[MHz]を示し、横軸は時間[ps]を示している。
なお、入力条件は、平滑化処理部41dにおける前述のNを、N=128とした以外は、図11図12に示した例と同じである。

0075

平滑化処理部41dを適用することで、図13に示すように、短期間で発生する急激な周波数変動が、平滑化処理を行わない図11の例と比較して、1/10以下程度に抑えられている。

0076

また、Fractional−NPLLに関しても、平滑化処理部41dを適用する場合は、平滑化処理を行わない図12の例と比較して急激な周波数変動が抑えられている。図14の例では、出力周波数の変動は、1005MHz±1MHzの範囲に収まっている。

0077

また、平滑化処理は、緩やかな周波数変動を出力周波数に伝えるものであるため、ロック時間の増大も抑制できる。
以上のように、平滑化処理を行うことで、シミュレーション特有の短期間での急激な周波数変動が抑えられ、分周比が変動する分周回路を備えた実際のPLL回路の回路動作を精度よく再現できるようになる。

0078

なお、シミュレーション実行部35は、整数逓倍PLL回路の論理シミュレーションを行う場合は、図10に示すようなシミュレーションモデル60であってもよい。
ところで、平滑化処理部41dは、図7に示したようなものに限定されない。以下、平滑化処理部41dの他の例を説明する。

0079

(平滑化処理部の他の例)
図15は、平滑化処理部の他の例を示す図である。
平滑化処理部41daは、加算部70、乗算部71、加算部72、レジスタ部73、乗算部74、加算部75を有している。

0080

加算部70は、周波数調整部41cから出力される周波数情報(位相比較結果に基づく周波数値)から、レジスタ部73の出力値を減算する。
乗算部71は、加算部70の出力値に係数αを乗ずる。

0081

加算部72は、乗算部71の出力値に、レジスタ部73の出力値を加算する。
レジスタ部73は、加算部72の出力値を、たとえば、トリガ信号による所定の周期で取得する。そして、レジスタ部73は、取得した加算部72の出力値を、その周期の時間分、出力する。なお、トリガ信号による上記の周期は、長くなると緩やかな周波数変動も抑制してしまうため、位相差検出部41aが位相比較を行う周期や、周波数調整部41cが周波数情報を出力する周期よりも短いことが望ましい。

0082

乗算部74は、レジスタ部73の出力値に係数ρを乗ずる。
加算部75は、乗算部71,74の出力値を加算して、平滑化後の周波数情報として出力する。

0083

なお、係数αは1より小さい値であり、係数ρは1以下の値であり、両者の関係は、α<ρである。これらの係数の値によって出力周波数の変動幅が決まる。
このような平滑化処理部41daにおいて、レジスタ部73には、初期値として、たとえば、目標周波数の値が保持されている。周波数調整部41cから、周波数情報として、ある周波数値が加算部70に供給されると、加算部70によって、その周波数値とレジスタ部73に保持されている周波数値(初期値は目標周波数の値)との差分がとられる。この差分に対して、乗算部71で係数αが乗ぜられることによって、差分は小さくなる。そのため、加算部75から出力される周波数値において、差分の影響は小さくなる。

0084

ただ、抑制された差分によって、レジスタ部73に保持されている周波数値が更新されていくので、緩やかな周波数変動は出力周波数に反映される。そのため、SSCGやFractional−NPLLの出力周波数の変動を再現できる。

0085

図16は、図15に示した平滑化処理部を有するシミュレーションモデルを用いた場合のSSCGの出力周波数の一例の様子を示す図である。
また、図17は、図15に示した平滑化処理部を有するシミュレーションモデルを用いた場合のFractional−NPLLの出力周波数の一例の様子を示す図である。

0086

縦軸は出力周波数[MHz]を示し、横軸は時間[ps]を示している。
なお、入力条件は、図15の平滑化処理部41daのα、ρをそれぞれ0.001、0.999とした他は、図11図12に示した例と同じである。

0087

図15に示した平滑化処理部41daを適用することでも、図11図12にみられたような短期間で発生する急激な周波数変動が抑えられている。
以下、図3に示した論理シミュレーション装置20及び図6に示したようなシミュレーション実行部35による論理シミュレーション方法の一例の流れをフローチャートで説明する。なお、論理シミュレーション装置20及びシミュレーション実行部35は、図2に示したプロセッサ21による制御で実現されるため、以下では処理の主体をプロセッサ21として説明する。

0088

(論理シミュレーション方法の流れ)
図18図19は、論理シミュレーションの一例の流れを示すフローチャートである。
プロセッサ21は、HDD23から論理シミュレーションのためのプログラムを読み出し実行する。これにより、論理シミュレーションが開始される。図18の例では、まず、プロセッサ21は、たとえば、HDD23に格納されている論理ライブラリ31を読み出し、論理ライブラリ31に記述されている検証対象のアナログ回路の物理仕様を検出する(ステップS10)。

0089

プロセッサ21は、アナログ回路の論理シミュレーション中に、たとえば、アナログ回路の入出力信号を監視し、まず、アナログ回路の起動時の起動シーケンスが、物理仕様を満たすか否かを判定する(ステップS11)。PLL回路において、たとえば、リセット解除とフィードバッククロックの設定の順序や、1/n分周回路のリセットの解除とPLLブロックのリセットの解除の順番などは、電気的な物理仕様で決まっている場合がある。この順番を守らないと、実際の物理動作時に不具合を発生する可能性がある。そのため、論理ライブラリ31には、予め物理仕様で定められた起動シーケンスが記述されており、プロセッサ21は、論理シミュレーション時に、たとえば、ユーザにより設定された起動シーケンスが物理仕様で定められたものにしたがっているか否かを判定する。

0090

プロセッサ21は、起動シーケンスが物理仕様で定められているものにしたがっていないと判定した場合、たとえば、グラフィック処理装置24を制御して、モニタ24aに警告を表示させる(ステップS23)。

0091

プロセッサ21は、起動シーケンスが物理仕様で定められているものにしたがっていると判定した場合、たとえば、ユーザによって設定されたリファレンスクロックが物理仕様を満たすか否かを判定する(ステップS12)。

0092

PLL回路としての、性能、機能を実現させるために、リファレンスクロックの周波数などは、電気的な物理仕様で制限されている。この仕様を守らない場合、PLL回路としての本来の位相調整機能、逓倍機能を実現できなくなってしまう。よって、プロセッサ21は、リファレンスクロックを監視して、物理仕様を満たしているかを判定する。

0093

PLL回路の安定した動作を保証するためのリファレンスクロックの物理仕様として、最低入力可能周波数、最大入力可能周波数、H(High)レベルパルス及びL(Low)レベルのパルスの最小デューティ幅などがある。

0094

プロセッサ21は、リファレンスクロックが物理仕様を満たしていないと判定した場合、ステップS23の処理を行い、モニタ24aに警告を表示させる。
プロセッサ21は、リファレンスクロックが物理仕様を満たしていると判定した場合、PLL回路の出力クロックが物理仕様を満たすか否かを判定する(ステップS13)。

0095

PLL回路としての性能、機能を実現させるために、出力クロックの出力周波数は、電気的な物理仕様で制限されている。この仕様を守らない場合、PLL回路としての本来の位相調整機能、逓倍機能を実現できなくなってしまう。よって、プロセッサ21は、出力クロックを監視して、物理仕様を満たしているかを判定する。

0096

PLL回路の安定した動作を保証するための出力クロックの物理仕様として、最低出力可能周波数、最大出力可能周波数などがある。また、検証対象のPLL回路がSSCGの場合には、物理仕様として、前述した変調周期や変調幅などがある。

0097

プロセッサ21は、出力クロックが物理仕様を満たしていないと判定した場合、ステップS23の処理を行い、モニタ24aに警告を表示させる。
プロセッサ21は、出力クロックが物理仕様を満たしていると判定した場合、シミュレーション実行部35の分周部42の機能を実行し、所定の分周比でフィードバッククロックを生成する(ステップS14)。分周比が変動する分周回路を備えたPLL回路の論理シミュレーションを行う場合は、次回のフィードバッククロック生成時に用いる分周比を生成する(ステップS15)。

0098

その後、プロセッサ21は、フィードバッククロックが物理仕様を満たすか否かを判定する(ステップS16)。フィードバッククロックの物理仕様としては、最低入力可能周波数、最大入力可能周波数、最小デューティ幅、許容逓倍数設定範囲(最小逓倍数、最大逓倍数により規定される)などがある。

0099

プロセッサ21は、フィードバッククロックが物理仕様を満たしていないと判定した場合、ステップS23の処理を行い、モニタ24aに警告を表示させる。
プロセッサ21は、フィードバッククロックが物理仕様を満たしていると判定した場合、シミュレーション実行部35の位相差検出部41aの機能を実行し、リファレンスクロックとフィードバッククロックの位相差を検出する(ステップS17)。プロセッサ21は、位相差を検出すると、周波数調整部41cの機能を実行し、出力周波数の候補値を示す周波数情報を生成する(ステップS18)。そして、プロセッサ21は、平滑化処理部41d,41daの機能を実行し、生成した周波数情報に対して、前述したような平滑化処理を行う(ステップS19)。

0100

また、プロセッサ21は、位相差を検出すると、ロック検出部41bの機能を実行し、ロック検出処理を行う(ステップS20)。
ステップS19,S20の後、プロセッサ21は、出力部41eの機能を実行し、出力クロックを生成する(ステップS21)。また、プロセッサ21は、ステップS20の処理でロックを検出した場合には、位相差が所定の範囲内に収まった旨を示すロック信号を生成する(ステップS22)。プロセッサ21は、ステップS20の処理でロックを検出しなかった場合には、ロックしていない旨を示すロック信号を生成する。

0101

プロセッサ21は、ステップS22,S23の後、シミュレーション終了条件成立しているか否かを判定する(ステップS24)。たとえば、プロセッサ21は、位相差が所定の範囲内に収まった旨を示すロック信号を生成した場合、または警告を表示させた場合には、シミュレーション終了条件が成立したと判定し、論理シミュレーションを終了する。シミュレーション終了条件が成立しないときは、ステップS12からの処理が繰り返される。

0102

なお、ステップS19の平滑化処理は、図7に示したような平滑化処理部41dを用いるか、図15に示したような平滑化処理部41daを用いるかで異なっている。
図20は、図7に示した平滑化処理部を用いる場合の平滑化処理の一例の流れを示す図である。

0103

平滑化処理部41dを用いた平滑化処理では、プロセッサ21は、周波数調整部41cの機能により生成した周波数値を、たとえば、RAM22に連続してN−1回分保持させる(ステップS19a)。この処理は、図5に示した平滑化処理部41dの遅延部51a1〜51aN−1の処理に相当する。

0104

そして、プロセッサ21は、新たに生成した周波数値と、保持されている過去N−1回分の周波数値と合わせたN回分の周波数値の平均値を算出する(ステップS19b)。この平均値が、最新の出力周波数となる。この処理は、平滑化処理部41dの加算部52a1〜52aN−1と、除算部53の処理に対応する。

0105

図21は、図15に示した平滑化処理部を用いる場合の平滑化処理の一例の流れを示す図である。
平滑化処理部41daを用いた平滑化処理では、プロセッサ21は、周波数調整部41cの機能により生成した周波数値と、予め、たとえば、RAM22に保持している周波数値との差分を算出する(ステップS19c)。この処理は、図15に示した平滑化処理部41daの加算部70の処理に相当する。

0106

次に、プロセッサ21は、算出した差分に、前述した係数αを乗じる(ステップS19d)。係数αは1よりも小さい値であるため、算出された差分は小さくなる。なお、この処理は、平滑化処理部41daの乗算部71の処理に相当する。

0107

さらに、プロセッサ21は、保持している周波数値に、前述した係数ρを乗じる(ステップS19e)。この処理は、平滑化処理部41daの乗算部74の処理に相当する。
その後、プロセッサ21は、ステップS19dとステップS19eの処理で得られた値を加算する。これによって出力周波数が算出される(ステップS19f)。この処理は、平滑化処理部41daの加算部75の処理に相当する。

0108

また、プロセッサ21は、ステップS19dの処理で得られた値に、保持している周波数値を加えた値で、保持している周波数値を更新する(ステップS19g)。この処理は、平滑化処理部41daの加算部72とレジスタ部73の処理に相当する。

0109

図20図21に示したような平滑化処理によって、図13図14図16図17に示したように、周波数調整部41cの機能によって生成された周波数情報における急激な周波数変動が抑制される。また、緩やかな周波数変動は出力周波数に反映されるので、分周比が変動する分周回路を備えたSSCGなどのPLL回路の実際の動作を精度よく再現できる。

0110

また、周波数を整数逓倍するPLL回路(以下整数逓倍PLL回路という)のシミュレーションモデルに対して、平滑化処理部41d,41daを追加するだけで、SSCGやFractional−NPLLの動作を精度よく再現できる。つまり、シミュレーションモデルの変更も少なくてすむ。

0111

なお、図6に示したシミュレーション実行部35で表されるシミュレーションモデルを整数逓倍PLL回路のシミュレーションモデルとして使用することもできる。この場合、時間的に周波数が変動するようなリファレンスクロックを入力し、リファレンスクロックの周波数変動に追従して出力周波数が変動する様子も精度よく再現できるようになる。たとえば、SSCGと整数逓倍PLLを直列接続し、SSCGの出力クロックが整数逓倍PLLのリファレンスクロックとなる構成について、物理動作に近い動作を論理シミュレーションで精度良く再現することが可能となる。

0112

以上、実施の形態に基づき、本発明の論理シミュレーション方法、論理シミュレーション装置及びプログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。

0113

1論理シミュレーション装置(コンピュータ)
2プロセッサ
3 記憶部
10シミュレーションモデル
11位相差検出部
12ロック検出部
13周波数調整部
14平滑化処理部
15 出力部
16分周部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ