JP4782743B2 - 論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法 - Google Patents

論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法 Download PDF

Info

Publication number
JP4782743B2
JP4782743B2 JP2007211950A JP2007211950A JP4782743B2 JP 4782743 B2 JP4782743 B2 JP 4782743B2 JP 2007211950 A JP2007211950 A JP 2007211950A JP 2007211950 A JP2007211950 A JP 2007211950A JP 4782743 B2 JP4782743 B2 JP 4782743B2
Authority
JP
Japan
Prior art keywords
check
signal
thread
clip
connection
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
JP2007211950A
Other languages
English (en)
Other versions
JP2009048312A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007211950A priority Critical patent/JP4782743B2/ja
Publication of JP2009048312A publication Critical patent/JP2009048312A/ja
Application granted granted Critical
Publication of JP4782743B2 publication Critical patent/JP4782743B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、LSI論理回路(ハードウェア記述言語(HDL)またはSystemC等のシステム記述言語で記述されたRTLおよびネットリスト)のうちネットリストに関する論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法に関する。
従来のテストパターンの作成方法では、簡単な機能マクロ(モジュール)の場合は端子の信号の組合せで可能であるが、ほとんどのケースで検証は不可能である(たとえば、下記特許文献1を参照。)。その理由として、
(1)端子の信号の組み合わせは無限であること
(2)通常は信号(端子)に「意味のあるパターン」を入れないと回路は動作しないこと
が挙げられる。
実はこの「意味のあるパターン」が困難であり、従来のテストパターンの作成方法では、手間がかかり検証作業の長期化を招く原因となる。したがって、従来では、静的にネットリスト記述を解析し、ルールベースで接続が正しいか判断する方法がとられている。
特開平10−124557号公報
しかしながら、上述した従来技術では、ネットリストを言語解析し、接続情報を取得して接続先を調べるというように、開発コストが増大し、バグを作りこむ確率が高いという問題があった。また、検証パターンにより動的に機能検証をおこなう方法では、検証すべき機能のすべてを網羅するようなパターンを準備することが困難であるという問題があった。またこれにより、アーキテクチャの再構成のたびにテストパターンが必要となり、開発コストが増大するという問題があった。
アーキテクチャが再構成可能なプロセッサは、特定機能を有する複数の機能ブロック(演算用プロセッサや機能マクロ、RAMなど)を組み合わせて、論理設計レベルで、ハードウェアを作り変えることで、特定のアプリケーションを高速に実行できるものである。図18は、アーキテクチャ再構成プロセッサを示す概要図である。
しかしながら、図18に示した構成情報1800ではアーキテクチャを作り変えるため、そのプロセッサに載せるプログラムがすべてのリソース(上記機能ブロック0〜n)を使用するとは限らない。そのプログラムで動いても違うプログラムでは動く保証がないからである。したがって、それを検証するためには、すべてのリソースを動かすような、テストパターン(テストプログラム)を作成しなければならない。アーキテクチャが再構成可能なプロセッサでは、アーキテクチャが固定ではないため、アーキテクチャを変更するたびに、大変な作業が発生するという問題があった。
各種機能ブロック0〜nは、単体で動作することを検証済みなため、論理的に正しく接続されていることを検証すれば、全体を検証したことと同等となる。したがって、接続をチェックするシステムが必要となる。
この発明は、上述した従来技術による問題点を解消するため、自動合成されたネットリストの正当性を、少工数かつ高精度で確認することができる論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、第1の発明にかかる論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法は、検証対象に関するネットリストを取得し、取得されたネットリストにより特定される前記検証対象内の各機能ブロック内の動作記述を、信号を発生させる信号発生スレッドと動作内容をチェックするチェックスレッドとに置換することにより、接続元となる機能ブロックの信号発生スレッドと接続先となる機能ブロックのチェックスレッドとが接続された接続チェックモデルを生成し、生成された接続チェックモデルに関する論理シミュレーションを実行することにより、前記ネットリストの正当性を確認し、確認された確認結果を出力することを特徴とする。
この発明によれば、機能ブロック間の接続関係を単純化することができ、接続確認の容易化を図ることができる。
また、上記発明において、前記論理シミュレーションを実行することにより、前記信号発生スレッドからハイインピーダンスに関する信号を出力した結果、前記チェックスレッドの入力端子のうちある値にクリップされている被信号クリップ入力端子に、期待値となるクリップ信号が取り込まれるか否かのクリップチェックを実行し、前記クリップチェックのチェック結果を出力することとしてもよい。
この発明によれば、クリップチェックの効率化を図ることができる。
また、上記発明において、前記論理シミュレーションを実行することにより、前記信号発生スレッドから不定値に関する信号を出力した結果、前記チェックスレッドの入力端子がオープンか否かをチェックするオープンチェックを実行し、前記オープンチェックのチェック結果を出力することとしてもよい。
この発明によれば、どこにも接続されていないオープンな入力端子を簡単なオープンチェックにより特定することができる。
また、上記発明において、前記論理シミュレーションを実行することにより、前記信号発生スレッドから不定値に関する信号を出力した結果、前記被信号クリップ入力端子において前記クリップ信号が他の信号と衝突しているか否かをチェックするクリップ信号衝突チェックを実行し、前記クリップ信号衝突チェックのチェック結果を出力することとしてもよい。
この発明によれば、クリップ信号衝突チェックの効率化を図ることができる。
また、上記発明において、前記論理シミュレーションを実行することにより、前記信号発生スレッドの中から選ばれた一の信号発生スレッドから二値のうちいずれか一方の値の信号を出力し、かつ、残余の信号発生スレッドから前記ハイインピーダンスに関する信号を出力した結果、前記一の信号発生スレッドの前記一方の値の信号を出力した出力端子と、その接続先となるチェックスレッドの入力端子とが接続されているか否かをチェックする接続チェックを実行し、前記接続チェックのチェック結果を出力することとしてもよい。
この発明によれば、端子間の接続チェックの効率化を図ることができる。
特に、前記接続先となるチェックスレッドの入力端子に前記二値のうち他方の値の信号が入力された場合、前記接続チェックのチェック結果として反転エラーを出力することとしてもよい。
この発明によれば、接続エラーとして値が反転するバグを検出することができる。
また、前記接続先となるチェックスレッドの入力端子に不定値に関する信号が入力された場合、前記接続チェックのチェック結果として信号衝突エラーを出力することとしてもよい。
この発明によれば、接続エラーとして信号衝突によるバグを検出することができる。
また、上記発明において、前記論理シミュレーションを実行することにより、前記信号発生スレッドの中から選ばれた一の信号発生スレッドから二値のうちいずれか一方の値の信号を出力し、かつ、残余の信号発生スレッドから不定値に関する信号を出力した結果、前記一の信号発生スレッドの前記一方の値の信号と前記不定値に関する信号が信号衝突しているか否かをチェックする信号衝突チェックを実行し、前記信号衝突チェックのチェック結果を出力することとしてもよい。
この発明によれば、信号衝突チェックの効率化を図ることができる。
また、第2の発明にかかる論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法は、検証対象に関するネットリストを取得し、取得されたネットリストにより特定される前記検証対象内の各機能ブロック内の動作記述を、信号を発生させる信号発生スレッドと動作内容をチェックするチェックスレッドとを含む機能ブロックに置換することにより、接続元となる機能ブロックの信号発生スレッドと接続先となる機能ブロックのチェックスレッドとが接続された接続チェックモデルを生成し、生成された接続チェックモデルに関する論理シミュレーションを実行することにより、前記検証対象に関するネットリストの正当性を確認し、正当性が確認されたときの接続情報を保持することを特徴とする。
この発明によれば、論理接続チェックに用いる接続情報を自動生成することができる。
また、上記発明において、前記論理シミュレーションを実行することにより、前記信号発生スレッドからハイインピーダンスに関する信号を出力した結果、前記チェックスレッドの入力端子のうちある値にクリップされている被信号クリップ入力端子に、期待値となるクリップ信号が取り込まれるか否かのクリップチェックを実行し、前記クリップチェックのチェック結果として前記ハイインピーダンスに関する信号以外の信号が前記被信号クリップ入力端子に入力された場合、前記被信号クリップ入力端子とその入力信号の値との組み合わせを前記接続情報として保持することとしてもよい。
この発明によれば、クリップチェックにおいて被信号クリップ入力端子とその期待値との組み合わせ(クリップ情報)の集合データとなるクリップ情報テーブルを作成することができ、クリップチェックの効率化を図ることができる。
また、上記発明において、前記論理シミュレーションを実行することにより、前記信号発生スレッドの中から選ばれた一の信号発生スレッドから二値のうちいずれか一方の値の信号を出力し、かつ、残余の信号発生スレッドから前記ハイインピーダンスに関する信号を出力した結果、前記一の信号発生スレッドの前記一方の値の信号を出力した出力端子と、その接続先となるチェックスレッドの入力端子とが接続されているか否かをチェックする接続チェックを実行し、前記接続チェックのチェック結果として前記ハイインピーダンスに関する信号以外の信号が前記接続先となるチェックスレッドの入力端子に入力された場合、前記一方の値の信号を出力した出力端子と前記接続先となるチェックスレッドの入力端子との組み合わせを前記接続情報として保持することとしてもよい。
この発明によれば、接続しあう出力端子と入力端子との組み合わせ(接続端子情報)の集合データとなる接続端子情報テーブルを作成することができ、接続チェックの効率化を図ることができる。
本発明にかかる論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法によれば、自動合成されたネットリストの正当性を、少工数かつ高精度で確認することができるという効果を奏する。
[実施の形態1]
以下に添付図面を参照して、この発明にかかる論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法の好適な実施の形態1を詳細に説明する。
(論理接続チェック装置のハードウェア構成)
まず、この発明の実施の形態1にかかる論理接続チェック装置100のハードウェア構成について説明する。図1は、この発明の実施の形態1にかかる論理接続チェック装置100のハードウェア構成を示す説明図である。
図1において、論理接続チェック装置100は、コンピュータ本体110と、入力装置120と、出力装置130と、から構成されており、不図示のルータやモデムを介してLAN,WANやインターネットなどのネットワーク140に接続可能である。
コンピュータ本体110は、CPU,記憶装置,インターフェースを有する。CPUは、論理接続チェック装置100の全体の制御を司る。記憶装置は、ROM,RAM,HD,光ディスク111,フラッシュメモリから構成される。RAMはCPUのワークエリアとして使用される。
また、記憶装置には各種プログラムが格納されており、CPUからの命令に応じてロードされる。HDおよび光ディスク111はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク111およびフラッシュメモリはコンピュータ本体110に対し着脱自在である。インターフェースは、入力装置120からの入力、出力装置130への出力、ネットワーク140に対する送受信の制御をおこなう。
また、入力装置120としては、キーボード121、マウス122、スキャナ123などがある。キーボード121は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス122は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ123は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体110内の記憶装置に格納される。なお、スキャナ123にOCR機能を持たせてもよい。
また、出力装置130としては、ディスプレイ131、プリンタ132、スピーカ133などがある。ディスプレイ131は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、プリンタ132は、画像データや文書データを印刷する。またスピーカ133は、効果音や読み上げ音などの音声を出力する。
(接続チェックモデル200の構成)
つぎに、この発明の実施の形態1にかかる接続チェックモデル200について説明する。図2は、この発明の実施の形態1にかかる接続チェックモデル200の構成図である。図2において、接続チェックモデル200は、ハードウェア記述言語(HDL)またはSystemC等のシステム記述言語(以下、これらを単に「記述言語」と称す)を使用して記述されたテストベンチ201である。
このテストベンチ201は、制御部CNTLと外部信号発生器EXTとチェック対象となるネットリストNLが上述した記述言語により記述されて構成されている。ネットリストNLは機能ブロックYYY,ZZZ間の接続を記述している。制御部CNTL、外部信号発生器EXTおよび機能ブロックYYY,ZZZは、コア(図2中、○○_COREで表記)を有する。コアYYY_CORE,ZZZ_CORE自体は単体検証済であるので、本実施の形態1においては、論理接続チェックのため、あらかじめ作成しておいたスレッドTct,Tge,Tchをインスタンスする。
具体的には、制御部コアCNTL_COREには、制御スレッドTctがインスタンスされる。外部信号発生器コアEXT_COREには、信号発生スレッドTgeおよびチェックスレッドTchがインスタンスされる。同様に、各機能ブロックコア(YYY_CORE,ZZZ_CORE)にも、それぞれ信号発生スレッドTgeおよびチェックスレッドTchがインスタンスされる。
制御スレッドTct、信号発生スレッドTge、およびチェックスレッドTchは並列動作する。また、各信号発生スレッドTgeおよびチェックスレッドTchがインスタンスされている機能ブロックは異なるが、共通の動作をおこなう。
また、図2中、点線で囲まれた領域は機能ブロックコアの入力端子および出力端子をあらわしているが、機能ブロックの入力端子および出力端子が複数あっても、内部の機能ブロックコアにおいてともに1本でコンカチネートすることで、信号発生スレッドTgeおよびチェックスレッドTchを共通化することができる。
また、各信号発生スレッドTgeは同一記述である。また、各チェックスレッドTchも同一記述である。したがって、ライブラリ作成も単純化することができる。図2に示した接続チェックモデル200では、制御スレッドTct、信号発生スレッドTgeおよびチェックスレッドTchを論理シミュレーションにより並列動作させることにより、論理接続チェックを実行する。
図3は、この発明の実施の形態1にかかる論理接続チェックの概念図である。図3において、論理接続チェックでは、制御スレッドTctから各種チェックコマンドを発行する。信号発生スレッドTgeはすべての出力端子に信号を発生し、発生された信号は、チェックスレッドTchに入力されてチェックスレッドTchにおいてチェックされる。すべてのチェックスレッドTchが並列動作するため、信号の到達イベントで処理を判断することができる。
(論理接続チェック手法)
つぎに、この発明の実施の形態1にかかる論理接続チェック手法について説明する。この論理接続チェックにおいては、かならずイベント(信号変化)が発生するような設定をおこなう。論理接続チェックとしては、クリップチェック、クリップ信号衝突/オープンチェック、接続チェックおよび信号衝突チェックをおこなう。
順序としては、まず、クリップチェックを最初におこない、そのあとに、クリップ信号衝突/オープンチェック、接続チェックおよび信号衝突チェックをおこなう。クリップ信号衝突/オープンチェック、接続チェックおよび信号衝突チェックの順番は限定されない。また、これらのチェックでは、4値シミュレーションにより実行される。
図4は、4値シミュレーションにおける信号衝突による出力結果を示す図表である。4値とは‘0’、‘1’、‘X’、‘Z’である。Xは不定値であり、Zはハイインピーダンスである。
また、図5は、正しい接続状態(仮定)を示す説明図であり、図6−1はクリップチェックを示す説明図であり、図6−2はクリップ信号衝突/オープンチェックを示す説明図であり、図7−1〜図7−4は接続チェックを示す説明図であり、図8−1および図8−2は信号衝突チェックを示す説明図である。図6−1〜図8−2には誤った接続がある。
なお、図5〜図8−2において、機能ブロックAAAはコアAAA_COREを有し、信号発生スレッドTge1をインスタンスしている。同様に、機能ブロックBBBはコアBBB_COREを有し、信号発生スレッドTge2をインスタンスしている。また、機能ブロックCCCはコアCCC_COREを有し、チェックスレッドTchをインスタンスしている。
また、図5において、正しい接続では、信号発生スレッドTge1の出力端子o1はチェックスレッドTchの入力端子i1に接続されている。信号発生スレッドTge2の出力端子o2はチェックスレッドTchの入力端子i4に接続されている。また、値‘1’に固定された値(以下「‘1’クリップ」と称す。)は、入力端子i2,i3に接続されている。このように、あらかじめ値が固定されている状態を、“信号クリップ”と称す。すなわち、入力端子i2,i3は、値‘1’で信号クリップされている。また、入力端子i5は他の機能ブロックに接続されている。
図6−1〜図8−2において、誤って、信号発生スレッドTge2の出力端子o2は、チェックスレッドTchの入力端子i1に接続されている。および、同様に誤って信号発生スレッドTge2の出力端子o3は、チェックスレッドTchの入力端子i2,i3に接続されている。
すなわち、設計ルール上エラーであり、出力端子o1および出力端子o2の値は信号衝突する。同様に、‘1’クリップの値‘1’と出力端子o3の値は信号衝突する。また、チェックスレッドTchの入力端子i4はオープン、すなわち、他の機能ブロック(厳密には信号発生スレッドTge)の入力端子と接続されておらず、これも設計ルール上エラーとなり、誤って接続されていないことになる。オープンの場合は、値‘Z’が入力されている事と同等の意味になる。
以下に、クリップチェック、クリップ信号衝突/オープンチェック、接続チェックおよび信号衝突チェックを実行順として説明する。
<クリップチェック>
クリップチェックとは、ある値に信号クリップされている入力端子にその値が期待値として取り込まれるか否かを確認することである。具体的には、信号発生スレッドTgeにおいてすべての出力端子を値‘Z’で駆動する場合、チェックスレッドTchにおいて信号クリップ(固定)されている入力端子(以下、「被信号クリップ入力端子」という)が必ず‘Z’以外の値となるか否かをチェックする。なお、すべての出力端子o1〜o3を値‘Z’で駆動することは、本アルゴリズムの初期化を兼ねる(クリップチェックするかしないかの違いである)。
ここで、被信号クリップ入力端子に入力される信号をクリップ信号と称す。さらに、‘Z’以外の値を取った場合、その値が正しい値(すなわち、期待値)か否かのチェックもおこない、正しい値でない場合、クリップエラーとなる。
図6−1に示した例では、入力端子i2,i3は‘1’クリップと接続されているため、値‘1’に信号クリップされている被信号クリップ入力端子に該当する。そして、信号発生スレッドTge1,Tge2からチェックコマンドとして値‘Z’の信号が駆動されると、チェックスレッドTchの入力端子i1には信号‘Z’が入力される。
また、入力端子i2の接続先は‘1’クリップと出力端子o1であるため、値‘1’のクリップ信号と値‘Z’のチェックコマンド信号との信号衝突が発生する。この場合、図4を参照すると、入力端子i2には値‘1’のクリップ信号が入力される。入力端子i3も同様、値‘1’のクリップ信号が入力される。
チェックスレッドTchでは、被信号クリップ入力端子i2,i3に取り込まれたクリップ信号の値についてクリップチェックを実行する。なお、入力端子i2,i3にはそれぞれ値‘1’のクリップ信号が取り込まれているが、この状態ではクリップエラーであるか否かは不明であり、クリップ情報テーブルとの比較チェックをおこなう。その結果一致していない場合、クリップエラーとなる。
図9は、クリップ情報テーブルを示す説明図である。クリップ情報テーブル900は、クリップ情報の集合データであり、図5に示した正しい接続におけるクリップ情報が記述されている。クリップ情報とは、被信号クリップ入力端子と当該被信号クリップ入力端子に入力される入力信号の期待値との組み合わせである。クリップ情報テーブル900はクリップチェックに用いられる。クリップチェックにおいて、被信号クリップ入力端子に入力された入力信号の値が‘Z’ではなく‘1’または‘0’である場合、その入力信号はクリップ信号である可能性が高い。
このため、クリップ情報テーブル900によりその入力端子に関連付けられている値を検索して、入力信号の値と一致するか否かをチェックする。一致すれば、被信号クリップ入力端子においてネットリストNLの正当性ありと判断できる。一方、不一致であれば、被信号クリップ入力端子において期待値がクリップできていないこととなりクリップエラーとなる。
<クリップ信号衝突/オープンチェック>
クリップ信号衝突/オープンチェックとは、被信号クリップ入力端子に入力されるクリップ信号について他の信号が衝突したか否かを確認するクリップ信号衝突チェックと、入力信号の値からその入力端子がオープンであるか否かを確認するオープンチェックである。
クリップ信号衝突/オープンチェックでは、信号発生スレッドTgeのすべての出力端子を値‘X’で駆動することで、チェックスレッドTchの入力端子の値をチェックする。具体的には、被信号クリップ入力端子については、他の信号が衝突していると、値‘X’のクリップ信号が取り込まれる。
ここで、図6−2を用いて説明する。図6−2において、チェックスレッドTch内の矢印の始端側の値は、初期化により書き換えられた値であり、終端側の値は、クリップ信号衝突/オープンチェックにより書き換えられた値である。
たとえば、図6−2において、被信号クリップ入力端子i2,i3では、値‘1’のクリップ信号と値‘X’のチェックコマンド信号とが衝突するため、図4を参照することにより、最終的に、値‘X’のクリップ信号が被信号クリップ入力端子i2,i3に取り込まれる。したがって、信号衝突が発生していることがわかる(信号衝突エラー)。
また、被信号クリップ入力端子以外の他の入力端子については、値‘X’が取り込まれていると、信号発生スレッドTgeからの値‘X’のチェックコマンド信号がそのまま伝搬していると判断するため、オープンではなく、信号発生スレッドTgeと接続されていることがわかる。
たとえば、入力端子i1には、出力端子o1からの値‘X’のチェックコマンド信号がそのまま取り込まれているため、出力端子o1と入力端子i1とは接続されていると判断される。一方、入力端子i4は、値‘X’のチェックコマンド信号が駆動されても、値‘Z’のままである。したがって、入力端子i4はオープン、すなわち、信号発生スレッドTge1,Tge2のいずれの出力端子o1,o2,o3にも接続されていないことがわかる(オープンエラー)。
<接続チェック>
接続チェックとは、出力信号の値とその出力元と接続されている出力先に取り込まれた信号の値との一致/不一致により、出力元と出力先とが接続されているか否かを確認することである。具体的には、接続チェック対象の出力端子は、‘0’または‘1’の値の信号を駆動し、それ以外の出力端子は、すべて値‘Z’の信号を駆動することで、チェック対象の入力端子(ファンアウトが多いと複数ある)は、‘0’または‘1’の値の信号を受け取る。接続が間違っていれば、他の入力端子がその値の信号を受け取ることとなる。この接続チェックでは、接続端子情報テーブルを用いる。
図10は、接続端子情報テーブルを示す説明図である。接続端子情報テーブル1000とは、接続端子情報の集合データである。接続端子情報テーブル1000には、図5に示した正しい接続状態における接続端子情報が保持されている。接続端子情報とは、階層にまたがって接続しあう出力元の機能ブロック(にインスタンスされた信号発生スレッドTge)の出力端子と出力先の機能ブロック(にインスタンスされたチェックスレッドTch)の入力端子との組み合わせである。なお、ネットリストNLには同一階層の接続関係が記述されている。
チェックスレッドTchにおいて、接続チェック対象となる出力端子について、接続端子情報テーブル1000を参照してその接続先となる入力端子を検索して特定する。特定されなければ結線エラーとなる。
そして、接続元の出力端子からの出力信号の値(‘1’または‘0’)と接続先の入力端子に入力される信号の値が一致すれば、接続関係に正当性ありと判断される。一方、不一致である場合、接続先の入力端子に入力された信号の値が反転している場合、反転エラーとなり、値が不定値‘X’であれば信号衝突エラーとなる。
ここで、図7−1を用いて説明する。図7−1において、チェックスレッドTch内の矢印の始端側の値は、初期化により書き換えられた値であり、終端側の値は、接続チェックにより書き換えられた値である。図7−1では、信号発生スレッドTge1の出力端子o1からの信号の値を‘1’で駆動し、残余の出力端子o2,o3からの信号の値を‘Z’で駆動する例である。
このあと、接続端子情報テーブル1000を参照して、接続チェック対象となる出力端子o1の接続先とされる入力端子を検索する。そして、検索された入力端子i1に取り込まれた値が駆動された信号の値‘1’と同じ値‘1’であるので、接続の正当性が確認される。
つぎに、図7−2について説明する。図7−2では、信号発生スレッドTge1の出力端子o2からの信号の値を‘1’で駆動し、残余の出力端子o1,o3からの信号の値を‘Z’で駆動する例である。
このあと、接続端子情報テーブル1000を参照して、チェック対象となる出力端子o2の接続先とされる入力端子を検索する。そして、検索された入力端子i4にはイベントが起こらず、入力端子i1にイベントが起こり、接続が間違っていることが確認される。
つぎに、図7−3について説明する。図7−3では、信号発生スレッドTge1の出力端子o3からの信号の値を‘1’で駆動し、残余の出力端子o1、o2からの信号の値を‘Z’で駆動する例である。
この場合、すべての信号が変化しないため、チェックスレッドTchは、動作しないため誤りを検出できないが、出力端子o3からの信号の値を‘0’で駆動すれば(図7−4)、検出が可能である。
つぎに、図7−4について説明する。図7−4では、信号発生スレッドTge2の出力端子o3からの信号の値を‘0’で駆動し、残余の出力端子o1、o2からの信号の値を‘Z’で駆動する例である。
このあと、接続端子情報テーブル1000を参照して、チェック対象となる出力端子o3の接続先とされる入力端子を検索する。そして、検索された入力端子i5(図7−4では表現してしない。図5参照)にはイベントが起こらず、入力端子i2,i3にイベントが発生し、接続が間違っていることが確認されるだけでなく、値‘X’が取り込まれているため信号衝突エラーとなる。
<信号衝突チェック>
信号衝突チェックとは、出力信号が他の信号と衝突しているか否かを確認することである。具体的には、信号衝突チェック対象の出力端子は、‘0’(または‘1’)の値の信号を駆動し、それ以外の出力端子は、すべて値‘X’の信号を駆動することで、接続先となる信号衝突チェック対象の入力端子は、‘0’(または‘1’)または‘X’の値の信号を受け取る。値‘X’を受け取った場合、信号衝突となる。
ここで、図8−1を用いて説明する。図8−1において、チェックスレッドTch内の矢印の始端側の値は、初期化により書き換えられた値であり、終端側の値は、信号衝突チェックにより書き換えられた値である。図8−1では、信号発生スレッドTge1の出力端子o1からの信号の値を‘1’で駆動し、残余の出力端子o2,o3からの信号の値を‘X’で駆動する例である。
図7−1では正常接続と判断されたが、図8−1では、信号衝突チェック対象となる入力端子i1に取り込まれた信号の値は‘X’であるため、信号衝突が発生していることがわかる。また、入力端子i2,i3に取り込まれた値も‘X’であるが、すでに、クリップ信号衝突チェックで確認済みである。
つぎに、図8−2を用いて説明する。図8−2において、チェックスレッドTch内の矢印の始端側の値は、初期化により書き換えられた値であり、終端側の値は、信号衝突チェックにより書き換えられた値である。図8−2では、信号発生スレッドTge2の出力端子o3からの信号の値を‘1’で駆動し、残余の出力端子o1,o2からの信号の値を‘X’で駆動する例である。図8−2では、この信号に対しては、他の信号からの‘X'の影響を受けないため、本チェックの対象外であるが、すでに、クリップ信号衝突チェックで確認済みである。
(論理接続チェック装置100の機能的構成)
つぎに、この発明の実施の形態1にかかる論理接続チェック装置100の機能的構成について説明する。図11は、この発明の実施の形態1にかかる論理接続チェック装置100の機能的構成を示すブロック図である。図11において、論理接続チェック装置100は、ライブラリ1100と、取得部1101と、生成部1102と、確認部1103と、出力部1104と、から構成される。
これら各機能1101〜1104は、論理接続チェック装置100内のメモリに格納された当該機能に関するプログラムを論理接続チェック装置100内のプロセッサに実行させることにより、または、入出力I/Fにより、当該機能を実現することができる。
また、各機能1101〜1104からの出力データはメモリに保持される。また、図11中矢印で示した接続先の機能1101〜1104は、接続元の機能1101〜1104からの出力データをメモリから読み込んで、当該機能1101〜1104に関するプログラムを論理接続チェック装置100内のプロセッサに実行させる。
まず、ライブラリ1100は、上述した制御スレッドTct、信号発生スレッドTge、およびチェックスレッドTchの3つのスレッドが格納されたデータベースである。この各スレッドTct,Tge,Tchが図2に示したテストベンチ201内の制御部CNTLの動作記述、外部信号発生器EXTの動作記述、および機能ブロック(YYY,ZZZ)の動作記述(ネットリストNL)と置き換えられる。このように、ライブラリ1100に格納される情報は3つのスレッドTct,Tge,Tchのみであるため、作成が簡単である。
また、取得部1101は、検証対象に関するネットリストNLを取得する機能を有する。具体的には、図18に示した検証対象の構成情報1800をアーキテクチャ再構成ツール1110に与えることにより出力される記述言語のネットリストNLを読み込む。
また、生成部1102は、取得されたネットリストNLにより特定される検証対象内の各機能ブロック(YYY,ZZZ)内の動作記述を、信号発生スレッドTgeとチェックスレッドTchとに置換することにより、接続元となる機能ブロックの信号発生スレッドTgeと接続先となる機能ブロックのチェックスレッドTchとが接続された接続チェックモデル200を生成する機能を有する。
具体的には、図2に示したテストベンチ201を生成する。すなわち、制御部CNTLの動作記述を制御スレッドTctに置換し、外部信号発生器EXTの動作記述を信号発生スレッドTgeおよびチェックスレッドTchに置換し、機能ブロックの動作記述であるネットリストNLを信号発生スレッドTgeおよびチェックスレッドTchに置換する。これにより、図2に示したテストベンチ201を接続チェックモデル200として生成することができる。
なお、ネットリストNLには通常接続情報が記述されているため、クリップ情報テーブル900および接続端子情報テーブル1000を作成してテストベンチ201に埋め込んでおくこととしてもよい。
また、確認部1103は、生成された接続チェックモデル200に関する論理シミュレーションを実行することにより、ネットリストNLの正当性を確認する機能を有する。具体的には、各機能ブロック(YYY,ZZZ)内部の動作記述は、信号発生スレッドTgeおよびチェックスレッドTchに置き換わっている。
したがって、論理シミュレーションを実行することで、制御スレッドTctからの制御コマンドが発行されて、信号発生スレッドTgeおよびチェックスレッドTchにより、上述したクリップチェック、クリップ信号衝突/オープンチェック、接続チェック、および信号衝突チェックが実行される。
また、出力部1104は、確認部1103によって確認されたチェック結果1120を出力する機能を有する。チェック結果1120としては、クリップエラー、オープンエラー、信号衝突エラー、結線エラー、反転エラー、確認OKなどを出力する。
(論理接続チェック処理手順)
つぎに、この発明の実施の形態1にかかる論理接続チェック処理手順について説明する。図12は、この発明の実施の形態1にかかる論理接続チェック処理手順を示すフローチャートである。
図12において、まず、取得部1101によりネットリストNLを取得し(ステップS1201)、生成部1102により接続チェックモデル200を生成する(ステップS1202)。そして、確認部1103により、論理シミュレーションを実行することで、ネットリストNLの正当性確認処理を実行する(ステップS1203)。最後に、出力部1104によりチェック結果の出力処理を実行する(ステップS1204)。
つぎに、上述したネットリストNLの正当性確認処理(ステップS1203)およびチェック結果の出力処理(ステップS1204)を詳細に説明する。図13および図14は、ネットリストNLの正当性確認処理(ステップS1203)およびチェック結果の出力処理(ステップS1204)の詳細なフローチャートである。なお、図13および図14における信号発生スレッドTgeおよびチェックスレッドTchの処理手順は、任意の信号発生スレッドTgeおよびチェックスレッドTchに着目した処理手順である。
信号発生スレッドTgeおよびチェックスレッドTchの処理は、制御スレッドTctから発行されるコマンドのイベント(コマンドの変化)待ちによる無限ループになっている。これらの3つのスレッドは、同期を取って動作させる必要がある。ここでは、コマンドのイベントにより動作の同期を取っているが、時間指定による同期でもよい。また厳密には、信号発生スレッドTgeからの信号発生には、デルタ遅延(無限に小さい遅延)が生じるため、チェックスレッドTchは、発生スレッドTgeの動作より、少しの時間(例えば1ピコ秒)遅らせる必要がある。
まず、クリップチェックの処理手順について説明する。図13において、まず、制御スレッドTctでは、初期化をおこない(ステップS1300)、クリップチェックコマンドをすべての信号発生スレッドTgeに発行する(ステップS1301)。そのあと、制御スレッドTctはクリップチェックが完了するまで待機処理をおこなう(ステップS1302)。
また、信号発生スレッドTgeでは、初期化をおこない(ステップS1310)、制御スレッドTctからコマンドイベントを待ち受ける(ステップS1311)。入力コマンドが初期化コマンドか、クリップチェックコマンドである場合(ステップS1312:Yes)、値‘Z’をすべての出力端子から駆動(出力)して(ステップS1313)、ステップS1311に戻る。一方、入力コマンドが初期化コマンドか、クリップチェックコマンドでない場合(ステップS1312:No)、ステップS1314に移行する。
さらに、チェックスレッドTchでは、初期化をおこない(ステップS1320)、制御スレッドTctからコマンドを待ち受ける(ステップS1321)。入力コマンドが初期化コマンド且つクリップコマンドでない場合(ステップS1322:No)、ステップS1327に移行する。
一方、入力コマンドがクリップチェックコマンドである場合(ステップS1322:Yes)、チェックスレッドTchの入力端子に入力された信号の値が‘1’または‘0’であるか否かを判断する(ステップS1323)。
‘1’または‘0’のいずれの値でもない場合(ステップS1323:No)、ステップS1321に戻る。一方、‘1’または‘0’である場合(ステップS1323:Yes)、クリップ情報テーブル900を検索して(ステップS1324)、検索され且つ、被信号クリップ入力端子の期待値と一致するか否かを判断する(ステップS1325)。
クリップ信号の値が一致する場合(ステップS1325:Yes)、正当性が確認されたこととなり、ステップS1321に戻る。一方、検索されない、または不一致である場合(ステップS1325:No)、クリップエラーを出力する(ステップS1325)。すべての入力信号に対し、ステップS1323〜ステップS1325を繰り返して、クリップチェックを終了する。
つぎに、クリップ信号衝突/オープンチェックをおこなう。まず、制御スレッドTctでは、入力OPENチェックコマンドを発行する(ステップS1304)。そのあと、クリップ信号衝突/オープンチェックが完了するまで待機処理をおこない(ステップS1305)、全チェックスレッドTchがイベント(信号遷移)を検出したか否かを判断する(ステップS1306)。すなわち、信号発生回数(信号発生スレッドTgeが実行した回数)と信号変化イベント検出回数(チェックスレッドTchが実行した回数)をカウントし一致するかどうかで判断する。一致しなければ、一本の信号も接続していないチェックスレッドTchが存在することになる。
任意のチェックスレッドTchがイベント(信号遷移)を検出しなかった場合(ステップS1306:No)、そのチェックスレッドTchの全信号未接続エラーを出力する(ステップS1307)。一方、全チェックスレッドTchがイベント(信号遷移)を検出した場合(ステップS1306:Yes)、初期化コマンドの発行をおこない(ステップS1308)、初期化コマンド完了を待つ。信号発生スレッドTgeは、コマンドイベントを待ち受け(ステップS1311)、入力コマンドが、初期化コマンドであるため(ステップS1312:Yes)、値‘Z’をすべての出力端子から駆動(出力)して(ステップS1313)、ステップS1311に戻る。
また、信号発生スレッドTgeでは、制御スレッドTctからコマンドイベントを待ち受ける(ステップS1311)。入力コマンドが入力OPENチェックコマンドである場合(ステップS1312:No、ステップS1314:Yes)、値‘X’をすべての出力端子から駆動(出力)して(ステップS1315)、ステップS1311に戻る。一方、入力コマンドが入力OPENチェックコマンドでない場合(ステップS1312:No、ステップS1314:No)、ステップS1410に移行する。
さらに、チェックスレッドTchでは、制御スレッドTctからコマンドを待ち受ける(ステップS1321)。入力コマンドが入力OPENチェックコマンドでない場合(ステップS1322:No,ステップS1327:No)、ステップS1420に移行する。一方、入力コマンド入力OPENチェックコマンドである場合(ステップS1322:No,ステップS1327:Yes)、チェックスレッドTchの被信号クリップ入力端子に入力されたクリップ信号の値が‘Z’であるか否かを判断する(ステップS1327)。
‘Z’である場合(ステップS1328:Yes)、OPENエラーを出力する(ステップS1328)。一方、‘Z’でない場合(ステップS1327:No)、クリップ信号の値が‘X’であるか否かを判断する(ステップS1329)。
‘X’である場合(ステップS1330:Yes)、信号衝突エラーを出力する(ステップS1331)。一方、‘X’でない場合(ステップS1330:No)、ステップS1321に戻る。すべての入力信号に対し、ステップS1321〜ステップS1330を繰り返し、クリップ信号衝突/オープンチェックを終了する。
つぎに、接続チェックの処理手順について説明する。図14において、まず、制御スレッドTctにおいて、結線正当性チェックコマンドを発行する(ステップS1400)。このコマンドと共に、接続端子情報テーブル1000から出力端子を読み込み、順番に出力端子を指定しその指定端子を有する信号発生スレッドTgeは、その指定端子に値‘1’(または‘0’)を駆動させ、それ以外の出力端子には、‘Z’を駆動させる。また残余の信号発生スレッドTgeについては、すべての出力端子に対し、値‘Z’を駆動させるコマンドである。このあと、待機処理をおこなう(ステップS1401)。
そのあと、イベントを検出したチェックスレッドTchがあったか否かを判断する(ステップS1402)。イベントを検出したチェックスレッドTchがない場合(ステップS1402:No)、未接続エラーを出力し(ステップS1403)、ステップS1404に移行する。一方、イベントを検出したチェックスレッドTchがあった場合(ステップS1402:Yes)、ステップS1404に移行する。
このあと、ステップS1404において、接続端子情報テーブル1000を参照して、すべての接続情報(出力端子と入力端子のペア)に対して処理されたか否か(すべての接続端子情報テーブル1000がループしたか?)を判断する(ステップS1404)。処理していない場合(ステップS1404:No)、ステップS1400に戻る。一方、処理した場合(ステップS1404:Yes)、初期化コマンドの発行をおこなって(ステップS1405)、初期化完了待機(ステップS1406)に移行する。
また、信号発生スレッドTgeでは、制御スレッドTctからコマンドイベントを待ち受ける(ステップS1311)。入力コマンドが結線正当性チェックコマンドでない場合(ステップS1312:No,ステップS1314:No,ステップS1410:No)、ステップS1412に移行する。一方、入力コマンドが結線正当性チェックコマンドである場合(ステップS1312:No,ステップS1314:No,ステップS1410:Yes)、信号発生スレッドTgeにおいて、指定端子に値‘1’(または‘0’)を駆動し、残余の信号発生スレッドTgeにおいて値‘Z’を駆動する(ステップS1411)。このあと、ステップS1311に戻る。
さらに、チェックスレッドTchでは、制御スレッドTctからコマンドを待ち受ける(ステップS1321)。入力コマンドが結線正当性チェックコマンドでない場合(ステップS1322:No,ステップS1327:No,ステップS1420:No)、ステップS1427に移行する。
一方、入力コマンドが結線正当性チェックコマンドである場合(ステップS1322:No,ステップS1327:No,ステップS1420:Yes)、そのコマンドを取り込んだチェックスレッドTchの全ての入力端子の値が‘1’、‘0’または‘X’のいずれかの値であるか否かを判断する(ステップS1421)。
いずれにも該当しない場合、すなわち‘Z’である場合(ステップS1421:No)、ステップS1321に戻る。一方、いずれかに該当する場合(ステップS1421:Yes)、接続端子情報テーブル1000を入力端子で出力端子を検索する(ステップS1422)。
検索結果により指定端子と、出力端子が一致しない(すなわち、接続されていない)場合(ステップS1423:No)、接続エラーを出力する(ステップS1424)。また、値が‘X’である場合(ステップS1423:No)、信号衝突エラーを出力する(ステップS1424)。一方、接続されており、かつ、値が‘X’でない場合(ステップS1423:Yes)、その信号の値が駆動信号の値と一致するか否かを判断する(ステップS1425)。
不一致である場合(ステップS1425:No)、反転エラーを出力する(ステップS1426)。一方、一致する場合(ステップS1425:Yes)、ステップS1321に戻る。以上により、接続チェックを終了する。
つぎに、信号衝突チェックの処理手順について説明する。まず、制御スレッドTctにおいて、信号衝突チェックコマンドを発行する(ステップS1406)。このコマンドと共に、接続端子情報テーブル1000から出力端子を読み込み、順番に出力端子と入力端子のペアを指定しその指定出力端子を有する信号発生スレッドTgeは、その指定端子に値‘1’(または‘0’)を駆動させ、それ以外の出力端子には、‘X’を駆動させる。また残余の信号発生スレッドTgeについては値‘X’を駆動させるコマンドである。つまり‘X’を駆動することで、正常な接続に対し影響を与えていないかチェックすることで、信号衝突を確認できる。このあと、待機処理をおこなう(ステップS1408)。
このあと、ステップS1409において、接続端子情報テーブル1000を参照して、すべての接続情報(出力端子と入力端子のペア)に対して処理されたか否か(すべての接続端子情報テーブル1000がループしたか?)を判断する(ステップS1408)。処理していない場合(ステップS1408:No)、ステップS1406に戻る。一方、処理した場合(ステップS1408:Yes)、論理シミュレーションが終了する。
また、信号発生スレッドTgeでは、制御スレッドTctからコマンドを待ち受ける(ステップS1311)。入力コマンドが信号衝突チェックコマンドでない場合(ステップS1312:No,ステップS1314:No,ステップS1410:No,ステップS1412:No)、ステップS1311に戻る。一方、入力コマンドが信号衝突チェックコマンドである場合(ステップS1312:No,ステップS1314:No,ステップS1410:No,ステップS1412:Yes)、指定出力端子を有する信号発生スレッドTgeにおいて指定出力端子には値‘1’(または‘0’)を駆動し、それ以外の出力端子には、値‘X’を駆動する(ステップS1413)、また、残余の信号発生スレッドTgeにおいては、すべての出力端子に対し、値‘X’を駆動する(ステップS1413)。このあと、ステップS1311に戻る。
さらに、チェックスレッドTchでは、制御スレッドTctからコマンドを待ち受ける(ステップS1321)。入力コマンドが信号衝突チェックコマンドでない場合(ステップS1322:No,ステップS1327:No,ステップS1420:No,ステップS1427:No)、ステップS1321に戻る。
一方、入力コマンドが値‘1’(または‘0’)の信号衝突チェックコマンドである場合(ステップS1322:No,ステップS1327:No,ステップS1420:No,ステップS1427:Yes)、指定入力端子を有するチェックスレッドTchは、その入力端子の信号(対象信号)の値が‘X’であるか否かを判断する(ステップS1428)。
‘X’でない場合(ステップS1428:No)、ステップS1321に戻る。一方、‘X’である場合(ステップS1428:Yes)、信号衝突エラーを出力する(ステップS1429)。以上により、信号衝突チェックを終了する。
このように、上述した実施の形態1によれば、HDLやシステム記述言語という言語の特徴を利用し、ネットリストNLに動作記述(各スレッド)を埋め込み、動的な論理シミュレーションを実行することで、接続をチェックすることができる。通常、ネットリストNLには回路動作が記述され、その動作をシミュレートするものであるが、本実施の形態では、接続チェックに応用している。
このネットリストNLには接続情報が記述されておりそのまま利用できるため、言語解析によるバグの作りこみがないうえ、記述言語のシミュレータも一般的であるため、開発コストの低減化を図ることができる。
[実施の形態2]
つぎに、実施の形態2について説明する。実施の形態1では、あらかじめ作成されたクリップ情報テーブル900や接続端子情報テーブル1000を参照することで、各機能ブロック(YYY,ZZZ)に埋め込まれたチェックスレッドTchによりクリップチェックや接続チェックを実行することにより、機能ブロック(YYY,ZZZ)間においてクリップエラーや接続エラーがあるか否かをチェックする構成としたが、実施の形態2では、各機能ブロック(YYY,ZZZ)に埋め込まれたチェックスレッドTchによりクリップチェックや接続チェックを実行することにより、未作成のクリップ情報テーブル900や接続端子情報テーブル1000を作成する構成である。
これにより、クリップ情報テーブル900や接続端子情報テーブル1000がまだ得られていない場合においても、自動的に作成することができる。また、すでに作成されている場合であっても、実施の形態2を実行することにより、クリップ情報テーブル900や接続端子情報テーブル1000の正確さをチェックすることができる。
以下に、実施の形態2について説明する。なお、実施の形態2のハードウェア構成は図1に示したハードウェア構成と同一である。また、実施の形態1で用いた接続チェックモデル200(図2)、論理接続チェックの概念(図3)、および4値シミュレーションにおける信号衝突による出力結果(図4)も実施の形態2でそのまま適用する。さらに、実施の形態2では、クリップチェックと接続チェックを実行するため、図5および図7−1〜図7−4もそのまま適用する。また、図11に示した構成と同一構成には同一符号を付し、その説明を省略する。
(論理接続チェック装置100の機能的構成)
図15は、この発明の実施の形態2にかかる論理接続チェック装置100の機能的構成を示すブロック図である。実施の形態1と相違する構成は、確認部1503と保持部1504である。確認部1503は、生成された接続チェックモデル200に関する論理シミュレーションを実行することにより、検証対象に関するネットリストNLの正当性を確認する機能を有する。
具体的には、論理シミュレーションを実行することにより、チェックスレッドTchにおいてクリップチェックと接続チェックを実行して、正当性を確認する。このクリップチェックおよび接続チェックは、図5および図7−1〜図7−4の内容と同じであるが、クリップ情報テーブル900および接続端子情報テーブル1000が未作成であるため、正当性の確認に際しては参照しない。
また、保持部1504は、正当性が確認されたときの接続情報を保持する。接続情報とは、クリップチェックにおいては、入力端子に取り込まれた信号の値の正当性が確認されたときの、その入力端子とその信号の値の組み合わせとなるクリップ情報である。このクリップ情報をクリップ情報テーブル900に書き込む。
同様に、接続チェックにおいては、入力端子に取り込まれた信号の値の正当性が確認されたときのその入力端子と信号の出力元である出力端子との組み合わせとなる接続端子情報である。この接続端子情報を接続端子情報テーブル1000に書き込む。この処理をすべての入力端子についておこなうことにより、最終的にクリップ情報テーブル900および接続端子情報テーブル1000が作成される。
(論理接続チェック処理手順)
つぎに、この発明の実施の形態2にかかる論理接続チェック処理手順について説明する。図16は、この発明の実施の形態2にかかる論理接続チェック処理手順を示すフローチャートである。
図16において、まず、取得部1101によりネットリストNLを取得し(ステップS1601)、生成部1102により接続チェックモデル200を生成する(ステップS1602)。そして、確認部1503により、論理シミュレーションを実行することで、ネットリストNLの正当性確認処理を実行する(ステップS1603)。最後に、保持部1504により接続情報(クリップ情報、接続端子情報)を保持することで、クリップ情報テーブル900および接続端子情報テーブル1000の作成処理を実行する(ステップS1604)。
つぎに、上述したネットリストNLの正当性確認処理(ステップS1603)およびテーブル作成処理(ステップS1604)を詳細に説明する。図17は、ネットリストNLの正当性確認処理(ステップS1603)およびテーブル作成処理(ステップS1604)の詳細なフローチャートである。なお、図17における信号発生スレッドTgeおよびチェックスレッドTchの処理手順は、任意の信号発生スレッドTgeおよびチェックスレッドTchに着目した処理手順である。
図17において、一点鎖線で区切られた上半部は、クリップチェックの処理手順である。まず、制御スレッドTctでは、初期化をおこない(ステップS1700)、クリップ情報取得コマンドをすべての信号発生スレッドTgeに発行する(ステップS1701)。そのあと、制御スレッドTctはクリップ情報取得が完了するまで待機処理をおこなう(ステップS1702)、
また、信号発生スレッドTgeでは、初期化をおこない(ステップS1710)、制御スレッドTctからコマンドイベントを待ち受ける(ステップS1711)。入力コマンドがクリップ情報取得コマンドである場合(ステップS1712:Yes)、全ての出力端子から値‘Z’を駆動(出力)して(ステップS1713)、ステップS1711に戻る。一方、入力コマンドがクリップ情報取得コマンドでない場合(ステップS1712:No)、ステップS1714に移行する。
さらに、チェックスレッドTchでは、初期化をおこない(ステップS1720)、制御スレッドTctからコマンドイベントを待ち受ける(ステップS1721)。入力コマンドが初期化コマンド且つクリップ情報取得コマンドでない場合(ステップS1722:No)、ステップS1725に移行する。
一方、入力コマンドがクリップ情報取得コマンドである場合(ステップS1722:Yes)、チェックスレッドTchの被信号クリップ入力端子に入力されたクリップ信号の値が‘1’または‘0’であるか否かを判断する(ステップS1723)。
‘1’または‘0’のいずれの値でもない場合(ステップS1723:No)、ステップS1721に戻る。一方、‘1’または‘0’である場合(ステップS1723:Yes)、クリップ情報となる被信号クリップ入力端子名とその値(‘1’または‘0’)の組み合わせを、クリップ情報テーブル900に書き込む(ステップS1724)。そして、ステップS1721に戻る。以上により、クリップ情報取得を終了する。
図17の一点鎖線で区切られた下半部は、接続情報取得チェックの処理手順である。まず、制御スレッドTctにおいて、すべてのインスタンス(信号発生スレッドTge)に対し順番に接続端子情報取得コマンドを発行する(ステップS1703)。このコマンドは、対象となるインスタンス内の信号発生スレッドTgeに全ての出力端子に対し、順番に値‘1’(または‘0’)を駆動させ、それ以外の出力端子には値‘Z’を駆動させ、残余の信号発生スレッドTgeについては,すべての出力端子に対し,値‘Z’を駆動させるコマンドである。このあと、待機処理をおこなう(ステップS1704)。
このあと、ステップS1705において、すべてのインスタンスに対し接続端子情報取得に対して処理されたか否か(すべてのインスタンスがループしたか?)を判断する(ステップS1705)。処理していない場合(ステップS1705:No)、ステップS1703に戻り、次のインスタンスを指定する。一方、完了した場合(ステップS1705:Yes)、制御スレッドTctの処理を終了する。
また、信号発生スレッドTgeでは、制御スレッドTctからコマンドイベントを待ち受ける(ステップS1711)。入力コマンドが接続端子情報取得コマンドでない、または、対象インスタンスでない場合(ステップS1712:No、ステップS1714:No)、ステップS1711に戻る。一方、入力コマンドが接続端子情報取得コマンドで且つ、対象インスタンスである場合(ステップS1714:Yes)、信号発生スレッドTgeにおいて値‘1’(または‘0’)を駆動し、残余の出力信号において値‘Z’を駆動する(ステップS1715)。このあと、ステップS1711に戻る。
さらに、チェックスレッドTchでは、制御スレッドTctからコマンドイベントを待ち受ける(ステップS1721)。入力コマンドが接続端子情報取得コマンドでない場合(ステップS1722:No,ステップS1724:No)、ステップS1721に戻る。
一方、入力コマンドが接続端子情報取得コマンドである場合(ステップS1725:Yes)、そのコマンドを取り込んだチェックスレッドTchの入力端子の値が‘1’または ‘0’のいずれかの値であるか否かを判断する(ステップS1725)。
いずれにも該当しない場合(ステップS1726:No)、ステップS1721に戻る。一方、いずれかに該当する場合(ステップS1726:Yes)、そのときの出力端子と入力端子の組み合わせを接続端子情報として、接続端子情報テーブル1000に書き込む(ステップS1727)。そして、ステップS1721に戻る。以上により、接続チェックを終了する。
このように、上述した実施の形態2によれば、HDLやシステム記述言語という言語の特徴を利用し、ネットリストNLに動作記述(各スレッド)を埋め込み、動的な論理シミュレーションを実行することで、接続情報を取得することができる。通常、ネットリストNLには回路動作が記述され、その動作をシミュレートするものであるが、本実施の形態2では、接続情報の取得、ひいてはテーブル作成に応用している。
したがって、ネットリストNLに接続情報が記述されておらず、あらかじめクリップ情報テーブル900や接続端子情報テーブル1000が作成されていなくても、自動作成することができる。また、言語解析によるバグの作りこみがないうえ、記述言語のシミュレータも一般的であるため、開発コストの低減化を図ることができる。さらに、すでに作成されている場合であっても、再度作成して比較することで、クリップ情報テーブル900や接続端子情報テーブル1000の正確さをチェックすることができる。
以上説明したように、本実施の形態によれば、自動合成されたネットリストの正当性を、少工数かつ高精度で確認することができるという効果を奏する。
なお、本実施の形態で説明した論理接続チェック方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
また、本実施の形態で説明した論理接続チェック装置100は、スタンダードセルやストラクチャードASICなどの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLDによっても実現することができる。具体的には、たとえば、上述した論理接続チェック装置100の機能的構成1101〜1104,1503,1504をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、論理接続チェック装置100を製造することができる。
(付記1)コンピュータを、
検証対象に関するネットリストを取得する取得手段、
前記取得手段によって取得されたネットリストにより特定される前記検証対象内の各機能ブロック内の動作記述を、信号を発生させる信号発生スレッドと動作内容をチェックするチェックスレッドとに置換することにより、接続元となる機能ブロックの信号発生スレッドと接続先となる機能ブロックのチェックスレッドとが接続された接続チェックモデルを生成する生成手段、
前記生成手段によって生成された接続チェックモデルに関する論理シミュレーションを実行することにより、前記ネットリストの正当性を確認する確認手段、
前記確認手段によって確認された確認結果を出力する出力手段、
として機能させることを特徴とする論理接続チェックプログラム。
(付記2)前記確認手段は、
前記論理シミュレーションを実行することにより、前記信号発生スレッドからハイインピーダンスに関する信号を出力した結果、前記チェックスレッドの入力端子のうちある値にクリップされている被信号クリップ入力端子に、期待値となるクリップ信号が取り込まれるか否かのクリップチェックを実行し、
前記出力手段は、
前記クリップチェックのチェック結果を出力することを特徴とする付記1に記載の論理接続チェックプログラム。
(付記3)前記確認手段は、
前記論理シミュレーションを実行することにより、前記信号発生スレッドから不定値に関する信号を出力した結果、前記チェックスレッドの入力端子がオープンか否かをチェックするオープンチェックを実行し、
前記出力手段は、
前記オープンチェックのチェック結果を出力することを特徴とする付記2に記載の論理接続チェックプログラム。
(付記4)前記確認手段は、
前記論理シミュレーションを実行することにより、前記信号発生スレッドから不定値に関する信号を出力した結果、前記被信号クリップ入力端子において前記クリップ信号が他の信号と衝突しているか否かをチェックするクリップ信号衝突チェックを実行し、
前記出力手段は、
前記クリップ信号衝突チェックのチェック結果を出力することを特徴とする付記2または3に記載の論理接続チェックプログラム。
(付記5)前記確認手段は、
前記論理シミュレーションを実行することにより、前記信号発生スレッドの中から選ばれた一の信号発生スレッドから二値のうちいずれか一方の値の信号を出力し、かつ、残余の信号発生スレッドから前記ハイインピーダンスに関する信号を出力した結果、前記一の信号発生スレッドの前記一方の値の信号を出力した出力端子と、その接続先となるチェックスレッドの入力端子とが接続されているか否かをチェックする接続チェックを実行し、
前記出力手段は、
前記接続チェックのチェック結果を出力することを特徴とする付記2〜4のいずれか一つに記載の論理接続チェックプログラム。
(付記6)前記出力手段は、
前記接続先となるチェックスレッドの入力端子に前記二値のうち他方の値の信号が入力された場合、前記接続チェックのチェック結果として反転エラーを出力することを特徴とする付記5に記載の論理接続チェックプログラム。
(付記7)前記出力手段は、
前記接続先となるチェックスレッドの入力端子に不定値に関する信号が入力された場合、前記接続チェックのチェック結果として信号衝突エラーを出力することを特徴とする付記5に記載の論理接続チェックプログラム。
(付記8)前記確認手段は、
前記論理シミュレーションを実行することにより、前記信号発生スレッドの中から選ばれた一の信号発生スレッドから二値のうちいずれか一方の値の信号を出力し、かつ、残余の信号発生スレッドから不定値に関する信号を出力した結果、前記一の信号発生スレッドの前記一方の値の信号と前記不定値に関する信号が信号衝突しているか否かをチェックする信号衝突チェックを実行し、
前記出力手段は、
前記信号衝突チェックのチェック結果を出力することを特徴とする付記2〜7のいずれか一つに記載の論理接続チェックプログラム。
(付記9)コンピュータを、
検証対象に関するネットリストを取得する取得手段、
前記取得手段によって取得されたネットリストにより特定される前記検証対象内の各機能ブロック内の動作記述を、信号を発生させる信号発生スレッドと動作内容をチェックするチェックスレッドとを含む機能ブロックに置換することにより、接続元となる機能ブロックの信号発生スレッドと接続先となる機能ブロックのチェックスレッドとが接続された接続チェックモデルを生成する生成手段、
前記生成手段によって生成された接続チェックモデルに関する論理シミュレーションを実行することにより、前記検証対象に関するネットリストの正当性を確認する確認手段、
前記確認手段によって正当性が確認されたときの接続情報を保持する保持手段、
として機能させることを特徴とする論理接続チェックプログラム。
(付記10)前記確認手段は、
前記論理シミュレーションを実行することにより、前記信号発生スレッドからハイインピーダンスに関する信号を出力した結果、前記チェックスレッドの入力端子のうちある値にクリップされている被信号クリップ入力端子に、期待値となるクリップ信号が取り込まれるか否かのクリップチェックを実行し、
前記保持手段は、
前記クリップチェックのチェック結果として前記ハイインピーダンスに関する信号以外の信号が前記被信号クリップ入力端子に入力された場合、前記被信号クリップ入力端子とその入力信号の値との組み合わせを前記接続情報として保持することを特徴とする付記9に記載の論理接続チェックプログラム。
(付記11)前記確認手段は、
前記論理シミュレーションを実行することにより、前記信号発生スレッドの中から選ばれた一の信号発生スレッドから二値のうちいずれか一方の値の信号を出力し、かつ、残余の信号発生スレッドから前記ハイインピーダンスに関する信号を出力した結果、前記一の信号発生スレッドの前記一方の値の信号を出力した出力端子と、その接続先となるチェックスレッドの入力端子とが接続されているか否かをチェックする接続チェックを実行し、
前記保持手段は、
前記接続チェックのチェック結果として前記ハイインピーダンスに関する信号以外の信号が前記接続先となるチェックスレッドの入力端子に入力された場合、前記一方の値の信号を出力した出力端子と前記接続先となるチェックスレッドの入力端子との組み合わせを前記接続情報として保持することを特徴とする付記9または10に記載の論理接続チェックプログラム。
(付記12)検証対象に関するネットリストを取得する取得手段と、
前記取得手段によって取得されたネットリストにより特定される前記検証対象内の各機能ブロック内の動作記述を、信号を発生させる信号発生スレッドと動作内容をチェックするチェックスレッドとに置換することにより、接続元となる機能ブロックの信号発生スレッドと接続先となる機能ブロックのチェックスレッドとが接続された接続チェックモデルを生成する生成手段と、
前記生成手段によって生成された接続チェックモデルに関する論理シミュレーションを実行することにより、前記ネットリストの正当性を確認する確認手段と、
前記確認手段によって確認された確認結果を出力する出力手段と、
を備えることを特徴とする論理接続チェック装置。
(付記13)検証対象に関するネットリストを取得する取得手段と、
前記取得手段によって取得されたネットリストにより特定される前記検証対象内の各機能ブロック内の動作記述を、信号を発生させる信号発生スレッドと動作内容をチェックするチェックスレッドとを含む機能ブロックに置換することにより、接続元となる機能ブロックの信号発生スレッドと接続先となる機能ブロックのチェックスレッドとが接続された接続チェックモデルを生成する生成手段と、
前記生成手段によって生成された接続チェックモデルに関する論理シミュレーションを実行することにより、前記検証対象に関するネットリストの正当性を確認する確認手段と、
前記確認手段によって正当性が確認されたときの接続情報を保持する保持手段と、
を備えることを特徴とする論理接続チェック装置。
(付記14)検証対象に関するネットリストを取得する取得工程と、
前記取得工程によって取得されたネットリストにより特定される前記検証対象内の各機能ブロック内の動作記述を、信号を発生させる信号発生スレッドと動作内容をチェックするチェックスレッドとに置換することにより、接続元となる機能ブロックの信号発生スレッドと接続先となる機能ブロックのチェックスレッドとが接続された接続チェックモデルを生成する生成工程と、
前記生成工程によって生成された接続チェックモデルに関する論理シミュレーションを実行することにより、前記ネットリストの正当性を確認する確認工程と、
前記確認工程によって確認された確認結果を出力する出力工程と、
を含んだことを特徴とする論理接続チェック方法。
(付記15)検証対象に関するネットリストを取得する取得工程と、
前記取得工程によって取得されたネットリストにより特定される前記検証対象内の各機能ブロック内の動作記述を、信号を発生させる信号発生スレッドと動作内容をチェックするチェックスレッドとを含む機能ブロックに置換することにより、接続元となる機能ブロックの信号発生スレッドと接続先となる機能ブロックのチェックスレッドとが接続された接続チェックモデルを生成する生成工程と、
前記生成工程によって生成された接続チェックモデルに関する論理シミュレーションを実行することにより、前記検証対象に関するネットリストの正当性を確認する確認工程と、
前記確認工程によって正当性が確認されたときの接続情報を保持する保持工程と、
を含んだことを特徴とする論理接続チェック方法。
以上のように、本発明にかかる論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法は、LSIやシステムLSIの検証に有用であり、特に、アーキテクチャ再構成プロセッサの検証に適している。
この発明の実施の形態1にかかる論理接続チェック装置のハードウェア構成を示す説明図である。 この発明の実施の形態1にかかる接続チェックモデルの構成図である。 この発明の実施の形態1にかかる論理接続チェックの概念図である。 4値シミュレーションにおける信号衝突による出力結果を示す図表である。 正しい接続状態(仮定)を示す説明図である。 クリップチェックを示す説明図である。 クリップ信号衝突/オープンチェックを示す説明図である。 接続チェックを示す説明図(その1)である。 接続チェックを示す説明図(その2)である。 接続チェックを示す説明図(その3)である。 接続チェックを示す説明図(その4)である。 信号衝突チェックを示す説明図(その1)である。 信号衝突チェックを示す説明図(その2)である。 クリップ情報テーブルを示す説明図である。 接続端子情報テーブルを示す説明図である。 この発明の実施の形態1にかかる論理接続チェック装置の機能的構成を示すブロック図である。 この発明の実施の形態1にかかる論理接続チェック処理手順を示すフローチャートである。 ネットリストの正当性確認処理およびチェック結果の出力処理の詳細なフローチャート(前半)である。 ネットリストの正当性確認処理およびチェック結果の出力処理の詳細なフローチャート(後半)である。 この発明の実施の形態2にかかる論理接続チェック装置の機能的構成を示すブロック図である。 この発明の実施の形態2にかかる論理接続チェック処理手順を示すフローチャートである。 ネットリストの正当性確認処理およびテーブル作成処理の詳細なフローチャートである。 アーキテクチャ再構成プロセッサを示す概要図である。
符号の説明
100 論理接続チェック装置
200 接続チェックモデル
201 テストベンチ
900 クリップ情報テーブル
1000 接続端子情報テーブル
1100 ライブラリ
1101 取得部
1102 生成部
1103,1503 確認部
1104 出力部
1110 アーキテクチャ再構成ツール
1120 チェック結果
NL ネットリスト
Tch チェックスレッド
Tct 制御スレッド
Tge 信号発生スレッド

Claims (7)

  1. コンピュータを、
    検証対象に関するネットリストを取得する取得手段、
    前記取得手段によって取得されたネットリストにより特定される前記検証対象内の各機能ブロック内の動作記述を、信号を発生させる信号発生スレッドと動作内容をチェックするチェックスレッドとに置換することにより、接続元となる機能ブロックの信号発生スレッドと接続先となる機能ブロックのチェックスレッドとが接続された接続チェックモデルを生成する生成手段、
    前記生成手段によって生成された接続チェックモデルに関する論理シミュレーションを実行することにより、前記信号発生スレッドからハイインピーダンスに関する信号を出力した結果、前記チェックスレッドの入力端子のうちある値にクリップされている被信号クリップ入力端子に、期待値となるクリップ信号が取り込まれるか否かのクリップチェックを実行する確認手段、
    前記確認手段による前記クリップチェックのチェック結果を出力する出力手段、
    として機能させることを特徴とする論理接続チェックプログラム。
  2. 前記確認手段は、
    前記論理シミュレーションを実行することにより、前記信号発生スレッドから不定値に関する信号を出力した結果、前記チェックスレッドの入力端子がオープンか否かをチェックするオープンチェックを実行し、
    前記出力手段は、
    前記オープンチェックのチェック結果を出力することを特徴とする請求項1に記載の論理接続チェックプログラム。
  3. コンピュータを、
    検証対象に関するネットリストを取得する取得手段、
    前記取得手段によって取得されたネットリストにより特定される前記検証対象内の各機能ブロック内の動作記述を、信号を発生させる信号発生スレッドと動作内容をチェックするチェックスレッドとを含む機能ブロックに置換することにより、接続元となる機能ブロックの信号発生スレッドと接続先となる機能ブロックのチェックスレッドとが接続された接続チェックモデルを生成する生成手段、
    前記生成手段によって生成された接続チェックモデルに関する論理シミュレーションを実行することにより、前記信号発生スレッドからハイインピーダンスに関する信号を出力した結果、前記チェックスレッドの入力端子のうちある値にクリップされている被信号クリップ入力端子に、期待値となるクリップ信号が取り込まれるか否かのクリップチェックを実行する確認手段、
    前記確認手段による前記クリップチェックのチェック結果として前記ハイインピーダンスに関する信号以外の信号が前記被信号クリップ入力端子に入力された場合、前記被信号クリップ入力端子とその入力信号の値との組み合わせとなる接続情報を保持する保持手段、
    として機能させることを特徴とする論理接続チェックプログラム。
  4. 検証対象に関するネットリストを取得する取得手段と、
    前記取得手段によって取得されたネットリストにより特定される前記検証対象内の各機能ブロック内の動作記述を、信号を発生させる信号発生スレッドと動作内容をチェックするチェックスレッドとに置換することにより、接続元となる機能ブロックの信号発生スレッドと接続先となる機能ブロックのチェックスレッドとが接続された接続チェックモデルを生成する生成手段と、
    前記生成手段によって生成された接続チェックモデルに関する論理シミュレーションを実行することにより、前記信号発生スレッドからハイインピーダンスに関する信号を出力した結果、前記チェックスレッドの入力端子のうちある値にクリップされている被信号クリップ入力端子に、期待値となるクリップ信号が取り込まれるか否かのクリップチェックを実行する確認手段と、
    前記確認手段による前記クリップチェックのチェック結果を出力する出力手段と、
    を備えることを特徴とする論理接続チェック装置。
  5. 検証対象に関するネットリストを取得する取得手段と、
    前記取得手段によって取得されたネットリストにより特定される前記検証対象内の各機能ブロック内の動作記述を、信号を発生させる信号発生スレッドと動作内容をチェックするチェックスレッドとを含む機能ブロックに置換することにより、接続元となる機能ブロックの信号発生スレッドと接続先となる機能ブロックのチェックスレッドとが接続された接続チェックモデルを生成する生成手段と、
    前記生成手段によって生成された接続チェックモデルに関する論理シミュレーションを実行することにより、前記信号発生スレッドからハイインピーダンスに関する信号を出力した結果、前記チェックスレッドの入力端子のうちある値にクリップされている被信号クリップ入力端子に、期待値となるクリップ信号が取り込まれるか否かのクリップチェックを実行する確認手段と、
    前記確認手段による前記クリップチェックのチェック結果として前記ハイインピーダンスに関する信号以外の信号が前記被信号クリップ入力端子に入力された場合、前記被信号クリップ入力端子とその入力信号の値との組み合わせとなる接続情報を保持する保持手段と、
    を備えることを特徴とする論理接続チェック装置。
  6. 取得手段、生成手段、確認手段、および出力手段を備えるコンピュータが、
    前記取得手段により、検証対象に関するネットリストを取得する取得工程と、
    前記生成手段により、前記取得工程によって取得されたネットリストにより特定される前記検証対象内の各機能ブロック内の動作記述を、信号を発生させる信号発生スレッドと動作内容をチェックするチェックスレッドとに置換することにより、接続元となる機能ブロックの信号発生スレッドと接続先となる機能ブロックのチェックスレッドとが接続された接続チェックモデルを生成する生成工程と、
    前記確認手段により、前記生成工程によって生成された接続チェックモデルに関する論理シミュレーションを実行することにより、前記信号発生スレッドからハイインピーダンスに関する信号を出力した結果、前記チェックスレッドの入力端子のうちある値にクリップされている被信号クリップ入力端子に、期待値となるクリップ信号が取り込まれるか否かのクリップチェックを実行する確認工程と、
    前記出力手段により、前記確認工程による前記クリップチェックのチェック結果を出力する出力工程と、
    実行することを特徴とする論理接続チェック方法。
  7. 取得手段、生成手段、確認手段、および保持手段を備えるコンピュータが、
    前記取得手段により、検証対象に関するネットリストを取得する取得工程と、
    前記生成手段により、前記取得工程によって取得されたネットリストにより特定される前記検証対象内の各機能ブロック内の動作記述を、信号を発生させる信号発生スレッドと動作内容をチェックするチェックスレッドとを含む機能ブロックに置換することにより、接続元となる機能ブロックの信号発生スレッドと接続先となる機能ブロックのチェックスレッドとが接続された接続チェックモデルを生成する生成工程と、
    前記確認手段により、前記生成工程によって生成された接続チェックモデルに関する論理シミュレーションを実行することにより、前記信号発生スレッドからハイインピーダンスに関する信号を出力した結果、前記チェックスレッドの入力端子のうちある値にクリップされている被信号クリップ入力端子に、期待値となるクリップ信号が取り込まれるか否かのクリップチェックを実行する確認工程と、
    前記保持手段により、前記確認工程による前記クリップチェックのチェック結果として前記ハイインピーダンスに関する信号以外の信号が前記被信号クリップ入力端子に入力された場合、前記被信号クリップ入力端子とその入力信号の値との組み合わせとなる接続情報を保持する保持工程と、
    実行することを特徴とする論理接続チェック方法。
JP2007211950A 2007-08-15 2007-08-15 論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法 Expired - Fee Related JP4782743B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007211950A JP4782743B2 (ja) 2007-08-15 2007-08-15 論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007211950A JP4782743B2 (ja) 2007-08-15 2007-08-15 論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法

Publications (2)

Publication Number Publication Date
JP2009048312A JP2009048312A (ja) 2009-03-05
JP4782743B2 true JP4782743B2 (ja) 2011-09-28

Family

ID=40500483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007211950A Expired - Fee Related JP4782743B2 (ja) 2007-08-15 2007-08-15 論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法

Country Status (1)

Country Link
JP (1) JP4782743B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6146224B2 (ja) 2013-09-12 2017-06-14 株式会社ソシオネクスト 判定方法、判定プログラム、および判定装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062532A (ja) * 2002-07-29 2004-02-26 Renesas Technology Corp 接続検証装置
JP2006127265A (ja) * 2004-10-29 2006-05-18 Matsushita Electric Ind Co Ltd システムlsi検証装置

Also Published As

Publication number Publication date
JP2009048312A (ja) 2009-03-05

Similar Documents

Publication Publication Date Title
US7213216B2 (en) Method and system for debugging using replicated logic and trigger logic
US20040030999A1 (en) Method and system for debugging using replicated logic
JP2012059026A (ja) ソースコード変換方法およびソースコード変換プログラム
WO2016026328A1 (zh) 一种信息处理方法、装置及计算机存储介质
US20070061641A1 (en) Apparatus and method for generating test driver
CN113255258B (zh) 逻辑综合方法、装置、电子设备及存储介质
US5971595A (en) Method for linking a hardware description to an IC layout
US8117577B1 (en) Determining timing paths within a circuit block of a programmable integrated circuit
US8321825B2 (en) Method and system for synthesizing relative timing constraints on an integrated circuit design to facilitate timing verification
JP4782743B2 (ja) 論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法
US7949509B2 (en) Method and tool for generating simulation case for IC device
JPH08212106A (ja) システム試験支援装置及びシステム試験支援方法
US10599802B2 (en) Methods for automatic engineering change order (ECO) bug fixing in integrated circuit design
US8015523B2 (en) Method and system for sequential netlist reduction through trace-containment
JP2009223661A (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
US8001503B2 (en) Method and system for automatically accessing internal signals or ports in a design hierarchy
CN115687108A (zh) 基于uvm与fpv相结合的验证方法、平台、终端及存储介质
US7086017B1 (en) Method of post-implementation simulation of a HDL design
JP2008197883A (ja) Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法
JPWO2006025412A1 (ja) 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置
US10643012B1 (en) Concurrent formal verification of logic synthesis
CN112860587A (zh) Ui自动测试方法和装置
US7437635B1 (en) Testing hard-wired IP interface signals using a soft scan chain
KR102053864B1 (ko) 기계학습 기반의 fpga 비트스트림 역공학 방법 및 장치
WO2003046591A2 (en) Multi-environment testing with a responder

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110304

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

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

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

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees