JPH11296403A - 向上した埋め込みロジックアナライザ - Google Patents

向上した埋め込みロジックアナライザ

Info

Publication number
JPH11296403A
JPH11296403A JP10327921A JP32792198A JPH11296403A JP H11296403 A JPH11296403 A JP H11296403A JP 10327921 A JP10327921 A JP 10327921A JP 32792198 A JP32792198 A JP 32792198A JP H11296403 A JPH11296403 A JP H11296403A
Authority
JP
Japan
Prior art keywords
logic analyzer
pld
signal
logic
breakpoint
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.)
Pending
Application number
JP10327921A
Other languages
English (en)
Inventor
Kerry Veenstra
ヴィーンストラ ケリー
Krishna Rangasayee
ランガセイー クリシュナ
Alan L Herrmann
エル.ヘルマン アラン
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.)
Altera Corp
Original Assignee
Altera Corp
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 Altera Corp filed Critical Altera Corp
Publication of JPH11296403A publication Critical patent/JPH11296403A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/25Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3636Debugging of software by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3648Debugging of software using additional hardware
    • G06F11/3656Debugging of software using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

(57)【要約】 (修正有) 【課題】プログラマブル論理デバイスにデバックのため
の論理アナライザーを埋め込むための技法を開示する。 【解決手段】プログラマブル論理デバイス16に論理ア
ナライザーを埋め込むことにより、トリガ条件(ブレー
クポイント)の前および後の双方で信号を捕捉すること
が可能となる。PLD16内に埋め込まれた論理アナラ
イザーは、論理信号を捕捉および格納する。論理アナラ
イザーは、コンピュータ上で見るために、これらの信号
をアンロードする。コンピュータ・システム上で実行す
る電子設計自動化(EDA)ソフトウエア・ツールを用
いて、エンジニアは、監視対象のPLDの信号、ブレー
クポイント、格納対象のサンプル全数、ブレークポイン
トが発生した後の捕捉対象のサンプル数、およびシステ
ム・クロック信号を特定する。

Description

【発明の詳細な説明】本出願は、「エンハンス埋め込み
論理アナライザー」と題する1997年11月18日に
出願された米国仮特許出願番号第60/065,602
号の優先権を主張する。この仮出願は、参照によりここ
に援用される。本出願は、「プログラマブル論理デバイ
スのための埋め込み論理アナライザー」と題する199
7年10月27日に出願された米国特許出願第08/9
58,435号の一部継続出願である。これは、参照に
よりここに援用される。
【0001】本出願は、「エンハンス埋め込み論理アナ
ライザー」と題する、本願と同一日に出願された米国特
許出願第 号(代理人整理ALTRP050
号)に関連する。これは、参照のためにここに援用され
る。
【0002】
【発明の属する技術分野】本発明は、一般的に、コンピ
ュータ・システムに関連したハードウエア・デバイスの
分析に関する。更に特定すれば、本発明は、デバッギン
グの目的のためにハードウエア・デバイス内に自動的に
埋め込まれた論理アナライザーに関する。
【0003】
【従来の技術】エレクトロニクスの分野では、集積回
路、マルチチップ・モジュール、ボード等を設計および
製造するプロセスを自動化するために、様々な電子設計
自動化(EDA:electronic design
automation)ツールが有用である。特に、
電子設計自動化ツールは、規格集積回路、カスタム集積
回路(例えばASIC)の設計、およびプログラマブル
集積回路のためのカスタム構成の設計に有用である。顧
客用のカスタム設計を生産するために当該顧客によって
プログラムされ得る集積回路には、プログラマブル論理
デバイス(PLD)が含まれる。プログラマブル論理デ
バイスは、所望の機能を実行するようにプログラムされ
得るあらゆる集積回路を意味し、プログラマブル論理ア
レイ(PLA)、プログラマブル・アレイ論理(PA
L)、フィールド・プログラマブル・ゲート・アレイ
(FPGA)、複雑プログラマブル論理デバイス(CP
LD)、ならびに、幅広い種類のプログラム可能な他の
論理デバイスおよびメモリ・デバイスを含む。多くの場
合、かかるPLDは、ソフトウエア・パッケージの形態
を取る電子設計自動化ツールを用いて、設計エンジニア
によって設計およびプログラムが行われる。
【0004】初回設計は必ずしも完璧とは限らないの
で、PLD用の設計を発生し、PLDをプログラムし、
回路基板上またはPLDを提供するシステムでPLDの
機能性をチェックする間、PLDのデバッグが可能であ
ることは重要である。電子設計によってPLDを実際に
プログラムする前に、シミュレーションおよび/または
タイミング分析を用いて当該電子設計をデバッグし得
る。しかしながら、一旦PLDがプログラムされ、作業
システム内で動作し始めると、この実世界環境において
PLDのデバッグが可能であることも重要である。
【0005】
【発明が解決しようとする課題】シミュレーションを用
いてPLDの多くの側面をデバッグし得るが、複雑なシ
ステム内で動作している実際の回路基板上のPLDの全
機構を正確に実行するシミュレーションを発生すること
は、ほとんど不可能である。例えば、シミュレーション
では、実行中のシステムでPLDが実際に経験するもの
と同様のタイミング特性を与えることができない場合が
ある。例えば、シミュレーションのタイミング信号は、
PLDが実システムで経験するものよりも密または疎で
あり得る。
【0006】広範なシミュレーションの発生が困難であ
ることに加えて、温度変化、静電容量、ノイズおよび他
の要素のような他の回路基板変数によって、PLDが作
業システム内で動作中の時にのみ明白である間欠故障
が、PLDにおいて生じ得る。更にまた、ほとんどのバ
グが観察される可能性が高いポイントまでPLD設計に
負荷を与えるために充分なほど様々な試験ベクトルを発
生することは、困難であり得る。例えば、PLDの設計
およびシミュレーションの間に設計者が予想せず、した
がって考慮に入れなかった刺激をPLDが受けると、結
果としてPLDの誤動作が発生する可能性がある。かか
る誤動作は、予想が困難であると共に、完成システムの
コンテキスト中でデバッグしなければならない。したが
って、電子設計のシミュレーションは有用であるが、通
常PLDを完全にデバッグすることは不可能である。
【0007】作業システム内のハードウエア・デバイス
をデバッグする1つの手法は、論理アナライザーと呼ば
れる別個のハードウエア機器を用いて、ハードウエア・
デバイスのピン上に存在する信号を分析することであ
る。(例えばヒューレット−パッカード社(Hewle
tt−Packard Company)のHP167
0A Series Logic Analyzer)
通常、論理アナライザーからハードウエア・デバイスの
対象のピンまで、多数のプローブ・ワイヤを手作業で接
続して、それらのピン上の信号を監視する。論理アナラ
イザーは、これらの信号を捕捉および格納する。しかし
ながら、ハードウエア・デバイスのピンを監視するため
の外部論理アナライザーの使用は、かかるデバイスをデ
バッグする場合には、いくつかの制限を有する。例え
ば、かかる外部論理アナライザーは、ハードウエア・デ
バイスの外部ピンに接続し外部ピンを監視することがで
きるだけである。したがって、ハードウエア・デバイス
の内部の信号を接続および監視する方法はない。しかし
ながら、PLDのようなハードウエア・デバイスをプロ
グラムする場合には、PLDをデバッグするためにこれ
らの内部信号のいくつかを監視可能であると有用であろ
う。いくつかのカスタム・ハードウエア・デバイスは、
ある内部デバッギング・ハードウエアを備えるようにな
り得るが、このデバッギング・ハードウエアは、通常、
特定の内部信号をルート指定するように結線されてお
り、他の信号を見たいと思うエンジニアが容易に変更す
ることはできない。また、かかるビルトイン・デバッギ
ングでは、エンジニアが望む信号をいかなるものでも監
視のために選択することは不可能であり、トリガ信号お
よびトリガ条件をエンジニアが変更することもできな
い。PLDは本質的に、特定の機能を実行するようにエ
ンジニアがプログラムを試みるプログラマブル・デバイ
スであるので、いかなる特定デバイスでも有効にデバッ
グするために、監視信号、トリガ信号、およびトリガ条
件をエンジニアが注文に応じて変更可能なことが重要で
ある。更に、PLD用の電子設計の生成は、エンジニア
による創造的なデバッギングを必要とする反復プロセス
であり、エンジニアは、ほとんど全ての内部信号を見る
ことを望み得ると共に、システム内でPLDをデバッグ
する過程で相当頻繁に考えを変更し得る。公知の外部お
よび内部論理アナライザーは、この柔軟性を提供しな
い。
【0008】外部論理アナライザーまたはカスタム・チ
ップ内部の結線された所定のデバッギング・ハードウエ
アを用いることの別の欠点は、多くの場合、エンジニア
が監視を望む内部信号の数が、デバイス上で利用可能な
ピンの数よりも多いことである。例えば、エンジニアが
監視を望むデバイスの内部信号が16個ある場合、その
デバイスがデバッギングに利用可能なピンを4個しか有
しないならば、エンジニアは、外部論理アナライザーを
用いて監視を行うことができない。
【0009】場合によっては、エンジニアは従来の論理
アナライザーを採用してPLDの内部信号を調べること
が可能である。これは、例えば、通常は内部信号である
信号を一時的にPLDの出力ピンにルート指定するよう
にエンジニアが自身の設計を修正することによって、達
成し得る。次いで、設計が再コンパイルされる。エンジ
ニアは、次いで、当該「内部」信号を監視するために、
この出力ピンにプローブを取り付ける。しかしながら、
エンジニアは、この内部信号を見るために、自身の設計
を再コンパイルすると共にPLDを再プログラムしなけ
ればならない。また、デバッギングが完了すると、エン
ジニアは出力ピンから当該内部信号を取り除くために設
計を再び書き直し、設計を再コンパイルし、最後に再び
PLDを再プログラムしなければならない。これは冗長
なプロセスであり得る。
【0010】たとえエンジニアが内部信号をPLDの出
力ピンにルート指定することに成功しても、いくつかの
集積回路パッケージでは、外部論理アナライザーを取り
付けることは極めて困難であり得る。デュアル・イン・
ライン・パッケージの集積回路では、パッケージが回路
基板上の容易にアクセス可能な位置にある限り、パッケ
ージの上部に論理アナライザーのプローブを取り付ける
ことは比較的簡単であり得る。しかしながら、デバイス
が密集しているためにパッケージが到達しにくい位置に
ある場合には、対象の特定出力ピンに論理アナライザー
のプローブを物理的に取り付けることは困難であり得
る。更に一層厄介なのは、パッケージの上部に配置され
た小型コンタクトの列を有する集積回路(例えば、「フ
リップ・チップ」)である。このタイプのパッケージで
は、対象の特定出力に論理アナライザーのプローブを取
り付けることは難しい。いくつかの集積回路は、回路基
板に面したパッケージ下部に配置されたコンタクトを有
するボール・グリッド・アレイ・パッケージに収容され
ている。これらのパッケージでは、パッケージの下側に
配置されたこれらの小さいコンタクトに論理アナライザ
ーのプローブを取り付けることは、ほとんど不可能であ
り得る。このため、内部信号をデバイスのピンにルート
指定することが可能であるとしても、外部論理アナライ
ザーの使用には欠点が伴う。
【0011】「プログラマブル論理デバイスのための埋
め込み論理アナライザー(Embedded Logi
c Analyzer For A Programm
able Logic Device)」と題する米国
出願番号第08/958,435号は、埋め込み論理ア
ナライザーが、プログラマブル論理デバイス(PLD)
内のような電子設計内の対象の内部信号を柔軟に分析す
ることを可能とする有利な装置および技法を開示する。
それにもかかわらず、デバッギングを行うためのPLD
の内部信号の分析には改良の余地がある。
【0012】例えば、いくつかの論理アナライザーで
は、ユーザが、トリガ条件と、論理アナライザがデータ
の捕捉にトリガされる前の当該トリガ条件を満足しなけ
ればならないトリガ信号の集合とを特定することができ
る。特定のトリガ条件(デバイスの故障等)の直後に発
生する信号データを捕捉および分析することが望ましい
場合には、かかる論理アナライザーが有用である。しか
しながら、多くの場合、トリガ条件の前に発生する信号
を、後の分析のために捕捉することが望ましい。たいて
いの場合、トリガ条件を満足したことに基づいてデータ
捕捉を開始するこれらの論理アナライザーは、トリガ条
件の前に捕捉した信号を供給することはできない。なぜ
なら、論理アナライザーは、エラー、故障またはその他
のトリガ条件の時にのみ捕捉を開始するように設計され
ているからである。これらのエラーおよび/または故障
は予想されないので、こういったタイプの論理アナライ
ザーはトリガ条件を予想することはできず、したがっ
て、トリガ条件が発生する前にデータ捕捉を開始するこ
とはできない。
【0013】いくつかのデバッギング状況では、トリガ
条件の発生前に発生する信号を捕捉することが極めて有
利である可能性がある。例えば、PCIバス・インタフ
ェースをデバッギングする場合、インタフェースが不当
な状態になる状況が起こり得る。従来の論理アナライザ
ーは、この不当状態を検出すると共に、即座に、後の分
析のために信号データの捕捉を開始することができる。
しかしながら、なぜバスがこの不当状態になったかを判
定するためには、バス・インタフェースが不当状態にな
る前に信号データの捕捉を開始することが極めて望まし
いであろう。別の例では、割込みが発生した場合、この
割込みが発生する前のいくつかのレジスタの履歴を知る
ことが極めて望ましい可能性がある。すなわち、一旦割
込みを受けるとデータ捕捉が開始され得るが、レジスタ
はすでに不正な状態にあり得る。割込みが発生した時に
いくつかのレジスタが不正状態にある理由を判定するた
めに、割込みが発生する前の信号データを捕捉および分
析することができると極めて望ましいであろう。また、
特定のトリガ条件の前の信号データを捕捉することが望
ましい他の状況もあり得る。
【0014】様々な従来技術における努力は部分的な解
決を提示するが、各々に欠点がある。例えば、ヒューレ
ット−パッカード社(Hewlett−Packard
Company)から入手可能な外部論理アナライザ
ーは、トリガ条件(またはブレークポイント)が発生す
る前の信号データの捕捉を可能とする。しかしながら、
これらの外部論理アナライザーは、上述の外部論理アナ
ライザーに関連する欠点の多くを伴う。カリフォルニア
州サニーベールのアクテル社(Actel Corpo
ration)は、2つの異なる信号を監視することが
できるプログラマブル論理デバイス内の2つのプローブ
を提供するが、これらの信号はユーザが予め特定しなけ
ればならず、更に、他の信号への柔軟な再割当てを行え
ない場合がある。加えて、Actelのプローブによっ
て、特定の信号を常時監視するが、特定されたブレーク
ポイントに関する関連信号データを捕捉することはでき
ない。
【0015】したがって、プログラマブル論理デバイス
内に埋め込まれた論理アナライザーが、特定されたブレ
ークポイントの前および後の双方の内部信号を柔軟に捕
捉することができる装置および技法を有すると望ましい
であろう。
【0016】更に、プログラマブル論理デバイス内の埋
め込み論理アナライザーを効率的かつ柔軟に制御する装
置および技法を有すると望ましいであろう。以下で説明
するように、かかる埋め込み論理アナライザーを制御す
るために様々な任意の選択肢が利用可能であるが、従来
技術の技法の中に最適なものはない。背景として、ま
ず、PLDおよび回路基板の設計フェーズおよび製造フ
ェーズの簡潔な説明を提供する。
【0017】この節の初めの方で述べたように、設計エ
ンジニアはPLDを設計すると共に、かかるデバイスを
電子設計自動化ツールを用いてプログラムする。この設
計フェーズ(段階)の過程において、設計が完了してP
LDの大量生産の準備が整う前に、設計エンジニアは多
数の設計−プログラム−デバッグの繰り返しを実行し得
る。設計エンジニアは、多くの場合、シミュレーション
および/またはタイミング分析を用いて、PLDの電子
設計のデバッグを支援する。また、設計エンジニアが
(米国特許出願番号第08/958,435号に開示さ
れているような)埋め込み論理アナライザーを用いて設
計のトラブルシュートを行うことも考えられる。一旦、
設計エンジニアが満足するようにPLDの設計が完了し
たならば、その設計は、製造フェーズのために製品エン
ジニアに渡される。
【0018】製造フェーズ(段階)では、製品エンジニ
アは、電子回路基板または1つ以上のPLDを内蔵する
他の電子デバイスの大量生産のための製造フローを設計
する。製造フェーズの間、基板自体を試験する必要があ
ると共に、PLDを再試験する必要もあり得る。製造フ
ェーズの初めに、いかなる数および種類のハードウエア
・コンポーネントも、またいかなる数のPLDも基板に
はんだ付けされる。一旦、基板上に配置されると、PL
Dは極めて多くの場合、当該PLD上に位置するJTA
Gポートを用いてプログラムされる(または構成され
る)。また、基板上に配置する前に、特別なソケットお
よびプログラミング・ユニットを用いて、特定のPLD
を単独でプログラムすることも可能である。
【0019】次いで、完全基板試験を行って、トレー
ス、はんだ接続部、および基板上のコンポーネント間の
他の物理的なインタフェースの試験を行い得る。基板試
験は、基板上のあらゆるデバイスをプログラムまたは構
成する前にも行い得ることを指摘しておく。この基板試
験の間、基板のトレースおよびはんだ接続部の試験を行
うために、PLDのJTAGポートまたはその他のデバ
イスを用いるのが一般的である。一旦、物理的な接続部
が試験されたなら、次いで基板の完全な機能試験を形成
して、基板の全体的な機能性を試験する(すなわち、特
定の入力が、予想される出力を生成することを保証す
る)。この時点で故障が検出された場合、特定のPLD
を基板上に置いたままでデバッグする必要があり得る。
突き止めるのが最も難しい故障では、デバッグする対象
のPLDを基板から除去する必要さえあり得る。こうい
った状況では、先に説明したように、デバッギングを容
易にするためにPLD内に埋め込み論理アナライザーを
有することが望ましい。埋め込み論理アナライザーを用
いたPLDのあらゆるデバッギングの間、何らかの方法
で埋め込み論理アナライザーを制御すること、すなわ
ち、論理アナライザーにコマンドおよびデータを与える
と共に、論理アナライザーから捕捉したデータおよびス
テータスを受信することが必要である。様々な任意選択
肢が利用可能であるが、現在最適なものはない。
【0020】例えば、デバイスの既存の入力/出力ピン
を用いて、制御インタフェースを提供することが可能で
あり得る。しかしながら、ある特定の設計は、埋め込み
論理アナライザーの制御のためにインタフェースを提供
することができる余分の利用可能な入力/出力ピンを充
分に有しない場合がある。単にPLDが正しく設計され
ていなかったかもしれず、ある時点でデバッグする必要
があり得るという理由で、PLDを購入したカスタマが
一定数の入力/出力ピンを使用しないように要求するこ
とは、望ましくない場合がある。
【0021】カリフォルニア州サンタクララのインテル
社(Intel Corporation)は、中央処
理装置(CPU)のデバッグを支援するために、JTA
Gポートを用いて、特定されたデバッグ・レジスタへの
アクセスを制御する。CPUは公知の設計であるので、
正確に何個のデバッグ・レジスタが必要であるかが事前
にわかり、制御はより単純である。しかしながら、PL
Dでは、各々のユーザ履行設計は注文によるものであ
る。当該設計がどのようなものであり、何個のデバッグ
・レジスタが必要であり得るかは、事前にわからない。
異なる設計では異なるデバッグ・レジスタが必要とな
る。このため、CPUの公知の設計でIntelが用い
る簡単な技法は、PLDでは適切でないであろう。
【0022】したがって、埋め込み論理アナライザーの
単純で効率的かつ柔軟な制御を与える装置および技法は
更に望ましいであろう。かかる制御装置および技法が、
実世界環境において回路基板上でPLDの試験を可能と
すれば、更に望ましいであろう。
【0023】
【課題を解決するための手段】前述のことを達成するた
め、また本発明の目的にしたがって、特定されたブレー
クポイントの前および後の双方で特定された信号データ
の捕捉が可能である、プログラマブル論理デバイスに論
理アナライザーを埋め込むための技法を開示する。ま
た、JTAGポートを用いて埋め込み論理アナライザを
制御するための技法も開示する。
【0024】本発明は、論理アナライザー回路を自動的
にPLD内に埋め込み、ブレークポイントの前および後
の双方で論理アナライザー回路が論理信号を捕捉および
格納し、論理アナライザーがこれらの信号をインタフェ
ースを介してコンピュータにアンロードする装置および
技法の双方を提供する。好適な実施形態では、信号の分
析はコンピュータ上で実行され、「オン・チップ」論理
アナライザーは信号を取得するようにのみ機能する。本
発明は、特にPLDとうまく機能する。なぜなら、本質
的に、PLDは設計によってプログラムすることがで
き、この設計は変更し得るものであり、PLDは何度も
繰り返しプログラムされるからである。したがって、論
理アナライザー回路は、試験設計または最終PLDを設
計するプロセスの反復に埋め込まれ得る。PLD設計の
デバッギングが成功すると、PLDチップは論理アナラ
イザー回路を用いずに再プログラム可能であり、または
回路はチップ上に残され得る。
【0025】本発明の一実施形態では、コンピュータ・
システム上で実行する電子設計自動化(EDA)ソフト
ウエア・ツールを用いて、エンジニアは監視対象のPL
Dの信号を特定し、捕捉対象のサンプル数を特定し、シ
ステム・クロック信号を特定し、ブレークポイントだけ
でなくブレークポイントの前に必要なサンプル数も特定
する。(あるいは、全サンプルを特定することができ、
および/またはブレークポイントの後に必要なサンプル
を特定する。)次いで、EDAツールは、PLDを構成
するためにコンパイルおよびダウンロードされるPLD
の電子設計内に、論理アナライザー回路を自動的に挿入
する。PLDとコンピュータとの間に接続されたインタ
フェースを用いて、EDAツールは、埋め込み論理アナ
ライザーに実行およびデータ捕捉の開始を命令するため
に、論理アナライザーと通信を行う。一旦ブレークポイ
ントが発生したなら、論理アナライザーは、そのブレー
クポイントの後に更にサンプルを捕捉する必要があるか
否かを判定する。次いで、EDAツールは、サンプル・
メモリからデータをアンロードするように論理アナライ
ザーに指示し、次いでそのデータをコンピュータ上に表
示する。論理アナライザー回路はその後、再び実行して
サンプル値の別のシーケンスを捕捉し得る。
【0026】本発明の一特定実施形態では、論理アナラ
イザーは、リング・バッファ、または満杯になると初め
に格納したデータに上書きする同様のメモリ構造におい
て、特定された信号ラインから連続的にデータを捕捉す
る。このように、ブレークポイントが発生する前に関連
データは連続的に格納されており、このため、格納され
たデータは後に、ブレークポイントの前に発生した信号
を見ることを望むユーザによって見られ得る。一旦ブレ
ークポイントが発生したなら、カウンタが、(もしあれ
ば)追加のデータ・サンプルをいくつ収集する必要があ
るかを追跡し続ける。
【0027】多くの場合、PLDをプログラムするか、
またはPLDが配置された回路基板の試験を支援するた
めに、JTAGポートが用いられる。好都合なことに、
特定のPLDの設計およびデバッギングの間、JTAG
ポートは従来より未使用であることがわかっている。こ
のため、PLDのデバッギングの間、本発明の埋め込み
論理アナライザーとの通信および論理アナライザーの制
御を行う手段として、PLD上のJTAGポートが利用
されており、また使用し得ることも更にわかっている。
好都合なことに、標準的なJTAGポートが、埋め込み
論理アナライザーを含むプログラマブル論理デバイスの
デバッギングを容易にするために用いられる。JTAG
ポートの使用により、専用のデバッギング制御ピンの追
加が回避される。JTAGポートを用いて埋め込み論理
アナライザーを制御する第1の実施形態では、論理アナ
ライザーの入力および出力は、非結合JTAG−イネー
ブルI/Oセルにルート指定される。制御信号を供給す
るセルは、デバイスの残りの部分が実世界環境において
と同様に動作するにもかかわらず、それらのセルがIN
TESTモードにあると考えるように錯覚を起こし、信
号を入力し得るようになっている。第2の実施形態で
は、ユーザ履行試験データ・レジスタが論理エレメント
のJTAG状チェーンを提供し、これを介して制御およ
び出力情報がシフトされる。刺激セルは論理アナライザ
ーに制御情報を与え、検知セルは論理アナライザーから
データを検索する。
【0028】本発明は、従来技術に勝る多くの利点を提
供する。PLD内で埋め込み論理アナライザーを用いる
ことによって、PLDが動作しているシステム内で、か
つPLDの誤動作を生成し得る実際の条件のもとで、デ
バイスのデバッギングが可能となる。本発明の技法は、
エンジニアがいかなる論理機能もデバイス内でデバッグ
し得るように、論理アナライザー回路をPLD内に自動
的に埋め込む。埋め込み論理アナライザーは、エンジニ
アが特定したいかなる内部信号も捕捉可能であり、ブレ
ークポイントは、特定されたいかなる内部信号も含むこ
とができる。埋め込み論理アナライザー内のメモリおよ
びコンピュータへのインタフェースを使用することによ
って、いかなる数および深さの信号もデバイス内で監視
可能であり、次いで、分析のため後にコンピュータに送
信することができる。本発明の一実施形態では、埋め込
み論理アナライザーをプログラムすると共に捕捉した信
号情報をコンピュータに送信するために、JTAGポー
トが用いられる。
【0029】好都合なことに、システム内のPLD設計
のデバッギングの間、エンジニアはEDAツールを用い
て新たな監視信号および/または新たなブレークポイン
トを特定し得る。エンジニアは次いで、デバイスの異な
る部分をデバッグするため、またはトリガ条件を変更す
るために、修正した論理アナライザーによって、意図さ
れたシステム内にデバイスがある間に極めて素早くデバ
イスを再プログラムすることができる。埋め込みアナラ
イザーを素早く再プログラムするこの能力は、動的に再
プログラムされ得ないカスタム・チップ上のビルトイン
・デバッギング・ハードウエアに勝る多くの利点を有す
る。また、再プログラムするこの能力は、ハードウエア
・デバイスの外部ピンしか監視することができない外部
論理アナライザーに勝る利点も有する。更に、一旦、エ
ンジニアが埋め込み論理アナライザーによってデバイス
のデバッギングを終了すると、論理アナライザーを用い
ずに、EDAツールを用いて、エンジニアの最終的な作
業設計を表す最終構成出力ファイルを発生し得る。した
がって、論理アナライザーは最終設計の一部である必要
はなく、PLD上に空間を取る必要がない。
【0030】本発明は、幅広い範囲のハードウエア・デ
バイス、特にPLDに適用可能である。とりわけPLD
は、SRAM技術およびEEPROM技術を含む幅広い
多様な技術を用いて履行し得る。SRAM技術に基づく
PLDは、多数かつより深い信号を捕捉するために埋め
込み論理アナライザーが使用可能な追加の埋め込みメモ
リを有し得るという点で、特に有利である。更に、ED
Aツールによって自動的に設計および挿入された埋め込
み論理アナライザーは、エンジニアが別個の機器として
外部の論理アナライザーを必要としないことを意味す
る。更に、エンジニアは、PLDについての設計を生成
しているコンピュータを用いて、埋め込み論理アナライ
ザーの制御および構成ならびにその結果の検討も行い得
る。
【0031】本発明の一実施形態では、PLD上の多数
のピンは、ユーザ・コンピュータと通信するための専用
インタフェース・ピンである。これらのピンはインタフ
ェース専用であると共に、事前に知られているので、ユ
ーザ・コンピュータからこれらのピンにデバッギング・
インタフェース・ケーブルを極めて容易に接続し得るよ
うに、回路基板上の容易にアクセス可能な位置またはポ
ートにこれらのピンをルート指定し得る。この技法は、
パッケージ内の特定集積回路のピンまたはコンタクトに
到達するのが困難であるか、またはほとんど不可能であ
り得る場合に、特に有利である。本発明の埋め込み論理
アナライザーは、PLDのいかなる内部信号もまたは外
部信号も監視するように構成し得るので、これらの監視
信号は全て、こういったインタフェース・ピンを介し
て、分析のために利用することができる。すなわち、P
LD内のいかなる信号も監視可能であり、埋め込み論理
アナライザーのメモリ内に格納可能であり、後にこれら
の専用インタフェース・ピンを介して分析のためにユー
ザ・コンピュータにアップロードすることができるの
で、対象の特定外部ピンにプローブを物理的に接続する
必要はない。
【0032】加えて、埋め込み論理アナライザーは、処
理能力近くまで構成されたPLDと共に使用可能であ
る。エンジニアは、分析対象の問題に関連のない設計の
一部を一時的に除去し、論理アナライザー回路を埋め込
み、次いでPLDをデバッグすることができる。一旦P
LDがデバッグされると、エンジニアは埋め込み論理ア
ナライザーを除去し、一時的に除去してあった設計セク
ションを再挿入し得る。
【0033】
【発明の実施の形態】プログラマブル論理デバイス(P
LD)のような電子設計をプログラムする設計を開発す
るために、プログラマブル論理開発システムが用いられ
る。ここで用いられる場合、「電子設計」とは、集積回
路だけでなく、回路基板ならびに多数の電子デバイスお
よびマルチチップ・モジュールを含むシステムを意味す
る。説明の都合上、以下の検討では一般的に「集積回
路」または「PLD」に言及するが、本発明はそれに限
定されるものではない。 プログラマブル論理開発システム 図1は、コンピュータ・ネットワーク12、プログラミ
ング・ユニット14、およびプログラム対象のプログラ
マブル論理デバイス16を含むプログラマブル論理開発
システム10の実施形態のブロック図である。コンピュ
ータ・ネットワーク12は、全てネットワーク接続24
を介して互いに接続されたコンピュータ・システムA1
8、コンピュータ・システムB20、コンピュータ・シ
ステムC22およびコンピュータ・システム・ファイル
・サーバ23等、ネットワーク内に接続されたあらゆる
数のコンピュータを含む。コンピュータ・ネットワーク
12は、ケーブル26を介してプログラミング・ユニッ
ト14に接続されており、一方プログラミング・ユニッ
ト14は、プログラミング・ケーブル28を介してPL
D16に接続されている。あるいは、1つのみのコンピ
ュータ・システムをプログラミング・ユニット14に直
接接続することが可能である。更に、コンピュータ・ネ
ットワーク12は、設計を開発している時のように、常
時プログラミング・ユニット14に接続する必要はな
く、PLD16をプログラムする時にのみ接続すること
も可能である。
【0034】プログラミング・ユニット14は、PLD
16をプログラムするためにコンピュータ・ネットワー
ク12からプログラム命令を受け入れるいずれかの適切
なハードウエア・プログラミング・ユニットとすれば良
い。一例として、プログラミング・ユニット14は、コ
ンピュータ用アドオン論理プログラマ・カード、およ
び、カリフォルニア州サンノゼのアルテラ社(Alte
raCorporation)から入手可能なもののよ
うなマスタ・プログラミング・ユニットを含み得る。P
LD16は、システム内またはプログラミング・ステー
ション内に存在し得る。動作において、電子設計自動化
ソフトウエア・ツールを用いてプログラミング命令を開
発するために、いずれかの人数のエンジニアがコンピュ
ータ・ネットワーク12を用いる。一旦、エンジニアに
よって設計が開発され入力されると、その設計は、プロ
グラミング・ユニットにダウンロードされる前にコンパ
イルおよび検査される。次いで、プログラミング・ユニ
ット14は、PLD16をプログラムするために、ダウ
ンロードされた設計を用いることができる。
【0035】本発明の一実施形態によってPLDをデバ
ッグする目的のために、図示されたコンピュータのいず
れかまたはその他のものを用いて、論理アナライザー回
路を特定すると共に、かかる回路をユーザの設計と共に
コンパイルし得る。更に、プログラミング・ケーブル2
8を用いて論理アナライザーを制御すると共に論理アナ
ライザーからデータを受け取っても良く、または別個の
デバッギング・ケーブルを用いてコンピュータを直接デ
バイス16に接続しても良い。
【0036】かかるプログラマブル論理の開発システム
を用いて電子設計を生成する。設計の入力および処理
は、「プロジェクト」のコンテキスト内で行われる。プ
ロジェクトは、階層情報、システム設計、ならびにプロ
グラミング・ファイルおよび報告ファイルを含む出力フ
ァイルと共に、プロジェクト・ファイル、設計ファイ
ル、割当てファイル、およびシミュレーション・ファイ
ルを含む。また、中間データ構造およびバージョン情報
を含むプロジェクト・データベースも存在し得る。
【0037】プロジェクトは、1つ以上の設計エンティ
ティ階層を含んでおり、各設計階層ツリーは、その階層
ツリー内の最上設計エンティティ(トップレベル機能ブ
ロック)であるルート・エンティティを有する。設計階
層ツリー内の他の設計エンティティは、子エンティティ
と呼ばれる。また、設計階層は、例えばトップ・ダウン
設計方法論において、対応する設計ファイルがないエン
ティティを含み得る。かかる未履行のエンティティを含
む階層のこの部分は、各エンティティに設計ファイルが
供給されるまで、コンパイルもシミュレートもされな
い。この場合、プロジェクトのこれらの部分の履行を支
援するためにインタフェースは定義されているがボディ
は空であるテンプレート・ソース・ファイルが自動的に
発生される。ユーザは、機能ブロックを特定および履行
することによって設計を生成するが、これについて、例
示の設計方法論のコンテキストにおいて以下に説明す
る。 設計方法論 図2は、PLDをプログラムする設計を開発するために
システム設計仕様を用いるための設計方法論50を示
す。なお、本発明は、多種多様な設計方法論のコンテキ
ストにおいて実施し得ることは認められよう。一例とし
て、ワーク・グループ・コンピューティング技法および
本発明のシステムは、図2の方法論のフレームワーク内
の電子設計自動化(EDA)ソフトウエア・ツールとう
まく機能する。
【0038】ステップ52では、プログラム対象のPL
D用のシステム仕様が取得される。この仕様は外部ドキ
ュメントまたはファイルであり、例えばデバイス・ピン
名、各ピンの機能性、所望のシステム機能性、タイミン
グおよびリソース供給等を記述する。ワーク・グループ
内の多数のエンジニアは、後にPLDをプログラムする
のに用いる設計をEDAツールによって生成するため
に、このシステム仕様を用いる。
【0039】一旦、システム仕様が取得されると、機能
ブロック図を用いて設計の生成が開始される。ステップ
54では、下位レベルの設計ブロック間の接続が特定さ
れているトップレベル・ブロック図を生成する。このブ
ロックでは、目標デバイス、速度階級、およびキー・タ
イミング要件を特定し得る。当業者は、このトップレベ
ル・ブロックが、すでに開発もしくは履行されている
か、または第三者の提供業者から取得されているブロッ
クも含み得ることを認めよう。また、このトップレベル
・ブロックは、外部シミュレータ等の他の関連設計ツー
ルで用いるためにHDLファイル等に変換し得る。
【0040】ステップ56は、ステップ54のトップレ
ベル・ブロック図中に存在する全ブロックのために、E
DAツールを用いて設計ファイル・テンプレートを発生
することを含む。設計者が未履行のブロックを生成した
後、システムは設計ファイル・テンプレートを発生し得
る。かかるテンプレートは、例えば、境界の周辺にタイ
トル、日付等を含むウィンドウのフォーマットでブロッ
クを表示し得る。また、テンプレートは、ウィンドウ内
に表示された機能的内容のいくつかの詳細事項も含み得
る。設計ファイル・テンプレートは、VHDL、AHD
L、Verilog、ブロック図、構成図、またはその
他の同様のフォーマットを含むいずれかの特定の設計フ
ォーマットとすれば良い。VHDLブロックの場合、テ
ンプレートは、多くのフォーマッティングおよびいかな
るVHDLブロックにも必要なシンタクスも含み得る。
ユーザは、テンプレートを取得し、自身の機能を履行す
るために必要なVHDLシンタクスの小部分を追加する
だけで良い。例えば、ユーザは、特定のANDゲート動
作を定義するシンタクスを追加するだけで良い場合があ
る。VHDLまたはその他のIEEE標準等の通常の設
計は、設計ブロックを適切に設定するために大量のテキ
ストを必要とする。
【0041】当業者は、設計が必要とする構造的エンテ
ィティまたは機能的エンティティの設計のための起点と
して、これらのような設計ファイル・テンプレートを使
用可能であることを認めよう。したがって、設計ファイ
ル・テンプレートは、1つ以上の設計において、異なる
ブロックのインスタンスのための再使用可能なオブジェ
クトとして機能し得る。更に重要なことに、設計ファイ
ル・テンプレートを採用することで、設計者がブロック
中に論理を発生するために費やさなければならない労力
の量が減少する。一実施形態では、設計ファイル・テン
プレートの発生は、トップレベル・ブロック図に変更が
あればテンプレートを後に更新することができるように
行う。
【0042】次に、ステップ58では、EDAツールを
用いてトップレベル・ブロックの各ブロックを履行す
る。より複雑な設計では、追加のブロック図のレベル
(すなわち、ブロック内のブロック)があり得ることを
注記しておく。トップレベルで変更が必要であれば、ト
ップレベル・ブロック図は更新され、また副設計も自動
的に更新されると好ましい。
【0043】更に、所与の設計の必要に応じて、リソー
スの利用、タイミング性能等に関する情報を提供するた
めに、特定の集積回路ダイのための取付け段階にまでブ
ロックをコンパイルし得る。そのため、ステップ58の
間に、何らかのタイミング最適化を行い得ることが考え
られる。このシーケンスが示す設計のスタイルでは、エ
ンジニアは最初に設計を行い、次いでコンパイルおよび
シミュレートし、次いで、シミュレーション結果が満足
のいくものでなければ再び設計に戻る。別のスタイルで
は、エンジニアは、最終的に完成設計をコンパイルする
前に、設計の後にシミュレーションを行うループを多
数、繰り返し得る。
【0044】ブロック履行の順序に関して、以下の要素
の1つ以上を用いて履行順序を決定することができる。
(1)ブロックの複雑さ、(2)ブロックに関連する不
確実性またはリスク、および/または(3)所与のデー
タ経路でどれほど上流および/または下流にブロックが
存するか、である。また、ステップ60、62、64、
68、および70の各々は、後に行われる設計の変更に
よって必要となる追加の履行のために、このブロック履
行ステップに戻り得る。
【0045】ステップ60では、挙動シミュレータおよ
び、例えばVHDLまたはVerilog試験ベンチを
用いることによって発生されるベクトルを使用して、ブ
ロックをソース・レベルで機能的にシミュレートする。
次いで、シミュレーション結果を表示するか、またはそ
の他の場合、波形、テキスト、もしくはソース・ファイ
ル上の注釈として提示/記録することができる。設計者
は、再度ブロックを履行するためにステップ58に戻っ
ても良い。また、この時点で、ブロックをコンパイルす
るか、またはタイミング分析を実行し得る。
【0046】一旦、設計者がシミュレーション結果に満
足したなら、ステップ62でブロックを他のブロックと
組み合わせ、結果として得られたグループを共にシミュ
レートする。場合によっては、重要なリソースおよびタ
イミング情報を提供するために、全コンパイルを完了す
ることが有用であり得る。また、1つのブロックからの
出力シミュレーション・ベクトルは、次のブロックへの
入力シミュレーション・ベクトルとなり得る。また、設
計者は、トップレベル・ブロックを修正するためステッ
プ54に戻っても良く、または再度ブロックを履行する
ためステップ58に戻っても良い。
【0047】次に、ステップ64では、挙動シミュレー
タを用いて、設計全体をソース・レベルで機能的にシミ
ュレートする。好ましくは、トップレベル・ブロック図
はシミュレーションの前に全て特定されると共に、完成
設計接続性を示す。VHDLまたはVerilog試験
ベンチを用いて、ベクトルを発生することができる。こ
の場合も、シミュレーション結果は、波形またはソース
・ファイル上の注釈としてのいずれかで表示可能であ
る。また、設計者は、トップレベル・ブロックを変更す
るためにステップ54に戻っても良く、または再度ブロ
ックを履行するためにステップ58に戻っても良い。ス
テップ66では、設計全体を、ユーザ設計を履行するた
めにPLDをプログラムするのに必要な情報を含むファ
イル、例えば「プログラミング出力ファイル」等にコン
パイルする。
【0048】生成される設計の種類に応じて、多種多様
なコンパイル技法を使用し得る。一例として、コンパイ
ルのいくつかの例を以下に提示する。PLDでは、コン
パイルは、合成、配置、およびルート指定、プログラミ
ング・ファイルの発生、ならびにシミュレーションのス
テップを含む。カスタム・レイアウトによる従来の集積
回路設計では、コンパイルは、レイアウト版の構成図、
設計規則チェッカ、およびシミュレーションを含む。高
レベル設計ツールを用いた集積回路設計では、コンパイ
ルは、VHDLまたはVerilog等の言語による合
成、自動配置およびルート指定、ならびにシミュレーシ
ョンを含む。プリント回路基板では、コンパイルは、自
動ルート指定、設計規則チェック、集中パラメータ抽
出、およびシミュレーションを含む。むろん、他の種類
のコンパイルおよび上記のものの変形も使用可能であ
る。
【0049】本発明のコンテキスト内で、埋め込み論理
アナライザーを生成するために、上述のコンパイル技法
のいずれも修正し得る。図4を参照して以下で更に詳細
に論じるが、ユーザの設計内に論理アナライザーを挿入
するために、PLDのコンパイルを修正する。
【0050】ステップ66におけるコンパイルに続い
て、ステップ68では、コンパイラ内部のタイミング・
チェッカを用いて、設計の性能目標に到達したか否かを
判定する。また、タイミング・シミュレーションを用い
て性能の詳細をチェックする。加えて、設計プロファイ
ラおよび/またはレイアウト・エディタ等の他の分析ツ
ールを用いて、設計の性能を更に最適化することができ
る。好ましくは、最適化はステップ68の前には行われ
ない。なぜなら、設計内の1つ以上の重要経路の位置を
確立するために、全コンパイルが通常必要だからであ
る。また、設計者は、トップレベル・ブロックを修正す
るためにステップ54に戻っても良く、または再度ブロ
ックを履行するためステップ58に戻っても良い。
【0051】次に、ステップ70では、プログラミング
・ユニット14を用いてデバイスをプログラム/構成す
ると共にシステム内で試験する。この場合も、設計者
は、トップレベル・ブロックを修正するためステップ5
4に戻っても良く、または再度ブロックを履行するため
ステップ58に戻っても良い。方法論50はトップ・ダ
ウン設計プロセスを示すが、これを用いてボトム・アッ
プ型の方法論にも対応し得る。これまで、エンジニアが
PLD用の設計を開発し得る全体的な設計方法論につい
て説明したが、これより、PLD内に論理アナライザー
を埋め込むための技法について論じる。 埋め込み論理アナライザー 図3および図4のフローチャートは、PLD内に論理ア
ナライザーを埋め込んで所望の信号を捕捉すると共にコ
ンピュータ上でその結果を見るためにユーザが本発明を
利用し得る、1つの可能な技法を記述する。ステップ1
02では、ユーザはデバイス用の設計を発生すると共
に、その設計を出力ファイルにコンパイルする。多種多
様なEDAツールを用いて、PLD用の設計を発生およ
びコンパイルし得る。一例として、米国特許出願番号第
60/029,277号に開示された技法を使用し得
る。
【0052】ステップ104では、コンパイルされた出
力ファイルを用いてデバイスをプログラムし、そのデバ
イスを、プリント回路基板上または適切な電子システム
内等の動作条件のもとに置く。このステップで、ユーザ
は、デバイスに伴う誤動作に気づき得る。その場合は、
ステップ106でEDAツールのハードウエア・デバッ
ギング機構をイネーブルする。このイネーブルによっ
て、EDAツールはネットリストの増大を実行すること
ができる。すなわち、様々な設計ファイル内のユーザ設
計が、本発明の一実施形態による論理アナライザーによ
って増大される。これは図5に更に詳細に記述されてい
る。また、このデバッギング機構によって、組み合わさ
れたネットリストをデバイス上で処理すると共にプログ
ラムすることができる。
【0053】次に、ユーザは、当該ユーザが選択するい
ずれかの方法でデバイスをデバッグするために、論理ア
ナライザーをプログラムすることができる。論理アナラ
イザー回路の一例を図9に示す。論理アナライザーの設
計はすでにEDAツール内に存在し得るか、またはいか
なる時点でも発生させ得る。ステップ108では、監視
されるデバイスの対象の信号を特定する。これらは、誤
動作の原因を突き止めるためにユーザが見ることを望む
信号である。これらの信号は、デバイスのピン上に存在
する信号、またはいずれかの内部信号もしくはデバイス
内のいずれかの場所であり得る。多くの場合、ステップ
104で観察された誤動作の性質によって、問題に関す
る更なる情報を提供すると思われる手がかりとなる示唆
的な信号が与えられる。例えば、誤動作が特定のピンに
おけるデータ出力に関連する場合、監視対象の信号は当
該ピンよりも上流の論理によって供給され得る。
【0054】監視対象のこれらの信号は、多種多様な方
法で特定し得る。一例として、各信号の階層経路名を特
定しても良く、またはグラフィカル・ユーザ・インタフ
ェースを用いて、特定の設計ファイルを見ると共に当該
ファイル内部から監視対象の信号または場所を選択して
も良い。1つの代替的な実施形態では、ユーザは、デバ
イスのどのピンをユーザのコンピュータへのインタフェ
ースとして用いるかも特定し得る。すなわち、PLD内
の埋め込み論理アナライザーに制御情報を送出するた
め、および、論理アナライザーからユーザのコンピュー
タに捕捉した情報をアップロードするために用いるピン
である。しかしながら、好ましくは、インタフェースと
して用いるピンは、デバイスのJTAGポートのような
既知のものである。
【0055】ステップ110では、捕捉対象のサンプル
全数を特定する。すなわち、サンプル・メモリの深さが
特定され、これは一方で論理アナライザーによって何個
のクロック・パルスのデータが取得されるかを示す。捕
捉対象のサンプル全数は、特定されたブレークポイント
の前であれ後であれ、捕捉される全サンプルを含む。す
なわち、特定された数は捕捉対象のデータ・ウィンドウ
の幅を示す。ウィンドウは、ブレークポイントを包含し
ても良く、またブレークポイントの完全に前にあっても
良く、ブレークポイントの完全に後にあっても良い。
【0056】本発明の一実施形態では、埋め込みメモリ
・ブロック(Altera Corporationか
ら入手可能なFLEX10Kデバイス・ファミリのいず
れか等)を含むPLDが、本発明を履行するためにうま
く機能する。埋め込みメモリ・ブロックは、捕捉した情
報の格納のために、(論理アナライザー回路の一部とし
て)比較的大きなバッファを提供するように容易にプロ
グラムされる。しかしながら、埋め込みメモリ・デバイ
スは、捕捉した情報のバッファリングのためには必要で
はない。埋め込みメモリを有しないデバイスを本発明と
共に用い得るが、それらは比較的大きなバッファの生成
を容易に行うことはできない。埋め込みメモリを有しな
いデバイスでは、バッファは、各セルから利用可能なメ
モリを用いて、多数のセルにわたって履行し得る。
【0057】ステップ112では、論理アナライザーが
用いるためにシステム・クロック信号を特定する。デバ
イス内で利用可能な様々な信号のいずれもシステム・ク
ロック信号として特定し得る。典型的に、監視している
信号に関連するデバイス・クロック信号がシステム・ク
ロック信号として選択される。また、信号を一層高い頻
度でサンプルするために、多数のデバイス・クロック信
号を選択することもできる。
【0058】ステップ114では、ブレークポイントを
特定する。ブレークポイントは、監視する信号をいかな
る数でも含み、また、論理アナライザーをトリガするた
めにそれらの信号が有しなければならない論理レベルも
含み得る。すなわち、ブレークポイントはデバイスの特
定の状態を示す。ブレークポイントは、状態が変化する
1つの信号と同程度に単純なものとしても良く、また
は、論理アナライザーをトリガする前に発生する複雑な
信号パターンもしくはパターン・シーケンスとしても良
い。また、ブレークポイントは、あらゆる場合に特定す
る必要はない。特定されない場合、論理アナライザー
は、実行時に即座にデータ捕捉を開始する。好都合なこ
とに、ブレークポイントは、EDAツールの使用によっ
てユーザがいかなる時点でも変更することができ、新た
なブレークポイントは、デバイスの設計ファイルの全て
を再コンパイルする必要なく、デバイス内の埋め込み論
理アナライザーにダウンロード可能である。システム内
のデバイスについてブレークポイントが素早く変更可能
であることによって、デバッギングが格段に効率的にな
る。好都合なことに、本発明は、ブレークポイントの後
だけでなくブレークポイントが発生する前にもデータを
取得可能である。
【0059】ステップ115では、ユーザは、ブレーク
ポイントの前の捕捉対象のデータ・サンプル数を特定す
る。好都合なことに、ユーザは、ブレークポイントが発
生する前の捕捉対象のサンプルをいかなる数でも特定し
得るので、これらのブレークポイント前の信号を後に分
析して、故障、誤差、またはその他の状況の原因を判定
するのに役立てることができる。図9ないし11におい
て以下に説明するように、埋め込み論理アナライザーの
履行によってサンプルの連続的な格納が可能となり、ブ
レークポイント前の必要サンプルをいかなる数でもユー
ザに提供する。あるいは、ユーザは、ブレークポイント
後の必要サンプル数を特定しても良い。捕捉対象のサン
プル全数はステップ110で特定されているので、後の
必要サンプルに基づいて前の必要サンプルを計算するこ
とは簡単であり、逆もまた同様である。また、ユーザ
は、ブレークポイント前の必要サンプルおよびブレーク
ポイント後の必要サンプルも特定し得る。次いで、捕捉
対象の全サンプルを自動的に計算することができる。
【0060】ステップ110において捕捉対象のサンプ
ル数、およびステップ115においてブレークポイント
前の必要なサンプル数を特定可能なことに加えて、これ
らの値は、ユーザの設計および論理アナライザーをコン
パイルした後でも特定し得る。すなわち、ステップ11
0および115は設計のコンパイル前にある値を特定す
るが、これらの値は、一旦PLDがプログラムされた
後、または論理アナライザーが実行中の時でも、論理ア
ナライザーに入力することもできる。例えば、図9のレ
ジスタ310は、値Delay[6:0]によって任意
に設定して、ブレークポイントが発生した後の捕捉対象
のサンプル数を示し得る。捕捉対象のサンプル全数は、
サンプル・メモリ324におけるワード数と等しい。コ
ンパイルの前に特定された他の値も、同様の方法で、例
えばトリガ・レジスタ304で、コンパイルの後に特定
可能である。
【0061】一旦、ユーザが埋め込み論理アナライザー
をどのように機能させたいかを特定すると、完成設計が
コンパイルされる。ステップ116では、ユーザは、す
でに特定されている論理アナライザー設計と共にユーザ
のデバイス設計をコンパイルするために、コンパイル・
コマンドを発行する。本発明の好適な実施形態では、こ
のプロセスの間、設計ファイルは修正されない。論理ア
ナライザーの設計は、生成される出力ファイル内に組み
込まれる。一特定実施形態では、図5に示されたプロセ
スを用いてステップ116を履行し得る。むろん、他の
同様の技法も使用し得る。
【0062】このステップの結果として生じるのは、埋
め込み論理アナライザーと共にユーザの設計を含む新た
な出力ファイルである。図5を参照して、EDAツール
がカスタム論理アナライザーを設計内に挿入し得る技法
を、以下で更に詳細に論じる。一旦、新たな出力ファイ
ルを発生すると、ステップ118では、その新たな出力
ファイルを用いて、そのシステム内のデバイスを再プロ
グラムする。
【0063】ステップ120では、ユーザは、デバイス
からユーザのコンピュータにデバッギング・インタフェ
ース・ケーブルを接続する。インタフェース・ケーブル
は、デバイスをプログラムするために用いたものと同一
のケーブルであっても良く、またはデバッギング専用の
ケーブルであっても良い。本発明の一実施形態では、デ
バッギング・ケーブルは、ステップ108で論理アナラ
イザー回路に専用としてユーザが特定したピンに接続す
る。すなわち、デバッギング・ケーブルを接続するピン
をユーザがすでに特定している場合、ケーブルはそれら
のピンに接続するものとする。代替的な実施形態では、
ユーザが「デバッギング・ピン」を特定する必要はな
く、システムがそれらを自動的に特定する。他の実施形
態では、専用のデバイスJTAGポートを用い得る。
【0064】ケーブルはこれらのピンに直接取り付けて
も良く、または、これらのピンからの信号を、デバッギ
ング・ケーブルを容易に取り付け得る基板上の容易にア
クセス可能な位置またはポートにルート指定しても良
い。このケーブルを用いて、コンピュータから埋め込み
論理アナライザーに命令を送信し、また、論理アナライ
ザーからコンピュータに捕捉した情報をアップロードす
る。以下で論じるように、図6は、電子システム内にユ
ーザの設計および埋め込み論理アナライザーの双方を含
むPLDを示す。ケーブル28は、電子システムを外部
のコンピュータに接続して示されている。
【0065】ステップ122では、ユーザはEDAツー
ルを介して、適切なコマンドによって実行を開始するよ
う埋め込み論理アナライザーに要求する。一旦論理アナ
ライザーが実行を開始すると、ステップ124で、監視
対象に特定されている信号からのデータを連続的に捕捉
し始める。好ましくは、ユーザは次いで、ユーザが分析
を望む以前の誤動作を複製するようにシステムを操作す
る。捕捉されたデータはPLDのメモリ内に格納され、
好ましくは埋め込み論理アナライザー自体の内部の専用
メモリ内に格納される。ステップ126は、ブレークポ
イントが発生したか否かを判定する。すなわち、論理ア
ナライザーは、監視対象に特定された信号の状態が、ユ
ーザが特定したブレークポイントに等価であるか否かを
判定する。等価でない場合、論理アナライザーはデータ
の捕捉を続ける。等価の場合、ステップ128は、ブレ
ークポイント後に更にサンプルを捕捉および格納すべき
か否かを判定する。ステップ128は、所望のサンプル
全数を、ブレークポイント前にすでに格納されているサ
ンプル数と比較することによって履行し得る。更にサン
プルを格納する場合、ステップ130において、論理ア
ナライザーはブレークポイント後の所望のサンプル数を
格納し続ける。
【0066】一旦ユーザの所望のサンプル全数を捕捉お
よび格納したなら、ステップ132では、論理アナライ
ザーのサンプル・メモリからユーザのコンピュータに格
納したデータをダンプする。好ましくは、論理アナライ
ザーはこの格納した情報をインタフェース・ケーブル上
をユーザのコンピュータにアップロードする。ステップ
134では、ユーザは論理アナライザーから受信したこ
れらの信号をグラフィックで見ることができる。一実施
形態では、信号は、信号の名称を注釈として付けた波形
図で提示される。したがって、コンピュータ上でこれら
の対象の信号を見ることによって、ユーザは、外部論理
アナライザーをこれらの信号に接続可能である場合とほ
ぼ同様に、ハードウエア・デバイスを有効デバッグする
ことができる。
【0067】図5は、論理アナライザーをユーザの設計
内に自動的に挿入し、またユーザの設計と共に自動的に
コンパイルし得る技法を記述するフローチャート200
である。図5の技法は、(PLDコンパイルのコンテキ
ストにおいて)図4のステップ116を履行し得る適切
な技法である。様々なコンパイル技法が、PLD設計は
もとより、他の種類の集積回路のためにも、様々EDA
ツールによって用いられ得ることは認められよう。図5
の実施形態は、かかるコンパイル技法の1つによって本
発明をどのように用い得るかを図示するが、本発明は、
多種多様なコンパイル技法のいずれにも適用可能である
と考えられる。
【0068】ステップ202では、EDAツールは、P
LD等のデバイスのための電子設計を記述するのに必要
なユーザ設計ファイルを受け取る。これらの設計ファイ
ルは多くの場合、設計用の設計エレメントを特定し得
る。多くの設計環境では、設計エレメントは、ルート・
エンティティからリーフ・エンティティまでの階層状に
配置されている。かかる場合、設計が、その設計全体に
わたって多数の位置で特定のレジスタを用いるならば、
この設計の履行を含むファイルは1つのみであるが、完
成設計は当該1つのファイルを多数の位置で参照し得
る。かかる電子設計ファイルの例は、図1および図2を
参照して上述した。
【0069】ステップ204は、これらのユーザ設計フ
ァイルを取得し、ユーザ設計の平坦化ネットリスト表現
を発生する。すなわち、設計ファイルが階層を含むな
ら、設計において参照された各エンティティが、使用さ
れるのと同じ回数だけ複製されるように、この階層は
「平坦化」される。上記の例を用いると、設計の階層に
おいて特定レジスタが2度用いられるが、このレジスタ
を記述するために1つのみのファイルしか存在しない場
合、このステップは、レジスタのためにかかるファイル
を2つ生成することによって設計を平坦化する。このス
テップにおけるユーザ設計の表現は、当業者によって認
められる合成技術マップ・データベースであると好まし
い。コンパイル・プロセスのこの時点では、ユーザ設計
の合成ネットリストが平坦化状態で生成されている。通
常、エラボレーションを行った後のかかるネットリスト
の発生は、コンパイル・プロセス中で「合成」ステップ
と呼ばれる。
【0070】ステップ206では、論理アナライザー回
路のゲート・レベルの表現を生成する。論理アナライザ
ー回路は、多種多様の形態を取り得る。一例として図9
の論理アナライザー回路260を用い得るが、論理アナ
ライザー回路は、図9に示された回路の機能性を実行し
ながら、多くの方法で履行され得ることは認められよ
う。本発明の好適な実施形態では、論理アナライザー
は、ゲート・レベルの表現を自動的に生成し得るように
EDAツールに含まれている。あるいは、ユーザがカス
タム回路を特定することが可能であり得る。このゲート
・レベルの表現は、ステップ108でユーザが特定した
監視信号の数および名称、ステップ110で特定された
捕捉対象のサンプル数、ステップ115で特定されたブ
レークポイント前の必要サンプル数、および、ステップ
114で特定されたようなブレークポイントと共に、回
路の各論理エレメントを考慮に入れる。当業者は、特定
の回路のゲート・レベルの表現を生成するプロセスを認
めよう。
【0071】特定の論理アナライザー回路の実際のゲー
ト・レベルの表現は、論理アナライザーが埋め込まれる
特定のデバイスに依存する。一例として、論理アナライ
ザーを埋め込むハードウエア・デバイスは、アルテラ社
(Altera Corporation)から入手可
能なあらゆるPLDデバイスを含み得る。特に、FLE
X 10K、FLEX 8000、MAX 9000、
またはMAX 7000デバイスのいずれも充分に機能
する。これらの特定デバイスの各々は、論理アナライザ
ーのゲート・レベルの表現をどのように生成するかに影
響を及ぼす、異なる機構を有し得る。例えば、比較的大
きい埋め込みメモリ・セクションを有するFLEX 1
0Kデバイスでは、この埋め込みメモリが、論理アナラ
イザー用の大きいFIFO(先入れ先出し)メモリを履
行するのに特に良く適している。埋め込みメモリを有し
ないFLEX8000等のデバイスでは、論理セルのメ
モリ・エレメント(SRAMフリップ・フロップ等)を
論理アナライザーのメモリ用に使用し得るが、単一セル
内のメモリがバッファを供給するのに充分な大きさでな
い場合は、FIFOバッファは多数のセル上に分割され
なければならない場合がある。同様に、EEPROM技
術に基づくデバイスは、論理アナライザーのバッファ用
にその論理セルの1つ以上を用い得る。大きい埋め込み
メモリを有するデバイスは、信号の格納のための容量が
大きいので、本発明と特にうまく機能する。このよう
に、ステップ206は、ユーザの設計に接続される論理
アナライザー回路のための表現を生成する。
【0072】ステップ208では、ステップ206によ
る論理アナライザー回路のゲート・レベル表現を、ステ
ップ204のユーザ設計の平坦化表現に接続する。この
ステップは、論理アナライザーの入力(ブレークポイン
ト信号、システム・クロック、監視する信号)から、ユ
ーザ設計中で特定される実際の信号を供給するラインま
での論理接続を形成する。それらの信号はすでにステッ
プ108ないし115において特定されているので、E
DAツールは、電子設計のそのデータベース表現内で特
定の信号ラインを見出すことができると共に、論理アナ
ライザーの入力に適切な接続を形成することができる。
【0073】加えて、このステップは、論理アナライザ
ーからユーザのコンピュータへのインタフェースまで適
切な接続を形成する。以下で論じる図7の実施形態で
は、このインタフェースは、JTAGポート272にリ
ンクされた試験データ・レジスタ274を含む。したが
って、ユーザのコンピュータに対するインタフェースを
与える論理アナライザーへの入力および論理アナライザ
ーからの出力は、適切な試験レジスタに接続される。例
えば、図8および9に示されるように、(ユーザのコン
ピュータから論理アナライザーへの)入力信号Trig
ger Signals、Trigger Regis
ter、Set Delay、Delay[6:0]、
NextReq、StopReq、RunReq、およ
びClearが、適切な試験レジスタに接続される。
(論理アナライザーからユーザのコンピュータへの)出
力信号DataOut[15:0]、NumSampl
es[7:0]、TriggeredおよびRunも、
適切な試験レジスタに接続される。試験レジスタは、好
ましくはプログラマブル論理から構成され、当業者に良
く知られたものである。
【0074】むろん、論理アナライザー回路の別の実施
形態では、異なる信号および/または、より多いかもし
くは少ない数のインタフェース信号を用い得る。本発明
の好適な実施形態では、論理アナライザーへのインタフ
ェース信号および論理アナライザーからのインタフェー
ス信号は、この目的のために予約されたPLD上の専用
ピンに接続されている。したがって、ユーザは、どのピ
ンにデバッギング・ケーブルが取り付けられなければな
らないかを知っている。注記したように、これらのピン
は埋め込み論理アナライザーを制御するだけでなく、論
理アナライザーからのデータを受信する。他の実施形態
では、これらの専用ピンは、ケーブルの容易な取り付け
のために回路基板の別の部分にルート指定し得る。この
ように、ステップ206で生成された論理アナライザー
回路用の論理は、ユーザのコンピュータとの通信のため
に、ユーザ設計およびPLDのインタフェース・ピンの
双方に接続される。
【0075】ステップ210において、ステップ208
で生成された完成設計を、当業者によって認められる方
法で配置およびルート指定する。次いで、配置およびル
ート指定ステップの出力をステップ212に入力し、こ
こで出力ファイルをアセンブルする。次いで、PLDを
プログラムするために、この出力ファイルをPLDにダ
ウンロードする。一旦このファイルによってPLDをプ
ログラムすると、ユーザは、デバイスをデバッグするた
めに埋め込み論理アナライザーの使用を開始し得る。
【0076】図6は、図1のプログラマブル論理開発シ
ステム10の別の図であり、電子システム内に埋め込み
論理アナライザーを有するプログラマブル論理デバイス
を示す。システム10は、ケーブル28または他の接続
装置を介してコンピュータ・システムA18に接続され
た電子システム252を示す。電子システム252は、
電子システムのコンポーネントであるPLD16を含
む。PLD16は、潜在的に、電子システムを形成する
他のコンポーネントおよびエレメントと、1つ以上の電
子接続254を共有する。PLD16は、ユーザ論理設
計256および埋め込み論理アナライザー260によっ
て構成されている。ユーザ論理256は、図2に記述し
た方法論または他のいずれかの適切な設計方法論にした
がった設計によって構成されている。埋め込み論理アナ
ライザー260は、図3および4に記述した本発明の一
実施形態にしたがってPLD16内に内蔵されている。
【0077】論理接続262は、ユーザ論理256から
の信号を論理アナライザー260に送信可能とする。こ
れらの信号は、システム・クロック、トリガ信号、監視
する信号等を含み得る。PLD16のピンを用いて、論
理アナライザーからのインタフェース信号264を、電
子システム252内の対応する接続266に接続する。
これらのインタフェース信号を、ケーブル28を用いて
コンピュータ18に接続する。あるいは、コンピュータ
18は、PLD16に直接接続して、インタフェース信
号264をPLDに送信しても良い。このように、コン
ピュータ18は、電子システム252の機能動作に対し
て割込みまたは影響を与えることなく、コマンドおよび
その他の情報を埋め込み論理アナライザー260に送信
すると共に、論理アナライザーからの情報を受信する。
したがって、PLD16は、ユーザ論理256および埋
め込み論理アナライザー260の双方の機能を実行する
ように構成されている。
【0078】当業者は、論理アナライザー260と外部
のコンピュータ・システムとの間の実際のインタフェー
スが様々な形態を取り得ることを認めよう。ここで説明
する埋め込み論理アナライザーは、PLD上のいずれか
の適切なインタフェースを用いて、外部のコンピュータ
によって制御され得る。更に、論理アナライザー260
を制御すると共に論理アナライザー260からデータを
受信するために用いられるPLD16上の正確な数のピ
ンは、プログラム対象のデバイス、全体的な基板の設計
等に応じて変化し得る。更に、用いられるピンは、柔軟
に割当てを行っても良く、または専用インタフェース・
ピンを用いても良いことは認められよう。例えば、論理
アナライザー260とPLD16の外部ピンとの間のイ
ンタフェースを与えるインタフェース信号264は、先
に引用した米国特許出願番号第08/958,435号
に記載されているように履行し得る。埋め込み論理アナ
ライザーを制御するため、および出力データを受信する
ために、他の技法も用い得る。
【0079】図7は、論理アナライザーが埋め込まれた
デバイスのJTAGポートを用いて論理アナライザーを
制御する好適な実施形態を示すPLD16の別の図を示
す。明確化のため、PLD16内にユーザ論理256は
図示されていない。この好適な実施形態では、制御論理
274および信号275と関連付けてJTAGポート2
72を用いて、インタフェース信号264を履行する。
JTAG(JointTest Action Gro
up)ポート272は、IEEE1149.1規格のも
とで履行され、当業者には公知である。制御論理274
は、図8において以下に説明する特定の信号のために、
論理アナライザー260とJTAGポート272との間
にバッファを与える。更に具体的には、制御論理274
は、論理アナライザー260に制御信号を供給すると共
に、論理アナライザーからデータおよびステータスを検
索するのを支援する。
【0080】この実施形態では、JTAGポート272
は、信号TCLK、TMS、TDIおよびTDOを含
む。信号TCLKは、JTAGポート272のシリアル
・データ・インおよびアウトのレートを制御するクロッ
ク信号である。信号TMSは、JTAGポートの16の
状態のいずれかを選択するモード選択信号である。信号
TDIおよびTDOは、それぞれ、シリアル・データ・
インおよびシリアル・データ・アウトである。
【0081】通常、PLDをプログラムするか、または
PLDが配置されている回路基板の試験を支援するため
にJTAGポートが用いられる。好都合なことに、特定
のPLDの設計およびデバッギングの間、JTAGポー
トは従来より未使用であることがわかっている。このた
め、PLDのデバッギングの間、本発明の埋め込み論理
アナライザーとの通信および論理アナライザーの制御を
行う手段として、PLD上のJTAGポートが利用され
ており、また使用し得ることもわかっている。好都合な
ことに、標準的なJTAGポートが、埋め込み論理アナ
ライザーを含むプログラマブル論理デバイスのデバッギ
ングを容易にするために用いられる。制御論理274を
履行してJTAGポートによる埋め込み論理アナライザ
ーの制御を容易にするための2つの特定の実施形態を、
以下で図12ないし14および15ないし19において
それぞれ説明する。
【0082】図8は、本発明の一実施形態による埋め込
み論理アナライザー260の入力および出力信号を図示
する。信号DataIn280は、ステップ108でユ
ーザが特定する信号であり、PLDのデバッギングの目
的のために監視対象となる。信号SetDelay28
1は、ブレークポイント後に捕捉されるサンプル数を示
す信号Delay282の値によってレジスタ310を
ロードさせる制御ラインである。信号Delay282
は、ブレークポイント後に捕捉されるサンプル数を示
し、ユーザが特定した後にコンピュータ・システム18
から受信される。信号Breakpoint283は、
いつブレークポイントが発生したかを論理アナライザー
に示す。この信号は、論理アナライザー内でトリガ比較
器306から発生されるか、またはユーザが設計した論
理内で発生され得る。
【0083】信号NextReq284は、コンピュー
タ・システム18から受信され、格納されたサンプル・
データを一度に1つのサンプルずつ検索可能とし、次の
サンプルをコンピュータ・システム18にアップロード
すべきことを示す。信号StopReq285は、コン
ピュータ・システム18から受信され、論理アナライザ
ーに停止状態に入ることおよび信号サンプルの捕捉を停
止することを指示する。信号RunReq286は、コ
ンピュータ・システム18から受信され、論理アナライ
ザーに実行およびサンプル・データの捕捉の開始を指示
する。信号DoneDump287は、論理アナライザ
ーにメモリからコンピュータ・システムへのデータのダ
ンプを中断することおよび停止状態に入ることを指示す
る。この信号は論理アナライザー内から、またはユーザ
から受信し得る。信号Clock288は、ステップ1
12で特定されたシステム・クロック信号である。信号
Clear289は、制御状態機械302、サンプル・
メモリ324およびカウンタ314をクリアするリセッ
ト信号である。
【0084】信号DataOut290は、サンプル・
メモリ324からの出力信号であり、インタフェース2
64を介して論理アナライザー260からコンピュータ
・システム18に一度に1ワードずつ捕捉した信号を転
送する。信号NumSamples291は、論理アナ
ライザー260が捕捉した有効サンプル数を示す。論理
アナライザーが捕捉した有効サンプルの実際の数は、ユ
ーザが要求するサンプル全数よりも少ない場合があるの
で、この信号は、ユーザがメモリ内に格納された有効サ
ンプルがどれであるかを判定するのを支援する。例え
ば、ユーザが合計128個のサンプルの捕捉を望むが、
ブレークポイントの発生後はいかなるサンプルも格納し
たくない場合がある。64個のサンプルのみを捕捉した
後にブレークポイントが発生した場合、信号NumSa
mples291は64の値を有し、これによって、論
理アナライザーに格納されている64個のサンプルのみ
が有効サンプルであることが示される。64個を超えて
格納されるサンプルはいずれも有効サンプルではない。
それらは、より早期のデータ捕捉から存在していたかも
しれない。信号Triggered292は、ブレーク
ポイントが発生したことを示すユーザのための出力信号
である。信号Run293は、信号RunReq286
が受信されたこと、および論理アナライザーが実行中で
ありデータを捕捉していることをユーザに示す。
【0085】図9は、本発明の一実施形態による埋め込
み論理アナライザー260を図示する。PLD内に埋め
込まれる論理アナライザーは、PLDの種類、監視対象
の信号の種類および数、所望のデータの深さ、利用可能
なメモリ、ユーザのコンピュータからの制御信号、なら
びに設計エンジニアの優先度等に応じて、多種多様な方
法で履行し得る。一例として、論理アナライザー260
は、かかる論理アナライザーをどのように履行し得るか
の1つの特定の例である。埋め込み論理アナライザー
は、PLDの外部のコンピュータからユーザによって制
御されると共に、ユーザが望む様々な内部信号のいかな
るものでも捕捉するように動作する。本発明のこの実施
形態では、論理アナライザー260は、制御状態機械3
02、トリガ・レジスタ304、トリガ比較器306、
レジスタ308および310、カウンタ312ないし3
16、比較器320、322、およびサンプル・メモリ
324を含む。
【0086】一旦、論理アナライザー260がPLD内
にプログラムされると、PLD内で信号から様々な入力
を受信する。トリガ信号305はステップ114で特定
された信号であり、ユーザはこの信号を、やはりステッ
プ114で特定したトリガ・レジスタ304に格納され
たトリガ条件と比較することを望む。また、トリガ条件
を満足するトリガ信号305は、結果としてブレークポ
イントを生じる。トリガ比較器306は、信号305を
トリガ条件と比較し、適切な場合にブレークポイント信
号を発生する。
【0087】制御状態機械302は、埋め込み論理アナ
ライザーを制御するためのいずれかの適切な制御構造と
すれば良く、これは図10において更に詳細に説明され
ている。好ましくは、状態機械302は、様々な参照テ
ーブル、埋め込みメモリ・ブロック、ROMレジスタ等
のいずれかを用いて、プログラマブル論理内に履行され
る。入力信号DelayDoneは、比較器320から
受信され、ユーザが要求したサンプル全数が捕捉された
ことを示す。信号NextReq、StopReq、R
unReq、DoneDump、ClockおよびCl
earについては上述した。状態機械302に対する入
力信号Breakpointは、レジスタ308を介し
てトリガ比較器306から受信される。
【0088】レジスタ308は、非同期ブレークポイン
ト信号から状態機械302を遮蔽するのに用いられる同
期レジスタである。レジスタ308は、入力信号ブレー
クポイントがクロック・サイクル上で入力されることを
可能とする。
【0089】出力信号Stoppedは、状態機械30
2がその停止状態にあるときアクティブとなる。この信
号は、カウンタ312および316をリセットすると共
に、論理アナライザーが新たに実行を開始するよう準備
をさせる。また、レジスタ310からのデータをカウン
タ314にロードすることを許可する。出力信号Nex
tは、アクティブの場合カウンタ312をイネーブルし
て、サンプル・メモリ324内のアドレスを増分する。
論理アナライザーが実行中でデータを捕捉しており、か
つサンプル・メモリ324は進んでいるが、そのアドレ
スおよびダンプしているサンプル・データがコンピュー
タ・システム18に向かっている間に、アドレスが増分
される。出力信号Triggeredは、カウンタ31
4をイネーブルするために用いられる。信号Runは、
ゲート340において信号PrevDataFullと
組み合わされて、カウンタ316をイネーブルする。
【0090】レジスタ310は、ユーザが捕捉を望むブ
レークポイント後のサンプル数を格納するために、信号
Delayを受け取る。そのクロックは入力信号Set
Delayである。
【0091】カウンタ312は、データのサンプリング
および捕捉の間、サンプル・メモリ324のためにアド
レスを増分すると共に、データをコンピュータ・システ
ム18に読み出す間、アドレスを増分する。カウンタ3
14は、ユーザが所望する最後のサンプルが格納される
まで論理アナライザーがデータの捕捉を継続可能とする
ために、観察されたブレークポイントからの遅延を生成
するダウン・カウンタである。カウンタ314には、レ
ジスタ310から、ブレークポイント以降に格納すべき
サンプル数を示す信号Delayがロードされる。一旦
カウンタ314がカウント・ダウンを行ってゼロの値に
達すると、比較器320は結線されたゼロ値とうまく比
較を行い、信号DelayDoneをアサートする。信
号DelayDoneはアサートされると、制御状態機
械302に、実行状態からデータ・ダンプ状態に移動す
るよう命令する。
【0092】カウンタ316は、サンプル・メモリ32
4に格納されている有効サンプル数をカウントする。上
述のように、捕捉された有効サンプル数がユーザの所望
の最初に特定されたサンプル全数よりも少ない状況が起
こり得る。この例示の例では、サンプル・メモリ324
は128ワードの容量を有する。このため、カウンタ3
16が値128に達すると、比較器322は結線値12
8とうまく比較を行う。それによって、出力信号Pre
vDataFullがアサートされ、その逆がゲート3
40に入力される。アサートされた信号PrevDat
aFullの逆はカウンタ316をディゼーブルし、し
たがってサンプル・メモリ324に格納された有効サン
プル全数を示す。また、カウンタ316は、その時点に
捕捉されている有効サンプル全数を示す信号NumSa
mplesを連続的に出力する。
【0093】サンプル・メモリ324は、いずれかの適
切な方法で履行し得るPLD16内のメモリである。一
例としてメモリ324は、PLD内でレジスタの集合を
用いて、または埋め込みメモリ・ブロックを用いて履行
し得る。本発明の一特定実施形態では、埋め込みSRA
Mメモリを用いてメモリ324を履行する。むろんメモ
リ324は、余分な埋め込みメモリを含まない多くの種
類のPLDにおいても履行し得る。好ましくは、サンプ
ル・メモリ324は、論理アナライザーが実行中に入来
するサンプル・データが連続的にメモリ324に格納さ
れるように、リング・バッファとして履行する。メモリ
324が満杯になると、その最初まで回って戻り、最も
古いデータは新たに入来するデータによって上書きされ
る。例示の目的のために、サンプル・メモリ324は、
各々16ビットの128ワードのRAMメモリを用いて
履行して示されている。むろん、様々なサイズのメモリ
のいかなるものも用い得る。より多くのデータ信号を捕
捉するようにメモリの幅を増大させても良く、より多く
の信号の履歴を格納するようにメモリの深さを増大させ
ても良い。
【0094】図9は制御状態機械302のための状態図
である。図11は状態機械302の5つの状態の各々に
関連した出力信号の値を示す表である。状態機械302
はいずれかの適切な論理を用いて履行し得るものであ
り、必ずしも状態機械として履行する必要はないことは
当業者には認められよう。状態機械として履行される場
合、MooreまたはMealy状態機械等の様々な状
態機械を用い得る。これより図10および11の双方を
参照して説明するように、本発明の好適な実施形態で
は、状態機械302はMoore状態機械として履行さ
れる。
【0095】状態機械302は、状態Run402、D
elay404、Stop406、DataDump4
08、およびNext410を含む。Stop状態にあ
るとき、出力信号Stoppedがアサートされ、他の
出力信号Run、Triggered、およびNext
は「無関心」状況にある。入力信号RunReqがアサ
ートされてRun状態への遷移が起こるまで、Stop
状態が維持される。
【0096】Run状態にあるとき、出力信号Runお
よびNextがアサートされ、ブレークポイントが未だ
発生していないので出力信号Triggeredはゼロ
である。入力信号BreakpointおよびStop
Reqの双方がアサートされないままである間、Run
状態が維持される。StopReq信号が受信されると
状態機械はStop状態に入る。Breakpoint
信号が受信されると共に信号DelayDoneがアサ
ートされないままである(更に多くのサンプルが捕捉さ
れるべきことを示す)と、システムはDelay状態に
入る。一方、Breakpoint信号が受信されると
共に信号DelayDoneがアサートされると、これ
は、Breakpointが発生したことだけでなく、
Breakpoint後に発生する信号を捕捉する必要
がないことを示す。この状況では状態機械はDataD
ump状態に入る。
【0097】Delay状態にある間、信号Run、T
riggered、およびNextがアサートされる一
方で、出力信号Stoppedはアサートされない。D
elay状態は、トリガリング条件によってブレークポ
イントが設定された後に、なお論理アナライザーが実行
しておりデータを捕捉していることを示す。ブレークポ
イント後に必要なサンプルの全てが捕捉されるまで、状
態機械はこの状態にとどまる。したがって、信号Del
ayDoneがアサートされない間はDelay状態が
維持される。カウンタ314がカウント・ダウンを行
い、ブレークポイント後に必要なサンプルの全てが捕捉
されたことを示すとすぐに、信号DelayDoneが
アサートされた状態になると共に状態機械はDataD
ump状態に入る。
【0098】DataDump状態にある間、全ての出
力信号はアサートされない。この状態で、サンプル・メ
モリ324からコンピュータ・システム18にデータが
ダンプされる。信号DoneDumpがアサートされる
と、論理アナライザーはコンピュータ・システム18へ
のデータのアップロードを終了し、状態機械はData
Dump状態からStop状態に移動する。信号Nex
tReqおよびDoneDumpが双方ともアサートさ
れない間は、状態機械はDataDump状態にとどま
る。先に説明したように、コンピュータ・システム18
は、サンプル・メモリ324から一度に1ワードのアッ
プロードを要求することが可能である。この状況で、コ
ンピュータ・システム18は入力信号NextReqを
アサートし、状態機械をNext状態とする。
【0099】Next状態にある間、出力信号Next
を除いた全ての出力信号はアサートされない。論理アナ
ライザーがアサートされた信号NextReqを受信し
続ける限り、論理アナライザーは、一度に1ワードずつ
コンピュータ・システム18にアップロードする。信号
NextReqがアサートされていない状態になるとす
ぐに、状態機械は状態DataDumpに戻る。 JTAGポート制御の概説 図7を参照して上述したように、本発明の好適な実施形
態は、論理アナライザー260を制御するために、制御
論理274および信号275と共にJTAGポート27
2を用いる。論理アナライザーの制御にJTAGポート
を用いると、JTAGポートが多くの場合すでにPLD
上に存在しているという点で、有利であることがわかっ
ている。更に、JTAGポートを使用すると、専用デバ
ッギング制御ピンを余分に追加する必要性がなくなる。
更に、PLDの多くの製造業者は、PLDのJTAGポ
ートを介して接続および通信を行うための設備をすでに
有している。例えば、カリフォルニア州サンノゼのAl
tera Corporationは、「Byte B
laster」として公知の内部製品を、JTAGポー
トを介してPLDをプログラムするために用いる。これ
らの理由およびその他のために、埋め込み論理アナライ
ザーを制御するためにJTAGポートを用いることは有
利であることがわかっている。にもかかわらず、JTA
Gポートを用いてかかる制御をどのように履行するか
は、様々な理由から、直観的に明らかなものではなかっ
た。
【0100】背景として、これよりJTAGポートの使
用について一層の詳細を述べる。JTAG試験デバイス
は、基本的にデバイスのパッド・リングの制御を引き受
けることによって、JTAGポートを有するハードウエ
ア・デバイスの試験を行う。すなわち、JTAGテスタ
は、外部世界からデバイスのコアを有効に分離して、各
ピンのドライバの制御を引き受ける。次いでJTAGテ
スタは、デバイスのJTAGポートを用いて、駆動、検
知、またはトライステートの3つの状態のうち1つに各
ピンを置くことができる。JTAG試験デバイスは、基
板上のデバイス間の物理的接続の完全基板試験を行うた
めに、主にEXTESTモードで用いられる。JTAG
テスタはこのモードで、1つのデバイス上のピンを駆動
して信号を出力すると共に、基板上の別のデバイス上の
入力を検知することによって、基板上にありながらデバ
イス間の物理的接続の試験を行うことができる。それ自
体、EXTESTモードは埋め込み論理アナライザーを
制御するためには適切でないであろう。INTESTモ
ードは使用頻度がより低く、デバイスを内部で試験する
ために用いられる。上述のように、JTAG試験デバイ
スは各ピンのドライバの制御を行うと共にコアを分離す
る。次いで、試験信号をコア内に駆動し得ると共に、出
力信号をサンプルしてそれらの精度を判定し得る。
【0101】しかしながら、INTESTモードは外部
世界からデバイスのコアを切断するので、PLDは、回
路基板上の実世界環境で検査されているのではない。す
でに説明したように、確認しにくい誤動作を突き止める
ためには、動作回路基板の実世界環境内でPLDを試験
することが必要な場合が多い。更に、JTAGポートは
10MHzシリアル・ポートに過ぎないので、実世界環
境で発生し得る高速のデータ量を提供することはできな
い。このため、実際の高速動作状況が望ましいであろ
う。加えて、JTAG試験の間にエンジニアが与える人
工的な試験ベクトルは、真の動作環境でPLDが受信す
る実世界の信号を表すことができない場合がある。これ
らの理由およびその他のために、JTAGポートのIN
TESTモードを用いてPLDの埋め込み論理アナライ
ザーの制御を試みることは、特に望ましいものではあり
得ない。それにもかかわらず、何らかの方法でJTAG
ポートを用いて埋め込み論理デバイスを制御することが
望ましいことがわかっている。好都合なことに、本発明
は、JTAGポート272がPLD16の埋め込み論理
アナライザー260を制御する2つの実施形態を考えて
いる。好都合なことに、JTAGポートを用いて埋め込
み論理アナライザーを制御する一方で、論理アナライザ
ーが埋め込まれたPLDは実世界環境において回路基板
上で動作可能である。図12ないし14および図15な
いし18に、これらの2つの実施形態をそれぞれ示す。 第1のJTAG制御の実施形態 図12は、JTAGポート272が非結合I/Oセル群
504および506を用いてPLD16の埋め込み論理
アナライザー260を制御する第1の実施形態を図示す
る。論理アナライザー260はPLD16のコア502
に埋め込まれると共に、システム・クロック288を有
する。セル504は論理アナライザーに信号514を送
出し、セル506は論理アナライザーから信号516を
受信する。信号275は、JTAGポート272から、
I/Oセル504および506に対する信号ならびにI
/Oセル504および506からの信号を表す。これに
含まれるのは、第1入力セル504のシリアル・データ
・イン(SDI)に接続する信号TDI、最後の出力セ
ル506のシリアル・データ・アウト(SDO)に接続
するTDO、および必要に応じて各セルに供給されるS
hift680、Clock682、Update68
4、およびMode686等の制御信号である。この実
施形態では、JTAGイネーブルI/Oセル504を用
いて、入力信号514を介して論理アナライザー260
を制御する。論理アナライザー260からの出力データ
およびステータス情報信号516は、JTAGイネーブ
ルI/Oセル506に接続されている。
【0102】この実施形態を履行するために、PLDの
ネットリストを増大して、論理アナライザー260に対
する各入力および論理アナライザー260からの各出力
を、非結合の、またはその他の場合には未使用のI/O
セル504または506にそれぞれルート指定する。各
I/Oセル毎に特別の「デバッグRAMビット」が設定
されており、これを用いて論理アナライザーに制御信号
を供給する。このビットによって、デバイスがINTE
STモードに置かれていない場合でも、JTAGポート
を用いて制御信号を駆動することができる。論理アナラ
イザー260に送出する制御信号を発生するために、公
知のJTAGSample/Preload命令をスキ
ャンインし、制御情報をスキャンインし、次いで、JT
AGポート272のUpdate/DataRecov
ery状態を入力する。更なる詳細を以下に提供する。
この実施形態の利点をより良く示すために、公知のJT
AGINTESTモードについて簡潔に説明する。
【0103】図13は、この実施形態を論じるために有
用な背景を与える従来技術のJTAGイネーブルI/O
セル600を図示する。セル600は外部PLDピン6
02に接続する。ピン602を介してPLD16のコア
502に対し入力信号604が与えられる。同様に、コ
ア502内で信号出力606および出力イネーブル60
8が発し、これらを用いてピン602に対し出力信号を
生成する。マルチプレクサ610、612および614
は、捕捉レジスタ620、622および624内にそれ
ぞれロードされるデータを選択する。捕捉レジスタは、
デバイスのI/Oセルを介してJTAGポート272か
ら最初にデータをスキャンインするために用いられる。
更新レジスタ630、632および634は、捕捉レジ
スタからデータを受信すると共に、デバイスのコアに並
列ロードを行うために用いられる。マルチプレクサ64
0、642および644は、ピン602の入力、出力イ
ネーブル608、および出力606のそれぞれから、ま
たは更新レジスタのうち1つからデータを選択して、適
切な信号を生成する。マルチプレクサ640は入力信号
604を生成し、マルチプレクサ642はドライバ65
0のためのトライステート信号を生成し、マルチプレク
サ644はイネーブルされるとピン602に出力を生成
するドライバ650のためのデータ信号を供給する。
【0104】JTAGイネーブル・セル600の動作
は、当業者には認められよう。シリアル・データ・イン
672は、前段のI/Oセルから(または、これが第1
のセルである場合はJTAGポート272のTDI信号
から)受信される信号であり、シリアル・データ・アウ
ト674は、次段のI/Oセルのシリアル・データ・イ
ン信号に対して(または、これが最後のI/Oセルであ
る場合はJTAGポート272の信号TDOに対して)
接続されている。制御信号Shift680、Cloc
k682、Update684、およびMode686
は、制御ライン275を介してJTAGポート272か
ら各セル毎に受信される。Shift680は、セル6
00を介してシリアル・データ・イン信号672をシフ
トするように動作する。Clock682は、シリアル
・データを捕捉するため捕捉レジスタをクロックし、u
pdate684は、並列ロードをイネーブルするため
更新レジスタをクロックする。Mode686は、セル
600を、通常モード(mode=0)またはINTE
STもしくはEXTESTモード(mode=1)のい
ずれかにすることを可能とする。典型的なJTAG動作
では、mode686がデバイスをINTESTまたは
EXTESTモードに置く場合、信号出力606、出力
イネーブル608、および入力604は、ピン602か
ら有効に遮断され、したがって、デバイスのコア502
は外部世界から分離される。先に述べたように、実世界
環境でデバイスを試験することが望ましい場合、デバイ
スを完全にINTESTモードに置くことは望ましくな
い。例えば、mode686がデバイスをINTEST
モード内に置く場合、デバイスの全てのピンはそのコア
から分離され、デバイスの通常動作が妨げられるであろ
う。
【0105】標準的なJTAGINTESTモードで
は、JTAGポート272は最初にシリアル・シフト・
モードに入り、このモードでは、適切なデータが適切な
入力セルに現れるまで、ラインTDI上で受信されるシ
リアル・データはデバイスの全I/Oセルを介してシフ
トされる。次いでJTAGポート272は並列ロード・
モードに入り、このモードでは、I/Oセルに最近シフ
トされた全データが次いでコア502内に並列にロード
されて、特定の試験による必要に応じて入力信号を供給
する。これと同時に、またはこれに続いて、JTAGポ
ート272は、試験からの出力を受信する様々なI/O
セルのための並列検知モードとなり得る。一旦この試験
データが受信されると、JTAGポート272は再びシ
リアル・シフト・モードに入り、データはI/Oセルか
らシリアルにシフトして、JTAGポート272からラ
インTDO上を出力される。このように、JTAGポー
ト272のINTESTモードは、JTAGイネーブル
I/Oセルを用いて、人工的な試験データをコア502
に与えると共にその試験による出力を受信する。
【0106】しかしながら、上述のように、INTES
TモードがPLD16のピン全てをコア502から切断
するという点で、真のINTESTモードを用いること
が不利である可能性がある。このため、PLD16は実
世界環境で動作しておらず、このモードで論理アナライ
ザーを用いることは真の試験結果を与えることができな
い可能性がある。好都合なことに、本発明は非結合I/
Oセル504を利用しており、これらのセルがINTE
STモードにあると考えるように錯覚させて、JTAG
ポート272による論理アナライザー260の制御を可
能とする。
【0107】多くのPLDが、PLDのピンに非結合で
あるがコア502に電気的に接続されている余分なI/
Oセル504および506を有し得ることがわかってい
る。好都合なことに、これらの非結合I/Oセル504
および506は、論理アナライザー260に対して制御
およびデータ情報を供給するためだけでなく、それらの
セルを用いて論理アナライザーからステータスおよび出
力情報を受信し得るようにも使用可能であることが、本
発明で実現される。更に、この実施形態は真のINTE
STモードを使用しない。したがって、PLD16は実
世界環境で動作し得ると共に、論理アナライザー260
は実際の試験データを捕捉し得る。非結合I/Oセル5
04を介してライン514上で制御および入力情報を供
給するために、これらのセルは、セルからコア502に
内部で論理アナライザー制御信号を駆動するように、実
際にINTESTモードにあるように考えるように錯覚
を起こす。次いで、これらの内部で駆動された信号を用
いて、論理アナライザー260のために制御および入力
データを供給し得る。好都合なことに、この制御方法を
履行するために、余分な論理は必要でない。
【0108】この技法を用いて、INTESTモードに
あると考えるように錯覚しているI/Oセル504だけ
を内部で駆動する。このようにして、PLD16のいず
れのピンにも接続されていない非結合I/Oセル504
を用いて、論理アナライザー506に対し制御およびデ
ータ信号を供給する。PLD16の未使用のピンに対応
するセルが論理アナライザー260の制御およびデータ
入力/出力のために用いられているので、PLD16の
残りのピンは真の動作環境でコア502および外部世界
と通信を行い、この制御方法による影響を受けない。
【0109】図13は、JTAG制御のこの第1実施形
態による非結合I/Oセル504を図示する。セル50
4には更に、ゲート702およびデバッグRAMビット
704が含まれている。この実施形態では、mode6
86がPLD16をその通常動作モードに置き、論理ア
ナライザー260が実世界データを捕捉できるようにす
る。このモードでは、PLDのピンはコア502から分
離されない。しかしながら、非結合I/Oセル504に
ついては、JTAGポート272を用いて制御信号を埋
め込み論理アナライザー260に供給可能であることが
望ましい。このためにゲート702およびデバッグRA
Mビット704が設けられている。ビット704は常に
設定されている。したがって、ゲート702の出力は論
理「1」であり、マルチプレクサ640が更新レジスタ
630からその出力データを常に生成するように指示す
る。レジスタ630からのデータは捕捉レジスタ620
から以前にロードされており、捕捉レジスタ620は最
初シリアル・データ・イン672からそのデータを受信
した(JTAGポート272がセルを介してデータをシ
フトさせた後)。このように、JTAGポート272が
供給したシリアル・データは、最終的にマルチプレクサ
640によって出力されると共に、コア502への入力
信号604として機能する。入力信号604を用いて、
論理アナライザー260に制御信号またはデータ入力信
号を供給し得る。好都合なことに、デバイスは通常モー
ドで動作し得ると共に、I/Oセルに結合された全ての
ピンは、なおコア502に接続されている。更に、捕捉
レジスタ620ないし624内に制御情報を配するJT
AGSample/Preload命令を用いて、JT
AGポート272を介して論理アナライザー260を制
御可能である。 第2のJTAG制御の実施形態 図15は、JTAGポート272が試験データ・レジス
タ802を用いて埋め込み論理アナライザー260を制
御する第2の実施形態を図示する。この実施形態では、
ユーザ履行試験データ・レジスタ802を用いて、論理
アナライザー260に制御信号を供給すると共に論理ア
ナライザー260からデータおよびステータスを受信す
る。この実施形態は、利用可能な非結合I/Oセルがな
い場合に特に有用である。これは、非結合I/Oセルを
用いる代わりに、ユーザが供給する余分なロジック・イ
ン試験データ・レジスタ802に頼る。加えて、この実
施形態は、余分の信号Runtest(user)を設
けており、いつJTAG状態機械がRuntest状態
に入ったかを論理アナライザー260が知ることができ
る。レジスタ802は、論理アナライザー260を制御
するために用いるいずれかの数の刺激セル804、およ
び論理アナライザーからデータおよびステータスを検索
するために用いるいずれかの数の検知セル805を含
む。制御信号806は信号TDI(user)を含み、
これは最初に刺激セルに提示され、次いで全セルを介し
てシフトされる。また、制御信号Shift(use
r)、Clock(user)、Update(use
r)、およびRuntest(user)も含まれる。
これらの信号は、各セル804または805に対し全体
的に提示される。信号TDO(user)807は、最
後の検知セル805から受信され、JTAGポート27
2に提示されて信号TDOになる。
【0110】この実施形態では、制御信号TDI(us
er)、Shift(user)、Clock(use
r)、およびUpdate(user)は、この第2の
実施形態ではI/Oセルに提示される代わりにコア50
2内に駆動されることを除いて、図13に示される実施
形態による信号672、680、682および684と
同様である。好都合なことに、JTAT信号を直接コア
内に駆動するというこの珍しい手法を用いて、(JTA
Gポート・ピンは別として)PLDの余分なピンまたは
I/Oセルを用いることなく、埋め込み論理アナライザ
ーの制御が達成される。信号TDO(user)は、I
/Oセル504から発する代わりにコア502から発す
ることを除いて、図13の実施形態の信号674と同様
である。
【0111】この実施形態を履行するために、PLDの
ネットリストを増大して、ユーザ履行試験データ・レジ
スタ802を追加する。加えて、論理アナライザー26
0に対する各入力および論理アナライザー260からの
各出力を、エレメント804および805にそれぞれル
ート指定する。論理アナライザー260に送出する制御
信号を発生するために、専用の「Usertest」命
令をスキャンインし、次いで制御情報をスキャンインお
よびロードする。最後に、論理アナライザーから出力デ
ータをスキャンアウトする。更なる詳細を以下に提供す
る。
【0112】図16は、試験データ・レジスタ802の
エレメントである刺激セル804を図示する。セル80
4は捕捉レジスタ820および更新レジスタ822を含
む。スキャンイン信号824は、前段の同様のセルか
ら、またはこれが第1の刺激セルである場合はJTAG
ポート272から受信される。スキャンアウト信号82
6は、次段の刺激セルに対して、またはこれが最後の刺
激セルである場合は第1の検知セル805に対して送信
される。データ・レジスタ802のエレメントを介して
情報のシリアル・シフトが行われている間、情報はスキ
ャンイン824を介してセル804に到着し、レジスタ
820によって捕捉され、スキャンアウト826を介し
てシフトアウトされる。JTAGポート272の制御の
もとで並列ロードが実行される場合、更新レジスタ82
2が、レジスタ820に格納されたビットを論理アナラ
イザー260に転送する。次いでこの転送されたビット
を、論理アナライザーのための制御信号として用い得
る。
【0113】図17は、試験データ・レジスタ802の
1つのエレメントである検知セル805を図示する。セ
ル805はマルチプレクサ830および捕捉レジスタ8
32を含む。スキャン・イン信号834は、前段の検知
セルから、またはこれが第1の検知セルである場合は最
後の刺激セル804から受信される。スキャンアウト信
号836は、次段の検知セル805に、またはこれが最
後の検知セルである場合はJTAGポート272に送信
される。試験データ・レジスタ802を介した情報のシ
リアル・スキャニングの間、信号Load(user)
はゼロである。スキャンインされたビットは、スキャン
イン834を介して到着し、レジスタ832を用いてラ
ッチされ、スキャン・アウト836を介してシフトアウ
トされる。並列ロード動作(または検知動作)の間、信
号Load(user)は1である。データおよび/ま
たはステータスは、マルチプレクサ830を介して到着
し、レジスタ832によって捕捉される。一旦、並列ロ
ードの後にセル805によっていずれかの数のビットが
捕捉されると、捕捉されたビットは、シリアル・シフト
・モードを用いて、分析のためにJTAGポート272
を介してコンピュータ・システム18にシフトアウトさ
れる。このようにして、検知セル805を用いて、論理
アナライザー260からデータおよび/またはステータ
スを検索すると共に、分析のためユーザに情報を提示す
る。 別の実施形態 図18、19は、JTAGポートを用いて、デバイス内
に埋め込まれたいかなる数の論理アナライザーでも制御
する代替的な実施形態を図示する。PLDが大きくなれ
ばなるほど、デバイス内の各メガファンクションが、そ
の自身の埋め込み論理アナライザーを含み得ることが可
能である。ここで論じる実施形態のいずれかを用いたJ
TAGポートを用いて、いかなる数の埋め込み論理アナ
ライザーも制御可能であると望ましいであろう。1つの
特定の履行では、図15ないし17において上述した第
2の実施形態がうまく機能する。
【0114】少しの間、本題から離れるが、JTAGポ
ート272から発生するSelect信号を用いて、2
つの埋め込み論理アナライザーのうち1つの制御を達成
し得ることを注記しておく。当技術分野では公知のよう
に、JTAGポート内に専用ユーザ命令をロードし得
る。この実施形態では、UserA命令およびUser
B命令を供給し得る。第1の論理アナライザーに宛てた
制御情報はUserA命令内にロードされる。第2の論
理アナライザーに宛てた制御情報はUserB命令内に
ロードされる。UserAがロードされると信号Sel
ectはハイになり、UserBがロードされるとSe
lectはローになる。次いで、信号Selectは、
JTAGポートからの制御信号と組み合わされ、この制
御信号を限定し、第1または第2の埋め込み論理アナラ
イザーをそれぞれ制御する第1または第2の試験データ
・レジスタのいずれかに送出される。当技術分野では公
知のように、単一の信号(例えばSelect)が、A
NDゲート、反転器等の単純な組み合わせを用いて、論
理アナライザーのための制御信号をイネーブルまたはデ
ィゼーブルすることができる。例えば、Selectが
論理「1」である場合、制御信号は第1の論理アナライ
ザーに送出され、第1の論理アナライザーから出力が受
信される。Selectが論理「0」である場合、第2
の論理アナライザーが選択される。2つを超える論理ア
ナライザーを制御するためには、これより説明するよう
な実施形態を用いるのが有用である。
【0115】図18は、単一のPLD内に存在する論理
アナライザー260a、260b、260c、および2
60dがPLDのJTAGポートを介して制御される実
施形態を図示する。図18は、最小限の入力および出力
を有する4つのみの論理アナライザーの制御の極端に単
純化した例を提供するが、当業者はこの開示を読むこと
により、いかなる数の論理アナライザーであってもその
制御を履行する方法、および、より複雑な入力および出
力を有する論理アナライザーの制御を履行する方法を認
めよう。
【0116】各論理アナライザー260aないし260
dは、それぞれの試験データ・レジスタ860ないし8
66によって制御される。例えば、論理アナライザー2
60aは試験データ・レジスタ860によって制御され
る。レジスタ860のエレメント860aおよび860
bは論理アナライザー260aに制御入力を与え、レジ
スタ860のエレメント860cおよび860dは論理
アナライザー260aから出力データを受信する。他の
論理アナライザーも同様に制御される。
【0117】この実施形態では、JTAGポート内の2
つの専用ユーザ命令を用いて、いかなる数の論理アナラ
イザーも制御する。UserA命令は、特定の時点にお
いてどの論理アナライザーを制御するか、およびどの論
理アナライザーからデータを受信するかを選択するため
に適切なアドレスを含む。UserBと呼ばれる第2の
専用命令は、実際の制御情報を与えると共に、User
A命令を用いて選択された論理アナライザーからデータ
を受信する。この実施形態ではSelectデータも用
いられ、これは、UserAまたはUserB命令のど
ちらの情報がアクセスされているかに応じてアクティブ
となる。
【0118】試験データ・レジスタ870は2つのエレ
メントA1およびA0を含み、これらを介してUser
A命令がシフトインおよびシフト・アウトされる。信号
Clock(UserA)は図示されていないが、各エ
レメントに供給される。信号TDO(UserA)89
2はJTAGポート272に戻る。このようにして、U
serA命令は、レジスタ870を介してデコータ87
2およびマルチプレクサ874に入力を供給する。デコ
ーダ872は、レジスタ870の2ビットをデコードし
て、ANDゲート882ないし888を制御するために
用いられる4つの出力D3ないしD0を与える。また、
レジスタ870の2ビットはマルチプレクサ874に入
力し、出力のために4つの論理アナライザーのうち1つ
を選択する。この極端に単純化した例では、各論理アナ
ライザーはわずか2つの入力および2つの出力を有し、
レジスタ870はわずか2ビット幅である。これらのレ
ジスタの各々はいかなるサイズとすることも可能である
と共に、これより多数の論理アナライザーも存在し得る
ことは認められよう。
【0119】先に述べたように、第2の専用UserB
命令を用いて、UserA命令が選択した論理アナライ
ザーに実際の制御情報を与える。上述した第2の実施形
態と同様、論理アナライザー260aないし260dを
それぞれ制御する試験レジスタ860ないし866の各
々に、信号TDI(UserB)876を順次供給す
る。信号876上で受信されたシリアル情報は適切な試
験データ・レジスタを介してシフトされ、最終的にマル
チプレクサ874を介してシフトアウトされて信号TD
O(UserB)890となり、JTAGポートに戻さ
れる。例えば、論理アナライザー260dを選択した場
合、制御情報は信号876を介してエレメント866a
にシフトインされ、次いでエレメント866bにシフト
され、次いでエレメント866cにシフトされ、最終的
にエレメント866dにシフトされる。同様に、論理ア
ナライザー260dから受信された出力データは、並列
ロードを用いてエレメント866cおよび866d内に
引き出され、次いで、マルチプレクサ874にシフトア
ウトされる。
【0120】先に論じたように、特定の試験データ・レ
ジスタ内のエレメントは、Shift(user)、C
lock(user)、Update(user)、お
よびRuntest(user)等の多数の制御信号を
受信する。これらの制御信号を、デコーダ872および
ANDゲート882ないし888を用いて、選択した論
理アナライザーにルート指定する。先に注記したよう
に、ANDゲートおよび信号Selectを用いて、信
号Clock(user)から、信号Clock(Us
erB)880およびClock(UserA)(図示
せず)を発生し得る。Selectがアクティブの場
合、Clock(UserA)はクロックしており、C
lock(UserB)はクロックしていない。インア
クティブのSelectは、この逆を生じる。このよう
に、専用命令UserAからの情報が供給されている場
合、Selectはアクティブであると共に適切な制御
信号をイネーブルする。
【0121】この極端に単純化した例では、信号Clo
ck(UserB)880のみが、選択した論理アナラ
イザーにルート指定されているものとして図示されてい
る。当業者は、他の制御信号も同様に選択した論理アナ
ライザーに送出し得る方法を認めよう。デコーダ872
からの出力は、ANDゲート882ないし888のうち
1つを選択するために、4つの出力D3ないしD0のう
ち、一度に1つのみをイネーブルする。このため、信号
880は、所与の時点で選択した論理アナライザーの試
験データ・レジスタにのみ送出される。例えば、レジス
タ870が値「11」を含む場合、デコーダ872の出
力D3はアクティブであり、他の出力信号はローであ
る。したがって、論理アナライザー260aを制御する
ために、ゲート888のみが信号880を試験データ・
レジスタ860に通過可能とする。他のゲート882な
いし886は信号880を通過することを可能としな
い。選択した論理アナライザーに制御信号をルート指定
するために、他の同様の形態の選択および制御も用い得
る。
【0122】図19は、レジスタ870およびマルチプ
レクサ874からの信号TDO(UserA)892お
よびTDO(UserB)890をJTAGポート27
2に戻す1つの技法を図示する。信号890および89
2はマルチプレクサ894に入力され、信号Selec
t896を用いて1つが選択される。先に述べたよう
に、Selectを用いて、論理アナライザーに対す
る、または論理アナライザーからの制御信号を限定およ
び/または選択し得る。この例では、レジスタ870を
介して情報がシフトされている場合、Selectはア
クティブであり(また、これはClock(User
A)をイネーブルする)、信号892はマルチプレクサ
894を介してポート272に達する。Selectが
ローの場合は信号890が選択される。このように、実
施形態850からの適切な出力がJTAGポート272
に送出され、最終的にJTAGポートの単一の信号TD
Oに達する。
【0123】また、多数の論理アナライザーを制御する
ために、他の同様の実施形態も用い得る。例えば、各論
理アナライザー毎に異なる試験レジスタ(レジスタ86
0ないし866のような)を用いる代わりに、全ての論
理アナライザーに1つだけの試験データ・レジスタが供
することがあり得る。この場合、用いる選択論理(図1
7AのANDゲートおよびマルチプレクサ等)は、図1
7Aの実施形態に示されるように論理アナライザーの外
部ではなく、論理アナライザーと単一の試験データ・レ
ジスタとの間に配置されることになろう。
【0124】例えば、JTAGポートからの入力制御信
号(Clock(user)、Shift(user)
等)は、単一の試験データ・レジスタのエレメントに直
接接続することになる。UserB命令からのデータは
この試験データ・レジスタ内にシフトされて、論理アナ
ライザーのうち1つのための制御を与える。試験データ
・レジスタの各入力エレメントは、各論理アナライザー
にルート指定されると共に、ANDゲートまたは同様の
選択回路によって限定される。例えば、単一の試験デー
タ・レジスタから4つの異なる論理アナライザーに3ビ
ットの制御情報が供給される場合、制御情報の各ビット
(各々が論理アナライザーに関連付けられている)毎に
4つのANDゲートがあり、合計12のANDゲート
(または同様の選択論理)があることになる。選択した
論理アナライザーに制御情報の1ビットを印可するた
め、レジスタ870およびデコーダ872と同様の選択
論理を採用し得る。すなわち、どの論理アナライザーを
制御するかを選択するために、専用のUserA命令を
用い得る。次いで、このUserA命令からデコードさ
れた情報を用いて、制御情報の各ビット毎にANDゲー
トを選択および/またはディゼーブルし得る。このよう
に、制御情報の単一ビットをイネーブルして、選択した
1つの論理アナライザーに到達するが、他には到達しな
い。
【0125】同様に、単一の試験データ・レジスタに対
する入力のために、どの論理アナライザーから出力信号
を受け入れるかを選択するために、マルチプレクサを採
用し得る。例えば、論理アナライザーから出力データを
受信する試験データ・レジスタの各エレメント毎に、単
一のマルチプレクサ(または同様の選択論理)が用いら
れる。このマルチプレクサには、各論理アナライザーか
らの対応するデータ信号がルート指定される。例えば、
各論理アナライザーからの最下位データ・ビットは、試
験データ・レジスタの単一エレメントに対する出力を与
える単一のマルチプレクサにルート指定される。マルチ
プレクサは、図18に示されたのと同様の方法で、Us
erA試験データ・レジスタからのビットを介して制御
される。マルチプレクサは、試験データ・レジスタの各
出力エレメント毎に供給され、各々は同一の選択論理に
より制御される。
【0126】また、他の実施形態も可能である。図12
ないし14において先に提示した第1の実施形態または
図15ないし17において先に提示した第2の実施形態
は、論理アナライザーを制御するために単独で使用し得
るか、または、それらを組み合わせて制御を与え得る。
充分な数の余分の非結合I/Oセルが利用可能な場合、
第1の実施形態のみを用いることが望ましい場合があ
る。これは、デバイス内に余分の論理を挿入することが
難しい場合に特に当てはまる。充分なI/Oセルが利用
可能でない場合は、試験データ・レジスタ802が必要
とする余分の論理の追加が問題ではない限り、第2の実
施形態を用いることが望ましい場合がある。第1の実施
形態のみを用いて、入力信号604を用いることによっ
て埋め込み論理アナライザーにClock信号を供給す
ることができる。このClock信号を供給するため
に、交番する1の信号と0の信号を1つの特定のI/O
セル内にシフトし、次いで一度に1つずつロードして、
交番パルスを与える。しかしながら、新たなビットの各
々は、当該ビットがClock信号として供給可能とな
る前に、レジスタの集合全体を介してスキャンインしな
ければならない。この理由のため、第1の実施形態を用
いて埋め込み論理アナライザーにClock信号を供給
するこの手法は、特に有効なものではない。
【0127】更に最適な解決策では、第1および第2の
実施形態の組み合わせを用いる。この解決策では、第2
の実施形態で利用可能な余分の信号Runtest(u
ser)を用いて、埋め込み論理アナライザーにClo
ck信号を供給する。このClock信号の遷移時に、
論理アナライザーに対して、第1の実施形態を用いて履
行されている様々なI/Oセル504の入力信号604
から到着する制御信号を見るように命令する。単にJT
AGポート272をこの状態にさせて、次いで交互にバ
ックアウトさせることによって、信号Runtest
(user)にクロック・パルスを供給させることが可
能である。この技法を用いて、より有効な制御が与えら
れるが、論理アナライザーに実際の制御情報を供給する
ためには、余分の非結合I/Oセルをなお使用し得る。 コンピュータ・システムの実施形態 図20は、本発明の実施形態によるコンピュータ・シス
テム900を図示する。コンピュータ・システム900
は、いずれかの数のプロセッサ902(中央処理装置ま
たはCPUとも呼ぶ)を含み、これらは一次記憶装置9
06(ランダム・アクセス・メモリまたはRAM等)お
よび一次記憶装置904(リード・オンリ・メモリまた
はROM等)を含む記憶装置に結合されている。当技術
分野では周知のように、一次記憶装置904は、データ
および命令をCPUに対し一方向に転送するように機能
し、一次記憶装置906は通常、双方向にデータおよび
命令を転送するために用いられる。これらの一次記憶装
置は双方とも、以下で説明するいずれかの適切なコンピ
ュータ読取り可能媒体を含み得る。また、大容量記憶装
置908も、CPU902に双方向に結合されると共に
追加のデータ記憶容量を与え、以下で説明するコンピュ
ータ読取り可能媒体のいずれかを含み得る。大容量記憶
装置908は、プログラム、データ等を格納するために
用いられ得るものであり、典型的に、一次記憶装置より
も遅い二次記憶媒体(ハード・ディスク等)である。大
容量記憶装置908内に保持された情報は、適切な場合
に、標準的な方法で仮想メモリとして一次記憶装置90
6の一部として組み込み得ることは認められよう。CD
−ROM914等の特定の大容量記憶装置は、CPUに
対し双方向にデータの受け渡しを行う。
【0128】CPU902はインタフェース910にも
結合されており、インタフェース910は、ビデオ・モ
ニタ、トラック・ボール、マウス、キーボード、マイク
ロフォン、タッチ・センサ表示、変換カード読取り機、
磁気または紙テープ読取り機、タブレット、スタイラ
ス、音声または手書き文字認識装置、生物測定学読取り
機、またはその他のコンピュータ等、1つ以上の入力/
出力装置を含む。CPU902は任意選択的に、概略的
に912で示されるようなネットワーク接続を用いて、
別のコンピュータまたは電気通信ネットワークに結合し
得る。かかるネットワーク接続によって、上述の方法の
ステップを実行する過程において、CPUがネットワー
クから情報を受信し得ること、またはネットワークに情
報を出力し得ることが考えられる。
【0129】加えて、本発明の実施形態は更に、様々な
コンピュータ履行動作を実行するために、プログラム・
コードを有するコンピュータ読取り可能媒体を備えたコ
ンピュータ記憶製品に関する。媒体およびプログラム・
コードは、本発明の目的のために特別に設計および構成
したものとしても良く、または、それらは、コンピュー
タ・ソフトウエアの分野で当業者に周知であると共に利
用可能な種類のものとしても良い。コンピュータ読取り
可能媒体の例は、ハード・ディスク、フロッピ・ディス
ク、および磁気テープ等の磁気媒体、CD−ROMディ
スク等の光媒体、光フロッピー・ディスク等の磁気光学
媒体、および、ROMまたはRAMデバイス等のプログ
ラム・コードを格納および実行するように特別に構成さ
れたハードウエア・デバイスを含むが、これらに限定さ
れるものではない。プログラム・コードの例には、コン
パイラによって生成されるもの等の機械コード、およ
び、インタープリターを用いてコンピュータが実行し得
る高レベルのコードを含むファイルの双方が含まれる。
【0130】前述の本発明を、理解の明確化の目的のた
めに、ある程度詳細に説明したが、添付の特許請求の範
囲内で、いくつかの変更および修正を実施し得ることは
明らかである。例えば、論理アナライザーは、プログラ
ムするのに適したいかなる適切なデバイスまたは回路基
板内にも埋め込み得る。また、本発明は、ユーザ設計を
コンパイルすることが可能ないかなる種類のEDAツー
ルにも適用可能である。論理アナライザーのコンパイル
の一例のみを提示したが、その設計をコンパイルする対
象であると共に本発明を利用したデバイスに応じて、こ
のコンパイル技法の変形が生じ得る。更に、図示した特
定の論理アナライザー回路は例示的なものである。他の
回路も論理アナライザーを履行するために用いられ得
る。コンピュータから論理アナライザーへのインタフェ
ースは、いかなる数のピン、およびシリアル、並列等の
いかなる種類のプロトコルも用い得る。JTAGポート
は、説明した第1もしくは第2の制御の実施形態、また
はこの2つの組み合わせのいずれかを用いて、1つ以上
の埋め込み論理アナライザーを制御し得る。したがっ
て、説明した実施形態は限定ではなく例示として見なさ
れるべきであり、本発明はここに与えた詳細に限定され
るものではなく、以下の特許請求の範囲およびそれらの
均等物の全範囲によって規定されるものとする。
【図面の簡単な説明】
【図1】 本発明の一実施形態によるプログラマブル論
理開発システムのブロック図。
【図2】 本発明の一実施形態によるプログラマブル論
理デバイスの設計に用いる設計方法論のフローチャー
ト。
【図3】 論理アナライザーをプログラムし、デバイス
内に埋め込み、データを捕捉し、ユーザが見るためにデ
ータをダンプする一技法を説明するフローチャート。
【図4】 論理アナライザーをプログラムし、デバイス
内に埋め込み、データを捕捉し、ユーザが見るためにデ
ータをダンプする一技法を説明するフローチャート。
【図5】 ハードウエア・デバイス内に論理アナライザ
ーを埋め込むために、論理アナライザーをユーザの設計
と共にコンパイルし得る技法を説明するフローチャー
ト。
【図6】 電子システム内に埋め込み論理アナライザー
を有するプログラマブル論理デバイスを示す、図1のブ
ロック図の別の図。
【図7】 埋め込み論理アナライザーを有するプログラ
マブル論理デバイスの更に詳細なブロック図。
【図8】 本発明の一実施形態による埋め込み論理アナ
ライザーを図示し、その入力および出力を示す。
【図9】 本発明の一実施形態による埋め込み論理アナ
ライザー回路のブロック図。
【図10】 埋め込み論理アナライザーの制御状態機械
の動作の記号図。
【図11】 一実施形態による制御状態機械の状態およ
び対応する状態出力を示す表。
【図12】 JTAGポートが非結合I/Oセルを用い
て埋め込み論理アナライザーを制御する第1の実施形態
の図示。
【図13】 従来技術のJTAGイネーブルI/Oセル
の図示。
【図14】 図12の第1の実施形態によるJTAGイ
ネーブルI/Oセルの図示。
【図15】 JTAGポートが試験データ・レジスタを
用いて埋め込み論理アナライザーを制御する第2の実施
形態の図示。
【図16】 図15の試験データ・レジスタのエレメン
トである刺激セルの図示。
【図17】 図15の試験データ・レジスタのエレメン
トである検知セルの図示。
【図18】 デバイス内に埋め込まれたいずれかの数の
論理アナライザーがJTAGポートを用いて制御される
代替的な実施形態の図示。
【図19】 デバイス内に埋め込まれたいずれかの数の
論理アナライザーがJTAGポートを用いて制御される
代替的な実施形態の図示。
【図20】 本発明の実施形態を履行するのに適切な典
型的なコンピュータ・システムのブロック図。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI H03K 19/173 101 G06F 15/60 664P H01L 21/82 A (72)発明者 クリシュナ ランガセイー アメリカ合衆国 94086 カリフォルニア 州 サニーヴェイル ヴィンセント ドラ イヴ 1291 ナンバー242 (72)発明者 アラン エル.ヘルマン アメリカ合衆国 94087 カリフォルニア 州 サニーヴェイル ウインステッド テ ラス 727

Claims (38)

    【特許請求の範囲】
  1. 【請求項1】 プログラマブル論理デバイス(PLD)
    内に埋め込まれた論理アナライザーからサンプル・デー
    タを受け取るためのコンピュータ・コードを備えるコン
    ピュータ読取り可能媒体であって、前記コンピュータ読
    取り可能媒体の前記コンピュータ・コードが:プログラ
    マブル論理デバイス(PLD)内に自動的に論理アナラ
    イザーを埋め込むことと;前記PLD内の少なくとも1
    つの信号の状態を示すブレークポイントを特定すること
    と;前記ブレークポイントの発生前に前記PLDの内部
    信号が格納されるように、前記内部信号を前記論理アナ
    ライザーのメモリに連続的に格納することを、前記論理
    アナライザーに指示することと;前記論理アナライザー
    から前記格納された内部信号を受信し、前記格納された
    信号が少なくとも前記ブレークポイント前に格納された
    信号を表し、これによって、前記格納された内部信号を
    ユーザのコンピュータ上で見得ることと;を実行する、
    コンピュータ読取り可能媒体。
  2. 【請求項2】 請求項1に記載のコンピュータ読取り可
    能媒体であって、更に:捕捉対象のサンプル全数および
    前記ブレークポイント後の捕捉対象のサンプル数を決定
    することと;ならびに前記捕捉対象のサンプル全数およ
    び前記ブレークポイント後の前記捕捉対象のサンプル数
    を前記論理アナライザーに伝達し、これによって、一旦
    前記ブレークポイントが発生したなら、前記論理アナラ
    イザーが前記ブレークポイント後の前記捕捉対象のサン
    プル数に等しいサンプルを捕捉し続けることと;を実行
    するコンピュータ・コードを備える、コンピュータ読取
    り可能媒体。
  3. 【請求項3】 請求項1に記載のコンピュータ読取り可
    能媒体において、前記論理アナライザーに対する伝達お
    よび前記論理アナライザからの伝達が前記PLDのJT
    AGポートを介して行われる、コンピュータ読取り可能
    媒体。
  4. 【請求項4】 プログラマブル論理デバイス(PLD)
    に埋め込まれた論理アナライザーに格納されたデータを
    受け取るためのコンピュータ・コードを備えるコンピュ
    ータ読取り可能媒体であって、前記コンピュータ読取り
    可能媒体の前記コンピュータ・コードが:電子設計をコ
    ンパイルすると共に論理アナライザーを自動的に挿入し
    て完成設計ファイルを生成することと;前記完成設計フ
    ァイルによってPLDをプログラムし、前記論理アナラ
    イザーが前記PLDに埋め込まれていることと;前記P
    LD内の前記論理アナライザーに命令して、前記論理ア
    ナライザーが前記PLDの内部ノードを連続的に監視し
    始めると共に、前記内部ノードからの内部信号を少なく
    ともブレークポイントまで連続的に前記論理アナライザ
    ーのメモリに格納するように実行させることと;前記P
    LD内の前記論理アナライザーにダンプ・データ要求を
    発行することと;ならびに前記論理アナライザーの前記
    メモリから前記格納された内部信号を受信し、前記格納
    された信号が少なくとも前記ブレークポイント前に監視
    された信号を表し、これによって、前記格納された内部
    信号をユーザのコンピュータ上で見得ることと;を実行
    する、コンピュータ読取り可能媒体。
  5. 【請求項5】 請求項4に記載のコンピュータ読取り可
    能媒体であって、更に:捕捉対象のサンプル全数および
    前記ブレークポイント後の捕捉対象のサンプル数を決定
    することと;ならびに前記捕捉対象のサンプル全数およ
    び前記ブレークポイント後の前記捕捉対象のサンプル数
    を前記論理アナライザーに伝達し、これによって、一旦
    前記ブレークポイントが発生したなら、前記論理アナラ
    イザーが前記ブレークポイント後の前記捕捉対象のサン
    プル数に等しいサンプルを捕捉し続けることと;を実行
    するコンピュータ・コードを備える、コンピュータ読取
    り可能媒体。
  6. 【請求項6】 請求項4に記載のコンピュータ読取り可
    能媒体において、前記論理アナライザーに対する伝達お
    よび前記論理アナライザーからの伝達が前記PLDのJ
    TAGポートを介して行われる、コンピュータ読取り可
    能媒体。
  7. 【請求項7】 プログラマブル論理デバイス(PLD)
    内に埋め込まれた論理アナライザーからサンプル・デー
    タを受け取るための方法であって、該方法が:プログラ
    マブル論理デバイス(PLD)内に自動的に論理アナラ
    イザーを埋め込むステップと;前記PLD内の少なくと
    も1つの信号の状態を示すブレークポイントを特定する
    ステップと;前記ブレークポイントの発生前に前記PL
    Dの内部信号が格納されるように、前記内部信号を前記
    論理アナライザーのメモリに連続的に格納することを、
    前記論理アナライザーに指示するステップと;前記論理
    アナライザーから前記格納された内部信号を受信し、前
    記格納された信号が少なくとも前記ブレークポイント前
    に格納された信号を表し、これによって、前記格納され
    た内部信号をユーザのコンピュータ上で見得るステップ
    と;を備える方法。
  8. 【請求項8】 請求項7に記載の方法であって、更に:
    捕捉対象のサンプル全数および前記ブレークポイント後
    の捕捉対象のサンプル数を決定するステップと;ならび
    に前記捕捉対象のサンプル全数および前記ブレークポイ
    ント後の前記捕捉対象のサンプル数を前記論理アナライ
    ザーに伝達し、これによって、一旦前記ブレークポイン
    トが発生したなら、前記論理アナライザーが前記ブレー
    クポイント後の前記捕捉対象のサンプル数に等しいサン
    プルを捕捉し続けるステップと;を備える方法。
  9. 【請求項9】 請求項7に記載の方法において、前記特
    定するステップ、指示するステップ、および受信するス
    テップが、前記PLDのJTAGポートを使用する方
    法。
  10. 【請求項10】 プログラマブル論理デバイス(PL
    D)に埋め込まれた論理アナライザーに格納されたデー
    タを受け取る方法であって、該方法が:電子設計をコン
    パイルすると共に論理アナライザーを自動的に挿入して
    完成設計ファイルを生成するステップと;前記完成設計
    ファイルによってPLDをプログラムし、前記論理アナ
    ライザーが前記PLDに埋め込まれているステップと;
    前記PLD内の前記論理アナライザーに命令して、前記
    論理アナライザーが前記PLDの内部ノードを連続的に
    監視し始めると共に、前記内部ノードからの内部信号を
    少なくともブレークポイントまで連続的に前記論理アナ
    ライザーのメモリに格納するように実行させるステップ
    と;前記PLD内の前記論理アナライザーに、ダンプ・
    データ要求を発行するステップと;ならびに前記論理ア
    ナライザーの前記メモリから前記格納された内部信号を
    受信し、前記格納された信号が少なくとも前記ブレーク
    ポイント前の監視された信号を表し、これによって、前
    記格納された内部信号をユーザのコンピュータ上で見得
    るステップと;を備える方法。
  11. 【請求項11】 請求項10に記載の方法であって、更
    に:捕捉対象のサンプル全数および前記ブレークポイン
    ト後の捕捉対象のサンプル数を決定するステップと;な
    らびに前記捕捉対象のサンプル全数および前記ブレーク
    ポイント後の前記捕捉対象のサンプル数を前記論理アナ
    ライザーに伝達し、これによって、一旦前記ブレークポ
    イントが発生したなら、前記論理アナライザーが前記ブ
    レークポイント後の前記捕捉対象のサンプル数に等しい
    サンプルを捕捉し続けるステップと;を備える方法。
  12. 【請求項12】 請求項10に記載の方法において、前
    記命令するステップ、発行するステップ、および受信す
    るステップが、前記PLDのJTAGポートを使用する
    方法。
  13. 【請求項13】 プログラマブル論理デバイス(PL
    D)内に埋め込まれた論理アナライザーによってサンプ
    ル・データを捕捉するための方法であって、該方法が:
    前記PLD内の少なくとも1つの信号の状態を示すブレ
    ークポイントを受け取るステップと;前記PLD内で監
    視する特定された信号を示すPLD信号情報を受け取る
    ステップと;前記ブレークポイントの発生前に前記内部
    信号が格納されるように、前記特定された信号を前記論
    理アナライザーのメモリに連続的に格納するステップ
    と;前記ブレークポイントの発生を判定するステップ
    と;を備え、前記ブレークポイントが発生したと判定さ
    れた場合、前記ブレークポイント前に格納された前記内
    部信号の一部が後の分析のために利用可能であるよう
    に、前記論理アナライザーのメモリを構成する方法。
  14. 【請求項14】 請求項13に記載の方法であって、更
    に:前記ブレークポイント後の捕捉対象のサンプル数を
    示す値を受け取るステップと;ならびに前記ブレークポ
    イントの発生後に前記特定された信号を前記論理アナラ
    イザーの前記メモリに格納し続け、これによって、一旦
    前記ブレークポイントが発生したなら、前記論理アナラ
    イザーが前記ブレークポイント後の前記捕捉対象のサン
    プル数に等しい信号を捕捉し続けるステップと;を備え
    る方法。
  15. 【請求項15】 請求項13に記載の方法において、前
    記連続的に格納するステップおよび格納し続けるステッ
    プが、双方とも、満杯になると初めの方で格納した信号
    に上書きするリング・バッファに前記特定された信号を
    格納し、これによって、前記ブレークポイント前に格納
    された信号が後の分析のために利用可能となる方法。
  16. 【請求項16】 請求項13に記載の方法において、前
    記ブレークポイントを受け取るステップが、前記PLD
    のJTAGポートを介してユーザのコンピュータから前
    記ブレークポイントを受け取る方法。
  17. 【請求項17】 プログラマブル論理デバイス(PL
    D)であって:最終的なPLDを生成するための設計プ
    ロセスにおいて電子設計の1つの反復を表すPLD回路
    と;前記PLD回路内に統合された論理アナライザー回
    路であって、前記PLD回路の一部が接続されるように
    なっている前記論理アナライザー回路と;ブレークポイ
    ントが発生する前に前記PLD回路からの信号の捕捉を
    開始するための前記論理アナライザー回路内の論理手段
    と;ならびに前記論理アナライザー回路内のサンプル・
    メモリ回路であって、前記ブレークポイントが発生する
    前に前記信号を捕捉するように構成され、これによっ
    て、前記捕捉後の分析のために前記捕捉された信号を提
    示するために利用可能である前記サンプル・メモリ回路
    と;を備えるプログラマブル論理デバイス。
  18. 【請求項18】 請求項17に記載のプログラマブル論
    理デバイス(PLD)であって:前記ブレークポイント
    が発生した後に前記PLD回路からの信号の捕捉を続け
    るための前記論理アナライザ回路内の第2の論理手段を
    更に備え、前記サンプル・メモリ回路は更に前記ブレー
    クポイントが発生した後の前記信号を捕捉するように構
    成されており、これによって、前記サンプル・メモリ回
    路は前記捕捉後の分析のために前記捕捉された信号を提
    示するために利用可能である、プログラマブル論理デバ
    イス。
  19. 【請求項19】 請求項17に記載のプログラマブル論
    理デバイスにおいて、前記サンプル・メモリ回路が、満
    杯になると初めの方で格納した信号に上書きするリング
    ・バッファを含み、これによって、前記ブレークポイン
    ト前に格納された信号が後の分析のために利用可能とな
    る、プログラマブル論理デバイス。
  20. 【請求項20】 請求項17に記載のプログラマブル論
    理デバイスであって、更に:前記論理アナライザーと通
    信するJTAGポートであって、ユーザのコンピュータ
    から前記ブレークポイントおよび前記信号の指示を受け
    取るために用いられ、更に、分析のため前記捕捉された
    信号を前記ユーザのコンピュータに提示するために用い
    られる前記JTAGポートを備える、プログラマブル論
    理デバイス。
  21. 【請求項21】 プログラマブル論理デバイス(PL
    D)であって:最終的なPLDを生成するための設計プ
    ロセスにおいて電子設計の1つの反復を表すPLD回路
    と;前記PLD回路内に統合された論理アナライザー回
    路であって、前記PLD回路の一部が接続されるように
    なっている前記論理アナライザー回路と;前記PLDの
    外部から論理アナライザーのコマンドを受け取るように
    構成されたJTAG(Joint Test Acti
    on Group)ポートと;ならびに前記PLDの前
    記JTAGポートを用いて前記論理アナライザー回路を
    制御する機能を実行するための手段であって、これによ
    って、前記論理アナライザー回路が前記PLDの外部か
    ら前記コマンドを受け取ると共に適切に動作する、手段
    と;を備えるプログラマブル論理デバイス。
  22. 【請求項22】 請求項21に記載のPLDにおいて、
    前記手段が:非結合I/Oセルであって、これを介して
    前記JTAGポートと前記論理アナライザー回路との間
    で信号の受け渡しが行われる前記非結合I/Oセルを含
    む、PLD。
  23. 【請求項23】 請求項21に記載のPLDにおいて、
    前記手段が:前記PLDのコアに履行された試験データ
    ・レジスタであって、これを介して前記JTAGポート
    と前記論理アナライザー回路との間で信号の受け渡しが
    行われる前記試験データ・レジスタを含む、PLD。
  24. 【請求項24】 請求項21に記載のPLDであって、
    更に:複数の論理アナライザーと;前記論理アナライザ
    ーのうち1つを選択する機能を実行するための手段とを
    備え、前記制御するための手段が前記選択された論理ア
    ナライザーを制御し、これによって、前記選択された論
    理アナライザーが前記PLDの外部から前記コマンドを
    受け取ると共に適切に動作する、PLD。
  25. 【請求項25】 プログラマブル論理デバイス(PL
    D)であって:最終的なPLDを生成するための設計プ
    ロセスにおいて電子設計の1つの反復を表すPLD回路
    と;前記PLD回路内に統合された論理アナライザー回
    路であって、前記PLD回路の一部が接続されるように
    なっている前記論理アナライザー回路と;前記PLDの
    外部から論理アナライザーのコマンドを受け取るように
    構成されたJTAG(Joint Test Acti
    on Group)ポートと;前記JTAGポートから
    シリアル・データを受け取ると共に前記シリアル・デー
    タを前記論理アナライザーに供給するように構成された
    複数の第1のI/Oセルと;ならびに複数の第2のI/
    Oセルであって、前記論理アナライザーから捕捉された
    データを受け取ると共に前記捕捉されたデータを前記J
    TAGポートに順次供給するように構成され、これによ
    って、前記論理アナライザーが前記PLDの外部から前
    記コマンドを受け取ると共に前記捕捉されたデータを前
    記JTAGポートに送出する、前記複数の第2のI/O
    セルと;を備えるプログラマブル論理デバイス。
  26. 【請求項26】 請求項25に記載のPLDにおいて、
    前記第1のI/Oセルが、前記PLDが通常の動作環境
    にある間、前記PLDのコアに前記シリアル・データを
    駆動するように構成されている、PLD。
  27. 【請求項27】 プログラマブル論理デバイス(PL
    D)であって:最終的なPLDを生成するための設計プ
    ロセスにおいて電子設計の1つの反復を表すPLD回路
    と;前記PLD回路内に統合された論理アナライザー回
    路であって、前記PLD回路の一部が接続されるように
    なっている前記論理アナライザー回路と;前記PLDの
    外部から論理アナライザー・コマンドを受け取るように
    構成されたJTAG(Joint Test Acti
    on Group)ポートと;ならびに前記PLDのコ
    アに履行された試験データ・レジスタであって、前記J
    TAGポートから前記論理アナライザーにシリアル・デ
    ータを供給すると共に、前記論理アナライザーから捕捉
    されたデータを順次前記JTAGポートに供給するよう
    に構成され、これによって、前記論理アナライザーが前
    記PLDの外部から前記コマンドを受け取ると共に前記
    捕捉されたデータを前記JTAGポートに送出する前記
    試験データ・レジスタと;を備えるPLD。
  28. 【請求項28】 請求項27に記載のPLDにおいて、
    前記試験データ・レジスタが:前記論理アナライザーに
    前記シリアル・データを供給するための複数の刺激セル
    と;前記論理アナライザーから前記捕捉されたデータを
    受け取るための複数の検知セルと;を含むPLD。
  29. 【請求項29】 プログラマブル論理デバイス(PL
    D)をデバッグするための方法であって、該方法が:電
    子設計をコンパイルすると共に論理アナライザーを挿入
    して完成設計ファイルを生成するステップと;前記完成
    設計ファイルによってPLDをプログラムし、前記論理
    アナライザーが前記PLDに埋め込まれているステップ
    と;前記論理アナライザーに、前記PLDのJTAG
    (Joint TestAction Group)ポ
    ートを接続するステップと;前記JTAGポートを用い
    て前記埋め込み論理アナライザーを制御し、これによっ
    て前記PLDをデバッグし得るステップと;を含む方
    法。
  30. 【請求項30】 請求項29に記載の方法であって、更
    に:前記JTAGポートから前記PLDの第1のI/O
    セルにシリアル・データを供給し、前記第1のI/Oセ
    ルが前記シリアル・データを前記論理アナライザー内に
    ロードするように構成されている、ステップと;前記論
    理アナライザーから第2のI/Oセル内に捕捉されたデ
    ータを受け取り、前記第2のI/Oセルが前記捕捉され
    たデータを前記JTAGポートに供給するように構成さ
    れている、ステップと;を備える方法。
  31. 【請求項31】 請求項29に記載の方法であって、更
    に:前記PLDのコアに試験データ・レジスタを形成
    し、これを介して前記JTAGポートと前記論理アナラ
    イザーとの間で信号が順次受け渡しされ得るステップを
    備える方法。
  32. 【請求項32】 プログラマブル論理デバイス(PL
    D)をデバッグするための方法であって、該方法が:電
    子設計をコンパイルすると共に論理アナライザを挿入し
    て完成設計ファイルを生成するステップと;前記完成設
    計ファイルによってPLDをプログラムし、前記論理ア
    ナライザーが前記PLDに埋め込まれているステップ
    と;前記PLDのJTAGポートを介してコンピュータ
    から論理アナライザーのコマンドをダウンロードして前
    記論理アナライザーに送出するステップと;ならびに前
    記PLDの前記JTAGポートを介して前記論理アナラ
    イザーから捕捉されたデータを受け取り、これによって
    前記PLDをデバッグし得るステップと;を備える方
    法。
  33. 【請求項33】 請求項32に記載の方法において、前
    記コマンドおよび前記捕捉されたデータは前記JTAG
    ポートを介して順次受け渡しが行われ、前記コマンドが
    前記論理アナライザーに対し並列に送出され、前記捕捉
    されたデータが前記論理アナライザーから並列に捕捉さ
    れる方法。
  34. 【請求項34】 プログラマブル論理デバイス(PL
    D)をデバッグするためのコンピュータ・コードを備え
    るコンピュータ読取り可能媒体であって、前記コンピュ
    ータ・コードが:電子設計をコンパイルすると共に論理
    アナライザーを挿入して完成設計ファイルを生成するこ
    とと;前記完成設計ファイルによってPLDをプログラ
    ムし、前記論理アナライザーが前記PLDに埋め込まれ
    ていることと;前記論理アナライザーに、前記PLDの
    JTAG(Joint TestAction Gro
    up)ポートを接続することと;前記JTAGポートを
    用いて前記埋め込み論理アナライザーを制御し、これに
    よって前記PLDをデバッグし得ることと;を実行す
    る、コンピュータ読取り可能媒体。
  35. 【請求項35】 請求項34に記載のコンピュータ読取
    り可能媒体であって、更に、コンピュータ・コードが:
    前記JTAGポートから前記PLDの第1のI/Oセル
    にシリアル・データを供給し、前記第1のI/Oセルが
    前記シリアル・データを前記論理アナライザー内にロー
    ドするように構成されていることと;前記論理アナライ
    ザーから第2のI/Oセル内に捕捉されたデータを受け
    取り、前記第2のI/Oセルが前記捕捉されたデータを
    前記JTAGポートに供給するように構成されているこ
    とと;を実行する、コンピュータ読取り可能媒体。
  36. 【請求項36】 請求項34に記載のコンピュータ読取
    り可能媒体であって、更に、コンピュータ・コードが:
    前記PLDのコアに試験データ・レジスタを形成し、こ
    れを介して前記JTAGポートと前記論理アナライザー
    との間で信号が順次受け渡しされ得ることを実行する、
    コンピュータ読取り可能媒体。
  37. 【請求項37】 プログラマブル論理デバイス(PL
    D)をデバッグするためのコンピュータ・コードを備え
    るコンピュータ読取り可能媒体であって、前記コンピュ
    ータ・コードが:電子設計をコンパイルしすると共に論
    理アナライザーを挿入して完成設計ファイルを生成する
    ことと;前記完成設計ファイルによってPLDをプログ
    ラムし、前記論理アナライザーが前記PLDに埋め込ま
    れていることと;前記PLDのJTAGポートを介して
    コンピュータから論理アナライザーのコマンドをダウン
    ロードして前記論理アナライザーに送出することと;な
    らびに前記PLDの前記JTAGポートを介して前記論
    理アナライザーから捕捉されたデータを受け取り、これ
    によって前記PLDをデバッグし得ることと;を実行す
    る、コンピュータ読取り可能媒体。
  38. 【請求項38】 請求項37に記載のコンピュータ読取
    り可能媒体において、前記コマンドおよび前記捕捉され
    たデータは前記JTAGポートを介して順次受け渡しが
    行われ、前記コマンドが前記論理アナライザーに対し並
    列に送出され、前記捕捉されたデータが前記論理アナラ
    イザーから並列に捕捉される、コンピュータ読取り可能
    媒体。
JP10327921A 1997-11-18 1998-11-18 向上した埋め込みロジックアナライザ Pending JPH11296403A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US6560297P 1997-11-18 1997-11-18
US09/186,607 US6286114B1 (en) 1997-10-27 1998-11-06 Enhanced embedded logic analyzer
US60/065602 1998-11-06
US09/186607 1998-11-06

Publications (1)

Publication Number Publication Date
JPH11296403A true JPH11296403A (ja) 1999-10-29

Family

ID=26745776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10327921A Pending JPH11296403A (ja) 1997-11-18 1998-11-18 向上した埋め込みロジックアナライザ

Country Status (4)

Country Link
US (3) US6286114B1 (ja)
EP (4) EP2264600A3 (ja)
JP (1) JPH11296403A (ja)
DE (2) DE69834892T2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003532192A (ja) * 2000-04-19 2003-10-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 統合グラフィカルデバッギング機能を備える強化プログラマブルコアモデル
JP2005351891A (ja) * 2004-05-26 2005-12-22 Temento Systems デバッグ装置、デバッグ方法、及びデバッグ装置の使用方法
JP2007292492A (ja) * 2006-04-21 2007-11-08 Aoi Electronics Co Ltd 回路検証装置及び回路検証方法
JP2009503749A (ja) * 2005-08-02 2009-01-29 シンプリシティー インコーポレイテッド 複製されたロジックを使用するデバッグ及びテスト方法並びにシステム
JP2009110284A (ja) 2007-10-30 2009-05-21 Fujitsu Ltd 信号処理装置、カード型デバイス及び障害再現方法
JP2009282808A (ja) * 2008-05-23 2009-12-03 Fujitsu Ltd 半導体回路設計支援プログラム
WO2010016300A1 (ja) * 2008-08-05 2010-02-11 日本電気株式会社 半導体検証装置、方法およびプログラム
WO2010041451A1 (ja) * 2008-10-08 2010-04-15 日本電気株式会社 半導体検証装置、方法およびプログラム
JP2010531001A (ja) * 2007-05-09 2010-09-16 シノプシス インコーポレイテッド 自動回路設計及びシミュレーションに使用するための技術
JP2015184725A (ja) * 2014-03-20 2015-10-22 富士ゼロックス株式会社 論理集積回路および論理集積回路を構成するためのプログラム
US12561505B2 (en) 2022-03-29 2026-02-24 Fujifilm Business Innovation Corp. Information processing apparatus, integrated circuit, and information processing method

Families Citing this family (200)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205579B1 (en) * 1996-10-28 2001-03-20 Altera Corporation Method for providing remote software technical support
US6618775B1 (en) * 1997-08-15 2003-09-09 Micron Technology, Inc. DSP bus monitoring apparatus and method
US6286114B1 (en) * 1997-10-27 2001-09-04 Altera Corporation Enhanced embedded logic analyzer
US6687865B1 (en) 1998-03-25 2004-02-03 On-Chip Technologies, Inc. On-chip service processor for test and debug of integrated circuits
US20060117274A1 (en) * 1998-08-31 2006-06-01 Tseng Ping-Sheng Behavior processor system and method
US9195784B2 (en) * 1998-08-31 2015-11-24 Cadence Design Systems, Inc. Common shared memory in a verification system
US6107821A (en) * 1999-02-08 2000-08-22 Xilinx, Inc. On-chip logic analysis and method for using the same
AU5127000A (en) * 1999-05-07 2000-11-21 Morphics Technology, Inc. Apparatus and method for implementing a wireless system-on-a-chip with a reprogrammable tester, debugger, and bus monitor
US6564347B1 (en) * 1999-07-29 2003-05-13 Intel Corporation Method and apparatus for testing an integrated circuit using an on-chip logic analyzer unit
US6633838B1 (en) * 1999-11-04 2003-10-14 International Business Machines Corporation Multi-state logic analyzer integral to a microprocessor
US6931572B1 (en) 1999-11-30 2005-08-16 Synplicity, Inc. Design instrumentation circuitry
US7065481B2 (en) 1999-11-30 2006-06-20 Synplicity, Inc. Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer
US7072818B1 (en) 1999-11-30 2006-07-04 Synplicity, Inc. Method and system for debugging an electronic system
US7240303B1 (en) 1999-11-30 2007-07-03 Synplicity, Inc. Hardware/software co-debugging in a hardware description language
US7356786B2 (en) * 1999-11-30 2008-04-08 Synplicity, Inc. Method and user interface for debugging an electronic system
US6823497B2 (en) 1999-11-30 2004-11-23 Synplicity, Inc. Method and user interface for debugging an electronic system
US6581191B1 (en) * 1999-11-30 2003-06-17 Synplicity, Inc. Hardware debugging in a hardware description language
KR100606750B1 (ko) * 1999-12-31 2006-07-31 엘지전자 주식회사 휴대 전화기용 프로그램 다운로딩 장치
US6615368B1 (en) * 2000-01-04 2003-09-02 National Semiconductor Corporation System and method for debugging highly integrated data processors
US6754862B1 (en) * 2000-03-09 2004-06-22 Altera Corporation Gaining access to internal nodes in a PLD
DE10196175T1 (de) 2000-05-11 2003-04-17 Quickturn Design Systems Inc Emulations-Schaltkreis mit einem Haltezeit-Algorithmus, Logikanalysierer und Shadow-Speicher
US6826717B1 (en) * 2000-06-12 2004-11-30 Altera Corporation Synchronization of hardware and software debuggers
US6542844B1 (en) * 2000-08-02 2003-04-01 International Business Machines Corporation Method and apparatus for tracing hardware states using dynamically reconfigurable test circuits
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US7188063B1 (en) * 2000-10-26 2007-03-06 Cypress Semiconductor Corporation Capturing test/emulation and enabling real-time debugging using an FPGA for in-circuit emulation
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
NZ508052A (en) 2000-11-09 2003-06-30 Derek Ward Programmable controller
US7222315B2 (en) 2000-11-28 2007-05-22 Synplicity, Inc. Hardware-based HDL code coverage and design analysis
US6857083B2 (en) * 2000-12-18 2005-02-15 International Business Machines Corporation Method and system for triggering a debugging unit
US6681354B2 (en) * 2001-01-31 2004-01-20 Stmicroelectronics, Inc. Embedded field programmable gate array for performing built-in self test functions in a system on a chip and method of operation
US6760864B2 (en) * 2001-02-21 2004-07-06 Freescale Semiconductor, Inc. Data processing system with on-chip FIFO for storing debug information and method therefor
US6757855B1 (en) * 2001-04-09 2004-06-29 Advanced Micro Devices, Inc. Integrated test apparatus and method therefor
US6605962B2 (en) 2001-05-06 2003-08-12 Altera Corporation PLD architecture for flexible placement of IP function blocks
US6802026B1 (en) * 2001-05-15 2004-10-05 Xilinx, Inc. Parameterizable and reconfigurable debugger core generators
US7428661B2 (en) * 2001-09-21 2008-09-23 Sam Michael Test and debug processor and method
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
FR2831969B1 (fr) * 2001-11-08 2004-01-16 Schneider Automation Systeme de telechargement et de telemaintenance d'une carte electronique
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US6834360B2 (en) * 2001-11-16 2004-12-21 International Business Machines Corporation On-chip logic analyzer
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US6775798B2 (en) * 2001-11-28 2004-08-10 Lsi Logic Corporation Fast sampling test bench
US6543034B1 (en) 2001-11-30 2003-04-01 Koninklijke Philips Electronics N.V. Multi-environment testing with a responder
US6691207B2 (en) * 2001-12-28 2004-02-10 Hewlett-Packard Development Company, L.P. Method and apparatus for implementing loop compression in a program counter trace
US6760898B1 (en) * 2002-02-22 2004-07-06 Xilinx, Inc. Method and system for inserting probe points in FPGA-based system-on-chip (SoC)
KR100451162B1 (ko) * 2002-03-13 2004-10-02 엘지전자 주식회사 피씨를 이용한 임베디드 시스템의 원격 메모리 제어 방법
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7089473B2 (en) * 2002-03-29 2006-08-08 Intel Corporation Method and apparatus for testing a circuit using a die frame logic analyzer
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US20030212932A1 (en) * 2002-05-09 2003-11-13 Sauber William F. Remote diagnostic packets
US7318014B1 (en) 2002-05-31 2008-01-08 Altera Corporation Bit accurate hardware simulation in system level simulators
US6779169B1 (en) * 2002-05-31 2004-08-17 Altera Corporation Method and apparatus for placement of components onto programmable logic devices
US7363545B1 (en) * 2002-06-03 2008-04-22 Xilinx, Inc. System and method for overcoming download cable bottlenecks during programming of integrated circuit devices
US7827510B1 (en) 2002-06-07 2010-11-02 Synopsys, Inc. Enhanced hardware debugging with embedded FPGAS in a hardware description language
US7359994B1 (en) 2002-08-28 2008-04-15 Advanced Micro Devices, Inc. Split-transaction bus decoder
US7254115B1 (en) * 2002-08-28 2007-08-07 Advanced Micro Devices, Inc. Split-transaction bus intelligent logic analysis tool
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US7036046B2 (en) * 2002-11-14 2006-04-25 Altera Corporation PLD debugging hub
US20040128446A1 (en) * 2002-12-27 2004-07-01 Carole Dulong Value profiling with low overhead
US7076751B1 (en) 2003-01-24 2006-07-11 Altera Corporation Chip debugging using incremental recompilation
US7991606B1 (en) 2003-04-01 2011-08-02 Altera Corporation Embedded logic analyzer functionality for system level environments
CN100458711C (zh) * 2003-04-08 2009-02-04 孕龙科技股份有限公司 逻辑分析仪的资料撷取处理方法及其装置
US7275191B2 (en) * 2003-05-09 2007-09-25 Hewlett-Packard Development Company, L.P. Coverage decoder circuit for performance counter
US7509246B1 (en) 2003-06-09 2009-03-24 Altera Corporation System level simulation models for hardware modules
US7506210B1 (en) * 2003-06-26 2009-03-17 Xilinx, Inc. Method of debugging PLD configuration using boundary scan
US7539900B1 (en) 2003-07-29 2009-05-26 Altera Corporation Embedded microprocessor for integrated circuit testing and debugging
US6912164B1 (en) * 2003-08-22 2005-06-28 Altera Corporation Techniques for preloading data into memory on programmable circuits
US7281167B2 (en) * 2003-08-26 2007-10-09 Finisar Corporation Multi-purpose network diagnostic modules
US7444565B1 (en) * 2003-11-24 2008-10-28 Itt Manufacturing Enterprises, Inc. Re-programmable COMSEC module
US7418678B1 (en) * 2003-12-01 2008-08-26 Jasper Design Automation, Inc. Managing formal verification complexity of designs with counters
US20050138302A1 (en) * 2003-12-23 2005-06-23 Intel Corporation (A Delaware Corporation) Method and apparatus for logic analyzer observability of buffered memory module links
US7206967B1 (en) 2004-02-09 2007-04-17 Altera Corporation Chip debugging using incremental recompilation and register insertion
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US7225416B1 (en) * 2004-06-15 2007-05-29 Altera Corporation Methods and apparatus for automatic test component generation and inclusion into simulation testbench
US20060015775A1 (en) * 2004-07-14 2006-01-19 John Benavides System and method for observing the behavior of an integrated circuit (IC)
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US7350121B2 (en) * 2004-08-13 2008-03-25 Broadcom Corporation Programmable embedded logic analyzer in an integrated circuit
US7089140B1 (en) * 2004-08-20 2006-08-08 Altera Corporation Programmable logic device and method of testing a programmable logic device
ATE412932T1 (de) * 2004-09-03 2008-11-15 Derek Ward Verbesserungen an numerischen steuerungen und verwandten elektronischen geräten
US7543186B2 (en) * 2004-09-13 2009-06-02 Sigmatel, Inc. System and method for implementing software breakpoints
US7480843B1 (en) 2004-09-29 2009-01-20 Xilinx, Inc. Configuration access from a boundary-scannable device
US7284229B1 (en) 2004-10-01 2007-10-16 Xilinx, Inc. Multiple bitstreams enabling the use of partially defective programmable integrated circuits while avoiding localized defects therein
US7424655B1 (en) 2004-10-01 2008-09-09 Xilinx, Inc. Utilizing multiple test bitstreams to avoid localized defects in partially defective programmable integrated circuits
US7412635B1 (en) * 2004-10-01 2008-08-12 Xilinx, Inc. Utilizing multiple bitstreams to avoid localized defects in partially defective programmable integrated circuits
US20060080075A1 (en) * 2004-10-08 2006-04-13 Young Timothy H Programmable logic controller simulator interface card
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7248070B1 (en) 2005-02-16 2007-07-24 Altera Corporation Method and system for using boundary scan in a programmable logic device
EP1859289A4 (en) 2005-03-16 2011-03-30 Gaterocket Inc FPGA MATRIX EMULATION SYSTEM
US7627784B1 (en) * 2005-04-06 2009-12-01 Altera Corporation Modular processor debug core connection for programmable chip systems
US8205186B1 (en) * 2005-04-11 2012-06-19 Synopsys, Inc. Incremental modification of instrumentation logic
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US7274442B2 (en) * 2005-05-16 2007-09-25 The Boeing Company Closed-loop wavefront sensor using field programmable gate array
US8156452B1 (en) 2005-06-02 2012-04-10 Altera Corporation Method and apparatus for importing hardware description language into a system level design environment
US20070006166A1 (en) * 2005-06-20 2007-01-04 Seagate Technology Llc Code coverage for an embedded processor system
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US7577876B2 (en) * 2005-06-28 2009-08-18 Intel Corporation Debug system for data tracking
US9104650B2 (en) 2005-07-11 2015-08-11 Brooks Automation, Inc. Intelligent condition monitoring and fault diagnostic system for preventative maintenance
JP5043839B2 (ja) * 2005-07-11 2012-10-10 ブルックス オートメーション インコーポレイテッド 予知保全用インテリジェント状態監視及び障害診断システム
US8327202B2 (en) * 2005-07-13 2012-12-04 Hewlett-Packard Development Company, L.P. System and method for scan testing
US7375550B1 (en) * 2005-07-15 2008-05-20 Tabula, Inc. Configurable IC with packet switch configuration network
US7443196B2 (en) * 2005-07-15 2008-10-28 Tabula, Inc. Configuration network for a configurable IC
US20090150136A1 (en) * 2005-10-10 2009-06-11 Sei Yang Yang Dynamic-based verification apparatus for verification from electronic system level to gate level, and verification method using the same
US8781808B2 (en) * 2005-10-10 2014-07-15 Sei Yang Yang Prediction-based distributed parallel simulation method
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
WO2007077220A2 (en) * 2006-01-06 2007-07-12 Sandbyte Technologies Limited A debug tool for programmable logic devices
EP1854035A1 (en) * 2006-02-28 2007-11-14 Mentor Graphics Corporation Memory-based trigger generation scheme in an emulation environment
US7332929B1 (en) 2006-03-03 2008-02-19 Azul Systems, Inc. Wide-scan on-chip logic analyzer with global trigger and interleaved SRAM capture buffers
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US7573282B2 (en) * 2006-04-26 2009-08-11 Hewlett-Packard Development Company, L.P. Ball grid array connection monitoring system and method
US7669157B1 (en) * 2006-09-05 2010-02-23 Altera Corporation Method and apparatus for performing incremental compilation using top-down and bottom-up design approaches
US7774652B2 (en) * 2006-09-19 2010-08-10 Hewlett-Packard Development Company, L.P. Circuitry and method to detect conditions of data
US7630942B2 (en) * 2007-02-28 2009-12-08 Intel Corporation Multi-core stochastic discrimination
US7536615B1 (en) * 2007-03-26 2009-05-19 Lattice Semiconductor Corporation Logic analyzer systems and methods for programmable logic devices
US7743296B1 (en) * 2007-03-26 2010-06-22 Lattice Semiconductor Corporation Logic analyzer systems and methods for programmable logic devices
EP1976120A1 (en) * 2007-03-31 2008-10-01 Sony Deutschland Gmbh Digital filter and method for filtering
US7757198B1 (en) 2007-04-10 2010-07-13 Lattice Semiconductor Corporation Scan chain systems and methods for programmable logic devices
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US7501855B2 (en) * 2007-06-27 2009-03-10 Tabula, Inc Transport network for a configurable IC
US8069425B2 (en) * 2007-06-27 2011-11-29 Tabula, Inc. Translating a user design in a configurable IC for debugging the user design
US7595655B2 (en) * 2007-06-27 2009-09-29 Tabula, Inc. Retrieving data from a configurable IC
US7839162B2 (en) 2007-06-27 2010-11-23 Tabula, Inc. Configurable IC with deskewing circuits
US7579867B2 (en) * 2007-06-27 2009-08-25 Tabula Inc. Restructuring data from a trace buffer of a configurable IC
US8412990B2 (en) 2007-06-27 2013-04-02 Tabula, Inc. Dynamically tracking data values in a configurable IC
US7652498B2 (en) * 2007-06-27 2010-01-26 Tabula, Inc. Integrated circuit with delay selecting input selection circuitry
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US8271911B1 (en) 2007-09-13 2012-09-18 Xilinx, Inc. Programmable hardware event reporting
US8990651B2 (en) * 2007-09-19 2015-03-24 Tabula, Inc. Integrated circuit (IC) with primary and secondary networks and device containing such an IC
US7870524B1 (en) * 2007-09-24 2011-01-11 Nvidia Corporation Method and system for automating unit performance testing in integrated circuit design
US7810059B1 (en) 2007-10-11 2010-10-05 Xilinx, Inc. Methods of enabling the validation of an integrated circuit adapted to receive one of a plurality of configuration bitstreams
US7853916B1 (en) 2007-10-11 2010-12-14 Xilinx, Inc. Methods of using one of a plurality of configuration bitstreams for an integrated circuit
US7619438B1 (en) 2007-10-11 2009-11-17 Xilinx, Inc. Methods of enabling the use of a defective programmable device
CN101539767A (zh) * 2008-03-21 2009-09-23 鸿富锦精密工业(深圳)有限公司 可编程控制器的快速侦错方法
US7890916B1 (en) * 2008-03-25 2011-02-15 Xilinx, Inc. Debugging using a virtual file system interface
US7576558B1 (en) * 2008-03-27 2009-08-18 Xilinx, Inc. Apparatus and method for enhanced readback of programmable logic device state information
TW200945034A (en) * 2008-04-25 2009-11-01 Acute Technology Inc Method and structure of memory usage for logic analyzer
US8064280B1 (en) * 2008-06-10 2011-11-22 Altera Corporation Scaleable look-up table based memory
WO2010016857A1 (en) 2008-08-04 2010-02-11 Tabula, Inc. Trigger circuits and event counters for an ic
US8214694B1 (en) * 2009-03-12 2012-07-03 Xilinx, Inc. Lightweight probe and data collection within an integrated circuit
US8327200B1 (en) * 2009-04-02 2012-12-04 Xilinx, Inc. Integrated circuit providing improved feed back of a signal
US8271557B1 (en) 2009-04-20 2012-09-18 Xilinx, Inc. Configuration of a large-scale reconfigurable computing arrangement using a virtual file system interface
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US9477802B1 (en) 2009-06-09 2016-10-25 Cadence Design Systems, Inc. Isolating differences between revisions of a circuit design
DE102009033221A1 (de) 2009-07-14 2011-01-27 Human Bios Gmbh Sicherheitselement zur Kennzeichnung oder Identifikation von Gegenständen und Lebewesen
US8516304B2 (en) 2009-08-18 2013-08-20 Lexmark International, Inc. Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilities and a method therefor
US8914681B2 (en) * 2009-08-18 2014-12-16 Lexmark International, Inc. Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilities and a method therefor
US9170901B2 (en) 2009-08-18 2015-10-27 Lexmark International, Inc. System and method for analyzing an electronics device including a logic analyzer
US8745447B2 (en) * 2009-08-18 2014-06-03 Lexmark International, Inc. System and method for analyzing an electronics device including a logic analyzer
US20110047424A1 (en) * 2009-08-18 2011-02-24 James Ray Bailey Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilites and a method therefor
US8072234B2 (en) 2009-09-21 2011-12-06 Tabula, Inc. Micro-granular delay testing of configurable ICs
US8881301B2 (en) * 2009-10-05 2014-11-04 Asset Intertech, Inc. Protection of proprietary embedded instruments
US8332795B2 (en) * 2009-12-15 2012-12-11 Apple Inc. Automated pin multiplexing for programmable logic device implementation of integrated circuit design
US8302038B2 (en) * 2009-12-15 2012-10-30 Apple Inc. Engineering change order language for modifying integrated circuit design files for programmable logic device implementation
US8479135B2 (en) * 2009-12-15 2013-07-02 Apple Inc. Automated framework for programmable logic device implementation of integrated circuit design
US8166437B2 (en) * 2009-12-15 2012-04-24 Apple Inc. Automated pad ring generation for programmable logic device implementation of integrated circuit design
TW201221981A (en) * 2010-11-24 2012-06-01 Inventec Corp Multi-chip testing system and testing method thereof
US9037911B2 (en) * 2010-12-09 2015-05-19 Advanced Micro Devices, Inc. Debug state machines and methods of their operation
US8686753B1 (en) * 2011-04-08 2014-04-01 Altera Corporation Partial reconfiguration and in-system debugging
US8581626B2 (en) * 2011-08-25 2013-11-12 Kabushiki Kaisha Toshiba Control system, logic module substrate, and logic FPGA
CN102510227B (zh) * 2011-10-24 2015-05-20 中国核工业二三建设有限公司 核电站安装过程中调试电气设备、阀门及仪表设备的方法
TWI427306B (zh) * 2011-12-27 2014-02-21 Zeroplus Technology Co Ltd Data transmission method
US20150095866A1 (en) * 2012-03-11 2015-04-02 Cigol Digital Systems Ltd. Vlsi circuit signal compression
US8739092B1 (en) 2012-04-25 2014-05-27 Jasper Design Automation, Inc. Functional property ranking
US8893065B2 (en) * 2012-07-11 2014-11-18 Mentor Graphics Corporation Biometric markers in a debugging environment
TW201416686A (zh) * 2012-10-26 2014-05-01 Hon Hai Prec Ind Co Ltd 待測訊號搜尋系統及方法
DE102013203905B4 (de) * 2013-03-07 2016-12-29 Telemotive AG Prozessorgesteuertes Speichergerät und Verfahren
US9436565B2 (en) 2013-07-04 2016-09-06 Altera Corporation Non-intrusive monitoring and control of integrated circuits
DE102013219591A1 (de) 2013-09-27 2015-04-16 Albert-Ludwigs-Universität Freiburg Verfahren zum authentifizieren mikroelektronischer bauelemente
US9348961B2 (en) * 2014-03-27 2016-05-24 Wipro Limited Logic analyzer circuit for programmable logic device
US9310433B2 (en) 2014-04-18 2016-04-12 Breker Verification Systems Testing SOC with portable scenario models and at different levels
US9342641B1 (en) 2014-04-30 2016-05-17 Keysight Technologies, Inc. Configuration of logic analyzer using graphical user interface
US9575123B2 (en) * 2015-01-23 2017-02-21 Lattice Semiconductor Corporation Registers for post configuration testing of programmable logic devices
KR102391385B1 (ko) * 2015-08-13 2022-04-27 삼성전자주식회사 내장형 로직 분석기 및 이를 포함하는 집적 회로
US10482205B2 (en) * 2017-07-24 2019-11-19 Xilinx, Inc. Logic analyzer for integrated circuits
WO2020030590A1 (en) 2018-08-08 2020-02-13 Numascale As A digital circuit testing and analysis module, system and method thereof
US11442104B1 (en) * 2019-02-25 2022-09-13 Marvell Asia Pte, Ltd. Configurable integrated logic analyzer
US10949586B1 (en) * 2020-07-01 2021-03-16 Xilinx, Inc. Post-synthesis insertion of debug cores
US11188697B1 (en) 2021-01-05 2021-11-30 Xilinx, Inc. On-chip memory access pattern detection for power and resource reduction
CN112634801B (zh) * 2021-01-08 2022-06-10 北京集睿致远科技有限公司 一种片内逻辑分析仪及芯片调试方法
US11327721B1 (en) * 2021-02-08 2022-05-10 Marco Renedo System for extending functionality of a computer programming language, and related method and software
US11829279B2 (en) 2021-09-23 2023-11-28 Intel Corporation Systems, apparatus, and methods to debug accelerator hardware
US12381561B2 (en) * 2021-11-13 2025-08-05 Altera Corporation Circuits and methods for accessing signals in integrated circuits
US11953986B2 (en) * 2022-07-01 2024-04-09 Micron Technology, Inc. Selectable signal, logging, and state extraction

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2927796A (en) 1955-02-21 1960-03-08 Abraham W Silverstein Record display and advertising device
EP0163273B1 (en) 1984-05-28 1993-10-13 Advantest Corporation Logic analyzer
DE3611872C1 (de) 1986-04-09 1987-04-30 Rohle & Schwarz Gmbh & Co Kg Logikanalysator
US4835736A (en) * 1986-08-25 1989-05-30 Tektronix, Inc. Data acquisition system for capturing and storing clustered test data occurring before and after an event of interest
US4758745B1 (en) 1986-09-19 1994-11-15 Actel Corp User programmable integrated circuit interconnect architecture and test method
US5365165A (en) 1986-09-19 1994-11-15 Actel Corporation Testability architecture and techniques for programmable interconnect architecture
US4847612A (en) 1988-01-13 1989-07-11 Plug Logic, Inc. Programmable logic device
JP2678283B2 (ja) * 1988-03-15 1997-11-17 株式会社日立製作所 データ通信制御装置
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5452231A (en) 1988-10-05 1995-09-19 Quickturn Design Systems, Inc. Hierarchically connected reconfigurable logic assembly
ATE265712T1 (de) 1988-10-05 2004-05-15 Quickturn Design Systems Inc Verfahren zur verwendung einer elektronisch wiederkonfigurierbaren gatterfeld-logik und dadurch hergestelltes gerät
US5329470A (en) 1988-12-02 1994-07-12 Quickturn Systems, Inc. Reconfigurable hardware emulation system
DE69030792T2 (de) * 1989-07-27 1997-09-11 Lsi Logic Corp Methode und Gerät zur Wechselwirkung-Emulation zwischen einer anwendungsspezifischen integrierten Schaltung (ASIC) während der Entwicklung und ein Zielsystem
DE4042262A1 (de) 1990-12-31 1992-07-02 Richt Stefan Verfahren zur analyse der funktionsweise von digitalen schaltungen
US5124588A (en) 1991-05-01 1992-06-23 North American Philips Corporation Programmable combinational logic circuit
US5425036A (en) 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
EP0636976B1 (en) * 1993-07-28 1998-12-30 Koninklijke Philips Electronics N.V. Microcontroller provided with hardware for supporting debugging as based on boundary scan standard-type extensions
US5640542A (en) * 1993-10-29 1997-06-17 Intel Corporation On-chip in-circuit-emulator memory mapping and breakpoint register modules
US5488688A (en) * 1994-03-30 1996-01-30 Motorola, Inc. Data processor with real-time diagnostic capability
US5572712A (en) 1994-09-30 1996-11-05 Vlsi Technology, Inc. Method and apparatus for making integrated circuits with built-in self-test
US5629617A (en) 1995-01-06 1997-05-13 Hewlett-Packard Company Multiplexing electronic test probe
US5568437A (en) 1995-06-20 1996-10-22 Vlsi Technology, Inc. Built-in self test for integrated circuits having read/write memory
US5717695A (en) 1995-12-04 1998-02-10 Silicon Graphics, Inc. Output pin for selectively outputting one of a plurality of signals internal to a semiconductor chip according to a programmable register for diagnostics
US5802348A (en) * 1995-12-18 1998-09-01 Virtual Machine Works, Inc. Logic analysis system for logic emulation systems
US5764079A (en) 1996-03-11 1998-06-09 Altera Corporation Sample and load scheme for observability of internal nodes in a PLD
US6020758A (en) 1996-03-11 2000-02-01 Altera Corporation Partially reconfigurable programmable logic device
US5870410A (en) 1996-04-29 1999-02-09 Altera Corporation Diagnostic interface system for programmable logic system development
US5724505A (en) * 1996-05-15 1998-03-03 Lucent Technologies Inc. Apparatus and method for real-time program monitoring via a serial interface
US5821771A (en) 1996-05-21 1998-10-13 Altera Corporation Method and apparatus for monitoring or forcing an internal node in a programmable device
US5717699A (en) * 1996-07-18 1998-02-10 Hewlett-Packard Company Method and apparatus for accessing internal integrated circuit signals
US6097211A (en) * 1996-07-18 2000-08-01 Altera Corporation Configuration memory integrated circuit
US6205579B1 (en) * 1996-10-28 2001-03-20 Altera Corporation Method for providing remote software technical support
US6167536A (en) * 1997-04-08 2000-12-26 Advanced Micro Devices, Inc. Trace cache for a microprocessor-based device
US5960191A (en) * 1997-05-30 1999-09-28 Quickturn Design Systems, Inc. Emulation system with time-multiplexed interconnect
US6157210A (en) * 1997-10-16 2000-12-05 Altera Corporation Programmable logic device with circuitry for observing programmable logic circuit signals and for preloading programmable logic circuits
US6247147B1 (en) * 1997-10-27 2001-06-12 Altera Corporation Enhanced embedded logic analyzer
US6286114B1 (en) * 1997-10-27 2001-09-04 Altera Corporation Enhanced embedded logic analyzer
US6212650B1 (en) 1997-11-24 2001-04-03 Xilinx, Inc. Interactive dubug tool for programmable circuits
US6016563A (en) * 1997-12-30 2000-01-18 Fleisher; Evgeny G. Method and apparatus for testing a logic design of a programmable logic device
US6104211A (en) 1998-09-11 2000-08-15 Xilinx, Inc. System for preventing radiation failures in programmable logic devices
US6107821A (en) * 1999-02-08 2000-08-22 Xilinx, Inc. On-chip logic analysis and method for using the same

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003532192A (ja) * 2000-04-19 2003-10-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 統合グラフィカルデバッギング機能を備える強化プログラマブルコアモデル
JP2005351891A (ja) * 2004-05-26 2005-12-22 Temento Systems デバッグ装置、デバッグ方法、及びデバッグ装置の使用方法
JP2009503749A (ja) * 2005-08-02 2009-01-29 シンプリシティー インコーポレイテッド 複製されたロジックを使用するデバッグ及びテスト方法並びにシステム
JP2007292492A (ja) * 2006-04-21 2007-11-08 Aoi Electronics Co Ltd 回路検証装置及び回路検証方法
JP2010531001A (ja) * 2007-05-09 2010-09-16 シノプシス インコーポレイテッド 自動回路設計及びシミュレーションに使用するための技術
JP2009110284A (ja) 2007-10-30 2009-05-21 Fujitsu Ltd 信号処理装置、カード型デバイス及び障害再現方法
US8386989B2 (en) 2008-05-23 2013-02-26 Fujitsu Limited Semiconductor circuit design support technique
JP2009282808A (ja) * 2008-05-23 2009-12-03 Fujitsu Ltd 半導体回路設計支援プログラム
WO2010016300A1 (ja) * 2008-08-05 2010-02-11 日本電気株式会社 半導体検証装置、方法およびプログラム
JP5170246B2 (ja) * 2008-08-05 2013-03-27 日本電気株式会社 半導体検証装置、方法およびプログラム
US8683404B2 (en) 2008-08-05 2014-03-25 Nec Corporation Semiconductor verification apparatus, method, and program
WO2010041451A1 (ja) * 2008-10-08 2010-04-15 日本電気株式会社 半導体検証装置、方法およびプログラム
JP5333792B2 (ja) * 2008-10-08 2013-11-06 日本電気株式会社 半導体検証装置、方法およびプログラム
JP2015184725A (ja) * 2014-03-20 2015-10-22 富士ゼロックス株式会社 論理集積回路および論理集積回路を構成するためのプログラム
US12561505B2 (en) 2022-03-29 2026-02-24 Fujifilm Business Innovation Corp. Information processing apparatus, integrated circuit, and information processing method

Also Published As

Publication number Publication date
US20020194543A1 (en) 2002-12-19
DE69835106T2 (de) 2006-12-07
US6286114B1 (en) 2001-09-04
EP2264600A3 (en) 2011-06-22
DE69835106D1 (de) 2006-08-10
EP0919916A3 (en) 2000-01-12
DE69834892D1 (de) 2006-07-27
US20010037477A1 (en) 2001-11-01
EP2264598A3 (en) 2011-06-22
EP2264599A3 (en) 2011-06-22
EP2264599A2 (en) 2010-12-22
US6704889B2 (en) 2004-03-09
EP0919916A2 (en) 1999-06-02
DE69834892T2 (de) 2007-05-24
EP0919916B1 (en) 2006-06-14
US6460148B2 (en) 2002-10-01
EP2264600A2 (en) 2010-12-22
EP2264598A2 (en) 2010-12-22

Similar Documents

Publication Publication Date Title
JPH11296403A (ja) 向上した埋め込みロジックアナライザ
US6247147B1 (en) Enhanced embedded logic analyzer
US6389558B1 (en) Embedded logic analyzer for a programmable logic device
US6823497B2 (en) Method and user interface for debugging an electronic system
US7065481B2 (en) Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer
US7356786B2 (en) Method and user interface for debugging an electronic system
US6904577B2 (en) Hardware debugging in a hardware description language
US6931572B1 (en) Design instrumentation circuitry
US7072818B1 (en) Method and system for debugging an electronic system
US7827510B1 (en) Enhanced hardware debugging with embedded FPGAS in a hardware description language
US7240303B1 (en) Hardware/software co-debugging in a hardware description language
US7836416B2 (en) Hardware-based HDL code coverage and design analysis
US6829751B1 (en) Diagnostic architecture using FPGA core in system on a chip design
EP1233341B1 (en) Embedded logic analyser
US9946624B1 (en) Systems and methods to capture data signals from a dynamic circuit
Vanitha et al. Implementation of an integrated FPGA based automatic test equipment and test generation for digital circuits
CN115292760A (zh) 芯片验证系统、方法及计算机可读存储介质