IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エラム エス.アール.エル.の特許一覧

特表2024-542202第1のデータ読み出し/書き込みユニットを第2のデータ読み出し/書き込みユニットとインターフェースで接続するための方法およびそのインターフェースモジュール
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-13
(54)【発明の名称】第1のデータ読み出し/書き込みユニットを第2のデータ読み出し/書き込みユニットとインターフェースで接続するための方法およびそのインターフェースモジュール
(51)【国際特許分類】
   G06F 13/38 20060101AFI20241106BHJP
   G06F 13/16 20060101ALI20241106BHJP
   G06F 13/36 20060101ALI20241106BHJP
【FI】
G06F13/38 330Z
G06F13/16 510E
G06F13/36 310A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024529518
(86)(22)【出願日】2022-11-18
(85)【翻訳文提出日】2024-07-02
(86)【国際出願番号】 IB2022061146
(87)【国際公開番号】W WO2023094954
(87)【国際公開日】2023-06-01
(31)【優先権主張番号】102021000029735
(32)【優先日】2021-11-24
(33)【優先権主張国・地域又は機関】IT
(81)【指定国・地域】
(71)【出願人】
【識別番号】524185180
【氏名又は名称】エラム エス.アール.エル.
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】カラ、ピエトロ
(72)【発明者】
【氏名】フェラーリ、エリサ
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160MB00
(57)【要約】
本発明は、第1のデータ読み出しユニット(245)を第2のデータ読み出しユニット(260a)とインターフェースで接続するための方法に関し、前記第1のデータ読み出しユニット(245)および前記第2のデータ読み出しユニット(260a)は、データ読み出しインターフェースモジュール(310)に動作可能に接続されており、前記方法は:データ読み出し要求フェーズ、この中でデータ読み出し要求信号(R-Req)が前記データ読み出しインターフェースモジュール(310)によって受信され、前記データ読み出し要求信号(R-Req)がアサートされる;読み出しステータスシグナリングフェーズ、この中でデータ読み出しステータス信号(R-Stat)が前記データ読み出しインターフェースモジュール(310)によって受信され、前記データ読み出しステータス信号(R-Stat)は前記第2のデータ読み出しユニット(260a)内にデータ(Q)がない場合にアサートされる;読み出しステータス検証フェーズ、この中で前記データ読み出しインターフェースモジュール(310)が、前記データ読み出しステータス信号(R-Stat)がアサートされているかどうかを検証し:アサートされている場合は、前記データ読み出し要求信号(R-Req)が前記データ読み出しインターフェースモジュール(310)によってアンアサートされ前記第2のデータ読み出しユニット(260a)へ送信されることになり、データ読み出し待機信号(R-Wait)が前記データ読み出しインターフェースモジュール(310)によってアサートされ前記第1のデータ読み出しユニット(245)へ送信されることになり;そうでなければ、前記データ読み出しインターフェースモジュール(310)が前記データ読み出し要求信号(R-Req)を前記第2のデータ読み出しユニット(260a)へ送信することになり、前記データ読み出しインターフェースモジュール(310)が前記データ(Q)を前記第2のデータ読み出しユニット(260a)から受信し前記データ(Q)を前記第1のデータ読み出しユニット(245)へ送信することになる、を備える。
【特許請求の範囲】
【請求項1】
第1のデータ読み出しユニットを第2のデータ読み出しユニットとインターフェースで接続するための方法であって、前記第1のデータ読み出しユニットおよび前記第2のデータ読み出しユニットは、データ読み出しインターフェースモジュールに動作可能に接続されており、前記方法は:
データ読み出し要求フェーズ、この中でデータ読み出し要求信号が前記データ読み出しインターフェースモジュールによって受信され、前記データ読み出し要求信号は、前記第1のデータ読み出しユニットによってアサートおよび送信される;
読み出しステータスシグナリングフェーズ、この中でデータ読み出しステータス信号が前記データ読み出しインターフェースモジュールによって受信され、ここで前記データ読み出しステータス信号は前記第2のデータ読み出しユニットによって送信され、前記データ読み出しステータス信号は、前記第2のデータ読み出しユニット内にデータ(Q)がない場合にアサートされる;
読み出しステータス検証フェーズ、この中で前記データ読み出しインターフェースモジュールが、前記データ読み出しステータス信号がアサートされているかどうかを検証し、アサートされている場合は、前記データ読み出しインターフェースモジュールはデータ読み出し待機フェーズを実行することになり、そうでなければそれはデータ読み出しフェーズを実行することになり、ここで:
前記データ読み出し待機フェーズにおいて、前記データ読み出し要求信号が前記データ読み出しインターフェースモジュールによってアンアサートされ前記第2のデータ読み出しユニットへ送信され、データ読み出し待機信号が前記データ読み出しインターフェースモジュールによってアサートされ前記第1のデータ読み出しユニットへ送信され;
前記データ読み出しフェーズにおいて、前記データ読み出しインターフェースモジュールが前記データ読み出し要求信号を前記第2のデータ読み出しユニットへ送信し、前記データ読み出しインターフェースモジュールが前記データを前記第2のデータ読み出しユニットから受信し、前記データを前記第1のデータ読み出しユニットへ送信する、
を備える、方法。
【請求項2】
前記第1のデータ読み出しユニットは、前記データ読み出し要求信号を送信し前記データ読み出し待機信号を受信しおよび/または前記データを受信する第1のデータ読み出しポートを有し、
前記第2のデータ読み出しユニットは、前記データ読み出し要求信号を受信し前記データ読み出しステータス信号を送信しおよび/または前記データを送信する第2のデータ読み出しポートを有し、
前記データ読み出しインターフェースモジュールは、前記データ読み出し要求信号を受信し前記データ読み出し待機信号を送信しおよび/または前記データを送信する第3のデータ読み出しポートを有し、
前記データ読み出しインターフェースモジュールは、前記データ読み出し要求信号を送信し前記読み出しステータス信号を受信しおよび/または前記データを受信する第4のデータ読み出しポートを有する、
請求項1に記載の方法。
【請求項3】
前記第1のデータ読み出しポートおよび前記第4のデータ読み出しポートは、マスタータイプであり、前記第2のデータ読み出しポートおよび前記第3のデータ読み出しポートはスレーブタイプである、請求項2に記載の方法。
【請求項4】
第2のデータ読み出しおよび書き込みユニットは、前記第2のデータ読み出しユニットを備え、前記第2のデータ読み出しおよび書き込みユニットがFIFOメモリモジュールを備え、前記データ読み出しステータス信号は、空のFIFOメモリ信号を備える、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記第1のデータ読み出しユニットは、DMAモジュールを備え、前記データ読み出し待機信号は、waitrequest信号を備える、請求項1から3のいずれか一項に記載の方法。
【請求項6】
第1のデータ書き込みユニットを第2のデータ書き込みユニットとインターフェースで接続するための方法であって、前記第1のデータ書き込みユニットおよび前記第2のデータ書き込みユニットは、データ書き込みインターフェースモジュールに動作可能に接続されており、前記方法は:
データ書き込み要求フェーズ、この中でデータ書き込み要求信号が前記データ書き込みインターフェースモジュールによって受信され、前記データ書き込み要求信号は、前記第1のデータ書き込みユニットによってアサートおよび送信される;
書き込みステータスシグナリングフェーズ、この中でデータ書き込みステータス信号が前記データ書き込みインターフェースモジュールによって受信され、ここで前記データ書き込みステータス信号は前記第2のデータ書き込みユニットによって送信され、前記データ書き込みステータス信号は、前記第2のデータ書き込みユニット内にデータがない場合にアンアサートされる;
書き込みステータス検証フェーズ、この中で前記データ書き込みインターフェースモジュールが、前記データ書き込みステータス信号がアサートされているかどうかを検証し、アサートされている場合は、前記データ書き込みインターフェースモジュールはデータ書き込み待機フェーズを実行することになり、そうでなければそれはデータ書き込みフェーズを実行することになり、ここで:
前記データ書き込み待機フェーズにおいて、前記データ書き込み要求信号が前記データ書き込みインターフェースモジュールによってアンアサートされ前記第2のデータ書き込みユニットへ送信され、データ書き込み待機信号が前記データ書き込みインターフェースモジュールによってアサートされ前記第1のデータ書き込みユニットへ送信され;
前記データ書き込みフェーズにおいて、前記データ書き込みインターフェースモジュールが前記データ書き込み要求信号を前記第2のデータ書き込みユニットへ送信し、前記データ書き込みインターフェースモジュールが前記データを前記第1のデータ書き込みユニットから受信し、前記データを前記第2のデータ書き込みユニットへ送信する、
を備える、方法。
【請求項7】
前記第1のデータ書き込みユニットは、前記データ書き込み要求信号を送信し前記データ書き込み待機信号を受信しおよび/または前記データを送信する第1のデータ書き込みポートを備え、
前記第2のデータ書き込みユニットは、前記データ書き込み要求信号を受信し前記データ書き込みステータス信号を送信しおよび/または前記データを受信する第2のデータ書き込みポートを備え、
前記データ書き込みインターフェースモジュールは、前記データ書き込み要求信号を受信し前記データ書き込み待機信号を送信しおよび/または前記データを受信する第3のデータ書き込みポートを備え、
前記データ書き込みインターフェースモジュールは、前記データ書き込み要求信号を送信し前記データ書き込みステータス信号を受信しおよび/または前記データを送信する第4のデータ書き込みポートを備える、請求項6に記載の方法。
【請求項8】
前記第1のデータ書き込みポートおよび前記第4のデータ書き込みポートは、マスタータイプであり、前記第2のデータ書き込みポートおよび前記第3のデータ書き込みポートはスレーブタイプである、請求項7に記載の方法。
【請求項9】
第2のデータ読み出しおよび書き込みユニットは、前記第2のデータ書き込みユニットを備え、前記第2のデータ読み出しおよび書き込みユニットは、FIFOメモリモジュールを備え、前記データ書き込みステータス信号は満杯のFIFOメモリ信号を備える、請求項6から8のいずれか一項に記載の方法。
【請求項10】
前記第1のデータ書き込みユニットは、DMAモジュールを備え、前記データ書き込み待機信号はwaitrequest信号を備える、請求項6から8のいずれか一項に記載の方法。
【請求項11】
請求項1から3のいずれか一項に記載の方法に従ってデータ読み出しインターフェースモジュールを実装するように適合されているFPGAユニットへとロードされ得るソフトウェアコードの部分を備える、コンピュータプログラム。
【請求項12】
第1の処理手段、I/Oインターフェース手段、メモリ手段、および請求項1から3のいずれか一項に記載の方法に従ってデータ読み出しインターフェースモジュールを実装するように適合されているFPGAユニットを有する第2の処理手段を備える、システム。
【請求項13】
請求項6から8のいずれか一項に記載の方法に従ってデータ書き込みインターフェースモジュールを実装するように適合されているFPGAユニットへとロードされ得るソフトウェアコードの部分を備える、コンピュータプログラム。
【請求項14】
第1の処理手段、I/Oインターフェース手段、メモリ手段、および請求項6から8のいずれか一項に記載の方法に従ってデータ書き込みインターフェースモジュールを実装するように適合されているFPGAユニットを有する第2の処理手段を備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、請求項1のプリアンブルに係る、第1のデータ読み出しユニットを第2のデータ読み出しユニットとインターフェースで接続するための方法に関する。
【0002】
特に、本明細書で説明されるのは、第1のデータ読み出しユニットを第2のデータ読み出しユニットとインターフェースで接続するための方法、および第1のデータ書き込みユニットを第2のデータ書き込みユニットとインターフェースで接続するための方法、ならびにそれぞれのデータ読み出しおよびデータ書き込みインターフェースモジュールである。
【0003】
本発明は、例えば、FPGA(Field Programmable Gate Array:フィールドプログラマブルゲートアレイ)ユニットおよび/またはSoC-FPGA(System on Chip FPGA:システムオンチップFPGA)ユニットなどを備える処理システムのような、1つまたは複数の機能モジュールを用いて構成され得る任意のデータ処理および/または取得システムにおいて使用され得る。複数のタイプのFPGAまたはSoC-FPGAユニットが現在存在し、これは様々なデータ処理および/または取得システム、例えば、イメージおよび/またはビデオ取得およびコーディングシステムなどにおいて使用され得る。
【0004】
そのようなシステムは、下記に例示される複数の欠点に悩まされる。
【0005】
第1の欠点は、そのようなシステムがデータ読み出しおよび/または書き込み処理中のデータ転送速度の観点でいくつかの危機的状況に悩まされるという事実にあり;そのような危機的状況は、メモリバッファ、例えばFPGAおよび/またはSoC-FPGAユニットなどにおいて実装されるFIFOメモリモジュールの小さい記憶容量に起因する。
【0006】
第2の欠点は、劣ったデータ転送速度のために、処理および/または取得システムの性能を全体として損なわれるという事実に由来する。
【0007】
したがって、従来技術のこれらのおよび他の問題を解決すること、および特に、第1のデータ読み出しユニットを第2のデータ読み出しユニットとインターフェースで接続するための方法、および第1のデータ書き込みユニットを第2のデータ書き込みユニットとインターフェースで接続するための方法、ならびにそれぞれのデータ読み出しおよびデータ書き込みインターフェースモジュールを提供することが本発明の1つの目的であり、これらはデータ読み出しおよび/または書き込み処理中の低いデータ転送速度に起因する危機的状況を減らすことを可能にする。
【0008】
本発明の更なる目的は、第1のデータ読み出しユニットを第2のデータ読み出しユニットとインターフェースで接続するための方法、および第1のデータ書き込みユニットを第2のデータ書き込みユニットとインターフェースで接続するための方法、ならびにそれぞれのデータ読み出しおよびデータ書き込みインターフェースモジュールを提供することであり、これらはデータのフローがFPGAおよび/またはSoC-FPGAユニット内に含まれる機能モジュールにおいて読み出しおよび/または書き込みされることを効果的に制御することを可能にする。
【0009】
簡潔に述べると、本明細書で説明される本発明は、データ読み出しおよび/または書き込みの目的のために、例えば、FIFOメモリ、機能モジュール、DMA(Direct Memory Access:ダイレクトメモリアクセス)機能モジュール、データ取得(data acquisition:DAQ)機能モジュール、データ出力機能モジュール、データ処理モジュール、通信モジュールなどのような2つ以上の機能モジュールを実装する、FPGAおよび/またはSoC-FPGAユニットとして構成可能な2つ以上のユニットをインターフェースで接続するための方法からなる。
【0010】
本発明の更なる有利な特徴は、本明細書の不可欠な部分である添付の特許請求の範囲において記載される。
【図面の簡単な説明】
【0011】
ここで、本発明は、添付図面を具体的に参照して、そのいくつかの非限定的な例示的な実施形態を通して詳細に説明される:
図1】本発明の1つの実施形態によるデータ処理および/または取得システムの概略図である。
図2図1のシステムのSoC-FPGAユニットの概略的ブロック図である。
図3図2のSoC-FPGAユニット内に実装されるデータ読み出しインターフェースモジュールおよびデータ書き込みインターフェースモジュールの概略図である。
図4図4のaおよび図4のbは、それぞれ、本発明の本実施形態による、第1のデータ読み出しユニットを第2のデータ読み出しユニットとインターフェースで接続するための方法を例示する第1のフローチャート、および第1のデータ書き込みユニットを第2のデータ書き込みユニットとインターフェースで接続するための方法を例示する第2のフローチャートである。
図5図5のaから図5のdは、図4のaおよび図4のbの第1のおよび第2のフローチャートを参照した、やり取りされる信号の1つの例の図である。
【発明を実施するための形態】
【0012】
図1は、第1の処理手段110、I/Oインターフェース手段120、メモリ手段130、および第2の処理手段200を備え得るデータ処理および/または取得システム100を概略的に示す。これらは、通信バス101、例えばPCIバスなどを介して相互接続され得る。
【0013】
I/Oインターフェース手段120は、例えば、ユーザがシステム100を管理することを可能にするために、システム100からユーザへの入力/出力情報を受信および送信するように適合されている。I/Oインターフェース手段120は、例えば、スクリーン、キーボード、タッチスクリーンなどを備え得る。また、I/Oインターフェース手段120は、サーバへの通信チャネルを確立するように適合されている通信手段を備え得る。通信手段は、例えば、USB、CANBUS、ETHERNET(登録商標)、WiFi、Bluetooth(登録商標)、GSM(登録商標)などのインターフェースを備え得る。
【0014】
メモリ手段130は、本発明の本実施形態によるシステム100の情報および命令を記憶するように適合されており、例えば、フラッシュタイプソリッドステートメモリ、SDRAMメモリなどを備え得る。情報は、例えば、システム100に関係し、その動作に必要なデータおよび/またはパラメータを備え得る。
【0015】
第1の処理手段110は、I/Oインターフェース手段120および以降で更に詳細に説明される第2の処理手段200を参照して、メモリ手段130内に記憶されている情報および命令を処理するように適合されている。第1の処理手段110は、例えば、マルチコアARMプロセッサ、マルチコアx86プロセッサなどを備え得る。
【0016】
図2を参照すると、第2の処理手段200は、本発明の本実施形態によれば、例えば、Altera Cyclon VユニットのようなSoC-FPGAユニットを備え得る。特に、第2の処理手段200は、例えば第1のインターフェース230および第2のインターフェース235を用いて互いに動作可能に接続されているHPS(Hard Processor System:ハードプロセッサシステム)ユニット210およびFPGAユニット240を備え得る。
【0017】
HPSユニット210は、接続ユニット220、例えばL3-Interconnectユニットを用いて互いに動作可能に接続されている、マイクロプロセッサ215、例えばARM Cortex-A9 MPCoreプロセッサ、およびSDRAMコントローラ225を備え得る。特にマイクロプロセッサ215は、接続ユニット220を制御し、当該接続ユニット220は更に、第1のインターフェース230を介してHPSユニット210からFPGAユニット240へ送信される制御データのフローおよびその逆を処理し、当該第1のインターフェース230は例えば、32ビットデータ幅を有するLightweightブリッジバスを備え得る。その上、接続ユニット220は、第2のインターフェース235を介してHPSユニット210からFPGAユニット240へのデータのフローおよびその逆を処理し、当該第2のインターフェース235は例えば、構成可能な32ビット、64ビットまたは128ビットデータ幅を有するHPS-to-FPGAブリッジバスおよびFPGA-to-HPSブリッジバスを備え得る。
【0018】
FPGAユニット240は、複数のプログラム可能論理要素および論理要素を互いに物理的に接続することを可能にする複数の再構成可能相互接続を備える。したがって、例えば、ANDおよび/またはOR論理ポートなどの単純な機能モジュールを実装するように論理要素を構成することが可能である。更にまたは代替的に、論理要素は、例えばFIFOメモリ機能モジュール、DMA(ダイレクトメモリアクセス)機能モジュール、データ取得(DAQ)機能モジュール、データ出力機能モジュール、データ処理モジュール、通信モジュールなどのような複雑な機能モジュールを実装するように構成され得る。そのような機能モジュールは、ハードウェアコンポーネントを記述することを可能にするVHDL(VLSI Hardware Description Language:VLSIハードウェア記述言語)によってFPGAユニット240内に構成、すなわち実装され得る。実際、VHDLは実行可能言語ではなく、したがって、それはプロセッサが処理活動の結果を計算するために実行する必要がある動作を記述せず;逆に、VHDL言語は、要求された処理を実行することが可能な回路を構成する論理要素を記述する。したがって、VHDLによって実装されるそのような機能モジュールは、相互接続可能な複雑なユニットを作成し得、すなわち、そのようなユニットは、互いに動作可能に接続されている1つまたは複数の機能モジュールを備え得る。
【0019】
特に、本発明の本実施形態によれば、データ読み出しインターフェースモジュール310に動作可能に接続されている第1のデータ読み出しユニット245および第2のデータ読み出しユニット260a、およびデータ書き込みインターフェースモジュール320に動作可能に接続されている第1のデータ書き込みユニット255および第2のデータ書き込みユニット260bは、例えばINTELのQuartus-primeプラットフォームを使用してVHDLによってFPGAユニット240内に実装される。
【0020】
第1のデータ読み出しユニット245は、以後R-DMAと称されるデータを読み出すためのDMAモジュールを備え得、第1のデータ書き込みユニット255は、以後W-DMAと称される更なるDMAモジュールを備え得、一方で第2のデータ読み出しおよび書き込みユニット260は第2のデータ読み出しユニット260aおよび第2のデータ書き込みユニット260bの両方を備え得;例えば、第2のデータ読み出しおよび書き込みユニット260は、FIFOメモリモジュールを備え得る。特に、第1のデータ読み出しユニット245および第1のデータ書き込みユニット255は、Avalon規格に準拠し第2のデータ読み出しおよび書き込みユニット260と通信するための、すなわちFIFOメモリモジュールと通信するためのメモリマップドマスター/スレーブアーキテクチャを有するバスを活用する。さらに、システム100内での高度に構成可能なデータ管理を保証するために、第2のデータ読み出しおよび書き込みユニット260は、例えば、showaheadモードのFIFOメモリモジュールを用いて、データQとして各32ビットの1024個のバイナリワードを有して実装され得る。しかし、このように実装されると、第2のデータ読み出しおよび書き込みユニット260はAvalon規格に準拠していない。実際、Avalon規格は、双方向かつ制御されたデータ転送管理を保証するが、その特性は、FIFOメモリモジュールが使用される場合、十分に活用されることができない。特に、Avalon規格は、マスターが読み出しまたは書き込み待機(waitrequest)信号を受信した場合、データ書き込みおよび読み出し要求信号が変化しないままであることを必要とするが、これは、満杯のFIFOメモリモジュールにおいて書き込み動作を発生させるか、または空のFIFOメモリモジュールからの読み出し動作を発生させることになり;したがって、FIFOメモリモジュールは、読み出しまたは書き込み待機(waitrequest)信号が有効な間にそのようなデータ書き込みおよび読み出し要求信号を受信してはならない。
【0021】
本発明によれば、有利には、データ読み出しインターフェースモジュール310およびデータ書き込みインターフェースモジュール320は、それぞれ、第1のデータ読み出しユニット245が第2のデータ読み出しユニット260aにインターフェースで接続されること、および第1のデータ書き込みユニット255が第2のデータ書き込みユニット260bにインターフェースで接続されることを可能にし、それにより有利にはシステム100におけるデータQの高度に構成可能な管理を保証する。これは、有利には、データQが満杯のFIFOメモリモジュールへ書き込まれること、または空のFIFOメモリモジュールから読み出されることを防止することを可能にし、ひいてはFIFOメモリモジュールが、読み出しまたは書き込み待機(waitrequest)信号が有効な間にそのような信号を受信することを防止する。
【0022】
本発明の本実施形態に加えてまたはその代替として、第2のデータ読み出しユニット260aおよび第2のデータ書き込みユニット260bは、独立していてよい:例えば、第2のデータ読み出しユニット260aは、第1のメモリバッファを備えるデータ取得(DAQ)モジュールを備え得、一方で第2のデータ書き込みユニット260bは、第2のメモリバッファを備えるデータ出力機能モジュールを備え得、これらはAvalon規格に準拠しない。
【0023】
上記と同様に、本発明によれば、データ読み出しインターフェースモジュール310およびデータ書き込みインターフェースモジュール320はそれぞれ、第1のデータ読み出しユニット245が第2のデータ読み出しユニット260aにインターフェースで接続されること、および第1のデータ書き込みユニット255が第2のデータ書き込みユニット260bにインターフェースで接続されることを可能にし、それにより有利には第1のメモリバッファおよび第2のメモリバッファの両方におけるデータQの高度に構成可能な管理を保証する。
【0024】
本発明の本実施形態によれば、データQは、メモリ手段130から、すなわちSDRAMメモリから、第2のデータ読み出しおよび書き込みユニット260へ、すなわちFIFOメモリモジュールへ、およびその逆に転送される。例えば、データQは予め規定された総数のバイナリワード、例えば各々が32ビットからなる10,000個のバイナリワードを備え得る。図2を参照すると、データQはメモリ手段130から読み出され、バス101を経由してSDRAMコントローラ225へ転送され得、これは次に接続ユニット220を介して、データQを第2のインターフェース235を用いてFPGAユニットへ転送する。第2のインターフェース235は次に、データQを第1のデータ書き込みユニット255へ送信し、これはデータ書き込みインターフェースモジュール320を用いて、データQを第2のデータ読み出しおよび書き込みユニット260、すなわちFIFOメモリモジュールへ書き込む。また、第1のデータ読み出しユニット245は、データQを第2のデータ読み出しおよび書き込みユニット260から、すなわちFIFOメモリモジュールから、データ読み出しインターフェースモジュール310を用いて読み出し得、データQをSDRAMコントローラ225へ、接続ユニット220を介して、第2のインターフェース235を用いて送信し得る。したがって、データQは、SDRAMコントローラ225からメモリ手段130へ、すなわちSDRAMメモリへ、バス101を経由して送信され得る。第1のデータ読み出しユニット245および第1のデータ書き込みユニット255は、第1のデータ読み出しユニット245、すなわちR-DMAモジュール、および第1のデータ書き込みユニット255、すなわちW-DMAモジュールの両方のスレーブ制御ポート241に動作可能に接続されている第1のインターフェース230を用いて、HPSユニット210によって管理される。例えば、第1のデータ読み出しユニット245および第1のデータ書き込みユニット255は、例えばCプログラミング言語で記述されメモリ手段130からバス101を介してHPSユニット210へとロードされ得るソフトウェアコードの部分として実装され得る制御アルゴリズムを使用することによって、HPSユニット210によって管理され得る。
【0025】
図3を参照して、下記は、図2を参照して前もって本明細書で説明された第2の処理手段200において実装されるデータ読み出しインターフェースモジュール310およびデータ書き込みインターフェースモジュール320を説明する。
【0026】
特に、データ読み出しインターフェースモジュール310は、FPGAユニット240へとロードされ得るソフトウェアコード、例えばVHDLソフトウェアコードの部分を備えるコンピュータプログラム製品として実装され得る。
【0027】
データ読み出しインターフェースモジュール310(図5のaおよび図5のbも参照)は下記のように適合されている:
・データ読み出し要求信号R-Reqを受信し、当該データ読み出し要求信号R-Reqは第1のデータ読み出しユニット245によってアサートおよび送信される;
・第2のデータ読み出しユニット260aによって送信されたデータ読み出しステータス信号R-Statを受信し、当該データ読み出しステータス信号R-Statは第2のデータ読み出しユニット260aにデータQがない場合にアサートされる;
・データ読み出しステータス信号R-Statがアサートされているかどうかを検証し:
・アサートされている場合は、データ読み出しインターフェースモジュール310は、データ読み出し要求信号R-Reqをアンアサートし、データ読み出しインターフェースモジュール310へ送信し、データ読み出し待機信号R-Waitをアサートし、第1のデータ読み出しユニット245へ送信するように適合され、
・そうでなければ、データ読み出しインターフェースモジュール310は、データ読み出し要求信号R-Reqを当該第2のデータ読み出しユニット260aへ送信し、データQを第2のデータ読み出しユニット260aから受信し、そのようなデータQを第1のデータ読み出しユニット245へ送信するように適合される。
【0028】
本明細書において、信号をアサートすることは、その論理状態を「TRUE」にセットすることを意味し、一方で信号をアンアサートすることは、その論理状態を「FALSE」にセットすることを意味することに留意されたい。
【0029】
また、第1のデータ読み出しユニット245は、データ読み出し要求信号R-Reqを送信するように適合され、データ読み出し待機信号R-Waitを受信しおよび/またはデータQを受信するように適合されている第1のデータ読み出しポート246を備え得る。また、第2のデータ読み出しユニット260aは、データ読み出し要求信号R-Reqを受信するように適合されており、データ読み出しステータス信号R-Statを送信しおよび/またはデータQを送信するように適合されている第2のデータ読み出しポート261を備え得る。また、データ読み出しインターフェースモジュール310は、例えば第1の入力IN1において、データ読み出し要求信号R-Reqを受信するように適合されており、例えば第2の出力OUT2から、データ読み出し待機信号R-Waitを送信し、および/または例えば第3の出力OUT3から、データQを送信するように適合されている第3のデータ読み出しポート311を備え得る。また、データ読み出しインターフェースモジュール310は、例えば第1の出力OUT1からデータ読み出し要求信号R-Reqを送信するように適合されており、例えば第2の入力IN2において、データ読み出しステータス信号R-Statを受信し、および/または例えば第3の入力IN3においてデータQを受信するように適合されている第4のデータ読み出しポート312を備え得る。また、第1のデータ読み出しポート246および第4のデータ読み出しポート312は、マスタータイプであり得、一方で第2のデータ読み出しポート261および第3のデータ読み出しポート311はスレーブタイプであり得る。
【0030】
また、第2のデータ読み出しおよび書き込みユニット260は、第2のデータ読み出しユニット260aを備え得;特に、当該第2のデータ読み出しおよび書き込みユニット260は、FIFOメモリモジュールを備え得、データ読み出しステータス信号R-Statは、空のFIFOメモリ信号(Empty)を備える。
【0031】
また、第1のデータ読み出しユニット245は、DMAモジュール、すなわちR-DMAモジュールを備え得、データ読み出し待機信号R-Waitは、waitrequest信号を備える。同様に、データ書き込みインターフェースモジュール320は、FPGAユニット240へとロードされ得るソフトウェアコード、例えばVHDLソフトウェアコードの部分を備えるコンピュータプログラム製品として実装され得る。
【0032】
データ書き込みインターフェースモジュール320(図5のcおよび図5のdも参照)は下記のように適合されている:
・データ書き込み要求信号W-Reqを受信し、当該データ書き込み要求信号W-Reqは第1のデータ書き込みユニット255によってアサートおよび送信される;
・第2のデータ書き込みユニット260bによって送信されたデータ書き込みステータス信号W-Statを受信し、当該データ書き込みステータス信号W-Statは第2のデータ書き込みユニット260bにデータQがない場合にアンアサートされる;
・データ書き込みステータス信号W-Statがアサートされているかどうかを検証し:
・アサートされている場合は、データ書き込みインターフェースモジュール320は、データ書き込み要求信号W-Reqをアンアサートおよび送信し、データ書き込み待機信号W-Waitをアサートし、第1のデータ書き込みユニット255へ送信するように適合される、
・そうでなければ、データ書き込みインターフェースモジュール320は、データ書き込み要求信号W-Reqを当該第2のデータ書き込みユニット260bへ送信し、データQを第1のデータ書き込みユニット255から受信し、そのようなデータQを第2のデータ書き込みユニット260bへ送信するように適合される。
【0033】
例えば、第1のデータ書き込みユニット255は、データ書き込み要求信号W-Reqを送信するように適合され、データ書き込み待機信号W-Waitを受信しおよび/またはデータQを送信するように適合されている第1のデータ書き込みポート256を備え得る。また、第2のデータ書き込みユニット260bは、データ書き込み要求信号W-Reqを受信するように適合されており、データ書き込みステータス信号W-Statを送信しおよび/またはデータQを受信するように適合されている第2のデータ書き込みポート262を備え得る。また、データ書き込みインターフェースモジュール320は、例えば第4の入力IN4において、データ書き込み要求信号W-Reqを受信するように適合されており、例えば第5の出力OUT5から、データ書き込み待機信号W-Waitを送信し、および/または例えば第6の入力IN6において、データQを受信するように適合されている第3のデータ書き込みポート321を備え得る。また、データ書き込みインターフェースモジュール320は、例えば第4の出力OUT4からデータ書き込み要求信号W-Reqを送信するように適合されており、例えば第5の入力IN5において、データ書き込みステータス信号W-Statを受信し、および/または例えば第6の出力OUT6からデータQを送信するように適合されている第4のデータ書き込みポート322を備え得る。
【0034】
また、第1のデータ書き込みポート256および第4のデータ書き込みポート322は、マスタータイプであり得、一方で第2のデータ書き込みポート262および第3のデータ書き込みポート321は、スレーブタイプであり得る。
【0035】
また、第2のデータ読み出しおよび書き込みユニット260は、第2のデータ書き込みユニット260bを備え得;特に、当該第2のデータ読み出しおよび書き込みユニット260は、FIFOメモリモジュールを備え得、データ書き込みステータス信号W-Statは、満杯のFIFOメモリ信号(Full)を備える。
【0036】
また、第1のデータ書き込みユニット255は、DMAモジュール、すなわちW-DMAモジュールを備え得、データ書き込み待機信号W-Waitは、waitrequest信号を備える。
【0037】
R-Req、R-Stat、R-Wait、W-Req、W-Stat、およびW-Wait信号は、バイナリ信号であり得、すなわち、それらは「1」として示される高い電圧値および「0」として示される低い電圧値が判定され得るバイナリ電気信号であり得ることに留意されたい。正論理に従えば、高い値「1」は、「TRUE」論理状態に関連付けられ、一方で低い値「0」は「FALSE」論理状態に関連付けられる。
【0038】
代替的に、負論理に従えば、高い値「1」は「FALSE」論理状態に関連付けられ、一方で低い値「0」は「TRUE」論理状態に関連付けられる。本明細書において、信号をアサートすることは、その論理状態を「TRUE」にセットすることを意味し、一方で信号をアンアサートすることは、その論理状態を「FALSE」にセットすることを意味する。
【0039】
図4のaから図5のdを参照すると、当該R-Req、R-Stat、R-Wait、W-Req、W-StatおよびW-Wait信号は、本明細書では正論理に従って検討される。特に、下記の表は、上記で言及されたR-Req、R-Stat、R-Wait、W-Req、W-StatおよびW-Wait信号をより詳細に説明している。
【表1】
【0040】
有利には、データ読み出しインターフェースモジュール310およびデータ書き込みインターフェースモジュール320は、R-Stat、R-Wait、W-Stat、およびW-Wait信号を用いてデータQのフローを制御することを可能にし、その結果、第1のデータ読み出しユニット245および第1のデータ書き込みユニット255の、すなわちR-DMAおよびW-DMAモジュールの制御アルゴリズムはFIFOメモリ(1,024個のバイナリワード)のサイズを超えるデータ転送Qを可能するようにプログラムされ得、ひいてはシステム100におけるデータQの転送速度を大幅に改善する。
【0041】
特に、第1のデータ読み出しユニット245がR-DMAモジュールを備えることおよび第1のデータ書き込みユニット255がW-DMAモジュールを備えることを考慮して、HPSユニットにおける制御アルゴリズムが第1のデータ読み出しユニット245および第1のデータ書き込みユニット255を管理できるように、下記のアドレス値のうちの1つまたは複数を知っていることが必要である:第2のデータ読み出しポート261のアドレス値、第2のデータ書き込みポート262のアドレス値、各DMAモジュールの制御ポート241のアドレス値、およびSDRAMメモリの使用可能な部分のベースに対応するアドレス値。
【0042】
そのようなアドレスは、下記のように判定され得る:
a)第2のインターフェース235を介してFPGAユニット240に接続されているHPDユニット210におけるマスターポートを考慮すると、そのようなマスターポートのアドレス値(address)が第2のインターフェース235のオフセット値(bridge_base)およびFPGAユニット240のスレーブポートのベースアドレス値(slave_base)の合計に等しくなる、すなわち:address=bridge_base+slave_baseである;
b)FPGAユニット240におけるマスターポートを考慮すると、そのようなマスターポートのアドレス値(address)は、FPGAユニット240のスレーブポートのベースアドレス値(slave_base)に等しい、すなわち:address=slave_baseである。
【0043】
R-DMAおよびW-DMAモジュール、SDRAMメモリおよびFIFOメモリを管理するのに有用なそれらのアドレスは、下記の表中に列挙されている。
【表2】
【0044】
表2において、LW_BASE値は、LT_LWFPGASLVS_OFSTと名付けられた予め規定されたパラメータに対応し、これは使用するデバイス(この場合はCyclone V)の特定のライブラリのために予約されているQuartus-primeのインストールフォルダ内にAlteraによって供給される「hps.h」ファイルから取得され得、一方でR-DMA_BASEおよびW-DMA_BASE値は、Quartus-primeプラットフォームのQsysスクリーンにおいて、またはAltera SoC EDSにおいてsopc-create-header-filesコマンドを用いて(当該コマンドを実行するために、コンパイルフェーズ中にQuartus-primeプラットフォームによって生成されるプロジェクトに関する「*.sopcinfo」ファイルを利用可能にすることが必要である)生成された「*.h」ファイルにおいて発見され得る。
【0045】
SDRAM_BASEアドレスに関して、オフセットは考慮されない:各DMAモジュールは、第2のインターフェース235を経由してHPSユニット210へ接続されており(FPGA→HPS)、これはL3 address-spaceを参照し、ここで最初の2GBはSDRAM内にマッピングされており;よってデータ転送のために予約されているSDRAM部分を定義すれば十分である。最後に、SDRAM_BASEアドレスに関して、オフセットは考慮されない:そのようなアドレスは、「*.h」ファイルから、またはQuartus-primeプラットフォーム上のQsysスクリーンから取得され得る。同時にFIFOメモリモジュールから読み出すおよびそれへ書き込むことに関して、データ読み出しおよび書き込みポートに関して2つの異なるアドレスを定義すること、あるいは2つの異なるFIFOメモリモジュールを使用することが可能である。上記で説明された全てのアドレスを使用することが可能であるために、それらが位置するメモリ領域が、mmapコマンドを使用することによってユーザスペース内にマッピングされることがまず必要になり、当該mmapコマンドは、マッピングされたメモリ領域の第1のアドレスへのポインタを返すことにも留意されたい。また、開発ボード内にプリインストールされているLinux(登録商標)オペレーティングシステムは、通常SDRAMの全てを使用しており、したがってデータ転送のためのSDRAM部分を予約することが必要であり;これは、例えば下記のU-BOOTコマンドを実行することによって為され得ることが指摘されなければならない:
$ setenv mmcboot 'setenv bootargs console=ttyS0, 115200 mem=800M root=${mmcroot} rw rootwait;bootz ${loadaddr} - ${fdtaddr}'
$ saveenv
この場合、Linuxオペレーティングシステム専用のSDRAMは800MBまで減らされ;したがって、R-DMAおよびW-DMAモジュールへ通信されるSDRAMアドレスは、0x32000000(800番目のMBのアドレス)である。
【0046】
メモリ手段130から、すなわちSDRAMメモリから、第2のデータ読み出しおよび書き込みユニット260、すなわちFIFOメモリモジュールへの双方向データ転送を実行するために、HPSユニット210における制御アルゴリズムは、第1のデータ読み出しユニット245の、すなわち、R-DMAモジュールの、および第1のデータ書き込みユニット255の、すなわちW-DMAモジュールの下記のレジスタ:ステータスレジスタ、読み出しレジスタ、書き込みレジスタ、転送長レジスタ、および制御レジスタのうちの1つまたは複数に書き込むまたはそれを読み出すことができなければならない。そのようなレジスタは、R-DMAおよびW-DMAモジュールごとに、それぞれ上記で説明されたLW_BASE+R-DMA_BASEおよびLW_BASE+W-DMA_BASEアドレスに、下記の表中に詳述されるとおりの更なるオフセット値を加えることによってアクセス可能である。
【表3】
【0047】
下記は、そのようなレジスタを詳細に説明し;具体的には、ステータスレジスタが下記の表中で説明される。
【表4】
【0048】
読み出しレジスタは、そこから各R-DMAおよびW-DMAモジュールが転送対象のデータQを読み出す第1のアドレスを含み;後続のアドレスは、転送の個別の要素のサイズに応じて、このアドレスを好適にインクリメントすることによって取得される。(FIFOモジュールから読み出す場合のように)一定のアドレスから読み出すことが望ましい場合、制御レジスタ内のRCONビットを1にセットすることが必要である。このレジスタのサイズは、第1の読み出しユニット245および第1の書き込みユニット255が生成されるときに定義され、各R-DMAおよびW-DMAモジュールの第1のデータ読み出しポート246に接続されている全てのスレーブ周辺機器を特定するのに十分な大きさであってよい。
【0049】
書き込みレジスタは、そこへ各R-DMAおよびW-DMAモジュールが転送対象のデータQを書き込む第1のアドレスを含み;後続のアドレスは、転送の個別のバイナリワードのサイズに応じて、このアドレスを好適にインクリメントすることによって取得される。(FIFOモジュールへ書き込む場合のように)一定のアドレスへ書き込むことが望ましい場合、制御レジスタ内のWCONビットを1にセットすることが必要である。このレジスタのサイズは、システムが生成されるときに定義され、各R-DMAおよびW-DMAモジュールの第1のデータ書き込みポート256に接続されている全てのスレーブ周辺機器を特定するのに十分な大きさであってよい。
【0050】
長さレジスタは、転送対象のデータQのバイト数を含み、その値は転送中に漸進的にデクリメントされ:それが0に達したとき、ステータスレジスタ内のLENビットは1にセットされ転送が終了する。
【0051】
制御レジスタは、下記の表に従って各R-DMAおよびW-DMAモジュールの挙動を指定する複数の単一のビットからなる。
【表5】
【0052】
転送対象のバイナリワードのサイズを定義する全てのビットのうち、1つだけが1にセットされ得、そうでなければDMAモジュールの挙動は判定されないということが指摘されなければならない。
【0053】
図4のa、図5のa、および図5のbを参照すると、下記は、第1のデータ読み出しユニット245を第2のデータ読み出しユニット260aとインターフェースで接続するための方法を説明し、その両方は、本発明の本実施形態によれば、データ読み出しインターフェースモジュール310に動作可能に接続されている。
【0054】
段階410において、データ読み出し要求フェーズが実行され、この中でデータ読み出し要求信号R-Reqがデータ読み出しインターフェースモジュール310によって受信される。上記データ読み出し要求信号R-Reqは、第1のデータ読み出しユニット245によってアサートおよび送信される。
【0055】
段階420において、読み出しステータスシグナリングフェーズが実行され、この中でデータ読み出しステータス信号R-Statがデータ読み出しインターフェースモジュール310によって受信され、ここでデータ読み出しステータス信号R-Statは上記第2のデータ読み出しユニット260aによって送信され;データ読み出しステータス信号R-Statは、上記第2のデータ読み出しユニット260a内にデータQがない場合にアサートされる。
【0056】
段階430において、読み出しステータス検証フェーズが実行され、この中でデータ読み出しインターフェースモジュール310が、データ読み出しステータス信号R-Statがアサートされているかどうかを検証し、アサートされている場合はデータ読み出しインターフェースモジュール310は段階435を実行することになり、そうでなければそれは段階440を実行することになる。
【0057】
段階435において、データ読み出し待機フェーズが実行され、この中でデータ読み出し要求信号R-Reqがデータ読み出しインターフェースモジュール310によってアンアサートされ第2のデータ読み出しユニット260aへ送信され、データ読み出し待機信号R-Waitがデータ読み出しインターフェースモジュール310によってアサートされ第1のデータ読み出しユニット245へ送信される。
【0058】
段階440において、データ読み出しフェーズが実行され、この中でデータ読み出しインターフェースモジュール310がデータ読み出し要求信号R-Reqを第2のデータ読み出しユニット260aへ送信し、かつこの中でデータ読み出しインターフェースモジュール310がデータQを第2のデータ読み出しユニット260aから受信し、当該データQを第1のデータ読み出しユニット245へ送信する。
【0059】
例えば、第1のデータ読み出しユニット245は、データ読み出し要求信号R-Reqを送信しデータ読み出し待機信号R-Waitを受信しおよび/またはデータQを受信する第1のデータ読み出しポート246を備え得る。
【0060】
また、第2のデータ読み出しユニット260aは、データ読み出し要求信号R-Reqを受信しデータ読み出しステータス信号R-Statを送信しおよび/またはデータQを送信する第2のデータ読み出しポート261を備え得る。
【0061】
また、データ読み出しインターフェースモジュール310は、データ読み出し要求信号R-Reqを受信しデータ読み出し待機信号R-Waitを送信しおよび/またはデータQを送信する第3のデータ読み出しポート311を備え得る。
【0062】
最後に、データ読み出しインターフェースモジュール310は、データ読み出し要求信号R-Reqを送信し読み出しステータス信号R-Statを受信しおよび/またはデータQを受信する第4のデータ読み出しポート312を備え得る。
【0063】
例えば、第1のデータ読み出しポート246および第4のデータ読み出しポート312は、マスタータイプであり得、一方で第2のデータ読み出しポート261および第3のデータ読み出しポート311はスレーブタイプであり得る。
【0064】
例えば、第2のデータ読み出しおよび書き込みユニット260は、第2のデータ読み出しユニット260aを備え得;特に、当該第2のデータ読み出しおよび書き込みユニット260は、FIFOメモリモジュールを備え得、データ読み出しステータス信号R-Statは空のFIFOメモリ信号(Empty)を備える。
【0065】
例えば、第1のデータ読み出しユニット245は、DMAモジュール、すなわちR-DMAモジュールを備え得、データ読み出し待機信号R-Waitはwaitrequest信号を備える。
【0066】
第1のデータ読み出しユニット245を第2のデータ読み出しユニット260aとインターフェースで接続するための上記で説明された方法は、データ読み出しインターフェースモジュール310を実装するためにFPGAユニット240へとロードされ得るソフトウェアコード、例えばVHDLソフトウェアコードの部分を備えるコンピュータプログラム製品を用いてFPGAユニット240内に実装され得ることが当業者には明らかであろう。これにより、システム100は、段階410から440を参照して上記で説明されたような第1のデータ読み出しユニット245を第2のデータ読み出しユニット260aとインターフェースで接続するための方法に従ってデータ読み出しインターフェースモジュール310を実装するように適合されているFPGAユニット240を含むことができることになる。
【0067】
同様に、図4のb、図5のcおよび図5のdを参照して、下記は第1のデータ書き込みユニット255を第2のデータ書き込みユニット260bとインターフェースで接続するための方法を説明し、その両方は、本発明の本実施形態によれば、データ書き込みインターフェースモジュール320に動作可能に接続されている。
【0068】
段階450において、データ書き込み要求フェーズが実行され、この中でデータ書き込み要求信号W-Reqがデータ書き込みインターフェースモジュール320によって受信され、ここでデータ書き込み要求信号W-Reqは第1のデータ書き込みユニット255によってアサートおよび送信される。
【0069】
段階460において、書き込みステータスシグナリングフェーズが実行され、この中でデータ書き込みステータス信号W-Statがデータ書き込みインターフェースモジュール320によって受信され、ここでデータ書き込みステータス信号W-Statは第2のデータ書き込みユニット260bによって送信され;データ書き込みステータス信号W-Statは、第2のデータ書き込みユニット260b内にデータQがない場合にアンアサートされる。
【0070】
段階470において、書き込みステータス検証フェーズが実行され、この中でデータ書き込みインターフェースモジュール320が、上記データ書き込みステータス信号W-Statがアサートされているかどうかを検証し、アサートされている場合はデータ書き込みインターフェースモジュール320は段階475を実行することになり、そうでなければそれは段階480を実行することになる。
【0071】
段階475において、データ書き込み待機フェーズが実行され、この中でデータ書き込み要求信号W-Reqがデータ書き込みインターフェースモジュール320によってアンアサートされ第2のデータ書き込みユニット260bへ送信され、データ書き込み待機信号W-Waitがデータ書き込みインターフェースモジュール320によってアサートされ第1のデータ書き込みユニット255へ送信される。
【0072】
段階480において、データ書き込みフェーズが実行され、この中でデータ書き込みインターフェースモジュール320がデータ書き込み要求信号W-Reqを第2のデータ書き込みユニット260bへ送信し、データ書き込みインターフェースモジュール320がデータQを第1のデータ書き込みユニット255から受信しデータQを第2のデータ書き込みユニット260bへ送信する。
【0073】
例えば、第1のデータ書き込みユニット255は、データ書き込み要求信号W-Reqを送信しデータ書き込み待機信号W-Waitを受信しおよび/またはデータQを送信する第1のデータ書き込みポート256を備え得る。また、第2のデータ書き込みユニット260bは、データ書き込み要求信号W-Reqを受信しデータ書き込みステータス信号W-Statを送信しおよび/またはデータQを受信する第2のデータ書き込みポート262を備え得る。また、データ書き込みインターフェースモジュール320は、データ書き込み要求信号W-Reqを受信しデータ書き込み待機信号W-Waitを送信しおよび/またはデータQを受信する第3のデータ書き込みポート321を備え得る。最後に、データ書き込みインターフェースモジュール320は、データ書き込み要求信号W-Reqを送信しデータ書き込みステータス信号W-Statを受信しおよび/またはデータQを送信する第4のデータ書き込みポート322を備え得る。
【0074】
例えば、第1のデータ書き込みポート256および第4のデータ書き込みポート322は、マスタータイプであり、一方で第2のデータ書き込みポート262および第3のデータ書き込みポート321は、スレーブタイプである。
【0075】
例えば、第2のデータ読み出しおよび書き込みユニット260は、第2のデータ書き込みユニット260bを備え得;特に、当該第2のデータ読み出しおよび書き込みユニット260は、FIFOメモリモジュールを備え得、データ書き込みステータス信号W-Statは満杯のFIFOメモリ信号(Full)を備える。
【0076】
例えば、第1のデータ書き込みユニット255は、DMAモジュール、すなわちW-DMAモジュールを備え得、データ書き込み待機信号W-Waitはwaitrequest信号を備える。
【0077】
第1のデータ書き込みユニット255を第2のデータ書き込みユニット260bとインターフェースで接続するための上記で説明された方法は、データ書き込みインターフェースモジュール320を実装するためにFPGAユニット240へとロードされ得るソフトウェアコード、例えばVHDLソフトウェアコードの部分を備える更なるコンピュータプログラム製品を用いてFPGAユニット240内に実装され得ることが当業者には明らかであろう。これにより、システム100は、段階450から480を参照して上記で説明されたような第1のデータ書き込みユニット255を第2のデータ書き込みユニット260bとインターフェースで接続するための方法に従ってデータ書き込みインターフェースモジュール320を実装するように適合されているFPGAユニット240を含むことができることになる。
【0078】
本発明の利点は、上記の説明から明らかである。
【0079】
有利には、本発明は、第1のデータ読み出しユニットを第2のデータ読み出しユニットとインターフェースで接続するための方法、および第1のデータ書き込みユニットを第2のデータ書き込みユニットとインターフェースで接続するための方法、ならびにそれぞれのデータ読み出しおよびデータ書き込みインターフェースモジュールを提供し、これらが第2の読み出しユニットおよび第2の書き込みユニットのメモリバッファに関する高度に構成可能なデータ管理を保証する。
【0080】
本発明の更なる利点は、第1のデータ読み出しユニットおよび第2のデータ読み出しユニットの間、および第1のデータ書き込みユニットおよび第2のデータ書き込みユニットの間でやり取りされる信号を用いてデータフローを制御することを可能にし、その結果、第1のデータ読み出しユニットおよび第1のデータ書き込みユニットの制御アルゴリズムが、メモリバッファのサイズを超えるデータ転送を可能にするようにプログラムされ得、それによりデータ処理および/または取得システムのデータ転送速度を大幅に改善するデータ読み出しインターフェースモジュールおよびデータ書き込みインターフェースモジュールを本発明が提供するという事実にある。
【0081】
当然ながら、実施形態および実装の詳細は、本発明の原理を損なうことなく、本明細書において単に非限定的な例として説明および図示されたものから大きく、しかし添付の特許請求の範囲において記載される本発明の保護範囲から逸脱することなく、変更され得る。
図1
図2
図3
図4
図5(a)】
図5(b)】
図5(c)】
図5(d)】
【国際調査報告】