特許第6809932号(P6809932)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ラピスセミコンダクタ株式会社の特許一覧

<>
  • 特許6809932-半導体装置及びデータ同期方法 図000002
  • 特許6809932-半導体装置及びデータ同期方法 図000003
  • 特許6809932-半導体装置及びデータ同期方法 図000004
  • 特許6809932-半導体装置及びデータ同期方法 図000005
  • 特許6809932-半導体装置及びデータ同期方法 図000006
  • 特許6809932-半導体装置及びデータ同期方法 図000007
  • 特許6809932-半導体装置及びデータ同期方法 図000008
  • 特許6809932-半導体装置及びデータ同期方法 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6809932
(24)【登録日】2020年12月14日
(45)【発行日】2021年1月6日
(54)【発明の名称】半導体装置及びデータ同期方法
(51)【国際特許分類】
   H04L 7/00 20060101AFI20201221BHJP
   G06F 13/42 20060101ALI20201221BHJP
   H03K 5/00 20060101ALI20201221BHJP
   H03K 19/0175 20060101ALI20201221BHJP
【FI】
   H04L7/00 500
   G06F13/42 350A
   H03K5/00 K
   H03K19/0175 270
【請求項の数】5
【全頁数】15
(21)【出願番号】特願2017-32570(P2017-32570)
(22)【出願日】2017年2月23日
(65)【公開番号】特開2018-137694(P2018-137694A)
(43)【公開日】2018年8月30日
【審査請求日】2020年1月30日
(73)【特許権者】
【識別番号】308033711
【氏名又は名称】ラピスセミコンダクタ株式会社
(74)【代理人】
【識別番号】100079119
【弁理士】
【氏名又は名称】藤村 元彦
(74)【代理人】
【識別番号】100147728
【弁理士】
【氏名又は名称】高野 信司
(72)【発明者】
【氏名】上原 輝昭
【審査官】 阿部 弘
(56)【参考文献】
【文献】 米国特許第05602878(US,A)
【文献】 特開2008−177866(JP,A)
【文献】 特開平02−250535(JP,A)
【文献】 特開昭62−029236(JP,A)
【文献】 特開2000−261310(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
G06F 13/42
H03K 5/00
H03K 19/0175
(57)【特許請求の範囲】
【請求項1】
第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クロック信号で同期化したデータを前記同期化データとして出力する出力部と、を有することを特徴とする半導体装置。
【請求項2】
前記第1の同期取込部及び前記第2の同期取込部の各々は、フリップフロップを含み、
前記所定時間は、前記フリップフロップのセットアップ時間にホールド時間を加えた時間以上の時間であることを特徴とする請求項1に記載の半導体装置。
【請求項3】
前記第1クロック信号は前記第2クロック信号とは非同期であり、且つ前記第1クロック信号の周波数と前記第2クロック信号の周波数とが異なることを特徴とする請求項1又は2に記載の半導体装置。
【請求項4】
前記出力部は、
前記第1取込データ及び前記第2取込データのうちの一方を選択するセレクタと、
前記第1クロック値及び前記第2クロック値が共に前記第1の論理値を示す場合には前記第1取込データを選択させ、前記第1クロック値及び前記第2クロック値のうちの一方又は双方が前記第2の論理値を示す場合には前記第2取込データを選択させるように前記セレクタを制御する選択判定部と、
前記セレクタで選択された前記第1取込データ又は前記第2取込データを、前記第2クロック信号が前記第2の論理値から前記第1の論理値に遷移するタイミングで取り込み前記同期化データとして出力する出力取込部と、を含むことを特徴とする請求項1〜3のいずれか1に記載の半導体装置。
【請求項5】
第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クロック信号で同期化したデータを前記同期化データとして出力することを特徴とするデータ同期化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを同期化する半導体装置及びデータ同期方法に関する。
【背景技術】
【0002】
現在、半導体装置に形成されるデータ処理回路として、クロック同期設計が施されたものが主流となっている。また、近年、このようなデータ処理回路に対して高速化及び低消費電力化を図る為に、当該データ処理回路を構成する各機能モジュールを、互いに非同期な独立したクロック信号で動作させる場合がある。例えば、第1のクロック信号で動作する第1の機能モジュールで生成された出力信号を、第2のクロック信号で動作する第2の機能モジュールに転送する場合には、第2の機能モジュールに含まれるフリップフロップ(以下、FFとも称する)が、第2のクロック信号に同期して当該出力信号の取り込みを行う。
【0003】
ところで、FFには、自身に入力されたデータを正しく取り込ませる為に、クロック信号の立ち上がり又は立ち下がりエッジの時点の前後に、データを一定値(論理値0又は1)に維持させておかなければならないデータ変化禁止期間(セットアップ時間、ホールド時間)が規定されている。かかるデータ変化禁止期間中に、入力データの値が変化すると、FFの出力が所定期間に亘り発振して不定値となる、いわゆるメタステーブルが発生する。メタステーブルが発生すると、所定期間後にFFの出力は安定するが、その出力値が入力されたデータの値と同一になるとは限らないので、入力されたデータが後段のFFに正しく伝搬されないという不具合が生じる。
【0004】
よって、互いに非同期なクロック信号で動作する機能モジュール間で直接データの転送を行うと、受け側の機能モジュールのFFでメタステーブルが発生するという不具合が生じる。
【0005】
そこで、メタステーブルに起因する不具合を解消する為に、クロック信号の立ち上がりエッジのタイミングでデータを取り込む第1のFFと、このクロック信号の立ち下がりエッジのタイミングでデータを取り込む第2のFFを含む同期化回路が提案された(例えば特許文献1参照)。この同期化回路では、第1のFFの出力信号及び第2のFFの出力信号うちの一方を以下のように選択し、その選択結果を第3のFFにてクロック信号のタイミングで取り込んで出力するようにしている。つまり、入力されたデータの値と第1のFFの出力信号の値とが同一となるか否かを判定し、同一となる場合には、第1のFFの出力信号を選択する一方、両者が不一致となる場合には第2のFFの出力信号を選択する。すなわち、入力されたデータの値と、第1のFFから出力された出力信号の値とが異なる場合には、上記したデータ変化禁止期間中にデータの値が変化し、第1のFFの出力にメタステーブルが発生するという不具合が生じる。そこで、この際、第1及び第2のFFの出力結果のうちの第2のFFの出力結果を選択し、これを第3のFFを介して出力するのである。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−147869号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、上記した同期化回路の構成では、データの送り元のクロック信号(第1クロック信号と称する)の周波数が同期化回路で用いるクロック信号(第2クロック信号と称する)よりも高いと、データの変化周期が第2クロック信号の周期に比して短くなる場合がある。よって、この場合、入力されたデータの値と、第1のFFの出力信号の値とが一致するか否かの判定結果は、メタステーブルが発生しているか否かに拘わらず、入力されたデータの値の変化に依存してしまう。従って、データの送り元の第1クロック信号の周波数が第2クロック信号よりも高い場合には、上記した従来の同期化回路を用いることはできなかった。
【0008】
そこで、本発明は、メタステーブルに起因する不具合を生じさせることなく、第1クロック信号に同期したデータを当該第1クロック信号とは非同期であり且つ周波数が異なる第2クロック信号で同期化することが可能な半導体装置及びデータ同期方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明に係る半導体装置は、第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クロック信号で同期化したデータを前記同期化データとして出力する出力部と、を有する。
【0010】
本発明に係るデータ同期方法は、第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クロック信号で同期化したデータを前記同期化データとして出力する。
【発明の効果】
【0011】
本発明では、第1クロック信号に同期した入力データを第2クロック信号に同期化するにあたり、第2クロック信号が第1の論理値から第2の論理値に遷移する時点での第1クロック信号の値を第1クロック値として得ると共に、第2クロック信号を所定時間だけ遅延させた第1遅延クロック信号が第1の論理値から第2の論理値に遷移する時点での第1クロック信号の値を第2クロック値として得る。更に、第2クロック信号が第1の論理値から第2の論理値に遷移するタイミングで入力データを取り込みこれを第1取込データとして得ると共に、第2クロック信号を所定時間の2倍の時間だけ遅延させた第2遅延クロック信号が第1の論理値から第2の論理値に遷移するタイミングで入力データを取り込みこれを第2取込データとして得る。
【0012】
この際、第1クロック値及び第2クロック値が共に第1の論理値を示す場合には、第1クロック信号が第1の論理値から第2の論理値に遷移する時点と、第2クロック信号が第1の論理値から第2の論理値に遷移する時点とは必ず所定時間以上離間していることになる。つまり、この際、第2クロック信号に応じて取り込んだ上記第1取込データにはメタステーブルが生じていないので、この第1取込データを第2クロック信号に同期したデータを同期化データとして出力する。一方、第1クロック値及び第2クロック値のうちの一方又は双方が第2の論理値を示す場合には、第1クロック信号が第1の論理値から第2の論理値に遷移する時点と、第2遅延クロック信号が第1の論理値から第2の論理値に遷移する時点とは必ず所定時間以上離間していることになる。つまり、この際、第2遅延クロック信号に応じて取り込んだ上記第2取込データにはメタステーブルが生じていないので、第2遅延クロック信号に応じて取り込んだ上記第2取込データを第2クロック信号に同期したデータを同期化データとして出力する。
【0013】
ここで、本発明では、第2クロック信号が第1の論理値から第2の論理値に遷移する時点での第1クロック信号の値(第1クロック値)、及び第1遅延クロック信号が第1の論理値から第2の論理値に遷移する時点での第1クロック信号の値(第2クロック値)に基づいて、第1取込データ及び第2取込データのうちで、メタステーブルが生じていない方を判定している。これにより、第1クロック信号の周波数が第2クロック信号の周波数よりも高い場合、又は低い場合、或いは同一である場合のいずれの場合でも第1及び第2クロック値を取得することができる。従って、第1クロック信号の周波数及び第2クロック信号の周波数の高低関係に依存せずに、上記した第1取込データ及び第2取込データのうちで、メタステーブルが生じていない方を判定することが可能となる。
【0014】
よって、本発明によれば、メタステーブルに起因する不具合を生じさせることなく、第1クロック信号に同期したデータを当該第1クロック信号とは非同期であり且つ周波数が異なる第2クロック信号で同期化することが可能となる。
【図面の簡単な説明】
【0015】
図1】本発明に係る半導体装置としての同期化回路20を含む無線タグ100の内部構成を概略的に示すブロック図である。
図2】同期化回路30の内部構成の一例を示す回路図である。
図3】フリップフロップに入力されるクロック及びデータと、セットアップ時間及びホールド時間との関係を表す図である。
図4】同期化クロック信号CK2、遅延同期化クロック信号CK2a及びCK2bの一例を表すタイムチャートである。
図5】選択判定回路38の動作を表す図である。
図6】メモリクロック信号CK1と、CK2、CK2a及びCK2b各々の立ち上がりエッジとの位置関係を表す図である。
図7】状態(a)〜(n)毎のクロック値CL1〜CL3と、CK2、CK2a及びCK2bでのデータ取り込み結果との対応関係を示す図である。
図8】同期化回路30の内部動作の一例を示すタイムチャートである。
【発明を実施するための形態】
【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に示すように、セットアップ時間TST及びホールド時間THDが規定されている。
【0022】
遅延素子31は、図4に示すように、同期化クロック信号CK2を所定の所定時間TDだけ遅延させた信号を遅延同期化クロック信号CK2aとして生成し、これを遅延素子32及びFF34のクロック端子に供給する。
【0023】
遅延素子32は、遅延同期化クロック信号CK2aを図4に示すように上記した所定時間TDだけ遅延させた信号を遅延同期化クロック信号CK2bとして生成し、これをFF35及び37各々のクロック端子に供給する。
【0024】
尚、所定時間TDは、例えば図3に示すセットアップ時間TSTにホールド時間THDを加えた時間長を有する。
【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の立ち上がりエッジの時点よりもホールド時間THDだけ前方の時点から、当該立ち上がりエッジの時点よりもセットアップ時間TSTだけ後方の時点までの範囲が、メタステーブルが発生する可能性が高いメタステーブル発生区間となる。
【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の立ち上がりエッジの時点(レベル変化時点)よりも前方であり且つ当該立ち上がりエッジの時点からホールド時間THD以上離間していない。よって、この際、メタステーブルが発生している可能性が高いので、図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の立ち上がりエッジの時点よりも後方であり且つこの立ち上がりエッジの時点から、セットアップ時間TST以上離間していない。よって、この際、メタステーブルが発生している可能性が高いので、図6に示す状態(c)の場合、FF35に取り込まれた値は論理値1であるものの、論理値0となる可能性もある不定値である。
【0042】
図7は、図6に示される状態(a)〜(n)毎に、FF33〜FF35が出力するクロック値CL1〜CL3を示す図である。尚、図4に示すように遅延同期化クロック信号CK2aの立ち上がりエッジは、同期化クロック信号CK2の立ち上がりエッジから所定の所定時間TDだけ遅延しており、遅延同期化クロック信号CK2bの立ち上がりエッジは、遅延同期化クロック信号CK2aの立ち上がりエッジから所定時間TDだけ遅延している。ここで、所定時間TDは、前述したようにFFのセットアップ時間TSTにホールド時間THDを加えた時間長を有する。これにより、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の立ち上がりエッジよりもホールド時間THDだけ前の時点から、当該CK1の立ち上がりエッジよりもセットアップ時間TSTだけ後方の時点までの区間がメタステーブルの発生区間となる。一方、メモリクロック信号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のホールド時間(THD)とセットアップ時間(TST)とを合計した所定時間TDだけ遅延したものである。
【0053】
よって、メモリクロック信号CK1の周波数が同期化クロック信号CK2の周波数よりも高い場合、又は低い場合、或いは同一である場合のいずれの場合でも、クロック値CL1及びCL2を取得することが可能である。従って、メモリクロック信号CK1及び同期化クロック信号CK2各々の周波数に依存せずに、同期化クロック信号CK2で取り込んだデータ(DA)及びCK2bで取り込んだデータ(DB)のうちから、メタステーブルが生じていない方を判定することができる。
【0054】
更に、CK2bで取り込んだデータ(DB)が選択される場合でも、その遅延時間は同期化クロック信号CK2の立ち上がりエッジに対して2・(TST+THD)だけとなるので、同期化回路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のセットアップ時間TSTにホールド時間THDを加えた時間(TST+THD)としているが、セットアップ時間TST自体を所定時間TDとしても良い。また、当該所定時間TDとしては、時間(TST+THD)に所定のマージンを加えたもの、或いは当該時間(TST+THD)をt倍(tは1以上の整数)したもの、つまり時間(TST+THD)以上であっても良い。
【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クロック信号を所定時間(TST+THD)だけ遅延した信号を第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)として出力する。
【符号の説明】
【0062】
30 同期化回路
31、32 遅延素子
33〜37、40 フリップフロップ(FF)
38 選択判定回路
39 セレクタ
100 無線タグ
図1
図2
図3
図4
図5
図6
図7
図8