(57)【要約】【課題】  外部メモリとのタイミング設計が容易な半導体集積回路装置を提供する。【解決手段】  半導体集積回路装置１０において、第１のメモリコントローラ１５を含むハードマクロ１２の外部に第２のメモリコントローラ１６を設け、第２のメモリコントローラ１６とＩＯパッド部１３との間の配線（第２の配線）の長さを、第１のメモリコントローラ１５とＩＯパッド部１３との間の配線（第１の配線）の長さより短くすると共に、第１のメモリコントローラ１５及び第２のメモリコントローラ１６の状態を有効及び無効のいずれか一方の状態に排他的に切換えるための切換信号を伝送する配線４０を設ける。【選択図】        図１
2005150201.tif 000002
【特許請求の範囲】
【請求項１】
外部メモリに対する入出力の制御を行う第１のメモリコントローラを含むハードマクロと、
前記ハードマクロ外部に設けられ、前記外部メモリに対する入出力の制御を行う第２のメモリコントローラと、
外部との間の電気的なインタフェースとして前記ハードマクロ外部に設けられたＩＯパッド部と、
前記第１のメモリコントローラと前記ＩＯパッド部とを接続する第１の配線と、
前記第２のメモリコントローラと前記ＩＯパッド部とを接続し、かつその長さが前記第１の配線の長さより短い第２の配線と、
を含む半導体集積回路装置。
【請求項２】
前記ハードマクロは、ＣＰＵを更に含む請求項１記載の半導体集積回路装置。
【請求項３】
外部から入力される、前記第１のメモリコントローラ及び前記第２のメモリコントローラの状態を有効及び無効のいずれか一方の状態に排他的に切換えるための信号を、前記第１のメモリコントローラ及び前記第２のメモリコントローラに伝送する第３の配線を更に設けた請求項１または請求項２記載の半導体集積回路装置。
【請求項４】
前記ハードマクロ内部に設けられ、前記第１のメモリコントローラ及び前記第２のメモリコントローラの状態を有効及び無効のいずれか一方の状態に排他的に切換えるためのコードを格納したレジスタと、
前記レジスタに格納されたコードを、前記第１のメモリコントローラ及び前記第２のメモリコントローラに伝送する第３の配線と、
を更に含む請求項１または請求項２記載の半導体集積回路装置。
【請求項５】
前記第１のメモリコントローラ及び前記第２のメモリコントローラの設定を切換えるための信号を前記第１のメモリコントローラ及び前記第２のメモリコントローラに伝送する第３の配線を更に設けた請求項１または請求項２記載の半導体集積回路装置。
【請求項６】
前記ハードマクロ内部に設けられ、前記第１のメモリコントローラ及び前記第２のメモリコントローラの設定を切換えるためのコードを格納したレジスタと、
前記レジスタに格納されたコードを、前記第１のメモリコントローラ及び前記第２のメモリコントローラに伝送する第３の配線と、
を更に含む請求項１または請求項２記載の半導体集積回路装置。
【請求項７】
前記外部メモリは複数存在し、前記設定は、該複数の外部メモリのうち制御対象とする外部メモリを定める設定である請求項５または請求項６記載の半導体集積回路装置。
【請求項８】
前記設定は、前記制御対象として定められた外部メモリのアドレス空間に関する設定を更に含む請求項７記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ等の半導体集積回路装置に関し、特に、メモリコントローラを含むハードマクロが搭載された半導体集積回路装置に関するものである。
【背景技術】
【０００２】
ＬＳＩ等の半導体集積回路装置は、通常複数の機能ブロックによって構成されている。これらの機能ブロックのうち、汎用性の高い機能ブロックは、様々なアプリケーションに用いることができるように機能ブロック単位でライブラリ化されるのが一般的である。このようにライブラリ化された機能ブロックはハードマクロと呼ばれている。ハードマクロは、大きさ（特に大規模なもの）や形（アスペクト比）により、ＬＳＩ上の配置が限定される。
【０００３】
図６は、外部メモリを制御（リード・ライト）するメモリコントローラを含むハードマクロが設けられた従来のＬＳＩの構成図である。
【０００４】
図示されるように、ＬＳＩ１００には、ハードマクロ１２０及びＩＯパッド部１３０が設けられている。ハードマクロ１２０にはＣＰＵ１４０及びメモリコントローラ１５０が配置されており、システムバス１７０により相互に接続されている。
【０００５】
メモリコントローラ１５０とＩＯパッド部１３０との間、及びＩＯパッド部１３０と外部メモリ１１０との間には、コントロール・バスやアドレス・バス等の配線が設けられ、信号やデータが伝送される。具体的には、コントロール・バス１６０、１８０を介してメモリコントローラ１５０からメモリ１１０へ制御信号が伝送され、アドレス・バス１６２、１８２を介してメモリコントローラ１５０からメモリ１１０へアドレス情報が伝送される。また、出力データ・バス１６４及びデータ・バス１８４を介して、メモリコントローラ１６４からメモリ１１０へ出力データが伝送され、データ・バス１８４及び入力データ・バス１６６を介して、メモリ１１０からメモリコントローラ１５０へ入力データが伝送される。
【０００６】
なお、従来の、ハードマクロを用いた半導体集積回路装置に関しては、様々な文献に開示されている（例えば、特許文献１参照。）。
【特許文献１】特開２００１−１６８２０１号公報（図３、段落００５１〜段落００５６）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来のＬＳＩの構成では、ハードマクロをＩＯパッド部から離れた位置に配置すると、メモリコントローラとＩＯパッド部との間の配線が長くなるため、信号遅延が増大し、メモリコントローラと外部メモリとの間のタイミング設計が困難（クリティカル）になることがある。従って、外部メモリとの間のタイミングが厳しい場合にはハードマクロをＩＯパッド部の近くに配置することが好ましいが、上述したように、ハードマクロは大きさや形によりＬＳＩ上での配置が限定されるため、ＩＯパッド部から離れたところに配置せざるをえない場合がある。このような場合には、外部メモリとのタイミング設計が困難になってしまう。
【０００８】
また、上記特開２００１−１６８２０１号公報においても、外部メモリとのタイミング設計を容易にする技術は一切開示されていない。
【０００９】
本発明は、上述した課題を解決するために提案されたものであり、外部メモリとのタイミング設計が容易な半導体集積回路装置を提供することを目的としている。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明に係る半導体集積回路装置は、外部メモリに対する入出力の制御を行う第１のメモリコントローラを含むハードマクロと、前記ハードマクロ外部に設けられ、前記外部メモリに対する入出力の制御を行う第２のメモリコントローラと、外部との間の電気的なインタフェースとして前記ハードマクロ外部に設けられたＩＯパッド部と、前記第１のメモリコントローラと前記ＩＯパッド部とを接続する第１の配線と、前記第２のメモリコントローラと前記ＩＯパッド部とを接続し、かつその長さが前記第１の配線の長さより短い第２の配線と、を含んで構成されている。
【００１１】
すなわち、第１のメモリコントローラを含むハードマクロの外部に、第２のメモリコントローラを設ける。第２のメモリコントローラとＩＯパッド部とを接続する第２の配線の長さを、第１のメモリコントローラとＩＯパッド部とを接続する第１の配線の長さより短くする。
【００１２】
これにより、ＩＯパッド部との間の配線の長さが比較的長く、外部メモリとのタイミング設計が比較的困難な第１のメモリコントローラの代わりに、ＩＯパッド部との間の配線の長さが比較的短い第２のメモリコントローラが外部のメモリを制御することができ、外部メモリとのタイミング設計を容易にすることができる。
【００１３】
上記半導体集積回路装置において、前記ハードマクロは、ＣＰＵを更に含むことができる。すなわち、ハードマクロは、半導体集積回路装置全体を制御する構成とすることができる。
【００１４】
上記半導体集積回路装置に、前記第１のメモリコントローラ及び前記第２のメモリコントローラの状態を有効及び無効のいずれか一方の状態に排他的に切換えるための信号を前記第１のメモリコントローラ及び前記第２のメモリコントローラに伝送する第３の配線を更に設けることができる。
【００１５】
これにより、第１のメモリコントローラと第２のメモリコントローラの状態を容易に、有効及び無効のいずれか一方の状態に排他的に切換えることができる。
【００１６】
上記半導体集積回路装置に、前記ハードマクロ内部に設けられ、前記第１のメモリコントローラ及び前記第２のメモリコントローラの状態を有効及び無効のいずれか一方の状態に排他的に切換えるためのコードを格納したレジスタと、前記レジスタに格納されたコードを、前記第１のメモリコントローラ及び前記第２のメモリコントローラに伝送する第３の配線と、を更に含んで構成することができる。
【００１７】
これにより、第１のメモリコントローラと第２のメモリコントローラの状態を容易に、有効及び無効のいずれか一方の状態に排他的に切換えることができると共に、レジスタを設けることにより、外部から入力される、第１のメモリコントローラと第２のメモリコントローラの状態を切換えるための信号が不要となる。
【００１８】
上記半導体集積回路装置に、前記第１のメモリコントローラ及び前記第２のメモリコントローラの設定を切換えるための信号を前記第１のメモリコントローラ及び前記第２のメモリコントローラに伝送する第３の配線を更に設けることもできる。
【００１９】
なお、前記外部メモリは複数存在し、前記設定は、該複数の外部メモリのうち制御対象とする外部メモリを定める設定とすることができる。
【００２０】
更にまた、前記設定は、前記制御対象として定められた外部メモリのアドレス空間に関する設定を更に含むこともできる。
【００２１】
これにより、第１のメモリコントローラと第２のメモリコントローラの設定を容易に切換えることができると共に、複数種類の外部メモリを制御することができる。なお、該設定には、第１及び第２のメモリコントローラの制御対象となるメモリの種類等の設定を含むことができる。これにより、各メモリコントローラに好適なメモリを制御対象とすることができる。
【００２２】
上記半導体集積回路装置に、前記ハードマクロ内部に設けられ、前記第１のメモリコントローラ及び前記第２のメモリコントローラの設定を切換えるためのコードを格納したレジスタと、前記レジスタに格納されたコードを、前記第１のメモリコントローラ及び前記第２のメモリコントローラに伝送する第３の配線と、を更に含んで構成することができる。
【００２３】
これにより、第１のメモリコントローラと第２のメモリコントローラの設定を容易に切換えることができると共に、複数種類の外部メモリを制御することができる。更に、レジスタを設けることにより、外部から入力される、第１のメモリコントローラと第２のメモリコントローラの設定を切換えるための信号が不要となる。
【発明の効果】
【００２４】
以上説明したように本発明によれば、第１のメモリコントローラを含むハードマクロ外部に第２のメモリコントローラを設け、第２のメモリコントローラとＩＯパッド部との間の配線を、第１のメモリコントローラとＩＯパッド部との間の配線より短くしたため、外部メモリとの間の信号遅延を減少させることができ、外部メモリとのタイミング設計が容易となる、という効果を奏する。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
【００２６】
［第１の実施の形態］
図１は、本実施の形態に係る半導体集積回路装置１０の概略構成図である。
【００２７】
図示されるように、半導体集積回路装置１０にはハードマクロ１２が設けられている。ハードマクロ１２にはＣＰＵ１４及び第１のメモリコントローラ１５が設けられ、ＣＰＵ１４及び第１のメモリコントローラ１５は、システムバス１７により相互に接続されている。第１のメモリコントローラ１５は、半導体集積回路装置１０外部のメモリ１１に対する入出力の制御を行う。
【００２８】
半導体集積回路装置１０には更に、第２のメモリコントローラ１６、ＩＯパッド部１３、及びＯＲ回路部９０が設けられている。第２のメモリコントローラ１６は、第１のメモリコントローラ１５と同様の機能を有し、ハードマクロ１２とＩＯパッド部１３との間に配置され、第１のメモリコントローラ１５と同様にシステムバス１７を介してＣＰＵ１４と相互に接続されている。ＩＯパッド部１３は、半導体集積回路装置１０の外部との間の電気的なインタフェースとして設けられている。ＩＯパッド部１３の接続端子により、第１のメモリコントローラ１５及び第２のメモリコントローラ１６の各々とメモリ１１とが接続される。
【００２９】
ＩＯパッド部１３とメモリ１１との間には、３本のバス、コントロール・バス３０、アドレス・バス３１、及びデータ・バス３２が配設されている。
【００３０】
第１のメモリコントローラ１５とＩＯパッド部１３との間には、第１の配線としての４本のバス（コントロール・バス２３、アドレス・バス２４、出力データ・バス２５、及び入力データ・バス２６）が配設されている。なお、入力データ・バス２６は、配線途中で２本に分岐し、一方は第１のメモリコントローラ１５に、他方は、第２のメモリコントローラ１６に接続されている。
【００３１】
第２のメモリコントローラ１６とＩＯパッド部１３との間には、第２の配線としての４本のバス（コントロール・バス２０、アドレス・バス２１、出力データ・バス２２、及び第１のメモリコントローラ１５と共用の入力データ・バス２６）が配設されている。図から明らかなように、第２の配線の長さは第１の配線の長さに比べて短い。
【００３２】
なお、コントロール・バス２０、２３、３０は制御信号を伝送し、アドレス・バス２１、２４、３１はアドレス情報を伝送する。出力データ・バス２２、２５は出力データを伝送し、入力データ・バス２６は入力データを伝送する。データ・バス３２は、入力データ及び出力データを伝送する。
【００３３】
ＯＲ回路部９０は、ＩＯパッド部１３に連設されている。ＯＲ回路部９０は、３つのＯＲ回路（図示省略）から構成され、各ＯＲ回路に設けられた２つの入力端子の一方は第１の配線のコントロール・バス２０、アドレス・バス２１、出力データ・バス２２に接続され、他方は第２の配線のコントロール・バス２３、アドレス・バス２４、出力データ・バス２５に接続されている。各ＯＲ回路は、２つの入力端子のいずれか一方に信号やデータが入力された場合に、該入力された信号或いはデータをＯＲ回路の出力端子からＩＯパッド部１３に対して出力する。
【００３４】
更に、半導体集積回路装置１０には、第１のメモリコントローラ１５及び第２のメモリコントローラ１６の状態を有効及び無効のいずれか一方の状態に排他的に切換えるための切換信号を伝送する配線４０が設けられている。配線４０の入力端はＩＯパッド部１３の接続端子に接続され、外部から切換信号を入力する。更に配線４０は配線途中で２本に分岐（配線４０ａ、及び４０ｂ）し、一方の配線４０ａの出力端は第１のメモリコントローラ１５に接続され、他方の配線４０ｂの出力端は第２のメモリコントローラ１６に接続される。なお、配線４０ａにはインバータ回路４２が配設され、該インバータ回路４２により第１のメモリコントローラ１５には切換信号が常に反転された状態で伝送される。これにより、切換信号１つで第１のメモリコントローラ１５及び第２のメモリコントローラ１６の状態を排他的に切換えることができる。
【００３５】
ここで、本半導体集積回路装置１０の動作について説明する。配線４０に入力された切換信号がＨレベルであった場合には、第１のメモリコントローラ１５には、インバータ回路４２により切換信号がＬレベルに反転されて伝送され、第２のメモリコントローラ１６には、切換信号Ｈレベルがそのまま伝送される。
【００３６】
Ｌレベルの切換信号を入力した第１のメモリコントローラ１５は無効になり、Ｈレベルの切換信号を入力した第２のメモリコントローラ１６は有効になる。これにより、第１のメモリコントローラ１５に代わって、第２のメモリコントローラ１６がメモリ１１を制御する。
【００３７】
なお、配線４０に入力される切換信号をＬレベルとして、２つのメモリコントローラの有効／無効の状態を上記と逆の状態に切り換えることも可能である。
【００３８】
以上説明したように、本実施の形態に係る半導体集積回路装置１０では、第１のメモリコントローラ１５を含むハードマクロ１２の外部に第２のメモリコントローラ１６を設け、第２のメモリコントローラ１６とＩＯパッド部１３との間の配線（第２の配線）の長さを、第１のメモリコントローラ１５とＩＯパッド部１３との間の配線（第１の配線）の長さより短くすると共に、第１のメモリコントローラ１５及び第２のメモリコントローラ１６の状態を有効及び無効のいずれか一方の状態に排他的に切換えるための切換信号を伝送する配線４０を設けたため、ＩＯパッド部１３との間の配線の長さが比較的長く、外部のメモリ１１とのタイミング設計が比較的困難な第１のメモリコントローラ１５の代わりに、ＩＯパッド部１３との間の配線の長さが比較的短い第２のメモリコントローラ１６が外部のメモリ１１を制御することができ、外部のメモリ１１とのタイミング設計を容易にすることができる。
【００３９】
［第２の実施の形態］
第１の実施の形態では、半導体集積回路装置１０に、切換信号を伝送する配線４０を設け、外部から入力された切換信号により第１のメモリコントローラ１５及び第２のメモリコントローラ１６の状態を有効及び無効のいずれか一方の状態に排他的に切換える例について説明したが、本実施の形態では、配線４０に代えて、ハードマクロ１２内部にレジスタを設け、レジスタの値によって第１のメモリコントローラ１５及び第２のメモリコントローラ１６の状態を切換える例について説明する。なお、本実施の形態において、第１の実施の形態と同様の構成については同一の符号を付して説明を省略する。
【００４０】
図２は、本実施の形態に係る半導体集積回路装置１０ａの概略構成図である。第１の実施の形態と同様に、第１のメモリコントローラ１５を含むハードマクロ１２の外部に第２のメモリコントローラ１６を設け、第２のメモリコントローラ１６とＩＯパッド部１３との間の配線の長さが、第１のメモリコントローラ１５とＩＯパッド部１３との間の配線の長さより短くなるように構成されている。
【００４１】
本実施の形態では、第１の実施の形態の配線４０に代えて、ハードマクロ１２内にレジスタ５０を設ける。該レジスタ５０には第１のメモリコントローラ１５及び第２のメモリコントローラ１６の状態を有効及び無効のいずれか一方の状態に排他的に切換えるためのコードが格納される。更にレジスタ５０と第１のメモリコントローラ１５及び第２のメモリコントローラ１６との間には、このコードを伝送するための配線５２が設けられている。
【００４２】
配線５２の入力端はレジスタ５０に接続され、レジスタ５０からコードを入力する。配線５２は、配線途中で２本に分岐（配線５２ａ、５２ｂ）し、一方の配線５２ａの出力端は第１のメモリコントローラ１５に接続され、他方の配線５２ｂの出力端は第２のメモリコントローラに接続される。なお、配線５２ａにはインバータ回路５４が配設され、該インバータ回路５４により第１のメモリコントローラ１５にはレジスタ５０のコードが常に反転された状態で伝送される。これにより、レジスタ５０に格納されたコード１つで第１のメモリコントローラ１５及び第２のメモリコントローラ１６の状態を排他的に切換えることができる。
【００４３】
ここで、本半導体集積回路装置１０ａの動作について説明する。レジスタ５０のコードをＨレベルとした場合には、第１のメモリコントローラ１５には、インバータ回路５４によりレジスタ５０のコードがＬレベルに反転されて伝送され、第２のメモリコントローラ１６には、レジスタ５０のコード（Ｈレベル）がそのまま伝送される。
【００４４】
Ｌレベルのコードを入力した第１のメモリコントローラ１５は無効になり、Ｈレベルのコードを入力した第２のメモリコントローラ１６は有効になる。これにより、第１のメモリコントローラ１５に代わって、第２のメモリコントローラ１６がメモリ１１を制御する。
【００４５】
なお、レジスタ５０のコードをＬレベルとして、２つのメモリコントローラの有効／無効の状態を上記と逆の状態に切り換えることも可能である。
【００４６】
以上説明したように、本実施の形態に係る半導体集積回路装置１０ａでは、第１のメモリコントローラ１５を含むハードマクロ１２の外部に第２のメモリコントローラ１６を設け、第２のメモリコントローラ１６とＩＯパッド部１３との間の配線（第２の配線）の長さを、第１のメモリコントローラ１５とＩＯパッド部１３との間の配線（第１の配線）の長さより短くすると共に、第１のメモリコントローラ１５及び第２のメモリコントローラ１６の状態を有効及び無効のいずれか一方の状態に排他的に切換えるためのコードを格納するレジスタ５０と、レジスタ５０に格納されたコードを伝送する配線５２を設けたため、ＩＯパッド部１３との間の配線の長さが比較的長く、外部のメモリ１１とのタイミング設計が比較的困難な第１のメモリコントローラ１５の代わりに、ＩＯパッド部１３との間の配線の長さが比較的短い第２のメモリコントローラ１６が外部のメモリ１１を制御することができ、外部のメモリ１１とのタイミング設計を容易にすることができる。
【００４７】
更に、第１の実施の形態では半導体集積回路外部からの切換信号が必要であったが、本実施の形態では、これが不要となる。
【００４８】
［第３の実施の形態］
上述した第１及び第２の実施の形態では、第１のメモリコントローラ１５及び第２のメモリコントローラ１６の状態を有効及び無効のいずれか一方の状態に排他的に切換える例について説明したが、本実施の形態では、第１のメモリコントローラ１５及び第２のメモリコントローラ１６の設定を切換えることにより複数種類のメモリを制御する例について説明する。なお、本実施の形態において、第１の実施の形態と同様の構成については同一の符号を付して説明を省略する。
【００４９】
図３は、本実施の形態に係る半導体集積回路装置１０ｂの概略構成図である。図示されるように、第１のメモリコントローラ１５を含むハードマクロ１２の外部に第２のメモリコントローラ１６を設け、第２のメモリコントローラ１６とＩＯパッド部１３との間の配線の長さを、第１のメモリコントローラ１５とＩＯパッド部１３との間の配線の長さより短くした点では第１の実施の形態と同様である。以下、第１の実施の形態と異なる部分について説明する。
【００５０】
本実施の形態では、第１のメモリコントローラ１５とＩＯパッド部１３との間のコントロール・バス２０、及び第２のメモリコントローラ１６とＩＯパッド部１３との間のコントロール・バス２３の出力端は、ＯＲ回路部９０を介さずに直接ＩＯパッド部１３に接続され、２つのメモリコントローラが異なるメモリを独立して制御できるような構成となっている。
【００５１】
本実施の形態では、第１のメモリコントローラ１５及び第２のメモリコントローラ１６を用いて半導体集積回路装置１０ｂ外部の２種類のメモリ（第１メモリ７２、第２メモリ７４）を制御する。ここで、第１メモリ７２は高速メモリであり、第２メモリ７４は低速メモリである。第１メモリ７２及び第２メモリ７４と半導体集積回路装置１０ｂのＩＯパッド部１３との間の配線において、アドレス・バス３１及びデータ・バス３２は第１メモリ７２と第２メモリ７４とで共用され、配線途中で２本に分岐して第１メモリ７２及び第２メモリ７４のそれぞれに接続されている。
【００５２】
また、２本のコントロール・バス３０、３３は、第１メモリ７２及び第２メモリ７４に対応して配設されており、第１メモリ７２側のコントロール・バス３０は、ＩＯパッド部１３を介して第２のメモリコントローラ１６側のコントロール・バス２３に接続され、第２メモリ７４側のコントロール・バス３３は、ＩＯパッド部１３を介して第１のメモリコントローラ１５側のコントロール・バス２０に接続されている。
【００５３】
更に、半導体集積回路装置１０ｂには、第１のメモリコントローラ１５及び第２のメモリコントローラ１６の設定を切換えるための切換信号を伝送する２本の配線６０、６２が設けられている。この２本の配線６０、６２の各入力端はＩＯパッド部１３の接続端子に接続され、外部から切換信号を入力する。更に各配線６０、６２は配線途中で２本に分岐（配線６０ａと６０ｂ、及び６２ａと６２ｂ）し、配線６０ａ、６２ａの出力端は第１のメモリコントローラ１５に接続され、配線６０ｂ、６２ｂの出力端は第２のメモリコントローラ１６に接続される。なお、配線６０ａ、６２ａには各々インバータ回路６４、６６が配設され、２つのインバータ回路６４、６６により第１のメモリコントローラ１５には切換信号が常に反転された状態で伝送される。これにより第１のメモリコントローラ１５及び第２のメモリコントローラ１６の設定を排他的に切換えることができる。
【００５４】
ここで、図４を参照しながら、本半導体集積回路装置１０ｂの第１のメモリコントローラ１５の設定を切換える動作について説明する
図４（Ａ）は、切換信号とアクセスできるアドレス空間との対応関係を示した図であり、Disable（アクセス不可能）Low、High、及びFull(Low及びHigh）の４区分が定義される。図４（Ｂ）は、第１のメモリコントローラ１５を設定するための２つのコントロールレジスタ（コントロールレジスタＡ及びコントロールレジスタＢ）における設定値の具体例であり、これらコントロールレジスタの値によって制御対象のメモリ（高速メモリ、中速メモリ、及び低速メモリ、のいずれか）を設定できる。ここでは、アクセス可能なアドレス空間がLowまたはFullの場合にはコントロールレジスタＡにより第１のメモリコントローラ１５を設定し、アクセス可能なアドレス空間がHighの場合にはコントロールレジスタＢにより第１のメモリコントローラ１５を設定する。本実施の形態では、コントロールレジスタＡには「１（中速メモリ）」が、コントロールレジスタＢには「０（低速メモリ）」が制御対象のメモリとして設定されるものとする。なお、第１のメモリコントローラ１５を設定するための上記コントロールレジスタは、第１メモリコントローラ１５に設けられている。
【００５５】
一例として、配線６０に入力された切換信号がＬレベルで、配線６２に入力された切換信号がＨレベルであった場合を例に挙げて説明する。この場合には、第１のメモリコントローラ１５には、配線６０ａのインバータ回路６４により切換信号がＨレベルに反転されて伝送され、配線６２ａのインバータ回路６６により切換信号がＬレベルに反転されて伝送される。
【００５６】
このように、配線６０ａ、配線６２ａにより伝送された信号のレベルがＨ（１）、Ｌ（０）である場合には、図４（Ａ）及び図４（Ｂ）から明らかなように、アクセスできるアドレス空間は、Highであり、制御対象のメモリを設定するコントロールレジスタは、コントロールレジスタＢである。ここでは、コントロールレジスタＢの設定値は「０」であるため、第１のメモリコントローラ１５の制御対象のメモリを低速メモリ（ここでは第２メモリ７４）に設定することができる。
【００５７】
同様に第２のメモリコントローラ１６も配線６０ｂ、６２ｂから出力される信号のレベルにより（本実施の形態ではＬ，Ｈ）設定を切換えることができ、例えばアクセスできるアドレス空間をLowとし、制御対象のメモリを高速メモリ（第１メモリ７２）とすることができる。これにより、配線の長さの短い第２のメモリコントローラ１６で、タイミング設計の困難な比較的高速なメモリを制御でき、タイミング設計が容易となる。なお、第１のメモリコントローラ１５と同様に、第２のメモリコントローラ１６を設定するためのコントロールレジスタは、第２のメモリコントローラ１６に設けられている。
【００５８】
なお、入力された信号のレベルがＬ（０）、Ｌ（０）の場合には、アクセス可能なアドレス空間はDisableであるため、無効（アクセス不可能）となる。このとき、他方のメモリコントローラに入力される信号のレベルはＨ（１）、Ｈ（１）であるため、アクセス可能なアドレス空間はFullとなり、これに対応したコントロールレジスタに設定されたメモリの制御が可能となる。
【００５９】
以上説明したように、本実施の形態に係る半導体集積回路装置１０ｂでは、第１のメモリコントローラ１５を含むハードマクロ１２の外部に第２のメモリコントローラ１６を設け、第２のメモリコントローラ１６とＩＯパッド部１３との間の配線（第２の配線）の長さを、第１のメモリコントローラ１５とＩＯパッド部１３との間の配線（第１の配線）の長さより短くすると共に、第１のメモリコントローラ１５及び第２のメモリコントローラ１６の設定を切換えるための切換信号を伝送する配線を設けたため、第１の実施の形態と同様に、ＩＯパッド部１３との間の配線の長さが比較的長く、外部のメモリとのタイミング設計が比較的困難な第１のメモリコントローラ１５の代わりに、ＩＯパッド部１３との間の配線の長さが比較的短い第２のメモリコントローラ１６が外部の高速なメモリを制御することができ、外部のメモリとのタイミング設計を容易にすることができる。
【００６０】
更に、第１の実施の形態では、制御可能なメモリは一種類のみであったが、本実施の形態では、タイミング設計の困難な第１のメモリコントローラ１５を同時に用いて別の種類のメモリ（例えば低速または中速のメモリ）を制御することができる。
【００６１】
なお、本実施の形態では、コントロールレジスタＡ及びＢの設定値がそれぞれ中速メモリ、低速メモリである例について説明したが、これに限定されず、例えば、いすれか一方の設定値を高速メモリとすることもできる。
【００６２】
［第４の実施の形態］
第３の実施の形態では、半導体集積回路装置１０ｂに、切換信号を伝送する配線６０、６２を設け、外部から入力された切換信号により第１のメモリコントローラ１５及び第２のメモリコントローラ１６の設定を切換える例について説明したが、本実施の形態では、配線６０、６２に代えて、ハードマクロ１２内部にレジスタを設け、レジスタの値によって第１のメモリコントローラ１５及び第２のメモリコントローラ１６の設定を切換える例について説明する。なお、本実施の形態において、第３の実施の形態と同様の構成については同一の符号を付して説明を省略する。
【００６３】
図５は、本実施の形態に係る半導体集積回路装置１０ｃの概略構成図である。図示されるように、第３の実施の形態の２本の配線に代えて、ハードマクロ１２内に２つのレジスタ８０、８２を設ける。レジスタ８０、８２には、第１のメモリコントローラ１５及び第２のメモリコントローラ１６の設定を切換えるためのコードが格納される。更にレジスタ８０、８２と第１のメモリコントローラ１５及び第２のメモリコントローラ１６との間には、レジスタ８０、８２に格納されたコードを伝送するための配線８４、８６が設けられている。
【００６４】
配線８４、８６の入力端はレジスタ８０、８２に接続され、レジスタ８０、８２からコードを入力する。配線８４、８６は、配線途中で各々２本に分岐（配線８４ａと８４ｂ、及び８６ａ、８６ｂ）し、配線８４ａ、８６ａの出力端は第１のメモリコントローラ１５に接続され、配線８４ｂ、８６ｂの出力端は第２のメモリコントローラ１６に接続される。なお、配線８４ａ及び８６ａにはインバータ回路８８、８９が配設され、インバータ回路８８、８９によりレジスタ８０、８２のコードが常に反転された状態で伝送される。これにより、第１のメモリコントローラ１５及び第２のメモリコントローラ１６の状態を排他的に切換えることができる。
【００６５】
ここで、本半導体集積回路装置１０ｃの第１のメモリコントローラ１５の設定を切換える動作について説明する。レジスタ８０のコードをＬレベル、レジスタ８２のコードをＨレベルとした場合には、第１のメモリコントローラ１５には、配線８４ａのインバータ回路８８によりレジスタ８０のコードがＨレベルに反転されて伝送され、配線８６ａのインバータ回路８９によりレジスタ８２のコードがＬレベルに反転されて伝送される。
【００６６】
このように、配線８４ａ、８６ａから出力された信号のレベルがＨ（１）、Ｌ（０）である場合には、第３の実施の形態と同様に設定が切換えられる。例えば、本実施の形態においても図４（Ａ）及び（Ｂ）に示されるように設定を変更し、アクセスできるアドレス空間を、Highとし、制御対象のメモリを設定するコントロールレジスタを、コントロールレジスタＢとすることができる。このとき、コントロールレジスタＢの設定値を「０」とすれば、第１のメモリコントローラ１５の制御対象のメモリを低速メモリ（ここでは第２メモリ７４）に設定することができる。
【００６７】
同様に第２のメモリコントローラ１６も配線８４ｂ、８６ｂから出力される信号のレベルにより（本実施の形態ではＬ，Ｈ）設定を切換えることができ、例えば制御対象のメモリを高速メモリ（第１メモリ７２）に設定することができる。これにより、配線の長さの短い第２のメモリコントローラ１６で、タイミング設計の困難な比較的高速なメモリを制御でき、タイミング設計が容易となる。
【００６８】
以上説明したように、本実施の形態に係る半導体集積回路装置１０ｃでは、第１のメモリコントローラ１５を含むハードマクロ１２の外部に第２のメモリコントローラ１６を設け、第２のメモリコントローラ１６とＩＯパッド部１３との間の配線（第２の配線）の長さを、第１のメモリコントローラ１５とＩＯパッド部１３との間の配線（第１の配線）の長さより短くすると共に、第１のメモリコントローラ１５及び第２のメモリコントローラ１６の設定を切換えるためのコードを格納するレジスタ８０、８２を設けたため、第３の実施の形態と同様に、ＩＯパッド部１３との間の配線の長さが比較的長く、外部のメモリとのタイミング設計が比較的困難な第１のメモリコントローラ１５の代わりに、ＩＯパッド部１３との間の配線の長さが比較的短い第２のメモリコントローラ１６が外部の高速なメモリを制御することができ、外部のメモリとのタイミング設計を容易にすることができる。
【００６９】
更に、第１の実施の形態では、制御可能なメモリは一種類のみであったが、本実施の形態においても、第３の実施の形態と同様に、タイミング設計の困難な第１のメモリコントローラ１５を同時に用いて別の種類のメモリ（例えば低速または中速のメモリ）を制御することができる。
【００７０】
また、第３の実施の形態では半導体集積回路外部からの切換信号が必要であったが、本実施の形態では、これが不要となる。
【００７１】
以上、様々な実施の形態を説明したが、本発明は、上述した第１乃至第４の実施の実施の形態で例に挙げた半導体集積回路装置に限定されず、様々な半導体集積回路装置に適用できる。
【図面の簡単な説明】
【００７２】
【図１】第１の実施の形態に係る半導体集積回路装置の概略構成図である。
【図２】第２の実施の形態に係る半導体集積回路装置の概略構成図である。
【図３】第３の実施の形態に係る半導体集積回路装置の概略構成図である。
【図４】図４（Ａ）は、切換信号とアクセスできるアドレス空間との対応関係を示した図であり、図４（Ｂ）は、第１のメモリコントローラを設定するための２つのコントロールレジスタ（コントロールレジスタＡ及びコントロールレジスタＢ）における設定値の具体例を示した図である。
【図５】第４の実施の形態に係る半導体集積回路装置の概略構成図である。
【図６】従来の半導体集積回路装置の概略構成図である。
【符号の説明】
【００７３】
１０、１０ａ、１０ｂ、１０ｃ  半導体集積回路装置
１１  メモリ
１２  ハードマクロ
１３  ＩＯパッド部
１５  第１のメモリコントローラ
１６  第２のメモリコントローラ
４０  配線
５０  レジスタ
５２  配線
６０、６２  配線
７２  第１メモリ
７４  第２メモリ
８０、８２  レジスタ
８４、８６  配線
【図１】
2005150201.tif 000003
【図２】
2005150201.tif 000004
【図３】
2005150201.tif 000005
【図４】
2005150201.tif 000006
【図５】
2005150201.tif 000007
【図６】
2005150201.tif 000008