(57)【要約】【課題】必要な箇所に確実にエラー発生回路を配置する。また、ハードウェア回路の規模の増大を防止する。【解決手段】回路設計装置１は、設計データ格納部２と、抽出部３と、回路配置部４とを有している。設計データ格納部２は、回路の設計データを格納する。抽出部３は、設計データ格納部２に格納されている設計データから、出力エラーチェックをするための機能を有する保護回路５、６を抽出する。回路配置部４は、抽出部３によって抽出された保護回路５、６にエラー検証用の検証用信号を供給するための信号供給用回路４ａを配置し、信号供給用回路に選択的に検証用信号を供給するアクセス制御回路４ｃを配置する。【選択図】図１
2010015229.tif 000002
【特許請求の範囲】
【請求項１】
回路の設計データにエラー検証用の回路のデータを付加する回路設計装置において、
設計データ格納部に格納されている前記設計データから、出力エラーチェックをするための機能を有する記憶回路を抽出する抽出部と、
前記抽出部によって抽出された前記記憶回路にエラー検証用の検証用信号を供給するための信号供給用回路を配置し、前記信号供給用回路に選択的に前記検証用信号を供給するアクセス制御回路を配置する回路配置部と、
を有することを特徴とする回路設計装置。
【請求項２】
前記アクセス制御回路は、前記検証用信号の出力要求を受けつけるアクセス制御部と、前記アクセス制御部の指示に応じて前記検証用信号を供給する前記信号供給用回路を選択する選択部と、前記検証用信号を格納し、前記アクセス制御部の指示に応じて前記選択部によって選択された前記信号供給用回路に前記検証用信号を出力する検証用信号出力部と、
を有することを特徴とする請求項１記載の回路設計装置。
【請求項３】
前記回路配置部は、外部から直接アクセス可能な前記記憶回路については前記信号供給用回路の配置対象から除外することを特徴とする請求項１記載の回路設計装置。
【請求項４】
前記信号供給用回路によって前記検証用信号が供給される前記記憶回路をフォーマル検証するためのプロパティを作成するプロパティ作成部をさらに有することを特徴とする請求項１記載の回路設計装置。
【請求項５】
回路の設計データにエラー検証用の回路のデータを付加する回路設計方法において、
抽出手段が、設計データ格納部に格納されている前記設計データから、出力エラーチェックをするための機能を有する記憶回路を抽出し、
回路配置手段が、前記抽出手段によって抽出された前記記憶回路にエラー検証用の検証用信号を供給するための信号供給用回路を配置し、前記信号供給用回路に選択的に前記検証用信号を供給するアクセス制御回路を配置する、
ことを特徴とする回路設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路設計装置および回路設計方法に関し、特に、回路の設計データにエラー検証用の回路のデータを付加する回路設計装置および回路設計方法に関する。
【背景技術】
【０００２】
アルファ線や中性子等の放射線によって生じたノイズによって、ハードウェア回路内のレジスタや、メモリセル等の記憶回路にエラーが発生することが知られている。
このため、ハードウェア回路を設計する際に、記憶回路にパリティチェック（Parity Check）やＥＣＣ（Error Check and Correct）機能を盛り込んでエラーから保護（プロテクト）する技術が知られている。
【０００３】
これらの機能が正常に動作するか否かは、シミュレーション等によっては、検証することはできないため、実際にエラーを発生させて、検証する必要がある。
そこで、エラー保護を施している記憶回路に、エラーを発生させるための回路（エラー発生回路）を配置し、論理検証を行う技術が知られている。
【０００４】
また、他には、メモリ制御回路とメモリユニットとの間にアダプタを挿入し、アダプタで指定されたデータエラーを注入してメモリユニットに書き込ませ、読み出し時にメモリ制御回路の誤り検出／訂正機能を診断する技術が知られている。
【特許文献１】特開平２−９０３３４号公報
【特許文献２】特開２００４−２１９２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
エラー発生回路の配置を人手で行った場合、設計者のスキルの差によって、エラー発生回路の配置箇所のミスや、エラー発生回路自体の規模が大きくなってしまうという問題がある。
【０００６】
特に、エラー発生回路は、ハードウェア回路が備える本来の機能の動作には直接影響を及ぼさない回路であるため、その回路規模はできるだけ小さくするのが好ましい。
本発明はこのような点に鑑みてなされたものであり、必要な箇所に確実にエラー発生回路を配置することができる回路設計装置および回路設計方法を提供することを目的とする。
【０００７】
また、他の目的として、ハードウェア回路の規模の増大を防止することができる回路設計装置および回路設計方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、回路の設計データにエラー検証用の回路のデータを付加する回路設計装置が提供される。この回路設計装置は、抽出部と、回路配置部とを有している。
【０００９】
抽出部は、設計データ格納部に格納されている設計データから、出力エラーチェックをするための機能を有する記憶回路を抽出する。
回路配置部は、抽出部によって抽出された記憶回路にエラー検証用の検証用信号を供給するための信号供給用回路を配置し、信号供給用回路に選択的に検証用信号を供給するアクセス制御回路を配置する。
【００１０】
このような回路設計装置によれば、抽出部により、記憶回路が抽出される。回路配置部により、抽出部によって抽出された記憶回路に信号供給用回路が配置され、信号供給用回路に選択的に検証用信号を供給するアクセス制御回路が配置される。
【発明の効果】
【００１１】
開示の回路設計装置によれば、必要な箇所に確実に信号供給用回路を配置することができる。
【発明を実施するための最良の形態】
【００１２】
以下、実施の形態を、図面を参照して詳細に説明する。
まず、実施の形態の概要について説明し、その後、実施の形態をより詳しく説明する。
図１は、実施の形態の概要を示す図である。
【００１３】
回路設計装置１は、設計データ格納部２と、抽出部３と、回路配置部４とを有している。
設計データ格納部２は、予め作成されたハードウェア回路の設計データを格納する。
【００１４】
抽出部３は、設計データ格納部２に格納されている設計データから、出力エラーチェックをするための機能を有する記憶回路を抽出する。
一例として図１に示す設計データ２ａは、出力エラーチェックをするための機能を有する保護回路５および保護回路６と、出力エラーチェックをするための機能を有さない回路７とを有している。この場合、抽出部３は、保護回路５および保護回路６を抽出する。
【００１５】
回路配置部４は、抽出部３によって抽出された記憶回路にエラー検証用の検証用信号を供給するための信号供給用回路を配置し、信号供給用回路に選択的に検証用信号を供給するアクセス制御回路を配置する。
【００１６】
一例として図１に示す設計データ２ｂは、保護回路５および保護回路６にそれぞれ信号供給用回路４ａおよび信号供給用回路４ｂを配置し、信号供給用回路４ａおよび信号供給用回路４ｂに選択的に検証用信号を供給するアクセス制御回路４ｃを配置する。
【００１７】
このような回路設計装置１によれば、記憶回路に対して容易かつ確実に信号供給用回路を配置することができる。また、各信号供給用回路に対して１つのアクセス制御回路で制御するようにしたので、一元管理が可能となり、回路規模の増大を防止することができる。
【００１８】
以下、実施の形態をより詳しく説明する。
図２は、回路設計装置のハードウェア構成例を示す図である。
回路設計装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００１９】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。また、ＨＤＤ１０３内には、プログラムファイルが格納される。
【００２０】
グラフィック処理装置１０４には、モニタ１０４ａが接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１０４ａの画面に表示させる。入力インタフェース１０５には、キーボード１０５ａとマウス１０５ｂとが接続されている。入力インタフェース１０５は、キーボード１０５ａやマウス１０５ｂから送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００２１】
通信インタフェース１０６は、ネットワーク２００に接続されている。通信インタフェース１０６は、ネットワーク２００を介して、他のコンピュータとの間でデータの送受信を行う。
【００２２】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。このようなハードウェア構成のシステムにおいて、回路設計装置１００内には、以下のような機能が設けられる。
【００２３】
図３は、回路設計装置の機能を示すブロック図である。
回路設計装置１００は、入力設計データ格納部１１０と、データ読込部１２０と、保護回路抽出部１３０と、エラー検証回路配置部１４０と、出力設計データ格納部１５０と、フォーマル検証用プロパティ作成部１６０と、プロパティ格納部１７０とを有している。
【００２４】
入力設計データ格納部１１０は、エラー検証に必要な回路を配置する対象となる、例えばVerilogやVHDL（VHSIC Hardware Description Language）等で記述したモジュール（ハードウェア回路）の設計データ（例えばＲＴＬ（Register Transfer Level）等）を格納する。
【００２５】
データ読込部１２０は、設計者（ユーザ）のキーボード１０５ａやマウス１０５ｂの操作に応じて、入力設計データ格納部１１０に格納されている設計データを読み込む。
保護回路抽出部１３０は、データ読込部１２０が読み込んだ設計データに含まれる、パリティチェックやＥＣＣ機能等のエラーチェックをするための機能を盛り込んでエラーから保護されている記憶回路（以下、「保護回路」と言う）を抽出する。
【００２６】
例えば、保護回路抽出部１３０は、データ読込部１２０が読み込んだ設計データからエラーから保護されている記憶回路を検索する。この検索方法としては、例えば、エラー信号をバックトレースすることにより、記憶回路を検索する方法が挙げられる。
【００２７】
そして、例えば、記憶回路としてレジスタが検索された場合、保護回路抽出部１３０は、予め用意されたネーミングルールを適用することで、検索したレジスタが保護回路か否かを判断する。例えば、ネーミングルールが、「パリティが附されているレジスタは、「レジスタ名＿ｐ」という名前にする」というルールである場合、検索したレジスタに「＿ｐ」が附されていれば、これは保護回路であると判断し、このレジスタを抽出する。
【００２８】
また、検索されたレジスタが保護回路か否かを判断する他の例として、保護回路抽出部１３０が、検索したレジスタが、設計者が作成したリストに記載されているレジスタに一致するか否かを判断する。そして、一致するレジスタが存在する場合、これは保護回路であると判断し、このレジスタを抽出する。
【００２９】
エラー検証回路配置部１４０は、保護回路抽出部１３０が抽出した保護回路に対し、後述する処理を行い、その保護回路のエラー検証に必要な回路（以下、「エラー検証回路」と言う）を配置する。
【００３０】
出力設計データ格納部１５０は、エラー検証回路が配置された設計データを格納する。
フォーマル検証用プロパティ作成部１６０は、エラー検出回路をフォーマル検証するためのプロパティ（フォーマル検証用プロパティ）を作成する。
【００３１】
なお、フォーマル検証とは、数学的なモデルで表現した設計、仕様を、数学的推論により検証する、静的な検証手法である。
プロパティ格納部１７０は、フォーマル検証用プロパティ作成部１６０によって作成されたプロパティを格納する。
【００３２】
次に、回路設計装置１００の動作について説明する。
図４および図５は、回路設計装置の動作を示すフローチャートである。
まず、データ読込部１２０が、入力設計データ格納部１１０から設計データを読み込む（ステップＳ１）。
【００３３】
次に、保護回路抽出部１３０が、データ読込部１２０が読み込んだ設計データから、保護回路を抽出する（ステップＳ２）。
次に、エラー検証回路配置部１４０が、保護回路抽出部１３０によって抽出された全ての保護回路に対し、以下のステップＳ４およびステップＳ６の内容をチェックしたか否かを判断する（ステップＳ３）。
【００３４】
チェックしていない保護回路が存在する場合（ステップＳ３のＮｏ）、エラー検証回路配置部１４０が、抽出された保護回路を実際に検出できたか否かを判断する（ステップＳ４）。
【００３５】
抽出された保護回路が検出できない場合（ステップＳ４のＮｏ）、エラー検証回路配置部１４０は、エラーメッセージをモニタ１０４ａに出力する（ステップＳ５）。その後、ステップＳ３に移行し、未処理の保護回路が存在すれば、ステップＳ４以降の処理を継続して行う。
【００３６】
一方、抽出された保護回路が検出できた場合（ステップＳ４のＹｅｓ）、エラー検証回路配置部１４０が、その保護回路が、外部から直接アクセス可能か否かを判断する（ステップＳ６）。
【００３７】
検出できた保護回路が、外部から直接アクセス可能である場合、（ステップＳ６のＹｅｓ）、エラー検証回路配置部１４０は、エラー検証回路を配置する必要はないと判断し、警告メッセージをモニタ１０４ａに出力する（ステップＳ７）。その後、ステップＳ３に移行し、未処理の保護回路が存在すれば、ステップＳ４以降の処理を継続して行う。
【００３８】
一方、検出できた保護回路が、外部からアクセス可能ではない場合（ステップＳ６のＮｏ）、エラー検証回路配置部１４０は、その保護回路に対応するセレクタを配置する。さらに、このセレクタと後述するアクセス制御モジュールとを接続するためのポートを配置する（ステップＳ８）。なお、この回路の配置場所については、後述する。また、エラー検証回路配置部１４０は、配置したセレクタに入力する信号名を決定する。
【００３９】
次に、フォーマル検証用プロパティ作成部１６０が、セレクタが配置された保護回路それぞれについてフォーマル検証用プロパティを作成する（ステップＳ９）。なお、この処理については、後に詳述する。
【００４０】
その後、ステップＳ３に移行し、未処理の保護回路が存在すれば、ステップＳ４以降の処理を継続して行う。
一方、ステップＳ３において、全ての保護回路に対しステップＳ４およびステップＳ６の内容をチェックした場合（ステップＳ３のＹｅｓ）、以下の処理を行う。
【００４１】
対応するセレクタが配置された保護回路が、最上位階層以外のモジュールに存在する場合、エラー検証回路配置部１４０が、そのモジュールをステップＳ８にて配置したポートに結線する（図５のステップＳ１０）。
【００４２】
次に、エラー検証回路配置部１４０が、アクセス制御モジュールを配置する（ステップＳ１１）。
このアクセス制御モジュールは、ステップＳ８にてセレクタが配置された保護回路に対し、外部からの要請を受けてエラーを意図的に発生させる回路である。
【００４３】
なお、セレクタおよびアクセス制御モジュールが、エラー検証回路の主要部を構成している。
次に、エラー検証回路配置部１４０が、アクセス制御モジュールを、ステップＳ８にて配置したポートに結線する（ステップＳ１２）。
【００４４】
次に、エラー検証回路配置部１４０が、エラー検証回路が配置された設計データを書き出す（ステップＳ１３）。
次に、フォーマル検証用プロパティ作成部１６０が、ステップＳ９にて作成したフォーマル検証用プロパティを出力する（ステップＳ１４）。
【００４５】
次に、エラー検証回路配置部１４０が、アクセス制御モジュールとレジスタアクセスパスとを結線する指示をモニタ１０４ａに出力する（ステップＳ１５）。これにより、設計者にアクセス制御モジュールとレジスタアクセスパスとの結線を促す。
【００４６】
以上で処理の説明を終了する。
以下、具体例を用いて処理の内容を説明する。
図６は、エラー検証回路配置前の回路の一例を示す図である。
【００４７】
モジュール１０は、複数の階層を有しており、各階層に必要に応じて最小限の回路単位を示すリーフ（Leaf）モジュール２０ａ、２０ｂが設けられている。
なお、本実施の形態では、リーフモジュール２０ａ、２０ｂの回路構成はそれぞれ等しく、説明を分かりやすくするために別の符号を附している。
【００４８】
図６では、トップモジュール（最上位のモジュール）１１の直下にリーフモジュール２０ａが設けられている。また、中間モジュール（トップモジュールの下位のモジュール）１２内にリーフモジュール２０ｂが設けられている。
【００４９】
リーフモジュール２０ａ、２０ｂは、それぞれ、レジスタ（記憶回路）Ｒｅｇ１、Ｒｅｇ２と、有限ステートマシン（Finite State Machine）２１と、エラーチェッカー（Error CHecKer）２２、２３と、ＯＲ回路２４と、機能ブロック（FuNCtion）２５とを有している。
【００５０】
レジスタＲｅｇ１、Ｒｅｇ２は、それぞれパリティやＥＣＣ等でエラー保護されている。なお、レジスタＲｅｇ１は、リーフモジュール２０ａ（２０ｂ）の外部から直接アクセス可能なレジスタである。
【００５１】
有限ステートマシン２１は、レジスタＲｅｇ１、Ｒｅｇ２の後段に設けられており、レジスタＲｅｇ１、Ｒｅｇ２の出力に応じて変化する所定のステートをレジスタＲｅｇ２に出力する。
【００５２】
エラーチェッカー２２は、レジスタＲｅｇ１が出力するエラーの有無をチェックする。また、エラーチェッカー２３は、レジスタＲｅｇ２が出力するエラーの有無をチェックする。
【００５３】
エラーチェッカー２２、２３は、それぞれエラーを検出すると、「Ｈ」の論理を出力する。
ＯＲ回路２４は、エラーチェッカー２２、２３のうち、いずれか一方のまたは両方のエラーチェッカーがエラーを検出すると、そのエラーをハードエラー信号としてリーフモジュール２０ａ（２０ｂ）の外部に出力する。
【００５４】
機能ブロック２５は、レジスタＲｅｇ１の出力に応じて、所定の信号処理を行う。
なお、説明を分かりやすくするため、図６には保護回路が存在するリーフモジュールのみを図示したが、トップモジュール１１および中間モジュール１２内には、保護回路が存在しない他のリーフモジュールが配置されていてもよい。
【００５５】
図７は、エラー検証回路配置後の回路の一例を示す図である。
リーフモジュール２０ｃは、リーフモジュール２０ａに対応しており、リーフモジュール２０ｄは、リーフモジュール２０ｂに対応している。
【００５６】
なお、リーフモジュール２０ｃ、２０ｄの回路構成はそれぞれ等しく、説明を分かりやすくするために別の符号を附している。
リーフモジュール２０ｃ、２０ｄは、それぞれレジスタＲｅｇ２の前段に、エラー注入のためのセレクタ２６を備えている点が、リーフモジュール２０ａ、２０ｂとは異なっている。
【００５７】
なお、図４のステップＳ６にて述べたように、レジスタＲｅｇ１は外部から直接アクセスできるため、前段にセレクタは配置されていない。
リーフモジュール２０ｃ、２０ｄにおいて、セレクタ２６は、ポートｐ１を介して、後述するアクセス制御モジュール３０に接続されている。
【００５８】
これらセレクタ２６は、それぞれアクセス制御モジュール３０が出力するセレクト信号に応じて、有限ステートマシン２１が出力する信号と、アクセス制御モジュール３０が出力するエラー検証用信号のどちらを受けつけるかを選択する。
【００５９】
また、図５のステップＳ１０にて述べたように、アクセス制御モジュール３０は、トップモジュール１１の直下に配置されている。トップモジュール１１の直下に配置することで、リーフモジュール２０ｃ、２０ｄのそれぞれのセレクタ２６との配線を容易にすることができる。ただし、アクセス制御モジュール３０を中間モジュールの下に配置することも可能である。
【００６０】
アクセス制御モジュール３０は、レジスタアクセス制御部３１と、セレクト信号制御部３２と、エラー検証用信号格納部３３とを有している。
レジスタアクセス制御部３１は、複数のレジスタアクセスプロトコルをサポートしている。
【００６１】
なお、図５のステップＳ１５にて述べたように、レジスタアクセス制御部３１とレジスタアクセスパスとは、モニタに出力した指示に応じて設計者によって結線される。
レジスタアクセス制御部３１は、レジスタアクセスパスを通じて入力される、エラー検証のためのレジスタアクセス命令ライトデータ（検証用信号の出力要求）を受信する。そして、受信したデータの内容に応じてリーフモジュール２０ｃまたはリーフモジュール２０ｄにエラーを発生させるための指示をセレクト信号制御部３２およびエラー検証用信号格納部３３に出力する。
【００６２】
また、レジスタアクセス制御部３１は、セレクト信号制御部３２に格納されているデータまたはエラー検証用信号格納部３３に格納されているデータを、レジスタリードデータとして出力する。
【００６３】
セレクト信号制御部３２は、レジスタアクセス制御部３１からの指示に応じてエラー検証用信号の出力先のセレクタ２６を決定するセレクト信号を出力する。
エラー検証用信号格納部３３には、リーフモジュール２０ｃ、２０ｄに対して与えるエラー検証用の信号（エラー検証用信号）が格納されている。
【００６４】
エラー検証用信号格納部３３は、レジスタアクセス制御部３１からの指示に応じてエラー検証用信号を出力する。より詳しくは、レジスタアクセス制御部３１の指示に応じてセレクト信号制御部３２が出力したセレクト信号の出力先のリーフモジュールに対してエラー検証用信号を出力する。
【００６５】
図８は、レジスタアクセス制御部がサポートするプロトコルの一例を示す図である。
レジスタアクセス制御部３１には、レジスタアクセス命令ライトデータが備えるＸビット（Ｘは自然数）のアドレスデータ信号と、１ビットのライトイネーブル信号と、Ｙビット（Ｙは自然数）のライトデータとが入力される。なお、ＸおよびＹの値は、設計者が指定する。
【００６６】
レジスタアクセス制御部３１は、ライトイネーブル信号を受信した場合、Ｘビットのアドレスデータ信号によって指定されたアドレスに、Ｙビットのライトデータを書き込む。
また、レジスタアクセス制御部３１は、レジスタリードデータとして、１ビットのリード完了データと、Ｙビットのリードデータとを出力する。
【００６７】
レジスタアクセス制御部３１は、リード完了データを出力すると同時（または出力した後）に、Ｙビットのリードデータを出力する。
図９は、セレクト信号制御部の構成を示す図である。
【００６８】
セレクト信号制御部３２は、１つまたは複数（図９では１つ）のレジスタ３２ａを有している。セレクト信号制御部３２のレジスタアドレスは、設計者が指定する。
レジスタ３２ａの各ビットは、それぞれレジスタＲｅｇ２に１対１に対応しており、セレクト信号制御部３２は、値が「１」のビットに対応するレジスタＲｅｇ２のセレクタ２６にセレクト信号を出力する。
【００６９】
図９では、一例としてビットｂ１が、リーフモジュール２０ｃのレジスタＲｅｇ２に対応しており、ビットｂ２が、リーフモジュール２０ｄのレジスタＲｅｇ２に対応している。
【００７０】
なお、レジスタ３２ａの個数は、レジスタＲｅｇ２の個数と、設計者が指定するレジスタの最大ビット幅から、エラー検証回路配置部１４０が判断する。
また、レジスタ３２ａの各ビットの情報をデコードしてセレクト信号を出力するセレクタ２６を特定するようにしてもよい。
【００７１】
図１０は、エラー検証用信号格納部の構成を示す図である。
エラー検証用信号格納部３３は、エラー検証用信号を格納するレジスタ３３ａを有している。レジスタ３３ａのビット幅、およびレジスタアドレスは、設計者が指定する。
【００７２】
なお、ビット幅が、設計者が指定するレジスタの最大ビット幅より小さい場合は、配置するビットの位置をオフセット指定して調整するようにしてもよい。
次に、ステップＳ１３のフォーマル検証用プロパティの作成方法について具体的に説明する。
【００７３】
図１１は、フォーマル検証用プロパティの作成処理を示すフローチャートである。
まず、フォーマル検証用プロパティ作成部１６０が、セレクト信号名と、エラー検証用信号名とを抽出する（ステップＳ２１）。
【００７４】
次に、フォーマル検証用プロパティ作成部１６０が、保護回路のエラー保護種別（例えば、パリティやＥＣＣ）と、ハードエラー信号名とを抽出する（ステップＳ２２）。エラー保護種別は、例えば、パリティの場合、ネーミングルールを用いて抽出する。また、ＥＣＣの場合、前述したリストに基づいて抽出する。
【００７５】
次に、フォーマル検証用プロパティ作成部１６０が、ステップＳ２１およびステップＳ２２にて得られた情報に基づいて、フォーマル検証用プロパティを作成する（ステップＳ２３）。
【００７６】
以上で、処理の説明を終了する。
図１２は、フォーマル検証用プロパティの作成処理によって作成されたフォーマル検証用プロパティの例を示す図である。
【００７７】
フォーマル検証用プロパティ１６１は、「セレクト信号名（ＥＣ）が、エラー検証用信号名（ＥＤ）の受けつけを選択している状態で、エラー検証用信号が入力された場合、次のサイクルでハードエラー名（ＨＥ）が必ず発生する」ことを示すＰＳＬ（Property Specification Language）である。
【００７８】
なお、作成するプロパティは、これに限らず、例えば、「エラーが注入されなければ、ハードエラーを検出してはいけない」等のプロパティを作成することもできる。
以上述べたように、本実施の形態の回路設計装置１００によれば、エラー検証回路を適切な位置に、容易かつ確実に配置することができる。これにより、設計者の手間を省くことができ、また、配置の漏れを防止することができる。
【００７９】
また、各セレクタ２６に対して１つのアクセス制御モジュール３０で制御するようにしたので、回路規模の増大を防止することができる。
また、エラー検証回路をフォーマルに検証するためのプロパティを自動作成することによって、論理検証をサポートすることができる。
【００８０】
以上、本発明の回路設計装置および回路設計方法を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【００８１】
また、本発明は、前述した実施の形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、回路設計装置１００が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ等が挙げられる。光ディスクとしては、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等が挙げられる。光磁気記録媒体としては、例えば、ＭＯ（Magneto-Optical disk）等が挙げられる。
【００８２】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００８３】
回路設計プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００８４】
以上の実施形態に関し、さらに以下の付記を開示する。
（付記１）  回路の設計データにエラー検証用の回路のデータを付加する回路設計装置において、
設計データ格納部に格納されている前記設計データから、出力エラーチェックをするための機能を有する記憶回路を抽出する抽出部と、
前記抽出部によって抽出された前記記憶回路にエラー検証用の検証用信号を供給するための信号供給用回路を配置し、前記信号供給用回路に選択的に前記検証用信号を供給するアクセス制御回路を配置する回路配置部と、
を有することを特徴とする回路設計装置。
【００８５】
（付記２）  前記アクセス制御回路は、前記検証用信号の出力要求を受けつけるアクセス制御部と、前記アクセス制御部の指示に応じて前記検証用信号を供給する前記信号供給用回路を選択する選択部と、前記検証用信号を格納し、前記アクセス制御部の指示に応じて前記選択部によって選択された前記信号供給用回路に前記検証用信号を出力する検証用信号出力部と、
を有することを特徴とする付記１記載の回路設計装置。
【００８６】
（付記３）  前記回路配置部は、外部から直接アクセス可能な前記記憶回路については前記信号供給用回路の配置対象から除外することを特徴とする付記１記載の回路設計装置。
【００８７】
（付記４）  前記信号供給用回路によって前記検証用信号が供給される前記記憶回路をフォーマル検証するためのプロパティを作成するプロパティ作成部をさらに有することを特徴とする付記１記載の回路設計装置。
【００８８】
（付記５）  前記プロパティ作成部は、前記検証用信号と、前記選択部が前記信号供給用回路を選択する際に出力する選択信号とを抽出し、
前記記憶回路が有する前記出力エラーチェックをするための機能の種別と、エラー発生時に前記記憶回路が出力する信号とを抽出して前記プロパティを作成することを特徴とする付記４記載の回路設計装置。
【００８９】
（付記６）  前記設計データ格納部を有することを特徴とする付記１記載の回路設計装置。
（付記７）  回路の設計データにエラー検証用の回路のデータを付加する回路設計方法において、
抽出手段が、設計データ格納部に格納されている前記設計データから、出力エラーチェックをするための機能を有する記憶回路を抽出し、
回路配置手段が、前記抽出手段によって抽出された前記記憶回路にエラー検証用の検証用信号を供給するための信号供給用回路を配置し、前記信号供給用回路に選択的に前記検証用信号を供給するアクセス制御回路を配置する、
ことを特徴とする回路設計方法。
【００９０】
（付記８）  回路の設計データにエラー検証用の回路のデータを付加する処理をコンピュータに実行させる回路設計プログラムにおいて、
前記コンピュータを、
前記設計データを格納する格納手段、
設計データ格納手段に格納されている前記設計データから、出力エラーチェックをするための機能を有する記憶回路を抽出する抽出手段、
前記抽出手段によって抽出された前記記憶回路にエラー検証用の検証用信号を供給するための信号供給用回路を配置し、前記信号供給用回路に選択的に前記検証用信号を供給するアクセス制御回路を配置する回路配置手段、
として機能させることを特徴とする回路設計プログラム。
【図面の簡単な説明】
【００９１】
【図１】実施の形態の概要を示す図である。
【図２】回路設計装置のハードウェア構成例を示す図である。
【図３】回路設計装置の機能を示すブロック図である。
【図４】回路設計装置の動作を示すフローチャートである。
【図５】回路設計装置の動作を示すフローチャートである。
【図６】エラー検証回路配置前の回路の一例を示す図である。
【図７】エラー検証回路配置後の回路の一例を示す図である。
【図８】レジスタアクセス制御部がサポートするプロトコルの一例を示す図である。
【図９】セレクト信号制御部の構成を示す図である。
【図１０】エラー検証用信号格納部の構成を示す図である。
【図１１】フォーマル検証用プロパティの作成処理を示すフローチャートである。
【図１２】フォーマル検証用プロパティの例を示す図である。
【符号の説明】
【００９２】
１、１００  回路設計装置
２  設計データ格納部
２ａ、２ｂ  設計データ
３  抽出部
４  回路配置部
４ａ、４ｂ  信号供給用回路
４ｃ  アクセス制御回路
５、６  保護回路
７  回路
１０  モジュール
１１  トップモジュール
１２  中間モジュール
２０ａ〜２０ｄ  リーフモジュール
２１  有限ステートマシン
２２、２３  エラーチェッカー
２４  ＯＲ回路
２５  機能ブロック
２６  セレクタ
３０  アクセス制御モジュール
３１  レジスタアクセス制御部
３２  セレクト信号制御部
３２ａ、３３ａ  レジスタ
３３  エラー検証用信号格納部
１００  回路設計装置
１１０  入力設計データ格納部
１２０  データ読込部
１３０  保護回路抽出部
１４０  エラー検証回路配置部
１５０  出力設計データ格納部
１６０  フォーマル検証用プロパティ作成部
１６１  フォーマル検証用プロパティ
１７０  プロパティ格納部
ｐ１  ポート
Ｒｅｇ１、Ｒｅｇ２  レジスタ
【図１】
2010015229.tif 000003
【図２】
2010015229.tif 000004
【図３】
2010015229.tif 000005
【図４】
2010015229.tif 000006
【図５】
2010015229.tif 000007
【図６】
2010015229.tif 000008
【図７】
2010015229.tif 000009
【図８】
2010015229.tif 000010
【図９】
2010015229.tif 000011
【図１０】
2010015229.tif 000012
【図１１】
2010015229.tif 000013
【図１２】
2010015229.tif 000014