抵抗変化型の不揮発性記憶素子に対する書き込み回路であって、前記不揮発性記憶素子が高抵抗状態にある場合にだけ前記不揮発性記憶素子を低抵抗状態に遷移させるための電圧を前記不揮発性記憶素子に印加し、前記不揮発性記憶素子が低抵抗状態にある場合にだけ前記不揮発性記憶素子を高抵抗状態に遷移させるための電圧を前記不揮発性記憶素子に印加する書き込み回路。前記不揮発性記憶素子の一端に接続され、前記不揮発性記憶素子が高抵抗状態及び低抵抗状態のいずれの抵抗状態にあるかに依存して前記一端に、前記抵抗状態を遷移させるための電圧を発生する電圧発生回路を備える請求項1記載の書き込み回路。前記電圧発生回路は、前記不揮発性記憶素子の抵抗状態を読み出して保持する保持部と、前記保持部で保持された抵抗状態に応じた電圧を前記不揮発性記憶素子の一端に印加する印加部とを有する請求項2記載の書き込み回路。前記保持部は、前記不揮発性記憶素子の高抵抗状態における抵抗値と低抵抗状態における抵抗値との間の抵抗値をもつ参照抵抗を有し、前記参照抵抗の抵抗値と前記不揮発性記憶素子の抵抗値との大小関係を前記抵抗状態として保持し、前記印加部は、前記保持部に保持された大小関係に応じて、第1電圧及び前記第1電圧よりも低い第2電圧のいずれかを前記不揮発性記憶素子の一端に印加する請求項3記載の書き込み回路。さらに、前記不揮発性記憶素子の他端に接続され、前記不揮発性記憶素子を高抵抗状態及び低抵抗状態の一方に設定する場合に、第3電圧及び前記第3電圧よりも低い第4電圧のうちの一方を前記他端に印加し、前記不揮発性記憶素子を高抵抗状態及び低抵抗状態の他方に設定する場合に、前記第3電圧及び前記第4電圧のうちの他方を前記他端に印加するスイッチ部を備える請求項3又は4記載の書き込み回路。抵抗変化型の不揮発性記憶素子に対する書き込み回路であって、前記不揮発性記憶素子の一端に接続され、前記不揮発性記憶素子が高抵抗状態にある場合に前記一端に第1電圧を印加し、前記不揮発性記憶素子が低抵抗状態にある場合に前記一端に、前記第1電圧よりも低い第2電圧を印加する第1書き込み回路と、前記不揮発性記憶素子の他端に接続され、前記不揮発性記憶素子が高抵抗状態にある場合に前記他端に前記第2電圧を印加し、前記不揮発性記憶素子が低抵抗状態にある場合に前記他端に、前記第1電圧を印加する第2書き込み回路とを備え、前記不揮発性記憶素子は、前記一端に第1電圧が印加され、かつ、前記他端に第2電圧が印加された場合に、抵抗値が低抵抗化され、前記一端に第2電圧が印加され、かつ、前記他端に第1電圧が印加された場合に、抵抗値が高抵抗化される性質を有する書き込み回路。抵抗変化型の不揮発性記憶素子を、第1抵抗値と前記第1抵抗値よりも大きな第2抵抗値との間の抵抗値に設定する多値書き込み回路であって、前記不揮発性記憶素子の一端に接続され、前記不揮発性記憶素子が前記第1抵抗値よりも小さな抵抗値をもつ場合に、前記一端に第1電圧を印加し、前記不揮発性記憶素子が前記第1抵抗値よりも大きな抵抗値をもつ場合に、前記一端に前記第1電圧よりも低い第2電圧を印加する第1書き込み回路と、前記不揮発性記憶素子の他端に接続され、前記不揮発性記憶素子が前記第2抵抗値よりも小さな抵抗値をもつ場合に、前記他端に前記第2電圧を印加し、前記不揮発性記憶素子が前記第2抵抗値よりも大きな抵抗値をもつ場合に、前記他端に前記第1電圧を印加する第2書き込み回路とを備え、前記不揮発性記憶素子は、前記一端に第1電圧が印加され、かつ、前記他端に第2電圧が印加された場合に、抵抗値が高抵抗化され、前記一端に第2電圧が印加され、かつ、前記他端に第1電圧が印加された場合に、抵抗値が低抵抗化される性質を有する多値書き込み回路。抵抗変化型の不揮発性記憶素子を、第1抵抗値と前記第1抵抗値よりも大きな第2抵抗値との間の抵抗値に設定する多値書き込み回路であって、前記不揮発性記憶素子の一端に接続され、前記不揮発性記憶素子が前記第1抵抗値よりも小さな抵抗値をもつ場合に、第1電圧を前記一端に印加するとともに出力端子から出力し、前記不揮発性記憶素子が前記第1抵抗値よりも大きな抵抗値をもつ場合に、前記第1電圧よりも低い第2電圧を前記一端に印加するとともに出力端子から出力する第1書き込み回路と、前記不揮発性記憶素子が前記第2抵抗値よりも小さな抵抗値をもつ場合に、前記第2電圧を出力端子から出力し、前記不揮発性記憶素子が前記第2抵抗値よりも大きな抵抗値をもつ場合に、前記第1電圧を出力端子から出力する第2書き込み回路と、前記不揮発性記憶素子の他端に接続された少なくとも2つのスイッチ素子とを備え、前記2つのスイッチ素子の一つは、前記第1書き込み回路の出力端子から前記第1電圧が出力されたときに、前記第2電圧を前記他端に印加し、前記2つのスイッチ素子の他の一つは、前記第2書き込み回路の出力端子から前記第1電圧が出力されたときに、前記第1電圧を前記他端に印加し、前記不揮発性記憶素子は、前記一端に第1電圧が印加され、かつ、前記他端に第2電圧が印加された場合に、抵抗値が高抵抗化され、前記一端に第2電圧が印加され、かつ、前記他端に第1電圧が印加された場合に、抵抗値が低抵抗化される性質を有する多値書き込み回路。しかしながら、上記従来の書き込み方法では、不揮発性記憶素子への書き込みのために、図12のフローチャートから分かるように、読み出し回路、判定回路、及び、書き込み回路が必要とされる。そのために、従来の技術では、不揮発性記憶素子の書き込み回路の規模が大きくなり、消費電力が増大したり、回路が複雑化したりするという問題がある。そこで、本発明は、このような問題に鑑みてなされたものであり、簡素で、かつ、高速に、自立的に多重書き込みを回避した書き込みをすることができる抵抗変化型不揮発性記憶素子の書き込み回路等を提供することを目的とする。上記目的を達成するために、本発明に係る抵抗変化型不揮発性記憶素子の書き込み回路の一形態は、抵抗変化型の不揮発性記憶素子に対する書き込み回路であって、前記不揮発性記憶素子が高抵抗状態にある場合にだけ前記不揮発性記憶素子を低抵抗状態に遷移させるための電圧を前記不揮発性記憶素子に印加し、前記不揮発性記憶素子が低抵抗状態にある場合にだけ前記不揮発性記憶素子を高抵抗状態に遷移させるための電圧を前記不揮発性記憶素子に印加する。これにより、不揮発性記憶素子をセットする場合には、不揮発性記憶素子がリセット状態にある場合にだけセットパルスが印加され、一方、不揮発性記憶素子をリセットする場合には、不揮発性記憶素子がセット状態にある場合にだけリセットパルスが印加されるので、読み出し回路、判定回路、及び、書き込み回路等の回路を必要とすることなく、簡素で、かつ、高速に、多重書き込みを回避した書き込みが自動的自立的に行われる。ここで、より詳しくは、前記不揮発性記憶素子の一端に接続され、前記不揮発性記憶素子が高抵抗状態及び低抵抗状態のいずれの抵抗状態にあるかに依存して前記一端に、前記抵抗状態を遷移させるための電圧を発生する電圧発生回路を備える。さらに詳しくは、前記電圧発生回路は、前記不揮発性記憶素子の抵抗状態を読み出して保持する保持部と、前記保持部で保持された抵抗状態に応じた電圧を前記不揮発性記憶素子の一端に印加する印加部とを有するを備える。このとき、前記保持部は、前記不揮発性記憶素子の高抵抗状態における抵抗値と低抵抗状態における抵抗値との間の抵抗値をもつ参照抵抗を有し、前記参照抵抗の抵抗値と前記不揮発性記憶素子の抵抗値との大小関係を前記抵抗状態として保持し、前記印加部は、前記保持部に保持された大小関係に応じて、第1電圧及び前記第1電圧よりも低い第2電圧のいずれかを前記不揮発性記憶素子の一端に印加するのが好ましい。これにより、不揮発性記憶素子をセットする場合には、不揮発性記憶素子の抵抗値が参照抵抗の抵抗値より大きい場合にだけセットパルスが印加され、一方、不揮発性記憶素子をリセットする場合には、不揮発性記憶素子の抵抗値が参照抵抗の抵抗値より小さい場合にだけリセットパルスが印加される。また、さらに、前記不揮発性記憶素子の他端に接続され、前記不揮発性記憶素子を高抵抗状態及び低抵抗状態の一方に設定する場合に、第3電圧及び前記第3電圧よりも低い第4電圧のうちの一方を前記他端に印加し、前記不揮発性記憶素子を高抵抗状態及び低抵抗状態の他方に設定する場合に、前記第3電圧及び前記第4電圧のうちの他方を前記他端に印加するスイッチ部を備えるとしてもよい。これにより、スイッチ部との連動により、多重書き込みを回避した書き込みが行われる。また、抵抗変化型の不揮発性記憶素子に対する書き込み回路であって、前記不揮発性記憶素子の一端に接続され、前記不揮発性記憶素子が高抵抗状態にある場合に前記一端に第1電圧を印加し、前記不揮発性記憶素子が低抵抗状態にある場合に前記一端に、前記第1電圧よりも低い第2電圧を印加する第1書き込み回路と、前記不揮発性記憶素子の他端に接続され、前記不揮発性記憶素子が高抵抗状態にある場合に前記他端に前記第2電圧を印加し、前記不揮発性記憶素子が低抵抗状態にある場合に前記他端に、前記第1電圧を印加する第2書き込み回路とを備え、前記不揮発性記憶素子は、前記一端に第1電圧が印加され、かつ、前記他端に第2電圧が印加された場合に、抵抗値が低抵抗化され、前記一端に第2電圧が印加され、かつ、前記他端に第1電圧が印加された場合に、抵抗値が高抵抗化される性質を有する構成としてもよい。これにより、2つの書き込み回路を用いて、多重書き込みを回避した書き込みが行われる。また、抵抗変化型の不揮発性記憶素子を、第1抵抗値と前記第1抵抗値よりも大きな第2抵抗値との間の抵抗値に設定する多値書き込み回路であって、前記不揮発性記憶素子の一端に接続され、前記不揮発性記憶素子が前記第1抵抗値よりも小さな抵抗値をもつ場合に、前記一端に第1電圧を印加し、前記不揮発性記憶素子が前記第1抵抗値よりも大きな抵抗値をもつ場合に、前記一端に前記第1電圧よりも低い第2電圧を印加する第1書き込み回路と、前記不揮発性記憶素子の他端に接続され、前記不揮発性記憶素子が前記第2抵抗値よりも小さな抵抗値をもつ場合に、前記他端に前記第2電圧を印加し、前記不揮発性記憶素子が前記第2抵抗値よりも大きな抵抗値をもつ場合に、前記他端に前記第1電圧を印加する第2書き込み回路とを備え、前記不揮発性記憶素子は、前記一端に第1電圧が印加され、かつ、前記他端に第2電圧が印加された場合に、抵抗値が高抵抗化され、前記一端に第2電圧が印加され、かつ、前記他端に第1電圧が印加された場合に、抵抗値が低抵抗化される性質を有する構成としてもよい。これにより、2つの書き込み回路を用いて、不揮発性記憶素子の抵抗値を2つの参照抵抗値の間に設定できる多値書き込みが行われる。よって、2つの参照抵抗値を変更する回路を付加することで、一つの不揮発性記憶素子の抵抗値を3以上の多値のいずれかに設定することが可能になり、1ビットで多値を記憶できるメモリセルが実現され、メモリセルあたりのメモリ容量が増大される。また、抵抗変化型の不揮発性記憶素子を、第1抵抗値と前記第1抵抗値よりも大きな第2抵抗値との間の抵抗値に設定する多値書き込み回路であって、前記不揮発性記憶素子の一端に接続され、前記不揮発性記憶素子が前記第1抵抗値よりも小さな抵抗値をもつ場合に、第1電圧を前記一端に印加するとともに出力端子から出力し、前記不揮発性記憶素子が前記第1抵抗値よりも大きな抵抗値をもつ場合に、前記第1電圧よりも低い第2電圧を前記一端に印加するとともに出力端子から出力する第1書き込み回路と、前記不揮発性記憶素子が前記第2抵抗値よりも小さな抵抗値をもつ場合に、前記第2電圧を出力端子から出力し、前記不揮発性記憶素子が前記第2抵抗値よりも大きな抵抗値をもつ場合に、前記第1電圧を出力端子から出力する第2書き込み回路と、前記不揮発性記憶素子の他端に接続された少なくとも2つのスイッチ素子とを備え、前記2つのスイッチ素子の一つは、前記第1書き込み回路の出力端子から前記第1電圧が出力されたときに、前記第2電圧を前記他端に印加し、前記2つのスイッチ素子の他の一つは、前記第2書き込み回路の出力端子から前記第1電圧が出力されたときに、前記第1電圧を前記他端に印加し、前記不揮発性記憶素子は、前記一端に第1電圧が印加され、かつ、前記他端に第2電圧が印加された場合に、抵抗値が高抵抗化され、前記一端に第2電圧が印加され、かつ、前記他端に第1電圧が印加された場合に、抵抗値が低抵抗化される性質を有する構成としてもよい。これにより、2つの書き込み回路を用いて、不揮発性記憶素子の抵抗値を2つの参照抵抗値の間に設定できる多値書き込みが行われる。よって、2つの参照抵抗値を変更する回路を付加することで、一つの不揮発性記憶素子の抵抗値を3以上の多値のいずれかに設定することが可能になり、1ビットで多値を記憶できるメモリセルが実現され、メモリセルあたりのメモリ容量が増大される。なお、本発明は、以上のような抵抗変化型不揮発性記憶素子の書き込み回路及び多値書き込み回路として実現できるだけでなく、これらの書き込み回路及び多値書き込み回路による書き込み手順を行う、あるいは、書き込み手順を制御する書き込み回路の駆動方法として実現してもよい。本発明に係る抵抗変化型不揮発性記憶素子の書き込み回路等によれば、簡素で、かつ、高速に、自立的に多重書き込みを回避した書き込みをすることができる抵抗変化型不揮発性記憶素子の書き込み回路等が実現される。よって、大容量、高速動作及び低消費電力の不揮発性メモリが必要とされる電子機器が普及してきた今日における本発明の実用的価値は極めて高い。以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される回路要素、接続形態、トランジスタの型、動作手順等は、一例であり、本発明を限定する主旨ではない。本発明は、特許請求の範囲だけによって限定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。図1は、本発明の実施の形態における抵抗変化型不揮発性記憶素子の書き込み回路の回路図である。なお、本図では、抵抗変化型不揮発性記憶素子として、抵抗変化素子2が用いられているが、抵抗値が変化する不揮発性記憶素子であれば、他のタイプの不揮発性記憶素子例えば、相変化メモリPRAM、磁気抵抗メモリMRAM等であってもよい。また、本実施の形態では、抵抗変化素子2は、図示された接続状態において、下側端子を基準に上側端子にHigh電圧例えば、電圧Vddが印加されると低抵抗状態に遷移しセットされ、一方、上側端子を基準に下側端子にHigh電圧例えば、電圧Vddが印加されると高抵抗状態に遷移するリセットされる特性を有するとする。この書き込み回路1は、抵抗変化型の不揮発性記憶素子ここでは、抵抗変化素子2に対する書き込み回路であって、抵抗変化素子2が高抵抗状態リセット状態にある場合にだけ抵抗変化素子2を低抵抗状態に遷移させるための電圧を抵抗変化素子2に印加セットし、抵抗変化素子2が低抵抗状態セット状態にある場合にだけ抵抗変化素子2を高抵抗状態に遷移させるための電圧を抵抗変化素子2に印加リセットする機能を有する。具体的には、この書き込み回路1は、電圧発生回路25と、スイッチ部40とを備える。電圧発生回路25は、抵抗変化素子2の一端図示における上側端子に接続され、抵抗変化素子2が高抵抗状態及び低抵抗状態のいずれの抵抗状態にあるかに依存して、その一端上側端子に、抵抗状態を遷移させるための電圧を発生する。ここでは、電圧発生回路25は、抵抗変化素子2が高抵抗状態にある場合に、High電圧例えば、電圧Vddを抵抗変化素子2の一端上側端子に印加し、一方、抵抗変化素子2が低抵抗状態にある場合に、Low電圧例えば、GND電位を抵抗変化素子2の一端上側端子に印加する。また、スイッチ部40は、抵抗変化素子2の他端図示における下側端子に接続され、抵抗変化素子2を高抵抗状態及び低抵抗状態の一方に設定する場合に、第3電圧ここでは、High電圧及び第3電圧よりも低い第4電圧ここでは、Low電圧のうちの一方を他端下側端子に印加し、抵抗変化素子2を高抵抗状態及び低抵抗状態の他方に設定する場合に、第3電圧High電圧及び第4電圧Low電圧のうちの他方を他端に印加する。具体的には、スイッチ部40は、直列に接続された、電圧Vdd用の電源41とスイッチ42とから構成され、スイッチ42により、図示されていない制御回路からの制御の下で、抵抗変化素子2を低抵抗状態に設定セットする場合に、Low電圧を抵抗変化素子2の他端下側端子に印加し、抵抗変化素子2を高抵抗状態に設定リセットする場合に、High電圧を抵抗変化素子2の他端下側端子に印加する。このような構成により、本実施の形態における書き込み回路1によれば、以下の動作が行われる。1抵抗変化素子2を低抵抗状態に設定セットする場合抵抗変化素子2の下側端子は、上述したスイッチ部40により、Low電位GNDに固定される。一方、抵抗変化素子2の上側端子には、上述した電圧発生回路25により、抵抗変化素子2が高抵抗状態にある場合には、High電圧が印加され、抵抗変化素子2が低抵抗状態にある場合には、Low電圧が印加される。この結果、抵抗変化素子2が高抵抗状態リセット状態にある場合にだけ、抵抗変化素子2の両端に電圧ここでは、下側端子を基準に上側端子にHigh電圧が印加され、その結果、抵抗変化素子2が高抵抗状態から低抵抗状態に遷移するセットされる。つまり、抵抗変化素子2が既に低抵抗状態にある場合には、抵抗変化素子2の両端には電圧が印加されず、多重書き込みが回避される。2抵抗変化素子2を高抵抗状態に設定リセットする場合抵抗変化素子2の下側端子は、上述したスイッチ部40により、High電位電圧Vddに固定される。一方、抵抗変化素子2の上側端子には、上述した電圧発生回路25により、抵抗変化素子2が高抵抗状態にある場合には、High電圧が印加され、抵抗変化素子2が低抵抗状態にある場合には、Low電圧が印加される。この結果、抵抗変化素子2が低抵抗状態セット状態にある場合にだけ、抵抗変化素子2の両端に電圧ここでは、上側端子を基準に下側端子にHigh電圧が印加され、その結果、抵抗変化素子2が低抵抗状態から高抵抗状態に遷移するリセットされる。つまり、抵抗変化素子2が既に高抵抗状態にある場合には、抵抗変化素子2の両端には電圧が印加されず、多重書き込みが回避される。以下、このような書き込み回路1を構成する電圧発生回路25について、より詳しく説明する。電圧発生回路25は、図1に示されるように、抵抗変化素子2の抵抗状態を読み出して保持する保持部10と、保持部10で保持された抵抗状態に応じた電圧を抵抗変化素子2の一端上側端に印加する印加部30とを有するセンスアンプである。保持部10は、抵抗変化素子2の高抵抗状態における抵抗値と低抵抗状態における抵抗値との間の抵抗値をもつ参照抵抗21を有し、参照抵抗21の抵抗値と抵抗変化素子2の抵抗値との大小関係を抵抗変化素子2の抵抗状態として保持するラッチ回路である。この保持部10は、参照抵抗21に加えて、SRAMを構成するトランジスタNMOSトランジスタ11、13~15、17~20、PMOSトランジスタ12及び16から構成される。PMOSトランジスタ12のソースは電源電圧Vddに接続され、PMOSトランジスタ12のドレインはNMOSトランジスタ13のドレインと接続され、NMOSトランジスタ13のソースはNMOSトランジスタ14及び11のドレインと接続され、NMOSトランジスタ14のソースはNMOSトランジスタ19のドレインと接続され、NMOSトランジスタ19のソースはGNDに接続されている。同様に、PMOSトランジスタ16のソースは電源電圧Vddに接続され、PMOSトランジスタ16のドレインはNMOSトランジスタ17のドレインと接続され、NMOSトランジスタ17のソースはNMOSトランジスタ18及び20のドレインと接続され、NMOSトランジスタ18のソースはNMOSトランジスタ19のドレインと接続されている。PMOSトランジスタ12のゲートと、NMOSトランジスタ13及び14のゲートと、NMOSトランジスタ15の一端と、PMOSトランジスタ16のドレインとは相互に接続されている。同様に、PMOSトランジスタ16のゲートと、NMOSトランジスタ17及び18のゲートと、NMOSトランジスタ15の他端と、PMOSトランジスタ12のドレインとは相互に接続されている。NMOSトランジスタ11のソースは、抵抗変化素子2の一端上側端子及びPMOSトランジスタ31のドレインに接続されている。同様に、NMOSトランジスタ20のソースは、参照抵抗21の一端上側端子及びPMOSトランジスタ32のドレインに接続されている。参照抵抗21の他端下側端子はGNDに接続されている。なお、NMOSトランジスタ11のゲート及びNMOSトランジスタ20のゲートには、図示されていない制御回路から制御信号wlが送られてくる。また、NMOSトランジスタ19のゲートには、図示されていない制御回路から制御信号reが送られてくる。印加部30は、保持部10に保持された状態抵抗変化素子2の抵抗値と参照抵抗21の抵抗値との大小関係に応じて、第1電圧及び第1電圧よりも低い第2電圧のいずれかを抵抗変化素子2の一端上側端子に印加する回路であり、ここでは、抵抗変化素子2が高抵抗状態にある場合に、抵抗変化素子2の上側端子にHigh電圧を印加し、抵抗変化素子2が低抵抗状態にある場合に、抵抗変化素子2の上側端子にLow電圧を印加するためのトランジスタPMOSトランジスタ31及び32から構成される。以上のように構成された本実施の形態における電圧発生回路25の動作について、図2A~図2Cを用いて説明する。この電圧発生回路25は、抵抗変化素子2の書き込み内容セットするか、リセットするか及び抵抗変化素子2の現在の抵抗状態に依存することなく、常に、図2A~図2Cに示される3つのステップで書き込み動作を行う。まず、第1のステップとして、図2Aのタイミングチャートにおけるタイミング1に示されるように、制御信号wlと制御信号reと制御信号seと制御信号we_invとがHigh例えば、電圧Vddとなる。この状態では、印加部30PMOSトランジスタ31及び32がOFFになるとともに、保持部10を構成する全てのトランジスタがONする。このとき、NMOSトランジスタ15がONすることから、NMOSトランジスタ14及びNMOSトランジスタ18のゲートが同電位となり、その結果、NMOSトランジスタ14及びNMOSトランジスタ18のドレインが同電位とイコライズされた状態なる。そして、NMOSトランジスタ11及び20がONしているので、抵抗変化素子2及び参照抵抗21の上側端子には同電位の電圧が印加される。その結果、抵抗変化素子2の抵抗値Rm及び参照抵抗21の抵抗値Rrefに依存して、抵抗変化素子2及び参照抵抗21のそれぞれに、電流Im及びIrefが流れる。たとえば、Rm>Rrefの場合には、Iref>Imとなる。なお、この第1のステップでは、図1におけるスイッチ部40では、スイッチ42はGND接続となる。次に、第2のステップとして、図2Bのタイミングチャートにおけるタイミング2に示されるように、Highになっていた制御信号seだけがLow例えば、GNDになる。この状態では、印加部30PMOSトランジスタ31及び32がOFFのままであり、保持部10では、正帰還増幅が起こり、SRAMラッチ回路として、抵抗変化素子2と参照抵抗21の抵抗の大小関係を保持する。たとえば、Rm>Rrefつまり、Iref>Imである場合には、ノードvout_leftPMOSトランジスタ12とNMOSトランジスタ13との接続点の電位が電圧Vddに近づき、一方、ノードvout_rightPMOSトランジスタ16とNMOSトランジスタ17との接続点の電位がGNDに近づく。なお、この第2のステップでは、図1におけるスイッチ部40では、スイッチ42はGND接続となる。最後に、第3のステップとして、図2Cのタイミングチャートにおけるタイミング4に示されるように、制御信号wlがLowになっている状態で、Highになっていた制御信号we_invがLowになる。その結果、NMOSトランジスタ11及び20がOFFであることから、保持部10では、保持状態が維持されるとともに、PMOSトランジスタ31及び32がONになることから、印加部30では、ノードvout_leftの電位が抵抗変化素子2の上側端子に印加されるとともに、ノードvout_rightの電位が参照抵抗21の上側端子に印加されるつまり、書き込みが行われる。たとえば、Rm>Rrefつまり、Iref>Imである場合には、抵抗変化素子2の上側端子にはHigh電圧が印加されるとともに、参照抵抗21の上側端子にはLow電圧が印加される。一方、Rm<Rrefつまり、Iref<Imである場合には、抵抗変化素子2の上側端子にはLow電圧が印加されるとともに、参照抵抗21の上側端子にはHigh電圧が印加される。なお、この第3のステップでは、図1におけるスイッチ部40では、スイッチ42は、セット時にはGND接続に、一方、リセット時には電圧Vdd接続に、切り替える。以上のように、本実施の形態における電圧発生回路25によれば、抵抗変化素子2の上側端子には、抵抗変化素子2が高抵抗状態にある場合にHigh電圧が印加され、抵抗変化素子2が低抵抗状態にある場合にLow電圧が印加される。よって、このような電圧発生回路25とスイッチ部40との組み合わせにより、抵抗変化素子2を低抵抗状態に設定セットする場合には、抵抗変化素子2が高抵抗状態にあるときにだけ抵抗変化素子2の両端に電圧ここでは、下側端子を基準に上側端子にHigh電圧が印加され、その結果、抵抗変化素子2が高抵抗状態から低抵抗状態に遷移する。一方、抵抗変化素子2を高抵抗状態に設定リセットする場合には、抵抗変化素子2が低抵抗状態にある場合にだけ抵抗変化素子2の両端に電圧ここでは、上側端子を基準に下側端子にHigh電圧が印加され、その結果、抵抗変化素子2が低抵抗状態から高抵抗状態に遷移する。よって、抵抗変化素子2への多重書き込みが自動的自立的に回避される。なお、上記第3のステップ書き込みにおいて、大きな電力を必要とする場合には、図3Aに示される印加部30aのように、PMOSトランジスタ31及び32のソースに、それぞれ、バッファアンプここでは、一段のインバータ33及び34を追加して接続してもよいし、図3Bに示される印加部30bのように、PMOSトランジスタ31及び32のソースに、それぞれ、バッファアンプここでは、2段のインバータ35及び36を追加して接続してもよい。これにより、より大きな電流で抵抗変化素子2への書き込みが行われる。次に、本実施の形態の変形例及び本発明に係る書き込み回路の応用例を説明する。変形例1まず、変形例1に係る書き込み回路を説明する。書き込みの対象となる抵抗変化素子の抵抗値のセンス方式としては、図1に示される書き込み回路1のように、抵抗変化素子2を流れる電流Imと参照抵抗21を流れる電流Irefとの差を検出する電流差動センス方式に限定されるものではなく、電圧差動センス方式であってもよい。図4は、本発明に係る電圧差動センス方式の電圧発生回路25aの回路図である。この電圧発生回路25aは、抵抗変化素子2の抵抗状態を読み出して保持する保持部10aと、その保持部10aで保持された抵抗状態に応じた電圧を抵抗変化素子2の一端上側端子に印加する印加部30cとを有する。保持部10aは、抵抗変化素子2の高抵抗状態における抵抗値と低抵抗状態における抵抗値との間の抵抗値Rrefをもつ参照抵抗121を有し、参照抵抗121の抵抗値Rrefと抵抗変化素子2の抵抗値Rmとの大小関係を電圧差動でセンスし、センスした大小関係を抵抗変化素子2の抵抗状態として保持するラッチ回路である。この保持部10aは、参照抵抗121に加えて、SRAMを構成するトランジスタNMOSトランジスタ105~107、PMOSトランジスタ101~104及び108から構成される。なお、図中の容量Cout及びCinは寄生容量である。印加部30cは、保持部10aに保持された状態抵抗変化素子2の抵抗値Rmと参照抵抗21の抵抗値Rrefとの大小関係に応じて、第1電圧及び第1電圧よりも低い第2電圧のいずれかを抵抗変化素子2の一端上側端子に印加する回路である。具体的には、この印加部30cは、図1における印加部30と同様に、抵抗変化素子2が高抵抗状態にある場合に抵抗変化素子2の上側端子にHigh電圧を印加し、一方、抵抗変化素子2が低抵抗状態にある場合に抵抗変化素子2の上側端子にLow電圧を印加するためのトランジスタNMOSトランジスタ109~112から構成される。なお、この電圧発生回路25aでは、抵抗変化素子2及び参照抵抗121と直列に、それぞれ、NMOSトランジスタ123及び124が接続され、いわゆる1T1Rのメモリセルが備えられている。また、図示されていない制御回路から、NMOSトランジスタ109及び110のゲートに制御信号rwが送られ、NMOSトランジスタ111及び112のゲートに制御信号se_controlが送られ、NMOSトランジスタ107のゲートに制御信号seが送られ、NMOSトランジスタ123及び124に制御信号WLが送られてくる。また、抵抗変化素子2及び参照抵抗121の上側端子での電圧をそれぞれVin及びVin_refと表記し、保持部10aの出力端子PMOSトランジスタ103及び104それぞれのドレインでの電圧をそれぞれVout及びVout_refと表記し、抵抗変化素子2及び参照抵抗121の下側端子より正確には、NMOSトランジスタ123及び124の下側端子をSLと呼ぶ。図5は、この電圧発生回路25aの動作を示すタイミングチャートである。ここでは、抵抗変化素子2を低抵抗状態にする書き込み図中のset、抵抗変化素子2を高抵抗状態にする書き込み図中のreset、及び、抵抗変化素子2からの読み出し図中のreadの3つのケースについて、動作タイミングが示されている。まず、第1のステップ図中のEqualizationでは、制御信号rwがHighで、かつ、端子SLに一定電位が印加された状態で、制御信号WLがLowからHighになることで、保持部10aの2つの容量Cinへの充電が開始される。つまり、左側の端子SLからの電流がNMOSトランジスタ123、抵抗変化素子2及びNMOSトランジスタ109を介して、PMOSトランジスタ101のゲートに接続された容量Cinに充電されていき、その結果、電圧Vinの波形は、図5のVinに示されるような立ち上がり波形となる。同様に、右側の端子SLからの電流がNMOSトランジスタ124、参照抵抗121及びNMOSトランジスタ110を介して、PMOSトランジスタ102のゲートに接続された容量Cinに充電されていき、その結果、電圧Vin_refの波形は、図5のVin_refに示されるような立ち上がり波形となる。次に、第2のステップ図中のamplificationでは、低抵抗状態への書き込みset、高抵抗状態への書き込みreset、及び、読み出しreadのいずれを行うかに応じて、図示されるように、各種制御信号及び端子SLに所定の電圧が与えられる。ただし、いずれの動作であっても、出力端子での電圧Vout及びVout_refには、それぞれ、入力電圧Vin及びVin_refの差異を増幅したような電圧レベルが出力される。たとえば、いま、抵抗変化素子2の抵抗値が参照抵抗121の抵抗値よりも小さい場合には、左側の容量Cinに流れ込む電流が右側の容量Cinに流れ込む電流よりも大きくなるので、入力電圧Vinは、図5に示されるように、入力電圧Vin_refよりも波高が高くなる。その結果、PMOSトランジスタ102のドレイン電流がPMOSトランジスタ101のドレイン電流よりも大きくなり、PMOSトランジスタ104とNMOSトランジスタ106との接続点つまり、電圧Vout_refの電位が上昇し、一方、PMOSトランジスタ103とNMOSトランジスタ105との接続点つまり、電圧Voutの電位が下降する正帰還が働く。このように、2つの出力端子の電圧Vout及びVout_refは、抵抗変化素子2の抵抗値Rmと参照抵抗121の抵抗値Rrefとの大小関係に依存して定まる電圧ここでは、Rm>Rrefの場合には、Vout=Vdd、かつ、Vout_ref=GND、一方、Rm<Rrefの場合には、Vout=GND、かつ、Vout_ref=Vddとなる。よって、このような電圧Vout又はVout_refを、抵抗変化素子2への書き込みの際に抵抗変化素子2の一端に印加する電圧として利用する例えば、制御信号se_controlをHighにすることで電圧Voutを抵抗変化素子2の上側端子に印加することで、上記実施の形態における書き込み回路1あるいは、電圧発生回路25と同様の機能をもつ電圧差動センス方式の書き込み回路、つまり、多重書き込みを自動的自立的に回避できる書き込み回路が実現される。なお、図5における第3のステップ図中のResetは、この電圧発生回路25aの初期状態書き込みでも読み出しでもない状態を示している。変形例2次に、変形例2に係る書き込み回路を説明する。本発明に係る書き込み回路に用いられる電流差動センス方式の電圧発生回路としては、図1に示される電圧発生回路25に限られず、他の回路で構成されてもよい。図6は、電流差動センス方式の別の電圧発生回路25bの回路図である。この電圧発生回路25bは、抵抗変化素子2の抵抗状態を読み出して保持する保持部としての機能と、その保持部で保持された抵抗状態に応じた電圧を抵抗変化素子2の一端上側端に印加する印加部としての機能とを有する。ただし、本変形例では、保持部と印加部とが明確に分離されるのではなく、同一のトランジスタによって保持部と印加部とが構成されている。つまり、この電圧発生回路25bは、抵抗変化素子2の高抵抗状態における抵抗値と低抵抗状態における抵抗値との間の抵抗値をもつ参照抵抗221を有し、参照抵抗221の抵抗値と抵抗変化素子2の抵抗値との大小関係を電流差動電流Irefと電流Idataとの差でセンスし、センスした大小関係を抵抗変化素子2の抵抗状態として保持するとともに、保持された状態に応じて、第1電圧及び第1電圧よりも低い第2電圧のいずれかを抵抗変化素子2の一端上側端子に印加する。そのために、この電圧発生回路25bは、参照抵抗121に加えて、SRAMを構成するトランジスタNMOSトランジスタ203~208、211及び212、PMOSトランジスタ201、202、209及び210から構成される。なお、この電圧発生回路25bでは、抵抗変化素子2及び参照抵抗221と直列に、それぞれ、NMOSトランジスタ223及び224が接続され、いわゆる1T1Rのメモリセルが備えられている。また、図示されていない制御回路から、4つのトランジスタPMOSトランジスタ209及び210、NMOSトランジスタ211及び212のゲートに制御信号OPEが送られ、NMOSトランジスタ207のゲートに制御信号SEが送られ、NMOSトランジスタ208のゲートに制御信号REが送られ、NMOSトランジスタ223及び224に制御信号WLが送られてくる。また、2つの出力端子PMOSトランジスタ201及び202それぞれのドレインでの電圧をそれぞれVout及びVout_refと表記し、抵抗変化素子2及び参照抵抗221の下側端子より正確には、NMOSトランジスタ223及び224の下側端子をSLと呼ぶ。なお、制御信号OPEは、NMOSトランジスタ203及び204を、SRAMつまり、ラッチ回路の一部分として機能させるか、抵抗変化素子2及び参照抵抗221への書き込みドライバとして機能させるかを切り替えるための制御信号である。図7は、この電圧発生回路25bの動作を示すタイミングチャートである。ここでは、抵抗変化素子2を低抵抗状態にする書き込み図中のset、抵抗変化素子2を高抵抗状態にする書き込み図中のreset、及び、抵抗変化素子2からの読み出し図中のreadの3つのケースについて、動作タイミングが示されている。まず、第1のステップ図中のプリチャージでは、制御信号WLがHighで、かつ、端子SLに一定電位が印加された状態で、制御信号SE、RE及びOPEがHighになっているので、電圧発生回路25bは、SRAMとして機能し、抵抗変化素子2及び参照抵抗221には、それぞれ、その抵抗値の大小に依存した電流Idata及びIrefが流れるつまり、プリチャージされる。次に、第2のステップ図中の増幅では、低抵抗状態への書き込みset、高抵抗状態への書き込みreset、及び、読み出しreadのいずれを行うかに応じて、図示されるように、各種制御信号及び端子SLに所定の電圧が与えられる。いずれの動作であっても、このステップでは、正帰還による増幅が行われ、抵抗変化素子2の上側端子には、抵抗変化素子2の抵抗値Rmと参照抵抗121の抵抗値Rrefとの大小関係に依存して定まる電圧ここでは、Rm>Rrefの場合には、電圧Vdd、一方、Rm<Rrefの場合には、GND電位が印加される。なお、書き込みを行う場合には図中のwrite、制御信号OPEがLowとなり、その結果、NMOSトランジスタ203及び204のゲートには電圧Vddが印加され、NMOSトランジスタ203及び204は、それぞれ、抵抗変化素子2及び参照抵抗221への書き込みつまり、電流増幅を行うドライバとして機能する。以上のように、本変形例における電圧発生回路25bによれば、抵抗変化素子2の上側端子には、抵抗変化素子2が高抵抗状態にある場合には、High電圧が印加され、抵抗変化素子2が低抵抗状態にある場合には、Low電圧が印加される。よって、抵抗変化素子2を低抵抗状態に設定セットする場合には、抵抗変化素子2が高抵抗状態リセット状態にあるときにだけ、抵抗変化素子2の両端に電圧ここでは、下側端子を基準に上側端子にHigh電圧が印加され、その結果、抵抗変化素子2が高抵抗状態から低抵抗状態に遷移する。一方、抵抗変化素子2を高抵抗状態に設定リセットする場合には、抵抗変化素子2が低抵抗状態セット状態にある場合にだけ、抵抗変化素子2の両端に電圧ここでは、上側端子を基準に下側端子にHigh電圧が印加され、その結果、抵抗変化素子2が低抵抗状態から高抵抗状態に遷移する。よって、抵抗変化素子2への多重書き込みが自動的自立的に回避される。なお、図7における第3のステップ図中のリセットは、この電圧発生回路25bの初期状態書き込みでも読み出しでもない状態を示している。応用例1次に、本発明に係る書き込み回路の応用例1を説明する。図8は、2つの電圧発生回路を用いて多重書き込みを自動的自立的に回避する応用例1に係る書き込み回路の回路図である。この書き込み回路は、抵抗変化素子2の上側端子に出力端子が接続された第1書き込み回路書き込み回路1と、抵抗変化素子2の下側端子に出力端子が接続された第2書き込み回路書き込み回路1aとを備える。第1書き込み回路書き込み回路1は、抵抗変化素子2が高抵抗状態にある場合に抵抗変化素子2の上側端子に第1電圧High電圧を印加し、一方、抵抗変化素子2が低抵抗状態にある場合に抵抗変化素子2の上側端子に第1電圧よりも低い第2電圧Low電圧を印加する。第2書き込み回路書き込み回路1aは、抵抗変化素子2が高抵抗状態にある場合に抵抗変化素子2の下側端子に第2電圧Low電圧を印加し、一方、抵抗変化素子2が低抵抗状態にある場合に抵抗変化素子2の下側端子に第1電圧High電圧を印加する。なお、抵抗変化素子2は、抵抗変化素子2の上側端子に第1電圧High電圧が印加され、かつ、抵抗変化素子2の下側端子に第2電圧Low電圧が印加された場合に、抵抗値が低抵抗化され、抵抗変化素子2の上側端子に第2電圧Low電圧が印加され、かつ、抵抗変化素子2の下側端子に第1電圧High電圧が印加された場合に、抵抗値が高抵抗化される性質を有する点は、上記実施の形態と同じである。以下、2つの書き込み回路1及び1aをより詳しく説明する。右側の書き込み回路1における電圧発生回路25は、図1に示されるものと同一である。この電圧発生回路25からの出力電圧Vout1は、スイッチ45を介して、抵抗変化素子2の一端上側端子に印加される。一方、左側の電圧発生回路325は、基本的には、右側の電圧発生回路25と同様の電流差動センス方式のラッチ回路であるが、電圧発生回路25と反対の論理で出力電圧Vout1aを出力するように、内部回路が接続されている。つまり、この電圧発生回路325は、NMOSトランジスタ311、313~315及び317~320、PMOSトランジスタ312及び316、並びに、参照抵抗21と同じ抵抗値Rrefをもつ参照抵抗321から構成される保持部310と、PMOSトランジスタ331及び332から構成される印加部330とを備える。ここで、印加部330を構成するPMOSトランジスタ331のソースの接続先と、PMOSトランジスタ332のソースの接続先とは、右側の電圧発生回路25での接続先とは逆になっている。そして、この電圧発生回路325からの出力電圧Vout1aは、スイッチ45をa介して、抵抗変化素子2の他端下側端子に印加される。なお、スイッチ45は、図示されていない制御回路からの制御の下で、抵抗変化素子2を低抵抗状態に設定セットする場合には、抵抗変化素子2の上側端子を電圧発生回路25の出力端子Voutに接続し、一方、抵抗変化素子2を高抵抗状態に設定リセットする場合には、抵抗変化素子2の上側端子をGNDに接続する。同様に、スイッチ45aは、図示されていない制御回路からの制御の下で、抵抗変化素子2を低抵抗状態に設定セットする場合には、抵抗変化素子2の下側端子をGNDに接続し、一方、抵抗変化素子2を高抵抗状態に設定リセットする場合には、抵抗変化素子2の下側端子を電圧発生回路325の出力端子Voutに接続する。このように構成された本応用例に係る書き込み回路によれば、以下の動作が行われる。1抵抗変化素子2を低抵抗状態に設定セットする場合抵抗変化素子2の下側端子は、スイッチ45aにより、Low電位GNDに固定される。一方、抵抗変化素子2の上側端子には、右側の電圧発生回路25により、抵抗変化素子2が高抵抗状態にある場合には、High電圧が印加され、抵抗変化素子2が低抵抗状態にある場合には、Low電圧が印加される。この結果、抵抗変化素子2が高抵抗状態リセット状態にある場合にだけ、抵抗変化素子2の両端に電圧ここでは、下側端子を基準に上側端子にHigh電圧が印加され、その結果、抵抗変化素子2が高抵抗状態から低抵抗状態に遷移するセットされる。つまり、抵抗変化素子2が既に低抵抗状態にある場合には、抵抗変化素子2の両端には電圧が印加されず、多重書き込みが回避される。2抵抗変化素子2を高抵抗状態に設定リセットする場合抵抗変化素子2の上側端子は、スイッチ45により、Low電位GNDに固定される。一方、抵抗変化素子2の下側端子には、左側の電圧発生回路325により、抵抗変化素子2が高抵抗状態にある場合には、Low電圧が印加され、抵抗変化素子2が低抵抗状態にある場合には、High電圧が印加される。この結果、抵抗変化素子2が低抵抗状態セット状態にある場合にだけ、抵抗変化素子2の両端に電圧ここでは、上側端子を基準に下側端子にHigh電圧が印加され、その結果、抵抗変化素子2が低抵抗状態から高抵抗状態に遷移するリセットされる。つまり、抵抗変化素子2が既に高抵抗状態にある場合には、抵抗変化素子2の両端には電圧が印加されず、多重書き込みが回避される。応用例2次に、本発明に係る書き込み回路の応用例2を説明する。この応用例2は、本発明に係る書き込み回路の駆動方法であり、ベリファイ動作を伴いながら不揮発性記憶素子ここでは、抵抗変化素子の抵抗値を調整する方法である。一般に、抵抗変化素子は、図9Aの特性図に示されるように、抵抗値がばらつく。図9Aには、正及び負の電圧パルスを交互に繰り返して抵抗変化素子に印加することによって抵抗変化素子を高抵抗状態と低抵抗状態とに交互に遷移させた場合における抵抗変化素子の抵抗値がプロットされている。横軸は正及び負の電圧パルスを印加した回数に対応する時間であり、縦軸は抵抗変化素子2の抵抗値である。本図から分かるように、抵抗変化素子の抵抗値は、高抵抗状態及び低抵抗状態のそれぞれにおいて、常に同一の値をとるとは限らず、ランダムにばらつく。特に、高抵抗状態における抵抗値は、大きくばらつく。そこで、本応用例では、抵抗変化素子の書き込み方法として、図9Bのフローチャートに示されるように、ベリファイ動作を伴った書き込みを行う。つまり、まず抵抗変化素子への書き込みを行った後にS11、その抵抗変化素子の抵抗値を読み出しS11、読み出した抵抗値が規定範囲内であるか否かを判断しS13、規定範囲内でない場合にはS13でFail、再度の書き込みを行うS11~S13。このような処理を、抵抗値が規定範囲内になるまでS13でPass、繰り返す。ここで、規定範囲内とは、例えば、抵抗変化素子を低抵抗状態に書き込むセットする場合には、典型的な抵抗変化素子の高抵抗状態における抵抗値Rhと低抵抗状態における抵抗値Rlとの中間値RhRl/2よりも小さい抵抗値の範囲をいい、一方、抵抗変化素子を高抵抗状態に書き込むリセットする場合には、典型的な抵抗変化素子の高抵抗状態における抵抗値Rhと低抵抗状態における抵抗値Rlとの中間値RhRl/2よりも大きい抵抗値の範囲をいう。ここで、本応用例では、ベリファイS13におけるFailの場合に同じ書き込みステップを繰り返すのではなく、図9Cに示されるように、直前の書き込み時間よりも大きな書き込み時間で抵抗変化素子への書き込みを行う。たとえば、第1回目の書き込みでは、書き込みフェーズ図2Cに示される動作における時間が初期値t秒となるようにして書き込みを行い、その後のベリファイS13においてFailした場合には、書き込みフェーズにおける時間を直前の2倍の時間2t秒にして書き込みを行い、さらにその後のベリファイS13においてFailした場合には、書き込みフェーズにおける時間をさらに直前の2倍の時間4t秒にして書き込むというように、ベリファイS13においてPassするまで、書き込み時間を直前の2倍にして書き込むことを繰り返す。このような書き込み方法により、抵抗変化素子の抵抗値は、確実に、規定範囲内の値に調整される。抵抗変化素子は、印加される電圧パルスの時間とともに抵抗状態が遷移する確率が増加するが、無駄に長い時間の電圧パルスを常に印加したのでは、抵抗変化素子の特性を劣化させてしまう。よって、このようなベリファイ動作を伴いつつ、書き込み時間を徐々に大きくしていく書き込み方法により、確実に、かつ、抵抗変化素子に余計なストレスを与えることなく、書き込みが行われる。応用例3次に、本発明に係る書き込み回路の応用例3として、多値書き込み回路を説明する。図10は、本発明の応用例3における多値書き込み回路のブロック図である。この多値書き込み回路は、抵抗変化素子2を、第1抵抗値R1と第1抵抗値R1よりも大きな第2抵抗値R2との間の抵抗値に設定する書き込むことができる多値書き込み回路であって、抵抗変化素子2の一端左側端子に接続された第1書き込み回路1a325と、抵抗変化素子2の他端右側端子に接続された第2書き込み回路125とを備える。第1書き込み回路1a325は、図8に示された電圧発生回路325と同じ回路構成を有しただし、参照抵抗321の抵抗値Rref=第1抵抗値R1、出力端子OUT1から抵抗変化素子2の一端左側端子に電圧を印加する回路である。具体的には、この第1書き込み回路1a325は、抵抗変化素子2が第1抵抗値R1よりも小さな抵抗値をもつ場合に、抵抗変化素子2の一端左側端子に第1電圧High電圧を印加し、抵抗変化素子2が第1抵抗値よりも大きな抵抗値をもつ場合に、抵抗変化素子2の一端左側端子に第1電圧High電圧よりも低い第2電圧Low電圧を印加する。一方、第2書き込み回路125は、図8及び図1に示された電圧発生回路25と同じ回路構成を有しただし、参照抵抗21の抵抗値Rref=第2抵抗値R2、出力端子OUT2から抵抗変化素子2の他端右側端子に電圧を印加する回路である。具体的には、この第2書き込み回路125は、抵抗変化素子2が第2抵抗値R2よりも小さな抵抗値をもつ場合に、抵抗変化素子2の他端右側端子に第2電圧Low電圧を印加し、抵抗変化素子2が第2抵抗値R2よりも大きな抵抗値をもつ場合に、抵抗変化素子2の他端右側端子に第1電圧High電圧を印加する。なお、この抵抗変化素子2は、図1に示されたものと同一の特性を有する。つまり、この抵抗変化素子2は、一端左側端子に第1電圧High電圧が印加され、かつ、他端右側端子に第2電圧Low電圧が印加された場合に、抵抗値が高抵抗化リセットされ、一端左側端子に第2電圧Low電圧が印加され、かつ、他端右側端子に第1電圧High電圧が印加された場合に、抵抗値が低抵抗化セットされる性質を有する。このような多値書き込み回路によれば、図10の右下に示されるように、抵抗変化素子2の抵抗値Rmと参照抵抗321の抵抗値R1及び参照抵抗21の抵抗値R2との関係により、以下の書き込み動作が行われる。1Rm<R1、R2のとき出力端子OUT1の電圧はHigh電圧電圧Vddとなり、出力端子OUT2の電圧はLow電圧GNDとなり、抵抗変化素子2には、高抵抗化する電圧RESET電圧が印加される。2R1、R2<Rmのとき出力端子OUT1の電圧はLow電圧GNDとなり、出力端子OUT2の電圧はHigh電圧電圧Vddとなり、抵抗変化素子2には、低抵抗化する電圧SET電圧が印加される。3R1<Rm<R2のとき出力端子OUT1の電圧はLow電圧GNDとなり、出力端子OUT2の電圧はLow電圧GNDとなり、抵抗変化素子2の両端には、電圧が印加されない。以上のことから、この多値書き込み回路によれば、このような書き込み動作によって、抵抗変化素子2の抵抗値Rmは、第1抵抗値R1と第2抵抗値R2との間の抵抗値に調整される。つまり、第1抵抗値R1を設定したい目標抵抗値の下限値に設定しておき、第2抵抗値R2を目標抵抗値の上限値に設定しておくことで、抵抗変化素子2の抵抗値は、下限値と上限値との間の抵抗値に設定される。よって、図10の左下に示されるように、例えば、2ビットの制御信号の値に応じて、第1抵抗値R1と第2抵抗値R2との組み合わせを切り替える4種類の異なる抵抗値の組み合わせから一つを選択する回路を、このような多値書き込み回路に付加することで、抵抗変化素子2の抵抗値を、4値のうちの所望の一つの値に設定する多値書き込み回路が実現される。その結果、一つのメモリセルで2ビット以上の抵抗状態を記憶させることが可能となり、メモリセルあたりのビット数を増やし、実効的なメモリ容量を増やすことができる。応用例4次に、本発明に係る書き込み回路の応用例4として、別の多値書き込み回路を説明する。図11は、本発明の応用例4における多値書き込み回路50を説明する図である。図11aは、本応用例における多値書き込み回路50のブロック図である。この多値書き込み回路50は、抵抗変化型の不揮発性記憶素子ここでは、抵抗変化素子2を、第1抵抗値REFAと第1抵抗値REFAよりも大きな第2抵抗値REFBとの間の抵抗値に設定する多値書き込み回路であって、主に、抵抗変化素子2の一端下側端子RRAMBに接続された第1書き込み回路センスアンプampRと、第2書き込み回路センスアンプampLと、抵抗変化素子2の他端上側端子RRAMUに接続されたここでは、NMOSトランジスタ54aを介して接続された少なくとも2つのスイッチ素子ここでは、NMOSトランジスタ52及び53とを備える。第1書き込み回路センスアンプampRは、抵抗変化素子2が第1抵抗値REFAよりも小さな抵抗値をもつ場合に、第1電圧High電圧を、抵抗変化素子2の一端下側端子RRAMBに印加するとともに出力端子ampRoutから出力し、一方、抵抗変化素子2が第1抵抗値REFAよりも大きな抵抗値をもつ場合に、第1電圧High電圧よりも低い第2電圧Low電圧を、抵抗変化素子2の一端下側端子RRAMBに印加するとともに出力端子ampRoutから出力する。第2書き込み回路センスアンプampLは、抵抗変化素子2が第2抵抗値REFBよりも小さな抵抗値をもつ場合に、第2電圧Low電圧を出力端子ampLoutから出力し、一方、抵抗変化素子2が第2抵抗値REFBよりも大きな抵抗値をもつ場合に、第1電圧High電圧を出力端子ampLoutから出力する。抵抗変化素子2の他端上側端子RRAMUに接続された少なくとも2つのスイッチ素子ここでは、NMOSトランジスタ52及び53の一つNMOSトランジスタ53は、そのゲートが第1書き込み回路センスアンプampRの出力端子ampRoutに接続され、その出力端子ampRoutから第1電圧High電圧が出力されたときに、ONし、ドレインに接続された第2電圧電圧VresetLow電圧を、NMOSトランジスタ54aを介して抵抗変化素子2の他端上側端子RRAMUに印加する。また、抵抗変化素子2の他端上側端子RRAMUに接続された少なくとも2つのスイッチ素子ここでは、NMOSトランジスタ52及び53の他の一つNMOSトランジスタ52は、そのゲートが第2書き込み回路センスアンプampLの出力端子ampLoutに接続され、その出力端子ampLoutから第1電圧High電圧が出力されたときに、ONし、ドレインに接続された第1電圧電圧VsetHigh電圧を、NMOSトランジスタ54aを介して抵抗変化素子2の他端上側端子RRAMUに印加する。抵抗変化素子2は、図1に示されたものと同一の特性を有する。つまり、この抵抗変化素子2は、抵抗変化素子2の一端下側端子RRAMBに第1電圧High電圧が印加され、かつ、抵抗変化素子2の他端上側端子RRAMUに第2電圧Low電圧が印加された場合に、抵抗値が高抵抗化リセットされ、抵抗変化素子2の一端下側端子RRAMBに第2電圧Low電圧が印加され、かつ、抵抗変化素子2の他端上側端子RRAMUに第1電圧High電圧が印加された場合に、抵抗値が低抵抗化セットされる性質を有する。以下、この多値書き込み回路50の構成について、より詳しく説明する。この多値書き込み回路50は、主に、3つのNMOSトランジスタ51~53と、書き込みの対象となる抵抗変化素子2抵抗値Rmと、2つのセンスアンプampR及びampLと、2つの参照抵抗抵抗値REFA及びREFBとを備える。3つのNMOSトランジスタ51~53は、それぞれ、読み出し用、低抵抗化セット用、及び、高抵抗化リセット用のスイッチ素子であり、ドレインが、それぞれ、読み出し用電圧Vread、セット用電圧Vset、及び、リセット用電圧Vresetに接続され、ゲートには、それぞれ、制御信号re、制御信号seteセンスアンプampLの出力端子ampLoutからの信号、及び、制御信号reseteセンスアンプampRの出力端子ampRoutからの信号が供給される。NMOSトランジスタ51のソースは抵抗変化素子2の上側端子RRAMUに接続され、NMOSトランジスタ52及び53のソースはNMOSトランジスタ54aを介して抵抗変化素子2の上側端子RRAMUに接続されている。センスアンプampR及びampLは、上述した電圧発生回路に相当する回路でありただし、参照抵抗を除外した回路、抵抗変化素子2及び参照抵抗に接続されるそれぞれの端子を入力端子とし、出力ノード図1におけるノードvout_left又はvout_right等を出力端子とする三角形のシンボルで図示されている。なお、センスアンプampRには、その出力端子ampRoutとその入力端子の一つ抵抗変化素子2に接続されている入力端子との間に、バッファアンプここでは、2段のインバータ及びNMOSトランジスタ54bが接続されている。センスアンプampRは、図10の書き込み回路1a325のように、抵抗変化素子2の抵抗値Rmと参照抵抗の抵抗値REFAとの関係がREFA>Rmの場合に、出力端子ampRoutにHigh電圧を出力し、一方、REFA<Rmの場合に、出力端子ampRoutにLow電圧を出力する。また、センスアンプampLは、図10の書き込み回路125のように、REFB>Rmの場合に、出力端子ampRoutにLow電圧を出力し、一方、REFB<Rmの場合に、出力端子ampRoutにHigh電圧を出力する。図11bは、この多値書き込み回路50の動作目標を説明する図である。抵抗変化素子2の抵抗値Rmと2つの参照抵抗の抵抗値REFA及びREFBとの間には、3つのケースが考えられるなお、REFA<REFBとする。ケース1は、Rm<REFA、REFBであり、このケースでは、抵抗変化素子2に対してリセット動作をすることによって高抵抗化する必要がある。また、ケース2は、REFA<Rm<REFBであり、目標となる最終状態であるので、このケースでは、なにもしない。また、ケース3は、REFA、REFB<Rmであり、このケースでは、抵抗変化素子2に対してセット動作をすることによって低抵抗化する必要がある。図11cは、このような多値書き込み回路50の動作結果を示す真理値表であり、図11bの3つのケース1~3に対応した電圧HHigh電圧/LLow電圧が記載されている。この多値書き込み回路50は、図11cに示されるように、以下のように動作する。1ケース1Rm<REFA、REFBセンスアンプampLの出力端子ampLoutは、Low電圧となり、センスアンプampRの出力端子ampRoutは、High電圧となる。これにより、NMOSトランジスタ51~53のうち、ゲートに出力端子ampRoutからの信号reseteが供給されるNMOSトランジスタ53だけがONし、抵抗変化素子2の上側端子RRAMUには、電圧Vresetここでは、Low電圧が印加される。一方、抵抗変化素子2の下側端子RRAMBには、センスアンプampRの出力端子ampRoutからのHigh電圧がバッファアンプ及びNMOSトランジスタ54bを介して印加される。この結果、抵抗変化素子2の下側端子RRAMBにHigh電圧が印加され、その上側端子RRAMUにはLow電圧が印加されるので、図11bのケース1で示したように、抵抗変化素子2に対してリセット動作が行われ、抵抗変化素子2が高抵抗化する。2ケース2REFA<Rm<REFBセンスアンプampLの出力端子ampLoutは、Low電圧となり、センスアンプampRの出力端子ampRoutは、Low電圧となる。これにより、NMOSトランジスタ51~53のすべてがOFFとなり、抵抗変化素子2の上側端子RRAMUには、電圧が印加されないフロート状態となる。一方、抵抗変化素子2の下側端子RRAMBには、センスアンプampRの出力端子ampRoutからのLow電圧がバッファアンプ及びNMOSトランジスタ54bを介して印加される。この結果、抵抗変化素子2の下側端子RRAMBにLow電圧が印加され、その上側端子RRAMUはフロート状態となるので、図11bのケース2で示したように、抵抗変化素子2に対して電圧が印加されず、抵抗変化素子2の抵抗値は変化しない。3ケース3REFA、REFB<RmセンスアンプampLの出力端子ampLoutは、High電圧となり、センスアンプampRの出力端子ampRoutは、Low電圧となる。これにより、NMOSトランジスタ51~53のうち、ゲートに出力端子ampLoutからの信号seteが供給されるNMOSトランジスタ52だけがONし、抵抗変化素子2の上側端子RRAMUには、電圧Vsetここでは、High電圧が印加される。一方、抵抗変化素子2の下側端子RRAMBには、センスアンプampRの出力端子ampRoutからのLow電圧がバッファアンプ及びNMOSトランジスタ54bを介して印加される。この結果、抵抗変化素子2の下側端子RRAMBにLow電圧が印加され、その上側端子RRAMUにはHigh電圧が印加されるので、図11bのケース3で示したように、抵抗変化素子2に対してセット動作が行われ、抵抗変化素子2が低抵抗化する。以上のことから、この多値書き込み回路50によれば、書き込み動作によって、抵抗変化素子2の抵抗値Rmは、第1抵抗値REFAと第2抵抗値REFBとの間の抵抗値に調整される。つまり、第1抵抗値REFAを設定したい目標抵抗値の下限値に設定しておき、第2抵抗値REFBを目標抵抗値の上限値に設定しておくことで、抵抗変化素子2の抵抗値は、下限値と上限値との間の抵抗値に設定される。これにより、応用例3と同様に、2つの参照抵抗値の組み合わせを変更する回路を付加することで、一つの不揮発性記憶素子の抵抗値を3以上の多値のいずれかに設定することが可能になり、1ビットで多値を記憶できるメモリセルが実現され、メモリセルあたりのメモリ容量が増大される。以上、本発明に係る抵抗変化型不揮発性記憶素子の書き込み回路及び多値書き込み回路について、実施の形態、変形例及び応用例に基づいて説明したが、本発明は、これらの実施の形態、変形例及び応用例に限定されるものではない。本発明の主旨を逸脱しない範囲で、これらの実施の形態、変形例及び応用例に対して当業者が思いつく各種変形例を施して得られる形態や、これらの実施の形態、変形例及び応用例における回路要素及び手順を任意に組み合わせて実現される回路及び手順も、本発明に含まれる。たとえば、上記応用例1~4における書き込み回路あるいは、電圧発生回路としては、実施の形態、変形例1及び変形例2のいずれの書き込み回路あるいは、電圧発生回路で構成してもよい。これらの応用例1~4は、書き込み回路あるいは、電圧発生回路におけるセンス方式電流差動センス方式、電圧差動センス方式に依存することなく実現できるからである。