(57)【要約】【課題】データの書き込みに要する処理時間を大幅に削減する。  【解決手段】レジスタＲｅｇ＿０〜Ｒｅｇ＿２５５に、それぞれマルチプレクサＭ０〜Ｍ２５５を介してコントロール信号を中継するとともに、各マルチプレクサＭ０〜Ｍ２５５に、それぞれフラグデータレジスタ２５０〜２５７に格納した各フラグｆ０〜ｆ２５５を選択制御信号として入力する。メモリＭ０の２以上のレジスタに同一のデータを書き込む際には、書込み対象のレジスタに対応するフラグを「１」とするフラグデータをフラグデータレジスタ２５０〜２５７に格納した後に、書込み対象のデータを送信する。このデータと同時に送信されたコントロール信号は、一括ライトデータポート２４から全てのマルチプレクサＭ０〜Ｍ２５５に与えられるが、フラグデータレジスタから「１」の選択制御信号が入力されたマルチプレクサのみが、対応するレジスタにコントロール信号を中継する。【選択図】図２
2008225662.tif 000002
【特許請求の範囲】
【請求項１】
固有のアドレスが割り当てられたレジスタが複数含まれる半導体デバイスの各レジスタにそれぞれ所定のデータを書き込むための方法であって、
前記複数のレジスタ毎に、データの書込を指示するコントロール信号を当該レジスタに中継するための中継手段を設け、
各レジスタにつき１ビットのフラグが各レジスタのアドレス順に配列されたフラグデータを格納するためのフラグデータ記憶手段を設けるとともに、このフラグデータ記憶手段の各ビットのデータが、それぞれ対応するレジスタの中継手段に選択制御信号として入力されるように設定し、
各レジスタに書き込まれるデータのうち、いずれか１のレジスタにのみ書き込まれるデータについては、そのデータをメモリに送信するのに合わせて書込先のレジスタに対応する中継手段に前記コントロール信号を無条件で中継させ、
２以上のレジスタに共通に書き込まれるデータについては、書込先の各レジスタに対応するフラグをオン状態にし、その他のフラグをオフ状態にしたフラグデータを作成して前記フラグデータ記憶手段に格納した後に、各中継手段のうち、前記フラグデータ記憶手段からオン状態の選択制御信号が入力されている中継手段にコントロール信号を中継させる、ことを特徴とするデータ書込方法。
【請求項２】
固有のアドレスが割り当てられたレジスタが複数含まれる半導体デバイスの各レジスタにそれぞれ所定のデータを書き込むための装置であって、
書込対象のデータを入力するとともに、所定のアドレスの指定を受け付ける第１の入力手段；
各レジスタにつき１ビットのフラグが各レジスタのアドレス順に配列されたフラグデータを入力する第２の入力手段；
前記データの書込を指示するコントロール信号の中継のために、前記半導体デバイスに含まれる全てのレジスタ毎に設けられる複数の中継手段；
前記第１の入力手段が複数のレジスタのうちのいずれか１つのアドレスの指定を受け付けたとき、その指定されたアドレスのレジスタに対応する中継手段に前記コントロール信号を伝送する個別書込御手段；
前記第１の入力手段が前記複数のレジスタのいずれにも対応していない特定のアドレスの指定を受け付けたとき、前記コントロール信号を全ての中継手段に伝送する一括書込制御手段；
前記第２の入力手段から入力されたフラグデータを格納するためのフラグデータ記憶手段；の各手段が含まれており、
前記フラグデータ記憶手段の各ビットのデータは、それぞれ対応するレジスタの中継手段に選択制御信号として入力されており、
各中継手段は、前記個別伝送制御手段からコントロール信号を受け付けたときは、この信号を中継対象のレジスタに無条件で中継する一方、前記一括伝送制御手段からコントロール信号を受け付けたときは、前記フラグデータ記憶手段からの選択制御信号がオン状態であることを条件として、前記コントロール信号の中継を行う、書込制御装置。
【請求項３】
前記一括書込制御手段は、前記第１の入力手段が当該一括書込制御手段に割り当てられたアドレスの指定を受け付けたことに応じて、前記コントロール信号を全ての中継手段に伝送する請求項２に記載された書込制御装置。
【請求項４】
ゲートアレイと、固有のアドレスが割り当てられたレジスタが複数含まれ、各レジスタに前記ゲートアレイに設定する回路情報が格納されるメモリと、前記メモリへの回路情報の書込を実行する書込制御装置とを具備する演算装置であって、
前記書込制御装置は、
書込対象のデータを入力するとともに、所定のアドレスの指定を受け付ける第１の入力手段；
各レジスタにつき１ビットのフラグがレジスタのアドレス順に配列されたフラグデータを入力する第２の入力手段；
前記データの書込を指示するコントロール信号の中継のために、前記メモリに含まれる全てのレジスタ毎に設けられる複数の中継手段；
前記第１の入力手段が複数のレジスタのうちのいずれか１つのアドレスの指定を受け付けたとき、その指定されたアドレスのレジスタに対応する中継手段に前記コントロール信号を伝送する個別書込御手段；
前記第１の入力手段が前記複数のレジスタのいずれにも対応していない特定のアドレスの指定を受け付けたとき、前記コントロール信号を全ての中継手段に伝送する一括書込制御手段；
前記第２の入力手段から入力されたフラグデータを格納するためのフラグデータ記憶手段；の各手段が含まれており、
前記フラグデータ記憶手段の各ビットのデータは、それぞれ対応するレジスタの中継手段に選択制御信号として入力されており、
各中継手段は、前記個別伝送制御手段からコントロール信号を受け付けたときは、この信号を中継対象のレジスタに無条件で中継する一方、前記一括伝送制御手段からコントロール信号を受け付けたときは、前記フラグデータ記憶手段からの選択制御信号がオン状態であることを条件として、前記コントロール信号の中継を実行するように構成される、演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、固有のアドレスが割り当てられたレジスタが複数含まれる半導体デバイスの各レジスタにそれぞれ所定のデータを書き込むための方法、およびその方法が適用された書込制御装置ならびに演算装置に関する。
【背景技術】
【０００２】
プログラマブル・ロジック・デバイス（Programmable Logic Device；以下、略してＰＬＤという。）は、ソフトウェアにより構築された回路情報によって構成が定められるデバイスである。ＰＬＤは、従来の専用ＩＣほどにコストがかからず、他品種少量生産に容易に対応できるため、種々の組み込み機器に導入されるケースが増えている。
【０００３】
代表的なＰＬＤとして、ＦＰＧＡ（Field Programmable Gate Array）がある。近年では、複雑な構成の回路にも対応できるように、大容量のメモリを内蔵したＦＰＧＡも開発されている。このメモリの回路情報は、外部からのデータ伝送により適宜書き換えることができる（特許文献１参照。）。
【０００４】
【特許文献１】特開平１０−１３５８１９号公報
【０００５】
さらに、回路構成情報を格納するためのメモリを複数具備し、使用するメモリを切り替えることによって、瞬時に回路を再構成することが可能なＬＳＩ（ダイナミック・リコンフィギュラブルＬＳＩ）も開発されている。この種のＬＳＩを用いれば、外部から回路情報を伝送することなく、複数種の処理を高速で切り替えながら実行することができる（非特許文献１参照。）。
【０００６】
【非特許文献１】谷澤  哲、「ダイナミックリコンフィギュラブルＬＳＩ」、雑誌ＦＵＪＩＴＳＵ  ２００４−１１月号、ｐ．５８６−５９５
【０００７】
動的再構成型のＬＳＩによれば、たとえば画像処理について、エッジ抽出等の前処理、特徴抽出、計測、判別などの処理を、１つのチップで実行することが可能になる。また、目的に応じて所定の処理の回路構成のみを変更する場合にも、簡単に対応することが可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ＦＰＧＡに複数の処理を切り替えて実行させるには、実行中の処理を終了した後に、外部からつぎの処理のための回路情報を読み込んで、メモリの内容を書き換える必要がある。動的再構成の機能を有するＬＳＩであっても、実行すべき処理の数がメモリの数を上回る場合には、同様に、一連の処理の途中で新しい回路情報によりメモリを書き換える必要がある。
【０００９】
上記のメモリに対する回路情報の伝送は、前出の特許文献１に記載されているように、従来はＪＴＡＧなどのシリアル方式により実行されていた。しかし、シリアル方式のデータ伝送では時間が長くなるため、近年では、ＳＲＡＭインターフェースで実行されるのと同様のデータ伝送によって、アドレス単位でデータを書き換えることが提案されている。
【００１０】
図６は、ＳＲＡＭインターフェースにおけるデータ転送処理の流れを示す。
データの送信元では、データおよびその書込先を指定するアドレス信号を、ＣＳ（チップセレクト），ＯＥ（アウトプットイネーブル），ＷＥ（ライトイネーブル）の３種類の制御信号とともに伝送する。ＳＲＡＭインターフェースでは、メモリにデータを伝送する一方で、アドレス信号に基づき、メモリに含まれる複数のレジスタの中から書込対象のレジスタを特定し、そのレジスタに各コントロール信号を中継する。このコントロール信号を受けたレジスタでは、ＯＥ信号およびＷＥ信号の立ち上がりに応じてデータの書込を実施する。
図中、ＴＷＣは１つのデータの伝送に要する時間であり、ＴＤはデータの実質的な送信・書込が行われる期間（データのセットアップ期間およびホールド期間を含む。）である。
【００１１】
上記のデータ転送処理では、１つのレジスタに格納するデータ全体（たとえば１６ビットまたは３２ビット構成のデータ）を一括送信することができるので、シリアル伝送の場合より送信時間を大幅に削減することができる。しかし、上記のＴＷＣ分の処理サイクルをアドレス毎に実行する必要があるため、レジスタの数が多くなると、データの伝送には相当の時間がかかり、回路情報の書込を高速化するのは困難になる。したがって、各メモリに初期設定された回路情報を途中で書き換えることにより、当初とは異なる回路を構成する場合には、書き換えに相当の時間がかかり、各種の処理を高速で切り替えられない、という問題が生じる。
【００１２】
この発明は、上記の問題点に着目してなされたもので、複数のレジスタを有する半導体デバイスにデータを書き込む場合の処理時間を、従来よりも大幅に削減することを目的とする。なお、半導体デバイスは、ＰＬＤに限定されるものではなく、一般のメモリ、オーディオモジュール、液晶モジュールなど、従来のＳＲＡＭインターフェースのデータ伝送方法を使用する種々のデバイスも含まれる。
【課題を解決するための手段】
【００１３】
この発明にかかるデータ書込方法は、固有のアドレスが割り当てられたレジスタが複数含まれる半導体デバイスの各レジスタにそれぞれ所定のデータを書き込むためのものである。この方法では、複数のレジスタ毎に、データの書込を指示するコントロール信号を当該レジスタに中継するための中継手段を設ける。さらに、各レジスタにつき１ビットのフラグが各レジスタのアドレス順に配列されたフラグデータを格納するためのフラグデータ記憶手段を設けるとともに、このフラグデータ記憶手段の各ビットのデータが、それぞれ対応するレジスタの中継手段に選択制御信号として入力されるように設定しておく。
【００１４】
データを書き込む際には、各レジスタに書き込まれるデータのうち、いずれか１のレジスタにのみ書き込まれるデータについては、そのデータをメモリに送信するのに合わせて書込先のレジスタに対応する中継手段にコントロール信号を無条件で中継させる。
一方、２以上のレジスタに共通に書き込まれるデータについては、書込先の各レジスタに対応するフラグをオン状態にし、その他のフラグをオフ状態にしたフラグデータを作成して前記フラグデータ記憶手段に格納した後、各中継手段のうち、フラグデータ記憶手段からオン状態の選択制御信号が入力されている中継手段にコントロール信号の中継を行わせる。
【００１５】
半導体デバイスの各レジスタは、データの書込を指示するコントロール信号が与えられたときに作動し、そのコントロール信号に応じて伝送されたデータを取り込んで記憶する。上記の方法によれば、ある特定のレジスタにのみ書き込まれるデータについては、そのデータの伝送に合わせて書込先のレジスタにのみコントロール信号が中継される。よって、データを書き込むべきレジスタに正しくそのデータを書き込むことが可能になる。
【００１６】
一方、２以上のレジスタに共通に書き込まれるデータについては、書込み先のレジスタを示すフラグデータを作成してフラグデータ記憶手段に格納することにより、書込先のレジスタに対応する複数の中継手段からコントロール信号が中継されるようになるので、書込先の各レジスタに一括でデータを書き込むことが可能になる。
【００１７】
上記方法を実施する場合、あらかじめ各レジスタに送信するデータを、単一のレジスタにのみ書き込まれるデータと、２以上のレジスタに書き込まれるデータとに分類するのが望ましい。さらに、後者のデータについては、フラグデータを作成し、書込対象のデータと対応づけておくのが望ましい。
【００１８】
上記の方法によれば、固有のデータが書き込まれるレジスタに対しては、従来と同様の排他的な制御によりデータが書き込まれる一方、同一のデータが書き込まれるレジスタに対しては、中継手段およびフラグデータを用いることによって、同時にデータを書き込むことが可能になる。よって、全てのレジスタに対して個別に書込制御を行う従来の方法に比べて、データの書込に要する時間を大幅に削減することができる。
【００１９】
この発明にかかる書込制御装置は、書込対象のデータを入力するとともに、所定のアドレスの指定を受け付ける第１の入力手段；各レジスタにつき１ビットのフラグが各レジスタのアドレス順に配列されたフラグデータを入力する第２の入力手段；データの書込を指示するコントロール信号の中継のために、半導体デバイスに含まれる全てのレジスタ毎に設けられる複数の中継手段；第１の入力手段が複数のレジスタのうちのいずれか１つのアドレスの指定を受け付けたとき、その指定されたアドレスのレジスタに対応する中継手段にコントロール信号を伝送する個別書込制御手段；第１の入力手段から複数のレジスタのいずれにも対応しない特定のアドレスの指定を受け付けたとき、前記コントロール信号を全ての中継手段に伝送する一括書込制御手段；第２の入力手段から入力されたフラグデータを格納するためのフラグデータ記憶手段；の各手段が含まれる。
【００２０】
フラグデータ記憶手段の各ビットのデータはそれぞれ対応するレジスタの中継手段に選択制御信号として入力される。各中継手段は、個別伝送制御手段からコントロール信号を受け付けたときは、この信号を中継対象のレジスタに無条件で中継する一方、一括伝送制御手段から制御信号を受け付けたときは、フラグデータ記憶手段からの選択制御信号がオン状態であることを条件として、コントロール信号の中継を行う。
【００２１】
上記において、個別書込制御手段は、各レジスタに対応する複数のデータポートを有し、これらのポートとレジスタとの間に中継手段が設けられているのが望ましい。たとえば、従来のＳＲＡＭインターフェースに組み込まれていたのと同機能のアドレスデコーダを個別書込制御手段として使用することができる。
一方、一括書込制御手段は、すべての中継手段に共通のデータポートを具備するものであるのが望ましい。
【００２２】
個別書込制御手段は、たとえば、いずれか１のレジスタのアドレスが指定されたときに作動して、その指定されたレジスタに対応する中継手段にコントロール信号を伝送する。このコントロール信号はレジスタに無条件に中継されるので、書込先のレジスタのみにコントロール信号が与えられ、データの書込が行われる。
なお、各レジスタのアドレスの指定は、レジスタそのもののアドレスの指定に限らず、レジスタに対応するデータポートのアドレスを指定するものであってもよい。
【００２３】
いずれのレジスタにも対応しない「特定のアドレス」  （たとえば一括書込制御手段に割り当てられたアドレス）が指定された場合には、一括書込制御手段からすべての中継手段にコントロール信号が伝送される。しかし、この場合には、フラグデータ記憶手段からオン状態の選択制御信号が入力されている中継手段のみがコントロール信号を中継するので、書込対象のレジスタにのみ制御信号が与えられ、データを正しく書き込むことが可能になる。
【００２４】
上記の書込制御装置を使用する場合には、たとえば、各レジスタに書き込まれるデータを、いずれか１のレジスタにのみ書き込まれるデータと、２以上のレジスタに共通に書き込まれるデータとに分ける。そして、前者のデータについては、書込先のレジスタのアドレスを指定してデータを送信することにより、書込先のレジスタにのみデータを書き込む。一方、後者のデータについては、データ入力に先立ち、書込先のレジスタに対応するフラグをオン状態にし、その他のフラグをオフ状態にしたフラグデータを、第２の入力手段から入力してフラグデータ記憶手段に格納しておく。この後に、特定のアドレスを指定してデータを入力することにより、書込対象となっているすべてのレジスタに一括でデータを書き込むことができる。
【００２５】
この発明にかかる演算装置は、ゲートアレイと、それぞれ固有のアドレスが割り当てられたレジスタが複数含まれ、各レジスタにより前記ゲートアレイに設定する回路情報が格納されるメモリと、書込制御装置とを有する。
書込制御装置は、前記したのと同様の構成を有するので、回路情報の書き換えが必要になった場合でも、書き換えを短時間で行うことができ、処理を高速化することが可能になる。
【発明の効果】
【００２６】
この発明によれば、半導体デバイスに書き込まれるデータのうち、２以上のレジスタに共通で書き込まれるデータについては、各レジスタに一括で書込を行うことが可能になるので、データの書込に要する時間を大幅に短縮することが可能になる。
【発明を実施するための最良の形態】
【００２７】
図１は、この発明が適用された演算システムの構成を示す。
この演算システムは、画像処理装置、光学系センサのコントローラなどに組み込まれて、その装置の目的に応じた処理を実行するためのもので、マイクロコンピュータ１００および動的再構成（ダイナミック・リコンフィギュラブル）の機能を有する演算装置２００により構成される。
【００２８】
マイクロコンピュータ１００には、ＣＰＵ１１および不揮発性のメモリ１２（ＥＥＰＲＯＭなど）が含まれる。以下では、このメモリ１２を、演算装置のメモリと区別するために、「メインメモリ１２」と呼ぶ。
前記演算装置２００は、１枚の半導体チップであって、ゲートアレイ２２、回路情報を格納するための４個のメモリＭ０．Ｍ１，Ｍ２，Ｍ３、マルチプレクサ２１、および各メモリＭ０〜Ｍ３に対する書込制御回路２０が設けられる。
【００２９】
前記メインメモリ１２には、ＣＰＵ１１の動作に必要なプログラムのほかに、ゲートアレイ２２に設定する回路の回路情報が４種類以上格納される。なお、回路情報はメインメモリ１２から読み出すものに限らず、外部装置から回路情報の伝送を受けることも可能である。
【００３０】
装置の電源が立ち上げられると、ＣＰＵ１１は、メインメモリ１２から４種類の回路情報を読み出して、それぞれをメモリＭ０〜Ｍ３に書き込む。この後、４つのメモリＭ０〜Ｍ３のいずれかをゲートアレイ２２に接続して最初の回路を構成し、その回路による処理を実行する。
さらに、ＣＰＵ１１は、適宜、マルチプレクサ２１に選択制御信号を与えてゲートアレイ２２に接続されるメモリを切り替える。この切替処理により、ゲートアレイ２２が構成する回路は瞬時に変更される。
【００３１】
また、５以上の回路を構成する必要がある場合には、ＣＰＵ１１は、処理の終了した回路に対応するメモリを新たな回路情報により書き換えた後に、そのメモリを再度ゲートアレイ２２に接続する。
【００３２】
回路情報を書き込む際には、ＣＰＵは、従来のＳＲＡＭに対する書込制御と同様に、書込対象のデータを、アドレス信号およびＣＳ，ＯＥ，ＷＥの各コントロール信号とともに送信する。ただし、この実施例では、従来のように、メモリに含まれるレジスタ毎にデータを送信するのではなく、２以上のレジスタに共通に書き込まれるデータについて、書込先のすべてのレジスタにデータを同時に書き込むようにしている。
以下、この書込制御について詳細に説明する。
【００３３】
図２は、演算装置２００内の書込制御回路２０の構成を示す。なお、この図では、説明の便宜上、４個のメモリＭ０〜Ｍ１のうちの１番目のメモリＭ０に対する書込制御のための構成のみを示す。またこのメモリＭ０には、２５６個のレジスタＲｅｇ＿０〜Ｒｅｇ＿２５５が含まれ、これらのレジスタＲｅｇ＿０〜Ｒｅｇ＿２５５に、それぞれ３２ビットのデータが格納されるものとする。
【００３４】
また、図２では、各レジスタＲｅｇ＿０〜Ｒｅｇ＿２５５について、データ（Ｄａｔａ）およびＷＥ信号の入力ラインを示している。その他のコントロール信号ＣＳ，ＯＥの入力については図示を省略しているが、いずれもＷＥ信号とともに同一のレジスタに伝送される。
【００３５】
この書込制御装置２０には、書込対象のデータをメモリＭ０に中継するための信号ライン２２が設けられるほか、書込先のレジスタを指定する手段として、個別アドレスデコーダ２３および一括ライト用データポート２４が設けられる。
【００３６】
さらに、書込制御装置２０には、前記メモリＭ０の各レジスタＲｅｇ＿０〜Ｒｅｇ＿２５５にコントロール信号を中継する手段として、レジスタ毎にマルチプレクサＭ０〜Ｍ２５５が設けられる。また、これらマルチプレクサＭ０〜Ｍ２５５の動作を制御するために、８個のフラグデータレジスタ２５０〜２５７と、これらのレジスタ２５０〜２５７に対応する８個のデータポート（フラグデータポート）２６０〜２６７とが設けられる（図２では、紙面の都合により、１番目と８番目のレジスタ２５０，２５７およびデータポート２６０，２６７のみを示している。）。個々のフラグデータレジスタには３２ビットのデータが格納されるので、８個のフラグデータレジスタ２５０〜２５７により、２５６ビット分のデータを格納することができる。
なお、フラグデータも、メモリＭ０に書き込まれるデータが伝送されるのと同一のデータバスから伝送され、フラグデータポート２６０〜２６７を介してフラグデータレジスタ２５０〜２５７に与えられる。
【００３７】
各フラグデータレジスタ２５０〜２５７に格納されるフラグデータの各ビットは、それぞれメモリＭ０側のレジスタＲｅｇ＿０〜Ｒｅｇ＿２５５に対応するもので、その対応するレジスタにデータを書き込むかどうかを示すフラグとして機能する。
たとえば、１番目のフラグデータレジスタ２５０には、レジスタＲｅｇ＿０〜Ｒｅｇ＿３１に対応するフラグｆ０〜ｆ３１が格納される。また８番目のフラグデータレジスタ２５７には、レジスタＲｅｇ＿２２４〜Ｒｅｇ＿２５５に対応するフラグｆ２２４〜ｆ２５５が格納される。
【００３８】
個別アドレスデコーダ２３には、レジスタＲｅｇ＿０〜Ｒｅｇ＿２５５にそれぞれ対応する２５６個の入力ポートＰ０〜Ｐ２５５（図３に示す。以下、これらを「個別ライト用データポート」という。）が設けられている。一方、一括ライト用データポート２４は、各レジスタＲｅｇ＿０〜Ｒｅｇ＿２５５に共通の入力ポートとして機能する。
【００３９】
上記の個別ライト用データポートＰ０〜Ｐ２５５、一括ライト用データポート２４、および各フラグデータポート２５０〜２５７には、図３に示すように、それぞれ個別のアドレス（左側の１６進表示）が割り当てられている。
ＣＰＵ１１は、データを送信する際には、そのデータおよびコントロール信号とともに、これらのデータポートのうちのいずれかのアドレスを表すアドレス信号を送信する（以下、このアドレス信号の送信を「アドレスの指定」という。）。
【００４０】
具体的には、メモリＭ０に書き込むべきデータを送信する場合には、個別ライト用データポートＰ０〜Ｐ２５５および一括ライト用データポート２４のアドレスのうちのいずれか１つが指定される。個別ライト用データポートＰ０〜Ｐ２５５のアドレスが指定された場合には、個別アドレスデコーダ２３が作動して、ＣＰＵ１１から送信されたコントロール信号を指定されたアドレスのポートから送出する。一括ライト用データポート２４のアドレスが指定された場合には、個別アドレスデコーダ２３は動作せず、アドレスの指定を受けた一括ライト用データポート２４からコントロール信号が送出される。
【００４１】
一方、フラグデータを送信する場合には、ＣＰＵ１１は、フラグデータを３２ビット単位のデータに切り分けて８回の送信を行うとともに、各フラグデータポート２６０〜２６７のアドレスを順に指定する。アドレスの指定を受けたフラグデータポート２６０〜２６７は、対応するフラグデータレジスタ２５０〜２５７にフラグデータおよびコントロール信号を伝送する。これにより、各フラグデータレジスタ２５０〜２５７に、それぞれ前記したフラグｆ０〜ｆ２５５が格納される。
【００４２】
個別ライト用データポートＰ０〜Ｐ２５５から送出されたコントロール信号は、そのポートに対応する特定のレジスタのマルチプレクサＭ０〜Ｍ２５５に入力される。一方、一括ライト用データポート２４から送出されたコントロール信号は、すべてのマルチプレクサＭ０〜Ｍ２５５に入力される。さらに、フラグデータレジスタ２５０〜２５７に格納されたフラグｆ０〜ｆ２５５は、それぞれそのフラグに対応するレジスタ用のマルチプレクサＭ０〜Ｍ２５５に、選択制御信号として与えられる。
【００４３】
各マルチプレクサＭ０〜Ｍ２５５は、個別ライト用データポートＰ０〜Ｐ２５５からのコントロール信号がオン（ハイレベル）の場合には、この信号を対応するレジスタに無条件に中継するが、一括ライト用データポート２４からのコントロール信号がオンの場合には、選択制御信号が「１」のときのみ、コントロール信号の中継を行うように構成される。
よって、個別ライト用データポートＰ０〜Ｐ２５５のいずれかのアドレスが指定された場合には、レジスタＲｅｇ＿０〜Ｒｅｇ＿２５５のうち、指定されたポートに対応するレジスタのみにコントロール信号が与えられて、データの排他的な書込が行われる。一方、一括ライト用データポート２４のアドレスが指定された場合には、フラグが「１」にセットされている任意数のレジスタにコントロール信号が与えられるので、複数のレジスタに同時にデータを書き込むことが可能になる。
【００４４】
この実施例では、メモリＭ０〜Ｍ１に書き込む回路情報をあらかじめ分析し、特定の１レジスタにのみ書き込まれるデータと、２以上のレジスタに重複して書き込まれるデータとにグループ分けする。前者のグループのデータについては、ＣＰＵ１１により書込先のレジスタに対応する個別データライトポートのアドレスを指定することにより、当該レジスタのみにデータを書き込む（以下、この処理を「個別ライト処理」という。）。一方、後者のグループのデータについては、ＣＰＵ１１は、フラグデータの送信を行った後に、一括ライト用データポート２４のアドレスを指定して書込対象のデータを送信する（以下、この処理を「一括ライト処理」という。）。
【００４５】
図４（１）は、一括ライト処理の対象となるデータとその書込先のアドレス（ここでは個別ライト用データポートのアドレスではなく、メモリＭ０のアドレスを示す。）とを対応づけて示す。なお、この例では、図示を簡単にするために、先頭から８番目までの各レジスタ（Ｒｅｇ＿０〜Ｒｅｇ＿７）に２種類のデータ「０００８」および「０００Ａ」のいずれかが書き込まれるものとしている。また、この図４（１）では、データを１６ビット構成として１６進表記で示している。
【００４６】
図４（１）によれば、２種類のデータはいずれも複数のレジスタに書き込まれるため、図４（２）に示すように、データ毎にフラグデータが作成される。なお、このフラグデータでは、下位から上位に向かう方向をアドレスの昇順に対応させている（すなわち、最下位のビットがアドレス０×０に対応し、最上位のビットがアドレス０×７に対応する。）。また、この例では８ビットのフラグデータを作成しているが、実際には、図２のフラグデータレジスタ２５０〜２５７に合わせて３２ビット単位のフラグデータが作成される。
【００４７】
この実施例では、複数のレジスタに重複して書き込まれるデータについて、あらかじめ図４（２）に示すようなテーブル（以下、「一括ライト用テーブル」という。）を作成してメインメモリ１２に格納している。また、図示はしていないが、個別ライト処理の対象のデータについても、そのデータと書込先のレジスタのアドレスとを対応づけたテーブル（以下、「個別ライト用テーブル」という。）を作成し、メインメモリ１２に格納する。
なお、これらのテーブルは、ＣＰＵ１１により作成してもよいが、これに限らず、外部装置から送信してもよい。
【００４８】
ＣＰＵ１１は、これらのテーブルを用いて図５に示すような処理を実行することにより、メモリＭ０〜Ｍ３に対する書込処理を実行する。
図５は、１つのメモリに対応する書込処理の流れを示す。最初のステップ１では、書込のタイミングになったかどうかを判断する。装置に電源が投入されたとき、または処理が進行した段階で回路の再構成のための書き換えが必要になったとき、このステップ１が「ＹＥＳ」となり、ステップ２以下に進む。
【００４９】
ステップ２では、一括ライト用テーブルから最初の書込対象のデータに対応するフラグデータを読み出し、これを演算装置２００に送信する。この処理では、前記したように、フラグデータを３２ビット単位のデータに分割し、指定アドレスを切り替えながら８回の送信を行う。この処理により、各フラグレジスタ２５０〜２５７にフラグｆ０〜ｆ２５５がセットされる。
【００５０】
つぎのステップ３では、一括ライト用データポート２４のアドレス（０×０２００）を指定して、書込対象のデータを送信する。この送信により、データを書き込むべきレジスタのみに書込対象のデータが書き込まれる。
【００５１】
以下、同様に、一括ライト用テーブルに格納されたデータについて、ステップ２，３の処理を実行する。この結果、一括ライト処理を行うべきすべてのデータについての処理が完了すると、ステップ４が「ＹＥＳ」となってステップ５に進む。
【００５２】
ステップ５では、個別ライト用テーブルから、個別ライトの対象のデータおよび書込先のアドレスを読み出す。そして、アドレスについて、図示しない変換テーブルを用いて、対応する個別ライト用データポートのアドレスを特定した後、その特定したアドレスを指定して書込対象のデータを送信する。これにより、このデータは個別ライト用テーブルに格納されたアドレスのレジスタに書き込まれる。
【００５３】
以下、同様に、個別ライト用テーブルに格納されたデータについて、ステップ５を実行する。すべてのデータに対する処理が終了すると、ＳＴ６が「ＹＥＳ」となり、一連の書込制御が終了する。
【００５４】
上記の実施例において、一括ライト処理を行う場合には、ＣＰＵ１１は、ＳＴ２で８回、ＳＴ３で１回、計９回のデータ送信処理を実行する必要がある。これに対し、個別ライト処理を行う場合には、フラグデータを送信する必要はないので、データ送信を１回行うだけで書込を行うことができる。
しかし、同一のデータが１０個以上のレジスタに書き込まれる場合には、これらのレジスタ毎に個別ライト処理を行うよりも一括ライト処理を行った方が処理時間が短くなる。しかも、個別ライト処理にかかる時間が、書込対象のレジスタの数に比例して増大するのに対し、一括ライト処理では、書込対象のレジスタが増えても、処理時間は全く変わらない。よって、同一のデータが書き込まれる場合には、個別ライト処理に比べ、格段に処理時間を短くすることができる。
【００５５】
一般にＰＬＤが構成する回路には、同一構成の回路（たとえば８ビットカウンタ）が多数含まれることが多い。したがって、これら同一構成の回路に対応するレジスタに対し、上記の一括ライト処理を行うようにすれば、回路情報の書込に要する時間を大幅に短縮することが可能になる。したがって、電源立ち上げに伴う起動時間も大幅に短縮することができる。
また、メモリの設定数（４個）を越える数の回路を構成するために、途中でメモリの内容を書き換える場合にも、その書き換えに要する時間を大幅に短縮することができるので、回路の再構成による処理の遅延を防止することができる。
【００５６】
さらに上記した書込制御回路２０は、上記実施例のような動的再構成型のＬＳＩに限らず、一般的なＦＰＧＡに対する書込制御も適用することができる。さらに、組み込み機器用の演算装置に限らず、一般のメモリ装置に対する書込制御や、液晶表示装置などの複数の記憶素子を有する半導体デバイスに対する書込制御にも適用することができる。
【図面の簡単な説明】
【００５７】
【図１】この発明にかかる演算装置が組み込まれたシステムの構成例を示すブロック図である。
【図２】書込制御回路の詳細な構成を示すブロック図である。
【図３】各データポートへのアドレスの割り付け例を示す説明図である。
【図４】書込対象のデータとアドレスとの対応関係を示すテーブル、およびこの対応関係から導き出される一括ライト用テーブルを示す説明図である。
【図５】データ書込処理の流れを示すフローチャートである。
【図６】ＳＲＡＭインターフェースにおけるデータ転送のタイミングチャートである。
【符号の説明】
【００５８】
Ｍ０〜Ｍ３  メモリ
Ｒｅｇ＿０〜Ｒｅｇ＿２５５  レジスタ
Ｍ０〜Ｍ２５５  マルチプレクサ
Ｐ０〜Ｐ２５５  個別ライト用データポート
１１  ＣＰＵ
２０  書込制御回路
２２  ゲートアレイ
２３  個別アドレスデコーダ
２４  一括ライト用データポート
２５０〜２５７  フラグデータレジスタ
２００  演算装置
【図１】
2008225662.tif 000003
【図２】
2008225662.tif 000004
【図３】
2008225662.tif 000005
【図４】
2008225662.tif 000006
【図５】
2008225662.tif 000007
【図６】
2008225662.tif 000008