(57)【要約】【課題】複数のデバイス又は複数の回路ブロックが、１つのメモリを共有して使用するシステムにおいて、システムの回路規模の削減を図る。【解決手段】メモリブロック１０がマスターとなり、各回路ブロックＡ〜回路ブロックＥがスレーブとなるように構成したので、スレーブ側（回路ブロック）は、事前に割り当てたアドレスに対応するデコーダと、レジスタの構成を有するだけで、メモリブロック１０から必要なデータを取り込むことができる。この場合、レジスタ自体は、従来のシステム構成においても、メモリから読み出したデータを保持しておくために必要であったことから、システム全体で回路規模の削減を図ることができる。この効果はメモリブロック１０を共有する回路ブロックの数に比例して大きくなるので、システム規模が大きくなるほどその効果は大きい。【選択図】図１
2010176277.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイス又は複数の回路ブロックが１つのメモリを共有して利用するシステムにおけるデータ転送システムであって、
前記メモリは、複数のアドレスに対応してデータが保持されたメモリ領域と、
クロックに同期して、前記アドレス及び前記アドレスに対応して保持されたデータを出力させるメモリ制御回路と、を備え、
各デバイス又は各回路ブロックは、前記メモリ制御回路を介して出力された前記アドレスが、事前に割り当てられたアドレスと一致するかどうかを解読するデコーダと、
前記デコーダの解読結果に応じて、前記クロックに同期して前記メモリ制御回路を介して出力されたデータを取り込むレジスタと、を備えることを特徴とするデータ転送システム。
【請求項２】
前記メモリの電源がオンになった時、又は前記回路ブロックからのトリガ信号に応じて、前記メモリ制御回路の前記アドレス及び前記データの出力動作を開始させる自動リードトリガ回路を備えることを特徴とする請求項１に記載のデータ転送システム。
【請求項３】
前記メモリ制御回路は、前記メモリ領域に保持されたデータが書き換えられた時、又は定期的に、前記アドレス及び前記データの出力動作を開始することを特徴する請求項１に記載のデータ転送システム。
【請求項４】
前記メモリ制御回路は、前記クロックに同期して前記アドレスをインクリメントするアドレスカウンタを備えることを特徴とする請求項１乃至３のいずれかに記載のデータ転送システム。
【請求項５】
前記メモリと前記複数のデバイス又は複数の回路ブロックが１つの半導体チップ上に形成されたことを特徴とする請求項１乃至４のいずれかに記載のデータ転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送システムに関し、特に、複数のデバイス又は複数の回路ブロックが、１つのメモリを共有して使用するシステムに関する。
【背景技術】
【０００２】
従来より、複数のデバイス又は複数の回路ブロックが、１つのメモリを共有して使用するシステムが知られている。一般に、このようなシステムにおいては、メモリは、マスターとなるデバイスや回路ブロックからのアクセス信号を受けて、読み出しデータを出力する。この場合、各デバイスや各回路ブロックが、メモリのデータを読み出すためのメモリ制御回路を有していなければ、メモリ内のデータを読み出すことはできない。
【０００３】
また、複数のデバイスや回路ブロックが同時に１つのメモリをアクセスするケースがある。このような同時アクセスが起こった場合に、メモリアクセスの衝突、メモリからのデータ出力の優先度等を調整するためのアクセス調整回路をメモリ側に設ける必要があった。
【０００４】
このように、メモリのデータを必要とするデバイスや回路ブロックがマスターとなり、データを保持しているメモリがスレーブとなるシステムは、特許文献1乃至３に開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−０３９２２２号公報
【特許文献２】特開平１１−１７５４９９号公報
【特許文献３】特開２００１−３２５２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のように、複数のデバイス又は複数の回路ブロックが、１つのメモリを共有して使用するシステムにおいては、各デバイス又は回路ブロックが、それぞれメモリのデータを読み出すためのメモリ制御回路を有していなければならないことで、システム全体の回路規模が大きくなるという問題がある。また、メモリ側においても、アクセス調整回路を設けることで、回路規模が増大することになる。
【０００７】
したがって、システム全体として、複雑化と回路規模の増大といった問題が生じていた。
【課題を解決するための手段】
【０００８】
本発明は、複数のデバイス又は複数の回路ブロックが１つのメモリを共有して利用システムにおけるデータ転送システムであって、前記メモリは、複数のアドレスに対応してデータが保持されたメモリ領域と、クロックに同期して、前記アドレス及び前記アドレスに対応して保持されたデータを出力させるメモリ制御回路と、を備え、各デバイス又は各回路ブロックは、前記メモリ制御回路を介して出力された前記アドレスが、事前に割り当てられたアドレスと一致するかどうかを解読するデコーダと、前記デコーダの解読結果に応じて、前記クロックに同期して前記メモリ制御回路を介して出力されたデータを取り込むレジスタと、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、メモリがマスターとなり、各デバイス又は各回路ブロックがスレーブとなるように構成したので、スレーブ側（デバイス又は回路ブロック）は、事前に割り当てたアドレスに対応するデコーダと、レジスタの構成を有するだけで、メモリから必要なデータを取り込むことができる。
【００１０】
この場合、レジスタ自体は、従来のシステム構成においても、メモリから読み出したデータを保持しておくために必要であったことから、システム全体で回路規模の削減を図ることができる。この効果はメモリを共有するデバイス、回路ブロックの数に比例して大きくなるので、システム規模が大きくなるほどその効果は大きい。
【００１１】
また、マスターとなるメモリ側については、アクセスの衝突を調整するためのアクセス調整回路が不要となる。また、メモリ側からデバイス、回路ブロックへのデータ自動転送を実現する構成についても、従来からメモリに内蔵されているアドレスカウンタを利用できるため、回路規模の増大は無く、メモリ全体としての回路規模はむしろ小さくすることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態によるデータ転送システムの構成を示す図である。
【図２】メモリから出力されるデータのタイミング図である。
【図３】デコーダ及びレジスタの回路図である。
【図４】レジスタの具体的な回路図である。
【発明を実施するための形態】
【００１３】
まず、本発明の基本的な技術思想を説明すると、メモリに保持されたデータを必要とするデバイスや、回路ブロックがマスター（主）となり、データを保持するメモリがスレーブ（従）となるようにシステムを構成する。つまり、デバイス、回路ブロックとメモリに、従来とは逆の役割を与えた。
【００１４】
具体的には、メモリがマスターになり、特定のデバイスや回路ブロックからのアクセスには関係なく、メモリ側が例えば、そのメモリ空間内のデータをアドレスの００番地から０１番地、０２番地と順次、メモリから発生するクロックに同期させて、アドレス情報とそのアドレス情報に対応するデータを出力する。そして、アドレスがその最終番地に到達した時点で、メモリからのデータ出力を停止する。
【００１５】
一方、スレーブとなるデバイス又は回路ブロックは、メモリから出力されたアドレス情報を解読し、当該アドレス情報がデバイス又は回路ブロックに事前に割り当てられたアドレスと一致すると判断した時点で、メモリから出力されたクロックに同期して、必要なデータを取り込む。
【００１６】
図１は、本発明の実施形態によるデータ転送システムの構成を示す図である。このシステムは、１つの半導体チップ１００上にメモリブロック１０と、回路ブロックＡ〜回路ブロックＥが形成された、システム・オン・チップ（System On Chip）である。
【００１７】
メモリブロック１０は、データが保持されるメモリ領域を有しており、そのメモリ領域は、図示のアドレスマップのように、ブロックＸ領域（アドレス００ｈ〜０Ｆｈ）、ブロックＡ領域（アドレス１０ｈ〜１Ｆｈ）、ブロックＢ領域（アドレス２０ｈ〜２Ｆｈ）、ブロックＣ領域（アドレス３０ｈ〜３Ｆｈ）、ブロックＤ領域（アドレス４０ｈ〜４Ｆｈ）、ブロックＥ領域（アドレス５０ｈ〜５Ｆｈ）、ブロックＦ領域（アドレス６０ｈ〜６Ｆｈ）、ブロックＧ領域（アドレス７０ｈ〜７Ｆｈ）という８個のブロックに分割されている。ここで、アドレスＸＸｈは、１６進数で表されている。
【００１８】
また、ブロックＡ領域は、回路ブロックＡに対応しており、ブロックＢ領域は、回路ブロックＢに対応している。他のブロック領域も同様である。ただし、ブロックＸ領域は、必要に応じてメモリ容量を拡張するための拡張用メモリ領域であり、初期状態では特定の回路ブロックとは対応させていない。
【００１９】
上記メモリ領域のブロック領域は、例えば、フラッシュメモリ、ＥＥＰＲＯＭのような電気的に消去、書き込み、読み出し及び書き換え可能な不揮発性メモリで構成することが好ましい。
【００２０】
メモリブロック１０の制御回路１１は、回路ブロックＡ〜回路ブロックＥに対して、データバス３０を介して、クロック、アドレス、当該アドレスに対応するデータを出力する。ここで、アドレス及びデータはクロックに同期して出力される。
【００２１】
図２は、制御回路１１のデータ出力の例を示したものである。即ち、メモリブロック１０の動作は、自動リードトリガ回路１２から出力されるトリガ信号に基づいて、開始する。即ち、前記トリガ信号が出力されると、メモリブロック１０に設けられたクロック発生回路が起動し、一定周期のクロックを出力する。アドレスは、クロックの立下りに同期して、００番地、０１番地、０２番地、０３番地・・・と時系列的にインクリメントされることが好ましい。
【００２２】
そして、アドレスに対応したデータＤ＜０＞、Ｄ＜１＞、Ｄ＜２＞、Ｄ＜３＞・・・が時系列的に出力される。アドレスをインクリメントするためには、メモリブロック１０に設けられたアドレスカウンタを利用することができる。アドレスが最終番地の７Ｆ番地に到達し、最後のデータＤ＜１２７＞が出力されると、制御回路１１はデータの出力動作を停止する。
【００２３】
この場合、自動リードトリガ回路１２は、システムの電源がオンしたことを検出するパワーオン検出回路１３からのパワーオン検出信号に応じて、前記トリガ信号を出力する。つまり、制御回路１１は、システムの電源がオンすると、自動的に上述のデータの出力シーケンスを開始する。これにより、回路ブロックＡ〜回路ブロックＥは、システムの電源オン時に、自動的にメモリブロック１０に保持された必要なデータを取り込むことができる。この場合は、システムの電源がオフの時でも、メモリブロック１０はデータを保持していることが必要であり、不揮発性メモリで構成される必要がある。
【００２４】
また、自動リードトリガ回路１２は、いずれかの回路ブロックＡ〜回路ブロックＥからのトリガが発行された場合にも、前記トリガ信号を出力するように構成されている。
【００２５】
制御回路１１は、上述の場合に限らず、メモリ領域に保持されたデータが書き換えられた時、又は定期的に、上述のデータ出力シーケンスを開始するように構成されている。
【００２６】
即ち、制御回路１１は、制御ピン１４から入力されるアドレス、データ等の書き込み制御信号に基づいて、メモリブロック１０の対応するアドレスのデータを書き換えることができる。ただし、この場合は、メモリブロック１０は、書き換え可能なメモリで形成されている必要がある。
【００２７】
このように、メモリ領域のデータが書き換えられた場合、制御回路１１は自動的に起動し、回路ブロックＡ〜回路ブロックＥに対して、データバス３０を介して、クロック、アドレス、当該アドレスに対応するデータを出力する。この場合も、回路ブロックＡ〜回路ブロックＥ側の動作は同様である。これにより、回路ブロックＡ〜回路ブロックＥは、更新された最新のデータを取り込むことができる。
【００２８】
また、メモリブロック１０にタイマーを設けることにより、制御回路１１はこのタイマーの出力を監視することにより、タイマーの出力に基づいて、定期的に上述のデータの出力シーケンスを開始することも可能である。
【００２９】
一方、回路ブロックＡ〜回路ブロックＥの構成は、各回路ブロックに、デコーダ＋レジスタ２１〜２５が設けられる。デコーダは、メモリブロック１０の制御回路１１から転送されて来たアドレス情報を解読し、それが事前にその回路ブロックに割り当てられたアドレスと一致した場合に、そのアドレスに対応したデータをその次段に設けられたレジスタに出力する。そして、レジスタは、クロックに同期してデータを取り込み、保持する。
【００３０】
レジスタ内に取り込まれたデータは、その回路ブロックの回路調整データ等として利用される。例えば、回路ブロックＡではロジック制御用のテーブルデータとして、回路ブロックＢではフラグデータとして、回路ブロックＣでは回路のトリミングデータとして、回路ブロックＤではＩＣの識別データとして、回路ブロックＥではＩＣの製造情報管理データとして利用される。
【００３１】
図３は、回路ブロックＡ〜回路ブロックＥに設けられたデコーダ＋レジスタの構成を示す回路図である。図４は、レジスタの具体的な回路図である。
【００３２】
以下、回路ブロックＡにおいて、デコーダ２１１に事前にアドレス１９ｈが割り当てられている場合について説明する。また、１つのアドレス１９ｈに対応するデータのビット構成は８ビットであるとする。
【００３３】
デコーダ２１１において、メモリブロック１０の制御回路１１からデータバス３０を介して転送されて来るアドレス情報が１９ｈであるとき、即ち、アドレスデータ［０］〜［７］の各ビットデータが“１００１１０００”のとき、ＮＯＲ回路ＮＲ１の出力がＨレベルになり、それ以外のアドレスが転送されて来た場合にはＮＯＲ回路ＮＲ１の出力がＬレベルになるようにデコーダ２１１の論理回路が構成されている。
【００３４】
また、メモリブロック１０の制御回路１１からデータバス３０を介して転送されて来る８ビットのデータ［０］〜データ［７］は、それぞれＣＭＯＳトランスミッションゲートＴＧＡ０〜ＴＧＡ７に入力される。ＣＭＯＳトランスミッションゲートＴＧＡ０〜ＴＧＡ７は、ＮＯＲ回路ＮＲ１の出力がＨレベルの時にオンするように構成されている。
【００３５】
ＣＭＯＳトランスミッションゲートＴＧＡ０〜ＴＧＡ７がオンすると、データ［０］〜データ［７］は、ＣＭＯＳトランスミッションゲートＴＧＡ０〜ＴＧＡ７を通して、次段のレジスタ２１２を構成するフリップフロップＦＦ０〜ＦＦ７のデータ入力端子Ｄに印加される。そして、クロック入力端子ＣＫＮに印加されるクロックの立ち上がりに同期して、データ［０］〜データ［７］は対応するフリップフロップＦＦ０〜ＦＦ７に取り込まれ、かつ保持される。
【００３６】
ＮＯＲ回路ＮＲ１の出力がＬレベルの時には、ＣＭＯＳトランスミッションゲートＴＧＡ０〜ＴＧＡ７はオフ状態であるが、ＣＭＯＳトランスミッションゲートＴＧＢ０〜ＴＧＢ７がオンし、フリップフロップＦＦ０〜ＦＦ７の各出力データＲＥＧ［０］〜［７］をデータ入力端子Ｄに帰還して入力する。なお、フリップフロップＦＦ０〜ＦＦ７は、リセット端子ＲＮに印加されるリセット信号によりリセットされるように構成されている。
【００３７】
図４は、フリップフロップＦＦ０〜ＦＦ７の具体的な回路構成例である。図示のように、フリップフロップは、ＣＭＯＳトランスミッションゲートＴＧ１〜ＴＧ４、ＮＡＮＤ回路ＮＡ１，ＮＡ２、インバータからなり、２つのラッチ回路ＬＡ１、ＬＡ２を直列接続して形成されている。Ｌレベルのリセット信号がＮＡＮＤ回路ＮＡ１，ＮＡ２に入力されると、フリップフロップの出力信号ＱはＬレベルになる。
【００３８】
上述のように、本実施形態によれば、メモリブロック１０がマスターとなり、各回路ブロックＡ〜回路ブロックＥがスレーブとなるように構成したので、スレーブ側（回路ブロック）は、事前に割り当てたアドレスに対応するデコーダと、レジスタの構成を有するだけで、メモリブロック１０から必要なデータを取り込むことができる。
【００３９】
この場合、レジスタ自体は、従来のシステム構成においても、メモリから読み出したデータを保持しておくために必要であったことから、システム全体で回路規模の削減を図ることができる。この効果はメモリブロック１０を共有する回路ブロックの数に比例して大きくなるので、システム規模が大きくなるほどその効果は大きい。
【００４０】
また、マスターとなるメモリブロック１０側については、アクセスの衝突を調整するためのアクセス調整回路が不要となる。また、メモブロック１０側から回路ブロックＡ〜回路ブロックＥへのデータ自動転送を実現する構成についても、従来からメモリブロックに内蔵されているアドレスカウンタを利用できるため、回路規模の増大は無く、メモリブロック１０全体としての回路規模はむしろ小さくすることができる。
【００４１】
なお、上述の実施形態においては、１つの半導体チップ１００上にメモリブロック１０と、回路ブロックＡ〜回路ブロックＥが形成されたシステム・オン・チップを例に挙げて説明したが、メモリブロック１０と回路ブロックＡ〜回路ブロックＥとは、それぞれ別々の半導体チップ上に形成されても良い。また、回路ブロックＡ〜回路ブロックＥの代わりに、複数のデバイスを設けても良い。
【符号の説明】
【００４２】
１０  メモリブロック            １１  制御回路            
１２  自動リードトリガ回路      １３  パワーオン検出回路
１４  制御ピン                  ２１〜２５  デコーダ＋レジスタ
３０  データバス
【図１】
2010176277.tif 000003
【図２】
2010176277.tif 000004
【図３】
2010176277.tif 000005
【図４】
2010176277.tif 000006