JP2014016892A - Semiconductor memory device and method of controlling the same - Google Patents

Semiconductor memory device and method of controlling the same Download PDF

Info

Publication number
JP2014016892A
JP2014016892A JP2012154882A JP2012154882A JP2014016892A JP 2014016892 A JP2014016892 A JP 2014016892A JP 2012154882 A JP2012154882 A JP 2012154882A JP 2012154882 A JP2012154882 A JP 2012154882A JP 2014016892 A JP2014016892 A JP 2014016892A
Authority
JP
Japan
Prior art keywords
clock
address
read
storage means
memory device
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.)
Pending
Application number
JP2012154882A
Other languages
Japanese (ja)
Inventor
Tsugio Takahashi
次男 高橋
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2012154882A priority Critical patent/JP2014016892A/en
Publication of JP2014016892A publication Critical patent/JP2014016892A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To prevent a ROM value from being corrupted even when the stability of a clock being used is not secured.SOLUTION: A semiconductor memory device comprises: first storage means from which data is read according to a read address corresponding to a first clock; second storage means to which the data read from the first storage means according to a write address corresponding to the first clock is written and from which the data written according to a read address corresponding to a second clock is read; and address generation means that confirms the stabilization of the first clock, fixes the read address of the first storage means to a fixed value when the first clock is not stabilized, generates the read address corresponding to the first clock to the first storage means when the first clock is stabilized, and generates the write address corresponding to the first clock to the second storage means.

Description

本発明は、半導体記憶装置に関し、特に、FPGAなどに使用される半導体記憶装置およびその制御方法に関する。   The present invention relates to a semiconductor memory device, and more particularly to a semiconductor memory device used for an FPGA or the like and a control method thereof.

フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、以下FPGA)や各種大規模集積回路においてはオンチップ リードオンリーメモリー(Read Only Memory、以下ROM)が広く使用されている。このような構成は、例えば、特開2000−151388に開示されている。ROMに格納されたプログラムやデータ(以下、ROM値と称す)は所望の機能を有するユーザ回路で参照され所望の機能を実現するために必要となるもので、万一何らかの理由でROM値が壊れると装置が誤動作を起こすという問題がある。   On-chip read only memory (hereinafter referred to as ROM) is widely used in field programmable gate arrays (hereinafter referred to as FPGA) and various large scale integrated circuits. Such a configuration is disclosed in, for example, Japanese Patent Laid-Open No. 2000-151388. Programs and data stored in the ROM (hereinafter referred to as ROM values) are referred to by a user circuit having a desired function and are necessary for realizing the desired function, and the ROM value is destroyed for some reason. There is a problem that the device malfunctions.

最新のFPGAにおいてはランダムアクセスメモリー(Random Access Memory、以下RAM)ブロックが大量に搭載されているのが一般的である。また、FPGAのコンフィグレーション時にRAMに初期値を与えることができるのも一般的である。従ってこの特徴を利用して、FPGAにおいて大規模ROMを実現する場合、RAMに初期値を与えることによりROM機能を実現する場合が多い。   In the latest FPGA, a random access memory (hereinafter referred to as RAM) block is generally mounted in large quantities. Also, it is common that an initial value can be given to the RAM when configuring the FPGA. Therefore, when a large-scale ROM is realized in the FPGA using this feature, the ROM function is often realized by giving an initial value to the RAM.

このような手法を用いることにより、ROM機能実現のためにルックアップテーブル(Look Up Table、以下LUT)を消費することを防ぎ、LUTをユーザ回路実現のために振り向けることができる。FPGAにおいては、このようにしてLUTを有効に活用して大規模回路を実現するのが一般的である。特に、ROMの規模が大きい場合ほどLUTの有効利用が可能となる。   By using such a method, it is possible to prevent a lookup table (Look Up Table, hereinafter referred to as LUT) from being consumed for realizing the ROM function, and to allocate the LUT for realizing the user circuit. In the FPGA, it is common to realize a large-scale circuit by effectively utilizing the LUT in this way. In particular, the larger the ROM size, the more effective the LUT can be used.

特開2000−151388号公報JP 2000-151388 A

ROMを実現するために初期値付きRAMを用いる場合には以下のような課題があった。すなわち、ROM値を保存するためのメモリセルがRAMで構成されているので、ROMの読み出しクロック(Clock)が不安定になった場合、アドレス信号のSetup Time/Hold Timeを満たせなくなる場合(以下、アドレスレーシングと称す)が生じ、結果としてRAM内にマルチアドレスアクセス状態が生じ、マルチアドレスとなったメモリセルの保持値が破壊される場合がある。従って、この初期値付きRAMを用いたROMの読み出しクロックには、安定なクロックを供給する必要がある。しかしながら、通信機器では種々の理由で特に装置の立ち上げ時にクロックが安定しない場合が多く、このような場合はROM値が破壊されることになる。   When a RAM with an initial value is used to realize a ROM, there are the following problems. That is, since the memory cell for storing the ROM value is composed of the RAM, when the ROM read clock (Clock) becomes unstable, the setup time / hold time of the address signal cannot be satisfied (hereinafter, referred to as “the read time”). As a result, a multi-address access state occurs in the RAM, and the retained value of the memory cell that has become the multi-address may be destroyed. Therefore, it is necessary to supply a stable clock as a read clock of the ROM using the RAM with the initial value. However, in communication devices, the clock is often not stable especially when the apparatus is started up for various reasons. In such a case, the ROM value is destroyed.

なお、ここで注意を有するのは、ROM値が破壊されるのはRAMへの書き込みの際のアドレスレーシングのみではなく、読み出し時のアドレスレーシングによってもメモリセルの保持値が破壊される場合があることである。従って、読み出しだけの動作でもROM値が破壊される場合があることである。   It should be noted that the ROM value is destroyed not only in address racing at the time of writing to the RAM, but also in the memory cell holding value may be destroyed by address racing at the time of reading. That is. Therefore, the ROM value may be destroyed even by the read-only operation.

クロックが安定しない具体的な場合としては次のような場合があげられる。すなわち、クロックラインにフェーズ ロック ループ(Phase Locked Loop、以下PLL)を用いる場合に、装置に電源が入り、その後PLLがロックするまでの時間、または何らかの理由でPLLのロックが外れた場合に再度ロックするまでの間の時間である。また、受信データ(Data)からクロックを抽出する構成を取る回路(Clock Data Recovery、以下CDR)においては、やはり受信データからクロックを抽出してクロック抽出PLLをロックさせるまでの時間、またはクロック抽出PLLが何らかの理由によりロックが外れて再度ロックするまでの間の時間である。   Specific cases where the clock is not stable include the following cases. In other words, when a phase locked loop (PLL) is used for the clock line, the device is turned on and the time until the PLL is locked after that, or when the PLL is unlocked for some reason, is locked again. It is the time between. Further, in a circuit (Clock Data Recovery, hereinafter referred to as CDR) that extracts a clock from received data (Data), a time until a clock is extracted from received data and the clock extraction PLL is locked, or a clock extraction PLL Is the time between when the lock is released for some reason and then locked again.

また、クロックラインを装置のモードにより切り替えて使用するような仕様の装置においては、クロックラインを切り替えた瞬間である。さらにまた、雷等で外部から強力なサージノイズを受けた瞬間である。   Also, in an apparatus having a specification in which the clock line is switched according to the mode of the apparatus, it is the moment when the clock line is switched. Furthermore, it is the moment when a strong surge noise is received from the outside due to lightning.

既知の半導体記憶装置の構成を図11に示す。ROMは初期値付きRAMで構成されており、ユーザ回路クロックで動作し、ユーザ回路から直接参照される。また、このときのタイムチャートを図12に示す。図12では一例としてサージノイズ等でクロックラインにグリッジが乗った場合を想定している。グリッジの立ち上がりエッジがほぼアドレスの変化点と一致し、アドレスラインに規定されるSetup Time/Hold Timeが満たされない場合アドレスレーシングが発生し、複数のアドレスが指定されたような動作となる場合がある。   A configuration of a known semiconductor memory device is shown in FIG. The ROM is composed of a RAM with an initial value, operates with a user circuit clock, and is directly referenced from the user circuit. A time chart at this time is shown in FIG. In FIG. 12, it is assumed as an example that a glitch is placed on the clock line due to surge noise or the like. When the rising edge of the glitch almost coincides with the address change point and the Setup Time / Hold Time defined in the address line is not satisfied, address racing occurs, and the operation may be as if multiple addresses are specified. .

次に図13に、図11のROMを構成する初期値付きRAMの、RAMの内部構造を示す。RAMは一般的なFPGAの静的RAM(Static RAM)の例である。複数のアドレスライン(本例ではアドレス0(Add_0)とアドレス16(Add_16))が有効になると、有効になったアドレスに配置されているメモリセル間に衝突がおき、メモリセルに保持されている情報が破壊される場合がある。   Next, FIG. 13 shows the internal structure of the RAM of the RAM with an initial value constituting the ROM of FIG. The RAM is an example of a general FPGA static RAM (Static RAM). When a plurality of address lines (in this example, address 0 (Add_0) and address 16 (Add_16)) become valid, a collision occurs between the memory cells arranged at the valid address, and the memory cells hold the memory cells. Information may be destroyed.

なお、実際にはいかなる場合でもクロックが不安定にならないよう、種々のプロテクション回路が搭載されている。しかしながら、実際には簡単で完全なプロテクションを実現することは難しく、結果として装置評価時に十分に長い時間をかけて実力値把握のための評価を行っているのが実情である。つまり、装置評価に多大な時間を要すという問題があった。   Actually, various protection circuits are mounted so that the clock does not become unstable in any case. However, in practice, it is difficult to realize simple and complete protection, and as a result, the evaluation is performed for grasping the ability value over a sufficiently long time when evaluating the apparatus. That is, there is a problem that it takes a lot of time to evaluate the apparatus.

また、ROMの不安定問題を回避するために、LUTを用いて組み合わせ回路によってROMを実現する方法も挙げられる。しかしながら、この場合、FPGA内のLUTがROM機能実現のために消費されるために、ユーザ回路に使用できるLUT数が制限されるという問題が発生する。   In addition, in order to avoid the problem of ROM instability, there is a method of realizing the ROM by a combinational circuit using an LUT. However, in this case, since the LUT in the FPGA is consumed for realizing the ROM function, there is a problem that the number of LUTs that can be used for the user circuit is limited.

ROM機能を実現するために初期値付きRAMを用いる場合の別の課題として、メモリセルがRAMで構成されているので、α線や宇宙線の影響によるソフトエラーでメモリセルに保持されている値が破壊される場合がある。つまりこのような場合もROM値が破壊されることになる。   Another problem when using a RAM with an initial value to realize the ROM function is that the memory cell is composed of RAM, so the value held in the memory cell due to soft error due to the influence of α rays and cosmic rays May be destroyed. That is, in this case, the ROM value is destroyed.

実際には1bitエラーの場合はError Check and Correct(以下ECC)回路によってエラー訂正が可能であり、実質問題になるのは同一Word線内に2bitエラーが発生する場合である。ECC回路において2bitエラーは、エラー発生の有無は認識可能であるが、エラー訂正はできないので、エラー訂正技術としては万全ではないという問題がある。   Actually, in the case of a 1-bit error, the error can be corrected by an Error Check and Correct (hereinafter referred to as ECC) circuit, and the actual problem is when a 2-bit error occurs in the same Word line. In the ECC circuit, a 2-bit error can recognize whether or not an error has occurred, but cannot correct the error. Therefore, there is a problem that the error correction technique is not perfect.

以上のように、既知のFPGAのROMでは、使用するクロックの安定性が確保されないとアドレスレーシングによりROM値が壊れる場合が有り、復旧が不可能なので、結果として装置故障となってしまうという問題がある。また、使用するクロックの安定性を確認するため、評価時に悪環境下での長時間のエージングが必要になり、開発期間が長くなるという問題がある。また、LUTでROMを実現した場合、FPGAのLUTリソースを大量に消費し、ユーザ回路に割り当てることができるLUTが減少するという問題がある。さらに、ソフトエラー等で2bitエラーが生じた場合、ECC回路を用いても訂正ができないという問題がある。   As described above, in the known FPGA ROM, the ROM value may be destroyed by address racing unless the stability of the clock to be used is ensured, and recovery is impossible. is there. In addition, in order to confirm the stability of the clock to be used, a long time aging in a bad environment is required at the time of evaluation, and there is a problem that the development period becomes long. Further, when the ROM is realized by the LUT, there is a problem that a large amount of FPGA LUT resources are consumed and the number of LUTs that can be allocated to the user circuit is reduced. Furthermore, when a 2-bit error occurs due to a soft error or the like, there is a problem that correction cannot be performed even if an ECC circuit is used.

本発明は、上記の課題に鑑みてなされたものであり、その目的は、使用するクロックの安定性が確保されていない場合でもROM値が壊れることを防ぎ、使用するクロックの安定性を確認するための評価の際に悪環境下での長期間のエージングの必要を無くし、LUTでROMを実現する必要を無くしユーザ回路に割り当てるLUTの減少を防ぎ、ソフトエラー等で2bitエラーに発展することを防ぐことでECC回路を用いてbitエラーを訂正可能とする、半導体記憶装置およびその制御方法を提供することにある。   The present invention has been made in view of the above problems, and its purpose is to prevent the ROM value from being broken even when the stability of the clock to be used is not ensured and to confirm the stability of the clock to be used. To eliminate the need for long-term aging in an adverse environment during evaluation, eliminate the need to implement a ROM with a LUT, prevent a decrease in the LUT allocated to the user circuit, and develop into a 2-bit error due to a software error, etc. An object of the present invention is to provide a semiconductor memory device and a control method therefor, which can correct a bit error using an ECC circuit by preventing the error.

第1のクロックに対応した読み出しアドレスに対応してデータが読み出される第1の記憶手段と、前記第1のクロックに対応した書き込みアドレスに対応して前記第1の記憶手段から読み出された前記データが書き込まれ、第2のクロックに対応した読み出しアドレスに対応して前記書き込まれた前記データが読み出される、第2の記憶手段と、前記第1のクロックの安定化を確認し、前記第1のクロックが安定化していないときは、前記第1の記憶手段の前記読み出しアドレスを固定値に固定し、前記第1のクロックが安定化しているときは、前記第1の記憶手段に前記第1のクロックに対応した前記読み出しアドレスを発生し、前記第2の記憶手段に前記第1のクロックに対応した前記書き込みアドレスを発生する、アドレス発生手段と、を有する半導体記憶装置である。   First storage means for reading data corresponding to a read address corresponding to a first clock, and the first storage means read corresponding to a write address corresponding to the first clock Data is written, and the written data is read corresponding to a read address corresponding to a second clock. The second storage means and the stabilization of the first clock are confirmed, and the first clock is checked. When the first clock is not stabilized, the read address of the first storage unit is fixed to a fixed value, and when the first clock is stabilized, the first storage unit stores the first address in the first storage unit. Address generating means for generating the read address corresponding to the first clock and generating the write address corresponding to the first clock in the second storage means; A semiconductor memory device having a.

また、第1のクロックにより、第1の記憶手段に格納されたデータを第2の記憶手段に書き込み、第2のクロックにより、前記第2の記憶手段から前記データを所望の動作を行う回路に読み出す、半導体記憶装置の制御方法であって、前記第1のクロックの安定化を確認する、確認工程と、前記第1のクロックが安定化していないときは、前記第1の記憶手段の読み出しアドレスを固定値に固定し、前記第1のクロックが安定化しているときは、前記第1のクロックに対応して、前記第1の記憶手段に読み出しアドレスと前記第2の記憶手段に書き込みアドレスとを発生する、発生工程と、前記読み出しアドレスにより前記第1の記憶手段に格納された前記データを読み出し、前記書き込みアドレスにより前記読み出された前記データを前記第2の記憶手段に書き込む、書き込み工程と、前記第2のクロックにより、前記第2の記憶手段に書き込まれた前記データを前記回路に読み出す、読み出し工程と、を有する半導体記憶装置の制御方法である。   In addition, the data stored in the first storage means is written to the second storage means by the first clock, and the data is transferred from the second storage means to a circuit that performs a desired operation by the second clock. A semiconductor memory device control method for reading, wherein the first clock stabilization is confirmed, and when the first clock is not stabilized, the read address of the first storage means Is fixed to a fixed value, and when the first clock is stabilized, a read address in the first storage means and a write address in the second storage means in correspondence with the first clock. Generating the data, reading the data stored in the first storage means by the read address, and reading the data by the write address A method for controlling a semiconductor memory device, comprising: a writing process for writing to the second storage means; and a reading process for reading the data written in the second storage means to the circuit by the second clock. .

本発明の半導体記憶装置およびその制御方法によって、使用するクロックの安定性が確保されていない場合でも、第1の記憶手段であるROMのROM値が壊れることを防ぎ、結果として装置故障に発展することを防ぐことができる。また、使用するクロックの安定性を確認するため、評価時に悪環境下での長期間のエージングの必要がなくなり開発期間の短縮が可能になる。さらに、LUTでROMを実現する必要が無くなり、FPGAのLUTリソースをユーザ回路に割り当てることができ、ユーザ回路に割り当てるLUTの減少を防ぐことができる。   Even if the stability of the clock to be used is not ensured by the semiconductor memory device and the control method thereof according to the present invention, the ROM value of the ROM as the first memory means is prevented from being broken, resulting in a device failure. Can be prevented. In addition, since the stability of the clock to be used is confirmed, there is no need for long-term aging in a bad environment at the time of evaluation, and the development period can be shortened. Furthermore, it is not necessary to implement a ROM with an LUT, and an FPGA LUT resource can be allocated to a user circuit, thereby preventing a decrease in the LUT allocated to the user circuit.

本発明の第1の実施の形態の半導体記憶装置の構成を示す図である。1 is a diagram showing a configuration of a semiconductor memory device according to a first embodiment of the present invention. 本発明の第1の実施の形態の半導体記憶装置の動作を示す図である。It is a figure which shows operation | movement of the semiconductor memory device of the 1st Embodiment of this invention. 本発明の第1の実施の形態の半導体記憶装置の動作を示す図である。It is a figure which shows operation | movement of the semiconductor memory device of the 1st Embodiment of this invention. 本発明の第1の実施の形態の半導体記憶装置の動作を示す図である。It is a figure which shows operation | movement of the semiconductor memory device of the 1st Embodiment of this invention. 本発明の第1の実施の形態の半導体記憶装置の動作を示す図である。It is a figure which shows operation | movement of the semiconductor memory device of the 1st Embodiment of this invention. 本発明の第2の実施の形態の半導体記憶装置の構成を示す図である。It is a figure which shows the structure of the semiconductor memory device of the 2nd Embodiment of this invention. 本発明の第2の実施の形態の半導体記憶装置の構成を示す図である。It is a figure which shows the structure of the semiconductor memory device of the 2nd Embodiment of this invention. 本発明の第2の実施の形態の半導体記憶装置の構成を示す図である。It is a figure which shows the structure of the semiconductor memory device of the 2nd Embodiment of this invention. 本発明の第2の実施の形態の半導体記憶装置の動作を示す図である。It is a figure which shows operation | movement of the semiconductor memory device of the 2nd Embodiment of this invention. 本発明の第2の実施の形態の半導体記憶装置の構成を示す図である。It is a figure which shows the structure of the semiconductor memory device of the 2nd Embodiment of this invention. 既知の半導体記憶装置の構成を示す図である。It is a figure which shows the structure of a known semiconductor memory device. 既知の半導体記憶装置の動作を示す図である。It is a figure which shows operation | movement of a known semiconductor memory device. ROMを構成する初期値付きRAMの内部構造を示す図である。It is a figure which shows the internal structure of RAM with an initial value which comprises ROM.

以下、図を参照しながら、本発明の実施の形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
(第1の実施の形態)
図1を参照して、本発明の第1の実施の形態の半導体記憶装置およびその制御方法を説明する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. However, the preferred embodiments described below are technically preferable for carrying out the present invention, but the scope of the invention is not limited to the following.
(First embodiment)
With reference to FIG. 1, a semiconductor memory device and a control method thereof according to a first embodiment of the present invention will be described.

ROM1は初期値付きRAMである。このROM1のクロック(Clock)にはFPGA10内のクロック作成手段であるPLL2で作成されるClockを供給し、PLL2が安定するまではROM1のアドレスを固定値に固定して、万一Clockが不安定になってもアドレスが固定されていることでアドレスレーシングを防ぐ。また、ROM1のROM値をPLL2のClockを用いて一旦第2の記憶手段であるRAM4にコピーし、ユーザ回路6ではユーザ回路ClockにてRAM4にアクセスする。これにより、ユーザ回路6のClockが不安定になった場合でも、ROM1本体のROM値を壊すことは無い。
(構成の説明)
図1において、第1の記憶手段であるROM1は初期値付きRAMであり、クロック生成手段であるPLL2は安定したClockを生成し供給し、アドレス発生手段であるアドレスカウンタ3はROM1のROM値を第2の記憶手段であるRAM4にコピーするためにROM1並びにRAM4にアドレスを与え、RAM4はユーザ回路6にROM値を渡し、アドレス調停手段であるアドレス調停回路5はRAM4のWriteアドレスとReadアドレスを競合させないための調停をおこなう。ユーザ回路6はRAM4からROM値を受けて所望の機能を実行する。
The ROM 1 is a RAM with an initial value. The clock generated by the PLL 2 which is the clock generating means in the FPGA 10 is supplied to the clock of the ROM 1 and the address of the ROM 1 is fixed to a fixed value until the PLL 2 becomes stable. Even if it becomes, address racing is prevented by the fixed address. Further, the ROM value of the ROM 1 is temporarily copied to the RAM 4 which is the second storage means using the clock of the PLL 2, and the user circuit 6 accesses the RAM 4 by the user circuit Clock. Thereby, even when the clock of the user circuit 6 becomes unstable, the ROM value of the ROM 1 main body is not destroyed.
(Description of configuration)
In FIG. 1, a ROM 1 as a first storage means is a RAM with an initial value, a PLL 2 as a clock generation means generates and supplies a stable clock, and an address counter 3 as an address generation means uses a ROM value of the ROM 1. Addresses are given to the ROM 1 and the RAM 4 for copying to the RAM 4 as the second storage means, the RAM 4 passes the ROM value to the user circuit 6, and the address arbitration circuit 5 as the address arbitration means sets the write address and the read address of the RAM 4 Arbitration to prevent competition. The user circuit 6 receives a ROM value from the RAM 4 and executes a desired function.

さらに、図1の第1の実施の形態の半導体記憶装置およびその制御方法の詳細を説明する。図1のPLL Clock ドメインの側において、ROM1にプログラムやデータであるROM値が書き込まれている。ROM1は初期値付きRAMからなる。RAMにはSRAMを用いることができる。初期値は、別途のROMに記憶した初期値ファイル(図1に記載なし)を準備し、この値をロードすることにより初期値を得る。   Further, details of the semiconductor memory device and its control method according to the first embodiment of FIG. 1 will be described. On the side of the PLL Clock domain in FIG. 1, ROM values that are programs and data are written in the ROM 1. The ROM 1 is composed of a RAM with an initial value. An SRAM can be used as the RAM. The initial value is obtained by preparing an initial value file (not shown in FIG. 1) stored in a separate ROM and loading this value.

PLL2は、FPGA10のコンフィグレーションが完了した後に、リファレンスクロック(Ref_Clock)を受けて動作を開始する。Ref_Clockは、FPGA10の内部回路(図1に記載なし)で生成され供給されることができる。PLL2は、動作を開始し、発信周波数が安定し、ロック(PLL_Lock)がかかると、安定なClockを生成し供給するようになる。   The PLL 2 receives the reference clock (Ref_Clock) and starts operation after the configuration of the FPGA 10 is completed. The Ref_Clock can be generated and supplied by an internal circuit of the FPGA 10 (not shown in FIG. 1). The PLL 2 starts operating, stabilizes the transmission frequency, and generates and supplies a stable clock when the lock (PLL_Lock) is applied.

PLL2はPLL_Lock信号をアドレスカウンタ3に供給し、Clockを、ROM1にはRead_Clockとして、RAM4にはWrite_Clockとして、アドレスカウンタ3とアドレス調停部5とにはそれぞれClockとして供給する。   The PLL 2 supplies a PLL_Lock signal to the address counter 3, and supplies Clock as Read_Clock to the ROM 1, Write_Clock to the RAM 4, and Clock to the address counter 3 and the address arbitration unit 5.

アドレスカウンタ3は、PLL2からのPLL_Lock信号を確認する前は、アドレス値をたとえば0などに固定している。これにより、ROM1のアドレス(Read_Add)は同様のたとえば0などの固定値に固定されている。よって、PLL2のロックがはずれてClockが不安定なときには、ROM1のアドレスは固定されていることでアドレスレーシングを防ぐことができ、ROM1のROM値が壊されることはない。   The address counter 3 fixes the address value to 0, for example, before confirming the PLL_Lock signal from the PLL 2. Accordingly, the address (Read_Add) of the ROM 1 is fixed to a similar fixed value such as 0, for example. Therefore, when PLL2 is unlocked and Clock is unstable, the address of ROM1 is fixed, so that address racing can be prevented and the ROM value of ROM1 is not destroyed.

アドレスカウンタ3は、PLL2からのPLL_Lock信号の供給を確認するとともに、アドレス調停部5からCount_EN信号(後述)が供給されていることによって、Addressの発生を開始する。すなわち、アドレスカウンタ3は、PLL_Lock信号を確認することでClockの安定化を確認していることになる。   The address counter 3 confirms the supply of the PLL_Lock signal from the PLL 2, and starts the generation of Address when a Count_EN signal (described later) is supplied from the address arbitration unit 5. That is, the address counter 3 confirms the stabilization of the clock by confirming the PLL_Lock signal.

アドレスカウンタ3は、PLL_Lock信号とCount_EN信号(後述)とによって、PLL2から供給されるClockに対応したAddressを発生する。そして、この同一のAdressを、ROM1にはReadアドレス(Read_Add)として、RAM4にはWriteアドレス(Writa_Add)として、アドレス調停部にはアドレス(Address)として供給する。このAddessを受けて、ROM1のROM値(Data_Out)が読み出され、この読み出されたROM値がRAM4に書き込まれる(Data_In)。   The address counter 3 generates an address corresponding to the clock supplied from the PLL 2 by a PLL_Lock signal and a Count_EN signal (described later). Then, the same address is supplied as a read address (Read_Add) to the ROM 1, a write address (Write_Add) to the RAM 4, and an address (Address) to the address arbitration unit. In response to this address, the ROM value (Data_Out) of the ROM 1 is read, and the read ROM value is written to the RAM 4 (Data_In).

一方、ユーザClockドメインの側では、ユーザ回路Clockが、RAM4にはRead_Clockとして、アドレス調停部5とユーザ回路6とにはClockとして供給される。このユーザ回路Clockは、例えばFPGA10の内部回路(図1に記載なし)で生成され供給されることができる。また、このユーザ回路Clockは、外部から与えられることもできる。   On the other hand, on the user clock domain side, the user circuit Clock is supplied as Read_Clock to the RAM 4 and to the address arbitration unit 5 and the user circuit 6 as Clock. This user circuit Clock can be generated and supplied by an internal circuit (not shown in FIG. 1) of the FPGA 10, for example. The user circuit Clock can also be given from the outside.

供給されたユーザ回路Clockに対応して、ユーザ回路6はアドレス(Read_Add)を発生し、このアドレスをRAM4にRead_Addとして与える。このアドレスに対応して、RAM4に書き込まれたROM値(Data_Out)は、ユーザ回路6に読み出される(Data_In)。   Corresponding to the supplied user circuit Clock, the user circuit 6 generates an address (Read_Add) and gives this address to the RAM 4 as Read_Add. Corresponding to this address, the ROM value (Data_Out) written in the RAM 4 is read out to the user circuit 6 (Data_In).

一方、ユーザ回路6はアドレス(Read_Add)を、アドレス調停部5にもAddressとして供給する。アドレス調停部5では、ユーザ回路6からのAddressの供給を受けて、RAM4のWrite_AddとRead_Addとが競合しているか否かを検知する。ここでの競合とは、RAM4でのWrite_AddとRead_Addとが同一でかつ同一の時間に設定された状態をいう。アドレス調停部5は、この競合を検知した場合、Count_EN信号のアドレスカウンタ3への供給を停止する。   On the other hand, the user circuit 6 supplies the address (Read_Add) to the address arbitration unit 5 as an address. The address arbitration unit 5 receives the supply of Address from the user circuit 6 and detects whether or not Write_Add and Read_Add in the RAM 4 are competing. The contention here means a state in which Write_Add and Read_Add in the RAM 4 are the same and set at the same time. When the address arbitration unit 5 detects this conflict, the address arbitration unit 5 stops supplying the Count_EN signal to the address counter 3.

アドレスカウンタ3はCount_EN信号の停止を受けて、Adressの発生を停止する。アドレス調停部5は、毎Clockごとに監視を行い、競合がなくなったことを検知した場合は、Count_EN信号のアドレスカウンタ3への供給を再び開始する。アドレスカウンタ3は、Count_EN信号を受けて、Addressの発生を再開する。このAddressを受けて、ROM1のROM値(Data_Out)が読み出され、この読み出されたROM値がRAM4に書き込まれる(Data_In)。
(動作の説明)
図2は、図1に示す第1の実施の形態のタイムチャートを示す。図2を用いて第1の実施の形態の半導体記憶装置の動作を説明する。
In response to the stop of the Count_EN signal, the address counter 3 stops the generation of Address. The address arbitration unit 5 performs monitoring every clock, and when it detects that there is no conflict, it starts supplying the Count_EN signal to the address counter 3 again. The address counter 3 receives the Count_EN signal and restarts the generation of Address. In response to this address, the ROM value (Data_Out) of the ROM 1 is read, and the read ROM value is written to the RAM 4 (Data_In).
(Description of operation)
FIG. 2 shows a time chart of the first embodiment shown in FIG. The operation of the semiconductor memory device according to the first embodiment will be described with reference to FIG.

第一に、FPGA10のコンフィグレーションが完了し、内部回路(図1に記載なし)の動作が有効になると、Config_Done信号が有効となり、PLL2が動作し始める。すなわち、PLL_Clockが有効となり、Clockの生成が始まる。   First, when the configuration of the FPGA 10 is completed and the operation of the internal circuit (not shown in FIG. 1) becomes valid, the Config_Done signal becomes valid and the PLL 2 starts to operate. That is, PLL_Clock becomes valid and generation of Clock starts.

第二に、PLL2の発振周波数が安定するとPLL2がロックされPLL_Lockが有効になる。これにより安定化したClockが、PLL2で生成され、供給されるようになる。PLL_Lockが有効になったことを検知して、アドレスカウンタ3がアドレスの発生を始める。このアドレスが、ROM1のRead_Addressとして、また、RAM4のWrite_Addressとして供給される。このROM1のRead_AddressとRAM4のWrite_Addressとによって、ROM1のROM値が読み出され、この読み出されたROM値がRAM4に書き込まれる。   Second, when the oscillation frequency of PLL2 is stabilized, PLL2 is locked and PLL_Lock becomes valid. As a result, a stabilized clock is generated and supplied by the PLL 2. Upon detecting that the PLL_Lock has become valid, the address counter 3 starts generating an address. This address is supplied as Read_Address in ROM 1 and Write_Address in RAM 4. The ROM value of the ROM 1 is read by the Read_Address of the ROM 1 and the Write_Address of the RAM 4, and the read ROM value is written to the RAM 4.

第三に、前記転送が完了すると書き込み完了信号が有効になり、ユーザ回路の動作が可能となる。書き込み完了の確認は、FPGA10の内部回路(図1に記載なし)にて行われる。さらに、前記内部回路は前記書き込み完了の信号をユーザ回路に供給する(図1に記載なし)。ユーザ回路は、書き込み完了信号の有効を受けて、この書き込み完了前に有効化されているユーザ回路Clockに対応し、ユーザ回路が発生しRAM4に供給するRead_Addressによって、RAM4からROM値を読み出し、所望の動作を開始する。   Third, when the transfer is completed, the write completion signal becomes valid, and the operation of the user circuit becomes possible. Confirmation of the completion of writing is performed by an internal circuit of the FPGA 10 (not shown in FIG. 1). Furthermore, the internal circuit supplies the write completion signal to the user circuit (not shown in FIG. 1). The user circuit receives the validity of the write completion signal, reads the ROM value from the RAM 4 by Read_Address corresponding to the user circuit Clock that has been validated before the completion of the write, and is generated by the user circuit and supplied to the RAM 4. Start the operation.

このユーザ回路Clockは、例えばFPGA10の内部回路(図1に記載なし)で生成され供給されることができる。また、このユーザ回路Clockは、外部から与えられることもできる。   This user circuit Clock can be generated and supplied by an internal circuit (not shown in FIG. 1) of the FPGA 10, for example. The user circuit Clock can also be given from the outside.

第四に、ユーザ回路がRAM4をアクセスしない設定となっている時間に、繰り返してROM1のROM値をRAM4に書き込む。繰り返してROM1のROM値をRAM4に書き込みことで、万一、ユーザ回路Clockの不安定さが原因でRAM4に書き込まれたROM値が壊されたとしても、再書き込みされた時点から装置は正常動作に戻ることができる。   Fourth, the ROM value of the ROM 1 is repeatedly written into the RAM 4 at a time when the user circuit is set not to access the RAM 4. By repeatedly writing the ROM value of ROM1 to RAM4, even if the ROM value written to RAM4 is destroyed due to instability of the user circuit clock, the device operates normally from the time it is rewritten. You can return to

図3は図2のタイムチャートの他の実施例である。二回目以降のROM1からRAM4への書き込みは、必ずしも一度にROM1の全内容を書き込む必要は無く、図3のように1、2、3というように複数回に分けて書き込んでも良い。ユーザ回路からのアクセス度合いにより、適宜書き込みのスケジュールを変更してかまわない。このようにしてユーザ回路の動作を妨げないようにできる効果がある。   FIG. 3 shows another embodiment of the time chart of FIG. In the second and subsequent writings from the ROM 1 to the RAM 4, it is not always necessary to write the entire contents of the ROM 1 at once, and writing may be performed in multiple times such as 1, 2, and 3 as shown in FIG. Depending on the degree of access from the user circuit, the writing schedule may be changed as appropriate. Thus, there is an effect that the operation of the user circuit can be prevented from being hindered.

図4は図2のタイムチャートの更に他の実施例である。RAM4のWriteアドレスとReadアドレスの競合が発生しない範囲では、RAM4の書き込みと読み出しとを同時に行っても良い。このようにしてユーザ回路の動作を妨げないようにできる効果がある。   FIG. 4 shows still another embodiment of the time chart of FIG. As long as the conflict between the write address and the read address of the RAM 4 does not occur, the writing and reading of the RAM 4 may be performed simultaneously. Thus, there is an effect that the operation of the user circuit can be prevented from being hindered.

図5は図2のタイムチャートの更に他の実施例である。書き込み動作は常時行う必要は無く、ユーザ回路Clockの安定度を考慮して書き込み間隔を決めても良い。このようにすることでROM1の読み出し並びにRAM4の書き込み動作回数を抑えることが可能になり、結果的に消費電力の削減が可能になる。
(効果の説明)
以上のように、ROM1に安定したClockを用いることにより、ユーザ回路のClockが不安定になったとしても、その瞬間にRAM4の値が壊れて装置は一瞬誤動作するが、ROM1のROM値は壊れることがないので、ROM1からRAM4へ再度書き込みが行われた時点で、また安定に装置が動作することが可能となる。
FIG. 5 shows still another embodiment of the time chart of FIG. The write operation need not always be performed, and the write interval may be determined in consideration of the stability of the user circuit Clock. By doing so, it is possible to suppress the number of reading operations of the ROM 1 and the writing operation of the RAM 4, and as a result, power consumption can be reduced.
(Explanation of effect)
As described above, by using a stable clock for the ROM 1, even if the clock of the user circuit becomes unstable, the value of the RAM 4 is broken at that moment and the device malfunctions for a moment, but the ROM value of the ROM 1 is broken. Therefore, the apparatus can operate stably when writing is again performed from the ROM 1 to the RAM 4.

以上により、本発明の第1の実施の形態の半導体記憶装置では、使用するClockの安定性が確保されていない場合でも、ROM値が壊れることを防ぎ、結果として装置故障に発展することを防ぐことができる。また、使用するClockの安定性を確認するため、評価時に悪環境下での長期間のエージングの必要がなくなり、開発期間の短縮が可能になる。さらに、LUTでROMを実現する必要が無く、FPGAのLUTリソースをユーザ回路に割り当てることができ、ユーザ回路に割り当てるLUTの減少を防ぐことができる。
(第2の実施の形態)
図6〜10を参照して本発明の第2の実施の形態の半導体記憶装置を説明する。第2の実施の形態の構成では、エラー訂正手段であるECC回路を付加した以外は第1の実施の形態の構成と同じである。
As described above, in the semiconductor memory device according to the first embodiment of the present invention, even when the stability of the clock to be used is not ensured, the ROM value is prevented from being broken, and as a result, it is prevented from developing into a device failure. be able to. In addition, since the stability of the clock to be used is confirmed, there is no need for long-term aging in a bad environment at the time of evaluation, and the development period can be shortened. Furthermore, it is not necessary to implement a ROM with an LUT, and an FPGA LUT resource can be allocated to a user circuit, thereby preventing a decrease in the LUT allocated to the user circuit.
(Second Embodiment)
A semiconductor memory device according to the second embodiment of the present invention will be described with reference to FIGS. The configuration of the second embodiment is the same as that of the first embodiment except that an ECC circuit as an error correction unit is added.

図6に、ROM1の出力側にWord線単位に1bitの信号誤り訂正が可能なECC回路(Decoder)7を付加した例を示す。本対策により、ソフトエラー等によりROM1の値に1bitエラーが発生した場合でも誤り訂正が可能となる。この場合は、FPGAのコンフィグレーション時に、初期値として誤り訂正用のビット(ECCビット、ROM1のECC_Out、ECC回路7のECC_Inに対応)を与える必要がある。なお、ECC回路7は既知の技術であるので、ここでは詳細動作には触れない。   FIG. 6 shows an example in which an ECC circuit (Decoder) 7 capable of correcting a 1-bit signal error for each word line is added to the output side of the ROM 1. This measure enables error correction even if a 1-bit error occurs in the ROM 1 value due to a soft error or the like. In this case, it is necessary to provide error correction bits (corresponding to ECC bits, ECC_Out of ROM1 and ECC_In of ECC circuit 7) as initial values when configuring the FPGA. Since the ECC circuit 7 is a known technique, detailed operation is not described here.

図7に、RAM4の出力側にWord線単位に1bitの信号誤り訂正が可能なECC回路(Decoder)7を付加した例を示す。この場合はRAM4の1bitエラー訂正が可能になる。   FIG. 7 shows an example in which an ECC circuit (Decoder) 7 capable of correcting a 1-bit signal error for each word line is added to the output side of the RAM 4. In this case, 1-bit error correction of the RAM 4 becomes possible.

図8は、エラー訂正手段であるECC回路(Decoder)7にて1bit訂正を行う際、訂正後の値を訂正値書き込み手段であるECC回路(Encoder)8にて再度ROM1に書き込む例である。ソフトエラー等により1bitエラーが発生した際、そのエラーをそのままにしておくと、同一Word線に別の1bitエラーが発生する場合があり、その際は合計で2bitエラーとなりECC回路でも訂正ができなくなるので、装置の誤動作となる。本対策により、このような問題を回避することが可能となる。   FIG. 8 shows an example in which when the 1-bit correction is performed by the ECC circuit (Decoder) 7 as the error correction means, the corrected value is written again into the ROM 1 by the ECC circuit (Encoder) 8 as the correction value writing means. When a 1-bit error occurs due to a soft error, etc., if the error is left as it is, another 1-bit error may occur on the same Word line. In this case, a 2-bit error occurs in total, and the ECC circuit cannot be corrected. As a result, the device malfunctions. This measure can avoid such a problem.

図9は図8の動作を説明するタイムチャートである。Data_No=4に1bitエラーが発生したと仮定して説明する。4のエラーはECC回路(Decoder)7内で訂正されるため、ECC回路(Decoder)7から出力された段階ではエラー無しの値となる。本訂正後の値を用いてECC回路(Encoder)8で再度ECC符号を計算してROM1(初期値付きRAMで構成されているので書き込みが可能)に書き込む。   FIG. 9 is a time chart for explaining the operation of FIG. The description will be made assuming that a 1-bit error has occurred in Data_No = 4. Since the error No. 4 is corrected in the ECC circuit (Decoder) 7, the error-free value is obtained at the stage of output from the ECC circuit (Decoder) 7. Using the corrected value, the ECC circuit (Encoder) 8 calculates the ECC code again and writes it in the ROM 1 (it can be written because it is composed of a RAM with an initial value).

また次に、ECC_No=7に1bitエラーが発生したと仮定した場合を説明する。ECC_No=7のエラーはECC回路(Decoder)7のData出力には影響は与えないが、ECC回路7からは出力されないのでECC回路(Encoder)8で再度ECC符号を計算してROM1(初期値付きRAMで構成されているので書き込みが可能)に書き込むことでData並びにECC符号の両方にエラーが存在しない状態に設定できる。   Next, a case where it is assumed that a 1-bit error has occurred in ECC_No = 7 will be described. The error of ECC_No = 7 does not affect the data output of the ECC circuit (Decoder) 7, but is not output from the ECC circuit 7, so the ECC circuit (Encoder) 8 calculates the ECC code again and ROM1 (with initial value) It is possible to set to a state in which no error exists in both the Data and the ECC code.

図10は図8の他の実施例である。ECC回路(Decoder)7にECCしたbitの訂正値書き込み機能を付け加えたものである。図8に比べてECC回路(Encoder)8が別途に必要ないので回路が簡略化される。   FIG. 10 shows another embodiment of FIG. An ECC circuit (Decoder) 7 is added with a function of writing a correction value of an ECC bit. Compared with FIG. 8, an ECC circuit (Encoder) 8 is not required separately, so that the circuit is simplified.

以上により、本発明の第2の実施の形態では、使用するClockの安定性が確保されていない場合でも、ROM値が壊れることを防ぎ、結果として装置故障に発展することを防ぐことができる。また、使用するClockの安定性を確認するため、評価時に悪環境下での長期間のエージングの必要がなくなり、開発期間の短縮が可能になる。さらに、LUTでROMを実現する必要が無く、FPGAのLUTリソースをユーザ回路に割り当てることができ、ユーザ回路に割り当てるLUTの減少を防ぐことができる。さらにまた、ECC回路を用いることで、ソフトエラー等で2bitエラーに発展することを防ぎ、bitエラーの訂正を行うことができる。   As described above, in the second embodiment of the present invention, even when the stability of the clock to be used is not ensured, the ROM value can be prevented from being broken, and as a result, it can be prevented from developing into a device failure. In addition, since the stability of the clock to be used is confirmed, there is no need for long-term aging in a bad environment at the time of evaluation, and the development period can be shortened. Furthermore, it is not necessary to implement a ROM with an LUT, and an FPGA LUT resource can be allocated to a user circuit, thereby preventing a decrease in the LUT allocated to the user circuit. Furthermore, by using an ECC circuit, it is possible to prevent a 2-bit error from being developed due to a soft error or the like and to correct the bit error.

また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。   Moreover, although a part or all of said embodiment can be described also as the following additional remarks, it is not restricted to the following.

付記
(付記1)
第1のクロックに対応した読み出しアドレスに対応してデータが読み出される第1の記憶手段と、
前記第1のクロックに対応した書き込みアドレスに対応して前記第1の記憶手段から読み出された前記データが書き込まれ、第2のクロックに対応した読み出しアドレスに対応して前記書き込まれた前記データが読み出される、第2の記憶手段と、
前記第1のクロックの安定化を確認し、
前記第1のクロックが安定化していないときは、前記第1の記憶手段の前記読み出しアドレスを固定値に固定し、
前記第1のクロックが安定化しているときは、前記第1の記憶手段に前記第1のクロックに対応した前記読み出しアドレスを発生し、前記第2の記憶手段に前記第1のクロックに対応した前記書き込みアドレスを発生する、
アドレス発生手段と、を有する半導体記憶装置。
(付記2)
前記第2の記憶手段の前記書き込みアドレスと前記第2の記憶手段の前記読み出しアドレスとが同一であって、かつ、前記書き込みアドレスの書き込みの動作と前記読み出しアドレスの読み出しの動作とが同じ時間の動作になるように設定された場合、前記アドレス発生手段の前記アドレスの発生を停止させるアドレス調停手段を有する、付記1記載の半導体記憶装置。
(付記3)
前記第1のクロックを生成し、前記第1のクロックを前記第1の記憶手段と前記第2の記憶手段と前記アドレス発生手段と前記アドレス調停手段とに供給し、前記アドレス発生手段に前記第1のクロックの安定化を前記アドレス発生手段が確認するための信号を供給する、クロック生成手段を有する、付記1乃至2の何れか1項記載の半導体記憶装置。
(付記4)
前記第1の記憶手段は初期値付きRAMからなる、付記1乃至3の何れか1項記載の半導体記憶装置。
(付記5)
前記第2の記憶手段はRAMからなる、付記1乃至4の何れか1項記載の半導体記憶装置。
(付記6)
前記クロック生成手段が、フェーズ ロック ループ(PLL)からなる、付記1乃至5の何れか1項記載の半導体記憶装置。
(付記7)
前記第1の記憶手段から読み出された前記データ、あるいは、前記第2の記憶手段から読み出された前記データ、のエラーを訂正するエラー訂正手段を有する、付記1乃至6の何れか1項記載の半導体記憶装置。
(付記8)
前記エラー訂正した前記データを前記第1の記憶手段に書き込む訂正値書き込み手段を有する、付記7記載の半導体記憶装置。
(付記9)
前記第2の記憶手段に前記書き込まれた前記データを、前記第2のクロックにより読み出して所望の動作を行う回路を有する、付記1乃至8の何れか1項記載の半導体記憶装置。
(付記10)
第1のクロックにより、第1の記憶手段に格納されたデータを第2の記憶手段に書き込み、第2のクロックにより、前記第2の記憶手段から前記データを所望の動作を行う回路に読み出す、半導体記憶装置の制御方法であって、
前記第1のクロックの安定化を確認する、確認工程と、
前記第1のクロックが安定化していないときは、前記第1の記憶手段の読み出しアドレスを固定値に固定し、前記第1のクロックが安定化しているときは、前記第1のクロックに対応して、前記第1の記憶手段に読み出しアドレスと前記第2の記憶手段に書き込みアドレスとを発生する、発生工程と、
前記読み出しアドレスにより前記第1の記憶手段に格納された前記データを読み出し、前記書き込みアドレスにより前記読み出された前記データを前記第2の記憶手段に書き込む、書き込み工程と、
前記第2のクロックにより、前記第2の記憶手段に書き込まれた前記データを前記回路に読み出す、読み出し工程と、を有する半導体記憶装置の制御方法。
(付記11)
前記第2の記憶手段の前記書き込みアドレスと前記第2の記憶手段の前記読み出しアドレスとが同一であって、かつ前記書き込みアドレスの書き込みの動作と前記読み出しアドレスの読み出しの動作とが同じ時間の動作になるように設定された場合、前記発生工程を停止する調停工程を有する、付記10記載の半導体記憶装置の制御方法。
(付記12)
前記読み出し工程が行われていないときに、前記書き込み工程を実施する、付記10乃至11の何れか1項記載の半導体記憶装置の制御方法。
(付記13)
前記読み出し工程が行われているときに、前記第2の記憶手段の前記読み出しアドレスと異なる前記第2の記憶手段の前記書き込みアドレスに前記書き込み工程を実施する、付記10乃至11の何れか1項記載の半導体記憶装置の制御方法。
(付記14)
前記書き込み工程が、前記データを一括で書き込む、付記10乃至13の何れか1項記載の半導体記憶装置の制御方法。
(付記15)
前記書き込み工程が、前記データを複数回に分割して書き込む、付記10乃至13の何れか1項記載の半導体記憶装置の制御方法。
(付記16)
前記第1の記憶手段から読み出された前記データ、あるいは、前記第2の記憶手段から読み出された前記データ、のエラーを訂正する訂正工程を有する、付記11乃至15の何れか1項記載の半導体記憶装置。
(付記17)
前記エラーを訂正した前記データを前記第1の記憶手段に書き込む訂正値書き込み工程を有する、付記16記載の半導体記憶装置。
Appendix (Appendix 1)
First storage means for reading data corresponding to a read address corresponding to the first clock;
The data read from the first storage means corresponding to the write address corresponding to the first clock is written, and the written data corresponding to the read address corresponding to the second clock Second storage means from which are read,
Confirm stabilization of the first clock,
When the first clock is not stabilized, the read address of the first storage means is fixed to a fixed value,
When the first clock is stabilized, the read address corresponding to the first clock is generated in the first storage means, and the first clock is corresponding to the first clock. Generating the write address;
And an address generation means.
(Appendix 2)
The write address of the second storage means and the read address of the second storage means are the same, and the write address write operation and the read address read operation have the same time The semiconductor memory device according to appendix 1, further comprising: an address arbitration unit that stops the generation of the address by the address generation unit when it is set to operate.
(Appendix 3)
Generating the first clock, supplying the first clock to the first storage means, the second storage means, the address generation means, and the address arbitration means; 3. The semiconductor memory device according to claim 1, further comprising clock generation means for supplying a signal for the address generation means to confirm the stabilization of the clock of 1.
(Appendix 4)
4. The semiconductor memory device according to any one of appendices 1 to 3, wherein the first storage unit includes a RAM with an initial value.
(Appendix 5)
The semiconductor storage device according to any one of appendices 1 to 4, wherein the second storage unit is a RAM.
(Appendix 6)
6. The semiconductor memory device according to any one of appendices 1 to 5, wherein the clock generation means is a phase locked loop (PLL).
(Appendix 7)
Any one of appendices 1 to 6, further comprising error correction means for correcting an error of the data read from the first storage means or the data read from the second storage means. The semiconductor memory device described.
(Appendix 8)
The semiconductor memory device according to appendix 7, further comprising correction value writing means for writing the error-corrected data to the first storage means.
(Appendix 9)
9. The semiconductor memory device according to any one of appendices 1 to 8, further comprising a circuit that reads out the data written in the second storage means by the second clock and performs a desired operation.
(Appendix 10)
The data stored in the first storage means is written to the second storage means by the first clock, and the data is read from the second storage means to the circuit that performs a desired operation by the second clock. A method for controlling a semiconductor memory device, comprising:
A confirmation step for confirming stabilization of the first clock;
When the first clock is not stabilized, the read address of the first storage means is fixed to a fixed value, and when the first clock is stabilized, it corresponds to the first clock. Generating a read address in the first storage means and a write address in the second storage means;
A write step of reading the data stored in the first storage means by the read address and writing the read data to the second storage means by the write address;
A method of controlling a semiconductor memory device, comprising: a reading step of reading the data written in the second memory means to the circuit by the second clock.
(Appendix 11)
The write address of the second storage unit and the read address of the second storage unit are the same, and the write address write operation and the read address read operation are the same time operation 11. The method of controlling a semiconductor memory device according to appendix 10, further comprising an arbitration step of stopping the generation step when set to be.
(Appendix 12)
12. The method of controlling a semiconductor memory device according to any one of appendices 10 to 11, wherein the writing step is performed when the reading step is not performed.
(Appendix 13)
Any one of appendices 10 to 11, wherein when the reading step is being performed, the writing step is performed at the write address of the second storage unit different from the read address of the second storage unit. A method of controlling the semiconductor memory device according to claim.
(Appendix 14)
14. The method of controlling a semiconductor memory device according to any one of appendices 10 to 13, wherein the writing step writes the data all at once.
(Appendix 15)
14. The method of controlling a semiconductor memory device according to any one of appendices 10 to 13, wherein the writing step writes the data divided into a plurality of times.
(Appendix 16)
16. The supplementary note 11 to 15, further comprising a correction step of correcting an error of the data read from the first storage means or the data read from the second storage means. Semiconductor memory device.
(Appendix 17)
The semiconductor memory device according to appendix 16, further comprising a correction value writing step of writing the data with the error corrected to the first storage means.

1 ROM
2 PLL
3 アドレスカウンタ
4 RAM
5 アドレス調停部
6 ユーザ回路
7 ECC回路(Decoder)
8 ECC回路(Encoder)
10 FPGA
1 ROM
2 PLL
3 Address counter 4 RAM
5 Address Arbitration Unit 6 User Circuit 7 ECC Circuit (Decoder)
8 ECC circuit (Encoder)
10 FPGA

Claims (10)

第1のクロックに対応した読み出しアドレスに対応してデータが読み出される第1の記憶手段と、
前記第1のクロックに対応した書き込みアドレスに対応して前記第1の記憶手段から読み出された前記データが書き込まれ、第2のクロックに対応した読み出しアドレスに対応して前記書き込まれた前記データが読み出される、第2の記憶手段と、
前記第1のクロックの安定化を確認し、
前記第1のクロックが安定化していないときは、前記第1の記憶手段の前記読み出しアドレスを固定値に固定し、
前記第1のクロックが安定化しているときは、前記第1の記憶手段に前記第1のクロックに対応した前記読み出しアドレスを発生し、前記第2の記憶手段に前記第1のクロックに対応した前記書き込みアドレスを発生する、
アドレス発生手段と、を有する半導体記憶装置。
First storage means for reading data corresponding to a read address corresponding to the first clock;
The data read from the first storage means corresponding to the write address corresponding to the first clock is written, and the written data corresponding to the read address corresponding to the second clock Second storage means from which are read,
Confirm stabilization of the first clock,
When the first clock is not stabilized, the read address of the first storage means is fixed to a fixed value,
When the first clock is stabilized, the read address corresponding to the first clock is generated in the first storage means, and the first clock is corresponding to the first clock. Generating the write address;
And an address generation means.
前記第2の記憶手段の前記書き込みアドレスと前記第2の記憶手段の前記読み出しアドレスとが同一であって、かつ、前記書き込みアドレスの書き込みの動作と前記読み出しアドレスの読み出しの動作とが同じ時間の動作になるように設定された場合、前記アドレス発生手段の前記アドレスの発生を停止させるアドレス調停手段を有する、請求項1記載の半導体記憶装置。   The write address of the second storage means and the read address of the second storage means are the same, and the write address write operation and the read address read operation have the same time 2. The semiconductor memory device according to claim 1, further comprising address arbitration means for stopping generation of said address by said address generation means when set to be operated. 前記第1のクロックを生成し、前記第1のクロックを前記第1の記憶手段と前記第2の記憶手段と前記アドレス発生手段と前記アドレス調停手段とに供給し、前記アドレス発生手段に前記第1のクロックの安定化を前記アドレス発生手段が確認するための信号を供給する、クロック生成手段を有する、請求項1乃至2の何れか1項記載の半導体記憶装置。   Generating the first clock, supplying the first clock to the first storage means, the second storage means, the address generation means, and the address arbitration means; 3. The semiconductor memory device according to claim 1, further comprising clock generation means for supplying a signal for the address generation means to confirm the stabilization of one clock. 前記第1の記憶手段は初期値付きRAMからなる、請求項1乃至3の何れか1項記載の半導体記憶装置。   4. The semiconductor memory device according to claim 1, wherein the first storage means is a RAM with an initial value. 5. 前記クロック生成手段が、フェーズ ロック ループ(PLL)からなる、請求項1乃至4の何れか1項記載の半導体記憶装置。   5. The semiconductor memory device according to claim 1, wherein the clock generation means is formed of a phase locked loop (PLL). 6. 前記第1の記憶手段から読み出された前記データ、あるいは、前記第2の記憶手段から読み出された前記データ、のエラーを訂正するエラー訂正手段を有する、請求項1乃至5の何れか1項記載の半導体記憶装置。   6. The apparatus according to claim 1, further comprising an error correction unit that corrects an error of the data read from the first storage unit or the data read from the second storage unit. A semiconductor memory device according to item. 第1のクロックにより、第1の記憶手段に格納されたデータを第2の記憶手段に書き込み、第2のクロックにより、前記第2の記憶手段から前記データを所望の動作を行う回路に読み出す、半導体記憶装置の制御方法であって、
前記第1のクロックの安定化を確認する、確認工程と、
前記第1のクロックが安定化していないときは、前記第1の記憶手段の読み出しアドレスを固定値に固定し、前記第1のクロックが安定化しているときは、前記第1のクロックに対応して、前記第1の記憶手段に読み出しアドレスと前記第2の記憶手段に書き込みアドレスとを発生する、発生工程と、
前記読み出しアドレスにより前記第1の記憶手段に格納された前記データを読み出し、前記書き込みアドレスにより前記読み出された前記データを前記第2の記憶手段に書き込む、書き込み工程と、
前記第2のクロックにより、前記第2の記憶手段に書き込まれた前記データを前記回路に読み出す、読み出し工程と、を有する半導体記憶装置の制御方法。
The data stored in the first storage means is written to the second storage means by the first clock, and the data is read from the second storage means to the circuit that performs a desired operation by the second clock. A method for controlling a semiconductor memory device, comprising:
A confirmation step for confirming stabilization of the first clock;
When the first clock is not stabilized, the read address of the first storage means is fixed to a fixed value, and when the first clock is stabilized, it corresponds to the first clock. Generating a read address in the first storage means and a write address in the second storage means;
A write step of reading the data stored in the first storage means by the read address and writing the read data to the second storage means by the write address;
A method of controlling a semiconductor memory device, comprising: a reading step of reading the data written in the second memory means to the circuit by the second clock.
前記第2の記憶手段の前記書き込みアドレスと前記第2の記憶手段の前記読み出しアドレスとが同一であって、かつ前記書き込みアドレスの書き込みの動作と前記読み出しアドレスの読み出しの動作とが同じ時間の動作になるように設定された場合、前記発生工程を停止する調停工程を有する、請求項7記載の半導体記憶装置の制御方法。   The write address of the second storage unit and the read address of the second storage unit are the same, and the write address write operation and the read address read operation are the same time operation The method of controlling a semiconductor memory device according to claim 7, further comprising an arbitration step of stopping the generation step when set to be. 前記読み出し工程が行われていないときに、前記書き込み工程を実施する、請求項7乃至8の何れか1項記載の半導体記憶装置の制御方法。   The method of controlling a semiconductor memory device according to claim 7, wherein the writing step is performed when the reading step is not performed. 前記読み出し工程が行われているときに、前記第2の記憶手段の前記読み出しアドレスと異なる前記第2の記憶手段の前記書き込みアドレスに前記書き込み工程を実施する、請求項7乃至8の何れか1項記載の半導体記憶装置の制御方法。   9. The write process according to claim 7, wherein the write process is performed at the write address of the second storage unit different from the read address of the second storage unit when the read process is being performed. A method for controlling a semiconductor memory device according to the item.
JP2012154882A 2012-07-10 2012-07-10 Semiconductor memory device and method of controlling the same Pending JP2014016892A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012154882A JP2014016892A (en) 2012-07-10 2012-07-10 Semiconductor memory device and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012154882A JP2014016892A (en) 2012-07-10 2012-07-10 Semiconductor memory device and method of controlling the same

Publications (1)

Publication Number Publication Date
JP2014016892A true JP2014016892A (en) 2014-01-30

Family

ID=50111493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012154882A Pending JP2014016892A (en) 2012-07-10 2012-07-10 Semiconductor memory device and method of controlling the same

Country Status (1)

Country Link
JP (1) JP2014016892A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019020846A (en) * 2017-07-12 2019-02-07 キヤノン株式会社 Information processing device, control method thereof, and program

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05303443A (en) * 1992-04-27 1993-11-16 Casio Comput Co Ltd Precharge signal controller
JPH0713847A (en) * 1993-04-26 1995-01-17 Nec Corp Semiconductor storage device
JP2003050748A (en) * 2001-08-03 2003-02-21 Nec Corp Buffer memory circuit
JP2007323164A (en) * 2006-05-30 2007-12-13 Fujitsu Ltd Reconfigurable integrated circuit device for automatically constructing initialization circuit
US20080320204A1 (en) * 2007-06-22 2008-12-25 Samsung Electro-Mechanics Co., Ltd. Memory system and method with flash memory device
WO2010016300A1 (en) * 2008-08-05 2010-02-11 日本電気株式会社 Semiconductor verifying device, method, and program
JP2010049556A (en) * 2008-08-22 2010-03-04 Mitsubishi Electric Corp Image processor

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05303443A (en) * 1992-04-27 1993-11-16 Casio Comput Co Ltd Precharge signal controller
JPH0713847A (en) * 1993-04-26 1995-01-17 Nec Corp Semiconductor storage device
JP2003050748A (en) * 2001-08-03 2003-02-21 Nec Corp Buffer memory circuit
JP2007323164A (en) * 2006-05-30 2007-12-13 Fujitsu Ltd Reconfigurable integrated circuit device for automatically constructing initialization circuit
US20080320204A1 (en) * 2007-06-22 2008-12-25 Samsung Electro-Mechanics Co., Ltd. Memory system and method with flash memory device
JP2009003939A (en) * 2007-06-22 2009-01-08 Samsung Electronics Co Ltd Memory system with flash memory device
WO2010016300A1 (en) * 2008-08-05 2010-02-11 日本電気株式会社 Semiconductor verifying device, method, and program
JP2010049556A (en) * 2008-08-22 2010-03-04 Mitsubishi Electric Corp Image processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019020846A (en) * 2017-07-12 2019-02-07 キヤノン株式会社 Information processing device, control method thereof, and program

Similar Documents

Publication Publication Date Title
US10372531B2 (en) Error-correcting code memory
Carmichael et al. Correcting single-event upsets through Virtex partial configuration
US20160266964A1 (en) Programmable logic circuit device and error detection method therefor
JP2005242797A (en) Error correction circuit
EP2770507B1 (en) Memory circuits, method for accessing a memory and method for repairing a memory
JP2010003355A (en) Semiconductor device
JP2011028478A (en) Error correction circuit and error correction method
JP2014016892A (en) Semiconductor memory device and method of controlling the same
US10559351B2 (en) Methods and apparatus for reduced area control register circuit
JP5176646B2 (en) Error correction function confirmation circuit, error correction function confirmation method, computer program thereof, and storage device
JP7379932B2 (en) Control device, user program execution control method, and system program
JP4174665B2 (en) Information processing apparatus and memory check method
JP5652720B2 (en) FPGA system and electronic device
JP2010140167A (en) Semiconductor integrated circuit
US7181650B2 (en) Fault tolerant data storage circuit
TWI652688B (en) Dynamic random access memory and its operation method
US11630600B2 (en) Device and method for checking register data
JP6130735B2 (en) Microcontroller and error detection method
TWI723515B (en) Memory apparatus and data accessing method thereof
JP6618505B2 (en) Configuration data setting device
JP2004062389A (en) Circuit for detecting abnormal operation of memory, integrated circuit, and method of detecting abnormal operation
JP2001101084A (en) Memory device with error detecting and correcting function and error detecting and correcting device
JP2015201813A (en) Field programmable gate array
JP5344634B2 (en) Semiconductor memory device and control method thereof
JP2013143733A (en) Programmable apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160517

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161115