JP3571886B2 - Data processing device - Google Patents
Data processing device Download PDFInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 50
- 238000012546 transfer Methods 0.000 claims description 53
- 230000008054 signal transmission Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 101100420795 Schizosaccharomyces pombe (strain 972 / ATCC 24843) sck1 gene Proteins 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
[0016]
The
[0017]
FIG. 7 shows a configuration example of the
[0018]
In synchronization with a synchronization clock input from the SCK1 terminal, a
[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
[0020]
FIG. 2 shows a user logical transfer protocol viewed from the
[0021]
The transfer of the user logic information to the
[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
[0024]
Specifically, when a transfer command, a start address, and a transfer byte number are sequentially transmitted from the
[0025]
In the
[0026]
FIG. 3 shows a user logical access protocol viewed from the
[0027]
When an FPGA is used, communication between the
[0028]
The write operation to the user logic of the
[0029]
When writing to the user logic of the
[0030]
The read operation from the user logic of the
[0031]
When reading is performed from the user logic of the
[0032]
According to the above example, the following operation and effect can be obtained.
[0033]
(1) Since the user logic of the
[0034]
(2) By managing the transfer of the user logic of the
[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
[0038]
The
[0039]
The
[0040]
The
[0041]
The data input / output terminal DATA5 of the
[0042]
FIG. 8 shows a configuration example of the
[0043]
A memory
[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
[0045]
FIG. 5 shows a user logical transfer protocol viewed from the
[0046]
Since commands, addresses and data are transferred via the bus BUS, only one of the address buses of the
[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
[0048]
When the ROM_CS5 terminal is asserted low and the
[0049]
FIG. 6 shows a user logical access protocol viewed from the
[0050]
First, the read operation will be described.
[0051]
The WR5 terminal of the
[0052]
The write operation will be described.
[0053]
When writing, the WR5 terminal of the
[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 .
上記中央処理装置で実行されるプログラムを格納するメモリと、
ユーザ論理をプログラマブルに実現するためのプログラマブル集積回路と、
上記プログラマブル集積回路にユーザ論理情報を転送する転送手段とを含むデータ処理装置において、
上記メモリは上記中央処理装置で実行されるプログラムとともに、上記ユーザ論理情報を格納し、上記転送する手段は、上記中央処理装置からの指示に従って、上記メモリから上記ユーザ論理情報を読み込み、上記プログラマブル集積回路に転送することを特徴とするデータ処理装置。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.
ユーザ論理をプログラマブルに実現するためのプログラマブル集積回路と、
上記プログラマブル集積回路にユーザ論理情報を転送する転送手段を含むデータ処理装置において、
上記転送する手段は、上記中央処理装置からの指示に従って、上記中央処理装置が実行するためのプログラムを格納するのと同じメモリから上記ユーザ論理情報を読み込み、上記プログラマブル集積回路に転送することを特徴とするデータ処理装置。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.
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)
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 |
-
1997
- 1997-10-09 JP JP27676897A patent/JP3571886B2/en not_active Expired - Fee Related
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 |