JP2021168064A - 半導体装置及び同期化方法 - Google Patents

半導体装置及び同期化方法 Download PDF

Info

Publication number
JP2021168064A
JP2021168064A JP2020071580A JP2020071580A JP2021168064A JP 2021168064 A JP2021168064 A JP 2021168064A JP 2020071580 A JP2020071580 A JP 2020071580A JP 2020071580 A JP2020071580 A JP 2020071580A JP 2021168064 A JP2021168064 A JP 2021168064A
Authority
JP
Japan
Prior art keywords
data
buffer
synchronization
write pointer
stored
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
JP2020071580A
Other languages
English (en)
Other versions
JP7419944B2 (ja
Inventor
真一 岩▲崎▼
Shinichi Iwasaki
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020071580A priority Critical patent/JP7419944B2/ja
Priority to US17/182,979 priority patent/US11302370B2/en
Publication of JP2021168064A publication Critical patent/JP2021168064A/ja
Application granted granted Critical
Publication of JP7419944B2 publication Critical patent/JP7419944B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】回路規模を抑えた半導体装置及び同期化方法を提供する。
【解決手段】FIFOバッファ201は、データ用書込ポインタを一列に並べて格納し、列の一端のデータ用書込ポインタにより指定されるデータバッファ30における場所に、第1周波数で入力されたデータを格納させ、且つ、一端のデータ用書込ポインタを列から取り出して同期化バッファ20に格納する。同期化FF101は、データとともに第1周波数で入力された有効化信号を第2周波数に同期化させる。書込ポインタ202は、有効化信号が同期化されると、同期化バッファ20に格納されたデータ用書込ポインタを読み出し、読み出したデータ用書込ポインタにより指定されるデータバッファ30における場所に格納されたデータに同期化の完了を示す完了情報を付加する。読出ポインタ301は、書込ポインタ202により完了情報が付加されたデータをデータバッファ30ら読み出す。
【選択図】図1

Description

本発明は、半導体装置及び同期化方法に関する。
現在のSoC(System on a Chip)は、IP(Intellectual Property)と呼ばれる機能単位でまとめられた回路を複数組み合わせることで設計される。それぞれのIPは、異なる周波数で動作することができる。そのため、IPを組み合わせて設計を行うためには、IP間のデータ転送時の同期化問題の解決が重要となる。
このような周波数の同期化問題を解決するために、数々の技術が提案されている。同期化で、周波数差を吸収するためには、周波数差を吸収するための同期化バッファが用いられる。
例えば、CLK_Aの周波数で動作するIP_AとCLK_Bの周波数で動作するIP_Bとが接続された回路について説明する。IP_Bに、IP_Aとの周波数差を吸収する回路である同期化回路を配置する。IP_Aからデータが有効化信号とともにIP_Bに転送される。転送されたデータは、IP_BのWP(Write Pointer)が示す同期化バッファエントリに書き込まれる。有効化信号はWPをインクリメントする。さらに、有効化信号は、同期化FF(Flip Flop)を通してCKL_Bに同期化され、その有効化信号によりRP(Read Pointer)がインクリメントされる。データは、そのRPが示す同期化バッファから取り出される。有効化フラグがCLK_Bに同期化されたことが保証されているため、RPが示す同期化バッファから取り出されるデータもCLK_Bに同期化される。同期化バッファは、FIFO(Fast In Fast Out)バッファであることが多い。
同期化バッファから取り出されたデータは、後段の書き込みポインタであるBWPが示すデータバッファに保持され、後段の読み出しポインタであるBRPが示すエントリから読み出される。データバッファの読み書きはFIFOで行われるわけではない。データバッファのエントリ数は、IP_A及びIP_Bのアウトスタンディング数分存在する。IP_AとIP_Bとの間がアウトスタンディング数で管理されているため、IP_Bは、データバッファからデータが取り出された時点で、IP_AにRLS(Release)信号を送信する。RLS信号は、CLK_BからCLK_Aに対して同期化FFを通じて同期化され、IP_Aに通知される。それにより、IP_AとIP_Bとのアウトスタンディング管理が実現される。このような回路は、例えば、IP_AがCPUコアであり、IP_Bがメモリコントローラである回路に適用される。
ここで、近年のSoCは、非常に多くの機能を実現するために回路規模が増大しており、省資源での回路の実現が望ましい。
なお、データの同期化の技術として、データを格納する同期化バッファを2種類のアドレスバッファで置換することで、回路規模を小さくする従来技術が提案されている。
特開平10−340130号公報
しかしながら、従来の同期化回路を含むアウトスタンディング数で管理されたインタフェースでは、特に周波数差やデータ幅に比例してデータバッファの容量が大きくなる。なぜなら、周波数差が大きい場合は、同期化バッファのエントリ数が増加し、データ幅が大きい場合は、同期化バッファの1エントリあたりのバッファ容量が増大するためである。そのため、同期化バッファとデータバッファとを用いる構成では、回路規模を小さく抑えることは困難であった。
開示の技術は、上記に鑑みてなされたものであって、回路規模を抑えた半導体装置及び同期化方法を提供することを目的とする。
本願の開示する半導体装置の一つの態様において、同期化バッファ及びデータバッファが配置される。書込部は、データ用書込ポインタを一列に並べて格納し、列の一端の前記データ用書込ポインタにより指定される前記データバッファにおける場所に、第1周波数で入力されたデータを格納させ、且つ、前記一端のデータ用書込ポインタを前記列から取り出して前記同期化バッファに格納する。第1同期化処理部は、前記データとともに前記第1周波数で入力された有効化信号を第2周波数に同期化させる。情報付加部は、前記第1同期化処理部により前記有効化信号が同期化されると、前記同期化バッファに格納された前記データ用書込ポインタを読み出し、読み出した前記データ用書込ポインタにより指定される前記データバッファにおける場所に格納された前記データに同期化の完了を示す完了情報を付加する。読出部は、前記情報付加部により前記完了情報が付加された前記データを前記データバッファから読み出す。
1つの側面では、本発明は、回路規模を抑えることができる。
図1は、半導体装置の回路構成図である。 図2は、実施例1に係る半導体装置による同期化処理のフローチャートである。 図3は、実施例1に係る半導体装置の適用例を説明するための図である。
以下に、本願の開示する半導体装置及び同期化方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する半導体装置及び同期化方法が限定されるものではない。
図1は、半導体装置の回路構成図である。半導体装置1は、図1に示すように、半導体装置1は、IP10及び11を有する。IP10は、CLK_Bの周波数で動作する。また、IP11は、CLK_Aの周波数で動作する。ここでは、IP11からIP10へデータが送信される場合について説明する。
IP11は、データとともに有効化信号をIP10へ向けて出力する。データは、図1における太線で表される経路を通過する。また、有効化信号は、破線で表される経路を通過する。データ及び有効化信号は、IP11からCLK_Aの周波数で出力される。
本実施例に係る同期化バッファ20は、データバッファ30へのデータの書き込み先を指定するデータ用書込ポインタを格納する。同期化バッファ20は、データ用書込ポインタを1つずつ格納するための複数のエントリ21を有する。同期化バッファ20に対するデータ用書込ポインタの書き込み先のエントリ21の指定は、書込ポインタ102により行われる。また、同期化バッファ20に対するデータ用書込ポインタを読み出すエントリ21の指定は、読出ポインタ103により行われる。
書込ポインタ(WP)102は、同期化バッファ20におけるデータ用書込ポインタの書き込み先のエントリ21を示すポインタである。書込ポインタ102は、IP11から入力された有効化信号によりインクリメントされる。書込ポインタ102は、インクリメントされることで、同期化バッファ20におけるデータ用書込ポインタの格納先のエントリ21を1つずつずらして指し示していく。書込ポインタ102のインクリメント後、有効化信号により同期化バッファ20への書き込みが有効となる。
FIFOバッファ201は、データバッファ30への書き込み先を示すデータ用書込ポインタを格納し、格納されたデータ用書込ポインタを先入れ先出しで処理する記憶回路である。FIFOバッファ201は、先頭のデータ用書込ポインタにより、データバッファ30へのデータの格納先のエントリ32を指定する。
FIFOバッファ201は、有効化信号により同期化バッファ20への書き込みが許可されると、書込ポインタ102により指定される同期化バッファ20のエントリ21に先頭のデータ用書込ポインタを格納する。同期化バッファ20へのデータ用書込ポインタの格納語、同期化バッファ20への書き込みは無効となる。
また、FIFOバッファ201は、データバッファ30の全すべてのエントリ21にデータが格納された状態の場合、データがデータバッファ30から出力されると、以下の動作を行う。FIFOバッファ201は、データバッファ30における出力されたデータが格納されていたエントリ21である空きエントリのエントリ番号の入力を同期化FF401から受ける。そして、FIFOバッファ201は、入力されたエントリ番号をデータ用書込ポインタとして最終段に格納する。
このように、データバッファ30の全てのエントリ21が埋まった状態で、データ読み出し後に、FIFOバッファ201に新たにデータ用書込ポインタが格納されることで、IP11とIP10との間のデータをアウトスタンディング数で管理することができる。
同期化FF101は、複数のフリップフロップ(FF)を有する。同期化FF101は、IP11から出力された有効化信号の入力を受ける。そして、同期化FF101は、保持する多段のフリップフロップを経由させて有効化フラグ信号を転送することで、有効化フラグ信号をCLK_Bに同期化する。そして、同期化FF101は、CLK_Bに同期化させた有効化信号を読出ポインタ(RP)103へ出力する。また、同期化FF101は、IP10演算などの他の処理を行う後段の回路(不図示)へCLK_Bに同期化させた有効化信号を出力する。
読出ポインタ103は、同期化バッファ20におけるデータ用書込ポインタの書き込み先のエントリ21を示すポインタである。読出ポインタ103は、同期化FF101から出力された有効化信号によりインクリメントされる。読出ポインタ103は、インクリメントされることで、同期化バッファ20におけるデータ用書込ポインタを読み出すエントリ21を1つずつずらして指し示していく。読出ポインタ103のインクリメント後、有効化信号により同期化バッファ20からの読み出しが有効となる。
書込ポインタ102及び読出ポインタ103を順次インクリメントしつつ同期化バッファ20へのデータ用書込ポインタの書き込み及び読み出しを行うことで、同期化バッファ20への格納順でのデータ用書込ポインタの処理が保証される。
データバッファ30は、IP11から出力されたデータを格納する記憶装置である。データバッファ30は、IP11から出力されたデータを1つずつ格納するための複数のエントリ32を有する。各エントリ32は、同期化完了を示す完了フラグ31を有する。完了フラグ31の初期値は、未同期を表す値である。
データバッファ30に対するデータの書き込み先のエントリ32の指定は、FIFOバッファ201の先頭に格納されたデータ用書込ポインタにより行われる。IP11から出力されたデータは、データバッファ30におけるFIFOバッファ201の先頭に格納されたデータ用書込ポインタが指定するエントリ32に格納される。
また、データバッファ30に対するデータを読み出すエントリ32の指定は、読出ポインタ301により行われる。さらに、値が変更される完了フラグ31の指定は、書込ポインタ202が保持するデータ用書込ポインタにより行われる。
書込ポインタ202は、データバッファ30における値を変更する完了フラグ31を示すポインタである。書込ポインタ202は、同期化バッファ20から出力されたデータ用書込ポインタを取得する。そして、書込ポインタ202は、取得したデータ用ライトポインタによりデータバッファ30における値を変更する完了フラグ31を指定する。書込ポインタ202により指定されたデータバッファ30の完了フラグ31の値は、同期化完了を表す値に変更される。以下では、同期完了を表す値に完了フラグ31の値を変更することを、完了フラグ31を有効にするといい、未同期を表す値に完了フラグ31の値を変更することを、完了フラグ31を無効にするという。
読出ポインタ301は、データバッファ30におけるデータを読み出すエントリ32を指定するポインタである。読出ポインタ301は、演算などを行う後段の回路からの読み出しのデータ読み出しの指示を受けて、読み出すデータが格納されたエントリ32を指定する。例えば、読出ポインタ301は、データバッファ30に格納された各データのそれぞれの格納先のエントリ32の情報を保持する。そして、読出ポインタ301は、各データの書き込み先のアドレスに対するビジー信号の入力を後段の回路から受ける間は、そのビジー信号に対応するアドレスへの書き込みを行うデータを格納するエントリ32の指定は行わない。ビジー信号が停止すると、書き込み可能と判定して、読出ポインタ301は、書き込み可能となったデータを格納するエントリ32をポインタで示して指定する。
読出ポインタ301によりエントリ32が指定されると、データバッファ30における読出ポインタ301により指定されたエントリ32に付加された完了フラグ31が有効であれば、そのエントリ32からデータが読み出される。そして、読み出されたデータは、読み出しを指示した後段の回路へ出力される。指定されたエントリ32の完了フラグ31が有効であれば、有効化信号がCLK_Bに同期化されていることが保証されるため、そのエントリ32に格納されたデータもCLK_Bに同期化されることが保証される。エントリ32からデータが読み出されると、データバッファ30におけるデータが読み出されたエントリ32の完了フラグ31は無効にされる。
これに対して、読出ポインタ301により指定されたエントリ32の完了フラグ31が無効の場合、完了フラグ31が有効になるまでそのエントリ32に格納されたデータの読み出しは行われない。エントリ32の完了フラグ31が無効であれば、有効化信号がCLK_Bに同期化されていることが保証されないため、そのエントリ32に格納されたデータもCLK_Bに同期化されていることの保証はない。
同期化FF401は、複数のフリップフロップを有する。同期化FF401は、データバッファ30からデータが読み出された後、リリース(RLS)信号とともにデータが読み出された空エントリのエントリ番号の入力を受ける。そして、同期化FF401は、保持する多段のフリップフロップを経由させてリリース信号及び空エントリのエントリ番号を転送することで、リリース信号をCLK_Aに同期化する。
そして、同期化FF401は、CLK_Aに同期化させたリリース信号をIP11へ出力する。また、同期化FF401は、空エントリのエントリ番号をFIFOバッファ201へ出力する。これにより、データバッファ30の全てのエントリ21を偏りなく使用することが可能となる。
次に、図2を参照して、本実施例に係る半導体装置1によるデータ同期化処理の流れを説明する。図2は、実施例1に係る半導体装置による同期化処理のフローチャートである。ここでは、データバッファ30のエントリ32のうち1つのエントリ32が空エントリの場合について説明する。
IP11から出力されたデータが、データバッファ30におけるFIFOバッファ201の先頭のデータ用書込ポインタで指定されたエントリ32にCLK_Aでデータを書き込まれる(ステップS1)。
有効化信号により書込ポインタ102をインクリメントする。そして、有効化信号により書き込みが有効とされると、同期化バッファ20における書込ポインタ102で指定されたエントリ21に、FIFOバッファ201の先頭のデータ用書込ポインタが格納される(ステップS2)。
有効化信号が同期化FF101を通じてCLK_Bに同期化される(ステップS3)。CLK_Bに同期化された有効化信号は、読出ポインタ103をインクリメントする。さらに、CLK_Bに同期化された有効化信号により、同期化バッファ20からの読み出しが有効とされる。
有効化信号により同期化バッファ20からの読み出しが有効になると、書込ポインタ202は、読出ポインタ103で指定される同期化バッファ20のエントリ21からデータ用書込ポインタを取得する(ステップS4)。
書込ポインタ202が取得したデータ用書込ポインタで指定されるデータバッファ30のエントリ32の完了フラグ31を有効に設定する(ステップS5)。
読出ポインタ301は、データの読み出しの指示を受けると、データバッファ30における指定されたデータが格納されたエントリ32を指定する。読出ポインタ301により指定されたエントリ32のうち完了フラグ31が有効になったエントリ32からデータを読み出す(ステップS6)。
同期化FF401は、データバッファ30における空エントリのエントリ番号をリリース信号とともにCLK_Aに同期化する(ステップS7)。
FIFOバッファ201は、空エントリのエントリ番号の入力を同期化FF401から受ける。そして、FIFOバッファ201は、取得したエントリ番号を最終段にデータ用書込ポインタとして格納する(ステップS8)。
図3は、実施例1に係る半導体装置の適用例を説明するための図である。本実施例に係る半導体装置1は、例えば、コンピュータ90の回路の一部として設計される。図3のコンピュータ90は、CPU91、メモリ92及びハードディスク93を有する。CPU91は、メモリ92及びハードディスク93とバスで接続される。
CPU91は、コア94及びメモリコントローラ95を有する。コア94は、演算処理を行う回路である。また、メモリコントローラ95は、コア94からの命令にしたがってメモリ92に対してデータの読み出し及び書き込みを行う制御回路である。
例えば、実施例1に係るIP11は、コア94におけるメモリコントローラ95との間の通信インタフェースとなる回路である。また、IP10は、メモリコントローラ95におけるコア94との間の通信インタフェースとなる回路である。
ここで、以下の場合について、本実施例に係る半導体装置1と同期化バッファにデータを格納する構成との比較について説明する。例えば、コア94からメモリコントローラ95に送信されるデータのデータ幅が128ビットである。また、同期化バッファ20のエントリ21の数が24個である。また、データ用書込ポインタのサイズを6ビットであり、FIFOバッファ201が保持可能なデータ用書込ポインタの数が64である。
このとき、同期化バッファにデータを格納する構成では、同期化バッファのサイズは、128ビット×24=3072ビットとなる。これに対して、本実施例に係る半導体装置1の場合、FIFOバッファ201のサイズは、6ビット×64=384ビットとなる。また、同期化バッファ20のサイズは、6ビット×24=144ビットである。すなわち、本実施例に係る半導体装置1の場合、FIFOバッファ201と同期化バッファ20とを合わせて528ビットである。
すなわち、本実施例に係る半導体装置1のFIFOバッファ201と同期化バッファ20とを合わせたサイズと同期化バッファにデータを格納する構成における同期化バッファのサイズの比は、528ビット/3072ビット=17.2%である。したがって、本実施例に係る半導体装置1は、同期化バッファにデータを格納する構成のおよそ17%のサイズに回路規模を抑えることができる。
また、周波数差が大きい場合には、同期化バッファ20のエントリ21の数を増やすことになる。しかし、1つのエントリ21のサイズが小さいため、エントリ21の数が増えても、同期化バッファ20にデータを格納する構成と比較して省資源で半導体装置1を設計することができる。
さらに、上記条件に以下の条件を追加した場合について説明する。例えば、同期化FF101の段数は5段である。そして、IP11の動作周波数が6GHzであり、IP10の動作周波数が1GHzである。この場合、同期化FF401のエントリ数は、5×(6GHz/1GHz)=30個である。
このとき、同期化バッファにデータを格納する構成では、同期化バッファのサイズは、128ビット×30=3840ビットとなる。これに対して、本実施例に係る半導体装置1の場合、FIFOバッファ201のサイズは、6ビット×64=384ビットとなる。また、同期化バッファ20のサイズは、6ビット×30=180ビットである。すなわち、本実施例に係る半導体装置1の場合、FIFOバッファ201と同期化バッファ20とを合わせて564ビットである。
すなわち、本実施例に係る半導体装置1のFIFOバッファ201と同期化バッファ20とを合わせたサイズと同期化バッファにデータを格納する構成における同期化バッファのサイズの比は、564ビット/3840ビット=14.7%である。したがって、本実施例に係る半導体装置1は、同期化バッファにデータを格納する構成のおよそ15%のサイズに回路規模を抑えることができる。
以上に説明したように、本実施例に係る半導体装置は、異なる周波数で動作するIP間でデータを送受信する場合に、入力されたデータのデータバッファにおける格納先を示すポインタを同期化バッファに格納する。そして、半導体装置は、同期化した有効化信号にしたがって同期化バッファからポインタを読み出し、その読み出したポインタにより有効化信号の同期化が完了し同期化が保証されるデータを識別して、同期化が保証されるデータがデータバッファから読み出す。一般的に、データのビット幅よりも、書込ポインタのビット幅のほうが小さい。したがって、同期化バッファにはサイズの小さい書込ポインタが格納され、データ自体はデータバッファに格納されることで、同期化バッファのサイズを小さく抑えることができ、半導体装置の回路規模を抑えることが可能となる。
次に、実施例2について説明する。実施例1では、動作周波数が高いIPから動作周波数が低いIPへデータを送信する場合について説明したが、動作周波数が低いIPから動作周波数が高いIPへデータを送信する場合にも、同期化バッファにデータ用書込ポインタを格納する構成を用いることも可能である。本実施例に係る半導体装置も、図1の回路構成図で表される。
高い周波数の有効化信号が、同期化FF101により低い周波数に同期化される。低い周波数に同期化された有効化信号を用いて、同期化バッファ20からデータ用書込ポインタを読み出す。読み出されたデータ用書込ポインタにより指定されるデータバッファ30のエントリ32の完了フラグ31が有効化される。これにより、有効化信号が同期化されることで低い周波数への同期化が保証されたデータがデータバッファ30から読み出される。このように、本実施例に係る半導体装置1は、低い動作周波数から高い動作周波数への同期化を行うことができる。
以上に説明したように、低い動作周波数から高い動作周波数への同期化の場合にも、本実施例に係る半導体装置を用いることで、同期化バッファのサイズを小さく抑えることができ、半導体装置の回路規模を抑えることが可能となる。
ただし、高い動作周波数から低い動作周波数への同期化の場合、データの入力時の動作周波数よりも出力時の動作周波数のほうが高いため、滞留するデータの数は少なくなる。そのため、実施例1に係る半導体装置の方が、実施例2に係る半導体装置に比べて同期化バッファのサイズ増大の抑制という効果をより奏することが可能である。
1 半導体装置
10,11 IP
20 同期化バッファ
21 エントリ
30 データバッファ
31 完了フラグ
32 エントリ
101 同期化FF
102 書込ポインタ
103 読出ポインタ
201 FIFOバッファ
202 書込ポインタ
301 読出ポインタ
401 同期化FF

Claims (5)

  1. 同期化バッファと、
    データバッファと、
    データ用書込ポインタを一列に並べて格納し、列の一端の前記データ用書込ポインタにより指定される前記データバッファにおける場所に、第1周波数で入力されたデータを格納させ、且つ、前記一端のデータ用書込ポインタを前記列から取り出して前記同期化バッファに格納する書込部と、
    前記データとともに前記第1周波数で入力された有効化信号を第2周波数に同期化させる第1同期化処理部と、
    前記第1同期化処理部により前記有効化信号が同期化されると、前記同期化バッファに格納された前記データ用書込ポインタを読み出し、読み出した前記データ用書込ポインタにより指定される前記データバッファにおける場所に格納された前記データに同期化の完了を示す完了情報を付加する情報付加部と、
    前記情報付加部により前記完了情報が付加された前記データを前記データバッファから読み出す読出部と
    を備えたことを特徴とする半導体装置。
  2. 前記書込部は、前記データバッファにおける、前記読出部により読み出された前記データが格納されていた位置を示す前記データ用書込ポインタを前記列の他端に格納することを特徴とする請求項1に記載の半導体装置。
  3. 前記データバッファにおける前記読出部により読み出された前記データの格納されていた位置を示す前記データ用書込ポインタ及び前記データが読み出されたことを示すリリース信号の入力を前記第2周波数で受け、入力された前記データ用書込ポインタ及び前記リリース信号を前記第1周波数に同期化させ、前記第1周波数に同期化させた前記データ用書込ポインタを前記書込部に格納させ、且つ、前記リリース信号を前記データの入力元へ送信する第2同期化部をさらに備えたことを特徴とする請求項2に記載の半導体装置。
  4. 前記第1周波数は、前記第2周波数に比べて高い周波数であることを特徴とする請求項1〜3のいずれか一つに記載の半導体装置。
  5. デデータ用書込ポインタを一列に並べて格納し、
    列の一端の前記データ用書込ポインタにより指定されるデータバッファにおける場所に、第1周波数で入力されたデータを格納し、
    前記一端のデータ用書込ポインタを前記列から取り出して同期化バッファに格納し、
    前記データとともに前記第1周波数で入力された有効化信号を第2周波数に同期化し、
    前記同期化バッファに格納された前記データ用書込ポインタを読み出し、読み出した前記データ用書込ポインタにより指定される前記データバッファにおける場所に格納された前記データに同期化の完了を示す完了情報を付加し、
    前記完了情報を付加した前記データを前記データバッファから読み出す
    ことを特徴とする同期化方法。
JP2020071580A 2020-04-13 2020-04-13 半導体装置及び同期化方法 Active JP7419944B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020071580A JP7419944B2 (ja) 2020-04-13 2020-04-13 半導体装置及び同期化方法
US17/182,979 US11302370B2 (en) 2020-04-13 2021-02-23 Semiconductor apparatus and synchronization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020071580A JP7419944B2 (ja) 2020-04-13 2020-04-13 半導体装置及び同期化方法

Publications (2)

Publication Number Publication Date
JP2021168064A true JP2021168064A (ja) 2021-10-21
JP7419944B2 JP7419944B2 (ja) 2024-01-23

Family

ID=78006124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020071580A Active JP7419944B2 (ja) 2020-04-13 2020-04-13 半導体装置及び同期化方法

Country Status (2)

Country Link
US (1) US11302370B2 (ja)
JP (1) JP7419944B2 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3000961B2 (ja) 1997-06-06 2000-01-17 日本電気株式会社 半導体集積回路
US8621101B1 (en) * 2000-09-29 2013-12-31 Alacritech, Inc. Intelligent network storage interface device
JP4389459B2 (ja) 2003-03-28 2009-12-24 ソニー株式会社 データバッファ装置
US7519747B1 (en) * 2003-09-11 2009-04-14 Xilinx, Inc. Variable latency buffer and method of operation
US7444491B1 (en) * 2005-12-06 2008-10-28 Nvidia Corporation Automatic resource sharing between FIFOs
JP2008067294A (ja) * 2006-09-11 2008-03-21 Toshiba Corp デジタル信号処理装置
US20080180579A1 (en) * 2007-01-31 2008-07-31 Silicon Laboratories, Inc. Techniques for Improving Harmonic and Image Rejection Performance of an RF Receiver Mixing DAC
US10120831B1 (en) 2016-12-02 2018-11-06 Xilinx, Inc. Circuit and method for handling write and read requests between a master circuit and a slave circuit in different clock domains
US10592442B2 (en) 2017-12-11 2020-03-17 Advanced Micro Devices, Inc. Asynchronous buffer with pointer offsets

Also Published As

Publication number Publication date
US20210319817A1 (en) 2021-10-14
US11302370B2 (en) 2022-04-12
JP7419944B2 (ja) 2024-01-23

Similar Documents

Publication Publication Date Title
US10133549B1 (en) Systems and methods for implementing a synchronous FIFO with registered outputs
JP3645584B2 (ja) データ転送同期装置
CN109388370B (zh) 一种实现先入先出队列的方法及装置
US6802036B2 (en) High-speed first-in-first-out buffer
US7870310B2 (en) Multiple counters to relieve flag restriction in a multi-queue first-in first-out memory system
CN113900974B (zh) 一种存储装置、数据存储方法及相关设备
US20190361631A1 (en) Storage device, chip and method for controlling storage device
JP5637145B2 (ja) バスモニタ回路及びバスモニタ方法
US20040022099A1 (en) FIFO memory and semiconductor device
JPH04301290A (ja) 先入れ先出しメモリ回路
US9478272B1 (en) Configurable storage blocks with embedded first-in first-out and last-in first-out circuitry
CN113299326A (zh) 基于fifo的数据先进后出型存储电路及读写方法
JP7419944B2 (ja) 半導体装置及び同期化方法
CN110705195A (zh) 一种基于fpga的跨时钟域深度自行配置fifo系统
US9003083B2 (en) Buffer circuit and semiconductor integrated circuit
US10853123B2 (en) Memory module
CN114721983A (zh) 一种ddr4加速读写装置
CN110618950B (zh) 一种异步fifo读写控制电路及方法、可读存储介质及终端
JP5499131B2 (ja) デュアルポートメモリおよびその方法
CN114930284A (zh) 使用年龄矩阵来管理队列的子队列中的条目
JP2020009146A (ja) 共有型fifo装置
JP4696003B2 (ja) データ転送回路
US20140250252A1 (en) First-in First-Out (FIFO) Modular Memory Structure
KR20230117989A (ko) 내부 포인터 증가 값만큼의 데이터 플리트들을 한번에 리드아웃하는 멀티-입력 멀티-출력 선입-선출 버퍼 회로, 및 이를 포함하는 전자 회로들
JP4421280B2 (ja) データ処理装置及びデータ処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231225

R150 Certificate of patent or registration of utility model

Ref document number: 7419944

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150