半導体集積回路
【課題】 メモリマクロが搭載される半導体集積回路の設計期間および設計コストを削減する。
【解決手段】 インタフェース変換マクロは、コントローラから出力されるシステムインタフェース仕様に従った信号を、メモリインタフェース仕様に従った信号に変換し、メモリマクロに出力するとともに、メモリマクロから出力される信号を、システムインタフェース仕様に従った信号に変換し、コントローラに出力する。インタフェース変換マクロによりシステムインタフェース仕様およびメモリインタフェース仕様を相互に変換することにより、システムインタフェース仕様が異なる場合にも、半導体集積回路に共通のメモリマクロを搭載できる。したがって、システムを設計する際に、半導体集積回路の設計検証時間、評価時間および試験時間を短縮できる。この結果、半導体集積回路の設計期間および設計コストを削減できる。
【解決手段】 インタフェース変換マクロは、コントローラから出力されるシステムインタフェース仕様に従った信号を、メモリインタフェース仕様に従った信号に変換し、メモリマクロに出力するとともに、メモリマクロから出力される信号を、システムインタフェース仕様に従った信号に変換し、コントローラに出力する。インタフェース変換マクロによりシステムインタフェース仕様およびメモリインタフェース仕様を相互に変換することにより、システムインタフェース仕様が異なる場合にも、半導体集積回路に共通のメモリマクロを搭載できる。したがって、システムを設計する際に、半導体集積回路の設計検証時間、評価時間および試験時間を短縮できる。この結果、半導体集積回路の設計期間および設計コストを削減できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリマクロと、このメモリマクロをアクセスするためのインタフェース変換マクロとを有する半導体集積回路に関する。
【背景技術】
【0002】
携帯電話等のシステム製品の性能は、年々高くなってきている。システムによって扱われるデータサイズは大きくなり、データ転送速度は高くなってきている。これに伴い、メモリマクロとこのメモリマクロをアクセスするコントローラとを1チップで構成したSoC(System on Chip)等の半導体集積回路が注目されている。SoCでは、データのバス幅を大きくできるため、クロックの周波数を上げることなく、データ転送速度を向上できる。
【0003】
例えば、メモリマクロによって使用される内部電圧を生成する制御マクロを予め用意しておき、半導体集積回路に搭載するメモリマクロの数を、メモリ容量に応じて変える手法が提案されている(例えば、特許文献1参照)。また、入力信号レベルのインタフェースが互いに異なる複数種の入力セルをメモリマクロに搭載し、使用するインタフェースに合わせて入力セルのいずれかを選択的に使用する設計手法が提案されている(例えば、特許文献2参照)。
【特許文献1】特開平8−204161号公報
【特許文献2】特開平4−147663号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
SoC等の半導体集積回路に搭載されるメモリマクロのインタフェース仕様は、システムの仕様に応じて異なることが多い。このため、メモリマクロは、システムのインタフェース仕様に合わせて、システム毎に再設計される必要がある。メモリマクロの再設計では、メモリセルアレイに変更がない場合にも、メモリマクロ全体の設計検証およびフォトマスクの設計等が必要である。これは、インタフェース仕様が異なる場合、メモリマクロの内部回路のタイミングを制御する制御回路を再設計する必要があり、設計検証を詳細に行う必要があるためである。したがって、インタフェース仕様の変更に伴うメモリマクロの再設計では、設計期間は長くなり、設計コストは上昇する。
【0005】
これに対して、メモリマクロのメモリ容量の変更は、半導体集積回路に搭載されるメモリマクロの数を変更し、あるいはメモリマクロ内のワード数を変更することで対応できる。この際、デコーダ等の論理回路は変更されるが、メモリマクロの内部回路の動作タイミングは変わらないため、接続検証のみを行えばよい。
【0006】
また、複数種のインタフェース仕様に対応する複数種の制御回路が、予めメモリマクロに搭載され、制御回路の1つが、金属配線層のフォトマスクの切り替えや、ヒューズの溶断により選択的に使用される場合がある。しかしながら、この場合、複数種の制御回路毎に設計検証を行う必要があり、設計検証に長い時間が必要である。また、製造された半導体集積回路の特性を評価に長い時間が必要である。さらに、使用されない他の制御回路は、システムに不要であるため、半導体集積回路のチップサイズが増加し、チップコストが上昇する。一方で、全てのインタフェース仕様に対応する制御回路をメモリマクロに搭載することは不可能である
本発明の目的は、半導体集積回路に搭載されるメモリのインタフェース仕様が異なる場合にも、半導体集積回路の設計検証時間、評価時間および試験時間を短縮し、半導体集積回路の設計期間および設計コストを削減することである。
【課題を解決するための手段】
【0007】
本発明の一形態では、半導体集積回路は、メモリマクロおよびインタフェース変換マクロを有する。メモリマクロは、メモリセルアレイと、メモリセルアレイをアクセスするために、メモリインタフェース仕様に従った信号を入出力するメモリインタフェース部とを有する。インタフェース変換マクロは、コントローラから出力されるシステムインタフェース仕様に従った信号を、メモリインタフェース仕様に従った信号に変換し、メモリインタフェース部に出力する。また、インタフェース変換マクロは、メモリインタフェース部から出力される信号を、システムインタフェース仕様に従った信号に変換し、コントローラに出力する。インタフェース変換マクロによりシステムインタフェース仕様およびメモリインタフェース仕様を相互に変換することにより、システムインタフェース仕様が異なる場合にも、1種類のメモリマクロを、様々なシステムに共通に使用できる。したがって、システムを設計する際に、メモリマクロの設計検証時間および評価時間を削減できる。換言すれば、半導体集積回路の設計検証時間および評価時間を短縮できる。この結果、半導体集積回路の設計期間および設計コストを削減できる。
【0008】
例えば、半導体集積回路は、メモリマクロおよびインタフェース変換マクロに加えて、コントローラを有する。インタフェース変換マクロは、アレイ状に予め形成された論理素子の端子間を配線により接続することにより、コントローラとともに製造される。そして、インタフェース変換マクロのテストは、コントローラのテストとともに実施される。例えば、メモリマクロは、ハードマクロとして設計される。システム仕様に依存せずに共通に使用可能なメモリマクロを、ハードマクロとして設計することにより、メモリマクロのサイズを最小限にでき、半導体集積回路のチップコストを削減できる。例えば、インタフェース変換マクロは、ソフトマクロとして設計される。このため、インタフェース変換マクロは、新たに設計される様々な半導体集積回路の空き領域に合わせた形状および端子位置に設計できる。したがって、半導体集積回路の設計効率を向上でき、半導体集積回路の設計期間および設計コストを削減できる。
【0009】
本発明の一形態における好ましい例では、インタフェース変換マクロは、コマンドデコーダ、クロック制御回路、ラッチ、書き込みデータ変換回路および読み出しデータ変換回路を有している。コマンドデコーダは、コントローラから出力されるコマンド信号を解読する。クロック制御回路は、メモリインタフェース仕様に従ったクロックパルスを、コマンドデコーダの解読結果に応じて生成する。ラッチは、コントローラから出力される書き込みデータ信号を保持する。書き込みデータ変換回路は、ラッチに保持された書き込みデータ信号を、クロックパルスに同期してメモリマクロに出力する。読み出しデータ変換回路は、メモリマクロから出力される読み出しデータ信号をクロックパルスに同期してコントローラに出力する。
【0010】
例えば、システムインタフェース仕様は、バースト長を含む。バースト長は、1回の読み出しコマンドに応答して出力される読み出しデータ信号の回数、または1回の書き込みコマンドに応答して入力される書き込みデータ信号の回数を示す。クロック制御回路は、バースト長に対応する数のクロックパルスを生成する。あるいは、システムインタフェース仕様は、読み出しレイテンシを含む。読み出しレイテンシは、読み出しコマンドが供給されてから読み出しデータが出力されるまでのクロック数を示す。クロック制御回路は、読み出しレイテンシに対応するクロック数後にクロックパルスを生成する。これにより、インタフェース変換マクロにより、データ信号のインタフェースを相互に変換でき、メモリマクロを誤動作することなくアクセスできる。
【0011】
本発明の一形態における好ましい例では、インタフェース変換マクロからメモリマクロに出力される書き込みデータ信号のビット数は、コントローラからインタフェース変換マクロに出力される書き込みデータ信号のビット数の整数倍である。書き込みデータ変換回路の書き込みデータ保持回路は、コントローラから出力されるシリアルの書き込みデータ信号をクロックパルスに同期して保持し、クロックパルスが出力された後に、保持している書き込みデータ信号をパラレルの書き込みデータ信号としてメモリマクロに出力する。
【0012】
例えば、書き込みデータ保持回路は、メモリマクロに出力される書き込みデータ信号のビット数に対応する複数の保持部を有する。インタフェース変換マクロのデータクロック生成回路は、バーストアドレス信号に応じて、保持部にそれぞれ対応するデータ入力クロック信号を順次に生成し、生成したデータ入力クロック信号をクロックパルスとして、書き込みデータ変換回路に出力する。ここで、バーストアドレス信号は、シリアルの書き込みデータ信号を保持部のいずれに保持するかを示す。
【0013】
例えば、コマンド信号に対応してコントローラから出力されるシリアルの書き込みデータ信号の数は、保持部の数より少ない。データクロック生成回路は、データ選択アドレスに応じて、保持部の少なくともいずれかを選択し、選択した保持部に対応するデータ入力クロック信号を順次に生成する。また、データクロック生成回路は、生成したデータ入力クロック信号をクロックパルスとして、書き込みデータ変換回路に出力するとともに、選択しない保持部に対応するデータマスク信号をメモリマクロに出力する。ここで、データ選択アドレスは、シリアルの書き込みデータ信号を保持する保持部を示す。メモリマクロは、データマスク信号に対応する書き込みデータ信号のメモリセルへの書き込みをマスクする。
【0014】
以上により、コントローラで使用する書き込みデータ信号のビット数が、メモリマクロに供給される書き込みデータ信号のビット数より少ない場合にも、インタフェース変換マクロにより、メモリマクロの書き込み動作を正常に実行できる。この際、シリアルの書き込みデータ信号は、バーストアドレス信号に応じて、メモリマクロの任意の書き込みデータ信号線に出力可能である。あるいは、データ選択アドレスに応じて、必要な書き込みデータ信号のみをメモリマクロに書き込み、他の書き込みデータ信号のメモリマクロへの書き込みをマスクできる。すなわち、メモリマクロを誤動作することなくアクセスできる。
【0015】
本発明の一形態における好ましい例では、メモリマクロからインタフェース変換マクロに出力される読み出しデータ信号のビット数は、インタフェース変換マクロからコントローラに出力される読み出しデータ信号のビット数の整数倍である。読み出しデータ変換回路は、メモリマクロから出力されるパラレルの読み出しデータ信号を、クロックパルスに同期してシリアルの読み出しデータ信号に変換し、変換した読み出しデータ信号をコントローラに出力する。
【0016】
例えば、インタフェース変換マクロのデータクロック生成回路は、バーストアドレス信号に応じてデータ出力クロック信号を順次に生成し、生成したデータ出力クロック信号をクロックパルスとして読み出しデータ変換回路に出力する。ここで、バーストアドレス信号は、パラレルの読み出しデータ信号のコントローラへの出力順を示す。
【0017】
例えば、コマンド信号に応答してインタフェース変換マクロからコントローラに出力されるシリアルの読み出しデータ信号の数は、メモリマクロから出力されるパラレルの読み出しデータ信号の数より少ない。データクロック生成回路は、パラレルの読み出しデータ信号のうちコントローラが必要とする読み出しデータ信号を、データ選択アドレス信号に応じて選択し、選択した読み出しデータ信号に対応するデータ出力クロック信号を順次に生成する。また、データクロック生成回路は、生成したデータ出力クロック信号をクロックパルスとして読み出しデータ変換回路に出力する。
【0018】
以上により、コントローラで使用する読み出しデータ信号のビット数が、メモリマクロから出力される読み出しデータ信号のビット数より少ない場合にも、インタフェース変換マクロにより、メモリマクロの読み出し動作を正常に実行できる。この際、メモリマクロから出力されるパラレルの読み出しデータ信号は、バーストアドレス信号に応じて、任意の順序でコントローラに出力可能である。あるいは、データ選択アドレスに応じて、メモリマクロから出力されるパラレルの読み出しデータ信号うち、任意の読み出しデータ信号のみを読み出しできる。すなわち、メモリマクロを誤動作することなくアクセスできる。
【0019】
本発明の一形態における好ましい例では、インタフェース変換マクロのコマンド変換回路は、コントローラから出力されるシステムインタフェース仕様に従ったコマンド信号を、メモリインタフェース仕様に従ったコマンド信号に変換し、変換したコマンド信号をメモリマクロに出力する。インタフェース変換マクロにより、コマンド信号のインタフェースを相互に変換でき、メモリマクロを誤動作することなくアクセスできる。
【0020】
本発明の一形態における好ましい例では、半導体集積回路は、メモリマクロをテストするテスト回路と、セレクタとを有する。テスト回路は、メモリマクロをアクセスするために、メモリインタフェース仕様に従ったテスト信号をメモリマクロに出力し、テスト信号に応答してメモリマクロから出力されるテスト読み出しデータ信号を期待値と比較し、メモリマクロの良否を判定する。セレクタは、テストモード中にテスト回路をメモリマクロに接続し、通常動作モード中にインタフェース変換マクロをメモリマクロに接続する。メモリマクロは、システム仕様に依存せず共通に使用される。このため、テスト回路もシステム仕様に依存せず共通に使用できる。したがって、システムを設計する際に、メモリマクロのテスト設計の時間を削減できる。この結果、半導体集積回路の設計期間および設計コストを削減できる。
【発明の効果】
【0021】
本発明では、半導体集積回路の設計検証時間および評価時間を短縮でき、半導体集積回路の設計期間および設計コストを削減できる。また、本発明では、メモリマクロを誤動作することなくアクセスできる。
【発明を実施するための最良の形態】
【0022】
以下、本発明の実施形態を図面を用いて説明する。図中、太線で示した信号線は、複数本で構成されている。また、太線が接続されているブロックの一部は、複数の回路で構成されている。信号が伝達される信号線には、信号名と同じ符号を使用する。先頭に”/”の付いている信号は、負論理を示している。末尾に”Z”の付いている信号は、正論理を示している。図中の二重丸は、外部端子を示している。図中の二重の四角は、マクロの端子(マクロ端子)を示している。マクロ端子は、ワイヤやバンプ等が接続されないため、半導体チップ上で配線パターンとして形成される。
【0023】
図1は、本発明の第1の実施形態を示している。本発明の半導体集積回路は、コントローラマクロCTRL1、CTRL2、インタフェース変換マクロIFCVおよびメモリマクロMEM(以下、メモリMEMとも称する)が搭載されたSoCとして形成されている。コントローラマクロCTRL1、CTRL2およびインタフェース変換マクロIFCVは、メモリバスMBUSを介して互いに接続されている。SoCは、複数の半導体チップCHIPおよび外部インタフェース部I/OとともにシステムボードSBRDに搭載されている。SoC、半導体チップCHIPおよび外部インタフェース部I/Oは、システムバスSBUSを介して互いに接続されている。そして、システムボードSBRDおよび外部インタフェース部I/Oに接続される周辺デバイスDEVによりシステムSYSが構成されている。
【0024】
システムSYSは、例えば、携帯電話等の携帯機器である。例えば、半導体チップCHIPは、CPUおよび通信LSI等である。例えば、周辺デバイスDEVは、液晶ディスプレイ、スピーカー、入力デバイス等である。なお、システムボードSBRD上には、CPUにより実行されるプログラムを格納するフラッシュメモリ等の図示しない不揮発性半導体メモリが搭載される。例えば、メモリマクロMEMは、DRAMコア(IP)であり、マスクデータを含むハードマクロとして設計される。システム仕様に依存せず共通に使用可能なメモリマクロMEMを、ハードマクロとして設計することにより、メモリマクロMEMのサイズを最小限にでき、SoCのチップコストを削減できる。
【0025】
インタフェース変換マクロIFCVは、ソフトマクロとして設計される。このため、インタフェース変換マクロIFCVは、新たに設計される様々なSoCの空き領域に合わせた形状に設計でき、端子位置もインタフェース変換マクロIFCVの周囲にレイアウトされる回路に合わせて設計できる。したがって、SoCの設計効率を向上でき、SoCの設計期間および設計コストを削減できる。
【0026】
例えば、コントローラCTRL1は、メモリMEMに保持される画像データを処理するMPEGコア(IP)である。例えば、コントローラCTRL2は、DMACコア(IP)である。例えば、インタフェース変換マクロIFCVは、コントローラCTRL1−2の少なくともいずれかとともに、アレイ状に予め形成された論理素子の端子間を配線により接続することにより製造される。すなわち、インタフェース変換マクロIFCVは、ゲートアレイやプログラマブルロジックデバイスとして設計される。そして、インタフェース変換マクロIFCVの設計検証およびテストは、コントローラCTRL1またはCTRL2とともに実施される。
【0027】
メモリバスMBUSは、メモリMEMをアクセスするためのクロック信号CK、コマンド信号CMD、アドレス信号AD、バーストアドレス信号bAD、データ入力信号Din、データ出力信号Doutの信号線を含む。これら信号は、コントローラCTRL1−2から出力されてもよく、メモリコントローラ(図示せず)から出力されてもよい。さらに、インタフェース変換マクロIFCVは、メモリコントローラ内に設けられてもよい。この場合、メモリバスMBUSは、例えば、トランザクションと称されるアドレス情報と、書き込みデータをメモリコントローラに出力し、読み出しデータをメモリコントローラから受ける。アドレス情報は、アクセスの開始アドレス、リード/ライト情報、データサイズを含む。メモリコントローラは、アドレス情報に基づいて、コマンド信号CMD、アドレス信号ADおよびバーストアドレス信号bADを生成する。
【0028】
インタフェース変換マクロIFCVは、システムSYSに固有のシステムインタフェース仕様を有する信号CK、CMD、AD、bAD、DinをメモリバスMBUSから受け、受けた信号をメモリMEMをアクセスするためのメモリクロック信号MCK、メモリコマンド信号MCMD、メモリアドレス信号MAD、メモリデータ入力信号MDinに変換する。また、インタフェース変換マクロIFCVは、メモリMEMから受けるメモリデータ出力信号MDoutを、メモリインタフェース仕様に応じたデータ出力信号Doutに変換する。
【0029】
インタフェース変換マクロIFCVは、システムSYSのメモリインタフェース仕様に応じて、システムSYS毎に設計される。メモリインタフェース仕様は、例えば、後述するバースト長BLおよび読み出しレイテンシRLの少なくともいずれかを含む。バースト長BLは、1回の読み出しコマンドに応答してメモリバスMBUSに連続して出力される読み出しデータ信号の回数であり、1回の書き込みコマンドに応答してメモリバスMBUSから連続して供給される書き込みデータ信号の回数である。読み出しレイテインシRLは、読み出しコマンドが供給されてから読み出しデータが出力されるまでのクロック数である。
【0030】
この実施形態のメモリインタフェース仕様は、バースト長BL=4、読み出しレイテンシRL=7である。換言すれば、コントローラCTRL1−2は、バースト長BL=4、読み出しレイテンシRL=7でメモリMEMが動作すると認識する。しかし、実際のメモリMEMは、例えば、バースト長BL=1、読み出しレイテンシRL=3でのみ動作する。インタフェース変換マクロIFCVは、インタフェース仕様を相互に変換する。
【0031】
本発明では上述したように、メモリMEMは、システムSYSのインタフェース仕様に関わりなく、1つのメモリインタフェース仕様の信号によりアクセスされ、読み出し動作、書き込み動作およびリフレッシュ動作を実行する。具体的には、メモリMEMは、上述したように、バースト長BL=1、読み出しレイテンシRL=3でのみ動作する。これにより、メモリMEMは、システムインタフェース仕様と無関係に、共通のハードマクロとして構成できる。メモリMEMの設計検証、特性の評価および試験パターンの設計は、1回のみでよい。換言すれば、システムSYS(SoC)を新たに開発するときに、インタフェース変換マクロIFCVの設計検証、特性の評価および試験パターンの設計のみを行えばよい。この結果、システムSYSの開発時に、SoCの設計期間を短縮でき、設計コストを削減できる。
【0032】
なお、本発明では、後述する第2、第3、第4および第5の実施形態に示すように、コントローラCTRL1またはCTRL2が、様々なシステムインタフェース仕様に従った信号を出力する場合にも、インタフェース変換マクロIFCVのみを再設計することにより、共通のメモリマクロMEMを使用できる。
【0033】
図2は、図1に示したインタフェース変換マクロIFCVの詳細を示している。インタフェース変換マクロIFCVは、クロックバッファ10、コマンドバッファ/ラッチ12、アドレスバッファ/ラッチ14、バーストアドレスバッファ/ラッチ16、データ入力バッファ/ラッチ18、データ出力バッファ20、クロック制御回路22、コマンドデコーダ24、コマンド変換回路26、コマンドレジスタ28、アドレスレジスタ30、データクロック生成回路32、シリアル/パラレル変換回路34およびパラレル/シリアル変換回路36を有している。クロックバッファ10、コマンドバッファ/ラッチ12、アドレスバッファ/ラッチ14、バーストアドレスバッファ/ラッチ16、データ入力バッファ/ラッチ18およびデータ出力バッファ20は、システムインタフェース仕様に従った信号を入力または出力する。クロック制御回路22、コマンドレジスタ28、アドレスレジスタ30、シリアル/パラレル変換回路34およびパラレル/シリアル変換回路36は、メモリインタフェース仕様に従った信号を入力または出力する。
【0034】
クロックバッファ10は、クロック信号CKを内部クロック信号ICKとして出力する。コマンドバッファ/ラッチ12は、メモリMEMをアクセスするためのコマンド信号CMDを内部クロック信号ICKに同期してラッチし、ラッチした信号を出力する。コマンド信号CMDは、チップイネーブル信号/CE、出力イネーブル端子/OEおよびライトイネーブル信号/WEを含む。アドレスバッファ/ラッチ14は、アドレス信号ADを内部クロック信号ICKに同期してラッチし、ラッチした信号を出力する。バーストアドレスバッファ/ラッチ16は、2ビットのバーストアドレス信号bAD(bAD0−1)を内部クロック信号ICKに同期してラッチし、ラッチした信号を開始アドレスSADとして出力する。
【0035】
データ入力バッファ/ラッチ18は、データ入力信号Din(メモリMEMへの書き込みデータ信号)を内部クロック信号ICKに同期してラッチして保持し、保持している信号をデータ入力信号IDATとして出力する。データ出力バッファ20は、データ出力信号ODAT(メモリMEMからの読み出しデータ)を受け、受けた信号をデータ出力信号Doutとして出力する。例えば、データ入力信号Dinおよびデータ出力信号Doutは、それぞれ32ビットで構成される。本発明において、32ビットは、基準のビット幅である。データ信号IDAT、ODATに示した”1N”の”N”は、32ビットを示している。
【0036】
クロック制御回路22は、内部クロック信号ICKを用いてメモリクロック信号MCK、出力クロック信号OUTCKと、読み出しクロック信号RCKまたは書き込みクロック信号WCKを生成する。すなわち、クロック制御回路22は、メモリインタフェース仕様に従ったクロックパルスOUTCK、RCK、WCKを、コマンドデコーダ24の解読結果に応じて生成する。メモリクロック信号MCKは、メモリMEMのクロック端子に供給される。出力クロック信号OUTCKは、コマンドレジスタ28およびアドレスレジスタ30の動作タイミングを決める信号である。読み出しクロック信号RCKは、メモリMEMの読み出し動作時に出力される。書き込みクロック信号WCKは、メモリMEMの書き込み動作時に出力される。クロック制御回路22の動作の詳細は、図4に示す。
【0037】
コマンドデコーダ24は、コントローラCTRL1またはCTRL2から出力されるコマンド信号CMDを解読する。具体的には、コマンドデコーダ24は、コマンドバッファ/ラッチ12から出力されるコマンド信号が読み出しコマンドを示すときに読み出しコマンド信号RDを出力し、コマンド信号が書き込みコマンドを示すときに書き込みコマンド信号WRを出力する。コマンド変換回路26は、コマンドバッファ/ラッチ12から出力されるコマンド信号を、メモリMEMをアクセスするためのコマンド信号に変換し出力する。すなわち、コマンド変換回路26は、メモリバスMBUSを介して供給されるコマンド信号を、メモリMEMのインタフェース仕様に合うコマンド信号に変換する。コマンド変換回路26の動作は、図3に示す。
【0038】
コマンドレジスタ28は、コマンド変換回路26から出力されるコマンド信号を保持し、保持しているコマンド信号を出力クロック信号OUTCKに同期してメモリコマンド信号MCMDとして出力する。メモリコマンド信号MCMDは、メモリチップイネーブル信号/MCE、メモリライトイネーブル信号/MWEおよびメモリリフレッシュ信号/MREFを含む。アドレスレジスタ30は、アドレス変換回路28から出力されるアドレス信号を保持し、保持しているアドレス信号を出力クロック信号OUTCKに同期してメモリアドレス信号MADとして出力する。
【0039】
データクロック生成回路32は、読み出しクロック信号RCKに同期してデータ出力クロック信号DOCK0−3を順次に生成し、書き込みクロックWCKに同期してデータ入力クロック信号DICK0−3を順次に生成する。データ出力クロック信号DOCK0−3の生成順およびデータ入力クロック信号DICK0−3の生成順は、開始アドレスSAD(すなわち、バーストアドレス信号bAD0−1)の値に応じて設定される。データクロック生成回路32の動作は、図5に示す。
【0040】
シリアル/パラレル変換回路34は、書き込みデータ保持回路WHLDを有している。書き込みデータ保持回路WHLDは、書き込み動作時に、シリアルのデータ入力信号IDATをデータ入力クロック信号DICK0−3(クロックパルス)に同期して保持し、データ入力クロック信号DICK0−3が出力された後に、保持しているデータ入力信号IDATをパラレルのメモリデータ入力信号MDin0−3として出力する。すなわち、シリアル/パラレル変換回路34は、データ入力バッファ/ラッチ18に保持された書き込みデータ信号IDATを、クロックパルスDICK0−3に同期して順次に保持し、保持している書き込みデータ信号IDATをメモリMEMに出力する書き込みデータ変換回路として動作する。書き込みデータ保持回路WHLDは、書き込みコマンドWRに対応して供給される書き込みデータ信号IDATを保持するために、メモリデータ入力信号MDin0−3のビット数に対応する数(128個)の保持部を有している。各保持部は、クロックパルスDICK0−3のいずれかに同期してデータ入力信号IDATを保持する。なお、データ入力信号IDAT(シリアルの書き込みデータ信号)のビット数(32ビット)は、保持部の数より少ない。
【0041】
パラレル/シリアル変換回路36は、読み出し動作時に、メモリデータ出力信号MDout0−3(パラレルの読み出しデータ信号)のいずれかをデータ入力クロック信号DICK0−3(クロックパルス)に応じて選択し、選択したデータ信号をデータ出力信号ODAT(シリアルの読み出しデータ信号)として出力する。すなわち、パラレル/シリアル変換回路36は、メモリマクロMEMから出力される読み出しデータ信号MDout0−3をクロックパルスDICK0−3に同期してコントローラCTRL1またはCTRL2に出力する読み出しデータ変換回路として動作する。
【0042】
図3は、コントローラCTRL1またはCTRL2から出力されるシステムインタフェース仕様に従ったコマンド信号CMDと、メモリマクロMEMに供給されるメモリインタフェース仕様に従ったメモリコマンド信号MCMDとの関係を示している。図では、高論理レベルの信号を”H”で示し、低論理レベルの信号を”L”で示す。メモリMEMは、例えば、4つの動作コマンド(動作状態)STBY、RD、WR、REFを有している。スタンバイコマンドSTBYは、メモリMEMをスタンバイ状態(非アクセス状態)に設定するときに供給される。読み出しコマンドRDは、メモリMEMに読み出し動作を実行させるときに供給される。書き込みコマンドWRは、メモリMEMに書き込み動作を実行させるときに供給される。リフレッシュコマンドREFは、メモリMEMにリフレッシュ動作を実行させるときに供給される。インタフェース変換マクロIFCVは、システムインタフェース仕様に従ったコマンド信号CMDを、メモリインタフェース仕様に従ったメモリコマンド信号MCMDに変換する。
【0043】
スタンバイコマンドSTBYは、全てのコマンド信号の高レベルにより認識される。インタフェース変換マクロIFCVは、低レベルの/CE信号、低レベルの/OE信号および高レベルの/WE信号により読み出しコマンドRDを認識し、メモリMEMに、低レベルの/MCE信号、高レベルの/MWE信号および高レベルの/MREF信号を出力する。インタフェース変換マクロIFCVは、低レベルの/CE信号、高レベルの/OE信号および低レベルの/WE信号により書き込みコマンドWRを認識し、メモリMEMに、低レベルの/MCE信号、低レベルの/MWE信号および高レベルの/MREF信号を出力する。
【0044】
さらに、インタフェース変換マクロIFCVは、高レベルの/CE信号、低レベルの/OE信号および高レベルの/WE信号によりリフレッシュコマンドREFを認識し、メモリMEMに、低レベルの/MCE信号、高レベルの/MWE信号および低レベルの/MREF信号を出力する。このように、インタフェース変換マクロIFCVは、メモリバスMBUS上のコマンド信号(システムインタフェース仕様)を、メモリMEMを動作するためのコマンド信号(メモリインタフェース仕様)に変換する機能を有している。
【0045】
図4は、図2に示したクロック制御回路22の動作を示している。この実施形態では、バースト長BL=4、読み出しレイテンシRL=7に対応するクロック制御回路22が設計されている。図に示したBL=2、RL=5の波形は、後述する第2の実施形態のクロック制御回路22Aの動作を示している。BL=1、RL=3の波形は、後述する第3の実施形態のクロック制御回路22Bの動作を示している。クロック制御回路22、22A、22Bの論理は、メモリインタフェース仕様に応じてそれぞれ設計される。読み出しクロック信号RCKのパルス数および書き込みクロック信号WCKのパルス数は、バースト長に対応する数に等しい。また、読み出しクロック信号RCKの最初のクロックパルスは、読み出しレイテンシRLに対応するクロック数後に出力される。
【0046】
クロック制御回路22は、クロック信号CKの4パルス毎にメモリクロック信号MCKを出力する。クロック制御回路22は、読み出しコマンドRDまたは書き込みコマンドWRを受けた後、3番目のクロックパルスICK(図ではICK4またはICK16)の立ち下がりエッジに同期して出力クロック信号OUTCKを出力する。また、クロック制御回路22は、読み出しコマンドRDを受けた後、6番目から9番目のクロックパルスICK7−10に同期して読み出しクロック信号RCKを出力し、書き込みコマンドWRを受けたクロックパルスICK13とそれに続く3つのクロックパルスICK14−16に同期して書き込みクロック信号WCKを出力する。BL=1の詳細な動作は、図7および図8に示す。
【0047】
BL=2では、メモリクロック信号MCKは、クロック信号CKの2パルス毎に出力される。出力クロック信号OUTCKは、読み出しコマンドRDまたは書き込みコマンドWRを受けた後、次のクロックパルスICK2またはICK14の立ち下がりエッジに同期して出力される。読み出しクロック信号RCKは、読み出しコマンドRDを受けた後、4番目から5番目のクロックパルスICK5−6に同期して出力される。書き込みクロック信号WCKは、書き込みコマンドWRを受けたクロックパルスICK13とそれに続くクロックパルスICK14に同期して出力される。BL=2の詳細な動作は、図10および図11に示す。
【0048】
BL=1では、メモリクロック信号MCKは、クロック信号CKに同期して出力される。出力クロック信号OUTCKは、読み出しコマンドRDまたは書き込みコマンドWRを受けたクロック信号CKの立ち下がりエッジに同期して出力される。読み出しクロック信号RCKは、読み出しコマンドRDを受けた後、3番目のクロックパルスICK4に同期して出力される。書き込みクロック信号WCKは、書き込みコマンドWRを受けたクロックパルスICK13に同期して出力される。BL=1の詳細な動作は、図13および図14に示す。
【0049】
なお、図1に示したコントローラCTRL1またはCTRL2は、読み出しコマンドRDおよび書き込みコマンドWRをメモリクロック信号MCKに同期して出力する。このために、例えば、コントローラCTRL1またはCTRL2は、SoCのパワーオン時にメモリクロックパルスMCKに同期するクロックパルスCKを認識する。また、リフレッシュコマンドCMD(REF)が供給されたとき、クロック制御回路22は、メモリクロック信号MCKおよび出力クロック信号OUTCKのみを生成し、読み出しクロック信号RCKおよび書き込みクロック信号WCKは生成しない。
【0050】
図5は、図2に示したデータクロック生成回路32の動作を示している。本発明では、メモリバスMBUSに入出力されるデータ信号のビット幅(図2の1N)は、メモリMEMに入出力されるデータ信号のビット幅(図2の4N)の4分の1である。換言すれば、インタフェース変換マクロIFCVからメモリマクロMEMに出力されるメモリデータ入力信号MDin0−3(書き込みデータ信号)のビット数は、コントローラCTRL1またはCTRL2からインタフェース変換マクロIFCVに出力されるデータ入力信号Din(書き込みデータ信号)のビット数の4倍(整数倍)である。また、メモリマクロMEMからインタフェース変換マクロIFCVに出力されるメモリデータ出力信号MDout0−3(読み出しデータ信号)のビット数は、インタフェース変換マクロIFCVからコントローラCTRL1またはCTRL2に出力されるデータ出力信号Dout(読み出しデータ信号)のビット数の4倍(整数倍)である。
【0051】
このため、データ信号DinをメモリMEMに書き込むために、メモリデータ入力信号MDin0−3のいずれかに供給するかを選択する必要がある。また、メモリMEMから読み出されるメモリデータ出力信号MDout0−3のいずれをデータ出力信号Doutとして出力するかを選択する必要がある。データクロック生成回路32は、データ信号を選択するために、バーストアドレス信号bAD0−1(開始アドレスSAD)の値に応じてデータ入力クロック信号DICK0−3またはデータ出力クロック信号DOCK0−3を生成する。
【0052】
例えば、読み出しコマンドRDとともにインタフェース変換マクロIFCVに供給されるバーストアドレス信号bAD0−1の値が”0”のとき、データクロック生成回路32は、読み出しクロック信号RCKに同期してデータ出力クロック信号DOCK0−3を順次に出力する。このため、4つのシリアルの書き込みデータ信号Dinは、パラレルの書き込みデータ信号に変換され、メモリデータ入力信号線MDin0−3に伝達される。書き込みコマンドWRとともにインタフェース変換マクロIFCVに供給されるバーストアドレス信号bAD0−1の値が”2”のとき、データクロック生成回路32は、書き込みクロック信号WCKに同期してデータ入力クロック信号DICK2−3、0−1を順次に出力する。このため、パラレルのメモリ出力データ信号MDout2−3、0−1がシリアルのデータ出力信号Doutとして順次に出力される。
【0053】
一方、第2の実施形態に示すように、バースト長BLが”2”のとき、データクロック生成回路32A(図9)は、読み出しクロック信号RCKに同期してデータ出力クロック信号DOCK0−3の2つを順次に出力する。第3の実施形態に示すように、バースト長BLが”1”のとき、データクロック生成回路32B(図12)は、読み出しクロック信号RCKに同期してデータ出力クロック信号DOCK0−3のいずれかを出力する。
【0054】
図6は、図1に示したメモリマクロMEMの詳細を示している。メモリマクロMEMは、クロックバッファ50、コマンドバッファ/ラッチ52、アドレスバッファ/ラッチ54、データ入力バッファ/ラッチ56、データ出力バッファ58、コマンドデコーダ60、動作制御回路62およびメモリコア64を有している。クロックバッファ50、コマンドバッファ/ラッチ52、アドレスバッファ/ラッチ54、データ入力バッファ/ラッチ56およびデータ出力バッファ58は、メモリインタフェース仕様に従った信号を入出力するメモリインタフェース部として機能する。
【0055】
クロックバッファ50は、メモリクロック信号MCKを内部クロック信号MICKとして出力する。コマンドバッファ/ラッチ52は、メモリコマンド信号MCMDを内部クロック信号MICKに同期してラッチし、ラッチした信号をラッチチップイネーブル信号CELAT、ラッチライトイネーブル信号WELATおよびラッチリフレッシュ信号REFLATとして出力する。アドレスバッファ/ラッチ54は、メモリアドレス信号MADを内部クロック信号MICKに同期してラッチし、ラッチした信号をロウアドレス信号RADおよびコラムアドレス信号CADとして出力する。
【0056】
データ入力バッファ/ラッチ56は、メモリデータ入力信号MDin0−3を内部クロック信号MICKに同期してラッチし、ラッチした信号をメモリデータ入力信号MIDAT0−3として出力する。なお、この実施形態では、データ入力バッファ/ラッチ56のデータマスク端子MDM0−3は、接地線に接続され、データマスク機能は無効に設定される。データ出力バッファ58は、メモリコア64から出力されるメモリデータ出力信号MODAT0−3を受け、受けた信号をメモリデータ出力信号MDout0−3として出力する。
【0057】
コマンドデコーダ60は、コマンド信号CELAT、WELAT、REFLATをデコードし、読み出し動作を実行するための読み出し制御信号RDZ、書き込み動作を実行するための書き込み制御信号WRZまたはリフレッシュ動作を実行するためのリフレッシュ制御信号REFZを出力する。
【0058】
動作制御回路62は、制御信号RDZ、WRZ、REFZに応答してメモリコア64に読み出し動作、書き込み動作またはリフレッシュ動作を実行させるために、動作制御信号(ワード線活性化信号WLZ、プリチャージ制御信号BRS、センスアンプ活性化信号LEZおよびコラム選択信号CLZを出力する。ワード線活性化信号WLZは、ワード線WLの活性化タイミングを制御する。プリチャージ制御信号BRSは、プリチャージ回路PREのオン/オフタイミングを制御する。センスアンプ活性化信号LEZは、センスアンプSAの活性化タイミングを制御する。コラム選択信号CLZは、コラムスイッチCSWのオン/オフタイミングを制御する。
【0059】
メモリコア64は、メモリセルアレイARY、ロウデコーダRDEC、プリチャージ回路PRE、センスアンプSA、コラムスイッチCSW、コラムデコーダCDEC、リードアンプRAおよびライトアンプWAを有している。メモリセルアレイARYは、複数のダイナミックメモリセルMC、図の横方向に並ぶメモリセルMCに接続された複数のワード線WL、図の縦方向に並ぶメモリセルMCに接続された複数のビット線対BL、/BLとを有する。メモリセルMCは、データを電荷として保持するためのキャパシタと、このキャパシタの一端をビット線BL(または/BL)に接続するための転送トランジスタとを有している。キャパシタの他端は、プリチャージ電圧線に接続されている。転送トランジスタのゲートは、ワード線WLに接続されている。ワード線WLの選択により、読み出し動作、書き込み動作またはリフレッシュ動作のいずれかが実行される。
【0060】
ロウデコーダRDECは、ワード線WLのいずれかを選択するために、ロウアドレス信号RADをデコードする。プリチャージ回路PREは、メモリセルMCの非アクセス時にプリチャージ制御信号BRSに同期してビット線対BL、/BLをプリチャージ電圧線に接続する。センスアンプSAは、ビット線対BL、/BLに読み出されたデータ信号の信号量の差を増幅する。コラムアドレスデコーダCDECは、データ信号を入出力するビット線対BL、/BLを選択するために、コラムアドレス信号CADをデコードする。コラムスイッチCSWは、コラムアドレス信号CADに対応するビット線BL、/BLをリードアンプRAおよびライトアンプWAに接続する。リードアンプRAは、読み出し動作時に、コラムスイッチCSWを介して出力される読み出しデータ信号を増幅し、増幅した信号をメモリデータ出力信号MODAT0−3として出力する。ライトアンプWAは、書き込み動作時に、供給されるメモリデータ入力信号MIDAT0−3を増幅し、増幅した信号をビット線対BL、/BLに供給する。
【0061】
図7は、第1の実施形態の読み出し動作を示している。この例では、4クロックサイクル毎に読み出しコマンドRDが供給される。インタフェース変換マクロIFCVは、例えば、クロック信号CKの1番目のパルス(CK1)の立ち上がりエッジに同期してコマンド信号CMD(A)、アドレス信号AD(A)およびバーストアドレス信号bAD0−1(0)を受ける(図7(a))。図2に示したクロック制御回路22は4番目のクロックパルスCKの立ち下がりエッジに同期して、受けたコマンド信号CMD(A)およびアドレス信号AD(A)をメモリコマンド信号MCMD(A)およびメモリアドレス信号MAD(A)として出力する(図7(b))。
【0062】
メモリMEMは、5番目のクロックパルスCKに対応するメモリクロックパルスMCKに同期して、メモリコマンド信号MCMD(A)およびメモリアドレス信号MAD(A)を受け、読み出し動作を開始する(図7(c))。メモリMEMは、メモリコア64からの読み出しデータ信号を、メモリデータ出力信号MDout0−3(A0−A3;読み出しデータ)として出力する(図7(d))。メモリデータ出力信号MDout0−3は、メモリコマンド信号MCMD(A)を受けた次のクロックパルスCKの立ち下がりエッジに対応する時刻(例えば、6番目のクロックパルスCK)に出力される。このように、メモリMEMは、読み出しコマンドMCMDを受けてから、1.5クロック後(例えば、CK6の立ち下がりエッジ)に読み出しデータA0−3を出力するように設計されている。このため、メモリMEMをアクセスするコントローラが、メモリMEMに直接接続される場合、コントローラは、読み出しコマンドMCMDの出力から2クロック後(例えば、CK7)に読み出しデータを受けることができる。すなわち、メモリMEM自体は、読み出しレイテンシRL=2で動作する。
【0063】
バーストアドレス信号bAD0−1の値が”0”であるため、インタフェース変換マクロIFCVのデータクロック生成回路32は、図5に示したように、7番目から10番目のクロックパルスCKに同期してデータ出力クロック信号DOCK0−3を順次に出力する。図2に示したパラレル/シリアル変換回路36は、データ出力クロック信号DOCK0−3にそれぞれ同期して、読み出しデータ信号A0、A1、A2、A3をデータ出力信号ODATとして順次に出力する。そして、データ出力バッファ20からデータ出力端子Doutに読み出しデータ信号A0−A3が順次に出力される(図7(e))。図1に示したコントローラCTRL1またはCTRL2は、8番目から11番目のクロックパルスCKに同期して読み出しデータ信号A0−A3を受ける。すなわち、コントローラCTRL1またはCTRL2が読み出しコマンドRDをインタフェース変換マクロIFCVに出力してから、最初の読み出しデータ信号A0を受けるまでのクロック数(読み出しレイテンシRL)は、”7”である。
【0064】
2番目以降の読み出しコマンドRD(B−D)に伴う読み出し動作も、上述と同様に実行される。但し、データ出力端子Doutから出力される読み出しデータ信号の出力順は、バーストアドレス信号bAD0−1の値に応じて変化する。すなわち、バーストアドレス信号bAD0−1の値が”3”のとき、読み出しデータ信号は、データ出力信号MDout3、0−2の順で出力される(図7(f))。バーストアドレス信号bAD0−1の値が”2”のとき、読み出しデータ信号は、データ出力信号MDout2−3、0−1の順で出力される(図7(g))。
【0065】
なお、リフレッシュコマンドREFに応答するメモリMEMのリフレッシュ動作は、メモリデータ出力信号MDout0−3がメモリMEMから出力されないことを除き、読み出し動作と同じタイミングで実行される。
【0066】
図8は、第1の実施形態の書き込み動作を示している。この例では、この例では、4クロックサイクル毎に書き込みコマンドWRが供給される。インタフェース変換マクロIFCVは、クロック信号CKの立ち上がりエッジに同期してコマンド信号CMD(A)、アドレス信号AD(A)およびバーストアドレス信号bAD0−1(0)を受ける(図8(a))。また、インタフェース変換マクロIFCVは、1番目から4番目のクロックパルスCKに同期して、データ入力端子Dinで書き込みデータ信号A0、A1、A2、A3を順次に受ける(図8(b))。シリアル/パラレル変換回路34の書き込みデータ保持回路WHLDは、データ入力クロック信号DICK0−3に同期して書き込みデータ信号A0−A3を順次に保持する(図8(c))。ここで、書き込みデータ保持回路WHLDは、書き込みデータ信号A0−A3を、バーストアドレス信号bAD0−1の値に応じてメモリデータ入力信号MDin0−3に対応する4つのバッファに保持する。書き込みデータ信号A0−A3を保持するバッファの位置は、データクロック生成回路32から出力されるデータ出力クロック信号DOCK0−3(図5)により決まる。
【0067】
図2に示したクロック制御回路22は4番目のクロックパルスCKの立ち下がりエッジに同期して、出力クロック信号OUTCKを出力する(図示せず)。コマンドレジスタ28およびアドレスレジスタ30は、受けたコマンド信号CMD(A)、アドレス信号AD(A)をメモリコマンド信号MCMD(A)、メモリアドレス信号MAD(A)として出力する(図8(d))。メモリMEMは、5番目のクロックパルスCKに対応するメモリクロックパルスMCKに同期して、メモリコマンド信号MCMD(A)、メモリアドレス信号MAD(A)および書き込みデータ信号A0−A3を受け、書き込み動作を開始する(図8(e))
2番目以降の書き込みコマンドWR(B−D)に伴う書き込み動作も、上述と同様に実行される。但し、書き込みデータ信号A0−A3が伝達されるメモリデータ入力信号線MDin0−3は、バーストアドレス信号bAD0−1の値に応じて変化する。すなわち、バーストアドレス信号bAD0−1の値が”3”のとき、書き込みデータ信号A0−A3は、メモリデータ入力信号線MDin3、0−2にそれぞれ供給される(図8(f))。バーストアドレス信号bAD0−1の値が”2”のとき、書き込みデータ信号A0−A3は、メモリデータ入力信号線MDin2−3、0−1にそれぞれ供給される(図8(g))。
【0068】
以上、第1の実施形態では、インタフェース変換マクロIFCVによりシステムインタフェース仕様およびメモリインタフェース仕様を相互に変換することにより、システムインタフェース仕様が異なる場合にも、SoC(半導体集積回路)に共通のメモリマクロMEMを搭載できる。したがって、システムSYSを設計する際に、メモリマクロMEMの設計検証時間および評価時間を削減できる。換言すれば、SoCの設計検証時間、評価時間および試験時間を短縮できる。例えば、試験時間は、メモリマクロMEMの出荷数に応じて市場での信頼性が確保されたときに、試験項目を削減するなどして短縮される。この結果、SoCの設計期間および設計コストを削減できる。
【0069】
例えば、相互に変換されるインタフェース仕様として、バースト長BLおよび読み出しレイテンシRLがある。バースト長BLおよび読み出しレイテンシRLに応じて、クロック制御回路22の論理を変更することで、インタフェース変換マクロIFCVにより、データ信号のインタフェース仕様を相互に変換でき、メモリマクロMEMを誤動作することなくアクセスできる。あるいは、相互に変換されるインタフェース仕様として、コマンド信号CMDがある。コントローラCTRL1−2から出力されるコマンド信号CMDのインタフェース仕様に応じて、コマンドデコーダ24およびコマンド変換回路26等の論理を変更することで、インタフェース変換マクロIFCVにより、メモリマクロMEMを誤動作することなくアクセスできる。
【0070】
図9は、本発明の第2の実施形態のインタフェース変換マクロIFCVを示している。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のインタフェース変換マクロIFCVは、第1の実施形態のインタフェース変換マクロIFCVのクロック制御回路22およびデータクロック生成回路32の代わりに、クロック制御回路22Aおよびデータクロック生成回路32Aを有している。インタフェース変換マクロIFCVを除く構成は、第1の実施形態と同じである。
【0071】
第2の実施形態のシステムSYSの構成は、第1の実施形態(図1)と同じである。但し、コントローラマクロCTRL1またはCTRL2は、2ビットのバーストアドレス信号bAD0−1の代わりに、1ビットのバーストアドレス信号bADと1ビットのデータ選択アドレス信号SDTを出力する。SoCに搭載されるメモリマクロMEMは、第1の実施形態と同じである。この実施形態では、インタフェース変換マクロIFCVにより、第1の実施形態と同じメモリマクロMEMを用いて、バースト長BL=2、読み出しレイテンシRL=5のアクセス動作が実行される。バースト長BLが”2”のため、読み出しコマンドRDに応答してインタフェース変換マクロIFCVからコントローラCTRL1またはCTRL2に出力されるシリアルの読み出しデータ信号Dinの数は、メモリマクロMEMから出力されるパラレルの読み出しデータ信号MDout0−3の数より少ない。
【0072】
書き込み動作時に、データ選択アドレスSDTは、シリアルの書き込みデータ信号IDATを保持する保持部の位置を示す。換言すれば、書き込み動作時に、4つのメモリデータ入力信号線グループMDin0−3のうちの2つに対応する保持部が、データ選択アドレスSDTにより選択される。そして、2つのシリアルの書き込みデータ信号IDATが、選択された2つのメモリデータ入力信号MDinとしてメモリマクロMEMに出力される。なお、書き込みコマンドWR毎に供給されるデータ入力信号IDAT(シリアルの書き込みデータ信号)の総ビット数(64ビット)は、書き込みデータ保持回路WHLDの保持部の数(128個)より少ない。
【0073】
読み出し動作時に、4つのメモリデータ出力信号線グループMDout0−3のうちの2つが、データ選択アドレスSDTにより選択される。そして、選択されたメモリデータ出力信号MDoutが、2つのシリアルの読み出しデータ信号ODATとして出力される。
【0074】
バーストアドレスバッファ/ラッチ16は、バーストアドレス信号bADおよびデータ選択アドレス信号SDTを受け、開始アドレスSADおよびデータ選択アドレスSDとして出力する。クロック制御回路22Aは、図4に示したように、BL=2、RL=5に対応するメモリクロック信号MCK、出力クロック信号OUTCK、読み出しクロック信号RCKおよび書き込みクロック信号WCKを生成する。
【0075】
データクロック生成回路32Aは、読み出しクロック信号RCKに同期してデータ出力クロック信号DOCK0−3のうち連続する2つを生成し、書き込みクロックWCKに同期してデータ入力クロック信号DICK0−3のうち連続する2つを生成する。データ出力クロック信号DOCK0−3の生成順およびデータ入力クロック信号DICK0−3の生成順は、1ビットの開始アドレスSADの値および1ビットのデータ選択アドレス信号SDTの値に応じて設定される。また、データクロック生成回路32Aは、書き込み動作時に、データ入力信号MDin0−1、2−3のうち書き込みデータが供給されない一方のペアをマスクするために、データ選択アドレスSDに応じてデータマスク信号MDM0−1またはMDM2−3のいずれかを出力する。
【0076】
換言すれば、読み出し動作時に、データクロック生成回路32Aは、パラレルの読み出しデータ信号MDout0−3のうち、コントローラCTRL1またはCTRL2が必要とする読み出しデータ信号MDout0−1またはMDout2−3を、データ選択アドレス信号SDTに応じて選択し、選択した読み出しデータ信号MDoutに対応するデータ出力クロック信号DOCKを、バーストアドレス信号bADに応じて順次に生成し、生成したデータ出力クロック信号DOCKをパラレル/シリアル変換回路36に出力する。
【0077】
また、書き込み動作時に、データクロック生成回路32Aは、書き込みデータ保持回路WHLDの保持部を示すデータ選択アドレスSDTに応じて、4つのメモリデータ入力信号線グループMDin0−3の2つに対応する保持部を選択し、選択した保持部に対応するデータ入力クロック信号DICKを、バーストアドレス信号bADに応じて順次に生成し、生成したデータ入力クロック信号DICKをシリアル/パラレル変換回路34に出力するとともに、選択しない保持部に対応するデータマスク信号MDM0−1またはMDM2−3をメモリマクロMEMに出力する。なお、この実施形態では、図6に示したメモリマクロMEMのデータマスク端子MDM0−3は、インタフェース変換マクロIFCVのデータマスク端子MDM0−3に接続されている。
【0078】
図10は、第2の実施形態の読み出し動作を示している。第1の実施形態(図7)と同じ動作については、詳細な説明は省略する。この例では、2クロックサイクル毎に読み出しコマンドRDが供給される。インタフェース変換マクロIFCVは、読み出しコマンドRDを受けた次のクロックパルスCKの立ち下がりエッジに同期してコマンド信号CMD(A)およびアドレス信号AD(A)をメモリMEMに出力する(図10(a))。メモリMEMは、例えば、3番目のクロックパルスCKに対応するメモリクロックパルスMCKに同期して、メモリコマンド信号MCMD(A)およびメモリアドレス信号MAD(A)を受け、読み出し動作を開始する(図10(b))。
【0079】
メモリMEMは、メモリコマンド信号MCMD(A)を受けた次のクロックパルスCKの立ち下がりエッジに対応する時刻(例えば、CK4の立ち下がりエッジ)にメモリデータ出力信号MDout0−3(読み出しデータA0−A3)を出力する(図10(c))。
【0080】
特に図示していないが、データクロック生成回路32Aは、5番目および6番目のクロックパルスCKに同期してデータ出力クロック信号DOCK0−1を順次に出力する。出力されるデータ出力クロック信号DOCKは、開始アドレスSADおよびデータ選択アドレスSDTに応じて決められる。データ選択アドレス信号SDTが”0”であるため、上位のデータグループであるデータ出力信号MDout0−1が選択される。そして、読み出しデータ信号A0−A1が、データ端子Doutから順次に出力される(図10(d))。図1に示したコントローラCTRL1またはCTRL2は、6番目から7番目のクロックパルスCKに同期して読み出しデータ信号A0−A1を受ける。すなわち、この実施形態の読み出しレイテンシRLは、”5”である。
【0081】
2番目以降の読み出しコマンドRD(B−D)に伴う読み出し動作も、上述と同様に実行される。但し、データ出力端子Doutから出力されるデータ出力信号MDoutのペアおよび選択されたデータ出力信号MDoutの出力順は、データ選択アドレス信号SDTの値およびバーストアドレス信号bADの値に応じて変化する。すなわち、データ選択アドレス信号SDTが”1”のとき、データ出力信号MDout2−3が出力される。データ出力信号MDout0−1または2−3は、バーストアドレス信号bADの値が偶数(=0)のときに、偶数のデータ出力信号MDoutが先に出力され、バーストアドレス信号bADの値が奇数(=1)のときに、奇数のデータ出力信号MDoutが先に出力される。
【0082】
図11は、第2の実施形態の書き込み動作を示している。第1の実施形態(図8)と同じ動作については、詳細な説明は省略する。この例では、2クロックサイクル毎に書き込みコマンドWRが供給される。インタフェース変換マクロIFCVは、書き込みコマンドWRを受けた次のクロックパルスCK2の立ち下がりエッジに同期してコマンド信号CMD(A)およびアドレス信号AD(A)をメモリMEMに出力する(図11(a))。メモリMEMは、例えば、3番目のクロックパルスCKに対応するメモリクロックパルスMCKに同期して、メモリコマンド信号MCMD(A)、メモリアドレス信号MAD(A)および書き込みデータ信号(この例ではA0−1)を受け、書き込み動作を開始する(図11(b))。
【0083】
例えば、最初の書き込みコマンドWR(A)に対応する書き込み動作では、バーストアドレス信号bADの値が”0”のため、最初に供給された書き込みデータ信号A0は、データ入力信号MDin0としてメモリMEMに供給される。次に供給された書き込みデータ信号A1は、データ入力信号MDin1としてメモリMEMに供給される(図11(c))。また、データ選択アドレスSDTの値が”0”のため、データマスク信号MDM0、1、2、3の値は、L、L、H、H(すなわち、16進数で”$C”)に設定される。メモリMEMは、データマスク信号MDM0−3に応じて、データ入力信号MDin2−3の伝達をマスクし(DM)、データ入力信号MDin0−1のみをメモリコア64に書き込む(図11(d))。
【0084】
2番目以降の書き込みコマンドWR(B−D)に伴う書き込み動作も、上述と同様に実行される。但し、データ選択アドレスSDTの値が”1”のとき、データマスク信号MDM0−3の値は、16進数で”$3”に設定される。このとき、データ入力信号MDin0−1がマスクされ(DM)、データ入力信号MDin2−3のみがメモリコア64に書き込まれる。バーストアドレス信号bADの値が偶数(=0)のときに、先に受けたデータ入力信号Dinが偶数のデータ入力端子MDoutに伝達され、バーストアドレス信号bADの値が奇数(=1)のときに、先に受けたデータ入力信号Dinが奇数のデータ入力端子MDoutに伝達される。
【0085】
以上、第2の実施形態においても、上述した第1の実施形態と同様の効果を得ることができる。さらに、この実施形態では、コントローラCTRL1−2で使用する書き込みデータ信号Dinのビット数が、メモリマクロMEMに供給される書き込みデータ信号MDin0−3のビット数より少ない場合にも、インタフェース変換マクロIFCVにより、メモリマクロMEMの書き込み動作を正常に実行できる。この際、シリアルの書き込みデータ信号Dinは、バーストアドレス信号bADに応じて、メモリマクロMEMの任意の書き込みデータ信号線MDinに出力可能である。あるいは、データ選択アドレスSDTに応じて、必要な書き込みデータ信号MDinのみをメモリマクロMEMに書き込み、他の書き込みデータ信号のメモリマクロへの書き込みをマスクできる。すなわち、メモリマクロMEMを誤動作することなくアクセスできる。
【0086】
同様に、コントローラCTRL1−2で使用する読み出しデータ信号Doutのビット数が、メモリマクロMEMから出力される読み出しデータ信号MDoutのビット数より少ない場合にも、インタフェース変換マクロIFCVにより、メモリマクロMEMの読み出し動作を正常に実行できる。この際、メモリマクロMEMから出力されるパラレルの読み出しデータ信号MDout0−3は、バーストアドレス信号bADに応じて、任意の順序でコントローラCTRL1またはCTRL2に出力可能である。あるいは、データ選択アドレスSDTに応じて、メモリマクロMEMから出力されるパラレルの読み出しデータ信号MDout0−3うち、任意の読み出しデータ信号のみを読み出しできる。すなわち、メモリマクロを誤動作することなくアクセスできる。
【0087】
このように、システムインタフェース仕様が異なる場合にも、複数のシステムSYSに共通に使用されるメモリマクロMEMの誤動作を、インタフェース変換マクロIFCVにより防止できる。
【0088】
図12は、本発明の第3の実施形態のインタフェース変換マクロIFCVを示している。第1および第2の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のインタフェース変換マクロIFCVは、第1の実施形態のインタフェース変換マクロIFCVのクロック制御回路22およびデータクロック生成回路32の代わりに、クロック制御回路22Bおよびデータクロック生成回路32Bを有している。インタフェース変換マクロIFCVを除く構成は、第1の実施形態と同じである。
【0089】
第3の実施形態のシステムSYSの構成は、第1の実施形態(図1)と同じである。但し、コントローラマクロCTRL1またはCTRL2は、バーストアドレス信号bAD0−1の代わりに、データ選択アドレス信号SDT0−1を出力する。SoCに搭載されるメモリマクロMEMは、第1の実施形態と同じである。この実施形態では、インタフェース変換マクロIFCVにより、第1の実施形態と同じメモリマクロMEMを用いて、バースト長BL=1、読み出しレイテンシRL=4のアクセス動作が実行される。
【0090】
バーストアドレスバッファ/ラッチ16は、データ選択アドレス信号SDT0−1を受け、データ選択アドレスSD0−1として出力する。クロック制御回路22Bは、図4に示したように、BL=1、RL=4に対応するメモリクロック信号MCK、出力クロック信号OUTCK、読み出しクロック信号RCKおよび書き込みクロック信号WCKを生成する。
【0091】
データクロック生成回路32Bは、読み出し動作時に、データ選択アドレスSD0−1に応じてデータ出力クロック信号DOCK0−3のいずれかを生成し、書き込み動作時に、データ選択アドレスSD0−1に応じてデータ入力クロック信号DICK0−3のいずれかを生成する。データ出力クロック信号DOCK0−3は、読み出しクロック信号RCKに同期して生成され、データ入力クロック信号DICK0−3は、書き込みクロックWCKに同期して生成される。また、データクロック生成回路32Bは、書き込み動作時に、データ入力信号MDin0−3のいずれかのみを供給するために、データ選択アドレスSD0−2に応じてデータマスク信号MDM0−3を出力する。
【0092】
このように、本実施形態では、読み出し動作時に、データクロック生成回路32Aは、パラレルの読み出しデータ信号MDout0−3のうちコントローラCTRL1またはCTRL2が必要とする読み出しデータ信号MDout0−3のいずれかを、データ選択アドレス信号SDTに応じて選択し、選択した読み出しデータ信号MDoutに対応するデータ出力クロック信号DOCKを生成し、生成したデータ出力クロック信号DOCKをパラレル/シリアル変換回路36に出力する。
【0093】
また、書き込み動作時に、データクロック生成回路32Aは、書き込みデータ保持回路WHLDの保持部を示すデータ選択アドレスSDTに応じて、4つのメモリデータ入力信号線グループMDin0−3のいずれかに対応する保持部を選択し、選択した保持部に対応するデータ入力クロック信号DICKを生成し、生成したデータ入力クロック信号DICKをシリアル/パラレル変換回路34に出力するとともに、選択しない保持部に対応するデータマスク信号MDM0−3をメモリマクロMEMに出力する。なお、この実施形態では、図6に示したメモリマクロMEMのデータマスク端子MDM0−3は、インタフェース変換マクロIFCVのデータマスク端子MDM0−3に接続されている。
【0094】
図13は、第3の実施形態の読み出し動作を示している。第1および第2の実施形態(図7、図10)と同じ動作については、詳細な説明は省略する。この例では、クロックサイクル毎に読み出しコマンドRDが供給される。インタフェース変換マクロIFCVは、読み出しコマンドRDを受けたクロックパルスCKの立ち下がりエッジに同期してコマンド信号CMD(A)およびアドレス信号AD(A)をメモリMEMに出力する(図13(a))。メモリMEMは、例えば、2番目のクロックパルスCKに対応するメモリクロックパルスMCKに同期して、メモリコマンド信号MCMD(A)およびメモリアドレス信号MAD(A)を受け、読み出し動作を開始する(図13(b))。
【0095】
メモリMEMは、メモリコマンド信号MCMD(A)を受けた次のクロックパルスCKの立ち下がりエッジに対応する時刻(例えば、CK3の立ち下がりエッジ)にメモリデータ出力信号MDout0−3(読み出しデータA0−A3)を出力する(図13(c))。
【0096】
特に図示していないが、データクロック生成回路32Bは、4番目のクロックパルスCKに同期してデータ出力クロック信号DOCK0−3のいずれかを出力する。出力されるデータ出力クロック信号DOCKの番号は、データ選択アドレスSDT0−1の値と同じである。そして、読み出しデータ信号A0が、4番目のクロックパルスデータCKに同期してデータ出力端子Doutから出力される(図13(d))。図1に示したコントローラCTRL1またはCTRL2は、5番目のクロックパルスCKに同期して読み出しデータ信号A0を受ける。すなわち、この実施形態の読み出しレイテンシRLは、”4”である。2番目以降の読み出しコマンドRD(B−D)に伴う読み出し動作も、上述と同様に実行される。
【0097】
図14は、第3の実施形態の書き込み動作を示している。第1および第2の実施形態(図8、図11)と同じ動作については、詳細な説明は省略する。この例では、クロックサイクル毎に書き込みコマンドWRが供給される。インタフェース変換マクロIFCVは、書き込みコマンドWRを受けたクロックパルスCKの立ち下がりエッジに同期してコマンド信号CMD(A)およびアドレス信号AD(A)をメモリMEMに出力する(図14(a))。メモリMEMは、例えば、2番目のクロックパルスCKに対応するメモリクロックパルスMCKに同期して、メモリコマンド信号MCMD(A)、メモリアドレス信号MAD(A)および書き込みデータ信号(この例ではA0)を受け、書き込み動作を開始する(図14(b))。
【0098】
例えば、最初の書き込みコマンドWR(A)に対応する書き込み動作では、データ選択アドレスSDTの値が”0”のため、最初に供給された書き込みデータ信号A0は、データ入力信号MDin0としてメモリMEMに供給される(図14(c))。次の書き込みコマンドWR(B)に対応する書き込み動作では、データ選択アドレスSDTの値が”1”のため、書き込みデータ信号B1が、データ入力信号MDin1としてメモリMEMに供給される(図14(d))。次の書き込みコマンドWR(C)に対応する書き込み動作では、データ選択アドレスSDTの値が”3”のため、書き込みデータ信号C3が、データ入力信号MDin3としてメモリMEMに供給される(図14(e))。次の書き込みコマンドWR(D)に対応する書き込み動作では、データ選択アドレスSDTの値が”2”のため、書き込みデータ信号D2が、データ入力信号MDin2としてメモリMEMに供給される(図14(f))。なお、データクロック生成回路32Bは、第2の実施形態と同様に、データ選択アドレスSDT01−に応じて、選択しない保持部に対応するデータマスク信号MDM0−3のいずれか3つをメモリマクロMEMに出力する。以上、第3の実施形態においても、上述した第1および第2の実施形態と同様の効果を得ることができる。
【0099】
図15は、本発明の第4の実施形態のインタフェース変換マクロIFCVを示している。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のインタフェース変換マクロIFCVは、第1の実施形態のインタフェース変換マクロIFCVのクロック制御回路22およびパラレル/シリアル変換回路36の代わりに、クロック制御回路22Cおよびパラレル/シリアル変換回路36Cを有している。インタフェース変換マクロIFCVを除く構成は、第1の実施形態と同じである。
【0100】
第4の実施形態のシステムSYSの構成は、第1の実施形態(図1)と同じである。但し、コントローラマクロCTRL1またはCTRL2は、バースト長BL=4、読み出しレイテンシRL=9でアクセス動作を実行する。クロック制御回路22Cは、読み出しレイテンシRL=9を実現するために、読み出しクロック信号RCKの出力タイミングを第1の実施形態に比べて2クロックサイクルだけ遅らせる。パラレル/シリアル変換回路36Cは、読み出しレイテンシRL=9を実現するために、メモリMEMから読み出されるメモリ出力データ信号MDout0−3を一時的に保持する読み出しデータ保持回路RHLDを有している。
【0101】
図16は、第4の実施形態の読み出し動作を示している。第1の実施形態(図7)と同じ動作については、詳細な説明は省略する。メモリMEMからデータ出力信号MDout0−3(読み出しデータ)が出力されるまでのタイミングは、図7と同じである。インタフェース変換マクロIFCVは、読み出しコマンドRDが供給された後、8番目のクロックパルス(例えば、CK9)に同期して、データ出力信号MDout0−3を読み出しデータ保持回路RHLDに保持する(図16(a))。そして、読み出しデータ信号A0−A3は、9番目から12番目のクロックパルスCKに同期してデータ端子Doutから順次に出力される(図16(b))。図1に示したコントローラCTRL1またはCTRL2は、10番目から13番目のクロックパルスCKに同期して読み出しデータ信号A0−A3を順次に受ける。すなわち、この実施形態の読み出しレイテンシRLは、”9”である。
【0102】
なお、書き込み動作は、第1の実施形態(図8)と同じである。以上、第4の実施形態においても、上述した第1の実施形態と同様の効果を得ることができる。
【0103】
図17は、本発明の第5の実施形態のインタフェース変換マクロIFCVを示している。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のインタフェース変換マクロIFCVは、第1の実施形態のインタフェース変換マクロIFCVのバーストアドレスバッファ/ラッチ16、クロック制御回路22、コマンドデコーダ24、アドレスレジスタ30およびパラレル/シリアル変換回路36の代わりに、バーストアドレスバッファ/ラッチ16D、クロック制御回路22D、コマンドデコーダ24D、アドレスレジスタ30Dおよびパラレル/シリアル変換回路36Dを有している。また、インタフェース変換マクロIFCVは、メモリデータ入力信号MDinをパラレル/シリアル変換回路36Dに転送するためのスイッチSWを有している。インタフェース変換マクロIFCVを除く構成は、第1の実施形態と同じである。
【0104】
この実施形態では、インタフェース変換マクロIFCVは、レイトライト機能を内蔵している。レイトライト機能は、書き込みコマンドWRに対応して供給される書き込みデータを次の書き込みコマンドWRの供給時にメモリマクロMEMのメモリセルMCに書き込む機能である。レイトライト機能は、インタフェース変換マクロIFCVの内部機能である。このため、メモリマクロMEMをアクセスするコントローラCTRL1またはCTRL2は、レイトライト機能を認識しない。しかし、レイトライト機能により、システムインタフェース仕様を改善できる。具体的には、レイトライト機能により、書き込みコマンドWRを受けてから書き込み動作を開始するまでの時間を短くできる。特に、バースト書き込み動作において、最後に供給される書き込みデータ信号を待つことなく書き込み動作を開始できる。また、インタフェース変換マクロIFCVが、読み出し動作と書き込み動作で共通のメモリクロック信号MCKおよび出力クロック信号OUTCKを生成する場合に、読み出しレイテインシRL(クロック数)を少なくできる。この結果、メモリバスMBUSの使用効率を向上できる。
【0105】
レイトライト機能を実現するために、バーストアドレスバッファ/ラッチ16Dのラッチ回路は、書き込みコマンドWRとともに供給されるバーストアドレス信号bAD0−1を、次の書き込みコマンドWRが供給されるまで保持する機能を有する。シリアル/パラレル変換回路34Dの書き込みデータ保持回路WHLDは、書き込みデータ信号Dinを次の書き込みコマンドWRが供給されるまで保持する機能を有する。
【0106】
アドレスレジスタ30Dは、アドレスADを保持する図示しないレジスタに加えて、書き込みアドレス保持部WRA、セレクタSELおよび比較器CMPを有している。書き込みアドレス保持部WRAは、書き込みコマンドWRとともに供給されるアドレス信号ADを、次の書き込みコマンドWRが供給されるまで保持する機能を有する。セレクタSELは、読み出しコマンドRDおよびリフレッシュコマンドREFが供給されるときに、アドレスバッファ/ラッチ14からのアドレス信号ADをメモリアドレス信号MADとして出力する。セレクタSELは、書き込みコマンドWRが供給されるときに、書き込みアドレス保持部WRAに保持されたアドレス信号ADをメモリアドレス信号MADとして出力する。読み出しコマンドRD、書き込みコマンドWRおよびリフレッシュコマンドREFを示す信号は、コマンドデコーダ24Dにより生成される。比較器CMPは、読み出しコマンドRDとともに供給されるアドレス信号ADが書き込みアドレス保持部WRAに保持されたアドレス信号ADと一致するときに、一致信号COINを出力する。
【0107】
スイッチ回路SWは、一致信号COINに応答してオンし、メモリデータ入力信号MDin0−3をパラレル/シリアル変換回路36Dに転送する。パラレル/シリアル変換回路36Dは、一致信号COINが出力されないときに、メモリデータ出力信号MDout0−3をデータ出力信号ODATとして順次に出力する。パラレル/シリアル変換回路36Dは、一致信号COINが出力されたときに、メモリデータ入力信号MDin0−3をデータ出力信号ODATとして順次に出力する。
【0108】
図18は、第5の実施形態の読み出し動作を示している。第1の実施形態(図7)と同じ動作については、詳細な説明は省略する。この例では、出力クロック信号OUTCKは、読み出しコマンドRDを受けたクロック信号CKの立ち下がりエッジに同期して出力される。メモリコマンド信号MCMDおよびメモリアドレス信号MADは、出力クロック信号OUTCKに同期してメモリMEMに出力される(図18(a))。メモリクロック信号MCKは、例えば、読み出しコマンドRDを受けたクロックパルスCKの次のクロックパルスCKに同期して生成される(図18(b))。メモリクロックMCKが出力された後の動作は、図7と同じである。
【0109】
コマンド信号CMDに対する出力クロック信号OUTCKおよびメモリクロック信号MCKの生成タイミングは、図19に示す書き込み動作と同じである。このため、クロック制御回路22Dの一部を書き込み動作と読み出し動作とで共通にでき、インタフェース変換マクロIFCVの回路規模を削減できる。この実施形態では、コマンド信号MCMD等をメモリMEMに出力するためのメモリクロック信号MCKの出力タイミングを早くできるため、読み出しレイテインシRLを”4”に設定できる。
【0110】
なお、レイトライト動作では、直前の書き込みコマンドWRとともに供給された書き込みデータ信号Dinは、メモリセルMCに書き込まれていない。このため、読み出しコマンドRDとともに供給されるアドレス信号AD(B)が、直前の書き込みコマンドWRとともに供給されたアドレス信号AD(Z)と同じ場合、一致信号COINが出力され(図18(c))、シリアル/パラレル変換回路34の書き込みデータ保持回路WHLDに保持されているデータ信号Z0−3が、データ出力信号Doutとして出力される(図18(d))。
【0111】
図19は、第5の実施形態の書き込み動作を示している。第1の実施形態(図8)と同じ動作については、詳細な説明は省略する。この例では、シリアル/パラレル変換回路34の書き込みデータ保持回路WHLDは、前回の書き込みコマンドWRとともに供給された書き込みデータ信号(例えば、Z0−3)と、今回の書き込みコマンドWRとともに供給された書き込みデータ信号(例えば、A0−3)とを保持する(図19(a))。アドレスレジスタ30Dの書き込みアドレス保持部WRAは、前回の書き込みコマンドWRとともに供給されたアドレス信号(例えば、Z)と、今回の書き込みコマンドWRとともに供給されたアドレス信号(例えば、A)を保持する(図19(b))。
【0112】
インタフェース変換マクロIFCVは、書き込みコマンドWRに応答して、前回の書き込みコマンドWRとともに供給されたアドレス信号Zおよび書き込みデータ信号Z0−3を、メモリアドレス信号ADおよびメモリデータ入力信号MDinとしてメモリマクロMEMに出力する(図19(c、d))。そして、レイトライト動作が実行される。なお、レイトライト機能は、インタフェース変換マクロIFCVにより実現され、メモリマクロMEMは、レイトライト機能を内蔵していない。このため、システムSYSがレイトライト機能を搭載する場合にも、レイトライト機能を持たない共通のメモリマクロMEMを使用できる。
【0113】
以上、第5の実施形態においても、上述した第1の実施形態と同様の効果を得ることができる。さらに、この実施形態では、インタフェース変換マクロIFCVにレイトライト機能を搭載することにより、読み出しレイテインシRLを少なくできる。また、書き込みコマンドWRを受けてから書き込み動作を開始するまでの時間を短くできる。この結果、共通のメモリマクロMEMを使用する場合にも、メモリバスMBUSの使用効率を向上できる。
【0114】
図20は、本発明の第6の実施形態を示している。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、SoCは、メモリマクロMEMの動作テストを実行するためのテスト回路BISTと、テスト用のシフトレジスタSFTR、入力選択回路ISELおよび出力選択回路OSELを有している。テスト回路BISTは、入力選択回路ISELおよび出力選択回路OSELを介してメモリマクロMEMに直接接続されている。テスト回路BISTは、メモリマクロMEMの動作テストの結果TRSLTをメモリバスMBUSに出力する。SoCは、テストクロックTCKを受けるテストクロック端子を有している。テスト回路BISTおよび制御回路ISEL、OSEL、SFTRを除くSoCの構成は、第1の実施形態と同じである。システムSYSの構成は、SoCのテスト機能を除き、第1の実施形態と同じである。すなわち、システムSYSは、例えば、携帯電話等の携帯機器である。
【0115】
テスト回路BISTは、いわゆるビルトインセルフテスト回路であり、テストモード中に、テストパターンをメモリMEMに出力し、メモリMEMから読み出されるデータ出力信号をテストデータ出力信号TDoutとして受ける。テスト回路BISTは、テストデータ出力信号TDoutを期待値と比較し、メモリマクロMEMの良否を判定し、判定結果をテスト結果信号TRSLTを出力する。テストパターンは、メモリインタフェース仕様に従ったテストクロック信号CLK、テストコマンド信号TCMD、テストアドレス信号TADおよびテストデータ入力信号TDinとしてメモリMEMに供給される。
【0116】
シフトレジスタSFTRは、テストモード中に受けるテストクロック信号CLKのパルス数に応じて、SoC内の機能ブロックのテストを実施するテスト信号TEST1、2、...、nのいずれかを出力する。テスト信号TEST1が出力されたとき、テスト回路BISTによるメモリMEMのテストが実施される。
【0117】
入力選択回路ISELは、通常動作モード中にインタフェース変換マクロIFCVからの信号MCK、MCMD、MAD、MDinをメモリMEMに出力し、テストモード中に、テスト信号TEST1が出力されたときに、テスト回路BISTからの信号TCK、TCMD、TAD、TDinをメモリMEMに出力する。出力選択回路OSELは、通常動作モード中にメモリMEMからのデータ出力信号をメモリデータ出力信号MDoutとしてインタフェース変換マクロIFCVに出力し、テストモード中に、テスト信号TEST1が出力されたときに、メモリMEMからのデータ出力信号をテストデータ出力信号TDoutとしてテスト回路BISTに出力する。すなわち、入力選択回路ISELおよび出力選択回路OSELは、テストモード中にテスト回路BISTをメモリマクロMEMに接続し、通常動作モード中にインタフェース変換マクロIFCVをメモリマクロMEMに接続するセレクタとして動作する。
【0118】
この実施形態では、テスト回路BISTによる動作テストの結果TRSLTは、外部端子を介してSoCの外部に出力される。あるいは、動作テストの結果TRSLTは、コントローラCTRL1−2の少なくともいずれかに保持された後、SoCの外部に出力される。これにより、複数のSoCチップで構成される半導体ウエハが製造された後に、メモリマクロMEMの動作テストを実施できる。あるいは、SoCがパッケージングされた後に、メモリマクロMEMの動作テストを実施できる。
【0119】
さらに、この実施形態では、コントローラCTRL1−2のシステムインタフェース仕様に関わりなく、共通のメモリマクロMEMが使用される。換言すれば、メモリマクロMEMをアクセスするための複数種のシステムインタフェース仕様は、インタフェース変換マクロIFCVによりメモリマクロMEMをアクセスするための共通のメモリインタフェース仕様に変換される。SoCに搭載されるメモリマクロMEMの動作仕様(インタフェース仕様)をシステムSYSによらず同一にできるため、テスト回路BISTをシステムSYSのシステムインタフェース仕様によらず共通にできる。
【0120】
以上、第6の実施形態においても、上述した第1の実施形態と同様の効果を得ることができる。さらに、この実施形態では、インタフェース変換マクロIFCVをSoCに搭載することで、システム仕様に依存しないメモリマクロMEMを使用できるため、システム仕様に依存しない共通のテスト回路BISTを使用できる。したがって、システムSYSを設計する際に、メモリマクロMEMのテスト設計の時間を削減できる。この結果、SoC(半導体集積回路)の設計期間および設計コストを削減できる。
【0121】
なお、上述した実施形態では、本発明をDRAMのメモリマクロMEMを搭載するSoCに適用する例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明を、擬似SRAM、SRAM、フラッシュメモリ、あるいは強誘電体メモリのメモリマクロを搭載するSoCに適用してもよい。
【0122】
上述した第3の実施形態では、バースト長BL=1に対応する例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、コントローラCTRL1またはCTRL2が、図3に示したメモリコマンド信号MCMDを出力する場合、メモリマクロMEMは、メモリバスMBUSに直接に接続可能である。この場合、図13おいて、例えば、読み出しコマンドMCMD(A)がクロックパルスCK2に同期してメモリMEMに供給され、コントローラCTRL1またはCTRL2は、クロックパルスCK5に同期して最初の読み出しデータ信号A0を受けることができる。したがって、読み出しレイテインシRLを”3”にできる。
【0123】
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1)
メモリセルアレイと、前記メモリセルアレイをアクセスするために、メモリインタフェース仕様に従った信号を入出力するメモリインタフェース部とを有するメモリマクロと、
コントローラから出力されるシステムインタフェース仕様に従った信号を、メモリインタフェース仕様に従った信号に変換し、前記メモリインタフェース部に出力するとともに、前記メモリインタフェース部から出力される信号を、システムインタフェース仕様に従った信号に変換し、前記コントローラに出力するインタフェース変換マクロとを備えていることを特徴とする半導体集積回路。
(付記2)
付記1記載の半導体集積回路において、
前記インタフェース変換マクロは、
前記コントローラから出力されるコマンド信号を解読するコマンドデコーダと、
メモリインタフェース仕様に従ったクロックパルスを、前記コマンドデコーダの解読結果に応じて生成するクロック制御回路と、
前記コントローラから出力される書き込みデータ信号を保持するラッチと、
前記ラッチに保持された書き込みデータ信号を、前記クロックパルスに同期して保持し、保持した書き込みデータ信号を前記メモリマクロに出力する書き込みデータ変換回路と、
前記メモリマクロから出力される読み出しデータ信号を前記クロックパルスに同期して前記コントローラに出力する読み出しデータ変換回路とを備えていることを特徴とする半導体集積回路。
(付記3)
付記2記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドおよび書き込みコマンドの少なくともいずれかを含み、
システムインタフェース仕様は、1回の読み出しコマンドに応答して出力される読み出しデータ信号の回数または1回の書き込みコマンドに応答して入力される書き込みデータ信号の回数を示すバースト長を含み、
前記クロック制御回路は、バースト長に対応する数のクロックパルスを生成することを特徴とする半導体集積回路。
(付記4)
付記2記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドを含み、
システムインタフェース仕様は、読み出しコマンドが供給されてから読み出しデータが出力されるまでのクロック数を示す読み出しレイテンシを含み、
前記クロック制御回路は、前記コマンドデコーダの解読結果が読み出しコマンドを示すときに、読み出しレイテンシに対応するクロック数後にクロックパルスを生成することを特徴とする半導体集積回路。
(付記5)
付記2記載の半導体集積回路において、
前記インタフェース変換マクロから前記メモリマクロに出力される書き込みデータ信号のビット数は、前記コントローラから前記インタフェース変換マクロに出力される書き込みデータ信号のビット数の整数倍であり、
前記書き込みデータ変換回路は、前記コントローラから出力されるシリアルの書き込みデータ信号を前記クロックパルスに同期して保持し、前記クロックパルスが出力された後に、保持している書き込みデータ信号をパラレルの書き込みデータ信号として前記メモリマクロに出力する書き込みデータ保持回路を備えていることを特徴とする半導体集積回路。
(付記6)
付記5記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と書き込みデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記書き込みデータ保持回路は、前記メモリマクロに出力される書き込みデータ信号のビット数に対応する複数の保持部を備え、
前記データクロック生成回路は、シリアルの書き込みデータ信号を前記保持部のいずれに保持するかを示すバーストアドレス信号に応じて、前記保持部にそれぞれ対応するデータ入力クロック信号を順次に生成し、生成したデータ入力クロック信号を前記クロックパルスとして前記書き込みデータ変換回路に出力することを特徴とする半導体集積回路。
(付記7)
付記6記載の半導体集積回路において、
前記コマンド信号に対応して前記コントローラから出力されるシリアルの書き込みデータ信号の数は、前記保持部の数より少なく、
前記データクロック生成回路は、シリアルの書き込みデータ信号を保持する保持部を示すデータ選択アドレスに応じて、保持部の少なくともいずれかを選択し、選択した保持部に対応するデータ入力クロック信号を、前記バーストアドレス信号に応じて順次に生成し、生成したデータ入力クロック信号を前記クロックパルスとして前記書き込みデータ変換回路に出力するとともに、選択しない保持部に対応するデータマスク信号を前記メモリマクロに出力し、
前記メモリマクロは、データマスク信号に対応する書き込みデータ信号のメモリセルへの書き込みをマスクすることを特徴とする半導体集積回路。
(付記8)
付記5記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と書き込みデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記書き込みデータ保持回路は、前記メモリマクロに出力される書き込みデータ信号のビット数に対応する複数の保持部を備え、
前記コマンド信号に対応して前記コントローラから出力されるシリアルの書き込みデータ信号の数は、前記保持部の数より少なく、
前記データクロック生成回路は、シリアルの書き込みデータ信号を保持する保持部を示すデータ選択アドレスに応じて、保持部の少なくともいずれかを選択し、選択した保持部に対応するデータ入力クロック信号を生成し、生成したデータ入力クロック信号を前記クロックパルスとして前記書き込みデータ変換回路に出力するとともに、選択しない保持部に対応するデータマスク信号を前記メモリマクロに出力し、
前記メモリマクロは、データマスク信号に対応する書き込みデータ信号のメモリセルへの書き込みをマスクすることを特徴とする半導体集積回路。
(付記9)
付記2記載の半導体集積回路において、
前記メモリマクロから前記インタフェース変換マクロに出力される読み出しデータ信号のビット数は、前記インタフェース変換マクロから前記コントローラに出力される読み出しデータ信号のビット数の整数倍であり、
前記読み出しデータ変換回路は、前記メモリマクロから出力されるパラレルの読み出しデータ信号を、前記クロックパルスに同期してシリアルの読み出しデータ信号に変換し、変換した読み出しデータ信号を前記コントローラに出力することを特徴とする半導体集積回路。
(付記10)
付記9記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と読み出しデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記データクロック生成回路は、パラレルの読み出しデータ信号の前記コントローラへの出力順を示すバーストアドレス信号に応じてデータ出力クロック信号を順次に生成し、生成したデータ出力クロック信号を前記クロックパルスとして前記読み出しデータ変換回路に出力することを特徴とする半導体集積回路。
(付記11)
付記10記載の半導体集積回路において、
前記コマンド信号に応答して前記インタフェース変換マクロから前記コントローラに出力されるシリアルの読み出しデータ信号の数は、前記メモリマクロから出力されるパラレルの読み出しデータ信号の数より少なく、
前記データクロック生成回路は、パラレルの読み出しデータ信号のうち前記コントローラが必要とする読み出しデータ信号を、データ選択アドレス信号に応じて選択し、選択した読み出しデータ信号に対応するデータ出力クロック信号を、前記バーストアドレス信号に応じて順次に生成し、生成したデータ出力クロック信号を前記クロックパルスとして前記読み出しデータ変換回路に出力することを特徴とする半導体集積回路。
(付記12)
付記9記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と読み出しデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記コマンド信号に応答して前記インタフェース変換マクロから前記コントローラに出力されるシリアルの読み出しデータ信号の数は、前記メモリマクロから出力されるパラレルの読み出しデータ信号の数より少なく、
前記データクロック生成回路は、パラレルの読み出しデータ信号のうち前記コントローラが必要とする読み出しデータ信号を、データ選択アドレス信号に応じて選択し、選択した読み出しデータ信号に対応するデータ出力クロック信号を、前記バーストアドレス信号に応じて生成し、生成したデータ出力クロック信号を前記クロックパルスとして前記読み出しデータ変換回路に出力することを特徴とする半導体集積回路。
(付記13)
付記1記載の半導体メモリマクロにおいて、
前記インタフェース変換マクロは、
前記コントローラから出力されるシステムインタフェース仕様に従ったコマンド信号を、メモリインタフェース仕様に従ったコマンド信号に変換し、変換したコマンド信号を前記メモリマクロに出力するコマンド変換回路を備えていることを特徴とする半導体集積回路。
(付記14)
付記1記載の半導体集積回路において、
前記コマンド信号は、書き込みコマンドを含み、
前記インタフェース変換マクロは、
書き込みコマンドに対応して供給されるアドレス信号および書き込みデータ信号を、次の書き込みコマンドが供給されるまで保持する保持回路と、
次の書き込みコマンドに対応して前記保持回路に保持されているアドレス信号および書き込みデータ信号を前記メモリマクロに出力するメモリ出力回路とを備えていることを特徴とする半導体集積回路。
(付記15)
付記14記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドを含み、
前記インタフェース変換マクロは、
読み出しコマンドに対応して供給されるアドレス信号が、前記保持回路により保持されているアドレス信号に一致するときに、前記保持回路に保持されている書き込みデータ信号を読み出しデータ信号として出力する読み出し出力回路を備えていることを特徴とする半導体集積回路。
(付記16)
付記1記載の半導体集積回路において、
前記メモリマクロをアクセスするために、メモリインタフェース仕様に従ったテスト信号を前記メモリマクロに出力し、前記テスト信号に応答して前記メモリマクロから出力されるテスト読み出しデータ信号を期待値と比較し、前記メモリマクロの良否を判定するテスト回路と、
テストモード中に前記テスト回路を前記メモリマクロに接続し、通常動作モード中に前記インタフェース変換マクロを前記メモリマクロに接続するセレクタとを備えていることを特徴とする半導体集積回路。
(付記17)
付記1記載の半導体集積回路において、
半導体集積回路は、前記コントローラを備え、
前記インタフェース変換マクロは、アレイ状に予め形成された論理素子の端子間を配線により接続することにより、前記コントローラとともに製造され、
前記インタフェース変換マクロのテストは、前記コントローラのテストとともに実施されることを特徴とする半導体集積回路。
(付記18)
付記17記載の半導体集積回路において、
前記メモリマクロは、ハードマクロとして設計され、
前記インタフェース変換マクロは、ソフトマクロとして設計されることを特徴とする半導体集積回路。
【0124】
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【産業上の利用可能性】
【0125】
本発明は、メモリマクロが搭載される半導体集積回路に適用可能である。
【図面の簡単な説明】
【0126】
【図1】第1の実施形態を示すブロック図である。
【図2】図1に示したインタフェース変換マクロの詳細を示すブロック図である。
【図3】コントローラから出力されるコマンド信号と、メモリマクロに供給されるメモリコマンド信号との関係を示す説明図である。
【図4】図2に示したクロック制御回路の動作を示すタイミング図である。
【図5】図2に示したデータクロック生成回路の動作を示すタイミング図である。
【図6】図1に示したメモリマクロの詳細を示すブロック図である。
【図7】第1の実施形態の読み出し動作を示すタイミング図である。
【図8】第1の実施形態の書き込み動作を示すタイミング図である。
【図9】第2の実施形態のインタフェース変換マクロを示すブロック図である。
【図10】第2の実施形態の読み出し動作を示すタイミング図である。
【図11】第2の実施形態の書き込み動作を示すタイミング図である。
【図12】第3の実施形態のインタフェース変換マクロを示すブロック図である。
【図13】第3の実施形態の読み出し動作を示すタイミング図である。
【図14】第3の実施形態の書き込み動作を示すタイミング図である。
【図15】第4の実施形態のインタフェース変換マクロを示すブロック図である。
【図16】第4の実施形態の読み出し動作を示すタイミング図である。
【図17】第5の実施形態のインタフェース変換マクロを示すブロック図である。
【図18】第5の実施形態の読み出し動作を示すタイミング図である。
【図19】第5の実施形態の書き込み動作を示すタイミング図である。
【図20】第6の実施形態を示すブロック図である。
【符号の説明】
【0127】
10‥クロックバッファ;12‥コマンドバッファ/ラッチ;14‥アドレスバッファ/ラッチ;16‥バーストアドレスバッファ/ラッチ;18‥データ入力バッファ/ラッチ;20‥データ出力バッファ;22‥クロック制御回路;24‥コマンドデコーダ;
26‥コマンド変換回路;28‥コマンドレジスタ;30‥アドレスレジスタ;32‥データクロック生成回路;34‥シリアル/パラレル変換回路;36‥パラレル/シリアル変換回路;50‥クロックバッファ;52‥コマンドバッファ/ラッチ;54‥アドレスバッファ/ラッチ;56‥データ入力バッファ/ラッチ;58‥データ出力バッファ;60‥コマンドデコーダ;62‥動作制御回路;64‥メモリコア;CTRL1、CTRL2‥コントローラマクロ;IFCV‥インタフェース変換マクロ;MEM‥メモリマクロ
【技術分野】
【0001】
本発明は、メモリマクロと、このメモリマクロをアクセスするためのインタフェース変換マクロとを有する半導体集積回路に関する。
【背景技術】
【0002】
携帯電話等のシステム製品の性能は、年々高くなってきている。システムによって扱われるデータサイズは大きくなり、データ転送速度は高くなってきている。これに伴い、メモリマクロとこのメモリマクロをアクセスするコントローラとを1チップで構成したSoC(System on Chip)等の半導体集積回路が注目されている。SoCでは、データのバス幅を大きくできるため、クロックの周波数を上げることなく、データ転送速度を向上できる。
【0003】
例えば、メモリマクロによって使用される内部電圧を生成する制御マクロを予め用意しておき、半導体集積回路に搭載するメモリマクロの数を、メモリ容量に応じて変える手法が提案されている(例えば、特許文献1参照)。また、入力信号レベルのインタフェースが互いに異なる複数種の入力セルをメモリマクロに搭載し、使用するインタフェースに合わせて入力セルのいずれかを選択的に使用する設計手法が提案されている(例えば、特許文献2参照)。
【特許文献1】特開平8−204161号公報
【特許文献2】特開平4−147663号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
SoC等の半導体集積回路に搭載されるメモリマクロのインタフェース仕様は、システムの仕様に応じて異なることが多い。このため、メモリマクロは、システムのインタフェース仕様に合わせて、システム毎に再設計される必要がある。メモリマクロの再設計では、メモリセルアレイに変更がない場合にも、メモリマクロ全体の設計検証およびフォトマスクの設計等が必要である。これは、インタフェース仕様が異なる場合、メモリマクロの内部回路のタイミングを制御する制御回路を再設計する必要があり、設計検証を詳細に行う必要があるためである。したがって、インタフェース仕様の変更に伴うメモリマクロの再設計では、設計期間は長くなり、設計コストは上昇する。
【0005】
これに対して、メモリマクロのメモリ容量の変更は、半導体集積回路に搭載されるメモリマクロの数を変更し、あるいはメモリマクロ内のワード数を変更することで対応できる。この際、デコーダ等の論理回路は変更されるが、メモリマクロの内部回路の動作タイミングは変わらないため、接続検証のみを行えばよい。
【0006】
また、複数種のインタフェース仕様に対応する複数種の制御回路が、予めメモリマクロに搭載され、制御回路の1つが、金属配線層のフォトマスクの切り替えや、ヒューズの溶断により選択的に使用される場合がある。しかしながら、この場合、複数種の制御回路毎に設計検証を行う必要があり、設計検証に長い時間が必要である。また、製造された半導体集積回路の特性を評価に長い時間が必要である。さらに、使用されない他の制御回路は、システムに不要であるため、半導体集積回路のチップサイズが増加し、チップコストが上昇する。一方で、全てのインタフェース仕様に対応する制御回路をメモリマクロに搭載することは不可能である
本発明の目的は、半導体集積回路に搭載されるメモリのインタフェース仕様が異なる場合にも、半導体集積回路の設計検証時間、評価時間および試験時間を短縮し、半導体集積回路の設計期間および設計コストを削減することである。
【課題を解決するための手段】
【0007】
本発明の一形態では、半導体集積回路は、メモリマクロおよびインタフェース変換マクロを有する。メモリマクロは、メモリセルアレイと、メモリセルアレイをアクセスするために、メモリインタフェース仕様に従った信号を入出力するメモリインタフェース部とを有する。インタフェース変換マクロは、コントローラから出力されるシステムインタフェース仕様に従った信号を、メモリインタフェース仕様に従った信号に変換し、メモリインタフェース部に出力する。また、インタフェース変換マクロは、メモリインタフェース部から出力される信号を、システムインタフェース仕様に従った信号に変換し、コントローラに出力する。インタフェース変換マクロによりシステムインタフェース仕様およびメモリインタフェース仕様を相互に変換することにより、システムインタフェース仕様が異なる場合にも、1種類のメモリマクロを、様々なシステムに共通に使用できる。したがって、システムを設計する際に、メモリマクロの設計検証時間および評価時間を削減できる。換言すれば、半導体集積回路の設計検証時間および評価時間を短縮できる。この結果、半導体集積回路の設計期間および設計コストを削減できる。
【0008】
例えば、半導体集積回路は、メモリマクロおよびインタフェース変換マクロに加えて、コントローラを有する。インタフェース変換マクロは、アレイ状に予め形成された論理素子の端子間を配線により接続することにより、コントローラとともに製造される。そして、インタフェース変換マクロのテストは、コントローラのテストとともに実施される。例えば、メモリマクロは、ハードマクロとして設計される。システム仕様に依存せずに共通に使用可能なメモリマクロを、ハードマクロとして設計することにより、メモリマクロのサイズを最小限にでき、半導体集積回路のチップコストを削減できる。例えば、インタフェース変換マクロは、ソフトマクロとして設計される。このため、インタフェース変換マクロは、新たに設計される様々な半導体集積回路の空き領域に合わせた形状および端子位置に設計できる。したがって、半導体集積回路の設計効率を向上でき、半導体集積回路の設計期間および設計コストを削減できる。
【0009】
本発明の一形態における好ましい例では、インタフェース変換マクロは、コマンドデコーダ、クロック制御回路、ラッチ、書き込みデータ変換回路および読み出しデータ変換回路を有している。コマンドデコーダは、コントローラから出力されるコマンド信号を解読する。クロック制御回路は、メモリインタフェース仕様に従ったクロックパルスを、コマンドデコーダの解読結果に応じて生成する。ラッチは、コントローラから出力される書き込みデータ信号を保持する。書き込みデータ変換回路は、ラッチに保持された書き込みデータ信号を、クロックパルスに同期してメモリマクロに出力する。読み出しデータ変換回路は、メモリマクロから出力される読み出しデータ信号をクロックパルスに同期してコントローラに出力する。
【0010】
例えば、システムインタフェース仕様は、バースト長を含む。バースト長は、1回の読み出しコマンドに応答して出力される読み出しデータ信号の回数、または1回の書き込みコマンドに応答して入力される書き込みデータ信号の回数を示す。クロック制御回路は、バースト長に対応する数のクロックパルスを生成する。あるいは、システムインタフェース仕様は、読み出しレイテンシを含む。読み出しレイテンシは、読み出しコマンドが供給されてから読み出しデータが出力されるまでのクロック数を示す。クロック制御回路は、読み出しレイテンシに対応するクロック数後にクロックパルスを生成する。これにより、インタフェース変換マクロにより、データ信号のインタフェースを相互に変換でき、メモリマクロを誤動作することなくアクセスできる。
【0011】
本発明の一形態における好ましい例では、インタフェース変換マクロからメモリマクロに出力される書き込みデータ信号のビット数は、コントローラからインタフェース変換マクロに出力される書き込みデータ信号のビット数の整数倍である。書き込みデータ変換回路の書き込みデータ保持回路は、コントローラから出力されるシリアルの書き込みデータ信号をクロックパルスに同期して保持し、クロックパルスが出力された後に、保持している書き込みデータ信号をパラレルの書き込みデータ信号としてメモリマクロに出力する。
【0012】
例えば、書き込みデータ保持回路は、メモリマクロに出力される書き込みデータ信号のビット数に対応する複数の保持部を有する。インタフェース変換マクロのデータクロック生成回路は、バーストアドレス信号に応じて、保持部にそれぞれ対応するデータ入力クロック信号を順次に生成し、生成したデータ入力クロック信号をクロックパルスとして、書き込みデータ変換回路に出力する。ここで、バーストアドレス信号は、シリアルの書き込みデータ信号を保持部のいずれに保持するかを示す。
【0013】
例えば、コマンド信号に対応してコントローラから出力されるシリアルの書き込みデータ信号の数は、保持部の数より少ない。データクロック生成回路は、データ選択アドレスに応じて、保持部の少なくともいずれかを選択し、選択した保持部に対応するデータ入力クロック信号を順次に生成する。また、データクロック生成回路は、生成したデータ入力クロック信号をクロックパルスとして、書き込みデータ変換回路に出力するとともに、選択しない保持部に対応するデータマスク信号をメモリマクロに出力する。ここで、データ選択アドレスは、シリアルの書き込みデータ信号を保持する保持部を示す。メモリマクロは、データマスク信号に対応する書き込みデータ信号のメモリセルへの書き込みをマスクする。
【0014】
以上により、コントローラで使用する書き込みデータ信号のビット数が、メモリマクロに供給される書き込みデータ信号のビット数より少ない場合にも、インタフェース変換マクロにより、メモリマクロの書き込み動作を正常に実行できる。この際、シリアルの書き込みデータ信号は、バーストアドレス信号に応じて、メモリマクロの任意の書き込みデータ信号線に出力可能である。あるいは、データ選択アドレスに応じて、必要な書き込みデータ信号のみをメモリマクロに書き込み、他の書き込みデータ信号のメモリマクロへの書き込みをマスクできる。すなわち、メモリマクロを誤動作することなくアクセスできる。
【0015】
本発明の一形態における好ましい例では、メモリマクロからインタフェース変換マクロに出力される読み出しデータ信号のビット数は、インタフェース変換マクロからコントローラに出力される読み出しデータ信号のビット数の整数倍である。読み出しデータ変換回路は、メモリマクロから出力されるパラレルの読み出しデータ信号を、クロックパルスに同期してシリアルの読み出しデータ信号に変換し、変換した読み出しデータ信号をコントローラに出力する。
【0016】
例えば、インタフェース変換マクロのデータクロック生成回路は、バーストアドレス信号に応じてデータ出力クロック信号を順次に生成し、生成したデータ出力クロック信号をクロックパルスとして読み出しデータ変換回路に出力する。ここで、バーストアドレス信号は、パラレルの読み出しデータ信号のコントローラへの出力順を示す。
【0017】
例えば、コマンド信号に応答してインタフェース変換マクロからコントローラに出力されるシリアルの読み出しデータ信号の数は、メモリマクロから出力されるパラレルの読み出しデータ信号の数より少ない。データクロック生成回路は、パラレルの読み出しデータ信号のうちコントローラが必要とする読み出しデータ信号を、データ選択アドレス信号に応じて選択し、選択した読み出しデータ信号に対応するデータ出力クロック信号を順次に生成する。また、データクロック生成回路は、生成したデータ出力クロック信号をクロックパルスとして読み出しデータ変換回路に出力する。
【0018】
以上により、コントローラで使用する読み出しデータ信号のビット数が、メモリマクロから出力される読み出しデータ信号のビット数より少ない場合にも、インタフェース変換マクロにより、メモリマクロの読み出し動作を正常に実行できる。この際、メモリマクロから出力されるパラレルの読み出しデータ信号は、バーストアドレス信号に応じて、任意の順序でコントローラに出力可能である。あるいは、データ選択アドレスに応じて、メモリマクロから出力されるパラレルの読み出しデータ信号うち、任意の読み出しデータ信号のみを読み出しできる。すなわち、メモリマクロを誤動作することなくアクセスできる。
【0019】
本発明の一形態における好ましい例では、インタフェース変換マクロのコマンド変換回路は、コントローラから出力されるシステムインタフェース仕様に従ったコマンド信号を、メモリインタフェース仕様に従ったコマンド信号に変換し、変換したコマンド信号をメモリマクロに出力する。インタフェース変換マクロにより、コマンド信号のインタフェースを相互に変換でき、メモリマクロを誤動作することなくアクセスできる。
【0020】
本発明の一形態における好ましい例では、半導体集積回路は、メモリマクロをテストするテスト回路と、セレクタとを有する。テスト回路は、メモリマクロをアクセスするために、メモリインタフェース仕様に従ったテスト信号をメモリマクロに出力し、テスト信号に応答してメモリマクロから出力されるテスト読み出しデータ信号を期待値と比較し、メモリマクロの良否を判定する。セレクタは、テストモード中にテスト回路をメモリマクロに接続し、通常動作モード中にインタフェース変換マクロをメモリマクロに接続する。メモリマクロは、システム仕様に依存せず共通に使用される。このため、テスト回路もシステム仕様に依存せず共通に使用できる。したがって、システムを設計する際に、メモリマクロのテスト設計の時間を削減できる。この結果、半導体集積回路の設計期間および設計コストを削減できる。
【発明の効果】
【0021】
本発明では、半導体集積回路の設計検証時間および評価時間を短縮でき、半導体集積回路の設計期間および設計コストを削減できる。また、本発明では、メモリマクロを誤動作することなくアクセスできる。
【発明を実施するための最良の形態】
【0022】
以下、本発明の実施形態を図面を用いて説明する。図中、太線で示した信号線は、複数本で構成されている。また、太線が接続されているブロックの一部は、複数の回路で構成されている。信号が伝達される信号線には、信号名と同じ符号を使用する。先頭に”/”の付いている信号は、負論理を示している。末尾に”Z”の付いている信号は、正論理を示している。図中の二重丸は、外部端子を示している。図中の二重の四角は、マクロの端子(マクロ端子)を示している。マクロ端子は、ワイヤやバンプ等が接続されないため、半導体チップ上で配線パターンとして形成される。
【0023】
図1は、本発明の第1の実施形態を示している。本発明の半導体集積回路は、コントローラマクロCTRL1、CTRL2、インタフェース変換マクロIFCVおよびメモリマクロMEM(以下、メモリMEMとも称する)が搭載されたSoCとして形成されている。コントローラマクロCTRL1、CTRL2およびインタフェース変換マクロIFCVは、メモリバスMBUSを介して互いに接続されている。SoCは、複数の半導体チップCHIPおよび外部インタフェース部I/OとともにシステムボードSBRDに搭載されている。SoC、半導体チップCHIPおよび外部インタフェース部I/Oは、システムバスSBUSを介して互いに接続されている。そして、システムボードSBRDおよび外部インタフェース部I/Oに接続される周辺デバイスDEVによりシステムSYSが構成されている。
【0024】
システムSYSは、例えば、携帯電話等の携帯機器である。例えば、半導体チップCHIPは、CPUおよび通信LSI等である。例えば、周辺デバイスDEVは、液晶ディスプレイ、スピーカー、入力デバイス等である。なお、システムボードSBRD上には、CPUにより実行されるプログラムを格納するフラッシュメモリ等の図示しない不揮発性半導体メモリが搭載される。例えば、メモリマクロMEMは、DRAMコア(IP)であり、マスクデータを含むハードマクロとして設計される。システム仕様に依存せず共通に使用可能なメモリマクロMEMを、ハードマクロとして設計することにより、メモリマクロMEMのサイズを最小限にでき、SoCのチップコストを削減できる。
【0025】
インタフェース変換マクロIFCVは、ソフトマクロとして設計される。このため、インタフェース変換マクロIFCVは、新たに設計される様々なSoCの空き領域に合わせた形状に設計でき、端子位置もインタフェース変換マクロIFCVの周囲にレイアウトされる回路に合わせて設計できる。したがって、SoCの設計効率を向上でき、SoCの設計期間および設計コストを削減できる。
【0026】
例えば、コントローラCTRL1は、メモリMEMに保持される画像データを処理するMPEGコア(IP)である。例えば、コントローラCTRL2は、DMACコア(IP)である。例えば、インタフェース変換マクロIFCVは、コントローラCTRL1−2の少なくともいずれかとともに、アレイ状に予め形成された論理素子の端子間を配線により接続することにより製造される。すなわち、インタフェース変換マクロIFCVは、ゲートアレイやプログラマブルロジックデバイスとして設計される。そして、インタフェース変換マクロIFCVの設計検証およびテストは、コントローラCTRL1またはCTRL2とともに実施される。
【0027】
メモリバスMBUSは、メモリMEMをアクセスするためのクロック信号CK、コマンド信号CMD、アドレス信号AD、バーストアドレス信号bAD、データ入力信号Din、データ出力信号Doutの信号線を含む。これら信号は、コントローラCTRL1−2から出力されてもよく、メモリコントローラ(図示せず)から出力されてもよい。さらに、インタフェース変換マクロIFCVは、メモリコントローラ内に設けられてもよい。この場合、メモリバスMBUSは、例えば、トランザクションと称されるアドレス情報と、書き込みデータをメモリコントローラに出力し、読み出しデータをメモリコントローラから受ける。アドレス情報は、アクセスの開始アドレス、リード/ライト情報、データサイズを含む。メモリコントローラは、アドレス情報に基づいて、コマンド信号CMD、アドレス信号ADおよびバーストアドレス信号bADを生成する。
【0028】
インタフェース変換マクロIFCVは、システムSYSに固有のシステムインタフェース仕様を有する信号CK、CMD、AD、bAD、DinをメモリバスMBUSから受け、受けた信号をメモリMEMをアクセスするためのメモリクロック信号MCK、メモリコマンド信号MCMD、メモリアドレス信号MAD、メモリデータ入力信号MDinに変換する。また、インタフェース変換マクロIFCVは、メモリMEMから受けるメモリデータ出力信号MDoutを、メモリインタフェース仕様に応じたデータ出力信号Doutに変換する。
【0029】
インタフェース変換マクロIFCVは、システムSYSのメモリインタフェース仕様に応じて、システムSYS毎に設計される。メモリインタフェース仕様は、例えば、後述するバースト長BLおよび読み出しレイテンシRLの少なくともいずれかを含む。バースト長BLは、1回の読み出しコマンドに応答してメモリバスMBUSに連続して出力される読み出しデータ信号の回数であり、1回の書き込みコマンドに応答してメモリバスMBUSから連続して供給される書き込みデータ信号の回数である。読み出しレイテインシRLは、読み出しコマンドが供給されてから読み出しデータが出力されるまでのクロック数である。
【0030】
この実施形態のメモリインタフェース仕様は、バースト長BL=4、読み出しレイテンシRL=7である。換言すれば、コントローラCTRL1−2は、バースト長BL=4、読み出しレイテンシRL=7でメモリMEMが動作すると認識する。しかし、実際のメモリMEMは、例えば、バースト長BL=1、読み出しレイテンシRL=3でのみ動作する。インタフェース変換マクロIFCVは、インタフェース仕様を相互に変換する。
【0031】
本発明では上述したように、メモリMEMは、システムSYSのインタフェース仕様に関わりなく、1つのメモリインタフェース仕様の信号によりアクセスされ、読み出し動作、書き込み動作およびリフレッシュ動作を実行する。具体的には、メモリMEMは、上述したように、バースト長BL=1、読み出しレイテンシRL=3でのみ動作する。これにより、メモリMEMは、システムインタフェース仕様と無関係に、共通のハードマクロとして構成できる。メモリMEMの設計検証、特性の評価および試験パターンの設計は、1回のみでよい。換言すれば、システムSYS(SoC)を新たに開発するときに、インタフェース変換マクロIFCVの設計検証、特性の評価および試験パターンの設計のみを行えばよい。この結果、システムSYSの開発時に、SoCの設計期間を短縮でき、設計コストを削減できる。
【0032】
なお、本発明では、後述する第2、第3、第4および第5の実施形態に示すように、コントローラCTRL1またはCTRL2が、様々なシステムインタフェース仕様に従った信号を出力する場合にも、インタフェース変換マクロIFCVのみを再設計することにより、共通のメモリマクロMEMを使用できる。
【0033】
図2は、図1に示したインタフェース変換マクロIFCVの詳細を示している。インタフェース変換マクロIFCVは、クロックバッファ10、コマンドバッファ/ラッチ12、アドレスバッファ/ラッチ14、バーストアドレスバッファ/ラッチ16、データ入力バッファ/ラッチ18、データ出力バッファ20、クロック制御回路22、コマンドデコーダ24、コマンド変換回路26、コマンドレジスタ28、アドレスレジスタ30、データクロック生成回路32、シリアル/パラレル変換回路34およびパラレル/シリアル変換回路36を有している。クロックバッファ10、コマンドバッファ/ラッチ12、アドレスバッファ/ラッチ14、バーストアドレスバッファ/ラッチ16、データ入力バッファ/ラッチ18およびデータ出力バッファ20は、システムインタフェース仕様に従った信号を入力または出力する。クロック制御回路22、コマンドレジスタ28、アドレスレジスタ30、シリアル/パラレル変換回路34およびパラレル/シリアル変換回路36は、メモリインタフェース仕様に従った信号を入力または出力する。
【0034】
クロックバッファ10は、クロック信号CKを内部クロック信号ICKとして出力する。コマンドバッファ/ラッチ12は、メモリMEMをアクセスするためのコマンド信号CMDを内部クロック信号ICKに同期してラッチし、ラッチした信号を出力する。コマンド信号CMDは、チップイネーブル信号/CE、出力イネーブル端子/OEおよびライトイネーブル信号/WEを含む。アドレスバッファ/ラッチ14は、アドレス信号ADを内部クロック信号ICKに同期してラッチし、ラッチした信号を出力する。バーストアドレスバッファ/ラッチ16は、2ビットのバーストアドレス信号bAD(bAD0−1)を内部クロック信号ICKに同期してラッチし、ラッチした信号を開始アドレスSADとして出力する。
【0035】
データ入力バッファ/ラッチ18は、データ入力信号Din(メモリMEMへの書き込みデータ信号)を内部クロック信号ICKに同期してラッチして保持し、保持している信号をデータ入力信号IDATとして出力する。データ出力バッファ20は、データ出力信号ODAT(メモリMEMからの読み出しデータ)を受け、受けた信号をデータ出力信号Doutとして出力する。例えば、データ入力信号Dinおよびデータ出力信号Doutは、それぞれ32ビットで構成される。本発明において、32ビットは、基準のビット幅である。データ信号IDAT、ODATに示した”1N”の”N”は、32ビットを示している。
【0036】
クロック制御回路22は、内部クロック信号ICKを用いてメモリクロック信号MCK、出力クロック信号OUTCKと、読み出しクロック信号RCKまたは書き込みクロック信号WCKを生成する。すなわち、クロック制御回路22は、メモリインタフェース仕様に従ったクロックパルスOUTCK、RCK、WCKを、コマンドデコーダ24の解読結果に応じて生成する。メモリクロック信号MCKは、メモリMEMのクロック端子に供給される。出力クロック信号OUTCKは、コマンドレジスタ28およびアドレスレジスタ30の動作タイミングを決める信号である。読み出しクロック信号RCKは、メモリMEMの読み出し動作時に出力される。書き込みクロック信号WCKは、メモリMEMの書き込み動作時に出力される。クロック制御回路22の動作の詳細は、図4に示す。
【0037】
コマンドデコーダ24は、コントローラCTRL1またはCTRL2から出力されるコマンド信号CMDを解読する。具体的には、コマンドデコーダ24は、コマンドバッファ/ラッチ12から出力されるコマンド信号が読み出しコマンドを示すときに読み出しコマンド信号RDを出力し、コマンド信号が書き込みコマンドを示すときに書き込みコマンド信号WRを出力する。コマンド変換回路26は、コマンドバッファ/ラッチ12から出力されるコマンド信号を、メモリMEMをアクセスするためのコマンド信号に変換し出力する。すなわち、コマンド変換回路26は、メモリバスMBUSを介して供給されるコマンド信号を、メモリMEMのインタフェース仕様に合うコマンド信号に変換する。コマンド変換回路26の動作は、図3に示す。
【0038】
コマンドレジスタ28は、コマンド変換回路26から出力されるコマンド信号を保持し、保持しているコマンド信号を出力クロック信号OUTCKに同期してメモリコマンド信号MCMDとして出力する。メモリコマンド信号MCMDは、メモリチップイネーブル信号/MCE、メモリライトイネーブル信号/MWEおよびメモリリフレッシュ信号/MREFを含む。アドレスレジスタ30は、アドレス変換回路28から出力されるアドレス信号を保持し、保持しているアドレス信号を出力クロック信号OUTCKに同期してメモリアドレス信号MADとして出力する。
【0039】
データクロック生成回路32は、読み出しクロック信号RCKに同期してデータ出力クロック信号DOCK0−3を順次に生成し、書き込みクロックWCKに同期してデータ入力クロック信号DICK0−3を順次に生成する。データ出力クロック信号DOCK0−3の生成順およびデータ入力クロック信号DICK0−3の生成順は、開始アドレスSAD(すなわち、バーストアドレス信号bAD0−1)の値に応じて設定される。データクロック生成回路32の動作は、図5に示す。
【0040】
シリアル/パラレル変換回路34は、書き込みデータ保持回路WHLDを有している。書き込みデータ保持回路WHLDは、書き込み動作時に、シリアルのデータ入力信号IDATをデータ入力クロック信号DICK0−3(クロックパルス)に同期して保持し、データ入力クロック信号DICK0−3が出力された後に、保持しているデータ入力信号IDATをパラレルのメモリデータ入力信号MDin0−3として出力する。すなわち、シリアル/パラレル変換回路34は、データ入力バッファ/ラッチ18に保持された書き込みデータ信号IDATを、クロックパルスDICK0−3に同期して順次に保持し、保持している書き込みデータ信号IDATをメモリMEMに出力する書き込みデータ変換回路として動作する。書き込みデータ保持回路WHLDは、書き込みコマンドWRに対応して供給される書き込みデータ信号IDATを保持するために、メモリデータ入力信号MDin0−3のビット数に対応する数(128個)の保持部を有している。各保持部は、クロックパルスDICK0−3のいずれかに同期してデータ入力信号IDATを保持する。なお、データ入力信号IDAT(シリアルの書き込みデータ信号)のビット数(32ビット)は、保持部の数より少ない。
【0041】
パラレル/シリアル変換回路36は、読み出し動作時に、メモリデータ出力信号MDout0−3(パラレルの読み出しデータ信号)のいずれかをデータ入力クロック信号DICK0−3(クロックパルス)に応じて選択し、選択したデータ信号をデータ出力信号ODAT(シリアルの読み出しデータ信号)として出力する。すなわち、パラレル/シリアル変換回路36は、メモリマクロMEMから出力される読み出しデータ信号MDout0−3をクロックパルスDICK0−3に同期してコントローラCTRL1またはCTRL2に出力する読み出しデータ変換回路として動作する。
【0042】
図3は、コントローラCTRL1またはCTRL2から出力されるシステムインタフェース仕様に従ったコマンド信号CMDと、メモリマクロMEMに供給されるメモリインタフェース仕様に従ったメモリコマンド信号MCMDとの関係を示している。図では、高論理レベルの信号を”H”で示し、低論理レベルの信号を”L”で示す。メモリMEMは、例えば、4つの動作コマンド(動作状態)STBY、RD、WR、REFを有している。スタンバイコマンドSTBYは、メモリMEMをスタンバイ状態(非アクセス状態)に設定するときに供給される。読み出しコマンドRDは、メモリMEMに読み出し動作を実行させるときに供給される。書き込みコマンドWRは、メモリMEMに書き込み動作を実行させるときに供給される。リフレッシュコマンドREFは、メモリMEMにリフレッシュ動作を実行させるときに供給される。インタフェース変換マクロIFCVは、システムインタフェース仕様に従ったコマンド信号CMDを、メモリインタフェース仕様に従ったメモリコマンド信号MCMDに変換する。
【0043】
スタンバイコマンドSTBYは、全てのコマンド信号の高レベルにより認識される。インタフェース変換マクロIFCVは、低レベルの/CE信号、低レベルの/OE信号および高レベルの/WE信号により読み出しコマンドRDを認識し、メモリMEMに、低レベルの/MCE信号、高レベルの/MWE信号および高レベルの/MREF信号を出力する。インタフェース変換マクロIFCVは、低レベルの/CE信号、高レベルの/OE信号および低レベルの/WE信号により書き込みコマンドWRを認識し、メモリMEMに、低レベルの/MCE信号、低レベルの/MWE信号および高レベルの/MREF信号を出力する。
【0044】
さらに、インタフェース変換マクロIFCVは、高レベルの/CE信号、低レベルの/OE信号および高レベルの/WE信号によりリフレッシュコマンドREFを認識し、メモリMEMに、低レベルの/MCE信号、高レベルの/MWE信号および低レベルの/MREF信号を出力する。このように、インタフェース変換マクロIFCVは、メモリバスMBUS上のコマンド信号(システムインタフェース仕様)を、メモリMEMを動作するためのコマンド信号(メモリインタフェース仕様)に変換する機能を有している。
【0045】
図4は、図2に示したクロック制御回路22の動作を示している。この実施形態では、バースト長BL=4、読み出しレイテンシRL=7に対応するクロック制御回路22が設計されている。図に示したBL=2、RL=5の波形は、後述する第2の実施形態のクロック制御回路22Aの動作を示している。BL=1、RL=3の波形は、後述する第3の実施形態のクロック制御回路22Bの動作を示している。クロック制御回路22、22A、22Bの論理は、メモリインタフェース仕様に応じてそれぞれ設計される。読み出しクロック信号RCKのパルス数および書き込みクロック信号WCKのパルス数は、バースト長に対応する数に等しい。また、読み出しクロック信号RCKの最初のクロックパルスは、読み出しレイテンシRLに対応するクロック数後に出力される。
【0046】
クロック制御回路22は、クロック信号CKの4パルス毎にメモリクロック信号MCKを出力する。クロック制御回路22は、読み出しコマンドRDまたは書き込みコマンドWRを受けた後、3番目のクロックパルスICK(図ではICK4またはICK16)の立ち下がりエッジに同期して出力クロック信号OUTCKを出力する。また、クロック制御回路22は、読み出しコマンドRDを受けた後、6番目から9番目のクロックパルスICK7−10に同期して読み出しクロック信号RCKを出力し、書き込みコマンドWRを受けたクロックパルスICK13とそれに続く3つのクロックパルスICK14−16に同期して書き込みクロック信号WCKを出力する。BL=1の詳細な動作は、図7および図8に示す。
【0047】
BL=2では、メモリクロック信号MCKは、クロック信号CKの2パルス毎に出力される。出力クロック信号OUTCKは、読み出しコマンドRDまたは書き込みコマンドWRを受けた後、次のクロックパルスICK2またはICK14の立ち下がりエッジに同期して出力される。読み出しクロック信号RCKは、読み出しコマンドRDを受けた後、4番目から5番目のクロックパルスICK5−6に同期して出力される。書き込みクロック信号WCKは、書き込みコマンドWRを受けたクロックパルスICK13とそれに続くクロックパルスICK14に同期して出力される。BL=2の詳細な動作は、図10および図11に示す。
【0048】
BL=1では、メモリクロック信号MCKは、クロック信号CKに同期して出力される。出力クロック信号OUTCKは、読み出しコマンドRDまたは書き込みコマンドWRを受けたクロック信号CKの立ち下がりエッジに同期して出力される。読み出しクロック信号RCKは、読み出しコマンドRDを受けた後、3番目のクロックパルスICK4に同期して出力される。書き込みクロック信号WCKは、書き込みコマンドWRを受けたクロックパルスICK13に同期して出力される。BL=1の詳細な動作は、図13および図14に示す。
【0049】
なお、図1に示したコントローラCTRL1またはCTRL2は、読み出しコマンドRDおよび書き込みコマンドWRをメモリクロック信号MCKに同期して出力する。このために、例えば、コントローラCTRL1またはCTRL2は、SoCのパワーオン時にメモリクロックパルスMCKに同期するクロックパルスCKを認識する。また、リフレッシュコマンドCMD(REF)が供給されたとき、クロック制御回路22は、メモリクロック信号MCKおよび出力クロック信号OUTCKのみを生成し、読み出しクロック信号RCKおよび書き込みクロック信号WCKは生成しない。
【0050】
図5は、図2に示したデータクロック生成回路32の動作を示している。本発明では、メモリバスMBUSに入出力されるデータ信号のビット幅(図2の1N)は、メモリMEMに入出力されるデータ信号のビット幅(図2の4N)の4分の1である。換言すれば、インタフェース変換マクロIFCVからメモリマクロMEMに出力されるメモリデータ入力信号MDin0−3(書き込みデータ信号)のビット数は、コントローラCTRL1またはCTRL2からインタフェース変換マクロIFCVに出力されるデータ入力信号Din(書き込みデータ信号)のビット数の4倍(整数倍)である。また、メモリマクロMEMからインタフェース変換マクロIFCVに出力されるメモリデータ出力信号MDout0−3(読み出しデータ信号)のビット数は、インタフェース変換マクロIFCVからコントローラCTRL1またはCTRL2に出力されるデータ出力信号Dout(読み出しデータ信号)のビット数の4倍(整数倍)である。
【0051】
このため、データ信号DinをメモリMEMに書き込むために、メモリデータ入力信号MDin0−3のいずれかに供給するかを選択する必要がある。また、メモリMEMから読み出されるメモリデータ出力信号MDout0−3のいずれをデータ出力信号Doutとして出力するかを選択する必要がある。データクロック生成回路32は、データ信号を選択するために、バーストアドレス信号bAD0−1(開始アドレスSAD)の値に応じてデータ入力クロック信号DICK0−3またはデータ出力クロック信号DOCK0−3を生成する。
【0052】
例えば、読み出しコマンドRDとともにインタフェース変換マクロIFCVに供給されるバーストアドレス信号bAD0−1の値が”0”のとき、データクロック生成回路32は、読み出しクロック信号RCKに同期してデータ出力クロック信号DOCK0−3を順次に出力する。このため、4つのシリアルの書き込みデータ信号Dinは、パラレルの書き込みデータ信号に変換され、メモリデータ入力信号線MDin0−3に伝達される。書き込みコマンドWRとともにインタフェース変換マクロIFCVに供給されるバーストアドレス信号bAD0−1の値が”2”のとき、データクロック生成回路32は、書き込みクロック信号WCKに同期してデータ入力クロック信号DICK2−3、0−1を順次に出力する。このため、パラレルのメモリ出力データ信号MDout2−3、0−1がシリアルのデータ出力信号Doutとして順次に出力される。
【0053】
一方、第2の実施形態に示すように、バースト長BLが”2”のとき、データクロック生成回路32A(図9)は、読み出しクロック信号RCKに同期してデータ出力クロック信号DOCK0−3の2つを順次に出力する。第3の実施形態に示すように、バースト長BLが”1”のとき、データクロック生成回路32B(図12)は、読み出しクロック信号RCKに同期してデータ出力クロック信号DOCK0−3のいずれかを出力する。
【0054】
図6は、図1に示したメモリマクロMEMの詳細を示している。メモリマクロMEMは、クロックバッファ50、コマンドバッファ/ラッチ52、アドレスバッファ/ラッチ54、データ入力バッファ/ラッチ56、データ出力バッファ58、コマンドデコーダ60、動作制御回路62およびメモリコア64を有している。クロックバッファ50、コマンドバッファ/ラッチ52、アドレスバッファ/ラッチ54、データ入力バッファ/ラッチ56およびデータ出力バッファ58は、メモリインタフェース仕様に従った信号を入出力するメモリインタフェース部として機能する。
【0055】
クロックバッファ50は、メモリクロック信号MCKを内部クロック信号MICKとして出力する。コマンドバッファ/ラッチ52は、メモリコマンド信号MCMDを内部クロック信号MICKに同期してラッチし、ラッチした信号をラッチチップイネーブル信号CELAT、ラッチライトイネーブル信号WELATおよびラッチリフレッシュ信号REFLATとして出力する。アドレスバッファ/ラッチ54は、メモリアドレス信号MADを内部クロック信号MICKに同期してラッチし、ラッチした信号をロウアドレス信号RADおよびコラムアドレス信号CADとして出力する。
【0056】
データ入力バッファ/ラッチ56は、メモリデータ入力信号MDin0−3を内部クロック信号MICKに同期してラッチし、ラッチした信号をメモリデータ入力信号MIDAT0−3として出力する。なお、この実施形態では、データ入力バッファ/ラッチ56のデータマスク端子MDM0−3は、接地線に接続され、データマスク機能は無効に設定される。データ出力バッファ58は、メモリコア64から出力されるメモリデータ出力信号MODAT0−3を受け、受けた信号をメモリデータ出力信号MDout0−3として出力する。
【0057】
コマンドデコーダ60は、コマンド信号CELAT、WELAT、REFLATをデコードし、読み出し動作を実行するための読み出し制御信号RDZ、書き込み動作を実行するための書き込み制御信号WRZまたはリフレッシュ動作を実行するためのリフレッシュ制御信号REFZを出力する。
【0058】
動作制御回路62は、制御信号RDZ、WRZ、REFZに応答してメモリコア64に読み出し動作、書き込み動作またはリフレッシュ動作を実行させるために、動作制御信号(ワード線活性化信号WLZ、プリチャージ制御信号BRS、センスアンプ活性化信号LEZおよびコラム選択信号CLZを出力する。ワード線活性化信号WLZは、ワード線WLの活性化タイミングを制御する。プリチャージ制御信号BRSは、プリチャージ回路PREのオン/オフタイミングを制御する。センスアンプ活性化信号LEZは、センスアンプSAの活性化タイミングを制御する。コラム選択信号CLZは、コラムスイッチCSWのオン/オフタイミングを制御する。
【0059】
メモリコア64は、メモリセルアレイARY、ロウデコーダRDEC、プリチャージ回路PRE、センスアンプSA、コラムスイッチCSW、コラムデコーダCDEC、リードアンプRAおよびライトアンプWAを有している。メモリセルアレイARYは、複数のダイナミックメモリセルMC、図の横方向に並ぶメモリセルMCに接続された複数のワード線WL、図の縦方向に並ぶメモリセルMCに接続された複数のビット線対BL、/BLとを有する。メモリセルMCは、データを電荷として保持するためのキャパシタと、このキャパシタの一端をビット線BL(または/BL)に接続するための転送トランジスタとを有している。キャパシタの他端は、プリチャージ電圧線に接続されている。転送トランジスタのゲートは、ワード線WLに接続されている。ワード線WLの選択により、読み出し動作、書き込み動作またはリフレッシュ動作のいずれかが実行される。
【0060】
ロウデコーダRDECは、ワード線WLのいずれかを選択するために、ロウアドレス信号RADをデコードする。プリチャージ回路PREは、メモリセルMCの非アクセス時にプリチャージ制御信号BRSに同期してビット線対BL、/BLをプリチャージ電圧線に接続する。センスアンプSAは、ビット線対BL、/BLに読み出されたデータ信号の信号量の差を増幅する。コラムアドレスデコーダCDECは、データ信号を入出力するビット線対BL、/BLを選択するために、コラムアドレス信号CADをデコードする。コラムスイッチCSWは、コラムアドレス信号CADに対応するビット線BL、/BLをリードアンプRAおよびライトアンプWAに接続する。リードアンプRAは、読み出し動作時に、コラムスイッチCSWを介して出力される読み出しデータ信号を増幅し、増幅した信号をメモリデータ出力信号MODAT0−3として出力する。ライトアンプWAは、書き込み動作時に、供給されるメモリデータ入力信号MIDAT0−3を増幅し、増幅した信号をビット線対BL、/BLに供給する。
【0061】
図7は、第1の実施形態の読み出し動作を示している。この例では、4クロックサイクル毎に読み出しコマンドRDが供給される。インタフェース変換マクロIFCVは、例えば、クロック信号CKの1番目のパルス(CK1)の立ち上がりエッジに同期してコマンド信号CMD(A)、アドレス信号AD(A)およびバーストアドレス信号bAD0−1(0)を受ける(図7(a))。図2に示したクロック制御回路22は4番目のクロックパルスCKの立ち下がりエッジに同期して、受けたコマンド信号CMD(A)およびアドレス信号AD(A)をメモリコマンド信号MCMD(A)およびメモリアドレス信号MAD(A)として出力する(図7(b))。
【0062】
メモリMEMは、5番目のクロックパルスCKに対応するメモリクロックパルスMCKに同期して、メモリコマンド信号MCMD(A)およびメモリアドレス信号MAD(A)を受け、読み出し動作を開始する(図7(c))。メモリMEMは、メモリコア64からの読み出しデータ信号を、メモリデータ出力信号MDout0−3(A0−A3;読み出しデータ)として出力する(図7(d))。メモリデータ出力信号MDout0−3は、メモリコマンド信号MCMD(A)を受けた次のクロックパルスCKの立ち下がりエッジに対応する時刻(例えば、6番目のクロックパルスCK)に出力される。このように、メモリMEMは、読み出しコマンドMCMDを受けてから、1.5クロック後(例えば、CK6の立ち下がりエッジ)に読み出しデータA0−3を出力するように設計されている。このため、メモリMEMをアクセスするコントローラが、メモリMEMに直接接続される場合、コントローラは、読み出しコマンドMCMDの出力から2クロック後(例えば、CK7)に読み出しデータを受けることができる。すなわち、メモリMEM自体は、読み出しレイテンシRL=2で動作する。
【0063】
バーストアドレス信号bAD0−1の値が”0”であるため、インタフェース変換マクロIFCVのデータクロック生成回路32は、図5に示したように、7番目から10番目のクロックパルスCKに同期してデータ出力クロック信号DOCK0−3を順次に出力する。図2に示したパラレル/シリアル変換回路36は、データ出力クロック信号DOCK0−3にそれぞれ同期して、読み出しデータ信号A0、A1、A2、A3をデータ出力信号ODATとして順次に出力する。そして、データ出力バッファ20からデータ出力端子Doutに読み出しデータ信号A0−A3が順次に出力される(図7(e))。図1に示したコントローラCTRL1またはCTRL2は、8番目から11番目のクロックパルスCKに同期して読み出しデータ信号A0−A3を受ける。すなわち、コントローラCTRL1またはCTRL2が読み出しコマンドRDをインタフェース変換マクロIFCVに出力してから、最初の読み出しデータ信号A0を受けるまでのクロック数(読み出しレイテンシRL)は、”7”である。
【0064】
2番目以降の読み出しコマンドRD(B−D)に伴う読み出し動作も、上述と同様に実行される。但し、データ出力端子Doutから出力される読み出しデータ信号の出力順は、バーストアドレス信号bAD0−1の値に応じて変化する。すなわち、バーストアドレス信号bAD0−1の値が”3”のとき、読み出しデータ信号は、データ出力信号MDout3、0−2の順で出力される(図7(f))。バーストアドレス信号bAD0−1の値が”2”のとき、読み出しデータ信号は、データ出力信号MDout2−3、0−1の順で出力される(図7(g))。
【0065】
なお、リフレッシュコマンドREFに応答するメモリMEMのリフレッシュ動作は、メモリデータ出力信号MDout0−3がメモリMEMから出力されないことを除き、読み出し動作と同じタイミングで実行される。
【0066】
図8は、第1の実施形態の書き込み動作を示している。この例では、この例では、4クロックサイクル毎に書き込みコマンドWRが供給される。インタフェース変換マクロIFCVは、クロック信号CKの立ち上がりエッジに同期してコマンド信号CMD(A)、アドレス信号AD(A)およびバーストアドレス信号bAD0−1(0)を受ける(図8(a))。また、インタフェース変換マクロIFCVは、1番目から4番目のクロックパルスCKに同期して、データ入力端子Dinで書き込みデータ信号A0、A1、A2、A3を順次に受ける(図8(b))。シリアル/パラレル変換回路34の書き込みデータ保持回路WHLDは、データ入力クロック信号DICK0−3に同期して書き込みデータ信号A0−A3を順次に保持する(図8(c))。ここで、書き込みデータ保持回路WHLDは、書き込みデータ信号A0−A3を、バーストアドレス信号bAD0−1の値に応じてメモリデータ入力信号MDin0−3に対応する4つのバッファに保持する。書き込みデータ信号A0−A3を保持するバッファの位置は、データクロック生成回路32から出力されるデータ出力クロック信号DOCK0−3(図5)により決まる。
【0067】
図2に示したクロック制御回路22は4番目のクロックパルスCKの立ち下がりエッジに同期して、出力クロック信号OUTCKを出力する(図示せず)。コマンドレジスタ28およびアドレスレジスタ30は、受けたコマンド信号CMD(A)、アドレス信号AD(A)をメモリコマンド信号MCMD(A)、メモリアドレス信号MAD(A)として出力する(図8(d))。メモリMEMは、5番目のクロックパルスCKに対応するメモリクロックパルスMCKに同期して、メモリコマンド信号MCMD(A)、メモリアドレス信号MAD(A)および書き込みデータ信号A0−A3を受け、書き込み動作を開始する(図8(e))
2番目以降の書き込みコマンドWR(B−D)に伴う書き込み動作も、上述と同様に実行される。但し、書き込みデータ信号A0−A3が伝達されるメモリデータ入力信号線MDin0−3は、バーストアドレス信号bAD0−1の値に応じて変化する。すなわち、バーストアドレス信号bAD0−1の値が”3”のとき、書き込みデータ信号A0−A3は、メモリデータ入力信号線MDin3、0−2にそれぞれ供給される(図8(f))。バーストアドレス信号bAD0−1の値が”2”のとき、書き込みデータ信号A0−A3は、メモリデータ入力信号線MDin2−3、0−1にそれぞれ供給される(図8(g))。
【0068】
以上、第1の実施形態では、インタフェース変換マクロIFCVによりシステムインタフェース仕様およびメモリインタフェース仕様を相互に変換することにより、システムインタフェース仕様が異なる場合にも、SoC(半導体集積回路)に共通のメモリマクロMEMを搭載できる。したがって、システムSYSを設計する際に、メモリマクロMEMの設計検証時間および評価時間を削減できる。換言すれば、SoCの設計検証時間、評価時間および試験時間を短縮できる。例えば、試験時間は、メモリマクロMEMの出荷数に応じて市場での信頼性が確保されたときに、試験項目を削減するなどして短縮される。この結果、SoCの設計期間および設計コストを削減できる。
【0069】
例えば、相互に変換されるインタフェース仕様として、バースト長BLおよび読み出しレイテンシRLがある。バースト長BLおよび読み出しレイテンシRLに応じて、クロック制御回路22の論理を変更することで、インタフェース変換マクロIFCVにより、データ信号のインタフェース仕様を相互に変換でき、メモリマクロMEMを誤動作することなくアクセスできる。あるいは、相互に変換されるインタフェース仕様として、コマンド信号CMDがある。コントローラCTRL1−2から出力されるコマンド信号CMDのインタフェース仕様に応じて、コマンドデコーダ24およびコマンド変換回路26等の論理を変更することで、インタフェース変換マクロIFCVにより、メモリマクロMEMを誤動作することなくアクセスできる。
【0070】
図9は、本発明の第2の実施形態のインタフェース変換マクロIFCVを示している。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のインタフェース変換マクロIFCVは、第1の実施形態のインタフェース変換マクロIFCVのクロック制御回路22およびデータクロック生成回路32の代わりに、クロック制御回路22Aおよびデータクロック生成回路32Aを有している。インタフェース変換マクロIFCVを除く構成は、第1の実施形態と同じである。
【0071】
第2の実施形態のシステムSYSの構成は、第1の実施形態(図1)と同じである。但し、コントローラマクロCTRL1またはCTRL2は、2ビットのバーストアドレス信号bAD0−1の代わりに、1ビットのバーストアドレス信号bADと1ビットのデータ選択アドレス信号SDTを出力する。SoCに搭載されるメモリマクロMEMは、第1の実施形態と同じである。この実施形態では、インタフェース変換マクロIFCVにより、第1の実施形態と同じメモリマクロMEMを用いて、バースト長BL=2、読み出しレイテンシRL=5のアクセス動作が実行される。バースト長BLが”2”のため、読み出しコマンドRDに応答してインタフェース変換マクロIFCVからコントローラCTRL1またはCTRL2に出力されるシリアルの読み出しデータ信号Dinの数は、メモリマクロMEMから出力されるパラレルの読み出しデータ信号MDout0−3の数より少ない。
【0072】
書き込み動作時に、データ選択アドレスSDTは、シリアルの書き込みデータ信号IDATを保持する保持部の位置を示す。換言すれば、書き込み動作時に、4つのメモリデータ入力信号線グループMDin0−3のうちの2つに対応する保持部が、データ選択アドレスSDTにより選択される。そして、2つのシリアルの書き込みデータ信号IDATが、選択された2つのメモリデータ入力信号MDinとしてメモリマクロMEMに出力される。なお、書き込みコマンドWR毎に供給されるデータ入力信号IDAT(シリアルの書き込みデータ信号)の総ビット数(64ビット)は、書き込みデータ保持回路WHLDの保持部の数(128個)より少ない。
【0073】
読み出し動作時に、4つのメモリデータ出力信号線グループMDout0−3のうちの2つが、データ選択アドレスSDTにより選択される。そして、選択されたメモリデータ出力信号MDoutが、2つのシリアルの読み出しデータ信号ODATとして出力される。
【0074】
バーストアドレスバッファ/ラッチ16は、バーストアドレス信号bADおよびデータ選択アドレス信号SDTを受け、開始アドレスSADおよびデータ選択アドレスSDとして出力する。クロック制御回路22Aは、図4に示したように、BL=2、RL=5に対応するメモリクロック信号MCK、出力クロック信号OUTCK、読み出しクロック信号RCKおよび書き込みクロック信号WCKを生成する。
【0075】
データクロック生成回路32Aは、読み出しクロック信号RCKに同期してデータ出力クロック信号DOCK0−3のうち連続する2つを生成し、書き込みクロックWCKに同期してデータ入力クロック信号DICK0−3のうち連続する2つを生成する。データ出力クロック信号DOCK0−3の生成順およびデータ入力クロック信号DICK0−3の生成順は、1ビットの開始アドレスSADの値および1ビットのデータ選択アドレス信号SDTの値に応じて設定される。また、データクロック生成回路32Aは、書き込み動作時に、データ入力信号MDin0−1、2−3のうち書き込みデータが供給されない一方のペアをマスクするために、データ選択アドレスSDに応じてデータマスク信号MDM0−1またはMDM2−3のいずれかを出力する。
【0076】
換言すれば、読み出し動作時に、データクロック生成回路32Aは、パラレルの読み出しデータ信号MDout0−3のうち、コントローラCTRL1またはCTRL2が必要とする読み出しデータ信号MDout0−1またはMDout2−3を、データ選択アドレス信号SDTに応じて選択し、選択した読み出しデータ信号MDoutに対応するデータ出力クロック信号DOCKを、バーストアドレス信号bADに応じて順次に生成し、生成したデータ出力クロック信号DOCKをパラレル/シリアル変換回路36に出力する。
【0077】
また、書き込み動作時に、データクロック生成回路32Aは、書き込みデータ保持回路WHLDの保持部を示すデータ選択アドレスSDTに応じて、4つのメモリデータ入力信号線グループMDin0−3の2つに対応する保持部を選択し、選択した保持部に対応するデータ入力クロック信号DICKを、バーストアドレス信号bADに応じて順次に生成し、生成したデータ入力クロック信号DICKをシリアル/パラレル変換回路34に出力するとともに、選択しない保持部に対応するデータマスク信号MDM0−1またはMDM2−3をメモリマクロMEMに出力する。なお、この実施形態では、図6に示したメモリマクロMEMのデータマスク端子MDM0−3は、インタフェース変換マクロIFCVのデータマスク端子MDM0−3に接続されている。
【0078】
図10は、第2の実施形態の読み出し動作を示している。第1の実施形態(図7)と同じ動作については、詳細な説明は省略する。この例では、2クロックサイクル毎に読み出しコマンドRDが供給される。インタフェース変換マクロIFCVは、読み出しコマンドRDを受けた次のクロックパルスCKの立ち下がりエッジに同期してコマンド信号CMD(A)およびアドレス信号AD(A)をメモリMEMに出力する(図10(a))。メモリMEMは、例えば、3番目のクロックパルスCKに対応するメモリクロックパルスMCKに同期して、メモリコマンド信号MCMD(A)およびメモリアドレス信号MAD(A)を受け、読み出し動作を開始する(図10(b))。
【0079】
メモリMEMは、メモリコマンド信号MCMD(A)を受けた次のクロックパルスCKの立ち下がりエッジに対応する時刻(例えば、CK4の立ち下がりエッジ)にメモリデータ出力信号MDout0−3(読み出しデータA0−A3)を出力する(図10(c))。
【0080】
特に図示していないが、データクロック生成回路32Aは、5番目および6番目のクロックパルスCKに同期してデータ出力クロック信号DOCK0−1を順次に出力する。出力されるデータ出力クロック信号DOCKは、開始アドレスSADおよびデータ選択アドレスSDTに応じて決められる。データ選択アドレス信号SDTが”0”であるため、上位のデータグループであるデータ出力信号MDout0−1が選択される。そして、読み出しデータ信号A0−A1が、データ端子Doutから順次に出力される(図10(d))。図1に示したコントローラCTRL1またはCTRL2は、6番目から7番目のクロックパルスCKに同期して読み出しデータ信号A0−A1を受ける。すなわち、この実施形態の読み出しレイテンシRLは、”5”である。
【0081】
2番目以降の読み出しコマンドRD(B−D)に伴う読み出し動作も、上述と同様に実行される。但し、データ出力端子Doutから出力されるデータ出力信号MDoutのペアおよび選択されたデータ出力信号MDoutの出力順は、データ選択アドレス信号SDTの値およびバーストアドレス信号bADの値に応じて変化する。すなわち、データ選択アドレス信号SDTが”1”のとき、データ出力信号MDout2−3が出力される。データ出力信号MDout0−1または2−3は、バーストアドレス信号bADの値が偶数(=0)のときに、偶数のデータ出力信号MDoutが先に出力され、バーストアドレス信号bADの値が奇数(=1)のときに、奇数のデータ出力信号MDoutが先に出力される。
【0082】
図11は、第2の実施形態の書き込み動作を示している。第1の実施形態(図8)と同じ動作については、詳細な説明は省略する。この例では、2クロックサイクル毎に書き込みコマンドWRが供給される。インタフェース変換マクロIFCVは、書き込みコマンドWRを受けた次のクロックパルスCK2の立ち下がりエッジに同期してコマンド信号CMD(A)およびアドレス信号AD(A)をメモリMEMに出力する(図11(a))。メモリMEMは、例えば、3番目のクロックパルスCKに対応するメモリクロックパルスMCKに同期して、メモリコマンド信号MCMD(A)、メモリアドレス信号MAD(A)および書き込みデータ信号(この例ではA0−1)を受け、書き込み動作を開始する(図11(b))。
【0083】
例えば、最初の書き込みコマンドWR(A)に対応する書き込み動作では、バーストアドレス信号bADの値が”0”のため、最初に供給された書き込みデータ信号A0は、データ入力信号MDin0としてメモリMEMに供給される。次に供給された書き込みデータ信号A1は、データ入力信号MDin1としてメモリMEMに供給される(図11(c))。また、データ選択アドレスSDTの値が”0”のため、データマスク信号MDM0、1、2、3の値は、L、L、H、H(すなわち、16進数で”$C”)に設定される。メモリMEMは、データマスク信号MDM0−3に応じて、データ入力信号MDin2−3の伝達をマスクし(DM)、データ入力信号MDin0−1のみをメモリコア64に書き込む(図11(d))。
【0084】
2番目以降の書き込みコマンドWR(B−D)に伴う書き込み動作も、上述と同様に実行される。但し、データ選択アドレスSDTの値が”1”のとき、データマスク信号MDM0−3の値は、16進数で”$3”に設定される。このとき、データ入力信号MDin0−1がマスクされ(DM)、データ入力信号MDin2−3のみがメモリコア64に書き込まれる。バーストアドレス信号bADの値が偶数(=0)のときに、先に受けたデータ入力信号Dinが偶数のデータ入力端子MDoutに伝達され、バーストアドレス信号bADの値が奇数(=1)のときに、先に受けたデータ入力信号Dinが奇数のデータ入力端子MDoutに伝達される。
【0085】
以上、第2の実施形態においても、上述した第1の実施形態と同様の効果を得ることができる。さらに、この実施形態では、コントローラCTRL1−2で使用する書き込みデータ信号Dinのビット数が、メモリマクロMEMに供給される書き込みデータ信号MDin0−3のビット数より少ない場合にも、インタフェース変換マクロIFCVにより、メモリマクロMEMの書き込み動作を正常に実行できる。この際、シリアルの書き込みデータ信号Dinは、バーストアドレス信号bADに応じて、メモリマクロMEMの任意の書き込みデータ信号線MDinに出力可能である。あるいは、データ選択アドレスSDTに応じて、必要な書き込みデータ信号MDinのみをメモリマクロMEMに書き込み、他の書き込みデータ信号のメモリマクロへの書き込みをマスクできる。すなわち、メモリマクロMEMを誤動作することなくアクセスできる。
【0086】
同様に、コントローラCTRL1−2で使用する読み出しデータ信号Doutのビット数が、メモリマクロMEMから出力される読み出しデータ信号MDoutのビット数より少ない場合にも、インタフェース変換マクロIFCVにより、メモリマクロMEMの読み出し動作を正常に実行できる。この際、メモリマクロMEMから出力されるパラレルの読み出しデータ信号MDout0−3は、バーストアドレス信号bADに応じて、任意の順序でコントローラCTRL1またはCTRL2に出力可能である。あるいは、データ選択アドレスSDTに応じて、メモリマクロMEMから出力されるパラレルの読み出しデータ信号MDout0−3うち、任意の読み出しデータ信号のみを読み出しできる。すなわち、メモリマクロを誤動作することなくアクセスできる。
【0087】
このように、システムインタフェース仕様が異なる場合にも、複数のシステムSYSに共通に使用されるメモリマクロMEMの誤動作を、インタフェース変換マクロIFCVにより防止できる。
【0088】
図12は、本発明の第3の実施形態のインタフェース変換マクロIFCVを示している。第1および第2の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のインタフェース変換マクロIFCVは、第1の実施形態のインタフェース変換マクロIFCVのクロック制御回路22およびデータクロック生成回路32の代わりに、クロック制御回路22Bおよびデータクロック生成回路32Bを有している。インタフェース変換マクロIFCVを除く構成は、第1の実施形態と同じである。
【0089】
第3の実施形態のシステムSYSの構成は、第1の実施形態(図1)と同じである。但し、コントローラマクロCTRL1またはCTRL2は、バーストアドレス信号bAD0−1の代わりに、データ選択アドレス信号SDT0−1を出力する。SoCに搭載されるメモリマクロMEMは、第1の実施形態と同じである。この実施形態では、インタフェース変換マクロIFCVにより、第1の実施形態と同じメモリマクロMEMを用いて、バースト長BL=1、読み出しレイテンシRL=4のアクセス動作が実行される。
【0090】
バーストアドレスバッファ/ラッチ16は、データ選択アドレス信号SDT0−1を受け、データ選択アドレスSD0−1として出力する。クロック制御回路22Bは、図4に示したように、BL=1、RL=4に対応するメモリクロック信号MCK、出力クロック信号OUTCK、読み出しクロック信号RCKおよび書き込みクロック信号WCKを生成する。
【0091】
データクロック生成回路32Bは、読み出し動作時に、データ選択アドレスSD0−1に応じてデータ出力クロック信号DOCK0−3のいずれかを生成し、書き込み動作時に、データ選択アドレスSD0−1に応じてデータ入力クロック信号DICK0−3のいずれかを生成する。データ出力クロック信号DOCK0−3は、読み出しクロック信号RCKに同期して生成され、データ入力クロック信号DICK0−3は、書き込みクロックWCKに同期して生成される。また、データクロック生成回路32Bは、書き込み動作時に、データ入力信号MDin0−3のいずれかのみを供給するために、データ選択アドレスSD0−2に応じてデータマスク信号MDM0−3を出力する。
【0092】
このように、本実施形態では、読み出し動作時に、データクロック生成回路32Aは、パラレルの読み出しデータ信号MDout0−3のうちコントローラCTRL1またはCTRL2が必要とする読み出しデータ信号MDout0−3のいずれかを、データ選択アドレス信号SDTに応じて選択し、選択した読み出しデータ信号MDoutに対応するデータ出力クロック信号DOCKを生成し、生成したデータ出力クロック信号DOCKをパラレル/シリアル変換回路36に出力する。
【0093】
また、書き込み動作時に、データクロック生成回路32Aは、書き込みデータ保持回路WHLDの保持部を示すデータ選択アドレスSDTに応じて、4つのメモリデータ入力信号線グループMDin0−3のいずれかに対応する保持部を選択し、選択した保持部に対応するデータ入力クロック信号DICKを生成し、生成したデータ入力クロック信号DICKをシリアル/パラレル変換回路34に出力するとともに、選択しない保持部に対応するデータマスク信号MDM0−3をメモリマクロMEMに出力する。なお、この実施形態では、図6に示したメモリマクロMEMのデータマスク端子MDM0−3は、インタフェース変換マクロIFCVのデータマスク端子MDM0−3に接続されている。
【0094】
図13は、第3の実施形態の読み出し動作を示している。第1および第2の実施形態(図7、図10)と同じ動作については、詳細な説明は省略する。この例では、クロックサイクル毎に読み出しコマンドRDが供給される。インタフェース変換マクロIFCVは、読み出しコマンドRDを受けたクロックパルスCKの立ち下がりエッジに同期してコマンド信号CMD(A)およびアドレス信号AD(A)をメモリMEMに出力する(図13(a))。メモリMEMは、例えば、2番目のクロックパルスCKに対応するメモリクロックパルスMCKに同期して、メモリコマンド信号MCMD(A)およびメモリアドレス信号MAD(A)を受け、読み出し動作を開始する(図13(b))。
【0095】
メモリMEMは、メモリコマンド信号MCMD(A)を受けた次のクロックパルスCKの立ち下がりエッジに対応する時刻(例えば、CK3の立ち下がりエッジ)にメモリデータ出力信号MDout0−3(読み出しデータA0−A3)を出力する(図13(c))。
【0096】
特に図示していないが、データクロック生成回路32Bは、4番目のクロックパルスCKに同期してデータ出力クロック信号DOCK0−3のいずれかを出力する。出力されるデータ出力クロック信号DOCKの番号は、データ選択アドレスSDT0−1の値と同じである。そして、読み出しデータ信号A0が、4番目のクロックパルスデータCKに同期してデータ出力端子Doutから出力される(図13(d))。図1に示したコントローラCTRL1またはCTRL2は、5番目のクロックパルスCKに同期して読み出しデータ信号A0を受ける。すなわち、この実施形態の読み出しレイテンシRLは、”4”である。2番目以降の読み出しコマンドRD(B−D)に伴う読み出し動作も、上述と同様に実行される。
【0097】
図14は、第3の実施形態の書き込み動作を示している。第1および第2の実施形態(図8、図11)と同じ動作については、詳細な説明は省略する。この例では、クロックサイクル毎に書き込みコマンドWRが供給される。インタフェース変換マクロIFCVは、書き込みコマンドWRを受けたクロックパルスCKの立ち下がりエッジに同期してコマンド信号CMD(A)およびアドレス信号AD(A)をメモリMEMに出力する(図14(a))。メモリMEMは、例えば、2番目のクロックパルスCKに対応するメモリクロックパルスMCKに同期して、メモリコマンド信号MCMD(A)、メモリアドレス信号MAD(A)および書き込みデータ信号(この例ではA0)を受け、書き込み動作を開始する(図14(b))。
【0098】
例えば、最初の書き込みコマンドWR(A)に対応する書き込み動作では、データ選択アドレスSDTの値が”0”のため、最初に供給された書き込みデータ信号A0は、データ入力信号MDin0としてメモリMEMに供給される(図14(c))。次の書き込みコマンドWR(B)に対応する書き込み動作では、データ選択アドレスSDTの値が”1”のため、書き込みデータ信号B1が、データ入力信号MDin1としてメモリMEMに供給される(図14(d))。次の書き込みコマンドWR(C)に対応する書き込み動作では、データ選択アドレスSDTの値が”3”のため、書き込みデータ信号C3が、データ入力信号MDin3としてメモリMEMに供給される(図14(e))。次の書き込みコマンドWR(D)に対応する書き込み動作では、データ選択アドレスSDTの値が”2”のため、書き込みデータ信号D2が、データ入力信号MDin2としてメモリMEMに供給される(図14(f))。なお、データクロック生成回路32Bは、第2の実施形態と同様に、データ選択アドレスSDT01−に応じて、選択しない保持部に対応するデータマスク信号MDM0−3のいずれか3つをメモリマクロMEMに出力する。以上、第3の実施形態においても、上述した第1および第2の実施形態と同様の効果を得ることができる。
【0099】
図15は、本発明の第4の実施形態のインタフェース変換マクロIFCVを示している。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のインタフェース変換マクロIFCVは、第1の実施形態のインタフェース変換マクロIFCVのクロック制御回路22およびパラレル/シリアル変換回路36の代わりに、クロック制御回路22Cおよびパラレル/シリアル変換回路36Cを有している。インタフェース変換マクロIFCVを除く構成は、第1の実施形態と同じである。
【0100】
第4の実施形態のシステムSYSの構成は、第1の実施形態(図1)と同じである。但し、コントローラマクロCTRL1またはCTRL2は、バースト長BL=4、読み出しレイテンシRL=9でアクセス動作を実行する。クロック制御回路22Cは、読み出しレイテンシRL=9を実現するために、読み出しクロック信号RCKの出力タイミングを第1の実施形態に比べて2クロックサイクルだけ遅らせる。パラレル/シリアル変換回路36Cは、読み出しレイテンシRL=9を実現するために、メモリMEMから読み出されるメモリ出力データ信号MDout0−3を一時的に保持する読み出しデータ保持回路RHLDを有している。
【0101】
図16は、第4の実施形態の読み出し動作を示している。第1の実施形態(図7)と同じ動作については、詳細な説明は省略する。メモリMEMからデータ出力信号MDout0−3(読み出しデータ)が出力されるまでのタイミングは、図7と同じである。インタフェース変換マクロIFCVは、読み出しコマンドRDが供給された後、8番目のクロックパルス(例えば、CK9)に同期して、データ出力信号MDout0−3を読み出しデータ保持回路RHLDに保持する(図16(a))。そして、読み出しデータ信号A0−A3は、9番目から12番目のクロックパルスCKに同期してデータ端子Doutから順次に出力される(図16(b))。図1に示したコントローラCTRL1またはCTRL2は、10番目から13番目のクロックパルスCKに同期して読み出しデータ信号A0−A3を順次に受ける。すなわち、この実施形態の読み出しレイテンシRLは、”9”である。
【0102】
なお、書き込み動作は、第1の実施形態(図8)と同じである。以上、第4の実施形態においても、上述した第1の実施形態と同様の効果を得ることができる。
【0103】
図17は、本発明の第5の実施形態のインタフェース変換マクロIFCVを示している。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態のインタフェース変換マクロIFCVは、第1の実施形態のインタフェース変換マクロIFCVのバーストアドレスバッファ/ラッチ16、クロック制御回路22、コマンドデコーダ24、アドレスレジスタ30およびパラレル/シリアル変換回路36の代わりに、バーストアドレスバッファ/ラッチ16D、クロック制御回路22D、コマンドデコーダ24D、アドレスレジスタ30Dおよびパラレル/シリアル変換回路36Dを有している。また、インタフェース変換マクロIFCVは、メモリデータ入力信号MDinをパラレル/シリアル変換回路36Dに転送するためのスイッチSWを有している。インタフェース変換マクロIFCVを除く構成は、第1の実施形態と同じである。
【0104】
この実施形態では、インタフェース変換マクロIFCVは、レイトライト機能を内蔵している。レイトライト機能は、書き込みコマンドWRに対応して供給される書き込みデータを次の書き込みコマンドWRの供給時にメモリマクロMEMのメモリセルMCに書き込む機能である。レイトライト機能は、インタフェース変換マクロIFCVの内部機能である。このため、メモリマクロMEMをアクセスするコントローラCTRL1またはCTRL2は、レイトライト機能を認識しない。しかし、レイトライト機能により、システムインタフェース仕様を改善できる。具体的には、レイトライト機能により、書き込みコマンドWRを受けてから書き込み動作を開始するまでの時間を短くできる。特に、バースト書き込み動作において、最後に供給される書き込みデータ信号を待つことなく書き込み動作を開始できる。また、インタフェース変換マクロIFCVが、読み出し動作と書き込み動作で共通のメモリクロック信号MCKおよび出力クロック信号OUTCKを生成する場合に、読み出しレイテインシRL(クロック数)を少なくできる。この結果、メモリバスMBUSの使用効率を向上できる。
【0105】
レイトライト機能を実現するために、バーストアドレスバッファ/ラッチ16Dのラッチ回路は、書き込みコマンドWRとともに供給されるバーストアドレス信号bAD0−1を、次の書き込みコマンドWRが供給されるまで保持する機能を有する。シリアル/パラレル変換回路34Dの書き込みデータ保持回路WHLDは、書き込みデータ信号Dinを次の書き込みコマンドWRが供給されるまで保持する機能を有する。
【0106】
アドレスレジスタ30Dは、アドレスADを保持する図示しないレジスタに加えて、書き込みアドレス保持部WRA、セレクタSELおよび比較器CMPを有している。書き込みアドレス保持部WRAは、書き込みコマンドWRとともに供給されるアドレス信号ADを、次の書き込みコマンドWRが供給されるまで保持する機能を有する。セレクタSELは、読み出しコマンドRDおよびリフレッシュコマンドREFが供給されるときに、アドレスバッファ/ラッチ14からのアドレス信号ADをメモリアドレス信号MADとして出力する。セレクタSELは、書き込みコマンドWRが供給されるときに、書き込みアドレス保持部WRAに保持されたアドレス信号ADをメモリアドレス信号MADとして出力する。読み出しコマンドRD、書き込みコマンドWRおよびリフレッシュコマンドREFを示す信号は、コマンドデコーダ24Dにより生成される。比較器CMPは、読み出しコマンドRDとともに供給されるアドレス信号ADが書き込みアドレス保持部WRAに保持されたアドレス信号ADと一致するときに、一致信号COINを出力する。
【0107】
スイッチ回路SWは、一致信号COINに応答してオンし、メモリデータ入力信号MDin0−3をパラレル/シリアル変換回路36Dに転送する。パラレル/シリアル変換回路36Dは、一致信号COINが出力されないときに、メモリデータ出力信号MDout0−3をデータ出力信号ODATとして順次に出力する。パラレル/シリアル変換回路36Dは、一致信号COINが出力されたときに、メモリデータ入力信号MDin0−3をデータ出力信号ODATとして順次に出力する。
【0108】
図18は、第5の実施形態の読み出し動作を示している。第1の実施形態(図7)と同じ動作については、詳細な説明は省略する。この例では、出力クロック信号OUTCKは、読み出しコマンドRDを受けたクロック信号CKの立ち下がりエッジに同期して出力される。メモリコマンド信号MCMDおよびメモリアドレス信号MADは、出力クロック信号OUTCKに同期してメモリMEMに出力される(図18(a))。メモリクロック信号MCKは、例えば、読み出しコマンドRDを受けたクロックパルスCKの次のクロックパルスCKに同期して生成される(図18(b))。メモリクロックMCKが出力された後の動作は、図7と同じである。
【0109】
コマンド信号CMDに対する出力クロック信号OUTCKおよびメモリクロック信号MCKの生成タイミングは、図19に示す書き込み動作と同じである。このため、クロック制御回路22Dの一部を書き込み動作と読み出し動作とで共通にでき、インタフェース変換マクロIFCVの回路規模を削減できる。この実施形態では、コマンド信号MCMD等をメモリMEMに出力するためのメモリクロック信号MCKの出力タイミングを早くできるため、読み出しレイテインシRLを”4”に設定できる。
【0110】
なお、レイトライト動作では、直前の書き込みコマンドWRとともに供給された書き込みデータ信号Dinは、メモリセルMCに書き込まれていない。このため、読み出しコマンドRDとともに供給されるアドレス信号AD(B)が、直前の書き込みコマンドWRとともに供給されたアドレス信号AD(Z)と同じ場合、一致信号COINが出力され(図18(c))、シリアル/パラレル変換回路34の書き込みデータ保持回路WHLDに保持されているデータ信号Z0−3が、データ出力信号Doutとして出力される(図18(d))。
【0111】
図19は、第5の実施形態の書き込み動作を示している。第1の実施形態(図8)と同じ動作については、詳細な説明は省略する。この例では、シリアル/パラレル変換回路34の書き込みデータ保持回路WHLDは、前回の書き込みコマンドWRとともに供給された書き込みデータ信号(例えば、Z0−3)と、今回の書き込みコマンドWRとともに供給された書き込みデータ信号(例えば、A0−3)とを保持する(図19(a))。アドレスレジスタ30Dの書き込みアドレス保持部WRAは、前回の書き込みコマンドWRとともに供給されたアドレス信号(例えば、Z)と、今回の書き込みコマンドWRとともに供給されたアドレス信号(例えば、A)を保持する(図19(b))。
【0112】
インタフェース変換マクロIFCVは、書き込みコマンドWRに応答して、前回の書き込みコマンドWRとともに供給されたアドレス信号Zおよび書き込みデータ信号Z0−3を、メモリアドレス信号ADおよびメモリデータ入力信号MDinとしてメモリマクロMEMに出力する(図19(c、d))。そして、レイトライト動作が実行される。なお、レイトライト機能は、インタフェース変換マクロIFCVにより実現され、メモリマクロMEMは、レイトライト機能を内蔵していない。このため、システムSYSがレイトライト機能を搭載する場合にも、レイトライト機能を持たない共通のメモリマクロMEMを使用できる。
【0113】
以上、第5の実施形態においても、上述した第1の実施形態と同様の効果を得ることができる。さらに、この実施形態では、インタフェース変換マクロIFCVにレイトライト機能を搭載することにより、読み出しレイテインシRLを少なくできる。また、書き込みコマンドWRを受けてから書き込み動作を開始するまでの時間を短くできる。この結果、共通のメモリマクロMEMを使用する場合にも、メモリバスMBUSの使用効率を向上できる。
【0114】
図20は、本発明の第6の実施形態を示している。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、SoCは、メモリマクロMEMの動作テストを実行するためのテスト回路BISTと、テスト用のシフトレジスタSFTR、入力選択回路ISELおよび出力選択回路OSELを有している。テスト回路BISTは、入力選択回路ISELおよび出力選択回路OSELを介してメモリマクロMEMに直接接続されている。テスト回路BISTは、メモリマクロMEMの動作テストの結果TRSLTをメモリバスMBUSに出力する。SoCは、テストクロックTCKを受けるテストクロック端子を有している。テスト回路BISTおよび制御回路ISEL、OSEL、SFTRを除くSoCの構成は、第1の実施形態と同じである。システムSYSの構成は、SoCのテスト機能を除き、第1の実施形態と同じである。すなわち、システムSYSは、例えば、携帯電話等の携帯機器である。
【0115】
テスト回路BISTは、いわゆるビルトインセルフテスト回路であり、テストモード中に、テストパターンをメモリMEMに出力し、メモリMEMから読み出されるデータ出力信号をテストデータ出力信号TDoutとして受ける。テスト回路BISTは、テストデータ出力信号TDoutを期待値と比較し、メモリマクロMEMの良否を判定し、判定結果をテスト結果信号TRSLTを出力する。テストパターンは、メモリインタフェース仕様に従ったテストクロック信号CLK、テストコマンド信号TCMD、テストアドレス信号TADおよびテストデータ入力信号TDinとしてメモリMEMに供給される。
【0116】
シフトレジスタSFTRは、テストモード中に受けるテストクロック信号CLKのパルス数に応じて、SoC内の機能ブロックのテストを実施するテスト信号TEST1、2、...、nのいずれかを出力する。テスト信号TEST1が出力されたとき、テスト回路BISTによるメモリMEMのテストが実施される。
【0117】
入力選択回路ISELは、通常動作モード中にインタフェース変換マクロIFCVからの信号MCK、MCMD、MAD、MDinをメモリMEMに出力し、テストモード中に、テスト信号TEST1が出力されたときに、テスト回路BISTからの信号TCK、TCMD、TAD、TDinをメモリMEMに出力する。出力選択回路OSELは、通常動作モード中にメモリMEMからのデータ出力信号をメモリデータ出力信号MDoutとしてインタフェース変換マクロIFCVに出力し、テストモード中に、テスト信号TEST1が出力されたときに、メモリMEMからのデータ出力信号をテストデータ出力信号TDoutとしてテスト回路BISTに出力する。すなわち、入力選択回路ISELおよび出力選択回路OSELは、テストモード中にテスト回路BISTをメモリマクロMEMに接続し、通常動作モード中にインタフェース変換マクロIFCVをメモリマクロMEMに接続するセレクタとして動作する。
【0118】
この実施形態では、テスト回路BISTによる動作テストの結果TRSLTは、外部端子を介してSoCの外部に出力される。あるいは、動作テストの結果TRSLTは、コントローラCTRL1−2の少なくともいずれかに保持された後、SoCの外部に出力される。これにより、複数のSoCチップで構成される半導体ウエハが製造された後に、メモリマクロMEMの動作テストを実施できる。あるいは、SoCがパッケージングされた後に、メモリマクロMEMの動作テストを実施できる。
【0119】
さらに、この実施形態では、コントローラCTRL1−2のシステムインタフェース仕様に関わりなく、共通のメモリマクロMEMが使用される。換言すれば、メモリマクロMEMをアクセスするための複数種のシステムインタフェース仕様は、インタフェース変換マクロIFCVによりメモリマクロMEMをアクセスするための共通のメモリインタフェース仕様に変換される。SoCに搭載されるメモリマクロMEMの動作仕様(インタフェース仕様)をシステムSYSによらず同一にできるため、テスト回路BISTをシステムSYSのシステムインタフェース仕様によらず共通にできる。
【0120】
以上、第6の実施形態においても、上述した第1の実施形態と同様の効果を得ることができる。さらに、この実施形態では、インタフェース変換マクロIFCVをSoCに搭載することで、システム仕様に依存しないメモリマクロMEMを使用できるため、システム仕様に依存しない共通のテスト回路BISTを使用できる。したがって、システムSYSを設計する際に、メモリマクロMEMのテスト設計の時間を削減できる。この結果、SoC(半導体集積回路)の設計期間および設計コストを削減できる。
【0121】
なお、上述した実施形態では、本発明をDRAMのメモリマクロMEMを搭載するSoCに適用する例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明を、擬似SRAM、SRAM、フラッシュメモリ、あるいは強誘電体メモリのメモリマクロを搭載するSoCに適用してもよい。
【0122】
上述した第3の実施形態では、バースト長BL=1に対応する例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、コントローラCTRL1またはCTRL2が、図3に示したメモリコマンド信号MCMDを出力する場合、メモリマクロMEMは、メモリバスMBUSに直接に接続可能である。この場合、図13おいて、例えば、読み出しコマンドMCMD(A)がクロックパルスCK2に同期してメモリMEMに供給され、コントローラCTRL1またはCTRL2は、クロックパルスCK5に同期して最初の読み出しデータ信号A0を受けることができる。したがって、読み出しレイテインシRLを”3”にできる。
【0123】
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1)
メモリセルアレイと、前記メモリセルアレイをアクセスするために、メモリインタフェース仕様に従った信号を入出力するメモリインタフェース部とを有するメモリマクロと、
コントローラから出力されるシステムインタフェース仕様に従った信号を、メモリインタフェース仕様に従った信号に変換し、前記メモリインタフェース部に出力するとともに、前記メモリインタフェース部から出力される信号を、システムインタフェース仕様に従った信号に変換し、前記コントローラに出力するインタフェース変換マクロとを備えていることを特徴とする半導体集積回路。
(付記2)
付記1記載の半導体集積回路において、
前記インタフェース変換マクロは、
前記コントローラから出力されるコマンド信号を解読するコマンドデコーダと、
メモリインタフェース仕様に従ったクロックパルスを、前記コマンドデコーダの解読結果に応じて生成するクロック制御回路と、
前記コントローラから出力される書き込みデータ信号を保持するラッチと、
前記ラッチに保持された書き込みデータ信号を、前記クロックパルスに同期して保持し、保持した書き込みデータ信号を前記メモリマクロに出力する書き込みデータ変換回路と、
前記メモリマクロから出力される読み出しデータ信号を前記クロックパルスに同期して前記コントローラに出力する読み出しデータ変換回路とを備えていることを特徴とする半導体集積回路。
(付記3)
付記2記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドおよび書き込みコマンドの少なくともいずれかを含み、
システムインタフェース仕様は、1回の読み出しコマンドに応答して出力される読み出しデータ信号の回数または1回の書き込みコマンドに応答して入力される書き込みデータ信号の回数を示すバースト長を含み、
前記クロック制御回路は、バースト長に対応する数のクロックパルスを生成することを特徴とする半導体集積回路。
(付記4)
付記2記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドを含み、
システムインタフェース仕様は、読み出しコマンドが供給されてから読み出しデータが出力されるまでのクロック数を示す読み出しレイテンシを含み、
前記クロック制御回路は、前記コマンドデコーダの解読結果が読み出しコマンドを示すときに、読み出しレイテンシに対応するクロック数後にクロックパルスを生成することを特徴とする半導体集積回路。
(付記5)
付記2記載の半導体集積回路において、
前記インタフェース変換マクロから前記メモリマクロに出力される書き込みデータ信号のビット数は、前記コントローラから前記インタフェース変換マクロに出力される書き込みデータ信号のビット数の整数倍であり、
前記書き込みデータ変換回路は、前記コントローラから出力されるシリアルの書き込みデータ信号を前記クロックパルスに同期して保持し、前記クロックパルスが出力された後に、保持している書き込みデータ信号をパラレルの書き込みデータ信号として前記メモリマクロに出力する書き込みデータ保持回路を備えていることを特徴とする半導体集積回路。
(付記6)
付記5記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と書き込みデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記書き込みデータ保持回路は、前記メモリマクロに出力される書き込みデータ信号のビット数に対応する複数の保持部を備え、
前記データクロック生成回路は、シリアルの書き込みデータ信号を前記保持部のいずれに保持するかを示すバーストアドレス信号に応じて、前記保持部にそれぞれ対応するデータ入力クロック信号を順次に生成し、生成したデータ入力クロック信号を前記クロックパルスとして前記書き込みデータ変換回路に出力することを特徴とする半導体集積回路。
(付記7)
付記6記載の半導体集積回路において、
前記コマンド信号に対応して前記コントローラから出力されるシリアルの書き込みデータ信号の数は、前記保持部の数より少なく、
前記データクロック生成回路は、シリアルの書き込みデータ信号を保持する保持部を示すデータ選択アドレスに応じて、保持部の少なくともいずれかを選択し、選択した保持部に対応するデータ入力クロック信号を、前記バーストアドレス信号に応じて順次に生成し、生成したデータ入力クロック信号を前記クロックパルスとして前記書き込みデータ変換回路に出力するとともに、選択しない保持部に対応するデータマスク信号を前記メモリマクロに出力し、
前記メモリマクロは、データマスク信号に対応する書き込みデータ信号のメモリセルへの書き込みをマスクすることを特徴とする半導体集積回路。
(付記8)
付記5記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と書き込みデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記書き込みデータ保持回路は、前記メモリマクロに出力される書き込みデータ信号のビット数に対応する複数の保持部を備え、
前記コマンド信号に対応して前記コントローラから出力されるシリアルの書き込みデータ信号の数は、前記保持部の数より少なく、
前記データクロック生成回路は、シリアルの書き込みデータ信号を保持する保持部を示すデータ選択アドレスに応じて、保持部の少なくともいずれかを選択し、選択した保持部に対応するデータ入力クロック信号を生成し、生成したデータ入力クロック信号を前記クロックパルスとして前記書き込みデータ変換回路に出力するとともに、選択しない保持部に対応するデータマスク信号を前記メモリマクロに出力し、
前記メモリマクロは、データマスク信号に対応する書き込みデータ信号のメモリセルへの書き込みをマスクすることを特徴とする半導体集積回路。
(付記9)
付記2記載の半導体集積回路において、
前記メモリマクロから前記インタフェース変換マクロに出力される読み出しデータ信号のビット数は、前記インタフェース変換マクロから前記コントローラに出力される読み出しデータ信号のビット数の整数倍であり、
前記読み出しデータ変換回路は、前記メモリマクロから出力されるパラレルの読み出しデータ信号を、前記クロックパルスに同期してシリアルの読み出しデータ信号に変換し、変換した読み出しデータ信号を前記コントローラに出力することを特徴とする半導体集積回路。
(付記10)
付記9記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と読み出しデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記データクロック生成回路は、パラレルの読み出しデータ信号の前記コントローラへの出力順を示すバーストアドレス信号に応じてデータ出力クロック信号を順次に生成し、生成したデータ出力クロック信号を前記クロックパルスとして前記読み出しデータ変換回路に出力することを特徴とする半導体集積回路。
(付記11)
付記10記載の半導体集積回路において、
前記コマンド信号に応答して前記インタフェース変換マクロから前記コントローラに出力されるシリアルの読み出しデータ信号の数は、前記メモリマクロから出力されるパラレルの読み出しデータ信号の数より少なく、
前記データクロック生成回路は、パラレルの読み出しデータ信号のうち前記コントローラが必要とする読み出しデータ信号を、データ選択アドレス信号に応じて選択し、選択した読み出しデータ信号に対応するデータ出力クロック信号を、前記バーストアドレス信号に応じて順次に生成し、生成したデータ出力クロック信号を前記クロックパルスとして前記読み出しデータ変換回路に出力することを特徴とする半導体集積回路。
(付記12)
付記9記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と読み出しデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記コマンド信号に応答して前記インタフェース変換マクロから前記コントローラに出力されるシリアルの読み出しデータ信号の数は、前記メモリマクロから出力されるパラレルの読み出しデータ信号の数より少なく、
前記データクロック生成回路は、パラレルの読み出しデータ信号のうち前記コントローラが必要とする読み出しデータ信号を、データ選択アドレス信号に応じて選択し、選択した読み出しデータ信号に対応するデータ出力クロック信号を、前記バーストアドレス信号に応じて生成し、生成したデータ出力クロック信号を前記クロックパルスとして前記読み出しデータ変換回路に出力することを特徴とする半導体集積回路。
(付記13)
付記1記載の半導体メモリマクロにおいて、
前記インタフェース変換マクロは、
前記コントローラから出力されるシステムインタフェース仕様に従ったコマンド信号を、メモリインタフェース仕様に従ったコマンド信号に変換し、変換したコマンド信号を前記メモリマクロに出力するコマンド変換回路を備えていることを特徴とする半導体集積回路。
(付記14)
付記1記載の半導体集積回路において、
前記コマンド信号は、書き込みコマンドを含み、
前記インタフェース変換マクロは、
書き込みコマンドに対応して供給されるアドレス信号および書き込みデータ信号を、次の書き込みコマンドが供給されるまで保持する保持回路と、
次の書き込みコマンドに対応して前記保持回路に保持されているアドレス信号および書き込みデータ信号を前記メモリマクロに出力するメモリ出力回路とを備えていることを特徴とする半導体集積回路。
(付記15)
付記14記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドを含み、
前記インタフェース変換マクロは、
読み出しコマンドに対応して供給されるアドレス信号が、前記保持回路により保持されているアドレス信号に一致するときに、前記保持回路に保持されている書き込みデータ信号を読み出しデータ信号として出力する読み出し出力回路を備えていることを特徴とする半導体集積回路。
(付記16)
付記1記載の半導体集積回路において、
前記メモリマクロをアクセスするために、メモリインタフェース仕様に従ったテスト信号を前記メモリマクロに出力し、前記テスト信号に応答して前記メモリマクロから出力されるテスト読み出しデータ信号を期待値と比較し、前記メモリマクロの良否を判定するテスト回路と、
テストモード中に前記テスト回路を前記メモリマクロに接続し、通常動作モード中に前記インタフェース変換マクロを前記メモリマクロに接続するセレクタとを備えていることを特徴とする半導体集積回路。
(付記17)
付記1記載の半導体集積回路において、
半導体集積回路は、前記コントローラを備え、
前記インタフェース変換マクロは、アレイ状に予め形成された論理素子の端子間を配線により接続することにより、前記コントローラとともに製造され、
前記インタフェース変換マクロのテストは、前記コントローラのテストとともに実施されることを特徴とする半導体集積回路。
(付記18)
付記17記載の半導体集積回路において、
前記メモリマクロは、ハードマクロとして設計され、
前記インタフェース変換マクロは、ソフトマクロとして設計されることを特徴とする半導体集積回路。
【0124】
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【産業上の利用可能性】
【0125】
本発明は、メモリマクロが搭載される半導体集積回路に適用可能である。
【図面の簡単な説明】
【0126】
【図1】第1の実施形態を示すブロック図である。
【図2】図1に示したインタフェース変換マクロの詳細を示すブロック図である。
【図3】コントローラから出力されるコマンド信号と、メモリマクロに供給されるメモリコマンド信号との関係を示す説明図である。
【図4】図2に示したクロック制御回路の動作を示すタイミング図である。
【図5】図2に示したデータクロック生成回路の動作を示すタイミング図である。
【図6】図1に示したメモリマクロの詳細を示すブロック図である。
【図7】第1の実施形態の読み出し動作を示すタイミング図である。
【図8】第1の実施形態の書き込み動作を示すタイミング図である。
【図9】第2の実施形態のインタフェース変換マクロを示すブロック図である。
【図10】第2の実施形態の読み出し動作を示すタイミング図である。
【図11】第2の実施形態の書き込み動作を示すタイミング図である。
【図12】第3の実施形態のインタフェース変換マクロを示すブロック図である。
【図13】第3の実施形態の読み出し動作を示すタイミング図である。
【図14】第3の実施形態の書き込み動作を示すタイミング図である。
【図15】第4の実施形態のインタフェース変換マクロを示すブロック図である。
【図16】第4の実施形態の読み出し動作を示すタイミング図である。
【図17】第5の実施形態のインタフェース変換マクロを示すブロック図である。
【図18】第5の実施形態の読み出し動作を示すタイミング図である。
【図19】第5の実施形態の書き込み動作を示すタイミング図である。
【図20】第6の実施形態を示すブロック図である。
【符号の説明】
【0127】
10‥クロックバッファ;12‥コマンドバッファ/ラッチ;14‥アドレスバッファ/ラッチ;16‥バーストアドレスバッファ/ラッチ;18‥データ入力バッファ/ラッチ;20‥データ出力バッファ;22‥クロック制御回路;24‥コマンドデコーダ;
26‥コマンド変換回路;28‥コマンドレジスタ;30‥アドレスレジスタ;32‥データクロック生成回路;34‥シリアル/パラレル変換回路;36‥パラレル/シリアル変換回路;50‥クロックバッファ;52‥コマンドバッファ/ラッチ;54‥アドレスバッファ/ラッチ;56‥データ入力バッファ/ラッチ;58‥データ出力バッファ;60‥コマンドデコーダ;62‥動作制御回路;64‥メモリコア;CTRL1、CTRL2‥コントローラマクロ;IFCV‥インタフェース変換マクロ;MEM‥メモリマクロ
【特許請求の範囲】
【請求項1】
メモリセルアレイと、前記メモリセルアレイをアクセスするために、メモリインタフェース仕様に従った信号を入出力するメモリインタフェース部とを有するメモリマクロと、
コントローラから出力されるシステムインタフェース仕様に従った信号を、メモリインタフェース仕様に従った信号に変換し、前記メモリインタフェース部に出力するとともに、前記メモリインタフェース部から出力される信号を、システムインタフェース仕様に従った信号に変換し、前記コントローラに出力するインタフェース変換マクロとを備えていることを特徴とする半導体集積回路。
【請求項2】
請求項1記載の半導体集積回路において、
前記インタフェース変換マクロは、
前記コントローラから出力されるコマンド信号を解読するコマンドデコーダと、
メモリインタフェース仕様に従ったクロックパルスを、前記コマンドデコーダの解読結果に応じて生成するクロック制御回路と、
前記コントローラから出力される書き込みデータ信号を保持するラッチと、
前記ラッチに保持された書き込みデータ信号を、前記クロックパルスに同期して保持し、保持した書き込みデータ信号を前記メモリマクロに出力する書き込みデータ変換回路と、
前記メモリマクロから出力される読み出しデータ信号を前記クロックパルスに同期して前記コントローラに出力する読み出しデータ変換回路とを備えていることを特徴とする半導体集積回路。
【請求項3】
請求項2記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドおよび書き込みコマンドの少なくともいずれかを含み、
システムインタフェース仕様は、1回の読み出しコマンドに応答して出力される読み出しデータ信号の回数または1回の書き込みコマンドに応答して入力される書き込みデータ信号の回数を示すバースト長を含み、
前記クロック制御回路は、バースト長に対応する数のクロックパルスを生成することを特徴とする半導体集積回路。
【請求項4】
請求項2記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドを含み、
システムインタフェース仕様は、読み出しコマンドが供給されてから読み出しデータが出力されるまでのクロック数を示す読み出しレイテンシを含み、
前記クロック制御回路は、前記コマンドデコーダの解読結果が読み出しコマンドを示すときに、読み出しレイテンシに対応するクロック数後にクロックパルスを生成することを特徴とする半導体集積回路。
【請求項5】
請求項2記載の半導体集積回路において、
前記インタフェース変換マクロから前記メモリマクロに出力される書き込みデータ信号のビット数は、前記コントローラから前記インタフェース変換マクロに出力される書き込みデータ信号のビット数の整数倍であり、
前記書き込みデータ変換回路は、前記コントローラから出力されるシリアルの書き込みデータ信号を前記クロックパルスに同期して保持し、前記クロックパルスが出力された後に、保持している書き込みデータ信号をパラレルの書き込みデータ信号として前記メモリマクロに出力する書き込みデータ保持回路を備えていることを特徴とする半導体集積回路。
【請求項6】
請求項5記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と書き込みデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記書き込みデータ保持回路は、前記メモリマクロに出力される書き込みデータ信号のビット数に対応する複数の保持部を備え、
前記データクロック生成回路は、シリアルの書き込みデータ信号を前記保持部のいずれに保持するかを示すバーストアドレス信号に応じて、前記保持部にそれぞれ対応するデータ入力クロック信号を順次に生成し、生成したデータ入力クロック信号を前記クロックパルスとして前記書き込みデータ変換回路に出力することを特徴とする半導体集積回路。
【請求項7】
請求項2記載の半導体集積回路において、
前記メモリマクロから前記インタフェース変換マクロに出力される読み出しデータ信号のビット数は、前記インタフェース変換マクロから前記コントローラに出力される読み出しデータ信号のビット数の整数倍であり、
前記読み出しデータ変換回路は、前記メモリマクロから出力されるパラレルの読み出しデータ信号を、前記クロックパルスに同期してシリアルの読み出しデータ信号に変換し、変換した読み出しデータ信号を前記コントローラに出力することを特徴とする半導体集積回路。
【請求項8】
請求項7記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と読み出しデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記データクロック生成回路は、パラレルの読み出しデータ信号の前記コントローラへの出力順を示すバーストアドレス信号に応じてデータ出力クロック信号を順次に生成し、生成したデータ出力クロック信号を前記クロックパルスとして前記読み出しデータ変換回路に出力することを特徴とする半導体集積回路。
【請求項9】
請求項1記載の半導体メモリマクロにおいて、
前記インタフェース変換マクロは、
前記コントローラから出力されるシステムインタフェース仕様に従ったコマンド信号を、メモリインタフェース仕様に従ったコマンド信号に変換し、変換したコマンド信号を前記メモリマクロに出力するコマンド変換回路を備えていることを特徴とする半導体集積回路。
【請求項10】
請求項1記載の半導体集積回路において、
前記メモリマクロをアクセスするために、メモリインタフェース仕様に従ったテスト信号を前記メモリマクロに出力し、前記テスト信号に応答して前記メモリマクロから出力されるテスト読み出しデータ信号を期待値と比較し、前記メモリマクロの良否を判定するテスト回路と、
テストモード中に前記テスト回路を前記メモリマクロに接続し、通常動作モード中に前記インタフェース変換マクロを前記メモリマクロに接続するセレクタとを備えていることを特徴とする半導体集積回路。
【請求項1】
メモリセルアレイと、前記メモリセルアレイをアクセスするために、メモリインタフェース仕様に従った信号を入出力するメモリインタフェース部とを有するメモリマクロと、
コントローラから出力されるシステムインタフェース仕様に従った信号を、メモリインタフェース仕様に従った信号に変換し、前記メモリインタフェース部に出力するとともに、前記メモリインタフェース部から出力される信号を、システムインタフェース仕様に従った信号に変換し、前記コントローラに出力するインタフェース変換マクロとを備えていることを特徴とする半導体集積回路。
【請求項2】
請求項1記載の半導体集積回路において、
前記インタフェース変換マクロは、
前記コントローラから出力されるコマンド信号を解読するコマンドデコーダと、
メモリインタフェース仕様に従ったクロックパルスを、前記コマンドデコーダの解読結果に応じて生成するクロック制御回路と、
前記コントローラから出力される書き込みデータ信号を保持するラッチと、
前記ラッチに保持された書き込みデータ信号を、前記クロックパルスに同期して保持し、保持した書き込みデータ信号を前記メモリマクロに出力する書き込みデータ変換回路と、
前記メモリマクロから出力される読み出しデータ信号を前記クロックパルスに同期して前記コントローラに出力する読み出しデータ変換回路とを備えていることを特徴とする半導体集積回路。
【請求項3】
請求項2記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドおよび書き込みコマンドの少なくともいずれかを含み、
システムインタフェース仕様は、1回の読み出しコマンドに応答して出力される読み出しデータ信号の回数または1回の書き込みコマンドに応答して入力される書き込みデータ信号の回数を示すバースト長を含み、
前記クロック制御回路は、バースト長に対応する数のクロックパルスを生成することを特徴とする半導体集積回路。
【請求項4】
請求項2記載の半導体集積回路において、
前記コマンド信号は、読み出しコマンドを含み、
システムインタフェース仕様は、読み出しコマンドが供給されてから読み出しデータが出力されるまでのクロック数を示す読み出しレイテンシを含み、
前記クロック制御回路は、前記コマンドデコーダの解読結果が読み出しコマンドを示すときに、読み出しレイテンシに対応するクロック数後にクロックパルスを生成することを特徴とする半導体集積回路。
【請求項5】
請求項2記載の半導体集積回路において、
前記インタフェース変換マクロから前記メモリマクロに出力される書き込みデータ信号のビット数は、前記コントローラから前記インタフェース変換マクロに出力される書き込みデータ信号のビット数の整数倍であり、
前記書き込みデータ変換回路は、前記コントローラから出力されるシリアルの書き込みデータ信号を前記クロックパルスに同期して保持し、前記クロックパルスが出力された後に、保持している書き込みデータ信号をパラレルの書き込みデータ信号として前記メモリマクロに出力する書き込みデータ保持回路を備えていることを特徴とする半導体集積回路。
【請求項6】
請求項5記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と書き込みデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記書き込みデータ保持回路は、前記メモリマクロに出力される書き込みデータ信号のビット数に対応する複数の保持部を備え、
前記データクロック生成回路は、シリアルの書き込みデータ信号を前記保持部のいずれに保持するかを示すバーストアドレス信号に応じて、前記保持部にそれぞれ対応するデータ入力クロック信号を順次に生成し、生成したデータ入力クロック信号を前記クロックパルスとして前記書き込みデータ変換回路に出力することを特徴とする半導体集積回路。
【請求項7】
請求項2記載の半導体集積回路において、
前記メモリマクロから前記インタフェース変換マクロに出力される読み出しデータ信号のビット数は、前記インタフェース変換マクロから前記コントローラに出力される読み出しデータ信号のビット数の整数倍であり、
前記読み出しデータ変換回路は、前記メモリマクロから出力されるパラレルの読み出しデータ信号を、前記クロックパルスに同期してシリアルの読み出しデータ信号に変換し、変換した読み出しデータ信号を前記コントローラに出力することを特徴とする半導体集積回路。
【請求項8】
請求項7記載の半導体集積回路において、
前記インタフェース変換マクロは、前記クロック制御回路と読み出しデータ変換回路との間に配置され、前記クロックパルスを受けるデータクロック生成回路を備え、
前記データクロック生成回路は、パラレルの読み出しデータ信号の前記コントローラへの出力順を示すバーストアドレス信号に応じてデータ出力クロック信号を順次に生成し、生成したデータ出力クロック信号を前記クロックパルスとして前記読み出しデータ変換回路に出力することを特徴とする半導体集積回路。
【請求項9】
請求項1記載の半導体メモリマクロにおいて、
前記インタフェース変換マクロは、
前記コントローラから出力されるシステムインタフェース仕様に従ったコマンド信号を、メモリインタフェース仕様に従ったコマンド信号に変換し、変換したコマンド信号を前記メモリマクロに出力するコマンド変換回路を備えていることを特徴とする半導体集積回路。
【請求項10】
請求項1記載の半導体集積回路において、
前記メモリマクロをアクセスするために、メモリインタフェース仕様に従ったテスト信号を前記メモリマクロに出力し、前記テスト信号に応答して前記メモリマクロから出力されるテスト読み出しデータ信号を期待値と比較し、前記メモリマクロの良否を判定するテスト回路と、
テストモード中に前記テスト回路を前記メモリマクロに接続し、通常動作モード中に前記インタフェース変換マクロを前記メモリマクロに接続するセレクタとを備えていることを特徴とする半導体集積回路。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2008−299476(P2008−299476A)
【公開日】平成20年12月11日(2008.12.11)
【国際特許分類】
【出願番号】特願2007−142957(P2007−142957)
【出願日】平成19年5月30日(2007.5.30)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】
【公開日】平成20年12月11日(2008.12.11)
【国際特許分類】
【出願日】平成19年5月30日(2007.5.30)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】
[ Back to top ]