JP4450103B2 - スタティックハザード検出装置、スタティックハザード検出方法並びにプログラム - Google Patents

スタティックハザード検出装置、スタティックハザード検出方法並びにプログラム Download PDF

Info

Publication number
JP4450103B2
JP4450103B2 JP2008304099A JP2008304099A JP4450103B2 JP 4450103 B2 JP4450103 B2 JP 4450103B2 JP 2008304099 A JP2008304099 A JP 2008304099A JP 2008304099 A JP2008304099 A JP 2008304099A JP 4450103 B2 JP4450103 B2 JP 4450103B2
Authority
JP
Japan
Prior art keywords
register
point register
end point
extraction unit
start point
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
Application number
JP2008304099A
Other languages
English (en)
Other versions
JP2009176285A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008304099A priority Critical patent/JP4450103B2/ja
Priority to US12/343,212 priority patent/US8117578B2/en
Publication of JP2009176285A publication Critical patent/JP2009176285A/ja
Application granted granted Critical
Publication of JP4450103B2 publication Critical patent/JP4450103B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、論理合成ツールによって合成された論理回路が、スタティックハザードを引き起こす可能性があるか否かをチェックするスタティックハザード検出技術に関する。
LSIの設計では、1クロック信号周期以内にレジスタ間を伝搬しないマルチサイクル信号や非同期信号といった例外信号の伝搬を制御するために、制御信号と呼ばれる信号が導入される。制御信号は、例外信号を取り込んで良いときに第1の状態(例えば、‘1’)に、取り込んではいけないときに第2の状態(例えば、‘0’)となる信号である。例えば、設計者は、制御信号と例外信号とのAND(論理積)をとったり、例外信号と他の信号とを選択的に出力するセレクタを制御信号で制御したりすることにより、例外信号の伝搬を制御する。なお、制御信号は、ストローブ信号と呼ばれる場合もある。
しかしながら、設計者が制御信号によって例外信号の伝搬を制御する回路を意図してHDL(Hardware Description Language)を書いたにも関わらず、論理合成ツールが思わぬ合成をすることにより、グリッチが発生するような回路を生成することがある。このような場合は、制御信号による制御が効かなくなり、回路が誤動作する。このような問題をスタティックハザードと呼ぶ。
ここで、スタティックハザードは、RTL(Register Transfer Level(レジスタ転送レベル))の段階では確認できない。このため、検査者が論理合成ツールによって生成された回路を目視でしらみ潰しに見て解析することにより、スタティックハザードが発生するか否かを調べる必要があった。しかし、この方法では、膨大な工数が必要になるという問題があると共に、検出漏れが発生する危険性がある。
一方、例えば、特許文献1には、グリッチを発生させる可能性がある論理ブロックを検出する技術が開示されている。この特許文献1には、論理回路中の指定された2信号から経路探索を行い、上記2信号の伝搬信号が入力される論理ブロックを検出することにより、グリッチを発生させる可能性がある論理ブロックを検出する技術が開示されている。なお、上記2信号としては、非同期の2信号(例外信号)を指定する。
特開2006−323727号公報
しかしながら、特許文献1に記載されている技術は、例外信号の伝搬を制御する制御信号が全く考慮されていない技術である。このため、特許文献1に記載されている技術は、例外信号の伝搬を制御する制御信号が導入されている論理回路に直ちに適用できる技術ではない。
本発明は、上記問題に鑑みてなされたものであり、例外信号の伝搬を制御する制御信号が導入されている論理回路においても、スタティックハザードが発生する可能性があるか否かをチェックすることが可能なスタティックハザード検出装置、スタティックハザード検出方法並びにこれらをコンピュータ上で実現するためのプログラムを提供することを目的とする。
上記目的を達成するため、本発明の第1の観点に係るスタティックハザード検出装置は、
論理回路の動作クロックに同期せずに伝搬する例外信号の伝搬を伝搬制御回路によって制御する論理回路に発生しうるスタティックハザードを検出するスタティックハザード検出装置であって、
論理回路を表す論理回路情報の入力を受け付け、受け付けた論理回路情報によって表される論理回路中に存在する、伝搬制御回路を介して終点レジスタに供給される例外信号を出力する始点レジスタと該終点レジスタとの組を複数抽出するチェック対象抽出部と、
前記チェック対象抽出部により抽出された複数の組のうち、伝搬制御回路の状態を制御する制御信号の信号レベルが例外信号の伝搬を禁止する信号レベルになっているときに、例外信号を始点レジスタから終点レジスタに伝達する可能性があるパスが複数存在する組を検出するスタティックハザード検出部と、を備える、
ことを特徴とする。
上記目的を達成するため、本発明の第2の観点に係るスタティックハザード検出方法は、
論理回路の動作クロックに同期せずに伝搬する例外信号の伝搬を伝搬制御回路によって制御する論理回路に発生しうるスタティックハザードを検出するスタティックハザード検出装置が実行するスタティックハザード検出方法であって、
前記スタティックハザード検出装置は、チェック対象抽出部と、スタティックハザード検出部と、を備え、
前記チェック対象抽出部が、論理回路を表す論理回路情報の入力を受け付け、受け付けた論理回路情報によって表される論理回路中に存在する、伝搬制御回路を介して終点レジスタに供給される例外信号を出力する始点レジスタと該終点レジスタとの組を複数抽出するチェック対象抽出ステップ、
前記スタティックハザード検出部が、前記チェック対象抽出部により抽出された複数の組のうち、伝搬制御回路の状態を制御する制御信号の信号レベルが例外信号の伝搬を禁止する信号レベルになっているときに、例外信号を始点レジスタから終点レジスタに伝達する可能性があるパスが複数存在する組を検出するスタティックハザード検出ステップ、を備える、
ことを特徴とする。
上記目的を達成するため、本発明の第3の観点に係るプログラムは、
コンピュータを、
論理回路の動作クロックに同期せずに伝搬する例外信号の伝搬を伝搬制御回路によって制御する論理回路に発生しうるスタティックハザードを検出するスタティックハザード検出装置として機能させるためのプログラムであって、
前記コンピュータを、
論理回路を表す論理回路情報の入力を受け付け、受け付けた論理回路情報によって表される論理回路中に存在する、伝搬制御回路を介して終点レジスタに供給される例外信号を出力する始点レジスタと該終点レジスタとの組を複数抽出するチェック対象抽出部、
前記チェック対象抽出部により抽出された複数の組のうち、伝搬制御回路の状態を制御する制御信号の信号レベルが例外信号の伝搬を禁止する信号レベルになっているときに、例外信号を始点レジスタから終点レジスタに伝達する可能性があるパスが複数存在する組を検出するスタティックハザード検出部、として機能させる、
ことを特徴とする。
本発明によれば、例外信号の伝搬を制御する制御信号が導入されている論理回路においても、スタティックハザードが発生する可能性があるか否かを自動的にチェックすることが可能である。
(第1の実施形態)
以下、本発明の第1の実施形態に係るスタティックハザード検出装置100について図面を参照して説明する。
まず、図1を参照して、本実施形態に係るスタティックハザード検出装置100の物理的な構成について説明する。スタティックハザード検出装置100は、パーソナルコンピュータなど汎用のコンピュータを用いて構成することができる。
図1に示すように、スタティックハザード検出装置100は、物理的には、CPU(Central ProceSing Unit)11と、ROM(Read Only Memory)12と、RAM(Random AcceS Memory)13と、ハードディスク装置14と、入力装置15と、表示装置16と、を備える。スタティックハザード検出装置100が備える各構成要素はバスを介して接続される。
CPU11は、ハードディスク装置14に記憶されたプログラムに従ってスタティックハザード検出装置100全体の動作を制御する。CPU11は、各構成要素とバスを介して接続され制御信号やデータのやりとりをする。
ROM12は、電源投入直後に実行されるIPL(Initial Program Loader)を記憶する。IPLが実行された後、CPU11は、ハードディスク装置14に記憶されたプログラムをRAM13に読み出して実行する。
RAM13は、データやプログラムを一時的に記憶する。RAM13は、ハードディスク装置14から読み出されたプログラムやデータなどを一時的に記憶する。
ハードディスク装置14は、CPU11により実行されるプログラムや各種データなどを記憶する。
入力装置15は、CPU11による制御のもと、ユーザから各種の操作入力を受け付ける。入力装置15は、例えば、キーボードやマウスから構成される。
表示装置16は、CPU11による制御のもと、ユーザから各種の操作入力を受け付けるための画面などを表示する。表示装置16は、例えば、液晶ディスプレイ装置から構成される。
次に、本実施形態に係るスタティックハザード検出装置100の機能的な構成について説明する。
図2に示すように、本実施形態に係るスタティックハザード検出装置100は、機能的には、チェック対象抽出部1100と、スタティックハザード検出部120と、表示制御部130と、を備える。なお、スタティックハザード検出装置100は、記憶装置200に記憶されている情報に基づいてスタティックハザードを検出し、検出結果を表示装置300に表示する装置である。
また、図2に示すように、記憶装置200は、論理回路情報記憶部210と、遅延制約情報記憶部220と、チェック対象情報記憶部230と、パスレポート記憶部240と、被疑パスレポート記憶部250と、を備える。
本実施形態では、スタティックハザード検出装置100の外部に、記憶装置200と表示装置300とがあるものとして説明するが、スタティックハザード検出装置100が記憶装置200と表示装置300とを備える構成であっても良い。この場合、例えば、ハードディスク装置14が記憶装置200を構成し、表示装置16が表示装置300を構成する。
チェック対象抽出部110は、論理回路情報記憶部210に格納されている論理回路情報と遅延制約情報記憶部220に格納されている遅延制約情報とを読み込む。そして、チェック対象抽出部110は、読み込んだ論理回路情報と遅延制約情報とに基づいて、チェック対象情報を生成し、生成したチェック対象情報をチェック対象情報記憶部230に格納する。
チェック対象情報は、例えば、図3(A)に示すように、例外信号毎に、当該例外信号の始点となるレジスタ(以下「例外信号の始点レジスタ」という。)を示す情報と、当該例外信号の終点となるレジスタ(以下「例外信号の終点レジスタ」という。)を示す情報と、当該例外信号の伝搬を制御する制御信号の始点となるレジスタ(以下「制御信号の始点レジスタ」という。)を示す情報と、が対応付けられた情報である。なお、例外信号は、1クロック信号周期以内にレジスタ間を伝搬しないマルチサイクル信号や非同期信号である。チェック対象抽出部110は、CPU11などから構成される。
スタティックハザード検出部120は、パス検出部121と再収斂パス検出部122とから構成される。スタティックハザード検出部120は、CPU11などから構成される。
パス検出部121は、論理回路情報記憶部210に格納されている論理回路情報とチェック対象情報記憶部230に格納されているチェック対象情報とを読み込む。そして、パス検出部121は、読み込んだ論理回路情報とチェック対象情報とに基づいて、パスレポートを生成し、生成したパスレポートをパスレポート記憶部240に格納する。
パスレポートは、例えば、図3(B)に示すように、パスレポート番号を示す情報と、例外信号の始点レジスタを示す情報と、当該例外信号の終点レジスタを示す情報と、当該例外信号の始点レジスタと当該例外信号の終点レジスタとの間に存在するパスであって、当該例外信号の伝搬を制御する制御信号の状態が当該例外信号の伝搬を禁止する状態になっているときに当該例外信号を伝搬する可能性があるパスを示す情報と、が対応付けられた情報である。図3(B)には、例外信号の始点レジスタSTRB_reg1と例外信号の終点レジスタEND_reg1との間にはパスが1つも検出されず、例外信号の始点レジスタSTRB_reg2と例外信号の終点レジスタEND_reg2との間にはパスが1つ検出され、例外信号の始点レジスタSTRB_reg3と例外信号の終点レジスタEND_reg3との間にはパスが2つ検出された場合のパスレポートの例を示す。パス検出部121は、CPU11などから構成される。
具体的には、パス検出部121は、次の(1)〜(3)のような機能を有する。
(1)例外信号毎(論理回路中に含まれる例外信号の始点レジスタと当該例外信号の終点レジスタとの組み合わせ毎)に、当該例外信号を制御する制御信号の状態を、当該例外信号の伝搬を禁止する状態にしてタイミングアークを切断する機能。
タイミングアークを切断するとは、例えば、ANDゲートの一方の入力端子に‘0’を入力することにより、ANDゲートの出力信号が必ず‘0’になるようにして他方の入力端子からの信号を出力に伝えない、つまり当該ANDゲートにてパスを切断するということである。
(2)タイミングアークを切断後、当該例外信号の始点レジスタと当該例外信号の終点レジスタとの間に存在する例外信号のパスを探索する機能。
なお、スタティックハザードが発生しないベストケースであれば、例外信号のタイミングアークが制御信号によって切断されるので、パスは全く検出されないことになる。
(3)検出されたパスのパスレポート番号を示す情報と、検出されたパスの始点となるレジスタを示す情報と、検索されたパスの終点となるレジスタを示す情報と、検出されたパスを示す情報と、を含むパスレポートをパスレポート記憶部240に格納する機能。
再収斂パス検出部122は、パスレポート記憶部240に格納されているパスレポートを読み込む。そして、再収斂パス検出部122は、読み込んだパスレポートに基づいて、被疑パスレポートを生成し、生成した被疑パスレポートを被疑バスレポート記憶部25に格納する。再収斂パス検出部122は、CPU11などから構成される。
被疑パスレポートは、例えば、図3(C)に示すように、例外信号の始点レジスタと例外信号の終点レジスタとが共通する複数のパスのそれぞれを示す複数のパスレポート番号を示す情報と、当該複数のパスの始点レジスタを示す情報と、当該複数のパスの終点レジスタを示す情報と、が対応付けられた情報である。図3(C)には、例外信号の始点レジスタSTRB_reg3と例外信号の終点レジスタEND_reg3との間にのみ複数のパスが検出された場合の被疑パスレポートの例を示す。
この被疑パスレポートによって示される例外信号の終点レジスタが、スタティックハザードが発生する可能性がある箇所となる。スタティックハザードの根本原因はグリッチであり、グリッチは再収斂するパスでのみ発生する可能性がある。このため、被疑パスレポートによって示される例外信号の終点レジスタがスタティックハザードの発生する可能性がある部位となる。被疑パスレポートが出力された場合には、スタティックハザードが発生する可能性があるので、設計者は詳細解析することになる。しかしながら、被疑パスレポートにより、解析対象部分が絞られるので、その作業は容易なものとなる。
表示制御部130は、被疑パスレポート記憶部250の内容を表示装置300に表示する。表示制御部130は、CPU11などから構成される。
論理回路情報記憶部210には、チェック対象の論理回路を表す論理回路情報(ネットリスト)が格納されている。この論理回路情報は、例えば、RTLが論理合成ツール(図示せず)により論理合成されることにより生成されたものである。
遅延制約情報記憶部220には、論理回路情報を生成する際に論理合成ツールに与えた遅延制約に関するコマンドなどが格納されている。
チェック対象情報記憶部230には、チェック対象情報が格納されている。
パスレポート記憶部240には、パスレポートが格納されている。
被疑パスレポート記憶部240には、スタティックハザードが起こり得る可能性があるパスを示す情報が被疑パスレポートとして格納されている。
なお、スタティックハザード検出装置100は、コンピュータによって実現可能であり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータをスタティックハザード検出装置100として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、チェック対象抽出部110、スタティックハザード検出部120及び表示制御部130を実現する。
次に、本実施形態に係るスタティックハザード検出装置100の動作について詳細に説明する。まず、図4に示すフローチャートを参照して、チェック対象抽出部110が実行するチェック対象抽出処理を説明する。まず、論理回路情報記憶部210に格納されている論理回路情報が、図5に示す論理回路を表す場合について説明する。ここで、図5に示す論理回路を簡単に説明する。
図5に示す論理回路は、レジスタ51と、レジスタ52と、レジスタ53と、レジスタ54と、ANDゲート55と、ORゲート56と、から構成される。
レジスタ51は、制御信号の信号レベルを示す情報が格納されるレジスタ、すなわち、制御信号の始点レジスタである。レジスタ51は、図5において、STRB_regと表記されている。
レジスタ52は、例外信号の信号レベルを示す情報が格納されるレジスタ、すなわち、例外信号の始点レジスタである。レジスタ52は、図5において、MULT_regと表記されている。
レジスタ53は、制御信号の信号レベルが、例外信号の伝搬を禁止する信号レベルである場合に、レジスタ54に供給される信号レベルを示す情報が格納されるレジスタである。レジスタ53は、図5において、T1_regと表記されている。
レジスタ54は、例外信号の伝搬が禁止されていないときに、例外信号の信号レベルを示す情報が格納されるレジスタ、すなわち、例外信号の終点レジスタである。レジスタ54は、図5において、END_regと表記されている。
ANDゲート55は、レジスタ51から供給される制御信号の信号レベルとレジスタ52から供給される例外信号の信号レベルとの論理積をとる論理回路である。ANDゲート55は、図5において、U1と表記されている。
ORゲート56は、ANDゲート55から供給される信号の信号レベルとレジスタ53から供給される信号の信号レベルとの論理和をとる論理回路である。ORゲート56は、図5において、U2と表記されている。
図4に示すフローチャートの説明に戻る。先ず、チェック対象抽出部110は、論理回路情報記憶部210から論理回路情報を読み込むと共に、遅延制約情報記憶部220から遅延制約情報を読み込む(ステップS101)。このとき読み込まれる遅延制約情報の一例を図6に示す。図6に示された遅延制約情報は、レジスタMULT_regから次段のレジスタまでのパスは全て2クロック信号周期の遅延で合成せよということを意味している。
次いで、チェック対象抽出部110は、例外信号の始点レジスタと制御信号の始点レジスタとを全て抽出する(ステップS102)。具体的には、チェック対象抽出部110は、論理回路情報と予め定められている命名規則(STRB_*(‘*’は任意の英数字)は制御信号の始点レジスタという決め事)とを照らし合わせて、論理回路中に存在する制御信号の始点レジスタを全て抽出する。すなわち、チェック対象抽出部110は、“STRB_*”と名付けられているレジスタを論理回路情報から全て抽出する。図5に示す例では、レジスタ51(STRB_reg)が制御信号の始点レジスタとして抽出される。
また、チェック対象抽出部110は、遅延制約情報に基づいて、論理回路中に存在する例外信号の始点レジスタを全て抽出する。すなわち、チェック対象抽出部110は、遅延制約情報に遅延制約が定義されている始点レジスタを論理回路情報から全て抽出する。図6に示す例では、“set_multicycle_path 2 − from MULT_reg”とあることから、MULT_regが例外信号の始点レジスタである。このため、MULT_reg(図5におけるレジスタ52)が例外信号の始点レジスタとして抽出される。なお、設計者は、設計段階において、制御信号の始点レジスタを上述した命名規則に従って定義し、例外信号の始点レジスタを用いて当該例外信号の遅延制約を定義しておく。
その後、チェック対象抽出部110は、例外信号の始点レジスタを全て選択済みであるか否かを判別する(ステップS103)。チェック対象抽出部110は、例外信号の始点レジスタを全て選択済みであると判別した場合(ステップS103:YES)、チェック対象抽出処理を終了する。
一方、チェック対象抽出部110は、例外信号の始点レジスタのいずれかが選択済みでないと判別した場合(ステップS103:NO)、例外信号の始点レジスタを1つ選択する(ステップS104)。そして、チェック対象抽出部110は、選択した例外信号の始点レジスタについて、次段のレジスタまでファンアウトトレースする(ステップS105)。
そして、チェック対象抽出部110は、制御信号の始点レジスタを全て選択済みであるか否かを判別する(ステップS106)。チェック対象抽出部110は、制御信号の始点レジスタを全て選択済みであると判別した場合(ステップS106:YES)、ステップS103に処理を戻す。
一方、チェック対象抽出部110は、制御信号の始点レジスタのいずれかが選択済みでないと判別した場合(ステップS106:NO)、制御信号の始点レジスタを1つ選択する(ステップS107)。そして、チェック対象抽出部110は、選択した制御信号の始点レジスタについて、次段のレジスタまでファンアウトトレースする(ステップS108)。
その後、チェック対象抽出部110は、ステップS105でファンアウトトレースすることにより求めた次段のレジスタと、ステップS108でファンアウトトレースすることにより求めた次段のレジスタが一致するか否かを判別する(ステップS109)。即ち、チェック対象抽出部110は、選択した例外信号(ステップS104で選択した例外信号の始点レジスタを始点とする例外信号)と選択した制御信号(ステップS107で選択した制御信号の始点レジスタを始点とする制御信号)とが同じレジスタに入るか否かを判別する。そして、チェック対象抽出部110は、次段のレジスタが一致しないと判別した場合(ステップS109:NO)、ステップS106に処理を戻す。これに対して、次段のレジスタが一致すると判別した場合(ステップS109:YES)は、チェック対象情報をチェック対象情報記憶部230に格納する(ステップS110)。
すなわち、次段のレジスタが一致する場合、当該次段のレジスタが例外信号の終点レジスタである。このため、チェック対象抽出部110は、ステップS104で選択された例外信号の始点レジスタを示す情報と、当該例外信号の終点レジスタを示す情報と、ステップS107で選択された制御信号の始点レジスタを示す情報とを含んだチェック対象情報をチェック対象情報記憶部230に格納する。そして、チェック対象抽出部110は、チェック対象情報をチェック対象情報記憶部230に格納後、ステップS103に処理を戻す。
チェック対象抽出部110は、例外信号の始点レジスタを全て選択済みであると判別する(ステップS103:YES)まで、上述した処理(ステップS103〜ステップS110)を繰り返し実行する。
ステップS104において例外信号の始点レジスタとしてレジスタ52(MULT_reg)が選択され、ステップS107において制御信号の始点レジスタとしてレジスタ51(STRB_reg)が選択されたとき、次段のレジスタ(レジスタ54(END_reg))が一致する(ステップS109:YES)。このため、チェック対象抽出部110は、図7に示すように、例外信号の始点レジスタがMULT_regであることを示す情報と、当該例外信号の終点レジスタがEND_regであることを示す情報と、当該例外信号を制御する制御信号の始点レジスタがSTRB_regであることを示す情報とを含んだチェック対象情報をチェック対象情報記憶部230に格納することになる。
チェック対象抽出部110がチェック対象抽出処理を終了すると、パス検出部121が図8のフローチャートに示すパス検出処理を行う。
まず、パス検出部121は、チェック対象情報記憶部230に格納されているチェック対象情報が全て選択済みであるか否かを判別する(ステップS201)。パス検出部121は、チェック対象情報が全て選択済みであると判別する(ステップS201:YES)と、パス検出処理を終了する。これに対し、パス検出部121は、チェック対象情報のいずれかが選択済みではないと判別する(ステップS201:NO)と、チェック対象情報を1つ選択する(ステップS202)。
次いで、パス検出部121は、選択したチェック対象情報によって示される制御信号の信号レベルを‘0’に固定して、当該チェック対象情報によって示される例外信号の始点レジスタから当該チェック対象情報によって示される例外信号の終点レジスタまでのパスを探索する(ステップS203)。そして、パス検出部121は、パスを検出できなかった場合(ステップS203:NO)は、ステップS201に処理を戻す。これに対して、パス検出部121は、パスが検出できた場合(ステップS204:YES)は、検出されたパスを示すパスレポートをパスレポート記憶部240に格納する(ステップS205)。なお、パスレポートは、パスレポート番号を示す情報と、例外信号の始点レジスタを示す情報と、例外信号の終点レジスタを示す情報と、パス上に存在する論理素子を示す情報と、を含む。そして、パス検出部121は、パスレポートをパスレポート記憶部240に格納後、ステップS201に処理を戻す。
パス検出部121は、チェック対象情報を全て選択済みであると判別する(ステップS201:YES)まで、上述した処理(ステップS201〜ステップS205)を繰り返し実行する。
論理回路情報記憶部210に記憶されている論理回路情報に示される回路が図5に示す回路の場合、チェック対象情報記憶部230には、図7に示すチェック対象情報が格納される。従って、パス検出手段13は、制御信号の始点レジスタSTRB_reg(レジスタ51)から出力される制御信号の信号レベルを‘0’に固定して例外信号の始点レジスタMULT_reg(レジスタ52)から例外信号の終点レジスタEND_reg(レジスタ54)までのパスを探索しようとする。しかしながら、制御信号が‘0’となっているため、U1(ANDゲート55)の部分でタイミングアークが切断される(ANDゲートの一方の入力が‘0’の場合、出力は必ず‘0’となるため)。従って、この例では、パスレポート記憶部240には、全くパスレポートは格納されない。
パス検出部121がパス検出処理を終了すると、再収斂パス検出部122が図9のフローチャートに示す再収斂パス抽出処理を行う。
再収斂パス検出部122は、パスレポート記憶部240に格納されているパスレポートが全て選択済みであるか否かを判別する(ステップS301)。再収斂パス検出部122は、パスレポートが全て選択済みであると判別する(ステップS301:YES)と、再収斂パス抽出処理を終了する。これに対し、再収斂パス検出部122は、パスレポートのいずれかが選択済みではないと判別する(ステップS301:NO)と、パスレポートを1つ選択する(ステップS302)。
次いで、再収斂パス検出部122は、選択したパスレポートに含まれている例外信号の始点レジスタを示す情報と、選択したパスレポートに含まれている例外信号の終点レジスタを示す情報とをキーにして被疑パスレポート記憶部250を検索することにより、当該例外信号の始点レジスタを示す情報と、当該例外信号の終点レジスタを示す情報とを含んだ被疑パスレポートが被疑パスレポート記憶部250に格納されているか否かを判別する(ステップS303)。
そして、再収斂パス検出部122は、該当する被疑パスレポートが格納済みであると判別した場合(ステップS303:YES)、ステップS301に処理を戻す。これに対し、再収斂パス検出部122は、該当する被疑パスレポートが格納済みではないと判別した場合(ステップS303:NO)、選択したパスレポートに含まれている例外信号の始点レジスタを示す情報と、選択したパスレポートに含まれている例外信号の終点レジスタを示す情報とをキーにしてパスレポート記憶部240を検索することにより、例外信号の始点レジスタと、例外信号の終点レジスタとが一致するパスレポートを検索する(ステップS304)。
そして、再収斂パス検出部122は、例外信号の始点レジスタと例外信号の終点レジスタとがステップS302において選択したパスレポートと一致するパスレポートを検出できなかった場合(ステップS305:NO)は、ステップS301に処理を戻す。これに対して、再収斂パス検出部122は、例外信号の始点レジスタと例外信号の終点レジスタとがステップS302において選択したパスレポートと一致するパスレポートを検出できた場合(ステップS305:YES)は、被疑パスレポートを被疑パスレポート記憶部250に格納する(ステップS306)。なお、被疑バスレポートは、例えば、ステップS302で選択されたパスレポートに含まれているパスレポート番号とステップS304で検出されたパスレポートに含まれているパスレポート番号とを示す情報と、これらのパスレポートに含まれている例外信号の始点レジスタを示す情報と、これらのパスレポートに含まれている例外信号の終点レジスタを示す情報と、から構成される。そして、再収斂パス検出部122は、被疑パスレポートを被疑パスレポート記憶部250に格納後、ステップS301に処理を戻す。
再収斂パス検出部122は、被疑パスレポートを全て選択済みであると判別する(ステップS301:YES)まで、上述した処理(ステップS301〜ステップS306)を繰り返し実行する。
この例では、パスレポート記憶部240には、パスレポートが全く格納されていないので、再収斂パス検出部122が被疑パスレポート記憶部250に被疑パスレポートを格納することはない。
再収斂パス検出部122の処理が終了すると、表示制御部130が、被疑パスレポート記憶部250に格納されている被疑パスレポートを表示装置300に表示する。なお、被疑パスレポート記憶部250に被疑パスレポートが全く格納されていない場合は、表示制御部130は、スタティックハザードが発生するおそれがないことを示すメッセージを表示装置300に表示する。
次に、論理回路情報記憶部210に格納されている論理回路情報によって表される論理回路(チェック対象の論理回路)が図10に示すものであった場合を例に挙げて動作を説明する。ここで、図10に示す論理回路を簡単に説明する。
図10に示す論理回路は、レジスタ51と、レジスタ52と、レジスタ53と、レジスタ54と、ORゲート57と、ORゲート58と、ANDゲート59と、から構成される。なお、図5に示す論理回路と同一の構成要素(同一の符号が付されている構成要素)については、説明を省略する。
ORゲート57は、レジスタ51から供給される制御信号の信号レベルとレジスタ53から供給される信号の信号レベルとの論理和をとる論理回路である。ORゲート57は、図10において、U1と表記されている。
ORゲート58は、レジスタ53から供給される信号の信号レベルとレジスタ52から供給される例外信号の信号レベルとの論理和をとる論理回路である。ORゲート58は、図10において、U2と表記されている。
ANDゲート59は、ORゲート57から供給される信号の信号レベルとORゲート58から供給される信号の信号レベルとの論理積をとる論理回路である。ANDゲート59は、図10において、U3と表記されている。
先ず、チェック対象抽出部110が図4のフローチャートに示すチェック対象抽出処理を行う。この例の場合、ステップS104においてレジスタ52(MULT_reg)が選択され、ステップS107においてレジスタ51(STRB_reg)が選択されたとき、次段のレジスタが共にレジスタ54(END_reg)となる(ステップS109:YES)。従って、チェック対象抽出部110は、図7に示すチェック対象情報をチェック対象情報記憶部230に格納する(ステップS110)。即ち、チェック対象抽出部110は、例外信号の始点レジスタMULT_regを示す情報と、例外信号の終点レジスタEND_regを示す情報と、当該例外信号を制御する制御信号の始点レジスタSTRB_regを示す情報とから構成されるチェック対象情報をチェック対象情報記憶部230に格納することになる。
チェック対象抽出部110がチェック対象抽出処理を終了すると、パス検出部121が図8のフローチャートに示すパス検出処理を行う。
この例の場合、ステップS203において、始点レジスタSTRB_regから出力される制御信号が‘0’に固定されても、U1がORゲートであるため、それ以上の固定伝搬は起こらない。これは、ORゲートは、一方の入力信号が‘0’であっても、出力値は他方の信号値に依存するからである。制御信号が‘0’に固定された状態で例外信号の始点レジスタMULT_regから例外信号の終点レジスタEND_regまでのパスが探索されると、例外信号の始点レジスタMULT_reg→ORゲートU2→ANDゲートU3→例外信号の終点レジスタEND_regというパスが検出される。従って、この例の場合、パス検出部121は、図11に示すように、パスレポート番号Path#1を示す情報と、例外信号の始点レジスタMULT_regを示す情報と、例外信号の終点レジスタEND_regを示す情報と、検出されたパスを示す情報「MULT_reg、U2、U3、END_reg」を示す情報とを含んだパスレポートをパスレポート記憶部240に格納することになる。
パス検出部121がパス検出処理を終了すると、再収斂パス検出部122が図9のフローチャートに示す再収斂パス抽出処理を行う。
この例の場合、パスレポート記憶部240には、図11に示すパスレポートが1個だけしか格納されていないので、再収斂パス検出部122が被疑パスレポートを被疑パスレポート記憶部250に格納することはない。
再収斂パス検出部122が再収斂パス抽出処理を終了すると、表示制御部130が、被疑パスレポート記憶部250に格納されている被疑パスレポートを表示装置300に表示する。この例の場合、被疑パスレポート記憶部250には、被疑パスレポートが全く格納されていないので、表示制御部130はスタティックハザードが発生しない旨のメッセージを表示装置300に表示する。実際、図10に示した論理回路では、レジスタ53(T1_reg)から出力される1クロック信号周期信号の信号レベルが‘1’であっても‘0’であっても、レジスタ51(STRB_reg)から出力される制御信号の信号レベルが‘0’であれば、レジスタ52(MULT_reg)から出力される例外信号はレジスタ54(END_reg)には伝搬しない。
次に、論理回路情報記憶部210に格納されている論理回路情報によって表される論理回路(チェック対象にする論理回路)が図12に示すものであった場合を例に挙げて動作を説明する。ここで、図12に示す論理回路を簡単に説明する。
図10に示す論理回路は、レジスタ51と、レジスタ52と、レジスタ53と、レジスタ54と、ORゲート60と、インバータ61と、ANDゲート62と、ANDゲート63と、ORゲート64と、から構成される。なお、図5に示す論理回路と同一の構成要素(同一の符号が付されている構成要素)については、説明を省略する。
ORゲート60は、レジスタ51から供給される制御信号の信号レベルとレジスタ53から供給される信号の信号レベルとの論理和をとる論理回路である。ORゲート60は、図12において、U1と表記されている。
インバータ61は、レジスタ52から供給される例外信号の信号レベルを反転して出力する論理回路である。インバータ61は、図12において、U4と表記されている。
ANDゲート62は、レジスタ52から供給される例外信号の信号レベルとORゲート60から供給される信号の信号レベルとの論理積をとる論理回路である。ANDゲート62は、図12において、U2と表記されている。
ANDゲート63は、インバータ61から供給される信号の信号レベルとレジスタ53から供給される信号の信号レベルとの論理積をとる論理回路である。ANDゲート63は、図12において、U3と表記されている。
ORゲート64は、ANDゲート62から供給される信号の信号レベルとANDゲート63から供給される信号の信号レベルとの論理和をとる論理回路である。ORゲート64は、図12において、U5と表記されている。
ここで、例外信号と制御信号との関係におけるスタティックハザードの発生原理を図5及び図12を参照して詳しく説明する。
設計者は、図5に示すように、例外信号からデータを取り込んで良いかどうかを制御する制御信号を設け、制御信号が‘0’の時は例外信号からのデータを取り込まず、逆に制御信号が‘1’の時に例外信号からのデータを取り込む回路が生成されることを意図してRTL記述を行う。図5に示す回路では、制御信号が‘0’の時は、例外信号の変化がレジスタEND_regに伝播しないように設計されている。
しかし、このような意図で書いたRTLであっても、論理合成ツールがRTLからゲートレベルに変換する際の最適化処理によって図12のような回路が生成されてしまう可能性がある。この回路は論理的には図5と等価であるが、グリッチが発生する可能性がある。即ち、1クロック信号周期信号が‘1’の場合、例外信号は、例外信号の始点レジスタMULT_reg→ANDゲートU2→ORゲートU5→例外信号の終点レジスタEND_regのパスと、例外信号の始点レジスタMULT_reg→インバータU4→ANDゲートU3→ORゲートU5→例外信号の終点レジスタEND_regのパスの2つのパスで伝搬するため、グリッチが発生する可能性がある。グリッチが発生している時に、レジスタEND_regのクロック信号が立ち上がると、論理誤動作(スタティックハザード)が発生する。
スタティックハザード検出装置100の動作の説明に戻る。先ず、チェック対象抽出部110が、図4のフローチャートに示すチェック対象抽出処理を行う。この例の場合、ステップS104において例外信号の始点レジスタMULT_regが選択され、ステップS107において制御信号の始点レジスタSTRB_regが選択されたとき、次段のレジスタが一致する(ステップS109:YES)。従って、チェック対象抽出部110は、図7に示すチェック対象情報をチェック対象情報記憶部230に格納する(ステップS110)。即ち、チェック対象抽出部110は、例外信号の始点レジスタMULT_regを示す情報と、例外信号の終点レジスタEND_regを示す情報と、当該例外信号を制御する制御信号の始点レジスタSTRB_regを示す情報とから構成されるチェック対象情報をチェック対象情報記憶部230に格納することになる。
チェック対象抽出部110がチェック対象抽出処理を終了すると、パス検出部121が図8のフローチャートに示すパス検出処理を行う。
この例の場合、ステップS203において、始点レジスタSTRB_regから出力される制御信号が‘0’に固定されても、制御信号はORゲートU1に入力されているので、前述の理由からそれ以上の固定伝搬は起こらない。従って、制御信号を‘0’に固定して、例外信号の始点レジスタMULT_regから例外信号の終点レジスタEND_regまでのパスが探索されると、例外信号の始点レジスタMULT_reg→ANDゲートU2→ORゲートU5→例外信号の終点レジスタEND_regというパスと、例外信号の始点レジスタMULT_reg→インバータU4→ANDゲートU3→ORゲートU5→例外信号の終点レジスタEND_regというパスの2つのパスが検出される。
この結果、パス検出部121は、検出された2つのパスそれぞれについてのパスレポートをパスレポート記憶部240に格納する(ステップS205)。具体的には、図13に示すように、パス「例外信号の始点レジスタMULT_reg→ANDゲートU2→ORゲートU5→例外信号の終点レジスタEND_reg」についてのパスレポートとして、パスレポート番号Path#1と、例外信号の始点レジスタMULT_regを示す情報と、例外信号の終点レジスタEND_regを示す情報と、上記パスを示す情報「MULT_reg,U2,U5,END_reg」とから構成されるパスレポートを格納し、さらに、パス「例外信号の始点レジスタMULT_reg→インバータU4→ANDゲートU3→ORゲートU5→例外信号の終点レジスタEND_reg」についてのパスレポートとして、パスレポート番号Path#2と、例外信号の始点レジスタMULT_regを示す情報と、終点レジスタEND_regを示す情報と、上記パスを示す情報「MULT_reg,U4,U3,U5,END_reg」とから構成されるパスレポートを格納する。
パス検出部121がパス検出処理を終了すると、再収斂パス検出部122が図9のフローチャートに示す再収斂パス抽出処理を行う。
この例の場合、パスレポート記憶部240には、図13に示すように、パスレポート番号Path#1のパスレポートと、パスレポート番号Path#2のパスレポートとの2つが格納されているので、次のような処理が行われる。
先ず、再収斂パス検出部122は、パスレポート番号Path#1のパスレポートを選択する(ステップS302)。その後、再収斂パス検出部122は、上記パスレポートに含まれている、例外信号の始点レジスタMULT_regを示す情報と、例外信号の終点レジスタEND_regを示す情報とをキーにしてパスレポート記憶部240を検索する(ステップS304)。この例の場合、パスレポート番号Path#2のパスレポートは、例外信号の始点レジスタと例外信号の終点レジスタとが、パスレポート番号Path#1のパスレポートと一致する(ステップS305:YES)。このため、再収斂パス検出部122は、被疑パスレポート記憶部250に被疑パスレポートを格納することになる(ステップS306)。具体的には、再収斂パス検出部122は、図14に示すように、例外信号の始点レジスタMULT_regを示す情報と、例外信号の終点レジスタEND_regを示す情報と、検出されたパスレポートのパスレポート番号Path#1,Path#2を示す情報とを含んだ被疑パスレポートを被疑パスレポート記憶部250に格納する。
再収斂パス検出部122が再収斂パス抽出処理を終了すると、表示制御部130は、被疑パスレポート記憶部250に格納されている被疑パスレポートを表示装置300に表示する。この表示を見ることにより、設計者は、例外信号の終点レジスタEND_regにスタティックハザードが発生する可能性が高いということを知ることができる。なお、被疑パスレポートの形式は図14に示した形式に限られるものではない。例えば、被疑パスレポートの形式は、例外信号の終点レジスタだけを含むものであっても良いし、図14に示した情報に加え、パスを示す情報などを含んでいても良い。パスを示す情報を被疑パスレポートに含ませるようにすることにより、設計者は、どのパスが原因でスタティックハザードが発生する可能性があるのかを容易に認識することが可能になる。
なお、上述した実施の形態では説明しなかったが、パス検出部121として静的遅延解析器(STA;Static Timing Analyzer)を利用することもできる。但し、パス検出部121として静的遅延解析器を利用する場合には、チェック対象抽出部110がチェック対象情報をチェック対象情報記憶部230に格納する際、チェック対象情報を、図15に示すような静的遅延解析器専用のコマンドに変換することが必要になる。ここで、set_case_analysisはレジスタを定数固定するコマンドである。また、report_timingは指定レジスタ間のパスをレポートするコマンドである。意味としてはSTRB_regを‘0’に固定して、MULT_regからEND_regまでのパスを出力せよ、という意味になる。また、静的遅延解析器の動作は、図8のフローチャートに示したパス検出部121の動作とほぼ同じになる。但し、チェック対象情報の代わりに、静的遅延解析器専用のコマンドを入力する点が相違している。
本実施形態に係るスタティックハザード検出装置100によれば、例外信号の伝搬を制御する制御信号が導入されている論理回路においても、スタティックハザードが発生する可能性があるか否かを自動的にチェックすることが可能になるという効果を得ることができる。
その理由は、スタティックハザード検出装置100は、論理回路中に存在する例外信号の終点レジスタであって、上記例外信号の始点レジスタとの間に、制御信号の状態が上記例外信号の伝搬を禁止する状態になっているときに上記例外信号を伝搬する可能性のあるパスを複数有する終点レジスタを検出するスタティックハザード検出部120を備えているからである。
また、本実施形態によれば、スタティックハザードが発生する可能性が高い部位を設計者が容易に認識することができるという効果も得ることができる。
その理由は、スタティックハザード検出部120によって検出された例外信号の終点レジスタを示す情報を表示装置300に表示する表示制御部130を備えているからである。
(第2の実施形態)
第1の実施形態では、設計者によりあらかじめ明示的に示された情報(所定の命名規則に従って設計者により命名された制御信号の始点レジスタのシンボル名)に基づいて、論理回路中に存在する制御信号の始点レジスタが抽出される例を示した。しかしながら、設計者によりあらかじめ明示的に示された情報を用いられずに、論理回路中に存在する制御信号の始点レジスタが抽出されるように構成しても良い。以下、図面を参照して、第2の実施形態に係るスタティックハザード検出装置100の動作について説明する。なお、第2の実施形態に係るスタティックハザード検出装置100の動作は、チェック対象抽出処理以外の動作は第1の実施形態に係るスタティックハザード検出装置100の動作と同様である。従って、以下の説明では、第2の実施形態に係るスタティックハザード検出装置100が実行するチェック対象抽出処理について説明する。
ここでは、論理回路情報記憶部210に格納されている論理回路情報が、図16に示す論理回路を表す場合について説明する。ここで、図16に示す論理回路を簡単に説明する。
図16に示す論理回路は、レジスタ71と、レジスタ72と、レジスタ73と、論理回路81と、を備える。
レジスタ71は、例外信号の信号レベルを示す情報が格納されるレジスタ、すなわち、例外信号の始点レジスタである。レジスタ71は、図16において、UNK1_regと表記されている。
レジスタ72は、制御信号の信号レベルを示す情報が格納されるレジスタ、すなわち、制御信号の始点レジスタである。レジスタ72は、図16において、A_regと表記されている。
レジスタ73は、例外信号の伝搬が禁止されていないときに、例外信号の信号レベルを示す情報が格納されるレジスタ、すなわち、例外信号の終点レジスタである。レジスタ73は、図16において、END0_regと表記されている。
論理回路81は、ANDゲート、ORゲート、インバータなどから構成される回路である。例外信号は、論理回路81を介して、レジスタ71からレジスタ73に伝搬する。
次に、図17に示すフローチャートを参照して、チェック対象抽出部110が実行するチェック対象抽出処理を説明する。
先ず、チェック対象抽出部110は、論理回路情報記憶部210から論理回路情報を読み込むと共に、遅延制約情報記憶部220から遅延制約情報を読み込む(ステップS401)。このとき読み込まれる遅延制約情報の一例を図19に示す。図19に示された遅延制約情報は、前段のレジスタからレジスタEND0_regまでのパスは全て2クロック信号周期の遅延で合成せよということを意味している。
次いで、チェック対象抽出部110は、例外信号の終点レジスタを全て抽出する(ステップS402)。具体的には、チェック対象抽出部110は、遅延制約情報に基づいて、論理回路中に存在する例外信号の終点レジスタを全て抽出する。すなわち、チェック対象抽出部110は、遅延制約情報に遅延制約が定義されている終点レジスタを論理回路情報から全て抽出する。図19に示す例では、“set_multicycle_path 2 − to END0_reg”とあることから、END0_regが例外信号の終点レジスタである。このため、END0_reg(図16におけるレジスタ73)が例外信号の終点レジスタとして抽出される。なお、設計者は、設計段階において、例外信号の終点レジスタを用いて当該例外信号の遅延制約を定義しておく。
その後、チェック対象抽出部110は、例外信号の終点レジスタを全て選択済みであるか否かを判別する(ステップS403)。チェック対象抽出部110は、例外信号の終点レジスタを全て選択済みであると判別した場合(ステップS403:YES)、チェック対象抽出処理を終了する。
一方、チェック対象抽出部110は、例外信号の終点レジスタのいずれかが選択済みでないと判別した場合(ステップS403:NO)、例外信号の終点レジスタを1つ選択する(ステップS404)。そして、チェック対象抽出部110は、選択した例外信号の終点レジスタについて、前段のレジスタを全て取得する(ステップS405)。具体的には、チェック対象抽出部110は、論理回路に含まれる全てのレジスタについてファンアウトトレースするなどして、ステップS404で選択した例外信号の終点レジスタの前段のレジスタ(ファンインとなるレジスタ)を全て取得する。
そして、チェック対象抽出部110は、前段のレジスタを判別する処理を実行する(ステップS406)。前段レジスタ判別処理については、図18に示すフローチャートを参照して説明する。
まず、チェック対象抽出部110は、前段のレジスタを全て選択済みであるか否かを判別する(ステップS501)。チェック対象抽出部110は、前段のレジスタを全て選択済みであると判別した場合(ステップS501:YES)、前段レジスタ判別処理を終了する。
一方、チェック対象抽出部110は、前段のレジスタのいずれかが選択済みでないと判別した場合(ステップS501:NO)、前段のレジスタを1つ選択する(ステップS502)。そして、チェック対象抽出部110は、選択した前段のレジスタに遅延制約情報が付加されているか否かを判別する(ステップS503)。
チェック対象抽出部110は、選択した前段のレジスタに遅延制約情報が付加されていると判別した場合(ステップS503:YES)、前段のレジスタを例外信号の始点レジスタに設定する(ステップS504)。これに対し、チェック対象抽出部110は、選択した前段のレジスタに遅延制約情報が付加されていないと判別した場合(ステップS503:NO)、前段のレジスタを制御信号の始点レジスタに設定する(ステップS505)。チェック対象抽出部110は、ステップS504又はステップS505の処理を終了すると、ステップS501に処理を戻す。
チェック対象抽出部110は、前段のレジスタを全て選択済みであると判別する(ステップS501:YES)まで、上述した処理(ステップS501〜ステップS505)を繰り返し実行する。
チェック対象抽出部110は、前段レジスタ判別処理(ステップS406)を終了すると、例外信号の始点レジスタと制御信号の始点レジスタとが共に設定されたか否かを判別する(ステップS407)。即ち、チェック対象抽出部110は、ステップS504において前段のレジスタが例外信号の始点レジスタに設定され、さらに、ステップS505において前段のレジスタが制御信号の始点レジスタに設定されたか否かを判別する。そして、チェック対象抽出部110は、例外信号の始点レジスタと制御信号の始点レジスタとのうちいずれかが設定されていないと判別した場合(ステップS407:NO)、ステップS403に処理を戻す。これに対して、例外信号の始点レジスタと制御信号の始点レジスタとが共に設定されたと判別した場合(ステップS407:YES)は、チェック対象情報をチェック対象情報記憶部230に格納する(ステップS408)。
具体的には、チェック対象抽出部110は、ステップS504で設定された例外信号の始点レジスタを示す情報と、ステップS404で選択された例外信号の終点レジスタを示す情報と、ステップS505で設定された制御信号の始点レジスタを示す情報とを含んだチェック対象情報をチェック対象情報記憶部230に格納する。そして、チェック対象抽出部110は、チェック対象情報をチェック対象情報記憶部230に格納後、ステップS403に処理を戻す。
チェック対象抽出部110は、例外信号の終点レジスタを全て選択済みであると判別する(ステップS403:YES)まで、上述した処理(ステップS403〜ステップS408)を繰り返し実行する。
ここで、ステップS404において例外信号の終点レジスタとしてレジスタ73(END0_reg)が選択されたとき、ステップS504においてレジスタ71(UNK1_reg)が例外信号の始点レジスタとして設定され、ステップS505においてレジスタ72(A_reg)が制御信号の始点レジスタとして設定される。このため、チェック対象抽出部110は、例外信号の始点レジスタUNK1_regを示す情報と、例外信号の終点レジスタEND0_regを示す情報と、制御信号の始点レジスタA_regを示す情報とを含んだチェック対象情報をチェック対象情報記憶部230に格納することになる。
本実施形態に係るスタティックハザード検出装置100によれば、例外信号の終点レジスタを示す情報に基づいて、例外信号の始点レジスタと制御信号の始点レジスタとを自動で抽出することができる。このため、設計者は、回路の設計時に、制御信号の始点レジスタについて、当該レジスタが制御信号の始点レジスタであることを示す情報を逐一指定する必要がない。従って、設計者の工数を削減することができる。また、設計者が制御信号の始点レジスタであることを指定し忘れた場合でも、チェックすべきレジスタを見逃すことを防止することができる。
(第3の実施形態)
第2の実施形態では、例外信号の終点レジスタの前段のレジスタに遅延制約情報が付加されているか否かによって、当該前段のレジスタが例外信号の始点レジスタであるか制御信号の始点レジスタであるかが判別される例を示した。しかしながら、各レジスタがどのようなクロック信号によって駆動されるかによって、当該前段のレジスタが例外信号の始点レジスタであるか制御信号の始点レジスタであるかが判別されるように構成しても良い。以下、図面を参照して、第3の実施形態に係るスタティックハザード検出装置100の動作について説明する。なお、第3の実施形態に係るスタティックハザード検出装置100の動作は、前段レジスタ判別処理以外の動作は第2の実施形態に係るスタティックハザード検出装置100の動作と同様である。従って、以下の説明では、第3の実施形態に係るスタティックハザード検出装置100が実行する前段レジスタ判別処理について説明する。
ここでは、論理回路情報記憶部210に格納されている論理回路情報が、図20に示す論理回路を表す場合について説明する。ここで、図20に示す論理回路を簡単に説明する。
図20に示す論理回路は、レジスタ74と、レジスタ75と、レジスタ76と、論理回路82と、を備える。
レジスタ74は、例外信号の信号レベルを示す情報が格納されるレジスタ、すなわち、例外信号の始点レジスタである。レジスタ74は、図20において、B_regと表記されている。レジスタ74は、第1のクロック信号CLK1によって駆動されるレジスタである。
レジスタ75は、制御信号の信号レベルを示す情報が格納されるレジスタ、すなわち、制御信号の始点レジスタである。レジスタ75は、図20において、C_regと表記されている。レジスタ75は、第2のクロック信号CLK2によって駆動されるレジスタである。
レジスタ76は、例外信号の伝搬が禁止されていないときに、例外信号の信号レベルを示す情報が格納されるレジスタ、すなわち、例外信号の終点レジスタである。レジスタ76は、図20において、END1_regと表記されている。レジスタ76は、第2のクロック信号CLK2によって駆動されるレジスタである。
論理回路82は、ANDゲート、ORゲート、インバータなどから構成される回路である。例外信号は、論理回路82を介して、レジスタ74からレジスタ76に伝搬する。
次に、図21に示すフローチャートを参照して、チェック対象抽出部110が実行する前段レジスタ判別処理について説明する。
まず、チェック対象抽出部110は、前段のレジスタを全て選択済みであるか否かを判別する(ステップS601)。チェック対象抽出部110は、前段のレジスタを全て選択済みであると判別した場合(ステップS601:YES)、前段レジスタ判別処理を終了する。
一方、チェック対象抽出部110は、前段のレジスタのいずれかが選択済みでないと判別した場合(ステップS601:NO)、前段のレジスタを1つ選択する(ステップS602)。そして、チェック対象抽出部110は、ステップS602で選択した前段のレジスタとステップS404で選択した例外信号の終点レジスタとが異なるクロック信号で駆動されるか否かを判別する(ステップS603)。
各レジスタがどのようなクロック信号で駆動されるかを示す情報は、遅延制約情報に含まれている。従って、チェック対象抽出部110は、遅延制約情報に基づいて、ステップS602で選択した前段のレジスタとステップS404で選択した例外信号の終点レジスタとが異なるクロック信号で駆動されるか否かを判別する。
チェック対象抽出部110は、ステップS602で選択した前段のレジスタとステップS404で選択した例外信号の終点レジスタとが異なるクロック信号で駆動されると判別した場合(ステップS603:YES)、前段のレジスタを例外信号の始点レジスタに設定する(ステップS604)。これに対し、チェック対象抽出部110は、ステップS602で選択した前段のレジスタとステップS404で選択した例外信号の終点レジスタとが同じクロック信号で駆動されると判別した場合(ステップS603:NO)、前段のレジスタを制御信号の始点レジスタに設定する(ステップS605)。チェック対象抽出部110は、ステップS604又はステップS605の処理を終了すると、ステップS501に処理を戻す。
チェック対象抽出部110は、前段のレジスタを全て選択済みであると判別する(ステップS601:YES)まで、上述した処理(ステップS501〜ステップS505)を繰り返し実行する。
ここで、ステップS404において例外信号の終点レジスタとしてレジスタ76(END1_reg)が選択されたとき、ステップS604においてレジスタ74(B_reg)が例外信号の始点レジスタとして設定され、ステップS605においてレジスタ75(C_reg)が制御信号の始点レジスタとして設定される。このため、チェック対象抽出部110は、ステップS408において、例外信号の始点レジスタB_regを示す情報と、例外信号の終点レジスタEND1_regを示す情報と、制御信号の始点レジスタB_regを示す情報とを含んだチェック対象情報をチェック対象情報記憶部230に格納することになる。
本実施形態に係るスタティックハザード検出装置100によれば、例外信号の始点レジスタに遅延制約情報が付加されていない場合であっても、例外信号の始点レジスタと制御信号の始点レジスタとを自動で抽出することができる。
本発明に係るスタティックハザード検出装置が実行するチェック対象抽出処理、パス検出処理、並びに、再収斂パス抽出処理は、図示したフローチャートにより示される処理に限定されない。
例えば、第1の実施形態において、例外信号の始点レジスタの後段のレジスタであって、例外信号の始点レジスタから出力される例外信号と制御信号の始点レジスタから出力される制御信号とがともに供給されるレジスタを例外信号の終点レジスタとして抽出する手法は任意である。
また、例えば、第2の実施形態において、例外信号の終点レジスタの前段のレジスタのうち、遅延制約情報が付加されているレジスタを例外信号の始点レジスタとして抽出する手法は任意である。
また、例えば、第3の実施形態において、例外信号の終点レジスタの前段のレジスタのうち、例外信号の終点レジスタと異なるクロック信号で駆動されるレジスタを例外信号の始点レジスタとして抽出する手法は任意である。
さらに、論理回路中に存在する各種のレジスタを抽出する手法は、上述した第1〜3の実施形態において示した手法に限定されず、また、上述した第1〜3の実施形態において示した手法を組み合わせてもよい。例えば、例外信号の始点レジスタは、遅延制約情報に基づいて抽出してもよいし、命名規則に基づいて抽出してもよいし、動作クロック或いは遅延制約情報に基づいて例外信号の終点レジスタの前段のレジスタを抽出してもよい。また、例えば、例外信号の終点レジスタは、遅延制約情報に基づいて抽出してもよいし、命名規則に基づいて抽出してもよいし、動作クロック或いは遅延制約情報に基づいて例外信号の始点レジスタの後段のレジスタを抽出してもよい。
上記第1〜3の実施形態では、スタティックハザード検出装置が実行するプログラムが、スタティックハザード検出装置等が備える記憶装置に予め記憶されているものとして説明した。しかし、上述の処理を実行させるためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disk Read−Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto Optical Disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等してプログラムを実行してもよい。
本発明は、マルチサイクル信号や非同期信号といったタイミング例外信号が伝搬される論理回路において、グリッチを原因とするスタティックハザードが発生する可能性があるか否かをチェックするといった用途に用いると好適である。
本発明の第1〜3の実施形態にかかるスタティックハザード検出装置100の構成を示すブロック図である。 本発明の第1〜3の実施形態にかかるスタティックハザード検出装置100の機能を説明するためのブロック図である。 (A)は、チェック対象情報を模式的に示す図である。(B)は、パスレポートを模式的に示す図である。(C)は、被疑パスレポートを模式的に示す図である。 第1の実施形態におけるチェック対象抽出処理を示すフローチャートの一例である。 チェック対象にする論理回路の第1の例を示す図である。 遅延制約情報の一例を示す図である。 パスレポートの一例を示す図である。 パス検出処理を示すフローチャートの一例である。 再収斂パス抽出処理を示すフローチャートの一例である。 チェック対象にする論理回路の第2の例を示す図である。 図10に示した論理回路をチェック対象にした際に生成されるパスレポートの一例を示した図である。 チェック対象にする論理回路の第3の例を示す図である。 図12に示した論理回路をチェック対象にした際に生成されるパスレポートの一例を示した図である。 図12に示した論理回路をチェック対象にした際に生成される被疑パスレポートの一例を示した図である。 静的遅延解析器に対するコマンドの一例を示す図である。 第2の実施形態においてチェック対象にする論理回路の例を示す図である。 第2の実施形態におけるチェック対象抽出処理を示すフローチャートの一例である。 第2の実施形態における前段レジスタ判別処理を示すフローチャートの一例である。 遅延制約情報の一例を示す図である。 第3の実施形態においてチェック対象にする論理回路の例を示す図である。 第3の実施形態における前段レジスタ判別処理を示すフローチャートの一例である。
符号の説明
11 CPU
12 ROM
13 RAM
14 ハードディスク装置
15 入力装置
16 表示装置
100 スタティックハザード検出装置
110 チェック対象抽出部
120 スタティックハザード検出部
121 パス検出部
122 再収斂パス検出部
130 表示制御部
200 記憶装置
210 論理回路情報記憶部
220 遅延制約情報記憶部
230 チェック対象情報記憶部
240 パスレポート記憶部
250 被疑パスレポート記憶部
300 表示装置

Claims (20)

  1. 論理回路の動作クロックに同期せずに伝搬する例外信号の伝搬を伝搬制御回路によって制御する論理回路に発生しうるスタティックハザードを検出するスタティックハザード検出装置であって、
    論理回路を表す論理回路情報の入力を受け付け、受け付けた論理回路情報によって表される論理回路中に存在する、伝搬制御回路を介して終点レジスタに供給される例外信号を出力する始点レジスタと該終点レジスタとの組を複数抽出するチェック対象抽出部と、
    前記チェック対象抽出部により抽出された複数の組のうち、伝搬制御回路の状態を制御する制御信号の信号レベルが例外信号の伝搬を禁止する信号レベルになっているときに、例外信号を始点レジスタから終点レジスタに伝達する可能性があるパスが複数存在する組を検出するスタティックハザード検出部と、を備える、
    ことを特徴とするスタティックハザード検出装置。
  2. 前記スタティックハザード検出部は、
    前記チェック対象抽出部により抽出された複数の組のそれぞれについて、伝搬制御回路の状態を制御する制御信号の信号レベルが例外信号の伝搬を禁止する信号レベルになっているときに、例外信号を始点レジスタから終点レジスタに伝達する可能性がある少なくとも1つのパスを検出するパス検出部と、
    前記チェック対象抽出部により抽出された複数の組のうち、前記検出パス検出部によって複数のパスが検出された組を検出する再収斂パス検出部と、を備える、
    ことを特徴とする請求項1記載のスタティックハザード検出装置。
  3. 前記チェック対象抽出部は、
    始点レジスタから出力される例外信号の遅延制約を定義する第1の遅延制約情報に基づいて、論理回路中に存在する始点レジスタを抽出する始点レジスタ抽出部と、
    制御信号を出力する制御信号出力レジスタを特定する情報に基づいて、論理回路中に存在する制御信号出力レジスタを抽出する制御信号出力レジスタ抽出部と、
    前記始点レジスタ抽出部により抽出された始点レジスタの次段のレジスタであって、該始点レジスタから出力される例外信号と前記制御信号出力レジスタ抽出部により抽出された制御信号出力レジスタから出力される制御信号とが共に供給されるレジスタと、該始点レジスタとの組を抽出する組抽出部と、を備える、
    ことを特徴とする請求項1又は2に記載のスタティックハザード検出装置。
  4. 前記チェック対象抽出部は、
    始点レジスタから出力される例外信号の遅延制約を定義する第1の遅延制約情報に基づいて、論理回路中に存在する始点レジスタを抽出する始点レジスタ抽出部と、
    終点レジスタに供給される例外信号の遅延制約を定義する第2の遅延制約情報に基づいて、論理回路中に存在する終点レジスタを抽出する終点レジスタ抽出部と、
    前記始点レジスタ抽出部により抽出された始点レジスタであって、前記終点レジスタ抽出部により抽出された終点レジスタの前段のレジスタと、該終点レジスタとの組を抽出する組抽出部と、を備える、
    ことを特徴とする請求項1又は2に記載のスタティックハザード検出装置。
  5. 前記チェック対象抽出部は、
    終点レジスタに供給される例外信号の遅延制約を定義する第2の遅延制約情報に基づいて、論理回路中に存在する終点レジスタを抽出する終点レジスタ抽出部と、
    前記終点レジスタ抽出部により抽出された終点レジスタの前段のレジスタであって、該終点レジスタと異なるクロック信号で駆動されるレジスタと、該終点レジスタとの組を抽出する組抽出部と、を備える、
    ことを特徴とする請求項1又は2に記載のスタティックハザード検出装置。
  6. 表示装置と、
    前記スタティックハザード検出部によって検出された組を示す情報を前記表示装置に表示する表示制御部と、をさらに備える、
    ことを特徴とする請求項1乃至5のいずれか1項に記載のスタティックハザード検出装置。
  7. 前記表示制御部は、前記スタティックハザード検出部によって、組が検出されなかった場合、前記表示装置にスタティックハザードが発生する可能性がない旨のメッセージを表示する、
    ことを特徴とする請求項6記載のスタティックハザード検出装置。
  8. 論理回路の動作クロックに同期せずに伝搬する例外信号の伝搬を伝搬制御回路によって制御する論理回路に発生しうるスタティックハザードを検出するスタティックハザード検出装置が実行するスタティックハザード検出方法であって、
    前記スタティックハザード検出装置は、チェック対象抽出部と、スタティックハザード検出部と、を備え、
    前記チェック対象抽出部が、論理回路を表す論理回路情報の入力を受け付け、受け付けた論理回路情報によって表される論理回路中に存在する、伝搬制御回路を介して終点レジスタに供給される例外信号を出力する始点レジスタと該終点レジスタとの組を複数抽出するチェック対象抽出ステップ、
    前記スタティックハザード検出部が、前記チェック対象抽出部により抽出された複数の組のうち、伝搬制御回路の状態を制御する制御信号の信号レベルが例外信号の伝搬を禁止する信号レベルになっているときに、例外信号を始点レジスタから終点レジスタに伝達する可能性があるパスが複数存在する組を検出するスタティックハザード検出ステップ、を備える、
    ことを特徴とするスタティックハザード検出方法。
  9. 前記スタティックハザード検出部は、パス検出部と、再収斂パス検出部と、を備え、
    前記パス検出部が、前記チェック対象抽出部により抽出された複数の組のそれぞれについて、伝搬制御回路の状態を制御する制御信号の信号レベルが例外信号の伝搬を禁止する信号レベルになっているときに、例外信号を始点レジスタから終点レジスタに伝達する可能性がある少なくとも1つのパスを検出するパス検出ステップ、
    前記再収斂パス検出部が、前記チェック対象抽出部により抽出された複数の組のうち、前記検出パス検出部によって複数のパスが検出された組を検出する再収斂パス検出ステップ、をさらに備える、
    ことを特徴とする請求項8記載のスタティックハザード検出方法。
  10. 前記チェック対象抽出部は、始点レジスタ抽出部と、制御信号出力レジスタ抽出部と、組抽出部と、を備え、
    前記始点レジスタ抽出部が、始点レジスタから出力される例外信号の遅延制約を定義する第1の遅延制約情報に基づいて、論理回路中に存在する始点レジスタを抽出する始点レジスタ抽出ステップ、
    前記制御信号出力レジスタ抽出部が、制御信号を出力する制御信号出力レジスタを特定する情報に基づいて、論理回路中に存在する制御信号出力レジスタを抽出する制御信号出力レジスタ抽出ステップ、
    前記組抽出部が、前記始点レジスタ抽出部により抽出された始点レジスタの次段のレジスタであって、該始点レジスタから出力される例外信号と前記制御信号出力レジスタ抽出部により抽出された制御信号出力レジスタから出力される制御信号とが共に供給されるレジスタと、該始点レジスタとの組を抽出する組抽出ステップ、をさらに備える、
    ことを特徴とする請求項8又は9に記載のスタティックハザード検出方法。
  11. 前記チェック対象抽出部は、始点レジスタ抽出部と、終点レジスタ抽出部と、組抽出部と、を備え、
    前記始点レジスタ抽出部が、始点レジスタから出力される例外信号の遅延制約を定義する第1の遅延制約情報に基づいて、論理回路中に存在する始点レジスタを抽出する始点レジスタ抽出ステップ、
    前記終点レジスタ抽出部が、終点レジスタに供給される例外信号の遅延制約を定義する第2の遅延制約情報に基づいて、論理回路中に存在する終点レジスタを抽出する終点レジスタ抽出ステップ、
    前記組抽出部が、前記始点レジスタ抽出部により抽出された始点レジスタであって、前記終点レジスタ抽出部により抽出された終点レジスタの前段のレジスタと、該終点レジスタとの組を抽出する組抽出ステップ、をさらに備える、
    ことを特徴とする請求項8又は9に記載のスタティックハザード検出方法。
  12. 前記チェック対象抽出部は、終点レジスタ抽出部と、組抽出部と、を備え、
    前記終点レジスタ抽出部が、終点レジスタに供給される例外信号の遅延制約を定義する第2の遅延制約情報に基づいて、論理回路中に存在する終点レジスタを抽出する終点レジスタ抽出ステップ、
    前記組抽出部が、前記終点レジスタ抽出部により抽出された終点レジスタの前段のレジスタであって、該終点レジスタと異なるクロック信号で駆動されるレジスタと、該終点レジスタとの組を抽出する組抽出ステップ、をさらに備える、
    ことを特徴とする請求項8又は9に記載のスタティックハザード検出方法。
  13. 前記スタティックハザード検出装置は、表示装置と、表示制御部と、をさらに備え、
    前記表示制御部が、前記スタティックハザード検出部によって検出された組を示す情報を前記表示装置に表示する表示制御ステップ、をさらに備える、
    ことを特徴とする請求項8乃至12のいずれか1項に記載のスタティックハザード検出方法。
  14. 前記表示制御ステップにおいて、前記表示制御部は、前記スタティックハザード検出部によって、組が検出されなかった場合、前記表示装置にスタティックハザードが発生する可能性がない旨のメッセージを表示する、
    ことを特徴とする請求項13記載のスタティックハザード検出方法。
  15. コンピュータを、
    論理回路の動作クロックに同期せずに伝搬する例外信号の伝搬を伝搬制御回路によって制御する論理回路に発生しうるスタティックハザードを検出するスタティックハザード検出装置として機能させるためのプログラムであって、
    前記コンピュータを、
    論理回路を表す論理回路情報の入力を受け付け、受け付けた論理回路情報によって表される論理回路中に存在する、伝搬制御回路を介して終点レジスタに供給される例外信号を出力する始点レジスタと該終点レジスタとの組を複数抽出するチェック対象抽出部、
    前記チェック対象抽出部により抽出された複数の組のうち、伝搬制御回路の状態を制御する制御信号の信号レベルが例外信号の伝搬を禁止する信号レベルになっているときに、例外信号を始点レジスタから終点レジスタに伝達する可能性があるパスが複数存在する組を検出するスタティックハザード検出部、として機能させる、
    ことを特徴とするプログラム。
  16. 前記スタティックハザード検出部は、
    前記チェック対象抽出部により抽出された複数の組のそれぞれについて、伝搬制御回路の状態を制御する制御信号の信号レベルが例外信号の伝搬を禁止する信号レベルになっているときに、例外信号を始点レジスタから終点レジスタに伝達する可能性がある少なくとも1つのパスを検出するパス検出部と、
    前記チェック対象抽出部により抽出された複数の組のうち、前記検出パス検出部によって複数のパスが検出された組を検出する再収斂パス検出部と、を備える、
    ことを特徴とする請求項15記載のプログラム。
  17. 前記チェック対象抽出部は、
    始点レジスタから出力される例外信号の遅延制約を定義する第1の遅延制約情報に基づいて、論理回路中に存在する始点レジスタを抽出する始点レジスタ抽出部と、
    制御信号を出力する制御信号出力レジスタを特定する情報に基づいて、論理回路中に存在する制御信号出力レジスタを抽出する制御信号出力レジスタ抽出部と、
    前記始点レジスタ抽出部により抽出された始点レジスタの次段のレジスタであって、該始点レジスタから出力される例外信号と前記制御信号出力レジスタ抽出部により抽出された制御信号出力レジスタから出力される制御信号とが共に供給されるレジスタと、該始点レジスタとの組を抽出する組抽出部と、を備える、
    ことを特徴とする請求項15又は16に記載のプログラム。
  18. 前記チェック対象抽出部は、
    始点レジスタから出力される例外信号の遅延制約を定義する第1の遅延制約情報に基づいて、論理回路中に存在する始点レジスタを抽出する始点レジスタ抽出部と、
    終点レジスタに供給される例外信号の遅延制約を定義する第2の遅延制約情報に基づいて、論理回路中に存在する終点レジスタを抽出する終点レジスタ抽出部と、
    前記始点レジスタ抽出部により抽出された始点レジスタであって、前記終点レジスタ抽出部により抽出された終点レジスタの前段のレジスタと、該終点レジスタとの組を抽出する組抽出部と、を備える、
    ことを特徴とする請求項15又は16に記載のプログラム。
  19. 前記チェック対象抽出部は、
    終点レジスタに供給される例外信号の遅延制約を定義する第2の遅延制約情報に基づいて、論理回路中に存在する終点レジスタを抽出する終点レジスタ抽出部と、
    前記終点レジスタ抽出部により抽出された終点レジスタの前段のレジスタであって、該終点レジスタと異なるクロック信号で駆動されるレジスタと、該終点レジスタとの組を抽出する組抽出部と、を備える、
    ことを特徴とする請求項15又は16に記載のプログラム。
  20. 前記コンピュータは、表示装置を備え、
    前記コンピュータを、さらに、
    前記スタティックハザード検出部によって検出された組を示す情報を前記表示装置に表示する表示制御部、として機能させる、
    ことを特徴とする請求項15乃至19のいずれか1項に記載のプログラム。
JP2008304099A 2007-12-28 2008-11-28 スタティックハザード検出装置、スタティックハザード検出方法並びにプログラム Expired - Fee Related JP4450103B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008304099A JP4450103B2 (ja) 2007-12-28 2008-11-28 スタティックハザード検出装置、スタティックハザード検出方法並びにプログラム
US12/343,212 US8117578B2 (en) 2007-12-28 2008-12-23 Static hazard detection device, static hazard detection method, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007339000 2007-12-28
JP2008304099A JP4450103B2 (ja) 2007-12-28 2008-11-28 スタティックハザード検出装置、スタティックハザード検出方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2009176285A JP2009176285A (ja) 2009-08-06
JP4450103B2 true JP4450103B2 (ja) 2010-04-14

Family

ID=41031245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008304099A Expired - Fee Related JP4450103B2 (ja) 2007-12-28 2008-11-28 スタティックハザード検出装置、スタティックハザード検出方法並びにプログラム

Country Status (1)

Country Link
JP (1) JP4450103B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6048561B1 (ja) * 2015-10-20 2016-12-21 日本電気株式会社 データ処理システム、データ処理方法、および、プログラム

Also Published As

Publication number Publication date
JP2009176285A (ja) 2009-08-06

Similar Documents

Publication Publication Date Title
US7603636B2 (en) Assertion generating system, program thereof, circuit verifying system, and assertion generating method
US7454324B1 (en) Selection of initial states for formal verification
JP2011138183A (ja) 検証支援プログラム、および検証支援装置
JP4261502B2 (ja) 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体
Azriel et al. SoK: An overview of algorithmic methods in IC reverse engineering
Sabri et al. SAT-based integrated hardware trojan detection and localization approach through path-delay analysis
US8069026B2 (en) Clock gating analyzing apparatus, clock gating analyzing method, and computer product
US8117578B2 (en) Static hazard detection device, static hazard detection method, and recording medium
US20090070619A1 (en) Multi-cycle path information verification method and multi-cycle path information verification device
JP4450103B2 (ja) スタティックハザード検出装置、スタティックハザード検出方法並びにプログラム
US20140331199A1 (en) Detecting corresponding paths in combinationally equivalent circuit designs
US11921907B2 (en) Detecting security vulnerabilities introduced between versions of a hardware design
JP5348065B2 (ja) 検証支援プログラム、検証支援装置および検証支援方法
JP5146369B2 (ja) 回路設計プログラム、回路設計方法および回路設計装置
JP4275636B2 (ja) 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体
Sharma et al. An automation methodology for amelioration of SpyGlassCDC abstract view generation process
JP2009187344A (ja) 非同期論理回路検証装置およびその方法、並びにプログラム
JP4217204B2 (ja) タイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラム
JP4946588B2 (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
JP5145167B2 (ja) クロックドメインチェック方法及びクロックドメインチェック用プログラム並びに記録媒体
JP5641046B2 (ja) タイミング制約生成支援装置、タイミング制約生成支援プログラム、及び、タイミング制約生成支援方法
JP2008209210A (ja) テストパターン自動生成方法およびテストパターン自動生成プログラム
JP2009199274A (ja) 設計検証プログラム、設計検証方法および設計検証装置
JP2014063236A (ja) 設計支援プログラム、設計支援方法、および設計支援装置
JP2006221473A (ja) 論理検証装置、論理検証方法および論理検証プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091221

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4450103

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140205

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees