JP2012248038A - マルチサイクルパス検出装置及びマルチサイクルパス検出プログラム - Google Patents
マルチサイクルパス検出装置及びマルチサイクルパス検出プログラム Download PDFInfo
- Publication number
- JP2012248038A JP2012248038A JP2011119832A JP2011119832A JP2012248038A JP 2012248038 A JP2012248038 A JP 2012248038A JP 2011119832 A JP2011119832 A JP 2011119832A JP 2011119832 A JP2011119832 A JP 2011119832A JP 2012248038 A JP2012248038 A JP 2012248038A
- Authority
- JP
- Japan
- Prior art keywords
- data
- flip
- path
- unit
- cycle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
【解決手段】マルチサイクルパス検出装置10は、RTLデータとネットリストとのいずれかと、RTLシミュレーションで使用されたユーザ検証パタンとを基に論理検証を実行する論理検証部11と、前記論理検証の結果に基づき、半導体集積回路のパスを特定パスとして特定し、かつ、特定パスの始点のデータ値と終点のデータ値との比較を行う始点終点データ比較部12と、特定パスを伝搬する0と1とのいずれかのデータでありクロック信号のサイクル数をデータ幅とするデータを対象として、始点終点データ比較部12によるデータ比較結果に基づき、最小のサイクル数を示すデータ幅最小値を抽出するデータ幅最小値抽出部13と、データ幅最小値に応じて、特定パスにおけるマルチサイクル数を決定するマルチサイクル数決定部14とを備えた。
【選択図】図1
Description
クロック信号に基づき動作する半導体集積回路の回路仕様を記述したRTL(Register Transfer Level)データと、前記半導体集積回路の回路構成要素の相互関係を示すネットリストとのいずれかと、RTLシミュレーションで使用された検証パタンを示すユーザ検証パタンとを基に、論理検証を実行する論理検証部と、
前記論理検証部による論理検証の結果に基づいて、前記半導体集積回路の含むパスを特定パスとして特定し、かつ、前記特定パスの始点のデータ値と、前記特定パスの終点のデータ値との比較を行う始点終点データ比較部と、
前記特定パスを伝搬する0と1とのいずれかのデータであって前記クロック信号のサイクル数をデータ幅とするデータを対象として、前記始点終点データ比較部によるデータ比較結果に基づいて、最も小さい前記サイクル数を示すデータ幅最小値を抽出するデータ幅最小値抽出部と、
前記データ幅最小値抽出部によって抽出された前記データ幅最小値に応じて、前記特定パスにおけるマルチサイクル数を決定するマルチサイクル数決定部と
を備えたことを特徴とする。
図1は、実施の形態1のマルチサイクルパス検出装置10を示す構成図である。
図1において、
(1)「RTLまたはネットリスト1」(以降、RTL1と呼ぶ)は、マルチサイクルパスの検出対象である半導体集積回路の回路仕様を記述したハードウェア記述言語のRTL(Register Transfer Level)もしくは回路構成要素の相互関係を示すネットリストである。
(2)また、ユーザ検証パタン2は、この半導体集積回路を実際に使用するシステムとして実際に即した検証パタンである。「ユーザ検証パタン2」とは、言い換えれば、「RTL検証用入力パタン」と呼ぶこともできる。「ユーザ検証パタン2」における「検証パタン」とは、ユーザがRTLを用いて論理検証を実行する時に、ユーザが想定した仕様(機能)が正しく動作しているかを見るための入力データ信号列の集合体である。通常、全回路の想定動作を確認するために複数の入力パタン(検証パタン)を使用する。全回路の動作を確認するので、この複数の入力パタンを全て流せば、全回路の動作が網羅されることになる。なお、実際には全回路の「全動作」を再現することは不可能(組合せ等が膨大にあるため)であり、全回路の全組合せを見ることは困難である。しかし、想定している動作を、ユーザ検証パタンとして確認することで、LSIとして問題ないことを判断する。
(1)論理検証部11は、従来のRTLシミュレーションであり、市販のツールを使用しても構わない。
(2)始点終点データ比較部12は、論理検証部11の出力に基づき、任意のパスの始点と終点のデータが、同じかどうかを比較する。ここで、「論理検証部11の出力」とは、次の内容である。論理検証部11は、ユーザ検証パタン2を入力して論理検証を実施した場合には、全てのセル(FF等)の全ノード(端子)のデータ(1or0)の情報を出力する(後述の図4の波形がその一例である)。この情報出力が「論理検証部11の出力」である。
(3)データ幅最小値抽出部13は、始点終点データ比較部12の結果を全パタンサイクル観測し、もっともデータ幅の短い値を抽出する。
(4)マルチサイクル数決定部14は、データ幅最小値抽出部13によって抽出された値(最小データ幅)を、任意サイクルのマルチサイクルパスに設定するかどうかを決定する。
(5)制約ファイル出力部15は、前記始点終点データ比較部12で指定した始点と終点、前記マルチサイクル数決定部14で指定したマルチサイクル数を一つのファイルにまとめて出力する。制約ファイル出力部15によって出力されたファイルが、マルチサイクルパス制約ファイル3であり、マルチサイクルパス検出装置10の出力である。
図2は、マルチサイクルパス検出装置10の動作を示すフローチャートである。
図3は、マルチサイクルパスの検出を説明するための回路図である。
図4は、図3に基づくタイミング波形図である。
先ず、マルチサイクルパスを検出したい半導体集積回路のRTL1と、設計者もしくは検証担当者が論理検証(RTLシミュレーション)で使用したユーザ検証パタン2を、マルチサイクルパス検出装置10に入力する(ステップS10)。ここで、「論理検証(RTLシミュレーション)で使用したユーザ検証パタン2」と、S11で実行される論理検証部11による論理検証(RTLシミュレーション)の入力パタンは同じものである。マルチサイクルパス検出装置10を使用する前に「論理検証(RTLシミュレーション)」を実施していることを意味する。そして、論理検証部11の出力(全てのセルの全ノードのデータ情報)を得るために、マルチサイクルパス検出装置10において、再度実行する。通常論理検証を実行する場合は、データ量が膨大になるため全ノード情報を出力(記憶)しないが、ここ(論理検証部11)ではマルチサイクルパスを検出するために、全ノード情報を使用する。
次に、論理検証部11が、入力されたRTL1とユーザ検証パタン2とを用いて、所定の論理検証を実施する。ここでの所定の論理検証とは、一般的なRTLシミュレーションのことである。一般的なRTLシミュレーションには、市販のツールを用いても構わない(ステップS11)。
始点終点データ比較部12が、論理検証部11の結果(上記の情報出力)を基に、任意のフリップフロップ(以降、FFと呼ぶ)を始点とし、その接続先であるFFを終点とするパスを特定し、特定したパス(特定パス)における、そのFFの入力データどうしを比較する(ステップS12)。その方法の一例を、図3の回路イメージで説明する。図3において、始点終点データ比較部12の特定した対象回路の対象パス(特定パス)は、FF1とFF2とその間に組合せ回路があるパスであるとする。また、図3の破線の内部は、例えばExORで実現した場合の始点終点データ比較部12を示す。調査するパスの始点をFF1のデータ入力とし、また、調査するパスの終点をFF2のデータ入力とする。その場合、前述のように、始点終点データ比較部12として、ExOR1を追加し、データ比較を行う。
ここで、DaとDbのデータが図4の様になっているとする。また、「Da1」、「Db1」のように、各々の最後の数字が同じ場合に、データが等しい(Da1=Db1)とする(すなわちLowレベルどうしあるいはHighレベルどうしであり、クロックサイクル数が等しい)。そうすると図4において、ExOR1の出力Enは、DaとDbのデータが同じ場合にLowになるため、図4のEnの様な波形となる。このEnの結果を基にマルチサイクルパスを検出する(後述)。
始点終点データ比較部12による図4の動作を、ユーザ検証パタン2を流し切るまで、全サイクル実施する。
なお、図3では、始点/終点であるFFの
(1)入力データどうし、
で比較しているが、
(2)FFの出力データどうし、
を比較してもよいし
(3)始点FFの出力と終点FFの入力どうし、
を比較してもよいし
(4)始点FFの入力と終点FFの出力どうし
を比較しても構わない。また、図3の場合は一例として、始点終点データ比較部12をExOR1という回路イメージで説明したが、同様の動作を、計算機やコンピュータ上で実施しても構わない。
次に、ステップS12で得られた全サイクルの始点終点データ比較(図4の例ではEn結果)から、データ幅最小値抽出部13は、変化するデータの最小幅を抽出する(ステップS13)。例えば図3の様な方法でデータ比較する場合は、データ幅最小値抽出部13は、図4のEnの出力結果を用いて、最小データ幅を抽出する。データ幅最小値抽出部13は、「EnのLow期間+1」のサイクル数を、最小データ幅とする。なお、データ幅最小値抽出部13は、全てのマルチサイクルパスを確実に抽出するものではなく、マルチサイクルパスを抽出できない場合も起こり得てもよいという前提である。マルチサイクルパス全てを抽出できない場合であっても、後述のように十分効果がある。
(1)例えば図4の場合、t8〜t10の間でEnの値がLowにならない(Highが連続している)期間があるためEnのサイクルはゼロとなり、実際の最小データ幅は1になることがわかる。なお図4のt8移行において、Daが長いサイクルの1でDbが長いサイクルの0である場合は、En出力は1になる(Highが連続している)ため、最小データ幅が1と誤検出することとなる。しかし、「マルチサイクルを検出出来ない」という誤検出は問題にはならない。実際の回路ではDaとDbとは値が同じになる(単なる遅延のみ)場合が多く、上記のような誤検出を許容したとしても、かなりのマルチサイクルパスを検出可能だからである。
(2)もし「全パタンを流した時」のEnの値が図4のt8までのパタンであれば、EnのLow期間が必ず1サイクル以上あるので(言い換えると最小のLow期間はt7〜t8の1サイクルであるので)、最小データ幅は2となる。なお「全パタンを流した時」のここでの全パタンとは、(複数あるであろう)ユーザ検証パタン2の全て、という意味である。つまり、ユーザが想定している動作を全て網羅しているので、それを全て流した時にEnのLow期間が必ず1サイクル以上あるので、最小データ幅は2と断言できる。
(3)また、全パタンを流した時のEnの値がt6までのパタンであればEnのLow期間の最小は2サイクルなので、最小データ幅は3となる。
データ幅最小値抽出部13によって得られたデータの最小幅(En_Low+1)であるクロックのサイクル数が、2以上であれば(S14でYES)、データ変化は2サイクルに1回しか変わらないため、この場合、マルチサイクル数決定部14は、「マルチサイクル数=2」と決定し、処理はステップS15に進む。データの最小幅が2未満の場合は(S14でNO)、処理は、ステップS16に進み、次のパス(特定パス)の解析が実施される。
制約ファイル出力部15は、マルチサイクル数決定部14がステップS14でマルチサイクルと決定したパスについての情報(始点FF、終点FF、マルチサイクル数)を、ファイルに出力する。これで任意の1パスについては作業完了である(ステップS15)。次に、別のパスについてステップS12からステップS15まで同じ動作を繰り返し、全ての対象パスについて確認した時点で完了となり、ステップS17に進む(ステップS16)。ステップS17では、制約ファイル出力部15が、これまでに決定した全てのマルチサイクルパスの情報について記載されたマルチサイクルパス制約ファイル3を作成する(ステップS17)。このマルチサイクルパス制約ファイル3は、論理合成やレイアウトツールに直接入力できる形式、例えばSDC(Synopsys Design Constraint)ファイルに自動変換しても良い。SDCファイルへの変換技術については公知であるため、その説明は省略する。
図5〜図8を参照して実施の形態2のマルチサイクルパス検出装置20を説明する。実施の形態2のマルチサイクルパス検出装置20は、始点終点を一つのFFの入出力を対象にする。これによって、マルチサイクルパスの検出処理時間を短くする。
(2)接続FF入出力データ比較部22は、接続先FF2の入力と出力を比較する。なお接続先FF2は、RTLもしくはネットリストを解析する周知技術により特定できる。
(3)前後FFデータ変化比較部23は、始点になるFF1とその接続先で終点になるFF2各々のデータ変化を比較する。
図6は、マルチサイクルパス検出装置20の動作を示すフローチャートである。
図7は、実施の形態2で説明する回路図の一例である。
図8は、図7に基づくタイミング波形図である。
図6のフローチャートのうち、S10、S11、S13、S14、S15、S17は、実施の形態1のフローチャート図2と同じ動作のため、説明を省略する。
次に、論理検証部11の結果を基に、FF入出力データ比較部21は、任意のFF単体の入力端子、出力端子のデータを比較する(ステップS21)。その方法の一例としては、例えば図7の回路イメージで説明する。図7において、対象回路の対象パスは、FF1とFF2とその間に組合せ回路があるパスであり、実施の形態1の図3と同じ回路である。ここでFF入出力データ比較部21は図7の破線内のExOR1であり、FF1の入出力データ比較を行う。図7におけるFF入出力データ比較部21の動作を、図8の波形で説明する。しかし、FF入出力データ比較部21の動作は、実施の形態1の始点終点データ比較部12とほぼ同じであり、図7のDa、Qa、En1を、それぞれ、図4のDa、Db、Enと置きかえれば、説明は図4の場合と同じとなる。
次に、データ幅最小値抽出部13による最小データ幅抽出(ステップS13)、及びマルチサイクル数決定部14によるFF1における最小データ幅からマルチサイクル数決定(ステップS14)についても実施の形態1と基本的には同じ動作である。しかし、実施の形態2では、FF1単体の最小データ幅のみを見ているため、この段階ではマルチサイクルパスと決定づけられない点が異なる。但し、ここでFF1単体としてもマルチサイクル動作が出来ないことが分かれば、そのFF1が接続されているパスはマルチサイクルパスではないので、処理はステップS14からステップS24に進む。
FF1単体でマルチサイクル動作であれば、処理はステップS14からステップS22に進み、接続FF入出力データ比較部22は、その接続先のFF2を抽出する(ステップS22)。なお接続FF入出力データ比較部22による、接続先のFF2抽出は周知技術であるので説明は省略する。
ここで、この接続先FF2についても、接続FF入出力データ比較部22が、データ比較を行う。この動作はFF入出力データ比較部21によるFF11のデータ比較と同様である。ここで接続FF入出力データ比較部22は、図7の破線内のExOR2である。図8の波形において、DbをDa、QbをQa、En2をEn1と置きかえれば、説明はFF入出力データ比較部21の場合と同じとなる。
次に、図7の回路図で、前後FFデータ変化比較部23の動作(ステップS22)を説明する。図7において、破線内のExOR1(FF入出力データ比較部21の具体例)で出力されたEn1をFF3で1サイクル遅延させたものと、ExOR2(接続FF入出力データ比較部22の具体例)で出力されたEn2をExOR3で比較した結果をEn3とする。ここでExOR1の出力を1サイクル遅延させるのは、図8のEn1とEn2のタイミングを見ると分かるように、En1とEn2とのタイミングを合わせて後段(ExOR3)での比較を簡単にするためである。FF3とExORとは、前後FFデータ変化比較部23の具体例である。En3は、波形図8のように、FF1とFF2とのデータ変化が同じになる場合、Lowを出力し続ける。つまり、En3が全サイクルにおいてLowであれば、FF1とFF2は同じマルチサイクルとなり、FF1を始点、FF2を終点としたパスはマルチサイクルと言える。但し、全サイクルのうち一か所でも、波形図8のt10サイクル時のように、FF1とFF2とのデータ変化が異なっている場合、En3の出力はHighとなり、マルチサイクルパスではないことになる(ステップS22)。
ここでは、実施の形態1で説明と同様に回路イメージ(図7)で説明したが、同様の動作を、計算機やコンピュータ上で実施しても構わない。
さらに、任意のFF1単体がマルチサイクルパスでないと判明した時点で(S14でNO)、そのFF1を始点終点から除外して、実施の形態1と同様の動作をさせても良い。すなわち、図6のS14でNO(最小データ幅が2未満)の場合、このFFを含むパスはマルチサイクルパスでないことが分かる。したがって、その情報(マルチサイクルになり得ないFF)を用い、実施の形態1の図2のS12の段階で、この「マルチサイクルになり得ないFF」を任意の始点FF、終点FFからあらかじめ削除することで、見るべきパス数が大幅に減り、処理時間を削減できる。
図9、図10を参照して実施の形態3のマルチサイクルパス検出装置30を説明する。実施の形態3のマルチサイクルパス検出装置30は、公知マルチサイクルパス検出部との結果差分を出力する。ここで、公知マルチサイクルパス検出部(検証パタン不使用検出装置)とは、ユーザ検証パタン2を入力せずに、従来の技術を用いてマルチサイクルパスを検出する手段である。
図9は、マルチサイクルパス検出装置30の構成図である。公知マルチサイクルパス検出部31と、検証パタン検出パス出力部32(差分生成部)とを追加した以外は、実施の形態1のマルチサイクルパス検出装置10(図1)と同じであるため、同じものについては説明を省略する。なお、図9では、マルチサイクルパス検出装置30に公知マルチサイクルパス検出部31を含めているが、公知マルチサイクルパス検出部31は他の装置に存在しても構わない。その場合、マルチサイクルパス検出装置30は、公知マルチサイクルパス検出部31の存在する他の装置から、従来技術による検出結果を入力すればよい。
図10は、マルチサイクルパス検出装置30の動作を示すフローチャートである。図10のフローチャートのうち、S10〜S17は、実施の形態1のフローチャート(図2)と同じ動作のため、説明を省略する。
図11、図12を参照して実施の形態4のマルチサイクルパス検出装置40を説明する。実施の形態4は、マルチサイクルパスを確認するパスをLow−Vthセル(Low Threshold Voltage Cell;低閾値電圧セル)を使用しているパスに限定することで、マルチサイクルパスの検出処理時間を短くする実施の形態である。
図12は、マルチサイクルパス検出装置40の動作を示すフローチャートである。該フローチャートのうち、S10、S11、S13、S14、S15、S17は、実施の形態1の図2のフローチャートと同じ動作のため、ここでは説明を省略する。
上記動作と並行して、Low−Vthセル抽出部41がネットリスト1を入力し、Low−Vthセルを使用している、もしくは任意の数以上使用しているパスを抽出する(ステップS41)。ここでは、セル自体を抽出するため、入力はRTL1ではなくネットリスト1でなければならないが、Low−Vthセル使用パス抽出後に、パスの情報をネットリスト情報からRTL情報に変換する作業は公知技術であるため、ここでは説明を省略する。また、この入力したネットリスト1は、より最終形態に近いレイアウトでのネットリストが好ましい。パスの情報をネットリスト情報からRTL情報に変換するのは、以下の理由による。一般的に図12のS11の論理検証はネットリストでは時間がかかる。よって図12では、RTLで論理検証(S11)を実施することとしている。つまりS11の結果はRTL上での情報であり、S42の結果はネットリスト上での情報であるため、S42の情報をRTL上での情報に置き換えてS43を実施する必要があるためである。S11の論理検証をネットリストで実施する場合には、RTL情報に変換する必要はない。
図13、図14を参照して、実施の形態5を説明する。実施の形態5は、以上の実施の形態1〜4のマルチサイクルパス検出装置10〜40をコンピュータで実現する場合の、実施の形態である。マルチサイクルパス検出装置10〜40をコンピュータで実現する場合、いずれも同様であるので、マルチサイクルパス検出装置10を代表として説明する。
図14は、マルチサイクルパス検出装置10のハードウェア資源の一例を示す図である。
(2)また、実施の形態2で述べたように、FF単体でのデータ変化を見ることにより、処理時間に最も影響のある接続情報を極力探索しないで良い構成にした。このため、マルチサイクルパス検出効果を落とすことなく、検出処理時間を短縮することが可能となる。(3)また、実施の形態3で述べたように、ユーザ検証パタン2を用いない従来技術のマルチサイクルパス検出との差分を取ることで、ユーザもしくは設計者が容易にユーザ検証パタン2依存のマルチサイクルパスを容易に確認できるようにした。このため、仮に設計の途中等でユーザ検証パタン2が不足していても、誤ってマルチサイクルパス設定をしてしまうというリスクを低減することが可能となる。
(4)また、実施の形態4で述べたように、マルチサイクルパス検出をLow−Vthセル使用パスだけに限定した。このため、実施の形態1よりも検出処理時間を短縮することが可能となる。また、タイミングの厳しいLow−Vthセル使用パスについてマルチサイクルパスを設定することで、Low−VthセルをHigh−Vthセルに置き換えることが可能となり、近年プロセス微細化で課題となっているリーク電流を抑えることも可能となる。
半導体集積回路の回路仕様を記述したRTLもしくは回路構成要素の相互関係を示すネットリストと、任意の検証パタンとを基に、論理検証を実行する論理検証手段と、対象回路全パスの始点と終点の値の比較を行う始点終点データ比較手段と、検証パタンにより得られた始点終点データ比較手段の結果のうち、各々のパスにおいて最もデータ変化が多いサイクルを抽出するデータ幅最小値抽出手段と、データ幅最小値抽出手段の結果が任意の値以上の場合にその値をマルチサイクル設定値とするマルチサイクル数決定手段と、前記始点終点とマルチサイクル設定値を記載したファイルを出力する制約ファイル出力手段とを備えたマルチサイクルパス検出装置。
半導体集積回路の回路仕様を記述したRTL、もしくは回路構成要素の相互関係を示すネットリストと、任意の検証パタンを基に論理検証を実行する論理検証手段と、対象回路の全フリップフロップの入力と出力を比較するフリップフロップ入出力データ比較手段と、前記検証パタンにより得られた前記フリップフロップ入出力データ比較手段の結果のうち最もデータ変化が多いサイクルを抽出するデータ幅最小値抽出手段と、前記データ幅最小値抽出手段の結果と任意の値以上の値をマルチサイクル設定値とするマルチサイクル数決定手段と、前記フリップフロップの接続先(もしくは接続元)フリップフロップの前記フリップフロップ入出力データ比較手段との結果を比較する接続フリップフロップ入出力データ比較手段と、前記フリップフロップと前記接続フリップフロップ各々のデータ変化を比較する前後フリップフロックデータ変化比較手段と、前記フリップフロップと前記接続フリップフロップとマルチサイクル設定値を記載したファイルを出力する制約ファイル出力手段とを備えたマルチサイクルパス検出装置。
検証パタンを用いない従来の検出方法である公知マルチサイクルパス検出手段と、
上記のマルチサイクルパス検出装置10で検出したマルチサイクルパス結果と前記公知マルチサイクルパス検出手段で検出したマルチサイクルパス結果の差分を出力する検証パタン検出パス出力手段とを備えた装置。
Low−Vthセルを使用しているパスを抽出するLow−Vthセル抽出手段と、そのパスのみをマルチサイクルパス検出の対象とする始点終点限定手段とを備えたマルチサイクルパス検出装置。
Claims (9)
- クロック信号に基づき動作する半導体集積回路の回路仕様を記述したRTL(Register Transfer Level)データと、前記半導体集積回路の回路構成要素の相互関係を示すネットリストとのいずれかと、RTLシミュレーションで使用された検証パタンを示すユーザ検証パタンとを基に、論理検証を実行する論理検証部と、
前記論理検証部による論理検証の結果に基づいて、前記半導体集積回路の含むパスを特定パスとして特定し、かつ、前記特定パスの始点のデータ値と、前記特定パスの終点のデータ値との比較を行う始点終点データ比較部と、
前記特定パスを伝搬する0と1とのいずれかのデータであって前記クロック信号のサイクル数をデータ幅とするデータを対象として、前記始点終点データ比較部によるデータ比較結果に基づいて、最も小さい前記サイクル数を示すデータ幅最小値を抽出するデータ幅最小値抽出部と、
前記データ幅最小値抽出部によって抽出された前記データ幅最小値に応じて、前記特定パスにおけるマルチサイクル数を決定するマルチサイクル数決定部と
を備えたことを特徴とするマルチサイクルパス検出装置。 - 前記始点終点データ比較部は、
接続元となる第1フリップフロップ回路と、前記第1フリップフロップ回路の接続先となる第2フリップフロップ回路とを結ぶパスを、前記特定パスとして特定することを特徴とする請求項1記載のマルチサイクルパス検出装置。 - 前記始点終点データ比較部は、
前記特定パスの始点のデータ値と、前記特定パスの終点のデータ値との比較を行う場合に、
前記第1フリップフロップ回路の入力データを前記始点のデータとすると共に前記第2フリップフロップ回路の入力データを前記終点のデータ値とする比較と、
前記第1フリップフロップ回路の出力データを前記始点のデータとすると共に前記第2フリップフロップ回路の出力データを前記終点のデータ値とする比較と、
前記第1フリップフロップ回路の出力データを前記始点のデータとすると共に前記第2フリップフロップ回路の入力データを前記終点のデータ値とする比較と、
前記第1フリップフロップ回路の入力データを前記始点のデータとすると共に前記第2フリップフロップ回路の出力データを前記終点のデータ値とする比較と
のいずれかの比較を行うことを特徴とする請求項2記載のマルチサイクルパス検出装置。 - 前記マルチサイクルパス検出装置は、さらに、
Low−Vthセルを使用しているパスを示す使用パスを抽出する使用パス抽出部を備え、
前記始点終点データ比較部は、
前記使用パス抽出部によって抽出された前記使用パスのなかから、前記特定パスを特定することを特徴とする請求項1〜3のいずれかに記載のマルチサイクルパス検出装置。 - 前記マルチサイクルパス検出装置は、さらに、
前記ユーザ検証パタンを使用することなくマルチサイクルパスを検出する検証パタン不使用検出装置によって検出されたマルチサイクルパスの検出結果と、前記マルチサイクル数決定部の決定結果との差分を示す差分情報を生成する差分生成部を備えたことを特徴とする請求項1〜4のいずれかに記載のマルチサイクルパス検出装置。 - クロック信号に基づき動作する半導体集積回路の回路仕様を記述したRTL(Register Transfer Level)データと、前記半導体集積回路の回路構成要素の相互関係を示すネットリストとのいずれかと、RTLシミュレーションで使用された検証パタンを示すユーザ検証パタンとを基に、論理検証を実行する論理検証部と、
前記論理検証部による論理検証の結果に基づいて、前記半導体集積回路のフリップフロップ回路を特定フリップフロップ回路として特定し、特定された前記特定フリップフロップ回路の入力データと出力データとを比較するフリップフロップ入出力データ比較部と、
前記特定フリップフロップ回路に入力して出力される0と1とのいずれかのデータであって前記クロック信号のサイクル数をデータ幅とするデータを対象として、前記フリップフロップ入出力データ比較部によるデータ比較結果に基づいて、最も小さい前記サイクル数を示すデータ幅最小値を抽出するデータ幅最小値抽出部と、
前記データ幅最小値抽出部によって抽出されたデータ幅最小値が所定の値以上の場合に、前記フリップフロップ入出力データ比較部によって特定された前記特定フリップフロップ回路の接続先と接続元とのいずれかのフリップフロップ回路を示す接続フリップフロップ回路を前記論理検証部の検証結果に基づき特定し、特定された前記接続フリップフロップ回路の入力データと出力データとを比較する接続フリップフロップ入出力データ比較部と、
前記フリップフロップ入出力データ比較部による前記特定フリップフロップ回路のデータ比較結果を示す第1比較結果と、前記接続フリップフロップ入出力データ比較部による前記接続フリップフロップ回路のデータ比較結果を示す第2比較結果とを比較し、前記第1比較結果と前記第2比較結果との比較の結果に応じて、前記特定フリップフロップ回路と前記接続フリップフロップ回路とを結ぶパスのマルチサイクル数を決定する前後フリップフロップデータ変化比較部と
を備えたことを特徴とするマルチサイクルパス検出装置。 - 前記マルチサイクルパス検出装置は、さらに、
前記データ幅最小値抽出部によって抽出された前記データ幅最小値に応じて、前記特定フリップフロップ回路におけるマルチサイクル数を決定するマルチサイクル数決定部を備え、
前記前後フリップフロップデータ変化比較部は、
前記第1比較結果と前記第2比較結果との比較の結果を同一と判定した場合に、前記マルチサイクル数決定部によって決定された前記特定フリップフロップ回路におけるマルチサイクル数を、前記特定フリップフロップ回路と前記接続フリップフロップ回路とを結ぶパスのマルチサイクル数として決定することを特徴とする請求項6記載のマルチサイクルパス検出装置。 - コンピュータを、
クロック信号に基づき動作する半導体集積回路の回路仕様を記述したRTL(Register Transfer Level)データと、前記半導体集積回路の回路構成要素の相互関係を示すネットリストとのいずれかと、RTLシミュレーションで使用された検証パタンを示すユーザ検証パタンとを基に、論理検証を実行する論理検証部、
前記論理検証部による論理検証の結果に基づいて、前記半導体集積回路の含むパスを特定パスとして特定し、かつ、前記特定パスの始点のデータ値と、前記特定パスの終点のデータ値との比較を行う始点終点データ比較部、
前記特定パスを伝搬する0と1とのいずれかのデータであって前記クロック信号のサイクル数をデータ幅とするデータを対象として、前記始点終点データ比較部によるデータ比較結果に基づいて、最も小さい前記サイクル数を示すデータ幅最小値を抽出するデータ幅最小値抽出部、
前記データ幅最小値抽出部によって抽出された前記データ幅最小値に応じて、前記特定パスにおけるマルチサイクル数を決定するマルチサイクル数決定部、
として機能させるためのマルチサイクルパス検出プログラム。 - コンピュータを、
クロック信号に基づき動作する半導体集積回路の回路仕様を記述したRTL(Register Transfer Level)データと、前記半導体集積回路の回路構成要素の相互関係を示すネットリストとのいずれかと、RTLシミュレーションで使用された検証パタンを示すユーザ検証パタンとを基に、論理検証を実行する論理検証部、
前記論理検証部による論理検証の結果に基づいて、前記半導体集積回路のフリップフロップ回路を特定フリップフロップ回路として特定し、特定された前記特定フリップフロップ回路の入力データと出力データとを比較するフリップフロップ入出力データ比較部、
前記特定フリップフロップ回路に入力して出力される0と1とのいずれかのデータであって前記クロック信号のサイクル数をデータ幅とするデータを対象として、前記フリップフロップ入出力データ比較部によるデータ比較結果に基づいて、最も小さい前記サイクル数を示すデータ幅最小値を抽出するデータ幅最小値抽出部、
前記データ幅最小値抽出部によって抽出されたデータ幅最小値が所定の値以上の場合に、前記フリップフロップ入出力データ比較部によって特定された前記特定フリップフロップ回路の接続先と接続元とのいずれかのフリップフロップ回路を示す接続フリップフロップ回路を前記論理検証部の検証結果に基づき特定し、特定された前記接続フリップフロップ回路の入力データと出力データとを比較する接続フリップフロップ入出力データ比較部、
前記フリップフロップ入出力データ比較部による前記特定フリップフロップ回路のデータ比較結果を示す第1比較結果と、前記接続フリップフロップ入出力データ比較部による前記接続フリップフロップ回路のデータ比較結果を示す第2比較結果とを比較し、前記第1比較結果と前記第2比較結果との比較の結果に応じて、前記特定フリップフロップ回路と前記接続フリップフロップ回路とを結ぶパスのマルチサイクル数を決定する前後フリップフロップデータ変化比較部、
として機能させるためのマルチサイクルパス検出プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011119832A JP5645754B2 (ja) | 2011-05-30 | 2011-05-30 | マルチサイクルパス検出装置及びマルチサイクルパス検出プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011119832A JP5645754B2 (ja) | 2011-05-30 | 2011-05-30 | マルチサイクルパス検出装置及びマルチサイクルパス検出プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012248038A true JP2012248038A (ja) | 2012-12-13 |
JP5645754B2 JP5645754B2 (ja) | 2014-12-24 |
Family
ID=47468418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011119832A Active JP5645754B2 (ja) | 2011-05-30 | 2011-05-30 | マルチサイクルパス検出装置及びマルチサイクルパス検出プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5645754B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016071430A (ja) * | 2014-09-26 | 2016-05-09 | Necスペーステクノロジー株式会社 | マルチサイクル数自律判定装置及びマルチサイクル数自律判定方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001273351A (ja) * | 2000-03-28 | 2001-10-05 | Toshiba Corp | マルチサイクルパス検証装置、検証方法及び検証プログラムを記憶したコンピュータ読み取り可能な記憶媒体 |
JP2007183932A (ja) * | 2005-12-09 | 2007-07-19 | Fujitsu Ltd | タイミング解析方法及びタイミング解析装置 |
WO2007142201A1 (ja) * | 2006-06-05 | 2007-12-13 | Panasonic Corporation | マルチサイクルパス情報の検証方法、およびマルチサイクルパス情報の検証装置 |
JP2008123056A (ja) * | 2006-11-08 | 2008-05-29 | Sharp Corp | 論理回路のタイミング制約生成システムおよび論理回路のタイミング制約生成方法、制御プログラム、可読記録媒体 |
JP2008243092A (ja) * | 2007-03-29 | 2008-10-09 | Toshiba Corp | マルチサイクルパス検出装置、マルチサイクルパス検出方法及びマルチサイクルパス検出プログラム |
-
2011
- 2011-05-30 JP JP2011119832A patent/JP5645754B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001273351A (ja) * | 2000-03-28 | 2001-10-05 | Toshiba Corp | マルチサイクルパス検証装置、検証方法及び検証プログラムを記憶したコンピュータ読み取り可能な記憶媒体 |
JP2007183932A (ja) * | 2005-12-09 | 2007-07-19 | Fujitsu Ltd | タイミング解析方法及びタイミング解析装置 |
WO2007142201A1 (ja) * | 2006-06-05 | 2007-12-13 | Panasonic Corporation | マルチサイクルパス情報の検証方法、およびマルチサイクルパス情報の検証装置 |
JP2008123056A (ja) * | 2006-11-08 | 2008-05-29 | Sharp Corp | 論理回路のタイミング制約生成システムおよび論理回路のタイミング制約生成方法、制御プログラム、可読記録媒体 |
JP2008243092A (ja) * | 2007-03-29 | 2008-10-09 | Toshiba Corp | マルチサイクルパス検出装置、マルチサイクルパス検出方法及びマルチサイクルパス検出プログラム |
Non-Patent Citations (1)
Title |
---|
JPN6014017341; 樋口 博之: '大規模順序回路に対するマルチサイクルパス解析手法' 情報処理学会研究報告. SLDM, [システムLSI設計技術] 第2001巻/第117号, 20011128, 第105-110頁, 一般社団法人情報処理学会 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016071430A (ja) * | 2014-09-26 | 2016-05-09 | Necスペーステクノロジー株式会社 | マルチサイクル数自律判定装置及びマルチサイクル数自律判定方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5645754B2 (ja) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hand et al. | Blade--a timing violation resilient asynchronous template | |
US9547732B2 (en) | Static checking of asynchronous clock domain crossings | |
US10078714B2 (en) | Data propagation analysis for debugging a circuit design | |
US10831958B2 (en) | Integrated circuit design with optimized timing constraint configuration | |
CN115796093B (zh) | 电路时序优化方法、装置、电子设备及存储介质 | |
US8037443B1 (en) | System, method, and computer program product for optimizing an altered hardware design utilizing power reports | |
US7888971B2 (en) | Verification support system and method | |
US10515169B1 (en) | System, method, and computer program product for computing formal coverage data compatible with dynamic verification | |
TW202219810A (zh) | 積體電路模擬及設計方法與系統 | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
JP5645754B2 (ja) | マルチサイクルパス検出装置及びマルチサイクルパス検出プログラム | |
US12073159B2 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US7945882B2 (en) | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium | |
CN104133931B (zh) | 用于检测组合等效电路设计中的相应路径的方法和系统 | |
US7428712B1 (en) | Design optimization using approximate reachability analysis | |
US8397189B2 (en) | Model checking in state transition machine verification | |
JP5265318B2 (ja) | 論理検証装置 | |
US9581644B2 (en) | Digital IC simulation | |
US10289786B1 (en) | Circuit design transformation for automatic latency reduction | |
JP5338919B2 (ja) | 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置 | |
US7689399B1 (en) | Automatic extraction of design properties | |
JP2007241566A (ja) | 検証方法及び検証装置 | |
US8782579B2 (en) | Connection verification method, recording medium thereof, and connection verification apparatus | |
US9069762B2 (en) | Equivalence classes over parameter state space | |
JP5587459B2 (ja) | 論理検証装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140701 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140703 |
|
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: 20141007 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141104 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5645754 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |