(57)【要約】【課題】  外部バスより大きいデータ幅のレジスタを有する内部リソースと外部バスと同一のデータ幅のレジスタを有する内部リソースとを混載した半導体装置における外部アクセスの効率を向上させる。【解決手段】  第１内部リソースは、外部バスよりデータ幅が大きい内部バスと同一のデータ幅であり、外部バスから内部バスを介してアクセス可能である第１レジスタを有する。第２内部リソースは、外部バスと同一のデータ幅であり、外部バスから内部バスを介してアクセス可能である第２レジスタを有する。バスインタフェース回路は、外部バスと内部バスとの間でのデータ送出動作を実施する。バスインタフェース回路は、外部バスと同一のデータ幅であり、外部バスからアクセス可能であるライトバッファおよびリードバッファを備えて構成される。【選択図】    図１
2008046993.tif 000002
【特許請求の範囲】
【請求項１】
外部バスよりデータ幅が大きい内部バスと、
前記内部バスと同一のデータ幅であり、前記外部バスから前記内部バスを介してアクセス可能である第１レジスタを有する第１内部リソースと、
前記外部バスと同一のデータ幅であり、前記外部バスから前記内部バスを介してアクセス可能である第２レジスタを有する第２内部リソースと、
前記外部バスと前記内部バスとの間でのデータ送出動作を実施するバスインタフェース回路とを備え、
前記バスインタフェース回路は、
前記外部バスと同一のデータ幅であり、前記外部バスからアクセス可能であるライトバッファおよびリードバッファを備え、
前記外部バスから前記第１レジスタへのライトアクセスの際に、前記外部バスから前記ライトバッファへのライトアクセスを利用して前記外部バスから前記内部バスへのデータ送出動作を実施し、前記外部バスから前記第１レジスタへのリードアクセスの際に、前記外部バスから前記リードバッファへのリードアクセスを利用して前記内部バスから前記外部バスへのデータ送出動作を実施し、
前記外部バスから前記第２レジスタへのライトアクセスの際に、前記外部バスから前記リードバッファへのリードアクセスを利用することなく前記外部バスから前記内部バスへのデータ送出動作を実施し、前記外部バスから前記第２レジスタへのリードアクセスの際に、前記外部バスから前記リードバッファへのリードアクセスを利用することなく前記内部バスから前記外部バスへのデータ送出動作を実施することを特徴とする半導体装置。
【請求項２】
請求項１記載の半導体装置において、
前記バスインタフェース回路は、
前記外部バスから前記第１レジスタへのライトアクセスの際に、前記外部バスから前記ライトバッファへのライトアクセスにより前記外部バスから供給されるデータを前記ライトバッファに格納した後、次のサイクルで前記外部バスから供給されるデータと前記ライトバッファのデータとを一括して前記第１レジスタのライトデータとして前記内部バスに送出し、
前記外部バスから前記第１レジスタへのリードアクセスの際に、前記内部バスから供給される前記第１レジスタのリードデータの一部を前記外部バスに送出するとともに前記内部バスから供給される前記第１レジスタのリードデータの残りを前記リードバッファに格納した後、次のサイクルで前記外部バスから前記リードバッファへのリードアクセスにより前記リードバッファのデータを前記外部バスに送出することを特徴とする半導体装置。
【請求項３】
請求項１記載の半導体装置において、
前記バスインタフェース回路は、
前記外部バスから前記第２レジスタへのライトアクセスの際に、前記ライトバッファを用いることなく、前記外部バスから供給されるデータを前記第２レジスタのライトデータとして前記内部バスに送出し、
前記外部バスから前記第２レジスタへのリードアクセスの際に、前記リードバッファを用いることなく、前記内部バスから供給される前記第２レジスタのリードデータを前記外部バスに送出することを特徴とする半導体装置。
【請求項４】
請求項１記載の半導体装置において、
前記第１内部リソースは、複数の前記第１レジスタを備え、
前記バスインタフェース回路は、前記外部バスから前記複数の第１レジスタへの同一データでのライトアクセスの際に、最初のサイクルで前記外部バスから前記ライトバッファへのライトアクセスにより外部バスから供給されるデータをライトバッファに格納した後、以降のサイクルで前記外部バスから供給されるデータと前記ライトバッファのデータとを一括してアクセス対象の第１レジスタのライトデータとして前記内部バスに送出することを特徴とする半導体装置。
【請求項５】
請求項１記載の半導体装置において、
前記バスインタフェース回路は、前記ライトバッファおよび前記リードバッファの双方として機能するリードライトバッファを備えることを特徴とする半導体装置。
【請求項６】
外部バスよりデータ幅が大きい内部バスと、前記内部バスと同一のデータ幅であり、前記外部バスから前記内部バスを介してアクセス可能である第１レジスタを有する第１内部リソースと、前記外部バスと同一のデータ幅であり、前記外部バスから前記内部バスを介してアクセス可能である第２レジスタを有する第２内部リソースとを備えた半導体装置において前記外部バスおよび前記内部バス間を接続するバス間接続方法であって、
前記外部バスと前記内部バスとの間に、前記外部バスと同一のデータ幅であり、前記外部バスからアクセス可能であるライトバッファおよびリードバッファを設け、
前記外部バスから前記第１レジスタへのライトアクセスの際に、前記外部バスから前記ライトバッファへのライトアクセスを利用して前記外部バスから前記内部バスへのデータ送出動作を実施し、前記外部バスから前記第１レジスタへのリードアクセスの際に、前記外部バスから前記リードバッファへのリードアクセスを利用して前記内部バスから前記外部バスへのデータ送出動作を実施し、
前記外部バスから前記第２レジスタへのライトアクセスの際に、前記外部バスから前記リードバッファへのリードアクセスを利用することなく前記外部バスから前記内部バスへのデータ送出動作を実施し、前記外部バスから前記第２レジスタへのリードアクセスの際に、前記外部バスから前記リードバッファへのリードアクセスを利用することなく前記内部バスから前記外部バスへのデータ送出動作を実施することを特徴とするバス間接続方法。
【請求項７】
請求項６記載のバス間接続方法において、
前記外部バスから前記第１レジスタへのライトアクセスの際に、前記外部バスから前記ライトバッファへのライトアクセスにより前記外部バスから供給されるデータを前記ライトバッファに格納した後、次のサイクルで前記外部バスから供給されるデータと前記ライトバッファのデータとを一括して前記第１レジスタのライトデータとして前記内部バスに送出し、
前記外部バスから前記第１レジスタへのリードアクセスの際に、前記内部バスから供給される前記第１レジスタのリードデータの一部を前記外部バスに送出するとともに前記内部バスから供給される前記第１レジスタのリードデータの残りを前記リードバッファに格納した後、次のサイクルで前記外部バスから前記リードバッファへのリードアクセスにより前記リードバッファのデータを前記外部バスに送出することを特徴とするバス間接続方法。
【請求項８】
請求項６記載のバス間接続方法において、
前記外部バスから前記第２レジスタへのライトアクセスの際に、前記ライトバッファを用いることなく、前記外部バスから供給されるデータを前記第２レジスタのライトデータとして前記内部バスに送出し、
前記外部バスから前記第２レジスタへのリードアクセスの際に、前記リードバッファを用いることなく、前記内部バスから供給される前記第２レジスタのリードデータを前記外部バスに送出することを特徴とするバス間接続方法。
【請求項９】
請求項６記載のバス間接続方法において、
前記第１内部リソースが複数の前記第１レジスタを備えて構成される場合、前記外部バスから前記複数の第１レジスタへの同一データでのライトアクセスの際に、最初のサイクルで前記外部バスから前記ライトバッファへのライトアクセスにより外部バスから供給されるデータをライトバッファに格納した後、以降のサイクルで前記外部バスから供給されるデータと前記ライトバッファのデータとを一括してアクセス対象の第１レジスタのライトデータとして前記内部バスに送出することを特徴とするバス間接続方法。
【請求項１０】
請求項６記載のバス間接続方法において、
前記外部バスと前記内部バスとの間に、前記ライトバッファおよび前記リードバッファの双方として機能するリードライトバッファを設けることを特徴とするバス間接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部バスより大きいデータ幅（ビット数）のレジスタを有する内部リソースおよび外部バスと同一のデータ幅のレジスタを有する内部リソースを混載した半導体装置、およびその半導体装置において外部バスと内部バスとの間を接続するバス間接続方法に関する。
【背景技術】
【０００２】
半導体装置においては、外部バスのデータ幅と内部バスのデータ幅とが異なる場合がある。例えば、外部バスのデータ幅が１６ビットであり、且つ内部バスのデータ幅が３２ビットである場合、内部バスに接続される内部リソースによっては、レジスタの全ビット（３２ビット）を一括してアクセスする仕様のものがある。このような場合に対応するための技術は、特許文献１などに開示されている。
【０００３】
図７は、従来の半導体装置を示している。図８は、半導体装置における内部リソースのレジスタマッピングを示している。従来の半導体装置ＤＥＶは、内部リソースＲＳＣ１、ＲＳＣ２、内部バスＢＵＳＩ（３２ビット）およびバスインタフェース回路ＢＩＦを備えて構成されている。内部リソースＲＳＣ１は、複数のレジスタ（３２ビット）を備えて構成されている。内部リソースＲＳＣ１のレジスタは、図８（ａ）に示すようなレジスタマッピングでアドレスが割り当てられている。内部リソースＲＳＣ２は、複数のレジスタ（１６ビット）を備えて構成されている。内部リソースＲＳＣ２のレジスタは、図８（ｂ）に示すようなレジスタマッピングでアドレスが割り当てられている。
【０００４】
内部バスＢＵＳＩは、バスインタフェース回路ＢＩＦ（制御部ＣＵ）から供給される内部アドレス信号ＡＤＩ、内部リード信号／ＲＤＩおよび内部ライト信号／ＷＲＩに基づいて、内部レディ信号／ＲＤＹＩを活性化／非活性化させるとともに、内部リソースＲＳＣ１、ＲＳＣ２におけるアクセス対象のレジスタに内部データ信号ＤＩ［３１：０］を用いてライトアクセス／リードアクセスする。
【０００５】
バスインタフェース回路ＢＩＦは、制御部ＣＵおよびバッファ部ＢＵを備えて構成される。制御部ＣＵは、外部バスＢＵＳＥ（１６ビット）から供給される外部アドレス信号ＡＤＥ、外部リード信号／ＲＤＥおよび外部ライト信号／ＷＲＥに基づいて、外部レディ信号／ＲＤＹＥ、内部ドレス信号ＡＤＩ、内部リード信号／ＲＤＩ、内部ライト信号／ＷＲＩおよびバッファ部ＢＵの制御信号（バッファライト信号ＷＲＢＲ、ＷＲＢＷおよび選択信号／ＳＥＬＲ、／ＳＥＬＷを含む）を活性化／非活性化させる。
【０００６】
バッファ部ＢＵは、リードバッファＢＵＦＲ（１６ビット）、ゲート回路ＧＲ、ライトバッファＢＵＦＷ（１６ビット）およびゲート回路ＧＷを備えて構成されている。リードバッファＢＵＦＲは、制御部ＣＵから供給されるバッファライト信号ＷＲＢＲの活性化に応答して内部バスＢＵＳＩから供給される内部データ信号ＤＩ［３１：１６］を取り込み、取り込んだ信号をゲート回路ＧＲに出力する。ゲート回路ＧＲは、制御部ＣＵから供給される選択信号／ＳＥＬＲの活性中にリードバッファＢＵＦＲの出力信号を外部データ信号ＤＥ［１５：０］として出力する。
【０００７】
ライトバッファＢＵＦＷは、制御部ＣＵから供給されるバッファライト信号ＷＲＢＷの活性化に応答して外部バスＢＵＳＥから供給される外部データ信号ＤＥ［１５：０］を取り込み、取り込んだ信号をゲート回路ＧＷに出力する。ゲート回路ＧＷは、制御部ＣＵから供給される選択信号／ＳＥＬＷの活性中にライトバッファＢＵＦＲの出力信号を内部データ信号ＤＩ［３１：１６］として出力する。
【０００８】
図９は、従来の半導体装置における外部ライトアクセス時の動作を示している。図１０は、従来の半導体装置における外部ライトアクセス時のデータフローを示している。なお、図９に示す動作は、外部バスＢＵＳＥから内部リソースＲＳＣ１におけるアドレスＡが割り当てられたレジスタへのライトアクセス時の動作である。また、図１０において、（Ｃ１）を付した太線矢印は図９のサイクルＣ１におけるデータフローを示し、（Ｃ２）を付した太線矢印は図９のサイクルＣ２におけるデータフローを示している。
【０００９】
サイクルＣ１において、外部バスＢＵＳＥは、外部アドレス信号ＡＤＥをアドレスＡに設定するとともに外部データ信号ＤＥ［１５：０］をデータＤ（Ａ）に設定し、外部ライト信号／ＷＲＥを低レベルに活性化させる。これ伴って、制御部ＣＵは、外部レディ信号／ＲＤＹＥを高レベルに非活性化させるとともに、バッファ部ＢＵ（ライトバッファＢＵＦＷ）へのバッファライト信号ＷＲＢＷを高レベルに活性化させる。これにより、ライトバッファＢＵＦＷは、データＤ（Ａ）に設定された外部データ信号ＤＥ［１５：０］を取り込む（図１０（Ｃ１））。そして、外部バスＢＵＳＥは、外部ライト信号／ＷＲＥを高レベルに非活性化させ、その後、制御部ＣＵは、外部レディ信号／ＲＤＹＥを低レベルに活性化させる。
【００１０】
サイクルＣ２において、外部バスＢＵＳＥは、外部データ信号ＤＥ［１５：０］をデータＤ（Ａ＋２）に設定し、外部ライト信号／ＷＲＥを低レベルに活性化させる。これに伴って、制御部ＣＵは、内部アドレス信号ＡＤＩをアドレスＡに設定するとともに内部ライト信号／ＷＲＩを低レベルに活性化させ、バッファ部ＢＵ（ゲート回路ＧＷ）への選択信号／ＳＥＬＷを低レベルに活性化させる。これにより、ゲート回路ＧＷは、データＤ（Ａ）に設定されたライトバッファＢＵＦＷの出力信号を内部データ信号ＤＩ［３１：１６］として出力する（図１０（Ｃ２））。これと同時に、バッファ部ＢＵは、データＤ（Ａ＋２）に設定された外部データ信号ＤＥ［１５：０］を内部データ信号ＤＩ［１５：０］として出力する（図１０（Ｃ２））。これにより、内部バスＢＵＳＩは、内部リソースＲＳＣ１におけるアドレスＡが割り当てられたレジスタにデータＤ（Ａ）、Ｄ（Ａ＋２）をライトする。これに合わせて、内部バスＢＵＳＩは、内部レディ信号／ＲＤＹＩを高レベルに非活性化させる。これに伴って、制御部ＣＵは、外部レディ信号／ＲＤＹＥを高レベルに非活性化させ、その後、内部ライト信号／ＷＲＩを高レベルに非活性化させる。また、外部バスＢＵＳＥは、外部レディ信号／ＲＤＹＥが非活性化された後に、外部ライト信号／ＷＲＥを高レベルに非活性化させる。この後、制御部ＣＵは、外部レディ信号／ＲＤＹＥを低レベルに活性化させる。
【００１１】
図１１は、従来の半導体装置における外部リードアクセス時の動作を示している。図１２は、従来の半導体装置における外部リードアクセス時のデータフローを示している。なお、図１１に示す動作は、外部バスＢＵＳＥから内部リソースＲＳＣ１におけるアドレスＡが割り当てられたレジスタへのリードアクセス時の動作である。また、図１２において、（Ｃ１）を付した太線矢印は図１１のサイクルＣ１におけるデータフローを示し、（Ｃ２）を付した太線矢印は図１１のサイクルＣ２におけるデータフローを示している。
【００１２】
サイクルＣ１において、外部バスＢＵＳＥは、外部アドレス信号ＡＤＥをアドレスＡに設定し、外部リード信号／ＲＤＥを低レベルに活性化させる。これにより、制御部ＣＵは、内部アドレス信号ＡＤＩをアドレスＡに設定するとともに、内部リード信号／ＲＤＩを低レベルに活性化させる。これに伴って、内部バスＢＵＳＩは、内部レディ信号／ＲＤＹＩを高レベルに非活性化させた後に、内部リソースＲＳＣ１におけるアドレスＡが割り当てられたレジスタからデータＤ（Ａ）、Ｄ（Ａ＋２）をリードし、内部データ信号ＤＩ［３１：１６］、ＤＩ［１５：０］をデータＤ（Ａ）、Ｄ（Ａ＋２）に設定する。この後、制御部ＣＵは、外部レディ信号／ＲＤＹＥを高レベルに非活性化させるとともに、バッファ部ＢＵ（リードバッファＢＵＦＲ）へのバッファライト信号ＷＲＢＲを高レベルに活性化させる。これに伴って、リードバッファＢＵＦＲは、データＤ（Ａ）に設定された内部データ信号ＤＩ［３１：１６］を取り込む（図１２（Ｃ１））。これと同時に、バッファ部ＢＵは、データＤ（Ａ＋２）に設定された内部データ信号ＤＩ［１５：０］を外部データ信号ＤＥ［１５：０］として出力する（図１２（Ｃ１））。そして、制御部ＣＵは、内部リード信号／ＲＤＩを高レベルに非活性化させ、その後、内部バスＢＵＳＩは、内部レディ信号／ＲＤＹＩを低レベルに活性化させる。また、外部バスＢＵＳＥは、外部レディ信号／ＲＤＹＥが非活性化された後に、外部リード信号／ＲＤＥを高レベルに非活性化させる。この後、制御部ＣＵは、外部レディ信号／ＲＤＹＥを低レベルに活性化させる。
【００１３】
サイクルＣ２において、外部バスＢＵＳＥは、外部リード信号／ＲＤＥを低レベルに活性化させる。これに伴って、制御部ＣＵは、外部レディ信号／ＲＤＹＥを高レベルに非活性化させるとともに、バッファ部ＢＵ（ゲート回路ＧＲ）への選択信号／ＳＥＬＲを低レベルに活性化させる。これにより、ゲート回路ＧＲは、データＤ（Ａ）に設定されたリードバッファＢＵＦＲの出力信号を外部データ信号ＤＥ［１５：０］として出力する（図１２（Ｃ２））。そして、外部バスＢＵＳＥは、外部レディ信号／ＲＤＹＥが非活性化された後に、外部リード信号／ＲＤＥを高レベルに非活性化させる。この後、制御部ＣＵは、外部レディ信号／ＲＤＹＥを低レベルに活性化させる。
【特許文献１】特開２０００−１３２５０１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
内部リソースＲＳＣ２におけるレジスタのデータ幅は１６ビットであるため、本来、外部バスＢＵＳＥから内部リソースＲＳＣ２のレジスタへのアクセスは、リードバッファＢＵＦＲやライトバッファＢＵＦＷを用いることなく、１サイクルで完了できる。しかしながら、図７の半導体装置ＤＥＶでは、外部バスＢＵＳＥから内部リソースＲＳＣ２のレジスタへのアクセスを完了するのに必ず２サイクル必要であり、１サイクル分の不要なサイクルが発生してしまう。
【００１５】
また、外部バスＢＵＳＥから内部リソースＲＳＣ１におけるレジスタの全てに同一データ（例えば、全ビットが“０”であるデータ）をライトする場合、アクセス対象のレジスタが変わる度にライトバッファＢＵＦＷにデータを格納するためのサイクルが発生し、外部アクセスの効率が非常に悪い。
本発明は、前述のような問題点に鑑みてなされたものであり、外部バスより大きいデータ幅のレジスタを有する内部リソースと外部バスと同一のデータ幅のレジスタを有する内部リソースとを混載した半導体装置における外部アクセスの効率を向上させることを目的とする。
【課題を解決するための手段】
【００１６】
本発明の一形態では、半導体装置は、内部バス、第１内部リソース、第２内部リソースおよびバスインタフェース回路を備えて構成される。内部バスは、外部バスよりデータ幅が大きい。第１内部リソースは、内部バスと同一のデータ幅であり、外部バスから内部バスを介してアクセス可能である第１レジスタを有する。第２内部リソースは、外部バスと同一のデータ幅であり、外部バスから内部バスを介してアクセス可能である第２レジスタを有する。バスインタフェース回路は、外部バスと内部バスとの間でのデータ送出動作を実施する（外部バスおよび内部バス間を接続する）。バスインタフェース回路は、外部バスと同一のデータ幅であり、外部バスからアクセス可能であるライトバッファおよびリードバッファを備えて構成される。
【００１７】
バスインタフェース回路は、外部バスから第１レジスタへのライトアクセスの際に、外部バスからライトバッファへのライトアクセスを利用して外部バスから内部バスへのデータ送出動作を実施し、外部バスから第１レジスタへのリードアクセスの際に、外部バスからリードバッファへのリードアクセスを利用して内部バスから外部バスへのデータ送出動作を実施する。バスインタフェース回路は、外部バスから第２レジスタへのライトアクセスの際に、外部バスからリードバッファへのリードアクセスを利用することなく外部バスから内部バスへのデータ送出動作を実施し、外部バスから第２レジスタへのリードアクセスの際に、外部バスからリードバッファへのリードアクセスを利用することなく内部バスから外部バスへのデータ送出動作を実施する。
【００１８】
具体的には、バスインタフェース回路は、外部バスから第１レジスタへのライトアクセスの際に、外部バスからライトバッファへのライトアクセスにより外部バスから供給されるデータをライトバッファに格納した後、次のサイクルで外部バスから供給されるデータとライトバッファのデータとを一括して第１レジスタのライトデータとして内部バスに送出する。バスインタフェース回路は、外部バスから第１レジスタへのリードアクセスの際に、内部バスから供給される第１レジスタのリードデータの一部を外部バスに送出するとともに内部バスから供給される第１レジスタのリードデータの残りをリードバッファに格納した後、次のサイクルで外部バスからリードバッファへのリードアクセスによりリードバッファのデータを外部バスに送出する。バスインタフェース回路は、外部バスから第２レジスタへのライトアクセスの際に、ライトバッファを用いることなく、外部バスから供給されるデータを第２レジスタのライトデータとして内部バスに送出する。バスインタフェース回路は、外部バスから第２レジスタへのリードアクセスの際に、リードバッファを用いることなく、内部バスから供給される第２レジスタのリードデータを外部バスに送出する。
【００１９】
また、第１内部リソースが複数の第１レジスタを備えて構成される場合、バスインタフェース回路は、外部バスから複数の第１レジスタへの同一データでのライトアクセスの際に、最初のサイクルで外部バスからライトバッファへのライトアクセスにより外部バスから供給されるデータをライトバッファに格納した後、以降のサイクルで外部バスから供給されるデータとライトバッファのデータとを一括してアクセス対象の第１レジスタのライトデータとして内部バスに送出する。好ましくは、バスインタフェース回路は、ライトバッファおよびリードバッファの双方として機能するリードライトバッファを備えて構成される。
【００２０】
以上のような半導体装置では、バスインタフェース回路におけるライトバッファおよびリードバッファが外部バスからアクセス可能であり、外部バスから第１レジスタへのライトアクセス（リードアクセス）の際にのみ、外部バスからライトバッファ（リードバッファ）へのライトアクセス（リードアクセス）を利用するため、外部バスから第２レジスタへのライトアクセス（リードアクセス）を１サイクルで完了させることができる。また、第１内部リソースが複数の第１レジスタを備えて構成される場合、外部バスから複数の第１レジスタへの同一データでのライトアクセスの際に、最初のサイクルでのみライトバッファにデータが格納されるため、外部バスから複数の第１レジスタへの同一データでのライトアクセスを少ないサイクル数で完了させることができる。このように、外部アクセスを最小限のサイクル数で完了させることができ、外部アクセスの効率の向上に大きく寄与する。
【発明の効果】
【００２１】
本発明によれば、外部バスより大きいデータ幅のレジスタを有する内部リソースおよび外部バスと同一のデータ幅のレジスタを有する内部リソースを混載した半導体装置における外部アクセスの効率を向上させることできる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を用いて本発明の実施形態を説明する。図１は、本発明の第１実施形態を示している。以下、図１について説明するが、図７で説明した要素と同一の要素については、図７で使用した符号と同一の符号を使用し、詳細な説明を省略する。図１の半導体装置ＤＥＶａは、図７の半導体装置ＤＥＶについてバスインタフェース回路ＢＩＦをバスインタフェース回路ＢＩＦａに置き換えて構成されている。
【００２３】
バスインタフェース回路ＢＩＦａは、制御部ＣＵａおよびバッファ部ＢＵを備えて構成されている。なお、半導体装置ＤＥＶａでは、バッファ部ＢＵのライトバッファＢＵＦＷは、アドレスＰが割り当てられており、外部バスＢＵＳＥからアクセス可能である。また、バッファ部ＢＵのリードバッファＢＵＦＲは、アドレスＱが割り当てられており、外部バスＢＵＳＥからアクセス可能である。制御部ＣＵａは、制御部ＣＵと基本的には同一である。制御部ＣＵａと制御部ＣＵとの相違点については、図２〜図５の説明により明らかになる。
【００２４】
図２は、図１の半導体装置における外部ライトアクセス時の動作を示している。図３は、図１の半導体装置における外部ライトアクセス時のデータフローを示している。なお、図２に示す動作は、外部バスＢＵＳＥから内部リソースＲＳＣ１におけるアドレスＡが割り当てられたレジスタへのライトアクセス時の動作（サイクルＣ１、Ｃ２）および外部バスＢＵＳＥから内部リソースＲＳＣ２におけるアドレスＭが割り当てられたレジスタへのライトアクセス時の動作（サイクルＣ３）である。また、図３において、（Ｃ１）を付した太線矢印は図２のサイクルＣ１におけるデータフローを示し、（Ｃ２）を付した太線矢印は図２のサイクルＣ２におけるデータフローを示し、（Ｃ３）を付した太線矢印は図２のサイクルＣ３におけるデータフローを示している。
【００２５】
サイクルＣ１において、外部バスＢＵＳＥは、外部アドレス信号ＡＤＥをアドレスＰに設定するとともに外部データ信号ＤＥ［１５：０］をデータＤ（Ａ）に設定し、外部ライト信号／ＷＲＥを低レベルに活性化させる。これに伴って、制御部ＣＵａは、外部レディ信号／ＲＤＹＥを高レベルに非活性化させるとともに、バッファ部ＢＵ（ライトバッファＢＵＦＷ）へのバッファライト信号ＷＲＢＷを高レベルに活性化させる。これにより、ライトバッファＢＵＦＷは、データＤ（Ａ）に設定された外部データＤＥ［１５：０］を取り込む（図３（Ｃ１））。そして、外部バスＢＵＳＥは、外部ライト信号／ＷＲＥを高レベルに非活性化させ、その後、制御部ＣＵａは、外部レディ信号／ＲＤＹＥを低レベルに活性化させる。
【００２６】
サイクルＣ２において、外部バスＢＵＳＥは、外部アドレス信号ＡＤＥをアドレスＡ＋２に設定するとともに外部データ信号ＤＥ［１５：０］をデータＤ（Ａ＋２）に設定し、外部ライト信号／ＷＲＥを低レベルに活性化させる。これに伴って、制御部ＣＵａは、内部アドレス信号ＡＤＩをアドレスＡ＋２に設定するとともに内部ライト信号／ＷＲＩを低レベルに活性化させ、バッファ部ＢＵ（ゲート回路ＧＷ）への選択信号／ＳＥＬＷを低レベルに活性化させる。これにより、ゲート回路ＧＷは、データＤ（Ａ）に設定されたライトバッファＢＵＦＷの出力信号を内部データ信号ＤＩ［３１：１６］として出力する（図３（Ｃ２））。これと同時に、バッファ部ＢＵは、データＤ（Ａ＋２）に設定された外部データ信号ＤＥ［１５：０］を内部データ信号ＤＩ［１５：０］として出力する（図３（Ｃ２））。これにより、内部バスＢＵＳＩは、内部リソースＲＳＣ１におけるアドレスＡが割り当てられたレジスタにデータＤ（Ａ）、Ｄ（Ａ＋２）をライトする。これに合わせて、内部バスＢＵＳＩは、内部レディ信号／ＲＤＹＩを高レベルに非活性化させる。これに伴って、制御部ＣＵａは、外部レディ信号／ＲＤＹＥを高レベルに非活性化させ、その後、内部ライト信号／ＷＲＩを高レベルに非活性化させる。また、外部バスＢＵＳＥは、外部レディ信号／ＲＤＹＥが非活性化された後に、外部ライト信号／ＷＲＥを高レベルに非活性化させる。この後、制御部ＣＵａは、外部レディ信号／ＲＤＹＥを低レベルに活性化させる。
【００２７】
サイクルＣ３において、外部バスＢＵＳＥは、外部アドレス信号ＡＤＥをアドレスＭ＋２に設定するとともに外部データ信号ＤＥ［１５：０］をデータＤ（Ｍ＋２）に設定し、外部ライト信号／ＷＲＥを低レベルに活性化させる。これに伴って、制御部ＣＵａは、内部アドレス信号ＡＤＩをアドレスＭ＋２に設定するとともに内部ライト信号／ＷＲＩを低レベルに活性化させる。これと同時に、バッファ部ＢＵは、データＤ（Ｍ＋２）に設定された外部データ信号ＤＥ［１５：０］を内部データ信号ＤＩ［１５：０］として出力する（図３（Ｃ３））。これにより、内部バスＢＵＳＩは、内部リソースＲＳＣ２におけるアドレスＭが割り当てられたレジスタにデータＤ（Ｍ＋２）をライトする。これに合わせて、内部バスＢＵＳＩは、内部レディ信号／ＲＤＹＩを高レベルに非活性化させる。これに伴って、制御部ＣＵａは、外部レディ信号／ＲＤＹＥを高レベルに非活性化させ、その後、内部ライト信号／ＷＲＩを高レベルに非活性化させる。また、外部バスＢＵＳＥは、外部レディ信号／ＲＤＹＥが非活性化された後に、外部ライト信号／ＷＲＥを高レベルに非活性化させる。この後、制御部ＣＵａは、外部レディ信号／ＲＤＹＥを低レベルに活性化させる。
【００２８】
図４は、図１の半導体装置における外部リードアクセス時の動作を示している。図５は、図１の半導体装置における外部リードアクセス時のデータフローを示している。なお、図４に示す動作は、外部バスＢＵＳＥから内部リソースＲＳＣ１におけるアドレスＡが割り当てられたレジスタへのリードアクセス時の動作（サイクルＣ１、Ｃ２）および外部バスＢＵＳＥから内部リソースＲＳＣ２におけるアドレスＭが割り当てられたレジスタへのリードアクセス時の動作（サイクルＣ３）である。また、図５において、（Ｃ１）を付した太線矢印は図４のサイクルＣ１におけるデータフローを示し、（Ｃ２）を付した太線矢印は図４のサイクルＣ２におけるデータフローを示し、（Ｃ３）を付した太線矢印は図４のサイクルＣ３におけるデータフローを示している。
【００２９】
サイクルＣ１において、外部バスＢＵＳＥは、外部アドレス信号ＡＤＥをアドレスＡに設定し、外部リード信号／ＲＤＥを低レベルに活性化させる。これにより、制御部ＣＵａは、内部アドレス信号ＡＤＩをアドレスＡに設定するとともに内部リード信号／ＲＤＩを低レベルに活性化させる。これに伴って、内部バスＢＵＳＩは、内部レディ信号／ＲＤＹＩを高レベルに非活性化させた後に、内部リソースＲＳＣ１におけるアドレスＡが割り当てられたレジスタからデータＤ（Ａ）、Ｄ（Ａ＋２）をリードし、内部データ信号ＤＩ［３１：１６］、ＤＩ［１５：０］をデータＤ（Ａ）、Ｄ（Ａ＋２）に設定する。この後、制御部ＣＵａは、外部レディ信号／ＲＤＹＥを高レベルに非活性化させるとともに、バッファ部ＢＵ（リードバッファＢＵＦＲ）へのバッファライト信号ＷＲＢＲを高レベルに活性化させる。これに伴って、リードバッファＢＵＦＲは、データＤ（Ａ）に設定された内部データＤＩ［３１：１６］を取り込む（図５（Ｃ１））。これと同時に、バッファ部ＢＵは、データＤ（Ａ＋２）に設定された内部データ信号ＤＩ［１５：０］を外部データ信号ＤＥ［１５：０］として出力する（図５（Ｃ１））。そして、制御部ＣＵａは、内部リード信号／ＲＤＩを高レベルに非活性化させ、その後、内部バスＢＵＳＩは、内部レディ信号／ＲＤＹＩを低レベルに活性化させる。また、外部バスＢＵＳＥは、外部レディ信号／ＲＤＹＥが非活性化された後に、外部リード信号／ＲＤＥを高レベルに非活性化させる。この後、制御部ＣＵａは、外部レディ信号／ＲＤＹＥを低レベルに活性化させる。
【００３０】
サイクルＣ２において、外部バスＢＵＳＥは、外部アドレス信号ＡＤＥをアドレスＱに設定し、外部リード信号／ＲＤＥを低レベルに活性化させる。これにより、制御部ＣＵａは、外部レディ信号／ＲＤＹＥを高レベルに非活性化させるとともに、バッファ部ＢＵ（ゲート回路ＧＲ）への選択信号／ＳＥＬＲを低レベルに活性化させる。これに伴って、ゲート回路ＧＲは、データＤ（Ａ）に設定されたリードバッファＢＵＦＲの出力信号を外部データ信号ＤＥ［１５：０］として出力する（図５（Ｃ２））。そして、外部バスＢＵＳＥは、外部レディ信号／ＲＤＹＥが非活性化された後に、外部リード信号／ＲＤＥを高レベルに非活性化させる。この後、制御部ＣＵａは、外部レディ信号／ＲＤＹＥを低レベルに活性化させる。
【００３１】
サイクルＣ３において、外部バスＢＵＳＥは、外部アドレス信号ＡＤＥをアドレスＭ＋２に設定し、外部リード信号／ＲＤＥを低レベルに活性化させる。これにより、制御部ＣＵａは、内部アドレス信号ＡＤＩをアドレスＭ＋２に設定するとともに内部リード信号／ＲＤＩを低レベルに活性化させる。これに伴って、内部バスＢＵＳＩは、内部レディ信号／ＲＤＹＩを高レベルに非活性化させた後に、内部リソースＲＳＣ２におけるアドレスＭが割り当てられたレジスタからデータＤ（Ｍ＋２）をリードし、内部データ信号ＤＩ［１５：０］をデータＤ（Ｍ＋２）に設定する。この後、制御部ＣＵａは、外部レディ信号／ＲＤＹＥを高レベルに非活性化させる。これと同時に、バッファ部ＢＵは、データＤ（Ｍ＋２）に設定された内部データ信号ＤＩ［１５：０］を外部データ信号ＤＥ［１５：０］として出力する（図５（Ｃ３））。そして、制御部ＣＵａは、内部リード信号／ＲＤＩを高レベルに非活性化させ、その後、内部バスＢＵＳＩは、内部レディ信号／ＲＤＹＩを低レベルに活性化させる。また、外部バスＢＵＳＥは、外部レディ信号／ＲＤＹＥが非活性化された後に、外部リード信号／ＲＤＥを高レベルに非活性化させる。この後、制御部ＣＵａは、外部レディ信号／ＲＤＹＥを低レベルに活性化させる。
【００３２】
以上のような第１実施形態では、バスインタフェース回路ＢＩＦａにおけるライトバッファＢＵＦＷおよびリードバッファＢＵＦＲが外部バスＢＵＳＥからアクセス可能であり、外部バスＢＵＳＥから内部リソースＲＳＣ１のレジスタへのライトアクセス（リードアクセス）の際にのみ、外部バスＢＵＳＥからライトバッファＢＵＦＷ（リードバッファＢＵＦＲ）へのライトアクセス（リードアクセス）を利用するため、外部バスＢＵＳＥから内部リソースＲＳＣ２のレジスタへのライトアクセス（リードアクセス）を１サイクルで完了させることができる。また、内部リソースＲＳＣ１の複数のレジスタに同一データをライトする際に、最初のサイクルでのみライトバッファＢＵＦＷにデータをライトすればよいため、外部バスＢＵＳＥから内部リソースＲＳＣ１の複数のレジスタへの同一データでのライトアクセスを少ないサイクル数で完了させることができる。このように、外部アクセスを最小限のサイクル数で完了させることができ、外部アクセスの効率の向上に大きく寄与できる。
【００３３】
図６は、本発明の第２実施形態を示している。以下、図６について説明するが、図１および図７で説明した要素と同一の要素については、図１および図７で使用した符号と同一の符号を使用し、詳細な説明を省略する。図６の半導体装置ＤＥＶｂは、図１の半導体装置ＤＥＶａについてバスインタフェース回路ＢＩＦａをバスインタフェース回路ＢＩＦｂに置き換えて構成されている。バスインタフェース回路ＢＵＦｂは、制御部ＣＵａおよびバッファ部ＢＵａを備えて構成されている。バッファ部ＢＵａは、バッファ部ＢＵについてライトバッファＢＵＦＷおよびリードバッファＢＵＦＲをリードライトバッファＢＵＦＲＷに置き換えて構成されている。リードライトバッファＢＵＦＲＷは、ライトバッファＢＵＦＷおよびリードバッファＢＵＦＲの双方として機能する。外部バスＢＵＳＥによるライトアクセスとリードアクセスとが競合することはないため、ライトバッファＢＵＦＷおよびリードバッファＢＵＦＲに代えてリードライトバッファＢＵＦＲＷを設けても、外部アクセスの正常性が失われることはない。
【００３４】
以上のような第２実施形態でも、第１実施形態と同様の効果が得られる。また、第２実施形態では、リードライトバッファＢＵＦＲＷでライトバッファＢＵＦＷおよびリードバッファＢＵＦＲの双方の機能を実現しているため、バスインタフェース回路ＢＩＦａに比べてバスインタフェース回路ＢＩＦｂの回路規模を低減でき、半導体装置ＤＥＶｂの小規模化に寄与できる。
【００３５】
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれらに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【図面の簡単な説明】
【００３６】
【図１】本発明の第１実施形態を示すブロック図である。
【図２】図１の半導体装置における外部ライトアクセス時の動作を示すタイミング図である。
【図３】図１の半導体装置における外部ライトアクセス時のデータフローを示す説明図である。
【図４】図１の半導体装置における外部リードアクセス時の動作を示すタイミング図である。
【図５】図１の半導体装置における外部ライトアクセス時のデータフローを示す説明図である。
【図６】本発明の第２実施形態を示すブロック図である。
【図７】従来の半導体装置を示すブロック図である。
【図８】半導体装置における内部リソースのレジスタマッピングを示す説明図である。
【図９】従来の半導体装置における外部ライトアクセス時の動作を示すタイミング図である。
【図１０】従来の半導体装置における外部ライトアクセス時のデータフローを示す説明図である。
【図１１】従来の半導体装置における外部リードアクセス時の動作を示すタイミング図である。
【図１２】従来の半導体装置における外部リードアクセス時のデータフローを示す説明図である。
【符号の説明】
【００３７】
ＢＩＦａ、ＢＩＦｂ‥バスインタフェース回路；ＢＵ、ＢＵａ‥バッファ部；ＢＵＦＲ‥リードバッファ；ＢＵＦＲＷ‥リードライトバッファ；ＢＵＦＷ‥ライトバッファ；ＢＵＳＥ‥外部バス；ＢＵＳＩ‥内部バス；ＣＵａ‥制御部；ＤＥＶａ、ＤＥＶｂ‥半導体装置；ＧＲ、ＧＷ‥ゲート回路；ＲＳＣ１、ＲＳＣ２‥内部リソース
【図１】
2008046993.tif 000003
【図２】
2008046993.tif 000004
【図３】
2008046993.tif 000005
【図４】
2008046993.tif 000006
【図５】
2008046993.tif 000007
【図６】
2008046993.tif 000008
【図７】
2008046993.tif 000009
【図８】
2008046993.tif 000010
【図９】
2008046993.tif 000011
【図１０】
2008046993.tif 000012
【図１１】
2008046993.tif 000013
【図１２】
2008046993.tif 000014