(57)【要約】【課題】機能マクロ内のメモリ領域を活用することにより、ＣＰＵが汎用メモリ領域として使用できるメモリ領域を拡張し、汎用メモリの容量を増加することなく、チップサイズの増大化を最小限に抑えて、汎用メモリ容量の増大化要求に対応することができるようにした半導体集積回路装置を提供する。【解決手段】機能マクロ内メモリ領域再配置制御回路１７により、機能マクロ１３〜１５のうち、不使用機能マクロ内のメモリ領域のアドレスを変更して、不使用機能マクロ内のメモリ領域をＣＰＵ１１が汎用的に使用するＲＡＭ領域としてアクセス可能なメモリ領域に再配置する。【選択図】図１
2007213188.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、汎用メモリと、１以上の機能マクロを有する半導体集積回路装置において、
前記１以上の機能マクロ中の不使用機能マクロ内のメモリ領域のアドレスを変更して、前記不使用機能マクロ内のメモリ領域を前記ＣＰＵが汎用メモリ領域としてアクセス可能なメモリ領域に再配置する制御回路を有することを特徴とする半導体集積回路装置。
【請求項２】
前記制御回路は、前記不使用機能マクロ内のメモリ領域を再配置したメモリ領域のアドレスが前記汎用メモリのメモリ領域のアドレスと連続するように前記不使用機能マクロ内のメモリ領域を再配置することを特徴とする請求項１記載の半導体集積回路装置。
【請求項３】
前記制御回路は、
前記不使用機能マクロを選択するためのレジスタを有し、前記レジスタの設定値に基づいて、前記不使用機能マクロに対して機能マクロとしての使用を不可とするマクロ使用不可信号を出力すると共に、前記不使用機能マクロを指示するマクロ指示信号を出力するマクロ選択レジスタ回路と、
前記マクロ指示信号をデコードして、前記不使用機能マクロ内のメモリ領域を再配置するメモリ領域を指示する再配置メモリ領域指示信号を出力する再配置メモリ領域デコード回路と、
前記ＣＰＵが出力するアドレス信号と前記マクロ指示信号と前記再配置メモリ領域指示信号を入力して、前記ＣＰＵが前記不使用機能マクロ内のメモリ領域を再配置したメモリ領域にアクセスした場合は、対応する不使用機能マクロに対して、前記ＣＰＵがアクセスしたメモリ領域のアドレスの上位所定ビットを指示する再配置メモリ領域アドレス指示信号を出力するアドレスデコード回路
を有することを特徴とする請求項１又は２記載の半導体集積回路装置。
【請求項４】
前記レジスタの設定値は、製造時に固定的に設定されていることを特徴とする請求項３記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコントローラ等、ＣＰＵ（central processing unit）と汎用メモリと機能マクロを有する半導体集積回路装置に関する。
【背景技術】
【０００２】
例えば、マイクロコントローラにはＣＰＵやＣＰＵによりデータメモリや作業用メモリ等として汎用的に使用するＲＡＭ（random access memory）の他に、例えば、通信用インタフェースやカウンタ等の機能マクロが搭載されるが、近年、マイクロコントローラでは多機能化が進んでおり、数多くの機能マクロが搭載されると共に、ソフトウエアの比重が大きくなり、汎用メモリであるＲＡＭの容量増加が求められている。
【特許文献１】特開昭６２−９８４４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このように、多機能化が進むマイクロコントローラでは、汎用メモリであるＲＡＭの容量増加が求められているが、これに応えてＲＡＭの容量を増加すると、ＲＡＭの物理サイズは大きいので、チップサイズが大きくなり、マイクロコントローラの小型化の要求に応えられないという問題点があった。
【０００４】
本発明は、かかる点に鑑み、機能マクロ内のメモリ領域を活用することにより、ＣＰＵが汎用メモリ領域として使用することができるメモリ領域を拡張し、汎用メモリの容量を増加することなく、チップサイズの増大化を最小限に抑えて、汎用メモリ容量の増大化要求に対応することができるようにした半導体集積回路装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、ＣＰＵと、汎用メモリと、１以上の機能マクロを有する半導体集積回路装置において、前記１以上の機能マクロ中の不使用機能マクロ内のメモリ領域のアドレスを変更して、前記不使用機能マクロ内のメモリ領域を前記ＣＰＵが汎用メモリ領域としてアクセス可能なメモリ領域に再配置する制御回路を有するものである。
【発明の効果】
【０００６】
本発明によれば、制御回路により、不使用機能マクロ内のメモリ領域のアドレスを変更して、不使用機能マクロ内のメモリ領域をＣＰＵが汎用メモリ領域としてアクセス可能なメモリ領域に再配置することができるので、機能マクロ内のメモリ領域を活用することにより、ＣＰＵが汎用メモリ領域として使用することができるメモリ領域を拡張し、チップサイズの増大化を最小限に抑えて汎用メモリ容量の増大化要求に対応することができる。
【発明を実施するための最良の形態】
【０００７】
図１は本発明の一実施形態の要部を示す回路図である。本発明の一実施形態はマイクロコントローラの例であり、図１中、１０はＣＰＵ及びバスインタフェース回路等を有するＣＰＵコアであり、１１はＣＰＵである。
【０００８】
１２はプログラム格納用やＣＰＵ１１によりデータメモリや作業用メモリ等として汎用的に使用されるＲＡＭ、１３〜１５は通信用インタフェースやカウンタ等の機能マクロ、１６はアドレスバス及びデータバスを含むアドレス／データバスである。
【０００９】
１７は機能マクロ１３〜１５のうち、ＣＰＵ１１が機能マクロとしては使用しないものとして選択した機能マクロ内のレジスタやデータ用メモリ等のＣＰＵ１１がアクセス可能なメモリ領域のアドレスを変更して、ＣＰＵ１１が汎用的に使用するＲＡＭ領域としてアクセス可能なメモリ領域に再配置するための制御を行う機能マクロ内メモリ領域再配置制御回路である。
【００１０】
図２は本発明の一実施形態が有するメモリ空間を示す図である。図２中、１８はＲＡＭ１２のメモリ領域、１９はＣＰＵ１１がアクセス可能な機能マクロ１３内のメモリ領域、２０はＣＰＵ１１がアクセス可能な機能マクロ１４内のメモリ領域、２１はＣＰＵ１１がアクセス可能な機能マクロ１５内のメモリ領域、２２〜２４はＣＰＵ１１が機能マクロとしては使用しないものとして選択した機能マクロ内のメモリ領域を再配置するために空けられているメモリ領域である再配置メモリ領域である。
【００１１】
また、ａａａａ００ｈ〜ａａａａ０Ｆｈ（但し、ｈは１６進数表示であることを示す記号であり、以下、同様である。）は機能マクロ１３内のメモリ領域１９に与えられたアドレス、ａａａａ１０ｈ〜ａａａａ１Ｆｈは機能マクロ１４内のメモリ領域２０に与えられたアドレス、ａａａａ２０ｈ〜ａａａａ２Ｆｈは機能マクロ１５内のメモリ領域２１に与えられたアドレスである。但し、ａａａａは任意の値であり、本例では、機能マクロ１３〜１５内のメモリ領域１９〜２１はそれぞれ１６個のアドレスを有している場合を例にしている。
【００１２】
また、ｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈは再配置メモリ領域２２に与えられたアドレス、ｘｘｘｘ１０ｈ〜ｘｘｘｘ１Ｆｈは再配置メモリ領域２３に与えられたアドレス、ｘｘｘｘ２０ｈ〜ｘｘｘｘ２Ｆｈは再配置メモリ領域２４に与えられたアドレスである。但し、ｘｘｘｘはａａａａとは異なる値である。
【００１３】
また、図１中、機能マクロ内メモリ領域再配置制御回路１７において、２５はマクロ選択レジスタ回路、２６はマクロ選択レジスタ回路２５内の３ビット構成のレジスタ、２７は再配置メモリ領域デコード回路、２８はアドレスデコード回路である。
【００１４】
レジスタ２６は、機能マクロとしては使用しない機能マクロを選択するために必要な値をＣＰＵ１１が書き込むためのレジスタであり、マクロ選択レジスタ回路２５は、ＣＰＵ１１がレジスタ２６に書き込んだ値に基づいて、１ビット構成の３個のマクロ使用不可信号Ｓ１〜Ｓ３と、３ビット構成のマクロ指示信号Ｓ４を出力するものである。
【００１５】
マクロ使用不可信号Ｓ１は、機能マクロ１３に与えられる信号であり、“１”を有効状態とし、“０”を無効状態とするものである。マクロ使用不可信号Ｓ１＝“０”の場合、機能マクロ１３は機能マクロとしての使用が可能とされるが、マクロ使用不可信号Ｓ１＝“１”の場合には、機能マクロ１３は、機能マクロとしての使用が不可とされ、アドレスａａａａ００ｈ〜ａａａａ０Ｆｈに対するアクセスは不可とされる。
【００１６】
マクロ使用不可信号Ｓ２は、機能マクロ１４に与えられる信号であり、“１”を有効状態とし、“０”を無効状態とするものである。マクロ使用不可信号Ｓ２＝“０”の場合、機能マクロ１４は機能マクロとしての使用が可能とされるが、マクロ使用不可信号Ｓ２＝“１”の場合には、機能マクロ１４は、機能マクロとしての使用が不可とされ、アドレスａａａａ１０ｈ〜ａａａａ１Ｆｈに対するアクセスは不可とされる。
【００１７】
マクロ使用不可信号Ｓ３は、機能マクロ１５に与えられる信号であり、“１”を有効状態とし、“０”を無効状態とするものである。マクロ使用不可信号Ｓ３＝“０”の場合、機能マクロ１５は機能マクロとしての使用が可能とされるが、マクロ使用不可信号Ｓ３＝“１”の場合には、機能マクロ１５は、機能マクロとしての使用が不可とされ、アドレスａａａａ２０ｈ〜ａａａａ２Ｆｈに対するアクセスは不可とされる。
【００１８】
マクロ指示信号Ｓ４は、メモリ領域を再配置する機能マクロを指示する信号であり、どの機能マクロも指示しない場合は“０００”、機能マクロ１３のみを指示する場合は“１００”、機能マクロ１４のみを指示する場合は“０１０”、機能マクロ１５のみを指示する場合は“００１”、機能マクロ１３、１４を指示する場合は“１１０”、機能マクロ１３、１５を指示する場合は“１０１”、機能マクロ１４、１５を指示する場合は“０１１”、機能マクロ１３、１４、１５を指示する場合は“１１１”となる信号である。
【００１９】
図３はマクロ選択レジスタ回路２５の機能を示す表図であり、ＣＰＵ１１がマクロ選択レジスタ回路２５のレジスタ２６に設定した値と、マクロ選択レジスタ回路２５が出力するマクロ使用不可信号Ｓ１〜Ｓ３と、マクロ指示信号Ｓ４との関係を示している。即ち、マクロ選択レジスタ回路２５は、図３に示す機能を有するように構成される。
【００２０】
本例では、レジスタ２６の設定値＝“０００”とされる場合は、マクロ使用不可信号Ｓ１＝“０”、Ｓ２＝“０”、Ｓ３＝“０”となり、機能マクロ１３、１４、１５は機能マクロとして使用が可能とされると共に、マクロ指示信号Ｓ４＝“０００”となり、メモリ領域を再配置する機能マクロとして、どの機能マクロも指示されない。
【００２１】
これに対して、レジスタ２６の設定値＝“１００”の場合は、マクロ使用不可信号Ｓ１＝“１”、Ｓ２＝“０”、Ｓ３＝“０”、マクロ指示信号Ｓ４＝“１００”となり、機能マクロ１３は、機能マクロとしての使用が不可とされると共に、メモリ領域を再配置する機能マクロとして指示される。
【００２２】
また、レジスタ２６の設定値＝“０１０”の場合は、マクロ使用不可信号Ｓ１＝“０”、Ｓ２＝“１”、Ｓ３＝“０”、マクロ指示信号Ｓ４＝“０１０”となり、機能マクロ１４は、機能マクロとしての使用が不可とされると共に、メモリ領域を再配置する機能マクロとして指示される。
【００２３】
また、レジスタ２６の設定値＝“００１”の場合は、マクロ使用不可信号Ｓ１＝“０”、Ｓ２＝“０”、Ｓ３＝“１”、マクロ指示信号Ｓ４＝“００１”となり、機能マクロ１５は、機能マクロとしての使用が不可とされると共に、メモリ領域を再配置する機能マクロとして指示される。
【００２４】
また、レジスタ２６の設定値＝“１１０”の場合は、マクロ使用不可信号Ｓ１＝“１”、Ｓ２＝“１”、Ｓ３＝“０”、マクロ指示信号Ｓ４＝“１１０”となり、機能マクロ１３、１４は、機能マクロとしての使用が不可とされると共に、メモリ領域を再配置する機能マクロとして指示される。
【００２５】
また、レジスタ２６の設定値＝“１０１”の場合は、マクロ使用不可信号Ｓ１＝“１”、Ｓ２＝“０”、Ｓ３＝“１”、マクロ指示信号Ｓ４＝“１０１”となり、機能マクロ１３、１５は、機能マクロとしての使用が不可とされると共に、メモリ領域を再配置する機能マクロとして指示される。
【００２６】
また、レジスタ２６の設定値＝“０１１”の場合は、マクロ使用不可信号Ｓ１＝“０”、Ｓ２＝“１”、Ｓ３＝“１”、マクロ指示信号Ｓ４＝“０１１”となり、機能マクロ１４、１５は、機能マクロとしての使用が不可とされると共に、メモリ領域を再配置する機能マクロとして指示される。
【００２７】
また、レジスタ２６の設定値＝“１１１”の場合は、マクロ使用不可信号Ｓ１＝“１”、Ｓ２＝“１”、Ｓ３＝“１”、マクロ指示信号Ｓ４＝“１１１”となり、機能マクロ１３、１４、１５は、機能マクロとしての使用が不可とされると共に、メモリ領域を再配置する機能マクロとして指示される。
【００２８】
したがって、本発明の一実施形態では、ＣＰＵ１１は、機能マクロ１３のみを不使用とする場合には、レジスタ２６に“１００”を書き込み、機能マクロ１４のみを不使用とする場合には、レジスタ２６に“０１０”を書き込み、機能マクロ１５のみを不使用とする場合には、レジスタ２６に“００１”を書き込むことになる。
【００２９】
また、ＣＰＵ１１は、機能マクロ１３、１４を不使用とする場合には、レジスタ２６に“１１０”を書き込み、機能マクロ１３、１５を不使用とする場合には、レジスタ２６に“１０１”を書き込み、機能マクロ１４、１５を不使用とする場合には、レジスタ２６に“０１１”を書き込み、機能マクロ１３、１４、１５を不使用とする場合には、レジスタ２６に“１１１”を書き込むことになる。
【００３０】
再配置メモリ領域デコード回路２７は、マクロ選択レジスタ回路２５が出力するマクロ指示信号Ｓ４をデコードして、機能マクロ１３〜１５のうち、ＣＰＵ１１が不使用とした機能マクロ内のメモリ領域を再配置する再配置メモリ領域を指示する３ビット構成の再配置メモリ領域指示信号Ｓ５を生成してアドレスデコード回路２８に対して出力するものである。
【００３１】
再配置メモリ領域指示信号Ｓ５は、“０００”、“１００”、“１１０”又は“１１１”を取り、“０００”の場合は再配置メモリ領域を指示せず、“１００”の場合は再配置メモリ領域２２を指示し、“１１０”の場合は再配置メモリ領域２２、２３を指示し、“１１１”の場合は再配置メモリ領域２２、２３、２４を指示する信号である。
【００３２】
図４は再配置メモリ領域デコード回路２７の構成を示す回路図である。図４中、２９はマクロ指示信号Ｓ４の２2の桁の値ｂ２と２1の桁の値ｂ１と２0の桁の値ｂ０とをＯＲ処理して再配置メモリ領域指示信号Ｓ５の２2の桁の値ｃ２を出力するＯＲ回路である。
【００３３】
３０はマクロ指示信号Ｓ４の２0の桁の値ｂ０を反転するインバータ、３１はマクロ指示信号Ｓ４の２2の桁の値ｂ２と２1の桁の値ｂ１とインバータ３０の出力とをＡＮＤ処理するＡＮＤ回路である。
【００３４】
３２はマクロ指示信号Ｓ４の２1の桁の値ｂ１を反転するインバータ、３３はマクロ指示信号Ｓ４の２2の桁の値ｂ２と２0の桁の値ｂ０とインバータ３２の出力とをＡＮＤ処理するＡＮＤ回路である。
【００３５】
３４はマクロ指示信号Ｓ４の２2の桁の値ｂ２を反転するインバータ、３５はマクロ指示信号Ｓ４の２1の桁の値ｂ１と２0の桁の値ｂ０とインバータ３４の出力とをＡＮＤ処理するＡＮＤ回路である。
【００３６】
３６はマクロ指示信号Ｓ４の２2の桁の値ｂ２と２1の桁の値ｂ１と２0の桁の値ｂ０とをＡＮＤ処理して再配置メモリ領域指示信号Ｓ５の２0の桁の値ｃ０を出力するＡＮＤ回路、３７はＡＮＤ回路３１、３３、３５、３６の出力をＯＲ処理して再配置メモリ領域指示信号Ｓ５の２1の桁の値ｃ１を出力するＯＲ回路である。
【００３７】
図５は再配置メモリ領域デコード回路２７の機能を示す表図であり、マクロ選択レジスタ回路２５が出力するマクロ指示信号Ｓ４と、再配置メモリ領域デコード回路２７が出力する再配置メモリ領域指示信号Ｓ５との関係を示している。
【００３８】
即ち、本例では、マクロ指示信号Ｓ４＝“０００”の場合は、再配置メモリ領域指示信号Ｓ５＝“０００”となり、再配置メモリ領域が指示されることはない。これに対して、マクロ指示信号Ｓ４＝“１００”、“０１０”又は“００１”の場合は、再配置メモリ領域指示信号Ｓ５＝“１００”となり、再配置メモリ領域２２が指示される。
【００３９】
また、マクロ指示信号Ｓ４＝“１１０”、“１０１”又は“０１１”の場合は、再配置メモリ領域指示信号Ｓ５＝“１１０”となり、再配置メモリ領域２２、２３が指示される。また、マクロ指示信号Ｓ４＝“１１１”の場合は、再配置メモリ領域指示信号Ｓ５＝“１１１”となり、再配置メモリ領域２２、２３、２４が指示される。
【００４０】
アドレスデコード回路２８は、マクロ選択レジスタ回路２５が出力するマクロ指示信号Ｓ４と、再配置メモリ領域デコード回路２７が出力する再配置メモリ領域指示信号Ｓ５と、ＣＰＵ１１が出力するアドレス信号を入力し、ＣＰＵ１１が出力するアドレス信号をデコードして、機能マクロ１３、１４、１５に対して再配置メモリ領域アドレス指示信号Ｓ６、Ｓ７、Ｓ８を出力するものである。
【００４１】
再配置メモリ領域アドレス指示信号Ｓ６、Ｓ７、Ｓ８は、“１”を有効状態、“０”を無効状態とし、有効状態の場合に再配置メモリ領域のアドレスを指示する信号として機能するものであり、再配置メモリ領域アドレス指示信号Ｓ６は機能マクロ１３に与えられ、再配置メモリ領域アドレス指示信号Ｓ７は機能マクロ１４に与えられ、再配置メモリ領域アドレス指示信号Ｓ８は機能マクロ１５に与えられる。
【００４２】
本例では、再配置メモリ領域アドレス指示信号Ｓ６＝“１”の場合には、ＣＰＵ１１が機能マクロ１３内のメモリ領域１９が再配置された再配置メモリ領域にアクセスしたことを意味する。但し、マクロ使用不可信号Ｓ１＝“０”とされ、機能マクロ１３が機能マクロとして使用される場合は、再配置メモリ領域アドレス指示信号Ｓ６＝“１”となることはない。
【００４３】
また、再配置メモリ領域アドレス指示信号Ｓ７＝“１”の場合には、ＣＰＵ１１が機能マクロ１４内のメモリ領域２０が再配置された再配置メモリ領域にアクセスしたことを意味する。但し、マクロ使用不可信号Ｓ２＝“０”とされ、機能マクロ１４が機能マクロとして使用される場合は、再配置メモリ領域アドレス指示信号Ｓ７＝“１”となることはない。
【００４４】
また、再配置メモリ領域アドレス指示信号Ｓ８＝“１”の場合には、ＣＰＵ１１が機能マクロ１５内のメモリ領域２１が再配置された再配置メモリ領域にアクセスしたことを意味する。但し、マクロ使用不可信号Ｓ３＝“０”とされ、機能マクロ１５が機能マクロとして使用される場合は、再配置メモリ領域アドレス指示信号Ｓ８＝“１”となることはない。
【００４５】
本例では、機能マクロ１３は、マクロ使用不可信号Ｓ１＝“１”、再配置メモリ領域アドレス指示信号Ｓ６＝“１”とされた場合には、ＣＰＵ１１がアクセスした再配置メモリ領域のアドレスの上位２０ビット部分（図２に示すｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈの上位ｘｘｘｘ０の部分）は、再配置メモリ領域アドレス指示信号Ｓ６により指示されたものとし、下位４ビットをアドレス／データバス１６のアドレスバスから取得し、ＣＰＵ１１による機能マクロ１３内のメモリ領域１９へのアクセスを可能とするように構成される。
【００４６】
また、機能マクロ１４は、マクロ使用不可信号Ｓ２＝“１”、再配置メモリ領域アドレス指示信号Ｓ７＝“１”とされた場合には、ＣＰＵ１１がアクセスした再配置メモリ領域のアドレスの上位２０ビット部分（図２に示すｘｘｘｘ００ｈ〜ｘｘｘｘ１Ｆｈの上位ｘｘｘｘ０又はｘｘｘｘ１の部分）は、再配置メモリ領域アドレス指示信号Ｓ７により指示されたものとし、下位８ビットをアドレス／データバス１６のアドレスバスから取得し、ＣＰＵ１１による機能マクロ１４内のメモリ領域２０へのアクセスを可能とするように構成される。
【００４７】
また、機能マクロ１５は、マクロ使用不可信号Ｓ３＝“１”、再配置メモリ領域アドレス指示信号Ｓ８＝“１”とされた場合には、ＣＰＵ１１がアクセスした再配置メモリ領域のアドレスの上位２０ビット部分（図２に示すｘｘｘｘ００ｈ〜ｘｘｘｘ２Ｆｈの上位ｘｘｘｘ０、ｘｘｘｘ１又はｘｘｘｘ２の部分）は、再配置メモリ領域アドレス指示信号Ｓ８により指示されたものとし、下位８ビットをアドレス／データバス１６のアドレスバスから取得し、ＣＰＵ１１による機能マクロ１５内のメモリ領域２１へのアクセスを可能とするように構成される。
【００４８】
図６はアドレスデコード回路２８の構成を示す回路図である。図６中、３８は再配置メモリ領域アドレスデコード回路、３９はアクセス先再配置メモリ領域確定信号生成回路、４０は再配置メモリ領域アドレス指示信号生成回路である。
【００４９】
再配置メモリ領域アドレスデコード回路３８は、ＣＰＵ１１がアドレスバスに出力したアドレス信号をデコードして再配置メモリ領域アクセス信号Ｓ９、Ｓ１０、Ｓ１１を出力するものである。
【００５０】
図７は再配置メモリ領域アドレスデコード回路３８の機能を示す表図であり、ＣＰＵ１１のアクセス先と再配置メモリ領域アクセス信号Ｓ９、Ｓ１０、Ｓ１１との関係を示しており、再配置メモリ領域アドレスデコード回路３８は図７に示す機能を有するように構成される。
【００５１】
本例では、ＣＰＵ１１がアドレスバスにｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈ内のアドレスを指示するアドレス信号を出力して再配置メモリ領域２２にアクセスすると、再配置メモリ領域アクセス信号Ｓ９＝“１”、Ｓ１０＝“０”、Ｓ１１＝“０”となる。
【００５２】
また、ＣＰＵ１１がアドレスバスにｘｘｘｘ１０ｈ〜ｘｘｘｘ１Ｆｈ内のアドレスを指示するアドレス信号を出力して再配置メモリ領域２３にアクセスすると、再配置メモリ領域アクセス信号Ｓ９＝“０”、Ｓ１０＝“１”、Ｓ１１＝“０”となる。
【００５３】
また、ＣＰＵ１１がアドレスバスにｘｘｘｘ２０ｈ〜ｘｘｘｘ２Ｆｈ内のアドレスを指示するアドレス信号を出力して再配置メモリ領域２４にアクセスすると、再配置メモリ領域アクセス信号Ｓ９＝“０”、Ｓ１０＝“０”、Ｓ１１＝“１”となる。
【００５４】
また、ＣＰＵ１１がアドレスバスにｘｘｘｘ００ｈ〜ｘｘｘｘ２Ｆｈ以外のアドレスを指示するアドレス信号を出力して再配置メモリ領域２２〜２４以外にアクセスすると、再配置メモリ領域アクセス信号Ｓ９＝“０”、Ｓ１０＝“０”、Ｓ１１＝“０”となる。
【００５５】
また、図６中、アクセス先再配置メモリ領域確定信号生成回路３９において、４１〜４３はＡＮＤ回路である。ＡＮＤ回路４１は、再配置メモリ領域指示信号Ｓ５の２2の桁の値ｃ２と再配置メモリ領域アクセス信号Ｓ９とをＡＮＤ処理してアクセス先再配置メモリ領域確定信号ＳＥＣ１を出力するものである。
【００５６】
ＡＮＤ回路４２は、再配置メモリ領域指示信号Ｓ５の２1の桁の値ｃ１と再配置メモリ領域アクセス信号Ｓ１０とをＡＮＤ処理してアクセス先再配置メモリ領域確定信号ＳＥＣ２を出力するものである。
【００５７】
ＡＮＤ回路４３は、再配置メモリ領域指示信号Ｓ５の２0の桁の値ｃ０と再配置メモリ領域アクセス信号Ｓ１１とをＡＮＤ処理してアクセス先再配置メモリ領域確定信号ＳＥＣ３を出力するものである。
【００５８】
図８はアクセス先再配置メモリ領域確定信号生成回路３９の機能を示す表図であり、再配置メモリ領域アドレスデコード回路３８が出力する再配置メモリ領域アクセス信号Ｓ９、Ｓ１０、Ｓ１１と、再配置メモリ領域指示信号Ｓ５と、アクセス先再配置メモリ領域確定信号ＳＥＣ１、ＳＥＣ２、ＳＥＣ３との関係を示している。
【００５９】
本例では、再配置メモリ領域指示信号Ｓ５＝“１００”、“１１０”又は“１１１”の場合において、再配置メモリ領域アクセス信号Ｓ９＝“１”になると、アクセス先再配置メモリ領域確定信号ＳＥＣ１＝“１”、ＳＥＣ２＝“０”、ＳＥＣ３＝“０”となる。
【００６０】
また、再配置メモリ領域指示信号Ｓ５＝“１１０”又は“１１１”の場合において、再配置メモリ領域アクセス信号Ｓ１０＝“１”になると、アクセス先再配置メモリ領域確定信号ＳＥＣ１＝“０”、ＳＥＣ２＝“１”、ＳＥＣ３＝“０”となる。
【００６１】
また、再配置メモリ領域指示信号Ｓ５＝“１１１”の場合において、再配置メモリ領域アクセス信号Ｓ１１＝“１”になると、アクセス先再配置メモリ領域確定信号ＳＥＣ１＝“０”、ＳＥＣ２＝“０”、ＳＥＣ３＝“１”となる。その他の場合は、アクセス先再配置メモリ領域確定信号ＳＥＣ１＝“０”、ＳＥＣ２＝“０”、ＳＥＣ３＝“０”となる。
【００６２】
また、図６中、再配置メモリ領域アドレス指示信号生成回路４０において、４４はマクロ指示信号Ｓ４の２2の桁の値ｂ２とアクセス先再配置メモリ領域確定信号ＳＥＣ１とをＡＮＤ処理して再配置メモリ領域アドレス指示信号Ｓ６を出力するＡＮＤ回路である。
【００６３】
また、４５はマクロ指示信号Ｓ４の２2の桁の値ｂ２を反転するインバータ、４６はインバータ４５の出力とアクセス先再配置メモリ領域確定信号ＳＥＣ１とをＡＮＤ処理するＡＮＤ回路、４７はマクロ指示信号Ｓ４の２2の桁の値ｂ２とアクセス先再配置メモリ領域確定信号ＳＥＣ２とをＡＮＤ処理するＡＮＤ回路である。
【００６４】
４８はＡＮＤ回路４６の出力とＡＮＤ回路４７の出力とをＯＲ処理するＯＲ回路、４９はマクロ指示信号Ｓ４の２1の桁の値ｂ１とＯＲ回路４８の出力とをＡＮＤ処理して再配置メモリ領域アドレス指示信号Ｓ７を出力するＡＮＤ回路である。
【００６５】
５０はマクロ指示信号Ｓ４の２2の桁の値ｂ２を反転するインバータ、５１はマクロ指示信号Ｓ４の２1の桁の値ｂ１を反転するインバータ、５２はインバータ５０、５１の出力とアクセス先再配置メモリ領域確定信号ＳＥＣ１とをＡＮＤ処理するＡＮＤ回路である。
【００６６】
５３はマクロ指示信号Ｓ４の２1の桁の値ｂ１を反転するインバータ、５４はインバータ５３の出力とアクセス先再配置メモリ領域確定信号ＳＥＣ２とをＡＮＤ処理するＡＮＤ回路である。
【００６７】
５５はマクロ指示信号Ｓ４の２2の桁の値ｂ２を反転するインバータ、５６はマクロ指示信号Ｓ４の２1の桁の値ｂ１とインバータ５５の出力とアクセス先再配置メモリ領域確定信号ＳＥＣ２とをＡＮＤ処理するＡＮＤ回路である。
【００６８】
５７はＡＮＤ回路５２、５４、５６の出力とアクセス先再配置メモリ領域確定信号ＳＥＣ３とをＯＲ処理するＯＲ回路、５８はマクロ指示信号Ｓ４の２0の桁の値ｂ０とＯＲ回路５７の出力とをＡＮＤ処理して再配置メモリ領域アドレス指示信号Ｓ８を出力するＡＮＤ回路である。
【００６９】
図９は再配置メモリ領域アドレス指示信号生成回路４０の機能を示す表図であり、アクセス先再配置メモリ領域確定信号ＳＥＣ１、ＳＥＣ２、ＳＥＣ３と、マクロ指示信号Ｓ４と再配置メモリ領域アドレス指示信号Ｓ６、Ｓ７、Ｓ８との関係を示している。
【００７０】
本例では、マクロ指示信号Ｓ４が“１００”、“１１０”、“１０１”又は“１１１”の場合において、アクセス先再配置メモリ領域確定信号ＳＥＣ１＝“１”となると、再配置メモリ領域アドレス指示信号Ｓ６＝“１”、Ｓ７＝“０”、Ｓ８＝“０”となる。
【００７１】
また、マクロ指示信号Ｓ４が“０１０又は“０１１”の場合において、アクセス先再配置メモリ領域確定信号ＳＥＣ１＝“１”となると、再配置メモリ領域アドレス指示信号Ｓ６＝“０”、Ｓ７＝“１”、Ｓ８＝“０”となる。
【００７２】
また、マクロ指示信号Ｓ４が“００１”の場合において、アクセス先再配置メモリ領域確定信号ＳＥＣ１＝“１”となると、再配置メモリ領域アドレス指示信号Ｓ６＝“０”、Ｓ７＝“０”、Ｓ８＝“１”となる。
【００７３】
また、マクロ指示信号Ｓ４が“１１０又は“１１１”の場合において、アクセス先再配置メモリ領域確定信号ＳＥＣ２＝“１”となると、再配置メモリ領域アドレス指示信号Ｓ６＝“０”、Ｓ７＝“１”、Ｓ８＝“０”となる。
【００７４】
また、マクロ指示信号Ｓ４が“１０１”又は“０１１の場合において、アクセス先再配置メモリ領域確定信号ＳＥＣ２＝“１”となると、再配置メモリ領域アドレス指示信号Ｓ６＝“０”、Ｓ７＝“０”、Ｓ８＝“１”となる。
【００７５】
また、マクロ指示信号Ｓ４が“１１１”の場合において、アクセス先再配置メモリ領域確定信号ＳＥＣ３＝“１”となると、再配置メモリ領域アドレス指示信号Ｓ６＝“０”、Ｓ７＝“０”、Ｓ８＝“１”となる。
【００７６】
したがって、アドレスデコード回路２８の機能は、図１０に示すようになる。即ち、マクロ指示信号Ｓ４＝“１００”で、再配置メモリ領域指示信号Ｓ５＝“１００”とされている場合において、ＣＰＵ１１が再配置メモリ領域２２（アドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈ）をアクセスすると、再配置メモリ領域アドレス指示信号Ｓ６＝“１”、Ｓ７＝“０”、Ｓ８＝“０”となる。
【００７７】
また、マクロ指示信号Ｓ４＝“１１０”又は“１０１”で、再配置メモリ領域指示信号Ｓ５＝“１１０”とされている場合において、ＣＰＵ１１が再配置メモリ領域２２（アドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈ）をアクセスすると、再配置メモリ領域アドレス指示信号Ｓ６＝“１”、Ｓ７＝“０”、Ｓ８＝“０”となる。
【００７８】
また、マクロ指示信号Ｓ４＝“１１１”で、再配置メモリ領域指示信号Ｓ５＝“１１１”とされている場合において、ＣＰＵ１１が再配置メモリ領域２２（アドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈ）をアクセスすると、再配置メモリ領域アドレス指示信号Ｓ６＝“１”、Ｓ７＝“０”、Ｓ８＝“０”となる。
【００７９】
これらの場合、機能マクロ１３は、ＣＰＵ１１がアクセスした再配置メモリ領域のアドレスの上位２０ビット部分は、再配置メモリ領域アドレス指示信号Ｓ６により指示されたものとし、下位４ビットをアドレス／データバス１６のアドレスバスから取得し、アドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０ＦｈのＲＡＭ領域として機能することになる。
【００８０】
また、マクロ指示信号Ｓ４＝“０１０”で、再配置メモリ領域指示信号Ｓ５＝“１００”とされている場合において、ＣＰＵ１１が再配置メモリ領域２２（アドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈ）をアクセスすると、再配置メモリ領域アドレス指示信号Ｓ６＝“０”、Ｓ７＝“１”、Ｓ８＝“０”となる。
【００８１】
また、マクロ指示信号Ｓ４＝“０１１”で、再配置メモリ領域指示信号Ｓ５＝“１１０”とされている場合において、ＣＰＵ１１が再配置メモリ領域２２（アドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈ）をアクセスすると、再配置メモリ領域アドレス指示信号Ｓ６＝“０”、Ｓ７＝“１”、Ｓ８＝“０”となる。
【００８２】
これらの場合、機能マクロ１４は、ＣＰＵ１１がアクセスした再配置メモリ領域のアドレスの上位２０ビット部分は、再配置メモリ領域アドレス指示信号Ｓ７により指示されたものとし、下位４ビットをアドレス／データバス１６のアドレスバスから取得し、アドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０ＦｈのＲＡＭ領域として機能することになる。
【００８３】
また、マクロ指示信号Ｓ４＝“００１”で、再配置メモリ領域指示信号Ｓ５＝“１００”とされている場合において、ＣＰＵ１１が再配置メモリ領域２２（アドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈ）をアクセスすると、再配置メモリ領域アドレス指示信号Ｓ６＝“０”、Ｓ７＝“０”、Ｓ８＝“１”となる。
【００８４】
この場合、機能マクロ１５は、ＣＰＵ１１がアクセスした再配置メモリ領域のアドレスの上位２０ビット部分は、再配置メモリ領域アドレス指示信号Ｓ８により指示されたものとし、下位４ビットをアドレス／データバス１６のアドレスバスから取得し、アドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０ＦｈのＲＡＭ領域として機能することになる。
【００８５】
また、マクロ指示信号Ｓ４＝“１１０”で、再配置メモリ領域指示信号Ｓ５＝“１１０”とされている場合において、ＣＰＵ１１が再配置メモリ領域２３（アドレスｘｘｘｘ１０ｈ〜ｘｘｘｘ１Ｆｈ）をアクセスすると、再配置メモリ領域アドレス指示信号Ｓ６＝“０”、Ｓ７＝“１”、Ｓ８＝“０”となる。
【００８６】
また、マクロ指示信号Ｓ４＝“１１１”で、再配置メモリ領域指示信号Ｓ５＝“１１１”とされている場合において、ＣＰＵ１１が再配置メモリ領域２３（アドレスｘｘｘｘ１０ｈ〜ｘｘｘｘ１Ｆｈ）をアクセスすると、再配置メモリ領域アドレス指示信号Ｓ６＝“０”、Ｓ７＝“１”、Ｓ８＝“０”となる。
【００８７】
これらの場合、機能マクロ１４は、ＣＰＵ１１がアクセスした再配置メモリ領域のアドレスの上位２０ビット部分は、再配置メモリ領域アドレス指示信号Ｓ７により指示されたものとし、下位４ビットをアドレス／データバス１６のアドレスバスから取得し、アドレスｘｘｘｘ１０ｈ〜ｘｘｘｘ１ＦｈのＲＡＭ領域として機能することになる。
【００８８】
また、マクロ指示信号Ｓ４＝“１０１”又は“０１１”で、再配置メモリ領域指示信号Ｓ５＝“１１０”とされている場合において、ＣＰＵ１１が再配置メモリ領域２３（アドレスｘｘｘｘ１０ｈ〜ｘｘｘｘ１Ｆｈ）をアクセスすると、再配置メモリ領域アドレス指示信号Ｓ６＝“０”、Ｓ７＝“０”、Ｓ８＝“１”となる。
【００８９】
この場合、機能マクロ１５は、ＣＰＵ１１がアクセスした再配置メモリ領域のアドレスの上位２０ビット部分は、再配置メモリ領域アドレス指示信号Ｓ８により指示されたものとし、下位４ビットをアドレス／データバス１６のアドレスバスから取得し、アドレスｘｘｘｘ１０ｈ〜ｘｘｘｘ１ＦｈのＲＡＭ領域として機能することになる。
【００９０】
また、マクロ指示信号Ｓ４＝“１１１”で、再配置メモリ領域指示信号Ｓ５＝“１１１”とされている場合において、ＣＰＵ１１が再配置メモリ領域２４（アドレスｘｘｘｘ２０ｈ〜ｘｘｘｘ２Ｆｈ）をアクセスすると、再配置メモリ領域アドレス指示信号Ｓ６＝“０”、Ｓ７＝“０”、Ｓ８＝“１”となる。
【００９１】
この場合、機能マクロ１５は、ＣＰＵ１１がアクセスした再配置メモリ領域のアドレスの上位２０ビット部分は、再配置メモリ領域アドレス指示信号Ｓ８により指示されたものとし、下位４ビットをアドレス／データバス１６のアドレスバスから取得し、アドレスｘｘｘｘ２０ｈ〜ｘｘｘｘ２ＦｈのＲＡＭ領域として機能することになる。
【００９２】
したがって、機能マクロ内メモリ領域再配置制御回路１７の機能は、図１１に示すようになる。即ち、レジスタ２６に“１００”を設定すると、機能マクロ１３内のメモリ領域１９のアドレスａａａａ００ｈ〜ａａａａ０Ｆｈをｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈに変更し、図１２（Ａ）に示すように、機能マクロ１３内のメモリ領域１９を再配置メモリ領域２２に再配置し、機能マクロ１３内のメモリ領域１９をアドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０ＦｈのＲＡＭ領域として使用することができる。
【００９３】
また、レジスタ２６に“０１０”を設定すると、機能マクロ１４内のメモリ領域２０のアドレスａａａａ１０ｈ〜ａａａａ１Ｆｈをｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈに変更し、図１２（Ｂ）に示すように、機能マクロ１４内のメモリ領域２０を再配置メモリ領域２２に再配置し、機能マクロ１４内のメモリ領域２０をアドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０ＦｈのＲＡＭ領域として使用することができる。
【００９４】
また、レジスタ２６に“００１”を設定すると、機能マクロ１５内のメモリ領域２１のアドレスａａａａ２０ｈ〜ａａａａ２Ｆｈをｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈに変更し、図１２（Ｃ）に示すように、機能マクロ１５内のメモリ領域２１を再配置メモリ領域２２に再配置し、機能マクロ１５内のメモリ領域２１をアドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０ＦｈのＲＡＭ領域として使用することができる。
【００９５】
また、レジスタ２６に“１１０”を設定すると、機能マクロ１３内のメモリ領域１９のアドレスａａａａ００ｈ〜ａａａａ０Ｆｈをｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈに、機能マクロ１４内のメモリ領域２０のアドレスａａａａ１０ｈ〜ａａａａ１Ｆｈをｘｘｘｘ１０ｈ〜ｘｘｘｘ１Ｆｈに変更し、図１２（Ｄ）に示すように、機能マクロ１３内のメモリ領域１９を再配置メモリ領域２２に、機能マクロ１４内のメモリ領域２０を再配置メモリ領域２３に再配置し、機能マクロ１３内のメモリ領域１９をアドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０ＦｈのＲＡＭ領域として使用し、機能マクロ１４内のメモリ領域２０をアドレスｘｘｘｘ１０ｈ〜ｘｘｘｘ１ＦｈのＲＡＭ領域として使用することができる。
【００９６】
また、レジスタ２６に“１０１”を設定すると、機能マクロ１３内のメモリ領域１９のアドレスａａａａ００ｈ〜ａａａａ０Ｆｈをｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈに、機能マクロ１５内のメモリ領域２１のアドレスａａａａ２０ｈ〜ａａａａ２Ｆｈをｘｘｘｘ１０ｈ〜ｘｘｘｘ１Ｆｈに変更し、図１３（Ａ）に示すように、機能マクロ１３内のメモリ領域１９を再配置メモリ領域２２に、機能マクロ１５内のメモリ領域２１を再配置メモリ領域２３に再配置し、機能マクロ１３内のメモリ領域１９をアドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０ＦｈのＲＡＭ領域として使用し、機能マクロ１５内のメモリ領域２１をアドレスｘｘｘｘ１０ｈ〜ｘｘｘｘ１ＦｈのＲＡＭ領域として使用することができる。
【００９７】
また、レジスタ２６に“０１１”を設定すると、機能マクロ１４内のメモリ領域２０のアドレスａａａａ１０ｈ〜ａａａａ１Ｆｈをｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈに、機能マクロ１５内のメモリ領域２１のアドレスａａａａ２０ｈ〜ａａａａ２Ｆｈをｘｘｘｘ１０ｈ〜ｘｘｘｘ１Ｆｈに変更し、図１３（Ｂ）に示すように、機能マクロ１４内のメモリ領域２０を再配置メモリ領域２２に、機能マクロ１５内のメモリ領域２１を再配置メモリ領域２３に再配置し、機能マクロ１４内のメモリ領域２０をアドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０ＦｈのＲＡＭ領域として使用し、機能マクロ１５内のメモリ領域２１をアドレスｘｘｘｘ１０ｈ〜ｘｘｘｘ１ＦｈのＲＡＭ領域として使用することができる。
【００９８】
また、レジスタ２６に“１１１”を設定すると、機能マクロ１３内のメモリ領域１９のアドレスａａａａ００ｈ〜ａａａａ０Ｆｈをｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈに、機能マクロ１４内のメモリ領域２０のアドレスａａａａ１０ｈ〜ａａａａ１Ｆｈをｘｘｘｘ１０ｈ〜ｘｘｘｘ１Ｆｈに、機能マクロ１５内のメモリ領域２１のアドレスａａａａ２０ｈ〜ａａａａ２Ｆｈをｘｘｘｘ２０ｈ〜ｘｘｘｘ２Ｆｈに変更し、図１３（Ｃ）に示すように、機能マクロ１３内のメモリ領域１９を再配置メモリ領域２２に、機能マクロ１４内のメモリ領域２０を再配置メモリ領域２３に、機能マクロ１５内のメモリ領域２１を再配置メモリ領域２４に再配置し、機能マクロ１３内のメモリ領域１９をアドレスｘｘｘｘ００ｈ〜ｘｘｘｘ０ＦｈのＲＡＭ領域として使用し、機能マクロ１４内のメモリ領域２０をアドレスｘｘｘｘ１０ｈ〜ｘｘｘｘ１ＦｈのＲＡＭ領域として使用し、機能マクロ１５内のメモリ領域２１をアドレスｘｘｘｘ２０ｈ〜ｘｘｘｘ２ＦｈのＲＡＭ領域として使用することができる。
【００９９】
以上のように、本発明の一実施形態によれば、機能マクロ内メモリ領域再配置制御回路１７により、機能マクロ１３、１４、１５のうち、不使用とする機能マクロ内のメモリ領域をＣＰＵ１１がＲＡＭ領域としてアクセス可能なメモリ領域に再配置することができるので、ＣＰＵ１１がＲＡＭ領域として使用することができるメモリ領域を拡張し、ＲＡＭ１２の容量を増加することなく、チップサイズの増大化を最小限に抑えて、ＲＡＭ容量の増大化要求に対応することができる。
【０１００】
また、本発明の一実施形態によれば、ＲＡＭ１２のメモリ領域１８のアドレスと再配置メモリ領域２２、２３、２４のアドレスが連続するように設定され、１個の機能マクロのメモリ領域を再配置する場合には再配置メモリ領域２２に再配置し、２個の機能マクロのメモリ領域を再配置する場合には再配置メモリ領域２２、２３に再配置し、３個の機能マクロのメモリ領域を再配置する場合には再配置メモリ領域２２〜２４に再配置するようにし、不使用機能マクロ内のメモリ領域を再配置したメモリ領域のアドレスがＲＡＭ１２のメモリ領域のアドレスと連続するように不使用機能マクロ内のメモリ領域を再配置するようにしているので、ＲＡＭ１２のメモリ領域１８から再配置メモリ領域に跨るプログラムを実行する場合も、アドレスの進行を連続して行うことができる。
【０１０１】
なお、本発明の一実施形態では、３個の機能マクロ１３〜１５を設けるようにした場合について説明したが、１個、２個又は４個以上の機能マクロを使用する場合にも適用することができる。例えば、５個の機能マクロを設ける場合において、図１４に示すように、ＲＡＭ領域としてアクセス可能な５個の再配置メモリ領域を空けておく場合には、最大５個の機能マクロ内のメモリ領域をＲＡＭ領域としてアクセス可能なメモリ領域にアクセスすることができる。
【０１０２】
図１４中、５９はＲＡＭのメモリ領域、６０は第１機能マクロ内のメモリ領域、６１は第２機能マクロ内のメモリ領域、６２は第３機能マクロ内のメモリ領域、６３は第４機能マクロ内のメモリ領域、６４は第５機能マクロ内のメモリ領域、６５〜６９は再配置メモリ領域である。
【０１０３】
また、ａａａａ００ｈ〜ａａａａ０Ｆｈは第１機能マクロ内のメモリ領域６０に与えられたアドレス、ａａａａ１０ｈ〜ａａａａ１Ｆｈは第２機能マクロ内のメモリ領域６１に与えられたアドレス、ａａａａ２０ｈ〜ａａａａ２Ｆｈは第３機能マクロ内のメモリ領域６２に与えられたアドレス、ａａａａ３０ｈ〜ａａａａ３Ｆｈは第４機能マクロ内のメモリ領域６３に与えられたアドレス、ａａａａ４０ｈ〜ａａａａ４Ｆｈは第５機能マクロ内のメモリ領域６４に与えられたアドレスである。
【０１０４】
また、ｘｘｘｘ００ｈ〜ｘｘｘｘ０Ｆｈは再配置メモリ領域６５に与えられたアドレス、ｘｘｘｘ１０ｈ〜ｘｘｘｘ１Ｆｈは再配置メモリ領域６６に与えられたアドレス、ｘｘｘｘ２０ｈ〜ｘｘｘｘ２Ｆｈは再配置メモリ領域６７に与えられたアドレス、ｘｘｘｘ３０ｈ〜ｘｘｘｘ３Ｆｈは再配置メモリ領域６８に与えられたアドレス、ｘｘｘｘ４０ｈ〜ｘｘｘｘ４Ｆｈは再配置メモリ領域６９に与えられたアドレスである。
【０１０５】
この場合も、本発明の一実施形態と同様に、ＲＡＭのメモリ領域のアドレスと連続するように不使用機能マクロ内のメモリ領域のアドレスを変更することが好適である。例えば、第２機能マクロ内のメモリ領域６１及び第４機能マクロ内のメモリ領域６３を再配置する場合には、第２機能マクロ内のメモリ領域６１を再配置メモリ領域６５に、第４機能マクロ内のメモリ領域６３を再配置メモリ領域６６に再配置することが好適である。なお、再配置メモリ領域の数は、機能マクロの数よりも少なくとも良い。
【０１０６】
また、本発明の一実施形態では、マクロ選択レジスタ回路２５にＣＰＵ１１が書込み可能なレジスタ２６を設けるようにした場合について説明したが、この代わりに、製造時に配線オプションによりレジスタ２６の値を固定的に設定するようにしても良い。
【図面の簡単な説明】
【０１０７】
【図１】本発明の一実施形態の要部を示す回路図である。
【図２】本発明の一実施形態が有するメモリ空間を示す図である。
【図３】本発明の一実施形態が備えるマクロ選択レジスタ回路の機能を示す表図である。
【図４】本発明の一実施形態が備える再配置メモリ領域デコード回路の構成を示す回路図である。
【図５】本発明の一実施形態が備える再配置メモリ領域デコード回路の機能を示す表図である。
【図６】本発明の一実施形態が備えるアドレスデコード回路の構成を示す回路図である。
【図７】本発明の一実施形態が備えるアドレスデコード回路内の再配置メモリ領域アドレスデコード回路の機能を示す表図である。
【図８】本発明の一実施形態が備えるアドレスデコード回路内のアクセス先再配置メモリ領域確定信号生成回路の機能を示す表図である。
【図９】本発明の一実施形態が備えるアドレスデコード回路内の再配置メモリ領域アドレス指示信号生成回路の機能を示す表図である。
【図１０】本発明の一実施形態が備えるアドレスデコード回路の機能を示す表図である。
【図１１】本発明の一実施形態が備える機能マクロ内メモリ領域再配置制御回路の機能を示す表図である。
【図１２】本発明の一実施形態が備える機能マクロ内メモリ領域再配置制御回路の機能を説明するための図である。
【図１３】本発明の一実施形態が備える機能マクロ内メモリ領域再配置制御回路の機能を説明するための図である。
【図１４】本発明の他の実施形態を説明するための図である。
【符号の説明】
【０１０８】
１０…ＣＰＵコア
１１…ＣＰＵ
１２…ＲＡＭ
１３〜１５…機能マクロ
１６…アドレス／データバス
１７…機能マクロ内メモリ領域再配置制御回路
１８…ＲＡＭのメモリ領域
１９〜２１…機能マクロ内のメモリ領域
２２〜２４…再配置メモリ領域
２５…マクロ選択レジスタ回路
２６…レジスタ
２７…再配置メモリ領域デコード回路
２８…アドレスデコード回路
３８…再配置メモリ領域アドレスデコード回路
３９…アクセス先再配置メモリ領域確定信号生成回路
４０…再配置メモリ領域アドレス指示信号生成回路
【図１】
2007213188.tif 000003
【図２】
2007213188.tif 000004
【図３】
2007213188.tif 000005
【図４】
2007213188.tif 000006
【図５】
2007213188.tif 000007
【図６】
2007213188.tif 000008
【図７】
2007213188.tif 000009
【図８】
2007213188.tif 000010
【図９】
2007213188.tif 000011
【図１０】
2007213188.tif 000012
【図１１】
2007213188.tif 000013
【図１２】
2007213188.tif 000014
【図１３】
2007213188.tif 000015
【図１４】
2007213188.tif 000016