(57)【要約】【課題】設計フェーズによって異なるシミュレーションの組み合わせに対して、ミスなく効率的にシミュレーション可能な半導体設計装置を提供する。【解決手段】シミュレーション結果の相違箇所を検出する相違箇所検出部３１、シミュレーション結果の相違差を検出する相違差検出部３２、シミュレーションモードの異なる回路間で相違のある回路を表示する入力相違箇所表示部３３、シミュレーション結果で相違のある回路を表示させる相違箇所表示部３４、シミュレーションで使用されるオプションを回路図に表示させる条件表示部３５、シミュレーション結果の実行履歴を管理する記録管理部３６、シミュレーション実行時に各回路で正しく条件設定されているかを確認する条件チェック部３７、シミュレーションモード間でピン名やピン数の不一致を確認する整合チェック部３８を備える。【選択図】  図１
2006244073.tif 000002
【特許請求の範囲】
【請求項１】
データを入力する入力部とデータ処理を行うＣＰＵと入力部から入力したデータに基づき回路のシミュレーションを実行するシミュレーション実行部とシミュレーション実行結果を格納するシミュレーションデータベースとを備えた半導体設計装置であって、シミュレーション結果の相違箇所を検出する相違箇所検出部を備えた半導体設計装置。
【請求項２】
データを入力する入力部とデータ処理を行うＣＰＵと入力部から入力したデータに基づき回路のシミュレーションを実行するシミュレーション実行部とシミュレーション実行結果を格納するシミュレーションデータベースとを備えた半導体設計装置であって、シミュレーション結果の相違差を検出する相違差検出部を備えた半導体設計装置。
【請求項３】
データを入力する入力部とデータ処理を行うＣＰＵと入力部から入力したデータに基づき回路のシミュレーションを実行するシミュレーション実行部とシミュレーション実行結果を格納するシミュレーションデータベースとを備えた半導体設計装置であって、シミュレーションモードの異なる回路間で相違のある回路を表示する入力相違箇所表示部を備えた半導体設計装置。
【請求項４】
前記相違箇所検出部で検出したシミュレーション結果で相違のある回路を表示させる相違箇所表示部を備えた請求項１記載の半導体設計装置。
【請求項５】
データを入力する入力部とデータ処理を行うＣＰＵと入力部から入力したデータに基づき回路のシミュレーションを実行するシミュレーション実行部とシミュレーション実行結果を格納するシミュレーションデータベースとを備えた半導体設計装置であって、シミュレーションで使用されるオプションを回路図に表示させる条件表示部を備えた半導体設計装置。
【請求項６】
データを入力する入力部とデータ処理を行うＣＰＵと入力部から入力したデータに基づき回路のシミュレーションを実行するシミュレーション実行部とシミュレーション実行結果を格納するシミュレーションデータベースとを備えた半導体設計装置であって、シミュレーション結果の実行履歴とシミュレーション結果の相違箇所を管理する記録管理部を備えた半導体設計装置。
【請求項７】
データを入力する入力部とデータ処理を行うＣＰＵと入力部から入力したデータに基づき回路のシミュレーションを実行するシミュレーション実行部とシミュレーション実行結果を格納するシミュレーションデータベースとを備えた半導体設計装置であって、シミュレーション実行時の条件設定が各回路で正しく行われているかをシミュレーション実行前に確認する条件チェック部を備えた半導体設計装置。
【請求項８】
データを入力する入力部とデータ処理を行うＣＰＵと入力部から入力したデータに基づき回路のシミュレーションを実行するシミュレーション実行部とシミュレーション実行結果を格納するシミュレーションデータベースとを備えた半導体設計装置であって、回路ブロック間でピン名やピン数が不一致になっていないかをシミュレーション実行前に確認する整合チェック部を備えた半導体設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体回路を設計する際に用いられる半導体設計装置に関する。
【背景技術】
【０００２】
従来、半導体のメモリ回路やアナログ回路を設計する場合は、設計フェーズの早い時期はＣ言語などを利用したデジタルでの機能検証を行い、設計フェーズが進むとＳＰＩＣＥなどを用いて各ブロックのアナログでの回路シミュレーションを行うことで、設計検証を行っている。
【０００３】
また、近年はアナログ・デジタル混在シミュレータが実用レベルになってきており、アナログとデジタルのシミュレーションを混在させて行うことができるようになった（例えば、非特許文献１参照）。
【０００４】
これにより、設計フェーズの進捗に応じて各ブロックで使うシミュレーションのモードをデジタルやアナログに選択的に切り替え、かつ、各ブロックを含んだ回路全体のシミュレーションを一括で行うことができるようになり、メモリ回路やアナログ回路の設計にもアナログ・デジタル混在シミュレータが使用されている。
【０００５】
従来の機能検証手法は基本的に、回路図のネットリスト情報とシミュレーション入力データを基に、シミュレーション実行部でシミュレーションを実行する手法である。以下、従来技術の手法について詳細に説明する。
【０００６】
図２２は従来の半導体設計装置の構成を示すブロック図であり、１は入力部、２は入力部１から入力した情報を処理するＣＰＵ、３はＣＰＵ２で処理したデータによりシミュレーションを実行するシミュレーション実行部、４はシミュレーション実行部３の結果を出力する出力部である。
【０００７】
図２３は、図２２の半導体設計装置の動作を示す処理フロー図である。入力部１に入力したネットリストとシミュレーション入力データから、ＣＰＵ２が各ブロックでのシミュレーションモードの割り振りを行い、シミュレーション実行部３でシミュレーションを実行し、出力部４からシミュレーション出力データを出力する。
【０００８】
図２４および図２５は従来の半導体設計装置を用いた回路の設計フェーズを説明する図である。図２４の（Ａ）は回路設計フェーズ１の回路図で、チップＡがＣ言語で記述されたインバータのブロックＡとＣ言語で記述されたインバータのブロックＢで構成されている。（Ｂ）は回路設計フェーズ１の回路記述で、ブロックＡ、ブロックＢ共にＣ言語で記述されている。
【０００９】
図２５の（Ａ）は回路設計フェーズ２の回路図で、チップＡがＣ言語で記述されたインバータのブロックＡとＳＰＩＣＥで記述されたインバータのブロックＢで構成されている。（Ｂ）は回路設計フェーズ２の回路記述で、ブロックＡはＣ言語で、ブロックＢはＳＰＩＣＥで記述されている。
【００１０】
従来の半導体設計装置を用いた設計検証においては、まず、入力部１に入力したネットリストとシミュレーション入力データから、ＣＰＵ２で各ブロックでのシミュレーションモードの割り振りが行われる。
【００１１】
図２４、図２５に示す回路例の場合は、回路設計フェーズ１ではブロックＡ、ブロックＢ共にＣ言語を割り振り、回路設計フェーズ２では、ブロックＡはＣ言語、ブロックＢはＳＰＩＣＥを割り振る。
【００１２】
次に、ＣＰＵ２で割り振られたシミュレーションモードに対応して、シミュレーション実行部３でシミュレーションの実行を行う。その結果、シミュレーション出力データが出力部４から出力される。
【非特許文献１】アナログ・デジタル混在シミュレータ、日経エレクトロニクス（１０−１４）増刊号、日経ＢＰ社、１９９６年１０月１４日、Ｐ．１２０
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上記従来の半導体設計装置では、設計フェーズの進捗に応じて各ブロックで使うシミュレーションのモードをデジタルやアナログに選択的に切り替えてシミュレーションを行っており、シミュレーションのモード間でシミュレーションの結果が異なった場合に、出力波形を見ながら各ブロックでの相違箇所を検出せざるを得ず、相違箇所の検出に時間がかかるという問題があった。
【００１４】
また、シミュレーションのモード間でシミュレーション結果に相違があった場合に、許容できる範囲であるかどうかの判断は出力の波形を見ながら都度判断せざるを得ず、相違差の検出に時間がかかるという問題があった。
【００１５】
また、シミュレーション実行前に各ブロックで使用するシミュレーションのモードを回路図上で確認できず、未確認のまま予定していたシミュレーションとは異なるシミュレーションのモードを使用する問題があった。
【００１６】
また、シミュレーションの実行中もしくは実行後のシミュレーションのモード間でシミュレーション結果に相違があった場合に、その相違があった回路を回路図上で確認することができず、解析に時間がかかるという問題があった。
【００１７】
また、各シミュレーションのモードで使用するシミュレーションのオプション情報はシミュレーション入力データ内にあり、各回路ブロックにどのオプションを使用しているかの確認は、シミュレーション入力データを各々回路ブロック毎に確認せざるを得ず、その確認に時間がかかるという問題があった。
【００１８】
また、設計フェーズの進捗に応じて様々な組み合わせでシミュレーションを行うにもかかわらず、シミュレーションの実行履歴とシミュレーション結果の相違箇所が管理されておらず、シミュレーション結果の管理が難しいという問題があった。
【００１９】
また、同じ設計フェーズで使用する回路が互いに同じ条件でシミュレーションされているかどうかの確認は、シミュレーション入力データにより各回路ブロックの条件を互いに確認せざるを得ず、その確認に時間がかかるという問題があった。
【００２０】
さらに、シミュレーション実行前に各回路間で同じ条件でシミュレーションを行うかどうかの確認が行われず、各回路間で異なる条件のシミュレーションを行った場合は、シミュレーションが無駄になってしまうという問題があった。
【００２１】
また、回路ブロック間でピン名やピン数やピンの順番などの回路の不整合があった場合に、回路を間違えたままシミュレーションを実行してしまうという問題があった。
【００２２】
本発明は、設計フェーズの進捗に応じて各ブロックで使うシミュレーションのモードをデジタルやアナログに選択的に切り替えシミュレーションを行う際に、シミュレーションのモード間でシミュレーションの結果が異なった場合にも、相違箇所の検出時間を短縮することを目的とする。
【００２３】
また、シミュレーションのモード間でシミュレーション結果に相違があった場合にも、真性のエラー箇所だけを短時間で検出でき、シミュレーション実行者による相違差検出の見落としを防止すると共に、相違差が許容できる範囲であるかどうかの判断時間を短縮することを目的とする。
【００２４】
また、シミュレーション実行前に各ブロックで使用するシミュレーションのモードを回路図上で確認できるようにし、シミュレーション実行前に予定していない実行モードでのシミュレーション実行を未然に防止することを目的とする。
【００２５】
また、シミュレーション実行中もしくは実行後のシミュレーションのモード間でシミュレーション結果に相違があった場合に、その相違があった回路を回路図上で確認することができるようにし、シミュレーション結果の解析時間を短縮することを目的とする。
【００２６】
また、各シミュレーションのモードで各回路ブロックにどのオプションを使用しているかを容易に判断することができるようにし、シミュレーション実行ミスを防止することを目的とする。
【００２７】
また、設計フェーズの進捗に応じて様々な組み合わせでシミュレーションを行う際に、シミュレーション実行時の状態とシミュレーション結果を間違いなく管理できるようにすることを目的とする。
【００２８】
また、同じ設計フェーズで使用する回路が互いに同じ条件でシミュレーションされているかどうかの確認や、シミュレーション実行前に各回路間で同じ条件でシミュレーションを行うかどうかの確認を容易にし、無駄なシミュレーションの実行を未然に防止することを目的とする。
【００２９】
また、回路ブロック間でピン名やピン数やピンの順番などの回路の不整合があった場合に、回路を間違えたままシミュレーションを実行してしまうことを未然に防止することを目的とする。
【課題を解決するための手段】
【００３０】
本発明の半導体設計装置は、データを入力する入力部とデータ処理を行うＣＰＵと入力部から入力したデータに基づき回路のシミュレーションを実行するシミュレーション実行部とシミュレーション実行結果を格納するシミュレーションデータベースとを備えた半導体設計装置であって、シミュレーション結果の相違箇所を検出する相違箇所検出部を備える。上記構成によれば、シミュレーションの実行者による各ブロック同士の出力波形確認が不要となるため、相違箇所の検出時間短縮が可能となる。
【００３１】
本発明の半導体設計装置は、データを入力する入力部とデータ処理を行うＣＰＵと入力部から入力したデータに基づき回路のシミュレーションを実行するシミュレーション実行部とシミュレーション実行結果を格納するシミュレーションデータベースとを備えた半導体設計装置であって、シミュレーション結果の相違差を検出する相違差検出部を備える。上記構成によれば、真性のエラー箇所だけを検出することができるため、シミュレーション実行者による相違差の検出見落としを防止すると共に、相違差が許容できる範囲であるかどうかの判断時間短縮が可能となる。
【００３２】
本発明は、データを入力する入力部とデータ処理を行うＣＰＵと入力部から入力したデータに基づき回路のシミュレーションを実行するシミュレーション実行部とシミュレーション実行結果を格納するシミュレーションデータベースとを備えた半導体設計装置であって、シミュレーションモードの異なる回路間で相違のある回路を表示する入力相違箇所表示部を備える。上記構成によれば、シミュレーション実行前に予定していない実行モードでのシミュレーション実行を未然に防止することができる。
【００３３】
本発明において、前記相違箇所検出部で検出したシミュレーション結果で相違のある回路を表示させる相違箇所表示部を備える。上記構成によれば、シミュレーション実行中もしくは実行後に、シミュレーションモード間のシミュレーション結果の相違箇所を回路図上で容易に確認可能になるため、シミュレーション結果の解析時間短縮が可能となる。
【００３４】
本発明は、データを入力する入力部とデータ処理を行うＣＰＵと入力部から入力したデータに基づき回路のシミュレーションを実行するシミュレーション実行部とシミュレーション実行結果を格納するシミュレーションデータベースとを備えた半導体設計装置であって、シミュレーションで使用されるオプションを回路図に表示させる条件表示部を備える。上記構成によれば、各回路ブロックにどのオプションを使用しているかを視覚的に判断することが容易にできるため、シミュレーション実行ミスを防止することができる。
【００３５】
本発明は、データを入力する入力部とデータ処理を行うＣＰＵと入力部から入力したデータに基づき回路のシミュレーションを実行するシミュレーション実行部とシミュレーション実行結果を格納するシミュレーションデータベースとを備えた半導体設計装置であって、シミュレーション結果の実行履歴とシミュレーション結果の相違箇所を管理する記録管理部を備える。上記構成によれば、回路ブロック毎に様々な組み合わせでシミュレーションのモードが使用されていても、シミュレーション実行時の状態と結果を間違いなく管理することができる。
【００３６】
本発明は、データを入力する入力部とデータ処理を行うＣＰＵと入力部から入力したデータに基づき回路のシミュレーションを実行するシミュレーション実行部とシミュレーション実行結果を格納するシミュレーションデータベースとを備えた半導体設計装置であって、シミュレーション実行時の条件設定が各回路で正しく行われているかをシミュレーション実行前に確認する条件チェック部を備える。上記構成によれば、同じ設計フェーズで使用する回路が互いに同じ条件でシミュレーションがされているかどうか事前に確認することができるため、シミュレーション条件が互いに一致していないシミュレーションの実行を未然に防止することができる。
【００３７】
本発明は、データを入力する入力部とデータ処理を行うＣＰＵと入力部から入力したデータに基づき回路のシミュレーションを実行するシミュレーション実行部とシミュレーション実行結果を格納するシミュレーションデータベースとを備えた半導体設計装置であって、回路ブロック間でピン名やピン数が不一致になっていないかをシミュレーション実行前に確認する整合チェック部を備える。上記構成によれば、ピン名やピン数やピンの順番など回路が異なった状態でのシミュレーション実行を未然に防止することができる。
【発明の効果】
【００３８】
本発明によれば、設計フェーズの進捗に応じて各ブロックで使うシミュレーションのモードをデジタルやアナログに選択的に切り替えシミュレーションを行う際に、シミュレーションのモード間でシミュレーション結果の相違箇所を検出することで、シミュレーションの実行者が各ブロック同士の出力波形を確認することが不要となり相違箇所の検出時間を短縮する効果がある。
【００３９】
また本発明によれば、シミュレーションのモード間でシミュレーション結果の相違箇所に対して相違差を検出することで、真性のエラー箇所だけを検出することができ、シミュレーション実行者による相違差の検出見落としを防止すると共に、相違差が許容できる範囲であるかどうかの判断時間を短縮する効果がある。
【００４０】
また本発明によれば、シミュレーション実行前に各ブロックで使用するシミュレーションのモードを回路図上での確認を可能にすることで、シミュレーション実行前に予定していない実行モードでのシミュレーション実行を未然に防止する効果がある。
【００４１】
また本発明によれば、シミュレーション実行中もしくは実行後に、シミュレーションモード間のシミュレーション結果の相違箇所を回路図上で確認可能にすることで、シミュレーション結果の解析時間を短縮する効果がある。
【００４２】
また本発明によれば、各シミュレーションのモードで使用するシミュレーションのオプション情報を各回路ブロックの回路図に表示させることで、各回路ブロックにどのオプションを使用しているかを視覚的に判断可能にしてシミュレーション実行ミスを防止する効果がある。
【００４３】
また本発明によれば、シミュレーションの実行履歴とシミュレーション結果の相違箇所を管理することで、回路ブロック毎に様々な組み合わせでシミュレーションのモードが使用されていても、シミュレーション実行時の状態と結果を間違いなく管理することを可能にする効果がある。
【００４４】
また本発明によれば、シミュレーション実行前に各ブロックのシミュレーション条件をチェックすることで、同じ設計フェーズで使用する回路が互いに同じ条件でシミュレーションがされているかどうかを事前に確認できるため、シミュレーション条件が互いに一致していないシミュレーションの実行を未然に防止する効果がある。
【００４５】
また本発明によれば、回路ブロック間で回路の不整合箇所を検出することで、ピン名やピン数やピンの順番などが異なった状態でのシミュレーション実行を未然に防止する効果がある。
【発明を実施するための最良の形態】
【００４６】
以下、本発明の実施形態について図面を参照しながら説明する。図１は本発明の一実施の形態に係る半導体設計装置の構成を示すブロック図である。図１において、１は入力部、２はＣＰＵ、３はシミュレーション実行部、４は出力部で、これらは図２２の構成と同じものである。
【００４７】
さらに図１において、２０はシミュレーションデータベース、２１はネットリストデータベース、２２は回路図データベース、３１は相違箇所検出部、３２は相違差検出部、３３は入力相違箇所表示部、３４は相違箇所表示部、３５は条件表示部、３６は記録管理部、３７は条件チェック部、３８は整合チェック部である。
【００４８】
シミュレーションデータベース２０はシミュレーションの処理結果を格納し、ネットリストデータベース２１はシミュレーションを行うネットリストを格納し、回路図データベース２２はシミュレーションを行う回路図を格納する。
【００４９】
相違箇所検出部３１はシミュレーション結果の相違箇所を検出し、相違差検出部３２はシミュレーション結果の相違差を検出し、入力相違箇所表示部３３は入力部１から入力したシミュレーションモードの異なる回路間で相違のある回路を表示し、相違箇所表示部３４は相違箇所検出部で検出したシミュレーション結果で相違のある回路を表示し、条件表示部３５は入力部から入力したシミュレーションで使用されるオプションを回路図に表示する。
【００５０】
記録管理部３６はシミュレーション結果の実行履歴を管理し、条件チェック部３７はシミュレーション実行時の条件設定が各回路で正しく行われているかをシミュレーション実行前に確認し、整合チェック部３８はシミュレーションモード間でピン名やピン数が不一致になっていないかをシミュレーション実行前に確認する。
【００５１】
以下、本実施の形態における各部の機能と動作について順に説明する。図２は本実施の形態における相違箇所検出部３１の動作を示す処理フロー図である。入力部１に入力されたネットリストとシミュレーション入力データからＣＰＵ２が入力データを選択し、各ブロックでのシミュレーションモードの割り振りを行い、シミュレーション実行部３でシミュレーションを実行する。
【００５２】
シミュレーション実行によりシミュレーションデータベース２０にシミュレーションデータが蓄積され、相違箇所検出部３１でシミュレーションの相違箇所が検出される。次に、ＣＰＵ２でシミュレーションの相違箇所検出情報を選択的に合成し、シミュレーション出力データと相違箇所検出結果を出力部４から出力する。
【００５３】
図３および図４は本実施形態における回路の設計フェーズを説明する図である。図３の（Ａ）は回路設計フェーズ１の回路図で、チップＡがＣ言語で記述されたインバータのブロックＡとＣ言語で記述されたインバータのブロックＢで構成されている。（Ｂ）は回路設計フェーズ１の回路記述で、ブロックＡ、ブロックＢ共にＣ言語で記述されている。（Ｃ）は回路設計フェーズ１のシミュレーション波形である。
【００５４】
図４の（Ａ）は回路設計フェーズ２の回路図で、チップＡがＣ言語で記述されたインバータのブロックＡとＶｅｒｉｌｏｇ−ＨＤＬで記述されたバッファのブロックＢで構成されている。（Ｂ）は回路設計フェーズ２の回路記述で、ブロックＡはＣ言語で、ブロックＢはＶｅｒｉｌｏｇ−ＨＤＬで記述されている。（Ｃ）は回路設計フェーズ２のシミュレーション波形で、図３の回路設計フェーズ１と異なる波形を検出したため太線で描かれた状態を示している。
【００５５】
このように回路の設計フェーズ間でブロックＢの構成が異なっているが、相違箇所検出部３１を設けることによりシミュレーション結果の相違箇所が検出されるため、各ブロック同士の出力波形確認が容易になり、相違箇所の検出時間を短縮することができる。
【００５６】
図５は本実施の形態における相違差検出部３２の動作を示す処理フロー図である。入力部１に入力されたネットリストとシミュレーション入力データからＣＰＵ２が入力データを選択し、各ブロックでのシミュレーションモードの割り振りを行い、シミュレーション実行部３でシミュレーションを実行する。
【００５７】
シミュレーション実行によりシミュレーションデータベース２０にシミュレーションデータが蓄積され、相違箇所検出部３１でシミュレーションの相違箇所が検出され、さらに、相違差検出部３２でシミュレーションの相違差が検出される。次に、ＣＰＵ２でシミュレーションの相違差検出情報を選択的に合成し、シミュレーション出力データと相違差検出結果を出力部４から出力する。
【００５８】
図６および図７は本実施形態における回路の設計フェーズを説明する図である。図６の（Ａ）は回路設計フェーズ２における１回目のシミュレーションの回路図で、チップＡがＣ言語で記述されたインバータのブロックＡと、Ｖｅｒｉｌｏｇ−ＨＤＬで記述されたインバータのブロックＢで構成されている。（Ｂ）は回路設計フェーズ２における１回目のシミュレーションの回路記述で、ブロックＡはＣ言語で、ブロックＢはＶｅｒｉｌｏｇ−ＨＤＬで記述されている。（Ｃ）は回路設計フェーズ２における１回目のシミュレーションのシミュレーション波形である。
【００５９】
図７の（Ａ）は回路設計フェーズ２における２回目のシミュレーションの回路図で、チップＡがＣ言語で記述されたインバータのブロックＡとＶｅｒｉｌｏｇ−ＨＤＬで記述されたインバータのブロックＢで構成されている。（Ｂ）は回路設計フェーズ２における２回目のシミュレーションの回路記述で、ブロックＡはＣ言語で、ブロックＢはＶｅｒｉｌｏｇ−ＨＤＬで記述されている。
【００６０】
１回目のシミュレーションでは、ブロックＡ、ブロックＢ共に出力の遅延値は設定されていないが、２回目のシミュレーションでは、ブロックＢに１０ｎｓの出力遅延が付いている。図７の（Ｃ）は回路設計フェーズ２における２回目のシミュレーションのシミュレーション波形であり、１回目のシミュレーションに対する相違差として出力にｄ１、ｄ２共に１０ｎｓを検出した状態が描かれている。
【００６１】
このようにシミュレーション結果の相違差を検出する相違差検出部３２を設けることにより、１回目のシミュレーションと２回目のシミュレーション間にある真性の相違箇所だけを検出することができるため、シミュレーション実行者による相違差の検出見落としを防止すると共に、相違差が許容できる範囲であるかどうかの判断時間を短縮することができる。
【００６２】
図８は本実施の形態における入力相違箇所表示部３３の動作を示す処理フロー図である。入力部１に入力されたネットリストとシミュレーション入力データからＣＰＵ２が入力データを選択し、各ブロックでのシミュレーションモードの割り振りを行う。
【００６３】
次に、シミュレーションを行うネットリストを格納するネットリストデータベース２１と回路図を格納する回路図データベース２２に対して、入力相違箇所表示部３３でシミュレーションモードの異なる回路間で相違のある回路がネットリストから特定される。次に、ＣＰＵ２で入力相違箇所の回路情報を選択的に合成し、入力相違箇所の回路情報を出力部４から出力する。
【００６４】
図９は本実施形態における回路の設計フェーズを説明する図である。図９の（Ａ）は回路設計フェーズ１の回路図で、チップＡがＣ言語で記述されたブロックＡとＣ言語で記述されたブロックＢで構成されている。（Ｂ）は回路設計フェーズ２の回路記述で、チップＡがＣ言語で記述されたブロックＡとＶｅｒｉｌｏｇ−ＨＤＬで記述されたブロックＢで記述されている。
【００６５】
ここで、ブロックＢは回路設計フェーズ１ではＣ言語で記述され、回路設計フェーズ２ではＶｅｒｉｌｏｇ−ＨＤＬで記述されているため、入力が相違していることでブロックＢがハイライトされて表示されている。
【００６６】
このように入力部から入力したシミュレーションモードの異なる回路間で相違のある回路を表示する入力相違箇所表示部３３を設けることにより、シミュレーション実行前に予定していない実行モードでのシミュレーション実行を未然に防止することができる。
【００６７】
図１０は本実施の形態における相違箇所表示部３４の動作を示す処理フロー図である。入力部１に入力されたネットリストとシミュレーション入力データからＣＰＵ２が入力データを選択し、各ブロックでのシミュレーションモードの割り振りを行う。次に、シミュレーション実行部３でシミュレーションが実行され、シミュレーションデータベース２０にシミュレーションデータが蓄積される。
【００６８】
さらに、相違箇所検出部３１で相違箇所が検出され、シミュレーションを行うネットリストを格納するネットリストデータベース２１と回路図を格納する回路図データベース２２に対して、相違箇所表示部３４でシミュレーション結果が相違している回路がネットリストから特定される。次に、ＣＰＵ２で相違箇所の回路情報を選択的に合成し、シミュレーション出力データと相違箇所検出結果と相違箇所の回路情報を出力部４から出力する。
【００６９】
図１１は本実施形態における回路の設計フェーズを説明する図である。図１１の（Ａ）は回路設計フェーズ１の回路図で、チップＡがＣ言語で記述されたブロックＡとＣ言語で記述されたブロックＢで構成されている。（Ｂ）は回路設計フェーズ２の回路記述で、チップＡがＣ言語で記述されたブロックＡとＶｅｒｉｌｏｇ−ＨＤＬで記述されたブロックＢで記述されている。
【００７０】
ここで、ブロックＢは回路設計フェーズ１ではＣ言語で記述され、回路設計フェーズ２ではＶｅｒｉｌｏｇ−ＨＤＬで記述されているため、シミュレーション実行中もしくは実行後が相違しており、ブロックＢがハイライトされて表示されている。
【００７１】
このように、相違箇所検出部３１で検出したシミュレーション結果で相違のある回路を表示させる相違箇所表示部３４を設けることにより、シミュレーション結果の解析時間を短縮することが可能となる。
【００７２】
図１２は本実施の形態における条件表示部３５の動作を示す処理フロー図である。入力部１に入力されたネットリストとシミュレーション入力データからＣＰＵ２が入力データを選択し、各ブロックでのシミュレーションモードの割り振りを行う。次に、シミュレーション実行部３でシミュレーションが実行され、シミュレーションデータベース２０にシミュレーションデータが蓄積される。
【００７３】
次に、シミュレーションを行うネットリストを格納するネットリストデータベース２１と回路図を格納する回路図データベース２２に対して、条件表示部３５では各ブロックで使用されているシミュレーションの条件が回路図内で特定される。さらに、ＣＰＵ２でシミュレーション条件の回路表示情報を選択的に合成し、シミュレーション出力データと条件の回路表示情報を出力部４から出力する。
【００７４】
図１３は本実施形態における回路の設計フェーズを説明する図である。図１３の（Ａ）は回路設計フェーズ３の回路図で、チップＡがＣ言語で記述されたインバータのブロックＡとＳＰＩＣＥで記述されたインバータのブロックＢで構成されている。（Ｂ）は回路設計フェーズ３の回路記述で、チップＡがＣ言語で記述されたブロックＡとＳＰＩＣＥで記述されたブロックＢで記述されている。
【００７５】
ここで、ブロックＢで使用されるＳＰＩＣＥのオプションはＨｉｇｈ  Ａｃｃｕｒａｃｙである。そのため、ブロックＢの回路図の中にＳＰＩＣＥのオプションであるＨｉｇｈ  Ａｃｃｕｒａｃｙが表示されている。
【００７６】
このように入力部から入力したシミュレーションで使用されるオプションを回路図に表示させる条件表示部３５を設けることにより、各回路ブロックにどのオプションを使用しているかを視覚的に判断することができるため、シミュレーション実行ミスを防止することができる。
【００７７】
図１４は本実施の形態における記録管理部３６の動作を示す処理フロー図である。入力部１に入力されたネットリストとシミュレーション入力データからＣＰＵ２が入力データを選択し、各ブロックでのシミュレーションモードの割り振りを行う。次に、シミュレーション実行部３でシミュレーションが実行され、シミュレーションデータベース２０にシミュレーションデータが蓄積される。
【００７８】
次に、相違箇所検出部３１で相違箇所が検出され、記録管理部３６ではシミュレーションの記録情報が記録される。さらに、ＣＰＵ２でシミュレーション記録情報と相違箇所検出情報を選択的に合成し、シミュレーション出力データと相違箇所検出情報とシミュレーション記録情報を出力部４から出力する。
【００７９】
図１５は本実施形態における実行履歴の記録情報例を説明する図であり、シミュレーションの実施回数ごとの回路、シミュレーションモード、シミュレーションの選択オプションの実行履歴、相違箇所を記述している。
【００８０】
ここでは、１回目のシミュレーションは図３の構成で、２回目のシミュレーションは図４の構成で、３回目のシミュレーションは図６の構成でシミュレーションを実施した例を示している。１回目のシミュレーション実施時の回路構成を基準に判断した場合に、２回目ではブロックＢが１回目と相違しているが、３回目では相違していない。
【００８１】
このようにシミュレーション結果の実行履歴を管理する記録管理部３６を設けることにより、回路ブロック毎に様々な組み合わせでシミュレーションのモードが使用されていても、シミュレーション実行時の状態と結果を間違いなく管理することができる。
【００８２】
図１６は本実施の形態における条件チェック部３７の動作を示す処理フロー図である。入力部１に入力されたネットリストとシミュレーション入力データに対して、条件チェック部３７は各回路ブロックでの条件チェックを行う。
【００８３】
各ブロックで条件が一致している場合は、ＣＰＵ２は各ブロックでのシミュレーションモードの割り振りを行い、シミュレーション実行部３でシミュレーションを実行し、シミュレーション出力データと条件チェック結果を出力部４から出力する。各ブロックで条件が一致していない場合はシミュレーションを行わず、条件チェック結果を出力部４から出力する。
【００８４】
図１７は本実施形態における条件チェック例を説明する図であり、（Ａ）はシミュレーションの条件チェックに適合した（ＯＫ）例を、（Ｂ）は条件チェックが不適合であった（ＮＧ）例を示している。（Ｂ）では回路のブロックＡとブロックＢの温度の条件が異なるためＮＧとなっている。
【００８５】
このように、シミュレーション実行時の条件設定が各回路で正しく行われているかをシミュレーション実行前に確認する条件チェック部３７を設けることにより、同じ設計フェーズで使用する回路が互いに同じ条件でシミュレーションがされているかどうかを事前に確認することができるため、シミュレーション条件が互いに一致していないシミュレーションの実行を未然に防止することができる。
【００８６】
図１８は本実施の形態における整合チェック部３８の動作を示す処理フロー図である。入力部１に入力されたネットリストとシミュレーション入力データに対して、整合チェック部３８は各回路ブロックでの整合チェックを行う。
【００８７】
各ブロックで回路が整合している場合は、ＣＰＵ２は各ブロックでのシミュレーションモードの割り振りを行い、シミュレーション実行部３でシミュレーションを実行し、シミュレーション出力データと整合チェック結果を出力部４から出力する。各ブロックで回路が整合していない場合はシミュレーションを行わず、整合チェック結果を出力部４から出力する。
【００８８】
図１９〜２１は本実施形態における整合チェックを説明する図である。図１９は回路設計フェーズ１と回路設計フェーズ２が整合している状態である。図１９の（Ａ−１）は回路設計フェーズ１の回路図で、チップＢがＶｅｒｉｌｏｇ−ＨＤＬで記述された２入力ＮＡＮＤのブロックＣとＣ言語で記述されたインバータのブロックＤで構成されている。（Ａ−２）は回路設計フェーズ１の回路記述で、チップＢがＶｅｒｉｌｏｇ−ＨＤＬで記述された２入力ＮＡＮＤのブロックＣとＣ言語で記述されたインバータのブロックＤで記述されている。
【００８９】
図１９の（Ｂ−１）は回路設計フェーズ２の回路図で、チップＢがＳＰＩＣＥで記述された２入力ＮＡＮＤのブロックＣとＣ言語で記述されたインバータのブロックＤで構成されている。（Ｂ−２）は回路設計フェーズ２の回路記述で、チップＢがＳＰＩＣＥで記述された２入力ＮＡＮＤのブロックＣとＣ言語で記述されたインバータのブロックＤで記述されている。
【００９０】
図２０は回路設計フェーズ１と回路設計フェーズ２が整合していない状態である。図２０の（Ａ−１）は回路設計フェーズ１の回路図で、チップＢがＶｅｒｉｌｏｇ−ＨＤＬで記述された２入力ＮＡＮＤのブロックＣとＣ言語で記述されたインバータのブロックＤで構成されている。（Ａ−２）は回路設計フェーズ１の回路記述で、チップＢがＶｅｒｉｌｏｇ−ＨＤＬで記述された２入力ＮＡＮＤのブロックＣとＣ言語で記述されたインバータのブロックＤで記述されている。
【００９１】
図２０の（Ｂ−１）は回路設計フェーズ２の回路図で、チップＢがＳＰＩＣＥで記述されたインバータのブロックＣとＣ言語で記述されたインバータのブロックＤで構成されている。（Ｂ−２）は回路設計フェーズ２の回路記述で、チップＢがＳＰＩＣＥで記述されたインバータのブロックＣとＣ言語で記述されたインバータのブロックＤで記述されている。
【００９２】
ここで、設計フェーズ１と設計フェーズ２ではブロックＣの回路が整合していない。すなわち、回路設計フェーズ１のブロックＣではＩＣ２のピンが回路設計フェーズ２と整合していないことが太線で表示され、回路設計フェーズ２のブロックＣではチップＢのＩＮ２からの入力が無いことで整合されていないことが破線で表示されている。
【００９３】
図２１も回路設計フェーズ１と回路設計フェーズ２が整合していない状態である。図２１の（Ａ−１）は回路設計フェーズ１の回路図で、チップＢがＶｅｒｉｌｏｇ−ＨＤＬで記述された２入力ＮＡＮＤのブロックＣとＣ言語で記述されたインバータのブロックＤで構成されている。（Ａ−２）は回路設計フェーズ１の回路記述で、チップＢがＶｅｒｉｌｏｇ−ＨＤＬで記述された２入力ＮＡＮＤのブロックＣとＣ言語で記述されたインバータのブロックＤで記述されている。
【００９４】
図２１の（Ｂ−１）は回路設計フェーズ２の回路図で、チップＢがＳＰＩＣＥで記述された２入力ＮＡＮＤのブロックＣとＣ言語で記述されたインバータのブロックＤで構成されている。（Ｂ−２）は回路設計フェーズ２の回路記述で、チップＢがＳＰＩＣＥで記述された２入力ＮＡＮＤのブロックＣとＣ言語で記述されたインバータのブロックＤで記述されている。
【００９５】
ここで、設計フェーズ１と設計フェーズ２ではブロックＣの回路が整合していない。すなわち、回路設計フェーズ１のブロックＣではＩＮ１とＩＮ２からの接続がそれぞれＩＣ１とＩＣ２なのに対して、回路設計フェーズ２のブロックＣではＩＮ１とＩＮ２からの接続がそれぞれＩＣ２とＩＣ１であり、回路設計フェーズ１とは整合していないことが太線で表示されている。
【００９６】
このように、回路ブロック間でピン名やピン数が不一致になっていないかをシミュレーション実行前に確認する整合チェック部３８を設けることにより、ピン名やピン数やピンの順番などが異なった状態でのシミュレーション実行を未然に防止することができる。
【００９７】
以上のように本実施形態によれば、第１に、シミュレーション結果の相違箇所を検出する相違箇所検出部３１を設けることにより、各ブロック同士の出力波形確認が不要となり、相違箇所の検出時間短縮が可能となる。
【００９８】
第２に、シミュレーション結果の相違差を検出する相違差検出部３２を設けることにより、真性のエラー箇所だけを検出しシミュレーション実行者による相違差の検出見落としを防止すると共に、相違差が許容できる範囲であるかどうかの判断時間短縮が可能となる。
【００９９】
第３に、入力部から入力したシミュレーションモードの異なる回路間で相違のある回路を表示する入力相違箇所表示部３３を設けることにより、シミュレーション実行前に予定していない実行モードでのシミュレーション実行を未然に防止することができる。
【０１００】
第４に、相違箇所検出部３１で検出したシミュレーション結果で相違のある回路を表示させる相違箇所表示部３４を設けることにより、シミュレーション結果の解析時間短縮が可能となる。
【０１０１】
第５に、入力部から入力したシミュレーションで使用されるオプションを回路図に表示させる条件表示部３５を設けることにより、各回路ブロックにどのオプションを使用しているかを視覚的に判断することでシミュレーション実行ミスを防止することができる。
【０１０２】
第６に、シミュレーション結果の実行履歴とシミュレーション結果の相違箇所を管理する記録管理部３６を設けることにより、回路ブロック毎に様々な組み合わせでシミュレーションのモードが使用されていてもシミュレーション実行時の状態と結果を間違いなく管理することができる。
【０１０３】
第７に、シミュレーション実行時の条件設定が各回路で正しく行われているかをシミュレーション実行前に確認する条件チェック部３７を設けることにより、同じ設計フェーズで使用する回路が互いに同じ条件でシミュレーションがされているかどうか事前に確認することができ、シミュレーション条件が互いに一致していないシミュレーションの実行を未然に防止することができる。
【０１０４】
第８に、回路ブロック間でピン名やピン数が不一致になっていないかをシミュレーション実行前に確認する整合チェック部３８を設けることにより、ピン名やピン数やピンの順番などが異なった状態でのシミュレーション実行を未然に防止することができる。
【０１０５】
なお、上記実施形態の説明では本発明を半導体回路の設計装置の場合としたが、プリント基板回路の設計装置の場合としてもよい。
【産業上の利用可能性】
【０１０６】
本発明の半導体設計装置は、設計フェーズの進捗に応じて各ブロックで使うシミュレーションのモードをデジタルやアナログに選択的に切り替えシミュレーションを行う際に、シミュレーションのモード間でシミュレーション結果の相違箇所を検出することで、シミュレーションの実行者が各ブロック同士の出力波形を確認することが不要となり相違箇所の検出時間を短縮することができ、半導体回路を設計する際に用いられる半導体設計装置等として有用である。
【図面の簡単な説明】
【０１０７】
【図１】本発明の一実施の形態に係る半導体設計装置の構成を示すブロック図。
【図２】本発明の実施形態における相違箇所検出部の動作を示す処理フロー図。
【図３】本発明の実施形態における回路の設計フェーズを説明する図。
【図４】本発明の実施形態における回路の設計フェーズを説明する図。
【図５】本発明の実施形態における相違差検出部の動作を示す処理フロー図。
【図６】本発明の実施形態における回路の設計フェーズを説明する図。
【図７】本発明の実施形態における回路の設計フェーズを説明する図。
【図８】本発明の実施形態における入力相違箇所表示部の動作を示す処理フロー図。
【図９】本発明の実施形態における回路の設計フェーズを説明する図。
【図１０】本発明の実施形態における相違箇所表示部の動作を示す処理フロー図。
【図１１】本発明の実施形態における回路の設計フェーズを説明する図。
【図１２】本発明の実施形態における条件表示部の動作を示す処理フロー図。
【図１３】本発明の実施形態における回路の設計フェーズを説明する図。
【図１４】本発明の実施形態における記録管理部の動作を示す処理フロー図。
【図１５】本発明の実施形態における実行履歴の記録情報例を説明する図。
【図１６】本発明の実施形態における条件チェック部の動作を示す処理フロー図。
【図１７】本発明の実施形態における条件チェック例を説明する図。
【図１８】本発明の実施形態における整合チェック部の動作を示す処理フロー図。
【図１９】本発明の実施形態における整合チェックを説明する図。
【図２０】本発明の実施形態における整合チェックを説明する図。
【図２１】本発明の実施形態における整合チェックを説明する図。
【図２２】従来の半導体設計装置の構成を示すブロック図。
【図２３】従来の半導体設計装置の動作を示す処理フロー図。
【図２４】従来の実施形態における回路の設計フェーズを説明する図。
【図２５】従来の実施形態における回路の設計フェーズを説明する図。
【符号の説明】
【０１０８】
１  入力部
２  ＣＰＵ
３  シミュレーション実行部
４  出力部
２０  シミュレーションデータベース
２１  ネットリストデータベース
２２  回路図データベース
３１  相違箇所検出部
３２  相違差検出部
３３  入力相違箇所表示部
３４  相違箇所表示部
３５  条件表示部
３６  記録管理部
３７  条件チェック部
３８  整合チェック部
【図１】
2006244073.tif 000003
【図２】
2006244073.tif 000004
【図３】
2006244073.tif 000005
【図４】
2006244073.tif 000006
【図５】
2006244073.tif 000007
【図６】
2006244073.tif 000008
【図７】
2006244073.tif 000009
【図８】
2006244073.tif 000010
【図９】
2006244073.tif 000011
【図１０】
2006244073.tif 000012
【図１１】
2006244073.tif 000013
【図１２】
2006244073.tif 000014
【図１３】
2006244073.tif 000015
【図１４】
2006244073.tif 000016
【図１５】
2006244073.tif 000017
【図１６】
2006244073.tif 000018
【図１７】
2006244073.tif 000019
【図１８】
2006244073.tif 000020
【図１９】
2006244073.tif 000021
【図２０】
2006244073.tif 000022
【図２１】
2006244073.tif 000023
【図２２】
2006244073.tif 000024
【図２３】
2006244073.tif 000025
【図２４】
2006244073.tif 000026
【図２５】
2006244073.tif 000027