JP4620492B2 - Bus interface circuit - Google Patents
Bus interface circuit Download PDFInfo
- Publication number
- JP4620492B2 JP4620492B2 JP2005050695A JP2005050695A JP4620492B2 JP 4620492 B2 JP4620492 B2 JP 4620492B2 JP 2005050695 A JP2005050695 A JP 2005050695A JP 2005050695 A JP2005050695 A JP 2005050695A JP 4620492 B2 JP4620492 B2 JP 4620492B2
- Authority
- JP
- Japan
- Prior art keywords
- macro
- read
- data
- clock
- signal
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
Description
本発明はバスインターフェイス回路に関し、特にマイクロコンピュータに用いられるバスインターフェイス回路に関する。 The present invention relates to a bus interface circuit, and more particularly to a bus interface circuit used in a microcomputer.
近年、マイクロコンピュータ(以下、マイコンと称す)は、演算部であるCPUの演算能力を向上させるために、動作速度が高速化している。マイコンでは、周辺装置の制御や動作命令の格納などの各種機能をブロック化したマクロ回路を有しているのが一般的である。このマクロ回路の動作速度が高速である必要がない場合は、消費電力を低減させるために、マクロ回路は低速で動作させることが行われている。マクロ回路とCPUはデータバスを介して接続されるのが一般的である。CPUはこのデータバスを経由してマクロ回路から各種データの読み込み動作を行う。CPUはリードクロックを出力し、そのリードクロックに基づきマクロ回路からデータを読み込む。この時、マクロ回路が非同期で動作しており、リードクロックとは関係のないマクロクロックで動作している場合、リードクロックとマクロクロックが同時に変化し、データの干渉を起こすメタ・ステーブルが発生する。このメタ・ステーブルを防止するために非同期調停機能をもったバスインターフェイス回路が必要となる。従来のメタ・ステーブル防止機能を持ったバスインターフェイス回路500を図5に示す。図5に示すバスインターフェイス回路はリードクロックの1回目の立ち下がりの時のマクロデータをリードデータとして出力する回路である。
In recent years, microcomputers (hereinafter referred to as microcomputers) have increased in operating speed in order to improve the computing capability of a CPU that is a computing unit. In general, a microcomputer has a macro circuit in which various functions such as control of peripheral devices and storage of operation instructions are blocked. When the macro circuit does not need to operate at a high speed, the macro circuit is operated at a low speed in order to reduce power consumption. The macro circuit and the CPU are generally connected via a data bus. The CPU reads various data from the macro circuit via this data bus. The CPU outputs a read clock and reads data from the macro circuit based on the read clock. At this time, if the macro circuit is operating asynchronously and is operating with a macro clock that is not related to the read clock, the read clock and the macro clock change at the same time, and a meta stable that causes data interference occurs. To do. In order to prevent this meta-stable, a bus interface circuit having an asynchronous arbitration function is required. A conventional
しかしながら、図5に示すバスインターフェイス回路500によっても、CPUのマクロデータの読み込みはマクロクロックとリードクロックの関係に依存する。図5に示すバスインターフェイス回路500において、少ないクロック数でデータの読み込みを完了する場合のタイミングチャートを図6に示す。図6に示す例は、リードクロックの1回目の立ち下がり後で、2回目の立ち下がり前までの時間でマクロクロックが立ち上がっている。リードクロックの1回目の立ち下がりの前のデータD0は、マクロクロックの立ち上がり後にリードデータとして確定する。従って、2回目のリードクロックの立ち下がり時には、データD0がリードデータとして確定している。よって、2回目のリードクロックの立ち下がりで、CPUはデータD0を読み込むことができる。
However, even with the
また、図5に示すバスインターフェイス回路500において、データの読み込みに多くのクロック数が必要な場合のタイミングチャートを図7に示す。図7に示す例は、リードクロックの1回目の立ち下がりの前でマクロクロックが立ち上がっている。リードクロックの1回目の立ち下がり時のデータD1である。このデータD1がリードデータとして確定するのは次のマクロクロックの立ち上がり後である。従って、次のマクロクロックの立ち上がりがある時まで、CPUはリードクロックを出力し続けなければ、データD1をリードデータとして読み込むことができない。よって、CPUがリードデータを読み込むためには多くの時間が必要になる。
FIG. 7 shows a timing chart when a large number of clocks are required for reading data in the
従来のバスインターフェイス回路500は、マクロクロックとリードクロックの関係によって、その時に必要になるマクロクロックのクロック数が異なる。従来のバスインターフェイス回路500では、CPUがマクロデータを読み込むために、最大でマクロクロック1周期分のデータアクセス時間が必要になる。この場合、マクロクロックを高速化することでデータアクセス時間を短縮することが考えられるが、近年の低消費電力化の傾向から現実的な方法ではない。
In the conventional
特許文献1に非同期調停機能を持つバスインターフェイス回路が開示されている。このバスインターフェイス回路によれば、メタ・ステーブルを防止しながら、非同期調停を行うことができる。
しかしながら、特許文献1に開示されているバスインターフェイス回路よっても、マルチビットの非同期調停を行うことはできない。マルチビットのマクロデータの非同期調整を行う場合、そのリードデータの確定をシングルビットの制御信号にて行う必要がある。特許文献1に示される回路でマルチビットを扱った場合、各ビットのデータをそれぞれ別の配線によるクロックで制御することになる。つまり、リードデータの確定をマルチビットのクロック信号で行うことになる。この場合、ビットによって同期タイミングがずれると、リードデータとマクロデータが異なるデータとなってしまう。つまり、正しいマクロデータをCPUが読み込めない問題がある。
従来、CPUとマクロ回路の間でマルチビットのデータを扱う場合、CPUがデータを取り込むために多くのリードクロックが必要であった。 Conventionally, when handling multi-bit data between a CPU and a macro circuit, a large number of read clocks are required for the CPU to capture data.
本発明にかかるバスインターフェイス回路は、マクロ回路のマクロクロックに基づいてマクロデータを保持するマクロクロック同期データ保持部と、前記マクロデータの読み込み動作時に用いられるリードクロックに基づいて前記マクロデータを保持するリードクロック同期データ保持部と、前記リードクロックに基づきリード期間信号を出力するリード期間判定部と、前記リード期間信号と前記マクロクロックとに基づきデータ保持信号を出力するマクロクロック検出部と、前記データ保持信号と前記リードクロックに基づいてメタ・ステーブル回避信号を出力するメタ・ステーブル回避部と、前記メタ・ステーブル回避信号に基づいて、前記マクロクロック同期データ保持部の出力または前記リードクロック同期データ保持部の出力のいずれかを選択してリードデータを出力するリードデータセレクタとを有する。 A bus interface circuit according to the present invention holds a macro clock synchronization data holding unit that holds macro data based on a macro clock of a macro circuit, and holds the macro data based on a read clock used at the time of reading the macro data. A read clock synchronization data holding unit; a read period determination unit that outputs a read period signal based on the read clock; a macro clock detection unit that outputs a data hold signal based on the read period signal and the macro clock; and the data A meta stable avoiding unit that outputs a meta stable avoiding signal based on the holding signal and the read clock; and an output of the macro clock synchronization data holding unit based on the meta stable avoiding signal or the read clock Output of synchronous data holding unit And a read data selector for outputting the read data by selecting or Re.
本発明においては、マクロクロックとリードクロックとの関係から、メタ・ステーブル回避部がメタ・ステーブル回避信号を生成する。また、このメタ・ステーブル回避信号に基づいて、マクロクロックに同期したマクロデータを出力するマクロクロック同期データ保持部からの入力又はリードクロックに同期したマクロデータを出力するリードクロック同期データ保持部からの入力のいずれかを選択して出力するリードデータセレクタを有する。これにより、CPUは少ないリードクロック数で正しいマクロデータを取り込むことが可能になる。 In the present invention, the meta / stable avoiding unit generates the meta / stable avoiding signal based on the relationship between the macro clock and the read clock. Further, based on the meta stable avoidance signal, from the macro clock synchronization data holding unit that outputs the macro data synchronized with the macro clock or from the read clock synchronization data holding unit that outputs the macro data synchronized with the read clock. A read data selector that selects and outputs one of the inputs. As a result, the CPU can capture correct macro data with a small number of read clocks.
本発明によれば、少ないリードクロック数で正しいマクロデータを出力するバスインターフェイス回路を実現できる。 According to the present invention, a bus interface circuit that outputs correct macro data with a small number of read clocks can be realized.
実施の形態1
本発明の実施の形態1のバスインターフェイス回路100のブロック図を図1に示す。図1を参照して実施の形態1のバスインターフェイス回路100について説明する。実施の形態1のバスインターフェイスはマクロクロック同期データ保持部101、リードクロック同期データ保持部102、リード期間判定部103、マクロクロック検出部104、メタ・ステーブル回避部105、リードデータセレクタ106を有している。
FIG. 1 is a block diagram of the
マクロクロック同期データ保持部101はマクロクロックと後述するマクロクロック検出部104からのデータ保持信号とに基づき入力されるマクロデータの保持と出力とを行うブロックである。リードクロック同期データ保持部102はリードクロックに基づきマクロデータの保持と出力とを行うブロックである。リード期間判定部103は入力されるリードクロックからバスインターフェイス回路100がデータ読み出し期間であることを示すリード期間信号と、CPUに対してリードクロックの出力を要求するリトライ信号とを出力するブロックである。マクロクロック検出部104はリード期間信号とマクロクロックからリード期間中のマクロクロックの立ち上がりを検出し、データ保持信号を出力するブロックである。メタ・ステーブル回避部105はマクロクロック検出部104がリード期間中にマクロクロックの立ち上がりを検出した場合にメタ・ステーブル回避信号を出力するブロックである。リードデータセレクタ106はメタ・ステーブル回避信号に基づきマクロクロック同期データ保持部101からの信号とリードクロック同期データ保持部102からの信号とを選択し、リードデータを出力するブロックである。
The macro clock synchronization
実施の形態1にかかるバスインターフェイス回路100の回路図を図2に示す。上記ブロック図の説明のブロックごとに内部回路について図2を参照しながら説明する。
FIG. 2 shows a circuit diagram of the
マクロクロック同期データ保持部101は入力セレクタ201とスレーブレジスタ202とを有している。入力セレクタ201は第1の入力端子Y、第2の入力端子N、選択信号入力端子を有しており、データ保持信号に基づき第1の入力端子Yと第2の入力端子Nのいずれかを選択し、入力されたデータを出力する回路である。スレーブレジスタ202は入力端子Dとクロック入力端子Cと出力端子Qを有しており、マクロクロックの立ち上がり時の入力端子Dのデータを出力端子Qに出力する回路である。
The macro clock synchronization
入力セレクタ201の第2の入力端子Nにはマクロデータが入力されており、第1の入力端子Yはスレーブレジスタ202の出力端子Qと接続されている。また、入力セレクタ201の選択信号入力端子には第1の入力と第2の入力を選択するデータ保持信号がマクロクロック検出部から入力されている。入力セレクタ201の出力はスレーブレジスタ202の入力端子Dに接続されている。スレーブレジスタ202の入力端子Cにはマクロクロックが入力されており、出力端子Qは入力セレクタ201の第1の入力端子Yとリードデータセレクタ106の第1の入力端子Yに接続されている。
Macro data is input to the second input terminal N of the
リードクロック同期データ保持部102はスレーブレジスタ203を有している。スレーブレジスタ203は入力端子Dと入力端子Cと出力端子Qを有しており、リードクロックの立ち下がり時の入力端子Dのデータを出力端子Qに出力する回路である。入力端子Dにはマクロデータが入力されており、入力端子Cにはリードクロックが入力されている。出力端子Qはセレクタの第2の入力端子Nに接続されている。
The read clock synchronization
リード期間判定部103はインバータ204、リトライレジスタ205、リード期間レジスタ206、OR回路207を有している。インバータ204は入力端子と出力端子とを有しており、入力端子からの入力を反転させた出力をする回路である。リトライレジスタ205は入力端子D、入力端子C、出力端子Qを有しており、リードクロックの立ち上がり時の入力端子Dのデータを出力端子Qに出力する回路である。リード期間レジスタ206は入力端子D、入力端子C、出力端子Qを有しており、リードクロックの立ち下がり時の入力端子Dのデータを出力端子Qに出力する回路である。OR回路207は第1の入力端子、第2の入力端子、出力端子を有している。OR回路207は第1の入力端子及び第2の入力端子への入力が共にLowレベル(例えば、接地電位)になったときに、Lowレベルを出力し、それ以外のときはHighレベル(例えば、電源電位)を出力する回路である。
The read
リトライレジスタ205は出力端子Qがインバータ204を介して入力端子Dに接続されており、入力端子Cにはリードクロックが入力されている。また、リトライレジスタは出力端子Qよりリトライ信号を出力している。リード期間レジスタ206は入力端子Dがリトライレジスタ205の出力端子Qと接続されており、入力端子Cにリードクロックが入力されている。OR回路207の第1の入力端子はリトライレジスタ205の出力端子Qと接続されており、第2の入力端子はリード期間レジスタ206の出力端子Qと接続されている。また、OR回路207の出力端子はリード期間判定部103の出力となっており、リード期間信号が出力されている。
The retry
マクロクロック検出部104はクロック検出レジスタ208を有している。クロック検出レジスタ208は入力端子D、入力端子C、出力端子Q、リセット端子Rを有しており、マクロクロックの立ち上がり時の入力端子Dのデータを出力端子Qに出力する回路である。また、リセット端子にLowレベルの信号が入力されたときには常に出力端子はLowレベルを出力する。入力端子Dは電源電位Vddに接続されており、入力端子Cにはマクロクロックが入力されている。出力端子Qはマクロクロック検出部104の出力になっており、データ保持信号が出力される。
The macro
メタ・ステーブル回避部105はメタ検出レジスタ209を有している。メタ検出レジスタ209は入力端子D、入力端子C、出力端子Q、リセット端子Rを有しており、リードクロックの立ち上がり時の入力端子Dのデータを出力端子Qに出力する回路である。また、リセット端子にLowレベルの信号が入力されたときには常に出力端子はLowレベルを出力する。入力端子Dはマクロクロック検出部104の出力端子Qが接続されており、入力端子Cにはリードロックが入力されている。出力端子Qはメタ・ステーブル回避部105の出力になっており、メタ・ステーブル回避信号が出力される。
The meta
リードデータセレクタ106は第1の入力端子Y、第2の入力端子N、出力端子、選択信号入力端子を有している。セレクタの第1の入力端子Yにはリードクロック同期データ保持部101の出力が接続されており、第2の入力端子Nにはマクロクロックデータ保持部102の出力が接続されている。また、選択信号入力端子にはメタ・ステーブル回避部105の出力が接続されている。リードデータセレクタ106の出力端子はバスインターフェイス回路100の出力となっており、メタ・ステーブル回避信号に基づいて、マクロクロック同期データ保持部101の出力とリードクロック同期データ保持部102の出力のいずれかを選択してリードデータを出力する。
The read
実施の形態1にかかるバスインターフェイス回路100の動作のフローチャートを図3に示す。図3を参照しながら実施の形態1にかかるバスインターフェイス回路100の動作を説明する。
FIG. 3 shows a flowchart of the operation of the
まず、CPUよりリードクロックが出力される(301)。CPUが読み込むデータは、このリードクロックの1回目の立ち上がり時にマクロ回路から出力されるマクロデータである。また、CPUはデータ読み込み動作時のみリードクロックを出力する。 First, a read clock is output from the CPU (301). The data read by the CPU is macro data output from the macro circuit at the first rise of the read clock. The CPU outputs a read clock only during a data reading operation.
次に、リードクロックに基づきリード期間判定部103がリード期間信号及びリトライ信号を出力する(302)。このリード期間信号により、バスインターフェイス回路100は出力すべきリードデータの確定動作を行う。リード期間信号は2回目のリードクロックの立ち下がりによって停止される。これにより、バスインターフェイス回路100はリードデータの確定動作を停止する。また、リトライ信号によりCPUは次のクロックを出力する。リトライ信号は2回目のリードクロックの立ち上がりで停止する。これにより、これ以上のリードクロックの立ち上がりをバスインターフェイス回路100に送信しないようにする。
Next, based on the read clock, the read
次にマクロクロック検出部104はリードクロックの1回目の立ち上がりから2回目の立ち上がりの間(マクロクロック検出期間)でのマクロクロックの立ち上がりの有無を判定する(303)。
Next, the macro
マクロクロック検出期間でマクロクロックの立ち上がりがあった場合、マクロクロック検出部104はデータ保持信号を出力する。このデータ保持信号とリードクロックによりメタ・ステーブル回避部105がメタ・ステーブル回避信号を出力する(304)。このメタ・ステーブル回避信号によりリードデータセレクタ106はマクロクロック同期データ保持部101からの信号をリードデータとして出力する(305)。
When the macro clock rises during the macro clock detection period, the macro
また、マクロクロックの検出期間にマクロクロックの立ち上がりがなかった場合、マクロクロック検出部104はデータ保持信号を出力しない。よって、メタ・ステーブル回避部105はメタ・ステーブル回避信号を出力しない(306)。これにより、ロードデータセレクタ106はリードクロック同期データ保持部102からの信号をリードデータとして出力する(307)。
In addition, when the macro clock does not rise during the macro clock detection period, the macro
一般的にマイコン内部で用いられる信号は、リードクロックは遅延なくマイコンのすべての回路に供給されているのに対して、リードデータは遅延を持ってCPUに送信されるように設計する。このように設計することで、2回目のリードクロックの立ち下がりでCPUがデータを読み込むときには確実に決定されたリードデータがCPUに送信される。 In general, a signal used in the microcomputer is designed so that the read clock is supplied to all the circuits of the microcomputer without delay while the read data is transmitted to the CPU with a delay. By designing in this way, when the CPU reads data at the second fall of the read clock, the read data determined reliably is transmitted to the CPU.
上述した動作により、確定したリードデータは遅延を持ってCPUに送信される。CPUは遅延したリードデータをリードクロックの2回目の立下りで読み込む(308)。 By the above-described operation, the determined read data is transmitted to the CPU with a delay. The CPU reads the delayed read data at the second fall of the read clock (308).
実施の形態1にかかるバスインターフェイス回路100の動作のタイミングチャートを図4に示す。ここで、実施の形態1のバスインターフェイス回路100の動作は、リードクロックの2回の立ち上がりの間にマクロクロックの立ち上がりがある場合とない場合との2つに分けることができる。従って、以下では2つの場合に分けて上述した動作のフローチャートと対比しながら図4に示すタイミングチャートを説明する。
FIG. 4 shows a timing chart of the operation of the
ここで、マクロデータはマクロクロックの立ち上がりをきっかけにして変化する信号である。また、リードクロックの1回目の立ち上がりの時にマクロデータはD0である。しかし、リードクロックの2回目の立ち下がり(CPUのデータ取り込みタイミング)の時のマクロデータがD0とは異なるD1である。この時、バスインターフェイス回路100はマクロデータD0をリードデータとしてCPUに送信することを目的としている。
Here, the macro data is a signal that changes when the macro clock rises. The macro data is D0 at the first rise of the read clock. However, the macro data at the second fall of the read clock (CPU data capture timing) is D1 different from D0. At this time, the
まず、マクロクロック検出期間にマクロクロックの立ち上がりがあった場合について説明する。図4のタイミングチャートにおいてタイミングT1からT5の間の動作である。 First, a case where the macro clock rises during the macro clock detection period will be described. This is an operation between timings T1 and T5 in the timing chart of FIG.
フローチャート301の動作がタイミングT1で行われる。タイミングT1ではCPUからリードクロックがバスインターフェイス回路100に送信される。このリードクロックに基づき、フローチャート302の動作がタイミングT1で行われる。タイミングT1では上記リードクロックに基づき、リード期間判定部103のリード期間信号がHighレベルとなる。この時、リード期間判定部103のリトライ信号がHighレベルとなる。
The operation of the
タイミングT2でリードクロックが立ち下がる。この時、リードクロック同期データ保持部102はマクロデータD0の取り込み及び保持を行う。また、この時、リードデータセレクタ106の入力選択信号はメタ・ステーブル回避部105からLowレベルが入力されている。よって、リードデータはリードクロック同期データ保持部102が保持しているマクロデータD0である。
The read clock falls at timing T2. At this time, the read clock synchronization
フローチャート303の動作がタイミングT3で行われる。タイミングT3はマクロクロックの立ち上がりのタイミングである。この時、マクロクロック検出部104のデータ保持信号はHighレベルとなる。
The operation of the
また、タイミングT3のマクロクロックの立ち上がりに基づき、マクロクロック同期データ保持部101は、タイミングT3以前のマクロデータD0を保持する。マクロクロック同期データ保持部101はマクロクロックの立ち上がりで取り込んだデータを、データ保持信号がHighレベルであり、かつ、マクロデータ取り込み後のマクロクロックの立ち上がりがあるまでの間取り込んだマクロデータを保持する。
Further, based on the rising edge of the macro clock at timing T3, the macro clock synchronization
フローチャート304の動作がタイミングT4で行われる。タイミングT4では前述したデータ保持信号とリードクロックの立ち上がりからメタ・ステーブル回避部105のメタ・ステーブル回避信号がHighレベルとなる。
The operation of the
このメタ・ステーブル回避部105の動作により、フローチャート305の動作もタイミングT4で行われる。メタ・ステーブル回避信号がHighレベルであるため、リードデータセレクタ106はマクロクロック同期データ保持部101のマクロデータD0をリードデータとして出力する。これにより、CPUが取り込むべきマクロデータが確定する。
By the operation of the meta / stable avoiding
また、タイミングT4でリトライ信号がLowレベルとなる。これにより、CPUはこれ以上のリードクロックの立ち上がりを出力しない状態となる。 In addition, the retry signal becomes low level at timing T4. As a result, the CPU does not output any more rising edge of the read clock.
タイミングT4で確定したリードデータは、遅延を持ってCPUに送信される。フローチャート308の動作をタイミングT5で行い、このリードデータをCPUが取り込む。つまり、リードデータは遅延を持ってCPUに送信されるため、タイミングT5の直後でリードデータが変化した場合であっても、CPUが取り込むリードデータはタイミングT5の以前のリードデータである。よって、メタ・ステーブルを起こすことなく、CPUはデータの取り込みを完了する。
The read data determined at timing T4 is transmitted to the CPU with a delay. The operation of the
また、タイミングT5でリード期間信号がLowレベルとなる。これにより、バスインターフェイス回路100はリードデータの選択と確定の動作を停止する。
Further, the read period signal becomes low level at timing T5. As a result, the
次に、マクロクロック検出期間にマクロクロックの立ち上がりがない場合について説明する。図4のタイミングチャートにおいてタイミングT6からT9の間の動作である。 Next, a case where the macro clock does not rise during the macro clock detection period will be described. This is an operation between timings T6 and T9 in the timing chart of FIG.
リードクロックの1回目の立ち上がりの時にマクロデータはD2である。また、リードクロックの2回目の立ち下がり(CPUのデータ取り込みタイミング)の時のマクロデータもD2である。この時、バスインターフェイス回路100はマクロデータD2をリードデータとしてCPUに送信することを目的としている。
The macro data is D2 at the first rise of the read clock. The macro data at the second fall of the read clock (CPU data fetch timing) is also D2. At this time, the
フローチャート301の動作がタイミングT6で行われる。タイミングT6ではCPUからリードクロックがバスインターフェイス回路100に送信される。このリードクロックに基づき、フローチャート302の動作がタイミングT6で行われる。タイミングT6では上記リードクロックに基づき、リード期間判定部103のリード期間信号がHighレベルとなる。この時、リード期間判定部103のリトライ信号はHighレベルとなる。
The operation of the
タイミングT7でリードクロックが立ち下がる。この時、リードクロック同期データ保持部102はマクロデータD0の取り込み及び保持を行う。また、この時、リードデータセレクタ106の入力選択信号はメタ・ステーブル回避部105からLowレベルが入力されている。よって、リードデータはリードクロック同期データ保持部102が保持しているマクロデータD0である。
The read clock falls at timing T7. At this time, the read clock synchronization
フローチャート303の動作がタイミングT6からT8の間で行われている。しかし、この間にマクロクロックの立ち上がりがないために、タイミングT6からT8までの間でマクロクロック検出部104のデータ保持信号はLowレベルを維持する。
The operation of the
タイミングT6からT8の間、マクロクロックの立ち上がりがないためにマクロデータはD2を維持している。従って、マクロクロック同期データ保持部101はマクロデータD2を保持している。また。タイミングT6からT8の間でリードクロックの立ち下がりがあるが、マクロデータはD2を維持しているため、リードクロック同期データ保持部102はマクロデータD2を保持している。
Between the timings T6 and T8, since the macro clock does not rise, the macro data maintains D2. Therefore, the macro clock synchronization
フローチャート306の動作がタイミングT4で行われる。タイミングT8では前述したデータ保持信号とリードクロックの立ち上がりからメタ・ステーブル回避部105のメタ・ステーブル回避信号はLowレベルを維持する。
The operation of the
このメタ・ステーブル回避部105の動作により、フローチャート305の動作もタイミングT8で行われる。メタ・ステーブル回避信号がLowレベルであるため、リードデータセレクタ106はリードクロック同期データ保持部102のマクロデータD2をリードデータとして出力する。
By the operation of the meta / stable avoiding
以上の動作により、CPUが取り込むべきマクロデータが確定する。タイミングT8で確定したリードデータは、遅延を持ってCPUに送信される。フローチャート308の動作をタイミングT9で行い、このリードデータをCPUが取り込む。つまり、リードデータは遅延を持ってCPUに送信されるため、タイミングT9の直後でリードデータが変化した場合であっても、CPUが取り込むリードデータはタイミングT9の以前のリードデータである。よって、メタ・ステーブルを起こすことなく、CPUはデータの取り込みを完了する。
With the above operation, macro data to be captured by the CPU is determined. The read data determined at timing T8 is transmitted to the CPU with a delay. The operation of the
また、タイミングT9でリード期間信号がLowレベルとなる。これにより、バスインターフェイス回路100はリードデータの選択と確定の動作を停止する。
Further, at timing T9, the read period signal becomes low level. As a result, the
上述の動作により、バスインターフェイス回路100はマクロクロックとリードクロックがいかなる関係であってもマクロ回路のマクロデータを2周期のリードクロックでCPUに取り込むことができる。これにより、マクロクロックとリードクロックの速度差が大きくなっても、マクロデータをCPUが取り込む際に無駄なリードクロックを必要としない。つまり、CPUは遅延なくマクロデータを処理することができるため、マイコン全体の性能が向上する。
With the above-described operation, the
また、CPUがマクロデータを取り込む際のメタ・ステーブルが発生しないため、CPUとマクロ回路との間のタイミング設計が容易になる。このことは、マクロ回路の設計の自由度を高めることとなり、従来ではシステム全体の性能を考慮して、必要以上に高速化していたマクロクロックを低速化できる。つまり、マクロクロックの低速化による低消費電力化が可能になる。 Further, since the meta stable when the CPU captures macro data does not occur, the timing design between the CPU and the macro circuit becomes easy. This increases the degree of freedom in designing the macro circuit, and it is possible to reduce the speed of the macro clock that has conventionally been increased more than necessary in consideration of the performance of the entire system. That is, it is possible to reduce power consumption by reducing the macro clock speed.
実施の形態1のバスインターフェイス回路100は、マルチビットのマクロデータが入力されており、このマルチビットのデータをリードデータとして確定するときに、シングルビットのメタ・ステーブル回避信号を用いている。つまり、バスインターフェイス回路100はマルチビットのデータに対応した非同期調停回路といえる。
The
本発明によれば、少ないリードクロック数で読み込みが完了でき、マルチビットに対応したメタ・ステーブル回避機能を持ったバスインターフェイス回路を実現できる。 According to the present invention, reading can be completed with a small number of read clocks, and a bus interface circuit having a meta-stable avoidance function compatible with multi-bits can be realized.
また、本発明は上記実施の形態に限られたものではなく、適宜変形することが可能である。本発明は、マクロクロックとリードクロックの関係からメタ・ステーブル回避信号を生成し、複数のデータ保持部のいずれかのデータを出力する手段を有していれば良い。例えば、上記実施の形態とは反転した論理で構成することも可能である。 Further, the present invention is not limited to the above embodiment, and can be modified as appropriate. The present invention only needs to have means for generating a meta / stable avoidance signal from the relationship between the macro clock and the read clock, and outputting any data of the plurality of data holding units. For example, it may be configured with logic reversed from the above embodiment.
101 マクロクロック同期データ保持部
102 リードクロック同期データ保持部
103 リード期間判定部
104 マクロクロック検出部
105 メタ・ステーブル回避部
106 リードデータセレクタ
201 入力セレクタ
202 スレーブレジスタ
203 スレーブレジスタ
204 インバータ
205 リトライレジスタ
206 リード期間レジスタ
207 OR回路
208 クロック検出レジスタ
209 メタ検出レジスタ
501 マクロクロック同期データ保持部
502 リード期間制御部
101 Macro clock synchronization
Claims (5)
前記マクロデータの読み込み動作時に用いられるリードクロックに基づいて前記マクロデータを保持するリードクロック同期データ保持部と、
前記リードクロックに基づきリード期間を示すリード期間信号を出力するリード期間判定部と、
前記リード期間信号が前記リード期間を示す期間における、前記マクロデータを変化させる前記マクロクロックのレベル変化の有無を検出してデータ保持信号を出力するマクロクロック検出部と、
前記データ保持信号が前記マクロクロックのレベル変化があったことを示す場合に前記リードクロックに応じてメタ・ステーブル回避信号を出力するメタ・ステーブル回避部と、
前記メタ・ステーブル回避信号に基づいて前記マクロクロック同期データ保持部及び前記リードクロック同期データ保持部のいずれか一方に保持されたマクロデータをリードデータとして出力するリードデータセレクタと、
を有するバスインターフェイス回路。 A macro clock synchronization data holding unit for holding macro data based on the macro clock of the macro circuit;
A read clock synchronization data holding unit that holds the macro data based on a read clock used during the macro data reading operation;
A read period determination unit that outputs a read period signal indicating a read period based on the read clock;
A macro clock detector that detects the presence or absence of a level change of the macro clock that changes the macro data and outputs a data holding signal in a period in which the read period signal indicates the read period ;
A meta / stable avoiding unit that outputs a meta / stable avoiding signal according to the read clock when the data holding signal indicates that the macro clock has changed in level ;
And read data selector for outputting macro data held on one of the macro clock synchronous data holding unit and the read clock synchronous data holding unit on the basis of the meta-stable avoidance signal as read data,
A bus interface circuit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005050695A JP4620492B2 (en) | 2005-02-25 | 2005-02-25 | Bus interface circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005050695A JP4620492B2 (en) | 2005-02-25 | 2005-02-25 | Bus interface circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006236060A JP2006236060A (en) | 2006-09-07 |
JP4620492B2 true JP4620492B2 (en) | 2011-01-26 |
Family
ID=37043633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005050695A Expired - Fee Related JP4620492B2 (en) | 2005-02-25 | 2005-02-25 | Bus interface circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4620492B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05313783A (en) * | 1992-05-11 | 1993-11-26 | Matsushita Electric Ind Co Ltd | Synchronizing circuit |
JPH0713927A (en) * | 1993-06-24 | 1995-01-17 | Fujitsu Ltd | Asynchronous synchronous conversion circuit |
JPH1168721A (en) * | 1997-08-26 | 1999-03-09 | Nec Corp | Asynchronous data conversion system |
JP2000506985A (en) * | 1996-12-13 | 2000-06-06 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Integrated circuit with first and second clock domains and method for testing such a circuit |
-
2005
- 2005-02-25 JP JP2005050695A patent/JP4620492B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05313783A (en) * | 1992-05-11 | 1993-11-26 | Matsushita Electric Ind Co Ltd | Synchronizing circuit |
JPH0713927A (en) * | 1993-06-24 | 1995-01-17 | Fujitsu Ltd | Asynchronous synchronous conversion circuit |
JP2000506985A (en) * | 1996-12-13 | 2000-06-06 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Integrated circuit with first and second clock domains and method for testing such a circuit |
JPH1168721A (en) * | 1997-08-26 | 1999-03-09 | Nec Corp | Asynchronous data conversion system |
Also Published As
Publication number | Publication date |
---|---|
JP2006236060A (en) | 2006-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7574638B2 (en) | Semiconductor device tested using minimum pins and methods of testing the same | |
JPH0784863A (en) | Information processing apparatus and semiconductor memory device suitable for the same | |
US7395450B2 (en) | Synchronous/asynchronous interface circuit and electronic device | |
JP4620492B2 (en) | Bus interface circuit | |
US20070038795A1 (en) | Asynchronous bus interface and processing method thereof | |
JP3861650B2 (en) | Interface circuit | |
JP3859885B2 (en) | Semiconductor memory device | |
JP2012100058A (en) | Delay circuit, delay control device, memory control device and information terminal apparatus | |
US8194496B2 (en) | Circuit and method for recovering clock data in highly integrated semiconductor memory apparatus | |
EP2735927A2 (en) | Data processing apparatus and method in PLC system | |
JP2008118179A (en) | Semiconductor integrated circuit | |
EP1443412A2 (en) | Information processing apparatus and memory access arranging method | |
JP4696003B2 (en) | Data transfer circuit | |
JP5489871B2 (en) | Image processing device | |
JP2005250683A (en) | Microcomputer | |
JP5304510B2 (en) | Arbitration device, bus access arbitration program, and bus access arbitration method | |
JP5471437B2 (en) | Semiconductor integrated circuit device and cache memory control method | |
JP2007258995A (en) | Apparatus for adjusting phase of data signal, and semiconductor device | |
JP5393626B2 (en) | Information processing device | |
JP5233543B2 (en) | Data processing circuit, image processing apparatus, and data processing method | |
JP4819493B2 (en) | Circuit system | |
JP4587000B2 (en) | Chip select circuit | |
JP2010146352A (en) | Memory access control circuit and memory access control method | |
JP2010271768A (en) | Cpu interface circuit and restoration method of cpu interface circuit from abnormal state | |
JP2000305895A (en) | Asynchronous interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100709 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100720 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100917 |
|
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: 20101026 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101028 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131105 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |