JP2006163600A - 内部信号監視方法及び論理シミュレーション装置 - Google Patents

内部信号監視方法及び論理シミュレーション装置 Download PDF

Info

Publication number
JP2006163600A
JP2006163600A JP2004351518A JP2004351518A JP2006163600A JP 2006163600 A JP2006163600 A JP 2006163600A JP 2004351518 A JP2004351518 A JP 2004351518A JP 2004351518 A JP2004351518 A JP 2004351518A JP 2006163600 A JP2006163600 A JP 2006163600A
Authority
JP
Japan
Prior art keywords
internal signal
information
logic
time
simulation
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.)
Withdrawn
Application number
JP2004351518A
Other languages
English (en)
Inventor
Masahiro Ito
正博 伊藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004351518A priority Critical patent/JP2006163600A/ja
Publication of JP2006163600A publication Critical patent/JP2006163600A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】 論理設計時に作成したモニタを修正することなく、論理検証時にそのまま使用する。
【解決手段】 論理設計時の論理回路における内部信号を示す情報301を生成し、論理検証時の論理回路における内部信号を示す情報303を生成し、内部信号監視部304がそれらの情報301、302に基づいて論理回路における内部信号を監視する。ここで、情報303はレイアウト時に挿入されたインバータ位置情報302に基づいて生成される。
【選択図】 図3

Description

本発明は、半導体集積回路のゲートレベルシミュレーション時における内部信号を監視して情報を出力する技術に関する。
従来、半導体集積回路開発では、レジスタトランスファレベル(RTL)記述によって論理回路の論理機能を設計(論理設計)し、RTLシミュレーションを行って論理機能の検証(論理検証)を行っている。その後、論理合成によってトランジスタのゲートレベル記述のネットリストを作成し、論理合成後のネットリストに基づいて配置及びタイミング調整等を行うレイアウト作業を行い、レイアウト作業後の最終ネットリストと遅延情報を使ってゲートレベルシミュレーションを行っている。
上述したRTLシミュレーション及びゲートレベルシミュレーションでは、内部の動作状況を把握するために、Verilog或いはVHDL(VHSIC Hardware Description Language)等のハードウェア記述言語(HDL)を用いて所定の内部信号を監視するモニタを作成し、そのモニタがシミュレーションの出力結果等の情報を逐次出力する。
例えば、RTLシミュレーションにおいて、図1に示すようにモジュール100の出力ポート102とモジュール110の入力ポート112とを結線信号130で接続し、その結線信号130をモニタ120で監視する。ここでモニタ120は、上述したような任意の数の内部信号を監視し、それぞれの内部信号が所定の極性で動作することを前提として作成されている。
特許文献1には、トランジスタレベルのネットリストに相当する情報から部分回路の情報を認識し、外部入力端子と内部状態を保持できるフィードバックループ等との論理状態より確定する外部出力端子の論理状態につき真理値表を作成し、真理値表より回路シミュレーション用実行形式ファイル及びゲートレベルの論理シミュレーション用テストベンチモジュールを生成する論理検証方法が開示されている。
特開2000-322464号公報
しかしながら、上述のレイアウト作業において、遅延付加やリピータとしてインバータが挿入され、内部モジュール間を接続する入出力ポートの極性が論理設計時及び論理合成時のものと反転してしまうことがある。
例えば、図2に示すように、レイアウト作業でモジュール100の出力ポート102の前段にインバータ103が挿入され、またモジュール110の入力ポート112の後段にインバータ113が挿入されると、モニタ120が監視対象としている結線信号130の極性が反転してしまう。
つまり、モニタ120で監視する内部信号の極性が前提としている極性と異なり、反転したものになっているため、RTLシミュレーション時に作成したモニタ120をゲートレベルシミュレーションではそのまま使用できず、修正作業を行わなければならない、という問題があった。
本発明は、上記課題を解決するためになされたもので、論理設計時に作成したモニタを修正することなく、論理検証時にそのまま使用することを目的とする。
本発明は、論理回路における内部信号を監視する内部信号監視方法であって、論理設計時の論理回路における内部信号を示す第1の情報を生成する工程と、論理検証時の論理回路における内部信号を示す第2の情報を生成する工程と、前記第1及び第2の情報に基づいて前記論理回路における内部信号を監視する工程とを有することを特徴とする。
また、本発明は、論理回路における内部信号を監視する論理シミュレーション装置であって、論理設計時の論理回路における内部信号を示す第1の情報を生成する手段と、論理検証時の論理回路における内部信号を示す第2の情報を生成する手段と、前記第1及び第2の情報に基づいて前記論理回路における内部信号を監視する手段とを有することを特徴とする。
本発明によれば、論理設計時に作成したモニタを修正することなく、論理検証時にそのまま使用でき、作業の効率化が図れる。
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
図3は、半導体集積回路シミュレーションで内部信号を監視する実施例1における機能構成の一例を示す図である。図3において、301は論理設計時の内部信号情報であり、RTL記述による設計段階において生成され、監視対象とする内部信号の属性を示し、リセット後の初期値や動作レベルがハイ(High)アクティブか、ロー(Low)アクティブかを示す情報である。
302はレイアウト時に挿入されたインバータの位置情報であり、レイアウト作業後に生成され、レイアウト作業時にインバータが挿入された位置を示す情報である。
303はハードウェアシミュレータで動作させるシミュレーションモデルの内部信号情報であり、RTL記述のHDLファイルやゲートレベル記述のネットリストをコンパイルし、このシミュレーションモデルにおいて、監視対象とする内部信号の属性を示し、論理設計時の内部信号情報301に対して、極性が一致するか、反転しているかを示す情報である。
304は内部信号監視部であり、HDL等で記述されたシミュレーションモデルと共にハードウェアシミュレータ上で動作し、内部信号の監視動作を行い、ハードウェアシミュレータの出力部やログファイル等へ監視結果を出力する。また、監視対象となる内部信号の初期値及び極性は、論理設計時の内部信号情報301と、このシミュレーションモデルの内部信号情報303とに基づいて決められる。
尚、上述した論理設計時の内部信号情報301及びシミュレーションモデルの内部信号情報303は、ハードウェアシミュレータによって自動的に生成されても良いし、テストベンチとして手動で生成されても良い。
図4は、論理設計時の内部信号情報301の具体的な例を示す図である。図4において、401は論理設計時の内部信号情報であり、信号の名前が「signal_a」で、リセット後の初期値が「0」で、極性が「ハイアクティブ」である。また同様に、402は論理設計時の内部信号情報であり、信号の名前が「signal_b」で、リセット後の初期値が「1」で、極性が「ローアクティブ」である。
図5は、シミュレーションモデルの内部信号情報303の具体的な例を示す図である。図5において、501はシミュレーションモデルの内部信号情報であり、信号の名前が「signal_a」で、極性が「反転」である。即ち、論理設計時の内部信号情報301の極性に対して反転していることを示している。また同様に、502はシミュレーションモデルの内部信号情報であり、信号の名前が「signal_b」で、極性が「一致」である。即ち、論理設計時の内部信号情報301の極性に対して一致していることを示している。
図6は、レイアウト時に挿入されたインバータの位置情報302の具体的な例を示す図である。図6において、601は信号の名前が「signal_a」の内部信号の前段及び後段の位置にそれぞれ1個ずつインバータが挿入されたことを示している。また同様に、602は、信号の名前が「signal_b」の内部信号の前段及び後段の位置にそれぞれ2個ずつインバータが挿入されたことを示している。
次に、以上の構成を有するモニタの動作について説明する。先ず、シミュレーションを開始する前に、ハードウェアシミュレータ上で動作させるシミュレーションモデルの内部信号情報303を予め生成する。RTLシミュレーションを行う場合、このシミュレーションモデルはRTL記述のHDLファイルをコンパイルして生成されるため、このシミュレーションモデルの内部信号情報303は、論理設計時の内部信号情報301に対して、極性が全て「一致」という情報となる。
次に、ゲートレベルシミュレーションを行う場合、ハードウェアシミュレータ上で動作させるシミュレーションモデルはレイアウト後のゲートレベル記述のネットリストをコンパイルして生成されるため、このシミュレーションモデルの内部信号情報303は、レイアウト時に挿入されたインバータの位置情報302から、監視対象とする内部信号に影響を与える位置にインバータが挿入されているならば、極性が「反転」、挿入されていないなら「一致」という情報として生成される。
例えば、図4に示す401の「signal_a」という名前の内部信号において、レイアウト時に挿入されたインバータ位置情報302が図6に示す601の場合、インバータが前後に1個挿入されているので極性が反転し、図5に示す501のシミュレーションモデルの内部信号情報303を生成する。
また、図4に示す402の「signal_b」という名前の内部信号において、レイアウト時に挿入されたインバータ位置情報302が図6に示す602の場合、インバータが前後に2個挿入されているので極性が一致(反転の反転)し、図5に示す502のシミュレーションモデルの内部信号情報303を生成する。
即ち、監視対象とする内部信号の前段及び後段に奇数個のインバータが挿入された場合は極性が反転し、偶数個の場合(0個の場合はインバータの位置情報がなくても良い)は極性が一致する。
このように生成されたシミュレーションモデルの内部信号情報303は、一度生成されると使用するネットリストに変更がない限り、同じものが使用可能で再度生成する必要はない。
ここで、シミュレーションが開始されると、内部信号監視部304は論理設計時の内部信号情報301とシミュレーションモデルの内部信号情報303とに基づいて、監視対象とする内部信号の初期値及び極性を決め、内部信号の監視動作を行う。
例えば、論理設計時の内部信号情報301が図4に示す内部信号401で、シミュレーションモデルの内部信号情報303が図5に示す内部信号501の場合、内部信号監視部304は「signal_a」という名前の内部信号の初期値及び極性を、内部信号501の極性が反転していることから、内部信号401で示される初期値及び極性を反転し、初期値が「1」で極性が「ローアクティブ」として扱い、監視動作を行う。
また、論理設計時の内部信号情報301が図4に示す内部信号402で、シミュレーションモデルの内部信号情報303が図5に示す内部信号502の場合、内部信号監視部304は「signal_b」という名前の内部信号の初期値及び極性を、内部信号502の極性が一致していることから、内部信号402で示される初期値及び極性をそのまま使用し、初期値が「1」で極性が「ローアクティブ」として扱い、監視動作を行う。
実施例1によれば、ゲートレベルシミュレーションにおいて、RTLシミュレーション時に作成したモニタを修正することなくそのまま使用できる。
次に、図面を参照しながら本発明に係る実施例2について詳細に説明する。実施例1では、レイアウト時に挿入されたインバータの位置情報からシミュレーションモデルの内部信号情報の極性を決定しているが、実施例2では、内部信号極性判定部により極性を判定するものである。
図7は、半導体集積回路シミュレーションで内部信号を監視する実施例2における機能構成の一例を示す図である。図7に示す701、703、704は、それぞれ実施例1で用いた図3に示す論理設計時の内部信号情報301、シミュレーションモデルの内部信号情報303、内部信号監視部304に相当し、説明は省略する。
図7において、702は内部信号極性判定部であり、HDL等で記述されハードウェアシミュレータ上で動作させるシミュレーションモデルと共に、シミュレーションモデルがリセット状態時に、監視対象となる内部信号の初期値を調べ、シミュレーションモデルの内部信号情報703をシミュレーション動作時に生成する。
次に、以上の構成を有するモニタの動作について説明する。先ず、シミュレーションが開始されると、シミュレーションモデルは外部からリセット信号が入力され、リセット状態となる。この状態で、内部信号極性判定部702が監視対象となる内部信号の初期値を抽出し、論理設計時の内部信号情報701の初期値と比較する。ここで、同じ値であれば極性が「一致」、異なる値であれば「反転」しているとして、シミュレーションモデルの内部信号情報703を生成する。
例えば、内部信号極性判定部702が抽出したリセット状態の初期値が「1」で、論理設計時の内部信号情報701として図4に示す「signal_a」という名前の内部信号401を入力した場合は、内部信号401の初期値と異なるため、「反転」していると判定し、図5に示す501のシミュレーションモデルの内部信号情報703を生成する。
また、内部信号極性判定部702が抽出したリセット状態の初期値が「1」で、論理設計時の内部信号情報701として図4に示す「signal_b」という名前の内部信号402を入力した場合は、内部信号402の初期値と「一致」していると判定し、図5に示す502のシミュレーションモデルの内部信号情報703を生成する。
このように生成されたシミュレーションモデルの内部信号情報703は、シミュレーション実行時に毎回生成される。よって、RTL記述のHDLファイルを使ったRTLシミュレーションであるのか、ゲートレベル記述のネットリストを使ったゲートレベルシミュレーションであるのかを区別する必要はない。また、RTL記述のHDLファイルやネットリストにおける変更の有無も区別する必要はない。
リセット状態解除後、内部信号監視部704は、実施例1と同様に、論理設計時の内部信号情報701と内部信号極性判定部702によって生成されたシミュレーションモデルの内部信号情報703に基づいて監視対象とする内部信号の初期値及び極性を決め、内部信号の監視動作を行う。
実施例2によれば、レイアウト時に挿入されたインバータの位置情報がなくても、極性が反転している部分を特定でき、ゲートレベルシミュレーションにおいて、RTLシミュレーション時に作成したモニタを修正することなくそのまま使用できる。
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
このプログラムコードを供給するための記録媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
RTLシミュレーション時にモニタでモジュール間の内部信号を監視する例を示す図である。 RTLシミュレーション時に作成したモニタをゲートレベルシミュレーションでそのまま使用できないという問題を説明するための図である。 半導体集積回路シミュレーションで内部信号を監視する実施例1における機能構成の一例を示す図である。 論理設計時の内部信号情報301の具体的な例を示す図である。 シミュレーションモデルの内部信号情報303の具体的な例を示す図である。 レイアウト時に挿入されたインバータの位置情報302の具体的な例を示す図である。 半導体集積回路シミュレーションで内部信号を監視する実施例2における機能構成の一例を示す図である。
符号の説明
100 モジュール
101 FF
102 出力ポート
103 インバータ
110 モジュール
111 FF
112 入力ポート
113 インバータ
120 モニタ
130 結線信号
301 論理設計時の内部信号情報
302 レイアウト時に挿入されたインバータ位置情報
303 シミュレーションモデルの内部信号情報
304 内部信号監視部
701 論理設計時の内部信号情報
702 内部信号極性判定部
703 シミュレーションモデルの内部信号情報
704 内部信号監視部

Claims (5)

  1. 論理回路における内部信号を監視する内部信号監視方法であって、
    論理設計時の論理回路における内部信号を示す第1の情報を生成する工程と、
    論理検証時の論理回路における内部信号を示す第2の情報を生成する工程と、
    前記第1及び第2の情報に基づいて前記論理回路における内部信号を監視する工程とを有することを特徴とする内部信号監視方法。
  2. 前記第1の情報は、少なくとも信号名、リセット状態時の初期値及び動作極性を含み、前記第2の情報は、少なくとも信号名、前記動作極性と一致又は反転していることを示す情報を含むことを特徴とする請求項1記載の内部信号監視方法。
  3. 前記第2の情報は、レイアウト作業時に挿入されたインバータの位置を示す位置情報に基づいて生成されることを特徴とする請求項1記載の内部信号監視方法。
  4. 前記第2の情報は、前記論理設計時の内部信号の初期値とリセット状態時の初期値とに基づいて生成されることを特徴とする請求項1記載の内部信号監視方法。
  5. 論理回路における内部信号を監視する論理シミュレーション装置であって、
    論理設計時の論理回路における内部信号を示す第1の情報を生成する手段と、
    論理検証時の論理回路における内部信号を示す第2の情報を生成する手段と、
    前記第1及び第2の情報に基づいて前記論理回路における内部信号を監視する手段とを有することを特徴とする論理シミュレーション装置。
JP2004351518A 2004-12-03 2004-12-03 内部信号監視方法及び論理シミュレーション装置 Withdrawn JP2006163600A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004351518A JP2006163600A (ja) 2004-12-03 2004-12-03 内部信号監視方法及び論理シミュレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004351518A JP2006163600A (ja) 2004-12-03 2004-12-03 内部信号監視方法及び論理シミュレーション装置

Publications (1)

Publication Number Publication Date
JP2006163600A true JP2006163600A (ja) 2006-06-22

Family

ID=36665575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004351518A Withdrawn JP2006163600A (ja) 2004-12-03 2004-12-03 内部信号監視方法及び論理シミュレーション装置

Country Status (1)

Country Link
JP (1) JP2006163600A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234080A (ja) * 2007-03-16 2008-10-02 Ricoh Co Ltd 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム、半導体集積回路、半導体集積回路の製造方法
JP2009199274A (ja) * 2008-02-20 2009-09-03 Fujitsu Microelectronics Ltd 設計検証プログラム、設計検証方法および設計検証装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234080A (ja) * 2007-03-16 2008-10-02 Ricoh Co Ltd 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム、半導体集積回路、半導体集積回路の製造方法
JP2009199274A (ja) * 2008-02-20 2009-09-03 Fujitsu Microelectronics Ltd 設計検証プログラム、設計検証方法および設計検証装置

Similar Documents

Publication Publication Date Title
JP3357813B2 (ja) ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
US6536031B2 (en) Method for generating behavior model description of circuit and apparatus for logic verification
US7836414B2 (en) Formally proving the functional equivalence of pipelined designs containing memories
US7231627B2 (en) Merging a hardware design language source file with a separate assertion file
JP2006048525A (ja) シミュレーション方法
US8255859B2 (en) Method and system for verification of multi-voltage circuit design
US8250504B2 (en) Designing method of semiconductor integrated circuit
JP5040758B2 (ja) シミュレーション装置、シミュレーション方法及びプログラム
JP2008210004A (ja) 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置
JP2006163600A (ja) 内部信号監視方法及び論理シミュレーション装置
Sakib et al. Formal modeling and verification of PCHB asynchronous circuits
US20030144826A1 (en) Register repositioning method for functional verification systems
US7225419B2 (en) Methods for modeling latch transparency
JP5104356B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法
JP2008107872A (ja) 半導体集積回路
JP2005316595A (ja) 回路記述間の等価性検証方法および回路記述間の等価性検証プログラム
JP2002259487A (ja) 多電源回路シミュレーション方法及び装置
JP2007241836A (ja) マルチサイクルパス検証方法
JP2008129921A (ja) 論理機能検証装置及び論理機能検証方法
JP4209010B2 (ja) クロック最適化装置
JP5531479B2 (ja) 回路設計方法、及び回路設計プログラム
JP2004062522A (ja) 回路検証装置、回路検証プログラム、回路検証方法
JP2005031890A (ja) 遅延検証装置
JP2005107566A (ja) ラッチ変換による遅延最適化回路の等価性検証システムと方法、及びプログラム
JP2006163736A (ja) 論理シミュレーション用システム及びその制御方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080205