(57)【要約】【課題】  メモリマクロが搭載される半導体集積回路の設計期間および設計コストを削減する。【解決手段】  インタフェース変換マクロは、コントローラから出力されるシステムインタフェース仕様に従った信号を、メモリインタフェース仕様に従った信号に変換し、メモリマクロに出力するとともに、メモリマクロから出力される信号を、システムインタフェース仕様に従った信号に変換し、コントローラに出力する。インタフェース変換マクロによりシステムインタフェース仕様およびメモリインタフェース仕様を相互に変換することにより、システムインタフェース仕様が異なる場合にも、半導体集積回路に共通のメモリマクロを搭載できる。したがって、システムを設計する際に、半導体集積回路の設計検証時間、評価時間および試験時間を短縮できる。この結果、半導体集積回路の設計期間および設計コストを削減できる。【選択図】    図２
2008299476.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルアレイと、前記メモリセルアレイをアクセスするために、メモリインタフェース仕様に従った信号を入出力するメモリインタフェース部とを有するメモリマクロと、
コントローラから出力されるシステムインタフェース仕様に従った信号を、メモリインタフェース仕様に従った信号に変換し、前記メモリインタフェース部に出力するとともに、前記メモリインタフェース部から出力される信号を、システムインタフェース仕様に従った信号に変換し、前記コントローラに出力するインタフェース変換マクロとを備えていることを特徴とする半導体集積回路。
【請求項２】
請求項１記載の半導体集積回路において、
前記インタフェース変換マクロは、
前記コントローラから出力されるコマンド信号を解読するコマンドデコーダと、
メモリインタフェース仕様に従ったクロックパルスを、前記コマンドデコーダの解読結果に応じて生成するクロック制御回路と、
前記コントローラから出力される書き込みデータ信号を保持するラッチと、
前記ラッチに保持された書き込みデータ信号を、前記クロックパルスに同期して保持し、保持した書き込みデータ信号を前記メモリマクロに出力する書き込みデータ変換回路と、
前記メモリマクロから出力される読み出しデータ信号を前記クロックパルスに同期して前記コントローラに出力する読み出しデータ変換回路とを備えていることを特徴とする半導体集積回路。
【請求項３】
請求項２記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドおよび書き込みコマンドの少なくともいずれかを含み、
システムインタフェース仕様は、１回の読み出しコマンドに応答して出力される読み出しデータ信号の回数または１回の書き込みコマンドに応答して入力される書き込みデータ信号の回数を示すバースト長を含み、
前記クロック制御回路は、バースト長に対応する数のクロックパルスを生成することを特徴とする半導体集積回路。
【請求項４】
請求項２記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドを含み、
システムインタフェース仕様は、読み出しコマンドが供給されてから読み出しデータが出力されるまでのクロック数を示す読み出しレイテンシを含み、
前記クロック制御回路は、前記コマンドデコーダの解読結果が読み出しコマンドを示すときに、読み出しレイテンシに対応するクロック数後にクロックパルスを生成することを特徴とする半導体集積回路。
【請求項５】
請求項２記載の半導体集積回路において、
前記インタフェース変換マクロから前記メモリマクロに出力される書き込みデータ信号のビット数は、前記コントローラから前記インタフェース変換マクロに出力される書き込みデータ信号のビット数の整数倍であり、
前記書き込みデータ変換回路は、前記コントローラから出力されるシリアルの書き込みデータ信号を前記クロックパルスに同期して保持し、前記クロックパルスが出力された後に、保持している書き込みデータ信号をパラレルの書き込みデータ信号として前記メモリマクロに出力する書き込みデータ保持回路を備えていることを特徴とする半導体集積回路。
【請求項６】
請求項５記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と書き込みデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記書き込みデータ保持回路は、前記メモリマクロに出力される書き込みデータ信号のビット数に対応する複数の保持部を備え、
前記データクロック生成回路は、シリアルの書き込みデータ信号を前記保持部のいずれに保持するかを示すバーストアドレス信号に応じて、前記保持部にそれぞれ対応するデータ入力クロック信号を順次に生成し、生成したデータ入力クロック信号を前記クロックパルスとして前記書き込みデータ変換回路に出力することを特徴とする半導体集積回路。
【請求項７】
請求項２記載の半導体集積回路において、
前記メモリマクロから前記インタフェース変換マクロに出力される読み出しデータ信号のビット数は、前記インタフェース変換マクロから前記コントローラに出力される読み出しデータ信号のビット数の整数倍であり、
前記読み出しデータ変換回路は、前記メモリマクロから出力されるパラレルの読み出しデータ信号を、前記クロックパルスに同期してシリアルの読み出しデータ信号に変換し、変換した読み出しデータ信号を前記コントローラに出力することを特徴とする半導体集積回路。
【請求項８】
請求項７記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と読み出しデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記データクロック生成回路は、パラレルの読み出しデータ信号の前記コントローラへの出力順を示すバーストアドレス信号に応じてデータ出力クロック信号を順次に生成し、生成したデータ出力クロック信号を前記クロックパルスとして前記読み出しデータ変換回路に出力することを特徴とする半導体集積回路。
【請求項９】
請求項１記載の半導体メモリマクロにおいて、
前記インタフェース変換マクロは、
前記コントローラから出力されるシステムインタフェース仕様に従ったコマンド信号を、メモリインタフェース仕様に従ったコマンド信号に変換し、変換したコマンド信号を前記メモリマクロに出力するコマンド変換回路を備えていることを特徴とする半導体集積回路。
【請求項１０】
請求項１記載の半導体集積回路において、
前記メモリマクロをアクセスするために、メモリインタフェース仕様に従ったテスト信号を前記メモリマクロに出力し、前記テスト信号に応答して前記メモリマクロから出力されるテスト読み出しデータ信号を期待値と比較し、前記メモリマクロの良否を判定するテスト回路と、
テストモード中に前記テスト回路を前記メモリマクロに接続し、通常動作モード中に前記インタフェース変換マクロを前記メモリマクロに接続するセレクタとを備えていることを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリマクロと、このメモリマクロをアクセスするためのインタフェース変換マクロとを有する半導体集積回路に関する。
【背景技術】
【０００２】
携帯電話等のシステム製品の性能は、年々高くなってきている。システムによって扱われるデータサイズは大きくなり、データ転送速度は高くなってきている。これに伴い、メモリマクロとこのメモリマクロをアクセスするコントローラとを1チップで構成したＳｏＣ（System on Chip）等の半導体集積回路が注目されている。ＳｏＣでは、データのバス幅を大きくできるため、クロックの周波数を上げることなく、データ転送速度を向上できる。
【０００３】
例えば、メモリマクロによって使用される内部電圧を生成する制御マクロを予め用意しておき、半導体集積回路に搭載するメモリマクロの数を、メモリ容量に応じて変える手法が提案されている（例えば、特許文献１参照）。また、入力信号レベルのインタフェースが互いに異なる複数種の入力セルをメモリマクロに搭載し、使用するインタフェースに合わせて入力セルのいずれかを選択的に使用する設計手法が提案されている（例えば、特許文献2参照）。
【特許文献１】特開平８−２０４１６１号公報
【特許文献２】特開平４−１４７６６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＳｏＣ等の半導体集積回路に搭載されるメモリマクロのインタフェース仕様は、システムの仕様に応じて異なることが多い。このため、メモリマクロは、システムのインタフェース仕様に合わせて、システム毎に再設計される必要がある。メモリマクロの再設計では、メモリセルアレイに変更がない場合にも、メモリマクロ全体の設計検証およびフォトマスクの設計等が必要である。これは、インタフェース仕様が異なる場合、メモリマクロの内部回路のタイミングを制御する制御回路を再設計する必要があり、設計検証を詳細に行う必要があるためである。したがって、インタフェース仕様の変更に伴うメモリマクロの再設計では、設計期間は長くなり、設計コストは上昇する。
【０００５】
これに対して、メモリマクロのメモリ容量の変更は、半導体集積回路に搭載されるメモリマクロの数を変更し、あるいはメモリマクロ内のワード数を変更することで対応できる。この際、デコーダ等の論理回路は変更されるが、メモリマクロの内部回路の動作タイミングは変わらないため、接続検証のみを行えばよい。
【０００６】
また、複数種のインタフェース仕様に対応する複数種の制御回路が、予めメモリマクロに搭載され、制御回路の１つが、金属配線層のフォトマスクの切り替えや、ヒューズの溶断により選択的に使用される場合がある。しかしながら、この場合、複数種の制御回路毎に設計検証を行う必要があり、設計検証に長い時間が必要である。また、製造された半導体集積回路の特性を評価に長い時間が必要である。さらに、使用されない他の制御回路は、システムに不要であるため、半導体集積回路のチップサイズが増加し、チップコストが上昇する。一方で、全てのインタフェース仕様に対応する制御回路をメモリマクロに搭載することは不可能である
本発明の目的は、半導体集積回路に搭載されるメモリのインタフェース仕様が異なる場合にも、半導体集積回路の設計検証時間、評価時間および試験時間を短縮し、半導体集積回路の設計期間および設計コストを削減することである。
【課題を解決するための手段】
【０００７】
本発明の一形態では、半導体集積回路は、メモリマクロおよびインタフェース変換マクロを有する。メモリマクロは、メモリセルアレイと、メモリセルアレイをアクセスするために、メモリインタフェース仕様に従った信号を入出力するメモリインタフェース部とを有する。インタフェース変換マクロは、コントローラから出力されるシステムインタフェース仕様に従った信号を、メモリインタフェース仕様に従った信号に変換し、メモリインタフェース部に出力する。また、インタフェース変換マクロは、メモリインタフェース部から出力される信号を、システムインタフェース仕様に従った信号に変換し、コントローラに出力する。インタフェース変換マクロによりシステムインタフェース仕様およびメモリインタフェース仕様を相互に変換することにより、システムインタフェース仕様が異なる場合にも、１種類のメモリマクロを、様々なシステムに共通に使用できる。したがって、システムを設計する際に、メモリマクロの設計検証時間および評価時間を削減できる。換言すれば、半導体集積回路の設計検証時間および評価時間を短縮できる。この結果、半導体集積回路の設計期間および設計コストを削減できる。
【０００８】
例えば、半導体集積回路は、メモリマクロおよびインタフェース変換マクロに加えて、コントローラを有する。インタフェース変換マクロは、アレイ状に予め形成された論理素子の端子間を配線により接続することにより、コントローラとともに製造される。そして、インタフェース変換マクロのテストは、コントローラのテストとともに実施される。例えば、メモリマクロは、ハードマクロとして設計される。システム仕様に依存せずに共通に使用可能なメモリマクロを、ハードマクロとして設計することにより、メモリマクロのサイズを最小限にでき、半導体集積回路のチップコストを削減できる。例えば、インタフェース変換マクロは、ソフトマクロとして設計される。このため、インタフェース変換マクロは、新たに設計される様々な半導体集積回路の空き領域に合わせた形状および端子位置に設計できる。したがって、半導体集積回路の設計効率を向上でき、半導体集積回路の設計期間および設計コストを削減できる。
【０００９】
本発明の一形態における好ましい例では、インタフェース変換マクロは、コマンドデコーダ、クロック制御回路、ラッチ、書き込みデータ変換回路および読み出しデータ変換回路を有している。コマンドデコーダは、コントローラから出力されるコマンド信号を解読する。クロック制御回路は、メモリインタフェース仕様に従ったクロックパルスを、コマンドデコーダの解読結果に応じて生成する。ラッチは、コントローラから出力される書き込みデータ信号を保持する。書き込みデータ変換回路は、ラッチに保持された書き込みデータ信号を、クロックパルスに同期してメモリマクロに出力する。読み出しデータ変換回路は、メモリマクロから出力される読み出しデータ信号をクロックパルスに同期してコントローラに出力する。
【００１０】
例えば、システムインタフェース仕様は、バースト長を含む。バースト長は、１回の読み出しコマンドに応答して出力される読み出しデータ信号の回数、または１回の書き込みコマンドに応答して入力される書き込みデータ信号の回数を示す。クロック制御回路は、バースト長に対応する数のクロックパルスを生成する。あるいは、システムインタフェース仕様は、読み出しレイテンシを含む。読み出しレイテンシは、読み出しコマンドが供給されてから読み出しデータが出力されるまでのクロック数を示す。クロック制御回路は、読み出しレイテンシに対応するクロック数後にクロックパルスを生成する。これにより、インタフェース変換マクロにより、データ信号のインタフェースを相互に変換でき、メモリマクロを誤動作することなくアクセスできる。
【００１１】
本発明の一形態における好ましい例では、インタフェース変換マクロからメモリマクロに出力される書き込みデータ信号のビット数は、コントローラからインタフェース変換マクロに出力される書き込みデータ信号のビット数の整数倍である。書き込みデータ変換回路の書き込みデータ保持回路は、コントローラから出力されるシリアルの書き込みデータ信号をクロックパルスに同期して保持し、クロックパルスが出力された後に、保持している書き込みデータ信号をパラレルの書き込みデータ信号としてメモリマクロに出力する。
【００１２】
例えば、書き込みデータ保持回路は、メモリマクロに出力される書き込みデータ信号のビット数に対応する複数の保持部を有する。インタフェース変換マクロのデータクロック生成回路は、バーストアドレス信号に応じて、保持部にそれぞれ対応するデータ入力クロック信号を順次に生成し、生成したデータ入力クロック信号をクロックパルスとして、書き込みデータ変換回路に出力する。ここで、バーストアドレス信号は、シリアルの書き込みデータ信号を保持部のいずれに保持するかを示す。
【００１３】
例えば、コマンド信号に対応してコントローラから出力されるシリアルの書き込みデータ信号の数は、保持部の数より少ない。データクロック生成回路は、データ選択アドレスに応じて、保持部の少なくともいずれかを選択し、選択した保持部に対応するデータ入力クロック信号を順次に生成する。また、データクロック生成回路は、生成したデータ入力クロック信号をクロックパルスとして、書き込みデータ変換回路に出力するとともに、選択しない保持部に対応するデータマスク信号をメモリマクロに出力する。ここで、データ選択アドレスは、シリアルの書き込みデータ信号を保持する保持部を示す。メモリマクロは、データマスク信号に対応する書き込みデータ信号のメモリセルへの書き込みをマスクする。
【００１４】
以上により、コントローラで使用する書き込みデータ信号のビット数が、メモリマクロに供給される書き込みデータ信号のビット数より少ない場合にも、インタフェース変換マクロにより、メモリマクロの書き込み動作を正常に実行できる。この際、シリアルの書き込みデータ信号は、バーストアドレス信号に応じて、メモリマクロの任意の書き込みデータ信号線に出力可能である。あるいは、データ選択アドレスに応じて、必要な書き込みデータ信号のみをメモリマクロに書き込み、他の書き込みデータ信号のメモリマクロへの書き込みをマスクできる。すなわち、メモリマクロを誤動作することなくアクセスできる。
【００１５】
本発明の一形態における好ましい例では、メモリマクロからインタフェース変換マクロに出力される読み出しデータ信号のビット数は、インタフェース変換マクロからコントローラに出力される読み出しデータ信号のビット数の整数倍である。読み出しデータ変換回路は、メモリマクロから出力されるパラレルの読み出しデータ信号を、クロックパルスに同期してシリアルの読み出しデータ信号に変換し、変換した読み出しデータ信号をコントローラに出力する。
【００１６】
例えば、インタフェース変換マクロのデータクロック生成回路は、バーストアドレス信号に応じてデータ出力クロック信号を順次に生成し、生成したデータ出力クロック信号をクロックパルスとして読み出しデータ変換回路に出力する。ここで、バーストアドレス信号は、パラレルの読み出しデータ信号のコントローラへの出力順を示す。
【００１７】
例えば、コマンド信号に応答してインタフェース変換マクロからコントローラに出力されるシリアルの読み出しデータ信号の数は、メモリマクロから出力されるパラレルの読み出しデータ信号の数より少ない。データクロック生成回路は、パラレルの読み出しデータ信号のうちコントローラが必要とする読み出しデータ信号を、データ選択アドレス信号に応じて選択し、選択した読み出しデータ信号に対応するデータ出力クロック信号を順次に生成する。また、データクロック生成回路は、生成したデータ出力クロック信号をクロックパルスとして読み出しデータ変換回路に出力する。
【００１８】
以上により、コントローラで使用する読み出しデータ信号のビット数が、メモリマクロから出力される読み出しデータ信号のビット数より少ない場合にも、インタフェース変換マクロにより、メモリマクロの読み出し動作を正常に実行できる。この際、メモリマクロから出力されるパラレルの読み出しデータ信号は、バーストアドレス信号に応じて、任意の順序でコントローラに出力可能である。あるいは、データ選択アドレスに応じて、メモリマクロから出力されるパラレルの読み出しデータ信号うち、任意の読み出しデータ信号のみを読み出しできる。すなわち、メモリマクロを誤動作することなくアクセスできる。
【００１９】
本発明の一形態における好ましい例では、インタフェース変換マクロのコマンド変換回路は、コントローラから出力されるシステムインタフェース仕様に従ったコマンド信号を、メモリインタフェース仕様に従ったコマンド信号に変換し、変換したコマンド信号をメモリマクロに出力する。インタフェース変換マクロにより、コマンド信号のインタフェースを相互に変換でき、メモリマクロを誤動作することなくアクセスできる。
【００２０】
本発明の一形態における好ましい例では、半導体集積回路は、メモリマクロをテストするテスト回路と、セレクタとを有する。テスト回路は、メモリマクロをアクセスするために、メモリインタフェース仕様に従ったテスト信号をメモリマクロに出力し、テスト信号に応答してメモリマクロから出力されるテスト読み出しデータ信号を期待値と比較し、メモリマクロの良否を判定する。セレクタは、テストモード中にテスト回路をメモリマクロに接続し、通常動作モード中にインタフェース変換マクロをメモリマクロに接続する。メモリマクロは、システム仕様に依存せず共通に使用される。このため、テスト回路もシステム仕様に依存せず共通に使用できる。したがって、システムを設計する際に、メモリマクロのテスト設計の時間を削減できる。この結果、半導体集積回路の設計期間および設計コストを削減できる。
【発明の効果】
【００２１】
本発明では、半導体集積回路の設計検証時間および評価時間を短縮でき、半導体集積回路の設計期間および設計コストを削減できる。また、本発明では、メモリマクロを誤動作することなくアクセスできる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施形態を図面を用いて説明する。図中、太線で示した信号線は、複数本で構成されている。また、太線が接続されているブロックの一部は、複数の回路で構成されている。信号が伝達される信号線には、信号名と同じ符号を使用する。先頭に”／”の付いている信号は、負論理を示している。末尾に”Ｚ”の付いている信号は、正論理を示している。図中の二重丸は、外部端子を示している。図中の二重の四角は、マクロの端子（マクロ端子）を示している。マクロ端子は、ワイヤやバンプ等が接続されないため、半導体チップ上で配線パターンとして形成される。
【００２３】
図１は、本発明の第１の実施形態を示している。本発明の半導体集積回路は、コントローラマクロＣＴＲＬ１、ＣＴＲＬ２、インタフェース変換マクロＩＦＣＶおよびメモリマクロＭＥＭ（以下、メモリＭＥＭとも称する）が搭載されたＳｏＣとして形成されている。コントローラマクロＣＴＲＬ１、ＣＴＲＬ２およびインタフェース変換マクロＩＦＣＶは、メモリバスＭＢＵＳを介して互いに接続されている。ＳｏＣは、複数の半導体チップＣＨＩＰおよび外部インタフェース部Ｉ／ＯとともにシステムボードＳＢＲＤに搭載されている。ＳｏＣ、半導体チップＣＨＩＰおよび外部インタフェース部Ｉ／Ｏは、システムバスＳＢＵＳを介して互いに接続されている。そして、システムボードＳＢＲＤおよび外部インタフェース部Ｉ／Ｏに接続される周辺デバイスＤＥＶによりシステムＳＹＳが構成されている。
【００２４】
システムＳＹＳは、例えば、携帯電話等の携帯機器である。例えば、半導体チップＣＨＩＰは、ＣＰＵおよび通信ＬＳＩ等である。例えば、周辺デバイスＤＥＶは、液晶ディスプレイ、スピーカー、入力デバイス等である。なお、システムボードＳＢＲＤ上には、ＣＰＵにより実行されるプログラムを格納するフラッシュメモリ等の図示しない不揮発性半導体メモリが搭載される。例えば、メモリマクロＭＥＭは、ＤＲＡＭコア（ＩＰ）であり、マスクデータを含むハードマクロとして設計される。システム仕様に依存せず共通に使用可能なメモリマクロＭＥＭを、ハードマクロとして設計することにより、メモリマクロＭＥＭのサイズを最小限にでき、ＳｏＣのチップコストを削減できる。
【００２５】
インタフェース変換マクロＩＦＣＶは、ソフトマクロとして設計される。このため、インタフェース変換マクロＩＦＣＶは、新たに設計される様々なＳｏＣの空き領域に合わせた形状に設計でき、端子位置もインタフェース変換マクロＩＦＣＶの周囲にレイアウトされる回路に合わせて設計できる。したがって、ＳｏＣの設計効率を向上でき、ＳｏＣの設計期間および設計コストを削減できる。
【００２６】
例えば、コントローラＣＴＲＬ１は、メモリＭＥＭに保持される画像データを処理するＭＰＥＧコア（ＩＰ）である。例えば、コントローラＣＴＲＬ２は、ＤＭＡＣコア（ＩＰ）である。例えば、インタフェース変換マクロＩＦＣＶは、コントローラＣＴＲＬ１−２の少なくともいずれかとともに、アレイ状に予め形成された論理素子の端子間を配線により接続することにより製造される。すなわち、インタフェース変換マクロＩＦＣＶは、ゲートアレイやプログラマブルロジックデバイスとして設計される。そして、インタフェース変換マクロＩＦＣＶの設計検証およびテストは、コントローラＣＴＲＬ１またはＣＴＲＬ２とともに実施される。
【００２７】
メモリバスＭＢＵＳは、メモリＭＥＭをアクセスするためのクロック信号ＣＫ、コマンド信号ＣＭＤ、アドレス信号ＡＤ、バーストアドレス信号ｂＡＤ、データ入力信号Ｄｉｎ、データ出力信号Ｄｏｕｔの信号線を含む。これら信号は、コントローラＣＴＲＬ１−２から出力されてもよく、メモリコントローラ（図示せず）から出力されてもよい。さらに、インタフェース変換マクロＩＦＣＶは、メモリコントローラ内に設けられてもよい。この場合、メモリバスＭＢＵＳは、例えば、トランザクションと称されるアドレス情報と、書き込みデータをメモリコントローラに出力し、読み出しデータをメモリコントローラから受ける。アドレス情報は、アクセスの開始アドレス、リード／ライト情報、データサイズを含む。メモリコントローラは、アドレス情報に基づいて、コマンド信号ＣＭＤ、アドレス信号ＡＤおよびバーストアドレス信号ｂＡＤを生成する。
【００２８】
インタフェース変換マクロＩＦＣＶは、システムＳＹＳに固有のシステムインタフェース仕様を有する信号ＣＫ、ＣＭＤ、ＡＤ、ｂＡＤ、ＤｉｎをメモリバスＭＢＵＳから受け、受けた信号をメモリＭＥＭをアクセスするためのメモリクロック信号ＭＣＫ、メモリコマンド信号ＭＣＭＤ、メモリアドレス信号ＭＡＤ、メモリデータ入力信号ＭＤｉｎに変換する。また、インタフェース変換マクロＩＦＣＶは、メモリＭＥＭから受けるメモリデータ出力信号ＭＤｏｕｔを、メモリインタフェース仕様に応じたデータ出力信号Ｄｏｕｔに変換する。
【００２９】
インタフェース変換マクロＩＦＣＶは、システムＳＹＳのメモリインタフェース仕様に応じて、システムＳＹＳ毎に設計される。メモリインタフェース仕様は、例えば、後述するバースト長ＢＬおよび読み出しレイテンシＲＬの少なくともいずれかを含む。バースト長ＢＬは、１回の読み出しコマンドに応答してメモリバスＭＢＵＳに連続して出力される読み出しデータ信号の回数であり、１回の書き込みコマンドに応答してメモリバスＭＢＵＳから連続して供給される書き込みデータ信号の回数である。読み出しレイテインシＲＬは、読み出しコマンドが供給されてから読み出しデータが出力されるまでのクロック数である。
【００３０】
この実施形態のメモリインタフェース仕様は、バースト長ＢＬ＝４、読み出しレイテンシＲＬ＝７である。換言すれば、コントローラＣＴＲＬ１−２は、バースト長ＢＬ＝４、読み出しレイテンシＲＬ＝７でメモリＭＥＭが動作すると認識する。しかし、実際のメモリＭＥＭは、例えば、バースト長ＢＬ＝１、読み出しレイテンシＲＬ＝３でのみ動作する。インタフェース変換マクロＩＦＣＶは、インタフェース仕様を相互に変換する。
【００３１】
本発明では上述したように、メモリＭＥＭは、システムＳＹＳのインタフェース仕様に関わりなく、１つのメモリインタフェース仕様の信号によりアクセスされ、読み出し動作、書き込み動作およびリフレッシュ動作を実行する。具体的には、メモリＭＥＭは、上述したように、バースト長ＢＬ＝１、読み出しレイテンシＲＬ＝３でのみ動作する。これにより、メモリＭＥＭは、システムインタフェース仕様と無関係に、共通のハードマクロとして構成できる。メモリＭＥＭの設計検証、特性の評価および試験パターンの設計は、１回のみでよい。換言すれば、システムＳＹＳ（ＳｏＣ）を新たに開発するときに、インタフェース変換マクロＩＦＣＶの設計検証、特性の評価および試験パターンの設計のみを行えばよい。この結果、システムＳＹＳの開発時に、ＳｏＣの設計期間を短縮でき、設計コストを削減できる。
【００３２】
なお、本発明では、後述する第２、第３、第４および第５の実施形態に示すように、コントローラＣＴＲＬ１またはＣＴＲＬ２が、様々なシステムインタフェース仕様に従った信号を出力する場合にも、インタフェース変換マクロＩＦＣＶのみを再設計することにより、共通のメモリマクロＭＥＭを使用できる。
【００３３】
図２は、図１に示したインタフェース変換マクロＩＦＣＶの詳細を示している。インタフェース変換マクロＩＦＣＶは、クロックバッファ１０、コマンドバッファ／ラッチ１２、アドレスバッファ／ラッチ１４、バーストアドレスバッファ／ラッチ１６、データ入力バッファ／ラッチ１８、データ出力バッファ２０、クロック制御回路２２、コマンドデコーダ２４、コマンド変換回路２６、コマンドレジスタ２８、アドレスレジスタ３０、データクロック生成回路３２、シリアル／パラレル変換回路３４およびパラレル／シリアル変換回路３６を有している。クロックバッファ１０、コマンドバッファ／ラッチ１２、アドレスバッファ／ラッチ１４、バーストアドレスバッファ／ラッチ１６、データ入力バッファ／ラッチ１８およびデータ出力バッファ２０は、システムインタフェース仕様に従った信号を入力または出力する。クロック制御回路２２、コマンドレジスタ２８、アドレスレジスタ３０、シリアル／パラレル変換回路３４およびパラレル／シリアル変換回路３６は、メモリインタフェース仕様に従った信号を入力または出力する。
【００３４】
クロックバッファ１０は、クロック信号ＣＫを内部クロック信号ＩＣＫとして出力する。コマンドバッファ／ラッチ１２は、メモリＭＥＭをアクセスするためのコマンド信号ＣＭＤを内部クロック信号ＩＣＫに同期してラッチし、ラッチした信号を出力する。コマンド信号ＣＭＤは、チップイネーブル信号／ＣＥ、出力イネーブル端子／ＯＥおよびライトイネーブル信号／ＷＥを含む。アドレスバッファ／ラッチ１４は、アドレス信号ＡＤを内部クロック信号ＩＣＫに同期してラッチし、ラッチした信号を出力する。バーストアドレスバッファ／ラッチ１６は、２ビットのバーストアドレス信号ｂＡＤ（ｂＡＤ０−１）を内部クロック信号ＩＣＫに同期してラッチし、ラッチした信号を開始アドレスＳＡＤとして出力する。
【００３５】
データ入力バッファ／ラッチ１８は、データ入力信号Ｄｉｎ（メモリＭＥＭへの書き込みデータ信号）を内部クロック信号ＩＣＫに同期してラッチして保持し、保持している信号をデータ入力信号ＩＤＡＴとして出力する。データ出力バッファ２０は、データ出力信号ＯＤＡＴ（メモリＭＥＭからの読み出しデータ）を受け、受けた信号をデータ出力信号Ｄｏｕｔとして出力する。例えば、データ入力信号Ｄｉｎおよびデータ出力信号Ｄｏｕｔは、それぞれ３２ビットで構成される。本発明において、３２ビットは、基準のビット幅である。データ信号ＩＤＡＴ、ＯＤＡＴに示した”１Ｎ”の”Ｎ”は、３２ビットを示している。
【００３６】
クロック制御回路２２は、内部クロック信号ＩＣＫを用いてメモリクロック信号ＭＣＫ、出力クロック信号ＯＵＴＣＫと、読み出しクロック信号ＲＣＫまたは書き込みクロック信号ＷＣＫを生成する。すなわち、クロック制御回路２２は、メモリインタフェース仕様に従ったクロックパルスＯＵＴＣＫ、ＲＣＫ、ＷＣＫを、コマンドデコーダ２４の解読結果に応じて生成する。メモリクロック信号ＭＣＫは、メモリＭＥＭのクロック端子に供給される。出力クロック信号ＯＵＴＣＫは、コマンドレジスタ２８およびアドレスレジスタ３０の動作タイミングを決める信号である。読み出しクロック信号ＲＣＫは、メモリＭＥＭの読み出し動作時に出力される。書き込みクロック信号ＷＣＫは、メモリＭＥＭの書き込み動作時に出力される。クロック制御回路２２の動作の詳細は、図４に示す。
【００３７】
コマンドデコーダ２４は、コントローラＣＴＲＬ１またはＣＴＲＬ２から出力されるコマンド信号ＣＭＤを解読する。具体的には、コマンドデコーダ２４は、コマンドバッファ／ラッチ１２から出力されるコマンド信号が読み出しコマンドを示すときに読み出しコマンド信号ＲＤを出力し、コマンド信号が書き込みコマンドを示すときに書き込みコマンド信号ＷＲを出力する。コマンド変換回路２６は、コマンドバッファ／ラッチ１２から出力されるコマンド信号を、メモリＭＥＭをアクセスするためのコマンド信号に変換し出力する。すなわち、コマンド変換回路２６は、メモリバスＭＢＵＳを介して供給されるコマンド信号を、メモリＭＥＭのインタフェース仕様に合うコマンド信号に変換する。コマンド変換回路２６の動作は、図３に示す。
【００３８】
コマンドレジスタ２８は、コマンド変換回路２６から出力されるコマンド信号を保持し、保持しているコマンド信号を出力クロック信号ＯＵＴＣＫに同期してメモリコマンド信号ＭＣＭＤとして出力する。メモリコマンド信号ＭＣＭＤは、メモリチップイネーブル信号／ＭＣＥ、メモリライトイネーブル信号／ＭＷＥおよびメモリリフレッシュ信号／ＭＲＥＦを含む。アドレスレジスタ３０は、アドレス変換回路２８から出力されるアドレス信号を保持し、保持しているアドレス信号を出力クロック信号ＯＵＴＣＫに同期してメモリアドレス信号ＭＡＤとして出力する。
【００３９】
データクロック生成回路３２は、読み出しクロック信号ＲＣＫに同期してデータ出力クロック信号ＤＯＣＫ０−３を順次に生成し、書き込みクロックＷＣＫに同期してデータ入力クロック信号ＤＩＣＫ０−３を順次に生成する。データ出力クロック信号ＤＯＣＫ０−３の生成順およびデータ入力クロック信号ＤＩＣＫ０−３の生成順は、開始アドレスＳＡＤ（すなわち、バーストアドレス信号ｂＡＤ０−１）の値に応じて設定される。データクロック生成回路３２の動作は、図５に示す。
【００４０】
シリアル／パラレル変換回路３４は、書き込みデータ保持回路ＷＨＬＤを有している。書き込みデータ保持回路ＷＨＬＤは、書き込み動作時に、シリアルのデータ入力信号ＩＤＡＴをデータ入力クロック信号ＤＩＣＫ０−３（クロックパルス）に同期して保持し、データ入力クロック信号ＤＩＣＫ０−３が出力された後に、保持しているデータ入力信号ＩＤＡＴをパラレルのメモリデータ入力信号ＭＤｉｎ０−３として出力する。すなわち、シリアル／パラレル変換回路３４は、データ入力バッファ／ラッチ１８に保持された書き込みデータ信号ＩＤＡＴを、クロックパルスＤＩＣＫ０−３に同期して順次に保持し、保持している書き込みデータ信号ＩＤＡＴをメモリＭＥＭに出力する書き込みデータ変換回路として動作する。書き込みデータ保持回路ＷＨＬＤは、書き込みコマンドＷＲに対応して供給される書き込みデータ信号ＩＤＡＴを保持するために、メモリデータ入力信号ＭＤｉｎ０−３のビット数に対応する数（１２８個）の保持部を有している。各保持部は、クロックパルスＤＩＣＫ０−３のいずれかに同期してデータ入力信号ＩＤＡＴを保持する。なお、データ入力信号ＩＤＡＴ（シリアルの書き込みデータ信号）のビット数（３２ビット）は、保持部の数より少ない。
【００４１】
パラレル／シリアル変換回路３６は、読み出し動作時に、メモリデータ出力信号ＭＤｏｕｔ０−３（パラレルの読み出しデータ信号）のいずれかをデータ入力クロック信号ＤＩＣＫ０−３（クロックパルス）に応じて選択し、選択したデータ信号をデータ出力信号ＯＤＡＴ（シリアルの読み出しデータ信号）として出力する。すなわち、パラレル／シリアル変換回路３６は、メモリマクロＭＥＭから出力される読み出しデータ信号ＭＤｏｕｔ０−３をクロックパルスＤＩＣＫ０−３に同期してコントローラＣＴＲＬ１またはＣＴＲＬ２に出力する読み出しデータ変換回路として動作する。
【００４２】
図３は、コントローラＣＴＲＬ１またはＣＴＲＬ２から出力されるシステムインタフェース仕様に従ったコマンド信号ＣＭＤと、メモリマクロＭＥＭに供給されるメモリインタフェース仕様に従ったメモリコマンド信号ＭＣＭＤとの関係を示している。図では、高論理レベルの信号を”Ｈ”で示し、低論理レベルの信号を”Ｌ”で示す。メモリＭＥＭは、例えば、４つの動作コマンド（動作状態）ＳＴＢＹ、ＲＤ、ＷＲ、ＲＥＦを有している。スタンバイコマンドＳＴＢＹは、メモリＭＥＭをスタンバイ状態（非アクセス状態）に設定するときに供給される。読み出しコマンドＲＤは、メモリＭＥＭに読み出し動作を実行させるときに供給される。書き込みコマンドＷＲは、メモリＭＥＭに書き込み動作を実行させるときに供給される。リフレッシュコマンドＲＥＦは、メモリＭＥＭにリフレッシュ動作を実行させるときに供給される。インタフェース変換マクロＩＦＣＶは、システムインタフェース仕様に従ったコマンド信号ＣＭＤを、メモリインタフェース仕様に従ったメモリコマンド信号ＭＣＭＤに変換する。
【００４３】
スタンバイコマンドＳＴＢＹは、全てのコマンド信号の高レベルにより認識される。インタフェース変換マクロＩＦＣＶは、低レベルの／ＣＥ信号、低レベルの／ＯＥ信号および高レベルの／ＷＥ信号により読み出しコマンドＲＤを認識し、メモリＭＥＭに、低レベルの／ＭＣＥ信号、高レベルの／ＭＷＥ信号および高レベルの／ＭＲＥＦ信号を出力する。インタフェース変換マクロＩＦＣＶは、低レベルの／ＣＥ信号、高レベルの／ＯＥ信号および低レベルの／ＷＥ信号により書き込みコマンドＷＲを認識し、メモリＭＥＭに、低レベルの／ＭＣＥ信号、低レベルの／ＭＷＥ信号および高レベルの／ＭＲＥＦ信号を出力する。
【００４４】
さらに、インタフェース変換マクロＩＦＣＶは、高レベルの／ＣＥ信号、低レベルの／ＯＥ信号および高レベルの／ＷＥ信号によりリフレッシュコマンドＲＥＦを認識し、メモリＭＥＭに、低レベルの／ＭＣＥ信号、高レベルの／ＭＷＥ信号および低レベルの／ＭＲＥＦ信号を出力する。このように、インタフェース変換マクロＩＦＣＶは、メモリバスＭＢＵＳ上のコマンド信号（システムインタフェース仕様）を、メモリＭＥＭを動作するためのコマンド信号（メモリインタフェース仕様）に変換する機能を有している。
【００４５】
図４は、図２に示したクロック制御回路２２の動作を示している。この実施形態では、バースト長ＢＬ＝４、読み出しレイテンシＲＬ＝７に対応するクロック制御回路２２が設計されている。図に示したＢＬ＝２、ＲＬ＝５の波形は、後述する第２の実施形態のクロック制御回路２２Ａの動作を示している。ＢＬ＝１、ＲＬ＝３の波形は、後述する第３の実施形態のクロック制御回路２２Ｂの動作を示している。クロック制御回路２２、２２Ａ、２２Ｂの論理は、メモリインタフェース仕様に応じてそれぞれ設計される。読み出しクロック信号ＲＣＫのパルス数および書き込みクロック信号ＷＣＫのパルス数は、バースト長に対応する数に等しい。また、読み出しクロック信号ＲＣＫの最初のクロックパルスは、読み出しレイテンシＲＬに対応するクロック数後に出力される。
【００４６】
クロック制御回路２２は、クロック信号ＣＫの４パルス毎にメモリクロック信号ＭＣＫを出力する。クロック制御回路２２は、読み出しコマンドＲＤまたは書き込みコマンドＷＲを受けた後、３番目のクロックパルスＩＣＫ（図ではＩＣＫ４またはＩＣＫ１６）の立ち下がりエッジに同期して出力クロック信号ＯＵＴＣＫを出力する。また、クロック制御回路２２は、読み出しコマンドＲＤを受けた後、６番目から９番目のクロックパルスＩＣＫ７−１０に同期して読み出しクロック信号ＲＣＫを出力し、書き込みコマンドＷＲを受けたクロックパルスＩＣＫ１３とそれに続く３つのクロックパルスＩＣＫ１４−１６に同期して書き込みクロック信号ＷＣＫを出力する。ＢＬ＝１の詳細な動作は、図７および図８に示す。
【００４７】
ＢＬ＝２では、メモリクロック信号ＭＣＫは、クロック信号ＣＫの２パルス毎に出力される。出力クロック信号ＯＵＴＣＫは、読み出しコマンドＲＤまたは書き込みコマンドＷＲを受けた後、次のクロックパルスＩＣＫ２またはＩＣＫ１４の立ち下がりエッジに同期して出力される。読み出しクロック信号ＲＣＫは、読み出しコマンドＲＤを受けた後、４番目から５番目のクロックパルスＩＣＫ５−６に同期して出力される。書き込みクロック信号ＷＣＫは、書き込みコマンドＷＲを受けたクロックパルスＩＣＫ１３とそれに続くクロックパルスＩＣＫ１４に同期して出力される。ＢＬ＝２の詳細な動作は、図１０および図１１に示す。
【００４８】
ＢＬ＝１では、メモリクロック信号ＭＣＫは、クロック信号ＣＫに同期して出力される。出力クロック信号ＯＵＴＣＫは、読み出しコマンドＲＤまたは書き込みコマンドＷＲを受けたクロック信号ＣＫの立ち下がりエッジに同期して出力される。読み出しクロック信号ＲＣＫは、読み出しコマンドＲＤを受けた後、３番目のクロックパルスＩＣＫ４に同期して出力される。書き込みクロック信号ＷＣＫは、書き込みコマンドＷＲを受けたクロックパルスＩＣＫ１３に同期して出力される。ＢＬ＝１の詳細な動作は、図１３および図１４に示す。
【００４９】
なお、図１に示したコントローラＣＴＲＬ１またはＣＴＲＬ２は、読み出しコマンドＲＤおよび書き込みコマンドＷＲをメモリクロック信号ＭＣＫに同期して出力する。このために、例えば、コントローラＣＴＲＬ１またはＣＴＲＬ２は、ＳｏＣのパワーオン時にメモリクロックパルスＭＣＫに同期するクロックパルスＣＫを認識する。また、リフレッシュコマンドＣＭＤ（ＲＥＦ）が供給されたとき、クロック制御回路２２は、メモリクロック信号ＭＣＫおよび出力クロック信号ＯＵＴＣＫのみを生成し、読み出しクロック信号ＲＣＫおよび書き込みクロック信号ＷＣＫは生成しない。
【００５０】
図５は、図２に示したデータクロック生成回路３２の動作を示している。本発明では、メモリバスＭＢＵＳに入出力されるデータ信号のビット幅（図２の１Ｎ）は、メモリＭＥＭに入出力されるデータ信号のビット幅（図２の４Ｎ）の４分の１である。換言すれば、インタフェース変換マクロＩＦＣＶからメモリマクロＭＥＭに出力されるメモリデータ入力信号ＭＤｉｎ０−３（書き込みデータ信号）のビット数は、コントローラＣＴＲＬ１またはＣＴＲＬ２からインタフェース変換マクロＩＦＣＶに出力されるデータ入力信号Ｄｉｎ（書き込みデータ信号）のビット数の４倍（整数倍）である。また、メモリマクロＭＥＭからインタフェース変換マクロＩＦＣＶに出力されるメモリデータ出力信号ＭＤｏｕｔ０−３（読み出しデータ信号）のビット数は、インタフェース変換マクロＩＦＣＶからコントローラＣＴＲＬ１またはＣＴＲＬ２に出力されるデータ出力信号Ｄｏｕｔ（読み出しデータ信号）のビット数の４倍（整数倍）である。
【００５１】
このため、データ信号ＤｉｎをメモリＭＥＭに書き込むために、メモリデータ入力信号ＭＤｉｎ０−３のいずれかに供給するかを選択する必要がある。また、メモリＭＥＭから読み出されるメモリデータ出力信号ＭＤｏｕｔ０−３のいずれをデータ出力信号Ｄｏｕｔとして出力するかを選択する必要がある。データクロック生成回路３２は、データ信号を選択するために、バーストアドレス信号ｂＡＤ０−１（開始アドレスＳＡＤ）の値に応じてデータ入力クロック信号ＤＩＣＫ０−３またはデータ出力クロック信号ＤＯＣＫ０−３を生成する。
【００５２】
例えば、読み出しコマンドＲＤとともにインタフェース変換マクロＩＦＣＶに供給されるバーストアドレス信号ｂＡＤ０−１の値が”０”のとき、データクロック生成回路３２は、読み出しクロック信号ＲＣＫに同期してデータ出力クロック信号ＤＯＣＫ０−３を順次に出力する。このため、４つのシリアルの書き込みデータ信号Ｄｉｎは、パラレルの書き込みデータ信号に変換され、メモリデータ入力信号線ＭＤｉｎ０−３に伝達される。書き込みコマンドＷＲとともにインタフェース変換マクロＩＦＣＶに供給されるバーストアドレス信号ｂＡＤ０−１の値が”２”のとき、データクロック生成回路３２は、書き込みクロック信号ＷＣＫに同期してデータ入力クロック信号ＤＩＣＫ２−３、０−１を順次に出力する。このため、パラレルのメモリ出力データ信号ＭＤｏｕｔ２−３、０−１がシリアルのデータ出力信号Ｄｏｕｔとして順次に出力される。
【００５３】
一方、第２の実施形態に示すように、バースト長ＢＬが”２”のとき、データクロック生成回路３２Ａ（図９）は、読み出しクロック信号ＲＣＫに同期してデータ出力クロック信号ＤＯＣＫ０−３の２つを順次に出力する。第３の実施形態に示すように、バースト長ＢＬが”１”のとき、データクロック生成回路３２Ｂ（図１２）は、読み出しクロック信号ＲＣＫに同期してデータ出力クロック信号ＤＯＣＫ０−３のいずれかを出力する。
【００５４】
図６は、図１に示したメモリマクロＭＥＭの詳細を示している。メモリマクロＭＥＭは、クロックバッファ５０、コマンドバッファ／ラッチ５２、アドレスバッファ／ラッチ５４、データ入力バッファ／ラッチ５６、データ出力バッファ５８、コマンドデコーダ６０、動作制御回路６２およびメモリコア６４を有している。クロックバッファ５０、コマンドバッファ／ラッチ５２、アドレスバッファ／ラッチ５４、データ入力バッファ／ラッチ５６およびデータ出力バッファ５８は、メモリインタフェース仕様に従った信号を入出力するメモリインタフェース部として機能する。
【００５５】
クロックバッファ５０は、メモリクロック信号ＭＣＫを内部クロック信号ＭＩＣＫとして出力する。コマンドバッファ／ラッチ５２は、メモリコマンド信号ＭＣＭＤを内部クロック信号ＭＩＣＫに同期してラッチし、ラッチした信号をラッチチップイネーブル信号ＣＥＬＡＴ、ラッチライトイネーブル信号ＷＥＬＡＴおよびラッチリフレッシュ信号ＲＥＦＬＡＴとして出力する。アドレスバッファ／ラッチ５４は、メモリアドレス信号ＭＡＤを内部クロック信号ＭＩＣＫに同期してラッチし、ラッチした信号をロウアドレス信号ＲＡＤおよびコラムアドレス信号ＣＡＤとして出力する。
【００５６】
データ入力バッファ／ラッチ５６は、メモリデータ入力信号ＭＤｉｎ０−３を内部クロック信号ＭＩＣＫに同期してラッチし、ラッチした信号をメモリデータ入力信号ＭＩＤＡＴ０−３として出力する。なお、この実施形態では、データ入力バッファ／ラッチ５６のデータマスク端子ＭＤＭ０−３は、接地線に接続され、データマスク機能は無効に設定される。データ出力バッファ５８は、メモリコア６４から出力されるメモリデータ出力信号ＭＯＤＡＴ０−３を受け、受けた信号をメモリデータ出力信号ＭＤｏｕｔ０−３として出力する。
【００５７】
コマンドデコーダ６０は、コマンド信号ＣＥＬＡＴ、ＷＥＬＡＴ、ＲＥＦＬＡＴをデコードし、読み出し動作を実行するための読み出し制御信号ＲＤＺ、書き込み動作を実行するための書き込み制御信号ＷＲＺまたはリフレッシュ動作を実行するためのリフレッシュ制御信号ＲＥＦＺを出力する。
【００５８】
動作制御回路６２は、制御信号ＲＤＺ、ＷＲＺ、ＲＥＦＺに応答してメモリコア６４に読み出し動作、書き込み動作またはリフレッシュ動作を実行させるために、動作制御信号（ワード線活性化信号ＷＬＺ、プリチャージ制御信号ＢＲＳ、センスアンプ活性化信号ＬＥＺおよびコラム選択信号ＣＬＺを出力する。ワード線活性化信号ＷＬＺは、ワード線ＷＬの活性化タイミングを制御する。プリチャージ制御信号ＢＲＳは、プリチャージ回路ＰＲＥのオン／オフタイミングを制御する。センスアンプ活性化信号ＬＥＺは、センスアンプＳＡの活性化タイミングを制御する。コラム選択信号ＣＬＺは、コラムスイッチＣＳＷのオン／オフタイミングを制御する。
【００５９】
メモリコア６４は、メモリセルアレイＡＲＹ、ロウデコーダＲＤＥＣ、プリチャージ回路ＰＲＥ、センスアンプＳＡ、コラムスイッチＣＳＷ、コラムデコーダＣＤＥＣ、リードアンプＲＡおよびライトアンプＷＡを有している。メモリセルアレイＡＲＹは、複数のダイナミックメモリセルＭＣ、図の横方向に並ぶメモリセルＭＣに接続された複数のワード線ＷＬ、図の縦方向に並ぶメモリセルＭＣに接続された複数のビット線対ＢＬ、／ＢＬとを有する。メモリセルＭＣは、データを電荷として保持するためのキャパシタと、このキャパシタの一端をビット線ＢＬ（または／ＢＬ）に接続するための転送トランジスタとを有している。キャパシタの他端は、プリチャージ電圧線に接続されている。転送トランジスタのゲートは、ワード線ＷＬに接続されている。ワード線ＷＬの選択により、読み出し動作、書き込み動作またはリフレッシュ動作のいずれかが実行される。
【００６０】
ロウデコーダＲＤＥＣは、ワード線ＷＬのいずれかを選択するために、ロウアドレス信号ＲＡＤをデコードする。プリチャージ回路ＰＲＥは、メモリセルＭＣの非アクセス時にプリチャージ制御信号ＢＲＳに同期してビット線対ＢＬ、／ＢＬをプリチャージ電圧線に接続する。センスアンプＳＡは、ビット線対ＢＬ、／ＢＬに読み出されたデータ信号の信号量の差を増幅する。コラムアドレスデコーダＣＤＥＣは、データ信号を入出力するビット線対ＢＬ、／ＢＬを選択するために、コラムアドレス信号ＣＡＤをデコードする。コラムスイッチＣＳＷは、コラムアドレス信号ＣＡＤに対応するビット線ＢＬ、／ＢＬをリードアンプＲＡおよびライトアンプＷＡに接続する。リードアンプＲＡは、読み出し動作時に、コラムスイッチＣＳＷを介して出力される読み出しデータ信号を増幅し、増幅した信号をメモリデータ出力信号ＭＯＤＡＴ０−３として出力する。ライトアンプＷＡは、書き込み動作時に、供給されるメモリデータ入力信号ＭＩＤＡＴ０−３を増幅し、増幅した信号をビット線対ＢＬ、／ＢＬに供給する。
【００６１】
図７は、第１の実施形態の読み出し動作を示している。この例では、４クロックサイクル毎に読み出しコマンドＲＤが供給される。インタフェース変換マクロＩＦＣＶは、例えば、クロック信号ＣＫの１番目のパルス（ＣＫ１）の立ち上がりエッジに同期してコマンド信号ＣＭＤ（Ａ）、アドレス信号ＡＤ（Ａ）およびバーストアドレス信号ｂＡＤ０−１（０）を受ける（図７（ａ））。図２に示したクロック制御回路２２は４番目のクロックパルスＣＫの立ち下がりエッジに同期して、受けたコマンド信号ＣＭＤ（Ａ）およびアドレス信号ＡＤ（Ａ）をメモリコマンド信号ＭＣＭＤ（Ａ）およびメモリアドレス信号ＭＡＤ（Ａ）として出力する（図７（ｂ））。
【００６２】
メモリＭＥＭは、５番目のクロックパルスＣＫに対応するメモリクロックパルスＭＣＫに同期して、メモリコマンド信号ＭＣＭＤ（Ａ）およびメモリアドレス信号ＭＡＤ（Ａ）を受け、読み出し動作を開始する（図７（ｃ））。メモリＭＥＭは、メモリコア６４からの読み出しデータ信号を、メモリデータ出力信号ＭＤｏｕｔ０−３（Ａ０−Ａ３；読み出しデータ）として出力する（図７（ｄ））。メモリデータ出力信号ＭＤｏｕｔ０−３は、メモリコマンド信号ＭＣＭＤ（Ａ）を受けた次のクロックパルスＣＫの立ち下がりエッジに対応する時刻（例えば、６番目のクロックパルスＣＫ）に出力される。このように、メモリＭＥＭは、読み出しコマンドＭＣＭＤを受けてから、１．５クロック後（例えば、ＣＫ６の立ち下がりエッジ）に読み出しデータＡ０−３を出力するように設計されている。このため、メモリＭＥＭをアクセスするコントローラが、メモリＭＥＭに直接接続される場合、コントローラは、読み出しコマンドＭＣＭＤの出力から２クロック後（例えば、ＣＫ７）に読み出しデータを受けることができる。すなわち、メモリＭＥＭ自体は、読み出しレイテンシＲＬ＝２で動作する。
【００６３】
バーストアドレス信号ｂＡＤ０−１の値が”０”であるため、インタフェース変換マクロＩＦＣＶのデータクロック生成回路３２は、図５に示したように、７番目から１０番目のクロックパルスＣＫに同期してデータ出力クロック信号ＤＯＣＫ０−３を順次に出力する。図２に示したパラレル／シリアル変換回路３６は、データ出力クロック信号ＤＯＣＫ０−３にそれぞれ同期して、読み出しデータ信号Ａ０、Ａ１、Ａ２、Ａ３をデータ出力信号ＯＤＡＴとして順次に出力する。そして、データ出力バッファ２０からデータ出力端子Ｄｏｕｔに読み出しデータ信号Ａ０−Ａ３が順次に出力される（図７（ｅ））。図１に示したコントローラＣＴＲＬ１またはＣＴＲＬ２は、８番目から１１番目のクロックパルスＣＫに同期して読み出しデータ信号Ａ０−Ａ３を受ける。すなわち、コントローラＣＴＲＬ１またはＣＴＲＬ２が読み出しコマンドＲＤをインタフェース変換マクロＩＦＣＶに出力してから、最初の読み出しデータ信号Ａ０を受けるまでのクロック数（読み出しレイテンシＲＬ）は、”７”である。
【００６４】
２番目以降の読み出しコマンドＲＤ（Ｂ−Ｄ）に伴う読み出し動作も、上述と同様に実行される。但し、データ出力端子Ｄｏｕｔから出力される読み出しデータ信号の出力順は、バーストアドレス信号ｂＡＤ０−１の値に応じて変化する。すなわち、バーストアドレス信号ｂＡＤ０−１の値が”３”のとき、読み出しデータ信号は、データ出力信号ＭＤｏｕｔ３、０−２の順で出力される（図７（ｆ））。バーストアドレス信号ｂＡＤ０−１の値が”２”のとき、読み出しデータ信号は、データ出力信号ＭＤｏｕｔ２−３、０−１の順で出力される（図７（ｇ））。
【００６５】
なお、リフレッシュコマンドＲＥＦに応答するメモリＭＥＭのリフレッシュ動作は、メモリデータ出力信号ＭＤｏｕｔ０−３がメモリＭＥＭから出力されないことを除き、読み出し動作と同じタイミングで実行される。
【００６６】
図８は、第１の実施形態の書き込み動作を示している。この例では、この例では、４クロックサイクル毎に書き込みコマンドＷＲが供給される。インタフェース変換マクロＩＦＣＶは、クロック信号ＣＫの立ち上がりエッジに同期してコマンド信号ＣＭＤ（Ａ）、アドレス信号ＡＤ（Ａ）およびバーストアドレス信号ｂＡＤ０−１（０）を受ける（図８（ａ））。また、インタフェース変換マクロＩＦＣＶは、１番目から４番目のクロックパルスＣＫに同期して、データ入力端子Ｄｉｎで書き込みデータ信号Ａ０、Ａ１、Ａ２、Ａ３を順次に受ける（図８（ｂ））。シリアル／パラレル変換回路３４の書き込みデータ保持回路ＷＨＬＤは、データ入力クロック信号ＤＩＣＫ０−３に同期して書き込みデータ信号Ａ０−Ａ３を順次に保持する（図８（ｃ））。ここで、書き込みデータ保持回路ＷＨＬＤは、書き込みデータ信号Ａ０−Ａ３を、バーストアドレス信号ｂＡＤ０−１の値に応じてメモリデータ入力信号ＭＤｉｎ０−３に対応する４つのバッファに保持する。書き込みデータ信号Ａ０−Ａ３を保持するバッファの位置は、データクロック生成回路３２から出力されるデータ出力クロック信号ＤＯＣＫ０−３（図５）により決まる。
【００６７】
図２に示したクロック制御回路２２は４番目のクロックパルスＣＫの立ち下がりエッジに同期して、出力クロック信号ＯＵＴＣＫを出力する（図示せず）。コマンドレジスタ２８およびアドレスレジスタ３０は、受けたコマンド信号ＣＭＤ（Ａ）、アドレス信号ＡＤ（Ａ）をメモリコマンド信号ＭＣＭＤ（Ａ）、メモリアドレス信号ＭＡＤ（Ａ）として出力する（図８（ｄ））。メモリＭＥＭは、５番目のクロックパルスＣＫに対応するメモリクロックパルスＭＣＫに同期して、メモリコマンド信号ＭＣＭＤ（Ａ）、メモリアドレス信号ＭＡＤ（Ａ）および書き込みデータ信号Ａ０−Ａ３を受け、書き込み動作を開始する（図８（ｅ））
２番目以降の書き込みコマンドＷＲ（Ｂ−Ｄ）に伴う書き込み動作も、上述と同様に実行される。但し、書き込みデータ信号Ａ０−Ａ３が伝達されるメモリデータ入力信号線ＭＤｉｎ０−３は、バーストアドレス信号ｂＡＤ０−１の値に応じて変化する。すなわち、バーストアドレス信号ｂＡＤ０−１の値が”３”のとき、書き込みデータ信号Ａ０−Ａ３は、メモリデータ入力信号線ＭＤｉｎ３、０−２にそれぞれ供給される（図８（ｆ））。バーストアドレス信号ｂＡＤ０−１の値が”２”のとき、書き込みデータ信号Ａ０−Ａ３は、メモリデータ入力信号線ＭＤｉｎ２−３、０−１にそれぞれ供給される（図８（ｇ））。
【００６８】
以上、第１の実施形態では、インタフェース変換マクロＩＦＣＶによりシステムインタフェース仕様およびメモリインタフェース仕様を相互に変換することにより、システムインタフェース仕様が異なる場合にも、ＳｏＣ（半導体集積回路）に共通のメモリマクロＭＥＭを搭載できる。したがって、システムＳＹＳを設計する際に、メモリマクロＭＥＭの設計検証時間および評価時間を削減できる。換言すれば、ＳｏＣの設計検証時間、評価時間および試験時間を短縮できる。例えば、試験時間は、メモリマクロＭＥＭの出荷数に応じて市場での信頼性が確保されたときに、試験項目を削減するなどして短縮される。この結果、ＳｏＣの設計期間および設計コストを削減できる。
【００６９】
例えば、相互に変換されるインタフェース仕様として、バースト長ＢＬおよび読み出しレイテンシＲＬがある。バースト長ＢＬおよび読み出しレイテンシＲＬに応じて、クロック制御回路２２の論理を変更することで、インタフェース変換マクロＩＦＣＶにより、データ信号のインタフェース仕様を相互に変換でき、メモリマクロＭＥＭを誤動作することなくアクセスできる。あるいは、相互に変換されるインタフェース仕様として、コマンド信号ＣＭＤがある。コントローラＣＴＲＬ１−２から出力されるコマンド信号ＣＭＤのインタフェース仕様に応じて、コマンドデコーダ２４およびコマンド変換回路２６等の論理を変更することで、インタフェース変換マクロＩＦＣＶにより、メモリマクロＭＥＭを誤動作することなくアクセスできる。
【００７０】
図９は、本発明の第２の実施形態のインタフェース変換マクロＩＦＣＶを示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のインタフェース変換マクロＩＦＣＶは、第１の実施形態のインタフェース変換マクロＩＦＣＶのクロック制御回路２２およびデータクロック生成回路３２の代わりに、クロック制御回路２２Ａおよびデータクロック生成回路３２Ａを有している。インタフェース変換マクロＩＦＣＶを除く構成は、第１の実施形態と同じである。
【００７１】
第２の実施形態のシステムＳＹＳの構成は、第１の実施形態（図１）と同じである。但し、コントローラマクロＣＴＲＬ１またはＣＴＲＬ２は、２ビットのバーストアドレス信号ｂＡＤ０−１の代わりに、１ビットのバーストアドレス信号ｂＡＤと１ビットのデータ選択アドレス信号ＳＤＴを出力する。ＳｏＣに搭載されるメモリマクロＭＥＭは、第１の実施形態と同じである。この実施形態では、インタフェース変換マクロＩＦＣＶにより、第１の実施形態と同じメモリマクロＭＥＭを用いて、バースト長ＢＬ＝２、読み出しレイテンシＲＬ＝５のアクセス動作が実行される。バースト長ＢＬが”２”のため、読み出しコマンドＲＤに応答してインタフェース変換マクロＩＦＣＶからコントローラＣＴＲＬ１またはＣＴＲＬ２に出力されるシリアルの読み出しデータ信号Ｄｉｎの数は、メモリマクロＭＥＭから出力されるパラレルの読み出しデータ信号ＭＤｏｕｔ０−３の数より少ない。
【００７２】
書き込み動作時に、データ選択アドレスＳＤＴは、シリアルの書き込みデータ信号ＩＤＡＴを保持する保持部の位置を示す。換言すれば、書き込み動作時に、４つのメモリデータ入力信号線グループＭＤｉｎ０−３のうちの２つに対応する保持部が、データ選択アドレスＳＤＴにより選択される。そして、２つのシリアルの書き込みデータ信号ＩＤＡＴが、選択された２つのメモリデータ入力信号ＭＤｉｎとしてメモリマクロＭＥＭに出力される。なお、書き込みコマンドＷＲ毎に供給されるデータ入力信号ＩＤＡＴ（シリアルの書き込みデータ信号）の総ビット数（６４ビット）は、書き込みデータ保持回路ＷＨＬＤの保持部の数（１２８個）より少ない。
【００７３】
読み出し動作時に、４つのメモリデータ出力信号線グループＭＤｏｕｔ０−３のうちの２つが、データ選択アドレスＳＤＴにより選択される。そして、選択されたメモリデータ出力信号ＭＤｏｕｔが、２つのシリアルの読み出しデータ信号ＯＤＡＴとして出力される。
【００７４】
バーストアドレスバッファ／ラッチ１６は、バーストアドレス信号ｂＡＤおよびデータ選択アドレス信号ＳＤＴを受け、開始アドレスＳＡＤおよびデータ選択アドレスＳＤとして出力する。クロック制御回路２２Ａは、図４に示したように、ＢＬ＝２、ＲＬ＝５に対応するメモリクロック信号ＭＣＫ、出力クロック信号ＯＵＴＣＫ、読み出しクロック信号ＲＣＫおよび書き込みクロック信号ＷＣＫを生成する。
【００７５】
データクロック生成回路３２Ａは、読み出しクロック信号ＲＣＫに同期してデータ出力クロック信号ＤＯＣＫ０−３のうち連続する２つを生成し、書き込みクロックＷＣＫに同期してデータ入力クロック信号ＤＩＣＫ０−３のうち連続する２つを生成する。データ出力クロック信号ＤＯＣＫ０−３の生成順およびデータ入力クロック信号ＤＩＣＫ０−３の生成順は、１ビットの開始アドレスＳＡＤの値および１ビットのデータ選択アドレス信号ＳＤＴの値に応じて設定される。また、データクロック生成回路３２Ａは、書き込み動作時に、データ入力信号ＭＤｉｎ０−１、２−３のうち書き込みデータが供給されない一方のペアをマスクするために、データ選択アドレスＳＤに応じてデータマスク信号ＭＤＭ０−１またはＭＤＭ２−３のいずれかを出力する。
【００７６】
換言すれば、読み出し動作時に、データクロック生成回路３２Ａは、パラレルの読み出しデータ信号ＭＤｏｕｔ０−３のうち、コントローラＣＴＲＬ１またはＣＴＲＬ２が必要とする読み出しデータ信号ＭＤｏｕｔ０−１またはＭＤｏｕｔ２−３を、データ選択アドレス信号ＳＤＴに応じて選択し、選択した読み出しデータ信号ＭＤｏｕｔに対応するデータ出力クロック信号ＤＯＣＫを、バーストアドレス信号ｂＡＤに応じて順次に生成し、生成したデータ出力クロック信号ＤＯＣＫをパラレル／シリアル変換回路３６に出力する。
【００７７】
また、書き込み動作時に、データクロック生成回路３２Ａは、書き込みデータ保持回路ＷＨＬＤの保持部を示すデータ選択アドレスＳＤＴに応じて、４つのメモリデータ入力信号線グループＭＤｉｎ０−３の２つに対応する保持部を選択し、選択した保持部に対応するデータ入力クロック信号ＤＩＣＫを、バーストアドレス信号ｂＡＤに応じて順次に生成し、生成したデータ入力クロック信号ＤＩＣＫをシリアル／パラレル変換回路３４に出力するとともに、選択しない保持部に対応するデータマスク信号ＭＤＭ０−１またはＭＤＭ２−３をメモリマクロＭＥＭに出力する。なお、この実施形態では、図６に示したメモリマクロＭＥＭのデータマスク端子ＭＤＭ０−３は、インタフェース変換マクロＩＦＣＶのデータマスク端子ＭＤＭ０−３に接続されている。
【００７８】
図１０は、第２の実施形態の読み出し動作を示している。第１の実施形態（図７）と同じ動作については、詳細な説明は省略する。この例では、２クロックサイクル毎に読み出しコマンドＲＤが供給される。インタフェース変換マクロＩＦＣＶは、読み出しコマンドＲＤを受けた次のクロックパルスＣＫの立ち下がりエッジに同期してコマンド信号ＣＭＤ（Ａ）およびアドレス信号ＡＤ（Ａ）をメモリＭＥＭに出力する（図１０（ａ））。メモリＭＥＭは、例えば、３番目のクロックパルスＣＫに対応するメモリクロックパルスＭＣＫに同期して、メモリコマンド信号ＭＣＭＤ（Ａ）およびメモリアドレス信号ＭＡＤ（Ａ）を受け、読み出し動作を開始する（図１０（ｂ））。
【００７９】
メモリＭＥＭは、メモリコマンド信号ＭＣＭＤ（Ａ）を受けた次のクロックパルスＣＫの立ち下がりエッジに対応する時刻（例えば、ＣＫ４の立ち下がりエッジ）にメモリデータ出力信号ＭＤｏｕｔ０−３（読み出しデータＡ０−Ａ３）を出力する（図１０（ｃ））。
【００８０】
特に図示していないが、データクロック生成回路３２Ａは、５番目および６番目のクロックパルスＣＫに同期してデータ出力クロック信号ＤＯＣＫ０−１を順次に出力する。出力されるデータ出力クロック信号ＤＯＣＫは、開始アドレスＳＡＤおよびデータ選択アドレスＳＤＴに応じて決められる。データ選択アドレス信号ＳＤＴが”０”であるため、上位のデータグループであるデータ出力信号ＭＤｏｕｔ０−１が選択される。そして、読み出しデータ信号Ａ０−Ａ１が、データ端子Ｄｏｕｔから順次に出力される（図１０（ｄ））。図１に示したコントローラＣＴＲＬ１またはＣＴＲＬ２は、６番目から７番目のクロックパルスＣＫに同期して読み出しデータ信号Ａ０−Ａ１を受ける。すなわち、この実施形態の読み出しレイテンシＲＬは、”５”である。
【００８１】
２番目以降の読み出しコマンドＲＤ（Ｂ−Ｄ）に伴う読み出し動作も、上述と同様に実行される。但し、データ出力端子Ｄｏｕｔから出力されるデータ出力信号ＭＤｏｕｔのペアおよび選択されたデータ出力信号ＭＤｏｕｔの出力順は、データ選択アドレス信号ＳＤＴの値およびバーストアドレス信号ｂＡＤの値に応じて変化する。すなわち、データ選択アドレス信号ＳＤＴが”１”のとき、データ出力信号ＭＤｏｕｔ２−３が出力される。データ出力信号ＭＤｏｕｔ０−１または２−３は、バーストアドレス信号ｂＡＤの値が偶数（＝０）のときに、偶数のデータ出力信号ＭＤｏｕｔが先に出力され、バーストアドレス信号ｂＡＤの値が奇数（＝１）のときに、奇数のデータ出力信号ＭＤｏｕｔが先に出力される。
【００８２】
図１１は、第２の実施形態の書き込み動作を示している。第１の実施形態（図８）と同じ動作については、詳細な説明は省略する。この例では、２クロックサイクル毎に書き込みコマンドＷＲが供給される。インタフェース変換マクロＩＦＣＶは、書き込みコマンドＷＲを受けた次のクロックパルスＣＫ２の立ち下がりエッジに同期してコマンド信号ＣＭＤ（Ａ）およびアドレス信号ＡＤ（Ａ）をメモリＭＥＭに出力する（図１１（ａ））。メモリＭＥＭは、例えば、３番目のクロックパルスＣＫに対応するメモリクロックパルスＭＣＫに同期して、メモリコマンド信号ＭＣＭＤ（Ａ）、メモリアドレス信号ＭＡＤ（Ａ）および書き込みデータ信号（この例ではＡ０−１）を受け、書き込み動作を開始する（図１１（ｂ））。
【００８３】
例えば、最初の書き込みコマンドＷＲ（Ａ）に対応する書き込み動作では、バーストアドレス信号ｂＡＤの値が”０”のため、最初に供給された書き込みデータ信号Ａ０は、データ入力信号ＭＤｉｎ０としてメモリＭＥＭに供給される。次に供給された書き込みデータ信号Ａ１は、データ入力信号ＭＤｉｎ１としてメモリＭＥＭに供給される（図１１（ｃ））。また、データ選択アドレスＳＤＴの値が”０”のため、データマスク信号ＭＤＭ０、１、２、３の値は、Ｌ、Ｌ、Ｈ、Ｈ（すなわち、１６進数で”＄Ｃ”）に設定される。メモリＭＥＭは、データマスク信号ＭＤＭ０−３に応じて、データ入力信号ＭＤｉｎ２−３の伝達をマスクし（ＤＭ）、データ入力信号ＭＤｉｎ０−１のみをメモリコア６４に書き込む（図１１（ｄ））。
【００８４】
２番目以降の書き込みコマンドＷＲ（Ｂ−Ｄ）に伴う書き込み動作も、上述と同様に実行される。但し、データ選択アドレスＳＤＴの値が”１”のとき、データマスク信号ＭＤＭ０−３の値は、１６進数で”＄３”に設定される。このとき、データ入力信号ＭＤｉｎ０−１がマスクされ（ＤＭ）、データ入力信号ＭＤｉｎ２−３のみがメモリコア６４に書き込まれる。バーストアドレス信号ｂＡＤの値が偶数（＝０）のときに、先に受けたデータ入力信号Ｄｉｎが偶数のデータ入力端子ＭＤｏｕｔに伝達され、バーストアドレス信号ｂＡＤの値が奇数（＝１）のときに、先に受けたデータ入力信号Ｄｉｎが奇数のデータ入力端子ＭＤｏｕｔに伝達される。
【００８５】
以上、第２の実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。さらに、この実施形態では、コントローラＣＴＲＬ１−２で使用する書き込みデータ信号Ｄｉｎのビット数が、メモリマクロＭＥＭに供給される書き込みデータ信号ＭＤｉｎ０−３のビット数より少ない場合にも、インタフェース変換マクロＩＦＣＶにより、メモリマクロＭＥＭの書き込み動作を正常に実行できる。この際、シリアルの書き込みデータ信号Ｄｉｎは、バーストアドレス信号ｂＡＤに応じて、メモリマクロＭＥＭの任意の書き込みデータ信号線ＭＤｉｎに出力可能である。あるいは、データ選択アドレスＳＤＴに応じて、必要な書き込みデータ信号ＭＤｉｎのみをメモリマクロＭＥＭに書き込み、他の書き込みデータ信号のメモリマクロへの書き込みをマスクできる。すなわち、メモリマクロＭＥＭを誤動作することなくアクセスできる。
【００８６】
同様に、コントローラＣＴＲＬ１−２で使用する読み出しデータ信号Ｄｏｕｔのビット数が、メモリマクロＭＥＭから出力される読み出しデータ信号ＭＤｏｕｔのビット数より少ない場合にも、インタフェース変換マクロＩＦＣＶにより、メモリマクロＭＥＭの読み出し動作を正常に実行できる。この際、メモリマクロＭＥＭから出力されるパラレルの読み出しデータ信号ＭＤｏｕｔ０−３は、バーストアドレス信号ｂＡＤに応じて、任意の順序でコントローラＣＴＲＬ１またはＣＴＲＬ２に出力可能である。あるいは、データ選択アドレスＳＤＴに応じて、メモリマクロＭＥＭから出力されるパラレルの読み出しデータ信号ＭＤｏｕｔ０−３うち、任意の読み出しデータ信号のみを読み出しできる。すなわち、メモリマクロを誤動作することなくアクセスできる。
【００８７】
このように、システムインタフェース仕様が異なる場合にも、複数のシステムＳＹＳに共通に使用されるメモリマクロＭＥＭの誤動作を、インタフェース変換マクロＩＦＣＶにより防止できる。
【００８８】
図１２は、本発明の第３の実施形態のインタフェース変換マクロＩＦＣＶを示している。第１および第２の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のインタフェース変換マクロＩＦＣＶは、第１の実施形態のインタフェース変換マクロＩＦＣＶのクロック制御回路２２およびデータクロック生成回路３２の代わりに、クロック制御回路２２Ｂおよびデータクロック生成回路３２Ｂを有している。インタフェース変換マクロＩＦＣＶを除く構成は、第１の実施形態と同じである。
【００８９】
第３の実施形態のシステムＳＹＳの構成は、第１の実施形態（図１）と同じである。但し、コントローラマクロＣＴＲＬ１またはＣＴＲＬ２は、バーストアドレス信号ｂＡＤ０−１の代わりに、データ選択アドレス信号ＳＤＴ０−１を出力する。ＳｏＣに搭載されるメモリマクロＭＥＭは、第１の実施形態と同じである。この実施形態では、インタフェース変換マクロＩＦＣＶにより、第１の実施形態と同じメモリマクロＭＥＭを用いて、バースト長ＢＬ＝１、読み出しレイテンシＲＬ＝４のアクセス動作が実行される。
【００９０】
バーストアドレスバッファ／ラッチ１６は、データ選択アドレス信号ＳＤＴ０−１を受け、データ選択アドレスＳＤ０−１として出力する。クロック制御回路２２Ｂは、図４に示したように、ＢＬ＝１、ＲＬ＝４に対応するメモリクロック信号ＭＣＫ、出力クロック信号ＯＵＴＣＫ、読み出しクロック信号ＲＣＫおよび書き込みクロック信号ＷＣＫを生成する。
【００９１】
データクロック生成回路３２Ｂは、読み出し動作時に、データ選択アドレスＳＤ０−１に応じてデータ出力クロック信号ＤＯＣＫ０−３のいずれかを生成し、書き込み動作時に、データ選択アドレスＳＤ０−１に応じてデータ入力クロック信号ＤＩＣＫ０−３のいずれかを生成する。データ出力クロック信号ＤＯＣＫ０−３は、読み出しクロック信号ＲＣＫに同期して生成され、データ入力クロック信号ＤＩＣＫ０−３は、書き込みクロックＷＣＫに同期して生成される。また、データクロック生成回路３２Ｂは、書き込み動作時に、データ入力信号ＭＤｉｎ０−３のいずれかのみを供給するために、データ選択アドレスＳＤ０−２に応じてデータマスク信号ＭＤＭ０−３を出力する。
【００９２】
このように、本実施形態では、読み出し動作時に、データクロック生成回路３２Ａは、パラレルの読み出しデータ信号ＭＤｏｕｔ０−３のうちコントローラＣＴＲＬ１またはＣＴＲＬ２が必要とする読み出しデータ信号ＭＤｏｕｔ０−３のいずれかを、データ選択アドレス信号ＳＤＴに応じて選択し、選択した読み出しデータ信号ＭＤｏｕｔに対応するデータ出力クロック信号ＤＯＣＫを生成し、生成したデータ出力クロック信号ＤＯＣＫをパラレル／シリアル変換回路３６に出力する。
【００９３】
また、書き込み動作時に、データクロック生成回路３２Ａは、書き込みデータ保持回路ＷＨＬＤの保持部を示すデータ選択アドレスＳＤＴに応じて、４つのメモリデータ入力信号線グループＭＤｉｎ０−３のいずれかに対応する保持部を選択し、選択した保持部に対応するデータ入力クロック信号ＤＩＣＫを生成し、生成したデータ入力クロック信号ＤＩＣＫをシリアル／パラレル変換回路３４に出力するとともに、選択しない保持部に対応するデータマスク信号ＭＤＭ０−３をメモリマクロＭＥＭに出力する。なお、この実施形態では、図６に示したメモリマクロＭＥＭのデータマスク端子ＭＤＭ０−３は、インタフェース変換マクロＩＦＣＶのデータマスク端子ＭＤＭ０−３に接続されている。
【００９４】
図１３は、第３の実施形態の読み出し動作を示している。第１および第２の実施形態（図７、図１０）と同じ動作については、詳細な説明は省略する。この例では、クロックサイクル毎に読み出しコマンドＲＤが供給される。インタフェース変換マクロＩＦＣＶは、読み出しコマンドＲＤを受けたクロックパルスＣＫの立ち下がりエッジに同期してコマンド信号ＣＭＤ（Ａ）およびアドレス信号ＡＤ（Ａ）をメモリＭＥＭに出力する（図１３（ａ））。メモリＭＥＭは、例えば、２番目のクロックパルスＣＫに対応するメモリクロックパルスＭＣＫに同期して、メモリコマンド信号ＭＣＭＤ（Ａ）およびメモリアドレス信号ＭＡＤ（Ａ）を受け、読み出し動作を開始する（図１３（ｂ））。
【００９５】
メモリＭＥＭは、メモリコマンド信号ＭＣＭＤ（Ａ）を受けた次のクロックパルスＣＫの立ち下がりエッジに対応する時刻（例えば、ＣＫ３の立ち下がりエッジ）にメモリデータ出力信号ＭＤｏｕｔ０−３（読み出しデータＡ０−Ａ３）を出力する（図１３（ｃ））。
【００９６】
特に図示していないが、データクロック生成回路３２Ｂは、４番目のクロックパルスＣＫに同期してデータ出力クロック信号ＤＯＣＫ０−３のいずれかを出力する。出力されるデータ出力クロック信号ＤＯＣＫの番号は、データ選択アドレスＳＤＴ０−１の値と同じである。そして、読み出しデータ信号Ａ０が、４番目のクロックパルスデータＣＫに同期してデータ出力端子Ｄｏｕｔから出力される（図１３（ｄ））。図１に示したコントローラＣＴＲＬ１またはＣＴＲＬ２は、５番目のクロックパルスＣＫに同期して読み出しデータ信号Ａ０を受ける。すなわち、この実施形態の読み出しレイテンシＲＬは、”４”である。２番目以降の読み出しコマンドＲＤ（Ｂ−Ｄ）に伴う読み出し動作も、上述と同様に実行される。
【００９７】
図１４は、第３の実施形態の書き込み動作を示している。第１および第２の実施形態（図８、図１１）と同じ動作については、詳細な説明は省略する。この例では、クロックサイクル毎に書き込みコマンドＷＲが供給される。インタフェース変換マクロＩＦＣＶは、書き込みコマンドＷＲを受けたクロックパルスＣＫの立ち下がりエッジに同期してコマンド信号ＣＭＤ（Ａ）およびアドレス信号ＡＤ（Ａ）をメモリＭＥＭに出力する（図１４（ａ））。メモリＭＥＭは、例えば、２番目のクロックパルスＣＫに対応するメモリクロックパルスＭＣＫに同期して、メモリコマンド信号ＭＣＭＤ（Ａ）、メモリアドレス信号ＭＡＤ（Ａ）および書き込みデータ信号（この例ではＡ０）を受け、書き込み動作を開始する（図１４（ｂ））。
【００９８】
例えば、最初の書き込みコマンドＷＲ（Ａ）に対応する書き込み動作では、データ選択アドレスＳＤＴの値が”０”のため、最初に供給された書き込みデータ信号Ａ０は、データ入力信号ＭＤｉｎ０としてメモリＭＥＭに供給される（図１４（ｃ））。次の書き込みコマンドＷＲ（Ｂ）に対応する書き込み動作では、データ選択アドレスＳＤＴの値が”１”のため、書き込みデータ信号Ｂ１が、データ入力信号ＭＤｉｎ１としてメモリＭＥＭに供給される（図１４（ｄ））。次の書き込みコマンドＷＲ（Ｃ）に対応する書き込み動作では、データ選択アドレスＳＤＴの値が”３”のため、書き込みデータ信号Ｃ３が、データ入力信号ＭＤｉｎ３としてメモリＭＥＭに供給される（図１４（ｅ））。次の書き込みコマンドＷＲ（Ｄ）に対応する書き込み動作では、データ選択アドレスＳＤＴの値が”２”のため、書き込みデータ信号Ｄ２が、データ入力信号ＭＤｉｎ２としてメモリＭＥＭに供給される（図１４（ｆ））。なお、データクロック生成回路３２Ｂは、第２の実施形態と同様に、データ選択アドレスＳＤＴ０１−に応じて、選択しない保持部に対応するデータマスク信号ＭＤＭ０−３のいずれか３つをメモリマクロＭＥＭに出力する。以上、第３の実施形態においても、上述した第１および第２の実施形態と同様の効果を得ることができる。
【００９９】
図１５は、本発明の第４の実施形態のインタフェース変換マクロＩＦＣＶを示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のインタフェース変換マクロＩＦＣＶは、第１の実施形態のインタフェース変換マクロＩＦＣＶのクロック制御回路２２およびパラレル／シリアル変換回路３６の代わりに、クロック制御回路２２Ｃおよびパラレル／シリアル変換回路３６Ｃを有している。インタフェース変換マクロＩＦＣＶを除く構成は、第１の実施形態と同じである。
【０１００】
第４の実施形態のシステムＳＹＳの構成は、第１の実施形態（図１）と同じである。但し、コントローラマクロＣＴＲＬ１またはＣＴＲＬ２は、バースト長ＢＬ＝４、読み出しレイテンシＲＬ＝９でアクセス動作を実行する。クロック制御回路２２Ｃは、読み出しレイテンシＲＬ＝９を実現するために、読み出しクロック信号ＲＣＫの出力タイミングを第１の実施形態に比べて２クロックサイクルだけ遅らせる。パラレル／シリアル変換回路３６Ｃは、読み出しレイテンシＲＬ＝９を実現するために、メモリＭＥＭから読み出されるメモリ出力データ信号ＭＤｏｕｔ０−３を一時的に保持する読み出しデータ保持回路ＲＨＬＤを有している。
【０１０１】
図１６は、第４の実施形態の読み出し動作を示している。第１の実施形態（図７）と同じ動作については、詳細な説明は省略する。メモリＭＥＭからデータ出力信号ＭＤｏｕｔ０−３（読み出しデータ）が出力されるまでのタイミングは、図７と同じである。インタフェース変換マクロＩＦＣＶは、読み出しコマンドＲＤが供給された後、８番目のクロックパルス（例えば、ＣＫ９）に同期して、データ出力信号ＭＤｏｕｔ０−３を読み出しデータ保持回路ＲＨＬＤに保持する（図１６（ａ））。そして、読み出しデータ信号Ａ０−Ａ３は、９番目から１２番目のクロックパルスＣＫに同期してデータ端子Ｄｏｕｔから順次に出力される（図１６（ｂ））。図１に示したコントローラＣＴＲＬ１またはＣＴＲＬ２は、１０番目から１３番目のクロックパルスＣＫに同期して読み出しデータ信号Ａ０−Ａ３を順次に受ける。すなわち、この実施形態の読み出しレイテンシＲＬは、”９”である。
【０１０２】
なお、書き込み動作は、第１の実施形態（図８）と同じである。以上、第４の実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。
【０１０３】
図１７は、本発明の第５の実施形態のインタフェース変換マクロＩＦＣＶを示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のインタフェース変換マクロＩＦＣＶは、第１の実施形態のインタフェース変換マクロＩＦＣＶのバーストアドレスバッファ／ラッチ１６、クロック制御回路２２、コマンドデコーダ２４、アドレスレジスタ３０およびパラレル／シリアル変換回路３６の代わりに、バーストアドレスバッファ／ラッチ１６Ｄ、クロック制御回路２２Ｄ、コマンドデコーダ２４Ｄ、アドレスレジスタ３０Dおよびパラレル／シリアル変換回路３６Ｄを有している。また、インタフェース変換マクロＩＦＣＶは、メモリデータ入力信号ＭＤｉｎをパラレル／シリアル変換回路３６Ｄに転送するためのスイッチＳＷを有している。インタフェース変換マクロＩＦＣＶを除く構成は、第１の実施形態と同じである。
【０１０４】
この実施形態では、インタフェース変換マクロＩＦＣＶは、レイトライト機能を内蔵している。レイトライト機能は、書き込みコマンドＷＲに対応して供給される書き込みデータを次の書き込みコマンドＷＲの供給時にメモリマクロＭＥＭのメモリセルＭＣに書き込む機能である。レイトライト機能は、インタフェース変換マクロＩＦＣＶの内部機能である。このため、メモリマクロＭＥＭをアクセスするコントローラＣＴＲＬ１またはＣＴＲＬ２は、レイトライト機能を認識しない。しかし、レイトライト機能により、システムインタフェース仕様を改善できる。具体的には、レイトライト機能により、書き込みコマンドＷＲを受けてから書き込み動作を開始するまでの時間を短くできる。特に、バースト書き込み動作において、最後に供給される書き込みデータ信号を待つことなく書き込み動作を開始できる。また、インタフェース変換マクロＩＦＣＶが、読み出し動作と書き込み動作で共通のメモリクロック信号ＭＣＫおよび出力クロック信号ＯＵＴＣＫを生成する場合に、読み出しレイテインシＲＬ（クロック数）を少なくできる。この結果、メモリバスＭＢＵＳの使用効率を向上できる。
【０１０５】
レイトライト機能を実現するために、バーストアドレスバッファ／ラッチ１６Ｄのラッチ回路は、書き込みコマンドＷＲとともに供給されるバーストアドレス信号ｂＡＤ０−１を、次の書き込みコマンドＷＲが供給されるまで保持する機能を有する。シリアル／パラレル変換回路３４Ｄの書き込みデータ保持回路ＷＨＬＤは、書き込みデータ信号Ｄｉｎを次の書き込みコマンドＷＲが供給されるまで保持する機能を有する。
【０１０６】
アドレスレジスタ３０Ｄは、アドレスＡＤを保持する図示しないレジスタに加えて、書き込みアドレス保持部ＷＲＡ、セレクタＳＥＬおよび比較器ＣＭＰを有している。書き込みアドレス保持部ＷＲＡは、書き込みコマンドＷＲとともに供給されるアドレス信号ＡＤを、次の書き込みコマンドＷＲが供給されるまで保持する機能を有する。セレクタＳＥＬは、読み出しコマンドＲＤおよびリフレッシュコマンドＲＥＦが供給されるときに、アドレスバッファ／ラッチ１４からのアドレス信号ＡＤをメモリアドレス信号ＭＡＤとして出力する。セレクタＳＥＬは、書き込みコマンドＷＲが供給されるときに、書き込みアドレス保持部ＷＲＡに保持されたアドレス信号ＡＤをメモリアドレス信号ＭＡＤとして出力する。読み出しコマンドＲＤ、書き込みコマンドＷＲおよびリフレッシュコマンドＲＥＦを示す信号は、コマンドデコーダ２４Ｄにより生成される。比較器ＣＭＰは、読み出しコマンドＲＤとともに供給されるアドレス信号ＡＤが書き込みアドレス保持部ＷＲＡに保持されたアドレス信号ＡＤと一致するときに、一致信号ＣＯＩＮを出力する。
【０１０７】
スイッチ回路ＳＷは、一致信号ＣＯＩＮに応答してオンし、メモリデータ入力信号ＭＤｉｎ０−３をパラレル／シリアル変換回路３６Ｄに転送する。パラレル／シリアル変換回路３６Ｄは、一致信号ＣＯＩＮが出力されないときに、メモリデータ出力信号ＭＤｏｕｔ０−３をデータ出力信号ＯＤＡＴとして順次に出力する。パラレル／シリアル変換回路３６Ｄは、一致信号ＣＯＩＮが出力されたときに、メモリデータ入力信号ＭＤｉｎ０−３をデータ出力信号ＯＤＡＴとして順次に出力する。
【０１０８】
図１８は、第５の実施形態の読み出し動作を示している。第１の実施形態（図７）と同じ動作については、詳細な説明は省略する。この例では、出力クロック信号ＯＵＴＣＫは、読み出しコマンドＲＤを受けたクロック信号ＣＫの立ち下がりエッジに同期して出力される。メモリコマンド信号ＭＣＭＤおよびメモリアドレス信号ＭＡＤは、出力クロック信号ＯＵＴＣＫに同期してメモリＭＥＭに出力される（図１８（ａ））。メモリクロック信号ＭＣＫは、例えば、読み出しコマンドＲＤを受けたクロックパルスＣＫの次のクロックパルスＣＫに同期して生成される（図１８（ｂ））。メモリクロックＭＣＫが出力された後の動作は、図７と同じである。
【０１０９】
コマンド信号ＣＭＤに対する出力クロック信号ＯＵＴＣＫおよびメモリクロック信号ＭＣＫの生成タイミングは、図１９に示す書き込み動作と同じである。このため、クロック制御回路２２Ｄの一部を書き込み動作と読み出し動作とで共通にでき、インタフェース変換マクロＩＦＣＶの回路規模を削減できる。この実施形態では、コマンド信号ＭＣＭＤ等をメモリＭＥＭに出力するためのメモリクロック信号ＭＣＫの出力タイミングを早くできるため、読み出しレイテインシＲＬを”４”に設定できる。
【０１１０】
なお、レイトライト動作では、直前の書き込みコマンドＷＲとともに供給された書き込みデータ信号Ｄｉｎは、メモリセルＭＣに書き込まれていない。このため、読み出しコマンドＲＤとともに供給されるアドレス信号ＡＤ（Ｂ）が、直前の書き込みコマンドＷＲとともに供給されたアドレス信号ＡＤ（Ｚ）と同じ場合、一致信号ＣＯＩＮが出力され（図１８（ｃ））、シリアル／パラレル変換回路３４の書き込みデータ保持回路ＷＨＬＤに保持されているデータ信号Ｚ０−３が、データ出力信号Ｄｏｕｔとして出力される（図１８（ｄ））。
【０１１１】
図１９は、第５の実施形態の書き込み動作を示している。第１の実施形態（図８）と同じ動作については、詳細な説明は省略する。この例では、シリアル／パラレル変換回路３４の書き込みデータ保持回路ＷＨＬＤは、前回の書き込みコマンドＷＲとともに供給された書き込みデータ信号（例えば、Ｚ０−３）と、今回の書き込みコマンドＷＲとともに供給された書き込みデータ信号（例えば、Ａ０−３）とを保持する（図１９（ａ））。アドレスレジスタ３０Ｄの書き込みアドレス保持部ＷＲＡは、前回の書き込みコマンドＷＲとともに供給されたアドレス信号（例えば、Ｚ）と、今回の書き込みコマンドＷＲとともに供給されたアドレス信号（例えば、Ａ）を保持する（図１９（ｂ））。
【０１１２】
インタフェース変換マクロＩＦＣＶは、書き込みコマンドＷＲに応答して、前回の書き込みコマンドＷＲとともに供給されたアドレス信号Ｚおよび書き込みデータ信号Ｚ０−３を、メモリアドレス信号ＡＤおよびメモリデータ入力信号ＭＤｉｎとしてメモリマクロＭＥＭに出力する（図１９（ｃ、ｄ））。そして、レイトライト動作が実行される。なお、レイトライト機能は、インタフェース変換マクロＩＦＣＶにより実現され、メモリマクロＭＥＭは、レイトライト機能を内蔵していない。このため、システムＳＹＳがレイトライト機能を搭載する場合にも、レイトライト機能を持たない共通のメモリマクロＭＥＭを使用できる。
【０１１３】
以上、第５の実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。さらに、この実施形態では、インタフェース変換マクロＩＦＣＶにレイトライト機能を搭載することにより、読み出しレイテインシＲＬを少なくできる。また、書き込みコマンドＷＲを受けてから書き込み動作を開始するまでの時間を短くできる。この結果、共通のメモリマクロＭＥＭを使用する場合にも、メモリバスＭＢＵＳの使用効率を向上できる。
【０１１４】
図２０は、本発明の第６の実施形態を示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、ＳｏＣは、メモリマクロＭＥＭの動作テストを実行するためのテスト回路ＢＩＳＴと、テスト用のシフトレジスタＳＦＴＲ、入力選択回路ＩＳＥＬおよび出力選択回路ＯＳＥＬを有している。テスト回路ＢＩＳＴは、入力選択回路ＩＳＥＬおよび出力選択回路ＯＳＥＬを介してメモリマクロＭＥＭに直接接続されている。テスト回路ＢＩＳＴは、メモリマクロＭＥＭの動作テストの結果ＴＲＳＬＴをメモリバスＭＢＵＳに出力する。ＳｏＣは、テストクロックＴＣＫを受けるテストクロック端子を有している。テスト回路ＢＩＳＴおよび制御回路ＩＳＥＬ、ＯＳＥＬ、ＳＦＴＲを除くＳｏＣの構成は、第１の実施形態と同じである。システムＳＹＳの構成は、ＳｏＣのテスト機能を除き、第１の実施形態と同じである。すなわち、システムＳＹＳは、例えば、携帯電話等の携帯機器である。
【０１１５】
テスト回路ＢＩＳＴは、いわゆるビルトインセルフテスト回路であり、テストモード中に、テストパターンをメモリＭＥＭに出力し、メモリＭＥＭから読み出されるデータ出力信号をテストデータ出力信号ＴＤｏｕｔとして受ける。テスト回路ＢＩＳＴは、テストデータ出力信号ＴＤｏｕｔを期待値と比較し、メモリマクロＭＥＭの良否を判定し、判定結果をテスト結果信号ＴＲＳＬＴを出力する。テストパターンは、メモリインタフェース仕様に従ったテストクロック信号ＣＬＫ、テストコマンド信号ＴＣＭＤ、テストアドレス信号ＴＡＤおよびテストデータ入力信号ＴＤｉｎとしてメモリＭＥＭに供給される。
【０１１６】
シフトレジスタＳＦＴＲは、テストモード中に受けるテストクロック信号ＣＬＫのパルス数に応じて、ＳｏＣ内の機能ブロックのテストを実施するテスト信号ＴＥＳＴ１、２、...、ｎのいずれかを出力する。テスト信号ＴＥＳＴ１が出力されたとき、テスト回路ＢＩＳＴによるメモリＭＥＭのテストが実施される。
【０１１７】
入力選択回路ＩＳＥＬは、通常動作モード中にインタフェース変換マクロＩＦＣＶからの信号ＭＣＫ、ＭＣＭＤ、ＭＡＤ、ＭＤｉｎをメモリＭＥＭに出力し、テストモード中に、テスト信号ＴＥＳＴ１が出力されたときに、テスト回路ＢＩＳＴからの信号ＴＣＫ、ＴＣＭＤ、ＴＡＤ、ＴＤｉｎをメモリＭＥＭに出力する。出力選択回路ＯＳＥＬは、通常動作モード中にメモリＭＥＭからのデータ出力信号をメモリデータ出力信号ＭＤｏｕｔとしてインタフェース変換マクロＩＦＣＶに出力し、テストモード中に、テスト信号ＴＥＳＴ１が出力されたときに、メモリＭＥＭからのデータ出力信号をテストデータ出力信号ＴＤｏｕｔとしてテスト回路ＢＩＳＴに出力する。すなわち、入力選択回路ＩＳＥＬおよび出力選択回路ＯＳＥＬは、テストモード中にテスト回路ＢＩＳＴをメモリマクロＭＥＭに接続し、通常動作モード中にインタフェース変換マクロＩＦＣＶをメモリマクロＭＥＭに接続するセレクタとして動作する。
【０１１８】
この実施形態では、テスト回路ＢＩＳＴによる動作テストの結果ＴＲＳＬＴは、外部端子を介してＳｏＣの外部に出力される。あるいは、動作テストの結果ＴＲＳＬＴは、コントローラＣＴＲＬ１−２の少なくともいずれかに保持された後、ＳｏＣの外部に出力される。これにより、複数のＳｏＣチップで構成される半導体ウエハが製造された後に、メモリマクロＭＥＭの動作テストを実施できる。あるいは、ＳｏＣがパッケージングされた後に、メモリマクロＭＥＭの動作テストを実施できる。
【０１１９】
さらに、この実施形態では、コントローラＣＴＲＬ１−２のシステムインタフェース仕様に関わりなく、共通のメモリマクロＭＥＭが使用される。換言すれば、メモリマクロＭＥＭをアクセスするための複数種のシステムインタフェース仕様は、インタフェース変換マクロＩＦＣＶによりメモリマクロＭＥＭをアクセスするための共通のメモリインタフェース仕様に変換される。ＳｏＣに搭載されるメモリマクロＭＥＭの動作仕様（インタフェース仕様）をシステムＳＹＳによらず同一にできるため、テスト回路ＢＩＳＴをシステムＳＹＳのシステムインタフェース仕様によらず共通にできる。
【０１２０】
以上、第６の実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。さらに、この実施形態では、インタフェース変換マクロＩＦＣＶをＳｏＣに搭載することで、システム仕様に依存しないメモリマクロＭＥＭを使用できるため、システム仕様に依存しない共通のテスト回路ＢＩＳＴを使用できる。したがって、システムＳＹＳを設計する際に、メモリマクロＭＥＭのテスト設計の時間を削減できる。この結果、ＳｏＣ（半導体集積回路）の設計期間および設計コストを削減できる。
【０１２１】
なお、上述した実施形態では、本発明をＤＲＡＭのメモリマクロＭＥＭを搭載するＳｏＣに適用する例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明を、擬似ＳＲＡＭ、ＳＲＡＭ、フラッシュメモリ、あるいは強誘電体メモリのメモリマクロを搭載するＳｏＣに適用してもよい。
【０１２２】
上述した第３の実施形態では、バースト長ＢＬ＝１に対応する例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、コントローラＣＴＲＬ１またはＣＴＲＬ２が、図３に示したメモリコマンド信号ＭＣＭＤを出力する場合、メモリマクロＭＥＭは、メモリバスＭＢＵＳに直接に接続可能である。この場合、図１３おいて、例えば、読み出しコマンドＭＣＭＤ（Ａ）がクロックパルスＣＫ２に同期してメモリＭＥＭに供給され、コントローラＣＴＲＬ１またはＣＴＲＬ２は、クロックパルスＣＫ５に同期して最初の読み出しデータ信号Ａ０を受けることができる。したがって、読み出しレイテインシＲＬを”３”にできる。
【０１２３】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
メモリセルアレイと、前記メモリセルアレイをアクセスするために、メモリインタフェース仕様に従った信号を入出力するメモリインタフェース部とを有するメモリマクロと、
コントローラから出力されるシステムインタフェース仕様に従った信号を、メモリインタフェース仕様に従った信号に変換し、前記メモリインタフェース部に出力するとともに、前記メモリインタフェース部から出力される信号を、システムインタフェース仕様に従った信号に変換し、前記コントローラに出力するインタフェース変換マクロとを備えていることを特徴とする半導体集積回路。
（付記２）
付記１記載の半導体集積回路において、
前記インタフェース変換マクロは、
前記コントローラから出力されるコマンド信号を解読するコマンドデコーダと、
メモリインタフェース仕様に従ったクロックパルスを、前記コマンドデコーダの解読結果に応じて生成するクロック制御回路と、
前記コントローラから出力される書き込みデータ信号を保持するラッチと、
前記ラッチに保持された書き込みデータ信号を、前記クロックパルスに同期して保持し、保持した書き込みデータ信号を前記メモリマクロに出力する書き込みデータ変換回路と、
前記メモリマクロから出力される読み出しデータ信号を前記クロックパルスに同期して前記コントローラに出力する読み出しデータ変換回路とを備えていることを特徴とする半導体集積回路。
（付記３）
付記２記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドおよび書き込みコマンドの少なくともいずれかを含み、
システムインタフェース仕様は、１回の読み出しコマンドに応答して出力される読み出しデータ信号の回数または１回の書き込みコマンドに応答して入力される書き込みデータ信号の回数を示すバースト長を含み、
前記クロック制御回路は、バースト長に対応する数のクロックパルスを生成することを特徴とする半導体集積回路。
（付記４）
付記２記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドを含み、
システムインタフェース仕様は、読み出しコマンドが供給されてから読み出しデータが出力されるまでのクロック数を示す読み出しレイテンシを含み、
前記クロック制御回路は、前記コマンドデコーダの解読結果が読み出しコマンドを示すときに、読み出しレイテンシに対応するクロック数後にクロックパルスを生成することを特徴とする半導体集積回路。
（付記５）
付記２記載の半導体集積回路において、
前記インタフェース変換マクロから前記メモリマクロに出力される書き込みデータ信号のビット数は、前記コントローラから前記インタフェース変換マクロに出力される書き込みデータ信号のビット数の整数倍であり、
前記書き込みデータ変換回路は、前記コントローラから出力されるシリアルの書き込みデータ信号を前記クロックパルスに同期して保持し、前記クロックパルスが出力された後に、保持している書き込みデータ信号をパラレルの書き込みデータ信号として前記メモリマクロに出力する書き込みデータ保持回路を備えていることを特徴とする半導体集積回路。
（付記６）
付記５記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と書き込みデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記書き込みデータ保持回路は、前記メモリマクロに出力される書き込みデータ信号のビット数に対応する複数の保持部を備え、
前記データクロック生成回路は、シリアルの書き込みデータ信号を前記保持部のいずれに保持するかを示すバーストアドレス信号に応じて、前記保持部にそれぞれ対応するデータ入力クロック信号を順次に生成し、生成したデータ入力クロック信号を前記クロックパルスとして前記書き込みデータ変換回路に出力することを特徴とする半導体集積回路。
（付記７）
付記６記載の半導体集積回路において、
前記コマンド信号に対応して前記コントローラから出力されるシリアルの書き込みデータ信号の数は、前記保持部の数より少なく、
前記データクロック生成回路は、シリアルの書き込みデータ信号を保持する保持部を示すデータ選択アドレスに応じて、保持部の少なくともいずれかを選択し、選択した保持部に対応するデータ入力クロック信号を、前記バーストアドレス信号に応じて順次に生成し、生成したデータ入力クロック信号を前記クロックパルスとして前記書き込みデータ変換回路に出力するとともに、選択しない保持部に対応するデータマスク信号を前記メモリマクロに出力し、
前記メモリマクロは、データマスク信号に対応する書き込みデータ信号のメモリセルへの書き込みをマスクすることを特徴とする半導体集積回路。
（付記８）
付記５記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と書き込みデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記書き込みデータ保持回路は、前記メモリマクロに出力される書き込みデータ信号のビット数に対応する複数の保持部を備え、
前記コマンド信号に対応して前記コントローラから出力されるシリアルの書き込みデータ信号の数は、前記保持部の数より少なく、
前記データクロック生成回路は、シリアルの書き込みデータ信号を保持する保持部を示すデータ選択アドレスに応じて、保持部の少なくともいずれかを選択し、選択した保持部に対応するデータ入力クロック信号を生成し、生成したデータ入力クロック信号を前記クロックパルスとして前記書き込みデータ変換回路に出力するとともに、選択しない保持部に対応するデータマスク信号を前記メモリマクロに出力し、
前記メモリマクロは、データマスク信号に対応する書き込みデータ信号のメモリセルへの書き込みをマスクすることを特徴とする半導体集積回路。
（付記９）
付記２記載の半導体集積回路において、
前記メモリマクロから前記インタフェース変換マクロに出力される読み出しデータ信号のビット数は、前記インタフェース変換マクロから前記コントローラに出力される読み出しデータ信号のビット数の整数倍であり、
前記読み出しデータ変換回路は、前記メモリマクロから出力されるパラレルの読み出しデータ信号を、前記クロックパルスに同期してシリアルの読み出しデータ信号に変換し、変換した読み出しデータ信号を前記コントローラに出力することを特徴とする半導体集積回路。
（付記１０）
付記９記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と読み出しデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記データクロック生成回路は、パラレルの読み出しデータ信号の前記コントローラへの出力順を示すバーストアドレス信号に応じてデータ出力クロック信号を順次に生成し、生成したデータ出力クロック信号を前記クロックパルスとして前記読み出しデータ変換回路に出力することを特徴とする半導体集積回路。
（付記１１）
付記１０記載の半導体集積回路において、
前記コマンド信号に応答して前記インタフェース変換マクロから前記コントローラに出力されるシリアルの読み出しデータ信号の数は、前記メモリマクロから出力されるパラレルの読み出しデータ信号の数より少なく、
前記データクロック生成回路は、パラレルの読み出しデータ信号のうち前記コントローラが必要とする読み出しデータ信号を、データ選択アドレス信号に応じて選択し、選択した読み出しデータ信号に対応するデータ出力クロック信号を、前記バーストアドレス信号に応じて順次に生成し、生成したデータ出力クロック信号を前記クロックパルスとして前記読み出しデータ変換回路に出力することを特徴とする半導体集積回路。
（付記１２）
付記９記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と読み出しデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記コマンド信号に応答して前記インタフェース変換マクロから前記コントローラに出力されるシリアルの読み出しデータ信号の数は、前記メモリマクロから出力されるパラレルの読み出しデータ信号の数より少なく、
前記データクロック生成回路は、パラレルの読み出しデータ信号のうち前記コントローラが必要とする読み出しデータ信号を、データ選択アドレス信号に応じて選択し、選択した読み出しデータ信号に対応するデータ出力クロック信号を、前記バーストアドレス信号に応じて生成し、生成したデータ出力クロック信号を前記クロックパルスとして前記読み出しデータ変換回路に出力することを特徴とする半導体集積回路。
（付記１３）
付記１記載の半導体メモリマクロにおいて、
前記インタフェース変換マクロは、
前記コントローラから出力されるシステムインタフェース仕様に従ったコマンド信号を、メモリインタフェース仕様に従ったコマンド信号に変換し、変換したコマンド信号を前記メモリマクロに出力するコマンド変換回路を備えていることを特徴とする半導体集積回路。
（付記１４）
付記１記載の半導体集積回路において、
前記コマンド信号は、書き込みコマンドを含み、
前記インタフェース変換マクロは、
書き込みコマンドに対応して供給されるアドレス信号および書き込みデータ信号を、次の書き込みコマンドが供給されるまで保持する保持回路と、
次の書き込みコマンドに対応して前記保持回路に保持されているアドレス信号および書き込みデータ信号を前記メモリマクロに出力するメモリ出力回路とを備えていることを特徴とする半導体集積回路。
（付記１５）
付記１４記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドを含み、
前記インタフェース変換マクロは、
読み出しコマンドに対応して供給されるアドレス信号が、前記保持回路により保持されているアドレス信号に一致するときに、前記保持回路に保持されている書き込みデータ信号を読み出しデータ信号として出力する読み出し出力回路を備えていることを特徴とする半導体集積回路。
（付記１６）
付記１記載の半導体集積回路において、
前記メモリマクロをアクセスするために、メモリインタフェース仕様に従ったテスト信号を前記メモリマクロに出力し、前記テスト信号に応答して前記メモリマクロから出力されるテスト読み出しデータ信号を期待値と比較し、前記メモリマクロの良否を判定するテスト回路と、
テストモード中に前記テスト回路を前記メモリマクロに接続し、通常動作モード中に前記インタフェース変換マクロを前記メモリマクロに接続するセレクタとを備えていることを特徴とする半導体集積回路。
（付記１７）
付記１記載の半導体集積回路において、
半導体集積回路は、前記コントローラを備え、
前記インタフェース変換マクロは、アレイ状に予め形成された論理素子の端子間を配線により接続することにより、前記コントローラとともに製造され、
前記インタフェース変換マクロのテストは、前記コントローラのテストとともに実施されることを特徴とする半導体集積回路。
（付記１８）
付記１７記載の半導体集積回路において、
前記メモリマクロは、ハードマクロとして設計され、
前記インタフェース変換マクロは、ソフトマクロとして設計されることを特徴とする半導体集積回路。
【０１２４】
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【産業上の利用可能性】
【０１２５】
本発明は、メモリマクロが搭載される半導体集積回路に適用可能である。
【図面の簡単な説明】
【０１２６】
【図１】第１の実施形態を示すブロック図である。
【図２】図１に示したインタフェース変換マクロの詳細を示すブロック図である。
【図３】コントローラから出力されるコマンド信号と、メモリマクロに供給されるメモリコマンド信号との関係を示す説明図である。
【図４】図２に示したクロック制御回路の動作を示すタイミング図である。
【図５】図２に示したデータクロック生成回路の動作を示すタイミング図である。
【図６】図１に示したメモリマクロの詳細を示すブロック図である。
【図７】第１の実施形態の読み出し動作を示すタイミング図である。
【図８】第１の実施形態の書き込み動作を示すタイミング図である。
【図９】第２の実施形態のインタフェース変換マクロを示すブロック図である。
【図１０】第２の実施形態の読み出し動作を示すタイミング図である。
【図１１】第２の実施形態の書き込み動作を示すタイミング図である。
【図１２】第３の実施形態のインタフェース変換マクロを示すブロック図である。
【図１３】第３の実施形態の読み出し動作を示すタイミング図である。
【図１４】第３の実施形態の書き込み動作を示すタイミング図である。
【図１５】第４の実施形態のインタフェース変換マクロを示すブロック図である。
【図１６】第４の実施形態の読み出し動作を示すタイミング図である。
【図１７】第５の実施形態のインタフェース変換マクロを示すブロック図である。
【図１８】第５の実施形態の読み出し動作を示すタイミング図である。
【図１９】第５の実施形態の書き込み動作を示すタイミング図である。
【図２０】第６の実施形態を示すブロック図である。
【符号の説明】
【０１２７】
１０‥クロックバッファ；１２‥コマンドバッファ／ラッチ；１４‥アドレスバッファ／ラッチ；１６‥バーストアドレスバッファ／ラッチ；１８‥データ入力バッファ／ラッチ；２０‥データ出力バッファ；２２‥クロック制御回路；２４‥コマンドデコーダ；
２６‥コマンド変換回路；２８‥コマンドレジスタ；３０‥アドレスレジスタ；３２‥データクロック生成回路；３４‥シリアル／パラレル変換回路；３６‥パラレル／シリアル変換回路；５０‥クロックバッファ；５２‥コマンドバッファ／ラッチ；５４‥アドレスバッファ／ラッチ；５６‥データ入力バッファ／ラッチ；５８‥データ出力バッファ；６０‥コマンドデコーダ；６２‥動作制御回路；６４‥メモリコア；ＣＴＲＬ１、ＣＴＲＬ２‥コントローラマクロ；ＩＦＣＶ‥インタフェース変換マクロ；ＭＥＭ‥メモリマクロ
【図１】
2008299476.tif 000003
【図２】
2008299476.tif 000004
【図３】
2008299476.tif 000005
【図４】
2008299476.tif 000006
【図５】
2008299476.tif 000007
【図６】
2008299476.tif 000008
【図７】
2008299476.tif 000009
【図８】
2008299476.tif 000010
【図９】
2008299476.tif 000011
【図１０】
2008299476.tif 000012
【図１１】
2008299476.tif 000013
【図１２】
2008299476.tif 000014
【図１３】
2008299476.tif 000015
【図１４】
2008299476.tif 000016
【図１５】
2008299476.tif 000017
【図１６】
2008299476.tif 000018
【図１７】
2008299476.tif 000019
【図１８】
2008299476.tif 000020
【図１９】
2008299476.tif 000021
【図２０】
2008299476.tif 000022