JP4978962B2 - データ書込方法およびその方法を用いた書込制御装置ならびに演算装置 - Google Patents

データ書込方法およびその方法を用いた書込制御装置ならびに演算装置 Download PDF

Info

Publication number
JP4978962B2
JP4978962B2 JP2007060454A JP2007060454A JP4978962B2 JP 4978962 B2 JP4978962 B2 JP 4978962B2 JP 2007060454 A JP2007060454 A JP 2007060454A JP 2007060454 A JP2007060454 A JP 2007060454A JP 4978962 B2 JP4978962 B2 JP 4978962B2
Authority
JP
Japan
Prior art keywords
data
flag
signal
control signal
address
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.)
Active
Application number
JP2007060454A
Other languages
English (en)
Other versions
JP2008225662A (ja
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.)
Tohoku University NUC
Omron Corp
Original Assignee
Tohoku University NUC
Omron 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 Tohoku University NUC, Omron Corp filed Critical Tohoku University NUC
Priority to JP2007060454A priority Critical patent/JP4978962B2/ja
Publication of JP2008225662A publication Critical patent/JP2008225662A/ja
Application granted granted Critical
Publication of JP4978962B2 publication Critical patent/JP4978962B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、固有のアドレスが割り当てられたレジスタが複数含まれる半導体デバイスの各レジスタにそれぞれ所定のデータを書き込むための方法、およびその方法が適用された書込制御装置ならびに演算装置に関する。
プログラマブル・ロジック・デバイス(Programmable Logic Device;以下、略してPLDという。)は、ソフトウェアにより構築された回路情報によって構成が定められるデバイスである。PLDは、従来の専用ICほどにコストがかからず、他品種少量生産に容易に対応できるため、種々の組み込み機器に導入されるケースが増えている。
代表的なPLDとして、FPGA(Field Programmable Gate Array)がある。近年では、複雑な構成の回路にも対応できるように、大容量のメモリを内蔵したFPGAも開発されている。このメモリの回路情報は、外部からのデータ伝送により適宜書き換えることができる(特許文献1参照。)。
特開平10−135819号公報
さらに、回路構成情報を格納するためのメモリを複数具備し、使用するメモリを切り替えることによって、瞬時に回路を再構成することが可能なLSI(ダイナミック・リコンフィギュラブルLSI)も開発されている。この種のLSIを用いれば、外部から回路情報を伝送することなく、複数種の処理を高速で切り替えながら実行することができる(非特許文献1参照。)。
谷澤 哲、「ダイナミックリコンフィギュラブルLSI」、雑誌FUJITSU 2004−11月号、p.586−595
動的再構成型のLSIによれば、たとえば画像処理について、エッジ抽出等の前処理、特徴抽出、計測、判別などの処理を、1つのチップで実行することが可能になる。また、目的に応じて所定の処理の回路構成のみを変更する場合にも、簡単に対応することが可能である。
FPGAに複数の処理を切り替えて実行させるには、実行中の処理を終了した後に、外部からつぎの処理のための回路情報を読み込んで、メモリの内容を書き換える必要がある。動的再構成の機能を有するLSIであっても、実行すべき処理の数がメモリの数を上回る場合には、同様に、一連の処理の途中で新しい回路情報によりメモリを書き換える必要がある。
上記のメモリに対する回路情報の伝送は、前出の特許文献1に記載されているように、従来はJTAGなどのシリアル方式により実行されていた。しかし、シリアル方式のデータ伝送では時間が長くなるため、近年では、SRAMインターフェースで実行されるのと同様のデータ伝送によって、アドレス単位でデータを書き換えることが提案されている。
図6は、SRAMインターフェースにおけるデータ転送処理の流れを示す。
データの送信元では、データおよびその書込先を指定するアドレス信号を、CS(チップセレクト),OE(アウトプットイネーブル),WE(ライトイネーブル)の3種類の制御信号とともに伝送する。SRAMインターフェースでは、メモリにデータを伝送する一方で、アドレス信号に基づき、メモリに含まれる複数のレジスタの中から書込対象のレジスタを特定し、そのレジスタに各コントロール信号を中継する。このコントロール信号を受けたレジスタでは、OE信号およびWE信号の立ち上がりに応じてデータの書込を実施する。
図中、TWCは1つのデータの伝送に要する時間であり、Tはデータの実質的な送信・書込が行われる期間(データのセットアップ期間およびホールド期間を含む。)である。
上記のデータ転送処理では、1つのレジスタに格納するデータ全体(たとえば16ビットまたは32ビット構成のデータ)を一括送信することができるので、シリアル伝送の場合より送信時間を大幅に削減することができる。しかし、上記のTWC分の処理サイクルをアドレス毎に実行する必要があるため、レジスタの数が多くなると、データの伝送には相当の時間がかかり、回路情報の書込を高速化するのは困難になる。したがって、各メモリに初期設定された回路情報を途中で書き換えることにより、当初とは異なる回路を構成する場合には、書き換えに相当の時間がかかり、各種の処理を高速で切り替えられない、という問題が生じる。
この発明は、上記の問題点に着目してなされたもので、複数のレジスタを有する半導体デバイスにデータを書き込む場合の処理時間を、従来よりも大幅に削減することを目的とする。なお、半導体デバイスは、PLDに限定されるものではなく、一般のメモリ、オーディオモジュール、液晶モジュールなど、従来のSRAMインターフェースのデータ伝送方法を使用する種々のデバイスも含まれる。
この発明にかかるデータ書込方法は、固有のアドレスが割り当てられたレジスタが複数含まれる半導体デバイスの各レジスタにそれぞれ所定のデータを書き込むためのものである。この方法では、複数のレジスタ毎に、データの書込を指示するコントロール信号を当該レジスタに中継するための中継手段を設ける。また複数の中継手段のうちの1つにコントロール信号を伝送する個別書込制御手段と、全ての中継手段にコントロール信号を伝送する一括伝送手段とを設ける。さらに、各レジスタにつき1ビットのフラグが各レジスタのアドレス順に配列されたフラグデータを格納するためのフラグデータ記憶手段と、このフラグ記憶手段にフラグデータを書き込むフラグデータ書込手段とを設けるとともに、このフラグデータ記憶手段の各ビットのデータが、それぞれ対応するレジスタの中継手段に選択制御信号として入力されるように設定しておく。また、各中継手段を、個別書込制御手段からコントロール信号を受け付けたときは、この信号を中継対象のレジスタに無条件で中継する一方、一括伝送手段からコントロール信号を受け付けたときは、フラグ記憶手段からの選択制御信号がオン状態であることを条件としてコントロール信号の中継を行うように設定する。
フラグデータ書込手段および一括伝送手段には、それぞれ複数のレジスタのいずれにも対応しない固有のアドレスを割り当てる。また、複数ビット構成のデータ信号を複数のレジスタおよびフラグデータ書込手段に伝送し、データの書込先を指定するためのアドレス信号およびコントロール信号を個別書込制御手段、一括伝送手段、およびフラグデータ書込手段に伝送する。
各レジスタのうちのいずれか1つにのみデータを書き込む場合には、書込対象のデータを示すデータ信号を送信すると共に、書込先のレジスタを指定するアドレス信号を送信することにより、個別書込制御手段から書込先のレジスタに対応する中継手段にコントロール信号が伝送されるようにする。
一方、2以上のレジスタに共通のデータを書き込む場合には、書込先の各レジスタに対応するフラグをオン状態にし、その他のフラグをオフ状態にしたフラグデータを示すデータ信号を送信すると共に、フラグデータ書込手段に割り当てられたアドレスを示すアドレス信号を送信することにより、フラグデータ書込手段にフラグ記憶手段へのフラグデータの書き込みを行わせる第1ステップと、書込対象のデータを示すデータ信号を送信すると共に、一括伝送手段に割り当てられたアドレスを示すアドレス信号を送信することにより、一括伝送手段から全ての中継手段にコントロール信号を伝送させる第2ステップとを、順に実行する。
半導体デバイスの各レジスタは、データの書込を指示するコントロール信号が与えられたときに作動し、そのコントロール信号に応じて伝送されたデータを取り込んで記憶する。上記の方法によれば、ある特定のレジスタにのみ書き込まれるデータについては、そのデータの伝送に合わせて書込先のレジスタにのみコントロール信号が中継される。よって、データを書き込むべきレジスタに正しくそのデータを書き込むことが可能になる。
一方、2以上のレジスタに共通に書き込まれるデータについては、書込み先のレジスタを示すフラグデータを作成してフラグデータ記憶手段に格納することにより、書込先のレジスタに対応する複数の中継手段からコントロール信号が中継されるようになるので、書込先の各レジスタに一括でデータを書き込むことが可能になる。
上記方法を実施する場合、あらかじめ各レジスタに送信するデータを、単一のレジスタにのみ書き込まれるデータと、2以上のレジスタに書き込まれるデータとに分類するのが望ましい。さらに、後者のデータについては、フラグデータを作成し、書込対象のデータと対応づけておくのが望ましい。
上記の方法によれば、固有のデータが書き込まれるレジスタに対しては、従来と同様の排他的な制御によりデータが書き込まれる一方、同一のデータが書き込まれるレジスタに対しては、中継手段およびフラグデータを用いることによって、同時にデータを書き込むことが可能になる。よって、全てのレジスタに対して個別に書込制御を行う従来の方法に比べて、データの書込に要する時間を大幅に削減することができる。
この発明にかかる書込制御装置は、複数ビット構成のデータ信号を、データの書込先を指定するためのアドレス信号およびデータの書込を指示するコントロール信号と共に入力する入力手段;各レジスタにつき1ビットのフラグが各レジスタのアドレス順に配列された複数ビット構成のフラグデータを格納するためのフラグデータ記憶手段;フラグデータ記憶手段にフラグデータを書き込むフラグデータ書込手段;データの書込を指示するコントロール信号の中継のために、半導体デバイスに含まれる全てのレジスタ毎に設けられる複数の中継手段;これらの中継手段のうちの1つにコントロール信号を伝送する個別書込制御手段;コントロール信号を全ての中継手段に伝送する一括伝送手段;の各手段が含まれる。
フラグデータ記憶手段の各ビットのデータはそれぞれ対応するレジスタの中継手段に選択制御信号として入力され、フラグデータ書込手段および一括伝送手段には、それぞれ複数のレジスタのいずれにも対応しない固有のアドレスが割り当てられる。複数ビット構成のデータ信号は複数のレジスタおよびフラグデータ書込手段に伝送され、コントロール信号およびアドレス信号は、個別書込制御手段、一括伝送手段、およびフラグデータ書込手段に伝送される。
個別書込制御手段は、複数のレジスタのうちのいずれか1つを指定するアドレス信号を受け付けたことに応じて、そのアドレスに対応するレジスタ用の中継装置に、アドレス信号に対応するタイミングで受け付けたコントロール信号を伝送する。フラグデータ書込手段は、当該手段に割り当てられたアドレス信号を受け付けたことに応じて、そのアドレス信号に対応するタイミングで受け付けたデータ信号をフラグデータとしてフラグデータ記憶手段に書き込む。一括伝送手段は、当該手段に割り当てられたアドレス信号を受け付けたことに応じて、そのアドレス信号に対応するタイミングで受け付けたコントロール信号を全てのレジスタに伝送する。
各中継手段は、個別書込制御手段からコントロール信号を受け付けたときは、この信号を中継対象のレジスタに無条件で中継する一方、一括伝送手段から制御信号を受け付けたときは、フラグデータ記憶手段からの選択制御信号がオン状態であることを条件として、コントロール信号の中継を行う。
上記において、個別書込制御手段は、各レジスタに対応する複数のデータポートを有し、これらのポートとレジスタとの間に中継手段が設けられているのが望ましい。たとえば、従来のSRAMインターフェースに組み込まれていたのと同機能のアドレスデコーダを個別書込制御手段として使用することができる。
一方、一括伝送手段は、すべての中継手段に共通のデータポートを具備するものであるのが望ましい。
個別書込制御手段は、いずれか1のレジスタを指定するアドレス信号を受け付けたことに応じて、その指定されたレジスタに対応する中継手段にコントロール信号を伝送する。このコントロール信号はレジスタに無条件に中継されるので、書込先のレジスタのみにコントロール信号が与えられ、データの書込が行われる。
なお、書込対象のレジスタを指定するアドレス信号は、レジスタそのもののアドレスの指定に限らず、レジスタに対応するデータポートのアドレスを指定するものであってもよい。
フラグデータ書込手段に割り当てられたアドレスを示すアドレス信号が送信された場合には、そのアドレス信号に対応するタイミングで送信されたデータ信号は、フラグデータ書込手段により、フラグデータとしてフラグデータ記憶手段に格納され、各中継手段にフラグデータ中の対応するビットのデータが選択制御信号として入力される。
一括伝送手段に割り当てられたアドレスを示すアドレス信号が送信された場合には、一括伝送手段からすべての中継手段にコントロール信号が伝送される。しかし、この場合には、フラグデータ記憶手段からオン状態の選択制御信号が入力されている中継手段のみがコントロール信号を中継するので、書込対象のレジスタにのみ制御信号が与えられ、データを正しく書き込むことが可能になる。
上記の書込制御装置を使用する場合には、たとえば、各レジスタに書き込まれるデータを、いずれか1のレジスタにのみ書き込まれるデータと、2以上のレジスタに共通に書き込まれるデータとに分ける。そして、前者のデータについては、書込先のレジスタのアドレスを指定して書込対象のデータを送信することにより、書込先のレジスタにのみデータを書き込む。一方、後者のデータについては、データ入力に先立ち、書込先のレジスタに対応するフラグをオン状態にし、その他のフラグをオフ状態にしたフラグデータによるデータ信号を入力すると共に、フラグデータ書込手段に割り当てられたアドレスを指定することにより、フラグデータをフラグデータ記憶手段に格納しておく。この後に、一括伝送手段に割り当てられたアドレスを指定して書込対象のデータを入力することにより、書込対象となっているすべてのレジスタに一括でデータを書き込むことができる。
この発明にかかる演算装置は、ゲートアレイと、それぞれ固有のアドレスが割り当てられたレジスタが複数含まれ、各レジスタにより前記ゲートアレイに設定する回路情報が格納されるメモリと、書込制御装置とを有する。
書込制御装置は、前記したのと同様の構成を有するので、回路情報の書き換えが必要になった場合でも、書き換えを短時間で行うことができ、処理を高速化することが可能になる。
この発明によれば、半導体デバイスに書き込まれるデータのうち、2以上のレジスタに共通で書き込まれるデータについては、各レジスタに一括で書込を行うことが可能になるので、データの書込に要する時間を大幅に短縮することが可能になる。
図1は、この発明が適用された演算システムの構成を示す。
この演算システムは、画像処理装置、光学系センサのコントローラなどに組み込まれて、その装置の目的に応じた処理を実行するためのもので、マイクロコンピュータ100および動的再構成(ダイナミック・リコンフィギュラブル)の機能を有する演算装置200により構成される。
マイクロコンピュータ100には、CPU11および不揮発性のメモリ12(EEPROMなど)が含まれる。以下では、このメモリ12を、演算装置のメモリと区別するために、「メインメモリ12」と呼ぶ。
前記演算装置200は、1枚の半導体チップであって、ゲートアレイ22、回路情報を格納するための4個のメモリM0.M1,M2,M3、マルチプレクサ21、および各メモリM0〜M3に対する書込制御回路20が設けられる。
前記メインメモリ12には、CPU11の動作に必要なプログラムのほかに、ゲートアレイ22に設定する回路の回路情報が4種類以上格納される。なお、回路情報はメインメモリ12から読み出すものに限らず、外部装置から回路情報の伝送を受けることも可能である。
装置の電源が立ち上げられると、CPU11は、メインメモリ12から4種類の回路情報を読み出して、それぞれをメモリM0〜M3に書き込む。この後、4つのメモリM0〜M3のいずれかをゲートアレイ22に接続して最初の回路を構成し、その回路による処理を実行する。
さらに、CPU11は、適宜、マルチプレクサ21に選択制御信号を与えてゲートアレイ22に接続されるメモリを切り替える。この切替処理により、ゲートアレイ22が構成する回路は瞬時に変更される。
また、5以上の回路を構成する必要がある場合には、CPU11は、処理の終了した回路に対応するメモリを新たな回路情報により書き換えた後に、そのメモリを再度ゲートアレイ22に接続する。
回路情報を書き込む際には、CPUは、従来のSRAMに対する書込制御と同様に、書込対象のデータを、アドレス信号およびCS,OE,WEの各コントロール信号とともに送信する。ただし、この実施例では、従来のように、メモリに含まれるレジスタ毎にデータを送信するのではなく、2以上のレジスタに共通に書き込まれるデータについて、書込先のすべてのレジスタにデータを同時に書き込むようにしている。
以下、この書込制御について詳細に説明する。
図2は、演算装置200内の書込制御回路20の構成を示す。なお、この図では、説明の便宜上、4個のメモリM0〜M1のうちの1番目のメモリM0に対する書込制御のための構成のみを示す。またこのメモリM0には、256個のレジスタReg_0〜Reg_255が含まれ、これらのレジスタReg_0〜Reg_255に、それぞれ32ビットのデータが格納されるものとする。
また、図2では、各レジスタReg_0〜Reg_255について、データ(Data)およびWE信号の入力ラインを示している。その他のコントロール信号CS,OEの入力については図示を省略しているが、いずれもWE信号とともに同一のレジスタに伝送される。
この書込制御装置20には、書込対象のデータをメモリM0に中継するための信号ライン22が設けられるほか、書込先のレジスタを指定する手段として、個別アドレスデコーダ23および一括ライト用データポート24が設けられる。
さらに、書込制御装置20には、前記メモリM0の各レジスタReg_0〜Reg_255にコントロール信号を中継する手段として、レジスタ毎にマルチプレクサM〜M255が設けられる。また、これらマルチプレクサM〜M255の動作を制御するために、8個のフラグデータレジスタ250〜257と、これらのレジスタ250〜257に対応する8個のデータポート(フラグデータポート)260〜267とが設けられる(図2では、紙面の都合により、1番目と8番目のレジスタ250,257およびデータポート260,267のみを示している。)。個々のフラグデータレジスタには32ビットのデータが格納されるので、8個のフラグデータレジスタ250〜257により、256ビット分のデータを格納することができる。
なお、フラグデータも、メモリM0に書き込まれるデータが伝送されるのと同一のデータバスから伝送され、フラグデータポート260〜267を介してフラグデータレジスタ250〜257に与えられる。
各フラグデータレジスタ250〜257に格納されるフラグデータの各ビットは、それぞれメモリM0側のレジスタReg_0〜Reg_255に対応するもので、その対応するレジスタにデータを書き込むかどうかを示すフラグとして機能する。
たとえば、1番目のフラグデータレジスタ250には、レジスタReg_0〜Reg_31に対応するフラグf〜f31が格納される。また8番目のフラグデータレジスタ257には、レジスタReg_224〜Reg_255に対応するフラグf224〜f255が格納される。
個別アドレスデコーダ23には、レジスタReg_0〜Reg_255にそれぞれ対応する256個の入力ポートP〜P255(図3に示す。以下、これらを「個別ライト用データポート」という。)が設けられている。一方、一括ライト用データポート24は、各レジスタReg_0〜Reg_255に共通の入力ポートとして機能する。
上記の個別ライト用データポートP〜P255、一括ライト用データポート24、および各フラグデータポート250〜257には、図3に示すように、それぞれ個別のアドレス(左側の16進表示)が割り当てられている。
CPU11は、データを送信する際には、そのデータおよびコントロール信号とともに、これらのデータポートのうちのいずれかのアドレスを表すアドレス信号を送信する(以下、このアドレス信号の送信を「アドレスの指定」という。)。
具体的には、メモリM0に書き込むべきデータを送信する場合には、個別ライト用データポートP〜P255および一括ライト用データポート24のアドレスのうちのいずれか1つが指定される。個別ライト用データポートP〜P255のアドレスが指定された場合には、個別アドレスデコーダ23が作動して、CPU11から送信されたコントロール信号を指定されたアドレスのポートから送出する。一括ライト用データポート24のアドレスが指定された場合には、個別アドレスデコーダ23は動作せず、アドレスの指定を受けた一括ライト用データポート24からコントロール信号が送出される。
一方、フラグデータを送信する場合には、CPU11は、フラグデータを32ビット単位のデータに切り分けて8回の送信を行うとともに、各フラグデータポート260〜267のアドレスを順に指定する。アドレスの指定を受けたフラグデータポート260〜267は、対応するフラグデータレジスタ250〜257にフラグデータおよびコントロール信号を伝送する。これにより、各フラグデータレジスタ250〜257に、それぞれ前記したフラグf〜f255が格納される。
個別ライト用データポートP〜P255から送出されたコントロール信号は、そのポートに対応する特定のレジスタのマルチプレクサM〜M255に入力される。一方、一括ライト用データポート24から送出されたコントロール信号は、すべてのマルチプレクサM〜M255に入力される。さらに、フラグデータレジスタ250〜257に格納されたフラグf〜f255は、それぞれそのフラグに対応するレジスタ用のマルチプレクサM〜M255に、選択制御信号として与えられる。
各マルチプレクサM〜M255は、個別ライト用データポートP〜P255からのコントロール信号がオン(ハイレベル)の場合には、この信号を対応するレジスタに無条件に中継するが、一括ライト用データポート24からのコントロール信号がオンの場合には、選択制御信号が「1」のときのみ、コントロール信号の中継を行うように構成される。
よって、個別ライト用データポートP〜P255のいずれかのアドレスが指定された場合には、レジスタReg_0〜Reg_255のうち、指定されたポートに対応するレジスタのみにコントロール信号が与えられて、データの排他的な書込が行われる。一方、一括ライト用データポート24のアドレスが指定された場合には、フラグが「1」にセットされている任意数のレジスタにコントロール信号が与えられるので、複数のレジスタに同時にデータを書き込むことが可能になる。
この実施例では、メモリM0〜M1に書き込む回路情報をあらかじめ分析し、特定の1レジスタにのみ書き込まれるデータと、2以上のレジスタに重複して書き込まれるデータとにグループ分けする。前者のグループのデータについては、CPU11により書込先のレジスタに対応する個別データライトポートのアドレスを指定することにより、当該レジスタのみにデータを書き込む(以下、この処理を「個別ライト処理」という。)。一方、後者のグループのデータについては、CPU11は、フラグデータの送信を行った後に、一括ライト用データポート24のアドレスを指定して書込対象のデータを送信する(以下、この処理を「一括ライト処理」という。)。
図4(1)は、一括ライト処理の対象となるデータとその書込先のアドレス(ここでは個別ライト用データポートのアドレスではなく、メモリM0のアドレスを示す。)とを対応づけて示す。なお、この例では、図示を簡単にするために、先頭から8番目までの各レジスタ(Reg_0〜Reg_7)に2種類のデータ「0008」および「000A」のいずれかが書き込まれるものとしている。また、この図4(1)では、データを16ビット構成として16進表記で示している。
図4(1)によれば、2種類のデータはいずれも複数のレジスタに書き込まれるため、図4(2)に示すように、データ毎にフラグデータが作成される。なお、このフラグデータでは、下位から上位に向かう方向をアドレスの昇順に対応させている(すなわち、最下位のビットがアドレス0×0に対応し、最上位のビットがアドレス0×7に対応する。)。また、この例では8ビットのフラグデータを作成しているが、実際には、図2のフラグデータレジスタ250〜257に合わせて32ビット単位のフラグデータが作成される。
この実施例では、複数のレジスタに重複して書き込まれるデータについて、あらかじめ図4(2)に示すようなテーブル(以下、「一括ライト用テーブル」という。)を作成してメインメモリ12に格納している。また、図示はしていないが、個別ライト処理の対象のデータについても、そのデータと書込先のレジスタのアドレスとを対応づけたテーブル(以下、「個別ライト用テーブル」という。)を作成し、メインメモリ12に格納する。
なお、これらのテーブルは、CPU11により作成してもよいが、これに限らず、外部装置から送信してもよい。
CPU11は、これらのテーブルを用いて図5に示すような処理を実行することにより、メモリM0〜M3に対する書込処理を実行する。
図5は、1つのメモリに対応する書込処理の流れを示す。最初のステップ1では、書込のタイミングになったかどうかを判断する。装置に電源が投入されたとき、または処理が進行した段階で回路の再構成のための書き換えが必要になったとき、このステップ1が「YES」となり、ステップ2以下に進む。
ステップ2では、一括ライト用テーブルから最初の書込対象のデータに対応するフラグデータを読み出し、これを演算装置200に送信する。この処理では、前記したように、フラグデータを32ビット単位のデータに分割し、指定アドレスを切り替えながら8回の送信を行う。この処理により、各フラグレジスタ250〜257にフラグf〜f255がセットされる。
つぎのステップ3では、一括ライト用データポート24のアドレス(0×0200)を指定して、書込対象のデータを送信する。この送信により、データを書き込むべきレジスタのみに書込対象のデータが書き込まれる。
以下、同様に、一括ライト用テーブルに格納されたデータについて、ステップ2,3の処理を実行する。この結果、一括ライト処理を行うべきすべてのデータについての処理が完了すると、ステップ4が「YES」となってステップ5に進む。
ステップ5では、個別ライト用テーブルから、個別ライトの対象のデータおよび書込先のアドレスを読み出す。そして、アドレスについて、図示しない変換テーブルを用いて、対応する個別ライト用データポートのアドレスを特定した後、その特定したアドレスを指定して書込対象のデータを送信する。これにより、このデータは個別ライト用テーブルに格納されたアドレスのレジスタに書き込まれる。
以下、同様に、個別ライト用テーブルに格納されたデータについて、ステップ5を実行する。すべてのデータに対する処理が終了すると、ステップ6が「YES」となり、一連の書込制御が終了する。
上記の実施例において、一括ライト処理を行う場合には、CPU11は、ステップ2で8回、ステップ3で1回、計9回のデータ送信処理を実行する必要がある。これに対し、個別ライト処理を行う場合には、フラグデータを送信する必要はないので、データ送信を1回行うだけで書込を行うことができる。
しかし、同一のデータが10個以上のレジスタに書き込まれる場合には、これらのレジスタ毎に個別ライト処理を行うよりも一括ライト処理を行った方が処理時間が短くなる。しかも、個別ライト処理にかかる時間が、書込対象のレジスタの数に比例して増大するのに対し、一括ライト処理では、書込対象のレジスタが増えても、処理時間は全く変わらない。よって、同一のデータが書き込まれる場合には、個別ライト処理に比べ、格段に処理時間を短くすることができる。
一般にPLDが構成する回路には、同一構成の回路(たとえば8ビットカウンタ)が多数含まれることが多い。したがって、これら同一構成の回路に対応するレジスタに対し、上記の一括ライト処理を行うようにすれば、回路情報の書込に要する時間を大幅に短縮することが可能になる。したがって、電源立ち上げに伴う起動時間も大幅に短縮することができる。
また、メモリの設定数(4個)を越える数の回路を構成するために、途中でメモリの内容を書き換える場合にも、その書き換えに要する時間を大幅に短縮することができるので、回路の再構成による処理の遅延を防止することができる。
さらに上記した書込制御回路20は、上記実施例のような動的再構成型のLSIに限らず、一般的なFPGAに対する書込制御も適用することができる。さらに、組み込み機器用の演算装置に限らず、一般のメモリ装置に対する書込制御や、液晶表示装置などの複数の記憶素子を有する半導体デバイスに対する書込制御にも適用することができる。
この発明にかかる演算装置が組み込まれたシステムの構成例を示すブロック図である。 書込制御回路の詳細な構成を示すブロック図である。 各データポートへのアドレスの割り付け例を示す説明図である。 書込対象のデータとアドレスとの対応関係を示すテーブル、およびこの対応関係から導き出される一括ライト用テーブルを示す説明図である。 データ書込処理の流れを示すフローチャートである。 SRAMインターフェースにおけるデータ転送のタイミングチャートである。
符号の説明
M0〜M3 メモリ
Reg_0〜Reg_255 レジスタ
〜M255 マルチプレクサ
〜P255 個別ライト用データポート
11 CPU
20 書込制御回路
22 ゲートアレイ
23 個別アドレスデコーダ
24 一括ライト用データポート
250〜257 フラグデータレジスタ
200 演算装置

Claims (4)

  1. 固有のアドレスが割り当てられたレジスタが複数含まれる半導体デバイスの各レジスタにそれぞれ所定のデータを書き込むための方法であって、
    前記複数のレジスタ毎に、データの書込を指示するコントロール信号を当該レジスタに中継するための中継手段を設け、
    前記複数の中継手段のうちの1つにコントロール信号を伝送する個別書込制御手段と、全ての中継手段にコントロール信号を伝送する一括伝送手段とを設け、
    各レジスタにつき1ビットのフラグが各レジスタのアドレス順に配列された複数ビット構成のフラグデータを格納するためのフラグデータ記憶手段と、このフラグ記憶手段にフラグデータを書き込むフラグデータ書込手段とを設けるとともに、前記フラグデータ記憶手段の各ビットのデータが、それぞれ対応するレジスタの中継手段に選択制御信号として入力されるように設定し、
    各中継手段を、前記個別書込制御手段からコントロール信号を受け付けたときは、この信号を中継対象のレジスタに無条件で中継する一方、前記一括伝送手段からコントロール信号を受け付けたときは、前記フラグ記憶手段からの選択制御信号がオン状態であることを条件として前記コントロール信号の中継を行うように設定し、
    前記フラグデータ書込手段および一括伝送手段に、それぞれ複数のレジスタのいずれにも対応しない固有のアドレスを割り当て、
    複数ビット構成のデータ信号を前記複数のレジスタおよびフラグデータ書込手段に伝送し、データの書込先を指定するためのアドレス信号および前記コントロール信号を個別書込制御手段、一括伝送手段、およびフラグデータ書込手段に伝送し、
    各レジスタのうちのいずれか1つにのみデータを書き込む場合には、書込対象のデータを示すデータ信号を送信すると共に、書込先のレジスタを指定するアドレス信号を送信することにより、個別書込制御手段から書込先のレジスタに対応する中継手段にコントロール信号が伝送されるようにし、
    2以上のレジスタに共通のデータを書き込む場合には、
    書込先の各レジスタに対応するフラグをオン状態にし、その他のフラグをオフ状態にしたフラグデータを示すデータ信号を送信すると共に、前記フラグデータ書込手段に割り当てられたアドレスを示すアドレス信号を送信することにより、フラグデータ書込手段に前記フラグ記憶手段へのフラグデータの書き込みを行わせる第1ステップと、
    書込対象のデータを示すデータ信号を送信すると共に、前記一括伝送手段に割り当てられたアドレスを示すアドレス信号を送信することにより、一括伝送手段から全ての中継手段にコントロール信号を伝送させる第2ステップとを、順に実行することを特徴とするデータ書込方法。
  2. 固有のアドレスが割り当てられたレジスタが複数含まれる半導体デバイスの各レジスタにそれぞれ所定のデータを書き込むための装置であって、
    複数ビット構成のデータ信号を、データの書込先を指定するためのアドレス信号およびデータの書込を指示するコントロール信号と共に入力する入力手段;
    各レジスタにつき1ビットのフラグが各レジスタのアドレス順に配列された複数ビット構成のフラグデータを格納するためのフラグデータ記憶手段;
    前記フラグデータ記憶手段にフラグデータを書き込むフラグデータ書込手段;
    前記データの書込を指示するコントロール信号の中継のために、前記半導体デバイスに含まれる全てのレジスタ毎に設けられる複数の中継手段;
    前記複数の中継手段のうちの1つにコントロール信号を伝送する個別書込制御手段;
    前記コントロール信号を全ての中継手段に伝送する一括伝送手段;の各手段が設けられており、
    前記フラグデータ記憶手段の各ビットのデータは、それぞれ対応するレジスタの中継手段に選択制御信号として入力されており、
    前記フラグデータ書込手段および一括伝送手段には、それぞれ複数のレジスタのいずれにも対応しない固有のアドレスが割り当てられ、
    前記複数ビット構成のデータ信号は前記複数のレジスタおよびフラグデータ書込手段に伝送され、前記コントロール信号およびアドレス信号は個別書込制御手段、一括伝送手段、およびフラグデータ書込手段に伝送され、
    前記個別書込制御手段は、前記複数のレジスタのうちのいずれか1つを指定するアドレス信号を受け付けたことに応じて、そのアドレスに対応するレジスタ用の中継手段に、前記アドレス信号に対応するタイミングで受け付けたコントロール信号を伝送し、
    前記フラグデータ書込手段は、当該手段に割り当てられたアドレス信号を受け付けたことに応じて、そのアドレス信号に対応するタイミングで受け付けたデータ信号をフラグデータとしてフラグデータ記憶手段に書き込み、
    前記一括伝送手段は、当該手段に割り当てられたアドレス信号を受け付けたことに応じて、そのアドレス信号に対応するタイミングで受け付けたコントロール信号を全てのレジスタに伝送し、
    各中継手段は、前記個別書込制御手段からコントロール信号を受け付けたときは、この信号を中継対象のレジスタに無条件で中継する一方、前記一括伝送手段からコントロール信号を受け付けたときは、前記フラグデータ記憶手段からの選択制御信号がオン状態であることを条件として、前記コントロール信号の中継を行う、書込制御装置。
  3. 前記フラグ記憶手段は、前記データ信号のビット数と同容量のデータが格納されるレジスタを複数有し、
    前記フラグデータ書込手段は、フラグ記憶手段の各レジスタに対応する複数のデータポートを有すると共に、各データポートにそれぞれ固有のアドレスが割り当てられ、
    各データポートは、それぞれ自ポートに割り当てられたアドレスを示すアドレス信号を受け付けたことに応じて、そのアドレス信号に対応するタイミングで受け付けたデータ信号を対応するレジスタに格納する、請求項2に記載された書込制御装置。
  4. ゲートアレイと、固有のアドレスが割り当てられたレジスタが複数含まれ、各レジスタに前記ゲートアレイに設定する回路情報が格納されるメモリと、前記メモリへの回路情報の書込を制御する書込制御装置とを具備する演算装置であって、
    前記書込制御装置は、
    複数ビット構成のデータ信号を、データの書込先を指定するためのアドレス信号およびデータの書込を指示するコントロール信号と共に入力する入力手段;
    各レジスタにつき1ビットのフラグが各レジスタのアドレス順に配列された複数ビット構成のフラグデータを格納するためのフラグデータ記憶手段;
    前記フラグデータ記憶手段にフラグデータを書き込むフラグデータ書込手段;
    前記データの書込を指示するコントロール信号の中継のために、前記メモリに含まれる全てのレジスタ毎に設けられる複数の中継手段;
    前記複数の中継手段のうちの1つにコントロール信号を伝送する個別書込制御手段;
    前記コントロール信号を全ての中継手段に伝送する一括伝送手段;の各手段が設けられており、
    前記フラグデータ記憶手段の各ビットのデータは、それぞれ対応するレジスタの中継手段に選択制御信号として入力されており、
    前記フラグデータ書込手段および一括伝送手段には、それぞれ複数のレジスタのいずれにも対応しない固有のアドレスが割り当てられ、
    前記複数ビット構成のデータ信号は前記複数のレジスタおよびフラグデータ書込手段に伝送され、前記コントロール信号およびアドレス信号は個別書込制御手段、一括伝送手段、およびフラグデータ書込手段に伝送され、
    前記個別書込制御手段は、前記複数のレジスタのうちのいずれか1つを指定するアドレス信号を受け付けたことに応じて、そのアドレスに対応するレジスタ用の中継手段に、前記アドレス信号に対応するタイミングで受け付けたコントロール信号を伝送し、
    前記フラグデータ書込手段は、当該手段に割り当てられたアドレス信号を受け付けたことに応じて、そのアドレス信号に対応するタイミングで受け付けたデータ信号をフラグデータとしてフラグデータ記憶手段に書き込み、
    前記一括伝送手段は、当該手段に割り当てられたアドレス信号を受け付けたことに応じて、そのアドレス信号に対応するタイミングで受け付けたコントロール信号を全てのレジスタに伝送し、
    各中継手段は、前記個別書込制御手段からコントロール信号を受け付けたときは、この信号を中継対象のレジスタに無条件で中継する一方、前記一括伝送手段からコントロール信号を受け付けたときは、前記フラグデータ記憶手段からの選択制御信号がオン状態であることを条件として、前記コントロール信号の中継を実行するように構成される、演算装置。
JP2007060454A 2007-03-09 2007-03-09 データ書込方法およびその方法を用いた書込制御装置ならびに演算装置 Active JP4978962B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007060454A JP4978962B2 (ja) 2007-03-09 2007-03-09 データ書込方法およびその方法を用いた書込制御装置ならびに演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007060454A JP4978962B2 (ja) 2007-03-09 2007-03-09 データ書込方法およびその方法を用いた書込制御装置ならびに演算装置

Publications (2)

Publication Number Publication Date
JP2008225662A JP2008225662A (ja) 2008-09-25
JP4978962B2 true JP4978962B2 (ja) 2012-07-18

Family

ID=39844238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007060454A Active JP4978962B2 (ja) 2007-03-09 2007-03-09 データ書込方法およびその方法を用いた書込制御装置ならびに演算装置

Country Status (1)

Country Link
JP (1) JP4978962B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6786955B2 (ja) 2016-08-25 2020-11-18 富士ゼロックス株式会社 再構成可能論理回路

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6376041A (ja) * 1986-09-19 1988-04-06 Fujitsu Ltd 複数ポ−トに対するデ−タのリ−ド,ライト方式
JPH02136921A (ja) * 1988-11-18 1990-05-25 Hitachi Ltd レジスタアクセス方式
JPH03137753A (ja) * 1989-10-24 1991-06-12 Canon Inc アクセス制御装置
JPH0462648A (ja) * 1990-07-02 1992-02-27 Hitachi Ltd 記憶装置
JPH04215161A (ja) * 1990-12-13 1992-08-05 Nec Eng Ltd I/oポート制御方式
JPH10207705A (ja) * 1997-01-28 1998-08-07 Denso Corp 半導体記憶装置及びマイクロコンピュータ
JP2000298664A (ja) * 1999-04-14 2000-10-24 Mitsubishi Electric Corp シングルチップマイクロコンピュータ

Also Published As

Publication number Publication date
JP2008225662A (ja) 2008-09-25

Similar Documents

Publication Publication Date Title
US7822958B1 (en) Booting mechanism for FPGA-based embedded system
US6011407A (en) Field programmable gate array with dedicated computer bus interface and method for configuring both
US9673824B2 (en) Techniques and circuitry for configuring and calibrating an integrated circuit
EP0967723A2 (en) Programmable pin designation for semiconductor devices
JP6113964B2 (ja) 動的ポート優先割当能力を有しているメモリコントローラー
KR20140081809A (ko) 마이크로컨트롤러용 가상 범용 입력/출력
US11379402B2 (en) Secondary device detection using a synchronous interface
US20060001445A1 (en) Programmable logic block for designing an asynchronous circuit
US11409679B2 (en) System component and use of a system component
JP6175788B2 (ja) マイクロプログラムを更新可能な電子機器
US7675931B1 (en) Methods and apparatus for controlling multiple master/slave connections
JP4978962B2 (ja) データ書込方法およびその方法を用いた書込制御装置ならびに演算装置
JP2003044303A (ja) コンピュータ装置
JP4051008B2 (ja) 半導体装置
CN112685349B (zh) 可变位宽的位操作控制系统及方法
JP4837372B2 (ja) 情報記憶装置
US7010666B1 (en) Methods and apparatus for memory map generation on a programmable chip
JP2007148622A (ja) インターフェース設定方法
JP2009086830A (ja) メモリコントローラ
JP7566649B2 (ja) リモートi/o装置及び監視制御盤
US7868654B1 (en) Reading an external memory device to determine its interface characteristics for configuring a programmable logic device
US20090108928A1 (en) Large-scale integrated circuit
TW201939897A (zh) 可程式邏輯電路的平行配置方法
JP2003288316A (ja) マイクロコンピュータ装置、入出力装置および半導体装置
JP2012243086A (ja) 半導体集積回路装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111102

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120411

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

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4978962

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250