IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱電機エンジニアリング株式会社の特許一覧

<>
  • 特開-フォーマル検証装置 図1
  • 特開-フォーマル検証装置 図2
  • 特開-フォーマル検証装置 図3
  • 特開-フォーマル検証装置 図4
  • 特開-フォーマル検証装置 図5
  • 特開-フォーマル検証装置 図6
  • 特開-フォーマル検証装置 図7
  • 特開-フォーマル検証装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024100309
(43)【公開日】2024-07-26
(54)【発明の名称】フォーマル検証装置
(51)【国際特許分類】
   G06F 30/3323 20200101AFI20240719BHJP
   G06F 119/16 20200101ALN20240719BHJP
【FI】
G06F30/3323
G06F119:16
【審査請求】未請求
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2023004214
(22)【出願日】2023-01-16
(71)【出願人】
【識別番号】591036457
【氏名又は名称】三菱電機エンジニアリング株式会社
(74)【代理人】
【識別番号】100110423
【弁理士】
【氏名又は名称】曾我 道治
(74)【代理人】
【識別番号】100111648
【弁理士】
【氏名又は名称】梶並 順
(74)【代理人】
【識別番号】100147566
【弁理士】
【氏名又は名称】上田 俊一
(74)【代理人】
【識別番号】100161171
【弁理士】
【氏名又は名称】吉田 潤一郎
(74)【代理人】
【識別番号】100188514
【弁理士】
【氏名又は名称】松岡 隆裕
(72)【発明者】
【氏名】坂本 徹
(72)【発明者】
【氏名】冨田 明宏
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146AA22
5B146GJ04
(57)【要約】
【課題】フォーマル検証を行う際の検証時間を短縮することを目的とする。
【解決手段】フォーマル検証装置1は、先行の演算を行い、先行の演算の演算結果を保持し、保持された演算結果を用いて後続の演算を行う構造を有する演算回路に対してフォーマル検証を行う検証装置本体10を備え、検証装置本体10は、先行の演算が正しく行われることを証明する先行演算証明部110、先行の演算の結果が正しく保持されることを証明する保持証明部120、保持された先行の演算結果を用いる後続の演算が、正しく行われることを証明する後続演算証明部130、及び、各証明部110、120、及び130によって正しいと証明された場合、各証明部110、120、及び130によって既に検証されたもののうち少なくとも一部の検証を、検証対象から除外して、演算回路に対するフォーマル検証を実施する回路検証処理部150を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
演算回路に対してフォーマル検証を実施する検証装置本体を備え、
前記演算回路は、先行の演算を行い、当該先行の演算の演算結果を保持し、保持された当該演算結果を用いて後続の演算を行う構造を有する演算回路であり、
前記検証装置本体は、
前記先行の演算が正しく行われるかどうかを検証し、当該検証の結果に基づいて、前記先行の演算が正しく行われることを証明する先行演算証明部、
前記先行の演算の前記演算結果が、前記後続の演算に使用されるまで正しく保持されるかどうかを検証し、当該検証の結果に基づいて、前記先行の演算の前記演算結果が正しく保持されることを証明する保持証明部、
保持された前記先行の演算の前記演算結果を用いる前記後続の演算が、正しく行われるかどうかを検証し、当該検証の結果に基づいて、前記後続の演算が正しく行われることを証明する後続演算証明部、及び、
前記先行演算証明部と、前記保持証明部と、前記後続演算証明部とによって正しいと証明された場合、前記先行演算証明部と、前記保持証明部と、前記後続演算証明部とによって既に検証されたもののうち少なくとも一部の検証を、検証対象から除外して、前記演算回路に対するフォーマル検証を実施する回路検証処理部
を備える、フォーマル検証装置。
【請求項2】
前記回路検証処理部は、前記演算結果を保持する動作の検証を、前記検証対象から除外する、請求項1に記載のフォーマル検証装置。
【請求項3】
前記検証装置本体は、前記先行演算証明部による処理と、前記保持証明部による処理と、前記後続演算証明部による処理とを並列に行う、請求項1または2に記載のフォーマル検証装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、フォーマル検証装置に関するものである。
【背景技術】
【0002】
従来のフォーマル検証装置は、入力制約、アサーション、及び論理回路を記憶し、これら入力制約、アサーション及び論理回路に基づいて、フォーマル検証を行う。また、フォーマル検証装置は、入力制約として、動的検証の入力条件または動的検証の出力結果を記憶することにより、フォーマル検証時の疑似エラーの発生を抑制する(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第6199813号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のフォーマル検証装置は、擬似エラーの発生を抑制することにより、検証時間の短縮を図ることができる。一方、検証の対象となる演算回路の中には、先行の演算の結果を保持し、保持した先行の演算結果を後続の演算に使用する構造を有するものがある。上記のフォーマル検証装置は、このような演算回路に適した構成となっておらず、検証時間の短縮の効果は限定的である。
【0005】
本開示は、上記のような課題を解決するためになされたものであり、フォーマル検証を行う際の検証時間を短縮することができるフォーマル検証装置を得ることを目的とする。
【課題を解決するための手段】
【0006】
本開示に係るフォーマル検証装置は、演算回路に対してフォーマル検証を実施する検証装置本体を備え、演算回路は、先行の演算を行い、当該先行の演算の演算結果を保持し、保持された当該演算結果を用いて後続の演算を行う構造を有する演算回路であり、検証装置本体は、先行の演算が正しく行われるかどうかを検証し、当該検証の結果に基づいて、先行の演算が正しく行われることを証明する先行演算証明部、先行の演算の演算結果が、後続の演算に使用されるまで正しく保持されるかどうかを検証し、当該検証の結果に基づいて、先行の演算の演算結果が正しく保持されることを証明する保持証明部、保持された先行の演算の演算結果を用いる後続の演算が、正しく行われるかどうかを検証し、当該検証の結果に基づいて、後続の演算が正しく行われることを証明する後続演算証明部、及び、先行演算証明部と、保持証明部と、後続演算証明部とによって正しいと証明された場合、先行演算証明部と、保持証明部と、後続演算証明部とによって既に検証されたもののうち少なくとも一部の検証を、検証対象から除外して、演算回路に対するフォーマル検証を実施する回路検証処理部を備える。
【発明の効果】
【0007】
本開示のフォーマル検証装置によれば、フォーマル検証を行う際の検証時間を短縮することができる。
【図面の簡単な説明】
【0008】
図1】実施の形態1におけるフォーマル検証装置の構成を示すブロック図である。
図2】実施の形態1における一連の検証処理を示すフローチャートである。
図3】検証対象の演算回路における動作仕様の具体例を示すフローチャートである。
図4図2に示す検証処理を、図3の動作を行う演算回路の検証に適用させた場合のフローチャートである。
図5図3の動作を行う演算回路におけるタイミングチャートを示すとともに、先行演算証明部、保持証明部、及び後続演算証明部によって検証されるポイントを示す図である。
図6】回路検証処理部によって検証されるポイントを示す図である。
図7】実施の形態1の検証装置本体を実現する処理回路の第1例を示す構成図である。
図8】実施の形態1の検証装置本体を実現する処理回路の第2例を示す構成図である。
【発明を実施するための形態】
【0009】
以下、実施の形態について、図面を参照しながら説明する。
【0010】
実施の形態1.
図1は、実施の形態1におけるフォーマル検証装置の構成を示すブロック図である。
【0011】
図1において、フォーマル検証装置1は、検証対象の演算回路に対してフォーマル検証を行う検証装置本体10を備えている。
【0012】
ここで、フォーマル検証とは、検証対象の演算回路を数理論理学的に解析することにより、当該演算回路の構成が正しいかどうかを証明する検証技術、または検証方法である。フォーマル検証は、検証対象の演算回路内部で起こり得る状態を網羅的に解析し、検証対象の演算回路の構成が正しいかどうかを証明する。
【0013】
ハードウェアによって構成される演算回路内の各要素は、ソフトウェア制御のようなシーケンシャルな動作ではなく、原則的には並列動作になる。このため、設計段階においては、演算回路内の各要素の処理順序が入れ替わったり、不確定な値にアクセスしたりするなどのエラー動作が起こり得る。フォーマル検証は、このようなエラー動作も含めて、演算回路が持つ各要素で起こり得る全ての状態を、網羅的に検証する。このため、計算量が膨大になる。
【0014】
検証装置本体10は、演算回路が持つ各要素を分割し、個別に検証し、これらが正しいことを証明した上で、全体的なフォーマル検証を行う。これにより、各要素で起こり得る全ての状態の組み合わせを、総当たりで検証する場合に比べ、構成を簡略化することができ、計算量を抑えることができる。
【0015】
また、検証装置本体10は、以下に説明する各機能部を用いて、特定の演算回路に特化したフォーマル検証を行う。ここで、特定の演算回路とは、先行の演算を行い、当該先行の演算の演算結果を保持し、保持された当該演算結果を用いて後続の演算を行う構造を有する演算回路である。
【0016】
検証装置本体10は、先行演算証明部110、保持証明部120、後続演算証明部130、証明判定部140、回路検証処理部150、回路検証判定部160、及び証明結果DB(Database)170を備えている。
【0017】
先行演算証明部110は、先行の演算が正しく行われるかどうかを検証し、当該検証の結果に基づいて、先行の演算が正しく行われることを証明する。
【0018】
保持証明部120は、先行の演算の演算結果が、後続の演算に使用されるまで正しく保持されるかどうかを検証し、当該検証の結果に基づいて、先行の演算の演算結果が正しく保持されることを証明する。
【0019】
後続演算証明部130は、保持された先行の演算の演算結果を用いる後続の演算が、正しく行われるかどうかを検証し、当該検証の結果に基づいて、後続の演算が正しく行われることを証明する。
【0020】
証明結果DB170は、先行演算証明部110、保持証明部120、及び後続演算証明部130による解析結果、及び証明結果を保存する。
【0021】
証明判定部140は、先行演算証明部110、保持証明部120、及び後続演算証明部130による証明の適否を判定する。
【0022】
回路検証処理部150は、先行演算証明部110、保持証明部120、及び後続演算証明部130の検証結果及び証明結果に基づいて、演算回路の全体に対するフォーマル検証を実施する。回路検証処理部150は、先行演算証明部110、保持証明部120、及び後続演算証明部130によって正しいと証明された場合、これらによって既に検証されたもののうち少なくとも一部の検証を、検証対象から除外して、演算回路に対するフォーマル検証を実施する。
【0023】
回路検証判定部160は、回路検証処理部150による検証の適否を判定する。
【0024】
なお、回路検証処理部150、回路検証判定部160、及び証明結果DB170は、現存するフォーマル検証用ツールの機能を流用するものとするが、新規に構築してもよい。
【0025】
図2は、実施の形態1における一連の検証処理を示すフローチャートである。
【0026】
図2のステップS101において、設計担当者は、試作版若しくは製品版としての演算回路を、ハードウェア記述言語により設計する。ここで設計される演算回路は、上記の特定の演算回路、すなわち、先行の演算を行い、当該先行の演算の演算結果を保持し、保持された当該演算結果を用いて後続の演算を行う構造を有する演算回路である。
【0027】
また、設計担当者は、ステップS101において、検証対象の演算回路に対するアサーションを作成する。
【0028】
先行演算証明部110は、ステップS102において、先行の演算が正しく行われるかどうかを検証する。また、先行演算証明部110は、好適な検証結果が得られた場合、先行の演算が正しく行われることを証明する。
【0029】
保持証明部120は、ステップS103において、先行の演算の演算結果が、後続の演算に使用されるまで正しく保持されるかどうかを検証する。また、保持証明部120は、好適な検証結果が得られた場合、先行の演算の演算結果が正しく保持されることを証明する。
【0030】
後続演算証明部130は、ステップS104において、保持された先行の演算の演算結果を用いる後続の演算が、正しく行われるかどうかを検証する。また、後続演算証明部130は、好適な検証結果が得られた場合、後続の演算が正しく行われることを証明する。
【0031】
検証装置本体10は、ステップS102~ステップS104によって得られた検証結果及び証明結果を、証明結果DB170に保存する。
【0032】
証明判定部140は、ステップS105において、先行演算証明部110、保持証明部120、及び後続演算証明部130による証明の適否を判定する。証明判定部140は、全ての証明結果が好適であった場合、処理をステップS106に進める。一方、証明判定部140は、証明結果が1つでも不適であった場合、設計担当者にエラーを通知する。その後、処理はステップS108に進む。
【0033】
回路検証処理部150は、ステップS106において、証明結果DB170に保存されている検証結果及び証明結果を読み出し、これらに基づいて、演算回路に対するフォーマル検証を実施する。
【0034】
このステップS106の時点において、先行の演算を正しく行うことができること、先行の演算の演算結果を正しく保持することができること、及び、保持されている先行の演算の演算結果を用いた後続の演算を、正しく行うことができることが証明されている。すなわち、回路検証処理部150は、これら各要素についての詳細な検証を改めて行う必要がなくなり、簡略化した検証のみを行えば足りるようになる。
【0035】
このため、回路検証処理部150は、ステップS106において、先行演算証明部110と、保持証明部120と、後続演算証明部130とによって正しいと証明された場合、これらによって既に検証されたもののうち少なくとも一部の検証を、検証対象から除外する。そして、回路検証処理部150は、このように少なくとも一部の検証を検証対象から除外した上で、演算回路に対するフォーマル検証を実施する。
【0036】
例えば、回路検証処理部150は、先行の演算の演算結果を保持するかどうかを考慮せず、これに構わずに後続の演算を行うものとして、フォーマル検証を実施する。回路検証処理部150は、ステップS106において、このような演算回路に対し、フォーマル検証を実施する。これにより、回路検証処理部150は、演算結果を保持する動作の検証を検証対象から除外して、フォーマル検証を行う。
【0037】
回路検証判定部160は、ステップS107において、回路検証処理部150による検証の適否を判定する。回路検証判定部160は、検証対象の演算回路が問題なく設計されていると判定した場合、図2の検証処理を終了する。
【0038】
一方、回路検証判定部160は、ステップS107において、フォーマル検証の結果、検証対象の演算回路に問題があると判定した場合、設計担当者にエラーを通知する。その後、処理はステップS108に進む。
【0039】
設計担当者は、ステップS108において、検証時に生じたエラーを正すため、アサーションに不具合があるかどうかを確認する。
【0040】
アサーションに不具合があった場合、設計担当者は、ステップS109において、アサーションを修正する。一方、アサーションに不具合がなかった場合、設計担当者は、ステップS110において、演算回路を修正する。
【0041】
設計担当者は、ステップS109、またはステップS110による修正作業を行った後、修正後の各種データを用いて、ステップS102以降の処理を検証装置本体10に実行させる。
【0042】
なお、検証装置本体10は、ステップS102~ステップS104の処理を順不同に行ってもよいし、並列に行ってもよい。
【0043】
以下、具体的な演算仕様例を示しながら、検証装置本体10の動作について説明する。
【0044】
図3は、検証対象の演算回路における動作仕様の具体例を示すフローチャートである。なお、以下に示す数値A~Dは、いずれも32ビット幅のデータであるものとする。
【0045】
図3において、検証対象の演算回路は、次の演算を行うものとして設計される。すなわち、検証対象の演算回路は、ステップS201において、先行の演算として、数値Aと数値Bとを積算する。
【0046】
また、検証対象の演算回路は、ステップS202において、先行の演算として、数値Cと数値Dとを積算する。
【0047】
最後に、検証対象の演算回路は、ステップS203において、後続の演算として、ステップS201の演算結果と、ステップS202の演算結果とを加算する。
【0048】
図4は、図2に示す検証処理を、図3の動作を行う演算回路の検証に適用させた場合のフローチャートである。
【0049】
設計担当者は、ステップS301において、図3の動作を行う演算回路を、ハードウェア記述言語により設計する。加えて、設計担当者は、先行の演算結果をレジスタに保持する構造を含めるようにして、検証対象の演算回路を設計する。
【0050】
また、設計担当者は、ステップS301において、検証対象の演算回路に対するアサーションを作成する。
【0051】
先行演算証明部110は、ステップS302において、(A*B)及び(C*D)の各演算が、先行の演算として正しく行われることを証明する。
【0052】
保持証明部120は、ステップS303において、(A*B)及び(C*D)の演算結果が正しくレジスタに保持されることを証明する。
【0053】
後続演算証明部130は、ステップS304において、後続の演算として、レジスタに保持されている(A*B)及び(C*D)を用いて、これらを加算した演算が正しく行われることを証明する。
【0054】
検証装置本体10は、ステップS302~ステップS304によって得られた検証結果及び証明結果を、証明結果DB170に保存する。
【0055】
証明判定部140は、ステップS305において、先行演算証明部110、保持証明部120、及び後続演算証明部130による証明の適否を判定する。証明判定部140は、全ての証明結果が好適であった場合、処理をステップS306に進める。一方、証明判定部140は、証明結果が1つでも不適であった場合、設計担当者にエラーを通知する。その後、処理はステップS308に進む。
【0056】
回路検証処理部150は、ステップS306において、証明結果DB170に保存されている検証結果及び証明結果を読み出す。そして、回路検証処理部150は、検証結果及び証明結果に基づいて、演算回路に対してフォーマル検証を行う。回路検証処理部150によって行われるフォーマル検証の内容については、後述する。
【0057】
回路検証判定部160は、ステップS307において、回路検証処理部150による検証の適否を判定する。回路検証判定部160は、演算回路が問題なく設計されていると判定する場合、図4の処理を終了する。
【0058】
一方、回路検証判定部160は、ステップS307において、フォーマル検証の結果、検証対象の演算回路に問題があると判定する場合、設計担当者にエラーを通知する。その後、処理はステップS308に進む。
【0059】
以降のステップS308~ステップS310の各処理は、図2のステップS108~ステップS110と同じである。
【0060】
図5は、図3の動作を行う演算回路におけるタイミングチャートを示すとともに、先行演算証明部110、保持証明部120、及び後続演算証明部130によって検証されるポイントを示す図である。また、図6は、回路検証処理部150によって検証されるポイントを示す図である。
【0061】
図5において、演算回路は、規定のクロック周波数を基準にして動作する。また、図5において、演算回路内に演算開始信号が入力されると、数値A及び数値Bの各値が入力される。また、先行の演算として(A*B)の演算が行われ、レジスタに保持される。
【0062】
一方、演算回路内に数値C及び数値Dが入力される。また、先行の演算として(C*D)の演算が行われ、レジスタに保持される。
【0063】
また、後続の演算として(A*B)+(C*D)の演算が行われる。このとき、レジスタに保持されている(A*B)及び(C*D)が用いられる。
【0064】
一連の演算処理が終了した場合、最終演算結果とともに演算終了信号が出力される。
【0065】
図5の例において、先行演算証明部110は、太線枠によって示される処理、すなわち(A*B)及び(C*D)の各演算が正しく行われることを証明する。また、保持証明部120は、一点鎖線枠によって示される処理、すなわち(A*B)及び(C*D)の各演算結果の保持が正しく行われることを証明する。また、後続演算証明部130は、破線枠によって示される処理、すなわち、保持された(A*B)及び(C*D)を用いた後続の演算が正しく行われることを証明する。
【0066】
先行演算証明部110、保持証明部120、及び後続演算証明部130による証明が全て好適である場合、回路検証処理部150は、証明済みの検証以外の検証を行う。ここで、証明されていない残余の検証は、先行の演算が正しく入力されるかどうかの検証、及び、後続の演算結果が、最終演算結果として正しく出力されるかどうかの検証である。
【0067】
回路検証処理部150は、図6に示すように、上記の残余の検証を行い、これらが正しいことを証明する。すなわち、回路検証処理部150は、検証対象の演算回路を、数値A~Dを示す信号を受信し、これらをレジスタに保持せずに、直接(A*B)+(C*D)の演算を行う演算回路であると簡略化した上で、フォーマル検証を行う。
【0068】
演算回路は、上記のとおり、各要素が並列動作することにより最終的な結果を得る。このため、各演算結果がいつ算出され、いつ保持されるかが証明されていない場合、検証対象の演算回路で起こり得る全ての組み合わせを考慮して、網羅的にフォーマル検証を行う必要がある。
【0069】
これに対し、検証装置本体10は、最終的な演算結果の正当性を証明する際に、設計及び検証の双方において、検証対象が持つ要素を分解し、各要素を個別に検証する。これにより、検証対象の持つ各要素の構成を簡略化することができる。
【0070】
このため、検証装置本体10は、要素数の増加に対する計算量の増加率を下げることができ、数理論理学的複雑度を下げることができる。従って、検証装置本体10は、状態爆発を抑制し、検証対象の演算回路に対する全体の証明を、早期に完了させることができる。
【0071】
実施の形態1において、フォーマル検証装置1は、演算回路に対してフォーマル検証を実施する検証装置本体10を備えている。また、検証対象の演算回路は、先行の演算を行い、当該先行の演算の演算結果を保持し、保持された当該演算結果を用いて後続の演算を行う構造を有する演算回路である。
【0072】
検証装置本体10は、先行演算証明部110、保持証明部120、後続演算証明部130、及び回路検証処理部150を備えている。
【0073】
先行演算証明部110は、先行の演算が正しく行われるかどうかを検証し、当該検証の結果に基づいて、先行の演算が正しく行われることを証明する。
【0074】
保持証明部120は、先行の演算の演算結果が、後続の演算に使用されるまで正しく保持されるかどうかを検証し、当該検証の結果に基づいて、先行の演算の演算結果が正しく保持されることを証明する。
【0075】
後続演算証明部130は、保持された先行の演算の演算結果を用いる後続の演算が、正しく行われるかどうかを検証し、当該検証の結果に基づいて、後続の演算が正しく行われることを証明する。
【0076】
回路検証処理部150は、先行演算証明部110と、保持証明部120と、後続演算証明部130とによって正しいと証明された場合、先行演算証明部110と、保持証明部120と、後続演算証明部130とによって既に検証されたもののうち少なくとも一部の検証を、検証対象から除外して、演算回路に対するフォーマル検証を実施する。
【0077】
このため、フォーマル検証装置1は、フォーマル検証を行う際の検証時間を短縮することができる。
【0078】
また、回路検証処理部150は、演算結果を保持する動作の検証を、検証対象から除外する。このため、フォーマル検証装置1は、フォーマル検証を行う際の検証時間を短縮することができる。
【0079】
また、検証装置本体10は、先行演算証明部110による処理と、保持証明部120による処理と、後続演算証明部130による処理とを、並列に行う。このため、フォーマル検証を行う際の検証時間を、さらに短縮することができる。
【0080】
なお、実施の形態1の検証装置本体10の各機能は、処理回路によって実現される。図7は、実施の形態1の検証装置本体10の各機能を実現する処理回路の第1例を示す構成図である。第1例の処理回路650は、専用のハードウェアである。
【0081】
処理回路650は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものに該当する。また、検証装置本体10の各機能それぞれを個別の処理回路650により実現してもよい。もしくは、検証装置本体10の各機能をまとめて処理回路650により実現してもよい。
【0082】
また、図8は、実施の形態1の検証装置本体10の各機能を実現する処理回路の第2例を示す図である。第2例の処理回路660は、プロセッサ661及びメモリ662を備えている。
【0083】
処理回路660において、検証装置本体10の各機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェア及びファームウェアは、プログラムとして記述される。そして、ソフトウェア及びファームウェアは、メモリ662に格納される。プロセッサ661は、メモリ662に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。
【0084】
メモリ662に格納されるプログラムは、上述した各部の手順あるいは方法を、コンピュータに実行させるものであるともいえる。ここで、メモリ662とは、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)等の、不揮発性または揮発性の半導体メモリが該当する。また、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等も、メモリ662に該当する。
【0085】
上述した各部の機能について、一部が専用のハードウェアにより実現され、一部がソフトウェアまたはファームウェアにより実現されてもよい。
【0086】
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述した各部の機能を実現することができる。
【符号の説明】
【0087】
1 フォーマル検証装置、10 検証装置本体、110 先行演算証明部、120 保持証明部、130 後続演算証明部、150 回路検証処理部。
図1
図2
図3
図4
図5
図6
図7
図8