(57)【要約】【課題】動作速度が速く、誤動作が発生しない半導体装置を提供する。【解決手段】マイクロコンピュータのクロック発生回路２は、クロック信号φ７，φ８の立下りエッジに応答してクロック信号ＲＣＬＫを出力するフリップフロップ９と、相互排他素子回路６を通過したクロック信号ＲＣＬＫ（ＭＣＬＫ）を遅延させてクロック信号φ７を生成する遅延回路７と、データ信号のレプリカ経路を有し、クロック信号φ７を遅延させてクロック信号φ８を生成する遅延回路８とを含む。したがって、レプリカ経路の遅延時間が変動すると、それに応じてクロック信号ＲＣＬＫの周期も変動するので、誤動作の発生を防止できる。【選択図】図１
2014041678.tif 000002
【特許請求の範囲】
【請求項１】
データ信号を記憶するメモリセルと、
クロック信号を生成するクロック発生回路と、
前記クロック信号の前縁に応答して前記メモリセルを活性化させるデコーダと、
前記クロック信号の後縁に応答して、前記デコーダによって活性化された前記メモリセルからデータ信号を読み出すセンスアンプとを備え、
前記クロック発生回路は、
セット信号に応答して前記クロック信号の前記前縁を出力し、リセット信号に応答して前記クロック信号の前記後縁を出力するフリップフロップと、
前記クロック信号の前記後縁を第１の遅延時間だけ遅延させて前記セット信号を出力する第１の遅延回路と、
前記セット信号を第２の遅延時間だけ遅延させて前記リセット信号を出力する第２の遅延回路とを含み、
前記第２の遅延回路は、
レプリカデータ信号を記憶するレプリカメモリセルと、
前記セット信号に応答して前記レプリカメモリセルを活性化させるレプリカデコーダと、
前記レプリカメモリセルが活性化されたことに応じて前記リセット信号を出力する信号発生回路とを有する、半導体装置。
【請求項２】
前記第１の遅延回路は、直列接続された複数段のインバータを有し、
前記複数段のインバータのうちの初段のインバータは前記フリップフロップから主力された前記クロック信号の前記後縁を受け、最終段のインバータは前記セット信号を出力する、請求項１に記載の半導体装置。
【請求項３】
前記クロック発生回路は、さらに、前記フリップフロップと前記初段のインバータとの間に介挿され、前記半導体装置を活性化させる場合は前記クロック信号を通過させ、前記半導体装置を非活性化させる場合は前記クロック信号を遮断する相互排他素子回路を含む、請求項２に記載の半導体装置。
【請求項４】
さらに、前記クロック発生回路と前記センスアンプとの間に介挿され、読出停止信号が非活性化レベルである場合は前記クロック信号を通過させ、前記読出停止信号が活性化レベルである場合は前記クロック信号を遮断するゲート回路を備える、請求項１に記載の半導体装置。
【請求項５】
さらに、前記クロック信号に同期して動作し、前記メモリセルから読み出されたデータ信号を受ける中央処理装置を備える、請求項１に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置に関し、たとえば半導体メモリ回路と中央処理装置とを備えたマイクロコンピュータに好適に利用できるものである。
【背景技術】
【０００２】
従来より、クロック発生回路と、半導体メモリ回路と、ＣＰＵ（Central Processing Unit：中央処理装置）とを備えたマイクロコンピュータがある。クロック発生回路はクロック信号を生成し、半導体メモリ回路とＣＰＵはクロック信号に同期して動作する。
【０００３】
半導体メモリ回路は、複数のメモリセルと、デコーダと、センスアンプとを含む。各メモリセルは、データ信号を記憶する。デコーダは、クロック信号に同期して動作し、ＣＰＵからのアドレス信号に従って複数のメモリセルのうちのいずれかのメモリセルを活性化させる。センスアンプは、クロック信号に同期して動作し、活性化されたメモリセルからデータ信号を読み出す。メモリセルから読み出されたデータ信号はＣＰＵに与えられる。
【０００４】
また、非特許文献１には、相互排他素子回路と直列接続された複数のインバータとを含み、クロック信号の生成の開始および停止の制御が可能なクロック発生回路が開示されている。
【０００５】
また、非特許文献２では、読出データ信号の経路と略同じ遅延時間を有するレプリカ経路を用いてセンスアンプ活性化信号を生成する方法が開示されている。この方法では、読出データ信号がセンスアンプに到達するタイミングでセンスアンプを活性化させることができる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】非同期式回路の設計、共立出版、図９．１１
【非特許文献２】IEEE 2008 Custom Intergrated Circuits Conference (CICC) Variation-Tolerant SRAM Sense-Amplifier Timing Using Configurable Replica Bitlines
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献２において、動作温度、電源電圧、プロセスパラメータが変動すると、レプリカ経路の遅延時間が変動する。特に、電源電圧を低電圧化したとき、この傾向は顕著になる。
【０００８】
たとえば、半導体メモリ装置として非特許文献２の半導体メモリ回路を採用し、クロック信号の立ち上りエッジに応答してメモリセルを活性化させ、クロック信号の立ち上りエッジからレプリカ経路の遅延時間の経過後にセンスアンプを活性化させるものとする。この場合、電源電圧が低下してレプリカ経路の遅延時間が長くなり、クロック信号の周期を超えると、半導体メモリ回路において誤動作が生じる。また、そのような事態を防止するためにクロック信号の周期を大きくすると、マイクロコンピュータの動作速度（動作周波数）が低下する。
【０００９】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
一実施の形態によれば、レプリカ経路の遅延時間を用いてクロック信号の周期を設定する。
【発明の効果】
【００１１】
前記一実施の形態によれば、電源電圧が変動してレプリカ経路の遅延時間が変動しても、それに応じてクロック信号の周期が変動するので、動作速度を低下させることなく、誤動作の発生を防止することができる。
【図面の簡単な説明】
【００１２】
【図１】本願の一実施の形態によるマイクロコンピュータの構成を示す回路ブロック図である。
【図２】図１に示した相互排他素子回路の構成を示す回路図である。
【図３】図１に示したクロック発生回路の動作を示すタイムチャートである。
【図４】図１に示したＭＲＡＭの要部を示す回路ブロック図である。
【図５】図４に示したメモリセルの構成を示す回路図である。
【図６】図１〜図５に示したマイクロコンピュータの動作を示すタイムチャートである。
【図７】実施の形態の比較例を示す回路ブロック図である。
【図８】図７に示したマイクロコンピュータの問題点を説明するためのタイムチャートである。
【図９】図７に示したマイクロコンピュータの問題点を説明するための他のタイムチャートである。
【発明を実施するための形態】
【００１３】
本願の一実施の形態によるマイクロコンピュータは、図１に示すように、半導体基板１と、その表面に形成されたクロック発生回路２、ＣＰＵ３、ＭＲＡＭ（Magnetoresistive Random Access Memory）４、およびゲート回路５とを備える。
【００１４】
クロック発生回路２は、外部制御信号ＲＵＮが「Ｈ」レベルである場合は活性化され、クロック信号ＲＣＬＫを生成し、外部制御信号ＲＵＮが「Ｌ」レベルである場合は非活性化され、クロック信号ＲＣＬＫの生成を停止する。ＣＰＵ３およびＭＲＡＭ４は、クロック信号ＲＣＬＫに同期して動作する。
【００１５】
ＣＰＵ３は、書込動作時は、書込イネーブル信号ＷＥを活性化レベルの「Ｈ」レベルにし、アドレス信号Ａ０〜Ａ１４およびデータ信号Ｄ０〜Ｄ４７をＭＲＡＭ４に与える。ＭＲＡＭ４は、アドレス信号Ａ０〜Ａ１４によって指定された４８個のメモリセルにそれぞれデータ信号Ｄ０〜Ｄ４７を書込む。
【００１６】
また、ＣＰＵ３は、読出動作時は、読出イネーブル信号ＲＥおよび読出停止信号ＲＳＴをゲート回路５に出力するとともにアドレス信号Ａ０〜Ａ１４をＭＲＡＭ４に与える。ゲート回路５は、信号ＲＥと、信号ＲＳＴの反転信号との論理積信号ＲＳＥをＭＲＡＭ４に与える。信号ＲＥ，ＲＳＴがそれぞれ「Ｈ」レベルおよび「Ｌ」レベルである場合は、信号ＲＳＥが「Ｈ」レベルになる。ＭＲＡＭ４は、信号ＲＳＥが「Ｈ」レベルである場合は、アドレス信号Ａ０〜Ａ１４によって指定された４８個のメモリセルからデータ信号Ｑ０〜Ｑ４７を読み出してＣＰＵ３に与え、ビジー信号ＢＳＹを「Ｈ」レベルにする。
【００１７】
次に、クロック発生回路２についてより詳細に説明する。クロック発生回路２は、相互排他素子回路（ＭＥ）６、遅延回路７，８、およびフリップフロップ（ＦＦ）９を含む。相互排他素子回路６は、ＣＰＵ３およびＭＲＡＭ４と別個に設けられている。遅延回路７，８およびフリップフロップ９は、ＭＲＡＭ４内に設けられ、ＭＲＡＭ４用の電源電圧ＶＤＤによって駆動される。
【００１８】
相互排他素子回路６は、クロック信号ＲＣＬＫおよび外部制御信号ＲＵＮを受け、クロック信号ＭＣＬＫを出力する。相互排他素子回路６は、外部制御信号ＲＵＮが「Ｌ」レベルにされている場合は、クロック信号ＭＣＬＫを「Ｈ」レベルに固定する。また、相互排他素子回路６は、外部制御信号ＲＵＮが「Ｈ」レベルにされている場合は、クロック信号ＲＣＬＫをクロック信号ＭＣＬＫとして出力する。
【００１９】
遅延回路７は、直列接続された偶数個のインバータを含み、クロック信号ＭＣＬＫを所定時間Ｔｄ１だけ遅延させてクロック信号φ７（セット信号）を生成する。遅延回路８は、読出データ信号の経路と略等しい電気特性を有するレプリカ経路を含み、クロック信号φ７を所定時間Ｔｄ２だけ遅延させてクロック信号φ８（リセット信号）を生成する。レプリカ経路については、後で詳細に説明する。
【００２０】
フリップフロップ９は、クロック信号φ７の立下りエッジに応答してセットされ、クロック信号ＲＣＬＫを「Ｈ」レベルにする。また、フリップフロップ９は、クロック信号φ８の立下りエッジに応答してリセットされ、クロック信号ＲＣＬＫを「Ｌ」レベルにする。これにより、所定時間Ｔｄ１だけ「Ｌ」レベルになり、所定時間Ｔｄ２だけ「Ｈ」レベルになり、１周期がＴｄ１＋Ｔｄ２であるクロック信号ＲＣＬＫが生成される。
【００２１】
図２は、相互排他素子回路６の構成を示す回路図である。図２において、相互排他素子回路６は、入力ノード６ａ，６ｂ、出力ノード６ｃ，６ｄ、ＮＯＲゲート１１，１２、ＮチャネルＭＯＳトランジスタ１３，１４、およびＰチャネルＭＯＳトランジスタ１５，１６を含む。
【００２２】
クロック信号ＲＣＬＫは、入力ノード６ａを介してＮＯＲゲート１１の一方入力ノードに与えられる。外部制御信号ＲＵＮは、入力ノード６ｂを介してＮＯＲゲート１２の一方入力ノードに与えられる。ＮＯＲゲート１１，１２の他方入力ノードは、それぞれＮＯＲゲート１２，１１の出力信号を受ける。
【００２３】
トランジスタ１３，１５は、ＮＯＲゲート１１の出力ノードＮ１１と電源電圧ＶＤＤのラインとの間に直列接続され、それらのゲートはＮＯＲゲート１２の出力ノードＮ１２に接続される。トランジスタ１４，１６は、ＮＯＲゲート１２の出力ノードＮ１２と電源電圧ＶＤＤのラインとの間に直列接続され、それらのゲートはＮＯＲゲート１１の出力ノードＮ１１に接続される。トランジスタ１３，１５のドレインは出力ノード６ｃとなり、トランジスタ１４，１６のドレインは出力ノード６ｄとなる。クロック信号ＭＣＬＫは出力ノード６ｄから出力される。出力ノード６ｃは、ここでは使用されない。
【００２４】
初期状態では、クロック信号ＲＣＬＫおよび外部制御信号ＲＵＮはともに「Ｌ」レベルにされ、ノードＮ１１，Ｎ１２がそれぞれ「Ｌ」レベルおよび「Ｈ」レベルになっている。これにより、トランジスタ１４がオフするとともにトランジスタ１６がオンし、クロック信号ＭＣＬＫが「Ｈ」レベルになっている。また、トランジスタ１３がオンするとともにトランジスタ１５がオフし、出力ノード６ｃは「Ｌ」レベルになっている。
【００２５】
外部制御信号ＲＵＮが「Ｈ」レベルに立ち上げられると、ＮＯＲゲート１２の出力ノードＮ１２は「Ｌ」レベルになる。これにより、トランジスタ１３がオフするとともにトランジスタ１５がオンし、出力ノード６ｃは「Ｈ」レベルになる。また、ＮＯＲゲート１１はクロック信号ＲＣＬＫに対してインバータとして動作し、ＮＯＲゲート１１の出力信号に対してトランジスタ１６，１４はインバータとして動作する。したがって、クロック信号ＭＣＬＫは、外部制御信号ＲＵＮが「Ｌ」レベルから「Ｈ」レベルに立ち上げられたことに応じて、「Ｈ」レベルから「Ｌ」レベルに立ち下げられる。
【００２６】
図３は、図１および図２に示したクロック発生回路２の動作を示すタイムチャートである。初期状態では、外部制御信号ＲＵＮが「Ｌ」レベルにされ、クロック信号ＭＣＬＫ，φ７，φ８がともに「Ｈ」レベルにされ、クロック信号ＲＣＬＫが「Ｌ」レベルにされている。ある時刻に外部制御信号ＲＵＮが「Ｈ」レベルに立ち上げられると、相互排他素子回路６によってクロック信号ＭＣＬＫが「Ｈ」レベルから「Ｌ」レベルに立ち下げられる。また、相互排他素子回路６は、クロック信号ＲＣＬＫに対して２段のインバータを含むバッファとして動作する。
【００２７】
クロック信号ＭＣＬＫが「Ｌ」レベルに立ち下げられてから遅延回路７の遅延時間Ｔｄ１の経過後にクロック信号φ７が「Ｈ」レベルから「Ｌ」レベルに立ち下げられる。これにより、フリップフロップ９がセットされてクロック信号ＲＣＬＫ，ＭＣＬＫが「Ｈ」レベルに立ち上げられる。
【００２８】
また、クロック信号φ７が「Ｌ」レベルに立ち下げられてから遅延回路８の遅延時間Ｔｄ２の経過後にクロック信号φ８が「Ｈ」レベルから「Ｌ」レベルに立ち下げられる。これにより、フリップフロップ９がリセットされてクロック信号ＲＣＬＫ，ＭＣＬＫが「Ｌ」レベルに立ち下げられる。このような動作が繰り返され、クロック信号ＲＣＬＫは、遅延時間Ｔｄ１だけ「Ｌ」レベルとなり、遅延時間Ｔｄ２だけ「Ｈ」レベルとなる。クロック信号ＲＣＬＫの１周期はＴｄ１＋Ｔｄ２となる。
【００２９】
図４は、図１に示したＭＲＡＭ４の要部を示す回路ブロック図である。図４において、ＭＲＡＭ４はメモリアレイＭＡを備える。メモリアレイＭＡは、図４中の上下方向に延在する複数組のワード線ＷＬおよびディジット線ＤＬと、左右方向に延在する複数のビット線ＢＬとを含む。
【００３０】
複数のワード線ＷＬは、２本ずつ複数のグループに分割されている。各ワード線グループは、偶数番のワード線ＷＬ０と奇数番のワード線ＷＬ１とを含む。また、複数のワード線グループのうちの予め選択されたワード線グループは、ダミーワード線グループとして使用される。ダミーワード線グループは、偶数番のダミーワード線ＤＷＬ０と奇数番のダミーワード線ＤＷＬ１とを含む。
【００３１】
また、複数のビット線は、４本ずつ複数のグループに分割されている。各ビット線グループは、４本のビット線ＢＬ０〜ＢＬ３を含む。偶数番のワード線ＷＬ０と偶数番のビット線ＢＬ０，ＢＬ２との２つの交差部の各々にメモリセルＭＣが設けられ、奇数番のワード線ＷＬ１と奇数番のビット線ＢＬ１，ＢＬ３との２つの交差部の各々にメモリセルＭＣが設けられている。各メモリセルＭＣには、「０」または「１」のデータ信号が書き込まれる。
【００３２】
また、偶数番のダミーワード線ＤＷＬ０と偶数番のビット線ＢＬ０，ＢＬ２との２つの交差部には、２つのダミーメモリセルＤＭＣ０，ＤＭＣ２がそれぞれ設けられている。２つのダミーメモリセルＤＭＣ０，ＤＭＣ２の一方には「０」のデータ信号が書き込まれ、他方には「１」のデータ信号が書き込まれている。
【００３３】
奇数番のワード線ＷＬ１が選択された場合は偶数番のダミーワード線ＤＷＬ０も選択される。２つのダミーメモリセルＤＭＣ０，ＤＭＣ２は、選択された２つのメモリセルＭＣの各々からデータ信号を読み出す際の参照電流を生成するために使用される。
【００３４】
また、奇数番のダミーワード線ＤＷＬ１と奇数番のビット線ＢＬ１，ＢＬ３との２つの交差部には、２つのダミーメモリセルＤＭＣ１，ＤＭＣ３がそれぞれ設けられている。２つのダミーメモリセルＤＭＣ１，ＤＭＣ３の一方には「０」のデータ信号が書き込まれ、他方には「１」のデータ信号が書き込まれている。
【００３５】
偶数番のワード線ＷＬ０が選択された場合は奇数番のダミーワード線ＤＷＬ１も選択される。２つのダミーメモリセルＤＭＣ１，ＤＭＣ３は、選択された２つのメモリセルＭＣの各々からデータ信号を読み出す際の参照電流を生成するために使用される。
【００３６】
メモリセルＭＣは、図５に示すように、トンネル磁気抵抗素子ＴＭＲおよびアクセストランジスタＡＴＲ（ＮチャネルＭＯＳトランジスタ）を含む。トンネル磁気抵抗素子ＴＭＲおよびアクセストランジスタＡＴＲは、対応のビット線ＢＬと接地電圧ＶＳＳのラインとの間に直列接続され、アクセストランジスタＡＴＲのゲートは対応のワード線ＷＬに接続される。ディジット線ＤＬは、トンネル磁気抵抗素子ＴＭＲの下を通過している。ダミーメモリセルＤＭＣは、メモリセルＭＣと同じ構成である。
【００３７】
書込動作時は、ワード線ＷＬを「Ｌ」レベルにして、アクセストランジスタＡＴＲをオフさせる。また、ディジット線ＤＬに所定値の電流を流すとともに、ビット線ＢＬに書込データ信号Ｄに応じた極性の電流を流す。これにより、トンネル磁気抵抗素子ＴＭＲの抵抗値は、低値ＲＬまたは高値ＲＨに設定される。たとえば、低値ＲＬおよび高値ＲＨは、データ信号の「０」および「１」にそれぞれ対応付けられる。
【００３８】
読出動作時は、ワード線ＷＬを「Ｈ」レベルにしてアクセストランジスタＡＴＲをオンさせるとともに、ビット線ＢＬに所定値の読出電圧を印加する。このとき、ビット線ＢＬからトンネル磁気抵抗素子ＴＭＲおよびアクセストランジスタＡＴＲを介して接地電圧ＶＳＳのラインに流出する電流ＩＢＬと、参照電流ＩＲとを比較する。
【００３９】
トンネル磁気抵抗素子ＴＭＲの抵抗値が低値ＲＬである場合に流れる電流ＩＢＬをＩＨとし、トンネル磁気抵抗素子ＴＭＲの抵抗値が高値ＲＨである場合に流れる電流ＩＢＬをＩＬとすると、ＩＨ＞ＩＬである。２つのダミーメモリセルＤＭＣを用いて参照電流ＩＲ＝（ＩＨ＋ＩＬ）／２を生成する。たとえば、ＩＢＬ＞ＩＲである場合はメモリセルＭＣに記憶されているデータ信号は「０」であると判別し、ＩＢＬ＜ＩＲである場合はメモリセルＭＣに記憶されているデータ信号は「１」であると判別する。
【００４０】
図４に戻って、ＭＲＡＭ４は、行プリデコーダ２０、バッファ回路２１、ＷＬ／ＤＬドライバ２２、およびＢＬドライバ２３を備える。行プリデコーダ２０は、アドレス信号Ａ２〜Ａ１０に基づいてプリデコード信号ＰＤ０〜ＰＤ４７を生成する。バッファ回路２１は、各プリデコード信号ＰＤに対応して設けられたバッファ２１ａを含み、プリデコード信号ＰＤ０〜ＰＤ４７をバッファリングしてＷＬ／ＤＬドライバ２２に伝達する。
【００４１】
ＷＬ／ＤＬドライバ２２は、それぞれプリデコード信号ＰＤ０〜ＰＤ４７を伝達するための信号線ＳＬ０〜ＳＬ４７を含む。また、ＷＬ／ＤＬドライバ２２は、各ワード線ＷＬに対応して設けられたローカルデコーダ２２ａを含む。各ローカルデコーダ２２ａには、予め固有のプリデコード信号ＰＤ０〜ＰＤ４７が割り当てられている。ローカルデコーダ２２ａは、読出動作時に、予め割り当てられたプリデコード信号ＰＤ０〜ＰＤ４７が入力された場合に、対応のワード線ＷＬを選択レベルの「Ｈ」レベルに立ち上げる。ワード線ＷＬが「Ｈ」レベルにされると、そのワード線ＷＬに対応する各メモリセルＭＣのアクセストランジスタＡＴＲがオンする。なお、各ダミーワード線ＤＷＬにも同様に、ローカルデコーダ２２ａが設けられている。
【００４２】
また、ＷＬ／ＤＬドライバ２２は、各ディジット線ＤＬに対応して設けられたローカルデコーダ２２ｂ、ＰチャネルＭＯＳトランジスタ２２ｃ、およびＮチャネルＭＯＳトランジスタ２２ｄを含む。ＰチャネルＭＯＳトランジスタ２２ｃのソースは電源電圧ＶＤＤを受け、そのドレインは対応のディジット線ＤＬの一方端に接続されている。ＰチャネルＭＯＳトランジスタ２２ｃは、書込動作時にオンする。ＮチャネルＭＯＳトランジスタ２２ｄのドレインは対応のディジット線ＤＬの他方端に接続され、そのソースは接地電圧ＶＳＳを受ける。
【００４３】
各ローカルデコーダ２２ｂには、予め固有のプリデコード信号ＰＤ０〜ＰＤ４７が割り当てられている。ローカルデコーダ２２ｂは、書込動作時に、予め割り当てられたプリデコード信号ＰＤ０〜ＰＤ４７が入力された場合に、対応のＮチャネルＭＯＳトランジスタ２２ｄをオンさせる。これにより、電源電圧ＶＤＤのラインからトランジスタ２２ｃ、ディジット線ＤＬ、およびトランジスタ２２ｄを介して接地電圧ＶＳＳのラインに電流が流れ、そのディジット線ＤＬに対応する各メモリセルＭＣのトンネル磁気抵抗素子ＴＭＲに磁界が印加される。なお、各ダミーディジット線ＤＤＬにも同様に、ローカルデコーダ２２ｂ、ＰチャネルＭＯＳトランジスタ２２ｃ、およびＮチャネルＭＯＳトランジスタ２２ｄが設けられている。
【００４４】
また、ＢＬドライバ２３は、書込動作時に、書込データ信号Ｄの論理に応じた極性の電流を選択されたビット線ＢＬに流す。これにより、電流が流されているディジット線ＤＬと電流が流されているビット線ＢＬとの交差部に位置するメモリセルＭＣのトンネル磁気抵抗素子ＴＭＲにデータ信号が書き込まれる。
【００４５】
また、ＭＲＡＭ４は、複数組の読出データ線ＲＤＢ０，／ＲＤＢ０，ＲＤＢ１，／ＲＤＢ１およびセンスアンプ回路２４と、各ビット線グループに対応して設けられた列選択スイッチＳＷとを備える。列選択スイッチＳＷは、４つのＮチャネルＭＯＳトランジスタを含み、対応の列選択線ＣＳＬが選択レベルの「Ｈ」レベルにされたことに応じて、対応のビット線ＢＬ０〜ＢＬ３と読出データ線ＲＤＢ０，／ＲＤＢ０，ＲＤＢ１，／ＲＤＢ１とをそれぞれ接続する。
【００４６】
センスアンプ回路２４は、２つのセンスアンプＳＡ０，ＳＡ１と切換回路２４ａとを含む。切換回路２４ａは、偶数番のワード線ＷＬ０が選択された場合、読出データ線ＲＤＢ０，ＲＤＢ１をそれぞれセンスアンプＳＡ０，ＳＡ１の正側端子に接続し、読出データ線／ＲＤＢ０，／ＲＤＢ１をそれぞれセンスアンプＳＡ０，ＳＡ１の負側端子に接続する。切換回路２４ａは、奇数番のワード線ＷＬ１が選択された場合、読出データ線ＲＤＢ０，ＲＤＢ１をそれぞれセンスアンプＳＡ０，ＳＡ１の負側端子に接続し、読出データ線／ＲＤＢ０，／ＲＤＢ１をそれぞれセンスアンプＳＡ０，ＳＡ１の正側端子に接続する。
【００４７】
これにより、ワード線ＷＬ０，ＷＬ１のうちのいずれのワード線ＷＬが選択された場合でも、センスアンプＳＡの正側端子にはメモリセルＭＣが接続され、センスアンプＳＡの負側端子にはダミーメモリセルＤＭＣが接続される。センスアンプＳＡ０，ＳＡ１の負側端子は、互いに接続されている。
【００４８】
センスアンプＳＡは、正側端子および負側端子の各々に読出電圧を印加し、正側端子からメモリセルＭＣに流れる電流ＩＢＬと、負側端子から並列接続された２つのダミーメモリセルＤＭＣに流れる参照電流ＩＲとの大小を比較する。センスアンプＳＡは、ＩＢＬ＞ＩＲである場合はメモリセルＭＣに記憶されているデータ信号は「０」であると判別し、「０」のデータ信号Ｑを出力する。また、センスアンプＳＡは、ＩＢＬ＜ＩＲである場合はメモリセルＭＣに記憶されているデータ信号は「１」であると判別し、「１」のデータ信号Ｑを出力する。
【００４９】
次に、ＭＲＡＭ４のうちのクロック発生回路２に関連する部分について説明する。ＭＲＡＭ４は、直列接続された偶数段のインバータ７ａと、インバータ３０と、バッファ回路２１に設けられたレプリカバッファ２１ｂと、ＷＬ／ＤＬドライバ２２に設けられたレプリカ信号線ＲＳＬおよびレプリカローカルデコーダ２２ｅとを備える。また、ＭＲＡＭ４は、メモリアレイＭＡに設けれたレプリカワード線ＲＷＬ、ＰチャネルＭＯＳトランジスタ３１、レプリカメモリセル３２、およびレプリカビット線ＲＢＬを備える。さらにＭＲＡＭ４は、レプリカスイッチＲＳＷ、フリップフロップ９、およびゲート回路３５を備える。
【００５０】
偶数段のインバータ７ａは、図１の遅延回路７を構成し、クロック信号ＭＣＬＫを所定時間Ｔｄ１だけ遅延させてクロック信号φ７を生成する。クロック信号φ７は、フリップフロップ９のセット端子およびインバータ３０に与えられる。インバータ３０は、クロック信号φ７を反転させる。インバータ３０の出力クロック信号は、レプリカバッファ２１ｂを介してレプリカ信号線ＲＳＬに伝達される。レプリカローカルデコーダ２２ｅは、レプリカ信号線ＲＳＬが「Ｈ」レベルにされた場合に、レプリカワード線ＲＷＬを「Ｌ」レベルから「Ｈ」レベルに立ち上げる。
【００５１】
レプリカワード線ＲＷＬは、ワード線ＷＬと平行に配置され、メモリアレイＭＡのうちのセンスアンプ回路２４と反対側の端部に配置されている。レプリカビット線ＲＢＬは、ビット線ＢＬと平行に配置され、メモリアレイＭＡのうちのレプリカローカルデコーダ２２ｅと反対側の端部に配置されている。
【００５２】
ＰチャネルＭＯＳトランジスタ３１およびレプリカメモリセル３２は、レプリカワード線ＲＷＬとレプリカビット線ＲＢＬの交差部に配置されている。ＰチャネルＭＯＳトランジスタ３１のソースは電源電圧ＶＤＤを受け、そのドレインはレプリカビット線ＲＢＬの一方端に接続され、そのゲートはレプリカワード線ＷＬに接続されている。
【００５３】
レプリカメモリセル３２は、抵抗素子３３およびＮチャネルＭＯＳトランジスタ３４を含む。抵抗素子３３およびＮチャネルＭＯＳトランジスタ３４は、レプリカビット線ＲＢＬと接地電圧ＶＳＳのラインとの間に直列接続される。ＮチャネルＭＯＳトランジスタ３４のゲートは、レプリカワード線ＲＷＬに接続される。抵抗素子３３の抵抗値は、トンネル磁気抵抗素子ＴＭＲの抵抗値と同レベルに設定されている。なお、レプリカメモリセル３２は、メモリセルＭＣと同じものであってもよい。
【００５４】
レプリカワード線ＲＷＬが「Ｌ」レベルである場合は、トランジスタ３１がオンするとともにトランジスタ３４がオフし、レプリカビット線ＲＢＬは電源電圧ＶＤＤにプリチャージされる。レプリカワード線ＲＷＬが「Ｈ」レベルにされると、トランジスタ３１がオフするとともにトランジスタ３４がオンし、レプリカビット線ＲＢＬが「Ｈ」レベルから「Ｌ」レベルに立ち下げられる。
【００５５】
レプリカスイッチＲＳＷは、レプリカビット線ＲＢＬの他方端とフリップフロップ９のリセット端子との間に接続され、レプリカ列選択線ＲＣＳＬが選択レベルの「Ｈ」レベルにされた場合にオンする。レプリカ列選択線ＲＣＳＬは、列選択線ＣＳＬと同じタイミングで「Ｈ」レベルにされる。
【００５６】
フリップフロップ９は、２つのＮＡＮＤゲートを含むＲＳフリップフロップであり、クロック信号ＲＣＬＫを出力する。フリップフロップ９は、セット端子が「Ｌ」レベルにされた場合にセットされてクロック信号ＲＣＬＫを「Ｈ」レベルにし、リセット端子が「Ｌ」レベルにされた場合にリセットされてクロック信号ＲＣＬＫを「Ｌ」レベルにする。
【００５７】
ゲート回路３５は、信号ＲＳＥが「Ｈ」レベルにされた場合は、クロック信号ＲＣＬＫに対してインバータとして動作し、クロック信号ＲＣＬＫを反転させてセンスアンプ活性化信号ＳＡＥを生成する。また、ゲート回路３５は、信号ＲＳＥが「Ｌ」レベルにされている場合は、センスアンプ活性化信号ＳＡＥを「Ｌ」レベルに固定する。センスアンプＳＡは、センスアンプ活性化信号ＳＡＥが「Ｈ」レベルにされた場合に活性化される。
【００５８】
したがって、インバータ３０、バッファ２１ｂ、信号線ＲＳＬ、ローカルデコーダ２２ｅ、ワード線ＲＷＬ、トランジスタ３１、メモリセル３２、ビット線ＲＢＬ、およびスイッチＲＳＷは、図１の遅延回路８を構成する。遅延回路８は、読出データ信号の経路と略同じ遅延時間を有するレプリカ経路である。
【００５９】
図６は、マイクロコンピュータの動作を示すタイムチャートである。ある時刻に外部制御信号ＲＵＮが「Ｌ」レベルから「Ｈ」レベルに立ち上げられると、所定時間Ｔｄ１だけ「Ｌ」レベルとなり、所定時間Ｔｄ２だけ「Ｈ」レベルとなるクロック信号ＲＣＬＫが生成される。ＣＰＵ３およびＭＲＡＭ４は、クロック信号ＲＣＬＫに同期して動作する。読出動作時は、信号ＲＳＥが「Ｈ」レベルにされ、クロック信号ＲＣＬＫに同期してアドレス信号Ａ０〜Ａ１４がＣＰＵ３からＭＲＡＭ４に与えられる。また、ＭＲＡＭ４内では、クロック信号ＲＣＬＫを反転させてセンスアンプ活性化信号ＳＡＥが生成される。
【００６０】
ＭＲＡＭ４は、クロック信号ＲＣＬＫの立ち上りエッジに応答してアドレス信号Ａ０〜Ａ１４を取り込み、そのアドレス信号Ａ０〜Ａ１４で指定されるメモリセルＭＣ群を活性化させる。ＭＲＡＭ４は、センスアンプ活性化信号ＳＡＥの立ち上りエッジに応答して、活性化されたメモリセルＭＣ群からデータ信号Ｑ０〜Ｑ４６を読み出してＣＰＵ３に与える。
【００６１】
また、ＣＰＵ３は、たとえばマルチサイクル命令を実行する場合は、メモリアクセスを行なわないので、読出停止信号ＲＳＴを「Ｈ」レベルにする。これにより、信号ＲＳＥが「Ｌ」レベルにされ、センスアンプ活性化信号ＳＡＥが「Ｌ」レベルに固定され、データ信号Ｑ０〜Ｑ４６の読出が停止される。なお、この場合でもクロック発生回路２は非活性化されず、クロック信号ＲＣＬＫの生成は継続される。
【００６２】
[比較例]
図７は、上記実施の形態の比較例となるマイクロコンピュータの構成を示す回路ブロック図であって、図１と対比される図である。図７において、このマイクロコンピュータは、半導体基板５１と、その表面に形成されたクロック発生回路５２、ＣＰＵ５３、およびＭＲＡＭ５４とを備える。
【００６３】
クロック発生回路５２は、リング状に接続された相互排他素子回路（ＭＥ）５５および奇数段のインバータ５６を含む。クロック発生回路５２は、外部制御信号ＲＵＮが「Ｈ」レベルである場合は活性化され、クロック信号ＲＣＬＫを生成し、外部制御信号ＲＵＮが「Ｌ」レベルである場合は非活性化され、クロック信号ＲＣＬＫの生成を停止する。ＣＰＵ５３およびＭＲＡＭ５４は、クロック信号ＲＣＬＫに同期して動作する。
【００６４】
ＣＰＵ５３は、書込動作時は、書込イネーブル信号ＷＥを活性化レベルの「Ｈ」レベルにし、アドレス信号Ａ０〜Ａ１４およびデータ信号Ｄ０〜Ｄ４７をＭＲＡＭ４に与える。ＭＲＡＭ５４は、アドレス信号Ａ０〜Ａ１４によって指定されたメモリセル群にデータ信号Ｄ０〜Ｄ４７を書込む。
【００６５】
また、ＣＰＵ５３は、読出動作時は、読出イネーブル信号ＲＥおよびアドレス信号Ａ０〜Ａ１４をＭＲＡＭ５４に与える。ＭＲＡＭ４は、アドレス信号Ａ０〜Ａ１４によって指定されたメモリセル群からデータ信号Ｑ０〜Ｑ４７を読み出してＣＰＵ５３に与える。
【００６６】
図８（ａ）〜（ｅ）は、図７に示したマイクロコンピュータの動作を示すタイムチャートである。ある時刻に外部制御信号ＲＵＮが「Ｌ」レベルから「Ｈ」レベルに立ち上げられると、相互排他素子回路５５の出力信号は「Ｈ」レベルから「Ｌ」レベルに立ち下げられる。奇数段のインバータ５６の出力信号であるクロック信号ＣＬＫは、奇数段のインバータ５６の遅延時間Ｔｄ３の経過後に「Ｌ」レベルから「Ｈ」レベルに立ち上げられる。また、クロック信号ＣＬＫは、相互排他素子回路５５を通過し、さらに、奇数段のインバータ５６の遅延時間Ｔｄ３の経過後に「Ｈ」レベルから「Ｌ」レベルに立ち下げられる。したがって、クロック信号ＣＬＫの周期は、２×Ｔｄ３となる。
【００６７】
ＭＲＡＭ５４は、クロック信号ＣＬＫの立ち上りエッジに応答してアドレス信号Ａ０〜Ａ１４を取り込む。また、ＭＲＡＭ５４は、クロック信号ＣＬＫをレプリカ経路で遅延させてセンスアンプ活性化信号ＳＡＥを生成する。センスアンプ活性化信号ＳＡＥが「Ｈ」レベルに立ち上げられると、センスアンプが活性化されて読出データ信号Ｑが出力される。
【００６８】
このマイクロコンピュータでは、レプリカ経路の遅延時間Ｔｄ４がクロック信号ＣＬＫの１周期２×Ｔｄ３よりも短い場合は、読出データ信号Ｑを正しく出力することができる（時刻ｔ０）。しかし、たとえば電源電圧ＶＤＤが低下してレプリカ経路の遅延時間Ｔｄ４がクロック信号ＣＬＫの１周期２×Ｔｄ３よりも長くなると、読出データ信号Ｑを正しく出力することができない（時刻ｔ１）。
【００６９】
また、そのような事態を避けるために図９（ａ）〜（ｅ）に示すように、クロック信号ＣＬＫの１周期２×Ｔｄ３をレプリカ経路の遅延時間Ｔｄ４よりも十分に大きく設定すると、マイクロコンピュータの動作速度が低下する。また、インバータ５６の数が増大し、消費電力とレイアウト面積が増大する。
【００７０】
これに対して本実施の形態では、ＭＲＡＭ４のレプリカ経路（遅延回路８）の遅延時間Ｔｄ２が変動すると、それに応じてクロック信号ＲＣＬＫの周期Ｔｄ１＋Ｔｄ２も変動する。したがって、マイクロコンピュータの動作温度、電源電圧ＶＤＤ、プロセスパラメータが変動した場合でも、ＭＲＡＭ４において誤動作が発生することがない。また、クロック信号ＲＣＬＫの周期を十分に大きく設定する必要がないので、マイクロコンピュータの動作速度が低下することがない。
【００７１】
また、クロック発生回路２のインバータの数を削減できるので、レイアウト面積および消費電流を小さくすることができる。
【００７２】
また、ＣＰＵ３がメモリアクセスを行なわない場合は、読出停止信号ＲＳＴを「Ｈ」レベルにして、センスアンプ回路２４などのレプリカ経路以外の回路の動作を停止させるので、消費電力を低減することができる。
【００７３】
なお、上記実施の形態では、マイクロコンピュータのメモリモジュールとしてＭＲＡＭ４を用いた場合について説明したが、これに限るものではなく、メモリモジュールはＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、フラッシュメモリなどの他の種類のメモリ回路であってもよい。
【００７４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【００７５】
１，５１  半導体基板、２，５２  クロック発生回路、３，５３  ＣＰＵ、４，５４  ＭＲＡＭ、５，３５  ゲート回路、６，５５  相互排他素子回路、７，８  遅延回路、７ａ，３０，５６  インバータ、９  フリップフロップ、１１，１２  ＮＯＲゲート、１３，１４，２２ｄ，３４  ＮチャネルＭＯＳトランジスタ、１５，１６，２２ｃ，３１  ＰチャネルＭＯＳトランジスタ、ＭＣ  メモリセル、ＴＭＲ  トンネル磁気抵抗素子、ＡＴＲ  アクセストランジスタ、ＷＬ  ワード線、ＤＬ  ディジット線、ＢＬ  ビット線、ＤＭＣ  ダミーメモリセル、ＤＷＬ  ダミーワード線、ＤＤＬ  ダミーディジット線、ＲＤＢ，／ＲＤＢ  読出データ線、２０  行プリデコーダ、２１  バッファ回路、２１ａ  バッファ、２１ｂ  レプリカバッファ、２２  ＷＬ／ＤＬドライバ、２２ａ，２２ｂ  ローカルデコーダ、２２ｅ  レプリカローカルデコーダ、２３  ＢＬドライバ、２４  センスアンプ回路、２４ａ  切換回路、ＳＡ  センスアンプ、ＳＬ  信号線、ＲＳＬ  レプリカ信号線、ＲＷＬ  レプリカワード線、ＲＢＬ  レプリカビット線、３２  レプリカメモリセル、ＲＳＷ  レプリカスイッチ。
【図１】
2014041678.tif 000003
【図２】
2014041678.tif 000004
【図３】
2014041678.tif 000005
【図４】
2014041678.tif 000006
【図５】
2014041678.tif 000007
【図６】
2014041678.tif 000008
【図７】
2014041678.tif 000009
【図８】
2014041678.tif 000010
【図９】
2014041678.tif 000011