JP6030033B2 - Memory device - Google Patents

Memory device Download PDF

Info

Publication number
JP6030033B2
JP6030033B2 JP2013181339A JP2013181339A JP6030033B2 JP 6030033 B2 JP6030033 B2 JP 6030033B2 JP 2013181339 A JP2013181339 A JP 2013181339A JP 2013181339 A JP2013181339 A JP 2013181339A JP 6030033 B2 JP6030033 B2 JP 6030033B2
Authority
JP
Japan
Prior art keywords
signal
synchronization
read
write
unit
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.)
Active
Application number
JP2013181339A
Other languages
Japanese (ja)
Other versions
JP2015049917A (en
Inventor
武志 端田
武志 端田
章 庄司
章 庄司
英樹 山崎
英樹 山崎
孝二 菊地
孝二 菊地
健彦 菅
健彦 菅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alps Alpine Co Ltd
Original Assignee
Alps Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alps Electric Co Ltd filed Critical Alps Electric Co Ltd
Priority to JP2013181339A priority Critical patent/JP6030033B2/en
Publication of JP2015049917A publication Critical patent/JP2015049917A/en
Application granted granted Critical
Publication of JP6030033B2 publication Critical patent/JP6030033B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、異なるクロック信号に同期して読み出しと書き込みが行われるメモリ装置に係り、例えば、非同期FIFOメモリ装置に関するものである。   The present invention relates to a memory device in which reading and writing are performed in synchronization with different clock signals, for example, an asynchronous FIFO memory device.

FIFOメモリ装置は、データを一時的に蓄積するバッファとして一般的に使用されている。特に、異なるクロック信号に同期した回路ブロック間でデータをやり取りする場合などにおいては、読み出しと書き込みが非同期でも動作可能な非同期FIFOメモリ装置が使用される。   A FIFO memory device is generally used as a buffer for temporarily storing data. In particular, when data is exchanged between circuit blocks synchronized with different clock signals, an asynchronous FIFO memory device that can operate even when reading and writing are asynchronous is used.

図16は、特許文献1に記載される従来の非同期FIFOメモリ装置の構成を示す図である。
一般にFIFOメモリ装置は、書き込み先のアドレス(書き込みポインタ)を生成するカウンタと、読み出し先のアドレス(読み出しポインタ)を生成するカウンタをそれぞれ備えるとともに、書き込みポインタと読み出しポインタの比較回路を備える。この比較回路は、現在の記憶状態(満状態/空状態)やデータ蓄積数を示す信号を生成する。
図16に示す従来の非同期FIFOメモリ装置3は、書き込み用のクロック信号WCLKに基づいて動作する回路領域(WCLKドメイン)と、読み出し用のクロック信号RCLKに基づいて動作する回路領域(RCLKドメイン)を有する。書き込みポインタを生成するカウンタ32_1はWCLKドメインに設けられ、読み出しポインタを生成するカウンタ33_1はRCLKドメインに設けられている。書き込みポインタと読み出しポインタがそれぞれ別のクロックドメインで生成されることから、比較回路もそれぞれのクロックドメインに独立して設けられている(32_5,33_5)。
FIG. 16 is a diagram showing a configuration of a conventional asynchronous FIFO memory device described in Patent Document 1. In FIG.
In general, a FIFO memory device includes a counter that generates a write destination address (write pointer), a counter that generates a read destination address (read pointer), and a comparison circuit for the write pointer and the read pointer. This comparison circuit generates a signal indicating the current storage state (full state / empty state) and the number of data stored.
The conventional asynchronous FIFO memory device 3 shown in FIG. 16 has a circuit area (WCLK domain) that operates based on a write clock signal WCLK and a circuit area (RCLK domain) that operates based on a read clock signal RCLK. Have. A counter 32_1 that generates a write pointer is provided in the WCLK domain, and a counter 33_1 that generates a read pointer is provided in the RCLK domain. Since the write pointer and the read pointer are generated in different clock domains, the comparison circuit is also provided independently in each clock domain (32_5, 33_5).

また、図16に示す非同期FIFOメモリ装置3では、2つのクロックドメインにそれぞれ設けられた比較回路(32_5,33_5)において書き込みポインタと読み出しポインタを比較する必要があることから、別のクロックドメインで生成されたポインタを同期化するための同期化回路が各クロックドメインに設けられている(32_2,33_2)。   Further, in the asynchronous FIFO memory device 3 shown in FIG. 16, since the write pointer and the read pointer need to be compared in the comparison circuit (32_5, 33_5) provided in each of the two clock domains, it is generated in another clock domain. A synchronization circuit for synchronizing the pointers provided is provided in each clock domain (32_2, 33_2).

更に、図16に示す非同期FIFOメモリ装置3のカウンタ32_1,33_1では、書き込みポインタ,読み出しポインタがグレイコードとして生成される。複数のビットが同時に変化し得るコード(バイナリコード等)の場合、同期化の際に全く異なる順番のコードへ誤って変換される可能性があるが、1ビットずつしか変化しないコード(グレイコード,ジョンソン・カウンタによるコードなど)は、そのような誤変換が生じないという利点がある。ただし、グレイコードはバイナリコードに比べてビット長が長く、そのままで比較処理を行うと回路規模が大きくなるため、図16に示す非同期FIFOメモリ装置3では、比較回路(32_5,33_5)に入力される各ポインタをグレイコードからバイナリコードへ変換する回路が設けられている(32_3,32_4,33_3,33_4)。   Further, in the counters 32_1 and 33_1 of the asynchronous FIFO memory device 3 shown in FIG. 16, the write pointer and the read pointer are generated as gray codes. In the case of a code in which a plurality of bits can be changed at the same time (binary code, etc.), there is a possibility that the code is erroneously converted into a completely different code at the time of synchronization. Johnson counter codes, etc.) have the advantage that no such erroneous conversion occurs. However, the gray code has a bit length longer than that of the binary code, and if the comparison process is performed as it is, the circuit scale becomes large. Therefore, in the asynchronous FIFO memory device 3 shown in FIG. A circuit for converting each pointer from gray code to binary code is provided (32_3, 32_4, 33_3, 33_4).

特開2010−268302号公報JP 2010-268302 A

図16に示す非同期FIFOメモリ装置3では、2つのクロックドメイン(WCLKドメイン,RCLKドメイン)にそれぞれポインタ生成用のカウンタ(32_1,33_1)と比較回路(32_5,33_5)が設けられていることから、互いに他方のクロックドメインで生成されたポインタを参照するための同期化回路(32_2,33_2)が必要となる。また、多ビットのポインタを同期化することによる誤変換を防ぐため、グレイコードからバイナリコードへの変換回路(32_3,32_4,33_3,33_4)も必要となる。従って、回路規模が大きくなり、設計が複雑化するという問題がある。   In the asynchronous FIFO memory device 3 shown in FIG. 16, the pointer generation counter (32_1, 33_1) and the comparison circuit (32_5, 33_5) are provided in two clock domains (WCLK domain, RCLK domain), respectively. A synchronization circuit (32_2, 33_2) is required to refer to pointers generated in the other clock domain. Also, a gray code to binary code conversion circuit (32_3, 32_4, 33_3, 33_4) is required to prevent erroneous conversion due to synchronization of multi-bit pointers. Therefore, there is a problem that the circuit scale becomes large and the design becomes complicated.

本発明はかかる事情に鑑みてなされたものであり、その目的は、異なるクロック信号に同期して読み出しと書き込みを行うことが可能でありながら、回路規模を小さくすることができるメモリ装置を提供することにある。   The present invention has been made in view of such circumstances, and an object thereof is to provide a memory device that can reduce the circuit scale while being able to read and write in synchronization with different clock signals. There is.

本発明に係るメモリ装置は、第1クロック信号に同期してデータの書き込みを行い、第2クロック信号に同期してデータの読み出しを行うメモリ装置であって、前記第1クロック信号に同期した書き込み要求信号が入力されると、前記書き込み要求信号を前記第2クロック信号に同期化した読み出し待ち信号を出力し、前記第2クロック信号に同期した読み出し要求信号が入力されると、前記読み出し要求信号を前記第1クロック信号に同期化した書き込み待ち信号を出力する要求調停部と、前記書き込み待ち信号が出力されていないことを条件に生成される書き込みイネーブル信号が前記第1クロック信号に同期して入力されると、前記第1クロック信号を選択して出力し、前記読み出し待ち信号が出力されていないことを条件に生成される読み出しイネーブル信号が前記第2クロック信号に同期して入力されると、前記第2クロック信号を選択して出力するクロック選択部と、前記書き込みイネーブル信号が入力されると、前記クロック選択部において選択されたクロック信号に同期して、書き込みポインタに応じたアドレスにデータを書き込み、前記読み出しイネーブル信号が入力されると、前記クロック選択部において選択されたクロック信号に同期して、読み出しポインタに応じたアドレスからデータを読み出すメモリ部と、前記書き込みイネーブル信号が入力されると、前記クロック選択部において選択されたクロック信号に同期して前記書き込みポインタを更新する書き込みポインタ更新部と、前記読み出しイネーブル信号が入力されると、前記クロック選択部において選択されたクロック信号に同期して前記読み出しポインタを更新する読み出しポインタ更新部と、前記書き込みポインタ及び前記読み出しポインタに基づいて、前記メモリ部に蓄積されたデータの数に関わる状態信号を生成する状態信号生成部とを有することを特徴とする。   A memory device according to the present invention is a memory device that writes data in synchronization with a first clock signal and reads data in synchronization with a second clock signal, wherein the writing is synchronized with the first clock signal. When a request signal is input, a read wait signal is output in which the write request signal is synchronized with the second clock signal, and when a read request signal is input in synchronization with the second clock signal, the read request signal is output A request arbitration unit that outputs a write wait signal synchronized with the first clock signal, and a write enable signal generated on condition that the write wait signal is not output in synchronization with the first clock signal. When input, the first clock signal is selected and output, and is generated on condition that the read wait signal is not output. When a read enable signal is input in synchronization with the second clock signal, the clock selection unit selects and outputs the second clock signal; and when the write enable signal is input, the clock selection unit selects When data is written to the address corresponding to the write pointer in synchronization with the clock signal and the read enable signal is input, the data corresponding to the read pointer is synchronized with the clock signal selected by the clock selection unit. When a memory unit that reads data from an address, the write enable signal is input, a write pointer update unit that updates the write pointer in synchronization with the clock signal selected by the clock selection unit, and the read enable signal When input, the clock selection unit A read pointer update unit that updates the read pointer in synchronization with the selected clock signal, and a status signal related to the number of data stored in the memory unit based on the write pointer and the read pointer. And a state signal generation unit.

上記メモリ装置では、前記第1クロック信号に同期した書き込み要求信号が入力されると、前記書き込み要求信号を前記第2クロック信号に同期化した読み出し待ち信号が前記要求調停部から出力され、前記読み出し待ち信号が出力される間は、前記読み出しイネーブル信号の生成が待機される。前記第2クロック信号に同期した読み出し要求信号が入力されると、前記読み出し要求信号を前記第1クロック信号に同期化した書き込み待ち信号が前記要求調停部から出力され、前記書き込み待ち信号が出力される間は、前記書き込みイネーブル信号の生成が待機される。前記書き込みイネーブル信号が入力されると、前記書き込みクロック信号が前記クロック選択部において選択され、この選択された書き込みクロック信号に同期して、前記メモリ部へのデータの書き込みが行われる。前記読み出しイネーブル信号が入力されると、前記読み出しクロック信号が前記クロック選択部において選択され、この選択された読み出しクロック信号に同期して、前記メモリ部からのデータの読み出しが行われる。
このように、上記メモリ装置では、書き込み動作を有効にする書き込みイネーブル信号と、読み出し動作を有効にする読み出しイネーブル信号とが競合しないように、両者の入力のタイミングが調停される。
そして、上記メモリ装置では、前記メモリ部、前記書き込みポインタ更新部、前記読み出しポインタ更新部及び前記状態信号生成部が、前記クロック選択部において選択された単一のクロック信号に同期して動作する。
そのため、上記メモリ装置では、ポインタ(書き込みポインタ,読み出しポインタ)を同期化するための回路や、ポインタのコードを変換する回路が不要になる。また、状態信号を生成する回路を、書き込み側と読み出し側にそれぞれ設ける必要がない。
In the memory device, when a write request signal synchronized with the first clock signal is input, a read wait signal in which the write request signal is synchronized with the second clock signal is output from the request arbitration unit, and the read While the wait signal is output, generation of the read enable signal is awaited. When a read request signal synchronized with the second clock signal is input, a write wait signal in which the read request signal is synchronized with the first clock signal is output from the request arbitration unit, and the write wait signal is output. During this time, the generation of the write enable signal is awaited. When the write enable signal is input, the write clock signal is selected by the clock selection unit, and data is written to the memory unit in synchronization with the selected write clock signal. When the read enable signal is input, the read clock signal is selected by the clock selection unit, and data is read from the memory unit in synchronization with the selected read clock signal.
As described above, in the memory device, the input timings of both are adjusted so that the write enable signal for enabling the write operation and the read enable signal for enabling the read operation do not compete with each other.
In the memory device, the memory unit, the write pointer update unit, the read pointer update unit, and the status signal generation unit operate in synchronization with a single clock signal selected by the clock selection unit.
Therefore, the memory device does not require a circuit for synchronizing pointers (write pointer, read pointer) and a circuit for converting the code of the pointer. Further, it is not necessary to provide a circuit for generating a status signal on each of the writing side and the reading side.

好適に、前記要求調停部は、前記読み出し要求信号を前記第1クロック信号に同期化する第1同期化部と、前記書き込み要求信号を前記第2クロック信号に同期化する第2同期化部と、調停制御部とを含む。前記調停制御部は、前記読み出し要求信号を前記第1クロック信号に同期化した信号(以下、「第1同期化信号」と記す。)が前記第1同期化部において出力される場合に、前記第2同期化部への前記書き込み要求信号の入力を抑止してもよいし、或いは、前記書き込み要求信号を前記第2クロック信号に同期化した信号(以下、「第2同期化信号」と記す。)が前記第2同期化部において出力される場合に、前記第1同期化部への前記読み出し要求信号の入力を抑止してもよい。   Preferably, the request arbitration unit includes a first synchronization unit that synchronizes the read request signal with the first clock signal, and a second synchronization unit that synchronizes the write request signal with the second clock signal. And an arbitration control unit. The arbitration control unit, when a signal obtained by synchronizing the read request signal with the first clock signal (hereinafter referred to as “first synchronization signal”) is output in the first synchronization unit, The input of the write request signal to the second synchronization unit may be suppressed, or a signal obtained by synchronizing the write request signal with the second clock signal (hereinafter referred to as “second synchronization signal”). .) May be output from the second synchronization unit, the input of the read request signal to the first synchronization unit may be suppressed.

上記の構成によれば、前記第1同期化信号を前記書き込み待ち信号として出力し、前記第2同期化信号を前記読み出し待ち信号として出力することが可能であるとともに、前記書き込み待ち信号と前記読み出し待ち信号とが競合して書き込み動作と読み出し動作の両方が待機状態となることを防止できる。   According to the above configuration, the first synchronization signal can be output as the write wait signal, the second synchronization signal can be output as the read wait signal, and the write wait signal and the read wait signal can be output. It is possible to prevent both the write operation and the read operation from entering a standby state due to a conflict with the wait signal.

好適に、前記調停制御部は、前記書き込み要求信号が入力された場合、前記第1同期化信号が前記第1同期化部において出力されていないことを条件として、前記書き込み要求信号を前記第1クロック信号に同期して保持するとともに、当該保持した書き込み要求信号を前記第2同期化部へ入力し、前記書き込み要求信号を保持しているときは、前記書き込み待ち信号の出力を抑止し、前記書き込み要求信号の入力が終了すると、前記書き込み要求信号の保持を解除し、前記書き込み要求信号を保持していないときは、前記第1同期化部の前記第1同期化信号に応じた前記書き込み待ち信号を出力してよい。   Preferably, the arbitration control unit receives the write request signal when the write request signal is input, on the condition that the first synchronization signal is not output in the first synchronization unit. While holding in synchronization with the clock signal and inputting the held write request signal to the second synchronization unit, when holding the write request signal, the output of the write wait signal is suppressed, When the input of the write request signal is completed, the holding of the write request signal is released, and when the write request signal is not held, the write waiting according to the first synchronization signal of the first synchronization unit is released. A signal may be output.

上記の構成によれば、前記第1同期化信号が前記第1同期化部において出力されていないときに前記書き込み要求信号が入力された場合、前記書き込み要求信号が前記第1クロック信号に同期して前記調停制御部に保持されるとともに、当該保持された書き込み要求信号が前記第2同期化部へ入力される。前記調停制御部において前記書き込み要求信号が保持されている間は、記書き込み待ち信号の出力が抑止される。前記書き込み要求信号の入力が終了すると、前記調停制御部において前記書き込み要求信号の保持が解除される。前記調停制御部において前記書き込み要求信号が保持されていない場合、前記第1同期化部の前記第1同期化信号に応じた前記書き込み待ち信号が前記調停制御部から出力される。前記調停制御部において前記書き込み要求信号が保持されていないときに前記第1同期化信号が前記第1同期化部において出力された場合は、前記第1同期化信号の出力が続く間、前記調停制御部において前記書き込み要求信号が保持されなくなるため、前記第2同期化部への前記書き込み要求信号の入力が抑止される。   According to the above configuration, when the write request signal is input when the first synchronization signal is not output in the first synchronization unit, the write request signal is synchronized with the first clock signal. Are held in the arbitration control unit, and the held write request signal is input to the second synchronization unit. While the write request signal is held in the arbitration control unit, the output of the write wait signal is suppressed. When the input of the write request signal ends, the arbitration control unit releases the holding of the write request signal. When the write request signal is not held in the arbitration control unit, the write wait signal corresponding to the first synchronization signal of the first synchronization unit is output from the arbitration control unit. When the first synchronization signal is output from the first synchronization unit when the write request signal is not held in the arbitration control unit, the arbitration is performed while the output of the first synchronization signal continues. Since the write request signal is not held in the control unit, the input of the write request signal to the second synchronization unit is suppressed.

好適に、前記調停制御部は、前記読み出し要求信号が入力された場合、前記第2同期化信号が前記第2同期化部において出力されていないことを条件として、前記読み出し要求信号を前記第2クロック信号に同期して保持するとともに、当該保持した読み出し要求信号を前記第1同期化部へ入力し、前記読み出し要求信号を保持しているときは、前記読み出し待ち信号の出力を抑止し、前記読み出し要求信号の入力が終了すると、前記読み出し要求信号の保持を解除し、前記読み出し要求信号を保持していないときは、前記第2同期化部の前記第2同期化信号に応じた前記読み出し待ち信号を出力してよい。   Preferably, when the read request signal is input, the arbitration control unit outputs the read request signal to the second on condition that the second synchronization signal is not output in the second synchronization unit. While holding in synchronization with the clock signal, the held read request signal is input to the first synchronization unit, and when holding the read request signal, the output of the read waiting signal is suppressed, When the input of the read request signal is finished, the holding of the read request signal is canceled, and when the read request signal is not held, the read waiting according to the second synchronization signal of the second synchronization unit is released. A signal may be output.

上記の構成によれば、前記第2同期化信号が前記第2同期化部において出力されていないときに前記読み出し要求信号が入力された場合、前記読み出し要求信号が前記第2クロック信号に同期して前記調停制御部に保持されるとともに、当該保持され読み出し要求信号が前記第1同期化部へ入力される。前記調停制御部において前記読み出し要求信号が保持されている間は、前記読み出し待ち信号の出力が抑止される。前記読み出し要求信号の入力が終了すると、前記調停制御部において前記読み出し要求信号の保持が解除される。前記調停制御部において前記読み出し要求信号が保持されていない場合、前記第2同期化部の前記第2同期化信号に応じた前記読み出し待ち信号が前記調停制御部から出力される。前記調停制御部において前記読み出し要求信号が保持されていないときに前記第2同期化信号が前記第2同期化部において出力された場合は、前記第2同期化信号の出力が続く間、前記調停制御部において前記読み出し要求信号が保持されなくなるため、前記第1同期化部への前記読み出し要求信号の入力が抑止される。   According to the above configuration, when the read request signal is input when the second synchronization signal is not output in the second synchronization unit, the read request signal is synchronized with the second clock signal. Are held in the arbitration control unit, and the held read request signal is input to the first synchronization unit. While the read request signal is held in the arbitration control unit, the output of the read wait signal is suppressed. When the input of the read request signal ends, the arbitration control unit releases the holding of the read request signal. When the read request signal is not held in the arbitration control unit, the read wait signal corresponding to the second synchronization signal of the second synchronization unit is output from the arbitration control unit. When the second synchronization signal is output from the second synchronization unit when the read request signal is not held in the arbitration control unit, the arbitration is performed while the output of the second synchronization signal continues. Since the read request signal is not held in the control unit, the input of the read request signal to the first synchronization unit is suppressed.

好適に、前記調停制御部は、前記第2同期化部から前記第2同期化信号が出力された場合、前記読み出し要求信号が入力されていないことを条件として、前記第2同期化信号を前記第2クロック信号に同期して保持するとともに、当該保持した第2同期化信号を前記読み出し待ち信号として出力し、前記第2同期化信号を保持しているときは、前記第1同期化部への前記読み出し要求信号の入力を抑止し、前記第2同期化部からの前記第2同期化信号の出力が終了すると、前記第2同期化信号の保持を解除するとともに前記読み出し待ち信号の出力を終了し、前記第2同期化信号を保持していないときは、入力される前記読み出し要求信号に応じた信号を前記第1同期化部に入力してよい。   Preferably, the arbitration control unit outputs the second synchronization signal when the second synchronization signal is output from the second synchronization unit on the condition that the read request signal is not input. The second synchronization signal is held in synchronization with the second clock signal, the held second synchronization signal is output as the read waiting signal, and when the second synchronization signal is held, the first synchronization unit When the output of the second synchronization signal from the second synchronization unit is terminated, the holding of the second synchronization signal is canceled and the read waiting signal is output. When the processing is terminated and the second synchronization signal is not held, a signal corresponding to the input read request signal may be input to the first synchronization unit.

上記の構成によれば、前記読み出し要求信号が入力されていないときに前記第2同期化部から前記第2同期化信号が出力された場合、前記調停制御部において前記第2同期化信号が前記第2クロック信号に同期して保持されるとともに、当該保持された第2同期化信号が前記読み出し待ち信号として出力される。前記調停制御部において前記第2同期化信号が保持されている間は、前記第1同期化部への前記読み出し要求信号の入力が抑止される。前記第2同期化部からの前記第2同期化信号の出力が終了すると、前記調停制御部において前記第2同期化信号の保持が解除されるとともに、前記読み出し待ち信号の出力が終了する。前記調停制御部において前記第2同期化信号が保持されていない場合、入力される前記読み出し要求信号に応じた信号が前記第1同期化部に入力される。前記調停制御部において前記第2同期化信号が保持されていないときに前記読み出し要求信号が入力された場合は、前記読み出し要求信号の入力が続く間、前記調停制御部において前記第2同期化信号が保持されなくなるため、前記読み出し待ち信号の出力が抑止される。   According to the above configuration, when the second synchronization signal is output from the second synchronization unit when the read request signal is not input, the second synchronization signal is output from the arbitration control unit. While being held in synchronization with the second clock signal, the held second synchronization signal is output as the read waiting signal. While the second synchronization signal is held in the arbitration control unit, input of the read request signal to the first synchronization unit is suppressed. When the output of the second synchronization signal from the second synchronization unit ends, the arbitration control unit releases the holding of the second synchronization signal and the output of the read waiting signal ends. When the second synchronization signal is not held in the arbitration control unit, a signal corresponding to the input read request signal is input to the first synchronization unit. When the read request signal is input when the second synchronization signal is not held in the arbitration control unit, the second synchronization signal is input in the arbitration control unit while the input of the read request signal continues. Is not held, so that the output of the read waiting signal is suppressed.

好適に、前記調停制御部は、前記第1同期化部から前記第1同期化信号が出力された場合、前記書き込み要求信号が入力されていないことを条件として、前記第1同期化信号を前記第1クロック信号に同期して保持するとともに、当該保持した第1同期化信号を前記書き込み待ち信号として出力し、前記第1同期化信号を保持しているときは、前記第2同期化部への前記書き込み要求信号の入力を抑止し、前記第1同期化部からの前記第1同期化信号の出力が終了すると、前記第1同期化信号の保持を解除するとともに前記書き込み待ち信号の出力を終了し、前記第1同期化信号を保持していないときは、入力される前記書き込み要求信号に応じた信号を前記第2同期化部に入力してよい。   Preferably, the arbitration control unit outputs the first synchronization signal when the first synchronization signal is output from the first synchronization unit on the condition that the write request signal is not input. The first synchronization signal is held in synchronization with the first clock signal, and the held first synchronization signal is output as the write wait signal. When the first synchronization signal is held, the second synchronization unit When the output of the first synchronization signal from the first synchronization unit is terminated, the holding of the first synchronization signal is released and the write wait signal is output. When the processing is terminated and the first synchronization signal is not held, a signal corresponding to the input write request signal may be input to the second synchronization unit.

上記の構成によれば、前記書き込み要求信号が入力されていないときに前記第1同期化部から前記第1同期化信号が出力された場合、前記調停制御部において前記第1同期化信号が前記第1クロック信号に同期して保持されるとともに、当該保持された第1同期化信号が前記書き込み待ち信号として出力される。前記調停制御部において前記第1同期化信号が保持されている間は、前記第2同期化部への前記書き込み要求信号の入力が抑止される。前記第1同期化部からの前記第1同期化信号の出力が終了すると、前記調停制御部において前記第1同期化信号の保持が解除されるとともに前記書き込み待ち信号の出力が終了する。前記調停制御部において前記第1同期化信号が保持されていない場合、入力される前記書き込み要求信号に応じた信号が前記第2同期化部に入力される。前記調停制御部において前記第1同期化信号が保持されていないときに前記書き込み要求信号が入力された場合は、前記書き込み要求信号の入力が続く間、前記調停制御部において前記第1同期化信号が保持されなくなるため、前記書き込み待ち信号の出力が抑止される。   According to the above configuration, when the first synchronization signal is output from the first synchronization unit when the write request signal is not input, the first synchronization signal is While being held in synchronization with the first clock signal, the held first synchronization signal is output as the write wait signal. While the first synchronization signal is held in the arbitration control unit, the input of the write request signal to the second synchronization unit is suppressed. When the output of the first synchronization signal from the first synchronization unit ends, the arbitration control unit releases the holding of the first synchronization signal and ends the output of the write wait signal. When the first synchronization signal is not held in the arbitration control unit, a signal corresponding to the input write request signal is input to the second synchronization unit. When the write request signal is input when the first synchronization signal is not held in the arbitration control unit, the first synchronization signal is input in the arbitration control unit while the input of the write request signal continues. Is not held, so that the output of the write wait signal is suppressed.

好適に、上記メモリ装置は、前記クロック選択部において選択されたクロック信号に同期してそれぞれ動作し、スキャンテストを実施する場合においてシリアルデータを転送するシフトレジスタを構成するように縦続接続される複数のフリップフロップを含んでよい。この場合、前記クロック選択部は、前記複数のフリップフロップが前記シフトレジスタを構成する第1の動作モードにおいては、前記第1クロック信号又は前記第2クロック信号の何れか一方を選択して出力してよい。また、前記クロック選択部は、前記複数のフリップフロップにそれぞれデータを保持させる第2の動作モードにおいては、前記書き込みイネーブル信号が入力される場合に前記第1クロック信号を選択して出力し、前記読み出しイネーブル信号が入力される場合に前記第2クロック信号を選択して出力してよい。   Preferably, the memory devices operate in synchronization with a clock signal selected by the clock selection unit, and are connected in cascade so as to constitute a shift register for transferring serial data when performing a scan test. Flip-flops. In this case, the clock selection unit selects and outputs either the first clock signal or the second clock signal in the first operation mode in which the plurality of flip-flops constitute the shift register. It's okay. The clock selection unit selects and outputs the first clock signal when the write enable signal is input in the second operation mode in which data is held in the plurality of flip-flops. When the read enable signal is input, the second clock signal may be selected and output.

本発明によれば、メモリ部、書き込みポインタ更新部、読み出しポインタ更新部及び状態信号の生成部が、クロック選択部において選択された単一のクロック信号に同期して動作することから、従来のメモリ装置のようなポインタの同期化やコード変換が不要となり、状態信号生成部を書き込み系と読み出し系にそれぞれ設ける必要がないため、回路規模を小さくすることができる。   According to the present invention, the memory unit, the write pointer update unit, the read pointer update unit, and the status signal generation unit operate in synchronization with a single clock signal selected by the clock selection unit. No pointer synchronization or code conversion as in the apparatus is required, and it is not necessary to provide a state signal generation unit in each of the writing system and the reading system, so that the circuit scale can be reduced.

本発明の実施形態に係る非同期FIFOメモリ装置の入出力信号の一例を示す図である。It is a figure which shows an example of the input-output signal of the asynchronous FIFO memory device based on embodiment of this invention. 本発明の実施形態に係る非同期FIFOメモリ装置の構成の一例を示す図である。It is a figure which shows an example of a structure of the asynchronous FIFO memory device based on embodiment of this invention. 本発明の第1の実施形態に係る非同期FIFOメモリ装置における要求調停部の構成の一例を示す図である。It is a figure which shows an example of a structure of the request arbitration part in the asynchronous FIFO memory device which concerns on the 1st Embodiment of this invention. 第1の実施形態に係る非同期FIFOメモリ装置の動作の一例を説明するためのタイミング図であり、書き込み処理及び読み出し処理がそれぞれ待たされずに実行される場合を示す。FIG. 6 is a timing diagram for explaining an example of the operation of the asynchronous FIFO memory device according to the first embodiment, and shows a case where a write process and a read process are executed without waiting. 第1の実施形態に係る非同期FIFOメモリ装置の動作の一例を説明するためのタイミング図であり、先行する読み出し処理のために書き込み処理が待たされる場合を示す。FIG. 6 is a timing diagram for explaining an example of the operation of the asynchronous FIFO memory device according to the first embodiment, showing a case where a write process is awaited for a preceding read process. 第1の実施形態に係る非同期FIFOメモリ装置の動作の一例を説明するためのタイミング図であり、先行する書き込み処理のために読み出し処理が待たされる場合を示す。FIG. 6 is a timing chart for explaining an example of the operation of the asynchronous FIFO memory device according to the first embodiment, showing a case where a read process is waited for a preceding write process. 本発明の第2の実施形態に係る非同期FIFOメモリ装置における要求調停部の構成の一例を示す図である。It is a figure which shows an example of a structure of the request | requirement arbitration part in the asynchronous FIFO memory device based on the 2nd Embodiment of this invention. 第2の実施形態に係る非同期FIFOメモリ装置の動作の一例を説明するためのタイミング図であり、先行する書き込み処理のために読み出し処理が待たされる場合を示す。FIG. 10 is a timing chart for explaining an example of the operation of the asynchronous FIFO memory device according to the second embodiment, and shows a case where a read process is waited for a preceding write process. 第2の実施形態に係る非同期FIFOメモリ装置の動作の一例を説明するためのタイミング図であり、先行する読み出し処理のために書き込み処理が待たされる場合を示す。FIG. 10 is a timing diagram for explaining an example of the operation of the asynchronous FIFO memory device according to the second embodiment, and shows a case where a write process is waited for a preceding read process. 本発明の第3の実施形態に係る非同期FIFOメモリ装置における要求調停部の構成の一例を示す図である。It is a figure which shows an example of a structure of the request arbitration part in the asynchronous FIFO memory device which concerns on the 3rd Embodiment of this invention. 第3の実施形態に係る非同期FIFOメモリ装置の動作の一例を説明するためのタイミング図であり、先行する書き込み処理のために読み出し処理が待たされる場合を示す。FIG. 10 is a timing chart for explaining an example of the operation of the asynchronous FIFO memory device according to the third embodiment, and shows a case where a read process is waited for a preceding write process. 第3の実施形態に係る非同期FIFOメモリ装置の動作の一例を説明するためのタイミング図であり、先行する読み出し処理のために書き込み処理が待たされる場合を示す。FIG. 10 is a timing chart for explaining an example of the operation of the asynchronous FIFO memory device according to the third embodiment, and shows a case where a write process is waited for a preceding read process. 本発明の第4の実施形態に係る非同期FIFOメモリ装置の構成の一例を示す図である。It is a figure which shows an example of a structure of the asynchronous FIFO memory device based on the 4th Embodiment of this invention. 第4の実施形態に係る非同期FIFOメモリ装置におけるクロック選択部の構成の一例を示す図である。It is a figure which shows an example of a structure of the clock selection part in the asynchronous FIFO memory device based on 4th Embodiment. クロック・ゲーティング回路の一例を示す図である。It is a figure which shows an example of a clock gating circuit. 従来の非同期FIFOメモリ装置の構成を示す図である。It is a figure which shows the structure of the conventional asynchronous FIFO memory device.

<第1の実施形態>
本発明の第1の実施形態として、本発明が適用された非同期FIFOメモリ装置について説明する。
<First Embodiment>
As a first embodiment of the present invention, an asynchronous FIFO memory device to which the present invention is applied will be described.

図1は、第1の実施形態に係る非同期FIFOメモリ装置1の入出力信号の一例を示す図である。
非同期FIFOメモリ装置1において入出力される信号は、書き込みクロック信号WCLKに同期したものと、読み出しクロック信号RCLKに同期したものとに分かれている。書き込み要求信号WREQ、書き込みイネーブル信号WEN、書き込みデータWD及び書き込み待ち機能有効信号W_WAIT_ENは、書き込みクロック信号WCLKに同期した入力信号であり、書き込み待ち信号W_WAIT及び書き込み状態信号W_NUM/FULLは、書き込みクロック信号WCLKに同期した出力信号である。他方、読み出し要求信号RREQ、読み出しイネーブル信号REN及び読み出し待ち機能有効信号R_WAIT_ENは、読み出しクロック信号RCLKに同期した入力信号であり、読み出しデータRD、読み出し待ち信号R_WAIT及び読み出し状態信号R_NUM/FULLは、読み出しクロック信号RCLKに同期した出力信号である。
FIG. 1 is a diagram illustrating an example of input / output signals of the asynchronous FIFO memory device 1 according to the first embodiment.
Signals input / output in the asynchronous FIFO memory device 1 are divided into signals synchronized with the write clock signal WCLK and signals synchronized with the read clock signal RCLK. The write request signal WREQ, the write enable signal WEN, the write data WD, and the write wait function enable signal W_WAIT_EN are input signals synchronized with the write clock signal WCLK, and the write wait signal W_WAIT and the write status signal W_NUM / FULL are write clock signals. This is an output signal synchronized with WCLK. On the other hand, the read request signal RREQ, the read enable signal REN, and the read wait function enable signal R_WAIT_EN are input signals synchronized with the read clock signal RCLK, and the read data RD, the read wait signal R_WAIT, and the read status signal R_NUM / FULL are read. The output signal is synchronized with the clock signal RCLK.

非同期FIFOメモリ装置1にデータWDを書き込む場合、書き込み側の装置は、書き込み要求信号WREQを非同期FIFOメモリ装置1へ事前に入力する。非同期FIFOメモリ装置1は、書き込み要求信号WREQを読み出しクロック信号RCLKに同期化し、後述する読み出し待ち信号R_WAITとして読み出し側の装置に出力する。   When writing the data WD to the asynchronous FIFO memory device 1, the writing side device inputs the write request signal WREQ to the asynchronous FIFO memory device 1 in advance. The asynchronous FIFO memory device 1 synchronizes the write request signal WREQ with the read clock signal RCLK and outputs it to the read side device as a read wait signal R_WAIT described later.

書き込み側の装置は、非同期FIFOメモリ装置1に書き込み要求信号WREQを入力してから一定時間が経過した後、非同期FIFOメモリ装置1から書き込み待ち信号W_WAITが出力されているか否か確認する。書き込み待ち信号W_WAITが出力されていない場合、書き込み側の装置は、非同期FIFOメモリ装置1に書き込みイネーブル信号WENを入力する。非同期FIFOメモリ装置1は、書き込みイネーブル信号WENが入力されると、書き込みクロック信号WCLKに同期してデータWDを取り込み、記憶領域に格納する。非同期FIFOメモリ装置1から書き込み待ち信号W_WAITが出力されている場合、書き込み側の装置は、書き込み待ち信号W_WAITの出力が終わる(ネゲートする)まで、非同期FIFOメモリ装置1への書き込みイネーブル信号WENの入力を待機させる。   The device on the writing side checks whether or not a write wait signal W_WAIT is output from the asynchronous FIFO memory device 1 after a predetermined time has elapsed since the write request signal WREQ was input to the asynchronous FIFO memory device 1. When the write wait signal W_WAIT is not output, the writing side device inputs the write enable signal WEN to the asynchronous FIFO memory device 1. When the write enable signal WEN is input, the asynchronous FIFO memory device 1 takes in the data WD in synchronization with the write clock signal WCLK and stores it in the storage area. When the write wait signal W_WAIT is output from the asynchronous FIFO memory device 1, the write side device inputs the write enable signal WEN to the asynchronous FIFO memory device 1 until the output of the write wait signal W_WAIT is completed (negotiated). To wait.

一方、非同期FIFOメモリ装置1からデータRDを読み出す場合、読み出し側の装置は、読み出し要求信号RREQを非同期FIFOメモリ装置1へ事前に入力する。非同期FIFOメモリ装置1は、読み出し要求信号RREQを書き込みクロック信号WCLKに同期化し、上述した書き込み待ち信号W_WAITとして書き込み側の装置に出力する。   On the other hand, when reading data RD from the asynchronous FIFO memory device 1, the reading side device inputs a read request signal RREQ to the asynchronous FIFO memory device 1 in advance. The asynchronous FIFO memory device 1 synchronizes the read request signal RREQ with the write clock signal WCLK, and outputs it to the write side device as the write wait signal W_WAIT described above.

読み出し側の装置は、非同期FIFOメモリ装置1に読み出し要求信号RREQを入力してから一定時間が経過した後、非同期FIFOメモリ装置1から読み出し待ち信号R_WAITが出力されているか否かを確認する。読み出し待ち信号R_WAITが出力されていない場合、読み出し側の装置は、非同期FIFOメモリ装置1に読み出しイネーブル信号RENを入力する。非同期FIFOメモリ装置1は、読み出しイネーブル信号RENが入力されると、読み出しクロック信号RCLKに同期して記憶領域からデータRDを読み出す。非同期FIFOメモリ装置1から読み出し待ち信号R_WAITが出力されている場合、読み出し側の装置は、読み出し待ち信号R_WAITの出力が終わる(ネゲートする)まで、非同期FIFOメモリ装置1への読み出しイネーブル信号RENの入力を待機させる。   The device on the reading side checks whether or not a read wait signal R_WAIT is output from the asynchronous FIFO memory device 1 after a predetermined time has elapsed since the read request signal RREQ was input to the asynchronous FIFO memory device 1. When the read wait signal R_WAIT is not output, the read side device inputs the read enable signal REN to the asynchronous FIFO memory device 1. When the read enable signal REN is input, the asynchronous FIFO memory device 1 reads the data RD from the storage area in synchronization with the read clock signal RCLK. When the read wait signal R_WAIT is output from the asynchronous FIFO memory device 1, the read side device inputs the read enable signal REN to the asynchronous FIFO memory device 1 until the output of the read wait signal R_WAIT ends (negates). To wait.

書き込み動作を待機させる書き込み待ち信号W_WAITは、上述したように、読み出し要求信号RREQを書き込みクロック信号WCLKに同期化した信号である。読み出し側の装置は、非同期FIFOメモリ装置1において読み出し要求信号RREQを書き込み待ち信号W_WAITへ同期化する時間が充分に確保されるように、読み出し要求信号RREQを読み出しイネーブル信号RENよりも充分前に非同期FIFOメモリ装置1へ入力する。また、読み出し側の装置は、イネーブル信号RENの入力が終了するまで、読み出し要求信号RREQの入力を保持する。これにより、読み出しイネーブル信号RENの入力時には書き込み待ち信号W_WAITが書き込み側の装置へ出力されるため、読み出し時に書き込みが行われることを防止できる。
書き込み待ち機能有効信号W_WAIT_ENは、この書き込み待ち信号W_WAITの出力を有効又は無効に設定する信号である。書き込み待ち機能有効信号W_WAIT_ENが無効状態の場合、非同期FIFOメモリ装置1は書き込み待ち信号W_WAITの出力を停止する。
As described above, the write wait signal W_WAIT for waiting for the write operation is a signal obtained by synchronizing the read request signal RREQ with the write clock signal WCLK. The read-side device asynchronously reads the read request signal RREQ sufficiently before the read enable signal REN so that the asynchronous FIFO memory device 1 has sufficient time to synchronize the read request signal RREQ with the write wait signal W_WAIT. Input to the FIFO memory device 1. Further, the reading side device holds the input of the read request signal RREQ until the input of the enable signal REN is completed. As a result, since the write wait signal W_WAIT is output to the writing side device when the read enable signal REN is input, it is possible to prevent writing during the read.
The write wait function valid signal W_WAIT_EN is a signal for setting the output of the write wait signal W_WAIT valid or invalid. When the write wait function enable signal W_WAIT_EN is in an invalid state, the asynchronous FIFO memory device 1 stops outputting the write wait signal W_WAIT.

読み出し動作を待機させる読み出し待ち信号R_WAITは、上述したように、書き込み要求信号WREQを読み出しクロック信号RCLKに同期化した信号である。書き込み側の装置は、非同期FIFOメモリ装置1おいて書き込み要求信号WREQを読み出し待ち信号R_WAITへ同期化する時間が充分に確保されるように、書き込み要求信号WREQを書き込みイネーブル信号WENよりも充分前に非同期FIFOメモリ装置1へ入力する。また、書き込み側の装置は、書き込みイネーブル信号WENの入力が終了するまで、書き込み要求信号WREQの入力を保持する。これにより、書き込みイネーブル信号WENの入力時には読み出し待ち信号R_WAITが読み出し側の装置へ出力されるため、書き込み時に読み出しが行われることを防止できる。
読み出し待ち機能有効信号R_WAIT_ENは、この読み出し待ち信号R_WAITの出力を有効又は無効に設定する信号である。読み出し待ち機能有効信号R_WAIT_ENが無効状態の場合、非同期FIFOメモリ装置1は読み出し待ち信号R_WAITの出力を停止する。
The read wait signal R_WAIT for waiting for the read operation is a signal obtained by synchronizing the write request signal WREQ with the read clock signal RCLK as described above. The device on the writing side sets the write request signal WREQ sufficiently before the write enable signal WEN so that the time for synchronizing the write request signal WREQ with the read wait signal R_WAIT is sufficiently secured in the asynchronous FIFO memory device 1. Input to the asynchronous FIFO memory device 1. The writing side device holds the input of the write request signal WREQ until the input of the write enable signal WEN is completed. As a result, since the read wait signal R_WAIT is output to the read side device when the write enable signal WEN is input, it is possible to prevent the read from being performed at the time of writing.
The read wait function valid signal R_WAIT_EN is a signal for setting the output of the read wait signal R_WAIT valid or invalid. When the read wait function valid signal R_WAIT_EN is in an invalid state, the asynchronous FIFO memory device 1 stops outputting the read wait signal R_WAIT.

書き込み状態信号W_NUM/FULL及び読み出し状態信号R_NUM/FULLは、非同期FIFOメモリ装置1に蓄積されるデータの数に関わる状態を示す信号である。書き込み状態信号W_NUM/FULLは、メモリ部30に蓄積された(或いは書き込み可能な)データの数や、メモリ部30に書き込み可能なデータ数の上限(満状態)に達しているか否かなどを示す。読み出し状態信号R_NUM/FULLは、メモリ部30に蓄積された(或いは読み出し可能な)データの数や、メモリ部30から読み出し可能なデータ数の下限(空状態)に達しているか否かなどを示す。書き込み側の装置や読み出し側の装置は、これらの信号に基づいて、非同期FIFOメモリ装置1におけるデータの書き込みと読み出しを制御する。   The write state signal W_NUM / FULL and the read state signal R_NUM / FULL are signals indicating states related to the number of data stored in the asynchronous FIFO memory device 1. The write state signal W_NUM / FULL indicates the number of data accumulated (or writable) in the memory unit 30 and whether or not the upper limit (full state) of the number of data writable in the memory unit 30 has been reached. . The read state signal R_NUM / FULL indicates the number of data accumulated (or readable) in the memory unit 30 and whether or not the lower limit (empty state) of the number of data readable from the memory unit 30 has been reached. . The writing side device and the reading side device control writing and reading of data in the asynchronous FIFO memory device 1 based on these signals.

図2は、第1の実施形態に係る非同期FIFOメモリ装置1の構成の一例を示す図である。
非同期FIFOメモリ装置1は、例えば図2に示すように、要求調停部10と、クロック選択部20と、メモリ部30と、書き込みポインタ更新部40と、読み出しポインタ更新部50と、状態信号生成部60を有する。
FIG. 2 is a diagram illustrating an example of the configuration of the asynchronous FIFO memory device 1 according to the first embodiment.
As shown in FIG. 2, for example, the asynchronous FIFO memory device 1 includes a request arbitration unit 10, a clock selection unit 20, a memory unit 30, a write pointer update unit 40, a read pointer update unit 50, and a status signal generation unit. 60.

要求調停部10は、書き込み動作と読み出し動作の競合が防止されるように調停を行う回路であり、書き込み側の装置から入力される書き込み要求信号WREQと読み出し側の装置から入力される読み出し要求信号RREQとに応じて、書き込み時には読み出し処理を待機させる書き込み要求信号WREQを出力し、読み出し時には書き込み処理を待機させる書き込み待ち信号W_WAITを出力する。   The request arbitration unit 10 is a circuit that performs arbitration so as to prevent competition between a write operation and a read operation, and a write request signal WREQ input from a write side device and a read request signal input from a read side device. In response to RREQ, a write request signal WREQ for waiting the read process is output at the time of writing, and a write wait signal W_WAIT for waiting the write process is output at the time of reading.

すなわち、要求調停部10は、書き込みクロック信号WCLKに同期した書き込み要求信号WREQが書き込み側の装置によって入力されると、書き込み要求信号WREQを読み出しクロック信号RCLKに同期化し、読み出し待ち信号R_WAITとして読み出し側の装置に出力する。また、要求調停部10は、読み出しクロック信号RCLKに同期した読み出し要求信号RREQが読み出し側の装置によって入力されると、読み出し要求信号RREQを書き込みクロック信号WCLKに同期化し、書き込み待ち信号W_WAITとして書き込み側の装置に出力する。   That is, when the write request signal WREQ synchronized with the write clock signal WCLK is input by the writing side device, the request arbitration unit 10 synchronizes the write request signal WREQ with the read clock signal RCLK, and reads it as a read wait signal R_WAIT. Output to the device. When the read request signal RREQ synchronized with the read clock signal RCLK is input by the read side device, the request arbitration unit 10 synchronizes the read request signal RREQ with the write clock signal WCLK, and writes it as a write wait signal W_WAIT. Output to the device.

要求調停部10は、読み出し待ち信号R_WAITと書き込み待ち信号W_WAITの両方が同時に出力されることによって読み出しと書き込みの両方が待機状態となることを防止するため、読み出し待ち信号R_WAIT又は書き込み待ち信号W_WAITの何れか一方を他方よりも優先して出力する。例えば、要求調停部10は、一方の信号を出力する場合に他方の信号の出力を抑止する。   The request arbitration unit 10 prevents the read wait signal R_WAIT or the write wait signal W_WAIT from being in a standby state by preventing both the read and write from being in a standby state due to the simultaneous output of both the read wait signal R_WAIT and the write wait signal W_WAIT. Either one is output with priority over the other. For example, the request arbitration unit 10 suppresses the output of the other signal when outputting one signal.

図3は、第1の実施形態に係る非同期FIFOメモリ装置1における要求調停部10の構成の一例を示す図である。図3に示す要求調停部10は、第1同期化部11と、第2同期化部12と、調停制御部15を有する。   FIG. 3 is a diagram illustrating an example of the configuration of the request arbitration unit 10 in the asynchronous FIFO memory device 1 according to the first embodiment. The request arbitration unit 10 illustrated in FIG. 3 includes a first synchronization unit 11, a second synchronization unit 12, and an arbitration control unit 15.

第1同期化部11は、読み出し側の装置から入力される読み出し要求信号RREQを書き込みクロック信号WCLKに同期化し、書き込み待ち信号W_WAITとして出力する。
第2同期化部12は、書き込み側の装置から調停制御部15を介して入力される書き込み要求信号WREQを読み出しクロック信号RCLKに同期化し、読み出し待ち信号R_WAITとして出力する。
The first synchronization unit 11 synchronizes the read request signal RREQ input from the device on the read side with the write clock signal WCLK, and outputs it as a write wait signal W_WAIT.
The second synchronization unit 12 synchronizes the write request signal WREQ input from the writing side device via the arbitration control unit 15 with the read clock signal RCLK and outputs it as a read wait signal R_WAIT.

調停制御部15は、読み出し要求信号RREQを書き込みクロック信号WCLKに同期化した信号が第1同期化部11において出力される場合に、第2同期化部12への書き込み要求信号WREQの入力を抑止する。図3の例において、調停制御部15は論理積の演算を行うゲート回路であり、第1同期化部11の出力値を論理反転した信号と書き込み要求信号WREQとの論理積を第2同期化部12に入力する。第1同期化部11の出力値が「0」の場合、書き込み要求信号WREQはそのまま第2同期化部12に入力されるが、第1同期化部11の出力値が「1」になると(書き込み待ち信号W_WAITが出力されると)、書き込み要求信号WREQの入力の有無にかかわらず第2同期化部12の入力信号は「0」となる。これにより、読み出し要求信号RREQと書き込み要求信号WREQが共に入力された場合は、書き込み待ち信号W_WAITの出力が優先されて、書き込み処理が待機状態となる。   The arbitration control unit 15 suppresses input of the write request signal WREQ to the second synchronization unit 12 when a signal obtained by synchronizing the read request signal RREQ with the write clock signal WCLK is output from the first synchronization unit 11. To do. In the example of FIG. 3, the arbitration control unit 15 is a gate circuit that performs a logical product operation. Input to section 12. When the output value of the first synchronization unit 11 is “0”, the write request signal WREQ is input to the second synchronization unit 12 as it is, but when the output value of the first synchronization unit 11 becomes “1” ( When the write wait signal W_WAIT is output), the input signal of the second synchronization unit 12 is “0” regardless of whether the write request signal WREQ is input. As a result, when both the read request signal RREQ and the write request signal WREQ are input, the output of the write wait signal W_WAIT is prioritized and the write processing enters a standby state.

なお、図3に示す要求調停部10では、読み出し要求信号RREQを書き込み要求信号WREQに優先させるように調停制御部15が設けられているが、本実施形態の他の例では、書き込み要求信号WREQを読み出し要求信号RREQに優先させるように調停制御部15を設けてもよい。例えば、図3と同様なゲート回路を第1同期化部11の入力側に設けて、第2同期化部12から読み出し待ち信号R_WAITが出力される場合に、第1同期化部11への読み出し要求信号RREQの入力を抑止するようにしてもよい。
以上が、要求調停部10の説明である。
In the request arbitration unit 10 shown in FIG. 3, the arbitration control unit 15 is provided so that the read request signal RREQ has priority over the write request signal WREQ. However, in another example of this embodiment, the write request signal WREQ is provided. May be provided to give priority to the read request signal RREQ. For example, when a gate circuit similar to that shown in FIG. 3 is provided on the input side of the first synchronization unit 11 and a read waiting signal R_WAIT is output from the second synchronization unit 12, reading to the first synchronization unit 11 is performed. The input of the request signal RREQ may be suppressed.
The above is the description of the request arbitration unit 10.

図2の説明に戻る。
クロック選択部20は、書き込みクロック信号WCLK又は読み出しクロック信号RCLKの何れか一方を選択し、選択クロック信号MUX_CLKとして出力する回路である。すなわち、クロック選択部20は、書き込み側の装置から書き込みクロック信号WCLKに同期して書き込みイネーブル信号WENが入力されると、書き込みクロック信号WCLKを選択して出力し、読み出し側の装置から読み出しクロック信号RCLKに同期して読み出しイネーブル信号RENが入力されると、読み出しクロック信号RCLKを選択して出力する。
Returning to the description of FIG.
The clock selection unit 20 is a circuit that selects either the write clock signal WCLK or the read clock signal RCLK and outputs the selected clock signal MUX_CLK. That is, when the write enable signal WEN is input in synchronization with the write clock signal WCLK from the write side device, the clock selection unit 20 selects and outputs the write clock signal WCLK, and the read clock signal from the read side device. When the read enable signal REN is input in synchronization with RCLK, the read clock signal RCLK is selected and output.

メモリ部30は、書き込み側の装置から書き込みイネーブル信号WENが入力されると、選択クロック信号MUX_CLKに同期して、書き込みポインタWPに応じたアドレスにデータWDを書き込む。また、メモリ部30は、読み出し側の装置から読み出しイネーブル信号RENが入力されると、選択クロック信号MUX_CLKに同期して、読み出しポインタRPに応じたアドレスからデータRDを読み出す。   When the write enable signal WEN is input from the writing device, the memory unit 30 writes the data WD to an address corresponding to the write pointer WP in synchronization with the selected clock signal MUX_CLK. Further, when the read enable signal REN is input from the read side device, the memory unit 30 reads the data RD from the address corresponding to the read pointer RP in synchronization with the selected clock signal MUX_CLK.

書き込みポインタ更新部40は、メモリ部30におけるデータWDの書き込み先のアドレスを指定する書き込みポインタWPを生成する回路であり、メモリ部30においてデータWDの書き込みが行われる度に書き込みポインタWPを更新する。すなわち、書き込みポインタ更新部40は、書き込み側の装置から書き込みイネーブル信号WENが入力されると、選択クロック信号MUX_CLKに同期して書き込みポインタWPを更新する。   The write pointer update unit 40 is a circuit that generates a write pointer WP that designates a write destination address of the data WD in the memory unit 30, and updates the write pointer WP every time the data WD is written in the memory unit 30. . That is, when the write enable signal WEN is input from the writing side device, the write pointer update unit 40 updates the write pointer WP in synchronization with the selected clock signal MUX_CLK.

読み出しポインタ更新部50は、メモリ部30におけるデータRDの読み出し元のアドレスを指定する読み出しポインタRPを生成する回路であり、メモリ部30においてデータRDの読み出しが行われる度に読み出しポインタRPを更新する。すなわち、読み出しポインタ更新部50は、読み出し側の装置から読み出しイネーブル信号RENが入力されると、選択クロック信号MUX_CLKに同期して読み出しポインタRPを更新する。   The read pointer update unit 50 is a circuit that generates a read pointer RP that designates a read source address of the data RD in the memory unit 30, and updates the read pointer RP every time the data RD is read in the memory unit 30. . That is, when the read enable signal REN is input from the read-side device, the read pointer update unit 50 updates the read pointer RP in synchronization with the selected clock signal MUX_CLK.

書き込みポインタ更新部40及び読み出しポインタ更新部50は、例えばバイナリコードを生成するカウンタを用いて構成される。   The write pointer update unit 40 and the read pointer update unit 50 are configured using, for example, a counter that generates a binary code.

状態信号生成部60は、書き込みポインタWP及び読み出しポインタRPに基づいて、メモリ部30に蓄積されるデータの数に関わる状態信号(書き込み状態信号W_NUM/FULL,読み出し状態信号R_NUM/FULL)を生成する。   Based on the write pointer WP and the read pointer RP, the status signal generator 60 generates status signals (write status signal W_NUM / FULL, read status signal R_NUM / FULL) related to the number of data stored in the memory unit 30. .

状態信号生成部60は、データの書き込みが行われる場合(要求調停部10から読み出し待ち信号R_WAITが出力される場合)、書き込みクロック信号WCLKに同期した状態信号を出力し、データの読み出しが行われる場合(要求調停部10から書き込み待ち信号W_WAITが出力される場合)は、読み出しクロック信号RCLKに同期した状態信号を出力する。
従って、書き込み側の装置は、書き込み待ち信号W_WAITが出力される期間を除いて、書き込みクロック信号WCLKに同期した(若しくは静的に変化しない)書き込み状態信号W_NUM/FULLを状態信号生成部60から取得できる。
また、読み出し側の装置は、読み出し待ち信号R_WAITが出力される期間を除いて、読み出しクロック信号RCLKに同期した(若しくは静的に変化しない)読み出し状態信号R_NUM/FULLを状態信号生成部60から取得できる。
When data is written (when the read waiting signal R_WAIT is output from the request arbitration unit 10), the status signal generation unit 60 outputs a status signal synchronized with the write clock signal WCLK, and the data is read. In the case (when the write wait signal W_WAIT is output from the request arbitration unit 10), a state signal synchronized with the read clock signal RCLK is output.
Therefore, the device on the writing side acquires the write state signal W_NUM / FULL synchronized with the write clock signal WCLK (or does not change statically) from the state signal generation unit 60 except for the period in which the write wait signal W_WAIT is output. it can.
Further, the reading-side device acquires from the state signal generation unit 60 the read state signal R_NUM / FULL that is synchronized with (or does not change statically) the read clock signal RCLK except for the period in which the read wait signal R_WAIT is output. it can.

ここで、上述した構成を有する第1の実施形態に係る非同期FIFOメモリ装置1の動作について、図4〜図6のタイミング図を参照して説明する。   Here, the operation of the asynchronous FIFO memory device 1 according to the first embodiment having the above-described configuration will be described with reference to the timing diagrams of FIGS.

まず、図4のタイミング図を参照して、書き込み処理及び読み出し処理がそれぞれ待たされずに実行される場合の動作を説明する。   First, with reference to the timing chart of FIG. 4, the operation when the writing process and the reading process are executed without waiting will be described.

書き込み側の装置は、書き込みを行う場合、まず書き込みクロック信号WCLKの供給を開始し、次いで、書き込み要求信号WREQ(図4(B))と書き込み用のデータWD(図4(D))を非同期FIFOメモリ装置1に入力する(t11)。要求調停部10は書き込み要求信号WREQを入力するが、このとき読み出し側の装置から読み出しクロック信号RCLKが供給されていないため、読み出し待ち信号R_WAIT(図4(J))を出力しない。   When writing, the writing side device first starts supplying the write clock signal WCLK, and then asynchronously sends the write request signal WREQ (FIG. 4B) and the write data WD (FIG. 4D). Input to the FIFO memory device 1 (t11). The request arbitration unit 10 receives the write request signal WREQ, but does not output the read wait signal R_WAIT (FIG. 4 (J)) since the read clock signal RCLK is not supplied from the read side device at this time.

書き込み要求信号WREQの入力を開始してから一定時間が経過すると(t12)、書き込み側の装置は、書き込み待ち信号W_WAIT(図4(E))が出力されているか否かを判定する。書き込み待ち信号W_WAITが出力されていないため、書き込み側の装置は、書き込みイネーブル信号WEN(図4(C))を非同期FIFOメモリ装置1に入力する。   When a predetermined time has elapsed after the input of the write request signal WREQ is started (t12), the writing side apparatus determines whether or not the write wait signal W_WAIT (FIG. 4E) is output. Since the write wait signal W_WAIT is not output, the write side device inputs the write enable signal WEN (FIG. 4C) to the asynchronous FIFO memory device 1.

書き込みイネーブル信号WENを入力したクロック選択部20は、書き込みクロック信号WCLKを選択クロック信号MUX_CLK(図4(L))として出力する(t13)。メモリ部30は、この選択クロック信号MUX_CLKに同期して、書き込み側の装置から供給された書き込み用のデータWDを書き込みポインタWPに応じたアドレスに格納する。また、このとき、書き込みポインタ更新部40は、選択クロック信号MUX_CLK(書き込みクロック信号WCLK)に同期して書き込みポインタWPを更新する。書き込みポインタWPが更新されると、状態信号生成部60は、新たな書き込みポインタWPに応じた状態信号(図4(K))を生成する。データの書き込みが行われたため、状態信号が示すデータ蓄積数は「N」から「N+1」へ増える。   The clock selection unit 20 having received the write enable signal WEN outputs the write clock signal WCLK as the selected clock signal MUX_CLK ((L) in FIG. 4) (t13). The memory unit 30 stores the write data WD supplied from the writing side device at an address corresponding to the write pointer WP in synchronization with the selected clock signal MUX_CLK. At this time, the write pointer update unit 40 updates the write pointer WP in synchronization with the selected clock signal MUX_CLK (write clock signal WCLK). When the write pointer WP is updated, the status signal generator 60 generates a status signal (FIG. 4K) corresponding to the new write pointer WP. Since data has been written, the number of data accumulations indicated by the status signal increases from “N” to “N + 1”.

書き込み側の装置は、データの書き込みが終わると、書き込み要求信号WREQ及び書き込みイネーブル信号WENをネゲートするとともに、非同期FIFOメモリ装置1への書き込みクロック信号WCLKの供給を停止する。   When the data writing is completed, the writing side device negates the write request signal WREQ and the write enable signal WEN and stops supplying the write clock signal WCLK to the asynchronous FIFO memory device 1.

読み出し側の装置は、読み出しを行う場合、まず非同期FIFOメモリ装置1へ読み出しクロック信号RCLKの供給を開始し、次いで、読み出し要求信号RREQ(図4(G))を非同期FIFOメモリ装置1に入力する(t14)。要求調停部10は読み出し要求信号RREQを入力するが、このとき書き込み側の装置から書き込みクロック信号WCLKが供給されていないため、書き込み待ち信号W_WAIT(図4(E))を出力しない。   When performing reading, the reading-side device first starts supplying the read clock signal RCLK to the asynchronous FIFO memory device 1, and then inputs the read request signal RREQ (FIG. 4G) to the asynchronous FIFO memory device 1. (T14). The request arbitration unit 10 receives the read request signal RREQ, but does not output the write wait signal W_WAIT (FIG. 4E) because the write clock signal WCLK is not supplied from the write side device at this time.

読み出し要求信号RREQの入力を開始してから一定時間が経過すると(t15)、読み出し側の装置は、読み出し待ち信号R_WAIT(図4(J))が出力されているか否かを判定する。読み出し待ち信号R_WAITは出力されていないため、読み出し側の装置は、読み出しイネーブル信号RENを非同期FIFOメモリ装置1に入力する。   When a predetermined time has elapsed after the input of the read request signal RREQ is started (t15), the read side apparatus determines whether or not the read wait signal R_WAIT (FIG. 4 (J)) is output. Since the read wait signal R_WAIT is not output, the read side device inputs the read enable signal REN to the asynchronous FIFO memory device 1.

読み出しイネーブル信号RENを入力したクロック選択部20は、読み出しクロック信号RCLKを選択クロック信号MUX_CLK(図4(L))として出力する(t16)。メモリ部30は、この選択クロック信号MUX_CLKに同期して、読み出しポインタRPに応じたアドレスからデータRDを読み出し、読み出し側の装置へ出力する。また、このとき、読み出しポインタ更新部50は、選択クロック信号MUX_CLK(読み出しクロック信号RCLK)に同期して読み出しポインタRPを更新する。読み出しポインタRPが更新されると、状態信号生成部60は、新たな読み出しポインタRPに応じた状態信号(図4(K))を生成する。データの読み出しが行われたため、状態信号が示すデータ蓄積数は「N+1」から「N」へ減る。   The clock selection unit 20 that has received the read enable signal REN outputs the read clock signal RCLK as the selected clock signal MUX_CLK (FIG. 4 (L)) (t16). The memory unit 30 reads the data RD from the address corresponding to the read pointer RP in synchronization with the selected clock signal MUX_CLK, and outputs the data RD to the read-side device. At this time, the read pointer update unit 50 updates the read pointer RP in synchronization with the selected clock signal MUX_CLK (read clock signal RCLK). When the read pointer RP is updated, the status signal generator 60 generates a status signal (FIG. 4K) corresponding to the new read pointer RP. Since data has been read, the number of data stored indicated by the status signal decreases from “N + 1” to “N”.

読み出し側の装置は、データの読み出しが終わると、読み出し要求信号RREQ及び読み出しイネーブル信号RENをネゲートするとともに、非同期FIFOメモリ装置1への読み出しクロック信号RCLKの供給を停止する。   When the reading of the data is completed, the reading side device negates the read request signal RREQ and the read enable signal REN and stops supplying the read clock signal RCLK to the asynchronous FIFO memory device 1.

次に、図5のタイミング図を参照して、先行する読み出し処理のために書き込み処理が待たされる場合の動作を説明する。   Next, with reference to the timing chart of FIG. 5, the operation when the write process is waited for the preceding read process will be described.

図5の例では、先に読み出し側の装置から読み出し要求信号RREQ(図5(G))が発生する(t21)。読み出し要求信号RREQが発生した後、書き込み側の装置が書き込みクロック信号WCLKの供給を開始する(t22)。非同期FIFOメモリ装置1の要求調停部10は、読み出し要求信号RREQを書き込みクロック信号WCLKに同期化し、書き込み待ち信号W_WAIT(図5(E))として書き込み側の装置に出力する(t23)。要求調停部10は、例えば2クロック周期で読み出し要求信号RREQの同期化を行う(t22,t23)。   In the example of FIG. 5, the read request signal RREQ (FIG. 5G) is first generated from the reading side device (t21). After the read request signal RREQ is generated, the writing side device starts supplying the write clock signal WCLK (t22). The request arbitration unit 10 of the asynchronous FIFO memory device 1 synchronizes the read request signal RREQ with the write clock signal WCLK and outputs it to the write side device as a write wait signal W_WAIT (FIG. 5E) (t23). The request arbitration unit 10 synchronizes the read request signal RREQ with, for example, two clock cycles (t22, t23).

書き込み側の装置は、書き込みクロック信号WCLKの供給を開始した後、書き込み要求信号WREQ(図5(B))を発生する(t24)。ただし、要求調停部10から書き込み待ち信号W_WAIT(図5(E))が出力されている間、書き込み側の装置は、非同期FIFOメモリ装置1への書き込みイネーブル信号WEN(図5(C))の入力を待機させる。   The device on the writing side generates the write request signal WREQ (FIG. 5B) after starting the supply of the write clock signal WCLK (t24). However, while the write wait signal W_WAIT (FIG. 5 (E)) is output from the request arbitration unit 10, the write-side device receives the write enable signal WEN (FIG. 5 (C)) to the asynchronous FIFO memory device 1. Wait for input.

書き込み側の装置から書き込み要求信号WREQが入力されたとき、要求調停部10は既に書き込み待ち信号W_WAITを出力している。そのため、要求調停部10は、書き込み要求信号WREQを読み出しクロック信号RCLKに同期化せず、読み出し待ち信号R_WAIT(図5(J))を出力しない(t25,t26)。すなわち、第2同期化部12への書き込み要求信号WREQの入力が調停制御部15によって抑止されるため(図3)、第2同期化部12は読み出し待ち信号R_WAITを出力しない。   When the write request signal WREQ is input from the writing side device, the request arbitration unit 10 has already output the write wait signal W_WAIT. Therefore, the request arbitration unit 10 does not synchronize the write request signal WREQ with the read clock signal RCLK, and does not output the read wait signal R_WAIT (FIG. 5 (J)) (t25, t26). That is, since the input of the write request signal WREQ to the second synchronization unit 12 is suppressed by the arbitration control unit 15 (FIG. 3), the second synchronization unit 12 does not output the read waiting signal R_WAIT.

読み出し側の装置は、読み出し要求信号RREQの入力を開始してから一定時間経過後、読み出しイネーブル信号REN(図5(H))を非同期FIFOメモリ装置1に入力する(t27)。読み出しイネーブル信号RENを入力したクロック選択部20は、読み出しクロック信号RCLKを選択クロック信号MUX_CLK(図5(L))として出力する(t28)。メモリ部30は、この選択クロック信号MUX_CLKに同期して、読み出しポインタRPに応じたアドレスからデータRDを読み出し、読み出し側の装置に出力する。読み出しポインタ更新部50は、選択クロック信号MUX_CLK(読み出しクロック信号RCLK)に同期して読み出しポインタRPを更新する。読み出しポインタRPが更新されると、状態信号生成部60は、新たな読み出しポインタRPに応じた状態信号(図5(K))を生成する。データの読み出しが行われたため、状態信号が示すデータ蓄積数は「N」から「N−1」へ減る。読み出し側の装置は、データRDの読み出しが終わると、読み出し要求信号RREQ及び読み出しイネーブル信号RENをネゲートするとともに、非同期FIFOメモリ装置1への読み出しクロック信号RCLKの供給を停止する。   The device on the reading side inputs the read enable signal REN (FIG. 5H) to the asynchronous FIFO memory device 1 after a predetermined time has elapsed from the start of input of the read request signal RREQ (t27). The clock selection unit 20 having received the read enable signal REN outputs the read clock signal RCLK as the selected clock signal MUX_CLK (FIG. 5 (L)) (t28). The memory unit 30 reads the data RD from the address corresponding to the read pointer RP in synchronization with the selected clock signal MUX_CLK, and outputs it to the read-side device. The read pointer update unit 50 updates the read pointer RP in synchronization with the selected clock signal MUX_CLK (read clock signal RCLK). When the read pointer RP is updated, the status signal generator 60 generates a status signal (FIG. 5 (K)) corresponding to the new read pointer RP. Since data has been read, the number of data stored indicated by the status signal decreases from “N” to “N−1”. When reading of the data RD is completed, the reading side device negates the read request signal RREQ and the read enable signal REN and stops supplying the read clock signal RCLK to the asynchronous FIFO memory device 1.

要求調停部10は、読み出し側の装置からの読み出し要求信号RREQの入力が終了すると(t28)、書き込みクロック信号WCLKの2クロック周期後に、書き込み待ち信号W_WAITの出力を終了する(t210)。書き込み待ち信号W_WAITの出力が終了すると、書き込み側の装置は、書き込みイネーブル信号WENを非同期FIFOメモリ装置1に入力する(t211)。書き込みイネーブル信号WENを入力したクロック選択部20は、書き込みクロック信号WCLKを選択クロック信号MUX_CLK(図5(L))として出力する(t212)。メモリ部30は、この選択クロック信号MUX_CLKに同期して、書き込み側の装置から供給された書き込み用のデータWDを書き込みポインタWPに応じたアドレスに格納する。書き込みポインタ更新部40は、選択クロック信号MUX_CLK(書き込みクロック信号WCLK)に同期して書き込みポインタWPを更新する。書き込みポインタWPが更新されると、状態信号生成部60は、新たな書き込みポインタWPに応じた状態信号(図5(K))を生成する。データの書き込みが行われたため、状態信号が示すデータ蓄積数は「N−1」から「N」へ増える。書き込み側の装置は、データの書き込みが終わると、書き込み要求信号WREQ及び書き込みイネーブル信号WENをネゲートするとともに、非同期FIFOメモリ装置1への書き込みクロック信号WCLKの供給を停止する。   When the input of the read request signal RREQ from the read side device is completed (t28), the request arbitration unit 10 ends the output of the write wait signal W_WAIT after two clock cycles of the write clock signal WCLK (t210). When the output of the write wait signal W_WAIT is completed, the writing side device inputs the write enable signal WEN to the asynchronous FIFO memory device 1 (t211). The clock selection unit 20 to which the write enable signal WEN is input outputs the write clock signal WCLK as the selected clock signal MUX_CLK ((L) in FIG. 5) (t212). The memory unit 30 stores the write data WD supplied from the writing side device at an address corresponding to the write pointer WP in synchronization with the selected clock signal MUX_CLK. The write pointer update unit 40 updates the write pointer WP in synchronization with the selected clock signal MUX_CLK (write clock signal WCLK). When the write pointer WP is updated, the status signal generator 60 generates a status signal (FIG. 5K) corresponding to the new write pointer WP. Since data has been written, the number of data accumulations indicated by the status signal increases from “N−1” to “N”. When the data writing is completed, the writing side device negates the write request signal WREQ and the write enable signal WEN and stops supplying the write clock signal WCLK to the asynchronous FIFO memory device 1.

次に、図6のタイミング図を参照して、先行する書き込み処理のために読み出し処理が待たされる場合の動作を説明する。   Next, with reference to the timing chart of FIG. 6, the operation when the read process is waited for the preceding write process will be described.

図6の例では、先に書き込み側の装置から書き込み要求信号WREQ(図6(B))が発生する(t31)。書き込み要求信号WREQが発生した後、読み出し側の装置が読み出しクロック信号RCLKの供給を開始する(t32)。非同期FIFOメモリ装置1の要求調停部10は、書き込み要求信号WREQを読み出しクロック信号RCLKに同期化し、読み出し待ち信号R_WAIT(図6(J))として読み出し側の装置に出力する(t33)。要求調停部10は、読み出し要求信号RREQと同様に、例えば2クロック周期で書き込み要求信号WREQの同期化を行う(t32,t33)。   In the example of FIG. 6, the write request signal WREQ (FIG. 6B) is first generated from the writing side device (t31). After the write request signal WREQ is generated, the reading side device starts supplying the read clock signal RCLK (t32). The request arbitration unit 10 of the asynchronous FIFO memory device 1 synchronizes the write request signal WREQ with the read clock signal RCLK and outputs it to the read side device as a read wait signal R_WAIT (FIG. 6 (J)) (t33). Similar to the read request signal RREQ, the request arbitration unit 10 synchronizes the write request signal WREQ with, for example, two clock cycles (t32, t33).

読み出し側の装置は、読み出しクロック信号RCLKの供給を開始した後、読み出し要求信号RREQ(図6(G))を発生する(t36)。ただし、要求調停部10から読み出し待ち信号R_WAITが出力されているため、読み出し側の装置は、非同期FIFOメモリ装置1への読み出しイネーブル信号RENの入力を待機させる。   The device on the reading side generates the read request signal RREQ (FIG. 6G) after starting to supply the read clock signal RCLK (t36). However, since the read wait signal R_WAIT is output from the request arbitration unit 10, the read side device waits for the input of the read enable signal REN to the asynchronous FIFO memory device 1.

書き込み側の装置は、書き込み要求信号WREQの入力を開始してから一定時間経過後、書き込みイネーブル信号WEN(図6(C))を非同期FIFOメモリ装置1に入力する(t34)。書き込みイネーブル信号WENを入力したクロック選択部20は、書き込みクロック信号WCLKを選択クロック信号MUX_CLK(図6(L))として出力する(t35)。メモリ部30は、この選択クロック信号MUX_CLKに同期して書き込み側の装置からデータWDを取り込み、書き込みポインタWPに応じたアドレスにデータWDを格納する。書き込みポインタ更新部40は、選択クロック信号MUX_CLK(書き込みクロック信号WCLK)に同期して書き込みポインタWPを更新する。書き込みポインタWPが更新されると、状態信号生成部60は、新たな書き込みポインタWPに応じた状態信号(図6(K))を生成する。データの書き込みが行われたため、状態信号が示すデータ蓄積数は「N」から「N+1」へ増える。書き込み側の装置は、データWDの書き込みが終わると、書き込み要求信号WREQ及び書き込みイネーブル信号WENをネゲートするとともに、非同期FIFOメモリ装置1への書き込みクロック信号WCLKの供給を停止する。   The device on the writing side inputs the write enable signal WEN (FIG. 6C) to the asynchronous FIFO memory device 1 after a predetermined time has elapsed from the start of input of the write request signal WREQ (t34). The clock selection unit 20 having received the write enable signal WEN outputs the write clock signal WCLK as the selected clock signal MUX_CLK ((L) in FIG. 6) (t35). The memory unit 30 takes in the data WD from the writing side device in synchronization with the selected clock signal MUX_CLK, and stores the data WD at an address corresponding to the write pointer WP. The write pointer update unit 40 updates the write pointer WP in synchronization with the selected clock signal MUX_CLK (write clock signal WCLK). When the write pointer WP is updated, the status signal generation unit 60 generates a status signal (FIG. 6 (K)) corresponding to the new write pointer WP. Since data has been written, the number of data accumulations indicated by the status signal increases from “N” to “N + 1”. When the writing of the data WD is completed, the writing side device negates the write request signal WREQ and the write enable signal WEN and stops supplying the write clock signal WCLK to the asynchronous FIFO memory device 1.

要求調停部10は、書き込み側の装置からの書き込み要求信号WREQの入力が終了すると(t35)、読み出しクロック信号RCLKの2クロック周期後に、読み出し待ち信号R_WAITの出力を終了する(t38)。読み出し待ち信号R_WAITの出力が終了すると、読み出し側の装置は、読み出しイネーブル信号RENを非同期FIFOメモリ装置1に入力する(t39)。読み出しイネーブル信号RENを入力したクロック選択部20は、読み出しクロック信号RCLKを選択クロック信号MUX_CLK(図6(L))として出力する(t310)。メモリ部30は、この選択クロック信号MUX_CLKに同期して、読み出しポインタRPに応じたアドレスに格納されたデータRDを読み出し、読み出し側の装置に出力する。読み出しポインタ更新部50は、選択クロック信号MUX_CLK(読み出しクロック信号RCLK)に同期して読み出しポインタRPを更新する。読み出しポインタRPが更新されると、状態信号生成部60は、新たな読み出しポインタRPに応じた状態信号(図6(K))を生成する。データの読み出しが行われたため、状態信号が示すデータ蓄積数は「N+1」から「N」へ減る。読み出し側の装置は、データの読み出しが終わると、読み出し要求信号RREQ及び読み出しイネーブル信号RENをネゲートするとともに、非同期FIFOメモリ装置1への読み出しクロック信号RCLKの供給を停止する。   When the input of the write request signal WREQ from the writing side device is completed (t35), the request arbitration unit 10 ends the output of the read wait signal R_WAIT after two clock cycles of the read clock signal RCLK (t38). When the output of the read wait signal R_WAIT is completed, the read side device inputs the read enable signal REN to the asynchronous FIFO memory device 1 (t39). The clock selection unit 20 having received the read enable signal REN outputs the read clock signal RCLK as the selected clock signal MUX_CLK (FIG. 6 (L)) (t310). The memory unit 30 reads out the data RD stored at the address corresponding to the read pointer RP in synchronization with the selected clock signal MUX_CLK, and outputs the data RD to the read-side device. The read pointer update unit 50 updates the read pointer RP in synchronization with the selected clock signal MUX_CLK (read clock signal RCLK). When the read pointer RP is updated, the status signal generator 60 generates a status signal (FIG. 6 (K)) corresponding to the new read pointer RP. Since data has been read, the number of data stored indicated by the status signal decreases from “N + 1” to “N”. When the reading of the data is completed, the reading side device negates the read request signal RREQ and the read enable signal REN and stops supplying the read clock signal RCLK to the asynchronous FIFO memory device 1.

以上説明したように、本実施形態に係る非同期FIFOメモリ装置1によれば、書き込みクロック信号WCLKに同期した書き込み要求信号WREQが書き込み側の装置から入力されると、書き込み要求信号WREQを読み出しクロック信号RCLKに同期化した読み出し待ち信号R_WAITが要求調停部10から読み出し側の装置へ出力され、この読み出し待ち信号R_WAITが出力される間は、読み出し側の装置において読み出しイネーブル信号RENの生成が待機される。また、読み出しクロック信号RCLKに同期した読み出し要求信号RREQが読み出し側の装置から入力されると、読み出し要求信号RREQを書き込みクロック信号WCLKに同期化した書き込み待ち信号W_WAITが要求調停部10から書き込み側の装置へ出力され、この書き込み待ち信号W_WAITが出力される間は、書き込み側の装置において書き込みイネーブル信号WENの生成が待機される。書き込み側の装置から書き込みイネーブル信号WENが入力されると、書き込みクロック信号WCLKがクロック選択部20において選択クロック信号MUX_CLKとして選択され、読み出し側の装置から読み出しイネーブル信号RENが入力されると、読み出しクロック信号RCLKがクロック選択部20において選択クロック信号MUX_CLKとして選択される。
このように、本実施形態に係る非同期FIFOメモリ装置1によれば、書き込み動作を有効にする書き込みイネーブル信号WENと、読み出し動作を有効にする読み出しイネーブル信号RENとが競合しないように、両者の入力タイミングが調停されることから、クロック選択部20においては、グリッチのない単一の選択クロック信号MUX_CLKが生成される。
そして、本実施形態に係る非同期FIFOメモリ装置1では、メモリ部30,書き込みポインタ更新部40,読み出しポインタ更新部50及び状態信号生成部60が、クロック選択部20において生成された単一の選択クロック信号MUX_CLKに同期して動作する。
そのため、従来の非同期FIFOメモリ装置(図16)のように、書き込みポインタを読み出しクロック信号に同期化する回路や、読み出しポインタを書き込みクロック信号に同期化する回路が不要であり、また、ポインタの同期化に伴う誤変換を防止する対策としてグレイコード等を用いなくてもよいことから、グレイコード等からバイナリコードへ変換を行うための回路が不要である。更に、状態信号(データ蓄積数,満状態,空状態等を示す信号)を生成する回路を、書き込み側と読み出し側にそれぞれ設けなくてもよい。
従って、本実施形態に係る非同期FIFOメモリ装置1は、従来の装置に比べて回路規模を大幅に小さくすることができるとともに、構成がシンプルになり、設計が容易となる。
As described above, according to the asynchronous FIFO memory device 1 according to the present embodiment, when the write request signal WREQ synchronized with the write clock signal WCLK is input from the write side device, the write request signal WREQ is read as the read clock signal. A read wait signal R_WAIT synchronized with RCLK is output from the request arbitration unit 10 to the read side device, and while the read wait signal R_WAIT is output, the read side device waits for generation of the read enable signal REN. . When a read request signal RREQ synchronized with the read clock signal RCLK is input from the read side device, a write wait signal W_WAIT obtained by synchronizing the read request signal RREQ with the write clock signal WCLK is sent from the request arbitration unit 10 to the write side. While the data is output to the apparatus and the write wait signal W_WAIT is output, the write side apparatus waits for the generation of the write enable signal WEN. When the write enable signal WEN is input from the write side device, the write clock signal WCLK is selected as the selection clock signal MUX_CLK in the clock selection unit 20, and when the read enable signal REN is input from the read side device, the read clock The signal RCLK is selected as the selected clock signal MUX_CLK in the clock selection unit 20.
As described above, according to the asynchronous FIFO memory device 1 according to the present embodiment, the write enable signal WEN that enables the write operation and the read enable signal REN that enables the read operation do not conflict with each other. Since the timing is adjusted, the clock selection unit 20 generates a single selected clock signal MUX_CLK without glitches.
In the asynchronous FIFO memory device 1 according to the present embodiment, the memory unit 30, the write pointer update unit 40, the read pointer update unit 50, and the status signal generation unit 60 include a single selected clock generated by the clock selection unit 20. It operates in synchronization with the signal MUX_CLK.
Therefore, unlike the conventional asynchronous FIFO memory device (FIG. 16), a circuit for synchronizing the write pointer with the read clock signal and a circuit for synchronizing the read pointer with the write clock signal are not required. Since a gray code or the like does not have to be used as a measure for preventing erroneous conversion accompanying the conversion, a circuit for converting the gray code or the like into a binary code is unnecessary. Furthermore, it is not necessary to provide a circuit for generating a status signal (a signal indicating the number of accumulated data, a full state, an empty state, etc.) on each of the writing side and the reading side.
Therefore, the asynchronous FIFO memory device 1 according to the present embodiment can greatly reduce the circuit scale as compared with the conventional device, and the configuration is simple and the design is easy.

また、従来の非同期FIFOメモリ装置は、書き込み側のクロックドメインと読み出し側のクロックドメインにそれぞれ状態信号(データ蓄積数,満状態,空状態等を示す信号)を生成する回路が設けられている。各クロックドメインにおいて状態信号を生成するためには、他方のクロックドメインで生成されたポインタを同期化する必要がある。ところが、消費電力やノイズの発生を抑えるためにクロック信号を一時的に停止するような制御を行うと、そのクロックドメインでは他方のクロックドメインのポインタを同期化して取得できないため、正しい状態信号が得られないという問題が生じる。例えば、FIFOの蓄積状態に応じたイベント発生又は解除を読み出し側や書き込み側に通知するようなシステムの場合、それぞれのクロックドメインで常に正しい状態信号を生成する必要があるため、両方のクロック信号を常に供給しなくてはならない。
これに対し、本実施形態に係る非同期FIFOメモリ装置1では、書き込みクロック信号WCLKに同期して動作する書き込みポインタ更新部40が生成した書き込みポインタWPと、読み出しクロック信号RCLKに同期して動作する読み出しポインタ更新部50が生成した読み出しポインタRPとが、状態信号生成部60において状態信号の生成にそのまま使用される(同期化せずに使用される)。そのため、書き込みクロック信号WCLKと読み出しクロック信号RCLKの一方が一時的に停止した状態でも、正しい状態信号を生成することができる。従って、FIFOの蓄積状態を常時監視するようなシステムにおいても、クロック信号を一時的に停止する制御が可能である。
Further, the conventional asynchronous FIFO memory device is provided with a circuit for generating status signals (signals indicating the number of data accumulation, full status, empty status, etc.) in the clock domain on the write side and the clock domain on the read side. In order to generate the status signal in each clock domain, it is necessary to synchronize the pointers generated in the other clock domain. However, if control is performed such that the clock signal is temporarily stopped in order to suppress power consumption and noise generation, a correct status signal can be obtained because the pointer of the other clock domain cannot be synchronized and acquired in that clock domain. The problem of not being able to occur. For example, in the case of a system that notifies an occurrence or release of an event according to the FIFO accumulation state to the reading side or writing side, it is necessary to always generate a correct state signal in each clock domain. Must always be supplied.
In contrast, in the asynchronous FIFO memory device 1 according to the present embodiment, the write pointer WP generated by the write pointer update unit 40 that operates in synchronization with the write clock signal WCLK and the read that operates in synchronization with the read clock signal RCLK. The read pointer RP generated by the pointer update unit 50 is used as it is for the generation of the status signal in the status signal generation unit 60 (used without being synchronized). Therefore, a correct state signal can be generated even when one of the write clock signal WCLK and the read clock signal RCLK is temporarily stopped. Therefore, even in a system that constantly monitors the accumulation state of the FIFO, it is possible to control to temporarily stop the clock signal.

<第2の実施形態>
次に、本発明の第2の実施形態について説明する。
上述した第1の実施形態に係る非同期FIFOメモリ装置1では、要求調停部10において読み出し要求信号RREQ又は書き込み要求信号WREQの一方が他方に対して優先するように制御が行われている。そのため、例えば読み出し要求信号RREQが優先されている場合には、先に書き込み要求信号WREQが発生した場合でも、後から発生した読み出し要求信号RREQによって書き込み待ち信号W_WAITが出力され、書き込み処理が待たされてしまう可能性がある。
これに対し、本実施形態に係る非同期FIFOメモリ装置1では、常に一方の要求(読み出し要求,書き込み要求)のみが優先されるのではなく、時間的に早く発生した要求の方が優先され易くなる。
<Second Embodiment>
Next, a second embodiment of the present invention will be described.
In the asynchronous FIFO memory device 1 according to the first embodiment described above, the request arbitration unit 10 performs control so that one of the read request signal RREQ and the write request signal WREQ has priority over the other. Therefore, for example, when the read request signal RREQ has priority, even when the write request signal WREQ is generated first, the write wait signal W_WAIT is output by the read request signal RREQ generated later and the write processing is waited. There is a possibility that.
In contrast, in the asynchronous FIFO memory device 1 according to the present embodiment, only one request (read request, write request) is not always given priority, but a request that occurs earlier in time is more likely to be given priority. .

第2の実施形態に係る非同期FIFOメモリ装置1は、図2に示す非同期FIFOメモリ装置1と同様の構成を有しているが、要求調停部10の内部構成は図3に示すものと異なっている。   The asynchronous FIFO memory device 1 according to the second embodiment has the same configuration as that of the asynchronous FIFO memory device 1 shown in FIG. 2, but the internal configuration of the request arbitration unit 10 is different from that shown in FIG. Yes.

図7は、第2の実施形態に係る非同期FIFOメモリ装置における要求調停部10の構成の一例を示す図である。図7に示す要求調停部10は、図3に示す要求調停部10と同様な第1同期化部11及び12を有するとともに、調停制御部13を有する。   FIG. 7 is a diagram illustrating an example of the configuration of the request arbitration unit 10 in the asynchronous FIFO memory device according to the second embodiment. The request arbitration unit 10 illustrated in FIG. 7 includes first synchronization units 11 and 12 similar to the request arbitration unit 10 illustrated in FIG. 3 and an arbitration control unit 13.

調停制御部13は、書き込み側の装置から書き込み要求信号WREQが入力された場合、読み出し要求信号RREQを書き込みクロック信号WCLKに同期化した信号S11(以下、同期化信号S11と記す場合がある。)が第1同期化部11において出力されていないことを条件として、書き込み要求信号WREQを書き込みクロック信号WCLKに同期して保持するとともに、当該保持した書き込み要求信号WREQ(S13)を第2同期化部12へ入力する。これにより、書き込み要求信号WREQを同期化した読み出し待ち信号R_WAITが読み出し側の装置に出力されるため、読み出し側の装置において読み出し処理が待機される状態となる。   When the write request signal WREQ is input from the writing side device, the arbitration control unit 13 synchronizes the read request signal RREQ with the write clock signal WCLK (hereinafter may be referred to as a synchronization signal S11). Is held in synchronization with the write clock signal WCLK, and the held write request signal WREQ (S13) is held in the second synchronization unit on the condition that the first synchronization unit 11 does not output the write request signal WREQ. 12 is input. As a result, since the read wait signal R_WAIT in which the write request signal WREQ is synchronized is output to the read side device, the read side device is put in a standby state.

調停制御部13は、書き込み要求信号WREQを保持している場合、書き込み側の装置への書き込み待ち信号W_WAITの出力を抑止する。書き込み要求信号WREQの保持後に読み出し要求信号RREQの同期化信号S11が第1同期化部11から出力されても、調停制御部13が書き込み待ち信号W_WAITの出力を抑止するため、書き込み処理が進行する。   When the arbitration control unit 13 holds the write request signal WREQ, the arbitration control unit 13 suppresses the output of the write wait signal W_WAIT to the writing side device. Even if the synchronization signal S11 of the read request signal RREQ is output from the first synchronization unit 11 after holding the write request signal WREQ, the arbitration control unit 13 suppresses the output of the write wait signal W_WAIT, so that the write process proceeds. .

調停制御部13は、書き込み要求信号WREQの入力が終了すると、書き込み要求信号WREQの保持を解除する。これにより、第2同期化部12からの読み出し待ち信号R_WAITの出力が終了するため、読み出し側の装置において読み出し処理が可能となる。   When the input of the write request signal WREQ ends, the arbitration control unit 13 cancels the holding of the write request signal WREQ. As a result, the output of the read wait signal R_WAIT from the second synchronization unit 12 is completed, so that a read process can be performed in the read side device.

調停制御部13は、書き込み要求信号WREQを保持していないときは、第1同期化部11の同期化信号S11に応じた書き込み待ち信号W_WAITを書き込み側の装置に出力する。読み出し要求信号RREQを同期化した同期化信号S11が出力されているときに後から書き込み要求信号WREQが入力されても、調停制御部13は書き込み要求信号WREQを保持しないため、第2同期化部12から読み出し待ち信号R_WAITが出力されず、読み出し処理が進行する。   When the arbitration control unit 13 does not hold the write request signal WREQ, the arbitration control unit 13 outputs a write wait signal W_WAIT corresponding to the synchronization signal S11 of the first synchronization unit 11 to the writing side device. Since the arbitration control unit 13 does not hold the write request signal WREQ even if the write request signal WREQ is input later when the synchronization signal S11 in which the read request signal RREQ is synchronized is output, the second synchronization unit No read wait signal R_WAIT is output from 12, and the read process proceeds.

調停制御部13は、例えば図7において示すように、論理ゲート回路131,132,133,135とフリップフロップ134を有する。
論理ゲート回路131は、第1同期化部11の出力信号を論理反転した信号と書き込み要求信号WREQとの論理積を出力する。
論理ゲート回路132は、論理ゲート回路131の出力信号とフリップフロップ134に保持された信号との論理和を出力する。
論理ゲート回路133は、論理ゲート回路132の出力信号と書き込み要求信号WREQとの論理積を出力する。
フリップフロップ134は、論理ゲート回路133の出力信号を書き込みクロック信号WCLKに同期して保持する。フリップフロップ134が保持する信号は、第2同期化部12に入力される。
論理ゲート回路135は、フリップフロップ134に保持された信号を論理反転した信号と第1同期化部11の出力信号との論理積を、書き込み待ち信号W_WAITとして出力する。
The arbitration control unit 13 includes logic gate circuits 131, 132, 133, and 135 and a flip-flop 134 as shown in FIG.
The logic gate circuit 131 outputs a logical product of a signal obtained by logically inverting the output signal of the first synchronization unit 11 and the write request signal WREQ.
The logic gate circuit 132 outputs a logical sum of the output signal of the logic gate circuit 131 and the signal held in the flip-flop 134.
The logic gate circuit 133 outputs a logical product of the output signal of the logic gate circuit 132 and the write request signal WREQ.
The flip-flop 134 holds the output signal of the logic gate circuit 133 in synchronization with the write clock signal WCLK. The signal held by the flip-flop 134 is input to the second synchronization unit 12.
The logic gate circuit 135 outputs a logical product of a signal obtained by logically inverting the signal held in the flip-flop 134 and the output signal of the first synchronization unit 11 as a write wait signal W_WAIT.

ここで、上述した調停制御部13を有する第2の実施形態に係る非同期FIFOメモリ装置1の動作について、図8,図9のタイミング図を参照して説明する。   Here, the operation of the asynchronous FIFO memory device 1 according to the second embodiment having the above-described arbitration control unit 13 will be described with reference to the timing charts of FIGS.

まず、図8のタイミング図を参照して、先行する書き込み処理のために読み出し処理が待たされる場合の動作を説明する。   First, with reference to the timing chart of FIG. 8, the operation when the read process is waited for the preceding write process will be described.

図8の例では、先に読み出し側の装置から読み出し要求信号RREQ(図8(I))が発生し(t41)、その後に書き込み側の装置から書き込み要求信号WREQ(図8(B))が発生する(t42)。書き込み要求信号WREQが調停制御部13に入力されたとき、読み出し要求信号RREQは未だ同期化されておらず、同期化信号S11(図8(F))として第1同期化部11から出力されていない。そのため、調停制御部13は、次の書き込みクロック信号WCLKの立ち上がり(t43)に同期して書き込み要求信号WREQを保持し、信号S13(図8(C))として第2同期化部12に入力する。   In the example of FIG. 8, the read request signal RREQ (FIG. 8 (I)) is first generated from the read side device (t41), and then the write request signal WREQ (FIG. 8 (B)) is output from the write side device. Occurs (t42). When the write request signal WREQ is input to the arbitration control unit 13, the read request signal RREQ is not yet synchronized and is output from the first synchronization unit 11 as the synchronization signal S11 (FIG. 8F). Absent. Therefore, the arbitration control unit 13 holds the write request signal WREQ in synchronization with the next rise (t43) of the write clock signal WCLK, and inputs it to the second synchronization unit 12 as a signal S13 (FIG. 8C). .

書き込み要求信号WREQを保持した信号S13が出力された後(t43)、第1同期化部11は、読み出し要求信号RREQの同期化信号S11(図8(F))を出力する。調停制御部13は、このとき既に書き込み要求信号WREQを保持しているため、同期化信号S11を書き込み待ち信号W_WAITとして書き込み側の装置に出力しない。   After the signal S13 holding the write request signal WREQ is output (t43), the first synchronization unit 11 outputs the synchronization signal S11 (FIG. 8F) of the read request signal RREQ. Since the arbitration control unit 13 already holds the write request signal WREQ at this time, the arbitration control unit 13 does not output the synchronization signal S11 as the write wait signal W_WAIT to the writing side device.

第2同期化部12は、調停制御部13に信号S13として保持された書き込み要求信号WREQ(図8(C))を、2クロック周期(t44,t45)で読み出しクロック信号RCLKに同期化し、読み出し待ち信号R_WAIT(図8(L))として読み出し側の装置に出力する。これにより、読み出し側の装置において読み出しイネーブル信号RENの入力が待機される。   The second synchronization unit 12 synchronizes the write request signal WREQ (FIG. 8C) held in the arbitration control unit 13 as the signal S13 with the read clock signal RCLK at two clock cycles (t44, t45), and reads The waiting signal R_WAIT (FIG. 8L) is output to the reading side device. As a result, the input of the read enable signal REN is waited in the read side apparatus.

書き込み要求信号WREQ(図8(B))の入力から一定時間が経過したとき(t46)、調停制御部13から書き込み待ち信号W_WAIT(図8(G))が出力されていないため、書き込み側の装置は書き込みイネーブル信号WEN(図8(D))を発生する。書き込みイネーブル信号WENを入力したクロック選択部20は、書き込みクロック信号WCLKを選択クロック信号MUX_CLK(図8(N))として出力する(t47)。メモリ部30は、この選択クロック信号MUX_CLKに同期して、書き込み側の装置から供給された書き込み用のデータWDを書き込みポインタWPに応じたアドレスに格納する。また、書き込みポインタ更新部40は、選択クロック信号MUX_CLK(書き込みクロック信号WCLK)に同期して書き込みポインタWPを更新する。書き込みポインタWPが更新されると、状態信号生成部60は、新たな書き込みポインタWPに応じた状態信号(図8(M))を生成する。データの書き込みが行われたため、状態信号が示すデータ蓄積数は「N」から「N+1」へ増える。   When a predetermined time has elapsed from the input of the write request signal WREQ (FIG. 8B) (t46), the write wait signal W_WAIT (FIG. 8G) is not output from the arbitration control unit 13, so the write side The device generates a write enable signal WEN (FIG. 8D). The clock selection unit 20 that has received the write enable signal WEN outputs the write clock signal WCLK as the selected clock signal MUX_CLK (FIG. 8N) (t47). The memory unit 30 stores the write data WD supplied from the writing side device at an address corresponding to the write pointer WP in synchronization with the selected clock signal MUX_CLK. Further, the write pointer update unit 40 updates the write pointer WP in synchronization with the selected clock signal MUX_CLK (write clock signal WCLK). When the write pointer WP is updated, the status signal generator 60 generates a status signal (FIG. 8M) corresponding to the new write pointer WP. Since data has been written, the number of data accumulations indicated by the status signal increases from “N” to “N + 1”.

書き込み側の装置は、データの書き込みが終わると、書き込み要求信号WREQ及び書き込みイネーブル信号WENをネゲートする(t47)。調停制御部13は、書き込み要求信号WREQの入力が終了すると、次の書き込みクロック信号WCLKの立ち上がり(t48)において、書き込み要求信号WREQの保持を解除する(信号S13を「0」にする)。書き込み側の装置は、調停制御部13において書き込み要求信号WREQの保持が解除された後、書き込みクロック信号WCLKの供給を停止する。調停制御部13は、書き込み要求信号WREQの保持を解除すると、第1同期化部11から出力される同期化信号S11(図8(F))を書き込み待ち信号W_WAIT(図8(G))として書き込み側の装置に出力する。   When the data writing is completed, the writing side device negates the write request signal WREQ and the write enable signal WEN (t47). When the input of the write request signal WREQ ends, the arbitration control unit 13 releases the hold of the write request signal WREQ (sets the signal S13 to “0”) at the next rising edge (t48) of the write clock signal WCLK. The device on the writing side stops supplying the write clock signal WCLK after the arbitration control unit 13 releases the holding of the write request signal WREQ. When the arbitration control unit 13 releases the holding of the write request signal WREQ, the arbitration control unit 13 uses the synchronization signal S11 (FIG. 8 (F)) output from the first synchronization unit 11 as a write wait signal W_WAIT (FIG. 8 (G)). Output to the writing device.

第2同期化部12は、書き込み要求信号WREQを保持した信号S13(図8(C))がネゲートされると、2クロック周期後(t49,t410)に、読み出し待ち信号R_WAIT(図8(L))をネゲートする。読み出し待ち信号R_WAITの出力が終了すると、読み出し側の装置は、読み出しイネーブル信号REN(図8(J))を非同期FIFOメモリ装置1に入力する(t411)。読み出しイネーブル信号RENを入力したクロック選択部20は、読み出しクロック信号RCLKを選択クロック信号MUX_CLK(図8(N))として出力する(t412)。メモリ部30は、この選択クロック信号MUX_CLKに同期して、読み出しポインタRPに応じたアドレスに格納されたデータRDを読み出し、読み出し側の装置に出力する。読み出しポインタ更新部50は、選択クロック信号MUX_CLK(読み出しクロック信号RCLK)に同期して読み出しポインタRPを更新する。読み出しポインタRPが更新されると、状態信号生成部60は、新たな読み出しポインタRPに応じた状態信号(図8(M))を生成する。データの読み出しが行われたため、状態信号が示すデータ蓄積数は「N+1」から「N」へ減る。読み出し側の装置は、データの読み出しが終わると、読み出し要求信号RREQ及び読み出しイネーブル信号RENをネゲートするとともに、非同期FIFOメモリ装置1への読み出しクロック信号RCLKの供給を停止する。   When the signal S13 (FIG. 8C) holding the write request signal WREQ is negated, the second synchronization unit 12 waits for a read waiting signal R_WAIT (FIG. 8 (L) after two clock cycles (t49, t410). Negate)). When the output of the read wait signal R_WAIT is completed, the read side device inputs the read enable signal REN (FIG. 8 (J)) to the asynchronous FIFO memory device 1 (t411). The clock selection unit 20 to which the read enable signal REN is input outputs the read clock signal RCLK as the selected clock signal MUX_CLK ((N) in FIG. 8) (t412). The memory unit 30 reads out the data RD stored at the address corresponding to the read pointer RP in synchronization with the selected clock signal MUX_CLK, and outputs the data RD to the read-side device. The read pointer update unit 50 updates the read pointer RP in synchronization with the selected clock signal MUX_CLK (read clock signal RCLK). When the read pointer RP is updated, the status signal generator 60 generates a status signal (FIG. 8M) corresponding to the new read pointer RP. Since data has been read, the number of data stored indicated by the status signal decreases from “N + 1” to “N”. When the reading of the data is completed, the reading side device negates the read request signal RREQ and the read enable signal REN and stops supplying the read clock signal RCLK to the asynchronous FIFO memory device 1.

次に、図9のタイミング図を参照して、先行する読み出し処理のために書き込み処理が待たされる場合の動作を説明する。   Next, with reference to the timing chart of FIG. 9, the operation when the writing process is waited for the preceding reading process will be described.

図9の例においても、先に読み出し側の装置から読み出し要求信号RREQ(図9(I))が発生し(t51)、その後に書き込み側の装置から書き込み要求信号WREQ(図9(B))が発生する(t53)。ただし、図9の例では、書き込み要求信号WREQの発生と同じタイミング(t53)で、第1同期化部11が読み出し要求信号RREQの同期化信号S11(図9(F))を出力する。読み出し要求信号RREQの同期化信号S11が出力されているため、調停制御部13は次のクロック周期(t54)で書き込み要求信号WREQを保持せず、信号S13を「0」のままとする。すなわち、調停制御部13は、書き込み要求信号WREQを第2同期化部12へ伝えない。他方、調停制御部13は、書き込み要求信号WREQを保持していないため、読み出し要求信号RREQの同期化信号S11をそのまま書き込み待ち信号W_WAITとして書き込み側の装置に出力する。これにより、書き込み側の装置において書き込みイネーブル信号WENの入力が待機される。   Also in the example of FIG. 9, the read request signal RREQ (FIG. 9 (I)) is first generated from the read side device (t51), and then the write request signal WREQ (FIG. 9 (B)) from the write side device. Occurs (t53). However, in the example of FIG. 9, at the same timing (t53) as the generation of the write request signal WREQ, the first synchronization unit 11 outputs the synchronization signal S11 of the read request signal RREQ (FIG. 9 (F)). Since the synchronization signal S11 of the read request signal RREQ is output, the arbitration control unit 13 does not hold the write request signal WREQ in the next clock cycle (t54) and keeps the signal S13 as “0”. That is, the arbitration control unit 13 does not transmit the write request signal WREQ to the second synchronization unit 12. On the other hand, since the arbitration control unit 13 does not hold the write request signal WREQ, the arbitration control unit 13 outputs the synchronization signal S11 of the read request signal RREQ as it is to the writing side device as the write wait signal W_WAIT. As a result, the input of the write enable signal WEN is waited in the writing side apparatus.

読み出し要求信号RREQ(図9(I))の入力から一定時間が経過したとき(t55)、調停制御部13から読み出し待ち信号R_WAITが出力されていないため、読み出し側の装置は読み出しイネーブル信号REN(図9(J))を発生する。読み出しイネーブル信号RENを入力したクロック選択部20は、読み出しクロック信号RCLKを選択クロック信号MUX_CLK(図9(N))として出力する(t56)。メモリ部30は、この選択クロック信号MUX_CLKに同期して、読み出しポインタRPに応じたアドレスからデータRDを読み出し、読み出し側の装置に出力する。読み出しポインタ更新部50は、選択クロック信号MUX_CLK(読み出しクロック信号RCLK)に同期して読み出しポインタRPを更新する。読み出しポインタRPが更新されると、状態信号生成部60は、新たな読み出しポインタRPに応じた状態信号(図9(M))を生成する。データの読み出しが行われたため、状態信号が示すデータ蓄積数は「N」から「N−1」へ減る。読み出し側の装置は、データRDの読み出しが終わると、読み出し要求信号RREQ及び読み出しイネーブル信号RENをネゲートするとともに、読み出しクロック信号RCLKの供給を停止する。   When a predetermined time has elapsed from the input of the read request signal RREQ (FIG. 9 (I)) (t55), the read wait signal R_WAIT is not output from the arbitration control unit 13, and therefore the read side device reads the read enable signal REN ( 9J) is generated. The clock selection unit 20 that has received the read enable signal REN outputs the read clock signal RCLK as the selected clock signal MUX_CLK (FIG. 9 (N)) (t56). The memory unit 30 reads the data RD from the address corresponding to the read pointer RP in synchronization with the selected clock signal MUX_CLK, and outputs it to the read-side device. The read pointer update unit 50 updates the read pointer RP in synchronization with the selected clock signal MUX_CLK (read clock signal RCLK). When the read pointer RP is updated, the status signal generator 60 generates a status signal (FIG. 9M) corresponding to the new read pointer RP. Since data has been read, the number of data stored indicated by the status signal decreases from “N” to “N−1”. When reading of the data RD is completed, the reading side device negates the read request signal RREQ and the read enable signal REN and stops supplying the read clock signal RCLK.

第1同期化部11は、読み出し側の装置からの読み出し要求信号RREQの入力が終了すると(t56)、読み出しクロック信号RCLKの2クロック周期後(t57,t58)に、同期化信号S11の出力を終了する。このとき、調停制御部13は書き込み要求信号WREQを保持していないため(信号S13が「0」のため)、同期化信号S11をそのまま書き込み待ち信号W_WAIT(図9(G))として出力している。従って、同期化信号S11の出力が終了すると、書き込み待ち信号W_WAITの出力も終了する。   When the input of the read request signal RREQ from the reading side device is completed (t56), the first synchronization unit 11 outputs the synchronization signal S11 after two clock cycles (t57, t58) of the read clock signal RCLK. finish. At this time, since the arbitration control unit 13 does not hold the write request signal WREQ (since the signal S13 is “0”), the synchronization signal S11 is output as it is as the write wait signal W_WAIT (FIG. 9 (G)). Yes. Therefore, when the output of the synchronization signal S11 ends, the output of the write wait signal W_WAIT also ends.

書き込み待ち信号W_WAITの出力が終了すると、書き込み側の装置は書き込みイネーブル信号WEN(図9(C))を発生する(t59)。書き込みイネーブル信号WENを入力したクロック選択部20は、書き込みクロック信号WCLKを選択クロック信号MUX_CLK(図9(N))として出力する(t510)。メモリ部30は、この選択クロック信号MUX_CLKに同期して、書き込み側の装置から供給された書き込み用のデータWDを書き込みポインタWPに応じたアドレスに格納する。書き込みポインタ更新部40は、選択クロック信号MUX_CLK(書き込みクロック信号WCLK)に同期して書き込みポインタWPを更新する。書き込みポインタWPが更新されると、状態信号生成部60は、新たな書き込みポインタWPに応じた状態信号(図9(M))を生成する。データの書き込みが行われたため、状態信号が示すデータ蓄積数は「N−1」から「N」へ増える。書き込み側の装置は、データの書き込みが終わると、書き込み要求信号WREQ及び書き込みイネーブル信号WENをネゲートする。   When the output of the write wait signal W_WAIT is completed, the writing side device generates the write enable signal WEN (FIG. 9C) (t59). The clock selector 20 having received the write enable signal WEN outputs the write clock signal WCLK as the selected clock signal MUX_CLK (FIG. 9 (N)) (t510). The memory unit 30 stores the write data WD supplied from the writing side device at an address corresponding to the write pointer WP in synchronization with the selected clock signal MUX_CLK. The write pointer update unit 40 updates the write pointer WP in synchronization with the selected clock signal MUX_CLK (write clock signal WCLK). When the write pointer WP is updated, the status signal generator 60 generates a status signal (FIG. 9M) corresponding to the new write pointer WP. Since data has been written, the number of data accumulations indicated by the status signal increases from “N−1” to “N”. The device on the writing side negates the write request signal WREQ and the write enable signal WEN when the data writing is completed.

読み出し要求信号RREQの同期化信号S11の出力が終了すると(t58)、調停制御部13は書き込み要求信号WREQを保持する(t59)。ただし、このとき既に読み出しクロック信号RCLKが停止しているため、第2同期化部12において同期化は行われず、読み出し待ち信号R_WAITは出力されない。書き込み要求信号WREQがネゲートされると(t510)、調停制御部13は書き込み要求信号WREQの保持を解除する(t511)。書き込み側の装置は、調停制御部13において書き込み要求信号WREQの保持が解除された後、書き込みクロック信号WCLKの供給を停止する。   When the output of the synchronization signal S11 of the read request signal RREQ ends (t58), the arbitration control unit 13 holds the write request signal WREQ (t59). However, since the read clock signal RCLK has already stopped at this time, the second synchronization unit 12 does not perform synchronization and the read wait signal R_WAIT is not output. When the write request signal WREQ is negated (t510), the arbitration control unit 13 releases the hold of the write request signal WREQ (t511). The device on the writing side stops supplying the write clock signal WCLK after the arbitration control unit 13 releases the holding of the write request signal WREQ.

以上説明したように、本実施形態に係る非同期FIFOメモリ装置1によれば、書き込み側の装置から書き込み要求信号WREQが入力された場合、読み出し要求信号RREQの同期化信号S11が第1同期化部11において出力されていないことを条件として、書き込み要求信号WREQが書き込みクロック信号WCLKに同期して調停制御部13に保持され、当該保持された書き込み要求信号WREQが第2同期化部12へ入力され、第2同期化部12から読み出し側の装置へ読み出し待ち信号R_WAITが出力される。調停制御部13において書き込み要求信号WREQが保持されているときは、書き込み側の装置への書き込み待ち信号W_WAITの出力が抑止される。書き込み側装置からの書き込み要求信号WREQの入力が終了すると、調停制御部13において書き込み要求信号WREQの保持が解除され、第2同期化部12から読み出し側装置への読み出し待ち信号R_WAITの出力が終了する。調停制御部13において書き込み要求信号WREQが保持されていないときは、第1同期化部11の同期化信号S11に応じた書き込み待ち信号W_WAITが書き込み側の装置へ出力される。
すなわち、書き込み側装置からの書き込み要求信号WREQの入力が、第1同期化部11における読み出し要求信号RREQの同期化信号S11の出力よりも早い場合は、書き込み要求が読み出し要求に優先され、読み出し要求は書き込み処理が終わるまで待たされる。逆に、第1同期化部11における読み出し要求信号RREQの同期化信号S11の出力が、書き込み側装置からの書き込み要求信号WREQの入力よりも早い場合は、読み出し要求が書き込み要求に優先され、書き込み要求は読み出し処理が終わるまで待たされる。
従って、書き込み又は読み出しの一方が常に優先される方式に比べて、書き込み処理と読み出し処理の各々を発生頻度に応じてバランスよく実行することができる。
As described above, according to the asynchronous FIFO memory device 1 according to the present embodiment, when the write request signal WREQ is input from the write side device, the synchronization signal S11 of the read request signal RREQ is the first synchronization unit. 11, the write request signal WREQ is held in the arbitration control unit 13 in synchronization with the write clock signal WCLK, and the held write request signal WREQ is input to the second synchronization unit 12 on the condition that the write request signal WREQ is not output. Then, a read waiting signal R_WAIT is output from the second synchronization unit 12 to the reading side device. When the write request signal WREQ is held in the arbitration control unit 13, the output of the write wait signal W_WAIT to the writing side device is suppressed. When the input of the write request signal WREQ from the writing side device ends, the arbitration control unit 13 releases the holding of the write request signal WREQ, and the output of the read waiting signal R_WAIT from the second synchronization unit 12 to the reading side device ends. To do. When the write request signal WREQ is not held in the arbitration control unit 13, the write wait signal W_WAIT corresponding to the synchronization signal S11 of the first synchronization unit 11 is output to the writing side device.
That is, when the input of the write request signal WREQ from the writing side device is earlier than the output of the synchronization signal S11 of the read request signal RREQ in the first synchronization unit 11, the write request has priority over the read request, and the read request Waits until the writing process is finished. Conversely, when the output of the synchronization signal S11 of the read request signal RREQ in the first synchronization unit 11 is earlier than the input of the write request signal WREQ from the writing side device, the read request has priority over the write request, and the write request The request is waited until the reading process is completed.
Therefore, each of the writing process and the reading process can be executed in a balanced manner according to the frequency of occurrence, as compared with a method in which either writing or reading is always prioritized.

なお、図7に例示する調停制御部13では、書き込み要求信号WREQを保持して第2同期化部12に入力しているが、本実施形態はこの例に限定されない。
本実施形態の他の例では、調停制御部13が書き込み要求信号WREQの代わりに読み出し要求信号RREQを入力し、第1同期化部11の出力信号(S13)の代わりに第2同期化部12の出力信号を入力し、書き込み待ち信号W_WAITの代わりに読み出し待ち信号R_WAITを出力してもよい。
この例において、調停制御部13は、読み出し側の装置から読み出し要求信号RREQが入力された場合、書き込み要求信号WREQを同期化した信号が第2同期化部12において出力されていないことを条件として、読み出し要求信号RREQを読み出しクロック信号RCLKに同期して保持するとともに、当該保持した読み出し要求信号RREQを第1同期化部11へ入力し、読み出し要求信号RREQを保持しているときは、読み出し待ち信号R_WAITの出力を抑止し、読み出し要求信号RREQの入力が終了すると、読み出し要求信号RREQの保持を解除し、読み出し要求信号RREQを保持していないときは、第2同期化部12の出力信号に応じた読み出し待ち信号R_WAITを出力する。
読み出し側の装置からの読み出し要求信号RREQの入力が、第2同期化部12における書き込み要求信号WREQの同期化信号の出力よりも早い場合は、読み出し要求が書き込み要求に優先され、書き込み要求は読み出しみ処理が終わるまで待たされる。逆に、第2同期化部12における書き込み要求信号WREQの同期化信号の出力が、読み出し側装置からの読み出し要求信号RREQの入力よりも早い場合は、書き込み要求が読み出し要求に優先され、読み出し要求は書き込み処理が終わるまで待たされる。
従って、この場合も、書き込み又は読み出しの一方が常に優先される方式に比べて、書き込み処理と読み出し処理の各々を発生頻度に応じてバランスよく実行することができる。
Although the arbitration control unit 13 illustrated in FIG. 7 holds the write request signal WREQ and inputs it to the second synchronization unit 12, the present embodiment is not limited to this example.
In another example of the present embodiment, the arbitration control unit 13 inputs a read request signal RREQ instead of the write request signal WREQ, and the second synchronization unit 12 instead of the output signal (S13) of the first synchronization unit 11. The read wait signal R_WAIT may be output instead of the write wait signal W_WAIT.
In this example, when the read request signal RREQ is input from the read side device, the arbitration control unit 13 is provided on the condition that the signal that synchronizes the write request signal WREQ is not output in the second synchronization unit 12. The read request signal RREQ is held in synchronization with the read clock signal RCLK, and the held read request signal RREQ is input to the first synchronizer 11, and the read request signal RREQ is held when the read request signal RREQ is held. When the output of the signal R_WAIT is suppressed and the input of the read request signal RREQ is terminated, the holding of the read request signal RREQ is released, and when the read request signal RREQ is not held, the output signal of the second synchronization unit 12 is A corresponding read waiting signal R_WAIT is output.
When the input of the read request signal RREQ from the reading side device is earlier than the output of the synchronization signal of the write request signal WREQ in the second synchronization unit 12, the read request has priority over the write request, and the write request is read. Wait until the processing is completed. Conversely, when the output of the synchronization signal of the write request signal WREQ in the second synchronization unit 12 is earlier than the input of the read request signal RREQ from the read side device, the write request has priority over the read request, and the read request Waits until the writing process is finished.
Therefore, also in this case, each of the writing process and the reading process can be executed in a well-balanced manner according to the frequency of occurrence, as compared with a method in which one of writing and reading is always prioritized.

<第3の実施形態>
次に、本発明の第3の実施形態について説明する。
上述した第2の実施形態に係る非同期FIFOメモリ装置1では、書き込み要求と読み出し要求を調停するために要求信号(書き込み要求信号WREQ,読み出し要求信号RREQ)を保持し、保持した要求信号を同期化部(第1同期化部11,第2同期化部12)へ入力しているが、本実施形態に係る非同期FIFOメモリ装置1では、同期化部(第1同期化部11,第2同期化部12)から出力される同期化信号(S11,S12)を保持し、保持した同期化信号を待ち信号(書き込み待ち信号W_WAIT,読み出し待ち信号R_WAIT)として出力する。
<Third Embodiment>
Next, a third embodiment of the present invention will be described.
In the asynchronous FIFO memory device 1 according to the second embodiment described above, a request signal (write request signal WREQ, read request signal RREQ) is held in order to arbitrate a write request and a read request, and the held request signal is synchronized. (The first synchronization unit 11 and the second synchronization unit 12). In the asynchronous FIFO memory device 1 according to the present embodiment, the synchronization unit (the first synchronization unit 11 and the second synchronization unit 12). The synchronization signals (S11, S12) output from the unit 12) are held, and the held synchronization signals are output as wait signals (write wait signal W_WAIT, read wait signal R_WAIT).

第3の実施形態に係る非同期FIFOメモリ装置1は、図2に示す非同期FIFOメモリ装置1と同様の構成を有しているが、要求調停部10の内部構成については、図3,図7に示すものと異なっている。   The asynchronous FIFO memory device 1 according to the third embodiment has the same configuration as that of the asynchronous FIFO memory device 1 shown in FIG. 2, but the internal configuration of the request arbitration unit 10 is shown in FIGS. It is different from what is shown.

図10は、第3の実施形態に係る非同期FIFOメモリ装置における要求調停部10の構成の一例を示す図である。図10に示す要求調停部10は、図3に示す要求調停部10と同様な第1同期化部11及び12を有するとともに、調停制御部14を有する。   FIG. 10 is a diagram illustrating an example of the configuration of the request arbitration unit 10 in the asynchronous FIFO memory device according to the third embodiment. The request arbitration unit 10 illustrated in FIG. 10 includes first synchronization units 11 and 12 similar to the request arbitration unit 10 illustrated in FIG. 3 and an arbitration control unit 14.

調停制御部14は、書き込み要求信号WREQを読み出しクロック信号RCLKに同期化した信号S12(以下、同期化信号S12と記す場合がある。)が第2同期化部12から出力された場合、読み出し側の装置から読み出し要求信号RREQが入力されていないことを条件として、同期化信号S12を読み出しクロック信号RCLKに同期して保持するとともに、当該保持した同期化信号S12を読み出し待ち信号R_WAITとして読み出し側の装置に出力する。これにより、読み出し側の装置において読み出し処理が待機される状態となる。   The arbitration control unit 14 reads the write request signal WREQ from the second synchronization unit 12 when a signal S12 that is synchronized with the read clock signal RCLK (hereinafter may be referred to as a synchronization signal S12) is output from the second synchronization unit 12. The synchronization signal S12 is held in synchronization with the read clock signal RCLK on the condition that the read request signal RREQ is not input from the device, and the held synchronization signal S12 is set as a read wait signal R_WAIT on the reading side. Output to the device. As a result, the reading-side apparatus is in a state of waiting for the reading process.

調停制御部14は、書き込み要求信号WREQの同期化信号S12を保持しているときは、第1同期化部11への読み出し要求信号RREQの入力を抑止する。同期化信号S1の保持後に読み出し要求信号RREQが入力されても、調停制御部14によって第1同期化部11への読み出し要求信号RREQの入力が抑止されるため、書き込み待ち信号W_WAITは出力されず、書き込み処理が進行する。   The arbitration control unit 14 suppresses the input of the read request signal RREQ to the first synchronization unit 11 when holding the synchronization signal S12 of the write request signal WREQ. Even if the read request signal RREQ is input after the synchronization signal S1 is held, the arbitration control unit 14 suppresses the input of the read request signal RREQ to the first synchronization unit 11, and thus the write wait signal W_WAIT is not output. The writing process proceeds.

調停制御部14は、書き込み側の装置からの書き込み要求信号WREQの出力が終了することによって第2同期化部12からの同期化信号S12が終了すると、同期化信号S12の保持を解除し、読み出し待ち信号R_WAITの出力を終了する。これにより、読み出し側の装置において読み出し処理が可能となる。   When the output of the write request signal WREQ from the writing side device ends and the synchronization signal S12 from the second synchronization unit 12 ends, the arbitration control unit 14 releases the holding of the synchronization signal S12 and reads The output of the wait signal R_WAIT is terminated. As a result, reading processing can be performed in the reading-side apparatus.

調停制御部14は、書き込み要求信号WREQの同期化信号S12を保持していないときは、読み出し側の装置から入力される読み出し要求信号RREQに応じた信号S14を第1同期化部11に入力する。読み出し要求信号RREQが入力されているときに後から書き込み要求信号WREQの同期化信号S12が第2同期化部12において出力されても、調停制御部14はその同期化信号S12を保持しないため、読み出し待ち信号R_WAITは出力されず、読み出し処理が進行する。   When the arbitration control unit 14 does not hold the synchronization signal S12 of the write request signal WREQ, the arbitration control unit 14 inputs a signal S14 corresponding to the read request signal RREQ input from the read side device to the first synchronization unit 11. . Even when the synchronization signal S12 of the write request signal WREQ is output from the second synchronization unit 12 later when the read request signal RREQ is input, the arbitration control unit 14 does not hold the synchronization signal S12. The read wait signal R_WAIT is not output, and the read process proceeds.

調停制御部13は、例えば図10において示すように、論理ゲート回路141,142,143,145とフリップフロップ144を有する。
論理ゲート回路141は、読み出し要求信号RREQを論理反転した信号と第2同期化部12の出力信号との論理積を出力する。
論理ゲート回路142は、論理ゲート回路141の出力信号とフリップフロップ144に保持された信号との論理和を出力する。
論理ゲート回路143は、論理ゲート回路142の出力信号と第2同期化部12の出力信号との論理積を出力する。
フリップフロップ144は、論理ゲート回路143の出力信号を読み出しクロック信号RCLKに同期して保持する。フリップフロップ144が保持する信号は、読み出し待ち信号R_WAITとして読み出し側の装置に出力される。
論理ゲート回路145は、フリップフロップ144に保持された信号を論理反転した信号と読み出し要求信号RREQとの論理積を第1同期化部11に入力する。
The arbitration control unit 13 includes logic gate circuits 141, 142, 143, 145 and a flip-flop 144 as shown in FIG.
The logic gate circuit 141 outputs a logical product of a signal obtained by logically inverting the read request signal RREQ and the output signal of the second synchronization unit 12.
The logic gate circuit 142 outputs a logical sum of the output signal of the logic gate circuit 141 and the signal held in the flip-flop 144.
The logic gate circuit 143 outputs a logical product of the output signal of the logic gate circuit 142 and the output signal of the second synchronization unit 12.
The flip-flop 144 holds the output signal of the logic gate circuit 143 in synchronization with the read clock signal RCLK. The signal held by the flip-flop 144 is output to the reading side device as a read wait signal R_WAIT.
The logic gate circuit 145 inputs a logical product of a signal obtained by logically inverting the signal held in the flip-flop 144 and the read request signal RREQ to the first synchronization unit 11.

ここで、上述した調停制御部14を有する第3の実施形態に係る非同期FIFOメモリ装置1の動作について、図11,図12のタイミング図を参照して説明する。   Here, the operation of the asynchronous FIFO memory device 1 according to the third embodiment having the arbitration control unit 14 described above will be described with reference to the timing charts of FIGS.

まず図11のタイミング図を参照して、先行する書き込み処理のために読み出し処理が待たされる場合の動作を説明する。   First, with reference to the timing chart of FIG. 11, the operation when the read process is waited for the preceding write process will be described.

書き込み側の装置から書き込み要求信号WREQ(図11(B))が入力されると(t61)、読み出しクロック信号RCLKの2クロック周期を経て(t62,t63)、第2同期化部12は書き込み要求信号WREQの同期化信号S12(図11(K))を出力する。書き込み要求信号WREQの同期化信号S12が出力されたとき、読み出し側の装置からは未だ読み出し要求信号RREQ(図11(G))が入力されていないため、調停制御部14は、次の書き込みクロック信号WCLKの立ち上がり(t64)において書き込み要求信号WREQの同期化信号S12を保持し、これを読み出し待ち信号R_WAIT(図11(L))として読み出し側の装置に出力する。これにより、読み出し側の装置において読み出しイネーブル信号RENの入力が待機される。   When the write request signal WREQ (FIG. 11B) is input from the writing side device (t61), the second synchronization unit 12 passes the two clock cycles of the read clock signal RCLK (t62, t63), and the second synchronization unit 12 The synchronization signal S12 (FIG. 11 (K)) of the signal WREQ is output. When the synchronization signal S12 of the write request signal WREQ is output, since the read request signal RREQ (FIG. 11G) has not been input from the read side device, the arbitration control unit 14 determines the next write clock. At the rising edge (t64) of the signal WCLK, the synchronization signal S12 of the write request signal WREQ is held, and this is output as a read wait signal R_WAIT (FIG. 11 (L)) to the read side device. As a result, the input of the read enable signal REN is waited in the read side apparatus.

調停制御部14が読み出し待ち信号R_WAITを出力したとき(t64)、読み出し側の装置は読み出し要求信号RREQ(図11(G))を発生する。このとき、調停制御部14は書き込み要求信号WREQの同期化信号S12を保持しているため、読み出し要求信号RREQを第1同期化部11へ入力しない。これにより、書き込み待ち信号W_WAITが出力されないため、書き込み側の装置において書き込み処理が進行する。   When the arbitration control unit 14 outputs the read waiting signal R_WAIT (t64), the reading side device generates the read request signal RREQ (FIG. 11G). At this time, since the arbitration control unit 14 holds the synchronization signal S12 of the write request signal WREQ, the arbitration control unit 14 does not input the read request signal RREQ to the first synchronization unit 11. As a result, since the write wait signal W_WAIT is not output, the write process proceeds in the writing side device.

書き込み要求信号WREQ(図11(B))の入力から一定時間が経過したとき(t65)、調停制御部14から書き込み待ち信号W_WAIT(図11(E))が出力されていないため、書き込み側の装置は書き込みイネーブル信号WEN(図11(C))を発生する。書き込みイネーブル信号WENを入力したクロック選択部20は、書き込みクロック信号WCLKを選択クロック信号MUX_CLK(図11(N))として出力する(t66)。メモリ部30は、この選択クロック信号MUX_CLKに同期して、書き込み側の装置から供給された書き込み用のデータWDを書き込みポインタWPに応じたアドレスに格納する。また、書き込みポインタ更新部40は、選択クロック信号MUX_CLK(書き込みクロック信号WCLK)に同期して書き込みポインタWPを更新する。書き込みポインタWPが更新されると、状態信号生成部60は、新たな書き込みポインタWPに応じた状態信号(図11(M))を生成する。データの書き込みが行われたため、状態信号が示すデータ蓄積数は「N」から「N+1」へ増える。書き込み側の装置は、データの書き込みが終わると、書き込み要求信号WREQ及び書き込みイネーブル信号WENをネゲートするとともに、書き込みクロック信号WCLKの供給を停止する。   When a fixed time has elapsed from the input of the write request signal WREQ (FIG. 11B) (t65), the write wait signal W_WAIT (FIG. 11E) is not output from the arbitration control unit 14, so the write side The device generates a write enable signal WEN (FIG. 11C). The clock selector 20 that has received the write enable signal WEN outputs the write clock signal WCLK as the selected clock signal MUX_CLK (FIG. 11 (N)) (t66). The memory unit 30 stores the write data WD supplied from the writing side device at an address corresponding to the write pointer WP in synchronization with the selected clock signal MUX_CLK. Further, the write pointer update unit 40 updates the write pointer WP in synchronization with the selected clock signal MUX_CLK (write clock signal WCLK). When the write pointer WP is updated, the status signal generator 60 generates a status signal (FIG. 11M) corresponding to the new write pointer WP. Since data has been written, the number of data accumulations indicated by the status signal increases from “N” to “N + 1”. When the data writing is completed, the writing side device negates the write request signal WREQ and the write enable signal WEN and stops supplying the write clock signal WCLK.

第2同期化部12は、書き込み側の装置からの書き込み要求信号WREQ(図11(B))の入力が終了すると(t66)、読み出しクロック信号RCLKの2クロック周期後(t67,t68)に、書き込み要求信号WREQの同期化信号S12(図11(K))の出力を終了する。第2同期化部12からの同期化信号S12の出力が終了すると、調停制御部14は、読み出しクロック信号RCLKの次のクロック周期(t69)において同期化信号S12の保持を解除し、読み出し待ち信号R_WAIT(図11(L))の出力を終了する。読み出し待ち信号R_WAITの出力が終了すると、読み出し側の装置は読み出しイネーブル信号RENを発生する(t610)。読み出しイネーブル信号RENを入力したクロック選択部20は、読み出しクロック信号RCLKを選択クロック信号MUX_CLK(図11(N))として出力する(t611)。メモリ部30は、この選択クロック信号MUX_CLKに同期して、読み出しポインタRPに応じたアドレスに格納されたデータRDを読み出し、読み出し側の装置に出力する。読み出しポインタ更新部50は、選択クロック信号MUX_CLK(読み出しクロック信号RCLK)に同期して読み出しポインタRPを更新する。読み出しポインタRPが更新されると、状態信号生成部60は、新たな読み出しポインタRPに応じた状態信号(図11(M))を生成する。データの読み出しが行われたため、状態信号が示すデータ蓄積数は「N+1」から「N」へ減る。読み出し側の装置は、データの読み出しが終わると、読み出し要求信号RREQ及び読み出しイネーブル信号RENをネゲートするとともに、読み出しクロック信号RCLKの供給を停止する。   When the input of the write request signal WREQ (FIG. 11B) from the writing side device is completed (t66), the second synchronizer 12 ends the two clock cycles (t67, t68) of the read clock signal RCLK. The output of the synchronization signal S12 (FIG. 11 (K)) of the write request signal WREQ is terminated. When the output of the synchronization signal S12 from the second synchronization unit 12 is completed, the arbitration control unit 14 releases the holding of the synchronization signal S12 in the next clock cycle (t69) of the read clock signal RCLK, and the read waiting signal The output of R_WAIT (FIG. 11 (L)) is terminated. When the output of the read wait signal R_WAIT is completed, the read side device generates the read enable signal REN (t610). The clock selector 20 that has received the read enable signal REN outputs the read clock signal RCLK as the selected clock signal MUX_CLK (FIG. 11 (N)) (t611). The memory unit 30 reads out the data RD stored at the address corresponding to the read pointer RP in synchronization with the selected clock signal MUX_CLK, and outputs the data RD to the read-side device. The read pointer update unit 50 updates the read pointer RP in synchronization with the selected clock signal MUX_CLK (read clock signal RCLK). When the read pointer RP is updated, the status signal generator 60 generates a status signal (FIG. 11M) corresponding to the new read pointer RP. Since data has been read, the number of data stored indicated by the status signal decreases from “N + 1” to “N”. When the reading of the data is completed, the reading-side device negates the read request signal RREQ and the read enable signal REN and stops supplying the read clock signal RCLK.

次に、図12のタイミング図を参照して、先行する読み出し処理のために書き込み処理が待たされる場合の動作を説明する。   Next, with reference to the timing chart of FIG. 12, the operation when the writing process is waited for the preceding reading process will be described.

書き込み側の装置から書き込み要求信号WREQ(図12(B))が入力されると(t71)、読み出しクロック信号RCLKの2クロック周期を経て(t72,t73)、第2同期化部12は書き込み要求信号WREQの同期化信号S12(図12(K))を出力する。書き込み要求信号WREQの同期化信号S12が出力されたとき、読み出し側の装置から既に読み出し要求信号RREQ(図12(G))が入力されているため、調停制御部14は同期化信号S12を保持せず、読み出し待ち信号R_WAIT(11(L))を出力しない。これにより、読み出し側の装置において読み出し処理が進行する。   When the write request signal WREQ (FIG. 12B) is input from the writing side device (t71), the second synchronization unit 12 passes the two clock cycles of the read clock signal RCLK (t72, t73), The synchronization signal S12 (FIG. 12 (K)) of the signal WREQ is output. When the synchronization signal S12 of the write request signal WREQ is output, the arbitration control unit 14 holds the synchronization signal S12 because the read request signal RREQ (FIG. 12G) has already been input from the reading side device. And the read wait signal R_WAIT (11 (L)) is not output. As a result, the reading process proceeds in the reading-side apparatus.

他方、調停制御部14は、書き込み要求信号WREQの同期化信号S12を保持していないことから、読み出し側の装置から入力した読み出し要求信号RREQを信号S14(12(H))として第1同期化部11に入力する。信号S14を入力した第1同期化部11は、書き込みクロック信号WCLKの2クロック周期後(t74,t75)に書き込み待ち信号W_WAITを出力する。これにより、書き込み側の装置において書き込みイネーブル信号WENの入力が待機される。   On the other hand, since the arbitration control unit 14 does not hold the synchronization signal S12 of the write request signal WREQ, the read request signal RREQ input from the read side device is used as the signal S14 (12 (H)) for the first synchronization. Input to section 11. The first synchronizer 11 receiving the signal S14 outputs the write wait signal W_WAIT after two clock cycles (t74, t75) of the write clock signal WCLK. As a result, the input of the write enable signal WEN is waited in the writing side apparatus.

読み出し要求信号RREQ(図12(G))の入力から一定時間が経過したとき(t76)、調停制御部14から読み出し待ち信号R_WAITが出力されていないため、読み出し側の装置は読み出しイネーブル信号REN(図12(I))を発生する。読み出しイネーブル信号RENを入力したクロック選択部20は、読み出しクロック信号RCLKを選択クロック信号MUX_CLK(図12(N))として出力する(t77)。メモリ部30は、この選択クロック信号MUX_CLKに同期して、読み出しポインタRPに応じたアドレスからデータRDを読み出し、読み出し側の装置に出力する。読み出しポインタ更新部50は、選択クロック信号MUX_CLK(読み出しクロック信号RCLK)に同期して読み出しポインタRPを更新する。読み出しポインタRPが更新されると、状態信号生成部60は、新たな読み出しポインタRPに応じた状態信号(図12(M))を生成する。データの読み出しが行われたため、状態信号が示すデータ蓄積数は「N」から「N−1」へ減る。読み出し側の装置は、データRDの読み出しが終わると、読み出し要求信号RREQ及び読み出しイネーブル信号RENをネゲートするとともに、読み出しクロック信号RCLKの供給を停止する。   When a predetermined time has elapsed from the input of the read request signal RREQ (FIG. 12G) (t76), the read wait signal R_WAIT is not output from the arbitration control unit 14, and therefore the read side device reads the read enable signal REN ( 12 (I)) is generated. The clock selection unit 20 that has received the read enable signal REN outputs the read clock signal RCLK as the selected clock signal MUX_CLK (FIG. 12 (N)) (t77). The memory unit 30 reads the data RD from the address corresponding to the read pointer RP in synchronization with the selected clock signal MUX_CLK, and outputs it to the read-side device. The read pointer update unit 50 updates the read pointer RP in synchronization with the selected clock signal MUX_CLK (read clock signal RCLK). When the read pointer RP is updated, the status signal generator 60 generates a status signal (FIG. 12M) corresponding to the new read pointer RP. Since data has been read, the number of data stored indicated by the status signal decreases from “N” to “N−1”. When reading of the data RD is completed, the reading side device negates the read request signal RREQ and the read enable signal REN and stops supplying the read clock signal RCLK.

第1同期化部11は、読み出し要求信号RREQのネゲートに伴って信号S14がネゲートすると、書き込みクロック信号WCLKの2クロック周期後(t78,t79)に書き込み待ち信号W_WAIT(図12(E))をネゲートする。調停制御部14からの書き込み待ち信号W_WAITの出力が終了すると、書き込み側の装置は書き込みイネーブル信号WEN(図12(C))を発生する(t710)。書き込みイネーブル信号WENを入力したクロック選択部20は、書き込みクロック信号WCLKを選択クロック信号MUX_CLK(図12(N))として出力する(t711)。メモリ部30は、この選択クロック信号MUX_CLKに同期して、書き込み側の装置から供給された書き込み用のデータWDを書き込みポインタWPに応じたアドレスに格納する。書き込みポインタ更新部40は、選択クロック信号MUX_CLK(書き込みクロック信号WCLK)に同期して書き込みポインタWPを更新する。書き込みポインタWPが更新されると、状態信号生成部60は、新たな書き込みポインタWPに応じた状態信号(図12(M))を生成する。データの書き込みが行われたため、状態信号が示すデータ蓄積数は「N−1」から「N」へ増える。書き込み側の装置は、データの書き込みが終わると、書き込み要求信号WREQ及び書き込みイネーブル信号WENをネゲートするとともに、書き込みクロック信号WCLKの供給を停止する。   When the signal S14 is negated along with the negation of the read request signal RREQ, the first synchronizer 11 generates the write wait signal W_WAIT (FIG. 12E) after two clock cycles (t78, t79) of the write clock signal WCLK. Negate. When the output of the write wait signal W_WAIT from the arbitration control unit 14 is completed, the writing side device generates the write enable signal WEN (FIG. 12C) (t710). The clock selection unit 20 having received the write enable signal WEN outputs the write clock signal WCLK as the selected clock signal MUX_CLK (FIG. 12 (N)) (t711). The memory unit 30 stores the write data WD supplied from the writing side device at an address corresponding to the write pointer WP in synchronization with the selected clock signal MUX_CLK. The write pointer update unit 40 updates the write pointer WP in synchronization with the selected clock signal MUX_CLK (write clock signal WCLK). When the write pointer WP is updated, the status signal generator 60 generates a status signal (FIG. 12M) corresponding to the new write pointer WP. Since data has been written, the number of data accumulations indicated by the status signal increases from “N−1” to “N”. When the data writing is completed, the writing side device negates the write request signal WREQ and the write enable signal WEN and stops supplying the write clock signal WCLK.

以上説明したように、本実施形態に係る非同期FIFOメモリ装置1によれば、第2同期化部12から書き込み要求信号WREQを同期化した同期化信号S12が出力された場合、読み出し側の装置から読み出し要求信号RREQが入力されていないことを条件として、書き込み要求信号WREQの同期化信号S12が読み出しクロック信号RCLKに同期して調停制御部14に保持され、当該保持された同期化信号S12が読み出し待ち信号R_WAITとして読み出し側の装置に出力される。調停制御部14において書き込み要求信号WREQの同期化信号S12が保持されているときは、第1同期化部11への読み出し要求信号RREQの入力が抑止される。書き込み側の装置からの書き込み要求信号WREQの入力が終了することにより、第2同期化部12における同期化信号S12の出力が終了すると、調停制御部14において、書き込み要求信号WREQの同期化信号S12の保持が解除されるとともに、読み出し側の装置への読み出し待ち信号R_WAITの出力が終了する。調停制御部14において書き込み要求信号WREQの同期化信号S12が保持されていないときは、読み出し側の装置から入力される読み出し要求信号RREQに応じた信号S14が第1同期化部11に入力され、これに応じた書き込み待ち信号W_WAITが書き込み側の装置に出力される。
すなわち、読み出し側の装置からの読み出し要求信号RREQの入力が、第2同期化部12における書き込み要求信号WREQの同期化信号S12の出力よりも早い場合は、読み出し要求が書き込み要求に優先され、書き込み要求は読み出し処理が終わるまで待たされる。逆に、第2同期化部12における書き込み要求信号WREQの同期化信号S12の出力が、読み出し側の装置からの読み出し要求信号RREQの入力よりも早い場合は、書き込み要求が読み出し要求に優先され、読み出し要求は書き込み処理が終わるまで待たされる。
従って、本実施形態においても、書き込み又は読み出しの一方が常に優先される方式に比べて、書き込み処理と読み出し処理の各々を発生頻度に応じてバランスよく実行することができる。
As described above, according to the asynchronous FIFO memory device 1 according to the present embodiment, when the synchronization signal S12 obtained by synchronizing the write request signal WREQ is output from the second synchronization unit 12, the device on the reading side On condition that the read request signal RREQ is not input, the synchronization signal S12 of the write request signal WREQ is held in the arbitration control unit 14 in synchronization with the read clock signal RCLK, and the held synchronization signal S12 is read. The waiting signal R_WAIT is output to the reading device. When the arbitration control unit 14 holds the synchronization signal S12 of the write request signal WREQ, the input of the read request signal RREQ to the first synchronization unit 11 is suppressed. When the input of the write request signal WREQ from the writing side device is completed and the output of the synchronization signal S12 in the second synchronization unit 12 is completed, the arbitration control unit 14 synchronizes the write request signal WREQ with the synchronization signal S12. Is released, and the output of the read wait signal R_WAIT to the read-side device ends. When the arbitration control unit 14 does not hold the synchronization signal S12 of the write request signal WREQ, the signal S14 corresponding to the read request signal RREQ input from the reading side device is input to the first synchronization unit 11, In response to this, a write wait signal W_WAIT is output to the writing side device.
That is, when the input of the read request signal RREQ from the read side device is earlier than the output of the synchronization signal S12 of the write request signal WREQ in the second synchronization unit 12, the read request has priority over the write request, The request is waited until the reading process is completed. Conversely, when the output of the synchronization signal S12 of the write request signal WREQ in the second synchronization unit 12 is earlier than the input of the read request signal RREQ from the reading side device, the write request has priority over the read request, The read request is waited until the writing process is completed.
Therefore, also in this embodiment, each of the writing process and the reading process can be executed in a balanced manner according to the frequency of occurrence, as compared with a method in which one of writing and reading is always prioritized.

なお、図10に例示する調停制御部14では、第2同期化部12の同期化信号S12を保持し、読み出し待ち信号R_WAITとして出力しているが、本実施形態はこの例に限定されない。
本実施形態の他の例では、調停制御部14が読み出し要求信号RREQの代わりに書き込み要求信号WREQを入力し、第2同期化部12の出力信号(S12)の代わりに第1同期化部11の出力信号(S11)を入力し、読み出し待ち信号R_WAITの代わりに書き込み待ち信号W_WAITを出力してもよい。
この例において、調停制御部14は、第1同期化部11から読み出し要求信号RREQを同期化した同期化信号S11が出力された場合、書き込み側の装置から書き込み要求信号WREQが入力されていないことを条件として、読み出し要求信号RREQの同期化信号S11を書き込みクロック信号WCLKに同期して保持し、これを書き込み待ち信号W_WAITとして書き込み側の装置に出力する。読み出し要求信号RREQの同期化信号S11を保持している場合、調停制御部14は、第2同期化部12への書き込み要求信号WREQの入力を抑止し、これにより、読み出し側の装置への読み出し待ち信号R_WAITの出力を抑止する。第1同期化部11において読み出し要求信号RREQの同期化信号S11の出力が終了すると、調停制御部14は、読み出し要求信号RREQの同期化信号S11の保持を解除するとともに、書き込み側装置への書き込み待ち信号W_WAITの出力を終了する。読み出し要求信号RREQの同期化信号S11を保持していない場合、調停制御部14は、書き込み側の装置から入力される書き込み要求信号WREQに応じた信号S14を第2同期化部12に入力する。
すなわち、書き込み側の装置からの書き込み要求信号WREQの入力が、第1同期化部11における読み出し要求信号RREQの同期化信号S11の出力よりも早い場合は、書き込み要求が読み出し要求に優先され、読み出し要求は書き込み処理が終わるまで待たされる。逆に、第1同期化部11における読み出し要求信号RREQの同期化信号S11の出力が、書き込み側の装置からの書き込み要求信号WREQの入力よりも早い場合は、読み出し要求が書き込み要求に優先され、書き込み要求は読み出し処理が終わるまで待たされる。
従って、この場合も、書き込み又は読み出しの一方が常に優先される方式に比べて、書き込み処理と読み出し処理の各々を発生頻度に応じてバランスよく実行することができる。
Note that the arbitration control unit 14 illustrated in FIG. 10 holds the synchronization signal S12 of the second synchronization unit 12 and outputs it as the read wait signal R_WAIT, but this embodiment is not limited to this example.
In another example of the present embodiment, the arbitration control unit 14 inputs the write request signal WREQ instead of the read request signal RREQ, and the first synchronization unit 11 instead of the output signal (S12) of the second synchronization unit 12. The output wait signal W_WAIT may be output instead of the read wait signal R_WAIT.
In this example, when the synchronization signal S11 obtained by synchronizing the read request signal RREQ is output from the first synchronization unit 11, the arbitration control unit 14 does not receive the write request signal WREQ from the writing side device. As a condition, the synchronization signal S11 of the read request signal RREQ is held in synchronization with the write clock signal WCLK, and is output as a write wait signal W_WAIT to the writing side device. When the synchronization signal S11 of the read request signal RREQ is held, the arbitration control unit 14 suppresses the input of the write request signal WREQ to the second synchronization unit 12, thereby reading to the reading side device. The output of the wait signal R_WAIT is suppressed. When the output of the synchronization signal S11 of the read request signal RREQ is completed in the first synchronization unit 11, the arbitration control unit 14 releases the holding of the synchronization signal S11 of the read request signal RREQ and writes to the writing side device. The output of the wait signal W_WAIT is terminated. When the synchronization signal S11 of the read request signal RREQ is not held, the arbitration control unit 14 inputs a signal S14 corresponding to the write request signal WREQ input from the writing side device to the second synchronization unit 12.
That is, when the input of the write request signal WREQ from the writing device is earlier than the output of the synchronization signal S11 of the read request signal RREQ in the first synchronization unit 11, the write request has priority over the read request, and the read The request is waited until the writing process is completed. Conversely, when the output of the synchronization signal S11 of the read request signal RREQ in the first synchronization unit 11 is earlier than the input of the write request signal WREQ from the writing side device, the read request has priority over the write request, The write request is waited until the read process is completed.
Therefore, also in this case, each of the writing process and the reading process can be executed in a well-balanced manner according to the frequency of occurrence, as compared with a method in which one of writing and reading is always prioritized.

<第4の実施形態>
次に、本発明の第4の実施形態について説明する。
本実施形態に係る非同期FIFOメモリ装置は、上述した各実施形態に係る非同期FIFOメモリ装置にスキャンテスト用の構成を加えたものである。
<Fourth Embodiment>
Next, a fourth embodiment of the present invention will be described.
The asynchronous FIFO memory device according to this embodiment is obtained by adding a scan test configuration to the asynchronous FIFO memory device according to each of the above-described embodiments.

図13は、第4の実施形態に係る非同期FIFOメモリ装置1の構成の一例を示す図である。本実施形態に係る非同期FIFOメモリ装置1は、例えば図2に示す非同期FIFOメモリ装置1と同様な構成を有しており、その回路は複数の組み合わせ回路75と複数のスキャンテスト用のフリップフロップ80を用いて構成されている。回路を構成する複数のフリップフロップ80は、スキャンテストを実施する場合においては、シリアルデータを転送するシフトレジスタを構成するように縦続接続される。   FIG. 13 is a diagram illustrating an example of the configuration of the asynchronous FIFO memory device 1 according to the fourth embodiment. The asynchronous FIFO memory device 1 according to the present embodiment has the same configuration as the asynchronous FIFO memory device 1 shown in FIG. 2, for example, and includes a plurality of combinational circuits 75 and a plurality of scan test flip-flops 80. It is comprised using. The plurality of flip-flops 80 constituting the circuit are connected in cascade so as to constitute a shift register for transferring serial data when the scan test is performed.

図13の例において、非同期FIFOメモリ装置1は、スキャンテスト時にクロック選択部20へ入力するクロック信号を切り替えるためのマルチプレクサ回路90を含んでいる。通常の動作を行う場合、マルチプレクサ回路90は、それぞれ所定のクロック信号(CK1,CK2)を書き込みクロック信号WCLK,読み出しクロック信号RCLKとしてクロック選択部20に入力するが、スキャンテストを行う場合には(端子SCAN_MODEの入力信号がアサートされた場合には)、所定のテスト装置から供給されるクロック信号SCAN_CLK1,SCAN_CLK2を書き込みクロック信号WCLK,読み出しクロック信号RCLKとしてクロック選択部20に入力する。これにより、スキャンテスト時においては、テスト装置が発生するクロック信号SCAN_CLK1,SCAN_CLK2に基づいて検査が行われる。   In the example of FIG. 13, the asynchronous FIFO memory device 1 includes a multiplexer circuit 90 for switching a clock signal input to the clock selection unit 20 during a scan test. When performing a normal operation, the multiplexer circuit 90 inputs predetermined clock signals (CK1, CK2) to the clock selection unit 20 as a write clock signal WCLK and a read clock signal RCLK, respectively. When the input signal of the terminal SCAN_MODE is asserted), the clock signals SCAN_CLK1 and SCAN_CLK2 supplied from a predetermined test device are input to the clock selection unit 20 as the write clock signal WCLK and the read clock signal RCLK. Thereby, in the scan test, the inspection is performed based on the clock signals SCAN_CLK1 and SCAN_CLK2 generated by the test apparatus.

図14は、本実施形態におけるクロック選択部20の構成の一例を示す図である。また、図15は、図14に示すクロック選択部20に含まれるクロック・ゲーティング回路21−1,21−2の構成の一例を示す図である。
図14に示すクロック選択部20は、クロック・ゲーティング回路21−1,21−2と、マルチプレクサ回路22と、フリップフロップ23と、OR回路24を有する。クロック・ゲーティング回路21−1,21−2は、OR回路25と、ラッチ回路26と、AND回路27をそれぞれ含む。
FIG. 14 is a diagram illustrating an example of the configuration of the clock selection unit 20 in the present embodiment. FIG. 15 is a diagram illustrating an example of the configuration of the clock gating circuits 21-1 and 21-2 included in the clock selection unit 20 illustrated in FIG.
The clock selection unit 20 illustrated in FIG. 14 includes clock gating circuits 21-1 and 21-2, a multiplexer circuit 22, a flip-flop 23, and an OR circuit 24. The clock gating circuits 21-1 and 21-2 include an OR circuit 25, a latch circuit 26, and an AND circuit 27, respectively.

クロック・ゲーティング回路21−1,21−2において、OR回路25は、端子SCAN_ENからの入力信号(信号SCAN_EN)と、イネーブル信号(書き込みイネーブル信号WEN,読み出しイネーブル信号REN)との論理和を出力する。ラッチ回路26は、入力されるクロック信号(書き込みクロック信号WCLK,読み出しクロック信号RCLK)が「0」から「1」へ立ち上がったときにOR回路25の出力信号を保持し、AND回路27に出力する。AND回路27は、ラッチ回路26の出力信号と入力されるクロック信号との論理積を出力する。   In the clock gating circuits 21-1 and 21-2, the OR circuit 25 outputs the logical sum of the input signal (signal SCAN_EN) from the terminal SCAN_EN and the enable signal (write enable signal WEN, read enable signal REN). To do. The latch circuit 26 holds the output signal of the OR circuit 25 and outputs it to the AND circuit 27 when the input clock signals (write clock signal WCLK, read clock signal RCLK) rise from “0” to “1”. . The AND circuit 27 outputs a logical product of the output signal of the latch circuit 26 and the input clock signal.

クロック・ゲーティング回路21−1は、信号SCAN_EN又は書き込みイネーブル信号WENが「1」の場合、入力される書き込みクロック信号WCLKを出力し、信号SCAN_ENと書き込みイネーブル信号WENが両方「0」の場合、出力を「0」に固定する。   When the signal SCAN_EN or the write enable signal WEN is “1”, the clock gating circuit 21-1 outputs the input write clock signal WCLK. When the signal SCAN_EN and the write enable signal WEN are both “0”, Fix the output to “0”.

クロック・ゲーティング回路21−2は、信号SCAN_EN又は読み出しイネーブル信号RENが「1」の場合、入力される読み出しクロック信号RCLKを出力し、信号SCAN_ENと読み出しイネーブル信号RENが両方「0」の場合、出力を「0」に固定する。   When the signal SCAN_EN or the read enable signal REN is “1”, the clock gating circuit 21-2 outputs the input read clock signal RCLK, and when both the signal SCAN_EN and the read enable signal REN are “0”, Fix the output to “0”.

フリップフロップ23は、読み出しクロック信号RCLKの立ち下がりに同期して、読み出しイネーブル信号RENを保持する。
OR回路24は、信号SCAN_ENとフリップフロップ23に保持された信号との論理和を出力する。
マルチプレクサ回路22は、OR回路24の出力信号が「0」の場合、クロック・ゲーティング回路21−1の出力を選択し、OR回路24の出力信号が「1」の場合、クロック・ゲーティング回路21−2の出力を選択する。マルチプレクサ回路22において選択された信号が、選択クロック信号MUX_CLKとして出力される。
The flip-flop 23 holds the read enable signal REN in synchronization with the fall of the read clock signal RCLK.
The OR circuit 24 outputs a logical sum of the signal SCAN_EN and the signal held in the flip-flop 23.
The multiplexer circuit 22 selects the output of the clock gating circuit 21-1 when the output signal of the OR circuit 24 is “0”, and the clock gating circuit when the output signal of the OR circuit 24 is “1”. Select the output of 21-2. The signal selected in the multiplexer circuit 22 is output as the selected clock signal MUX_CLK.

ここで、上述した構成を有する非同期FIFOメモリ装置1において、スキャンテストを実施する場合の動作について説明する。   Here, an operation when the scan test is performed in the asynchronous FIFO memory device 1 having the above-described configuration will be described.

スキャンテストを実施する場合、マルチプレクサ回路90に入力される端子SCAN_MODEの信号がアサートされる。これにより、所定のテスト装置から供給されるクロック信号SCAN_CLK1,SCAN_CLK2は、それぞれ書き込みクロック信号WCLK,読み出しクロック信号RCLKとしてクロック選択部20に入力される。   When the scan test is performed, the signal of the terminal SCAN_MODE input to the multiplexer circuit 90 is asserted. As a result, the clock signals SCAN_CLK1 and SCAN_CLK2 supplied from the predetermined test apparatus are input to the clock selection unit 20 as the write clock signal WCLK and the read clock signal RCLK, respectively.

信号SCAN_ENが「1」に設定されると、テスト装置から供給されるシリアルデータは、シフトレジスタを構成するように縦続接続された複数のフリップフロップ80(スキャン・チェーン)において順次にシフトする(シフトモード)。
信号SCAN_ENが「1」に設定された場合、マルチプレクサ回路22ではクロック・ゲーティング回路21−2の出力が選択され、クロック・ゲーティング回路21−2では読み出しクロック信号RCLKがそのまま出力されることから、クロック選択部20においては、読み出しクロック信号RCLKが選択クロック信号MUX_CLKとして出力される。この選択クロック信号MUX_CLKは、一部のフリップフロップ群95に供給される。
従って、スキャン・チェーンにおいてデータをシフトさせるシフトモードにおいては、読み出しクロック信号RCLKに基づいて、フリップフロップ群95のシリアルデータがシフトされる。
When the signal SCAN_EN is set to “1”, the serial data supplied from the test apparatus is sequentially shifted (shifted) in a plurality of flip-flops 80 (scan chains) connected in cascade to form a shift register. mode).
When the signal SCAN_EN is set to “1”, the multiplexer circuit 22 selects the output of the clock gating circuit 21-2, and the clock gating circuit 21-2 outputs the read clock signal RCLK as it is. In the clock selector 20, the read clock signal RCLK is output as the selected clock signal MUX_CLK. This selected clock signal MUX_CLK is supplied to some flip-flop groups 95.
Therefore, in the shift mode in which data is shifted in the scan chain, the serial data of the flip-flop group 95 is shifted based on the read clock signal RCLK.

データのシフトが完了すると、信号SCAN_ENは「0」に設定される。これにより、各フリップフロップ80の入力と出力は、通常動作と同じデータパスに接続された状態となる。各フリップフロップ80には、組み合わせ回路75からの入力信号が保持される(キャプチャモード)。
信号SCAN_ENが「0」の場合において読み出しイネーブル信号RENが「1」になると、フリップフロップ23において遅延された読み出しイネーブル信号RENが「1」となる期間において、クロック・ゲーティング回路21−2から出力される読み出しクロック信号RCLKがマルチプレクサ回路22により選択され、フリップフロップ群95の各フリップフロップ80に入力される。
信号SCAN_ENが「0」の場合において読み出しイネーブル信号RENが「0」かつ書き込みイネーブル信号WENが「1」になると、クロック・ゲーティング回路21−1から出力される書き込みクロック信号WCLKがマルチプレクサ回路22により選択され、フリップフロップ群95の各フリップフロップ80に入力される。
信号SCAN_ENが「0」の場合において読み出しイネーブル信号RENが「0」かつ書き込みイネーブル信号WENが「0」になると、マルチプレクサ回路22により選択されるクロック・ゲーティング回路21−1の出力が「0」に固定されるため、選択クロック信号MUX_CLKは「0」に固定される。
このように、組み合わせ回路75からの信号が各フリップフロップ80に保持されるキャプチャモードにおいては、イネーブル信号(書き込みイネーブル信号WEN,読み出しイネーブル信号REN)に応じたクロック信号(書き込みクロック信号WCLK,読み出しクロック信号RCLK)がクロック選択部20において選択され、フリップフロップ群95の各フリップフロップ80に入力される。
When the data shift is completed, the signal SCAN_EN is set to “0”. As a result, the input and output of each flip-flop 80 are connected to the same data path as in the normal operation. Each flip-flop 80 holds an input signal from the combinational circuit 75 (capture mode).
When the read enable signal REN is “1” when the signal SCAN_EN is “0”, the signal is output from the clock gating circuit 21-2 during the period in which the read enable signal REN delayed by the flip-flop 23 is “1”. The read clock signal RCLK is selected by the multiplexer circuit 22 and input to each flip-flop 80 of the flip-flop group 95.
When the signal SCAN_EN is “0” and the read enable signal REN is “0” and the write enable signal WEN is “1”, the write clock signal WCLK output from the clock gating circuit 21-1 is transmitted by the multiplexer circuit 22. Is selected and input to each flip-flop 80 of the flip-flop group 95.
When the read enable signal REN is “0” and the write enable signal WEN is “0” when the signal SCAN_EN is “0”, the output of the clock gating circuit 21-1 selected by the multiplexer circuit 22 is “0”. Therefore, the selected clock signal MUX_CLK is fixed to “0”.
As described above, in the capture mode in which the signal from the combinational circuit 75 is held in each flip-flop 80, the clock signal (write clock signal WCLK, read clock) corresponding to the enable signal (write enable signal WEN, read enable signal REN). Signal RCLK) is selected by the clock selector 20 and input to each flip-flop 80 of the flip-flop group 95.

以上説明したように、本実施形態に係る非同期FIFOメモリ装置1によれば、スキャンテストのシフトモードにおいて、スキャン・チェーンを構成する各フリップフロップ80に読み出しクロック信号RCLKが供給され、スキャンテストのキャプチャモードにおいては、イネーブル信号(書き込みイネーブル信号WEN,読み出しイネーブル信号REN)に応じたクロック信号(書き込みクロック信号WCLK,読み出しクロック信号RCLK)が各フリップフロップ80に供給される。これにより、非同期FIFOメモリ装置1の書き込み動作と読み出し動作を、スキャンテストにおいて正しく検査することができる。   As described above, according to the asynchronous FIFO memory device 1 according to the present embodiment, in the scan test shift mode, the read clock signal RCLK is supplied to each flip-flop 80 constituting the scan chain, and the scan test capture is performed. In the mode, clock signals (write clock signal WCLK and read clock signal RCLK) corresponding to the enable signals (write enable signal WEN, read enable signal REN) are supplied to each flip-flop 80. Thereby, the write operation and the read operation of the asynchronous FIFO memory device 1 can be correctly inspected in the scan test.

なお、上述した実施形態では、シフトモードにおいて読み出しクロック信号RCLKが選択されているが、本実施形態の他の例では、書き込みクロック信号WCLKが選択されるようにしてもよい。   In the above-described embodiment, the read clock signal RCLK is selected in the shift mode. However, in another example of the present embodiment, the write clock signal WCLK may be selected.

以上、本発明の幾つかの実施形態について説明したが、本発明は上記の形態にのみ限定されるものではなく、他の種々のバリエーションを含んでいる。   As mentioned above, although some embodiment of this invention was described, this invention is not limited only to said form, The other various variation is included.

例えば上述した実施形態における回路構成は一例であり、同等な機能を有する他の回路構成に変更してもよい。   For example, the circuit configuration in the above-described embodiment is an example, and may be changed to another circuit configuration having an equivalent function.

また、上述した実施形態ではFIFOメモリ装置を例に挙げているが、本発明はこれに限定されるものではなく、例えばLIFOやリングバッファなどのメモリ装置にも本発明は適用可能である。   In the above-described embodiments, the FIFO memory device is taken as an example. However, the present invention is not limited to this, and the present invention can also be applied to a memory device such as a LIFO or a ring buffer.

1…非同期FIFOメモリ装置、10…要求調停部、11,12…第1同期化部、13,14,15…調停制御部20…クロック選択部、30…メモリ部、40…書き込みポインタ更新部、50…読み出しポインタ更新部、60…状態信号生成部、100,100A,100B…蓄電装置状態推定システム、101…蓄電装置、102…交流信号源部、103…電流検出部、104…電圧検出部、105…内部インピーダンス算出部、106…状態推定部、RL…負荷、C1…キャパシタ。
DESCRIPTION OF SYMBOLS 1 ... Asynchronous FIFO memory device, 10 ... Request arbitration part, 11, 12 ... 1st synchronization part, 13, 14, 15 ... Arbitration control part 20 ... Clock selection part, 30 ... Memory part, 40 ... Write pointer update part, DESCRIPTION OF SYMBOLS 50 ... Read pointer update part, 60 ... State signal generation part, 100, 100A, 100B ... Power storage apparatus state estimation system, 101 ... Power storage apparatus, 102 ... AC signal source part, 103 ... Current detection part, 104 ... Voltage detection part, 105: internal impedance calculation unit, 106: state estimation unit, RL: load, C1: capacitor.

Claims (7)

第1クロック信号に同期してデータの書き込みを行い、第2クロック信号に同期してデータの読み出しを行うメモリ装置であって、
前記第1クロック信号に同期した書き込み要求信号が入力されると、前記書き込み要求信号を前記第2クロック信号に同期化した読み出し待ち信号を出力し、前記第2クロック信号に同期した読み出し要求信号が入力されると、前記読み出し要求信号を前記第1クロック信号に同期化した書き込み待ち信号を出力する要求調停部と、
前記書き込み待ち信号が出力されていないことを条件に生成される書き込みイネーブル信号が前記第1クロック信号に同期して入力されると、前記第1クロック信号を選択して出力し、前記読み出し待ち信号が出力されていないことを条件に生成される読み出しイネーブル信号が前記第2クロック信号に同期して入力されると、前記第2クロック信号を選択して出力するクロック選択部と、
前記書き込みイネーブル信号が入力されると、前記クロック選択部において選択されたクロック信号に同期して、書き込みポインタに応じたアドレスにデータを書き込み、前記読み出しイネーブル信号が入力されると、前記クロック選択部において選択されたクロック信号に同期して、読み出しポインタに応じたアドレスからデータを読み出すメモリ部と、
前記書き込みイネーブル信号が入力されると、前記クロック選択部において選択されたクロック信号に同期して前記書き込みポインタを更新する書き込みポインタ更新部と、
前記読み出しイネーブル信号が入力されると、前記クロック選択部において選択されたクロック信号に同期して前記読み出しポインタを更新する読み出しポインタ更新部と、
前記書き込みポインタ及び前記読み出しポインタに基づいて、前記メモリ部に蓄積されたデータの数に関わる状態信号を生成する状態信号生成部と
を有することを特徴とするメモリ装置。
A memory device that writes data in synchronization with a first clock signal and reads data in synchronization with a second clock signal,
When a write request signal synchronized with the first clock signal is input, a read wait signal is generated by synchronizing the write request signal with the second clock signal, and a read request signal synchronized with the second clock signal is output. A request arbitration unit that outputs a write wait signal obtained by synchronizing the read request signal with the first clock signal;
When a write enable signal generated on condition that the write wait signal is not output is input in synchronization with the first clock signal, the first clock signal is selected and output, and the read wait signal is output. A clock selection unit that selects and outputs the second clock signal when a read enable signal generated on the condition that the signal is not output is input in synchronization with the second clock signal;
When the write enable signal is input, data is written to an address corresponding to a write pointer in synchronization with the clock signal selected by the clock selection unit, and when the read enable signal is input, the clock selection unit A memory unit that reads data from an address corresponding to a read pointer in synchronization with the clock signal selected in
When the write enable signal is input, a write pointer update unit that updates the write pointer in synchronization with the clock signal selected by the clock selection unit;
When the read enable signal is input, a read pointer update unit that updates the read pointer in synchronization with the clock signal selected by the clock selection unit;
A memory device comprising: a status signal generating unit that generates a status signal related to the number of data stored in the memory unit based on the write pointer and the read pointer.
前記要求調停部は、
前記読み出し要求信号を前記第1クロック信号に同期化する第1同期化部と、
前記書き込み要求信号を前記第2クロック信号に同期化する第2同期化部と、
前記読み出し要求信号を前記第1クロック信号に同期化した信号(以下、「第1同期化信号」と記す。)が前記第1同期化部において出力される場合に、前記第2同期化部への前記書き込み要求信号の入力を抑止する、又は、前記書き込み要求信号を前記第2クロック信号に同期化した信号(以下、「第2同期化信号」と記す。)が前記第2同期化部において出力される場合に、前記第1同期化部への前記読み出し要求信号の入力を抑止する調停制御部とを含む
ことを特徴とする請求項1に記載のメモリ装置。
The request arbitration unit
A first synchronization unit that synchronizes the read request signal with the first clock signal;
A second synchronization unit for synchronizing the write request signal with the second clock signal;
When a signal obtained by synchronizing the read request signal with the first clock signal (hereinafter referred to as a “first synchronization signal”) is output from the first synchronization unit, to the second synchronization unit. In the second synchronization section, a signal (hereinafter referred to as a “second synchronization signal”) in which the input of the write request signal is suppressed or the write request signal is synchronized with the second clock signal is transmitted to the second synchronization unit. The memory device according to claim 1, further comprising: an arbitration control unit that suppresses input of the read request signal to the first synchronization unit when output.
前記調停制御部は、前記書き込み要求信号が入力された場合、前記第1同期化信号が前記第1同期化部において出力されていないことを条件として、前記書き込み要求信号を前記第1クロック信号に同期して保持するとともに、当該保持した書き込み要求信号を前記第2同期化部へ入力し、前記書き込み要求信号を保持しているときは、前記書き込み待ち信号の出力を抑止し、前記書き込み要求信号の入力が終了すると、前記書き込み要求信号の保持を解除し、前記書き込み要求信号を保持していないときは、前記第1同期化部の前記第1同期化信号に応じた前記書き込み待ち信号を出力する
ことを特徴とする請求項2に記載のメモリ装置。
The arbitration control unit, when the write request signal is input, sets the write request signal as the first clock signal on condition that the first synchronization signal is not output in the first synchronization unit. The write request signal is held in synchronization, and the held write request signal is input to the second synchronization unit. When the write request signal is held, the output of the write wait signal is suppressed, and the write request signal When the input is completed, the holding of the write request signal is released, and when the write request signal is not held, the write wait signal corresponding to the first synchronization signal of the first synchronization unit is output. The memory device according to claim 2, wherein:
前記調停制御部は、前記読み出し要求信号が入力された場合、前記第2同期化信号が前記第2同期化部において出力されていないことを条件として、前記読み出し要求信号を前記第2クロック信号に同期して保持するとともに、当該保持した読み出し要求信号を前記第1同期化部へ入力し、前記読み出し要求信号を保持しているときは、前記読み出し待ち信号の出力を抑止し、前記読み出し要求信号の入力が終了すると、前記読み出し要求信号の保持を解除し、前記読み出し要求信号を保持していないときは、前記第2同期化部の前記第2同期化信号に応じた前記読み出し待ち信号を出力する
ことを特徴とする請求項2に記載のメモリ装置。
When the read request signal is input, the arbitration control unit converts the read request signal into the second clock signal on condition that the second synchronization signal is not output from the second synchronization unit. Holding the read request signal to the first synchronization unit, and holding the read request signal, the output of the read wait signal is suppressed and the read request signal is suppressed. When the input is completed, the holding of the read request signal is released, and when the read request signal is not held, the read waiting signal corresponding to the second synchronization signal of the second synchronization unit is output. The memory device according to claim 2, wherein:
前記調停制御部は、前記第2同期化部から前記第2同期化信号が出力された場合、前記読み出し要求信号が入力されていないことを条件として、前記第2同期化信号を前記第2クロック信号に同期して保持するとともに、当該保持した第2同期化信号を前記読み出し待ち信号として出力し、前記第2同期化信号を保持しているときは、前記第1同期化部への前記読み出し要求信号の入力を抑止し、前記第2同期化部からの前記第2同期化信号の出力が終了すると、前記第2同期化信号の保持を解除するとともに前記読み出し待ち信号の出力を終了し、前記第2同期化信号を保持していないときは、入力される前記読み出し要求信号に応じた信号を前記第1同期化部に入力する
ことを特徴とする請求項2に記載のメモリ装置。
When the second synchronization signal is output from the second synchronization unit, the arbitration control unit outputs the second synchronization signal to the second clock on condition that the read request signal is not input. Holding the second synchronization signal in synchronization with a signal and outputting the held second synchronization signal as the read waiting signal, and holding the second synchronization signal, the reading to the first synchronization unit When the input of the request signal is suppressed and the output of the second synchronization signal from the second synchronization unit ends, the holding of the second synchronization signal is canceled and the output of the read waiting signal is ended. 3. The memory device according to claim 2, wherein when the second synchronization signal is not held, a signal corresponding to the input read request signal is input to the first synchronization unit. 4.
前記調停制御部は、前記第1同期化部から前記第1同期化信号が出力された場合、前記書き込み要求信号が入力されていないことを条件として、前記第1同期化信号を前記第1クロック信号に同期して保持するとともに、当該保持した第1同期化信号を前記書き込み待ち信号として出力し、前記第1同期化信号を保持しているときは、前記第2同期化部への前記書き込み要求信号の入力を抑止し、前記第1同期化部からの前記第1同期化信号の出力が終了すると、前記第1同期化信号の保持を解除するとともに前記書き込み待ち信号の出力を終了し、前記第1同期化信号を保持していないときは、入力される前記書き込み要求信号に応じた信号を前記第2同期化部に入力する
ことを特徴とする請求項2に記載のメモリ装置。
When the first synchronization signal is output from the first synchronization unit, the arbitration control unit outputs the first synchronization signal to the first clock on condition that the write request signal is not input. Holds the first synchronization signal as the write wait signal, and holds the first synchronization signal when the first synchronization signal is held. When the input of the request signal is suppressed and the output of the first synchronization signal from the first synchronization unit is terminated, the holding of the first synchronization signal is canceled and the output of the write wait signal is terminated, 3. The memory device according to claim 2, wherein when the first synchronization signal is not held, a signal corresponding to the input write request signal is input to the second synchronization unit. 4.
前記クロック選択部において選択されたクロック信号に同期してそれぞれ動作し、スキャンテストを実施する場合においてシリアルデータを転送するシフトレジスタを構成するように縦続接続される複数のフリップフロップを含んでおり、
前記クロック選択部は、
前記複数のフリップフロップが前記シフトレジスタを構成する第1の動作モードにおいては、前記第1クロック信号又は前記第2クロック信号の何れか一方を選択して出力し、
前記複数のフリップフロップにそれぞれデータを保持させる第2の動作モードにおいては、前記書き込みイネーブル信号が入力される場合に前記第1クロック信号を選択して出力し、前記読み出しイネーブル信号が入力される場合に前記第2クロック信号を選択して出力する
ことを特徴とする請求項1乃至6のいずれか一項に記載のメモリ装置。
Each of which operates in synchronization with the clock signal selected by the clock selection unit, and includes a plurality of flip-flops cascaded to form a shift register that transfers serial data when performing a scan test;
The clock selector is
In the first operation mode in which the plurality of flip-flops constitute the shift register, either the first clock signal or the second clock signal is selected and output,
In the second operation mode in which each of the plurality of flip-flops holds data, when the write enable signal is input, the first clock signal is selected and output, and the read enable signal is input The memory device according to claim 1, wherein the second clock signal is selected and output.
JP2013181339A 2013-09-02 2013-09-02 Memory device Active JP6030033B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013181339A JP6030033B2 (en) 2013-09-02 2013-09-02 Memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013181339A JP6030033B2 (en) 2013-09-02 2013-09-02 Memory device

Publications (2)

Publication Number Publication Date
JP2015049917A JP2015049917A (en) 2015-03-16
JP6030033B2 true JP6030033B2 (en) 2016-11-24

Family

ID=52699810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013181339A Active JP6030033B2 (en) 2013-09-02 2013-09-02 Memory device

Country Status (1)

Country Link
JP (1) JP6030033B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10509760B2 (en) 2017-07-12 2019-12-17 Samsung Electronics Co., Ltd. Buffer controller, memory device, and integrated circuit device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112351293B (en) * 2020-10-26 2021-09-21 北京达佳互联信息技术有限公司 Method, device and medium for detecting state signaling loss

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001285346A (en) * 2000-03-29 2001-10-12 Fujitsu Ltd Fifo type memory
JP2003157670A (en) * 2001-11-21 2003-05-30 Internatl Business Mach Corp <Ibm> Storage device, control method of the storage device, semiconductor device including the storage device and information processor including the storage device
JP2003196972A (en) * 2001-12-26 2003-07-11 Naltec Inc Memory device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10509760B2 (en) 2017-07-12 2019-12-17 Samsung Electronics Co., Ltd. Buffer controller, memory device, and integrated circuit device

Also Published As

Publication number Publication date
JP2015049917A (en) 2015-03-16

Similar Documents

Publication Publication Date Title
JP3712471B2 (en) Computer system and interface circuit for transferring data between first circuit and second circuit
TWI298888B (en) Pseudo-synchronization of the transportation of data across asynchronous clock domains
US9251117B2 (en) Reconfigurable circuit with suspension control circuit
WO2017016178A1 (en) Interface signal remapping method based on fpga
JP2002523857A (en) FIFO using asynchronous logic
US9330740B1 (en) First-in first-out circuits and methods
US20080288805A1 (en) Synchronization device and methods thereof
JP3645584B2 (en) Data transfer synchronization device
JP2010027032A (en) Fifo device and method of storing data in fifo buffer
US6226698B1 (en) Method and apparatus for dynamically calculating degrees of fullness of a synchronous FIFO
CN116521604B (en) Method for synchronizing data and related device
JP6030033B2 (en) Memory device
US20180174623A1 (en) Apparatus and method for transferring data between different voltage-clock domains using multiple write-side multiplexers
US8904221B2 (en) Arbitration circuitry for asynchronous memory accesses
US8363766B2 (en) Device and method of synchronizing signals
US6952791B2 (en) Method and circuit for initializing a de-skewing buffer in a clock forwarded system
EP3739463B1 (en) Circuit for asynchronous data transfer
GB2521035A (en) A synchronous bridge circuitry and a method of transferring data using asynchronous bridge circuitry
JP2021504811A (en) Data bus
Nawrath et al. FPGA-based implementation of APB/SPI bridge
Elrabaa A new FIFO design enabling fully-synchronous on-chip data communication network
US10742216B1 (en) Clock domain crossing for an interface between logic circuits
JP4478592B2 (en) Memory circuit
Hoppe et al. A High Speed Asynchronous Multi Input Pipeline for Compaction and Transfer of Parallel SIMD Data
JP4825065B2 (en) Clock transfer circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160916

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161019

R150 Certificate of patent or registration of utility model

Ref document number: 6030033

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350