(57)【特許請求の範囲】
【請求項１】
電子システムであって、
互いに１本の信号線で接続され、設定された設定データにより所定の機能を実行する機能回路を備えた複数の半導体集積回路装置と、
前記複数の半導体集積回路装置の各々の前記設定データを格納する記憶ユニットとを有し、
前記複数の半導体集積回路装置の一の半導体集積回路装置は、
前記記憶ユニットから前記複数の半導体集積回路装置の各々の前記設定データを順次読み出し、前記一の半導体集積回路装置の設定データを前記機能回路に設定し、他の前記半導体集積回路装置の前記設定データを前記信号線を介し前記他の半導体集積回路装置に転送する初期化制御回路を有する
ことを特徴とする電子システム。
【請求項２】
請求項１の電子システムにおいて、
前記他の半導体集積回路装置は、
前記一の半導体集積回路装置の前記初期化制御回路から前記信号線を介しストローブ信号を受信し、前記ストローブ信号に基づいて、ストローブ信号を復元し、復元したストローブ信号に基づいて、前記信号線から受信した前記設定データをレジスタに取り込む第２の初期化制御回路を有する
ことを特徴とする電子システム。
【請求項３】
請求項１の電子システムにおいて、
前記初期化制御回路は、
前記設定データを取り込むシフトレジスタと、
前記シフトレジスタに取り込んだ設定データが前記一の半導体集積回路装置の設定データであるか、前記他の半導体集積回路装置の設定データであるか否かを判定し、前記シフトレジスタに保持された前記一の半導体集積回路装置の設定データを前記機能回路に設定し、前記シフトレジスタに保持された前記他の前記半導体集積回路装置の前記設定データを前記信号線を介し前記他の半導体集積回路装置に転送する制御回路とを有する
ことを特徴とする電子システム。
【請求項４】
請求項３の電子システムにおいて、
前記一の半導体集積回路装置の初期化制御回路は、
前記他の半導体集積回路装置に送信するストローブ信号を生成するストローブ信号生成回路を更に有する
ことを特徴とする電子システム。
【請求項５】
設定された設定データにより所定の機能を実行する機能回路と、
複数の半導体集積回路装置の各々の前記設定データを格納する記憶ユニットから前記複数の半導体集積回路装置の各々の前記設定データを順次読み出し、前記機能回路の設定データを前記機能回路に設定し、他の前記半導体集積回路装置の機能回路の前記設定データを１本の信号線を介し前記他の半導体集積回路装置に転送する初期化制御回路を有する
ことを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置及び半導体集積回路装置を搭載した電子システムに関する。
【背景技術】
【０００２】
電子システムはある機能を行う機能回路を設けたＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｔａｔｅｄ  Ｃｉｒｃｕｉｔ）を使用する。このＬＳＩを半導体集積回路装置（半導体回路チップ）と呼ぶ。電子システムは、ＬＳＩを複数接続し、所定の機能を実現する。ＬＳＩは、様々な設定値をハード内部にもつ。ＬＳＩは、その設定値によって、様々に動作を変更する。例えば、コンピュータシステムは、ＬＳＩとして、演算処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリアクセスコントローラ及びメモリとを備える。【０００３】
このＬＳＩの設定値は、例えば、コンピュータシステムを搭載するボード設計に依存するものと、装置構成に依存するものなどがある。これらの設定値は、ＬＳＩ（半導体集積回路）を設計している段階では、一意に値を決められないものがある。この設定値は、設計工期の観点や設計時に考慮不足による不具合回避の観点から、ＬＳＩ（半導体集積回路装置）を設計し、電子システムを構築した後に、システムによって設定されるのが一般的である。例えば、前述のメモリアクセスコントローラは、接続されるメモリのタイプ、メモリの速度、メモリの台数等に応じた設定値を要する。【０００４】
図１５は従来のＬＳＩの設定値の設定方法の説明図である。図１５に示すように、複数のＬＳＩ１１０，１２０，１３０が同じ又は異なるシステムボードに搭載される。システムマネージメントデバイス１００はシステム全体を管理するデバイスである。システムマネージメントデバイス１００はシステムインターフェースバス１４０により各ＬＳＩ１１０，１２０，１３０に接続する。【０００５】
図１６に示す電子システムでは、各ＬＳＩ（半導体集積回路）１１０，１２０，１３０が内部クロックの発振等を行い、最低限ＬＳＩ１１０，１２０，１３０内部のレジスタが書き込めるような状態になった後に、システムマネージメントデバイス１００が、所望のタイミングでシステムインターフェースバス１４０を介し、各ＬＳＩ（半導体集積回路装置）１１０，１２０，１３０のレジスタに設定値を書き込む。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】日本特許公開昭６１−０８４７６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年のＬＳＩ（半導体集積回路）は高集積化が益々進んでいる。そのため、ＬＳＩが内蔵する機能は増加し、ＬＳＩ（半導体集積回路）のインタフェースのためのパッケージピンは増加する一途である。今後のＬＳＩ（半導体集積回路）の設計においては、前記したインタフェースの本数を減らすための工夫を継続して行う必要がある。【０００８】
図１５に示すようなシステムマネージメントデバイスが、全てのＬＳＩの初期設定を行う。このため、各ＬＳＩ（半導体集積回路装置）は、システムマネージメントデバイスとのインタフェース１４０が必要となる。一般的には、最低２本以上のインタフェースが必要となる。例えば、システムインタフェースとよく使用されるＩ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）バスでは、シリアルデータ（Ｓｅｒｉａｌ  Ｄａｔａ（ＳＤＡ））とＳｅｒｉａｌ  Ｃｌｏｃｋ（ＳＣＬ）の２本の信号線が定義されている。【０００９】
このため、ＬＳＩは、最低２本のパッケージピンをインタフェースとして設ける必要がある。また、システムマネージメントデバイスが必要である。これにより、ＬＳＩの設計工数が増大し、設計コストも増大する。更に、システム設計の複雑化等の問題も生じる。【００１０】
本発明の目的は、半導体集積回路装置のレジスタの設定のためのインタフェースを削減し、半導体集積回路装置の設計を容易とする半導体集積回路装置及び半導体集積回路装置を搭載した電子システムを提供することにある。
【課題を解決するための手段】
【００１１】
この目的の達成のため、開示の電子システムは、互いに１本の信号線で接続され、設定された設定データにより所定の機能を実行する機能回路を備えた複数の半導体集積回路装置と、前記複数の半導体集積回路装置の各々の前記設定データを格納する記憶ユニットとを有し、前記複数の半導体集積回路装置の一の半導体集積回路装置は、前記記憶ユニットから前記複数の半導体集積回路装置の各々の前記設定データを順次読み出し、前記一の半導体集積回路装置の設定データを前記機能回路に設定し、他の前記半導体集積回路装置の前記設定データを前記信号線を介し前記他の半導体集積回路装置に転送する初期化制御回路を有する。【００１２】
この目的の達成のため、開示の半導体集積回路装置は、設定された設定データにより所定の機能を実行する機能回路と、複数の半導体集積回路装置の各々の前記設定データを格納する記憶ユニットから前記複数の半導体集積回路装置の各々の前記設定データを順次読み出し、前記機能回路の設定データを前記機能回路に設定し、他の前記半導体集積回路装置の機能回路の前記設定データを１本の信号線を介し前記他の半導体集積回路装置に転送する初期化制御回路を有する。
【発明の効果】
【００１３】
複数の半導体集積回路装置を具備するシステムにおいて、半導体集積回路装置を数珠つなぎの状態で１本の信号線で接続し、不揮発性メモリに格納した各半導体集積回路装置の設定データを順次読み出し、半導体集積回路装置間で伝送するため、初期レジスタ設定のための特別なインタフェースを削減し、初期レジスタの設定が可能となる。このため、半導体集積回路装置の設計工数及び設計コストを低減できる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態の電子システムのブロック図である。
【図２】図１の電子システムの詳細なブロック図である。
【図３】図１及び図２の不揮発性メモリの設定データの説明図である。
【図４】図１及び図２の信号線の説明図である。
【図５】図１及び図２のマスターＬＳＩのレジスタの説明図である。
【図６】図１及び図２のスレーブＬＳＩのレジスタの説明図である。
【図７】図５及び図６の最上位制御バイトの説明図である。
【図８】図５及び図６の最下位制御バイトの説明図である。
【図９】図２のマスターＬＳＩの動作のタイムチャート図である。
【図１０】図２のマスターＬＳＩとスレーブＬＳＩの動作のタイムチャート図である。
【図１１】図１及び図２のマスターＬＳＩのレジスタ初期化処理フロー図である。
【図１２】図１及び図２のスレーブＬＳＩのレジスタ初期化処理フロー図である。
【図１３】本実施の形態の初期化処理の設定時間の説明図である。
【図１４】他の実施の形態の電子システムのブロック図である。
【図１５】従来のレジスタの初期化処理の説明図である。
【発明を実施するための形態】
【００１５】
以下、実施の形態の例を、電子システムの実施の形態、半導体集積回路の構成、初期化回路、レジスタの初期設定の処理、電子システムの他の実施の形態、他の実施の形態の順で説明するが、開示の電子システム、半導体集積回路装置は、この実施の形態に限られない。
【００１６】
（電子システムの実施の形態）
図１は、実施の形態のＬＳＩを搭載した電子システムのブロック図である。図１に示すように、電子システムは、不揮発性メモリ１と複数のＬＳＩ２，３，４を備える。不揮発性メモリ１は、レジスタの設定値を記憶するものである。不揮発性メモリ１は、例えば、ＰＲＯＭ（Ｐｒｏｇｒａｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）で構成することが望ましい。ＰＲＯＭは、ＲＯＭの一種である、ユーザーが事前にデータを書き込んでおけるデバイスである。不揮発性メモリ１は、ＬＳＩ２，３，４の各々の設定値（初期レジスタ値）を保持する。
【００１７】
ＬＳＩ２，３，４は、レジスタの初期値設定が必要なＬＳＩ（半導体集積回路装置）である。ＬＳＩ２は、不揮発性メモリ１に信号線Ｓ３，Ｓ４で接続される。ＬＳＩ２は不揮発性メモリ１の設定値を読み出す。不揮発性メモリ１の設定値を読み出すため、ＬＳＩ２を以下、マスター（Ｍａｓｔｅｒ）ＬＳＩと呼ぶ。
【００１８】
マスターＬＳＩ２は、本来の制御を行う機能回路５と初期化回路６とを有する。機能回路５は設定レジスタ５０を有し、ＬＳＩ２の制御の制御論理を備える。初期化回路６は、レジスタ５０の初期化設定に必要な動作を制御する論理を備える。尚、マスターＬＳＩ２は、他のＬＳＩとの通信のため、図示しない入出力（Ｉ／Ｏ：Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）モジュールを備える。
【００１９】
マスターＬＳＩ２に信号線Ｓ１でＬＳＩ３が接続される。又、ＬＳＩ３に信号線Ｓ２でＬＳＩ４が接続される。ＬＳＩ３は、マスターＬＳＩ２から信号線Ｓ１を介しデータを受信する。ＬＳＩ４は、ＬＳＩ３から信号線Ｓ２を介しデータを受信する。マスターＬＳＩ２からデータを受信する観点から、マスターＬＳＩ２より後続のＬＳＩ（半導体集積回路装置）３，４をスレーブＬＳＩと呼ぶ。
【００２０】
スレーブＬＳＩ３，４は、本来の制御を行う機能回路５と初期化回路６−１．６−２とを有する。機能回路５は設定レジスタ５０を有し、ＬＳＩ３，４の制御の制御論理を備える。初期化回路６−１，６−２は、レジスタ５０の初期化設定に必要な動作を制御する論理を備える。尚、スレーブＬＳＩ３，４は、他のＬＳＩとの通信のため、図示しない入出力（Ｉ／Ｏ：Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）モジュールを備える。
【００２１】
即ち、マスターＬＳＩ２は、不揮発性メモリ１に接続し、スレーブＬＳＩ３，４は、マスターＬＳＩ２に数珠繋ぎに接続する。この例では、スレーブＬＳＩを２台設けているが、スレーブＬＳＩを１台又は３台以上設けても良い。
【００２２】
マスターＬＳＩ２の初期化回路６は、不揮発性メモリ１の設定データ（マスターＬＳＩ２とスレーブＬＳＩ３，４の設定値）を信号線Ｓ３，Ｓ４を介し読み出す。マスターＬＳＩ２の初期化回路６は読み出したマスターＬＳＩ２の設定データを機能回路５の設定レジスタ５０にセットする。そして、マスターＬＳＩ２の初期化回路６は、信号線Ｓ１を介し読み出したスレーブＬＳＩ３，４の設定データをスレーブＬＳＩ３に転送する。
【００２３】
スレーブＬＳＩ３の初期化回路６−１は、信号線Ｓ１を介し受信したスレーブＬＳＩ３の設定データを機能回路５の設定レジスタ５０にセットする。そして、スレーブＬＳＩ３の初期化回路６−１は、信号線Ｓ２を介し受信したスレーブＬＳＩ４の設定データをスレーブＬＳＩ４に転送する。スレーブＬＳＩ４の初期化回路６−１は受信したスレーブＬＳＩ４の設定データを機能回路５の設定レジスタ５０にセットする。
【００２４】
このように、複数のＬＳＩ（半導体集積回路装置）を具備するシステムにおいて、ＬＳＩ（半導体集積回路装置）を数珠つなぎの状態で、１デバイスずつ順番にレジスタの初期設定を、１本の信号線で行う。後述するように、この信号線は、初期設定を行う専用の信号線又は後述するように、通常運用時にＬＳＩ間で情報・データのやり取りに使用するサイドバンド（Side-Band）のような信号線を用いる。サイドバンドの信号線を用いて行う場合には、レジスタの初期設定のための特別なインタフェースを必要としない。
【００２５】
このため、各ＬＳＩ２，３，４のインタフェースの数が削減できる。特に、インタフェースに使用するＬＳＩのパッケージピン数を削減できる。更に、レジスタの初期化のため、システムマネージメントデバイスが不要となるため、システム設計の複雑化を回避できる。これにより、ＬＳＩの設計工数の増大及び設計コストの増大を防止できる。
【００２６】
（半導体集積回路の構成）
図２は図１の構成の詳細なブロック図である。図３は図１及び図２の不揮発性メモリの格納データの説明図である。図４は図１及び図２の信号線の説明図である。
【００２７】
図２に示すように、マスターＬＳＩ２は初期化制御回路６と機能回路５とを有する。初期化制御回路６は、メモリ（ＰＲＯＭ）制御回路６０と、シフトレジスタ６４と、マルチバス送信制御回路６２と、データストローブ信号生成回路６６と、セレクタ６８とを有する。
【００２８】
メモリ制御回路（以下、ＰＲＯＭ制御回路と呼ぶ）６０は、メモリ（ＰＲＯＭ）１の動作を制御するモジュールである。ＰＲＯＭ制御回路６０は、マスターＬＳＩ２に電源が投入された後、動作の安定する一定時間をおいて、メモリ（ＰＲＯＭ）１へのアクセスを開始する。
【００２９】
例えば、ＰＲＯＭ制御回路６０は、メモリ（ＰＲＯＭ）１に対するｅｎａｂｌｅ信号（図２では、ｅｎと記す）を“１”（Ｈｉｇｈ）とし、読み出し用クロックｃｌｋを生成する。例えば、ＰＲＯＭ制御回路６０は、読み出しクロックｃｌｋを２５ＭＨｚのリファレンスクロックを用いて自動的に生成する。ＰＲＯＭ制御回路６０は、生成した読み出しクロックをクロック信号線ｃｌｋを通じて、メモリ（ＰＲＯＭ）１に送信する。
【００３０】
図３はメモリ（ＰＲＯＭ）１のデータ格納例を示す。図３に示すように、例えば、各ＬＳＩ（半導体集積回路装置）２，３，４のレジスタ５０に３２バイトのレジスタの設定値を定義する。メモリ１は、下位３２バイト（０−３１Ｂｙｔｅ）にマスターＬＳＩ２のレジスタ設定データを格納し、中位３２バイト（３２−６３Ｂｙｔｅ）にスレーブＬＳＩ３のレジスタ設定データを格納し、上位３２バイト（６４−９５Ｂｙｔｅ）にスレーブＬＳＩ４のレジスタ設定データを格納する。
【００３１】
即ち、メモリ１は、３２［ｂｙｔｅ］×３［ｃｈｉｐ］＝９６［ｂｙｔｅ］＝７６８［ｂｉｔ］の設定データを持つ。
【００３２】
図２に戻り、ＰＲＯＭ制御回路６０は、クロックｃｌｋによりメモリ（ＰＲＯＭ）１の下位ビットからデータを読み出す。メモリ（ＰＲＯＭ）１から読みだされたデータは、ＬＳＩ間インタフェース（図２のｄａｔａ線）を通じて、初期化制御回路６に送信される。
【００３３】
シフトレジスタ６４は、読みだされたデータを格納する。本実施の形態では、シフトレジスタ６４は、３２Ｂｙｔｅの長さを持つ。シフトレジスタ６４は、ＬＳＩ（半導体集積回路装置）のレジスタの初期設定データを保持し、シフトする。
【００３４】
データストローブ信号生成回路６６は、シフトレジスタ６４の書き込みのためのデータストローブ信号を生成する。データストローブ信号生成回路６６は、ＰＲＯＭ制御回路６０の生成クロック（読み出しクロック）ｃｌｋからシフトレジスタ用のデータストローブ信号を生成する。このデータストローブ信号は、例えば、メモリ（ＰＲＯＭ）１へのクロックｃｌｋの立ち上がりエッジである。この仕様は、使用するメモリ（ＰＲＯＭ）に合わせた実装にする。
【００３５】
マルチバス（Ｍｕｌｔｉ＿ＢＵＳ）送信制御回路６２は、ＰＲＯＭ制御回路６０からの読み出し動作信号を受け、シフトレジスタ６４に設定データが揃ったか否か、シフトレジスタ６４に揃ったデータがマスターＬＳＩ２の設定データであるか、スレーブＬＳＩ３，４の設定データであるか否かを判定する。
【００３６】
マルチバス送信制御回路６２は、シフトレジスタ６４に設定データが揃い、且つシフトレジスタ６４に揃ったデータがマスターＬＳＩ２の設定データであると判定した場合には、マスターＬＳＩ２の機能回路５のレジスタ５０にシフトレジスタ６４の設定データを書き込む。
【００３７】
マルチバス送信制御回路６２は、シフトレジスタ６４に揃ったデータがマスターＬＳＩ２の設定データでないと判定した場合には、スレーブＬＳＩ３への出力をセレクタ６８により切り替える動作を行う。
【００３８】
セレクタ６８は、３つのデータの出力を選択する。１つ目は、シフトレジスタ６４の格納データを出力する。２つ目は、ＰＲＯＭ制御回路６２で生成したクロックをデータストローブ信号生成回路で調整したデータストローブ信号を出力する。３つ目は、通常運用時に行う機能回路５からのサイドバンド（Side-Band）信号を出力する。マルチバス送信制御回路６２は、後述するように、これらの信号の選択制御を行い、信号線Ｓ１に出力するデータを選択する。
【００３９】
この実施の形態では、信号線Ｓ１にサイドバンド信号線を使用する。サイドバンド信号線は、例えば、インターラプト信号や、各種チップ間のリクエスト信号によるポイントツーポイントの信号線を使用できる。サイドバンド信号線は、バスを介するＬＳＩ間の信号を削減するために、バスとは別に設けられた信号線である。
【００４０】
本実施の形態では、初期設定時には、機能回路５がサイドバンド信号線を使用しないことから、初期設定時にサイドバンド信号線を初期設定のデータ転送に利用する。図４は、信号線Ｓ１，Ｓ２の用途と動作モードとの対応を示す図である。動作モードが初期設定である場合には、信号線Ｓ１，Ｓ２をレジスタの初期書き込みに使用する。動作モードが通常運用時である場合には、信号線Ｓ１，Ｓ２をサイドバンド信号に使用する。
【００４１】
マルチバス送信制御回路６２は、初期設定時には、セレクタ６８にシフトレジスタ６４又はデータストローブ信号生成回路６６の出力を選択するように制御する。又、マルチバス送信制御回路６２は、初期設定が終了した時には、セレクタ６８に機能回路５のサイドバンド信号を選択するように制御する。本実施の形態では、運用中に使用されるサイドバンド（Side Band）信号線を、初期レジスタ設定時には、レジスタ書き込み用のパスとして使用するため、初期レジスタ設定用の専用の信号線を必要としない。
【００４２】
図２に戻り、スレーブＬＳＩ３は初期化制御回路６−１と機能回路５とを有する。初期化制御回路６−１は、データストローブ信号復元制御回路７０と、シフトレジスタ６４−１と、マルチバス送信制御回路６２と、データストローブ信号生成回路６６と、セレクタ６８とを有する。
【００４３】
データストローブ信号復元回路７０は、信号線Ｓ１からの信号からデータストローブ信号を検出し、データストローブ信号生成回路６６を起動する。シフトレジスタ６４−１は信号線Ｓ１から入力されたデータを格納する。本実施の形態では、シフトレジスタ６４―１は３２Ｂｙｔｅの長さを持つ。シフトレジスタ６４−１は、ＬＳＩ（半導体集積回路装置）３のレジスタの初期設定データを保持し、シフトする。
【００４４】
データストローブ信号生成回路６６は、シフトレジスタ６４−１の書き込みのためのデータストローブ信号を生成する。データストローブ信号生成回路６６は、内部クロックからシフトレジスタ用のデータストローブ信号を生成する。後述するように、このデータストローブ信号は、マスターＬＳＩ２からのデータストローブ信号に対し、９０°位相のずれた信号である。
【００４５】
マルチバス（Ｍｕｌｔｉ＿ＢＵＳ）送信制御回路６２は、データストローブ信号復元制御回路７０からの読み出し動作信号を受け、シフトレジスタ６４−１に設定データが揃ったか否か、シフトレジスタ６４−１に揃ったデータがスレーブＬＳＩ３の設定データであるか、スレーブＬＳＩ４の設定データであるか否かを判定する。
【００４６】
マルチバス送信制御回路６２は、シフトレジスタ６４−１に設定データが揃い、且つシフトレジスタ６４−１に揃ったデータがスレーブＬＳＩ３の設定データであると判定した場合には、スレーブＬＳＩ３の機能回路５のレジスタ５０にシフトレジスタ６４−１の設定データを書き込む。
【００４７】
マルチバス送信制御回路６２は、シフトレジスタ６４−１に揃ったデータがスレーブＬＳＩ３の設定データでないと判定した場合には、スレーブＬＳＩ４への出力をセレクタ６８により切り替える動作を行う。
【００４８】
セレクタ６８は、マスターＬＳＩ３のセレクタ６８と同一の動作を行う。即ち、セレクタ６８は３つのデータの出力を選択する。１つ目は、シフトレジスタ６４−１の格納データを出力する。２つ目は、データストローブ信号生成回路６６で調整したデータストローブ信号を出力する。３つ目は、通常運用時に行う機能回路５からのサイドバンド（Side-Band）信号を出力する。マルチバス送信制御回路６２は、後述するように、これらの信号の選択制御を行い、信号線Ｓ２に出力するデータを選択する。信号線Ｓ２は、サイドバンド信号線である。
【００４９】
スレーブＬＳＩ４は、スレーブＬＳＩ３と同一の構成である。従って、スレーブＬＳＩ３，４は、マスターＬＳＩ２と同様の構成を有する。相違は、スレーブＬＳＩ３，４はメモリ（ＰＲＯＭ）から直接データを読みださないため、スレーブＬＳＩ３，４はＰＲＯＭ制御回路を備えない。又、スレーブＬＳＩ３，４は各々信号線Ｓ１，Ｓ２を介しマスターＬＳＩ２、スレーブＬＳＩ３からデータを受信するため、スレーブＬＳＩ３，４はデータストローブ復元制御回路７０を備える。
【００５０】
（初期化制御回路）
次に、マルチバス送信制御回路６２を説明する。図５は図２のマスターＬＳＩのシフトレジスタのデータ構成の説明図である。図６は図２のスレーブＬＳＩのシフトレジスタのデータ構成の説明図である。図７は図５及び図６の最上位バイトの説明図である。図８は図５及び図６の最下位バイトの説明図である。尚、図５〜図８においても、各ＬＳＩ２，３，４が３２バイトのシフトレジスタ６４，６４−１、レジスタ５０を有する例で説明する。
【００５１】
図５に示すように、シフトレジスタ６４（レジスタ５０）は最上位バイト６４Ａから最下位バイト６４Ｂまでの３２バイトのレジスタで構成される。図６に示すように、シフトレジスタ６４−１（レジスタ５０）は最上位バイト６４Ａから最下位バイト６４Ｂまでの３２バイトのレジスタで構成される。
【００５２】
図７に示すように図５及び図６の最上位バイト６４Ａはレジスタの初期化の書き込み及び転送制御データを格納する。本実施の形態では、最上位バイトの４バイト目が定義されるため、ビット[３１：２４]の仕様を説明する。この最上位バイト６４Ａは、シフトレジスタ６４、６４−１の保持データを書き込みを行うデバイス（ＬＳＩ）の位置（番号：ＮＯ）を示し、”Write  Device  Number“と呼ぶ。
【００５３】
ビット［３１］は、初期化制御回路のマルチバス送信制御回路６２が、初期化制御回路を有するＬＳＩの機能回路５のレジスタ５０にシフトレジスタ６４又は６４−１の保持データを書き込み終了であるか（”１“）、書き込み未了であるか（”０“）のいずれかを示す。ビット［３０：２４］は、書き込みデバイス位置を示す。例えば、マスターＬＳＩ２に設定データを書き込むためには、Write  Device  Number[31:24]に「7’b1000_0001」をセットする。又、スレーブＬＳＩ３，４に設定データを書き込むためには、各々Write  Device  Number[31:24]に「7’b1000_0010」、「7’b1000_0011」をセットする。
【００５４】
図８に示すように、最下位バイト６４Ｂは、レジスタの初期設定を行うデバイス（ＬＳＩ）の数を示しており、”Number  of  Devices”と名付ける。ビット［７］は予備のビットである。ビット［６：０］は接続されるデバイスの数を示す。７ビットを割り当てるため、スレーブＬＳＩを最大１２６デバイスまで表現できる。例えば、接続デバイスがマスターＬＳＩのみの場合は、Number  of  Devices[7:0]に「7’b0000_0001」をセットする。スレーブＬＳＩが１デバイスである場合には、Number  of  Devices[7:0]に、「7’b0000_0010」をセットする。
【００５５】
マルチバス送信制御回路６２は、この受信した３２バイトの設定データの最上位バイト６４Ａと最下位1バイト６４Ｂから後続デバイス数、受信データが自身の設定データであるか、後続のＬＳＩの設定データであるか否かを判定し、シフトレジスタ６４，６４−１の保持データの取り込み又は後続ＬＳＩへの転送制御を行う。
【００５６】
例えば、マスターＬＳＩ２が、メモリ１から、以下の最上位バイト６４Ａと最下位バイト６４Ｂを受信した場合には、以下のように判定する。
【００５７】
最下位バイト６４Ｂ（Number  of  Devices[7:0]）＝8’b0000_0011
最上位バイト６４Ａ（Write  Device  Number[31:24]）＝7’b1000_0001
マスターＬＳＩ２のマルチバス送信制御回路６２は、上記データの受信により、後続に２つのＬＳＩ（半導体集積回路装置）が存在する事を判定する。これにより、自身の設定データ以降に受信した受信データを後続のＬＳＩに２セット転送する。
【００５８】
又、スレーブＬＳＩ３が、マスターＬＳＩ２から、以下の最上位バイト６４Ａと最下位バイト６４Ｂを受信した場合には、以下のように判定する。
【００５９】
最下位バイト６４Ｂ（Number  of  Devices[7:0]）＝8’b0000_0011
最上位バイト６４Ａ（Write  Device  Number[31:24]）＝7’b1000_0010
スレーブＬＳＩ３のマルチバス送信制御回路６２は、上記データの受信により、後続に１つのＬＳＩ（半導体集積回路装置）が存在する事を判定する。これにより、自身の設定データ以降に受信した受信データを後続のＬＳＩに１セット転送する。
【００６０】
更に、スレーブＬＳＩ３のマルチバス送信制御回路６２は、下記の最上位バイト６４Ａと最下位バイト６４Ｂを受信した場合、以下の判定を行う。
【００６１】
最下位バイト６４Ｂ（Number  of  Devices[7:0]）＝7’b0000_0011
最上位バイト６４Ａ（Write  Device  Number[31:24]）＝7’b1000_0011
スレーブＬＳＩ３のマルチバス送信制御回路６２は、上記データの受信により、後続にＬＳＩ（半導体集積回路装置）が存在しない事（自身が最後のデバイスであること）を判定する。
【００６２】
また、本実施の形態では、１ＬＳＩチップが、固定の２５６ビットの初期設定レジスタ５０を持っている場合で説明したが、１ＬＳＩチップに複数の初期レジスタを持つ場合には、レジスタの数の設定をレジスタ設定値として設定し、スレーブＬＳＩと同じように設定して、複数の初期レジスタの設定を行う。
【００６３】
次に、データストローブ復元動作を説明する。図９はスレーブＬＳＩの書き込み処理のタイムチャート図である。図９において、記号ａ〜ｅは、マスターＬＳＩ２からスレーブＬＳＩ３に向かうデータの動作を順番にあらわす。まず、a. マスター（Master）ＬＳＩ２→スレーブ（Slave）ＬＳＩ３は、マスターＬＳＩ１とスレーブＬＳＩ３の間の信号線Ｓ１を介する伝送状態を示す。マスターＬＳＩ２のデータストローブ信号生成回路６６は、セレクタ６８を介し、２個のデータストローブ信号を信号線Ｓ１に出力する。
【００６４】
スレーブＬＳＩ３のデータストローブ復元制御回路７０は、信号線Ｓ１の信号をｂ．スレーブＬＳＩ３の内部クロック（２５ＭＨｚ）により、所定の期間の信号線Ｓ１の”Ｈｉｇｈ”と”Ｌｏｗ”とを交互に検出する。所定の期間は、例えば、２５ＭＨｚクロックの５０サイクル分である。データストローブ復元制御回路７０は、信号線Ｓ１からの信号が５０サイクル分の期間の”Ｈｉｇｈ”と”Ｌｏｗ”を繰り返すと検出すると、データストローブ復元制御回路７０は、次に受信する２回目のデータストローブの立ち上がり（Ｈｉｇｈ）期間をカウントする。
【００６５】
この５０サイクル数より小さい値に関しては、ノイズと判定し、データストローブ復元制御回路７０をリセットする。例えば、スレーブＬＳＩ３がマスターＬＳＩ２から、１００ＫＨｚ周期のデータストローブ信号を受信する場合、２５ＭＨｚのクロックをカウントして、以下のサイクル数となる。
【００６６】
立ち上がり（Ｈｉｇｈ）期間  ２５０／２＝１２５[サイクル]
立ち下がり（Ｌｏｗ）期間    ２５０／２＝１２５[サイクル]
データストローブ復元制御回路７０は、このカウント値を元に、デュユーティ比５０％のデータストローブ信号を再生成する。そして、データストローブ復元制御回路７０は、再生したデータストローブ信号を９０°（１２５[サイクル]）遅らせたデータの取り込みを行う復元ストローブ信号（ｄ．復元データストローブ）を作成する。図９のd. Slave  LSI1の復元データストローブは、１００ＫＨｚ相当のデータストローブ信号である。
【００６７】
本実施の形態では、立ち上がりと立ち下がりが同サイクルのデータストローブを例を示したが、サイクル数が異なる場合には、両期間の平均値を採用することもでき、必ずしもデユーテイ５０である必要もない。
【００６８】
一方、マスターＬＳＩ２のマルチバス送信制御回路６２は、セレクタ６８を操作し、自身のデータストローブ信号を２回送出したのち、シフトレジスタ６４のデータを送信データストローブの立ち上がりタイミングで更新して送信する。スレーブＬＳＩ３はそのデータを先に復元したデータストローブの立ち上がりタイミングで受信する。
【００６９】
即ち、スレーブＬＳＩ３のシフトレジスタ６４−１は、復元データストローブ信号の立ち上がりで、受信データを取り込む。図９のｅは、スレーブＬＳＩ３のシフトレジスタ６４−１に書き込まれる動作を表している。マルチバス送信制御回路６２は、シフトレジスタ６４−１に２５６ビット（３２byte）のデータを保持した（揃った）ことを検出し、機能回路５のレジスタ５０にシフトレジスタ６４−１の保持データを書き込む（キャプチャする）。この様な動作によって、スレーブＬＳＩ３は、１本の信号線で、マスターＬＳＩ２からのデータを受信し、レジスタ５０に初期設定する。
【００７０】
又、スレーブＬＳＩ同士の初期レジスタ値転送時にも同様の制御を行う。即ち、図９において、マスターＬＳＩ２をスレーブＬＳＩ３に、スレーブＬＳＩ３をスレーブＬＳＩ４に置き換えることで、データストローブの復元及びデータの取り込みを行う。
【００７１】
図１０は、本実施の形態のマスターＬＳＩ２からスレーブＬＳＩ３，４へのデータ伝搬のタイムチャート図である。図１０は、マスターＬＳＩ２からスレーブＬＳＩ３にレジスタの設定値が伝達される動作と、スレーブＬＳＩ３からスレーブＬＳＩ４へレジスタの設定値が伝達される動作を示す。
【００７２】
図１０において、記号「ｏ」は、メモリ（PROM）１から読み出したデータをマスターＬＳＩ２に出力される伝送路の状態を示す。最初に、マスターＬＳＩ２に設定すべき２５６ビットのデータを読み出す。前述したように，マスターＬＳＩ２は自身のレジスタ設定値を自身の設定レジスタ５０に取り込む。マスターＬＳＩ２は、取り込み後は、２サイクルのデータストローブ信号を待ったのち再度、メモリ２から２５６ビットのデータを読み出す。２回目にメモリ１から読み出した値は、スレーブＬＳＩ３のレジスタ設定値となる。
【００７３】
このような読み出し、転送動作をシステムに搭載されているＬＳＩ２，３，４の個数分実施する。前述の図５〜図８で説明したように、各ＬＳＩがシステムのＬＳＩ数と自身が設定される何番目のＬＳＩであるかのデータをレジスタを通して判るため、読み出し、転送動作が可能である。
【００７４】
図１０の記号「ｐ．マスターＬＳＩ２受信」は、マスターＬＳＩ２がレジスタの初期データを受信する様子を示す。メモリ（PROM）１のデータはデータストローブ信号と揃って出力されるため、マスターＬＳＩ２は、メモリ（PROM）１の制御に出力したデータストローブ信号の９０°位相が遅いタイミングでデータを受信する。
【００７５】
次に、スレーブＬＳＩについて説明する。図１０の記号「ｑ」は、マスターＬＳＩ２からスレーブＬＳＩ３への転送を示す。前述したように、マスターＬＳＩ２は、自身が使用するレジスタ設定データ以降のデータをスレーブＬＳＩ３に転送する。スレーブＬＳＩ３は、先に述べたデータストローブ復元を行い、マスターＬＳＩ２からのデータを取り込む。図１０の記号「ｒ．Slave  LSI1  受信」は、復元ストローブによるデータ取り込み動作を示す。
【００７６】
最後に、図１０の記号「t.Slave  LSI1→Slave  LSI2」および記号「u.  Slave  LSI2受信」は、スレーブＬＳＩ４の動作を示す。スレーブＬＳＩ４は、スレーブＬＳＩ３と同様の動作を行う。ただし、本実施の形態において、スレーブＬＳＩ４はレジスタ設定を行う最終のＬＳＩ（半導体集積回路装置）になるため、自身のレジスタ設定値を取り込んだら、初期化の動作を終える。
【００７７】
（レジスタの初期設定の処理）
図１１は、マスターＬＳＩが実行するレジスタ設定の初期化フロー図である。
【００７８】
（Ｓ１０）マスターＬＳＩ２に供給するリファレンスクロック（２５ＭＨｚのクロック）をオンする。次に、マスターＬＳＩ２の電源を投入する。更に、マスターＬＳＩ２のリセットを解除する。これにより、マスターＬＳＩ２は動作を開始する。
【００７９】
（Ｓ１２）マスターＬＳＩ２のＰＲＯＭ読み出し回路６０が自立的に動作する。即ち、マスターＬＳＩ２は、ＰＲＯＭ制御回路６０を起動する。
【００８０】
（Ｓ１４）起動したＰＲＯＭ制御回路６０はメモリ（PROM）１に記憶された初期レジスタ設定値を読み出し、自身のシフトレジスタ６０にデータを取り込む。
【００８１】
（Ｓ１６）マスターＬＳＩ２のマルチバス送信制御回路６２は、シフトレジスタ６０に必要なデータ長である２５６ビットの設定値を読み込んだかを判定する。
【００８２】
（Ｓ１８）マルチバス送信制御回路６２は、シフトレジスタ６０に初期レジスタ設定値を読み込んだと判定すると、機能回路５のレジスタ５０にシフトレジスタ６０のレジスタ設定値を取り込む。マスターＬＳＩ２の機能回路５は、初期レジスタ設定値を取り込んだのち、それらの値を用い、マスターＬＳＩ２の内部クロックを発振させる。これにより、マスターＬＳＩ２の初期設定は完了する。
【００８３】
（Ｓ２０）マスターＬＳＩ２のマルチバス送信制御回路６２は、自身の初期設定が完了したのちに、後続ＬＳＩ（チップ）が存在するかを判断する。マルチバス送信制御回路６２は、後続ＬＳＩ（チップ）が存在しないと判断した場合、設定処理を終了する。
【００８４】
（Ｓ２２）マルチバス送信制御回路６２は、後続ＬＳＩ（チップ）が存在すると判断した場合、信号線Ｓ１を介しスレーブＬＳＩ３に復元用データストローブ信号を転送する。
【００８５】
（Ｓ２４）マルチバス送信制御回路６２は、続けてシフトレジスタ６４の保持データを信号線Ｓ１を介しスレーブＬＳＩ３に転送する。データストローブ信号とデータの転送に関しては、図９を用いて説明した通りである。即ち、マスターＬＳＩ２は、データ転送時には、図９で示したような動作を行うため、マスターＬＳＩ２は、メモリ（PROM）１からデータを読み出し、スレーブＬＳＩに送信するべきデータ（初期レジスタ設定）を送信する。
【００８６】
（Ｓ２６）転送データはスレーブＬＳＩの数によって決定されるので、マスターＬＳＩ２は、スレーブＬＳＩの数分繰り返し、動作を続ける。データ転送のメカニズムは図１０で示した通りである。全データの転送が完了すれば、マスターＬＳＩ２は、初期化の設定を終了する。そして、マルチバス送信制御回路６２は、セレクタ６８の選択出力をSide-Band信号に戻す。
【００８７】
図１２はスレーブＬＳＩが実行するレジスタ設定の初期化フロー図である。
【００８８】
（Ｓ３０）スレーブＬＳＩ３，４は、マスターＬＳＩ２のステップＳ１０と同じ動作を行う。
【００８９】
（Ｓ３２）スレーブＬＳＩ３，４では、データストローブ復元制御回路７０が自立的に起動する。これにより、スレーブＬＳＩは、マスターＬＳＩ２からのデータストローブ信号を検出できる状態になる。
【００９０】
（Ｓ３４）スレーブＬＳＩのデータストローブ復元制御回路７０は、マスターＬＳＩ２からのストローブ信号を検出した場合、データストローブ信号の復元を行う。
【００９１】
（Ｓ３６）スレーブＬＳＩのシフトレジスタ６４−１は復元されたデータストローブ信号により、信号線Ｓ１から入力されるデータを取り込む。スレーブＬＳＩ３，４のマルチバス送信制御回路６２は、シフトレジスタ６４−１に必要なデータ長である２５６ビットの設定値を読み込んだかを判定する。
【００９２】
（Ｓ３８）マルチバス送信制御回路６２は、シフトレジスタ６４−１に初期レジスタ設定値を読み込んだと判定すると、機能回路５のレジスタ５０にシフトレジスタ６４−１のレジスタ設定値を取り込む。スレーブＬＳＩ３，４の機能回路５は、初期レジスタ設定値を取り込んだのち、それらの値を用い、スレーブＬＳＩ３，４の内部クロックを発振させる。これにより、スレーブＬＳＩ３，４の初期設定は完了する。
【００９３】
（Ｓ４０）スレーブＬＳＩ３，４のマルチバス送信制御回路６２は、自身の初期設定が完了したのちに、後続ＬＳＩ（チップ）が存在するかを判断する。マルチバス送信制御回路６２は、後続ＬＳＩ（チップ）が存在しないと判断した場合、設定処理を終了する。
【００９４】
（Ｓ４２）マルチバス送信制御回路６２は、後続ＬＳＩ（チップ）が存在すると判断した場合、信号線Ｓ２を介しスレーブＬＳＩ４に復元用データストローブ信号を転送する。
【００９５】
（Ｓ４４）マルチバス送信制御回路６２は、続けてシフトレジスタ６４−１の保持データを信号線Ｓ２を介しスレーブＬＳＩ４に転送する。
【００９６】
（Ｓ４６）転送データはスレーブＬＳＩの数によって決定されるので、スレーブＬＳＩ３は、他のスレーブＬＳＩの数分繰り返し、動作を続ける。初期化の設定を終了すると、マルチバス送信制御回路６２は、セレクタ６８の選択出力をSide-Band信号に移す。
【００９７】
以上の動作によって、マスターＬＳＩ２及びスレーブＬＳＩ３，４の初期レジスタの設定が実行される。
【００９８】
図１３は、本実施の形態による初期レジスタ設定時間の説明図である。図１３はレジスタ数（レジスタのビット数）Ｒを２５６ビット、１サイクル時間Ｔを１０μｓｅｃとした場合のスレーブの数に対応する初期レジスタの設定時間（ｍｓｅｃ）の対応表を示す。スレーブ数をＮとすると、初期レジスタ時間Ｓは、以下の式で与えられる。
【００９９】
初期レジスタ設定時間(t)  [S]  =  {(2R+2+1/2)+(R+2+1/2)・N+(R+2)(N-1)}・T  （N>0）
図１３は、スレーブ数Ｎを「１」〜「７」まで変えた場合の初期レジスタの設定時間を示す。図１３に示すように、スレーブ数が多い場合（例えば、スレーブ数が７）でも、数十ｍｓｅｃの時間で設定を完了できる。尚、図１３の例は、初期レジスタを設定する時間のみを示しており、初期化中に必要な電源をオンする、ＬＳＩ（半導体集積回路装置）のリセットを解除する動作などの時間は含まない。
【０１００】
（電子システムの他の実施の形態）
図１４は、電子システムの他の実施の形態のブロック図である。図１４は、ＣＰＵ／メモリボードを示す。図１４に示すように、ＣＰＵ／メモリボードは、ＣＰＵ(演算処理ユニット：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ)１と複数のメモリアクセスコントローラ（ＭＡＣ）６，６−１，６−２と複数のメモリ８−１〜８−３とを有する。ＣＰＵ１は、１台又は複数のＣＰＵを有する。
【０１０１】
各メモリ８−１〜８−３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で構成される。このメモリ８−１〜８−３は、好ましくは、ＤＩＭＭ（Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）で構成される。
【０１０２】
第１のメモリアクセスコントローラ６は、第１のメモリ８−１に接続し、ＣＰＵ１の指示により第１のメモリ８−１をリード／ライト制御する。第２のメモリアクセスコントローラ６−１は、第２のメモリ８−２に接続し、ＣＰＵ１の指示により第２のメモリ８−２をリード／ライト制御する。第３のメモリアクセスコントローラ６−２は、第３のメモリ８−３に接続し、ＣＰＵ１の指示により第３のメモリ８−３をリード／ライト制御する。
【０１０３】
メモリアクセスコントローラ６，６−１，６−２は、接続されるメモリのタイプ、メモリの速度、メモリの台数等に応じた設定値を要する。メモリアクセスコントローラ６、６−１、６−２はこの設定値をレジスタに格納し、機能回路（メモリアクセス回路）のリード／ライトのタイミング等を調整する。
【０１０４】
本実施の形態では、ＣＰＵ／メモリボードに各メモリアクセスコントローラの設定値を格納した不揮発性メモリ（ＰＲＯＭ）５を設ける。そして、不揮発性メモリ５を第１のメモリアクセスコントローラ６に接続する。第１のメモリアクセスコントローラ６は、信号線Ｓ１で第２のメモリアクセスコントローラ６−１に接続し、第２のメモリアクセスコントローラ６−１は、信号線Ｓ２を介し第３のメモリアクセスコントローラ６−２に接続する。
【０１０５】
即ち、図１及び図２で説明したマスターＬＳＩ２が、第１のメモリアクセスコントローラ６であり、スレーブＬＳＩ３，４が、第２、第３のメモリアクセスコントローラ６―１、６−２に相当する。従って、メモリアクセスコントローラ６，６−１，６−２のレジスタの初期設定は、図１乃至図１２で説明したデータストローブの復元及びデータの転送で行うことができる。
【０１０６】
この信号線Ｓ１、Ｓ２に前述のサイドバンド（Ｓｉｄｅｂａｎｄ）信号線を用いる。メモリアクセスコントローラ６，６−１，６−２は、通常運用時にサイドバンド信号線により、エラー等の状態通知を行う。このサイドバンド信号線を用いることにより、初期設定用の信号線が不要となるため、設計コストを低減できる。又、システムマネージメントデバイスに依らないため、システムの複雑性を低減でき、設計工数を削減できる。更に、初期化制御回路６，６−１は、各システムで共用の使用が見込まれ、設計工数の削減が行える。
【０１０７】
本実施の形態では、サイドバンド（Ｓｉｄｅｂａｎｄ）信号線を用いる例で説明したが、本発明はこれに限定するものではなく、その他のＬＳＩ間を接続する信号線を使用することができる。
【０１０８】
（他の実施の形態）
前述の実施の形態では、メモリアクセスコントローラの初期設定の例で説明したが、ＣＰＵの初期設定や他の機能回路の初期設定にも適用できる。
【０１０９】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【産業上の利用可能性】
【０１１０】
複数の半導体集積回路装置を具備するシステムにおいて、半導体集積回路装置を数珠つなぎの状態で１本の信号線で接続し、不揮発性メモリに格納した各半導体集積回路装置の設定データを順次読み出し、半導体集積回路装置間で伝送するため、初期レジスタ設定のための特別なインタフェースを削減し、初期レジスタの設定が可能となる。このため、半導体集積回路装置の設計工数及び設計コストを低減できる。
【符号の説明】
【０１１１】
１  不揮発性メモリ
２  マスターＬＳＩ
３，４  スレーブＬＳＩ
５  機能回路
６、６−１  初期化制御回路
５０  設定レジスタ
６０  ＰＲＯＭ制御回路
６２  マルチバス送信制御回路
６４，６４−１  シフトレジスタ
６６  ストローブ信号生成回路
６８  セレクタ
７０  データストローブ信号復元制御回路
Ｓ１，Ｓ２  信号線
【図１】
0005472469.tif 000002
【図２】
0005472469.tif 000003
【図３】
0005472469.tif 000004
【図４】
0005472469.tif 000005
【図５】
0005472469.tif 000006
【図６】
0005472469.tif 000007
【図７】
0005472469.tif 000008
【図８】
0005472469.tif 000009
【図９】
0005472469.tif 000010
【図１０】
0005472469.tif 000011
【図１１】
0005472469.tif 000012
【図１２】
0005472469.tif 000013
【図１３】
0005472469.tif 000014
【図１４】
0005472469.tif 000015
【図１５】
0005472469.tif 000016