[go: up one dir, main page]

JP3571886B2 - Data processing device - Google Patents

Data processing device Download PDF

Info

Publication number
JP3571886B2
JP3571886B2 JP27676897A JP27676897A JP3571886B2 JP 3571886 B2 JP3571886 B2 JP 3571886B2 JP 27676897 A JP27676897 A JP 27676897A JP 27676897 A JP27676897 A JP 27676897A JP 3571886 B2 JP3571886 B2 JP 3571886B2
Authority
JP
Japan
Prior art keywords
user logic
integrated circuit
programmable integrated
logic information
memory
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.)
Expired - Fee Related
Application number
JP27676897A
Other languages
Japanese (ja)
Other versions
JPH11122095A (en
Inventor
秀宏 猪岡
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.)
Renesas Technology Corp
Hitachi Solutions Technology Ltd
Original Assignee
Renesas Technology Corp
Hitachi ULSI Systems Co Ltd
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 Renesas Technology Corp, Hitachi ULSI Systems Co Ltd filed Critical Renesas Technology Corp
Priority to JP27676897A priority Critical patent/JP3571886B2/en
Publication of JPH11122095A publication Critical patent/JPH11122095A/en
Application granted granted Critical
Publication of JP3571886B2 publication Critical patent/JP3571886B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Microcomputers (AREA)
  • Logic Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ユーザ論理をプログラマブルに実現可能なプログラマブル集積回路を含むデータ処理装置に関する。
【0002】
【従来の技術】
結線情報や論理機能などの回路機能を定義する回路データをメモリセルなどに記憶させ、必要な回路機能をプログラミングできるようにしたプログラマブル集積回路が知られている。このようなプログラマブル集積回路は、回路データを書き換えることにより回路機能の変更が可能であり、特に論理回路などのディジタル回路を設計する際に試作を繰り返すことなく容易に回路機能の変更が可能となる。そのようなプログラマブル集積回路としては、PLD(Programable Logic Device)や、PGA(Programable Gate Array)が知られている。FPGA(Field Programable Gate Array)はPGAの一例とされる。
【0003】
一般に中央処理装置(「CPU」という)と、SRAMタイプのプログラマブル集積回路とを用いたシステムの場合、CPUのプログラムを格納するプログラムROM(リード・オンリー・メモリ)と、FPGA用のユーザ論理を格納するROMが互いに別々に実装されている。
【0004】
尚、プログラマブル集積回路について記載された文献の例としては、特開平2−130023号公報がある。
【0005】
【発明が解決しようとする課題】
現在、大規模FPGAのほとんどはSRAMタイプであり、システムのブート時にFPGA専用のROMからユーザ論理を読み出して初期設定される形をとっている。しかし、中央処理装置にもプログラムを格納するためのROMが存在しており、インタフェース形式こそ違え、同じ機能を持ったICが一つのシステムに二種類存在することになり、しかも、プログラムROMの記憶容量は、1Mビットの次は4Mビットというようにあまり細分化されていないため、使用されない記憶領域が比較的多く残っている場合が少なくないことを考えると無駄が多い。
【0006】
本発明の目的は、プログラマブル集積回路を含むデータ処理装置の小型化、低消費電力化を図ることにある。
【0007】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【0008】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0009】
すなわち、プログラムを実行するCPU(10)と、このCPUで実行されるプログラムを格納するメモリ(12)と、ユーザ論理をプログラマブルに実現するプログラマブル集積回路(11)とを含んでデータ処理装置が構成されるとき、上記メモリに、上記CPUで実行されるプログラムとともに上記ユーザ論理情報を格納し、上記CPUに上記メモリ内のユーザ論理情報を上記プログラマブル集積回路に転送する手段を設ける。
【0010】
上記した手段によれば、プログラマブル集積回路のユーザ論理がCPUのプログラムが記憶されているメモリに格納されることにより、プログラマブル集積回路のユーザ論理を格納するための専用メモリを省略することができる。これにより、データ処理装置の小型化、低消費電力化を達成する。また、ユーザ論理情報がCPUによってプログラマブル集積回路に転送されるため、ユーザ論理情報をプログラマブル集積回路に転送するための専用のローダー回路の形成を省略することができる。
【0011】
このとき、上記中央処理装置と上記プログラマブル集積回路とがシリアル信号伝達系で結合され、上記メモリからパラレル形式で読み出されたユーザ論理情報が上記中央処理装置でシリアル形式に変換されて上記プログラマブル集積回路に伝達されるように構成することができる。
【0012】
また、上記CPU、上記プログラマブル集積回路、及び上記メモリがバスで結合され、上記メモリから上記プログラマブル集積回路へパラレル形式でユーザ論理情報が伝達されるように構成することができる。
【0013】
さらに、上記プログラマブル集積回路は、ユーザ論理情報の転送を意味する転送コマンドを設定可能な第1設定手段(114)、上記プログラマブル集積回路へのユーザ論理情報書き込みの開始アドレスを設定可能な第2設定手段(117)、及びユーザ論理情報の転送バイト数を設定可能な第3設定手段(115)を含んで構成することができる。
【0014】
【発明の実施の形態】
図1には本発明にかかるデータ処理装置が示される。
【0015】
図1に示されるようにこのデータ処理装置は、特に制限されないが、CPU10、FPGA11、及びROM12が結合されて成る。CPU10、FPGA11、及びROM12は、それぞれ公知の半導体集積回路製造技術により単結晶シリコン基板などの一つの半導体基板に形成される。ROM12は本来CPU10で実行されるプログラムを格納するものであるが、このデータ処理装置においては、ROM12内にはCPU10のプログラムとともに、FPGA11に設定されるユーザ論理情報が格納されている。このユーザ論理情報の設定はCPU10によって行われるようになっている。
【0016】
CPU10は、シリアル形式で信号のやり取りを可能とするシリアルコントローラを内蔵する。CPU10には、同期クロックを出力するためのSCK0端子、コマンドやユーザ論理情報などを送信するためのTXD0端子、ステータス受信のためのRXD0端子が設けられており、FPGA11には、上記CPU10からの同期クロックを取り込むためのSCK1端子、上記CPU10からのコマンドやユーザ論理情報などを取り込むためのRXD1端子、上記CPU10へステータスを出力するためのTXD1端子、及び設定された論理の信号入出力を可能とする入出力端子I/Oが設けられている。また、CPU10には、ROM12を選択するチップセレクト信号を出力するためのROM−CS0端子、リード信号を出力するためのRD0端子、ROM12からの読み出しデータを取り込むためのDATA0端子が設けられ、ROM12には、CPU10からのチップセレクト信号を取り込むためのCS2端子、CPU10からのリード信号を取り込むためのOE2端子、記憶情報をCPU10へ出力するためのDATA2端子が設けられている。
【0017】
図7には上記FPGA11の構成例が示される。
【0018】
SCK1端子から入力される同期クロックに同期して、RXD1端子からのコマンドやユーザ論理情報などを順次取り込んでパラレル形式に変換するための受信レジスタ111や、SCK1端子から入力される同期クロックに同期して、シリアルインタフェースコントロール部113からのパラレルデータをシリアルデータに変換して、TXD1端子を介して外部出力するための送信レジスタ112が設けられる。コマンドを保持するためのコマンドレジスタ114、転送バイト数を計数するための転送カウンタ115、データを一時的に保持するためのデータレジスタ116、アドレスを一時的に保持するためのアドレスレジスタ117、書き換えにより所望の論理を実現可能なFPGAメモリセル119が設けられる。このFPGAメモリセル119の論理書き換えを可能とするメモリセル書き換えバス、及びFPGAメモリセル119のユーザ論理へのアクセスを可能とするためのユーザ論理バスが設けられ、このメモリセル書き換えバス、ユーザ論理バスを選択するためのバス選択回路118が設けられている。バス選択回路118のバス選択により、ユーザ論理書き換えモード、及びユーザ論理アクセスモードが実現される。このバス選択動作はシリアルインタフェースコントロール部113が、コマンドレジスタ114に保持されている内容をもとに制御する。
【0019】
メモリセル書き換えバス、ユーザ論理バスは、それぞれそれぞれアドレスバス及びデータバスを含む。ユーザ論理書き換えモードにおいては、メモリセル書き換えバスがバス選択回路118により選択的にデータレジスタ116及びアドレスレジスタ117に接続される。この状態で、CPU10からFPGAメモリセル119の書き換えを行うことができる。また、ユーザ論理アクセスモードにおいては、ユーザ論理バスがバス選択部118により選択的にデータレジスタ116及びアドレスレジスタ117に接続され、この状態で、CPU10からFPGAメモリセル119におけるユーザ論理のアクセスが可能とされる。
【0020】
図2には図1に示される構成のCPU10から見たユーザ論理転送プロトコルが示される。
【0021】
FPGA11へのユーザ論理情報転送は次のように行われる。
【0022】
ユーザ論理情報の転送は電源投入後の初期設定の段階で行われるが、必要に応じて何度でも行うことができる。
【0023】
先ずCPU10のTXD0端子からユーザ論理転送の開始を示すコマンドが出力され、それに続いてFPGAメモリセル119のどこから書き始めるかを示す開始アドレス、どれだけ書き換えるかを示す転送バイト数が順に出力される。それにより、FPGA11はユーザ論理書き換えモードに入り、以降転送バイト数だけの受信データがFPGAメモリセル119に書き込まれる。
【0024】
具体的には、CPU10から転送コマンド、開始アドレス、転送バイト数がFPGA11に順次伝達されると、それに対して、FPGA11からコマンド受信、アドレス受信、バイト数受信のステータスが出力される。CPU10は、上記転送バイト数をFPGA11に出力した後、ROM_CS0端子からの出力信号をローレベルにアサートすることで、ROM12を選択し、RD0端子からの出力信号をローレベルにアサートすることでROM12に格納されているデータの出力を指示する。この指示により、ROM12からCPU10にデータD0が出力され、さらに、このデータD0がCPU10においてシリアル形式に変換されてからTXD0端子から出力されることで、FPGA11に伝達される。同様にデータD1など、データD0に続くデータがROM12から読み出されて、FPGA11に転送される。FPGA11では、転送コマンドが入力されると、それがコマンドレジスタ114に保持され、ユーザ論理書き換えモードに遷移される。このモードでは、バス選択部118によってメモリ書き換えバスが選択される。転送コマンドに続いて開始アドレス、転送バイト数、データの順に転送されてくるから、シリアルインタフェースコントロール部113は、開始アドレスをアドレスレジスタ117にセットし、転送バイト数を転送カウンタ115にセットし、データをデータレジスタ116にセットする。データが転送される毎にデータレジスタ116の保持内容が更新され、また、アドレスレジスタ117にセットされたアドレスがインクリメントされて、データレジスタ116に保持されているデータが、FPGAメモリセル119に書き込まれる。書き込まれる毎に転送カウンタ115がダウンカウントされる。書き込みアドレスはアドレスレジスタ117の出力アドレスとされる。このデータ書込みは転送カウンタ115のカウント出力値が零になるまで行われる。零になると、指定された全てのユーザ論理情報がFPGAメモリセル119に書き込まれたことになる。
【0025】
FPGA11では、コマンドやデータが受信されると、それに対するステータスがFPGA11のTXD1端子から出力される。つまり、FPGA11内のシリアルインタフェースコントロール部113は、受信レジスタ111を介してコマンドやデータが入力される毎に送信レジスタ112を介して、対応するステータスを外部出力する。CPU10は、FPGA11のTXD1端子から出力されるステータスをモニタしており、もし、ステータスに異常があると判断した場合には、そのままではFPGA11へのユーザ論理の転送を正常に行うことができないから、FPGA11内のシリアルインタフェース部113をリセットする。これにより、FPGA11は初期化され、再び上記転送処理が行われる。
【0026】
図3には図1に示される構成のCPU10から見たユーザ論理アクセスプロトコルが示される。
【0027】
FPGAを使用する場合、ユーザ論理のモード設定や外部からのデータ取り込みなど、CPU10とFPGA11との間で通信するケースが非常に多い。通常この通信のためのインタフェースをユーザ論理で作成し、限られたI/Oピンを使用して実現しているが、本装置の場合、CPU10とFPGA11との間の専用のインタフェースが設けられているから、これを利用する。
【0028】
FPGAメモリセル119のユーザ論理へのライト動作は次のように行われる。
【0029】
FPGAメモリセル119のユーザ論理に書き込みを行う場合、FPGA11のコマンド待ちの状態において、ライトコマンド、アドレス、ライトデータの順にCPU10からFPGA11に送信される。ライトコマンドがコマンドレジスタ114に保持されてユーザ論理への書き込みモードに遷移される。ライトコマンドに続くアドレス、及びライトデータはそれぞれアドレスレジスタ117、及びデータレジスタ116に書き込まれる。シリアルインタフェースコントロール部113の制御により、バス選択部118はユーザ論理バスを選択的にデータレジスタ116、アドレスレジスタ117へ結合させる。それにより、データレジスタ116の保持情報をFPGAメモリセル119のユーザ論理へ書き込むことができる。このライト動作においてもFPGA11のTXD1からステータスが出力され、それがCPU10においてチェックされる。そしてこのステータスに異常があれば、CPU10によりシリアルインタフェースコントロール部113をリセットし、再びライトコマンドから送信し直す事が出来る。
【0030】
また、FPGAメモリセル119のユーザ論理からのリード動作は次のように行われる。
【0031】
FPGAメモリセル119のユーザ論理から読み出しを行う場合、FPGA11のコマンド待ちの状態において、リードコマンド、アドレス、ダミーコマンドの順にCPU10からFPGA11に送信される。リードコマンドがコマンドレジスタ114に保持されてユーザ論理からの読み出しモードに遷移される。リードコマンドに続くアドレスはアドレスレジスタ117に書き込まれる。ダミーコマンドを必要とするのは次の理由による。すなわち、FPGAメモリセル119のユーザ論理から読み出されたデータをCPU10に取り込む際に同期クロックが必要であり、この同期クロックをCPU10のSCK0端子から出力させるために、ダミーコマンドをCPU10から出力させるようにしている。それにより、このダミーコマンド送信に同期して、FPGAメモリセル119のユーザ論理から読み出されたデータをCPU10に取り込むことができる。
【0032】
上記した例によれば、以下の作用効果を得ることができる。
【0033】
(1)FPGA11のユーザ論理がCPU10のプログラムROM12に格納されることにより、FPGA11のユーザ論理を格納するための専用メモリを省略することができる。これにより、データ処理装置の小型化、低消費電力化を図ることができる。また、ユーザ論理情報がCPU10によってFPGA11に転送されるため、ユーザ論理情報をFPGAに転送するための専用のローダー回路を形成する必要がない。
【0034】
(2)FPGA11のユーザ論理の転送をCPU10で管理することで、フェーズ毎に必要な論理をダイナミックに変更することができるようになり、FPGA11のゲート規模の縮小化を図ることができる。例えば、ディジタルスチルカメラにおいては、撮影するときにはJPEG(カラー静止画像)圧縮のためのDCT(離散コサイン変換)演算が行われ、閲覧するときにはJPEG伸張のための逆DCT演算がそれぞれ必要であるが、必ずしも両演算ユニットの論理が同時に必要となるわけではない。撮影時にはDCT演算ユニットの論理を、閲覧時には逆DCT演算ユニットの論理をそれぞれ必要に応じてROM12からFPGA11に転送してやれば良く、それによればJPEG圧縮のためのDCT演算機能と、JPEG伸張のための逆DCT演算機能とを同時に実現する場合に比べてFPGAの規模が約1/2で足りることになる。
【0035】
システムの開発段階においても、従来はFPGAの論理を変更する毎にユーザ論理情報を専用ROMに書き込んで交換しなければならなかったが、上記したデータ処理装置においては、プログラム開発と同様にユーザ論理をエミュレータにダウンロードするだけで論理情報の変更が可能となる。
【0036】
図4には本発明にかかるデータ処理装置の別の構成例が示される。
【0037】
図4に示されるようにこのデータ処理装置は、特に制限されないが、CPU15、FPGA16、及びROM17が結合されて成る。CPU15、FPGA16、及びROM17は、それぞれ公知の半導体集積回路製造技術により単結晶シリコン基板などの一つの半導体基板に形成される。
【0038】
CPU15は、FPGA16を選択するチップセレクト信号を出力するFPGA_CS5端子、読み出しを指示する信号を出力するためのRD5端子、アドレスを出力するためのADRn5端子、データ入出力のためのDATA5端子、ROM17を選択するチップセレクト信号を出力するためのROM_CS5端子を有する。
【0039】
FPGA16は、上記CPU15のFPGA_CS5端子から出力されたチップセレクト信号を取り込むためのCS6端子、CPU15のRD5端子から出力された読み出し指示信号をアウトプットイネーブル信号として取り込むOE6端子、CPU15のADRn5端子から出力されたアドレス信号を取り込むためのADRn6端子、及びデータ入出力ためのDATA6端子を有する。
【0040】
ROM17は、上記CPU15で実行されるプログラムとともに、上記FPGA16のユーザ論理情報を格納する。そのようなROM17には、データ出力のためのDATA7端子、CPU15のROM_CS5端子から出力されたチップセレクト信号を取り込むためのCS7端子、CPU15のRD5端子から出力された読み出し指示信号をアウトプットイネーブル信号として取り込むOE7端子が設けられている。
【0041】
CPU15のデータ入出力端子DATA5と、FPGA16のデータ入出力端子DATA6と、ROM17のデータ出力端子DATA7は、バスBUSにより互いに信号のやり取りが可能に結合されている。CPU15で実行されるプログラムは、バスBUSを介してROM17からCPU15に転送される。また、ROM17内のユーザ論理情報もバスBUSを介してFPGA16に転送される。
【0042】
図8にはFPGA16の構成例が示される。
【0043】
メモリインタフェース制御を行うためのメモリインタフェースコントロール部161が設けられ、このメモリインタフェースコントロール部161に、CS6端子からの入力信号、OE6端子からの入力信号、WE6端子からの入力信号、ADRn6端子からの入力信号が取り込まれるようになっている。コマンドを保持するためのコマンドレジスタ162、転送バイト数を計数するための転送カウンタ163、入力アドレスを保持するアドレスレジスタ164、メモリ書き換えバスとユーザ論理バスとを選択するためのバス選択部165とが設けられる。
【0044】
メモリ書き換えバス及びユーザ論理バスはそれぞれデータバス及びアドレスバスを有し、アドレスバスについてはバス選択部165により選択的にアドレスレジスタ164に結合され、データバスについてはバス選択部165により選択的に内部バスIBUSに結合される。
【0045】
図5には、図4に示される構成のCPU15から見たユーザ論理転送プロトコルが示される。
【0046】
バスBUSを介してコマンド、アドレス及びデータの転送が行われるため、CPU15のアドレスバスのうち1本だけが、コマンド入力のためのコマンドレジスタと、それ以外のアクセスを行うデータレジスタとを区別するためにADRn5端子として使用されている。つまり、ADRn5端子の出力論理値が“0”ならコマンド入力を示し、論理値“1”ならデータ入力を示している。ここにいうデータは、開始アドレス及び転送アドレスである。
【0047】
DATA5端子を介して、転送コマンド、開始アドレス、転送バイト数の順に転送され、WR5端子がローレベルにアサートされる毎に、転送コマンド、開始アドレス、転送バイト数が書き込まれる。転送コマンドはコマンドレジスタ162に、開始アドレスはアドレスレジスタ164へ、転送バイト数は転送カウンタ163にセットされる。
【0048】
ROM_CS5端子がローレベルにアサートされてROM17が選択されてCPU15のRD5端子がローレベルにアサートされることで、ROM17の記憶データが読み出され、CPU15のWR5端子がローレベルにアサートされる毎にバスBUSのデータのFPGA16内への取り込みが指示され、それが、FPGAメモリセル166に書き込まれる。データが転送される毎に、アドレスレジスタ164にセットされたアドレスはインクリメントされ、転送カウンタ163はダウンカウントされる。
【0049】
図6には図4に示される構成のCPU10から見たユーザ論理アクセスプロトコルが示される。
【0050】
先ず、リード動作について説明する。
【0051】
CPU15のWR5端子がローレベルにアサートされて、コマンドレジスタ162にアクセスコマンドが書き込まれ、アドレスレジスタ163に読み出しアドレスが書き込まれる。上記アクセスコマンドの書き込みにより、FPGA16はユーザ論理アクセスモードに移行される。バス選択部165により、ユーザ論理バスにおけるアドレスバスが選択的にアドレスレジスタ164に結合される。また、バス選択部165により、ユーザ論理バスにおけるデータバスが内部バスIBUSに結合される。DATA5端子からアドレス信号を与えられると、それはアドレスレジスタ164に保持され、当該アドレスに呼応するデータがFPGAメモリセル166から読み出されてDATA6端子を介してCPU15に伝達される。
【0052】
ライト動作について説明する。
【0053】
ライトする場合は、CPU15のWR5端子がローレベルにアサートされて書き込みアドレスがアドレスレジスタ164に書き込まれ、次にCPU15のWR5端子がローレベルにアサートされるタイミングでライトデータがCPU15のDATA5端子から出力されることで、当該ライトデータがFPGA16内のFPGAメモリセル166へ書き込まれる。
【0054】
このように図4、図8に示されるデータ処理装置においても、FPGAのユーザ論理がCPUのプログラムROMに格納されることにより、FPGAのユーザ論理を格納するための専用メモリを省略することができ、それにより、データ処理装置の小型化、低消費電力化を図ることができるなど、図1、図7に示されるデータ処理装置と同様の作用効果を得ることができる。
【0055】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0056】
例えば、CPUとSRAMタイプのFPGAをワンチップ化し、それをプログラマブルな内蔵周辺機能として提供することができる。また、CPUコアを含むCBIC開発顧客への評価チップとすることができる。
【0057】
FPGAユーザ論理とCPUのソースプログラム間でシンボルレベルでの互換性を持たせ、ユーザ論理の一部だけをダイナミックに書き換えられるようにする。
【0058】
CPUコアにSRAMタイプのFPGAを内蔵し、ユーザ定義のCPU命令を追加、実行可能とする。
【0059】
一つのFPGAにSRAM論理とEEPROM論理セルの両方を持たせ、固定して使用する論理や電源投入直後から使用する論理をEEPROMに、ダイナミックに変更して使用する論理をSRAMに格納するとよい。
【0060】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるFPGAを備えたデータ処理装置に適用した場合について説明したが、本発明はそれに限定されるものではなく、プログラマブル集積回路を備えたデータ処理装置に広く適用することができる。
【0061】
本発明は、少なくともプログラマブル集積回路を含むことを条件に適用することができる。
【0062】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0063】
すなわち、プログラマブル集積回路のユーザ論理が中央処理装置のプログラムが記憶されているメモリに格納されることにより、プログラマブル集積回路のユーザ論理を格納するための専用メモリを省略することができる。これにより、データ処理装置の小型化、低消費電力化を達成する。また、ユーザ論理情報がCPUによってプログラマブル集積回路に転送されるため、ユーザ論理情報をプログラマブル集積回路に転送するための専用のローダー回路を形成を省略することができる。
【図面の簡単な説明】
【図1】本発明にかかるデータ処理装置の構成例ブロック図である。
【図2】図1に示される構成のCPUから見たユーザ論理転送プロトコル説明のためのタイミング図である。
【図3】図1に示される構成のCPUから見たユーザ論理アクセスプロトコル説明のためのタイミング図である。
【図4】本発明にかかるデータ処理装置の別の構成例ブロック図である。
【図5】図4に示される構成のCPUから見たユーザ論理転送プロトコル説明のためのタイミング図である。
【図6】図4に示される構成のCPUから見たユーザ論理アクセスプロトコル説明のためのタイミング図である。
【図7】図1に示されるFPGAの構成例ブロック図である。
【図8】図4に示されるFPGAの構成例ブロック図である。
【符号の説明】
10,15 CPU
11,16 FPGA
12,17 ROM
111 受信レジスタ
112 送信レジスタ
113 シリアルインタフェースコントロール部
114,162 コマンドレジスタ
115,163 転送カウンタ
116 データレジスタ
117,164 アドレスレジスタ
118,165 バス選択回路
119,166 FPGAメモリセル
161 メモリインタフェースコントロール部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data processing device including a programmable integrated circuit that can implement user logic in a programmable manner.
[0002]
[Prior art]
2. Description of the Related Art There is known a programmable integrated circuit in which circuit data defining circuit functions such as connection information and logic functions is stored in a memory cell or the like so that necessary circuit functions can be programmed. In such a programmable integrated circuit, the circuit function can be changed by rewriting the circuit data. In particular, the circuit function can be easily changed without repeating trial production when designing a digital circuit such as a logic circuit. . As such a programmable integrated circuit, a PLD (Programmable Logic Device) and a PGA (Programmable Gate Array) are known. An FPGA (Field Programmable Gate Array) is an example of PGA.
[0003]
In general, in the case of a system using a central processing unit (referred to as a “CPU”) and a programmable integrated circuit of an SRAM type, a program ROM (read only memory) for storing a CPU program and a user logic for an FPGA are stored. ROMs are implemented separately from each other.
[0004]
As an example of a document describing a programmable integrated circuit, there is JP-A-2-130023.
[0005]
[Problems to be solved by the invention]
At present, most large-scale FPGAs are of the SRAM type, and have a form in which user logic is read from a ROM dedicated to the FPGA at the time of system boot and initialized. However, the central processing unit also has a ROM for storing programs, and the interface format is different, and two types of ICs having the same function exist in one system. Since the capacity is not so subdivided into 4 Mbits after 1 Mbits, there is much waste in considering that a relatively large number of unused storage areas often remain.
[0006]
An object of the present invention is to reduce the size and power consumption of a data processing device including a programmable integrated circuit.
[0007]
The above and other objects and novel features of the present invention will become apparent from the description of the present specification and the accompanying drawings.
[0008]
[Means for Solving the Problems]
The outline of a representative invention among the inventions disclosed in the present application will be briefly described as follows.
[0009]
That is, a data processing device includes a CPU (10) for executing a program, a memory (12) for storing a program executed by the CPU, and a programmable integrated circuit (11) for programmably realizing user logic. When the user logic information is stored in the memory together with the program executed by the CPU, the CPU is provided with means for transferring the user logic information in the memory to the programmable integrated circuit.
[0010]
According to the above-described means, since the user logic of the programmable integrated circuit is stored in the memory storing the program of the CPU, a dedicated memory for storing the user logic of the programmable integrated circuit can be omitted. Thereby, the size and power consumption of the data processing device can be reduced. Further, since the user logic information is transferred to the programmable integrated circuit by the CPU, the formation of a dedicated loader circuit for transferring the user logic information to the programmable integrated circuit can be omitted.
[0011]
At this time, the central processing unit and the programmable integrated circuit are connected by a serial signal transmission system, and the user logic information read from the memory in a parallel format is converted into a serial format by the central processing unit and the programmable integrated circuit is converted to a serial format. It can be configured to be transmitted to a circuit.
[0012]
Further, the CPU, the programmable integrated circuit, and the memory may be connected by a bus, and the user logic information may be transmitted from the memory to the programmable integrated circuit in a parallel format.
[0013]
Further, the programmable integrated circuit has first setting means (114) capable of setting a transfer command indicating transfer of user logic information, and second setting capable of setting a start address of writing user logic information to the programmable integrated circuit. Means (117) and a third setting means (115) capable of setting the number of transfer bytes of the user logical information.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 shows a data processing device according to the present invention.
[0015]
As shown in FIG. 1, this data processing device is composed of, but not limited to, a CPU 10, an FPGA 11, and a ROM 12. The CPU 10, the FPGA 11, and the ROM 12 are each formed on one semiconductor substrate such as a single crystal silicon substrate by a known semiconductor integrated circuit manufacturing technique. The ROM 12 originally stores programs to be executed by the CPU 10. In this data processing apparatus, the ROM 12 stores user logic information set in the FPGA 11 together with the programs of the CPU 10. The setting of the user logic information is performed by the CPU 10.
[0016]
The CPU 10 has a built-in serial controller capable of exchanging signals in a serial format. The CPU 10 is provided with an SCK0 terminal for outputting a synchronous clock, a TXD0 terminal for transmitting commands and user logic information, and an RXD0 terminal for receiving status. A SCK1 terminal for capturing a clock, an RXD1 terminal for capturing a command from the CPU 10, user logic information, and the like, a TXD1 terminal for outputting a status to the CPU 10, and a signal input / output of a set logic are enabled. An input / output terminal I / O is provided. Further, the CPU 10 is provided with a ROM-CS0 terminal for outputting a chip select signal for selecting the ROM 12, an RD0 terminal for outputting a read signal, and a DATA0 terminal for taking in read data from the ROM 12. Are provided with a CS2 terminal for taking in a chip select signal from the CPU 10, an OE2 terminal for taking in a read signal from the CPU 10, and a DATA2 terminal for outputting stored information to the CPU 10.
[0017]
FIG. 7 shows a configuration example of the FPGA 11.
[0018]
In synchronization with a synchronization clock input from the SCK1 terminal, a reception register 111 for sequentially taking in commands and user logic information from the RXD1 terminal and converting it into a parallel format, and a synchronization clock input from the SCK1 terminal. A transmission register 112 is provided for converting the parallel data from the serial interface control unit 113 into serial data and outputting the serial data externally via the TXD1 terminal. A command register 114 for holding a command, a transfer counter 115 for counting the number of transfer bytes, a data register 116 for temporarily holding data, an address register 117 for temporarily holding an address, An FPGA memory cell 119 capable of implementing a desired logic is provided. A memory cell rewrite bus for enabling logic rewriting of the FPGA memory cell 119 and a user logic bus for enabling access to user logic of the FPGA memory cell 119 are provided. Is provided with a bus selection circuit 118 for selecting. By the bus selection of the bus selection circuit 118, a user logic rewrite mode and a user logic access mode are realized. This bus selection operation is controlled by the serial interface control unit 113 based on the contents held in the command register 114.
[0019]
The memory cell rewrite bus and the user logic bus include an address bus and a data bus, respectively. In the user logic rewrite mode, the memory cell rewrite bus is selectively connected to the data register 116 and the address register 117 by the bus selection circuit 118. In this state, the CPU 10 can rewrite the FPGA memory cell 119. In the user logic access mode, the user logic bus is selectively connected to the data register 116 and the address register 117 by the bus selection unit 118. In this state, the CPU 10 can access the user logic in the FPGA memory cell 119. Is done.
[0020]
FIG. 2 shows a user logical transfer protocol viewed from the CPU 10 having the configuration shown in FIG.
[0021]
The transfer of the user logic information to the FPGA 11 is performed as follows.
[0022]
The transfer of the user logic information is performed at the initial setting stage after the power is turned on, but can be performed as many times as necessary.
[0023]
First, a command indicating the start of user logical transfer is output from the TXD0 terminal of the CPU 10, followed by a start address indicating where to start writing in the FPGA memory cell 119 and a transfer byte number indicating how much to rewrite. As a result, the FPGA 11 enters the user logic rewrite mode, and thereafter, the received data of the transfer byte number is written into the FPGA memory cell 119.
[0024]
Specifically, when a transfer command, a start address, and a transfer byte number are sequentially transmitted from the CPU 10 to the FPGA 11, the FPGA 11 outputs a command reception, address reception, and byte number reception status. After outputting the transfer byte number to the FPGA 11, the CPU 10 selects the ROM 12 by asserting the output signal from the ROM_CS0 terminal to a low level, and asserts the output signal from the RD0 terminal to a low level. Instruct output of stored data. According to this instruction, data D0 is output from the ROM 12 to the CPU 10, and the data D0 is converted into a serial format in the CPU 10 and then output from the TXD0 terminal, so that the data D0 is transmitted to the FPGA 11. Similarly, data following data D0, such as data D1, is read from ROM 12 and transferred to FPGA 11. In the FPGA 11, when a transfer command is input, it is held in the command register 114, and the mode is transited to the user logic rewrite mode. In this mode, the memory rewriting bus is selected by the bus selection unit 118. Since the start address, the number of transfer bytes, and the data are transferred in the order of the transfer command, the serial interface control unit 113 sets the start address in the address register 117, sets the transfer byte number in the transfer counter 115, and Is set in the data register 116. Every time data is transferred, the content held in the data register 116 is updated, the address set in the address register 117 is incremented, and the data held in the data register 116 is written to the FPGA memory cell 119. . Each time data is written, the transfer counter 115 is counted down. The write address is an output address of the address register 117. This data writing is performed until the count output value of the transfer counter 115 becomes zero. When the value becomes zero, all specified user logic information has been written to the FPGA memory cell 119.
[0025]
In the FPGA 11, when a command or data is received, a status corresponding to the command or data is output from the TXD1 terminal of the FPGA 11. That is, each time a command or data is input via the reception register 111, the serial interface control unit 113 in the FPGA 11 externally outputs a corresponding status via the transmission register 112. The CPU 10 monitors the status output from the TXD1 terminal of the FPGA 11, and if the status is determined to be abnormal, the user logic cannot be normally transferred to the FPGA 11 as it is. The serial interface unit 113 in the FPGA 11 is reset. Thereby, the FPGA 11 is initialized, and the transfer processing is performed again.
[0026]
FIG. 3 shows a user logical access protocol viewed from the CPU 10 having the configuration shown in FIG.
[0027]
When an FPGA is used, communication between the CPU 10 and the FPGA 11 such as user logic mode setting and external data capture is very common. Usually, an interface for this communication is created by user logic and realized by using a limited number of I / O pins. However, in the case of this device, a dedicated interface between the CPU 10 and the FPGA 11 is provided. So, use this.
[0028]
The write operation to the user logic of the FPGA memory cell 119 is performed as follows.
[0029]
When writing to the user logic of the FPGA memory cell 119, a write command, an address, and write data are transmitted from the CPU 10 to the FPGA 11 in the command waiting state of the FPGA 11. The write command is held in the command register 114, and the mode is shifted to the write mode for the user logic. The address and write data following the write command are written to the address register 117 and the data register 116, respectively. Under the control of the serial interface control unit 113, the bus selection unit 118 selectively connects the user logical bus to the data register 116 and the address register 117. Thereby, the information held in the data register 116 can be written to the user logic of the FPGA memory cell 119. Also in this write operation, the status is output from the TXD 1 of the FPGA 11, and the status is checked by the CPU 10. If there is any abnormality in this status, the CPU 10 can reset the serial interface control unit 113 and transmit again from the write command.
[0030]
The read operation from the user logic of the FPGA memory cell 119 is performed as follows.
[0031]
When reading is performed from the user logic of the FPGA memory cell 119, the read command, the address, and the dummy command are transmitted from the CPU 10 to the FPGA 11 in the command waiting state of the FPGA 11. The read command is held in the command register 114, and the mode is shifted to the read mode from the user logic. The address following the read command is written to the address register 117. The reason why the dummy command is required is as follows. That is, a synchronous clock is necessary when the data read from the user logic of the FPGA memory cell 119 is taken into the CPU 10, and a dummy command is output from the CPU 10 in order to output this synchronous clock from the SCK0 terminal of the CPU 10. I have to. Thereby, the data read from the user logic of the FPGA memory cell 119 can be taken into the CPU 10 in synchronization with the transmission of the dummy command.
[0032]
According to the above example, the following operation and effect can be obtained.
[0033]
(1) Since the user logic of the FPGA 11 is stored in the program ROM 12 of the CPU 10, a dedicated memory for storing the user logic of the FPGA 11 can be omitted. This makes it possible to reduce the size and power consumption of the data processing device. Further, since the user logic information is transferred to the FPGA 11 by the CPU 10, it is not necessary to form a dedicated loader circuit for transferring the user logic information to the FPGA.
[0034]
(2) By managing the transfer of the user logic of the FPGA 11 by the CPU 10, it is possible to dynamically change the necessary logic for each phase, and it is possible to reduce the gate size of the FPGA 11. For example, in a digital still camera, a DCT (Discrete Cosine Transform) operation for JPEG (color still image) compression is performed when photographing, and an inverse DCT operation for JPEG decompression is required when browsing. The logic of both operation units is not necessarily required at the same time. The logic of the DCT operation unit may be transferred from the ROM 12 to the FPGA 11 as needed when photographing, and the logic of the inverse DCT operation unit may be transferred to the FPGA 11 as needed, so that the DCT operation function for JPEG compression and the JT decompression In comparison with the case where the inverse DCT operation function is realized at the same time, the scale of the FPGA is about 1/2.
[0035]
In the system development stage, conventionally, every time the logic of the FPGA was changed, user logic information had to be written and exchanged in a dedicated ROM. Logic information can be changed simply by downloading to the emulator.
[0036]
FIG. 4 shows another configuration example of the data processing device according to the present invention.
[0037]
As shown in FIG. 4, this data processing device is composed of, but not limited to, a CPU 15, an FPGA 16, and a ROM 17. The CPU 15, the FPGA 16, and the ROM 17 are each formed on a single semiconductor substrate such as a single crystal silicon substrate by a known semiconductor integrated circuit manufacturing technique.
[0038]
The CPU 15 selects an FPGA_CS5 terminal for outputting a chip select signal for selecting the FPGA 16, an RD5 terminal for outputting a signal for instructing reading, an ADRn5 terminal for outputting an address, a DATA5 terminal for data input / output, and the ROM 17. And a ROM_CS5 terminal for outputting a chip select signal to be output.
[0039]
The FPGA 16 is output from the CS6 terminal for receiving the chip select signal output from the FPGA_CS5 terminal of the CPU 15, the OE6 terminal for receiving the read instruction signal output from the RD5 terminal of the CPU 15 as an output enable signal, and output from the ADRn5 terminal of the CPU 15. It has an ADRn6 terminal for taking in an address signal and a DATA6 terminal for inputting / outputting data.
[0040]
The ROM 17 stores the user logic information of the FPGA 16 together with the program executed by the CPU 15. The ROM 17 has a DATA7 terminal for data output, a CS7 terminal for taking in a chip select signal output from the ROM_CS5 terminal of the CPU 15, and a read instruction signal output from the RD5 terminal of the CPU 15 as an output enable signal. An OE7 terminal for taking in is provided.
[0041]
The data input / output terminal DATA5 of the CPU 15, the data input / output terminal DATA6 of the FPGA 16, and the data output terminal DATA7 of the ROM 17 are connected to each other via a bus BUS so that signals can be exchanged. The program executed by the CPU 15 is transferred from the ROM 17 to the CPU 15 via the bus BUS. Further, the user logic information in the ROM 17 is also transferred to the FPGA 16 via the bus BUS.
[0042]
FIG. 8 shows a configuration example of the FPGA 16.
[0043]
A memory interface control unit 161 for controlling a memory interface is provided. The memory interface control unit 161 has an input signal from the CS6 terminal, an input signal from the OE6 terminal, an input signal from the WE6 terminal, and an input from the ADRn6 terminal. The signal is taken in. A command register 162 for holding a command, a transfer counter 163 for counting the number of transfer bytes, an address register 164 for holding an input address, and a bus selector 165 for selecting a memory rewrite bus and a user logical bus are provided. Provided.
[0044]
The memory rewrite bus and the user logic bus have a data bus and an address bus, respectively. The address bus is selectively coupled to the address register 164 by the bus selector 165, and the data bus is selectively internal by the bus selector 165. Coupled to bus IBUS.
[0045]
FIG. 5 shows a user logical transfer protocol viewed from the CPU 15 having the configuration shown in FIG.
[0046]
Since commands, addresses and data are transferred via the bus BUS, only one of the address buses of the CPU 15 is used to distinguish between a command register for command input and a data register for other access. Are used as ADRn5 terminals. That is, if the output logical value of the ADRn5 terminal is "0", it indicates a command input, and if the logical value is "1", it indicates a data input. The data here is a start address and a transfer address.
[0047]
The transfer command, the start address, and the number of transfer bytes are transferred in this order via the DATA5 terminal. Each time the WR5 terminal is asserted low, the transfer command, the start address, and the number of transfer bytes are written. The transfer command is set in the command register 162, the start address is set in the address register 164, and the number of transfer bytes is set in the transfer counter 163.
[0048]
When the ROM_CS5 terminal is asserted low and the ROM 17 is selected and the RD5 terminal of the CPU 15 is asserted low, data stored in the ROM 17 is read out and each time the WR5 terminal of the CPU 15 is asserted low. An instruction to fetch data of the bus BUS into the FPGA 16 is issued, and the instruction is written to the FPGA memory cell 166. Each time data is transferred, the address set in the address register 164 is incremented, and the transfer counter 163 counts down.
[0049]
FIG. 6 shows a user logical access protocol viewed from the CPU 10 having the configuration shown in FIG.
[0050]
First, the read operation will be described.
[0051]
The WR5 terminal of the CPU 15 is asserted low, an access command is written to the command register 162, and a read address is written to the address register 163. By writing the access command, the FPGA 16 is shifted to the user logical access mode. The address bus in the user logical bus is selectively coupled to the address register 164 by the bus selecting unit 165. The data bus in the user logic bus is connected to the internal bus IBUS by the bus selection unit 165. When an address signal is given from the DATA5 terminal, it is held in the address register 164, and data corresponding to the address is read from the FPGA memory cell 166 and transmitted to the CPU 15 via the DATA6 terminal.
[0052]
The write operation will be described.
[0053]
When writing, the WR5 terminal of the CPU 15 is asserted low, the write address is written to the address register 164, and the write data is output from the DATA5 terminal of the CPU 15 at the next timing when the WR5 terminal of the CPU 15 is asserted low. Then, the write data is written to the FPGA memory cell 166 in the FPGA 16.
[0054]
As described above, also in the data processing apparatus shown in FIGS. 4 and 8, since the user logic of the FPGA is stored in the program ROM of the CPU, a dedicated memory for storing the user logic of the FPGA can be omitted. Accordingly, the same effects as those of the data processing apparatus shown in FIGS. 1 and 7 can be obtained, such as reduction in size and power consumption of the data processing apparatus.
[0055]
Although the invention made by the inventor has been specifically described based on the embodiment, the present invention is not limited to the embodiment, and it is needless to say that various changes can be made without departing from the gist of the invention.
[0056]
For example, a CPU and an SRAM-type FPGA can be integrated into one chip and provided as programmable built-in peripheral functions. Further, it can be used as an evaluation chip for a CBIC development customer including a CPU core.
[0057]
Symbol level compatibility is provided between the FPGA user logic and the source program of the CPU so that only a part of the user logic can be dynamically rewritten.
[0058]
An SRAM-type FPGA is built in the CPU core, and a user-defined CPU instruction can be added and executed.
[0059]
One FPGA may have both SRAM logic and EEPROM logic cells, and the logic used fixedly or the logic used immediately after power-on may be stored in the EEPROM, and the logic used dynamically changed and used may be stored in the SRAM.
[0060]
In the above description, the case where the invention made by the inventor is mainly applied to a data processing device having an FPGA, which is the field of application as the background, has been described. However, the present invention is not The present invention can be widely applied to a data processing device including an integrated circuit.
[0061]
The present invention can be applied on the condition that it includes at least a programmable integrated circuit.
[0062]
【The invention's effect】
The following is a brief description of an effect obtained by a representative one of the inventions disclosed in the present application.
[0063]
That is, since the user logic of the programmable integrated circuit is stored in the memory in which the program of the central processing unit is stored, the dedicated memory for storing the user logic of the programmable integrated circuit can be omitted. Thereby, the size and power consumption of the data processing device can be reduced. In addition, since the user logic information is transferred to the programmable integrated circuit by the CPU, the formation of a dedicated loader circuit for transferring the user logic information to the programmable integrated circuit can be omitted.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration example of a data processing device according to the present invention.
FIG. 2 is a timing chart for explaining a user logical transfer protocol as viewed from a CPU having the configuration shown in FIG. 1;
FIG. 3 is a timing chart for explaining a user logical access protocol viewed from a CPU having the configuration shown in FIG. 1;
FIG. 4 is a block diagram showing another configuration example of the data processing device according to the present invention.
FIG. 5 is a timing chart for explaining a user logical transfer protocol viewed from a CPU having the configuration shown in FIG. 4;
6 is a timing chart for explaining a user logical access protocol as viewed from the CPU having the configuration shown in FIG. 4;
FIG. 7 is a block diagram showing a configuration example of the FPGA shown in FIG. 1;
FIG. 8 is a block diagram illustrating a configuration example of the FPGA illustrated in FIG. 4;
[Explanation of symbols]
10,15 CPU
11,16 FPGA
12, 17 ROM
111 Receive register
112 Transmission register
113 Serial interface control section
114,162 Command register
115,163 transfer counter
116 Data Register
117,164 address register
118,165 bus selection circuit
119,166 FPGA memory cell
161 Memory interface control unit

Claims (8)

プログラムを実行するための中央処理装置と、
上記中央処理装置で実行されるプログラムを格納するメモリと、
ユーザ論理をプログラマブルに実現するためのプログラマブル集積回路とを含むデータ処理装置において、
上記メモリは上記中央処理装置で実行されるプログラムとともに、上記ユーザ論理情報を格納し、上記中央処理装置は、上記メモリ内のユーザ論理情報を上記プログラマブル集積回路に転送する転送手段を含み、上記転送手段は、上記メモリから上記ユーザ論理情報を読み込み、上記プログラマブル集積回路に転送することを特徴とするデータ処理装置。
A central processing unit for executing the program;
A memory for storing a program executed by the central processing unit;
A data processing device including a programmable integrated circuit for programmably realizing user logic,
Said memory stores programs to be executed by the central processing unit, and stores the user logic information, the central processing unit, viewed contains a transfer means for transferring the user logic information in the memory in the programmable integrated circuit, the A data processing device , wherein the transfer means reads the user logic information from the memory and transfers the user logic information to the programmable integrated circuit .
上記中央処理装置と上記プログラマブル集積回路とがシリアル信号伝達系で結合され、上記メモリからパラレル形式で読み出されたユーザ論理情報が上記中央処理装置でシリアル形式に変換されて上記プログラマブル集積回路に伝達される請求項1記載のデータ処理装置。The central processing unit and the programmable integrated circuit are coupled by a serial signal transmission system, and the user logic information read in a parallel format from the memory is converted to a serial format by the central processing unit and transmitted to the programmable integrated circuit. The data processing apparatus according to claim 1, wherein the data processing is performed. 上記中央処理装置、上記プログラマブル集積回路、及び上記メモリがバスで結合され、上記プログラマブル集積回路へパラレル形式でユーザ論理情報が伝達される請求項1記載のデータ処理装置。2. The data processing apparatus according to claim 1, wherein the central processing unit, the programmable integrated circuit, and the memory are connected by a bus, and user logic information is transmitted to the programmable integrated circuit in a parallel format. プログラムを実行するための中央処理装置と、
上記中央処理装置で実行されるプログラムを格納するメモリと、
ユーザ論理をプログラマブルに実現するためのプログラマブル集積回路と、
上記プログラマブル集積回路にユーザ論理情報を転送する転送手段とを含むデータ処理装置において、
上記メモリは上記中央処理装置で実行されるプログラムとともに、上記ユーザ論理情報を格納し、上記転送する手段は、上記中央処理装置からの指示に従って、上記メモリから上記ユーザ論理情報を読み込み、上記プログラマブル集積回路に転送することを特徴とするデータ処理装置。
A central processing unit for executing the program;
A memory for storing a program executed by the central processing unit;
A programmable integrated circuit for programmably realizing user logic,
Transfer means for transferring user logic information to the programmable integrated circuit,
The memory stores the user logic information together with the program executed by the central processing unit, and the transfer unit reads the user logic information from the memory in accordance with an instruction from the central processing unit, and stores the user logic information in the programmable integrated circuit. A data processing device for transferring data to a circuit.
上記転送手段と上記プログラマブル集積回路とがシリアル信号伝達系で結合され、上記メモリからパラレル形式で読み出されたユーザ論理情報が上記転送手段でシリアル形式に変換されて上記プログラマブル集積回路に伝達される請求項4記載のデータ処理装置。The transfer means and the programmable integrated circuit are coupled by a serial signal transmission system, and the user logic information read in a parallel format from the memory is converted to a serial format by the transfer means and transmitted to the programmable integrated circuit. The data processing device according to claim 4. 上記転送手段、上記プログラマブル集積回路、及び上記メモリがバスで結合され、上記プログラマブル集積回路へパラレル形式でユーザ論理情報が伝達される請求項4記載のデータ処理装置。5. The data processing device according to claim 4, wherein said transfer means, said programmable integrated circuit, and said memory are connected by a bus, and user logic information is transmitted to said programmable integrated circuit in a parallel form. 上記プログラマブル集積回路は、ユーザ論理情報の転送を意味する転送コマンドを設定する第1設定手段、上記プログラマブル集積回路へのユーザ論理情報の書き込みの開始アドレスを設定する第2設定手段、及びユーザ論理情報の転送バイト数を設定する第3設定手段を含む請求項1乃至6のいずれか1項記載のデータ処理装置。The programmable integrated circuit has first setting means for setting a transfer command indicating transfer of user logic information, second setting means for setting a start address of writing of user logic information to the programmable integrated circuit, and user logic information. 7. The data processing apparatus according to claim 1, further comprising a third setting unit that sets the number of transfer bytes. プログラムを実行するための中央処理装置と、
ユーザ論理をプログラマブルに実現するためのプログラマブル集積回路と、
上記プログラマブル集積回路にユーザ論理情報を転送する転送手段を含むデータ処理装置において、
上記転送する手段は、上記中央処理装置からの指示に従って、上記中央処理装置が実行するためのプログラムを格納するのと同じメモリから上記ユーザ論理情報を読み込み、上記プログラマブル集積回路に転送することを特徴とするデータ処理装置。
A central processing unit for executing the program;
A programmable integrated circuit for programmably realizing user logic,
In a data processing device including a transfer unit that transfers user logic information to the programmable integrated circuit,
The transfer means reads the user logic information from the same memory as that for storing a program to be executed by the central processing unit according to an instruction from the central processing unit, and transfers the user logic information to the programmable integrated circuit. Data processing device.
JP27676897A 1997-10-09 1997-10-09 Data processing device Expired - Fee Related JP3571886B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27676897A JP3571886B2 (en) 1997-10-09 1997-10-09 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27676897A JP3571886B2 (en) 1997-10-09 1997-10-09 Data processing device

Publications (2)

Publication Number Publication Date
JPH11122095A JPH11122095A (en) 1999-04-30
JP3571886B2 true JP3571886B2 (en) 2004-09-29

Family

ID=17574092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27676897A Expired - Fee Related JP3571886B2 (en) 1997-10-09 1997-10-09 Data processing device

Country Status (1)

Country Link
JP (1) JP3571886B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496971B1 (en) * 2000-02-07 2002-12-17 Xilinx, Inc. Supporting multiple FPGA configuration modes using dedicated on-chip processor

Also Published As

Publication number Publication date
JPH11122095A (en) 1999-04-30

Similar Documents

Publication Publication Date Title
US5860021A (en) Single chip microcontroller having down-loadable memory organization supporting "shadow" personality, optimized for bi-directional data transfers over a communication channel
CN100426275C (en) Bus interface devices and method
US20090070502A1 (en) Data Modification Module
CN116450552B (en) Asynchronous batch register reading and writing method and system based on I2C bus
JPH11509950A (en) Microcontroller having N-bit data bus width with less than N I/O pins and method therefor - Patents.com
US20030167368A1 (en) Transmission control circuit, reception control circuit, communications control circuit, and communications control unit
CN113760792A (en) AXI4 bus control circuit for image access based on FPGA and data transmission method thereof
JP2007501472A (en) USB host controller with transfer descriptor memory
JPH05324860A (en) Single-chip microcomputer
EP4266185A1 (en) Microcontroller chip containing multi-protocol communication interface peripheral and operation method therefor
EP0910014B1 (en) Program loading method and apparatus
JP3571886B2 (en) Data processing device
WO2008096000A1 (en) Microcontroller with memory trace module
US20030048677A1 (en) Semiconductor device having a dual bus, dual bus system, shared memory dual bus system, and electronic instrument using the same
JP2002521942A (en) Memory device and method of operating memory device
JPH10268995A (en) Interface control method and device
KR100642158B1 (en) Method and system for interfacing a bus and a peripheral device through a slave group interface device and a slave group interface device
JPH03668B2 (en)
JPS6024980B2 (en) microcomputer
KR100546085B1 (en) Compress and restore serial port data and state using direct memory access
US20110060893A1 (en) Circuit comprising a microprogrammed machine for processing the inputs or the outputs of a processor so as to enable them to enter or leave the circuit according to any communication protocol
CN222147672U (en) Read-write device of MIPI display interface and image signal generator
CN114144760A (en) Apparatus for programming of electronic devices
JP2004013289A (en) On-chip debugging method of microcontroller
JP4135374B2 (en) Expansion card and method for writing data to storage unit of expansion card

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040517

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040622

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040625

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080702

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080702

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090702

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees