JP2012043171A - バスシステムおよびバスシステムと接続機器とを接続するブリッジ回路 - Google Patents

バスシステムおよびバスシステムと接続機器とを接続するブリッジ回路 Download PDF

Info

Publication number
JP2012043171A
JP2012043171A JP2010183762A JP2010183762A JP2012043171A JP 2012043171 A JP2012043171 A JP 2012043171A JP 2010183762 A JP2010183762 A JP 2010183762A JP 2010183762 A JP2010183762 A JP 2010183762A JP 2012043171 A JP2012043171 A JP 2012043171A
Authority
JP
Japan
Prior art keywords
signal
write
slave
connection device
master
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.)
Granted
Application number
JP2010183762A
Other languages
English (en)
Other versions
JP5617429B2 (ja
Inventor
Hideki Mitsuhayashi
秀樹 三林
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2010183762A priority Critical patent/JP5617429B2/ja
Priority to US13/067,596 priority patent/US8762616B2/en
Priority to CN201110240431.1A priority patent/CN102375797B/zh
Publication of JP2012043171A publication Critical patent/JP2012043171A/ja
Application granted granted Critical
Publication of JP5617429B2 publication Critical patent/JP5617429B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • G06F13/4036Coupling between buses using bus bridges with arbitration and deadlock prevention

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】バスシステムにおいてスプリットトランザクション実行中の接続機器を、誤動作させることなくバスシステムから切断する。
【解決手段】M台のマスタ100がマスタ切断ブリッジ400を介してインターコネクト300に接続される。S台のスレーブ200がスレーブ切断ブリッジ500を介してインターコネクト300に接続される。マスタ切断信号409により切断が示されると、対応するマスタ100に代わってマスタプロトコル整合部401がスレーブ200とのプロトコル上のやりとりを行う。スレーブ切断信号509により切断が示されると、対応するスレーブ200に代わってスレーブプロトコル整合部501がマスタ100とのプロトコル上のやりとりを行う。マスタ100またはスレーブ200は任意のタイミングで切断および再接続される。
【選択図】図1

Description

本発明は、バスシステムに関し、特にバスシステムと接続機器とを接続するブリッジ回路に関する。
バスシステムにおいては、バス(インターコネクトとも呼称される。)に複数の接続機器が接続され、接続機器間でデータ転送が行われる。データ転送を主導する接続機器はマスタと呼ばれ、受動的に動作する接続機器はスレーブと呼ばれる。マスタとなる接続機器としては、例えばプロセッサが想定される。スレーブとなる接続機器としては、例えばメモリが想定される。
このようなバスシステムにおいては、データ転送のための一連の動作(トランザクション)のうち、データ転送の要求と実際のデータ転送とをそれぞれ独立して制御すること(スプリットトランザクション)により、転送効率を向上させることができる。一方、スプリットトランザクションを許容した場合、あるマスタまたはスレーブが何らかの障害によりハングアップした場合、システム全体のハングアップに至ることがある。例えば、マスタM0およびM1とスレーブS0およびS1とが接続されたインターコネクトにおいて、M0がS0およびS1にアクセスしている最中にS0がハングアップした場合を想定する。S0からのデータをS1よりも先にM0に返す順序規定がある場合、M0とS1との間の転送も完了できなくなる。このとき、S1自身も転送完了できないため、さらにM1からS1にアクセスがあるとこれも完了できず、以上によりS0がハングアップしたことにより、他のM0、M1、S1が全てハングアップしてしまう。
この点、スプリットトランザクションを許容しないシステムでは、同時に1つのアクセスのみが実行されている場合において、ハングアップの原因となっているマスタまたはスレーブをインターコネクトから電気的に切断すれば、システム動作の継続が可能である。例えば、ゲートにバス切断信号を出力することにより、バスマスタを電気的に切断するバスシステムが提案されている(例えば、特許文献1参照。)。
特開2002−269033号公報(図1)
しかしながら、複数転送のアウトスタンディング実行が可能なシステムにおいては、ハングアップした時点において複数のアクセスが実行途中となっていることが起こり得る。したがって、接続機器を電気的に切断しただけでは他の接続機器の誤動作を招き、システム動作を継続することが困難になるおそれがある。
本発明はこのような状況に鑑みてなされたものであり、バスシステムにおいてスプリットトランザクション実行中の接続機器を、誤動作させることなくバスシステムから切断することを目的とする。
本発明は、上記課題を解決するためになされたものであり、その第1の側面は、所定のプロトコルによりやりとりを行う第1および第2の接続機器と、上記第1および第2の接続機器同士を接続するバスと、上記第1の接続機器とバスとの間に挿入されて、上記第1の接続機器の切断指示を受けると、上記第1の接続機器に代わって上記第2の接続機器との間の上記所定のプロトコル上のやりとりを行うブリッジとを備えるバスシステムである。これにより、第1の接続機器が切断された場合であっても第2の接続機器との間のプロトコル上の整合性を担保するという作用をもたらす。
また、この第1の側面において、上記第1の接続機器は上記第2の接続機器との転送を主導する接続機器であり、上記第2の接続機器は上記第1の接続機器との転送に対して受動的に動作する接続機器であってもよい。すなわち、第1の接続機器がマスタとして機能し、第2の接続機器がスレーブとして機能する場合を想定する。この場合において、上記ブリッジは、上記第1の接続機器の切断指示を受けると、上記第1の接続機器からのリードアドレスの発行を停止するとともに上記第2の接続機器からのリードデータの受信を許容するようにしてもよい。また、上記ブリッジは、上記第1の接続機器の切断指示を受けると、上記第1の接続機器からのライトアドレスの発行を停止するとともに上記第2の接続機器からのライトレスポンスの受信を許容するようにしてもよい。このとき、上記ブリッジは、上記第1の接続機器の切断指示を受けた際に上記第1の接続機器からのライトアドレスの発行を停止した場合であってもバースト転送中のライトデータは当該バースト転送の終了まで発行するようにしてもよい。
また、この第1の側面において、上記第2の接続機器は上記第1の接続機器との転送を主導する接続機器であり、上記第1の接続機器は上記第2の接続機器との転送に対して受動的に動作する接続機器であってもよい。すなわち、第2の接続機器がマスタとして機能し、第1の接続機器がスレーブとして機能する場合を想定する。この場合において、上記ブリッジは、上記第1の接続機器の切断指示を受けると、上記第2の接続機器からのリードアドレスの受信を許容するとともにエラー情報を示す固定値を上記第2の接続機器に返送するようにしてもよい。また、上記ブリッジは、上記第1の接続機器の切断指示を受けると、上記第2の接続機器からのライトアドレスの受信を許容するとともにエラー情報を示す固定値を上記第2の接続機器に返送するようにしてもよい。
また、この第1の側面において、上記ブリッジは、上記第1の接続機器の切断指示を受けると、上記第1の接続機器からの信号を所定のレベルにクランプするようにしてもよい。これにより、第1の接続機器が切断された際に信号を安定化させるという作用をもたらす。
また、本発明の第2の側面は、所定のプロトコルによりやりとりを行う第1および第2の接続機器と、上記第1および第2の接続機器同士を接続するバスとを備えるバスシステムにおいて上記第1の接続機器とバスとの間に挿入されて、上記第1の接続機器の切断指示を受けると、上記第1の接続機器に代わって上記第2の接続機器との間の上記所定のプロトコル上のやりとりを行うブリッジ回路である。これにより、第1の接続機器が切断された場合であっても第2の接続機器との間のプロトコル上の整合性を担保するという作用をもたらす。
本発明によれば、バスシステムにおいてスプリットトランザクション実行中の接続機器を、誤動作させることなくバスシステムから切断することができるという優れた効果を奏し得る。
本発明の第1の実施の形態におけるバスシステムの全体構成例を示す図である。 本発明の第1の実施の形態におけるマスタプロトコル整合部401の構成例を示す図である。 AXIプロトコルにおけるリードアドレスチャンネルを構成する信号を示す図である。 AXIプロトコルにおけるリードデータチャンネルを構成する信号を示す図である。 AXIプロトコルにおけるライトアドレスチャンネルを構成する信号を示す図である。 AXIプロトコルにおけるライトデータチャンネルを構成する信号を示す図である。 AXIプロトコルにおけるライトレスポンスチャンネルを構成する信号を示す図である。 本発明の第1の実施の形態におけるマスタリード整合部410の構成例を示す図である。 本発明の第1の実施の形態におけるリセット優先SRフリップフロップ421の動作の真理値表を示す図である。 本発明の第1の実施の形態におけるマスタライト整合部450の構成例を示す図である。 本発明の第1の実施の形態におけるFIFO600の動作例を示す図である。 本発明の第1の実施の形態におけるスレーブプロトコル整合部501の構成例を示す図である。 本発明の第1の実施の形態におけるスレーブリード整合部510の構成例を示す図である。 AXIプロトコルにおけるリードレスポンスRRESP信号およびライトレスポンスBRESP信号の意味を示す図である。 本発明の第1の実施の形態におけるスレーブライト整合部550の構成例を示す図である。 本発明の第2の実施の形態におけるバスシステムの全体構成例を示す図である。 本発明の第2の実施の形態におけるマスタ切断ブリッジ400の構成例を示す図である。 本発明の第2の実施の形態におけるスレーブ切断ブリッジ500の構成例を示す図である。 本発明の第2の実施の形態における信号クランプ部402および502に用いられるクランプ回路の構成例を示す図である。
以下、本発明を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(切断時の信号クランプを想定しない例)
2.第2の実施の形態(切断時の信号クランプを想定する例)
<1.第1の実施の形態>
[バスシステムの全体構成]
図1は、本発明の第1の実施の形態におけるバスシステムの全体構成例を示す図である。このバスシステムでは、バスとして機能するインターコネクト300に、複数の接続機器が接続される。複数の接続機器は、M台のマスタ100とS台のスレーブ200とに分類される。マスタ100はデータ転送を主導する接続機器であり、スレーブ200は受動的に動作する接続機器である。なお、MおよびSは1以上の整数である。
また、本発明の第1の実施の形態では、インターコネクト300とマスタ100の各々との間にそれぞれマスタ切断ブリッジ400が接続され、インターコネクト300とスレーブ200の各々との間にそれぞれスレーブ切断ブリッジ500が接続される。マスタ切断ブリッジ400の各々はマスタプロトコル整合部401を備える。このマスタプロトコル整合部401は、接続されているマスタ100を切断する際にバスプロトコル上の整合性を担保するものである。スレーブ切断ブリッジ500の各々はスレーブプロトコル整合部501を備える。このスレーブプロトコル整合部501は、接続されているスレーブ200を切断する際にバスプロトコル上の整合性を担保するものである。
マスタ切断ブリッジ400の各々にはそれぞれ独立したマスタ切断信号409が入力され、これに従って対応するマスタ100が切断される。すなわち、マスタ切断信号409はM本の信号から構成される。同様に、スレーブ切断ブリッジ500の各々にはそれぞれ独立したスレーブ切断信号509が入力され、これに従って対応するスレーブ200が切断される。すなわち、スレーブ切断信号509はS本の信号から構成される。これらマスタ切断信号409およびスレーブ切断信号509による切断指示は、インターコネクト300においてハングアップを検出したことを契機としてもよく、また、ユーザからの操作入力を契機としてもよい。これらマスタ切断信号409およびスレーブ切断信号509の遷移タイミングは任意のタイミングでよく、他の信号との同期を考慮する必要はない。
なお、マスタ100は、特許請求の範囲に記載の第1または第2の接続機器の一例である。また、スレーブ200は、特許請求の範囲に記載の第2または第1の接続機器の一例である。また、インターコネクト300は、特許請求の範囲に記載のバスの一例である。また、マスタ切断ブリッジ400およびスレーブ切断ブリッジ500は、特許請求の範囲に記載のブリッジの一例である。
[マスタプロトコル整合部の構成]
図2は、本発明の第1の実施の形態におけるマスタプロトコル整合部401の構成例を示す図である。このマスタプロトコル整合部401は、マスタリード整合部410と、マスタライト整合部450とを備えている。マスタリード整合部410およびマスタライト整合部450には、共通のマスタ切断信号409が入力される。
マスタリード整合部410は、対応するマスタ100によるリード動作中にそのマスタ100が切断された場合に、プロトコル上の整合性を担保するためのものである。ここでは、データ転送の要求と実際のデータ転送とをそれぞれ独立して制御する(スプリットトランザクション)バスの代表例として、AXI(Advanced eXtensible Interface)プロトコルを想定する。このAXIプロトコルでは、リード動作のためのパスとして、リードアドレスチャンネルおよびリードデータチャンネルが用意されている。マスタ100からリードアドレスチャンネルを介してスレーブ200にリードアドレスを含むリクエストが転送されると、これに応答してリードデータチャンネルを介してスレーブ200からマスタ100にリードデータが転送されるようになっている。
マスタライト整合部450は、対応するマスタ100によるライト動作中にそのマスタ100が切断された場合に、プロトコル上の整合性を担保するためのものである。AXIプロトコルでは、ライト動作のためのパスとして、ライトアドレスチャンネル、ライトデータチャンネルおよびライトレスポンスチャンネルが用意されている。マスタ100からライトアドレスチャンネルおよびライトデータチャンネルを介してスレーブ200にライトリクエストが転送されると、これに応答してスレーブ200においてライト動作が行われる。そして、そのライト動作の結果が、ライトレスポンスチャンネルを介してスレーブ200からマスタ100に転送されるようになっている。
AXIプロトコルでは、それぞれのチャンネルにおいてバリッド信号(VALID)およびレディ信号(READY)がともにアサートされているときに情報の伝達(例えば、データ転送)が行われる。例えば、リードアドレスチャンネルの場合、送信元であるマスタ100はリードアドレス等をセットするとともに、バリッド信号(ARVALID)を「1」にアサートする。このとき、受信側であるスレーブ200は、受信可能となるタイミングにおいてレディ信号(ARREADY)を「1」にアサートする。これにより、バリッド信号(ARVALID)およびレディ信号(ARREADY)がともに「1」にアサートされているときに、リードアドレス等が伝達される。
各チャンネルの詳細については後述するが、各チャンネルの信号名には、マスタ100からスレーブ200側に接続する信号には「S_」が、スレーブ200の方からマスタ100側に接続する信号には「M_」がそれぞれ接頭辞として付加される。そして、接頭辞に続き、リードアドレスチャンネルには「AR」が、リードデータチャンネルには「R」が、ライトアドレスチャンネルには「AW」が、ライトデータチャンネルには「W」が、ライトレスポンスチャンネルには「B」がそれぞれ付加される。また、この図では、バリッド信号(VALID)およびレディ信号(READY)以外の信号を、「*」により総称している。また、実線矢印はバリッドおよび送出情報の方向であり、点線矢印はレディ信号の方向を表している。
[AXIプロトコルにおけるチャンネル構成]
図3は、AXIプロトコルにおけるリードアドレスチャンネルを構成する信号を示す図である。リードアドレスチャンネルは、リードアドレスをマスタ100からスレーブ200に伝達するためのチャンネルである。このリードアドレスチャンネルは、リードアドレス識別子、リードアドレス、バースト長、バーストサイズ、バーストタイプ、ロックタイプ、キャッシュタイプ、プロテクションタイプ、リードアドレスバリッド、リードアドレスレディの各信号からなる。これらの信号のうち、リードアドレスレディのみがスレーブ200からの信号であり、これ以外はマスタ100からの信号である。
リードアドレス識別子ARID[3:0]は、信号のリードアドレスグループを識別するための4ビットのタグである。AXIプロトコルでは、マスタがトランザクションを発行する際に、スレーブに対して順序関係を維持することを要求する場合には、同じ識別子を付与することになっている。換言すれば、識別子が異なるトランザクション間では順序関係が維持される保証はない。
リードアドレスARADDR[31:0]は、リード対象となる32ビットのアドレスであり、バースト転送における初期アドレスを示す信号である。
バースト長ARLEN[3:0]は、バースト転送のデータ数を示す4ビットの信号である。「1」から「16」の何れかのデータ数が4ビットにエンコードされて示される。
バーストサイズARSIZE[2:0]は、バースト転送の各回における転送サイズを示す3ビットの信号である。「20」、「21」、「22」、「23」、「24」、「25」、「26」、「27」の何れかの転送サイズが3ビットにエンコードされて示される。
バーストタイプARBURST[1:0]は、バースト転送のアドレス計算のタイプを示す2ビットの信号である。具体的には、FIFO型、連続アクセス、キャッシュラインの何れかのタイプを指定できるようになっている。
ロックタイプARLOCK[1:0]は、アトミックアクセスのための情報を示す2ビットの信号である。具体的には、ノーマルアクセス、排他的アクセス、ロック付きアクセスの何れかのタイプを指定できるようになっている。
キャッシュタイプARCACHE[3:0]は、キャッシュメモリ制御に必要な情報を示す4ビットの信号である。具体的には、キャッシュ可能か否か、ライトスルーかライトバックか等の制御情報が示される。
プロテクションタイプARPROT[2:0]は、プロテクション制御に必要な情報を示す3ビットの信号である。具体的には、特権アクセス、非セキュアアクセス、インストラクションアクセスの各プロテクションレベルを指定できるようになっている。
リードアドレスバリッドARVALIDは、アドレスおよび制御信号の有効性を示すバリッド信号である。リードアドレスレディARREADYは、スレーブ200がアドレスおよび制御信号を受け取ることができる状態にあるか否かを示すレディ信号である。前述のように、リードアドレスバリッドARVALIDおよびリードアドレスレディARREADYがともにアサートされているときに、アドレスおよび制御信号の転送が行われる。
図4は、AXIプロトコルにおけるリードデータチャンネルを構成する信号を示す図である。リードデータチャンネルは、リードデータをスレーブ200からマスタ100に転送するためのチャンネルである。このリードデータチャンネルは、リード識別子タグ、リードデータ、リードレスポンス、リードラスト、リードバリッド、リードレディの各信号からなる。これらの信号のうち、リードレディのみがマスタ100からの信号であり、これ以外はスレーブ200からの信号である。
リード識別子タグRID[3:0]は、信号のリードデータグループを識別するための4ビットのタグである。このリード識別子タグRID[3:0]はスレーブにおいて生成されるものであり、リードアドレス識別子ARID[3:0]と一致していなければならない。
リードデータRDATA[31:0]は、リードトランザクションによるスレーブ200からのリードデータである。ここでは32ビット幅のリードデータバスを想定したが、RDATAのビット幅はリードデータバス幅に応じて変化する。リードデータバスは、8、16、32、64、128、256、512および1024の何れかのビット幅を有する。
リードレスポンスRRESP[1:0]は、リードトランザクションによるデータ転送の状態を示す2ビットの信号である。信号内容の詳細については後述する。
リードラストRLASTは、リードトランザクションにおける最終のデータ転送である旨を示す信号である。
リードバリッドRVALIDは、要求されたリードデータの有効性を示すバリッド信号である。リードレディRREADYは、マスタ100がリードデータを受け取ることができる状態にあるか否かを示すレディ信号である。前述のように、リードバリッドRVALIDおよびリードレディRREADYがともにアサートされているときに、リードデータの転送が行われる。
図5は、AXIプロトコルにおけるライトアドレスチャンネルを構成する信号を示す図である。ライトアドレスチャンネルは、ライトアドレスをマスタ100からスレーブ200に伝達するためのチャンネルである。このライトアドレスチャンネルは、ライトアドレス識別子、ライトアドレス、バースト長、バーストサイズ、バーストタイプ、ロックタイプ、キャッシュタイプ、プロテクションタイプ、ライトアドレスバリッド、ライトアドレスレディの各信号からなる。これらの信号のうち、ライトアドレスレディのみがスレーブ200からの信号であり、これ以外はマスタ100からの信号である。
ライトアドレス識別子AWID[3:0]は、信号のライトアドレスグループを識別するための4ビットのタグである。ライトアドレスAWADDR[31:0]は、ライト対象となる32ビットのアドレスであり、バースト転送における初期アドレスを示す信号である。
バースト長AWLEN[3:0]は、バースト転送のデータ数を示す4ビットの信号である。バーストサイズAWSIZE[2:0]は、バースト転送の各回における転送サイズを示す3ビットの信号である。バーストタイプAWBURST[1:0]は、バースト転送のアドレス計算のタイプを示す2ビットの信号である。ロックタイプAWLOCK[1:0]は、アトミックアクセスのための情報を示す2ビットの信号である。キャッシュタイプAWCACHE[3:0]は、キャッシュメモリ制御に必要な情報を示す4ビットの信号である。プロテクションタイプAWPROT[2:0]は、プロテクション制御に必要な情報を示す3ビットの信号である。これらは基本的にリードアドレスチャンネルの場合と同様である。
ライトアドレスバリッドAWVALIDは、アドレスおよび制御信号の有効性を示すバリッド信号である。ライトアドレスレディAWREADYは、スレーブ200がアドレスおよび制御信号を受け取ることができる状態にあるか否かを示すレディ信号である。前述のように、ライトアドレスバリッドAWVALIDおよびライトアドレスレディAWREADYがともにアサートされているときに、アドレスおよび制御信号の転送が行われる。
図6は、AXIプロトコルにおけるライトデータチャンネルを構成する信号を示す図である。ライトデータチャンネルは、ライトデータをマスタ100からスレーブ200に転送するためのチャンネルである。このライトデータチャンネルは、ライト識別子タグ、ライトデータ、ライトストローブ、ラストライト、ライトバリッド、ライトレディの各信号からなる。これらの信号のうち、ライトレディのみがスレーブ200からの信号であり、これ以外はマスタ100からの信号である。
ライト識別子タグWID[3:0]は、信号のライトデータグループを識別するための4ビットのタグである。このライト識別子タグWID[3:0]は、ライトアドレス識別子AWID[3:0]と一致していなければならない。
ライトデータWDATA[31:0]は、ライトトランザクションによるスレーブ200へのライトデータである。ここでは32ビット幅のライトデータバスを想定したが、WDATAのビット幅はリードデータバス幅に応じて変化する。ライトデータバスは、8、16、32、64、128、256、512および1024の何れかのビット幅を有する。
ライトストローブWSTRB[3:0]は、スレーブ200のメモリにおいて更新されるべきバイト位置を示す4ビットの信号である。ライトデータバスの8ビット毎にライトストローブWSTRB[3:0]の1ビットが割り当てられる。すなわち、WSTRB[i]は、WDATA[(8×i)+7:(8×i)]に対応する。
ラストライトWLASTは、ライトトランザクションにおける最終のデータ転送である旨を示す信号である。
ライトバリッドWVALIDは、ライトデータの有効性を示すバリッド信号である。ライトレディWREADYは、スレーブ200がライトデータを受け取ることができる状態にあるか否かを示すレディ信号である。前述のように、ライトバリッドWVALIDおよびライトレディWREADYがともにアサートされているときに、ライトデータの転送が行われる。
図7は、AXIプロトコルにおけるライトレスポンスチャンネルを構成する信号を示す図である。ライトレスポンスチャンネルは、ライトトランザクションの結果をスレーブ200からマスタ100に伝達するためのチャンネルである。このライトレスポンスチャンネルは、レスポンス識別子、ライトレスポンス、ライトレスポンスバリッド、レスポンスレディの各信号からなる。これらの信号のうち、レスポンスレディのみがマスタ100からの信号であり、これ以外はスレーブ200からの信号である。
レスポンス識別子BID[3:0]は、ライトレスポンスを識別するための4ビットのタグである。このレスポンス識別子BID[3:0]は、ライトアドレス識別子AWID[3:0]と一致していなければならない。
ライトレスポンスBRESP[1:0]は、ライトトランザクションによるデータ転送の状態を示す2ビットの信号である。信号内容の詳細については後述する。
ライトレスポンスバリッドBVALIDは、ライトレスポンスの有効性を示すバリッド信号である。レスポンスレディBREADYは、マスタ100がライトレスポンスを受け取ることができる状態にあるか否かを示すレディ信号である。前述のように、ライトレスポンスバリッドBVALIDおよびレスポンスレディBREADYがともにアサートされているときに、ライトレスポンスの伝達が行われる。
[マスタリード整合部の構成]
図8は、本発明の第1の実施の形態におけるマスタリード整合部410の構成例を示す図である。このマスタリード整合部410は、マルチプレクサ411および412と、リセット優先SRフリップフロップ421と、論理和ゲート422とを備える。
マルチプレクサ411および412は、マスタ切断信号409に従って何れかの入力を選択して出力するものである。マルチプレクサ411は、マスタ切断信号409が非切断(例えば「0」)を示している場合にはリードアドレスバリッドS_ARVALID信号を出力し、マスタ切断信号409が切断(例えば「1」)を示している場合には定数値「0」を出力する。このマルチプレクサ411の出力は、リセット優先SRフリップフロップ421のS入力端子および論理和ゲート422の一方の入力端子に入力される。マルチプレクサ412は、マスタ切断信号409が非切断を示している場合にはリードレディS_RREADY信号を出力し、マスタ切断信号409が切断を示している場合には定数値「1」を出力する。このマルチプレクサ412の出力は、リードレディM_RREADY信号として出力される。
リセット優先SRフリップフロップ421は、セット入力Sがアサートされると次サイクルでセットされ、リセット入力Rがアサートされると次サイクルでリセットされるフリップフロップである。セット入力Sとリセット入力Rが同時にアサートされた場合にはリセット入力Rが優先されて、次サイクルでリセットされる。何れの入力もアサートされなければ、次サイクルの出力Q[t]は直前サイクルの出力Q[t−1]をそのまま示すことになる。図9は、本発明の第1の実施の形態におけるリセット優先SRフリップフロップ421の動作の真理値表を示す図である。このリセット優先SRフリップフロップ421の出力は、論理和ゲート422の一方の入力端子に入力される。
論理和ゲート422は、マルチプレクサ411の出力およびリセット優先SRフリップフロップ421の出力の論理和(OR)演算を行う論理ゲートである。この論理和ゲート422の出力は、リードアドレスバリッドM_ARVALID信号として出力される。
[マスタリード整合部の動作]
リードアドレスチャンネルにおいて、リードアドレスバリッドS_ARVALID信号はマルチプレクサ411による切替対象となるが、他の信号については透過的でありそのまま信号が通過するようになっている。なお、この図ではリードアドレスバリッドARVALID信号およびリードアドレスレディARREADY信号以外の信号を総称してAR*と表している。
リードデータチャンネルにおいて、リードレディS_RREADY信号はマルチプレクサ412による切替え対象となるが、他の信号については透過的でありそのまま信号が通過するようになっている。なお、この図ではリードバリッドRVALID信号およびリードレディRREADY信号以外の信号を総称してR*と表している。
マスタ切断信号409が切断を示す場合、マルチプレクサ411および412は固定値である「0」および「1」をそれぞれ出力する。これにより、リードアドレスバリッドS_ARVALID信号が「0」になったときと同じ状態となり、マスタ100がリードアドレスの発行を常に停止しているように振舞う。ただし、AXIプロトコルの規定上、一旦VALID信号を「1」にアサートした場合には、READY信号を受けて転送が成立するまではVALID信号を「0」に戻してはいけないことになっている。そこで、リセット優先SRフリップフロップ421を用いることにより、M_ARVALID信号が「1」かつM_ARREADY信号が「0」の状態においてマスタ切断信号409が切断を示すようにアサートされた場合の不都合を解消している。すなわち、この場合、M_ARREADY信号が「1」になるまでは、M_ARVALID信号は「1」のまま維持される。これにより、マスタ切断信号409が切断を示す場合であっても、リードアドレスチャンネルにおいて正常なAXIプロトコルが保証される。また、リードデータチャンネルにおいては、マスタ切断信号409が切断を示す場合にはリードレディS_RREADY信号が「1」になったときと同じ状態となり、マスタ100がリードデータを常に受信可能であるように振舞う。
つまり、マスタ切断信号409が切断を示す場合には、マスタリード整合部410はインターコネクト300に対するリードアドレスの発行を停止し、既に発行済のリードアドレスに対するリードデータを全て受信し、それらを破棄する。このとき、マスタ切断信号409を非切断から切断を示すように変化させる前後において、AXIプロトコルは正しいまま引き継がれる。
[マスタライト整合部の構成]
図10は、本発明の第1の実施の形態におけるマスタライト整合部450の構成例を示す図である。このマスタライト整合部450は、マルチプレクサ451乃至454と、FIFO601と、論理積ゲート461乃至466と、リセット優先SRフリップフロップ471と、論理和ゲート472と、カウンタ481と、比較器482とを備える。
マルチプレクサ451乃至454は、マスタ切断信号409に従って何れかの入力を選択して出力するものである。マルチプレクサ451は、マスタ切断信号409が非切断(例えば「0」)を示している場合にはライトアドレスバリッドS_AWVALID信号を出力し、マスタ切断信号409が切断(例えば「1」)を示している場合には定数値「0」を出力する。このマルチプレクサ451の出力は、リセット優先SRフリップフロップ471のS入力端子および論理和ゲート472の一方の入力端子に入力される。
マルチプレクサ452は、マスタ切断信号409が非切断を示している場合にはライトバリッドS_WVALID信号を出力し、マスタ切断信号409が切断を示している場合には定数値「1」を出力する。このマルチプレクサ452の出力は、論理積ゲート466の一方の入力端子に入力される。
マルチプレクサ453は、マスタ切断信号409が非切断を示している場合にはライトデータチャンネルのS_WVALID信号およびS_WREADY信号以外の信号S_W*をそのまま出力する。一方、マスタ切断信号409が切断を示している場合には、マルチプレクサ453は信号S_W*のうちライトストローブWSTRB[3:0]の4ビットを全てオフにして出力する。このマルチプレクサ453の出力は、ライトデータチャンネルのM_WVALID信号、M_WREADY信号およびM_WLAST信号以外の信号M_W*として出力される。
マルチプレクサ454は、マスタ切断信号409が非切断を示している場合にはレスポンスレディS_BREADY信号を出力し、マスタ切断信号409が切断を示している場合には定数値「1」を出力する。このマルチプレクサ454の出力は、ライトレスポンスチャンネルのM_BVALID信号およびM_BREADY信号以外の信号M_B*として出力される。
FIFO601は、先入れ先出し(FIFO:First-In First-Out)方式のバッファである。このFIFO601は、図11(a)のFIFO600のように、データ入力側とデータ出力側に端子が分けられている。すなわち、データ入力側においては、プッシュ入力PUSHがアサートされたタイミングにおいて、データ入力DINのデータが取り込まれる。FIFO600内の容量が満杯になるまでREADY出力は有効である旨を示す。データ出力側においては、POP入力がアサートされたタイミングにおいて、データ出力DOUTからデータが引き抜かれる。データが引き抜かれるまでは、FIFOの順序で先頭のデータがデータ出力DOUTから出力され続ける。FIFO600内に少なくとも1つのデータが保持されている場合にVALID出力は有効である旨を示す。このFIFO601は、少なくとも1つのエントリを備え、ライトアドレスチャンネルのうちのバースト長S_AWLEN信号を各エントリに保持する。ここのFIFO601内に保持されるエントリ数は、一般にライトアドレスチャンネルのアウトスタンディング数を考慮して決定される。
図11(b)のFIFO600の動作例において、タイミングt0はFIFO600が空の状態であり、READY出力は「1」、VALID出力は「0」である。タイミングt1でDIN入力にデータAがPUSHされると、タイミングt2でDOUT出力にデータAが出力されるようになる。タイミングt2ではデータをPOPしていないため、タイミングt3でも引き続きDOUT出力にデータAが出力されている。タイミングt5のPUSHにより、タイミングt6で保持データ数が4つとなり、READY出力が「0」となっている。タイミングt6のPOPにより、タイミングt7で再度READY出力が「1」となり、POPを続けることにより、タイミングt10でFIFO600は空となり、VALID出力が「1」となっている。
リセット優先SRフリップフロップ471は、セット入力Sがアサートされると次サイクルでセットされ、リセット入力Rがアサートされると次サイクルでリセットされるフリップフロップである。論理和ゲート472は、マルチプレクサ451の出力およびリセット優先SRフリップフロップ471の出力の論理和(OR)演算を行う論理ゲートである。リセット優先SRフリップフロップ471および論理和ゲート472の機能は、図8において説明したリセット優先SRフリップフロップ421および論理和ゲート422と同様である。
カウンタ481は、バースト転送開始前に「0」にリセットされ、各転送が行われるたびに1つずつインクリメントされるバースト転送回数カウンタである。比較器482は、カウンタ481の出力とFIFO601のデータ出力DOUT、すなわちバースト長AWLENとを比較するものである。この比較器482の出力は、ラストライトM_WLASTとして出力される。すなわち、カウンタ481および比較器482により、バースト転送の最終データのタイミングが検出される。なお、カウンタ481をリセットするタイミングは、バースト転送開始時でもよく、また、前回のバースト転送において最終データが検出された際でもよい。
論理積ゲート461は、FIFO601のREADY出力とライトアドレスチャンネルのライトアドレスレディM_AWREADY信号との論理積(AND)演算を行うものである。この論理積ゲート461の出力は、ライトアドレスチャンネルのライトアドレスレディS_AWREADY信号として出力される。すなわち、FIFO601のREADY出力が有効を示しているときのみ、ライトアドレスレディS_AWREADY信号が「受け取ることができる状態」を示すように制御される。
論理積ゲート462は、マルチプレクサ451の出力とライトアドレスチャンネルのライトアドレスレディS_AWREADY信号との論理積演算を行うものである。この論理積ゲート462の出力は、FIFO601のPUSH入力に出力される。すなわち、ライトアドレスチャンネルの転送が成立する場合に、ライトアドレスチャンネルのバースト長S_AWLEN[3:0]がFIFO601に取り込まれるように制御する。
論理積ゲート463は、論理和ゲート472の出力とFIFO601のREADY出力との論理積演算を行うものである。この論理積ゲート463の出力は、ライトアドレスバリッドM_AWVALID信号として出力される。すなわち、FIFO601に空き容量が残っている場合にのみ、ライトアドレスバリッドM_AWVALID信号が有効になるように制御される。
論理積ゲート464は、FIFO601のVALID出力とライトレディM_WREADY信号との論理積演算を行うものである。この論理積ゲート464の出力は、ライトレディS_WREADY信号として出力される。すなわち、FIFO601に有効なデータが保持されているときのみ、ライトレディS_WREADY信号がアサートされるように制御される。
論理積ゲート465は、論理積ゲート466の出力と比較器482の出力とライトレディM_WREADY信号との論理積演算を行うものである。この論理積ゲート465の出力は、FIFO601のPOP入力に出力される。すなわち、バースト転送の最終データ(最終ビート)が転送された際に、FIFO601に保持されていた先頭のデータ(AWLEN[3:0])を引き抜くように制御される。
論理積ゲート466は、マルチプレクサ452の出力とFIFO601のVALID出力との論理積演算を行うものである。この論理積ゲート466の出力は、ライトバリッドM_WVALID信号として出力される。すなわち、FIFO601に有効なデータが保持されているときのみ、ライトバリッドM_WVALID信号がアサートされるように制御される。
マスタ切断信号が非切断を示している場合について説明する。ライトアドレスバリッドAWVALID信号およびライトアドレスレディAWREADY信号以外のライトアドレスチャネルの信号AW*については透過的でありそのまま信号が通過するようになっている。転送成立時、すなわちAWVALID信号およびAWREADY信号がともにアサートされた時には、FIFO601にバースト長S_AWLENが取り込まれる。FIFO601に空きエントリが無くなると、AWVALID信号およびAWREADY信号がともに「0」にデアサートされ、FIFO601に空きエントリができるまでライトアドレスチャンネル転送成立が抑止される。
ライトバリッドWVALID信号およびライトレディWREADY信号以外のライトデータチャネルの信号W*も透過的でありそのまま信号が通過するようになっている。信号W*のバースト転送の最終データの転送成立時、すなわちWVALID信号、WREADY信号およびWLAST信号がともにアサートされたとき、FIFO601の先頭に保持されていたバースト長AWLENが引き抜かれる。FIFO601が空の場合、M_WVALIDおよびS_WREADYがともにデアサートされ、有効エントリが投入されるまでライトデータチャネルの転送成立が抑止される。
マスタ切断信号が切断を示している場合、マルチプレクサ451乃至454の各々は、固定値側を選択する。ライトアドレスチャンネルについては、マルチプレクサ451によりライトアドレスバリッドS_AWVALID信号が「0」になったときと同じ状態となり、マスタ100がライトアドレスの発行を常に停止しているように振舞う。ただし、AXIプロトコルの規定上、一旦VALID信号を「1」にアサートした場合には、READY信号を受けて転送が成立するまではVALID信号を「0」に戻してはいけないことになっている。そこで、マスタリード整合部410と同様に、リセット優先SRフリップフロップ471および論理和ゲート472を用いることにより、不都合を解消している。すなわち、この場合、M_AWREADY信号が「1」になるまでは、M_AWVALID信号は「1」のまま維持される。これにより、マスタ切断信号409が切断を示す場合であっても、ライトアドレスチャンネルにおいて正常なAXIプロトコルが保証される。
また、ライトデータチャネルについては、マルチプレクサ452によりS_WVALID信号が「1」に固定され、マルチプレクサ453によりライトデータチャネルのストローブ信号が「0」に固定される。これにより、マスタ100の状態に関わらず、マスタ100が書込みストローブオフの状態でライトトランザクションを常に発行しているように振舞う。
また、ライトレスポンスチャネルについては、マルチプレクサ454によりS_BREADY信号が「1」に固定される。これにより、マスタ100の状態に関わらず、マスタ100がライトレスポンスを常に受信可能であるように振舞う。
つまり、マスタ切断信号409が切断を示す場合には、マスタライト整合部450はインターコネクト300に対するライトアドレスの発行を停止し、既に発行済みのライトアドレスに対応するライトデータを書込みストローブオフの状態で発行する。そして、ライトレスポンスについては全て受信し、破棄する。このとき、マスタ切断信号409を非切断から切断を示すように変化させる前後において、AXIプロトコルは正しいまま引き継がれる。
[スレーブプロトコル整合部の構成]
図12は、本発明の第1の実施の形態におけるスレーブプロトコル整合部501の構成例を示す図である。このスレーブプロトコル整合部501は、スレーブリード整合部510と、スレーブライト整合部550とを備えている。スレーブリード整合部510およびスレーブライト整合部550には、共通のスレーブ切断信号509が入力される。
スレーブリード整合部510は、対応するスレーブ200によるリード動作中にそのスレーブ200が切断された場合に、プロトコル上の整合性を担保するためのものである。上述のように、AXIプロトコルでは、リード動作のためのパスとして、リードアドレスチャンネルおよびリードデータチャンネルが用意されており、スレーブリード整合部510は両者における整合性を担保する。
スレーブライト整合部550は、対応するスレーブ200によるライト動作中にそのスレーブ200が切断された場合に、プロトコル上の整合性を担保するためのものである。上述のように、AXIプロトコルでは、ライト動作のためのパスとして、ライトアドレスチャンネル、ライトデータチャンネルおよびライトレスポンスチャンネルが用意されており、スレーブライト整合部550はこれらにおける整合性を担保する。
[スレーブリード整合部の構成]
図13は、本発明の第1の実施の形態におけるスレーブリード整合部510の構成例を示す図である。このスレーブリード整合部510は、マルチプレクサ511乃至513と、論理積ゲート521乃至526と、FIFO602と、カウンタ531と、比較器532とを備える。
マルチプレクサ511乃至513は、スレーブ切断信号509に従って何れかの入力を選択して出力するものである。マルチプレクサ511は、スレーブ切断信号509が非切断(例えば「0」)を示している場合にはリードアドレスレディM_ARREADY信号を出力し、スレーブ切断信号509が切断(例えば「1」)を示している場合には定数値「1」を出力する。このマルチプレクサ511の出力は、論理積ゲート521の一方の入力端子に入力される。
マルチプレクサ512は、スレーブ切断信号509が非切断を示している場合にはリードバリッドM_RVALID信号を出力し、スレーブ切断信号509が切断を示している場合には定数値「1」を出力する。このマルチプレクサ512の出力は、論理積ゲート524の一方の入力端子に入力される。
マルチプレクサ513は、スレーブ切断信号509が非切断を示している場合にはリードデータチャンネルのM_RVALID信号およびM_RREADY信号以外の信号M_R*をそのまま出力する。一方、スレーブ切断信号509が切断を示している場合には信号M_R*のうちのリードレスポンスRRESP[1:0]信号についてエラー応答を示すように設定する。図14は、AXIプロトコルにおけるリードレスポンスRRESP信号およびライトレスポンスBRESP信号の意味を示す図である。これによれば、通常アクセスが正常に完了した場合には、リードレスポンスRRESP[1:0]信号は「00」を示す。排他アクセスが正常に完了した場合には、リードレスポンスRRESP[1:0]信号は「01」を示す。スレーブ200においてエラーが発生した場合には、リードレスポンスRRESP[1:0]信号は「10」を示す。また、アドレスが適正ではない等のデコードエラーが発生した場合には、リードレスポンスRRESP[1:0]信号は「11」を示す。本発明の実施の形態では、スレーブ切断信号509が切断を示している場合には、マルチプレクサ513においてリードレスポンスRRESP[1:0]信号としてエラー応答を意味する「10」を設定する。
FIFO602は、先入れ先出し(FIFO)方式のバッファである。このFIFO602は、FIFO601と同様に、図11のFIFO600の機能を有する。このFIFO602は、少なくとも1つのエントリを備え、リードアドレスチャンネルのうちのリードアドレス識別子S_ARID信号およびバースト長S_ARLEN信号を各エントリに保持する。FIFO602に保持されたバースト長ARLENは比較器532の一方の入力端子に出力され、リードアドレス識別子ARIDはリード識別子S_RIDとして出力される。このFIFO602内に保持されるエントリ数は、一般にリードアドレスチャンネルのアウトスタンディング数を考慮して決定される。
カウンタ531は、バースト転送開始前に「0」にリセットされ、各転送が行われるたびに1つずつインクリメントされるバースト転送回数カウンタである。
比較器532は、カウンタ531の出力とFIFO602のデータ出力DOUTのうちのバースト長ARLENとを比較するものである。この比較器532の出力は、ラストリードS_RLASTとして出力される。すなわち、カウンタ531および比較器532により、バースト転送の最終データのタイミングが検出される。なお、カウンタ531をリセットするタイミングは、バースト転送開始時でもよく、また、前回のバースト転送において最終データが検出された際でもよい。
論理積ゲート521は、マルチプレクサ511の出力とFIFO602のREADY出力との論理積(AND)演算を行うものである。この論理積ゲート521の出力は、リードアドレスレディS_ARREADY信号として出力される。すなわち、FIFO602のREADY出力が有効を示しているときのみ、リードアドレスレディS_ARREADY信号が「受け取ることができる状態」を示すように制御される。
論理積ゲート522は、リードアドレスバリッドS_ARVALID信号とリードアドレスレディS_ARREADY信号との論理積演算を行うものである。この論理積ゲート522の出力は、FIFO602のPUSH入力に入力される。すなわち、S_ARVALID信号およびS_ARREADY信号がともにアサートされてリードアドレスが伝達されたときに、FIFO602にリードアドレスチャンネルのS_ARID信号およびS_ARLEN信号が取り込まれるように制御される。
論理積ゲート523は、リードアドレスバリッドS_ARVALID信号とFIFO602のREADY出力との論理積演算を行うものである。この論理積ゲート523の出力は、リードアドレスバリッドM_ARVALID信号として出力される。すなわち、FIFO602に空き容量が残っているときのみ、リードアドレスバリッドM_ARVALID信号がアサートされるように制御される。
論理積ゲート524は、マルチプレクサ512の出力とFIFO602のVALID出力との論理積演算を行うものである。この論理積ゲート524の出力は、リードバリッドS_RVALID信号として出力される。すなわち、FIFO602に有効なデータが保持されているときのみ、リードバリッドS_RVALID信号がアサートされるように制御される。
論理積ゲート525は、リードバリッドS_RVALID信号とリードレディS_RREADY信号と比較器532の出力との論理積演算を行うものである。この論理積ゲート525の出力は、FIFO602のPOP入力に出力される。すなわち、バースト転送の最終データ(最終ビート)が転送された際に、FIFO602に保持されていた先頭のデータ(ARID[3:0]およびAWLEN[3:0])を引き抜くように制御される。
論理積ゲート526は、リードレディS_RREADY信号とFIFO602のVALID出力との論理積演算を行うものである。この論理積ゲート526の出力は、リードレディM_RREADY信号として出力される。すなわち、FIFO602に有効なデータが保持されているときのみ、リードレディM_RREADY信号がアサートされるように制御される。
[スレーブリード整合部の動作]
マスタ切断信号が非切断を示している場合について説明する。リードアドレスバリッドARVALID信号およびリードアドレスレディARREADY信号以外のリードアドレスチャネルの信号AR*については透過的でありそのまま信号が通過するようになっている。転送成立時、すなわちARVALID信号およびARREADY信号がともにアサートされた時には、FIFO602にリードアドレス識別子S_ARIDおよびバースト長S_AWLENが取り込まれる。FIFO602に空きエントリが無くなると、論理積ゲート521および523によりリードアドレスレディS_ARREADY信号およびリードアドレスバリッドM_ARVALID信号がともに「0」にデアサートされる。これにより、FIFO602に空きエントリができるまでリードアドレスチャンネル転送成立が抑止される。また、このリードアドレスチャンネルにおいて、リードアドレス識別子M_ARIDは固定値とされるか、もしくは、識別子自体が削除される。これにより、リードアドレス信号AR*に対するリードデータ信号R*は順序不変(in-order)となる。
リードデータチャネルでは、リード識別子S_RIDおよびリードラストS_RLASTについてはスレーブリード整合部510内で生成され、他の信号R*は透過的である。バースト転送の最終データの転送成立時、すなわちRVALID、RREADYおよびRLASTが全てアサートされた場合に、FIFO602から先頭エントリのリードアドレス識別子ARIDおよびバースト長ARLENが引き抜かれる。すなわち、リードアドレスチャネルの転送成立時に取り込まれたリードアドレス識別子S_ARIDおよびバースト長S_ARLENが、対応するバースト転送の終了時までFIFO602に保持される。先頭のエントリがデータ出力DOUTに出力されており、リードアドレス識別子ARIDがS_RIDとなり、バースト長ARLENがデータバースト最終データの検出に用いられる。FIFO602が空の場合、リードバリッドS_RVALIDおよびリードレディM_RREADYがともに「0」にデアサートされ、有効エントリが取り込まれるまでリードデータチャネル転送成立が抑止される。
FIFO602が出力するバースト長ARLENとカウンタ531の出力とが一致した場合、リードラストS_RLASTが「1」にアサートされる。例えば、バースト長ARLENが「0」(バースト長が1)の場合、バースト転送の最初のデータでS_RLASTが「1」となる。また、ARLENが「3」(バースト長が4)の場合、バースト転送の最初の3つのデータビート転送成立後にカウンタ531の値が「3」となり、リードラストS_RLASTが「1」となる。
マスタ切断信号が切断を示している場合、マルチプレクサ511乃至513の各々は、固定値側を選択する。リードアドレスチャンネルについては、マルチプレクサ511によりリードアドレスレディS_ARREADY信号が「1」になったときと同じ状態となり、スレーブ200がリードアドレスAR*を常に受信可能であるように振舞う。また、リードデータチャンネルについては、マルチプレクサ512によりリードバリッドM_RVALIDが「1」に固定され、マルチプレクサ513によりリードデータのうちリードレスポンスRRESPがエラー情報を示す固定値「10」に設定される。これにより、スレーブ200の状態に関わらず、スレーブ200がリードデータR*を固定値で常に送出しているように振舞う。
つまり、スレーブ切断信号509が切断を示す場合には、スレーブリード整合部510が実際のスレーブ200に代わってリードアドレス送出元に対して応答を始め、スレーブ200が出力する信号は全て無視される。このとき、スレーブ切断信号509を非切断から切断を示すように変化させる前後において、AXIプロトコルは正しいまま引き継がれる。
[スレーブライト整合部の構成]
図15は、本発明の第1の実施の形態におけるスレーブライト整合部550の構成例を示す図である。このスレーブライト整合部550は、マルチプレクサ551乃至554と、論理積ゲート561乃至566と、FIFO603とを備える。
マルチプレクサ551乃至554は、スレーブ切断信号509に従って何れかの入力を選択して出力するものである。マルチプレクサ551は、スレーブ切断信号509が非切断(例えば「0」)を示している場合にはライトアドレスレディM_AWREADY信号を出力し、スレーブ切断信号509が切断(例えば「1」)を示している場合には定数値「1」を出力する。このマルチプレクサ551の出力は、ライトアドレスレディS_AWREADY信号として出力される。
マルチプレクサ552は、スレーブ切断信号509が非切断を示している場合にはライトレディM_WREADY信号を出力し、スレーブ切断信号509が切断を示している場合には定数値「1」を出力する。このマルチプレクサ552の出力は、論理積ゲート561の一方の入力端子に入力される。
マルチプレクサ553は、スレーブ切断信号509が非切断を示している場合にはライトレスポンスバリッドM_BVALID信号を出力し、スレーブ切断信号509が切断を示している場合には定数値「1」を出力する。このマルチプレクサ553の出力は、論理積ゲート564の一方の入力端子に入力される。
マルチプレクサ554は、スレーブ切断信号509が非切断を示している場合にはライトレスポンスチャンネルのM_BVALID信号およびM_BREADY信号以外の信号M_B*をそのまま出力する。一方、スレーブ切断信号509が切断を示している場合には信号M_B*のうちのライトレスポンスBRESP[1:0]信号についてエラー応答を示すように設定する。ライトレスポンスBRESP[1:0]信号の意味内容は図14により説明したリードレスポンスRRESP[1:0]信号と同様である。
FIFO603は、先入れ先出し(FIFO)方式のバッファである。このFIFO603は、FIFO601と同様に、図11のFIFO600の機能を有する。このFIFO603は、少なくとも1つのエントリを備え、ライトデータチャンネルのうちのライト識別子タグS_WID信号を各エントリに保持する。FIFO603に保持されたライト識別子タグWIDはライトレスポンスチャンネルのレスポンス識別子S_BIDとして出力される。このFIFO603内に保持されるエントリ数は、一般にライトアドレスチャンネルおよびライトデータチャンネルのアウトスタンディング数を考慮して決定される。
論理積ゲート561は、マルチプレクサ552の出力とFIFO603のREADY出力との論理積(AND)演算を行うものである。この論理積ゲート561の出力は、ライトレディS_WREADY信号として出力される。すなわち、FIFO603のREADY出力が有効を示しているときのみ、ライトレディS_WREADY信号が「受け取ることができる状態」を示すように制御される。
論理積ゲート562は、ライトバリッドS_WVALID信号と論理積ゲート561の出力とライトデータチャンネルのうちのライトラストS_WLAST信号との論理積演算を行うものである。この論理積ゲート562の出力は、FIFO603のPUSH入力に出力される。すなわち、バースト転送の最終データ(最終ビート)が転送された際に、ライト識別子タグS_WIDを取り込むように制御される。
論理積ゲート563は、ライトバリッドS_WVALID信号とFIFO603のREADY出力との論理積演算を行うものである。この論理積ゲート563の出力は、ライトバリッドM_WVALID信号として出力される。すなわち、FIFO603に空き容量が残っているときのみ、ライトバリッドM_WVALID信号がアサートされるように制御される。
論理積ゲート564は、マルチプレクサ553の出力とFIFO603のVALID出力との論理積演算を行うものである。この論理積ゲート564の出力は、ライトレスポンスバリッドS_BVALID信号として出力される。すなわち、FIFO603に有効なデータが保持されているときのみ、ライトレスポンスバリッドS_BVALID信号がアサートされるように制御される。
論理積ゲート565は、ライトレスポンスバリッドS_BVALID信号とレスポンスレディS_BREADY信号との論理積演算を行うものである。この論理積ゲート565の出力は、FIFO603のPOP入力に入力される。すなわち、ライトレスポンスバリッドS_BVALID信号およびレスポンスレディS_BREADY信号がともにアサートされてライトレスポンスが伝達されたときに、FIFO603に保持されていた先頭のライト識別子タグWID[3:0]を引き抜くように制御される。
論理積ゲート566は、レスポンスレディS_BREADY信号とFIFO603のVALID出力との論理積演算を行うものである。この論理積ゲート566の出力は、レスポンスレディM_BREADY信号として出力される。すなわち、FIFO603に有効なデータが保持されているときのみ、レスポンスレディM_BREADY信号がアサートされるように制御される。
[スレーブライト整合部の動作]
ここでは、前提として、AXIプロトコルで規定されるライトデータインターリーブデプス(write data interleaving depth)は「1」であるものとする。これは、ライトアドレス発行順序とライトデータ発行順序が等しいことを意味する。
スレーブ切断信号が非切断を示している場合について説明する。このとき、ライトアドレスチャンネルにおいて、ライトアドレスバリッドAWVALID、ライトアドレスレディAWREADY、および、その他の信号AW*は透過的でありそのまま信号が通過するようになっている。また、ライトデータチャンネルにおいて、ライトバリッドWVALIDおよびライトレディWREADY以外の信号W*は透過的でありそのまま信号が通過するようになっている。
ライトデータを含む信号W*のバースト転送の最終データの転送成立時、すなわちWVALID、WREADYおよびWLASTの全てが「1」にアサートされたとき、FIFO603にライト識別子タグWIDが取り込まれる。FIFO603に空きエントリが無くなると、S_WREADYおよびM_WVALIDがともに「0」になり、FIFO603に空きエントリができるまでライトデータチャネル転送成立が抑止される。
スレーブリード整合部510の場合と同様に、スレーブライト整合部550においても、ライトアドレス識別子M_AWIDおよびライト識別子M_WIDは同一の固定値とされるか、もしくは、識別子自体が削除される。これにより、ライトアドレス信号AW*およびライトデータ信号W*に対するライトレスポンス信号B*は順序不変(in-order)となる。
ライトレスポンスチャネルに関して、レスポンス識別子S_BIDはスレーブライト整合部550内で生成される。他のライトレスポンスバリッドBVALIDおよびレスポンスレディBREADY以外のライトレスポンス信号B*は透過的でありそのまま信号が通過するようになっている。
ライトレスポンスの転送成立時、すなわちBVALIDおよびBREADYが「1」になるとき、FIFO603から識別子(ライト識別子タグWIDとして取り込まれたもの)が引き抜かれ、レスポンス識別子S_BIDとして出力される。すなわち、ライトデータの最終データの転送成立の際に取り込まれたライト識別子タグS_WIDが、対応するライトレスポンスの転送終了時までFIFO603のDOUT出力に出力されていて、この出力がレスポンス識別子S_BIDとなる。FIFO603が空の場合、ライトレスポンスバリッドS_BVALIDとレスポンスレディM_BREADYをともに「0」として、有効エントリが保持されるまでライトレスポンスチャネル転送成立が抑止される。
マスタ切断信号が切断を示している場合、マルチプレクサ551乃至554の各々は、固定値側を選択する。ライトアドレスチャンネルおよびライトデータチャンネルについては、マルチプレクサ551および552により、それぞれM_AWREADYおよびM_WREADYが「1」に固定される。これにより、スレーブ200の状態に関わらず、スレーブ200がライトアドレスAW*およびライトデータW*を常に受信可能であるように振舞う。さらに、マルチプレクサ553によりライトレスポンスバリッドM_BVALIDが「1」に固定され、マルチプレクサ554によりライトレスポンスのうちライトレスポンスBRESPがエラー情報を示す固定値「10」に設定される。これにより、スレーブ200の状態に関わらず、スレーブ200がライトレスポンスB*を固定値で常に送出しているように振舞う。
つまり、スレーブ切断信号509が切断を示す場合には、スレーブライト整合部550が実際のスレーブ200に代わって、ライトアドレスおよびライトデータの送出元に対して応答を始め、スレーブ200が出力する信号は全て無視される。このとき、スレーブ切断信号509を非切断から切断を示すように変化させる前後において、AXIプロトコルは正しいまま引き継がれる。ただし、応答となるライトレスポンスは、エラー情報を示す固定値となる。
このように、本発明の第1の実施の形態によれば、マスタ切断信号409またはスレーブ切断信号509が切断を示す場合に、マスタ100またはスレーブ200に代わって相手先との応答を行うことができる。これにより、マスタ100またはスレーブ200をバスシステムから切断する際にもプロトコル上の整合性を担保することができる。
<2.第2の実施の形態>
[バスシステムの全体構成]
図16は、本発明の第2の実施の形態におけるバスシステムの全体構成例を示す図である。このバスシステムは、基本的な構成は第1の実施の形態と同様であるが、インターコネクト300、マスタ切断ブリッジ400およびスレーブ切断ブリッジ500が常時通電領域30となっている点が異なる。すなわち、この常時通電領域30内にあるインターコネクト300、マスタ切断ブリッジ400およびスレーブ切断ブリッジ500は、バスシステム全体が稼動している間は電源が切断されることはない、と想定する。これに対し、常時通電領域30内にないマスタ100およびスレーブ200は、それぞれ個別に電源が供給され、バスシステムが稼動中であっても単体で電源のオンまたはオフが可能である、と想定する。
[マスタ切断ブリッジの構成]
図17は、本発明の第2の実施の形態におけるマスタ切断ブリッジ400の構成例を示す図である。この第2の実施の形態におけるマスタ切断ブリッジ400は、マスタプロトコル整合部401に加えて、信号クランプ部402を備える。
信号クランプ部402は、マスタ切断信号409の状態に応じて、マスタ100からの信号をクランプするものである。マスタ100が個別に電源オフの状態となった際、マスタ100からの入力が不安定な状態となるが、これをそのままマスタプロトコル整合部401に伝達してしまうと誤動作を生じるおそれがあり、また、電源からグランドへの貫通電流が流れるおそれがある。そこで、信号クランプ部402は、マスタ切断信号409が切断を示す場合に、電源レベルまたはグランドレベルにクランプした信号を出力する。一方、マスタ切断信号409が非切断を示す場合には、信号クランプ部402は入力信号をクランプせずにそのまま出力信号として出力する。
なお、マスタプロトコル整合部401の構成は第1の実施の形態と同様である。
[スレーブ切断ブリッジの構成]
図18は、本発明の第2の実施の形態におけるスレーブ切断ブリッジ500の構成例を示す図である。この第2の実施の形態におけるスレーブ切断ブリッジ500は、スレーブプロトコル整合部501に加えて、信号クランプ部502を備える。
信号クランプ部502は、スレーブ切断信号509の状態に応じて、スレーブ200からの信号をクランプするものである。スレーブ200が個別に電源オフの状態となった際、スレーブ200からの入力が不安定な状態となった場合の、上述のような不都合を解消するためのものである。すなわち、信号クランプ部502は、スレーブ切断信号509が切断を示す場合に、電源レベルまたはグランドレベルにクランプした信号を出力する。一方、スレーブ切断信号509が非切断を示す場合には、信号クランプ部502は入力信号をクランプせずにそのまま出力信号として出力する。
なお、スレーブプロトコル整合部501の構成は第1の実施の形態と同様である。
[信号クランプ部の構成]
図19は、本発明の第2の実施の形態における信号クランプ部402および502に用いられるクランプ回路の構成例を示す図である。同図(a)はハイクランプ回路710の例であり、同図(b)はロークランプ回路720の例である。何れの回路を用いるかは、マスタプロトコル整合部401またはスレーブプロトコル整合部501の想定する信号レベルに依存する。マスタ100またはスレーブ200の電源がオフ状態となった際に各信号が非アクティブな状態となるように設定することが望ましい。例えば、リードアドレスチャンネルであれば、マスタ100の電源がオフ状態となった際にリードアドレスバリッドARVALIDが「0」にデアサートされるように構成する。
ハイクランプ回路710は、クランプイネーブル信号がLレベルの場合に入力信号をそのまま出力信号として出力し、クランプイネーブル信号がHレベルの場合に出力信号を電源レベル(Hレベル)にクランプする回路である。このハイクランプ回路710は、インバータ711と、トランジスタ712乃至714とを備えている。
インバータ711は、入力されたクランプイネーブル信号を反転させる回路である。これにより、トランジスタ712のゲート端子にはクランプイネーブル信号そのものが供給される一方で、トランジスタ713のゲート端子にはクランプイネーブル信号の反転信号が供給される。
トランジスタ712および713は、1対のスイッチを構成する。すなわち、クランプイネーブル信号がLレベルであればトランジスタ712および713の両者が入力信号を通過させるが、クランプイネーブル信号がHレベルであればトランジスタ712および713の両者が入力信号を通過させない。
トランジスタ714は、出力端子を電源レベルにクランプするか否かを切り換えるスイッチである。すなわち、クランプイネーブル信号がLレベルであればトランジスタ714がオフとなり、トランジスタ712および713からの信号を出力信号とする。一方、クランプイネーブル信号がHレベルであればトランジスタ714がオンとなり、出力信号は電源レベルにクランプされる。
ロークランプ回路720は、クランプイネーブル信号がLレベルの場合に入力信号をそのまま出力信号として出力し、クランプイネーブル信号がHレベルの場合に出力信号をグランドレベル(Lレベル)にクランプする回路である。このロークランプ回路720は、インバータ721と、トランジスタ722乃至724とを備えている。
インバータ721は、入力されたクランプイネーブル信号を反転させる回路である。これにより、トランジスタ722のゲート端子にはクランプイネーブル信号そのものが供給される一方で、トランジスタ723のゲート端子にはクランプイネーブル信号の反転信号が供給される。
トランジスタ722および723は、1対のスイッチを構成する。すなわち、クランプイネーブル信号がLレベルであればトランジスタ722および723の両者が入力信号を通過させるが、クランプイネーブル信号がHレベルであればトランジスタ722および723の両者が入力信号を通過させない。
トランジスタ724は、出力端子を電源レベルにクランプするか否かを切り換えるスイッチである。すなわち、クランプイネーブル信号がLレベルであればトランジスタ724がオフとなり、トランジスタ722および723からの信号を出力信号とする。一方、クランプイネーブル信号がHレベルであればトランジスタ724がオンとなり、出力信号はグランドレベルにクランプされる。
このようなクランプ回路において、マスタ切断信号409をクランプイネーブル信号として入力した場合、対応するマスタ100が切断された際にマスタ100からの信号を電源レベルまたはグランドレベルにクランプするように構成することができる。また、スレーブ切断信号509をクランプイネーブル信号として入力した場合、対応するスレーブ200が切断された際にスレーブ200からの信号を電源レベルまたはグランドレベルにクランプするように構成することができる。
このように、本発明の第2の実施の形態によれば、マスタ切断信号409またはスレーブ切断信号509が切断を示す場合に、マスタ100またはスレーブ200からの信号を電源レベルまたはグランドレベルにクランプすることができる。したがって、マスタ100またはスレーブ200を切断する際の、信号の安定化を図ることができ、回路の誤動作を未然に防止することができる。
以上、説明したように、本発明の実施の形態によれば、マスタ100またはスレーブ200を任意のタイミングで切断することができる。これにより、マスタ100またはスレーブ200がハングアップにより反応しなくなった場合に、該当するマスタ100またはスレーブ200を単独で切断し、完了出来なくなっていたアクセスを正常なプロトコルで完了させることができる。一方、切断部位以外は動作を継続させることができる。これにより、システムの障害耐性を向上させることができる。
また、本発明の実施の形態によれば、マスタ100またはスレーブ200のうち、稼動させる必要のないものの電源をオフにすることにより、消費電力の低減を図ることができる。このとき、マスタ100またはスレーブ200がアクセス途中であったとしても、正常なプロトコルを継続したまま切断可能である。切断後のスレーブ200に対してアクセスがあった場合も、スレーブ切断ブリッジ500が応答するため、切断後も常に正常なプロトコルが継続される。
また、本発明の実施の形態において、切断されたマスタ100またはスレーブ200は、容易に再接続することができる。すなわち、ハングアップして反応が無くなったマスタ100またはスレーブ200を切断後にリセットし、動作可能な状態となってからマスタ切断信号409またはスレーブ切断信号509を非切断に切り替えることにより、再びアクセスすることが可能となる。また、電源オフしたマスタ100またはスレーブ200を電源オンおよびリセットして動作可能な状態となった後に、マスタ切断信号409またはスレーブ切断信号509を非切断に切り替えることにより、再びアクセス可能することが可能となる。
なお、本発明の実施の形態では、AXIプロトコルを想定して説明したが、本発明はこれに限定されるものではなく、スプリットトランザクションを許容するバス全般に適用することができる。そのようなバスの他の例として、例えば、OCP(Open Core Protocol)や、PLB(Processor Local Bus)等が挙げられる。
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、本発明の実施の形態において明示したように、本発明の実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本発明の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本発明は実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
30 常時通電領域
100 マスタ
200 スレーブ
300 インターコネクト
400 マスタ切断ブリッジ
401 マスタプロトコル整合部
402 信号クランプ部
409 マスタ切断信号
410 マスタリード整合部
450 マスタライト整合部
500 スレーブ切断ブリッジ
501 スレーブプロトコル整合部
502 信号クランプ部
509 スレーブ切断信号
510 スレーブリード整合部
550 スレーブライト整合部
710 ハイクランプ回路
720 ロークランプ回路

Claims (10)

  1. 所定のプロトコルによりやりとりを行う第1および第2の接続機器と、
    前記第1および第2の接続機器同士を接続するバスと、
    前記第1の接続機器とバスとの間に挿入されて、前記第1の接続機器の切断指示を受けると、前記第1の接続機器に代わって前記第2の接続機器との間の前記所定のプロトコル上のやりとりを行うブリッジと
    を備えるバスシステム。
  2. 前記第1の接続機器は前記第2の接続機器との転送を主導する接続機器であり、
    前記第2の接続機器は前記第1の接続機器との転送に対して受動的に動作する接続機器である
    請求項1記載のバスシステム。
  3. 前記ブリッジは、前記第1の接続機器の切断指示を受けると、前記第1の接続機器からのリードアドレスの発行を停止するとともに前記第2の接続機器からのリードデータの受信を許容する
    請求項2記載のバスシステム。
  4. 前記ブリッジは、前記第1の接続機器の切断指示を受けると、前記第1の接続機器からのライトアドレスの発行を停止するとともに前記第2の接続機器からのライトレスポンスの受信を許容する
    請求項2記載のバスシステム。
  5. 前記ブリッジは、前記第1の接続機器の切断指示を受けた際に前記第1の接続機器からのライトアドレスの発行を停止した場合であってもバースト転送中のライトデータは当該バースト転送の終了まで発行する
    請求項4記載のバスシステム。
  6. 前記第2の接続機器は前記第1の接続機器との転送を主導する接続機器であり、
    前記第1の接続機器は前記第2の接続機器との転送に対して受動的に動作する接続機器である
    請求項1記載のバスシステム。
  7. 前記ブリッジは、前記第1の接続機器の切断指示を受けると、前記第2の接続機器からのリードアドレスの受信を許容するとともにエラー情報を示す固定値を前記第2の接続機器に返送する
    請求項6記載のバスシステム。
  8. 前記ブリッジは、前記第1の接続機器の切断指示を受けると、前記第2の接続機器からのライトアドレスの受信を許容するとともにエラー情報を示す固定値を前記第2の接続機器に返送する
    請求項6記載のバスシステム。
  9. 前記ブリッジは、前記第1の接続機器の切断指示を受けると、前記第1の接続機器からの信号を所定のレベルにクランプする
    請求項1記載のバスシステム。
  10. 所定のプロトコルによりやりとりを行う第1および第2の接続機器と、前記第1および第2の接続機器同士を接続するバスとを備えるバスシステムにおいて
    前記第1の接続機器とバスとの間に挿入されて、前記第1の接続機器の切断指示を受けると、前記第1の接続機器に代わって前記第2の接続機器との間の前記所定のプロトコル上のやりとりを行うブリッジ回路。
JP2010183762A 2010-08-19 2010-08-19 バスシステムおよびバスシステムと接続機器とを接続するブリッジ回路 Expired - Fee Related JP5617429B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010183762A JP5617429B2 (ja) 2010-08-19 2010-08-19 バスシステムおよびバスシステムと接続機器とを接続するブリッジ回路
US13/067,596 US8762616B2 (en) 2010-08-19 2011-06-13 Bus system and bridge circuit connecting bus system and connection apparatus
CN201110240431.1A CN102375797B (zh) 2010-08-19 2011-08-19 总线系统以及连接总线系统和连接设备的桥接器电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010183762A JP5617429B2 (ja) 2010-08-19 2010-08-19 バスシステムおよびバスシステムと接続機器とを接続するブリッジ回路

Publications (2)

Publication Number Publication Date
JP2012043171A true JP2012043171A (ja) 2012-03-01
JP5617429B2 JP5617429B2 (ja) 2014-11-05

Family

ID=45594958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010183762A Expired - Fee Related JP5617429B2 (ja) 2010-08-19 2010-08-19 バスシステムおよびバスシステムと接続機器とを接続するブリッジ回路

Country Status (3)

Country Link
US (1) US8762616B2 (ja)
JP (1) JP5617429B2 (ja)
CN (1) CN102375797B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015524122A (ja) * 2013-05-20 2015-08-20 華為技術有限公司Huawei Technologies Co.,Ltd. ピーシーアイエクスプレスのエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置
JP2016197316A (ja) * 2015-04-03 2016-11-24 ファナック株式会社 インタロックバスとスプリットバスを接続するブリッジ回路を備えたバスシステム
JP7476640B2 (ja) 2020-04-17 2024-05-01 株式会社リコー 情報処理装置、インタフェース制御回路および情報処理装置の制御方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101855399B1 (ko) * 2011-03-24 2018-05-09 삼성전자주식회사 데이터 트래픽을 개선한 SoC 및 이의 동작 방법
US8583844B2 (en) * 2011-05-31 2013-11-12 Lsi Corporation System and method for optimizing slave transaction ID width based on sparse connection in multilayer multilevel interconnect system-on-chip architecture
US9003093B2 (en) * 2012-09-07 2015-04-07 Mckesson Financial Holdings Connector apparatus and associated method for bridging data between data sources and data targets
US9665382B2 (en) 2012-09-12 2017-05-30 Change Healthcare Llc Method and apparatus for providing a cross-device macro framework
FR3003054B1 (fr) * 2013-03-06 2016-08-19 Sagem Defense Securite Procede et dispositif de filtrage de transactions pour systeme sur puce
US9465766B1 (en) * 2013-10-29 2016-10-11 Xilinx, Inc. Isolation interface for master-slave communication protocols
US9489009B2 (en) * 2014-02-20 2016-11-08 Samsung Electronics Co., Ltd. System on chip, bus interface and method of operating the same
US9818196B2 (en) * 2014-03-31 2017-11-14 Xiaomi Inc. Method and device for positioning and navigating
US9858229B2 (en) 2014-09-30 2018-01-02 International Business Machines Corporation Data access protection for computer systems
US11321268B2 (en) * 2014-10-31 2022-05-03 Texas Instruments Incorporated Multicore bus architecture with wire reduction and physical congestion minimization via shared transaction channels
US10042692B1 (en) * 2015-09-29 2018-08-07 Xilinx, Inc. Circuit arrangement with transaction timeout detection
JP6707936B2 (ja) * 2016-03-24 2020-06-10 日本電気株式会社 ブリッジ接続装置、通信制御システム、方法及びプログラム
CN110659236B (zh) * 2019-09-24 2023-04-07 山东华芯半导体有限公司 可自主回复写应答的axi总线传输装置
CN110704351A (zh) * 2019-09-24 2020-01-17 山东华芯半导体有限公司 基于axi总线的主机设备数据传输扩展方法
US11645155B2 (en) 2021-02-22 2023-05-09 Nxp B.V. Safe-stating a system interconnect within a data processing system
CN113254368B (zh) * 2021-07-15 2021-10-15 苏州浪潮智能科技有限公司 从axi总线到opb总线的数据写入方法及读取方法
CN116488957B (zh) * 2023-04-25 2023-10-20 南京金阵微电子技术有限公司 信号处理方法、系统及桥接器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH036723A (ja) * 1989-06-05 1991-01-14 Fujitsu Ltd バス制御方式
JPH11212687A (ja) * 1998-01-26 1999-08-06 Fujitsu Ltd バス制御装置
JP2003288278A (ja) * 2002-01-25 2003-10-10 Oki Electric Ind Co Ltd マイクロコントローラ
JP2008250632A (ja) * 2007-03-30 2008-10-16 Matsushita Electric Ind Co Ltd データ処理システム
JP2011095978A (ja) * 2009-10-29 2011-05-12 Renesas Electronics Corp バスシステム及びバス制御方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0821015B2 (ja) * 1992-01-20 1996-03-04 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータならびにそのシステム再構成化装置および方法
US5533204A (en) * 1994-04-18 1996-07-02 Compaq Computer Corporation Split transaction protocol for the peripheral component interconnect bus
US6141711A (en) * 1996-12-19 2000-10-31 National Semiconductor Corporation Method and apparatus to enable insertion/ejection of a device in a computer system while maintaining operation of the computer system and application software
US6170030B1 (en) * 1998-01-23 2001-01-02 Intel Corporation Method and apparatus for restreaming data that has been queued in a bus bridging device
US6185642B1 (en) * 1998-07-15 2001-02-06 International Business Machines Corporation Bus for high frequency operation with backward compatibility and hot-plug ability
US6330630B1 (en) * 1999-03-12 2001-12-11 Intel Corporation Computer system having improved data transfer across a bus bridge
US6715023B1 (en) * 1999-09-23 2004-03-30 Altera Corporation PCI bus switch architecture
US6574695B1 (en) * 2000-01-06 2003-06-03 Sun Microsystems, Inc. System and method for providing hot swap capability using existing circuits and drivers with minimal changes
JP2001345827A (ja) * 2000-06-02 2001-12-14 Minolta Co Ltd インターフェース装置、これを有するノード、インターフェースシステム、バスリセットの制御方法およびバスリセットの制御プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002269033A (ja) 2001-03-09 2002-09-20 Toshiba Corp リトライ制御機能を有するアービタを用いたバスシステムおよびシステムlsi
US20030023410A1 (en) * 2001-07-20 2003-01-30 Roth Eric Scott Method and apparatus for flushing of a device cache and suspending/shutting-down the device
US6766386B2 (en) * 2001-08-28 2004-07-20 Broadcom Corporation Method and interface for improved efficiency in performing bus-to-bus read data transfers
US6981173B2 (en) * 2001-09-28 2005-12-27 Hewlett-Packard Development Company, L.P. Redundant memory sequence and fault isolation
US6754737B2 (en) * 2001-12-24 2004-06-22 Hewlett-Packard Development Company, L.P. Method and apparatus to allow dynamic variation of ordering enforcement between transactions in a strongly ordered computer interconnect
US6968416B2 (en) * 2002-02-15 2005-11-22 International Business Machines Corporation Method, system, and program for processing transaction requests during a pendency of a delayed read request in a system including a bus, a target device and devices capable of accessing the target device over the bus
US7007181B2 (en) * 2002-04-23 2006-02-28 Oki Electric Industry Co., Ltd. Microcontroller
US7234014B2 (en) * 2004-01-14 2007-06-19 International Business Machines Corporation Seamless user interactions for portable storage devices
US7802043B2 (en) * 2005-12-09 2010-09-21 Maxim Integrated Products, Inc. Methods and apparatus for adding an autonomous controller to an existing architecture
US7594043B2 (en) * 2006-01-27 2009-09-22 Apple Inc. Reducing dismount time for mass storage class devices
US7834867B2 (en) * 2006-04-11 2010-11-16 Microvision, Inc. Integrated photonics module and devices using integrated photonics modules
US8380905B2 (en) * 2010-05-21 2013-02-19 National Semiconductor Corporation Isolated communication bus and related protocol

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH036723A (ja) * 1989-06-05 1991-01-14 Fujitsu Ltd バス制御方式
JPH11212687A (ja) * 1998-01-26 1999-08-06 Fujitsu Ltd バス制御装置
JP2003288278A (ja) * 2002-01-25 2003-10-10 Oki Electric Ind Co Ltd マイクロコントローラ
JP2008250632A (ja) * 2007-03-30 2008-10-16 Matsushita Electric Ind Co Ltd データ処理システム
JP2011095978A (ja) * 2009-10-29 2011-05-12 Renesas Electronics Corp バスシステム及びバス制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015524122A (ja) * 2013-05-20 2015-08-20 華為技術有限公司Huawei Technologies Co.,Ltd. ピーシーアイエクスプレスのエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置
US9323635B2 (en) 2013-05-20 2016-04-26 Huawei Technologies Co., Ltd. Method, computer system, and apparatus for accessing peripheral component interconnect express endpoint device
US9384110B2 (en) 2013-05-20 2016-07-05 Huawei Technologies Co., Ltd. Method, computer system, and apparatus for accessing peripheral component interconnect express endpoint device
JP2016197316A (ja) * 2015-04-03 2016-11-24 ファナック株式会社 インタロックバスとスプリットバスを接続するブリッジ回路を備えたバスシステム
JP7476640B2 (ja) 2020-04-17 2024-05-01 株式会社リコー 情報処理装置、インタフェース制御回路および情報処理装置の制御方法

Also Published As

Publication number Publication date
JP5617429B2 (ja) 2014-11-05
US20120047306A1 (en) 2012-02-23
CN102375797B (zh) 2015-12-02
US8762616B2 (en) 2014-06-24
CN102375797A (zh) 2012-03-14

Similar Documents

Publication Publication Date Title
JP5617429B2 (ja) バスシステムおよびバスシステムと接続機器とを接続するブリッジ回路
JP4499420B2 (ja) スーパーチャージメッセージ交換装置
US6161160A (en) Network interface device architecture for storing transmit and receive data in a random access buffer memory across independent clock domains
TWI239187B (en) System and method for managing and validating remote keys which correspond to outstanding data transactions
JP2802043B2 (ja) クロック故障検出回路
JP5459807B2 (ja) マルチプロセッサデータ処理システムにおけるデバッグシグナリング
US5919254A (en) Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system
US20070011387A1 (en) Flexible width data protocol
US20040024946A1 (en) Scalable on chip network
JP3807250B2 (ja) クラスタシステム、コンピュータ及びプログラム
US20040019730A1 (en) On chip network with independent logical and physical layers
JPH0775016B2 (ja) データ処理システム及びデータ通信バス・システム
JP2004185639A (ja) マルチ幅のメモリ・サブシステムをサポートするための方法
WO2015169054A1 (zh) 一种实现数据一致性的方法、装置及计算机存储介质
JP2012073851A (ja) バスシステムおよびそのデッドロック回避回路
JP2006244258A (ja) シリアルコネクトバスを使用したコンピュータシステム及び複数cpuユニットのシリアルコネクトバスによる接続方法
KR20120040535A (ko) 버스 시스템 및 그것의 동작 방법
JP2012252490A (ja) マルチプロセッサおよびそれを用いた画像処理システム
WO2017101080A1 (zh) 处理写请求的方法、处理器和计算机
US7532636B2 (en) High bus bandwidth transfer using split data bus
US20040044877A1 (en) Computer node to mesh interface for highly scalable parallel processing system
US10489315B2 (en) Dynamic adaptation of direct memory transfer in a data processing system with mismatched data-bus widths
EP1746497B1 (en) Apparatus and method for sparse line write transactions
JPS621057A (ja) 転送制御装置
CN116303207A (zh) 一种总线传输方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140402

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140901

R151 Written notification of patent or utility model registration

Ref document number: 5617429

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

LAPS Cancellation because of no payment of annual fees