(57)【要約】【課題】  メモリ回路からデータバスへのデータ読出時間を十分に確保しつつ、データ読出速度の向上を可能にする半導体装置を提供する。【解決手段】  メモリ回路４は読出動作においてプリチャージ、センス動作、データ出力動作を各々クロック信号の０．５サイクルで順次行ない、データ出力と次の読出動作のプリチャージを同時に行なう。メモリ回路４はセンス動作の時間を十分に確保しつつ動作の高速化に対応可能となる。書込検出回路６は書込動作から読出動作への切り替わりに応じ、メモリ回路４に読出動作を遅延させる信号ＭＳＴＷを送る。メモリ回路４は読出動作をクロック信号の１サイクルだけ遅らせて書込データの破壊を防ぐ。さらに、書込検出回路６はプロセッサ２に信号ＰＣＳを送り、読出動作を遅延させている間はプロセッサ２にデータバスＤＢへのアクセスを停止させる。【選択図】        図１
2005267354.tif 000002
【特許請求の範囲】
【請求項１】
データを伝送するデータバスと、
前記データバスとデータ授受を行ない、前記データ授受に対応するアドレス指定を行ない、かつ、読出動作と書込動作のうちいずれかを指示する動作信号を出力する演算回路と、
前記読出動作に対応するアドレス指定に応じて前記データを所定の遅延時間で前記データバスに出力し、前記書込動作に対応するアドレス指定の次のアドレス指定に応じて前記データバスから前記データを入力するメモリ回路と、
前記動作信号が前記書込動作から前記読出動作に切り替わると前記メモリ回路に前記データの出力を前記所定の遅延時間よりさらに遅延して出力させる制御回路とを備える、半導体装置。
【請求項２】
前記制御回路は、クロック信号に同期して動作し、
前記動作信号の前記書込動作から前記読出動作への切り替わりを検知して、前記クロック信号の１サイクルの期間、前記メモリ回路に前記データの出力を待機させる待機信号を出力する検知回路を含む、請求項１に記載の半導体装置。
【請求項３】
前記検知回路は、さらに、前記待機信号の出力に応じ、前記演算回路に前記データ授受を停止させる停止信号を前記演算回路に出力する、請求項２に記載の半導体装置。
【請求項４】
前記メモリ回路は、
行および列に配置された複数のメモリセルと、
前記列に対応して配置された複数のビット線対と、
前記複数のビット線対にプリチャージを行なうプリチャージ回路と、
前記複数のビット線対を介して前記複数のメモリセルの各々に記憶される前記データを読出す読出回路と、
前記データを前記読出回路から受けて前記データバスに出力する出力回路と、
前記プリチャージ回路と前記読出回路と前記出力回路を各々クロック信号の０．５サイクルで順次動作させて前記読出動作を行わせるための制御信号を出力する信号生成回路とを含む、請求項１に記載の半導体装置。
【請求項５】
前記メモリ回路はＳＲＡＭ回路である、請求項４に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は半導体装置に関し、より特定的には、プロセッサとメモリ回路との間で高速にデータを入出力可能な半導体装置に関するものである。
【背景技術】
【０００２】
マイクロコンピュータ（以下、マイコンとも称する）は、近年、家電製品のみならず、さまざまな機器に搭載される。機器の高機能化のためにマイコンに大量の演算処理を行なわせようとすれば、マイコンの動作をより高速化させることが必要である。
【０００３】
図７は、マイクロコンピュータの主要部の構成を示す図である。
【０００４】
図７を参照して、マイコン１００は、データ演算処理を行なうプロセッサ１０２と、データを一時的に記憶しプロセッサ１０２の指示に応じてデータを入出力するメモリ回路１０４と、プロセッサ１０２からメモリ回路１０４へアドレス信号ＡＤＲを伝達するアドレスバスＡＤ１と、プロセッサ１０２とメモリ回路１０４との間でデータを伝達するためのデータバスＤＢ１とを備える。
【０００５】
なお、図７には図示されないが、たとえばマイコン１００は各回路が同期して動作するための基準信号であるクロック信号を発生させるクロック発生回路など、他にも回路を備える。また、同様に図７には図示されないが、メモリ回路１０４は、情報を記憶するメモリセル、メモリセルに接続されるビット線、メモリセルへのデータ読出時あるいは書込時に、ビット線対の電圧を所定の電圧に設定する動作（以後プリチャージとも称する）を行なうプリチャージ回路、ビット線対に接続されてメモリセルに対し、データの読み書きを行なう読出／書込制御回路などを備える。
【０００６】
プロセッサ１０２は、たとえばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。また、メモリ回路１０４は、たとえばＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）回路である。
【０００７】
プロセッサ１０２はメモリ回路１０４に対し、アドレス信号ＡＤＲ，信号ＲＷＳを送る。メモリ回路１０４はアドレス信号ＡＤＲおよび信号ＲＷＳを受け、アドレス信号ＡＤＲによって指定されたアドレスに対しデータを読み出すか、データを書込むかのいずれかを行なう。
【０００８】
図８は、図７のマイコン１００の動作を説明するタイミングチャートである。
【０００９】
図８を参照して、まず、時刻ｔ１以前においてマイコン１００の内部で生成されるクロック信号ＣＬＫが立上がるとアドレス信号ＡＤＲが切換わり、アドレスＡ１が指定される。時刻ｔ１以前では、信号ＲＷＳはデータの読出を示す「１」の状態である。
【００１０】
なお、図８において示されるアドレスＡ１〜Ａ３はメモリ回路１０４の任意のアドレスである。
【００１１】
続いて、時刻ｔ１ではプリチャージが行なわれる。信号ＣＨＲはプリチャージ回路を活性化する信号であり、信号ＣＨＲが立ち上がるとビット線対にプリチャージが行なわれる。
【００１２】
続いて、時刻ｔ２では読出／書込制御回路が読出動作を行なう。信号ＳＮＳは読出動作を活性化する信号である。信号ＳＮＳが立ち上がると、メモリセルからビット線対にデータが伝達され、ビット線の各々の電圧には電圧差が生じる。時刻ｔ２では、この電圧差が「０」か「１」のいずれのデータであるかを確定するのに十分な電圧差まで増幅される（以後、この増幅動作をセンス動作と称する）。
【００１３】
また、時刻ｔ２では読出／書込制御回路からデータバスＤＢ１にデータが伝達される。データの伝達を制御する信号ＯＴＳが立上がると、メモリセルから読み出されたデータはデータバスＤＢ１に出力される。信号ＤＴＡはデータバスＤＢ１上のレベルの変化を示す。時刻ｔ２では、データバスＤＢ１にアドレスＡ１から読出された読出データＲＤが出力される。
【００１４】
一方、時刻ｔ２では再度、アドレス信号ＡＤＲが切換わることでアドレスＡ２が指定される。また、時刻ｔ２では信号ＲＷＳは「０」に立下がり、アドレスＡ２に対するデータの書込が指示される。
【００１５】
続いて時刻ｔ３では信号ＣＨＲが立上がり、時刻ｔ１における動作と同様に、ビット線に対するプリチャージが行なわれる。
【００１６】
続いて、時刻ｔ４ではプロセッサ１０２からデータバスＤＢ１に書込データＷＤが出力される。データバスに出力された書込データＷＤはデータバスＤＢ１からメモリ回路１０４のアドレスＡ２に書込まれる。
【００１７】
また、時刻ｔ４ではアドレス信号ＡＤＲが切換わり、信号ＲＷＳが「１」に立上がる。時刻ｔ４ではアドレスＡ３に対する読出動作が開始される。時刻ｔ５〜ｔ７におけるアドレスＡ３からデータが読出される動作は、時刻ｔ１〜ｔ３におけるアドレスＡ１からデータが読出される動作と同様であるので、以後の説明については繰返さない。
【００１８】
図８のタイミングチャートにおいて説明されるように、時刻ｔ１でプリチャージが行なわれ、時刻ｔ３でメモリ回路１０４からデータバスＤＢ１に読出データＲＤの出力が完了する。この期間はクロック信号ＣＬＫの１サイクルである。また、時刻ｔ３でプリチャージが行なわれ、時刻ｔ５でメモリ回路１０４からデータバスＤＢ１に書込データＷＤの出力が完了するまでの期間も、クロック信号ＣＬＫの１サイクルである。このように、クロック信号ＣＬＫの１サイクルで読み書きを行なうメモリ回路１０４の動作を、以後において１サイクルアクセスと称する。
【００１９】
１サイクルアクセスの場合、図８の時刻ｔ２〜ｔ３での動作波形で示されるように、メモリ回路１０４はセンス動作およびデータバスＤＢ１へのデータの出力を同時に行なわなければならない。しかし、たとえばセンスアンプの駆動電位が低いためにセンスアンプの動作が低速な場合、あるいはビット線対やデータバスに生じる寄生容量などの負荷が大きく、ビット線対の電圧差を増幅するのに時間を要するなどの場合はデータの読出に時間を要する。これらの場合、データの出力が遅れることになる。よって、読出速度が高速化されないためマイコン１００の動作速度の高速化が困難になる。
【００２０】
このような読出動作における課題を解決する方法として、たとえば、特開２０００−１２３５７６号公報（特許文献１）では、１サイクル中で読出動作に割り当てる時間を０．５サイクルよりも長くすることで十分なデータ読出時間を確保するデータ処理装置の例が開示される。また、特開平９−１２８９７７号公報（特許文献２）では、データの書込アドレスを確定した後、次の書込アドレスが指定されると、直前に確定した書込アドレスにデータの書込を行なうレイトライト方式を採用し、さらに、メモリセルへの読出動作あるいは書込動作に応じてメモリセルにアクセスするタイミングを調整することで、読出し動作に必要な時間を確保しつつ全体の動作時間を最適化させる同期型ＳＲＡＭの例が開示される。
【特許文献１】特開２０００−１２３５７６号公報
【特許文献２】特開平９−１２８９７７号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
特許文献１に開示されるデータ処理装置においては、１サイクル中でメモリ回路のプリチャージの期間を短くし読出時間を長くすることでデータ読出の時間を確保する。しかし、高速動作のためにクロック周波数を上げると１サイクルの時間が短くなるので、データ読出の時間も短くなる。よって、特許文献１に開示されるデータ処理装置には容易に動作の高速化を図ることができないという課題がある。
【００２２】
また、特許文献２に開示される同期型ＳＲＡＭは、メモリセルにアクセスするタイミングを調整するものである。しかし、プリチャージおよびメモリセルからのデータの読出は従来の半導体装置と同じくクロック信号の１周期で行なわれる。よって、特許文献１に開示されるデータ処理装置と同様に、特許文献２に開示される同期型ＳＲＡＭにおいても、容易に動作の高速化を図ることができないという課題がある。
【００２３】
さらに、特許文献２に開示される同期型ＳＲＡＭは、まず書込を行なうアドレスを確定するが、次の書込を行なうアドレスが確定するまで前に確定されたアドレスへのデータの書込は行なわれない。特許文献２に開示される同期型ＳＲＡＭは、一旦確定されたアドレスを保持するためのみに用いられる専用レジスタを必要とし、回路規模が増大するという課題を有する。
【課題を解決するための手段】
【００２４】
本発明は、要約すれば半導体装置であって、データを伝送するデータバスと、演算回路と、メモリ回路と、制御回路を備える。
【００２５】
演算回路は、データバスとデータ授受を行ない、データ授受に対応するアドレス指定を行ない、かつ、読出動作と書込動作のうちいずれかを指示する動作信号を出力する。
【００２６】
メモリ回路は、読出動作に対応するアドレス指定に応じてデータを所定の遅延時間でデータバスに出力し、書込動作に対応するアドレス指定の次のアドレス指定に応じてデータバスからデータを入力する。
【００２７】
制御回路は、動作信号が書込動作から読出動作に切り替わるとメモリ回路にデータの出力を所定の遅延時間よりさらに遅延して出力させる。
【発明の効果】
【００２８】
本発明の半導体装置によれば、メモリ回路からデータバスへのデータ読出時間を十分に確保しつつ、読出速度の向上を可能にする。
【発明を実施するための最良の形態】
【００２９】
以下において、本発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一符号は同一または相当部分を示す。
【００３０】
［実施の形態１］
図１は、実施の形態１の半導体装置の主要部の構成を示すブロック図である。
【００３１】
図１を参照して、半導体装置１は、プロセッサ２と、制御回路３と、メモリ回路４と、プロセッサ２からメモリ回路４へアドレス信号ＡＤＲを伝達するアドレスバスＡＤと、プロセッサ２とメモリ回路４との間でデータを伝達するデータバスＤＢとを備える。
【００３２】
プロセッサ２はメモリ回路４に信号ＲＷＳを送る。メモリ回路４は信号ＲＷＳの論理レベルに応じてデータバスＤＢにデータを出力するか、またはデータバスＤＢからデータを入力するかを選択する。
【００３３】
メモリ回路４は、さらに、アドレスバスＡＤからアドレス信号ＡＤＲを取得し、指定されたアドレスに対するデータの入出力を行なう。なお、メモリ回路４の読出動作および書込動作については後述する。
【００３４】
制御回路３は、レジスタ５と、書込検出回路６とを含む。プロセッサ２は書込検出回路６を使用するか否かを示す信号Ｓ０を出力し、レジスタ５は信号Ｓ０の内容を一旦保持する。信号Ｓ０はレジスタ５から信号ＳＷＴとして出力され、信号ＳＷＴは書込検出回路６に送られる。書込検出回路６は信号ＳＷＴを受け、信号ＳＷＴの論理レベルに応じて動作するか停止する。なお、信号ＳＷＴの内容は信号Ｓ０と同一である。
【００３５】
プロセッサ２からレジスタ５に与えられる信号Ｓ０は書込信号と書込データを含む。半導体装置１の内部で実行されるプログラムに従ってレジスタ５への書込が行われる。レジスタ５で保持する信号Ｓ０の内容は書込データに応じて書き換わる。
【００３６】
書込検出回路６は、信号ＳＷＴを受けてメモリ回路４に読出動作あるいは書込動作のタイミングの変更を指示するための信号ＭＳＴＷを出力する。信号ＭＳＴＷが「１」の場合、メモリ回路４は後述する動作タイミングでデータの読出と書込を行なう。また、信号ＭＳＴＷが「０」の場合、メモリ回路４は従来の動作タイミング（１サイクルアクセス）でデータの読出と書込を行なう。なお、信号ＭＳＴＷは信号ＳＷＴと同一のタイミングで「０」，「１」に切り替わる。つまり、プロセッサ２が書込検出回路６を動作させるよう指示を行なうと、書込検出回路６はメモリ回路４に動作タイミングを変更する指示を行ない、メモリ回路４は動作タイミングを１サイクルアクセスから、後述する動作タイミングに変更する。
【００３７】
書込検出回路６は、さらに、プロセッサ２から信号ＲＷＳを受ける。信号ＲＷＳが書込動作から読出動作に切り替わると、書込検出回路６はメモリ回路４に読出動作を待機させるための信号ＭＳＴＳを出力する。信号ＭＳＴＳが「１」を示す期間ではメモリ回路４は指定されたアドレスからのデータの読出を待機する。
【００３８】
書込検出回路６は、さらに、プロセッサ２に信号ＰＣＳを送る。プロセッサ２は、信号ＰＣＳを受け、信号ＰＣＳの論理レベルに応じてデータバスＤＢにアクセスするか否かを切り替える。信号ＰＣＳを送るタイミングについては後述する。
【００３９】
なお、プロセッサ２は、上述のＣＰＵに限定されるものではなく、たとえばＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）であってもよい。また、以下において、メモリ回路４はＳＲＡＭであるとして説明するが、メモリ回路４はＳＲＡＭに限定される必要はなく、たとえばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やフラッシュメモリであってもよい。
【００４０】
また、半導体装置１は、図１には図示されないが、他にも、たとえばプロセッサ２およびメモリ回路４の動作を同期させるためのクロック信号を発生させるクロック発生回路などを備える。プロセッサ２，制御回路３，メモリ回路４はクロック発生回路から送られるクロック信号に同期して各々動作する。
【００４１】
図１の半導体装置の動作の概要を説明する。メモリ回路４は読出動作においてプリチャージ、センス動作、データ出力動作を各々クロック信号の０．５サイクルで順次行ない、データ出力と次の読出動作のプリチャージを同時に行なう。メモリ回路４はセンス動作の時間を十分に確保しつつ動作の高速化に対応可能となる。書込検出回路６は書込動作から読出動作への切り替わりに応じ、メモリ回路４に読出動作を遅延させる信号ＭＳＴＷを送る。メモリ回路４は読出動作をクロック信号の１サイクルだけ遅らせて書込データの破壊を防ぐ。さらに、書込検出回路６はプロセッサ２に信号ＰＣＳを送り、読出動作を遅延させている間はプロセッサ２にデータバスＤＢへのアクセスを停止させる。
【００４２】
図２は、メモリ回路４の構成の一部分を示す図である。なお、図２にはメモリ回路４の一例として、ＳＲＡＭ回路が示される。
【００４３】
図２を参照して、ビット線ＢＩＴ，／ＢＩＴには、ワード線ＷＬが選択されるとメモリセル７の情報をビット線ＢＩＴ，／ＢＩＴに出力するセレクタ８Ａ，８Ｂが接続される。
【００４４】
メモリセル７は、ノードＷ１に入力が接続され、ノードＷ２に出力が接続されるインバータＩＮＶ１と、ノードＷ２に入力が接続され、ノードＷ１に出力が接続されるインバータＩＮＶ２とを含む。
【００４５】
メモリセル７に対する読出動作あるいは書込動作を行なうため、ビット線ＢＩＴ，／ＢＩＴには書込／読出制御回路１０が接続される。書込／読出制御回路１０は、たとえば、メモリセル７からデータが読み出される際にビット線ＢＩＴ，／ＢＩＴに生じる電圧差を増幅するセンスアンプやメモリセル７に書込動作を行なうためのドライバなどを含む。
【００４６】
書込／読出制御回路１０には信号生成回路１１が接続される。信号生成回路１１は、図１の書込検出回路６から信号ＭＳＴＳおよびＭＳＴＷを受けて、プリチャージ回路９を活性化させてプリチャージを行なわせる信号ＣＨＲと、書込／読出制御回路１０にセンス動作を行なわせる信号ＳＮＳと、メモリセル７から読出されたデータを一旦保持する出力バッファ１２からデータをデータバスＤＢに出力させる信号ＯＴＳを生成する。
【００４７】
メモリセル７にデータを書込む場合、あるいはメモリセル７からデータを読出す場合、まず、プリチャージ回路９によってビット線ＢＩＴ，／ＢＩＴの電圧が所定の電圧（たとえば電源電圧ＶＤＤ）に設定される。
【００４８】
続いて、読出動作ではワード線ＷＬが選択されてセレクタ８Ａ，８Ｂが導通する。セレクタ８Ａ，８Ｂが導通する前には、ノードＷ１，Ｗ２のいずれか一方が「１」の状態であり、他方が「０」の状態である。
【００４９】
たとえばノードＷ２が「０」の場合、セレクタ８Ａ，８Ｂが導通するとビット線ＢＩＴの電圧よりもビット線／ＢＩＴの電圧が低下する。
【００５０】
続いて、信号ＳＮＳが活性化されることで書込／読出制御回路１０に含まれる図示されないセンスアンプが活性化される。センスアンプはビット線ＢＩＴ，／ＢＩＴ間に生じた電圧差を「０」か「１」のいずれのデータであるかを確定するのに必要な電圧差まで増幅する。
【００５１】
メモリセル７から読み出されたデータは、書込／読出制御回路１０から出力され、出力バッファ１２に保持される。出力バッファ１２は信号生成回路１１から信号ＯＴＳを受けると保持したデータをデータバスＤＢに出力する。
【００５２】
信号生成回路１１は、図１の書込検出回路６から送られる信号ＭＳＴＳ，ＭＳＴＷに応じて信号ＯＴＳを出力する。信号ＭＳＴＷが「１」、すなわち書込検出回路６が動作状態である場合、信号生成回路１１は信号ＭＳＴＳが「１」である間、信号ＣＨＲの出力および信号ＯＴＳの出力を停止する。
【００５３】
一方、メモリセル７に書込を行なう場合には、読出動作と同様に、信号生成回路１１は信号ＣＨＲを活性化させてプリチャージ回路９を活性化させる。プリチャージ回路９は、信号ＣＨＲを受けてビット線ＢＩＴ，／ＢＩＴの電圧を所定の電圧に設定する。続いて、データバスＤＢからデータ書込用のデータ伝達線ＷＤＬを経由して書込／読出制御回路１０にデータが送られる。ワード線ＷＬが選択されてセレクタ８Ａ，８Ｂが導通すると書込／読出制御回路１０からビット線ＢＩＴ，／ＢＩＴにデータが送られ、ノードＷ１，Ｗ２の電圧が変化する。続いてセレクタ８Ａ，８Ｂが非導通になり、データの書込が完了する。
【００５４】
なお、図１で示されるアドレス信号ＡＤＲはたとえば行アドレス、列アドレスを生成するためのアドレスバッファ（図２には図示されず）に入力される。また、信号ＲＷＳはメモリ回路内部の制御信号を生成する制御回路（図２には図示されず）に入力される。
【００５５】
図３は、実施の形態１の半導体装置の動作を説明するタイミングチャートである。
【００５６】
図３のタイミングチャートにおいては、図１のプロセッサ２からメモリ回路４にデータ読出を連続して指示する場合のメモリ回路４の動作が示される。
【００５７】
図３を参照して、まず、時刻ｔ１においてクロック信号ＣＬＫが立上がるとアドレス信号ＡＤＲが切換わり、アドレスＡ１が確定する。信号ＲＷＳは、時刻ｔ１において読出動作を示す「１」であるので、アドレスＡ１に対する読出動作が開始される。時刻ｔ１では、アドレス信号ＡＤＲが切換わると信号ＣＨＲが立上がり、プリチャージが行なわれる。アドレスＡ１はメモリ回路４の任意のアドレスである。
【００５８】
なお、メモリ回路４が動作する期間において図１のレジスタ５の内容が書き換わることはない。プロセッサ２はメモリ回路４にアクセスを行なう前に、たとえば不揮発性メモリ（ＲＯＭ）などメモリ回路４の領域外に保存されるプログラムに従ってレジスタ５の内容を書き換える。プロセッサ２はレジスタ５の内容を書き換えた後にメモリ回路４にアクセスを開始する。よって、図３において信号ＳＷＴは書込検出回路６が動作している間、常に「１」である。また、信号ＭＳＴＷは信号ＳＷＴと同一の内容を示す。よって、信号ＭＳＴＷも常に「１」である。
【００５９】
さらに、時刻ｔ１において信号ＰＣＳは「０」である。つまり、プロセッサ２はデータバスＤＢに対しアクセス可能な状態である。また、信号ＭＳＴＳは「０」である。つまり、メモリ回路４からデータバスＤＢへデータの出力は可能な状態である。
【００６０】
続いて時刻ｔ２では信号ＳＮＳが立上がり、センス動作が行なわれる。時刻ｔ２ではメモリセル７に記憶されているデータがセンスアンプによって増幅されて「０」か「１」のどちらであるか確定される。データは出力バッファ１２に一旦保持される。
【００６１】
なお、図８の１サイクルアクセス動作では信号ＳＮＳの立上がりとともに信号ＯＴＳが立ち上がる。図３において、時刻ｔ２では信号ＯＴＳは「０」のままである。よって、出力バッファ１２に保持されたデータはデータバスＤＢに出力されない。
【００６２】
続いて、時刻ｔ３において信号ＯＴＳが立上がり、出力バッファ１２に保持されたデータがデータバスＤＢに出力される。データバスＤＢに出力されたデータはプロセッサ２に読み出される読出データＲＤになる。
【００６３】
さらに、時刻ｔ３ではアドレス信号ＡＤＲが切換わり、アドレスＡ２が指定される。時刻ｔ１における動作と同様に、時刻ｔ３では信号ＣＨＲが立上がり、プリチャージが開始される。つまり、時刻ｔ３〜ｔ４において、メモリ回路４はデータバスＤＢに読出データＲＤを出力するとともに、プリチャージを行なう。
【００６４】
さらに、時刻ｔ５においてアドレス信号ＡＤＲが切換わるとアドレスＡ３が指定されて読出動作が開始される。
【００６５】
なお、時刻ｔ３以後の読出動作においては、時刻ｔ１〜時刻ｔ４における読出動作と同様の読出し動作が繰り返し行なわれる。よって、時刻ｔ３以後の読出動作についての説明は、以後繰返さない。
【００６６】
時刻ｔ１〜ｔ４において示されるように、メモリ回路４は時刻ｔ１〜ｔ２でプリチャージを行ない、時刻ｔ２〜ｔ３でセンス動作、時刻ｔ３〜ｔ４でデータ出力動作を行なう。アドレスＡ１に対するこれらの動作は重なり合うことなく行なわれる。図８に示されるように、従来の１サイクルアクセスにおいては、センス動作とデータ出力動作が同一のタイミング（図８における時刻ｔ２〜ｔ３）で行なわれる。したがって、図２の書込／読出制御回路１０に含まれるセンスアンプが低速で動作する場合、センス動作に時間がかかるためデータバスＤＢへのデータ出力が遅れることになる。
【００６７】
これに対し、図３のタイミングチャートでは時刻ｔ２〜ｔ３でセンス動作が行なわれるがデータ出力動作と重複しない。よって低速なセンスアンプであってもクロック信号ＣＬＫの０．５サイクルでセンス動作が終了する限りにおいて時刻ｔ３からデータ出力動作を開始することが可能である。よってデータの出力が遅れるという問題が解決される。
【００６８】
ただし、上述のように、プリチャージからデータ出力動作までに要する時間はクロック信号ＣＬＫの１．５サイクルである。よって、従来の１サイクルアクセスとデータ出力間隔を同じ（１サイクル）に保つため、時刻ｔ３〜ｔ４に示されるように読出動作が連続する場合ではアドレスＡ１に対するデータ出力動作とアドレスＡ２から読出を行なうためのプリチャージが同時に行なわれる。
【００６９】
図４は、実施の形態１の半導体装置の動作に生じ得る課題を説明するタイミングチャートである。
【００７０】
図４では、図１の半導体装置１において、メモリ回路４が読出動作から書込動作に切り替わる際に生じ得る課題が示される。
【００７１】
図４を参照して、まず、時刻ｔ１ではアドレス信号ＡＤＲが切り替わり、アドレスＡ１に対する読出動作が開始される。なお、時刻ｔ１〜時刻ｔ４における読出動作は図３の時刻ｔ１〜ｔ４における読出動作と同様であるので、以後の説明は繰返さない。
【００７２】
時刻ｔ３ではアドレス信号ＡＤＲが切換わり、アドレスＡ２が確定する。また、時刻ｔ３では信号ＲＷＳが「０」に立下がる。よって、アドレスＡ２に対するデータ書込が行なわれる。
【００７３】
時刻ｔ４では、信号ＣＨＲが立上がり、プリチャージが行なわれる。続いて時刻ｔ５では、プロセッサ２からデータバスＤＢに書込データＷＤが出力され、メモリ回路４はデータバスＤＢから書込データＷＤを取得する。
【００７４】
一方、時刻ｔ５ではアドレスＡ３が指定され、信号ＲＷＳは「１」に切り替わる。よって、アドレスＡ３に対するデータ読出が指示される。
【００７５】
しかし、図中の点線で示される信号ＣＨＲのように、もし、アドレス信号ＡＤＲの切換わりに応じて信号ＣＨＲが立ち上がるとプリチャージ回路９がビット線ＢＩＴ，／ＢＩＴに対しプリチャージを行なうため、時刻ｔ５〜ｔ６において、ビット線ＢＩＴ，／ＢＩＴ上ではデータバスＤＢから取得した書込データＷＤがプリチャージ電圧によって破壊される。よって、このような問題を解決することが必要になる。
【００７６】
図５は、実施の形態１の半導体装置の別の動作を説明するタイミングチャートである。図５のタイミングチャートでは、図４で説明される課題の解決方法が示される。
【００７７】
図５を参照して、時刻ｔ１〜ｔ５における半導体装置１の動作は、図４における時刻ｔ１〜ｔ５における半導体装置１の動作と同様であるので、動作についての説明は、以後、繰返さない。
【００７８】
時刻ｔ５において、アドレス信号ＡＤＲが切換わるとアドレスＡ３に対する読出が指示される。時刻ｔ５において、図１における書込検出回路６は信号ＲＷＳが「１」に切換わることを検知し、信号ＭＳＴＳを「０」から「１」に切り替える。図２の信号生成回路１１は信号ＭＳＴＳが「１」であることに応じて信号ＣＨＲの出力を停止する。よってプリチャージ回路９はビット線ＢＩＴ，／ＢＩＴへのプリチャージを行なわず、データバスＤＢから取得された書込データＷＤはビット線ＢＩＴ，／ＢＩＴを伝達し、メモリセル７に書込まれる。
【００７９】
書込検出回路６は時刻ｔ５で信号ＭＳＴＳを「１」にすると時刻ｔ６では信号ＰＣＳを「１」に切り替える。
【００８０】
信号ＰＣＳが「０」である場合、プロセッサ２は時刻ｔ７でデータバスＤＢにアクセスし、アドレスＡ３から出力されたデータを読出そうとする。時刻ｔ７は、仮に時刻ｔ５においてプリチャージが開始された場合にデータバスＤＢにデータが出力される時刻である。しかし、図４のタイミングチャートにて説明されるように時刻ｔ５でプリチャージが開始されると書込データが破壊されるので、書込検出回路６は時刻ｔ５で信号ＭＳＴＳを「１」にし、メモリ回路４の読出動作を遅延させる。ただし、プロセッサ２側ではメモリ回路４の読出動作が遅延していることを検知することはできない。
【００８１】
よって、書込検出回路６はプロセッサ２にメモリ回路の読出動作が遅延していることを知らせるため、時刻ｔ６において信号ＰＣＳを「１」にする。プロセッサ２は信号ＰＣＳが「１」であればデータバスＤＢからデータの取得を行なわないので、プロセッサ２側でデータが誤って読み出されるのを防ぐことができる。
【００８２】
時刻ｔ７では書込検出回路６は信号ＭＳＴＳを「０」にしてメモリ回路４にアドレスＡ３に対するデータ読出を開始させる。時刻ｔ７では信号ＣＨＲが立上がり、ビット線ＢＩＴ，／ＢＩＴに対するプリチャージが行なわれる。なお、以後の読出動作については、時刻ｔ１〜時刻ｔ４における読出動作と同様である。よって説明は繰返さない。
【００８３】
さらに、時刻ｔ８でクロック信号ＣＬＫが立下がるに応じ、書込検出回路６は信号ＰＣＳを「１」から「０」にする。プロセッサ２は再びデータバスＤＢからデータを取得することが可能になる。
【００８４】
以上のように、図１の書込検出回路６はプロセッサ２およびメモリ回路４の動作を制御する役割を果たす。書込検出回路６によってこのような制御が行なわれる理由を説明する。
【００８５】
一般的なプロセッサの場合、メモリ回路が外付けであるか内蔵であるかに関わらず、クロック信号に同期してメモリ回路からデータの読み書きを行なうのに必要なクロック信号のサイクル数が定まっている。さらに、プロセッサは一般的に、データバスに対するデータ入出力動作に必要なクロック信号のサイクル数について複数のパターンを保持する。
【００８６】
プロセッサは決まったクロック信号のサイクル数でデータバスへのアクセスを行なうだけでメモリ回路の状態を確認しない。ただし、プロセッサ、メモリ回路ともクロック信号に同期して動作しているので、プロセッサ、メモリ回路ともにデータバスにデータを伝達すればデータの交換を正常に行なうことができる。この場合、プロセッサとメモリ回路の各々でデータ読み書き動作のタイミングの整合が取れていることが条件になる。
【００８７】
ただし、図５の時刻ｔ３〜ｔ６で示されるような、書込対象のアドレスＡ２から１クロックサイクル経過後（すなわちアドレスＡ３の確定時）にアドレスＡ２に対するデータ書込が行なわれるという動作を行なうメモリ回路を従来のプロセッサと外付けで組み合わせた場合、プロセッサ側では従来通りの１サイクルアクセスに従ってメモリ回路に対しデータの読み書きを行なおうとする。
【００８８】
プロセッサに１サイクルの待ち時間を知らせる手段がない場合にこのようなメモリ回路を使用すれば、プロセッサは書込動作用のアドレスを出力し、１クロックサイクル経過すると次の読出動作のためのアドレスを出力する。ただし、読出動作のためのアドレスを出力してもメモリ回路は待ち状態であってデータバスにデータを出力しない。
【００８９】
一方、プロセッサは従来の１サイクルアクセスに従って、メモリ回路が待ち状態である間に読出動作を行なう。つまり、プロセッサとメモリ回路との間で動作の不整合が生じることになる。
【００９０】
このような問題を解決する方法として、たとえばＲＯＭに記憶させた専用プログラムに従ってプロセッサを処理させる方法、あるいは、特許文献２に開示される同期型ＳＲＡＭのように書込アドレスを保持する専用レジスタをメモリ回路に持たせ、プロセッサとメモリ回路の間で行なわれるアドレスやデータの受渡しの整合を取る方法などが考えられる。しかし、このような不揮発性メモリや専用レジスタを設けることは回路規模を増大させ、消費電力の増加、製造コストの上昇を招く要因となる。
【００９１】
これに対し、実施の形態１の半導体装置１は、書込検出回路６からプロセッサ２に対してデータバスＤＢへのアクセスを制御する。よって、従来のプロセッサと、データ読み書きの動作が１サイクルアクセスと異なるようなメモリ回路を組み合わせた場合でも図１の制御回路３をさらに組み合わせることで、メモリ回路４がプロセッサ２に外付けであるか内蔵であるかに関わらず、プロセッサ２とメモリ回路４との間でデータ読み書きの整合性を保つことが容易に可能となる。
【００９２】
また、プロセッサ２がデータバスＤＢへのアクセスを停止させる動作は、プロセッサが一般的に持っているバスアクセス制御回路を利用することで容易に実現可能である。プロセッサは、データバスへのアクセスの処理を開始してから実際にデータバスにアクセスするまでの待ち時間を１クロックサイクルに変更したり待ち時間がないように変更することが可能である。よって書込検出回路６から送られる信号ＰＣＳに応じてバスアクセス制御回路を動作させることでプロセッサ２はメモリ回路４との間でデータ読み書きの整合性を保つことが容易に可能になる。また、書込検出回路６は小規模の回路で実現できる。
【００９３】
図６は、実施の形態１の半導体装置のさらに別の動作を説明するタイミングチャートである。
【００９４】
プロセッサ２は、図１のメモリ回路４以外にも、たとえばプログラムを記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）にアクセスを行なうことがある。図６のタイミングチャートは、メモリ回路４への書込動作の終了後、プロセッサ２がたとえばＲＯＭなどにアクセスする場合の動作について説明される。
【００９５】
図６を参照して、まず、時刻ｔ１〜時刻ｔ６における半導体装置１の読出動作および書込動作は、図５の時刻ｔ１〜ｔ６における読出動作および書込動作と同様であるので以後の説明については繰返さない。
【００９６】
時刻ｔ５において、クロック信号ＣＬＫが立上がるとアドレス信号ＡＤＲが切換わり、メモリ回路４以外の回路（たとえば上述のＲＯＭである）へのアクセスが開始される。
【００９７】
図５において指定されるアドレスＡ２，Ａ３は、ともにメモリ回路４のアドレスである。よって、図５における時刻ｔ６では書込検出回路６は信号ＰＣＳを「１」にし、プロセッサ２がデータバスＤＢにアクセスするのを防ぐ。
【００９８】
一方、図６においては時刻ｔ５においてアドレス信号ＡＤＲが切換わる。しかし、アドレス信号のＡＤＲの切り替わりによってＲＯＭのアドレスが指定される。信号ＰＣＳは時刻ｔ６においても「０」のままである。よって、プロセッサ２はデータバスＤＢにアクセス可能になる。
【００９９】
なお、時刻ｔ５では書込検出回路６によって、信号ＭＳＴＳが「１」に立ち上がる。時刻ｔ５ではメモリ回路４でプリチャージは行なわれない。よって、理想的には時刻ｔ５において、書込検出回路６は信号ＭＳＴＳを「１」にする必要がない。
【０１００】
ただし、アドレス信号ＡＤＲの切換が時刻ｔ５から遅れる場合、クロック信号ＣＬＫが時刻ｔ５において立上がると信号ＣＨＲも立上がる可能性がある。よって、信号ＣＨＲの立ち上がりに応じたプリチャージによってビット線ＢＩＴ，／ＢＩＴに伝達される書込データＷＤが破壊されないよう、書込検出回路６は時刻ｔ５〜ｔ７では「１」の信号ＭＳＴＳを出力する。この場合、メモリ回路４の読出動作は１サイクル遅延するので、より安全なデータの書込が可能になる。
【０１０１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１０２】
【図１】実施の形態１の半導体装置の主要部の構成を示すブロック図である。
【図２】メモリ回路４の構成の一部分を示す図である。
【図３】実施の形態１の半導体装置の動作を説明するタイミングチャートである。
【図４】実施の形態１の半導体装置の動作に生じ得る課題を説明するタイミングチャートである。
【図５】実施の形態１の半導体装置の別の動作を説明するタイミングチャートである。
【図６】実施の形態１の半導体装置のさらに別の動作を説明するタイミングチャートである。
【図７】マイクロコンピュータの主要部の構成を示す図である。
【図８】図７のマイコン１００の動作を説明するタイミングチャートである。
【符号の説明】
【０１０３】
１  半導体装置、２，１０２  プロセッサ、３  制御回路、４，１０４  メモリ回路、５  レジスタ、６  書込検出回路、７  メモリセル、８Ａ，８Ｂ  セレクタ、９  プリチャージ回路、１０  書込／読出制御回路、１１  信号生成回路、１２  出力バッファ、１００  マイコン、ＢＩＴ，／ＢＩＴ  ビット線、Ａ１〜Ａ３  アドレス、ＡＤ，ＡＤ１  アドレスバス、ＤＢ，ＤＢ１  データバス、ＩＮＶ１，ＩＮＶ２  インバータ、ＲＤ  読出データ、Ｗ１，Ｗ２  ノード、ＷＤ  書込データ、ＷＤＬ  データ伝達線、ＷＬ  ワード線。
【図１】
2005267354.tif 000003
【図２】
2005267354.tif 000004
【図３】
2005267354.tif 000005
【図４】
2005267354.tif 000006
【図５】
2005267354.tif 000007
【図６】
2005267354.tif 000008
【図７】
2005267354.tif 000009
【図８】
2005267354.tif 000010