JP2009031974A - Semiconductor integrated circuit - Google Patents
Semiconductor integrated circuit Download PDFInfo
- Publication number
- JP2009031974A JP2009031974A JP2007194420A JP2007194420A JP2009031974A JP 2009031974 A JP2009031974 A JP 2009031974A JP 2007194420 A JP2007194420 A JP 2007194420A JP 2007194420 A JP2007194420 A JP 2007194420A JP 2009031974 A JP2009031974 A JP 2009031974A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- instruction
- read
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、メモリーインタフェースを介してメモリーを利用する半導体集積回路に関し、特に、メモリーが異常状態になったことを検出し、もしくはさらに、異常状態になったメモリーを初期化するメモリー監視回路を備えた半導体集積回路に関する。 The present invention relates to a semiconductor integrated circuit that uses a memory via a memory interface, and in particular, includes a memory monitoring circuit that detects that a memory is in an abnormal state, or further initializes the memory in an abnormal state. The present invention relates to a semiconductor integrated circuit.
さまざまな目的のためにデータ処理を行う半導体集積回路において、処理すべきデータを一時的に記憶するために、メモリーが必要になる場合が多い。特に、画像データ等の大量のデータを処理するためには、大きな記憶量を有するメモリーが必要である。メモリーは、メモリーを利用してデータ処理を行う回路と同一の半導体集積回路チップ上に設けることが好ましい場合もある。しかし、大容量のメモリーが必要な場合には、別チップのメモリーと組み合わせて、データ処理回路を構成する方が好ましい場合も多い。そこで、顧客のニーズに応じたASIC(特定用途向け半導体集積回路)を提供するASICベンダーでは、メモリーチップを制御するメモリーコントローラを、設計資産として提供することが一般的である。 In a semiconductor integrated circuit that performs data processing for various purposes, a memory is often required to temporarily store data to be processed. In particular, in order to process a large amount of data such as image data, a memory having a large storage capacity is required. In some cases, the memory is preferably provided on the same semiconductor integrated circuit chip as a circuit that performs data processing using the memory. However, when a large-capacity memory is required, it is often preferable to configure a data processing circuit in combination with a memory of another chip. Therefore, an ASIC vendor that provides an ASIC (application-specific semiconductor integrated circuit) according to customer needs generally provides a memory controller that controls a memory chip as a design asset.
メモリーを利用してデータ処理を行う半導体集積回路の場合、メモリーを同一チップ上に設ける場合でも、別チップのメモリーを利用する場合でも、メモリーの動作に異常があると正常な処理ができなくなる。そこで、メモリーの異常を検知するために、メモリーの特定のアドレスに書き込んだデータと、同一のアドレスから読み出したデータとを比較する方法が従来から知られている。 In the case of a semiconductor integrated circuit that performs data processing using a memory, even when the memory is provided on the same chip or when a memory of another chip is used, normal processing cannot be performed if the memory operation is abnormal. Therefore, in order to detect an abnormality in the memory, a method of comparing data written to a specific address in the memory with data read from the same address is conventionally known.
例えば、特許文献1には、ブランキング期間は画像記録用のメモリーの書き込み/読み出しが中断されていることを利用し、その期間に、診断対象領域に記憶されたデータを退避した上で、メモリーにテストデータを書き込み、読み出して元のテストデータと比較することで、正常/異常判断を行うことが提案されている。
For example,
特許文献2には、メモリーに書き込まれるデータを保持するデータラッチ回路と、メモリーへの書き込みが終了した時点でリード制御信号を生成するリードパルス生成回路とを設け、リード制御信号の生成によってメモリーから格納されているデータを出力させ、比較回路でデータラッチ回路からのデータと比較し、一致しないときはエラー信号を出力することが提案されている。
特許文献1の技術では、ブランキング期間であることを検出するととともに、さまざまな操作を制御する回路、もしくは、ソフトウエアが必要である。特許文献1の実施例では、ブランキング期間検出回路およびその他の回路と、メモリー診断プログラムがロードされたCPUとが、メモリー診断の制御を行う。しかし、データ処理用の半導体集積回路の設計を行う設計者に対して、本来のデータ処理ではないメモリーの異常検知を行うための回路やソフトウエアの設計を要求することは困難である。特に、顧客に設計を依頼するASICの場合にはきわめて困難である。従って、設計者が意識すること無く、メモリーの異常検知を行い、さらに好ましくは、対策を行うことが望まれる。特許文献1の技術ではこのような課題には対応できない。
The technique of
特許文献2の技術では、データラッチ回路、リードパルス発生回路等によって、CPU等による制御を必要とすることなく、メモリーの異常を検知することができる。しかしながら、メモリーへの書き込みが行われるたびにエラー検知のための読み出しが行われる。このため、本来のデータ処理の目的以外でメモリーが利用される期間が長くなり、データ処理の効率が低下するという問題がある。 In the technique of Patent Document 2, a memory abnormality can be detected by a data latch circuit, a read pulse generation circuit, or the like without requiring control by a CPU or the like. However, every time writing to the memory is performed, reading for error detection is performed. For this reason, there is a problem that the period of time during which the memory is used for purposes other than the purpose of the original data processing becomes longer, and the efficiency of data processing decreases.
本発明は、処理効率を低下させることなく、かつ、設計者が意識することなく、メモリーの異常を検知する、もしくはさらに、異常に対する対策を行うことが可能な技術を提供することを課題とする。
It is an object of the present invention to provide a technology capable of detecting a memory abnormality or taking a countermeasure against the abnormality without lowering the processing efficiency and without the designer being aware of it. .
上記の課題を解決するため、本発明の第1の半導体集積回路は、メモリーインタフェースからメモリーに送られる命令を監視する命令監視部と、
前記命令監視部が、前記メモリーの特定のアドレスへの書き込みを指示する命令を検知したときに、該特定のアドレスに書き込むために前記メモリーインタフェースから前記メモリーに送られるデータを保持するとともに、フラグをセットする書込データ保持部と、
前記のフラグがセットされ、かつ、前記命令監視部が、前記メモリーの前記特定のアドレスからの読み出しを指示する命令を検知したときに、該特定のアドレスから読み出されて前記メモリーインタフェースに送られるデータを保持する読出データ保持部と、
前記読出データ保持部がデータを保持したときに、前記書込データ保持部が保持したデータと前記読出データ保持部が保持したデータとを比較し、不一致を検出するデータ比較部とからなるメモリー監視回路を備えたことを特徴とする。
In order to solve the above problem, a first semiconductor integrated circuit according to the present invention includes an instruction monitoring unit that monitors an instruction sent from a memory interface to a memory;
When the instruction monitoring unit detects an instruction to write to a specific address in the memory, the instruction monitoring unit holds data sent from the memory interface to the memory to write to the specific address, and sets a flag. Write data holding unit to be set;
When the flag is set and the instruction monitoring unit detects an instruction to read from the specific address of the memory, the instruction is read from the specific address and sent to the memory interface. A read data holding unit for holding data;
Memory monitoring comprising a data comparison unit for comparing the data held by the write data holding unit with the data held by the read data holding unit and detecting a mismatch when the read data holding unit holds data A circuit is provided.
ここで、前記データ比較部が、前記不一致を検出したときに、前記メモリーインタフェースに対して、前記メモリーの初期化を要求する状態通知信号を出力することが好ましい。 Here, it is preferable that when the data comparison unit detects the mismatch, the data comparison unit outputs a status notification signal requesting initialization of the memory to the memory interface.
さらに、前記データ比較部が、所定回数だけ連続して不一致を検出したときに、前記状態通知信号を出力することがより好ましい。 Furthermore, it is more preferable that the state comparison signal is output when the data comparison unit detects a mismatch continuously a predetermined number of times.
上記の課題を解決するため、本発明の第2の半導体集積回路は、ユーザーロジック部とメモリーインタフェースとを備え、該ユーザーロジック部に含まれる回路がメモリーインタフェースを介して外部に接続されるメモリーへのデータ書き込み、および、該メモリーからのデータの読み出しを行う半導体集積回路において、
前記メモリーインタフェースから前記メモリーに送られる命令を監視する命令監視部と、
前記命令監視部が、前記メモリーの特定のアドレスへの書き込みを指示する命令を検知したときに、該所定のアドレスに書き込むために前記メモリーインタフェースから前記メモリーに送られるデータを保持するとともに、フラグをセットする書込データ保持部と、
前記のフラグがセットされ、かつ、前記命令監視部が、前記メモリーの前記特定のアドレスからの読み出しを指示する命令を検知したときに、該所定のアドレスから読み出されて前記メモリーインタフェースに送られるデータを保持する読出データ保持部と、
前記読出データ保持部がデータを保持したときに、前記書込データ保持部が保持したデータと前記読出データ保持部が保持したデータとを比較し、不一致を検出するデータ比較部とからなるメモリー監視回路を備えたことを特徴とする。
In order to solve the above problem, a second semiconductor integrated circuit according to the present invention includes a user logic unit and a memory interface, and a circuit included in the user logic unit is connected to the outside via the memory interface. In a semiconductor integrated circuit that writes data and reads data from the memory,
A command monitoring unit that monitors commands sent from the memory interface to the memory;
When the instruction monitoring unit detects an instruction to write to a specific address of the memory, the instruction monitoring unit holds data sent from the memory interface to the memory to write to the predetermined address, and sets a flag. Write data holding unit to be set;
When the flag is set and the instruction monitoring unit detects an instruction to instruct reading from the specific address of the memory, the instruction is read from the predetermined address and sent to the memory interface. A read data holding unit for holding data;
Memory monitoring comprising a data comparison unit for comparing the data held by the write data holding unit with the data held by the read data holding unit and detecting a mismatch when the read data holding unit holds data A circuit is provided.
ここで、前記ユーザーロジック部に含まれる回路が顧客が設計した回路であり、かつ、前記メモリーインタフェースおよびメモリー監視回路がASIC製造者がマクロセルとして用意したものであることが好ましい。 Here, it is preferable that the circuit included in the user logic unit is a circuit designed by a customer, and the memory interface and the memory monitoring circuit are prepared as a macro cell by an ASIC manufacturer.
本発明の半導体集積回路では、メモリー監視回路が、メモリーインタフェースからメモリーに送られる命令を監視することにより、他の回路やソフトウエアによる制御を必要とすることなくメモリーの状態を監視することができる。従って、設計者が意識することなくメモリーの状態を監視し、異常状態になった場合に検知することが可能になる。また、メモリー監視回路が、特定のアドレスへの書き込みと、その後の同一アドレスからの読み出しを検知して、書込データおよび読出データを保持し、その間の比較を行うので、メモリーが、データ処理のために本来必要な書き込み、読み出し動作を行うことのみによって、状態の監視を行うことができる。従って、処理効率が低下することはない。 In the semiconductor integrated circuit of the present invention, the memory monitoring circuit can monitor the state of the memory without the need for control by other circuits or software by monitoring instructions sent from the memory interface to the memory. . Therefore, it is possible to monitor the state of the memory without being aware of the designer and detect when an abnormal state occurs. In addition, the memory monitoring circuit detects writing to a specific address and subsequent reading from the same address, holds write data and read data, and performs comparison between them. Therefore, it is possible to monitor the state only by performing the write and read operations that are originally necessary. Therefore, the processing efficiency does not decrease.
図1は、本発明の半導体集積回路の第1の実施形態の一例を示す回路図である。 FIG. 1 is a circuit diagram showing an example of a first embodiment of a semiconductor integrated circuit according to the present invention.
図1の半導体集積回路10は、別チップとして設けたメモリー(SDRAM)50を利用して論理演算処理を行う各種の回路が設けられたユーザーロジック部20と、メモリー50の制御を行うとともにユーザーロジック部20とメモリー50との間のデータのやりとりを制御するメモリーインタフェース30とを含む。
The semiconductor integrated
メモリーインタフェース30とメモリー50との間は、データ配線32と命令配線34とによって接続されている。データ配線32は、ユーザーロジック部20の回路が、メモリー50に書き込むべきデータ(書込データW_DATA)を、メモリーインタフェース30を介してメモリー50に送信するとともに、メモリー50から読み出したデータ(読出データR_DATA)を、メモリーインタフェース30を介して受信するための配線である。データ配線32は、半導体集積回路10内では、書込データ配線32Bと読出データ配線32Cとに分かれている。これらの半導体集積回路10内のデータ配線は、それぞれ出力バッファおよび入力バッファを介して、半導体集積回路10とメモリー50との間の共通のデータ配線32Aと接続されている。
The
命令配線34は、ユーザーロジック部20の回路が、メモリーを制御するための各種の命令COMを、メモリーインタフェース30を介してメモリー50に送るための配線である。例えば、書き込みや読み出し等の命令や、メモリー50の初期化のために必要な各種の命令が、命令配線34を通じてメモリー50に送られる。また、データを書き込む、もしくは、データを読み出すアドレスを指定するアドレス信号ADDRも、命令配線を通じてメモリー50に送られる。データ配線34は、半導体集積回路10内のデータ配線34Bと、半導体集積回路10とメモリー50とのデータ配線32Aとに別れ、これらは出力バッファを介して接続されている。
The
なお、これらのデータ配線32、命令配線34、およびそれ以外の、二重線で示された配線は、それぞれのデータ、アドレス、および命令を送るために必要なビット幅を有するものである。
Note that the
半導体装置集積回路10とメモリー50との間には、また、クロック信号CLKをメモリー50に供給するクロック配線22が設けられている。クロック配線22は、半導体集積回路10内のクロック配線22Bと、半導体集積回路10とメモリー50とのクロック配線22Aとに別れ、これらは出力バッファを介して接続されている。クロック信号CLKは、メモリーインタフェース30にも供給される。
Between the semiconductor device integrated
半導体集積回路10のユーザーロジック部20に設けた各種の回路は、別チップとして設けたメモリー50に、メモリーインタフェース30を介して各種の命令およびアドレス信号を送り、データの送受信を行う。これによって、メモリー50を利用した各種のデータ処理を行うことができる。しかし、図1に示した構成では、例えば、半導体集積回路10とメモリー50との間のクロック配線22A(通常は、配線基板上に設けられる)の長さや形状の影響によって、メモリー50が受け取るクロック信号CLKのタイミングを厳密に制御することが困難である。このため、特に、クロック信号CLKに同期してデータの書き込みおよび読み出しを行う同期型メモリーをメモリー50として利用した場合、データの書き込みもしくは読み出しを行おうとした時に動作異常が発生し、その後のデータ書き込み、読み出しが行えない異常状態(スタック状態)になることがある。
Various circuits provided in the
また、突発的なノイズによって異常状態になることもある。 Moreover, an abnormal state may be caused by sudden noise.
そこで、メモリー50の状態を監視し、このような異常状態になったことを検出するために、半導体集積回路10は、さらに、命令監視部42、書込データ保持部44、読出データ保持部46、データ比較部48からなるメモリー監視回路40を含む。これらメモリー監視回路40の各部は、それぞれ、クロック信号CLKの供給を受け、クロック信号CLKに同期して動作する。
Therefore, in order to monitor the state of the
命令監視部42は、命令配線34Bに接続されており、メモリーインタフェース30からメモリー50に送られる命令COMおよびアドレス信号ADDRを監視する。そして、メモリー50に送られる命令が書き込み命令であり、かつ、対象アドレスが特定のアドレスであることを検知すると、書込データ保持部44に書込データ保持命令W_COMを送る。命令監視部42は、また、メモリー50に送られる命令が読出命令であり、かつ、対象アドレスが特定のアドレスであることを検知すると、読出データ保持部46に読出データ保持命令R_COMを送る。
The
書込データ保持部44は、書込データ配線32Bに接続されており、命令監視部42からの命令W_COMを受けたときに、メモリー50に送られる書込データを保持する。ここで、アドレス信号と書込データとは、メモリー50の仕様によって決まる特定のタイミング関係を持って、メモリー50に送られる。命令監視部42は、この特定のタイミング関係を考慮することにより、特定のアドレスに書き込まれるためにメモリー50に送られるデータを保持することができるタイミングで、書込データ保持部44に保持命令W_COMを送る。
The write
また、書込データ保持部44は、図示しない書込データ保持フラグを有しており、書込データの保持が行われたときに書込フラグを設定する。書込フラグの値FLGは、読出データ保持部46から読み出し可能である。
The write
読出データ保持部46は、読出データ配線32Cに接続されている。そして、書込データ保持部44の保持フラグが設定された状態で、命令監視部42からの保持命令R_COMを受けたときに、メモリー50から読み出されてメモリーインタフェース30に送られる読出データを保持する。この時にも、命令監視部42は、特定のアドレスから読み出されたデータを保持することができるタイミングで、読出データ保持部46に保持命令R_COMを送る。読出データ保持部46は、読出データの保持が行われたときには、書込データ保持部44およびデータ比較部48に、読出データ保持通知信号R_REGを出力する。保持通知信号R_REGが入力されると、書込データ保持部44は、データ保持フラグを初期化する。
The read
データ比較部48は、保持通知信号R_REGが入力されると、書込データ保持部44に保持された書込データと、読出データ保持部46に保持された読出データとを読み出し、両者を比較する。そして、比較結果に応じて、メモリー状態通知信号STAを出力する。ここで、読出データ保持部46に保持された読出データは、書込データ保持部44に保持された書込データが書き込まれた特定のアドレスから読み出されたデータである。従って、メモリー50が正常な状態である場合には両者が一致する。逆に、両者が異なっていた場合には、メモリー50の状態が異常であると判断できる。
When the holding notification signal R_REG is input, the
図1に示す半導体集積回路10に設けられたメモリー監視回路40では、ユーザーロジック部20に設けられた各種の回路がメモリー50を利用するときに命令配線34を通じて送られる命令COMおよびアドレス信号ADDRを命令監視部42が監視する。そして、命令監視部42が特定の命令およびアドレスを検出したときに、書込データ保持部44および読出データ保持部46に保持命令W_COM、R_COMを送る。そして、命令監視部42からの命令を受けた書込データ保持部44および読出データ保持部46が、ユーザーロジック部20に設けられた各種の回路がメモリー50を利用するときに書込データ配線32Bを通じて送る書込データW_DATAおよび読出データ配線32Cを通じて受け取る読出データR_DATAを保持する。そして、書込データ保持部44および読出データ保持部46に保持されたデータをデータ比較部48が比較することによって、メモリー50の動作異常を検知する。
In the
このように、メモリー監視回路40は、ユーザーロジック部20からの指示を必要とすることなくメモリー50の状態を監視することができる。従って、ユーザーロジック部20の設計を行う設計者が意識することなくメモリー50の監視を行うことができる。また、メモリー監視回路40は、ユーザーロジック部20の回路がメモリー50を利用するために送られる命令、アドレス、およびデータを、監視もしくは保持するのみであり、メモリー50を監視するためにメモリー50を利用することはない。従って、ユーザーロジック部20の回路がメモリー50を利用して行うデータ処理の効率が低下することもない。
As described above, the
データ比較部48では、書込データと読出データとの不一致が検出されたときに、直ちに、メモリーの異常を示す状態通知信号STAを出力することも可能である。もしくは、データ比較部48内に図示しないカウンタを設け、累積の不一致検出回数が所定回数に達したときに状態通知信号STAを出力することも可能である。出力された状態通知信号STAは、ANDゲート36を介してメモリーインタフェース30のリセット端子に供給される。そして、メモリーインタフェース30から、メモリー50を初期化するための命令がメモリー50に供給され、メモリー50が初期化される。これによって、メモリー50の異常状態(スタック状態)が解消され、再び、データの書き込み、読み出しを行うことが可能になる。
The
この時、半導体集積回路10のユーザーロジック部20の初期化を行うことなく、メモリー50のみの初期化が行われる。従って、半導体集積回路10のユーザーロジック部20に設けられた各種の回路による、メモリー50を利用したデータ処理を、メモリー50初期化の終了後、直ちに再開することができる。また、メモリー50の初期化を行う以前にユーザーロジック部20の回路で行われていた中間処理結果が失われることもない。
At this time, only the
例えば、メモリーインタフェース30をASIC製造者がマクロセルとして用意し、顧客が、このメモリーインタフェース30を介してメモリー50を利用するユーザーロジック部20の回路を設計した、ASIC製品として半導体集積回路10を構成することが可能である。そして、ASIC製造者は、メモリーインタフェース30と組み合わせて利用するメモリー監視回路40を、マクロ(ソフトマクロ)セルとして用意しておき、ユーザーロジック部20の設計データを顧客から受け取った段階で、メモリーインタフェース30およびメモリー監視回路40を組み合わせて半導体集積回路10を構成することができる。この場合、顧客は、メモリー監視回路40の存在さえ、意識する必要がない。
For example, the ASIC manufacturer prepares the
図2は、図1に示す半導体集積回路10の動作の概要を示すフロー図である。
FIG. 2 is a flowchart showing an outline of the operation of the semiconductor integrated
まず、ステップS110において電源投入が行われる。そして、ステップS112においてユーザーロジック部20、メモリーインタフェース30、およびメモリー監視回路40の初期化が行わる。具体的には、メモリー監視回路40においては、書込データ保持部44の図示しないデータ保持フラグの値を“0”に、データ比較部48の図示しないカウンタのカウント値Countを“0”にする。さらに、ステップS114において、メモリー50の初期化が行われる。すなわち、ユーザーロジック部20がメモリーインタフェース30にリセット信号RSTを送り、メモリーインタフェース30がメモリー50に、メモリー50の初期化のために必要な命令を送る。
First, power is turned on in step S110. In step S112, the
初期化の終了後、半導体集積回路10のユーザーロジック部20に設けられたさまざまな回路は、通常の動作を行う。この動作において、メモリー50へのデータ書き込みが必要になったときには、メモリーインタフェース30および命令配線34を通じて、メモリー50に、書込命令、および、書込対象のアドレスを示すアドレス信号を送る。また、メモリーインタフェース30およびデータ配線32B、32Aを通じて、メモリー50に、書き込むべきデータを送る。同様に、メモリー50に書き込んだデータの読み出しが必要になった場合には、メモリーインタフェース30および命令配線34を通じて、メモリー50に、読出命令、および、読出対象のアドレスを示すアドレス信号を送る。そして、メモリーから読み出されたデータを、データ配線32A、32C、および、メモリーインタフェース30を介して受け取る。
After the initialization is completed, various circuits provided in the
このような動作をユーザーロジック部20の回路が行っている期間に、メモリー監視回路40が、メモリー50の状態の監視を行う。すなわち、ステップS120において、命令監視部42が、メモリー50に送られる命令およびアドレス信号の監視を行う。そして、ステップS122で、特定のアドレスへのデータ書き込み命令が検出されると、書込データ保持部44にデータ保持命令が送られる。これにより、ステップS124で、特定のアドレスへの書き込みのためにメモリー50に送られるデータが、書込データ保持部44に保持される。また、書込データ保持部44内の図示しない保持フラグが“1”にセットされる。その後、ステップS120に戻って、命令およびアドレス信号の監視が継続される。
The
一方、ステップS130で、特定のアドレスからのデータ読み出し命令が検出されると、読出データ保持部46に、読出データ保持命令が送られる。この場合には、ステップ132において、書込データ保持部44の保持フラグの値FLGの確認が行われる。保持フラグがセットされていない(FLG=0)場合は、ステップS120に戻り、監視が継続される。一方、保持フラグがセットされている(FLG=1)場合には、ステップS134で、メモリー50の特定のアドレスから読み出されてメモリーインタフェース30に送られるデータが、読出データ保持部46に保持される。また、読出データ保持部46から書込データ保持部44に、保持通知信号が送られ、保持フラグが“0”に初期化される。
On the other hand, when a data read command from a specific address is detected in
保持通知信号は、また、読出データ保持部46からデータ比較部48にも送られる。そして、ステップS140で、データ比較部48において、書込データ保持部44に保持された書込データと読出データ保持部46に保持された読出データとの比較が行われる。比較によって両データの一致が検出された場合には、ステップS142で、データ比較部48のカウンタのカウント値Countが“0”に初期化され、ステップS120に戻って、命令監視部42による監視が継続される。データの不一致が検出された場合には、ステップS144でカウント値Countに1を追加し、ステップS146で、カウント値Countの確認が行われる。カウント値Countが所定の値(N)に達していない場合には、ステップS120に戻り、メモリー50の監視が継続される。一方、カウント値が所定の値に達したことが検出された場合には、ステップS148でカウント値Countが“0”に初期化され、データ比較部48から異常状態を示す状態通知信号STAが出力される。
The holding notification signal is also sent from the read
状態通知信号STAが、ANDゲート36を介してメモリーインタフェース30に入力されると、ステップS114で、メモリー50の初期化が行われる。その後、ユーザーロジック部20によるメモリー50を利用したデータ処理が再開されると、再び、メモリー監視回路40によるメモリー50の状態の監視が継続される。
When the status notification signal STA is input to the
図3には、メモリーインタフェース30およびメモリー監視回路40を含む半導体集積回路10Aを含む機器100の実施形態の一例を示す。
FIG. 3 shows an example of an embodiment of the
図3に示す機器100は、半導体集積回路10Aに入力される動画像データMP_DATAに基づいて、表示装置70への表示を行う表示装置である。半導体集積回路10Aは、入力された動画像データMP_DATAに、所定の処理を行って生成した表示データDSP_DATAを表示装置70に出力する。半導体集積回路10Aのユーザーロジック部20Aには、動画像データに対して所定の処理を行うデータ処理回路が形成されている。処理回路は、動画像データの1フレーム分の画像データを、メモリーインタフェース30を介して接続されたメモリー50に記憶する。そして、この記憶された1フレーム分のデータを再び読み出しながら、例えば、輝度調整やオーバードライブ等の処理を行い、表示データDSP_DATAを生成する。
A
図3に示す機器100において、メモリー50は、1フレーム分の画像データを記憶するためのフレームメモリーとして利用される。この場合、それぞれのフレーム期間毎に、所定の範囲内のアドレスへのデータの書き込みと読み出しが行われる。従って、メモリー監視回路40によって監視する特定のアドレスを、この所定の範囲内に設定しておけば、それぞれのフレーム期間毎に、書込データと読出データとの比較を行うことができる。これ以外の用途でメモリー50を利用する場合であっても、頻繁に書き込み、読み出しが行われるアドレスを、監視対象の特定アドレスとして設定することが好ましい。
In the
本発明の半導体集積回路10の開発中に、監視対象の特定アドレスを決定することが可能である場合には、開発時に設定を行う。例えば、ASIC製品として半導体集積回路10を構成する場合には、ASIC製造者が、顧客が設計したユーザーロジック部20に、メモリーインタフェース30およびメモリー監視回路40を組み合わせるときに、メモリー監視回路40の設定を行う。このためには、監視対象の特定アドレスの設定が可能なマクロとして、メモリー監視回路40を用意する。一方、開発段階において特定のアドレスを決定することが困難な場合には、命令監視部42(図1参照)内に図示しないアドレス設定保持部を用意しておき、半導体対集積回路10の製造後に設定を行うことも可能である。
If the specific address to be monitored can be determined during the development of the semiconductor integrated
メモリー50に書き込む(読み出す)個々のアドレスをアドレス信号で指定するのではなく、先頭アドレスのみを指定して、先頭アドレスおよびそれに続くバースト長の範囲のアドレスに書き込む(読み出す)、バースト書き込み(読み出し)が行われる場合もある。この場合、命令監視部42は、書込命令もしくは読出命令とともに、バースト長を考慮して、特定アドレスへの書き込み(読み出し)が行われる先頭アドレスを示すアドレス信号を検知したときに、保持命令を出力する。この時、例えば命令監視部42内にクロック信号CLKをカウントする図示しないカウンタを設け、特定のアドレスに書き込む(読み出した)データが送られるタイミングで、書込データ保持部44もしくは読出データ保持部46に保持命令を送る。
Rather than designating each address to be written (read) to the
書込データ保持部44および読出データ保持部46は、例えば、同時に書き込み、読み出しが行われる1ワード分のビット数のデータを保持するものである。図2のステップS140において、例えば、書込データ保持部44と読出データ保持部46に保持された複数ビットのデータとの間に、1ビット以上の不一致があれば、「不一致」と判断することができる。もしくは、1ビットの不一致だけで「不一致」と判断せず、2ビットもしくはそれ以上の所定のビット数以上の不一致があったときに「不一致」と判断することも可能である。
The write
以上、本発明の実施形態について詳細に説明した。本発明が上記の具体例には限定されず、さまざまな変形、改良が可能であることは言うまでもない。 The embodiment of the present invention has been described in detail above. It goes without saying that the present invention is not limited to the specific examples described above, and various modifications and improvements are possible.
前述のように、メモリー50を半導体集積回路10と別チップとして設け、その間をチップ間の配線で接続した場合に、メモリー50が異常状態になる場合が多く、本発明の有用性が高い。特に、それぞれの別のパッケージに格納した半導体集積回路10とメモリー50とを、配線基板に実装し、その間を配線基板の配線で接続した場合には、メモリー50が異常状態になる可能性が高く、本発明の有用性が高い。しかし、半導体集積回路10とメモリー50とを、同一のパッケージ内に格納した場合であってもメモリー50が異常状態になることはあり、本発明は有用である。さらに、半導体集積回路10を、メモリー50を含むチップとして構成した場合であっても、特に、メモリー50の容量およびチップ寸法が大きくなり、メモリーインタフェース30とメモリー50との間を接続する配線の長さが増大した場合には、動作中に、メモリー50が異常状態になる可能性はある。このような場合にも、本発明は有用である。
As described above, when the
10 半導体集積回路
20 ユーザーロジック部
30 メモリーインタフェース
40 メモリー監視回路
50 メモリー
70 表示装置
DESCRIPTION OF
Claims (6)
前記命令監視部が、前記メモリーの特定のアドレスへの書き込みを指示する命令を検知したときに、該特定のアドレスに書き込むために前記メモリーインタフェースから前記メモリーに送られるデータを保持するとともに、フラグをセットする書込データ保持部と、
前記のフラグがセットされ、かつ、前記命令監視部が、前記メモリーの前記特定のアドレスからの読み出しを指示する命令を検知したときに、該特定のアドレスから読み出されて前記メモリーインタフェースに送られるデータを保持する読出データ保持部と、
前記読出データ保持部がデータを保持したときに、前記書込データ保持部が保持したデータと前記読出データ保持部が保持したデータとを比較し、不一致を検出するデータ比較部とからなるメモリー監視回路を備えたことを特徴とする半導体集積回路。 A command monitoring unit that monitors commands sent from the memory interface to the memory;
When the instruction monitoring unit detects an instruction to write to a specific address in the memory, the instruction monitoring unit holds data sent from the memory interface to the memory to write to the specific address, and sets a flag. Write data holding unit to be set;
When the flag is set and the instruction monitoring unit detects an instruction to read from the specific address of the memory, the instruction is read from the specific address and sent to the memory interface. A read data holding unit for holding data;
Memory monitoring comprising a data comparison unit for comparing the data held by the write data holding unit with the data held by the read data holding unit and detecting a mismatch when the read data holding unit holds data A semiconductor integrated circuit comprising a circuit.
前記メモリーインタフェースから前記メモリーに送られる命令を監視する命令監視部と、
前記命令監視部が、前記メモリーの特定のアドレスへの書き込みを指示する命令を検知したときに、該所定のアドレスに書き込むために前記メモリーインタフェースから前記メモリーに送られるデータを保持するとともに、フラグをセットする書込データ保持部と、
前記のフラグがセットされ、かつ、前記命令監視部が、前記メモリーの前記特定のアドレスからの読み出しを指示する命令を検知したときに、該所定のアドレスから読み出されて前記メモリーインタフェースに送られるデータを保持する読出データ保持部と、
前記読出データ保持部がデータを保持したときに、前記書込データ保持部が保持したデータと前記読出データ保持部が保持したデータとを比較し、不一致を検出するデータ比較部とからなるメモリー監視回路を備えたことを特徴とする半導体集積回路。 In a semiconductor integrated circuit comprising a user logic unit and a memory interface, and a circuit included in the user logic unit writes data to a memory connected to the outside via the memory interface, and reads data from the memory ,
A command monitoring unit that monitors commands sent from the memory interface to the memory;
When the instruction monitoring unit detects an instruction to write to a specific address of the memory, the instruction monitoring unit holds data sent from the memory interface to the memory to write to the predetermined address, and sets a flag. Write data holding unit to be set;
When the flag is set and the instruction monitoring unit detects an instruction to instruct reading from the specific address of the memory, the instruction is read from the predetermined address and sent to the memory interface. A read data holding unit for holding data;
Memory monitoring comprising a data comparison unit for comparing the data held by the write data holding unit with the data held by the read data holding unit and detecting a mismatch when the read data holding unit holds data A semiconductor integrated circuit comprising a circuit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007194420A JP2009031974A (en) | 2007-07-26 | 2007-07-26 | Semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007194420A JP2009031974A (en) | 2007-07-26 | 2007-07-26 | Semiconductor integrated circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009031974A true JP2009031974A (en) | 2009-02-12 |
Family
ID=40402419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007194420A Withdrawn JP2009031974A (en) | 2007-07-26 | 2007-07-26 | Semiconductor integrated circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009031974A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011141790A (en) * | 2010-01-08 | 2011-07-21 | Seiko Epson Corp | Error detector, semiconductor device including error detector, information processing apparatus using semiconductor device including error detector, and error detection method |
-
2007
- 2007-07-26 JP JP2007194420A patent/JP2009031974A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011141790A (en) * | 2010-01-08 | 2011-07-21 | Seiko Epson Corp | Error detector, semiconductor device including error detector, information processing apparatus using semiconductor device including error detector, and error detection method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI724254B (en) | Semiconductor apparatus, memory module and operation method thereof | |
US10824499B2 (en) | Memory system architectures using a separate system control path or channel for processing error information | |
US7484141B2 (en) | Semiconductor device capable of performing test at actual operating frequency | |
US20060069948A1 (en) | Error detecting memory module and method | |
CN101171524A (en) | Memory device and method having a data bypass path to allow rapid testing and calibration | |
TWI701661B (en) | Method and computer program product for verifying memory interface | |
US20150067201A1 (en) | Semiconductor device and method of operating the same | |
US8064283B2 (en) | Semiconductor memory apparatus and a method for reading data stored therein | |
US7558932B2 (en) | Semiconductor memory device and method for operating the same | |
US10976368B2 (en) | Memory apparatus relating to determination of a failed region and test method thereof, memory module and system using the same | |
US7007181B2 (en) | Microcontroller | |
JP2009031974A (en) | Semiconductor integrated circuit | |
US8713247B2 (en) | Data transfer operation completion detection circuit and semiconductor memory device provided therewith | |
JP2008192264A (en) | Semiconductor memory device | |
JP2011248952A (en) | Flash memory with test mode and connection test method for the same | |
KR100772724B1 (en) | Semiconductor memory device | |
JP6846225B2 (en) | Inspection circuits, semiconductor storage devices, semiconductor devices, and connection inspection methods | |
US7388797B2 (en) | Semiconductor memory device | |
JP2001118400A (en) | Memory logic compound semiconductor device | |
JP4985462B2 (en) | Integrated circuit, integrated circuit operation test method, and operation test program | |
JP4587000B2 (en) | Chip select circuit | |
TW594481B (en) | Semiconductor integrated circuit device | |
JP2007011632A (en) | Memory speed optimization method and program | |
JP2001093300A (en) | Synchronous memory device recording history of input signal | |
JP2005173896A (en) | Semiconductor integrated circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20101005 |