JP2001201543A - Recording medium with scan pass constructing program recorded thereon, constructing method of scan pass, and arithmetic processing system with this scan pass integrated therein - Google Patents
Recording medium with scan pass constructing program recorded thereon, constructing method of scan pass, and arithmetic processing system with this scan pass integrated thereinInfo
- Publication number
- JP2001201543A JP2001201543A JP2000013898A JP2000013898A JP2001201543A JP 2001201543 A JP2001201543 A JP 2001201543A JP 2000013898 A JP2000013898 A JP 2000013898A JP 2000013898 A JP2000013898 A JP 2000013898A JP 2001201543 A JP2001201543 A JP 2001201543A
- Authority
- JP
- Japan
- Prior art keywords
- scan path
- path
- scan
- data
- integrated circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318583—Design for test
- G01R31/318591—Tools
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318364—Generation of test inputs, e.g. test vectors, patterns or sequences as a result of hardware simulation, e.g. in an HDL environment
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、FPGA(Field
Programmable Gate Array)やPLD(Programmable Log
ic Device)等の集積回路上のレジスタやメモリに対する
データの入出力用のパスであるスキャン・パスの構築用
プログラムを記録した記録媒体とスキャン・パスの構築
方法及びこのスキャン・パスを組み込んだ演算処理シス
テムに係わり、特に、CPUやIP(Intellectual Pro
perty)等より構成される集積回路のボード・テスト(実
機テスト)の効率化と容易化を図る技術に関するもので
ある。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an FPGA (Field
Programmable Gate Array) and PLD (Programmable Log
ic Device), a recording medium storing a scan path construction program that is a path for inputting and outputting data to registers and memories on an integrated circuit such as an integrated circuit, a method of constructing a scan path, and an operation incorporating the scan path Related to processing systems, especially CPU and IP (Intellectual Pro
The present invention relates to a technology for improving the efficiency and facilitation of a board test (actual device test) of an integrated circuit composed of (perty) and the like.
【0002】[0002]
【従来の技術】従来、FPGAやPLDを含む特定用途
向きの論理回路であるASIC(Application Specific
Integrated Circuit)等の集積回路の分野において、回
路の機能の高度化に伴い、回路が大規模化、複雑化し、
テスト自体が複雑化する傾向にある。これらの集積回路
を構成する論理回路は、入力に対して一義的に出力の定
まる組み合わせ回路と、過去の状態と入力の関数によっ
て出力の定まる順序回路に分類できる。これらの回路の
うち、組み合わせ回路については、Dアルゴリズムや乱
数を使用してテストパターンを自動作成し、このテスト
パターンを回路の外部端子に加える入力信号として使用
して、他の外部端子に現れた出力信号をチェックするテ
スト方法が一般化しているが、フリップフロップ回路に
代表される順序回路については、フリップフロップの値
を任意にセットしたり、読み出したりすることが簡単で
はないので、Dアルゴリズム等を用いたテストパターン
の自動作成が困難である。そこで、順序回路について、
回路内のフリップフロップを鎖状に連結してシフトレジ
スタとしても動作するように設計しておき、テスト時に
このシフト機能を用いて、外部から各フリップフロップ
の値を任意に制御・観測するスキャン・パス方式を採用
したものがある(例えば、特開平10−143390号
公報等参照)。2. Description of the Related Art Conventionally, an ASIC (Application Specific Application) which is a logic circuit for a specific application including an FPGA and a PLD is known.
In the field of integrated circuits such as (Integrated Circuit), circuits have become larger and more complex with the advancement of circuit functions.
The tests themselves tend to be more complex. Logic circuits constituting these integrated circuits can be classified into a combinational circuit whose output is uniquely determined with respect to an input and a sequential circuit whose output is determined by a function of a past state and an input. Of these circuits, for combinational circuits, a test pattern was automatically created using the D algorithm and random numbers, and this test pattern was used as an input signal to be applied to external terminals of the circuit, and appeared at other external terminals. Test methods for checking output signals have been generalized, but for sequential circuits represented by flip-flop circuits, it is not easy to set or read out the value of the flip-flop arbitrarily, so the D algorithm It is difficult to automatically create a test pattern using a test pattern. Therefore, for the sequential circuit,
The flip-flops in the circuit are designed to operate as a shift register by connecting them in a chain, and the scan function is used to control and observe the value of each flip-flop externally using this shift function during testing. There is one that adopts a pass method (for example, see Japanese Patent Application Laid-Open No. H10-143390).
【0003】[0003]
【発明が解決しようとする課題】しかしながら、上記特
開平10−143390号公報に示されるような従来の
スキャン・パス方式のテストは、半導体メーカが設計段
階で回路内のフリップフロップについてのスキャン・パ
ス構成を作成しておくことにより実現可能となるもので
あるため、FPGAやPLDのようにユーザが開発現場
で任意に論理を書き込むことによって所望のユーザ・ロ
ジック回路を手元で作成する方式の集積回路のテストに
は使用することができず、従って、このような回路の検
証は、PC(Personal Computer)やEWS(Engineerin
g Work Station) を用いた論理シミュレーションやタイ
ミング・シミュレーションを中心に行われていた。この
ため、FPGAやPLDに組み込んだユーザ・ロジック
回路のテストを効率的に行うことができず、FPGAや
PLD上におけるユーザ・ロジック回路の開発に長期間
を要するという問題があった。However, the test of the conventional scan path method as disclosed in Japanese Patent Application Laid-Open No. H10-143390 described above requires a semiconductor maker to scan flip-flops in a circuit at the design stage. Since it can be realized by creating a configuration, an integrated circuit of a method in which a user can create a desired user logic circuit at hand by writing arbitrary logic at a development site, such as an FPGA or a PLD Therefore, such a circuit cannot be verified by a PC (Personal Computer) or EWS (Engineerin
g Work Station), mainly for logic simulation and timing simulation. For this reason, the test of the user logic circuit incorporated in the FPGA or PLD cannot be efficiently performed, and there is a problem that it takes a long time to develop the user logic circuit on the FPGA or PLD.
【0004】本発明は、上述した問題点を解決するため
になされたものであり、ユーザ側でFPGA等の集積回
路上に回路上のレジスタやメモリに対するスキャン・パ
スを容易に構築することができるようにして、集積回路
上に構成したユーザ・ロジック回路のテストを効率的に
行うことができ、ユーザ・ロジック回路の開発期間を短
期化することが可能なスキャン・パス構築用プログラム
を記録した記録媒体とスキャン・パスの構築方法を提供
することを目的とする。また、FPGA等の集積回路上
のロジック回路の規模を大型化させることなく、CPU
コアの機能を得ることが可能な演算処理システムを提供
することを目的とする。さらにまた、言語仕様の異なる
複数のCPUコアを制御することが可能な演算処理シス
テムを提供することを目的とする。SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and a user can easily construct a scan path for registers and memories on an integrated circuit such as an FPGA on a user side. In this way, the recording of the scan path construction program which can efficiently perform the test of the user logic circuit formed on the integrated circuit and can shorten the development period of the user logic circuit It is an object to provide a method for constructing a medium and a scan path. Also, without increasing the scale of a logic circuit on an integrated circuit such as an FPGA,
An object of the present invention is to provide an arithmetic processing system capable of obtaining a core function. Still another object of the present invention is to provide an arithmetic processing system capable of controlling a plurality of CPU cores having different language specifications.
【0005】[0005]
【課題を解決するための手段】上記目的を達成するため
に請求項1の発明は、コンピュータによってFPGA等
の集積回路上のレジスタやメモリに対するデータの入出
力用のパスであるスキャン・パスを集積回路上に構築す
るためのプログラムを記録した記録媒体であって、該プ
ログラムは、コンピュータに、スキャン・パスの定義情
報を読み込ませ、集積回路上に構築するスキャン・パス
の基になるハードウェア記述言語レベルのスキャン・パ
スのロジックを、スキャン・パス定義情報に基づいて生
成させるものである。In order to achieve the above object, according to the first aspect of the present invention, a scan path which is a data input / output path to a register or a memory on an integrated circuit such as an FPGA is integrated by a computer. A recording medium recording a program for constructing on a circuit, the program causing a computer to read definition information of a scan path, and a hardware description as a basis of the scan path to be constructed on an integrated circuit. The scan path logic at the language level is generated based on the scan path definition information.
【0006】上記構成においては、プログラムが、コン
ピュータに、スキャン・パスの定義情報を読み込ませ、
集積回路上に構築するスキャン・パスの基になるハード
ウェア記述言語レベルのスキャン・パスのロジックを、
スキャン・パス定義情報に基づいて生成させる。これに
より、ユーザが、このスキャン・パスのロジックに基づ
いて、FPGA等の集積回路上に回路上のレジスタやメ
モリに対するスキャン・パスを容易に構築することがで
きる。In the above configuration, the program causes the computer to read the definition information of the scan path,
The logic of the scan path at the hardware description language level, which is the basis of the scan path built on the integrated circuit,
Generated based on scan path definition information. Thus, the user can easily construct a scan path for a register or a memory on the circuit on an integrated circuit such as an FPGA based on the logic of the scan path.
【0007】また、プログラムが、さらに、コンピュー
タに、生成させたスキャン・パスのロジックとスキャン
・パスを制御するコントローラ等のロジックとの接続関
係についてのバッカス記号法による記述情報を読み込ま
せ、この記述情報に基づいて、接続関係についてのハー
ドウェア記述言語レベルのコネクション・ファイルを生
成させることが望ましい。これにより、このコネクショ
ン・ファイルに基づいて、スキャン・パスの回路とコン
トローラ等の回路を容易に接続することができる。Further, the program further causes the computer to read descriptive information in Bacchus notation regarding the connection relationship between the logic of the generated scan path and the logic such as a controller for controlling the scan path. It is desirable to generate a hardware description language level connection file for the connection relationship based on the information. Thereby, the circuit of the scan path and the circuit such as the controller can be easily connected based on the connection file.
【0008】また、請求項3の発明は、プログラムされ
たコンピュータによって、FPGA等の集積回路上のレ
ジスタやメモリに対するデータの入出力用のパスである
スキャン・パスを集積回路上に構築する方法であって、
スキャン・パスの定義情報を入力するステップと、集積
回路上に構築するスキャン・パスの基になるハードウェ
ア記述言語レベルのスキャン・パスのロジックを、スキ
ャン・パス定義情報に基づいて生成するステップとから
なるものである。この方法により、上記請求項1に記載
の発明と同様な作用を得ることができる。According to a third aspect of the present invention, there is provided a method for constructing a scan path, which is a path for inputting and outputting data to a register and a memory on an integrated circuit such as an FPGA, on the integrated circuit by a programmed computer. So,
Inputting scan path definition information, and generating, based on the scan path definition information, logic of a hardware description language level scan path based on the scan path to be built on the integrated circuit. It consists of According to this method, the same operation as the first aspect of the invention can be obtained.
【0009】また、生成されたスキャン・パスのロジッ
クとスキャン・パスを制御するコントローラ等のロジッ
クとの接続関係についてのバッカス記号法による記述情
報を入力するステップと、この記述情報に基づいて、こ
れらの接続関係についてのハードウェア記述言語レベル
のコネクション・ファイルを生成するステップとをさら
に備えたものとすることが望ましい。この方法により、
上記と同様な作用を得ることができる。A step of inputting descriptive information in Bacchus notation for a connection relationship between the generated scan path logic and logic such as a controller for controlling the scan path, and based on the descriptive information, Generating a hardware description language level connection file for the connection relationship of In this way,
The same operation as described above can be obtained.
【0010】また、請求項5の発明は、FPGA等の集
積回路と、コンピュータと、これらの間のデータの伝送
を媒介するインタフェース装置とより構成された演算処
理システムであって、集積回路側に所定のデータ幅で演
算処理を行うデータパスとこのデータパスに対するスキ
ャン・パスとを配設し、コンピュータ側にこのデータパ
スを制御する機能を持たせて、スキャン・パスとインタ
フェース装置を介してコンピュータとデータパスとの間
のデータの伝送を行うものである。According to a fifth aspect of the present invention, there is provided an arithmetic processing system comprising an integrated circuit such as an FPGA, a computer, and an interface device for mediating data transmission therebetween. A data path for performing arithmetic processing with a predetermined data width and a scan path for this data path are provided, and the computer is provided with a function of controlling this data path. And data transmission between the data path.
【0011】この構成においては、コンピュータが、ス
キャン・パスとインタフェース装置を通して集積回路側
に配設されたデータパスに対して制御コードを送信する
ことで、集積回路側のデータパスに対して演算処理を実
行させることができる。すなわち、集積回路側のデータ
パスの演算機能とコンピュータ側のデータパス制御機能
を用いて、従来のCPUコアと同様な処理を行うことが
できる。In this configuration, the computer transmits a control code to the data path provided on the integrated circuit through the scan path and the interface device, thereby performing arithmetic processing on the data path on the integrated circuit. Can be executed. That is, the same processing as that of the conventional CPU core can be performed by using the data path arithmetic function on the integrated circuit side and the data path control function on the computer side.
【0012】また、請求項6の発明は、CPUコアを有
する複数の集積回路と、コンピュータと、これらの間の
データの伝送を媒介するインタフェース装置とより構成
された演算処理システムであって、複数の集積回路上の
各CPUコアに対するスキャン・パスを各集積回路上に
構築して、コンピュータは、スキャン・パスとインタフ
ェース装置を介して複数の集積回路上の各CPUコアに
対する制御用のコードを伝送するものである。According to a sixth aspect of the present invention, there is provided an arithmetic processing system comprising a plurality of integrated circuits having a CPU core, a computer, and an interface device for mediating data transmission therebetween. The computer transmits a control code for each CPU core on a plurality of integrated circuits via the scan path and the interface device by constructing a scan path for each CPU core on the integrated circuit on the integrated circuit. Is what you do.
【0013】この構成においては、コンピュータが、ス
キャン・パスとインタフェース装置を通して複数の集積
回路上の各CPUコアに対して制御用のコードを伝送す
るので、例えば、コンピュータ側から各CPUコアが認
識可能な制御用のコードを送信することで、1台のコン
ピュータにより言語仕様の異なる複数のCPUコアを制
御することができる。In this configuration, since the computer transmits the control code to each of the CPU cores on the plurality of integrated circuits through the scan path and the interface device, for example, each of the CPU cores can be recognized from the computer side. By transmitting such a control code, a single computer can control a plurality of CPU cores having different language specifications.
【0014】[0014]
【発明の実施の形態】以下、本発明の一実施形態による
記録媒体に記録されたプログラムを利用して構築したス
キャン・パスと、このスキャン・パスを用いて作成した
インタフェース・システムについて図面を参照して説明
する。図1に本実施形態による記録媒体に記録されたプ
ログラムを利用して構築したスキャン・パスを含むイン
タフェース・システムの概略を示す。このインタフェー
ス・システム1は、集積回路の一種であるFPGA(Fi
eld Programmable Gate Array)2上のユーザ・ロジック
回路の実機テストを行うためのものである。インタフェ
ース・システム1は、FPGA2の一部に配置されたユ
ーザ・ロジック回路用のデバッグ・モジュールであるA
SH(Adaptive Scan Handler:適用型走査処理部) 3、
ASH3に対する制御用のコマンドの発行やコマンドの
実行結果を表示するためのPC(PersonalComputer)
5、及びPC5から送られてきたコマンドの内容に従っ
てASH3とPC5との間のデータの送受信を行うイン
タフェース装置(Adaptive Scan Agent Pod :以下、A
SAPと略す)4より構成される。また、PC5には、
FPGA2上のユーザ・ロジック回路に対するテスト用
のパス(以下、スキャン・パスという)についてのロジ
ックの生成と、このスキャン・パスのロジックとASH
3内の各種コントローラのロジックとの接続関係につい
てのコネクション・ファイルの作成とを行うためのプロ
グラム(請求項におけるスキャン・パス構築用プログラ
ム)が格納されている。このプログラムは、CD−RO
M7(記録媒体)からインストールされたものである。
ユーザは、このプログラムを起動してユーザ・ロジック
回路に対するスキャン・パスのロジックとコネクション
・ファイルとのハードウェア記述言語レベルのソース・
ファイル6を出力する。この実施形態ではハードウェア
記述言語としてVHDL(VHSIC Hardware Description
Language)を用いるため、ソース・ファイル6に出力さ
れるスキャン・パスのロジックのソースとコネクション
・ファイルのソースとは、VHDLのソースとなる。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a scan path constructed using a program recorded on a recording medium according to an embodiment of the present invention and an interface system created using the scan path will be described with reference to the drawings. I will explain. FIG. 1 shows an outline of an interface system including a scan path constructed using a program recorded on a recording medium according to the present embodiment. This interface system 1 is a type of integrated circuit such as an FPGA (Fi
This is for performing an actual test of the user logic circuit on the eld programmable gate array (2). The interface system 1 is a debug module A for a user logic circuit arranged in a part of the FPGA 2.
SH (Adaptive Scan Handler) 3.
PC (Personal Computer) for issuing control commands to ASH3 and displaying command execution results
5 and an interface device (Adaptive Scan Agent Pod: hereinafter referred to as A) for transmitting and receiving data between the ASH 3 and the PC 5 in accordance with the contents of the command sent from the PC 5.
4). Also, in PC5,
Generation of logic for a test path (hereinafter, referred to as a scan path) for the user logic circuit on the FPGA 2 and the logic of the scan path and ASH
A program (scan path construction program in the claims) for creating a connection file regarding the connection relationship with the logic of the various controllers in 3 is stored. This program is CD-RO
This is installed from M7 (recording medium).
The user activates this program to execute a hardware description language level source connection between the logic of the scan path for the user logic circuit and the connection file.
Output file 6. In this embodiment, VHDL (VHSIC Hardware Description) is used as a hardware description language.
Language), the source of the scan path logic output to the source file 6 and the source of the connection file are VHDL sources.
【0015】上記ソース・ファイル6に出力されたソー
スレベルのスキャン・パスのロジックに基づいて、FP
GA2上へのスキャン・パス回路の構築及び組み込みが
行われる。下記の説明では、先にFPGA2上へのスキ
ャン・パス回路の構築・組み込みが完了した後のインタ
フェース・システム1の構成及びデータの流れについて
説明し、その後でFPGA2上へのスキャン・パス回路
の構築及び組み込みについて説明する。図2にスキャン
・パス回路の構築・組み込み後のインタフェース・シス
テム1の詳細構成を示す。PC5は、図1のCD−RO
M7からインストールされたスキャン・パス構築用プロ
グラムが格納された基本論理回路生成部51、FPGA
2の実機テストの際にASH3に対する制御用のコマン
ドの発行等を行う実機制御部52、基本論理回路生成部
51へのデータの入力や実機制御部52への指示を与え
るための入力部53、実機制御部52がASH3に対し
て発行した制御用コマンドの実行結果等を表示するため
の表示部54、及びASAP4と通信を行うための通信
ドライバ55より構成される。ASAP4は、PC5と
通信を行うための通信ドライバ41、PC5より送られ
てきた大まかなコマンドを解析してASH3に対する詳
細なコマンドを発行するコントローラ部42、及びコン
トローラ部42から受け取ったコマンドの内容に応じて
ASH3に対するデータの送受信を行うTAPコントロ
ーラ部43より構成される。このTAPコントローラ部
43は、TAP(Test Access Port)と呼ばれる図示さ
れていないバウンダリ・スキャン・テスト用の専用端子
を備えており、この専用端子を用いてASH3との信号
の送受信を行う。TAPは、ASH3からのデータを入
力するためのTDI(Test Data Input)、ASH3へデ
ータを出力するためのTDO(Test Data Output) 、テ
スト制御状態を設定するTMS(Test Mode Select)、
及びテスト用クロックを入力するTCK(Test Clock)
の4本の専用端子からなる。Based on the logic of the source-level scan path output to the source file 6, the FP
The construction and installation of the scan path circuit on the GA 2 are performed. In the following description, the configuration of the interface system 1 and the flow of data after the construction and installation of the scan path circuit on the FPGA 2 are completed, and then the construction of the scan path circuit on the FPGA 2 And the incorporation will be described. FIG. 2 shows a detailed configuration of the interface system 1 after the scan path circuit is constructed and installed. PC5 is the CD-RO of FIG.
Basic logic circuit generation unit 51 storing scan path construction program installed from M7, FPGA
An actual unit control unit 52 for issuing a control command to the ASH 3 at the time of the actual unit test 2; an input unit 53 for inputting data to the basic logic circuit generation unit 51 and giving an instruction to the actual unit control unit 52; A display unit 54 displays the execution result of the control command issued to the ASH 3 by the real machine control unit 52, and a communication driver 55 for communicating with the ASAP 4. The ASAP 4 includes a communication driver 41 for communicating with the PC 5, a controller 42 that analyzes a rough command sent from the PC 5 and issues a detailed command to the ASH 3, and a command received from the controller 42. The TAP controller 43 transmits and receives data to and from the ASH 3 accordingly. The TAP controller unit 43 has a dedicated terminal (not shown) for a boundary scan test called a TAP (Test Access Port), and transmits and receives signals to and from the ASH 3 using this dedicated terminal. The TAP includes TDI (Test Data Input) for inputting data from ASH3, TDO (Test Data Output) for outputting data to ASH3, TMS (Test Mode Select) for setting a test control state,
(Test Clock) for inputting a test clock
And four dedicated terminals.
【0016】FPGA2は、上述したデバッグ・モジュ
ールであるASH3とユーザが作成したロジック回路2
4a,24b,24cとを含む。また、ASH3は、A
SAP4側のTAPコントローラ部43との信号の送受
信を行うためのTAPコントローラ部21と、PC5の
実機制御部52から発行されたコマンドに従ってTAP
コントローラ部21と接続するパスを切り替えるパスコ
ントローラ部22と、実機制御部52から発行されたコ
マンドに応じて各ユーザ・ロジック回路24a,24
b,24c内のメモリやレジスタのデータの取り込み・
更新を行うためのテスト用のパスであるスキャン・パス
23a,23b,23cとより構成される。PC5とA
SAP4の間のデータ伝送は、RS−232Cインタフ
ェースにより行われるが、ASAP4とASH3の間の
データ伝送は、バウンダリ・スキャン・テスト用のJT
AGインタフェースにより行われる。The FPGA 2 is comprised of the above-described debug module ASH3 and a logic circuit 2 created by a user.
4a, 24b, and 24c. ASH3 is A
The TAP controller 21 for transmitting and receiving signals to and from the TAP controller 43 on the SAP 4 side, and the TAP according to a command issued from the actual device controller 52 of the PC 5
A path controller 22 for switching a path to be connected to the controller 21; and each of the user logic circuits 24a and 24 according to a command issued from the actual device controller 52.
b, fetching data of memory and register in 24c
It is composed of scan paths 23a, 23b and 23c which are test paths for updating. PC5 and A
The data transmission between SAP4 is performed by the RS-232C interface, but the data transmission between ASAP4 and ASH3 is JT for the boundary scan test.
This is performed by the AG interface.
【0017】図3にFPGA2内の各モジュール間のデ
ータの流れを示す。TAPコントローラ部21は、AS
AP4から送信される図示していないTMS信号(上述
のTMS端子から出力された信号)に基づいてステータ
スを遷移させる。そして、このTAPコントローラ部2
1のステータスに応じて、メイン・コントローラ26内
のIR(Instraction Register) に対するスキャン・パ
スであるインストラクション・レジスタ・スキャン・パ
ス27にアクセスを行うか、各ユーザ・ロジック回路2
4a,24b,24c内のレジスタやメモリに対するス
キャン・パス23a,23b,23cにアクセスを行う
かを決定する。TAPコントローラ部21は、メイン・
コントローラ26内のIRにコマンドを送る場合には、
ASAP4から送信されたTDO信号(TDO端子から
出力された信号)を、IR−TDO信号としてインスト
ラクション・レジスタ・スキャン・パス27に出力し、
また、メイン・コントローラ26内のIRの内容を読み
込む場合には、インストラクション・レジスタ・スキャ
ン・パス27から出力されたIR−TDI信号をTDI
信号(TDI端子への入力信号)としてASAP4へ送
信する。また、TAPコントローラ部21は、各ユーザ
・ロジック回路24a,24b,24c内のレジスタや
メモリにシリアルデータを送る場合には、ASAP4か
ら送信されたTDO信号をDR(Data Register)−TD
O信号としてスキャン・パス23a,23b,23cに
出力し、また、各ユーザ・ロジック回路24a,24
b,24c内のレジスタやメモリの内容を読み込む場合
には、スキャン・パス23a,23b,23cから出力
されたDR−TDI信号をTDI信号(TDI端子への
入力信号)としてASAP4へ送信する。FIG. 3 shows a data flow between each module in the FPGA 2. The TAP controller unit 21
The status is changed based on a TMS signal (not shown) transmitted from the AP 4 (signal output from the TMS terminal described above). And this TAP controller unit 2
In accordance with the status 1, access is made to an instruction register scan path 27 which is a scan path for an IR (Instraction Register) in the main controller 26 or each user logic circuit 2
It is determined whether to access the scan paths 23a, 23b, and 23c for the registers and the memories in 4a, 24b, and 24c. The TAP controller 21 includes a main
When sending a command to the IR in the controller 26,
The TDO signal transmitted from the ASAP 4 (the signal output from the TDO terminal) is output to the instruction register scan path 27 as an IR-TDO signal,
When reading the contents of the IR in the main controller 26, the IR-TDI signal output from the instruction register scan path 27 is read by the TDI.
The signal is transmitted to the ASAP 4 as a signal (input signal to the TDI terminal). When sending serial data to registers and memories in each of the user logic circuits 24a, 24b and 24c, the TAP controller 21 converts the TDO signal transmitted from the ASAP 4 into a DR (Data Register) -TD.
An O signal is output to the scan paths 23a, 23b, and 23c.
When reading the contents of the registers and memories in b and 24c, the DR-TDI signal output from the scan paths 23a, 23b and 23c is transmitted to the ASAP 4 as a TDI signal (input signal to the TDI terminal).
【0018】ASAP4からアクセス可能なスキャン・
パス23a,23b,23cの切り替えを行う場合に
は、PC5より発行したSELECT-SCAN-PATHコマンドをA
SAP4とTAPコントローラ部21とを介してインス
トラクション・レジスタ・スキャン・パス27に送り、
メイン・コントローラ26によりこのコマンドを実行さ
せる。これにより、メイン・コントローラ26からセレ
クト・スキャン・モジュール25に対してスキャン・パ
ス切替信号が送信されて、ASAP4からアクセス可能
なスキャン・パス23a,23b,23c(以下、まと
めてスキャン・パス23と表す)が切り替えられる。ま
た、各ユーザ・ロジック回路24a,24b,24c
(以下、まとめてユーザ・ロジック回路24と表す)と
メイン・コントローラ26との間には、スキャン・パス
23を通してユーザ・ロジック回路24内のレジスタや
メモリにデータを送り込むか、ユーザ・ロジック回路2
4内のレジスタやメモリのデータを読み込むかの指示を
与えるためのHALT信号用の信号線が設けられてい
る。Scans accessible from ASAP4
When switching the paths 23a, 23b, and 23c, the SELECT-SCAN-PATH command issued from the PC 5
Sent to the instruction register scan path 27 via the SAP 4 and the TAP controller 21;
This command is executed by the main controller 26. As a result, a scan path switching signal is transmitted from the main controller 26 to the select scan module 25, and the scan paths 23a, 23b, and 23c accessible from the ASAP 4 (hereinafter collectively referred to as scan paths 23 and 23). ) Is switched. Further, each user logic circuit 24a, 24b, 24c
(Hereinafter, collectively referred to as a user logic circuit 24) and the main controller 26, data is sent to a register or a memory in the user logic circuit 24 through the scan path 23, or the user logic circuit 2
4 is provided with a signal line for a HALT signal for giving an instruction as to whether data in a register or a memory in the memory 4 is to be read.
【0019】次に、FPGA2上へのスキャン・パス2
3の回路の構築について説明する。スキャン・パス23
の回路の構築は、PC5内の基本論理回路生成部51に
より自動生成したスキャン・パス23のVHDLレベル
のロジックに基づいて行われる。このスキャン・パス2
3のVHDLレベルのロジック生成について図4を参照
して説明する。ユーザは、スキャン・パス23のロジッ
ク生成に先立って、PC5の入力部53を用いてスキャ
ン・パス23についての各種定義情報を入力する。すな
わち、ユーザは、最初に、作成するスキャン・パス数N
を設定して(#1)、以下、N個分のスキャン・パスに
ついての定義情報を入力する(#2〜#12)。具体的
には、まず、各スキャン・パス23のデータビット長の
入力を行う(#4)。そして、ASAP4から送信され
たデータをスキャン・パス23を介してユーザ・ロジッ
ク回路24内のレジスタやメモリに書き込み可能とする
場合、つまり、ライト・コントロールを有りとする場合
には(#5でYES)、ユーザは、スキャン・パス23
のアクセス対象がレジスタのときは(#6でYES)、
スキャン・パス23のVHDLソースコードを生成する
ための入力パラメタとして、ライト制御フラグ(図6参
照)付きのレジスタ用スキャン・パスの定義情報を入力
する(#7)。また、スキャン・パス23のアクセス対
象がメモリのときは(#6でNO)、ユーザは、パラメ
タとして、ライト制御フラグ付きのメモリ用スキャン・
パスの定義情報を入力する(#8)。Next, scan path 2 on FPGA 2
The construction of the third circuit will be described. Scan path 23
Is constructed based on the VHDL level logic of the scan path 23 automatically generated by the basic logic circuit generation unit 51 in the PC 5. This scan path 2
3 will be described with reference to FIG. The user inputs various definition information about the scan path 23 using the input unit 53 of the PC 5 before generating the logic of the scan path 23. That is, the user first sets the number N of scan passes to be created.
Is set (# 1), and thereafter, definition information on N scan paths is input (# 2 to # 12). Specifically, first, the data bit length of each scan path 23 is input (# 4). When the data transmitted from the ASAP 4 can be written to the register or the memory in the user logic circuit 24 via the scan path 23, that is, when the write control is performed (YES in # 5) ), The user may select scan path 23
If the access target is a register (YES in # 6),
As input parameters for generating the VHDL source code of the scan path 23, the definition information of the register scan path with the write control flag (see FIG. 6) is input (# 7). Further, when the access target of the scan path 23 is a memory (NO in # 6), the user specifies a memory scan parameter with a write control flag as a parameter.
The path definition information is input (# 8).
【0020】これに対して、ASAP4から送信された
データをスキャン・パス23を介してユーザ・ロジック
回路24内のレジスタやメモリに書き込まず、ユーザ・
ロジック回路24内のレジスタやメモリのデータをスキ
ャン・パス23を介して読み取ることだけを可能とした
い場合、つまり、ライト・コントロールを無しとする場
合には(#5でNO)、ユーザは、アクセス対象がレジ
スタのときは(#9でYES)、スキャン・パス23の
VHDLソースコードを生成するための入力パラメタと
して、ライト制御フラグ無しのレジスタ用スキャン・パ
スの定義情報を入力し(#10)、また、アクセス対象
がメモリのときは(#9でNO)、ライト制御フラグ無
しのメモリ用スキャン・パスの定義情報を入力する(#
11)。そして、ユーザが全てのスキャン・パス23に
ついての定義情報の入力を終了すると(#3でNO)、
PC5内の基本論理回路生成部51は、入力された各ス
キャン・パス23の定義情報に基づいて、N個のスキャ
ン・パス23とこれらに対応したセレクト・スキャン・
モジュール25とメイン・コントローラ26とについて
のVHDLソースコードを生成する(#13)。On the other hand, the data transmitted from the ASAP 4 is not written to the register or the memory in the user logic circuit 24 via the scan path 23,
If it is desired that data in a register or a memory in the logic circuit 24 can only be read via the scan path 23, that is, if there is no write control (NO in # 5), the user needs to access When the target is a register (YES in # 9), definition information of a register scan path without a write control flag is input as an input parameter for generating a VHDL source code of the scan path 23 (# 10). When the access target is a memory (NO in # 9), the definition information of the memory scan path without the write control flag is input (#
11). When the user finishes inputting the definition information for all the scan paths 23 (NO in # 3),
Based on the input definition information of each scan path 23, the basic logic circuit generation unit 51 in the PC 5 generates N scan paths 23 and select scan paths corresponding thereto.
A VHDL source code for the module 25 and the main controller 26 is generated (# 13).
【0021】次に、上記#4乃至#11で行われる各ス
キャン・パス23の定義処理について図5及び図6を参
照して詳述する。図5に示されるように、各スキャン・
パス23を定義するための項目としては、以下の6つの
項目がある。 入力バス33の数(各スキャン・パス23が読み込み
可能なレジスタ又はメモリの数に相当) 出力バス34の数(各スキャン・パス23から書き込
み可能なレジスタ又はメモリの数に相当) 各レジスタ(又はメモリ)に対して書き込みを行うか
否かの指定(ライト制御の使用/未使用) 各レジスタ(又はメモリ)のデータを読み込むか否か
の指定 各入出力バス33,34のバス幅 スキャン・パスのアクセス対象をレジスタとするかメ
モリとするかの指定上記の〜の定義項目に基づい
て、スキャン・パス23を構成するデータ部31とコン
トロール部32とのロジックが生成される。また、コン
トロール部32から出力されるwe信号の線の数は、各
スキャン・パス23から書き込み可能なレジスタ又はメ
モリの数と等しい。Next, the definition processing of each scan path 23 performed in steps # 4 to # 11 will be described in detail with reference to FIGS. As shown in FIG.
The items for defining the path 23 include the following six items. Number of input buses 33 (corresponding to the number of registers or memories readable by each scan path 23) Number of output buses 34 (corresponding to the number of registers or memories rewritable from each scan path 23) Each register (or (Whether write control is used or not) Specifying whether to read data from each register (or memory) Bus width of each input / output bus 33, 34 Scan path The logic of the data unit 31 and the control unit 32 constituting the scan path 23 is generated based on the above-mentioned definition items 1 to specify whether to access a register or a memory. In addition, the number of lines of the we signal output from the control unit 32 is equal to the number of registers or memories that can be written from each scan path 23.
【0022】次に、図6を参照して上記〜の定義項
目に基づいて基本論理回路生成部51により自動生成さ
れたスキャン・パス23のデータ・フォーマットについ
て説明する。図6の(例1)に示されるように、1つの
スキャン・パス23によるアクセス対象が3つのレジス
タA,B,Cである場合には、スキャン・パス23は、
アクセス対象となるそれぞれのレジスタA,B,Cのビ
ット数に対応した3組のデータ・エリア11とライト制
御ビット12より構成される。3つのライト制御ビット
12は、左から順にそれぞれ各レジスタA,B,Cに対
する書き換えの可否の情報を格納するビットであり、図
6に示される各ライト制御ビット12中の”c”は、各
ライト制御ビット12に対応するレジスタが書き換え可
能であることを示す。(例1)の場合は、左端と右端の
ライト制御ビット12が”c”となっているので、それ
ぞれのライト制御ビット12に対応したレジスタAとレ
ジスタCが書き換え可能である。各ライト制御ビット1
2の値は、実際には、各レジスタA,Cに対して書き込
みを行う場合に”1”となり、各レジスタA,Cのデー
タの読み込みのみを行う場合に”0”となる。また、
(例2)に示されるように、1つのレジスタDのみにア
クセスする場合には、スキャン・パス23は、1組のデ
ータ・エリア11とライト制御ビット12より構成され
る。Next, the data format of the scan path 23 automatically generated by the basic logic circuit generator 51 based on the above-mentioned definition items will be described with reference to FIG. As shown in (Example 1) of FIG. 6, when the access target by one scan path 23 is three registers A, B, and C, the scan path 23
It comprises three sets of data areas 11 and write control bits 12 corresponding to the number of bits of each of the registers A, B and C to be accessed. The three write control bits 12 are bits for storing information on whether or not the registers A, B, and C can be rewritten in order from the left, and “c” in each of the write control bits 12 shown in FIG. This indicates that the register corresponding to the write control bit 12 is rewritable. In the case of (Example 1), since the leftmost and rightmost write control bits 12 are “c”, the registers A and C corresponding to the respective write control bits 12 can be rewritten. Each write control bit 1
The value of 2 is actually “1” when writing to the registers A and C is performed, and becomes “0” when only reading data of the registers A and C is performed. Also,
As shown in (Example 2), when only one register D is accessed, the scan path 23 includes one set of the data area 11 and the write control bit 12.
【0023】次に、上記(例2)のスキャン・パス23
を作成する際に入力する定義項目〜の値と、これら
の定義内容に基づいて生成されるスキャン・パス23の
ロジックについて図7及び図8を参照して説明する。こ
れらの図に示されるように、上記(例2)のスキャン・
パス23を作成する場合には、各定義項目〜に 入力バス数:1 出力バス数:1 書き込み:有り 読み込み:有り バス幅:16ビット スキャン・パスのアクセス対象:レジスタ の値を入力する。スキャン・パス23を上記〜のよ
うに定義したことにより、これらの図に示されるよう
に、バス幅が16ビットの1本の入力バスDINと1本
の出力バスDOUTが生成される。また、上記に書き
込み有りを設定し、上記の出力バス数として1を設定
したことにより、コントロール部にwe信号用の端子が
1つ生成される。さらにまた、これらの図に示されるよ
うに、データ部31にはTAPコントローラ部21から
のコントロール信号であるUPDATE,CAPTURE,SHIFT,TCKの
各信号を入力するための端子が設けられる。また、図8
に示されるように、スキャン・パス23内にはシフトレ
ジスタ35、一時格納用レジスタ37及びこれらの間の
データの伝送用のバス36が生成され、シフトレジスタ
35の図示で上下の位置には、ASAP4からシフトレ
ジスタ35へ送られるデータであるDR−TDOの入力
用端子と、シフトレジスタ35からASAP4へ送られ
るデータであるDR−TDIの出力用端子とが生成され
る。Next, the scan path 23 of the above (Example 2)
Will be described with reference to FIG. 7 and FIG. 8. The values of the definition items to which are input when creating the data, and the logic of the scan path 23 generated based on these definition contents will be described. As shown in these figures, the scan (Example 2)
When the path 23 is created, the number of input buses: 1 The number of output buses: 1 Write: Yes Read: Yes Bus width: 16 bits Scan path access target: Register value is input to each definition item. By defining the scan path 23 as above, as shown in these figures, one input bus DIN and one output bus DOUT having a bus width of 16 bits are generated. In addition, by setting "write-on" in the above and setting 1 as the number of output buses, one terminal for a we signal is generated in the control unit. Furthermore, as shown in these figures, the data section 31 is provided with terminals for inputting UPDATE, CAPTURE, SHIFT, and TCK signals, which are control signals from the TAP controller section 21. FIG.
As shown in the figure, a shift register 35, a temporary storage register 37, and a bus 36 for transmitting data between them are generated in the scan path 23. A terminal for inputting DR-TDO, which is data transmitted from ASAP4 to shift register 35, and an output terminal for DR-TDI, which is data transmitted from shift register 35 to ASAP4, are generated.
【0024】次に、上記のようにして作成されたスキャ
ン・パス23のロジックをユーザ・ロジック回路24に
組み込む方法について説明する。スキャン・パス23の
組み込みは、ユーザ・ロジック回路24内のレジスタや
メモリとスキャン・パス23とをマルチプレクサを介し
て接続する方法により行われる。図9にスキャン・パス
23とユーザ・ロジック回路24内のレジスタ38との
接続方法を示す。図中のDinは、ユーザ・ロジック回
路24内の他のレジスタやメモリからのデータ入力用の
バスを示し、Doutは、ユーザ・ロジック回路24内
の他のレジスタやメモリへのデータ出力用のバスを示
す。レジスタ38は、4つの端子を持っており、このう
ちD端子はDinのバスからのデータ入力用の端子、Q
端子はDoutのバスへのデータ出力用の端子、ena
端子はイネーブル信号入力用の端子、clk端子はクロ
ック信号入力用の端子である。Next, a method of incorporating the logic of the scan path 23 created as described above into the user logic circuit 24 will be described. The scan path 23 is incorporated by a method of connecting a register or a memory in the user logic circuit 24 to the scan path 23 via a multiplexer. FIG. 9 shows a method of connecting the scan path 23 and the register 38 in the user logic circuit 24. Din in the figure indicates a bus for inputting data from another register or memory in the user logic circuit 24, and Dout indicates a bus for outputting data to another register or memory in the user logic circuit 24. Is shown. The register 38 has four terminals, of which the D terminal is a terminal for data input from the Din bus,
The terminal is a terminal for data output to the Dout bus, ena
The terminal is a terminal for inputting an enable signal, and the clk terminal is a terminal for inputting a clock signal.
【0025】上記〜の定義項目に従って基本論理回
路生成部51により自動生成されたレジスタ用のスキャ
ン・パス23とレジスタ38とを接続するには、図9の
下段の「組み込み後」に示されるように、スキャン・パ
ス23のデータ部31をマルチプレクサ39aの’1’
のチャネルを介してレジスタ38のD端子と接続し、ユ
ーザ・ロジック回路24内の他のレジスタやメモリから
のデータ入力用バスDinをマルチプレクサ39aの’
0’のチャネルを介してレジスタ38のD端子と接続す
る。また、スキャン・パス23のコントロール部32を
マルチプレクサ39bの’1’のチャネルを介してレジ
スタ38のena端子と接続し、デバッグモード以外の
時(通常モード時)のレジスタ38に対するイネーブル
信号の信号線を、マルチプレクサ39bの’0’のチャ
ネルを介してレジスタ38のena端子と接続する。さ
らにまた、Q端子からの出力用のDoutバスを分岐さ
せて、Q端子とスキャン・パス23のデータ部31とを
接続する。また、マルチプレクサ39a,39bにHA
LT信号が送られた場合、すなわちデバッグモード時に
は、マルチプレクサ39a,39bのチャネルが共に’
1’に切り換わり、逆に、マルチプレクサ39a,39
bにHALT信号が送られない場合、すなわち通常モー
ド時には、マルチプレクサ39a,39bのチャネルが
共に’0’に切り換わるように設定する。The connection between the register scan path 23 automatically generated by the basic logic circuit generator 51 and the register 38 in accordance with the above-mentioned definition items is connected to the register 38 as shown in the lower part of FIG. The data part 31 of the scan path 23 is set to “1” of the multiplexer 39a.
And the data input bus Din from another register or memory in the user logic circuit 24 is connected to the D terminal of the multiplexer 39a.
Connect to the D terminal of the register 38 via the channel of 0 '. Further, the control unit 32 of the scan path 23 is connected to the ena terminal of the register 38 via the channel “1” of the multiplexer 39b, and a signal line of an enable signal for the register 38 in a mode other than the debug mode (normal mode). Is connected to the ena terminal of the register 38 via the channel “0” of the multiplexer 39b. Furthermore, the output Dout bus from the Q terminal is branched, and the Q terminal and the data section 31 of the scan path 23 are connected. Further, the multiplexers 39a and 39b are provided with HA.
When the LT signal is transmitted, that is, in the debug mode, the channels of the multiplexers 39a and 39b are both set to '
1 ', and conversely, multiplexers 39a, 39
When the HALT signal is not sent to b, that is, in the normal mode, both the channels of the multiplexers 39a and 39b are set to be switched to "0".
【0026】スキャン・パス23とレジスタ38とを上
記のように接続したことにより、デバッグモード時に
は、スキャン・パス23のコントロール部32からレジ
スタ38のena端子にwe信号が送られて、スキャン
・パス23のデータ部31の内容がマルチプレクサ39
aを介してレジスタ38に書き込まれると共に、このレ
ジスタ38の内容がDout端子からスキャン・パス2
3やユーザ・ロジック回路24内の他のメモリやレジス
タに送られる。これに対して、通常モード時には、レジ
スタ38のena端子にload信号が送られて、ユー
ザ・ロジック回路24内の他のレジスタやメモリからの
入力データがDinのバスとマルチプレクサ39aを介
してレジスタ38にロードされると共に、このレジスタ
38の内容がDout端子からユーザ・ロジック回路2
4内の他のメモリやレジスタに送られる。By connecting the scan path 23 and the register 38 as described above, in the debug mode, the we signal is sent from the control unit 32 of the scan path 23 to the ena terminal of the register 38, 23 is a multiplexer 39
a, and the contents of the register 38 are supplied from the Dout terminal to the scan path 2.
3 and other memories and registers in the user logic circuit 24. On the other hand, in the normal mode, a load signal is sent to the ena terminal of the register 38, and input data from another register or memory in the user logic circuit 24 is transferred to the register 38 via the Din bus and the multiplexer 39a. And the contents of this register 38 are supplied from the Dout terminal to the user logic circuit 2.
4 to other memories and registers.
【0027】次に、図10を参照してスキャン・パス2
3とユーザ・ロジック回路24内のメモリとの接続方法
を説明する。メモリ40は、5つの端子を持っており、
このうちAdr端子はユーザ・ロジック回路24内の他
のメモリやレジスタのアドレスの入力用端子、Din端
子はユーザ・ロジック回路24内の他のメモリやレジス
タからのデータ入力用の端子、we端子はライト・イネ
ーブル信号入力用の端子、clk端子はクロック信号入
力用の端子、Dout端子はユーザ・ロジック回路24
内の他のメモリやレジスタへのデータ出力用の端子であ
る。基本論理回路生成部51により自動生成されたスキ
ャン・パス23とメモリ40とを接続するには、図10
の下段の「組み込み後」に示されるように、スキャン・
パス23のデータ部31中のアドレスエリア31aのビ
ットをマルチプレクサ39cの’1’のチャネルを介し
てメモリ40のAdr端子と接続し、ユーザ・ロジック
回路24内の他のメモリやレジスタ用のアドレスバスを
マルチプレクサ39cの’0’のチャネルを介してメモ
リ40のAdr端子と接続する。また、スキャン・パス
23のデータ部31中のデータエリア31bのビットを
マルチプレクサ39dの’1’のチャネルを介してメモ
リ40のDin端子と接続し、ユーザ・ロジック回路2
4内の他のメモリやレジスタからのデータ入力用のバス
をマルチプレクサ39dの’0’のチャネルを介してメ
モリ40のDin端子と接続する。さらにまた、スキャ
ン・パス23のコントロール部32をマルチプレクサ3
9eの’1’のチャネルを介してメモリ40のwe端子
と接続し、通常モード時のメモリ40に対するライト・
イネーブル信号の信号線をマルチプレクサ39eの’
0’のチャネルを介してメモリ40のwe端子と接続す
る。また、マルチプレクサ39c,39d,39eにH
ALT信号が送られた場合、すなわちデバッグモード時
には、マルチプレクサ39c,39d,39eのチャネ
ルが全て’1’に切り換わり、逆に、マルチプレクサ3
9c,39d,39eにHALT信号が送られない場
合、すなわち通常モード時には、マルチプレクサ39
c,39d,39eのチャネルが全て’0’に切り換わ
るように設定する。Next, referring to FIG.
A method of connecting the memory 3 to a memory in the user logic circuit 24 will be described. The memory 40 has five terminals,
Among them, the Adr terminal is a terminal for inputting addresses of other memories and registers in the user logic circuit 24, the Din terminal is a terminal for inputting data from other memories and registers in the user logic circuit 24, and the we terminal is A terminal for inputting a write enable signal, a clk terminal is a terminal for inputting a clock signal, and a Dout terminal is a user logic circuit 24
This is a terminal for outputting data to other memories and registers. To connect the scan path 23 automatically generated by the basic logic circuit generation unit 51 to the memory 40, FIG.
As shown in the “After installation” below,
The bit of the address area 31a in the data section 31 of the path 23 is connected to the Adr terminal of the memory 40 via the channel "1" of the multiplexer 39c, and the address bus for other memories and registers in the user logic circuit 24 is connected. Is connected to the Adr terminal of the memory 40 via the '0' channel of the multiplexer 39c. Also, the bit of the data area 31b in the data section 31 of the scan path 23 is connected to the Din terminal of the memory 40 via the channel “1” of the multiplexer 39d, and the user logic circuit 2
4 is connected to the Din terminal of the memory 40 via the channel "0" of the multiplexer 39d. Furthermore, the control unit 32 of the scan path 23 is connected to the multiplexer 3
9e is connected to the WE terminal of the memory 40 through the channel of “1”, and the write / write operation to the memory 40 in the normal mode is performed.
The signal line of the enable signal is connected to the multiplexer 39e.
It is connected to the we terminal of the memory 40 via the channel 0 '. Also, multiplexers 39c, 39d, and 39e receive H
When the ALT signal is sent, that is, in the debug mode, all the channels of the multiplexers 39c, 39d, and 39e are switched to "1".
When the HALT signal is not sent to 9c, 39d, and 39e, that is, in the normal mode, the multiplexer 39
The setting is made so that the channels c, 39d and 39e are all switched to '0'.
【0028】スキャン・パス23とメモリ40を上記の
ように接続したことにより、デバッグモード時には、ス
キャン・パス23のコントロール部32からメモリ40
のwe端子にwe信号が送られて、スキャン・パス23
のデータエリア31bのデータが、マルチプレクサ39
dを介して、アドレスエリア31aのアドレスに対応し
たメモリ40上のエリアに書き込まれると共に、同じデ
ータが、メモリ40のDout端子からユーザ・ロジッ
ク回路内の他のレジスタ又はメモリとスキャン・パス2
3とに送られる。これに対して、通常モード時には、メ
モリ40のwe端子にwe信号が送られて、データバス
から送られたデータが、マルチプレクサ39dを介し
て、アドレスバスから送られたアドレスに対応したメモ
リ40上のエリアに書き込まれると共に、同じデータ
が、メモリ40のDout端子からユーザ・ロジック回
路内の他のレジスタ又はメモリとスキャン・パス23と
に送られる。Since the scan path 23 and the memory 40 are connected as described above, the control unit 32 of the scan path 23 transmits the memory 40 during the debug mode.
Signal is sent to the we terminal of the scan path 23.
Of the data area 31b of the multiplexer 39
d, the same data is written to the area on the memory 40 corresponding to the address of the address area 31a, and the same data is transferred from the Dout terminal of the memory 40 to another register or memory in the user logic circuit and the scan path 2
3 and sent to. On the other hand, in the normal mode, a we signal is sent to the we terminal of the memory 40, and the data sent from the data bus is transferred via the multiplexer 39d to the memory 40 corresponding to the address sent from the address bus. And the same data is sent from the Dout terminal of the memory 40 to another register or memory in the user logic circuit and the scan path 23.
【0029】次に、図11のフローチャートを参照し
て、上記の方法でユーザ・ロジック回路24に組み込ま
れたスキャン・パス23と、図4の#13において生成
したVHDL形式のセレクト・スキャン・モジュール2
5及びメイン・コントローラ26を接続する方法につい
て説明する。ユーザは、ユーザ・ロジック回路24内へ
の各スキャン・パス23の組み込みが完了すると(#2
1)、このスキャン・パス23とセレクト・スキャン・
モジュール25とメイン・コントローラ26との接続関
係をバッカス記号法を用いて定義する(#22)。Next, referring to the flowchart of FIG. 11, the scan path 23 incorporated in the user logic circuit 24 by the above-described method and the VHDL format select scan module generated in # 13 of FIG. 2
5 and a method of connecting the main controller 26 will be described. When the user completes the incorporation of each scan path 23 into the user logic circuit 24 (# 2)
1), the scan path 23 and the select scan
The connection relationship between the module 25 and the main controller 26 is defined by using the Backus-Cath notation (# 22).
【0030】すなわち、図4の#13のVHDLコード
生成処理の結果、図12に示されるように、各スキャン
・パス23a,23b,23cに対応した入出力用の端
子71乃至76、各ユーザ・ロジック回路24a,24
b,24cに対応したコントロール信号(HALT信
号)入力用の端子77乃至79、セレクト・スキャン・
モジュール25側の各スキャン・パス23a,23b,
23cに対する入出力用の端子61乃至66、及びメイ
ン・コントローラ26から各スキャン・パス23a,2
3b,23cへのコントロール信号出力用の端子67に
対応したVHDL形式のコードが生成されるので、ユー
ザは、これらの端子のコードを用いて各端子間の接続関
係を記述したソースを作成する。PC5の基本論理回路
生成部51は、バッカス記号法により記述されたソース
のコンパイラを有しており、ユーザがバッカス記号法に
より作成したソースを入力すると、このコンパイラを用
いて上記の接続関係のソースの内容を解析して、スキャ
ン・パス23とセレクト・スキャン・モジュール25と
メイン・コントローラ26との接続関係についてのVH
DL形式の最上位コネクション・ファイルを生成する
(#23)。That is, as a result of the VHDL code generation processing of # 13 in FIG. 4, as shown in FIG. 12, input / output terminals 71 to 76 corresponding to the scan paths 23a, 23b and 23c, Logic circuits 24a, 24
b, 24c, corresponding to the control signal (HALT signal) input terminals 77 to 79, select scan
Each scan path 23a, 23b,
The input / output terminals 61 to 66 for the scan path 23a, 2c and the scan path 23a, 2
Since VHDL format codes corresponding to the control signal output terminals 67 to 3b and 23c are generated, the user uses the codes of these terminals to create a source describing the connection relationship between the terminals. The basic logic circuit generation unit 51 of the PC 5 has a source compiler described in the Bacchus notation, and when a user inputs a source created in the Bacchus notation, the source of the connection relation described above is used by using the compiler. Of the scan path 23, the select scan module 25, and the main controller 26 in the VH
A top-level connection file in the DL format is generated (# 23).
【0031】次に、ユーザは、図9及び図10に示され
る方法でユーザ・ロジック回路24に組み込まれたスキ
ャン・パス23、図4の#13において生成したVHD
L形式のセレクト・スキャン・モジュール25及びメイ
ン・コントローラ26と、上記#23で作成したVHD
L形式の最上位コネクション・ファイルとに基づいて、
ユーザ・ロジック回路24と共にスキャン・パス23を
含むASH3の論理合成、論理シミュレーション、配置
配線設計等を行った後、配置配線設計に応じたユーザ・
ロジック回路24とASH3とのFPGA2への実装を
行う。この実装後のFPGA2をPC5及びASAP4
と接続することにより(#24)、PC5の入力部53
を用いて実機制御部52からFPGA2内のASH3に
制御コマンドを発行して、ユーザ・ロジック回路24に
対するオンライン・デバッグ(実機テスト)を行うこと
ができるようになる(#25)。Next, the user operates the scan path 23 incorporated in the user logic circuit 24 by the method shown in FIGS. 9 and 10, and the VHD generated in # 13 of FIG.
L-format select scan module 25 and main controller 26, and VHD created in # 23 above
Based on the L-level top-level connection file,
After performing logic synthesis, logic simulation, placement and wiring design, etc. of the ASH3 including the scan path 23 together with the user logic circuit 24, the user
The logic circuit 24 and the ASH 3 are mounted on the FPGA 2. This mounted FPGA2 is connected to PC5 and ASAP4.
To the input unit 53 of the PC 5 (# 24).
Then, a control command is issued from the actual device control unit 52 to the ASH 3 in the FPGA 2 using the command, and online debugging (actual device test) of the user logic circuit 24 can be performed (# 25).
【0032】次に、上記のオンライン・デバッグの詳細
について説明する。実機制御部52はデバッガを備えて
いる。このデバッガを起動すると、PC5の表示部54
上にデバッガ画面が表示される。ユーザは、このデバッ
ガ画面からCPUコア等のユーザ・ロジック回路24に
対するブレーク・ポイントの設定、ユーザ・ロジック回
路24上のレジスタ38やメモリ40内のデータの参
照、及びレジスタ38やメモリ40に対するテスト・デ
ータの入力設定を行うことができる。すなわち、ユーザ
は、デバッガを用いることにより、PC5側からASA
P4とスキャン・パス23の回路とを介してFPGA2
側のユーザ・ロジック回路24のレジスタ38やメモリ
40の値を任意に制御・観測することができる。Next, details of the above-mentioned online debugging will be described. The actual machine control unit 52 includes a debugger. When this debugger is started, the display unit 54 of the PC 5
The debugger screen is displayed above. From this debugger screen, the user can set a break point for the user logic circuit 24 such as a CPU core, refer to data in the register 38 or the memory 40 on the user logic circuit 24, and perform a test operation for the register 38 or the memory 40. Data input settings can be made. That is, the user can use the debugger to execute ASA from the PC 5 side.
FPGA2 via P4 and the circuit of scan path 23
The values of the register 38 and the memory 40 of the user logic circuit 24 on the side can be arbitrarily controlled and observed.
【0033】上述したように、本実施形態による記録媒
体に記録されたプログラムを利用して構築したインタフ
ェースシステム1によれば、PC5の基本論理回路生成
部51が、ユーザの定義したスキャン・パス定義情報に
応じたVHDL形式のスキャン・パス23、セレクト・
スキャン・モジュール25及びメイン・コントローラ2
6のロジックと、これらの接続関係についてのVHDL
形式の最上位コネクション・ファイルとを生成するの
で、ユーザが、これらのVHDLレベルのロジックに基
づいて、FPGA2上にユーザ・ロジック回路24内の
レジスタ38やメモリ40に対するスキャン・パス23
の回路を容易に構築して、PC5からFPGA2上のレ
ジスタ38やメモリ40に到るデータの伝送路中にスキ
ャン・パス23の回路を間単に組み込むことができる。
これにより、このスキャン・パス23の回路を介してP
C5側からFPGA2上のレジスタ38やメモリ40の
値を任意に制御・観測することができるので、FPGA
2上に構成したユーザ・ロジック回路24の実機テスト
を効率的に行い、ユーザ・ロジック回路24の開発期間
を短期化することができる。As described above, according to the interface system 1 constructed using the program recorded on the recording medium according to the present embodiment, the basic logic circuit generation unit 51 of the PC 5 executes the scan path definition defined by the user. Scan path 23 in VHDL format according to information, select
Scan module 25 and main controller 2
6 and VHDL about these connection relations
Since the top-level connection file is generated in the format, the user can set the scan path 23 to the register 38 and the memory 40 in the user logic circuit 24 on the FPGA 2 based on the logic of the VHDL level.
Can be easily constructed, and the circuit of the scan path 23 can be easily incorporated in the data transmission path from the PC 5 to the register 38 and the memory 40 on the FPGA 2.
As a result, P
Since the values of the register 38 and the memory 40 on the FPGA 2 can be arbitrarily controlled and observed from the C5 side, the FPGA
2, the actual test of the user logic circuit 24 configured above can be efficiently performed, and the development period of the user logic circuit 24 can be shortened.
【0034】次に、図13及び図14を参照して、本実
施形態によるスキャン・パス23を利用して作成した演
算処理システムについて説明する。図13に示されるよ
うに、本実施形態によるスキャン・パス23を含むイン
タフェースシステム1は、ユーザの作成したアルゴリズ
ムに従って制御コマンドを生成し、この制御コマンドを
ASAP4とASH3を介してFPGA2内のレジスタ
群Rやメモリ群Mに伝達することができるので、このイ
ンタフェースシステム1を利用することにより、ユーザ
の設計したFPGA2内のCPUコアやIP(Intellec
tual Property)に対してPC5から遠隔制御を行うこと
ができる。この機能を応用することで、図14に示され
るように、従来、FPGA2内においてCPUコア81
を構成する場合に必要であったデータパス(ALUや加
算器等のように定められたデータ幅で演算処理を行う回
路の総称)83等に対するコントロール機能(従来のマ
イクロコントローラ82が有する機能)をPC5上のソ
フトウェア(CPUコア・コントロール部87)に移植
した演算処理システム80を実現することができる。こ
の演算処理システム80は、PC5上のCPUコア・コ
ントロール部87からASAP4とASH3を介してF
PGA2上のデータパス83に対してマイクロコードを
パケットにして送受信することで、データパス83によ
る演算処理を可能としている。従来のCPUコア81で
は、アルゴリズムが複雑化した場合に、マイクロコント
ローラ82のロジック規模が最も増大していたが、この
演算処理システム80は、マイクロコントローラ82に
よるデータパス83等のコントロール機能をPC5に移
植したので、アルゴリズムの複雑化に起因するFPGA
2内のCPUコア81のロジック規模の増大を押さえる
ことができる。Next, an arithmetic processing system created using the scan path 23 according to the present embodiment will be described with reference to FIGS. As shown in FIG. 13, the interface system 1 including the scan path 23 according to the present embodiment generates a control command according to an algorithm created by a user, and transmits the control command to a register group in the FPGA 2 via ASAP4 and ASH3. Since the data can be transmitted to the R and the memory group M, by utilizing the interface system 1, the CPU core and the IP (Intellec
Tual Property) can be remotely controlled from the PC 5. By applying this function, as shown in FIG.
A control function (a function of the conventional microcontroller 82) for a data path (general term of circuits for performing arithmetic processing with a predetermined data width such as an ALU or an adder) 83 or the like which is necessary when An arithmetic processing system 80 ported to software (CPU core control unit 87) on the PC 5 can be realized. The arithmetic processing system 80 receives a signal from the CPU core control unit 87 on the PC 5 via the ASAP4 and the ASH3.
By transmitting and receiving the microcode as a packet with respect to the data path 83 on the PGA 2, arithmetic processing by the data path 83 is enabled. In the conventional CPU core 81, when the algorithm is complicated, the logic scale of the microcontroller 82 is the largest. However, this arithmetic processing system 80 provides the PC 5 with a control function such as the data path 83 by the microcontroller 82. FPGA due to the complexity of the algorithm because it was ported
2 can suppress an increase in the logic scale of the CPU core 81.
【0035】次に、本実施形態によるインタフェースシ
ステム1を利用して作成した他の演算処理システムにつ
いて図15、図16を参照して説明する。この演算処理
システム80は、複数のFPGA2a〜2d上に配置さ
れた言語仕様の異なる複数のCPUコア81a〜81d
のそれぞれにスキャン・パスを設けて、PC5よりスキ
ャン・パスを通して各CPUコア81a〜81dに対し
て制御コマンドに相当するパケットコードを送出するこ
とにより、スキャン・パスを介して複数のCPUコア8
1a〜81dを制御するようにしたものである。図15
は、1つのFPGA2a上にASH3を配設し、このA
SH3を介してPC5から別々のFPGA2a〜2d上
の複数のCPUコア81a〜81dを制御する場合の接
続方式を示し、図16は、複数のFPGA2a〜2d上
に別々にASH3a〜3dを設け、これらのASH3a
〜3dをチェーン状に接続して、各FPGA2a〜2d
内のCPUコア81a〜81dを、同一FPGA内のA
SH3a〜3dを介してPC5から制御する場合の接続
方式を示す。PC5は、各CPUコア81a〜81dに
対してメタ言語(インタプリタ型の言語)の形式で制御
コマンドを送出するので、PC5上の同一のソフトウェ
アを使用して、言語仕様の異なる複数のCPUコア81
a〜81dを制御することができる。また、PC5は、
スキャン・パスを介してIP85a〜85d(以下、I
P85という)内部のメモリやレジスタ単体に対しても
直接アクセスをすることができるので、内部にレジスタ
インタフェースを内蔵するIP85に対する制御や、メ
モリを介したIP85の制御を行うことも可能である。Next, another arithmetic processing system created by using the interface system 1 according to the present embodiment will be described with reference to FIGS. The arithmetic processing system 80 includes a plurality of CPU cores 81a to 81d having different language specifications arranged on the plurality of FPGAs 2a to 2d.
Is provided for each of the CPU cores 81a to 81d from the PC 5 through the scan path, thereby transmitting a plurality of CPU cores 8 via the scan path.
1a to 81d are controlled. FIG.
Arranges ASH3 on one FPGA 2a,
FIG. 16 shows a connection method in a case where a plurality of CPU cores 81a to 81d on separate FPGAs 2a to 2d are controlled from a PC 5 via an SH3. FIG. ASH3a
To 3d connected in a chain, and each FPGA 2a to 2d
CPU cores 81a to 81d in the same FPGA
The connection method when controlling from the PC 5 via the SHs 3a to 3d is shown. The PC 5 sends a control command in the form of a meta-language (interpreted language) to each of the CPU cores 81a-81d.
a to 81d can be controlled. Also, PC5 is
IPs 85a to 85d (hereinafter referred to as I
Since it is possible to directly access the internal memory and the register alone (referred to as P85), it is also possible to control the IP85 having a built-in register interface and to control the IP85 via the memory.
【0036】本発明は、上記実施形態に限られるもので
はなく、様々な変形が可能である。例えば、上記実施形
態では、本発明をFPGAに適用したものを示したが、
本発明をPLD(Programmable Logic Device)等の他の
集積回路に適用してもよい。また、上記実施形態では、
ユーザがスキャン・パスとセレクト・スキャン・モジュ
ールとメイン・コントローラとのそれぞれの端子の接続
関係をバッカス記号法を用いて記述する方法により、こ
れらの部品間の接続関係についての定義情報を作成した
が、PCの基本論理回路生成部によりスキャン・パスと
セレクト・スキャン・モジュールとメイン・コントロー
ラとのそれぞれの端子を画面上に表示させて、ユーザが
これらの端子をお絵描きツール等を用いて結合する方法
により、これらの部品間の接続関係の定義情報を作成し
てもよい。また、上記実施形態では、一般的なユーザ・
ロジック回路にスキャン・パスを構築して、このスキャ
ン・パスを介してユーザ・ロジック回路のオンライン・
デバッグを行うものを示したが、オンライン・デバッグ
の対象は、CPUコアであってもよい。The present invention is not limited to the above embodiment, and various modifications are possible. For example, in the above embodiment, the present invention is applied to an FPGA,
The present invention may be applied to another integrated circuit such as a PLD (Programmable Logic Device). In the above embodiment,
The user has created the definition information about the connection relation between these parts by a method of describing the connection relation of each terminal of the scan path, the select scan module, and the main controller using the Backus-Cass method. The terminal of the scan path, the select scan module, and the main controller are displayed on the screen by the basic logic circuit generation unit of the PC, and the user connects these terminals using a drawing tool or the like. Depending on the method, the definition information of the connection relation between these components may be created. In the above embodiment, a general user
Establish a scan path in the logic circuit and allow the user logic circuit to go online through this scan path.
Although the debugger has been described, the target of online debugging may be a CPU core.
【0037】[0037]
【発明の効果】以上のように請求項1の発明によれば、
プログラムが、コンピュータに、スキャン・パスの定義
情報を読み込ませ、集積回路上に構築するスキャン・パ
スの基になるハードウェア記述言語レベルのスキャン・
パスのロジックを、スキャン・パス定義情報に基づいて
生成させるようにしたので、ユーザが、このスキャン・
パスのロジックに基づいて、FPGA等の集積回路上に
回路上のレジスタやメモリに対するスキャン・パスを容
易に構築することができる。これにより、このスキャン
・パスを介してコンピュータ側から集積回路上のレジス
タやメモリの値を任意に制御・観測することができるの
で、集積回路上におけるユーザ・ロジック回路の実機テ
ストを効率的に行い、ユーザ・ロジック回路の開発期間
を短期化することができる。As described above, according to the first aspect of the present invention,
A program causes a computer to read the definition information of the scan path, and perform a scan at a hardware description language level on which the scan path to be built on the integrated circuit is based.
The path logic is generated based on the scan path definition information.
Based on the logic of the path, a scan path for a register or a memory on the circuit can be easily constructed on an integrated circuit such as an FPGA. This allows the computer to arbitrarily control and observe the values of the registers and memories on the integrated circuit from the computer through this scan path, so that the actual test of the user logic circuit on the integrated circuit can be efficiently performed. In addition, the development period of the user logic circuit can be shortened.
【0038】また、請求項2の発明によれば、プログラ
ムが、コンピュータに、スキャン・パスのロジックとス
キャン・パスを制御するコントローラ等のロジックとの
接続関係についてのバッカス記号法による記述情報を読
み込ませ、この記述情報に基づいて、これらの接続関係
についてのハードウェア記述言語レベルのコネクション
・ファイルを生成させるようにしたので、ユーザが、こ
のコネクション・ファイルに基づいて、スキャン・パス
の回路とコントローラ等の回路を容易に接続することが
できる。これにより、コンピュータから集積回路上のレ
ジスタやメモリに到るデータの伝送路中にスキャン・パ
スの回路を容易に組み込むことができる。According to the second aspect of the present invention, the program causes the computer to read descriptive information on the connection relationship between the logic of the scan path and the logic of the controller or the like that controls the scan path by the Bacchus symbolic method. Then, based on this description information, a connection file at the hardware description language level for these connection relationships is generated, so that the user can scan the circuit and controller of the scan path based on this connection file. And other circuits can be easily connected. This makes it possible to easily incorporate a scan path circuit into a data transmission path from a computer to a register or a memory on an integrated circuit.
【0039】また、請求項3の発明によれば、スキャン
・パスの定義情報を入力するステップと、集積回路上に
構築するスキャン・パスの基になるハードウェア記述言
語レベルのスキャン・パスのロジックを、スキャン・パ
ス定義情報に基づいて生成するステップとを備えたもの
としたことにより、上記請求項1に記載の発明と同等の
効果を得ることができる。According to the third aspect of the present invention, the step of inputting the definition information of the scan path and the logic of the scan path at the hardware description language level which is the basis of the scan path built on the integrated circuit And a step of generating the same based on the scan path definition information, so that the same effect as the first aspect of the invention can be obtained.
【0040】また、請求項4の発明によれば、生成され
たスキャン・パスのロジックとスキャン・パスを制御す
るコントローラ等のロジックとの接続関係についてのバ
ッカス記号法による記述情報を入力するステップと、こ
の記述情報に基づいて、これらの接続関係についてのハ
ードウェア記述言語レベルのコネクション・ファイルを
生成するステップとをさらに備えたことにより、上記請
求項2に記載の発明と同等の効果を得ることができる。According to the fourth aspect of the present invention, a step of inputting descriptive information by the Bacchus symbolic method regarding the connection relationship between the generated logic of the scan path and the logic such as a controller for controlling the scan path. And a step of generating a hardware description language level connection file for these connection relationships based on the description information, thereby obtaining an effect equivalent to that of the invention described in claim 2 above. Can be.
【0041】また、請求項5の発明によれば、集積回路
側に所定のデータ幅で演算処理を行うデータパスとこの
データパスに対するスキャン・パスとを配設し、コンピ
ュータ側にこのデータパスを制御する機能を持たせて、
スキャン・パスとインタフェース装置とを介してコンピ
ュータとデータパスとの間のデータの伝送を行うように
したので、集積回路側のデータパスの演算機能とコンピ
ュータ側のデータパス制御機能とを用いて、従来のCP
Uコアと同様な処理を行うことができる。これにより、
集積回路上のロジック回路の規模を大型化させることな
く、CPUコアの機能を得ることができる。According to the fifth aspect of the present invention, a data path for performing arithmetic processing with a predetermined data width and a scan path for the data path are provided on the integrated circuit side, and the data path is provided on the computer side. With the ability to control
Since the data is transmitted between the computer and the data path via the scan path and the interface device, the data path arithmetic function of the integrated circuit and the data path control function of the computer are used. Conventional CP
The same processing as that of the U core can be performed. This allows
The function of the CPU core can be obtained without increasing the scale of the logic circuit on the integrated circuit.
【0042】また、請求項6の発明によれば、コンピュ
ータが、スキャン・パスとインタフェース装置とを介し
て複数の集積回路上の各CPUコアに対する制御用のコ
ードを伝送するようにしたので、例えば、コンピュータ
側から各CPUコアが認識可能な制御用のコードを送信
することで、1台のコンピュータにより言語仕様の異な
る複数のCPUコアを制御することができる。また、コ
ンピュータ側から各CPUコア側に送信する制御用のコ
ードに、インタプリタ型の言語を用いてもよい。これに
より、言語仕様の異なる複数のCPUコアを共通の制御
用コードで制御することができる。According to the invention of claim 6, the computer transmits the control code for each CPU core on the plurality of integrated circuits via the scan path and the interface device. By transmitting a control code recognizable by each CPU core from the computer, a single computer can control a plurality of CPU cores having different language specifications. Also, an interpreted language may be used for the control code transmitted from the computer to each CPU core. Thus, a plurality of CPU cores having different language specifications can be controlled by a common control code.
【図1】 本発明の一実施形態による記録媒体に記録さ
れたプログラムを利用して構築したスキャン・パスを含
むインタフェース・システムの概略を示す図である。FIG. 1 is a diagram schematically illustrating an interface system including a scan path constructed using a program recorded on a recording medium according to an embodiment of the present invention.
【図2】 上記インタフェース・システムの詳細構成を
示す図である。FIG. 2 is a diagram showing a detailed configuration of the interface system.
【図3】 上記インタフェース・システムのFPGA内
の各モジュール間のデータの流れを示す図である。FIG. 3 is a diagram showing a data flow between modules in an FPGA of the interface system.
【図4】 スキャン・パスの定義情報の入力処理と入力
された定義情報に基づくASH内の各モジュールの生成
処理を示すフローチャートである。FIG. 4 is a flowchart showing input processing of scan path definition information and generation processing of each module in the ASH based on the input definition information.
【図5】 スキャン・パスの定義処理を示す図である。FIG. 5 is a diagram showing a scan path definition process.
【図6】 定義情報に基づいて自動生成されたスキャン
・パスのデータ・フォーマットを示す図である。FIG. 6 is a diagram showing a data format of a scan path automatically generated based on definition information.
【図7】 上記スキャン・パスのロジックを示す図であ
る。FIG. 7 is a diagram showing the logic of the scan path.
【図8】 上記スキャン・パスのロジックを機能ブロッ
ク単位で示した図である。FIG. 8 is a diagram showing the logic of the scan path in functional block units.
【図9】 上記スキャン・パスとユーザ・ロジック回路
内のレジスタとの接続方法を示す図である。FIG. 9 is a diagram showing a connection method between the scan path and a register in a user logic circuit.
【図10】 上記スキャン・パスとユーザ・ロジック回
路内のメモリとの接続方法を示す図である。FIG. 10 is a diagram showing a connection method between the scan path and a memory in a user logic circuit.
【図11】 上記スキャン・パスとセレクト・スキャン
・モジュールとメイン・コントローラとを接続してオン
ライデバッグを可能にする方法を示すフローチャートで
ある。FIG. 11 is a flowchart showing a method for connecting the scan path, select scan module, and main controller to enable online debugging.
【図12】 上記スキャン・パスとセレクト・スキャン
・モジュールとメイン・コントローラの接続用端子を示
す図である。FIG. 12 is a diagram showing connection terminals of the scan path, the select scan module, and the main controller.
【図13】 上記スキャン・パスを含むインタフェース
・システムの基本接続方式を示す図である。FIG. 13 is a diagram showing a basic connection method of the interface system including the scan path.
【図14】 上記スキャン・パスを利用して作成した演
算処理システムを示す図である。FIG. 14 is a diagram showing an arithmetic processing system created by using the scan path.
【図15】 上記スキャン・パスを利用して作成した他
の演算処理システムを示す図である。FIG. 15 is a diagram showing another arithmetic processing system created using the scan path.
【図16】 上記スキャン・パスを利用して作成した他
の演算処理システムの変形例を示す図である。FIG. 16 is a diagram showing a modified example of another arithmetic processing system created using the scan path.
2 FPGA(集積回路) 4 ASAP(インタフェース装置) 5 PC(コンピュータ) 7 CD−ROM(スキャン・パス構築用プログラ
ムを記録した記録媒体) 23 スキャン・パス 25 セレクト・スキャン・モジュール(コントロー
ラ) 26 メイン・コントローラ(コントローラ) 38 レジスタ 40 メモリ 51 基本論理回路生成部(スキャン・パス構築用プ
ログラム) 80 演算処理システム 81,81a,81b,81c,81d CPUコア 83 データパス2 FPGA (Integrated Circuit) 4 ASAP (Interface Device) 5 PC (Computer) 7 CD-ROM (Recording Medium Recording Scan Path Construction Program) 23 Scan Path 25 Select Scan Module (Controller) 26 Main Controller (controller) 38 Register 40 Memory 51 Basic logic circuit generator (scan path construction program) 80 Arithmetic processing system 81, 81a, 81b, 81c, 81d CPU core 83 Data path
───────────────────────────────────────────────────── フロントページの続き (72)発明者 茂木 建二 大阪市北区東天満1丁目4番16号 株式会 社ローラン内 (72)発明者 中尾 俊充 大阪市北区東天満1丁目4番16号 株式会 社ローラン内 Fターム(参考) 2G032 AA02 AA07 AB20 AC10 AE12 AG02 AK16 5B048 AA20 AA21 CC18 ──────────────────────────────────────────────────続 き Continuing from the front page (72) Inventor Kenji Mogi 1-4-16 Higashitenma, Kita-ku, Osaka-shi Inside Roland Co., Ltd. (72) Inventor Toshimitsu Nakao 1-4-16 Higashitenma, Kita-ku, Osaka-shi No. F-term in Laurent Co., Ltd. (reference) 2G032 AA02 AA07 AB20 AC10 AE12 AG02 AK16 5B048 AA20 AA21 CC18
Claims (6)
回路上のレジスタやメモリに対するデータの入出力用の
パスであるスキャン・パスを集積回路上に構築するため
のプログラムを記録した記録媒体であって、 該プログラムは、コンピュータに、スキャン・パスの定
義情報を読み込ませ、 前記集積回路上に構築するスキャン・パスの基になるハ
ードウェア記述言語レベルのスキャン・パスのロジック
を、前記スキャン・パス定義情報に基づいて生成させる
ことを特徴とするスキャン・パス構築用プログラムを記
録した記録媒体。1. A recording medium recording a program for constructing, on an integrated circuit, a scan path, which is a path for inputting and outputting data to and from a register and a memory on an integrated circuit such as an FPGA by a computer. The program causes the computer to read the scan path definition information, and converts the logic of the hardware description language level scan path based on the scan path to be built on the integrated circuit into the scan path definition information. A recording medium storing a scan path construction program, wherein the program is generated on the basis of the scan path construction program.
ュータに、前記生成させたスキャン・パスのロジックと
該スキャン・パスを制御するコントローラ等のロジック
との接続関係についてのバッカス記号法による記述情報
を読み込ませ、 前記記述情報に基づいて、前記接続関係についてのハー
ドウェア記述言語レベルのコネクション・ファイルを生
成させることを特徴とする請求項1に記載のスキャン・
パス構築用プログラムを記録した記録媒体。2. The program further reads, into the computer, descriptive information in Bacchus notation about a connection relationship between the logic of the generated scan path and a logic such as a controller that controls the scan path. And generating a connection file at a hardware description language level for the connection relationship based on the description information.
A recording medium on which a path construction program is recorded.
て、FPGA等の集積回路上のレジスタやメモリに対す
るデータの入出力用のパスであるスキャン・パスを集積
回路上に構築する方法であって、 前記スキャン・パスの定義情報を入力するステップと、 前記集積回路上に構築するスキャン・パスの基になるハ
ードウェア記述言語レベルのスキャン・パスのロジック
を、前記スキャン・パス定義情報に基づいて生成するス
テップとからなることを特徴とするスキャン・パスの構
築方法。3. A method for constructing, on an integrated circuit, a scan path, which is a path for inputting / outputting data to / from a register or a memory on an integrated circuit such as an FPGA, by using a programmed computer. Inputting the definition information of the scan path, and generating the scan path logic of a hardware description language level based on the scan path to be built on the integrated circuit based on the scan path definition information. A method for constructing a scan path.
クと該スキャン・パスを制御するコントローラ等のロジ
ックとの接続関係についてのバッカス記号法による記述
情報を入力するステップと、 前記記述情報に基づいて、前記接続関係についてのハー
ドウェア記述言語レベルのコネクション・ファイルを生
成するステップとをさらに備えたことを特徴とする請求
項3に記載のスキャン・パスの構築方法。4. A step of inputting descriptive information in Bacchus notation for a connection relation between the logic of the generated scan path and a logic such as a controller that controls the scan path, based on the descriptive information. 4. The method according to claim 3, further comprising: generating a connection file at a hardware description language level for the connection relationship.
と、これらの間のデータの伝送を媒介するインタフェー
ス装置とより構成された演算処理システムであって、 前記集積回路側に所定のデータ幅で演算処理を行うデー
タパスとこのデータパスに対するスキャン・パスとを配
設し、前記コンピュータ側にこのデータパスを制御する
機能を持たせて、前記スキャン・パスと前記インタフェ
ース装置を介して前記コンピュータと前記データパスと
の間のデータの伝送を行うことを特徴とする演算処理シ
ステム。5. An arithmetic processing system comprising an integrated circuit such as an FPGA, a computer, and an interface device for mediating data transmission therebetween, wherein an arithmetic operation is performed on the integrated circuit with a predetermined data width. A data path for processing and a scan path for this data path are provided, and the computer is provided with a function of controlling this data path, and the computer and the computer are connected to each other via the scan path and the interface device. An arithmetic processing system for transmitting data to and from a data path.
コンピュータと、これらの間のデータの伝送を媒介する
インタフェース装置とより構成された演算処理システム
であって、 前記複数の集積回路上の各CPUコアに対するスキャン
・パスを各集積回路上に構築して、 コンピュータは、前記スキャン・パスと前記インタフェ
ース装置を介して前記複数の集積回路上の各CPUコア
に対する制御用のコードを伝送することを特徴とする演
算処理システム。6. A plurality of integrated circuits having a CPU core,
An arithmetic processing system comprising a computer and an interface device for mediating data transmission therebetween, wherein a scan path for each CPU core on the plurality of integrated circuits is constructed on each integrated circuit. An arithmetic processing system, wherein the computer transmits control code to each of the CPU cores on the plurality of integrated circuits via the scan path and the interface device.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000013898A JP2001201543A (en) | 2000-01-18 | 2000-01-18 | Recording medium with scan pass constructing program recorded thereon, constructing method of scan pass, and arithmetic processing system with this scan pass integrated therein |
US09/764,499 US20020010886A1 (en) | 2000-01-18 | 2001-01-17 | Recording medium storing a program for constructing scan paths, scan path constructing method, and arithmetic processing system in which said scan paths are integrated |
EP01300391A EP1130410A3 (en) | 2000-01-18 | 2001-01-17 | Scan path constructing program and method, and arithmetic processing system in which said scan paths are integrated |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000013898A JP2001201543A (en) | 2000-01-18 | 2000-01-18 | Recording medium with scan pass constructing program recorded thereon, constructing method of scan pass, and arithmetic processing system with this scan pass integrated therein |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001201543A true JP2001201543A (en) | 2001-07-27 |
Family
ID=18541430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000013898A Withdrawn JP2001201543A (en) | 2000-01-18 | 2000-01-18 | Recording medium with scan pass constructing program recorded thereon, constructing method of scan pass, and arithmetic processing system with this scan pass integrated therein |
Country Status (3)
Country | Link |
---|---|
US (1) | US20020010886A1 (en) |
EP (1) | EP1130410A3 (en) |
JP (1) | JP2001201543A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012519853A (en) * | 2009-03-04 | 2012-08-30 | アルカテル−ルーセント | Method and apparatus for system testing using multiple processors |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6553524B1 (en) | 2000-07-12 | 2003-04-22 | Hewlett Packard Development Company, L.P. | Method for automating validation of integrated circuit test logic |
US7661129B2 (en) * | 2002-02-26 | 2010-02-09 | Citrix Systems, Inc. | Secure traversal of network components |
CN1756962A (en) * | 2003-03-04 | 2006-04-05 | 皇家飞利浦电子股份有限公司 | Automatically detecting and routing of test signals |
US7240261B2 (en) * | 2003-12-09 | 2007-07-03 | International Business Machines Corporation | Scan chain diagnostics using logic paths |
US7724684B2 (en) * | 2007-05-24 | 2010-05-25 | Modelware, Inc. | System and method for designing and implementing packet processing products |
WO2008143622A1 (en) * | 2007-05-24 | 2008-11-27 | Modelware, Inc. | System and method for designing and implementing packet processing products |
US8775884B2 (en) | 2009-03-04 | 2014-07-08 | Alcatel Lucent | Method and apparatus for position-based scheduling for JTAG systems |
US8719649B2 (en) | 2009-03-04 | 2014-05-06 | Alcatel Lucent | Method and apparatus for deferred scheduling for JTAG systems |
US8621301B2 (en) * | 2009-03-04 | 2013-12-31 | Alcatel Lucent | Method and apparatus for virtual in-circuit emulation |
US9183105B2 (en) | 2013-02-04 | 2015-11-10 | Alcatel Lucent | Systems and methods for dynamic scan scheduling |
EP2804008B1 (en) | 2013-05-15 | 2015-03-04 | Sick Ag | Sensor for monitoring and a method for error detection |
JP6478562B2 (en) | 2013-11-07 | 2019-03-06 | 株式会社半導体エネルギー研究所 | Semiconductor device |
JP6393590B2 (en) | 2013-11-22 | 2018-09-19 | 株式会社半導体エネルギー研究所 | Semiconductor device |
JP6444723B2 (en) | 2014-01-09 | 2018-12-26 | 株式会社半導体エネルギー研究所 | apparatus |
US9379713B2 (en) | 2014-01-17 | 2016-06-28 | Semiconductor Energy Laboratory Co., Ltd. | Data processing device and driving method thereof |
JP2015165226A (en) | 2014-02-07 | 2015-09-17 | 株式会社半導体エネルギー研究所 | Device |
US9869716B2 (en) | 2014-02-07 | 2018-01-16 | Semiconductor Energy Laboratory Co., Ltd. | Device comprising programmable logic element |
US10758046B1 (en) | 2019-12-06 | 2020-09-01 | Dooli Products, LLC | L-shaped furniture anti-tipping mechanisms |
US10813456B1 (en) | 2019-12-06 | 2020-10-27 | Dooli Products, LLC | Furniture with incorporated anti-tipping mechanism |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5345393A (en) * | 1990-08-22 | 1994-09-06 | Matsushita Electric Industrial Co., Ltd. | Logic circuit generator |
US5550843A (en) * | 1994-04-01 | 1996-08-27 | Xilinx, Inc. | Programmable scan chain testing structure and method |
JPH08278987A (en) * | 1995-04-07 | 1996-10-22 | Fujitsu Ltd | Design device for logical integrated circuit |
US5703789A (en) * | 1995-12-29 | 1997-12-30 | Synopsys, Inc. | Test ready compiler for design for test synthesis |
US5815405A (en) * | 1996-03-12 | 1998-09-29 | Xilinx, Inc. | Method and apparatus for converting a programmable logic device representation of a circuit into a second representation of the circuit |
US5828579A (en) * | 1996-08-28 | 1998-10-27 | Synopsys, Inc. | Scan segment processing within hierarchical scan architecture for design for test applications |
US5812561A (en) * | 1996-09-03 | 1998-09-22 | Motorola, Inc. | Scan based testing of an integrated circuit for compliance with timing specifications |
US6158032A (en) * | 1998-03-27 | 2000-12-05 | International Business Machines Corporation | Data processing system, circuit arrangement and program product including multi-path scan interface and methods thereof |
US6484280B1 (en) * | 1999-09-30 | 2002-11-19 | Agilent Technologies Inc. | Scan path test support |
US6546514B1 (en) * | 1999-12-13 | 2003-04-08 | Koninklijke Philips Electronics N.V. | Integrated circuit analysis and design involving defective circuit element replacement on a netlist |
-
2000
- 2000-01-18 JP JP2000013898A patent/JP2001201543A/en not_active Withdrawn
-
2001
- 2001-01-17 EP EP01300391A patent/EP1130410A3/en not_active Withdrawn
- 2001-01-17 US US09/764,499 patent/US20020010886A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012519853A (en) * | 2009-03-04 | 2012-08-30 | アルカテル−ルーセント | Method and apparatus for system testing using multiple processors |
JP2014067436A (en) * | 2009-03-04 | 2014-04-17 | Alcatel-Lucent | Method and apparatus for system testing using plurality of processors |
Also Published As
Publication number | Publication date |
---|---|
EP1130410A3 (en) | 2004-04-14 |
EP1130410A2 (en) | 2001-09-05 |
US20020010886A1 (en) | 2002-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001201543A (en) | Recording medium with scan pass constructing program recorded thereon, constructing method of scan pass, and arithmetic processing system with this scan pass integrated therein | |
US7418681B2 (en) | Simulation system, simulation method and simulation program for verifying logic behavior of a semiconductor integrated circuit | |
US20100223502A1 (en) | Memory-based trigger generation scheme in an emulation environment | |
WO2001001245A1 (en) | Input/output probing apparatus and input/output probing method using the same, and mixed emulation/simulation method based on it | |
JPH06208602A (en) | Verification method of testable design rule | |
US20040130944A1 (en) | Programming flash memory via a boundary scan register | |
US9053232B2 (en) | Method and apparatus for supporting a unified debug environment | |
US7584456B1 (en) | Method and apparatus for debugging embedded systems having read only memory | |
JPH0773066A (en) | Method and apparatus for constitution of memory circuit | |
US7333909B1 (en) | Method of and circuit for verifying a data transfer protocol | |
US9929734B2 (en) | Method for changing the configuration of a programmable logic module | |
JP2007292492A (en) | Circuit verification apparatus and circuit verification method | |
US7036046B2 (en) | PLD debugging hub | |
US20150046144A1 (en) | Dynamic Control Of Design Clock Generation In Emulation | |
US7228513B2 (en) | Circuit operation verification device and method | |
KR20010098444A (en) | Input/Output Probing Method for Rapid Prototyping and Mixed Verification Method Using the Same | |
KR20010007018A (en) | Mixed Verification Apparatus for Mixed Emulation/Simulation and Mixed Verification Method Using the Same | |
Majumdar et al. | Architecture for reliable scan-dump in the presence of multiple asynchronous clock domains in FPGA SOCs | |
JP2989586B2 (en) | Semiconductor integrated circuit, method of designing the same, and recording medium storing a semiconductor integrated circuit design program | |
JP2021534427A (en) | Digital circuit testing and analysis modules, systems and methods thereof | |
JP2001249826A (en) | System lsi development support system and recording medium in which its program for development support is recorded | |
JP4573328B2 (en) | Semiconductor device, semiconductor design apparatus and semiconductor design method | |
KR100345673B1 (en) | integrated circuit capable of self-testing | |
JP3074978B2 (en) | Emulation device | |
Leenstra et al. | Using hierarchy in macro cell test assembly |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070403 |