(57)【要約】【課題】外部からシリアルクロックおよびデータを入力して演算処理する半導体集積回路装置において、チップ面積の低減し、回路レイアウトを容易にすることを目的とする。【解決手段】外部からシリアル受信データを入力すると共に、受信ステートマシン部２０からコントロール信号を入力した際、シリアル受信データを構成する複数のｂｉｔ数のデータのうち、コントロール信号が示す内容に対応したデータを、データレジスタ群４０の各データレジスタ４１〜４４の中で当該データに対応したデータレジスタに選択的に入力するセレクタ３０を備えた構成とする。【選択図】図１
2008035074.tif 000002
【特許請求の範囲】
【請求項１】
マシンクロックを生成すると共に、外部からシリアルクロックと共に複数のｂｉｔ数のデータで構成されるデータをシリアル受信データとして入力し、当該シリアル受信データを回路部（５０）にて演算処理する半導体集積回路装置であって、
前記シリアルクロックおよび前記マシンクロックを入力し、前記マシンクロックで前記シリアルクロックをサンプリングすることで前記シリアルクロックの立ち上がりを検出すると共に、前記シリアルクロックの立ち上がりを検出したことを示すエッジ検出信号を出力するエッジ検出回路部（１０）と、
前記エッジ検出信号を入力して前記複数のｂｉｔ数と同じ数のエッジ検出信号をカウントするものであり、前記エッジ検出信号が入力されるごとに前記エッジ検出信号が入力された数を示すコントロール信号を出力する受信ステートマシン部（２０）と、
前記複数のｂｉｔ数と同じの数のデータレジスタ（４１〜４４）を備え、前記各データレジスタに入力された各データを前記回路部に入力するデータレジスタ群（４０）と、
前記シリアル受信データを入力すると共に、前記受信ステートマシン部から前記コントロール信号を入力した際、前記シリアル受信データを構成する前記複数のｂｉｔ数のデータのうち、前記コントロール信号が示す内容に対応したデータを、前記各データレジスタの中で当該データに対応したデータレジスタに選択的に入力するセレクタ（３０）と、を有することを特徴とする半導体集積回路装置。
【請求項２】
前記受信ステートマシン部は、前記エッジ検出信号のカウントが終了した場合、前記エッジ検出信号のカウントが終了したことを示す受信終了フラグを出力するようになっており、前記受信終了フラグが前記回路部に入力されると、前記データレジスタ群の前記各データレジスタに入力されたデータが前記回路部に入力され、当該データが前記回路部にて演算処理されるようになっていることを特徴とする請求項１に記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルクロックに同期してシリアルデータを入力し、当該シリアルデータを演算処理する半導体集積回路装置に関する。
【背景技術】
【０００２】
従来より、外部からクロックと共にシリアルデータを入力する半導体集積回路装置が、例えば特許文献１で提案されている。この特許文献１で提案されている半導体集積回路装置は、複数のｂｉｔ数で構成されるシリアルデータをｂｉｔごとにシフトレジスタに分配するシリアル−パラレル変換器を有し、当該シリアル−パラレル変換器を受信クロックと同じ周波数の内部クロックで動作させることで通信速度の高速化を図っている。
【０００３】
また、外部からクロック（以下、シリアルクロックという）と共にデータを入力する半導体集積回路装置として、図３に示されるものがある。図３に示される半導体集積回路装置は、当該半導体集積回路装置内で生成されるマシンクロックでシリアルクロックの立ち上がりを検出してエッジ検出信号を出力するエッジ検出回路部１０と、エッジ検出信号を入力すると共にその数をカウントしていき、カウント終了時に受信終了フラグを出力する受信ステートマシン部２０と、外部からデータをシリアル受信データとして入力するシフトレジスタ群６０と、マシンクロックの立ち上がりに応じてシフトレジスタ群６０からデータを入力するデータレジスタ群４０と、受信終了フラグを入力したとき、データレジスタ群４０からデータを入力して演算を行う回路部５０と、を備えて構成されている。
【０００４】
このうち、シフトレジスタ群６０およびデータレジスタ群４０は、シリアル受信データのｂｉｔ数に応じてそれぞれレジスタが設けられている。なお、上記半導体集積回路装置は１つのチップとして構成され、例えば８ｂｉｔのシリアル受信データが取り扱われる。
【０００５】
このような構成を有する半導体集積回路装置では、外部からシリアルクロックと共にシリアル受信データが入力されると、シフトレジスタ群６０の第１シフトレジスタ６１に入力されたシリアル受信データがシリアルクロックの立ち上がりに応じて第２シフトレジスタ６２、第３シフトレジスタ６３という順に第８シフトレジスタ６４にまでシフトし、８ｂｉｔのデータがシフトレジスタ群６０の各シフトレジスタ６１〜６４に入力される。
【０００６】
これに伴い、シフトレジスタ群６０の各シフトレジスタ６１〜６４に入力されたデータは、マシンクロックの立ち上がりに応じてデータレジスタ群４０の各データレジスタ４１〜４４に入力される。すなわち、第１シフトレジスタ６１に入力されたデータは第１データレジスタ４１に入力され、第８シフトレジスタ６４に入力されたデータは第８データレジスタ４４に入力される。
【０００７】
また、エッジ検出回路部１０にてシリアルクロックの立ち上がりが検出されると共に、受信ステートマシン部２０にてその立ち上がりの数がカウントされ、カウント終了時に受信ステートマシン部２０から受信終了フラグが回路部５０に入力される。回路部５０に受信終了フラグが入力されるとデータレジスタ群４０の各データレジスタ４１〜４４が回路部５０に入力されると共に演算処理され、その演算結果が外部に出力される。
【特許文献１】特開２０００−２６９９４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、図３に示される従来技術では、外部から入力したシリアルクロックをその立ち上がりの検出のため、およびシリアル受信データをシフトレジスタ群６０の各シフトレジスタ６１〜６４に次々とシフトさせるために用いている。このため、半導体集積回路装置において、シリアルクロックを取り扱う端子が２本必要になり、ひいてはスキャンチェーンが２本必要になってしまう。これにより、半導体集積回路装置の故障テスト時では、各スキャンチェーンを外部と接続するためのテスト端子として、１本のスキャンチェーンに対してスキャンイン端子およびスキャンアウト端子の２つの端子を必要とする。このため、２本のスキャンチェーンにおけるテスト端子だけで４つの端子が必要となってしまい、半導体集積回路装置としてのチップのサイズが大きくなってしまうという問題が生じる。
【０００９】
また、シフトレジスタ群６０にはシリアルクロックが入力され、データレジスタ群４０にはマシンクロックが入力されるようになっているため、クロック系統数が２系統になっている。したがって、１つのチップ内に図３に示される回路をレイアウトする際、各クロックの入力端子から各レジスタまでの距離が一定になるように回路レイアウトを構成しなければならず、レジスタの数が多いほど回路レイアウトが制限され、レイアウトの自由度が低下してしまうという問題が生じる。この場合、回路レイアウトを実現するためにチップサイズが大きくなってしまう可能性もある。
【００１０】
本発明は、上記点に鑑み、外部からシリアルクロックおよびデータを入力して演算処理する半導体集積回路装置において、チップ面積を低減することを第１の目的とし、回路レイアウトを容易にすることを第２の目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明は、外部からシリアル受信データを入力すると共に、受信ステートマシン部（２０）からコントロール信号を入力した際、シリアル受信データを構成する複数のｂｉｔ数のデータのうち、コントロール信号が示す内容に対応したデータを、データレジスタ群（４０）の各データレジスタ（４１〜４４）の中で当該データに対応したデータレジスタに選択的に入力するセレクタ（３０）を備えたことを特徴とする。
【００１２】
このようにセレクタを用いることで、シリアルクロックに基づいてシリアル受信データをデータレジスタ群の各データレジスタに分配するシフトレジスタを必要としない。したがって、シフトレジスタに用いるシリアルクロックのためのスキャンチェーンが必要なくなる。これにより、必要なくなったスキャンチェーンのためのテスト端子も必要なくなり、ひいてはチップの面積を低減させることができる。
【００１３】
また、上記のようにシフトレジスタにシリアルクロックを入力するための配線が必要なくなるため、すなわちシリアルクロックのクロック系統数が１つになるため、回路レイアウトを容易にすることができ、回路設計しやすくすることができる。
【００１４】
また、受信ステートマシン部にてエッジ検出信号のカウントが終了した場合、エッジ検出信号のカウントが終了したことを示す受信終了フラグを受信ステートマシン部から出力する。そして、この受信終了フラグを回路部に入力することで、データレジスタ群の各データレジスタに入力されたデータをすべて回路部に入力し、回路部にて当該データを演算処理することができる。
【００１５】
なお、上記各手段の括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示すものである。
【発明を実施するための最良の形態】
【００１６】
（第１実施形態）
以下、本発明の第１実施形態について図を参照して説明する。以下では、図３に示す構成要素と同一のものには、同一符号を記してある。
【００１７】
本実施形態で示される半導体集積回路装置は、シリアル通信可能である機器、すなわちシリアルクロックに同期してシリアルデータを入力する機器に適用することができ、特に車両のメータ用マイクロコンピュータに適用することができる。
【００１８】
図１は、本発明の一実施形態に係る半導体集積回路装置のブロック構成図である。半導体集積回路装置は、外部機器との間でシリアル通信を行うものであり、図示しない外部機器からデータを受信して、そのデータに基づいて演算を行い、演算結果を外部に出力する機能を有するものである。
【００１９】
すなわち、半導体集積回路装置は、外部機器で生成されたシリアルクロックと、このシリアルクロックと共に出力されたデータを外部機器からそれぞれ入力する周知の構成を有している。このような半導体集積回路装置は例えば１つのチップとして構成される。
【００２０】
本実施形態では、外部機器から半導体集積回路装置に入力されるデータをシリアル受信データとし、外部機器と半導体集積回路装置との間で例えば８ｂｉｔのデータを取り扱う場合について説明する。
【００２１】
上記のような半導体集積回路装置は、エッジ検出回路部１０と、受信ステートマシン部２０と、セレクタ３０と、データレジスタ群４０と、回路部５０と、を備えて構成されており、マシンクロックを生成する機能を有している。
【００２２】
このうち、エッジ検出回路部１０は、上記シリアルクロックおよびマシンクロックを入力し、マシンクロックでシリアルクロックをサンプリングする機能を有するものである。すなわち、エッジ検出回路部１０は、フリップフロップを有し、このフリップフロップにシリアルクロックを入力してマシンクロックでシリアルクロックの立ち上がりを検出すると共に、シリアルクロックの立ち上がりを検出したことを示すエッジ検出信号を出力する機能を有する。
【００２３】
受信ステートマシン部２０は、エッジ検出回路部１０から入力されるエッジ検出信号の数をカウントすると共に、エッジ検出信号が入力された数に応じたコントロール信号を出力するものである。例えば、エッジ検出回路部１０にて１つめのシリアルクロックが検出された場合、受信ステートマシン部２０からは「１」の情報を含んだコントロール信号を生成して出力するようになっている。本実施形態では、受信ステートマシン部２０はカウントダウンすることでエッジ検出信号の数をカウントする。
【００２４】
また、上述のように、半導体集積回路装置では８ｂｉｔデータが取り扱われるため、受信ステートマシン部２０は、エッジ検出回路部１０からエッジ検出信号を８回入力した際、８回目のエッジ検出信号の入力があったことを示す受信終了フラグを出力するようになっている。
【００２５】
セレクタ３０は、外部機器からシリアル受信データを入力すると共に、受信ステートマシン部２０から１から８までの各数値を示すコントロール信号を入力し、コントロール信号が示す番号に応じてシリアル受信データをデータレジスタ群４０に分配する機能を有するものである。このようなセレクタ３０は、例えば論理回路にて構成されている。
【００２６】
具体的には、セレクタ３０は、受信ステートマシン部２０から「１」を示すコントロール信号を入力した場合、外部機器から入力される８ｂｉｔのシリアル受信データの１ｂｉｔ目のデータをデータレジスタ群４０のうち１番目に対応した第１データレジスタ４１に入力するようになっている。以下、コントロール信号が示す番号の順に、そのコントロール信号が示す番号に対応するシリアル受信データを、データレジスタ群４０のうちコントロール信号が示す番号に対応するデータレジスタ４１〜４４にそれぞれ入力する。
【００２７】
データレジスタ群４０は、セレクタ３０から入力されるデータを回路部５０に入力するものであり、半導体集積回路装置が取り扱うデータ量に応じた数のデータレジスタ４１〜４４を備えて構成されている。このような各データレジスタ４１〜４４は、いわゆるフリップフロップである。
【００２８】
本実施形態では、８ｂｉｔのシリアル受信データが取り扱われるため、データレジスタ群４０には８つの第１〜第８データレジスタ４１〜４４が備えられている。すなわち、データレジスタ群４０の各データレジスタ４１〜４４には、上述のように、コントロール信号が示す番号に対応したシリアル受信データがセレクタ３０によって選択され、それぞれ入力されるようになっている。
【００２９】
なお、各データレジスタ４１〜４４においては、セレクタ３０からシリアル受信データが分配されていない場合、各データレジスタ４１〜４４に格納されたデータがセレクタ３０にそれぞれフィードバックされるようになっている。
【００３０】
回路部５０は、セレクタ３０およびデータレジスタ群４０を介して外部機器から入力されるシリアル受信データを入力すると共に、当該シリアル受信データに基づいて演算処理を行う機能を有している。
【００３１】
具体的に、回路部５０は、受信ステートマシン部２０から受信終了フラグを入力した際、データレジスタ群４０の各データレジスタ４１〜４４に格納されたデータを入力し、演算処理を行うようになっている。そして、回路部５０は、演算結果を外部機器に出力する。以上が、本実施形態に係る半導体集積回路装置の全体構成である。
【００３２】
次に、上記半導体集積回路装置の作動について、図を参照して説明する。図２は、半導体集積回路装置の作動を説明するためのタイムチャートである。
【００３３】
まず、半導体集積回路装置においてマシンクロックが生成され、エッジ検出回路部１０およびデータレジスタ群４０の各データレジスタ４１〜４４に入力される。また、外部機器にて生成されたシリアルクロックが半導体集積回路装置のエッジ検出回路部１０に入力され、外部機器から出力されたデータがセレクタ３０にシリアル受信データとして入力される。
【００３４】
このような状態でエッジ検出回路部１０にシリアルクロックが入力されると、エッジ検出回路部１０にてマシンクロックによってシリアルクロックがサンプリングされ、シリアルクロックの立ち上がりに応じてエッジ検出信号が生成される。
【００３５】
このエッジ検出信号は受信ステートマシン部２０に入力され、当該受信ステートマシン部２０にてエッジ検出信号の入力の数に応じたコントロール信号が生成されると共に、回路部５０およびセレクタ３０に入力される。すなわち、「１」を示すコントロール信号がセレクタ３０に入力される。また、受信ステートマシン部２０ではカウントダウンがなされ、エッジ検出信号を残り７回入力すると受信終了フラグを生成することとなる。なお、回路部５０では受信終了フラグが入力されない限り、信号処理は行われない。
【００３６】
一方、セレクタ３０には外部機器から８ｂｉｔのシリアル受信データの１番目のデータが入力されている。そして、上記のようにして受信ステートマシン部２０から「１」を示すコントロール信号がセレクタ３０に入力されると、シリアル受信データの１番目のデータがデータレジスタ群４０の第１データレジスタ４１に選択的に入力される。
【００３７】
この後、エッジ検出回路部１０にて２つめのシリアルクロックの立ち上がりが検出されると、上記と同様にして、受信ステートマシン部２０から「２」を示すコントロール信号がセレクタ３０に入力されると共に、シリアル受信データの２番目のデータがデータレジスタ群４０の第２データレジスタ４２に選択的に入力される。
【００３８】
上記のようにしてエッジ検出回路部１０にてシリアルクロックの立ち上がりが検出され、ひいてはセレクタ３０からシリアル受信データが選択的に各データレジスタ４１〜４４に入力されていく。また、受信ステートマシン部２０ではカウントダウンが行われる。
【００３９】
そして、エッジ検出回路部１０にて８番目のシリアルクロックが検出されると、受信ステートマシン部２０にて「８」を示すコントロール信号が生成されると共に、当該コントロール信号に応じてセレクタ３０にてシリアル受信データの８番目のデータがデータレジスタ群４０の第８データレジスタ４４に選択的に入力される。
【００４０】
また、受信ステートマシン部２０では、カウントダウンによってカウント値が０になるため、受信終了フラグが生成され、この受信終了フラグが回路部５０に入力される。これにより、データレジスタ群４０の各データレジスタ４１〜４４に入力されたデータが回路部５０に入力され、回路部５０にて演算処理されて外部に出力される。
【００４１】
このようにして、８ｂｉｔデータの取り込みおよび演算処理が実行される。この後、上記と同様にして、８ｂｉｔデータがセレクタ３０にて選択的に各データレジスタ４１〜４４に入力され、回路部５０にて演算されるという動作が繰り返し行われることとなる。
【００４２】
以上説明したように、本実施形態では、シリアル受信データをセレクタにて選択的にデータレジスタ群４０に分配していることが特徴となっている。このとき、シリアルクロックの立ち上がりの数に応じたコントロール信号を用いることで、シリアル受信データをデータレジスタ群４０に分配するためのフリップフロップをなくすことができる。すなわち、シリアルクロックで駆動するフリップフロップ（例えば従来のシフトレジスタ）を排除することができ、当該フリップフロップのためのスキャンチェーンをなくすことができる。
【００４３】
このようにスキャンチェーンをなくすことができることに伴い、このスキャンチェーンのためのテスト端子をなくすことができ、ひいては半導体集積回路装置をなす１チップのサイズを小さくすることができる。このようにしてチップサイズを低減することができる。
【００４４】
また、シリアルクロックで駆動するフリップフロップ（例えば従来のシフトレジスタ）を排除することができるため、このフリップフロップにシリアルクロックを入力するための配線をなくすことができる。すなわち、半導体集積回路装置においてシリアルクロックのクロック系統をエッジ検出回路部１０にのみ入力する１つの系統のみとすることができる。これにより、回路レイアウトを容易にすることができ、少ないクロック系統数で回路設計できるため、チップサイズを小さくすることができる。
【００４５】
さらに、本実施形態では、外部から入力されるシリアルクロックをエッジ検出回路部１０のフリップフロップにデータとして入力するようにしているため、ノイズが発生した場合であってもマシンクロックの立ち上がりエッジに重ならない限り誤動作を防止することができる。
【００４６】
（他の実施形態）
上記実施形態では、半導体集積回路装置が取り扱うデータが８ｂｉｔのものについて説明したが、データ量は７ｂｉｔ、９ｂｉｔ、１６ｂｉｔ等のように他のデータ量を取り扱うものとして構成しても構わない。この場合、取り扱うｂｉｔ数に応じて、データレジスタ群４０のデータレジストの数を変更することや受信ステートマシン部２０のカウント数の設定等を行えば良い。
【００４７】
上記実施形態では、受信ステートマシン部２０はカウントダウンによりエッジ検出信号の数をカウントしているが、アップカウントによってエッジ検出信号の入力数をカウントするようにしても構わない。
【００４８】
上記実施形態では、データレジスタ群４０と回路部５０とが別体になっているが、これらを一体化させても良い。
【図面の簡単な説明】
【００４９】
【図１】本発明の一実施形態に係る半導体集積回路装置のブロック構成図である。
【図２】半導体集積回路装置の作動を説明するためのタイムチャートである。
【図３】従来技術における半導体集積回路装置のブロック構成図である。
【符号の説明】
【００５０】
１０…エッジ検出回路部、２０…受信ステートマシン部、３０…セレクタ、４０…データレジスタ群、４１〜４４…データレジスタ、５０…回路部。
【図１】
2008035074.tif 000003
【図２】
2008035074.tif 000004
【図３】
2008035074.tif 000005