JP2001249826A - システムlsi開発支援システムとその開発支援用プログラムを記録した記録媒体 - Google Patents

システムlsi開発支援システムとその開発支援用プログラムを記録した記録媒体

Info

Publication number
JP2001249826A
JP2001249826A JP2000063308A JP2000063308A JP2001249826A JP 2001249826 A JP2001249826 A JP 2001249826A JP 2000063308 A JP2000063308 A JP 2000063308A JP 2000063308 A JP2000063308 A JP 2000063308A JP 2001249826 A JP2001249826 A JP 2001249826A
Authority
JP
Japan
Prior art keywords
scan path
cpu core
register
program
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000063308A
Other languages
English (en)
Inventor
Kenji Mogi
建二 茂木
Ryohei Tanaka
良平 田中
Toshimitsu Nakao
俊充 中尾
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.)
ROORAN KK
Daihen Corp
Original Assignee
ROORAN KK
Daihen Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ROORAN KK, Daihen Corp filed Critical ROORAN KK
Priority to JP2000063308A priority Critical patent/JP2001249826A/ja
Publication of JP2001249826A publication Critical patent/JP2001249826A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 システムLSIの開発支援システムにおい
て、FPGA等の論理集積回路上に構築したシステムL
SI全体の実機テストができるようにして、システムL
SIのテストを効率化し、システムLSIの開発期間の
短縮化を図る。 【解決手段】 スキャン・パスの定義情報に基づいて、
VHDLレベルのスキャン・パスのロジックを生成する
ようにした(#8)。このため、システムLSIの動作
検証に必要とされるレジスタやメモリに対するスキャン
・パスの定義情報を入力することにより、システムLS
I全体の動作検証用のスキャン・パスを構築することが
でき、これらのスキャン・パスを介してシステムLSI
全体の実機テストを行うことができる(#13)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フィールド・プロ
グラマブル・ゲート・アレイ(以下、FPGAと略
す)、プログラマブル・ロジック・デバイス(以下、P
LDと略す)等の再プログラミング可能な論理集積回路
上に構築されるシステムLSIの開発を支援するための
システムに係わり、特に、システムLSIのテスト効率
の向上と開発期間の短縮化を図る技術に関するものであ
る。
【0002】
【従来の技術】従来、ASIC(Application Specific
Integrated Circuit)の分野では、CPUコアを備えた
システムLSIの構成を採り、複雑な解析処理について
は、CPUコア内部のプログラムで処理する方式を採る
ものが多い。このASIC上におけるシステムLSIの
開発を支援するために、各半導体メーカは、システムL
SIの開発支援システムを提供している。この種の開発
支援システムにおいて、CPUコア中のマイクロ・プロ
セッサの代わりにインサーキット・エミュレータ(以
下、ICEという)を接続して、このICEを用いてC
PUコア周辺のハードウェアが完成する前にCPUコア
の動作記述プログラムの実機テストを行う方式を採用し
たものがある。
【0003】
【発明が解決しようとする課題】しかしながら、上記の
ような従来のシステムLSIの開発支援システムでは、
実機テストの対象がシステムLSI上のCPUコアの動
作記述プログラムに限定されるため、システムLSI全
体の実機テストを行うことができない。これに対して、
半導体メーカが製造した既成のシステムLSIについて
は、システムLSI内の順序回路にテスト・モード用の
パスであるスキャン・パスを通して、1つのシフトレジ
スタとしても動作するように設計しておき、このシフト
機能を用いて、外部から順序回路中のフリップフロップ
の値を任意に制御・観測するスキャン・パス方式でシス
テムLSI全体の実機テストを行うものがある(例え
ば、特開平10−143390号公報等参照)。しか
し、このような従来のスキャン・パス方式によるシステ
ムLSI全体の実機テストは、半導体メーカが設計段階
で回路内のフリップフロップについてのスキャン・パス
構成を作成しておくことにより実現可能となるものであ
るため、ユーザが開発現場でFPGAやPLDのような
再書き込み可能な論理集積回路に任意に論理を書き込む
ことによって構築したシステムLSIの実機テストには
使用することができない。このため、このようなシステ
ムLSIの検証は、PC(Personal Computer)やEWS
(Engineering Work Station) を用いた論理シミュレー
ションやタイミング・シミュレーションによりシステム
LSIを構成する各ユーザ・ロジックを個別に検証して
いくという非効率な方法で行わざるを得ず、従って、シ
ステムLSIの開発に長期間を要してしまうという問題
があった。
【0004】本発明は、上述した問題点を解決するため
になされたものであり、FPGA等の論理集積回路上に
構築したシステムLSI全体の実機テストを行うことが
できるようにして、システムLSIのテストを効率化
し、システムLSIの開発期間を短縮することが可能な
システムLSIの開発支援システムを提供することを目
的とする。
【0005】
【課題を解決するための手段】上記目的を達成するため
に請求項1の発明は、コンピュータを用いてFPGA等
の論理集積回路上に構築されるCPUコア内蔵のシステ
ムLSIの開発を支援するためのシステムLSI開発支
援システムにおいて、システムLSIを構成するCPU
コア等のユーザ・ロジック回路のレジスタやメモリとコ
ンピュータとの間のデータの入出力用パスであるスキャ
ン・パスを作成するためのスキャン・パス作成手段と、
スキャン・パス作成手段により作成されたスキャン・パ
スとコンピュータとの間のデータの入出力を行うための
インタフェース手段とを備え、スキャン・パス作成手段
は、ユーザにより入力されたスキャン・パスの定義情報
に応じて、スキャン・パスの基になるハードウェア記述
言語レベルのスキャン・パスのソースを生成し、そのソ
ースからスキャン・パスを作成するものである。
【0006】上記構成においては、スキャン・パス作成
手段が、ユーザにより入力されたスキャン・パスの定義
情報に基づいて、スキャン・パスの基になるハードウェ
ア記述言語レベルのスキャン・パスのソースを生成する
ようにしたので、ユーザが、システムLSIを構成する
各ユーザ・ロジック回路のレジスタやメモリの中で、シ
ステムLSIの動作検証に必要であると判断したレジス
タやメモリに対するスキャン・パスの定義情報を入力す
ることにより、スキャン・パス作成手段がシステムLS
Iの動作検証用のスキャン・パスを作成する。これによ
り、ユーザは、インタフェース手段を用いてコンピュー
タ側からシステムLSIの動作検証に必要なレジスタや
メモリのデータの確認や、レジスタやメモリへのテスト
・データの設定を行うことができ、従って、システムL
SI全体の実機テストを行うことができる。
【0007】また、CPUコアのデータパスや命令体系
のカスタマイズを行うためのカスタマイズ手段をさらに
備えることが望ましい。これにより、ユーザが、このカ
スタマイズ手段を用いてシステムLSI上の他のユーザ
・ロジック回路の仕様に応じて、CPUコアのデータパ
スや命令体系のカスタマイズを行うことができる。ま
た、ユーザが、カスタマイズ手段によりカスタマイズさ
れた後のCPUコアのレジスタやメモリに対するスキャ
ン・パスの定義情報を入力することにより、スキャン・
パス作成手段がこの定義情報に対応したスキャン・パス
を作成するので、カスタマイズ後のCPUコアの実機テ
ストを行うことができる。
【0008】また、CPUコアの動作記述プログラムの
デバッガをさらに備え、インタフェース手段は、論理集
積回路上にCPUコア等のユーザ・ロジック回路の実機
テスト用のデバッグ・モジュールを有し、デバッガは、
CPUコアの動作記述プログラムをコンピュータ内でシ
ミュレートする機能と、デバッグ・モジュールをインサ
ーキット・エミュレータとして利用してCPUコアの動
作記述プログラムをエミュレートする機能とを有すると
共に、これらシミュレート機能とエミュレート機能とを
切り替える機能を持つことが望ましい。これにより、ユ
ーザが同じデバッガを用いてCPUコアの動作記述プロ
グラムのシミュレートとエミュレートとを行うことがで
きるので、動作記述プログラムのシミュレート時とエミ
ュレート時におけるオペレーションを統一することがで
き、また、デバッガによるシミュレート結果の出力形式
とエミュレート結果の出力形式とを統一化することによ
り、シミュレート結果とエミュレート結果とを容易に比
較することができる。
【0009】また、請求項4の発明は、コンピュータに
よってFPGA等の論理集積回路上に構築されるCPU
コア内蔵のシステムLSIの開発を支援するためのプロ
グラムを記録した記録媒体であって、このプログラム
を、請求項1乃至請求項3のいずれかに記載のシステム
LSI開発支援システムのプログラムとしたものであ
る。この構成においては、コンピュータにプログラムを
読み取らせることにより、上記と同様な作用を得ること
ができる。
【0010】
【発明の実施の形態】以下、本発明の一実施形態による
システムLSI開発支援システムについて図面を参照し
て説明する。図1に本実施形態によるシステムLSI開
発支援システムの概略を示す。このシステムLSI開発
支援システム1は、集積回路の一種であるFPGA(Fi
eld Programmable Gate Array)2上に構築されるCPU
コア内蔵のシステムLSIの開発を支援するためのもの
であり、CD−ROM6からインストールされたシステ
ムLSI開発支援ツール(図4参照)に基づいて動作す
る。システムLSI開発支援システム1は、FPGA2
の一部に配置されたユーザ・ロジック回路用のデバッグ
・モジュールASH(Adaptive Scan Handler:適用型走
査処理部:以下、ASHと略す) (請求項における実機
テスト用のデバッグ・モジュール)3と、システムLS
Iを構成する各ユーザ・ロジック回路の基になるハード
ウェア記述言語レベルのロジックの生成や論理合成及び
CPUコア(図2参照)の動作記述プログラムのテスト
等を行うためのパーソナル・コンピュータ(以下、パソ
コンと略す)5と、パソコン5から送られてきたコマン
ドの内容に従ってASH3とパソコン5との間のデータ
の送受信を行うインタフェース装置(Adaptive Scan Ag
ent Pod :以下、ASAPと略す)4とから構成され
る。また、パソコン5には、CPUコアのカスタマイズ
用のプログラム、CPUコアの動作記述プログラムに対
するデバッガ、FPGA2上のユーザ・ロジック回路に
テスト用のパス(以下、スキャン・パスという)を作成
するためのプログラム等が格納されている。このプログ
ラムは、CD−ROM6からインストールされたもので
ある。
【0011】次に、図2(a)(b)を参照して、従来
のCPUコア開発支援システムを用いた実機テストと、
本実施形態によるシステムLSI開発支援システム1を
用いた実機テストとを比較して説明する。図中の斜線の
部分は、それぞれの開発支援システムを用いた場合にお
けるパソコン5から観察・制御することが可能なユーザ
・ロジック回路を示す。図2(a)に示されるように、
従来のCPUコア開発支援システム101では、インサ
ーキット・エミュレータ(In-Circuit Emulator:IC
E) 103を用いてCPUコア111の動作記述プログ
ラムの実機デバッグを行うことは可能であったが、シス
テムLSI108上のIP112やメモリ113の動作
を検証することはできなかった。これに対して、本実施
形態によるシステムLSI開発支援システム1は、上述
したように、パソコン5内にスキャン・パス構築用のプ
ログラム(図4に示されるスキャン・パス構築ツール4
3に相当)を有しており、ユーザは、このスキャン・パ
ス構築用プログラムを用いてCPUコア11等の各ユー
ザ・ロジック回路に実機テスト用のスキャン・パスを自
由に構築することができる。従って、図2(b)に示さ
れるように、ユーザは、このスキャン・パスとASH3
とを介して、システムLSI8を構成するCPUコア1
1、IP12、メモリ13等の各ユーザ・ロジック回路
の実機テストを行うことができる。また、ASH3は、
CPUコア11に対するインサーキット・エミュレータ
としても機能するので、ユーザは、このASH3を用い
て、CPUコア11の動作記述プログラムの実機デバッ
グを行うこともできる。なお、図2(b)では、ASA
P4の図示を省いている。
【0012】次に、システムLSI開発支援システム
(以下、開発支援システムと略す)1の詳細構成につい
て図3を参照して説明する。上述したように、開発支援
システム1は、パソコン5、ASAP4及びASH3よ
り構成される。このパソコン5は、パソコン5全体の制
御を行うCPU22と、CD−ROM6に格納された各
種のプログラムやデータを読み取るためのCD−ROM
ドライブ23と、システムLSI開発支援ツール21や
他の各種ファイル24を格納するためのハード・ディス
ク25と、ハード・ディスク25に格納された各種プロ
グラム等を一時的に格納するための高速アクセス可能な
メモリ26と、キーボードやマウス等よりなる入力部2
7と、ディスプレイやプリンタ等よりなる表示部28と
を備えている。また、パソコン5はRS−232Cイン
タフェースによる通信を行うための通信ドライバ29を
有しており、この通信ドライバ29はASAP4に接続
される。ASAP4は、パソコン5と通信を行うための
通信ドライバ31と、パソコン5より送られてきた大ま
かなコマンドを解析してASH3に対する詳細なコマン
ドを発行するコントローラ部32と、コントローラ部3
2から受け取ったコマンドの内容に応じてASH3に対
するデータの送受信を行うTAP(Test Access Port)
コントローラ部33とより構成される。このTAPコン
トローラ部33は、TAPと呼ばれる図示されていない
バウンダリ・スキャン・テスト用の専用端子を備えてお
り、この専用端子を用いてASH3との信号の送受信を
行う。TAPは、ASH3からのデータを入力するため
のTDI(Test Data Input)、ASH3へデータを出力
するためのTDO(Test Data Output) 、テスト制御状
態を設定するTMS(Test Mode Select)、及びテスト
用クロックを入力するTCK(Test Clock)の4本の専
用端子からなる。また、ASH3は、ASAP4側のT
APコントローラ部33との信号の送受信を行うための
TAPコントローラ部34と、パソコン5から発行され
たコマンドに従ってTAPコントローラ部34と接続す
るパスを切り替えるパス・コントローラ部35と、CP
Uコア11、IP12又はメモリ13の内部のメモリや
レジスタに対するデータの取り込み・更新用のパスであ
るスキャン・パス36a,36b,36cとより構成さ
れる。
【0013】上記パソコン5とASAP4との間のデー
タ伝送は、RS−232Cインタフェースにより行われ
るが、ASAP4とASH3との間のデータ伝送は、バ
ウンダリ・スキャン・テスト用のJTAGインタフェー
スにより行われる。請求項におけるインタフェース手段
は、パソコン5の通信ドライバ29、ASAP4及びA
SH3より構成される。
【0014】次に、図4を参照して、開発支援システム
1の中核を成すシステムLSI開発支援ツール(以下、
開発支援ツールと略す)21について説明する。開発支
援ツール21は、CPUコア11のレジスタや命令のカ
スタマイズを行うためのCPUコア・カスタマイズツー
ル41と、CPUコア11の動作記述プログラム用のデ
バッガ42と、CPUコア11等のユーザ・ロジック回
路内部のメモリやレジスタに対してスキャン・パスを構
築するためのスキャン・パス構築ツール43(請求項に
おけるスキャン・パス作成手段)とより構成される。C
PUコア・カスタマイズツール41は、CPUコア11
の本体回路のVHDL(VHSIC HardwareDescription Lan
guage)レベルのソースであるCPUコアVHDL元ソ
ース44と、CPUコア11の動作記述プログラム用ア
センブラの文法則を簡易言語で記述したアセンブラ元ソ
ース45と、CPUコア11のレジスタや命令のカスタ
マイズ用の情報を入力するためのCPUコア変更入力ツ
ール46と、CPUコア変更入力ツール46を用いて入
力されたカスタマイズ情報とアセンブラ元ソース45と
に基づいてCPUコア11の動作記述プログラム用のア
センブラを生成するアセンブラ生成用ツール47と、C
PUコア変更入力ツール46を用いて入力されたカスタ
マイズ情報に基づいてCPUコアVHDL元ソース44
の更新を行うVHDL更新部48とよりなる。デバッガ
42は、CPUコア11の動作記述プログラムをステッ
プ単位で逐次解釈実行するインタープリターであるシミ
ュレート部49と、システムLSI8の実機テストの際
にASH3に対する制御コマンドの発行やASH3から
のコマンド実行結果の受け取り等を行う実機制御部50
とからなる。ユーザは、システムLSI8の実機テスト
の際に、実機制御部50の機能を用いることで、スキャ
ン・パス36a,36b,36cに対応したレジスタや
メモリのデータの観測・制御のみならず、CPUコア1
1の動作記述プログラムのエミュレーションを行うこと
もできる。すなわち、実機制御部50は、ASH3をC
PUコア11に対するインサーキット・エミュレータと
して用いた際のパソコン5側のエミュレーション・プロ
グラムとしても機能する。この開発支援ツール21は、
図3に示されるCD−ROM6からインストールされた
ものであり、請求項4におけるシステムLSI開発支援
用プログラムに相当する。
【0015】次に、図5乃至図7を参照して、開発支援
システム1を用いたCPUコア11の開発処理全体の流
れについて説明する。本開発支援システム1は、FPA
G2上の種々のIP12の仕様に応じたCPUコア11
のカスタマイズと、カスタマイズしたCPUコア11を
含むシステムLSI8全体の検証を目的としたものであ
る。一般にターゲットとなるIP12の仕様に応じてC
PUコア11に要求される機能は異なる。従って、FP
AG2上のIP12の仕様に応じてCPUコア11のア
ーキテクチャ及び動作記述プログラムを変更することが
望ましい。また、CPUコア11のアーキテクチャ及び
動作記述プログラムを変更した場合には、動作記述プロ
グラム用のアセンブリ言語の仕様とこのアセンブリ言語
に対するアセンブラを変更する必要がある。本開発支援
システム1は、このようなIP12の仕様に応じたCP
Uコア11のカスタマイズとカスタマイズしたCPUコ
ア11を含むシステムLSI8全体の検証を可能とする
ものである。具体的には、図5に示されるように、ユー
ザが、ターゲットとなるIP12に応じて、CPUコア
11内のレジスタと命令の追加・変更・削除の仕様を決
定し(#1)、この仕様に応じて、図6に示されるカス
タマイズ画面51からCPUコア11のレジスタとアセ
ンブリ言語の命令との定義を入力する(#2)。この定
義入力が完了すると、VHDL更新部48(図4)が、
これらの定義情報とCPUコアVHDL元ソース44
(図4)とに基づいて、CPUコア本体のVHDLソー
スを更新し、また、アセンブラ生成用ツール47(図
4)が、これらの定義情報と簡易言語で記述したアセン
ブラ元ソース45(図4)とに基づいて、C言語で記述
したアセンブラのソース・プログラムを生成する(#
3)。ユーザは、このアセンブラのソース・プログラム
をコンパイルすることにより、所望のアセンブラのオブ
ジェクト・プログラム(以下、単にアセンブラという)
を得ることができる(#4)。そして、ユーザが、CP
Uコア3の動作記述プログラムのソース・プログラムを
作成して(#5)、この動作記述プログラムのソース・
プログラムを#4で作成したアセンブラでアセンブルす
ると(#6)、アセンブラは、動作記述プログラムのオ
ブジェクト・プログラムを作成すると共に、動作記述プ
ログラムのソース・プログラム中の種々のラベル60
(図7参照)に基づいて、オフライン・デバッグ用のシ
ンボル・テーブルを出力する。
【0016】次に、ユーザは、図7に示されるデバッグ
用画面56を用いてオフライン・デバッグを開始し(#
7)、シミュレート部49(図4)のインタープリター
機能を用いて、動作記述プログラムのソース・プログラ
ム中の各命令を1ステップ毎に実行して、動作記述プロ
グラムの検証を行う。そして、オフライン・デバッグが
完了すると、ユーザは、実機テストに備えて、CPUコ
ア11等のユーザ・ロジック回路内のレジスタやメモリ
に対応したスキャン・パス36a,36b,36c(以
下、総称する場合はスキャン・パス36という)の定義
情報を入力し、スキャン・パス構築ツール43(図4)
を用いて、この定義情報に対応したスキャン・パス36
とパス・コントローラ部35(図3)とのVHDLレベ
ルのソースを生成する(#8)。ユーザが、このスキャ
ン・パス36をCPUコア11等のユーザ・ロジック回
路内のレジスタやメモリに接続して、このスキャン・パ
ス36とパス・コントローラ部35との接続関係を定義
すると、スキャン・パス構築ツール43は、この接続定
義情報に基づいて、スキャン・パス36とパス・コント
ローラ部35との接続関係についてのVHDL形式の最
上位コネクション・ファイルを生成する(#9)。次
に、ユーザは、ターゲットとなるIP12のVHDLレ
ベルのソースの作成を行って(#10)、このIP12
のソースと、VHDL更新部48が更新したCPUコア
11のソースと、メモリ13のソースと、スキャン・パ
ス36のソースと、パス・コントローラ部35のソース
と、#9で作成した最上位コネクション・ファイル等と
の論理合成を行う(#11)。そして、ユーザは、図1
に示されるように、ASAP15を介してFPGA2と
パソコン5とを接続して、#6の処理でアセンブルして
作成した動作記述プログラムのオブジェクト・プログラ
ムと#9の処理で論理合成した結果とをFPGA2にダ
ウンロードする(#12)。次に、ユーザは、パソコン
5とFPGA2とを接続したままの状態で、パソコン5
からFPGA2上のCPUコア11等のユーザ・ロジッ
ク回路内のレジスタやメモリに対するデータの送受信を
行うことにより、CPUコア11の動作記述プログラム
のオンライン・デバッグとシステムLSI8全体の実機
テストとを行う(#13)。なお、「オンライン・デバ
ッグ」と「実機テスト」とは、同義であるが、以降の説
明では、「オンライン・デバッグ」の語を主としてCP
Uコア11の動作記述プログラムについての実機テスト
を指すものとして用いる。
【0017】次に、上記#2及び#3で説明したCPU
コア11のカスタマイズ処理について詳述する。CPU
コア11のカスタマイズを行う場合には、一般に、CP
Uコア11内のレジスタやCPUコア11の動作記述プ
ログラムで使用可能な命令の動作を変更する必要があ
る。CPUコア変更入力ツール46(図4)は図6に示
されるCPUコア11のカスタマイズ用の画面51を有
しており、ユーザは、このカスタマイズ用画面51中の
レジスタ定義画面52と命令定義画面53とを用いて、
CPUコア11内のレジスタのカスタマイズと、CPU
コア11の動作記述プログラムで使用可能なアセンブリ
言語の命令のカスタマイズとを行うことができる。ユー
ザは、レジスタのカスタマイズを行う場合には、レジス
タ定義画面52からレジスタの追加・変更・削除の情報
(以下、レジスタ定義情報という)を入力し、また、ア
センブリ言語の命令のカスタマイズを行う場合には、命
令定義画面53からアセンブリ言語の命令の追加・変更
・削除の情報(以下、命令定義情報という)を入力す
る。ユーザが、これらの定義情報の入力を終了し、マウ
スを用いて設定ボタン54をクリックすると、VHDL
更新部48(図4)が、これらの定義情報に基づいて、
CPUコア11のVHDLレベルのソースの更新を行
い、また、アセンブラ生成用ツール47(図4)が、こ
れらの定義情報に基づいて、CPUコア11の動作記述
プログラム用のアセンブラのソース・プログラムを生成
する。また、シミュレート部49がこれらの定義情報に
基づいて動作可能な状態となる。
【0018】次に、上記図5中の#7のオフライン・デ
バッグ処理について詳述する。CPUコア11の動作記
述プログラムのデバッグには、シミュレート部49(図
4)を用いたオフライン・デバッグと実機制御部50を
用いたオンライン・デバッグとがあり、ユーザは、デバ
ッガ42に対してオフライン・デバッグとオンライン・
デバッグのいずれを行うかを指示することにより、シミ
ュレート部49の持つシミュレート機能と実機制御部5
0の持つエミュレート機能とを切り替えて使用すること
が可能である。デバッガ42は、図7に示されるデバッ
グ用画面56を有しており、ユーザは、この画面56の
プルダウン・メニュー57からオフライン・デバッグへ
の切り替えを指示することにより、オフライン・デバッ
グを開始することが可能となる。ユーザは、オフライン
・デバッグ時に、デバッグ用画面56のプルダウン・メ
ニュー57からデバッガ設定画面58、アセンブル指示
画面59、図示されていないエディタ画面等を呼び出し
て、ブレイクポイントの設定等のデバッガに対する指
示、CPUコア11の動作記述プログラムの修正、修正
した動作記述プログラムのアセンブル等の処理を行うこ
とができる。ユーザは、シミュレート部49の有するイ
ンタープリターを用いて、動作記述プログラムをステッ
プ単位で逐次解釈実行させることで、動作記述プログラ
ムのオフライン・デバッグを行うことができる。オフラ
イン・デバッグ時におけるデバッガ42の機能は、ブレ
イクポイントの設定、トレース、メモリダンプ、メモリ
書き換え等の通常のデバッガの機能と基本的に同様であ
る。但し、通常のデバッガの機能と異なる点は、FPG
A2内の他のIP12からの入力をシミュレートするこ
とができる点である。従って、ユーザは、このデバッガ
42を用いてCPUコア11にIP12からのデータが
発生した場合の検証を行うことができる。また、ユーザ
がアセンブル指示画面59から動作記述プログラムのア
センブルを指示すると、図5中の#4で作成したアセン
ブラは、動作記述プログラム中のラベル60を、処理部
(以下、プログラム・セグメントという)のラベルとデ
ータ部(以下、データ・セグメントという)のラベルと
に分類して、各セグメント毎にラベルの集合からなるシ
ンボル・テーブルを作成する。デバッガ42(図4)中
のシミュレート部49は、これらのシンボル・テーブル
を参照することで、インタープリターによる動作記述プ
ログラムの解釈実行時に、プログラム・セグメントのラ
ベルとデータ・セグメントのラベルとを容易に判別する
ことができる。なお、シミュレート部49は、図6中の
レジスタ定義画面52と命令定義画面53とから入力さ
れた情報に基づいて動作する。
【0019】上記図5中の#13の実機テストを行う場
合には、ユーザは、図7に示されるデバッグ用画面56
のプルダウン・メニュー57からオンライン・デバッグ
への切り替えを指示することにより、CPUコア11の
動作記述プログラムのオンライン・デバッグを開始する
ことができる。ユーザは、オンライン・デバッグ時に
は、実機制御部50(図4)の持つエミュレート機能を
用いて、FPGA2上のCPUコア11内にダウンロー
ドした動作記述プログラムを実行させて、実行の前後に
おけるCPUコア11等のレジスタやメモリのデータ値
の設定・観測等を行う方法により、FPGA2上のCP
Uコア11の動作記述プログラムの検証を行うことがで
きる。詳細は後述するが、オンライン・デバッグ時にお
けるデバッガ42の機能は、オフライン・デバッグ時に
おけるデバッガ42の機能とほぼ同様であり、また、オ
ンライン・デバッグ時とオフライン・デバッグ時とにお
けるデバッガ42のオペレーションは基本的に同じであ
る。
【0020】次に、上記図5中の#13の実機テスト時
におけるFPGA2内の各モジュール間のデータの流れ
について図8を参照して説明する。TAPコントローラ
部34は、ASAP4から送信される図示していないT
MS信号(上述のTMS端子から出力された信号)に基
づいてステータスを遷移させる。このTAPコントロー
ラ部34は、そのステータスに応じて、メイン・コント
ローラ38内のIR(Instraction Register) に対する
スキャン・パス(インストラクション・レジスタ・スキ
ャン・パス)39にアクセスを行うか、CPUコア11
等のFPGA2上のユーザ・ロジック回路内のレジスタ
やメモリに対するスキャン・パス36a,36b,36
cにアクセスを行うかを決定する。TAPコントローラ
部34は、メイン・コントローラ38内のIRにコマン
ドを送る場合には、ASAP4から送信されたTDO信
号(TDO端子から出力された信号)を、IR−TDO
信号としてインストラクション・レジスタ・スキャン・
パス39に出力し、また、メイン・コントローラ38内
のIRの内容を読み込む場合には、インストラクション
・レジスタ・スキャン・パス39から出力されたIR−
TDI信号をTDI信号(TDI端子への入力信号)と
してASAP4へ送信する。また、TAPコントローラ
部34は、CPUコア11等のユーザ・ロジック回路内
のレジスタやメモリにシリアルデータを送る場合には、
ASAP4から送信されたTDO信号をDR(Data Reg
ister)−TDO信号としてスキャン・パス36a,36
b,36cに出力し、また、CPUコア11等のユーザ
・ロジック回路内のレジスタやメモリの内容を読み込む
場合には、スキャン・パス36a,36b,36cから
出力されたDR−TDI信号をTDI信号(TDI端子
への入力信号)としてASAP4へ送信する。
【0021】ユーザが、ASAP4からアクセス可能な
スキャン・パス36a,36b,36cの切り替えを行
う場合には、パソコン5より発行した”SEL−SCA
N−PATH”コマンド(後記表1参照)をASAP4
とTAPコントローラ部34とを介してインストラクシ
ョン・レジスタ・スキャン・パス39に送り、メイン・
コントローラ38によりこのコマンドを実行させる。こ
れにより、メイン・コントローラ38からセレクト・ス
キャン・モジュール37に対してスキャン・パス切替信
号が送信されて、ASAP4からアクセス可能なスキャ
ン・パス36a,36b,36cが切り替えられる。ま
た、CPUコア11等のユーザ・ロジック回路とメイン
・コントローラ38との間には、ユーザ・ロジック回路
の実機テストの際に通常モードとデバッグモードとを切
り替えるためのHALT信号用の信号線が設けられてい
る。
【0022】本開発支援システム1では、ユーザがスキ
ャン・パス構築ツール43(図4)を用いてシステムL
SI8中の各ユーザ・ロジック回路に対するスキャン・
パス36を作成することができる。ユーザは、このスキ
ャン・パス36を介してカスタマイズしたCPUコア1
1を含むシステムLSI全体の検証を行うことができ
る。以下に、システムLSI8中の各ユーザ・ロジック
回路に対するスキャン・パス36の作成方法について説
明する。スキャン・パス36の回路の作成は、パソコン
5内のスキャン・パス構築ツール43が自動生成したス
キャン・パス36のVHDLレベルのロジックに基づい
て行われる。
【0023】図9に図5中の#8に示されるスキャン・
パス36等のVHDLレベルのソースの生成処理の流れ
を示す。ユーザは、スキャン・パス36のロジック生成
に先立って、パソコン5の入力部27(図3)を用いて
スキャン・パス36についての各種定義情報を入力す
る。すなわち、ユーザは、最初に、作成するスキャン・
パス数Nを設定して(#21)、以下、N個分のスキャ
ン・パスについての定義情報を入力する(#22〜#3
2)。具体的には、まず、各スキャン・パス36のデー
タビット長の入力を行う(#24)。そして、ASAP
4から送信されたデータをスキャン・パス36を介して
ユーザ・ロジック回路内のレジスタやメモリに書き込み
可能とする場合、つまり、ライト・コントロールを有り
とする場合には(#25でYES)、ユーザは、スキャ
ン・パス36のアクセス対象がレジスタのときは(#2
6でYES)、スキャン・パス36のVHDLソースコ
ードを生成するための入力パラメタとして、ライト制御
フラグ(図11中の67参照)付きのレジスタ用スキャ
ン・パスの定義情報を入力する(#27)。また、スキ
ャン・パス36のアクセス対象がメモリのときは(#2
6でNO)、ユーザは、パラメタとして、ライト制御フ
ラグ付きのメモリ用スキャン・パスの定義情報を入力す
る(#28)。
【0024】これに対して、ASAP4から送信された
データをスキャン・パス36を介してユーザ・ロジック
回路内のレジスタやメモリに書き込まず、ユーザ・ロジ
ック回路内のレジスタやメモリのデータをスキャン・パ
ス36を介して読み取ることだけを可能としたい場合、
つまり、ライト・コントロールを無しとする場合には
(#25でNO)、ユーザは、アクセス対象がレジスタ
のときは(#29でYES)、スキャン・パス36のV
HDLソースコードを生成するための入力パラメタとし
て、ライト制御フラグ無しのレジスタ用スキャン・パス
の定義情報を入力し(#30)、また、アクセス対象が
メモリのときは(#29でNO)、ライト制御フラグ無
しのメモリ用スキャン・パスの定義情報を入力する(#
31)。そして、ユーザが全てのスキャン・パス36に
ついての定義情報の入力を終了すると(#23でN
O)、パソコン5内のスキャン・パス構築ツール43
は、入力された各スキャン・パス36の定義情報に基づ
いて、N個のスキャン・パス36とこれらに対応したセ
レクト・スキャン・モジュール37とメイン・コントロ
ーラ38とについてのVHDLソースコードを生成する
(#33)。
【0025】次に、上記#24乃至#31で行われる各
スキャン・パス36の定義処理について図10及び図1
1を参照して詳述する。図10は、パソコン5上で行わ
れるスキャン・パス36の定義処理と、その定義内容に
基づいて作成されるスキャン・パス36のロジックとの
関係を示す。各スキャン・パス36を定義するための項
目としては、以下の6つの項目がある。 入力バス63の数(各スキャン・パス36が読み込み
可能なレジスタ又はメモリの数に相当) 出力バス64の数(各スキャン・パス36から書き込
み可能なレジスタ又はメモリの数に相当) 各レジスタ(又はメモリ)に対して書き込みを行うか
否かの指定(ライト制御の使用/未使用) 各レジスタ(又はメモリ)のデータを読み込むか否か
の指定 各入出力バス63,64のバス幅 スキャン・パスのアクセス対象をレジスタとするかメ
モリとするかの指定 上記の〜の定義項目に基づいて、スキャン・パス3
6を構成する、データ部61とコントロール部62とか
ら成るロジックが生成される。また、コントロール部6
2から出力されるwe(write enable)信
号の線の数は、各スキャン・パス36から書き込み可能
なレジスタ又はメモリの数と等しい。
【0026】次に、図11を参照して上記〜の定義
項目に基づいてスキャン・パス構築ツール43により自
動生成されたスキャン・パス36のデータ・フォーマッ
トについて説明する。図11の(例1)に示されるよう
に、1つのスキャン・パス36によるアクセス対象が3
つのレジスタA,B,Cである場合には、スキャン・パ
ス36は、アクセス対象となるそれぞれのレジスタA,
B,Cのビット数に対応した3組のデータ・エリア66
と、ライト制御ビット67とより構成される。3つのラ
イト制御ビット67は、左から順にそれぞれ各レジスタ
A,B,Cに対する書き換えの可否の情報を格納するビ
ットであり、図に示される各ライト制御ビット67中
の”c”は、各ライト制御ビット67に対応するレジス
タが書き換え可能であることを示す。(例1)の場合
は、左端と右端のライト制御ビット67が”c”となっ
ているので、それぞれのライト制御ビット67に対応し
たレジスタAとレジスタCが書き換え可能である。各ラ
イト制御ビット67の値は、実際には、各レジスタA,
Cに対して書き込みを行う場合に”1”となり、各レジ
スタA,Cのデータの読み込みのみを行う場合に”0”
となる。また、(例2)に示されるように、1つのレジ
スタDのみにアクセスする場合には、スキャン・パス3
6は、1組のデータ・エリア66とライト制御ビット6
7とより構成される。
【0027】次に、上記(例2)のスキャン・パス36
を作成する際に入力する定義項目〜の値と、これら
の定義内容に基づいて生成されるスキャン・パス36の
ロジックとについて図12及び図13を参照して説明す
る。これらの図に示されるように、上記(例2)のスキ
ャン・パス36を作成する場合には、各定義項目〜
に、 入力バス数:1 出力バス数:1 書き込み:有り 読み込み:有り バス幅:16ビット スキャン・パスのアクセス対象:レジスタ といった情報を入力する。スキャン・パス36を上記
〜のように定義したことにより、これらの図に示され
るように、バス幅が16ビットの1本の入力バスDIN
と、1本の出力バスDOUTとが生成される。また、上
記に書き込み有りを設定し、上記の出力バス数とし
て1を設定したことにより、コントロール部62にwe
信号用の端子が1つ生成される。さらにまた、図12に
示されるように、データ部61にはTAPコントローラ
部34からのコントロール信号であるUPDATE,CAPTURE,S
HIFT,TCKの各信号を入力するための端子が設けられる。
また、図13に示されるように、スキャン・パス36内
にはシフトレジスタ68、一時格納用レジスタ70及び
これらの間のデータの伝送用のバス69が生成され、シ
フトレジスタ68の図示で上下の位置には、ASAP4
からシフトレジスタ68へ送られるデータであるDR−
TDOの入力用端子と、シフトレジスタ68からASA
P4へ送られるデータであるDR−TDIの出力用端子
とが生成される。
【0028】次に、上記のようにして作成されたスキャ
ン・パス36のロジックをユーザ・ロジック回路に組み
込む方法について説明する。スキャン・パス36の組み
込みは、ユーザ・ロジック回路内のレジスタやメモリと
スキャン・パス36とをマルチプレクサを介して接続す
る方法により行われる。図14にスキャン・パス36と
ユーザ・ロジック回路内のレジスタ71との接続方法を
示す。図中のDinは、ユーザ・ロジック回路内の他の
レジスタやメモリからのデータ入力用のバスを示し、D
outは、ユーザ・ロジック回路内の他のレジスタやメ
モリへのデータ出力用のバスを示す。レジスタ71は、
4つの端子を持っており、このうちD端子はDinのバ
スからのデータ入力用の端子、Q端子はDoutのバス
へのデータ出力用の端子、ena端子はイネーブル信号
入力用の端子、clk端子はクロック信号入力用の端子
である。
【0029】上記〜の定義項目に従ってスキャン・
パス構築ツール43により自動生成されたレジスタ用の
スキャン・パス36とレジスタ71とを接続するには、
図14の下段の「組み込み後」に示されるように、スキ
ャン・パス36のデータ部61をマルチプレクサ72a
の’1’のチャネルを介してレジスタ71のD端子と接
続し、ユーザ・ロジック回路内の他のレジスタやメモリ
からのデータ入力用バスDinをマルチプレクサ72a
の’0’のチャネルを介してレジスタ71のD端子と接
続する。また、スキャン・パス36のコントロール部6
2をマルチプレクサ72bの’1’のチャネルを介して
レジスタ71のena端子と接続し、デバッグモード以
外の時(通常モード時)のレジスタ71に対するイネー
ブル信号の信号線を、マルチプレクサ72bの’0’の
チャネルを介してレジスタ71のena端子と接続す
る。さらにまた、Q端子からの出力用のDoutバスを
分岐させて、Q端子とスキャン・パス36のデータ部6
1とを接続する。また、マルチプレクサ72a,72b
にHALT信号が送られた場合、すなわちデバッグモー
ド時には、マルチプレクサ72a,72bのチャネルが
共に’1’に切り換わり、逆に、マルチプレクサ72
a,72bにHALT信号が送られない場合、すなわち
通常モード時には、マルチプレクサ72a,72bのチ
ャネルが共に’0’に切り換わるように設定する。
【0030】スキャン・パス36とレジスタ71とを上
記のように接続したことにより、デバッグモード時に
は、スキャン・パス36のコントロール部62からレジ
スタ71のena端子にwe信号が送られて、スキャン
・パス36のデータ部61の内容がマルチプレクサ72
aを介してレジスタ71に書き込まれると共に、このレ
ジスタ71の内容がDout端子からスキャン・パス3
6やユーザ・ロジック回路内の他のメモリやレジスタに
送られる。これに対して、通常モード時には、レジスタ
71のena端子にload信号が送られて、ユーザ・
ロジック回路内の他のレジスタやメモリからの入力デー
タがDinのバスとマルチプレクサ72aを介してレジ
スタ71にロードされると共に、このレジスタ71の内
容がDout端子からユーザ・ロジック回路内の他のメ
モリやレジスタに送られる。
【0031】次に、図15を参照してスキャン・パス3
6とユーザ・ロジック回路内のメモリとの接続方法を説
明する。メモリ73は、5つの端子を持っており、この
うちAdr端子はユーザ・ロジック回路内の他のメモリ
やレジスタのアドレスの入力用端子、Din端子はユー
ザ・ロジック回路内の他のメモリやレジスタからのデー
タ入力用の端子、we端子はライト・イネーブル信号入
力用の端子、clk端子はクロック信号入力用の端子、
Dout端子はユーザ・ロジック回路内の他のメモリや
レジスタへのデータ出力用の端子である。スキャン・パ
ス構築ツール43により自動生成されたスキャン・パス
36とメモリ73とを接続するには、図15の下段の
「組み込み後」に示されるように、スキャン・パス36
のデータ部61中のアドレスエリア61aのビットをマ
ルチプレクサ72cの’1’のチャネルを介してメモリ
73のAdr端子と接続し、ユーザ・ロジック回路内の
他のメモリやレジスタ用のアドレスバスをマルチプレク
サ72cの’0’のチャネルを介してメモリ73のAd
r端子と接続する。また、スキャン・パス36のデータ
部61中のデータエリア61bのビットをマルチプレク
サ72dの’1’のチャネルを介してメモリ73のDi
n端子と接続し、ユーザ・ロジック回路内の他のメモリ
やレジスタからのデータ入力用のバスをマルチプレクサ
72dの’0’のチャネルを介してメモリ73のDin
端子と接続する。さらにまた、スキャン・パス36のコ
ントロール部62をマルチプレクサ72eの’1’のチ
ャネルを介してメモリ73のwe端子と接続し、通常モ
ード時のメモリ73に対するライト・イネーブル信号の
信号線をマルチプレクサ72eの’0’のチャネルを介
してメモリ73のwe端子と接続する。また、マルチプ
レクサ72c,72d,72eにHALT信号が送られ
た場合、すなわちデバッグモード時には、マルチプレク
サ72c,72d,72eのチャネルが全て’1’に切
り換わり、逆に、マルチプレクサ72c,72d,72
eにHALT信号が送られない場合、すなわち通常モー
ド時には、マルチプレクサ72c,72d,72eのチ
ャネルが全て’0’に切り換わるように設定する。
【0032】スキャン・パス36とメモリ73とを上記
のように接続したことにより、デバッグモード時には、
スキャン・パス36のコントロール部62からメモリ7
3のwe端子にwe信号が送られて、スキャン・パス3
6のデータエリア61bのデータが、マルチプレクサ7
2dを介して、アドレスエリア61aのアドレスに対応
したメモリ73上のエリアに書き込まれると共に、同じ
データが、メモリ73のDout端子からユーザ・ロジ
ック回路内の他のレジスタ又はメモリとスキャン・パス
36とに送られる。これに対して、通常モード時には、
メモリ73のwe端子にwe信号が送られて、データバ
スから送られたデータが、マルチプレクサ72dを介し
て、アドレスバスから送られたアドレスに対応したメモ
リ73上のエリアに書き込まれると共に、同じデータ
が、メモリ73のDout端子からユーザ・ロジック回
路内の他のレジスタ又はメモリとスキャン・パス36と
に送られる。
【0033】次に、図16のフローチャートを参照し
て、図5中の#9に示されるスキャン・パス36の接続
方法とVHDL形式の最上位コネクション・ファイルの
生成処理について説明する。ユーザは、ユーザ・ロジッ
ク回路内への各スキャン・パス36の組み込みが完了す
ると(#41)、このスキャン・パス36とセレクト・
スキャン・モジュール37とメイン・コントローラ38
との接続関係をバッカス記号法を用いて定義する(#4
2)。
【0034】すなわち、図9の#33のVHDLソース
生成処理の結果、図17に示されるように、各スキャン
・パス36a,36b,36cに対応した入出力用の端
子81乃至86、各ユーザ・ロジック回路に対応したコ
ントロール信号(HALT信号)入力用の端子87乃至
89、セレクト・スキャン・モジュール37側の各スキ
ャン・パス36a,36b,36cに対する入出力用の
端子74乃至79、及びメイン・コントローラ38から
各スキャン・パス36a,36b,36cへのコントロ
ール信号出力用の端子80に対応したVHDL形式のコ
ードが生成されるので、ユーザは、これらの端子のコー
ドを用いて各端子間の接続関係を記述したソースを作成
する。パソコン5のスキャン・パス構築ツール43は、
バッカス記号法により記述されたソースのコンパイラを
有しており、ユーザがバッカス記号法により作成したソ
ースを入力すると、このコンパイラを用いて上記の接続
関係のソースの内容を解析して、スキャン・パス36と
セレクト・スキャン・モジュール37とメイン・コント
ローラ38との接続関係についてのVHDL形式の最上
位コネクション・ファイルを生成する(#43)。
【0035】次に、ユーザは、図14及び図15に示さ
れる方法でユーザ・ロジック回路に組み込まれたスキャ
ン・パス36と、図9の#33において生成したVHD
L形式のセレクト・スキャン・モジュール37及びメイ
ン・コントローラ38と、上記#43で作成したVHD
L形式の最上位コネクション・ファイルとに基づいて、
ユーザ・ロジック回路と共にスキャン・パス36を含む
ASH3の論理合成、論理シミュレーション、配置配線
設計等を行った後、配置配線設計に応じたユーザ・ロジ
ック回路とASH3とのFPGA2への実装を行う。こ
の実装後のFPGA2をパソコン5及びASAP4と接
続することにより、ユーザ・ロジック回路に対する実機
テストを行うことができるようになる。
【0036】次に、上記図5中の#13の実機テストに
含まれるCPUコア11の動作記述プログラムのオンラ
イン・デバッグについて説明する。このCPUコア11
の動作記述プログラムのオンライン・デバッグは、AS
H3をインサーキット・エミュレータとして利用し、実
機制御部50(図4)をCPUコア11の動作記述プロ
グラムのエミュレーション・プログラムとして用いるこ
とにより実現される。
【0037】図18にASH3の詳細構成を示す。AS
H3は、TAPコントローラ部34、セレクト・スキャ
ン・モジュール37、メイン・コントローラ38、イン
ストラクション・レジスタ・スキャン・パス39、及び
製品ID等が記憶されたIDレジスタ95より構成され
る。また、メイン・コントローラ38は、ASH3全体
の動作の制御を行うASHコントローラ91と、デバッ
グ用画面56(図7)から設定されたプログラム・カウ
ンタの値に基づいてCPUコア11にHALT信号を発
行するためのブレイクポイント・コントローラ92と、
デバッグ用画面56から設定されたアドレスの値に基づ
いてCPUコア11にHALT信号を発行するウォッチ
ポイント・コントローラ93とより構成される。ASH
コントローラ91は、デバッガ42(図4)とASH3
との間の情報交換用のレジスタであるインストラクショ
ン・レジスタ94を持つ。ブレイクポイント・コントロ
ーラ92は、ブレイクポイントとなるプログラム・カウ
ンタの値を格納するためのブレイクポイント・レジスタ
92a〜92hを有する。また、ウォッチポイント・コ
ントローラ93は、ウォッチポイントとなるアドレスの
値を格納するためのウォッチポイント・レジスタ93a
〜93dを有する。
【0038】ユーザは、上記ASH3内のTAPコント
ローラ部34を介してASHコントローラ91に対する
コマンド送信とCPUコア11内のレジスタやメモリに
対するアクセスとを行うことができる。すなわち、ユー
ザがデバッグ用画面56からASHコントローラ91に
対するコマンド送信を指示した場合には、TAPコント
ローラ部34は、ASAP4側のTAPコントローラ部
33(図3)から送信されるTMS信号に基づき、イン
ストラクション・レジスタ・スキャン・パス39を介し
てインストラクション・レジスタ94にコマンドをセッ
トする。また、ユーザがデバッグ用画面56からCPU
コア11内のレジスタやメモリに対する読み書きを行う
ように指示した場合には、ASAP4側のTAPコント
ローラ部33(図3)から送信されるTMS信号に基づ
き、スキャン・パス36b(図8)を介してCPUコア
11内のレジスタやメモリに対するアクセスを行う。
【0039】上記ASH3は、ユーザがデバッグ用画面
56から設定した情報に基づきCPUコア11に対して
以下の各制御を行うことができる。 プログラム・カウンタによるブレイク ユーザがデバッグ用画面56からブレイクポイントを設
定すると、ASHコントローラ91が、このブレイクポ
イントをブレイクポイント・コントローラ92にセット
する。ブレイクポイント・コントローラ92は、設定さ
れたプログラム・カウンタの値とCPUコア11のプロ
グラム・カウンタの値とが一致した時点で、自動的にC
PUコア11に対してHALT信号を発行してCPUコ
ア11にブレイクをかける。ユーザは、ブレイクポイン
トを最大8ポイントまで設定することができる。 ウォッチポイントによるブレイク ユーザがデバッグ用画面56からウォッチポイントを設
定すると、ASHコントローラ91が、このウォッチポ
イントをウォッチポイント・コントローラ93にセット
する。ウォッチポイント・コントローラ93は、設定さ
れたウォッチポイントのアドレス値と動作記述プログラ
ムの更新対象となるデータのアドレス値とが一致する
と、自動的にデータ・メモリ(SRAM)中の該当アド
レスのデータをチェックして、該当アドレスのデータが
前回更新時のデータと変化した時点で、自動的にCPU
コア11に対してHALT信号を発行してCPUコア1
1にブレイクをかける。ユーザは、ブレイクポイントを
最大4ポイントまで設定することができる。 ステップ実行 ユーザがデバッグ用画面56からステップ実行を指示す
ると、ASHコントローラ91は、CPUコア11のシ
ステム・クロックの1サイクル分だけ動作記述プログラ
ムを実行する。 強制停止 ユーザがデバッグ用画面56から強制停止を指示する
と、ASHコントローラ91は、この指示に従ってCP
Uコア11にHALT信号を発行し、CPUコア11に
よる動作記述プログラムの処理を停止させる。 リスタート ユーザがデバッグ用画面56からリスタートを指示する
と、ASHコントローラ91は、停止した地点から動作
記述プログラムの処理を再開する。 リセット ユーザがデバッグ用画面56からリセットを指示する
と、ASHコントローラ91は、CPUコア11のプロ
グラム・カウンタの値を初期化する。 メモリダンプ ユーザがデバッグ用画面56からデータ・メモリ(SR
AM)又はプログラム・メモリ(PRAM)中の確認し
たいデータのアドレスを指定してメモリダンプの実行を
指示すると、ASHコントローラ91が、ユーザの指示
内容に基づいて、セレクト・スキャン・モジュール37
に指示を与えて、ダンプの対象となるメモリを切り替
え、また、TAPコントローラ34がメモリ中の該当す
るアドレスのデータを読み出す。 メモリ書き込み ユーザがデバッグ用画面56からデータ・メモリ(SR
AM)又はプログラム・メモリ(PRAM)中の設定を
行いたいデータのアドレスを指定してメモリ書き込みを
指示すると、ASHコントローラ91が、ユーザの指示
内容に基づいて、セレクト・スキャン・モジュール37
に指示を与えて、書き込みの対象となるメモリを切り替
え、TAPコントローラ部34がメモリ中の該当するア
ドレスにデータを書き込む。 内部レジスタの読み込みと更新 ユーザがデバッグ用画面56から設定を行いたいレジス
タを指定してこのレジスタの読み込み又は更新を指示す
ると、ASHコントローラ91が、ユーザが指定した指
示内容に基づいて、セレクト・スキャン・モジュール3
7に指示を与えて、書き込みの対象を該当のレジスタに
切り替え、TAPコントローラ部34が該当のレジスタ
に対するデータの読み込み又は書き込みを行う。
【0040】上記の各制御機能は、ユーザがデバッグ用
画面56から設定した情報に基づいて、デバッガ42
(図4)が、表1に示されるコマンドをインストラクシ
ョン・レジスタ94に送出することで、実現される。
【0041】
【表1】
【0042】次に、上記図18に示されるインストラク
ション・レジスタ94について図19を参照して説明す
る。インストラクション・レジスタ94は、デバッガ4
2(図4)から送られたコマンドを格納するためのコマ
ンドレジスタ94a、レジスタ71(図14)やメモリ
73(図15)に対するデータの入出力用のデータレジ
スタ94b、ASH3のステータスをデバッガ42に伝
達するためのステータスレジスタ94c、及びデバッガ
42とASHコントローラ91との間で読み書きの確認
をするためのREAD/WRITEレジスタ94dより
構成される。ステータスレジスタ94cは、図には示し
ていないが、デバッガ42に対する割り込みの発生の有
無を表す割り込みステータス用ビット、HALTしたブ
レイクポイントを表すブレイクポイント・ステータス用
ビット、HALTしたウォッチポイントを表すウォッチ
ポイント・ステータス用ビット等から構成される。ま
た、READ/WRITEレジスタ94dは、デバッガ
用ビット94eとASH用ビット94fとより構成さ
れ、これらのビット94e,94fを介してデバッガ4
2とASHコントローラ91とのコマンド又はステータ
スの確認が行われる。
【0043】上記デバッガ42とASHコントローラ9
1との確認処理は、具体的には、以下のようにして行わ
れる。デバッガ42とASHコントローラ91との間で
送受信されるデータ(以下、これを電文という)のフォ
ーマットは、インストラクション・レジスタ94のフォ
ーマットと同じであり、デバッガ42は、電文中のコマ
ンドレジスタ94aに相当するエリアにコマンドをセッ
トする際に、電文中のデバッガ用ビット94eに相当す
るエリアに1をセットする。ASHコントローラ91
は、デバッガ42から送信された電文をインストラクシ
ョン・レジスタ94に格納すると、このインストラクシ
ョン・レジスタ94中のデバッガ用ビット94eの内容
をチェックして、このビット94eに1がセットされて
いると、インストラクション・レジスタ94に格納され
たコマンドが有効であると判断して、このコマンドの実
行を行うと共に、コマンド実行後にデバッガ用ビット9
4eに0をセットする。従って、パソコン5側のデバッ
ガ42は、TAPコントローラ部34とインストラクシ
ョン・レジスタ・スキャン・パス39とを介してASH
コントローラ91側のインストラクション・レジスタ9
4のデバッガ用ビット94eの内容を読み込むことによ
り、ASHコントローラ91がコマンドを実行したか否
かを判断することができる。すなわち、デバッガ42
は、デバッガ用ビット94eが1であれば、ASHコン
トローラ91がコマンドを実行していないと判断し、デ
バッガ用ビット94eが0であれば、ASHコントロー
ラ91がコマンドを実行したと判断する。また、ASH
コントローラ91は、ASH3のステータスが変化する
と、ステータスレジスタ94c(図19)の内容を更新
して、ASH用ビット94fに1をセットする。パソコ
ン5側のデバッガ42は、TAPコントローラ部34と
インストラクション・レジスタ・スキャン・パス39と
を介してASHコントローラ91側のインストラクショ
ン・レジスタ94を読み込んで、ASH用ビット94f
の内容をチェックすることにより、ASH3のステータ
スが変化したか否かを判断することができる。すなわ
ち、デバッガ42は、ASH用ビット94fが0であれ
ば、ASH3のステータスが変化していないと判断し、
ASH用ビット94fが1であれば、ASH3のステー
タスが変化したと判断すると共に、このステータス変化
の判断後に、ASH用ビット94fを0クリアする。A
SHコントローラ91は、このASH用ビット94fが
1である限り、デバッガ42がステータスの変化を認識
していないと判断して、ステータスレジスタ94cの内
容を更新しない。
【0044】図20に上記のデバッガ42とASHコン
トローラ91との確認方法を利用した実際のデバッグ処
理の具体例を示す。図中のIRは、インストラクション
・レジスタ94のことを示す。ユーザがデバッグ用画面
56から図18中のブレイクポイント・レジスタ92a
〜92hにブレイクポイントとなるプログラム・カウン
タの値をセットすると、デバッガ42は、ASH3に対
する電文中のコマンドレジスタ94aに相当するエリア
には表1に示される”SET−BREAK”コマンド
を、デバッガ用ビット94eに相当するエリアには1を
セットして、この電文をASH3に送出する(S1)。
ASH3内のTAPコントローラ部34がこの電文をイ
ンストラクション・レジスタ94に書き込むと、ASH
コントローラ91は、インストラクション・レジスタ9
4の内容を解読して、指定されたブレイクポイント・レ
ジスタ92a〜92hにブレイクポイントとなるプログ
ラム・カウンタの値をセットした後に、インストラクシ
ョン・レジスタ94内のデバッガ用ビット94eを0ク
リアする(S11)。デバッガ42は、TAPコントロ
ーラ部34とインストラクション・レジスタ・スキャン
・パス39とを介してインストラクション・レジスタ9
4を読み込んで、デバッガ用ビット94eが0クリアさ
れたことを認識すると、次のユーザからの指示を待つ。
そして、ユーザがデバッグ用画面56から動作記述プロ
グラムの実行開始を指示すると、電文中のコマンドレジ
スタ94aに相当するエリアに”RUN”コマンドを、
デバッガ用ビット94eに相当するエリアに1をセット
して、この電文をASH3に送出する(S2)。TAP
コントローラ部34がこの電文をインストラクション・
レジスタ94に書き込むと、ASHコントローラ91
は、インストラクション・レジスタ94の内容を解読し
て、”RUN”コマンドを実行し(S12)、CPUコ
ア11に対するHALT信号に0をセットして、CPU
コア11のモードを通常モードに切り替える(S2
1)。そして、インストラクション・レジスタ94内の
デバッガ用ビット94eを0クリアする。
【0045】CPUコア11内の図示していないプログ
ラム・カウンタの値が、上記S11でセットされたブレ
イクポイント・レジスタ92a〜92h内のいずれかの
プログラム・カウンタの値と一致すると、ASHコント
ローラ91は、動作記述プログラムの処理を停止させる
ために、CPUコア11に対するHALT信号に1をセ
ットして、CPUコア11のモードをデバッグモードに
切り替える(S13,S22)。そして、ステータスレ
ジスタ94c(図19)にブレイクポイントを検出した
旨の情報をセットし、ASH用ビット94fに1をセッ
トする。デバッガ42は、インストラクション・レジス
タ94を読み込んで、ASH用ビット94fの内容をチ
ェックし(S3)、ASH用ビット94fの値が1であ
れば、ステータスレジスタ94cの内容をチェックし
て、デバッグ用画面56にブレイクポイントを検出した
旨を表示すると共に、インストラクション・レジスタ9
4内のASH用ビット94fを0クリアする。ユーザ
は、デバッグ用画面56にブレイクポイントを検出した
旨が表示されると、CPUコア11がデバッグモードに
切り替わったと判断して、動作記述プログラムが正常に
動作していることを確認するために、ASH3側のTA
Pコントローラ部34と接続するスキャン・パス36
を、表示したいレジスタ71やメモリ73に対応したス
キャン・パス36に切り替える。具体的には、ユーザが
デバッグ用画面56からスキャン・パス36の切り替え
を指示すると、デバッガ42は、ASH3に対する電文
中のコマンドレジスタ94aに相当するエリアに”SE
L−SCAN−PATH”コマンドを、デバッガ用ビッ
ト94eに相当するエリアに1をセットして、この電文
をASH3に送出する(S4)。TAPコントローラ部
34がこの電文をインストラクション・レジスタ94に
書き込むと、ASHコントローラ91は、インストラク
ション・レジスタ94の内容を解読して、セレクト・ス
キャン・モジュール37に指示を与え、TAPコントロ
ーラ部34と接続するスキャン・パス36を切り替えた
後に、インストラクション・レジスタ94内のデバッガ
用ビット94eを0クリアする(S14)。ユーザは、
デバッグ用画面56上でスキャン・パスの切り替えを確
認すると、デバッグ用画面56から所望のレジスタ71
やメモリ73(以下、DR(DATA REGISTOR)と総称す
る)を指定してこのDRに対する読み込みや更新の指示
を与える(S5)。TAPコントローラ部34は、この
指示に基づいて、指定されたDRに対応したスキャン・
パス36へのアクセスを行う(S15)。このスキャン
・パス36へのアクセスは、後述するTAPコントロー
ラ部34のDRに対する読み込み・更新機能を利用して
行われる。
【0046】ユーザは、デバッグ用画面56上で所望の
DRのデータの確認や、所望のDRに対するデータの書
き込み完了の確認を行った後に、システムクロックの1
サイクル分だけ動作記述プログラムを実行して、他のD
Rに対するデータの読み込み・更新処理を行いたいと判
断した場合には、デバッグ用画面56からデバッガ42
に対してその旨の指示を与える。デバッガ42は、ユー
ザからの指示内容に基づいて、ASH3に対する電文中
のコマンドレジスタ94aに相当するエリアに”STE
P”コマンドを、デバッガ用ビット94eに相当するエ
リアに1をセットして、この電文をASH3に送出する
(S6)。TAPコントローラ部34がこの電文をイン
ストラクション・レジスタ94に書き込むと、ASHコ
ントローラ91は、インストラクション・レジスタ94
の内容を解読して、”STEP”コマンドを実行し(S
16)、CPUコア11に対するHALT信号に0をセ
ットして、CPUコア11のモードを通常モードに切り
替える(S23)。そして、インストラクション・レジ
スタ94内のデバッガ用ビット94eを0クリアする。
次に、ASHコントローラ91は、システムクロックの
1サイクル分の処理の完了を確認すると、動作記述プロ
グラムの処理を停止させるために、CPUコア11に対
するHALT信号に1をセットして、CPUコア11の
モードをデバッグモードに切り替える(S17,S2
4)。そして、インストラクション・レジスタ94内の
ステータスレジスタ94cに割り込みが発生した旨の情
報を、ASH用ビット94fに1をそれぞれセットす
る。デバッガ42は、インストラクション・レジスタ9
4を読み込んで、ASH用ビット94fの内容をチェッ
クし(S7)、ASH用ビット94fの値が1であれ
ば、ステータスレジスタ94cの内容をチェックして、
デバッグ用画面56に動作記述プログラムの処理を停止
した旨を表示すると共に、インストラクション・レジス
タ94内のASH用ビット94fを0クリアする。
【0047】ユーザは、デバッグ用画面56に動作記述
プログラムの処理を停止した旨が表示されると、デバッ
グ用画面56からデバッガ42に対してTAPコントロ
ーラ部34と接続するDRを切り替えるように指示を与
える。デバッガ42とASHコントローラ91とは、ユ
ーザからの指示に基づいて、上記S4及びS14と同様
な処理を行って、TAPコントローラ部34と接続する
スキャン・パス36を切り替える(S8,S18)。ユ
ーザは、デバッグ用画面56上でスキャン・パスの切り
替えを確認すると、デバッグ用画面56から所望のDR
を指定してこのDRに対する読み込みや更新の指示を与
える(S9)。TAPコントローラ部34は、この指示
に基づいて、指定されたDRに対応したスキャン・パス
36へのアクセスを行う(S19)。ユーザは、デバッ
グ用画面56上で所望のDRのデータの確認や、所望の
DRに対するデータの書き込み完了の確認を終えると、
デバッグ用画面56から再び動作記述プログラムの実行
開始を指示する。デバッガ42とASHコントローラ9
1とは、ユーザからの指示に従い、上記S2及びS12
と同様な処理を行い(S10,S20)、CPUコア1
1に対するHALT信号に0をセットして、CPUコア
11のモードを通常モードに切り替える(S25)。そ
して、ASHコントローラ91は、CPUコア内部のプ
ログラム・カウンタの値が、上記S11でセットしたブ
レイクポイント・レジスタ92a〜92h内のいずれか
のプログラム・カウンタの値と一致するか、ウォッチポ
イント・レジスタ93a〜93dに格納されたアドレス
に対応したデータ・メモリ中のデータが変化するまで、
CPUコア11に対するHALT信号を0のままにし
て、CPUコア11による動作記述プログラムの処理を
続行させる。
【0048】次に、図21を参照して、TAPコントロ
ーラ部34によるインストラクション・レジスタ(I
R)94とDRとに対する読み込み・更新の処理につい
て説明する。TAPコントローラ部34は、ASAP4
側のTAPコントローラ部33(図3)から送信される
TMS信号とTCK信号とに基づいて、図中のST1乃
至ST12に示されるステートを遷移させることで、図
20中のS15及びS19に示されるCPUコア11内
のDRに対するアクセス処理とIR94に対するアクセ
ス処理とを行う。TAPコントローラ部34のステート
の遷移の仕方は、TCK信号の立ち上がりエッジにおけ
るTMS信号の値に基づいて決定される。具体的には、
TAPコントローラ部34は、ASAP4側のTAPコ
ントローラ部33から送信されるTMS信号が1の間
は、ST1の状態を維持して、ASH3内の各種データ
の初期化(Reset)を行う。そして、TMS信号が0に変
化すると、ST2の待機状態に遷移し、TMS信号が再
び1に変化すると、ST3のステートに遷移する。TA
Pコントローラ部34は、次のTCK信号の立ち上がり
エッジにおけるTMS信号の値が0であれば、アクセス
対象がDRであると判断して、ST4のステートに遷移
して、スキャン・パス36の張られているDRの内容を
シフトレジスタ68(図13)内に取り込む。そして、
次のTCK信号の立ち上がりエッジにおけるTMS信号
の値が0であれば、ST5のステートに遷移して、TM
S信号の値が0の間は、シフトレジスタ68内のデータ
を1クロックに1ずつシフトさせて、ST4のステート
で取り込んだデータをDR−TDI(図13)からAS
AP4側に送信すると共に、ASAP4側から送信され
た更新用のデータをDR−TDO(図13)に転送す
る。TMS信号が1に変化すると、TAPコントローラ
部34は、ST6のステートに遷移して、シフトレジス
タ68のデータのシフトを終了させる。そして、TMS
信号が1のままであれば、ST2の待機状態に戻るが、
TMS信号が0に変化した場合には、ST7のステート
に遷移して、シフトレジスタ68のデータの内容をスキ
ャン・パス36の張られているDRに書き込んで更新す
る。
【0049】これに対して、TAPコントローラ部34
は、ST3のステートの時に、次のTCK信号の立ち上
がりエッジにおけるTMS信号の値が1であれば、アク
セス対象がIR94であると判断してST8のステート
に遷移し、次のTCK信号の立ち上がりエッジにおける
TMS信号の値が0であれば、ST9のステートに遷移
して、IR94の内容をインストラクション・レジスタ
・スキャン・パス39に取り込む。さらに、次のTCK
信号の立ち上がりエッジにおけるTMS信号の値が0の
ままであれば、ST10のステートに遷移して、TMS
信号の値が0の間は、インストラクション・レジスタ・
スキャン・パス39内のデータを1クロックに1ずつシ
フトさせて、IR94に格納されたASH3内のステー
タス等をASAP4側に送信すると共に、ASAP4側
から送信されたコマンド等をIR94に取り込む。そし
て、TMS信号が1に変化すると、TAPコントローラ
部34は、ST11のステートに遷移して、インストラ
クション・レジスタ・スキャン・パス39のデータのシ
フトを終了させる。そして、TMS信号が1のままであ
れば、ST2の待機状態に戻るが、TMS信号が0に変
化した場合には、ST12のステートに遷移して、イン
ストラクション・レジスタ・スキャン・パス39のデー
タの内容をIR94に書き込んで更新する。
【0050】上述したように、本実施形態によるシステ
ムLSI開発支援システム1によれば、スキャン・パス
構築ツール43が、ユーザにより入力されたスキャン・
パスの定義情報に基づいて、スキャン・パスの基になる
VHDLレベルのスキャン・パス36のロジックを生成
するようにしたので、ユーザが、システムLSI8を構
成する各ユーザ・ロジック回路のレジスタ71やメモリ
73の中で、システムLSIの動作検証に必要であると
判断したレジスタ71やメモリ73に対するスキャン・
パス36の定義情報を入力することにより、スキャン・
パス構築ツール43が、システムLSI8の動作検証用
のスキャン・パス36を構築する。これにより、ユーザ
は、パソコン5側からASAP4とASH3とを介して
システムLSI8の動作検証に必要なレジスタ71やメ
モリ73のデータの確認や、レジスタ71やメモリ73
へのテスト・データの設定を行うことができ、従って、
システムLSI8全体の実機テストを行うことができ
る。
【0051】本発明は、上記実施形態に限られるもので
はなく、様々な変形が可能である。例えば、上記実施形
態では、本発明をFPGAに適用したものを示したが、
本発明をPLD(Programmable Logic Device)等の他の
集積回路に適用してもよい。また、上記実施形態では、
ASAP4をパソコン5の外部に設けた例を示したが、
ASAPをボード化して、パソコン内部のスロットに格
納する形態にしてもよい。
【0052】
【発明の効果】以上のように請求項1の発明によれば、
ユーザにより入力されたスキャン・パスの定義情報に基
づいて、スキャン・パスの基になるハードウェア記述言
語レベルのスキャン・パスのロジックを生成するように
したので、ユーザがシステムLSIの動作検証用のスキ
ャン・パスを容易に作成することができる。これによ
り、ユーザが、このスキャン・パスを介してコンピュー
タ側からシステムLSIのレジスタやメモリの値を任意
に制御・観測する方法でシステムLSI全体の実機テス
トを行うことができるので、従来のシステムLSI内の
各ユーザ・ロジックを個別に検証していく方法に比べ
て、システムLSIのテスト効率を高め、システムLS
Iの開発期間を短縮することができる。
【0053】また、CPUコアのデータパスや命令体系
のカスタマイズを行うためのカスタマイズ手段をさらに
備えたものとすることにより、ユーザが、このカスタマ
イズ手段を用いてシステムLSI上の他のユーザ・ロジ
ック回路の仕様に応じて、CPUコアのデータパスや命
令体系のカスタマイズを行うことができる。また、この
ようにCPUコアのカスタマイズを行った場合でも、ユ
ーザが、カスタマイズされた後のCPUコアのレジスタ
やメモリに対するスキャン・パスの定義情報を入力する
ことにより、この定義情報に対応したスキャン・パスの
ロジックを得ることができるので、このスキャン・パス
を用いてカスタマイズ後のCPUコアを含むシステムL
SI全体の実機テストを効率的に行うことができる。
【0054】また、デバッガにCPUコアの動作記述プ
ログラムをコンピュータ内でシミュレートする機能と、
デバッグ・モジュールをインサーキット・エミュレータ
として利用してCPUコアの動作記述プログラムをエミ
ュレートする機能とを持たせて、これらシミュレート機
能とエミュレート機能とを切り替えて使用できるように
したことにより、ユーザが同じデバッガを用いてCPU
コアの動作記述プログラムのシミュレートとエミュレー
トとを行うことができる。これにより、動作記述プログ
ラムのシミュレート時とエミュレート時におけるオペレ
ーションを統一化することができ、また、デバッガによ
るシミュレート結果の出力形式とエミュレート結果の出
力形式とを統一化することにより、シミュレート結果と
エミュレート結果とを容易に比較することができる。従
って、CPUコアの動作記述プログラムの検証に要する
時間を短縮して、システムLSIの開発期間の短縮化を
図ることができる。
【0055】また、請求項4の発明によれば、コンピュ
ータにプログラムを読み取らせることにより、上記に記
載の発明と同等の効果を得ることができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態によるシステムLSI開
発支援システムの概略を示す図である。
【図2】 (a)(b)は上記システムLSI開発支援
システムを用いた実機テストと、従来のCPUコア開発
支援システムを用いた実機テストとを比較した図であ
る。
【図3】 上記システムLSI開発支援システムの詳細
構成を示す図である。
【図4】 上記システムLSI開発支援システムの中核
を成すシステムLSI開発支援ツールの機能ブロック図
である。
【図5】 上記システムLSI開発支援システムによる
CPUコアの開発処理のフローチャートである。
【図6】 上記システムLSI開発支援ツールの有する
CPUコアのカスタマイズ用画面を示す図である。
【図7】 上記システムLSI開発支援ツールの有する
デバッガ用画面を示す図である。
【図8】 上記システムLSI開発支援システムにおけ
るFPGA内の各モジュール間のデータの流れを示す図
である。
【図9】 上記システムLSI開発支援システムにおけ
るスキャン・パス等の生成処理のフローチャートであ
る。
【図10】 上記システムLSI開発支援システムにお
けるスキャン・パスの定義処理と、それにより作成され
るスキャン・パスのロジックとの関係を示す図である。
【図11】 図9の定義処理に基づいて自動生成された
スキャン・パスのデータ・フォーマットを示す図であ
る。
【図12】 上記スキャン・パスのロジックを示す図で
ある。
【図13】 上記スキャン・パスのロジックを機能ブロ
ック単位で示した図である。
【図14】 上記スキャン・パスとユーザ・ロジック回
路内のレジスタとの接続方法(組み込み前と組み込み
後)を示す図である。
【図15】 上記スキャン・パスとユーザ・ロジック回
路内のメモリとの接続方法(組み込み前と組み込み後)
を示す図である。
【図16】 上記スキャン・パスの接続方法と最上位コ
ネクション・ファイルの生成処理のフローチャートであ
る。
【図17】 上記スキャン・パスとセレクト・スキャン
・モジュールとメイン・コントローラの接続用端子を示
す図である。
【図18】 ASHの詳細構成を示す図である。
【図19】 上記ASH内のインストラクション・レジ
スタを示す図である。
【図20】 実際のデバッグ処理の具体例を示す図であ
る。
【図21】 TAPコントローラ部のステート遷移を示
す図である。
【符号の説明】
1 システムLSI開発支援システム 2 FPGA(論理集積回路) 3 ASH(デバッグ・モジュール、インタフェー
ス手段) 4 ASAP(インタフェース手段) 5 パソコン 6 CD−ROM(システムLSI開発支援用プロ
グラムを記録した記録媒体) 8 システムLSI 11 CPUコア 21 システムLSI開発支援ツール(システムLS
I開発支援用プログラム) 29 通信ドライバ(インタフェース手段) 36 スキャン・パス 41 CPUコア・カスタマイズツール(カスタマイ
ズ手段) 42 デバッガ 43 スキャン・パス構築ツール(スキャン・パス作
成手段)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田中 良平 大阪市淀川区田川2丁目1番11号 株式会 社ダイヘン内 (72)発明者 中尾 俊充 大阪市北区東天満1丁目4番16号 株式会 社ローラン内 Fターム(参考) 5B046 AA08 BA02 BA09 GA01 JA05 5B048 AA20 BB02 CC18

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータを用いてFPGA等の論理
    集積回路上に構築されるCPUコア内蔵のシステムLS
    Iの開発を支援するためのシステムLSI開発支援シス
    テムにおいて、 前記システムLSIを構成する前記CPUコア等のユー
    ザ・ロジック回路のレジスタやメモリと前記コンピュー
    タとの間のデータの入出力用パスであるスキャン・パス
    を作成するためのスキャン・パス作成手段と、 前記スキャン・パス作成手段により作成されたスキャン
    ・パスと前記コンピュータとの間のデータの入出力を行
    うためのインタフェース手段とを備え、 前記スキャン・パス作成手段は、ユーザにより入力され
    たスキャン・パスの定義情報に応じて、スキャン・パス
    の基になるハードウェア記述言語レベルのスキャン・パ
    スのソースを生成し、そのソースからスキャン・パスを
    作成することを特徴とするシステムLSI開発支援シス
    テム。
  2. 【請求項2】 前記CPUコアのデータパスや命令体系
    のカスタマイズを行うためのカスタマイズ手段をさらに
    備えたことを特徴とする請求項1に記載のシステムLS
    I開発支援システム。
  3. 【請求項3】 前記CPUコアの動作記述プログラムの
    デバッガをさらに備え、 前記インタフェース手段は、前記論理集積回路上に前記
    CPUコア等のユーザ・ロジック回路の実機テスト用の
    デバッグ・モジュールを有し、 前記デバッガは、前記CPUコアの動作記述プログラム
    を前記コンピュータ内でシミュレートする機能と、前記
    デバッグ・モジュールをインサーキット・エミュレータ
    として利用して前記CPUコアの動作記述プログラムを
    エミュレートする機能とを有すると共に、これらシミュ
    レート機能とエミュレート機能とを切り替える機能を持
    つことを特徴とする請求項1又は請求項2に記載のシス
    テムLSI開発支援システム。
  4. 【請求項4】 コンピュータによってFPGA等の論理
    集積回路上に構築されるCPUコア内蔵のシステムLS
    Iの開発を支援するためのプログラムを記録した記録媒
    体であって、 該プログラムは、請求項1乃至請求項3のいずれかに記
    載のシステムLSI開発支援システムのプログラムであ
    ることを特徴とするシステムLSI開発支援用プログラ
    ムを記録した記録媒体。
JP2000063308A 2000-03-03 2000-03-03 システムlsi開発支援システムとその開発支援用プログラムを記録した記録媒体 Withdrawn JP2001249826A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000063308A JP2001249826A (ja) 2000-03-03 2000-03-03 システムlsi開発支援システムとその開発支援用プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000063308A JP2001249826A (ja) 2000-03-03 2000-03-03 システムlsi開発支援システムとその開発支援用プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2001249826A true JP2001249826A (ja) 2001-09-14

Family

ID=18583196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000063308A Withdrawn JP2001249826A (ja) 2000-03-03 2000-03-03 システムlsi開発支援システムとその開発支援用プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2001249826A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100533307B1 (ko) * 2002-04-26 2005-12-05 가부시끼가이샤 도시바 시스템 온 칩을 개발하기 위한 개발 환경의 생성 방법 및 그 프로그램을 기억한 매체
JP2009009325A (ja) * 2007-06-27 2009-01-15 Tokushu Denshi Kairo Kk Icエミュレーション装置およびicエミュレーション方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100533307B1 (ko) * 2002-04-26 2005-12-05 가부시끼가이샤 도시바 시스템 온 칩을 개발하기 위한 개발 환경의 생성 방법 및 그 프로그램을 기억한 매체
JP2009009325A (ja) * 2007-06-27 2009-01-15 Tokushu Denshi Kairo Kk Icエミュレーション装置およびicエミュレーション方法

Similar Documents

Publication Publication Date Title
US6701491B1 (en) Input/output probing apparatus and input/output probing method using the same, and mixed emulation/simulation method based on it
US6608638B1 (en) System and method for configuring a programmable hardware instrument to perform measurement functions utilizing estimation of the hardware implentation and management of hardware resources
US6784903B2 (en) System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations
US6584601B1 (en) System and method for converting graphical programs into hardware implementations which utilize probe insertion
Guccione et al. JBits: A Java-based interface for reconfigurable computing
US6286114B1 (en) Enhanced embedded logic analyzer
US8136065B2 (en) Integrated prototyping system for validating an electronic system design
US20030196187A1 (en) Specifying and targeting portions of a graphical program for real-time execution on an embedded processor
JP2001201543A (ja) スキャン・パス構築用プログラムを記録した記録媒体とスキャン・パスの構築方法及びこのスキャン・パスを組み込んだ演算処理システム
JPH10340203A (ja) デジタルプロセッサのテスト方法
WO2001040941A2 (en) Hardware debugging in a hardware description language
KR20020069631A (ko) 고수준 프로그래밍 언어를 이용한 회로내 에뮬레이션을위한 장치 및 방법
Gruwell et al. High-speed FPGA configuration and testing through JTAG
US7036046B2 (en) PLD debugging hub
US7228513B2 (en) Circuit operation verification device and method
JP2002366602A (ja) ソフトウエア及びハードウエアのシミュレーション方法及びシステム並びにプログラム
JP2001249826A (ja) システムlsi開発支援システムとその開発支援用プログラムを記録した記録媒体
JPH11194960A (ja) ソフトウェア試験装置
US6598176B1 (en) Apparatus for estimating microcontroller and method thereof
US6718498B2 (en) Method and apparatus for the real time manipulation of a test vector to access the microprocessor state machine information using the integrated debug trigger
EP1233341A1 (en) Embedded logic analyser
US20030225566A1 (en) JTAG server
JP4589255B2 (ja) ハードウェア/ソフトウェア協調検証装置
KR20010114158A (ko) 신속한 입출력탐침 장치 및 이를 이용한 입출력탐침방법과 이를 기반으로 하는 혼합 에뮬레이션/시뮬레이션방법
JP2001216337A (ja) Cpuコアの開発支援システムとその開発支援方法及び開発支援用プログラムを記録した記録媒体

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: 20070605