(57)【特許請求の範囲】
【請求項１】
ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップであって、インターフェースユニットと、２ポートＲＡＭユニットと、管理ユニットと、ＤＳＰダウンロード管理ユニットとを備え、
前記インターフェースユニットは、前記２ポートＲＡＭユニットおよび前記管理ユニットにそれぞれ接続され、
前記管理ユニットは、制御ラインを介して外部制御システムに接続され、前記管理ユニットは、前記２ポートＲＡＭユニットおよび前記ＤＳＰダウンロード管理ユニットのそれぞれにさらに接続され、
前記ＤＳＰダウンロード管理ユニットは、パラレルバスを介して少なくとも１つのＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップに接続され、
前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップは、フラッシュドライブユニットおよびＮＯＲフラッシュチップをさらに備え、前記管理ユニットは、前記フラッシュドライブユニットに接続され、前記２ポートＲＡＭユニットは、前記フラッシュドライブユニットを介して前記ＮＯＲフラッシュチップに接続され、前記ＮＯＲフラッシュチップは、前記フラッシュドライブユニットを介して前記ＤＳＰダウンロード管理ユニットと通信し、
前記管理ユニットは、前記インターフェースユニットを介してＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのダウンロードの選択を制御し、前記ＮＯＲフラッシュチップまたは外部バスを介してブートする前記選択の制御を実行し、すなわち、前記管理ユニットは、前記外部バスにより前記インターフェースユニットを介して前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのダウンロードの選択を制御し、または前記ＮＯＲフラッシュチップによって前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのダウンロードの選択を制御し、
前記ＮＯＲフラッシュチップを介してブートするよう選択される場合、前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムは前記ＮＯＲフラッシュチップに格納され、前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップは、前記ＤＳＰダウンロード管理ユニットを介して前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップに前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムを読み込み、
前記外部バスを介してブートするよう選択される場合、前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムは、前記２ポートＲＡＭユニットおよび前記ＤＳＰダウンロード管理ユニットを介して前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップに転送される、
ことを特徴とするＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップ。
【請求項２】
前記インターフェースユニットは、ＰＣＩバスインターフェース、ＣＡＮバスインターフェース、およびＲＳ２３２バスインターフェースを備え、これらはすべて、前記管理ユニットおよび前記２ポートＲＡＭユニットに接続される、請求項１に記載のＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップ。
【請求項３】
各ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップにそれぞれ接続されるウォッチドッグ管理回路をさらに備える、請求項１に記載のＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップ。
【請求項４】
ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップを使用するＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理方法であって、
ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップは、
インターフェースユニットと、２ポートＲＡＭユニットと、管理ユニットと、ＤＳＰダウンロード管理ユニットとを備え、
前記インターフェースユニットは、前記２ポートＲＡＭユニットおよび前記管理ユニットにそれぞれ接続され、
前記管理ユニットは、制御ラインを介して外部制御システムに接続され、前記管理ユニットは、前記２ポートＲＡＭユニットおよび前記ＤＳＰダウンロード管理ユニットのそれぞれにさらに接続され、
前記ＤＳＰダウンロード管理ユニットは、パラレルバスを介して少なくとも１つのＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップに接続され、
前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップは、フラッシュドライブユニットおよびＮＯＲフラッシュチップをさらに備え、前記管理ユニットは、前記フラッシュドライブユニットに接続され、前記２ポートＲＡＭユニットは、前記フラッシュドライブユニットを介して前記ＮＯＲフラッシュチップに接続され、前記ＮＯＲフラッシュチップは、前記フラッシュドライブユニットを介して前記ＤＳＰダウンロード管理ユニットと通信するものであり、
前記管理ユニットは、前記インターフェースユニットを介してＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのダウンロードの選択を制御し、前記ＮＯＲフラッシュチップまたは外部バスを介してブートする前記選択の制御を実行し、すなわち、前記管理ユニットは、前記外部バスにより前記インターフェースユニットを介して前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのダウンロードの選択を制御し、または前記ＮＯＲフラッシュチップによって前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのダウンロードの選択を制御し、
前記ＮＯＲフラッシュチップを介してブートするよう選択される場合、前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムは前記ＮＯＲフラッシュチップに格納され、前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップは、前記ＤＳＰダウンロード管理ユニットを介して前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップに前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムを読み込み、
前記外部バスを介してブートするよう選択される場合、前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムは、前記２ポートＲＡＭユニットおよび前記ＤＳＰダウンロード管理ユニットを介して前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップに転送される、
ことを特徴とするＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理方法。
【請求項５】
前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムは、２５６ワードを有するコードセグメント部分およびブートローダ部分を備え、前記コードセグメント部分は、順次エンドツーエンド接続されるＮ個のコードセグメントを備え、前記コードセグメントの数Ｎは、前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップの数と同じであり、各コードセグメントは、このコードセグメントが属する前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報、このコードセグメントの記憶アドレス情報、および２５６ワードの最終コード情報を含み、
前記ブートローダ部分は、前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＡｕｔｏＤＡＭアドレスに書き込まれ、
前記コードセグメント内の前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報が読み込まれ、
前記コードセグメント内の前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップの前記ＩＤ情報が、このプログラムを現在ダウンロードしているＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップの前記ＩＤ情報と等しいかどうか判定され、等しくない場合、次のコードセグメントが順次読み込まれ、等しい場合、このコードセグメントが最終コードセグメントであるかどうか判定され、
このコードセグメントが最終コードセグメントではない場合、このコードセグメントのサイズ情報およびアドレス情報に従って、このコードセグメントのコンテンツが、１レベルパイプライン書込方法でＤＳＰパラレルバスにより、対応するＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのメモリに書き込まれ、
このコードセグメントが最終コードセグメントである場合、前記最終コードセグメントが、前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップメモリに書き込まれる、
ことを特徴とする請求項４に記載の前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップを使用するＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理方法。
【請求項６】
前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムが更新される場合、前記更新されたプログラムは、前記ＮＯＲフラッシュチップに再ダウンロードされる、
ことを特徴とする請求項４または５に記載の前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップを使用するＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理方法。
【請求項７】
前記コードセグメントは、非ゼロコードセグメント、ゼロコードセグメント、および最終コードセグメントを備え、
前記非ゼロコードセグメントは、（１）前記非ゼロコードセグメントのヘッダ情報、（２）前記非ゼロコードセグメントの記憶アドレス、および（３）前記非ゼロコードセグメントのコンテンツ、を含み、前記非ゼロコードセグメントの前記ヘッダ情報は、（１）このコードセグメントの識別子タイプ情報、（２）前記非ゼロコードセグメントが属する前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報、および（３）前記非ゼロコードセグメントのコンテンツ長、を含み、
前記ゼロコードセグメントは、（１）前記ゼロコードセグメントのヘッダ情報、および（２）前記ゼロコードセグメントの記憶アドレスを含み、前記ゼロコードセグメントの前記ヘッダ情報は、（１）このコードセグメントの識別子タイプ情報、（２）前記ゼロコードセグメントが属する前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報、および（３）前記ゼロコードセグメントのコンテンツ長、を含み、
前記最終コードセグメントは、（１）前記最終コードセグメントのヘッダ情報、（２）前記最終コードセグメントの記憶アドレス、および（３）前記最終コードセグメントのコンテンツ、を含み、前記最終コードセグメントの前記ヘッダ情報は、（１）このコードセグメントの識別子タイプ情報、（２）前記最終コードセグメントが属する前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報、および（３）２５６ワードを有する最終コード情報、を含み、
前記コードセグメントの前記識別子タイプ情報は、非ゼロコードセグメント、ゼロコードセグメント、および最終コードセグメントを含む、
ことを特徴とする請求項５に記載の前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップを使用するＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理方法。
【請求項８】
前記ブートローダ部分が書き込まれた後、前記コードセグメントの前記ヘッダ情報を読み込むフローは１０μｓ遅れて実行され、前記最終コードセグメントを前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップメモリに書き込むフローは、最初の５ワードの書き込み、１０μｓの遅延後、残りの２５１ワードを書き込む、
ことを特徴とする請求項７に記載の前記ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップを使用するＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号処理の技術分野に属し、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップに適用されるブート管理チップおよびそのブート管理方法に関する。
【背景技術】
【０００２】
ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップは、ＡＤＩによって製造された高性能ＤＳＰチップとして、４８００ＭＭＡＣという非常に高い演算処理能力と実行効率を有し、プロセッサの主周波数は、６００ＭＨｚと高く、オンチップＲＡＭは、２４Ｍビットに達する。２つの独立したコンピューティングコアが各チップに含まれており、１クロックサイクル内で最大４つの命令を実行することができる。このシリーズのチップは、最大８個のＤＳＰでマルチＤＳＰコプロセッシングをサポートし、高速かつ高性能の信号処理分野に適用可能である。
【０００３】
ＴＳ２０ｘには不揮発性のプログラムメモリが内蔵されていないため、プログラムは外部からチップに取り込むことしかできない。 ＰＲＯＭブート、Ｈｏｓｔブート、ＬｉｎｋＰｏｒｔブート、およびＮｏ  ｂｏｏｔの４つのプログラムダウンロードモードがある。これらのモードの中では、ＰＲＯＭブートモードが頻繁に使用されるが、安全性は低くなり、ＬｉｎｋＰｏｒｔブートモードは主にＤＳＰチップの間のプログラムのダウンロードに使用され、汎用性は低く、Ｎｏ  ｂｏｏｔモードは主にデバッグに使用され、一般には使用することは推奨されず、Ｈｏｓｔブートモードは、コバス（co-bus）システムにおいて独自の利点を有し、外部バスを介してチップブートを実現するためにホストを使用することができ、この方法は、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップと他のシステムとの良好な互換性を実現することができる。しかしながら、Ｈｏｓｔブートモードでは、ＤＳＰの書き込みシーケンスがブート処理において厳密に必要であるため、ブート処理でエラーが発生しやすくなる。さらに、ブートコードが長い場合、Ｈｏｓｔブートモードでは時間がかかる。
【０００４】
ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップの従来のＨｏｓｔブートモードは次の通りであり、すなわち、ブートプログラムは、ＤＳＰの外部バスを使用することによって、ＤＳＰのＡＵＴＯＤＭＡポート（固定アドレスを有する）に送信される。ブートプログラムは、ＡＵＴＯＤＭＡポートで受信され、ホストは、ブート処理でバスを制御する権利を有する。このブートモードは、外部バスを使用してＤＳＰのブートをより柔軟に実現することができ、ＦＰＧＡまたは他のプロセッサを使用して共通外部バスを介してプログラムをＴｉｇｅｒＳｈａｒｃ  ＤＳＰにダウンロードするのに適している。
【０００５】
しかしながら、従来のＨｏｓｔブートモードでは、以下の欠点が依然として存在する。（１）ブート安定性を保証するために、従来のＨｏｓｔブートモードでは、ブートローダの後に遅延が加えられ、最終セッションの最初の５ワードがＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップに書き込まれる。一方、各ワードが書き込まれた後、次のワードは、ＤＳＰが現在書き込まれたワードを処理した後にのみ書き込まれ、非ゼロコードセグメントおよびゼロコードセグメントが異なる時間に処理される。書き込み速度が速すぎる場合、チップを起動できなくなる可能性が非常に高くなる。コードセグメントでのコードコンテンツのダウンロードは、プログラムのダウンロード処理の大半を占めるので、各ワードの書き込みは、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰからの応答を待つ必要がある。したがって、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰのクイックブートが影響を受ける。コードが長くなると、起動時間も長くなる。
（２）データ書き込みは、アクノリッジ信号ＡＣＫ、バスロック信号ＢＵＳＬＯＣＫ、およびバス承諾信号（bus grant signal）ＨＢＧによってさらに制限される。アクノリッジ信号ＡＣＫ、バスロック信号ＢＵＳＬＯＣＫ、およびバス許諾信号ＨＢＧが安定し、ブートロジックが満たされ、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰが準備されている場合にのみ、データを書き込むことができる。そうでなければ、１つのデータが失われた場合、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰは、起動できない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、従来のホストブート方法におけるブート時間が長すぎ、安定性が低いという欠点を考慮して、改良されたホストブート管理チップおよびブート方法、すなわち、改良されたホストブート方法に基づくＴｉｇｅｒＳｈａｒｃ  ＤＳＰ管理チップを提供し、複数のＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップの迅速なブートを実現することである。
【課題を解決するための手段】
【０００７】
本発明は、以下の技術的解決策を使用する。すなわち、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップが、インターフェースユニットと、２ポートＲＡＭユニットと、管理ユニットと、ＤＳＰダウンロード管理ユニットとを備え、インターフェースユニットが、２ポートＲＡＭユニットと管理ユニットとのそれぞれに接続され、管理ユニットが、制御ライン（制御線）を介して外部制御システムに接続され、管理ユニットが、２ポートＲＡＭユニットおよびＤＳＰダウンロード管理ユニットのそれぞれにさらに接続され、ＤＳＰダウンロード管理ユニットが、パラレルバスを介して少なくとも１つのＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップに接続され、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰは８つまでであり、すなわち、１つのブート管理チップが最大８つのＤＳＰチップを駆動し、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップは、フラッシュドライブユニットおよびＮＯＲフラッシュチップをさらに備え、管理ユニットは、フラッシュドライブユニットに接続され、２ポートＲＡＭユニットは、フラッシュドライブユニットを介してＮＯＲフラッシュチップに接続され、ＮＯＲフラッシュチップは、フラッシュドライブユニットを介してＤＳＰダウンロード管理ユニットと通信する。
【０００８】
インターフェースユニットは、ＰＣＩバスインターフェース、ＣＡＮバスインターフェース、およびＲＳ２３２バスインターフェースを備え、これらはすべて、管理ユニットおよび２ポートＲＡＭユニットに接続されることが好ましい。
【０００９】
ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップは、各ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップにそれぞれ接続されたウォッチドッグ管理回路をさらに備えることが好ましい。
【００１０】
ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップを使用するＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理方法が提供され、ブートモードが管理ユニットによって最初に選択され、
管理ユニットは、インターフェースユニットを介してＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのダウンロードの選択を制御し、ＮＯＲフラッシュチップまたは外部バスを介してブートする選択の制御を行い、
外部バスは、インターフェースユニットが接続される外部バスであるため、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのダウンロード方法は、管理ユニットが、外部バスによってインターフェースユニットを介して、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのダウンロードを制御すること、または管理ユニットが、ＮＯＲフラッシュチップを介してブートするよう選択することによってＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのダウンロードを制御することであり、
ＮＯＲフラッシュチップを介してブートするよう選択される場合、管理ユニットは、フラッシュドライブユニットを介してＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムをダウンロードするようＮＯＲフラッシュチップを駆動し、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムがＮＯＲフラッシュチップに格納され、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップが、ＤＳＰダウンロード管理ユニットを介してＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップにＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムを読み込み、
外部バスを介してブートするよう選択される場合、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムは、２ポートＲＡＭユニットおよびＤＳＰダウンロード管理ユニットを介して、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップに転送される。外部バスは、限定されないがＰＣＩバス、ＣＡＮバス、およびＲＳ２３２バスを含むインターフェースユニットが接続される外部バスである。管理ユニットは、インターフェースユニット、２ポートＲＡＭユニット、およびＤＳＰダウンロード管理ユニットの動作を制御するよう構成される。
【００１１】
ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムは、２５６ワードのコードセグメント部分およびブートローダ部分を備えることが好ましい。コードセグメント部分は、エンドツーエンドに（end to end）順次接続されたＮ個のコードセグメントを備える。コードセグメントの数Ｎは、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップの数と同じである。
【００１２】
コードセグメント部分は、非ゼロコードセグメント、ゼロコードセグメント、および最終コードセグメントを備える。
【００１３】
非ゼロコードセグメントは、（１）非ゼロコードセグメントのヘッダ情報、（２）非ゼロコードセグメントの記憶アドレス、および（３）非ゼロコードセグメントのコンテンツを含む。ここで、非ゼロコードセグメントのヘッダ情報は、（１）このコードセグメントの識別子タイプ情報（非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント）、（２）非ゼロコードセグメントが属するＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報、および（３）非ゼロコードセグメントのコンテンツ長を含む。
【００１４】
ゼロコードセグメントは、（１）ゼロコードセグメントのヘッダ情報、および（２）ゼロコードセグメントの記憶アドレスを含む。ここで、ゼロコードセグメントのヘッダ情報は、（１）このコードセグメントの識別子タイプ情報（非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント）、（２）ゼロコードセグメントが属するＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報、および（３）ゼロコードセグメントのコンテンツ長を含む。
【００１５】
最終コードセグメントは、（１）最終コードセグメントのヘッダ情報、（２）最終コードセグメントの記憶アドレス、および（３）最終コードセグメントのコンテンツを含む。ここで、最終コードセグメントのヘッダ情報は、（１）このコードセグメントの識別子タイプ情報（非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント）、（２）最終コードセグメントが属するＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報、および（３）２５６ワードの最終コード情報を含む。
【００１６】
ここで、ブートローダ部分は、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのコアを実行する前のプログラムであり、初期化、メモリ空間マッピングの確立、ならびにソフトウェアおよびハードウェアの動作環境の調整に使用される。
【００１７】
ブートローダ部分は、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＡｕｔｏＤＡＭアドレスに書き込まれ、
コードセグメント内のＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報が読み込まれ、
コードセグメント内のＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報が、現在このプログラムをダウンロードしているＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報と等しいかどうか判定され、もし等しくなければ、次のコードセグメントが順次読み込まれ、もし等しければ、このコードセグメントが最終コードセグメントであるかどうか判定され、
このコードセグメントが最終コードセグメントでない場合、このコードセグメントのサイズ情報とアドレス情報とに従って、このコードセグメントのコンテンツが、対応するＤＳＰのメモリに、ＤＳＰパラレルバスにより１レベルパイプライン読込／書込方法で書き込まれる。
【００１８】
このコードセグメントが最終コードセグメントである場合、最終コードセグメントがＤＳＰメモリに書き込まれ、このＤＳＰのブートが終了する。
【００１９】
さらに、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムが更新される場合、更新されたプログラムが、ＮＯＲフラッシュチップに再ダウンロードされる。
【００２０】
さらに、各コードセグメントは、非ゼロコードセグメント、ゼロコードセグメント、および最終コードセグメントを備える。非ゼロコードセグメントは、このコードセグメントが属するＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報、コードセグメントの記憶アドレス情報、コードセグメントのサイズ、およびコードセグメントの非ゼロコンテンツ情報を含み、ゼロコードセグメントは、このコードセグメントが属するＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報、コードセグメントの記憶アドレス情報、およびコードセグメントのサイズを含み、最終コードセグメントは、このコードセグメントが属するＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報および２５６ワードの最終コード情報を含む。
【００２１】
さらに、ブートローダ部分が書き込まれた後、コードセグメントのヘッダ情報を読み込むフローは１０μｓ遅れて実行され、最終コードセグメントをＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップメモリに書き込むフローは、最初の５ワードの書き込み、１０μｓの遅延後、残りの２５１ワードの書き込みとなる。
【００２２】
本発明は、以下の有利な効果を有する。
【００２３】
本発明は、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのブート速度を増加させながら、ブート処理の安定性を高める、改良されたＨｏｓｔブート設計方法を提供する。改良されたＨｏｓｔブート設計方法に基づいて、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップが設計される。一方で、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップの使用の難しさが減少し、他方で、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのブート速度と安定性が改善される。
【００２４】
本発明は、複数のＴｉｇｅｒＳｈａｒｃ  ＤＳＰのブートを効率的に管理することができる。したがって、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰの使用の難しさは減少する。外部システムに対して、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰは、ＰＣＩ、ＣＡＮ、ＲＳ２３２、およびパラレルバスを介して起動することができる。したがって、本発明は、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰに接続する解決策を有する多くの互換性のないシステムを提供する。
【００２５】
本発明は、複数のＴｉｇｅｒＳｈａｒｃ  ＤＳＰを同時に管理することができるウォッチドッグ機能を有する。ある特定のＤＳＰの動作が異常である場合、このＤＳＰをリセットしてＤＳＰのプログラムを再ダウンロードすることができる。
【００２６】
本発明は、２つのブートモードを提供する。一方のブートモードは、ＮＯＲフラッシュチップを介してのブートを実現することである。このモードでは、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムの一時記憶領域として機能するＮＯＲフラッシュチップにプログラムを直接格納し、その後のブート処理でＮＯＲフラッシュチップからＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムを直接呼び出すことができるので、毎回外部からＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムを読み込むのではなく、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムの更新中にＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムを再ダウンロードするだけでよい。他方のブートモードは、外部バスを介してＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムを直接受信する。このモードは非常に安全である。ブートモードは、柔軟で多様な管理ユニットによって設定することができる。
【００２７】
ＰＣＩバス、ＣＡＮバス、ＲＳ２３２バスなどのさまざまな外部バスが用意されており、さまざまなバスデータフォーマットをサポートすることができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の概略構成図である。
【図２】ブートプログラムコードの概略構成図である。
【図３】本発明のＨｏｓｔブートプログラムのフローチャートである。
【発明を実施するための形態】
【００２９】
本発明の具体的な実装態様について、添付図面を参照してさらに詳細に説明する。
【００３０】
図１に示すように、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップは、インターフェースユニットと、２ポートＲＡＭユニットと、管理ユニットと、ＤＳＰダウンロード管理ユニットとを備える、ＦＰＧＡを用いて構成されたブート管理チップである。
【００３１】
インターフェースユニットは、いずれも管理ユニットおよび２ポートＲＡＭユニットに接続されたＰＣＩバスインターフェース、ＣＡＮバスインターフェース、およびＲＳ２３２バスインターフェースを備え、ＰＣＩ通信モジュール、ＣＡＮ通信モジュール、およびＲＳ２３２通信モジュールを介して外部システムにさまざまなインターフェースを提供する。
【００３２】
ＰＣＩ通信モジュールは、ＰＣＩバスインターフェースを介したＰＣＩバスのアクセスを担い、ＣＡＮ通信モジュールは、ＣＡＮバスインターフェースを介したＣＡＮバスのアクセスを担い、ＲＳ２３２通信モジュールは、ＲＳ２３２バスインターフェースを介したＲＳ２３２バスのアクセスを担う。ここで、２ポートＲＡＭユニットは、一時的にコードを受信するために使用され、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのための一時記憶装置として働く。
【００３３】
管理ユニットは、制御ラインを介して外部制御システムに接続される。制御システムは、ＦＰＧＡブート管理チップのコントローラであり、ブート制御命令を発行するよう構成される。管理ユニットは、それぞれ２ポートＲＡＭユニットおよびＤＳＰダウンロード管理ユニットにも接続される。ＤＳＰダウンロード管理ユニットは、パラレルバスを介して少なくとも１つのＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップに接続され、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップは８以下である。言い換えれば、１つのブート管理チップが最大８つのＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップを駆動する。駆動可能なＤＳＰチップの数は、主にＦＰＧＡ駆動インターフェースによって制限される。
【００３４】
管理チップは、フラッシュドライブユニットとＮＯＲフラッシュチップとをさらに備える。管理ユニットは、フラッシュドライブユニットに接続される。２ポートＲＡＭユニットは、フラッシュドライブユニットを介してＮＯＲフラッシュチップに接続される。ＮＯＲフラッシュチップは、フラッシュドライブユニットを介してＤＳＰダウンロード管理ユニットと通信する。ＮＯＲフラッシュチップは、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラム用の記憶チップとして、ダウンロードされたＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムを格納するために使用される。
【００３５】
管理チップのこの構造は、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラム用の２つのブートプログラムチャネルをＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップに提供する。一方のブートプログラムチャネルは、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムがインターフェースユニットを介して外部バスからダウンロードされ、次いで、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップに転送され、２ポートＲＡＭユニットおよびＤＳＰダウンロード管理ユニットを介してブートされることである。この場合、毎回外部バスからＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムを再ダウンロードする必要がある。他方のブートプログラムチャネルは、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムがＮＯＲフラッシュチップに直接ダウンロードされ、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムが毎回ＮＯＲフラッシュチップから直接読み込まれることである。ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムが更新された場合、更新されたＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムは、ＮＯＲフラッシュチップに再ダウンロードされ、更新されたＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムは、チップがブートされる場合にＮＯＲフラッシュチップから直接読み込まれる。ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのダウンロード方法の選択およびチャネルの選択は、管理ユニットによって制御することができる。
【００３６】
本システムはさらに、各ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップに接続されて、複数のＴｉｇｅｒＳｈａｒｃ  ＤＳＰのウォッチドッグ管理および監視を実現するウォッチドッグ管理回路を備える。ＤＳＰは、外部バスを介して管理チップ内のウォッチドッグ管理回路のレジスタにアクセスする。ＴｉｇｅｒＳｈａｒｃ  ＤＳＰの動作が異常である場合、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰをリセットすることができ、プログラムを再ダウンロードすることができる。
【００３７】
ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップを使用するＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理方法が提供され、ブートモードが管理ユニットによって最初に選択され、
管理ユニットは、インターフェースユニットを介してＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのダウンロードの選択を制御し、ＮＯＲフラッシュチップまたは外部バスを介してブートする選択に対する制御を行い、
ＮＯＲフラッシュチップを介してブートするよう選択される場合、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムがＮＯＲフラッシュチップに格納され、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップが、ＤＳＰダウンロード管理ユニットを介してＴｉｇｅｒＳｈａｒｃ  ＤＳＰブート管理チップにＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムを読み込み、
外部バスを介してブートするよう選択される場合、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムは、インターフェースユニット、２ポートＲＡＭユニット、およびＤＳＰダウンロード管理ユニットを介して、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップに転送される。
【００３８】
図２に示すように、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムは、２５６ワードのコードセグメント部分およびブートローダ部分を含む。コードセグメント部分は、エンドツーエンドに順次接続されたＮ個のコードセグメントを含む。コードセグメントの数Ｎは、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップの数と同じである。各コードセグメントは、このコードセグメントが属するＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報、このコードセグメントの記憶アドレス情報、およびコード情報を含む。
【００３９】
例としてブート管理チップによって８つのＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップを同時に駆動すると、コードセグメント部分は、８つのコードセグメント、すなわち、ＤＳＰ１コードセグメント、ＤＳＰ２コードセグメント．．．、ＤＳＰ８コードセグメントを含む。各コードセグメントの具体的な構造は、特に、非ゼロコードセグメント、ゼロセグメント、および最終コードセグメントを備える。
【００４０】
図２に示すように、非ゼロコードセグメントは、（１）非ゼロコードセグメントのヘッダ情報、（２）非ゼロコードセグメントの記憶アドレス、および（３）非ゼロコードセグメントのコンテンツを含む。ここで、非ゼロコードセグメントのヘッダ情報は、（１）このコードセグメントの識別子タイプ情報（非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント）、（２）非ゼロコードセグメントが属するＤＳＰのＩＤ情報（すなわち、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰ１、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰ２．．．、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰ８）、および（３）非ゼロコードセグメントのコンテンツ長、を含む。
【００４１】
ゼロコードセグメントは、（１）ゼロコードセグメントのヘッダ情報、および（２）ゼロコードセグメントの記憶アドレスを含む。ここで、ゼロコードセグメントのヘッダ情報は、（１）このコードセグメントの識別子タイプ情報（非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント）、（２）ゼロコードセグメントが属するＤＳＰのＩＤ情報、および（３）ゼロコードセグメントのコンテンツ長を含む。
【００４２】
最終コードセグメントは、（１）最終コードセグメントのヘッダ情報、（２）最終コードセグメントの記憶アドレス、および（３）最終コードセグメントのコンテンツを含む。ここで、最終コードセグメントのヘッダ情報は、（１）このコードセグメントの識別子タイプ情報（非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント）、（２）最終コードセグメントが属するＤＳＰのＩＤ情報、および（３）２５６ワードを有する最終コード情報を含む。
【００４３】
図２に示すように、前述のエンドツーエンド接続されたＮ個のコードセグメントの具体的なフォーマットは、以下の通りであり、すなわち、非ゼロコードセグメント、ゼロコードセグメント、および最終コードセグメントが順次接続され、非ゼロコードセグメントは、順次接続される非ゼロコードセグメント１、非ゼロコードセグメント２、非ゼロコードセグメント３．．．、非ゼロコードセグメントｎ１を含み、ゼロコードセグメントは、順次接続されるゼロコードセグメント１、ゼロコードセグメント２、ゼロコードセグメント３．．．、ゼロコードセグメントｎ２を含み、ここで、ｎ１およびｎ２はどちらもＮに等しいとすることができる。
【００４４】
図３は、ブート管理チップを用いてＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのブートを管理する方法フローを示す。
【００４５】
ブートローダ部分が、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＡｕｔｏＤＡＭアドレスに書き込まれ、次いで、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムのダウンロードが初期化される。
【００４６】
コードセグメント内のＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報が読み込まれる。コードセグメントのヘッダ情報は、１）ＤＳＰのＩＤ情報、２）コードセグメントの属性（非ゼロコードセグメント、ゼロコードセグメント、または最終コードセグメント）、および３）コードセグメントの長さ、を含む。
【００４７】
コードセグメント内のＤＳＰブート管理チップのＩＤ情報と、現在このプログラムをダウンロードしているＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報とが等しいかどうか、すなわち、コードセグメントＮがＴｉｇｅｒＳｈａｒｃ  ＤＳＰ  Ｎと一致するかどうかを判定し、一致しない場合には、コードセグメントに含まれるＤＳＰブート管理チップのＩＤ情報が、このプログラムを現在ダウンロードしているＴｉｇｅｒＳｈａｒｃ  ＤＳＰチップのＩＤ情報と等しくなるまで、次のコードセグメントが順次読み込まれ、一致する場合には、このコードセグメントが最終コードセグメントであるかどうかが判定される。
【００４８】
図２を参照すると、より具体的には、コードセグメントを読み込み、その判定をする場合、まず、非ゼロコードセグメント１、非ゼロコードセグメント２、非ゼロコードセグメント３．．．、非ゼロコードセグメントｎ１が順次読み込まれ、非ゼロコードセグメント内のＤＳＰブート管理チップのＩＤ情報がブート対象のＴｉｇｅｒＳｈａｒｃ  ＤＳＰ  Ｎと一致するかどうかを判定し、次いで、ゼロコードセグメント１、ゼロコードセグメント２、ゼロコードセグメント３．．．、ゼロコードセグメントｎ２が順次読み込まれ、ゼロコードセグメント内のＤＳＰブート管理チップのＩＤ情報がブート対象のＴｉｇｅｒＳｈａｒｃ  ＤＳＰ  Ｎと一致するかどうかを判定し、最後に、最終コードセグメントが読み込まれる。
【００４９】
このコードセグメントが最終コードセグメントでない場合、すなわち、読み込まれたコードセグメントが非ゼロコードセグメントまたはゼロコードセグメントである場合、このコードセグメントのサイズ情報およびアドレス情報に従って、このコードセグメントのコンテンツは、１レベルパイプライン書き込み方式でＤＳＰパラレルバスによって、対応するＴｉｇｅｒＳｈａｒｃ  ＤＳＰ（すなわち、ブートされるＴｉｇｅｒＳｈａｒｃ  ＤＳＰ）のメモリに書き込まれる。
【００５０】
このコードセグメントが最終コードセグメントである場合、最終コードセグメントは、ブートされる対応するＴｉｇｅｒＳｈａｒｃ  ＤＳＰのメモリに書き込まれ、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰブートプログラムがダウンロードされる。
【００５１】
ブートローダ部分を書き込んだ後、コードセグメントのヘッダ情報を読み込むフローは１０μｓの遅延後に実行され、最終コードセグメントをＤＳＰメモリに書き込むフローは、最初の５ワードの書き込み、１０μｓの遅延後に、残りの２５１ワードの書き込みとなる。
【００５２】
改良されたＨｏｓｔブートモードでは、ＴｉｇｅｒＳｈａｒｃ  ＤＳＰのパイプラインメカニズムが標準Ｈｏｓｔブート処理に適用される。コードセグメントをダウンロードする場合、ＡｕｔｏＤＭＡ書込メカニズムは、パイプライン書込メカニズムに置き換えられる。ＴｉｇｅｒＳｈａｒｃ  ＤＳＰは共通の外部バス設計を使用しているため、オンチップメモリからの／への読み込み／書き込みは外部バスを介して行うことができる。１レベルパイプライン書き込みを使用することは、１つのワードを１つのＤＳＰクロックサイクル内で書き込むことができる非常に高い書き込み速度を約束する。このように、ＡｕｔｏＤＭＡモードと比較して、コードコンテンツの書き込み時間が大幅に短縮され、したがって、プログラム全体をダウンロードする時間が短縮される。
【図１】
0006334831.tif 000002
【図２】
0006334831.tif 000003
【図３】
0006334831.tif 000004