(57)【特許請求の範囲】
【請求項１】
メモリへのアクセス要求を出力する複数のバスマスタのそれぞれと、前記メモリが接続され、前記バスマスタのそれぞれから入力された該メモリへの前記アクセス要求を調停し、許可した前記アクセス要求に応じて該メモリへのアクセスを制御するアービタとの間に挿入され、前記アービタと対応する前記バスマスタとの間のそれぞれの信号を中継する信号転送回路であって、
当該信号転送回路は、
対応する前記バスマスタから入力された前記メモリへのアクセス要求を前記アービタに中継する際に、該前記バスマスタから入力される、該アクセス要求におけるアクセス要求入力信号およびメモリアドレス入力信号のタイミングを整えたアクセス要求出力信号およびメモリアドレス出力信号を、前記アービタに出力すると共に、前記アービタから入力される、該アクセス要求を許可することを表すアクセス許可入力信号に先行して、該アクセス要求を許可するアクセス許可出力信号を、該バスマスタに出力する制御信号転送部と、
対応する前記バスマスタから入力された前記メモリへのアクセス要求における複数のデータを該バスマスタまたは前記アービタに中継する際に、前記アービタまたは該バスマスタから入力される、該アクセス要求におけるそれぞれのデータ入力信号のタイミングを整えたそれぞれのデータ出力信号を、該バスマスタまたは前記アービタに出力すると共に、前記アービタから入力される、該アクセス要求におけるそれぞれのデータが有効である期間を表すデータ有効期間入力信号のタイミングを整えたデータ有効期間出力信号を、該バスマスタに出力するデータ信号転送部と、
を備える、
ことを特徴とする信号転送回路。
【請求項２】
前記制御信号転送部は、
前記アクセス要求入力信号と前記アクセス許可入力信号とに基づいて、前記アクセス要求出力信号を出力するか否かを決定し、該アクセス要求出力信号を出力すると決定したときに、該アクセス要求出力信号を出力することを表す出力タイミング信号を出力し、該出力タイミング信号を出力した次のタイミングから、該アクセス要求出力信号を出力するアクセス要求タイミング調整部と、
前記出力タイミング信号が出力された次のタイミングから、前記メモリアドレス入力信号を、前記メモリアドレス出力信号として出力するアドレスタイミング調整部と、
前記出力タイミング信号を、次のタイミングで、前記アクセス許可出力信号として出力するアクセス許可タイミング調整部と、
を備え、
前記アクセス要求タイミング調整部は、
対応する前記バスマスタから、今回のアクセス要求に応じた前記アクセス要求入力信号が入力されたとき、該バスマスタによる前回のアクセス要求に応じた前記アクセス要求出力信号がすでに出力され、前記アービタから前回のアクセス要求を許可する前記アクセス許可入力信号が入力されていないときには、今回のアクセス要求に応じた前記アクセス要求出力信号の出力を保留し、前記アービタから前回のアクセス要求を許可する前記アクセス許可入力信号が入力されたときに、今回のアクセス要求に応じた前記アクセス要求出力信号を出力すると決定する、
ことを特徴とする請求項１に記載の信号転送回路。
【請求項３】
当該信号転送回路が対応する前記バスマスタが、前記アクセス要求によって、前記メモリからデータを読み出すバスマスタである場合、
前記データ信号転送部は、
前記アービタから入力されたそれぞれの前記データ入力信号を、次のタイミングで、それぞれの前記データ出力信号として、前記バスマスタに出力するリードデータタイミング調整部と、
前記アービタから入力された前記データ有効期間入力信号を、次のタイミングで、前記データ有効期間出力信号として、前記バスマスタに出力するリードデータ有効期間タイミング調整部と、
を備える、
ことを特徴とする請求項２に記載の信号転送回路。
【請求項４】
当該信号転送回路が対応する前記バスマスタが、前記アクセス要求によって、前記メモリにデータを書き込むバスマスタである場合、
前記データ信号転送部は、
前記アービタから入力される前記データ有効期間入力信号に先行して、前記データ有効期間出力信号を、前記バスマスタに出力するライトデータ有効期間タイミング調整部と、
先行して出力された前記データ有効期間出力信号に応じて、前記バスマスタから入力される複数の前記データ入力信号の内、予め定めた数または全ての前記データ入力信号を保持する複数のデータ保持部を具備し、前記バスマスタから入力されたそれぞれの前記データ入力信号を、次のタイミングで、それぞれの該データ保持部に一旦保持し、前記アービタから前記データ有効期間入力信号が入力されたときに、保持したそれぞれの前記データ入力信号を、タイミングを整えたそれぞれの前記データ出力信号として、前記アービタに出力するライトデータタイミング調整部と、
を備える、
ことを特徴とする請求項２に記載の信号転送回路。
【請求項５】
前記ライトデータ有効期間タイミング調整部は、
前記アクセス許可出力信号と前記データ有効期間出力信号とに基づいて、前記アクセス要求に応じた全ての前記データ出力信号の前記アービタへの出力が終了していない許可したアクセス要求の数を計測し、該計測した結果に基づいて生成した、対応する前記バスマスタによる前記アクセス要求をすでに許可しているが、全ての前記データ出力信号の前記アービタへの出力が終了していない許可済みのアクセス要求があるか否かを表す残許可アクセス信号を出力する許可アクセス計測部と、
前記データ有効期間入力信号と前記データ有効期間出力信号とに基づいて、前記データ入力信号を保持することができる前記データ保持部の数を計測し、該計測した結果である保持可能データ数と、該計測した結果に基づいて生成した、前記データ入力信号を保持することができる前記データ保持部があるか否か表す保持可否信号と、を出力するデータ計測部と、
を備え、
前記残許可アクセス信号と前記保持可否信号とに基づいて生成した信号を、前記データ有効期間出力信号として出力し、
前記ライトデータタイミング調整部は、
前記保持可能データ数と、前記データ有効期間出力信号と、前記データ有効期間入力信号とに基づいて、前記バスマスタから入力されたそれぞれの前記データ入力信号を、複数の前記データ保持部の内、いずれのデータ保持部に保持させるかを制御するデータ保持制御部、
を備える、
ことを特徴とする請求項４に記載の信号転送回路。
【請求項６】
前記ライトデータタイミング調整部は、
前記バスマスタから入力された２つの前記データ入力信号を、次のタイミングで、それぞれ保持する第１のデータ保持部と第２のデータ保持部とを具備し、前記第２のデータ保持部が保持した前記データ入力信号を、前記データ出力信号として前記アービタに出力し、
前記データ保持制御部は、
前記保持可能データ数が、前記データ入力信号を保持することができる前記データ保持部の数が１つであることを表し、前記データ有効期間出力信号が、前記データ入力信号が有効であることを表し、前記データ有効期間入力信号が、前記データ出力信号が無効であることを表しているときに、次のタイミングで、前記データ入力信号を前記第１のデータ保持部に保持させ、
前記保持可能データ数が、前記データ入力信号を保持することができる前記データ保持部の数が２つであることを表し、前記データ有効期間出力信号が、前記データ入力信号が有効であることを表しているときに、次のタイミングで、前記データ入力信号を前記第２のデータ保持部に保持させ、
前記保持可能データ数が、前記データ入力信号を保持することができる前記データ保持部の数がないことを表し、前記データ有効期間入力信号が、前記データ出力信号が有効であることを表しているときに、次のタイミングで、前記第１のデータ保持部に保持している前記データ入力信号を、前記第２のデータ保持部に保持させ、
前記保持可能データ数が、前記データ入力信号を保持することができる前記データ保持部の数が１つであることを表し、前記データ有効期間出力信号が、前記データ入力信号が有効であることを表し、前記データ有効期間入力信号が、前記データ出力信号が有効であることを表しているときに、次のタイミングで、前記データ入力信号を前記第２のデータ保持部に保持させるように、
前記第１のデータ保持部と前記第２のデータ保持部とを制御する、
ことを特徴とする請求項５に記載の信号転送回路。
【請求項７】
前記次のタイミングは、
当該信号転送回路と、前記アービタと、前記バスマスタとが動作する共通のクロックサイクルのタイミングである、
ことを特徴とする請求項２から請求項６のいずれか１の項に記載の信号転送回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号転送回路に関する。
【背景技術】
【０００２】
静止画用カメラ、動画用カメラ、医療用内視鏡カメラ、または産業用内視鏡カメラなどの画像処理装置に搭載されるシステムＬＳＩなど、多くのシステムＬＳＩでは、接続された１つのＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を、内蔵する複数の処理ブロック（以下、「バスマスタ」という）が共有している。このようなシステムＬＳＩにおいては、内蔵している複数のバスマスタのそれぞれが、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）によってＤＲＡＭへのアクセスを行う。また、システムＬＳＩには、内蔵している複数のバスマスタのそれぞれから発せられるＤＲＡＭへのアクセス要求を調停するアービタを備えている。アービタは、それぞれのバスマスタから発せられるＤＲＡＭへのアクセス要求を適切に調停しながら、実際のＤＲＡＭへのアクセスを制御している。
【０００３】
このようなシステムＬＳＩにおいては、アービタとバスマスタとの間で入出力される信号のタイミングに関する規則（プロトコル）が、予め定められている。このプロトコルには、バスマスタからアービタに出力されるＤＲＡＭへのアクセス要求や、アービタからバスマスタに出力されるＤＲＡＭへのアクセス許可などの、アービタとバスマスタとの間の制御信号のタイミングが定められている。また、このプロトコルには、バスマスタからアービタに出力されるＤＲＡＭに書き込むデータや、アービタからバスマスタに出力されるＤＲＡＭから読み出したデータなどの、アービタとバスマスタとの間のデータのタイミングが定められている。
【０００４】
図１０は、従来のシステムＬＳＩにおけるアービタとバスマスタとの構成および制御タイミングの一例を説明する図である。図１０（ａ）には、従来のシステムＬＳＩにおけるアービタとバスマスタとの接続の一例を示している。従来のシステムＬＳＩでは、例えば、図１０（ａ）に示したように、アービタ９１に複数のバスマスタ９２〜９４が接続され、１つのＤＲＡＭ９０を共有している。なお、図１０（ａ）では、アービタ９１とバスマスタ９２との接続のみ複数の信号線を示しているが、アービタ９１とバスマスタ９３および９４との接続も同様に複数の信号線で接続されている。
【０００５】
図１０（ｂ）には、従来のシステムＬＳＩにおけるプロトコルに従ったタイミングチャートの一例を示している。図１０（ｂ）には、バスマスタからＤＲＡＭにデータを書き込む際のそれぞれの信号のタイミングチャートを示している。なお、以下の説明においては、バスマスタ９２がＤＲＡＭ９０にデータの書き込みを行う場合について説明する。
【０００６】
図１０（ａ）に示したバスマスタ９２〜９４のそれぞれからアービタ９１に対してＤＲＡＭ９０へのアクセス要求を表すリクエスト（ＲＥＱ）信号を発行（出力）すると、アービタ９１は、予め定められた調停アルゴリズムに従って１つのバスマスタ（例えば、バスマスタ９２）を選択する。そして、アービタ９１は、選択したバスマスタ（例えば、バスマスタ９２）にアクセス要求を受け付けた、すなわち、アクセス要求を許可することを表すアクノリッジ（ＡＥＮ）信号を返す（出力する）。
【０００７】
アクセス要求が受け付けられた、すなわち、アクノリッジ（ＡＥＮ）信号が入力されたバスマスタ９２は、次に連続してＤＲＡＭ９０へのアクセス要求を発行しない場合には、同じクロックサイクルでリクエスト（ＲＥＱ）信号の発行を停止する。
【０００８】
また、アービタ９１は、ＤＲＡＭ９０のデータアクセスが可能なタイミングで、アクセス要求を受け付けたバスマスタ９２に、ＤＲＡＭ９０へのデータの書き込みが有効な期間を表すデータイネーブル（ＤＥＮ）信号を発行（出力）する。バスマスタ９２は、データイネーブル（ＤＥＮ）信号が入力されると、同じクロックサイクルから、ＤＲＡＭ９０に書き込むデータであるライトデータ（ＷＤＡＴＡ）を順次出力する。図１０（ｂ）には、４バーストのライトデータ（ＷＤＡＴＡ）を順次出力する場合を示している。
【０００９】
なお、バスマスタがＤＲＡＭからデータを読み出す場合には、図１０（ｂ）に示したライトデータ（ＷＤＡＴＡ）と同じタイミングでアービタから出力される、ＤＲＡＭから読み出したデータであるリードデータ（ＲＤＡＴＡ）を取り込む。
【００１０】
このように、アービタとバスマスタとの間で予め定められたプロトコルのタイミングでアクセスすることによって、それぞれのバスマスタは、アービタを介してＤＲＡＭにアクセス（ＤＲＡＭへのデータの書き込み、またはＤＲＡＭからのデータの読み出し）を行う。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−３９６７２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述したようなプロトコルにおいては、アービタとバスマスタとの間で入出力される信号に、タイミング的に厳しい経路が存在する。図１１は、従来のシステムＬＳＩにおいて、タイミング的に厳しい経路の一例を説明する図である。図１１（ａ）には、バスマスタからＤＲＡＭにデータを書き込む場合における、タイミング的に厳しい制御タイミングの一例を示し、図１１（ｂ）には、従来のシステムＬＳＩにおけるアービタとバスマスタとの接続の一例において、タイミング的に厳しい信号線の経路を示している。なお、図１１（ｂ）においては、バスマスタ９２を、ＤＲＡＭ９０にデータを書き込むバスマスタとし、バスマスタ９３を、ＤＲＡＭ９０からデータを読み出すバスマスタとしている場合を示している。
【００１３】
図１１（ａ）に示したように、バスマスタが連続してＤＲＡＭ９０へのアクセス要求を発行する場合、バスマスタは、アービタ９１から入力されたアクノリッジ（ＡＥＮ）信号に応じたリクエスト（ＲＥＱ）信号の発行停止および再発行を、１クロックサイクル内で行う（制御する）必要がある（図１１（ａ）のタイミングＡ参照）。また、それぞれのバスマスタが、アービタ９１から入力されたデータイネーブル（ＤＥＮ）信号に応じたライトデータ（ＷＤＡＴＡ）を出力する場合や、データイネーブル（ＤＥＮ）信号と共に入力されたリードデータ（ＲＤＡＴＡ）の取り込み行う場合にも、それぞれのデータのアクセスを１クロックサイクル内で行う必要がある（図１１（ａ）のタイミングＢ参照）。
【００１４】
このような場合には、図１１（ｂ）に太線で示したような経路が、タイミング的に厳しい経路となる。より具体的には、バスマスタ９２が連続してＤＲＡＭ９０へのアクセス要求を発行する場合、アービタ９１内の調停回路９１１から入力されたアクノリッジ（ＡＥＮ）信号は、まず、リクエスト生成回路９２１（バスマスタ９３においては、リクエスト生成回路９３１）に入力される。リクエスト生成回路９２１（またはリクエスト生成回路９３１）は、アクノリッジ（ＡＥＮ）信号が入力されると、リクエスト（ＲＥＱ）信号の発行を停止するか、連続してリクエスト（ＲＥＱ）信号を発行するかを判断する。そして、リクエスト（ＲＥＱ）信号の発行を停止すると判断した場合には、リクエスト生成回路９２１（またはリクエスト生成回路９３１）は、フリップフロップ９２２（バスマスタ９３においては、フリップフロップ９３２）を初期化（リセット）する。また、連続してリクエスト（ＲＥＱ）信号を発行すると判断した場合には、リクエスト生成回路９２１（またはリクエスト生成回路９３１）は、リクエスト（ＲＥＱ）信号をフリップフロップ９２２（またはフリップフロップ９３２）に入力する。このリクエスト生成回路９２１（またはリクエスト生成回路９３１）による判断と、フリップフロップ９２２（またはフリップフロップ９３２）に対する制御は、アクノリッジ（ＡＥＮ）信号が入力されたクロックサイクル中に行う、すなわち、次のクロックサイクルで判定した結果を反映させる必要があるため、タイミング的に厳しくなる。
【００１５】
また、バスマスタ９２がライトデータ（ＷＤＡＴＡ）を出力する場合、アービタ９１内の調停回路９１１から入力されたデータイネーブル（ＤＥＮ）信号は、まず、データ制御回路９２３に入力される。データ制御回路９２３は、入力されたデータイネーブル（ＤＥＮ）信号に基づいて、最初にアービタ９１に出力するライトデータ（ＷＤＡＴＡ）を、フリップフロップ９２４に出力する。データ制御回路９２３は、フリップフロップ９２４への最初のライトデータ（ＷＤＡＴＡ）の出力を、フリップフロップ９２４の次のクロックサイクルまでに行う必要がある。以降、データ制御回路９２３は、クロックサイクル毎に、次のライトデータ（ＷＤＡＴＡ）を順次フリップフロップ９２４に出力する。図１１（ａ）には、４バーストのライトデータ（ＷＤＡＴＡ）を、２回連続で出力する場合を示している。
【００１６】
また、バスマスタ９３がリードデータ（ＲＤＡＴＡ）の取り込み行う場合、アービタ９１内の調停回路９１１から入力されたデータイネーブル（ＤＥＮ）信号は、まず、データラッチ制御回路９３３に入力される。データラッチ制御回路９３３は、入力されたデータイネーブル（ＤＥＮ）信号に基づいて、最初にアービタ９１から出力されたリードデータ（ＲＤＡＴＡ）を取り込むためのデータラッチ信号を、フリップフロップ９３４に出力する。データラッチ制御回路９３３は、フリップフロップ９３４への最初のデータラッチ信号の出力を、フリップフロップ９３４の次のクロックサイクルまでに行う必要がある。以降、データラッチ制御回路９３３は、クロックサイクル毎に、次のリードデータ（ＲＤＡＴＡ）を取り込むためのデータラッチ信号を、順次フリップフロップ９３４に出力する。
【００１７】
このように、従来のシステムＬＳＩでは、プロトコルの制約によって、タイミング的に厳しい経路が存在する。このタイミング的に厳しい経路のタイミングは、システムＬＳＩ内でアービタ９１が配置される位置と、それぞれのバスマスタが配置される位置との距離が離れると、さらに厳しくなる。このため、従来のシステムＬＳＩでは、システムＬＳＩを高性能にするために、内蔵するバスマスタの数を増やすことが困難である。これは、システムＬＳＩに内蔵するバスマスタの数を増やすことによって、システムＬＳＩ内でアービタ９１が配置される位置と、それぞれのバスマスタが配置される位置との距離が、さらに離れてしまう可能性があるからである。
【００１８】
アービタとバスマスタとの配置位置が離れると、アービタとバスマスタとの間で入出力される信号の配線長が長くなり、配線の遅延時間が増えてしまう。配線の遅延時間が増えると、アービタ９１内の調停回路９１１から出力されたアクノリッジ（ＡＥＮ）信号やデータイネーブル（ＤＥＮ）信号が、それぞれのバスマスタに入力されるまでの時間が遅くなってしまう。これにより、バスマスタ内で次のクロックサイクルまでに行う必要がある制御やデータの出力に使用することができる時間が短くなり、次のクロックサイクルまでに終了しない、すなわち、プロトコルを守れない、という問題となってしまう。
【００１９】
また、システムＬＳＩに内蔵するバスマスタの数を増やすことにより、アービタ９１内の調停回路９１１の回路規模も増大する。これにより、それぞれの信号が通過する回路の段数（論理段数）も増えてしまう。このため、アクノリッジ（ＡＥＮ）信号やデータイネーブル（ＤＥＮ）信号の調停回路９１１からの出力も遅くなってしまうことも考えられる。
【００２０】
また、従来のシステムＬＳＩでは、システムＬＳＩを高性能にするために、動作クロックを高速化することも困難である。これは、システムＬＳＩの動作クロックを高速化することによって１クロックサイクルの期間が短くなってしまうからである。
【００２１】
１クロックサイクルの期間が短くなると、バスマスタ内で次のクロックサイクルまでに行う必要がある制御やデータの出力に使用することができる時間も短くなる。このため、リクエスト生成回路９２１（またはリクエスト生成回路９３１）、データ制御回路９２３、またはデータラッチ制御回路９３３の論理段数による信号の遅延時間を考慮すると、プロトコルを守るためには、ある程度以上に動作クロックを高速化することができない、という問題となってしまう。
【００２２】
そこで、アービタ９１内の調停回路９１１から出力されたアクノリッジ（ＡＥＮ）信号やデータイネーブル（ＤＥＮ）信号も、一旦フリップフロップでラッチすることによって、１クロックサイクル以内に行う必要がある制御やデータの出力に使用することができる時間を確保することが考えられる。
【００２３】
図１２は、従来のシステムＬＳＩにおいて、アービタから出力される信号をラッチするバスマスタの構成および制御タイミングの一例を説明する図である。図１２（ａ）には、従来のシステムＬＳＩにおけるアービタと、アービタから出力される信号をラッチするバスマスタとの接続の一例を示している。なお、図１２（ａ）には、図１１（ｂ）に示したバスマスタ９２に、アービタ９１内の調停回路９１１から出力されたアクノリッジ（ＡＥＮ）信号をラッチするフリップフロップ９２５と、アービタ９１内の調停回路９１１から出力されたデータイネーブル（ＤＥＮ）信号をラッチするフリップフロップ９２６とを追加したバスマスタの構成を示している。
【００２４】
図１２（ｂ）には、従来のシステムＬＳＩにおけるプロトコルに従ったタイミングチャートの一例を示している。図１２（ｂ）には、図１２（ａ）に示したバスマスタ９２からＤＲＡＭにデータを書き込む際のそれぞれの信号のタイミングチャートを示している。なお、以下の説明においては、バスマスタ９２がＤＲＡＭ９０にデータの書き込みを行う場合において、次に連続してＤＲＡＭ９０へのアクセス要求を発行しない場合について説明する。
【００２５】
図１２（ａ）に示したバスマスタ９２からアービタ９１に対してＤＲＡＭ９０へのアクセス要求を表すリクエスト（ＲＥＱ）信号を発行（出力）すると、アービタ９１は、予め定められた調停アルゴリズムに従ってバスマスタ９２を選択し、アクノリッジ（ＡＥＮ）信号を返す（出力する）。バスマスタ９２は、入力されたアクノリッジ（ＡＥＮ）信号を一旦フリップフロップ９２５でラッチし、ラッチしたアクノリッジ（ＡＥＮ＿ｄ）信号を、リクエスト生成回路９２１に出力する。リクエスト生成回路９２１では、フリップフロップ９２５が一旦ラッチしたアクノリッジ（ＡＥＮ＿ｄ）信号に基づいて、フリップフロップ９２２を初期化してリクエスト（ＲＥＱ）信号の発行を停止する。
【００２６】
これにより、図１２（ｂ）に示したように、アービタ９１に入力されているリクエスト（ＲＥＱ）信号が停止する。しかし、リクエスト（ＲＥＱ）信号の発行停止は、フリップフロップ９２５が一旦ラッチしたアクノリッジ（ＡＥＮ＿ｄ）信号に基づいて行われるため、図１２（ｂ）の期間Ｃだけ遅れたタイミングとなってしまう。このため、アービタ９１は、期間Ｃの間にバスマスタ９２から連続してＤＲＡＭ９０へのアクセス要求が発行されたものと誤認識してしまうことになる。
【００２７】
また、アービタ９１は、ＤＲＡＭ９０のデータアクセスが可能なタイミングで、バスマスタ９２に、データイネーブル（ＤＥＮ）信号を発行（出力）する。バスマスタ９２は、入力されたデータイネーブル（ＤＥＮ）信号を一旦フリップフロップ９２６でラッチし、ラッチしたデータイネーブル（ＤＥＮ＿ｄ）信号を、データ制御回路９２３に出力する。データ制御回路９２３では、フリップフロップ９２６が一旦ラッチしたデータイネーブル（ＤＥＮ＿ｄ）信号に基づいて、最初にアービタ９１に出力するライトデータ（ＷＤＡＴＡ）を、フリップフロップ９２４に出力する。なお、データ制御回路９２３は、フリップフロップ９２４への最初のライトデータ（ＷＤＡＴＡ）の出力を、フリップフロップ９２４の次のクロックサイクルまでに行う。
【００２８】
これにより、図１２（ｂ）に示したように、バスマスタ９２からライトデータ（ＷＤＡＴＡ）が、アービタ９１に入力される。しかし、ライトデータ（ＷＤＡＴＡ）のアービタ９１への出力は、フリップフロップ９２６が一旦ラッチしたデータイネーブル（ＤＥＮ＿ｄ）信号に基づいて行われるため、図１２（ｂ）の期間Ｄのように、アービタ９１が出力したデータイネーブル（ＤＥＮ）信号に対して遅れたタイミングとなってしまう。このため、アービタ９１は、期間Ｄの最初に、バスマスタ９２から最初のライトデータ（ＷＤＡＴＡ）が入力される前のデータを、ＤＲＡＭ９０に書き込んでしまうことになる。また、アービタ９１は、期間Ｄの最後では、バスマスタ９２から入力された最後（４つ目）のライトデータ（ＷＤＡＴＡ）を、ＤＲＡＭ９０に書き込まないことになる。
【００２９】
なお、バスマスタがＤＲＡＭからデータを読み出す場合には、図１０（ｂ）または図１１（ａ）に示したライトデータ（ＷＤＡＴＡ）と同じタイミングで、リードデータ（ＲＤＡＴＡ）がバスマスタに入力される。このとき、フリップフロップが一旦ラッチしたデータイネーブル（ＤＥＮ＿ｄ）信号に基づいたデータラッチ信号は、アービタ９１が出力したデータイネーブル（ＤＥＮ）信号に対して遅れたタイミングとなる。このため、リードデータ（ＲＤＡＴＡ）を取り込むバスマスタ（例えば、バスマスタ９３）は、アービタ９１から出力された最初のリードデータ（ＲＤＡＴＡ）を取り込むことができないことになる。また、バスマスタは、アービタ９１から出力された最後のリードデータ（ＲＤＡＴＡ）よりも後のデータを取り込んでしまうことになる。
【００３０】
このように、アービタから出力されたアクノリッジ（ＡＥＮ）信号やデータイネーブル（ＤＥＮ）信号を、単純に一旦フリップフロップでラッチすることによって、１クロックサイクル以内に行う必要がある制御やデータの出力に使用することができる時間を確保する方法では、アービタとバスマスタとの間で予め定められている、上述したようなプロトコルを守った状態でＤＲＡＭへのアクセスを行うことができない、という問題がある。
【００３１】
本発明は、上記の課題認識に基づいてなされたものであり、プロトコルに従ってアクセスを行うアービタとバスマスタとの間の入出力信号のタイミングの制約を改善することができる信号転送回路を提供することを目的としている。
【課題を解決するための手段】
【００３２】
上記の課題を解決するため、本発明の信号転送回路は、メモリへのアクセス要求を出力する複数のバスマスタのそれぞれと、前記メモリが接続され、前記バスマスタのそれぞれから入力された該メモリへの前記アクセス要求を調停し、許可した前記アクセス要求に応じて該メモリへのアクセスを制御するアービタとの間に挿入され、前記アービタと対応する前記バスマスタとの間のそれぞれの信号を中継する信号転送回路であって、当該信号転送回路は、対応する前記バスマスタから入力された前記メモリへのアクセス要求を前記アービタに中継する際に、該前記バスマスタから入力される、該アクセス要求におけるアクセス要求入力信号およびメモリアドレス入力信号のタイミングを整えたアクセス要求出力信号およびメモリアドレス出力信号を、前記アービタに出力すると共に、前記アービタから入力される、該アクセス要求を許可することを表すアクセス許可入力信号に先行して、該アクセス要求を許可するアクセス許可出力信号を、該バスマスタに出力する制御信号転送部と、対応する前記バスマスタから入力された前記メモリへのアクセス要求における複数のデータを該バスマスタまたは前記アービタに中継する際に、前記アービタまたは該バスマスタから入力される、該アクセス要求におけるそれぞれのデータ入力信号のタイミングを整えたそれぞれのデータ出力信号を、該バスマスタまたは前記アービタに出力すると共に、前記アービタから入力される、該アクセス要求におけるそれぞれのデータが有効である期間を表すデータ有効期間入力信号のタイミングを整えたデータ有効期間出力信号を、該バスマスタに出力するデータ信号転送部と、を備える、ことを特徴とする。
【００３３】
また、本発明の前記制御信号転送部は、前記アクセス要求入力信号と前記アクセス許可入力信号とに基づいて、前記アクセス要求出力信号を出力するか否かを決定し、該アクセス要求出力信号を出力すると決定したときに、該アクセス要求出力信号を出力することを表す出力タイミング信号を出力し、該出力タイミング信号を出力した次のタイミングから、該アクセス要求出力信号を出力するアクセス要求タイミング調整部と、前記出力タイミング信号が出力された次のタイミングから、前記メモリアドレス入力信号を、前記メモリアドレス出力信号として出力するアドレスタイミング調整部と、前記出力タイミング信号を、次のタイミングで、前記アクセス許可出力信号として出力するアクセス許可タイミング調整部と、を備え、前記アクセス要求タイミング調整部は、対応する前記バスマスタから、今回のアクセス要求に応じた前記アクセス要求入力信号が入力されたとき、該バスマスタによる前回のアクセス要求に応じた前記アクセス要求出力信号がすでに出力され、前記アービタから前回のアクセス要求を許可する前記アクセス許可入力信号が入力されていないときには、今回のアクセス要求に応じた前記アクセス要求出力信号の出力を保留し、前記アービタから前回のアクセス要求を許可する前記アクセス許可入力信号が入力されたときに、今回のアクセス要求に応じた前記アクセス要求出力信号を出力すると決定する、ことを特徴とする。
【００３４】
また、本発明の信号転送回路が対応する前記バスマスタが、前記アクセス要求によって、前記メモリからデータを読み出すバスマスタである場合、前記データ信号転送部は、前記アービタから入力されたそれぞれの前記データ入力信号を、次のタイミングで、それぞれの前記データ出力信号として、前記バスマスタに出力するリードデータタイミング調整部と、前記アービタから入力された前記データ有効期間入力信号を、次のタイミングで、前記データ有効期間出力信号として、前記バスマスタに出力するリードデータ有効期間タイミング調整部と、を備える、ことを特徴とする。
【００３５】
また、本発明の信号転送回路が対応する前記バスマスタが、前記アクセス要求によって、前記メモリにデータを書き込むバスマスタである場合、前記データ信号転送部は、前記アービタから入力される前記データ有効期間入力信号に先行して、前記データ有効期間出力信号を、前記バスマスタに出力するライトデータ有効期間タイミング調整部と、先行して出力された前記データ有効期間出力信号に応じて、前記バスマスタから入力される複数の前記データ入力信号の内、予め定めた数または全ての前記データ入力信号を保持する複数のデータ保持部を具備し、前記バスマスタから入力されたそれぞれの前記データ入力信号を、次のタイミングで、それぞれの該データ保持部に一旦保持し、前記アービタから前記データ有効期間入力信号が入力されたときに、保持したそれぞれの前記データ入力信号を、タイミングを整えたそれぞれの前記データ出力信号として、前記アービタに出力するライトデータタイミング調整部と、を備える、ことを特徴とする。
【００３６】
また、本発明の前記ライトデータ有効期間タイミング調整部は、前記アクセス許可出力信号と前記データ有効期間出力信号とに基づいて、前記アクセス要求に応じた全ての前記データ出力信号の前記アービタへの出力が終了していない許可したアクセス要求の数を計測し、該計測した結果に基づいて生成した、対応する前記バスマスタによる前記アクセス要求をすでに許可しているが、全ての前記データ出力信号の前記アービタへの出力が終了していない許可済みのアクセス要求があるか否かを表す残許可アクセス信号を出力する許可アクセス計測部と、前記データ有効期間入力信号と前記データ有効期間出力信号とに基づいて、前記データ入力信号を保持することができる前記データ保持部の数を計測し、該計測した結果である保持可能データ数と、該計測した結果に基づいて生成した、前記データ入力信号を保持することができる前記データ保持部があるか否か表す保持可否信号と、を出力するデータ計測部と、を備え、前記残許可アクセス信号と前記保持可否信号とに基づいて生成した信号を、前記データ有効期間出力信号として出力し、前記ライトデータタイミング調整部は、前記保持可能データ数と、前記データ有効期間出力信号と、前記データ有効期間入力信号とに基づいて、前記バスマスタから入力されたそれぞれの前記データ入力信号を、複数の前記データ保持部の内、いずれのデータ保持部に保持させるかを制御するデータ保持制御部、を備える、ことを特徴とする。
【００３７】
また、本発明の前記ライトデータタイミング調整部は、前記バスマスタから入力された２つの前記データ入力信号を、次のタイミングで、それぞれ保持する第１のデータ保持部と第２のデータ保持部とを具備し、前記第２のデータ保持部が保持した前記データ入力信号を、前記データ出力信号として前記アービタに出力し、前記データ保持制御部は、前記保持可能データ数が、前記データ入力信号を保持することができる前記データ保持部の数が１つであることを表し、前記データ有効期間出力信号が、前記データ入力信号が有効であることを表し、前記データ有効期間入力信号が、前記データ出力信号が無効であることを表しているときに、次のタイミングで、前記データ入力信号を前記第１のデータ保持部に保持させ、前記保持可能データ数が、前記データ入力信号を保持することができる前記データ保持部の数が２つであることを表し、前記データ有効期間出力信号が、前記データ入力信号が有効であることを表しているときに、次のタイミングで、前記データ入力信号を前記第２のデータ保持部に保持させ、前記保持可能データ数が、前記データ入力信号を保持することができる前記データ保持部の数がないことを表し、前記データ有効期間入力信号が、前記データ出力信号が有効であることを表しているときに、次のタイミングで、前記第１のデータ保持部に保持している前記データ入力信号を、前記第２のデータ保持部に保持させ、前記保持可能データ数が、前記データ入力信号を保持することができる前記データ保持部の数が１つであることを表し、前記データ有効期間出力信号が、前記データ入力信号が有効であることを表し、前記データ有効期間入力信号が、前記データ出力信号が有効であることを表しているときに、次のタイミングで、前記データ入力信号を前記第２のデータ保持部に保持させるように、前記第１のデータ保持部と前記第２のデータ保持部とを制御する、ことを特徴とする。
【００３８】
また、本発明の信号転送回路における、前記次のタイミングは、当該信号転送回路と、前記アービタと、前記バスマスタとが動作する共通のクロックサイクルのタイミングである、ことを特徴とする。
【発明の効果】
【００３９】
本発明によれば、プロトコルに従ってアクセスを行うアービタとバスマスタとの間の入出力信号のタイミングの制約を改善することができるという効果が得られる。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施形態における信号転送回路の基本構成を示したブロック図である。
【図２】本実施形態の信号転送回路において、アービタとバスマスタと間の制御信号に対応した制御信号転送モジュールの概略構成を示したブロック図である。
【図３】本実施形態の信号転送回路において、アービタとバスマスタと間の制御信号に対応した制御信号転送モジュールの構成の一例を示した回路図である。
【図４】本実施形態の信号転送回路において、アービタとバスマスタと間の制御信号に対応した制御信号転送モジュールのタイミングの一例を示したタイミングチャートである。
【図５】本実施形態の信号転送回路において、ＤＲＡＭからデータを読み出すバスマスタに対応したリードデータ転送モジュールの概略構成を示したブロック図である。
【図６】本実施形態の信号転送回路において、ＤＲＡＭにデータを書き込むバスマスタに対応したライトデータ転送モジュールの概略構成を示したブロック図である。
【図７】本実施形態の信号転送回路において、ＤＲＡＭにデータを書き込むバスマスタに対応したライトデータ転送モジュールの構成の一例を示した回路図である。
【図８】本実施形態の信号転送回路において、ＤＲＡＭにデータを書き込むバスマスタに対応したライトデータ転送モジュールが、ＤＲＡＭに書き込むデータをラッチする際の制御方法を説明する真理値表である。
【図９】本実施形態の信号転送回路において、ＤＲＡＭにデータを書き込むバスマスタに対応したライトデータ転送モジュールのタイミングの一例を示したタイミングチャートである。
【図１０】従来のシステムＬＳＩにおけるアービタとバスマスタとの構成および制御タイミングの一例を説明する図である。
【図１１】従来のシステムＬＳＩにおいて、タイミング的に厳しい経路の一例を説明する図である。
【図１２】従来のシステムＬＳＩにおいて、アービタから出力される信号をラッチするバスマスタの構成および制御タイミングの一例を説明する図である。
【発明を実施するための形態】
【００４１】
以下、本発明の実施形態について、図面を参照して説明する。図１は、本実施形態における信号転送回路の基本構成を示したブロック図である。図１は、本実施形態における信号転送回路の基本的な概念を表している。図１に示したように、本実施形態の信号転送回路は、アービタとバスマスタとの間に挿入される。信号転送回路は、アービタとバスマスタとの間で入出力される信号を転送（中継）する回路である。このとき、信号転送回路とアービタ、およびバスマスタと信号転送回路は、アービタとバスマスタとの間で予め定められたプロトコルと同じプロトコルに従ったタイミングでアクセスされる。
【００４２】
図１（ａ）には、ＤＲＡＭからデータを読み出すバスマスタ（以下、「リードバスマスタ」という）２と、アービタ１のとの間に挿入される信号転送回路を示している。リードバスマスタ２とアービタ１との間に挿入される信号転送回路は、制御信号転送モジュール１０とリードデータ転送モジュール２０とから構成される。また、図１（ｂ）には、ＤＲＡＭにデータを書き込むバスマスタ（以下、「ライトバスマスタ」という）３と、アービタ１のとの間に挿入される信号転送回路を示している。ライトバスマスタ３とアービタ１との間に挿入される信号転送回路は、制御信号転送モジュール１０とライトデータ転送モジュール３０とから構成される。以下の説明においては、リードバスマスタ２またはライトバスマスタ３のいずれか一方を表すときには、単に、「バスマスタ」ともいう。
【００４３】
なお、リードバスマスタ２、ライトバスマスタ３、およびアービタ１の動作は、従来のシステムＬＳＩに内蔵されたバスマスタおよびアービタと同様である。より具体的には、アービタ１は、図１０および図１１に示したアービタ９１と同様に、それぞれのバスマスタから発せられる図示しないＤＲＡＭへのアクセス要求を適切に調停しながら、実際のＤＲＡＭへのアクセスを制御している。また、リードバスマスタ２は、図１１（ｂ）に示したバスマスタ９３と同様に、アービタ１に、図示しないＤＲＡＭからデータを読み出すためのアクセス要求を出力し、アービタ１からアクセス要求が許可されたあとに、アービタ１を介して入力される図示しないＤＲＡＭからのデータを取り込む。また、ライトバスマスタ３は、図１１（ｂ）に示したバスマスタ９２と同様に、アービタ１に、図示しないＤＲＡＭにデータを書き込むためのアクセス要求を出力し、アービタ１からアクセス要求が許可されたあとに、アービタ１を介して図示しないＤＲＡＭに書き込むデータを出力する。従って、リードバスマスタ２、ライトバスマスタ３、およびアービタ１の動作に関する詳細な説明は、省略する。
【００４４】
制御信号転送モジュール１０は、リードバスマスタ２またはライトバスマスタ３からアービタ１に発行される（出力される）、ＤＲＡＭへのアクセス要求を表すリクエスト（ＲＥＱ）信号と、アクセスするＤＲＡＭのアドレスを表すアドレス（ＡＤＲ）とを中継する。また、制御信号転送モジュール１０は、アービタ１が選択したバスマスタに返される（出力される）、ＤＲＡＭへのアクセス要求を受け付けた、すなわち、アクセス要求を許可することを表すアクノリッジ（ＡＥＮ）信号を中継する。
【００４５】
制御信号転送モジュール１０は、タイミング調整部１１０が、リクエスト（ＲＥＱ）信号およびアドレス（ＡＤＲ）のタイミングを整えて、アービタ１に出力する。また、制御信号転送モジュール１０は、タイミング調整部１２０が生成したアクノリッジ（ＡＥＮ）信号を、アービタ１からアクノリッジ（ＡＥＮ）信号が入力されるより前のタイミングで、リードバスマスタ２またはライトバスマスタ３に出力する。これにより、制御信号転送モジュール１０は、システムＬＳＩ内のアービタ１の配置位置とバスマスタの配置位置とが離れていることや、システムＬＳＩの動作クロックを高速化によってクロックサイクルが短くなることによる、信号の遅延時間の制約を緩和する。なお、制御信号転送モジュール１０に関する詳細な説明は、後述する。
【００４６】
リードデータ転送モジュール２０は、アービタ１が選択したリードバスマスタ２に出力される、ＤＲＡＭから読み出したデータが有効である期間を表すデータイネーブル（ＤＥＮ）信号と、ＤＲＡＭから読み出したデータであるリードデータ（ＲＤＡＴＡ）とを中継する。リードバスマスタ２とアービタ１のとの間に挿入される信号転送回路は、制御信号転送モジュール１０とリードデータ転送モジュール２０とが組として使用される。
【００４７】
リードデータ転送モジュール２０は、タイミング調整部２１０が、データイネーブル（ＤＥＮ）信号およびリードデータ（ＲＤＡＴＡ）のタイミングを整えて、リードバスマスタ２に出力する。これにより、リードデータ転送モジュール２０は、システムＬＳＩ内のアービタ１の配置位置とリードバスマスタ２の配置位置とが離れていることや、システムＬＳＩの動作クロックを高速化によってクロックサイクルが短くなることによる、信号の遅延時間の制約を緩和する。なお、リードデータ転送モジュール２０に関する詳細な説明は、後述する。
【００４８】
ライトデータ転送モジュール３０は、アービタ１が選択したライトバスマスタ３に出力される、ＤＲＡＭへのデータの書き込みが有効である期間を表すデータイネーブル（ＤＥＮ）信号と、ライトバスマスタ３からアービタ１に出力される、ＤＲＡＭに書き込むデータであるライトデータ（ＷＤＡＴＡ）を中継する。ライトバスマスタ３とアービタ１のとの間に挿入される信号転送回路は、制御信号転送モジュール１０とライトデータ転送モジュール３０とが組として使用される。
【００４９】
ライトデータ転送モジュール３０は、タイミング調整部３１０が生成したデータイネーブル（ＤＥＮ）信号を、アービタ１からデータイネーブル（ＤＥＮ）信号が入力されるより前のタイミング、すなわち、先行したタイミングで、ライトバスマスタ３に出力する。また、ライトデータ転送モジュール３０は、タイミング調整部３２０が、ライトデータ（ＷＤＡＴＡ）のタイミングを整えて、アービタ１に出力する。これにより、リードデータ転送モジュール２０は、システムＬＳＩ内のアービタ１の配置位置とライトバスマスタ３の配置位置とが離れていることや、システムＬＳＩの動作クロックを高速化によってクロックサイクルが短くなることによる、信号の遅延時間の制約を緩和する。なお、ライトデータ転送モジュール３０に関する詳細な説明は、後述する。
【００５０】
次に、制御信号転送モジュール１０について説明する。図２は、本実施形態の信号転送回路において、アービタとバスマスタと間の制御信号に対応した制御信号転送モジュール１０の概略構成を示したブロック図である。図２では、アービタ１とリードバスマスタ２との間に挿入される信号転送回路に含まれる制御信号転送モジュール１０を示している。なお、アービタ１とライトバスマスタ３との間に挿入される信号転送回路に含まれる制御信号転送モジュール１０も同様の構成である。
【００５１】
制御信号転送モジュール１０は、タイミング調整部１１０としてのリクエストタイミング調整部１１１およびアドレスタイミング調整部１１２と、タイミング調整部１２０と、を備えている。なお、以下の説明においては、タイミング調整部１２０を、アクノリッジタイミング調整部１２０ともいう。
【００５２】
制御信号転送モジュール１０は、リードバスマスタ２から入力されたリクエスト（ＲＥＱ）信号を、リクエストタイミング調整部１１１でタイミングを整えて、アービタ１に出力する。リクエストタイミング調整部１１１は、例えば、リクエスト（ＲＥＱ）信号を一旦ラッチしたのと同様のタイミングで、アービタ１に出力する。また、制御信号転送モジュール１０は、リクエスト（ＲＥＱ）信号と同時にリードバスマスタ２から入力されたアドレス（ＡＤＲ）を、アドレスタイミング調整部１１２でタイミングを整えて、アービタ１に出力する。アドレスタイミング調整部１１２は、例えば、アドレス（ＡＤＲ）を一旦ラッチしたのと同様のタイミングで、アービタ１に出力する。これにより、リードバスマスタ２から入力されたリクエスト（ＲＥＱ）信号およびアドレス（ＡＤＲ）は、制御信号転送モジュール１０によってクロックサイクルのタイミングに整えられて、アービタ１に中継される。
【００５３】
以下の説明においては、リードバスマスタ２から入力されるリクエスト（ＲＥＱ）信号およびアドレス（ＡＤＲ）をそれぞれ、バスマスタリクエスト信号Ｂ＿ＲＥＱおよびバスマスタアドレスＢ＿ＡＤＲという。また、アービタ１に出力するリクエスト（ＲＥＱ）信号およびアドレス（ＡＤＲ）をそれぞれ、アービタリクエスト信号Ａ＿ＲＥＱおよびアービタアドレスＡ＿ＡＤＲという。
【００５４】
また、制御信号転送モジュール１０は、タイミングが整えられたアービタリクエスト信号Ａ＿ＲＥＱおよびアービタアドレスＡ＿ＡＤＲがアービタ１に出力されるタイミング、すなわち、リクエストタイミング調整部１１１およびアドレスタイミング調整部１１２のそれぞれが、バスマスタリクエスト信号Ｂ＿ＲＥＱおよびバスマスタアドレスＢ＿ＡＤＲを一旦ラッチしたのと同様のタイミングで、アクノリッジタイミング調整部１２０が生成したアクノリッジ（ＡＥＮ）信号を、リードバスマスタ２に出力する。これにより、リードバスマスタ２には、アービタ１がリードバスマスタ２を選択したときに返されるアクノリッジ（ＡＥＮ）信号より前のタイミング、すなわち、先行したタイミングで、アクノリッジ（ＡＥＮ）信号が入力される。
【００５５】
以下の説明においては、アービタ１から入力されるアクノリッジ（ＡＥＮ）信号を、アービタアクノリッジ信号Ａ＿ＡＥＮという。また、リードバスマスタ２に出力するアクノリッジ（ＡＥＮ）信号を、バスマスタアクノリッジ信号Ｂ＿ＡＥＮという。
【００５６】
なお、制御信号転送モジュール１０は、バスマスタアクノリッジ信号Ｂ＿ＡＥＮをリードバスマスタ２に返したことによって、リードバスマスタ２から再度バスマスタリクエスト信号Ｂ＿ＲＥＱおよびバスマスタアドレスＢ＿ＡＤＲが入力された場合には、すぐにタイミングが整えられたアービタリクエスト信号Ａ＿ＲＥＱおよびアービタアドレスＡ＿ＡＤＲを、アービタ１に出力しない。
【００５７】
再度入力されたバスマスタリクエスト信号Ｂ＿ＲＥＱおよびバスマスタアドレスＢ＿ＡＤＲに対応した、アービタリクエスト信号Ａ＿ＲＥＱおよびアービタアドレスＡ＿ＡＤＲは、制御信号転送モジュール１０に、アービタ１からのアービタアクノリッジ信号Ａ＿ＡＥＮが入力された後に、アービタ１に出力する。また、制御信号転送モジュール１０は、リクエストタイミング調整部１１１およびアドレスタイミング調整部１１２のそれぞれから、タイミングが整えられたアービタリクエスト信号Ａ＿ＲＥＱおよびアービタアドレスＡ＿ＡＤＲがアービタ１に出力されるタイミングで、再度入力されたバスマスタリクエスト信号Ｂ＿ＲＥＱおよびバスマスタアドレスＢ＿ＡＤＲに対応してアクノリッジタイミング調整部１２０が生成したバスマスタアクノリッジ信号Ｂ＿ＡＥＮを、リードバスマスタ２に出力する。
【００５８】
以降、同様に、制御信号転送モジュール１０は、アービタ１からアービタアクノリッジ信号Ａ＿ＡＥＮが入力された後に、再度入力されたバスマスタリクエスト信号Ｂ＿ＲＥＱおよびバスマスタアドレスＢ＿ＡＤＲに対応したアービタリクエスト信号Ａ＿ＲＥＱおよびアービタアドレスＡ＿ＡＤＲのアービタ１への出力と、バスマスタアクノリッジ信号Ｂ＿ＡＥＮのリードバスマスタ２への出力とを繰り返す。
【００５９】
このような動作によって、制御信号転送モジュール１０は、バスマスタからアービタ１に発行される（出力される）リクエスト（ＲＥＱ）信号およびアドレス（ＡＤＲ）と、アービタ１からバスマスタに返される（出力される）アクノリッジ（ＡＥＮ）信号とを中継する。これにより、制御信号転送モジュール１０をアービタ１とバスマスタとの間に挿入することによって、制御信号転送モジュール１０とアービタ１、およびバスマスタと制御信号転送モジュール１０との間では、アービタ１とバスマスタとの間で予め定められているプロトコルを守った状態とした上で、アービタ１とバスマスタとの間の信号のタイミングを、例えば、フリップフロップを挿入したのと同様の状態にすることができる。
【００６０】
次に、制御信号転送モジュール１０のより詳細な構成について説明する。図３は、本実施形態の信号転送回路において、アービタとバスマスタと間の制御信号に対応した制御信号転送モジュール１０の構成の一例を示した回路図である。図３では、図２と同様に、アービタ１とリードバスマスタ２との間に挿入される制御信号転送モジュール１０を示している。なお、アービタ１とライトバスマスタ３との間に挿入される制御信号転送モジュール１０も同様の構成である。
【００６１】
制御信号転送モジュール１０では、リクエストタイミング調整部１１１が、フリップフロップ１１１１と、判定ロジック１１１２と、判定ロジック１１１３とで構成されている。また、アドレスタイミング調整部１１２およびアクノリッジタイミング調整部１２０は、それぞれフリップフロップで構成されている。以下の説明においては、アドレスタイミング調整部１１２をフリップフロップ１１２ともいい、アクノリッジタイミング調整部１２０をフリップフロップ１２０ともいう。
【００６２】
判定ロジック１１１２は、アービタリクエスト信号Ａ＿ＲＥＱのアービタ１への出力を開始するタイミングを表す、リクエストアサートタイミング信号を生成し、生成したリクエストアサートタイミング信号を、フリップフロップ１１１１のセット（ＳＥＴ）端子に出力する。また、リクエストアサートタイミング信号は、フリップフロップ１１２のイネーブル（ＥＮ）端子、およびフリップフロップ１２０のデータ（Ｄ）端子にも出力される。判定ロジック１１１２は、リードバスマスタ２から最初にバスマスタリクエスト信号Ｂ＿ＲＥＱが発行されたとき、もしくはリードバスマスタ２から再度バスマスタリクエスト信号Ｂ＿ＲＥＱが発行された場合において、アービタ１からアービタアクノリッジ信号Ａ＿ＡＥＮが入力されたときに、リクエストアサートタイミング信号を、アービタリクエスト信号Ａ＿ＲＥＱをアービタ１に出力する状態（以下、「セット状態」という）にする。
【００６３】
リクエストアサートタイミング信号は、リードバスマスタ２から入力されたバスマスタリクエスト信号Ｂ＿ＲＥＱと、アービタ１から入力されたアービタアクノリッジ信号Ａ＿ＡＥＮと、フリップフロップ１１１１が出力するアービタリクエスト信号Ａ＿ＲＥＱとに基づいて生成される。
【００６４】
より具体的には、判定ロジック１１１２は、バスマスタリクエスト信号Ｂ＿ＲＥＱがアクセス要求をしている状態（例えば、“Ｈｉｇｈ”レベル）で、アービタリクエスト信号Ａ＿ＲＥＱがアクセス要求をしていない状態（例えば、“Ｌｏｗ”レベル）のときに、リクエストアサートタイミング信号を、セット状態（例えば、“Ｈｉｇｈ”レベル）にする。これは、リードバスマスタ２から最初にバスマスタリクエスト信号Ｂ＿ＲＥＱが発行されたときに対応している。
【００６５】
また、判定ロジック１１１２は、バスマスタリクエスト信号Ｂ＿ＲＥＱがアクセス要求をしている状態（例えば、“Ｈｉｇｈ”レベル）で、アービタリクエスト信号Ａ＿ＲＥＱがアクセス要求をしている状態（例えば、“Ｈｉｇｈ”レベル）で、アービタアクノリッジ信号Ａ＿ＡＥＮがアクセス要求を許可する状態（例えば、“Ｈｉｇｈ”レベル）となったときに、リクエストアサートタイミング信号を、セット状態（例えば、“Ｈｉｇｈ”レベル）にする。これは、リードバスマスタ２から再度バスマスタリクエスト信号Ｂ＿ＲＥＱが発行された場合において、アービタ１から前回のアービタリクエスト信号Ａ＿ＲＥＱに応じたアービタアクノリッジ信号Ａ＿ＡＥＮが入力されたときに対応している。
【００６６】
上記２つの状態以外のときには、判定ロジック１１１２は、セット状態のリクエストアサートタイミング信号を出力しない。例えば、“Ｌｏｗ”レベルにする。
【００６７】
判定ロジック１１１３は、アービタリクエスト信号Ａ＿ＲＥＱのアービタ１への出力を停止するタイミングを表す、リクエストクリアタイミング信号を生成し、生成したリクエストクリアタイミング信号を、フリップフロップ１１１１のクリア（ＣＬＲ）端子に出力する。判定ロジック１１１３は、アービタ１からアービタアクノリッジ信号Ａ＿ＡＥＮが入力されたときに、リクエストクリアタイミング信号を、アービタリクエスト信号Ａ＿ＲＥＱのアービタ１への出力を停止する状態（以下、「リセット状態」という）にする。
【００６８】
リクエストクリアタイミング信号は、リードバスマスタ２から入力されたバスマスタリクエスト信号Ｂ＿ＲＥＱと、アービタ１から入力されたアービタアクノリッジ信号Ａ＿ＡＥＮとに基づいて生成される。
【００６９】
より具体的には、判定ロジック１１１３は、バスマスタリクエスト信号Ｂ＿ＲＥＱがアクセス要求をしていない状態（例えば、“Ｌｏｗ”レベル）で、アービタアクノリッジ信号Ａ＿ＡＥＮがアクセス要求を許可する状態（例えば、“Ｈｉｇｈ”レベル）となったときに、リクエストクリアタイミング信号を、リセット状態（例えば、“Ｈｉｇｈ”レベル）にする。これは、リードバスマスタ２から再度バスマスタリクエスト信号Ｂ＿ＲＥＱが発行されていない状態で、最後のアービタリクエスト信号Ａ＿ＲＥＱに応じたアービタアクノリッジ信号Ａ＿ＡＥＮが入力されたときに対応している。
【００７０】
上記の状態以外のときには、判定ロジック１１１３は、リセット状態のリクエストクリアタイミング信号を出力しない。例えば、“Ｌｏｗ”レベルにする。
【００７１】
フリップフロップ１１１１は、判定ロジック１１１２からセット（ＳＥＴ）端子に入力されたリクエストアサートタイミング信号と、判定ロジック１１１３からクリア（ＣＬＲ）端子に入力されたリクエストクリアタイミング信号とに応じて生成したアービタリクエスト信号Ａ＿ＲＥＱを、アービタ１に出力する。
【００７２】
より具体的には、フリップフロップ１１１１は、セット状態のリクエストアサートタイミング信号が入力されると、次のクロックサイクルで、アービタリクエスト信号Ａ＿ＲＥＱを、ＤＲＡＭへのアクセスを要求する状態（例えば、“Ｈｉｇｈ”レベル）にする。また、フリップフロップ１１１１は、リセット状態のリクエストクリアタイミング信号が入力されると、次のクロックサイクルで、アービタリクエスト信号Ａ＿ＲＥＱを、ＤＲＡＭへのアクセスを要求しない、すなわち、ＤＲＡＭへのアクセスを停止する状態（例えば、“Ｈｉｇｈ”レベル）にする。また、アービタリクエスト信号Ａ＿ＲＥＱは、判定ロジック１１１２にも出力される。
【００７３】
これにより、リードバスマスタ２から入力されたバスマスタリクエスト信号Ｂ＿ＲＥＱは、フリップフロップ１１１１によってクロックサイクルのタイミングに整えられて、アービタ１に出力されることになる。すなわち、アービタリクエスト信号Ａ＿ＲＥＱは、フリップフロップ１１１１で一旦ラッチしたのと同様のタイミングで、アービタ１に出力されることになる。
【００７４】
フリップフロップ１１２（アドレスタイミング調整部１１２）は、判定ロジック１１１２からイネーブル（ＥＮ）端子に入力されたリクエストアサートタイミング信号に応じて、リードバスマスタ２からデータ（Ｄ）端子に入力されたバスマスタアドレスＢ＿ＡＤＲをラッチし、ラッチしたバスマスタアドレスＢ＿ＡＤＲを、アービタアドレスＡ＿ＡＤＲとしてアービタ１に出力する。なお、制御信号転送モジュール１０には、バスマスタアドレスＢ＿ＡＤＲのビット数分のフリップフロップ１１２が備えられている。
【００７５】
これにより、バスマスタリクエスト信号Ｂ＿ＲＥＱと同時にリードバスマスタ２から入力されたバスマスタアドレスＢ＿ＡＤＲは、フリップフロップ１１２によってクロックサイクルのタイミングに整えられて、アービタ１に出力されることになる。すなわち、バスマスタアドレスＢ＿ＡＤＲは、フリップフロップ１１２で一旦ラッチしたバスマスタリクエスト信号Ｂ＿ＲＥＱと同様のタイミングで、アービタ１に出力されることになる。
【００７６】
フリップフロップ１２０（アクノリッジタイミング調整部１２０）は、判定ロジック１１１２からデータ（Ｄ）端子に入力されたリクエストアサートタイミング信号をラッチし、ラッチしたリクエストアサートタイミング信号を、バスマスタアクノリッジ信号Ｂ＿ＡＥＮとして、リードバスマスタ２に出力する。
【００７７】
これにより、バスマスタアクノリッジ信号Ｂ＿ＡＥＮは、アービタリクエスト信号Ａ＿ＲＥＱとアービタアドレスＡ＿ＡＤＲとをアービタ１に出力するタイミングと同じタイミングで、リードバスマスタ２に出力される。なお、このタイミングでは、今回アービタ１に出力したバスマスタリクエスト信号Ｂ＿ＲＥＱに対するアービタアクノリッジ信号Ａ＿ＡＥＮは、アービタ１から入力されない。すなわち、このタイミングでリードバスマスタ２に出力されるバスマスタアクノリッジ信号Ｂ＿ＡＥＮは、アービタ１からアービタアクノリッジ信号Ａ＿ＡＥＮが入力されるよりも先行したタイミングで出力されることになる。
【００７８】
ここで、図３に示した制御信号転送モジュール１０の動作について説明する。図４は、本実施形態の信号転送回路において、アービタとバスマスタと間の制御信号に対応した制御信号転送モジュール１０のタイミングの一例を示したタイミングチャートである。なお、以下の説明においては、バスマスタリクエスト信号Ｂ＿ＲＥＱおよびアービタリクエスト信号Ａ＿ＲＥＱが“Ｈｉｇｈ”レベルで、ＤＲＡＭへのアクセス要求をしている状態であるものとし、アービタアクノリッジ信号Ａ＿ＡＥＮおよびバスマスタアクノリッジ信号Ｂ＿ＡＥＮが“Ｈｉｇｈ”レベルで、ＤＲＡＭへのアクセス要求を許可する状態であるものとして説明を行う。また、リクエストアサートタイミング信号が“Ｈｉｇｈ”レベルで、セット状態であるものとして説明を行う。
【００７９】
まず、リードバスマスタ２は、ＤＲＡＭへの最初のアクセス要求を発行する。これにより、タイミングｔ１において、“Ｈｉｇｈ”レベルのバスマスタリクエスト信号Ｂ＿ＲＥＱが、制御信号転送モジュール１０に入力される。このとき、アービタリクエスト信号Ａ＿ＲＥＱは“Ｌｏｗ”レベルである。これにより、判定ロジック１１１２は、リクエストアサートタイミング信号を“Ｈｉｇｈ”レベルにする。
【００８０】
その後、次のクロックサイクルであるタイミングｔ２において、フリップフロップ１１１１が、“Ｈｉｇｈ”レベルのアービタリクエスト信号Ａ＿ＲＥＱを、アービタ１に出力する。また、同時に、フリップフロップ１１２が、アービタアドレスＡ＿ＡＤＲ（ＡＤＲ１）を、アービタ１に出力する。これにより、リードバスマスタ２から出力されたバスマスタリクエスト信号Ｂ＿ＲＥＱとバスマスタアドレスＢ＿ＡＤＲ（ＡＤＲ１）とのタイミングが整えられて、アービタ１に中継される。
【００８１】
また、同時に、フリップフロップ１２０は、“Ｈｉｇｈ”レベルのバスマスタアクノリッジ信号Ｂ＿ＡＥＮを、リードバスマスタ２に出力する。これにより、リードバスマスタ２には、タイミングｔ１で出力したＤＲＡＭへのアクセス要求が、事前に許可される。
【００８２】
また、タイミングｔ２において、判定ロジック１１１２に、フリップフロップ１１１１から“Ｈｉｇｈ”レベルのアービタリクエスト信号Ａ＿ＲＥＱが入力される。このとき、アービタアクノリッジ信号Ａ＿ＡＥＮは“Ｌｏｗ”レベルである。これにより、判定ロジック１１１２は、リクエストアサートタイミング信号を“Ｌｏｗ”レベルにする。
【００８３】
リードバスマスタ２が連続してＤＲＡＭにアクセスしない場合、リードバスマスタ２は、“Ｈｉｇｈ”レベルのバスマスタアクノリッジ信号Ｂ＿ＡＥＮが入力されると、ＤＲＡＭへのアクセス要求の発行を停止する。これにより、タイミングｔ３において、制御信号転送モジュール１０に入力されているバスマスタリクエスト信号Ｂ＿ＲＥＱが“Ｌｏｗ”レベルになる。
【００８４】
また、タイミングｔ２において、判定ロジック１１１２がリクエストアサートタイミング信号を“Ｌｏｗ”レベルにしたことにより、タイミングｔ３において、フリップフロップ１２０から出力されているバスマスタアクノリッジ信号Ｂ＿ＡＥＮが“Ｌｏｗ”レベルになる。
【００８５】
その後、アービタリクエスト信号Ａ＿ＲＥＱのＤＲＡＭへのアクセス要求が受け付けられる（許可される）と、タイミングｔ４において、アービタ１からの“Ｈｉｇｈ”レベルのアービタアクノリッジ信号Ａ＿ＡＥＮが、制御信号転送モジュール１０に入力される。これにより、判定ロジック１１１３は、リクエストクリアタイミング信号を“Ｈｉｇｈ”レベルにする。
【００８６】
その後、次のクロックサイクルであるタイミングｔ５において、フリップフロップ１１１１は、アービタリクエスト信号Ａ＿ＲＥＱを、“Ｌｏｗ”レベルにする。これにより、アービタ１は、アービタアクノリッジ信号Ａ＿ＡＥＮを“Ｌｏｗ”レベルにする。
【００８７】
このようにして、リードバスマスタ２によるＤＲＡＭへの１回のアクセスが終了する。なお、リードバスマスタ２が再度ＤＲＡＭにアクセスする際には、再び、ＤＲＡＭへの最初のアクセス要求を発行する。これにより、タイミングｔ６において、“Ｈｉｇｈ”レベルのバスマスタリクエスト信号Ｂ＿ＲＥＱが、制御信号転送モジュール１０に入力される。このとき、アービタリクエスト信号Ａ＿ＲＥＱは“Ｌｏｗ”レベルである。これにより、判定ロジック１１１２は、リクエストアサートタイミング信号を“Ｈｉｇｈ”レベルにする。
【００８８】
その後、次のクロックサイクルであるタイミングｔ７において、フリップフロップ１１１１が、“Ｈｉｇｈ”レベルのアービタリクエスト信号Ａ＿ＲＥＱを、アービタ１に出力する。また、同時に、フリップフロップ１１２が、アービタアドレスＡ＿ＡＤＲ（ＡＤＲ２）を、アービタ１に出力する。これにより、リードバスマスタ２から出力されたバスマスタリクエスト信号Ｂ＿ＲＥＱとバスマスタアドレスＢ＿ＡＤＲ（ＡＤＲ２）とのタイミングが整えられて、アービタ１に中継される。
【００８９】
また、同時に、フリップフロップ１２０は、“Ｈｉｇｈ”レベルのバスマスタアクノリッジ信号Ｂ＿ＡＥＮを、リードバスマスタ２に出力する。これにより、リードバスマスタ２には、タイミングｔ６で出力したＤＲＡＭへのアクセス要求が、事前に許可される。
【００９０】
また、タイミングｔ７において、判定ロジック１１１２に、フリップフロップ１１１１から“Ｈｉｇｈ”レベルのアービタリクエスト信号Ａ＿ＲＥＱが入力される。このとき、アービタアクノリッジ信号Ａ＿ＡＥＮは“Ｌｏｗ”レベルである。これにより、判定ロジック１１１２は、リクエストアサートタイミング信号を“Ｌｏｗ”レベルにする。
【００９１】
リードバスマスタ２が連続してＤＲＡＭにアクセスしない場合、リードバスマスタ２は、“Ｈｉｇｈ”レベルのバスマスタアクノリッジ信号Ｂ＿ＡＥＮが入力されると、ＤＲＡＭへのアクセス要求の発行を停止する。これにより、タイミングｔ８において、制御信号転送モジュール１０に入力されているバスマスタリクエスト信号Ｂ＿ＲＥＱが“Ｌｏｗ”レベルになる。
【００９２】
また、タイミングｔ７において、判定ロジック１１１２がリクエストアサートタイミング信号を“Ｌｏｗ”レベルにしたことにより、タイミングｔ８において、フリップフロップ１２０から出力されているバスマスタアクノリッジ信号Ｂ＿ＡＥＮが“Ｌｏｗ”レベルになる。
【００９３】
その後、リードバスマスタ２がＤＲＡＭにアクセスする際には、再び、ＤＲＡＭへのアクセス要求を発行する。これにより、タイミングｔ９において、“Ｈｉｇｈ”レベルのバスマスタリクエスト信号Ｂ＿ＲＥＱが、制御信号転送モジュール１０に入力される。しかし、タイミングｔ９の時点では、リードバスマスタ２がタイミングｔ６で発行した最初のアクセス要求がアービタ１に受け付けられていない。すなわち、アービタ１から“Ｈｉｇｈ”レベルのアービタアクノリッジ信号Ａ＿ＡＥＮが、制御信号転送モジュール１０に入力されていない。このため、アービタリクエスト信号Ａ＿ＲＥＱは“Ｈｉｇｈ”レベルのままである。従って、判定ロジック１１１２は、リクエストアサートタイミング信号を“Ｈｉｇｈ”レベルにしない。これにより、制御信号転送モジュール１０は、リードバスマスタ２によってタイミングｔ６で発行されたバスマスタリクエスト信号Ｂ＿ＲＥＱに対応するＤＲＡＭへのアクセス要求の状態を継続する。
【００９４】
その後、タイミングｔ７で出力したアービタリクエスト信号Ａ＿ＲＥＱのＤＲＡＭへのアクセス要求が受け付けられる（許可される）と、タイミングｔ１０において、アービタ１から“Ｈｉｇｈ”レベルのアービタアクノリッジ信号Ａ＿ＡＥＮが、制御信号転送モジュール１０に入力される。このとき、タイミングｔ９で発行されたＤＲＡＭへのアクセス要求によって、バスマスタリクエスト信号Ｂ＿ＲＥＱは“Ｈｉｇｈ”レベルのままである。従って、判定ロジック１１１３は、リクエストクリアタイミング信号を“Ｈｉｇｈ”レベルにしない。すなわち、アービタリクエスト信号Ａ＿ＲＥＱをリセット状態にしない。
【００９５】
また、判定ロジック１１１２は、アービタ１から“Ｈｉｇｈ”レベルのアービタアクノリッジ信号Ａ＿ＡＥＮが入力されたことにより、リクエストアサートタイミング信号を“Ｈｉｇｈ”レベルにする。これは、タイミングｔ９でリードバスマスタ２から発行されたＤＲＡＭへのアクセス要求に対応するものである。
【００９６】
これにより、次のクロックサイクルであるタイミングｔ１１において、フリップフロップ１１１１が出力するアービタリクエスト信号Ａ＿ＲＥＱの“Ｈｉｇｈ”レベルが維持され、アービタ１に、連続したＤＲＡＭへのアクセス要求が出力される。
【００９７】
また、タイミングｔ１１では、リクエストアサートタイミング信号に応じて、フリップフロップ１１２によるアービタアドレスＡ＿ＡＤＲの出力が、タイミングｔ９でリードバスマスタ２から発行されたＤＲＡＭへのアクセス要求に対応したアービタアドレスＡ＿ＡＤＲ（ＡＤＲ３）に切り替わる。これにより、タイミングｔ９において、リードバスマスタ２から出力されたバスマスタリクエスト信号Ｂ＿ＲＥＱとバスマスタアドレスＢ＿ＡＤＲ（ＡＤＲ３）とのタイミングが整えられて、アービタ１に中継される。
【００９８】
また、同時に、フリップフロップ１２０は、“Ｈｉｇｈ”レベルのバスマスタアクノリッジ信号Ｂ＿ＡＥＮを、リードバスマスタ２に出力する。これにより、リードバスマスタ２には、タイミングｔ９で出力したＤＲＡＭへのアクセス要求が、事前に許可される。
【００９９】
その後、次のクロックサイクルであるタイミングｔ１２において、フリップフロップ１２０は、リクエストアサートタイミング信号の“Ｌｏｗ”レベルに応じて、バスマスタアクノリッジ信号Ｂ＿ＡＥＮを、“Ｌｏｗ”レベルにする。
【０１００】
また、リードバスマスタ２に“Ｈｉｇｈ”レベルのバスマスタアクノリッジ信号Ｂ＿ＡＥＮが入力された後、リードバスマスタ２が連続してＤＲＡＭにアクセスする際には、ＤＲＡＭへのアクセス要求の発行を停止せず、バスマスタリクエスト信号Ｂ＿ＲＥＱの“Ｈｉｇｈ”レベルを継続する。これにより、タイミングｔ１２においても“Ｈｉｇｈ”レベルのバスマスタリクエスト信号Ｂ＿ＲＥＱが、制御信号転送モジュール１０に入力される。しかし、タイミングｔ１２の時点では、リードバスマスタ２がタイミングｔ９で発行した２回目のアクセス要求がアービタ１に受け付けられていない。すなわち、アービタ１から“Ｈｉｇｈ”レベルのアービタアクノリッジ信号Ａ＿ＡＥＮが、制御信号転送モジュール１０に入力されていない。このため、アービタリクエスト信号Ａ＿ＲＥＱは“Ｈｉｇｈ”レベルのままである。従って、判定ロジック１１１２は、リクエストアサートタイミング信号を“Ｈｉｇｈ”レベルにしない。これにより、制御信号転送モジュール１０は、リードバスマスタ２によってタイミングｔ９で発行されたバスマスタリクエスト信号Ｂ＿ＲＥＱに対応するＤＲＡＭへのアクセス要求の状態を継続する。
【０１０１】
その後、タイミングｔ１１で出力したアービタリクエスト信号Ａ＿ＲＥＱのＤＲＡＭへのアクセス要求が受け付けられる（許可される）と、タイミングｔ１３において、アービタ１から“Ｈｉｇｈ”レベルのアービタアクノリッジ信号Ａ＿ＡＥＮが、制御信号転送モジュール１０に入力される。このとき、タイミングｔ１２で発行されたＤＲＡＭへのアクセス要求によって、バスマスタリクエスト信号Ｂ＿ＲＥＱは“Ｈｉｇｈ”レベルのままである。従って、判定ロジック１１１３は、リクエストクリアタイミング信号を“Ｈｉｇｈ”レベルにせず、アービタリクエスト信号Ａ＿ＲＥＱをリセット状態にしない。
【０１０２】
また、判定ロジック１１１２は、アービタ１から“Ｈｉｇｈ”レベルのアービタアクノリッジ信号Ａ＿ＡＥＮが入力されたことにより、リクエストアサートタイミング信号を“Ｈｉｇｈ”レベルにする。これは、タイミングｔ１２でリードバスマスタ２から発行されたＤＲＡＭへのアクセス要求に対応するものである。
【０１０３】
これにより、次のクロックサイクルであるタイミングｔ１４において、フリップフロップ１１１１が出力するアービタリクエスト信号Ａ＿ＲＥＱの“Ｈｉｇｈ”レベルが維持され、アービタ１に、連続したＤＲＡＭへのアクセス要求が出力される。
【０１０４】
また、タイミングｔ１４では、リクエストアサートタイミング信号に応じて、フリップフロップ１１２によるアービタアドレスＡ＿ＡＤＲの出力が、タイミングｔ１２でリードバスマスタ２から発行されたＤＲＡＭへのアクセス要求に対応したアービタアドレスＡ＿ＡＤＲ（ＡＤＲ４）に切り替わる。これにより、タイミングｔ１２において、リードバスマスタ２から出力されたバスマスタリクエスト信号Ｂ＿ＲＥＱとバスマスタアドレスＢ＿ＡＤＲ（ＡＤＲ４）とのタイミングが整えられて、アービタ１に中継される。
【０１０５】
また、同時に、フリップフロップ１２０は、“Ｈｉｇｈ”レベルのバスマスタアクノリッジ信号Ｂ＿ＡＥＮを、リードバスマスタ２に出力する。これにより、リードバスマスタ２には、タイミングｔ１２で出力したＤＲＡＭへのアクセス要求が、事前に許可される。
【０１０６】
リードバスマスタ２が連続してＤＲＡＭにアクセスしない場合、リードバスマスタ２は、“Ｈｉｇｈ”レベルのバスマスタアクノリッジ信号Ｂ＿ＡＥＮが入力されると、ＤＲＡＭへのアクセス要求の発行を停止する。これにより、タイミングｔ１５において、制御信号転送モジュール１０に入力されているバスマスタリクエスト信号Ｂ＿ＲＥＱが“Ｌｏｗ”レベルになる。
【０１０７】
また、タイミングｔ１５において、フリップフロップ１２０は、リクエストアサートタイミング信号の“Ｌｏｗ”レベルに応じて、バスマスタアクノリッジ信号Ｂ＿ＡＥＮを、“Ｌｏｗ”レベルにする。
【０１０８】
その後、タイミングｔ１４で出力したアービタリクエスト信号Ａ＿ＲＥＱのＤＲＡＭへのアクセス要求が受け付けられる（許可される）と、タイミングｔ１６において、アービタ１から“Ｈｉｇｈ”レベルのアービタアクノリッジ信号Ａ＿ＡＥＮが、制御信号転送モジュール１０に入力される。これにより、判定ロジック１１１３は、リクエストクリアタイミング信号を“Ｈｉｇｈ”レベルにする。
【０１０９】
その後、次のクロックサイクルであるタイミングｔ１７において、フリップフロップ１１１１は、アービタリクエスト信号Ａ＿ＲＥＱを、“Ｌｏｗ”レベルにする。これにより、アービタ１は、アービタアクノリッジ信号Ａ＿ＡＥＮを“Ｌｏｗ”レベルにする。
【０１１０】
このようにして、ＤＲＡＭへのアクセス要求が許可されていない状態でも、リードバスマスタ２は、連続してＤＲＡＭへのアクセス要求を発行し、ＤＲＡＭへのアクセスを行うことができる。なお、フリップフロップ１１１１がアービタリクエスト信号Ａ＿ＲＥＱを、“Ｌｏｗ”レベルにした後に、リードバスマスタ２から再度ＤＲＡＭへのアクセス要求が発行された場合には、図４のタイミングｔ１７以降に示したように、入力された“Ｈｉｇｈ”レベルのバスマスタリクエスト信号Ｂ＿ＲＥＱが、ＤＲＡＭへの最初のアクセス要求であるもとして動作する。図４のタイミングｔ１７以降に示した制御信号転送モジュール１０の動作は、図４のタイミングｔ１〜タイミングｔ１７において説明した動作と同様であるため、タイミングの詳細な説明は省略する。
【０１１１】
上記に述べたとおり、制御信号転送モジュール１０では、リードバスマスタ２からアービタ１に発行される（出力される）バスマスタリクエスト信号Ｂ＿ＲＥＱおよびバスマスタアドレスＢ＿ＡＤＲのタイミングを整えて、アービタ１に出力する。また、制御信号転送モジュール１０では、アービタ１からリードバスマスタ２に返される（出力される）アービタアクノリッジ信号Ａ＿ＡＥＮよりも前のタイミングで、リードバスマスタ２にＤＲＡＭへのアクセス要求を許可する。これらにより、制御信号転送モジュール１０では、アービタ１とリードバスマスタ２との間で予め定められているプロトコルを守った状態で、それぞれの信号を中継することができる。これにより、制御信号転送モジュール１０とアービタ１、およびバスマスタと制御信号転送モジュール１０との間では、予め定められているプロトコルをそれぞれ守った状態とした上で、アービタ１とリードバスマスタ２との間の信号のタイミングを、例えば、フリップフロップを挿入したのと同様の状態にすることができる。このことにより、制御信号転送モジュール１０は、システムＬＳＩ内のアービタ１の配置位置とリードバスマスタ２の配置位置とが離れていることや、システムＬＳＩの動作クロックを高速化によってクロックサイクルが短くなることによる、信号の遅延時間の制約を緩和することができる。
【０１１２】
次に、リードデータ転送モジュール２０について説明する。図５は、本実施形態の信号転送回路において、ＤＲＡＭからデータを読み出すバスマスタに対応したリードデータ転送モジュール２０の概略構成を示したブロック図である。図５では、アービタ１とリードバスマスタ２との間に挿入されるリードデータ転送モジュール２０を示している。
【０１１３】
リードデータ転送モジュール２０は、タイミング調整部２１０として、データイネーブルタイミング調整部２１１と、リードデータタイミング調整部２１２と、を備えている。
【０１１４】
リードデータ転送モジュール２０は、アービタ１から入力されたデータイネーブル（ＤＥＮ）信号を、データイネーブルタイミング調整部２１１でタイミングを整えて、リードバスマスタ２に出力する。データイネーブルタイミング調整部２１１は、例えば、データイネーブル（ＤＥＮ）信号を一旦ラッチし、ラッチしたデータイネーブル（ＤＥＮ）信号をリードバスマスタ２に出力する。また、リードデータ転送モジュール２０は、データイネーブル（ＤＥＮ）信号と同時にアービタ１から入力されたリードデータ（ＲＤＡＴＡ）を、リードデータタイミング調整部２１２でタイミングを整えて、リードバスマスタ２に出力する。リードデータタイミング調整部２１２は、例えば、リードデータ（ＲＤＡＴＡ）を一旦ラッチし、ラッチしたリードデータ（ＲＤＡＴＡ）をリードバスマスタ２に出力する。
【０１１５】
このように、アービタ１から入力されたデータイネーブル（ＤＥＮ）信号およびリードデータ（ＲＤＡＴＡ）は、リードデータ転送モジュール２０によってクロックサイクルのタイミングに整えられて、アービタ１に中継される。これにより、リードデータ転送モジュール２０をアービタ１とリードバスマスタ２との間に挿入することによって、リードデータ転送モジュール２０とアービタ１、およびリードバスマスタ２とリードデータ転送モジュール２０との間では、アービタ１とリードバスマスタ２との間で予め定められているプロトコルを守った状態とした上で、アービタ１とリードバスマスタ２との間の信号のタイミングを、例えば、フリップフロップを挿入したのと同様の状態にすることができる。
【０１１６】
以下の説明においては、アービタ１から入力されるデータイネーブル（ＤＥＮ）信号およびリードデータ（ＲＤＡＴＡ）をそれぞれ、アービタデータリードイネーブル信号Ａ＿ＲＤＥＮおよびアービタリードデータＡ＿ＲＤＡＴＡという。また、リードバスマスタ２に出力するデータイネーブル（ＤＥＮ）信号およびリードデータ（ＲＤＡＴＡ）をそれぞれ、リードバスマスタデータイネーブル信号Ｂ＿ＲＤＥＮおよびバスマスタリードデータＢ＿ＲＤＡＴＡという。
【０１１７】
リードデータ転送モジュール２０では、データイネーブルタイミング調整部２１１およびリードデータタイミング調整部２１２は、それぞれフリップフロップで構成されている。以下の説明においては、データイネーブルタイミング調整部２１１をフリップフロップ２１１ともいい、リードデータタイミング調整部２１２をフリップフロップ２１２ともいう。
【０１１８】
フリップフロップ２１１（データイネーブルタイミング調整部２１１）は、アービタ１から入力されたアービタデータリードイネーブル信号Ａ＿ＲＤＥＮをラッチし、ラッチしたアービタデータリードイネーブル信号Ａ＿ＲＤＥＮを、リードバスマスタデータイネーブル信号Ｂ＿ＲＤＥＮとしてリードバスマスタ２に出力する。
【０１１９】
フリップフロップ２１２（リードデータタイミング調整部２１２）は、アービタ１から入力されたアービタリードデータＡ＿ＲＤＡＴＡをラッチし、ラッチしたアービタリードデータＡ＿ＲＤＡＴＡを、バスマスタリードデータＢ＿ＲＤＡＴＡとしてリードバスマスタ２に出力する。なお、リードデータ転送モジュール２０には、アービタリードデータＡ＿ＲＤＡＴＡのビット数分のフリップフロップ２１２が備えられている。
【０１２０】
なお、図５に示したリードデータ転送モジュール２０の動作は、アービタ１から入力されたアービタデータリードイネーブル信号Ａ＿ＲＤＥＮおよびアービタリードデータＡ＿ＲＤＡＴＡを、フリップフロップ２１１およびフリップフロップ２１２のそれぞれで一旦ラッチして、リードバスマスタデータイネーブル信号Ｂ＿ＲＤＥＮおよびバスマスタリードデータＢ＿ＲＤＡＴＡとして出力するのみであるため、タイミングの詳細な説明は省略する。
【０１２１】
上記に述べたとおり、リードデータ転送モジュール２０では、アービタ１から入力されたアービタデータリードイネーブル信号Ａ＿ＲＤＥＮおよびアービタリードデータＡ＿ＲＤＡＴＡのタイミングを整えて、リードバスマスタ２に出力する。これにより、リードデータ転送モジュール２０では、アービタ１とリードバスマスタ２との間で予め定められているプロトコルを守った状態で、それぞれの信号を中継することができる。これにより、リードデータ転送モジュール２０とアービタ１、およびリードバスマスタ２とリードデータ転送モジュール２０との間では、予め定められているプロトコルを守った状態とした上で、アービタ１とリードバスマスタ２との間の信号のタイミングを、例えば、フリップフロップを挿入したのと同様の状態にすることができる。このことにより、リードデータ転送モジュール２０は、システムＬＳＩ内のアービタ１の配置位置とリードバスマスタ２の配置位置とが離れていることや、システムＬＳＩの動作クロックを高速化によってクロックサイクルが短くなることによる、信号の遅延時間の制約を緩和することができる。
【０１２２】
次に、ライトデータ転送モジュール３０について説明する。図６は、本実施形態の信号転送回路において、ＤＲＡＭにデータを書き込むバスマスタに対応したライトデータ転送モジュール３０の概略構成を示したブロック図である。図６では、アービタ１とライトバスマスタ３との間に挿入されるライトデータ転送モジュール３０を示している。なお、ライトデータ転送モジュール３０では、制御信号転送モジュール１０から出力されるバスマスタアクノリッジ信号Ｂ＿ＡＥＮも用いて動作するため、ライトデータ転送モジュール３０に係わる制御信号転送モジュール１０の一部（アクノリッジタイミング調整部１２０）も併せて示している。
【０１２３】
ライトデータ転送モジュール３０は、タイミング調整部３１０としてのアクノリッジ計測部３１１およびデータイネーブル調整部３１２と、タイミング調整部３２０としてのライトデータバッファ３２１およびライトデータバッファ３２２と、を備えている。
【０１２４】
ライトデータ転送モジュール３０は、制御信号転送モジュール１０からバスマスタアクノリッジ信号Ｂ＿ＡＥＮが出力された次のクロックサイクルで、データイネーブル調整部３１２が生成したデータイネーブル（ＤＥＮ）信号を、ライトバスマスタ３に出力する。これにより、ライトバスマスタ３には、アービタ１がデータイネーブル（ＤＥＮ）信号を出力するより前のタイミング、すなわち、先行したタイミングで、データイネーブル（ＤＥＮ）信号が入力される。なお、ライトデータ転送モジュール３０から先行してライトバスマスタ３に出力するデータイネーブル（ＤＥＮ）信号は、ライトデータ転送モジュール３０内にラッチすることができるライトデータ（ＷＤＡＴＡ）数だけ出力され、その後、アービタ１からデータイネーブル（ＤＥＮ）信号が出力されたときに、残りのデータイネーブル（ＤＥＮ）信号が、ライトバスマスタ３に出力される。
【０１２５】
以下の説明においては、アービタ１から入力されるデータイネーブル（ＤＥＮ）信号をアービタデータライトイネーブル信号Ａ＿ＷＤＥＮといい、ライトバスマスタ３に出力するデータイネーブル（ＤＥＮ）信号をライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮという。
【０１２６】
また、ライトデータ転送モジュール３０は、先行して出力したライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮに応じてライトバスマスタ３から入力されるライトデータ（ＷＤＡＴＡ）を、ライトデータバッファ３２１またはライトデータバッファ３２２に一旦ラッチし、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮに合わせて、ラッチしたライトデータ（ＷＤＡＴＡ）を、アービタ１に出力する。また、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが入力されてからのタイミングで出力した、残りのライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮに応じてライトバスマスタ３から入力されるライトデータ（ＷＤＡＴＡ）も、ライトデータバッファ３２１またはライトデータバッファ３２２に一旦ラッチしてから、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮに合わせて、アービタ１に出力される。これにより、ライトバスマスタ３から入力されたライトデータ（ＷＤＡＴＡ）は、ライトデータ転送モジュール３０によってクロックサイクルのタイミングに整えられて、アービタ１に中継される。
【０１２７】
以下の説明においては、ライトバスマスタ３から入力されるライトデータ（ＷＤＡＴＡ）をバスマスタライトデータＢ＿ＷＤＡＴＡといい、アービタ１に出力するライトデータ（ＷＤＡＴＡ）をアービタライトデータＡ＿ＷＤＡＴＡという。
【０１２８】
このような動作によって、ライトデータ転送モジュール３０は、アービタ１からライトバスマスタ３に発行される（出力される）データイネーブル（ＤＥＮ）信号と、ライトバスマスタ３からアービタ１に出力されるライトデータ（ＷＤＡＴＡ）とを中継する。これにより、ライトデータ転送モジュール３０をアービタ１とライトバスマスタ３との間に挿入することによって、ライトデータ転送モジュール３０とアービタ１、およびライトバスマスタ３とライトデータ転送モジュール３０との間では、アービタ１とライトバスマスタ３との間で予め定められているプロトコルを守った状態とした上で、アービタ１とライトバスマスタ３との間の信号のタイミングを、例えば、フリップフロップを挿入したのと同様の状態にすることができる。
【０１２９】
次に、ライトデータ転送モジュール３０のより詳細な構成について説明する。図７は、本実施形態の信号転送回路において、ＤＲＡＭにデータを書き込むバスマスタに対応したライトデータ転送モジュール３０の構成の一例を示した回路図である。図７では、図６と同様に、アービタ１とライトバスマスタ３との間に挿入されるライトデータ転送モジュール３０と、ライトデータ転送モジュール３０に係わる制御信号転送モジュール１０の一部の回路（アクノリッジタイミング調整部１２０：フリップフロップ１２０）とを併せて示している。なお、以下の説明においては、ライトデータ転送モジュール３０が、４バーストのライトデータ（ＷＤＡＴＡ）に対応している場合を説明する。
【０１３０】
ライトデータ転送モジュール３０では、タイミング調整部３１０が、アクノリッジ計測部３１１と、データイネーブル調整部３１２と、カウンタ３１３と、デコーダ３１４と、ＡＮＤロジック３１５と、カウンタ３１６と、デコーダ３１７と、ＡＮＤロジック３１８と、で構成されている。また、タイミング調整部３２０が、ライトデータバッファ３２１と、ライトデータバッファ３２２と、バッファ制御デコーダ３２３と、セレクタ３２４と、で構成されている。なお、アクノリッジ計測部３１１およびデータイネーブル調整部３１２は、それぞれカウンタとデコーダで構成されている。以下の説明においては、アクノリッジ計測部３１１を、カウンタ３１１ともいい、データイネーブル調整部３１２を、デコーダ３１２ともいう。また、ライトデータバッファ３２１およびライトデータバッファ３２２は、それぞれフリップフロップで構成されている。以下の説明においては、ライトデータバッファ３２１をフリップフロップ３２１ともいい、ライトデータバッファ３２２をフリップフロップ３２２ともいう。
【０１３１】
カウンタ３１３は、イネーブル（ＥＮ）端子に入力された、ライトデータ転送モジュール３０が出力するライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮを、クロックサイクル毎にカウントし、カウントした結果のカウント値をデコーダ３１４に出力する。より具体的には、ライトデータ転送モジュール３０は、４バーストのライトデータ（ＷＤＡＴＡ）に対応しているため、カウンタ３１３は、“０”〜“３”のカウント値をデコーダ３１４に出力する。
【０１３２】
デコーダ３１４は、カウンタ３１３から入力されたライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮのカウント値から、予め定めたカウント値をデコードし、デコードした結果をＡＮＤロジック３１５に出力する。より具体的には、デコーダ３１４は、カウント値が“３”であることを表すデコード信号（例えば、“Ｈｉｇｈ”レベル）を、ＡＮＤロジック３１５に出力する。これは、ライトデータ転送モジュール３０が、４バーストのライトデータ（ＷＤＡＴＡ）に対応しているためであり、デコーダ３１４は、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮの４つ目のクロックサイクルをデコードする。
【０１３３】
ＡＮＤロジック３１５は、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮと、デコーダ３１４から入力されたデコード信号とを論理積した結果である第４データ信号をカウンタ３１１のカウントダウン（ＤＯＷＮ）端子に出力する。ここで、ＡＮＤロジック３１５から出力される第４データ信号は、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが出力されているときの４つ目のクロックサイクル、すなわち、４バーストのバスマスタライトデータＢ＿ＷＤＡＴＡの内、４つ目のバスマスタライトデータＢ＿ＷＤＡＴＡが、ライトバスマスタ３から入力されていることを表す信号である。
【０１３４】
カウンタ３１１（アクノリッジ計測部３１１）は、制御信号転送モジュール１０がバスマスタアクノリッジ信号Ｂ＿ＡＥＮをライトバスマスタ３に出力しているが、ライトデータ転送モジュール３０がアービタライトデータＡ＿ＷＤＡＴＡを出力していないアクセス要求の数をカウントし、カウントした結果であるアクノリッジカウント値をデコーダ３１２に出力する。すなわち、カウンタ３１１は、ライトバスマスタ３によるＤＲＡＭへのアクセス要求に応じた動作が完了していないアクセス要求の数をカウントし、デコーダ３１２に出力する。
【０１３５】
より具体的には、カウンタ３１１は、カウントアップ（ＵＰ）端子に入力された、制御信号転送モジュール１０が出力するバスマスタアクノリッジ信号Ｂ＿ＡＥＮに応じてアクノリッジカウント値をカウントアップし、カウントダウン（ＤＯＷＮ）端子に入力された第４データ信号に応じてアクノリッジカウント値をカウントダウンする。すなわち、制御信号転送モジュール１０がバスマスタアクノリッジ信号Ｂ＿ＡＥＮを出力したときにアクノリッジカウント値をカウントアップし、４つ目のバスマスタライトデータＢ＿ＷＤＡＴＡがライトデータ転送モジュール３０に入力されたときにアクノリッジカウント値をカウントダウンする。このときのアクノリッジカウント値をが、ＤＲＡＭへのアクセスが完了していないアクセス要求の数となる。
【０１３６】
なお、カウントアップ（ＵＰ）端子に入力されたバスマスタアクノリッジ信号Ｂ＿ＡＥＮがカウントアップする状態であり、カウントダウン（ＤＯＷＮ）端子に入力された第４データ信号がカウントダウンする状態である場合には、カウンタ３１１は、現在のアクノリッジカウント値を保持する。
【０１３７】
デコーダ３１２（データイネーブル調整部３１２）は、カウンタ３１１から入力されたアクノリッジカウント値から、予め定めたカウント値をデコードし、デコードした結果をＡＮＤロジック３１８に出力する。より具体的には、デコーダ３１４は、アクノリッジカウント値が“０”以外であることを表すデコード信号（例えば、“Ｈｉｇｈ”レベル）を、ＡＮＤロジック３１８に出力する。デコード信号が“Ｈｉｇｈ”レベルであるということは、すでにバスマスタアクノリッジ信号Ｂ＿ＡＥＮが制御信号転送モジュール１０から出力されているアクセス要求があることを表している。これにより、ライトデータ転送モジュール３０がアービタライトデータＡ＿ＷＤＡＴＡを出力する必要があるアクセス要求が残っているか否かを判断することができる。
【０１３８】
カウンタ３１６は、タイミング調整部３２０にラッチされているバスマスタライトデータＢ＿ＷＤＡＴＡの数をカウントし、カウントした結果であるラッチ領域カウント値をデコーダ３１７に出力する。ここで、カウンタ３１６から出力されるラッチ領域カウント値は、タイミング調整部３２０のラッチ領域にラッチすることができるバスマスタライトデータＢ＿ＷＤＡＴＡの数、すなわち、タイミング調整部３２０の空き領域の数を表すカウント値である。また、カウンタ３１６が出力するラッチ領域カウント値は、バッファ制御デコーダ３２３のカウント（ＣＮＴ）端子にも出力される。
【０１３９】
より具体的には、カウンタ３１６は、カウントアップ（ＵＰ）端子に入力されたアービタデータライトイネーブル信号Ａ＿ＷＤＥＮに応じて、クロックサイクル毎にラッチ領域カウント値をカウントアップし、カウントダウン（ＤＯＷＮ）端子に入力されたライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮに応じて、クロックサイクル毎にラッチ領域カウント値をカウントダウンする。すなわち、カウンタ３１６は、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮに応じてバスマスタライトデータＢ＿ＷＤＡＴＡが入力され、タイミング調整部３２０のラッチ領域にラッチされると、タイミング調整部３２０の空き領域の数をカウントダウンする。また、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮに応じてタイミング調整部３２０のラッチ領域にラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡが、アービタライトデータＡ＿ＷＤＡＴＡとして出力されると、タイミング調整部３２０の空き領域の数をカウントアップする。
【０１４０】
なお、ライトデータ転送モジュール３０では、タイミング調整部３２０に２つのラッチ領域（ライトデータバッファ３２１およびライトデータバッファ３２２）を備えている。このため、タイミング調整部３２０のラッチ領域にバスマスタライトデータＢ＿ＷＤＡＴＡがラッチされていないときの値、すなわち、カウンタ３１６が出力するラッチ領域カウント値の初期値は“２”である。そして、カウンタ３１６は、タイミング調整部３２０の空き領域の数に応じて、“０”（空き領域なし），“１”（空き領域１つあり），“２”（空き領域２つあり）のカウント値を、ラッチ領域カウント値としてデコーダ３１７およびバッファ制御デコーダ３２３に出力する。
【０１４１】
なお、カウントアップ（ＵＰ）端子に入力されたアービタデータライトイネーブル信号Ａ＿ＷＤＥＮがカウントアップする状態であり、カウントダウン（ＤＯＷＮ）端子に入力されたライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮがカウントダウンする状態である場合には、カウンタ３１６は、現在のラッチ領域カウント値を保持する。
【０１４２】
デコーダ３１７は、カウンタ３１６から入力されたラッチ領域カウント値から、予め定めたカウント値をデコードし、デコードした結果をＡＮＤロジック３１８に出力する。より具体的には、デコーダ３１７は、ラッチ領域カウント値が“０”（空き領域なし）以外、すなわち、タイミング調整部３２０に空き領域があることを表すデコード信号（例えば、“Ｈｉｇｈ”レベル）を、ＡＮＤロジック３１８に出力する。デコード信号が“Ｈｉｇｈ”レベルであるということは、タイミング調整部３２０に空き領域があることを表している。
【０１４３】
ＡＮＤロジック３１８は、デコーダ３１２から出力されたデコード信号と、デコーダ３１７から出力されたデコード信号とを論理積した結果を、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮとしてライトバスマスタ３に出力する。ＡＮＤロジック３１８から出力されるライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮは、ライトバスマスタ３にバスマスタアクノリッジ信号Ｂ＿ＡＥＮが出力されており、タイミング調整部３２０に空き領域があることを表している。また、上述したように、ＡＮＤロジック３１８が出力したライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮは、カウンタ３１３のイネーブル（ＥＮ）端子、ＡＮＤロジック３１５、およびカウンタ３１６のカウントダウン（ＤＯＷＮ）端子にも出力される。また、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮは、バッファ制御デコーダ３２３のライトイネーブル（ＷＥ）端子にも出力される。
【０１４４】
フリップフロップ３２１（ライトデータバッファ３２１）は、イネーブル（ＥＮ）端子に入力された、バッファ制御デコーダ３２３からのラッチイネーブル信号ＥＮ１に応じて、データ（Ｄ）端子に入力された、ライトバスマスタ３からのバスマスタライトデータＢ＿ＷＤＡＴＡを一旦ラッチする。フリップフロップ３２１は、ラッチしたバスマスタライトデータＢ＿ＷＤＡＴＡ（以下、「ラッチデータＬ＿ＤＡＴＡ」という）を、セレクタ３２４に出力する。なお、ライトデータ転送モジュール３０には、バスマスタライトデータＢ＿ＷＤＡＴＡのビット数分のフリップフロップ３２１が備えられている。
【０１４５】
セレクタ３２４は、バッファ制御デコーダ３２３から入力されたセレクト信号ＳＥＬに応じて、ライトバスマスタ３から入力されたバスマスタライトデータＢ＿ＷＤＡＴＡ、またはフリップフロップ３２１から出力されたラッチデータＬ＿ＤＡＴＡのいずれかのデータ（以下、「セレクトデータＳ＿ＤＡＴＡ」という）を、フリップフロップ３２２に出力する。なお、ライトデータ転送モジュール３０には、バスマスタライトデータＢ＿ＷＤＡＴＡのビット数分のセレクタ３２４が備えられている。
【０１４６】
フリップフロップ３２２（ライトデータバッファ３２２）は、イネーブル（ＥＮ）端子に入力された、バッファ制御デコーダ３２３からのラッチイネーブル信号ＥＮ２に応じて、データ（Ｄ）端子に入力された、セレクタ３２４からのセレクトデータＳ＿ＤＡＴＡを一旦ラッチする。フリップフロップ３２２は、ラッチしたセレクトデータＳ＿ＤＡＴＡを、アービタライトデータＡ＿ＷＤＡＴＡとして、アービタ１に出力する。なお、ライトデータ転送モジュール３０には、バスマスタライトデータＢ＿ＷＤＡＴＡのビット数分のフリップフロップ３２２が備えられている。
【０１４７】
タイミング調整部３２０では、フリップフロップ３２１と、セレクタ３２４と、フリップフロップ３２２との構成によって、ライトバスマスタ３から入力されたバスマスタライトデータＢ＿ＷＤＡＴＡを順次ラッチして出力する２段のＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ，Ｆｉｒｓｔ  Ｏｕｔ）メモリの機能を実現している。これにより、ライトバスマスタ３から４バーストで入力されるバスマスタライトデータＢ＿ＷＤＡＴＡの内、２つ分のバスマスタライトデータＢ＿ＷＤＡＴＡを、保持することができる。以下の説明においては、フリップフロップ３２１と、セレクタ３２４と、フリップフロップ３２２とを併せて、ＦＩＦＯメモリともいう。
【０１４８】
アービタライトデータＡ＿ＷＤＡＴＡは、ＦＩＦＯメモリの常に同じラッチ領域、すなわち、フリップフロップ３２２から出力される。これは、アービタライトデータＡ＿ＷＤＡＴＡが出力されるタイミングを、クロックサイクルのタイミングに整えるためである。ただし、バスマスタライトデータＢ＿ＷＤＡＴＡを入力するＦＩＦＯメモリのラッチ領域は、常に同じラッチ領域ではなく、ＦＩＦＯメモリ内の空き領域の状態や、アービタライトデータＡ＿ＷＤＡＴＡを出力するタイミングに応じて変更される。すなわち、バスマスタライトデータＢ＿ＷＤＡＴＡをラッチする際には、フリップフロップ３２１またはフリップフロップ３２２のいずれか一方が選択され、選択されたフリップフロップにバスマスタライトデータＢ＿ＷＤＡＴＡをラッチする構成となっている。バスマスタライトデータＢ＿ＷＤＡＴＡをＦＩＦＯメモリにラッチする際の制御は、バッファ制御デコーダ３２３によって行われる。
【０１４９】
なお、ＦＩＦＯメモリの構成は、上述した構成に限定されるものではない。例えば、アービタライトデータＡ＿ＷＤＡＴＡを出力するラッチ領域を選択するセレクタの遅延時間が少なく、アービタライトデータＡ＿ＷＤＡＴＡを出力するタイミングを、クロックサイクルのタイミングに整えることができる場合には、バスマスタライトデータＢ＿ＷＤＡＴＡを交互にラッチし、アービタライトデータＡ＿ＷＤＡＴＡを出力する際に、ラッチ領域を選択する構成としたＦＩＦＯメモリであってもよい。
【０１５０】
バッファ制御デコーダ３２３は、ライトバスマスタ３から入力されたバスマスタライトデータＢ＿ＷＤＡＴＡを、タイミング調整部３２０に備えたＦＩＦＯメモリにラッチする際のラッチ領域の選択制御と、ＦＩＦＯメモリにラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡを、アービタライトデータＡ＿ＷＤＡＴＡとしてアービタ１に出力する際の出力制御とを行う。より具体的には、バッファ制御デコーダ３２３は、カウンタ３１６からカウント（ＣＮＴ）端子に入力されたラッチ領域カウント値と、ＡＮＤロジック３１８からライトイネーブル（ＷＥ）端子に入力されたライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮと、アービタ１からリードイネーブル（ＲＥ）端子に入力されたアービタデータライトイネーブル信号Ａ＿ＷＤＥＮとに基づいて、ＦＩＦＯメモリを制御する。
【０１５１】
バッファ制御デコーダ３２３は、ＦＩＦＯメモリを制御するためのラッチイネーブル信号ＥＮ１をフリップフロップ３２１のイネーブル（ＥＮ）端子に、ラッチイネーブル信号ＥＮ２をフリップフロップ３２２のイネーブル（ＥＮ）端子に、セレクト信号ＳＥＬをセレクタ３２４に、それぞれ出力する。
【０１５２】
バッファ制御デコーダ３２３による、ＦＩＦＯメモリの制御は、図８に示した真理値表に基づいて行われる。図８は、本実施形態の信号転送回路において、ＤＲＡＭにデータを書き込むバスマスタに対応したライトデータ転送モジュール３０が、ＤＲＡＭに書き込むデータをラッチする際の制御方法を説明する真理値表である。なお、図８に示した真理値表において、「×」で表した状態は、ライトデータ転送モジュール３０の論理上発生しない状態を示している。
【０１５３】
図８に示したように、バッファ制御デコーダ３２３は、カウント（ＣＮＴ）端子と、ライトイネーブル（ＷＥ）端子と、リードイネーブル（ＲＥ）端子の状態に応じて、ＦＩＦＯメモリの制御を行う。なお、図８に示した真理値表においては、カウント（ＣＮＴ）の数値が、ラッチ領域カウント値、すなわち、ＦＩＦＯメモリの空き領域の数を表している。また、ライトイネーブル（ＷＥ）の“１”が、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが“Ｈｉｇｈ”レベル、すなわち、バスマスタライトデータＢ＿ＷＤＡＴＡが入力される状態を表している。また、リードイネーブル（ＲＥ）の“１”が、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｈｉｇｈ”レベル、すなわち、アービタライトデータＡ＿ＷＤＡＴＡを出力する状態を表している。
【０１５４】
また、図８に示した真理値表においては、イネーブル（ＥＮ１）の“１”が、フリップフロップ３２１に、バスマスタライトデータＢ＿ＷＤＡＴＡを一旦ラッチさせる状態のラッチイネーブル信号ＥＮ１（例えば、“Ｈｉｇｈ”レベル）を出力することを表している。また、イネーブル（ＥＮ２）の“１”が、フリップフロップ３２２に、セレクトデータＳ＿ＤＡＴＡを一旦ラッチさせる状態のラッチイネーブル信号ＥＮ２（例えば、“Ｈｉｇｈ”レベル）を出力することを表している。また、セレクト（ＳＥＬ）の“０”が、フリップフロップ３２２に出力するセレクトデータＳ＿ＤＡＴＡとしてバスマスタライトデータＢ＿ＷＤＡＴＡを選択するセレクト信号ＳＥＬ（例えば、“Ｌｏｗ”レベル）を出力し、セレクト（ＳＥＬ）の“１”が、セレクトデータＳ＿ＤＡＴＡとしてラッチデータＬ＿ＤＡＴＡを選択するセレクト信号ＳＥＬ（例えば、“Ｈｉｇｈ”レベル）を出力することを表している。
【０１５５】
図８に示したように、例えば、カウント（ＣＮＴ）＝“１”，ライトイネーブル（ＷＥ）＝“１”，リードイネーブル（ＲＥ）＝“０”のときには、ラッチイネーブル信号ＥＮ１＝“１”，ラッチイネーブル信号ＥＮ２＝“０”，セレクト信号ＳＥＬ＝“０”として、フリップフロップ３２１に、バスマスタライトデータＢ＿ＷＤＡＴＡを一旦ラッチさせる。
【０１５６】
また、例えば、カウント（ＣＮＴ）＝“２”，ライトイネーブル（ＷＥ）＝“１”のときには、ラッチイネーブル信号ＥＮ１＝“０”，ラッチイネーブル信号ＥＮ２＝“１”，セレクト信号ＳＥＬ＝“０”として、フリップフロップ３２２に、バスマスタライトデータＢ＿ＷＤＡＴＡを一旦ラッチさせる。そして、フリップフロップ３２２にラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡは、アービタライトデータＡ＿ＷＤＡＴＡとしてのアービタ１に出力される。
【０１５７】
また、例えば、カウント（ＣＮＴ）＝“０”，リードイネーブル（ＲＥ）＝“１”のときには、ラッチイネーブル信号ＥＮ１＝“０”，ラッチイネーブル信号ＥＮ２＝“１”，セレクト信号ＳＥＬ＝“１”として、フリップフロップ３２２に、ラッチデータＬ＿ＤＡＴＡを一旦ラッチさせる。これにより、フリップフロップ３２１が前回ラッチしたバスマスタライトデータＢ＿ＷＤＡＴＡが、フリップフロップ３２２に転送される。そして、フリップフロップ３２２に転送されたラッチデータＬ＿ＤＡＴＡは、アービタライトデータＡ＿ＷＤＡＴＡとしてのアービタ１に出力される。
【０１５８】
また、例えば、カウント（ＣＮＴ）＝“１”，ライトイネーブル（ＷＥ）＝“１”，リードイネーブル（ＲＥ）＝“１”のときには、ラッチイネーブル信号ＥＮ１＝“０”，ラッチイネーブル信号ＥＮ２＝“１”，セレクト信号ＳＥＬ＝“０”として、フリップフロップ３２２に、バスマスタライトデータＢ＿ＷＤＡＴＡを一旦ラッチさせると共に、アービタライトデータＡ＿ＷＤＡＴＡとしてのアービタ１に出力させる。
【０１５９】
ここで、図７に示したライトデータ転送モジュール３０の動作について説明する。図９は、本実施形態の信号転送回路において、ＤＲＡＭにデータを書き込むバスマスタに対応したライトデータ転送モジュール３０のタイミングの一例を示したタイミングチャートである。なお、以下の説明においては、バスマスタアクノリッジ信号Ｂ＿ＡＥＮが“Ｈｉｇｈ”レベルで、ＤＲＡＭへのアクセス要求を許可する状態とし、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮおよびアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｈｉｇｈ”レベルで、ＤＲＡＭへのデータの書き込みが有効である状態として説明を行う。
【０１６０】
まず、ライトデータ転送モジュール３０の初期の状態で、カウンタ３１１のアクノリッジカウント値は“０”である。また、カウンタ３１６のラッチ領域カウント値は“２”（空き領域２つあり）である。
【０１６１】
その後、タイミングｔ１において、制御信号転送モジュール１０が“Ｈｉｇｈ”レベルのバスマスタアクノリッジ信号Ｂ＿ＡＥＮをライトバスマスタ３に出力すると、次のクロックサイクルであるタイミングｔ２において、カウンタ３１１は、カウントアップ（ＵＰ）端子に入力されたバスマスタアクノリッジ信号Ｂ＿ＡＥＮに応じてアクノリッジカウント値をカウントアップして“１”にする。これにより、デコーダ３１２のデコード信号が“Ｈｉｇｈ”レベルになる。このとき、ラッチ領域カウント値は“２”（空き領域２つあり）であるため、デコーダ３１７のデコード信号も“Ｈｉｇｈ”レベルである。これにより、ＡＮＤロジック３１８から、“Ｈｉｇｈ”レベルのライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが、ライトバスマスタ３に出力される。すなわち、ライトバスマスタ３に、事前にライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが出力される。
【０１６２】
その後、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが“Ｈｉｇｈ”レベルになったことにより、次のクロックサイクルであるタイミングｔ３において、バッファ制御デコーダ３２３は、フリップフロップ３２２に、ライトバスマスタ３から入力されたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ０）を、一旦ラッチさせる。これにより、フリップフロップ３２２にラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ０）が、アービタライトデータＡ＿ＷＤＡＴＡ（Ｄ０）として、アービタ１に出力される。
【０１６３】
また、タイミングｔ３において、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであるため、カウンタ３１６は、ラッチ領域カウント値をカウントダウンし、“１”（空き領域１つあり）にする。
【０１６４】
その後、次のクロックサイクルであるタイミングｔ４において、バッファ制御デコーダ３２３は、フリップフロップ３２１に、ライトバスマスタ３から入力されたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ１）を、一旦ラッチさせる。
【０１６５】
また、タイミングｔ４において、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであるため、カウンタ３１６は、ラッチ領域カウント値をカウントダウンし、“０”（空き領域なし）にする。これにより、デコーダ３１７のデコード信号が“Ｌｏｗ”レベルになり、ＡＮＤロジック３１８が出力するライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが、“Ｌｏｗ”レベルになる。これにより、ＦＩＦＯメモリに、２つ分のバスマスタライトデータＢ＿ＷＤＡＴＡが保持される。
【０１６６】
その後、タイミングｔ５において、制御信号転送モジュール１０が“Ｈｉｇｈ”レベルのバスマスタアクノリッジ信号Ｂ＿ＡＥＮをライトバスマスタ３に出力すると、次のクロックサイクルであるタイミングｔ６において、カウンタ３１１は、カウントアップ（ＵＰ）端子に入力されたバスマスタアクノリッジ信号Ｂ＿ＡＥＮに応じてアクノリッジカウント値をカウントアップして“２”にする。
【０１６７】
その後、タイミングｔ７において、アービタ１から“Ｈｉｇｈ”レベルのアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが入力されると、次のクロックサイクルであるタイミングｔ８において、バッファ制御デコーダ３２３は、フリップフロップ３２１にラッチしたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ１）を、フリップフロップ３２２に転送する。これにより、フリップフロップ３２２にラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ１）が、アービタライトデータＡ＿ＷＤＡＴＡ（Ｄ１）として、アービタ１に出力される。
【０１６８】
また、タイミングｔ８において、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであるため、カウンタ３１６は、ラッチ領域カウント値をカウントアップし、“１”（空き領域１つあり）にする。これにより、デコーダ３１７のデコード信号が“Ｈｉｇｈ”レベルになり、ＡＮＤロジック３１８から、“Ｈｉｇｈ”レベルのライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが、ライトバスマスタ３に出力される。すなわち、ライトバスマスタ３に、残りのライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが出力される。
【０１６９】
その後、次のクロックサイクルであるタイミングｔ９において、バッファ制御デコーダ３２３は、フリップフロップ３２２に、ライトバスマスタ３から入力されたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ２）を、一旦ラッチさせる。これにより、フリップフロップ３２２にラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ２）が、アービタライトデータＡ＿ＷＤＡＴＡ（Ｄ２）として、アービタ１に出力される。
【０１７０】
また、タイミングｔ９においては、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであり、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｈｉｇｈ”レベルである。このため、カウンタ３１６は、ラッチ領域カウント値を保持し、“１”（空き領域１つあり）のままにする。
【０１７１】
その後、次のクロックサイクルであるタイミングｔ１０において、バッファ制御デコーダ３２３は、フリップフロップ３２２に、ライトバスマスタ３から入力されたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ３）を、一旦ラッチさせる。これにより、フリップフロップ３２２にラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ３）が、アービタライトデータＡ＿ＷＤＡＴＡ（Ｄ３）として、アービタ１に出力される。
【０１７２】
また、タイミングｔ１０においては、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであり、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｈｉｇｈ”レベルである。このため、カウンタ３１６は、ラッチ領域カウント値を保持し、“１”（空き領域１つあり）のままにする。
【０１７３】
なお、タイミングｔ１０は、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮの４つ目のクロックサイクルである。図９に示したタイミングチャートの一例においては、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮの４つ目のクロックサイクルを、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮ内に、「★」で示している。
【０１７４】
このため、カウンタ３１３は、タイミングｔ１０において、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮのカウント値＝“３”を出力する。これにより、デコーダ３１４のデコード信号が“Ｈｉｇｈ”レベルになり、ＡＮＤロジック３１５から、“Ｈｉｇｈ”レベルの第４データ信号が、カウンタ３１１のカウントダウン（ＤＯＷＮ）端子に入力される。これにより、カウンタ３１１は、カウントダウン（ＤＯＷＮ）端子に入力された第４データ信号に応じてアクノリッジカウント値をカウントダウンして“１”にする。これにより、ライトバスマスタ３による１回目のＤＲＡＭへのアクセスが終了する。
【０１７５】
しかし、タイミングｔ１０においては、デコーダ３１２のデコード信号は“Ｈｉｇｈ”レベルのままである。すなわち、ライトデータ転送モジュール３０がアービタライトデータＡ＿ＷＤＡＴＡを出力する必要があるアクセス要求が残っていることを表している。また、ラッチ領域カウント値は“１”（空き領域１つあり）であるため、デコーダ３１７のデコード信号も“Ｈｉｇｈ”レベルである。これにより、ＡＮＤロジック３１８からは、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮの“Ｈｉｇｈ”レベルが継続してライトバスマスタ３に出力される。すなわち、ライトバスマスタ３による２回目のＤＲＡＭアクセスに応じたライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが、連続して出力される。
【０１７６】
そして、タイミングｔ１０において、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮの“Ｈｉｇｈ”レベルが継続されたことにより、次のクロックサイクルであるタイミングｔ１１において、バッファ制御デコーダ３２３は、フリップフロップ３２２に、ライトバスマスタ３から入力された２回目のＤＲＡＭアクセスにおけるバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ０）を、一旦ラッチさせる。これにより、フリップフロップ３２２にラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ０）が、２回目のＤＲＡＭアクセスのアービタライトデータＡ＿ＷＤＡＴＡ（Ｄ０）として、アービタ１に出力される。
【０１７７】
また、タイミングｔ１１においては、アービタ１から“Ｈｉｇｈ”レベルのアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが、継続して入力されている。このため、タイミングｔ１１においては、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであり、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｈｉｇｈ”レベルである。このため、カウンタ３１６は、ラッチ領域カウント値を保持し、“１”（空き領域１つあり）のままにする。
【０１７８】
また、タイミングｔ１１においては、制御信号転送モジュール１０が“Ｈｉｇｈ”レベルのバスマスタアクノリッジ信号Ｂ＿ＡＥＮをライトバスマスタ３に出力している、このため、次のクロックサイクルであるタイミングｔ１２において、カウンタ３１１は、カウントアップ（ＵＰ）端子に入力されたバスマスタアクノリッジ信号Ｂ＿ＡＥＮに応じてアクノリッジカウント値をカウントアップして“２”にする。
【０１７９】
また、タイミングｔ１２において、バッファ制御デコーダ３２３は、フリップフロップ３２２に、ライトバスマスタ３から入力された２回目のＤＲＡＭアクセスにおけるバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ１）を、一旦ラッチさせる。これにより、フリップフロップ３２２にラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ１）が、２回目のＤＲＡＭアクセスのアービタライトデータＡ＿ＷＤＡＴＡ（Ｄ１）として、アービタ１に出力される。
【０１８０】
また、タイミングｔ１２においては、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであり、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｈｉｇｈ”レベルである。このため、カウンタ３１６は、ラッチ領域カウント値を保持し、“１”（空き領域１つあり）のままにする。
【０１８１】
その後、次のクロックサイクルであるタイミングｔ１３において、バッファ制御デコーダ３２３は、フリップフロップ３２２に、ライトバスマスタ３から入力された２回目のＤＲＡＭアクセスにおけるバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ２）を、一旦ラッチさせる。これにより、フリップフロップ３２２にラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ２）が、２回目のＤＲＡＭアクセスのアービタライトデータＡ＿ＷＤＡＴＡ（Ｄ２）として、アービタ１に出力される。
【０１８２】
また、タイミングｔ１３においては、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであり、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｈｉｇｈ”レベルである。このため、カウンタ３１６は、ラッチ領域カウント値を保持し、“１”（空き領域１つあり）のままにする。
【０１８３】
その後、次のクロックサイクルであるタイミングｔ１４において、バッファ制御デコーダ３２３は、フリップフロップ３２２に、ライトバスマスタ３から入力された２回目のＤＲＡＭアクセスにおけるバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ３）を、一旦ラッチさせる。これにより、フリップフロップ３２２にラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ３）が、２回目のＤＲＡＭアクセスのアービタライトデータＡ＿ＷＤＡＴＡ（Ｄ３）として、アービタ１に出力される。
【０１８４】
また、タイミングｔ１４においては、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであり、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｈｉｇｈ”レベルである。このため、カウンタ３１６は、ラッチ領域カウント値を保持し、“１”（空き領域１つあり）のままにする。
【０１８５】
なお、タイミングｔ１４は、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮの４つ目のクロックサイクルである。このため、カウンタ３１３は、タイミングｔ１４において、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮのカウント値＝“３”を出力する。これにより、デコーダ３１４のデコード信号が“Ｈｉｇｈ”レベルになり、ＡＮＤロジック３１５から、“Ｈｉｇｈ”レベルの第４データ信号が、カウンタ３１１のカウントダウン（ＤＯＷＮ）端子に入力される。これにより、カウンタ３１１は、カウントダウン（ＤＯＷＮ）端子に入力された第４データ信号に応じてアクノリッジカウント値をカウントダウンして“１”にする。これにより、ライトバスマスタ３による２回目のＤＲＡＭへのアクセスが終了する。
【０１８６】
しかし、タイミングｔ１４においては、デコーダ３１２のデコード信号は“Ｈｉｇｈ”レベルのままであり、ライトデータ転送モジュール３０がアービタライトデータＡ＿ＷＤＡＴＡを出力する必要があるアクセス要求が残っている。また、ラッチ領域カウント値は“１”（空き領域１つあり）であるため、デコーダ３１７のデコード信号も“Ｈｉｇｈ”レベルである。これにより、ＡＮＤロジック３１８からは、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮの“Ｈｉｇｈ”レベルが継続してライトバスマスタ３に出力される。すなわち、ライトバスマスタ３による３回目のＤＲＡＭアクセスに応じたライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが、連続して出力される。
【０１８７】
そして、タイミングｔ１４において、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮの“Ｈｉｇｈ”レベルが継続されたことにより、次のクロックサイクルであるタイミングｔ１５において、バッファ制御デコーダ３２３は、フリップフロップ３２２に、ライトバスマスタ３から入力された３回目のＤＲＡＭアクセスにおけるバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ０）を、一旦ラッチさせる。これにより、フリップフロップ３２２にラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ０）が、３回目のＤＲＡＭアクセスのアービタライトデータＡ＿ＷＤＡＴＡ（Ｄ０）として、アービタ１に出力される。
【０１８８】
また、タイミングｔ１５においては、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであり、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｈｉｇｈ”レベルである。このため、カウンタ３１６は、ラッチ領域カウント値を保持し、“１”（空き領域１つあり）のままにする。
【０１８９】
そして、タイミングｔ１５において、アービタ１から入力されているアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｌｏｗ”レベルになる。
【０１９０】
その後、次のクロックサイクルであるタイミングｔ１６においては、アービタ１から出力されているアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｌｏｗ”レベルとなっている。このため、バッファ制御デコーダ３２３は、フリップフロップ３２１に、ライトバスマスタ３から入力された３回目のＤＲＡＭアクセスにおけるバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ１）を、一旦ラッチさせる。
【０１９１】
また、タイミングｔ１６において、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであり、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｌｏｗ”レベルである。このため、カウンタ３１６は、ラッチ領域カウント値をカウントダウンし、“０”（空き領域なし）にする。これにより、デコーダ３１７のデコード信号が“Ｌｏｗ”レベルになり、ＡＮＤロジック３１８が出力するライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが、“Ｌｏｗ”レベルになる。これにより、ＦＩＦＯメモリに、２つ分（Ｄ０およびＤ１）のバスマスタライトデータＢ＿ＷＤＡＴＡが保持される。
【０１９２】
そして、タイミングｔ１６において、アービタ１から“Ｈｉｇｈ”レベルのアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが入力されると、次のクロックサイクルであるタイミングｔ１７において、バッファ制御デコーダ３２３は、フリップフロップ３２１にラッチした３回目のＤＲＡＭアクセスにおけるバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ１）を、フリップフロップ３２２に転送する。これにより、フリップフロップ３２２にラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ１）が、３回目のＤＲＡＭアクセスにおけるアービタライトデータＡ＿ＷＤＡＴＡ（Ｄ１）として、アービタ１に出力される。
【０１９３】
また、タイミングｔ１７において、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであるため、カウンタ３１６は、ラッチ領域カウント値をカウントアップし、“１”（空き領域１つあり）にする。これにより、デコーダ３１７のデコード信号が“Ｈｉｇｈ”レベルになり、ＡＮＤロジック３１８から、“Ｈｉｇｈ”レベルのライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが、ライトバスマスタ３に出力される。すなわち、ライトバスマスタ３による３回目のＤＲＡＭアクセスに応じた残りのライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが出力される。
【０１９４】
そして、タイミングｔ１７において、アービタ１から入力されているアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｌｏｗ”レベルになる。
【０１９５】
その後、次のクロックサイクルであるタイミングｔ１８においては、アービタ１から出力されているアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｌｏｗ”レベルとなっている。このため、バッファ制御デコーダ３２３は、フリップフロップ３２１に、ライトバスマスタ３から入力された３回目のＤＲＡＭアクセスにおけるバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ２）を、一旦ラッチさせる。
【０１９６】
また、タイミングｔ１８において、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであり、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｌｏｗ”レベルである。このため、カウンタ３１６は、ラッチ領域カウント値をカウントダウンし、“０”（空き領域なし）にする。これにより、デコーダ３１７のデコード信号が“Ｌｏｗ”レベルになり、ＡＮＤロジック３１８が出力するライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが、“Ｌｏｗ”レベルになる。これにより、ＦＩＦＯメモリに、２つ分（Ｄ１およびＤ２）のバスマスタライトデータＢ＿ＷＤＡＴＡが保持される。
【０１９７】
そして、タイミングｔ１８において、アービタ１から“Ｈｉｇｈ”レベルのアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが入力されると、次のクロックサイクルであるタイミングｔ１９において、バッファ制御デコーダ３２３は、フリップフロップ３２１にラッチした３回目のＤＲＡＭアクセスにおけるバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ２）を、フリップフロップ３２２に転送する。これにより、フリップフロップ３２２にラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ２）が、３回目のＤＲＡＭアクセスにおけるアービタライトデータＡ＿ＷＤＡＴＡ（Ｄ２）として、アービタ１に出力される。
【０１９８】
また、タイミングｔ１９において、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであるため、カウンタ３１６は、ラッチ領域カウント値をカウントアップし、“１”（空き領域１つあり）にする。これにより、デコーダ３１７のデコード信号が“Ｈｉｇｈ”レベルになり、ＡＮＤロジック３１８から、“Ｈｉｇｈ”レベルのライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが、ライトバスマスタ３に出力される。すなわち、ライトバスマスタ３による３回目のＤＲＡＭアクセスに応じた残りのライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが出力される。
【０１９９】
そして、タイミングｔ１９において、アービタ１から入力されているアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｌｏｗ”レベルになる。
【０２００】
その後、次のクロックサイクルであるタイミングｔ２０においては、アービタ１から出力されているアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｌｏｗ”レベルとなっている。このため、バッファ制御デコーダ３２３は、フリップフロップ３２１に、ライトバスマスタ３から入力された３回目のＤＲＡＭアクセスにおけるバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ３）を、一旦ラッチさせる。
【０２０１】
また、タイミングｔ２０において、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであり、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｌｏｗ”レベルである。このため、カウンタ３１６は、ラッチ領域カウント値をカウントダウンし、“０”（空き領域なし）にする。これにより、デコーダ３１７のデコード信号が“Ｌｏｗ”レベルになり、ＡＮＤロジック３１８が出力するライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮが、“Ｌｏｗ”レベルになる。これにより、ＦＩＦＯメモリに、２つ分（Ｄ２およびＤ３）のバスマスタライトデータＢ＿ＷＤＡＴＡが保持される。
【０２０２】
なお、タイミングｔ２０は、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮの４つ目のクロックサイクルである。このため、カウンタ３１３は、タイミングｔ２０において、ライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮのカウント値＝“３”を出力する。これにより、デコーダ３１４のデコード信号が“Ｈｉｇｈ”レベルになり、ＡＮＤロジック３１５から、“Ｈｉｇｈ”レベルの第４データ信号が、カウンタ３１１のカウントダウン（ＤＯＷＮ）端子に入力される。これにより、カウンタ３１１は、カウントダウン（ＤＯＷＮ）端子に入力された第４データ信号に応じてアクノリッジカウント値をカウントダウンして“０”にする。これにより、ライトバスマスタ３による３回目のＤＲＡＭへのアクセスが終了する。
【０２０３】
また、タイミングｔ２０においては、デコーダ３１２のデコード信号が“Ｌｏｗ”レベルになる。すなわち、ライトデータ転送モジュール３０がアービタライトデータＡ＿ＷＤＡＴＡを出力する必要があるアクセス要求が残っていない。このため、再び制御信号転送モジュール１０が“Ｈｉｇｈ”レベルのバスマスタアクノリッジ信号Ｂ＿ＡＥＮをライトバスマスタ３に出力するまでは、ラッチ領域カウント値の値に係わらず、ＡＮＤロジック３１８が出力するライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮは、“Ｌｏｗ”レベルになる。
【０２０４】
そして、タイミングｔ２０において、アービタ１から“Ｈｉｇｈ”レベルのアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが入力されると、次のクロックサイクルであるタイミングｔ２１において、バッファ制御デコーダ３２３は、フリップフロップ３２１にラッチした３回目のＤＲＡＭアクセスにおけるバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ３）を、フリップフロップ３２２に転送する。これにより、フリップフロップ３２２にラッチされたバスマスタライトデータＢ＿ＷＤＡＴＡ（Ｄ３）が、３回目のＤＲＡＭアクセスにおけるアービタライトデータＡ＿ＷＤＡＴＡ（Ｄ３）として、アービタ１に出力される。
【０２０５】
また、タイミングｔ２１において、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｈｉｇｈ”レベルであるため、カウンタ３１６は、ラッチ領域カウント値をカウントアップし、“１”（空き領域１つあり）にする。
【０２０６】
そして、タイミングｔ２１において、アービタ１から入力されているアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｌｏｗ”レベルになる。その後、アービタ１は、タイミングｔ２２において、“Ｈｉｇｈ”レベルのアービタデータライトイネーブル信号Ａ＿ＷＤＥＮを出力し、フリップフロップ３２２から出力されている３回目のＤＲＡＭアクセスにおけるアービタライトデータＡ＿ＷＤＡＴＡ（Ｄ３）をＤＲＡＭに書き込む。その後、タイミングｔ２３において、アービタデータライトイネーブル信号Ａ＿ＷＤＥＮが“Ｌｏｗ”レベルにし、アービタ１における３回目のＤＲＡＭへのアクセスが終了する。
【０２０７】
このようにして、ライトバスマスタ３によるＤＲＡＭへのアクセスが終了する。なお、ライトバスマスタ３が再度ＤＲＡＭにアクセスする際には、再び、ＤＲＡＭへの最初のアクセス要求を発行する。これにより、制御信号転送モジュール１０が“Ｈｉｇｈ”レベルのバスマスタアクノリッジ信号Ｂ＿ＡＥＮをライトバスマスタ３に出力する。これにより、ライトデータ転送モジュール３０による、アービタ１からライトバスマスタ３に発行される（出力される）データイネーブル（ＤＥＮ）信号と、ライトバスマスタ３からアービタ１に出力されるライトデータ（ＷＤＡＴＡ）との中継の動作が、再度行われる。
【０２０８】
このようにして、アービタ１からアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが入力されていない状態でも、ライトデータ転送モジュール３０が先行して、ライトバスマスタ３にライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮを出力することができる。これにより、ライトデータ転送モジュール３０は、事前にバスマスタライトデータＢ＿ＷＤＡＴＡを保持し、アービタ１からアービタデータライトイネーブル信号Ａ＿ＷＤＥＮが入力されたあとすぐに、アービタライトデータＡ＿ＷＤＡＴＡを出力することができる。なお、ライトバスマスタ３から再度ＤＲＡＭへのアクセス要求が行われ、制御信号転送モジュール１０がバスマスタアクノリッジ信号Ｂ＿ＡＥＮをライトバスマスタ３に出力した場合には、図９のタイミングｔ２３以降に示したように、入力された“Ｈｉｇｈ”レベルのバスマスタアクノリッジ信号Ｂ＿ＡＥＮに応じて、ライトデータ転送モジュール３０が再度動作する。図９のタイミングｔ２３以降に示したライトデータ転送モジュール３０の動作は、図９のタイミングｔ１〜タイミングｔ２３において説明した動作と同様であるため、タイミングの詳細な説明は省略する。
【０２０９】
上記に述べたとおり、ライトデータ転送モジュール３０では、アービタ１からライトバスマスタ３に出力されるアービタデータライトイネーブル信号Ａ＿ＷＤＥＮよりも前のタイミングで、ライトバスマスタ３にライトバスマスタデータイネーブル信号Ｂ＿ＷＤＥＮを出力する。また、ライトデータ転送モジュール３０では、ライトバスマスタ３から入力されたバスマスタライトデータＢ＿ＷＤＡＴＡのタイミングを整えて、アービタ１に出力する。これらにより、ライトデータ転送モジュール３０では、アービタ１とライトバスマスタ３との間で予め定められているプロトコルを守った状態で、それぞれの信号を中継することができる。これにより、ライトデータ転送モジュール３０とアービタ１、およびライトバスマスタ３とライトデータ転送モジュール３０との間では、予め定められているプロトコルをそれぞれ守った状態とした上で、アービタ１とライトバスマスタ３との間の信号のタイミングを、例えば、フリップフロップを挿入したのと同様の状態にすることができる。このことにより、ライトデータ転送モジュール３０は、システムＬＳＩ内のアービタ１の配置位置とライトバスマスタ３の配置位置とが離れていることや、システムＬＳＩの動作クロックを高速化によってクロックサイクルが短くなることによる、信号の遅延時間の制約を緩和することができる。
【０２１０】
上記に述べたとおり、本発明を実施するための形態によれば、信号転送回路を、バスマスタとアービタのとの間に挿入することによって、アービタとバスマスタとの間で予め定められているプロトコルを守った状態で、それぞれの信号を中継することができる。また、信号転送回路とアービタ、およびバスマスタと信号転送回路との間では、アービタとバスマスタとの間で予め定められているプロトコルをそれぞれ守った状態とした上で、信号転送回路とアービタとの間の信号のタイミング、およびバスマスタと信号転送回路との間の信号のタイミングを整え、例えば、フリップフロップを挿入したのと同様の状態にすることができる。これにより、バスマスタやアービタを変更することなく、信号転送回路とアービタとの間の信号、およびバスマスタと信号転送回路との間の信号のタイミングを、改善することができる。このことにより、システムＬＳＩに内蔵するバスマスタの数を増やしたことなどによって、システムＬＳＩ内のアービタの配置位置とバスマスタの配置位置とが離れていることや、システムＬＳＩの動作クロックを高速化したことなどによって、クロックサイクルが短くなってしまったことによる、信号の遅延時間の制約を緩和することができる。これにより、より広帯域のバスシステムを構築した、システムＬＳＩを実現することができる。
【０２１１】
なお、信号転送回路をバスマスタとアービタのとの間に挿入する場合には、バスマスタとアービタのとの間の経路の適切な位置（例えば、中間の位置など）に、信号転送回路を配置することが望ましい。
【０２１２】
なお、本実施形態においては、アービタとバスマスタとの間に、１つの信号転送回路（制御信号転送モジュール１０とリードデータ転送モジュール２０との組、または制御信号転送モジュール１０とライトデータ転送モジュール３０との組）を挿入した場合について説明したが、アービタとバスマスタとの間に挿入する信号転送回路の数は、本発明を実施するための形態に限定されるものではない。例えば、１つの信号転送回路を挿入しても、依然としてアービタとバスマスタとの間の信号がタイミング的に厳しい場合には、複数の信号転送回路（制御信号転送モジュール１０とリードデータ転送モジュール２０との組、または制御信号転送モジュール１０とライトデータ転送モジュール３０との組）を数珠つなぎにして挿入することによって、信号のタイミングを改善することもできる。この場合には、例えば、バスマスタとアービタのとの間の経路が等間隔となるような位置に、それぞれの信号転送回路を配置することが望ましい。
【０２１３】
また、本実施形態においては、タイミング調整部３２０内のフリップフロップ３２１と、セレクタ３２４と、フリップフロップ３２２とによって、２段のＦＩＦＯメモリの機能を実現し、事前に２つ分のバスマスタライトデータＢ＿ＷＤＡＴＡを保持する構成について説明した。しかし、ライトバスマスタ３から出力されるバスマスタライトデータＢ＿ＷＤＡＴＡを保持する構成は、本発明を実施するための形態に限定されるものではない。例えば、４バーストのバスマスタライトデータＢ＿ＷＤＡＴＡを全て保持するメモリ領域をタイミング調整部３２０に備え、事前に全てのバスマスタライトデータＢ＿ＷＤＡＴＡを保持する構成とすることもできる。また、例えば、４バーストのバスマスタライトデータＢ＿ＷＤＡＴＡを全て保持するメモリ領域を、タイミング調整部３２０に２つ備え、ライトバスマスタ３から入力されたバスマスタライトデータＢ＿ＷＤＡＴＡの保持と、アービタ１へのアービタライトデータＡ＿ＷＤＡＴＡの出力とを、交互に着替える構成とすることもできる。
【０２１４】
また、本実施形態においては、リードバスマスタ２またはライトバスマスタ３と、アービタ１との間に、制御信号転送モジュール１０とリードデータ転送モジュール２０との組の信号転送回路、または制御信号転送モジュール１０とライトデータ転送モジュール３０との組の信号転送回路を挿入した場合について説明したが、信号転送回路における転送モジュールの構成は、本発明を実施するための形態に限定されるものではない。例えば、バスマスタが、ＤＲＡＭからのデータの読み出しと、ＤＲＡＭへのデータの書き込みとの両方を行う双方向バスマスタである場合には、制御信号転送モジュール１０と、リードデータ転送モジュール２０と、ライトデータ転送モジュール３０とを１つの組とした信号転送回路を、双方向バスマスタとアービタとの間に挿入することによって、同様に、信号のタイミングを改善することができる。
【０２１５】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【０２１６】
１・・・アービタ
２・・・リードバスマスタ（バスマスタ）
３・・・ライトバスマスタ（バスマスタ）
１０・・・制御信号転送モジュール（信号転送回路，制御信号転送部）
１１０・・・タイミング調整部（アクセス要求タイミング調整部）
１１１・・・リクエストタイミング調整部（アクセス要求タイミング調整部）
１１１１・・・フリップフロップ（アクセス要求タイミング調整部）
１１１２・・・判定ロジック（アクセス要求タイミング調整部）
１１１３・・・判定ロジック（アクセス要求タイミング調整部）
１１２・・・アドレスタイミング調整部，フリップフロップ（アドレスタイミング調整部）
１２０・・・タイミング調整部，アクノリッジタイミング調整部，フリップフロップ（アクセス許可タイミング調整部）
２０・・・リードデータ転送モジュール（信号転送回路，データ信号転送部）
２１０・・・タイミング調整部（リードデータ有効期間タイミング調整部，リードデータタイミング調整部）
２１１・・・データイネーブルタイミング調整部，フリップフロップ（リードデータ有効期間タイミング調整部）
２１２・・・リードデータタイミング調整部，フリップフロップ（リードデータタイミング調整部）
３０・・・ライトデータ転送モジュール（信号転送回路，データ信号転送部）
３１０・・・タイミング調整部（ライトデータ有効期間タイミング調整部）
３１１・・・アクノリッジ計測部，カウンタ（ライトデータ有効期間タイミング調整部，許可アクセス計測部）
３１２・・・データイネーブル調整部，デコーダ（ライトデータ有効期間タイミング調整部，許可アクセス計測部）
３１３・・・カウンタ（ライトデータ有効期間タイミング調整部，許可アクセス計測部）
３１４・・・デコーダ（ライトデータ有効期間タイミング調整部，許可アクセス計測部）
３１５・・・ＡＮＤロジック（ライトデータ有効期間タイミング調整部，許可アクセス計測部）
３１６・・・カウンタ（ライトデータ有効期間タイミング調整部、データ計測部）
３１７・・・デコーダ（ライトデータ有効期間タイミング調整部，データ計測部）
３１８・・・ＡＮＤロジック（ライトデータ有効期間タイミング調整部）
３２０・・・タイミング調整部（ライトデータタイミング調整部）
３２１・・・ライトデータバッファ（ライトデータタイミング調整部，データ保持部，第１のデータ保持部）
３２２・・・ライトデータバッファ（ライトデータタイミング調整部，データ保持部，第２のデータ保持部）
３２３・・・バッファ制御デコーダ，フリップフロップ（ライトデータタイミング調整部，データ保持制御部）
３２４・・・セレクタ，フリップフロップ（ライトデータタイミング調整部，データ保持部）
９０・・・ＤＲＡＭ（メモリ）
９１・・・アービタ
９１１・・・調停回路（アービタ）
９２，９３，９４・・・バスマスタ
９２１，９３１・・・リクエスト生成回路（バスマスタ）
９２２，９２４，９３２，９３４・・・フリップフロップ（バスマスタ）
９２５，９２６・・・フリップフロップ
９２３・・・データ制御回路（バスマスタ）
９３３・・・データラッチ制御回路（バスマスタ）
【図１】
0005829106.tif 000002
【図２】
0005829106.tif 000003
【図３】
0005829106.tif 000004
【図４】
0005829106.tif 000005
【図５】
0005829106.tif 000006
【図６】
0005829106.tif 000007
【図７】
0005829106.tif 000008
【図８】
0005829106.tif 000009
【図９】
0005829106.tif 000010
【図１０】
0005829106.tif 000011
【図１１】
0005829106.tif 000012
【図１２】
0005829106.tif 000013