(57)【要約】【課題】  ロジック回路とメモリ回路とを混載した半導体集積回路では、メモリ回路の面積が大きいと、レイアウトに無駄が生じて、チップ面積が増大し、チップコストが高くなる。【解決手段】  メモリ回路１０に、メモリセルに対して読み出しおよび書き込みを行うときに入力される信号とは別の信号を入力するためのフィードスルー入力端子１３と、メモリセルを配列した領域の間に設けられ、フィードスルー入力端子１３から入力された信号を中継する中間バッファ回路１４と、中間バッファ回路１４で中継された信号を出力するためのフィードスルー出力端子１５とを設ける。フィードスルー入力端子１３と中間バッファ回路１４の間、および、中間バッファ回路１４とフィードスルー出力端子１５の間を、メモリセルに対して読み出しおよび書き込みを行うときに使用される配線、並びにメモリセルと接続しないフィードスルー配線１６、１７で接続する。【選択図】  図１
2005174520.tif 000002
【特許請求の範囲】
【請求項１】
フィードスルー配線を有するメモリ回路であって、
複数の領域内に分けて配列される複数のメモリセルと、
前記メモリセルに対して読み出しおよび書き込みを行う周辺回路と、
前記メモリセルに対して読み出しおよび書き込みを行うときに入力される信号とは別の信号を入力するためのフィードスルー入力端子と、
前記メモリセルを配列した領域の間に設けられ、前記フィードスルー入力端子から入力された信号を中継する中間バッファ回路と、
前記中間バッファ回路で中継された信号を出力するためのフィードスルー出力端子と、
前記フィードスルー入力端子と前記中間バッファ回路とを接続する第１のフィードスルー配線と、
前記中間バッファ回路と前記フィードスルー出力端子とを接続する第２のフィードスルー配線とを備え、
前記第１および第２のフィードスルー配線は、前記メモリセルに対して読み出しおよび書き込みを行うときに使用される配線、並びに前記メモリセルと接続されていないことを特徴とする、メモリ回路。
【請求項２】
前記中間バッファ回路は、少なくとも前記第２のフィードスルー配線を駆動する能力を有することを特徴とする、請求項１に記載のメモリ回路。
【請求項３】
前記フィードスルー入力端子の近傍で、前記第１のフィードスルー配線上に入力段バッファ回路をさらに備え、
前記入力段バッファ回路は、前記第１のフィードスルー配線のうち前記入力段バッファ回路から前記中間バッファ回路までの部分、および前記中間バッファ回路を駆動する能力を有することを特徴とする、請求項１に記載のメモリ回路。
【請求項４】
前記フィードスルー出力端子の近傍で、前記第２のフィードスルー配線上に出力段バッファ回路をさらに備え、
前記中間バッファ回路は、前記第２のフィードスルー配線のうち前記中間バッファ回路から前記出力段バッファ回路までの部分、および前記出力段バッファ回路を駆動する能力を有することを特徴とする、請求項１に記載のメモリ回路。
【請求項５】
全体の形状が矩形であり、
前記フィードスルー入力端子および前記フィードスルー出力端子が、前記矩形の対向する辺上にそれぞれ設けられていることを特徴とする、請求項１に記載のメモリ回路。
【請求項６】
前記第１および第２のフィードスルー配線は、前記フィードスルー入力端子、前記中間バッファ回路および前記フィードスルー出力端子を略一直線に接続することを特徴とする、請求項１に記載のメモリ回路。
【請求項７】
請求項１〜６のいずれかに記載のメモリ回路を備えた、半導体集積回路。
【請求項８】
フィードスルー配線を有するメモリ回路の生成方法であって、
少なくともフィードスルー方向を含む、メモリ回路の設計仕様を入力するステップと、
入力された設計仕様に基づき、フィードスルー配線の負荷を算出するステップと、
算出された負荷に基づき、中間バッファ回路の仕様を決定するステップと、
複数の領域内に分けて配列される複数のメモリセルと、前記メモリセルに対して読み出しおよび書き込みを行う周辺回路と、前記メモリセルに対して読み出しおよび書き込みを行うときに入力される信号とは別の信号を入力するためのフィードスルー入力端子と、前記メモリセルを配列した領域の間に設けられ、前記フィードスルー入力端子から入力された信号を中継する中間バッファ回路と、前記中間バッファ回路で中継された信号を出力するためのフィードスルー出力端子と、前記フィードスルー入力端子と前記中間バッファ回路とを接続する第１のフィードスルー配線と、前記中間バッファ回路と前記フィードスルー出力端子とを接続する第２のフィードスルー配線とを備え、前記第１および第２のフィードスルー配線は、前記メモリセルに対して読み出しおよび書き込みを行うときに使用される配線、並びに前記メモリセルと接続されていないことを特徴とするメモリ回路を、決定した仕様に従い生成するステップとを備えた、メモリ回路の生成方法。
【請求項９】
前記中間バッファ回路の仕様を決定するステップは、算出された負荷に基づき、前記中間バッファ回路のサイズを決定することを特徴とする、請求項８に記載のメモリ回路の生成方法。
【請求項１０】
前記中間バッファ回路の仕様を決定するステップは、予め用意された駆動能力の異なる複数のバッファ回路の中から、算出された負荷に基づき、前記中間バッファ回路として使用するバッファ回路を選択することを特徴とする、請求項８に記載のメモリ回路の生成方法。
【請求項１１】
前記中間バッファ回路の仕様を決定するステップは、算出された負荷に基づき、前記中間バッファ回路の配置位置を決定することを特徴とする、請求項８に記載のメモリ回路の生成方法。
【請求項１２】
前記中間バッファ回路の仕様を決定するステップは、算出された負荷に基づき、前記中間バッファ回路の段数および配置位置を決定することを特徴とする、請求項８に記載のメモリ回路の生成方法。
【請求項１３】
前記中間バッファ回路の仕様を決定するステップは、算出された負荷に基づき、入力段バッファ回路のサイズを決定し、
前記メモリ回路を生成するステップは、前記フィードスルー入力端子の近傍で、前記第１のフィードスルー配線上に、決定したサイズの入力段バッファ回路を設けることを特徴とする、請求項８に記載のメモリ回路の生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ回路およびその生成方法に関し、より特定的には、半導体集積回路にロジック回路と混載して使用されるメモリ回路およびその生成方法に関する。
【背景技術】
【０００２】
微細化技術の進歩に伴い、半導体集積回路の性能は日々向上している。また、近年の映像機器や情報通信機器などでは、システムの低コスト化や低消費電力化を図るために、大容量のメモリ回路を半導体集積回路に搭載し、画像処理などの演算処理を半導体集積回路の内部で実行することが、一般的に行われている。これに加えて、システムの複雑化に伴い、半導体集積回路に搭載されるメモリ容量は著しく増加している。このような理由から、システムＬＳＩを始め、ロジック回路とメモリ回路とを混載した半導体集積回路では、チップ全体に占めるメモリ回路の割合が、増加の一途をたどっている。
【０００３】
上記のようなロジック回路とメモリ回路とを混載した半導体集積回路については、例えば特許文献１に、ＲＡＭとゲートアレイとを一体化した半導体集積回路において、入出力バッファを除いたＲＡＭを使用し、ＲＡＭの入出力バッファはチップの周辺のゲートアレイを用いて共通化する方法が開示されている。
【特許文献１】特開昭６３−９１８９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
システムＬＳＩを始め、ロジック回路とメモリ回路とを混載した半導体集積回路には、内蔵するメモリ容量が増加すると、レイアウトに無駄が生じて、チップ面積が増大し、結果的にチップコストが高くなるという問題がある。以下、図９を参照して上記問題点を説明する。
【０００５】
図９は、従来の半導体集積回路の構成を示す図である。図９に示す半導体集積回路９１は、外部回路と接続するための外部接続端子９２、ロジック回路９３、および、２個のメモリ回路９４を備えたシステムＬＳＩである。なお、図９には、以下の説明に必要な信号線だけが描かれている。
【０００６】
図９に示す半導体集積回路９１において、外部接続端子９２とロジック回路９３の端子とを接続する場合、メモリ回路９４の面積が小さければ、両者を配線長の短い直線配線で接続することができる。しかし、メモリ回路９４の面積が大きくなると、両者を接続する配線は、２個のメモリ回路９４に挟まれた狭い領域を曲がりながら通過する必要が生じ、配線長が長くなる。また、配線長が長くなると、寄生容量や抵抗成分の増加により、配線上を伝搬する信号になまりが生じ、信号の伝搬速度が遅くなる。そこで、配線長が長い場合でも、信号の伝搬速度を早くするためには、配線の中間に増幅作用を有するバッファ回路９５を配置することが必要とされる。ところが、バッファ回路９５は、トランジスタを含む回路素子であるので、メモリ回路９４が配置されている位置には配置することができない。このため、外部接続端子９２とロジック回路９３とを接続する配線は、メモリ回路９４を迂回してバッファ回路９５に接続される。このように半導体集積回路９１では、メモリ回路９４の面積が大きくなると、レイアウトに無駄が生じて、チップ面積が増大し、結果的にチップコストが高くなってしまう。
【０００７】
それ故に、本発明は、ロジック回路と混載して使用されたときに、レイアウトに無駄が生じず、チップ上の配線を短縮できるメモリ回路、およびその生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のメモリ回路は、一般的なメモリ回路に、メモリセルに対して読み出しおよび書き込みを行うときに入力される信号とは別の信号を入力するためのフィードスルー入力端子と、メモリセルを配列した領域の間に設けられ、フィードスルー入力端子から入力された信号を中継する中間バッファ回路と、中間バッファ回路で中継された信号を出力するためのフィードスルー出力端子と、フィードスルー入力端子と中間バッファ回路とを接続する第１のフィードスルー配線と、中間バッファ回路とフィードスルー出力端子とを接続する第２のフィードスルー配線とを追加したものである。第１および第２のフィードスルー配線は、メモリセルに対して読み出しおよび書き込みを行うときに使用される配線、並びにメモリセルと接続しないようにする。この場合、中間バッファ回路は、少なくとも第２のフィードスルー配線を駆動する能力を有することが好ましい。
【０００９】
また、メモリ回路は、フィードスルー入力端子の近傍で、第１のフィードスルー配線上に入力段バッファ回路をさらに備え、入力段バッファ回路は、第１のフィードスルー配線のうち入力段バッファ回路から中間バッファ回路までの部分、および中間バッファ回路を駆動する能力を有していてもよい。また、メモリ回路は、フィードスルー出力端子の近傍で、第２のフィードスルー配線上に出力段バッファ回路をさらに備え、中間バッファ回路は、第２のフィードスルー配線のうち中間バッファ回路から出力段バッファ回路までの部分、および出力段バッファ回路を駆動する能力を有していてもよい。
【００１０】
また、メモリ回路の全体の形状が矩形であり、フィードスルー入力端子およびフィードスルー出力端子が、その矩形の対向する辺上にそれぞれ設けられていてもよい。また、第１および第２のフィードスルー配線は、フィードスルー入力端子、中間バッファ回路およびフィードスルー出力端子を略一直線に接続してもよい。
【００１１】
本発明のメモリ回路の生成方法は、少なくともフィードスルー方向を含む、メモリ回路の設計仕様を入力するステップと、入力された設計仕様に基づき、フィードスルー配線の負荷を算出するステップと、算出された負荷に基づき、中間バッファ回路の仕様を決定するステップと、決定した仕様に従い上記構成を有するメモリ回路を生成するステップとを備える。
【００１２】
中間バッファ回路の仕様を決定するステップは、算出された負荷に基づき、中間バッファ回路のサイズを決定してもよく、より好ましくは、予め用意された駆動能力の異なる複数のバッファ回路の中から、算出された負荷に基づき、中間バッファ回路として使用するバッファ回路を選択してもよい。
【００１３】
また、中間バッファ回路の仕様を決定するステップは、算出された負荷に基づき、中間バッファ回路の段数や配置位置を決定してもよい。また、中間バッファ回路の仕様を決定するステップは、算出された負荷に基づき、入力段バッファ回路のサイズを決定し、メモリ回路を生成するステップは、フィードスルー入力端子の近傍で、第１のフィードスルー配線上に、決定したサイズの入力段バッファ回路を設けてもよい。
【発明の効果】
【００１４】
本発明のメモリ回路によれば、メモリ回路の動作とは無関係な信号が、メモリ回路の内部を通過できるようになる。また、この信号は、中間バッファ回路の増幅作用により、増幅された状態でフィードスルー出力端子に到達する。さらに、この信号はメモリ回路を迂回することなくメモリ回路の内部を通過するので、その配線長が従来よりも短くなる。したがって、本発明のメモリ回路を使用することにより、半導体集積回路の小面積化および高速化を達成することができる。半導体集積回路の小面積化を達成できれば、歩留まりが向上するので、半導体集積回路の製造コストを低減することができる。
【００１５】
また、上記入力段バッファ回路を備えることにより、フィードスルー入力端子の入力負荷を削減することができる。また、上記出力段バッファ回路を備えることにより、出力段バッファ回路の駆動能力を最適化することができる。
【００１６】
また、フィードスルー入力端子およびフィードスルー出力端子を対向する辺上に設ける構成や、第１および第２のフィードスルー配線が、フィードスルー入力端子、中間バッファ回路およびフィードスルー出力端子を略一直線に接続する構成を採用すれば、半導体集積回路の小面積化および高速化の効果を高めることができる。
【００１７】
本発明のメモリ回路の生成方法によれば、半導体集積回路の小面積化および高速化を達成できるメモリ回路を容易に生成することができる。特に、フィードスルー配線の負荷に基づき、中間バッファ回路のサイズや段数や配置位置、あるいは入力段バッファ回路のサイズを決定することにより、各種の構成および特性を備えたメモリ回路を容易に生成することができる。
【発明を実施するための最良の形態】
【００１８】
（第１の実施形態）
図１は、本発明の実施形態に係るメモリ回路を内蔵した半導体集積回路の構成を示す図である。図１に示す半導体集積回路１は、外部接続端子２、ロジック回路３、および、２個のメモリ回路１０を備えたシステムＬＳＩである。外部接続端子２は、半導体集積回路１と外部回路（図示せず）とを接続するために設けられる。メモリ回路１０は、メモリマクロとも呼ばれ、典型的にはメモリコンパイラ（メモリ回路の設計仕様に基づき、メモリ回路のレイアウトを自動的に行うプログラム）を用いて生成される。
【００１９】
メモリ回路１０は、一般的なメモリ回路と同じく、データを記憶し、記憶したデータに対して読み出しおよび書き込みを行う機能を備えている。これらの機能をサポートするため、メモリ回路１０は、アドレス端子、データ端子、制御端子などを備えている。ただし、図１では、図面を簡略化するために、一般的なメモリ回路が備える端子およびそれに接続される配線は、省略されている。この記法は、後述する図２、図３および図５でも使用される。
【００２０】
メモリ回路１０は、複数のメモリセル、周辺回路（以上、図示せず）、フィードスルー入力端子１３、中間バッファ回路１４、フィードスルー出力端子１５、第１のフィードスルー配線１６、および第２のフィードスルー配線１７を備えている。また、メモリ回路１０の全体の形状は矩形であり、フィードスルー入力端子１３とフィードスルー出力端子１５とは、メモリ回路１０の対向する辺上にそれぞれ設けられる。フィードスルー入力端子１３は外部接続端子２に接続され、フィードスルー出力端子１５はロジック回路３の入力端子に接続される。
【００２１】
中間バッファ回路１４は、メモリ回路１０の内部で、メモリセルを配置した複数の領域の間に設けられる（詳細は後述する）。第１のフィードスルー配線１６と第２のフィードスルー配線１７とは、メモリ回路１０の上層に、メモリ回路１０の内部を通過するように設けられる。第１のフィードスルー配線１６は、フィードスルー入力端子１３と中間バッファ回路１４の入力端子とを接続する。第２のフィードスルー配線１７は、中間バッファ回路１４の出力端子とフィードスルー出力端子１５とを接続する。第１のフィードスルー配線１６と第２のフィードスルー配線１７とは、メモリセルに読み出しおよび書き込みを行うときに使用される配線、並びにメモリセルとは接続されない。このようにして、第１のフィードスルー配線１６と第２のフィードスルー配線１７とは、メモリ回路１０の動作とは無関係な信号がメモリ回路１０の内部を通過できるようにする、フィードスルー配線を形成する。
【００２２】
このようなメモリ回路１０を備えた半導体集積回路１では、外部接続端子２から入力された信号は、フィードスルー入力端子１３、第１のフィードスルー配線１６、中間バッファ回路１４、第２のフィードスルー配線１７、およびフィードスルー出力端子１５を経由して、ロジック回路３の入力端子に到達する。また、中間バッファ回路１４は増幅作用を有するので、外部接続端子２から入力された信号は、中間バッファ回路１４で増幅された状態で、ロジック回路３の入力端子に到達する。さらに、外部接続端子２からロジック回路３まで伝搬する信号は、従来の半導体集積回路（図９）のようにメモリ回路１０を迂回することなく、メモリ回路１０の内部を通過するので、その配線長が従来よりも短くなる。したがって、中間バッファ回路１４を備えたメモリ回路１０を使用することにより、半導体集積回路１の小面積化および高速化を達成することができる。
【００２３】
図２は、メモリ回路１０の詳細な構成（第１の構成）を示す図である。図２に示すメモリ回路１０ａは、メモリセルアレイ１１、周辺回路１２、フィードスルー入力端子１３、中間バッファ回路１４、フィードスルー出力端子１５、第１のフィードスルー配線１６、および第２のフィードスルー配線１７を備えている。メモリセルアレイ１１は、複数のメモリセル（数百個以上のメモリセル）を、複数の矩形領域内に分けて配列したものである。メモリ回路１０ａでは、複数のメモリセルは、同じ形状かつ同じサイズの２個の矩形領域に分けて配列される。以下、メモリセルが配置されている２個の矩形領域に挟まれた、メモリセルが配列されていない領域（破線で示す領域）を、メモリセル非配置領域１８と呼ぶ。
【００２４】
メモリセルアレイ１１に含まれるメモリセルに対して読み出しおよび書き込むときには、メモリ回路１０ａには、アドレス信号、データ信号、および制御信号（以上、図示せず）が入力される。周辺回路１２は、これらの入力信号に基づき、メモリセルアレイ１１に含まれるメモリセルに対して読み出しおよび書きを行う。周辺回路１２は、ロジック回路で構成され、メモリセルアレイ１１が配置されていない領域に（好ましくは、メモリセルアレイ１１に隣接して）配置される。なお、メモリ回路１０ａでは、周辺回路１２はメモリセル非配置領域１８には配置されていないが、周辺回路１２の一部をメモリセル非配置領域１８に配置してもよい。
【００２５】
中間バッファ回路１４は、メモリセル非配置領域１８の内部（すなわち、メモリセルアレイ１１を構成する２個の矩形領域の間）に設けられる。言い換えると、複数のメモリセルを２個のグループに分割し、各グループに含まれるメモリセルを同じ形状かつ同じサイズの矩形領域内に配列したときに、中間バッファ回路１４は、２個の矩形領域の間でメモリセルが配置されていない領域に配置される。メモリセルが配置されていない領域に中間バッファ回路１４を配置する理由は、メモリセルは、集積度向上のためにメモリセルだけを規則的に配置したときにレイアウト面積が最小となるように設計されるので、中間バッファ回路１４をメモリセルと混在してメモリセルアレイ１１の内部に配置すると、メモリ回路１０ａのレイアウト効率が低下するからである。また、メモリセルアレイ１１を構成する２個の矩形領域の間（すなわち、メモリセルアレイ１１の中央部分）に中間バッファ回路１４を配置する理由は、第１のフィードスルー配線１６と第２のフィードスルー配線１７との間で負荷のバランスを取るためである。
【００２６】
中間バッファ回路１４の前段回路（図示せず）は、当該前段回路と中間バッファ回路１４とを接続する配線、および中間バッファ回路１４を駆動する能力を有する必要がある。このため、前段回路には、少なくとも第１のフィードスルー配線１６および中間バッファ回路１４を駆動する能力を有する回路が使用される。また、中間バッファ回路１４は、中間バッファ回路１４とその次段回路（図示せず）とを接続する配線、および当該次段回路を駆動する能力を有する必要がある。このため、中間バッファ回路１４には、少なくとも第２のフィードスルー配線１７を駆動する能力を有するバッファ回路が使用される。
【００２７】
なお、メモリ回路１０ａでは、メモリセルアレイ１１の中央部分に中間バッファ回路１４を配置することとしたが、中間バッファ回路１４の配置位置はこれに限るものではない。例えば、中間バッファ回路１４の前段回路と中間バッファ回路１４とを接続する配線の長さや、中間バッファ回路１４とその次段回路とを接続する配線の長さなどに応じて、複数のメモリセルをサイズの異なる２個の矩形領域（例えば、一方が他方の２倍であるような２個の矩形領域）内に分けて配列し、中間バッファ回路１４を２個の矩形領域の間に配置してもよい。
【００２８】
図３は、メモリ回路１０の詳細な構成（第２の構成）を示す図である。図３に示すメモリ回路１０ｂは、第１の構成に係るメモリ回路１０ａ（図２）に、入力段バッファ回路２１と出力段バッファ回路２２とを追加したものである。入力段バッファ回路２１は、フィードスルー入力端子１３の近傍で、第１のフィードスルー配線１６上に配置される。出力段バッファ回路２２は、フィードスルー出力端子１５の近傍で、第２のフィードスルー配線１７上に配置される。フィードスルー入力端子１３と入力段バッファ回路２１の入力端子との間、および、出力段バッファ回路２２の出力端子とフィードスルー出力端子１５との間は、それぞれ、短い配線で接続される。
【００２９】
メモリ回路１０ｂでは、フィードスルー入力端子１３と入力段バッファ回路２１の入力端子とを接続する短い配線、および、入力段バッファ回路２１の出力端子と中間バッファ回路１４の入力端子とを接続する配線が、第１のフィードスルー配線１６となる。また、中間バッファ回路１４の出力端子と出力段バッファ回路２２の入力端子とを接続する配線、および、出力段バッファ回路２２の出力端子とフィードスルー出力端子１５とを接続する短い配線が、第２のフィードスルー配線１７となる。
【００３０】
入力段バッファ回路２１には、第１のフィードスルー配線１６のうち入力段バッファ回路２１から中間バッファ回路１４までの部分、および中間バッファ回路１４を駆動する能力を有するバッファ回路が使用される。また、中間バッファ回路１４には、第２のフィードスルー配線１７のうち中間バッファ回路１４から出力段バッファ回路２２までの部分、および出力段バッファ回路２２を駆動する能力を有するバッファ回路が使用される。
【００３１】
このようにメモリ回路１０ｂでは、入力段バッファ回路２１を設けることにより、フィードスルー入力端子１３の入力負荷から第１のフィードスルー配線１６の負荷分を取り除き、フィードスルー入力端子１３の入力負荷を削減することができる。また、出力段バッファ回路２２を設けることにより、中間バッファ回路１４がフィードスルー出力端子１５以降の配線を駆動する必要がなくなるので、中間バッファ回路１４の駆動能力を小さくすることができる。これに加えて、出力段バッファ回路２２は、第２のフィードスルー配線１７を駆動せずに、フィードスルー出力端子１５以降の配線のみを駆動するので、メモリ回路１０ｂの構成を考慮することなく、出力段バッファ回路２２の駆動能力を最適化することができる。このようにメモリ回路１０ｂによれば、中間バッファ回路１４、入力段バッファ回路２１、および出力段バッファ回路２２の駆動能力をそれぞれ最適化することができる。
【００３２】
なお、本実施形態では、例として、フィードスルー入力端子１３には外部接続端子２が接続され、フィードスルー出力端子１５にはロジック回路３が接続されることとしたが、フィードスルー入力端子１３およびフィードスルー出力端子１５に任意の回路を接続してもよいことは言うまでもない。
【００３３】
また、第１のフィードスルー配線１６および第２のフィードスルー配線１７がメモリ回路１０の内部を通過するためには、メモリセルアレイ１１を設計するときに、使用可能なすべての配線層を使用してはならず、少なくとも１層の配線層（通常は、上層の配線層）を、第１のフィードスルー配線１６および第２のフィードスルー配線１７を配線するために空けておく必要がある。一般に、メモリ回路１０の上層には、電源・グランド配線をメッシュ状に配線する場合が多い。この場合には、第１のフィードスルー配線１６および第２のフィードスルー配線１７は、電源・グランド配線よりも上層に配線するか、あるいは、電源・グランド配線と同層で、かつ、電源・グランド配線に短絡しないように配置すればよい。
【００３４】
また、本実施形態に係るメモリ回路１０では、複数のメモリセルを２個の矩形領域に分けて配列し、フィードスルー入力端子１３とフィードスルー出力端子１５との間に中間バッファ回路１４を１個だけ設けることとした。これに代えて、複数のメモリセルをＮ個（Ｎは３以上の整数）の矩形領域内に分けて配列し、フィードスルー入力端子１３とフィードスルー出力端子１５との間に、多段接続された（Ｎ−１）個の中間バッファ回路１４を設けることとしてもよい。
【００３５】
（第２の実施形態）
第２の実施形態では、第１の実施形態に係るメモリ回路を生成する方法について説明する。上述したように、第１の実施形態に係るメモリ回路は、典型的には、コンピュータがメモリコンパイラを実行することにより生成される。メモリコンパイラには、メモリ回路の構成要素（例えば、メモリセルやデコーダ回路）が予め複数種類用意されており、メモリコンパイラは、与えられたメモリ回路の設計仕様に基づき、これら構成要素の組合せの中から最適な組合せを選択して、メモリ回路のレイアウトを自動的に行う。以下、説明の便宜上、方法を実行する主体がメモリコンパイラであるとして、第１の実施形態に係るメモリ回路の生成方法を説明する。
【００３６】
図４は、メモリ回路の生成方法（第１の方法）を示すフローチャートである。図４に示す方法では、まず、メモリコンパイラに、メモリ回路の設計仕様として、記憶容量、入出力端子数、コラム数、動作周波数、およびフィードスルー方向が入力される（ステップＳ１０１）。フィードスルー方向としては、「ワード線方向」や「ビット線方向」などの値が入力される。なお、ステップＳ１０１で入力されるパラメータのうち、フィードスルー方向は、従来の一般的なメモリコンパイラでは使用されないパラメータである。
【００３７】
次に、メモリコンパイラは、ステップＳ１０１で入力された設計仕様に基づき、フィードスルー配線の負荷を算出する（ステップＳ１０２）。ステップＳ１０２では、入力された設計仕様に基づき、メモリ回路の構成が決定され、これに基づきフィードスルー配線の負荷が算出される。ステップＳ１０２の詳細は、後述する。
【００３８】
次に、メモリコンパイラは、ステップＳ１０２で算出したフィードスルー配線の負荷に基づき、中間バッファ回路の仕様として、中間バッファ回路のサイズを決定し（ステップＳ１０３）、決定したサイズの中間バッファ回路を生成する（ステップＳ１０４）。
【００３９】
次に、メモリコンパイラは、ステップＳ１０１で入力された設計仕様に基づき、ステップＳ１０４で生成した中間バッファ回路を備えたメモリ回路（第１の実施形態に係るメモリ回路）を生成する（ステップＳ１０５）。ステップＳ１０５における処理は、従来の一般的なメモリコンパイラにおける自動レイアウト処理に、中間バッファ回路をレイアウトする処理を追加したものである。
【００４０】
なお、ステップＳ１０３で決定した中間バッファ回路のサイズが所定のしきい値より大きい場合には、メモリコンパイラは、ステップＳ１０２に戻って、メモリ回路の構成を変更し、フィードスルー配線の負荷を再度算出した上で、ステップＳ１０３で、中間バッファ回路のサイズを再度決定してもよい。また、メモリコンパイラは、ステップＳ１０２およびＳ１０３を繰り返し実行することにより、中間バッファ回路のサイズの最適値を求めてもよい。
【００４１】
以下、図４に示すステップＳ１０２の詳細を説明する。ここでは、例として、図５に示すメモリ回路１０ａを生成する場合について説明する。以下に示すように、ステップＳ１０２では、まずメモリ回路の構成が決定され、次にフィードスルー配線の長さが算出され、算出された長さに基づきフィードスルー配線の負荷が算出される。
【００４２】
メモリセルアレイ１１の内部には、ある方向（図５では縦方向）にビット線が配線され、当該方向と直交する方向（図５では横方向）にワード線が配線される。メモリセルアレイ１１を構成する２個の矩形領域には、複数のメモリセル２３（図５では１個だけを示す）が２個のグループに分けて配列される。Ａ個（Ａは２以上の整数）のメモリセルをビット線方向（図５では縦方向）に配列したものを、コラム２４と呼ぶ。また、メモリ回路１０ａの入出力端子数をＢ本（Ｂは１以上の整数）としたとき、Ｂ個のコラム２４をワード線方向（図５では横方向）に配列したものを、コラム群２５と呼ぶ。メモリ回路１０ａの記憶容量をＡ×Ｂで割った値をＣとしたとき、Ｃ個のコラム群２５をワード線方向に配列すれば、メモリ回路１０ａを得ることができる。
【００４３】
ここで、１個のメモリセルの幅（ワード線方向のサイズ）をｗ、高さ（ビット線方向のサイズ）をｈとすると、コラム２４の幅はｗ、高さはＡｈ、コラム群２５の幅はＢｗ、高さはＡｈ、メモリセルアレイ１１の全体の幅はＢＣｗ、高さはＡｈとなる。このようにして、ステップＳ１０１で入力された設計仕様に基づき、メモリ回路１０ａの構成が決定される。
【００４４】
次に、ステップＳ１０１で入力されたフィードスルー方向を考慮して、フィードスルー配線の長さが算出される。フィードスルー方向が「ワード線方向」である場合、フィードスルー配線の長さはＢＣｗ／２となる。また、フィードスルー方向が「ビット線方向」である場合、フィードスルー配線の長さはＡｈ／２となる。
【００４５】
次に、算出されたフィードスルー配線の長さに基づき、フィードスルー配線の寄生容量が算出され、これに基づきフィードスルー配線の負荷が算出される。このようにして算出された負荷は、第１のフィードスルー配線１６および第２のフィードスルー配線１７の負荷として扱われ、ステップＳ１０３で中間バッファ回路１４のサイズを決定するときに参照される。
【００４６】
図６は、メモリ回路の生成方法（第２の方法）を示すフローチャートである。第２の方法は、予め用意されたバッファ回路の中から、中間バッファ回路として使用するバッファ回路を選択することを特徴とする。第２の方法を実行する前に、メモリコンパイラでは、中間バッファ回路１４として使用可能な、駆動能力の異なる複数のバッファ回路が予め用意される。メモリコンパイラは、第２の方法を実行する場合には、まず、第１の方法に含まれるステップＳ１０１〜Ｓ１０３と同じ処理を行う（ステップＳ２０１〜２０３）。次に、メモリコンパイラは、予め用意された複数のバッファ回路の中から、ステップＳ２０３で決定したサイズのバッファ回路を選択する（ステップＳ２０４）。次に、メモリコンパイラは、ステップＳ２０４で選択したバッファ回路を中間バッファ回路として備えたメモリ回路（第１の実施形態に係るメモリ回路）を生成する（ステップＳ２０５）。
【００４７】
上記第２の方法によれば、複数種類のバッファ回路を予め用意する必要があるが、メモリ回路を生成するときに、中間バッファ回路のサイズを正確に見積る処理、および中間バッファ回路をレイアウトする処理を省略することにより、第１の方法よりも簡単にメモリ回路を生成することができる。なお、多くの場合、第２の方法を実行する前に予め用意されるバッファ回路には、ロジック回路の設計で使用されるスタンダードロジックセルなどを使用できるので、中間バッファ回路専用に新たなバッファ回路を生成する必要はない。
【００４８】
図７は、メモリ回路の生成方法（第３の方法）を示すフローチャートである。第３の方法は、フィードスルー配線の負荷に基づき、中間バッファ回路の段数および配置位置を決定することを特徴とする。メモリコンパイラは、第３の方法を実行する場合には、まず、第２の方法に含まれるステップＳ２０１およびＳ２０２と同じ処理を行う（ステップＳ３０１およびＳ３０２）。次に、メモリコンパイラは、ステップＳ３０２で算出されたフィードスルー配線の負荷に基づき、中間バッファ回路の段数および配置位置を決定する（ステップＳ３０３）。例えば、１本のフィードスルー配線の負荷の上限値Ｌｍａｘが予め決定されており、メモリコンパイラは、各フィードスルー配線の負荷が上限値Ｌｍａｘを超えないような、フィードスルー配線の分割数Ｎ（Ｎは２以上の整数）を求め、メモリセルアレイを同じ形状かつ同じサイズのＮ個の矩形領域に分割し、多段接続された（Ｎ−１）個の中間バッファ回路をＮ個の矩形領域の間に１個ずつ配置すると決定する。その後、メモリコンパイラは、第２の方法に含まれるステップＳ２０３およびＳ２０４と同じ処理を行う（ステップＳ３０４およびＳ３０５）。次に、メモリコンパイラは、ステップＳ３０３で決定した配置位置に、ステップＳ３０５で選択されたバッファ回路を中間バッファ回路として備えたメモリ回路（第１の実施形態に係るメモリ回路）を生成する（ステップＳ３０６）。
【００４９】
図８は、メモリ回路の生成方法（第４の方法）を示すフローチャートである。第４の方法は、入力段バッファ回路２１および出力段バッファ回路２２のサイズを算出することを特徴とする。メモリコンパイラは、第４の方法を実行する場合には、まず、第２の方法に含まれるステップＳ２０１およびＳ２０２と同じ処理を行う（ステップＳ４０１およびＳ４０２）。次に、メモリコンパイラは、ステップＳ４０２で算出されたフィードスルー配線の負荷に基づき、中間バッファ回路１４と入力段バッファ回路２１と出力段バッファ回路２２のサイズを算出する（ステップＳ４０３）。次に、メモリコンパイラは、予め用意されたバッファ回路の中から、ステップＳ４０３で求めたサイズを有するバッファ回路を選択する（ステップＳ４０４）。次に、メモリコンパイラは、ステップＳ４０４で選択したバッファ回路を、中間バッファ回路１４と入力段バッファ回路２１と出力段バッファ回路２２として備えたメモリ回路（第１の実施形態に係るメモリ回路）を生成する（ステップＳ４０５）。
【００５０】
なお、メモリコンパイラは、ステップＳ４０３では入力段バッファ回路２１を設けるか否かを判断し、ステップＳ４０５では当該判断に応じて入力段バッファ回路２１を設けるか否かを切り替えることとしてもよい。また、メモリコンパイラには、ステップＳ４０１でメモリ回路の設計仕様として「入力段バッファ回路の有無」が入力され、メモリコンパイラは、ステップＳ４０５では、ステップＳ４０１で入力された「入力段バッファ回路の有無」に応じて、入力段バッファ回路２１を設けるか否かを切り替えることとしてもよい。出力段バッファ回路２２についても、これと同様である。
【００５１】
また、メモリコンパイラには、ステップＳ４０１でメモリ回路の設計仕様として出力負荷が入力され、メモリコンパイラは、ステップＳ４０３では、ステップＳ４０１で入力された出力負荷に応じて、出力段バッファ回路２２のサイズを決定することとしてもよい。
【００５２】
以上に示すように、本実施形態に係るメモリ回路の生成方法によれば、半導体集積回路の小面積化および高速化を達成できるメモリ回路を容易に生成することができる。特に、フィードスルー配線の負荷に基づき、中間バッファ回路のサイズや段数や配置位置、あるいは、入力段バッファ回路のサイズを決定することにより、各種の構成および特性を備えたメモリ回路を容易に生成することができる。
【産業上の利用可能性】
【００５３】
本発明のメモリ回路は、半導体集積回路の小面積化および高速化を達成できるので、システムＬＳＩなど、ロジック回路とメモリ回路とを混載した各種の半導体集積回路に利用することができる。また、本発明のメモリ回路の生成方法は、メモリコンパイラなどに利用することができる。
【図面の簡単な説明】
【００５４】
【図１】本発明の第１の実施形態に係るメモリ回路を内蔵した半導体集積回路の構成を示す図
【図２】本発明の第１の実施形態に係るメモリ回路の構成（第１の構成）を示す図
【図３】本発明の第１の実施形態に係るメモリ回路の構成（第２の構成）を示す図
【図４】本発明の第２の実施形態に係るメモリ回路の生成方法（第１の方法）を示すフローチャート
【図５】本発明の第２の実施形態に係るメモリ回路の生成方法で生成されるメモリの例を示す図
【図６】本発明の第２の実施形態に係るメモリ回路の生成方法（第２の方法）を示すフローチャート
【図７】本発明の第２の実施形態に係るメモリ回路の生成方法（第３の方法）を示すフローチャート
【図８】本発明の第２の実施形態に係るメモリ回路の生成方法（第４の方法）を示すフローチャート
【図９】従来のメモリ回路を内蔵した半導体集積回路の構成を示す図
【符号の説明】
【００５５】
１…半導体集積回路
２…外部接続端子
３…ロジック回路
１０…メモリ回路
１１…メモリセルアレイ
１２…周辺回路
１３…フィードスルー入力端子
１４…中間バッファ回路
１５…フィードスルー出力端子
１６…第１のフィードスルー配線
１７…第２のフィードスルー配線
１８…メモリセル非配置領域
２１…入力段バッファ回路
２２…出力段バッファ回路
２３…メモリセル
２４…コラム
２５…コラム群
【図１】
2005174520.tif 000003
【図２】
2005174520.tif 000004
【図３】
2005174520.tif 000005
【図４】
2005174520.tif 000006
【図５】
2005174520.tif 000007
【図６】
2005174520.tif 000008
【図７】
2005174520.tif 000009
【図８】
2005174520.tif 000010
【図９】
2005174520.tif 000011
【手続補正書】
【提出日】平成16年12月28日(2004.12.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
複数の領域内に分けて配列される複数のメモリセルと、
前記メモリセルに対して読み出しおよび書き込みを行う周辺回路と、
前記メモリセルに対して読み出しおよび書き込みを行うときに入力される信号とは別の信号を入力するためのフィードスルー入力端子と、
前記メモリセルを配列した領域の間に設けられ、前記フィードスルー入力端子から入力された信号を中継する中間バッファ回路と、
前記中間バッファ回路で中継された信号を出力するためのフィードスルー出力端子と、
前記フィードスルー入力端子と前記中間バッファ回路とを接続する第１のフィードスルー配線と、
前記中間バッファ回路と前記フィードスルー出力端子とを接続する第２のフィードスルー配線とを備え、
前記第１および第２のフィードスルー配線は、前記メモリセルに対して読み出しおよび書き込みを行うときに使用される配線、並びに前記メモリセルと接続されていないことを特徴とする、メモリ回路。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項８
【補正方法】変更
【補正の内容】
【請求項８】
少なくともフィードスルー方向を含む、メモリ回路の設計仕様を入力するステップと、
入力された設計仕様に基づき、フィードスルー配線の負荷を算出するステップと、
算出された負荷に基づき、中間バッファ回路の仕様を決定するステップと、
複数の領域内に分けて配列される複数のメモリセルと、前記メモリセルに対して読み出しおよび書き込みを行う周辺回路と、前記メモリセルに対して読み出しおよび書き込みを行うときに入力される信号とは別の信号を入力するためのフィードスルー入力端子と、前記メモリセルを配列した領域の間に設けられ、前記フィードスルー入力端子から入力された信号を中継する中間バッファ回路と、前記中間バッファ回路で中継された信号を出力するためのフィードスルー出力端子と、前記フィードスルー入力端子と前記中間バッファ回路とを接続する第１のフィードスルー配線と、前記中間バッファ回路と前記フィードスルー出力端子とを接続する第２のフィードスルー配線とを備え、前記第１および第２のフィードスルー配線は、前記メモリセルに対して読み出しおよび書き込みを行うときに使用される配線、並びに前記メモリセルと接続されていないことを特徴とするメモリ回路を、決定した仕様に従い生成するステップとを備えた、メモリ回路の生成方法。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2005174520.tif 000012