(58)【調査した分野】(Int.Cl.,DB名)
第1の論理値及び第2の論理値の状態を交互に繰り返す第1クロック信号に同期した入力データを、前記第1の論理値及び前記第2の論理値の状態を交互に繰り返す第2クロック信号に同期化する半導体装置であって、
前記第2クロック信号を所定時間だけ遅延した信号を第1遅延クロック信号として生成すると共に、前記第1遅延クロック信号を前記所定時間だけ遅延した信号を第2遅延クロック信号として生成するクロック遅延部と、
前記第2クロック信号が前記第1の論理値から前記第2の論理値に遷移するタイミングで前記入力データを取り込み第1取込データとして得る第1の同期取込部と、
前記第2遅延クロック信号が前記第1の論理値から前記第2の論理値に遷移するタイミングで前記入力データを取り込み第2取込データとして得る第2の同期取込部と、
前記第2クロック信号が前記第1の論理値から前記第2の論理値に遷移する時点での前記第1クロック信号の値を第1クロック値として取り込むと共に、前記第1遅延クロック信号が前記第1の論理値から前記第2の論理値に遷移する時点での前記第1クロック信号の値を第2クロック値として取り込むクロック値取込部と、
前記第1クロック値及び前記第2クロック値が共に前記第1の論理値を示す場合は前記第1取込データを前記第2クロック信号で同期化したデータを同期化データとして出力する一方、前記第1クロック値及び前記第2クロック値のうちの一方又は双方が前記第2の論理値を示す場合は前記第2取込データを前記第2クロック信号で同期化したデータを前記同期化データとして出力する出力部と、を有することを特徴とする半導体装置。
前記第1クロック信号は前記第2クロック信号とは非同期であり、且つ前記第1クロック信号の周波数と前記第2クロック信号の周波数とが異なることを特徴とする請求項1又は2に記載の半導体装置。
第1の論理値及び第2の論理値の状態を交互に繰り返す第1クロック信号に同期した入力データを、前記第1の論理値及び前記第2の論理値の状態を交互に繰り返す第2クロック信号に同期化するデータ同期化方法であって、
前記第2クロック信号を所定時間だけ遅延した信号を第1遅延クロック信号として生成すると共に、前記第1遅延クロック信号を前記所定時間だけ遅延した信号を第2遅延クロック信号として生成し、
前記第2クロック信号が前記第1の論理値から前記第2の論理値に遷移するタイミングで前記入力データを取り込み第1取込データとして得ると共に、前記第2遅延クロック信号が前記第1の論理値から前記第2の論理値に遷移するタイミングで前記入力データを取り込み第2取込データとして得て、
前記第2クロック信号が前記第1の論理値から前記第2の論理値に遷移する時点での前記第1クロック信号の値を第1クロック値として得ると共に、前記第1遅延クロック信号が前記第1の論理値から前記第2の論理値に遷移する時点での前記第1クロック信号の値を第2クロック値として得て、
前記第1クロック値及び前記第2クロック値が共に前記第1の論理値を示す場合は前記第1取込データを前記第2クロック信号で同期化したデータを同期化データとして出力する一方、前記第1クロック値及び前記第2クロック値のうちの一方又は双方が前記第2の論理値を示す場合は前記第2取込データを前記第2クロック信号で同期化したデータを前記同期化データとして出力することを特徴とするデータ同期化方法。
【発明を実施するための形態】
【0016】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
【0017】
図1は、本発明に係る半導体装置としての同期化回路20を含む無線タグ100の内部構成を概略的に示すブロック図である。
図1に示すように、無線タグ100は、メモリ10、無線通信部20及び同期化回路30を含む。メモリ10、無線通信部20及び同期化回路30は単一の半導体チップに形成されている。尚、同期化回路30のみが独立した半導体チップに形成されていても良い。
【0018】
メモリ10には無線タグ100自体を示す識別情報や、そのユーザに関するユーザ情報等を含む例えば8ビットのデータが記憶されている。メモリ10は、無線通信部20から供給された読出指令に応じて、記憶されている8ビットのデータをデータDTとして読み出し、メモリクロック信号CK1の立ち上がりエッジに同期したタイミングで同期化回路30に供給する。尚、メモリクロック信号CK1は、論理値0の状態及び論理値1の状態を交互に繰り返す2値の発振信号である。
【0019】
同期化回路30は、8ビットのデータDTを同期化クロック信号CK2に同期したタイミングで取り込み、取り込んだデータを8ビットの同期化データRDTとして、無線通信部20に供給する。尚、同期化クロック信号CK2もメモリクロック信号CK1と同様に論理値0の状態及び論理値1の状態を交互に繰り返す2値の発振信号である。ただし、同期化クロック信号CK2は、メモリクロック信号CK1とは非同期であり、且つメモリクロック信号CK1の周波数と同期化クロック信号CK2の周波数は異なっている。
【0020】
無線通信部20は、同期化データRDTに対して所定の変調処理を施すことにより当該同期化データRDTを無線送信する。
【0021】
図2は、同期化回路30の内部構成の一例を示す回路図である。
図2に示すように同期化回路30は、遅延素子31、32、1ビットD型のフリップフロップであるFF33〜FF35、8ビットD型のフリップフロップであるFF36及びFF37、選択判定回路38、セレクタ39、及び8ビットD型のフリップフロップであるFF40を有する。尚、FF33〜37及び40は、クロック信号の立ち上がりエッジのタイミングでデータの取り込みを行うエッジトリガタイプのフリップフロップであり、
図3に示すように、セットアップ時間T
ST及びホールド時間T
HDが規定されている。
【0022】
遅延素子31は、
図4に示すように、同期化クロック信号CK2を所定の所定時間TDだけ遅延させた信号を遅延同期化クロック信号CK2aとして生成し、これを遅延素子32及びFF34のクロック端子に供給する。
【0023】
遅延素子32は、遅延同期化クロック信号CK2aを
図4に示すように上記した所定時間TDだけ遅延させた信号を遅延同期化クロック信号CK2bとして生成し、これをFF35及び37各々のクロック端子に供給する。
【0024】
尚、所定時間TDは、例えば
図3に示すセットアップ時間T
STにホールド時間T
HDを加えた時間長を有する。
【0025】
FF33は、同期化クロック信号CK2を自身のクロック端子で受け、メモリクロック信号CK1をデータ端子で受ける。FF33は、同期化クロック信号CK2の立ち上がりエッジのタイミングでメモリクロック信号CK1の値(論理値0又は1)を取り込みその値を表すクロック値CL1を選択判定回路38に供給する。
【0026】
FF34は、遅延同期化クロック信号CK2aを自身のクロック端子で受け、メモリクロック信号CK1をデータ端子で受ける。FF34は、遅延同期化クロック信号CK2aの立ち上がりエッジのタイミングでメモリクロック信号CK1の値(論理値0又は1)を取り込みその値を表すクロック値CL2を選択判定回路38に供給する。
【0027】
FF35は、遅延同期化クロック信号CK2bを自身のクロック端子で受け、メモリクロック信号CK1をデータ端子で受ける。FF35は、遅延同期化クロック信号CK2bの立ち上がりエッジのタイミングでメモリクロック信号CK1の値(論理値0又は1)を取り込みその値を表すクロック値CL3を選択判定回路38に供給する。
【0028】
FF36は、同期化クロック信号CK2を自身のクロック端子で受け、データDTをデータ端子で受ける。尚、データDTは、前述したように、メモリクロック信号CK1に同期したタイミングでメモリ10から読み出された8ビットのデータである。FF36は、同期化クロック信号CK2の立ち上がりエッジのタイミングでデータDTにて表される8ビット分の論理値(以降、当該8ビット分の論理値をデータ値と称する)を取り込む。そして、FF36は、取り込んだデータ値を表す8ビットの取込データDAをセレクタ39に供給する。
【0029】
FF37は、遅延同期化クロック信号CK2bを自身のクロック端子で受け、データDTをデータ端子で受ける。FF37は、遅延同期化クロック信号CK2bの立ち上がりエッジのタイミングでデータDTにて表されるデータ値を取り込む。そして、FF37は、取り込んだデータ値を表す8ビットの取込データDBをセレクタ39に供給する。
【0030】
選択判定回路38は、上記したクロック値CL1〜CL3に基づき、取込データDA、及び取込データDBのうちからメタステーブルが生じていない方を判定する。選択判定回路38は、その判定結果に基づき、メタステーブルが生じていない方を選択する選択信号SELをセレクタ39に供給する。
【0031】
例えば、選択判定回路38は、
図5に示すように、クロック値CL1〜CL3のうちのCL1及びCL2が共に論理値0となる場合には、取込データDAをメタステーブルが生じていないデータと判定する。この際、選択判定回路38は、取込データDAを選択させる論理値0の選択信号SELをセレクタ39に供給する。一方、クロック値CL1及びCL2のうちの一方、又は両者が論理値1となる場合には、選択判定回路38は、取込データDBをメタステーブルが生じていないデータと判定する。この際、選択判定回路38は、取込データDBを選択させる論理値0の選択信号SELをセレクタ39に供給する。
【0032】
セレクタ39は、取込データDA及び取込データDBを受け、選択信号SELが論理値0を表す場合には取込データDAを選択してFF40に供給する。一方、選択信号SELが論理値1を表す場合には、セレクタ39は、取込データDA及び取込データDBのうちから取込データDBを選択してFF40に供給する。
【0033】
FF40は、セレクタ39から供給された取込データDAによって表されるデータ値、又は取込データDBによって表されるデータ値を同期化クロック信号CK2の立ち下がりエッジのタイミングで取り込む。そして、FF40は、取り込んだデータ値を表す同期化データRDTを出力する。
【0034】
以下に、上記した構成からなる同期化回路30における、メタステーブルに起因する不具合の防止動作について説明する。
【0035】
同期化回路30には、取込データDA及び取込データDBのうちで、メタステーブルが生じていない方を判定する為に、遅延素子31、32、FF33〜FF35及び選択判定回路38が含まれている。
【0036】
ここで、データDTの値が論理値0から1、或いは論理値1から0に遷移するタイミングは、必ず、メモリクロック信号CK1の立ち上がりエッジの時点となる。よって、メモリクロック信号CK1の立ち上がりエッジの時点よりもホールド時間T
HDだけ前方の時点から、当該立ち上がりエッジの時点よりもセットアップ時間T
STだけ後方の時点までの範囲が、メタステーブルが発生する可能性が高いメタステーブル発生区間となる。
【0037】
そこで、FF33〜FF35が、CK2、CK2a及びCK2bによる3つの時点でメモリクロック信号CK1の値を取り込む。
【0038】
尚、メモリクロック信号CK1と同期化クロック信号CK2とは非同期である為、メモリクロック信号CK1と、CK2、CK2a及びCK2b各々の立ち上がりエッジとの位置関係は、
図6に示すような14通りの状態(a)〜(n)にて表される。
【0039】
よって、例えば、
図6に示す状態(a)の場合、FF33は、同期化クロック信号CK2の立ち上がりエッジのタイミングでメモリクロック信号CK1の論理値0を取り込み、
図7に示すように論理値0を表すクロック値CL1を出力する。また、この状態(a)の場合、FF34は、遅延同期化クロック信号CK2aの立ち上がりエッジのタイミングでメモリクロック信号CK1の論理値0を取り込み、
図7に示すように、論理値0を表すクロック値CL2を出力する。また、状態(a)の場合、FF35は、遅延同期化クロック信号CK2bの立ち上がりエッジのタイミングでメモリクロック信号CK1の論理値0を取り込み、
図7に示すように論理値0を表すクロック値CL3を出力する。
【0040】
又、
図6に示す状態(b)の場合、FF33は、同期化クロック信号CK2の立ち上がりエッジのタイミングでメモリクロック信号CK1の論理値0を取り込み、
図7に示すように、論理値0を表すクロック値CL1を出力する。また、この状態(b)の場合、FF34は、遅延同期化クロック信号CK2aの立ち上がりエッジのタイミングでメモリクロック信号CK1の論理値0を取り込み、
図7に示すように、論理値0を表すクロック値CL2を出力する。また、状態(b)の場合、FF35は、遅延同期化クロック信号CK2bの立ち上がりエッジのタイミングでメモリクロック信号CK1の論理値0を取り込み、
図7に示すように、論理値0を表すクロック値CL3を出力する。ただし、遅延同期化クロック信号CK2bの立ち上がりエッジの時点は、
図6に示すようにメモリクロック信号CK1の立ち上がりエッジの時点(レベル変化時点)よりも前方であり且つ当該立ち上がりエッジの時点からホールド時間T
HD以上離間していない。よって、この際、メタステーブルが発生している可能性が高いので、
図6に示す状態(b)の場合、FF35に取り込まれた値は論理値0であるものの、論理値1となる可能性もある不定値である。
【0041】
また、
図6に示す状態(c)の場合、FF33は、同期化クロック信号CK2の立ち上がりエッジのタイミングでメモリクロック信号CK1の論理値0を取り込み、論理値0を表すクロック値CL1を出力する。また、この状態(c)の場合、FF34は、遅延同期化クロック信号CK2aの立ち上がりエッジのタイミングでメモリクロック信号CK1の論理値0を取り込み、論理値0を表すクロック値CL2を出力する。また、状態(c)の場合、FF35は、遅延同期化クロック信号CK2bの立ち上がりエッジのタイミングでメモリクロック信号CK1の論理値1を取り込み、論理値0を表すクロック値CL3を出力する。ただし、遅延同期化クロック信号CK2bの立ち上がりエッジの時点は、
図6に示すようにメモリクロック信号CK1の立ち上がりエッジの時点よりも後方であり且つこの立ち上がりエッジの時点から、セットアップ時間T
ST以上離間していない。よって、この際、メタステーブルが発生している可能性が高いので、
図6に示す状態(c)の場合、FF35に取り込まれた値は論理値1であるものの、論理値0となる可能性もある不定値である。
【0042】
図7は、
図6に示される状態(a)〜(n)毎に、FF33〜FF35が出力するクロック値CL1〜CL3を示す図である。尚、
図4に示すように遅延同期化クロック信号CK2aの立ち上がりエッジは、同期化クロック信号CK2の立ち上がりエッジから所定の所定時間TDだけ遅延しており、遅延同期化クロック信号CK2bの立ち上がりエッジは、遅延同期化クロック信号CK2aの立ち上がりエッジから所定時間TDだけ遅延している。ここで、所定時間TDは、前述したようにFFのセットアップ時間T
STにホールド時間T
HDを加えた時間長を有する。これにより、CK2、CK2a及びCK2b各々の立ち上がりエッジによる3つの時点で取り込んだクロック値CL1〜CL3は、そのうちの1つが不定値となる場合には必ず他の2つが正常値となる。尚、
図7では、「1(0)」又は「0(1)」なる表記にて不定値を表し、「0」又は「1」にて正常値を表している。
【0043】
ここで、データDTを仮に、上記した3つの時点(CK2、CK2a、CK2b)で取り込むと、その取り込み結果(正常値の取込、又は不定値の取込)は、状態(a)〜(n)毎に、
図7に示すようになる。尚、
図7では、正常値の取り込みを白丸にて示し、不定値の取り込みを黒丸にて示す。
【0044】
この際、
図7に示すように、クロック値CL1及びCL2が共に論理値0となる場合、つまり、状態(a)〜(d)又は(n)では、破線にて囲まれた領域で示されるように、必ず、同期化クロック信号CK2でデータDTを正常値として取り込むことができる。そこで、選択判定回路38は、FF36から出力された取込データDAを、メタステーブルが生じていないデータであると判定する。そして、選択判定回路38は、取込データDAを選択させる論理値0の選択信号SELをセレクタ39に供給する。これにより、セレクタ39は、取込データDAをFF40に供給する。FF40は、セレクタ39を介して供給された取込データDAを同期化クロック信号CK2の立ち下がりエッジのタイミングで取り込み、これらを同期化データRDTとして出力する。
【0045】
ところで、上記した一例では、データDTは、メモリクロック信号CK1の立ち上がりエッジに同期した信号である。よって、メモリクロック信号CK1の立ち下がりエッジでデータDTの値が変化することはない。つまり、
図6に示すように、メモリクロック信号CK1の立ち上がりエッジよりもホールド時間T
HDだけ前の時点から、当該CK1の立ち上がりエッジよりもセットアップ時間T
STだけ後方の時点までの区間がメタステーブルの発生区間となる。一方、メモリクロック信号CK1の立ち下がりエッジ付近にはメタステーブルの発生区間は存在しない。よって、
図7に示すように、状態(i)〜(n)では、例えクロック値CL1〜CL3のうちの1つが不定値であっても、上記した3つの時点(CK2、CK2a、CK2b)の全てで正常値の取り込みが行われることになる。
【0046】
以上のことから、クロック値CL1及びCL2のうちの一方又は両者が論理値1となる場合、つまり状態(e)〜(m)となる場合には、一点鎖線に囲まれた領域で示されるように、遅延同期化クロック信号CK2bによってデータDTを正常値として取り込むことができる。そこで、この際、選択判定回路38は、FF37から出力された取込データDBを、メタステーブルが生じていないデータであると判定する。そして、選択判定回路38は、取込データDBを選択させる論理値1の選択信号SELをセレクタ39に供給する。これにより、セレクタ39は、取込データDBをFF40に供給する。FF40は、セレクタ39を介して供給された取込データDBを同期化クロック信号CK2の立ち下がりエッジのタイミングで取り込み、これらを同期化データRDTとして出力する。
【0047】
図8は、
図2に示される同期化回路30の動作の一例を示すタイムチャートである。
図8に示す一例では、データDTによって表されるデータ値が、メモリクロック信号CK1の立ち上がりエッジのタイミングで、データ値「y1」からデータ値「y2」に遷移している。また、
図8に示す一例では、メモリクロック信号CK1と、CK2、CK2a及びCK2b各々の立ち上がりエッジとの位置関係は、
図6に示す状態(e)である。この際、データDTを受けると、同期化回路30のFF36は、同期化クロック信号CK2の立ち上がりエッジのタイミングで、データDTにて表されるデータ値「y1」を取り込み、当該データ値「y1」を示す取込データDAをセレクタ39に供給する。同期化回路30のFF37は、遅延同期化クロック信号CK2bの立ち上がりエッジのタイミングで、データDTにて表されるデータ値「y2」データDTを取り込み、当該データ値「y2」を示す取込データDBをセレクタ39に供給する。
【0048】
FF33は、同期化クロック信号CK2の立ち上がりエッジのタイミングでメモリクロック信号CK1の論理値0を取り込み、論理値0を示すクロック値CL1を選択判定回路38に供給する。FF34は、遅延同期化クロック信号CK2の立ち上がりエッジのタイミングでメモリクロック信号CK1の論理値1を取り込み、論理値1を示すクロック値CL2を選択判定回路38に供給する。FF35は、遅延同期化クロック信号CK2aの立ち上がりエッジのタイミングでメモリクロック信号CK1の論理値1を取り込み、論理値1を示すクロック値CL3を選択判定回路38に供給する。よって、選択判定回路38は、論理値0を示すクロック値CL1、論理値1を示すクロック値CL2及びCL3に基づき、
図5に示すように、論理値1を示す選択信号SELをセレクタ39に供給する。これにより、セレクタ39は、データ値「y2」を示す取込データDBをFF40に供給する。FF40は、同期化クロック信号CK2の立ち下がりエッジのタイミングでデータ値「y2」を示す取込データDBを取り込み、当該データ値「y2」を示す同期化データRDTを出力する。
【0049】
尚、
図8に示す一例では、メモリクロック信号CK1と、CK2、CK2a及びCK2b各々の立ち上がりエッジとの位置関係が
図6に示す状態(e)であるが、例えば
図6に示す状態(c)となる場合には、選択判定回路38は、論理値0を示す選択信号SELをセレクタ39に供給する。これにより、セレクタ39は、データ値「y1」を示す取込データDAをFF40に供給する。
【0050】
よって、同期化回路30では、メモリクロック信号CK1及び同期化クロック信号CK2の立ち上がりエッジ同士が重なっていても、上記したデータ値(y1)及びデータ値(y2)のうちで、メタステーブルの影響を受けていない方が、同期化クロック信号CK2で同期化される。従って、同期化回路30によれば、同期化データRDTによって表されるデータ値に、メタステーブルに起因する不定値が含まれないことが保証されるのである。
【0051】
また、同期化回路30では、データDTを取り込むFF36及びFF37のうちの一方でメタステーブルが生じていても、同期化データRDTにて表されるデータ値は、メモリクロック信号CK1の立ち上がりエッジ直前のデータ値(y1)又は直後のデータ値(y2)である。よって、メタステーブルの影響により、例えば8ビットデータの最上位ビットが論理値0から1、又は論理値1から0に遷移してそのデータ値が大幅に変化してしまうという不具合が生じることはない。これにより、同期化データRDTにて表されるデータ値がシステムで使用不可な不正値にはならないので、当該同期化データRDTを用いる後段の装置においてデータの有効性を判断する回路を設ける必要がなくなる。
【0052】
また、同期化回路30では、メモリクロック信号CK1を2つの時点(CK2、CK2a)で取り込んで得られたクロック値CL1及びCL2に基づき、CK2で取り込んだデータ(DA)及びCK2bで取り込んだデータ(DB)のうちから、メタステーブルが生じていない方を判定するようにしている。この際、CK2aは、CK2を、FFのホールド時間(T
HD)とセットアップ時間(T
ST)とを合計した所定時間TDだけ遅延したものである。
【0053】
よって、メモリクロック信号CK1の周波数が同期化クロック信号CK2の周波数よりも高い場合、又は低い場合、或いは同一である場合のいずれの場合でも、クロック値CL1及びCL2を取得することが可能である。従って、メモリクロック信号CK1及び同期化クロック信号CK2各々の周波数に依存せずに、同期化クロック信号CK2で取り込んだデータ(DA)及びCK2bで取り込んだデータ(DB)のうちから、メタステーブルが生じていない方を判定することができる。
【0054】
更に、CK2bで取り込んだデータ(DB)が選択される場合でも、その遅延時間は同期化クロック信号CK2の立ち上がりエッジに対して2・(T
ST+T
HD)だけとなるので、同期化回路30での出力遅延を抑えることができる。
【0055】
以上のように、同期化回路30によれば、出力遅延を抑え且つメタステーブルに起因するデータ不定値の状態を生じさせることなく、メモリクロック信号CK1に同期した8ビットのデータDTを、当該メモリクロック信号CK1とは非同期であり且つ周波数が異なる同期化クロック信号CK2で同期化することが可能となる。
【0056】
尚、上記実施例では、FF40は、セレクタ39から供給された取込データDA又は取込データDBを、同期化クロック信号CK2の立ち下がりエッジのタイミングで取り込んで同期化データRDTとして出力している。しかしながら、FF40は、セレクタ39から供給されたデータ(DA又はDB)を、同期化クロック信号CK2の立ち上がりエッジのタイミングで取り込み、同期化データRDTとして出力するようにしても良い。
【0057】
また、上記実施例では、同期化回路30は、メモリクロック信号CK1に同期してメモリ10から読み出された8ビットのデータDTを同期化クロック信号CK2に同期させるようにしている。しかしながら、同期化の対象となるデータはメモリから読み出されたデータに限らず、そのビット数も8ビットに限定されない。
【0058】
また、上記実施例では、遅延素子31及び32各々での遅延時間、つまり所定時間TDを、FFのセットアップ時間T
STにホールド時間T
HDを加えた時間(T
ST+T
HD)としているが、セットアップ時間T
ST自体を所定時間TDとしても良い。また、当該所定時間TDとしては、時間(T
ST+T
HD)に所定のマージンを加えたもの、或いは当該時間(T
ST+T
HD)をt倍(tは1以上の整数)したもの、つまり時間(T
ST+T
HD)以上であっても良い。
【0059】
また、上記実施例では、FF33〜FF37としてクロック信号の立ち上がりエッジのタイミング、つまりクロック信号の値が論理値0から論理値1に遷移する時点でデータを取り込む、いわゆるポジティブエッジトリガ型のフリップフロップを用いている。しかしながら、FF33〜FF37としては、クロック信号の立ち下がりエッジのタイミング、つまりクロック信号の値が論理値1から論理値0に遷移する時点でデータの取り込みを行う、いわゆるネガティブエッジトリガ型のフリップフロップを採用しても良い。
【0060】
また、
図2に示す実施例では、FF33〜FF37としてフリップフロップを採用しているが、入力されたクロック信号に同期してデータを取り込んで出力する同期取込動作を行うことができる素子であれば、フリップフロップに限定されない。また、
図2に示す選択判定回路38、セレクタ39及びFF40を1つのブロックで構成するようにしても良い。
【0061】
要するに、第1及び第2の論理値(0、1)の状態を交互に繰り返す第1クロック信号(CK1)に同期した入力データ(DT)を、第1及び第2の論理値の状態を交互に繰り返す第2クロック信号(CK2)に同期化する同期化回路(30)としては、以下のクロック遅延部、第1及び第2の同期取込部、クロック値取込部及び出力部を有するものであれば良いのである。クロック遅延部(31、32)は、第2クロック信号を所定時間(T
ST+T
HD)だけ遅延した信号を第1遅延クロック信号(CK2a)として生成すると共に、この第1遅延クロック信号を所定時間だけ遅延した信号を第2遅延クロック信号(CK2b)として生成する。第1の同期取込部(36)は、第2クロック信号が第1の論理値(例えば0)から第2の論理値(例えば1)に遷移するタイミングで入力データを取り込み第1取込データ(DA)として得る。第2の同期取込部(37)は、第2遅延クロック信号が第1の論理値(例えば0)から第2の論理値(例えば1)に遷移するタイミングで入力データを取り込み第2取込データ(DB)として得る。クロック値取込部(33、34)は、第2クロック信号が第1の論理値から第2の論理値に遷移する時点での第1クロック信号の値を第1クロック値(CL1)、第1遅延クロック信号が第1の論理値から第2の論理値に遷移する時点での第1クロック信号の値を第2クロック値(CL2)として取り込む。出力部(38〜40)は、第1クロック値及び第2クロック値が共に第1の論理値(例えば0)を示す場合は第1取込データ(DA)を第2クロック信号で同期化したデータを同期化データ(RDT)として出力する。一方、第1クロック値及び第2クロック値のうちの一方又は双方が第2の論理値を示す場合は、出力部は、第2取込データ(DB)を第2クロック信号で同期化したデータを同期化データ(RDT)として出力する。