JP2016024829A - デバッグインターフェースを部分的にイネーブルするための装置 - Google Patents

デバッグインターフェースを部分的にイネーブルするための装置 Download PDF

Info

Publication number
JP2016024829A
JP2016024829A JP2015143847A JP2015143847A JP2016024829A JP 2016024829 A JP2016024829 A JP 2016024829A JP 2015143847 A JP2015143847 A JP 2015143847A JP 2015143847 A JP2015143847 A JP 2015143847A JP 2016024829 A JP2016024829 A JP 2016024829A
Authority
JP
Japan
Prior art keywords
hardware device
programmable hardware
logic
interface
configuration
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.)
Granted
Application number
JP2015143847A
Other languages
English (en)
Other versions
JP6005222B2 (ja
Inventor
ボッケルカンプ マティアス
Bockelkamp Matthias
ボッケルカンプ マティアス
ドレスラー マーク
Dressler Marc
ドレスラー マーク
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.)
Dspace Digital Signal Processing and Control Engineering GmbH
Original Assignee
Dspace Digital Signal Processing and Control Engineering GmbH
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 Dspace Digital Signal Processing and Control Engineering GmbH filed Critical Dspace Digital Signal Processing and Control Engineering GmbH
Publication of JP2016024829A publication Critical patent/JP2016024829A/ja
Application granted granted Critical
Publication of JP6005222B2 publication Critical patent/JP6005222B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode

Abstract

【課題】デバッグインターフェースを部分的にイネーブルするための装置を提供する。【解決手段】第1のプログラミング可能なハードウェアデバイス1のデバッグインターフェース8を部分的にイネーブルするための装置において、コンフィギュレーションユニット6は、第1のプログラミング可能なハードウェアデバイス1を第1のロジック13に基づいてプログラミングし、デバッグインターフェース8を介して第2のロジックに基づいて実行されている、第1のプログラミング可能なハードウェアデバイスのプログラミングプロセスを検出し、デバッグインターフェース8を介して実行されているプログラミングプロセスの終了後に、第1のプログラミング可能なハードウェアデバイスを第1のロジック13に基づいて再プログラミングする。【選択図】図1

Description

本発明は、請求項1の上位概念に記載の、プログラミング可能なハードウェアデバイスのデバッグインターフェースを部分的にイネーブルするための装置に関する。
プロセッサ、FPGA、及び、CPLDのようなプログラミング可能なハードウェアデバイスは、ハードウェアデバイスをプログラミングするための専用のコンフィギュレーションインターフェースを有する以外にも、特にハードウェアデバイス上にプログラミングされたロジックをデバッグするために設けられたデバッグインターフェースを有することが多いが、コンフィギュレーションインターフェースに加えてこのデバッグインターフェースもまた、ハードウェアデバイスをプログラミングするために使用することが可能である。
いくつかの適用例では、デバッグインターフェースを介してハードウェアデバイスをプログラミングするという手段に問題があることがある。それは例えば、第1のプログラミング可能なハードウェアデバイスのコンフィギュレーションインターフェースに第2のプログラミング可能なハードウェアデバイスが接続されていて、ユーザが、この第2のプログラミング可能なハードウェアデバイスによって、第1のプログラミング可能なハードウェアデバイスをプログラミングすることが可能になっている場合である。この場合、第2のプログラミング可能なハードウェアは、第1のプログラミング可能なハードウェアをプログラミングするためにユーザに対して部分的にしか自由を許可しておらず、例えば、第2のプログラミング可能なハードウェアは、第1のプログラミング可能なハードウェア上において、ユーザによってプログラミングされるロジックに加えて、必須のインターフェースロジックもプログラミングする。この必須のインターフェースロジックは、第1のプログラミング可能なハードウェアデバイスのハードウェア周辺機器とのデータ交換のための論理的なメカニズムを提供し、ユーザがプログラミングエラーによって第1のプログラミング可能なハードウェアデバイス又はそのハードウェア周辺機器を損傷してしまうことを防止するものである。この場合において、第1のプログラミング可能なハードウェアデバイスのデバッグインターフェースを完全にイネーブルすれば、ユーザは、設けられたセーフティロジックなしに、第1のプログラミング可能なハードウェアデバイス上にロジックをプログラミングすることが可能となってしまう。
米国特許第7971051号明細書は、FPGAのプログラミングにエラーがある場合又はFPGAのプログラミングが許可されない場合に、FPGAによって出力された信号の監視に基づいて、FPGAを自動的に再プログラミングするための装置を開示している。
米国特許第7971051号明細書
このような背景技術を前提として、本発明の課題は、プログラミング可能なハードウェアデバイスのデバッグインターフェースを部分的にイネーブルするための技術的な装置を提供し、ハードウェアデバイスをプログラミングするためには、前記デバッグインターフェースをイネーブルせず、別の用途のため、特にハードウェアデバイス上にプログラミングされたロジックをデバッグするためには、前記デバッグインターフェースをイネーブルするようにすることである。
この課題は、請求項1に記載の特徴を有する装置によって解決される。本発明の有利な実施形態は、従属請求項の対象である。
従って、本発明の対象は、第1のプログラミング可能なハードウェアデバイスのデバッグインターフェースを部分的にイネーブルするための装置であって、特に、前記第1のプログラミング可能なハードウェアデバイスは、PLD(Programmable Logic Device)、プロセッサ、又は、PLDとプロセッサとの組み合わせであり、前記装置は、前記第1のプログラミング可能なハードウェアデバイスと、コンフィギュレーションユニットと、コンフィギュレーションメモリとを有し、前記第1のプログラミング可能なハードウェアデバイスは、前記第1のプログラミング可能なハードウェアデバイスをプログラミングするように構成されたコンフィギュレーションインターフェースと、データインターフェースと、前記第1のプログラミング可能なハードウェアデバイスをデバッグ及びプログラミングするように構成されたデバッグインターフェースとを有する、装置である。ここで、前記コンフィギュレーションメモリには、第1のロジックが格納されており、前記コンフィギュレーションユニットは、前記第1のプログラミング可能なハードウェアデバイスを前記第1のロジックに基づいてプログラミングするように構成されている。すなわち、前記コンフィギュレーションユニットは、前記第1のプログラミング可能なハードウェアデバイスが前記第1のロジックを実行するように、又は、前記第1のロジックの設定に基づいてデータを論理的かつ算術的に処理するように、当該第1のプログラミング可能なハードウェアデバイスがプログラミングによって構成されるように、当該第1のプログラミング可能なハードウェアデバイスをプログラミングする。本発明によれば、前記コンフィギュレーションユニットはさらに、前記デバッグインターフェースを介して第2のロジックに基づいて実行されている、前記第1のプログラミング可能なハードウェアデバイスのプログラミングプロセスを検出し、前記デバッグインターフェースを介して実行されている前記プログラミングプロセスの終了後に、前記第1のプログラミング可能なハードウェアデバイスを前記第1のロジックに基づいて再プログラミングするように、すなわち、前記デバッグインターフェースを介して実行された前記プログラミングプロセスを、前記第1のロジックに基づく前記第1のプログラミング可能なハードウェアデバイスのプログラミングによって取り消すように構成されている。
本発明におけるPLDというのは、プログラミング可能な論理回路、特にFPGA(Field Programmable Gate Array)又はCPLD(Complex Programmable Logic Device)であると理解されたい。
本発明におけるロジックというのは、データを論理的かつ算術的に処理するための抽象的な規則であると理解されたい。第1のプログラミング可能なハードウェアデバイス上にロジックがプログラミングされた後には、このロジックは、第1のプログラミング可能なハードウェアデバイス上において、処理命令のシーケンスの形態で、又は、例えばFPGAのようなプログラミング可能な論理回路のコンフィギュレーションの形態で存在する。コンフィギュレーションメモリには、第1のロジックが情報の形態で格納されている。この情報は、第1のプログラミング可能なハードウェアデバイスをコンフィギュレーションインターフェースを介して第1のロジックに基づいてプログラミングするためのビットストリームを、一義的に規定するものである。
デバッグインターフェースを介して実行されているプログラミングプロセスの終了というのは、本発明においては、第1のプログラミング可能なハードウェアデバイスが完全にプログラミングされた後のプログラミングプロセスの正しい完了と、正しい完了を阻止する、プログラミングプロセスの中断との両方を意味すると理解すべきである。
製造者側では、ロジックのコンフィギュレーションを専らデバッグインターフェースを介して行うことが想定されているので、プログラミング可能なハードウェアデバイスのいくつかのモデルでは、独立したコンフィギュレーションインターフェースを有さないものもある。この場合には、ハードウェアデバイスの外部に実装された回路によって、独立したコンフィギュレーションインターフェースと、独立したデバッグインターフェースとを提供することが可能である。例えば、デバッグインターフェースをスイッチに接続させることが可能であり、このスイッチは、デバッグインターフェースを第1の外部インターフェース又は第2の外部インターフェースに選択的に接続するように構成されている。この場合には、第1の外部インターフェースは、プログラミング可能なハードウェアデバイスをプログラミングするために設けられており、第2の外部インターフェースは、プログラミング可能なハードウェアデバイスにプログラミングされたロジックをデバッグするためにユーザに対して提供される。スイッチは、ハードウェアデバイスのプログラミングプロセス中には、デバッグインターフェースを第1の外部インターフェースに接続させ、ハードウェアデバイスのプログラミングプロセスが実行されていない場合には、デバッグインターフェースを第2の外部インターフェースに接続させるように構成されている。本発明にとっては、コンフィギュレーションインターフェース及びデバッグインターフェースが、プログラミング可能なハードウェアデバイスによって元々それぞれ独立したインターフェースとして提供されるのか、又は、ハードウェアデバイスの外部に配置された回路に基づいてこれが実施されるのかは重要ではない。
本発明の装置の利点は、ユーザが、第1のプログラミング可能なハードウェアデバイスのデバッグインターフェースを、プログラミングのため以外にも任意に利用できること、特に、第1のプログラミング可能なハードウェアデバイス上にプログラミングされたロジックのデバッグのために利用できることにあり、この場合に、デバッグインターフェースを介した許可されないプログラミングに起因した、第1のプログラミング可能なハードウェアデバイス又は第1のプログラミング可能なハードウェアデバイスの周辺機器の損傷が回避されていることにある。
好ましくは、第1のプログラミング可能なハードウェアデバイスの再プログラミングは自動的に実行され、本装置は、第1のプログラミング可能なハードウェアデバイスの使用が、デバッグインターフェースを介して実行されているプログラミングプロセスを検出している間の全期間内において、第1のロジックに基づく再プログラミングが完了するまで遮断されるように構成されている。従って、上記の期間内においては、データインターフェースを介したデータ交換は阻止されている。
有利な1つの実施形態においては、第1のプログラミング可能なハードウェアデバイスは、当該第1のプログラミング可能なハードウェアデバイスのプログラミングプロセスをシグナリングするように構成されたコンフィギュレーション監視インターフェースを有する。コンフィギュレーションユニットは、コンフィギュレーション監視インターフェースを監視するように構成されており、さらに、コンフィギュレーション監視インターフェースによって出力された信号に基づいて、デバッグインターフェースを介して実行されている第1のプログラミング可能なハードウェアデバイスのプログラミングプロセスを検出するように構成されている。
コンフィギュレーション監視インターフェースは、本発明によれば、第1のプログラミング可能なハードウェアデバイスのインターフェースであり、このインターフェースを介して、第1のプログラミング可能なハードウェアデバイスは、プログラミングが進行中であること又はプログラミングが完了したことをシグナリングする。すなわち、このインターフェースを介して、第1のプログラミング可能なハードウェアデバイスのプログラミングが現在実行されている最中であるか、又は、実行が完了した直後であるかを読み出すことが可能である。特に、多くのFPGAは、専用のコンフィギュレーション監視インターフェースを有する。例えばFPGAは、Xilinx社のCONF_DONE信号を供給する。CONF_DONE信号は、FPGAのプログラミングの進行中には論理値0に切り換えられており、プログラミングの完了後には論理値1に切り換えられる。しかしながら、FPGAをプログラミングすることにより、当該FPGAの、例えばデータインターフェースの1つ又は複数のピンを、コンフィギュレーション監視インターフェースとして構成することも可能である。例えばFPGAが、プログラミングプロセス中に当該FPGAのデータインターフェースの全てのピンの出力を論理値1に切り換えるように構成されている場合には、当該FPGAの動作中に、つまり当該FPGA上にプログラミングされたロジックの処理中にデータインターフェースの所定のピンにて持続的に論理値0が出力されるように、当該FPGAをプログラミングすることができる。上記の所定のピンは、専用のコンフィギュレーション監視インターフェースと同じ機能を提供しうる。別の可能性として、FPGAが動作中に、データインターフェースの1つ又は複数のピンにて予め規定されたビットシーケンスを持続的に出力させるようにし、かつ、このビットシーケンスの中断に基づいてプログラミングプロセスを検出するようにすることも可能である。
本発明によれば、コンフィギュレーションユニットが第1のプログラミング可能なハードウェアデバイスのプログラミングプロセスを検出するために使用する信号を出力する、第1のプログラミング可能なハードウェアデバイスのインターフェースは、コンフィギュレーション監視インターフェースである。本発明の対象にとっては、コンフィギュレーション監視インターフェースが、元々専用のコンフィギュレーション監視インターフェースとして第1のプログラミング可能なハードウェアデバイスによって提供されているか、又は、コンフィギュレーション監視インターフェースが、後付けで相応の手段によって、特に第1のプログラミング可能なハードウェアデバイスのプログラミングに基づいて、実現されるかは重要ではない。
特に好ましい実施形態においては、コンフィギュレーションユニットは、デバッグインターフェースを介して実行されているプログラミングプロセスを検出した後に、当該プログラミングプロセスを阻止するように、すなわち終了させるように構成されており、特に、コンフィギュレーションユニットによって制御されるスイッチを開放することにより、デバッグインターフェースへと入ってくる、第2のロジックに基づくFPGAのプログラミングを規定しているビットストリームを中断するように構成されている。本実施形態は有利である。なぜなら、第2のロジックに基づくハードウェアデバイスのプログラミングが完了しないように、すなわち、第2のロジックが決して完全にはハードウェアデバイス上にプログラミングされないように保証されているので、許容されないプログラミングによってハードウェアデバイスが処理を開始して障害を引き起こすという事態が回避されているからである。
1つの可能な実施形態においては、コンフィギュレーションユニットは、デバッグインターフェースを介して第2のロジックに基づいて実行されたプログラミングプロセスの終了後に、第1のプログラミング可能なハードウェアデバイスの再プログラミングを選択的に実行する又は実行しないように構成されている。すなわち本実施形態においては、コンフィギュレーションユニットは基本的に、第1のプログラミング可能なハードウェアデバイスの本発明による再プログラミングを実行するように構成されているが、このことは必須ではなく、状況に応じてのみ実施される。本実施形態において、好ましくは、コンフィギュレーションユニットのメモリにライセンス情報が格納されている。このライセンス情報は、デバッグインターフェースを介して実行されているプログラミングプロセスが検出される際にコンフィギュレーションユニットによって読み出され、プログラミングプロセスの終了時にコンフィギュレーションユニットが第1のプログラミング可能なハードウェアデバイスを再プログラミングするか否かを規定しているものである。このライセンス情報は、例えばライセンスの形態で存在し、このライセンスが存在する場合には、第1のプログラミング可能なハードウェアデバイスのプログラミングが許可されている。すなわち、デバッグインターフェースを介して実行されたプログラミングプロセスは終了されず、取り消されることもない。
コンフィギュレーションユニットも、好ましくはプログラミング可能なハードウェアデバイスとして構成されており、特にPLD、プロセッサ、又は、プロセッサとPLDとの組み合わせとして構成されている。デバッグインターフェースは、好ましくはJTAGインターフェースとして構成されており、このJTAGインターフェースは、好ましくはIEEE標準1149.1に準拠している。
さらに好ましくは、本装置は、第2のプログラミング可能なハードウェアデバイスを有し、第2のプログラミング可能なハードウェアデバイスと第2のプログラミング可能なハードウェアデバイスのデータインターフェースとの間にデータ接続部が設けられており、特に、第2のプログラミング可能なハードウェアデバイス上にもロジックがプログラミングされており、第1のプログラミング可能なハードウェアデバイス及び第2のプログラミング可能なハードウェアデバイスは、各自の上にプログラミングされたロジックを並行して処理するために、かつ、処理中にデータ接続部を介して、第1のプログラミング可能なハードウェアデバイス上にプログラミングされたロジックと、第2のプログラミング可能なハードウェアデバイス上にプログラミングされたロジックとの間でデータを交換するために構成されている。換言すると、第1のプログラミング可能なハードウェアデバイス及び第2のプログラミング可能なハードウェアデバイスは、プログラムを並行して処理するために、かつ、プログラムの処理中にデータ接続部を介してプログラムデータを交換するために構成することができる。
特に好ましくは、第1のプログラミング可能なハードウェアデバイスはFPGAとして構成されており、第2のプログラミング可能なハードウェアデバイスはFPGA又はプロセッサとして構成されている。
別の1つの好ましい実施形態においては、第2のプログラミング可能なハードウェアデバイスは、コンフィギュレーションユニットを介して第1のプログラミング可能なハードウェアデバイスをプログラミングするように構成されている。1つの可能な実施形態においては、第2のプログラミング可能なハードウェアデバイスは、コンフィギュレーションメモリから第1のロジックを読み出してコンフィギュレーションユニットに伝送するために構成されており、コンフィギュレーションユニットは、第2のプログラミング可能なハードウェアデバイスから第1のロジックを受信して、当該第1のロジックに基づいて第1のプログラミング可能なハードウェアデバイスをプログラミングするように構成されている。別の1つの可能な実施形態においては、第2のプログラミング可能なハードウェアデバイスは、コンフィギュレーションユニットにコンフィギュレーション信号を伝送するために構成されており、コンフィギュレーションユニットは、コンフィギュレーション信号を検出し、当該コンフィギュレーション信号の検出に基づき、コンフィギュレーションメモリから第1のロジックを読み出し、当該第1のロジックに基づいて第1のプログラミング可能なハードウェアデバイスをプログラミングするように構成されている。
第1のロジックは、好ましくは少なくとも部分的にユーザによって構築可能であり、コンフィギュレーションメモリに格納可能である。特に、本発明の1つの実施形態においては、第1のロジックは、ユーザによって変更不可能な上書きロジックであるか、又は、第1のロジックは、2つの部分ロジックから組み合わせられており、この場合には、第1の部分ロジックは、ユーザによって自由にプログラミング可能な機能的なロジックであり、第2の部分ロジックは、ユーザによって自由にプログラミング不可能な必須のインターフェースロジックである。インターフェースロジックは、機能的なロジックと第1のプログラミング可能なハードウェアデバイスのデータインターフェースのピンとの間のデータ交換のためのメカニズムを提供し、さらには、セーフティロジックの機能を提供する。すなわち、インターフェースロジックは、機能的なロジックのプログラミングエラーに起因したハードウェアの損傷を防止するためのセーフティメカニズムを有する。機能的なロジックとデータインターフェースとの間のデータ交換は、専らインターフェースロジックの仲介によって可能となる。
本発明の関連において、上書きロジックは、ユーザによって変更不可能な予め規定されたロジックであり、このロジックは特に、デバッグインターフェースを介して実行された第1のプログラミング可能なハードウェアデバイスのプログラミングプロセスを検出した後に、第1のプログラミング可能なハードウェアデバイスを再プログラミングするために設けられている。本発明の1つの実施形態においては、第1のロジックは、ユーザによって構築された第1のロジックを当該ユーザがコンフィギュレーションメモリに格納するまで、上書きロジックの形態で存在している。
以下、本発明を、図面を参照しながらより詳細に説明する。図面では、同じ種類の部分には、同一の参照符号を付している。図示した実施形態は極めて概略的に図示されており、すなわち、間隔や縦及び横方向の長さは縮尺通りでなく、特に明記しない限り互いに導出可能な幾何学的関係性を有さない。
好ましい実施形態における本発明の装置の概略図である。
図1は、FPGAとして構成された第1のプログラミング可能なハードウェアデバイス1(以下、FPGAと呼ぶ)と、プロセッサとして構成された第2のプログラミング可能なハードウェアデバイス2(以下、プロセッサと呼ぶ)とを備える本発明の1つの好ましい装置を示す。FPGA1は、当該FPGA1上にプログラミングされたロジック13と、当該FPGA1の外部に設けられたハードウェアとの間のデータ交換のためのデータインターフェース7を有する。このデータインターフェース7は、それぞれデータ入力部及び/又はデータ出力部として構成された多数のピンを有する。データインターフェース7とプロセッサ2との間には、第1のデータ接続部18が設けられている。ユーザによりFPGA1のための第1のロジック13によって記述するために、フラッシュメモリとして構成されたコンフィギュレーションメモリ14が設けられている。第2のデータ接続部26を介して第1のロジック13に基づいてFPGA1をプログラミングするために、CPLD(complex programmable logic device)として構成されたコンフィギュレーションユニット6(以下、CPLDと呼ぶ)が設けられている。第2のデータ接続部26は、専用のコンフィギュレーションインターフェースとして構成されたFPGA1のコンフィギュレーションインターフェース5と、CPLD6との間に設けられている。プロセッサ2は、第3データ接続部24を介してコンフィギュレーションメモリ14から第1のロジック13を読み出し、第4データ接続部16を介してCPLD6へと伝送するために構成されている。CPLD6には、ユーザがアクセス不可能な永続的なコンフィギュレーションロジック28が格納されている。コンフィギュレーションロジック28に基づいてCPLD6は、プロセッサ2から第1のロジック13を受信し、当該第1のロジック13に基づいてFPGA1をプログラミングするために構成されている。
図示した本装置の1つの適用例においては、プロセッサ2及びFPGA1は、メカトロニクスプロセスのための制御プログラムをハードリアルタイムで共同して処理するために設けられている。本装置は、この制御プログラムを用いてユーザによってプログラミングされ、制御プログラムの選択されたルーチン、特に極めてタイムクリティカルなルーチンを、ユーザによってFPGA1内に格納することが可能となっている。図示した本装置は、特別なソフトウェアツールを用いてプログラミングされ、このソフトウェアツールは、プロセッサ2をプログラミングするため、かつ、第1のロジック13をフラッシュメモリ14内に格納するために構成されている。この場合には、ソフトウェアツールは、第1のロジックが2つの部分ロジックから、すなわち必須のインターフェースロジック4と機能的なロジック11とから組み合わされることを保証する。機能的なロジック11は、ユーザによって自由にプログラミング可能であり、FPGA1内に格納されるべき制御プログラムのルーチンを含む。インターフェースロジック4は、ユーザによって自由にプログラミング不可能であり、機能的なロジック11とデータインターフェース7との間のデータ交換のためのメカニズムを提供している。インターフェースロジック4はさらに、機能的なロジック11のプログラミングエラーに起因した、FPGA1又はFPGA1の外部に設けられた他のハードウェアコンポーネントの損傷を防止するためのセーフティメカニズムを含む。ソフトウェアツールは、機能的なロジック11とデータインターフェース7との間のデータ交換が、専らインターフェースロジック4によって提供されたメカニズムに基づいて実行されることを保証する。CPLD6は、第1のロジック13に基づいてFPGA1をプログラミングする際に、機能的なロジック11とインターフェースロジック4との間の第5データ接続部12を構築する。
FPGA1は、JTAGインターフェースとして構成されたデバッグインターフェース8を有する。デバッグインターフェース8は、第6データ接続部22を介してJTAGコネクタ10に接続されており、ユーザはこのJTAGコネクタ10を介してデバッグインターフェース8にアクセスすることができる。第6データ接続部は、スイッチ32の開放によって中断することができ、スイッチ32は、ノーマル状態では閉成されている。本装置は、デバッグインターフェース8による第2のロジックに基づくFPGAのプログラミングを阻止するように構成されている。その理由は、デバッグインターフェース8が制限なくイネーブルされれば、ソフトウェアツールを使用することなくこのデバッグインターフェース8を介してFPGA1をプログラミングすることが可能となり得るからである。つまり、第2のロジックは、ユーザによって完全に自由にプログラミング可能となり、インターフェースロジック4内に格納されているようなセーフティメカニズムを基本的に含まなくなるだろう。
FPGA1は、コンフィギュレーション監視インターフェース9を有する。FPGA1は、このコンフィギュレーション監視インターフェース9を介して、当該FPGA1が現在プログラミングされている最中であるか否か、又は、プログラミングされた状態であるか否かをシグナリングする。例えば、コンフィギュレーション監視インターフェース9は、CONF_DONEインターフェースとして構成することができ、FPGA1は、当該FPGA1のプログラミングプロセスの進行中には論理値0を供給し、本装置の最後の起動以降にFPGA1の少なくとも1回のプログラミングプロセスが完了すると直ぐに、現在のプログラミングプロセスがコンフィギュレーションインターフェース5を介して実行されているのかデバッグインターフェース8を介して実行されているのかには関係なく、論理値1を供給する。
CPLD6は、第7データ接続部20を介してコンフィギュレーション監視インターフェース9を読み出すために構成されている。コンフィギュレーションロジック28に基づいてCPLD6は、バイナリの情報30に値0が格納されている場合には、当該バイナリの情報30を読み出して、FPGA1のプログラミングプロセスの終了後に再プログラミングするように構成されており、バイナリの情報30に値1が格納されている場合には、FPGA1を再プログラミングしないように構成されている。なお、バイナリの情報30は、初期時には、すなわち本装置の起動後には、値0にセットされている。
本発明によれば、CPLD6は、第1のロジック13に基づいてFPGA1をプログラミングし、本装置は、第1のロジック13に基づくFPGA1のプログラミングを以下のようにして実行するために構成されている:プロセッサ2は、バイナリの情報30を値1にセットし、信号を用いてCPLD6に対し、FPGA1のプログラミングを要求するリクエストを通知する。プロセッサ2は、コンフィギュレーションメモリ14内に格納されている第1のロジック13を読み出して、当該第1のロジック13を、第4データ接続部16を介してCPLD6へと伝送する。CPLD6は、第2のデータ接続部26を介して第1のロジック13に基づいてFPGA1をプログラミングする。すなわち、CPLD6は、第1のロジック13に相当する論理回路をFPGA1上に構築する。FPGA1は、コンフィギュレーション監視インターフェース9を介してプログラミングプロセスをシグナリングする。CPLD6は、FPGA1によるプログラミングプロセスのシグナリングを検出する。しかしながら、バイナリの情報30は値1にセットされているので、CPLD6は、当該プログラミングプロセスのシグナリングの結果としてFPGAの再プログラミングを実行することはない。プログラミングプロセスの完了後、CPLD6は、プロセッサ2に対してプログラミングプロセスの完了を通知し、プロセッサ2は、バイナリの情報30を再び値0にセットする。
デバッグインターフェース8を介して第2のロジックに基づいてFPGA1のプログラミングが試行された場合には、本装置は、以下のステップを実行するように構成されている:FPGA1は、デバッグインターフェース8を介して実行されているプログラミングプロセスを、コンフィギュレーション監視インターフェース9を介してシグナリングする。CPLD6は、第7データ接続部20を介して当該プログラミングプロセスを検出し、バイナリの情報30をチェックする。バイナリの情報30に値1が格納されている場合には、CPLD6は、これ以上のステップは実施せず、デバッグインターフェース8を介して第2のロジックに基づいて実行されているプログラミングプロセスは正しく完了される。バイナリの情報30に値0が格納されている場合には、CPLD6は、第8データ接続部31を介してスイッチ32を開放し、これによってプログラミングプロセスを終了させる。このようにして、第2のロジックに基づくプログラミングプロセスの完了と、FPGA1による第2のロジックの処理の開始とが阻止される。CPLD6はさらに、第4データ接続部16を介して伝送された信号を用いて、プロセッサ2に対し、FPGA1の再プログラミングを要求するリクエストを伝送する。プロセッサ2は、FPGA1の再プログラミングを要求するリクエストを検出し、コンフィギュレーションメモリ14内に格納されている第1のロジック13に基づくFPGAのプログラミングを上記のステップで実行することによって、再プログラミングを実行する。再プログラミングの完了後、CPLD6はスイッチ32を再び閉成し、プロセッサ2は画面表示を用いてユーザに対し、デバッグインターフェース8を介して試行されたFPGA1のプログラミングが中断され取り消されたことを通知する。
本発明の1つの実施形態においては、第1のロジック13は、少なくとも部分的にユーザによってプログラミングされたロジックである。別の1つの実施形態においては、第1のロジックは、ユーザによる影響を受けない予め規定されたロジックである。さらに別の1つの実施形態においては、第1のロジックは、初期時には、ユーザによる影響を受けない予め規定されたロジックであるが、ユーザ自身によって少なくとも部分的にプログラミングされた独自のロジックが、該ユーザによってコンフィギュレーションメモリ14内に格納されると直ぐに、前記第1のロジックは、少なくとも部分的にユーザによってプログラミングされた第1のロジックに置き換えられる。
本発明の別の1つの実施形態においては、デバッグインターフェース8を介して実行されたプログラミングプロセスを検出した後における、FPGAの再プログラミングと、スイッチ32の開放によるプログラミングプロセスの中断とを、非アクティブにすることが可能である。別の1つの実施形態においては、CPLD6は、デバッグインターフェース8を介して実行されたプログラミングプロセスを検出した後に、まず、CPLD30上に格納されているバイナリのライセンス情報をチェックし、このライセンス情報が値1にセットされている場合にはこれ以上のステップは実行せず、このライセンス情報が値0にセットされている場合にのみバイナリの情報30をチェックする。
コンフィギュレーションユニット6は、必ずしも独立した専用のコンフィギュレーションユニットとして構成する必要はなく、例えば、第2のプログラミング可能なハードウェアデバイス内に組み込むことも可能であることを理解されたい。さらには、第2のロジックに基づくプログラミングプロセスの中断は、必ずしもスイッチ32の開放によるビットストリームの中断によって実施する必要はなく、例えば、第1のプログラミング可能なハードウェアデバイスのリセットによって実施することも可能であることを理解されたい。さらには、コンフィギュレーションユニット6が第1のロジックを直接的に、すなわち第2のプログラミング可能なハードウェアデバイス2による仲介なしに、コンフィギュレーションメモリ14から読み出すことが可能であることを理解されたい。

Claims (13)

  1. 第1のプログラミング可能なハードウェアデバイス(1)のデバッグインターフェース(8)を部分的にイネーブルするための装置であって、
    特に、前記第1のプログラミング可能なハードウェアデバイス(1)は、PLD、プロセッサ、又は、PLDとプロセッサとの組み合わせであり、
    前記装置は、前記第1のプログラミング可能なハードウェアデバイス(1)と、コンフィギュレーションユニット(6)と、コンフィギュレーションメモリ(14)とを有し、
    前記第1のプログラミング可能なハードウェアデバイス(1)は、前記第1のプログラミング可能なハードウェアデバイス(1)をプログラミングするように構成されたコンフィギュレーションインターフェース(5)と、データインターフェース(7)と、前記第1のプログラミング可能なハードウェアデバイス(1)をデバッグ及びプログラミングするように構成されたデバッグインターフェース(8)とを有し、
    前記コンフィギュレーションメモリ(14)には、第1のロジック(13)が格納されており、前記コンフィギュレーションユニット(6)は、前記第1のプログラミング可能なハードウェアデバイス(1)を前記第1のロジック(13)に基づいてプログラミングするように構成されている
    装置において、
    前記コンフィギュレーションユニット(6)は、前記デバッグインターフェース(8)を介して第2のロジックに基づいて実行されている、前記第1のプログラミング可能なハードウェアデバイス(1)のプログラミングプロセスを検出し、前記デバッグインターフェース(8)を介して実行されている前記プログラミングプロセスの終了後に、前記第1のプログラミング可能なハードウェアデバイス(1)を前記第1のロジック(13)に基づいて再プログラミングするように構成されている
    ことを特徴とする、装置。
  2. 前記第1のプログラミング可能なハードウェアデバイス(1)の前記再プログラミングを、自動的に実行し、
    前記第1のプログラミング可能なハードウェアデバイス(1)の使用は、前記デバッグインターフェース(8)を介して実行されている前記プログラミングプロセスを検出している間の全期間内において、前記第1のロジック(13)に基づく前記再プログラミングが完了するまで遮断されている
    ことを特徴とする、請求項1記載の装置。
  3. 前記第1のプログラミング可能なハードウェアデバイス(1)は、当該第1のプログラミング可能なハードウェアデバイス(1)のプログラミングプロセスをシグナリングするように構成されたコンフィギュレーション監視インターフェース(9)を有し、
    前記コンフィギュレーションユニット(6)は、前記コンフィギュレーション監視インターフェース(9)を監視するように構成されている
    ことを特徴とする、請求項1又は2記載の装置。
  4. 前記コンフィギュレーションユニット(6)は、前記デバッグインターフェース(8)を介して実行されている前記プログラミングプロセスを検出した後、前記デバッグインターフェース(8)を介して実行されている当該プログラミングプロセスを阻止し、特にスイッチ(32)の開放によって、当該デバッグインターフェース(8)へと入ってくるビットストリームを中断する
    ことを特徴とする、請求項3記載の装置。
  5. 前記コンフィギュレーションユニット(6)は、前記デバッグインターフェース(8)を介して前記第2のロジックに基づいて実行された前記プログラミングプロセスの終了後に、前記第1のプログラミング可能なハードウェアデバイス(1)の再プログラミングを選択的に実行する又は実行しないように構成されている
    ことを特徴とする、請求項1から4のいずれか一項記載の装置。
  6. 前記第2のロジックに基づく前記プログラミングプロセスの終了後に、前記コンフィギュレーションユニット(6)が前記第1のプログラミング可能なハードウェアデバイス(1)を再プログラミングするか否かを規定している情報が、前記コンフィギュレーションユニット(6)のメモリに格納されている
    ことを特徴とする、請求項5記載の装置。
  7. 前記コンフィギュレーションユニット(6)は、CPLD、FPGA、プロセッサ、又は、これらのタイプのプログラミング可能なハードウェアデバイスのうち2つ又は3つの組み合わせとして構成されている
    ことを特徴とする、請求項1から6のいずれか一項記載の装置。
  8. 前記デバッグインターフェース(8)は、好ましくはIEEE標準1149.1に準拠した、JTAGインターフェースとして構成されている
    ことを特徴とする、請求項1から7のいずれか一項記載の装置。
  9. 前記装置は、第2のプログラミング可能なハードウェアデバイス(2)を有し、
    前記データインターフェース(7)と前記第2のプログラミング可能なハードウェアデバイス(2)との間にデータ接続部(18)が設けられており、
    前記第1のプログラミング可能なハードウェアデバイス(1)及び前記第2のプログラミング可能なハードウェアデバイス(2)は、プログラムを並行して処理するため、かつ、前記プログラムの処理中に前記データ接続部を介してプログラムデータを交換するために構成されている
    ことを特徴とする、請求項1から8のいずれか一項記載の装置。
  10. 前記第2のプログラミング可能なハードウェアデバイス(2)は、前記第1のプログラミング可能なハードウェアデバイス(1)をプログラミングするために構成されている
    ことを特徴とする、請求項9記載の装置。
  11. 前記第1のプログラミング可能なハードウェアデバイス(1)は、FPGAとして構成されており、前記第2のプログラミング可能なハードウェアデバイス(2)は、プロセッサ又はFPGAとして構成されている
    ことを特徴とする、請求項7から10のいずれか一項記載の装置。
  12. 前記第1のロジック(13)は、少なくとも部分的にユーザによって構築され、前記コンフィギュレーションメモリに格納される
    ことを特徴とする、請求項1から11のいずれか一項記載の装置。
  13. 前記第1のロジック(13)は、ユーザによって変更不可能な上書きロジックであるか、又は、
    前記第1のロジック(13)は、ユーザによって自由にコンフィギュレーション可能な機能的なロジック(11)と、前記機能的なロジック(11)と前記データインターフェース(7)との間のデータ交換のための必須のインターフェースロジック(4)とから組み合わされている
    ことを特徴とする、請求項12記載の装置。
JP2015143847A 2014-07-21 2015-07-21 デバッグインターフェースを部分的にイネーブルするための装置 Active JP6005222B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE102014110197.9 2014-07-21
DE102014110197 2014-07-21
DE102015110729.5 2015-07-03
DE102015110729.5A DE102015110729A1 (de) 2014-07-21 2015-07-03 Anordnung zur teilweisen Freigabe einer Debuggingschnittstelle

Publications (2)

Publication Number Publication Date
JP2016024829A true JP2016024829A (ja) 2016-02-08
JP6005222B2 JP6005222B2 (ja) 2016-10-12

Family

ID=53716375

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015143847A Active JP6005222B2 (ja) 2014-07-21 2015-07-21 デバッグインターフェースを部分的にイネーブルするための装置
JP2015143611A Active JP5940201B2 (ja) 2014-07-21 2015-07-21 プログラミング可能なハードウェアデバイスのコンフィギュレーションを阻止する装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015143611A Active JP5940201B2 (ja) 2014-07-21 2015-07-21 プログラミング可能なハードウェアデバイスのコンフィギュレーションを阻止する装置

Country Status (5)

Country Link
US (2) US9759770B2 (ja)
EP (1) EP2977905A1 (ja)
JP (2) JP6005222B2 (ja)
CN (2) CN105426280B (ja)
DE (1) DE102015110729A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108475473A (zh) 2016-02-12 2018-08-31 本田技研工业株式会社 车辆控制装置、车辆控制方法及车辆控制程序
US10853522B2 (en) * 2017-06-06 2020-12-01 Itron Networked Solutions, Inc. Automatic closing of non-secure ports in a remote network communications device
US11105850B2 (en) * 2018-05-24 2021-08-31 Seagate Technology Llc Secure debug system for electronic devices
EP3702947B1 (en) * 2019-03-01 2021-10-20 Siemens Aktiengesellschaft Method for verifying at runtime of a hardware-application component a current configuration setting of an execution environment provided by a configurable hardware module
EP3812938A1 (de) * 2019-10-24 2021-04-28 Siemens Aktiengesellschaft Rekonfiguration einer hardwarekomponente eines technischen geräts
DE102020116872A1 (de) 2020-03-27 2021-09-30 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Programmierung einer programmierbaren Gatteranordnung in einem verteilten Computersystem

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838901A (en) * 1996-08-05 1998-11-17 Xilinx, Inc. Overridable data protection mechanism for PLDs
JP2008529012A (ja) * 2005-01-31 2008-07-31 フォームファクター, インコーポレイテッド プローブカード上の信号をルーティングするプログラマブルデバイス
JP2011501294A (ja) * 2007-10-17 2011-01-06 ジーイー・インテリジェント・プラットフォームズ・インコーポレイテッド 補修および診断論理スキャンの装置ならびに方法
US7971051B2 (en) * 2007-09-27 2011-06-28 Fujitsu Limited FPGA configuration protection and control using hardware watchdog timer

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03205690A (ja) 1989-07-07 1991-09-09 Hudson Soft Co Ltd メモリアクセス制御装置
JPH1165884A (ja) * 1997-08-25 1999-03-09 Nec Corp マイクロコンピュータ及びそのデバッグ方法
DE19835609C2 (de) 1998-08-06 2000-06-08 Siemens Ag Programmgesteuerte Einheit
US6976136B2 (en) * 2001-05-07 2005-12-13 National Semiconductor Corporation Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
US6910127B1 (en) 2001-12-18 2005-06-21 Applied Micro Circuits Corporation System and method for secure network provisioning by locking to prevent loading of subsequently received configuration data
US7149636B2 (en) * 2002-04-04 2006-12-12 Texas Instruments Incorporated Method and apparatus for non-obtrusive power profiling
US6907595B2 (en) 2002-12-13 2005-06-14 Xilinx, Inc. Partial reconfiguration of a programmable logic device using an on-chip processor
US7242218B2 (en) * 2004-12-02 2007-07-10 Altera Corporation Techniques for combining volatile and non-volatile programmable logic on an integrated circuit
US20080168562A1 (en) * 2005-02-25 2008-07-10 Tomoyuki Haga Secure Processing Device and Secure Processing System
CN101233525A (zh) * 2005-05-26 2008-07-30 松下电器产业株式会社 数据处理装置
JP2009505303A (ja) * 2005-08-22 2009-02-05 エヌエックスピー ビー ヴィ 組み込みメモリ保護
US7665002B1 (en) * 2005-12-14 2010-02-16 Advanced Micro Devices, Inc. Multi-core integrated circuit with shared debug port
US7581087B2 (en) * 2006-01-17 2009-08-25 Qualcomm Incorporated Method and apparatus for debugging a multicore system
US7657805B2 (en) * 2007-07-02 2010-02-02 Sun Microsystems, Inc. Integrated circuit with blocking pin to coordinate entry into test mode
US8055936B2 (en) * 2008-12-31 2011-11-08 Pitney Bowes Inc. System and method for data recovery in a disabled integrated circuit
US8074118B2 (en) 2009-01-28 2011-12-06 Dspace Digital Signal Processing And Control Engineering Gmbh Method for influencing a control unit and manipulation unit
US8332641B2 (en) * 2009-01-30 2012-12-11 Freescale Semiconductor, Inc. Authenticated debug access for field returns
US20110145934A1 (en) 2009-10-13 2011-06-16 Miron Abramovici Autonomous distributed programmable logic for monitoring and securing electronic systems
US8686753B1 (en) 2011-04-08 2014-04-01 Altera Corporation Partial reconfiguration and in-system debugging
US20130031419A1 (en) * 2011-07-28 2013-01-31 International Business Machines Corporation Collecting Debug Data in a Secure Chip Implementation
JP5742575B2 (ja) * 2011-08-11 2015-07-01 富士電機株式会社 半導体集積回路およびデータ漏洩防止方法
JP5816034B2 (ja) * 2011-09-12 2015-11-17 パナソニック デバイスSunx株式会社 増設記憶装置、plcシステム、アダプタ装置
KR101301022B1 (ko) * 2011-12-23 2013-08-28 한국전자통신연구원 암 코어 기반의 프로세서를 위한 외부 공격 방어 장치 및 이를 이용한 방법
US8966313B2 (en) * 2012-04-30 2015-02-24 Hewlett-Packard Development Company, L.P. Systems and methods for a shared debug pin

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838901A (en) * 1996-08-05 1998-11-17 Xilinx, Inc. Overridable data protection mechanism for PLDs
JP2008529012A (ja) * 2005-01-31 2008-07-31 フォームファクター, インコーポレイテッド プローブカード上の信号をルーティングするプログラマブルデバイス
US7971051B2 (en) * 2007-09-27 2011-06-28 Fujitsu Limited FPGA configuration protection and control using hardware watchdog timer
JP2011501294A (ja) * 2007-10-17 2011-01-06 ジーイー・インテリジェント・プラットフォームズ・インコーポレイテッド 補修および診断論理スキャンの装置ならびに方法

Also Published As

Publication number Publication date
DE102015110729A1 (de) 2016-01-21
US9797947B2 (en) 2017-10-24
JP2016024827A (ja) 2016-02-08
JP5940201B2 (ja) 2016-06-29
US9759770B2 (en) 2017-09-12
CN105404829B (zh) 2019-03-08
US20160018464A1 (en) 2016-01-21
EP2977905A1 (de) 2016-01-27
US20160018465A1 (en) 2016-01-21
CN105404829A (zh) 2016-03-16
CN105426280B (zh) 2018-03-30
JP6005222B2 (ja) 2016-10-12
CN105426280A (zh) 2016-03-23

Similar Documents

Publication Publication Date Title
JP6005222B2 (ja) デバッグインターフェースを部分的にイネーブルするための装置
JP6790325B2 (ja) ターゲットデバイス、方法、プログラム、および非一時的なコンピュータ可読記憶媒体
US8910109B1 (en) System level tools to support FPGA partial reconfiguration
US20180059184A1 (en) Jtag debug apparatus and jtag debug method
JP4987182B2 (ja) コンピュータシステム
EP3198725B1 (en) Programmable ic with safety sub-system
KR20110124617A (ko) 시스템-온-칩 및 그것의 디버깅 방법
CN104035803A (zh) 一种更新cpld/fpga固件的方法、装置及烧录器
US9476937B2 (en) Debug circuit for an integrated circuit
WO2009155993A1 (en) A safety system for a machine
JP4865943B2 (ja) コンピュータシステム
JP6139386B2 (ja) プログラマブルコントローラ
JP2001154876A (ja) マイクロコンピュータデバッグアーキテクチャ及び方法
US20100070260A1 (en) Verification device, verifying apparatus and verification system
JP6175788B2 (ja) マイクロプログラムを更新可能な電子機器
US9495239B1 (en) User-configurable error handling
WO2010125793A1 (ja) 試験装置および試験方法
CN108710554A (zh) 处理器侦错系统及方法
CN203191966U (zh) 一种看门狗控制电路
CN110764966B (zh) 用于ecu安全监控系统工作模式的自适应方法及系统
JP6274947B2 (ja) 車載制御装置のマイクロプロセッサの異常診断方法
RU2110833C1 (ru) Внутрисхемный эмулятор
JP6264662B2 (ja) 集積回路
CN104657178A (zh) 一种采用接口技术进行fpga配置的方法
JP6060775B2 (ja) リセット回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160729

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160906

R150 Certificate of patent or registration of utility model

Ref document number: 6005222

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250