(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-14
(45)【発行日】2022-02-22
(54)【発明の名称】FPGA回路、システム、設置方法及びコンピュータ可読媒体
(51)【国際特許分類】
G06F 7/57 20060101AFI20220215BHJP
G06F 12/00 20060101ALI20220215BHJP
H01L 21/822 20060101ALI20220215BHJP
H01L 27/04 20060101ALI20220215BHJP
【FI】
G06F7/57 204
G06F12/00 597D
G06F12/00 564D
H01L27/04 U
(21)【出願番号】P 2020560322
(86)(22)【出願日】2020-05-28
(86)【国際出願番号】 CN2020092924
(87)【国際公開番号】W WO2020239027
(87)【国際公開日】2020-12-03
【審査請求日】2020-10-22
(31)【優先権主張番号】201910459457.1
(32)【優先日】2019-05-29
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520412486
【氏名又は名称】深▲セン▼市紫光同創電子有限公司
(74)【代理人】
【識別番号】110002468
【氏名又は名称】特許業務法人後藤特許事務所
(72)【発明者】
【氏名】徐 浩
【審査官】佐賀野 秀一
(56)【参考文献】
【文献】特表2013-534084(JP,A)
【文献】特表2013-543612(JP,A)
【文献】特開2007-334943(JP,A)
【文献】特開2007-133526(JP,A)
【文献】特開2005-276396(JP,A)
【文献】特表2017-531881(JP,A)
【文献】特表2017-536639(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 7/57
G06F 12/00 - 12/06
G06F 13/16 - 13/18
H01L 21/822
(57)【特許請求の範囲】
【請求項1】
物理層と、前記物理層に接続されるデータストローブ信号ゲート制御回路と、前記データストローブ信号ゲート制御回路に接続される遅延補償回路と、を含むFPGA回路であって、
前記物理層は、読取コマンドを外部メモリに送信するとともにウィンドウ制御信号を前記データストローブ信号ゲート制御回路に送信することにより、前記外部メモリが読み取り操作を完了したとき、
前記外部メモリは、データストローブ信号
を前記物理層を経由することなく、前記データストローブ信号ゲート制御回路に出力
し、
前記ウィンドウ制御信号は、前記データストローブ信号ゲート制御回路、及びデータストローブ信号ゲート制御遅延補償回路を順に通過し、前記データストローブ信号ゲート制御遅延補償回路を通過した信号をターゲットウィンドウ信号とし、前記データストローブ信号ゲート制御遅延補償回路は、遅延回路と、前記遅延回路における任意の二つのデバイスの間に設けられるとともに異なるインピーダンス値により少なくとも2種類の遅延した通路を形成する補償通路と、を含み、
前記データストローブ信号ゲート制御回路は、ターゲットウィンドウ信号及び前記データストローブ信号に基づいて、前記データストローブ信号に対する前記ターゲットウィンドウ信号の位置を調整する
ことを特徴とするFPGA回路。
【請求項2】
請求項1に記載のFPGA回路であって、
第1回路をさらに含み、
前記物理層は、前記第1回路により読取コマンドを前記外部メモリに送信し、
前記第1回路は、順に接続される第1入出力ロジックと、第1入出力モジュールと、第1パッドと、を含み、
第1入出力ロジックは、前記物理層に接続され、
前記第1パッドは、前記外部メモリに接続される
ことを特徴とするFPGA回路。
【請求項3】
請求項1に記載のFPGA回路であって、
第2回路をさらに含み、
前記第2回路は、前記外部メモリが読み取り操作を完了したときに前記外部メモリからフィードバックされる前記データストローブ信号を前記データストローブ信号ゲート制御回路に送信する
ことを特徴とするFPGA回路。
【請求項4】
請求項3に記載のFPGA回路であって、
前記第2回路は、順に接続される第2パッドと、第2入出力モジュールと、第2入出力ロジックと、を含み、
前記第2パッドは、前記外部メモリに接続され、
前記第2入出力ロジックは、前記データストローブ信号ゲート制御回路に接続される
ことを特徴とするFPGA回路。
【請求項5】
請求項1に記載のFPGA回路であって、
前記遅延回路は、順に接続される第3入出力ロジックと、第3入出力モジュールと、第3パッドと、第4パッドと、第4入出力モジュールと、第4入出力ロジックと、を含み、
前記第3入出力ロジック及び第4入出力ロジックは、それぞれ前記データストローブ信号ゲート制御回路の両端に接続され、
前記補償通路は、前記遅延回路における任意の二つの隣り合うデバイスの設けられる、
ことを特徴とするFPGA回路。
【請求項6】
請求項5に記載のFPGA回路であって、
前記補償通路は、前記第3パッドと前記第4パッドとの間に位置するように前記遅延回路に設けられる
ことを特徴とするFPGA回路。
【請求項7】
請求項1から6のいずれか一項に記載のFPGA回路であって、
前記補償通路は、並列に接続される少なくとも二つのサブ通路を含み、
前記サブ通路の間には、異なるインピーダンスにより異なる遅延が形成される
ことを特徴とするFPGA回路。
【請求項8】
請求項7に記載のFPGA回路であって、
前記補償通路は、並列に接続される四つのサブ通路を含み、
前記サブ通路のインピーダンスは、それぞれ50%、75%、100%、及び120%である
ことを特徴とするFPGA回路。
【請求項9】
請求項1から6のいずれか一項に記載のFPGA回路であって、
前記補償通路は、少なくとも一つのサブ通路を含み、
前記サブ通路のインピーダンスは、調整可能なインピーダンスである
ことを特徴とするFPGA回路。
【請求項10】
請求項1から6のいずれか一項に記載のFPGA回路であって、
前記補償通路は、一つのサブ通路を含み、
前記サブ通路のインピーダンスは、調整可能なインピーダンスである
ことを特徴とするFPGA回路。
【請求項11】
請求項1から6のいずれか一項に記載のFPGA回路であって、
前記データストローブ信号ゲート制御回路は、
パラレルの前記ウィンドウ制御信号をシリアルのウィンドウ制御信号に変換するウィンドウ生成モジュールと、
シリアルの前記ウィンドウ制御信号の位置を調整するウィンドウ位置調整モジュールと、
ターゲットウィンドウ制御信号と前記ウィンドウ位置調整モジュールにより調整されたシリアルのウィンドウ制御信号から一つの信号を選択してデータストローブ信号ゲート制御処理モジュールに出力する選択モジュールと、
前記データストローブ信号及び前記選択モジュールにより選択された信号に対して論理演算を行うデータストローブ信号ゲート制御処理モジュールと、を含む
ことを特徴とするFPGA回路。
【請求項12】
請求項11に記載のFPGA回路であって、
前記選択モジュールは、2入力セレクタを含む
ことを特徴とするFPGA回路。
【請求項13】
請求項12に記載のFPGA回路であって、
前記2入力セレクタは、二つの入力信号から一つの入力信号を出力として選択する
ことを特徴とするFPGA回路。
【請求項14】
請求項11に記載のFPGA回路であって、
前記ウィンドウ生成モジュールは、第1ターミナルが前記物理層に接続され、第2ターミナルが前記ウィンドウ位置調整モジュールに接続される
ことを特徴とするFPGA回路。
【請求項15】
請求項11に記載のFPGA回路であって、
前記ウィンドウ位置調整モジュールの第2ターミナルは、それぞれ選択モジュールの第1ターミナル及び遅延回路の第3入出力ロジックに接続される
ことを特徴とするFPGA回路。
【請求項16】
請求項11に記載のFPGA回路であって、
前記選択モジュールは、第1ターミナルが前記遅延回路の第3入出力ロジックに接続され、第2ターミナルが前記遅延回路の第4入出力ロジックに接続され、第3ターミナルが前記データストローブ信号ゲート制御処理モジュールに接続される
ことを特徴とするFPGA回路。
【請求項17】
請求項11に記載のFPGA回路であって、
前記データストローブ信号ゲート制御処理モジュールの第1ターミナルは、前記選択モジュールの第3ターミナルに接続され、
前記データストローブ信号ゲート制御処理モジュールの第1ターミナルは、第2回路の第2入出力ロジックに接続される
ことを特徴とするFPGA回路。
【請求項18】
メモリと、請求項1から17のいずれか一項に記載のFPGA回路と、を含むFPGAシステムであって、
前記メモリは、前記FPGA回路における物理層から送信された読取コマンドを受信し、読み取り操作を完了したとき、データストローブ信号をデータストローブ信号ゲート制御回路に出力する
ことを特徴とするFPGAシステム。
【請求項19】
請求項18に記載のFPGAシステムに用いられる回路設置方法であって、
前記物理層が読取コマンドを外部メモリに送信するとともに、ウィンドウ制御信号をFPGA回路のデータストローブ信号ゲート制御回路に送信するステップと、
ウィンドウ制御信号を、順に前記データストローブ信号ゲート制御回路、及びデータストローブ信号ゲート制御遅延補償回路に通過させることにより、ターゲットウィンドウ信号を取得するステップと、
外部メモリが前記物理層から送信されたた読取コマンドを受信し、読み取り操作を完了したとき、データストローブ信号をデータストローブ信号ゲート制御回路に出力するステップと、
データストローブ信号ゲート制御回路がターゲットウィンドウ信号及びデータストローブ信号に基づいて、データストローブ信号に対するターゲットウィンドウ信号の位置を調整するステップと、を含む、
ことを特徴とするFPGA回路設置方法。
【請求項20】
プログラムコードが記憶されるコンピュータ可読媒体であって、
前記プログラムコードは、プロセッサにおいて請求項19に記載の方法が実行されるように用いられる
ことを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2019年05月29日に中国専利局に提出された、出願番号が201910459457.1であり、発明の名称が「FPGA回路及びシステム」である中国特許出願の優先権を主張するものであり、先願の内容をすべて組み込んでいる。
【0002】
本発明は、集積回路設計分野に関するが、この限りではない。具体的には、FPGA(Field-Programmable Gate Array、フィールド・プログラマブル・ゲート・アレイ)回路、システム、設置方法及びコンピュータ可読媒体に関するが、この限りではない。
【背景技術】
【0003】
DDR(Double Data Rate、ダブルデータレート同期式ダイナミックランダムアクセスメモリ)メモリにおいて、その入力データ及び出力データは、クロックの立ち上がりエッジ及び立ち下がりエッジと同期するため、読み取り及び書き込み操作においてデータをキャプチャするには、クロックと同じ周波数の双方向DQS(Data Strobe Signal、データストローブ信号)信号が必要とされる。当該DQS信号は、使用されていないときハイインピーダンス状態にあり、通常、DQS-GATE関連回路によりDQS信号ウィンドウを取得することにより正しいDQS信号を取得する。同時に、DQS-GATE検出回路が実際の使用においてVT条件の変化に応じて遅延を動的に調整できることを保証するために、DQS-GATE回路は、送信されたDQSウィンドウイネーブル信号をループにより出力し、再び入力する。DQS信号とウィンドウ制御信号は異なるパスを通過してDQS-GATE回路の内部に到達するので、両者のVTの変化により発生する遅延が完全に一致するわけがない。そのため、従来の補償方式では、DQS信号とウィンドウ信号の相対位置がVTの変化により変化しないことを保証できない場合があり、その結果、インターフェースの動作が不安定になる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明に係る実施例により提供されるFPGA回路、システム、設置方法及びコンピュータ可読媒体は、データストローブ信号とウィンドウ信号との相対的な遅延の不確定によるFPGA DDRインターフェースの動作が不安定になるという問題を解決することを目的とする。
【課題を解決するための手段】
【0005】
本発明のある様態によれば、物理層と、物理層に接続されるデータストローブ信号ゲート制御回路と、データストローブ信号ゲート制御回路に接続されるデータストローブ信号ゲート制御遅延補償回路と、を含むFPGA回路であって、物理層は、読取コマンドを外部メモリに送信するとともにウィンドウ制御信号を前記データストローブ信号ゲート制御回路に送信することにより、することにより、前記外部メモリが読み取り操作を完了したとき、データストローブ信号が前記データストローブ信号ゲート制御回路に出力され、前記ウィンドウ制御信号は、前記データストローブ信号ゲート制御回路、及びデータストローブ信号ゲート制御遅延補償回路を順に通過し、前記データストローブ信号ゲート制御遅延補償回路を通過した信号をターゲットウィンドウ信号とし、前記データストローブ信号ゲート制御遅延補償回路は、遅延回路と、前記遅延回路における任意の二つのデバイスの間に設けられるとともに異なるインピーダンス値により少なくとも2種類の遅延した通路を形成する補償通路と、を含み、前記データストローブ信号ゲート制御回路は、ターゲットウィンドウ信号及びデータストローブ信号に基づいて、データストローブ信号に対するターゲットウィンドウ信号の位置を調整するFPGA回路が提供される。
【0006】
好ましく、前記FPGA回路は、第1回路をさらに含み、物理層は、第1回路により読取コマンドを外部メモリに送信し、前記第1回路は、順に接続される第1入出力ロジックと、第1入出力モジュールと、第1パッドと、を含み、第1入出力ロジックは、物理層に接続され、第1パッドは、前記外部メモリに接続される。
【0007】
好ましく、前記FPGA回路は、第2回路をさらに含み、前記第2回路は、前記外部メモリが読み取り操作を完了したときに前記外部メモリからフィードバックされる前記データストローブ信号を前記データストローブ信号ゲート制御回路に送信する。
【0008】
好ましく、前記第2回路は、順に接続される第2パッドと、第2入出力モジュールと、第2入出力ロジックと、を含み、第2パッドは、外部メモリに接続され、第2入出力ロジックは、データストローブ信号ゲート制御回路に接続される。
【0009】
好ましく、前記遅延回路は、順に接続される第3入出力ロジックと、第3入出力モジュールと、第3パッドと、第4パッドと、第4入出力モジュールと、第4入出力ロジックと、を含み、第3入出力ロジック及び第4入出力ロジックは、それぞれデータストローブ信号ゲート制御回路の両端に接続され、前記補償通路は、前記遅延回路における任意の二つの隣り合うデバイスの間に設けられる。
【0010】
好ましく、前記補償通路は、第3パッドと第4パッドとの間に位置するように前記遅延回路に設けられる。
【0011】
好ましく、前記補償通路は、並列に接続される少なくとも二つのサブ通路を含み、前記サブ通路の間には、異なるインピーダンスにより異なる遅延が形成される。
【0012】
好ましく、前記補償通路は、並列に接続される四つのサブ通路を含み、前記サブ通路のインピーダンスは、それぞれ50%、75%、100%、及び120%である。
【0013】
好ましく、前記補償通路は、少なくとも一つのサブ通路を含み、前記サブ通路のインピーダンスは、調整可能なインピーダンスである。
【0014】
好ましく、前記補償通路は、一つのサブ通路を含み、前記サブ通路のインピーダンスは、調整可能なインピーダンスである。前記サブ通路のインピーダンスの大きさを調節することにより、異なる遅延が形成される。
【0015】
好ましく、前記データストローブ信号ゲート制御回路は、パラレルの前記ウィンドウ制御信号をシリアルのウィンドウ制御信号に変換するウィンドウ生成モジュールと、シリアルのウィンドウ制御信号の位置を調整するウィンドウ位置調整モジュールと、ターゲットウィンドウ制御信号とウィンドウ位置調整モジュールにより調整されたウィンドウ制御信号から一つの信号を選択してデータストローブ信号ゲート制御処理モジュールに出力する選択モジュールと、データストローブ信号及び選択モジュールにより選択された信号に対して論理演算を行うデータストローブ信号ゲート制御処理モジュールと、を含む。
【0016】
好ましく、前記選択モジュールは、2入力セレクタを含む。
【0017】
好ましく、前記2入力セレクタは、二つの入力信号から一つの入力信号を出力として選択する。
【0018】
好ましく、前記ウィンドウ生成モジュールは、第1ターミナルが前記物理層に接続され、第2ターミナルが前記ウィンドウ位置調整モジュールに接続される。
【0019】
好ましく、前記ウィンドウ位置調整モジュールの第2ターミナルは、それぞれ選択モジュールの第1ターミナル及び遅延回路の第3入出力ロジックに接続される。
【0020】
好ましく、前記選択モジュールは、第1ターミナルが遅延回路の第3入出力ロジックに接続され、第2ターミナルが前記遅延回路の第4入出力ロジックに接続され、第3ターミナルが前記データストローブ信号ゲート制御処理モジュールに接続される。
【0021】
好ましく、前記データストローブ信号ゲート制御処理モジュールの第1ターミナルは、前記選択モジュールの第3ターミナルに接続され、前記データストローブ信号ゲート制御処理モジュールの第1ターミナルは、第2回路の第2入出力ロジックに接続される。
【0022】
本発明の他の様態によれば、FPGAシステムが提供される。当該FPGAシステムは、メモリと、上述したFPGA回路と、を含み、前記メモリは、前記FPGA回路における物理層から送信された読取コマンドを受信し、読み取り操作を完了したとき、データストローブ信号をデータストローブ信号ゲート制御回路に出力する。
【0023】
本発明の他の様態によれば、上述したFPGAシステムに用いられるFPGA回路設置方法が提供される。当該FPGAシステムは、メモリと、上述したFPGA回路と、を含み、FPGA回路は、物理層と、物理層に接続されるデータストローブ信号ゲート制御回路と、データストローブ信号ゲート制御回路に接続されるデータストローブ信号ゲート制御遅延補償回路と、を含む。当該方法は、物理層が読取コマンドを外部メモリに送信するとともに、ウィンドウ制御信号をFPGA回路のデータストローブ信号ゲート制御回路に送信するステップと、ウィンドウ制御信号を、順に前記データストローブ信号ゲート制御回路、及びデータストローブ信号ゲート制御遅延補償回路に通過させることにより、ターゲットウィンドウ信号を取得するステップと、外部メモリが前記物理層から送信された読取コマンドを受信し、読み取り操作を完了したとき、データストローブ信号をデータストローブ信号ゲート制御回路に出力するステップと、データストローブ信号ゲート制御回路がターゲットウィンドウ信号及びデータストローブ信号に基づいて、データストローブ信号に対するターゲットウィンドウ信号の位置を調整するステップと、を含む。
【0024】
本発明の他の様態によれば、プロセッサにより実行されるプログラムコードを有するコンピュータ可読媒体が提供される。前記プログラムコードは、前記プロセッサに上述した方法を実行させる。
【発明の効果】
【0025】
本発明の実施例によれば、FPGA回路、FPGAシステム、回路設置方法、及びコンピュータ可読媒体が提供される。FPGA回路は、物理層と、物理層に接続されるデータストローブ信号ゲート制御回路と、データストローブ信号ゲート制御回路に接続されるデータストローブ信号ゲート制御遅延補償回路と、を含む。物理層は、外部メモリが読み取り操作を完了したとき、読取コマンドを外部メモリに送信するとともにウィンドウ制御信号をデータストローブ信号ゲート制御回路に送信することにより、データストローブ信号がデータストローブ信号ゲート制御回路に出力され、ウィンドウ制御信号は、データストローブ信号ゲート制御回路、及びデータストローブ信号ゲート制御遅延補償回路を順に通過し、データストローブ信号ゲート制御遅延補償回路を通過した信号をターゲットウィンドウ信号とし、データストローブ信号ゲート制御遅延補償回路は、遅延回路と、前記遅延回路における任意の二つのデバイスの間に設けられるとともに異なるインピーダンス値により少なくとも2種類の遅延した通路を形成する補償通路と、を含み、データストローブ信号ゲート制御回路は、ターゲットウィンドウ信号及び前記データストローブ信号に基づいて、データストローブ信号に対する前記ターゲットウィンドウ信号の位置を調整する。これにより、遅延補償回路に補償通路を設けることにより、遅延補償の柔軟性が向上し、FPGA DDRインターフェースの動作の安定性も向上する。
【0026】
本発明の他の特徴及び対応する有益な効果は、本明細書の後半に記載されており、少なくとも一部の有益な効果が明細書の説明から明らかになることを理解されたい。
【図面の簡単な説明】
【0027】
【
図1】本発明の実施例1に係るFPGA回路の構造ブロック図である。
【
図2】本発明の実施例1に係るFPGAシステムの構造ブロック図である。
【
図3】本発明の実施例に係るFPGA回路設置方法のフローチャートである。
【
図4】本発明の実施例に係る記憶ユニットであり、記憶ユニットは、本発明の実施例に係るFPGA回路設置方法を実行するためのプログラムコードを記憶又は保持する。
【発明を実施するための形態】
【0028】
以下、本発明の目的、技術的解決策、及び利点をより明確に説明するために、図面を参照しながら、本発明の実施例をさらに詳しく説明する。ここで、記載される具体的な実施例は、本発明を説明するためのものに過ぎず、本発明を限定するものではない。
【0029】
実施例1
本実施例によれば、FPGA回路が提供される。
図1に示すように、当該回路は、物理層(PhysicalLayer、PHY)101、物理層101に接続されるデータストローブ信号ゲート制御回路(Data Strobe Signal GATING、DQS GATING)102と、データストローブ信号ゲート制御回路102に接続されるデータストローブ信号ゲート制御遅延補償回路103と、を含む。
【0030】
物理層101は、読取コマンドを外部メモリに送信するとともにウィンドウ制御信号をデータストローブ信号ゲート制御回路102に送信し、前記ウィンドウ制御信号は、GATEウィンドウ制御信号であってもよい。
【0031】
外部メモリが読み取り操作を完了したとき、データストローブ信号(DQS信号)をデータストローブ信号ゲート制御回路102に出力する。ここで、外部メモリは、物理層101から送信された読取コマンドに基づいて、コマンドに対応する読み取り操作を実行する。
【0032】
ウィンドウ制御信号は、データストローブ信号ゲート制御回路102、データストローブ信号ゲート制御遅延補償回路103を順に通過し、データストローブ信号ゲート制御遅延補償回路103を通過した信号をターゲットウィンドウ信号とする。ここで、データストローブ信号ゲート制御遅延補償回路103は、遅延回路1031と、補償通路1032と、を含む。補償通路1032は、遅延回路1031における任意の二つのデバイスの間に設けられるとともに異なるインピーダンス値により少なくとも2種類の遅延した通路を形成する。データストローブ信号ゲート制御遅延補償回路103は、データストローブ信号ゲート制御回路102から出発し、再びデータストローブ信号ゲート制御回路102に戻る回路であり、遅延回路1031と、補償通路1032と、を含む。ここで、補償通路1032は、遅延回路1031における任意の二つのデバイスの間に設けられるとともに、補償通路1032を通過するウィンドウ制御信号の遅延を調整して、ウィンドウ制御信号に対応するターゲットウィンドウ信号を取得するために、当該遅延回路1031の遅延への補償のみに用いられる。
【0033】
データストローブ信号ゲート制御回路102は、ターゲットウィンドウ信号及びデータストローブ信号に基づいて、データストローブ信号に対するターゲットウィンドウ信号の位置を調整する。
【0034】
ある実施例において、物理層101が読取コマンドを外部メモリに送信することは、物理層101が第1回路により読取コマンドを外部メモリに送信することを含む。第1回路は、順に接続される第1入出力ロジック(InOut Logic、IOL)11と、第1入出力モジュール(InOut Block、IOB)12と、第1パッド(PAD)13と、を含む。第1入出力ロジック11は、物理層101に接続され、第1パッド13は、外部メモリに接続される。
【0035】
ある実施例において、外部メモリが読み取り操作を完了したとき、データストローブ信号をデータストローブ信号ゲート制御回路102に出力することは、外部メモリが読み取り操作を完了したときに第2回路によりデータストローブ信号をデータストローブ信号ゲート制御回路102に出力することを含む。第2回路は、順に接続される第2パッド23と、第2入出力モジュール22と、第2入出力ロジック21と、を含む。第2パッド23は、外部メモリに接続され、第2入出力ロジック21は、データストローブ信号ゲート制御回路102に接続される。
【0036】
ある実施例において、遅延回路1031は、順に接続される第3入出力ロジック31と、第3入出力モジュール32と、第3パッド33と、第4パッド43と、第4入出力モジュール42と、第4入出力ロジック41と、を含んでもよい。ここで、第3入出力ロジック31及び第4入出力ロジック41は、それぞれデータストローブ信号ゲート制御回路102の両端に接続され、補償通路1032は、遅延回路1031における任意の二つの隣り合うデバイスの間に設けられる。
【0037】
具体的には、補償通路1032は、遅延回路1031における第3パッド33と第4パッド43との間に設けられる。
【0038】
ある実施例において、補償通路1032は、並列に接続される少なくとも二つのサブ通路を含み、サブ通路の間には、異なるインピーダンスにより異なる遅延が形成される。ここで、補償通路1032は、並列に接続される四つのサブ通路を含んでもよい。当該サブ通路のインピーダンスは、それぞれ50%、75%、100%、及び120%である。
【0039】
ある実施例において、補償通路1032は、少なくとも一つのサブ通路を含み、サブ通路のインピーダンスは、調整可能なインピーダンスである。上記は、二種類の補償通路1032の設置方式について説明した。そのうちの一つの設置方式とは、複数のサブ通路を並列に接続し、サブ通路において設置される異なるインピーダンスに応じて、異なるサブ通路にアクセスすることにより異なる遅延を実現する。そのうちの二つの設置方式とは、一つ以上のサブ通路を設置し、当該サブ通路のインピーダンスを調節できるように設置し、インピーダンスの大きさを調節することにより異なる遅延を実現する。
【0040】
ある実施例において、データストローブ信号ゲート制御回路102は、パラレルの前記ウィンドウ制御信号をシリアルのウィンドウ制御信号に変換するウィンドウ生成モジュール1021と、シリアルのウィンドウ制御信号の位置を調整するウィンドウ位置調整モジュール1022と、ターゲットウィンドウ制御信号とウィンドウ位置調整モジュール1022により調整されたシリアルのウィンドウ制御信号から一つの信号を選択してデータストローブ信号ゲート制御処理モジュール(DQS GATE処理モジュール)1024に出力する選択モジュール(Multiplexer、MUX選択モジュール)1023と、データストローブ信号及び選択モジュール1023により選択された信号に対して論理演算を行うとともに、ゲート制御及びフィルタリングを行った後のデータストローブ信号、すなわちDQS_GATED信号を出力するデータストローブ信号ゲート制御処理モジュール1024と、を含んでもよい。
【0041】
ある実施例において、選択モジュール1023は、2入力セレクタを含む。2入力セレクタは、二つの入力信号から一つの入力信号を出力として選択する。本実施例において、2入力セレクタを採用すれば、選択要求に足りる。もちろん、当業者は、必要に応じて他の入力セレクタを選択してもよく、本実施例において特に限定されない。
【0042】
ある様態としては、ウィンドウ生成モジュール1021は、第1ターミナルが物理層に接続され、第2ターミナルがウィンドウ位置調整モジュール1022に接続される。ウィンドウ位置調整モジュール1022の第2ターミナルは、それぞれ選択モジュール1023の第1ターミナル及び遅延回路の第3入出力ロジック31に接続される。また、選択モジュール1023は、第1ターミナルが遅延回路の第3入出力ロジック31に接続され、選択モジュール1023の第2ターミナルが遅延回路の第4入出力ロジック41に接続され、第3ターミナルがデータストローブ信号ゲート制御処理モジュール1024に接続される。データストローブ信号ゲート制御処理モジュール1024の第1ターミナルは、選択モジュール1023の第3ターミナルに接続され、データストローブ信号ゲート制御処理モジュール1024の第1ターミナルは、第2回路の第2入出力ロジック21に接続される。
【0043】
本実施例により提供されるFPGA回路は、物理層と、物理層に接続されるデータストローブ信号ゲート制御回路と、データストローブ信号ゲート制御回路に接続されるデータストローブ信号ゲート制御遅延補償回路と、を含む。物理層は、読取コマンドを外部メモリに送信するとともにウィンドウ制御信号をデータストローブ信号ゲート制御回路に送信する。外部メモリが読み取り操作を完了したとき、データストローブ信号をデータストローブ信号ゲート制御回路に出力する。ウィンドウ制御信号は、データストローブ信号ゲート制御回路、及びデータストローブ信号ゲート制御遅延補償回路を順に通過し、データストローブ信号ゲート制御遅延補償回路を通過した信号をターゲットウィンドウ信号とする。ここで、データストローブ信号ゲート制御遅延補償回路は、遅延回路と、補償通路と、を含む。補償通路は、遅延回路における任意の二つのデバイスの間に設けられるとともに異なるインピーダンス値により少なくとも2種類の遅延した通路を形成する。データストローブ信号ゲート制御回路は、ターゲットウィンドウ信号及びデータストローブ信号に基づいて、データストローブ信号に対する前記ターゲットウィンドウ信号の位置を調整する。これにより、遅延補償回路に補償通路を設けることにより、遅延補償の柔軟性が向上し、FPGA DDRインターフェースの動作の安定性も向上する。
【0044】
図2に示すように、本実施例によれば、FPGAシステムが提供される。当該FPGAシステム20は、メモリ21と、上述した実施例に係るFPGA回路10と、を含む。ここで、メモリ21は、FPGA回路10における物理層101から送信された読取コマンドを受信し、読み取り操作が完了されたとき、データストローブ信号をデータストローブ信号ゲート制御回路102に出力する。
【0045】
図3に示すように、本実施例によれば、FPGAシステムに用いられる回路設置方法が提供される。当該FPGAシステムは、メモリと、FPGA回路と、を含む。FPGA回路は、物理層と、物理層に接続されるデータストローブ信号ゲート制御回路と、データストローブ信号ゲート制御回路に接続されるデータストローブ信号ゲート制御遅延補償回路と、を含む。当該回路設置方法は、ステップS301からステップS304を含む。
【0046】
ステップS301において、物理層は、読取コマンドを外部メモリに送信するとともに、ウィンドウ制御信号をFPGA回路のデータストローブ信号ゲート制御回路に送信する。
【0047】
ステップS302において、ウィンドウ制御信号を、順にデータストローブ信号ゲート制御回路、及びデータストローブ信号ゲート制御遅延補償回路に通過させることにより、ターゲットウィンドウ信号を取得する。
【0048】
ステップS303において、外部メモリは、物理層から送信された読取コマンドを受信し、読み取り操作を完了したとき、データストローブ信号をデータストローブ信号ゲート制御回路に出力する。
【0049】
ステップS304において、データストローブ信号ゲート制御回路は、ターゲットウィンドウ信号及びデータストローブ信号に基づいて、データストローブ信号に対するターゲットウィンドウ信号の位置を調整する。
【0050】
図4に示すように、本実施例によれば、コンピュータ可読記憶媒体が提供される。当該コンピュータ可読記憶媒体410は、情報(例えば、コンピュータ可読命令、データ構造、コンピュータプログラムモジュール又はその他のデータ)を記憶するための任意の方法又は技術において実施される揮発性又は非揮発性、取り外し可能又は取り外し不可能な媒体を含む。コンピュータ可読記憶媒体410は、RAM(Random Access Memory、ランダムアクセスメモリ)、ROM(Read-Only Memory、読み出し専用メモリ)、EEPROM(Electrically Erasable Programmable read only memory、電気的に消去、書き換え可能な読み取り専用メモリ)、フラッシュメモリ又はその他のメモリ技術、CD-ROM(Compact Disc Read-Only Memory、コンパクトディスク読み出し専用メモリ)、デジタル多機能ディスク(DVD)又はその他の光ディスクメモリ、磁気ボックス、磁気テープ、磁気ディスク記憶装置又はその他の磁気記憶システム、或いは必要な情報を記憶可能であるとともに、コンピュータからアクセス可能なその他の媒体を含むが、この限りではない。
【0051】
本実施例において、コンピュータ可読記憶媒体410は、一つ又は複数のコンピュータプログラム411を記憶することに用いられ、記憶される一つ又は複数のコンピュータプログラム411は、プロセッサにより実行される。これにより、上述した各実施例におけるFPGA設置方法が実現される。
【0052】
本実施例によれば、コンピュータプログラム411(コンピュータソフトウェアとも呼ばれる)が提供される。当該コンピュータプログラム411は、コンピュータ可読媒体に記憶され、コンピューティング可能なシステムにより実行される。これにより、上述した各実施例中におけるFPGA設置方法が実現される。
【0053】
本実施例によれば、コンピュータプログラム製品がさらに提供される。当該コンピュータプログラム製品は、コンピュータ可読システムを含む。当該コンピュータ可読システムには、上述したコンピュータプログラムが記憶される。本実施例において、当該コンピュータ可読システムは、上述したコンピュータ可読記憶媒体を含んでもよい。
【0054】
当業者が理解できるように、上記に開示された方法における全部又は一部のステップ、システム、システムにおける機能モジュール/ユニットは、ソフトウェア(コンピューティングシステムにより実行可能なコンピュータプログラムコードで実現される)、ファームウェア、ハードウェア及びそれらの適切な組み合わせとして実施される。ハードウェアの実施様態において、上記の説明で説明した機能モジュール/ユニット間の分割は、必ずしも物理コンポーネントの分割に対応しているわけではない。例えば、一つの物理コンポーネントが複数の機能を持つことも、一つの機能又はステップが複数の物理コンポーネントによって連携して実行されることもある。一部又はすべての物理コンポーネントは、中央処理装置、デジタル信号プロセッサ、又はマイクロプロセッサなどのプロセッサによって実行されるソフトウェア、ハードウェア、又は特定用途向け集積回路などの集積回路として実行される。
【0055】
さらに、当業者に知られているように、通信媒体は、通常、コンピュータ可読指令、データ構造、コンピュータプログラムモジュール又はキャリア波その他の伝送メカニズムなどの変調データ信号における他のデータを含み、任意の情報配信媒体を含んでもよい。したがって、本発明は、いずれのハードウェアとソフトウェアの特定の組み合わせにも限定されない。
【0056】
上記の内容は、具体的な実施様態に基づいて本発明の実施例をさらに詳しく説明したものであり、本発明の具体的な実施がこれらの説明に限定されると考えることはできない。当業者は、本発明の精神から逸脱しない限り、若干の改良及び修正を加えることができる。これらの改良及び修正も本発明の保護の範囲と見なされる。