• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 取り消して特許、登録 G06F
管理番号 1281209
審判番号 不服2012-25873  
総通号数 168 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2013-12-27 
種別 拒絶査定不服の審決 
審判請求日 2012-12-27 
確定日 2013-12-02 
事件の表示 特願2008- 92124「回路検証装置および回路検証方法」拒絶査定不服審判事件〔平成21年10月22日出願公開、特開2009-245242、請求項の数(8)〕について、次のとおり審決する。 
結論 原査定を取り消す。 本願の発明は、特許すべきものとする。 
理由 第1 手続の経緯

本願は、平成20年3月31日の出願であって、平成24年9月28日付けで拒絶査定がなされ、これに対し、平成24年12月27日に拒絶査定不服審判の請求がされ、同時に手続補正がされたものである。
そして、当審において、平成25年3月13日付けで審査官により作成された前置報告書について、平成25年8月13日付けで審尋を行ったところ、審判請求人は平成25年10月10日付けで回答書を提出した。

第2 平成24年12月27日付けの手続補正(以下、「本件補正」という。)の適否

1.補正の内容

本件補正は、特許請求の範囲を、

「【請求項1】
ハードウェア記述言語に基づく論理回路が形成された半導体デバイスの回路検証装置であって、
前記半導体デバイスのエミュレーションを実行するための信号を含む制御信号を当該半導体デバイスへ入力するエミュレーション部と、前記半導体デバイスの論理回路に対応したハードウェア記述言語により当該論理回路のシミュレーションを実行するシミュレーション部と、前記半導体デバイスのエミュレーション開始後にシミュレーションに係るパラメータを当該半導体デバイスから取得する取得部と、前記取得部が取得したパラメータを前記シミュレーション部によるシミュレーションに適用する設定部と、前記半導体デバイスの論理回路を前記取得部によるパラメータ取得前に修正する回路修正部とを備え、
前記回路修正部は、前記半導体デバイスの論理回路を修正するとき、当該論理回路にてパラメータを記憶する記憶素子が前記制御信号によりリング型のシフトレジスタとして動作するためのバイパス配線と、前記バイパス配線を介して当該記憶素子のパラメータを読み出し且つ該パラメータを前記取得部へ出力する読出部とを当該論理回路に付加することを特徴とする回路検証装置。
【請求項2】
さらに、前記半導体デバイスのエミュレーション中に当該半導体デバイスの信号が所定条件に該当する場合に前記エミュレーション部に対し当該エミュレーションの停止命令を発行する停止判定部を備え、
前記取得部は、前記停止判定部により停止命令が発行されたとき、前記半導体デバイスからパラメータを取得することを特徴とする請求項1記載の回路検証装置。
【請求項3】
さらに、前記取得部が取得したパラメータと所定条件との照合により前記シミュレーション部によるシミュレーションを実行するか否かを判定するシミュレーション判定部を備えることを特徴とする請求項1又は2記載の回路検証装置。
【請求項4】
前記エミュレーション部は、前記半導体デバイスがクロック信号を生成するPLL回路を具備する場合、前記半導体デバイスのエミュレーション中は前記PLL回路に対しクロック信号の出力を指示し、前記半導体デバイスからパラメータを取得する間は前記PLL回路に対しクロック信号の出力停止を指示することを特徴とする請求項1乃至3のいずれか1項に記載の回路検証装置。
【請求項5】
ハードウェア記述言語に基づく論理回路が形成され且つ該論理回路の記憶素子からパラメータを読み出す手段を具備するFPGA(Field Programmable Gate Array)を有する回路検証装置であって、
前記FPGAのエミュレーションを実行するための信号を含む制御信号を当該FPGAへ入力するエミュレーション部と、前記FPGAの論理回路に対応したハードウェア記述言語により当該論理回路のシミュレーションを実行するシミュレーション部と、前記FPGAのエミュレーション開始後にシミュレーションに係るパラメータを当該FPGAの記憶素子から取得する取得部と、前記取得部が取得したパラメータを前記シミュレーション部によるシミュレーションに適用する設定部とを備えることを特徴とする回路検証装置。
【請求項6】
さらに、前記FPGAのエミュレーション中に当該FPGAの信号が所定条件に該当する場合に前記エミュレーション部に対し当該エミュレーションの停止命令を発行する停止判定部を備え、
前記取得部は、前記停止判定部により停止命令が発行されたとき、前記FPGAからパラメータを取得することを特徴とする請求項5記載の回路検証装置。
【請求項7】
さらに、前記取得部が取得したパラメータと所定条件との照合により前記シミュレーション部によるシミュレーションを実行するか否かを判定するシミュレーション判定部を備えることを特徴とする請求項5又は6記載の回路検証装置。
【請求項8】
さらに、前記シミュレーション部のシミュレーションにより得られたパラメータ、もしくは、前記取得部が取得したパラメータを前記FPGAのコンフィグレーションデータに変換して当該FPGAに設定する手段を備えることを特徴とする請求項5乃至7のいずれか1項に記載の回路検証装置。
【請求項9】
ハードウェア記述言語に基づく論理回路が形成された半導体デバイスにおいて該半導体デバイスのシミュレーションに係るパラメータを記憶する記憶素子がリング型のシフトレジスタとして動作するための配線を当該論理回路に付加し、
前記半導体デバイスのエミュレーションを開始し、
前記エミュレーションの開始後、前記記憶素子をシフトレジスタとして動作させて当該記憶素子のパラメータを読み出し、
前記半導体デバイスの論理回路に対応したハードウェア記述言語に前記読み出したパラメータを適用して当該論理回路のシミュレーションを実行することを特徴とする回路検証方法。
【請求項10】
さらに、前記半導体デバイスのエミュレーション中に当該半導体デバイスの信号が所定条件に該当する場合に前記エミュレーションを停止し、前記エミュレーションの停止後に前記複数の記憶素子のパラメータを読み出すことを特徴とする請求項9記載の回路検証方法。
【請求項11】
さらに、前記記憶素子から読み出したパラメータと所定条件とを照合し、当該パラメータが前記所定条件に対応する場合にシミュレーションを実行することを特徴とする請求項9又は10記載の回路検証方法。
【請求項12】
前記半導体デバイスがクロック信号を生成するPLL回路を具備する場合、前記半導体デバイスのエミュレーション中は前記PLL回路に対しクロック信号の出力を指示し、前記半導体デバイスからパラメータを取得する間は前記PLL回路に対しクロック信号の出力停止を指示することを特徴とする請求項9乃至11のいずれか1項に記載の回路検証方法。
【請求項13】
ハードウェア記述言語に基づく論理回路が形成され且つ該論理回路の記憶素子からパラメータを読み出す手段を具備するFPGA(Field Programmable Gate Array)を用いてエミュレーションを実行し、
前記エミュレーションの開始後、当該FPGAから当該記憶素子のパラメータを取得し、
前記FPGAの論理回路に対応したハードウェア記述言語に前記取得したパラメータを適用して当該論理回路のシミュレーションを実行することを特徴とする回路検証方法。
【請求項14】
さらに、前記FPGAのエミュレーション中に当該FPGAの信号が所定条件に該当する場合に前記エミュレーション部に対し当該エミュレーションの停止命令を発行し、
前記停止命令が発行されたとき、前記FPGAからパラメータを取得することを特徴とする請求項13記載の回路検証方法。
【請求項15】
さらに、前記取得したパラメータと所定条件との照合により前記シミュレーションを実行するか否かを判定することを特徴とする請求項13又は14記載の回路検証方法。
【請求項16】
さらに、前記シミュレーションにより得られたパラメータ、もしくは、前記取得部が取得したパラメータを前記FPGAのコンフィグレーションデータに変換して当該FPGAに設定することを特徴とする請求項13乃至15のいずれか1項に記載の回路検証方法。」

を、

「【請求項1】
ハードウェア記述言語に基づく論理回路が形成された半導体デバイスの回路検証装置であって、
前記半導体デバイスのエミュレーションを実行するための信号を含む制御信号を当該半導体デバイスへ入力するエミュレーション部と、前記半導体デバイスの論理回路に対応したハードウェア記述言語により当該論理回路のシミュレーションを実行するシミュレーション部と、前記半導体デバイスのエミュレーション開始後にシミュレーションに係るパラメータを当該半導体デバイスから取得する取得部と、前記取得部が取得したパラメータを前記シミュレーション部によるシミュレーションに適用する設定部と、前記半導体デバイスの論理回路を前記取得部によるパラメータ取得前に修正する回路修正部とを備え、
前記回路修正部は、前記半導体デバイスの論理回路を修正するとき、当該論理回路にてパラメータを記憶する複数の記憶素子が前記制御信号によりリング型のシフトレジスタとして動作するためのバイパス配線と、前記バイパス配線を介して当該複数の記憶素子のパラメータを読み出し且つ該パラメータを前記取得部へ出力する読出部とを当該論理回路に付加することを特徴とする回路検証装置。
【請求項2】
さらに、前記半導体デバイスのエミュレーション中に当該半導体デバイスの信号が所定条件に該当する場合に前記エミュレーション部に対し当該エミュレーションの停止命令を発行する停止判定部を備え、
前記取得部は、前記停止判定部により停止命令が発行されたとき、前記半導体デバイスからパラメータを取得することを特徴とする請求項1記載の回路検証装置。
【請求項3】
さらに、前記取得部が取得したパラメータと所定条件との照合により前記シミュレーション部によるシミュレーションを実行するか否かを判定するシミュレーション判定部を備えることを特徴とする請求項1又は2記載の回路検証装置。
【請求項4】
前記エミュレーション部は、前記半導体デバイスがクロック信号を生成するPLL回路を具備する場合、前記半導体デバイスのエミュレーション中は前記PLL回路に対しクロック信号の出力を指示し、前記半導体デバイスからパラメータを取得する間は前記PLL回路に対しクロック信号の出力停止を指示することを特徴とする請求項1乃至3のいずれか1項に記載の回路検証装置。
【請求項5】
ハードウェア記述言語に基づく論理回路が形成された半導体デバイスにおいて該半導体デバイスのシミュレーションに係るパラメータを記憶する複数の記憶素子がリング型のシフトレジスタとして動作するための配線を当該論理回路に付加し、
前記半導体デバイスのエミュレーションを開始し、
前記エミュレーションの開始後、前記複数の記憶素子を前記リング型のシフトレジスタとして動作させて当該記憶素子のパラメータを読み出し、
前記半導体デバイスの論理回路に対応したハードウェア記述言語に前記読み出したパラメータを適用して当該論理回路のシミュレーションを実行することを特徴とする回路検証方法。
【請求項6】
さらに、前記半導体デバイスのエミュレーション中に当該半導体デバイスの信号が所定条件に該当する場合に前記エミュレーションを停止し、前記エミュレーションの停止後に前記複数の記憶素子のパラメータを読み出すことを特徴とする請求項5記載の回路検証方法。
【請求項7】
さらに、前記記憶素子から読み出したパラメータと所定条件とを照合し、当該パラメータが前記所定条件に対応する場合にシミュレーションを実行することを特徴とする請求項5又は6記載の回路検証方法。
【請求項8】
前記半導体デバイスがクロック信号を生成するPLL回路を具備する場合、前記半導体デバイスのエミュレーション中は前記PLL回路に対しクロック信号の出力を指示し、前記半導体デバイスからパラメータを取得する間は前記PLL回路に対しクロック信号の出力停止を指示することを特徴とする請求項5乃至7のいずれか1項に記載の回路検証方法。」

と、補正し、

明細書の段落【0014】、【0015】を、

「【0014】
本発明に係る回路検証装置は、ハードウェア記述言語に基づく論理回路が形成された半導体デバイスの回路検証装置であって、前記半導体デバイスのエミュレーションを実行するための信号を含む制御信号を当該半導体デバイスへ入力するエミュレーション部と、前記半導体デバイスの論理回路に対応したハードウェア記述言語により当該論理回路のシミュレーションを実行するシミュレーション部と、前記半導体デバイスのエミュレーション開始後にシミュレーションに係るパラメータを当該半導体デバイスから取得する取得部と、前記取得部が取得したパラメータを前記シミュレーション部によるシミュレーションに適用する設定部と、前記半導体デバイスの論理回路を前記取得部によるパラメータ取得前に修正する回路修正部とを備え、前記回路修正部は、前記半導体デバイスの論理回路を修正するとき、当該論理回路にてパラメータを記憶する記憶素子が前記制御信号によりリング型のシフトレジスタとして動作するためのバイパス配線と、前記バイパス配線を介して当該記憶素子のパラメータを読み出し且つ該パラメータを前記取得部へ出力する読出部とを当該論理回路に付加する。
【0015】
本発明に係る回路検証方法は、ハードウェア記述言語に基づく論理回路が形成された半導体デバイスにおいて該半導体デバイスのシミュレーションに係るパラメータを記憶する記憶素子がリング型のシフトレジスタとして動作するための配線を当該論理回路に付加し、前記半導体デバイスのエミュレーションを開始し、前記エミュレーションの開始後、前記記憶素子をシフトレジスタとして動作させて当該記憶素子のパラメータを読み出し、前記半導体デバイスの論理回路に対応したハードウェア記述言語に前記読み出したパラメータを適用して当該論理回路のシミュレーションを実行するという方法である。」

を、

「【0014】
本発明に係る回路検証装置は、ハードウェア記述言語に基づく論理回路が形成された半導体デバイスの回路検証装置であって、前記半導体デバイスのエミュレーションを実行するための信号を含む制御信号を当該半導体デバイスへ入力するエミュレーション部と、前記半導体デバイスの論理回路に対応したハードウェア記述言語により当該論理回路のシミュレーションを実行するシミュレーション部と、前記半導体デバイスのエミュレーション開始後にシミュレーションに係るパラメータを当該半導体デバイスから取得する取得部と、前記取得部が取得したパラメータを前記シミュレーション部によるシミュレーションに適用する設定部と、前記半導体デバイスの論理回路を前記取得部によるパラメータ取得前に修正する回路修正部とを備え、前記回路修正部は、前記半導体デバイスの論理回路を修正するとき、当該論理回路にてパラメータを記憶する複数の記憶素子が前記制御信号によりリング型のシフトレジスタとして動作するためのバイパス配線と、前記バイパス配線を介して当該複数の記憶素子のパラメータを読み出し且つ該パラメータを前記取得部へ出力する読出部とを当該論理回路に付加する。
【0015】
本発明に係る回路検証方法は、ハードウェア記述言語に基づく論理回路が形成された半導体デバイスにおいて該半導体デバイスのシミュレーションに係るパラメータを記憶する複数の記憶素子がリング型のシフトレジスタとして動作するための配線を当該論理回路に付加し、前記半導体デバイスのエミュレーションを開始し、前記エミュレーションの開始後、前記複数の記憶素子を前記リング型のシフトレジスタとして動作させて当該記憶素子のパラメータを読み出し、前記半導体デバイスの論理回路に対応したハードウェア記述言語に前記読み出したパラメータを適用して当該論理回路のシミュレーションを実行するという方法である。」

と、補正するものである。

すなわち、特許請求の範囲については、
補正前の請求項1の「記憶素子」を「複数の記憶素子」に補正し、
補正前の請求項5ないし8を削除し、
補正前の請求項9の「記憶素子」を「複数の記憶素子」に、「シフトレジスタとして動作させて」の「シフトレジスタ」を「前記リング型のシフトレジスタ」に補正して、補正後の請求項5とし、
補正前の請求項10ないし12を、補正後の請求項6ないし8として、引用する請求項を補正後の請求項に合わせるように補正し、
補正前の請求項13ないし16を削除したものである。

また、明細書の段落【0014】、【0015】については、
補正後の特許請求の範囲の記載に合わせるように、補正されたものである。

2.補正の適否

請求項1についてする補正は、「記憶素子」について「複数の記憶素子」とさらに特定するものである。

請求項2ないし4については、請求項1を引用するので、請求項1についてする補正と同様に特定するものである。

請求項5(補正前の請求項9)についてする補正は、「記憶素子」について「複数の記憶素子」とさらに特定し、「シフトレジスタ」を「前記リング型のシフトレジスタ」とすることにより、シフトレジスタについて、該記載の前に記載されている「リング型のシフトレジスタ」を指すように特定するものである。

請求項6ないし8(補正前の請求項10ないし12)については、請求項5を引用するので、請求項5についてする補正と同様に特定するものである。

したがって、請求項1ないし4についてする補正は、「記憶素子」について「複数の記憶素子」とさらに特定するものであり、
請求項5ないし8についてする補正は、「記憶素子」について「複数の記憶素子」とさらに特定し、「シフトレジスタ」を「前記リング型のシフトレジスタ」とすることにより、シフトレジスタについて、該記載の前に記載されている「リング型のシフトレジスタ」を指すように特定するものであるから、特許法第17条の2第5項第2号の特許請求の範囲の減縮を目的とするものに該当する。

そこで、本件補正後の請求項5に記載された発明(以下、「本願補正発明」という。)が特許出願の際独立して特許を受けることができるものであるか(特許法第17条の2第6項において準用する同法第126条第7項の規定に適合するか)について以下に検討する。

(1)本願補正発明

本願補正発明は、以下のとおりである。
「ハードウェア記述言語に基づく論理回路が形成された半導体デバイスにおいて該半導体デバイスのシミュレーションに係るパラメータを記憶する複数の記憶素子がリング型のシフトレジスタとして動作するための配線を当該論理回路に付加し、
前記半導体デバイスのエミュレーションを開始し、
前記エミュレーションの開始後、前記複数の記憶素子を前記リング型のシフトレジスタとして動作させて当該記憶素子のパラメータを読み出し、
前記半導体デバイスの論理回路に対応したハードウェア記述言語に前記読み出したパラメータを適用して当該論理回路のシミュレーションを実行することを特徴とする回路検証方法。」

(2)刊行物の記載事項

(2.1)特表2003-503791号公報

これに対して、原査定の拒絶の理由で引用された本願の出願の日前に頒布された刊行物である特表2003-503791号公報(以下、「引用例1」という。)には、図面とともに、以下の事項が記載されている。

「【0001】
【技術分野】
本発明は、設計されたデジタル回路を設計検証及び検査する技術に関し、設計されたデジタル回路をプログラム可能なチップ又は注文型半導体チップにより実際のハードウェアのように具現し、エミュレーション基盤により設計検証及び検査する過程を迅速化することを可能にする入出力探針装置及びこれを用いた入出力探針方法に関する。それだけでなく、設計されたデジタル回路をプログラム可能なチップ又は注文型半導体チップにより実際のハードウェアのように具現し、エミュレーション基盤により検証する過程の途中において自動的に切り替え、引き続く検証を、コンピュータ上において実行されるシミュレータでもってシミュレーション基盤により検証し、又は逆に、コンピュータ上において実行されるシミュレータでシミュレーション基盤により検証する途中において自動的に切り替え、引き続く検証を、エミュレーション基盤により検証し、このようなエミュレーションとシミュレーションとを1回以上交互に繰り返して検証することができるエミュレーションとシミュレーションの混合検証方法と、そのための混合検証装置に関する。」

「【0026】
入出力探針インターフェースモジュールは、入出力探針システム制御部があるサーバ用コンピュータと、設計されたデジタル回路が具現される1以上の半導体チップ(例えば、FPGA)を取り付けている任意のプロトタイピングボードとを連結する機能を果たす。入出力探針インターフェースモジュールのまた他の重要な機能は、入出力探針のために必要な1以上のシステムクロックと探針クロック、また動作モード制御信号、探針モード制御信号、探針用メモリ読み書き信号等を入出力探針システム制御部の制御下で生成して、必要なときに任意のプロトタイピングボードに供給することにより、任意のプロトタイピングボード動作の実行と停止を制御することである。」

「【0032】
入出力探針システム制御部32は、入出力探針インターフェースモジュール26を通じて設計検証する過程において、ユーザーが所望の任意の時点や状況において、任意のプロトタイピングボード44に具現される設計検証対象回路の完全状態情報(complete state information)や、或いは部分状態情報(partial state information)を、上記任意の時点や状況において、プロトタイピングボードから読み取るか、若しくは反対に特定の状態情報値をボードに書き込むことができる。
【0033】
このために、入出力探針対象となる任意のプロトタイピングボードに取り付けられた半導体チップに、動作モード制御(正常モード*/探針モード)信号、探針モード制御(入力探針*/出力探針)信号、探針クロックを供給することができる3個の物理的ピン及び入出力探針データ信号を供給することができる1個以上の入出力探針ピンが備えられなければならない。また、ボード上にこれらと連結されるコネクタを設けて、上記のピンを入出力探針インターフェースモジュール26に連結する。
【0034】
また、これと共に、上記半導体チップに内蔵されたメモリに対する入出力探針を行おうとする場合には、探針用メモリ読み書き(無し*/有り)信号の役割をする1個の物理的ピンが更に入出力探針インターフェースモジュール26に連結されることが必要である。
【0035】
ここで、状態情報(state information)とは、デジタル回路のメモリ素子(フリップフロップやラッチ)等の値とメモリ(RAMやROM)の内容を示す用語である。完全状態情報とは、設計検証対象回路の全てのメモリ素子の値と全てのメモリの内容を意味し、部分状態情報とは、設計検証対象回路の一部分のメモリ素子の値と(又は)一部分のメモリの内容を意味する。
【0036】
また、メモリ素子とメモリは相違するものであり、メモリ素子は、フリップフロップ(flipflop)やラッチ(latch)を意味し、メモリは、RAM(Random Access Memory)やROM(Read Only Memory)を意味する。
【0037】
先ず、設計検証対象回路にメモリが存在しない場合と仮定して、本発明における入出力探針方法を説明することにし、メモリが存在する場合に対しては後述する。
【0038】
図1の入出力探針システム制御部32の入出力探針システムソフトウェアは、設計検証対象回路を入出力探針が可能になるように自動化した方式に変換させる入出力探針回路合成器を含む。このような入出力探針回路合成器は、IOP-探針用付加回路(後述する)を設計検証対象回路に付加することにより、自動化した方式で、完成された回路(これを“拡張された設計検証対象回路”という)を生成するようになる。
【0039】
出力探針モードにおいて、拡張された設計検証対象回路に含まれるIOP-探針用付加回路は、シフトレジスタ構造であり、探針クロックに同期化されたシフティング動作の直前にシフトレジスタに出力探針対象となる回路内の全部又は一部分のメモリ素子の論理値を入力する役割をする。
【0040】
一方、入力探針モードにおいても、付加回路は、シフトレジスト構造であって、シフティング動作を行う。但し、入力探針モードにおいて、付加回路は、このようなシフティング動作を用いて入力探針対象となる回路内の全部又は一部分のメモリ素子に入力探針値を入力するようになる。この際、付加回路の起動は、同期的(synchronous)セット(set)又は同期的リセット(reset)動作、或いは非同期的(asynchronous)セット又は非同期的リセット動作に次ぐ同期的セット又は同期的リセット、及び非同期的セット又は非同期的リセット動作に次ぐ同期的ディセーブル(disable)動作にする。
【0041】
又、正常モードにおいては、付加回路が付加されていても設計検証対象回路の関数的論理性質(functional logical behavior)が変形されないようにする回路を作り出すことが、拡張された設計検証対象回路に含まれるIOP-探針用付加回路のまた他の役割である。
【0042】
又、設計検証対象が、ハードウェア口述言語(以下、HDLという)コードで口述される場合は、IOP-探針用付加回路の行為(behavior)を表す付加HDLコードが、設計検証対象HDLコードに付加されることによりHDLコードが完成される。出力探針モードにおいては、付加HDLコードを付加することにより形成されるHDL部分がシフトレジスタの行為を表している。
【0043】
従って、探針クロックに同期化されたシフティング動作の直前に、シフトレジスタの行為を表すHDLコードにおけるレジスタHDLコードの信号線が有する信号値は、出力探針対象となるメモリ素子の全部又は一部分の出力信号値を有するようになる。
【0044】
入力探針モードにおいて、付加HDLコードを付加することにより形成されるHDLコード部分もシフトレジスタ構造となっており、探針クロックに同期化されたシフティング動作を行う。
【0045】
このようなシフティング動作を用いて、入力探針対象となるHDLコードの信号に対する同期的(synchronous)セット(set)又は同期的リセット(reset)動作、或いは非同期的(asynchronous)セット又は非同期的リセット動作に次ぐ同期的セット又は同期的リセット、及び非同期的セット又は非同期的リセット動作に次ぐ同期的ディセーブル(disable)動作により、入力探針対象となるシグナルの論理値が入力探針値となるようにする。
【0046】
又、正常モードにおいては、IOP-探針用付加HDLコードが付加されていても、設計検証HDLコードの行為を変形させないことが、拡張された設計検証HDLコードに含まれるIOP-探針用付加HDLコードのまた他の役割である。
【0047】
図2は、二重入力D型フリップフロップ75とトライステートバッファ79を用いて、上記のようなIOP-探針用付加回路から構成されるパラレルロードとシリアルロードが、入出力モード設定によって可能なシフトレジスタアレイ構造の一例を概略的に示す図である。
【0048】
図3は、単一入力D型フリップフロップ76とトライステートバッファ79とマルチプレクサ74を用いて、上記のようなシフトレジスタアレイ構造のまた他の一例を概略的に示す図である。
【0049】
図4は、このようなシフトレジスタアレイ構造を始めとするIOP-探針用付加回路に用いられる多様なD型フリップフロップのシンボルと関数的機能を概略的に示す図である。
【0050】
図6は、マルチプレクサ74と単一入力D型フリップフロップであり、図4の二重入力D型フリップフロップの具現例を概略的に示す図である。
【0051】
回路具現に用いる半導体チップをRFPD12と仮定して、IOP-探針用付加回路の機能を具現する具体的な一つの方法を説明すると、次のとおりである。
【0052】
上記IOP-探針用付加回路が、設計検証対象回路が具現された1以上のRFPDチップ内において、探針対象メモリ素子の信号線と二重入力フリップフロップ等により、パラレルロード(parallel-load)とシリアルロード(serial-load)が、モード変換によって全て可能な1以上のシフトレジスタアレイ構造となる。
【0053】
出力探針モードにおいては、二重入力フリップフロップ等のそれぞれの1入力を出力探針対象メモリ素子の出力信号線に連結して、出力探針対象信号線上の論理値のそれぞれを二重入力フリップフロップのそれぞれにパラレルローディングが可能にする。その後、1以上のシフトレジスタアレイ構造のそれぞれに存在する1個のフリップフロップの出力が、該当RFPDの1以上の出力探針線の役割をする入出力ピン(I/O pin)にそれぞれ論理的に連結されるようにし、シフトレジスタの探針クロックと同期化されたシフティング動作により、シフトレジスタの全てのフリップフロップの論理値が、上記出力探針線の役割をする入出力ピン上に順次に表れるようにする。
【0054】
このような出力探針においては、探針対象信号線が、メモリ素子の出力線になることもあるが、組み合わせ的ゲートの出力線であることもある。入力探針においては、メモリ素子に入力探針値を保存することができるように、メモリ素子の出力線に対してのみ入力探針を行う。上記のようなシフトレジスタアレイ構造となり、入力探針モードにおいては、シリアルロードが可能な1以上のシフトレジスタアレイ構造のそれぞれに存在する1個のフリップフロップの入力が、該当RFPDの1以上の入力探針線の役割をする1個の入出力ピンにそれぞれ論理的に連結されるようにして、探針クロックと同期化されたシフティング動作により、入力探針線の役割をする入出力ピンを通じて、外部から順次に供給される入力探針値を、シフトレジスタにシリアル方式でローディング可能にし、上記シリアルロードが可能な1以上のシフトレジスタアレイを構成するフリップフロップ等のそれぞれの出力が、入力探針対象となる該当メモリ素子のクロック入力にシステムクロック(システムクロックとは、設計検証対象回路に全域的に用いられるクロックをいう)が、直接連結されている場合は、該当入力探針対象の信号線のそれぞれを駆動(drive)するそれぞれの該当メモリ素子を代替したそれぞれの二重入力フリップフロップの1データ入力に連結されるようにする。」

「【0063】
図7aの回路は、出力探針モードにおいては、設計検証対象回路と共に、探針対象信号線と二重入力フリップフロップ(図7aにおいて、PFF0、PFF1、PFF2、PFF3)により、パラレルロードが可能なシフトレジスタアレイ構造となるように構成される。同時に、二重入力フリップフロップのそれぞれの1入力D1を、探針対象信号線y0、y1、y2、y3のそれぞれに連結して探針対象の信号線の論理値を二重入力フリップフロップに並列的にローディング可能にする。
【0064】
出力探針の際は、シフトレジスタアレイ構造に存在する1個のフリップフロップの出力(ここでは、最右側のものPFF3)が、入出力探針線に論理的に連結され得る。入力探針モードにおいては、パラレルロードが可能なシフトレジスタアレイ構造のそれぞれに存在する1個のフリップフロップの1入力(ここでは、最左側のものPFF0)が、入力探針線に論理的に連結される。」

「【0110】
ステップ300において、サーバ用コンピュータを用いて、設計検証対象HDLコードと設計時に用いられたASICベンダライブラリ名を入力した後、これを用いて本発明の入出力探針が可能な任意のプロトタイピングボードの1以上のRFPDにIOP-探針用付加HDLコードが付加された、拡張された設計検証対象HDLコードを入出力探針システム制御部を用いて自動化された方式で生成し、これを任意のプロトタイピングボード上の1以上のRFPDに具現させ、サーバ用コンピュータで任意のシミュレータを用いた設計検証対象HDLコードのシミュレーションの実行を準備する(S300)。ステップ302において、サーバ用コンピュータ20を用い、エミュレーションとシミュレーションの混合検証対象となる設計検証対象HDLコードに対する初期状態情報(state information:回路内の全てのメモリ素子(フリップフロップ又はラッチ)に対する値)を入力し、任意のシミュレータのためのシミュレーション用HDLコードと任意のプロトタイピングボードのためのエミュレーション用HDLコードの現在状態情報を初期状態情報と同一にし、検証方法の切り替え時点や切り替え条件のシーケンスを決定し、これを実行モードスイッチング条件キューに保存した後、キューの最前のものを現在の検証方法の切り替え時点と切り替え条件とする(S302)。ステップ304においては、現在状態情報をもってシミュレーション検証を行うか、エミュレーション検証を行うかを決定する(S304)。エミュレーション検証が行われる場合は、ステップ306に進み、上記任意のプロトタイピングボードを用いて、現在の検証停止時点や停止条件を満たすまでエミュレーション検証を進める(S306)。ステップ308においては、追加の検証過程が必要であるか否かを調べ、必要でなければ全体過程を終了し、必要であればステップ309に進む(S308)。ステップ309においては、実行モードスイッチング条件キューが空いているか否かを調べ、空いていなければステップ315に進み、空いていればステップ311に進む(S309)。ステップ311においては、新たな検証方法の切り替え時点や切り替え条件のシーケンスを、実行モードスイッチング条件キューに保存する必要があるか否かを調べ、必要でなければステップ308に進み、必要であればステップ313に進む(S311)。ステップ313においては、新たな検証方法の切り替え時点や切り替え条件のシーケンスを、実行モードスイッチング条件キューに保存し、ステップ315に進む(S313)。ステップ315においては、実行モードスイッチング条件キューにより、現在の検証方法の切り替え時点と切り替え条件を新たに設定し、ステップ317に進む(S315)。ステップ317においては、現在の検証方法がエミュレーションであるかシミュレーションであるかを調べ、エミュレーションであればステップ334に進み、シミュレーションであればステップ332に進む(S317)。ステップ332においては、サーバコンピュータ上でシミュレーションから得られた現在の検証停止時点における設計検証対象HDLコードの現在状態情報を、任意のプロトタイピングボード上の1以上のRFPDに具現された、拡張された設計検証対象HDLコードが同様に有することができるように、RFPDに本発明の入力探針を行い、ステップ306に進む(S332)。ステップ334においては、任意のプロトタイピングボード上の1以上のRFPDに具現された、拡張された設計検証対象HDLコードに対する本発明の出力探針から得られた現在の検証停止時点における設計検証対象HDLコードの現在状態情報を、サーバコンピュータ上の任意のシミュレータにより行われている設計検証対象HDLコードが同様に有することができるように、任意のプロトタイピングボード上の1以上のRFPDに本発明の出力探針を行い、ステップ320に進む(S334)。ステップ320においては、サーバコンピュータ上の任意のシミュレータを用いて、現在の検証方法の切り替え時点や切り替え条件を満たすまでシミュレーション検証を進め、ステップ308に進む(S320)。」

また、図7aの記載では、入出力探針線に連結される二重入力フリップフロップ(PFF3)の出力は、始めの二重入力フリップフロップ(PFF0)に入力されるように構成されている。

ここで、上記記載について検討する。

「本発明は、設計されたデジタル回路を設計検証及び検査する技術に関し、」(段落【0001】)との記載から、
引用例1には、「設計されたデジタル回路を設計検証する技術」が記載されている。

「本発明は、設計されたデジタル回路を設計検証及び検査する技術に関し、設計されたデジタル回路をプログラム可能なチップ又は注文型半導体チップにより実際のハードウェアのように具現し、」(段落【0001】)、「設計されたデジタル回路が具現される1以上の半導体チップ(例えば、FPGA)を取り付けている任意のプロトタイピングボード」(段落【0026】)、「設計検証対象が、ハードウェア口述言語(以下、HDLという)コードで口述される」(段落【0042】)との記載から、
引用例1に記載の設計されたデジタル回路を設計検証する技術は、「ハードウェア口述言語コードで口述される設計されたデジタル回路が具現される半導体チップを取り付けたプロトタイピングボード」を有するものである。

「出力探針モードにおいては、二重入力フリップフロップ等のそれぞれの1入力を出力探針対象メモリ素子の出力信号線に連結して、出力探針対象信号線上の論理値のそれぞれを二重入力フリップフロップのそれぞれにパラレルローディングが可能にする。」(段落【0053】)、「図7aの回路は、出力探針モードにおいては、設計検証対象回路と共に、探針対象信号線と二重入力フリップフロップ(図7aにおいて、PFF0、PFF1、PFF2、PFF3)により、パラレルロードが可能なシフトレジスタアレイ構造となるように構成される。同時に、二重入力フリップフロップのそれぞれの1入力D1を、探針対象信号線y0、y1、y2、y3のそれぞれに連結して探針対象の信号線の論理値を二重入力フリップフロップに並列的にローディング可能にする。
出力探針の際は、シフトレジスタアレイ構造に存在する1個のフリップフロップの出力(ここでは、最右側のものPFF3)が、入出力探針線に論理的に連結され得る。」(段落【0063】、【0064】)、「任意のシミュレータのためのシミュレーション用HDLコードと任意のプロトタイピングボードのためのエミュレーション用HDLコードの現在状態情報を初期状態情報と同一にし、・・・エミュレーション検証が行われる場合は、ステップ306に進み、上記任意のプロトタイピングボードを用いて、現在の検証停止時点や停止条件を満たすまでエミュレーション検証を進める(S306)。・・・現在の検証方法がエミュレーションであるかシミュレーションであるかを調べ、エミュレーションであればステップ334に進み、・・・ステップ334においては、任意のプロトタイピングボード上の1以上のRFPDに具現された、拡張された設計検証対象HDLコードに対する本発明の出力探針から得られた現在の検証停止時点における設計検証対象HDLコードの現在状態情報を、サーバコンピュータ上の任意のシミュレータにより行われている設計検証対象HDLコードが同様に有することができるように、任意のプロトタイピングボード上の1以上のRFPDに本発明の出力探針を行い、ステップ320に進む(S334)。ステップ320においては、サーバコンピュータ上の任意のシミュレータを用いて、現在の検証方法の切り替え時点や切り替え条件を満たすまでシミュレーション検証を進め、ステップ308に進む(S320)。」(段落【0110】)
との記載、入出力探針線に連結される二重入力フリップフロップ(PFF3)の出力は、始めの二重入力フリップフロップ(PFF0)に入力されるように動作されている図7aの記載から、
引用例1に記載の設計されたデジタル回路を設計検証する技術は、「出力探針から得られた現在の検証停止時点における設計検証対象HDLコードの現在状態情報を、サーバコンピュータ上の任意のシミュレータにより行われている設計検証対象HDLコードが同様に有することができるように、出力探針対象メモリ素子の出力信号線に二重入力フリップフロップを連結し、出力探針対象メモリ素子の論理値のそれぞれがパラレルローディングされる複数の二重入力フリップフロップをシフトレジスタアレイ構造とし、入出力探針線に連結される二重入力フリップフロップ(PFF3)の出力は、始めの二重入力フリップフロップ(PFF0)に入力されるように動作し、
現在の検証停止時点や停止条件を満たすまで、プロトタイピングボードを用いてエミュレーション検証を進め、
複数の二重入力フリップフロップの出力を、シフトレジスタアレイ構造にて入出力探針線に出力し、
サーバコンピュータ上の任意のシミュレータにより行われている設計検証対象HDLコードにてシミュレーション検証を進める」ものである。

したがって、引用例1には以下の発明(以下、「引用例1発明」という。)が記載されている。

「ハードウェア口述言語コードで口述される設計されたデジタル回路が具現される半導体チップを取り付けたプロトタイピングボードにおいて、
出力探針から得られた現在の検証停止時点における設計検証対象HDLコードの現在状態情報を、サーバコンピュータ上の任意のシミュレータにより行われている設計検証対象HDLコードが同様に有することができるように、出力探針対象メモリ素子の出力信号線に二重入力フリップフロップを連結し、出力探針対象メモリ素子の論理値のそれぞれがパラレルローディングされる複数の二重入力フリップフロップをシフトレジスタアレイ構造とし、入出力探針線に連結される二重入力フリップフロップ(PFF3)の出力は、始めの二重入力フリップフロップ(PFF0)に入力されるように動作し、
現在の検証停止時点や停止条件を満たすまで、プロトタイピングボードを用いてエミュレーション検証を進め、
複数の二重入力フリップフロップの出力を、シフトレジスタアレイ構造にて入出力探針線に出力し、
サーバコンピュータ上の任意のシミュレータにより行われている設計検証対象HDLコードにてシミュレーション検証を進める
ことを特徴とする設計されたデジタル回路を設計検証する技術。」

(2.2)特開平6-52259号公報

また、原査定の拒絶の理由で引用された本願の出願の日前に頒布された刊行物である特開平6-52259号公報(以下、「引用例2」という。)には、図面とともに、以下の事項が記載されている。

「【0002】
【従来の技術】
一般に、情報処理機器に使用されているLSIは、過去の入力を保持するためにレジスタ(フリップフロップ)回路を使用している。しかし、近年のLSIは、ピン数より集積度が急激に上昇し、回路が大きくなったり、論理深度が深くなったため、その動作をチェックするのに膨大な長さのパターンが必要となり、パターンの作成が大きな負担となっている。また、パターンが長いと回路全体の動作が完全にチェックできなかったり、故障検出率(作成したパターンで、信号線の値が“0”または、“1”に固定されてしまう故障がどの程度発見できるか)が上がらないという問題がある。
【0003】
その問題を打開するために、LSI回路内に通常回路とは別にレジスタ(フリップフロップ)回路をシリアルに接続したパス(スキャン)を設けることにより、全てのレジスタ(フリップフロップ)回路が一つのシフトレジスタとみなすことができる。そして、各レジスタ(フリップフロップ)回路の入力部分に追加したセレクタをシフトモード時には、シフト動作を利用し回路内部に直接に値を設定可能とし、回路内部の値を直接観測可能とする方法がとられている。これにより、そのパス内のレジスタ(フリップフロップ)回路は、外部端子と同様にみなせ故障検出率が向上する。
【0004】
スキャンの入った回路の簡略化した一例を図2に示す。図2において、組み合わせ回路201は、その時点の入力の状態と内部のゲートの組み合わせ方によって出力が決まるものである。順序回路202は、記憶回路を含むもので、出力は過去の入力の状態を受け、その時点及び過去の入力の状態によって出力が決まるものであり、ここではフリップフロップ回路で想定している。203は通常の入力端子、204はスキャン入力端子、205はスキャンモードと通常モードの切り替え入力である。また、206はスキャン用クロック(通常のクロックと共用も可)で、207はスキャン出力端子、208は通常の出力端子である。スキャン入力端子204から各レジスタ(フリップフロップ)回路を経由しスキャン出力端子207に出力されるパスがスキャンである。」

すなわち、引用例2には、LSI回路内に通常回路とは別にフリップフロップ回路をシリアルに接続したパスを設けることにより、全てのフリップフロップ回路を一つのシフトレジスタとみなし、スキャン出力端子207に出力することにより、回路内部の値を直接観測可能とする技術が示されている。

(3)引用例1発明との対比
本願補正発明と引用例1発明とを対比する。

(3.1)本願補正発明の「ハードウェア記述言語に基づく論理回路が形成された半導体デバイス」について

引用例1発明は、「ハードウェア口述言語コードで口述される設計されたデジタル回路が具現される半導体チップを取り付けたプロトタイピングボード」における発明であり、引用例1発明の「ハードウェア口述言語」は、段落【0042】にて、「(以下、HDLという)」と記載されていることから、hardware description languageすなわち、本願補正発明の「ハードウェア記述言語」に一致する。

また、引用例1発明の「デジタル回路が具現される」について、図7aのように、FF0?FF3のようなフリップフロップ回路を有した構成であるので、本願補正発明の「論理回路が形成された」に一致する。

本願明細書の「図2は、半導体デバイス102における記憶素子周辺の修正前の構成である。」(段落【0027】)および図2をみるに、本願補正発明の「半導体デバイス」とは、設計された記憶素子や組合せ回路を含む構成であり、引用例1発明の「プロトタイピングボード」も、半導体チップが取り付けられた構造であるから、引用例1発明の「プロトタイピングボード」は、本願補正発明の「半導体デバイス」に一致する。

そうすると、本願補正発明と引用例1発明は、「ハードウェア記述言語に基づく論理回路が形成された半導体デバイス」という点で一致する。

(3.2)本願補正発明の「該半導体デバイスのシミュレーションに係るパラメータを記憶する複数の記憶素子がリング型のシフトレジスタとして動作するための配線を当該論理回路に付加し、」について

引用例1発明は、「出力探針から得られた現在の検証停止時点における設計検証対象HDLコードの現在状態情報を、サーバコンピュータ上の任意のシミュレータにより行われている設計検証対象HDLコードが同様に有することができるように、出力探針対象メモリ素子の出力信号線に二重入力フリップフロップを連結し、出力探針対象メモリ素子の論理値のそれぞれがパラレルローディングされる複数の二重入力フリップフロップをシフトレジスタアレイ構造とし、入出力探針線に連結される二重入力フリップフロップ(PFF3)の出力は、始めの二重入力フリップフロップ(PFF0)に入力されるように動作」するものである。

引用例1発明の「出力探針から得られた現在の検証停止時点における設計検証対象HDLコードの現在状態情報を、サーバコンピュータ上の任意のシミュレータにより行われている設計検証対象HDLコードが同様に有することができるように、出力探針対象メモリ素子の出力信号線に二重入力フリップフロップを連結し、出力探針対象メモリ素子の論理値のそれぞれがパラレルローディングされる複数の二重入力フリップフロップ」について、検証停止時点とは、「現在の検証停止時点や停止条件を満たすまで、プロトタイピングボードを用いてエミュレーション検証を進め、複数の二重入力フリップフロップの出力を、シフトレジスタアレイ構造にて入出力探針線に出力し、サーバコンピュータ上の任意のシミュレータにより行われている設計検証対象HDLコードにてシミュレーション検証を進める」という構成から考えるに、エミュレーションを停止し、シミュレーションに移る時点のことであり、その時点での出力探針対象メモリ素子の論理値が、複数の二重入力フリップフロップに入力され、シミュレータに渡されるものである。
そうすると、複数の二重入力フリップフロップには、シミュレータにて使用するための論理値が記憶されることになるから、引用例1発明の「出力探針から得られた現在の検証停止時点における設計検証対象HDLコードの現在状態情報を、サーバコンピュータ上の任意のシミュレータにより行われている設計検証対象HDLコードが同様に有することができるように、出力探針対象メモリ素子の出力信号線に二重入力フリップフロップを連結し、出力探針対象メモリ素子の論理値のそれぞれがパラレルローディングされる複数の二重入力フリップフロップ」は、本願補正発明の「該半導体デバイスのシミュレーションに係るパラメータを記憶する複数の記憶素子」に一致する。

引用例1発明は、「複数の二重入力フリップフロップをシフトレジスタアレイ構造とし、入出力探針線に連結される二重入力フリップフロップ(PFF3)の出力は、始めの二重入力フリップフロップ(PFF0)に入力されるように動作」していることから、複数の二重入力フリップフロップはリング型のシフトレジスタアレイ構造になっているので、引用例1発明の「複数の二重入力フリップフロップをシフトレジスタアレイ構造とし、入出力探針線に連結される二重入力フリップフロップ(PFF3)の出力は、始めの二重入力フリップフロップ(PFF0)に入力されるように動作」は、本願補正発明の「複数の記憶素子がリング型のシフトレジスタとして動作する」に一致する。

引用例1発明の「出力探針対象メモリ素子の出力信号線に二重入力フリップフロップを連結し、出力探針対象メモリ素子の論理値のそれぞれがパラレルローディングされる複数の二重入力フリップフロップをシフトレジスタアレイ構造とし、入出力探針線に連結される二重入力フリップフロップ(PFF3)の出力は、始めの二重入力フリップフロップ(PFF0)に入力されるように動作」とは、複数の二重入力フリップフロップがリング型のシフトレジスタとして動作する構成における各二重入力フリップフロップを、設計されたデジタル回路の各出力探針対象メモリ素子に連結することである。
それに対して、本願補正発明は、「複数の記憶素子がリング型のシフトレジスタとして動作するための配線を当該論理回路に付加」するのであって、“当該”、すなわち、“ハードウェア記述言語に基づく”論理回路に配線を付加することにより、複数の記憶素子がリング型のシフトレジスタとして動作するものである。
(3.1)にて検討したように、本願補正発明と引用例1発明は、「ハードウェア記述言語に基づく論理回路が形成された半導体デバイス」という点で一致するものである。引用例1発明における、ハードウェア記述言語に基づく論理回路(ハードウェア口述言語コードで口述される設計されたデジタル回路)とは、図7aにおいては、フリップフロップ回路FF0?FF3により設計されたデジタル回路のことであるが、引用例1発明は、フリップフロップ回路FF0?FF3により設計されたデジタル回路に配線を付加することにより、複数の記憶素子がリング型のシフトレジスタとして動作するものでない。
そうすると、引用例1発明は、“ハードウェア記述言語に基づく”論理回路に配線を付加することにより、複数の記憶素子がリング型のシフトレジスタとして動作するものでなく、すなわち、「複数の記憶素子がリング型のシフトレジスタとして動作するための配線を当該論理回路に付加」するものではない。

したがって、本願補正発明の「該半導体デバイスのシミュレーションに係るパラメータを記憶する複数の記憶素子がリング型のシフトレジスタとして動作するための配線を当該論理回路に付加し、」について、本願補正発明と引用例1発明は、「該半導体デバイスのシミュレーションに係るパラメータを記憶する複数の記憶素子がリング型のシフトレジスタとして動作する」という点では一致するものの、本願補正発明は、複数の記憶素子がリング型のシフトレジスタとして動作するための配線を“当該”論理回路に付加するのに対し、引用例1発明は、複数の記憶素子(二重入力フリップフロップ)がリング型のシフトレジスタとして動作する構成における各記憶素子(二重入力フリップフロップ)を、設計されたデジタル回路の各出力探針対象メモリ素子に連結する構成であり、複数の記憶素子がリング型のシフトレジスタとして動作するための配線を“当該”論理回路に付加するものではない。

(3.3)本願補正発明の「前記半導体デバイスのエミュレーションを開始し、」について

引用例1発明は、「現在の検証停止時点や停止条件を満たすまで、プロトタイピングボードを用いてエミュレーション検証を進め」るものであるから、エミュレーションを開始するものである。そして、引用例1発明のプロトタイピングボードは、半導体デバイスに一致するものであるから、引用例1発明の「現在の検証停止時点や停止条件を満たすまで、プロトタイピングボードを用いてエミュレーション検証を進め」と、本願補正発明の「前記半導体デバイスのエミュレーションを開始」は一致する。

そうすると、本願補正発明と引用例1発明は、「前記半導体デバイスのエミュレーションを開始」という点で一致する。

(3.4)本願補正発明の「前記エミュレーションの開始後、前記複数の記憶素子を前記リング型のシフトレジスタとして動作させて当該記憶素子のパラメータを読み出し、」について

引用例1発明は、「現在の検証停止時点や停止条件を満たすまで、プロトタイピングボードを用いてエミュレーション検証を進め、複数の二重入力フリップフロップの出力を、シフトレジスタアレイ構造にて入出力探針線に出力」するものである。
ここで、現在の検証停止時点や停止条件を満たすまで、プロトタイピングボードを用いてエミュレーション検証を進め、複数の二重入力フリップフロップの出力を、シフトレジスタアレイ構造にて入出力探針線に出力するのであるから、複数の二重入力フリップフロップの出力を、シフトレジスタアレイ構造にて入出力探針線に出力するのは、エミュレーションの開始後である。
また、複数の二重入力フリップフロップの出力を、シフトレジスタアレイ構造にて入出力探針線に出力することについて、(3.2)にて検討したように、複数の二重入力フリップフロップは、本願補正発明の複数の記憶素子に一致し、リング型のシフトレジスタとして動作しており、入出力探針線に出力することは、複数の二重入力フリップフロップの値を読み出すことであるから、引用例1発明の「現在の検証停止時点や停止条件を満たすまでエミュレーション検証を進め、複数の二重入力フリップフロップの出力を、シフトレジスタアレイ構造にて入出力探針線に出力」と、本願補正発明の「前記エミュレーションの開始後、前記複数の記憶素子を前記リング型のシフトレジスタとして動作させて当該記憶素子のパラメータを読み出し、」は一致する。

そうすると、本願補正発明と引用例1発明は、「前記エミュレーションの開始後、前記複数の記憶素子を前記リング型のシフトレジスタとして動作させて当該記憶素子のパラメータを読み出し、」という点で一致する。

(3.5)本願補正発明の「前記半導体デバイスの論理回路に対応したハードウェア記述言語に前記読み出したパラメータを適用して当該論理回路のシミュレーションを実行する」について

引用例1発明は、「現在の検証停止時点や停止条件を満たすまでエミュレーション検証を進め、複数の二重入力フリップフロップの出力を、シフトレジスタアレイ構造にて入出力探針線に出力し、サーバコンピュータ上の任意のシミュレータにより行われている設計検証対象HDLコードにてシミュレーション検証を進め」ることについて、エミュレーションとシミュレーションは、同じ動作をハードウェアにて行うか、ソフトウェアにて行うかの違いであるから、シミュレーション検証を進める場合には、エミュレーションの際に用いた設計検証対象HDLコードと同じものを使用するのであるから、引用例1発明においても、エミュレーションを行う実際の半導体デバイスの論理回路に対応したハードウェア記述言語にてシミュレーションを実行するものである。
本願補正発明の「前記読み出したパラメータ」は、「前記複数の記憶素子を前記リング型のシフトレジスタとして動作させて当該記憶素子のパラメータを読み出し」を受けていることから、記憶素子内のパラメータを指すものである。
引用例1発明は、「現在の検証停止時点や停止条件を満たすまでエミュレーション検証を進め、複数の二重入力フリップフロップの出力を、シフトレジスタアレイ構造にて入出力探針線に出力し、サーバコンピュータ上の任意のシミュレータにより行われている設計検証対象HDLコードにてシミュレーション検証を進め」るものであるから、複数の二重入力フリップフロップの出力を利用して、シミュレーション検証するものである。そして、(3.4)にて検討したように、引用例1発明の「現在の検証停止時点や停止条件を満たすまでエミュレーション検証を進め、複数の二重入力フリップフロップの出力を、シフトレジスタアレイ構造にて入出力探針線に出力」と、本願補正発明の「前記エミュレーションの開始後、前記複数の記憶素子を前記リング型のシフトレジスタとして動作させて当該記憶素子のパラメータを読み出し、」は一致することから、引用例1発明においても、「前記読み出したパラメータを適用して当該論理回路のシミュレーションを実行する」という点で、本願補正発明と一致する。

そうすると、本願補正発明と引用例1発明は、「前記半導体デバイスの論理回路に対応したハードウェア記述言語に前記読み出したパラメータを適用して当該論理回路のシミュレーションを実行する」という点で一致する。

(3.6)本願補正発明の「回路検証方法」について

引用例1発明は、「設計されたデジタル回路を設計検証する技術」についての発明であり、回路を設計検証する技術は、回路検証方法と捉えることもできる。

そうすると、本願補正発明と引用例1発明は、「回路検証方法」という点で一致する。

(3.7)一致点・相違点

以上の対比によると、本願補正発明と引用例1発明との一致点、相違点は次のとおりである。

[一致点]
「ハードウェア記述言語に基づく論理回路が形成された半導体デバイスにおいて該半導体デバイスのシミュレーションに係るパラメータを記憶する複数の記憶素子がリング型のシフトレジスタとして動作し、
前記半導体デバイスのエミュレーションを開始し、
前記エミュレーションの開始後、前記複数の記憶素子を前記リング型のシフトレジスタとして動作させて当該記憶素子のパラメータを読み出し、
前記半導体デバイスの論理回路に対応したハードウェア記述言語に前記読み出したパラメータを適用して当該論理回路のシミュレーションを実行することを特徴とする回路検証方法。」

[相違点]
本願補正発明は、複数の記憶素子がリング型のシフトレジスタとして動作するための配線を当該論理回路に付加するのに対し、引用例1発明は、複数の記憶素子(二重入力フリップフロップ)がリング型のシフトレジスタとして動作する構成における各記憶素子(二重入力フリップフロップ)を、設計されたデジタル回路の各出力探針対象メモリ素子に連結する構成であり、複数の記憶素子がリング型のシフトレジスタとして動作するための配線を当該論理回路に付加するものではない点。

(4)相違点の検討、判断

上記相違点について検討する。

引用例2には、LSI回路内に通常回路とは別にフリップフロップ回路をシリアルに接続したパスを設けることにより、全てのフリップフロップ回路を一つのシフトレジスタとみなし、スキャン出力端子207に出力することにより、回路内部の値を直接観測可能とする技術が示されている。
当業者であれば、引用例2における回路内部の値を直接観測するために、通常回路とは別にフリップフロップ回路をシリアルに接続したパスを設けることにより、全てのフリップフロップ回路を一つのシフトレジスタとみなし、スキャン出力端子207に出力する技術を、引用例1発明における出力探針対象メモリ素子の値を出力する際に適用し、複数の記憶素子がリング型のシフトレジスタとして動作する構成における各記憶素子を、設計検証対象回路の各出力探針対象メモリ素子に連結する構成に代えて、出力探針対象メモリ素子をシリアルに接続したパスを設けることにより、出力探針対象メモリ素子がシフトレジスタとして動作する構成とすることは、容易に想到できるものである。
なお、引用例1発明に、引用例2の構成を適用した場合、出力探針対象メモリ素子が、本願補正発明の「記憶素子」に一致することとなる。
しかし、引用例1発明に、引用例2の構成を適用しても、出力探針対象メモリ素子をシリアルに接続したパスは、リング型ではない。
そして、引用例1の明細書には、「なお、前述したように、記憶素子201-1?201-Nはリング状に接続されることから、例えば、図3の左端の記憶素子201-1が出力したパラメータは、右端の記憶素子201-Nへ到達した後、一巡して元の記憶素子201-1へ戻る。よって、パラメータの読み出し処理後に、各記憶素子のパラメータが変更されることはない。」(段落【0039】)と記載されているように、リング型に構成することにより、パラメータの読み出し処理後に、各記憶素子のパラメータが変更されることがないようにしたものであるが、引用例1発明に、引用例2の構成を適用した場合には、パラメータの読み出し処理後に、各記憶素子のパラメータが変更されてしまうことになる。
引用例1発明では、(2.1)で検討したように、図7aの記載から、入出力探針線に連結される二重入力フリップフロップ(PFF3)の出力は、始めの二重入力フリップフロップ(PFF0)に入力されるように構成されており、二重入力フリップフロップの連結はリング型の形状をしているものである。しかし、引用例1の二重入力フリップフロップは、エミュレーションの後にシミュレーションをするために、エミュレーション結果を出力することに加えて、シミュレーションの後にエミュレーションをするために、シミュレーション結果を入力することにも用いられるものであり、リング型の形状は、入出力探針線からのシミュレーション結果の入力を始めにPFF0に入力するために形成したものである。確かに、入出力探針線からの入力を始めにPFF0に入力するためにリング型の形状となっているので、エミュレーション結果を出力する際においても、入出力探針線に出力された信号は、始めの二重入力フリップフロップ(PFF0)に入力されることとなるが、引用例1発明において、エミュレーション結果を出力した後に、各二重入力フリップフロップの値を再利用するという思想はないことを考えると、引用例1発明に、引用例2の構成を適用した場合において、引用例1発明のリング型の形状を考慮したとしても、出力探針対象メモリ素子をシリアルに接続したパスをリング型の形状にするように設計することを容易に想到できるとはいえない。

したがって、本願補正発明は、引用例1発明および引用例2に基づいて、当業者が容易に発明をすることができたとはいえない。
請求項6ないし8に係る発明は、請求項5を引用する発明であるので、同様に、引用例1発明および引用例2に基づいて、当業者が容易に発明をすることができたとはいえない。
請求項1ないし4に係る発明についても、同様に、引用例1発明および引用例2に基づいて、当業者が容易に発明をすることができたとはいえない。
また、原査定の拒絶の理由で引用された他の刊行物を検討しても、上記相違点について、容易であるとはいえない。

そして、他に本願を拒絶すべき理由を発見しないので、補正後における特許請求の範囲の請求項1ないし8に記載された事項により特定される発明は、特許出願の際独立して特許を受けることができるものである。
よって、本件補正は、特許法第17条の2第6項において準用する同法第126条第7項の規定に適合する。

3.むすび

本件補正は、特許法第17条の2第3項ないし第6項の規定に適合する。

第3 本願発明

本件補正は、上記のとおり、特許法第17条の2第3項ないし第6項の規定に適合するから、本願の請求項1ないし8に係る発明は、本件補正により補正された特許請求の範囲の請求項1ないし8に記載された事項により特定されるとおりのものである。
そして、本願については、原査定の拒絶理由を検討してもその理由によって拒絶すべきものとすることはできない。
また、他に本願を拒絶すべき理由を発見しない。
よって、結論のとおり審決する。
 
審決日 2013-11-20 
出願番号 特願2008-92124(P2008-92124)
審決分類 P 1 8・ 121- WY (G06F)
最終処分 成立  
前審関与審査官 合田 幸裕早川 学  
特許庁審判長 奥村 元宏
特許庁審判官 渡辺 努
千葉 輝久
発明の名称 回路検証装置および回路検証方法  
代理人 仲野 孝雅  
代理人 永井 道雄  
代理人 関口 正夫  

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ