(57)【要約】【課題】半導体装置の外部に出力される信号にハザードが含まれないようにする。【解決手段】半導体装置において、ＩＯセル２３＿１は、タイミング調整回路５０および出力バッファ７０を含む。出力バッファ７０は、タイミング調整回路５０によってタイミング調整されたデータ信号ＤＯｃおよび出力許可信号ＯＥｃを受ける。タイミング調整回路５０は、出力バッファ７０にデータ信号ＤＯｃおよび出力許可信号ＯＥｃが入力された時点で、出力すべき論理レベルにデータ信号ＤＯｃが変化した後に出力許可信号ＯＥｃが非活性状態から活性状態に切替わり、かつ、出力すべき論理レベルをデータ信号ＤＯｃが保持している間に出力許可信号ＯＥｃが活性状態から非活性状態に切替わるように、ＩＯポート論理回路１８から受けたデータ信号ＤＯおよび出力許可信号ＯＥの少なくとも一方のタイミングを調整する。【選択図】図３
2011130319.tif 000002
【特許請求の範囲】
【請求項１】
内部回路と、
複数のパッドと、
前記複数のパッドにそれぞれ対応して設けられ、各々が、前記内部回路からデータ信号と出力許可信号とを受ける複数のインターフェース部とを備え、
前記複数のインターフェース部の各々は、
前記内部回路から受けた前記データ信号および前記出力許可信号の少なくとも一方のタイミングを調整するタイミング調整回路と、
前記タイミング調整回路によるタイミング調整後の前記データ信号および前記出力許可信号を受け、前記出力許可信号が活性状態のとき前記データ信号を対応のパッドを介して外部に出力する出力バッファとを含み、
前記複数のインターフェース部の各々において、前記タイミング調整回路は、前記出力バッファに前記データ信号および前記出力許可信号が入力された時点で、前記出力許可信号が活性状態の間に出力すべき論理レベルに前記データ信号が変化した後に前記出力許可信号が非活性状態から活性状態に切替わり、かつ、前記出力許可信号が活性状態の間に出力すべき論理レベルを前記データ信号が保持している間に前記出力許可信号が活性状態から非活性状態に切替わるように、前記データ信号および前記出力許可信号の少なくとも一方のタイミングを調整する、半導体装置。
【請求項２】
前記複数のインターフェース部の各々は、前記内部回路と前記タイミング調整回路との間に設けられ、前記データ信号および前記出力許可信号に含まれるハザードをそれぞれ除去する第１および第２のハザード除去回路をさらに含む、請求項１に記載の半導体装置。
【請求項３】
前記タイミング調整回路は、
前記データ信号を第１の遅延時間だけ遅延させる第１の信号遅延部と、
前記出力許可信号が非活性状態から活性状態に切替わるタイミングを前記第１の遅延時間よりも長い第２の遅延時間だけ遅延させ、活性状態から非活性状態に切替わるタイミングを遅延させないか、もしくは、前記第１の遅延時間よりも短い第３の遅延時間だけ遅延させる第２の信号遅延部とを有する、請求項１に記載の半導体装置。
【請求項４】
前記タイミング調整回路は、
前記データ信号を初段に受ける縦続接続された複数の第１の信号遅延部と、
前記出力許可信号を初段に受け、前記複数の第１の信号遅延部と同数の縦続接続された複数の第２の信号遅延部とを有し、
前記複数の第１の信号遅延部の各々は、入力された信号を第１の遅延時間だけ遅延させ、
前記複数の第２の信号遅延部の各々は、入力された信号が非活性状態から活性状態に切替わるタイミングを前記第１の遅延時間よりも長い第２の遅延時間だけ遅延させ、活性状態から非活性状態に切替わるタイミングを遅延させないか、もしくは、前記第１の遅延時間よりも短い第３の遅延時間だけ遅延させる、請求項１に記載の半導体装置。
【請求項５】
前記複数のインターフェース部は複数のグループに分割され、
同じグループに属する各インターフェース部には、互いに等しい前記第１〜第３の遅延時間がそれぞれ設定される、請求項３に記載の半導体装置。
【請求項６】
前記出力バッファの駆動電圧は、前記タイミング調整回路の駆動電圧よりも高く、
前記複数のインターフェース部の各々は、前記出力バッファと前記タイミング調整回路との間に設けられ、前記データ信号および前記出力許可信号の信号レベルをそれぞれ増加させる第１および第２のレベルシフタをさらに含む、請求項１に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ハザードが発生し得る半導体装置に関する。
【背景技術】
【０００２】
ハザードとは、所定の周波数の動作クロックに同期して動作する論理回路において複数の入力信号が微小な時間差を持って変化するような場合、信号到着時刻の遅速によって過渡的に出力される本来の論理レベルと異なる論理レベルの信号をいう。ハザードは、極短時間のパルス（いわゆる、「ひげ」）として観測される。ハザードを除去する回路として、たとえば以下のものが知られている。
【０００３】
特開平１１−２１４９６５号公報（特許文献１）に記載のハザード除去回路は、第１および第２の遅延回路と、否定排他的論理和（exclusive  NOR）回路と、Ｄフリップフロップ回路とを含む。第１の遅延回路はハザードを含む入力信号を遅延する。否定排他的論理和回路は、ハザードを含む入力信号と第１の遅延回路の出力信号とを受ける。第２の遅延回路は、否定排他的論理和回路の出力信号をさらに遅延させる。Ｄフリップフロップ回路は、ハザードを含む入力信号をデータ信号として受け、第２の遅延回路の出力信号をクロック信号として受ける。
【０００４】
特開２００９−１１６０４７号公報（特許文献２）は、ハザードを抑制した表示装置について開示する。この文献の表示装置は、デコード回路と、デコード回路からの出力信号に発生したハザード信号を、デコード回路からの出力信号を用いて除去するハザード信号除去回路と、ハザード信号除去回路からの出力信号により駆動される画素とを備える。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−２１４９６５号公報
【特許文献２】特開２００９−１１６０４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、ＬＳＩ（Large-Scale  Integration）の設計には自動配置配線ツール（Automatic  Place-and-Route  Tool）が用いられる。自動配置配線ツールでは、回路面積が最小になるように各マクロセル（機能ブロック）が最適配置されると共にマクロセル間が配線されるために、マクロセル間の配線経路を設計者が細かく指定することは困難である。このため、マクロセル間の配線経路によっては、配線遅延によって信号到着時刻にずれ（スキュー）が生じる場合があり、この結果、ハザードが発生することがある。しかも、半導体プロセスの進歩によって半導体回路の素子感度が上がっているので、一旦発生したハザードは消滅することなく伝播する。
【０００７】
この発明の主たる目的は、外部接続端子（パッド）を介してＬＳＩチップ（半導体装置）の外部に出力される信号にハザードが含まれないようにすることである。
【課題を解決するための手段】
【０００８】
この発明の実施の一形態の半導体装置は、内部回路と、複数のパッドと、複数のパッドにそれぞれ対応して設けられた複数のインターフェース部とを備える。各インターフェース部は、内部回路からデータ信号と出力許可信号とを受ける。そして、各インターフェース部は、タイミング調整回路と、出力バッファとを含む。各インターフェース部において、タイミング調整回路は、内部回路から受けたデータ信号および出力許可信号の少なくとも一方のタイミングを調整する。出力バッファは、タイミング調整回路によるタイミング調整後のデータ信号および出力許可信号を受け、出力許可信号が活性状態のときデータ信号を対応のパッドを介して外部に出力する。タイミング調整回路は、出力バッファにデータ信号および出力許可信号が入力された時点で、出力許可信号が活性状態の間に出力すべき論理レベルにデータ信号が変化した後に出力許可信号が非活性状態から活性状態に切替わり、かつ、出力許可信号が活性状態の間に出力すべき論理レベルをデータ信号が保持している間に出力許可信号が活性状態から非活性状態に切替わるように、データ信号および出力許可信号の少なくとも一方のタイミングを調整する。
【発明の効果】
【０００９】
この実施の形態の半導体装置によれば、各インターフェース部のタイミング調整回路において、データ信号および出力許可信号の少なくとも一方のタイミングが調整されるので、対応のパッドを介して外部に出力される信号にハザードを含まないようにできる。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１によるマイクロコンピュータ１００の全体構成を示す機能ブロック図である。
【図２】図１のマイクロコンピュータ１００のうち、ＩＯポート論理回路１８に関係する構成を取出して示した機能ブロック図である。
【図３】ＩＯセル２３＿１のうちデータ出力に関係する部分の構成を示す回路図である。
【図４】図３の遅延回路５３Ａの構成の一例を示す回路図である。
【図５】出力許可信号ＯＥの立上がり時に発生するハザードについて説明するためのタイミング図である。
【図６】出力許可信号ＯＥの立下がり時に発生するハザードについて説明するためのタイミング図である。
【図７】第１および第２の信号遅延部５１，５２の動作を説明するためのタイミング図である。
【図８】図２のＩＯセル２３およびパッド２４のレイアウトの一例を示す平面図である。
【図９】図４の遅延回路５３の変形例１としての遅延回路５５の構成を示す回路図である。
【図１０】図４の遅延回路５３の変形例２としての遅延回路５６の構成を示す回路図である。
【図１１】図４の遅延回路５３の変形例３としての遅延回路５７の構成を示す回路図である。
【図１２】図３のタイミング調整回路５０の変形例を示す回路図である。
【図１３】この発明の実施の形態２による半導体装置に用いられるＩＯセル２３Ａ＿１のうちデータ出力に関係する部分の構成を示す回路図である。
【図１４】図１３のハザード除去回路９１Ａの動作を説明するためのタイミング図である。
【発明を実施するための形態】
【００１１】
以下、この発明の実施の形態について図面を参照して詳しく説明する。なお、同一または相当する部分には同一の参照符号を付して、その説明を繰返さない。また、以下では、半導体装置としてマイクロコンピュータを例に挙げて説明するが、この発明はマイクロコンピュータへの適用に限られるものでない。
【００１２】
＜実施の形態１＞
［マイクロコンピュータ１００の全体構成］
図１は、この発明の実施の形態１によるマイクロコンピュータ１００の全体構成を示す機能ブロック図である。
【００１３】
図１を参照して、マイクロコンピュータ１００は、ＣＰＵ（Central  Processing  Unit）２、割込みコントローラ（ＩＮＴ）３、ＲＯＭ（Read-Only  Memory）４、ＲＡＭ（Random  Access  Memory）５、タイマ［Ａ］６、タイマ［Ｂ］７、シリアルコミュニケーションインタフェース（ＳＣＩ）８、Ａ／Ｄ（Analog-to-Digital）変換器９、第１〜第９のＩＯ（Input-Output）ポート論理回路（ＩＯＰ［１］〜ＩＯＰ［９］）１１〜１９、クロックパルス発振器（ＣＰＧ）２０、およびシステムコントローラ（ＳＹＳＣ）２１の各機能ブロック（モジュール）を含む。ＣＰＵ２は、全体の制御を司る。ＲＯＭ４は、ＣＰＵ２の処理プログラムなどを格納するメモリである。ＲＡＭ５は、ＣＰＵ２の作業領域ならびにデータの一時記憶に用いられるメモリである。システムコントローラ２１には、コントロールレジスタ（ＣＰＵＣＲ）２２が配置される。マイクロコンピュータ１００は、単結晶シリコンのような１つの半導体基板１上に公知の半導体製造技術によって形成される。
【００１４】
マイクロコンピュータ１００は、さらに、電源端子として、接地電圧（Ｖｓｓ）、外部電源電圧（Ｖｃｃ）、アナログ接地電圧（ＡＶｓｓ）、アナログ電源電圧（ＡＶｃｃ）、アナログ基準電圧（Ｖｒｅｆ）の入力端子を有する。そして、マイクロコンピュータ１００は、専用制御端子として、リセット（ＲＥＳ）、スタンバイ（ＳＴＢＹ）、モード制御（ＭＤ０、ＭＤ１、ＭＤ２）、クロック入力（ＥＸＴＡＬ、ＸＴＡＬ）等の各端子を有する。
【００１５】
マイクロコンピュータ１００は、上記のＣＰＧ２０のＸＴＡＬ端子に接続される水晶発振子またはＥＸＴＡＬ端子に入力される外部クロックに基づいて生成される基準クロック（システムクロック）に同期して、動作を行う。
【００１６】
マイクロコンピュータ１００の機能ブロックは、内部バス３０によって相互に接続される。マイクロコンピュータ１００は、バスの制御を行なう、図示を省略したバスコントローラを内蔵する。内部バス３０はアドレスバス、データバスの他、リード信号・ライト信号などのコマンドを伝達するコントロールバスを含む。
【００１７】
マイクロコンピュータ１００は、さらに、複数のＩＯセル２３（インターフェース部（ＩＦ）とも称する）と、複数のＩＯセル２３にそれぞれ対応する複数のパッド２４とを含む。ＩＯポート論理回路１１〜１９の各々には、所定数のパッド２４が対応のＩＯセル２３を介して接続される。パッド２４は、マイクロコンピュータ１００の汎用の入出力端子として用いられるとともに、内蔵モジュールの入出力端子としても用いられる。具体的には、ＩＯポート論理回路１５〜１７は内部バス３０の他にタイマ６〜８とも接続される。ＩＯポート論理回路１５〜１７に接続されたパッド２４の一部は、タイマ６，７の入出力端子も兼ねる。同様に、ＩＯポート論理回路１８に接続されたパッド２４の一部はＳＣＩ８の入出力端子も兼ね、ＩＯポート論理回路１９に接続されたパッド２４の一部はＡ／Ｄ変換器９の入力端子も兼ねる。
【００１８】
タイマ６，７、ＳＣＩ８、Ａ／Ｄ変換器９、ＩＯポート論理回路１１〜１９は、マイクロコンピュータ１００の外部から入力された信号などに基づいて割込信号３２を割込コントローラ３に出力する。この割込信号３２に応じて、割込コントローラ３はＣＰＵ２に対して割込要求３１を行なう。
【００１９】
この明細書では、マイクロコンピュータ１００の構成要素のうち、ＩＯセル２３およびパッド２４を除く機能ブロックの部分を内部回路２５と称する。内部回路２５を構成する各機能ブロックは設計時に自動配線配置ツールによって回路面積ができるだけ小さくなるように配置される。
【００２０】
［ＩＯポート論理回路およびＩＯセルの構成］
次に、ＩＯポート論理回路１１〜１９および各ＩＯセル２３の構成について詳しく説明する。各ＩＯセル２３の構成は同一であり、ＩＯポート論理回路１１〜１９の構成もほぼ同じであるので、以下では、ＩＯポート論理回路１８とこれに接続されるＩＯセル２３を代表として説明する。
【００２１】
図２は、図１のマイクロコンピュータ１００のうち、ＩＯポート論理回路１８に関係する構成を取出して示した機能ブロック図である。図２に示すように、ＩＯポート論理回路１８には所定のｎ個のＩＯセル２３＿１〜２３＿ｎ（ＩＦ［１］〜ＩＦ［ｎ］）が接続され、ＩＯセル２３＿１〜２３＿ｎにはそれぞれ対応のパッド２４＿１〜２４＿ｎが接続される。ＩＯセル２３＿１〜２３＿ｎおよびパッド２４＿１〜２４＿ｎについて、総称する場合または不特定のものを示す場合に単にＩＯセル２３およびパッド２４と記載する。
【００２２】
各ＩＯセル２３＿ｉ（ｉは１以上ｎ以下の整数）は、ＩＯポート論理回路１８から出力データ信号ＤＯ＿ｉと出力許可信号ＯＥ＿ｉを受ける。ＩＯセル２３＿ｉは、出力許可信号ＯＥ＿ｉが活性状態のとき、出力データ信号ＤＯ＿ｉを対応のパッド２４＿ｉを介して出力する。逆に、ＩＯセル２３＿ｉは、出力許可信号ＯＥ＿ｉが非活性状態のとき、対応のパッド２４＿ｉを介して受けた入力データ信号ＤＩ＿ｉをＩＯポート論理回路１８に出力する。なお、この実施の形態では、出力許可信号ＯＥの論理レベルは正論理（活性状態のときＨレベルになり、非活性状態のときＬレベルになる）とするが、必ずしも正論理である必要はない。
【００２３】
ＩＯポート論理回路１８は、外部との間でデータ信号の入出力を制御するために設けられたセレクタ４３、方向レジスタ４１、およびポートラッチ４２を含む。
【００２４】
セレクタ４３は、ＳＣＩ８の指令に応じて、パッド２４を汎用の入出力端子として使用するか、あるいはＳＣＩ８によるシリアル信号の入出力端子として使用するかを切替える機能を有する。
【００２５】
方向レジスタ４１は、パッド２４を汎用の入出力端子として使用する場合に、パッド２４を入力端子として使用するか、もしくは出力端子として使用するかを指定するために設けられる。方向レジスタ４１には内部バス３０を介して入力機能か出力機能かを指示するためのデータが入力され、方向レジスタ４１に保持されたデータに応じてＩＯセル２３の入出力機能が切替えられる。
【００２６】
ポートラッチ４２は、パッド２４を汎用の入出力端子として使用する場合に、出力データ信号ＤＯ＿１〜ＤＯ＿ｎおよび入力データ信号ＤＩ＿１〜ＤＩ＿ｎを一時的に記憶するフリップフロップである。
【００２７】
以下、この発明に関係するデータ出力に関係する部分の構成についてさらに詳しく説明する。以下ではＩＯセル２３＿１の構成を代表として説明する。
【００２８】
図３は、ＩＯセル２３＿１のうちデータ出力に関係する部分の構成を示す回路図である。データ出力に関係するＩＯポート論理回路１８の構成も併せて図３に示される。
【００２９】
図３に示すように、ＩＯポート論理回路１８は、ＩＯセル２３＿１の出力機能を切替えるために設けられたセレクタ４３Ａ，４３Ｂを含む。セレクタ４３Ａは、方向レジスタ４１と接続されるとともに、ＳＣＩ８からＳＣＩ出力許可信号３７Ａを受ける。セレクタ４３Ｂは、ポートラッチ４２と接続されるとともに、ＳＣＩ８からＳＣＩ出力許可信号３７ＡおよびＳＣＩ出力データ信号３７Ｂを受ける。
【００３０】
ＳＣＩ出力許可信号３７Ａが活性状態（Ｈレベル）のとき、セレクタ４３ＡはＩＯセル２３＿１に出力する出力許可信号ＯＥ＿１（以下、ＯＥと簡略化して記載する）を活性状態（Ｈレベル）にする。さらに、セレクタ４３Ｂは、ＳＣＩ８から受けたＳＣＩ出力データ信号３７Ｂを出力データ信号ＤＯ＿１（以下、ＤＯと簡略化して記載する）としてＩＯセル２３＿１に出力する。
【００３１】
ＳＣＩ出力許可信号３７Ａが非活性状態（Ｌレベル）のとき、セレクタ４３Ａは方向レジスタ４１の対応のビットデータに応じて、ＨレベルまたはＬレベルの出力許可信号ＯＥをＩＯセル２３＿１に出力する。さらに、セレクタ４３Ｂは、ポートラッチ４２の対応のフリップフロップに保持されたデータをＩＯセル２３＿１に出力する。方向レジスタ４１の対応のビットデータが“１”（Ｈレベル）のとき出力許可信号ＯＥは活性状態（Ｈレベル）になり、方向レジスタ４１の対応のビットデータが“０”（Ｌレベル）のとき出力許可信号ＯＥは非活性状態（Ｌレベル）になる。
【００３２】
図３のＩＯセル２３＿１は、タイミング調整回路５０、インバータ６１〜６５、ＮＡＮＤ回路６６、出力バッファ７０、および保護回路８０を含む。
【００３３】
タイミング調整回路５０は、出力データ信号ＤＯを受ける第１の信号遅延部５１と、出力許可信号ＯＥを受ける第２の信号遅延部５２を含む。第１の信号遅延部５１は、遅延回路５３Ａを含む。
【００３４】
図４は、図３の遅延回路５３Ａの構成の一例を示す回路図である。図４に示す例では、遅延回路５３Ａは、入力ノードＩＮと出力ノードＯＵＴとの間に縦続接続された複数（図４の場合、４個）のインバータ８３Ａ〜８３Ｄを含む。縦続接続するインバータの個数は遅延時間に応じて決定される。
【００３５】
再び図３を参照して、第２の信号遅延部５２は、遅延回路５３Ｂ，５３ＣおよびＡＮＤ回路５４を含む。ＡＮＤ回路５４の第１の入力端子には、ＩＯポート論理回路１８から受けた出力許可信号ＯＥが入力される。ＡＮＤ回路５４の第２の入力端子には、出力許可信号ＯＥが縦続接続された遅延回路５３Ｂ，５３Ｃを介して入力される。遅延回路５３Ｂ，５３Ｃの構成は図４で示した遅延回路５３Ａと同じである。遅延回路５３Ａ〜５３Ｃについて総称する場合または不特定のものを示す場合に遅延回路５３とも記載する。上記の構成の第１および第２の信号遅延部５１，５２の動作については、図７を参照して後述する。
【００３６】
第１の信号遅延部５１から出力された出力データ信号ＤＯａは、インバータ６１を介してレベルシフタ６７に入力される。レベルシフタ６７は、出力データ信号ＤＯａの電圧レベルを内部電源電圧Ｖｄｄ（たとえば、１〜１．５Ｖ）よりも高い外部電源電圧Ｖｃｃ（３〜５Ｖ）に変換する。これによって、パッド２４に接続される回路の駆動電圧に出力データ信号ＤＯａの電圧レベルを合わせることができる。
【００３７】
同様に、第２の信号遅延部５２によって遅延された出力許可信号ＯＥａは、インバータ６１を介してレベルシフタ６８に入力され、レベルシフタ６８によって電圧レベルがＶｄｄからＶｃｃに変換される。
【００３８】
レベルシフタ６７によってレベル変換された出力データ信号ＤＯｂはＮＡＮＤ回路６６を介して出力バッファ７０に入力される。レベルシフタ６８によってレベル変換された出力許可信号ＯＥｂは縦続接続されたインバータ６３〜６５を介して出力バッファ７０に入力される。インバータ６３，６４の接続ノードＮＤ２は、ＮＡＮＤ回路６６の一方の入力端子と接続される。ＮＡＮＤ回路６６およびインバータ６３〜６５は、出力データ信号ＤＯｂおよび出力許可信号ＯＥｂを整形するために設けられている。
【００３９】
出力バッファ７０は、インバータ７１、ＮＡＮＤ回路７２、ＮＯＲ回路７３、ＰチャネルＭＯＳ（Metal-Oxide  Semiconductor）トランジスタ７４、およびＮチャネルＭＯＳトランジスタ７５を含む。ＭＯＳトランジスタ７４，７５は、この順で電源ノード（外部電源電圧Ｖｃｃ）と接地ノード（接地電圧Ｖｓｓ）との間に接続される。ＭＯＳトランジスタ７４のゲート電極にはＮＡＮＤ回路７２の出力端子が接続され、ＭＯＳトランジスタ７５のゲート電極にはＮＯＲ回路７３の出力端子が接続される。出力データ信号ＤＯｃは、ＮＡＮＤ回路７２およびＮＯＲ回路７３の各第１の入力端子に入力される。出力許可信号ＯＥｃはＮＡＮＤ回路７２の第２の入力端子に入力されるとともに、インバータ７１を介してＮＯＲ回路７３の第２の入力端子に入力される。
【００４０】
上記の出力バッファ７０の構成によれば、出力許可信号ＯＥｃがＨレベルの場合、ＭＯＳトランジスタ７４，７５の接続ノードＮＤ３には出力データ信号ＤＯｃが出力される。出力許可信号ＯＥがＬレベルの場合、ＭＯＳトランジスタ７４，７５は共にオフ状態になるので、接続ノードＮＤ３はハイ・インピーダンス状態になる。
【００４１】
保護回路８０は、ＩＯセル２３＿１を静電気から保護するために設けられ、ダイオード８１，８２を含む。ダイオード８１は、接続ノードＮＤ３と電源ノード（外部電源電圧Ｖｃｃ）との間に逆バイアス方向に接続される。ダイオード８２は、接地ノード（接地電圧Ｖｓｓ）と接続ノードＮＤ３との間に逆バイアス方向に接続される。
【００４２】
［タイミング調整回路５０の動作］
前述のように、図１に示すマイクロコンピュータ１００の各機能ブロック（モジュール）のレイアウトは、通常、自動配線配置ツール用いて設計される。したがって、ＩＯポート論理回路１８とＩＯセル２３＿１とは必ずしも近接して配置されないし、出力データ信号ＤＯの配線距離と出力許可信号ＯＥの配線距離とが必ず等しくなるとも限らない。このために、図３の場合、ＩＯポート論理回路１８からＩＯセル２３＿１に至る間の配線遅延によって、出力データ信号ＤＯと出力許可信号ＯＥとのタイミングにずれ（スキュー）が生じる可能性がある。タイミング調整回路５０が設けられていないＩＯセル回路において、このようなタイミングのずれが生じると出力バッファ７０から出力される外部出力信号ＰＯにハザードが生じることがある。以下、図３の場合と異なり、タイミング調整回路５０が設けられていない場合について、出力バッファ７０からパッド２４＿１を介して出力される外部出力信号ＰＯに含まれるハザードの原因について説明する。
【００４３】
図５は、出力許可信号ＯＥの立上がり時に発生するハザードについて説明するためのタイミング図である。図５は上から順に、出力バッファ７０に入力される出力データ信号ＤＯｃおよび出力許可信号ＯＥｃの波形と、外部出力信号ＰＯの波形とを示す。図５の横軸は時間を示す。
【００４４】
図３、図５を参照して、方向レジスタ４１の対応のビットデータは常にＬレベルとする。この状態で、ＳＣＩ８から出力されるＳＣＩ出力許可信号３７ＡがＬレベルからＨレベルに切替わると、セレクタ４３Ａから出力される出力許可信号ＯＥもＬレベルからＨレベルに切替わる。これに伴なって、セレクタ４３Ｂから、ＳＣＩ出力データ信号３７Ｂに対応した出力データ信号ＤＯが出力される。以下、出力許可信号ＯＥが活性化されたとき、最初に出力すべき出力データ信号ＤＯの論理レベルが“１”（Ｈレベル）であったとする。
【００４５】
時刻ｔ１に出力バッファ７０に入力される出力許可信号ＯＥｃがＬレベルからＨレベルに切替わる。ところが、図５の場合、時刻ｔ１よりもタイミングの遅れた時刻ｔ２に、出力バッファ７０に入力される出力データ信号ＤＯｃがＬレベルから本来出力すべきＨレベルに切り替わる。この結果、時刻ｔ１から時刻ｔ２の間に本来出力すべきＨレベルの信号と異なるＬレベルの外部出力信号ＰＯが出力バッファ７０から出力される。すなわち、出力許可信号ＯＥｃが活性状態の間に出力すべき論理レベル（図５では、Ｈレベル）に出力データ信号ＤＯｃが変化する前に、出力許可信号ＯＥｃが非活性状態（Ｌレベル）から活性状態（Ｈレベル）に切替わった場合に、出力バッファからハザードが出力される。なお、出力許可信号ＯＥｃがＨレベルに切替わる時刻ｔ１より前は、パッド２４＿１はハイ・インピーダンス状態（ｈｉｇｈ−Ｚ）である。
【００４６】
図６は、出力許可信号ＯＥの立下がり時に発生するハザードについて説明するためのタイミング図である。図６は上から順に、出力バッファ７０に入力される出力データ信号ＤＯｃおよび出力許可信号ＯＥｃの波形と、外部出力信号ＰＯの波形とを示す。図６の横軸は時間を示す。
【００４７】
図３、図６を参照して、方向レジスタ４１の対応のビットデータは常にＬレベルとする。この状態で、ＳＣＩ８から出力されるＳＣＩ出力許可信号３７ＡがＨレベルからＬレベルに切替わると、セレクタ４３Ａから出力される出力許可信号ＯＥもＨレベルからＬレベルに切替わる。以下、出力許可信号ＯＥが非活性化される前の最後に出力すべき出力データ信号ＤＯの論理レベルが“１”（Ｈレベル）であったとする。
【００４８】
時刻ｔ４に出力バッファ７０に入力される出力許可信号ＯＥｃがＨレベルからＬレベルに切替わる。ところが、図６の場合、時刻ｔ４よりもタイミングの早い時刻ｔ３に、出力バッファ７０に入力される出力データ信号ＤＯｃが本来出力すべきＨレベルからＬレベルに切り替わる。この結果、時刻ｔ３から時刻ｔ４の間に本来出力すべきＨレベルの信号と異なるＬレベルの外部出力信号ＰＯが出力バッファ７０から出力される。すなわち、出力許可信号ＯＥｃが活性状態の間に出力すべき論理レベル（図６では、Ｈレベル）と異なる論理レベルに出力データ信号ＤＯｃが変化した後に、出力許可信号ＯＥｃが活性状態（Ｈレベル）から非活性状態（Ｌレベル）に切替わった場合に、出力バッファ７０からハザードが出力される。出力許可信号ＯＥｃがＬレベルに切替わった時刻ｔ４より後は、パッド２４＿１はハイ・インピーダンス状態（ｈｉｇｈ−Ｚ）である。
【００４９】
実施の形態１の各ＩＯセル２３には、上記の図５、図６で説明した原因でハザードが発生することを防止するためにタイミング調整回路５０が設けられる。タイミング調整回路５０は、出力バッファ７０に出力データ信号ＤＯｃおよび出力許可信号ＯＥｃが入力された時点で、出力許可信号ＯＥｃが活性状態の間に出力すべき論理レベルにデータ信号ＤＯｃが変化した後に出力許可信号ＯＥｃが非活性状態から活性状態に切替わり、かつ、出力許可信号ＯＥｃが活性状態の間に出力すべき論理レベルをデータ信号ＤＯｃが保持している間に出力許可信号ＯＥｃが活性状態から非活性状態に切替わるように、出力データ信号ＤＯおよび出力許可信号ＯＥの少なくとも一方のタイミングを調整する。各ＩＯセル２３内に設けられたレベルシフタ６７，６８などによっても信号の遅延が生じるので、タイミング調整回路５０によるタイミング調整はこのようなＩＯセル内の回路による遅延時間も考慮される。
【００５０】
図３には、タイミング調整回路５０の具体的な回路の一例として、第１および第２の信号遅延部５１，５２が示される。この回路は、出力データ信号ＤＯと出力許可信号ＯＥとがほぼ同時に変化する場合において、ハザードの発生を防止するのに有効である。
【００５１】
図７は、第１および第２の信号遅延部５１，５２の動作を説明するためのタイミング図である。図７は上から順に、第１の信号遅延部５１に入力される出力データ信号ＤＯ、第２の信号遅延部５２に入力される出力許可信号ＯＥ、第１の信号遅延部５１から出力される出力データ信号ＤＯａ、および第２の信号遅延部５２から出力される出力許可信号ＯＥａの各電圧波形が示される。横軸は時間を示す。図７において、図３の遅延回路５３Ａ〜５３Ｃの各遅延時間をＴｄ１とする。ＮＡＮＤ回路５４の遅延時間は、遅延時間Ｔｄ１に比べて小さいので無視される。
【００５２】
図３、図７を参照して、図７の時刻ｔ１において、第１および第２の信号遅延部５１，５２にそれぞれ入力される出力データ信号ＤＯおよび出力許可信号ＯＥが両方ともＬレベルからＨレベルに切替わったとする。そうすると、遅延回路５３Ａによる遅延時間Ｔｄ１が経過した時刻ｔ２において、第１の信号遅延部５１から出力される出力データ信号ＤＯａがＬレベルからＨレベルに切替わる。さらに、遅延回路５３Ｂ，５３Ｃによる遅延時間Ｔｄ１×２が経過した時刻ｔ３に、第２の信号遅延部５２のＡＮＤ回路５４の入力端子に入力される信号がいずれもＨレベルになるので、ＡＮＤ回路５４から出力される出力許可信号ＯＥａがＨレベルに切替わる。
【００５３】
次の時刻ｔ４において、第１信号遅延部５１に入力される出力データ信号ＤＯおよび第２の信号遅延部５２に入力される出力許可信号ＯＥが両方ともＨレベルからＬレベルに切替わる。このとき、ＡＮＤ回路５４から出力される出力許可信号ＯＥａもＬレベルに切替わる。その後、遅延回路５３Ａによる遅延時間Ｔｄ１が経過した時刻ｔ５に、第１の信号遅延部５１から出力される出力データ信号ＤＯａがＨレベルからＬレベルに切替わる。
【００５４】
以上のように、第１の信号遅延部５１は、入力された出力データ信号ＤＯを第１の遅延時間（Ｔｄ１）だけ遅延させる。第２の信号遅延部５２は、入力された出力許可信号ＯＥの立上がりのタイミング（非活性状態から活性状態への切替わるタイミング）を第２の遅延時間（Ｔｄ１×２）だけ遅延させ、立下がりのタイミングを遅延させない。この結果、出力データ信号ＯＥａの論理レベルがＨレベルである間（時刻ｔ２〜ｔ５）に、出力許可信号ＯＥａを非活性状態（Ｌレベル）から活性状態（Ｈレベル）に切替えかつ活性状態（Ｈレベル）から非活性状態（Ｌレベル）に切替えることができる。
【００５５】
図７では、単一の出力データ“１”が出力される場合を示したが、複数のデータからなるデータ列が出力されてもよい。この場合には、出力許可信号ＯＥが活性状態の間に出力する最初のデータの論理レベルにデータ信号ＤＯが変化した後に、出力許可信号ＯＥを非活性状態（Ｌレベル）から活性状態（Ｈレベル）に切替え、出力許可信号ＯＥが活性状態の間に出力する最後のデータの論理レベルをデータ信号ＤＯが保持している間に、出力許可信号ＯＥを活性状態（Ｈレベル）から非活性状態（Ｌレベル）に切替える。
【００５６】
遅延時間Ｔｄ１は、出力許可信号ＯＥと出力データ信号ＤＯとのタイミングのずれに応じて決定される。このとき、ＳＣＩ８、タイマ６，７などの同一の機能ブロックに対応するＩＯセル２３に対しては同一の遅延時間Ｔｄ１に設定することが好ましい。
【００５７】
なお、遅延回路５３Ａ〜５３Ｃの遅延時間は必ずしも同じにする必要はなく、出力許可信号ＯＥの立下がりのタイミングの遅延を必ずしも０にする必要はない。より一般的には、出力許可信号ＯＥが非活性状態から活性状態に切替わるタイミングの遅延時間を第１の信号遅延部５１による遅延時間よりも長くし、活性状態から非活性状態に切替わるタイミングの遅延時間を第１の信号遅延部５１による遅延時間よりも短くすればよい。
【００５８】
［ＩＯセル２３のレイアウトの一例］
図８は、図２のＩＯセル２３およびパッド２４のレイアウトの一例を示す平面図である。図８には、ＩＯセル２３＿１，２３＿２およびパッド２４＿１，２４＿２のレイアウトの一例が示されている。各ＩＯセル２３および各パッド２４のレイアウトは同じであるので、以下では、ＩＯセル２３＿１，パッド２４＿１のレイアウトを代表として説明する。
【００５９】
図８に示すように、半導体基板１上には、基板端１Ａに近接する側から順に領域Ｒ１〜Ｒ５が設けられる。領域Ｒ１にはパッド２４＿１が設けられる。領域Ｒ２には、図３の保護回路８０や出力バッファ７０などが設けられる。領域Ｒ３には、図３のレベルシフタ６７，６８や、入力データ信号ＤＩ＿１用のレベルシフタや入力バッファなどが設けられる。領域Ｒ４には、図３のバッファ用のインバータ６１，６２などの回路が設けられる。領域Ｒ５には、図３のタイミング調整回路５０が設けられる。
【００６０】
レベルシフタが設けられる領域Ｒ３を挟んで、基板端１Ａに近接する側（−Ｙ方向側）の領域Ｒ２に設けられた回路が外部電源電圧Ｖｃｃで動作し、反対の＋Ｙ方向側の領域Ｒ４，Ｒ５に設けられた回路が内部電源電圧Ｖｄｄで動作する。タイミング調整回路５０を内部電源電圧Ｖｄｄで動作させることによって、外部電源電圧Ｖｃｃで動作させるよりもタイミング調整回路５０に必要な回路面積を縮小することができる。さらに、外部電源電圧Ｖｃｃよりも電圧の変動の少ない内部電源電圧Ｖｄｄで動作させることによって、タイミング調整が容易になる。
【００６１】
［変形例］
図９〜図１１は、図４の遅延回路５３の変形例を示す回路図である。
【００６２】
図９を参照して、遅延回路５５は、入力ノードＩＮと出力ノードＯＵＴとの間に設けられた抵抗素子８４と、出力ノードＯＵＴと接地ノード（接地電圧Ｖｓｓ）との間に設けられたコンデンサ８５とを含む。遅延回路５５の遅延時間は、抵抗素子８４の抵抗値とコンデンサ８５の容量値との積によって決まる。
【００６３】
図１０を参照して、遅延回路５６は、インバータなどのゲート回路８６Ａ，８６Ｂと、否定排他的論理和回路８７と、Ｄフリップフロップ８８とを含む。否定排他的論理和回路８７の第１の入力端子は遅延回路５６の入力ノードＩＮに直接接続され、第２の入力端子はゲート回路８６Ａ，８６Ｂを介して入力ノードＩＮに接続される。Ｄフリップフロップ８８のクロック端子ＣＬＫは否定排他的論理和回路８７の出力端子に接続され、入力端子Ｄは遅延回路５６の入力ノードＩＮに接続される。Ｄフリップフロップ８８の出力端子Ｑは遅延回路５６の出力ノードＯＵＴに接続される。
【００６４】
上記の回路構成によれば、入力ノードＩＮの入力信号が変化するとき、ゲート回路８６Ａ，８６Ｂに応じた遅延時間の間、Ｄフリップフロップ８８のクロック端子ＣＬＫの入力がＬレベルになる。したがって、その間、Ｄフリップフロップ８８によって入力信号が変化する前の値が保持されるので、出力ノードＯＵＴの出力信号を遅延させることができる。
【００６５】
図１１を参照して、遅延回路５７は、縦続接続されたゲート回路８９Ａ〜８９Ｄと、選択回路９０とを含む。初段のゲート回路８９Ａの入力端子は遅延回路５７の入力ノードＩＮに接続され、最終段のゲート回路８９Ｄの出力端子は選択回路９０に接続される。さらに、ゲート回路８９Ａ〜８９Ｄの各接続ノードＮＤ４〜ＮＤ６も選択回路９０に接続される。選択回路は、２ビットの選択信号ＳＬに応じて、ゲート回路８９Ａ〜８９Ｄのいずれか１つの出力信号を遅延回路５７の出力ノードＯＵＴに出力する。これによって、遅延回路５７の遅延時間を調整することができる。
【００６６】
図１２は、図３のタイミング調整回路５０の変形例を示す回路図である。図１２の変形例では、図２のタイミング調整回路５０に代えて、縦続接続された複数のタイミング調整回路５０Ａ，５０Ｂが設けられる。図１２の場合には２個の場合が例示されている。したがって、図１２の場合には、１個のタイミング調整回路を設けた場合に比べて出力許可信号ＯＥおよび出力データ信号ＤＯの遅延時間を２倍にすることができる。ＬＳＩのレイアウト設計時には、タイミング調整回路をマクロセルとして登録しておき、タイミング調整回路を縦続接続する個数を調整することで容易にタイミング調整を行なうことができる。
【００６７】
＜実施の形態２＞
近年の半導体プロセスの進歩によって半導体回路の素子感度が上がっているので、一旦発生したハザードは消滅することなく伝播する。このため、発生したハザードがＩＯセル２３に入力される出力データ信号ＤＯおよび出力許可信号ＯＥ中に含まれる場合がある。実施の形態２では、このような場合に半導体装置の外部に出力されるハザードを防止するための手段について説明する。
【００６８】
図１３は、この発明の実施の形態２による半導体装置に用いられるＩＯセル２３Ａ＿１のうちデータ出力に関係する部分の構成を示す回路図である。図１３のＩＯセル２３Ａ＿１は、タイミング調整回路５０の前段に設けられたハザード除去回路９１Ａ，９１Ｂをさらに含む点で図３のＩＯセル２３＿１と異なる。ハザード除去回路９１Ａは出力データ信号ＤＯに含まれ得るハザードを除去し、ハザード除去回路９１Ｂは出力許可信号ＯＥに含まれ得るハザードを除去する。図１３のその他の構成は図３のＩＯセル２３＿１と同じであるので、同一または相当する部分には同一の参照符号を付して説明を繰返さない。ハザード除去回路９１Ａ，９１Ｂは同一の構成であるので、以下では、ハザード除去回路９１Ａを代表として説明する。
【００６９】
ハザード除去回路９１Ａは、遅延回路９２と、ＡＮＤ回路９３と、ＮＯＲ回路９４〜９６とを含む。ここで、遅延回路９２として、図４、図９〜図１１で説明した遅延回路のいずれを用いてもよい。
【００７０】
図１３に示すように、ＡＮＤ回路９３およびＮＯＲ回路９４の各第１の入力端子には、ＩＯポート論理回路１８から出力された出力データ信号ＤＯが入力される。ＡＮＤ回路９３およびＮＯＲ回路９４の各第２の入力端子には、遅延回路９２を介して出力データ信号ＤＯが入力される。ＡＮＤ回路９３の出力端子はＮＯＲ回路９５の第１の入力端子に接続され、ＮＯＲ回路９４の出力端子はＮＯＲ回路９６の第１の入力端子に接続される。ＮＯＲ回路９５，９６は、一方の出力端子が他方の第２の入力端子に接続されることによってＲＳフリップフロップ９７を構成する。ＲＳフリップフロップ９７に入力されるＡＮＤ回路９３の出力信号がセット信号であり、ＮＯＲ回路９４の出力信号がリセット信号である。
【００７１】
図１４は、図１３のハザード除去回路９１Ａの動作を説明するためのタイミング図である。図１４は上から順に、ハザード除去回路９１Ａの入力ノードＮＤ１０、遅延回路９２の出力ノードＮＤ１１、ＡＮＤ回路９３の出力ノードＮＤ１２、ＮＯＲ回路９４の出力ノードＮＤ１３、およびハザード除去回路９１Ａの出力ノードＮＤ１４の各電圧波形が示される。図１４の横軸は時間である。
【００７２】
図１３、図１４を参照して、入力ノードＮＤ１０に入力される出力データ信号ＤＯは、時刻ｔ３でＬレベルからＨレベルに切替わり、時刻ｔ７でＨレベルからＬレベルに切替わる。出力データ信号ＤＯには、時刻ｔ１，ｔ２にパルス幅Ｔｄ２のハザードが含まれる。
【００７３】
遅延回路９２の出力ノードＮＤ１１の電圧波形は、入力ノードＮＤ１０の電圧波形を遅延回路９２の遅延時間Ｔｄ３だけ遅延させることによって得られる。すなわち、出力ノードＮＤ１１の電圧は、時刻ｔ４でＬレベルからＨレベルに切替わり、時刻ｔ８でＨレベルからＬレベルに切替わる。時刻ｔ２，ｔ６にハザードが含まれる。ここで、遅延回路９２の遅延時間Ｔｄ３はハザードのパルス幅Ｔｄ２よりも大きく設定する必要がある。
【００７４】
ノードＮＤ１２の電圧波形は、ノードＮＤ１０，ＮＤ１１の電圧波形をＡＮＤ演算することによって得られる。ノードＮＤ１３の電圧波形は、ノードＮＤ１０，ＮＤ１１の電圧波形をＮＯＲ演算することによって得られる。ノードＮＤ１４の電圧波形は、ノードＮＤ１２の電圧波形をセット信号とし、ノードＮＤ１３の電圧波形をリセット信号としたときのＲＳフリップフロップの出力波形となっている。この結果、図１４に示すようにノードＮＤ１４の電圧波形からはハザードが除去される。
【００７５】
このように実施の形態２のＩＯセル２３Ａは、タイミング調整回路５０の前段にハザード除去回路９１Ａ，９１Ｂを設けることによって、ＩＯセル２３Ａから半導体装置の外部に出力される外部出力信号ＰＯに含まれ得るハザードを完全に防止することができる。したがって、図１３のＩＯセル２３Ａの回路構成は、自動配置配線ツールを用いる場合に好適に用いることができる。
【００７６】
ハザード除去回路９１Ａ，９１Ｂは、図８に示すレイアウト図では、タイミング調整回路５０と同じ領域Ｒ５に配置される。ハザード除去回路９１Ａ，９１Ｂを内部電源電圧Ｖｄｄで動作させることによって、外部電源電圧Ｖｃｃで動作させる場合に比べて回路面積を小さくすることができる。
【００７７】
なお、ハザード除去回路９１Ａ，９１Ｂをタイミング調整回路５０の後段に設けることは好ましくない。出力許可信号ＯＥ自身にハザードが含まれている場合にハザード除去回路９１Ａ，９１Ｂをタイミング調整回路５０の後段に設ける場合は、第２の信号遅延部５２によって広がるパルス幅に応じて遅延回路９２の遅延時間を決定する。
【００７８】
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００７９】
１１〜１９  ＩＯポート論理回路、２３，２３Ａ  ＩＯセル（インターフェース部）、２４  パッド、２５  内部回路、３０  内部バス、５０，５０Ａ，５０Ｂ  タイミング調整回路、５１  第１の信号遅延部、５２  第２の信号遅延部、６７，６８  レベルシフタ、７０  出力バッファ、９１Ａ，９１Ｂ  ハザード除去回路、１００  マイクロコンピュータ、ＤＩ  入力データ信号、ＤＯ  出力データ信号、ＯＥ  出力許可信号、ＰＯ  外部出力信号。
【図１】
2011130319.tif 000003
【図２】
2011130319.tif 000004
【図３】
2011130319.tif 000005
【図４】
2011130319.tif 000006
【図５】
2011130319.tif 000007
【図６】
2011130319.tif 000008
【図７】
2011130319.tif 000009
【図８】
2011130319.tif 000010
【図９】
2011130319.tif 000011
【図１０】
2011130319.tif 000012
【図１１】
2011130319.tif 000013
【図１２】
2011130319.tif 000014
【図１３】
2011130319.tif 000015
【図１４】
2011130319.tif 000016