JP2019507926A - モジュールバスとaxiバスの間のリクエストを変換するためのバスブリッジ - Google Patents

モジュールバスとaxiバスの間のリクエストを変換するためのバスブリッジ Download PDF

Info

Publication number
JP2019507926A
JP2019507926A JP2018544495A JP2018544495A JP2019507926A JP 2019507926 A JP2019507926 A JP 2019507926A JP 2018544495 A JP2018544495 A JP 2018544495A JP 2018544495 A JP2018544495 A JP 2018544495A JP 2019507926 A JP2019507926 A JP 2019507926A
Authority
JP
Japan
Prior art keywords
request
bus
axi
slave
protocol
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
JP2018544495A
Other languages
English (en)
Other versions
JP6995052B2 (ja
Inventor
マニクファン,サミア・ディー
カーク,デヴィッド・ライル
ガスティン,ジェイ・ダブリュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honeywell International Inc
Original Assignee
Honeywell International Inc
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 Honeywell International Inc filed Critical Honeywell International Inc
Publication of JP2019507926A publication Critical patent/JP2019507926A/ja
Application granted granted Critical
Publication of JP6995052B2 publication Critical patent/JP6995052B2/ja
Active 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
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

バスブリッジを行うための方法は、少なくとも1つのモジュールバス(132)と少なくとも1つの高度拡張可能インターフェイス(AXI)バス(162)の間のバスリクエストを変換するために、モジュールバスとAXIバスとの間に連結されるバスインターフェイスデバイス(110)を提供することを含む。バスインターフェイスデバイスはロジック(114)を含む。ロジックは、モジュールバスプロトコルのR/Wリクエスト及びAXIバスプロトコルのR/Wリクエストのうちの1つである読込み/書出し(R/W)リクエストを受信すること(304、354)と、バッファリングされたR/Wリクエストを提供するために、R/Wリクエストをバッファリングすること(306、356)とを行うように構成される。ロジックは、バッファリングされたR/WリクエストがモジュールバスプロトコルのR/Wリクエストである場合、バッファリングされたR/Wリクエストを第1のAXIプロトコル準拠のリクエストに変換し(310)、バッファリングされたR/WリクエストがAXIバスプロトコルのR/Wリクエストである場合、バッファリングされたR/Wリクエストを第1のモジュールバスプロトコル準拠のリクエストに変換する(360)。変換されたリクエストは、これらの個々のバスに送信される(312、362)。

Description

[0001]開示の実施形態は、工業用通信で使用されるマイクロプロセッサと回路の間の回路間通信に関し、より詳細には、モジュールバスと高度拡張可能インターフェイス(AXI:advanced extensible interface)バスとの間の読込み/書出しリクエストを変換するためのバスブリッジに関する。
[0002]工業施設は通信ネットワークを使用して情報及びデータを送受信する。工業施設は、プロセス又は工業生産、ビルオートメーション、サブステーションオートメーション、及び自動メータ読取りなどの様々な産業及び用途を含むことができる。通信ネットワークは、様々なコンピュータ、サーバ、及び互いに通信する他のデバイスを使用することができる。
[0003]工業施設は、時とともにアップデート及び取替えを必要とする旧式の通信デバイスを有することがある。残念ながら、何年か後に製造業者が特定の通信プロトコルをサポートするデバイスの製造をやめる可能性がある。旧式化に直面しているこのような旧式のシステムの1つは、モジュールバス通信プロトコルをサポートする、ローカル制御ネットワーク(LCN:local control network)のシャシを基礎とするシステムである。高度拡張可能インターフェイスバスなどの現在の通信プロトコルをサポートする比較的新しいデバイスは、モジュールバスを利用するシステムと通信することができない。
[0004]本発明の概要は、提供された図面を含む、発明を実施するための形態において以下にさらに説明される、開示された概念の簡単な選択を単純な形で紹介するために提供される。本発明の概要は、請求される主題の範囲を限定することを意図するものではない。
[0005]開示の実施形態はバスブリッジを行うための方法を含む。方法は、少なくとも1つのモジュールバスと少なくとも1つの高度拡張可能インターフェイス(AXI)バスの間のバスリクエストを変換するために、モジュールバスとAXIバスとの間に通信的に連結されたバスインターフェイスデバイスを提供することを含む。バスインターフェイスデバイスは、ゲートアレイ又はプログラマブルロジックなどのロジック(以下、ロジック又はプログラマブルロジックと呼ばれる)を含む。ロジックは、モジュールバスプロトコル(モジュールバスプロトコルのR/Wリクエスト)及びAXIバスプロトコル(AXIバスプロトコルのR/Wリクエスト)のうちの1つである読込み/書出し(R/W:read/write)リクエストを受信することと、バッファリングされたR/Wリクエストを提供するために、R/Wリクエストをバッファリングすることとを行うように構成される。ロジックは、バッファリングされたR/WリクエストがモジュールバスプロトコルのR/Wリクエストである場合、バッファリングされたR/Wリクエストを第1のAXIプロトコル準拠のリクエストに変換し、バッファリングされたR/WリクエストがAXIバスプロトコルのR/Wリクエストである場合、バッファリングされたR/Wリクエストを第1のモジュールバスプロトコル準拠のリクエストに変換する。第1のAXIプロトコル準拠のリクエストはAXIバスに送信され、又は第1のモジュールバスプロトコル準拠のリクエストはモジュールバスに送信される。
[0006]別の開示の実施形態はバスインターフェイスデバイスを備える。バスインターフェイスデバイスはプロセッサ、及びプロセッサと通信するゲートアレイ又はプログラマブルロジックなどのロジックを含む。バスインターフェイスデバイスは、少なくとも1つのモジュールバスと少なくとも1つの高度拡張可能インターフェイス(AXI)バスの間のバスリクエストを変換するために、モジュールバスとAXIバスとの間に通信的に連結される。ロジックは、モジュールバスプロトコル(モジュールバスプロトコルのR/Wリクエスト)及びAXIバスプロトコル(AXIバスプロトコルのR/Wリクエスト)のうちの1つである読込み/書出し(R/W)リクエストを受信することと、バッファリングされたR/Wリクエストを提供するために、R/Wリクエストをバッファリングすることとを行うように構成される。ロジックは、バッファリングされたR/WリクエストがモジュールバスプロトコルのR/Wリクエストである場合、バッファリングされたR/Wリクエストを第1のAXIプロトコル準拠のリクエストに変換し、バッファリングされたR/WリクエストがAXIバスプロトコルのR/Wリクエストである場合、バッファリングされたR/Wリクエストを第1のモジュールバスプロトコル準拠のリクエストに変換する。第1のAXIプロトコル準拠のリクエストはAXIバスに送信され、又は第1のモジュールバスプロトコル準拠のリクエストはモジュールバスに送信される。
[0007]一実施形態例による、モジュールバスとAXIバスの間の読込み/書出しリクエストを変換するための例示のバスブリッジインターフェイスデバイスのブロック図である。 [0008]一実施形態例による、バスブリッジインターフェイスデバイスの例示のプログラマブルロジックのブロック図である。 [0009]一実施形態例による、モジュールバスからAXIバスに読込み/書出しリクエストを変換する例示的方法におけるステップを示す流れ図である。 [0010]一実施形態例による、AXIバスからモジュールバスに読込み/書出しリクエストを変換する例示的方法におけるステップを示す流れ図である。 [0011]一実施形態例による、スレーブのAXIバスリクエストを行う例示的方法におけるステップを示す流れ図である。 [0012]一実施形態例による、マスタのAXIバスリクエストを行う例示的方法におけるステップを示す流れ図である。 [0013]一実施形態例による、バスブリッジインターフェイスデバイス内でエラーを処理する例示的方法におけるステップを示す流れ図である。
[0014]開示の実施形態は添付の図を参照しながら説明され、類似又は同等の要素を指定するために、同じ参照番号が図の全体を通じて使用される。図は縮尺通りには描かれておらず、図は一定の開示の態様を示すためだけに提供される。いくつかの開示の態様が、例証のために例示の応用例を参照しながら下記に説明される。開示の実施形態が十分に理解されるように、非常に多くの具体的詳細、関連性、及び方法が示されるということを理解されたい。
[0015]しかし本明細書で開示された主題が、具体的詳細の1つもしくは複数を伴わずに、又は他の方法を伴って実践され得るということを当業者は容易に認識するであろう。他の例では、一定の態様をあいまいにしないようにするために、よく知られた構造又はオペレーションは詳細に示されていない。中には異なる順序で、及び/又は他の動作もしくはイベントと並行に発生する動作もあり得るので、本開示は動作又はイベントの図示された順序によって限定されない。さらに、すべての図示された動作又はイベントが、本明細書で開示された実施形態による方法論を実装するように求められるわけではない。
[0016]また、さらなる限定なしに本明細書で使用されるような用語「に連結される(coupled to)」又は「と連結する(couples with)」(及び同様の語)は、間接又は直接の電気的接続を表すことを意図するものである。したがって第1のデバイスが第2のデバイスに「連結」する場合、この接続は、経路内に寄生があるだけの直接の電気的接続を介していてよく、また他のデバイス及び接続を含む介在物を経由する間接の電気的接続を介していてもよい。間接の連結に関して、介在物は一般に信号の情報を変更しないが、信号の電流レベル、電圧レベル、及び/又は電力レベルを調節することがある。
[0017]図1は、モジュールバスと高度拡張可能インターフェイスバスとの間の読込み/書出しリクエストを変換するための例示のシステム100のブロック図を示す。図1に示されるように、システム100は、モジュールバス132を介して1つ又は複数のローカル制御ネットワーク(LCN)デバイス130と通信するバスインターフェイスデバイス110を備える。モジュールバス132は、単一方向性のデータ線、アドレス線、及び制御線142を含むことができる。バスインターフェイスデバイス110は、AXIバス162を介して1つ又は複数のAXIデバイス160とさらに通信する。モジュールバス132は、データ双方向性のデータ線、アドレス線、及び制御線146を含むことができる。
[0018]バスインターフェイスデバイス110は、付随する内部メモリ122に、及び外部メモリ124に連結されたプロセッサ112(例えば、デジタル信号プロセッサ(DSP:digital signal processor)、マイクロプロセッサ、又はマイクロコントローラユニット(MCU:microcontroller unit))を含む。プロセッサ112は、モジュールバス132とAXIバス162の間の読込み/書出しリクエストの変換を容易にするロジック114にも連結される。1つの実施形態において、ロジック114は特定用途向け集積回路(ASIC:application specific integrated circuit)である。別の実施形態において、ロジック114は、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)などのゲートアレイである。ロジック114は、本明細書で説明されたオペレーション、応用例、方法、又は方法論の任意の1つ又は複数を行うことができる。人間はナノ秒のオーダーで連続的に読込み/書出しリクエストを監視及び変換することができず、これは人が行うには明らかに速すぎるので、ロジック114がモジュールバス132とAXIバス162の間の読込み/書出しリクエストを変換する。
[0019]1つの実施形態において、プロセッサ122は、(テスト及びデバッグに使用されるジョイントテストアクショングループ(JTAG:Joint Test Action Group)モード中を除く)通常のオペレーション中のシステムの電源投入中にロジック114を構成する。プロセッサ112は、AXIインターコネクトに接続するAXIバスインターフェイスを含むことができる。バスインターフェイスデバイス110は、AXIインターコネクトと、プログラマブルロジック114に実装されたモジュールバスインターフェイス118との間にある。システムの電源投入後、プロセッサ112は、AXIバスインターフェイスデバイスロジック、モジュールバスインターフェイスロジック、及びローカル制御ネットワークインターフェイス(LCNI:Local Control Network Interface)と共にプログラマブルロジック114を構成する。プログラマブルロジック114が構成された後、プロセッサ112は、バスインターフェイスデバイス110及びモジュールバスインターフェイス118を介してローカル制御ネットワークインターフェイス(LCNI)と通信する。
[0020]受信された読込み/書出しリクエストを一時的に格納するための1つ又は複数のバッファ116を含むロジック114が示される。ロジック114は、モジュールバスインターフェイス118及びAXIバスインターフェイス120をさらに含む。ロジック114は状態機械を使用して、モジュールバス132とAXIバス162の間の読込み/書出しリクエストを変換するようにプログラムできるハードウェアである。モジュールバスインターフェイス118は、受信されたAXIバスプロトコルの読込み/書出しリクエストをモジュールバスプロトコルのリクエストに変換する電子回路を収める。AXIバスインターフェイス120は、受信されたモジュールバスプロトコルの読込み/書出しリクエストをAXIバスプロトコルのリクエストに変換する電子回路を収める。
[0021]1つの特定の実施形態において、バスインターフェイスデバイス110は、California州San JoseのXilinx Corporationから市販されるZynq 7000オールプログラマブルシリコンオンチップ(SoC:silicon on chip)デバイスであってよい。Zynq 7000デバイスは、ARMベースのプロセッサ(すなわちプロセッサ112)のソフトウェアプログラミング性を、フィールドプログラマブルゲートアレイFPGA(すなわちロジック114)のハードウェアカスタムプログラミング性と統合する。
[0022]本開示は、旧式のプロセッサバス(モジュールバス132)からプロセッサ112のAXIバス162への橋渡しを行う。読込み及び書出しのAXIバスリクエストを処理する時間は、40MHzのクロックを使用して100nsのオーダーである。応答するために読込み/書出しが開始されるのには4クロックサイクル掛かる。このような速度のために、AXIバスプロトコルに要求されるような、読込み及び書出し経路を並行に処理することは人間には不可能である。
[0023]図2は、本明細書で説明される方法、処理、オペレーション、応用例、又は方法論の任意の1つ又は複数をバスインターフェイスデバイス110に行わせることができる、114’として示されたプログラマブルロジックとして具体化されるロジック114のさらなる詳細を示す。プログラマブルロジック114’は、いくつかのバッファ116を含む。バッファ116は、スレーブ書出し先入れ先出し(FIFO)バッファ210、スレーブ読込みFIFOバッファ212、マスタ書出しFIFOバッファ214、マスタ読込みFIFOバッファ216、スレーブ書出しアドレスFIFOバッファ220、スレーブ読込みアドレスFIFOバッファ222、マスタ書出しアドレスFIFOバッファ224、及びマスタ読込みアドレスFIFOバッファ226を備える。バッファ216〜224のそれぞれは、異なるバスプロトコルへの変換を要求する、受信された読込み及び/又は書出しリクエストを一時的に格納することができる。
[0024]プログラマブルロジック114’は、いくつかの有限状態機械(FSM:finite state machine)をさらに含む。FSMは、プログラマブルロジック114’内の順序論理回路として実装される。FSMは、有限個の状態のうちの1つであってよい。FSMは、現在状態と呼ばれる、同時に1つの状態にしかならない。状態は、トリガイベント又は条件によって開始されると1つの状態から別の状態に変化することができ、これは遷移と呼ばれる。特定のFSMは、遷移の状態、及び各遷移のトリガ条件を列挙することよって定義される。FSMは、スレーブ書出しデータFSM230、スレーブ読込みデータFSM232、マスタ書出しFSM234、マスタ読込みFSM236、及びモジュールバスインターフェイスFSM240を含む。
[0025]1つの実施形態において、スレーブ書出しデータFSM230は、S_AXI_BRESP線、S_AXI_AWADDR線、S_AXI_WDATA線、及びS_AXI書出し制御信号線を含む、スレーブ書出しデータ線、アドレス線、及び制御線260を介してAXIバス162に接続される。スレーブ読込みデータFSM232は、S_AXI_RRESP線、S_AXI_ARADDR線、S_AXI_RDATA線、及びS_AXI読込み制御信号線を含む、スレーブ書出しデータ線、アドレス線、及び制御線262を介してAXIバス162に接続される。
[0026]マスタ書出しデータFSM234は、M_AXI_BRESP線、M_AXI_AWADDR線、M_AXI_WDATA線、及びM_AXI書出し制御信号線を含む、マスタ書出しデータ線、アドレス線、及び制御線264を介してAXIバス162に接続される。マスタ読込みデータFSM236は、M_AXI_RRESP線、M_AXI_ARADDR線、M_AXI_RDATA線、及びM_AXI読込み制御信号線を含む、マスタ書出しデータ線、アドレス線、及び制御線266を介してAXIバス162に接続される。
[0027]モジュールバスインターフェイスFSM240は、bridge_up_data_out線、bridge_up_data_in線、bridge_up_add_in線、bridge_up_addr_out線、並びにモジュールバスアービトレーション及び制御信号線を含む、データ線、アドレス線、及び制御線270を介してモジュールバス132に接続される。
[0028]1つの実施形態において、バッファ210〜226は、入って来るR/Wリクエストを受信し、一時的に格納する(バッファリングする)。バッファリングされたR/WリクエストがモジュールバスプロトコルのR/Wリクエストである場合、FSM230〜236は、バッファリングされたR/WリクエストをAXIプロトコル準拠のリクエストに変換する。バッファリングされたR/WリクエストがAXIバスプロトコルのR/Wリクエストである場合、FSM240は、バッファリングされたR/Wリクエストをモジュールバスプロトコル準拠のリクエストに変換する。
[0029]図3Aは、バスインターフェイスデバイス110を使用して、モジュールバスからAXIバスに読込み/書出しリクエストを変換するための例示的方法300におけるステップを示す流れ図である。図1〜図3Aを参照すると、方法300はインターフェイスデバイス110を使用して、また具体的にはFSM230、232、234、236、及び240としてプログラムされたプログラマブルロジック114’によって実装されてよい。しかし上述のように、ロジック114として利用されるロジックは、方法300、又は下記に説明される方法40、方法450、もしくは方法500のプログラマブルロジックである必要はない。
[0030]方法300は開始ブロックで始まり、ブロック302に進む。ブロック302において、バスインターフェイスデバイス110はプログラマブルロジック114’の初期化を含めてスタートアップ中に初期化され、システム100内の他のデバイスとの通信を確立する。プログラマブルロジック114’は、モジュールバスプロトコルであるR/Wリクエスト(モジュールバスプロトコルのR/Wリクエスト)を受信する(ブロック304)。プログラマブルロジック’114は、バッファリングされたモジュールバスのR/Wリクエストを提供するために、バッファ210〜226の1つ又は複数を使用してモジュールバスのR/Wリクエストをバッファリングする(ブロック306)。プログラマブルロジック114’は、バッファリングされたモジュールバスのR/Wリクエストを第1のAXIプロトコル準拠のリクエストに変換し(ブロック310)、第1のAXIプロトコル準拠のリクエストをAXIバス162に送信する(ブロック312)。その後、方法300は終了する。
[0031]図3Bは、バスインターフェイスデバイス110を使用して、AXIバスからモジュールバスに読込み/書出しリクエストを変換するための例示的方法350におけるステップを示す流れ図である。図1〜図3Bを参照すると、方法350は、インターフェイスデバイス110を使用して、また具体的にはFSM230、232、234、236、及び240としてプログラムされたプログラマブルロジック114’によって実装されてよい。
[0032]方法350は開始ブロックで始まり、ブロック352に進む。ブロック352において、バスインターフェイスデバイス110は、プログラマブルロジック114’の初期化を含めてスタートアップ中に初期化され、システム100内の他のデバイスとの通信を確立する。プログラマブルロジック114’は、AXIバスプロトコルであるR/Wリクエスト(AXIバスプロトコルのR/Wリクエスト)を受信する(ブロック354)。プログラマブルロジック114は、バッファリングされたAXIバスのR/Wリクエストを提供するために、バッファ210〜226の1つ又は複数を使用してAXIバスのR/Wリクエストをバッファリングする(ブロック356)。プログラマブルロジック114’は、バッファリングされたAXIバスのR/Wリクエストを第1のモジュールバスプロトコル準拠のリクエストに変換し(ブロック360)、第1のモジュールバスプロトコル準拠のリクエストをモジュールバス132に送信する(ブロック362)。その後、方法350は終了する。
[0033]図4A及び図4Bは、バスインターフェイスデバイス110を使用して、マスタ及びスレーブのAXIバスリクエストを処理する例示的方法400及び450におけるステップを示す流れ図である。図1〜図4Bを参照すると、方法400は、インターフェイスデバイス110を使用して、また具体的にはFSM230、232、234、236、及び240としてプログラムされたプログラマブルロジック114’によって実装されてよい。
[0034]図4Aを具体的に参照すると、方法400は開始ブロックで始まり、ブロック402に進む。ブロック402において、プログラマブルロジック114’は、スレーブAXIバスのR/Wリクエストを受信する。プログラマブルロジック114’は、スレーブAXIバスのR/Wリクエストが有効であることをマスタバス信号が示すかどうかを判断する(判定ブロック406)。1つの実施形態において、プログラマブルロジック114’は、AXIインターフェイス120上のアドレス及びデータのそれぞれに対して、別々の書出し有効信号及び読込み有効信号を含む。スレーブAXIバスのR/Wリクエストが有効であることに応答して、プログラマブルロジック114’は、スレーブAXIのR/Wリクエストを行う(ブロック408)。その後、方法400は停止する。スレーブAXIバスのR/Wリクエストが有効ではないことに応答して、方法400は終了する。
[0035]図4Bを見ると、方法450は開始ブロックで始まり、ブロック452に進む。ブロック452において、プログラマブルロジック114は、マスタAXIバスのR/Wリクエストを受信する。プログラマブルロジック114’は、マスタAXIのR/Wリクエストを行う(ブロック454)。その後、方法450は停止する。
[0036]図5は、システム100内において、受信されたエラーを処理する例示的方法500におけるステップを示す流れ図である。図1〜図5を参照すると、方法500は、インターフェイスデバイス110を使用して、また具体的にはFSM230、232、234、236、及び240としてプログラムされたプログラマブルロジック114によって実装されてよい。
[0037]方法500は開始ブロックで始まり、ブロック502に進む。ブロック502において、プログラマブルロジック114’は、アドレス線、信号線、又はデータ線260、266、又は270の1つ又は複数で、なんらかのエラーメッセージ又はエラー信号が受信されたかどうかを判断する。エラーメッセージ又はエラー信号が受信されないことに応答して、プログラマブルロジック114’はブロック502において、なんらかのエラーメッセージ又はエラー信号が受信されたかどうかを判断し続ける。1つ又は複数のエラーメッセージ又はエラー信号が受信されたことに応答して、プログラマブルロジック114’は、エラーが、モジュールバスからの応答がないことによるタイムアウト条件エラーかどうかを識別する(判定ブロック504)。応答がないことによるタイムアウト条件エラーが発生したことを識別したことに応答して、プログラマブルロジック114’は、デコードエラーメッセージをエンコードし(ブロック506)、デコードエラーメッセージを応答チャネル上のAXIバスに送信する(ブロック508)。その後、方法500は終了する。
[0038]応答がないことによるタイムアウト条件エラーが発生しなかったことを識別することに応答して、プログラマブルロジック114’は、エラーが、モジュールバスからの伝達エラーの確認エラーであるかどうかを識別する(判定ブロック510)。エラーが伝達エラーの確認エラーであることに応答して、プログラマブルロジック114’は、スレーブエラーメッセージをエンコードし(ブロック512)、スレーブエラーメッセージを応答チャネル上のAXIバスに送信する(ブロック514)。その後、方法500は終了する。
[0039]エラーが伝達エラーの確認エラーでないことに応答して、プログラマブルロジック114’は、エラーがR/Wエラーであるかどうかを識別する(判定ブロック520)。エラーがR/Wエラーであることに応答して、プログラマブルロジック114’は伝達エラーの確認メッセージをエンコードし(ブロック522)、伝達エラーの確認メッセージを応答チャネル上のモジュールバスに送信する(ブロック524)。その後、方法500は終了する。エラーがR/Wエラーではないことに応答して、方法500は停止する。
[0040]様々な開示の実施形態が上記で説明されたが、これらはほんの一例として提示されたにすぎず、限定されないということを理解されたい。本明細書で開示された主題に対する非常に多くの変更が、本開示の精神及び範囲から逸脱することなく本開示に従って行われて良い。さらに、特定の特徴がいくつかの実装形態のうちのただ1つについて開示されてもよいが、このような特徴は、任意の所与の又は特定のアプリケーションにとって望まれ、かつ有利であり得るものとして、他の実装形態の1つ又は複数の他の特徴と組み合わされてよい。
[0041]当業者によって理解されるように、本明細書で開示された主題は、システム、方法、又はコンピュータプログラム製品として具体化されてよい。したがって本開示は、全面的にハードウェアの実施形態、全面的にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、又はすべて全体的に本明細書で「回路」、「モジュール」、もしくは「システム」と呼ばれるソフトウェア及びハードウェアの態様を組み合わせる実施形態の形をとることができる。さらに本開示は、媒体の中で具体化されるコンピュータ使用可能プログラムコードを有する、表現の任意の有形的表現媒体の中で具体化されるコンピュータプログラム製品の形をとってよい。ハードウェアの実施形態として実装された開示の実施形態が示されるが、これにはソフトウェアの解決策に対する性能優位性がある。従来のプロセッサを使用するソフトウェアの実施形態は順次、処理し、別々のマスタ及びスレーブの読込み及び書出し経路を並行に処理しない。複数のコアが使用される場合、各コアは依然として、一度に1つずつ命令を処理する可能性があり、メモリから命令及びデータをフェッチするための待ち時間もある。
[0042]1つ又は複数のコンピュータ使用可能媒体又はコンピュータ可読媒体の任意の組合せが利用されてよい。コンピュータ使用可能媒体又はコンピュータ可読媒体は、例えば電子的な、磁気の、光学的な、電磁気的な、赤外線の、又は半導体のシステム、装置、又はデバイスであってよいが限定されない。コンピュータ可読媒体のさらなる具体例(完全に網羅されていないリスト)は、1つ又は複数のワイヤを有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM:random access memory)、リードオンリメモリ(ROM:read−only memory)、消去可能プログラマブルリードオンリメモリ(EPROM:erasable programmable read−only memory、すなわちフラッシュメモリ)、ポータブルコンパクトディスクリードオンリメモリ(CDROM:compact disc read−only memory)、光ストレージデバイス、又は磁気ストレージデバイスを含む、非一時的媒体を含む。

Claims (12)

  1. バスブリッジを行うための方法であって、
    少なくとも1つのモジュールバス(132)と少なくとも1つの高度拡張可能インターフェイス(AXI)バス(162)の間のバスリクエストを変換するために、前記モジュールバスと前記AXIバスとの間に通信的に連結されたバスインターフェイスデバイス(110)を提供するステップであって、前記バスインターフェイスデバイスはロジック(114)を含む、ステップを含み、前記ロジックは、
    モジュールバスプロトコル(モジュールバスプロトコルのR/Wリクエスト)及びAXIバスプロトコル(AXIバスプロトコルのR/Wリクエスト)のうちの1つである読込み/書出し(R/W)リクエストを受信すること(304、354)と、
    バッファリングされたR/Wリクエストを提供するために、前記R/Wリクエストをバッファリングすること(306、356)と、
    前記バッファリングされたR/Wリクエストが前記モジュールバスプロトコルのR/Wリクエストである場合、前記バッファリングされたR/Wリクエストを第1のAXIプロトコル準拠のリクエストに変換し(310)、前記バッファリングされたR/Wリクエストが前記AXIバスプロトコルのR/Wリクエストである場合、前記バッファリングされたR/Wリクエストを第1のモジュールバスプロトコル準拠のリクエストに変換すること(360)と、
    前記第1のAXIプロトコル準拠のリクエストを前記AXIバスに、又は前記第1のモジュールバスプロトコル準拠のリクエストを前記モジュールバスに送信すること(312、362)と
    を行うように構成される、方法。
  2. 前記AXIバスプロトコルのR/Wリクエストが、マスタ読込みリクエストもしくはマスタ書出しリクエスト又はスレーブ読込みリクエストもしくはスレーブ書出しリクエストのうちの少なくとも1つを含む、請求項1に記載の方法。
  3. 前記R/Wリクエストが前記マスタ読込みリクエスト又はマスタ書出しリクエストであることに応答して、前記マスタ読込みリクエスト又はマスタ書出しリクエストを行うステップ(454)
    をさらに含む、請求項2に記載の方法。
  4. 前記R/Wリクエストが前記スレーブ読込みリクエスト又はスレーブ書出しリクエストであることに応答して、マスタバスの読込み有効信号又は書出し有効信号が、前記スレーブ読込みリクエスト又はスレーブ書出しリクエストが有効であることを示すかどうか判断するステップ(406)と、
    前記スレーブ読込みリクエスト又はスレーブ書出しリクエストが有効であることに応答して、前記スレーブ読込みリクエスト又はスレーブ書出しリクエストを行うステップ(408)と
    をさらに含む、請求項2に記載の方法。
  5. 前記ロジックが、
    スレーブ書出しデータ有限状態機械(FSM)(230)と、
    スレーブ読込みデータFSM(232)と、
    マスタ書出しFSM(234)と、
    マスタ読込みFSM(236)と、
    モジュールバスインターフェイスFSM(240)と
    のうちの少なくとも1つをさらに含む、請求項1に記載の方法。
  6. 前記ロジックがゲートアレイを含む、請求項1に記載の方法。
  7. バスインターフェイスデバイス(110)であって、
    プロセッサ(112)と、
    前記プロセッサと通信するロジック(114)であって、前記バスインターフェイスデバイスは、少なくとも1つのモジュールバス(132)と少なくとも1つの高度拡張可能インターフェイス(AXI)バス(162)の間のバスリクエストを変換するために、前記モジュールバスと前記AXIバスとの間に通信的に連結される、ロジック(114)と、を備え、前記ロジックは、
    モジュールバスプロトコル(モジュールバスプロトコルのR/Wリクエスト)及びAXIバスプロトコル(AXIバスプロトコルのR/Wリクエスト)のうちの1つである読込み/書出し(R/W)リクエストを受信すること(304、354)と、
    バッファリングされたR/Wリクエストを提供するために、前記R/Wリクエストをバッファリングすること(306、356)と、
    前記バッファリングされたR/Wリクエストが前記モジュールバスプロトコルのR/Wリクエストである場合、前記バッファリングされたR/Wリクエストを第1のAXIプロトコル準拠のリクエストに変換し(310)、前記バッファリングされたR/Wリクエストが前記AXIバスプロトコルのR/Wリクエストである場合、前記バッファリングされたR/Wリクエストを第1のモジュールバスプロトコル準拠のリクエストに変換すること(360)と、
    前記第1のAXIプロトコル準拠のリクエストを前記AXIバスに、又は前記第1のモジュールバスプロトコル準拠のリクエストを前記モジュールバスに送信すること(312、362)と
    を行うように構成される、バスインターフェイスデバイス(110)。
  8. 前記AXIバスプロトコルのR/Wリクエストが、マスタ読込みリクエストもしくはマスタ書出しリクエスト又はスレーブ読込みリクエストもしくはスレーブ書出しリクエストのうちの少なくとも1つを含む、請求項7に記載のバスインターフェイスデバイス。
  9. 前記R/Wリクエストが前記マスタ読込みリクエスト又はマスタ書出しリクエストであることに応答して、前記マスタ読込みリクエスト又はマスタ書出しリクエストを行うこと(454)
    をさらに含む、請求項8に記載のバスインターフェイスデバイス。
  10. 前記R/Wリクエストが前記スレーブ読込みリクエスト又はスレーブ書出しリクエストであることに応答して、マスタバスの読込み有効信号又は書出し有効信号が、前記スレーブ読込みリクエスト又はスレーブ書出しリクエストが有効であることを示すかどうか判断すること(406)と、
    前記スレーブ読込みリクエスト又はスレーブ書出しリクエストが有効であることに応答して、前記スレーブ読込みリクエスト又はスレーブ書出しリクエストを行うこと(408)
    をさらに含む、請求項8に記載のバスインターフェイスデバイス。
  11. 前記ロジックが、
    スレーブ書出しデータ有限状態機械(FSM)(230)と、
    スレーブ読込みデータFSM(232)と、
    マスタ書出しFSM(234)と、
    マスタ読込みFSM(236)と、
    モジュールバスインターフェイスFSM(240)と
    のうちの少なくとも1つをさらに含む、請求項7に記載のバスインターフェイスデバイス。
  12. 前記ロジックがゲートアレイを含む、請求項7に記載のバスインターフェイスデバイス。
JP2018544495A 2016-02-23 2017-01-30 モジュールバスとaxiバスの間のリクエストを変換するためのバスブリッジ Active JP6995052B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/051,239 US10216669B2 (en) 2016-02-23 2016-02-23 Bus bridge for translating requests between a module bus and an axi bus
US15/051,239 2016-02-23
PCT/US2017/015621 WO2017146874A2 (en) 2016-02-23 2017-01-30 Bus bridge for translating requests between a module bus and an axi bus

Publications (2)

Publication Number Publication Date
JP2019507926A true JP2019507926A (ja) 2019-03-22
JP6995052B2 JP6995052B2 (ja) 2022-01-14

Family

ID=59629448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018544495A Active JP6995052B2 (ja) 2016-02-23 2017-01-30 モジュールバスとaxiバスの間のリクエストを変換するためのバスブリッジ

Country Status (6)

Country Link
US (1) US10216669B2 (ja)
EP (1) EP3420462B1 (ja)
JP (1) JP6995052B2 (ja)
CN (1) CN108701113B (ja)
AU (1) AU2017223094B2 (ja)
WO (1) WO2017146874A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021515453A (ja) * 2018-02-23 2021-06-17 ザイリンクス インコーポレイテッドXilinx Incorporated 複数のインターフェース通信プロトコルに適合するプログラマブルNoC

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110196824B (zh) 2018-05-31 2022-12-09 腾讯科技(深圳)有限公司 实现数据传输的方法及装置、电子设备
CN111949585A (zh) * 2020-07-15 2020-11-17 西安万像电子科技有限公司 数据转换处理方法及装置
CN113886310B (zh) 2021-11-02 2024-08-06 上海兆芯集成电路股份有限公司 桥接模块、数据传输系统和数据传输方法
CN114020662B (zh) * 2021-11-02 2024-07-16 上海兆芯集成电路股份有限公司 桥接模块、数据传输系统和数据传输方法
CN114546924B (zh) * 2022-01-28 2024-05-03 山东云海国创云计算装备产业创新中心有限公司 一种基于axi的双向数据传输方法、系统、存储介质及设备
CN115189977B (zh) * 2022-09-09 2023-01-06 太初(无锡)电子科技有限公司 一种基于axi协议的广播传输方法、系统及介质
CN115297169B (zh) * 2022-10-08 2023-01-10 无锡沐创集成电路设计有限公司 数据处理方法、装置、电子设备及介质
CN115811448B (zh) * 2022-11-03 2024-07-09 北京精密机电控制设备研究所 一种axi总线与emif总线时序转换连接方法
CN116016698B (zh) * 2022-12-01 2024-04-05 电子科技大学 一种面向RapidIO控制器与互连裸芯的对等式接口及数据交互方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001502088A (ja) * 1996-10-07 2001-02-13 ハネウエル・インコーポレーテッド バス・インタフェース制御回路
US20070067549A1 (en) * 2005-08-29 2007-03-22 Judy Gehman Method for request transaction ordering in OCP bus to AXI bus bridge design
JP2010503095A (ja) * 2006-09-06 2010-01-28 トムソン ライセンシング データワードストリーム処理装置
JP2010134627A (ja) * 2008-12-03 2010-06-17 Canon Inc バス中継装置
US20110055439A1 (en) * 2009-08-31 2011-03-03 International Business Machines Corporation Bus bridge from processor local bus to advanced extensible interface

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590292A (en) * 1992-12-08 1996-12-31 Compaq Computer Corporation Scalable tree structured high speed input/output subsystem architecture
US6272584B1 (en) * 1998-09-10 2001-08-07 Compaq Computer Corporation System board with consolidated EEPROM module
JP2007122410A (ja) 2005-10-28 2007-05-17 Nec Electronics Corp バス調停回路及びバス調停方法
US8489794B2 (en) 2010-03-12 2013-07-16 Lsi Corporation Processor bus bridge for network processors or the like
US8949500B2 (en) 2011-08-08 2015-02-03 Lsi Corporation Non-blocking processor bus bridge for network processors or the like
US8831021B2 (en) 2011-09-25 2014-09-09 Qualcomm Incorporated System and method for dynamically configurable multi-window divergent protocol bridge
KR101720134B1 (ko) 2011-12-21 2017-03-28 한국전자통신연구원 버스 브리지 장치
JP6094321B2 (ja) * 2013-03-28 2017-03-15 株式会社ソシオネクスト バッファ回路及び半導体集積回路
US9274545B2 (en) * 2013-10-24 2016-03-01 Globalfoundries Inc. Apparatus and method to recover a data signal

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001502088A (ja) * 1996-10-07 2001-02-13 ハネウエル・インコーポレーテッド バス・インタフェース制御回路
US20070067549A1 (en) * 2005-08-29 2007-03-22 Judy Gehman Method for request transaction ordering in OCP bus to AXI bus bridge design
JP2010503095A (ja) * 2006-09-06 2010-01-28 トムソン ライセンシング データワードストリーム処理装置
JP2010134627A (ja) * 2008-12-03 2010-06-17 Canon Inc バス中継装置
US20110055439A1 (en) * 2009-08-31 2011-03-03 International Business Machines Corporation Bus bridge from processor local bus to advanced extensible interface

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021515453A (ja) * 2018-02-23 2021-06-17 ザイリンクス インコーポレイテッドXilinx Incorporated 複数のインターフェース通信プロトコルに適合するプログラマブルNoC
JP7308215B2 (ja) 2018-02-23 2023-07-13 ザイリンクス インコーポレイテッド 複数のインターフェース通信プロトコルに適合するプログラマブルNoC

Also Published As

Publication number Publication date
EP3420462A2 (en) 2019-01-02
US20170242813A1 (en) 2017-08-24
EP3420462B1 (en) 2021-05-19
WO2017146874A2 (en) 2017-08-31
US10216669B2 (en) 2019-02-26
EP3420462A4 (en) 2019-10-23
AU2017223094A1 (en) 2018-07-12
CN108701113A (zh) 2018-10-23
CN108701113B (zh) 2022-07-08
JP6995052B2 (ja) 2022-01-14
WO2017146874A3 (en) 2018-07-26
AU2017223094B2 (en) 2021-10-14

Similar Documents

Publication Publication Date Title
JP2019507926A (ja) モジュールバスとaxiバスの間のリクエストを変換するためのバスブリッジ
US11030142B2 (en) Method, apparatus and system for dynamic control of clock signaling on a bus
KR101911059B1 (ko) Ufs 인터페이스의 테스트 방법 및 이의 테스트 방법으로 테스트를 수행하는 메모리 장치
WO2017084400A1 (zh) 一种NVMe网络化存储的实现方法、终端、服务器及系统
WO2016037501A1 (zh) 设备管理的方法和装置
US7685325B2 (en) Synchronous bus controller system
US9129064B2 (en) USB 3.0 link layer timer adjustment to extend distance
US6434633B1 (en) Method and apparatus for facilitating AC-link communications between a controller and a slow peripheral of a codec
KR20110010707A (ko) 슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법
WO2016048724A1 (en) Memory write management in a computer system
JP5225427B2 (ja) シリアル・アドバンスド・テクノロジー・アタッチメントの性能を改善するための方法および装置
JP2007251947A (ja) マルチマスタのチェーン接続された二線シリアルバス
WO2022141250A1 (zh) 数据传输方法和相关装置
JP2010211322A (ja) ネットワークプロセッサ、受信コントローラ、及びデータ受信処理方法
US10949095B2 (en) Method, network adapters and computer program product using network adapter memory to service data requests
JP2010212987A (ja) データ伝送システムおよびそのデータ読出し方法
CN116126613A (zh) 一种PCIe设备的位置检测方法、装置、电子设备及存储介质
WO2021031082A1 (zh) 性能监测装置、方法、片上系统、可移动平台及相机
CN114641764A (zh) 总线系统及操作总线系统的方法
US9081743B2 (en) Communication system and communicaton method
CN116820867B (zh) 一种芯片调试方法、装置及芯片
KR102438319B1 (ko) 공통 메모리 인터페이스 장치 및 방법
CN117061621A (zh) 总线通信信号的处理方法、系统、装置、设备及介质
TWI427481B (zh) 工業標準構造介面匯流排的橋接系統、裝置與其方法
WO2023229616A1 (en) Distributed firmware interfacing processors and intergrated circuits

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181031

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210528

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211012

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20211012

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20211020

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20211021

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211214

R150 Certificate of patent or registration of utility model

Ref document number: 6995052

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150