説明

半導体装置、入力パッドセル群および出力パッドセル群

【課題】 配線領域の面積を縮小することができ、容易に設計することのできる半導体装置を提供する。
【解決手段】 本発明における半導体装置は、LSIチップに入力された入力信号を内部回路に伝達する入力パッドセル401を複数個備え、前記入力パッドセル401は、前記入力信号が入力されるパッド開口410と、前記パッド開口410に入力された信号を取り込む単位シフトレジスタ408とを備え、記複数個の入力パッドセル401の複数個の単位シフトレジスタ408は、複数個のパッド開口410に入力されたパラレル信号をシリアル信号に変換するシフトレジスタを構成し、最終段の単位シフトレジスタ408のシリアル出力は、内部回路に送られる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置に関し、特に、複数のデジタル入出力を備える半導体装置に関する。
【背景技術】
【0002】
デジタル入出力を備える半導体装置は、半導体装置へのデジタル信号入力を受け取り、内部回路に伝達する半導体回路(以下「入力PAD」と呼ぶ)、半導体装置の内部回路から伝達された信号を外部にデジタル信号出力する半導体回路(以下「出力PAD」と呼ぶ)、上記の入力と出力機能を兼ね備えた半導体回路(以下「入出力PAD」と呼ぶ)を備える(入力PAD、出力PADおよび入出力PADを特に区別しない場合には「IOPAD」と呼ぶ)。IOPADから内部回路へ、または、内部回路からIOPADへの信号伝達には、各IOPADに数本の配線が用いられる。
【0003】
図34は、従来のデジタル入出力を備える半導体装置の入出力PADとその周辺回路の構成を示す図である。図に示すように、入力PAD301および出力パッド302に接続される配線は、配線領域309を通って、IOポート303に接続される。
【0004】
図34に示す入力PAD301および出力PAD302と、IOポート303等の内部回路とは、半導体チップ内で離れて配置されている場合が多く、配線領域309は広い領域に形成されることになる。さらに、入出力PADの数が多い半導体装置では、その入出力PADの数に対応した本数の配線を、配線領域309に形成しなくてはならない。また、図35および図36に示すように、ハードマクロ(例えば、メモリコア)を混載する場合には、ハードマクロを迂回し配線領域を形成しなくてはならない。そのため、入出力PADと内部回路とを接続する、ハードマクロを迂回した配線数が非常に多くなる。よって、図36に示すように、広い配線領域309が必要となり、半導体チップの面積を増大させる要因となる。
【0005】
このような配線領域による面積増加を抑制する手段として、感熱記録ヘッド駆動用ICの出力PAD付近にシフトレジスタを備える方法が開示されている(例えば、特許文献1)。
【特許文献1】特開平8−267811号公報(図3)
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に開示されている技術は、特定のLSIチップに特化された技術であり、汎用的にICの設計に用いる場合、LSIチップ設計がわずらわしいという問題がある。
【0007】
そこで、本発明は、配線領域の面積を縮小することができ、容易に設計することのできる半導体装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明に係るパッドセル群は、LSIチップに信号の入力または出力をおこなうパッドセルを複数個備えたパッドセル群であって、前記各パッドセルは、前記信号が入力または出力されるパッドと、前記パッドに接続された単位シフトレジスタとを備え、前記複数個のパッドセルの複数個の単位シフトレジスタは、複数個のパッドに入力されたパラレル信号をシリアル信号に変換する、または、シリアル信号をパラレル信号に変換し前記複数個のパッドに出力するシフトレジスタを構成し、最終段の単位シフトレジスタのシリアル出力、および、初段の単位シフトレジスタのシリアル入力のうち少なくとも1つは、LSIチップの内部回路と接続される。
【0009】
これにより、パッドセル群と内部回路とに接続される配線数が減少するので、配線領域が減少する。これにより、チップ面積を縮小、または、回路実装面積を増加させることができる。さらに、前記パッドセル群は、単位セル(IPコア等)として利用するのに適した複数のパッドセルを備えるので、LSIチップの入出力回路のレイアウト設計を容易にすることができる。
【0010】
また、前記各パッドセルは、前記単位シフトレジスタにシフトデータを入力するためのシフトデータ入力端子と、前記単位シフトレジスタからのシフトデータを出力するためのシフトデータ出力端子と、前記単位シフトレジスタにクロックを入力するためのクロック配線と、前記クロック配線に接続された第一のクロック端子および第二のクロック端子と、前記単位シフトレジスタに前記単位シフトレジスタのシフト動作と前記パッドへの信号の入力または出力とを制御するストローブ信号を入力するためのストローブ配線と、前記ストローブ配線に接続された第一のストローブ端子および第二のストローブ端子とを備え、シフトデータ入力端子、シフトデータ出力端子、第一のクロック端子、第二のクロック端子、第一のストローブ端子および第二のストローブ端子は、各パッドセルのレイアウト領域における他のパッドセルと隣接する境界に配置され、各パッドセルのシフトデータ入力端子のレイアウト位置は、各パッドセルの前段に隣接して配置されたパッドセルのシフトデータ出力端子のレイアウト位置と接し、各パッドセルの第一のクロック端子のレイアウト位置は、各パッドセルの前段に隣接して配置されたパッドセルの第二のクロック端子のレイアウト位置と接し、各パッドセルの第一のストローブ端子のレイアウト位置は、各パッドセルの前段に隣接して配置されたパッドセルの第二のストローブ端子のレイアウト位置と接し、各パッドセルのシフトデータ出力端子のレイアウト位置は、各パッドセルの後段に隣接して配置されたパッドセルのシフトデータ入力端子のレイアウト位置と接し、各パッドセルの第二のクロック端子のレイアウト位置は、各パッドセルの後段に隣接して配置されたパッドセルの第一のクロック端子のレイアウト位置と接し、各パッドセルの第二のストローブ端子のレイアウト位置は、各パッドセルの後段に隣接して配置されたパッドセルの第一のストローブ端子のレイアウト位置と接する。
【0011】
これにより、前記パッドセルを単位セル(IPコア等)とし、半導体チップの入出力回路の回路構成にあわせ、このパッドセルを複数個配置することで簡単に半導体チップの入出力回路のレイアウトを作成することができ、半導体チップの設計を容易にすることができる。
【0012】
さらに、本発明に係る入力パッドセル群は、LSIチップに入力された入力信号を内部回路に伝達する入力パッドセルを複数個備えた入力パッドセル群であって、前記各入力パッドセルは、前記入力信号が入力される入力パッドと、前記入力パッドに入力された信号を取り込む単位シフトレジスタとを備え、前記複数個の入力パッドセルの複数個の単位シフトレジスタは、複数個のパッドに入力されたパラレル信号をシリアル信号に変換するシフトレジスタを構成し、最終段の単位シフトレジスタのシリアル出力は、内部回路に送られる。
【0013】
これにより、入力パッドセル群と内部回路とに接続される配線数が減少するので、配線領域が減少する。これにより、チップ面積を縮小、または、回路実装面積を増加させることができる。さらに、前記入力パッドセル群は、単位セル(IPコア等)として利用するのに適した複数の入力パッドセルを備えるので、LSIチップの入力回路のレイアウト設計を容易にすることができる。
【0014】
また、前記各入力パッドセルは、前記単位シフトレジスタにシフトデータを入力するためのシフトデータ入力端子と、前記単位シフトレジスタからのシフトデータを出力するためのシフトデータ出力端子と、前記単位シフトレジスタにクロックを入力するためのクロック配線と、前記クロック配線に接続された第一のクロック端子および第二のクロック端子と、前記単位シフトレジスタに前記単位シフトレジスタのシフト動作と前記パッドへの信号の入力または出力とを制御するストローブ信号を入力するためのストローブ配線と、前記ストローブ配線に接続された第一のストローブ端子および第二のストローブ端子とを備え、シフトデータ入力端子、シフトデータ出力端子、第一のクロック端子、第二のクロック端子、第一のストローブ端子および第二のストローブ端子は、各入力パッドセルのレイアウト領域における他の入力パッドセルと隣接する境界に配置され、各入力パッドセルのシフトデータ入力端子のレイアウト位置は、各入力パッドセルの前段に隣接して配置された入力パッドセルのシフトデータ出力端子のレイアウト位置と接し、各入力パッドセルの第一のクロック端子のレイアウト位置は、各入力パッドセルの前段に隣接して配置された入力パッドセルの第二のクロック端子のレイアウト位置と接し、各入力パッドセルの第一のストローブ端子のレイアウト位置は、各入力パッドセルの前段に隣接して配置された入力パッドセルの第二のストローブ端子のレイアウト位置と接し、各入力パッドセルのシフトデータ出力端子のレイアウト位置は、各入力パッドセルの後段に隣接して配置された入力パッドセルのシフトデータ入力端子のレイアウト位置と接し、各入力パッドセルの第二のクロック端子のレイアウト位置は、各入力パッドセルの後段に隣接して配置された入力パッドセルの第一のクロック端子のレイアウト位置と接し、各入力パッドセルの第二のストローブ端子のレイアウト位置は、各入力パッドセルの後段に隣接して配置された入力パッドセルの第一のストローブ端子のレイアウト位置と接する。
【0015】
これにより、前記入力パッドセルを単位セル(IPコア等)とし、半導体チップの入力回路の回路構成にあわせ、このパッドセルを複数個配置することで簡単に半導体チップの入力回路のレイアウトを作成することができ、半導体チップの設計を容易にすることができる。
【0016】
また、前記シフトレジスタは、双方向に信号をシフトし、両端の単位シフトレジスタの出力は、内部回路に送られる。
【0017】
これにより、外部より入力パッドセル群に印加された信号を、少ないクロック数で内部回路に送ることができる。
【0018】
また、前記入力パッドセルのうち少なくとも1つは、さらに、前記入力パッドに入力された信号を、前記単位シフトレジスタを介さず、非同期に出力する論理回路部を備え、前記複数個の入力パッドセルの複数個の論理回路部は、直列に接続され、最終段の論理回路部の出力は、内部回路に送られる。
【0019】
これにより、外部より入力パッドセル群に印加された信号を、非同期に内部回路に送ることができる。
【0020】
また、前記各入力パッドセルは、さらに、前記単位シフトレジスタのシリアル出力信号と、シリアル入力信号のいずれかを選択し、次段の単位シフトレジスタに出力する選択回路と、前記選択回路の選択を決める信号を前記選択回路に送る、単位バイパスシフトレジスタとを備え、前記複数個の入力パッドセルの複数個の単位バイパスシフトレジスタは、シフトレジスタを構成し、初段の単位バイパスシフトレジスタの入力は、内部回路から送られる。
【0021】
これにより、外部より入力パッドセル群に印加された信号のうち、特定の信号を、少ないクロック数で内部回路に送ることができる。
【0022】
また、前記各入力パッドセルは、LSIチップに入力された入力信号を内部回路に伝達するだけでなく、LSIチップの内部回路から出力された出力信号を外部に出力する機能を有し、前記各入力パッドセルは、さらに、前記出力信号を出力する出力バッファと、
出力レベルを決める信号である出力データ信号を保持し、出力バッファに送る単位データシフトレジスタと、出力状態を決める信号である出力制御信号を保持し、出力バッファに送る単位制御シフトレジスタとを備え、前記複数個の入力パッドセルの複数個の単位データシフトレジスタおよび単位制御シフトレジスタは、シフトレジスタを構成し、初段の単位データシフトレジスタまたは単位制御シフトレジスタの入力は、内部回路より送られる。
【0023】
これにより、入力と出力機能を兼ね備えた入力パッドセル群と内部回路とに接続される配線数が減少するので、配線領域が減少する。これにより、チップ面積を縮小、または、回路実装面積を増加させることができる。さらに、入力と出力機能を兼ね備えた前記入力パッドセル群は、単位セル(IPコア等)として利用するのに適した複数の出力パッドセルを備えるので、LSIチップの出力回路のレイアウト設計を容易にすることができる。
【0024】
さらに、本発明に係る出力パッドセル群は、LSIチップの内部回路から出力された出力信号を外部に出力する出力パッドセルを複数個備えた出力パッドセル群であって、前記各出力パッドセルは、前記出力信号を外部に出力する出力パッドと、信号を保持し、前記出力パッドに送る単位シフトレジスタとを備え、前記複数個の出力パッドセルの複数個の単位シフトレジスタは、シリアル信号をパラレル信号に変換し前記複数個の出力パッドに送るシフトレジスタを構成し、初段の単位シフトレジスタのシリアル入力は、内部回路より送られる。
【0025】
これにより、出力パッドセル群と内部回路とに接続される配線数が減少するので、配線領域が減少する。これにより、チップ面積を縮小、または、回路実装面積を増加させることができる。さらに、前記出力パッドセル群は、単位セル(IPコア等)として利用するのに適した複数の出力パッドセルを備えるので、LSIチップの出力回路のレイアウト設計を容易にすることができる。
【0026】
また、前記各出力パッドセルは、前記単位シフトレジスタにシフトデータを入力するためのシフトデータ入力端子と、前記単位シフトレジスタからのシフトデータを出力するためのシフトデータ出力端子と、前記単位シフトレジスタにクロックを入力するためのクロック配線と、前記クロック配線に接続された第一のクロック端子および第二のクロック端子と、前記単位シフトレジスタに前記単位シフトレジスタのシフト動作と前記パッドへの信号の入力または出力とを制御するストローブ信号を入力するためのストローブ配線と、前記ストローブ配線に接続された第一のストローブ端子および第二のストローブ端子とを備え、シフトデータ入力端子、シフトデータ出力端子、第一のクロック端子、第二のクロック端子、第一のストローブ端子および第二のストローブ端子は、各出力パッドセルのレイアウト領域における他の出力パッドセルと隣接する境界に配置され、各出力パッドセルのシフトデータ入力端子のレイアウト位置は、各出力パッドセルの前段に隣接して配置された出力パッドセルのシフトデータ出力端子のレイアウト位置と接し、各出力パッドセルの第一のクロック端子のレイアウト位置は、各出力パッドセルの前段に隣接して配置された出力パッドセルの第二のクロック端子のレイアウト位置と接し、各出力パッドセルの第一のストローブ端子のレイアウト位置は、各出力パッドセルの前段に隣接して配置された出力パッドセルの第二のストローブ端子のレイアウト位置と接し、各出力パッドセルのシフトデータ出力端子のレイアウト位置は、各出力パッドセルの後段に隣接して配置された出力パッドセルのシフトデータ入力端子のレイアウト位置と接し、各出力パッドセルの第二のクロック端子のレイアウト位置は、各出力パッドセルの後段に隣接して配置された出力パッドセルの第一のクロック端子のレイアウト位置と接し、各出力パッドセルの第二のストローブ端子のレイアウト位置は、各出力パッドセルの後段に隣接して配置された出力パッドセルの第一のストローブ端子のレイアウト位置と接する。
【0027】
これにより、前記出力パッドセルを単位セル(IPコア等)とし、半導体チップの出力回路の回路構成にあわせ、このパッドセルを複数個配置することで簡単に半導体チップの出力回路のレイアウトを作成することができ、半導体チップの設計を容易にすることができる。
【0028】
また、前記各出力パッドセルの単位シフトレジスタは、前記出力パッド出力信号を出力する出力バッファと、出力レベルを決める信号である出力データ信号を保持し、出力バッファに送る単位データシフトレジスタと、出力状態を決める信号である出力制御信号を保持し、出力バッファに送る単位制御シフトレジスタとを備え、前記複数個の出力パッドセルの複数個の単位データシフトレジスタおよび単位制御シフトレジスタは、シフトレジスタを構成し、初段の単位データシフトレジスタまたは単位制御シフトレジスタの入力は、内部回路より送られる。
【0029】
これにより、出力状態制御を備えた出力パッドセル群と内部回路とに接続される配線数が減少するので、配線領域が減少する。これにより、チップ面積を縮小、または、回路実装面積を増加させることができる。さらに、出力状態制御を備えた前記出力パッドセル群は、単位セル(IPコア等)として利用するのに適した複数の出力パッドセルを備えるので、LSIチップの出力回路のレイアウト設計を容易にすることができる。
【0030】
また、前記シフトレジスタは、双方向に信号をシフトし、両端の単位シフトレジスタの入力は、内部回路から送られる。
【0031】
これにより、内部回路から出力される出力信号を、少ないクロック数で外部に出力することができる。
【0032】
さらに、本発明に係る半導体装置は、前記入力パッドセル群、および、前記出力パッドセル群のうち1以上を備える。
【0033】
これにより、半導体装置のIOPADと内部回路とに接続される配線数が減少するので、配線領域が減少する。これにより、チップ面積を縮小、または、回路実装面積を増加させることができる。
【0034】
また、前記入力パッドセル群と、前記出力パッドセル群とを備え、前記入力パッドセル群のシフトレジスタと、前記出力パッドセル群のシフトレジスタとの入力および出力が、互いに接続されていない。
【0035】
これにより、外部より入力パッドセル群に印加された信号を、少ないクロック数で内部回路に送ることができる。さらに、内部回路から出力される出力信号を、少ないクロック数で外部に出力することができる。
【0036】
また、前記半導体装置は、さらに、前記入力パッドセル群のシフトレジスタより出力されるシリアル信号をパラレル信号に変換し、内部回路に送る出力シフトレジスタ部を備える。
【0037】
また、前記半導体装置は、さらに、内部回路からのパラレル信号をシリアル信号に変換し、前記出力パッドセル群のシフトレジスタの入力に送る入力シフトレジスタ部を備える。
【0038】
また、前記半導体装置は、さらに、前記出力シフトレジスタ部より出力されるパラレル信号のうち必要な信号を、並び替え、保持および出力するデータアライナ部を備える。
【発明の効果】
【0039】
本発明は、配線領域の面積を縮小することができ、容易に設計することのできる半導体装置を提供することができる。
【発明を実施するための最良の形態】
【0040】
(実施の形態1)
以下、本発明に係る半導体装置の実施の形態について、図面を参照しながら詳細に説明する。
【0041】
まず、実施の形態1における半導体装置の構成を説明する。
図1は、実施の形態1における半導体装置の入出力回路とその周辺の概略図である。同図は、2個の入力PADと1個の出力PADを備える。
【0042】
図1に示す半導体装置は、入力PAD401および1102と、出力PAD501と、入力シフトレジスタ部1104と、出力シフトレジスタ部1105と、IOポート部1106と、シフト制御部1107とを備える。なお、入力PAD1102は、入力PAD1102と同様の構成である。
【0043】
図2は、入力PAD401の概略図である。なお、入力PAD1102は、入力PAD402と同様の構成である。
【0044】
入力PAD401は、PAD開口410と、入力バッファ409と、入力データセル408とを備える。PAD開口410に、外部より信号が入力される。
【0045】
入力バッファ409は、PAD開口410に、入力された信号をバッファリングし、入力データセル408に送る。
【0046】
入力データセル408は、図5に示す回路構成であり、CK端子603に入力されるクロックに同期し、SB端子602に入力される信号に対応し、PI端子605またはSI端子601より入力される信号をIS−FF606(「FF」はフリップフロップを示す。以下同じ。)に取り込み、SO端子604に出力する。
【0047】
図3は、出力PAD501の概略図である。
出力PAD501は、PAD開口511と、出力バッファ510と、出力制御セル509と、出力データセル508とを備える。PAD開口511から、外部にデータが出力される。出力バッファ510は、出力データセル508より送られた信号により、出力レベルを決定し、出力制御セルより送られた信号により、信号の出力または非出力を決定する。
【0048】
出力制御セル509および出力データセル508は、図6に示す回路構成である。出力制御セル509および出力データセル508は、CK端子703に入力されるクロックに同期し、SB端子702に入力される信号に対応し、SI端子701より入力される信号をOS−FF706に取り込み、SO端子704に出力する。または、OS−FF706にラッチされている信号をOP−FF707にラッチし、PO端子に出力する。
【0049】
入力シフトレジスタ部1104は、シフトレジスタ1112および1113を備える。入力シフトレジスタ部1104は、2ビットのパラレル信号をシリアル信号に変換する2ビットのシフトレジスタである。なお、シフトレジスタ1112および1113は、図5に示す入力データセル408と同様の回路構成である。
【0050】
出力シフトレジスタ部1105は、シフトレジスタ1114および1115を備える。出力シフトレジスタ部1105は、シリアル信号を2ビットパラレル信号に変換し出力する2ビットのシフトレジスタである。なお、シフトレジスタ1114および1115は、図6に示す出力データセル508と同様の回路構成である。
【0051】
IOポート部1106は、出力ポートレジスタ1116および1117と、入力ポートレジスタ1118および1119とを備える。IOポート部1106は、内部バス、または、周辺回路から送られてきた信号を入力シフトレジスタ部1104に出力する。また、IOポート部1106は、出力シフトレジスタ部1105から送られてきた信号を内部バス、または、周辺回路に出力する。
【0052】
シフト制御部1107は、入力PAD401、1102、出力PAD501、入力シフトレジスタ部1104および出力シフトレジスタ部1105に、信号をおくり、入出力のシフト制御を行う。
【0053】
図4は、実施の形態1における入出力PADの概略図である。図1の半導体装置では、説明の簡略化のため入出力PADは用いられていないが、図4に示す入出力PADを用いることで、入力PAD、出力PADおよび入出力PADを備えた半導体装置として用いることができる。なお、図2および図3と同一の要素には同一の符号が付されており、それらに関する詳しい説明はここでは省略する。
【0054】
図4に示す入出力PAD521は、PAD開口530と、入力バッファ409と、入力データセル408と、出力バッファ510と、出力制御セル509と、出力データセル508とを備える。PAD開口530に、外部より信号が入力される、または、外部へ信号が出力される。
【0055】
次に、実施の形態1における半導体装置の動作について説明する。
まず、図1に示す半導体装置に用いられている入力データセル408、出力データセル508および出力PAD501の動作を説明する。
【0056】
図7は、入力データセル408の動作を示す図である。
図7において、データ805は、入力データセル408のIS−FF606が保持するデータを示す。図中のSI(T3)などの文字はデータの印加されていた端子と時刻を示している。例えばSI(T3)は、SI端子601に時刻T3に印加されていたデータをあらわす(以下、他の図においても同様の表記を用いる。)。
【0057】
期間T3〜T4およびT6〜T7ではストローブ信号802がLレベルのため、IS−FF606は、直前までSI端子601に印加されていた信号804をクロック801の立ち上がりに同期して取り込み、SO端子604へ出力する。時刻T5ではストローブ信号802がHレベルのため、入力データセル408は、PI端子605に印加されている信号803をクロック801の立ち上がりに同期して取り込み、SO端子604へ出力する。上記以外の期間ではクロック801が変化しないため、IS−FF606は、データ805を更新せず保持する。
【0058】
すなわち、入力データセル408は、SB端子602に入力されるストローブ信号802がLレベルの場合はクロック801の立ち上がりに同期して、SI端子601のデータ804を取り込みSO端子604に出力する。入力データセル408は、SB端子602に入力されるストローブ信号802がHレベルの場合はクロック801の立ち上がりに同期して、PI端子605のデータ803を取り込みSO端子604に出力する。
【0059】
図8は、出力データセル508の動作を示す図である。
データ904は、出力データセル508のOS−FF706が保持するデータを示す。期間T3〜T4およびT6〜T7ではストローブ信号902がLレベルのため、OS−FF706は、直前までSI端子701に印加されていた信号903をクロックの立ち上がりに同期して取り込み、OP−FF707およびSO端子704へ出力する。時刻T5ではストローブ信号902がHレベルのため、OS−FF706は、データ904を更新せず、OP−FF707およびSO端子704への出力値を保持する。上記以外の期間ではクロック901が変化しないため、OS−FF706はデータ804を更新せず保持する。
【0060】
データ905は、出力データセル508のOP−FF707が保持するデータを示す。時刻T5ではストローブ信号902がHレベルのため、OP−FF707は、OS−FF706の出力している信号904をクロック901の立ち上がりに同期して取り込み、PO端子705へ出力する。T5以外の期間ではOP−FF707は、データ905を更新せず保持する。
【0061】
すなわち、出力データセル508は、SB端子702に入力されるストローブ信号902がLレベルの場合は、クロック901の立ち上がりに同期して、SI端子701のデータ903をOS―FF706に取り込み、SO端子704に出力する。また、この時、OP−FF707に保持しているデータ905は変更されず、PO端子705に出力されるデータも変更されない。出力データセル508は、SB端子702に入力されるストローブ信号902がHレベルの場合は、クロック901の立ち上がりに同期して、OP−FF707に格納されているデータ804をOP−FF707に取り込み、PO端子705に出力する。また、この時、OS−FF706に保持しているデータ904は変更されず、SO端子704に出力されるデータも変化しない。なお、出力制御セル509も出力データセル508と同様の動作を行う。
【0062】
図9は、出力PAD501の動作を示す図である。
図中のデータ1004は、出力データセル508のOS−FF706が保持するデータを示す。出力データセル508のOS−FF706は、期間T3〜T5およびT7〜T9ではストローブ信号1002がLレベルのため、直前まで出力PAD501のSI端子504に印加されていた信号1003をクロック1001の立ち上がりに同期して取り込み、出力データセル508のOP−FF707および出力制御セル509のOS−FF706へ出力する。出力データセル508のOS−FF706は、時刻T6ではストローブ信号1002がHレベルのため、内部に保持したデータ1004を更新せず、出力データセル508のOP−FF707と出力制御セル509のOS−FF706への出力データを保持する。上記以外の期間ではクロック1001が変化しないため、出力データセル508のOS−FF706は、データ1004を更新せず保持する。
【0063】
データ1005は、出力制御セル509のOS−FF706が保持するデータを示す。出力制御セル509のOS−FF706は、時刻T3〜T5およびT7〜T9ではストローブ信号1002がLレベルのため、直前まで出力データセル508のOS−FF706が出力していた信号1004をクロック1001に同期して取り込み、出力制御セル509のOP−FF707と出力PAD501のSO端子507へ出力する。出力制御セル509のOS−FF706は、時刻T6ではストローブ信号1002がHレベルのため、保持するデータ1005を更新せず、出力制御セル509のOP−FF707と出力PAD501のSO端子507への出力データを保持する。上記以外の期間ではクロック1001が変化しないため、出力データセル508のOS−FF706は、データ1005を更新せず保持する。
【0064】
データ1006は、出力データセル508のOP−FF707が保持するデータを示す。出力データセル508のOP−FF707は、時刻T6ではストローブ信号1002がHレベルのため、直前まで出力データセル508のOS−FF706の出力していた信号1004をクロック1001に同期して取り込み、出力PAD501の出力バッファ510へ出力レベル信号として出力する。T6以外の期間ではストローブ信号1002がLレベルであり、クロック1001がマスクされるため、出力データセル508のOP−FF707は、データ1006を更新せず保持する。
【0065】
データ1007は、出力制御セル509のOP−FF707が保持するデータを示す。出力制御セル509のOP−FF707は、時刻T6ではストローブ信号1002がHレベルのため、直前まで出力制御セル509のOS−FF706の出力していた信号1005をクロック1001に同期して取り込み、出力PAD501の出力バッファ510へ出力制御信号として出力する。T6以外の期間では、ストローブ信号1002がLレベルであり、クロック1001がマスクされるため、出力制御セル509のOP−FF707はデータ1007を更新せず保持する。
【0066】
データ1008は、PAD開口511の動作を示す。PAD開口511にデータを出力する出力バッファ510は、出力データセル508のOP−FF707から出力レベルを、出力制御セル509のOP−FF707から出力状態が制御される。時刻T6において出力データセル508のOP−FF707および出力制御セル509のOP−FF707の出力が更新されるため、PAD開口511の出力レベルと出力状態が更新される。T6以外の期間では出力データセル508のOP−FF707および出力制御セル509のOP−FF707の出力が保持されるため、PAD開口511の出力レベルと出力状態は保持される。
【0067】
すなわち、出力PAD501は、SB端子502に入力されるストローブ信号1002がLレベルの場合は、クロック1001の立ち上がりに同期して、SI端子504のデータ1003を出力データセル508のOS―FF706に取り込み、直前まで出力データセル508のOS―FF706に格納されていたデータ1004を出力制御セル509のOS―FF706にシフトし、SO端子507に出力する。また、この時、出力データセル508および出力制御セル509の各OP−FF707に保持しているデータ1006および1007は変更されず、PAD開口511の出力状態も変更されない。SB端子502に入力されるストローブ信号1002がHレベルの場合は、クロック1001の立ち上がりに同期して、出力データセル508および出力制御セル509の各OS−FF706に格納されているデータ1004および1005を各OP−FF707に取り込み各PO端子705に出力する。よって、出力バッファ510の状態は新たに各OP−FF707に取り込まれたデータ1006および1007に対応し更新され、PAD開口511に出力される動作状態1008も更新される。また、この時、出力データセル508および出力制御セル509の各OS−FF706に保持しているデータ1004および1005は変更されず、各SO端子704に出力されるデータも変化しない。
【0068】
図10は、図1に示す半導体装置の動作を示す図である。
図10に示すデータ1201は、内部バス1130のIOポート部1106へのアクセスを示す。時刻T2において、IOポート部1106の出力ポートレジスタ1116は、出力PAD501の出力レベル信号PAD3ODが設定される。また、出力ポートレジスタ1117は、出力PAD501の出力制御信号PAD3OEが設定される。時刻T15において、IOポート部1106の入力ポートレジスタ1118および1119のデータ1223および1224が内部バス1130に読み出される。
【0069】
データ1206は、入力シフトレジスタ部1104のシフトレジスタ1112のIS―FF606が保持するデータである。シフトレジスタ1112のIS―FF606は、時刻T3において入力SRレジスタストローブ信号1205がHレベルのため、IOポート部1106の出力ポートレジスタ1116に格納されているデータ1202の値PAD3ODをクロック1201の立ち上がりに同期し、取り込む。シフトレジスタ1112のIS―FF606は、期間T3〜T5において入力SRレジスタストローブ信号1205がLレベルのため、データ1206を、シフトレジスタ1113にシフトアウト(クロックの立ち上がりに同期して、保持しているデータを次段のレジスタに送ること。以下「シフトアウト」とする。)する。
【0070】
データ1207は、入力シフトレジスタ部1104のシフトレジスタ1113のIS―FF606が保持するデータである。シフトレジスタ1113のIS―FF606は、時刻T3において入力SRレジスタストローブ信号1205がHレベルのため、IOポート部1106の出力ポートレジスタ1117に格納されているデータ1203の値PAD3OEをクロック1201の立ち上がりに同期し、取り込む。シフトレジスタ1113のIS―FF606は、期間T3〜T5において入力SRレジスタストローブ信号1205がLレベルのため、データ1207を、入力PAD401の入力データセル408にシフトアウトする。
【0071】
データ1209は、入力PAD401のPAD開口410に印加される入力信号を示す。データ1209は、期間T4において新たな入力レベルPAD1IDに更新されている。
【0072】
データ1210は、入力PAD1102のPAD開口410に印加される入力信号を示す。データ1209は、期間T3において新たな入力レベルPAD2IDに更新されている。
【0073】
データ1211は、入力PAD401の入力データセル408のIS−FF606が保持するデータである。入力データセル408のIS−FF606は、期間T4〜T7およびT9〜T10においてIOPADストローブ信号1208がLレベルのため、シフトレジスタ1113に格納されているデータ1207を、シフトイン(クロックの立ち上がりに同期して、前段のレジスタのデータを取り込むこと。以下、「シフトイン」とする。)する。また、格納していたデータ1211を入力PAD1102の入力データセル1109にシフトアウトする。入力データセル408のIS−FF606は、時刻T8においてIOPADストローブ信号1208がHレベルのため、時刻T8における入力PAD401への入力レベルPAD1IDをクロック1201の立ち上がりに同期し、取り込む。
【0074】
データ1212は、入力PAD1102の入力データセル1109のIS−FF606が保持するデータである。入力データセル1109のIS−FF606は、期間T4〜T7およびT9〜T10においてIOPADストローブ信号1208がLレベルのため、入力データセル408のIS−FF606に格納されているデータ1211を、シフトインする。また、格納していたデータ1212を出力PAD501の出力データセル508にシフトアウトする。入力データセル1109のIS−FF606は、時刻T8においてIOPADストローブ信号1208がHレベルのため、時刻T8における入力PAD1102への入力レベルPAD2IDをクロック1201の立ち上がりに同期し、取り込む。
【0075】
データ1213は、出力PAD501の出力データセル508のOS−FF706が保持するデータである。出力データセル508のOS−FF706は、期間T6〜T7およびT9〜T11において、IOPADストローブ信号1208がLレベルのため、入力データセル1109のIS−FF606に格納されているデータ1212を、シフトインする。また、格納していたデータ1213を出力PAD501の出力制御セル509にシフトアウトする。出力PAD501の出力データセル508のOS−FF706は、時刻T8においてIOPADストローブ信号1208がHレベルのためデータ1213をシフトせず保持する。
【0076】
データ1214は、出力PAD501の出力制御セル509のOS−FF706が保持するデータである。出力制御セル509のOS−FF706は、期間T6〜T7およびT9〜T11においてIOPADストローブ信号1208がLレベルのため、出力データセル508のIS−FF606に格納されているデータ1213を、シフトインする。また、格納していたデータ1214をシフトレジスタ1114にシフトアウトする。出力制御セル509のOS−FF706は、時刻T8においてIOPADストローブ信号1208がHレベルのためデータ1214をシフトせず保持する。
【0077】
データ1215は、出力PAD501の出力データセル508のOP−FF707が保持するデータである。出力データセル508のOP−FF707は、時刻T8においてIOPADストローブ信号1208がHレベルのため、この時刻における出力データセル508のOS−FF706のデータ1213の値PAD3ODを取り込み、出力PAD501の出力状態1217を更新する。出力データセル508のOP−FF707は、これ以外の期間においてはIOPADストローブ信号1208がLレベルのため、データ1215を保持し出力PAD501の出力状態1217を保持する。
【0078】
データ1216は、出力PAD501の出力制御セル509のOP−FF707が保持するデータである。出力制御セル509のOP−FF707は、時刻T8においてIOPADストローブ信号1208がHレベルのため、この時刻における出力制御セル509のOS−FF706のデータ1214の値PAD3OEを取り込み、出力PAD501の出力状態1217を更新する。出力制御セル509のOP−FF707は、これ以外の期間においてはIOPADストローブ信号1208がLレベルのためデータ1216を保持し出力PAD501の出力状態1217を保持する。
【0079】
データ1219は、出力シフトレジスタ部1105のシフトレジスタ1114のOS−FF706が保持するデータである。シフトレジスタ1114のOS−FF706は、期間T9〜T12において出力SRレジスタストローブ信号1218がLレベルのため、出力PAD501の出力制御セル509に格納されているデータ1214を、シフトインする。また、格納していたデータ1219をシフトレジスタ1115にシフトアウトする。シフトレジスタ1114のOS−FF706は、期間T8においては出力SRレジスタストローブ信号1218がHレベルのため、データ1219を保持する。
【0080】
データ1220は、出力シフトレジスタ部1105のシフトレジスタ1115のOS−FF706が保持するデータである。シフトレジスタ1115のOS−FF706は、期間T9〜T12において出力SRレジスタストローブ信号1218がLレベルのため、シフトレジスタ1114のOS―FF706に格納されているデータ1219を、シフトインする。シフトレジスタ1115のOS−FF706は、期間T8においては出力SRレジスタストローブ信号1218がHレベルのため、データ1220を保持する。
【0081】
データ1221は、出力シフトレジスタ部1105のシフトレジスタ1114のOP−FF707が保持するデータである。シフトレジスタ1114のOP−FF707は、時刻T13において出力SRレジスタストローブ信号1218がHレベルのため、シフトレジスタ1114のOS−FF706のデータ1219の値PAD1IDを取り込み、IOポート部1106の入力ポートレジスタ1118へ出力する。これ以外の期間においては、出力SRレジスタストローブ信号1218がLレベルのため、シフトレジスタ1114のOP−FF707は、データ1221を保持する。
【0082】
データ1222は、出力シフトレジスタ部1105のシフトレジスタ1115のOP−FF707が保持するデータである。時刻T13において出力SRレジスタストローブ信号1218がHレベルのためシフトレジスタ1115のOS−FF706のデータ1220の値PAD2IDを取り込み、入力ポートレジスタ1119へ出力する。これ以外の期間においては、出力SRレジスタストローブ信号1218がLレベルのため、シフトレジスタ1115のOP−FF707は、データ1222を保持する。
【0083】
すなわち、前記半導体装置は、IOポート部1106の出力ポートレジスタ1116および1117に設定した出力レベル信号PAD3ODおよび出力制御信号PAD3OEを、入力シフトレジスタ部1104に取り込み、IOPADにシフトし出力PAD501の出力データセル508および出力制御セル509に設定し、PAD開口510の出力状態を制御することができる。これにより、前記半導体装置は、クロック1121、シフトデータ1122およびIOPADストローブ1120の3本の配線のみを出力PAD501と入力シフトレジスタ部1104とに接続するだけで、内部回路からの出力信号を外部に出力することができる。
【0084】
また、前記半導体装置は、LSI入力端子である入力PAD401および1102に印加されたレベルPAD1IDおよびPAD2IDを入力PADの入力データセル408および1109にそれぞれ取り込み、出力シフトレジスタ部1105にシフトし、IOポート部1106の入力ポートレジスタ1118および1119に送り、内部バス1130に取り込む。これにより、前記半導体装置は、クロック1121、シフトデータ1122およびIOPADストローブ1120の3本配線のみを入力PAD401および入力PAD1102と、出力シフトレジスタ部1105とに接続するだけで、LSI入力端子に印加された信号を取り込むことができる。
【0085】
図11は、図1に示す半導体装置を用いたチップレイアウトの例である。図12は、図11の領域1302を拡大した図である。
【0086】
前記半導体装置は、入出力回路と内部回路とのデータのやり取りを、入力用シフトデータ、出力用シフトデータ、クロックおよびストローブの4本の配線のみにより行うことができる。よって、図11および図12に示すように、入力回路と内部回路とに接続される配線の数は減少し、配線領域を縮小することができる。すなわち、チップ面積を縮小、または、回路実装面積を増加させることができる。例えば、半導体装置がM個の入力PADとN個の出力PADを備える場合、従来では、入出力回路と内部回路とのデータのやり取りに用いる配線数はM+2×N本(入力用にM本、出力用に2×N)となる。このように、従来の半導体装置では、PAD数に比例し、入出力回路と内部回路とのデータのやり取りに用いる配線数は増加する。一方、実施の形態1の半導体装置では、PAD数によらず、入出力回路と内部回路とのデータのやり取りに用いる配線は入力用シフトデータ、出力用シフトデータ、クロックおよびストローブの4本となる。
【0087】
以上より、実施の形態1における半導体装置は、外部からの2ビットのパラレル入力信号を、入力PAD401および1102で、シリアル信号に変換し、出力シフトレジスタ部1105に送り再度パラレル信号に変換し、周辺回路および内部バス1130に送ることで、入力回路(入力PAD401および1102)と内部回路との配線数を減少することができる。さらに、周辺回路および内部バス1130から出力される2ビットのパラレル信号を、入力シフトレジスタ部1104でシリアル信号に変化し、出力PAD501に送り、再度パラレル信号に変換し、外部への出力レベルおよび出力状態を制御することで、内部回路と出力回路(出力PAD501)との配線数を減少することができる。また、入出力PADについても同様に配線数を減少することができる。すなわち、本発明を用いることで、入力PAD、出力PADおよび入出力PADを備えた半導体装置のIOPADと内部回路との配線数が減少し、配線領域が減少する。すなわち、チップ面積を縮小、または、回路実装面積を増加させることができる。また、入力PAD408、出力PAD501および入出力PAD521を単位セル(IPコア等)として用いることで、LSIチップの入出力回路のレイアウト設計を簡単に行うことができ、LSIチップの設計を容易にすることができる。
【0088】
以上、本発明の実施の形態に係る半導体装置について説明したが、本発明は、この実施の形態に限定されるものではない。
【0089】
例えば、本実施の形態では、入力PAD2個と出力PAD1個を備える半導体装置について構成および動作を説明したが、IOPADの数はこれにかぎらない。
【0090】
また、入力PADと出力PADの両方の機能を兼ね備える入出力PADについても同様に構成することができる。
【0091】
また、入力データセル408や出力データセル508は上述の回路に限定されるものではなく、同等の機能を持つ回路であればよい。
【0092】
また、上記の説明では、内部バス1130のライトアクセス後にシフト制御部1107からクロックや各種ストローブ信号が生成されるようになっているが、ライトアクセスに関係なくクロックがフリーランであって各種ストローブ信号の位相関係が合致すれよい。また、クロックが間欠的に発生されていてもよい。
【0093】
また、上記の説明では、IOPADに本発明にかかるIOPADのみを用いているが、従来の構成のIOPADと併用して半導体装置を構成してもよい。
【0094】
また、上記の説明ではIOPADに本発明にかかるIOPADから構成されるPAD群が1組としているが、PAD群が複数あってもよい。
【0095】
また、上記の説明では、入力PAD401、入力PAD1102および出力PAD510の順でIOPADが配置されているが、IOPADの配置の順序はこれによらない。例えば、入力PAD、出力PAD、入力PADの順であってもよい。
【0096】
さらに、図1に示すように、入力PAD401、入力PAD1102および出力PAD510に供給されるIOストローブ信号1120およびクロック1121は、シフトデータ1122と同方向(入力PAD401側)より供給されているが、これにかぎらない。例えば、クロック1121が出力PAD501側(図1下方向)から供給されてもよい。
(実施の形態2)
実施の形態1の半導体装置により、配線領域を削減できるが、入力PADの値を内部に取り込む、および、内部のデータを出力PADに送り出すのに時間がかかるという問題がある。すなわち、実施の形態1の半導体装置では入力PAD401および1102のデータを出力シフトレジスタ部1105に取り込むのに必要なクロック数は、入力PADの総数をN個、出力PADの総数をM個とすると、2+N+2×Mクロックかかる。また、実施の形態1の半導体装置では、入力シフトレジスタ部1104のデータを出力PAD501に送り出すのに必要なクロック数は、2+N+2×Mとなる。そこで、実施の形態2では、入力PADの値を内部に取り込むのに必要なクロック数を2+Nクロックに削減し、内部のデータを出力PADに送り出すのに必要なクロック数を2+2×Mクロックに削減する半導体装置について説明する。
【0097】
図13は、実施の形態2における半導体装置の入出力回路とその周辺の概略図である。なお、図1と同一の要素には同一の符号が付されており、それらに関する詳しい説明はここでは省略する。図13に示す半導体装置は、2個の入力PADと1個の出力PADとを備える。
【0098】
図13に示す、半導体装置は、入力PAD1501および1702と、出力PAD1601と、入力シフトレジスタ部1104と、出力シフトレジスタ部1105と、IOポート部1106と、シフト制御部1107とを備える。
【0099】
図14は、入力PAD1501の概略図である。図15は、出力PAD1602の概略図である。なお、入力PAD1702は、入力PAD1501と同様の回路構成である。
【0100】
図1に示す実施の形態1の半導体装置は、外部へのデータの出力に関して、入力シフトレジスタ部1104から出力されるシフトデータ1122を、入力PAD401、入力PAD1102および出力PAD501の順にシフトする。一方、図13に示す、実施の形態2の半導体装置は、入力シフトレジスタ部1104から出力されるシフトデータ1122を、入力PADには接続せず、直接、出力PAD1601にシフトする。また、外部からのデータの入力に関して、図1に示す実施の形態1の半導体装置は、入力PAD401および1102に外部より入力されたデータを、出力PAD501にシフトした後に、出力シフトレジスタ部1105に送る。一方、図13に示す、実施の形態2の半導体装置は、入力PAD401および1102に外部より入力されたデータを、出力PADには接続せず、直接、出力シフトレジスタ部1105にシフトする。
【0101】
図16は、図13に示す半導体装置の動作を示す図である。
データ1801は、内部バス1130のアクセスを示す。時刻T2において、IOポート部1106の出力ポートレジスタ1116は、出力PAD501の出力レベル信号PAD3ODが設定される。また、出力ポートレジスタ1117は、出力PAD501の出力制御信号PAD3OEが設定される。時刻T11において、IOポート部1106の入力ポートレジスタ1118および1119のデータ1823および1824が内部バス1130に読み出される。
【0102】
データ1806は、入力シフトレジスタ部1104のシフトレジスタ1112のIS―FF606が保持するデータである。シフトレジスタ1112のIS―FF606は、時刻T3において入力SRレジスタストローブ信号1805がHレベルのため、IOポート部1106の出力ポートレジスタ1116に格納されているデータ1802の値PAD3ODを取り込む。シフトレジスタ1112のIS―FF606は、期間T3〜T5において入力SRレジスタストローブ信号1805がLレベルのため、データ1806を、シフトレジスタ1113にシフトアウトする。
【0103】
データ1807は、入力シフトレジスタ部1104のシフトレジスタ1113のIS―FF606が保持するデータである。シフトレジスタ1113のIS―FF606は、時刻T3において入力SRレジスタストローブ信号1805がHレベルのため、IOポート部1106の出力ポートレジスタ1117に格納されているデータ1803の値PAD3OEを取り込む。シフトレジスタ1113は、期間T3〜T5において入力SRレジスタストローブ信号1805がLレベルのため、データ1807を、入力PAD1501をスルーして出力PAD1601にシフトアウトする。
【0104】
データ1809は、入力PAD1501のPAD開口410に印加される入力信号を示す。データ1809は、期間T4において新たな入力レベルPAD1IDに更新されている。
【0105】
データ1810は、入力PAD1702のPAD開口410に印加される入力信号を示す。データ1810は、期間T3において新たな入力レベルPAD2IDに更新されている。
【0106】
データ1811は、入力PAD1501内の入力データセル408のIS−FF606が保持するデータである。入力データセル408のIS−FF606は、時刻T6においてIOPADストローブ信号1808がHレベルのため、時刻T6における入力PAD1501への入力レベルPAD1IDを取り込む。入力データセル408のIS−FF606は、期間T7〜T8においてIOPADストローブ信号1808がLレベルのため、データ1811を、入力PAD1702にシフトアウトする。
【0107】
データ1812は、入力PAD1702の入力データセル1706のIS−FF606が保持するデータである。入力データセル1706のIS−FF606は、時刻T6においてIOPADストローブ信号1808がHレベルのため、時刻T6における入力PAD1702への入力レベルPAD2IDを取り込む。入力データセル1706のIS−FF606は、期間T6〜T7においてIOPADストローブ信号1808がLレベルのため、データ1812を、出力PAD1601をスルーして出力シフトレジスタ部1105にシフトアウトする。
【0108】
データ1813は、出力PAD1601の出力データセル508のOS−FF706が保持するデータである。出力データセル508のOS−FF706は、期間T4〜T5においてIOPADストローブ信号1808がLレベルのため、入力PAD1501および1702をスルーしてきたシフトレジスタ1113のデータ1807を、シフトインする。出力データセル508のOS−FF706は、時刻T6においてIOPADストローブ信号1808がHレベルのため、データ1813をシフトせず保持する。
【0109】
データ1814は、出力PAD1601の出力制御セル509のOS−FF706が保持するデータである。出力制御セル509のOS−FF706は、期間T4〜T5においてIOPADストローブ信号1808がLレベルのため、前段の出力データセル508のデータ1813を、シフトインする。出力制御セル509のOS−FF706は、時刻T6においてIOPADストローブ信号1808がHレベルのため、データ1814をシフトせず保持する。
【0110】
データ1815は出力PAD1601の出力データセル508のOP−FF707が保持するデータである。出力データセル508のOP−FF707は、時刻T6においてIOPADストローブ信号1808がHレベルのため、この時刻における出力データセル508のOS−FF706のデータ1813の値PAD3ODを取り込む。これにより、出力PAD1601の出力状態1817は、更新される。出力データセル508のOP−FF707は、これ以外の期間においてはIOPADストローブ信号1808がLレベルのため、データ1815を保持する。よって、出力PAD1601の出力状態1817は保持される。
【0111】
データ1816は、出力PAD1601の出力制御セル509のOP−FF707が保持するデータである。出力制御セル509のOP−FF707は、時刻T6においてIOPADストローブ信号1808がHレベルのため、この時刻における出力制御セル509のOS−FF706のデータ1814の値PAD3OEを取り込む。これにより、出力PAD1601の出力状態1817は更新される。出力制御セル509のOP−FF707は、これ以外の期間においてはIOPADストローブ信号1808がLレベルのため、データ1816を保持する。よって、出力PAD1601の出力状態1817は保持される。
【0112】
データ1819は、出力シフトレジスタ部1105のシフトレジスタ1114のOS−FF706が保持するデータである。シフトレジスタ1114のOS−FF706は、期間T7〜T8において出力SRレジスタストローブ信号1818がLレベルのため、出力PAD1601をスルーしてきた入力PAD1702のデータ1812をシフトインする。シフトレジスタ1114のOS−FF706は、時刻T9においては、出力SRレジスタストローブ信号1818がHレベルのため、データ1819を保持する。
【0113】
データ1820は、出力シフトレジスタ部1105のシフトレジスタ1115のOS−FF706が保持するデータである。シフトレジスタ1115のOS−FF706は、期間T7〜T8において出力SRレジスタストローブ信号1818がLレベルのため、シフトレジスタ1114からデータ1819をシフトインする。シフトレジスタ1115のOS−FF706は、時刻T9においては、出力SRレジスタストローブ信号1818がHレベルのため、データ1820を保持する。
【0114】
データ1821は、出力シフトレジスタ部1105のシフトレジスタ1114のOP−FF707が保持するデータである。シフトレジスタ1114のOP−FF707は、時刻T9において出力SRレジスタストローブ信号1818がHレベルのため、シフトレジスタ1114のOS−FF706のデータ1819の値PAD1IDを取り込み、IOポート部1106の入力ポートレジスタ1118へ出力する。これ以外の期間においては、出力SRレジスタストローブ信号1818がLレベルのため、シフトレジスタ1114のOP−FF707は、データ1821を保持する。
【0115】
データ1822は、出力シフトレジスタ部1105のシフトレジスタ1115のOP−FF707が保持するデータである。シフトレジスタ1115のOP−FF707は、時刻T9において出力SRレジスタストローブ信号1818がHレベルのため、シフトレジスタ1115のOS−FF706のデータ1820の値PAD2IDを取り込み、入力ポートレジスタ1119へ出力する。これ以外の期間においては、出力SRレジスタストローブ信号1818がLレベルのため、シフトレジスタ1115のOP−FF707は、データ1822を保持する。
【0116】
以上より、実施の形態2における半導体装置は、図16に示すように、IOポート部1106出力ポートレジスタ1116および1117に設定した出力レベル信号PAD3ODおよび出力制御信号PAD3OEを、4クロック(期間T3〜T6)で、出力データセル508および出力制御セル509に送り、PAD開口510の出力状態を制御することができる。(実施の形態1における半導体装置では、図10に示すように6クロック(期間T3〜T8)必要。)
また、実施の形態2における半導体装置は、図16に示すように、LSI入力端子である入力PAD1501および1702に印加されたレベルPAD1IDおよびPAD2IDを、4クロック(期間T6〜T9)で、IOポート部1106に取り込むことができる。(実施の形態1における半導体装置では、図10に示すように6クロック(期間T8〜T13)必要。)
すなわち、実施の形態2における半導体装置は、入力PADの総数をN個、出力PADの総数をM個とすると、入力PAD1501および1702のデータを入力ポートレジスタ1118および1119に取り込むのに必要なクロック数は、2+Nクロックである。また、実施の形態2における半導体装置は、出力ポートレジスタ1116および1117のデータを出力PAD1601に送り出すのに必要なクロック数は、2+2×Mクロックである。よって、実施の形態2における半導体装置は、実施の形態1における半導体装置と同様に、入出力回路と内部回路との配線数を減少させ、配線領域を減少させることができ、さらに、実施の形態1の半導体装置より、少ないクロック数で入出力回路と内部回路とのデータの受け渡しを行うことができる。
(実施の形態3)
実施の形態1および2では、入力PADの数が多くなると外部より入力PADに入力された信号を内部回路に取り込むのに多くのクロック数が必要になるという問題がある。
【0117】
しかしながら、例えば、入力PAD数が100個の場合であっても、内部バスに取り込んで内部でのデータ処理に使用するデータは一度には数バイトであるので、100個全てを一度に取り込む必要はない。すなわち、入力PADに入力された必要とする特定の信号だけを内部に取り込めればよい。
【0118】
実施の形態3では、実施の形態1における半導体装置と同様に、配線領域を減少でき、さらに、任意の信号を少ないクロック数で内部回路に取り込むことのできる半導体装置について説明する。
【0119】
まず、実施の形態3における半導体装置の構成について説明する。
図17は、実施の形態3における半導体装置の入出力回路とその周辺の概略図である。なお、図1と同一の要素には同一の符号が付されており、それらに関する詳しい説明はここでは省略する。図17に示す半導体装置は3個の入力PADと1個出力PADとを備える。
【0120】
図17において、半導体装置は、入力PAD1901、2602および2603と、出力PAD2001と、入力シフトレジスタ部1104と、出力シフトレジスタ部2605と、IOポート部2606と、シフト制御部2607と、データアライナ2630とを備える。
【0121】
図18は、入力PAD1901の概略図である。なお、図2と同一の要素には同一の符号が付されており、それらに関する詳しい説明はここでは省略する。なお、入力PAD2602および2603は、入力PAD1901と同様の構成である。
【0122】
入力PAD1901は、PAD開口410と、入力バッファ409と、入力データセル1908とを備える。
【0123】
入力データセル1908は、図20に示す回路構成であり、CK端子603に入力されるクロックに同期し、SB端子602およびSEL端子2102に入力される信号に対応し、PI端子605、SI1端子2101およびSI2端子2103より入力される信号のいずれか一つをIS−FF606に取り込み、SO1端子2104およびSO2端子2105に出力する。
【0124】
図19は、出力PAD2001の概略図である。なお、図3と同一の要素には同一の符号が付されており、それらに関する詳しい説明はここでは省略する。
【0125】
出力PAD2001は、PAD開口511と、出力バッファ510と、出力制御セル2009と、出力データセル2008とを備える。
【0126】
出力制御セル2009および出力データセル2008は、図21に示す回路構成であり、CK端子703に入力されるクロックに同期し、SB端子702およびSEL端子2202に入力される信号に対応し、SI1端子2201またはSI2端子2203より入力される信号をOS−FF706に取り込み、SO1端子2204およびSO2端子2205に出力する、または、OS−FF706に保持されている信号をOP−FF707に取り込み、PO端子705に出力する。
【0127】
出力シフトレジスタ部2605は、シフトレジスタ2614、2615および2616を備る。出力シフトレジスタ部2605は、シリアル信号を3ビットパラレル信号に変換し出力する3ビットのシフトレジスタである。なお、シフトレジスタ2614、2615および2616は、図19に示す出力データセル2008と同様の回路構成である。
【0128】
IOポート部2606は、出力ポートレジスタ1116および1117と、入力ポートレジスタ2617、2618および2619とを備える。IOポート部2606は、内部バス1130、または、周辺回路から送られてきた信号を入力シフトレジスタ部1104に出力する。また、IOポート部1106は、出力シフトレジスタ部2605から送られてきた信号を内部バス1130、または、周辺回路に出力する。
【0129】
シフト制御部2607は、入力PAD1901、2602、2603出力PAD2001、入力シフトレジスタ部1104、出力シフトレジスタ部2605およびデータアライナ2630に、信号を送り、入出力のシフト制御を行う。
【0130】
データアライナ2630は、シフト制御部2607より出力されたアライン2632に応じ、出力シフトレジスタ部2605より出力された3ビットの信号を選択し、並び替え、取り込みIOポート部2606に出力する。
【0131】
次に、実施の形態3における半導体装置の動作について説明する。
実施の形態3における半導体装置は、入力データセル1908、2609、2610、出力データセル2008、出力制御セル2009、シフトレジスタ2613、2614および2615が双方向のシフト機能を有する。これにより、実施の形態3における半導体装置は、入力PAD1901、2602および2603に入力された信号のうち必要な信号を少ないクロック数で内部回路に取り込むことができる。
【0132】
まず、図17に示す半導体装置に用いられている入力データセル1908、出力データセル2008および出力PAD2001の動作を説明する。
【0133】
図22は、図20に示す入力データセル1908の動作を示す図である。
データ2307は、入力データセル1908のIS−FF606が保持するデータを示す。入力データセル1908のIS−FF606は、期間T3〜T4ではストローブ信号2302がLレベルでありセレクト信号2303がLレベルのため、シリアル入力としてSI1端子2101を選択し、直前までSI1端子2101に印加されている信号2305をクロック2301に同期して取り込み、SO1端子2104とSO2端子2105へ出力する。すなわち、この期間ではSI1端子2101とSO1端子2104との間でデータが正シフトする。
【0134】
入力データセル1908のIS−FF606は、時刻T5ではストローブ信号2302がHレベルのため、直前までPI端子605に印加されている信号2304をクロック2301に同期して取り込み、SO1端子2104とSO2端子2105へ出力する。入力データセル1908のIS−FF606は、期間T6〜T7ではストローブ信号2302がLレベルでありセレクト信号2303がHレベルのため、シリアル入力としてSI2端子2103を選択し、直前までSI2端子2103に印加されている信号2306をクロック2301に同期して取り込み、SO1端子2104とSO2端子2105へ出力する。すなわち、この期間ではSI2端子2103とSO2端子2105との間でデータが逆シフトする。
【0135】
上記以外の期間ではクロック2301が変化しないため、IS−FF606はデータ2307を更新せず保持する。
【0136】
すなわち、入力データセル1908のIS−FF606は、ストローブ信号2302がHレベルの場合は、PI端子605のデータ2304を、クロック2301の立ち上がりに同期して取り込み、SO1端子2104およびSO2端子2105に出力する。入力データセル1908のIS−FF606は、ストローブ信号2302がLレベル、かつ、セレクト信号2303がLレベルの場合は、SI1端子2101のデータ2305を、クロック2301の立ち上がりに同期して取り込み、SO1端子2104およびSO2端子2105に出力する(正シフト)。入力データセル1908のIS−FF606は、ストローブ信号2302がLレベル、かつ、セレクト信号2303がHレベルの場合は、SI2端子2103のデータ2306を、クロック2301の立ち上がりに同期して取り込み、SO1端子2104およびSO2端子2105に出力する(逆シフト)。
【0137】
図23は、図21に示す出力データセル2008の動作を示す図である。
データ2406は出力データセル2008のOS−FF706が保持するデータを示す。出力データセル2008のOS−FF706は、期間T3〜T4ではストローブ信号2402がLレベルでありセレクト信号2403がLレベルのため、シリアル入力としてSI1端子2201を選択し、直前までSI1端子2201に印加されている信号2404をクロック2401に同期して取り込み、OP−FF707とSO1端子2204とSO2端子2205とへ出力する。出力データセル2008のOS−FF706は、時刻T5ではストローブ信号2402がHレベルのため、保持した値は更新せず、OP−FF707とSO1端子2204とSO2端子2407への出力値を保持する。出力データセル2008のOS−FF706は、期間T6〜T7ではストローブ信号2402がLレベルでありセレクト信号2403がHレベルであるため、シリアル入力としてSI2端子2203を選択し、直前までSI2端子2203に印加されている信号2405をクロック2401に同期して取り込み、OP−FF707とSO1端子2204とSO2端子2205へ出力する。上記以外の期間ではクロック2401が変化しないため、OS−FF706はデータ2406を更新せず保持する。
【0138】
データ2407は出力データセル2008のOP−FF707が保持するデータを示す。出力データセル2008のOP−FF707は、時刻T5ではストローブ信号2402がHレベルのため、OS−FF706の出力している信号2406をシフトインし、PO端子705へ出力する。出力データセル2008のOP−FF707は、T5以外の期間ではストローブ信号2402がLレベルでありクロックがマスクされるため、データ2407を更新せず保持する。
【0139】
すなわち、ストローブ信号2402がHレベルの場合は、出力データセル2008のOS−FF706は、データ2406を保持する。このとき、出力データセル2008のOP−FF707は、直前までOS−FF706の出力している信号2406をシフトインし、PO端子705へ出力する。
【0140】
ストローブ信号2402がLレベル、かつ、セレクト信号2403がLレベルの場合は、入力データセル2008のOS−FF706は、SI1端子2201のデータ2404を、クロック2401の立ち上がりに同期して取り込み、SO1端子2204およびSO2端子2205に出力する。よって、SI1端子2201とSO1端子2204との間でデータが正シフトする。このとき、出力データセル2008のOP−FF707は、データ2407を更新せず保持する。
【0141】
ストローブ信号2402がLレベル、かつ、セレクト信号2403がHレベルの場合は、入力データセル2008のOS−FF706は、SI2端子2203のデータ2405を、クロック2401の立ち上がりに同期し取り込み、SO1端子2204およびSO2端子2205に出力する。よって、SI2端子2203とSO2端子2205との間でデータが逆シフトする。このとき、出力データセル2008のOP−FF707は、データ2407を更新せず保持する。なお、出力制御セル2009も出力データセル2008と同様の動作を行う。
【0142】
図24は、図19に示す出力PADの動作を示す図である。
データ2506は、出力データセル2008のOS−FF706が保持するデータを示す。出力データセル2008のOS−FF706は、期間T3〜T5ではストローブ信号2502がLレベルでありセレクト信号2503がLレベルのため、シリアル入力として出力PAD2001のSI1端子2004を選択し、直前まで出力PAD2001のSI1端子2004に印加されている信号2504をクロック2501に同期して取り込み、出力データセル2008のOP−FF707と出力制御セル2009のSI1端子2201と出力PAD2001のSO2端子2007へ出力する。出力データセル2008のOS−FF706は、時刻T6ではストローブ信号2502がHレベルのため、データ2506を更新せず、出力データセル2008のOP−FF707と出力制御セル2009のSI1端子2201と出力PAD2001のSO2端子2007への出力データを保持する。出力データセル2008のOS−FF706は、期間T7〜T9ではストローブ信号2502がLレベルでありセレクト信号2503がHレベルのため、シリアル入力として出力制御セル2009のSO2端子2205を選択し、直前まで出力制御セル2009のOS−FF706の出力する信号2507をシフトインし、出力データセル2008のOP−FF707と出力制御セル2009のSI1端子2201と出力PAD2001のSO2端子2007へ出力する。出力データセル2008のOS−FF706は、上記以外の期間ではクロック2501が変化しないため、データ2506を更新せず保持する。
【0143】
データ2508は出力データセル2008のOP−FF707が保持するデータを示す。出力データセル2008のOP−FF707は、時刻T6ではストローブ信号2502がHレベルのため、出力データセル2008のOS−FF706の出力する信号2506をシフトインし、出力PAD2001の出力バッファ510へ出力レベル信号として出力する。出力データセル2008のOP−FF707は、T6以外の期間ではストローブ信号2502がLレベルでありクロックがマスクされるため、データ2508を更新せず保持する。
【0144】
データ2507は出力制御セル2009のOS−FF706が保持するデータを示す。
出力制御セル2009のOS−FF706は、期間T3〜T5ではストローブ信号2502がLレベルでありセレクト信号2503がLレベルのため、シリアル入力として出力データセル2008のSO1端子2204を選択し、出力データセル2008のOS−FF706が出力する信号2506をシフトインし、出力制御セル2009のOP−FF707と出力データセル2008のSI2端子2203と出力PAD2001のSO1端子2005へ出力する。出力制御セル2009のOS−FF706は、時刻T6ではストローブ信号2502がHレベルのため、データ2507を更新せず、出力制御セル2009のOP−FF707と出力データセル2008のSI2端子2203と出力PAD2001のSO1端子2005への出力データを保持する。出力制御セル2009のOS−FF706は、期間T7〜T9ではストローブ信号2502がLレベルでありセレクト信号2503がHレベルのため、シリアル入力として出力PAD2001のSI2端子2006を選択し、直前まで出力PAD2001のSI2端子2006に印加されている信号2505をクロック2501に同期して取り込み、出力制御セル2009のOP−FF707と出力データセル2008のSI2端子2203と出力PAD2001のSO1端子2005へ出力する。出力制御セル2009のOS−FF706は、上記以外の期間ではクロックが変化しないため、データ2507を更新せず保持する。
【0145】
データ2508は、出力データセル2008のOP−FF707が保持するデータを示す。出力データセル2008のOP−FF707は、時刻T6ではストローブ信号2502がHレベルのため、出力データセル2008のOS−FF706の出力する信号2506をシフトインし、出力PAD2001の出力バッファ510へ出力レベル信号として出力する。出力制御セル2008のOP−FF707は、T6以外の期間ではストローブ信号2502がHレベルのため、クロックがマスクされるので、データ2508を更新せず保持する。
【0146】
データ2509は、出力制御セル2009のOP−FF707が保持するデータを示す。出力制御セル2009のOP−FF707は、時刻T6ではストローブ信号2502がHレベルのため、出力制御セル2009のOS−FF706の出力する信号2507をシフトインし、出力PAD2001の出力バッファ510へ出力制御信号として出力する。出力制御セル2009のOP−FF707は、T6以外の期間ではストローブ信号2502がHレベルのため、クロックがマスクされるので、データ2509を更新せず保持する。
【0147】
データ2510は、出力PAD2001のPAD開口511の動作を示す。出力バッファ510は、出力データセル2008のOP−FF707により出力レベルを、出力制御セル2009のOP−FF707により出力状態が制御される。PAD開口511の出力レベルと出力状態は、時刻T6において出力データセル2008のOP−FF707および出力制御セル2009のOP−FF707のデータ2508および2509が更新されるため、切り替わる。PAD開口511の出力レベルと出力状態は、T6以外の期間では出力データセル2008のOP−FF707および出力制御セル2009のOP−FF707のデータ2508および2509が保持されるため、保持される。
【0148】
すなわち、ストローブ信号2502がHレベルの場合は、出力データセル2008のOS−FF706は、データ2506を保持する。また、出力制御セル2009のOS−FF706は、データ2507を保持する。このとき、出力データセル2008のOP−FF707は、出力データセル2008のOS−FF706のデータ2506をシフトインし、出力バッファ510に出力レベル信号として出力する。また、出力制御セル2009のOP−FF707は、出力制御セル2009のOS−FF706のデータ2507をシフトインし、出力バッファ510の出力制御信号として出力する。
【0149】
ストローブ信号2502がLレベル、かつ、セレクト信号2503がLレベルの場合は、出力データセル2008のOS−FF706は、クロック2501に同期し、SI1端子のデータ2504を取り込む。また、出力データ制御セル2009のOS−FF706は、出力データセル2008のOS−FF706のデータ2506をシフトインし、SO1端子2005に出力する。すなわち、正シフトが行われる。このとき、出力データセル2008のOP−FF707は、データ2508を保持する。また、出力制御セル2009のOP−FF707は、データ2509を保持する。よって、出力バッファ510の出力レベルおよび出力状態は保持される。
【0150】
ストローブ信号2502がLレベル、かつ、セレクト信号2503がHレベルの場合は、出力データセル2008のOS−FF706は、出力制御セル2009のOS−FF706のデータ2507をシフトインし、SO2端子2007に出力する。また、出力データ制御セル2009のOS−FF706は、クロック2501に同期し、SI2端子2006のデータ2505を取り込む。すなわち、逆シフトが行われる。このとき、出力データセル2008のOP−FF707は、データ2508を保持する。また、出力制御セル2009のOP−FF707は、データ2509を保持する。よって、出力バッファ510の出力レベルおよび出力状態は保持される。
【0151】
図25は、図17に示す半導体装置の動作を示す図である。出力動作(期間T2〜T8)は図10に示す実施の形態1における半導体装置の動作と同様であるので、ここでは、入力動作(期間T9〜T15)について説明する。また、同図では、入力PAD1901に入力された入力レベルPAD1IDおよび入力PAD2602に入力された入力レベルPAD2IDの二つの信号をIOポート部に取り込む動作について説明している。
【0152】
データ2710は、入力PAD1901の端子入力レベルを示す。データ2710は、期間T4において以前の入力レベルPAD1ID’から新たな入力レベルPAD1IDに更新されている。
【0153】
データ2711は、入力PAD2602の端子入力レベルを示す。データ2711は、期間T3において以前の入力レベルPAD2ID’から新たな入力レベルPAD2IDに更新されている。
【0154】
データ2712は、入力PAD2603の端子入力レベルを示す。データ2712は、期間T11において以前の入力レベルPAD3ID’から新たな入力レベルPAD3IDに更新されている。
【0155】
データ2713は、入力PAD1901の入力データセル1908のIS−FF606が保持するデータである。
【0156】
データ2714は、入力PAD2602の入力データセル2609のIS−FF606が保持するデータである。
【0157】
データ2715は、入力PAD2603の入力データセル2610のIS−FF606が保持するデータである。
【0158】
時刻T9においてIOPADストローブ信号2708がHレベルのため、入力データセル1908のIS−FF606は、時刻T9における入力PAD1901への入力レベルPAD1IDを取り込む。また、入力データセル2609のIS−FF606は、入力PAD2602への入力レベルPAD2IDを取り込む。また、入力データセル2610のIS−FF606は、入力PAD2603への入力レベルPAD3IDを取り込む。
【0159】
期間T10〜T12においてIOPADストローブ信号2708がLレベルでありセレクト信号2708がHレベルのため、入力データセル1908、2609、2610の各IS−FF606のデータ2713、2714および2715は出力シフトレジスタ部2605へ向け順次逆シフトされる。
【0160】
データ2722は、出力シフトレジスタ部2605のシフトレジスタ2613のOS−FF706が保持するデータである。
【0161】
データ2723は、出力シフトレジスタ部2605のシフトレジスタ2614のOS−FF706が保持するデータである。
【0162】
データ2724は、出力シフトレジスタ部2605のシフトレジスタ2615のOS−FF706が保持するデータである。
【0163】
時刻T10〜T11において出力SRストローブ信号2721がLレベルでありセレクト信号2708がHレベルのため、シフトレジスタ2613、2614および2615の各OS−FF706のデータ2722、2723および2724は順次逆シフトされる。
【0164】
時刻T12において出力SRストローブ信号2721がHレベルのため、シフトレジスタ2613、2614および2615の各OS−FF706のデータ2722、2723および2724は、保持される。
【0165】
データ2725は、出力シフトレジスタ部2605のシフトレジスタ2613のOP−FF707が保持するデータである。
【0166】
データ2726は、出力シフトレジスタ部2605のシフトレジスタ2614のOP−FF707が保持するデータである。
【0167】
データ2727は、出力シフトレジスタ部2605のシフトレジスタ2615のOP−FF707が保持するデータである。
【0168】
時刻T12において出力SRストローブ信号2721がHレベルのため、シフトレジスタ2613のOP−FF707は、シフトレジスタ2613のOS−FF706のデータPAD3ID’をシフトインし、データアライナ2630へ出力する。また、シフトレジスタ2614のOP−FF707は、シフトレジスタ2614のOS−FF706のデータPAD1IDを取り込みデータアライナ2630へ出力する。また、シフトレジスタ2615のOP−FF707は、シフトレジスタ2615のOS−FF706のデータPAD2IDを取り込みデータアライナ2630へ出力する。これ以外の期間において、出力SRストローブ信号2721がLレベルのため、シフトレジスタ2613、2614および2615の各OP−FF707のデータ2725、2726および2727は、保持される。
【0169】
データ2728は、データアライナ2630へ入力される端子順序情報である。
データアライナ2630は、期間T1〜T11において、データ2728が(1,2,3)であるので、シフトレジスタ2613、2614および2615の各OP−FF707に格納されているデータ2725、2726および2727を受け取り保持し、それぞれ入力ポートレジスタ2617、2618および2619に出力する。すなわち、シフトレジスタ2613に格納されているデータ2725の値PAD1ID’を入力ポート2617に出力し、シフトレジスタ2614に格納されているデータ2726の値PAD2ID’を入力ポート2618に出力し、シフトレジスタ2615に格納されているデータ2727の値PAD3ID’を入力ポート2619に出力する。
【0170】
データアライナ2630は、期間T13〜T15において、データ2728が(x,1,2)であるので、シフトレジスタ2614および2615の各OP−FF707に格納されているデータ2726および2727を受け取り保持し、それぞれ入力ポートレジスタ2617および2618に出力し、シフトレジスタ2613のOP―FF707のデータ2725は無効データのためデータアライナ2630が入力ポートレジスタ2619に出力している値を更新せず保持する。すなわち、データアライナ2630が保持するPAD3ID’を入力ポート2619に出力し、シフトレジスタ2614のデータ2726の値PAD1IDを入力ポート2617に出力し、シフトレジスタ2613のデータ2727の値PAD2IDを入力ポート2618に出力する。なお図示しないが、期間T10以降においてセレクト信号2709がLレベルの場合には、実施例1と同様に入力PADに取り込まれた値は出力PADを正シフトし、出力シフトレジスタ部2605に送られる動作を行なうことになる。
【0171】
以上より、実施の形態3における半導体装置は、入力PAD1901、2602、2603、出力PAD2001および出力シフトレジスタ部2605より構成されるシフトレジスタに、双方向にデータをシフトする機能を有する。よって、入力PAD1901、2602、2603の任意の入力PADに外部より印加された信号を少ないクロック数で内部回路に送ることができる。例えば、図25に示すように、入力PAD1901および2602に印加されたレベルPAD1IDおよびPAD2IDを、5クロック(期間T9〜T13)でIOポート部2606に取り込むことができる。一方、実施の形態1の半導体装置では、3個の入力PADと1個の出力PADを備える場合には、入力PADに印加された信号を内部回路に取り込むのにワーストケースで、7クロック必要である。すなわち、実施の形態3における半導体装置は、入力PADの総数をN個、出力PADの総数をM個とすると、任意の入力PADに外部より印加された信号を、ワーストケースで、3+(N+2×M)÷2クロックで内部回路に送ることができる。
(実施の形態4)
実施の形態4における半導体装置は、割込み端子に代表されるリアルタイム制御に使用される端子に入力された信号を非同期で内部回路に送ることができる。
【0172】
図26は、実施の形態4における半導体装置の入出力回路とその周辺の概略図である。なお、図1と同一の要素には同一の符号が付されており、それらに関する詳しい説明はここでは省略する。図26に示す半導体装置は、2個の入力PADと1個の出力PADとを備える。
【0173】
図26に示す、半導体装置は、入力PAD2801および3002と、出力PAD2901と、入力シフトレジスタ部1104と、出力シフトレジスタ部1105と、IOポート部1106と、シフト制御部1107とを備える。
【0174】
入力PAD2801および3002に外部より印加される信号は、リアルタイム制御に使用され、Lイネーブル信号である。
【0175】
図27は、入力PAD2801の概略図である。なお、図2と同一の要素には同一の符号が付されており、それらに関する詳しい説明はここでは省略する。なお、入力PAD3002は、入力PAD2801と同様の構成である。
【0176】
図27に示す入力PAD2801は、INTI端子2802の信号、および、入力バッファ409の出力信号がHレベルの場合は、INTO端子2803にHレベルを出力する。入力PAD2801は、INTI端子2802の信号、または、入力バッファ409の出力信号がLレベルの場合は、INTO端子2803にLレベルを出力する。
【0177】
図28は、出力PAD2901の概略図である。なお、図3と同一の要素には同一の符号が付されており、それらに関する詳しい説明はここでは省略する。
【0178】
図28に示す出力PAD2901は、INTI端子2902の信号を、INTO端子2903にスルー出力する。
【0179】
図26に示す半導体装置の入力PAD2801は、INTI端子2802にHレベルが印加されているので、PAD開口410にHレベルが印加された場合は、INTO端子2803にHレベルを出力する。また、入力PAD2801は、PAD開口410にLレベルが印加された場合は、INTO端子2803にLレベルを出力する。
【0180】
入力PAD2801のPAD開口410にHレベルが印加された場合は、入力PAD3002は、INTI端子2802にHレベルが入力される。この場合において、入力PAD3002は、入力PAD3002のPAD開口410にHレベルが印加された場合は、INTO端子2803にHレベルを出力する。また、入力PAD3002は、入力PAD3002のPAD開口410にLレベルが印加された場合は、INTO端子2803にLレベルを出力する。
【0181】
入力PAD2801のPAD開口410にLレベルが印加された場合は、入力PAD3002は、INTI端子2802にLレベルが入力されるので、入力PAD3002のPAD開口410に印加される信号レベルによらず、INTO端子2803にLレベルを出力する。
【0182】
すなわち、図26に示す半導体装置は、入力PAD2801および3002の各PAD開口410のうち少なくとも一方にLレベルが印加されると、LSI内部回路に接続されるINT信号3004をLレベルにする。
【0183】
以上より、実施の形態4における半導体装置は、シフト制御部1107によるシフト動作を介さずともLSI内部回路へ入力PADへのLレベル入力を迅速に伝達できる。すなわち、実施の形態4における半導体装置は、入力PAD2801および3002に外部より入力された、Lレベルの信号を、非同期で、直接内部回路に送ることができる。
【0184】
なお、入力PADと出力PADは実施例1の構成で説明したが、
実施例2と3で説明した構成の回路でも同様に構成することが可能である。
【0185】
また、ここでは割込み信号としてLレベルを想定したが、AND回路2804をOR回路に代えHレベルで割込みがかかる構成としても良い。
(実施の形態5)
実施の形態3において、任意の信号を少ないクロック数で内部回路に取り込むことのできる半導体装置について説明したが、実施の形態3における半導体装置は、入力PADの総数をN個、出力PADの総数をM個とすると、任意の入力PADに外部より印加された信号をLSI内部回路に送るのに、ワーストケースで、3+(N+2×M)÷2クロックが必要となる。実施の形態5における半導体装置は、IOPADの並びによらず、必要な入力PADに外部より印加された信号を実施の形態3における半導体装置よりも少ないクロック数で内部回路に取り込むことができる。
【0186】
まず、実施の形態5における半導体装置の構成を説明する。
図29は、実施の形態5における半導体装置の入出力回路とその周辺の概略図である。なお、図1と同一の要素には同一の符号が付されており、それらに関する詳しい説明はここでは省略する。図29に示す半導体装置は2個の入力PADを備える。
【0187】
図29に示す、半導体装置は、入力PAD3101および3402と、入力シフトレジスタ部1104と、出力シフトレジスタ部1105と、入力ポート制御部3404と、シフト制御部2607と、データアライナ3427とを備える。
【0188】
図30は、入力PAD3101の概略図である。なお、図2と同一の要素には同一の符号が付されており、それらに関する詳しい説明はここでは省略する。なお、入力PAD3402は、入力PAD3101と同様の回路構成である。
【0189】
図30に示す入力PAD3101は、入力データセル408と、入力バッファ409と、PAD開口410と、バイパス制御セル3106と、セレクタ3107とを備える。
【0190】
バイパス制御セル3106は、図6に示す出力データセルと同様の回路構成である。
セレクタ3107は、バイパス制御セル3106のPO出力信号に対応し、INI端子3102の信号、または、入力データセル408のSO出力端子の信号を選択し、INO端子3103に出力する。
【0191】
入力ポート制御部3404は、入力ポートレジスタ1118および1119と、入力バイパスレジスタ3412および3413とを備える。入力バイパスレジスタ3412および3413は、内部バスより送られてきた入力バイパス情報を格納する。
【0192】
シフト制御部2607は、入力PAD3101、入力PAD3402、入力シフトレジスタ部1104、出力シフトレジスタ部1105およびデータアライナ3427に、信号を送り、入出力のシフト制御を行う。
【0193】
データアライナ3427は、シフト制御部2607より出力されたアライン3429に応じ、出力シフトレジスタ部1105より出力された2ビットの信号を選択し、並び替え、取り込み入力ポート制御部3404に出力する。
【0194】
図31は、実施の形態5における出力PAD3201の概略図である。図29の半導体装置では、説明の簡略化のため出力PADは用いられていないが、図31に示す出力PADを用いることで、入力PADおよび出力PADを備えた半導体装置として用いることができる。なお、図3と同一の要素には同一の符号が付されており、それらに関する詳しい説明はここでは省略する。
【0195】
図31に示す、出力PAD3201は、前段に隣接するIOPADからはINI端子3202にシリアル信号を入力し、後段に隣接するIOPADへINO端子3203から上記シリアル信号をスルー出力する。また、出力PAD3201は、前段に隣接するIOPADからはPBI端子3204から入力PADストローブ信号を入力し、後段に隣接するIOPADへPBO端子3205から入力PADストローブ信号をスルー出力する。
【0196】
次に、実施の形態5における半導体装置の動作について説明する。
実施の形態5における半導体装置は、入力PAD3101および3402内に設けられたセレクタ3107により、前段のIOPADから送られたシフトデータのシフトまたはスルーを選択することができる。これにより、特定の入力PADに外部から入力された信号を少ないクロック数で内部回路に送ることができる。
【0197】
まず、図29に示す半導体装置に用いられている入力PAD3101の動作について説明する。
【0198】
図32は、図30に示す入力PAD3101の動作を示す図である。
図32に示すデータ3304は、バイパス制御セル3106のOS−FF706が保持するデータを示す。バイパス制御セル3106のOS−FF706は、期間T3〜T4およびT6〜T10ではストローブ信号3302がLレベルのため、直前までSI端子3104に印加されている信号3303をクロック3301の立ち上がりに同期して取り込み、バイパス制御セル3106のOP−FF707およびSO端子3105へ出力する。バイパス制御セル3106のOS−FF706は、時刻T5ではストローブ信号3302がHレベルのため、データ3304を更新せず、バイパス制御セル3106のOP−FF707とSO端子3105への出力データを保持する。バイパス制御セル3106のOS−FF706は、上記以外の期間ではクロック3301が変化しないため、データ3304を更新せず保持する。
【0199】
データ3305は、バイパス制御セル3106のOP−FF707が保持するデータを示す。バイパス制御セル3106のOP−FF707は、時刻T5ではストローブ信号3302がHレベルのため、直前までOS−FFの出力している信号3304をクロック3301の立ち上がりに同期して取り込み、セレクタ3107へ出力する。バイパス制御セル3106のOP−FF707は、T5以外の期間では、ストローブ信号3302がLレベルであり、クロック3301がマスクされるため、データ3305を更新せず保持する。
【0200】
データ3309は、入力データセル408のIS−FF606が保持するデータを示す。入力データセル408のIS−FF606は、期間T3〜T7およびT9〜T10では入力PADストローブ信号3307がLレベルのため、直前までINI端子3102に印加されている信号3308をクロック3301の立ち上がりに同期して取り込み、セレクタ3107へ出力する。入力データセル408のIS−FF606は、時刻T8では入力PADストローブ信号3307がHレベルのため、PAD開口410に印加されている信号3306をクロック3301の立ち上がりに同期して取り込み、セレクタ3107へ出力する。入力データセル408のIS−FF606は、上記以外の期間ではクロック3301が変化しないため、データ3309を更新せず保持する。
【0201】
データ3310は、時刻T5において、バイパス制御セル3106のOP−FF707に取り込まれたデータの値SI(T3)がLレベルである場合におけるINO端子3103の出力データを示す。期間T5〜T11において、バイパス制御セル3106のOP−FF707のデータ3305はLレベルであるため、セレクタ3107は、入力データセル408のSO端子出力をINO端子3103に出力する経路を選択する。よって、入力PAD3101は、INI端子3102からの入力データ3308をシフトする。
【0202】
データ3311は、時刻T5において、バイパス制御セル3106のOP−FF707に取り込まれたデータの値SI(T3)がHレベルである場合におけるINO端子3103の出力データを示す。期間T5〜T11において、バイパス制御セル3106のOP−FF707のデータ3305はHレベルであるため、セレクタ3107は、INI端子3102の信号をINO端子3103にスルーする経路を選択する。よって、入力PAD3101は、INI端子3102からの入力データ3308をスルーする。
【0203】
すなわち、ストローブ信号3302がLレベルの場合は、バイパス制御セル3106のOS−FF706は、クロック3301の立ち上がりに同期し、SI端子3104のデータ3303を取り込む。このとき、バイパス制御セル3106のOP−FF707は、データ3305を保持する。ストローブ信号3302がHレベルの場合は、バイパス制御セル3106のOS−FF706は、データ3304を保持する。このとき、バイパス制御セル3106のOP−FF707は、バイパス制御セル3106のOS−FF706のデータ3304をクロック3301の立ち上がりに同期し、取り込む。
【0204】
入力PADストローブ信号3307がLレベルの場合は、入力データセル408のIS−FF606は、クロック3301の立ち上がりに同期し、INI端子のデータ3308を取り込む。入力PADストローブ信号3307がHレベルの場合は、入力データセル408のIS−FF606は、クロック3301の立ち上がりに同期し、PAD開口410に印加されたデータ3306を取り込む。
【0205】
バイパス制御セル3106のOP−FF707のデータ3305がLレベルの場合は、入力データセル408のIS−FF606のデータ3309が、INO端子3103に出力される。バイパス制御セル3106のOP−FF707のデータ3305がHレベルの場合は、INI端子3102のデータ3308が、スルーされINO端子3103に出力される。
【0206】
図33は、図29に示す半導体装置の動作を示す図である。
図33は、期間T1〜T10では、入力バイパス情報がともにLレベルが設定されている場合(バイパス制御が行われない場合)の動作を、期間T11〜T19では、入力バイパス情報にHレベルが含まれている場合(バイパス制御が行われる場合)の動作を示している。
【0207】
まず期間T1〜T10で、入力PAD3101および3402のバイパス制御セル3409に、ともに入力バイパス情報としてLレベルが設定される場合の動作を説明する。すなわち、入力PAD3491および3402に印加された信号を、内部回路に取り込む動作である。
【0208】
データ3501は、内部バス1130の入力ポート制御部3404へのアクセスを示す。時刻T2において、入力ポート制御部3404の入力バイパスレジスタ3412は、入力PAD3101の入力バイパス情報PAD1BP’が設定される。また、入力バイパスレジスタ3413は、入力PAD3402の入力バイパス情報PAD2BP’が設定される。入力バイパス情報PAD1BP’および入力バイパス情報PAD2BP’はLレベルとする。時刻T10において入力ポート制御部3404の入力ポートレジスタ1118および1119のデータ3424および3425が内部バス1130に読み出される。
【0209】
データ3506は、入力シフトレジスタ部1104のシフトレジスタ1112のIS−FF606が保持するデータである。シフトレジスタ1112のIS−FF606は、時刻T3において入力SRレジスタストローブ信号3505がHレベルのため、入力ポート制御部3404の入力バイパスレジスタ3412に格納されているデータ3502をクロック3504の立ち上がりに同期して取り込む。シフトレジスタ1112のIS−FF606は、期間T4〜T5において入力SRレジスタストローブ信号3505がLレベルのため、データ3506を次段のシフトレジスタ1113にシフトアウトする。
【0210】
データ3507は、入力シフトレジスタ部1104のシフトレジスタ1113のIS−FF606が保持するデータである。シフトレジスタ1113のIS−FF606は、時刻T3において入力SRレジスタストローブ信号3505がHレベルのため、入力バイパスレジスタ3413に格納されているデータ3503をクロック3504の立ち上がりに同期して取り込む。シフトレジスタ1113のIS−FF606は、期間T4〜T5において入力SRレジスタストローブ信号3505がLレベルのため、データ3507を次段の入力PAD3101のバイパス制御セル3106にシフトアウトする。
【0211】
データ3509は、入力PAD3101のバイパス制御セル3106のOS−FF706が保持するデータである。バイパス制御セル3106のOS−FF706は、期間T3〜T5においてIOPADストローブ信号3508がLレベルのため、次段の入力PAD3402のバイパス制御セル3409のOS−FF706にシフトアウトし、前段のシフトレジスタ1113のIS―FFのデータ3507をシフトインする。バイパス制御セル3106のOS−FF706は、時刻T6においてIOPADストローブ信号3508がHレベルのため、データ3509をシフトせず保持する。
【0212】
データ3510は、入力PAD3402のバイパス制御セル3409のOS−FF706が保持するデータである。バイパス制御セル3409のOS−FF706は、期間T3〜T5においてIOPADストローブ信号3508がLレベルのため、次段の出力シフトレジスタ部1105のシフトレジスタ1114へシフトアウトし、前段の入力PAD3101のバイパス制御セル3106のOS−FF706のデータ3509をシフトインする。バイパス制御セル3409のOS−FF706は、時刻T6においてIOPADストローブ信号3508がHレベルのため、データ3510をシフトせず保持する。
【0213】
データ3511は、入力PAD3101のバイパス制御セル3106のOP−FF707が保持するデータである。バイパス制御セル3106のOP−FF707は、時刻T6においてIOPADストローブ信号3508Hがレベルのため、バイパス制御セル3106のOS−FF706のデータ3509の値PAD1BP’を取り込みセレクタ3107へ出力する。バイパス制御セル3106のOP−FF707は、これ以外の期間ではIOPADストローブ信号3508がLレベルのため、データ3511を更新せず保持する。
【0214】
データ3512は、入力PAD3402のバイパス制御セル3409のOP−FF707が保持するデータである。バイパス制御セル3409のOP−FF707は、時刻T6においてIOPADストローブ信号3508がHレベルのため、バイパス制御セル3409のOS−FF706のデータ3507の値PAD2BP’を取り込みセレクタ3431へ出力する。バイパス制御セル3409のOP−FF707は、これ以外の期間ではIOPADストローブ信号3508がLレベルのため、データ3512を更新せず保持する。
【0215】
データ3513は、入力PAD3101のPAD開口410に印加される入力信号を示す。データ3513は、期間T4において以前の入力レベルPAD1ID’’から新たな入力レベルPAD1ID’に更新されている。
【0216】
データ3514は、入力PAD3402のPAD開口410に印加される入力信号を示す。データ3514は、期間T3において以前の入力レベルPAD2ID’’から新たな入力レベルPAD2ID’に更新されている。
【0217】
データ3516は、入力PAD3101の入力データセル408のIS−FF606が保持するデータである。入力データセル408のIS−FF606は、時刻T6において入力PADストローブ信号3508がHレベルのため、時刻T6における入力PAD3101への入力信号3513の値PAD1ID’を取り込む。入力データセル408のIS−FF606は、期間T7〜T8においてIOPADストローブ信号3508がLレベルのため、データ3516を入力PAD3402の入力データセル3407のIS−FF606にシフトアウトする。
【0218】
データ3517は、入力PAD3402の入力データセル3407のIS−FF606が保持するデータである。入力データセル3407のIS−FF606は、時刻T6において入力PADストローブ信号3508がHレベルのため、時刻T6における入力PAD3402への入力信号3514の値PAD2ID’を取り込む。入力データセル3407のIS−FF606は、期間T7〜T8においてIOPADストローブ信号3508がLレベルのため、データ3517を出力シフトレジスタ部1105のシフトレジスタ1114のOS−FF706にシフトアウトする。
【0219】
データ3519は、出力シフトレジスタ部1105のシフトレジスタ1114のOS−FF706が保持するデータである。シフトレジスタ1114のOS−FF706は、期間T7〜T8において出力SRストローブ信号3518がLレベルのため、保持していたデータ3519を次段のシフトレジスタ1115のOS―FF706にシフトアウトし、前段の入力PAD3402の入力データセル3407のIS−FF606のデータ3517をシフトインする。シフトレジスタ1114のOS−FF706は、時刻T9において出力SRストローブ信号3518がHレベルのため、データ3519をシフトせず保持する。
【0220】
データ3520は、出力シフトレジスタ部1105のシフトレジスタ1115のOS−FF706が保持するデータである。シフトレジスタ1115のOS−FF706は、期間T7〜T8においてIOPADストローブ信号3508がLレベルのため、前段のシフトレジスタ1114のOS―FF706のデータ3519をシフトインする。シフトレジスタ1115のOS−FFは、時刻T9において出力SRストローブ信号3518がHレベルのため、データ3520を保持する。
【0221】
データ3521は、出力シフトレジスタ部1105のシフトレジスタ1114のOP−FF707が保持するデータである。シフトレジスタ1114のOP−FF707は、時刻T9において出力SRストローブ信号3518がHレベルのため、シフトレジスタ1114のOS−FF706のデータ3519の値PAD1ID’をシフトインし、データアライナ3427へ出力する。シフトレジスタ1114のOP−FF707は、これ以外の期間では、出力SRレジスタストローブ信号3424がLレベルのため、データ3521を更新せず保持する。
【0222】
データ3522は、出力シフトレジスタ部1105のシフトレジスタ1115のOP−FF707が保持するデータである。シフトレジスタ1115のOP−FF707は、時刻T9において出力SRレジスタストローブ信号3424がHレベルのため、シフトレジスタ1115のOS−FF706のデータ3520の値PAD2ID’をシフトインし、データアライナ3427へ出力する。シフトレジスタ1115のOP−FF707は、これ以外の期間では出力SRレジスタストローブ信号3424がLレベルのため、データを3522を更新せず保持する。
【0223】
データ3523は、データアライナ3427へ入力される端子順序情報である。データアライナ3427は、期間T10において、データ3523が(1,2)であるので、出力シフトレジスタ部1105のシフトレジスタ1114および1115の各OP−FF707に格納されているデータ3521および3522を受け取り保持し、それぞれ入力ポートレジスタ1118および1119に出力する。すなわち、シフトレジスタ1114のOP−FF707に格納されているデータ3521の値PAD1ID’を入力ポートレジスタ1118に出力し、シフトレジスタ1115のOP−FF707に格納されているデータ3522の値PAD2ID’を入力ポートレジスタ1119に出力する。
【0224】
すなわち、実施の形態5における半導体装置は、入力ポート制御部3404の入力バイパスシフトレジスタ3412および3413に設定された入力バイパス情報(バイパス制御を行わない。)を入力シフトレジスタ部1104に送り、入力PAD3101および3402の各バイパス制御セル3106および3409にシフトする。これにより、入力PAD3101および3402の各セレクタ3107および3431は、各入力データセルの出力を選択する。すなわち、実施の形態1における半導体装置と同様の入力データのシフトが行われる。
【0225】
次に期間T11〜T19で、入力PAD3101〜3402のバイパス制御セル3409に、入力PAD3101の入力バイパス情報としてLレベルが、入力PAD3402の入力バイパス情報としてHレベルが設定された場合の動作を説明する。すなわち、入力PAD3101に印加された信号のみを内部回路に取り込む動作である。
【0226】
データ3501は、内部バス1130のアクセスを示す。時刻T11において入力ポート制御部3404の入力バイパスレジスタ3412は、入力PAD3101の入力バイパス情報PAD1BPが設定される。また、入力ポート制御部3404の入力バイパスレジスタ3413は、入力PAD3402の入力バイパス情報PAD2BPが設定される。入力バイパス情報PAD1BPはLレベル、入力バイパス情報PAD2BPはHレベルとする。時刻T19において入力ポート制御部3404の入力ポートレジスタ1118および1119のデータ3424および3425が内部バス1130に読み出される。
【0227】
データ3506は、入力シフトレジスタ部1104のシフトレジスタ1112のIS−FF606が保持するデータである。シフトレジスタ1112のIS−FF606は、時刻T12において入力SRレジスタストローブ信号3505がHレベルのため、入力ポート制御部3404の入力バイパスレジスタ3412に格納されているデータ3502をクロック3504の立ち上がりに同期して取り込む。シフトレジスタ1112のIS−FF606は、期間T13〜T14において入力SRレジスタストローブ信号3505がLレベルのため、データ3506を次段のシフトレジスタ1113のIS―FF606に順次シフトアウトする。
【0228】
データ3507は、入力シフトレジスタ部1104のシフトレジスタ1113のIS―FF606が保持するデータである。シフトレジスタ1113のIS―FF606は、時刻T12において入力SRレジスタストローブ信号3505がHレベルのため、入力バイパスレジスタ3413に格納されているデータ3503をクロック3504の立ち上がりに同期して取り込む。シフトレジスタ1113のIS―FF606は、期間T13〜T14において入力SRレジスタストローブ信号3505がLレベルのため、データ3507を次段の入力PAD3101のバイパス制御セル3106のOS−FF706に順次シフトアウトする。
【0229】
データ3509は、入力PAD3101のバイパス制御セル3106のOS−FF706が保持するデータである。バイパス制御セル3106のOS−FF706は、期間T12〜T14においてIOPADストローブ信号3508がLレベルのため、次段の入力PAD3402のバイパス制御セル3409のOS−FF706にデータ3509を順次シフトアウトし、前段のシフトレジスタ1113のIS−FF6060のデータ3507を順次シフトインする。バイパス制御セル3106のOS−FF706は、時刻T15においてIOPADストローブ信号3508がHレベルのため、データ3509をシフトせず保持する。
【0230】
データ3510は、入力PAD3402のバイパス制御セル3409のOS−FF706が保持するデータである。バイパス制御セル3409のOS−FF706は、期間T12〜T14においてIOPADストローブ信号3508がLレベルのため、次段のシフトレジスタ1114のOS−FF706にデータ3510を順次シフトアウトし、前段のバイパス制御セル3106のOS−FF706のデータ3509を順次シフトインする。バイパス制御セル3409のOS−FF706は、時刻T15においてIOPADストローブ信号3508がHレベルのため、データ3510をシフトせず保持する。
【0231】
データ3511は、入力PAD3101のバイパス制御セル3106のOP−FF707が保持するデータである。バイパス制御セル3106のOP−FF707は、時刻T15においてIOPADストローブ信号3508Hがレベルのため、バイパス制御セル3106のOS−FF706のデータ3509の値PAD1BPを取り込み、セレクタ3107へ出力する。バイパス制御セル3106のOP−FF707は、これ以外の期間ではIOPADストローブ信号3508Lがレベルのため、データ3511を更新せず保持する。
【0232】
データ3512は、入力PAD3402のバイパス制御セル3409のOP−FF707が保持するデータである。バイパス制御セル3409のOP−FF707は、時刻T15においてIOPADストローブ信号3508がHレベルのため、バイパス制御セル3409のOS−FF706のデータ3510の値PAD2BPを取り込み、セレクタ3431へ出力する。バイパス制御セル3409のOP−FF707は、これ以外の期間ではIOPADストローブ信号3508がLレベルのため、データ3512を更新せず保持する。
【0233】
データ3513は、入力PAD3101のPAD開口410に印加される入力信号を示す。期間T10において以前の入力レベルPAD1ID’から新たな入力レベルPAD1IDに更新されている。
【0234】
データ3514は、入力PAD3402のPAD開口410に印加される入力信号を示す。期間T11において以前の入力レベルPAD2ID’から新たな入力レベルPAD2IDに更新されている。
【0235】
データ3516は、入力PAD3101の入力データセル408のIS−FF606が保持するデータである。入力データセル408のIS−FF606は、時刻T15において入力PADストローブ信号3508がHレベルのため、時刻T15における入力PAD3101への入力信号3513の値PAD1IDを取り込む。入力データセル408のIS−FF606は、期間T16〜T17においてIOPADストローブ信号3508がLレベルのため、データ3516を入力PAD3402の入力データセル3407のIS−FF606に順次シフトアウトする。
【0236】
データ3517は、入力PAD3402の入力データセル3407のIS−FF606が保持するデータである。入力データセル3407のIS−FF606は、時刻T15において入力PADストローブ信号3508がHレベルのため、時刻T15における入力PAD3402への入力信号3514の値PAD2IDを取り込む。
【0237】
データ3519は、出力シフトレジスタ部1105のシフトレジスタ1114のOS−FF706が保持するデータである。時刻T16において出力SRストローブ信号3518がLレベル、かつ、入力PAD3402のバイパス制御セル3409のOP−FF707のデータ3512がHレベルであるため、入力PAD3402のセレクタ3107は、入力PAD3101の入力データセル408のIS−FF606のデータ3516を選択する。そのため、出力シフトレジスタ部1105のシフトレジスタ1114のOS−FF706は、入力PAD3101の入力データセル408のIS−FF606のデータ3516の値PAD1IDをシフトインする。入力PAD3101の入力データセル408のIS−FF606のデータ3516は、時刻T17において出力SRストローブ信号3518がHレベルのため、データ3519を保持する。
【0238】
データ3521は、出力シフトレジスタ部1105のシフトレジスタ1114のOP−FF707が保持するデータである。シフトレジスタ1114のOP−FF707は、時刻T17において出力SRレジスタストローブ信号3424がHレベルのため、シフトレジスタ1114のOS−FF706のデータ3519の値PAD1IDを取り込みデータアライナ3427へ出力する。シフトレジスタ1114のOP−FF707は、これ以外の期間では出力SRレジスタストローブ信号3424がLレベルのため、データ3521を更新せず保持する。
【0239】
データ3523は、データアライナ3427へ入力される端子順序情報である。データアライナ3427は、期間T18〜T19においては、データ3523が(1,x)であるので、シフトレジスタ1114のOP−FF707に格納されているデータ3521の値PAD1IDを受け取り保持し、入力ポートレジスタ1118に出力する。また、入力ポートレジスタ1119に対してはデータアライナ3427が入力ポートレジスタ1119に出力している値を保持する。すなわち、シフトレジスタ1114のOP−FF707に格納されているデータ3521の値PAD1IDを入力ポート1118に出力し、データアライナ3427が保持するPAD2ID’を入力ポートレジスタ1119に出力する。
【0240】
すなわち、実施の形態5における半導体装置は、入力ポート制御部3404の入力バイパスシフトレジスタ3412および3413に設定された入力バイパス情報(バイパス制御を行う。)を入力シフトレジスタ部1104に送り、入力PAD3101および3402の各バイパス制御セル3106および3409にシフトする。これにより、入力PAD3101のセレクタ3107は、入力データセル408の出力を選択する。また、入力PAD3402のセレクタ3431は、前段の入力PAD3101からのデータを選択する。すなわち、入力データセル408のデータ3519は入力PAD3402をスルーし、出力シフトレジスタ部1105に送られる。
【0241】
以上より、実施の形態5における半導体装置は、入力ポート制御部3404に設定されたバイパス制御データPAD1BPおよびPAD2BPを、入力シフトレジスタ部1104に送り、入力PAD3101および3402のバイパス制御セル3409に送ることにより、前段の入力PADからシフトアウトされてくるデータのシフトまたはスルーを選択することができる。これにより、実施の形態5における半導体装置は、IOPADの並びによらず、必要な入力PADに入力されたデータを少ないクロック数で内部回路に取り込むことができる。例えば、2個の入力PADを備えた半導体装置の場合、実施の形態5における半導体装置は、4クロック(T15〜18)で入力PAD3101に印加された信号をLSI内部回路に送ることができる。また、半導体装置のIOPADの数が多い場合でも、任意の入力PADに印加された1つの信号をLSI内部回路に送るのに必要なクロック数は4クロックである。
【産業上の利用可能性】
【0242】
本発明は、半導体装置に適用でき、特にデジタル入出力を備えた半導体装置に適用できる。
【図面の簡単な説明】
【0243】
【図1】実施の形態1における半導体装置の入出力回路とその周辺の概略図である。
【図2】実施の形態1における入力PAD401の概略図である。
【図3】実施の形態1における出力PAD501の概略図である。
【図4】実施の形態1における入出力PAD521の概略図である。
【図5】実施の形態1における入力データセル408の概略図である。
【図6】実施の形態1における出力データセル508の概略図である。
【図7】入力データセル408の動作を示す図である。
【図8】出力データセル508の動作を示す図である。
【図9】出力PAD501の動作を示す図である。
【図10】実施の形態1における半導体装置の動作を示す図である。
【図11】実施の形態1における半導体装置を用いたチップレイアウトの例である。
【図12】図11の領域1302を拡大した図である。
【図13】実施の形態2における半導体装置の入出力回路とその周辺の概略図である。
【図14】実施の形態2における入力PAD1501の概略図である。
【図15】実施の形態2における出力PAD1601の概略図である。
【図16】実施の形態2における半導体装置の動作を示す図である。
【図17】実施の形態3における半導体装置の入出力回路とその周辺の概略図である。
【図18】実施の形態3における入力PAD1901の概略図である。
【図19】実施の形態3における出力PAD2001の概略図である。
【図20】実施の形態3における入力データセル1908の概略図である。
【図21】実施の形態3における出力データセル2008の概略図である。
【図22】入力データセル1908の動作を示す図である。
【図23】出力データセル2008の動作を示す図である。
【図24】出力PAD2001の動作を示す図である。
【図25】実施の形態3における半導体装置の動作を示す図である。
【図26】実施の形態4における半導体装置の入出力回路とその周辺の概略図である。
【図27】実施の形態4における入力PAD2801の概略図である。
【図28】実施の形態4における出力PAD2901の概略図である。
【図29】実施の形態5における半導体装置の入出力回路とその周辺の概略図である。
【図30】実施の形態5における入力PAD3101の概略図である。
【図31】実施の形態5における出力PAD3201の概略図である。
【図32】入力PAD3101の動作を示す図である。
【図33】実施の形態5における半導体装置の動作を示す図である。
【図34】従来のデジタル入出力を備える半導体装置の入出力PADとその周辺回路の構成を示す図である。
【図35】従来の半導体装置のチップレイアウトの例である。
【図36】図35の領域102を拡大した図である。
【符号の説明】
【0244】
101、1301 LSIチップレイアウト
309、1401 配線領域
301、401、1102、1501、1702、1901、2602、2603、2801、3002、3101、3402 入力PAD
302,501、1601、2001、2901、3201 出力PAD
521 入出力PAD
303、1106、2606 IOポート部
3404 入力ポート制御部
304、1130 内部バス
306、1118、1119、2617、2618、2619 入力ポートレジスタ
307、308、1116、1117 出力ポートレジスタ
402、502 SBI端子
403、503 CKI端子
404、504 SI端子
405、505 SBO端子
406、506 CKO端子
407、507 SO端子
408、1109、1706、1908、2609、2610、3407 入力データセル
409 入力バッファ
410,511 PAD開口
508、2008 出力データセル
509、2009 出力制御セル
510 出力バッファ
1104 入力シフトレジスタ部
1105、2605 出力シフトレジスタ部
1107、2607 シフト制御部
1111 出力制御セル
1112、1113、1114、1115、2613、1614、2615 シフトレジスタ
2630、3427 データアライナ
3106、3409 バイパス制御セル
3107、3431 セレクタ
3412、3413 入力バイパスレジスタ

【特許請求の範囲】
【請求項1】
LSIチップに信号の入力または出力をおこなうパッドセルを複数個備えたパッドセル群であって、
前記各パッドセルは、
前記信号が入力または出力されるパッドと、
前記パッドに接続された単位シフトレジスタとを備え、
前記複数個のパッドセルの複数個の単位シフトレジスタは、複数個のパッドに入力されたパラレル信号をシリアル信号に変換する、または、シリアル信号をパラレル信号に変換し前記複数個のパッドに出力するシフトレジスタを構成し、
最終段の単位シフトレジスタのシリアル出力、および、初段の単位シフトレジスタのシリアル入力のうち少なくとも1つは、LSIチップの内部回路と接続される
ことを特徴とするパッドセル群。
【請求項2】
前記各パッドセルは、
前記単位シフトレジスタにシフトデータを入力するためのシフトデータ入力端子と、
前記単位シフトレジスタからのシフトデータを出力するためのシフトデータ出力端子と、
前記単位シフトレジスタにクロックを入力するためのクロック配線と、
前記クロック配線に接続された第一のクロック端子および第二のクロック端子と、
前記単位シフトレジスタに前記単位シフトレジスタのシフト動作と前記パッドへの信号の入力または出力とを制御するストローブ信号を入力するためのストローブ配線と、
前記ストローブ配線に接続された第一のストローブ端子および第二のストローブ端子とを備え、
シフトデータ入力端子、シフトデータ出力端子、第一のクロック端子、第二のクロック端子、第一のストローブ端子および第二のストローブ端子は、各パッドセルのレイアウト領域における他のパッドセルと隣接する境界に配置され、
各パッドセルのシフトデータ入力端子のレイアウト位置は、各パッドセルの前段に隣接して配置されたパッドセルのシフトデータ出力端子のレイアウト位置と接し、
各パッドセルの第一のクロック端子のレイアウト位置は、各パッドセルの前段に隣接して配置されたパッドセルの第二のクロック端子のレイアウト位置と接し、
各パッドセルの第一のストローブ端子のレイアウト位置は、各パッドセルの前段に隣接して配置されたパッドセルの第二のストローブ端子のレイアウト位置と接し、
各パッドセルのシフトデータ出力端子のレイアウト位置は、各パッドセルの後段に隣接して配置されたパッドセルのシフトデータ入力端子のレイアウト位置と接し、
各パッドセルの第二のクロック端子のレイアウト位置は、各パッドセルの後段に隣接して配置されたパッドセルの第一のクロック端子のレイアウト位置と接し、
各パッドセルの第二のストローブ端子のレイアウト位置は、各パッドセルの後段に隣接して配置されたパッドセルの第一のストローブ端子のレイアウト位置と接する
ことを特徴とする請求項1記載のパッドセル群。
【請求項3】
LSIチップに入力された入力信号を内部回路に伝達する入力パッドセルを複数個備えた入力パッドセル群であって、
前記各入力パッドセルは、
前記入力信号が入力される入力パッドと、
前記入力パッドに入力された信号を取り込む単位シフトレジスタとを備え、
前記複数個の入力パッドセルの複数個の単位シフトレジスタは、複数個のパッドに入力されたパラレル信号をシリアル信号に変換するシフトレジスタを構成し、
最終段の単位シフトレジスタのシリアル出力は、内部回路に送られる
ことを特徴とする入力パッドセル群。
【請求項4】
前記各入力パッドセルは、
前記単位シフトレジスタにシフトデータを入力するためのシフトデータ入力端子と、
前記単位シフトレジスタからのシフトデータを出力するためのシフトデータ出力端子と、
前記単位シフトレジスタにクロックを入力するためのクロック配線と、
前記クロック配線に接続された第一のクロック端子および第二のクロック端子と、
前記単位シフトレジスタに前記単位シフトレジスタのシフト動作と前記パッドへの信号の入力または出力とを制御するストローブ信号を入力するためのストローブ配線と、
前記ストローブ配線に接続された第一のストローブ端子および第二のストローブ端子とを備え、
シフトデータ入力端子、シフトデータ出力端子、第一のクロック端子、第二のクロック端子、第一のストローブ端子および第二のストローブ端子は、各入力パッドセルのレイアウト領域における他の入力パッドセルと隣接する境界に配置され、
各入力パッドセルのシフトデータ入力端子のレイアウト位置は、各入力パッドセルの前段に隣接して配置された入力パッドセルのシフトデータ出力端子のレイアウト位置と接し、
各入力パッドセルの第一のクロック端子のレイアウト位置は、各入力パッドセルの前段に隣接して配置された入力パッドセルの第二のクロック端子のレイアウト位置と接し、
各入力パッドセルの第一のストローブ端子のレイアウト位置は、各入力パッドセルの前段に隣接して配置された入力パッドセルの第二のストローブ端子のレイアウト位置と接し、
各入力パッドセルのシフトデータ出力端子のレイアウト位置は、各入力パッドセルの後段に隣接して配置された入力パッドセルのシフトデータ入力端子のレイアウト位置と接し、
各入力パッドセルの第二のクロック端子のレイアウト位置は、各入力パッドセルの後段に隣接して配置された入力パッドセルの第一のクロック端子のレイアウト位置と接し、
各入力パッドセルの第二のストローブ端子のレイアウト位置は、各入力パッドセルの後段に隣接して配置された入力パッドセルの第一のストローブ端子のレイアウト位置と接する
ことを特徴とする請求項3記載の入力パッドセル群。
【請求項5】
前記シフトレジスタは、双方向に信号をシフトし、両端の単位シフトレジスタの出力は、内部回路に送られる
ことを特徴とする請求項4記載の入力パッドセル群。
【請求項6】
前記入力パッドセルのうち少なくとも1つは、さらに、
前記入力パッドに入力された信号を、前記単位シフトレジスタを介さず、非同期に出力する論理回路部を備え、
前記複数個の入力パッドセルの複数個の論理回路部は、直列に接続され、最終段の論理回路部の出力は、内部回路に送られる
ことを特徴とする請求項4または5記載の入力パッドセル群。
【請求項7】
前記各入力パッドセルは、さらに、
前記単位シフトレジスタのシリアル出力信号と、シリアル入力信号のいずれかを選択し、次段の単位シフトレジスタに出力する選択回路と、
前記選択回路の選択を決める信号を前記選択回路に送る、単位バイパスシフトレジスタとを備え、
前記複数個の入力パッドセルの複数個の単位バイパスシフトレジスタは、シフトレジスタを構成し、
初段の単位バイパスシフトレジスタの入力は、内部回路から送られる
ことを特徴とする請求項4、5または6記載の入力パッドセル群。
【請求項8】
前記各入力パッドセルは、LSIチップに入力された入力信号を内部回路に伝達するだけでなく、LSIチップの内部回路から出力された出力信号を外部に出力する機能を有し、
前記各入力パッドセルは、さらに、
前記出力信号を出力する出力バッファと、
出力レベルを決める信号である出力データ信号を保持し、出力バッファに送る単位データシフトレジスタと、
出力状態を決める信号である出力制御信号を保持し、出力バッファに送る単位制御シフトレジスタとを備え、
前記複数個の入力パッドセルの複数個の単位データシフトレジスタおよび単位制御シフトレジスタは、シフトレジスタを構成し、
初段の単位データシフトレジスタまたは単位制御シフトレジスタの入力は、内部回路より送られる
ことを特徴とする請求項4、5、6または7記載の入力パッドセル群。
【請求項9】
LSIチップの内部回路から出力された出力信号を外部に出力する出力パッドセルを複数個備えた出力パッドセル群であって、
前記各出力パッドセルは、
前記出力信号を外部に出力する出力パッドと、
信号を保持し、前記出力パッドに送る単位シフトレジスタとを備え、
前記複数個の出力パッドセルの複数個の単位シフトレジスタは、シリアル信号をパラレル信号に変換し前記複数個の出力パッドに送るシフトレジスタを構成し、
初段の単位シフトレジスタのシリアル入力は、内部回路より送られる
ことを特徴とする出力パッドセル群。
【請求項10】
前記各出力パッドセルは、
前記単位シフトレジスタにシフトデータを入力するためのシフトデータ入力端子と、
前記単位シフトレジスタからのシフトデータを出力するためのシフトデータ出力端子と、
前記単位シフトレジスタにクロックを入力するためのクロック配線と、
前記クロック配線に接続された第一のクロック端子および第二のクロック端子と、
前記単位シフトレジスタに前記単位シフトレジスタのシフト動作と前記パッドへの信号の入力または出力とを制御するストローブ信号を入力するためのストローブ配線と、
前記ストローブ配線に接続された第一のストローブ端子および第二のストローブ端子とを備え、
シフトデータ入力端子、シフトデータ出力端子、第一のクロック端子、第二のクロック端子、第一のストローブ端子および第二のストローブ端子は、各出力パッドセルのレイアウト領域における他の出力パッドセルと隣接する境界に配置され、
各出力パッドセルのシフトデータ入力端子のレイアウト位置は、各出力パッドセルの前段に隣接して配置された出力パッドセルのシフトデータ出力端子のレイアウト位置と接し、
各出力パッドセルの第一のクロック端子のレイアウト位置は、各出力パッドセルの前段に隣接して配置された出力パッドセルの第二のクロック端子のレイアウト位置と接し、
各出力パッドセルの第一のストローブ端子のレイアウト位置は、各出力パッドセルの前段に隣接して配置された出力パッドセルの第二のストローブ端子のレイアウト位置と接し、
各出力パッドセルのシフトデータ出力端子のレイアウト位置は、各出力パッドセルの後段に隣接して配置された出力パッドセルのシフトデータ入力端子のレイアウト位置と接し、
各出力パッドセルの第二のクロック端子のレイアウト位置は、各出力パッドセルの後段に隣接して配置された出力パッドセルの第一のクロック端子のレイアウト位置と接し、
各出力パッドセルの第二のストローブ端子のレイアウト位置は、各出力パッドセルの後段に隣接して配置された出力パッドセルの第一のストローブ端子のレイアウト位置と接する
ことを特徴とする請求項9記載の出力パッドセル群。
【請求項11】
前記各出力パッドセルの単位シフトレジスタは、
前記出力パッド出力信号を出力する出力バッファと、
出力レベルを決める信号である出力データ信号を保持し、出力バッファに送る単位データシフトレジスタと、
出力状態を決める信号である出力制御信号を保持し、出力バッファに送る単位制御シフトレジスタとを備え、
前記複数個の出力パッドセルの複数個の単位データシフトレジスタおよび単位制御シフトレジスタは、シフトレジスタを構成し、
初段の単位データシフトレジスタまたは単位制御シフトレジスタの入力は、内部回路より送られる
ことを特徴とする請求項10記載の出力パッドセル群。
【請求項12】
前記シフトレジスタは、双方向に信号をシフトし、両端の単位シフトレジスタの入力は、内部回路から送られる
ことを特徴とする請求項10および11記載の出力パッドセル群。
【請求項13】
半導体装置であって、
請求項4〜8記載の入力パッドセル群、および、請求項10〜12記載の出力パッドセル群のうち1以上を備える
ことを特徴とする半導体装置。
【請求項14】
請求項4、5、6または7記載の入力パッドセル群と、
請求項10、11または12記載の出力パッドセル群とを備え、
前記入力パッドセル群のシフトレジスタと、前記出力パッドセル群のシフトレジスタとの入力および出力が、互いに接続されていない
ことを特徴とする請求項13に記載の半導体装置。
【請求項15】
前記半導体装置は、さらに、
前記入力パッドセル群のシフトレジスタより出力されるシリアル信号をパラレル信号に変換し、内部回路に送る出力シフトレジスタ部を備える
ことを特徴とする請求項14記載の半導体装置。
【請求項16】
前記半導体装置は、さらに、
内部回路からのパラレル信号をシリアル信号に変換し、前記出力パッドセル群のシフトレジスタの入力に送る入力シフトレジスタ部を備える
ことを特徴とする請求項14または15記載の半導体装置。
【請求項17】
前記半導体装置は、さらに、
前記出力シフトレジスタ部より出力されるパラレル信号のうち必要な信号を、並び替え、保持および出力するデータアライナ部を備える
ことを特徴とする請求項15記載の半導体装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate


【公開番号】特開2007−67292(P2007−67292A)
【公開日】平成19年3月15日(2007.3.15)
【国際特許分類】
【出願番号】特願2005−253883(P2005−253883)
【出願日】平成17年9月1日(2005.9.1)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】