JP2021506027A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2021506027A5 JP2021506027A5 JP2020531647A JP2020531647A JP2021506027A5 JP 2021506027 A5 JP2021506027 A5 JP 2021506027A5 JP 2020531647 A JP2020531647 A JP 2020531647A JP 2020531647 A JP2020531647 A JP 2020531647A JP 2021506027 A5 JP2021506027 A5 JP 2021506027A5
- Authority
- JP
- Japan
- Prior art keywords
- offset value
- adjusted
- frequency
- pointer
- write
- 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
Links
Claims (20)
- プロセッサの第1クロックドメインにおいて、バッファの複数のエントリに対する書き込みポインタの位置を、前記バッファの深度及び第1オフセット値に基づいてインクリメントすることと、
前記プロセッサの書き込みモジュールにおいて、前記書き込みポインタが前記バッファの前記複数のエントリのうち第1エントリを示したことに応じて、前記第1エントリにアクセスすることと、
前記プロセッサの第2クロックドメインにおいて、前記バッファの前記複数のエントリに対する読み出しポインタの位置を、前記書き込みポインタの位置及び第2オフセット値に基づいてインクリメントすることであって、前記第2オフセット値は、前記第1クロックドメインの第1クロック信号の第1周波数と、前記第2クロックドメインの第2クロック信号の第2周波数との比に基づいており、前記第2クロック信号は、前記第1クロック信号と非同期である、ことと、
前記プロセッサの読み出しモジュールにおいて、前記読み出しポインタが前記バッファの前記複数のエントリのうち前記第1エントリを示したことに応じて、前記第1エントリにアクセスすることと、を含む、
方法。 - 前記第1オフセット値は、前記第1周波数と前記第2周波数との比に基づいている、
請求項1の方法。 - 前記第1オフセット値は、前記第1クロックドメインと前記第2クロックドメインとの間のシンクロナイザの深度に基づいている、
請求項1の方法。 - 前記書き込みモジュールが前記バッファにアクセスすることを示す信号をアサートすることをさらに含み、前記第1オフセット値は、前記信号のアサートと、前記バッファへの前記書き込みモジュールのアクセスと、の間の前記第1クロック信号のクロックサイクル数に基づいている、
請求項3の方法。 - 前記第2オフセット値は、前記第1クロックドメインと前記第2クロックドメインとの間のシンクロナイザの深度に基づいている、
請求項1〜4の何れかの方法。 - 前記第1周波数を第1の調整された周波数に調整し、又は、前記第2周波数を第2の調整された周波数に調整するための要求に応じて、前記第1オフセット値及び前記第2オフセット値をリセットすることをさらに含む、
請求項1〜5の何れかの方法。 - 前記第1オフセット値及び前記第2オフセット値をリセットすることは、
前記第1の調整された周波数が前記第2の調整された周波数よりも高いことに応じて、前記第1の調整された周波数と前記第2の調整された周波数との比に基づいて、前記書き込みポインタの第1の調整されたオフセット値を決定することと、
前記第1の調整された周波数と前記第2の調整された周波数との比に基づいて、前記読み出しポインタの第2の調整されたオフセット値を決定することと、
前記読み出しモジュールによってアクセスされていないデータを含む前記バッファの前記エントリを空にすることと、
前記バッファの共通エントリにおいて前記書き込みポインタ及び前記読み出しポインタを停止させることと、
前記第1の調整されたオフセット値に基づいて、前記書き込みポインタの位置をインクリメントすることと、
前記第2の調整されたオフセット値に基づいて、前記読み出しポインタの位置をインクリメントすることと、を含む、
請求項6の方法。 - プロセッサの第1クロックドメインにおいて、第1オフセット値に基づいて、深度を有する先入れ先出しバッファ(FIFO)に対する書き込みポインタの位置をオフセットすることと、
前記プロセッサの第2クロックドメインにおいて、第2オフセット値に基づいて、前記FIFOに対する読み出しポインタの位置をオフセットすることであって、前記第2オフセット値は、前記第1クロックドメインの第1クロック信号の第1周期と、前記第2クロックドメインの第2クロック信号の第2周期との比に基づいている、ことと、
前記プロセッサの書き込みモジュールにおいて、前記書き込みポインタの位置に基づいて、前記FIFOの第1エントリにアクセスすることと、
前記第1エントリにアクセスしたことに応じて、前記FIFOに対する前記書き込みポインタをインクリメントすることと、
前記プロセッサの読み出しモジュールにおいて、前記FIFOに対する前記読み出しポインタの位置に基づいて、前記FIFOの前記第1エントリから読み出すことと、
前記第1エントリから読み出したことに応じて、前記FIFOに対する前記読み出しポインタをインクリメントすることと、を含む、
方法。 - 前記第1オフセット値は、前記第1周期と前記第2周期との比に基づいている、
請求項8の方法。 - 前記第1オフセット値は、前記第1クロックドメインと前記第2クロックドメインとの間のシンクロナイザの深度に基づいている、
請求項8の方法。 - 前記書き込みモジュールが前記バッファにアクセスすることを示す信号をアサートすることをさらに含み、前記第1オフセット値は、前記信号のアサートと、前記バッファへの前記書き込みモジュールのアクセスと、の間の前記第1クロック信号のクロックサイクル数に基づいている、
請求項10の方法。 - 前記第1周期を第1の調整された周期に調整し、又は、前記第2周期を第2の調整された周期に調整するための要求に応じて、前記第1オフセット値及び前記第2オフセット値をリセットすることをさらに含む、
請求項8〜11の何れかの方法。 - 前記第1オフセット値及び前記第2オフセット値をリセットすることは、
前記第1の調整された周期が前記第2の調整された周期よりも高いことに応じて、前記第1の調整された周期と前記第2の調整された周期との比に基づいて、前記書き込みポインタの第1の調整されたオフセット値を決定することと、
前記第1の調整された周期と前記第2の調整された周期との比に基づいて、前記読み出しポインタの第2の調整されたオフセット値を決定することと、
前記読み出しモジュールによってアクセスされていないデータを含む前記バッファの前記エントリを空にすることと、
前記バッファの共通エントリにおいて前記書き込みポインタ及び前記読み出しポインタを停止させることと、
前記第1の調整されたオフセット値に基づいて、前記書き込みポインタの位置をインクリメントすることと、
前記第2の調整されたオフセット値に基づいて、前記読み出しポインタの位置をインクリメントすることと、を含む、
請求項12の方法。 - 先入れ先出しバッファ(FIFO)と、
第1クロックドメインであって、
書き込みポインタと、
第1シンクロナイザと、
前記FIFOに対する前記書き込みポインタの位置に応じて前記FIFOの第1エントリにアクセスするように構成された書き込みモジュールであって、前記書き込みポインタの位置が前記FIFOの深度及び第1オフセット値に基づいている、書き込みモジュールと、を含む第1クロックドメインと、
第2クロックドメインであって、
読み出しポインタと、
第2シンクロナイザと、
前記FIFOに対する前記読み出しポインタの位置に応じて前記FIFOの前記第1エントリにアクセスするように構成された読み出しモジュールであって、前記読み出しポインタの位置が前記書き込みポインタの位置及び第2オフセット値に基づいている、読み出しモジュールと、を含む第2のクロックドメインと、
前記第1オフセット値及び前記第2オフセット値を決定するように構成されたコントローラと、を備える、
プロセッサ。 - 前記コントローラは、前記第1クロックドメインの第1クロック信号の第1周波数と、前記第2クロックドメインの第2クロック信号の第2周波数との比に基づいて、前記第1オフセット値を決定するように構成されており、前記第2クロック信号は、前記第1クロック信号と非同期である、
請求項14のプロセッサ。 - 前記コントローラは、前記第1シンクロナイザの深度に基づいて、前記第1オフセット値を決定するように構成されている、
請求項14のプロセッサ。 - 前記書き込みモジュールは、前記書き込みモジュールが前記バッファにアクセスすることを示す信号をアサートするように構成されており、前記コントローラは、前記信号のアサートと、前記バッファへの前記書き込みモジュールのアクセスと、の間の前記第1クロック信号のクロックサイクル数に基づいて、前記第1オフセット値を決定するように構成されている、
請求項14のプロセッサ。 - 前記コントローラは、前記第1クロックドメインの第1クロック信号の第1周波数と、前記第2クロックドメインの第2クロック信号の第2周波数との比に基づいて、前記第2オフセット値を決定するように構成されており、前記第2クロック信号は、前記第1クロック信号と非同期である、
請求項14〜17の何れかのプロセッサ。 - 前記コントローラは、前記第1周波数を第1の調整された周波数に調整し、又は、前記第2周波数を第2の調整された周波数に調整するための要求に応じて、前記第1オフセット値及び前記第2オフセット値をリセットするように構成されている、
請求項14〜18の何れかのプロセッサ。 - 前記コントローラは、
前記第1の調整された周波数が前記第2の調整された周波数よりも高いことに応じて、前記第1の調整された周波数と前記第2の調整された周波数との比に基づいて、前記書き込みポインタの第1の調整されたオフセット値を決定することと、
前記第1の調整された周波数と前記第2の調整された周波数との比に基づいて、前記読み出しポインタの第2の調整されたオフセット値を決定することと、
前記読み出しモジュールによってアクセスされていないデータを含む前記FIFOの前記エントリを空にすることと、
前記FIFOの共通エントリにおいて前記書き込みポインタ及び前記読み出しポインタを停止させることと、
前記FIFOの深度及び前記第1の調整されたオフセット値に基づいて、前記書き込みポインタの位置をインクリメントすることと、
前記書き込みポインタの位置及び前記第2の調整されたオフセット値に基づいて、前記読み出しポインタの位置をインクリメントすることと、
を行うように構成されている、
請求項19のプロセッサ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/837,951 US10592442B2 (en) | 2017-12-11 | 2017-12-11 | Asynchronous buffer with pointer offsets |
US15/837,951 | 2017-12-11 | ||
PCT/US2018/052378 WO2019118040A1 (en) | 2017-12-11 | 2018-09-24 | Asynchronous buffer with pointer offsets |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2021506027A JP2021506027A (ja) | 2021-02-18 |
JP2021506027A5 true JP2021506027A5 (ja) | 2021-11-04 |
JP7299890B2 JP7299890B2 (ja) | 2023-06-28 |
Family
ID=66696195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020531647A Active JP7299890B2 (ja) | 2017-12-11 | 2018-09-24 | ポインタオフセットを用いた非同期バッファ |
Country Status (6)
Country | Link |
---|---|
US (1) | US10592442B2 (ja) |
EP (1) | EP3724741A4 (ja) |
JP (1) | JP7299890B2 (ja) |
KR (1) | KR102427775B1 (ja) |
CN (1) | CN111512261A (ja) |
WO (1) | WO2019118040A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7419944B2 (ja) * | 2020-04-13 | 2024-01-23 | 富士通株式会社 | 半導体装置及び同期化方法 |
CN111949582B (zh) * | 2020-08-25 | 2022-01-18 | 海光信息技术股份有限公司 | 指针同步装置及方法、异步fifo电路、处理器系统 |
US11967960B2 (en) * | 2021-07-30 | 2024-04-23 | Advanced Micro Devices, Inc. | Methods and apparatus for synchronizing data transfers across clock domains using heads-up indications |
CN116561027A (zh) | 2022-01-27 | 2023-08-08 | 瑞昱半导体股份有限公司 | 异步先进先出内存的控制方法及对应的数据传输系统 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9024084D0 (en) * | 1990-11-06 | 1990-12-19 | Int Computers Ltd | First-in-first-out buffer |
US6233629B1 (en) * | 1999-02-05 | 2001-05-15 | Broadcom Corporation | Self-adjusting elasticity data buffer with preload value |
US6738917B2 (en) * | 2001-01-03 | 2004-05-18 | Alliance Semiconductor Corporation | Low latency synchronization of asynchronous data |
US6801143B2 (en) | 2002-06-28 | 2004-10-05 | Intel Corporation | Method and apparatus for generating gray code for any even count value to enable efficient pointer exchange mechanisms in asynchronous FIFO'S |
US7107393B1 (en) * | 2003-03-28 | 2006-09-12 | Xilinx, Inc. | Systems and method for transferring data asynchronously between clock domains |
US6956776B1 (en) | 2004-05-04 | 2005-10-18 | Xilinx, Inc. | Almost full, almost empty memory system |
US7519788B2 (en) | 2004-06-04 | 2009-04-14 | Micron Technology, Inc. | System and method for an asynchronous data buffer having buffer write and read pointers |
US7287105B1 (en) * | 2005-01-12 | 2007-10-23 | Advanced Micro Devices, Inc. | Asynchronous-mode sync FIFO having automatic lookahead and deterministic tester operation |
US8001409B2 (en) * | 2007-05-18 | 2011-08-16 | Globalfoundries Inc. | Synchronization device and methods thereof |
NO327377B1 (no) | 2007-12-18 | 2009-06-22 | Tandberg Telecom As | Fremgangsmate og system for klokkedriftskompensering |
US8270552B1 (en) * | 2009-02-26 | 2012-09-18 | Maxim Integrated Products, Inc. | System and method for transferring data from non-spread clock domain to spread clock domain |
EP2518630A4 (en) * | 2009-12-25 | 2013-01-23 | Fujitsu Ltd | SIGNAL DECODING CIRCUIT, WAIT TIME SETTING CIRCUIT, MEMORY CONTROLLER, PROCESSOR, COMPUTER, SIGNAL DECODING METHOD, AND WAIT TIME SETTING METHOD |
GB2482303A (en) * | 2010-07-28 | 2012-02-01 | Gnodal Ltd | Modifying read patterns for a FIFO between clock domains |
US8995207B2 (en) * | 2011-08-12 | 2015-03-31 | Qualcomm Incorporated | Data storage for voltage domain crossings |
US8806118B2 (en) * | 2012-11-05 | 2014-08-12 | Sandisk Technologies Inc. | Adaptive FIFO |
US9429981B2 (en) | 2013-03-05 | 2016-08-30 | St-Ericsson Sa | CPU current ripple and OCV effect mitigation |
-
2017
- 2017-12-11 US US15/837,951 patent/US10592442B2/en active Active
-
2018
- 2018-09-24 JP JP2020531647A patent/JP7299890B2/ja active Active
- 2018-09-24 WO PCT/US2018/052378 patent/WO2019118040A1/en unknown
- 2018-09-24 KR KR1020207019940A patent/KR102427775B1/ko active IP Right Grant
- 2018-09-24 EP EP18888385.4A patent/EP3724741A4/en active Pending
- 2018-09-24 CN CN201880082907.3A patent/CN111512261A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2021506027A5 (ja) | ||
KR101554294B1 (ko) | 추론적 프리챠지의 검출 | |
JP5621041B2 (ja) | 適応予測によるクリティカルワードの転送 | |
US20150212941A1 (en) | Managing out-of-order memory command execution from multiple queues while maintaining data coherency | |
US7587547B2 (en) | Dynamic update adaptive idle timer | |
US20070011368A1 (en) | Digital phase relationship lock loop | |
EP2808801B1 (en) | Multiple data rate memory with read timing information | |
US9214952B2 (en) | Sensor time | |
US10083736B1 (en) | Adaptive calibration scheduling for a memory subsystem based on calibrations of delay applied to data strobe and calibration of reference voltage | |
US20160196231A1 (en) | System and method for bus bandwidth management in a system on a chip | |
US8010726B2 (en) | Data processing apparatus and method for handling interrupts | |
WO2015176475A1 (zh) | Fifo数据缓存器及其进行时延控制的方法、计算机存储介质 | |
US10580110B2 (en) | Hardware structure to track page reuse | |
KR102570454B1 (ko) | 반도체 메모리 장치 및 그의 동작 방법 | |
US8332568B2 (en) | Memory access determination circuit, memory access determination method and electronic device | |
CN113835898B (zh) | 存储器分配器 | |
US20150248138A1 (en) | Storage circuitry and method for propagating data values across a clock boundary | |
JP2017097466A (ja) | ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム | |
CN102403008B (zh) | 音频播放中数据流断点续接的方法和系统、fifo控制器 | |
CN109446111A (zh) | 存储器集成电路及其预取地址决定方法 | |
JP6337730B2 (ja) | メモリ装置 | |
SU1541624A1 (ru) | Устройство дл буферизации информации | |
Taraate | Case Study: Multiple Clock Domains and FIFO Architecture Design | |
TW202401021A (zh) | 脈衝信號寬度測量裝置、方法、系統和介質 | |
JP5218225B2 (ja) | メモリアクセス装置、メモリアクセスシステム及びメモリアクセス装置の処理方法 |