(57)【要約】  判定部（２２）は、回路の機能がハードウェア記述言語で記述された設計コード（Ｖ０）に対してコードカバレッジ判定を実行することにより、設計コードから抽出された冗長部分である冗長コード（Ｖ２）について、コードカバレッジ判定とは別な検証を実施することにより、冗長であるか否かを判定する。出力部（２３）は、冗長コードのうち、判定部（２２）によって冗長であると判定された部分が設計コード（Ｖ０）から削除されたコードを出力コード（Ｖ５）として出力する。
2018096611.tif 000002
【特許請求の範囲】
【請求項１】
回路の機能がハードウェア記述言語で記述された設計コードに対してコードカバレッジ判定を実行することにより前記設計コードから抽出された冗長部分である冗長コードについて、前記コードカバレッジ判定とは別な検証を実施することにより、冗長であるか否かを判定する判定部と、
前記冗長コードのうち、前記判定部によって冗長であると判定された部分が前記設計コードから削除されたコードを出力コードとして出力する出力部と
を備える回路設計装置。
【請求項２】
前記判定部は、
前記冗長コードを複数のブロックに分割し、前記複数のブロックそれぞれについて、そのブロックを削除した削除済コードと、前記設計コードとの動作が等価であるかを判定し、
前記出力部は、前記判定部によって等価であると判定されたブロックが前記設計コードから削除されたコードを出力コードとして出力する請求項１に記載の回路設計装置。
【請求項３】
前記判定部は、前記冗長コードをｉ＝１，．．．，ｎの各整数ｉについてのブロック［ｉ］に分割し、前記設計コードを削除済コード［０］として、ｉ＝１，．．．，ｎについて昇順に、削除済コード［ｉ−１］からブロック［ｉ］を削除した削除済コード［ｉ］と、前記設計コードとの動作が等価であるかを判定し、等価でない場合には、前記削除済コード［ｉ−１］を削除済コード［ｉ］とする処理を繰り返し、
前記出力部は、削除済コード［ｎ］を前記出力コードとして出力する
請求項２に記載の回路設計装置。
【請求項４】
前記出力部は、前記コードカバレッジ判定を実行することにより、前記冗長コードが抽出されない場合には、前記設計コードを前記出力コードとして出力する
請求項１から３までのいずれか１項に記載の回路設計装置。
【請求項５】
回路の機能がハードウェア記述言語で記述された設計コードに対してコードカバレッジ判定を実行することにより前記設計コードから抽出された冗長部分である冗長コードについて、前記コードカバレッジ判定とは別な検証を実施することにより、冗長であるか否かを判定し、
前記冗長コードのうち冗長であると判定された部分が前記設計コードから削除されたコードを出力コードとして出力する回路設計方法。
【請求項６】
回路の機能がハードウェア記述言語で記述された設計コードに対してコードカバレッジ判定を実行することにより前記設計コードから抽出された冗長部分である冗長コードについて、前記コードカバレッジ判定とは別な検証を実施することにより、冗長であるか否かを判定する判定処理と、
前記冗長コードのうち、前記判定処理によって冗長であると判定された部分が前記設計コードから削除されたコードを出力コードとして出力する出力処理と
をコンピュータに実行させる回路設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、回路の機能をハードウェア記述言語で記述された設計コードから冗長な箇所を削除する回路設計技術に関する。
【背景技術】
【０００２】
回路の機能を記述するハードウェア記述言語がある。ハードウェア記述言語を用いて人手で回路の機能を記述した設計コードを作成することもできるし、Ｃ言語といった高位言語のプログラム記述からハードウェア記述言語で回路の機能を記述した設計コードに変換することもできる。
人手で設計コードを作成した場合、及び、高位言語のプログラム記述から設計コードに変換した場合には、冗長な記述が含まれることがある。特許文献１には、冗長な記述を、コードカバレッジ判定を実行することにより、特定し、削除することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３５５１３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コードカバレッジ判定を行い冗長部分を特定する方法は、コードカバレッジの検証パターンが十分にある場合には、正しく機能する。しかし、コードカバレッジの検証パターンが十分にない場合には、活性化されるべき記述が活性化されず、冗長でない記述が冗長な記述と判定されてしまう可能性があった。
この発明は、冗長でない記述を冗長な記述と判定することを防止することを目的とする。
【課題を解決するための手段】
【０００５】
この発明に係る回路設計装置は、
回路の機能がハードウェア記述言語で記述された設計コードに対してコードカバレッジ判定を実行することにより前記設計コードから抽出された冗長部分である冗長コードについて、前記コードカバレッジ判定とは別な検証を実施することにより、冗長であるか否かを判定する判定部と、
前記冗長コードのうち、前記判定部によって冗長であると判定された部分が前記設計コードから削除されたコードを出力コードとして出力する出力部と
を備える。
【発明の効果】
【０００６】
この発明では、コードカバレッジ判定で抽出された記述である冗長コードについて、別の検証を実施することにより冗長であるか否かを判定して、冗長な記述を特定する。これにより、冗長でない記述を冗長な記述と判定することを防止することが可能である。
【図面の簡単な説明】
【０００７】
【図１】実施の形態１に係る回路設計装置１０の構成図。
【図２】実施の形態１に係る回路設計装置１０の動作概要を示すフローチャート。
【図３】実施の形態１に係る回路設計装置１０の動作詳細を示すフローチャート。
【図４】変形例１に係る回路設計装置１０の構成図。
【発明を実施するための形態】
【０００８】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係る回路設計装置１０の構成を説明する。
回路設計装置１０は、コンピュータである。
回路設計装置１０は、プロセッサ１１と、メモリ１２と、ストレージ１３と、通信インタフェース１４とのハードウェアを備える。プロセッサ１１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【０００９】
プロセッサ１１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ１１は、具体例としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１０】
メモリ１２は、データを一時的に記憶する記憶装置である。メモリ１２は、具体例としては、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００１１】
ストレージ１３は、データを保管する記憶装置である。ストレージ１３は、具体例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。また、ストレージ１３は、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）といった可搬記憶媒体であってもよい。
【００１２】
通信インタフェース１４は、外部の装置と通信するためのインタフェースである。通信インタフェース１４は、具体例としては、Ｅｔｈｅｒｎｅｔ（登録商標）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＨＤＭＩ（登録商標，Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）のポートである。
【００１３】
回路設計装置１０は、機能構成要素として、冗長コード抽出部２１と、判定部２２と、出力部２３とを備える。冗長コード抽出部２１と、判定部２２と、出力部２３との各機能構成要素の機能はソフトウェアにより実現される。
ストレージ１３には、回路設計装置１０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ１１によりメモリ１２に読み込まれ、プロセッサ１１によって実行される。これにより、回路設計装置１０の各機能構成要素の機能が実現される。
また、ストレージ１３は、検証パターン２４を記憶する。検証パターン２４は、コードカバレッジ判定で冗長な記述を抽出するために用いられるデータである。
【００１４】
図１では、プロセッサ１１は、１つだけ示されている。しかし、回路設計装置１０は、プロセッサ１１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、回路設計装置１０の各機能構成要素の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ１１と同じように、プロセッシングを行うＩＣである。
【００１５】
＊＊＊動作の説明＊＊＊
図２から図３を参照して、実施の形態１に係る回路設計装置１０の動作を説明する。
実施の形態１に係る回路設計装置１０の動作は、実施の形態１に係る回路設計方法に相当する。また、実施の形態１に係る回路設計装置１０の動作は、実施の形態１に係る回路設計プログラムの処理に相当する。
【００１６】
図２を参照して、実施の形態１に係る回路設計装置１０の動作概要を説明する。
（ステップＳ１：冗長コード抽出処理）
冗長コード抽出部２１は、回路の機能がハードウェア記述言語で記述された設計コードＶ０に対してコードカバレッジ判定を実行して、設計コードＶ０から冗長部分である冗長コードＶ２を抽出する。
【００１７】
（ステップＳ２：判定処理）
判定部２２は、ステップＳ１で冗長コード抽出部２１によって抽出された冗長コードＶ２について、コードカバレッジ判定とは別な検証を実施することにより、冗長であるか否かを判定する
具体的には、判定部２２は、ステップＳ１で冗長コード抽出部２１によって抽出された冗長コードＶ２を複数のブロックＶ２（１），．．．，Ｖ２（ｎ）に分割し、前記複数のブロックＶ２（１），．．．，Ｖ２（ｎ）それぞれについて、そのブロックＶ２（ｉ）を削除した削除済コードＶ０（ｉ）と、設計コードＶ０との動作が等価であるかを判定する。
なお、ここでは、ブロックを削除すると説明した。この“ブロックを削除する”は、プログラムコードからブロックを実際に削除するに限らず、プログラムコードからブロックをコメントアウトすることも含む。以下の説明においても、同様に、“ブロックを削除する”には、プログラムコードからブロックをコメントアウトすることも含む。
【００１８】
（ステップＳ３：出力処理）
出力部２３は、ステップＳ２で判定部２２によって等価であると判定されたブロックＶ２（ｉ）を設計コードＶ０から削除したコードを出力コードＶ５として出力する。
【００１９】
図３を参照して、実施の形態１に係る回路設計装置１０の動作詳細を説明する。
図２のステップＳ１に、図３のステップＳ１１からステップＳ１３が対応する。また、図２のステップＳ２に、図３のステップＳ１４からステップＳ２０が対応する。また、図２のステップＳ３に、図３のステップＳ２１からステップＳ２２が対応する。
【００２０】
（ステップＳ１１：コードカバレッジ判定処理）
冗長コード抽出部２１は、通信インタフェース１４を介して、検証対象の回路の機能がハードウェア記述言語で記述された設計コードＶ０を取得する。
冗長コード抽出部２１は、ストレージ１３に記憶された検証パターン２４を用いて、取得された設計コードＶ０について、コードカバレッジ判定を実行する。冗長コード抽出部２１は、特許文献１に記載された方法、又は、既存のツール等を用いて、コードカバレッジ判定を実行する。
【００２１】
（ステップＳ１２：カバレッジ率判定処理）
冗長コード抽出部２１は、ステップＳ２１で実行されたコードカバレッジ判定の結果、カバレッジ率が１００％であったか否かを判定する。
冗長コード抽出部２１は、カバレッジ率が１００％でなかった場合には、処理をステップＳ１３に進める。一方、冗長コード抽出部２１は、カバレッジ率が１００％であった場合には、処理をステップＳ２２に進める。
【００２２】
（ステップＳ１３：カバレッジ率判定処理）
冗長コード抽出部２１は、設計コードＶ０のうち、コードカバレッジ判定で未活性であった部分を、冗長部分である冗長コードＶ２として抽出する。したがって、コードカバレッジ判定で活性化された部分をＶ１とすると、Ｖ０＝Ｖ１＋Ｖ２となる。
冗長コード抽出部２１は、冗長コードＶ２を、機能毎にｎ個のブロックＶ２（１），．．．，Ｖ２（ｎ）に分割する。したがって、Ｖ２＝Σｉ＝１ｎＶ２（ｉ）である。
【００２３】
（ステップＳ１４：初期値設定処理）
判定部２２は、変数ｉ，ｊ，ｋに０を設定する。
また、判定部２２は、削除済コードＶ０（ｉ）の初期値Ｖ０（０）に、設計コードＶ０を設定する。つまり、Ｖ０（０）＝Ｖ０である。
【００２４】
（ステップＳ１５：インクリメント処理）
判定部２２は、変数ｉに１加算する。
【００２５】
（ステップＳ１６：仮削除処理）
判定部２２は、削除済コードＶ０（ｉ−１）から冗長コードＶ２のブロックＶ２（ｉ）を削除したコードを、削除済コードＶ０（ｉ）とする。つまり、Ｖ０（ｉ）＝Ｖ０（ｉ−１）−Ｖ２（ｉ）である。
【００２６】
（ステップＳ１７：検証処理）
判定部２２は、設計コードＶ０と削除済コードＶ０（ｉ）との動作が等価であるか否かを判定する等価判定を実行する。判定部２２は、特開２００４−０２１９４４号公報に記載された方法、又は、既存のツール等を用いて、等価判定を実行する。
判定部２２は、等価判定により設計コードＶ０と削除済コードＶ０（ｉ）との動作が等価であると判定された場合には、処理をステップＳ１８に進める。一方、判定部２２は、等価判定により設計コードＶ０と削除済コードＶ０（ｉ）との動作が等価でないと判定された場合には、処理をステップＳ１９に進める。
【００２７】
（ステップＳ１８：コード削除処理）
判定部２２は、冗長コードＶ２のブロックＶ２（ｉ）を削除しても、設計コードＶ０と動作が等価であるため、ブロックＶ２（ｉ）は削除可能であると判定する。そして、判定部２２は、ブロックＶ２（ｉ）を削除可能コードＶ４（ｊ）とする。つまり、Ｖ４（ｊ）＝Ｖ２（ｉ）である。判定部２２は、変数ｊに１加算する。
【００２８】
（ステップＳ１９：コード復元処理）
判定部２２は、冗長コードＶ２のブロックＶ２（ｉ）を削除すると、設計コードＶ０と動作が等価とならないため、ブロックＶ２（ｉ）は削除不可能であると判定する。そして、判定部２２は、ブロックＶ２（ｉ）を削除不可能コードＶ３（ｋ）とする。つまり、Ｖ３（ｋ）＝Ｖ２（ｉ）である。判定部２２は、変数ｋに１加算する。
また、判定部２２は、削除済コードＶ０（ｉ）におけるブロックＶ２（ｉ）の削除を取り消し、削除済コードＶ０（ｉ）をブロックＶ２（ｉ）の削除前の状態に戻す。つまり、Ｖ０（ｉ）＝Ｖ０（ｉ−１）である。
【００２９】
（ステップＳ２０：終了判定処理）
判定部２２は、未処理の冗長コードＶ２のブロックが残っているか否かを判定する。具体的には、判定部２２は、変数ｉがｎより小さい場合には、未処理の冗長コードＶ２のブロックが残っていると判定する。
判定部２２は、未処理の冗長コードＶ２のブロックが残っている場合には、処理をステップＳ１５に戻す。一方、判定部２２は、未処理の冗長コードＶ２のブロックが残っていない場合には、処理をステップＳ２１に進める。
【００３０】
（ステップＳ２１：第１出力処理）
出力部２３は、ステップＳ１６又はステップＳ１９で判定部２２によって設定された削除済コードＶ０（ｎ）を出力コードＶ５として出力する。
なお、Ｖ０＝Ｖ１＋Ｖ２＝Ｖ１＋（ΣＶ３（ｋ）＋ΣＶ４（ｊ））である。
【００３１】
（ステップＳ２２：第２出力処理）
出力部２３は、設計コードＶ０をそのまま、出力コードＶ５として出力する。つまり、出力部２３は、カバレッジ率が１００％であり、冗長コードＶ２が抽出されない場合には、設計コードＶ０を出力コードＶ５として出力する。
【００３２】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係る回路設計装置１０は、コードカバレッジ判定を実行することにより、設計コードＶ０から抽出された冗長部分である冗長コードＶ２について、別の検証を実施することにより、冗長コードＶ２の各部が冗長であるか否かを判定する。具体的には、実施の形態１に係る回路設計装置１０は、冗長コードＶ２を分割した各ブロックについて、そのブロックを削除した削除済コードと、設計コードとの動作が等価であるかを判定する。そして、等価であると判定されたブロックを設計コードＶ０から削除した削除済コードＶ０（ｎ）を出力コードＶ５とする。
このように等価判定を行った上でブロックを削除することにより、冗長でない記述を冗長な記述と判定することを防止することが可能である。
【００３３】
＊＊＊他の構成＊＊＊
＜変形例１＞
実施の形態１では、回路設計装置１０の各機能構成要素の機能がソフトウェアで実現された。しかし、変形例１として、回路設計装置１０の各機能構成要素の機能はハードウェアで実現されてもよい。この変形例１について、実施の形態１と異なる点を説明する。
【００３４】
図４を参照して、変形例１に係る回路設計装置１０の構成を説明する。
各機能構成要素の機能がハードウェアで実現される場合、回路設計装置１０は、プロセッサ１１とメモリ１２とストレージ１３とに代えて、処理回路１５を備える。処理回路１５は、回路設計装置１０の各機能構成要素の機能とメモリ１２とストレージ１３との機能を実現する専用の電子回路である。
【００３５】
処理回路１５は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
各機能構成要素の機能を１つの処理回路１５で実現してもよいし、各機能構成要素の機能を複数の処理回路１５に分散させて実現してもよい。
【００３６】
＜変形例２＞
変形例２として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、回路設計装置１０の各機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
【００３７】
プロセッサ１１とメモリ１２とストレージ１３と処理回路１５とを、総称して「プロセッシングサーキットリー」という。つまり、各機能構成要素の機能は、プロセッシングサーキットリーにより実現される。
【符号の説明】
【００３８】
１０  回路設計装置、１１  プロセッサ、１２  メモリ、１３  ストレージ、１４  通信インタフェース、１５  処理回路、２１  冗長コード抽出部、２２  判定部、２３  出力部、２４  検証パターン、Ｖ０  設計コード、Ｖ１  活性化された部分、Ｖ２  冗長コード、Ｖ２（ｉ）  ブロック、Ｖ３  削除不可能コード、Ｖ４  削除可能コード、Ｖ５  出力コード。
【図１】
2018096611.tif 000003
【図２】
2018096611.tif 000004
【図３】
2018096611.tif 000005
【図４】
2018096611.tif 000006
【手続補正書】
【提出日】平成29年5月16日(2017.5.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
回路の機能がハードウェア記述言語で記述された設計コードに対してコードカバレッジ判定を実行することにより前記設計コードから抽出された冗長部分である冗長コードを複数のブロックに分割し、前記複数のブロックそれぞれについて、そのブロックを削除した削除済コードと、前記設計コードとの動作が等価であるかを判定する判定部と、
前記判定部によって等価であると判定されたブロックが前記設計コードから削除されたコードを出力コードとして出力する出力部と
を備える回路設計装置。
【請求項２】
前記判定部は、前記冗長コードをｉ＝１，．．．，ｎの各整数ｉについてのブロック［ｉ］に分割し、前記設計コードを削除済コード［０］として、ｉ＝１，．．．，ｎについて昇順に、削除済コード［ｉ−１］からブロック［ｉ］を削除した削除済コード［ｉ］と、前記設計コードとの動作が等価であるかを判定し、等価でない場合には、前記削除済コード［ｉ−１］を削除済コード［ｉ］とする処理を繰り返し、
前記出力部は、削除済コード［ｎ］を前記出力コードとして出力する
請求項１に記載の回路設計装置。
【請求項３】
前記出力部は、前記コードカバレッジ判定を実行することにより、前記冗長コードが抽出されない場合には、前記設計コードを前記出力コードとして出力する
請求項１又は２に記載の回路設計装置。
【請求項４】
回路の機能がハードウェア記述言語で記述された設計コードに対してコードカバレッジ判定を実行することにより前記設計コードから抽出された冗長部分である冗長コードを複数のブロックに分割し、前記複数のブロックそれぞれについて、そのブロックを削除した削除済コードと、前記設計コードとの動作が等価であるかを判定し、
等価であると判定されたブロックが前記設計コードから削除されたコードを出力コードとして出力する回路設計方法。
【請求項５】
回路の機能がハードウェア記述言語で記述された設計コードに対してコードカバレッジ判定を実行することにより前記設計コードから抽出された冗長部分である冗長コードを複数のブロックに分割し、前記複数のブロックそれぞれについて、そのブロックを削除した削除済コードと、前記設計コードとの動作が等価であるかを判定する判定処理と、
前記判定処理によって等価であると判定されたブロックが前記設計コードから削除されたコードを出力コードとして出力する出力処理と
をコンピュータに実行させる回路設計プログラム。
【手続補正書】
【提出日】平成29年8月29日(2017.8.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
回路の機能がハードウェア記述言語で記述された設計コードに対してコードカバレッジ判定を実行することにより前記設計コードから抽出された冗長部分である冗長コードを複数のブロックに分割し、前記複数のブロックそれぞれについて、そのブロックを削除した削除済コードと、前記設計コードとの動作が等価であるかを判定する判定部と、
前記判定部によって等価であると判定されたブロックが前記設計コードから削除されたコードを出力コードとして出力する出力部と
を備える回路設計装置。
【請求項２】
前記判定部は、前記冗長コードをｉ＝１，．．．，ｎの各整数ｉについてのブロック［ｉ］に分割し、前記設計コードを削除済コード［０］として、ｉ＝１，．．．，ｎについて昇順に、削除済コード［ｉ−１］からブロック［ｉ］を削除した削除済コード［ｉ］と、前記設計コードとの動作が等価であるかを判定し、等価でない場合には、前記削除済コード［ｉ−１］を削除済コード［ｉ］とする処理を繰り返し、
前記出力部は、削除済コード［ｎ］を前記出力コードとして出力する
請求項１に記載の回路設計装置。
【請求項３】
前記出力部は、前記コードカバレッジ判定を実行することにより、前記冗長コードが抽出されない場合には、前記設計コードを前記出力コードとして出力する
請求項１又は２に記載の回路設計装置。
【請求項４】
回路設計装置の判定部が、プロセッサにより、回路の機能がハードウェア記述言語で記述された設計コードに対してコードカバレッジ判定を実行することにより前記設計コードから抽出された冗長部分である冗長コードを複数のブロックに分割し、前記複数のブロックそれぞれについて、そのブロックを削除した削除済コードと、前記設計コードとの動作が等価であるかを判定し、
前記回路設計装置の出力部が、プロセッサにより、等価であると判定されたブロックが前記設計コードから削除されたコードを出力コードとして出力する回路設計方法。
【請求項５】
回路の機能がハードウェア記述言語で記述された設計コードに対してコードカバレッジ判定を実行することにより前記設計コードから抽出された冗長部分である冗長コードを複数のブロックに分割し、前記複数のブロックそれぞれについて、そのブロックを削除した削除済コードと、前記設計コードとの動作が等価であるかを判定する判定処理と、
前記判定処理によって等価であると判定されたブロックが前記設計コードから削除されたコードを出力コードとして出力する出力処理と
をコンピュータに実行させる回路設計プログラム。
【国際調査報告】
2018096611.tif 000007
2018096611.tif 000008
2018096611.tif 000009