JP2001216337A - Cpuコアの開発支援システムとその開発支援方法及び開発支援用プログラムを記録した記録媒体 - Google Patents

Cpuコアの開発支援システムとその開発支援方法及び開発支援用プログラムを記録した記録媒体

Info

Publication number
JP2001216337A
JP2001216337A JP2000028902A JP2000028902A JP2001216337A JP 2001216337 A JP2001216337 A JP 2001216337A JP 2000028902 A JP2000028902 A JP 2000028902A JP 2000028902 A JP2000028902 A JP 2000028902A JP 2001216337 A JP2001216337 A JP 2001216337A
Authority
JP
Japan
Prior art keywords
cpu core
program
assembly language
deletion
assembler
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
JP2000028902A
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 JP2000028902A priority Critical patent/JP2001216337A/ja
Priority to EP01300652A priority patent/EP1122660A3/en
Priority to US09/775,066 priority patent/US20010011214A1/en
Publication of JP2001216337A publication Critical patent/JP2001216337A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 FPGA等におけるCPUコアの開発支援シ
ステムおいて、CPUコアで使用する命令の変更・削除
やCPUコア内のレジスタの追加・変更・削除を簡単に
行うことができるようにして、他のIPの仕様に応じた
簡易なCPUコアの構築を可能とする。 【解決手段】 ユーザがカスタマイズ画面からアセンブ
リ言語の命令の追加・変更・削除の情報を定義すると
(#11)、アセンブラ生成用コンパイラが、この命令
の追加・変更・削除の情報とアセンブリ言語の基本文法
則62とに基づいて、アセンブリ言語の基本文法則に、
命令の追加・変更・削除に対応した新規の文法則を取り
込んだアセンブラのソース・プログラム68を生成する
(#12)。これにより、アセンブリ言語の命令の追加
・変更・削除が容易となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、FA機器、通信機
器、家電製品等に組み込まれるフィールド・プログラマ
ブル・ゲート・アレイ(以下、FPGAと略す)、プロ
グラマブル・ロジック・デバイス(以下、PLDと略
す)等の再プログラミング可能な論理集積回路上におけ
るCPUコアの開発を支援するためのシステムに関す
る。
【0002】
【従来の技術】従来のASIC(Application Specific
IC)では、CPUコアを有するシステムLSIの構成を
採り、複雑な解析処理については、CPUコア内部のプ
ログラムで処理する方式を採るものが多い。このASI
C上におけるCPUコアの開発を支援するために、各半
導体メーカーは、CPUコアの開発支援システムを提供
している。この種の開発支援システムにおいて、システ
ムLSIを構成する他のIP(Intellectual Property
)の仕様に応じてCPUコアの命令を追加することが
可能で、追加した命令に対応したコンパイラを自動生成
することができるものがある。
【0003】
【発明が解決しようとする課題】しかしながら、上記の
ような従来のASIC上におけるCPUコアの開発支援
システムでは、CPUコアで使用する命令の追加のみが
可能で、命令の変更・削除やCPUコア内のレジスタの
追加・変更・削除を自由に行うことができないため、真
に他のIPの仕様に応じたCPUコアの構築を行うこと
ができないという問題があった。また、この開発支援シ
ステムでは、CPUコア内のレジスタの削除を行うこと
ができないため、この開発支援システムによりASIC
に比べて回路規模の小さなFPGAやPLD上にCPU
コアを構築した場合には、FPGAやPLD上における
CPUコアの占有面積が大きくなるという問題があっ
た。
【0004】本発明は、上述した問題点を解決するため
になされたものであり、FPGAやPLD等の論理集積
回路上においてCPUコアで使用する命令の変更・削除
やCPUコア内のレジスタの追加・変更・削除を自由に
行うことができるようにして、論理集積回路上において
他のIPの仕様に応じた簡易なCPUコアを構築するこ
とが可能なCPUコアの開発支援システムを提供するこ
とを目的とする。
【0005】
【課題を解決するための手段】上記目的を達成するため
に本発明は、フィールド・プログラマブル・ゲート・ア
レイ等の論理集積回路上におけるCPUコアの開発を支
援するためのCPUコアの開発支援システムにおいて、
CPUコアで使用可能なアセンブリ言語の基本文法則を
記述したソース・プログラムと、アセンブリ言語の命令
の追加・変更・削除の情報を定義するための定義手段
と、ソース・プログラムと、定義手段を用いて定義され
たアセンブリ言語の命令の追加・変更・削除の情報とに
基づいて、アセンブリ言語の基本文法則に、命令の追加
・変更・削除の情報に対応した新規の文法則を取り込ん
だアセンブラのソース・プログラムを生成するアセンブ
ラ生成用コンパイラとを備えたものである。
【0006】上記構成においては、論理集積回路上にC
PUコア以外のIPが存在する場合に、ユーザが定義手
段を用いて他のIPの仕様に応じてアセンブリ言語の命
令の追加・変更・削除の情報を定義すると、アセンブラ
生成用コンパイラが、CPUコアで使用可能なアセンブ
リ言語の基本文法則を記述したソース・プログラムと、
定義手段を用いて定義されたアセンブリ言語の命令の追
加・変更・削除の情報とに基づいて、アセンブリ言語の
基本文法則に、命令の追加・変更・削除の情報に対応し
た新規の文法則を取り込んだアセンブラのソース・プロ
グラムを生成する。これにより、論理集積回路上にCP
Uコア以外のIPが存在する場合に、他のIPの仕様に
応じてCPUコアで使用するアセンブリ言語の命令の追
加・変更・削除を容易に行うことができる。
【0007】また、CPUコアの動作を記述したアセン
ブリ言語によるソース・プログラムを検証するためのシ
ミュレータをさらに備え、このシミュレータが、定義手
段を用いて定義されたアセンブリ言語の命令の追加・変
更・削除の情報に応じて動作することが望ましい。これ
により、ユーザが新規の文法則を取り込んだアセンブラ
のソース・プログラムを生成するために、定義手段を用
いてアセンブリ言語の命令の追加・変更・削除の情報を
定義するだけで、シミュレータが、アセンブラ生成用コ
ンパイラにより生成されたアセンブラと同様な新規の文
法則を用いて、アセンブリ言語によるソース・プログラ
ムの解釈・実行を行うようにすることができる。
【0008】また、生成されたアセンブラのソース・プ
ログラムをコンパイルすることにより作成されたアセン
ブラは、アセンブリ言語によるソース・プログラムをオ
ブジェクト・プログラムにアセンブルする際に、アセン
ブリ言語によるソース・プログラム中で定義されたラベ
ルに基づいて、ソース・プログラム中の処理部のラベル
の集合からなるファイルと、ソース・プログラム中のデ
ータ部のラベルの集合からなるファイルとを別個に作成
し、シミュレータは、アセンブリ言語によるソース・プ
ログラムをシミュレートする際に、2つのファイルに格
納された情報に基づいて、ソース・プログラム中の処理
部のラベルとデータ部のラベルとを認識するようにして
もよい。これにより、開発対象となるCPUコアがデー
タ・メモリとプログラム・メモリとを別個に持つハーバ
ード・アーキテクチャを採用したCPUコアである場合
に、シミュレータは、ソース・プログラム中のラベルを
処理部のラベルとデータ部のラベルとに分けて容易に認
識することができるので、ソース・プログラムの解釈・
実行を迅速に行うことができる。
【0009】また、請求項4の発明は、フィールド・プ
ログラマブル・ゲート・アレイ等の論理集積回路上にお
けるCPUコアの開発を支援するためのCPUコアの開
発支援システムにおいて、CPUコア内のレジスタの追
加・変更・削除を指示するための指示手段と、指示手段
を用いて指示されたCPUコア内のレジスタの追加・変
更・削除の情報に基づいて、CPUコアのハードウェア
記述言語レベルのソースを更新する更新手段とを備えた
ものである。
【0010】この構成においては、論理集積回路上にC
PUコア以外のIPが存在する場合に、ユーザが指示手
段を用いて他のIPの仕様に応じてCPUコア内のレジ
スタの追加・変更・削除を指示すると、更新手段が、指
示手段を用いて指示されたCPUコア内のレジスタの追
加・変更・削除の情報に基づいて、CPUコアのハード
ウェア記述言語レベルのソースを更新する。これによ
り、他のIPの仕様に応じてCPUコア内のレジスタの
追加・変更・削除を容易に行うことができる。また、C
PUコア内に不要なレジスタが存在する場合に、ユーザ
が指示手段を用いてこのレジスタの削除を指示すると、
更新手段が、CPUコアのハードウェア記述言語レベル
のソース上からこのレジスタを削除するので、論理集積
回路上に簡易なCPUコアを構築することが容易とな
る。
【0011】また、CPUコアの動作を記述したアセン
ブリ言語によるソース・プログラムを検証するためのシ
ミュレータをさらに備え、シミュレータは、指示手段を
用いて指示されたレジスタの追加・変更・削除の情報に
応じて動作するようにすることが望ましい。これによ
り、ユーザが、CPUコアのハードウェア記述言語レベ
ルのソースを更新するために、指示手段を用いてCPU
コア内のレジスタの追加・変更・削除を指示すること
で、シミュレータが、更新手段により更新されたCPU
コアのソースに記述されたレジスタに対する命令を含む
ソース・プログラムの解釈・実行を行うことが可能にな
る。
【0012】また、請求項6の発明は、プログラムされ
たコンピュータによって、フィールド・プログラマブル
・ゲート・アレイ等の論理集積回路上におけるCPUコ
アの開発を支援する方法であって、CPUコアで使用可
能なアセンブリ言語の命令の追加・変更・削除の情報を
定義するステップと、CPUコアで使用可能なアセンブ
リ言語の基本文法則を記述したソース・プログラムと、
定義されたアセンブリ言語の命令の追加・変更・削除の
情報とに基づいて、アセンブリ言語の基本文法則に、命
令の追加・変更・削除の情報に対応した新規の文法則を
取り込んだアセンブラのソース・プログラムを生成する
ステップとからなるものである。この方法により、上記
請求項1に記載の発明と同様な作用を得ることができ
る。
【0013】また、請求項7の発明は、プログラムされ
たコンピュータによって、フィールド・プログラマブル
・ゲート・アレイ等の論理集積回路上におけるCPUコ
アの開発を支援する方法であって、CPUコア内のレジ
スタの追加・変更・削除を指示するステップと、指示さ
れたCPUコア内のレジスタの追加・変更・削除の情報
に基づいて、CPUコアのハードウェア記述言語レベル
のソースを更新するステップとからなるものである。こ
の方法により、上記請求項4に記載の発明と同様な作用
を得ることができる。
【0014】また、請求項8の発明は、コンピュータに
よってフィールド・プログラマブル・ゲート・アレイ等
の論理集積回路上におけるCPUコアの開発を支援する
ためのプログラムを記録した記録媒体であって、このプ
ログラムを、請求項1乃至請求項5のいずれかに記載の
CPUコア開発支援システムのプログラムとしたもので
ある。この構成においては、コンピュータにプログラム
を読み取らせることにより、上記と同様な作用を得るこ
とができる。
【0015】
【発明の実施の形態】以下、本発明の一実施形態による
CPUコアの開発支援システムについて図面を参照して
説明する。図1に本実施形態によるCPUコアの開発支
援システム及びその周辺装置の構成を示す。このCPU
コアの開発支援システム1は、論理集積回路の一種であ
るFPGA(Field Programmable Gate Array)2上にお
けるCPUコア3の開発を支援するためのものであり、
CD−ROM4(請求項におけるCPUコア開発支援用
プログラムを記録した記録媒体)からパソコン5にイン
ストールされたCPUコア開発支援ツール6に基づいて
動作する。開発支援システム1は、パソコン5全体の制
御を行うCPU7、CD−ROM4に格納された各種の
プログラムやデータを読み取るためのCD−ROMドラ
イブ8、CPUコア開発支援ツール6や他の各種ファイ
ル9を格納するためのハード・ディスク10、ハード・
ディスク10に格納された各種プログラム等を一時的に
格納するための高速アクセス可能なメモリ11、キーボ
ードやマウス等よりなる入力部12、及びディスプレイ
やプリンタ等よりなる表示部13より構成される。ま
た、パソコン5はRS−232Cインタフェースによる
通信を行うための通信ドライバ14を有しており、この
通信ドライバ14はインタフェース装置15(ASA
P:Adaptive Scan Agent Pod )に接続される。ASA
P15は、TAP(Test Access Port)と呼ばれるバウ
ンダリ・スキャン・テスト用の専用端子を備えており、
FPGA2内のASH(Adaptive Scan Handler:適用型
走査処理部) 16に接続される。ASH16は、ASA
P15との信号の送受信等を行うためのモジュールであ
る。パソコン5の通信ドライバ14から送出されたデー
タは、ASAP15とASH16とを介してFPGA2
へダウンロードされる。
【0016】上記CD−ROM4には、CPUコア開発
支援ツール6以外に、CPUコア3のVHDL(VHSIC H
ardware Description Language:ハードウェア記述言語
の一種)レベルのソースが含まれている。ユーザは、開
発支援システム1を用いて、CD−ROM4から読み込
んだCPUコア3のVHDLレベルのソースのカスタマ
イズと、CPUコア3の動作記述プログラムで使用可能
な命令の追加・変更・削除と、自らが作成した動作記述
プログラムのパソコン5上での検証(以下、オフライン
・デバッグという)とを行うことができる。カスタマイ
ズ後のCPUコア3のVHDLレベルのソースは、論理
合成された後に、通信ドライバ14、インタフェース装
置15及びASH16を介してFPGA2にダウンロー
ドされる。また、オフライン・デバッグ完了後の動作記
述プログラムも、アセンブルされた後に、同様の経路で
FPGA2にダウンロードされる。
【0017】次に、図2を参照して、上記CD−ROM
4からパソコン5にインストールされたCPUコア開発
支援ツール6(以下、開発支援ツールという)について
説明する。CPUコア開発支援ツール6は、CPUコア
3の動作を記述したアセンブリ言語によるソース・プロ
グラム用のアセンブラを生成するためのコンパイラ21
(以下、アセンブラ生成用コンパイラという)、CPU
コア3の動作を記述したアセンブリ言語によるソース・
プログラムをアセンブルするためのアセンブラ22、C
PUコア3の動作を記述したソース・プログラムをステ
ップ単位で逐次解釈実行するインタープリターであるシ
ミュレート部23、及びユーザが指示した情報に基づい
てCPUコア3のVHDLレベルのソースの更新を行う
VHDL更新部24(請求項における更新手段)より構
成される。また、アセンブラ生成用コンパイラ21は、
CPUコア3の動作記述プログラムで使用可能なアセン
ブリ言語の文法則の定義及びその文法則の構文解析を行
うMC(Master C) 部25と、MC部25による文法則
の構文解析に基づいてこの文法則に応じたC言語による
アセンブラのソース・プログラムを生成するアセンブラ
生成部26とよりなる。このアセンブラ生成部26によ
り生成されたアセンブラのソース・プログラムをコンパ
イルして作成したオブジェクト・プログラムが、上記の
アセンブラ22となる。
【0018】次に、図3を参照して、上記開発支援ツー
ル6を用いたCPUコア3のカスタマイズ処理について
説明する。CPUコア3のカスタマイズを行う際には、
一般に、CPUコア3内のレジスタやCPUコア3の動
作記述プログラムで使用可能な命令の動作を変更する必
要がある。開発支援ツール6はCPUコア3のカスタマ
イズ用の画面31を有しており、ユーザは、このカスタ
マイズ用画面31中のレジスタ定義画面32(請求項に
おける指示手段)と命令定義画面33(請求項における
定義手段)とを用いて、CPUコア3内のレジスタのカ
スタマイズとCPUコア3の動作記述プログラムで使用
可能なアセンブリ言語の命令のカスタマイズとを行うこ
とができる。ユーザは、レジスタのカスタマイズを行う
場合には、レジスタ定義画面32からレジスタの追加・
変更・削除の情報(以下、レジスタ定義情報という)を
入力し、また、アセンブリ言語の命令のカスタマイズを
行う場合には、命令定義画面33からアセンブリ言語の
命令の追加・変更・削除の情報(以下、命令定義情報と
いう)を入力する。ユーザが、これらの定義情報の入力
を終了し、図1の入力部12に含まれるマウスを用いて
設定ボタン34をクリックすると、図2に示したVHD
L更新部24がこれらの定義情報に基づいてCPUコア
3のVHDLレベルのソースの更新を行い、また、アセ
ンブラ生成用コンパイラ21がこれらの定義情報に基づ
いてアセンブラ22のソース・プログラムを生成する。
また、シミュレート部23がこれらの定義情報に基づい
て動作可能な状態となる。
【0019】次に、上記図3に加えて図4を参照して、
CPUコア3のカスタマイズ処理について具体例を示し
て説明する。図4に示されるように、CPUコア3のデ
ータパス40に新規なレジスタであるZ−REG41を
追加し、同時にこのZ−REG41へのデータのロード
を行うLDZ(ロード Zレジスタ)命令を追加する場
合について考えると、Z−REG41とLDZ命令の追
加に伴って、マルチプレクサであるSA−MUX42の
内容も変更しなければならない。この場合に、ユーザ
が、図3中のレジスタ定義画面32からZ−REG41
の追加の情報を入力し、命令定義画面33からLDZ命
令の追加の情報を入力するだけで、VHDL更新部24
が、これらの情報に基づいてCPUコア3のVHDLレ
ベルのソース中にZ−REG41を追加すると共に、S
A−MUX42の内容の変更も行う。また、アセンブラ
生成用コンパイラ21が、レジスタ定義画面32から入
力されたZ−REG41の追加の情報と命令定義画面3
3から入力されたLDZ命令の追加の情報とに基づい
て、Z−REG41とLDZ命令の追加に対応した新規
な文法則を取り込んだアセンブラの生成を行う。これに
伴い、シミュレート部23において、Z−REG41と
LDZ命令が使用できるようになる。命令定義画面33
からLDZ命令の追加情報を入力する際には、その動作
定義をMC(Master C) 言語(図11乃至図14参照)
という簡易言語を用いて行う。このMC言語では、レジ
スタ定義画面32に表示されているレジスタのみが使用
可能である。
【0020】次に、図5を参照して、図2のシミュレー
ト部23を用いたCPUコア3の動作記述プログラムの
オフライン・デバッグ処理について説明する。シミュレ
ート部23は、デバッグ用の画面51を有しており、ユ
ーザは、このデバッグ用画面51のプルダウン・メニュ
ー52からデバッガ設定画面53、アセンブル指示画面
54、図示されていないエディタ画面等を呼び出して、
ブレーク・ポイントの設定等のデバッガに対する指示、
CPUコア3の動作記述プログラムの修正、修正した動
作記述プログラムのアセンブル等の処理を行うことがで
きる。また、ユーザは、シミュレート部23の有するイ
ンタープリターを用いて、動作記述プログラムをステッ
プ単位で逐次解釈実行させることで、動作記述プログラ
ムのデバッグを行うことができる。シミュレート部23
の有するデバッガとしての機能は、ブレーク・ポイント
の設定、トレース、メモリダンプ、メモリ書き換え等の
通常のデバッガの機能と基本的に同様である。但し、通
常のデバッガの機能と異なる点は、FPGA2内の他の
IP57(図7参照)からの入力をシミュレートするこ
とができる点である。従って、ユーザは、このシミュレ
ート部23を用いてCPUコア3にIP57からのデー
タが発生した場合の検証を行うことができる。また、ユ
ーザがアセンブル指示画面54から動作記述プログラム
のアセンブルを指示すると、アセンブラ22は、動作記
述プログラム中のラベル56を、処理部(以下、プログ
ラム・セグメントという)のラベルとデータ部(以下、
データ・セグメントという)のラベルとに分類して、各
セグメント毎にラベルの集合からなるシンボル・テーブ
ル67(図9参照)を作成する。シミュレート部23
は、これらのシンボル・テーブル67を参照すること
で、インタープリターによる動作記述プログラムの解釈
実行時に、プログラム・セグメントのラベルとデータ・
セグメントのラベルとを容易に判別することができる。
なお、上述したように、シミュレート部23は、図3中
のレジスタ定義画面32と命令定義画面33とから入力
された情報に基づいて動作する。
【0021】次に、図6及び図7を参照して、CPUコ
ア開発支援システム1によるCPUコア3の開発処理全
体の流れについて説明する。本開発支援システム1は、
従来のASIC等におけるCPUコアの開発支援システ
ムとは異なり、FPAG2上の種々のIP(Intellectu
al Property )57の仕様に応じたCPUコア3のカス
タマイズと、カスタマイズした内容に応じたCPUコア
3の検証を目的としたものである。一般にターゲットと
なるIP57の仕様に応じてCPUコア3に要求される
機能は異なる。従って、FPAG2上のIP57の仕様
に応じてCPUコア3のアーキテクチャ及び動作記述プ
ログラムを変更することが望ましい。また、CPUコア
3のアーキテクチャ及び動作記述プログラムを変更した
場合には、動作記述プログラム用のアセンブリ言語の仕
様とこのアセンブリ言語に対するアセンブラを変更する
必要がある。本開発支援システム1は、このようなIP
57の仕様に応じたCPUコア3のカスタマイズと検証
を可能とするものである。具体的には、まず、ユーザ
は、ターゲットとなるIP57に応じて、CPUコア3
内のレジスタと命令の追加・変更・削除の仕様を決定し
(#1)、この仕様に応じて、図3に示されるカスタマ
イズ画面31からCPUコア3のレジスタとアセンブリ
言語の命令とのカスタマイズを行い、また、図5に示さ
れるデバッグ用画面51からカスタマイズ後のレジスタ
とアセンブリ言語の命令の仕様に応じた動作記述プログ
ラムのオフライン・デバッグを行う(#2)。次に、タ
ーゲットとなるIP57のVHDLレベルのソースの作
成を行って(#3)、このIP57のソースと、VHD
L更新部24が更新したCPUコア3のVHDLレベル
のソースとの論理合成を行う(#4)。そして、ユーザ
は、図7に示されるように、ASAP15を介してFP
GA2とパソコン5とを接続して、#2の処理でオフラ
イン・デバッグした動作記述プログラムのオブジェクト
・プログラムと#4の処理で論理合成した結果とをFP
GA2にダウンロードする(#5)。次に、ユーザは、
パソコン5とFPGA2とを接続したままの状態で、パ
ソコン5からFPGA2上のCPUコア3に対するデー
タの送受信を行うことにより、FPGA2上のCPUコ
ア3に対する実機テスト(オンライン・デバッグ)を行
う(#6)。
【0022】上記図6の#2のCPUコア3のカスタマ
イズ及びオフライン・デバッグ処理の詳細について図8
を参照して説明する。ユーザが、図3に示されるカスタ
マイズ画面31を表示すると、CPUコア開発支援ツー
ル6は、カスタマイズ画面31中のレジスタ定義画面3
2に、現在のCPUコア3のVHDLソース(初期状態
ではCD−ROM4から読み込んだVHDLソース)を
格納したファイル(以下、VHDL元ソースファイルと
いう)61の内容に応じたレジスタ定義情報を表示す
る。また、命令定義画面33には、現在の動作記述プロ
グラム用のアセンブリ言語の基本文法則(初期状態では
CD−ROM4から読み込んだ基本となるアセンブリ言
語の文法則のソース)を格納したファイル(以下、基本
文法則ファイルという)62に応じた命令定義情報を表
示する。ユーザがレジスタ定義画面32と命令定義画面
33とを用いてレジスタ及びアセンブリ言語の命令の定
義を完了すると(#11)、CPUコア開発支援ツール
6は、これらの定義情報を格納した命令動作・レジスタ
定義ファイル64を作成すると共に、これらの定義情報
を反映した新規のCPUコア3のVHDLソースのファ
イル(以下、VHDL新ソースファイルという)63を
作成する。CPUコア開発支援ツール6中のアセンブラ
生成用コンパイラ21は、命令動作・レジスタ定義ファ
イル64と基本文法則ファイル62とに基づいて、基本
となるアセンブリ言語の文法則に、新たなレジスタとア
センブリ言語の命令との定義内容に応じた新規の文法則
を取り込んだ拡張された文法則を生成し、基本文法則フ
ァイル62の内容をこの拡張された文法則に変更すると
共に、この拡張された文法則に対応したアセンブラのソ
ース・プログラムを生成して(#12)、アセンブラ・
ソースファイル68に格納する。ユーザは、このアセン
ブラ・ソースをコンパイルすることにより、新規の文法
則を取り込んだ所望のアセンブラのオブジェクト・プロ
グラムを得ることができる(#13)。このアセンブラ
のオブジェクト・プログラムは、アセンブラ・オブジェ
クトファイル69として図1のハードディスク10に格
納される。
【0023】ユーザが、CPUコア3の動作記述プログ
ラムのソースを入力して(#14)、この動作記述プロ
グラムのソースをアセンブラ・オブジェクトファイル6
9に格納されたアセンブラ22でアセンブルすると(#
15)、アセンブラ22は、動作記述プログラムのオブ
ジェクトファイル66を作成すると共に、動作記述プロ
グラムのソース中の種々のラベル56(図5参照)に基
づいて、オフライン・デバッグ用のシンボル・テーブル
67を出力する。次に、ユーザは、デバッガ用画面51
を用いてオフライン・デバッグを開始し(#16)、シ
ミュレート部23のインタープリター機能を用いて、動
作記述プログラムのソースファイル65中の各命令を1
ステップ毎に実行して(#17)、動作記述プログラム
の検証を行う。そして、動作記述プログラムの検証結果
に問題があり(#18でNO)、CPUコア3自体のカ
スタマイズが必要な場合には(#19でYES)、上記
#11乃至#17の処理を繰り返す。CPUコア3自体
のカスタマイズが不要で、動作記述プログラムの修正に
より問題の解消を図ることが可能な場合には(#19で
NO)、カスタマイズ画面31からエディタ画面を呼び
出して、このエディタ画面から動作記述プログラムの修
正を行った後に(#20)、上記#15乃至#17の処
理を繰り返す。
【0024】次に、上述したCPUコア3のカスタマイ
ズ処理におけるデータの流れについて図9を参照して説
明する。図において前述と同部材には同番号を付してい
る。ユーザが、図3に示されるレジスタ定義画面32と
命令定義画面33とを用いてレジスタとアセンブリ言語
の命令とのカスタマイズを行い、命令動作・レジスタ定
義ファイル64を作成すると、アセンブラ生成用コンパ
イラ21は、命令動作・レジスタ定義ファイル64と基
本文法則ファイル62とに基づいて、新規の文法則を取
り込んだ拡張された文法則を生成し、基本文法則ファイ
ル62の内容を拡張された文法則に書き換えると共に、
この文法則に対応したアセンブラのソース・プログラム
を生成し、アセンブラ・ソースファイル68として出力
する。コンパイラ70は、このアセンブラ・ソースファ
イル68に基づいて、アセンブラのオブジェクト・プロ
グラム(以下、単にアセンブラという)22を出力す
る。このアセンブラ22は、ユーザが作成した動作記述
プログラムのソースファイル65に基づいて、この動作
記述プログラムのオブジェクト・プログラムを格納した
ファイル66を作成すると共に、動作記述プログラムの
ソース中のラベル56を、プログラム・セグメントのラ
ベル56とデータ・セグメントのラベル56とに分け
て、各セグメント毎のラベル56の集合からなるシンボ
ル・テーブル67を作成する。シミュレート部23は、
このシンボル・テーブル67と、命令動作・レジスタ定
義ファイル64と、動作記述プログラムのソースファイ
ル65とに基づいて動作する。シミュレート部23を用
いたオフライン・デバッグ終了後に、ユーザが、動作記
述プログラム(オブジェクト)ファイル66の内容をF
PGA2にダウンロードするように指示すると、パソコ
ン側のCPU7は、この論理合成結果を、通信ドライバ
14、ASAP15及びFPGA2内のASH16を介
して、FPGA2にダウンロードする。また、VHDL
更新部24は、命令動作・レジスタ定義ファイル64に
基づいて、CPUコア3の本体部分の回路に相当するV
HDL元ソースファイル61の内容を更新して、VHD
L新ソースファイル63を作成する。ユーザが、このV
HDL新ソースファイル63の内容をFPGAメーカの
提供する論理合成ツールを用いて論理合成して、その論
理合成結果をFPGA2にダウンロードするように指示
すると、パソコン側のCPU7は、この論理合成結果
を、通信ドライバ14、ASAP15及びFPGA2内
のASH16を介して、FPGA2にダウンロードす
る。このようにして、ユーザが、通信ドライバ14等を
用いてFPGA2に新しいCPUコア3の本体部分の回
路とCPUコア3の動作記述プログラムをダウンロード
することにより、FPGA2上にCPUコア3を構築し
て、CPUコア3のオンライン・デバッグを開始するこ
とが可能になる。
【0025】次に、アセンブラ生成用コンパイラ21に
よる文法則の拡張処理について図10を参照して説明す
る。アセンブラ生成用コンパイラ21は、ユーザが図3
中のカスタマイズ画面31から新たなアセンブリ言語の
文法則の追加を行うと、基本文法則ファイル62から読
み込んだMC言語によるアセンブリ言語の基本文法則I
を遺伝・継承した上で、新たな文法則を取り込んだ拡張
された文法則(以下、拡張文法則という)IIを生成す
る。さらに、ユーザがカスタマイズ画面31から新たな
アセンブリ言語の文法則の追加を行うと、アセンブラ生
成用コンパイラ21は、先行して与えられた文法則I、
IIを遺伝・継承した上で、新たな文法則を取り込んだ
再拡張された文法則(以下、再拡張文法則という)II
Iを生成する。このようにして、アセンブラ生成用コン
パイラ21は、ユーザが新たな文法則を追加すると、先
行して与えた文法則を遺伝・継承した上で新たな文法則
を取り込んで文法則を増殖させ、増殖した文法則に対応
したアセンブラ22のソース・プログラムを生成する。
ユーザは、このソース・プログラムをコンパイルするこ
とにより、増殖した文法則に対応したアセンブラ22を
得ることができる。
【0026】上記基本文法則ファイル62に格納された
文法則は、BNF(Buckus NormalForm)形式に似た記
述方式の簡易言語であるMC言語により作成されてい
る。アセンブラ生成用コンパイラ21は、基本文法則フ
ァイル62から読み込んだMC言語で記述されたアセン
ブリ言語の基本文法則のソース・プログラムと、ユーザ
がカスタマイズ画面31から入力した新規の文法則とに
基づいて、MC言語による拡張された文法則のソース・
プログラムを生成し、基本文法則ファイル62の内容を
この拡張された文法則のソース・プログラムに更新する
と共に、このMC言語で記述されたソース・プログラム
を、C言語で記述されたアセンブラ22のソース・プロ
グラムに変換するプログラムである。アセンブラ生成用
コンパイラ21は、更新後の基本文法則ファイル62を
読み込んで、1行単位にトークンとして文字列を取り出
し、MC言語の規則に従って、C言語によるアセンブラ
22の関数作成等を行う。
【0027】次に、図11を参照して、MC言語による
文法則のソース・プログラムの記述方法について説明す
る。ユーザは、MC言語によってソース・プログラムを
記述する際には、ソース・プログラムを定義部81と規
則部82とに分離して記述し、文末に”End”を記述
する必要がある。定義部81の記述方法及び文法は、C
言語と全く同様である。ユーザは、C言語により定義部
81に規則部82で使用する変数、プロトタイプ宣言等
の定義や、規則部82で使用するユーザ作成関数等の記
述を行う。この定義部81の記述内容は、アセンブラ生
成用コンパイラ21によりアセンブラ22のソース・プ
ログラム中にそのままの形で出力される。また、ユーザ
は、規則部82については、MC言語により記述しなけ
ればならない。この規則部82に記述されたMC言語に
よる関数は、アセンブラ生成用コンパイラ21によりC
言語の関数に変換されて、アセンブラ22のソース・プ
ログラム中に出力される。ユーザは、規則部82の先頭
にはsyntax文でMC言語により作成するトップ関
数の定義を行い、最後にはEnd文を記述しなければな
らない。図14に示されるソース・プログラムの場合に
は、83乃至87の部分が規則部82に該当する。
【0028】図12を参照して、MC言語の基本文脈に
ついて説明する。MC言語の基本文脈においては、左辺
が関数名となり、右辺がその関数の処理となる。ユーザ
は、図に示されるように、関数1を左辺に記述すること
により、関数1の内容を定義することができる。図中の
基本文脈の上段の内容は、関数1を実行することにより
関数2が実行され、関数2の戻り値が0なら、《文》の
内容が実行されることを意味している。また、基本文脈
の下段の内容は、関数2による処理の代わりにダブル・
コーテーションで囲まれた文字列(”文字”)と入力ト
ークンとの比較処理を行って、これらが同じ場合にも、
《文》の内容を実行することを意味している。これは、
ダブル・コーテーション(”)で囲まれた内容が文字列
比較関数として処理されるためである。また、《文》の
内容は、C言語で記述され、アセンブラ生成用コンパイ
ラ21によりアセンブラ22のソース・プログラム中に
そのままの形で出力される。ユーザは、基本文脈の上段
における関数2の記述を省くことにより、《文》の内容
を無条件にアセンブラ22のソース・プログラム中に出
力することもできる。また、図に示されるように、関数
1の終わりは、”;”で示される。ユーザは、関数2を
用いた関数1の定義に続いて、関数3を用いた関数2の
定義を記述し、さらに関数4を用いた関数3の定義を記
述するというように、各関数の処理を次々と階層的に記
述していくことにより、所望のアセンブリ言語の文法則
を表現することができる。なお、各関数のリターン値
は、0=正常終了、1=エラーと決まっており、ユーザ
が定義した関数もこの規則を遵守して作成しなければな
らない。また、ユーザは、”|”記号で処理を区切り、
複数の関数を並列的に記述する方法により、処理の選択
に該当する記述を行うこともできる。例えば、図13に
示されるように、”|”記号をfunc2関数の前に記
述することで、”func1 《f=1;》”の処理
と、”func2 《f=2;》”の処理との選択処理
を記述することができる。
【0029】上記図11中の規則部82で使用可能な主
な括弧記号とその意味は、以下の通りである。 {}:{}の間の処理を繰り返す。 []:[]内の処理からのリターンを無視する。 《》:《》内の処理をそのまま透過的にアセンブラ
22のソース・プログラムに出力する。 ””:””内の文字列とトークンとを比較する。
【0030】アセンブラ生成用コンパイラ21は、上記
図11中の規則部82で使用可能な種々の標準関数を有
している。ユーザは、規則部82において、これらの標
準関数を使用して、アセンブリ言語の文法則を定義する
ことができる。これらの標準関数の一部とその機能につ
いて以下に示す。 McChkRsv(char*) :入力バッファと指定された文字
列の比較を行う。入力ポインタは更新されない。 McChkNm(void) :10進数文字列をトークンに入力
して、入力された文字列が数字か否かをチェックする。
トークン間のスペースは自動的に読み飛ばされ、入力ポ
インタは更新される。 McStop(char*) :エラー発生時に、エラー・メッセ
ージを表示して終了する。入力ポインタは更新される。
【0031】次に、図14を参照して、MC言語により
作成された簡単な文法則の例を示す。1行目の”《”と
6行目の”》”は、それぞれ定義部81と規則部82の
開始位置を示しており、ソース・プログラム中の2行目
〜5行目が定義部81に該当し、7行目〜21行目が規
則部82に該当する。また、規則部82は、synta
x文83、トップ関数定義文84、cal関数定義文8
5、getval関数定義文86及びEnd文87より
構成される。このソース・プログラムの文法則は、加減
算のみを許し、入力された数字及び”+”,”−”の記
号に基づいて、加減算を行い、エラーが発生しなけれ
ば、その計算結果を表示するというものである。
【0032】次に、上記図14に示されるソース・プロ
グラム中の規則部82の各ステップの処理について説明
する。 7行目:syntax文によりトップ関数としてspa
を指定。 8行目:トップ関数spaの定義処理。具体的には、s
pa関数を実行すると、cal関数を呼び出して、その
戻り値が0ならば、cal_val変数の内容を表示す
る。 9行目:spa関数の終了。 10〜17行目:cal関数の定義処理。具体的には、
cal関数を実行すると、cal_stkポインタにc
al_stk_spc配列のトップアドレスをセットし
て(10行目)、getval関数(cal_val変
数に数字を読み込む関数)を呼び出す(11行目)。そ
して、次の文字が”+”なら、*cal_stk領域に
cal_val変数の値をセーブして(13行目)、再
度getval関数を呼び出し、その戻り値が0なら
ば、*cal_stk領域の値にcal_val変数の
値を加算する(14行目)。これに対して、次の文字
が”−”なら、*cal_stk領域にcal_val
変数の値をセーブして(15行目)、再度getval
関数を呼び出し、その戻り値が0ならば、*cal_s
tk領域の値からcal_val変数の値を減算する
(16行目)。そして、入力が終了するまで、13行目
乃至16行目の処理を繰り返す。 18行目:cal関数の終了。 19行目:getval関数の定義処理。具体的には、
getval関数を実行すると、McChkNm 関数を呼び出
して、入力された文字が数字か否かをチェックし、数字
ならば、cal_val変数に数値を読み込む。 20行目:getval関数の終了。 21行目:規則部82の終了。
【0033】アセンブラ生成用コンパイラ21は、上記
図14に示されるMC言語によるソース・プログラムに
基づいて、図15乃至図17に示されるC言語によるア
センブラ22のソース・プログラムを生成する。図14
中の定義部81は図15中のワーク部91に相当し、図
14中の各定義文83乃至86は、それぞれ図15乃至
図17中の各関数93乃至96に相当する。このように
して、アセンブラ生成用コンパイラ21は、ユーザがM
C言語により与えた文法則に応じたアセンブラ22のソ
ース・プログラムを生成する。
【0034】上述したように、本実施形態によるCPU
コア開発支援システム1によれば、アセンブラ生成用コ
ンパイラ21が、CPUコア3で使用可能なアセンブリ
言語の基本文法則を記述したMC言語によるソース・プ
ログラムと、命令定義画面33から入力したアセンブリ
言語の命令の追加・変更・削除の情報とに基づいて、ア
センブリ言語の基本文法則に、命令の追加・変更・削除
の情報に対応した新規の文法則を取り込んだアセンブラ
22のソース・プログラムを生成するようにしたので、
FPGA2内の他のIP57の仕様に応じてCPUコア
3で使用するアセンブリ言語の命令の追加・変更・削除
を行うことができる。また、VHDL更新部24が、ユ
ーザにより指示されたCPUコア3内のレジスタの追加
・変更・削除の情報に基づいて、CPUコア3のVHD
Lソースを更新するようにしたので、FPGA2内の他
のIP57の仕様に応じてCPUコア3内のレジスタの
追加・変更・削除を容易に行うことができる。これによ
り、他のIP57の仕様に応じたCPUコア3を構築す
ることが容易になる。また、CPUコア3内に不要なレ
ジスタが存在した場合に、CPUコア3のハードウェア
記述言語レベルのソース上からこのレジスタを簡単に削
除することができるので、FPGA2上に簡易なCPU
コア3を構築することが可能となる。
【0035】本発明は、上記実施形態に限られるもので
はなく、様々な変形が可能である。例えば、上記実施形
態では、カスタマイズ用画面31から追加の文法則を与
える場合を中心に説明したが、MC言語により直接に追
加の文法則を定義して、この追加の文法則と基本文法則
定義ファイル62に格納された文法則に基づいて、新規
の文法則を取り込んだアセンブラ22のソース・プログ
ラムを生成するようにしてもよい。
【0036】
【発明の効果】以上のように請求項1の発明によれば、
アセンブラ生成用コンパイラが、CPUコアで使用可能
なアセンブリ言語の基本文法則を記述したソース・プロ
グラムと、アセンブリ言語の命令の追加・変更・削除の
情報とに基づいて、アセンブリ言語の基本文法則に、命
令の追加・変更・削除の情報に対応した新規の文法則を
取り込んだアセンブラのソース・プログラムを生成する
ようにしたので、論理集積回路上にCPUコア以外のI
Pが存在する場合に、他のIPの仕様に応じてCPUコ
アで使用するアセンブリ言語の命令の追加・変更・削除
を自由に行うことができる。これにより、他のIPの仕
様に応じたCPUコアを構築することが容易になる。
【0037】また、CPUコアの動作を記述したアセン
ブリ言語によるソース・プログラムを検証するためのシ
ミュレータをさらに備え、このシミュレータを、定義さ
れたアセンブリ言語の命令の追加・変更・削除の情報に
応じて動作させることにより、シミュレータが、アセン
ブラ生成用コンパイラにより生成されたアセンブラと同
様な新規の文法則を用いてアセンブリ言語によるソース
・プログラムの解釈・実行を行うようにすることができ
る。
【0038】また、アセンブラが、アセンブリ言語によ
るソース・プログラム中で定義されたラベルに基づい
て、ソース・プログラム中の処理部のラベルの集合から
なるファイルと、ソース・プログラム中のデータ部のラ
ベルの集合からなるファイルとを別個に作成し、シミュ
レータは、アセンブリ言語によるソース・プログラムを
シミュレートする際に、2つのファイルに格納された情
報に基づいて、ソース・プログラム中の処理部のラベル
とデータ部のラベルとを認識することにより、開発対象
となるCPUコアがデータ・メモリとプログラム・メモ
リとを別個に持つハーバード・アーキテクチャを採用し
たCPUコアである場合に、シミュレータが、ソース・
プログラム中のラベルを処理部のラベルとデータ部のラ
ベルとに分けて容易に認識することができるようにな
る。これにより、シミュレータによるソース・プログラ
ムの解釈・実行の高速化を図ることができる。
【0039】また、請求項4の発明によれば、ユーザに
より指示されたCPUコア内のレジスタの追加・変更・
削除の情報に基づいて、CPUコアのハードウェア記述
言語レベルのソースを更新するようにしたので、論理集
積回路上にCPUコア以外のIPが存在する場合に、他
のIPの仕様に応じてCPUコア内のレジスタの追加・
変更・削除を簡単に行うことができる。これにより、他
のIPの仕様に応じたCPUコアを構築することが容易
となる。また、CPUコア内に不要なレジスタが存在し
た場合に、CPUコアのハードウェア記述言語レベルの
ソース上からこのレジスタを簡単に削除することができ
るので、論理集積回路上に簡易なCPUコアを構築する
ことが容易となる。
【0040】また、CPUコアの動作を記述したアセン
ブリ言語によるソース・プログラムを検証するためのシ
ミュレータをさらに備え、このシミュレータを、指示さ
れたレジスタの追加・変更・削除の情報に応じて動作さ
せることにより、シミュレータが、更新後のCPUコア
のハードウェア記述言語レベルのソースに記述されたレ
ジスタに対する命令を含むアセンブリ言語によるソース
・プログラムの解釈・実行を行うようにすることができ
る。
【0041】また、請求項6の発明によれば、CPUコ
アで使用するアセンブリ言語の命令の追加・変更・削除
の情報を定義するステップと、CPUコアで使用可能な
アセンブリ言語の基本文法則を記述したソース・プログ
ラムと、定義されたアセンブリ言語の命令の追加・変更
・削除の情報とに基づいて、アセンブリ言語の基本文法
則に、命令の追加・変更・削除の情報に対応した新規の
文法則を取り込んだアセンブラのソース・プログラムを
生成するステップとを備えたものとしたことにより、上
記請求項1に記載の発明と同等の効果を得ることができ
る。
【0042】また、請求項7の発明によれば、CPUコ
ア内のレジスタの追加・変更・削除を指示するステップ
と、指示されたCPUコア内のレジスタの追加・変更・
削除の情報に基づいて、CPUコアのハードウェア記述
言語レベルのソースを更新するステップとを備えたもの
としたことにより、上記請求項4に記載の発明と同等の
効果を得ることができる。
【0043】また、請求項8の発明によれば、コンピュ
ータにプログラムを読み取らせることにより、上記に記
載の発明と同等の効果を得ることができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態によるCPUコアの開発
支援システム周辺の構成を示す図である。
【図2】 上記CPUコアの開発支援システムにおける
CPUコア開発支援ツールの機能ブロック図である。
【図3】 上記CPUコア開発支援ツールの有するCP
Uコアのカスタマイズ用画面を示す図である。
【図4】 上記CPUコア開発支援ツールを用いたCP
Uコア内のレジスタの追加処理の説明図である。
【図5】 上記CPUコア開発支援ツールの有するデバ
ッグ用の画面を示す図である。
【図6】 上記CPUコア開発支援システムによるCP
Uコアの開発処理全体を示すフローチャートである。
【図7】 動作記述プログラム及び論理合成結果のFP
GAへのダウンロードとCPUコアの実機テストとを行
うための構成図である。
【図8】 上記CPUコア開発支援システムによるCP
Uコアのカスタマイズ処理及びオフライン・デバッグ処
理の詳細を示すフローチャートである。
【図9】 上記CPUコア開発支援システムによるCP
Uコアのカスタマイズ処理の際のデータの流れを示す図
である。
【図10】 アセンブラ生成用コンパイラによる文法則
の拡張処理を示す図である。
【図11】 MC言語によるソース・プログラムの記述
方法の説明図である。
【図12】 MC言語の基本文脈を示す図である。
【図13】 MC言語で記述した処理の選択を示すソー
ス・プログラムに対応したアセンブラのソース・プログ
ラムを示す図である。
【図14】 MC言語により作成された簡単な文法則の
例を示す図である。
【図15】 上記図14に示されるMC言語によるソー
ス・プログラムに基づいて生成したアセンブラのソース
・プログラムの先頭部分を示す図である。
【図16】 上記図14に示されるMC言語によるソー
ス・プログラムに基づいて生成したアセンブラのソース
・プログラム中のcal関数を示す図である。
【図17】 上記図14に示されるMC言語によるソー
ス・プログラムに基づいて生成したアセンブラのソース
・プログラム中のgetval関数を示す図である。
【符号の説明】
1 CPUコア開発支援システム 2 FPGA 4 CD−ROM(請求項におけるCPUコア開発
支援用プログラムを記録した記録媒体) 12 入力部(請求項における「定義手段」及び「指
示手段」) 21 アセンブラ生成用コンパイラ 23 シミュレート部(請求項における「シミュレー
タ」) 24 VHDL更新部(請求項における「更新手
段」) 32 レジスタ定義画面(請求項における「指示手
段」) 33 命令定義画面(請求項における「定義手段」) 56 ラベル 62 基本文法則ファイル(請求項における「アセン
ブリ言語の基本文法則を記述したソース・プログラム」
を格納したファイル) 64 命令動作・レジスタ定義ファイル(請求項にお
ける「アセンブリ言語の命令の追加・変更・削除の情
報」を格納したファイル) 65 動作記述プログラムのソースファイル(請求項
における「CPUコアの動作を記述したアセンブリ言語
によるソース・プログラム」を格納したファイル) 67 シンボル・テーブル(請求項における「処理部
のラベルの集合からなるファイル」及び「データ部のラ
ベルの集合からなるファイル」) 69 アセンブラ・オブジェクトファイル(請求項に
おける「アセンブラ」を格納したファイル)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田中 良平 大阪市淀川区田川2丁目1番11号 株式会 社ダイヘン内 (72)発明者 中尾 俊充 大阪市北区東天満1丁目4番16号 株式会 社ローラン内 Fターム(参考) 5B046 AA08 BA02 JA05

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 フィールド・プログラマブル・ゲート・
    アレイ等の論理集積回路上におけるCPUコアの開発を
    支援するためのCPUコアの開発支援システムにおい
    て、 前記CPUコアで使用可能なアセンブリ言語の基本文法
    則を記述したソース・プログラムと、 前記アセンブリ言語の命令の追加・変更・削除の情報を
    定義するための定義手段と、 前記ソース・プログラムと、前記定義手段を用いて定義
    されたアセンブリ言語の命令の追加・変更・削除の情報
    とに基づいて、前記アセンブリ言語の基本文法則に、前
    記命令の追加・変更・削除の情報に対応した新規の文法
    則を取り込んだアセンブラのソース・プログラムを生成
    するアセンブラ生成用コンパイラとを備えたことを特徴
    とするCPUコアの開発支援システム。
  2. 【請求項2】 前記CPUコアの動作を記述したアセン
    ブリ言語によるソース・プログラムを検証するためのシ
    ミュレータをさらに備え、 前記シミュレータが、前記定義手段を用いて定義された
    アセンブリ言語の命令の追加・変更・削除の情報に応じ
    て動作するようにしたことを特徴とする請求項1に記載
    のCPUコアの開発支援システム。
  3. 【請求項3】 前記生成されたアセンブラのソース・プ
    ログラムをコンパイルすることにより作成されたアセン
    ブラは、前記アセンブリ言語によるソース・プログラム
    をオブジェクト・プログラムにアセンブルする際に、前
    記アセンブリ言語によるソース・プログラム中で定義さ
    れたラベルに基づいて、前記ソース・プログラム中の処
    理部のラベルの集合からなるファイルと、前記ソース・
    プログラム中のデータ部のラベルの集合からなるファイ
    ルとを別個に作成し、 前記シミュレータは、前記アセンブリ言語により作成さ
    れたソース・プログラムをシミュレートする際に、前記
    2つのファイルに格納された情報に基づいて、該ソース
    ・プログラム中の前記処理部のラベルと前記データ部の
    ラベルとを認識するようにしたことを特徴とする請求項
    2に記載のCPUコアの開発支援システム。
  4. 【請求項4】 フィールド・プログラマブル・ゲート・
    アレイ等の論理集積回路上におけるCPUコアの開発を
    支援するためのCPUコアの開発支援システムにおい
    て、 前記CPUコア内のレジスタの追加・変更・削除を指示
    するための指示手段と、 前記指示手段を用いて指示された前記CPUコア内のレ
    ジスタの追加・変更・削除の情報に基づいて、前記CP
    Uコアのハードウェア記述言語レベルのソースを更新す
    る更新手段とを備えたことを特徴とするCPUコアの開
    発支援システム。
  5. 【請求項5】 前記CPUコアの動作を記述したアセン
    ブリ言語によるソース・プログラムを検証するためのシ
    ミュレータをさらに備え、 前記シミュレータは、前記指示手段を用いて指示された
    レジスタの追加・変更・削除の情報に応じて動作するよ
    うにしたことを特徴とする請求項4に記載のCPUコア
    の開発支援システム。
  6. 【請求項6】 プログラムされたコンピュータによっ
    て、フィールド・プログラマブル・ゲート・アレイ等の
    論理集積回路上におけるCPUコアの開発を支援する方
    法であって、 前記CPUコアで使用可能なアセンブリ言語の命令の追
    加・変更・削除の情報を定義するステップと、 前記CPUコアで使用可能なアセンブリ言語の基本文法
    則を記述したソース・プログラムと、前記定義されたア
    センブリ言語の命令の追加・変更・削除の情報とに基づ
    いて、前記アセンブリ言語の基本文法則に、前記命令の
    追加・変更・削除の情報に対応した新規の文法則を取り
    込んだアセンブラのソース・プログラムを生成するステ
    ップとからなることを特徴とするCPUコアの開発支援
    方法。
  7. 【請求項7】 プログラムされたコンピュータによっ
    て、フィールド・プログラマブル・ゲート・アレイ等の
    論理集積回路上におけるCPUコアの開発を支援する方
    法であって、 前記CPUコア内のレジスタの追加・変更・削除を指示
    するステップと、 前記指示されたCPUコア内のレジスタの追加・変更・
    削除の情報に基づいて、前記CPUコアのハードウェア
    記述言語レベルのソースを更新するステップとからなる
    ことを特徴とするCPUコアの開発支援方法。
  8. 【請求項8】 コンピュータによってフィールド・プロ
    グラマブル・ゲート・アレイ等の論理集積回路上におけ
    るCPUコアの開発を支援するためのプログラムを記録
    した記録媒体であって、 該プログラムは、請求項1乃至請求項5のいずれかに記
    載のCPUコア開発支援システムのプログラムであるこ
    とを特徴とするCPUコア開発支援用プログラムを記録
    した記録媒体。
JP2000028902A 2000-02-01 2000-02-01 Cpuコアの開発支援システムとその開発支援方法及び開発支援用プログラムを記録した記録媒体 Withdrawn JP2001216337A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000028902A JP2001216337A (ja) 2000-02-01 2000-02-01 Cpuコアの開発支援システムとその開発支援方法及び開発支援用プログラムを記録した記録媒体
EP01300652A EP1122660A3 (en) 2000-02-01 2001-01-25 CPU core development support system, method for development support and recording medium storing a development support program thereof
US09/775,066 US20010011214A1 (en) 2000-02-01 2001-02-01 CPU core development support system, method for development support and recording medium storing a development support program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000028902A JP2001216337A (ja) 2000-02-01 2000-02-01 Cpuコアの開発支援システムとその開発支援方法及び開発支援用プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2001216337A true JP2001216337A (ja) 2001-08-10

Family

ID=18554236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000028902A Withdrawn JP2001216337A (ja) 2000-02-01 2000-02-01 Cpuコアの開発支援システムとその開発支援方法及び開発支援用プログラムを記録した記録媒体

Country Status (3)

Country Link
US (1) US20010011214A1 (ja)
EP (1) EP1122660A3 (ja)
JP (1) JP2001216337A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031261A (ja) * 2004-07-14 2006-02-02 Matsushita Electric Ind Co Ltd マルチメディア処理システム
JP2009538481A (ja) * 2006-05-22 2009-11-05 コーヒレント・ロジックス・インコーポレーテッド 処理システムでのソフトウェアプログラムの実行に基づくasicの設計

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004087867A (ja) * 2002-08-28 2004-03-18 Renesas Technology Corp 半導体集積回路装置
US8087007B2 (en) * 2006-05-08 2011-12-27 Assima Ltd. System and method for software prototype-development and validation and for automatic software simulation re-grabbing

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3205406B2 (ja) * 1992-11-10 2001-09-04 富士通株式会社 参照対象変数決定処理方法および翻訳処理システム
US5784593A (en) * 1995-09-29 1998-07-21 Synopsys, Inc. Simulator including process levelization
JP2869379B2 (ja) * 1996-03-15 1999-03-10 三菱電機株式会社 プロセッサ合成システム及びプロセッサ合成方法
US6584525B1 (en) * 1998-11-19 2003-06-24 Edwin E. Klingman Adaptation of standard microprocessor architectures via an interface to a configurable subsystem
US6477683B1 (en) * 1999-02-05 2002-11-05 Tensilica, Inc. Automated processor generation system for designing a configurable processor and method for the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031261A (ja) * 2004-07-14 2006-02-02 Matsushita Electric Ind Co Ltd マルチメディア処理システム
JP2009538481A (ja) * 2006-05-22 2009-11-05 コーヒレント・ロジックス・インコーポレーテッド 処理システムでのソフトウェアプログラムの実行に基づくasicの設計

Also Published As

Publication number Publication date
EP1122660A2 (en) 2001-08-08
US20010011214A1 (en) 2001-08-02
EP1122660A3 (en) 2003-07-02

Similar Documents

Publication Publication Date Title
Slade et al. Reconfigurable computing application frameworks
EP1277116B1 (en) Enhanced programmable core model with integrated graphical debugging functionality
US6584601B1 (en) System and method for converting graphical programs into hardware implementations which utilize probe insertion
Wakabayashi C-based synthesis experiences with a behavior synthesizer,“Cyber”
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
US20150310150A1 (en) Modifying a Virtual Processor Model for Hardware/Software Simulation
US5880971A (en) Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from semantic specifications and descriptions thereof
Graham Logical hardware debuggers for FPGA-based systems
US7076751B1 (en) Chip debugging using incremental recompilation
JP4806529B2 (ja) 複製されたロジックを使用するデバッグの方法とシステム
US8701084B1 (en) Preview of auto-fix changes to software code
WO1990011569A1 (en) Computer-aided engineering
US7584456B1 (en) Method and apparatus for debugging embedded systems having read only memory
KR100808257B1 (ko) 임베디드 시스템 프로토타입 개발 지원 장치 및 방법
KR20080055913A (ko) 집적회로 디자인 시뮬레이션을 위한 어써션의 개발 방법 및시스템과 장치
JP2002366602A (ja) ソフトウエア及びハードウエアのシミュレーション方法及びシステム並びにプログラム
JP2001216337A (ja) Cpuコアの開発支援システムとその開発支援方法及び開発支援用プログラムを記録した記録媒体
WO2001035283A2 (en) System for performing parallel circuit simulation in a high level description language
Witten et al. Jade: a distributed software prototyping environment
WO2009101934A1 (ja) Lsi設計検証システム、lsi設計検証方法およびそのプログラム
JP2803090B2 (ja) Mpuシミュレーション方法及びmpuシミュレータ
JPH09237191A (ja) プログラミング支援装置、プログラミング支援方法、及びプログラミング支援プログラムを記録した媒体
JP2011145880A (ja) 半導体集積回路の論理検証にて使用するテストタスクの生成方法
US8887075B2 (en) System and method for device skinning
JP2974401B2 (ja) Lsi設計支援装置

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