JP5145167B2 - クロックドメインチェック方法及びクロックドメインチェック用プログラム並びに記録媒体 - Google Patents

クロックドメインチェック方法及びクロックドメインチェック用プログラム並びに記録媒体 Download PDF

Info

Publication number
JP5145167B2
JP5145167B2 JP2008211458A JP2008211458A JP5145167B2 JP 5145167 B2 JP5145167 B2 JP 5145167B2 JP 2008211458 A JP2008211458 A JP 2008211458A JP 2008211458 A JP2008211458 A JP 2008211458A JP 5145167 B2 JP5145167 B2 JP 5145167B2
Authority
JP
Japan
Prior art keywords
circuit
signal
side register
asynchronous
check
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.)
Active
Application number
JP2008211458A
Other languages
English (en)
Other versions
JP2010049385A (ja
Inventor
啓一 鈴木
信 阿部
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2008211458A priority Critical patent/JP5145167B2/ja
Priority to US12/505,924 priority patent/US8255752B2/en
Publication of JP2010049385A publication Critical patent/JP2010049385A/ja
Priority to US13/567,043 priority patent/US8392778B2/en
Application granted granted Critical
Publication of JP5145167B2 publication Critical patent/JP5145167B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • G01R31/31726Synchronization, e.g. of test, clock or strobe signals; Signals in different clock domains; Generation of Vernier signals; Comparison and adjustment of the signals

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

本発明は、クロックの非同期転送における同期化回路のチェックを可能とするCDC(clock-domain-crossing)技術に関する。
Soc(システムオンチップ)においては、1つのチップ上に膨大なクロックドメインにまたがる信号が存在する。CDC(clock-domain-crossing)チェックが不十分であった場合、グリッチ(入力データ切り換え時のスパイク電圧)を取り込んだ動作不良や、貫通電流による事故を招くおそれがある。このため、CDCチェックが重要となる。CDCチェックでは、クロック信号の同期、非同期の関係を示した情報に基づいてクロック信号をレジスタまで伝播させて、クロックが非同期関係にあるレジスタ転送箇所が見つけられ、その転送にかかわる回路が、所望の同期化回路になっているか否かがチェックされる。そしてそのチェック結果に基づいてエラー解析が行われる。
また、非同期転送において、非同期の入力信号で発生するラッチ回路の準安定状態は、ラッチ回路において規定されているクロックの立上り若しくは立下りを基準にしたセットアップ時間とホールド時間で囲まれた危険ゾーンとされる。セットアップ時間やホールド時間が一定時間を超えた場合に、出力信号は不安定になる。この状態は「メタステーブル」と称され、システムの誤動作を引き起こす。メタステーブル対策のため、メタステーブルが発生しても支障を来たさない回路構成が採用される(例えば特許文献1参照)。
さらに、非同期回路において発生するタイミングエラーを考慮した論理シミュレータにおいて、タイミング・チェックにおいて発生する大量の擬似エラーを抑制する技術が知られている(例えば特許文献2)。ここでは、タイミングエラー制約指定情報に特定のセルの端子および所定時間を指定しておき、論理シミュレータは、タイミングエラー制約指定情報に指定された所定時間内に特定のセルの端子について検出されたタイミング制約の許容値の違反を無効とし、エラーメッセージを出力しないようにしている。
特開平7−311735号公報 特開2004−30186号広報
従来のCDC(clock-domain-crossing)チェック方法によれば、例えば10Mゲート規模のSocをチェックした場合、1M個ものエラーが出力される場合がある。この膨大なエラーについて本願発明者が検討したところ、回路自体は同期回路違反であっても、チップ仕様上非同期転送に支障を来たさない場合がほとんどであることが見い出された。回路自体は同期回路違反であるが、チップ仕様上非同期転送に支障を来たさない場合は擬似エラーとされる。しかし、上記1M個ものエラーの中から真のエラーを見つけ出すのは困難とされ、エラー解析に長時間を要する。
本発明の目的は、擬似エラーを低減するための技術を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
すなわち、非同期転送において論理値が変化しない信号と定義される定常信号を上記チェック対象回路に伝播させる。送信側レジスタと受信側レジスタとの間において異なる非同期転送となる組み合わせを抽出する。抽出された非同期転送の組み合わせから、受信側レジスタ毎に、送信側に向かってバックトレースして送信側レジスタ及び上記送信側レジスタに至るまでの回路並びに定常信号を探索することでチェック対象回路を抽出し、複数信号の同期化回路については上記チェック対象回路から除外する。上記チェック対象回路に上記定常信号の論理値“1”と論理値“0”の全ての組み合わせにおける各組み合わせ毎に、定常信号を伝播させる。伝播された定常信号の論理値の組み合わせにおいて、接続関係より、論理的に信号変化が到達する非同期の送信側レジスタが1つであるか否かをチェックする。このチェック結果に基づいて、非同期転送にかかわる回路の構成が単信号転送用の同期化回路として適切であるか否かを判定する。これにより、非同期転送にかかわる回路の構成が適切であるか否かを判定することで擬似エラーの削減を図ることができる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、擬似エラーを低減するための技術を提供することができる。
1.代表的な実施の形態
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態に係るクロックドメインチェック方法は、中央処理装置(31)によって、以下の第1乃至第6ステップが実行される。
すなわち、第1ステップでは、非同期転送において論理値が変化しない信号と定義される定常信号を上記チェック対象回路に伝播させる(103)。第2ステップでは、送信側レジスタと受信側レジスタとの間において異なる非同期転送となる組み合わせを抽出する(104)。第3ステップでは、上記第2ステップで抽出された非同期転送の組み合わせから、受信側レジスタ毎に、送信側に向かってバックトレースして送信側レジスタ及び上記送信側レジスタに至るまでの回路並びに定常信号を探索することでチェック対象回路を抽出し、複数信号の同期化回路については上記チェック対象回路から除外する(106,107,112)。第4ステップでは、上記チェック対象回路に上記定常信号の論理値“1”と論理値“0”の全ての組み合わせにおける各組み合わせ毎に、定常信号を伝播させる(1062)。第5ステップでは、上記第4ステップで伝播された定常信号の論理値の組み合わせにおいて、接続関係より、論理的に信号変化が到達する非同期の送信側レジスタが1つであるか否かをチェックする(1064,1065)。第6ステップでは、上記第5ステップでのチェック結果に基づいて、非同期転送にかかわる回路の構成が単信号転送用の同期化回路として適切であるか否かを判定する(110)。上記の構成によれば、上記非同期転送にかかわる回路の構成が適切であるか否かが判定されることで、同期化回路違反であっても、チップの動作には影響しない場合のエラー(擬似エラー)が、真のエラーと区別されて検出され難くなる。このことが、擬似エラーの削減を達成する。
〔2〕また、上記第4ステップに代えて、上記第3ステップで抽出されたチェック対象回路を2分決定グラフへ移し、上記2分決定グラフに論理値“1”と論理値“0”とを与え、上記2分決定グラフを変形させ、上記第5ステップに代えて、上記2分決定グラフの残る変数から非同期の送信側レジスタが1つであるか否かをチェックするようにしても良い。
〔3〕上記〔1〕及び〔2〕において、定常信号は、非同期転送において非同期渡りを行う他の信号が変化するときに、論理値“0”又は論理値“1”の固定値とされ、論理値が変化されないものとされる。
〔4〕別の観点によれば、クロックドメインチェック用プログラムは、以下の第1乃至第6手順をコンピュータに実行させることで、非同期転送における同期化回路をチェックする。
すなわち、第1手順では、非同期転送において論理値が変化しない信号と定義される定常信号をチェック対象回路に伝播させる(103)。第2手順では、送信側レジスタと受信側レジスタとの間において異なる非同期転送となる組み合わせを抽出する(104)。第3手順では、上記第2ステップで抽出された非同期転送の組み合わせから、受信側レジスタ毎に、送信側に向かってバックトレースして送信側レジスタ及び上記送信側レジスタに至るまでの回路並びに定常信号を探索することでチェック対象回路を抽出し、複数信号の同期化回路については上記チェック対象回路から除外する(106,107,112)。第4手順では、上記チェック対象回路に上記定常信号の論理値“1”と論理値“0”の全ての組み合わせにおける各組み合わせ毎に、定常信号を伝播させる(1061,1062)。第5手順では、上記第4手順で伝播された定常信号の論理値の組み合わせにおいて、接続関係より、論理的に信号変化が到達する非同期の送信側レジスタが1つであるか否かをチェックする(1064,1065)。第6手順では、上記第5手順でのチェック結果に基づいて、非同期転送にかかわる回路の構成が単信号転送用の同期化回路として適切であるか否かを判定する(110)。
〔5〕また、上記第4手順に代えて、上記第3手順で抽出されたチェック対象回路を2分決定グラフへ移し、上記2分決定グラフに論理値“1”と論理値“0”とを与え、上記2分決定グラフを変形させ、上記第5手順に代えて、上記2分決定グラフの残る変数から非同期の送信側レジスタが1つであるか否かをチェックするようにしても良い。
〔6〕上記〔4〕及び〔5〕において、上記定常信号は、非同期転送において非同期渡りを行う他の信号が変化するときに、論理値“0”又は論理値“1”の固定値とされ、論理値が変化されないものとされる。
〔7〕上記〔4〕乃至〔6〕記載のクロックドメインチェック用プログラムは、コンピュータ読み取り可能な記録媒体に記録することができる。
ここで、上記受信側レジスタや上記送信側レジスタには、D型フリップフロップ回路が含まれる。
2.実施の形態の説明
次に、実施の形態について更に詳述する。
図3には、本発明にかかるクロックドメインチェック用プログラムが実行されるコンピュータシステムの構成例が示される。図1に示されるコンピュータ30は、特に制限されないが、CPU(中央処理装置)31、ハードディスク装置32、入力装置33、表示装置34、及メモリ35を含み、それらは、バス36を介して互いに結合されている。CPU31は、所定のプログラムを実行する。本例においてこのCPU31は、非同期転送における同期化回路のチェックを可能とするクロックドメインチェック用プログラムを実行する。ハードディスク装置32には、上記CPU31で実行される各種プログラムや、チェック対象回路のネットリストなど、各種情報が格納される。特に制限されないが、ハードディスク装置32の記録媒体である磁気ディスク321は、ハードディスク装置32に着脱自在とされる。磁気ディスク321は、ハードディスク装置32に装着された状態で、コンピュータ30によって読み書き可能とされる。
CPU31は、クロックドメインチェック用プログラムをハードディスク装置32の磁気ディスク321から読み出して実行することで、所定の演算処理を行う。メモリ35は、上記CPU31における演算処理の作業領域などに利用される。このメモリ35には、例えばランダムアクセス可能なRAM(ランダム・アクセス・メモリ)とされる。入力装置33は、このコンピュータシステムに対して各種情報の入力を可能とするもので、この入力装置33には、キーボードやマウス等の各種入力デバイスが含まれる。表示装置34は、このコンピュータ30での各種情報を必要に応じて表示するもので、例えば液晶ディスプレイ装置とされる。
上記構成のコンピュータ30によって行われるクロックドメインチェックで用いられる定常信号について図8乃至図10を用いて説明する。
チェック対象回路として、図8に示されるように、D型フリップフロップ回路801〜805、及び3入力アンドゲート806を含んで成る非同期転送回路を考える。フリップフロップ回路801〜803は、第1クロック信号CLK1に同期動作され、フリップフロップ回路804,805は第2クロック信号CLK2に同期動作される。第1クロック信号CLK1と第2クロック信号CLK2とは互いに非同期の関係にある。入力信号In1,In2, In3がランダムに変化する場合、図8に示される回路は、アンドゲート806でのグリッチが正しい状態変化としてフリップフロップ回路804に取込まれてしまうことで、エラーを生ずることが考えられる。ここで、入力信号In1が「定常信号」に指定された場合、この入力信号In1は、非同期渡りを行う他の信号(つまりIn2,In3)の論理が変化するにもかかわらず、論理値“0”又は論理値“1”の固定値になっており、変化しない信号とされる。具体的にはモード信号や、ソフトウエアのフロー(例えば、In1はIn2やIn3とは同時変化しない)などで、上記が保障されている信号を指す。結果として、入力信号In1,In2,In3のうち、2本が”定常信号“である場合、上記回路は1ビットの信号渡りと等価になるため、同期化回路として不都合を生じない。
また、定常信号は、通常の論理固定された信号とは異なり、論理の組み合わせが複数パターン存在する場合がある。チェック対象回路として、例えば図9に示されるように、D型フリップフロップ回路901〜908、及び選択回路909を含んで非同期転送回路が形成される場合を考える。D型フリップフロップ回路903,904,907,908は第1クロック信号CK1に同期動作され、D型フリップフロップ回路901,902は第2クロック信号CK2に同期動作され、D型フリップフロップ回路905,906は第3クロック信号CK3に同期動作される。選択回路909は、上記D型フリップフロップ回路901,902の出力信号に基づいて、上記D型フリップフロップ回路903〜906のうちの何れかの出力信号を選択的に後段のD型フリップフロップ回路907に伝達する。かかる構成において、D型フリップフロップ回路901,902の出力端子(Q)の論理出力値を「0,0」に固定し、D型フリップフロップ回路906の出力端子(Q)の出力信号が選択回路909によって選択されるものとすると、その場合の非同期転送チェックは、D型フリップフロップ回路906からD型フリップフロップ回路907までの経路のみとなり、D型フリップフロップ回路905からD型フリップフロップ回路907に至る経路の非同期転送チェックは行われない。そこで、D型フリップフロップ回路901,902の出力信号を「定常信号」とし、4種類の論理組み合わせパターン、すなわち、「0,0」、「0,1」、「1,0」、「1,1」を設定する。これにより、図9に示される回路の非同期転送チェックにおいては、4種類の論理組み合わせパターンが切り替えられることにより、D型フリップフロップ回路903〜906の出力端子(Q)が選択回路909によって順に選択され、その結果、D型フリップフロップ回路903〜906からD型フリップフロップ回路907に至る経路の非同期転送チェックを行うことができる。
さらに、定常信号は、フリップフロップ回路を越えて伝播される。チェック対象回路として、例えば図10に示されるように、D型フリップフロップ回路1001〜1003、及び2入力アンドゲート1004〜1007を含んで同期転送回路が形成される場合を考える。アンドゲート1004は、D型フリップフロップ回路1001の出力信号とD型フリップフロップ回路1002の出力信号とのアンド論理を得る。このアンドゲート1004の出力信号は後段のアンドゲート1005の一方の入力端子に伝達される。アンドゲート1005の他方の入力端子は論理値“1”に固定されている。アンドゲート1005の出力信号は後段のアンドゲート1006の一方の入力端子に伝達される。このアンドゲート1006の他方の入力端子には、D型フリップフロップ回路1003の出力信号が伝達される。D型フリップフロップ回路1006の出力信号は後段のアンドゲート1007の一方の入力端子に伝達される。D型フリップフロップ回路1007の他方の入力端子は論理値“0”に固定されている。かかる構成において、D型フリップフロップ回路1001,1002のデータ入力端子(D)の信号を定常信号に指定すると、アンドゲート1005の出力端子の論理が決定される。つまり、D型フリップフロップ回路1001,1002のデータ入力端子(D)の信号が定常信号に指定された場合、この定常信号は、D型フリップフロップ回路1001,1002からアンドゲート1005まで順方向に伝播し、その結果、D型フリップフロップ回路1001,1002のデータ入力端子(D)の入力信号、アンドゲート1004の出力信号、アンドゲート1005の出力信号が、「定常信号」属性となる。定常信号は、例えばアンドゲート1005のように、片方の入力端子の論理値が固定されたスルー条件とされる場合や、アンドゲート1004のように、全ての入力信号が定常信号とされる場合には順方向(信号伝達方向)に伝播される。また、図10において、D型フリップフロップ回路1003のデータ入力端子(D)の信号をも定常信号に指定した場合には、定常信号はアンドゲート1006の出力端子まで伝播される。尚、アンドゲート1007の他方の入力端子が論理値“0”に固定されるため、定常信号はアンドゲート1007の出力端子には伝播されない。定常信号は、信号固定とは異なり、論理値“1”と論理値“0”の双方が考慮される。
図1には、上記構成のコンピュータ30において、クロックドメインチェック用プログラムが実行された場合の処理手順が示される。
コンピュータ30において、クロックドメインチェック用プログラムの実行が開始されると、チェック対象回路につての情報の一例とされるネットリスト、クロック情報、及び定常信号に関する各種情報が、CPU31によってハードディスク装置32の磁気ディスク321から読みされる。ここで上記クロック情報には、クロック信号の周波数や、複数のクロック信号間での同期・非同期の関係を示す情報などが含まれる。また、定常信号は、非同期転送において、論理値が変化しない信号とされ、この定常信号の指定には、ネットリストにおけるネット名、信号名、端子名の何れを用いても良い。
先ず、回路のネットリストを用いて、当該回路に、論理的に予め固定されている値(固定値という)が存在する場合には、その固定値が与えられて伝播される(101)。さらに、当該回路に、クロック信号が供給されて伝播される(102)。クロック信号には同期、非同期の区別がある。クロック信号は、レジスタ(D型フリップフロップ回路を含む)のクロック入力端子まで伝播され、クロック入力端子にクロック名がスタックされる。複数のクロック信号が到達した場合には、それに対応して複数のクロック名がスタックされる。
次に、ネットリストを用いて、定常信号が供給されて伝播される(103)。このとき、定常信号は、レジスタ(D型フリップフロップ回路を含む)を越えて伝達される。
ステップ103において定常信号が伝播された後、非同期転送となる組み合わせの抽出が行われる(104)。すなわち、レジスタ(D型フリップフロップ回路を含む)や、入力端子から順方向(信号伝達方向)に経路探索が行われ、非同期転送となる組み合わせが抽出される。
尚、定常信号が伝播されることで、非同期でなくなった回路は、上記ステップ104で抽出されない。例えば図11に示されるように、選択回路1101,1102の選択動作が定常信号によって制御される結果、D型フリップフロップ回路1102,1104間で同期転送が行われる場合には非同期転送が行われないので、上記ステップ104で抽出されない。
そして、上記ステップ104で得られた、非同期転送となる組み合わせの抽出結果から、全ての受信側レジスタが抽出される(105)。以下の処理は、この受信側レジスタ毎に行われる。
上記ステップ105で、受信側レジスタが抽出された後に、当該受信レジスタ毎に、複数信号の同期化回路が存在するか否かの判別が行われる(106)。図5、図6、図7には、複数信号の同期化回路例が示される。例えば、図5に示されるように、組み合わせ回路501の後段に配置されたD型フリップフロップ回路502と、その後段に配置されたD型フリップフロップ回路503と、このD型フリップフロップ回路503にイネーブル信号を供給するためのD型フリップフロップ回路54,505とを含んで非同期転送回路が形成される場合において、D型フリップフロップ回路502から出力されるデータSIG〔n:0〕の他に、イネーブル信号enableが、D型フリップフロップ回路503においてクロック信号CLK2によって同期化される。イネーブル信号enableは、オリジナルのイネーブル信号Enable_orgがD型フリップフロップ回路504,505の2段構成において同一クロック信号で同期化されることでメタステーブル対策が施されたものである。また、図6に示されるように、送信側と受信側との間に、FIFO(先入れ先出し)バッファ601を介在させてデータ転送を行う場合がある。同期化する側(受信側)のクロック信号が送信側のクロック信号の3倍以下の周期の場合、FIFOバッファ601でバッファリングして、バッファフル条件に相当するフラグ(バースト転送要求信号やバースト転送終了信号に相当)を使用することにより、同期化信号の周波数比を3倍以上とすることができる。このように同期転送回路が構成される場合もあり、同期化回路の接続に誤りがあるか否かの判別が行われる。さらに、送信側と受信側(同期する側)との間で、リクエスト(Requst)、アクノリッジ(acknowledge)のハンドシェイクが行われる場合がある。例えば図7に示されるように、送信側は第1クロック信号CLK1に同期され、受信側は第2クロック信号CLK2に同期される。送信側から受信側にリクエスト(Requst)が発行され、受信側から送信側にアクノリッジ(acknowledge)が返される。送信側から受信側へのリクエスト(Requst)信号については、D型フリップフロップ回路701,702の2段構成によりメタステーブル対策が施されている。受信側から送信側へのアクノリッジ(acknowledge)信号については、D型フリップフロップ回路703,704の2段構成によりメタステーブル対策が施されている。上記リクエスト(Requst)に対する上記アクノリッジ(acknowledge)により、送信側から受信側へのデータ転送が行われる。上記複数信号の同期化回路に対して、図4に示されるように、単信号による同期回路は、単信号の同期回路と称される。すなわち、組み合わせ回路401の後段に配置されたD型フリップフロップ回路402や、その後段に配置されたD型フリップフロップ回路403,404を含んで非同期転送回路が形成される場合には、送信側のD型フリップフロップ回路402でグリッチの削除が図られ、受信側のD型フリップフロップ回路403,404の2段構成によってメタステーブル対策が施されている。
上記ステップ106での判別において、複数信号の同期化回路が存在する(Y)と判断された場合には、その複数数信号の同期化回路がチェック対象回路から除外される(112)。そして、上記ステップ106での判別において、複数信号の同期化回路が存在しない(N)と判断された場合、及び上記ステップ112で複数数信号の同期化回路がチェック対象回路から除外された後に、受信側レジスタ毎にチェック対象回路の抽出が行われる(107)。すなわち、上記ステップ104で抽出された非同期転送の組み合わせから、受信側レジスタ毎に、送信側に向かってバックトレースして送信側レジスタ及び上記送信側レジスタに至るまでの回路並びに定常信号を探索することでチェック対象回路が抽出される。
次に、非同期パスのチェックが行われる(108)。この非同期パスのチェックについては、図2を参照しながら後に詳述する。
上記ステップ108での非同期パスのチェック結果に基づいて、非同期転送が1つ存在するか否かの判別が行われる(109)。上記ステップ109の判別において、非同期転送が1つ存在すると判断された場合には、そのチェック対象回路が同期化回路として適切であるか否かの判別が行われる(110)。例えばメタステーブル対策が施されている場合には、同期化回路として適切であると判断され、メタステーブル対策が施されていない場合には不適切であると判断される。上記ステップ110の判別において、同期化回路として適切である(Y)と判断された場合には、本フローチャートによる処理を終了するか否かの判別が行われる(111)。上記ステップ105で抽出された全ての受信側レジスタについて、上記ステップ106〜110の処理が終了していない場合には、上記ステップ106の判別に戻り、別の受信側レジスタについて、上記ステップ106〜110の処理が実行される。上記ステップ105で抽出された全ての受信側レジスタについて、上記ステップ106〜110の処理が終了した場合には、上記ステップ111で本フローチャートによる処理が終了される。また、上記ステップ110の判別において、同期化回路として不適切である(N)と判断された場合には、非同期転送回路ミスエラーメッセージが出力されてから(113)、本フローチャートによる処理が終了される。
次に、上記ステップ108の非同期パスチェックについて詳述する。
先ず、フラグ(FLAG)が論理値“0”に設定される(1060)。次に、チェック対象回路内の定常信号の数を「N」とし、定常信号を論理値“0”及び論理値“1”とした場合の全ての組み合わせ、すなわち、2のN乗個の論理の組み合わせを生成する(1061)。例えば、当該チェック対象回路内の定常信号の数(N)を、2とした場合、上記ステップ1061では、「0,0」「0,1」「1,0」「1,1」の組み合わせパターンが生成される。
次に、上記ステップ1061で生成された論理の組み合わせ毎に、定常信号が伝播される(1062)。すなわち、チェック対象回路において定常信号が複数存在する場合、その定常信号の上記組み合わせパターン毎に、チェック対象回路を伝播させてシミュレーションを行う。
そして、図2におけるステップ1062で定常信号が伝播された結果に基づいて、信号伝達のパスが切れている箇所、あるいはクロック信号が伝播しない箇所があるか否かの判別が行われる(1063)。この判別において、信号伝達のパスが切れている箇所、あるいはクロック信号が伝播しない箇所が存在しない(N)と判断された場合には、一つの回路に2つ以上の非同期の送信側レジスタが存在するか否かの判別が行われる(1064)。この判別において、一つの回路に2つ以上の非同期の送信側レジスタが存在しない(N)と判断された場合には、非同期の送信側レジスタが1つあるか否かの判別が行われる(1065)。この判別において、非同期の送信側レジスタが1つではない(N)と判断された場合には、当該チェック対象回路における論理値“0”、論理値“1”の信号伝播情報がクリアされる(1068)。そして、非同期パスチェックを終了するか否かの判別が行われる(1069)。つまり、上記ステップ1061で生成された論理値“0”及び論理値“1”の全ての組み合わせについて、上記ステップ1062〜1068までの処理が終了していない場合には、上記ステップ1062に遷移され、論理値“0”及び論理値“1”の別の組み合わせパターンについて、上記ステップ1062〜1068までの処理が行われる。そして、上記ステップ1061で生成された論理値“0”及び論理値“1”の全ての組み合わせについて、上記ステップ1062〜1068までの処理が終了した場合には、ステップ108での非同期パスチェックは終了され、上記ステップ109(図1)の判別に遷移される。上記ステップ1064の判別において、一つの回路に2つ以上の非同期の送信側レジスタが存在する(Y)と判断された場合には、非同期転送回路ミスエラーメッセージを出力し、フラグ(FLAG)が論理値“0”に設定され(1066)、ステップ108での非同期パスチェックが終了される。また、上記ステップ1065の判別において、非同期の送信側レジスタが1つある(Y)と判断された場合には、非同期転送が1つ存在することから、換言すれば、入力と出力とが論理的に1対1接続に見える回路が1つ存在することから、フラグ(FLAG)が論理値“1”に設定されてから上記ステップ1068の処理に遷移される。上記ステップ109(図1)での判別では、このフラグ(FLAG)の論理値によって、非同期転送が1つ存在するか否かの判別が行われる。
ここで、上記ステップ1065の判別において、非同期の送信側レジスタが1つある(Y)と判断された場合には、すなわち、入力と出力とが論理的に1対1接続に見える場合について説明する。
例えば図12に示されるように、チェック対象回路が、D型フリップフロップ回路1201,1202,1204、及びアンドゲート1203によって非同期転送回路が構成され、D型フリップフロップ回路1202の出力信号が定常信号とされる場合において、この定常信号が論理値“1”の場合にはD型フリップフロップ回路1201,1204が1対1で繋がっていると判断される。また、図13に示されるように、チェック対象回路が、D型フリップフロップ回路1301,1302,1304と、選択回路1303とで非同期転送回路が構成され、上記選択回路1303の選択動作を制御する信号が定常信号とされる場合には、定常信号が論理値“0”の場合には、D型フリップフロップ回路1301,1304が1対1で繋がっていると判断され、定常信号が論理値“1”の場合には、D型フリップフロップ回路1302,1304が1対1で繋がっていると判断される。
上記の例によれば、以下の作用効果を得ることができる。
(1)クロックドメインチェック用プログラムがCPU31によってハードディスク装置32の磁気ディスク321から読み出されて実行されることにより、図1及び図2に示されるフローチャートに示される処理が行われる。この処理においては、同期化回路違反であっても、実際には論理値“0”又は論理値“1”の定常信号で、チップの動作には影響しない場合のエラー(擬似エラー)が、真のエラーと区別されて検出されるため、エラーとして検出され難くなる。そのため、擬似エラーの情報を大幅に削減するこができる。本発明者が実際に行ったクロックドメインチェックによれば、チェック対象回路の構成によっては、従来技術に比べておよそ500分の1にまで擬似エラーを削減することができた。
(2)上記(1)の作用効果により、エラー解析時間が大幅に削減されることで、チップの製造にかかるコストを低減することができる。
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、上記の例では、図2に示されるように、非同期パスチェックをシミュレーションにより行ったが、このシミュレーションに代えて、受信側レジスタ毎に、2分決定グラフを用いることができる。すなわち、ステップ107で抽出されたチェック対象回路を2分決定グラフへ移し、この2分決定グラフに論理値“1”と論理値“0”とを与え、2分決定グラフを変形させるステップと、上記2分決定グラフの残る変数から非同期の送信側レジスタが1つであるか否かをチェックするステップとを設ける。この非同期の送信側レジスタが1つであるか否かのチェック結果に基づいて、上記ステップ110の判別を行うようにする。例えば、図14(A)に示されるチェック対象回路(基本的には図13に示されるのと等価とされ、クロック信号CK1とCK2とは非同期とされる)は、図14(B)に示されるように2分決定グラフに移され、この2分決定グラフが変形される。ここで、定常信号Cが論理値“1”の場合には、図15(A)に示されるように、定常信号Cが論理値“1”のパスと、論理値“0”のパスのうち、論理値“0”のパスを除外することで2分決定グラフが変形され、2分決定グラフ内に残る非同期の「a」が検出される。また、定常信号Cが論理値“0”の場合には、図15(B)に示されるように、定常信号Cが論理値“1”のパスと、論理値“0”のパスのうち、論理値“1”のパスを除外することで2分決定グラフが変形され、2分決定グラフ内に残る非同期の「b」が検出される。このようにして、2分決定グラフが変形され、上記2分決定グラフの残る変数から非同期の送信側レジスタが1つであるか否かがチェックされる。このようにしても上記シミュレーションの場合と同様の効果を得ることができる。
また、上記クロックドメインチェックの場合と同様に、タイミング検証の対象とされる回路において定常信号を設定することにより、タイミング検証におけるパスを限定することで、タイミング検証における擬似エラーを削減することができる。
上記磁気ディスク321は、コンピュータ30によって読み取り可能な記録媒体の一例である。コンピュータ30によって読み取り可能な記録媒体として、上記磁気ディスク321の他に、光ディスク装置における光ディスクや、フラッシュメモリなどの半導体記憶装置を適用することができる。
本発明にかかるクロックドメインチェック用プログラムが実行された場合の処理手順の一例を示すフローチャートである。 図1における非同期パスチェックの詳細な流れを示すフローチャートである。 クロックドメインチェック用プログラムが実行されるコンピュータシステムの全体的な構成例ブロック図である。 単信号による同期回路の構成例ブロックである。 複数信号による同期回路の構成例ブロックである。 複数信号による同期回路の構成例ブロックである。 複数信号による同期回路の構成例ブロックである。 上記クロックドメインチェックで用いられる定常信号の機能を説明するためのブロック図である。 上記クロックドメインチェックで用いられる定常信号の機能を説明するためのブロック図である。 上記クロックドメインチェックで用いられる定常信号の機能を説明するためのブロック図である。 クロックドメインチェック用プログラムが実行された場合の主要動作を説明するためのブロック図である。 クロックドメインチェック用プログラムが実行された場合の主要動作を説明するためのブロック図である。 クロックドメインチェック用プログラムが実行された場合の主要動作を説明するためのブロック図である。 本発明にかかるクロックドメインチェック用プログラムが実行された場合の処理手順の説明図である。 本発明にかかるクロックドメインチェック用プログラムが実行された場合の処理手順の説明図である。
30 コンピュータ
31 CPU
32 ハードディスク装置
321 磁気ディスク
33 入力装置
34 表示装置
35 メモリ
36 バス

Claims (7)

  1. 中央処理装置を用いてチェック対象回路におけるクロックドメインチェックを行うクロックドメインチェック方法であって、
    非同期転送において論理値が変化しない信号と定義される定常信号を上記チェック対象回路に伝播させる第1ステップと、
    送信側レジスタと受信側レジスタとの間において異なる非同期転送となる組み合わせを抽出する第2ステップと、
    上記第2ステップで抽出された非同期転送の組み合わせから、受信側レジスタ毎に、送信側に向かってバックトレースして送信側レジスタ及び上記送信側レジスタに至るまでの回路並びに定常信号を探索することでチェック対象回路を抽出し、複数信号の同期化回路については上記チェック対象回路から除外する第3ステップと、
    上記チェック対象回路に上記定常信号の論理値“1”と論理値“0”の全ての組み合わせにおける各組み合わせ毎に、定常信号を伝播させる第4ステップと、
    上記第4ステップで伝播された定常信号の論理値の組み合わせにおいて、接続関係より、論理的に信号変化が到達する非同期の送信側レジスタが1つであるか否かをチェックする第5ステップと、
    上記第5ステップでのチェック結果に基づいて、非同期転送にかかわる回路の構成が単信号転送用の同期化回路として適切であるか否かを判定する第6ステップと、を含み、上記第1乃至第6ステップが上記中央処理装置によって実行されることを特徴とするクロックドメインチェック方法。
  2. 中央処理装置を用いてチェック対象回路におけるクロックドメインチェックを行うクロックドメインチェック方法であって、
    非同期転送において論理値が変化しない信号と定義される定常信号を上記チェック対象回路に伝播させる第1ステップと、
    送信側レジスタと受信側レジスタとの間において異なる非同期転送となる組み合わせを抽出する第2ステップと、
    上記第2ステップで抽出された非同期転送の組み合わせから、受信側レジスタ毎に、送信側に向かってバックトレースして送信側レジスタ及び上記送信側レジスタに至るまでの回路並びに定常信号を探索することでチェック対象回路を抽出し、複数信号の同期化回路については上記チェック対象回路から除外する第3ステップと、
    上記第3ステップで抽出されたチェック対象回路を2分決定グラフへ移し、上記2分決定グラフに論理値“1”と論理値“0”とを与え、上記2分決定グラフを変形させる第4ステップと、
    上記2分決定グラフの残る変数から非同期の送信側レジスタが1つであるか否かをチェックする第5ステップと、
    上記第5ステップでのチェック結果に基づいて、非同期転送にかかわる回路の構成が単信号転送用の同期化回路として適切であるか否かを判定する第6ステップと、を含み、上記第1乃至第6ステップが上記中央処理装置によって実行されることを特徴とするクロックドメインチェック方法。
  3. 上記定常信号は、非同期転送において非同期渡りを行う他の信号が変化するときに、論理値“0”又は論理値“1”の固定値とされ、論理値が変化されないものとされる請求項1又は2記載のクロックドメインチェック方法。
  4. 非同期転送において論理値が変化しない信号と定義される定常信号をチェック対象回路に伝播させる第1手順と、
    送信側レジスタと受信側レジスタとの間において異なる非同期転送となる組み合わせを抽出する第2手順と、
    上記第2ステップで抽出された非同期転送の組み合わせから、受信側レジスタ毎に、送信側に向かってバックトレースして送信側レジスタ及び上記送信側レジスタに至るまでの回路並びに定常信号を探索することでチェック対象回路を抽出し、複数信号の同期化回路については上記チェック対象回路から除外する第3手順と、
    上記チェック対象回路に上記定常信号の論理値“1”と論理値“0”の全ての組み合わせにおける各組み合わせ毎に、定常信号を伝播させる第4手順と、
    上記第4手順で伝播された定常信号の論理値の組み合わせにおいて、接続関係より、論理的に信号変化が到達する非同期の送信側レジスタが1つであるか否かをチェックする第5手順と、
    上記第5手順でのチェック結果に基づいて、非同期転送にかかわる回路の構成が単信号転送用の同期化回路として適切であるか否かを判定する第6手順と、をコンピュータに実行させることで、非同期転送における同期化回路をチェックするためのクロックドメインチェック用プログラム。
  5. 非同期転送において論理値が変化しない信号と定義される定常信号をチェック対象回路に伝播させる第1手順と、
    送信側レジスタと受信側レジスタとの間において異なる非同期転送となる組み合わせを抽出する第2手順と、
    抽出した非同期転送の組み合わせから受信側レジスタ毎に、受信側レジスタの到達する送信側レジスタ及び、定常信号、及び間の対象回路を抽出し、複数信号の同期化回路を検出してそれを対象外とする第3手順と
    上記第3手順で抽出されたチェック対象回路を2分決定グラフへ移し、上記2分決定グラフに論理値“1”と論理値“0”とを与え、上記2分決定グラフを変形させる第4手順と、
    上記2分決定グラフの残る変数から非同期の送信側レジスタが1つであるか否かをチェックする第5手順と、
    上記第5ステップでのチェック結果に基づいて、非同期転送にかかわる回路の構成が単信号転送用の同期化回路として適切であるか否かを判定する第6手順と、をコンピュータに実行させることで、非同期転送における同期化回路をチェックするためのクロックドメインチェック用プログラム。
  6. 上記定常信号は、非同期転送において非同期渡りを行う他の信号が変化するときに、論理値“0”又は論理値“1”の固定値とされ、論理値が変化されないものとされる請求項4又は5記載のクロックドメインチェック用プログラム。
  7. 請求項4乃至6の何れか1項記載のクロックドメインチェック用プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2008211458A 2008-08-20 2008-08-20 クロックドメインチェック方法及びクロックドメインチェック用プログラム並びに記録媒体 Active JP5145167B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008211458A JP5145167B2 (ja) 2008-08-20 2008-08-20 クロックドメインチェック方法及びクロックドメインチェック用プログラム並びに記録媒体
US12/505,924 US8255752B2 (en) 2008-08-20 2009-07-20 Clock domain check method, clock domain check program, and recording medium
US13/567,043 US8392778B2 (en) 2008-08-20 2012-08-04 Clock domain check method, clock domain check program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008211458A JP5145167B2 (ja) 2008-08-20 2008-08-20 クロックドメインチェック方法及びクロックドメインチェック用プログラム並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2010049385A JP2010049385A (ja) 2010-03-04
JP5145167B2 true JP5145167B2 (ja) 2013-02-13

Family

ID=41697453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008211458A Active JP5145167B2 (ja) 2008-08-20 2008-08-20 クロックドメインチェック方法及びクロックドメインチェック用プログラム並びに記録媒体

Country Status (2)

Country Link
US (2) US8255752B2 (ja)
JP (1) JP5145167B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817433B2 (en) 2011-11-22 2017-11-14 Arm Finance Overseas Limited Apparatus and method for achieving glitch-free clock domain crossing signals

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4593351A (en) * 1981-06-12 1986-06-03 International Business Machines Corporation High speed machine for the physical design of very large scale integrated circuits
US4484292A (en) * 1981-06-12 1984-11-20 International Business Machines Corporation High speed machine for the physical design of very large scale integrated circuits
US4924430A (en) * 1988-01-28 1990-05-08 Teradyne, Inc. Static timing analysis of semiconductor digital circuits
US5177440A (en) * 1989-12-27 1993-01-05 Lsi Logic Corporation Testing of integrated circuits using clock bursts
US5049814A (en) * 1989-12-27 1991-09-17 Lsi Logic Corporation Testing of integrated circuits using clock bursts
JPH07311735A (ja) 1994-05-18 1995-11-28 Hitachi Ltd データ転送装置
US5636372A (en) * 1994-09-30 1997-06-03 International Business Machines Corporation Network timing analysis method which eliminates timing variations between signals traversing a common circuit path
US5649176A (en) * 1995-08-10 1997-07-15 Virtual Machine Works, Inc. Transition analysis and circuit resynthesis method and device for digital circuit modeling
US5958077A (en) * 1995-12-27 1999-09-28 Nec Usa, Inc. Method for testing asynchronous circuits
US5831996A (en) * 1996-10-10 1998-11-03 Lucent Technologies Inc. Digital circuit test generator
JPH11120212A (ja) * 1997-10-09 1999-04-30 Oki Electric Ind Co Ltd 回路設計方法及び装置並びにそのプログラムを記録した記録媒体
US6886124B2 (en) * 2001-02-07 2005-04-26 Nec Corporation Low hardware overhead scan based 3-weight weighted random BIST architectures
JP2004030186A (ja) * 2002-06-25 2004-01-29 Renesas Technology Corp 論理シミュレータ
CN100395557C (zh) * 2005-03-04 2008-06-18 清华大学 采用加权扫描选通信号的基于扫描的自测试结构的自测试方法
JP4261502B2 (ja) * 2005-03-14 2009-04-30 富士通マイクロエレクトロニクス株式会社 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体
US7398494B2 (en) * 2005-08-30 2008-07-08 International Business Machines Corporation Method for performing verification of logic circuits
WO2008062571A1 (fr) * 2006-11-21 2008-05-29 Panasonic Corporation Appareil de test de circuit pour circuit intégré semi-conducteur

Also Published As

Publication number Publication date
US8255752B2 (en) 2012-08-28
US20100050061A1 (en) 2010-02-25
JP2010049385A (ja) 2010-03-04
US20120304033A1 (en) 2012-11-29
US8392778B2 (en) 2013-03-05

Similar Documents

Publication Publication Date Title
US8196076B2 (en) Optimal flow in designing a circuit operable in multiple timing modes
US7987440B2 (en) Method and system for efficient validation of clock skews during hierarchical static timing analysis
US20080134117A1 (en) System and method for efficient analysis of point-to-point delay constraints in static timing
JP4599266B2 (ja) シミュレーション装置及びシミュレーション方法
US6698005B2 (en) Min-time / race margins in digital circuits
US20060190754A1 (en) A Method for Automatic Recognition of Handshake Data Exchange at Clock-Domain Crossing in Integrated Circuit Design
US9449127B1 (en) System for verifying timing constraints of IC design
CN107784185B (zh) 一种门级网表中伪路径的提取方法、装置及终端设备
US5903577A (en) Method and apparatus for analyzing digital circuits
US8181136B2 (en) Circuit operation verification method and apparatus
JP5107080B2 (ja) 半導体装置
JP5145167B2 (ja) クロックドメインチェック方法及びクロックドメインチェック用プログラム並びに記録媒体
JP2008020986A (ja) クロストーク解析方法
US20100131910A1 (en) Simulating Scan Tests with Reduced Resources
US20100269003A1 (en) Delay fault diagnosis program
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US7802214B2 (en) Methods and apparatuses for timing analysis of electronics circuits
US8793548B2 (en) Integrated circuit, simulation apparatus and simulation method
US8438518B2 (en) Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit
JP2008107872A (ja) 半導体集積回路
JP7351189B2 (ja) タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム
JP2002259488A (ja) クロックスキュー検証方法
Mehta et al. Clock Domain Crossing (CDC) Verification
JP7354815B2 (ja) 検証支援装置、検証支援方法および検証支援プログラム
US20240037306A1 (en) Static timing analysis method and static timing analysis system

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100527

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110803

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121017

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

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

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

Free format text: PAYMENT UNTIL: 20151130

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5145167

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350