(57)【要約】【課題】データ処理性能の低下を防止可能な半導体装置を提供すること。【解決手段】本発明にかかる半導体装置は、インターフェイス回路１０５−１，１０５−２と、インターフェイス回路１０５−１を介して設定可能な第１及び第２のモード情報を記憶するモード情報記憶部１０８−１と、クロック信号ＣＫ１が供給され第１のモード情報に基づいて動作するメモリコア１０６−１と、クロック信号ＣＫ２が供給されるメモリコア１０６−２と、メモリコア１０６−１をバスインターフェイス回路１０５−１に結合させ、メモリコア１０６−２を所定の切替情報に基づいてバスインターフェイス回路１０５−１，１０５−２のいずれかに選択的に結合させる選択回路１０７−１と、を備える。そして、メモリコア１０６−２は、バスインターフェイス回路１０５−２に結合された場合に第２のモード情報に基づいて動作する。【選択図】図１
2013058277.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２のバスインターフェイス回路と、
前記第１のバスインターフェイス回路を介して設定可能な第１及び第２のモード情報を記憶するモード情報記憶部と、
前記第１のバスインターフェイス回路に結合されると共に第１のクロック信号が供給され前記第１のモード情報に基づいて動作する第１のメモリコアと、
第２のクロック信号が供給される第２のメモリコアと、
前記第２のメモリコアを所定の切替情報に基づいて前記第１のバスインターフェイス回路または前記第２のバスインターフェイス回路のいずれかに選択的に結合させる選択回路と、を備え、
前記第２のメモリコアは、前記第２のバスインターフェイス回路に結合された場合に前記第２のモード情報に基づいて動作する半導体装置。
【請求項２】
前記第２のメモリコアは、前記第１のバスインターフェイス回路に結合された場合に前記第１のモード情報に基づいて動作する請求項１に記載の半導体装置。
【請求項３】
前記選択回路は、前記モード情報記憶部に記憶された前記第１及び第２のモード情報の少なくとも一部を前記所定の切替情報として使用することを特徴とする請求項１または２に記載の半導体装置。
【請求項４】
前記選択回路は、外部から入力された信号を前記所定の切替情報として用いることを特徴とする請求項１または２に記載の半導体装置。
【請求項５】
前記第１及び第２のモード情報の少なくとも一部に基づいて、前記第１及び前記第２のクロック信号を生成するクロック生成回路をさらに備えた請求項１〜４のいずれか一項に記載の半導体装置。
【請求項６】
前記第１モード情報に基づいたバースト長で前記第１メモリコアにアクセスを行い、
前記第２モード情報に基づいたバースト長で前記第２メモリコアにアクセスを行う請求項１に記載の半導体装置。
【請求項７】
前記第１モード情報に基づいた動作周波数にて前記第１メモリコアを動作させ、
前記第２モード情報に基づいた動作周波数にて前記第２メモリコアを動作させる請求項５に記載の半導体装置。
【請求項８】
前記第１モード情報によって特定されたリードレイテンシーにて前記第１メモリコアからデータが読み出され、
前記第２モード情報によって特定されたリードレイテンシーにて前記第２メモリコアからデータが読み出される、請求項６に記載の半導体装置。
【請求項９】
前記第１モード情報によって特定されたライトレイテンシーにて前記第１メモリコアにデータが書き込まれ、
前記第２モード情報によって特定されたライトレイテンシーにて前記第２メモリコアにデータが書き込まれる、請求項８に記載の半導体装置。
【請求項１０】
前記第１モード情報によって特定された時間間隔をおいて前記第１メモリコアへのアクセスが許可され、
前記第２モード情報によって特定された時間間隔をおいて前記第２メモリコアへのアクセスが許可される、請求項９に記載の半導体装置。
【請求項１１】
前記第２のメモリコアが前記第１のバスインターフェイス回路に結合された場合、前記第２のバスインターフェイスの入力端子は、所定の論理レベルに固定されることを特徴とする請求項２に記載の半導体装置。
【請求項１２】
前記第２のメモリコアは、前記第１のバスインターフェイス回路に結合された場合に前記第１のモード情報と同じ内容の前記第２のモード情報に基づいて動作する請求項２に記載の半導体装置。
【請求項１３】
請求項１〜１２のいずれか一項に記載の半導体装置を備えたネットワーク装置。
【請求項１４】
複数のメモリコアと、
外部回路から前記複数のメモリコアの何れかへのアクセスをそれぞれインターフェイス可能な複数のバスインターフェイス回路と、
前記複数のメモリコアのそれぞれを、前記複数のバスインターフェイス回路のうち何れか一つのバスインターフェイス回路に接続させるように信号経路を選択する選択回路と、
前記外部回路から前記複数のメモリコアへのそれぞれのアクセスモードに応じて前記複数のメモリコアのそれぞれの動作モードを切り替える制御部と、を備えた半導体装置。
【請求項１５】
前記外部回路は、回路構成の書き換えが可能なフィールドプログラマブルゲートアレイであることを特徴とする請求項１４に記載の半導体装置。
【請求項１６】
前記外部回路から前記複数のメモリコアへのそれぞれのアクセスモードを特定する複数のモード情報を記憶するモード情報記憶部をさらに備え、
前記制御部は、
前記複数のモード情報に基づいて、前記複数のメモリコアのそれぞれの動作モードを切り替えることを特徴とする請求項１４又は１５に記載の半導体装置。
【請求項１７】
前記複数のメモリコアのうち少なくとも２つのメモリコアが共通のバスインターフェイス回路に接続されている場合、前記モード情報記憶部には、前記少なくとも２つのメモリコアに対して共通のモード情報が記憶されることを特徴とする請求項１６に記載の半導体装置。
【請求項１８】
前記複数のモード情報は、前記複数のバスインターフェイス回路のうち所定のバスインターフェイス回路を介して前記外部回路から前記モード情報記憶部に供給されることを特徴とする請求項１６又は１７に記載の半導体装置。
【請求項１９】
前記モード情報記憶部は、前記所定のバスインターフェイス回路を介して供給される切替情報を、前記複数のモード情報とともにさらに記憶し、
前記選択回路は、前記モード情報記憶部に記憶された当該切替情報に基づいて前記信号経路を選択することを特徴とする請求項１８に記載の半導体装置。
【請求項２０】
前記制御部は、
各前記モード情報により特定されたバースト長のデータを、当該モード情報に対応するメモリコアから読み出し又は当該モード情報に対応するメモリコアに書き込むことを特徴とする請求項１６〜１９のいずれか一項に記載の半導体装置。
【請求項２１】
前記制御部は、
各前記モード情報により特定された動作周波数にて、当該モード情報に対応するメモリコアからデータを読み出し又は当該モード情報に対応するメモリコアにデータを書き込むことを特徴とする請求項１６〜２０のいずれか一項に記載の半導体装置。
【請求項２２】
前記制御部は、
各前記モード情報により特定されたリードレイテンシーにて、当該モード情報に対応するメモリコアからデータを読み出すことを特徴とする請求項１６〜２１のいずれか一項に記載の半導体装置。
【請求項２３】
前記制御部は、
各前記モード情報により特定されたライトレイテンシーにて、当該モード情報に対応するメモリコアにデータを書き込むことを特徴とする請求項１６〜２２のいずれか一項に記載の半導体装置。
【請求項２４】
前記制御部は、
各前記モード情報により特定された時間間隔をおいて、当該モード情報に対応するメモリコアへのアクセスを許可することを特徴とする請求項１６〜２３のいずれか一項に記載の半導体装置。
【請求項２５】
前記制御部は、
前記複数のメモリコアをそれぞれ異なるクロック信号に同期して動作させることを特徴とする請求項１４〜２４のいずれか一項に記載の半導体装置。
【請求項２６】
複数の前記クロック信号を生成するクロック生成回路をさらに備えた請求項２５に記載の半導体装置。
【請求項２７】
前記複数のバスインターフェイス回路のうち前記複数のメモリコアの何れにも接続されないバスインターフェイス回路の入力端子は、所定の論理レベルに固定されることを特徴とする請求項１４〜２６のいずれか一項に記載の半導体装置。
【請求項２８】
請求項１４〜２７のいずれか一項に記載の半導体装置を備えたネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特にデータ処理性能の低下を防止するのに適した半導体装置に関する。
【背景技術】
【０００２】
半導体プロセスの微細化により１チップに搭載可能な回路規模が増大し、ロジックＬＳＩにおいてシステムに必要な多くの機能ブロックが１チップに実装可能になっている。そのため、ロジックＬＳＩではより多くのデータ処理が行われるようになっている。それに伴い、ロジックＬＳＩとメモリとの間のデータ転送性能を向上させて、システム全体の性能を向上させることが要求されている。
【０００３】
このような要求に対する解決策が特許文献１に開示されている。特許文献１に開示されたマルチポートメモリは、複数ビット線と複数ワード線との交点に配置された複数メモリセルからなりｎ（ｎは２以上の整数）個のメモリバンクに分割されたメモリアレイと、メモリバンク各々に対しコマンド、アドレス及びデータの入出力を独立して行うｍ（ｍは２以上の整数）個の入出力ポートと、メモリバンク及び入出力ポート間におけるコマンド、アドレス及びデータ信号経路を任意に設定する経路切替回路と、を備える。経路切替回路は、メモリバンク及び入出力ポート間におけるコマンド、アドレス及びデータの各々の信号線の接続状態を設定するクロスバースイッチと、ブロードキャストモードにおいて、１つのメモリバンクから読み出すデータを複数ポートへ出力、又は１つのポートから入力したデータを複数メモリバンクに書込む経路を形成するブロードキャストスイッチ部と、により構成される。
【０００４】
このマルチポートメモリは、通常動作状態にて、複数の入出力ポートから同一のメモリバンクに対して同時にアクセス要求が発生した場合、優先度の高い入出力ポートからのアクセスを許可し、残りの入出力ポートからのアクセスを禁止する制御を行う調停回路をさらに備える。この調停回路は、ブロードキャストモードにおいても、例えば、ブロードキャストリードコマンドが入力された入出力ポート以外の入出力ポートからのアクセスを禁止する。
【０００５】
そのほか、特許文献２には、複数のメモリ機能を有する素子に対し独立したクロック信号を供給することにより、これら複数のメモリ機能を有する素子を独立して駆動する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２３０７９２号公報
【特許文献２】特開昭５７−２０８６８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示されたマルチポートメモリは、複数の入出力ポートから同一のメモリバンクに対して同時にアクセス要求が発生した場合、優先度の高い入出力ポートから順にアクセスを許可することが想定される。したがって、優先度の低い入出力ポートから当該メモリバンクに対するアクセスは遅延してしまう。その結果、このマルチポートメモリでは、データ処理性能が低下してしまうという問題があった。
【０００８】
さらに、特許文献１には、複数のメモリバンクの動作モードを任意に変更可能である構成は開示されておらず、複数のメモリバンクの動作モードは固定されているものと考えられる。そのため、特許文献１に開示されたマルチポートメモリでは、バースト長等のアクセスモードやクロック周波数等の動作パラメータをメモリバンク毎に個別に設定することができず、データ処理性能の最適化が困難であった。
【課題を解決するための手段】
【０００９】
本発明の一態様にかかる半導体装置は、個別にクロック信号を供給可能な複数のメモリコアと、メモリコア毎の動作情報を記憶するモード情報記憶部と、複数のメモリコアのそれぞれを一のバスインターフェイス回路に選択的に結合させる選択回路と、を備える。
【００１０】
上述のような回路構成により、データ処理性能の最適化が可能となる。
【発明の効果】
【００１１】
本発明により、データ処理性能の低下を防止することが可能な半導体装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１にかかる半導体集積回路を示すブロック図である。
【図２】本発明の実施の形態１にかかる半導体集積回路を示すブロック図である。
【図３】本発明の実施の形態１にかかるメモリに供給されるコマンド信号及びアドレス信号の関係を示す図である。
【図４】本発明の実施の形態１にかかるメモリに供給されるアドレス信号を説明するための図である。
【図５Ａ】本発明の実施の形態１にかかる半導体集積回路の動作を示すタイミングチャートである。
【図５Ｂ】本発明の実施の形態１にかかる半導体集積回路の動作を示すタイミングチャートである。
【図５Ｃ】本発明の実施の形態１にかかる半導体集積回路の動作を示すタイミングチャートである。
【図６】本発明の実施の形態２にかかる半導体集積回路を示すブロック図である。
【図７】本発明の実施の形態２にかかるメモリに供給されるアドレス信号を説明するための図である。
【図８】本発明の実施の形態３にかかる半導体集積回路を示すブロック図である。
【図９】本発明のメモリが搭載されたネットワーク装置を示す図である。
【図１０】本発明に至る前の構想にかかる半導体集積回路を示すブロック図である。
【図１１Ａ】本発明に至る前の構想にかかる半導体集積回路の動作を示すタイミングチャートである。
【図１１Ｂ】本発明に至る前の構想にかかる半導体集積回路の動作を示すタイミングチャートである。
【図１１Ｃ】本発明に至る前の構想にかかる半導体集積回路の動作を示すタイミングチャートである。
【発明を実施するための形態】
【００１３】
まず、本発明の実施の形態を説明する前に、本発明に至る前に本発明者らが検討した構成について説明する。
【００１４】
図１０は、本発明に至る前の構想にかかる半導体集積回路を示すブロック図である。図１０に示す半導体集積回路は、複数の機能ブロックを有する集積回路９０１と、メモリ（半導体装置）９０２，９０３と、を備える。各メモリ９０２，９０３は、データ信号（ＤＡＴＡ）、データの読み書きを制御するコマンド信号（ＣＭＤ）、及び、データの読み書き対象となる記憶領域を指定するアドレス信号（ＡＤＤ）からなる一組のチャンネルを用いて複数の機能ブロックからのアクセスを可能にしたシェアド・メモリ方式を採用している。
【００１５】
なお、集積回路９０１は、例えば、ソフトウェアによりその構成を変更可能なＦＰＧＡ（Field Programmable Gate Array）である。デジタル家電等の組み込み機器やネットワーク装置の分野では、ＦＰＧＡの共通基板（プラットフォーム）を用いて複数の派生製品を提供することができる。以下では、集積回路９０１がＦＰＧＡである場合を例に説明する（以下、ＦＰＧＡ９０１と称す）。
【００１６】
ＦＰＧＡ９０１は、プログラミングされることにより、４つの独立した機能ブロック９０４〜９０７と、インターフェイス回路９０８，９０９と、調停回路９１０，９１１と、を有する。
【００１７】
機能ブロック９０４，９０５は作業用データの一時退避等を目的としてメモリ９０２を共用し、機能ブロック９０６，９０７は作業用データの一時退避等を目的としてメモリ９０３を共用している。
【００１８】
調停回路９１０は、機能ブロック９０４，９０５が同時にメモリ９０２にアクセスしようとした場合に、アクセスの順序を決定する機能を有する。同様に、調停回路９１１は、機能ブロック９０５，９０６が同時にメモリ９０３にアクセスしようとした場合に、アクセスの順序を決定する機能を有する。インターフェイス回路９０８は、機能ブロック９０４又は機能ブロック９０５からメモリ９０２へのアクセスをインターフェイスする回路である。インターフェイス回路９０９は、機能ブロック９０６又は機能ブロック９０７からメモリ９０３へのアクセスをインターフェイスする回路である。
【００１９】
メモリ９０２は、メモリコア９１２と、インターフェイス回路９１４と、を備える。なお、メモリコア９１２には、ＦＰＧＡ９０１から当該メモリコア９１２へのアクセスを実行するアクセス制御部（不図示）が付加されている。メモリ９０３は、メモリコア９１３と、インターフェイス回路９１５と、を備える。なお、メモリコア９１３には、ＦＰＧＡ９０１から当該メモリコア９１３へのアクセスを実行するアクセス制御部（不図示）が付加されている。各メモリコア９１２，９１３は、データを記憶するためのメモリセル（記憶領域）を複数有する。各メモリコア９１２，９１３では、アドレス信号によって指定されたメモリセルに対しデータが書き込まれ、又は、アドレス信号によって指定されたメモリセルに記憶されたデータが読み出される。インターフェイス回路９１４は、ＦＰＧＡ９０１からメモリコア９１２へのアクセスをインターフェイスする回路である。インターフェイス回路９１５は、ＦＰＧＡ９０１からメモリコア９１３へのアクセスをインターフェイスする回路である。
【００２０】
つまり、機能ブロック９０４，９０５とメモリコア９１２との間の信号伝達は、ＦＰＧＡ９０１側のインターフェイス回路９０８及びメモリ９０２側のインターフェイス回路９１４を介して行われる。機能ブロック９０６，９０７とメモリコア９１３との間の信号伝達は、ＦＰＧＡ９０１側のインターフェイス回路９０９及びメモリ９０２側のインターフェイス回路９１５を介して行われる。
【００２１】
図１１Ａ〜図１１Ｃは、図１０に示す半導体集積回路の動作の一例を示すタイミングチャートである。より具体的には、図１１Ａは、機能ブロック９０４，９０５のうち機能ブロック９０４のみがメモリ９０２に対してデータの読み出し要求を行った場合のタイミングチャートである。図１１Ｂは、機能ブロック９０４がメモリ９０２に対してデータの読み出し要求を行うと同時に、機能ブロック９０５がメモリ９０２に対してデータの書き込み要求を行った場合のタイミングチャートである。図１１Ｃは、機能ブロック９０６，９０７のうち機能ブロック９０７のみがメモリ９０３に対してデータの読み出し要求を行った場合のタイミングチャートである。
【００２２】
なお、機能ブロック９０４〜９０６が１回のデータ読み出し要求によりメモリ９０２，９０３から受信する必要のある読み出しデータの量は、それぞれデータ量Ｘであるものとする。一方、機能ブロック９０７が１回のデータ読み出し要求によりメモリ９０３から受信する必要のある読み出しデータの量は、データ量Ｘの２倍（データ量２Ｘ）であるものとする。つまり、機能ブロック９０７は、１回のデータ読み出し要求により、機能ブロック９０４の２倍の読み出しデータを受信する必要がある。また、メモリ９０２，９０３は、１回のデータ読み出し要求に対して、それぞれデータ量Ｘの読み出しデータを送信可能であるものとする。
【００２３】
まず、図１１Ａを用いて、機能ブロック９０４，９０５のうち機能ブロック９０４のみがメモリ９０２に対してデータの読み出し要求を行った場合の動作について説明する。まず、機能ブロック９０４が調停回路９１０に対して読み出し要求を出す（時刻ｔ１）。調停回路９１０は、他の機能ブロックからの要求がないため、機能ブロック９０４から受け取った読み出し要求を即時に受け付け、インターフェイス回路９０８に転送する（時刻ｔ２）。インターフェイス回路９０８は、調停回路９１０から受け取った読み出し要求に応じたコマンド信号及びアドレス信号を生成し、メモリ９０２に対して出力する（時刻ｔ３）。
【００２４】
メモリ９０２において、インターフェイス回路９１４は、ＦＰＧＡ９０１から出力されたコマンド信号及びアドレス信号を受信して、後段のメモリコア９１２に転送する（時刻ｔ４）。メモリコア９１２では、所定期間の読み出し動作の後、アドレス信号によって指定されたメモリセルに記憶されたデータが読み出される（時刻ｔ５）。インターフェイス回路９１４は、メモリコア９１２から読み出されたデータをＦＰＧＡ９０１に対して出力する（時刻ｔ５）。
【００２５】
ＦＰＧＡ９０１において、インターフェイス回路９０８は、メモリ９０２から出力されたデータを受信して、調停回路９１０に転送する（時刻ｔ６）。調停回路９１０は、当該データを、読み出し要求の要求元である機能ブロック９０４に転送する（時刻ｔ７）。機能ブロック９０４は、調停回路９１０からのデータをクロック信号ＣＫに同期して取り込む（時刻ｔ８）。このようにして、データの読み出し要求に対する一連の動作が完了する。図１１Ａの例では、機能ブロック９０４がデータの読み出し要求を出してから当該データを受け取るまでの期間は９クロックサイクル（時刻ｔ１〜ｔ８）である。
【００２６】
次に、図１１Ｂを用いて、機能ブロック９０４がメモリ９０２に対してデータの読み出し要求を行ったと同時に、機能ブロック９０５がメモリ９０２に対してデータの書き込み要求を行った場合の動作について説明する。まず、機能ブロック９０４が調停回路９１０に対して読み出し要求を出すと同時に、機能ブロック９０５が調停回路９１０に対して書き込み要求を出す（時刻ｔ１）。
【００２７】
調停回路９１０は、例えば、機能ブロック９０５からの書き込み要求を優先し、インターフェイス回路９０８に転送する（時刻ｔ２）。なお、機能ブロック９０４からの読み出し要求は、機能ブロック９０５からの書き込み要求により書き込み動作が行われている間、保留される。インターフェイス回路９０８は、調停回路９１０から受け取った書き込み要求に応じたコマンド信号、アドレス信号及び書き込み用データ信号を生成し、メモリ９０２に対して出力する（時刻ｔ３）。
【００２８】
ここで、メモリ９０２では、データの読み出し要求や書き込み要求を受け付ける時間間隔（ランダムサイクル）ｔＲＣの最小値が、メモリコア９１２の動作速度に応じて予め規定されている。そのため、調停回路９１０は、ＦＰＧＡ９０１からメモリ９０２へのアクセス間隔が時間間隔ｔＲＣの最小値以上となるように、機能ブロック９０４からの読み出し要求を保留する（時刻ｔ２〜ｔ４）。時刻ｔ４になると、調停回路９１０は、保留されていた機能ブロック９０４からの読み出し要求を、インターフェイス回路９０８に転送する。その後の動作は、図１１Ａの場合と同様であるため説明を省略する。
【００２９】
図１１Ｂの例では、機能ブロック９０４がデータの読み出し要求を出してから当該データを受け取るまでの期間は、図１１Ａの例と比較して４クロックサイクル多い、１３クロックサイクル（時刻ｔ１〜ｔ５）である。つまり、複数の機能ブロックが同一のメモリに対して同時にアクセスしようとした場合、クロックサイクル数が増加した分だけデータ処理性能が低下している。
【００３０】
このように、シェアド・メモリ方式は、１つのメモリを複数の機能ブロックで共用できるため、例えば、ＦＰＧＡ内の機能ブロック数が変化した場合でもプラットフォームの再設計を回避できる点で有効である。しかし、複数の機能ブロックが１つのメモリに同時にアクセスしようとした場合にデータ処理性能が低下するという問題も生じてしまう。
【００３１】
次に、図１１Ｃを用いて、機能ブロック９０６，９０７のうち機能ブロック９０７のみがメモリ９０３に対してデータの読み出し要求を行った場合の動作について説明する。まず、機能ブロック９０７が調停回路９１１に対して読み出し要求を出す（時刻ｔ１）。調停回路９１１は、他の機能ブロックからの要求がないため、機能ブロック９０７から受け取った読み出し要求を即時に受け付ける。ここで、上記したように、機能ブロック９０７は、１回のデータ読み出し要求によりデータ量２Ｘの読み出しデータを受信する必要がある。一方、メモリ９０３は、１回のデータ読み出し要求に対してデータ量Ｘの読み出しデータを送信可能である。つまり、メモリ９０３は、機能ブロック９０７からのデータ読み出し要求に対し必要な読み出しデータの全てを一度に送信することができない。
【００３２】
そのため、調停回路９１１は、機能ブロック９０７からの１回のデータ読み出し要求を２回のデータ読み出し要求（前半のデータ読み出し要求及び後半のデータ読み出し要求と称す）に分割する必要があると判断する。そして、調停回路９１１は、前半のデータ読み出し要求をインターフェイス回路９０９に転送するとともに、後半のデータ読み出し要求のタイミングをスケジューリングする（時刻ｔ２）。インターフェイス回路９０９は、調停回路９１１から受け取った読み出し要求に応じたコマンド信号及びアドレス信号を生成し、メモリ９０３に対して出力する（時刻ｔ３）。
【００３３】
ここで、メモリ９０３では、データの読み出し要求や書き込み要求を受け付ける時間間隔（ランダムサイクル）ｔＲＣの最小値が、メモリコア９１３の動作速度に応じて予め規定されている。そのため、調停回路９１１は、ＦＰＧＡ９０１からメモリ９０３へのアクセス間隔が時間間隔ｔＲＣの最小値以上となるように、後半のデータ読み出し要求を保留する（時刻ｔ２〜ｔ４）。時刻ｔ４になると、調整回路９１１は、保留されていた後半のデータ読み出し要求を、インターフェイス回路９０９に転送する。その後の動作は、図１１Ａの場合と同様であるため説明を省略する。
【００３４】
図１１Ｃの例では、機能ブロック９０５がデータの読み出し要求を出してから当該データを受け取るまでの期間は、図１１Ａの例と比較して４クロックサイクル多い、１３クロックサイクル（時刻ｔ１〜ｔ５）である。つまり、クロックサイクル数が増加した分だけデータ処理性能が低下している。
【００３５】
このように、バースト長等のアクセスモードの異なる複数の機能ブロックによって一つのメモリが共用されている場合、データ処理性能が低下するという問題が生じてしまう。
【００３６】
まとめると、シェアド・メモリ方式では、複数の機能ブロックが一つのメモリに同時にアクセスしようとした場合にデータ処理性能が低下するという問題があった。さらに、バースト長等のアクセスモードの異なる複数の機能ブロックによって一つのメモリが共用されている場合、データ処理性能がさらに低下するという問題があった。特に、ＦＰＧＡに設けられた機能ブロックの数が増加すると調停動作が頻発するため、データの処理性能の低下は顕著になる。一方、性能を重視して一つのメモリコアを共用する機能ブロックの数を少なくすると、メモリコアの数が機能ブロック数に左右されてしまいプラットフォームの変更を余儀なくされる。さらに、増加したメモリ容量を使い切れないというコスト的な問題が生じる。以上のような問題に対し、データ処理性能の低下を防止することが可能なメモリ（半導体装置）が求められていた。
【００３７】
以下、図面を参照しつつ、本発明の実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として本発明の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の記号を付し、重複する説明は省略する。
【００３８】
実施の形態１
図１は、本発明の実施の形態１にかかるメモリ（半導体装置）を備えた半導体集積回路を示すブロック図である。本実施の形態にかかるメモリは、独立にアクセス可能な複数のメモリコアと、外部回路から複数のメモリコアの何れかへのアクセスをインターフェイスする複数のインターフェイス回路と、複数のメモリコアのそれぞれを複数のインターフェイス回路のうち何れか一つのインターフェイス回路に接続させるように信号経路を選択する選択回路と、外部回路から複数のメモリコアへのそれぞれのアクセスモードに応じて前記複数のメモリコアのそれぞれの動作モードを切り替える制御部と、を備える。それにより、本実施の形態にかかるメモリは、複数の機能ブロックから同一のメモリコアに対して同時に読み書き要求が発生せず調停回路による調停を行う必要がないため、データ処理性能の低下を防止することができる。さらに、本実施の形態にかかるメモリは、外部回路から複数のメモリコアへのそれぞれのアクセスモードに応じて複数のメモリコアのそれぞれの動作モードを切り替えることができるため、バースト長等のアクセスモードの異なる複数の機能ブロックからアクセスがあった場合でも、データ処理性能の低下を防止することができる。以下、具体的に説明する。
【００３９】
図１に示す半導体集積回路は、複数の機能ブロックを有する集積回路（外部回路）１０１と、メモリ１０２と、を備える。なお、集積回路１０１は、例えば、ソフトウェアによりその構成を変更可能なＦＰＧＡ（Field Programmable Gate Array）である。以下では、集積回路１０１がＦＰＧＡである場合を例に説明する（以下、ＦＰＧＡ１０１と称す）。
【００４０】
ＦＰＧＡ１０１は、プログラミングされることにより、４つの独立した機能ブロック１０３−１〜１０３−４と、インターフェイス回路１０４−１〜１０４−４と、を有する。インターフェイス回路１０４−１〜１０４−４は、それぞれ機能ブロック１０３−１〜１０３−４からメモリ１０２へのアクセスをインターフェイスする回路である。なお、ＦＰＧＡ１０１は、図示していないが、機能ブロック１０３−１〜１０３−４やメモリ１０２に供給されるクロック信号を生成する回路や、後述する切替信号（切替情報）Ｓ１を生成する回路をさらに有する。
【００４１】
メモリ１０２は、独立にアクセス可能な４つのメモリコア（第１のメモリコア）１０６−１、メモリコア（第２のメモリコア）１０６−２、メモリコア１０６−３及びメモリコア１０６−４を備える。さらに、メモリ１０２は、インターフェイス回路（第１のバスインターフェイス回路）１０５−１、インターフェイス回路（第２のバスインターフェイス回路）１０５−２、インターフェイス回路１０５−３及びインターフェイス回路１０５−４を備える。さらに、メモリ１０２は、選択回路１０７−１，１０７−２と、モード情報記憶部１０８−１，１０８−２と、アクセス制御部１１０−１〜１１０−４と、を備える。なお、メモリコア１０６−１，１０６−２によりメモリアレイＭ１が構成される。メモリコア１０６−３，１０６−４によりメモリアレイＭ２が構成される。また、アクセス制御部１１０−１〜１１０−４により制御部が構成される。ＦＰＧＡ１０１とメモリ１０２との間では、外部バスを介して信号伝達が行われる。
【００４２】
メモリコア１０６−１〜１０６−４は、それぞれデータを記憶するためのメモリセル（記憶領域）を複数有する。アクセス制御部１１０−１〜１１０−４は、ぞれぞれ、モード設定レジスタ１０９−１〜１０９−４（後述）に記憶されたモード情報に基づいて、メモリコア１０６−１〜１０６−４の動作モードを切り替える。メモリコア１０６−１〜１０６−４は、それぞれ、アクセス制御部１１０−１〜１１０−４によって設定された動作モードにて動作する。それにより、ＦＰＧＡ１０１は、所望のアクセスモードにて、メモリコア１０６−１〜１０６−４にアクセスすることが可能になる。より具体的には、ＦＰＧＡ１０１は、モード設定レジスタ１０９−１〜１０９−４に記憶されたモード情報により特定されるアクセスモードにて、メモリコア１０６−１〜１０６−４にアクセスすることが可能になる。
【００４３】
メモリコア１０６−１〜１０６−４では、アドレス信号（ＡＤＤ）によって指定されたメモリセルに対しデータが書き込まれ、又は、アドレス信号によって指定されたメモリセルに記憶されたデータが読み出される。なお、データの読み出し及び書き込みは、コマンド信号（ＣＭＤ）に含まれるライトイネーブル信号によって切り替えられる。
【００４４】
インターフェイス回路１０５−１〜１０５−４は、ＦＰＧＡ１０１からメモリコア１０６−１〜１０６−４のいずれかへのアクセスをインターフェイスする回路である。なお、インターフェイス回路１０５−１〜１０５−４は、ＦＰＧＡ１０１から供給される切替信号（切替情報）Ｓ１に基づいてそれぞれ活性化されるか否か（使用されるか否か）が制御される。
【００４５】
選択回路１０７−１は、インターフェイス回路１０５−１，１０５−２とメモリコア１０６−１，１０６−２との間に設けられる。選択回路１０７−１は、ＦＰＧＡ１０１から供給される切替信号Ｓ１に基づいて、インターフェイス回路１０５−１，１０５−２とメモリコア１０６−１，１０６−２との間の信号経路を選択する。より具体的には、選択回路１０７−１は、複数のメモリコア１０６−１，１０６−２のそれぞれを、複数のインターフェイス回路１０５−１，１０５−２のうち何れか一つのインターフェイス回路に接続させるように信号経路を選択する。換言すると、選択回路１０７−１は、活性化されたインターフェイス回路が互いに異なるメモリコアに接続されるように、当該インターフェイス回路とメモリコア１０６−１，１０６−２との間の信号経路を選択する。ここで、「活性化されたインターフェイス回路」とは、インターフェイス回路１０５−１，１０５−２のうち、ＦＰＧＡ１０１からメモリアレイＭ１（メモリコア１０６−１，１０６−２）へのアクセスを実際にインターフェイスしている回路のことである。
【００４６】
選択回路１０７−２は、インターフェイス回路１０５−３，１０５−４とメモリコア１０６−３，１０６−４との間に設けられる。選択回路１０７−２は、ＦＰＧＡ１０１から供給される切替信号Ｓ１に基づいて、インターフェイス回路１０５−３，１０５−４とメモリコア１０６−３，１０６−４との間の信号経路を選択する。より具体的には、選択回路１０７−２は、複数のメモリコア１０６−３，１０６−４のそれぞれを、複数のインターフェイス回路１０５−３，１０５−４のうち何れか一つのインターフェイス回路に接続させるように信号経路を選択する。換言すると、選択回路１０７−２は、活性化されたインターフェイス回路が互いに異なるメモリコアに接続されるように、当該インターフェイス回路とメモリコア１０６−３，１０６−４との間の信号経路を選択する。ここで、「活性化されたインターフェイス回路」とは、インターフェイス回路１０５−３，１０５−４のうち、ＦＰＧＡ１０１からメモリアレイＭ２（メモリコア１０６−３，１０６−４）へのアクセスを実際にインターフェイスしている回路のことである。
【００４７】
図１の例では、ＦＰＧＡ１０１からメモリ１０２に対してＨレベルの切替信号Ｓ１が供給されている。それにより、メモリ１０２では、インターフェイス回路１０５−１〜１０５−４は、選択回路１０７−１，１０７−２を介してそれぞれメモリコア１０６−１〜１０６−４に接続される。つまり、インターフェイス回路１０５−１〜１０５−４は、いずれも活性化される。
【００４８】
より具体的には、図１の例では、機能ブロック１０３−１とメモリコア１０６−１との間の信号伝達は、ＦＰＧＡ１０１側のインターフェイス回路１０４−１及びメモリ１０２側のインターフェイス回路１０５−１を介して行われる。機能ブロック１０３−２とメモリコア１０６−２との間の信号伝達は、ＦＰＧＡ１０１側のインターフェイス回路１０４−２及びメモリ１０２側のインターフェイス回路１０５−２を介して行われる。機能ブロック１０３−３とメモリコア１０６−３との間の信号伝達は、ＦＰＧＡ１０１側のインターフェイス回路１０４−３及びメモリ１０２側のインターフェイス回路１０５−３を介して行われる。機能ブロック１０３−４とメモリコア１０６−４との間の信号伝達は、ＦＰＧＡ１０１側のインターフェイス回路１０４−４及びメモリ１０２側のインターフェイス回路１０５−４を介して行われる。
【００４９】
このように、複数のメモリコア１０６−１〜１０６−４は、それぞれ、複数のインターフェイス回路１０５−１〜１０５−４のうち何れか一つのインターフェイス回路に接続されている。換言すると、活性化されているインターフェイス回路１０５−１〜１０５−４は、互いに異なるメモリコアに接続されている。
【００５０】
なお、活性化されているインターフェイス回路が互いに異なるメモリコアに接続されるのであれば、例えば、インターフェイス回路１０５−１がメモリコア１０６−２に接続され、インターフェイス回路１０５−２がメモリコア１０６−１に接続されるように信号経路が選択されても良い。
【００５１】
モード情報記憶部１０８−１は、チャンネル毎に個別にモード情報を記憶する部である。モード情報記憶部１０８−１は、メモリコア１０６−１，１０６−２に対応するモード設定レジスタ１０９−１，１０９−２を有する。モード設定レジスタ１０９−１，１０９−２は、それぞれメモリコア１０６−１，１０６−２のモード情報（第１及び第２のモード情報）を記憶する。なお、モード情報とは、ＦＰＧＡ１０１からメモリコアへのアクセスモード（例えばバースト長）を特定するための情報である。本実施の形態では、各モード設定レジスタ１０９−１，１０９−２に記憶されるモード情報は、動作モード設定時において、ＦＰＧＡ１０１からアドレス信号線及びコマンド信号線を伝達しインターフェイス回路１０５−１を介して供給される。
【００５２】
アクセス制御部１１０−１は、モード設定レジスタ１０９−１に記憶されたモード情報に基づいて、メモリコア１０６−１の動作モードを切り替える。メモリコア１０６−１は、アクセス制御部１１０−１により設定された動作モードにて動作する。それにより、ＦＰＧＡ１０１（ここでは機能ブロック１０３−１）は、所望のアクセスモードにてメモリコア１０６−１にアクセスすることが可能になる。より具体的には、ＦＰＧＡ１０１は、モード設定レジスタ１０９−１に記憶されたモード情報により特定されるアクセスモードにて、メモリコア１０６−１にアクセスすることが可能になる。
【００５３】
同様にして、アクセス制御部１１０−２は、モード設定レジスタ１０９−２に記憶されたモード情報に基づいて、メモリコア１０６−２の動作モードを切り替える。メモリコア１０６−２は、アクセス制御部１１０−２により設定された動作モードにて動作する。それにより、ＦＰＧＡ１０１（ここでは機能ブロック１０３−２）は、所望のアクセスモードにてメモリコア１０６−２にアクセスすることが可能になる。より具体的には、ＦＰＧＡ１０１（ここでは機能ブロック１０３−２）は、モード設定レジスタ１０９−２に記憶されたモード情報により特定されるアクセスモードにて、メモリコア１０６−２にアクセスすることが可能になる。動作モード設定の詳細については後述する。
【００５４】
モード情報記憶部１０８−２は、チャンネル毎に個別にモード情報を記憶する部である。モード情報記憶部１０８−２は、メモリコア１０６−３，１０６−４に対応するモード設定レジスタ１０９−３，１０９−４を有する。モード設定レジスタ１０９−３，１０９−４は、それぞれメモリコア１０６−３，１０６−４のモード情報を記憶する。本実施の形態では、各モード設定レジスタ１０９−３，１０９−４に記憶されるモード情報は、動作モード設定時において、ＦＰＧＡ１０１からアドレス信号線及びコマンド信号線を伝達しインターフェイス回路１０５−３を介して供給される。
【００５５】
アクセス制御部１１０−３は、モード設定レジスタ１０９−３に記憶されたモード情報に基づいて、メモリコア１０６−３の動作モードを切り替える。メモリコア１０６−３は、アクセス制御部１１０−３により設定された動作モードにて動作する。それにより、ＦＰＧＡ１０１（ここでは機能ブロック１０３−３）は、所望のアクセスモードにてメモリコア１０６−３にアクセスすることが可能になる。より具体的には、ＦＰＧＡ１０１（ここでは機能ブロック１０３−３）は、モード設定レジスタ１０９−３に記憶されたモード情報により特定されるアクセスモードにて、メモリコア１０６−３にアクセスすることが可能になる。
【００５６】
同様にして、アクセス制御部１１０−４は、モード設定レジスタ１０９−４に記憶されたモード情報に基づいて、メモリコア１０６−４の動作モードを切り替える。メモリコア１０６−４は、アクセス制御部１１０−４により設定された動作モードにて動作する。それにより、ＦＰＧＡ１０１（ここでは機能ブロック１０３−４）は、所望のアクセスモードにてメモリコア１０６−４にアクセスすることが可能になる。より具体的には、ＦＰＧＡ１０１（ここでは機能ブロック１０３−４）は、モード設定レジスタ１０９−４に記憶されたモード情報により特定されるアクセスモードにて、メモリコア１０６−４にアクセスすることが可能になる。
【００５７】
ＦＰＧＡ１０１は、メモリ１０２にアクセスを必要とする機能ブロックの数に応じた信号レベルの切替信号Ｓ１を生成し、外部端子ＧＰＩＯからメモリ１０２に対して出力する。さらに、ＦＰＧＡ１０１は、クロック信号ＣＫ１〜ＣＫ４を生成しメモリ１０２に対して出力する。クロック信号ＣＫ１〜ＣＫ４は、それぞれアクセス制御部１１０−１〜１１０−４に供給される。アクセス制御部１１０−１〜１１０−４は、ＦＰＧＡ１０１からメモリコア１０６−１〜１０６−４へのアクセスをそれぞれクロック信号ＣＫ１〜ＣＫ４に同期して実行する。つまり、メモリ１０２は、メモリコア１０６−１〜１０６−４をそれぞれ異なる動作周波数で動作させることができる。換言すると、メモリ１０２は、チャンネル毎に異なる動作周波数で動作させることができる。なお、クロック信号ＣＫ１は、第１のクロック信号と称す場合がある。クロック信号ＣＫ２は、第２のクロック信号と称す場合が有る。
【００５８】
図２に示す半導体集積回路は、図１に示すＦＰＧＡ１０１を再プログラミングしてＦＰＧＡ２０１としたものである。具体的には、ＦＰＧＡ２０１は、再プログラミングされることにより、２つの独立した機能ブロック２０３−１，２０３−２と、インターフェイス回路２０４−１〜２０４−４と、を有する。その他の回路構成は図１の場合と同様であるため説明を省略する。
【００５９】
インターフェイス回路２０４−１，２０４−３は、それぞれ機能ブロック２０３−１，２０３−２からメモリ１０２へのアクセスをインターフェイスする回路である。一方、インターフェイス回路２０４−２，２０４−４は、メモリ１０２との間のインターフェイスに使用されない。
【００６０】
図２の例では、ＦＰＧＡ２０１からメモリ１０２に対してＬレベルの切替信号Ｓ１が供給されている。それにより、メモリ１０２では、インターフェイス回路１０５−１が選択回路１０７−１を介してメモリコア１０６−１，１０６−２に接続され、インターフェイス回路１０５−３が選択回路１０７−２を介してメモリコア１０６−３，１０４−４に接続される。つまり、インターフェイス回路１０５−１〜１０５−４のうちインターフェイス回路１０５−１，１０５−３のみが活性化される（実際に使用される）。
【００６１】
つまり、図２の例では、機能ブロック２０３−１とメモリコア１０６−１，１０６−２との間の信号伝達は、ＦＰＧＡ２０１側のインターフェイス回路２０４−１及びメモリ１０２側のインターフェイス回路１０５−１を介して行われる。機能ブロック２０３−２とメモリコア１０６−３，１０６−４との間の信号伝達は、ＦＰＧＡ２０１側のインターフェイス回路２０４−３及びメモリ１０２側のインターフェイス回路１０５−３を介して行われる。
【００６２】
このように、複数のメモリコア１０６−１〜１０６−４は、それぞれ、複数のインターフェイス回路１０５−１〜１０５−４のうち何れか一つのインターフェイス回路に接続されている。換言すると、活性化されているインターフェイス回路１０５−１，１０５−３は、互いに異なるメモリコアに接続されている。
【００６３】
一方、インターフェイス回路１０５−２，１０５−４は使用されない。したがって、インターフェイス回路１０５−２，１０５−４には、例えば、ＦＰＧＡ２０１からの信号の代わりに固定信号（所定の論理レベルの電圧）が供給される。それにより、入力端子オープンによるフローティングを防ぐことができる。
【００６４】
なお、活性化されているインターフェイス回路が互いに異なるメモリコアに接続されるのであれば、例えば、インターフェイス回路１０５−１がメモリコア１０６−１にのみ接続され、インターフェイス回路１０５−３がメモリコア１０６−３にのみ接続されるように信号経路が選択されても良い。
【００６５】
このように、本実施の形態にかかるメモリ１０２では、選択回路１０７−１，１０７−２が、活性化されている（実際に使用される）インターフェイス回路を互いに異なるメモリコアに接続させるように、当該インターフェイス回路とメモリアレイとの間の信号経路を選択する。換言すると、選択回路１０７−１，１０７−２は、複数のメモリコアのそれぞれを複数のインターフェイス回路のうち何れか一つのインターフェイス回路に接続させるように信号経路を選択する。それにより、本実施の形態にかかるメモリ１０２は、複数の機能ブロックから同一のメモリコアに対して同時に読み書き要求が発生せず調停回路による調停を行う必要がないため、データ処理性能の低下を防止することができる。なお、上記の例では、メモリ１０２において活性化されるインターフェイス回路が４個又は２個である場合を例に説明したが、これに限られない。活性化されるインターフェイス回路は任意に変更可能である。
【００６６】
次に、メモリ１０２の動作モードの設定方法について、図３及び図４を用いてさらに詳細に説明する。
【００６７】
なお、動作モード設定時にモード情報記憶部１０８−１，１０８−２にそれぞれ供給されるモード情報は、常に活性化されているインターフェイス回路を介して供給されることが好ましい。それにより、モード情報記憶部１０８−１，１０８−２へのモード情報の供給ができなくなるという問題は生じなくなる。本実施の形態では、動作モード設定時にモード情報記憶部１０８−１，１０８−２に供給されるモード情報は、それぞれ常に活性化されているインターフェイス回路１０５−１，１０５−３を介して供給される場合を例に説明する。
【００６８】
図３は、ＦＰＧＡ（１０１又は２０１）からメモリ１０２に供給されるコマンド信号及びアドレス信号の関係を示す図である。なお、図３では、ＦＰＧＡ（１０１又は２０１）からインターフェイス回路１０５−１に供給されるコマンド信号及びアドレス信号について説明するが、ＦＰＧＡ（１０１又は２０１）からインターフェイス回路１０５−３に供給されるコマンド信号及びアドレス信号の場合も同様である。したがって、インターフェイス回路１０５−３に供給されるコマンド信号及びアドレス信号についての説明は省略する。
【００６９】
図３に示すように、インターフェイス回路１０５−１は、コマンド信号として、チップセレクト信号ＣＳＮ＿１、ライトイネーブル信号ＷＥＮ＿１及びリフレッシュ信号ＲＥＦＮ＿１をＦＰＧＡから受信する。また、インターフェイス回路１０５−１は、アドレス信号として、ｎ（ｎは自然数）ビットのアドレス信号Ａ（ｎ−１）＿１〜Ａ０＿１をＦＰＧＡから受信する。
【００７０】
例えば、チップセレクト信号ＣＳＮ＿１が論理値１の場合、インターフェイス回路１０５−１に接続されたメモリコアに対してデータの書き込み等は行われない（図３のＮＯＰ）。
【００７１】
例えば、チップセレクト信号ＣＳＮ＿１が論理値０、ライトイネーブル信号ＷＥＮ＿１が論理値１及びリフレッシュ信号ＲＥＦＮ＿１が論理値１の場合、アドレス信号Ａ（ｎ−１）＿１〜Ａ０＿１によって指定されたメモリセルに記憶されたデータの読み出しが行われる（図３のＲＥＡＤ）。
【００７２】
例えば、チップセレクト信号ＣＳＮ＿１が論理値０、ライトイネーブル信号ＷＥＮ＿１が論理値０及びリフレッシュ信号ＲＥＦＮ＿１が論理値１の場合、アドレス信号Ａ（ｎ−１）＿１〜Ａ０＿１によって指定されたメモリセルに対してデータの書き込みが行われる（図３のＷＲＩＴＥ）。
【００７３】
例えば、チップセレクト信号ＣＳＮ＿１が論理値０、ライトイネーブル信号ＷＥＮ＿１が論理値１及びリフレッシュ信号ＲＥＦＮ＿１が論理値０の場合、インターフェイス回路１０５−１に接続されたメモリコアに対してリフレッシュが実行される（図３のＲＥＦＲＥＳＨ）。
【００７４】
例えば、チップセレクト信号ＣＳＮ＿１が論理値０、ライトイネーブル信号ＷＥＮ＿１が論理値０及びリフレッシュ信号ＲＥＦＮ＿１が論理値０の場合、即ち、動作モード設定時では、アドレス信号Ａ（ｎ−１）＿１〜Ａ０＿１に含まれるモード情報がモード情報記憶部１０８−１に記憶される（図３のＭＲＳ）。
【００７５】
図４は、動作モード設定時にＦＰＧＡ（１０１又は２０１）からメモリ１０２に供給されるアドレス信号を説明するための図である。なお、図４では、ＦＰＧＡ（１０１又は２０１）からインターフェイス回路１０５−１に供給されるアドレス信号について説明するが、ＦＰＧＡ（１０１又は２０１）からインターフェイス回路１０５−３に供給されるアドレス信号の場合も同様である。したがって、インターフェイス回路１０５−３に供給されるアドレス信号についての説明は省略する。
【００７６】
図４に示すように、チップセレクト信号ＣＳＮ＿１が論理値０、ライトイネーブル信号ＷＥＮ＿１が論理値０及びリフレッシュ信号ＲＥＦＮ＿１が論理値０の場合（図３のＭＲＳの場合）、即ち、動作モード設定時、アドレス信号Ａ（ｎ−１）＿１〜Ａ０＿１には、モード情報記憶部１０８−１に記憶させるためのモード情報が含まれている。
【００７７】
まず、図１に示す回路構成の場合におけるメモリ１０２の動作モードの設定方法について図４を参照して説明する。図１に示す回路構成の場合、チャンネル１用（モード設定レジスタ１０９−１用）のモード情報（第１のモード情報）としてアドレス信号Ａ４＿１〜Ａ０＿１が用いられ、チャンネル２用（モード設定レジスタ１０９−２用）のモード情報（第２のモード情報）としてアドレス信号Ａ９＿１〜Ａ５＿１が用いられる。
【００７８】
アドレス信号Ａ０＿１には、インターフェイス回路１０５−１に設けられた複数の外部端子のうち、データの受け渡しをする外部端子として、双方向の入出力端子を使用するか入力専用端子及び出力専用端子を使用するか、を決定するための情報が含まれている。例えば、アドレス信号Ａ０＿１が論理値０の場合、データの受け渡しをする外部端子として双方向の入出力端子が使用される（図４のＣｏｍｍｏｎ  Ｉ／Ｏ）。一方、アドレス信号Ａ０＿１が論理値１の場合、データの受け渡しをする外部端子として入力専用端子及び出力専用端子が使用される（図４のＳｅｐａｒａｔｅｄ  Ｉ／Ｏ）。
【００７９】
アドレス信号Ａ２＿１，Ａ１＿１には、メモリコア１０６−１から読み出されるデータ又はメモリコア１０６−１に書き込まれるデータのバースト長を決定するための情報が含まれている。例えば、アドレス信号Ａ２＿１が論理値０、アドレス信号Ａ１＿１が論理値０の場合、バースト長は"２"となる。アドレス信号Ａ２＿１が論理値０、アドレス信号Ａ１＿１が論理値１の場合、バースト長は"４"となる。アドレス信号Ａ２＿１が論理値１、アドレス信号Ａ１＿１が論理値０の場合、バースト長は"８"となる。
【００８０】
アドレス信号Ａ４＿１，Ａ３＿１には、メモリコア１０６−１におけるランダムサイクル時間ｔＲＣ、ライトレイテンシーｔＷＬ及びリードレイテンシーｔＲＬを決定するための情報が含まれている。例えば、アドレス信号Ａ４＿１が論理値０、アドレス信号Ａ３＿１が論理値０の場合、ランダムサイクル時間ｔＲＣは１クロックサイクル、ライトレイテンシーｔＷＬは２クロックサイクル、及び、リードレイテンシーｔＲＬは１クロックサイクルとなる。また、このときのメモリコア１０６−１の動作周波数は２００ＭＨｚとなる。
【００８１】
アドレス信号Ａ４＿１が論理値０、アドレス信号Ａ３＿１が論理値１の場合、ランダムサイクル時間ｔＲＣは２クロックサイクル、ライトレイテンシーｔＷＬは５クロックサイクル、及び、リードレイテンシーｔＲＬは３クロックサイクルとなる。また、このときのメモリコア１０６−１の動作周波数は４００ＭＨｚとなる。アドレス信号Ａ４＿１が論理値１、アドレス信号Ａ３＿１が論理値０の場合、ランダムサイクル時間ｔＲＣは４クロックサイクル、ライトレイテンシーｔＷＬは９クロックサイクル、及び、リードレイテンシーｔＲＬは６クロックサイクルとなる。また、このときのメモリコア１０６−１の動作周波数は６００ＭＨｚとなる。
【００８２】
同様にして、アドレス信号Ａ５＿１には、インターフェイス回路１０５−２に設けられた複数の外部端子のうち、データの受け渡しをする外部端子として、双方向の入出力端子を使用するか、入力専用端子及び出力専用端子を使用するか、を決定するための情報が含まれている。アドレス信号Ａ６＿１，Ａ７＿１には、メモリコア１０６−２から読み出されるデータ又はメモリコア１０６−２に書き込まれるデータのバースト長を決定するための情報が含まれている。アドレス信号Ａ８＿１，Ａ９＿１には、メモリコア１０６−２におけるランダムサイクル時間ｔＲＣ、ライトレイテンシーｔＷＬ及びリードレイテンシーｔＲＬを決定するための情報が含まれている。
【００８３】
モード設定レジスタ１０９−１には、動作モード設定時において、アドレス信号Ａ４＿１〜Ａ０＿１の情報（モード情報）が記憶される。アクセス制御部１１０−１は、モード設定レジスタ１０９−１に記憶されたモード情報に基づいてメモリコア１０６−１の動作モードを切り替える。それにより、通常動作時において、メモリコア１０６−１は、アクセス制御部１１０−１によって設定された動作モードにて動作する。それにより、機能ブロック１０３−１は、モード設定レジスタ１０９−１に記憶されたモード情報により特定されるアクセスモードにて、メモリコア１０６−１へのアクセスが可能になる。
【００８４】
また、モード設定レジスタ１０９−２には、動作モード設定時において、アドレス信号Ａ９＿１〜Ａ５＿１の情報（モード情報）が記憶される。アクセス制御部１１０−２は、モード設定レジスタ１０９−２に記憶されたモード情報に基づいてメモリコア１０６−２の動作モードを切り替える。それにより、通常動作時において、メモリコア１０６−２は、アクセス制御部１１０−２によって設定された動作モードにて動作する。それにより、機能ブロック１０３−２は、モード設定レジスタ１０９−２に記憶されたモード情報により特定されるアクセスモードにて、メモリコア１０６−２へのアクセスが可能になる。
【００８５】
同様にして、モード設定レジスタ１０９−３，１０９−４には、動作モード設定時において、インターフェイス回路１０５−３に供給されるアドレス信号の情報（モード情報）が記憶される。アクセス制御部１１０−３，１１０−４は、それぞれ、モード設定レジスタ１０９−３，１０９−４に記憶されたモード情報に基づいて、メモリコア１０６−３，１０６−４の動作モードを切り替える。それにより、通常動作時において、メモリコア１０６−３，１０６−４は、それぞれ、アクセス制御部１１０−３，１１０−４によって設定された動作モードにて動作する。それにより、機能ブロック１０３−３，１０３−４は、それぞれ、モード設定レジスタ１０９−３，１０９−４に記憶されたモード情報により特定されるアクセスモードにて、メモリコア１０６−３，１０６−４へのアクセスが可能になる。
【００８６】
次に、図２に示す回路構成の場合におけるメモリ１０２の動作モードの設定について図４を参照して説明する。図２に示す回路構成の場合、チャンネル１用（モード設定レジスタ１０９−１，１０９−２用）のモード情報としてアドレス信号Ａ４＿１〜Ａ０＿１が用いられる。つまり、モード設定レジスタ１０９−１，１０９−２には、共通のモード情報が記憶される。なお、モード設定レジスタ１０９−１用のモード情報としてアドレス信号Ａ４＿１〜Ａ０＿１が用いられ、モード設定レジスタ１０９−２用のモード情報としてアドレス信号Ａ９＿１〜Ａ５＿１が用いられても良い。このとき、これらのモード情報は、互いに同じ内容の情報となっている。具体的な動作モードの設定方法については、上記と同様であるため説明を省略する。
【００８７】
この場合、通常動作時において、機能ブロック２０３−１は、モード設定レジスタ１０９−１に記憶されたモード情報により特定されるアクセスモードにて、メモリコア１０６−１へのアクセスが可能になる。また、機能ブロック２０３−１は、モード設定レジスタ１０９−２に記憶されたモード情報により特定されるアクセスモードにて、メモリコア１０６−２へのアクセスが可能になる。
【００８８】
同様にして、通常動作時において、機能ブロック２０３−２は、モード設定レジスタ１０９−３に記憶されたモード情報により特定されるアクセスモードにて、メモリコア１０６−３へのアクセスが可能になる。また、機能ブロック２０３−２は、モード設定レジスタ１０９−４に記憶されたモード情報により特定されるアクセスモードにて、メモリコア１０６−４へのアクセスが可能になる。
【００８９】
なお、上記したメモリ１０２の動作モードの設定条件は、あくまでも一例であり、各メモリコアの能力を超えない範囲内で様々な設定条件に変更可能である。また、モード情報の伝達に用いられるアドレス信号のビット幅は、１チャンネル当たり５ビット幅である場合に限られず、適宜変更可能である。このように、アドレス信号線及びコマンド信号線を用いてモード情報を伝達することにより、モード情報の伝達用に追加の信号線及び外部端子が不要になるため、回路規模の増大を抑制することが可能になる。
【００９０】
（タイミングチャート）
図５Ａは、図１に示す半導体集積回路の動作の一例を示すタイミングチャートである。より具体的には、図５Ａは、機能ブロック１０３−１がメモリ１０２に対してデータの読み出し要求を行うと同時に、機能ブロック１０３−２がメモリ１０２に対してデータの書き込み要求を行った場合のタイミングチャートである。つまり、図５Ａは、図１１Ｂに示すタイミングチャートと同じ条件のアクセス要求があった場合のタイミングチャートである。
【００９１】
なお、機能ブロック１０３−１〜１０３−３が１回のデータ読み出し要求によりメモリ１０２から受信する必要のある読み出しデータの量は、それぞれデータ量Ｘであるものとする。一方、機能ブロック１０３−４が１回のデータ読み出し要求によりメモリ１０２から受信する必要のある読み出しデータの量は、データ量Ｘの２倍（データ量２Ｘ）であるものとする。つまり、機能ブロック１０３−４は、１回のデータ読み出し要求により、機能ブロック１０３−１の２倍の読み出しデータを受信する必要がある。また、メモリ１０２は、１回のデータ読み出し要求に対して、それぞれデータ量Ｘの読み出しデータを送信可能であるものとする。
【００９２】
まず、機能ブロック１０３−１がインターフェイス回路１０４−１に対して読み出し要求を出すと同時に、機能ブロック１０３−２がインターフェイス回路１０４−２に対して書き込み要求を出す（時刻ｔ１）。このように、機能ブロック１０３−１，１０３−２から出された読み出し要求及び書き込み要求は、調停回路による調停が行われることなくそれぞれ直接インターフェイス回路１０４−１，１０４−２に伝達される。
【００９３】
インターフェイス回路１０４−１は、機能ブロック１０３−１から受け取った読み出し要求に応じたコマンド信号及びアドレス信号を生成し、メモリ１０２に対して出力する。同時に、インターフェイス回路１０４−２は、機能ブロック１０３−２から受け取った書き込み要求に応じたコマンド信号、アドレス信号及び書き込み用のデータ信号を生成し、メモリ１０２に対して出力する（時刻ｔ２）。
【００９４】
メモリ１０２において、インターフェイス回路１０５−１は、ＦＰＧＡ１０１から出力されたコマンド信号及びアドレス信号を受信して、後段のメモリコア１０６−１に転送する（時刻ｔ３）。同時に、インターフェイス回路１０５−２は、ＦＰＧＡ１０１から出力されたコマンド信号、アドレス信号及び書き込み用のデータ信号を受信して、後段のメモリコア１０６−２に転送する（時刻ｔ３）。このように、本実施の形態にかかるメモリ１０２では、活性化されているインターフェイス回路１０５−１，１０５−２が互いに異なるメモリコアに接続される。そのため、複数の機能ブロックから同時に読み書き要求があった場合でも、これらの要求は調停回路により調停されることなく並行して処理が実行される。
【００９５】
メモリコア１０６−１では、所定期間の読み出し動作の後（時刻ｔ３〜ｔ４）、アドレス信号によって指定されたメモリセルに記憶されたデータが読み出される（時刻ｔ４）。インターフェイス回路１０５−１は、メモリコア１０６−１から読み出されたデータをＦＰＧＡ１０１に対して出力する（時刻ｔ４）。一方、メモリコア１０６−２では、メモリコア１０６−２と並行してアクセスが実行され、所定期間の書き込み動作の後、アドレス信号によって指定されたメモリセルにデータが書き込まれる（時刻ｔ３〜ｔ５）。
【００９６】
ＦＰＧＡ１０１において、インターフェイス回路１０４−１は、メモリ１０２から出力されたデータを受信して、読み出し要求の要求元である機能ブロック１０３−１に転送する（時刻ｔ５）。機能ブロック１０３−１は、インターフェイス回路１０４−１から転送されたデータをクロック信号ＣＫ１に同期して取り込む（時刻ｔ６）。このようにして、データの読み出し要求及び書き込み要求に対する一連の動作が完了する。
【００９７】
図５Ａの例では、機能ブロック１０３−１がデータの読み出し要求を出してから当該データを受け取るまでの期間は、同条件の図１１Ｂの例と比較して６クロックサイクル少ない、７クロックサイクル（時刻ｔ１〜ｔ６）である。つまり、クロックサイクル数が減少した分だけデータ処理性能が向上している。
【００９８】
さらに、このときのデータ処理性能は、調停回路の処理時間が省略されるため、図１１Ａのようにデータの読み出し要求が単独であった場合と比較しても２クロックサイクル少なくなる。
【００９９】
このように、本実施の形態にかかるメモリ（半導体装置）では、活性化されているインターフェイス回路を互いに異なるメモリコアに接続させるように、選択回路が当該インターフェイス回路とメモリアレイとの間の信号経路を選択する。換言すると、本実施の形態にかかるメモリ（半導体装置）では、選択回路が、複数のメモリコアのそれぞれを複数のインターフェイス回路のうち何れか一つのインターフェイス回路に接続させるように信号経路を選択する。それにより、本実施の形態にかかるメモリは、複数の機能ブロックから同一のメモリコアに対して同時に読み書き要求が発生せず調停回路による調停を行う必要がないため、データ処理性能の低下を防止することができる。
【０１００】
また、複数の機能ブロックから同時に読み書き要求があった場合でも、これらの読み書き要求はそれぞれ異なるメモリコアにアクセスされるため、図２の場合のように機能ブロックの数が変化しても、これら機能ブロックは常に一定の性能を維持することができる。
【０１０１】
図５Ｂは、図１に示す半導体集積回路の動作の他の例を示すタイミングチャートである。より具体的には、図５Ｂは、機能ブロック１０３−３が単独でメモリ１０２に対してデータの読み出し要求を行った場合のタイミングチャートである。つまり、図５Ｂは、図１１Ａに示すタイミングチャートと同様に、１つの機能ブロックが単独でデータ量Ｘのデータ読み出し要求を行った場合のタイミングチャートである。
【０１０２】
なお、機能ブロック１０３−３は、他の機能ブロック１０３−１，１０３−２，１０３−４と比較して遅い動作周波数で動作可能であるものとする。ここで、メモリ１０２は、上記したように、独立にアクセス可能なメモリコア１０６−１〜１０６−４に対してそれぞれ独自の動作モードを設定することが可能である。つまり、メモリ１０２は、メモリコア１０６−３を他のクロック信号ＣＫ１，ＣＫ２，ＣＫ４よりも遅い周波数のクロック信号ＣＫ３にて動作させるように動作モードを設定することが可能である。それにより、機能ブロック１０３−３は、他の機能ブロックよりも低い所望の動作周波数で動作することが可能となる。
【０１０３】
まず、機能ブロック１０３−３がインターフェイス回路１０４−３に対して読み出し要求を出す（時刻ｔ１）。このように、機能ブロック１０３−３から出力された読み出し要求は、調停回路による調停が行われることなく直接インターフェイス回路１０４−３に伝達される。インターフェイス回路１０４−３は、機能ブロック１０３−３から受け取った読み出し要求に応じたコマンド信号及びアドレス信号を生成し、メモリ１０２に対して出力する（時刻ｔ２）。
【０１０４】
メモリ１０２において、インターフェイス回路１０５−３は、ＦＰＧＡ１０１から出力されたコマンド信号及びアドレス信号を受信して、後段のメモリコア１０６−３に転送する（時刻ｔ３）。メモリコア１０６−３では、所定期間の読み出し動作の後（時刻ｔ３〜ｔ４）、アドレス信号によって指定されたメモリセルに記憶されたデータが読み出される（時刻ｔ４）。インターフェイス回路１０５−３は、メモリコア１０６−３から読み出されたデータをＦＰＧＡ１０１に対して出力する（時刻ｔ４）。
【０１０５】
ＦＰＧＡ１０１において、インターフェイス回路１０４−３は、メモリ１０２から出力されたデータを受信して、読み出し要求の要求元である機能ブロック１０３−３に転送する（時刻ｔ５）。機能ブロック１０３−３は、インターフェイス回路１０４−３から転送されたデータをクロック信号ＣＫ３に同期して取り込む（時刻ｔ６）。このようにして、データの読み出し要求に対する一連の動作が完了する。
【０１０６】
このように、本実施の形態にかかるメモリは、独立にアクセス可能な複数のメモリコアにそれぞれ独自の動作モードを設定することが可能である。換言すると、本実施の形態にかかるメモリは、複数のモード設定レジスタにそれぞれ独自のモード情報を記憶することが可能である。そのため、複数の機能ブロックは、それぞれ所望の動作周波数にてメモリアクセスを行うことが可能になる。つまり、複数の機能ブロックは、図１１Ａの場合と異なり、不必要に速い又は遅い動作周波数にてメモリアクセスを行う必要が無くなる。それにより、本実施の形態にかかるメモリは、データ処理性能の低下をさらに防止することができる。
【０１０７】
さらに、本実施の形態にかかるメモリは、これらメモリコアの動作モードを、アクセス元の機能ブロックのアクセスモードに応じた動作モードに適宜変更することが可能である。換言すると、本実施の形態にかかるメモリは、複数のモード設定レジスタに記憶されたモード情報を適宜変更することが可能である。そのため、ＦＰＧＡ１０１が再プログラミングされることにより機能ブロックが変更された場合でも、それぞれの機能ブロックが所望の動作周波数にてメモリアクセスできるように柔軟に対応することが可能である。
【０１０８】
なお、図５Ｂの例でのデータ処理性能は、調停回路の処理時間が省略されるため、図１１Ａの場合と比較しても２クロックサイクル少なくなる。
【０１０９】
図５Ｃは、図１に示す半導体集積回路の動作の他の例を示すタイミングチャートである。より具体的には、図５Ｃは、機能ブロック１０３−４が単独でメモリ１０２に対してデータの読み出し要求を行った場合のタイミングチャートである。つまり、図５Ｃは、図１１Ｃに示すタイミングチャートと同様に、１つの機能ブロックが単独でデータ量２Ｘのデータ読み出し要求を行った場合のタイミングチャートである。
【０１１０】
ここで、メモリ１０２は、上記したように、独立にアクセス可能なメモリコア１０６−１〜１０６−４に対してそれぞれ独自の動作モードを設定することが可能である。したがって、メモリ１０２は、１回のデータ読み出し要求に対してデータ量２Ｘのデータをメモリコア１０６−４から読み出させるように動作モードを設定することが可能である。つまり、メモリ１０２は、メモリコア１０６−４から読み出されるデータのバースト長を、他のメモリコアの場合の２倍にするように動作モードを設定することが可能である。それにより、機能ブロック１０３−４は、１回のデータ読み出し要求により、調停回路によって読み出し要求を複数回に分割することなく、所望のデータ量（２Ｘ）の読み出しデータを受信することが可能となる。
【０１１１】
まず、機能ブロック１０３−４がインターフェイス回路１０４−４に対して読み出し要求を出す（時刻ｔ１）。このように、機能ブロック１０３−４から出力された読み出し要求は、調停回路による調停が行われることなく直接インターフェイス回路１０４−４に伝達される。インターフェイス回路１０４−４は、機能ブロック１０３−４から受け取った読み出し要求に応じたコマンド信号及びアドレス信号を生成し、メモリ１０２に対して出力する（時刻ｔ２）。
【０１１２】
メモリ１０２において、インターフェイス回路１０５−４は、ＦＰＧＡ１０１から出力されたコマンド信号及びアドレス信号を受信して、後段のメモリコア１０６−４に転送する（時刻ｔ３）。メモリコア１０６−４では、所定期間の読み出し動作の後（時刻ｔ３〜ｔ４）、アドレス信号によって指定されたメモリセルに記憶されたデータが読み出される（時刻ｔ４）。このとき、図５Ｂの場合と比較して２倍のデータ量（２Ｘ）のデータが読み出される（時刻ｔ４〜ｔ６）。インターフェイス回路１０５−４は、メモリコア１０６−４から読み出されたデータをＦＰＧＡ１０１に対して出力する（時刻ｔ４）。
【０１１３】
ＦＰＧＡ１０１において、インターフェイス回路１０４−４は、メモリ１０２から出力されたデータを受信して、読み出し要求の要求元である機能ブロック１０３−４に転送する（時刻ｔ５）。機能ブロック１０３−４は、インターフェイス回路１０４−４から転送されたデータをクロック信号ＣＫ４に同期して取り込む（時刻ｔ６）。このようにして、データの読み出し要求に対する一連の動作が完了する。
【０１１４】
図５Ｃの例では、機能ブロック１０３−４がデータの読み出し要求を出力してから当該データを受け取るまでの期間は、図１１Ｃの場合と比較して６クロックサイクル少ない、７クロックサイクル（時刻ｔ１〜ｔ６）である。つまり、クロックサイクル数が減少した分だけデータ処理性能が向上している。
【０１１５】
このように、本実施の形態にかかるメモリは、独立にアクセス可能な複数のメモリコアにそれぞれ独自の動作モードを設定することが可能である。換言すると、本実施の形態にかかるメモリは、複数のモード設定レジスタにそれぞれ独自のモード情報を記憶することが可能である。そのため、複数の機能ブロックは、図１１Ｃの場合と異なり調停回路によって読み出し要求を複数回に分割することなく、所望のバースト長の読み出しデータを受信することが可能になる。それにより、本実施の形態にかかるメモリは、データ処理性能の低下をさらに防止することができる。
【０１１６】
さらに、本実施の形態にかかるメモリは、これらメモリコアの動作モードを、アクセス元の機能ブロックのアクセスモードに応じた動作モードに適宜変更することが可能である。換言すると、本実施の形態にかかるメモリは、複数のモード設定レジスタに記憶されたモード情報を適宜変更することが可能である。そのため、ＦＰＧＡ１０１が再プログラミングされることにより機能ブロックが変更された場合でも、それぞれの機能ブロックが所望のバースト長の読み出しデータを受信できるように柔軟に対応することが可能である。
【０１１７】
実施の形態２
図６は、本発明の実施の形態２にかかるメモリ（半導体装置）を備えた半導体集積回路を示すブロック図である。図６に示すメモリ１０２ａでは、図１に示すメモリ１０２と比較して、ＦＰＧＡ１０１から切替信号Ｓ１が供給されない。ここで、図６に示すメモリ１０２ａでは、動作モード設定時のアドレス信号に含まれるモード情報に基づいて、選択回路１０７−１，１０７−２による信号経路の選択、及び、インターフェイス回路１０５−１〜１０５−４の活性・非活性が制御される。図６に示す半導体集積回路のその他の構成については、図１に示す半導体集積回路と同様であるため、その説明を省略する。
【０１１８】
図７は、動作モード設定時にＦＰＧＡ１０１からメモリ１０２ａに供給されるアドレス信号を説明するための図である。なお、図７では、ＦＰＧＡ１０１からインターフェイス回路１０５−１に供給されるアドレス信号について説明するが、ＦＰＧＡ１０１からインターフェイス回路１０５−３に供給されるアドレス信号の場合も同様である。したがって、インターフェイス回路１０５−３に供給されるアドレス信号についての説明は省略する。
【０１１９】
図７に示すように、動作モード設定時、アドレス信号Ａ（ｎ−１）＿１〜Ａ０＿１には、モード情報記憶部１０８−１に記憶させるためのモード情報が含まれている。ここで、チャンネル１用のモード情報としてアドレス信号Ａ４＿１〜Ａ０＿１が用いられる。チャンネル２用のモード情報としてアドレス信号Ａ１０＿１〜Ａ６＿１が用いられる。
【０１２０】
そして、アドレス信号Ａ５＿１には、選択回路１０７−１による信号経路の選択、及び、インターフェイス回路１０５−１，１０５−２の活性・非活性、を決定するための情報（切替情報）が含まれている。例えば、アドレス信号Ａ５＿１が論理値０の場合、インターフェイス回路１０５−１とメモリコア１０６−１とが接続され、インターフェイス回路１０５−２とメモリコア１０６−２とが接続されるように、信号経路が選択されることとなる。一方、アドレス信号Ａ５＿１が論理値１の場合、インターフェイス回路１０５−１と２つのメモリコア１０６−１，１０６−２とが接続されるように、信号経路が選択されることとなる。
【０１２１】
このように、本実施の形態にかかるメモリは、モード情報に切替信号Ｓ１に相当する情報を含めることにより、実施の形態１の場合と同様の効果を奏することができる。また、切替信号Ｓ１用の外部端子が不要になるため、回路規模の増大を抑制することが可能になる。
【０１２２】
実施の形態３
図８は、本発明の実施の形態３にかかるメモリ（半導体装置）を備えた半導体集積回路を示すブロック図である。図８に示すメモリ１０２ｂは、図１に示すメモリ１０２と比較して、クロック生成回路１１１をさらに備える。クロック生成回路１１１は、ＦＰＧＡ１０１から供給されるクロック信号ＣＫに基づきそれぞれ独自の周波数のクロック信号ＣＫ１〜ＣＫ４を生成する。例えば、クロック生成回路１１１は、モード設定レジスタ１０９−１〜１０９−４に記憶されたモード情報に基づいて、それぞれ所望の周波数のクロック信号ＣＫ１〜ＣＫ４を生成する。
【０１２３】
このように、本実施の形態にかかるメモリは、クロック生成回路１１１を備えることにより所望の周波数のクロック信号を生成することができるため、各メモリコアの動作モードの条件をより柔軟に設定することが可能となる。
【０１２４】
以上のように、上記実施の形態１〜３にかかるメモリ（半導体装置）では、活性化されているインターフェイス回路を互いに異なるメモリコアに接続させるように、選択回路が当該インターフェイス回路とメモリアレイとの間の信号経路を選択する。換言すると、上記実施の形態にかかるメモリ（半導体装置）では、選択回路が、複数のメモリコアのそれぞれを複数のインターフェイス回路のうち何れか一つのインターフェイス回路に接続させるように信号経路を選択する。それにより、上記実施の形態にかかるメモリは、複数の機能ブロックから同一のメモリコアに対して同時に読み書き要求が発生せず調停回路による調停を行う必要がないため、データ処理性能の低下を防止することができる。
【０１２５】
さらに、上記実施の形態１〜３にかかるメモリは、独立にアクセス可能な複数のメモリコアにそれぞれ独自の動作モードを設定することが可能である。換言すると、上記実施の形態１〜３にかかるメモリは、複数のモード設定レジスタにそれぞれ独自のモード情報を記憶することが可能である。そのため、複数の機能ブロックは、それぞれ所望のアクセスモードにてメモリアクセスを行うことが可能になる。それにより、本実施の形態にかかるメモリは、データ処理性能の低下をさらに防止することができる。
【０１２６】
さらに、上記実施の形態１〜３にかかるメモリは、これらメモリコアの動作モードを、アクセス元の機能ブロックのアクセスモードに応じた動作モードに適宜変更することが可能である。換言すると、上記実施の形態１〜３にかかるメモリは、複数のモード設定レジスタに記憶されたモード情報を適宜変更することが可能である。そのため、ＦＰＧＡが再プログラミングされることにより機能ブロックが変更された場合でも、それぞれの機能ブロックが所望のアクセスモードにてメモリアクセスできるように柔軟に対応することが可能である。
【０１２７】
なお、本発明は上記実施の形態１〜３に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。上記実施の形態１〜３では、メモリが４つのインターフェイス回路と４つのメモリコアを備えた場合を例に説明したが、これに限られず、任意の数のインターフェイス回路及び任意の数のメモリコアを備えた回路構成に適宜変更可能である。
【０１２８】
本発明にかかるメモリは、例えば、高速なデータ処理性能が要求されるルータに搭載される。ルータにおけるデータ処理性能が向上することにより、消費電力の低減も期待できる。なお、ルータとは、図９に示すように異なるネットワーク間を相互接続するネットワーク装置のことである。
【符号の説明】
【０１２９】
１０１  ＦＰＧＡ
１０２，１０２ａ，１０２ｂ  メモリ
１０３−１〜１０３−４  機能ブロック
１０４−１〜１０４−４，１０５−１〜１０５−４  インターフェイス回路
１０６−１〜１０６−４  メモリコア
１０７−１，１０７−２  選択回路
１０８−１，１０８−２  モード情報記憶部
１０９−１〜１０９−４  モード設定レジスタ
１１０−１〜１１０−４  アクセス制御部
１１１  クロック生成回路
２０１  ＦＰＧＡ
２０３−１，２０３−２  機能ブロック
２０４−１〜２０４−４  インターフェイス回路
９０１  ＦＰＧＡ
９０２，９０３  メモリ
９０４〜９０７  機能ブロック
９０８，９０９  インターフェイス回路
９１０，９１１  調停回路
９１２，９１３  メモリコア
９１４，９１５インターフェイス回路
Ｍ１，Ｍ２  メモリアレイ
【図１】
2013058277.tif 000003
【図２】
2013058277.tif 000004
【図３】
2013058277.tif 000005
【図４】
2013058277.tif 000006
【図５Ａ】
2013058277.tif 000007
【図５Ｂ】
2013058277.tif 000008
【図５Ｃ】
2013058277.tif 000009
【図６】
2013058277.tif 000010
【図７】
2013058277.tif 000011
【図８】
2013058277.tif 000012
【図９】
2013058277.tif 000013
【図１０】
2013058277.tif 000014
【図１１Ａ】
2013058277.tif 000015
【図１１Ｂ】
2013058277.tif 000016
【図１１Ｃ】
2013058277.tif 000017