(57)【特許請求の範囲】
【請求項１】
ビット線に複数のトランスファゲートが挿入され前記ビット線が複数に分割されてセルアレイがワード線単位で複数に分割されたメモリ回路を設計するメモリ回路の設計装置において、
前記メモリ回路の仕様を入力して前記セルアレイのロウ数とカラム数を決定し、前記トランスファーゲートの挿入位置と挿入数を受けて、これらの情報ならびに前記ロウ数とカラム数に基づいて前記セルアレイを含む前記メモリ回路の各コンポーネントを設計生成し、設計生成した前記各コンポーネントを含む前記メモリ回路のレイアウトを出力するメモリ生成サブシステムと、
前記メモリ生成サブシステムで決定されたロウ数とカラム数を受けて、該ロウ数とカラム数に対してトランスファーゲートの挿入位置と挿入数に対応した前記メモリ回路の消費電力削減率のデータベースを備え、前記メモリ回路に格納される情報を入力して解析し、前記情報のアクセス頻度と前記データベースに基づいて前記トランスファーゲートの挿入位置と挿入数を決定し、該トランスファーゲートの挿入位置と挿入数に基づいて前記情報を格納する前記セルアレイのアドレスを決定し、決定した前記トランスファーゲートの挿入位置と挿入数を前記メモリ生成サブシステムに与えるデータ解析サブシステムと
を有することを特徴とするメモリ回路の設計装置。
【請求項２】
ビット線に複数のトランスファゲートが挿入され前記ビット線が複数に分割されてセルアレイがワード線単位で複数に分割されたメモリ回路を設計するメモリ回路の設計方法において、
前記メモリ回路の仕様を入力して前記セルアレイのロウ数とカラム数を決定し、
前記メモリ回路に格納される情報を入力して解析し、
前記メモリ回路に格納される情報のアクセス頻度と、前記決定されたロウ数とカラム数を受けて、該ロウ数とカラム数に対してトランスファーゲートの挿入位置と挿入数に対応した前記メモリ回路の消費電力削減率のデータベースとに基づいて、前記トランスファーゲートの挿入位置と挿入数を決定し、
前記トランスファーゲートの挿入位置と挿入数に基づいて、前記情報を格納する前記セルアレイのアドレスを決定し、
前記トランスファーゲートの挿入位置と挿入数ならびに前記ロウ数とカラム数に基づいて、前記セルアレイを含む前記メモリ回路の各コンポーネントを設計生成し、
設計生成した前記各コンポーネントを含む前記メモリ回路のレイアウトを出力する
ことを特徴とするメモリ回路の設計方法。
【請求項３】
前記メモリ回路の設計装置は、前記セルアレイをワード線単位で複数のセルアレイに分割し、少なくとも２種類のデータを分割されたセルアレイに格納し、前記データベースに基づいて、分割されたそれぞれのセルアレイ間のビット線に前記トランスファゲートを選択的に挿入したすべての組み合わせと挿入しない場合の前記メモリ回路の消費電力を算出し、算出結果に基づいて前記トランスファゲートを挿入するか否かを決定する
ことを特徴とする請求項１記載のメモリ回路の設計装置。
【請求項４】
前記メモリ回路の設計方法は、前記セルアレイをワード線単位で複数のセルアレイに分割し、少なくとも２種類のデータを分割されたセルアレイに格納し、前記データベースに基づいて、分割されたそれぞれのセルアレイ間のビット線に前記トランスファゲートを選択的に挿入したすべての組み合わせと挿入しない場合の前記メモリ回路の消費電力を算出し、算出結果に基づいて前記トランスファゲートを挿入するか否かを決定する
ことを特徴とする請求項２記載のメモリ回路の設計方法。
【請求項５】
前記メモリ生成サブシステムは、前記トランスファゲートの挿入位置及び挿入数に基づいて、分割されたビット線の各導通区間に対して要求されるセンスアンプのそれぞれの感度を算出し、算出した感度に応じた複数のセンスアンプを設計生成してなる
ことを特徴とする請求項１記載のメモリ回路の設計装置。
【請求項６】
前記トランスファゲートの挿入位置及び挿入数に基づいて、分割されたビット線の各導通区間に対して要求されるセンスアンプのそれぞれの感度を算出し、算出した感度に応じた複数のセンスアンプを設計生成してなる
ことを特徴とする請求項２記載のメモリ回路の設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、トランスファゲートをビット線に挿入してビット線を分割したメモリ回路の設計装置及びメモリ回路の設計方法に関する。
【０００２】
【従来の技術】
従来、半導体メモリ回路において、ビット線の電荷を必要最小限のビット線区間のみで充放電させてメモリ回路全体での消費電力を低減するために、図２１に示すように、同一メモリプレーン内のビット線１０１を複数個に分割し、トランスファーゲート１０２を介してそれらを接続する手法がある。トランスファーゲート１０２の制御はアドレス信号で行われる。
【０００３】
しかし、この方法では、多くのトランスファーゲートを介して充放電を行うために、メモリの速度性能を低下させるという問題がある。また、多くのトランスファーゲートを介して充放電を行うメモリアクセスの頻度が大きければ、低消費電力の効果が小さくなるという問題がある。そこで、各ビット線に付加するトランスファーゲートを、１つあるいはごく少数にすることによって、この問題は小さくなる。例えば図２２に示すようにトランスファーゲート１０２を１つとしてビット線１０１を２分割した場合を考える。図２２において、分割したメモリセルアレイについて、センスアンプ１０３に近い方をアレイ１、センスアンプ１０３に遠い方のアレイをアレイ２とする。単にこのようなメモリ回路を使用しただけでは、アレイ２へのアクセス頻度が大きくなった場合に、消費電力削減効果が小さくなる、あるいは消費電力が増大するという問題がある。一方、アクセス頻度が高いデータをアレイ１に収納することによって、より大きな消費電力削減効果が得られる。さらに、より高い消費電力削減効果を得るためには、アクセス頻度とデータ量に基づいて、トランスファーゲートを挿入する位置と数を決定する必要がある。
【０００４】
各データへのアクセス頻度を予測し、アクセス頻度が高いと予測されたデータを、ある一定のメモリ空間に移動させる手法がある（International Symposium on Low Power Electronics and Design, pp.70-75, August 1998）。しかし、アクセス頻度によって、上記構成においてトランスファーゲートを挿入する位置と数を決定する手法はなかった。
【０００５】
また、図２３に示すようにトランスファゲート１０６によりメモリセルアレイを大アレイ１０４と小アレイ１０５に分割した場合に、消費電力が最小になるような大アレイ１０４、小アレイ１０５の最適分割位置は、一般にこのメモリ回路に格納されるデータを使用するアプリケーション毎に異なるため、アプリケーションが決まってからでないと、トランスファゲート１０６の最適挿入位置を決定することができなかった。したがって、このようなメモリ回路を実際に製造する際に、小アレイが非常に小さい場合には例えば図２３（ａ）に示すようなレイアウトを採用し、小アレイが比較的大きい場合には図２３（ｂ）に示すようなレイアウトを採用すると、トランスファゲート１０６の挿入位置を決定し、その後トランスファゲート１０６を実現する半導体チップ上の位置にトランスファゲート１０６を構成するＰチャネルトランジスタとＮチャネルトランジスタを形成する。この手順では、アプリケーションが決まってからでないとトランジスタの形成位置が決まらないので、トランジスタを形成することができない。一方、ゲートアレイ（ＧＡ）やエンベッデッドアレイ（ＥＡ）等ではアプリケーションが決まる前に予めトランジスタを形成しておき、アプリケーションが決まった後メタル配線層のみを形成して半導体装置を完成させることにより短ＴＡＴを達成している。このため、上記構成の低消費電力メモリをＧＡやＥＡ等に適用しようとする場合には、大きな問題となっていた。
【０００６】
上述した構成のメモリからデータを読み出す場合に、センスアンプが動作するが、メモリにおけるセンスアンプの消費電力はかなりの部分を占めるため、センスアンプの消費電力を小さくすることは、メモリの低消費電力につながる。例えば図２２において、アレイ１にアクセスした場合には、トランスファーゲート１０２でビット線１０１が区切られることになるため、ビット線１０１の負荷容量は小さくなっている。したがって、アレイ２をアクセスする場合に比較してセンスアンプ１０３の感度はそれほど高くなくても十分である。感度が低いセンスアンプは、流れる電流が少ないため消費電力は小さくなる。そこで、各ビット線１０１毎に、図２４又は図２５に示すように感度の高いセンスアンプ（両図の左側）と感度の低いセンスアンプ（両図の右側）の２つを用意し、並列に接続することが考えられる。アレイ１のアクセス時には感度の低いセンスアンプを動作させ、アレイ２のアクセス時には感度の高いセンスアンプを動作させる。この方式により、アレイ１にアクセスした時には消費電力を削減できる。ところが、各ビット線毎に２つのセンスアンプが必要になるので、回路の面積的オーバーヘッドが大きくなってしまうことが問題であった。
【０００７】
【発明が解決しようとする課題】
以上説明したように、トランスファゲートを介してビット線を分割して低消費電力を図った従来のメモリ回路においては、消費電力の削減効果を向上させるためには、トランスファゲートの挿入位置と個数を最適化する必要があった。しかしながら、従来はこの最適化の手法がなかった。また、トランスファゲートの挿入位置は、メモリ回路に記憶されるアプリケーションプログラムに応じて異なるため、アプリケーションが決まらないとトランスファゲートの挿入位置や個数が決められなかったので、短ＴＡＴのＡＳＩＣ等に適用し難いといった不具合を招いていた。
【０００８】
一方、上記従来のメモリ回路においては、読み出し動作時のビット線の長さが異なるので、低消費電力を図る観点からはビット線の長さに応じて異なる感度のセンスアンプを用意することが望ましい。しかし、異なる感度の複数のセンスアンプを用意することは、構成が大型化するといった不具合を招いていた。
【０００９】
そこで、この発明は、上記に鑑みてなされたものであり、その目的とするところは、トランスファゲートを介してビット線を分割したメモリ回路におけるトランスファゲートの挿入位置と個数を最適化し得るメモリ回路の設計装置及びメモリ回路の設計方法を提供することにある。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、課題を解決する第１の手段は、ビット線に複数のトランスファゲートが挿入され前記ビット線が複数に分割されてセルアレイがワード線単位で複数に分割されたメモリ回路を設計するメモリ回路の設計装置において、前記メモリ回路の仕様を入力して前記セルアレイのロウ数とカラム数を決定し、前記トランスファーゲートの挿入位置と挿入数を受けて、これらの情報ならびに前記ロウ数とカラム数に基づいて前記セルアレイを含む前記メモリ回路の各コンポーネントを設計生成し、設計生成した前記各コンポーネントを含む前記メモリ回路のレイアウトを出力するメモリ生成サブシステムと、前記メモリ生成サブシステムで決定されたロウ数とカラム数を受けて、該ロウ数とカラム数に対してトランスファーゲートの挿入位置と挿入数に対応した前記メモリ回路の消費電力削減率のデータベースを備え、前記メモリ回路に格納される情報を入力して解析し、前記情報のアクセス頻度と前記データベースに基づいて前記トランスファーゲートの挿入位置と挿入数を決定し、該トランスファーゲートの挿入位置と挿入数に基づいて前記情報を格納する前記セルアレイのアドレスを決定し、決定した前記トランスファーゲートの挿入位置と挿入数を前記メモリ生成サブシステムに与えるデータ解析サブシステムとを有することを特徴とする。
【００１１】
第２の手段は、ビット線に複数のトランスファゲートが挿入され前記ビット線が複数に分割されてセルアレイがワード線単位で複数に分割されたメモリ回路を設計するメモリ回路の設計方法において、前記メモリ回路の仕様を入力して前記セルアレイのロウ数とカラム数を決定し、前記メモリ回路に格納される情報を入力して解析し、前記メモリ回路に格納される情報のアクセス頻度と、前記決定されたロウ数とカラム数を受けて、該ロウ数とカラム数に対してトランスファーゲートの挿入位置と挿入数に対応した前記メモリ回路の消費電力削減率のデータベースとに基づいて、前記トランスファーゲートの挿入位置と挿入数を決定し、前記トランスファーゲートの挿入位置と挿入数に基づいて、前記情報を格納する前記セルアレイのアドレスを決定し、前記トランスファーゲートの挿入位置と挿入数ならびに前記ロウ数とカラム数に基づいて、前記セルアレイを含む前記メモリ回路の各コンポーネントを設計生成し、設計生成した前記各コンポーネントを含む前記メモリ回路のレイアウトを出力することを特徴とする。
【００１２】
第３の手段は、前記第１の手段において、前記メモリ回路の設計装置は、前記セルアレイをワード線単位で複数のセルアレイに分割し、少なくとも２種類のデータを分割されたセルアレイに格納し、前記データベースに基づいて、分割されたそれぞれのセルアレイ間のビット線に前記トランスファゲートを選択的に挿入したすべての組み合わせと挿入しない場合の前記メモリ回路の消費電力を算出し、算出結果に基づいて前記トランスファゲートを挿入するか否かを決定することを特徴とする。
【００１３】
第４の手段は、前記第２の手段において、前記メモリ回路の設計方法は、前記セルアレイをワード線単位で複数のセルアレイに分割し、少なくとも２種類のデータを分割されたセルアレイに格納し、前記データベースに基づいて、分割されたそれぞれのセルアレイ間のビット線に前記トランスファゲートを選択的に挿入したすべての組み合わせと挿入しない場合の前記メモリ回路の消費電力を算出し、算出結果に基づいて前記トランスファゲートを挿入するか否かを決定することを特徴とする。
【００１４】
第５の手段は、前記第１の手段において、前記メモリ生成サブシステムは、前記トランスファゲートの挿入位置及び挿入数に基づいて、分割されたビット線の各導通区間に対して要求されるセンスアンプのそれぞれの感度を算出し、算出した感度に応じた複数のセンスアンプを設計生成してなることを特徴とする。
【００１５】
第６の手段は、前記第２の手段において、前記トランスファゲートの挿入位置及び挿入数に基づいて、分割されたビット線の各導通区間に対して要求されるセンスアンプのそれぞれの感度を算出し、算出した感度に応じた複数のセンスアンプを設計生成してなることを特徴とする。
【００２５】
【発明の実施の形態】
以下、図面を用いてこの発明の実施形態を説明する。
【００２６】
図１はこの発明の一実施形態に係るメモリ回路の設計装置の構成を示す図である。図１において、この実施形態のメモリ回路の設計装置は、メモリ生成サブシステム１と、データ解析サブシステム２からなる。メモリ生成サブシステム１は、メモリの回路およびレイアウトを生成する。データ解析サブシステム２は、メモリに格納されるデータを解析して、トランスファーゲートの最適な挿入数と挿入位置を決定する。両者が互いに必要なデータをやり取りすることによって、消費電力が小さいメモリ回路が設計生成される。
【００２７】
なお、この実施形態では、この実施形態のメモリ回路の設計装置を例えば命令メモリの設計生成に適用する場合について説明する。以下では簡単のために、図２に示すように、各ビット線４にトランスファーゲート５を２つずつ挿入し、メモリセルアレイを、センスアンプ６側からアレイ１、アレイ２、アレイ３の３つのセルアレイに分割する場合について述べる。分割数が固定でない場合も同様に行うことができる。また、アドレスはアレイ１から順に０番地から割り当てられるものとする。
【００２８】
メモリ生成サブシステム１は、ワード数、ビット幅、アスペクト比などのメモリの仕様を入力とし、これらから、メモリセルアレイのロウ数とカラム数を決定する。このロウ数ならびにカラム数の値は、データ解析サブシステム２に出力される。メモリ生成サブシステム１は、データ解析サブシステム２からトランスファーゲートの挿入位置と挿入数を受け取ると、これらの情報ならびに決定したロウ数とカラム数に基づいてメモリセルアレイ、アドレスデコーダ、センスアンプ、トランスファゲートの制御回路などのメモリの各コンポーネントを設計生成して、これらの各コンポーネントを含むメモリのレイアウトを出力する。
【００２９】
データ解析サブシステム２は、メモリに格納されるデータとして、ＣＰＵで実行されるプログラムのアセンブリコードを読み込み、プログラム中のループのネスト構造やループの実行回数の解析を行う。また、プログラムのシミュレーションデータがあればそれも読み込み、各命令へのアクセス回数を抽出する。これらの情報に基づいて、プログラムの各命令へのアクセス頻度を予測する。この予測結果は、トランスファーゲートの最適な挿入位置と挿入数の決定、ならびにデータを格納するアドレスの最適化処理に用いられる。なお、例えばＤＳＰのようにアクセス頻度が既知の場合には、アクセス頻度を予測することなく既知のアクセス頻度を用いる。
【００３０】
トランスファーゲートの最適な挿入数と挿入位置を決定するために、データ解析サブシステム２は、トランスファーゲートを挿入する位置と数に対応した、メモリの消費電力削減率のデータベース３備えている。図３にデータベース３のデータの一例を示す。この例は、２ｋワード８ビット、ロウ数が１２８、カラム数が１６のメモリのデータベースである。＄table以下に、トランスファーゲートの挿入位置と、消費電力の増加率の関係を示している。例えば、１行目の（  ６４，１２０４）＝……の例は、６４ワード目と１０２４ワード目にトランスファーゲートを挿入した場合である。すなわち、６３番地までがアレイ１、６４番地から１０２３番地がアレイ２、それ以降がアレイ３となる。この１行目の例では、アレイ１にアクセスする場合は、トランスファーゲートを挿入しない場合の４６％の消費電力となり、アレイ２にアクセスする時は７３％、アレイ３にアクセスする時はトランスファゲートが挿入されているので消費電力は逆に増え１０５％となる。以下同様に、２行目の（１２８，１２０４）＝……の例は、１２８ワード目と１０２４ワード目にトランスファーゲートを挿入した場合であり、３行目の（２５６，１２０４）＝……の例は、２５６ワード目と１０２４ワード目にトランスファーゲートを挿入した場合であり、４行目の（５１２，１２０４）＝……の例は、５１２ワード目と１０２４ワード目にトランスファーゲートを挿入した場合である。
【００３１】
このデータベース３と、アクセス頻度の予測結果に基づいて、トランスファーゲートを挿入した時の消費電力削減率を計算する。例えば、図４に示すようなアクセス頻度予測結果が得られたとする。このようなアクセス頻度予測結果においては、図５に示すようにアクセス頻度が高いデータ順にアレイ１、アレイ２、アレイ３の順序でそれぞれのアレイに格納される。したがって、上記のデータベース３を用いて消費電力を計算すると、
【数１】
｛0.46×64×1000＋0.73×（192×100＋768×10）＋1.05×1024×1｝／（64×1000＋192×100＋768×10＋1024×1）＝0.55
となる。この計算結果は、６４ワード目と１０２４ワード目にトランスファーゲートを挿入した場合には、消費電力がトランスファーゲートを挿入しなかった場合の５５％になることを意味する。したがって、同様にして他のデータについても同様の計算を行い、消費電力が最小になるものを選択する。このようにして、トランスファゲートの挿入数、挿入位置を決定する。
【００３２】
データ解析サブシステム２は、上述したようにトランスファーゲートの最適な挿入数、挿入位置を決定した後、それをメモリ生成サブシステム１に出力する。さらに、データを格納するアドレスの最適化処理として、アクセス頻度の高いと予測された命令の移動を行う。例えば、図５に示すアクセス頻度において、６４ワード目と１０２４ワード目にトランスファーゲートを挿入することを決定したとする。この場合には、アクセス数が１０００である６４ワードがアレイ１に、アクセス数が１００と１０の１９２ワードと７６８ワードがアレイ２に、その他がアレイ３に格納されるように命令の移動を行う。命令の移動を行った後、それをアセンブルして機械語を得る。
【００３３】
上述した命令の移動は、ベーシックブロック単位で行う。ベーシックブロックとは連続した命令列からなり、制御は先頭の命令に与えられ、そのあと途中で停止したり、途中から分岐しないで最後の命令から制御が離れるものをいう。したがって、同一のベーシックブロック内の命令は、同一回数だけ参照される。ベーシックブロックを別のアドレスに移動する場合には、プログラムの動作を保証するために、分岐命令を追加する。例えば図６に示すように、元のプログラムでベーシックブロックＢＢ０，ＢＢ１，ＢＢ２が連続して格納されている場合に、ＢＢ１を別のアドレスに移動させる場合を考える。このとき、ＢＢ０からＢＢ１へシーケンシャルに制御が移ることがある場合は、ＢＢ０の後に無条件分岐命令を追加する。また、ＢＢ１からＢＢ２へシーケンシャルに制御が移ることがある場合は、ＢＢ１の後に無条件分岐命令を追加する。また、連続したアドレスに格納されているベーシックブロックは、まとめて移動させることで、追加する分岐命令の数を抑えることができる。これによって、プログラムの実行時間、消費エネルギーのオーバヘッドを低減することができる。
【００３４】
ここでは、メモリの消費電力のデータベースとして、図３に示すようなトランスファーゲートの挿入位置、挿入数と消費電力削減率の対応表を用いたが、これを数式化しても同様の機能が得られる。また、この実施形態では、図２に示すように各ビット線４にトランスファーゲート５を２つずつ挿入する場合について述べたが、１つずつ挿入する場合ならびに３つ以上挿入する場合においても、同様の手法で実施できることは明らかである。すなわち、セルアレイの分割数に応じてセルアレイ間のビット線にトランスファゲートを選択的に挿入したすべての組み合わせと挿入しない場合において消費電力を算出するようにすればよい。
【００３５】
次に、この発明の他の実施形態を説明する。
【００３６】
この実施形態は、例えばＤＳＰ等のように、メモリ回路に格納されるデータに特徴がある場合のトランスファゲートの挿入位置の決定手法に関し、この実施形態の特徴とするところは、ビット線に複数のトランスファゲートが挿入されビット線が複数に分割されており、アクセス頻度に応じて、頻度大なるデータをセンスアンプに近い側の分割セルアレイに格納し、頻度小なるデータをセンスアンプから遠い側の分割セルアレイに格納したことにあり、またセンスアンプに近い側の分割セルアレイに例えばＤＳＰのフィルタ係数用データを格納し、センスアンプから遠い側の分割セルアレイには命令データを格納したことにある。
【００３７】
ＤＳＰに用いられる命令データとフィルタ係数データの両方が１つのメモリに格納されることがある。このようなＤＳＰでは、１命令で複数サイクルに渡りデータ処理を行う仕様になっていることがあり、この場合は各サイクルではフィルタ係数データにアクセスする。このため、メモリに存在する命令データに比べて係数データの方がアクセス頻度が高いという傾向があり、アクセス頻度の予測を行うことなく、データのアクセス傾向がわかる。したがって、このような場合には、メモリセルアレイをセンスアンプ側からアレイ１とアレイ２に分割し、フィルタ係数データをアレイ１に、命令データをアレイ２に格納する。これにより、メモリ消費電力を削減することができる。
【００３８】
一方、命令データに比べてフィルタ係数データが少ない場合には、メモリセルアレイをセンスアンプ側から小アレイ、大アレイに分割し、小アレイにフィルタ係数データを格納し大アレイに命令データを格納し、図７のフローチャートに示すように、小アレイと大アレイの境界部分にトランスファゲートを挿入した場合の消費電力と挿入しない場合の消費電力の２通りの場合の消費電力を、例えば先の実施形態のデータベース３と、命令データ、フィルタ係数データのアクセスの傾向に基づいて見積もり（ステップＳ１，Ｓ２）、トランスファゲートを挿入した方が低消費電力の場合には（ステップＳ３）、図８に示すようにメモリセルアレイがトランスファゲートにより分割されたメモリ回路（ＲＯＭ）を設計生成し（ステップＳ４）、一方、トランスファゲートを挿入しない方が低消費電力の場合には（ステップＳ３）、図９に示すようにメモリセルアレイがトランスファゲートにより分割されないメモリ回路（ＲＯＭ）を設計生成する（ステップＳ５）。
【００３９】
このように、この実施形態では、消費電力削減効果が大きい場合にのみ、ビット線にトランスファゲートを挿入してメモリセルを分割するようにしているので、面積的なオーバーヘッドを招くことなく低消費電力化を図ることができる。
【００４０】
なお、上記実施形態において、セルアレイの分割数や格納するデータの種類は上記実施形態に限ることはなく、セルアレイを複数に分割して複数種類のデータを分割されたセルアレイに格納するようにしてもよい。
【００４１】
次に、この発明の更に他の実施形態を説明する。
【００４２】
図２１に示す構成のメモリ回路において、同一のセンスアンプを使用した場合には、それに導通するビット線１０１の長さ、すなわちセンスアンプが駆動する負荷容量によってデータの読み出し速度が変化する。つまり、あるビット線区間のみが導通した場合は、すべてのビット線が導通した場合に比べてデータが出力される速度が速くなる。一方、データが出力される速度は、センスアンプの能力に大きく依存する。また、センスアンプの感度が高くなれば、言い換えればセンス増幅速度が速くなるにつれ消費電力も増加することになる。以上のことから、センスアンプが駆動するビット線区間が短い場合には、速度が遅い、すなわち消費電力の小さいセンスアンプを使用することによって、センスアンプでの消費電力を低減することができる。
【００４３】
そこで、この実施形態では、図１に示すメモリ生成サブシステム１を図１０に示すようなメモリ生成サブシステム７とし、図１に示すメモリ生成サブシステム１と同様にしてロウ数とカラム数が決定され、図１に示すデータ解析サブシステム２からトランスファーゲートの挿入数、挿入位置を受け取り、受け取った情報に基づいて導通するビット線区間に対して、センスアンプに必要な速度を計算し、要求される速度に応じたセンスアンプを設計生成する。さらに、その他のメモリの各コンポーネントも設計生成し、設計生成したメモリレイアウトを出力する。
【００４４】
ここで、例えば図１１に示すように、各ビット線８に１つのトランスファーゲート９が挿入された構成において、トランスファーゲート９がオンした時とオフした時の双方の場合のセンスアンプに必要な速度を計算し、その要求を満たし全ビット線区間をセンス増幅するセンスアンプＳＡon１０と、トランスファゲート９がオフした時にビット線８の一部区間をセンス増幅するセンスアンプＳＡoff １１をそれぞれ設計生成する。センスアンプＳＡon１０とセンスアンプＳＡoff １１の切り替え制御は、トランスファーゲート９を導通制御するのと同様の制御回路から出力される制御信号により行うことができる。なお、センスアンプＳＡoff １１を使用することによる消費電力削減効果が小さく、面積的オーバヘッドに見合わなければ、センスアンプＳＡon１０のみを採用するようにしてもよい。
【００４５】
次に、この発明の更に他の実施形態を図１２〜図１６を参照して説明する。
【００４６】
図１２に示す実施形態は、トランスファゲートの実装方法に関する実施形態であり、Ｍワード、Ｎビットのメモリアレイを予めｐ個のサブアレイに分割し、更に各サブアレイ間にトランスファゲートを形成するものであり、図１２に示す実施形態はメモリセルアレイを（1/4 ）Ｍワードのサブアレイ３１、３２が２個、（1/2 ）Ｍワードのサブアレイ３３が１個、計３個のサブアレイに予め分割した例である。トランスファゲートＴＧ１及びＴＧ２は、トランジスタの形成工程で形成しておく。アプリケーションが決まると大小アレイの最適分割位置が決まるので、例えばアレイをセンスアンプに近い側からのサイズが（1/2 ）Ｍワードの位置で分割すると決定された場合には、図１３（ａ）に示すようにメタルのマスクパターンを用いてサブアレイ３１とサブアレイ３３を貫通してトランスファゲートＴＧ２に接続するビット線３４ａとサブアレイ３２内にビット線３４ｂを形成する。これによって、トランスファゲートＴＧ１のソース端子及びドレイン端子は短絡され、トランスファゲートＴＧ２のみを機能させることができる。また、アレイをセンスアンプに近い側から（1/2 ）Ｍワードの位置で分割すると決定された場合には、図１３（ｂ）に示すようにメタルのマスクパターンを用いてサブアレイ３１とサブアレイ３２を貫通してトランスファゲートＴＧ１に接続するビット線３５ａとサブアレイ３３内にビット線３５ｂを形成する。これによって、トランスファゲートＴＧ２のソース端子及びドレイン端子は短絡され、トランスファゲートＴＧ１のみを機能させることができる。
【００４７】
上記実施形態におけるビット線の形成は、製造プロセスにおける２層目のメタル配線（２ＡＬ）、あるいは１層目のメタル配線（１ＡＬ）を用いて実現される。以下、各々の場合について説明する。
【００４８】
図１４（ａ）はビット線に２層目のメタル配線（２ＡＬ）を用いた場合の具体的な実施形態を示したものである。同図のように、トラスファゲートＴＧ１、ＴＧ２では、いずれもトランジスタ３６、コンタクトホール３７、１ＡＬの配線３８に加え、トランスファゲートＴＧ１、ＴＧ２のソース領域、ドレイン領域にヴィア（ＶＩＡ）３９を予め形成しておく。これにより、２ＡＬの配線パターンだけを用いてトランスファゲートＴＧ１、ＴＧ２の挿入位置を制御することができる。図１４（ｂ）に示す２ＡＬの配線パターン４０は、トランスファゲートＴＧ２のみを機能させる場合の配線例である。この２ＡＬの配線パターン４０によって、トランスファゲートＴＧ１のソース端子及びドレイン端子が短絡されるため、トランスファゲートＴＧ１はオン状態又はオフ状態でもビット線への影響はなくなる。このように、２ＡＬの配線パターン４０のみでトランスファゲートＴＧ２のみを機能させると同時に、トランスファゲートＴＧ１を機能させないように制御することができる。なお、ビット線が３層目以上のメタル配線の場合であっても、上記と同様に容易に実施できることは明らかである。
【００４９】
図１５（ａ）には、ビット線に１層のメタル（１ＡＬ）配線を用いる場合の実施形態を示す。図１４（ａ）に示す実施形態とは異なり、ビット線とトランスファゲートを接続するＶＩＡは必要ない。図１５（ａ）に示すように、トランスファゲートＴＧ１、ＴＧ２では、いずれもＰチャネルとＮチャネルのトランジスタ４１、４２及びコンタクトホール４３を形成しておく。これにより、１ＡＬの配線パターンだけを用いてトランスファゲートＴＧ１、ＴＧ２の挿入位置を制御することができる。図１５（ｂ）に示す１ＡＬの配線パターン４４は、トランスファゲートＴＧ２のみを機能させる場合の例である。この配線パターン４４は、サブアレイ３１、３３のビット線となりトランスファゲートＴＧ１のゲート間を通ってトランスファゲートＴＧ２のＰチャネルとＮチャネルのトランジスタ４１、４２のソース端子同士を接続し、同トランジスタ４１、４２のドレイン端子同士を接続しサブアレイ３２のビット線となる。この配線パターン４４は、トランスファゲートＴＧ１のトランジスタは、１ＡＬの配線パターン４４と接続されないので、トランスファゲートＴＧ１がビット線へ及ぼす影響はない。このように、１ＡＬの配線パターン４４のみで、トランスファゲートＴＧ２のみを機能させると同時に、トランスファゲートＴＧ１を機能させないように制御することができる。
【００５０】
このように、上記実施形態では、配線層のマスクパターンだけで、トランスファゲートの挿入位置を制御することができる。これにより、ＧＡやＥＡ等に代表される短ＴＡＴのＡＳＩＣに、上記メモリ回路の搭載を容易に行うことができる。また、ＧＡやＥＡのみならず、セミカスタムのＡＳＩＣやフルカスタムのＬＳＩに適用する場合でも効果的である。例えば、ＬＳＩの開発の途中で大アレイ／小アレイの分割比を変える必要が生じた場合には、配線層のマスクパターンを１枚変えるだけで対応することが可能となり、変更によって生じるマスクコストを抑えることができる。
【００５１】
図１６に示す実施形態の特徴とするところは、図１２に示すセルアレイにおいて、トランスファゲートＴＧ１とトランスファゲートＴＧ２のトランジスタサイズＷを異なるようにしたことにある。図１６に示すようにメモリアレイは、第１のサブアレイ（同図では（1/2 ）Ｍワードのサブアレイ）３３と、第１のサブアレイ３３よりもワード数の小さい複数個の第２のサブアレイ（同図では（1/4 ）Ｍワードのサブアレイ）３１、３２とに予め分割され、第２のサブアレイ３１、３２は第１のサブアレイ３３よりもセンスアンプに近い側に配置されている。以下では、トランスファゲートＴＧ１のみを機能させる場合には、サブアレイ３３を大アレイ、サブアレイ３１、３２を小アレイと呼ぶ。また、トランスファゲートＴＧ２のみを機能させる場合には、サブアレイ３１、３３からなるアレイを大アレイ、サブアレイ３２からなるアレイを小アレイと呼ぶものとする。トランスファゲートＴＧ１のトランジスタ幅Ｗ１（ＰチャネルトランジスタとＮチャネルトランジスタでトランスファゲートを形成する場合には、各々のトランジスタサイズ幅の和）が、トランスファゲートＴＧ２のトランジスタ幅Ｗ２より大きくなるように設計する。こうすることにより、図１６（ａ）に示すように図１３（ａ）と同様にトランスファゲートＴＧ２のみを機能させる場合には、サブアレイ３１とサブアレイ３３からなる大アレイの読み出し速度が遅くならずに済む。
【００５２】
一方、図１６（ｂ）では大アレイの読み出し時にはトランスファゲートＴＧ１をオンさせ、小アレイのビット線４５上にプリチャージされた電荷を、大アレイ側のメモリセルで引き抜かなければならない。図１６（ｂ）に示す場合には、同図（ａ）に比べて小アレイのサイズが大きい。すなわち、小アレイのビット線４５上の電荷量も大きいので、トランスファゲートＴＧ１の抵抗をできるだけ小さくして、電荷が大アレイのメモリセルから素早く放電するようにする。このため、トランスファゲートＴＧ１のトランジスタサイズを大きくしておく。
【００５３】
図１６（ａ）に示すようにトランスファゲートＴＧ２のみを機能させる場合には、小アレイのサイズが小さいので、トランスファゲートＴＧ２のトランジスタサイズを大きくする必要はない。なお、上記実施形態では、第２のサブアレイ３１、３２のワード数が第１のサブアレイ３３のワード数よりも小さい場合について説明したが、第２のサブアレイ３１、３２のワード数が第１のサブアレイ３３のワード数と同じ、あるいは大きい場合であっても容易に実施することができる。このように、トランスファゲートＴＧ１のトランジスタ幅Ｗ１がトランスファゲートＴＧ２のトランジスタ幅Ｗ２より大きくなるように設計しておくことにより、高速動作を維持できる。
【００５４】
次に、この発明の更に他の実施形態を図１７〜図２０を参照して説明する。
【００５５】
図１７に示す実施形態の特徴とするところは、図２２に示すようにメモリセルアレイがセンスアンプ１０３に近いアレイ１とセンスアンプ１０３から遠いアレイ２に分割され、アレイ１とアレイ２の間にはビット線１０１を分割することができるトランスファーゲート１０２が挿入され、アレイ１のアクセス時は、トランスファーゲート１０２はオフされ、アレイ２のアクセス時は、トランスファーゲート１０２はオンとなるように制御されるセルアレイを備えたメモリにおいて、センスアンプ１０３は、図１７に示すようにカレントミラー型のセンスアンプ構成を基本とし、このセンスアンプにアレイ２にアクセスする際のアレイ２アクセスセンスアンプ活性化信号が入力される駆動力が大きなＮ（チャネル）ＭＯＳトランジスタ１２と、アレイ１にアクセスする際のアレイ１アクセスセンスアンプ活性化信号が入力される駆動力が小さいＮＭＯＳトランジスタ１３が並列に接続された構成を採用したことにある。
【００５６】
図２４に示す従来のセンスアンプでは、感度の異なるセンスアンプの実現に、２つのセンスアンプを並列に接続する方法で行っていた。これに対して、この実施形態では、センスアンプの感度はセンスアンプ活性化信号が入るＮＭＯＳトランジスタの大きさに依存していることに注目し、大きさの異なる（トランジスタの幅（Ｗ）の大きさが異なる）ＮＭＯＳトランジスタ１２、１３を並列に２個接続することで、感度の異なるセンスアンプを１つのセンスアンプで実現している。２つのセンスアンプ活性化信号について、Ｗが大きなＮＭＯＳトランジスタ１２には、アレイ２をアクセスし、かつセンスアンプを活性化する制御信号となるアレイ２アクセスセンスアンプ活性化信号が入力し、Ｗが小さなＮＭＯＳトランジスタ１３には、アレイ１をアクセスし、かつセンスアンプを活性化する制御信号となるアレイ１アクセスセンスアンプ活性化信号が入力される。
【００５７】
このような構成を採用することにより、従来のセンスアンプ回路では、センスアンプが２個必要であるのに対して、この実施形態では、各ビット線に接続するセンスアンプは１個で済み、ＮＭＯＳが１個増えるだけなので、面積のオーバーヘッドは小さいままで、低電力のメモリを実現できることになる。
【００５８】
図１８に示す実施形態の特徴とするところは、ラッチ型のセンスアンプの構成を基本として、このセンスアンプに図１７に示す実施形態と同様のＮＭＯＳ１２、１３を設け、図１７と同様のセンスアンプ活性化信号により活性化制御するようにしたことにある。このような実施形態においても、図１７に示す実施形態と同様の効果を得ることができる。
【００５９】
図１９に示す実施形態の特徴とするところは、図１７に示す実施形態と同様の構成において、ＮＭＯＳ１２、１３のトランジスタサイズと与えられる活性化制御信号を変えたことにある。図１９において、並列に接続された２つのＮＭＯＳ１２、１３の内ＮＭＯＳ１２にはセンスアンプ活性化信号が与えられ、ＮＭＯＳ１３にはアレイ１アクセスセンスアンプ活性化信号が与えられる。
【００６０】
図１７に示す実施形態では、トランジスタサイズＷが異なる２つのＮＭＯＳ１２、１３には、アレイ２アクセスセンスアンプ活性化信号とアレイ１アクセスセンスアンプ活性化信号が入力され、それぞれのＮＭＯＳ１２、１３は同時には動作しなかった。しかし、並列に接続したＮＭＯＳ１２、１３を有効に使うことを考えると、感度が必要なアレイ２をアクセスする時には２つのＮＯＭＳ１２、１３を同時に動作するようにし、感度が必要でないアレイ１をアクセスする時には１つのＮＭＯＳだけ動作するようにすればよい。そこで、並列に接続された２つのＮＭＯＳの内ＮＭＯＳ１２には、アレイ１のアクセスでもアレイ２のアクセスでもどちらの場合であってもセンスアンプを活性化させるセンスアンプ活性化信号が入力され、ＮＭＯＳ１３にはアレイ２にアクセスし、かつセンスアンプを活性化するアレイ２アクセスセンスアンプ活性化信号が入力される。トランジスタサイズＷについては、センスアンプ活性化信号が入力されるＮＭＯＳ１２は、アレイ１のアクセスで動作するに十分な大きさのもの、アレイ２アクセスセンスアンプ活性化信号が入力されるＮＭＯＳ１３は、センスアンプ活性化信号が入力されるＮＭＯＳ１２と同時に動作することを考慮した大きさのものに設定される。
【００６１】
このような実施形態においては、従来のセンスアンプ回路に比較して、回路的には、各ビット線に接続するセンスアンプについて、ＮＭＯＳが１個増えるだけなので面積のオーバーヘッドは小さい。また、効率良くセンスアンプ回路を動作させるようにしているので、図１７に示す実施形態に比べて、さらなる低消費電力のメモリ回路を実現できる。
【００６２】
図２０に示す実施形態の特徴とするところは、ラッチ型のセンスアンプの構成を基本として、このセンスアンプに図１９に示す実施形態と同様のＮＭＯＳ１２、１３を設け、図１９と同様に両ＮＭＯＳ１２、１３を活性化制御するようにしたことにある。このような実施形態においても、図１９に示す実施形態と同様の効果を得ることができる。
【００６３】
なお、図１７〜図２０に示す実施形態のセンスアンプは、メモリ回路のセルアレイを分割した形態のメモリ回路だけでなく、メモリ回路がハイスピードモードと低電力モードなど複数の動作モードを持つ場合にも適用できることは明らかである。
【００６４】
【発明の効果】
以上説明したように、この発明によれば、消費電力の小さいメモリ回路を自動設計生成することが可能になる。また、設計生成するメモリ回路の使用目的に応じて、メモリ回路の消費電力を削減することが可能となる。更に、アクセスするアドレスに応じて最適なセンスアンプの設計生成が可能となり、センスアンプの消費電力を削減することが可能となる。
【００６５】
また、この発明によれば、配線層のマスクパターンだけでトランスファゲートの挿入位置を制御することが可能となり、短ＴＡＴのＡＳＩＣに容易に搭載することができ、セミカスタムのＡＳＩＣやフルカスタムのＬＳＩにも好適である。更に、少量のマスクパターンの変更によりセルアレイの分割比を容易に変更することができる。
【００６６】
更に、この発明によれば、小型で低消費電力のセンスアンプを提供することが可能となる。
【図面の簡単な説明】
【図１】この発明の一実施形態に係るメモリ回路の設計装置の構成を示す図である。
【図２】セルアレイの構成を示す図である。
【図３】図１に示すデータベースの一構成を示す図である。
【図４】データのアクセス回数とメモリ空間との関係を示す図である。
【図５】データのアクセス回数とメモリ空間との関係を示す図である。
【図６】プログラムにおけるベーシックブロックの移動の様子を示す図である。
【図７】この発明の他の実施形態に係るメモリ回路の設計方法の手順を示す図である。
【図８】トランスファゲートを挿入した場合のセルアレイの構成を示す図である。
【図９】トランスファゲートを挿入しない場合のセルアレイの構成を示す図である。
【図１０】メモリ生成サブシステムの構成を示す図である。
【図１１】メモリセルアレイとセンスアンプの構成を示す図である。
【図１２】この発明の更に他の実施形態に係るメモリ回路の実装方法により実装されるメモリセルアレイの一構成を示す図である。
【図１３】この発明の更に他の実施形態に係るメモリ回路の実装方法により実装されるメモリセルアレイの他の構成を示す図である。
【図１４】この発明の更に他の実施形態に係るメモリ回路の実装方法により実装されるメモリセルアレイの他の構成を示す図である。
【図１５】この発明の更に他の実施形態に係るメモリ回路の実装方法により実装されるメモリセルアレイの他の構成を示す図である。
【図１６】この発明の更に他の実施形態に係るメモリ回路の実装方法により実装されるメモリセルアレイの他の構成を示す図である。
【図１７】この発明の更に他の実施形態に係るメモリ回路におけるセンスアンプの一構成を示す図である。
【図１８】この発明の更に他の実施形態に係るメモリ回路におけるセンスアンプの他の構成を示す図である。
【図１９】この発明の更に他の実施形態に係るメモリ回路におけるセンスアンプの他の構成を示す図である。
【図２０】この発明の更に他の実施形態に係るメモリ回路におけるセンスアンプの他の構成を示す図である。
【図２１】トランスファゲートによりビット線が分割される従来のメモリ回路のセルアレイの一構成を示す図である。
【図２２】トランスファゲートによりビット線が分割される従来のメモリ回路のセルアレイの他の構成を示す図である。
【図２３】従来のレイアウト方式により実装されるメモリ回路のセルアレイの構成を示す図である。
【図２４】従来のメモリ回路のセンスアンプの一構成を示す図である。
【図２５】従来のメモリ回路のセンスアンプの他の構成を示す図である。
【符号の説明】
１，７  メモリ生成サブシステム
２  データ解析サブシステム
３  メモリ回路の消費電力削減率のデータベース
４，８，４５  ビット線
５，９，ＴＧ１，ＴＧ２  トランスファゲート
６，１０，１１  センスアンプ
１２，１３，３６，４１，４２  トランジスタ
３１，３２，３３  サブアレイ
３４ａ，３４ｂ，３５ａ，３５ｂ，４０，４４  マスクパターン
３７，４３  コンタクトホール
３８  １ＡＬの配線
３９  ＶＩＡ
【図１】
0003682188.tif 000002
【図２】
0003682188.tif 000003
【図３】
0003682188.tif 000004
【図４】
0003682188.tif 000005
【図５】
0003682188.tif 000006
【図６】
0003682188.tif 000007
【図７】
0003682188.tif 000008
【図８】
0003682188.tif 000009
【図９】
0003682188.tif 000010
【図１０】
0003682188.tif 000011
【図１１】
0003682188.tif 000012
【図１２】
0003682188.tif 000013
【図１３】
0003682188.tif 000014
【図１４】
0003682188.tif 000015
【図１５】
0003682188.tif 000016
【図１６】
0003682188.tif 000017
【図１７】
0003682188.tif 000018
【図１８】
0003682188.tif 000019
【図１９】
0003682188.tif 000020
【図２０】
0003682188.tif 000021
【図２１】
0003682188.tif 000022
【図２２】
0003682188.tif 000023
【図２３】
0003682188.tif 000024
【図２４】
0003682188.tif 000025
【図２５】
0003682188.tif 000026