JP7078428B2 - シミュレーション実行制御装置、シミュレーション実行制御方法、及び、シミュレーション実行制御プログラム - Google Patents

シミュレーション実行制御装置、シミュレーション実行制御方法、及び、シミュレーション実行制御プログラム Download PDF

Info

Publication number
JP7078428B2
JP7078428B2 JP2018044853A JP2018044853A JP7078428B2 JP 7078428 B2 JP7078428 B2 JP 7078428B2 JP 2018044853 A JP2018044853 A JP 2018044853A JP 2018044853 A JP2018044853 A JP 2018044853A JP 7078428 B2 JP7078428 B2 JP 7078428B2
Authority
JP
Japan
Prior art keywords
simulation
electronic circuit
information
execution control
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018044853A
Other languages
English (en)
Other versions
JP2019159734A (ja
Inventor
久 進藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2018044853A priority Critical patent/JP7078428B2/ja
Publication of JP2019159734A publication Critical patent/JP2019159734A/ja
Application granted granted Critical
Publication of JP7078428B2 publication Critical patent/JP7078428B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本願発明は、設定される初期値として不定値を含む電子回路の動作をシミュレーションする技術に関する。
近年、半導体技術は目覚ましい発展を遂げ、微細化及び高集積化に関する技術は年々進歩している。そして、LSI(Large Scale Integration)自体の集積度が向上することによりLSIに組み込まれる論理回路が大幅に増加するので、このような論理回路を検証するためには大規模な検証モデルを構築する必要がある。このような大規模モデルを、LSIの製造に先立って情報処理装置を用いてシステムレベルで検証する場合、検証に要する時間が膨大になりつつある。
図13は、一般的なLSI(電子回路)の開発工程を例示する図である。LSIの開発では、図13に示す通り、様々な設計及び検証が行なわれる。そしてLSIを開発するベンダーは、例えばASIC(Application Specific Integrated Circuit)ベンダーにネットリスト(LSIデータ)をリリースするにあたり、初期化検証、障害処理検証、各機能検証等、様々な検証を実施する。
ここで、例えば初期化検証においては、LSIに含まれる各素子に対して設定する初期値として、通常、「0(電圧low)」、「1(電圧high)」に加えて「X(不定値)」を設定して論理シミュレーションを実施する。なぜなら、LSIに含まれる素子によっては、例えば電源がオンされたときに、当該素子が示す値が「0」であるのか「1」であるのかが定まらない(但し実際のLSIでは、不定値「X」という状態は存在しなく、各素子は、必ず「0」あるいは「1」の何れかを示す)からである。
このような、設定される初期値として不定値「X」を含む電子回路の動作をシミュレーションする場合、不定値「X」が電子回路内において伝播することによって、シミュレーション結果に多くの不定値「X」が含まれる場合がある。実際のLSIでは、不定値「X」という状態は存在しないことから、シミュレーション結果に多くの不定値「X」が含まれることによって、シミュレーションの網羅率等が低下し、シミュレーションの精度が悪化することになる。したがって、設定される初期値として不定値「X」を含む電子回路の動作をシミュレーションする場合において、シミュレーションの精度を効率的に向上させる技術への期待は、ますます高まってきている。
このような技術に関連する技術として、特許文献1には、信号の理論値として、少なくとも「1」、「0」、「X(不定値)」という3値を扱うことが可能なシミュレータを備えた、論理回路のシミュレーション方法が開示されている。この方法では、シミュレーションを実行中に、不定値状態にある信号線を検出し、当該不定値に対して無作為に「0」または「1」を割り当てることによって、シミュレーションを実行する。
また、特許文献2には、論理シミュレーションにおいて不定値が及ぼす悪影響を緩和するようにした論理シミュレーション方法が開示されている。この方法では、1つの論理回路を2つの異なるレベルにて記述した高位レベル回路におけるノードOと低位レベル回路におけるノードFとの対応関係を決定する。この方法では、論理シミュレーションにおいて、ノードOの期待値が「1」であり、ノードFが不定値「X」を示すことから、期待値エラーノードの発生を検知した場合、ノードFの不定値「X」の原因となる不定値ノードCに「0」と「1」とを代入して、それぞれ論理シミュレーションを実施する。そしてこの方法では、いずれの場合もノードFが「1」という同一の値を示すことを確認したうえで、期待値エラーノード(不定値ノード)が示す値を固定値「1」に書き換える。これにより、この方法は、ノードOとノードFとの間の期待値エラーを解消し、論理シミュレーションを継続実行する。
また、特許文献3には、シミュレーションの対象となる回路の信号入力となるテストパターン中に、セーブスタートポイントならびにセーブエンドポイントを設定した半導体集積回路のシミュレーション方法が開示されている。この方法では、セーブスタートポイント直前のイベント情報、ならびにセーブスタートポイントとセーブエンドポイントとの間で指定される範囲の連続したシミュレーション結果を収集してセーブする。この方法では、セーブしたシミュレーション結果に基づいてセーブポイント以降のテストパターンを修正し、修正した部分を含むテストパターン全体をセーブする。この方法では、修正した部分を含むセーブされた全体のテストパターンの内、修正した部分を含むセーブポイント以降のテストパターンをシミュレータにロードする。そしてこの方法では、シミュレータにロードされたテストパターンを使用してシミュレーションを実行する。
特開平03-041564号公報 特開2006-331212号公報 特開2000-035983号公報
電子回路では、実際の回路及びそのシミュレーションにおいて、各素子が示す値が不定値とはならずに、「0」あるいは「1」の何れかに決定するようにする、素子が示す値が不定値となることを解消することが期待される解消機能を有する構成が組み込まれる場合がある。
図14は、このような素子が示す値が不定値となることを解消することが期待される解消機能を有する電子回路を例示する図である。但し、図14に例示する電子回路は、後述する信号の遅延時間に関する検証が行なわれる前の電子回路であり、図13において、ASICベンダーにネットリストをリリースする前の電子回路に相当する。また、図15は、図14に例示する電子回路のシミュレーションを実行した結果を表す、各信号のタイムチャートを例示する図である。
図14に例示する電子回路は、NAND(否定論理積)ゲートa01、機能回路a02、クロック制御回路a03、機能回路a04、レジスタa05を含んでいる。CLK_IN信号は、電子回路に含まれるレジスタの同期をとるために分配されたクロック信号である。RESET_A信号及びRESET_B信号は、レジスタa05が示す値が不定値となることを解消することが期待される解消機能を有するリセット信号である。
RESET_A信号は、図15に例示する通り、シミュレーションにおける経過時間Tm0までは「0」を示し、経過時間Tm0において、「0」から「1」に推移し、経過時間Tm1において、「1」から「0」に推移することとする。RESET_B信号は、シミュレーションにおける経過時間Tm0までは不定値「X」を示し、経過時間Tm1において、不定値「X」から「0」に推移し、その後は「0」を示し続けることとする。また、図14に例示する通り、RESET_A信号は機能回路a04に入力されることによって機能回路a04から出力されるREG_IN信号を「0」にリセットし、RESET_B信号は、機能回路a02からの出力信号とともに、NANDゲートa01に入力されることとする。但し、機能回路a02は、レジスタa05から出力されたREG_OUT信号を入力とする回路である。
クロック制御回路a03は、NANDゲートa01から出力されたCLK_EN(クロックイネーブル)信号とCLK_IN信号とに基づいてREG_CLK_IN信号を生成し、生成したREG_CLK_IN信号をクロック信号としてレジスタa05へ入力する。CLK_EN信号は、経過時間Tm0において、RESET_B信号が「0」に確定することによって「1」に確定する。レジスタa05が示す値は、経過時間Tm0においてREG_CLK_IN信号が確定される(即ちCLK_IN信号がクロック信号としてレジスタa05に入力され始める)とともに、RESET_A信号によってREG_IN信号が「0」にリセットされることによって、不定値「X」から「0」に推移する。
図13に例示する、例えばASICベンダーにネットリストをリリースする前の工程において行なわれる、RTL(Register Transfer Level)、即ち論理レベルのシミュレーションは、電子回路における信号の遅延時間に関する検証が行なわれる前の状態にある、図14及び図15に例示するような電子回路を対象とする。
そして、図13に例示する通り、ASICベンダーは、リリースされたネットリストに基づいて、電子回路における信号の遅延時間等を考慮したレイアウト設計(物理設計)を行なう。そして、LSIの開発工程における最終段階において、このレイアウト設計の結果を含む設計情報を用いて、サインオフ検証(ゲートレベル、即ち物理レベルのシミュレーション)が行なわれる。
上述したレイアウト設計では、電子回路における信号の遅延時間等を考慮した結果として、例えばクロック信号やリセット信号等を分配する回路が、論理設計時とは異なる形態で(但し、当該電子回路が論理的に適切に動作することは保証されることとする)、電子回路に組み込まれる場合がある。そして、このことによって、論理設計後の設計情報に基づくシミュレーションでは機能していた不定値を解消する機能が、物理設計後の設計情報に基づくシミュレーションでは機能しなくなり、シミュレーションにおける不定値が解消されなくなる場合がある。但し、この場合において、シミュレーションにおける不定値を解消する機能が機能しないことは、実際の電子回路が適切に動作することには影響を与えないこととする。即ち、シミュレーションにおける不定値「X」の部分に関して、実際の電子回路における値が「0」であっても「1」であっても、実際の電子回路の動作には問題が無いこととする。次に、図16及び図17を参照して、このような場合について説明する。
図16は、図14に例示する電子回路における信号の遅延時間が検証された結果に基づいて物理設計が行なわれた後の電子回路を例示する図である。図17は、図16に例示する電子回路のシミュレーションを実行した結果を表す、各信号のタイムチャートを例示する図である。
図16に例示する電子回路では、図14に例示する電子回路に対する物理設計が行なわれた結果として、RESET_A信号とRESET_B信号との論理和を出力するORゲートb00が、図14に例示する電子回路に対して追加されている。ORゲートb00からの出力信号は、機能回路a02からの出力信号とともに、NANDゲートa01に入力されている。但し、図14に例示する電子回路に対して上述した変更が行なわれた図16に例示する電子回路が論理的に適切に動作することは、保証されることとする。
図16に例示する電子回路では、RESET_A信号とRESET_B信号との論理和がNANDゲートa01に入力されるので、図17に例示する通り、シミュレーションにおける経過時間Tm0において、CLK_EN信号は、図15に例示するときのように「1」に確定せず、不定値「X」を維持する。そして、CLK_EN信号は、RESET_A信号とRESET_B信号とが両方とも「0」に確定する経過時間Tm1において、不定値「X」から「1」に確定する。これにより、REG_CLK_IN信号も、経過時間Tm1まで不定値「X」を維持するので、レジスタa05が示す値も不定値「X」を維持する。
そして、図17に例示する通り、RESET_A信号は、経過時間Tm1において「1」から「0」に推移するので、機能回路a04からレジスタa05に対して出力されるREG_IN信号も「0」から不定値「X」に推移する。したがって、レジスタa05が示す値は、経過時間Tm1の後も不定値「X」を維持することとなり、レジスタa05が示す不定値は解消されないことになる。
このように論理設計後の設計情報に基づくシミュレーションでは機能していた不定値を解消する機能が、物理設計後の設計情報に基づくシミュレーションでは、期待通りに機能しなくことによって、不定値を解消することができなくなり、不定値の伝播によるシミュレーションの精度が低下する。このような事象が発生する可能性がある回路は、大規模なLSI等では多数存在することが考えられ、また、このような事象がLSIのどこに発生するのかを予測することも困難である。したがって、上述した事象が発生した場合に、シミュレーションの精度を効率的に向上させることは困難である。特許文献1乃至3が示す技術は、このような問題を解決するのに十分であるとは言えない。本願発明の主たる目的は、この問題を解決するシミュレーション実行制御装置等を提供することである。
本願発明の一態様に係るシミュレーション実行制御装置は、電子回路の設計情報を用いて行われる、前記電子回路の動作に関するシミュレーションにおいて、前記電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、前記特定の素子が不定値を示している、検出対象事象が発生していることを検出する検出手段と、前記検出手段が前記検出対象事象を検出した場合に、前記シミュレーションにおいて、前記解消機能が動作中であることを示す期間に関連する特定の期間に関して、前記特定の素子が示す不定値を定数値に置き換えることを表すマスク情報を生成する生成手段と、前記検出手段が前記検出対象事象を検出したことに応じて前記シミュレーションを停止したのち、前記マスク情報を用いて、前記シミュレーションを再実行する実行手段と、を備える。
上記目的を達成する他の見地において、本願発明の一態様に係るシミュレーション実行制御方法は、情報処理装置によって、電子回路の設計情報を用いて行われる、前記電子回路の動作に関するシミュレーションにおいて、前記電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、前記特定の素子が不定値を示している、検出対象事象が発生していることを検出し、前記検出対象事象を検出した場合に、前記シミュレーションにおいて、前記解消機能が動作中であることを示す期間に関連する特定の期間に関して、前記特定の素子が示す不定値を定数値に置き換えることを表すマスク情報を生成し、前記検出対象事象を検出したことに応じて前記シミュレーションを停止したのち、前記マスク情報を用いて、前記シミュレーションを再実行する。
また、上記目的を達成する更なる見地において、本願発明の一態様に係るシミュレーション実行制御プログラムは、電子回路の設計情報を用いて行われる、前記電子回路の動作に関するシミュレーションにおいて、前記電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、前記特定の素子が不定値を示している、検出対象事象が発生していることを検出する検出処理と、前記検出処理によって前記検出対象事象を検出した場合に、前記シミュレーションにおいて、前記解消機能が動作中であることを示す期間に関連する特定の期間に関して、前記特定の素子が示す不定値を定数値に置き換えることを表すマスク情報を生成する生成処理と、前記検出処理によって前記検出対象事象を検出したことに応じて前記シミュレーションを停止したのち、前記マスク情報を用いて、前記シミュレーションを再実行する実行処理と、をコンピュータに実行させる。
更に、本願発明は、係るシミュレーション実行制御プログラム(コンピュータプログラム)が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
本願発明は、設定される初期値として不定値を含む電子回路の動作をシミュレーションする場合において、シミュレーションの精度を効率的に向上させることを可能とする。
本願発明の第1の実施形態に係るシミュレーション実行制御装置10の構成を概念的に示すブロック図である。 本願発明の第1の実施形態に係るテストデータ22が表す、シミュレーションを実行する対象とするプロシージャを例示する図である。 本願発明の第1の実施形態に係るテストデータ22が表す、中間結果情報150を生成して保存することを指示するセーブリストアフラグを有効に設定することを例示する図である。 本願発明の第1の実施形態に係るシミュレーション実行制御情報132が表す、実行部13によって中間結果情報150を記憶部15に保存、あるいは、保存されている中間結果情報150を記憶部15から読み出す動作を例示する図である。 本願発明の第1の実施形態に係るシミュレーション実行制御装置10がシミュレーションの対象とする電子回路の階層構造を例示する図である。 本願発明の第1の実施形態に係るシミュレーション実行制御情報132が表す、シミュレーションの実行を停止する条件を例示する図である。 本願発明の第1の実施形態に係る生成部12が、図16及び図17に示す電子回路に関して生成するマスク情報120の内容を、タイムチャートにより例示する図である。 本願発明の第1の実施形態に係る生成部12が、シミュレーション実行制御情報132に対して組み込み可能に生成する、図7に例示するマスク情報120を例示する図である。 本願発明の第1の実施形態に係るシミュレーション実行制御情報132が表す、実行部13によって中間結果情報150とマスク情報120とを用いてシミュレーションを再実行する動作を例示する図である。 本願発明の第1の実施形態に係るシミュレーション実行制御装置10の動作を示すフローチャート(1/2)である。 本願発明の第1の実施形態に係るシミュレーション実行制御装置10の動作を示すフローチャート(2/2)である。 本願発明の第2の実施形態に係るシミュレーション実行制御装置30の構成を概念的に示すブロック図である。 本願発明の各実施形態に係るシミュレーション実行制御装置を実行可能な情報処理装置900の構成を示すブロック図である。 一般的なLSIの開発工程を例示する図である。 不定値を解消する解消機能を有する電子回路に関して、信号の遅延時間が検証される前の電子回路を例示する図である。 図14に示す電子回路のシミュレーションを実行した結果を表す、各信号のタイムチャートを例示する図である。 図14に示す電子回路における信号の遅延時間が検証された結果に基づいて、物理設計が行なわれた後の電子回路を例示する図である。 図16に示す電子回路のシミュレーションを実行した結果を表す、各信号のタイムチャートを例示する図である。
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
<第1の実施形態>
図1は、本願発明の第1の実施の形態に係るシミュレーション実行制御装置10の構成を概念的に示すブロック図である。シミュレーション実行制御装置10は、設定される初期値として不定値を含む、シミュレーションの実行対象とするLSI等の電子回路(本願では以降、電子回路と称する)の動作について、当該電子回路に関する設計情報21とテストデータ22とを使用してシミュレーションを実行するとともに、その実行を制御する装置である。
設計情報21及びテストデータ22は、例えば図示しない外部の記憶装置等に記憶されており、ユーザによる指示によって、シミュレーション実行制御装置10に入力される。
シミュレーション実行制御装置10は、検出部11、生成部12、実行部13、検証部14、及び、記憶部15を備えている。記憶部15は、例えば磁気ディスクなどの不揮発性の記憶デバイスである。記憶部15は、後述する中間結果情報150-1乃至150-n(本願では以降、これらをまとめて中間結果情報150と称する場合がある)、及び、論理設計情報に関するシミュレーション結果151を記憶している。
実行部13は、コンパイラ130とシミュレータ131とを備えている。コンパイラ130は、入力された設計情報21とテストデータ22とに基づいて、シミュレータ131においてシミュレーションを実行可能なシミュレーションモデルを生成する。シミュレータ131は、コンパイラ130によって生成されたシミュレーションモデルを使用して、シミュレーション実行制御情報132にしたがって、電子回路のシミュレーションを実行する。シミュレーション実行制御情報132は、シミュレータ131によるシミュレーションの実行を制御する情報であり、例えばシミュレーション実行制御装置10が備えるメモリ、あるいは記憶部15等に格納されていることとする。
設計情報21は、例えば図13に例示するような開発工程において、論理設計あるいは物理設計が行なわれた結果を表す情報である。テストデータ22は、例えば電子回路に対する電源オンの後などに行なわれる初期化処理、あるいは障害処理、あるいは個別の機能に関するシミュレーションのテストシナリオ(テストパターン)と、電子回路に含まれる所定の素子に設定する初期設定値とを含むデータである。
図2は、本実施形態に係るテストデータ22が表す、シミュレーションを実行する対象とするプロシージャを例示する図である。図2に例示するテストデータ22は、電子回路の初期化処理に関するシミュレーションを行なう場合におけるテストシナリオを表している。図2に例示するプロシージャは、電源オン、各リセット処理、PLL(Phase Locked Loop)/DLL(Dynamic Link Library)設定、構成制御設定、メモリ初期化、動作モード設定、初期設定後のメモリアクセス等を含んでいる。実行部13は、初期化処理の検証のため、これらのプロシージャを逐次的に実行するシミュレーションを行なう。
図3は、図2に例示するテストデータ22において、個々のプロシージャに関するシミュレーションの実行が完了した時に、中間結果情報150を生成して保存することを有効に設定することを例示する図である。図3に例示するテストデータ22は、例えば、「procedure_01」に関するシミュレーションが完了したときに、そのシミュレーションの実行結果を中間結果情報150-1として記憶部15に保存することを指示する「save_rest_flag_01」(セーブリストアフラグ)を「1」(有効)に設定することを表している。但し、セーブリストアフラグは、例えばシミュレーション実行制御装置10が備えるメモリ等に格納され、シミュレータ131がシミュレーションを実行中に参照あるいは更新可能なフラグである。
図3に例示するテストデータ22は、「procedure_02」以降のプロシージャに関しても同様に、そのシミュレーションの実行結果を中間結果情報150として記憶部15に保存することを指示するセーブリストアフラグを有効に設定することを表している。尚、シミュレーションの実行時間が長時間に及ぶ可能性があるプロシージャがある場合、テストデータ22は、そのプロシージャに含まれる複数の部分(サブプロシージャ)の個々に関して設けられた個別のセーブリストアフラグに対する設定指示を含むようにしてもよい。また、テストデータ22が示すシミュレーションの実行結果を中間結果情報150として保存するタイミングは、個々のプロシージャの実行完了とは異なる基準に基づくタイミングであってもよい。
実行部13は、図2及び図3に例示するテストデータ22を使用して、各プロシージャに関するシミュレーションの実行を完了する度に、そのシミュレーションの実行結果を表す中間結果情報150を記憶部15に保存する。
図4は、図1に示すシミュレーション実行制御情報132が表す、実行部13によって中間結果情報150を記憶部15に保存、あるいは、保存されている中間結果情報150を記憶部15から読み出す動作を例示する図である。図4に例示するシミュレーション実行制御情報132は、インタープリタ型プログラミング言語であるTcl(Tool Command Language)により表された情報である。尚、シミュレーション実行制御情報132は、Tclではないプログラミング言語により表された情報であってもよい。
実行部13は、図4に例示するシミュレーション実行制御情報132に従い、例えば図2及び図3に例示する「procedure_01」に関するシミュレーションが完了した後に、「save_rest_flag_01」(セーブリストアフラグ)を「1」に設定する。そして、実行部13は、「procedure_01」に関するシミュレーションの実行結果であるsnapshot_01(中間結果情報150-1に相当)を、記憶部15に保存する。実行部13は、「procedure_02」以降のプロシージャに関しても、「procedure_01」と同様の処理を行う。
図1に示す検出部11は、実行部13によって実行された電子回路の動作に関するシミュレーションにおいて、電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、当該素子が不定値を示している、検出対象事象が発生していること検出する。
図5は、本実施形態に係るシミュレーション実行制御装置10がシミュレーションの対象とする電子回路(LSI)の階層構造を例示する図である。図5に示す例では、電子回路はブロックA00乃至A03等を含み、ブロックA00はサブブロックB00等を含んでいる。サブブロックB00は、例えば、前述した図16に例示する電子回路であり、図16に例示するRESET_A信号及びRESET_B信号が入力されている。この場合、図5に例示するフリップフロップFF00は、図16に例示するレジスタa05に相当する。
次に、図5に例示するサブブロックB00が図16及び図17に例示する電子回路であり、図5に例示するフリップフロップFF00(即ち図16に例示するレジスタa05)を上述した特定の素子として、上述した検出対象事象が発生していることを検出する場合を例にして、検出部11の動作を説明する。
前述した図13及び図14に例示する電子回路(即ち、物理設計が行なわれる前の状態にある図16及び図17に例示する電子回路)では、シミュレーションにおける経過時間Tm0において、RESET_A信号が「0」から「1」に推移し、RESET_B信号が不定値「X」から「0」に推移することによって、レジスタa05が示す不定値「X」が解消される。即ち、RESET_A信号及びRESET_B信号は、上述した電子回路における特定の素子(レジスタa05)が示す値が不定値となることを解消することが期待される解消機能を実現する。
検出部11は、図17に例示する通り、経過時間Tm0からTm1までの期間において、RESET_A信号が「1」でありRESET_B信号が「0」であることをもって、上述した解消機能が動作中であることを検出する。そして検出部11は、図17に例示する通り、その解消機能が動作中である経過時間Tm0からTm1までの期間において、レジスタ05(即ちREG_OUT信号)が不定値「X」を示していることをもって、検出対象事象が発生していること検出する。但し、検出部11は、このような検出対象事象を検出するための検出条件を、例えばユーザ等によって事前に与えられていることとする。検出部11は、また、電子回路に含まれる複数のブロックあるいはサブブロックにおいて発生した検出対象事象を並列に検出するようにしてもよい。検出部11は、検出した結果を、生成部12及び実行部13に通知する。
実行部13は、検出部11によって検出対象事象の発生が検出された場合、シミュレーション実行制御情報132にしたがって、シミュレーションの実行を停止する。図6は本実施形態に係るシミュレーション実行制御情報132が表す、シミュレーションの実行を停止する条件を例示する図である。例えば、図6に例示するシミュレーション実行制御情報132に含まれる「if ((TOP.A00.RESET_A | TOP.A00.RESET_B) & (TOP.A00.B0*.DQ==x))」以下の4行は、RESET_A信号及びRESET_B信号による不定値「X」を解消する解消機能が動作中であり、「DQ」(フリップフロップFF00が示す値)が不定値「X」である場合にシミュレーションの実行を停止することを表している。
また、図6に例示するシミュレーション実行制御情報132に含まれる「# time_n0;」は、RESET_A信号及びRESET_B信号による不定値「X」を解消する解消機能が停止した後、シミュレーションを停止するまでの時間を表す。また、図6に例示するシミュレーション実行制御情報132は、ブロックA00やサブブロックB00以外のブロックあるいはサブブロックについても、同様に、シミュレーションの実行を停止する条件を表している。
図1に示す生成部12は、検出部11が検出対象事象を検出した場合に、マスク情報120を生成する。マスク情報120は、実行部13によって実行されたシミュレーションにおいて、不定値「X」を解消する解消機能が動作中を示す期間に関連する特定の期間に関して、上述した特定の素子が示す不定値を定数値(即ち「0」あるいは「1」)に置き換えることを表す情報である。
次に、図5に例示するサブブロックB00が図16及び図17に例示する電子回路であり、検出部11が、図5に例示するフリップフロップFF00(即ち図16に例示するレジスタa05)を上述した特定の素子として、上述した検出対象事象が発生していることを検出する場合を例にして、生成部12の動作を説明する。
図7は、生成部12が、図16及び図17に例示する電子回路に関して生成するマスク情報120の内容を、タイムチャートにより例示する図である。生成部12は、図7に例示する通り、不定値「X」を解消する解消機能が動作中である経過時間Tm0からTm1までの期間において、レジスタa05が示す不定値「X」を定数値である「0」あるいは「1」に置き換えることを表すマスク情報120を生成する。
尚、生成部12がマスク情報120によって不定値「X」を定数値に置き換える期間は、経過時間Tm0からTm1までの期間に限定されない。生成部12がマスク情報120によって不定値「X」を定数値に置き換える期間は、例えば、経過時間Tm0からTm1までの期間を含むより長い期間でもよいし、あるいは、経過時間Tm0からTm1までの期間に含まれるより短い期間であってもよい。
図7に例示する経過時間Tbは、検出対象事象の発生によって実行部13がシミュレーションの実行を停止する時間を表す。即ち、経過時間Tbは、不定値「X」を解消する解消機能が動作を停止する経過時間Tm1から、図6に例示する時間「time_n0」が経過した時間に相当する。
図8は、生成部12が、シミュレーション実行制御情報132に対して組み込み可能に生成する、図7に例示するマスク情報120を例示する図である。図8に例示するマスク情報120は、経過時間Tm0からTm1までの期間において、レジスタa05が出力するREG_OUT信号を定数値「0」に置き換えることを表している。尚、図8に例示するマスク情報120は、経過時間Tm0からTm1までの期間を除く期間に関しては無効である。
生成部12は、検出部11が複数の検出対象事象を並列に検出した場合、例えば、先に検出された検出対象事象から優先的に、各検出対象事象に関するマスク情報120を生成する。生成部12は、生成したマスク情報120を、実行部13へ入力する。
実行部13は、シミュレーション実行制御情報132にしたがって、生成部12から入力されたマスク情報120を用いて(例えばマスク情報120を、シミュレーション実行制御情報132に組み込むことによって)、検出部11が検出対象事象を検出したことによって停止したシミュレーションを再実行する。実行部13は、この際、停止したシミュレーションを最初から再実行するのではなく、記憶部15に保存されている中間結果情報150を用いることによって、途中からシミュレーションを再実行することが可能である。
図9は、図1に示すシミュレーション実行制御情報132が表す、実行部13によって中間結果情報150とマスク情報120とを用いて、停止したシミュレーションを再実行する動作を例示する図である。図9に例示するシミュレーション実行制御情報132は、インタープリタ型プログラミング言語であるTcl(Tool Command Language)により表された情報である。
図9に例示するシミュレーション実行制御情報132は、サブブロックB00におけるREG OUT信号を、「save_rest_flag_02」が「1」に設定されてから、シミュレーションの経過時間におけるt1及びt2(ns(ナノ秒))後に定数値「0」に置き換え、t3(ns)後にマスク情報120をリリースする(無効にする)ことを表している。この場合、実行部13は、最後に保存された(検出部11が検出対象事象を検出した時点から遡って最も新しい)中間結果情報150-2を用いて停止したシミュレーションを再実行する。
図1に例示する検証部14は、電子回路に対する物理設計が行なわれた結果を表す設計情報21に関して、実行部13がマスク情報120を用いてシミュレーションを実行した結果と、記憶部15に記憶されている論理設計情報に関するシミュレーション結果151とを比較する。但し、論理設計情報に関するシミュレーション結果151は、電子回路に対する論理設計が行なわれた結果を表す論理設計情報に関して、実行部13によって事前にシミュレーションが実行された結果を表す。上述した本実施形態においては、論理設計情報に関するシミュレーション結果151は、例えば、図14及び図15に例示する電子回路に関してシミュレーションが実行された結果に相当する。
即ち、検証部14は、不定値「X」を解消する解消機能が機能する論理設計後の電子回路に関してシミュレーションを行なった結果と、当該解消機能が機能しなくなった物理設計後の電子回路に関してマスク情報120を用いてシミュレーションを行なった結果とを比較することによって、マスク情報120の正当性を検証する。
次に図10A及び図10Bのフローチャートを参照して、本実施形態に係るシミュレーション実行制御装置10の動作(処理)について詳細に説明する。
実行部13は、電子回路の設計情報21、テストデータ22、及び、シミュレーション実行制御情報132を使用して、当該電子回路に関するシミュレーションを実行する(ステップS101)。検出部11は、電子回路における特定の素子が示す不定値を解消することが期待される解消機能が動作中であり、その特定の素子が不定値を示している検出対象事象の発生を監視する(ステップS102)。
検出部11が検出対象事象の発生を検出した場合(ステップS103でYes)、実行部13は、シミュレーションの実行を停止する(ステップS104)。生成部12は、不定値の解消機能が動作中を示す期間に関連する特定の期間に関して、特定の素子に対するマスク情報120を生成する(ステップS105)。
実行部13は、生成部12によって生成されたマスク情報120を、シミュレーション実行制御情報132に組み込む(ステップS106)。実行部13は、記憶部15に格納されている中間結果情報150の中から、当該電子回路に関して最も新しく記憶部15に格納された中間結果情報150-i(iは1乃至nの任意の整数)を選択する。実行部13は、設計情報21、テストデータ22、マスク情報120が組み込まれたシミュレーション実行制御情報132、及び、選択した中間結果情報150-iを使用して、停止したシミュレーションを再実行し(ステップS108)、処理はステップS102へ戻る。
検出部11が検出対象事象の発生を検出しない場合(ステップS103でNo)、実行部13は、シミュレーション実行制御情報132が示す、中間結果情報150に関するセーブリストアフラグが「1」を示しているか確認する(ステップS109)。セーブリストアフラグが「1」を示している場合(ステップS110でYes)、実行部13は、シミュレーションの実行中間結果を、中間結果情報150-j(jは1乃至nの任意の整数)として、記憶部15に格納し(ステップS111)、処理はステップS112へ進む。
セーブリストアフラグが「1」を示していない場合(ステップS110でNo)、実行部13は、テストデータ22の全てについて、シミュレーションが完了したか確認する(ステップS112)。テストデータ22の少なくとも一部について、シミュレーションが完了していない場合(ステップS113でNo)、処理はステップS102へ戻る。テストデータ22の全てについて、シミュレーションが完了した場合(ステップS113でYes)、全体の処理は終了する。
本実施形態に係るシミュレーション実行制御装置10は、設定される初期値として不定値を含む電子回路の動作をシミュレーションする場合において、シミュレーションの精度を効率的に向上させることができる。その理由は、シミュレーション実行制御装置10は、電子回路における特定の素子が示す不定値を解消することが期待される解消機能が動作中に、その特定の素子が不定値を示している場合、その解消機能の動作期間に関連する期間に関して、不定値を定数値に置き換えるマスク情報120を生成し、マスク情報120を使用してシミュレーションを再実行するからである。
以下に、本実施形態に係るシミュレーション実行制御装置10によって実現される効果について、詳細に説明する。
電子回路では、実際の回路及びそのシミュレーションにおいて、各素子が示す値が不定値とはならずに、「0」あるいは「1」の何れかに決定する、その電子回路を構成する素子が示す値が不定値となることを解消することが期待される解消機能を有する構成が組み込まれる場合がある。係る解消機能は、当該各素子が示す値が不定値とはならずに、「0」あるいは「1」の何れかに決定する機能である。
しかしながら、図14乃至図17を参照して前述した通り、例えば、論理設計後の設計情報に基づくシミュレーションでは機能していた不定値を解消する機能が、物理設計後の設計情報に基づくシミュレーションでは、期待通りに機能しなくなる場合がある。このような場合、シミュレーションにおける不定値を解消することができなくなり、不定値が伝播することによってシミュレーションの精度が低下する。このような事象が発生する可能性がある回路は、大規模なLSI等では多数存在することが考えられ、また、このような事象がLSIのどこに発生するのかを予測することも困難である。したがって、上述した事象が発生した場合に、シミュレーションの精度を効率的に向上させることは困難である。
このような問題に対して、本実施形態に係るシミュレーション実行制御装置10は、検出部11と、生成部12と、実行部13と、を備え、例えば図1乃至図9、図10A及び図10Bを参照して上述した通り動作する。即ち、検出部11は、電子回路の設計情報21を用いて行われる、当該電子回路の動作に関するシミュレーションにおいて、当該電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、当該特定の素子が不定値を示している、検出対象事象が発生していることを検出する。生成部12は、検出部11が検出対象事象を検出した場合に、シミュレーションにおいて、当該解消機能が動作中であることを示す期間に関連する特定の期間に関して、当該特定の素子が示す不定値を定数値に置き換えることを表すマスク情報120を生成する。そして実行部13は、検出部11が検出対象事象を検出したことに応じてシミュレーションを停止したのち、マスク情報120を用いて、シミュレーションを再実行する。
即ち、シミュレーション実行制御装置10は、不定値を解消することが期待される(例えば論理設計後の時点では機能していた)解消機能が、(例えば物理設計の後において)機能しなくなったような事象に絞り込んで、その事象に関して不定値を解消可能なマスク情報120を作成する。このような解消機能は、例えば電子回路(LSI)の設計者によって意図的に組み込まれたものであることから、電子回路において当該事象が発生する場所(素子)を把握することは容易である。また、設計者によって意図的に組み込まれた当該解消機能によって不定値が解消される部分は、シミュレーションの精度を向上させる観点において、より重要性が高い部分であるといえる。したがって、本実施形態に係るシミュレーション実行制御装置10は、設定される初期値として不定値を含む電子回路の動作をシミュレーションする場合において、シミュレーションの精度を効率的に向上させることができる。
また、シミュレーション実行制御装置10によって生成されるマスク情報120は、当該解消機能が動作中を示す期間に関連する特定の期間に関してのみ、特定の素子が示す不定値を定数値に置き換えることを有効とし、その特定の期間以外の期間に関しては、不定値を定数値に置き換えることを無効とする。これにより、本実施形態に係るシミュレーション実行制御装置10は、ある程度の不定値の伝播が発生したシミュレーションを行なうことによって、不定値が伝播した際に電子回路が適切に動作するか否かの検証を行なうことができる。
また、本実施形態に係るシミュレーション実行制御装置10は、所定のタイミング(例えば個々のプロシージャの実行が完了するタイミング)に、シミュレーションを実行した中間結果を表す中間結果情報150を記憶部15に保存する。そして、シミュレーション実行制御装置10は、マスク情報120を用いて停止したシミュレーションを再実行する際に、記憶部15に保存されている中間結果情報150を活用する。即ち、本実施形態に係るシミュレーション実行制御装置10は、シミュレーションを最初から再実行する必要がないので、シミュレーションの実行を効率的に行なうことができる。
また、本実施形態に係るシミュレーション実行制御装置10は、検出対象事象を検出してから所定の時間が経過したのちに、シミュレーションを停止する。即ち、シミュレーション実行制御装置10は、検出対象事象を検出した時点ですぐにシミュレーションを停止するのではなく、検出対象事象を検出してから所定の期間は、シミュレーションを継続する。これにより、本実施形態に係るシミュレーション実行制御装置10は、検出対象事象が発生したのちにおける電子回路の動作に関する情報も含めた多くの情報を、効率的に得ることができる。
また、本実施形態に係るシミュレーション実行制御装置10は、電子回路に対する物理設計が行なわれた結果を表す設計情報21に関して、マスク情報120を用いてシミュレーションを実行した結果と、論理設計情報に関するシミュレーション結果151と、を比較する。そして、シミュレーション実行制御装置10は、この比較結果に基づいて、マスク情報120の正当性を検証する。これにより、本実施形態に係るシミュレーション実行制御装置10は、マスク情報120を用いて行なったシミュレーションの正当性を保証することができる。
<第2の実施形態>
図11は、本願発明の第2の実施形態に係るシミュレーション実行制御装置30の構成を概念的に示すブロック図である。
本実施形態に係るシミュレーション実行制御装置30は、検出部31、生成部32、及び、実行部33を備えている。
検出部31は、電子回路の設計情報41を用いて行われる、当該電子回路の動作に関するシミュレーションにおいて、その電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、当該特定の素子が不定値を示している、検出対象事象が発生していることを検出する。
生成部32は、検出部31が検出対象事象を検出した場合に、シミュレーションにおいて、当該解消機能が動作中であることを示す期間に関連する特定の期間に関して、当該特定の素子が示す不定値を定数値に置き換えることを表すマスク情報320を生成する。
実行部33は、検出部31が検出対象事象を検出したことに応じてシミュレーションを停止したのち、マスク情報320を用いて、シミュレーションを再実行する。
本実施形態に係るシミュレーション実行制御装置30は、設定される初期値として不定値を含む電子回路の動作をシミュレーションする場合において、シミュレーションの精度を効率的に向上させることができる。その理由は、シミュレーション実行制御装置30は、電子回路における特定の素子が示す不定値を解消することが期待される解消機能が動作中に、その特定の素子が不定値を示している場合、その解消機能の動作期間に関連する期間に関して、不定値を定数値に置き換えるマスク情報320を生成し、マスク情報320を使用してシミュレーションを再実行するからである。
<ハードウェア構成例>
上述した各実施形態において図1、及び、図11に示したシミュレーション実行制御装置における各部は、専用のHW(HardWare)(電子回路)によって実現することができる。また、図1、及び、図11において、少なくとも、下記構成は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。
・検出部11及び31、
・生成部12及び32、
・実行部13及び33、
・検証部14。
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図12を参照して説明する。
図12は、本願発明の各実施形態に係るシミュレーション実行制御装置を実行可能な情報処理装置900(コンピュータ)の構成を例示的に説明する図である。即ち、図12は、図1、及び、図11に示したシミュレーション実行制御装置を実現可能なコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
図12に示した情報処理装置900は、構成要素として下記を備えている。
・CPU(Central_Processing_Unit)901、
・ROM(Read_Only_Memory)902、
・RAM(Random_Access_Memory)903、
・ハードディスク(記憶装置)904、
・通信インタフェース905、
・バス906(通信線)、
・CD-ROM(Compact_Disc_Read_Only_Memory)等の記録媒体907に格納されたデータを読み書き可能なリーダライタ908、
・モニター、スピーカ、キーボード、マウス等の入出力インタフェース909。
即ち、上記構成要素を備える情報処理装置900は、これらの構成がバス906を介して接続された一般的なコンピュータである。情報処理装置900は、CPU901を複数備える場合もあれば、マルチコアにより構成されたCPU901を備える場合もある。
そして、上述した実施形態を例に説明した本願発明は、図6に示した情報処理装置900に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図(図1、及び、図11)における上述した構成、或いはフローチャート(図10A及び図10B)の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのCPU901に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ(RAM903)、または、ROM902やハードディスク904等の不揮発性の記憶デバイスに格納すれば良い。
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、CD-ROM等の各種記録媒体907を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体907によって構成されると捉えることができる。
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
10 シミュレーション実行制御装置
11 検出部
12 生成部
120 マスク情報
13 実行部
130 コンパイラ
131 シミュレータ
132 シミュレーション実行制御情報
14 検証部
15 記憶部
150-1乃至150-n 中間結果情報
151 論理設計情報に関するシミュレーション結果
21 設計情報
22 テストデータ
30 シミュレーション実行制御装置
31 検出部
32 生成部
320 マスク情報
33 実行部
41 設計情報
900 情報処理装置
901 CPU
902 ROM
903 RAM
904 ハードディスク(記憶装置)
905 通信インタフェース
906 バス
907 記録媒体
908 リーダライタ
909 入出力インタフェース
a01 NANDゲート
a02 機能回路
a03 クロック制御回路
a04 機能回路
a05 レジスタ
b00 ORゲート

Claims (9)

  1. 電子回路の設計情報を用いて行われる、前記電子回路の動作に関するシミュレーションにおいて、前記電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、前記特定の素子が不定値を示している、検出対象事象が発生していることを検出する検出手段と、
    前記検出手段が前記検出対象事象を検出した場合に、前記シミュレーションにおいて、前記解消機能が動作中であることを示す期間に関連する特定の期間に関して、前記特定の素子が示す不定値を定数値に置き換えることを表すマスク情報を生成する生成手段と、
    前記検出手段が前記検出対象事象を検出したことに応じて前記シミュレーションを停止したのち、前記マスク情報を用いて、前記シミュレーションを再実行する実行手段と、
    を備え、
    前記実行手段は、所定のタイミングに、前記シミュレーションを実行した中間結果を表す中間結果情報を生成して記憶手段に格納し、前記シミュレーションを再実行する場合は、前記マスク情報と、前記記憶手段に格納されている前記中間結果情報と、を用いる、
    シミュレーション実行制御装置。
  2. 前記実行手段は、前記電子回路が電源オンされたのちに初期化処理を行う動作に含まれる1以上のプロシージャの個々に関してその実行が完了するタイミングに、前記中間結果情報を生成する、
    請求項に記載のシミュレーション実行制御装置。
  3. 前記実行手段は、生成した複数の前記中間結果情報のうち、前記検出手段が前記検出対象事象を検出した時点から遡って、最も新しい前記中間結果情報を用いて、前記シミュレーションを再実行する、
    請求項または請求項に記載のシミュレーション実行制御装置。
  4. 前記実行手段は、前記検出手段が前記検出対象事象を検出してから所定の時間が経過したのち、前記シミュレーションを停止する、
    請求項1乃至請求項のいずれか一項に記載のシミュレーション実行制御装置。
  5. 前記検出手段は、前記電子回路において前記解消機能を実現する、前記特定の素子が示す値をリセットすることが期待されるリセット信号が示す値に基づいて、前記解消機能が動作中であることを検出する、
    請求項1乃至請求項のいずれか一項に記載のシミュレーション実行制御装置。
  6. 前記特定の素子は、前記電子回路に含まれるフリップフロップであり、前記リセット信号は、前記電子回路における前記フリップフロップに対するクロック入力を制御する構成に入力される、
    請求項に記載のシミュレーション実行制御装置。
  7. 前記電子回路に対する物理設計が行なわれた結果を表す前記設計情報に関して、前記実行手段が前記マスク情報を用いて前記シミュレーションを実行した結果と、前記電子回路に対する論理設計が行なわれた結果を表す論理設計情報に関して、前記シミュレーションが実行された結果と、を比較する検証手段をさらに備える、
    請求項1乃至請求項のいずれか一項に記載のシミュレーション実行制御装置。
  8. 情報処理装置によって、
    電子回路の設計情報を用いて行われる、前記電子回路の動作に関するシミュレーションにおいて、前記電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、前記特定の素子が不定値を示している、検出対象事象が発生していることを検出し、
    前記検出対象事象を検出した場合に、前記シミュレーションにおいて、前記解消機能が動作中であることを示す期間に関連する特定の期間に関して、前記特定の素子が示す不定値を定数値に置き換えることを表すマスク情報を生成し、
    前記検出対象事象を検出したことに応じて前記シミュレーションを停止したのち、前記マスク情報を用いて、前記シミュレーションを再実行する方法であって
    所定のタイミングに、前記シミュレーションを実行した中間結果を表す中間結果情報を生成して記憶手段に格納し、前記シミュレーションを再実行する場合は、前記マスク情報と、前記記憶手段に格納されている前記中間結果情報と、を用いる、
    シミュレーション実行制御方法。
  9. 電子回路の設計情報を用いて行われる、前記電子回路の動作に関するシミュレーションにおいて、前記電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、前記特定の素子が不定値を示している、検出対象事象が発生していることを検出する検出処理と、
    前記検出処理によって前記検出対象事象を検出した場合に、前記シミュレーションにおいて、前記解消機能が動作中であることを示す期間に関連する特定の期間に関して、前記特定の素子が示す不定値を定数値に置き換えることを表すマスク情報を生成する生成処理と、
    前記検出処理によって前記検出対象事象を検出したことに応じて前記シミュレーションを停止したのち、前記マスク情報を用いて、前記シミュレーションを再実行する実行処理と、
    をコンピュータに実行させるためのプログラムであって、
    前記実行処理は、所定のタイミングに、前記シミュレーションを実行した中間結果を表す中間結果情報を生成して記憶手段に格納し、前記シミュレーションを再実行する場合は、前記マスク情報と、前記記憶手段に格納されている前記中間結果情報と、を用いる、
    シミュレーション実行制御プログラム。
JP2018044853A 2018-03-13 2018-03-13 シミュレーション実行制御装置、シミュレーション実行制御方法、及び、シミュレーション実行制御プログラム Active JP7078428B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018044853A JP7078428B2 (ja) 2018-03-13 2018-03-13 シミュレーション実行制御装置、シミュレーション実行制御方法、及び、シミュレーション実行制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018044853A JP7078428B2 (ja) 2018-03-13 2018-03-13 シミュレーション実行制御装置、シミュレーション実行制御方法、及び、シミュレーション実行制御プログラム

Publications (2)

Publication Number Publication Date
JP2019159734A JP2019159734A (ja) 2019-09-19
JP7078428B2 true JP7078428B2 (ja) 2022-05-31

Family

ID=67993973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018044853A Active JP7078428B2 (ja) 2018-03-13 2018-03-13 シミュレーション実行制御装置、シミュレーション実行制御方法、及び、シミュレーション実行制御プログラム

Country Status (1)

Country Link
JP (1) JP7078428B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100017187A1 (en) 2008-07-15 2010-01-21 International Business Machines Corporation Random initialization of latches in an integrated circuit design for simulation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0341564A (ja) * 1989-07-10 1991-02-22 Matsushita Electric Ind Co Ltd 論理回路のシミュレーション方法
JPH03138774A (ja) * 1989-10-25 1991-06-13 Hitachi Ltd 論理シミュレーション方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100017187A1 (en) 2008-07-15 2010-01-21 International Business Machines Corporation Random initialization of latches in an integrated circuit design for simulation

Also Published As

Publication number Publication date
JP2019159734A (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
JP3357813B2 (ja) ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
Austin et al. Making typical silicon matter with razor
US20130179142A1 (en) Distributed parallel simulation method and recording medium for storing the method
US8594988B1 (en) Method and apparatus for circuit simulation using parallel computing
US9262322B2 (en) Method and apparatus for storing a processor architectural state in cache memory
US8473886B2 (en) Parallel parasitic processing in static timing analysis
CN107850641B (zh) 片上系统(SoC)的系统级验证
US7254793B2 (en) Latch modeling technique for formal verification
JP5040758B2 (ja) シミュレーション装置、シミュレーション方法及びプログラム
US8407655B2 (en) Fixing design requirement violations in multiple multi-corner multi-mode scenarios
JP7078428B2 (ja) シミュレーション実行制御装置、シミュレーション実行制御方法、及び、シミュレーション実行制御プログラム
KR102611888B1 (ko) 스위칭 액티비티에 기초한 반도체 장치의 배치 방법 및 이에 의해 제조된 반도체 장치
JP2019091144A (ja) シミュレーション装置、シミュレーションシステム、シミュレーション方法及びシミュレーションプログラム
JP5830955B2 (ja) 検証装置、検証方法及び検証プログラム
Chang et al. Verification of a microprocessor using real world applications
US9990453B2 (en) Clock-domain-crossing specific design mutations to model silicon behavior and measure verification robustness
US20210357549A1 (en) Simulator and simulation method
CN115204104A (zh) 计算装置、其操作方法和计算机程序产品
US10643012B1 (en) Concurrent formal verification of logic synthesis
KR101328263B1 (ko) 체계적 점진적 구체화를 통한 전자시스템수준에서부터게이트수준까지의 검증 방법
JP5390464B2 (ja) シミュレーション装置、シミュレーション装置の制御方法およびプログラム
JP2008250583A (ja) レイアウト設計装置及びレイアウト方法
JP5935319B2 (ja) 回路エミュレーション装置、回路エミュレーション方法及び回路エミュレーションプログラム
Nikhil et al. Efficient Simulation of SoC based on Design Checkpointing for Efficient Debugging
Burlyaev et al. Automatic time-redundancy transformation for fault-tolerant circuits

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210215

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220414

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220519

R150 Certificate of patent or registration of utility model

Ref document number: 7078428

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150