JP2007233842A - リセット動作検証回路の生成方法 - Google Patents

リセット動作検証回路の生成方法 Download PDF

Info

Publication number
JP2007233842A
JP2007233842A JP2006056460A JP2006056460A JP2007233842A JP 2007233842 A JP2007233842 A JP 2007233842A JP 2006056460 A JP2006056460 A JP 2006056460A JP 2006056460 A JP2006056460 A JP 2006056460A JP 2007233842 A JP2007233842 A JP 2007233842A
Authority
JP
Japan
Prior art keywords
circuit
reset
verification
flip
asynchronous
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
JP2006056460A
Other languages
English (en)
Inventor
Hiroshi Hida
洋 飛田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006056460A priority Critical patent/JP2007233842A/ja
Priority to US11/703,079 priority patent/US20070220453A1/en
Publication of JP2007233842A publication Critical patent/JP2007233842A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】FPGAを用いたプロトタイピング検証において、フリップフロップに不定値が代入されている状態を作り出すことでリセット動作検証を可能にし、FPGAを用いたプロトタイピング検証の精度を向上させる。
【解決手段】非同期リセット信号でリセットされる順序回路と非同期リセット信号ではリセットされない順序回路とを含む回路設計データに対して、工程8で順序回路中の記憶素子を識別し、工程11および工程12で前記記憶素子が有効なデータを保持しているか否かを示すフラグ回路をそれぞれの記憶素子に対して付加する。非同期リセット信号でリセットされない順序回路の記憶素子に対して付加されるフラグ回路は、非同期リセット信号が入力されたときに記憶素子が有効なデータを保持していないことを示す非有効表示状態になるようにする。
【選択図】図2

Description

本発明は、検証対象回路が非同期リセット型順序回路と同期リセット型順序回路が混在するFPGA(Field Programmable Logic Array)である場合の論理回路検証方法を改善する技術に関する。
半導体集積回路(LSI)の開発過程において、ソフトウエアシミュレータを用いた検証や、FPGAを用いたプロトタイプ機による検証等が行われている。大規模なLSIの開発過程においては、部分的な小規模な回路の検証をソフトウエアシミュレータで行い、その検証済みの小規模な回路を集積してFPGAに書き込み大規模な回路を構築し、そのFPGAを用いてLSIの設計を検証することが一般的に行われている(例えば、非特許文献1および非特許文献3参照)。
図9は一般的なFPGAを用いたプロトタイプ検証方法を示すフローチャートである。図9において、1は回路データ作成工程、3は論理合成工程、4はFPGA書き込み工程、5は書き込まれたFPGAを用いて検証ベクタを実行する検証ベクタ実行工程である。
このようなFPGAを用いた検証は、ソフトウエアシミュレータを用いた検証に比べて圧倒的に高速に検証を行える利点がある。検証対象回路にも依存するが、FPGAによる検証はソフトウエアシミュレータによる検証の10万分の1の時間で実行することができる。
このように、FPGAを使った検証は魅力的な手法であるが、幾つかの理由によりソフトウエアシミュレータも広く用いられている。ソフトウエアシミュレーターを用いる理由の一つとして、検証に必要な精度でFPGAに非同期回路を構築する手段が無いことが挙げられる。
このような事例の一つとして、FPGAとASICでフリップフロップのリセット動作を完全に同一にはできないことが挙げられる。ASICにおける電源投入時のフリップフロップの初期値は予見できないので、ソフトウエアシミュレータでは不定値として扱う。しかしながらFPGAに実装したときに、各々のフリップフロップに不定値が代入されている状態を作り出すことはできない。
本来、ソフトウエアシミュレータで不定値として取り扱ったときには予見できる不具合が、FPGAでは不定値というのは実現できないため、FPGAを使った検証では不具合を見逃す恐れがあると言える。この制約を取り除き、FPGAで検証可能な案件を増やすことには価値が有る。
ここでLSIにおけるフリップフロップのリセット動作について説明する。同期回路におけるリセット信号の使用形態には同期リセットと非同期リセットの2種類の形態がある。同期リセット型回路と非同期リセット型回路は各々長所と短所があり、回路設計者は実現したい回路の特徴に合わせて使い分けをしている(例えば、非特許文献2参照)。以下に同期リセット型回路と非同期リセット型回路の説明を行う。
図12に非同期リセット型回路の実装例を、図13にその動作波形を示す。非同期リセット型回路ではLSI内部の多数のフリップフロップ(例えば千個)に同時にリセット信号を供給するグローバルネットが構成される。
このグローバルネットは配線負荷が大きくノイズに弱いため、誤動作の要因になり易い欠点がある。また、リセット信号は多数の配線になるため、LSI上の面積を多く消費する。従ってコスト高となり、とりわけFIFO等のフリップフロップが大量にある回路では面積増大の影響が大きい。
図10に同期リセット型回路の実装例を、図11にその動作波形を示す。この同期リセット型回路では、フリップフロップの初期化はリセット端子を使わず、データ線に初期値を代入することで行われる。従って、同期リセット型回路ではリセット信号がグローバルネットとなることがなく、前述した非同期リセット型回路の欠点が解消される。すなわちノイズに強く、面積が小さくなる傾向がある。
同期リセット型回路のフリップフロップの初期化において、初期値をフリップフロップに代入する回路は設計者が設計する必要がある。また、初期化に必要なクロックサイクル数は各回路固有になり、複雑な判断を伴う制御回路でかつ複数の設計者が関わる大規模な回路では初期化シーケンスに設計ミスが発生し易い。
大規模なLSIでは同期リセット型回路と非同期リセット型回路が混在している場合が多く、とりわけ複数の提供元からの既成回路(IP)が使用される場合はこのような問題の発生は避けられない。そのため、FPGAを用いたプロトタイプ検証においても、リセット動作検証を高い精度で行うことは重要な課題である。
「COOL Chips VIII Proceedings」、2005年4月、IEEE Computer Society 「RTL設計スタイルガイドVHDL編」、2004年5月、株式会社 半導体理工学研究センター 小林芳直、「定本 ASICのシステム設計」、1995年10月、CQ出版
上述したように、非同期リセットでリセットされる順序回路と非同期リセットでリセットされない順序回路が混在している回路をFPGAに実装した場合にも、フリップフロップの初期化における設計ミスが発生し易く、リセット動作検証は重要な課題である。
しかしながら、前述したように、従来のFPGAを用いたプロトタイピング検証においては各々のフリップフロップに不定値が代入されている状態を作り出すことができないため、ソフトウエアシミュレータで不定値として取り扱ったときには予見できる不具合がFPGAを用いたプロトタイピング検証では実現できず、リセット動作の不具合を見逃す恐れがあった。
本発明は、FPGAを用いたプロトタイピング検証においてもフリップフロップに不定値が代入されている状態を作り出すことでリセット動作検証を可能にし、FPGAを用いたプロトタイピング検証の精度を向上させるリセット動作検証回路の生成方法を提供することを目的とする。
本発明は、非同期リセット信号でリセットされる非同期リセット順序回路と前記非同期リセット信号ではリセットされない同期リセット順序回路とを含む回路設計データに対して、非同期リセット順序回路および同期リセット順序回路中の記憶素子を識別する工程と、前記記憶素子が有効なデータを保持しているか否かを示すフラグ回路をそれぞれの記憶素子に対して付加する工程とを有するものである。上記構成によれば、FPGAの設計データにおける順序回路中の記憶素子が識別され、それぞれの記憶素子に対して有効なデータを保持しているか否かを示すフラグ回路が付加されることにより、記憶素子が有効なデータを保持していないことをフラグ回路が示している場合は記憶素子に不定値が代入された状態とすることができるため、ソフトウエアシミュレータで不定値を取り扱ったときに予見できる不具合がFPGAを用いたプロトタイピング検証でも実現でき、リセット動作の不具合を検出することが可能になる。
本発明において、非同期リセット順序回路の記憶素子に対して付加されたフラグ回路を、非同期リセット順序回路に前記非同期リセット信号が入力されたときに記憶素子が有効なデータを保持していることを示す有効表示状態にするものである。上記構成によれば、非同期リセット順序回路の記憶素子に対して付加されたフラグ回路は非同期リセット信号が入力されたときに直ちに有効表示状態になるため、非同期リセット順序回路のリセット動作を正しく表示することができる。
本発明において、同期リセット順序回路の記憶素子に対して付加されたフラグ回路を、同期リセット順序回路に前記非同期リセット信号が入力されたときに記憶素子が有効なデータを保持していないことを示す非有効表示状態にする。上記構成によれば、同期リセット順序回路の記憶素子に対して付加されたフラグ回路は非同期リセット信号が入力されたときに非有効表示状態になるため、同期リセット順序回路がリセットされずに不定値が代入された状態となることを正しく表示することができる。
本発明において、フラグ回路が示す状態を外部端子に出力する回路を付加するものである。上記構成によれば、FPGAを用いたプロトタイピング検証において、記憶素子に不定値が代入された状態を実現するフラグ回路の状態を外部端子から観測できるため、リセット動作の不具合を容易に検出することが可能になる。
本発明において、複数のフラグ回路がすべて前記有効なデータを保持していることを示す状態にあることを示す信号を生成して外部端子に出力する回路を付加する。上記構成によれば、FPGAを用いたプロトタイピング検証において、複数のフラグ回路がすべて有効表示状態であることを示す信号を外部端子から観測できるため、同期リセット順序回路の適当なグループ毎に少数の外部端子から、あるいはすべての同期リセット順序回路について1個の外部端子から観測できるため、検証用の外部端子数を大幅に増やすことなくリセット動作の不具合を容易に検出することが可能になる。
本発明によれば、FPGAにおいても不定値の取り扱いが可能となるため、ソフトウエアシミュレータで不定値を取り扱ったときに予見できる不具合がFPGAを用いたプロトタイピング検証でも実現できることになり、リセット時の回路の振る舞いを取り扱うことができ、FPGAを用いたプロトタイピング検証においてリセット動作の不具合を検出することが可能になる。
図1は本発明の一実施の形態に係るリセット動作検証回路の生成方法を適用したFPGAを用いたプロトタイプ検証の手順を示すフローチャートである。図1において、1は回路データ作成工程、2はリセット動作を検証するための検証用回路作成工程、3は論理合成工程、4は論理合成されたデータを書き込むFPGA書き込み工程、5は書き込まれたFPGAを用いて検証ベクタを実行する検証ベクタ実行工程、6は検証ベクタ実行後の出力を確認する有効状態出力確認工程である。このように、まずFPGAの書き込み前にリセット動作を検証するための検証用回路を回路データに追加し、検証ベクタ実行後に回路中のデータの有効性を判定することで、FPGAを用いたプロトタイプ検証におけるリセット動作の不具合の有無を検証することができる。
図2は検証用回路作成工程2におけるリセット動作検証回路の生成方法の詳細手順を示すフローチャートである。図2において、7はalways文を実行するループ、8はフリップフロップが生成される代入文かを判定する工程、9はフリップフロップが生成される場合にリセット属性の信号があるかを判定する工程、10はリセット属性の信号がある場合にリセット属性の信号がエッジ検出かを判定する工程、11はリセット属性の信号が無いかリセット属性の信号がエッジ検出でない場合に実行される同期リセットFF(フリップフロップ)検証用回路追加工程、12はリセット属性の信号がありリセット属性の信号がエッジ検出である場合に実行される非同期リセットFF(フリップフロップ)検証用回路追加工程である。このように、検証対象回路が同期リセットフリップフロップか非同期リセットフリップフロップかを判断し、検証対象回路に応じた適切なリセット動作検証回路が追加されるため、このリセット動作検証用回路の動作を検証ベクタ実行後に判定することで、リセット動作の不具合の有無をFPGAを用いて効率的に検証することができる。
図3は、本発明のリセット動作検証回路の生成方法により、検証対象回路の設計データに対してリセット動作検証回路が追加された設計データのRTL記述の一例を示す図である。図3において、13は非同期リセットフリップフロップを用いた検証対象回路の設計データ、14は設計データ13に対してリセット動作検証回路が追加された後の設計データ、15は同期リセットフリップフロップを用いた検証対象回路の設計データ、16は設計データ15に対してリセット動作検証回路が追加された後の設計データである。
リセット動作検証回路が追加された後の設計データ14、16においては、入力データを受け取るフリップフロップDATAに対して、その値が確定されたか否かを示すフラグとしてDATAvldが追加されている。フラグDATAvldが“0”であればフリップフロップDATAの値は未確定であり不定値が代入されている状態、フラグDATAvldが“1”であればフリップフロップDATAの値が確定した状態を示す。
このように、非同期リセットフリップフロップおよび同期リセットフリップフロップのRTL記述による回路設計データに対して、フリップフロップの値が確定されたか否かを示すフラグを導入するだけの簡易な置き換えにより、フリップフロップのリセット動作を検証することができる。
図4は本発明のリセット動作検証回路の生成方法により、検証対象の同期リセット型順序回路に対してリセット動作検証回路が追加された後の構成例を示す回路図である。図4において、17はデータ入力、18はデータ入力17の有効状態を示すフラグ、19はクロック入力、20は負論理のリセット入力、21はデータ入力17を受け取る1段目の同期リセットフリップフロップ、22はフリップフロップ21のデータを受け取る2段目の同期リセットフリップフロップ、23はフラグ18を受け取りフリップフロップ21の有効状態を示すフラグを保持する1段目の非同期リセットフリップフロップ、24はフリップフロップ23のデータを受け取りフリップフロップ22の有効状態を示すフラグを保持する2段目の非同期リセットフリップフロップである。
同期リセットフリップフロップ21、22のリセット入力端子は使用されず、リセット入力20は非同期リセットフリップフロップ23、24のリセット入力端子に接続される。この構成により、非同期リセットフリップフロップ23、24がリセット入力20により初期値“L”に初期化され、同期リセットフリップフロップ21、22がリセット直後は初期化されておらず不定値を保持することを表現する。
またデータ入力17の有効状態を示すフラグ18をフラグを保持するフリップフロップ23に取り込むことにより、データ入力17から不定値が伝播して来たときにも不定値を保持することを表現する。このように構成することにより、同期リセット型順序回路のリセット時の振る舞いがFPGAにおいて適切に表現される。
図5は本発明のリセット動作検証回路の生成方法により、検証対象の同期リセット型順序回路に対してリセット動作検証回路が追加された後の他の構成例における動作波形を示す図である。図5において、27はクロック信号、28は負論理のリセット入力、29はデータ入力、30はデータ入力29の有効状態を示すフラグ、31は1段目の同期リセットフリップフロップの出力、32はフリップフロップ31の有効状態を示すフラグ、33は2段目の同期リセットフリップフロップの出力、34はフリップフロップ33の有効状態を示すフラグ、35は3段目の同期リセットフリップフロップの出力、36はフリップフロップ35の有効状態を示すフラグである。
同期リセット型順序回路では、リセット入力28がアサートされても有効なデータが入力されていない場合は有効な値を保持しない。また、有効がデータが入力されていてもクロックが供給されていない限りその有効データが取り込まれない。従って、1段目の同期リセットフリップフロップ31の有効状態を示すフラグ32はリセット入力28がアサートされても“L”のままとなる。クロックが入力される度に有効データが次段の同期リセットフリップフロップに伝播していき、これらの同期リセットフリップフロップの有効状態を示すフラグの値もクロックが入力される度に次段に伝播していく。このようにして、同期リセット型順序回路の有効データの伝播過程が適切にシミュレーションできていることがわかる。
図6は本発明のリセット動作検証回路の生成方法により、検証対象の非同期リセット型順序回路に対してリセット動作検証回路が追加された後の構成例を示す回路図である。図6において、17はデータ入力、18はデータ入力17の有効状態を示すフラグ、19はクロック入力、20は負論理のリセット入力、21はデータ入力17を受け取る1段目の非同期リセットフリップフロップ、22はフリップフロップ21のデータを受け取る2段目の非同期リセットフリップフロップ、23はフラグ18を受け取りフリップフロップ21の有効状態を示すフラグを保持する1段目の非同期リセットフリップフロップ、24はフリップフロップ23のデータを受け取りフリップフロップ22の有効状態を示すフラグを保持する2段目の非同期リセットフリップフロップである。
図4との構成の違いは、フリップフロップ21、22が非同期リセット型順序回路であるために、リセット入力20がリセット端子に入力されていることと、これらのフリップフロップの有効状態を保持する非同期リセットフリップ23、24に対しては、リセット入力20がリセット端子ではなくセット端子に入力されていることである。
上記構成において、非同期リセットフリップフロップ23、24がリセット入力20により初期値“H”に初期化される。このことにより、非同期リセットフリップフロップ21、22がリセット直後から初期化され、確定値を保持することを表現する。またデータ入力端子の有効状態を示すフラグ18をフラグを保持するフリップフロップ23に取り込むことにより、データ入力17から不定値が伝播して来たときには不定値を保持することを表現する。このように構成することにより、非同期リセット型順序回路のリセット時の振る舞いがFPGAにおいて適切に表現される。
図7は本発明のリセット動作検証回路の生成方法により、検証対象の非同期リセット型順序回路に対してリセット動作検証回路が追加された後の他の構成例における動作波形を示す図である。図7において、27はクロック信号、28は負論理のリセット入力、29はデータ入力、30はデータ入力29の有効状態を示すフラグ、31は1段目の非同期リセットフリップフロップの出力、32はフリップフロップ31の有効状態を示すフラグ、33は2段目の非同期リセットフリップフロップの出力、34はフリップフロップ33の有効状態を示すフラグ、35は3段目の非同期リセットフリップフロップの出力、36はフリップフロップ35の有効状態を示すフラグである。
非同期リセット型順序回路では、リセット入力28がアサートされると同時に初期化され、初期値を有効な値として保持する。従って、1段目の非同期リセットフリップフロップ31の有効状態を示すフラグ32はリセット入力28がアサートされると同時に“H”になる。2段目、3段目の非同期リセットフリップフロップ33、35のそれぞれの有効状態を示すフラグ34、36についても同様である。
クロックが入力される度に有効データが次段の非同期リセットフリップフロップに伝播していき、これらの非同期リセットフリップフロップの有効状態を示すフラグの値もクロックが入力される度に次段に伝播していく。このようにして、非同期リセット型順序回路の有効データの伝播過程が適切にシミュレーションできていることがわかる。
図8は本発明のリセット動作検証回路の生成方法により、検証対象の同期リセット型順序回路に対してリセット動作検証回路が追加された後の他の構成例を示す回路図である。この構成例は図5に動作波形を示した回路構成に類似しているが、さらに有効状態を示すフラグの値を読み出すチェーンネットが追加されている。図8において、23、24、39はそれぞれ1段目、2段目、3段目の同期リセットフリップフロップの有効状態を示すフラグを保持する1段目、2段目、3段目の非同期リセットフリップフロップ、37は1段目のフラグの有効状態読み出し用チェーンネット、38は1段目のフラグおよび2段目のフラグの有効状態読み出し用チェーンネット、40は1段目のフラグおよび2段目のフラグおよび3段目のフラグの有効状態読み出し用チェーンネット出力である。
チェーンネットは各段のフラグを順次論理積の入力として加えるものであり、チェーンネット37は1段目のフラグの値、チェーンネット38はチェーンネット37と2段目のフラグの論理積、チェーンネット出力40はチェーンネット38と3段目の論理積である。従って、チェーンネット出力40は検証対象回路全体の有効状態を表す出力として用いることができる。
通常、FPGAは内部に実装できる回路規模に比べてパッケージ外に引き出せる端子数が少ないが、本構成例では個々のフラグの出力を端子に引き出す代わりに、全体のフラグの有効状態を1端子で観測することができる。また、デージーチェーン方式で接続して行くことで、FPGAへのテクロノジマッピング時に配線混雑状態が発生せず、FPGA利用時に問題となる合成困難な状態になり難いと言う利点がある。
本発明のリセット動作検証回路の生成方法は、ソフトウエアシミュレーターに比べて圧倒的に高速に検証することができるFPGAを用いつつ、順序回路中の記憶素子の不定値の発生および伝播をシミュレーションすることができるため、非同期リセット信号でリセットされる順序回路と非同期リセット信号でリセットされない順序回路が混在する大規模LSIの検証に有用である。
本発明のリセット動作検証回路の生成方法を適用したFPGAを用いたプロトタイプ検証の手順を示すフローチャート。 本発明の一実施の形態に係るリセット動作検証回路の生成方法を示すフローチャート。 本発明のリセット動作検証回路の生成方法により検証対象回路に対してリセット動作検証回路が追加されたRTL記述の一例を示す図。 本発明のリセット動作検証回路の生成方法により検証対象の同期リセット型順序回路に対してリセット動作検証回路が追加された構成例を示す回路図。 本発明のリセット動作検証回路の生成方法により検証対象の同期リセット型順序回路に対してリセット動作検証回路が追加された構成例における動作波形を示す図。 本発明のリセット動作検証回路の生成方法により検証対象の非同期リセット型順序回路に対してリセット動作検証回路が追加された構成例を示す回路図。 本発明のリセット動作検証回路の生成方法により検証対象の非同期リセット型順序回路に対してリセット動作検証回路が追加された構成例における動作波形を示す図。 本発明のリセット動作検証回路の生成方法により検証対象の同期リセット型順序回路に対してリセット動作検証回路が追加された構成例を示す回路図。 従来の一般的なFPGAを用いたプロトタイプ検証方法を示すフローチャート。 従来のFPGAプロトタイプ検証における同期リセット型順序回路の構成例を示す回路図。 従来のFPGAプロトタイプ検証における同期リセット型順序回路の動作波形を示す図。 従来のFPGAプロトタイプ検証における非同期リセット型順序回路の構成例を示す回路図。 従来のFPGAプロトタイプ検証における非同期リセット型順序回路の動作波形を示す図。
符号の説明
1 回路データ作成工程
2 検証用回路作成工程
3 論理合成工程
4 FPGA書き込み工程
5 検証ベクタ実行工程
6 有効状態出力確認工程
7 always文を実行するループ
8 フリップフロップが生成される代入文かを判定する工程
9 リセット属性の信号があるかを判定する工程
10 リセット属性の信号がエッジ検出かを判定する工程
11 同期リセットFF検証用回路追加工程
12 非同期リセットFF検証用回路追加工程
13 非同期リセットフリップフロップを用いた検証対象回路の設計データ
14 リセット動作検証回路が追加された後の設計データ
15 同期リセットフリップフロップを用いた検証対象回路の設計データ
16 リセット動作検証回路が追加された後の設計データ
17、29 データ入力
18、30 データ入力の有効状態を示すフラグ
19、27 クロック入力
20、28 負論理のリセット入力
21、31 データを保持する1段目のフリップフロップ
22、33 データを保持する2段目のフリップフロップ
35 データを保持する3段目のフリップフロップ
23、32 1段目のフリップフロップの有効状態を示すフラグ
24、34 2段目のフリップフロップの有効状態を示すフラグ
36、39 3段目のフリップフロップの有効状態を示すフラグ
25 データ出力
26 データ出力の有効状態を示すフラグ出力
37 1段目のフラグの有効状態読み出し用チェーンネット
38 1段目および2段目のフラグの有効状態読み出し用チェーンネット
40 1段目〜3段目のフラグの有効状態読み出し用チェーンネット出力

Claims (7)

  1. 非同期リセット信号でリセットされる非同期リセット順序回路と前記非同期リセット信号ではリセットされない同期リセット順序回路とを含む回路設計データに対して、前記非同期リセット順序回路および前記同期リセット順序回路中の記憶素子を識別する工程と、前記記憶素子が有効なデータを保持しているか否かを示すフラグ回路をそれぞれの前記記憶素子に対して付加する工程とを有するリセット動作検証回路の生成方法。
  2. 前記非同期リセット順序回路の記憶素子に対して付加されたフラグ回路を、前記非同期リセット順序回路に前記非同期リセット信号が入力されたときに前記記憶素子が有効なデータを保持していることを示す状態にする工程を含む請求項1記載のリセット動作検証回路の生成方法。
  3. 前記同期リセット順序回路の記憶素子に対して付加されたフラグ回路を、前記同期リセット順序回路に前記非同期リセット信号が入力されたときに前記記憶素子が有効なデータを保持していないことを示す状態にする請求項1記載のリセット動作検証回路の生成方法。
  4. 前記フラグ回路が示す状態を外部端子に出力する回路を付加する工程を含む請求項1記載のリセット動作検証回路の生成方法。
  5. 複数のフラグ回路がすべて前記有効なデータを保持していることを示す状態にあることを示す信号を生成して外部端子に出力する回路を付加する工程を含む請求項1記載のリセット動作検証回路の生成方法。
  6. 請求項1から5の何れか一項記載のリセット動作検証回路の生成方法をコンピュータに実行させるコンピュータプログラム。
  7. 請求項1から5の何れか一項記載のリセット動作検証回路の生成方法により生成された回路が付加された半導体集積回路。
JP2006056460A 2006-03-02 2006-03-02 リセット動作検証回路の生成方法 Withdrawn JP2007233842A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006056460A JP2007233842A (ja) 2006-03-02 2006-03-02 リセット動作検証回路の生成方法
US11/703,079 US20070220453A1 (en) 2006-03-02 2007-02-07 Method for forming reset operation verifying circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006056460A JP2007233842A (ja) 2006-03-02 2006-03-02 リセット動作検証回路の生成方法

Publications (1)

Publication Number Publication Date
JP2007233842A true JP2007233842A (ja) 2007-09-13

Family

ID=38519464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006056460A Withdrawn JP2007233842A (ja) 2006-03-02 2006-03-02 リセット動作検証回路の生成方法

Country Status (2)

Country Link
US (1) US20070220453A1 (ja)
JP (1) JP2007233842A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230602A (ja) * 2008-03-25 2009-10-08 Nec Corp 動作合成装置、動作合成方法およびプログラム
JP2010211550A (ja) * 2009-03-11 2010-09-24 Fujitsu Semiconductor Ltd 回路設計プログラム、回路設計方法および回路設計装置
JP2013526738A (ja) * 2010-05-11 2013-06-24 アルテラ コーポレイション 合成中に非同期および同期リセット解除を実行するための方法および装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555228B2 (en) * 2011-12-29 2013-10-08 Intel Corporation Tool for glitch removal
US9564877B2 (en) 2014-04-11 2017-02-07 Qualcomm Incorporated Reset scheme for scan chains with asynchronous reset signals

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337255A (en) * 1991-10-30 1994-08-09 Xilinx, Inc. Method for implementing set/reset synchronously or asynchronously in a programmable logic device
US5933369A (en) * 1997-02-28 1999-08-03 Xilinx, Inc. RAM with synchronous write port using dynamic latches
US20050038640A1 (en) * 1997-11-25 2005-02-17 Virata Limited Method and apparatus for automatically testing the design of a simulated integrated circuit
US6389586B1 (en) * 1998-01-05 2002-05-14 Synplicity, Inc. Method and apparatus for invalid state detection
US6586969B1 (en) * 2002-03-25 2003-07-01 Lsi Logic Corporation Method and system for synchronously initializing digital logic circuits
JP4326294B2 (ja) * 2003-09-16 2009-09-02 株式会社ルネサステクノロジ 半導体記憶装置
US7680231B2 (en) * 2006-02-08 2010-03-16 Freescale Semiconductor, Inc. Adaptive variable length pulse synchronizer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230602A (ja) * 2008-03-25 2009-10-08 Nec Corp 動作合成装置、動作合成方法およびプログラム
JP2010211550A (ja) * 2009-03-11 2010-09-24 Fujitsu Semiconductor Ltd 回路設計プログラム、回路設計方法および回路設計装置
JP2013526738A (ja) * 2010-05-11 2013-06-24 アルテラ コーポレイション 合成中に非同期および同期リセット解除を実行するための方法および装置

Also Published As

Publication number Publication date
US20070220453A1 (en) 2007-09-20

Similar Documents

Publication Publication Date Title
US8196076B2 (en) Optimal flow in designing a circuit operable in multiple timing modes
JP2006048525A (ja) シミュレーション方法
JP2007233842A (ja) リセット動作検証回路の生成方法
US20150026532A1 (en) Method and apparatus for providing clock signals for a scan chain
JP2007142094A (ja) フリップフロップ機能素子、半導体集積回路、半導体集積回路設計方法及び半導体集積回路設計装置
JP2006127449A (ja) シミュレーションモデル生成方法
US8555228B2 (en) Tool for glitch removal
JP5818762B2 (ja) プログラマブルロジックデバイス及びその検証方法
US8443314B1 (en) Abstraction level-preserving conversion of flip-flop-inferred hardware description language (HDL) to instantiated HDL
US20100229143A1 (en) Detection and removal of hazards during optimization of logic circuits
CN117377961A (zh) 用于仿真的方法、装置及设备
Huang On speeding up extended finite state machines using catalyst circuitry
JP5262678B2 (ja) 動作合成システム、動作合成方法、及び動作合成用プログラム
JP5849973B2 (ja) データ処理装置、データ処理システム、データ処理方法、及びデータ処理プログラム
US8392778B2 (en) Clock domain check method, clock domain check program, and recording medium
de Vos et al. A Complete Open Source Design Flow for Gowin FPGAs
JP5009243B2 (ja) 動作合成装置、動作合成方法、プログラム、記録媒体、および半導体集積回路の製造方法
JP2008226069A (ja) 論理回路、半導体設計支援装置および半導体設計支援方法
JP2008209210A (ja) テストパターン自動生成方法およびテストパターン自動生成プログラム
JP6559995B2 (ja) 半導体集積回路の設計支援装置及び設計支援方法
JP2007241836A (ja) マルチサイクルパス検証方法
JP5392862B2 (ja) ソフトウェアシミュレーション装置、及びシミュレーション方法
JP2005180952A (ja) テスト回路、半導体集積回路及びその製造方法
JPH1196196A (ja) 回路変換方法および回路設計支援装置
JP2012160145A (ja) 論理シミュレーション方法および論理シミュレーション装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071113

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080924

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20081027