JP2008158907A - シミュレーション装置及び回路設計支援方法 - Google Patents

シミュレーション装置及び回路設計支援方法 Download PDF

Info

Publication number
JP2008158907A
JP2008158907A JP2006348603A JP2006348603A JP2008158907A JP 2008158907 A JP2008158907 A JP 2008158907A JP 2006348603 A JP2006348603 A JP 2006348603A JP 2006348603 A JP2006348603 A JP 2006348603A JP 2008158907 A JP2008158907 A JP 2008158907A
Authority
JP
Japan
Prior art keywords
resistance
potential
node
voltage
change memory
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.)
Granted
Application number
JP2006348603A
Other languages
English (en)
Other versions
JP4745956B2 (ja
Inventor
Hiroshi Iwasa
拓 岩佐
Masaki Aoki
正樹 青木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006348603A priority Critical patent/JP4745956B2/ja
Publication of JP2008158907A publication Critical patent/JP2008158907A/ja
Application granted granted Critical
Publication of JP4745956B2 publication Critical patent/JP4745956B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】抵抗変化メモリ素子の動作検証のシミュレーションを行う。
【解決手段】抵抗変化メモリ素子の動作検証を行うシミュレーション装置は、第1の電位に保持された高電位電源ノードvddrと、このノードに接続された抵抗素子R21と、抵抗素子R21に抵抗素子R23を介して直列に接続され、第2の電位に保持された低電位電源ノードvssrと、記憶ノードrinと、キャパシタC24と、を備え、抵抗素子R21及び抵抗素子R23の抵抗値をシミュレーション装置に設けた可変抵抗部10に印加される電圧によって変化させ、記憶ノードrinの電位が高電位電源ノードvddrまたは低電位電源ノードvssrのいずれかの電位に制御されることを特徴とする。これにより、抵抗変化メモリ素子の書込みと読込みを連続して行うことができる。
【選択図】図1

Description

本発明はシミュレーション装置及び回路設計支援方法に関し、特にアナログシミュレータで利用可能なシミュレーション装置及び回路設計支援方法に関する。
最近、抵抗変化メモリ(Resistive Random Access Memory、ReRAM)素子が注目されている。抵抗変化メモリ素子は、読出しが高速で、高温でも動作し、混載用途において低価格に製造できる。このうち、単一符号の電気的刺激によって抵抗値が変化する抵抗変化メモリ素子(単極性抵抗変化メモリ素子)は、シリコンプロセスとの親和性がよく、安価な材料の単層膜より成り、混載用不揮発性メモリとして適している。
単極性抵抗変化メモリ素子は、セット電圧より高い電圧を加えることによって、抵抗値が高抵抗状態から低抵抗状態へと変化する。これをセットと呼ぶ。また、リセット電圧より高く、セット電圧より低い電圧を印加することによって、低抵抗状態から高抵抗状態へと変化する。これをリセットと呼ぶ。読出しについては、リセット電圧よりもさらに小さい電圧を印加することによって行う。例えば、セット電圧は1.6V、リセット電圧は0.75Vである。また、高抵抗状態の抵抗値は1.6V印加時で80kΩ、低抵抗状態の抵抗値は4kΩである。また、高抵抗状態の抵抗値は、自分自身にかかる電圧によって抵抗値が大きく変わることも単極性抵抗変化メモリ素子の特徴である。
図34は単極性抵抗変化メモリ素子の一般的な電圧−電流特性を説明する図である。この図の横軸は、電圧(V)であり、縦軸は電流(mA)を表している。
例えば、図中のA−B間に示す曲線は、抵抗が高抵抗状態にある場合の電圧と電流の関係であり、A−B間のI−V曲線は線形状になっていない。これは、上述したように、抵抗が高抵抗状態では自分自身にかかる電圧によって抵抗値が大きく変わるためである。そして、このI−V曲線に沿って、電圧を徐々に増加させると、セット電圧であるB点で、抵抗が高抵抗状態から低抵抗状態に移行する。
抵抗が低抵抗状態になると、抵抗値は一定であるために、今度は、A−C間に示す線形状のI−V曲線に則ることになる。
そして、リセットを開始するために、A−C間に示すI−V曲線上で電圧を上昇させると、リセット電圧であるC点で、再び抵抗が低抵抗状態から高抵抗状態に移行する。
このような電圧の印加によって、抵抗値が変化をする特性を利用して、抵抗変化メモリ素子の書込みと読出しが行われる。尚、単極性抵抗変化メモリ素子の抵抗材料としては、例えば遷移金属酸化物を用いた抵抗変化メモリ素子の報告例が開示されている(例えば、非特許文献1)。
尚、単極性抵抗変化メモリ素子は、最初に高電圧を加え、抵抗変化メモリ素子に絶縁破壊のような現象を起こさせてから使用する。これをフォーミングと呼ぶ。フォーミングは、1つの抵抗変化メモリ素子に対して1回行えばよい。フォーミングについては、材料や膜厚によって必要な場合と必要でない場合がある。フォーミングに必要な電圧をフォーミング電圧と呼ぶが、フォーミング電圧は、セット電圧より高く、例えば3V程度である。
但し、抵抗変化メモリ素子は、セットをし、低抵抗状態になる際に、大きな電流が流れすぎると抵抗変化メモリ素子が破壊されてしまう。このため、セットをする際の電流を制限する必要がある。単極性抵抗変化メモリ素子の場合、セットは数nsで起きる。一方、リセットは100ns以上の時間を要する。また、リセット時には、抵抗値が高くなるので、この瞬間に大きな電圧がかかり、再びセットしてしまうことがないように電圧を制御しなければならない。
このようなセット電圧及びリセット電圧は、単極性抵抗変化メモリ素子によってばらつくため、セットする際にはセット電圧より充分に高い電圧が抵抗変化メモリにかかる必要があり、リセットする際にはリセット電圧より充分に高くセット電圧より充分に低い電圧が抵抗変化メモリ素子にかかる必要がある。
ところで、抵抗変化メモリ素子を用いて抵抗変化メモリ製品や抵抗変化メモリ用CTEG(Circuit Test Element Group)を設計するにあたっては、設計前の回路シミュレーションが重要な役割を果たす。何故ならば、回路を構成する素子属性は製品により異なるものとなるため、回路の動作を保証する目的で、設計段階においてメモリ回路全体またはその一部の回路について回路シミュレーションを行う必要があるからである。また、メモリ回路の動作の実証に用いられるCTEGに搭載する回路についても、同様な理由により、回路シミュレーションによる検証が必要になるからである。
ここで、アナログ的な動作をするメモリ回路の回路シミュレーションには、一般的には市販のアナログ回路シミュレータHSPICE(synopsys社登録商標)が用いられている。そして、HSPICEを用いて回路シミュレーションを行う場合、素子属性をまとめたライブラリが必要となる。
例えば、抵抗変化メモリ素子を用いた回路シミュレーションを行う場合でも、抵抗変化メモリ素子中のデータ記憶を行う部分の素子属性が上記のライブラリに含まれている必要がある。しかし、抵抗変化メモリ素子のシミュレーションが可能となるライブラリは、現時点では提供されていない。従って、現状では、アナログ回路シミュレータを用いて、抵抗変化メモリ素子の動作検証をシミュレーションによって確認することができない。
しかし、抵抗変化メモリ素子を用いた回路の読出し動作を検証する場合には、抵抗変化メモリ素子として、抵抗値が一定である1つの純抵抗、或いは自分自身にかかる電圧によって抵抗値が変化する1つの電圧依存抵抗を用いて、シミュレーションをする方法が考えられる。この方法では、抵抗変化メモリ素子に1または0のどちらか一方が記憶されていることを想定して読出し動作を行う。このような方法によれば、比較的正確に読出し動作を検証できることが予測できる。
また、抵抗変化メモリ素子を用いた回路の書込みについては、抵抗変化メモリ素子として用いる上記抵抗に、特定の時間、特定の電圧がかかったことをシミュレーション結果によって詳細に確認するということも不可能ではない。
I.G.Baek et al., "Highly scalable non-volatile resistive memory using simple binary oxide driven by asymmetric unipolar voltage pulses", Tech. Digest IEDM 2004,p.587
しかしながら、上記のシミュレーション方法では、シミュレーションと、その結果の確認を含む作業に手間がかかる。
例えば、抵抗変化メモリ素子に対して書込みを行った後に、書込みを行った抵抗変化メモリ素子からの読出し動作を含んだシミュレーションを行う場合では、書込みと読込みの組み合わせパターンが多数になり、全てのパターンごとにシミュレーションをしなければならず、労力を要する。
このように上記のシミュレーション方法では、抵抗変化メモリ素子の抵抗値を可変させながら、抵抗変化メモリ素子に対して書込みと読出しを繰返して連続的に行う動作の検証は事実上不可能である。
本発明はこのような点に鑑みてなされたものであり、製造条件等によって決定される抵抗変化メモリ素子の特性を簡便に再現でき、且つ抵抗変化メモリ素子から成る記憶部に対する読出しと書込みを交えた動作を容易に行うことができるシミュレーション装置及び回路設計支援方法を提供することを目的とする。
本発明では上記課題を解決するために、図1に例示する構成で実現可能なシミュレーション装置が提供される。本発明のシミュレーション装置は、抵抗変化メモリ素子の動作検証を行うシミュレーション装置であり、第1の電位に保持された第1の電源ノード(高電位電源ノードvddr)と、第1の電源ノードに接続された第1の抵抗(抵抗素子R21)と、第1の抵抗に第2の抵抗(抵抗素子R23)を介して直列に接続され、第2の電位に保持された第2の電源ノード(低電位電源ノードvssr)と、第1の抵抗と第2の抵抗との間に位置する記憶ノードrinと、記憶ノードと第2の電源ノードとの間に第2の抵抗に並列に接続されたキャパシタC24と、を備え、第1の抵抗の抵抗値及び第2の抵抗の抵抗値をシミュレーション装置に設けた可変抵抗部10に印加される電圧によって変化させ、記憶ノードの電位が第1の電源ノードまたは第2の電源ノードのいずれかの電位に制御されることを特徴とする。
このようなシミュレーション装置によれば、シミュレーション装置に設けた可変抵抗部10に印加される電圧によって第1の抵抗の抵抗値及び第2の抵抗の抵抗値が可変され、第1の可変抵抗と第2の可変抵抗との間に位置する記憶ノードの電位が第1の電位または第2の電位に制御される。
また、本発明では、上記課題を解決するために、抵抗変化メモリ素子を含む記憶部を用いた記憶装置の回路設計を、アナログシミュレータを用いて支援する回路設計支援方法であって、サブサーキットを構成する回路部品を接続する接続ノードの内の一つが、前記記憶部の記憶状態に対応する電圧を保持するノードを備えた前記サブサーキットを前記アナログシミュレータに入力するステップと、前記記憶装置を構成する回路部品間の接続関係が記載されているネットリストを前記アナログシミュレータに入力するステップと、
アナログシミュレーションを行い、前記記憶装置を構成する前記回路部品間の前記接続ノードの電圧の時間変化を求めるステップと、を有することを特徴とする回路設計支援方法が提供される。
このような回路設計支援方法によれば、サブサーキットを構成する回路部品を接続する接続ノードの内の一つが、記憶部の記憶状態に対応する電圧を保持するノードを備えたサブサーキットがアナログシミュレータに入力され、記憶装置を構成する回路部品間の接続関係が記載されているネットリストがアナログシミュレータに入力され、アナログシミュレーションが行われ、記憶装置を構成する回路部品間の接続ノードの電圧の時間変化が求められる。
本発明のシミュレーション装置及び回路設計支援方法によれば、記憶部を表すサブサーキットに記憶状態を示す記憶ノードが設けられ、記憶部を表すサブサーキットは可変抵抗部の状態に応じて動作をする。これにより、記憶部を表すサブサーキットの動作後の状態が保持され、その状態に基づいて、さらに、記憶部を表すサブサーキットは次の動作を連続して行うことができる。
その結果、抵抗変化メモリ素子を含む記憶部を用いた記憶装置の書込み及び読込みのアナログシミュレーションを連続して行えるため、上記の記憶部を含む、メモリ回路のシミュレーションを容易に行える抵抗変化メモリ素子のシミュレーション装置及び回路設計支援方法を実現することができる。
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
(第1の実施の形態)
最初に、第1の実施の形態であるシミュレーション装置、シミュレーション方法、及び、そのシミュレーション方法を使用した抵抗変化メモリ回路の設計支援方法を図1乃至図23を用いて説明する。
先ず、抵抗変化メモリ素子の回路構成の基本構成について説明する。
図1は抵抗変化メモリ素子に相当するサブサーキットの中身を表す回路図である。
この図に示す回路は、可変抵抗部10、遅延電位発生部30、記憶部20を含む構成をしている。そして、この回路では、抵抗変化メモリ素子の状態、即ち高抵抗状態か低抵抗状態かの情報を、記憶部20の記憶ノードrinで表す。
可変抵抗部10は、高抵抗素子R11、低抵抗素子R12、抵抗素子R13、抵抗素子R14、ノードbl及びノードglを含む構成をし、ノードblとノードglとの間に高抵抗素子R11と抵抗素子R13とが直列に接続されている。また、ノードblとノードglとの間に低抵抗素子R12と抵抗素子R14とが直列に接続されている。
高抵抗素子R11は、高抵抗状態の抵抗変化メモリ素子の特性を表し、自分自身にかかる電圧によって抵抗値が変わる電圧依存抵抗である。
低抵抗素子R12は、低抵抗状態の抵抗変化メモリ素子の特性を表す素子である。低抵抗素子R12は、自分自身にかかる電圧によって抵抗値が変わる電圧依存抵抗であっても、自分自身にかかる電圧によって抵抗値が変わらない一定抵抗でもよい。一定抵抗とした場合は、低抵抗素子R12は、例えば4kΩが適する。
一方、記憶部20は、高電位電源ノードvddr、低電位電源ノードvssr、記憶ノードrin、リセッタスイッチ及びリセッタ負荷抵抗素子として機能する抵抗素子R21、セッタスイッチとして機能する抵抗素子R23及びキャパシタC24を含む構成をし、高電位電源ノードvddrと低電位電源ノードvssrとの間に、抵抗素子R21及び抵抗素子R23が直列に接続されている。そして、記憶ノードrinと低電位電源ノードvssrとの間には、キャパシタC24が接続されている。
ここで、抵抗素子R21及び抵抗素子R23は、2つのノードbl−ノードgl間の電圧に依存する電圧依存抵抗である。
また、抵抗素子R21は、2つのノードbl−ノードgl間の電圧がリセット電圧以上セット電圧以下となった場合に、抵抗値がある程度低い値になり、それ以外の場合は、非常に高い抵抗(開放状態)になる。
そして、記憶ノードrinの電位は、抵抗素子R21及び抵抗素子R23の抵抗値を変化させることにより、変化する。
遅延電位発生部30は、遅延素子31とノードdtmo、低電位電源ノードvssrを含む構成をしている。遅延素子31は、セット後にリセットが起きやすい状態になることを防ぐための素子である。遅延素子31は、2つのノードbl−ノードgl間の電圧をある程度短い遅延を持たせてノードdtmoの電位にコピーする。
このサブサーキッドについては、その動作を容易に理解するために、別の図面を用いて説明する。
図2は抵抗変化メモリ素子に相当する回路図である。図2は、図1に示す抵抗変化メモリ素子に相当するサブサーキットの中身がより具体的に説明され、第1の実施の形態のシミュレーション装置の基本原理が示されている。尚、この図においては、シミュレーション装置の基本原理を容易に理解するためにスイッチ機能のある抵抗素子を直接スイッチ素子として表記している。
図2に示す回路は、抵抗変化メモリ素子の基本構成を表しており、抵抗変化メモリ素子は、可変抵抗部10と記憶部20を含む構成をしている。
そして、この記憶部20は、記憶を保持し、可変抵抗部10に印加される電圧等の情報に応じて、状態と記憶内容を変化する機能を有する。また、可変抵抗部10は、記憶部20の記憶ノードrinの電位によって、2つのノードbl−ノードgl間の抵抗値が変化する機能を有する。
従って、記憶部20は、可変抵抗部10によって制御され、可変抵抗部10は、記憶部20によって制御されている。そして、抵抗変化メモリ素子が高抵抗状態にあるのか、或いは低抵抗状態にあるのかの情報を記憶部20の記憶ノードrinで表している点に特徴がある。即ち、可変抵抗部10が高抵抗状態或いは低抵抗状態にあるかを記憶ノードrinの電位で制御している。
次に、記憶部20及び可変抵抗部10の回路を構成する部材について説明する。
記憶部20は、高電位電源ノードvddr、低電位電源ノードvssr、記憶ノードrin、リセッタスイッチSW21、リセッタ負荷抵抗素子R22、セッタスイッチSW23、記憶保持用の一定の容量を有するキャパシタC24を含む構成をしている。高電位電源ノードvddr、リセッタスイッチSW21、リセッタ負荷抵抗素子R22、セッタスイッチSW23及び低電位電源ノードvssrは直列に接続されている。
セッタスイッチSW23は、セットの電圧条件が満たされるとき導通する。一方、リセッタスイッチSW21は、リセットの条件が満たされるときに導通する。その条件を満たすか満たさないかは、可変抵抗部10の2つのノードbl−ノードgl間に印加される電圧によって決定される。このように、記憶部20は、可変抵抗部10によって制御されている。
ここで、セットの電圧条件が満たされるとは、例えば、2つのノードbl−ノードgl間の電圧が、セット電圧以上である場合を言う。セットの条件が満たされると、セッタスイッチSW23が導通し、記憶ノードrinの電位が低電位電源ノードvssrと同じになる。
また、リセットの電圧条件が満たされるとは、例えば、2つのノードbl−ノードgl間の電圧が、リセット電圧以上セット電圧以下である場合を言う。リセットの条件が満たされると、リセッタスイッチSW21が導通し、記憶ノードrinの電位が高電位電源ノードvddrの電位まで上昇する。
但し、リセッタスイッチSW21が導通した直後においては、記憶ノードrinの電位は、直ぐには高電位電源ノードvddrの電位と同じにはならない。何故なら、記憶部20には、リセッタ負荷抵抗素子R22及びキャパシタC24が存在するからである。この場合の記憶ノードrinの電位変化は、リセッタ負荷抵抗素子R22及びキャパシタC24の時定数によって決定される(後述)。
ここで、時定数とは、リセッタ負荷抵抗素子R22の抵抗値とキャパシタC24の容量の積である。従って、リセッタ負荷抵抗素子R22とキャパシタC24を調整することにより、時定数が変化し、リセットに要する時間を調整することができる。
上述したように、単極性抵抗変化メモリ素子の場合、高抵抗状態から低抵抗状態に移行するセットに要する時間は短く、低抵抗状態から高抵抗状態に移行するリセットに要する時間は長い。従って、実際の単極性抵抗変化メモリ素子の性質と類似させるために、図2に示す回路では、可変抵抗部10の他に記憶部20を設け、セットにかかる時間を一瞬とし、リセットにかかる時間のみをRC積を利用して、低抵抗状態と高抵抗状態の切り替えを調整可能にしている。
尚、セットの条件、リセットの条件のいずれも満たさない場合は、セッタスイッチSW23及びリセッタスイッチSW21がいずれも導通しない。この場合は、キャパシタC24によって所定の電位に保持されるとする。
次に、可変抵抗部10は、高抵抗状態の抵抗変化メモリ素子を表す高抵抗素子R11、低抵抗状態の抵抗変化メモリ素子を表す低抵抗素子R12、高抵抗状態を選択するスイッチSW13、低抵抗状態を選択するスイッチSW14を含む構成をしている。
スイッチSW13、スイッチSW14は、記憶部20の記憶ノードrinの電位に応じて、常にどちらか一方のスイッチが導通される。このように、可変抵抗部10は、記憶部20によって制御されている。
ここで、スイッチSW13またはスイッチSW14のいずれかを記憶ノードrinの電位に応じて選択する制御は、例えば、記憶ノードrinの電位に、ある基準電位Vthを設け、記憶ノードrinの電位が基準電位Vthより高い場合にノードbl−ノードgl間の抵抗を高抵抗に、記憶ノードrinの電位が基準電位Vthより低い場合にノードbl−ノードgl間の抵抗を低抵抗にするという制御をする。
具体的には、記憶ノードrinの電位が基準電位Vthより高い場合には、スイッチSW13を導通させ、記憶ノードrinの電位が基準電位Vthより低い場合にスイッチSW14を導通させることにより行う。
以上のような制御方法によって、記憶ノードrinの電位が基準電位Vthより高い場合には、2つのノードbl−ノードgl間の抵抗は、スイッチSW13自体の抵抗値を充分低くすることにより、高抵抗状態の抵抗変化メモリ素子を表す高抵抗素子R11のみが単独で存在するようになり、記憶ノードrinの電位が基準電位Vthより低い場合には、2つのノードbl−ノードgl間の抵抗は、スイッチSW14自体の抵抗値を充分低くすることにより、低抵抗状態の抵抗変化メモリ素子を表す低抵抗素子R12のみが単独で存在するようになる。
同時に、記憶ノードrinの電位をみることにより、2つのノードbl−ノードgl間の抵抗が高抵抗状態にあるのか、或いは低抵抗状態にあるのかを判断することができる。
尚、厳密な意味でのグラウンド線(ground line)は、図2に示すノードglではなく、後述する図11に示す選択トランジスタ44の下のGNDノードになるが、図2中のglと記されたノードはグラウンド線を示すglと呼ぶものとする。
また、図2に示す可変抵抗部10、記憶部20の構成は一例であり、これ以外にも、抵抗変化メモリ素子を表す構成要素は考えられる。
ところが、図2に示す回路構成では、可変抵抗部10と記憶部20とが互いに制御し合っているために、実際には、アナログシミュレーション用の抵抗変化メモリ素子のサブサーキットとしては正常に動作しない場合がある。それは、例えば、以下のような場合である。
上述したように、記憶ノードrinの電位が基準電位Vthを下回った状態で、ノードbl−ノードgl間の抵抗が低抵抗になり、記憶ノードrinの電位が基準電位Vthを上回った状態で、ノードbl−ノードgl間の抵抗が低抵抗になる。
ここで、可変抵抗部10のノードbl−ノードgl間に印加される電圧がセットの条件を満たし、記憶部20において、記憶ノードrinの電位が基準電位Vthをわずかに下回ったら、すぐに可変抵抗部10のノードbl−ノードgl間の抵抗が低抵抗状態になる。
そうすると、2つのノードbl−ノードgl間に印加される電圧が下がり、ノードbl−ノードgl間の電圧がセットの電圧条件からリセットの電圧条件に移行する。
そうすると、記憶ノードrinの電位は、すぐに基準電位Vth以上に達し、リセットが起きる。
そうすると、2つのノードbl−ノードgl間にかかる電圧がセットの電圧条件を満たし、記憶ノードrinの電位は基準電位Vthより下降に転じる。
このような繰り返しによって、記憶ノードrinの電位は、基準電位Vthを基準にして振動する現象が起きる。このような振動によってスイッチSW13またはスイッチSW14のいずれかの一方が絶えず導通され、ノードbl及びノードglの電位も激しく振動する。
このような振動現象は、記憶ノードrinの電位が基準電位Vthを僅かに下回り、セットが開始した直後に、リセットがおきやすい状況が生じることによる。
ところで、実際の単極性抵抗変化メモリ素子の特性を評価すると、リセットが起きた直後に、非常に短い時間でもセットに必要な電圧条件を満たすと、セットが起こってしまうことが分かっている。また、セットが起きた直後にリセットに必要な電圧条件を満たしても、すぐにはリセットが起きないことが分かっている。従って、シミュレーション装置においても、セットが起きた直後に、すぐにリセットが起きないような回路構成にする必要がある。
このような振動の問題は、リセッタスイッチSW21、セッタスイッチSW23を導通させるかどうかの判断に、2つのノードbl−ノードgl間の電圧を短い時間遅延させた電圧によって判断させることにより解決できる。
即ち、セッタスイッチSW23は、2つのノードbl−ノードgl間の電圧を短い時間遅延させた電圧信号がセット電圧以上である場合に導通させ、リセッタスイッチSW21は、2つのノードbl−ノードgl間の電圧を短い時間遅延させた電圧信号がリセット電圧以上セット電圧以下である場合に導通させるようにする。
こうすることにより、セット時に、抵抗変化メモリ素子は、以下のような動作をする。
上述したように、遅延を行わない場合は、2つのノードbl−ノードgl間の電圧が、セットの電圧条件を満たしている状態で、セッタスイッチSW23が導通状態で、リセッタスイッチSW21は絶縁状態(開放状態)になっている。この状態で、記憶ノードrinの電位が基準電位Vthを上回った状態から下回った状態に変化すると、スイッチSW13は絶縁状態(開放状態)になり、スイッチSW14は導通状態になる。その結果、2つのノードbl−ノードgl間の抵抗値は、高抵抗から低抵抗に移行する。この場合、記憶ノードrinの電位は、基準電位Vthを基準に振動する。
しかし、2つのノードbl−ノードgl間の電圧を短い時間遅延させることのできる回路を備えることにより、可変抵抗部10から記録部20に伝送されるノードbl−ノードgl間の電圧信号がその遅延時間分、遅延する。
即ち、ノードbl−ノードgl間の抵抗値が低抵抗の状態になり、ノードbl−ノードgl間に印加される電圧がリセットの電圧条件を満たしたとしても、記録部20は遅延時間分、可変抵抗部10がセットの電圧条件を満たしていると認識する。従って、遅延時間分は、セッタスイッチSW23が導通状態で、リセッタスイッチSW21が絶縁状態である状態が続くことになる。
その結果、実際には、可変抵抗部10においてセット直後のリセット電圧条件が満たされていたとしても、遅延時間分の時間が終わるまでに、記憶ノードrinの電位は基準電位Vthを一旦下がり跳ね返ることなく、低電位電源ノードvssrと略同じ電位に到達する。そして、リセットが開始する場合は、記憶ノードrinの電位が基準電位Vthを僅かに下回った状態から跳ね返るのではなく、低電位電源ノードvssrと略同じ電位の状態から上昇する。従って、リセットの電圧条件が満たされる時間は、記憶ノードrinの電位が低電位電源ノードvssrの電位から高電位電源ノードvddrの電位まで上昇するリセッタ負荷抵抗素子R22とキャパシタC24とのRC積で調整できることになる。
さらに、抵抗変化メモリ素子を現実の単極性抵抗変化メモリ素子と同じように動作させるには、注意を要することがある。
それは、セッタスイッチSW23自体の抵抗及びリセッタスイッチSW21自体の抵抗も考慮し、セッタスイッチSW23またはリセッタスイッチSW21が導通した状態の抵抗値とキャパシタC24との積で表される時定数と、上述した遅延時間の大小関係である。
ここで、図2に示すセッタスイッチSW23が導通した場合のセッタスイッチSW23自体の抵抗をR23、リセッタ負荷抵抗素子R22の抵抗値をR22とおき、キャパシタC24の容量値をC24とする。セッタスイッチSW23については、スイッチ機能のみであり、抵抗は0であると考えることもできるが、後述する図1のような回路図で表現した場合、セッタスイッチSW23を導通させても極めて小さい抵抗を有している。従って、ここでは、セッタスイッチSW23を導通させた場合でも、抵抗は0でないとする。
そして、セット時とリセット時における記憶ノードrinの電位変化における時定数をそれぞれt1,t2とおく。また、上述した遅延時間をt3とする。
1とt2については、図2からt1=R2324、t2=R2224と表されることは明らかである。そして、t1,t2,t3の関係は、t1<t3<t2のように設定する必要がある。特に、t1<<t3<<t2のように設定されていることが望ましい。
その理由は、t1<t3とすることにより、セット直後の遅延時間t3の間に、記憶ノードrinの電位を低電位電源ノードvssrに近い値にすることができるからである。また、t1<<t3とすることにより、セット直後の遅延時間t3の間に、記憶ノードrinの電位を低電位電源ノードvssrとほぼ同等にすることができる。例えば、具体的な計算では、t1=t3/10である場合、セット直後の遅延時間t3の間に、記憶ノードrinの電位を例えば、4.5×10-5(V)まで減少させることができる。
また、t3<t2とすることにより、リセット時の遅延時間t3の影響を小さく抑えることができる。リセット時には、遅延時間t3がそのまま遅延する。つまり、リセットの電圧条件を満たしてから、t3の時間経過して、t2に比例する時間経過後、2つのノードbl−ノードgl間の抵抗値が高抵抗になる。
但し、t3<<t2とすることが望ましい。その理由は、t2の時間が短いと、t2に比例する時間経過後、t2に比例する時間経過+t3の時間経過するまでの間に、セットの電圧条件を満たした場合、セットの電圧条件が満たされている間に一旦2つのノードbl−ノードgl間の抵抗値が高抵抗になり、その後、低抵抗になるといった予期しないことが起きやすくなるからである。
次に、リセッタスイッチSW21に関するリセット時間を所望の値に調整する方法について説明する。
記憶ノードrinの電位が低電位電源ノードvssrの電位まで下がり、この状態でリセットの電圧条件を満たしても、すぐには2つのノードbl−ノードgl間の抵抗値が高抵抗にならず、一定時間リセットの電圧条件を満たした場合のみノードbl−ノードgl間の抵抗値が高抵抗になるようにするには、リセッタ負荷抵抗素子R22の抵抗値R22及びキャパシタC24の容量値C24によるRC遅延を利用する。
記憶ノードrinの電位が基準電位Vthより高い場合に2つのノードbl−ノードgl間の抵抗値が高抵抗とし、記憶ノードrinの電位がVthより低い場合に2つのノードbl−ノードgl間の抵抗値が低抵抗とし、高電位電源ノードvddr、低電位電源ノードvssrの電位をそれぞれVvddr、Vvssrとする場合、リセットに要する時間T2は、以下の式で表される。
2=t2×A+t3……(1)
但し、t2=R22×C24……(2)
A=ln((Vvddr−Vvssr)/(Vth−Vvssr))……(3)
ここで、t2にファクタAをかけているのは、t2に要する時間の途中で記憶ノードrinの電位が低電位電源ノードvssrから基準電位Vthに達し、t2より短い時間でリセットが起こるからである。但し、リセットに要する時間は、リセッタ負荷抵抗素子R22の抵抗値R22、キャパシタC24の容量値C24を調整することにより、自由に調整することができる。
次に、図2に示す抵抗変化素子の構成で、リセットの電圧条件を満たし、2つのノードbl−ノードgl間にかかる電圧がリセット電圧以下になってリセットの電圧条件を満たさなくなり、再びリセットの電圧条件を満たした場合に記憶ノードrinがどのように動作するかを説明する。
図3はリセットをする場合の記憶ノードrinの電位の変化を説明する図である。横軸は時刻(ns)で、縦軸は記憶ノードrinの電位(V)を表している。この図は、後述する具体的な値、例えば、t2=100ns、t3=1ns、Vvddr=1.0V、
vssr=0.0V、Vth=0.5V、T2=70.3nsを用いて作成している。
ここで、図中の期間A及び期間Cは、リセットの電圧条件を満たしている期間である。一方、期間Bは、リセットの電圧条件もセットの電圧条件も満たしていない期間、つまり、2つのノードbl−ノードgl間の電圧がリセット電圧以下の期間である。
期間A及び期間Cでは、記憶ノードrinの電位Vrinは、時定数t2で変化する。
そして、期間Aにおける記憶ノードrinの電位は、以下の式で表される。
rin(t)=Vvssr+(Vvddr−Vvssr)(1−exp(−(t−t3)/t2
)……(4)
期間Bは、キャパシタC24の機能によって電位が保持される期間である。期間Bの長さをT4とするとき、期間Cでの記憶ノードrinの電位Vrinは、以下の式で表される。
rin(t)=Vvssr+(Vvddr−Vvssr)(1−exp(−(t−(T4+t3
)/t2))……(5)
図2、図3で示される構成では、リセットに要する時間は、セットの電圧条件を満たさない限りにおいて、累積時間が適用される。つまり、セットの電圧条件を満たさない限りにおいて、リセットの電圧条件を満たしている期間の合計時間がT2に達するとリセットが起き、2つのノードbl−ノードgl間の抵抗値が高抵抗になる。図3においては、期間A及び期間Cの長さをそれぞれT2A、T2Bとすると、T2A+T2B=T2となる。即ち、記憶ノードrinの電位が低電位電源ノードvssrにある場合、T2の時間を経てノードbl−ノードgl間の抵抗値が低抵抗から高抵抗に移行する。尚、この場合、T4は考慮せず、T4=0としている。
以上で、本発明の抵抗変化メモリ素子の基本構成と、その動作に関する説明が終わった。さらに、本発明の理解を深めるために、具体的な数値を用いて説明する。但し、以下で用いる数値は、あくまで理解を深くするための例であり、本発明の請求の範囲は、以下で用いる数値に限定されるものではない。
ところで、実際の抵抗変化メモリ素子は、高抵抗状態では、自分自身に印加される電圧が0V付近では抵抗値が高く、自分自身に印加される電圧によって大きく抵抗が異なり、自分自身に印加される電圧がセット電圧付近の比較的高い電圧のときは、抵抗値が低くなってしまう。一方、実際の抵抗変化メモリ素子の低抵抗状態は、自分自身に印加される電圧によって比較的抵抗値が変わらない。従って、図2に示した高抵抗状態の抵抗変化メモリ素子を表す高抵抗素子R11は、2つのノードbl−ノードgl間に印加される電圧によって抵抗値が変化し、例えば、図4のような特性になるようにする。図4は高抵抗素子のI−V曲線の一例を説明する図である。また、低抵抗状態の抵抗変化メモリ素子を表す低抵抗素子R12については、2つのノードbl−ノードgl間に印加される電圧によって抵抗値が変化しない一定抵抗としてもよく、2つのノードbl−ノードgl間に印加される電圧によって抵抗値が変化する電圧依存抵抗としてもよい。一定抵抗の場合は、例えば4kΩとする。
そして、図2に示す高電位電源ノードvddrの電位は常に1.0V、低電位電源ノードvssrの電位は常に0.0V、リセッタ負荷抵抗素子R22の抵抗値は100Ω、キャパシタC24の容量値は1nFとする。2つのノードbl−ノードgl間の抵抗値は、記憶ノードrinの電位が0.5Vより高い場合に高抵抗、記憶ノードrinの電位が0.5Vより低い場合に低抵抗とする。これまでに用いた記号で表現すると、C24=1nF、R22=100Ω、t2=100ns、t3=1ns、Vvddr=1.0V、Vvssr=0.0V、Vth=0.5Vである。
この条件下では、T2=70.3nsとなる。但し、記憶ノードrinの電位の変化は、特に上記の数値と、これから示す以下の例に限定されるものではなく、また、本実施の形態における理論と説明は、上記の数値と以下の例にのみ該当するものではない。
そして、式4、式5は、それぞれ以下の式6、式7のようになる。但し、t2については、数値を代入していない。
rin(t)=1−exp(−(t−t3)/t2)≒1−exp(−t/t2)……(6)
rin(t)=1−exp(−(t−(T4+t3))/t2)≒1−exp(−(t−T4)/t2)……(7)
セットに関して、さらに詳細に説明すると、セットの電圧条件が満たされる直前の記憶ノードrinの電位によって、厳密にはセットに要する時間は異なる。しかし、セットに要する時間はきわめて短く、セットの電圧条件が満たされる直前の記憶ノードrinの電位にかかわらず一瞬とみなすことができ、セットの電圧条件が満たされる直前の記憶ノードrinの電位は問題にならない。
以上で、図2の構成と動作の説明が終わったので、次にシミュレータ上でのより具体的な回路素子の配置と接続について説明する。HSPICEなどのアナログシミュレータにおいて、図2で用いたスイッチ類は、電圧依存抵抗を用いるのがよい。また、HSPICEでは、電圧依存抵抗は、特定の2点間の符号付の電圧によって抵抗値の変化する素子として記述する。ここで、特定の2点間の符号付の電圧とは、任意の2点の電位をVDA、VDBとするとき、「VDB−VDA」で表される。以下では、低電圧電源ノードvssrの電位Vvssrは0.0Vとし、「記憶ノードrinの電位」は、「記憶ノードrinと低電圧電源ノードvssrの間の電圧」、または「記憶ノードrinの電位から低電圧電源ノードvssrの電位を引いたもの」と同じとして説明する。しかし、本特許の請求の範囲は、Vvssr=0.0Vの場合に限定されるものではない。
図5は抵抗変化メモリ素子を構成する素子の役割と機能を説明した図である。図5に示す記述例は、後述するHSPICE等のアナログシミュレータのネットリスト記述において、回路素子の名称をどのように設定するかの例が示されている。
ここで、サブサーキットの動作の説明が終わったので、再び、図1に戻り、シミュレーション装置に用いるサブサーキットを図2に示す基本原理と対応させながらその動作を説明する。
可変抵抗部10の高抵抗素子R11は、上述したように、高抵抗状態の抵抗変化メモリ素子の特性を表し、自分自身にかかる電圧によって抵抗値が変化する電圧依存抵抗である。高抵抗素子R11は、例えば、図4のような特性になるようにする。
低抵抗素子R12は、低抵抗状態の抵抗変化メモリ素子の特性を表す素子である。低抵抗素子R12は、自分自身にかかる電圧によって抵抗値が変わらない一定抵抗でもよく、自分自身にかかる電圧によって抵抗値が変わる電圧依存抵抗であってもよい。低抵抗素子R12には、一定抵抗の場合は、例えば、4kΩが適する。
高抵抗状態及び低抵抗状態における抵抗変化メモリ素子の読出し特性は、高抵抗素子R11及び低抵抗素子R12の特性を調整することにより、自由に調整できる。尚、高抵抗素子R11及び低抵抗素子R12は、電圧依存電流源を用いても代用できる。
ノードbl−ノードgl間における高抵抗状態を選択する抵抗素子R13及び低抵抗状態を選択する抵抗素子R14は、記憶ノードrinの電位に依存する抵抗である。
抵抗素子R13は、スイッチとして機能し、記憶ノードrinの電位が高い場合に非常に低抵抗(導通状態)になり、記憶ノードrinの電位が低い場合は非常に高抵抗(開放状態)となる。
抵抗素子R14は、スイッチとして機能し、記憶ノードrinの電位が低い場合に非常に低抵抗(導通状態)になり、記憶ノードrinの電位が高い場合は非常に高抵抗(開放状態)となる。
抵抗素子R13及び抵抗素子R14が、非常に高抵抗になるか非常に低抵抗になるかの基準となる記憶ノードrinの電位Vthは、例えば、0.5Vが適する。
シミュレーションの安定動作のため、抵抗素子R13及び抵抗素子R14の両方が共に、非常に高抵抗の状態(開放状態)になる記憶ノードrinの電位は無いほうがよい。
記憶ノードrinの電位が丁度Vthのときに、抵抗素子R13及び抵抗素子R14の両方が共に、非常に高抵抗の状態(開放状態)になることを避けるための一つの方法として、抵抗素子R13は、記憶ノードrinの電位が0.4999V以上で非常に低抵抗(導通状態)になり、抵抗素子R14は、記憶ノードrinの電位が0.5001V以下で非常に低抵抗(導通状態)になるようにすることが挙げられる。
導通状態にある抵抗素子R13及び抵抗素子R14自体の抵抗値を充分に低くさせると、記憶ノードrinの電位が標準電位Vthより高い場合は、図1に示すノードbl−ノードgl間では、高抵抗素子R11のみが単独で存在するようになり、記憶ノードrinの電位が標準電位Vthより低い場合は、低抵抗素子R12のみが単独で存在するようになる。
読出し特性における現実の素子との差を無視できるくらい小さくするため、抵抗素子R13及び抵抗素子R14の非常に低抵抗の状態(導通状態)の抵抗値は、高抵抗素子R11及び低抵抗素子R12の抵抗値に比べて非常に小さく、少なくとも1桁以上小さくし、抵抗素子R13及び抵抗素子R14の非常に高抵抗の状態(開放状態)の抵抗値は、高抵抗素子R11及び低抵抗素子R12の抵抗値に比べて非常に大きく、少なくとも1桁以上大きくさせてもよい。
抵抗素子R13及び抵抗素子R14の非常に低抵抗の状態(導通状態)の抵抗値は、例えば1mΩが適し、抵抗素子R13及び抵抗素子R14の非常に高抵抗の状態(開放状態)の抵抗値は、例えば1TΩが適する。より具体的には、例えば、抵抗素子R13は、記憶ノードrinの電位が0.4999V以上の場合に1mΩになり、記憶ノードrinの電位が0.4999V以下場合には1TΩとなる。抵抗素子R14は、記憶ノードrinの電位が0.5001V以下の場合に1mΩになり、記憶ノードrinの電位0.5001V以上の場合には1TΩになる。
遅延電位発生部30の遅延素子31は、上述したように、セット後にリセットが起きやすい状態になることを防ぐための素子である。遅延素子31は、2つのノードbl−ノードgl間の電圧をある程度短い遅延t3を持たせてノードdtmoの電位にコピーする。
ここで、ノードdtmoの電位にコピーするとは、ノードdtmoと低電位電源ノードvssrの間の電圧にコピーするということである。「ノードdtmoの電位」と、「ノードdtmoと低電位電源ノードvssrの間の電圧」、「ノードdtmoの電位から低電位電源ノードvssrの電位を引いたもの」は、同義とする。
遅延時間t3としては、例えば、1nsが適する。遅延素子は、HSPICEに存在するので、そのまま用いればよい。遅延素子は、以下のように記述する。
例えば、「E31 dtmo vssr VCVS DELAY bl−gl TD=1ns」と記述する。
これで、1nsの遅延を与えて、ノードblとノードglの間の電圧を、ノードdtmoと低電位電源ノードvssrの間の電圧にコピーせよ、という意味になる。
また、記憶部20の抵抗素子R21及び抵抗素子R23は、上述したように可変抵抗である。尚、図2に示したリセッタ負荷抵抗素子R22は、図1においては、抵抗素子R21に含めて表している。
抵抗素子R21及び抵抗素子R23は、ノードdtmoの電位に依存する電圧依存抵抗である。また、抵抗素子R21及び抵抗素子R23は、2つのノードbl−ノードgl間の電圧に直接的には依存せず、ノードdtmoの電位に依存することによって、2つのノードbl−ノードgl間の電圧を遅延時間t3だけ遅延させた電圧に依存する。
抵抗素子R21は、ノードdtmoの電位がリセット電圧以上セット電圧以下となった場合に抵抗値がある程度低い値R22になり、それ以外の場合は、非常に高い抵抗(開放状態)になる。抵抗素子R23は、ノードdtmoの電位がセット電圧以上の電圧となった場合に低抵抗(抵抗値R23)になり、それ以外の場合は、非常に高い抵抗(開放状態)になる。
抵抗素子R21の低抵抗状態(導通状態)の抵抗値R22は、例えば100Ωが適する。抵抗素子R23の低抵抗状態(導通状態)の抵抗値R23は、例えば、1mΩが適する。
抵抗素子R21の非常に高抵抗の状態(開放状態)の抵抗値は、例えば1018Ωが適する。セット電圧とリセット電圧は、例えば、それぞれ1.6V、0.75Vが可能である。セット電圧とリセット電圧については、自由に調整できることは言うまでもない。
より具体的には、例えば、抵抗素子R21は、ノードdtmoの電位が0.75V以上1.6V以下となった場合に抵抗値が100Ωになり、それ以外の場合は、1018Ωになり、抵抗素子R23は、ノードdtmoの電位が1.6V以上の電圧となった場合に1mΩになり、それ以外の場合は、1018Ωにすることもできる。
キャパシタC24は、記憶保持をし、遅延を与えるための一定容量を有する容量素子である。キャパシタC24は、抵抗素子R21及び抵抗素子R23の両方が共に非常に高い抵抗値(開放状態)のときに、記憶ノードrinの電位を保持する機能を有する。また、抵抗素子R21の低抵抗状態(導通状態)の抵抗値R22とキャパシタC24の容量値C24の積t2は、リセット時間を決定する。キャパシタC24の容量値C24は例えば1nFが適する。
上記の説明では、t1=R2324、t2=R2224と表されるが、ここで挙げた例では、t1=1ps、t2=100ns、t3=1nsである。従って、t1<<t3<<t2の関係を満たしていることが分かる。高電位電源ノードvddrの電位をVvddr=1.0V、低電位電源ノードvssrの電位は、既に述べたとおりVvssr=0.0Vとする。このとき、式(1)〜式(3)により、リセットに要する時間T2=70.3nsとなる。一方、セットに要する時間は、遅延素子31が機能する遅延時間t3でおよそ決まってしまい、約1nsである。
遅延電位発生部30には、HSPICEで予め与えられている遅延素子を使わなくてもよい。遅延機能は、抵抗と容量によるRC遅延を用いて作製することもできる。ここで、遅延電位発生部30の抵抗と容量は、記憶部20中の抵抗や容量とは別のものである。遅延機能の構成要素を、RC遅延を用いて作った例で図6に示す。
図6は遅延電位発生部の基本構成を説明する図である。この図に示すように、遅延電位発生部30は、電圧依存電圧源32、抵抗値が一定の抵抗素子R33、一定の容量を有するキャパシタC34を含む構成をしている。
電圧依存電圧源32は、ノードbl−ノードgl間の電圧を、電圧依存電圧源32の両端の電圧にそのままコピーする。その結果、抵抗素子R33の抵抗値と、キャパシタC34の容量値の積と概ね同じオーダーの遅延時間をもって、図6に示すノードdtmoに、ノード35の電位がコピーされる。
また、図1に示した回路には、さらに可変抵抗部10に並列に、キャパシタC15を挿入する場合がある。図7はキャパシタを挿入した可変抵抗部の基本構成を説明する図である。実際の抵抗変化メモリ素子は、2つの導体からなる平行平板間に比較的抵抗値の高い物質が挿入された構造をとっているため、平行平板間に容量成分が存在する。キャパシタC15は、この平行平板間の容量成分を再現するものである。キャパシタC15が存在しても、図1に示した回路の本質的な動作に変わりはない。
次に、シミュレーション装置及びシミュレーション方法を用いた抵抗変化メモリ回路の設計支援方法の概要から説明する。
図8は抵抗変化メモリ回路の設計を支援する方法を説明するフローチャート図である。図示するように、抵抗変化メモリ回路の設計を支援する方法は、抵抗変化メモリ回路のシミュレーション(ステップS1)、動作検証(ステップS2)及びネットリスト変更または素子属性の変更(ステップS3)の支援ステップを有している。
ここで、抵抗変化メモリ回路のシミュレーション(ステップS1)の支援ステップは、ライブラリ100、記憶部を表すサブサーキット101、ネットリスト102及び初期設定電圧103を使用して、メモリ回路に含まれるノードの電圧の時間変化をシミレーションするステップである。
また、動作検証(ステップS2)の支援ステップは、期待電圧104と、抵抗変化メモリ回路のシミュレーション(ステップS1)で得られたシミュレーション結果とから、抵抗変化メモリ回路の動作の検証を支援するステップである。
ネットリスト変更または素子属性の変更(ステップS3)の支援ステップは、動作検証(ステップS2)の支援ステップにおいて、抵抗変化メモリ回路の動作に不具合があった場合に、ネットリストの変更または素子属性の変更を行う支援ステップである。
図9は抵抗変化メモリ回路のシミュレーションステップをさらに詳細に説明するフローチャート図である。上述した抵抗変化メモリ回路のシミュレーション(ステップS1)は、図示するように、上記ライブラリ100からの部品属性の読込み(ステップS10)、ネットリストの読込み(ステップS11)、記憶部を表すサブサーキットの読込み(ステップS12)、初期設定電圧の読込み(ステップS13)、ノードの電圧の時間解析シミュレーション(ステップS14)及びノードの電圧の時間依存テーブルの作成(ステップS15)を有している。
ここで、部品属性の読込み(ステップS10)のステップは、後述する図10に示す部品属性をシミュレーション装置に入力するステップである。
ネットリストの読込み(ステップS11)のステップは、後述する図11に示すネットリストをシミュレーション装置に読み込ませる、即ち、入力するステップである。
サブサーキットの読込み(ステップS12)のステップは、図1及び図5に示す記憶部のサブサーキットをシミュレーション装置に読み込ませる、即ち、入力するステップである。
初期設定電圧の読込み(ステップS13)のステップは、後述する図13に示す初期設定電圧のテーブルをシミュレーション装置に読み込ませる、即ち、入力するステップである。
次に、図10は素子及び素子の属性を説明する図である。この図では、例えば、素子であるtransistorAと、その属性A、transistorBと、その属性B、capacitorAとその属性M、resistorAとその属性Xが示されている。
図11はネットリストが表す回路の一例を示す図である。また、図12はネットリストの一覧を表す図である。
図11に示す回路は、部品、即ち、素子の接続関係及び接続ノードを示すリストである。具体的には、多機能pMOS40、カラムスイッチであるnMOS41a〜41p、カラムスイッチであるpMOS42a〜42p、抵抗変化メモリ素子43、選択トランジスタ44、増幅用インバータ45,46、プリチャージ制御トランジスタ47,48、ビットライン寄生容量49により構成されている。また各素子は、ノード50,51,52,53,54によって接続されている。
また、多機能pMOS40、nMOS41a〜41p及びpMOS42a〜42pの間にノード50を、nMOS41a〜41p、pMOS42a〜42pと抵抗変化メモリ素子43の間にノード51、抵抗変化メモリ素子43と選択トランジスタ44の間にノード52を有する。さらに、多機能pMOS40のゲートにノードXWE、nMOS41a〜41pのゲートにノードCL1、pMOS42a〜42pのゲートにノードCPL1、選択トランジスタ44のゲートにノードWL、プリチャージ制御トランジスタ47,48のゲートにノードPRCを有する。
ここで、図12に示すMN40は、多機能pMOS40に対応し、MN41a〜MN41pは、カラムスイッチのnMOS41a〜41pに対応し、MP42a〜MN42pは、カラムスイッチのpMOS42a〜42pに対応し、サブサーキット43は、抵抗変化メモリ素子43に対応し、MN44は選択トランジスタ44に対応し、サブサーキット45,46は、増幅用インバータ45,46に対応し、MN47,MN48は、プリチャージ制御トランジスタ47,48に対応し、C49は、ビットライン寄生容量49に対応している。
また、MOSトランジスタを示すMN40等の括弧内は、順に、ドレイン端子、ゲート端子、ソース端子、基板に接続する端子を示している。そして、括弧の右隣には、MOSトランジスタの属性を示している。例えば、N、L、Wは、順に、導電型、チャネル長(ゲート電極の幅)、チャネル幅を示している。
このように、図11に示す回路は、メモリセルが、1つの選択トランジスタ44及び1つの抵抗変化メモリ素子43により構成される1T1R型抵抗変化メモリである。また、図11に示す回路は、メモリセルの他に、書込みと読出しに必要な回路が含まれる。
図1に示した回路は、以上のような動作原理に基づいて実際の抵抗変化メモリ素子に極めて近い電気的特性を示す。図1に示したサブサーキットが図11に示した回路の抵抗変化メモリ素子43の部分に組込まれることにより、図11の回路は、実際の抵抗変化メモリ素子を含む回路と極めて近い回路動作をする。従って、正しくネットリストを記述し、抵抗変化メモリ素子43として組込むネットリストのパラメータが正しいものであれば、製品或いはCTEGとして製造或いは試作する半導体チップ或いは半導体マクロと同等な動作をシミュレーション装置上で再現することが可能である。その結果、図8、図9に示したような方法で、抵抗変化メモリ素子を含む回路の設計を支援し、効率化することができる。
次に、上記ネットリストを用いた回路設計支援方法を説明する。
図13はアナログシミュレータに入力する初期設定値の例を示す図である。図13では、ノード名及び初期値を示している。
ノードは、素子と素子の接続点、サブサーキットと素子の接続点、或いは、サブサーキットとサブサーキットとの接続点をいう。そして、ノードの指定は、ノードインバータからなる回路Aのノードを指定する場合は、例えば、InvA・node(a)と表すことにより行う。
初期値は各ノードの初期電圧である。そして、初期値の指定は、ノード名、例えば、InvA・node(a)に対して行う場合には、InvA・node(a)、1.0Vというように指定する。
図14はアナログシミュレータによって作成される時間依存テーブルを示す図である。この時間依存テーブルは、ノード、初期値、各時刻でのノードの電圧が表されている。
ノードは、シミュレーションを行う回路内のすべてのノードが記載されている欄である。初期値は、初期設定値が与えられたノードに対して、初期値が記載されている欄である。時刻は、シミュレーションによって、結果を得たい時刻が記載された欄である。各ノードの電圧は、シミュレーションで求めた各ノードの各時刻での電圧が記載された欄である。
尚、アナログシュミレータには、シミュレーション後に、シミュレーションで求めた、各時刻に対する各ノードの電圧値のテーブルが作成される。そこで、当初の各ノードに対して設定された初期設定値と、シミュレーションで求めた、各時刻に対する各ノードの電圧値のテーブルを組み合わせて、アナログシミュレータは図14の時間依存テーブルを作成する。
図15は動作検証の支援ステップの詳細について示すフローチャート図である。この図は、図8に示した動作検証(ステップS2)の詳細について示すフローチャートを示している。そして、図15のフローチャートは、動作検証として、ノードの電圧の時間依存テーブルの読込み(ステップS2a)、期待値の読込み(ステップS2b)、期待値が設定されているノード、時刻において、シミュレーションで求めたノードの電圧と期待電圧を比較し(ステップS2c)及び指定時刻において、ノード電圧と期待電圧が一致していたかを判断する(ステップS2d)ステップを有している。
ここで、ノードの電圧の時間依存テーブルを読み込むステップは、時間テーブルを読み込むステップである。期待値の読込みのステップは、期待値テーブルを読み込むステップである。シミュレーションで求めたノードの電圧と期待電圧を比較するステップは、期待値が設定されている時刻において、シミュレーションで求めたノードの電圧と期待電圧の比較を行い、比較結果を出力するステップである。ノード電圧と期待電圧が一致していたかを判断するステップは、比較結果に基づいて、シミュレーションを行った回路の動作検証の支援を行うステップである。
そして、動作確認を行った結果、良好であれば、抵抗変化メモリ回路の設計の支援は終了する。一方、動作確認を行った結果、期待値と一致しないノードの電圧が存在した場合には、後に詳細を示す、回路変更、素子属性の変更の支援ステップへ進む。
図16は期待値テーブルを示す図である。そして、期待値テーブルは、ノード、期待値及び時刻で表されている。
ノードは、期待値が設定されているノードの一覧が記載されている欄である。期待値は、各ノードに対する電圧の期待値が記載されている欄である。時刻は、期待値が設定されている時刻を記載する欄である。
図17は期待値とシミュレーションを行って得たノードの電圧との比較テーブルを示す図である。上記の比較テーブルは、ノード名、期待値、シミュレーション値、時刻、比較結果を含む構成をしている。
ノード名は、期待値と電圧を比較するノードが記載されている欄である。期待値はノードに記載されたノードに対する期待値が記載されている欄である。シミュレーション値は、ノードに記載されたノードに対するものであって、時刻欄に記載された時刻に対応する、シミュレーションで求めた電圧が記載されている欄である。時刻は、期待値とノードの電圧の比較を行う時刻が記載されている欄である。比較結果は、期待値とシミュレーションで求めたノードの電圧を比較した結果が記載されている欄である。
例えば、ノードに記載されたノード、「InvA node(a)」に対して、期待値に記載された期待値は>0.9V、シミュレーション値に記載されたノードの電圧は1.0Vであるときには、比較結果には、「Yes」と記載され、期待値とノードの電圧が合致することが示される。
一方、ノードに記載されたノード、「InvA node(b)」に対して、期待値の欄に記載された期待値は>0.9V、シミュレーション値に記載されたノードの電圧は0.5Vであるときには、比較結果には、「No」と記載され、期待値とノードの電圧が合致しないことが示される。そして、比較結果に記載され記載結果がすべて、「Yes」であるときに、期待値とノードの電圧が一致していると判断する。
このように、図8に示す動作検証(ステップS2)の支援ステップでは、期待値とシミュレーションで求めたノードの電圧を比較し、すべての期待値とノードの電圧が一致しているときに、期待値とノード電圧が一致していると判断する。そして、期待値とノード電圧が一致するときには、抵抗変化メモリ素子を含むメモリ回路の設計支援を終了する。一方、期待値とノード電圧が一致しないときには、抵抗変化メモリ素子を含むメモリ回路の設計をさらに支援するため、回路変更または素子属性の変更の支援ステップへ進む。
図18は回路変更または素子属性の変更の支援ステップの詳細を示すフローチャート図である。そして、回路変更または素子属性の変更の支援ステップは、素子属性の変更が必要かを判断し(ステップS3a)、素子属性の変更が必要な場合は、素子属性の変更をし(ステップS3b)、そして、ネットリストの変更が必要かを判断し(ステップS3c)、ネットリストの変更が必要な場合は、ネットリストの変更を行う(ステップS3d)。
素子属性の変更が必要かを判断するステップは、期待値とノードの電圧が一致しなかった原因が、負荷の見積もりを誤った等に起因する信号遅延の見積もり誤りの問題なのかを検討し、素子属性の変更が必要か否かを判断するステップである。素子属性の変更の支援ステップは、素子属性の変更が必要と判断する場合に、どのような素子属性とすればよいかを検討し、その素子属性と合致するように、素子属性の変更を支援するステップである。ネットリストの変更が必要かを判断するステップは、期待値とノードの電圧が一致しなかった原因が、論理の誤り等によるものなのかを検討し、ネットリストの変更が必要か否かを判断するステップである。ネットリストの変更の支援ステップは、ネットリストの変更が必要と判断する場合に、ネットリストの変更を支援するステップである。
このように、上記シミュレーション方法では、サブサーキットを構成する回路部品を接続する接続ノードの内の一つ(例えば、記憶ノードrin)が、記憶部の記憶状態に対応する電圧を保持する記憶ノードとなっているサブサーキットをアナログシミュレータに入力し、記憶装置を構成する回路部品間の接続関係が記載されているネットリストをアナログシミュレータに入力し、アナログシミュレーションを行い、記憶装置を構成する回路部品間の接続ノードの電圧の時間変化を求める。
さらに、記憶装置を構成する回路部品間の接続ノードの電圧の期待値を入力し、アナログシミュレータで求めた記憶装置を構成する回路部品間の接続ノードの電圧と、記憶装置を構成する回路部品間の接続ノードの電圧の期待値を比較し、比較結果を出力し、比較結果から記憶装置の動作が正常に動作しているか否かを判断する。
実際のシミュレーション結果はどのようなものであるか、もう少し具体的な例を挙げて説明する。尚、以下で挙げる例は、図8乃至図18で示した回路設計支援方法の例と必ずしも対応したものではなく、シミュレーション結果の一例を示したものである。
以下で挙げる例では、図11で示した、抵抗変化メモリ素子43を含む回路の、各トランジスタのゲートノードXWE、CL1、CPL1、WL、PRCに特定の電位信号を与え、書込みを行い、それぞれの書込みの後に読出しを行い、書込んだとおりの読出し結果が得られ、各ノードの電位が意図したものとなっているかどうかを確認するというものである。図11に示す抵抗変化メモリ素子43には、図1に示したサブサーキットを用いている。以下で挙げるシミュレーション結果は、実際にHSPICEによってシミュレーションを行うことによって得られた結果である。
以下に説明するシミュレーション結果では、図11に示すVDDHの電位を3.3Vとし、抵抗変化メモリ素子の特性として用いたパラメータは、C24=1nF、R22=100Ω、R23=1mΩ、t1=1ps、t2=100ns、t3=1ns、Vvddr=1.0V、Vvssr=0.0V、Vth=0.5V、T2=70.3ns、そして、リセット電圧が0.75V、セット電圧が1.60Vである。
図19はシミュレータ上での各時刻における動作モードを示した図である。最初の100nsは省電力モード、次の100nsはセットモード、その次の100nsはセット後の読出し、その次の200nsはリセットモード、その次の100nsはリセット後の読出し、その次の100nsはセットモード、その次の100nsはセット後の読出し、その次の200nsはリセットモード、その次の100nsはリセット後の読出しである。
ここで、省電力モードとは、電力を消費しないようにする待機状態のモードである。セットモードとは、抵抗変化メモリ素子43がセットの電圧条件を満たす電圧信号を与えるように回路を動作させるモードである。リセットモードとは、抵抗変化メモリ素子43がリセットの電圧条件を満たす電圧信号を与えるように回路を動作させるモードである。
読出しモードでは、抵抗変化メモリ素子43の記憶即ち抵抗状態に応じて、図11に示すノード54に電位信号が出力されるモードである。読出しモードにおいては、抵抗変化メモリ素子43の抵抗状態が低抵抗である場合は、ノード54に0.0Vに近い低い電位を、抵抗変化メモリ素子43の抵抗状態が高抵抗である場合は、ノード54に3.3Vに近い高い電位をそれぞれ出力する。
2回あるリセットモードのうち1回目、即ち、時刻300〜500nsにおいては、抵抗変化メモリ素子43がリセットの電圧条件を満たす状態が長時間連続する連続モードである。一方、リセットモードのうち2回目、即ち、時刻800〜1000nsにおいては、抵抗変化メモリ素子43がリセットの電圧条件を満たす状態と満たさない状態を10ns程度の比較的短い時間ごとに繰返す、断続モードである。このような断続モードは、実際の抵抗変化メモリでは用いないかもしれないが、このような2つのリセットモードの動作の違いを示すため、このような設定としている。
図20はXWE、CL1、CPL1、WL及びPRCとして与えた信号の波形図である。図11で示した回路の詳細な説明は本発明の範囲を超えるため、省略するが、図19で示した動作をさせるための信号を与えたことになる。
図21はシミュレーション結果として得られる各ノードの電位を説明する図である。ここで、ノード54の電位に注目すると、時刻200〜300nsにおいては、ノード54の電位は0.0Vに近い電位であり、抵抗変化メモリ素子43の低抵抗状態が読出されたものと推測できる。同様に、時刻500〜600nsにおいては、ノード54の電位は3.3Vに近い電位であり、抵抗変化メモリ素子43の高抵抗状態が読出されたものと推測できる。同様に、時刻700〜800nsにおいては、ノード54の電位は0.0Vに近い電位であり、抵抗変化メモリ素子43の低抵抗状態が読出されたものと推測できる。同様に、時刻1000〜1100nsにおいては、ノード54の電位は3.3Vに近い電位であり、抵抗変化メモリ素子43の高抵抗状態が読出されたものと推測できる。従って、セット後の読出しにおいては低抵抗状態が読出され、リセット後の読出しにおいては高抵抗状態が読出されていることが推測できる。
図22はシミュレーション結果として得られる各ノードの電位を説明する図である。この図では、抵抗変化メモリ素子43の両端の電圧、選択トランジスタ44を流れる電流、抵抗変化メモリ素子を表すサブサーキット中のノードdtmoの電位、抵抗変化メモリ素子を表すサブサーキット中の記憶ノードrinの電位が示されている。ここで、今回のシミュレーションで用いた図11に示すネットリストは、抵抗変化メモリ素子43を1つのみを含んでいる。従って、図11中のノード51と、図1中のノードbl、図11中のノード52と、図1中のノードglは同じノードを表している。
書込み後に正しく読出されているであるという推測は、図21及び図22の各電圧、電位、電流の信号によって確認できる。特に、抵抗変化メモリ素子を表した、図1に示すサブサーキット中の記憶ノードrinの電位を確認することによって、特定時刻において高抵抗状態が書込まれているか、低抵抗状態が書込まれているかどうかを確認することができる。例えば、時刻490nsにおいて、記憶ノードrinの電位は、Vth=0.5Vより高い電位となっている。従って、時刻490nsにおける抵抗変化メモリ素子の状態は、高抵抗であるということが分かる。
1回目のリセットモードにおいては、時刻300nsにおいてリセットの電圧条件が満たされる状態が始まり、そこからT2=70.3ns経過した時刻370ns付近にて記憶ノードrinの電位がVth=0.5Vに達し、リセットが起きていることが分かる。図21、図22の各電圧、電位、電流信号を見ると、この時刻にいくつかの電圧、電位、電流信号が変化していることが分かる。
2回目のリセットモードにおいては、最初に時刻800nsにおいてリセットの電圧条件が満たされる状態が始まり、そこからある程度の時間が経過した後に記憶ノードrinの電位がVth=0.5Vに達し、リセットが起きていることが分かる。ここで、抵抗変化メモリ素子43の両端の電圧に注目すると、リセットの電圧条件である0.75V以上1.6V以下という条件を満たす期間と満たさない期間が繰返されていることが分かる。リセットが起きた時刻は、時刻800nsからリセットの電圧条件である0.75V以上1.6V以下という条件を満たす期間が累積の合計時間でT2=70.3nsに到達した時刻である。
尚、セットは、事実上無限小とみなせる極めて短い時間で起きるため、図21、図22の結果では、セットの電圧条件が満たされるとすぐに起きる。例えば、時刻100nsでは、セットが起こっていることが抵抗変化メモリ素子を表すサブサーキット中の記憶ノードrinの電位がVvssr=0.0Vと同じ電位になっていることから分かる。ここで、もし遅延素子31が無かったとすると、記憶ノードrinの電位がVth=0.5Vと同程度で止まってしまい、セット直後にリセットが極めて起きやすい状態となってしまい、現実の抵抗変化メモリ素子と異なってしまう。
ここで挙げたサブサーキットの例では、シミュレーション対象のネットリストに抵抗変化メモリ素子を表すサブサーキットが1つのみ存在する。しかし、シミュレーション対象のネットリストに抵抗変化メモリ素子を表すサブサーキットが多数存在する場合でも、このサブサーキットを使ったシミュレーションは可能であり、このような場合に、より威力を発揮する。実際のメモリ製品や製品に近いCTEGでは、シミュレーション対象のネットリストに抵抗変化メモリ素子を表すサブサーキットが多数存在する。尚、シミュレーション対象のネットリストに抵抗変化メモリ素子を表すサブサーキットが多数とは、ネットリスト上で、抵抗変化メモリ素子を表すサブサーキットは1箇所のみに記述されていても、そのサブサーキットが多数の箇所で呼び出されている場合を含む。
ここで挙げたシミュレーションの例では、正常に動作したことが分かる。つまり、電圧、電位、電流信号のシミュレーション値と期待値が一致した。このような場合は、シミュレーション対象のネットリストは正常に動くという結論となり、回路設計支援は終了する。しかし、もし正常ではなく、電圧、電位、電流信号のシミュレーション値と期待値が一致しない箇所が1箇所でも存在した場合、素子属性、ネットリストを必要に応じて修正し、再度シミュレーションを行う必要がある。
高抵抗状態を書込んだ場合、書込んだ後、記憶ノードrinの電位の期待値はVth=0.5V以上となり、低抵抗状態を書込んだ場合、書込んだ後、記憶ノードrinの電位の期待値はVth=0.5V以下となる。従って、記憶ノードrinの電位のシミュレーション値が、記憶ノードrinの電位の期待値の範囲外であった場合、書込み動作に関する回路のネットリストの修正が必要である。また、記憶ノードrinの電位がVth=0.5V以上である状態で読出しを行ったときの、ノード54の電位の期待値は、2.7V以上であり、記憶ノードrinの電位がVth=0.5V以下である状態で読出しを行ったときの、ノード54の電位の期待値は0.6V以下である。この場合、ノード54の電位のシミュレーション値が、ノード54の電位の期待値の範囲外であった場合は、読出し動作に関する回路のネットリストの修正が必要である。以上は、あくまで例であり、本発明の請求の範囲は、これらの例に限定されるものではない。
このようなシミュレーション装置によれば、記憶部を表すサブサーキットに記憶状態を示す記憶ノードを設けて、記憶部を表すサブサーキットは可変抵抗部の状態に応じて動作をする。そのため、記憶部を表すサブサーキットの動作後の状態が保持され、その状態に基づいて、さらに、記憶部を表すサブサーキットは次の動作を連続して行うことができる。書込みと読出しを複雑に組合せたシミュレーションにおいて、抵抗変化メモリ素子を表すサブサーキットが多数ある場合に、特に威力を発揮する。
また、遅延素子の導入により、セット後にリセットが起きやすいという、実際の抵抗変化メモリ素子と異なった振る舞いをすることを回避できる。また、サブサーキット中の抵抗値や容量値等を調整することにより、リセット時間、セット電圧、リセット電圧、高抵抗状態または低抵抗状態における抵抗値等のパラメータを自由に設定できる。ここで、リセット時間には、リセットの電圧条件を満たしている時間の累積時間が適用される。
以上により、抵抗変化メモリ素子を含む記憶部を用いた記憶装置のアナログシミュレーションを連続して行えるため、上記の記憶部を含むメモリ回路のシミュレーションを容易に行える抵抗変化メモリのシミュレーション装置、抵抗変化メモリのシミュレーション方法、及び回路設計支援方法を提供することができる。
(第2の実施の形態)
次に、第2の実施の形態について説明する。以下の説明では、第1の実施の形態で説明した同一の構成要素には、同一の符号を付し、その構成要素及び作用の説明の詳細については省略する。
この第2の実施の形態では、第1の実施の形態で説明した遅延する電圧信号を可変抵抗部10から記憶部20に送信するのではなく、記憶部20から可変抵抗部10に送信することを特徴としている。
図23は抵抗変化メモリ素子に相当するサブサーキットの中身を表す回路図である。この図は、図11に示す抵抗変化メモリ素子43に相当するサブサーキットの中身を表す第2の実施の形態に関する回路図が示されている。
図23に示すサブサーキットは、可変抵抗部10、遅延電位発生部60、記憶部20を含む構成をしている。そして、この回路では、抵抗変化メモリ素子の状態、即ち高抵抗状態か、または低抵抗状態かの情報を、記憶部20の記憶ノードrinで表す。
可変抵抗部10は、高抵抗素子R11、低抵抗素子R12、抵抗素子R13、抵抗素子R14、ノードbl及びノードglを含む構成をし、ノードblとノードglとの間に高抵抗素子R11と抵抗素子R13とが直列に接続されている。また、ノードblとノードglとの間に低抵抗素子R12と抵抗素子R14とが直列に接続されている。
高抵抗素子R11は、高抵抗状態の抵抗変化メモリ素子43の特性を表し、自分自身にかかる電圧によって抵抗値が変わる電圧依存抵抗である。例えば、高抵抗素子R11は、図4のような特性になるようにする。
低抵抗素子R12は、低抵抗状態の抵抗変化メモリ素子の特性を表す素子である。低抵抗素子R12は、自分自身にかかる電圧によって抵抗値が変わる電圧依存抵抗であっても、自分自身にかかる電圧によって抵抗値が変わらない一定抵抗でもよい。一定抵抗とした場合は、低抵抗素子R12は、例えば4kΩが適する。
一方、記憶部20は、高電位電源ノードvddr、低電位電源ノードvssr、記憶ノードrin、リセッタスイッチ及びリセッタ負荷抵抗素子として機能する抵抗素子R21、セッタスイッチとして機能する抵抗素子R23及びキャパシタC24を含む構成をし、高電位電源ノードvddrと低電位電源ノードvssrとの間に、抵抗素子R21及び抵抗素子R23が直列に接続されている。そして、記憶ノードrinと低電位電源ノードvssrとの間には、キャパシタC24が接続されている。
ここで、抵抗素子R21及び抵抗素子R23は、2つのノードbl−ノードgl間の電圧に依存する電圧依存抵抗である。
また、抵抗素子R21は、2つのノードbl−ノードgl間の電圧がリセット電圧以上セット電圧以下となった場合に、抵抗値がある程度低い値R22になり、それ以外の場合は、非常に高い抵抗(開放状態)になる。
そして、記憶ノードrinの電位は、抵抗素子R21及び抵抗素子R23の抵抗値を変化させることにより、変化する。
遅延電位発生部60は、遅延素子61、ノードdrin、低電位電源ノードvssrを含む構成をしている。遅延素子61は、セット後にリセットが起きやすい状態になることを防ぐための素子である。遅延素子61は、記憶ノードrinの電位をある程度短い遅延t3を持たせてノードdrinの電位にコピーする。
図24は抵抗変化メモリ素子を構成する素子の役割と機能を説明した図である。図24に記述された例は、HSPICE等のアナログシミュレータのネットリスト記述において、回路素子の名称をどのように設定するかの例が示されている。
以上で、図23に示す回路の構成とそれぞれの素子の役割についての説明が終わったので、次に、図23に示す回路の動作について説明する。
図25は抵抗変化メモリ素子に相当する回路図である。図25は、図23に示すサブサーキットの動作を容易に理解するために、図23に示す回路構成をより具体的に説明した図である。図25では、第2の実施の形態のシミュレーション装置の基本原理が示されている。尚、この図においては、シミュレーション装置の基本原理を容易に理解するためにスイッチ機能のある抵抗素子を直接スイッチ素子として表記している。
図25の左側は、可変抵抗部10であり、右側は、記憶部20である。記憶部20は、記憶を保持し、また可変抵抗部10に印加される電圧等の情報に応じて状態と記憶内容を変化する機能を有する。また、可変抵抗部10は、記憶部20の記憶ノードrinの電位によって、2つのノードbl−ノードgl間の抵抗値を変化させる機能を有する。
図25に示す回路構成は、図11に示す抵抗変化メモリ素子43の状態、即ち高抵抗状態か、或いは低抵抗状態かの情報を、記憶部20の記憶ノードrinで表している点に特徴がある。以上の点に関しては、第1の実施の形態で説明した内容と同様である。
第2の実施の形態と第1の実施の形態との相違は、以下に説明する遅延電位発生部の役割である。
高抵抗状態を選択するスイッチSW13、低抵抗状態を選択するスイッチSW14は、記憶ノードrinの電位に応じて、常にどちらか一方が導通している。
例えば、記憶ノードrinの電位が高い場合には、2つのノードbl−ノードgl間の抵抗値が高抵抗であり、記憶ノードrinの電位が低い場合には、2つのノードbl−ノードgl間の抵抗値が低抵抗になる制御をする場合、記憶ノードrinの電位が高い場合にスイッチSW13が導通し、記憶ノードrinの電位が低い場合にスイッチSW14が導通する。この点の考え方は、第1の実施の形態と同様である。
第2の実施の形態においては、リセッタスイッチSW21またはセッタスイッチSW23を導通させるか否かの判断には、2つのノードbl−ノードgl間の電圧を遅延させずにそのまま用いる。
しかし、スイッチSW13及びスイッチSW14は、記憶ノードrinの電位を短い時間遅延させた電位に応じて、常にどちらか一方が導通するようにする。
即ち、第1の実施の形態では、リセッタスイッチSW21、セッタスイッチSW23を導通させるか否かの判断に、2つのノードbl−ノードgl間の電圧を短い時間遅延させた電圧を用いている。これに対し、第2の実施の形態では、スイッチSW13、スイッチSW14は、記憶ノードrinの電位を短い時間遅延させた電位に応じて、常にどちらか一方を導通させるようにする。つまり、第1の実施の形態と第2の実施の形態との差異は、遅延させる電位信号を発生する遅延電位発生部と、その影響が与えられるスイッチを変更させた点である。
こうすることにより、セット時に、抵抗変化メモリ素子43は、以下のような動作をする。2つのノードbl−ノードgl間の電圧が、セットの電圧条件を満たしている状態では、セッタスイッチSW23が導通状態で、リセッタスイッチSW21は絶縁状態(開放状態)である。ここで、記憶ノードrinの電位が基準電位Vthを上回った状態から下回った状態に変化した直後では、2つのノードbl−ノードgl間の抵抗はすぐには低抵抗状態にならない。
言い換えると、記憶ノードrinの電位が基準電位Vthを下回った状態でも、2つのノードbl−ノードgl間の抵抗値の高抵抗の状態が遅延時間の分の長さだけ続く。
この遅延時間分の時間では、可変抵抗部10において、セッタスイッチSW23が導通状態で、リセッタスイッチSW21は絶縁状態だと認識する。そのため、遅延時間分の時間が終わるまでには、記憶ノードrinの電位は低電位電源ノードvssrと略同じ電位に到達する。その結果、セット後にリセットの電圧条件を満たしたとしても、記憶ノードrinの電位が低電位電源ノードvssrと同じ電位の状態からリセット動作が始まるため、リセットの電圧条件が満たされる時間は、記憶ノードrinの電位が低電位電源ノードvssrの電位から高電位電源ノードvddrの電位まで上昇するリセッタ負荷抵抗素子R22とキャパシタC24とのRC積で調整できることになる。
このように、第2の実施の形態においては、セット直後にリセットがおきやすい問題を回避するために、記憶ノードrinの電位が基準電位Vthより下回った状態で、2つのノードbl−ノードgl間の抵抗値が高抵抗の状態が遅延時間の分の長さだけ続くことになる。
その他の各素子の役割、リセット時間の設定方法等は、第1の実施の形態と同様である。
以上で、サブサーキットの動作の説明が終わったので、再び、図23に戻り、シミュレーション装置に用いるサブサーキットを図25に示す基本原理と対応させながらその動作を説明する。以下に、シミュレータ上でのより具体的な回路素子の配置と接続について説明する。また、HSPICEなどのアナログシミュレータにおいて、図25で用いたスイッチ類は、電圧依存抵抗を用いるのがよい。
HSPICEでは、電圧依存抵抗は、特定の2点間の符号付の電圧によって抵抗値の変化する素子として記述する。ここで、特定の2点間の符号付の電圧とは、特定の2点の電位をVDA、VDBとするとき、「VDB−VDA」で表される。以下では、低電圧電源ノードvssrの電位Vvssrは0.0Vとし、「記憶ノードrinの電位」は、「記憶ノードrinと低電圧電源ノードvssrの間の電圧」、「記憶ノードrinの電位から低電圧電源ノードvssrの電位を引いたもの」と同じとして説明する。しかし、本特許の請求の範囲は、Vvssr=0.0Vの場合に限定されるものではない。
また、高抵抗状態及び低抵抗状態における抵抗変化メモリ素子の読出し特性は、高抵抗素子R11及び低抵抗素子R12の特性を調整することにより、自由に調整できる。尚、高抵抗素子R11及び低抵抗素子R12は、電圧依存電流源を用いても代用できる。
抵抗素子R13及び抵抗素子R14は、記憶ノードrinの電位には直接的に依存せず、遅延電位発生部60のノードdrinの電位に依存する抵抗である。即ち、記憶ノードrinの電位を遅延時間t3だけ遅延させた電位に依存する。
また、抵抗素子R13は、スイッチとして機能し、ノードdrinの電位が高い場合には、非常に低抵抗(導通状態)になり、ノードdrinの電位が低い場合には非常に高抵抗(開放状態)となる。
抵抗素子R14は、スイッチとして機能し、ノードdrinの電位が基準電位Vthより低い場合に非常に低抵抗(導通状態)になり、ノードdrinの電位が基準電位Vthより高い場合は非常に高抵抗(開放状態)となる。このように抵抗素子R13及び抵抗素子R14が非常に高抵抗(開放状態)或いは非常に低抵抗(導通状態)になるかの基準は、基準電位Vthによって決定され、その値は、例えば0.5Vが適する。
シミュレーションの安定動作のため、抵抗素子R13及び抵抗素子R14の両方が共に非常に高抵抗(開放状態)になるノードdrinの電位は無いほうがよい。
ノードdrinの電位が丁度Vthのときに、抵抗素子R13及び抵抗素子R14の両方が共に非常に高抵抗(開放状態)になることを避けるための一つの方法として、抵抗素子R13は、ノードdrinの電位が0.4999V以上で非常に低抵抗(導通状態)になり、抵抗素子R14は、ノードdrinの電位が0.5001V以下で非常に低抵抗(導通状態)になるようにすることなどが挙げられる。
読出し特性における現実の素子との差を無視できるくらい小さくするため、抵抗素子R13及び抵抗素子R14の非常に低抵抗(導通状態)の状態の抵抗値は、高抵抗素子R11及び低抵抗素子R12の抵抗値に比べて非常に小さく、少なくとも1桁以上小さくし、抵抗素子R13及び抵抗素子R14の非常に高抵抗(開放状態)の状態の抵抗値は、高抵抗素子R11及び低抵抗素子R12の抵抗値に比べて非常に大きく、少なくとも1桁以上大きくするべきである。
抵抗素子R13及び抵抗素子R14の低抵抗(導通状態)の状態の抵抗値は、例えば1mΩが適し、抵抗素子R13及び抵抗素子R14の非常に高抵抗(高抵抗状態)の状態の抵抗値は、例えば1TΩが適する。具体的には、例えば、抵抗素子R13は、ノードdrinの電位が0.4999V以上の場合に1mΩになり、ノードdrinの電位が0.4999V以下場合には1TΩとなる。抵抗素子R14は、ノードdrinの電位が0.5001V以下の場合に1mΩになり、ノードdrinの電位が0.5001V以上の場合には1TΩになる。
導通状態にある抵抗素子R13及び抵抗素子R14自体の抵抗値を充分に低くさせると、記憶ノードrinの電位が標準電位Vthより高い場合は、図23に示すノードbl−ノードgl間には、高抵抗素子R11のみが単独で存在するようになり、記憶ノードrinの電位が標準電位Vthより低い場合は、低抵抗素子R12のみが単独で存在するようになる。
遅延電位発生部60の遅延素子61は、上述したように、セット後にリセットが起きやすい状態になることを防ぐための素子である。遅延素子61は、記憶ノードrinの電位をある程度短い遅延時間(t3)を持たせてノードdrinの電位にコピーする。ここで、ノードdrinの電位にコピーするとは、ノードdrinと低電位電源ノードvssrの間の電圧にコピーするということである。「drinの電位」と、「ノードdrinと低電位電源ノードvssrの間の電圧」、「ノードdrinの電位から低電位電源ノードvssrの電位を引いたもの」は、同義とする。
遅延時間t3としては、例えば、1nsが適する。遅延素子61は、HSPICEに存在するので、そのまま用いればよい。
遅延素子61は、例えば、「E61 drin vssr VCVS DELAY rin vssr TD=1ns」のように記述する。
これで、1nsの遅延を与えて、記憶ノードrinと低電位電源ノードvssrの間の電圧を、ノードdrinと低電位電源ノードvssrの間の電圧にコピーせよ、という意味になる。
記憶部20の抵抗素子R23は、上述したように、2つのノードbl−ノードgl間の電圧がセット電圧以上の電圧となった場合にある程度低い低抵抗(抵抗値R23)になり、それ以外の場合は、非常に高い抵抗(開放状態)になる。
また、抵抗素子R21のある程度低い抵抗値R22とは、例えば100Ωが適する。抵抗素子R23の低抵抗(導通状態)の状態の抵抗値R23は、例えば、1mΩが適する。抵抗素子R21の非常に高抵抗(開放状態)の状態の抵抗値は、例えば1018Ωが適する。
また、セット電圧とリセット電圧は、例えば、それぞれ1.6V、0.75Vが可能である。セット電圧とリセット電圧が自由に調整できることは言うまでもない。具体的には、例えば、抵抗素子R21は、2つのノードbl−ノードgl間の電圧が0.75V以上1.6V以下となった場合に抵抗値が100Ωになり、それ以外の場合は、1018Ωになり、抵抗素子R23は、2つのノードbl−ノードgl間の電圧が1.6V以上の電圧となった場合に1mΩになり、それ以外の場合は、1018Ωになる。
キャパシタC24は、記憶保持をし、遅延を与えるための一定容量を有する容量素子である。キャパシタC24は、抵抗素子R21及び抵抗素子R23の両方が非常に高い抵抗値(開放状態)のときに、記憶ノードrinの電位を保持する機能を有する。また、抵抗素子R21のある程度低い値R22とキャパシタC24の容量値C24の積t2は、リセット時間を決定する。キャパシタC24の容量値C24は、例えば1nFが適する。
セット時及びリセット時の記憶ノードrinの電位変化の時定数は、それぞれ、t1=R2324、t2=R2224と表されるが、ここで挙げた例では、t1=1ps、t2=100ns、t3=1nsである。従って、t1<<t3<<t2の関係を満たしていることが分かる。高電位電源ノードvddrの電位をVvddr=1.0V、低電位電源ノードvssrの電位は既に述べたとおりVvssr=0.0Vとする。このとき、式(1)〜式(3)により、リセットに要する時間T2=70.3nsとなる。一方、セットに要する時間は、遅延素子61が機能する遅延時間t3でおよそ決まり、約1nsである。
遅延電位発生部60には、第1の実施の形態で説明したように、HSPICEで予め与えられている遅延素子61を使わなくてもよい。
尚、図23に示した回路にて可変抵抗部10に並列に、第1の実施の形態で説明した図7のように、キャパシタC15を挿入する場合がある。
図23に示した回路は、以上のような動作原理に基づいて実際の抵抗変化メモリ素子に極めて近い電気的特性を示す。
図23に示したサブサーキットが図11に示す回路の抵抗変化メモリ素子43として組込まれることにより、図11に示す回路は、実際の抵抗変化メモリ素子を含む回路と極めて近い回路動作をする。従って、正しくネットリストを記述し、抵抗変化メモリ素子43として組込むネットリストのパラメータが正しいものであれば、製品或いはCTEGとして製造或いは試作する半導体チップ或いは半導体マクロと同等な動作をシミュレーション装置上で再現することが可能である。その結果、図8、図9で示したような方法で、抵抗変化メモリ素子を含む回路の設計を支援し、効率化することができる。
第2の実施の形態においても、第1の実施の形態の図13乃至図22を用いて説明した回路設計支援方法の例やシミュレーションの例と同様な回路設計支援方法やシミュレーションが可能である。
また、第2の実施の形態の発明の効果は、第1の実施の形態と同様である。
(第3の実施の形態)
次に、第3の実施の形態について説明する。以下の説明では、第1、2の実施の形態で説明した同一の構成要素には、同一の符号を付し、その構成要素及び作用の説明の詳細については省略する。
第3の実施の形態では、記憶部にプルバッカスイッチを備えたことを特徴としている。
図26は抵抗変化メモリ素子に相当するサブサーキットの中身を表す回路図である。この図は、図11に示す抵抗変化メモリ素子43に相当するサブサーキットの中身を表す第3の実施の形態に関する回路図である。
この図に示す回路は、可変抵抗部10、遅延電位発生部70、記憶部20を含む構成をしている。図26に示す回路構成では、抵抗変化メモリ素子の状態、即ち高抵抗状態か低抵抗状態かの情報を、記憶部20の記憶ノードrinで表している点に特徴がある。
可変抵抗部10は、高抵抗素子R11、低抵抗素子R12、抵抗素子R13及び抵抗素子R14を含む構成をしている。また、遅延電位発生部70は、遅延素子71を含む構成をしている。これら2つの部分に関しては、第1の実施の形態における図1に示す可変抵抗部10及び遅延電位発生部30と同一であり、その説明は省略する。
記憶部20は、リセッタスイッチ及びリセッタ負荷抵抗素子として機能する抵抗素子R21、セッタスイッチとして機能する抵抗素子R23、プルバッカスイッチとして機能する抵抗素子R25,R26及びキャパシタC24を含む構成をし、高電位電源ノードvddrと低電位電源ノードvssrとの間に、抵抗素子R21及び抵抗素子R23が直列に接続されている。また、記憶ノードrinと低電位電源ノードvssrとの間には、キャパシタC24の他、抵抗素子R25,R26が並列に接続されている。ここで、抵抗素子R25,R26は可変抵抗である。
図27は抵抗変化メモリ素子を構成する素子の役割と機能を説明した図である。この図に示す記述例とは、HSPICE等のアナログシミュレータのネットリスト記述において、回路素子の名称をどのように設定するかの例を示している。この図では、可変抵抗部の記述例は、図5と同一なので、その記載を省略している。
以上で、図26に示す回路の構成とそれぞれの素子の役割についての説明が終わったので、次に図26に示す回路の動作について説明する。
図28は抵抗変化メモリ素子に相当する回路図である。図28は、図26に示すサブサーキットの動作を容易に理解するために、図26に示す回路構成をより具体的に説明した図である。図28では、第3の実施の形態のシミュレーション装置の基本原理が示されている。尚、この図においては、シミュレーション装置の基本原理を容易に理解するために、スイッチ機能のある抵抗素子を直接スイッチ素子として表記している。
図28の左側は、可変抵抗部10であり、右側は、記憶部20である。記憶部20は、記憶を保持し、可変抵抗部10に印加される電圧等の情報に応じて状態と記憶内容を変化させる機能を有している。一方、可変抵抗部10は、記憶部20の記憶ノードrinの電位によって、2つのノードbl−ノードgl間の抵抗値を、変化させる機能を有している。
図28に示す回路構成では、抵抗変化メモリ素子の状態、即ち高抵抗状態か、または低抵抗状態かの情報を、記憶部を表す記憶部20の記憶ノードrinで表している点に特徴がある。以上の点は、図1を用いて説明した第1の実施の形態におけると同様である。
また、第3の実施の形態における可変抵抗部10は、図1に示す可変抵抗部10と同様である。従って、以下では、第3の実施の形態における記憶部20を詳細に説明する。
記憶部20は、高電位電源ノードvddr、低電位電源ノードvssr、記憶ノードrin、リセッタスイッチSW21、リセッタ負荷抵抗素子R22、セッタスイッチSW23、キャパシタC24及びプルバッカスイッチSW25,SW26を含む構成をしている。
第3の実施の形態における記憶部20では、2つの直列に接続されたスイッチであるプルバッカスイッチSW25,SW26を備えている点が、図1と異なる。これら2つのプルバッカスイッチSW25,SW26によって、記録部20は、2つのノードbl−ノードgl間の抵抗が低抵抗状態であって、このようなリセットの電圧条件を満たした状態が途切れたときに、記憶ノードrinの電位を低電位電源ノードvssrと同じ電位に戻す機能を有する。これら2つのプルバッカスイッチSW25,SW26を備えることにより、リセットに要する時間は、累積時間ではなく連続時間になる(後述)。
プルバッカスイッチSW25は、2つのノードbl−ノードgl間の電圧が、リセットの電圧条件を満たさなくなった場合に導通する。また、プルバッカスイッチSW26は、記憶ノードrinの電位が低い場合に導通する。つまり、プルバッカスイッチSW25は、「リセットの電圧条件を満たす状態が途切れたときに」に導通し、プルバッカスイッチSW26は、「2つのノードbl−ノードgl間の抵抗が低抵抗状態のときに」に導通する。2つのプルバッカスイッチSW25,SW26の経路を通じて記憶ノードrinと低電位電源ノードvssrが導通するのは、2つのプルバッカスイッチSW25,SW26の両方が共に導通したときである。即ち、2つのノードbl−ノードgl間の抵抗が低抵抗状態であり、且つリセットの電圧条件を満たした状態が途切れたときに、プルバッカスイッチSW25,SW26の両方が導通する。
セッタスイッチSW23及びリセッタスイッチSW21は、それぞれ、セットの電圧条件が満たされるとき及びリセットの条件が満たされるときに導通する。これらの作用については、第1の実施の形態と同じであるので、これ以上の説明は省略する。因みに、セットの電圧条件が満たされるときに、プルバッカスイッチSW25を導通させるかどうかは、殆ど動作に影響しない。何故なら、セットの電圧条件が満たされるときは、セッタスイッチSW23が導通しているからである。
セットの条件もリセットの条件も満たさない場合は、セッタスイッチSW23もリセッタスイッチSW21も導通しない。この場合、記憶ノードrinの電位が、基準電位Vth以上であり、高抵抗状態のときは、プルバッカスイッチSW26が導通せず、キャパシタC24の機能により、電位は保持される。
一方、記憶ノードrinの電位が、リセットの電圧条件を満たした状態が途切れ、標準電位Vth以下になり、さらに2つのノードbl−ノードgl間の抵抗が低抵抗状態のときは、2つのプルバッカスイッチSW25及びプルバッカスイッチSW26の両方が導通し、記憶ノードrinの電位は、低電位電源ノードvssrと同じ電位となる。
第1の実施の形態の説明と同様に、セット後にリセットがおきやすい状態を回避するために、遅延素子が必要である。
第3の実施の形態においては、第1の実施の形態に近い機能を有した遅延素子を用いている。セッタスイッチSW23、リセッタスイッチSW21及びプルバッカスイッチSW26を導通させるかどうかの判断に、2つのノードbl−ノードgl間の電圧を短い時間遅延させた電圧を用いる。
即ち、セッタスイッチSW23は、2つのノードbl−ノードgl間の電圧を短い時間遅延させた電圧信号がセット電圧以上である場合に導通し、リセッタスイッチSW21は、2つのノードbl−ノードgl間の電圧を短い時間遅延させた電圧信号がリセット電圧以上セット電圧以下である場合に導通するようにする。それに加えて、プルバッカスイッチSW25は、2つのノードbl−ノードgl間の電圧を短い時間遅延させた電圧信号がリセット電圧以下である場合に導通するようにする。
尚、第2の実施の形態で説明した遅延素子と第3の実施の形態における記憶部20は、組み合わせることも可能である。また、リセット時間の設定方法等は、第1の実施の形態と同様であり、ここでは説明を省略する。
次に、リセットの電圧条件を満たした状態から、2つのノードbl−ノードgl間にかかる電圧がリセット電圧以下になり(リセットの電圧条件が途切れ)、リセットの電圧条件を満たさない状態から、再びリセットの電圧条件を満たした場合に記憶ノードrinがどのように動作するかを説明する。
図29はリセットをする場合の記憶ノードrinの電位の変化を説明する図である。横軸は時刻(ns)、縦軸はrinの電位(V)を示している。尚、この図は、t2=100ns、t3=1ns、Vvddr=1.0V、Vvssr=0.0V、Vth=0.5V、T2=70.3nsという条件を用いて作成している。
図29における期間A及び期間Cは、リセットの電圧条件を満たしている期間である。期間Bは、リセットの電圧条件もセットの電圧条件も満たしていない期間、つまり、2つのノードbl−ノードgl間の電圧がリセット電圧以下の期間である。また、この図は、一例であり、上記の数値と後述する例に限定されるものではない。また、第3の実施の形態における理論と説明は、上記の数値と以下の例のみではなく、一例を用いて説明している。
期間A及び期間Cにおいては、記憶ノードrinの電位は、時定数t2で変化する。
そして、期間Aにおける記憶ノードrinの電位Vrinは、以下の式で表される。
rin(t)=Vvssr+(Vvddr−Vvssr)(1−exp(−(t−t3)/t2
)……(4)
また、期間Aの長さをT2A、期間Bの長さをT4とするとき、期間Cにおける記憶ノードrinの電位Vrinは、以下の式で表される。
rin(t)=Vvssr+(Vvddr−Vvssr)(1−exp(−(t−(T2A+T4
3))/t2))……(8)
図29で示される構成では、リセットに要する時間は、連続時間が適用される。つまり、セットの電圧条件を満たさない限りにおいて、リセットの電圧条件を満たしている期間の連続時間がT2に達しない限りリセットが起きず、2つのノードbl−ノードgl間の抵抗値が高抵抗にならない。図29においては、期間A及び期間Cの長さをそれぞれT2A、T2Cとすると、T2A+T2C≧T2となっても、リセットが起きない。もし、T2A≧T2、或いは、T2C≧T2ならばリセットが起きる。この点が、第1の実施の形態との相違である。この相違は、プルバッカスイッチSW25,SW26の機能によって生じる。
さらに、第3の実施の形態を具体的数値例を挙げて説明する。
図28に示す高電位電源ノードvddrの電位は常に1.0V、低電位電源ノードvssrの電位は常に0.0V、リセッタ負荷抵抗素子R22の抵抗値は100Ω、キャパシタC24の容量値は1nFとする。記憶ノードrinの電位が0.5Vより高い場合に2つのノードbl−ノードgl間の抵抗値が高抵抗、記憶ノードrinの電位が0.5Vより低い場合に2つのノードbl−ノードgl間の抵抗値が低抵抗とする。これらを今まで用いた記号で表現すると、C24=1nF、R22=100Ω、t2=100ns、t3=1ns、Vvddr=1.0V、Vvssr=0.0V、Vth=0.5Vである。
この条件下では、T2=70.3nsとなる。また、式4、式8は、それぞれ、以下の式6、式9のようになることは容易に理解できる。但し、t2について数値を代入していない。
rin(t)=1−exp(−(t−t3)/t2)≒1−exp(−t/t2)……(6)
rin(t)=1−exp(−(t−(T2A+T4+t3))/t2)≒1−exp(−(t−(T2A+T4))/t2)……(9)
以上で、サブサーキットの動作の説明が終わったので、再び、図26に戻り、シミュレーション装置に用いるサブサーキットを図28に示す基本原理と対応させながらその動作を説明する。以下に、シミュレータ上でのより具体的な回路素子の配置と接続について説明する。HSPICEなどのアナログシミュレータにおいて、図28で用いたスイッチ類は、電圧依存抵抗を用いるのがよい。
HSPICEでは、電圧依存抵抗は、特定の2点間の符号付の電圧によって抵抗値が変化する素子として記述する。ここで、特定の2点間の符号付の電圧とは、特定の2点の電位をVDA、VDBとするとき、「VDB−VDA」で表される。以下では、低電圧電源ノードvssrの電位Vvssrは0.0Vとし、「記憶ノードrinの電位」は、「記憶ノードrinと低電圧電源ノードvssrの間の電圧」、「記憶ノードrinの電位から低電圧電源ノードvssrの電位を引いたもの」と同じとして説明する。しかし、Vvssr=0.0Vの場合のみに限定されるものではない。
記憶部20の抵抗素子R21、抵抗素子R23、抵抗素子R25、抵抗素子R26は、上述したようにノードdtmoの電位に依存する電圧依存抵抗である。2つのノードbl−ノードgl間の電圧に直接的に依存せず、ノードdtmoの電位に依存することによって、2つのノードbl−ノードgl間の電圧を遅延時間t3だけ遅延させた電圧に依存する。
抵抗素子R21は、ノードdtmoの電位がリセット電圧以上セット電圧以下となった場合に抵抗値がある程度低い値R22になり、それ以外の場合は、非常に高い抵抗(開放状態)になる。
抵抗素子R23は、ノードdtmoの電位がセット電圧以上の電圧となった場合に低抵抗(抵抗値R23)になり、それ以外の場合は、非常に高い抵抗(開放状態)になる。
抵抗素子R25は、ノードdtmoの電位がリセット電圧以下となった場合に低抵抗(抵抗値R25)になり、それ以外の場合は、非常に高い抵抗(開放状態)になる。
抵抗素子R26は、記憶ノードrinの電位が低い場合に非常に低抵抗(導通状態)になり、記憶ノードrinの電位が高い場合に非常に高抵抗(開放状態)になる。
抵抗素子R21のある程度低い抵抗値R22は、例えば100Ωが適する。抵抗素子R23,R25,R26の低抵抗の状態のそれぞれの抵抗値R23、R25、R26は、例えば、1mΩが適する。抵抗素子R21、抵抗素子R25,R26の非常に高抵抗(開放状態)の状態の抵抗値は、例えば1018Ωが適する。セット電圧とリセット電圧は、例えば、それぞれ1.6V、0.75Vが可能である。但し、セット電圧とリセット電圧は、自由に調整できる。
抵抗素子R26の抵抗値が非常に高抵抗(開放状態)或いは非常に低抵抗(導通状態)になるかの判断基準となる記憶ノードrinの電位は、抵抗素子R13及び抵抗素子R14が、非常に高抵抗(開放状態)になるか非常に低抵抗(導通状態)になるかの判断基準となる記憶ノードrinの基準電位Vthと同じとする。例えば、0.5Vが適する。
より具体的には、抵抗素子R21は、ノードdtmoの電位が0.75V以上1.6V以下となった場合に抵抗値が100Ωになり、それ以外の場合は、1018Ωになる。抵抗素子R23は、ノードdtmoの電位が1.6V以上の電圧となった場合に1mΩになり、それ以外の場合は、1018Ωになる。
抵抗素子R25は、ノードdtmoの電位が0.75V以下の場合に抵抗値が1mΩになり、それ以外の場合は、1018Ωになる。抵抗素子R26は、記憶ノードrinの電位が0.5V以下の場合に抵抗値が1mΩになり、それ以外の場合は、1018Ωになる。
キャパシタC24は、記憶保持をし、遅延を与えるための一定容量を有する容量素子である。キャパシタC24は、抵抗素子R21及び抵抗素子R23の両方が共に非常に高抵抗(開放状態)であり、かつ、抵抗素子R25、抵抗素子R26のうち、少なくとも片方が非常に高抵抗(開放状態)のときに、記憶ノードrinの電位を保持する機能を有する。また、抵抗素子R21のある程度低い値R22とキャパシタC24の容量値C24の積t2は、リセット時間を決定する。キャパシタC24の容量値C24は、例えば1nFが適する。
1=R2324、t2=R2224と表されるが、ここで挙げた例では、t1=1ps、t2=100ns、t3=1nsである。従って、t1<<t3<<t2の関係を満たしていることが分かる。高電位電源ノードvddrの電位をVvddr=1.0V、低電位電源ノードvssrの電位は、Vvssr=0.0Vとする。このとき、式(1)〜式(3)により、リセットに要する時間T2=70.3nsとなる。一方、セットに要する時間は、遅延素子71が機能する遅延時間t3でおよそ決まってしまい、約1nsである。
尚、図26に示す回路において、可変抵抗部10に並列に、キャパシタC15を挿入する場合がある。この場合の可変抵抗部10は、図7のようになる。実際の抵抗変化メモリ素子は、2つの導体からなる平行平板間に比較的抵抗値の高い物質が挿入された構造をとっているため、平行平板間に容量成分が存在する。キャパシタC15は、この平行平板間の容量成分を再現するものである。キャパシタC15が存在しても、図26に示した回路の本質的な動作に変わりはない。
実際のシミュレーション結果を具体的な例を挙げて説明する。以下で挙げる例は、第1の実施の形態において、図12乃至図18、図20で示した回路設計支援方法の例と必ずしも対応したものではなく、シミュレーション結果の一例を示している。
以下に挙げる例は、図11に示す抵抗変化メモリ素子43を含む回路の、各トランジスタのゲートノードXWE、CL1、CPL1、WL、PRCに特定の電位信号を与え、書込みを行い、それぞれの書込みの後に読出しを行い、書込んだとおりの読出し結果が得られ、各ノードの電位が意図したものとなっているかどうかを確認するというものである。
ここでの抵抗変化メモリ素子43には、図26に示したネットリストを用いている。この点が、第1の実施の形態におけるシミュレーション結果の具体例とは異なる。以下で挙げるシミュレーション結果は、実際にHSPICEによってシミュレーションを行うことによって得られた結果である。
VDDH=3.3Vとし、抵抗変化メモリ素子の特性として用いたパラメータは、C24=1nF、R22=100Ω、R23=1mΩ、R25=1mΩ、R26=1mΩ、t1=1ps、t2=100ns、t3=1ns、Vvddr=1.0V、Vvssr=0.0V、Vth=0.5V、T2=70.3ns、そして、リセット電圧が0.75V、セット電圧が1.60Vである。
シミュレータ上での各時刻において、どのような動作モードになっているかは、第1の実施の形態にて、図19で示したものと同一である。最初の100nsは省電力モード、次の100nsはセットモード、その次の100nsはセット後の読出し、その次の200nsはリセットモード、その次の100nsはリセット後の読出し、その次の100nsはセットモード、その次の100nsはセット後の読出し、その次の200nsはリセットモード、その次の100nsはリセット後の読出しである。
省電力モードとは、電力を消費しないようにする待機状態のモードである。セットモードとは、抵抗変化メモリ素子43がセットの電圧条件を満たす電圧信号を与えるように回路を動作させるモードであり、リセットモードとは、抵抗変化メモリ素子43がリセットの電圧条件を満たす電圧信号を与えるように回路を動作させるモードである。
読出しモードでは、抵抗変化メモリ素子43の記憶即ち抵抗状態に応じて、ノード54に電位信号が出力されるモードである。読出しモードにおいては、抵抗変化メモリ素子43の抵抗状態が低抵抗である場合は、ノード54に0.0Vに近い低い電位を、抵抗変化メモリ素子43の抵抗状態が高抵抗である場合は、ノード54に3.3Vに近い高い電位をそれぞれ出力する。
2回あるリセットモードのうち1回目、即ち、時刻300〜500nsにおいては、抵抗変化メモリ素子43がリセットの電圧条件を満たす状態が長時間連続する連続モードである。一方、リセットモードのうち2回目、即ち、時刻800〜1000nsにおいては、抵抗変化メモリ素子43がリセットの電圧条件を満たす状態と満たさない状態を10ns程度の比較的短い時間ごとに繰返す、断続モードである。このような断続モードは、実際の抵抗変化メモリでは用いないかもしれないが、このような2つのリセットモードの動作の違いを示すため、このような設定とした。
図30はXWE、CL1、CPL1、WL及びPRCとして与えた信号の波形を説明する図である。図11に示す回路の詳細な説明は本発明の範囲を超えるため、ここでは省略するが、図19で示した動作をさせるための信号を与えたことになる。
図31はシミュレーション結果として得られた各ノードの電位を説明する図である。ここで、ノード54に注目する。時刻200〜300nsにおいては、ノード54の電位は0.0Vに近い電位であり、抵抗変化メモリ素子43の低抵抗状態が読出されたものと推測できる。
時刻500〜600nsにおいては、ノード54の電位は3.3Vに近い電位であり、抵抗変化メモリ素子43の高抵抗状態が読出されたものと推測できる。
時刻700〜800nsにおいては、ノード54の電位は0.0Vに近い電位であり、抵抗変化メモリ素子43の低抵抗状態が読出されたものと推測できる。
時刻1000〜1100nsにおいては、ノード54の電位は0.0Vに近い電位であり、抵抗変化メモリ素子43の低抵抗状態が読出されたものと推測できる。
従って、1回目のセット後の読出しにおいては低抵抗状態が読出され、1回目のリセット後の読出しにおいては高抵抗状態が読出され、2回目のセット後の読出しにおいては低抵抗状態が読出され、2回目のリセット後の読出しにおいても低抵抗状態が読出されていることが推測できる。ここで、2回目のリセット後の読出しにおいても低抵抗状態が読出されていることは、第1の実施の形態におけるシミュレーション結果の具体例と異なる。
また、図32はシミュレーション結果として得られた各ノードの電位を説明する図である。図32には、抵抗変化メモリ素子43の両端の電圧、選択トランジスタ44を流れる電流、抵抗変化メモリ素子を表すサブサーキット中のノードdtmoの電位、抵抗変化メモリ素子を表すサブサーキット中の記憶ノードrinの電位が示されている。ここで、今回のシミュレーションで用いた図26に示すネットリストは、抵抗変化メモリ素子1つのみを含む。従って、図11に示すノード51と図26に示すノードbl、図11に示すノード52と図26に示すノードglは同じノードを表している。
第1の実施の形態と結果が異なる解釈には、図31及び図32の各電圧、電位、電流の信号を調べるとよい。特に、図26に示す記憶ノードrinの電位を調査することによって、特定時刻において高抵抗状態が書込まれているか、低抵抗状態が書込まれているかどうかを調査することができる。例えば、時刻490nsにおいて、記憶ノードrinの電位は、Vth=0.5Vより高い電位となっている。従って、時刻490nsにおける抵抗変化メモリ素子の状態は、高抵抗であるということが分かる。
1回目のリセットモードにおいては、時刻300nsにおいてリセットの電圧条件が満たされる状態が始まり、そこからT2=70.3nsが経過した時刻370ns付近にて記憶ノードrinの電位がVth=0.5Vに達し、リセットが起きていることが分かる。図31及び図32の各電圧、電位、電流信号を見ると、この時刻にいくつかの電圧、電位、電流信号が変化していることが分かる。
2回目のリセットモードにおいては、最初に時刻800nsにおいてリセットの電圧条件が満たされる状態が始まる。しかし、その後記憶ノードrinの電位がVth=0.5Vに到達せず、リセットが起きていないことが分かる。ここで、抵抗変化メモリ素子43の両端の電圧に注目すると、リセットの電圧条件である0.75V以上1.6V以下という条件を満たす期間と満たさない期間が繰返されていることが分かる。図26に示す2つのプルバッカスイッチの機能により、リセットの電圧条件を満たさない状態になると、記憶ノードrinの電位は、低電位電源ノードvssrと同じ電位に戻されてしまい、リセットの電圧条件を連続したT2=70.3nsの時間だけ満たさない限り、永久にリセットが起きないためである。この点が、第1の実施の形態と異なる。当然、この後の読出しにおいては、低抵抗状態が読出される。
尚、セットは、事実上無限小とみなせる極めて短い時間で起きるため、図31及び図32の結果では、セットの電圧条件が満たされるとすぐに起きる。例えば、時刻100nsでは、セットが起こっていることが抵抗変化メモリ素子を表すサブサーキット中の記憶ノードrinの電位がVvssr=0.0Vと同じ電位になっていることから分かる。ここで、もし遅延素子71が無かったとすると、記憶ノードrinの電位がVth=0.5Vと同程度で止まってしまい、セット直後にリセットが極めて起きやすい状態となってしまい、現実の抵抗変化メモリ素子と異なってしまう。
ここで挙げたサブサーキットの例では、シミュレーション対象のネットリストに抵抗変化メモリ素子を表すサブサーキットが1つのみ存在する。しかし、シミュレーション対象のネットリストに抵抗変化メモリ素子を表すサブサーキットが多数存在する場合でもこのサブサーキットを使ったシミュレーションは可能であり、このような場合により威力を発揮する。実際のメモリ製品や製品に近いCTEGでは、シミュレーション対象のネットリストに抵抗変化メモリ素子を表すサブサーキットが多数存在する。尚、シミュレーション対象のネットリストに抵抗変化メモリ素子を表すサブサーキットが多数とは、ネットリスト上で、抵抗変化メモリ素子を表すサブサーキットは1箇所のみに記述されていても、そのサブサーキットが多数の箇所で呼び出されている場合を含む。
ここで、仮に、2回目のリセットにおいて、高抵抗状態が書込まれることを期待したとする。その場合、ここで示したシミュレーション結果の例では、期待した結果と異なることになる。つまり、電圧、電位、電流信号のシミュレーション値と期待値が一致しなかった部分が存在する。この場合、素子属性、ネットリスト等を修正する必要がある。ここで、さらに、抵抗変化メモリ素子の特性は、図26〜図29を用いて説明した特性であることが明らかであったものとする。このような場合、シミュレーション対象のネットリストを修正する必要があると判断することができる。2回目のリセット動作においては、抵抗変化メモリ素子43がリセットの電圧条件を満たす状態と満たさない状態を10ns程度の比較的短い時間ごとに繰返す断続モードであったが、これでは抵抗変化メモリ素子はリセットしない。この断続モードを連続モードとする、つまり、2回目のリセット動作において、1回目のリセット動作と同様になるように、XWEの信号を修正するようにする。このように修正した後に、再度シミュレーションを行う。
本実施例による発明の効果は、以下の通りである。記憶部を表すサブサーキットに記憶状態を示す記憶ノードを設けて、記憶部を表すサブサーキットはその記憶ノードに応じて動作をする。そのため、記憶部を表すサブサーキットの動作後の状態が保持され、その状態に基づいて、さらに、記憶部を表すサブサーキットは次の動作を連続して行える効果がある。この効果は、書込みと読出しを複雑に組合せたシミュレーションにおいて、抵抗変化メモリ素子を表すサブサーキットが多数ある場合に、特に威力を発揮する。
また、遅延素子の導入により、セット後にリセットが起きやすいという、本来の抵抗変化メモリ素子と異なった振る舞いをすることを回避できる。加えて、サブサーキット中の抵抗値や容量値等を調整することにより、リセット時間、セット電圧、リセット電圧、高抵抗状態または低抵抗状態における抵抗値等のパラメータを自由に設定できる。ここで、リセット時間には、リセットの電圧条件を満たしている時間の連続時間が適用される。
以上により、抵抗変化メモリ素子を含む記憶部を用いた記憶装置のアナログシミュレーションを連続して行えるため、上記の記憶部を含む、メモリ回路のシミュレーションを容易に行える抵抗変化メモリのシミュレーション装置、抵抗変化メモリのシミュレーション方法、及び回路設計支援方法を提供することができる。
(第4の実施の形態)
第4の実施の形態は、第1〜3の実施の形態の抵抗変化メモリの回路設計の支援方法に用いる、回路設計支援装置に関するものである。
図33は回路設計支援装置を説明する図である。この装置は、抵抗変化メモリ素子を含む記憶部を用いた記憶装置の回路設計を支援する回路設計支援装置である。この回路設計支援装置によって、図9に示すフローチャートが確実に実行される。
回路設計支援装置は、シミュレーション部106、変更部107、動作確認部108及び入出力部109を含む構成をしている。
回路設計支援装置は、シミュレーション部106によって、抵抗変化メモリ回路のシミュレーションが行われる。具体的には、シミュレーション部106は、ライブラリ100、記憶部を表すサブサーキット101、ネットリスト102、初期設定電圧103及び期待電圧104からのデータを、入出力部109から受け取り、記憶装置を構成する回路部品間の接続ノードの電圧の時間変化を求める。
ここで、記憶部を表すサブサーキット101は、サブサーキットを構成する回路部品を接続する接続ノードの内の一つ(例えば、記憶ノードrin)が、記憶部の記憶状態に対応する電圧を保持する記憶ノードとなっているサブサーキットのデータである。
ネットリスト102は、記憶装置を構成する回路部品間の接続関係が記載されているネットリストのデータである。例えば、図11に示すネットリストが相当する。
そして、動作確認部108によって、期待値のデータと接続ノードの電圧が比較され、比較結果が出力される。具体的には、期待電圧104からのデータを、入出力部109から受け取り、図8のフローチャートを実行する。また、動作確認部108は、指定時刻における期待値と各ノード電圧を比較した結果、ノード電圧と期待電圧の比較が一致したかの判断結果、及び変更されたネットリストまたは素子属性等が含まれる結果を結果105として出力部109を介して出力する。
また、変更部107によって、ネットリストの変更または素子属性の変更が行われる。具体的には、ネットリスト102及びライブラリ100から、入出力部109を介して受け取ったネットリストを変更または素子属性を変更する。
尚、回路設計支援装置は、ワークステーション等の適切なハードウェア資源と共に実現される。また、回路設計支援装置のハードウェア資源以外の部分は、磁気媒体、光学媒体、電気信号または光学信号を介して配布可能である。
このような回路設計支援装置によれば、第1〜3の実施の形態の回路設計支援方法を容易に行える効果がある。
(付記1) 抵抗変化メモリ素子の動作検証を行うシミュレーション装置において、
第1の電位に保持された第1の電源ノードと、
前記第1の電源ノードに接続された第1の抵抗と、
前記第1の抵抗に第2の抵抗を介して直列に接続され、第2の電位に保持された第2の電源ノードと、
前記第1の抵抗と前記第2の抵抗との間に位置する記憶ノードと、
前記記憶ノードと前記第2の電源ノードとの間に前記第2の抵抗に並列に接続されたキャパシタと、を備え、
前記第1の抵抗の抵抗値及び前記第2の抵抗の抵抗値を前記シミュレーション装置に設けた可変抵抗部に印加される電圧によって変化させ、前記記憶ノードの電位が前記第1の電源ノードまたは前記第2の電源ノードのいずれかの電位に制御されることを特徴とするシミュレーション装置。
(付記2) 前記可変抵抗部の抵抗値が前記記憶ノードの電位によって制御されることを特徴とする付記1記載のシミュレーション装置。
(付記3) 前記可変抵抗部においては、
高抵抗状態を表す第3の抵抗と、
低抵抗状態を表す第4の抵抗と、
前記第3の抵抗に接続された第5の抵抗と、
前記第4の抵抗に接続された第6の抵抗と、を有し、
前記第5の抵抗の抵抗値と前記第6の抵抗の抵抗値が前記記憶ノードの電位によって制御されることを特徴とする付記1または2記載のシミュレーション装置。
(付記4) 前記第1の抵抗の抵抗値及び前記第2の抵抗の抵抗値が前記可変抵抗部に印加される電圧を遅延させた電圧によって制御されることを特徴とする付記1乃至3のいずれか一項に記載のシミュレーション装置。
(付記5) 前記第1の抵抗の抵抗値及び前記第2の抵抗の抵抗値が前記可変抵抗部に印加される電圧を遅延させた電圧によって変化することにおいては、前記シミュレーション装置が第1の遅延電位発生部を備え、前記第1の遅延電位発生部が前記可変抵抗部の両端にかかる電圧を遅延させて出力し、前記第1の抵抗及び前記第2の抵抗の抵抗値が前記第1の遅延電位発生部から出力される電位によって変化することを特徴とする付記1乃至4のいずれか一項に記載のシミュレーション装置。
(付記6) 前記可変抵抗部の抵抗値が前記記憶ノードの電位を遅延させた電位によって変化することを特徴とする付記1乃至3のいずれか一項に記載のシミュレーション装置。
(付記7) 前記第5の抵抗及び前記第6の抵抗の抵抗値が前記記憶ノードの電位を遅延させた電位によって変化することにおいては、前記シミュレーション装置が第2の遅延電位発生部を備え、前記第2の遅延電位発生部が前記記憶ノードの電位を遅延させて出力し、前記第5の抵抗及び前記第6の抵抗の抵抗値が前記第2の遅延電位発生部の出力によって変化することを特徴とする付記1、2、3、6のいずれか一項に記載のシミュレーション装置。
(付記8) 前記記憶ノードと前記第2の電源ノードの間に第7の抵抗及び第8の抵抗が直列に接続され、前記第7の抵抗の抵抗値は前記可変抵抗部に印加される電圧によって変化し、前記第8の抵抗の抵抗値は前記記憶ノードの電位によって変化することを特徴とする付記1乃至7のいずれか一項に記載のシミュレーション装置。
(付記9) 前記第1の抵抗または前記第2の抵抗の一方の抵抗は、前記可変抵抗部の両端に印加される電圧が第3の電位以上であり、且つ第4の電位以下の場合に第1の抵抗値となり、前記可変抵抗部の両端に印加される電圧がそれ以外の電位の場合には第2の抵抗値となり、
他方の抵抗は、前記可変抵抗部の両端にかかる電圧が前記第4の電位以上の場合に第3の抵抗値となり、前記可変抵抗部の両端に印加される電圧がそれ以外の電位の場合には第4の抵抗値となることを特徴とする付記1乃至8のいずれか一項に記載のシミュレーション装置。
(付記10) 前記第5の抵抗と前記第6の抵抗の一方の抵抗は、前記記憶ノードの電位が第5の電位以上の場合に第5の抵抗値となり、前記記憶ノードの電位が前記第5の電位以下の場合に第6の抵抗値となり、
他方の抵抗は、前記記憶ノードの電位が前記第5の電位以下の場合に第7の抵抗値となり、前記記憶ノードの電位が前記第5の電位以上の場合に第8の抵抗値となることを特徴とする付記1乃至9のいずれか一項に記載のシミュレーション装置。
(付記11) 前記第7の抵抗の抵抗値は、前記可変抵抗部の両端に印加される電圧が前記第3の電位以下の場合に第9の抵抗値となり、前記可変抵抗部の両端に印加される電圧が前記第3の電位以上の場合に第10の抵抗値となり、
前記第8の抵抗の抵抗値は、前記記憶ノードの電位が前記第5の電位以上の場合に第11の抵抗値となり、前記記憶ノードの電位が前記第5の電位以下の場合に第12の抵抗値となることを特徴とする付記1乃至10のいずれか一項に記載のシミュレーション装置。
(付記12) 前記第1の抵抗値は、前記第2の抵抗値より低く、前記第3の抵抗値は、前記第4の抵抗値より低いことを特徴とする付記1乃至11のいずれか一項に記載のシミュレーション装置。
(付記13) 前記第3の抵抗の抵抗値は前記第4の抵抗の抵抗値より高く、前記第5の抵抗値と前記第6の抵抗値のうち一方は、前記第3の抵抗の抵抗値より1桁以上低く、前記第5の抵抗値と前記第6の抵抗値のうち他方は、第4の抵抗の抵抗値より1桁以上高く、
前記第7の抵抗値と前記第8の抵抗値のうち一方は、前記第3の抵抗の抵抗値より1桁以上低く、他方は、第4の抵抗の抵抗値より1桁以上高いことを特徴とする付記1乃至12のいずれか一項に記載のシミュレーション装置。
(付記14) 前記第1の抵抗値と前記キャパシタの容量の積を第1の時定数とし、前記第3の抵抗値と前記キャパシタの積を第2の時定数とし、前記遅延電位発生部が与える遅延時間を第1の遅延時間とするとき、前記第2の時定数より前記第1の遅延時間が長く、前記第1の遅延時間より前記第1の時定数のほうが長いことを特徴とする付記1乃至13のいずれか一項に記載のシミュレーション装置。
(付記15) 定数の値がloge((前記第1の電位−前記第2の電位)/(前記第5の電位−前記第2の電位))である場合に、前記抵抗変化メモリ素子のリセットに要する時間が(前記第1の時定数)×(前記定数)+(前記遅延時間)となるように、前記第1の抵抗値及び前記キャパシタの容量値が決定されていることを特徴とする付記1乃至14のいずれか一項に記載のシミュレーション装置。
(付記16) 前記第9の抵抗値が前記第10の抵抗値より低いことを特徴とする付記11記載のシミュレーション装置。
(付記17) 前記第3の抵抗は、自分自身或いは前記可変抵抗部の両端に印加される電圧によって抵抗値が変化することを特徴とする付記1乃至16のいずれか一項に記載のシミュレーション装置。
(付記18) 前記可変抵抗部に寄生容量を表すキャパシタが備えられていることを特徴とする付記1乃至17のいずれか一項に記載のシミュレーション装置。
(付記19) 抵抗変化メモリ素子の記憶状態を出力するノードを含むサブサーキットを入力するステップと、
記憶装置を構成する回路部品間の接続関係を入力するステップと、
前記回路部品間における電圧条件を入力するステップと、
前記電圧条件における前記回路部品間の電圧変化を取得するステップと、
を有することを特徴とする回路設計支援方法。
(付記20) 抵抗変化メモリ素子を含む記憶部を用いた記憶装置の回路設計を、アナログシミュレータを用いて支援する回路設計支援方法であって、
サブサーキットを構成する回路部品を接続する接続ノードの内の一つが、前記記憶部の記憶状態に対応する電圧を保持するノードを備えた前記サブサーキットを前記アナログシミュレータに入力するステップと、
前記記憶装置を構成する回路部品間の接続関係が記載されているネットリストを前記アナログシミュレータに入力するステップと、
アナログシミュレーションを行ない、前記記憶装置を構成する前記回路部品間の前記接続ノードの電圧の時間変化を求めるステップと、
を有することを特徴とする回路設計支援方法。
(付記21) 前記記憶装置を構成する前記回路部品間の接続ノードの電圧の期待値を入力するステップと、
前記アナログシミュレータで求めた、前記記憶装置を構成する前記回路部品間の接続ノードの電圧と、前記記憶装置を構成する前記回路部品間の接続ノードの電圧の期待値を比較し、比較結果を出力するステップと、
前記比較結果から前記記憶装置の動作が正常に動作しているか否かを判断するステップと、
を有することを特徴とする付記20記載の回路設計支援方法。
(付記22) 前記記憶装置の動作が正常に動作していない場合には、前記ネットリストの変更または回路部品の素子属性の変更を支援するステップを有することを特徴とする付記20または21記載の回路設計支援方法。
(付記23) 抵抗変化メモリ素子を含む記憶部を用いた記憶装置の回路設計を支援する回路設計支援装置であって、
サブサーキットを構成する回路部品を接続する接続ノードの内の一つが、前記記憶部の記憶状態に対応する電圧を保持するノードを備えた前記サブサーキットのデータ、前記記憶装置を構成する回路部品間の接続関係が記載されているネットリストのデータ及び期待値のデータを受け取る入出力部と、
前記サブサーキットのデータ及び前記ネットリストのデータを使用してアナログシミュレーションを行ない、前記記憶装置を構成する回路部品間の接続ノードの電圧の時間変化を求める、シミュレーション部と、
前記期待値のデータと前記接続ノードの電圧を比較し、比較結果を出力する動作確認部と、
前記比較結果に基づいて、ネットリスト変更または素子属性の変更を行う変更部と、
を備えた回路設計支援装置。
抵抗変化メモリ素子に相当するサブサーキットの中身を表す回路図である(その1)。 抵抗変化メモリ素子に相当する回路図である(その1)。 リセットをする場合の記憶ノードrinの電位の変化を説明する図である(その1)。 高抵抗素子のI−V曲線の一例を説明する図である。 抵抗変化メモリ素子を構成する素子の役割と機能を説明した図である(その1)。 遅延電位発生部の基本構成を説明する図である。 キャパシタを挿入した可変抵抗部の基本構成を説明する図である。 抵抗変化メモリ回路の設計を支援する方法を説明するフローチャート図である。 抵抗変化メモリ回路のシミュレーションステップをさらに詳細に説明するフローチャート図である。 素子及び素子の属性を説明する図である。 ネットリストが表す回路の一例を示す図である。 ネットリストの一覧を表す図である。 アナログシミュレータに入力する初期設定値の例を示す図である。 アナログシミュレータによって作成される時間依存テーブルを示す図である。 動作検証の支援ステップの詳細について示すフローチャート図である。 期待値テーブルを示す図である。 期待値とシミュレーションを行って得たノードの電圧との比較テーブルを示す図である。 回路変更または素子属性の変更の支援ステップの詳細を示すフローチャート図である。 シミュレータ上での各時刻における動作モードを示した図である。 XWE、CL1、CPL1、WL及びPRCとして与えた信号の波形図である(その1)。 シミュレーション結果として得られる各ノードの電位を説明する図である(その1)。 シミュレーション結果として得られる各ノードの電位を説明する図である(その2)。 抵抗変化メモリ素子に相当するサブサーキットの中身を表す回路図である(その2)。 抵抗変化メモリ素子を構成する素子の役割と機能を説明した図である(その2)。 抵抗変化メモリ素子に相当する回路図である(その2)。 抵抗変化メモリ素子に相当するサブサーキットの中身を表す回路図である(その3)。 抵抗変化メモリ素子を構成する素子の役割と機能を説明した図である(その3)。 抵抗変化メモリ素子に相当する回路図である(その3)。 リセットをする場合の記憶ノードの電位の変化を説明する図である(その2)。 XWE、CL1、CPL1、WL及びPRCとして与えた信号の波形を説明する図である(その2)。 シミュレーション結果として得られた各ノードの電位を説明する図である(その3)。 シミュレーション結果として得られた各ノードの電位を説明する図である(その4)。 回路設計支援装置を説明する図である。 単極性抵抗変化メモリ素子の一般的な電圧−電流特性を説明する図である。
符号の説明
10 可変抵抗部
20 記憶部
30,60,70 遅延電位発生部
31,61,71 遅延素子
32 電圧依存電圧源
35,50,51,52,53,54,bl,gl,dtmo,drin ノード
40 多機能pMOS
41a〜41p nMOS
42a〜42p pMOS
43 抵抗変化メモリ素子
44 選択トランジスタ
45,46 増幅用インバータ
47,48 プリチャージ制御トランジスタ
49 ビットライン寄生容量
100 ライブラリ
101 記憶部を表すサブサーキット
102 ネットリスト
103 初期設定電圧
104 期待電圧
105 結果
106 シミュレーション部
107 変更部
108 動作確認部
109 入出力部
C15,C24,C34 キャパシタ
R11 高抵抗素子
R12 低抵抗素子
R13,R14,R21,R23,R25,R26,R33 抵抗素子
R22 リセッタ負荷抵抗素子
rin 記憶ノード
SW13,SW14 スイッチ
SW21 リセッタスイッチ
SW23 セッタスイッチ
SW25,SW26 プルバッカスイッチ
vddr 高電位電源ノード
vssr 低電位電源ノード

Claims (6)

  1. 抵抗変化メモリ素子の動作検証を行うシミュレーション装置において、
    第1の電位に保持された第1の電源ノードと、
    前記第1の電源ノードに接続された第1の抵抗と、
    前記第1の抵抗に第2の抵抗を介して直列に接続され、第2の電位に保持された第2の電源ノードと、
    前記第1の抵抗と前記第2の抵抗との間に位置する記憶ノードと、
    前記記憶ノードと前記第2の電源ノードとの間に前記第2の抵抗に並列に接続されたキャパシタと、を備え、
    前記第1の抵抗の抵抗値及び前記第2の抵抗の抵抗値を前記シミュレーション装置に設けた可変抵抗部に印加される電圧によって変化させ、前記記憶ノードの電位が前記第1の電源ノードまたは前記第2の電源ノードのいずれかの電位に制御されることを特徴とするシミュレーション装置。
  2. 前記可変抵抗部の抵抗値が前記記憶ノードの電位によって制御されることを特徴とする請求項1記載のシミュレーション装置。
  3. 前記第1の抵抗の抵抗値及び前記第2の抵抗の抵抗値が前記可変抵抗部に印加される電圧を遅延させた電圧によって制御されることを特徴とする請求項1乃至3のいずれか一項に記載のシミュレーション装置。
  4. 前記可変抵抗部の抵抗値が前記記憶ノードの電位を遅延させた電位によって変化することを特徴とする請求項1乃至3のいずれか一項に記載のシミュレーション装置。
  5. 前記第1の抵抗または前記第2の抵抗の一方の抵抗は、前記可変抵抗部の両端に印加される電圧が第3の電位以上であり、且つ第4の電位以下の場合に第1の抵抗値となり、前記可変抵抗部の両端に印加される電圧がそれ以外の電位の場合には第2の抵抗値となり、
    他方の抵抗は、前記可変抵抗部の両端にかかる電圧が前記第4の電位以上の場合に第3の抵抗値となり、前記可変抵抗部の両端に印加される電圧がそれ以外の電位の場合には第4の抵抗値となることを特徴とする請求項1乃至4のいずれか一項に記載のシミュレーション装置。
  6. 抵抗変化メモリ素子を含む記憶部を用いた記憶装置の回路設計を、アナログシミュレータを用いて支援する回路設計支援方法であって、
    サブサーキットを構成する回路部品を接続する接続ノードの内の一つが、前記記憶部の記憶状態に対応する電圧を保持するノードを備えた前記サブサーキットを前記アナログシミュレータに入力するステップと、
    前記記憶装置を構成する回路部品間の接続関係が記載されているネットリストを前記アナログシミュレータに入力するステップと、
    アナログシミュレーションを行ない、前記記憶装置を構成する前記回路部品間の前記接続ノードの電圧の時間変化を求めるステップと、
    を有することを特徴とする回路設計支援方法。
JP2006348603A 2006-12-25 2006-12-25 シミュレーション装置 Expired - Fee Related JP4745956B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006348603A JP4745956B2 (ja) 2006-12-25 2006-12-25 シミュレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006348603A JP4745956B2 (ja) 2006-12-25 2006-12-25 シミュレーション装置

Publications (2)

Publication Number Publication Date
JP2008158907A true JP2008158907A (ja) 2008-07-10
JP4745956B2 JP4745956B2 (ja) 2011-08-10

Family

ID=39659724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006348603A Expired - Fee Related JP4745956B2 (ja) 2006-12-25 2006-12-25 シミュレーション装置

Country Status (1)

Country Link
JP (1) JP4745956B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012243149A (ja) * 2011-05-20 2012-12-10 Nec Corp 抵抗変化素子の動作をシュミレーションする方法
US10025888B2 (en) 2013-03-07 2018-07-17 Samsung Electronics Co., Ltd. System for simulating semiconductor device and related method of operation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005025914A (ja) * 2003-06-12 2005-01-27 Sharp Corp 不揮発性半導体記憶装置及びその制御方法
JP2006260742A (ja) * 2005-02-15 2006-09-28 Sanyo Electric Co Ltd メモリ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005025914A (ja) * 2003-06-12 2005-01-27 Sharp Corp 不揮発性半導体記憶装置及びその制御方法
JP2006260742A (ja) * 2005-02-15 2006-09-28 Sanyo Electric Co Ltd メモリ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012243149A (ja) * 2011-05-20 2012-12-10 Nec Corp 抵抗変化素子の動作をシュミレーションする方法
US10025888B2 (en) 2013-03-07 2018-07-17 Samsung Electronics Co., Ltd. System for simulating semiconductor device and related method of operation

Also Published As

Publication number Publication date
JP4745956B2 (ja) 2011-08-10

Similar Documents

Publication Publication Date Title
US10297320B2 (en) Resistance change memory cell circuits and methods
JP3711459B2 (ja) 不揮発性メモリ回路の駆動方法
JP4328829B2 (ja) eFuse、eFuseの制御方法及びデータ処理装置
JP5392687B2 (ja) メモリセンスアンプのタイミングを最適化するための回路および方法
JP4926275B2 (ja) トランジスタスナップバック保護を組み込むレベルシフタ回路
US10972101B2 (en) Level shifters, memory systems, and level shifting methods
WO2004040582A1 (ja) 抵抗変化素子を用いた不揮発性フリップフロップ回路の駆動方法
JP6697015B2 (ja) 1t1d dramセル並びにdramのためのアクセス方法及び関連する装置
JP2006260742A (ja) メモリ
JP2012133887A (ja) 半導体メモリのコラム選択信号制御装置及び方法
Almurib et al. A memristor-based LUT for FPGAs
JP2006500725A5 (ja)
JP4745956B2 (ja) シミュレーション装置
Faruque et al. Memristor-based low-power high-speed nonvolatile hybrid memory array design
KR100695037B1 (ko) 반도체 메모리 장치의 내부 전원전압 발생회로 및 내부전원전압 발생방법
US7681152B2 (en) Design structures comprising voltage translator circuits
US8472262B2 (en) Sense amplifier for reading a crossbar memory array
JP5159847B2 (ja) 抵抗変化メモリ装置
WO2016157719A1 (ja) 半導体記憶装置の書き換え方法及び半導体記憶装置
US8169845B2 (en) Apparatus and methods for sense amplifiers
US9704567B1 (en) Stressing and testing semiconductor memory cells
JP5976077B2 (ja) 内部電源電圧発生回路、半導体記憶装置及び半導体装置
US9099200B2 (en) SRAM restore tracking circuit and method
Ravi et al. Built-in self-configurable architecture for memristor based memories
JP2009117478A (ja) 電気ヒューズ判定回路及び判定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110510

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110512

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees