(57)【要約】【課題】本発明は、直近のデータを任意のタイミングで読み出すことができるデータバッファ回路を提供することを目的とする。【解決手段】データバッファ回路１は、内部インターフェース部９０内に設けられインターフェースクロック信号に同期化したデータストローブ信号を生成するデータストローブ信号生成回路１１と、データストローブ信号をインターフェースクロック信号よりも周波数が高い動作クロック信号で同期化する非同期信号同期化回路１３と、動作クロック信号に同期したデータ信号が入力される入力端子及び非同期信号同期化回路１３の出力信号が入力される制御信号入力端子を備えるＤラッチ１５ａを有するデータ保持回路と、内部インターフェース部９０に設けられデータ保持回路１５から出力される出力信号が入力されてインターフェースクロック信号でサンプルするデータ受信回路１７と備える。【選択図】図１
2018200574.tif 000002
【特許請求の範囲】
【請求項１】
インターフェースクロック信号に同期化したデータストローブ信号を生成するデータストローブ信号生成回路、及び前記インターフェースクロック信号に同期して入力信号をサンプルするデータ受信回路を有するインターフェース部と、
前記データストローブ信号を、前記インターフェースクロック信号よりも周波数が高い動作クロック信号で同期化する非同期信号同期化回路と、
前記動作クロック信号に同期したデータ信号が入力される入力端子、前記非同期信号同期化回路の出力信号が入力される制御信号入力端子及び前記入力信号を出力する出力端子を有するＤラッチを備えるデータ保持回路と、
を備えるデータバッファ回路。
【請求項２】
前記非同期信号同期化回路は、フリップフロップと論理演算回路とを有し、
前記フリップフロップは、前記データストローブ信号が入力されるセット端子と、固定値が入力される入力端子とを有し、
前記論理演算回路は、前記フリップフロップから出力される出力信号と前記動作クロック信号とに基づいて論理演算して得られた演算信号を前記データ保持回路へ出力する
請求項１に記載のデータバッファ回路。
【請求項３】
外部回路に接続された第１外部接続端子及び第２外部接続端子、第１クロック信号が入力されるクロック信号入力端子、前記クロック信号入力端子に入力される前記第１クロック信号に同期させて前記第１外部接続端子に入力される信号が出力される出力端子、並びに入力信号が入力される入力端子を有するインターフェース部と、
前記出力端子に接続された非同期セット端子、固定値の信号が入力される入力端子、前記第１クロック信号よりも周波数の高い第２クロック信号が入力されるクロック信号入力端子、及び出力端子を有するフリップフロップと、
前記インターフェース部の前記出力端子に接続された第１入力端子、前記フリップフロップの前記クロック信号入力端子に接続された第２入力端子、及び該第１入力端子に入力される信号と該第２入力端子に入力される信号との論理積により得られる演算信号が出力される出力端子を有する論理積回路と、
前記インターフェース部の前記出力端子に接続された第１入力端子、前記論理積回路の前記出力端子に接続された第２入力端子、及び該第１入力端子に入力される信号と該第２入力端子に入力される信号との論理和により得られる演算信号が出力される出力端子を有する論理和回路と、
前記論理和回路の前記出力端子に接続された制御信号入力端子、前記第２クロック信号に同期したデータ信号が入力される入力端子、及び前記インターフェース部の前記入力端子に接続され前記入力信号を出力する出力端子を有するＤラッチと、
を備えるデータバッファ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データバッファ回路に関する。
【背景技術】
【０００２】
一般的に、マイクロコントローラー（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ：ＭＣＵ）の内部で得られたデータは、このＩＣの外部に設けられた中央演算処理装置（Central Processing Unit：ＣＰＵ）などにより、ＩＣ内部に設けられたインターフェース部を介して読み出される。ＩＣには、データ読出し時に生成されるデータストローブ信号に基づいてＩＣ内部で得られたデータを読み出す際に、ＩＣ内部で新たに得られたデータで外部に読み出されるデータを更新するか、ＩＣ内部に保持するデータを出力データとするかを選択する機能が求められる。このため、ＩＣには、インターフェースクロック信号に同期して生成されるデータストローブ信号をＩＣの動作クロック信号に同期させる機能が求められる。特許文献１には、データ読出し時に生成されるインターフェースクロック信号に同期したデータストローブ信号を動作クロック信号に同期させる技術が開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】デイビット・マネー・ハリス、サラ・Ｌ・ハリス著、「ディジタル回路設計とコンピュータアーキテクチャ」、（日本）、第４版、株式会社翔泳社、２０１６年４月１０日、ｐ１６２
【発明の概要】
【発明が解決しようとする課題】
【０００４】
インターフェースクロック信号に同期したストローブ信号が動作クロック信号に同期しないと、データを任意のタイミングでＩＣの外部に読み出せない場合がある。ＩＣ内部クロック信号に対して非同期なデータストローブ信号が入力された場合、データストローブ信号によるデータバッファ回路の制御の可否が動作クロックの状態に依存するため、データバッファ回路で保持するデータを更新することができない。非同期信号の同期化処理に時間がかかるため、高速のインターフェースクロックや低速の動作クロック信号の場合、フリップフロップのデータセットアップ時間を確保することができない。
【０００５】
本発明の目的は、ＩＣの動作クロックに依らずに、保持するデータの更新を可能にすることで直近のデータを任意のタイミングで読み出すことを実現する新規の非同期信号同期化回路とデータ保持回路とで構成されるデータバッファ回路を提供することにある。
また、本発明の目的は、信号の同期化処理に要する時間を短縮することで、ＩＣ動作クロックの低速化や、インターフェースクロックの高速化をしても、読み出されるデータのセットアップ時間の確保を実現することができるデータバッファ回路を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様によるデータバッファ回路は、インターフェースクロック信号に同期化したデータストローブ信号を生成するデータストローブ信号生成回路、及び前記インターフェースクロック信号に同期して入力信号をサンプルするデータ受信回路を有するインターフェース部と、前記データストローブ信号を、前記インターフェースクロック信号よりも周波数が高い動作クロック信号で同期化するデータストローブ信号同期化回路と、前記動作クロック信号に同期したデータ信号が入力される入力端子、前記データ保護信号同期化回路の出力信号が入力される制御信号入力端子及び前記入力信号を出力する出力端子を有するＤラッチを備えるデータ保持回路と、を備えることを特徴とする。
【０００７】
本発明の他の態様によるデータバッファ回路は、外部回路に接続された第１外部接続端子及び第２外部接続端子、第１クロック信号が入力されるクロック信号入力端子、前記クロック信号入力端子に入力される前記第１クロック信号に同期させて前記第１外部接続端子に入力される信号が出力される出力端子、並びに入力信号が入力される入力端子を有するインターフェース部と、前記出力端子に接続された非同期セット入力端子、固定値の信号が入力される入力端子、前記第１クロック信号よりも周波数の高い第２クロック信号が入力されるクロック信号入力端子、及び出力端子を有するフリップフロップと、前記インターフェース部の前記出力端子に接続された第１入力端子、前記フリップフロップの前記クロック信号入力端子に接続された第２入力端子、及び該第１入力端子に入力される信号と該第２入力端子に入力される信号との論理積により得られる演算信号が出力される出力端子を有する論理積回路と、前記インターフェース部の前記出力端子に接続された第１入力端子、前記論理積回路の前記出力端子に接続された第２入力端子、及び該第１入力端子に入力される信号と該第２入力端子に入力される信号との論理和により得られる演算信号が出力される出力端子を有する論理和回路と、前記論理和回路の前記出力端子に接続された制御信号入力端子、前記第２クロック信号に同期したデータ信号が入力される入力端子、及び前記インターフェース部の前記入力端子に接続され前記入力信号を出力する出力端子を有するＤラッチと、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明の各態様によればデータをＩＣの動作クロックに依らず、保持するデータの更新を可能にすることで直近のデータを任意のタイミングで読み出すことを実現する新規の非同期信号同期化回路とデータ保持回路とで構成されるデータバッファ回路を提供することができる。また、本発明の各態様によれば、信号の同期化処理に要する時間を短縮することで、ＩＣ動作クロックの低速化や、インターフェースクロックの高速化をしても、読み出されるデータのセットアップ時間の確保を実現することができるデータバッファ回路を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１実施形態による非同期信号同期化回路、データ保持回路の概略構成を示す回路ブロック図である。
【図２】本発明の第１実施形態による非同期信号同期化回路、データ保持回路の動作を示すタイミングチャート（その１）である。
【図３】本発明の第１実施形態による非同期信号同期化回路、データ保持回路の動作を示すタイミングチャート（その２）である。
【図４】比較例としての一般的な非同期信号同期化回路、データ保持回路の概略構成を示す回路ブロック図である。
【図５】比較例としての一般的な非同期信号同期化回路、データ保持回路の動作を示すタイミングチャート（その１）である。
【図６】比較例としての一般的な非同期信号同期化回路、データ保持回路の動作を示すタイミングチャート（その２）である。
【図７】本発明の第２実施形態による非同期信号同期化回路、データ保持回路の概略構成を示す回路ブロック図である。
【図８】本発明の第２実施形態による非同期信号同期化回路、データ保持回路の動作を示すタイミングチャート（その１）である。
【図９】本発明の第２実施形態による非同期信号同期化回路、データ保持回路の動作を示すタイミングチャート（その２）である。
【発明を実施するための形態】
【００１０】
〔第１実施形態〕
（非同期信号同期化回路、データ保持回路の構成）
本発明の第１実施形態によるデータバッファ回路について図１から図６を用いて説明する。まず、本実施形態によるデータバッファ回路１の概略構成について図１を用いて説明する。図１は、本実施形態によるデータバッファ回路１の概略構成を示す回路ブロック図である。データバッファ回路１は、例えば集積回路（Integrated Circuit：ＩＣ）の内部に組み込まれている複数の機能ブロックのうちの１つである。
【００１１】
図１に示すように、データバッファ回路１は、外部インターフェース部内（不図示）で生成された内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎをインターフェースクロック信号（第１クロック信号の一例）ｃｌｋ＿ＩＦの立ち上がりに同期してサンプルし、出力したデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎ（データストローブ信号の一例）を生成するデータストローブ信号生成回路１１を備えている。外部インターフェース部は、データバッファ回路１が設けられたＩＣに組み込まれている複数の機能ブロックのうちの１つである。外部インターフェース部は、ＩＣに組み込まれている複数の機能ブロックのうちのデータバッファ回路１とは異なる機能ブロックである。外部インターフェース部は、ＩＣの内部とＩＣの外部との間でデータの送受信を行うために設けられている入出力部である。インターフェースクロック信号ｃｌｋ＿ＩＦは、ＩＣ内部とＩＣ外部が通信をする際に用いられるクロック信号である。以下、各種信号の符号に用いられる「＿Ｎ」は、負論理を意味する。
【００１２】
また、データバッファ回路１は、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを、インターフェースクロック信号ｃｌｋ＿ＩＦよりも周波数が高い動作クロック信号（第２クロック信号の一例）ｃｌｋ＿ＣＯＲＥで同期化する非同期信号同期化回路１３を備えている。動作クロック信号ｃｌｋ＿ＣＯＲＥは、ＩＣの内部の動作を制御するための基準となるクロック信号である。
【００１３】
また、データバッファ回路１は、動作クロック信号ｃｌｋ＿ＣＯＲＥに同期したデータ信号ｄａｔａ＿１が入力される入力端子Ｄと、非同期信号同期化回路１３の出力信号であるデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎ（詳細は後述）が入力される制御信号入力端子Ｇと、出力端子Ｑとを備えるＤラッチ１５ａを有するデータ保持回路１５を備えている。データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎの信号レベルが高レベル（“Ｈ”）の場合には、入力端子Ｄから入力されるデータ信号ｄａｔａ＿１が出力端子Ｑから出力される。データストローブ信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎの信号レベルが低レベル（“Ｌ”）の場合には、Ｄラッチ１５ａが保持しているデータ信号が出力端子Ｑから出力される。データ信号ｄａｔａ＿１は、ＩＣの内部で生成されたデータ信号であり、ＩＣの内部に設けられたデータバッファ（不図示）から入力される。
【００１４】
さらに、データバッファ回路１は、データ保持回路１５から出力されるデータ信号ｄａｔａ＿２が入力され、インターフェースクロック信号ｃｌｋ＿ＩＦに同期してサンプルし、出力信号ｏｕｔｄａｔａとして出力するデータ受信回路１７を備えている。
【００１５】
データバッファ回路１は、データストローブ信号生成回路１１及びデータ受信回路１７を有する内部インターフェース部（インターフェース部の一例）９０を備えている。内部インターフェース部９０は、データバッファ回路１を構成する構成要素であり、上述の外部インターフェース部とは異なる構成要素である。
【００１６】
ここで、データバッファ回路１を構成するデータストローブ信号生成回路１１などの具体的な構成について説明する。本実施形態では、データストローブ信号生成回路１１は第１フリップフロップ１１ａを有しているが、これに限られない。データストローブ信号生成回路１１は、入力されるインターフェースクロック信号（本実施形態ではインターフェースクロック信号ｃｌｋ＿ＩＦ）に同期させて入力される信号（本実施形態では内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎ）を出力できれば、フリップフロップ以外の回路を有していてもよい。
【００１７】
図１に示すように、データストローブ信号生成回路１１は、内部インターフェース部９０内で生成された信号が入力される入力端子Ｄ、インターフェースクロック信号ｃｌｋ＿ＩＦが入力されるクロック信号入力端子ＣＫ、及びクロック信号入力端子ＣＫに入力されるインターフェースクロック信号ｃｌｋ＿ＩＦに同期させて入力端子Ｄに入力される信号が出力される出力端子Ｑを備える第１フリップフロップ１１ａを有している。第１フリップフロップ１１ａは、Ｄフリップフロップで構成されている。第１フリップフロップ１１ａの入力端子Ｄには、データ出力信号ｏｕｔｄａｔａの読み出し時に生成される内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが入力される。第１フリップフロップ１１ａは、クロック信号入力端子ＣＫに入力されるインターフェースクロック信号ｃｌｋ＿ＩＦの立ち上がりに同期して入力端子Ｄに入力される内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎをサンプルし、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを非同期信号同期化回路１３に出力する。
【００１８】
非同期信号同期化回路１３は、第２フリップフロップ１３ａと、第２フリップフロップ１３ａの後段側に設けられた後段フリップフロップ１３ｂとを有している。第２フリップフロップ１３ａ及び後段フリップフロップはそれぞれ、Ｄフリップフロップで構成されている。第２フリップフロップ１３ａは、第１フリップフロップ１１ａの出力端子Ｑにデータストローブ信号が接続された非同期セット端子Ｓ、“Ｌ”の信号が入力される入力端子Ｄ、動作クロック信号ｃｌｋ＿ＣＯＲＥが入力されるクロック信号入力端子ＣＫ、及び出力端子Ｑを有している。本実施形態では、第２フリップフロップ１３ａの入力端子Ｄは、基準電位（例えばグランド）に接続されてプルダウンされているが、“Ｌ”の一定電位を出力する所定の回路の出力端子に接続されていてもよい。
【００１９】
第２フリップフロップ１３ａは、非同期セット端子Ｓに入力されるデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎの信号レベルが高レベルの場合には、入力端子Ｄに入力される信号によらずに一定値の高レベルの出力信号ｏｕｔ＿ＦＦを出力端子Ｑから出力する。一方、第２フリップフロップ１３ａは、非同期セット端子Ｓに入力されるデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎの信号レベルが低レベルの場合には、入力端子Ｄに入力される固定値の低レベルの出力信号ｏｕｔ＿ＦＦを出力端子Ｑから出力する。第２フリップフロップ１３ａは、クロック信号入力端子ＣＫに入力される動作クロック信号ｃｌｋ＿ＣＯＲＥの立ち上がりに同期させて出力信号ｏｕｔ＿ＦＦを後段フリップフロップ１３ｂに出力する。
【００２０】
後段フリップフロップ１３ｂは、第１フリップフロップ１１ａの出力端子Ｑにデータストローブ信号が接続された非同期セット端子Ｓ、第２フリップフロップ１３ａの出力端子Ｑに接続された入力端子Ｄ、第２フリップフロップ１３ａのクロック信号入力端子に接続されたクロック信号入力端子ＣＫ、及び出力端子Ｑを有している。
【００２１】
後段フリップフロップ１３ｂのクロック信号入力端子ＣＫには、動作クロック信号ｃｌｋ＿ＣＯＲＥが入力される。後段フリップフロップ１３ｂは、非同期セット端子Ｓに入力されるデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｈ”の場合には、入力端子Ｄに入力される信号によらずに“Ｈ”をデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎとしてデータ保持回路１５に出力する。一方、後段フリップフロップ１３ｂは、非同期セット端子Ｓに入力されるデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｌ”の場合には、クロック信号入力端子ＣＫに入力される動作クロック信号ｃｌｋ＿ＣＯＲＥの立下りに同期して入力端子Ｄのｑ＿１３をサンプルし、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎとしてデータ保持回路１５に出力する。
【００２２】
データ保持回路１５に設けられたＤラッチ１５ａは、制御信号入力端子Ｇに入力されるデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｈ”場合には、入力端子Ｄに入力されるデータ信号ｄａｔａ＿１をデータ信号ｄａｔａ＿２として出力端子Ｑから出力する。また、Ｄラッチ１５ａは、制御信号入力端子Ｇに入力されるデータストローブ信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｈ”から“Ｌ”に切り替わった際に入力端子Ｄに入力されたデータ信号ｄａｔａ＿１を保持する。さらに、Ｄラッチ１５ａは、制御信号入力端子Ｇに入力されるデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｌ”の場合には、保持しているデータ信号ｄａｔａ＿１をデータ信号ｄａｔａ＿２として出力端子Ｑから出力する。
【００２３】
データ受信回路１７は、内部インターフェース部９０内で構成され、Ｄラッチ１５ａの出力端子Ｑに接続された入力端子Ｄ、インターフェースクロック信号ｃｌｋ＿ＩＦが入力されるクロック信号入力端子ＣＫ、及び出力端子Ｑを有する第３フリップフロップ１７ａを有している。第３フリップフロップ１７ａは、Ｄフリップフロップで構成されている。第３フリップフロップ１７ａは、入力端子Ｄに入力されるデータ信号ｄａｔａ＿２を、クロック信号入力端子ＣＫに入力されるインターフェースクロック信号ｃｌｋ＿ＩＦの立下りに同期してサンプルし、データ出力信号ｏｕｔｄａｔａが出力される。データ出力信号ｏｕｔｄａｔａはＩＣの外部に設けられた中央演算処理装置（Central Processing Unit：ＣＰＵ）などで読み出される。
【００２４】
（データバッファ回路１の動作）
次に、本実施形態によるデータバッファ回路１の動作について図１を参照しつつ図２及び図３を用いて説明する。図２は、読出データのセットアップ時間が最小の値となる場合のデータバッファ回路１の動作を示すタイミングチャートである。図２中に示す「状態」は、データ保持回路１５がデータ信号を保持している状態か否かを示している。「データ保護解除状態」は、データ保持回路１５がデータを保持せずに入力端子Ｄから入力されるデータ信号ｄａｔａ＿１をデータ信号ｄａｔａ＿２として出力端子Ｑから出力している状態の期間を示している。「データ（Ｎ＋２）保護状態」は、データ保持回路１５がデータ値が「Ｎ＋２」のデータ信号を保持している状態の期間を示している。
【００２５】
また、図２中に示す「ｃｌｋ＿ＣＯＲＥ」は動作クロック信号ｃｌｋ＿ＣＯＲＥを示し、「ｃｌｋ＿ＩＦ」はインターフェースクロック信号ｃｌｋ＿ＩＦを示し、「ｈｏｌｄ＿ｐｒｅ＿Ｎ」は内部インターフェース部９０で生成され内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎを示し、「ｈｏｌｄ＿ＩＦ＿Ｎ」は第１フリップフロップ１１ａの出力端子Ｑから出力されるデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを示している。また、図２中に示す「ｑ＿１３」は、第２フリップフロップ１３ａの出力端子Ｑから出力される出力信号ｑ＿１３を示し、「ｈｏｌｄ＿ＣＯＲＥ＿Ｎ」はＤラッチ１５ａの制御信号入力端子Ｇに入力されるデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎを示している。また、「ｄａｔａ＿１」、「ｄａｔａ＿２」、「ｏｕｔｄａｔａ」及び「ＯＵＴ＿ＩＦ」では、長方形枠内にデータの値を図示することにより、各データの値、すなわち各データの波形が変更されていることが表されている。
【００２６】
また、図２中に示す「ｄａｔａ＿１」はＤラッチ１５ａの入力端子Ｄに入力されるデータ信号ｄａｔａ＿１を示し、「ｄａｔａ＿２」はＤラッチ１５ａの出力端子Ｑから出力されるデータ信号ｄａｔａ＿２を示し、「ｏｕｔｄａｔａ」は第３フリップフロップ１７ａの出力端子Ｑから出力されるデータ出力信号ｏｕｔｄａｔａを示し、「ＯＵＴ＿ＩＦ」は内部インターフェース部９０からＩＣの外部に読み出される読出データＯＵＴ＿ＩＦを示している。図２中、左から右に向かって時の経過が表されている。
【００２７】
図２に示すように、時刻ｔ１に到達するまでの期間において、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｈ”であると、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎも“Ｈ”となる。これにより、データ保持回路１５は、Ｄラッチ１５ａの入力端子Ｄに入力されているデータ信号ｄａｔａ＿１を取り込む。Ｄラッチ１５ａがデータ信号ｄａｔａ＿１を取り込む期間は、データ保持回路１５の状態がデータ保護解除状態の期間となる。データ保護解除状態の期間では、データ保持回路１５から出力されるデータ信号ｄａｔａ＿２は、Ｄラッチ１５ａの入力端子Ｄに入力されるデータ信号ｄａｔａ＿１と同じデータ値となり、データ受信回路１７に伝達される。
【００２８】
第３フリップフロップ１７ａから出力されるデータ出力信号ｏｕｔｄａｔａがＩＣの外部に読み出される場合には、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｌ”に切り替えられる。図２に示すように、例えば、時刻ｔ１において、第１フリップフロップ１１ａの入力端子Ｄに入力される内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”から“Ｌ”に切り替わる。内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎは、インターフェースクロック信号ｃｌｋ＿ＩＦの立下りに同期して信号レベルが高レベルから低レベルに切り替わる。
【００２９】
時刻ｔ２において、インターフェースクロック信号ｃｌｋ＿ＩＦは、時刻ｔ１の後に初めて立ち上がる。時刻ｔ２では、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｌ”であるため、第１フリップフロップ１１ａは、時刻ｔ２におけるインターフェースクロック信号ｃｌｋ＿ＩＦの立ち上がりに同期して“Ｌ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを出力端子Ｑから出力する。第１フリップフロップ１１ａから“Ｌ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが第２フリップフロップ１３ａ及び後段フリップフロップ１３ｂのそれぞれの非同期セット端子Ｓに入力されると、第２フリップフロップ１３ａ及び後段フリップフロップ１３ｂは、プリセット状態が解除される。
【００３０】
時刻ｔ３において、動作クロック信号ｃｌｋ＿ＣＯＲＥは、時刻ｔ２の後に初めて立ち上がる。時刻ｔ３では、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｌ”であって、第２フリップフロップ１３ａは、プリセット状態が解除されている。このため、第２フリップフロップ１３ａは、時刻ｔ３における動作クロック信号ｃｌｋ＿ＣＯＲＥの立ち上がりに同期して、入力端子Ｄに入力される“Ｌ”をサンプルし、後段フリップフロップ１３ｂの入力端子Ｄに出力する。
【００３１】
時刻ｔ４において、動作クロック信号ｃｌｋ＿ＣＯＲＥは、時刻ｔ３の後に初めて立ち下がる。時刻ｔ４では、出力信号ｑ＿１３ａが“Ｌ”であって、後段フリップフロップ１３ｂは、プリセット状態が解除されている。このため、後段フリップフロップ１３ｂは、時刻ｔ４における動作クロック信号ｃｌｋ＿ＣＯＲＥの立下りに同期して、入力端子Ｄに入力される“Ｌ”の出力信号“Ｌ”のｑ＿１３ａをサンプルし、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎとして出力端子ＱからＤラッチ１５ａの制御信号入力端子Ｇに出力する。
【００３２】
時刻ｔ４において、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｈ”から“Ｌ”に切り替わるため、Ｄラッチ１５ａは、時刻ｔ４において入力端子Ｄから入力されたデータ信号ｄａｔａ＿１（データ値は「Ｎ＋２」）を保持する。データ保持回路１５は、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｌ”の期間（データ保護状態の期間）中にデータ信号ｄａｔａ＿１のデータ値が更新されても、更新されたデータ信号ｄａｔａ＿１を取り込まない。データ保持回路１５は、この期間中では、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎの信号レベルが“Ｌ”となる直前に取り込んだデータ信号ｄａｔａ＿１（データ値は「Ｎ＋２」）を保持する。Ｄラッチ１５ａは、保持しているデータ信号ｄａｔａ＿１をデータ信号ｄａｔａ＿２（データ値は「Ｎ＋２」）として出力端子Ｑから第３フリップフロップ１７ａの入力端子Ｄに出力する。
【００３３】
時刻ｔ５において、インターフェースクロック信号ｃｌｋ＿ＩＦは、時刻ｔ４の後に初めて立ち下がる。データ受信回路１７は時刻ｔ５におけるインターフェースクロック信号ｃｌｋ＿ＩＦの立ち下がりに同期してｄａｔａ＿２（データ値は「Ｎ＋２」）をサンプルし、データ出力信号ｏｕｔｄａｔａ（データ値は「Ｎ＋２）が出力される。これに基づいて読出データＯＵＴ＿ＩＦ（データ値は「Ｎ＋２」）としてＩＣの外部での読み出しが開始される。
【００３４】
時刻ｔ６において、ＩＣの外部でのデータ読み出しが完了すると、インターフェースクロック信号ｃｌｋ＿ＩＦの立下りに同期して内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”になる。
時刻ｔ７において、ＩＣ外部でのデータ読み出しが完了すると、インターフェースクロック信号ｃｌｋ＿ＩＦは、時刻ｔ７の後に初めて立ち上がる。時刻ｔ７では、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”であるため、第１フリップフロップ１１ａは、時刻ｔ７におけるインターフェースクロック信号ｃｌｋ＿ＩＦの立ち上がりに同期して“Ｈ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを出力端子Ｑから出力する。“Ｈ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが第２フリップフロップ１３ａ及び後段フリップフロップ１３ｂのそれぞれの非同期セット端子Ｓに入力されると、第２フリップフロップ１３ａ及び後段フリップフロップ１３ｂは、プリセット状態となる。これにより、第２フリップフロップ１３ａ及び後段フリップフロップ１３ｂは、それぞれの入力端子Ｄに入力される信号によらず “Ｈ”の信号を出力端子Ｑから出力する。このため、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎは、動作クロック信号ｃｌｋ＿ＣＯＲＥとは非同期に“Ｈ”となる。その結果、データ保持回路１５に設けられたＤラッチ１５ａは、入力端子Ｄに入力されたデータ信号ｄａｔａ＿１を保持せずにデータ信号ｄａｔａ＿２として出力端子Ｑから出力するデータスルー状態となる。これにより、Ｄラッチ１５ａが出力するデータ信号ｄａｔａ＿２の値は、入力されるデータ信号ｄａｔａ＿１と同じ「Ｎ＋３」となる。
【００３５】
次に、データバッファ回路１の他の動作について図３を用いて説明する。図３は、動作クロック信号ｃｌｋ＿ＣＯＲＥの出力が一時期停止する場合のデータバッファ回路１の動作のタイミングチャートである。図３中に示す「ｃｌｋ＿ＣＯＲＥ」、「ｃｌｋ＿ＩＦ」、「ｈｏｌｄ＿ｐｒｅ＿Ｎ」、「ｈｏｌｄ＿ＩＦ＿Ｎ」、「ｈｏｌｄ＿ＣＯＲＥ＿Ｎ」、「ｄａｔａ＿１」、「ｄａｔａ＿２」、「ｏｕｔｄａｔａ」及び「ＯＵＴ＿ＩＦ」は、図２中に示す「ｃｌｋ＿ＣＯＲＥ」、「ｃｌｋ＿ＩＦ」、「ｈｏｌｄ＿ｐｒｅ＿Ｎ」、「ｈｏｌｄ＿ＩＦ＿Ｎ」、「ｈｏｌｄ＿ＣＯＲＥ＿Ｎ」、「ｄａｔａ＿１」、「ｄａｔａ＿２」、「ｏｕｔｄａｔａ」及び「ＯＵＴ＿ＩＦ」と同内容を示しているため、説明は省略する。図３中に示す「保護」は、データ保護状態を示している。ｃｌｋ＿ＣＯＲＥ」及び「ｃｌｋ＿ＩＦ」の波形に表された複数の直線の束は、それぞれのクロック信号が出力されている期間を表している。また、「ｄａｔａ＿１」、「ｄａｔａ＿２」、「ｏｕｔｄａｔａ」及び「ＯＵＴ＿ＩＦ」では、長方形枠内にデータの値を図示することにより、各データの値、すなわち各データの波形が変更されていることが表されている。また、「ＯＵＴ＿ＩＦ」では、各読出データにおいて「ＤＡＴＡ＿」の文字の記載が省略されている。また、理解を容易にするため、「ｈｏｌｄ＿ｐｒｅ＿Ｎ」、「ｈｏｌｄ＿ＩＦ＿Ｎ」及び「ｈｏｌｄ＿ＣＯＲＥ＿Ｎ」の波形は、実際よりも時間のずれが誇張して表されている。なお、図３中、左から右に向かって時の経過が表されている。
【００３６】
時刻ｔ１において、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”から“Ｌ”に切り替わることに基づいて、時刻ｔ２において、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｈ”から“Ｌ”に切り替わる。これにより、データバッファ回路１の状態は、データ保護解除状態からデータ保護状態に遷移する。
【００３７】
時刻ｔ３において、インターフェースクロック信号ｃｌｋ＿ＩＦは、時刻ｔ２の後に初めて立ち下がる。内部インターフェース部９０内のデータ受信回路１７がインターフェースクロック信号ｃｌｋ＿ＩＦの立ち下がりに同期してｄａｔａ＿２（データ値は「Ｎ＋１」）をサンプルし、これに基づいて読出データＯＵＴ＿ＩＦとしてＩＣの外部での読み出しが開始される。
【００３８】
時刻ｔ４において、ＩＣの外部でのデータ読み出しが完了すると、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”になる。また、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”になることに基づいて、時刻ｔ５において、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが動作クロック信号ｃｌｋ＿ＣＯＲＥとは非同期に“Ｈ”となる。これにより、ｄａｔａ＿２はｄａｔａ＿１のデータ（データ値は「Ｎ＋２」）を取り込む。データバッファ回路１の状態はデータ保護状態からデータ保護解除状態に遷移する。
【００３９】
時刻ｔ６から時刻ｔ１０においても、時刻ｔ１から時刻ｔ５と同様に動作する。時刻ｔ７においてデータバッファ回路１の状態がデータ保護解除状態からデータ保護状態に遷移した際に、Ｄラッチ１５ａは、データ値が「ＤＡＴＡ＿（ｎ＋２）」のデータ信号ｄａｔａ＿１を保持（ラッチ）し、保持したデータ信号ｄａｔａ＿１をデータ信号ｄａｔａ＿２としてデータ受信回路１７に出力する。このため、内部インターフェース部９０内のデータ受信回路は、インターフェースクロック信号ｃｌｋ＿ＩＦの立下りに同期してデータ値が「ＤＡＴＡ＿（ｎ＋２）」のデータ信号ｄａｔａ＿２をサンプルし、時刻ｔ８において、読出データＯＵＴ＿ＩＦとしてＩＣの外部に読み出しが開始される。その後の時刻ｔ９において、ＩＣの外部でのデータ読み出しが完了すると、ｃｌｋ＿ＩＦの立ち下がりに同期して内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”になる。
【００４０】
内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”になることに基づいて、時刻ｔ１０において、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが動作クロック信号ｃｌｋ＿ＣＯＲＥとは非同期に“Ｈ”となる。つまり、動作クロック信号ｃｌｋ＿ＣＯＲＥが停止中であっても、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎはデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｈ”になることに基づいて“Ｈ”になる。これにより、データバッファ回路１の状態はデータ保護状態からデータ保護解除状態に遷移する。このように、データバッファ回路１の状態は、動作クロック信号ｃｌｋ＿ＣＯＲＥが停止中であってもデータ保持回路１５のデータ保持状態を解除することができる。データ保持回路１５に入力されるデータ信号ｄａｔａ＿１のデータ値は、時刻ｔ８と時刻ｔ９の間の一の時刻で「ＤＡＴＡ＿（ｎ＋２）」から「ＤＡＴＡ＿（ｎ＋３）」に変更されている。このため、時刻ｔ１０においてデータバッファ回路１の状態がデータ保護状態からデータ保護解除状態に遷移することに基づいて、データ保持回路１５に設けられたＤラッチ１５ａは、ｄａｔａ＿１（データ値は「ＤＡＴＡ＿（ｎ＋３）」）を取り込み、データ信号ｄａｔａ＿２をデータ受信回路１７に出力する。内部インターフェース部９０内にあるデータ受信回路１７に設けられた第３フリップフロップ１７ａは、時刻ｔ１０の直後のインターフェースクロック信号ｃｌｋ＿ＩＦの立ち下がりに同期してデータ信号ｄａｔａ＿２（データ値は「ＤＡＴＡ＿（ｎ＋３）」）をサンプルし、データ出力信号ｏｕｔｄａｔａとして出力する。
【００４１】
図３に示すように、時刻ｔ１１から時刻ｔ１３の間は、時刻ｔ８から時刻ｔ９の間の一の時刻においてすでに開始されて継続されている動作クロック信号ｃｌｋ＿ＣＯＲＥの停止期間となっている。このため、時刻ｔ１１において、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”から“Ｌ”に切り替わってもり、その後にデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｈ”から“Ｌ”に切り替わっても、動作クロック信号ｃｌｋ＿ＣＯＲＥが第２フリップフロップ１３ａ及び後段フリップフロップ１３ｂのそれぞれのクロック信号入力端子ＣＫに入力されない。このため、第２フリップフロップ１３ａが入力端子Ｄに入力される“Ｌ”をサンプルできないため、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎは“Ｈ”のままである。これにより、データバッファ回路１の状態はデータ保護状態に遷移せずにデータ保護解除状態のままである。このため、データ受信回路１７は、データ保持回路１５に入力されるデータ信号ｄａｔａ＿１をデータ出力信号ｏｕｔｄａｔａとして出力する。
【００４２】
図３に示すタイミングチャートでは、ＩＣ外部にデータ信号が読み出される時刻ｔ１２から時刻ｔ１３の期間において、ｄａｔａ＿１は「ＤＡＴＡ＿（ｎ＋３）」であるので、内部インターフェース部９０内のデータ受信回路１７には、ｄａｔａ＿２（データ値は「ＤＡＴＡ＿（ｎ＋３）」）が入力されている。
【００４３】
（効果）
以上説明したように、本実施形態によるデータバッファ回路１は、非同期信号同期化回路１３に設けられた第２フリップフロップ１３ａと、後段フリップフロップ１３ｂとを有している。第２フリップフロップ１３ａは、動作クロック信号ｃｌｋ＿ＣＯＲＥの立ち上がりに同期して入力端子Ｄに入力する信号をサンプルする。一方、後段フリップフロップ１３ｂは、動作クロック信号ｃｌｋ＿ＣＯＲＥの立下り同期して入力端子Ｄに入力する信号をサンプルする。これにより、非同期信号同期化回路１３は、一般的な非同期信号同期化回路（詳細は後述）と比べて、非同期入力信号の同期化に要する時間を短くすることが可能になる。
【００４４】
データＯＵＴ＿ｄａｔａの読出しは、第１フリップフロップ１１ａが内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎをインターフェースクロック信号ｃｌｋ＿ＩＦの立ち上がりに同期してサンプルした直後のインターフェースクロック信号ｃｌｋ＿ＩＦの立下りに同期してデータ受信回路１７がｄａｔａ＿２をサンプルし、ｏｕｔｄａｔａとして出力することに基づいて開始される。このため、図２に示すように、データＯＵＴ＿ｄａｔａを読み出すためのセットアップ時間は、インターフェースクロック信号ｃｌｋ＿ＩＦの周波数と、Ｄラッチがデータの保持を開始するまでに入力される動作クロック信号ｃｌｋ＿ＣＯＲＥのパルス数と、動作クロック信号ｃｌｋ＿ＣＯＲＥの周波数とで決定される。インターフェースクロック信号ｃｌｋ＿ＩＦの一周期の時間を「Ｔｉｆ＿ｃ」とし、動作クロック信号ｃｌｋ＿ＣＯＲＥの一周期の時間を「Ｔｃｏｒｅ＿ｃ」とすると、データバッファ回路１によるデータｏｕｔｄａｔａのセットアップ時間が最小の値（以下、読出データのセットアップ時間が最小の値を「最小セットアップ時間Ｔｓｅｔｕｐ＿ｍｉｎ」と称する場合がある）は、以下の式（１）のように表すことができる。
Ｔｓｅｔｕｐ＿ｍｉｎ＝（０．５×Ｔｉｆ＿ｃ）−（１．５×Ｔｃｏｒｅ＿ｃ）
・・・（１）
【００４５】
非同期信号同期化回路１３は、データ読出しのためのデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｌ”に切り替わってからデータ保持回路におけるデータの保持が開始されるまで（データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎの立下りまで）に入力される動作クロック信号ｃｌｋ＿ＣＯＲＥのパルス数を、後述する一般的なデータバッファ回路よりも低減できる。このため、データバッファ回路１は、一般的な非同期信号同期化回路で構成されたデータバッファ回路よりも、高速のインターフェースクロック信号を用いても一般的なデータバッファ回路と同等のセットアップ時間を確保することができる。
【００４６】
非同期信号同期化回路１３は、少なくとも後段フリップフロップ１３ｂの非同期セット端子Ｓに“Ｈ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを入力することにより、動作クロック信号ｃｌｋ＿ＣＯＲＥが停止しているか否かに関わらず、“Ｈ”のデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎをデータ保持回路１５に出力できる。このため、図３を用いて説明したように、データバッファ回路１は、動作クロック信号ｃｌｋ＿ＣＯＲＥとは非同期にデータ保持状態を解除することができる。これにより、データバッファ回路１では、動作クロック信号ｃｌｋ＿ＣＯＲＥの停止期間にもｄａｔａ＿２のデータ値を更新し、データ受信回路でサンプルしてＩＣ外部で読み出すことができる。したがって、データバッファ回路１は、動作クロック信号ｃｌｋ＿ＣＯＲＥを間欠動作させることができるので、一般的なデータバッファ回路よりも低消費電流化を図ることができる。
【００４７】
（一般的なデータバッファ回路の構成）
次に、比較例としての一般的なデータバッファ回路について図４から図６を用いて説明する。まず、一般的なデータバッファ回路１０１の概略構成について図４を用いて説明する。図４は、データバッファ回路１０１の概略構成を示す回路ブロック図である。
【００４８】
図４に示すように、データバッファ回路１０１は、データストローブ信号生成回路１１１と、非同期信号同期化回路１１３と、データ保持回路１１５と、データ受信回路１１７とを備えている。また、データバッファ回路１０１は、データ保持回路１１５及びデータ受信回路１１７を有する内部インターフェース部９００を備えている。
【００４９】
データストローブ信号生成回路１１１は、内部インターフェース部９００内で構成され、第１フリップフロップ１１１ａを有している。第１フリップフロップ１１１ａは、内部インターフェース部９００で生成された内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが入力される入力端子Ｄと、インターフェースクロック信号ｃｌｋ＿ＩＦが入力されるクロック信号入力端子ＣＫと、出力端子Ｑとを有している。出力端子Ｑは、インターフェースクロック信号ｃｌｋ＿ＩＦに同期したデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを出力する。第１フリップフロップ１１１ａの出力端子Ｑから出力されるデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎは、非同期信号同期化回路１１３に入力される。なお、本比較例では、データストローブ信号生成回路１１１をフリップフロップで構成しているが、データストローブ信号生成回路１１１の構成はフリップフロップに限定しない。
【００５０】
非同期信号同期化回路１１３は、第２フリップフロップ１１３ａと、第３フリップフロップ１１３ｂとを有している。第２フリップフロップ１１３ａは、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが入力される入力端子Ｄと、インターフェースクロック信号ｃｌｋ＿ＩＦよりも周波数が高い動作クロック信号ｃｌｋ＿ＣＯＲＥが入力されるクロック信号入力端子ＣＫと、出力端子Ｑとを有している。第２フリップフロップ１１３ａの出力端子Ｑは、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを、動作クロック信号ｃｌｋ＿ＣＯＲＥの立上りに同期してサンプルし、出力信号ｑ＿１１３ａを出力する。第３フリップフロップ１１３ｂは、出力信号ｑ＿１１３ａが入力される入力端子Ｄと、第２フリップフロップ１１３ａのクロック信号入力端子ＣＫに接続されて動作クロック信号ｃｌｋ＿ＣＯＲＥが入力されるクロック信号入力端子ＣＫと、出力端子Ｑとを有している。第３フリップフロップ１１３ｂの出力端子Ｑは、出力信号ｑ＿１１３ａを、動作クロック信号ｃｌｋ＿ＣＯＲＥの立上りに同期してサンプルし、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎを出力する。データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎは、データ保持回路１１５に入力される。
【００５１】
データ保持回路１１５は、セレクタ１１５ａと、セレクタ１１５ａの出力側に設けられた第４フリップフロップ１１５ｂとを有している。セレクタ１１５ａは、データバッファ回路１０１が組み込まれたＩＣに設けられたデータバッファ（不図示）から出力されたデータ信号ｄａｔａ＿１が入力される入力端子ＩＮ１と、第４フリップフロップ１１５ｂから出力されたデータ信号ｄａｔａ＿２が入力される入力端子ＩＮ０と、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが入力される制御信号入力端子（不図示）と、出力端子（不図示）とを有している。セレクタ１１５ａは、制御信号入力端子に入力されたデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎの論理値に応じて入力端子ＩＮ０及び入力端子ＩＮ１のいずれか一方に入力された信号をデータ信号ｏｕｔ＿ＭＵＸとして出力端子から出力するように構成されている。第４フリップフロップ１１５ｂは、データ信号ｏｕｔ＿ＭＵＸが入力される入力端子Ｄと、第２及び第３フリップフロップ１１３ａ，１１３ｂのそれぞれのクロック信号入力端子に接続され動作クロック信号ｃｌｋ＿ＣＯＲＥが入力されるクロック信号入力端子ＣＫと、出力端子Ｑとを有している。第４フリップフロップ１１５ｂの出力端子Ｑは、動作クロック信号ｃｌｋ＿ＣＯＲＥに同期してサンプルしたデータ信号ｏｕｔ＿ＭＵＸをデータ信号ｄａｔａ＿２としてデータ受信回路１１７に出力する。
【００５２】
内部インターフェース部９００内で構成されるデータ受信回路１１７は、第５フリップフロップ１１７ａを有している。第５フリップフロップ１１７ａは、データ信号ｄａｔａ＿２が入力される入力端子Ｄと、第１フリップフロップ１１１ａのクロック信号入力端子ＣＫに接続されインターフェースクロック信号ｃｌｋ＿ＩＦが入力されるクロック信号入力端子ＣＫと、内部インターフェース部９００に接続された出力端子Ｑとを有している。第５フリップフロップ１１７ａの出力端子Ｑは、インターフェースクロック信号ｃｌｋ＿ＩＦでサンプルしたデータ信号ｄａｔａ＿２をデータ出力信号ｏｕｔｄａｔａとして出力する。
【００５３】
（一般的なデータバッファ回路の動作及び問題点）
次に、データバッファ回路１０１の動作及び問題点について図４を参照しつつ図５及び図６を用いて説明する。図５は、データバッファ回路１０１の動作を示すタイミングチャートである。図５中に示す「状態」は、データ保持回路１１５がデータ信号を保持している状態か否かを示している。「データ保護解除状態」は、データ保持回路１１５がデータ信号を保持せずに入力端子Ｄから入力されるデータ信号を動作クロック信号ｃｌｋ＿ＣＯＲＥに同期させて出力端子Ｑから出力している状態の期間を示している。「データ（Ｎ＋２）保護状態」は、データ保持回路１１５がデータ値が「Ｎ＋２」のデータ信号を保持している期間を示している。
【００５４】
また、図５中に示す「ｃｌｋ＿ＩＦ」はインターフェースクロック信号ｃｌｋ＿ＩＦを示し、「ｈｏｌｄ＿ｐｒｅ＿Ｎ」は内部インターフェース部９００で生成された内部信号を示し、「ｈｏｌｄ＿ＩＦ＿Ｎ」は第１フリップフロップ１１１ａの出力端子Ｑから出力されるデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを示している。図５中に示す「ｑ＿１１３ａ」は、第２フリップフロップ１１３ａの出力端子Ｑから出力される出力信号ｑ＿１１３ａを示し、「ｈｏｌｄ＿ＣＯＲＥ＿Ｎ」はセレクタ１１５ａの制御信号入力端子に入力されるデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎを示している。
【００５５】
図５中に示す「ｄａｔａ＿１」はセレクタ１１５ａの入力端子ＩＮ１に入力されるデータ信号ｄａｔａ＿１を示し、「ｏｕｔ＿ＭＵＸ」はセレクタ１１５ａの出力端子から出力されるデータ信号ｏｕｔ＿ＭＵＸを示している。図５中に示す「ｄａｔａ＿２」は第４フリップフロップ１１５ｂの出力端子Ｑから出力されるデータ信号ｄａｔａ＿２を示し、「ｏｕｔｄａｔａ」は第５フリップフロップ１１７ａの出力端子Ｑから出力されるデータ出力信号ｏｕｔｄａｔａを示し、「ＯＵＴ＿ＩＦ」は内部インターフェース部９００からＩＣの外部に読み出される読出データＯＵＴ＿ＩＦを示している。また、「ｄａｔａ＿１」、「ｏｕｔ＿ＭＵＸ」、「ｄａｔａ＿２」、「ｏｕｔｄａｔａ」及び「ＯＵＴ＿ＩＦ」では、長方形枠内にデータの値を図示することにより、各データの値、すなわち各データの波形が変更されていることが表されている。図５中、左から右に向かって時の経過が表されている。
【００５６】
図５に示すように、時刻ｔ１に到達するまでの期間において、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが “Ｈ”であると、出力信号ｑ＿１１３ａも“Ｈ”となり、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎも“Ｈ”となる。その結果、データ保持回路１１５に設けられたセレクタ１１５ａの制御信号入力端子には、“Ｈ”のデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが入力される。これにより、セレクタ１１５ａは、入力端子ＩＮ１に入力されたデータ信号ｄａｔａ＿１（データ値は「Ｎ＋１」）を選択してデータ信号ｏｕｔ＿ＭＵＸとして出力端子から出力する。第４フリップフロップ１１５ｂは、動作クロック信号ｃｌｋ＿ＣＯＲＥの立ち上がりに同期してデータ信号ｏｕｔ＿ＭＵＸ（データ値は「Ｎ＋１」）をサンプルし取り込んだデータ信号ｏｕｔ＿ＭＵＸをデータ信号ｄａｔａ＿２としてデータ受信回路１１７に出力する。データ保持回路１１５が入力されるデータ信号ｄａｔａ＿１をデータ信号ｄａｔａ＿２としてデータ受信回路１１７に出力する期間は、データバッファ回路１０１の状態がデータ保護解除状態となる期間である。
【００５７】
データ受信回路１１７に設けられた第５フリップフロップ１１７ａは、インターフェースクロック信号ｃｌｋ＿ＩＦの立ち下がりに同期してデータ信号ｄａｔａ＿２をサンプルし、出力信号ｏｕｔｄａｔａを出力する。
【００５８】
第５フリップフロップ１１７ａから出力されるデータ信号ｏｕｔｄａｔａがＩＣの外部に読み出される場合には、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｌ”に切り替えられる。図５に示すように、例えば、時刻ｔ１において、インターフェースクロック信号ｃｌｋ＿ＩＦの立ち下がりに同期して第１フリップフロップ１１１ａの入力端子Ｄに入力される内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”から“Ｌ”に切り替わる。
【００５９】
時刻ｔ２において、インターフェースクロック信号ｃｌｋ＿ＩＦは、時刻ｔ１の後に初めて立ち上がる。時刻ｔ２では、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎルが“Ｌ”であるため、第１フリップフロップ１１１ａは、時刻ｔ２におけるインターフェースクロック信号ｃｌｋ＿ＩＦの立ち上がりに同期してこれをサンプルし、“Ｌ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを出力端子Ｑから出力する。出力端子Ｑから出力される“Ｌ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎは、非同期信号同期化回路１１３に設けられた第２フリップフロップ１１３ａに入力される。
【００６０】
また、時刻ｔ３において、データ保持回路１１５に設けられたセレクタ１１５ａの入力端子ＩＮ１に入力されるデータ信号ｄａｔａ＿１のデータ値が「Ｎ＋１」から「Ｎ＋２」に切り替わる。このため、セレクタ１１５ａの出力端子から出力されるデータ信号ｏｕｔ＿ＭＵＸのデータ値も「Ｎ＋１」から「Ｎ＋２」に切り替わる。
【００６１】
時刻ｔ２において、動作クロック信号ｃｌｋ＿ＣＯＲＥは、時刻ｔ２の後に初めて立ち上がる。時刻ｔ３では、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｌ”であるため、非同期信号同期化回路１１３に設けられた第２フリップフロップ１１３ａは、時刻ｔ３における動作クロック信号ｃｌｋ＿ＣＯＲＥの立ち上がりに同期して、“Ｌ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎをサンプルし、“Ｌ”のｑ＿１１３ａを出力する。出力端子Ｑから“Ｌ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎは、非同期信号同期化回路１１３に設けられた第２フリップフロップ１１３ｂに入力される。
【００６２】
また、時刻ｔ３において、第４フリップフロップ１１５ｂは、動作クロック信号ｃｌｋ＿ＣＯＲＥの立ち上がりに同期して入力端子Ｄに入力されるデータ信号ｏｕｔ＿ＭＵＸ（データ値は「Ｎ＋２」）をサンプルする。さらに、第４フリップフロップ１１５ｂは、取り込んだデータ信号ｏｕｔ＿ＭＵＸをデータ信号ｄａｔａ＿２としてデータ受信回路１１７に出力する。このため、時刻ｔ３において、データ信号ｄａｔａ＿２のデータ値は「Ｎ＋１」から「Ｎ＋２」に変更される。
【００６３】
時刻ｔ４において、動作クロック信号ｃｌｋ＿ＣＯＲＥは、時刻ｔ３の後に初めて立ち上がる。時刻ｔ４では、出力信号ｑ＿１１３ａが“Ｌ”であるため、非同期信号同期化回路１１３に設けられた第３フリップフロップ１１３ｂは、時刻ｔ４における動作クロック信号ｃｌｋ＿ＣＯＲＥの立ち上がりに同期してｑ＿１１３ａをサンプルする。さらに、第３フリップフロップ１１３ｂは、取り込んだ出力信号ｑ＿１１３ａを“Ｌ”のデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎとして出力端子Ｑから出力する。第３フリップフロップ１１３ｂの出力端子Ｑから出力された“Ｌ”のデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎは、データ保持回路１１５に設けられたセレクタ１１５ａに入力される。
【００６４】
時刻ｔ４においてセレクタ１１５ａの制御信号入力端子に入力されるデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｌ”になるため、セレクタ１１５ａは、入力端子ＩＮ０に入力されたデータ信号ｄａｔａ＿２を選択するように切り替わり、選択したデータ信号ｄａｔａ＿２をデータ信号ｏｕｔ＿ＭＵＸとして出力端子から出力する。時刻ｔ４におけるデータ信号ｄａｔａ＿２のデータ値は「Ｎ＋２」である。このため、データ保持回路１１５は、時刻ｔ４以降もデータ値が「Ｎ＋２」のデータ信号ｄａｔａ＿２を保持し続ける。さらに、データ保持回路１１５は、動作クロック信号ｃｌｋ＿ＣＯＲＥの立ち上がりに同期させてデータ値が「Ｎ＋２」のデータ信号ｄａｔａ＿２をデータ受信回路１１７に出力し続ける。データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｌ”の期間中は、セレクタ１１５ａの入力端子ＩＮ１に入力されるデータ信号ｄａｔａ＿１のデータ値が異なる値に更新されても、第４フリップフロップ１１５ｂは、更新されたデータ信号ｄａｔａ＿１をサンプルせずにデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｌ”になる直前に取り込んでいるデータ信号をデータ信号ｄａｔａ＿２として保持する。入力されるデータ信号ｄａｔａ＿１が更新されても、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｌ”になる直前にサンプルしたデータ信号を、データ保持回路１１５はデータ信号ｄａｔａ＿２を保持する期間は、データバッファ回路１０１の状態がデータ保護状態となる期間である。
【００６５】
時刻ｔ５において、インターフェースクロック信号ｃｌｋ＿ＩＦは、時刻ｔ４の後に初めて立ち下がる。ＩＣの外部への内部インターフェース部９００からの読出データＯＵＴ＿ＩＦの読出しは、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが低レベルになった直後、すなわちデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｌ”になった後の最初のインターフェースクロック信号ｃｌｋ＿ＩＦの立下りに基づいて開始される。時刻ｔ５において、読出データＯＵＴ＿ＩＦとしてデータ値「Ｎ＋２」のデータがＩＣの外部に読み出される。
【００６６】
時刻ｔ６において、ＩＣの外部でのデータ読み出しが完了すると、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”となる。内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎは、時刻ｔ６の直後のインターフェースクロック信号ｃｌｋ＿ＩＦの立ち上がりに同期して第１フリップフロップ１１１ａにサンプルされる。その後、データバッファ回路１０１は、時刻ｔ２から時刻ｔ４と同様に動作し、時刻ｔ７においてデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｈ”となる。これにより、セレクタ１１５ａは、入力端子ＩＮ１に入力されているデータ信号ｄａｔａ＿１をデータ信号ｏｕｔ＿ＭＵＸとして出力端子から出力するように切り替わる。データ保持回路１１５から出力されるデータ信号ｄａｔａ＿２は、データ信号ｄａｔａ＿１と同じデータ値「Ｎ＋３」となる。これにより、データバッファ回路１０１の状態は、データ保護解除状態となる。
【００６７】
ここで、データバッファ回路１０１の１つ目の問題点について説明する。データバッファ回路１０１は、データｏｕｔ＿ｄａｔａのセットアップ時間の確保に問題がある。図５に示すように、データバッファ回路１０１では、読出データｏｕｔ＿ｄａｔａの読出しは、第１フリップフロップ１１１ａが内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎをインターフェースクロック信号ｃｌｋ＿ＩＦの立ち上がりに同期させて取り込んだ直後のインターフェースクロック信号ｃｌｋ＿ＩＦの立下りでデータｏｕｔ＿ｄａｔａが第５フリップフロップ１１７ａにサンプルされることに基づいて開始される。このため、読出データｏｕｔ＿ｄａｔａのセットアップ時間は、インターフェースクロック信号ｃｌｋ＿ＩＦの周波数と、データ保護が開始されるまでに入力される動作クロック信号ｃｌｋ＿ＣＯＲＥのパルス数と、動作クロック信号ｃｌｋ＿ＣＯＲＥの周波数とで決まる。インターフェースクロック信号ｃｌｋ＿ＩＦの一周期の時間を「Ｔｉｆ＿ｃ」とし、動作クロック信号ｃｌｋ＿ＣＯＲＥの一周期の時間を「Ｔｃｏｒｅ＿ｃ」とすると、データバッファ回路１０１の最小セットアップ時間Ｔｓｅｔｕｐ＿ｍｉｎは、以下の式（２）のように表すことができる。
Ｔｓｅｔｕｐ＿ｍｉｎ＝（０．５×Ｔｉｆ＿ｃ）−（２．０×Ｔｃｏｒｅ＿ｃ）
・・・（２）
【００６８】
このように、比較例としての一般的なデータバッファ回路１０１の最小セットアップ時間Ｔｓｅｔｕｐ＿ｍｉｎは、本実施形態によるデータバッファ回路１の最小セットアップ時間Ｔｓｅｔｕｐ＿ｍｉｎよりも短くなる。このため、データバッファ回路１０１は、インターフェースクロック信号ｃｌｋ＿ＩＦが高速化した場合、又はＩＣの動作クロック信号ｃｌｋ＿ＣＯＲＥが低速化した場合に、ｏｕｔ＿ｄａｔａのセットアップ時間が短くなり、ＩＣ外部に読み出される読出データの確実性を保証することが困難になる。換言すると、本実施形態によるデータバッファ回路１は、一般的なデータバッファ回路１０１よりも最小セットアップ時間Ｔｓｅｔｕｐ＿ｍｉｎが長くなる。このため、データバッファ回路１は、インターフェースクロック信号ｃｌｋ＿ＩＦが高速化した場合やＩＣの動作クロック信号ｃｌｋ＿ＣＯＲＥが低速化した場合であっても一般的なデータバッファ回路１０１と同等のセットアップ時間を確保することができる。
【００６９】
次に、データバッファ回路１０１の２つ目の問題点について図４を参照しつつ図６を用いて説明する。図６は、動作クロック信号ｃｌｋ＿ＣＯＲＥの出力が一時期停止する場合のデータバッファ回路１０１の動作のタイミングチャートである。図６中に示す「ｃｌｋ＿ＣＯＲＥ」、「ｃｌｋ＿ＩＦ」、「ｈｏｌｄ＿ｐｒｅ＿Ｎ」、「ｈｏｌｄ＿ＩＦ＿Ｎ」、「ｈｏｌｄ＿ＣＯＲＥ＿Ｎ」、「ｄａｔａ＿１」、「ｏｕｔ＿ＭＵＸ」、「ｄａｔａ＿２」、「ｏｕｔｄａｔａ」及び「ＯＵＴ＿ＩＦ」は、図５中に示す「ｃｌｋ＿ＣＯＲＥ」、「ｃｌｋ＿ＩＦ」、「ｈｏｌｄ＿ｐｒｅ＿Ｎ」、「ｈｏｌｄ＿ＩＦ＿Ｎ」、「ｈｏｌｄ＿ＣＯＲＥ＿Ｎ」、「ｄａｔａ＿１」、「ｏｕｔ＿ＭＵＸ」、「ｄａｔａ＿２」、「ｏｕｔｄａｔａ」及び「ＯＵＴ＿ＩＦ」と同内容を示しているため、説明は省略する。図６中に示す「保護」は、データ保護状態を示している。「ｃｌｋ＿ＣＯＲＥ」及び「ｃｌｋ＿ＩＦ」の波形に表された複数の直線の束は、それぞれのクロック信号が出力されている期間を表している。また、理解を容易にするため、「ｈｏｌｄ＿ｐｒｅ＿Ｎ」、「ｈｏｌｄ＿ＩＦ＿Ｎ」及び「ｈｏｌｄ＿ＣＯＲＥ＿Ｎ」の波形は、実際よりも時間のずれが誇張して表されている。また、「ｄａｔａ＿１」、「ｏｕｔ＿ＭＵＸ」、「ｄａｔａ＿２」、「ｏｕｔｄａｔａ」及び「ＯＵＴ＿ＩＦ」では、長方形枠内にデータの値を図示することにより、各データの値、すなわち各データの波形が変更されていることが表されている。また、「ＯＵＴ＿ＩＦ」では、各読出データにおいて「ＤＡＴＡ＿」の文字の記載が省略されている。図６中、左から右に向かって時の経過が表されている。
【００７０】
時刻ｔ１において、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”から“Ｌ”に切り替わることに基づいて、時刻ｔ２において、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｈ”から“Ｌ”に切り替わる。これにより、データバッファ回路１０１の状態は、データ保護解除状態からデータ保護状態に遷移する。
【００７１】
内部インターフェース部９００に入力されているデータ信号ｄａｔａ＿２（データ値は「ＤＡＴＡ＿（ｎ＋１）」）は、時刻ｔ２の直後のインターフェースクロック信号ｃｌｋ＿ＩＦの立下りに同期してデータ受信回路にサンプルされ、これに基づいてＩＣの外部での読み出しが開始される。
【００７２】
時刻ｔ３において、ＩＣの外部でのデータ読み出しが完了すると、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”になる。また、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｈ”になることに基づいて、時刻ｔ４において、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが動作クロック信号ｃｌｋ＿ＣＯＲＥの立ち上りに同期して“Ｈ”となる。これにより、データバッファ回路１０１の状態はデータ保護状態からデータ保護解除状態に遷移する。
【００７３】
時刻ｔ５から時刻ｔ７においても、時刻ｔ１から時刻ｔ３と同様に動作する。時刻ｔ６においてデータバッファ回路１０１の状態がデータ保護解除状態からデータ保護状態に遷移した際に、データ受信回路１１７は、データ値が「ＤＡＴＡ＿（ｎ＋２）」のｄａｔａ＿２をサンプルし、データ出力信号ｏｕｔｄａｔａを出力する。これにより、内部インターフェース部９００から読出データＯＵＴ＿ＩＦとしてデータ値が「ＤＡＴＡ＿（ｎ＋２）」のデータがＩＣの外部に読み出される。その後の時刻ｔ７において、ＩＣの外部でのデータ読み出しが完了すると、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”になる。
【００７４】
時刻ｔ８において、動作クロック信号ｃｌｋ＿ＣＯＲＥの動作が停止している。このため、時刻ｔ８において、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”に変化しても、第２フリップフロップ１１３ａはデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎをサンプルすることができない。これにより、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎは、動作クロック信号ｃｌｋ＿ＣＯＲＥが停止する直前の状態の“Ｌ”を保持する。その結果、データバッファ回路１０１の状態は、データ保護状態の解除が不可能となり、データ保護状態が継続される。
【００７５】
データ保持回路１１５に入力されるデータ信号ｄａｔａ＿１のデータ値は、時刻ｔ６と時刻ｔ７との間の一の時刻で「ＤＡＴＡ＿（ｎ＋２）」から「ＤＡＴＡ＿（ｎ＋３）」に変更されている。一方、データバッファ回路１０１の状態は、データ保護状態のままであるため、時刻ｔ８においてもデータ保持回路１１５に設けられたセレクタ１１５ａが出力するデータ信号ｏｕｔ＿ＭＵＸのデータ値は「ＤＡＴＡ＿（ｎ＋２）」のままである。このため、第４フリップフロップ１１５ｂが出力するデータ信号ｄａｔａ＿２のデータ値も「ＤＡＴＡ＿（ｎ＋２）」となり、データ受信回路１１７が出力するデータ出力信号ｏｕｔｄａｔａのデータ値も「ＤＡＴＡ＿（ｎ＋２）」となる。
【００７６】
図６に示すように、時刻ｔ９から時刻ｔ１２の間は、動作クロック信号ｃｌｋ＿ＣＯＲＥの停止期間となっている。このため、時刻ｔ９において、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎの信号レベルがｃｌｋ＿ＩＦの立下りに同期して“Ｈ”から“Ｌ”に切り替わり、ｔ９直後のｃｌｋ＿ＩＦの立下りに同期して、データ受信回路１１７がデータ信号ｄａｔａ＿２をサンプルしてデータ出力信号ｏｕｔｄａｔａを出力する。これに基づいてＩＣ外部においてデータＯＵＴ＿ＩＦの読み出しが開始される。
【００７７】
時刻ｔ１１において、ＩＣの外部でのデータ読み出しが完了すると、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎのが“Ｈ”になり、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｈ”もとなる。
【００７８】
時刻ｔ１１の後に、動作クロック信号ｃｌｋ＿ＣＯＲＥの入力が再開される。この時、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎは“Ｈ”であるため、第２フリップフロップ１１３ａは、“Ｈ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを取り込む。その結果、その後の時刻ｔ１２において、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｈ”となる。
【００７９】
時刻ｔ１２において、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｈ”となると、セレクタ１１５ａは、入力端子ＩＮ１を選択するため、データ値が「ＤＡＴＡ＿（ｎ＋３）」のデータ信号ｏｕｔ＿ＭＵＸを出力する。時刻ｔ１３において、第４フリップフロップ１１５ｂは、動作クロック信号ｃｌｋ＿ＣＯＲＥの立ち上がりに同期してデータ値が「ＤＡＴＡ＿（ｎ＋３）」のデータ信号ｏｕｔ＿ＭＵＸをサンプルし、取り込んだデータ信号ｏｕｔ＿ＭＵＸをデータ信号ｄａｔａ＿２としてデータ受信回路１１７に出力する。
【００８０】
ここで、データバッファ回路１０１の２つ目の問題点について説明する。上述のとおり、データバッファ回路１０１は、ＩＣの外部でのデータ読み出し完了時において、動作クロック信号ｃｌｋ＿ＣＯＲＥが停止していると、データ保護解除状態に遷移できない。このため、この状態においてデータ信号ｄａｔａ＿１のデータ値が更新されても、データバッファ回路１０１は、更新前のデータ値のデータ信号ｄａｔａ＿２を保持し続けている。その結果、動作クロック信号ｃｌｋ＿ＣＯＲＥが動作を開始するまでに、次のデータ読み出しが開始されると、更新されたｄａｔａ＿１と同じデータ値ではなく、既に読み出された更新前のデータ値が再び読み出されてしまう。
【００８１】
このように、データバッファ回路１０１は、動作クロック信号ｃｌｋ＿ＣＯＲＥの間欠動作を実行すると、直近のデータを読み出せない場合がある。また、データバッファ回路１０１では、直近のデータが読み出せないことを防止するために、動作クロック信号ｃｌｋ＿ＣＯＲＥの制御の煩雑化や、設計自由度の低下が生じる。低消費電流化を十分に図ることができない。
【００８２】
これに対し、本実施形態によるデータバッファ回路１は、動作クロック信号ｃｌｋ＿ＣＯＲＥとは非同期でデータ保護状態とデータ保護解除状態とを遷移することができる。これにより、データバッファ回路１は、データ信号ｄａｔａ＿１の更新に追随して読出データＯＵＴ＿ＩＦを更新できるので、動作クロック信号ｃｌｋ＿ＣＯＲＥが停止中であっても直近のデータを読み出すことができる。さらに、データバッファ回路１は、動作クロック信号ｃｌｋ＿ＣＯＲＥの停止タイミングの自由度が向上するので、この停止タイミングの制御の簡略化や、設計自由度の向上を実現できる。さらに低消費電流化を図ることができる。
【００８３】
〔第２実施形態〕
（データバッファ回路の構成）
次に、本発明の第２実施形態によるデータバッファ回路について図７から図９を用いて説明する。まず、本実施形態によるデータバッファ回路３の概略構成について図７を用いて説明する。図７は、本実施形態によるデータバッファ回路３の概略構成を示す回路ブロック図である。なお、上記第１実施形態によるデータバッファ回路１と同様の機能・作用を奏する構成要素には、同一の符号を付して説明は省略する。データバッファ回路３は、例えばＩＣの内部に組み込まれている複数の機能ブロックのうちの１つである。
【００８４】
図７に示すように、データバッファ回路３は、外部インターフェース部（外部回路の一例）内（不図示）で生成された内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎをインターフェースクロック信号（第１クロック信号の一例）ｃｌｋ＿ＩＦで同期化したデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎ（データストローブ信号の一例）を生成するデータストローブ信号生成回路１１を備えている。外部インターフェース部は、データバッファ回路３が設けられたＩＣに組み込まれている複数の機能ブロックのうちの１つである。外部インターフェース部は、ＩＣに組み込まれている複数の機能ブロックのうちのデータバッファ回路３とは異なる機能ブロックである。外部インターフェース部は、ＩＣの内部とＩＣの外部との間でデータの送受信を行うために設けられている入出力部である。
【００８５】
また、データバッファ回路３は、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを、インターフェースクロック信号ｃｌｋ＿ＩＦよりも周波数が高い動作クロック信号（第２クロック信号の一例）ｃｌｋ＿ＣＯＲＥで同期化する非同期信号同期化回路３３を備えている。
【００８６】
また、データバッファ回路３は、動作クロック信号ｃｌｋ＿ＣＯＲＥに同期したデータ信号ｄａｔａ＿１が入力される入力端子Ｄ、及び非同期信号同期化回路３３の出力信号であるデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが入力される制御信号入力端子Ｇを有するＤラッチ１５ａを有するデータ保持回路１５を備えている。Ｄラッチ１５ａは、出力される信号の種別が制御信号入力端子Ｇに入力される信号の信号レベルに応じて制御される出力端子Ｑを有している。
【００８７】
さらに、データバッファ回路３は、データ保持回路１５から出力されるデータ信号ｄａｔａ＿２が入力され、インターフェースクロック信号ｃｌｋ＿ＩＦに同期してサンプルし、データ出力信号ｏｕｔｄａｔａを出力するデータ受信回路１７を備えている。データ受信回路１７は、データ信号ｄａｔａ＿２をインターフェースクロック信号ｃｌｋ＿ＩＦで同期化したデータ出力信号ｏｕｔｄａｔａを外部インターフェース部に出力する。
【００８８】
データバッファ回路３は、データストローブ信号生成回路１１及びデータ受信回路１７を有する内部インターフェース部（インターフェース部の一例）９０を備えている。内部インターフェース部９０は、データバッファ回路３を構成する構成要素であり、上述の外部インターフェース部とは異なる構成要素である。
【００８９】
ここで、データバッファ回路３を構成する非同期信号同期化回路３３の具体的な構成について説明する。なお、データストローブ信号生成回路１１、データ保持回路１５及びデータ受信回路１７の具体的な構成は、上記第１実施形態によるデータバッファ回路１に備えられたデータストローブ信号生成回路１１、データ保持回路１５及びデータ受信回路１７と同一であるため、説明は省略する。
【００９０】
内部インターフェース部９０は、外部インターフェース部に接続されたデータストローブ信号生成回路１１の入力端子（第１外部接続端子の一例）Ｄ及びデータ受信回路１７の出力端子（第２外部接続端子の一例）Ｑを有している。また、内部インターフェース部９０は、インターフェースクロック信号（第１クロック信号の一例）ｃｌｋ＿ＩＦが入力されるデータストローブ信号生成回路１１及びデータ受信回路１７のクロック信号入力端子ＣＫを有している。また、内部インターフェース部９０は、データストローブ信号生成回路１１のクロック信号入力端子ＣＫに入力されるインターフェースクロック信号ｃｌｋ＿ＩＦに同期させてデータストローブ信号生成回路１１の入力端子Ｑに入力される信号が出力されるデータストローブ信号生成回路１１の出力端子Ｑを有している。さらに、内部インターフェース部９０は、入力信号が入力されるデータ受信回路１７の入力端子Ｄを有している。
【００９１】
本実施形態では、内部インターフェース部９０に設けられたデータストローブ信号生成回路１１は第１フリップフロップ１１ａを有しているが、これに限られない。データストローブ信号生成回路１１は、入力されるインターフェースクロック信号（本実施形態ではインターフェースクロック信号ｃｌｋ＿ＩＦ）に同期させて入力される信号（本実施形態では内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎ）を出力できれば、フリップフロップ以外の回路を有していてもよい。
【００９２】
非同期信号同期化回路３３は、第２フリップフロップ３３ａと論理演算回路３３０とを有している。論理演算回路３３０には、ＡＮＤゲート（論理積回路の一例）３３ｂ及びＯＲゲート（論理和回路の一例）３３ｃとが含まれている。第２フリップフロップ３３ａは、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが入力される非同期セット端子Ｓと、“Ｌ”が入力される入力端子Ｄとを有している。論理演算回路３３０は、第２フリップフロップ３３ａから出力される出力信号と動作クロック信号ｃｌｋ＿ＣＯＲＥとに基づいて論理演算して得られた演算信号としてのデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎをデータ保持回路１５へ出力する。
【００９３】
すなわち、非同期信号同期化回路３３は、第２フリップフロップ３３ａと、第２フリップフロップ３３ａの後段側に設けられたＡＮＤゲート３３ｂ及びＯＲゲート３３ｃとを有している。
第２フリップフロップ３３ａは、Ｄフリップフロップで構成されている。第２フリップフロップ３３ａは、第１フリップフロップ１１ａの出力端子Ｑに接続された非同期セット端子Ｓ、“Ｌ”の信号が入力される入力端子Ｄ、動作クロック信号ｃｌｋ＿ＣＯＲＥが入力されるクロック信号入力端子ＣＫ、及び出力端子Ｑを有している。本実施形態では、第２フリップフロップ３３ａの入力端子Ｄは、基準電位（例えばグランド）に接続されてプルダウンされているが、低レベルの一定電位を出力する所定の回路の出力端子に接続されていてもよい。
【００９４】
第２フリップフロップ３３ａは、非同期セット端子Ｓに入力されるデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｈ”の場合には、プリセットされて入力端子Ｄに入力される信号によらずに“Ｈ”の出力信号ｑ＿３３ａを出力端子Ｑから出力する。一方、第２フリップフロップ３３ａは、非同期セット端子Ｓに入力されるデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｌ”の場合には、プリセット状態が解除されて、クロック信号入力端子ＣＫに入力される動作クロック信号ｃｌｋ＿ＣＯＲＥの立下りに同期して入力端子Ｄの“Ｌ”をサンプルして“Ｌ”の出力信号ｑ＿３３ａをＡＮＤゲート３３ｂに出力する。
【００９５】
ＡＮＤゲート３３ｂは、第２フリップフロップ３３ａの出力端子Ｑに接続された第１入力端子Ｉｂ１、第２フリップフロップ３３ａのクロック信号入力端子ＣＫに接続された第２入力端子Ｉｂ２、及び第１入力端子Ｉｂ１に入力される信号と第２入力端子Ｉｂ２に入力される信号との論理積により得られる演算信号ｏ＿３３ｂが出力される出力端子Ｏｂを有している。ＡＮＤゲート３３ｂは、第１入力端子Ｉｂ１に入力される出力信号ｑ＿３３ａと第２入力端子Ｉｂ２に入力される動作クロック信号ｃｌｋ＿ＣＯＲＥとの論理積演算を実行して演算信号ｏ＿３３ｂを生成する。ＡＮＤゲート３３ｂは、生成した演算信号ｏ＿３３ｂＤを出力端子Ｏｂから出力する。
【００９６】
ＯＲゲート３３ｃは、第１フリップフロップ１１ａの出力端子Ｑに接続された第１入力端子Ｉｃ１、ＡＮＤゲート３３ｂの出力端子Ｏｂに接続された第２入力端子Ｉｃ２、及び第１入力端子Ｉｃ１に入力される信号と第２入力端子Ｉｃ２に入力される信号との論理和により得られる演算信号が出力される出力端子Ｏｃを有している。出力端子Ｏｃは制御信号入力端子Ｇに接続されている。ＯＲゲート３３ｃは、第１入力端子Ｉｃ１に入力されるデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎと第２入力端子Ｉｃ２に入力される演算信号ｏ＿３３ｂとの論理和演算を実行してデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎを生成する。ＯＲゲート３３ｃで生成されたデータストローブ信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎは、出力端子Ｏｃから出力されてデータ保持回路１５に設けられたＤラッチ１５ａの制御信号入力端子Ｇに入力される。
【００９７】
（データバッファ回路３の動作）
次に、本実施形態によるデータバッファ回路３の動作について図７を参照しつつ図８及び図９を用いて説明する。図８は、読出データのセットアップ時間が最小セットアップ時間Ｔｓｅｔｕｐ＿ｍｉｎとなる場合のデータバッファ回路３の動作を示すタイミングチャートである。図８中に示す「状態」は、データ保持回路１５がデータ信号を保持している状態か否かを示している。「データ保護解除状態」は、データ保持回路１５がデータを保持せずに入力端子Ｄから入力されるデータ信号ｄａｔａ＿１をデータ信号ｄａｔａ＿２として出力端子Ｑから出力している状態の期間を示している。「データ（ＤＡＴＡ＿２）保護状態」は、データ保持回路１５が「ＤＡＴＡ＿２」のデータ値のデータ信号を保持している状態の期間を示している。
【００９８】
また、図８中に示す「ｃｌｋ＿ＣＯＲＥ」は動作クロック信号を示し、「ｃｌｋ＿ＩＦ」はインターフェースクロック信号ｃｌｋ＿ＩＦを示し、「ｈｏｌｄ＿ｐｒｅ＿Ｎ」は内部インターフェース部９０で生成された内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎを示し「ｈｏｌｄ＿ＩＦ＿Ｎ」は第１フリップフロップ１１ａの出力端子Ｑから出力されるデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを示している。図８中に示す「ｑ＿３３ａ」は、第２フリップフロップ３３ａの出力端子Ｑから出力される出力信号ｑ＿３３ａを示し、「ｏ＿３３ｂ」はＡＮＤゲート３３ｂの出力端子Ｏｂから出力される演算信号ｏ＿３３ｂを示し、「ｈｏｌｄ＿ＣＯＲＥ＿Ｎ」はＤラッチ１５ａの制御信号入力端子Ｇに入力されるデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎを示している。
【００９９】
図８中に示す「ｄａｔａ＿１」はＤラッチ１５ａの入力端子Ｄに入力されるデータ信号ｄａｔａ＿１を示し、「ｄａｔａ＿２」はＤラッチ１５ａの出力端子Ｑから出力されるデータ信号ｄａｔａ＿２を示し、「ｏｕｔｄａｔａ」は第３フリップフロップ１７ａの出力端子Ｑから出力されるデータ出力信号ｏｕｔｄａｔａを示し、「ＯＵＴ＿ＩＦ」は内部インターフェース部９０からＩＣの外部に読み出される読出データＯＵＴ＿ＩＦを示している。また、「ｄａｔａ＿１」、「ｄａｔａ＿２」、「ｏｕｔｄａｔａ」及び「ＯＵＴ＿ＩＦ」では、長方形枠内にデータの値を図示することにより、各データの値、すなわち各データの波形が変更されていることが表されている。図８中、左から右に向かって時の経過が表されている。
【０１００】
図８に示すように、時刻ｔ１に到達するまでの期間において、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｈ”であると、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎも“Ｈ”となる。これにより、データ保持回路１５は、Ｄラッチ１５ａの入力端子Ｄに入力されているデータ信号ｄａｔａ＿１を取り込む。Ｄラッチ１５ａがデータ信号ｄａｔａ＿１を取り込む期間は、データバッファ回路３の状態がデータ保護解除状態となる期間である。データ保護解除状態では、データ保持回路１５から出力されるデータ信号ｄａｔａ＿２は、Ｄラッチ１５ａの入力端子Ｄに入力されるデータ信号ｄａｔａ＿１と同じデータ値となり、ｄａｔａ＿２に出力してデータ受信回路１７に伝達される。
【０１０１】
第３フリップフロップ１７ａから出力されるデータ出力信号ｏｕｔｄａｔａがＩＣの外部に読み出される場合には、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｌ”に切り替えられる。図８に示すように、例えば、時刻ｔ１において、第１フリップフロップ１１ａの入力端子Ｄに入力される内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎの信号レベルが高レベルから低レベルに切り替わる。
【０１０２】
時刻ｔ２において、インターフェースクロック信号ｃｌｋ＿ＩＦは、時刻ｔ１の後に初めて立ち上がる。時刻ｔ２では、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｌ”であるため、第１フリップフロップ１１ａは、時刻ｔ２におけるインターフェースクロック信号ｃｌｋ＿ＩＦの立ち上がりに同期させて“Ｌ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを出力端子Ｑから出力する。“Ｌ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが第２フリップフロップ３３ａの非同期セット端子Ｓに入力されると、第２フリップフロップ３３ａは、プリセット状態が解除される。
【０１０３】
時刻ｔ３において、動作クロック信号ｃｌｋ＿ＣＯＲＥは、時刻ｔ２の後に初めて立下がる。時刻ｔ３では、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｌ”であって、第２フリップフロップ３３ａはプリセット状態が解除されている。このため、第２フリップフロップ３３ａは、時刻ｔ３における動作クロック信号ｃｌｋ＿ＣＯＲＥの立下りに同期して、入力端子Ｄの“Ｌ”信号をサンプルする。さらに、第２フリップフロップ３３ａは、サンプルした“Ｌ”を出力信号ｑ＿３３ａとして出力端子ＱからＡＮＤゲート３３ｂの第１入力端子Ｉｂ１に出力する。
【０１０４】
時刻ｔ２において、ＡＮＤゲート３３ｂの第１入力端子Ｉｂ１に“Ｌ”のｑ＿３３ａが入力されることにより、ＡＮＤゲート３３ｂは、第２入力端子Ｉｂ２に入力される信号によらず、“Ｌ”の演算信号ｏ＿３３ｂを出力端子Ｏｂから出力する。これにより、演算信号ｏ＿３３ｂは、時刻ｔ３において“Ｈ”から“Ｌ”に切り替わる。
【０１０５】
また、時刻ｔ３において、ＯＲゲート３３ｃの第１入力端子Ｉｃ１には、“Ｌ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが入力され、第２入力端子Ｉｃ２には、“Ｌ”のｏ＿３３ｂが入力される。このため、ＯＲゲート３３ｃは、“Ｌ”のデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎを出力端子Ｏｃから出力する。これにより、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎは、時刻ｔ３において“Ｈ”から“Ｌ”に切り替わる。
【０１０６】
時刻ｔ３において、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｈ”から“Ｌ”に切り替わるため、Ｄラッチ１５ａは、時刻ｔ３において入力端子Ｄから入力されたデータ信号ｄａｔａ＿１（データ値は「Ｎ＋２」）を保持する。データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｌ”の期間（データ保護状態の期間）中は、データ信号ｄａｔａ＿１のデータ値が更新されてもデータ保持回路１５は、更新されたデータ信号ｄａｔａ＿１を取り込まない。データ保持回路１５は、この期間中では、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎのが“Ｌ”となる直前にサンプルしたデータ信号ｄａｔａ＿１（データ値は「Ｎ＋２」）を保持する。Ｄラッチ１５ａは、保持しているデータ信号ｄａｔａ＿１をデータ信号ｄａｔａ＿２（データ値は「Ｎ＋２」）として出力端子Ｑから第３フリップフロップ１７ａの入力端子Ｄに出力する。
【０１０７】
時刻ｔ４において、インターフェースクロック信号ｃｌｋ＿ＩＦは、時刻ｔ３の後に初めて立ち下がる。内部インターフェース部９０内のデータ受信回路１７はｃｌｋ＿ＩＦの立下りに同期して、入力端子Ｄに入力されるデータ信号ｄａｔａ＿２（データ値は「Ｎ＋２」）をサンプルする。内部インターフェース部９０からのＩＣの外部へのデータＯＵＴ＿ＩＦの読出しは、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｌ”になった直後、すなわちデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｌ”になった後の最初のインターフェースクロック信号ｃｌｋ＿ＩＦの立下りに基づいて開始される。データ受信回路１７が時刻ｔ４において出力したデータ出力信号ｏｕｔｄａｔａのデータ値は「Ｎ＋２」であるため、データ値「Ｎ＋２」のデータが、時刻ｔ４において読出データＯＵＴ＿ＩＦとしてＩＣの外部に読み出される。
【０１０８】
時刻ｔ５において、ＩＣの外部でのデータ読み出しが完了すると、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎのが“Ｈ”になる。
時刻ｔ６において、インターフェースクロック信号ｃｌｋ＿ＩＦは、時刻ｔ５の後に初めて立ち上がる。時刻ｔ６では、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”であるため、第１フリップフロップ１１ａは、時刻ｔ６におけるインターフェースクロック信号ｃｌｋ＿ＩＦの立ち上がりに同期させて“Ｈ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎを出力端子Ｑから出力する。“Ｈ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが第２フリップフロップ３３ａの非同期セット端子Ｓに入力されると、第２フリップフロップ１３ａは、プリセット状態となる。これにより、第２フリップフロップ３３ａは、入力端子Ｄに入力される信号によらず “Ｈ”を出力端子Ｑから出力する。
【０１０９】
ＯＲゲート３３ｃの第１入力端子Ｉｃ１に“Ｈ”のデータストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが入力されると、ＯＲゲート３３ｃの出力端子Ｏｃから出力される演算信号としてのデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎは、第２入力端子Ｉｃ２に入力される信号によらずに“Ｈ”となる。このため、時刻ｔ６において、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎは、“Ｌ”から“Ｈ”に切り替わる。“Ｈ”のデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿ＮがＤラッチ１５ａの制御信号入力端子Ｇに入力されると、Ｄラッチ１５ａは、入力端子Ｄに入力されたデータ信号ｄａｔａ＿１を保持せずにデータ信号ｄａｔａ＿２として出力端子Ｑから出力するデータスルー状態となる。これにより、データバッファ回路３の状態は、データ保護状態からデータ保護解除状態に遷移する。
【０１１０】
図８に示すように、非同期信号同期化回路３３によるｏｕｔｄａｔａの最小セットアップ時間Ｔｓｅｔｕｐ＿ｍｉｎは、以下の式（３）で表すことができる。
Ｔｓｅｔｕｐ＿ｍｉｎ＝（０．５×Ｔｉｆ＿ｃ）−（１．０×Ｔｃｏｒｅ＿ｃ）
・・・（３）
【０１１１】
したがって、非同期信号同期化回路３３を用いたデータバッファ回路３の最小セットアップ時間は、上記第１実施形態による非同期信号同期化回路１３の最小セットアップ時間よりも長くなるので、非同期信号同期化回路１３を用いたデータバッファ回路１よりも高速のインターフェースクロック信号においても従来技術と同等のセットアップ時間を確保することができる。
【０１１２】
また、図８に示すように、非同期信号同期化回路３３のセットアップ時間が最小値となる場合の動作タイミングでは、データバッファ回路３の状態がデータ保護解除状態からデータ保護状態に遷移する直前に、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎの信号レベルが不安定になる期間（時刻ｔ２を含む動作クロック信号ｃｌｋ＿ＣＯＲＥの半周期の期間）が生じる。しかしながら、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎの信号レベルが不安定になった時刻から動作クロック信号ｃｌｋ＿ＣＯＲＥの一周期の時間が経過すると、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎは、“Ｌ”に安定する。また、インターフェースクロック信号ｃｌｋ＿ＩＦが、動作クロック信号ｃｌｋ＿ＣＯＲＥに比べて十分に低周波の信号である。このため、データ受信回路１７がｄａｔａ＿２をサンプルするタイミングは、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎの信号レベルが不安定な期間を脱した後である。さらに、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが不安定な期間は、非同期信号同期化回路３３の最小セットアップ時間Ｔｓｅｔｕｐ＿ｍｉｎを算出する際にインターフェースクロック信号ｃｌｋ＿ＩＦの半周期のから減算される期間、すなわち式（３）における第２項に相当する。このため、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが不安定な期間は、ｄａｔａ＿２のセットアップ時間には含まれない期間である。したがって、データバッファ回路３の状態がデータ保護解除状態からデータ保護状態に遷移する前に、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎルが不安定になる期間が存在しても、読出データＯＵＴ＿ＩＦの読出しには全く影響を及ぼさない。
【０１１３】
次に、データバッファ回路３の他の動作について図９を用いて説明する。図９は、動作クロック信号ｃｌｋ＿ＣＯＲＥの出力が一時期停止する場合のデータバッファ回路３の動作のタイミングチャートである。図９中に示す「ｃｌｋ＿ＣＯＲＥ」、「ｃｌｋ＿ＩＦ」、「ｈｏｌｄ＿ｐｒｅ＿Ｎ」、「ｈｏｌｄ＿ＩＦ＿Ｎ」、「ｑ＿３３ａ」、「ｏ＿３３ｂ」、「ｈｏｌｄ＿ＣＯＲＥ＿Ｎ」、「ｄａｔａ＿１」、「ｄａｔａ＿２」、「ｏｕｔｄａｔａ」及び「ＯＵＴ＿ＩＦ」は、図８中に示す「ｃｌｋ＿ＣＯＲＥ」、「ｃｌｋ＿ＩＦ」、「ｈｏｌｄ＿ｐｒｅ＿Ｎ」、「ｈｏｌｄ＿ＩＦ＿Ｎ」、「ｑ＿３３ａ」、「ｏ＿３３ｂ」、「ｈｏｌｄ＿ＣＯＲＥ＿Ｎ」、「ｄａｔａ＿１」、「ｄａｔａ＿２」、「ｏｕｔｄａｔａ」及び「ＯＵＴ＿ＩＦ」と同内容を示しているため、説明は省略する。図９中に示す「保護」は、データ保護状態を示している。「ｃｌｋ＿ＣＯＲＥ」及び「ｃｌｋ＿ＩＦ」の波形に表された複数の直線の束は、それぞれのクロック信号が出力されている期間を表している。また、理解を容易にするため、「ｈｏｌｄ＿ｐｒｅ＿Ｎ」、「ｈｏｌｄ＿ＩＦ＿Ｎ」、「ｑ＿３３ａ」、「ｏ＿３３ｂ」及び「ｈｏｌｄ＿ＣＯＲＥ＿Ｎ」の波形は、実際よりも時間のずれが誇張して表されている。また、「ｄａｔａ＿１」、「ｄａｔａ＿２」、「ｏｕｔｄａｔａ」及び「ＯＵＴ＿ＩＦ」では、長方形枠内にデータの値を図示することにより、各データの値、すなわち各データの波形が変更されていることが表されている。また、「ＯＵＴ＿ＩＦ」では、各読出データにおいて「ＤＡＴＡ＿」の文字の記載が省略されている。図９中、左から右に向かって時の経過が表されている。
【０１１４】
時刻ｔ１において、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”から“Ｌ”に切り替わることに基づいて、時刻ｔ２において、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｈ”から“Ｌ”に切り替わる。これにより、データバッファ回路３の状態は、データ保護解除状態からデータ保護状態に遷移する。
【０１１５】
内部インターフェース部９０から出力されるｏｕｔｄａｔａ（データ値は「ＤＡＴＡ＿（ｎ＋１）」）は、時刻ｔ２の後にインターフェースクロック信号ｃｌｋ＿ＩＦが初めて立ち下がるタイミングに基づいてＯＵＴ＿ＩＦとしてＩＣの外部に読み出しが開始される。
【０１１６】
ＩＣの外部でのデータ読み出しが完了した後の時刻ｔ３において、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｌ”になることに基づいて、データ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが動作クロック信号ｃｌｋ＿ＣＯＲＥとは非同期に“Ｈ”となる。これにより、データバッファ回路３の状態はデータ保護状態からデータ保護解除状態に遷移する。
【０１１７】
また、Ｄラッチ１５ａの入力端子Ｄに入力されるデータ信号ｄａｔａ＿１は、時刻ｔ２と時刻ｔ３との間の一の時刻において、データ値が「ＤＡＴＡ＿（ｎ＋１）」から「ＤＡＴＡ＿（ｎ＋２）」に切り替わっている。このため、データバッファ回路３の状態が時刻ｔ３においてデータ保護解除状態に遷移すると、Ｄラッチ１５ａは、入力端子Ｄに入力されているデータ信号ｄａｔａ＿１（データ値は「ＤＡＴＡ＿（ｎ＋２）」）をデータ信号ｄａｔａ＿２として内部インターフェース部９０内のデータ受信回路１７に出力する。データ受信回路１７に設けられた第３フリップフロップ１７ａは、時刻ｔ３の後のインターフェースクロック信号ｃｌｋ＿ＩＦの最初の立ち下がりに同期してデータ信号ｄａｔａ＿２（データ値は「ＤＡＴＡ＿（ｎ＋２）」）をサンプルする。
【０１１８】
時刻ｔ４から時刻ｔ６においても、時刻ｔ１から時刻ｔ３と同様に動作する。時刻ｔ５においてデータバッファ回路３の状態がデータ保護解除状態からデータ保護状態に遷移した際に、Ｄラッチ１５ａは、データ値が「ＤＡＴＡ＿（ｎ＋２）」のデータ信号ｄａｔａ＿１を保持（ラッチ）し、保持したデータ信号ｄａｔａ＿１をデータ信号ｄａｔａ＿２として内部インターフェース部９０内のデータ受信回路１７に出力する。これにより、時刻ｔ５の後のインターフェースクロック信号ｃｌｋ＿ＩＦの最初の立下りに同期してデータ受信回路１７がサンプルしたデータ値「ＤＡＴＡ＿（ｎ＋２）」のデータは、内部インターフェース部９０からＯＵＴ＿ＩＦとしてＩＣの外部に読み出される。その後、ＩＣの外部でのデータ読み出しが完了すると、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎがインターフェースクロック信号ｃｌｋ＿ＩＦの立ち上がりに同期して“Ｈ”になる。
【０１１９】
内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”に切り替わった時にインターフェースクロック信号ｃｌｋ＿ＩＦは動作している。このため、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”になると、データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎも“Ｈ”となる。データストローブ信号ｈｏｌｄ＿ＩＦ＿Ｎが“Ｈ”になると、ＯＲゲート３３ｃは、“Ｈ”のデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎを出力端子Ｏｃから出力する。ＯＲゲート３３ｃは、動作クロック信号ｃｌｋ＿ＣＯＲＥに依存せずに、第１入力端子Ｉｃ１と第２入力端子Ｉｃ２との論理和の演算処理を実行する。このため、ＯＲゲート３３ｃの出力端子Ｏｃから出力されるデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが動作クロック信号ｃｌｋ＿ＣＯＲＥとは非同期に“Ｈ”に切り替わる。これにより、データバッファ回路３の状態は、データ保護状態からデータ保護解除状態に遷移する。データ保持回路１５に入力されるデータ信号ｄａｔａ＿１のデータ値は、時刻ｔ５と時刻ｔ６の間の時刻で「ＤＡＴＡ＿（ｎ＋２）」から「ＤＡＴＡ＿（ｎ＋３）」に変更されている。このため、時刻ｔ６においてデータバッファ回路３の状態がデータ保護状態からデータ保護解除状態に遷移することに基づいて、データ保持回路１５に設けられたＤラッチ１５ａは、データ値が「ＤＡＴＡ＿（ｎ＋３）」のデータ信号ｄａｔａ＿１を取り込み、内部インターフェース部９０内のデータ受信回路１７に出力する。データ受信回路１７に設けられた第３フリップフロップ１７ａは、時刻ｔ６の直後のインターフェースクロック信号ｃｌｋ＿ＩＦの立ち下がりに同期してデータ信号ｄａｔａ＿２をサンプルする。
【０１２０】
時刻ｔ７において、内部信号ｈｏｌｄ＿ｐｒｅ＿Ｎが“Ｈ”から“Ｌ”に切り替わることに基づいて、第２フリップフロップ３３ａはプリセット状態が解除されて入力端子Ｄの“Ｌ”をサンプルし、ｑ＿３３ａが“Ｈ”から“Ｌ”に切り替わる。
【０１２１】
時刻ｔ７において動作クロック信号ｃｌｋ＿ＣＯＲＥは停止されているが、ＡＮＤゲート３３ｂ及びＯＲゲート３３ｃは、動作クロック信号ｃｌｋ＿ＣＯＲＥに依存せずに演算処理を実行する。このため、ＡＮＤゲート３３ｂの出力端子Ｏｂから出力される演算信号ｏ＿３３ｂが“Ｌ”となる。これにより、ＯＲゲート３３ｃの第１入力端子Ｉｃ１及び第２入力端子Ｉｃ２のいずれにも、“Ｌ”が入力される。これにより、ＯＲゲート３３ｃの出力端子Ｏｃから出力されるデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎが“Ｈ”から“Ｌ”に切り替わる。これにより、データバッファ回路３の状態は、データ保護解除状態からデータ保護状態に遷移する。
【０１２２】
時刻ｔ８において、ｃｌｋ＿ＩＦの立下りに同期して内部インターフェース部９０内のデータ受信回路１７が取り込んだｄａｔａ＿２（データ値は「ＤＡＴＡ＿（ｎ＋３）」）がｏｕｔ＿ｄａｔａとして出力され、これに基づいてＩＣ外部での読み出しが開始される。
【０１２３】
このように、データバッファ回路３は、動作クロック信号ｃｌｋ＿ＣＯＲＥに依存せずにデータ保護信号ｈｏｌｄ＿ＣＯＲＥ＿Ｎを“Ｈ”に切り替えてデータ保護解除状態に遷移できる。このため、動作クロック信号ｃｌｋ＿ＣＯＲＥの状態に依らずＤラッチがサンプルするデータを更新し、データ受信回路へ出力することができる。
【０１２４】
（効果）
以上説明したように、本実施形態によるデータバッファ回路３は、非同期セット端子Ｓを備える第２フリップフロップ３３ａ、ＡＮＤゲート３３ｂ及びＯＲゲート３３ｃを有する非同期信号同期化回路３３を備えている。これにより、データバッファ回路３は、非同期入力信号の同期化に要する時間を短くすることができ、読出データのセットアップ時間を確保することが可能になる。したがって、データバッファ回路３は、上述の一般的なデータバッファ回路よりも高速のインターフェースクロック信号においても従来回路と同等のセットアップ時間を確保することができる。
【０１２５】
また、データバッファ回路３は、動作クロック信号ｃｌｋ＿ＣＯＲＥに非同期にデータ受信回路へ出力するデータ値を更新することができる。これにより、データバッファ回路３は、動作クロック信号ｃｌｋ＿ＣＯＲＥ（すなわちＩＣの内部クロック信号）の間欠動作が可能になるので、低消費電流化を図ることができる。
【０１２６】
以上説明したように、上記第１及び第２実施形態によるデータバッファ回路によれば、信号の同期化処理に要する時間を短縮することで、ＩＣ動作クロックの低速化や、インターフェースクロックの高速化をしても、データ保護開始時におけるデータ読出しのためのセットアップ時間を確保することができる。また、上記第１及び第２実施形態によるデータバッファ回路によれば、ＩＣの動作クロック信号の停止期間であってもインターフェース部へ伝達するためのデータを更新することができる。これにより、上記第１及び第２実施形態によるデータバッファ回路は、ＩＣの動作クロックに依らずに、保持するデータの更新を可能にし、直近の測定データを任意ののタイミングで読み出すことができる。
【０１２７】
上記の実施形態は、本発明の技術的思想を具体化するための装置を例示するものであって、本発明の技術的思想は、構成部品の材質、形状、構造、配置等を特定するものでない。本発明の技術的思想は、特許請求の範囲に記載された請求項が規定する技術的範囲内において、種々の変更を加えることができる。
【符号の説明】
【０１２８】
１，３，５，１０１  データバッファ回路
１１  データストローブ信号生成回路
１１ａ，１１１ａ  第１フリップフロップ
１３，３３，１１３  非同期信号同期化回路
１３ａ，３３ａ，１１３ａ  第２フリップフロップ
１３ｂ  後段フリップフロップ１５，１１５  データ保持回路
１５ａ  Ｄラッチ
１７，１１７  データ受信回路
１７ａ，１１３ｂ  第３フリップフロップ
３３ｂ  ＡＮＤゲート
３３ｃ  ＯＲゲート
９０，９００  内部インターフェース部
１１１  データストローブ信号生成回路
１１５ａ  セレクタ
１１５ｂ  第４フリップフロップ
１１７ａ  第５フリップフロップ
３３０  論理演算回路
ｃｌｋ＿ＣＯＲＥ  動作クロック信号
ｃｌｋ＿ＩＦ  インターフェースクロック信号
Ｄ，Ｉｂ，ＩＮ０，ＩＮ１  入力端子
ｄａｔａ＿１，ｄａｔａ＿２，ｏｕｔ＿ＭＵＸ  データ信号
Ｇ  制御信号入力端子
ｈｏｌｄ＿ＣＯＲＥ＿Ｎ  データ保護信号
ｈｏｌｄ＿ＩＦ＿Ｎ  データストローブ信号
Ｉｂ１，Ｉｃ１，Ｉｄ１  第１入力端子
Ｉｂ２，Ｉｃ２，Ｉｄ２  第２入力端子
Ｏｂ，Ｏｃ，Ｏｄ，Ｑ  出力端子
ｏ＿３３ｂ，  演算信号
ｏｕｔ＿ＦＦ  出力信号
ＯＵＴ＿ＩＦ  読出データ
ｏｕｔｄａｔａ  データ出力信号
Ｓ  非同期セット端子
Ｔｓｅｔｕｐ＿ｍｉｎ  最小セットアップ時間
【図１】
2018200574.tif 000003
【図２】
2018200574.tif 000004
【図３】
2018200574.tif 000005
【図４】
2018200574.tif 000006
【図５】
2018200574.tif 000007
【図６】
2018200574.tif 000008
【図７】
2018200574.tif 000009
【図８】
2018200574.tif 000010
【図９】
2018200574.tif 000011