(57)【特許請求の範囲】
【請求項１】
内部クロック信号に同期して動作するＣＰＵと、
前記内部クロック信号を所定の遅延時間だけ遅延させ、遅延クロック信号として出力する遅延回路を、接続可能なように外部に露出した端子と、
前記ＣＰＵと外部装置との間で伝送されるデータ信号を、前記端子を通じて供給される前記遅延クロック信号にもとづいて、前記遅延時間だけ遅延して中継するデータ伝送制御回路と、を備え、
前記データ伝送制御回路が、データ保持回路と、トライステートバッファと、バッファ制御回路と、を備え、
前記データ保持回路は、前記データ伝送制御回路へ入力された前記データ信号を、前記遅延クロック信号に同期して保持し、
前記バッファ制御回路は、前記内部クロック信号に同期して前記ＣＰＵから送られ前記データ信号の伝送の開始と終了とを通知する制御信号と、前記遅延クロック信号とにもとづいて、前記データ信号が入力される期間よりも前記遅延時間だけ遅延した期間にわたって、アクティブの制御信号を出力し、
前記トライステートバッファは、前記データ保持回路が保持する前記データ信号を、前記バッファ制御回路が出力する前記制御信号がアクティブであるときに限って、前記データ伝送制御回路の外へ出力する、
半導体装置。
【請求項２】
前記データ伝送制御回路が、前記バッファ制御回路と前記トライステートバッファとの間に介挿される選択回路を、さらに備え、
前記選択回路は、選択信号にもとづいて、前記バッファ制御回路が出力する制御信号と、前記ＣＰＵが前記データ信号の伝送を前記外部装置へ通知する制御信号とのいずれかを選択して、前記トライステートバッファへ伝える請求項１に記載の半導体装置。
【請求項３】
前記ＣＰＵと別の外部装置との間での別のデータ信号の伝送を中継するトライステートバッファを、さらに備え、
当該トライステートバッファは、前記ＣＰＵが前記別のデータ信号の伝送を前記別の外部装置へ通知する制御信号がアクティブであるときに限って、前記別のデータ信号を通過させる請求項１に記載の半導体装置。
【請求項４】
前記遅延回路を、さらに備え、
当該遅延回路は、前記端子に接続されており、前記遅延時間が、前記内部クロック信号の１周期よりも短く設定されている請求項１ないし請求項３のうち、いずれか１項に記載の半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、中央演算装置（ＣＰＵ）を備える半導体装置に関し、特に、データ信号のホールドタイムを確保するための改良に関する。
【０００２】
【従来の技術】
図１９は、この発明の背景となる従来の半導体装置の構成を示すブロック図である。この従来装置１５０は、ＣＰＵ９１を備えたマイクロプロセッサ（ＭＰＵ）、あるいは、ＣＰＵ９１に加えて図１９には描かれない周辺回路をも備えたマイクロコンピュータ（ＭＣＵ）として構成されている。
【０００３】
装置１５０には、ＣＰＵ９１の他に、トライステートバッファ９２が備わっている。ＣＰＵ９１が出力するデータ信号ＤＩは、トライステートバッファ９２へ入力される。トライステートバッファ９２は、ＣＰＵ９１が出力する制御信号WR*（以下において、記号「*」は、信号がロウアクティブであることを表す）がアクティブであるときには、データ信号DIを通過させ、データ信号DEとして出力する。トライステートバッファ９２は、制御信号WR*がノーマルであるときには、データ信号DIとは無関係に、出力をハイインピーダンス状態にする。
【０００４】
このように、トライステートバッファ９２は、ＣＰＵ９１からの制御信号WR*にもとづいて、装置１５０から、例えばメモリ装置などの外部装置へ伝送されるデータ信号DEの出力の時期を調整する。
【０００５】
【発明が解決しようとする課題】
ところで、ＣＰＵ９１はクロック信号CLKに同期して動作するので、制御信号WR*も、クロック信号CLKに同期して、アクティブとノーマルの間を遷移する。したがって、データ信号DEは、装置１５０から、例えばメモリ装置などの外部装置へと、クロック信号CLKに同期して出力される。図２０は、この動作を例示するタイミングチャートである。
【０００６】
時刻Ｔ１〜Ｔ４は、クロック信号CLKが立ち上がる時刻を示している。時刻Ｔ１〜Ｔ３にわたるクロック信号CLKの２周期分の期間に、値”Ｚ”を有するデータ信号DIが、ＣＰＵ９１から出力される。この期間の中で、クロック信号CLKが立ち上がる時刻T2に制御信号WR*がノーマルからアクティブへと遷移し、つぎにクロック信号CLKが立ち上がる時刻T3に、ノーマルへと復帰する。その結果、データ信号DEとして、時刻T2〜T3の期間にわたって、値”Ｚ”が出力される。
【０００７】
このように、データ信号DEの値”Ｚ”の出力は、クロック信号CLKに同期して開始および停止する。一方、データ信号DEを受信するメモリ装置などの外部装置も、制御信号WR*に同期して動作するので、データ信号DEのホールドタイムを十分に長く必要とする外部装置を、装置１５０へ接続して使用することが困難であるという問題点があった。
【０００８】
なお、単に、クロック信号の制御に関連した技術としては、特開平1-265351号公報、特開平8-123717号公報、特開平2-100750号公報、特開平9-319704号公報、特開平8-6896号公報、特開平6-291615号公報、特開平9-128333号公報、特開平5-257886号公報、特開昭62-281047号公報、特開平4-294442号公報、特開平2-171907号公報、および、特開平4-370862号公報が知られている。
【０００９】
この発明は、従来の装置における上記した問題点を解消するためになされたもので、ＣＰＵと外部装置との間で伝送されるデータ信号のホールドタイムを長く確保し得る半導体装置を得ることを目的とする。
【００１０】
【課題を解決するための手段】
第１の発明の装置は、半導体装置であって、内部クロック信号に同期して動作するＣＰＵと、前記内部クロック信号を所定の遅延時間だけ遅延させ、遅延クロック信号として出力する遅延回路を、接続可能なように外部に露出した端子と、前記ＣＰＵと外部装置との間で伝送されるデータ信号を、前記端子を通じて供給される前記遅延クロック信号にもとづいて、前記遅延時間だけ遅延して中継するデータ伝送制御回路と、を備える。
【００１１】
さらに、第１の発明の装置では、前記データ伝送制御回路が、データ保持回路と、トライステートバッファと、バッファ制御回路と、を備え、前記データ保持回路は、前記データ伝送制御回路へ入力された前記データ信号を、前記遅延クロック信号に同期して保持する。
そして、前記バッファ制御回路は、前記内部クロック信号に同期して前記ＣＰＵから送られ、前記データ信号の伝送の開始と終了とを通知する制御信号と、前記遅延クロック信号とにもとづいて、前記データ信号が入力される期間よりも前記遅延時間だけ遅延した期間にわたって、アクティブの制御信号を出力し、前記トライステートバッファは、前記データ保持回路が保持する前記データ信号を、前記バッファ制御回路が出力する前記制御信号がアクティブであるときに限って、前記データ伝送制御回路の外へ出力する。
【００１２】
第２の発明の装置では、第１の発明の半導体装置において、前記データ伝送制御回路が、前記バッファ制御回路と前記トライステートバッファとの間に介挿される選択回路を、さらに備え、前記選択回路は、選択信号にもとづいて、前記バッファ制御回路が出力する制御信号と、前記ＣＰＵが前記データ信号の伝送を前記外部装置へ通知する制御信号とのいずれかを選択して、前記トライステートバッファへ伝える。
【００１３】
第３の発明の装置は、第１の発明の半導体装置において、前記ＣＰＵと別の外部装置との間での別のデータ信号の伝送を中継するトライステートバッファを、さらに備え、当該トライステートバッファは、前記ＣＰＵが前記別のデータ信号の伝送を前記別の外部装置へ通知する制御信号がアクティブであるときに限って、前記別のデータ信号を通過させる。
【００１４】
第４の発明の装置は、第１、第２、あるいは第３の発明の半導体装置において、前記遅延回路を、さらに備え、当該遅延回路は、前記端子に接続されており、前記遅延時間が、前記内部クロック信号の１周期よりも短かく設定されている。
【００１５】
【発明の実施の形態】
＜1. 実施の形態１＞
はじめに、実施の形態１の半導体装置について説明する。
【００１６】
＜1-1. 装置の概略＞
図１は、実施の形態１の半導体装置の構成を示すブロック図である。この装置１０１は、半導体集積回路（ＩＣ）であり、ＣＰＵ１、データ伝送制御回路２、および、内部クロック生成回路３を備えたＭＣＵまたはＭＰＵとして構成されている。ＣＰＵ１は、例えば、外部のメモリ装置から供給されるプログラムにもとづいて、処理を実行する。
【００１７】
装置１０１には、端子４〜８が、さらに備わっている。装置１０１は、好ましくは、例えば樹脂などによって封止されるが、端子４〜８は外部へ露出している。したがって、端子４〜８には、装置１０１が製品として完成した後に、例えばハンダ付けによって、外部装置を接続することが可能である。外部装置は端子４〜８へと、直接的に接続されてもよく、例えば回路基板に配設された配線を通じて、間接的に接続されてもよい。
【００１８】
端子４を通じて、外部よりクロック信号CLKが供給される。クロック信号CLKは、内部クロック生成回路３によって、内部クロック信号Iclkへと変換される。クロック信号CLKは、例えば、発信回路によって供給される原発振クロック信号であり、内部クロック生成回路３は、例えば、クロック信号CLKへ波形成型および分周を施すことによって、内部クロック信号Iclkを生成する。
【００１９】
内部クロック信号Iclkは、ＣＰＵ１へと供給される。ＣＰＵ１は、内部クロック信号Iclkに同期して動作する。ＣＰＵ１は、メモリ装置などの外部装置へデータ信号DIを出力する際にも、出力の開始および停止を、内部クロック信号Iclkに同期して行う。ＣＰＵ１は、さらに、データ信号DIとともに、制御信号WRおよび各種の制御信号CSを出力する。これらの制御信号WR,CSの出力の開始および停止も、内部クロック信号Iclkに同期して行われる。制御信号WRは、データ信号DIを受信する外部装置へ、データ信号DIの出力を報知する信号、すなわち、ライトイネーブル信号である。制御信号CSは、データ伝送制御回路２を制御するための信号である。
【００２０】
内部クロック信号Iclkは、端子５を通じて、外部の遅延回路１０へも伝えられる。遅延回路１０は、内部クロック信号Iclkを遅延させることにより、遅延クロック信号Dclkを生成し、端子６を通じて、データ伝送制御回路２へ供給する。遅延回路１０は、装置１０１の外部装置の一つであり、装置１０１が製品として完成した後に、端子５，６へ、例えばハンダ付け等によって取り付けられる。
【００２１】
なお、半導体集積回路である装置１０１を主要な回路要素とする半導体装置として、端子５，６へ接続された遅延回路１０を装置１０１とともに備える装置を、構成することも可能である。このような装置は、通例において、製品として完成した装置１０１のユーザが、回路基板の上に、装置１０１と遅延回路１０とを搭載するという組立作業を通じて実現される。
【００２２】
データ伝送制御回路２は、ＣＰＵ１から出力される制御信号CSと、遅延回路１０から出力される遅延クロック信号Dclkとにもとづいて、ＣＰＵ１から外部装置へ伝送されるデータ信号DIを、遅延させて中継する。データ伝送制御回路２は、ＣＰＵ１とは異なり、内部クロック信号Iclkではなく、遅延クロック信号Dclkに同期して動作する。それによって、データ信号DIは、内部クロック信号Iclkよりも遅延した遅延クロック信号Dclkに同期して、データ信号DEとして外部へ伝送される。データ信号DEおよび制御信号WRは、それぞれ、端子７，８を通じて、外部へ出力される。
【００２３】
図２は、データ伝送制御回路２の内部構成を示すブロック図である。データ伝送制御回路２は、データ保持回路２１、トライステートバッファ２２、および、バッファ制御回路２３を備えている。データ保持回路２１は、例えばラッチ回路であり、遅延クロック信号Dclkに同期して、データ信号DIを保持し、保持したデータをデータ信号DHとして出力する。
【００２４】
トライステートバッファ２２は、バッファ制御回路２３が出力する制御信号CNTLにもとづいて、データ信号DEの出力を制御する。すなわち、トライステートバッファ２２は、制御信号CNTLがアクティブであるときには、データ信号DHを、そのまま、あるいは、電流増幅して、データ信号DEとして出力し、ノーマルであるときには、出力をハイインピーダンス状態とすることにより、データ信号DEの外部装置への伝送経路とＣＰＵ１との間を電気的に切り離す。バッファ制御回路２３は、遅延クロック信号Dclkと制御信号CSにもとづいて制御信号CNTLを生成し、トライステートバッファ２２へ伝える。
【００２５】
図３は、データ伝送制御回路２の動作を説明するタイミングチャートである。ＣＰＵ１は、内部クロック信号Iclkが立ち上がる時刻t1に、データ信号DIとして、値「Ｙ」の出力を開始し、それより２周期後の立ち上がり時刻t6に、出力を終了する。遅延クロック信号Dclkは、内部クロック信号Iclkに対して、遅延時間DTだけ遅れている。したがって、遅延クロック信号Dclkに同期して動作するデータ保持回路２１は、データ信号DHを、データ信号DIよりも、遅延時間DTだけ遅らせて出力する。
【００２６】
バッファ制御回路２３は、ＣＰＵ１がデータ信号DIを出力する期間、言い換えると制御信号WRがアクティブである期間よりも、遅延時間DTだけ遅れた期間にわたって、制御信号CNTLをアクティブにする。したがって、トライステートバッファ２２は、データ信号DIよりも遅延時間DTだけ遅延させて、値「Ｙ」をデータ信号DEとして出力する。
【００２７】
このようにして、ＣＰＵ１が出力したデータ信号DIが、遅延時間DTだけ遅延して、データ信号DEとしてデータ伝送制御回路２から外部へと出力される。データ信号DEを受信するメモリ装置などの外部装置は、制御信号WRに同期して動作するので、遅延時間DTに相当するホールドタイムを確保することができる。このため、データ信号DEのホールドタイムを十分に長く必要とする外部装置を、装置１０１へ接続して使用することが可能となる。
【００２８】
特に、メモリ装置などの外部装置は、ＣＰＵ１に比べて動作速度が遅い場合が多く、そのために、装置１０１が出力するデータ信号DEを読み取る際に、十分に長いホールドタイムを必要とする場合が少なくない。装置１０１は、ＣＰＵ１を備えるＭＣＵあるいはＭＰＵが、しばしば直面するこのような要求に、容易に応えることができる。
【００２９】
遅延時間DTが長いほど、より長いホールドタイムを要求する外部装置が、装置１０１へ接続可能となる。しかしながら、遅延時間DTが内部クロック信号Iclkの１周期よりも遅れると、例えば、値「Ｙ」につづく、つぎの値が、誤ってデータ信号DEとして出力される場合がある。したがって、遅延時間DTは、内部クロック信号Iclkの１周期よりも短かく設定される。
【００３０】
上記したように、遅延回路１０は、装置１０１が製品として完成した後に、外部装置として接続可能であるので、様々な遅延時間DTを有する遅延回路１０を用いることによって、同一の装置１０１に対して、様々なホールドタイムを持たせることが可能である。すなわち、装置１０１の使用目的、接続すべき外部装置の特性に応じて、ホールドタイムを自在に設定することが可能である。
【００３１】
＜1-2. バッファ制御回路＞
図４は、バッファ制御回路２３の内部構成の一例を示す回路図である。この例では、バッファ制御回路２３は、論理積回路２４，２５、および、Ｓ／Ｒフリップフロップ２６を備えている。ＣＰＵ１が出力する制御信号CSには、制御信号RWT*，ALEが含まれている。論理積回路２４，２５の各々には、制御信号RWT*，ALE、および、遅延クロック信号Dclkが入力される。ただし、制御信号RWT*は、論理積回路２４，２５へ、互いに反転されて入力される。
【００３２】
論理積回路２４，２５の出力は、それぞれ、Ｓ／Ｒフリップフロップ２６のセット入力およびリセット入力へ接続されている。その結果、Ｓ／Ｒフリップフロップ２６から、制御信号CNTLが出力される。Ｓ／Ｒフリップフロップ２６は、例えば、ＣＰＵ１がリセットされるときなどに、リセット信号RESET*が入力されると、これに応答して、出力信号である制御信号CNTLを、初期値へ戻す。
【００３３】
図５は、図４が例示するバッファ制御回路２３の動作を説明するタイミングチャートである。時刻t1〜t8にわたるＣＰＵ１の動作は、図３と図５の間で同一である。ＣＰＵ１は、データ信号DIとして値「Ｙ」を出力する期間である時刻t1〜t6にわたって、制御信号WRをアクティブにする。
【００３４】
ＣＰＵ１は、さらに、データ信号DIの出力の開始と終了とを通知する制御信号ALEを、時刻t1から、つぎに内部クロック信号Iclkが立ち下がる時刻t2までの期間、および、時刻t6から、つぎに内部クロック信号Iclkが立ち下がる時刻t8までの期間にわたって、アクティブにする。ＣＰＵ１は、さらに、データ信号DIの出力の終了を通知する制御信号RWT*を、時刻t6の直前に内部クロック信号Iclkが立ち下がる時刻t5からつぎの立ち下がり時刻t8までの期間にわたって、アクティブにする。すなわち、制御信号ALEと制御信号RWT*とを含む制御信号CSは、データ信号DIの出力の開始と終了とを通知する２ビット信号に相当する。
【００３５】
論理積回路２４は、制御信号RWT*がノーマルで、しかも、制御信号ALEがアクティブである期間、すなわち、時刻t1〜t3に限って、遅延クロック信号Dclkを、Ｓ／Ｒフリップフロップ２６のセット入力へ伝達する。一方、論理積回路２５は、制御信号RWT*とALEが、ともにアクティブである期間、すなわち、時刻t6〜t8に限って、遅延クロック信号Dclkを、Ｓ／Ｒフリップフロップ２６のリセット入力へ伝達する。
【００３６】
このため、Ｓ／Ｒフリップフロップ２６は、時刻t1〜t3の間で遅延クロック信号Dclkが立ち上がる時刻、すなわち、時刻t2にセットされ、時刻t6〜t8の間で遅延クロック信号Dclkが立ち上がる時刻、すなわち、時刻t7にリセットされる。その結果、制御信号CNTLは、データ信号DIが出力される期間である時刻t1〜t6よりも、遅延時間DTだけ遅延した時刻t2〜t7の期間にわたって、アクティブとなる。
【００３７】
図６は、Ｓ／Ｒフリップフロップ２６の内部構成の一例を示す回路図である。この例では、Ｓ／Ｒフリップフロップ２６は、インバータ３６、MOSFET２７，２８、および、インバータ２９，３０を備えている。ｎチャネル型のMOSFET２７とｐチャネル型のMOSFET２８とが、直列に、正電位電源線および接地電位電源線の間に介挿されることによって、インバータを形成している。MOSFET２８のゲート電極に接続されたインバータ３６の入力、および、MOSFET２７のゲート電極は、それぞれ、セット入力およびリセット入力に相当している。
【００３８】
MOSFET２７，２８が構成するインバータの出力は、インバータ２９の入力へ接続されている。インバータ２９の出力は、インバータ３０を通じて、インバータ２９の入力へと正帰還されている。しかも、インバータ２９の電流駆動能力は、インバータ３０よりも大きく設定されている。
【００３９】
Ｓ／Ｒフリップフロップ２６は、以上のように構成されているので、セット入力およびリセット入力に、アクティブの信号が入力されると、それに応答して、制御信号CNTLが、それぞれ、アクティブおよびノーマルへと遷移する。セット入力およびリセット入力に、ノーマルの信号が入力されている期間では、制御信号CNTLは値を変えない。
【００４０】
＜1-3. データ保持回路および遅延回路＞
図７は、データ保持回路２１の内部構成の一例を示す回路図である。この例では、データ保持回路２１は、インバータ３３，３７、MOSFET３１，３２、および、インバータ３４，３５を備えている。MOSFET３１，３２は、それぞれ、トランスファーゲート素子を構成しており、直接またはインバータ３３を通じて、ゲート電極へ入力される遅延クロック信号Dclkが、アクティブであるときに限り、インバータ３７を通じて入力されたデータ信号DIの反転信号をインバータ３４の入力へ伝送する。インバータ３４の出力は、インバータ３５を通じて、インバータ３４の入力へと正帰還されている。しかも、インバータ３４の電流駆動能力は、インバータ３５よりも大きく設定されている。
【００４１】
データ保持回路２１は、以上のように構成されているので、遅延クロック信号Dclkがアクティブであるときには、データ信号DIを、データ信号DHとして出力する。データ保持回路２１は、逆に、遅延クロック信号Dclkがノーマルであるときには、ノーマルに遷移する直前のデータ信号DIを保持し、データ信号DHとして出力し続ける。以上のように、データ伝送制御回路２は、簡単な回路で構成可能である。
【００４２】
図８は、遅延回路１０の内部構成の一例を示す回路図である。この例では、内部クロック信号Iclkが入力されるインバータ１１の出力と、遅延クロック信号Dclkを出力するインバータ１４の入力との間に、キャパシタ１２と抵抗器１３で構成される一次のロウパスフィルタが介挿されている。
【００４３】
図９は、図８が例示する遅延回路１０の動作を説明するタイミングチャートである。ロウパスフィルタからインバータ１４へと入力される電圧信号Ｖは、抵抗器１３の抵抗とキャパシタ１２の容量とで定まる時定数をもって、内部クロック信号Iclkの変化に、緩やかに追随する。したがって、インバータ１４は、内部クロック信号Iclkよりも、前述の時定数で定まる遅延時間DTだけ遅延した信号を、遅延クロック信号Dclkとして出力する。
【００４４】
図９に例示する遅延回路１０では、キャパシタ１２および抵抗器１３の素子定数を、変えることによって、遅延時間DTを様々に変えることが可能である。特に、内部クロック信号Iclkのデューティ比が５０％であるときには、遅延時間DTは、０から内部クロック信号Iclkの半周期まで可変である。
【００４５】
＜1-4. 別の装置例＞
装置１０１（図１）では、内部クロック信号Iclkは、外部から入力されるクロック信号CLKにもとづいて、装置１０１の内部で生成されたが、外部から直接に内部クロック信号Iclkを供給することも可能である。このとき、内部クロック生成回路３（図１）は、除去することができる。
【００４６】
そのように構成された装置の例を、図１０および図１１に示す。図１０が示す装置１０２では、内部クロック信号Iclkが、外部から端子４へ入力される。端子４へ入力された内部クロック信号Iclkは、ＣＰＵ１と端子５の双方へ伝送される。すなわち、内部クロック信号Iclkが入力される端子４が、遅延回路１０へ内部クロック信号Iclkを伝えるための端子５とは別個に設けられている。
【００４７】
一方、図１１が示す装置１０３では、端子４は備わらず、内部クロック信号Iclkは、端子５へと入力される。端子５へ入力された内部クロック信号Iclkは、ＣＰＵ１へ伝送される。また、内部クロック信号Iclkは、端子５に接続された遅延回路１０へも供給される。すなわち、内部クロック信号Iclkが入力される端子と、遅延回路１０へ内部クロック信号Iclkを伝えるための端子とが、単一の端子５へ共通化されている。
【００４８】
＜2. 実施の形態２＞
図１２は、実施の形態２の半導体装置の構成を示すブロック図である。この装置１０４は、データ信号DI,DEを伝送する経路、すなわち、データバスを、二系統備えている点において、装置１０１（図１）とは特徴的に異なっている。
【００４９】
第１のデータ信号DI1,DE1を伝送する経路は、装置１０１（図１）と同等に構成される。すなわち、ＣＰＵ１から出力されたデータ信号DI1は、データ伝送制御回路２によって、遅延クロック信号Dclkに同期したデータ信号DE1として、端子７を通じて外部へ伝送される。ＣＰＵ１は、データ信号DI1および制御信号CSとともに、データ信号DI1を受信する外部装置へ、データ信号DI1の出力を報知する制御信号WR1を出力する。制御信号WR1は、端子８を通じて、外部へと出力される。
【００５０】
第２のデータ信号DI2,DE2を伝送する経路は、従来装置１５０と同等に構成される。すなわち、データ信号DI2は、ＣＰＵ１から出力される制御信号WR2にもとづいて動作するトライステートバッファ３８によって、内部クロック信号Iclkに同期したデータ信号DE2として、端子９を通じて外部へ伝送される。制御信号WR2は、データ信号DI2の出力を報知する信号であり、データ信号DI2を受信する外部装置へ、端子１６を通じて伝送される。
【００５１】
したがって、装置１０４には、長いホールドタイムを必要とする外部装置と、そうでない外部装置とのいずれをも接続することが可能であり、双方の外部装置を同時に接続することも可能である。すなわち、外部装置の特性に応じて、接続すべきデータバスを選択することが可能である。
【００５２】
＜3. 実施の形態３＞
図１３は、実施の形態３の半導体装置の構成を示すブロック図である。この装置１０５は、データ伝送制御回路２がデータ伝送制御回路４０へと置き換えられ、それによって、ＣＰＵ１から出力されたデータ信号DIが、内部クロック信号Iclkと遅延クロック信号Dclkとのいずれかに選択自在に同期して、データ信号DEとして外部へ伝送される点において、装置１０１（図１）とは特徴的に異なっている。
【００５３】
ＣＰＵ１が出力する制御信号WRは、端子８を通じて外部装置へ伝送されるだけでなく、データ伝送制御回路４０へも入力される。ＣＰＵ１は、レジスタ３９を備えており、レジスタ３９に保持される選択信号SELが、データ伝送制御回路４０へ入力される。データ伝送制御回路４０は、選択信号SELにもとづいて、データ信号DEが同期すべきクロック信号を選択する。
【００５４】
図１４は、データ伝送制御回路４０の内部構成を示すブロック図である。データ伝送制御回路４０は、バッファ制御回路２３からトライステートバッファ２２へと制御信号CNTLが伝送される経路に、選択回路４１が介挿されている点において、データ伝送制御回路２（図２）とは特徴的に異なっている。選択回路４１は、選択信号SELにもとづいて、ＣＰＵ１が出力する制御信号WRと、バッファ制御回路２３が出力する制御信号CNTLとのいずれかを選択して、トライステートバッファ２２へ、制御信号として伝達する。
【００５５】
したがって、トライステートバッファ２２は、選択信号SELにもとづいて、装置１０１のトライステートバッファ２２（図２）と同様に、遅延クロック信号Dclkに同期して動作するバッファ制御回路２３によって制御されることも、従来装置１５０（図１９）のトライステートバッファ９２と同様に、内部クロック信号Iclkに同期した制御信号WRによって制御されることも、可能である。すなわち、装置１０５は、選択信号SELに応じて、装置１０１と従来装置１５０のいずれとも同等に動作する。
【００５６】
したがって、装置１０５には、長いホールドタイムを必要とする外部装置と、そうでない外部装置とのいずれをも接続することが可能である。すなわち、外部装置の特性に応じて、ホールドタイムを選択することが可能である。
【００５７】
図１５は、選択回路４１の内部構成の一例を示す回路図である。この例では、選択回路４１は、論理積回路４２，４３、論理和回路４４、および、インバータ４５を備えている。論理積回路４２は、制御信号CNTLと選択信号SELの論理積を出力する。論理積回路４３は、制御信号WRと、インバータ４５で得られる選択信号SELの反転信号との論理積を出力する。
【００５８】
論理和回路４４は、論理積回路４２と４３の出力の論理和を、制御信号としてトライステートバッファ２２へ伝送する。したがって、選択信号SELがハイレベルであれば、論理和回路４４からは制御信号CNTLが出力され、逆に、ロウレベルであれば、制御信号WRが出力される。
【００５９】
上記のように、ＣＰＵ１に備わるレジスタ３９（図１３）に一時的に格納された信号が、選択信号SELとしてデータ伝送制御回路４０へ伝えられる。このため、ＣＰＵ１の動作を規定するプログラムを変更することによって、選択信号SELを自在に変更することが可能である。
【００６０】
これに対して、図示を略するが、外部へ露出する端子を通じて、選択信号SELを、外部からデータ伝送制御回路４０へ直接に入力できるように、装置１０５を構成することも可能である。そのためには、端子４〜８とは別に、もう一つの端子を装置１０５へ追加し、選択信号SELをＣＰＵ１からデータ伝送制御回路４０へ伝送する経路を、追加された端子からデータ伝送制御回路４０へ選択信号SELを伝送する経路へ、置き換えると良い。
【００６１】
また、データ信号DI,DEの伝送経路、すなわち、データバスを、複数に拡張し、それぞれに、データ伝送制御回路４０を介挿することも可能である。それによって、複数のデータバスを通じて伝送される複数のデータ信号DEを、それぞれ受信する複数の外部装置の特性に応じたホールドタイムを、データバスごとに選択することが可能となる。
【００６２】
＜4. 実施の形態４＞
図１６は、実施の形態４の半導体装置の構成を示すブロック図である。この装置１０６は、データ伝送制御回路２が、外部装置からＣＰＵ１へと伝送されるデータ信号DE,DI、すなわち、入力データ信号を、遅延させて中継する点において、装置１０１（図１）とは特徴的に異なっている。このように、データ伝送制御回路２は、一般に、ＣＰＵ１と外部装置との間のデータ信号の伝送、すなわち、データ信号の入力と出力のいずれをも、制御可能である。
【００６３】
ＣＰＵ１は、入力データ信号を受信する際に、データ信号DEの出力を外部装置へ指示するための制御信号RD、すなわち、リードイネーブル信号を出力する。制御信号RDは、端子５１を通じて、データ信号DEを出力する外部装置へ伝送される。外部装置は、制御信号RDに同期してデータ信号DEを出力する。制御信号RDは、ＣＰＵ１によって生成されるので、内部クロック信号Iclkに同期する。したがって、データ信号DEも、内部クロック信号Iclkに同期して外部装置から出力される。
【００６４】
図１７は、データ伝送制御回路２の内部構成を示すブロック図である。図１７が示すように、データ伝送制御回路２は、図２のデータ伝送制御回路２と同一に構成される。ただし、データ信号DIの代わりにデータ信号DEが入力され、データ信号DEの代わりにデータ信号DIが出力されている。すなわち、図２と図１７の例では、データ信号DIとデータ信号DEとが、互いに置き換えられている。
【００６５】
図１８は、図１７が示すデータ伝送制御回路２の動作を説明するタイミングチャートである。ＣＰＵ１は、内部クロック信号Iclkが立ち上がる時刻t1から、２周期後の立ち上がり時刻t6にわたって、制御信号RDをアクティブにする。外部装置は、それに応答して、時刻t1に、データ信号DIとして、値「Ｙ」の出力を開始し、時刻t6に、出力を終了する。遅延クロック信号Dclkに同期して動作するデータ保持回路２１は、データ信号DHを、データ信号DIよりも、遅延時間DTだけ遅らせて出力する。
【００６６】
バッファ制御回路２３には、図２のバッファ制御回路２３と同様に、遅延クロック信号Dclkおよび制御信号CSが入力される。この場合、制御信号ALEと制御信号RWT*とを含む制御信号CSは、外部装置からのデータ信号DEの出力の開始と終了とを通知する２ビットの信号に相当する。その結果、バッファ制御回路２３は、ＣＰＵ１が制御信号RDを出力する期間よりも遅延時間DTだけ遅れた期間、すなわち、時刻t2〜t7にわたって、制御信号CNTLをアクティブにする。したがって、トライステートバッファ２２は、データ信号DEよりも遅延時間DTだけ遅延させて、値「Ｙ」をデータ信号DIとして出力する。
【００６７】
このようにして、外部装置が出力したデータ信号DEが、遅延時間DTだけ遅延して、データ信号DIとしてＣＰＵ１へ入力される。したがって、ＣＰＵ１は、遅延時間DTに相当するホールドタイムを確保することができる。このため、データ信号DEのホールドタイムを十分に長く必要とするＣＰＵ１を、装置１０６へ組み込むことが可能となる。装置１０６は、ＣＰＵ１として動作速度の遅い安価なＣＰＵを用い、動作速度の速い最新鋭の外部装置を接続するときに、特に、利点を発揮する。
【００６８】
【発明の効果】
第１の発明の装置では、データ伝送制御回路が、ＣＰＵと外部装置との間で伝送されるデータ信号を、遅延して中継するので、データ信号に対するホールドタイムを確保することができる。しかも、外部に露出する端子に遅延回路が接続可能であるために、半導体装置が製品として完成した後に、使用条件に応じて、様々な遅延時間を任意に設定することが可能である。
【００６９】
さらに、第１の発明の装置では、データ伝送制御回路が、データ保持回路と、トライステートバッファと、バッファ制御回路とによって、最も簡単に構成される。
【００７０】
第２の発明の装置では、トライステートバッファが、選択回路を通じて、二種類の制御信号のいずれかによって、選択的に制御されるので、接続される外部装置の特性に応じて、ホールドタイムを選択することが可能である。
【００７１】
第３の発明の装置では、ホールドタイムの異なる二系統のデータ信号の伝送経路が備わるので、ホールドタイムに関して特性の異なる外部装置を接続することが可能であり、それらを同時に接続することも可能である。
【００７２】
第４の発明の装置では、遅延回路がすでに備わるので、使用に際して、新たに遅延回路を付加する必要がない。また、遅延時間が、内部クロックの１周期よりも短く設定されるので、ＣＰＵと外部装置との間で、誤ったデータ信号が伝送される恐れがない。
【図面の簡単な説明】
【図１】  実施の形態１の装置のブロック図である。
【図２】  図１のデータ伝送制御回路のブロック図である。
【図３】  図２のデータ伝送制御回路のタイミングチャートである。
【図４】  図２のバッファ制御回路の回路図である。
【図５】  図４のバッファ制御回路のタイミングチャートである。
【図６】  図４のＳ／Ｒフリップフロップの回路図である。
【図７】  図２のデータ保持回路の回路図である。
【図８】  図１の遅延回路の回路図である。
【図９】  図８の遅延回路のタイミングチャートである。
【図１０】  実施の形態１の別の装置例のブロック図である。
【図１１】  実施の形態１のさらに別の装置例のブロック図である。
【図１２】  実施の形態２の装置のブロック図である。
【図１３】  実施の形態３の装置のブロック図である。
【図１４】  図１３のデータ伝送制御回路のブロック図である。
【図１５】  図１４の選択回路の回路図である。
【図１６】  実施の形態４の装置のブロック図である。
【図１７】  図１６のデータ伝送制御回路のブロック図である。
【図１８】  図１７のデータ伝送制御回路のタイミングチャートである。
【図１９】  従来の装置のブロック図である。
【図２０】  図１９の装置のタイミングチャートである。
【符号の説明】
１  ＣＰＵ、２  データ伝送制御回路、６  端子、１０  遅延回路、２１  データ保持回路、２２，３８  トライステートバッファ、２３  バッファ制御回路、CS，CNTL，WR2  制御信号、Dclk  遅延クロック信号、DI，DE，DH，DE1，DI1，DI2，DE2  データ信号、DT  遅延時間、Iclk  内部クロック信号、SEL  選択信号。
【図１】
0004119017.tif 000002
【図２】
0004119017.tif 000003
【図３】
0004119017.tif 000004
【図４】
0004119017.tif 000005
【図５】
0004119017.tif 000006
【図６】
0004119017.tif 000007
【図７】
0004119017.tif 000008
【図８】
0004119017.tif 000009
【図９】
0004119017.tif 000010
【図１０】
0004119017.tif 000011
【図１１】
0004119017.tif 000012
【図１２】
0004119017.tif 000013
【図１３】
0004119017.tif 000014
【図１４】
0004119017.tif 000015
【図１５】
0004119017.tif 000016
【図１６】
0004119017.tif 000017
【図１７】
0004119017.tif 000018
【図１８】
0004119017.tif 000019
【図１９】
0004119017.tif 000020
【図２０】
0004119017.tif 000021