JP2021506027A5 - - Google Patents

Download PDF

Info

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
Application number
JP2020531647A
Other languages
English (en)
Other versions
JP2021506027A (ja
JP7299890B2 (ja
Filing date
Publication date
Priority claimed from US15/837,951 external-priority patent/US10592442B2/en
Application filed filed Critical
Publication of JP2021506027A publication Critical patent/JP2021506027A/ja
Publication of JP2021506027A5 publication Critical patent/JP2021506027A5/ja
Application granted granted Critical
Publication of JP7299890B2 publication Critical patent/JP7299890B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (20)

  1. プロセッサの第1クロックドメインにおいて、バッファの複数のエントリに対する書き込みポインタの位置を、前記バッファの深度及び第1オフセット値に基づいてインクリメントすることと、
    前記プロセッサの書き込みモジュールにおいて、前記書き込みポインタが前記バッファの前記複数のエントリのうち第1エントリを示したことに応じて、前記第1エントリにアクセスすることと、
    前記プロセッサの第2クロックドメインにおいて、前記バッファの前記複数のエントリに対する読み出しポインタの位置を、前記書き込みポインタの位置及び第2オフセット値に基づいてインクリメントすることであって、前記第2オフセット値は、前記第1クロックドメインの第1クロック信号の第1周波数と、前記第2クロックドメインの第2クロック信号の第2周波数との比に基づいており、前記第2クロック信号は、前記第1クロック信号と非同期である、ことと、
    前記プロセッサの読み出しモジュールにおいて、前記読み出しポインタが前記バッファの前記複数のエントリのうち前記第1エントリを示したことに応じて、前記第1エントリにアクセスすることと、を含む、
    方法。
  2. 前記第1オフセット値は、前記第1周波数と前記第2周波数との比に基づいている、
    請求項1の方法。
  3. 前記第1オフセット値は、前記第1クロックドメインと前記第2クロックドメインとの間のシンクロナイザの深度に基づいている、
    請求項1の方法。
  4. 前記書き込みモジュールが前記バッファにアクセスすることを示す信号をアサートすることをさらに含み、前記第1オフセット値は、前記信号のアサートと、前記バッファへの前記書き込みモジュールのアクセスと、の間の前記第1クロック信号のクロックサイクル数に基づいている、
    請求項3の方法。
  5. 前記第2オフセット値は、前記第1クロックドメインと前記第2クロックドメインとの間のシンクロナイザの深度に基づいている、
    請求項1〜4の何れかの方法。
  6. 前記第1周波数を第1の調整された周波数に調整し、又は、前記第2周波数を第2の調整された周波数に調整するための要求に応じて、前記第1オフセット値及び前記第2オフセット値をリセットすることをさらに含む、
    請求項1〜5の何れかの方法。
  7. 前記第1オフセット値及び前記第2オフセット値をリセットすることは、
    前記第1の調整された周波数が前記第2の調整された周波数よりも高いことに応じて、前記第1の調整された周波数と前記第2の調整された周波数との比に基づいて、前記書き込みポインタの第1の調整されたオフセット値を決定することと、
    前記第1の調整された周波数と前記第2の調整された周波数との比に基づいて、前記読み出しポインタの第2の調整されたオフセット値を決定することと、
    前記読み出しモジュールによってアクセスされていないデータを含む前記バッファの前記エントリを空にすることと、
    前記バッファの共通エントリにおいて前記書き込みポインタ及び前記読み出しポインタを停止させることと、
    前記第1の調整されたオフセット値に基づいて、前記書き込みポインタの位置をインクリメントすることと、
    前記第2の調整されたオフセット値に基づいて、前記読み出しポインタの位置をインクリメントすることと、を含む、
    請求項6の方法。
  8. プロセッサの第1クロックドメインにおいて、第1オフセット値に基づいて、深度を有する先入れ先出しバッファ(FIFO)に対する書き込みポインタの位置をオフセットすることと、
    前記プロセッサの第2クロックドメインにおいて、第2オフセット値に基づいて、前記FIFOに対する読み出しポインタの位置をオフセットすることであって、前記第2オフセット値は、前記第1クロックドメインの第1クロック信号の第1周期と、前記第2クロックドメインの第2クロック信号の第2周期との比に基づいている、ことと、
    前記プロセッサの書き込みモジュールにおいて、前記書き込みポインタの位置に基づいて、前記FIFOの第1エントリにアクセスすることと、
    前記第1エントリにアクセスしたことに応じて、前記FIFOに対する前記書き込みポインタをインクリメントすることと、
    前記プロセッサの読み出しモジュールにおいて、前記FIFOに対する前記読み出しポインタの位置に基づいて、前記FIFOの前記第1エントリから読み出すことと、
    前記第1エントリから読み出したことに応じて、前記FIFOに対する前記読み出しポインタをインクリメントすることと、を含む、
    方法。
  9. 前記第1オフセット値は、前記第1周期と前記第2周期との比に基づいている、
    請求項8の方法。
  10. 前記第1オフセット値は、前記第1クロックドメインと前記第2クロックドメインとの間のシンクロナイザの深度に基づいている、
    請求項8の方法。
  11. 前記書き込みモジュールが前記バッファにアクセスすることを示す信号をアサートすることをさらに含み、前記第1オフセット値は、前記信号のアサートと、前記バッファへの前記書き込みモジュールのアクセスと、の間の前記第1クロック信号のクロックサイクル数に基づいている、
    請求項10の方法。
  12. 前記第1周期を第1の調整された周期に調整し、又は、前記第2周期を第2の調整された周期に調整するための要求に応じて、前記第1オフセット値及び前記第2オフセット値をリセットすることをさらに含む、
    請求項8〜11の何れかの方法。
  13. 前記第1オフセット値及び前記第2オフセット値をリセットすることは、
    前記第1の調整された周期が前記第2の調整された周期よりも高いことに応じて、前記第1の調整された周期と前記第2の調整された周期との比に基づいて、前記書き込みポインタの第1の調整されたオフセット値を決定することと、
    前記第1の調整された周期と前記第2の調整された周期との比に基づいて、前記読み出しポインタの第2の調整されたオフセット値を決定することと、
    前記読み出しモジュールによってアクセスされていないデータを含む前記バッファの前記エントリを空にすることと、
    前記バッファの共通エントリにおいて前記書き込みポインタ及び前記読み出しポインタを停止させることと、
    前記第1の調整されたオフセット値に基づいて、前記書き込みポインタの位置をインクリメントすることと、
    前記第2の調整されたオフセット値に基づいて、前記読み出しポインタの位置をインクリメントすることと、を含む、
    請求項12の方法。
  14. 先入れ先出しバッファ(FIFO)と、
    第1クロックドメインであって、
    書き込みポインタと、
    第1シンクロナイザと、
    前記FIFOに対する前記書き込みポインタの位置に応じて前記FIFOの第1エントリにアクセスするように構成された書き込みモジュールであって、前記書き込みポインタの位置が前記FIFOの深度及び第1オフセット値に基づいている、書き込みモジュールと、を含む第1クロックドメインと、
    第2クロックドメインであって、
    読み出しポインタと、
    第2シンクロナイザと、
    前記FIFOに対する前記読み出しポインタの位置に応じて前記FIFOの前記第1エントリにアクセスするように構成された読み出しモジュールであって、前記読み出しポインタの位置が前記書き込みポインタの位置及び第2オフセット値に基づいている、読み出しモジュールと、を含む第2のクロックドメインと、
    前記第1オフセット値及び前記第2オフセット値を決定するように構成されたコントローラと、を備える、
    プロセッサ。
  15. 前記コントローラは、前記第1クロックドメインの第1クロック信号の第1周波数と、前記第2クロックドメインの第2クロック信号の第2周波数との比に基づいて、前記第1オフセット値を決定するように構成されており、前記第2クロック信号は、前記第1クロック信号と非同期である、
    請求項14のプロセッサ。
  16. 前記コントローラは、前記第1シンクロナイザの深度に基づいて、前記第1オフセット値を決定するように構成されている、
    請求項14のプロセッサ。
  17. 前記書き込みモジュールは、前記書き込みモジュールが前記バッファにアクセスすることを示す信号をアサートするように構成されており、前記コントローラは、前記信号のアサートと、前記バッファへの前記書き込みモジュールのアクセスと、の間の前記第1クロック信号のクロックサイクル数に基づいて、前記第1オフセット値を決定するように構成されている、
    請求項14のプロセッサ。
  18. 前記コントローラは、前記第1クロックドメインの第1クロック信号の第1周波数と、前記第2クロックドメインの第2クロック信号の第2周波数との比に基づいて、前記第2オフセット値を決定するように構成されており、前記第2クロック信号は、前記第1クロック信号と非同期である、
    請求項14〜17の何れかのプロセッサ。
  19. 前記コントローラは、前記第1周波数を第1の調整された周波数に調整し、又は、前記第2周波数を第2の調整された周波数に調整するための要求に応じて、前記第1オフセット値及び前記第2オフセット値をリセットするように構成されている、
    請求項14〜18の何れかのプロセッサ。
  20. 前記コントローラは、
    前記第1の調整された周波数が前記第2の調整された周波数よりも高いことに応じて、前記第1の調整された周波数と前記第2の調整された周波数との比に基づいて、前記書き込みポインタの第1の調整されたオフセット値を決定することと、
    前記第1の調整された周波数と前記第2の調整された周波数との比に基づいて、前記読み出しポインタの第2の調整されたオフセット値を決定することと、
    前記読み出しモジュールによってアクセスされていないデータを含む前記FIFOの前記エントリを空にすることと、
    前記FIFOの共通エントリにおいて前記書き込みポインタ及び前記読み出しポインタを停止させることと、
    前記FIFOの深度及び前記第1の調整されたオフセット値に基づいて、前記書き込みポインタの位置をインクリメントすることと、
    前記書き込みポインタの位置及び前記第2の調整されたオフセット値に基づいて、前記読み出しポインタの位置をインクリメントすることと、
    を行うように構成されている、
    請求項19のプロセッサ。
JP2020531647A 2017-12-11 2018-09-24 ポインタオフセットを用いた非同期バッファ Active JP7299890B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) メモリアクセス装置、メモリアクセスシステム及びメモリアクセス装置の処理方法