JP2011159223A - 半導体装置及びそのハンドシェイク制御のタイミング設定方法 - Google Patents

半導体装置及びそのハンドシェイク制御のタイミング設定方法 Download PDF

Info

Publication number
JP2011159223A
JP2011159223A JP2010022306A JP2010022306A JP2011159223A JP 2011159223 A JP2011159223 A JP 2011159223A JP 2010022306 A JP2010022306 A JP 2010022306A JP 2010022306 A JP2010022306 A JP 2010022306A JP 2011159223 A JP2011159223 A JP 2011159223A
Authority
JP
Japan
Prior art keywords
control signal
logic circuit
signal
macro
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010022306A
Other languages
English (en)
Inventor
Shinya Tashiro
晋也 田代
Kazuo Yoshihara
和雄 吉原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010022306A priority Critical patent/JP2011159223A/ja
Publication of JP2011159223A publication Critical patent/JP2011159223A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Static Random-Access Memory (AREA)

Abstract

【課題】従来の半導体装置では、ハンドシェイク制御により動作する論理回路とマクロとの動作サイクルが長くなる問題があった。
【解決手段】本発明にかかる半導体装置の一態様は、論理回路10と、論理回路10が出力する制御信号に応じて論理回路10とのデータの送受信を行い、自マクロ内におけるデータ処理状況に応じて論理回路10に次命令の発行の許可を知らせる命令発行制御信号CCNT1、CCNTm、CCNTnを送信する複数のマクロ11、1m、1nと、を有し、複数のマクロ11、1m、1nは、それぞれ、論理回路10から自マクロへの制御信号の信号遅延時間に応じて命令発行制御信号CCNT1、CCNTm、CCNTnをデータ処理の完了前に出力し、論理回路10は、命令発行制御信号CCNT1、CCNTm、CCNTnに応じて次命令を指示する制御信号を出力する。
【選択図】図1

Description

本発明は半導体装置及びそのハンドシェイク制御のタイミング設定方法に関し、特に論理回路により利用される複数のマクロを有し、当該複数のマクロと論理回路とがハンドシェイク制御を行うことで通信を行う半導体装置及びそのハンドシェイク制御のタイミング設定方法に関する。
近年、ネットワークのブロードバンド化とWebアプリケーションの高度化から配信されるデータが大容量となり、Webベースのアプリケーションを処理するシステムの負荷が高まっている。
そこで、高度化するアプリケーションを処理するシステムでは、大容量かつ高速なデータ処理に対応するため、同一基板上に論理回路と大容量の記憶装置とを搭載した半導体装置が用いられている。ここで、このような用途で用いられる記憶装置は、メモリマクロと呼ばれる回路ブロックを複数個配置することで実現されている。また、メモリマクロを搭載した半導体装置は、メモリマクロと論理回路との間に追加情報を交信させることによって、メモリマクロの性能を向上させるハンドシェイク制御が行なわれている。
しかし、システムが大規模化していくと、半導体装置では、メモリマクロの搭載数が多くなるため、メモリマクロの配置位置によっては、論理回路とメモリマクロとの間の配線遅延に起因してメモリマクロの動作特性を十分に生かしきれない問題が生じる。このようなことから、高度化するアプリーションを処理するシステムに用いられる半導体装置ではメモリマクロをハンドシェイクする制御の効率をさらに向上させることが必要とされている。そこで、特許文献1に記憶装置と論理回路との間に追加情報を交信させることによって埋め込みメモリマクロ性能を向上させる技術の一例が記載されている。
ここで、ハンドシェイク制御を特許文献1の記載に基づき説明する。メモリマクロと論理回路は、システムデータインターロック信号を介してハンドシェイク手順により互いに通信を行う。例えば、読み取りサイクル中においては、メモリマクロはシステムデータインターロック信号を利用して、メモリマクロが出力したデータがいつ有効であるかを論理回路に知らせる。また、書き込みサイクル中においては、メモリマクロはシステムデータインターロック信号を利用して、いつデータが書き込まれたかを論理回路に知らせる。そして、論理回路はその後、記憶装置に対してシステムデータインターロック信号をリセットするように指示し、直ちに新たな読み取りまたは書き込みサイクルを開始する。
続いて、図10に特許文献1に記載の半導体装置のブロック図を示す。図10に示すように、半導体装置は、共通の基板(図示せず)上に構成された論理回路110と記憶装置112を有する。2個の回路110、112は、1セットの入力と出力(I/O)を備えるインターフェースを介して互いに通信する。
図10に示すI/Oは、マクロセレクトMSN116、ページセレクトPGN118、ライトイネーブルWN120、データインDI122、データアウトDO124、システムデータインターロック信号DDL/SDI126を含む。
最初の5個の信号(MSN、PGN、WN、DI、DO)は、1サブセットのより完全な標準インターフェースであり、このインターフェースは、複数の追加のデータ入力線(DI122に相当する)と、複数の追加のデータ出力線(DO124に相当する)と、アドレス線とを含んでいる。これら線は、デバイス中にも見いだされるが、それらの働きは周知であり特許文献1においても変わらないので図示しない。
システムデータインターロック信号DDL/SDI126は、従来技術のインターフェースにはない追加の線であり、この情報を提供し利用するために論理回路と記憶装置に対して適切な変更が加えられるならば、性能改善を可能にするのはこの追加線であるライトイネーブル線(WN)120は、記憶装置112に対する入力で、このサイクルが書き込み動作か、それとも読み取り動作かを記憶装置に知らせるために論理回路によって利用される。
書き込み動作中、論理回路は1ビットのデータをデータ入力線DI122上に出力する。典型的には、単に1ビットのデータではなく、1ブロックのデータをDI22上に書き込むことができるように多数の追加のデータ入力線が存在する。論理回路はまた、データがアドレス線(図示せず)上に格納される際のアドレスを指定する働きをする。
読み取り動作中、論理回路は1データビットをデータ出力線DO124(およびDO124に相当する追加的のデータ出力)から読み取る。論理回路は更に、データがアドレス線(図示せず)上で検索される際のアドレスを指定する働きをする。マクロセレクト信号(MSN)116は、記憶装置12に対する入力であり、新たな読み取りまたは書き込み動作が開始中であることを論理回路が知らせることを可能にする。論理回路は、ライトイネーブル線WNを正確にセットし(読み取りまたは書き込みサイクルであるということを記憶装置112に知らせるために)、アドレス線上に正確なアドレスを出力し、さもなければ、MSN線の状態を変化させる前に新たなサイクルを準備し新たなサイクルを開始する働きをする。
従来技術の構成では、論理回路の設計者は、MSN信号を使用して新たな読み取りまたは書き込みサイクルをスタートする前に、記憶装置の指定アクセス時間を待機することが要求されていた。記憶装置の設計者は、読み取り動作の間有効なデータがデータ出力で利用可能であるようにし、またはMSMが新たなサイクルの開始を知らせた後に、規定アクセス時間内に書き込み動作が首尾良く完了するようにする責任があった。
論理回路はDDL/SDIシステムデータインターロック信号をモニターする。この信号は、記憶装置からの出力(内部記憶装置インターロック信号から導かれる)であり、読み取り動作、さらに望ましくは書き込み動作が、いつ首尾良く完了したかを知らせる。DDL/SDIが状態を変化させると、論理回路は新たなサイクルに取りかかることができる。
図12は、従来の使用に好適な記憶装置112の一部のブロック図を示す。記憶装置内に格納されるそれぞれの2進ビットデータは"レギュラーセル"(Regular Cell)と表記された別個のメモリセル内に格納される。メモリセルは行列に配列される。従って、メモリセル200は、図12の最上行と最右列に配置される。メモリセル202は、メモリセル200と同じ行であるが、隣の列に配置される。メモリセル204は、メモリセル200と同じ列であるが、異なる行に配置される。
図12は、3個の行と4個の列を図示したものであるが、大きな記憶装置ではと列の数は相当大きくなることは理解されるであろう。例えば、現代の記憶置は、1個の行に2,000個のセルを有することができる。読み取り動作中、アドレス内の高位ビットは、所期のデータを含む行を識別するためにローカルワードデコーダ212によってデコードされる。この例として、これが第1番目の行であると仮定する。第1番目の行は、メモリセル200、202、206、208と、ローカルワードデコーダ212から最も遠い位置の最も左側に配置されたインターロックダミーメモリセル210とを含む。
MSN信号の動作によって、センスアンプ214、216、218、220、222は、ローカルワードデコーダ212によってデコードされたアドレスの高位ビットによって識別される行のデータを読み取る。このようにして、センスアンプ214、216、218、220、222は、それに対応するメモリセル200、202、206、208、210を読み取る。レギュラーメモリセル200からのデータは、レギュラーメモリセル202、206、208からのデータがそれらの対応するセンスアンプに到達する前にセンスアンプ214に到達する。
しかしながら、インターロックダミーセル210に対応するセンスアンプ222は、最後に、しかも他の全てのレギュラーセルが読み取られそれらの対応センスアンプの全てが状態を変化させて対応レギュラーセルのデータとマッチングした後に、状態を変化させる。
インターロックダミーセル210内に格納されたデータは、ダミーセルが読み取られるときにセンスアンプ222の状態が常に変化するように選択された所定のデータビットである。センスアンプ222が状態を変化させると、他のセンスアンプの全てが有効データを含んでいることがわかる。この時点で、センスアンプは対応するアドレス行内にデータを保持する一種の内部レジスタとして作用する。先に示したように、内部レジスタは2048ビットのデータを含むことができる。
しかし、典型的には、記憶装置は2048個のデータ出力を含むことはなく、256個以下の出力を含むだけでよい。列デコーダ224、226、228、230は、アドレスの下位ビットをデコードし、選択された行の1サブセットのメモリセルを選択するために使用される。1行に256個のデータ出力と2048個のレギュラーメモリセルとが存在する場合には、2048個のセンスアンプが存在する(インターロックダミーセル210とその対応するセンスアンプ222は数えない)。しかし、各列デコーダは8個の別々のセンスアンプに接続され、256個の列デコーダしか存在しない。
アドレスの下位ビットは、どのセンスアンプが列デコーダを介して選択されるかを決定し、この選択が行われた後にデジタル2次センスアンプ232、234、236、238はその選択されたデータをプリデータ線240、242、244、246を介してレジスタ248へ転送する。
インターロックダミーセルを含む列のセンスアンプ222に接続された列デコーダ250は、実際には列デコード作用を行わない。そのかわり、列デコーダ250は、信号をセンスアンプ222からデジタル2次センスアンプ252へ送る際の遅れが列デコーダ224〜230により引き起こされる遅れと実質的に同一となるように、列デコーダ224〜130と実質的に同一に製作される。
このようにして、デジタル2次センスアンプ252からの出力は、レジスタ248が、いつ首尾よくロードされたかを指示する。レジスタ248に非常に近接して配置された行からのデータは、DDL/SDI線の早期の遷移を引き起こすが、遠い行に配置されたデータは更に長くかかることになる。DDL/SDI線254は、データ線240〜246に対応するが、ダミーデータセルからのダミーデータを運ぶため、しばしばダミーデータ線と称される。
線254はDL/SDIと表記されているが、この線上の2進信号は、図10の線126上を論理回路へ転送されるシステムデータインターロック信号を生成する前に、更に追加的な処理を受けることがあることを理解すべきである。
図11において、MSN信号は参照番号128で示した時刻に状態を変化させ、新たなマクロサイクルにおける読み取り動作の開始を知らせる。この時刻に先立って、論理回路はアドレス線上に読み取られるべきアドレスを出力し終わり、ライトイネーブル信号WNをハイにセットし終わる(時刻130で)。ライトイネーブル信号WNのハイは、これが読み取り動作であって、書き込み動作ではないことを示している。
時刻128にMSN信号の状態の変化を検出すると、記憶装置112はアクセスされるべきメモリアドレスを決定し、ロケーションからデータを検索し、検索されたデータを時刻132にデータ出力線DO上に出力する。後まもなく、データがデータ出力線DOで有効になったことを記憶装置が判断すると、記憶装置はDDL/SDI線126上のシステムデータインターロック信号の状態を変化させる。これは時刻134に行われる。
システムデータインターロック信号は、データが現在有効であってデータ出力線DOから安全に読み取ることができることを論理回路10に知らせる。従来の実施例によっては、システムデータインターロック信号は、例えばダミーデータ線信号のように、従来のインターロック記憶デバイスの読み取り動作をモニターするために使用される単一のインターロック信号から導くことができる。
システムデータインターロック信号は先に述べたように一連のカスケードされたインターロック信号のうちの最後のインターロック信号から導くことができる。更に、信号を幾分処理したり、更に遅らせたり、他の従来のインターロック信号を組み合わせ変形したりして、最終的なシステムデータインターロック信号を生成させることも可能である。
マクロ設計者がどのようにしてDDL/SDIシステムデータインターロック信号を作り出すかに関わりなく、システムデータインターロック信号が状態を変化させると、出力データが有効で、論理回路がデータの読み取りに取りかかって新たな読み取りサイクルを開始することができることを論理回路に指示する。
データ入力信号およびライトイネーブルWN信号部分中のスラッシュは、単に記憶装置がこれら時刻においてこれら線上の信号状態に関して配慮していないということを示すものにすぎない。
時刻136において、論理回路は、ライトイネーブル信号WNがハイで、新しいアドレスがアドレス線上に出力されることを保証する。この時点で論理回路は、新しい読み取り動作をまさに開始しようとしている。この読み取り動作は、全く新しいデータブロックを読み取る新しいマクロサイクルの代わりに、新しいデータページを読み取る新たなページサイクルとなる。
図11において、新しいデータページの読み取りは、PGNの状態を変化させることによって時刻138に開始される。時刻128で開始されるマクロサイクル中、記憶装置はデータ出力で出力可能なデータ量よりも大きなデータブロックを検索する。このページサイクルにおいて、この大きなデータブロックの他のサブセット/ページが出力される。
論理回路は、アドレス線上の下位ビットを変更し、新しいデータページの読み取りサイクルのためにWN線をセットアップすることを必要とするのみである。もし相当異なるメモリロケーションにあるデータを読み取る必要がある場合には、論理回路はアドレス線上の高位ビットを変更しなければならず、読み取りサイクルはMSNを介して新たなマクロサイクルをスタートさせることによって開始される。
線118上のページセレクト信号PGNが、時刻138で状態を変化させると、記憶装置は、140に示すようにDDL/SDI信号をリセットする。これがシステムデータインターロック線をリセットすることによって、時刻142での次の遷移が、線124上のDOデータ出力線上へ有効なデータが再び出力されたことを論理回路に知らせることができる。
図11には示されてはいないが、ページセレクトPGN線をセットおよびリセットし、正確なアドレス信号とWN信号とが存在するようにすることによって、記憶装置から追加的なデータページを読み出すことができる。PGNが状態を変化させることによって、時刻138におけるように新たなページサイクルを知らせるときには常に、DDL/SDI信号がリセットされる(時刻140におけるように)。各場合において、論理回路は、DDL/SDI信号が再び状態を変化させ(時刻134と142におけるように)、出力データが現在有効で論理回路の動作が進行することが可能なことを知らせるまで待機する。
もし非常に大きなデータブロックが順次読み取られている最中であれば、データブロック全体が、PGN信号のサイクルとアドレスの下位ビットの変更とによって、ページ毎に読み取られる。最終的に、論理回路は時刻128で開始されたマクロサイクル中にまだ検索が完了していないデータを読み取る必要がある。この時点で、新たなデータを検索するために新たなマクロサイクルを開始しなければならない。新たなデータは一度に1ページ読み取ることができる。
マクロサイクルを終了させるために、MSN、PGN、DDL/SDIは全てリセットされる。参照番号144、146で示された時刻で、MSNとPGN信号は状態を変化させる。時刻148でDDL/SDIインターロック信号は、MSNとPGNのリセットに応答してリセットされる。
つまり、特許文献1に記載の半導体装置は、記憶装置における読み出し又は書き込み処理が完了し、データが有効になった時点においてインターロック信号を生成する。そして記憶装置を制御する論理回路に当該インターロック信号を伝達する。これにより、特許文献1に記載の半導体装置では、論理回路の待ち時間を抑制してシステムの効率化を実現する。
特開2000−3590号公報
しかしながら、特許文献1に記載の半導体装置では、論理回路から記憶装置に対して発行される次の命令は、インターロック信号が論理回路に伝達された後になる。このとき、論理回路と記憶装置との間の配線距離が長くなると、当該配線による信号遅延によりインターロック信号が論理回路に到達するまでに大きな遅延時間が生じる。そのため、特許文献1に記載の半導体装置では、配線遅延によってハンドシェイク処理に遅延が生じ、動作サイクルが長くなる問題がある。
本発明にかかる半導体装置の一態様は、論理回路と、前記論理回路が出力する制御信号に応じて前記論理回路とのデータの送受信を行い、自マクロ内におけるデータ処理状況に応じて前記論理回路に次命令の発行の許可を知らせる命令発行制御信号を送信する複数のマクロと、を有し、前記複数のマクロは、それぞれ、前記論理回路から自マクロへの制御信号の信号遅延時間に応じて前記命令発行制御信号を前記データ処理の完了前に出力し、前記論理回路は、前記命令発行制御信号に応じて次命令を指示する前記制御信号を出力する。
本発明にかかる半導体装置におけるハンドシェイク制御のタイミング設定方法の一態様は、論理回路と、前記論理回路が出力する制御信号に応じて前記論理回路とのデータの送受信を行い、自マクロ内におけるデータ処理状況に応じて前記論理回路に次命令の発行の許可を知らせる命令発行制御信号を前記論理回路に送信する複数のマクロと、を有する半導体装置におけるハンドシェイク制御のタイミング設定方法であって、前記論理回路は、前記複数のマクロのうちテスト対象とするテスト対象マクロに対してテスト信号を出力し、前記テスト対象マクロは、前記テスト信号に応じて複数の設定値のうちいずれか1つを選択し、前記テスト対象マクロは、マクロ内において用いられるマクロ内信号のうち選択した設定値に関連付けられた信号をテスト命令発行制御信号として出力し、前記論理回路は、前記制御信号を出力してから前記テスト命令発行制御信号が到達するまでの時間を判定し、前記複数のマクロは、それぞれ、前記論理回路から前記制御信号が出力されてから前記命令発行制御信号が前記論理回路に到達するまでの時間が所定の範囲内となる設定値を前記判定の結果に基づき保持する。
本発明にかかる半導体装置及びそのハンドシェイク制御のタイミング設定方法は、論理回路とマクロとを接続する配線により生じる信号遅延を考慮して命令発行制御信号を前倒しで出力する。これにより、論理回路が制御信号を出力してからマクロが出力した命令発行制御信号が論理回路に到達するまでの時間を論理回路とマクロとの間の配線距離によらず所定の範囲内とすることができる。
本発明にかかる半導体装置及びそのハンドシェイク制御のタイミング設定方法によれば、論理回路とマクロとの距離に起因する遅延時間の影響によらず論理回路の動作サイクルを設定し、半導体装置の動作速度を向上させることができる。
実施の形態1にかかる半導体装置のブロック図である。 実施の形態1にかかるメモリマクロのブロック図である。 実施の形態1にかかる半導体装置の第1のメモリマクロの動作を示すタイミングチャートである。 実施の形態1にかかる半導体装置の第mのメモリマクロの動作を示すタイミングチャートである。 実施の形態1にかかる半導体装置の第nのメモリマクロの動作を示すタイミングチャートである。 実施の形態1にかかる半導体装置における設定値の決定処理を示すフローチャートである。 実施の形態1にかかる半導体装置におけるテスト信号と当該テスト信号に対応付けられる設定値との関係を示す表である。 実施の形態1にかかる半導体装置におけるテスト信号の値を変化させた場合にメモリマクロが出力する命令発行制御信号の変化の様子を示すタイミングチャートである。 実施の形態1にかかる半導体装置における動作判定の例を示す表である。 特許文献1に記載の半導体装置のブロック図である。 特許文献1に記載の半導体装置の読取り動作中の埋め込みメモリマクロデバイスの様々な時刻において選択された信号を示すタイミングチャートである。 特許文献1に記載の記憶装置の一部を示すブロック図である。
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。以下の説明では、データの処理を行う論理回路と当該論理回路によって利用されるマクロとを有する半導体装置について説明する。ここで、本実施の形態では、マクロの一例としてメモリマクロについて説明する。しかし、本発明において対象とするマクロは、メモリマクロに限らず、論理回路との間でハンドシェイク制御により通信を行うマクロ全般を含むものである。なお、ハンドシェイク制御とは、論理回路がマクロからの応答を待って次命令を出力する制御のことを言う。また、ハンドシェイク制御のタイミング設定とは、1回のハンドシェイク制御にかかる時間の設定のことを言う。
図1に実施の形態1にかかる半導体装置1のブロック図を示す。図1に示すように、半導体装置1は、論理回路10、第1のメモリマクロ11、第mのメモリマクロ1m、第nのメモリマクロ1nを有する。本実施の形態では、論理回路10及びメモリマクロが1つの半導体基板上に形成されているものとする。なお、m及びnは、メモリマクロの番号を示すものであり、メモリマクロの個数に応じた整数の値となる。m及びnは、以下の説明においても同様の意味で用いる。また、図1においては3つのメモリマクロを示したが、半導体装置1は図示しない多数のメモリマクロを有するものとする。また、以下の説明では、構成要素名又は信号名に付す符号にiを加えたものを場合に応じて用いる。このiは、メモリマクロの番号を示す整数であり、1、m、nを含むものとする。
論理回路10は、半導体装置1においてデータの処理を行うものである。また、論理回路10は、複数のメモリマクロを利用するために利用するメモリマクロを制御する制御信号を出力する。図1に示す例では、制御信号は、マクロ選択信号MS、出力制御信号OE、書き込み制御信号WE、アドレス信号ADDを含む。また、本実施の形態では、論理回路10は、後述するハンドシェイク制御のタイミング設定処理において用いるテスト信号を出力する。本実施の形態では、ハンドシェイク制御のタイミング設定処理において4つの設定値についてテストを行うために、テスト信号は、2つのテスト信号(例えば、テスト信号TEST1、TEST2)を含むものとする。
また、論理回路10は、メモリマクロが出力する命令発行制御信号CCNTiに応じて次命令を指示する制御信号を出力する。また、論理回路10は、制御信号を出力するタイミングを命令発行制御信号CCNTiに応じて決定する。
また、論理回路10は、メモリマクロが出力するデータ制御信号DCNTiにより指定される取り込み有効時間にメモリマクロが出力するデータDOiを取り込む。
第1のメモリマクロ11は、論理回路10と配線距離がLとなる位置に配置される。第mのメモリマクロ1mは、論理回路10と配線距離がL+αとなる位置に配置される。第nのメモリマクロ1nは、論理回路10と配線距離がL+βとなる位置に配置される。ここで、各メモリマクロと論理回路との配線距離の関係はL<L+α<L+βであるものとする。
そして、第1のメモリマクロ11、第mのメモリマクロ1m、第nのメモリマクロ1nは、それぞれ、論理回路10が出力する制御信号に応じて論理回路10とのデータの送受信を行う。また、第1のメモリマクロ11、第mのメモリマクロ1m、第nのメモリマクロ1nは、それぞれ、自マクロ内におけるデータ処理状況に応じて論理回路に次命令の発行の許可を知らせる命令発行制御信号CCNTiを論理回路10に送信する。
このとき、本実施の形態では、第1のメモリマクロ11、第mのメモリマクロ1m、第nのメモリマクロ1nは、それぞれ、論理回路10から自マクロへの制御信号の信号遅延時間に応じて命令発行制御信号CCNTiをマクロ内のデータ処理の完了前に出力する。また、第1のメモリマクロ11、第mのメモリマクロ1m、第nのメモリマクロ1nは、それぞれ、信号遅延時間がないとした場合に出力される命令発行制御信号CCNTiから信号遅延時間の2倍に相当する前倒し量を減じた時点に最も近いタイミングで変化するマクロ内で用いられるマクロ内信号(本実施の形態では、センスイネーブル信号SEi、ワード選択信号WORDi、プリチャージ制御信号PREi、カラムスイッチ選択信号YSWi)を選択して命令発行制御信号CCNTiとして出力する。
第1のメモリマクロ11、第mのメモリマクロ1m、第nのメモリマクロ1nは、それぞれ同一の機能を有するものである。そこで、第1のメモリマクロ11を例にメモリマクロの機能を説明する。第1のメモリマクロ11は、マクロ選択信号MSが第1のメモリマクロ11の有効を示す場合に停止状態から動作状態に移行する。第1のメモリマクロ11は、出力制御信号OEがデータの読み出しを指示する場合、アドレス信号ADDにより指定されたメモリセルに保持されているデータを出力データDO1として出力する。また、第1のメモリマクロ11は、出力データDO1の取り込み有効期間を示すデータ制御信号DCNT1を出力する。第1のメモリマクロ11は、書き込み制御信号WEがデータの書き込みを指示する場合、アドレス信号ADDにより指定されたメモリセルに論理回路10が出力する入力データDI1を格納する。
第1のメモリマクロ11は、内部において書き込み処理又は読み出し処理が完了したことに応じて命令発行制御信号CCNT1を出力する。なお、本実施の形態では、命令発行制御信号CCNT1は、メモリマクロ内の処理の完了を論理回路10に通知するものであるが、メモリマクロ内の処理が完了した時点で出力されるものではない。つまり、本実施の形態では、命令発行制御信号CCNT1は、メモリマクロ内の処理の完了前にメモリマクロから出力される場合がある。この命令発行制御信号CCNT1の出力タイミングについては後述する。また、第1のメモリマクロ11は、読み出し処理を行う場合に内部のメモリセルから読み出したデータが確定したこと論理回路に通知するデータ制御信号DCNT1を出力する。
ここで、第1のメモリマクロ11の詳細な回路について説明する。第1のメモリマクロ11の詳細なブロック図を図2に示す。図2に示すように、メモリブロック20、命令発行回路30を有する。そして、メモリブロック20は、ロウ制御回路21、カラム制御回路22、ロウデコーダ23、カラムデコーダ24、メモリセルアレイ25、入出力制御回路26を有する。
ロウ制御回路21は、マクロ選択信号MSとアドレス信号ADDが入力される。ロウ制御回路21は、マクロ選択信号MSが第1のメモリマクロ11の有効を示す場合に停止状態から動作状態に移行する。そして、ロウ制御回路21は、動作状態において、アドレス信号ADDからメモリセルアレイ25内の処理対象セルの行番号を抽出すると共にメモリセルアレイ25の活性が開始されることを示すロウ活性信号RAS1を出力し、当該処理対象セルの行番号を指定するワード選択信号WORD1とセンスアンプを動作状態に移行させるセンスイネーブル信号SE1を出力する。また、ロウ制御回路21には、カラム制御回路22が出力するプリチャージ制御信号PRE1が入力される。ロウ制御回路21は、メモリセルアレイ25の読み出し、書き込み動作を行う場合にロウ活性信号RAS1とプリチャージ制御信号PRE1とに応じて処理対象セルを活性化するワード選択信号WORD1及びセンスイネーブル信号SE1を出力する。
カラム制御回路22は、マクロ選択信号MSとアドレス信号ADDが入力される。カラム制御回路22は、マクロ選択信号MSとロウ活性信号RAS1が第1のメモリマクロ11の有効を示す場合に停止状態から動作状態に移行する。そして、カラム制御回路22は、動作状態において、アドレス信号ADDからメモリセルアレイ25内の処理対象セルの列番号を抽出し、当該処理対象セルの列番号を指定するカラムスイッチ選択信号YSW1を出力する。また、カラム制御回路22は、メモリセルアレイ25において列方向に配列されるメモリセルを接続するビット線対をメモリセルアレイ25への書き込み処理前及び読み出し処理前にプリチャージ電圧とするプリチャージ期間を指定するプリチャージ制御信号PRE1を出力する。また、カラム制御回路22には、ロウ制御回路21が出力するセンスイネーブル信号SE1が入力される。カラム制御回路22は、メモリセルアレイ25の読み出し、書き込み動作を行う場合にセンスイネーブル信号SE1に応じて活性化する処理対象セルが接続されるビット線対とI/Oバス線対とを接続するカラムスイッチ選択信号YSW1を出力する。
ロウデコーダ23は、ワード選択信号WORD1に基づきメモリセルアレイ25の処理対象セルを活性化する。また、ロウデコーダ23は、入出力制御回路26に配置されるセンスアンプをセンスイネーブル信号SE1に応じて活性化する。
カラムデコーダ24は、プリチャージ制御信号PRE1に基づきメモリセルアレイ25のビット線対をプリチャージ電圧にする。また、カラムデコーダ24は、カラムスイッチ選択信号YSW1に基づき処理対象セルが接続されるビット線対をI/Oバス線対に接続する。なお、I/Oバス線対は、入出力制御回路26に配置されるデータアンプと接続される。
メモリセルアレイ25は、データを格納するメモリセルが格子状に配置される。入出力制御回路26は、データアンプとライトアンプとが配置される。データアンプは処理対象セルから読み出したデータを出力データDO1として出力する。また、ライトアンプは、論理回路から出力される入力データDI1を処理対象セルに書き込む。
命令発行回路30は、命令設定回路31、選択回路32、33を有する。命令設定回路31は、命令発行制御信号CCNT1としてセンスイネーブル信号SE1、ワード選択信号WORD1、プリチャージ制御信号PRE1、カラムスイッチ選択信号YSW1のいずれを用いるかを指定する複数の設定値を保持する。また、命令設定回路31は、テスト信号TEST1、TEST2に応じて保持している複数の設定値のいずれか1つに応じた選択信号を出力する。なお、命令設定回路31は、初期状態においてテスト信号TEST1、TEST2により出力する設定値を選択すること可能であるが、第1のメモリマクロ11がいずれの設定値を用いるかが確定した後は、テスト信号TEST1、TEST2によらず固定した設定値を出力する。このとき、命令設定回路31は、設定値の固定手段として、例えば、ヒューズ回路、不揮発性メモリ等を用いる。メモリマクロがいずれの設定値を用いるかを決定する処理については後述する。
選択回路32は、命令設定回路31が出力する選択信号に応じてセンスイネーブル信号SE1、ワード選択信号WORD1、プリチャージ制御信号PRE1、カラムスイッチ選択信号YSW1のいずれか1つを選択して命令発行制御信号CCNT1として出力する。また、選択回路32は、マクロ選択信号MSがイネーブル信号として入力される。選択回路32は、マクロ選択信号MSの立ち上がりエッジに応じて出力する命令発行制御信号CCNT1の論理レベルをリセットし、マクロ選択信号MSの立ち下がりエッジに応じて選択したマクロ内信号を命令発行制御信号CCNT1として出力する。
なお、本実施の形態では、選択回路32には、4つの選択信号が与えられる。そして、4つの選択回路のうちいずれか1つが有効状態(例えば、ハイレベル)とされ、他の選択信号は無効状態(例えば、ロウレベル)とされる。本実施の形態では、4つの選択信号は、センスイネーブル信号SE1を選択することを指定するSESE1と、ワード選択信号WORD1を選択することを指定するWRSE1と、プリチャージ制御信号PRE1を選択することを指定するPRSE1と、カラムスイッチ選択信号YSW1を選択することを指定するYSWS1とにより構成される。また、選択回路32では、ワード選択信号WORD1とセンスイネーブル信号SE1とが入力される端子は、反転入力端子となっている。これは、想定される制御信号の信号遅延時間に近いタイミングのマクロ内信号の変化がワード選択信号WORD1とセンスイネーブル信号SE1との立ち下がりエッジに近いためである。つまり、命令発行制御信号CCNT1として用いる信号は、マクロ内信号であるが、マクロ内信号をそのまま命令発行制御信号CCNT1として用いるか、マクロ内信号の反転信号を命令発行制御信号CCNT1として用いるか、は製品仕様に応じて適宜選択できる。
選択回路33は、選択信号に応じてセンスイネーブル信号SE1、ワード選択信号WORD1、プリチャージ制御信号PRE1、カラムスイッチ選択信号YSW1のいずれか1つを選択してデータ制御信号DCNT1として出力する。また、選択回路33は、マクロ選択信号MSがイネーブル信号として入力される。選択回路33は、マクロ選択信号MSの立ち上がりエッジに応じて出力するデータ制御信号DCNT1の論理レベルをリセットし、マクロ選択信号MSの立ち下がりエッジに応じて選択したマクロ内信号を命令発行制御信号CCNT1として出力する。
なお、本実施の形態では、選択回路33に与えられる選択信号は、プリチャージ制御信号PRE1を指定するPRSE1が固定的に有効状態(例えば、ハイレベル)とされ、他の選択信号は固定的に無効状態(例えば、ロウレベル)とされる。つまり、本実施の形態における選択回路33は、プリチャージ制御信号PRE1をデータ制御信号DCNT1として出力する。なお、選択回路33においても、選択信号を命令設定回路31により与えても良い。
ここで、本実施の形態にかかる半導体装置1の動作について説明する。まず、半導体装置1では、論理回路10と複数のメモリマクロ(第1のメモリマクロ11、第mのメモリマクロ1m、第nのメモリマクロ1n)との距離がメモリマクロ毎に異なる。そのため、論理回路10が出力した制御信号がメモリマクロに到達するまでの時間がメモリマクロ毎に異なる。以下の説明では、制御信号がメモリマクロに到達するまでの時間を信号遅延時間と称す。また、以下の動作例では、タイミングt1〜t11が示されるが隣り合うタイミングの間を単位時間とし、当該単位時間を1タイミングと称す。
そのため、本実施の形態では、第1のメモリマクロ11、第mのメモリマクロ1m及び第nのメモリマクロ1nは、それぞれ、異なる設定値に基づき動作する。例えば、第1のメモリマクロ11は、信号遅延時間が実質的にゼロであるため第1の設定値(例えば、プリチャージ制御信号PRE1を指定する設定値)に基づき命令発行制御信号CCNT1を出力する。第mのメモリマクロは、信号遅延時間が第1のメモリマクロ1mよりも大きいため、第3の設定値(例えば、ワード選択信号WORD1を指定する設定値)に基づき命令発行制御信号CCNTmを出力する。第nのメモリマクロ1nは、第mのメモリマクロ1mよりも信号遅延時間が大きいため、第4の設定値(例えば、カラムスイッチ選択信号YSW1を指定する設定値)に基づき命令発行制御信号CCNTnを出力する。
そこで、以下の説明では、メモリマクロ毎に半導体装置1の動作を説明する。また、以下の説明では、論理回路10がメモリマクロに対して読み出し処理を指示する例を説明する。つまり、以下の説明では、論理回路10が出力する出力制御信号OEはハイレベルであり、書き込み制御信号WEはロウレベルである。
まず、図3に第1のメモリマクロ11を利用する場合の半導体装置1の動作を示すタイミングチャートを示す。この場合、タイミングt1において論理回路10からマクロ選択信号MSが出力される。また、論理回路10は、マクロ選択信号MSが出力されるタイミングt1の時点においてアドレス信号ADDとしてアドレスA1を出力する。そして、マクロ選択信号MSとアドレス信号ADDは、信号遅延時間なくタイミングt1で第1のメモリマクロ11に到達する。
そして、第1のメモリマクロ11では、マクロ選択信号MSの立ち上がりエッジに応じて、ロウ活性信号RAS1が立ち上がり、タイミングt2でワード選択信号WORD1が立ち上がる。これにより、処理対象セルが配置されるメモリセルアレイ25の行が決定される。また、タイミングt2とt3との間でセンスイネーブル信号SE1が立ち上がる。これにより、処理対象セルが接続されるビット線対に対応して設けられるセンスアンプが活性化される。さらに、タイミングt4でカラムスイッチ選択信号YSW1が立ち上がる。これにより、処理対象セルが接続されるビット線対とI/Oバス線対とが接続される。なお、第1のメモリマクロ11では、実質的なデータ読み処理が開始されるワード選択信号WORD1の立ち上がりの前(例えば、タイミングt1とt2の間)にプリチャージ制御信号PRE1が立ち下がることでプリチャージ動作が完了する。
次いで、タイミングt4の後から出力データDO1が出力される。この出力データDO1は、タイミングt5とt6との間でカラムスイッチ選択信号YSW1が立ち下がった後においても値が維持される。一方、第1のメモリマクロ11内では、タイミングt6においてワード選択信号WORD1が立ち下がる。また、タイミングt6とt7との間でセンスイネーブル信号SE1が立ち下がる。その後、第1のメモリマクロ11は、タイミングt7とt8との間でプリチャージ制御信号PRE1が立ち上がり、ロウ活性信号RAS1が立ち下がる。そして、次の動作サイクルに備えたプリチャージ動作が行われる。
ここで、第1のメモリマクロ11は、第1の設定値に基づき動作しているため、命令発行制御信号CCNT1としてプリチャージ制御信号PRE1を出力する。そのため、タイミングt7とt8との間のプリチャージ制御信号PRE1の立ち上がりに応じて、第1のメモリマクロ11は、命令発行制御信号CCNT1を立ち上げる。また、第1のメモリマクロ11は、データ制御信号DCNT1としてプリチャージ制御信号PRE1を出力する。そのため、タイミングt7とt8との間のプリチャージ制御信号PRE1の立ち上がりに応じてデータ制御信号DCNT1が立ち上がる。
そして、出力データDO1、命令発行制御信号CCNT1及びデータ制御信号DCNT1は、信号遅延時間なく論理回路10に到達する。そして、論理回路10は、命令発行制御信号CCNT1の立ち上がりに応じて、タイミングt11で次の制御信号を出力する(マクロ選択信号MSを立ち上げる)。また、命令発行制御信号CCNT1及びデータ制御信号DCNT1は、それぞれタイミングt11において第1のメモリマクロ11に到達したマクロ選択信号MSの立ち上がりに応じて立ち下がる。また、論理回路10は、タイミングt7とt8との間でデータ制御信号DCNT1が立ち上がった時点で出力データDO1を取り込む。
図3に示す例では、論理回路10がマクロ選択信号MSにより現時点での制御信号を出力してから、第1のメモリマクロ11が出力した命令発行制御信号CCNT1が論理回路10に到達するまでに第1の期間TMG1(6.5タイミング)を要する。
次いで、図4に第mのメモリマクロ1mを利用する場合の半導体装置1の動作を示すタイミングチャートを示す。この場合、タイミングt1において論理回路10からマクロ選択信号MSが出力される。また、論理回路10は、マクロ選択信号MSが出力されるタイミングt1の時点においてアドレス信号ADDとしてアドレスA1を出力する。そして、マクロ選択信号MSとアドレス信号ADDは、1タイミングの信号遅延時間を経てタイミングt2で第mのメモリマクロ1mに到達する。
そして、第mのメモリマクロ1mでは、タイミングt2におけるマクロ選択信号MSの立ち上がりエッジに応じて、ロウ活性信号RASmが立ち上がり、タイミングt3でワード選択信号WORDmが立ち上がる。これにより、処理対象セルが配置されるメモリセルアレイ25の行が決定される。また、タイミングt3とt4との間でセンスイネーブル信号SEmが立ち上がる。これにより、処理対象セルが接続されるビット線対に対応して設けられるセンスアンプが活性化される。さらに、タイミングt5でカラムスイッチ選択信号YSWmが立ち上がる。これにより、処理対象セルが接続されるビット線対とI/Oバス線対とが接続される。なお、第mのメモリマクロ1mでは、実質的なデータ読み処理が開始されるワード選択信号WORDmの立ち上がりの前(例えば、タイミングt2とt3の間)にプリチャージ制御信号PREmが立ち下がることでプリチャージ動作が完了する。
次いで、タイミングt5の後から出力データDOmが出力される。この出力データDOmは、タイミングt6とt7との間でカラムスイッチ選択信号YSWmが立ち下がった後においても値が維持される。一方、第mのメモリマクロ1m内では、タイミングt7においてワード選択信号WORDmが立ち下がる。また、タイミングt7とt8との間でセンスイネーブル信号SEmが立ち下がる。その後、第mのメモリマクロ1mは、タイミングt8とt9との間でプリチャージ制御信号PREmが立ち上がり、ロウ活性信号RASmが立ち下がる。そして、次の動作サイクルに備えたプリチャージ動作が行われる。
ここで、第mのメモリマクロ1mは、第3の設定値に基づき動作しているため、命令発行制御信号CCNTmとしてワード選択信号WORDmの反転論理信号を出力する。そのため、タイミングt7のワード選択信号WORDmの立ち下がりに応じて、第mのメモリマクロ1mは、命令発行制御信号CCNTmを立ち上げる。また、第mのメモリマクロ1mは、データ制御信号DCNTmとしてプリチャージ制御信号PREmを出力する。そのため、タイミングt8とt9との間のプリチャージ制御信号PREmの立ち上がりに応じてデータ制御信号DCNTmが立ち上がる。
そして、出力データDOm、命令発行制御信号CCNTm及びデータ制御信号DCNTmは、1タイミングの遅延時間を経てタイミングt8で論理回路10に到達する。そして、論理回路10は、命令発行制御信号CCNTmの立ち上がりに応じて、タイミングt11で次の制御信号を出力する(マクロ選択信号MSを立ち上げる)。また、命令発行制御信号CCNTm及びデータ制御信号DCNTmは、それぞれタイミングt12において第mのメモリマクロ1mに到達したマクロ選択信号MSの立ち上がりに応じて立ち下がる。また、論理回路10は、タイミングt9とt10との間でデータ制御信号DCNTmが立ち上がった時点で出力データDOmを取り込む。
図4に示す例では、論理回路10がマクロ選択信号MSにより現時点での制御信号を出力してから、第mのメモリマクロ1mが出力した命令発行制御信号CCNTmが論理回路10に到達するまでに第2の期間TMG2(7タイミング)を要する。
次いで、図5に第nのメモリマクロ1nを利用する場合の半導体装置1の動作を示すタイミングチャートを示す。この場合、タイミングt1において論理回路10からマクロ選択信号MSが出力される。また、論理回路10は、マクロ選択信号MSが出力されるタイミングt1の時点においてアドレス信号ADDとしてアドレスA1を出力する。そして、マクロ選択信号MSとアドレス信号ADDは、2タイミングの信号遅延時間を経てタイミングt3で第nのメモリマクロ1nに到達する。
そして、第nのメモリマクロ1nでは、タイミングt3におけるマクロ選択信号MSの立ち上がりエッジに応じて、ロウ活性信号RASnが立ち上がり、タイミングt4でワード選択信号WORDnが立ち上がる。これにより、処理対象セルが配置されるメモリセルアレイ25の行が決定される。また、タイミングt4とt5との間でセンスイネーブル信号SEnが立ち上がる。これにより、処理対象セルが接続されるビット線対に対応して設けられるセンスアンプが活性化される。さらに、タイミングt6でカラムスイッチ選択信号YSWnが立ち上がる。これにより、処理対象セルが接続されるビット線対とI/Oバス線対とが接続される。なお、第nのメモリマクロ1nでは、実質的なデータ読み処理が開始されるワード選択信号WORDnの立ち上がりの前(例えば、タイミングt3とt4の間)にプリチャージ制御信号PREnが立ち下がることでプリチャージ動作が完了する。
次いで、タイミングt6の後から出力データDOnが出力される。この出力データDOnは、タイミングt7とt8との間でカラムスイッチ選択信号YSWnが立ち下がった後においても値が維持される。一方、第nのメモリマクロ1n内では、タイミングt8においてワード選択信号WORDnが立ち下がる。また、タイミングt8とt9との間でセンスイネーブル信号SEnが立ち下がる。その後、第nのメモリマクロ1nは、タイミングt9とt10との間でプリチャージ制御信号PREnが立ち上がり、ロウ活性信号RASnが立ち下がる。そして、次の動作サイクルに備えたプリチャージ動作が行われる。
ここで、第nのメモリマクロ1nは、第4の設定値に基づき動作しているため、命令発行制御信号CCNTnとしてカラムスイッチ選択信号YSWnを出力する。そのため、タイミングt6のカラムスイッチ選択信号YSWnの立ち上がりに応じて、第nのメモリマクロ1nは、命令発行制御信号CCNTnを立ち上げる。また、第nのメモリマクロ1nは、データ制御信号DCNTnとしてプリチャージ制御信号PREnを出力する。そのため、タイミングt9とt10との間のプリチャージ制御信号PREnの立ち上がりに応じてデータ制御信号DCNTnが立ち上がる。
そして、出力データDOn、命令発行制御信号CCNTn及びデータ制御信号DCNTnは、2タイミングの遅延時間を経てタイミングt8で論理回路10に到達する。そして、論理回路10は、命令発行制御信号CCNTnの立ち上がりに応じて、タイミングt11で次の制御信号を出力する(マクロ選択信号MSを立ち上げる)。また、命令発行制御信号CCNTn及びデータ制御信号DCNTnは、それぞれタイミングt13において第nのメモリマクロ1nに到達したマクロ選択信号MSの立ち上がりに応じて立ち下がる。また、論理回路10は、タイミングt11とt12との間でデータ制御信号DCNTnが立ち上がった時点で出力データDOnを取り込む。
図5に示す例では、論理回路10がマクロ選択信号MSにより現時点での制御信号を出力してから、第nのメモリマクロ1nが出力した命令発行制御信号CCNTnが論理回路10に到達するまでに第3の期間TMG3(7タイミング)を要する。
上記説明より、本実施の形態では、論理回路が出力する制御信号が自メモリマクロに到達するまでの信号遅延時間に応じて、メモリマクロが命令発行制御信号CCNTiを信号遅延時間がない場合に対して前倒して出力する。本実施の形態では、メモリマクロが命令発行制御信号CCNTiを出力するタイミングの前倒し量をテストにより決定する。そこで、命令発行制御信号CCNTiを出力するタイミングの前倒し量を決定するためのテストフローについて以下で説明する。なお、本テストフローが本発明におけるハンドシェイク制御のタイミング設定方法に相当するものである。
まず、命令発行制御信号CCNTiを出力するタイミングの前倒し量を決定するためのテストフローを示すフローチャートを図6に示す。図6に示す、本テストでは、テスト対象とするテスト対象マクロを設定する(ステップS1)。このステップS1では、例えば、第1のメモリマクロ11を選択する。続いて、論理回路10により生成されるテスト信号TEST1、TEST2を初期設定する(ステップS2)。この初期化では、テスト信号TEST1、TEST2を共にロウレベル(例えば0)として第1の設定値(設定値指定番号=0)を指定する状態にする。
次いで、テスト対象マクロにデータを書き込み(ステップS3)、その後、書き込んだデータを読み出す(ステップS4)。そして、論理回路10は、当該テスト対象マクロの動作判定を行う(ステップS5)。この動作判定では、論理回路10が制御信号(例えば、マクロ選択信号MS)を出力してからテスト対象マクロが出力した命令発行制御信号CCNTiが論理回路10に到達するまでの時間が所定の範囲内にあるか否かを判定する。
そして、ステップS5において、動作判定結果が良品と判断された場合、当該判定結果として用いた設定値を半導体装置1とは別に記憶部M1に格納する。また、ステップS5において、動作判定結果が良品と判断された場合、ステップS6の処理に進む。一方、ステップS5において、動作判定結果が不良と判断された場合、記憶部M1に判定結果を書き込むことなく、設定値指定番号が最大値を超えているか否かを論理回路10は判断する(ステップS6)。そして、設定値指定番号が最大値を超えていない場合、設定値指定番号を1加算して(ステップS7)、再度ステップS3〜S6の処理を行う。
一方、ステップS6において、設定値指定番号が最大値を超えていると判断された場合、全てのテスト対象マクロのテストが完了したか否かが論理回路10において判断される(ステップS8)。そして、ステップS8において未テストのテスト対象マクロがあると判断された場合、テスト対象マクロを指定する番号に1を加算して(ステップS9)次のテスト対象マクロを指定し、ステップS2〜S6の処理を実行する。一方、ステップS8において、全てのテスト対象マクロのテストが完了したと判断された場合、その後の動作において用いる設定値のテスト対象マクロへの書き込みを行う(ステップS10)。このステップS10での書き込み処理では、記憶部M1に格納されている動作判定結果を元に書き込むべき設定値が決定される。この書き込み処理が完了するとテストが終了する。
ここで、テスト信号TEST1、TEST2と当該テスト信号に対応付けられる設定値との関係を図7に示す。本実施の形態では、メモリマクロが第1〜第4の設定値を有しているものとする。そこで、図7では、第1〜第4の設定値と当該設定値が指定された場合のテスト信号とマクロ内信号が示されている。
図7に示すように、第1の設定値を指定する場合、テスト信号TEST1、TEST2は、0、0である。また、第1の設定値では、選択信号としてPRSE1が有効になっており、その他の選択信号(SESE1、WRSE1、YSWS1)は無効になっている。また、当該選択信号に対応して、プリチャージ制御信号PRE1が選択状態となっており、センスイネーブル信号SE1、ワード選択信号WORD1及びカラムスイッチ選択信号YSW1が非選択状態となっている。これにより、第1の設定値が選択された場合には、命令発行制御信号CCNT1としてプリチャージ制御信号PRE1が出力される。また、この第1の設定値は、命令発行制御信号CCNT1の出力タイミングの前倒し量が論理回路10の動作サイクルの0%であることを指定するものである。
また、第2の設定値を指定する場合、テスト信号TEST1、TEST2は、1、0である。また、第2の設定値では、選択信号としてSESE1が有効になっており、その他の選択信号(PRSE1、WRSE1、YSWS1)は無効になっている。また、当該選択信号に対応して、センスイネーブル信号SE1が選択状態となっており、プリチャージ制御信号PRE1、ワード選択信号WORD1及びカラムスイッチ選択信号YSW1が非選択状態となっている。これにより、第2の設定値が選択された場合には、命令発行制御信号CCNT1としてセンスイネーブル信号SE1が出力される。また、この第2の設定値は、命令発行制御信号CCNT1の出力タイミングの前倒し量が論理回路10の動作サイクルの5%であることを指定するものである。
また、第3の設定値を指定する場合、テスト信号TEST1、TEST2は、0、1である。また、第3の設定値では、選択信号としてWRSE1が有効になっており、その他の選択信号(PRSE1、SESE1、YSWS1)は無効になっている。また、当該選択信号に対応して、ワード選択信号WORD1が選択状態となっており、プリチャージ制御信号PRE1、センスイネーブル信号SE1及びカラムスイッチ選択信号YSW1が非選択状態となっている。これにより、第3の設定値が選択された場合には、命令発行制御信号CCNT1としてワード選択信号WORD1が出力される。また、この第3の設定値は、命令発行制御信号CCNT1の出力タイミングの前倒し量が論理回路10の動作サイクルの10%であることを指定するものである。
また、第4の設定値を指定する場合、テスト信号TEST1、TEST2は、1、1である。また、第4の設定値では、選択信号としてYSWS1が有効になっており、その他の選択信号(PRSE1、SESE1、WRSE1)は無効になっている。また、当該選択信号に対応して、カラムスイッチ選択信号YSW1が選択状態となっており、プリチャージ制御信号PRE1、センスイネーブル信号SE1及びワード選択信号WORD1が非選択状態となっている。これにより、第4の設定値が選択された場合には、命令発行制御信号CCNT1としてカラムスイッチ選択信号YSW1が出力される。また、この第4の設定値は、命令発行制御信号CCNT1の出力タイミングの前倒し量が論理回路10の動作サイクルの20%であることを指定するものである。
また、テスト信号TEST1、TEST2の値を変化させた場合にメモリマクロが出力する命令発行制御信号CCNT1の変化の様子を示すタイミングチャートを図8に示す。図8に示すタイミングチャートは、第1のメモリマクロ11の動作例を示すものである。図8に示すように、論理回路10の動作サイクルは、マクロ選択信号MSの立ち上がりから、次のマクロ選択信号MSの立ち上がりの期間を1サイクルとして規定される。また、図8に示す例では、メモリマクロからのデータの読み出し処理のみを示した。
そして、図8に示す例では、サイクル0においてテスト信号TEST1、TEST2を0、0として第1の設定値を指定し、サイクル1においてテスト信号TEST1、TEST2を1、0として第2の設定値を指定し、サイクル2においてテスト信号TEST1、TEST2を0、1として第3の設定値を指定し、サイクル3においてテスト信号TEST1、TEST2を1、1として第4の設定値を指定する。これにより、第1のメモリマクロ11が出力する命令発行制御信号CCNT1の出力タイミングの前倒し量は、サイクル0、サイクル1、サイクル2、サイクル3の順で大きくなる。
また、図9にステップS5の動作判定の例を示す。図9に示すように、テストフローでは、テスト信号TEST1、TEST2を変更することで、テストで利用する設定値を選択し、選択した設定値による判定結果により、その後利用する設定値を決定する。
図9に示す例では、第1のメモリマクロ11は、TEST1、TEST2が0、0のとき、すなわち第1の設定値を選択している場合に良品として判定される。そのため、第1のメモリマクロ11に対しては、設定値として第1の設定値を利用することが決定される。第mのメモリマクロ1mは、TEST1、TEST2が0、1のとき、すなわち第3の設定値を選択している場合に良品として判定される。そのため、第mのメモリマクロ1mに対しては、設定値として第3の設定値を利用することが決定される。第nのメモリマクロ1nは、TEST1、TEST2が1、1のとき、すなわち第4の設定値を選択している場合に良品として判定される。そのため、第nのメモリマクロ1nに対しては、設定値として第4の設定値を利用することが決定される。
上記説明より、本実施の形態にかかる半導体装置1は、論理回路10とメモリマクロとの間に生じる信号遅延時間に応じて、メモリマクロが命令発行制御信号CCNTiを出力するタイミングを処理完了時よりも前倒して出力する。これにより、半導体装置1は、制御信号を出力してから命令発行制御信号を受信するまでの時間をメモリマクロとの距離に関わらず一定に保つことができる。従って、半導体装置1では、信号遅延時間に起因する論理回路の動作サイクルのばらつきを抑制し、一定の動作サイクルで動作することができる。つまり、半導体装置1では、動作サイクルの時間が長くなることを防止できるため、動作速度の向上を実現することができる。
また、半導体装置1では、命令発行制御信号CCNTiとして出力する信号を、すでにマクロ内で利用されているマクロ内信号から選択する。これにより、半導体装置1では、異なるタイミングで出力される命令発行制御信号CCNTiのために別途信号を生成する事なく、また、新たな回路の追加も必要としない。従って、半導体装置1では、このよう制御を行うことによる回路規模の増大を極めて小さくすることができる。
また、本実施の形態にかかる半導体装置1では、命令発行制御信号の出力タイミングを当該半導体装置の状態に応じて設定するテスト手段(論理回路10が出力するテスト信号と当該テスト信号に応じて設定を変更するマクロ内の命令設定回路31)を有する。そして、当該テスト手段により半導体装置1の特性に応じたマクロ毎の設定値を設定する。これにより、半導体装置1では、半導体装置1の製造工程において生じたばらつきによらず、一定の性能を確保することが可能になる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
ADD アドレス信号
MS マクロ選択信号
OE 出力制御信号
WE 書き込み制御信号
TEST1、TEST2 テスト信号
DO1、DOm、DOn 出力データ
DI1、DIm、DIn 入力データ
CCNT1、CCNTm、CCNTn 命令発行制御信号
DCNT1、DCNTm、DCNTn データ制御信号
WORD1、WORDm、WORDn ワード選択信号
PRE1、PREm、PREn プリチャージ制御信号
SE1、SEm、SEn センスイネーブル信号
YSW1、YSWm、YSWn カラムスイッチ選択信号
RAS1、RASm、RASn ロウ活性信号
1 半導体装置
10 論理回路
11、1m、1n メモリマクロ
12 記憶装置
20 メモリブロック
21 ロウ制御回路
22 カラム制御回路
23 ロウデコーダ
24 カラムデコーダ
25 メモリセルアレイ
26 入出力制御回路
30 命令発行回路
31 命令設定回路
32、33 選択回路

Claims (8)

  1. 論理回路と、
    前記論理回路が出力する制御信号に応じて前記論理回路とのデータの送受信を行い、自マクロ内におけるデータ処理状況に応じて前記論理回路に次命令の発行の許可を知らせる命令発行制御信号を送信する複数のマクロと、を有し、
    前記複数のマクロは、それぞれ、前記論理回路から自マクロへの前記制御信号の信号遅延時間に応じて前記命令発行制御信号を前記データ処理の完了前に出力し、
    前記論理回路は、前記命令発行制御信号に応じて次命令を指示する前記制御信号を出力する半導体装置。
  2. 前記複数のマクロは、前記信号遅延時間がないとした場合に出力される前記命令発行制御信号から前記信号遅延時間に相当する前倒し量を減じた時点に最も近いタイミングで変化するマクロ内で用いられるマクロ内信号を選択して前記命令発行制御信号として出力する請求項1に記載の半導体装置。
  3. 前記複数のマクロは、自マクロが前記命令発行制御信号として用いる前記マクロ内信号を記憶する命令設定回路を有する請求項2に記載の半導体装置。
  4. 前記複数のマクロは、異なる前記マクロ内信号を前記命令発行制御信号に設定する複数の設定値を有し、
    前記論理回路は、前記複数のマクロのうちテスト対象とするテスト対象マクロに対して前記複数の設定値のうちいずれか1つを選択するテスト信号を出力し、
    前記テスト対象マクロは、前記テスト信号に応じた設定値に基づきテスト命令発行制御信号を出力し、
    前記論理回路は、前記制御信号を出力してから前記テスト命令発行制御信号が到達するまでの時間を判定し、
    前記複数のマクロは、それぞれ、前記論理回路から前記制御信号が出力されてから前記命令発行制御信号が前記論理回路に到達するまでの時間が所定の範囲内となる設定値を前記判定の結果に基づき保持する請求項2又は3に記載の半導体装置。
  5. 前記命令発行制御信号は、データの書き込み処理の完了を通知する信号とデータの読み出し処理の完了を通知する信号との少なくとも一方を含む請求項1乃至4のいずれか1項に記載の半導体装置。
  6. 前記複数のマクロは、前記論理回路により利用されるメモリマクロである請求項1乃至5のいずれか1項に記載の半導体装置。
  7. 論理回路と、前記論理回路が出力する制御信号に応じて前記論理回路とのデータの送受信を行い、自マクロ内におけるデータ処理状況に応じて前記論理回路に次命令の発行の許可を知らせる命令発行制御信号を前記論理回路に送信する複数のマクロと、を有する半導体装置におけるハンドシェイク制御のタイミング設定方法であって、
    前記論理回路は、前記複数のマクロのうちテスト対象とするテスト対象マクロに対してテスト信号を出力し、
    前記テスト対象マクロは、前記テスト信号に応じて複数の設定値のうちいずれか1つを選択し、
    前記テスト対象マクロは、マクロ内において用いられるマクロ内信号のうち選択した設定値に関連付けられた信号をテスト命令発行制御信号として出力し、
    前記論理回路は、前記制御信号を出力してから前記テスト命令発行制御信号が到達するまでの時間を判定し、
    前記複数のマクロは、それぞれ、前記論理回路から前記制御信号が出力されてから前記命令発行制御信号が前記論理回路に到達するまでの時間が所定の範囲内となる設定値を前記判定の結果に基づき保持するハンドシェイク制御のタイミング設定方法。
  8. 前記複数のマクロは、前記論理回路により利用されるメモリマクロである請求項7に記載のハンドシェイク制御のタイミング設定方法。
JP2010022306A 2010-02-03 2010-02-03 半導体装置及びそのハンドシェイク制御のタイミング設定方法 Pending JP2011159223A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010022306A JP2011159223A (ja) 2010-02-03 2010-02-03 半導体装置及びそのハンドシェイク制御のタイミング設定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010022306A JP2011159223A (ja) 2010-02-03 2010-02-03 半導体装置及びそのハンドシェイク制御のタイミング設定方法

Publications (1)

Publication Number Publication Date
JP2011159223A true JP2011159223A (ja) 2011-08-18

Family

ID=44591099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010022306A Pending JP2011159223A (ja) 2010-02-03 2010-02-03 半導体装置及びそのハンドシェイク制御のタイミング設定方法

Country Status (1)

Country Link
JP (1) JP2011159223A (ja)

Similar Documents

Publication Publication Date Title
US20080144397A1 (en) Pipe latch circult of multi-bit prefetch-type semiconductor memory device with improved structure
JP2007255984A (ja) 半導体装置及びそのテスト方法
CN102024493B (zh) 半导体集成电路
US7911861B2 (en) Semiconductor memory device and method of testing semiconductor memory device
US7995403B2 (en) Semiconductor integrated circuit with data bus inversion function
US9311180B2 (en) Semiconductor storage circuit and operation method thereof
US8601327B2 (en) Semiconductor memory device
CN104425040A (zh) 用于测试存储器的方法和系统
US9323538B1 (en) Systems and methods for memory interface calibration
US7315479B2 (en) Redundant memory incorporating serially-connected relief information storage
US9530474B2 (en) Semiconductor integrated circuit including semiconductor memory apparatus including a plurality of banks
JP2009059452A (ja) 半導体記憶装置
US8994419B2 (en) Semiconductor device, semiconductor system including the same, and method for operating the same
US6044024A (en) Interactive method for self-adjusted access on embedded DRAM memory macros
CN105608033B (zh) 半导体装置及其操作方法
KR100594294B1 (ko) 메모리 장치 및 데이터 트레이닝 방법
JP2011159223A (ja) 半導体装置及びそのハンドシェイク制御のタイミング設定方法
US20060198214A1 (en) Circuits and methods for controlling timing skew in semiconductor memory devices
US8074096B2 (en) Semiconductor integrated circuit, memory system, memory controller and memory control method
US9159457B2 (en) Non-volatile memory device for storing write data having different logic levels
US20230350809A1 (en) Memory device including address table and operating method for memory controller
US6704243B2 (en) Apparatus for generating memory-internal command signals from a memory operation command
US20080170451A1 (en) Method and circuit for setting test mode of semiconductor memory device
JP2009181647A (ja) 半導体記憶装置
KR100282450B1 (ko) 자동 테스트 기능을 갖는 멀티포트 메모리장치 및 그에 따른 테스트 방법