(57)【要約】【課題】本発明は、マップデータを処理しても、ハードＩＰの処理速度の低下を抑えることができる、半導体集積回路の提供を目的とする。【解決手段】複数の処理ブロックのうちマップが適用されるマップ適用ブロックで、マップデータが格納されるレジスタにアクセスするハードＩＰ１１と、前記マップ適用ブロックで適用されるマップのマップデータを予め記憶する記憶装置４と、前記複数の処理ブロックのそれぞれが完了する毎に通知される通知情報と、ハードＩＰ１１による前記複数の処理ブロックの処理予定フローにおいて前記マップ適用ブロックで適用すべきマップを予め定めたマップ特定情報とに基づいて、前記通知情報が通知された後の前記マップ適用ブロックで必要なマップを予測する予測回路１０とを備え、予測回路１０によって予測されたマップのマップデータが、記憶装置４から前記レジスタに転送される、半導体集積回路。【選択図】図１
2010182220.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理ブロックのうちマップが適用されるマップ適用ブロックで、マップデータが格納されるレジスタにアクセスするハードＩＰと、
前記マップ適用ブロックで適用されるマップのマップデータを予め記憶する記憶装置と、
前記複数の処理ブロックのそれぞれが完了する毎に通知される通知情報と、前記ハードＩＰによる前記複数の処理ブロックの処理予定フローにおいて前記マップ適用ブロックで適用すべきマップを予め定めたマップ特定情報とに基づいて、前記通知情報が通知された後の前記マップ適用ブロックで必要なマップを予測する予測回路とを備え、
前記予測回路によって予測されたマップのマップデータが、前記記憶装置から前記レジスタに転送される、半導体集積回路。
【請求項２】
前記予定処理フローは、前記ハードＩＰの処理によって制御される制御対象の状態に応じて分岐するものであって、
前記マップ特定情報には、前記マップ適用ブロックで適用すべきマップが、前記状態に応じて異なる分岐先毎に予め定められており、
前記予測手段は、前記通知情報として通知された前記状態の場合に選択される分岐先において、前記マップ適用ブロックで必要なマップを予測する、請求項１に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マップデータを処理するハードＩＰ（Intellectual  Property）を備える半導体集積回路に関する。
【背景技術】
【０００２】
近年、車両制御システムでは、高速処理（演算）が必要な制御が増加していることに対応すべく、高速処理したい制御内容をハードＩＰ化することがある。例えば、特許文献１には、ハードマクロＩＰを備えた半導体集積回路が開示されている。
【０００３】
一方、特許文献２に開示の情報処理装置は、現在実行中のタスクの次に処理すべき次期実行タスクを予測する予測処理を搭載することにより、前もってＤＭＡ転送命令を発行しタスク及びデータの保存と復帰を行い、タスクの実効的転送時間の高速化を図っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−９３５９３号公報
【特許文献１】特開２０００−１２２８８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、車両の制御処理内容をハードＩＰ化する場合、車両制御特有の適合マップなどのマップ内のマップデータを含めてハードＩＰ化すると、ハードＩＰとしての処理速度が遅くなってしまう。
【０００６】
そこで、本発明は、マップデータを処理しても、ハードＩＰの処理速度の低下を抑えることができる、半導体集積回路の提供を目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明に係る半導体集積回路は、
複数の処理ブロックのうちマップが適用されるマップ適用ブロックで、マップデータが格納されるレジスタにアクセスするハードＩＰと、
前記マップ適用ブロックで適用されるマップのマップデータを予め記憶する記憶装置と、
前記複数の処理ブロックのそれぞれが完了する毎に通知される通知情報と、前記ハードＩＰによる前記複数の処理ブロックの処理予定フローにおいて前記マップ適用ブロックで適用すべきマップを予め定めたマップ特定情報とに基づいて、前記通知情報が通知された後の前記マップ適用ブロックで必要なマップを予測する予測回路とを備え、
前記予測回路によって予測されたマップのマップデータが、前記記憶装置から前記レジスタに転送されるものである。
【発明の効果】
【０００８】
本発明によれば、マップデータを処理しても、ハードＩＰの処理速度の低下を抑えることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る半導体集積回路の実施形態であるマイクロコンピュータ２を備えた車両用制御装置１の構成図である。
【図２】ハードＩＰ１１によって処理される複数の処理ブロックの流れを表す処理フローである。
【図３】ハードＩＰ１１を備えるマイコン２の処理フローの一例である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本発明を実施するための形態の説明を行う。図１は、本発明に係る半導体集積回路の実施形態であるマイクロコンピュータ２を備えた車両用制御装置１の構成図である。車両用制御装置１の動作は、マイクロコンピュータ（以下、「マイコン」という）２によって制御される。マイコン２を実装する車両用制御装置１の具体例として、いわゆるＥＣＵ（Electronic  Control  Unit）が挙げられる。車両用制御装置１は、マイコン２による制御処理によって、制御対象１４，１５を制御する。制御対象の具体例として、他のＥＣＵ、コンバータ、ソレノイド、モータ及びエンジンなどの負荷が挙げられる。
【００１１】
マイコン２は、主な構成として、ハードＩＰ１１と、ＲＯＭ４と、次マップ予測回路１０とを内蔵する。また、マイコン２は、ＣＰＵコア３と、ＲＡＭ８と、他の回路とのインターフェイスである周辺ＩＯ回路９とを備える。これらの構成要素は、マイコン２内のバスを介して接続される。
【００１２】
ハードＩＰ１１は、回路の機能と回路のレイアウトパターンが固定されたハードマクロである。所定の機能をハードＩＰ化することによって、当該機能の高速処理化が可能になる。ハードＩＰ１１は、通常の処理速度で制御可能な制御対象１４より高速な処理速度が要求される制御対象１５（例えば、モータやエンジンなど）の動作を制御するための演算処理を行う。ハードＩＰ１１は、レジスタや演算部などのデジタルハード回路で構成され、マップデータが格納される複数のマップ用レジスタ（図１では、２つのレジスタ１２，１３を例示）を備える。ハードＩＰ１１は、複数の処理ブロックのうちマップが適用されるマップ適用ブロックで、複数のマップ用レジスタのうち少なくとも一つにアクセスすることにより、マップデータの検索処理を行う。
【００１３】
ＲＯＭ４は、マップ適用ブロックで適用される複数のマップのマップデータを予め記憶する記憶装置である。記憶装置は、ハードディスクなどの他の記憶手段でもよい。図１には、マップ適用ブロックで適用されるマップとして、適合マップ６，７が示されている。適合マップは、車両の特性を決めるためのデータが予め計測されて格納されているデータ群である。また、ＲＯＭ４には、プログラム５も予め記憶されていてよい。
【００１４】
次マップ予測回路１０は、複数の処理ブロックのそれぞれが完了する毎にハードＩＰ１１から通知される通知情報と、マップ適用ブロックで適用すべきマップを予め定めたマップ特定情報とに基づいて、通知情報が通知された後のマップ適用ブロックで必要なマップを予測する制御回路である。マップ特定情報には、ハードＩＰ１１による複数の処理ブロックの処理シーケンスを定めた処理予定フローを表す処理予定情報が含まれており、処理予定フロー上のマップ適用ブロックで適用すべきマップが予め定められている。マップ適用ブロックで適用すべきマップには、それぞれＩＤ情報が付与されていると好適である。次マップ予測回路１０は、例えば、マップ適用ブロックとマップ適用ブロックで適用されるマップのＩＤ情報との対応関係を定めたマップＩＤ表に基づいて、マップ適用ブロックで適用すべきマップのＩＤ情報を特定することができる。次マップ予測回路１０は、ハードＩＰ１１から通知される通知情報に基づいて、処理予定情報やマップＩＤ表などのマップ特定情報をメモリから読み出して、次回のマップ適用ブロックが開始する前にその次回のマップ適用ブロックで適用すべきマップとそのＩＤ情報を予測する。
【００１５】
図２は、ハードＩＰ１１によって処理される複数の処理ブロックの流れを表す処理フローである。ハードＩＰ１１は、図２に示されるような設計的に決められた処理フローに従って、処理ブロックの処理を順番に進める。次ブロック予測回路１１は、ハードＩＰ１１の既定の処理フローを、ハードＩＰ１１の処理予定フローを表す処理予定情報として保有している。次ブロック予測回路１１は、ハードＩＰ１１の処理予定情報を保有することによって、ハードＩＰ１１から各処理ブロックの処理の完了毎に通知情報を受けることによって、通知情報を受け取った時点でのハードＩＰ１１による処理ブロックの処理進度を客観的に把握することができる。
【００１６】
図２には、電圧フィードバック処理と電流フィードバック処理における処理ブロックの流れを例示している。ハードＩＰ１１は、電圧フィードバック処理の場合、処理ブロックＰ１，Ｐ２（又はＰ３），Ｐ４の順番に処理を進め、電流フィードバック処理の場合、処理ブロックＰ１１，Ｐ１２，Ｐ１３の順番に処理を進めることによって、制御対象１５の動作を制御する。処理ブロックＰ１は、適合マップが不適用の処理ブロックを表す。処理ブロックＰ２は、ＩＤ情報を「＃Ａ」とする適合マップ＃Ａが適用されるマップ適用ブロックを表す。他の処理ブロックについても同様である。
【００１７】
上述の構成のマイコン２は、以下のように動作する。
【００１８】
ハードＩＰ１１内の各処理ブロックが完了する毎に、ハードＩＰ１１は各処理ブロックの完了情報を次マップ予測回路１０に通知する。完了情報を受信した次マップ予測回路１０は、ハードＩＰ１１の処理予定フローに基づいて、次回又は次回以降の処理に予定されるマップ適用ブロックで必要な適合マップを予測する。例えば、図２において、次マップ予測回路１０は、処理ブロックＰ１１の完了を示す完了情報を受信した時点で、処理ブロックＰ１１以後の各処理ブロックの処理順が定められた処理予定フローに基づいて、処理ブロックＰ１１の処理後に処理される処理ブロックＰ１３で適合マップが必要になることを、処理ブロックＰ１３が開始する前（更には、処理ブロックＰ１３より前の処理ブロックＰ１２が開始する前）に予測することができる。また、次マップ予測回路１０は、マップＩＤ表に基づいて、処理ブロックＰ１３で必要な適合マップのＩＤ情報が＃Ｄであることを、処理ブロックＰ１３が開始する前（更には、処理ブロックＰ１３より前の処理ブロックＰ１２が開始する前）に予測することができる。
【００１９】
次マップ予測回路１０は、複数の処理タイミングが存在し、適合マップへのアクセスが重複すると処理予定フローに基づいて予想される場合には、処理ブロック毎又は処理フロー毎に予め定められた優先度に応じて、マップＩＤ表に基づいて、次回又は次回以降に予定されるマップ適用ブロックで必要な適合マップのＩＤを予測すればよい。これにより、優先度の高い処理ブロックを優先させることができる。
【００２０】
次マップ予測回路１０は、ＲＯＭ４に対して、次に必要な適合マップとして予測された適合マップに関するマップ予測情報を通知し、通知したマップ予測情報によって指定されたマップのマップデータをハードＩＰ１１に転送するように要求する。マップ予測情報として、マップのＩＤを通知してもよいし、マップの開始アドレスとマップのサイズを通知してもよい。
【００２１】
ＲＯＭ４は、通知されたマップ予測情報に基づきハードＩＰ１１への転送要求の対象となった適合マップのマップデータを、マイコン２の内部バスを介して、ハードＩＰ１１内のマップ用レジスタに転送する。そして、ハードＩＰ１１は、マップアクセス処理が必要なマップ適用ブロックにて、ＲＯＭ４から転送されたマップデータが格納されているマップ用レジスタにアクセスする。
【００２２】
したがって、上述の構成のように、適合マップを参照する制御処理内容のハードＩＰ化を行うことによって、適合マップのマップデータをハードＩＰが処理する場合であっても、適合マップアクセスのためのハードＩＰ側の処理速度の低下を抑えることができる。つまり、ハードＩＰの処理動作をハードＩＰの外部回路で予測することによって、マップ適用ブロックが開始する前にマップ用レジスタに必要なマップデータを格納しておくことができるため、ハードＩＰ側の処理速度の低下を抑えることができる。また、ハードＩＰ内部のレジスタに必要なマップデータを格納しておくことができるので、ハードＩＰの外部に設けられたＲＯＭ等の記憶装置にマップデータを参照しに行く場合に比べ、ハードＩＰの処理速度を高速化することができる。また、ハードＩＰの外部に設けられたＲＯＭ等の記憶装置にマップデータを予め保存しておくことができるので、ハードＩＰの規模が拡大することも防ぐことができる。その結果、コストアップの抑制と高速で高精度の制御処理を同時に実現できる。
【００２３】
ところで、ハードＩＰ１１内の処理に並列処理（例えば、図２に示したように、電圧フィードバック処理と電流フィードバック処理との並列処理）が存在する場合がある。ハードＩＰ１１は、各並列処理の各処理ブロックが完了する毎に次マップ予測回路１０に完了情報を通知する。完了情報を受信した次マップ予測回路１０は、ハードＩＰ１１の処理予定フローに基づいて、次回又は次回以降に予定されるマップ適用ブロックで必要な適合マップを予測する。
【００２４】
次マップ予測回路１０は、ＲＯＭ４に対して、次に必要な適合マップとして予測された適合マップに関するマップ予測情報を通知し、通知したマップ予測情報によって指定されたマップのマップデータをハードＩＰ１１に転送するように要求する。ハードＩＰ１１内には、複数のマップ用レジスタが設けられている。次マップ予測回路１０は、ＲＯＭ４に対して、次に必要な適合マップとして予測された適合マップのＩＤ情報及びハードＩＰ１１内のマップ用レジスタのレジスタ番号を通知し、その通知したＩＤ情報が付与された適合マップのマップデータを、その通知したレジスタ番号が付与されたマップ用レジスタに転送するように要求する。どのマップデータがどのマップ用レジスタに格納されるのかについては、マップ予測回路１０は、処理予定情報として、予め保有している。
【００２５】
ＲＯＭ４は、ハードＩＰ１１への転送要求の対象となった適合マップのマップデータを、マイコン２の内部バスを介して、ハードＩＰ１１内の指定された番号のマップ用レジスタに転送する。そして、ハードＩＰ１１は、マップアクセス処理が必要なマップ適用ブロックにて、ＲＯＭ４から転送されたマップデータが格納されているマップ用レジスタにアクセスする。
【００２６】
したがって、ハードＩＰ１１内の処理に並列処理が存在する場合において、各々の並列処理にマップ適用ブロックが存在しても、ハードＩＰ１１の処理性能を維持したまま、適合マップを参照する制御処理内容のハードＩＰ化を実現することができる。
【００２７】
ところが、ハードＩＰ１１内の処理ブロックの分岐先が、ハードＩＰ１１の処理によって制御される制御対象の状態（例えば、エンジンやモータの回転数、モータやバッテリの電圧値、車速などの車両状態）を条件として変化する場合がある。例えば、図２の場合、処理ブロックＰ１の後、マップ適用ブロックＰ２とマップ適用ブロックＰ３の２つの分岐先が存在している。ハードＩＰ１１内の処理ブロックの分岐先が複数存在する場合、次マップ予測回路１０は、処理予定情報として、処理ブロックの分岐情報を予め保有している。例えば、複数の分岐先のうち２つ以上の分岐先にマップ適用ブロックが存在すると次マップ予測回路１０によって予測された場合、それらの２つ以上の分岐先のマップ適用ブロックで適用される全マップのマップデータが、処理予定フローに基づき今後使用が予想されるマップデータとして、ハードＩＰ１１内の複数のマップ用レジスタに転送されるとよい。これにより、条件分岐先の分岐経路上に複数の異なるマップにアクセスすることが予測されても、処理性能を維持したまま、適合マップを参照する制御処理内容のハードＩＰ化を実現することができる。
【００２８】
さらに、ハードＩＰ１１内の処理ブロックの分岐先がハードＩＰ１１の処理によって制御される制御対象の状態に応じて複数存在する場合、ハードＩＰ１１は、各処理ブロックが完了する毎に制御対象の状態を次マップ予測回路１０に通知情報として通知すると好適である。制御対象の状態に応じて異なる分岐先が選択されるので、次マップ予測回路１０のマップ特定情報には、マップ適用ブロックで適用すべきマップが分岐先毎に予め定められている。例えば、複数の分岐先のうち２つ以上の分岐先にマップ適用ブロックが存在すると次マップ予測回路１０によって予測された場合、それらの複数の分岐先の中で制御対象の状態に応じて択一的に選択された分岐先のマップ適用ブロックで適用される一又は複数のマップのマップデータが、処理予定フローに基づき今後使用が確実に予想されるマップデータとして、ハードＩＰ１１内の一又は複数のマップ用レジスタに転送されるとよい。これにより、条件分岐先の分岐経路上に複数の異なるマップにアクセスすることが予測されても、次マップ予測回路１０が制御対象の状態を取得することにより複数の分岐先のうちどの分岐先が選択されるのかを特定することができるので、ＲＯＭ４から転送されるマップデータを格納するマップ用レジスタの必要数を最小限に抑えることができる。その結果、処理性能を維持したまま、適合マップを参照する制御処理内容のハードＩＰ化を実現することができる。
【００２９】
図３は、ハードＩＰ１１を備えるマイコン２の処理フローの一例である。ハードＩＰ１１内の各処理ブロックが完了すると（ステップ１）、ハードＩＰ１１は処理ブロックの完了情報と制御対象状態を次マップ予測回路１０に通知する（ステップ２）。次マップ予測回路１０は、ハードＩＰ１１の処理予定フローとマップＩＤ表とを参照することによって、次に必要となる適合マップのＩＤを予測する（ステップ３）。次マップ予測回路１０は、複数のマップアクセスが重なることもなく（ステップ４，Ｎｏ）、ステップ１で完了通知を受けた処理ブロックの次に処理予定の処理ブロックが分岐していない場合には（ステップ５，Ｎｏ）、次に必要な適合マップのＩＤを特定し、ＲＯＭ４に対して、特定したＩＤを通知するとともに、特定したＩＤに対応するマップのマップデータをハードＩＰ１１に転送要求する（ステップ６）。ＲＯＭ４は、通知されたＩＤに対応するマップのマップデータをマップ用レジスタに転送する（ステップ７）。ハードＩＰ１１は、マップ適用ブロックでマップ用レジスタにアクセスすることによってマップデータを取得し（ステップ８）、取得したマップデータに基づいて所定の制御処理を行う。ハードＩＰ１１によって処理すべき待機中のマップがない場合には（ステップ９，Ｎｏ）、次の処理ブロックの処理が開始し、ステップ１以降の動作が繰り返される。一方、ハードＩＰ１１によって処理すべき待機中のマップがある場合には（ステップ９，Ｙｅｓ）、次マップ予測回路１０は、その待機中のマップのＩＤを特定し（ステップ１４）、ＲＯＭ４に対して、その特定したＩＤを通知するとともに、特定したＩＤに対応するマップのマップデータをハードＩＰ１１に転送要求する（ステップ６）。
【００３０】
ステップ４において、次マップ予測回路１０は、複数のマップアクセスが重なることが予想される場合には、高優先度側のマップを特定するとよい（ステップ１２）。次マップ予測回路１０は、高優先度のマップのＩＤをＲＯＭ４に通知し、ハードＩＰ１１にそのマップデータを転送するように要求する（ステップ６）。
【００３１】
また、ステップ４において、次マップ予測回路１０は、複数のマップアクセスが重なることが予想される場合には、各処理タイミングのマップと転送先のマップ用レジスタの番号を特定するとよい（ステップ１０）。次マップ予測回路１０は、ＲＯＭ４に対して、次に必要な適合マップとして予測された各々の適合マップのＩＤ及びマップ用レジスタのレジスタ番号を通知し、その通知したＩＤが付与された適合マップのマップデータを、その通知したレジスタ番号が付与されたマップ用レジスタに転送するように要求する（ステップ１１）。ＲＯＭ４は、通知されたＩＤに対応するマップのマップデータを、指定されたレジスタ番号のマップ用レジスタに転送する（ステップ７）。
【００３２】
また、ステップ５において、ステップ１で完了通知を受けた処理ブロックの次に処理予定の処理ブロックが分岐しており、且つ、分岐先に複数の異なる適合マップが必要になると予測される場合には（ステップ５，Ｙｅｓ）、次マップ予測回路１０は、ステップ２で受信した制御対象状態に基づいて、分岐先と当該分岐先で必要な適合マップを特定する。次マップ予測回路１０は、択一的に選択された分岐先のマップ適合ブロックで必要なマップのＩＤをＲＯＭ４に通知し、ハードＩＰ１１にそのマップデータを転送するように要求する（ステップ６）。
【００３３】
以上、上述の実施例によれば、適合マップのマップデータをハードＩＰが処理する場合であっても、ハードＩＰの処理速度の低下及びハードＩＰの規模の拡大を抑えることができる。また、マップデータを含めてハードＩＰ化してしまうと、ハードＩＰの設計段階でマップ用レジスタの容量が決まってしまうため、マップの仕様変更ができなくなるが、マップデータの格納場所をハードＩＰから分離した上述の実施例によれば、マップの仕様変更も容易に行うことができる。さらに、上述の実施例によれば、今後適用が予想されるマップデータを特定できるため、パワーオン時に全マップのマップデータをＲＯＭからハードＩＰに転送する必要がない。その結果、全マップデータの転送によってシステム起動が遅くなるという問題を回避することができる。
【００３４】
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなく、上述した実施例に種々の変形及び置換を加えることができる。
【００３５】
例えば、ハードＩＰ１１とＲＯＭ４と次マップ予測回路１０は、上述の実施例では、一つのマイコン２に設けられているが、複数のマイコンに分離して設けられてもよい。
【符号の説明】
【００３６】
１  車両制御装置
２  マイクロコンピュータ
３  ＣＰＵコア
４  ＲＯＭ
５  プログラム
６，７  適合マップ
８  ＲＡＭ
９  周辺ＩＯ
１０  次マップ予測回路
１１  ハードＩＰ
１２，１３  マップ用レジスタ
１４  制御対象
１５  高速な制御対象
【図１】
2010182220.tif 000003
【図２】
2010182220.tif 000004
【図３】
2010182220.tif 000005