(57)【特許請求の範囲】
【請求項１】
シリアルアクセスが可能であるとともに、シリアルアクセスで使用される端子を用いてパラレルアクセスが可能なメモリにアクセスするための第１アクセスデータが入力され、前記第１アクセスデータをシリアルで出力するシリアルデータ処理回路と、
前記メモリにアクセスするための第２アクセスデータが入力され、前記第２アクセスデータをパラレルで出力するパラレルデータ処理回路と、
前記メモリに対するシリアルアクセスを指示するための第１指示信号が入力されている場合に、シリアルアクセスが可能である前記メモリに、前記シリアルデータ処理回路からの前記第１アクセスデータをシリアルで出力し、前記メモリに対するパラレルアクセスを指示するための第２指示信号が入力されている場合に、パラレルアクセスが可能である前記メモリに、前記パラレルデータ処理回路からの前記第２アクセスデータをパラレルで出力する選択回路と、
を備え、
前記シリアルデータ処理回路は、
所定周期のクロック信号の立ち上がりエッジまたは立下りエッジに同期して前記第１アクセスデータをシリアルで出力し、
前記パラレルデータ処理回路は、
前記クロック信号を前記クロック信号の半周期の整数倍とならない所定時間遅延させた遅延クロック信号を出力する遅延回路と、
前記遅延クロック信号の立ち上がりエッジ及び立下りエッジの両方のエッジに同期して前記第２アクセスデータをパラレルで出力するパラレル出力回路と、
を含み、
前記選択回路は、
前記第１指示信号が入力されている場合に、シリアルに入力される前記第１アクセスデータを前記クロック信号の立ち上がりエッジまたは立下りエッジに同期して受信可能な前記メモリに、前記シリアルデータ処理回路からの前記第１アクセスデータを前記クロック信号の立ち上がりエッジまたは立下りエッジに同期してシリアルで出力し、前記第２指示信号が入力されている場合に、パラレルに入力される前記第２アクセスデータを前記クロック信号の両方のエッジに同期して受信可能な前記メモリに、前記パラレルデータ処理回路からの前記第２アクセスデータを前記遅延クロック信号の両方のエッジに同期してパラレルで出力すること、
を特徴とするメモリ制御回路。
【請求項２】
請求項１に記載のメモリ制御回路であって、
前記第１アクセスデータ及び前記第２アクセスデータの夫々は、
前記メモリに対する書き込みを指示する書き込み指示データと前記メモリに対する書き込みデータとを含むこと、
を特徴とするメモリ制御回路。
【請求項３】
請求項１に記載のメモリ制御回路であって、
前記第１アクセスデータ及び前記第２アクセスデータの夫々は、
前記メモリから処理回路への読み出しを指示する読み出し指示データであり、
前記選択回路は、
前記第１指示信号が入力されている場合に、前記読み出し指示データに応じて前記メモリからシリアルで読み出される第１読み出しデータを、前記シリアルデータ処理回路にシリアルで出力し、前記第２指示信号が入力されている場合に、前記読み出し指示データに応じて所定周期のクロック信号の立ち上がりエッジ及び立下りエッジの夫々から所定の第１時間後から、前記クロック信号の半周期より短い所定の第２時間、前記メモリから、パラレルで読み出される第２読み出しデータを、前記パラレルデータ処理回路にパラレルで出力し、
前記シリアルデータ処理回路は、
前記選択回路からシリアルで出力される前記第１読み出しデータを、前記クロック信号の立ち上がりエッジまたは立下りエッジに同期して受信し、前記第１読み出しデータを前記処理回路が読み取り可能に出力し、
前記パラレルデータ処理回路は、
立ち上がりエッジ及び立下りエッジのタイミングが、前記第２読み出しデータが前記メモリから出力されている期間に入るよう、前記第１時間及び前記第２時間に応じた時間前記クロック信号を遅延させた遅延クロック信号を出力する遅延回路と、
前記選択回路からパラレルで出力される前記第２読み出しデータを、前記遅延回路からの前記遅延クロック信号の立ち上がりエッジ及び立下りエッジの両方のエッジに同期して受信し、前記第２読み出しデータを前記処理回路が読み取り可能に出力するデータ出力回路と、
を含むこと、
を特徴とするメモリ制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御回路に関する。
【背景技術】
【０００２】
ＣＰＵ（Central Processing Unit）及びメモリを搭載した近年の電子機器においては、ＣＰＵがメモリへ円滑にアクセスできるよう、ＣＰＵとメモリとの間にメモリ制御回路が設けられることがある（例えば、特許文献１または特許文献２参照）。また、メモリへのアクセスは、一般的にメモリ制御回路からメモリへ出力されるクロック信号に同期して行われる。したがって、メモリ制御回路がメモリにアクセスする際のクロック信号の周波数を高くすることにより、アクセスを高速にすることが可能である。
【特許文献１】特開２００７−６６１１８号公報
【特許文献２】特開２００７−３０５０７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、一般的な電子機器において、容量の大きいメモリを用いる場合、メモリとメモリ制御回路とは別々に集積化されることが多い。このため、メモリとメモリ制御回路とを接続する際に発生する端子間の寄生容量等の影響から、メモリにアクセスする際のクロック信号の周波数を上昇させることは難しい。また、クロック信号の周波数を上昇させず、メモリ制御回路からメモリへのアクセスを高速にするには、例えば、シリアルアクセスでなくパラレルアクセスを行えばよい。しかしながら、メモリ制御回路がパラレルアクセスするためには、メモリ及びメモリ制御回路の夫々の集積回路に対して必要な端子数がシリアルアクセスする場合と比較して増加するため、夫々の集積回路の実装面積が大きくなるという問題が生じる。
【０００４】
本発明は上記課題を鑑みてなされたものであり、メモリに対するアクセスを高速にすることが可能であるとともに、実装面積の増大を抑制可能なメモリ制御回路を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明のメモリ制御回路は、シリアルアクセスが可能であるとともに、シリアルアクセスで使用される端子を用いてパラレルアクセスが可能なメモリにアクセスするための第１アクセスデータが入力され、前記第１アクセスデータをシリアルで出力するシリアルデータ処理回路と、前記メモリにアクセスするための第２アクセスデータが入力され、前記第２アクセスデータをパラレルで出力するパラレルデータ処理回路と、前記メモリに対するシリアルアクセスを指示するための第１指示信号が入力されている場合に、シリアルアクセスが可能である前記メモリに、前記シリアルデータ処理回路からの前記第１アクセスデータをシリアルで出力し、前記メモリに対するパラレルアクセスを指示するための第２指示信号が入力されている場合に、パラレルアクセスが可能である前記メモリに、前記パラレルデータ処理回路からの前記第２アクセスデータをパラレルで出力する選択回路と、を備え、前記シリアルデータ処理回路は、所定周期のクロック信号の立ち上がりエッジまたは立下りエッジに同期して前記第１アクセスデータをシリアルで出力し、前記パラレルデータ処理回路は、前記クロック信号を前記クロック信号の半周期の整数倍とならない所定時間遅延させた遅延クロック信号を出力する遅延回路と、前記遅延クロック信号の立ち上がりエッジ及び立下りエッジの両方のエッジに同期して前記第２アクセスデータをパラレルで出力するパラレル出力回路と、を含み、前記選択回路は、前記第１指示信号が入力されている場合に、シリアルに入力される前記第１アクセスデータを前記クロック信号の立ち上がりエッジまたは立下りエッジに同期して受信可能な前記メモリに、前記シリアルデータ処理回路からの前記第１アクセスデータを前記クロック信号の立ち上がりエッジまたは立下りエッジに同期してシリアルで出力し、前記第２指示信号が入力されている場合に、パラレルに入力される前記第２アクセスデータを前記クロック信号の両方のエッジに同期して受信可能な前記メモリに、前記パラレルデータ処理回路からの前記第２アクセスデータを前記遅延クロック信号の両方のエッジに同期してパラレルで出力すること、を特徴とする。
【発明の効果】
【０００６】
メモリに対するアクセスを高速にすることが可能であるとともに、実装面積の増大を抑制可能なメモリ制御回路を提供することができる。
【発明を実施するための最良の形態】
【０００７】
本明細書および添付図面の記載により、少なくとも以下の事項が明らかとなる。  
図１は、本発明の一実施形態であるシステムＬＳＩ（Large Scale Integration）１０を示す図である。  
システムＬＳＩ１０は、メモリ１１へのアクセスを実行する回路であり、ＣＰＵ２０、メモリ制御回路２１、アドレスバス２２、データバス２３、制御バス２４、端子３００〜３０５を含んで構成される。
【０００８】
メモリ１１は、例えば、フラッシュメモリ等の不揮発性のメモリであり、ＣＰＵ２０により実行されるプログラムや、ＣＰＵ２０の各種処理で使用されるデータが格納される。また、本実施形態のメモリ１１は、シリアルアクセスが可能であるとともに、例えばＣＰＵ２０がメモリ１１に格納されたプログラム読み出す際など、高速なアクセスが必要な場合には、シリアルアクセスで使用される端子を用いてパラレルアクセスが可能である。
【０００９】
具体的には、メモリ１１がシリアルアクセスされる場合、端子４００は、メモリ１１をイネーブルの状態、すなわちアクセス可能な状態とするための制御信号ＳＣＳが入力される入力端子となる。また、端子４０１は、クロック信号ＳＣＬＫが入力される入力端子となる。端子４０２は、メモリ１１にアクセスするためのデータＳＯが入力される入力端子となる。端子４０３は、メモリ１１を書き込み可能な状態とするための制御信号ＳＷＰが入力される入力端子となる。端子４０４は、メモリ１１がデータを受け付け可能な状態とするための制御信号ＳＨＯＬＤが入力される入力端子となる。端子４０５は、端子４０２に入力されるデータＳＯに応じてメモリ１１から読み出されるデータがデータＳＩとして出力される出力端子となる。一方、メモリ１１がパラレルアクセスされる場合、端子４００は、メモリ１１をイネーブルの状態、すなわちアクセス可能な状態とするための制御信号ＰＣＳが入力される入力端子となる。また、端子４０１は、クロック信号ＰＣＬＫが入力される入力端子となる。端子４０２〜４０５は、メモリ１１に対するアドレスデータがデータＰＩＯ［０］〜ＰＩＯ［３］として入力され、前述のアドレスデータに応じて読み出されるデータがデータＰＩＯ［０］〜ＰＩＯ［３］として出力される入出力端子となる。すなわち、本実施形態のメモリ１１においては、シリアルアクセスされる場合に入力端子として機能する端子４０２〜４０４と、出力端子として機能する端子４０５とが、パラレルアクセスされる場合に、データＰＩＯ［０］〜ＰＩＯ［３］を入出力可能な入出力端子に変更される。
【００１０】
また、本実施形態のメモリ１１は、シリアルアクセスされている際に、メモリ制御回路２１からメモリ１１をパラレルアクセスさせるためのコマンドがデータＳＯとして入力されると、メモリ１１はパラレルアクセス可能となり、メモリ１１がパラレルアクセスされている際に、メモリ制御回路２１からメモリ１１をシリアルアクセスさせるためのコマンドがデータＰＩＯ［０］〜ＰＩＯ［３］として入力されると、メモリ１１はシリアルアクセス可能となることとする。なお、本実施形態のメモリ１１は、起動されるとシリアルアクセス可能な状態となることとする。
【００１１】
ＣＰＵ２０は、メモリ１１にアクセスするメモリ制御回路２１をアドレスバス２２、データバス２３、制御バス２４を介して制御するとともに、メモリ制御回路２１からデータバス２３を介して出力されるメモリ１１に格納されたデータ及びプログラムに基づいて様々な処理を行う回路である。なお、本実施形態において、クロック信号ＨＣＬＫはバスクロックとしてＣＰＵ２０からメモリ制御回路２１に出力されていることとする。
【００１２】
メモリ制御回路２１は、ＣＰＵ２０からの指示に応じてメモリ１１にシリアルアクセスまたはパラレルアクセスする回路である。具体的には、本実施形態におけるメモリ制御回路２１がシリアルアクセスする際には、メモリ制御回路１１は、制御信号ＳＣＳ、クロック信号ＳＣＬＫ、データＳＯ、制御信号ＳＷＰ，ＳＨＯＬＤを、端子３００〜３０４に夫々出力する。また、メモリ制御回路２１は、データＳＯに応じてメモリ１１から読み出されるデータＳＩを端子３０５から受信する。一方、本実施形態におけるメモリ制御回路２１がパラレルアクセスする際には、メモリ制御回路２１は、制御信号ＰＣＳ、クロック信号ＰＣＬＫを端子３００,３０１から夫々出力し、メモリ１１に対するアドレスデータをデータＰＩＯ［０］〜ＰＩＯ［３］として端子３０２〜３０５に夫々出力する。また、前述のアドレスデータに応じてメモリ１１から読み出されるデータを、データＰＩＯ［０］〜ＰＩＯ［３］として夫々端子３０２〜３０５から受信する。なお、以下本実施形態では、メモリ制御回路２１がメモリ１１にシリアルアクセスすることが可能な状態をシリアルモード、メモリ制御回路２１がメモリ１１にパラレルアクセスすることが可能な状態をパラレルモードとする。また、本実施形態では、制御信号ＳＣＳまたは制御信号ＰＣＳが“Ｌ”となると、メモリ１１はイネーブルの状態、すなわちアクセス可能な状態となり、制御信号ＳＣＳまたは制御信号ＰＣＳが“Ｈ”となると、メモリ１１はディセーブルの状態、すなわちアクセスできない状態となることとする。
【００１３】
アドレスバス２２には、例えば、メモリ１１に格納されたデータを読み出す際のメモリ１１に対するアドレスや、後述するメモリ制御回路２１をシリアルモードまたはパラレルモードとするための各種レジスタに対するアドレスが、アドレスデータＨＡＤＤＲとしてＣＰＵ２０から出力される。なお、本実施形態においてＣＰＵ２０から出力されるアドレスデータＨＡＤＤＲは３２ビットのデータであることとし、アドレスバス２２は３２ビットのバスであることとする。
【００１４】
データバス２３には、例えば、メモリ制御回路２１をシリアルモードまたはパラレルモードとするための各種レジスタに対するデータが、書き込みデータＨＷＤＡＴＡとしてＣＰＵ２０から出力される。また、メモリ制御回路２１からは、シリアルモードの際にメモリ１１から読み出されるデータが第１読み出しデータＨＲＤＡＴＡ１として出力される。また、パラレルモードの際には、メモリ１１から読み出されるデータが第２読み出しデータＨＲＤＡＴＡ２として出力される。なお、本実施形態においては、書き込みデータＨＷＤＡＴＡ、第１読み出しデータＨＲＤＡＲＡ１、第２読み出しデータＨＲＤＡＴＡ２の夫々は３２ビットのデータであることとし、データバス２３は９６ビットのバスであることとする。
【００１５】
制御バス２４には、本実施形態においてマスタとして動作するＣＰＵ２０から、メモリ制御回路２１に含まれる各種レジスタをスレーブとして選択するための第１スレーブ選択信号ＨＳＥＬ１と、メモリ１１をスレーブとして選択するための第２スレーブ選択信号ＨＳＥＬ２（制御信号）とが出力される。さらに制御バス２４には、ＣＰＵ２０からメモリ１１をリードするかライトするかを示す転送信号ＨＷＲＩＴＥが出力される。また、メモリ制御回路２１から、メモリ制御回路２１とメモリ１１との間でデータの送受信が終了したことを示す割り込み信号ＩＮＴが出力される。なお、本実施形態における第１スレーブ選択信号ＨＳＥＬ１、第２スレーブ選択信号ＨＳＥＬ２、転送信号ＨＷＲＩＴＥ、割り込み信号ＩＮＴは夫々１ビットであることとし、制御バス２４は４ビットのバスであることとする。
【００１６】
図２は、メモリ制御回路２１の一実施形態を示す図である。メモリ制御回路２１は、バスインターフェース３０、アドレスデコーダ３１、第１設定レジスタ３２、制御レジスタ３３、変更レジスタ３４、状態レジスタ３５、クロック生成回路３６、シリアルデータ処理回路３７、パラレルデータ処理回路３８、メモリインターフェース３９（選択回路）を含んで構成される。
【００１７】
バスインターフェース３０は、ＣＰＵ２０と各回路との間で、クロック信号ＨＣＬＫに同期して各種データの送受信を実行する回路である。具体的には、入力される３２ビットのアドレスデータＨＡＤＤＲのうち、本実施形態におけるＣＰＵ２０が指定可能な下位２４ビット［２３：０］のデータをアドレスデコーダ３１とパラレルデータ処理回路３８とに出力する。なお、以下、本実施形態では、最下位ビットを０ビット目とし、下位ｍビット目から下位ｎビット目までを［ｎ：ｍ］と記載する。また、バスインターフェース３０は、書き込みデータＨＷＤＡＴＡを、第１設定レジスタ３２、制御レジスタ３３、変更レジスタ３４、状態レジスタ３５、シリアルデータ処理回路３７に出力し、転送信号ＨＷＲＩＴＥをアドレスデコーダ３１、シリアルデータ処理回路３７、パラレルデータ処理回路３８に出力し、第１スレーブ選択信号ＨＳＥＬ１、第２スレーブ選択信号ＨＳＥＬ２をアドレスデコーダ３１、パラレルデータ処理回路３８に夫々出力する。さらにバスインターフェース３０は、状態レジスタ３５、シリアルデータ処理回路３７、パラレルデータ処理回路３８の夫々から入力される割り込み信号ＩＮＴ、第１読み出しデータＨＲＤＡＴＡ１、第２読み出しデータＨＲＤＡＴＡ２をＣＰＵ２０に出力する。
【００１８】
アドレスデコーダ３１は、入力されるアドレスデータＨＡＤＤＲ［２３：０］をデコードし、メモリ制御回路２１における各回路を選択するための回路である。また、アドレスデコーダ３１は、入力される転送信号ＨＷＲＩＴＥから、各回路へのアクセスがライトアクセスかリードアクセスを選択する。転送信号ＨＷＲＩＴＥが“１”の場合、ライトアクセスとなり、転送信号ＨＷＲＩＴＥが“０”の場合、リードアクセスとなる。本実施形態のアドレスデコーダ３１は、アドレスデータＨＡＤＤＲ［２３：０］に基づいて、第１設定レジスタ３２、制御レジスタ３３、変更レジスタ３４、状態レジスタ３５、第２設定レジスタ５０、送信ＦＩＦＯ（First-In First-Out）５１、受信ＦＩＦＯ５２の何れかを選択可能である。また、本実施系形態のアドレスデコーダ３１は、スレーブ選択信号ＨＳＥＬ１に同期してアドレスデータＨＡＤＤＲ［２３：０］をラッチしデコードすることとする。
【００１９】
第１設定レジスタ３２には、書き込みデータＨＷＤＡＴＡに基づいて、クロック生成回路３６がクロック信号を生成する際に用いられる６ビットの設定データＤＳＥＴと、メモリインターフェース３９をシリアルモードまたはパラレルモードの何れかのモードに対応させるための設定データＭＯＤＥとが格納される。本実施形態では、メモリインターフェース３９をシリアルモードに対応させる場合には設定データＭＯＤＥを“０”とし、パラレルモードに対応させる場合には設定データＭＯＤＥを“１”とする。なお、“０”が設定された設定データＭＯＤＥが本発明における第１指示信号に、“１”が設定された設定データＭＯＤＥが本発明における第２指示信号に相当する。
【００２０】
制御レジスタ３３には、書き込みデータＨＷＤＡＴＡに基づいて、シリアルデータ処理回路３７にメモリ１１にアクセスするためのデータを送信させるためのイネーブルデータＥＮ１と、パラレルデータ処理回路３８にメモリ１１にアクセスするためのデータを送信させるイネーブルデータＥＮ２と、パラレルデータ処理回路３８にメモリ１１をパラレルアクセス可能な状態からシリアルアクセス可能な状態とするためのデータ送信させるためのイネーブルデータＥＮ３とが格納される。本実施形態では、イネーブルデータＥＮ１が“１”の場合のみ、シリアルデータ処理回路３７は、メモリ１１にアクセスするためのデータを送信可能であることとする。同様に、イネーブルデータＥＮ２が“１”の場合のみ、パラレルデータ処理回路３８は、メモリ１１にアクセスするためのデータを送信可能であることとする。また、イネーブルデータＥＮ３が“１”の場合のみ、パラレルデータ処理回路３８は、パラレルアクセス可能なメモリ１１をシリアルアクセス可能にするためのデータを送信可能な状態となる。
【００２１】
変更レジスタ３４には、書き込みデータＨＷＤＡＴＡに基づいて、メモリ１１をパラレルアクセス可能な状態からシリアルアクセス可能な状態に変更するための変更データＥＤＡＴＡが格納される。本実施形態における変更データＥＤＡＴＡは、２４ビットのデータであることする。また、変更データＥＤＡＴＡが変更レジスタ３４に格納されると、変更データＥＤＡＴＡは、パラレルデータ処理回路３８に出力されることとする。
【００２２】
状態レジスタ３５には、シリアルデータ処理回路３７から出力され、シリアルデータ処理回路３７がメモリ１１との間でデータの送受信を完了したか否かを示すデータＥＮＤ１と、パラレルデータ処理回路３８から出力され、パラレルデータ処理回路３８が変更データＥＤＡＴＡの送信を完了したか否かを示すデータＥＮＤ２と、シリアルデータ処理回路３７におけるデータＥＮＤ１をクリアするためのデータＥＮＤ１ＣＬＲと、パラレルデータ処理回路３８におけるデータＥＮＤ２をクリアするためのデータＥＮＤ２ＣＬＲとが格納される。また、本実施形態の状態レジスタ３５は、格納されるデータＥＮＤ１，ＥＮＤ２に基づいて割り込み信号ＩＮＴをバスインターフェース３０に出力する。具体的には、シリアルデータ処理回路３７がメモリ１１との間でデータの送受信を完了した場合、シリアルデータ処理回路３７はデータＥＮＤ１を“１”とし、データの送受信を完了していない場合、データＥＮＤ１を“０”とする。同様に、パラレルデータ処理回路３８は変更データＥＤＡＴＡの送信を完了した場合、データＥＮＤ２を“１”とし、完了していない場合、データＥＮＤ２を“０”とする。本実施形態における状態レジスタ３５は、データＥＮＤ１，ＥＮＤ２の何れかが“１”の場合、割り込み信号ＩＮＴとして“１”をバスインターフェース３０に出力し、データＥＮＤ１，ＥＮＤ２の両方が“０”の場合、割り込み信号として“０”をバスインターフェース３０に出力する。また、データＥＮＤ１がデータの送受信の完了を示す “１”となり、ＣＰＵ２０が割り込み信号ＩＮＴが“１”であることを確認すると、ＣＰＵ２０は、データＥＮＤ１を“０”とすべく状態レジスタ３５にライトアクセスを行なう。具体的には、ＣＰＵ２０は、転送信号ＨＷＲＩＴＥを“１”とし、データＥＮＤ１を”０”とするためのデータＥＮＤ１ＣＬＲを書き込みデータＨＷＤＡＴＡとして状態レジスタ３５に書き込む。その結果、データＥＮＤ１ＣＬＲが状態レジスタ３５からシリアルデータ処理回路３７に出力され、シリアルデータ処理回路３７におけるデータＥＮＤ１は“０”となることなる。パラレルデータ処理回路３８におけるデータＥＮＤ２も同様に、データＥＮＤ２ＣＬＲが状態レジスタ３５に格納されると、パラレルデータ処理回路３８におけるデータＥＮＤ２も“０”となることとなる。
【００２３】
クロック生成回路３６は、図３に例示するように、第１設定レジスタ３２に格納される設定データＤＳＥＴに基づいて、クロック信号ＨＣＬＫから、シリアルデータ処理回路３７を動作させるためのクロック信号ＮＳＦＣＬＫ、パラレルデータ処理回路３８を動作させるためのクロック信号ＳＦＣＬＫ，ＮＳＦＣＬＫ，ＰＡＲＣＬＫ，ＤＳＦＣＬＫ，ＤＮＳＦＣＬＫを生成する回路であり、バッファ回路１００，１０１、インバータ１０２，１０３、遅延回路１１０，１１１を含んで構成される。なお、遅延回路１１０，１１１が本発明における遅延回路に相当する。
【００２４】
バッファ回路１００は、入力信号の位相と同位相の出力信号を出力する回路である。したがって、本実施形態では、クロック信号ＨＣＬＫと同位相のクロック信号ＳＦＣＬＫがバッファ回路１００から出力される。
【００２５】
インバータ１０２は、入力信号の位相を反転し出力する回路である。本実施形態では、クロック信号ＨＣＬＫを反転したクロック信号ＮＳＦＣＬＫが出力される。
【００２６】
遅延回路１１０は、図４に例示するように、６ビットの設定データＤＳＥＴの上位３ビット［５：３］のデータに基づいてクロック信号ＮＳＦＣＬＫを遅延させ、クロック信号ＰＡＲＣＬＫとして出力する回路であり、バッファ回路７００〜７０６、インバータ７１０〜７１３、ＡＮＤ回路７２０〜７３３、ＮＯＲ回路７４０〜７４６を含んで構成される。バッファ回路７００は、入力されるクロック信号ＮＳＦＣＬＫを遅延させてバッファ回路７０１に出力する回路である。バッファ回路７０１〜７０６の夫々は、バッファ回路７００と同様に入力されるクロック信号を遅延させて出力する回路である。本実施形態では、バッファ回路７００〜７０６の夫々における遅延時間が等しくなるよう、バッファ回路７００〜７０６が設計されていることとする。したがって、本実施形態のバッファ回路７００〜７０６からは、クロック信号ＮＳＦＣＬＫが７通り遅延されたクロック信号が夫々出力されることとなる。インバータ７１０、ＡＮＤ回路７２０，７２１、ＮＯＲ回路７４０は、入力される設定データＤＳＥＴ［３］のレベルに応じて、クロック信号ＮＳＦＣＬＫまたはクロック信号ＮＳＦＣＬＫをバッファ回路７００で遅延させたクロック信号の何れかを反転して出力する回路である。具体的には、設定データＤＳＥＴ［３］が“０”の場合、ＡＮＤ回路７２０からはクロック信号ＮＳＦＣＬＫが出力され、ＡＮＤ回路７２１からは“０”が出力されるため、ＮＯＲ回路７４０からは、クロック信号ＮＳＦＣＬＫが反転されたクロック信号が出力されることとなる。また、設定データＤＳＥＴ［３］が“１”の場合、ＡＮＤ回路７２０からは“０”が出力され、ＡＮＤ回路７２１からはバッファ回路７００で遅延されたクロック信号が出力されるため、ＮＯＲ回路７４０からは、バッファ回路７００で遅延されたクロック信号が反転されたクロック信号が出力されることとなる。本実施形態における、ＡＮＤ回路７２２，７２３、ＮＯＲ回路７４１と、ＡＮＤ回路７２４，７２５、ＮＯＲ回路７４２と、ＡＮＤ回路７２６，７２７、ＮＯＲ回路７４３と、ＡＮＤ回路７２８，７２９、ＮＯＲ回路７４４と、ＡＮＤ回路７３０，７３１、ＮＯＲ回路７４５と、ＡＮＤ回路７３２，７３３、ＮＯＲ回路７４６とは、前述のＡＮＤ回路７２０，７２１、ＮＯＲ回路７４０と同様の構成であるため、同様に動作することとなる。したがって、例えば、設定データＤＳＥＴ［５：３］を全て“０”の場合、インバータ７１３からはクロック信号ＮＳＦＣＬＫがクロック信号ＰＡＲＣＬＫとして出力されることとなる。また、設定データＤＳＥＴ［５：３］を全て“１”の場合、インバータ７１３からは、バッファ回路７０６から出力されるクロック信号がクロック信号ＰＡＲＣＬＫとして出力されることとなる。結果的に、図４に例示した遅延回路１１０は、クロック信号ＮＳＦＣＬＫを遅延させない場合を含め、設定データＤＳＥＴ［５：３］に基づいて８通りの遅延が設定可能である。
【００２７】
遅延回路１１１は、６ビットの設定データＤＳＥＴの下位３ビット［２：０］のデータに基づいて、クロック信号ＨＣＬＫを遅延させる回路であり、遅延回路１１０と同様であることとする。また、本実施形態では、バッファ回路１０１は、バッファ回路１００と同様であり、インバータ１０３は、インバータ１０２と同様であることとする。したがって、バッファ回路１０１からは、クロック信号ＨＣＬＫが遅延回路１１１により遅延されたクロック信号ＤＳＦＣＬＫが出力され、インバータ１０２からは、クロック信号ＤＳＦＣＬＫを反転したクロック信号ＤＮＳＦＣＬＫが出力されることとなる。また、詳細は後述するが、クロック信号ＰＡＲＣＬＫはパラレルデータ処理回路３８がデータをメモリ１１に送信する際に用いられ、クロック信号ＤＳＦＣＬＫ，ＤＮＳＦＣＬＫはパラレルデータ処理回路３８がデータをメモリ１１から受信する際に用いられる。なお、本実施形態において、遅延回路１１０にて遅延される遅延時間を遅延時間ＴＡとし、遅延回路１１１にて遅延される遅延時間を遅延時間ＴＢとする。遅延時間ＴＡは、パラレルアクセスの際におけるメモリインターフェース３９からの出力データを、メモリ１１が取得可能に設定された遅延時間であることとする。遅延時間ＴＢは、パラレルアクセスの際におけるメモリ１１からの出力データを、メモリインターフェース３９が取得可能に設定された遅延時間であることとする。また、本実施形態では、遅延設定が可能な範囲はクロック信号ＨＣＬＫの一周期とする。すなわち、遅延時間ＴＡは、クロック信号ＨＣＬＫの一周期の範囲で、設定データＤＳＥＴの上位３ビットの組合せによる、８通りの遅延の設定が可能である。また、遅延時間ＴＢは、クロック信号ＨＣＬＫの一周期の範囲で、設定データＤＳＥＴの下位３ビットの組合せによる、８通りの遅延の設定が可能である。
【００２８】
シリアルデータ処理回路３７は、イネーブルデータＥＮ１に基づいて、メモリ１１にシリアルアクセスすべく、制御信号ＳＣＳ,ＳＷＰ,ＳＨＯＬＤ、データＳＯ（第１アクセスデータ）、クロック信号ＮＳＦＣＬＫをメモリ１１に出力させるための制御信号ＳＣＬＫＥＮ、をメモリインターフェース３９に出力し、メモリインターフェース３９からのデータＳＩに基づいて、第１読み出しデータＨＲＤＡＴＡ１をバスインターフェース３０に出力する回路である。本実施形態のシリアルデータ処理回路３７は、第２設定レジスタ５０、送信ＦＩＦＯ５１、受信ＦＩＦＯ５２、シリアル制御回路５３を含んで構成される。
【００２９】
第２設定レジスタ５０は、書き込みデータＨＷＤＡＴＡ、転送信号ＨＷＲＩＴＥに基づいて、メモリインターフェース３９に出力される制御信号ＳＷＰ,ＳＨＯＬＤを設定するための回路である。なお、本実施形態では、制御信号ＳＷＰ，ＳＨＯＬＤは、メモリ１１が入力されるデータを受付可能な状態となるよう設定されていることとする。
【００３０】
送信ＦＩＦＯ５１は、書き込みデータＨＷＤＡＴＡ、転送信号ＨＷＲＩＴＥに基づいて、メモリ１１にアクセスするためのデータを格納し、制御レジスタ３３のイネーブルデータＥＮ１が“１”となると、格納したデータをデータＳＯとして、メモリインターフェース３９に出力する回路である。本実施形態において、送信ＦＩＦＯ５１に格納されるデータは、例えば、アクセスの内容を示すコマンドデータ、メモリ１１に対するアドレスデータ、メモリ１１へ書き込むための書き込みデータである。なお、本実施形態におけるメモリ１１に対するアドレスは２４ビットであることとするため、送信ＦＩＦＯ５１に格納されるアドレスデータも同様に２４ビットとなる。
【００３１】
受信ＦＩＦＯ５２は、ＣＰＵ２０からの指示に応じてメモリ１１から読み出されるデータＳＩを受信し、第１読み出しデータＨＲＤＡＴＡ１としてバスインターフェース３０に出力する回路である。なお、本実施形態における送信ＦＩＦＯ５１、受信ＦＩＦＯ５２は、例えばクロック生成回路３６からのクロック信号ＮＳＦＣＬＫに同期して動作することとする。
【００３２】
シリアル制御回路５３は、イネーブルデータＥＮ１に基づいて、送信ＦＩＦＯ５１に格納されたデータを送信させ、制御信号ＳＣＳ，ＳＣＬＫＥＮと、送信ＦＩＦＯ５１または受信ＦＩＦＯ５２がデータの送受信を完了したか否かを示すデータＥＮＤ１とを生成する回路である。具体的には、メモリ１１にデータを送信する場合、ＣＰＵ２０は、転送信号ＨＷＲＩＴＥを“１”とし、送信ＦＩＦＯ５１への書き込みを行なう。書き込みデータＨＷＤＡＴＡが送信ＦＩＦＯ５１に送信データとして書き込まれた後、ＣＰＵ２０は、制御レジスタ３３へイネーブルデータＥＮ１が”１”となるよう書き込みを行なう。イネーブルデータＥＮ１が“１”となると、シリアル制御回路５３は、送信ＦＩＦＯ５１のデータが送信されるために必要な所定の期間、制御信号ＳＣＳ，ＳＣＬＫＥＮを夫々“Ｌ”，“Ｈ”とし、送信ＦＩＦＯ５１のデータを送信させる。また、本実施形態では、送信ＦＩＦＯ５１の送信データと同じタイミングでメモリ１１からデータが出力され、受信ＦＩＦＯ５２に格納される。シリアル制御回路５３は、送信と受信に要する所定期間経過後、すなわち、送信と受信が完了した場合、データＥＮＤ１を“１”とする。そして、ＣＰＵ２０が割り込み信号ＩＮＴを確認した後、ＣＰＵ２０は、受信ＦＩＦＯ５２へのリードを行なう。すなわち、ＣＰＵ２０は、転送信号ＨＷＲＩＴＥを“０”とし、受信ＦＩＦＯ５２に格納されているメモリ１１のデータを、第１読み出しデータＨＲＤＡＴＡ１として取得する。
【００３３】
パラレルデータ処理回路３８は、イネーブルデータＥＮ２,ＥＮ３、アドレスデータＨＡＤＤＲ［２３：０］、第２スレーブ選択信号ＨＳＥＬ２に基づいて、メモリ１１にパラレルアクセスすべく、制御信号ＰＣＳと、クロック信号ＮＳＦＣＬＫと、クロック信号ＮＳＦＣＬＫをメモリ１１に出力させるための制御信号ＰＣＬＫＥＮと、４ビットのデータＰＯＵＴ（第２アクセスデータ）とを出力し、メモリインターフェース３９からの４ビットのデータＰＩＮに基づいて、第２読み出しデータＨＲＤＡＴＡ２をバスインターフェース３０に出力する回路である。具体的には、パラレルデータ処理回路３８は、イネーブルデータＥＮ２が“１”となると、メモリ１１に対するアドレスデータＨＡＤＤＲ［２３：０］を、データＰＯＵＴとしてメモリインターフェース３９にパラレルで出力し、メモリインターフェース３９からパラレルで入力されるデータＰＩＮ［３：０］を第２読み出しデータＨＲＤＡＴＡ２としてバスインターフェース３０に出力する。また、パラレルデータ処理回路３８は、イネーブルデータＥＮ３が“１”となると、メモリ１１をパラレルアクセス可能な状態からシリアルアクセス可能な状態に変更するための変更データＥＤＡＴＡを、データＰＯＵＴ［３：０］としてメモリインターフェース３９にパラレルで出力する。本実施形態のパラレルデータ処理回路３８は、送信回路６０（パラレル出力回路）、受信回路６１（データ出力回路）、パラレル制御回路６２を含んで構成される。
【００３４】
送信回路６０は、図５に例示するように、２４ビットのアドレスデータＨＡＤＤＲ［２３：０］または２４ビットの変更データＥＤＡＴＡを、クロック信号ＰＡＲＣＬＫに同期して４ビットずつ順次データＰＯＵＴとして出力する回路であり、ラッチ回路１２０、セレクタ１２１，１２２、データ分配回路１２３、パルス生成回路１２４、データシフト回路１２５，１２６、データ出力回路１２７を含んで構成される。なお、本実施形態の送信回路６０は、データＰＯＵＴを高速に送信すべく、クロック信号ＰＡＲＣＬＫの両エッジに同期して出力することとする。
【００３５】
ラッチ回路１２０は、ＣＰＵ２０がメモリ１１をスレーブとして選択することによりメモリ１１に格納されたデータを読み出すための第２スレーブ選択信号ＨＳＥＬ２が“Ｈ”の場合、入力される２４ビットのアドレスデータＨＡＤＤＲ［２３：０］をラッチする回路である。なお、本実施形態におけるラッチ回路１２０からのデータをデータＬＤ１とする。
【００３６】
セレクタ１２１は、イネーブルデータＥＮ３が“１”の場合、データＬＤ１を出力データとして出力し、イネーブルデータＥＮ３が“０”の場合、出力データとして２４ビット“０”を出力する。
【００３７】
セレクタ１２２は、イネーブルデータＥＮ２が“１”の場合、２４ビットのアドレスデータＨＡＤＤＲ［２３：０］を出力し、イネーブルデータＥＮ３が“０”の場合、セレクタ１２１からの出力データを出力する。
【００３８】
データ分配回路１２３は、入力される２４ビットのデータを１２ビットずつに分配する回路である。なお、本実施形態では、データ分配回路１２３に入力されるデータをデータＤ１とする。また、本実施形態のデータ分配回路１２３は、データＤ１［２３：０］のうち、１２ビットのデータであるＤ１［２３：２０，１５：１２，７：４］をデータシフト回路１２５に出力し、１２ビットのデータであるＤ１［１９：１６，１１：８，３：０］をデータシフト回路１２６に出力することとする。なお、本実施形態においては、データ分配回路１２３からデータシフト回路１２５に出力される１２ビットのデータをデータＤ２とし、データシフト回路１２６に出力される１２ビットのデータをデータＤ３とする。
【００３９】
パルス生成回路１２４は、イネーブルデータＥＮ３が“１”となるか第２スレーブ選択信号ＨＳＥＬ２が“Ｈ”となり、クロック信号ＳＦＣＬＫが立ち上がると、データシフト回路１２５がデータ分配回路１２３からのデータＤ２を取り込むためのパルス信号ＬＰ１を生成する。また、パルス生成回路１２４は、イネーブルデータＥＮ３が“１”となるか第２スレーブ選択信号ＨＳＥＬ２が“Ｈ”となり、クロック信号ＮＳＦＣＬＫが立ち上がると、データシフト回路１２６がデータ分配回路１２３からのデータＤ３を取り込むためのパルス信号ＬＰ２を生成する。なお、本実施形態においてパルス生成回路１２４が出力するパルス信号ＬＰ１，ＬＰ２は、クロック信号ＳＦＣＬＫ、ＮＳＦＣＬＫの夫々一周期の期間“Ｈ”となることとする。
【００４０】
データシフト回路１２５は、入力される１２ビットのデータＤ２を、パルス信号ＬＰ１に基づいて取り込み、クロック信号ＮＳＦＣＬＫに同期して４ビットずつ順次出力する回路であり、図５に例示するように、セレクタ２００、ラッチ回路２０１、データ選択回路２０２，２０３、データ生成回路２０４を含んで構成される。
【００４１】
セレクタ２００は、パルス信号ＬＰ１が“Ｈ”の場合、データＤ２をデータＤ４として出力し、パルス信号ＬＰ１が“Ｌ”の場合、データ生成回路２０４から出力される１２ビットのデータをデータＤ４として出力する。
【００４２】
ラッチ回路２０１は、データＤ４をクロック信号ＮＳＦＣＬＫの立ち上がりエッジに同期してラッチし、１２ビットのデータＤ５として出力する。
【００４３】
データ選択回路２０２は、１２ビットのデータＤ５の下位８ビット［７：０］を選択し、データ生成回路２０４に出力する。
【００４４】
データ選択回路２０３は、１２ビットのデータＤ５の上位４ビット［１１：８］を選択し、データ出力回路１２７に出力する。なお、本実施形態におけるデータＤ５の上位４ビット［１１：８］のデータをデータＤ６とする。
【００４５】
データ生成回路２０４は、４ビットが“０”であるデータと、データ選択回路２０２から出力される８ビットのデータＤ５［７：０］とを合わせ、１２ビットのデータとして出力する回路である。なお、本実施形態のデータ生成回路２０４は、１２ビットのデータを生成する際に、４ビットが“０”であるデータを８ビットのデータＤ５［７：０］の下位４ビットとなるように１２ビットのデータを生成することとする。
【００４６】
したがって、本実施形態のデータシフト回路１２５は、パルス信号ＬＰ１が“Ｈ”の場合、入力されるデータＤ２をクロック信号ＮＳＦＣＬＫに同期してラッチし、データＤ２の上位４ビットをクロック信号ＮＳＦＣＬＫに同期して出力することとなる。一方、パルス信号ＬＰ１が“Ｌ”の場合、データシフト回路１２５は、パルス信号ＬＰ１が“Ｌ”になる前にラッチした１２ビットのデータのうち、最上位から４ビットずつのデータをクロック信号ＮＳＦＣＬＫに同期して順次出力することとなる。なお、本実施形態では、データ生成回路２０４の一方の入力に４ビットが“０”であるデータが入力されていることから、パルス信号ＬＰ１が“Ｌ”になる前にラッチした１２ビットのデータが全て出力された後は、クロック信号ＮＳＦＣＬＫに同期して４ビットが“０”のデータが出力され続けることとなる。
【００４７】
データシフト回路１２６は、データシフト回路１２５と同様の構成からなることし、入力される１２ビットのデータを、パルス信号ＬＰ２に基づいて取り込み、クロック信号ＳＦＣＬＫに同期して４ビットずつのデータＤ７として順次出力する回路である。なお、本実施形態では、データシフト回路１２５はクロック信号ＮＳＦＣＬＫの立ち上がりエッジに同期してデータＤ６を順次出力し、データシフト回路１２６はクロック信号ＳＦＣＬＫの立ち上がりエッジに同期してデータＤ７を順次出力する。クロック信号ＮＳＦＣＬＫの位相はクロック信号ＳＦＣＬＫの位相と反転しているため、データ出力回路１２７には、データＤ６とデータＤ７とが半周期ずれて順次４ビットずつ入力されることとなる。
【００４８】
データ出力回路１２７は、クロック信号ＰＡＲＣＬＫが“Ｈ”の場合、データＤ６をデータＰＯＵＴとして出力し、クロック信号ＰＡＲＣＬＫが”Ｌ”の場合、データＤ７をデータＰＯＵＴとして出力する回路である。本実施形態におけるクロック信号ＰＡＲＣＬＫは、クロック信号ＮＦＳＣＬＫに対する遅延時間ＴＡが、例えば１／４周期となるように設定されていることとする。したがって、データ出力回路１２７からは、クロック信号ＰＡＲＣＬＫの立ち上がりエッジ及び立下りエッジの両方のエッジに同期してデータＤ６，Ｄ７が順次出力されることとなる。
【００４９】
ここで、送信回路６０の動作を図７のタイミングチャートを参照しつつ説明する。なお、ここでは、アドレスデータＨＡＤＤＲ［２３：０］が送信回路６０により送信される場合、すなわち、イネーブルデータＥＮ２,ＥＮ３が夫々“１”,“０”である場合を例に説明する。また、図７においては、アドレスデータＨＡＤＤＲ［２３］〜ＨＡＤＤＲ［０］を夫々Ａ２３〜Ａ０と記載している。
【００５０】
時刻Ｔ１において、第２スレーブ選択信号ＨＳＥＬ２が“Ｈ”となると、ラッチ回路１２０は入力されるアドレスデータＨＡＤＤＲ［２３：０］をラッチするとともにデータＬＤ１としてセレクタ１２２に出力する。セレクタ１２２からは、イネーブルデータＥＮ２が“１”であるため、アドレスデータＨＡＤＤＲ［２３：０］が出力される。そして、データ分配回路１２３は、ＨＡＤＤＲ［２３：２０，１５：１２，７：４］をデータＤ２としてデータシフト回路１２５に出力し、ＨＡＤＤＲ［１９：１６，１１：８，３：０］をデータＤ３としてデータシフト回路１２６に出力する。そして、時刻Ｔ２においてラッチ回路２０１にクロック信号ＮＳＦＣＬＫの立ち上がりエッジが入力すると、ラッチ回路２０１はデータＤ２をラッチするため、データシフト回路１２５からはデータＤ２の上位４ビットであるアドレスデータＨＡＤＤＲ［２３：２０］が出力される。時刻Ｔ３では、データ出力回路１２７に入力されるクロック信号ＰＡＲＣＬＫが“Ｈ”となるため、アドレスデータＨＡＤＤＲ［２３：２０］の夫々のビットがデータＰＯＵＴとして出力される。また時刻Ｔ４においては、時刻Ｔ２と同様に、データシフト回路１２６からはデータＤ３の上位４ビットであるアドレスデータＨＡＤＤＲ［１９：１６］が出力される。そして、時刻Ｔ５においては、時刻Ｔ３と同様に、アドレスデータＨＡＤＤＲ［１９：１６］の夫々のビットがデータＰＯＵＴとして出力される。以下、時刻Ｔ６からＴ１０までデータ出力回路１２７からは、クロック信号ＰＡＲＣＬＫに同期してアドレスデータＨＡＤＤＲ［１５：１２］，ＨＡＤＤＲ［１１：８］，ＨＡＤＤＲ［７：４］，ＨＡＤＤＲ［３：０］が順次出力されることとなる。
【００５１】
なお、本実施形態のメモリ１１は、時刻Ｔ１０においてメモリ１１に対するアドレスが送信回路６０から送信された後の時刻Ｔ１１おいて、クロック信号ＮＳＦＣＬＫの立下りが入力されると、指定されたアドレスに格納されたデータの出力が開始されることとする。本実施形態においてメモリ１１から読み出されるデータを１６ビットであるとすると、時刻Ｔ１１に入力されるクロック信号ＮＳＦＣＬＫの立下りに応じて、１６ビットのうち最初の４ビットが出力され、さらに、クロック信号ＮＳＦＣＬＫのエッジに同期して順次４ビットずつ出力されることとする。
【００５２】
図８に例示する受信回路６１は、メモリ１１の読み出しデータとしてメモリインターフェース３９から出力される４ビットのデータＰＩＮを受信し、ＣＰＵ２０に送信すべく、３２ビットの第２読み出しデータＨＲＤＡＴＡ２としてバスインターフェース３０に出力する回路であり、パルス生成回路１３０、遅延回路１３１、データ変換回路１３２，１３３、読み出しデータ生成回路１３４を含んで構成される。なお、本実施形態において、前述のようにメモリ１１に対するアドレスが指定されることにより読み出される読み出しデータは１６ビットであることとし、クロック信号ＮＳＦＣＬＫの立ち上がりエッジ及び立下りエッジの両方のエッジが入力される度に４ビットずつ出力されることとする。また、本実施形態において、メモリ１１から出力される読み出しデータは、端子３０２〜３０５，４０２〜４０５等の影響により遅延され、データＰＩＮとして入力される。そこで、本実施形態においては、遅延して入力されるデータＰＩＮを受信できるよう、クロック生成回路３６におけるクロック信号ＳＣＬＫ，ＮＳＣＬＫを遅延させたクロック信号ＤＳＦＣＬＫ，ＤＮＳＦＣＬＫにてデータＰＩＮを受信することとしている。本実施形態では、例えば、クロック信号ＤＳＦＣＬＫの両エッジが、読み出しデータが出力されている期間に入るようクロック信号ＨＣＬＫを遅延時間ＴＢだけ遅延させていることとする。
【００５３】
パルス生成回路１３０は、第２スレーブ選択信号ＨＳＥＬ２とクロック信号ＳＦＣＬＫとに基づいて、データ変換回路１３２に順次入力される４ビットのデータＰＩＮをデータ変換回路１３２が取得するためのパルス信号ＬＰ３と、データ変換回路１３２が取得したデータＰＩＮを１６ビットのデータに変換するためのパルス信号ＬＰ４とを出力する回路である。
【００５４】
遅延回路１３１は、パルス信号ＬＰ３とＬＰ４とを遅延させ、データ変換回路１３３に順次入力される４ビットのデータＰＩＮをデータ変換回路１３３が取得するためのパルス信号ＬＰ５と、データ変換回路１３３が取得したデータＰＩＮを１６ビットのデータに変換するためのパルス信号ＬＰ６とを出力する回路である。
【００５５】
データ変換回路１３２は、順次入力される４ビットのデータＰＩＮを受信し、１６ビットのデータに変換する回路であり、データ生成回路２１０，２１４、セレクタ２１１，２１５、データ選択回路２１３、ラッチ回路２１２，２１６を含んで構成される。
【００５６】
データ生成回路２１０は、データ選択回路２１３から出力される８ビットのデータＤ１０と、４ビットのデータＰＩＮとから１２ビットのデータＤ１１を生成する回路である。なお、本実施形態におけるデータ生成回路２１０は、生成される１２ビットのデータＤ１１のうち、データＰＩＮが下位４ビット［３：０］となり、データＤ１０が上位８ビット［１１：４］となるようにデータＤ１１を生成することとする。
【００５７】
セレクタ２１１は、パルス信号ＬＰ３が“Ｈ”の場合、データＤ１１をデータＤ１２としてラッチ回路２１２に出力し、パルス信号ＬＰ３が“Ｌ”の場合、ラッチ回路２１２からのデータＤ１３をそのままデータＤ１２としてラッチ回路２１２に出力する回路である。
【００５８】
ラッチ回路２１２は、入力される１２ビットのデータＤ１２を、クロック信号ＤＳＦＣＬＫの立ち上がりエッジに同期してラッチし、１２ビットのデータＤ１３として出力する回路である。
【００５９】
データ選択回路２１３は、ラッチ回路２１２から出力される１２ビットのデータＤ１３のうち下位８ビット［７：０］をデータＤ１０としてデータ生成回路２１０に出力する回路である。
【００６０】
したがって、パルス信号ＬＰ３が“Ｈ”の期間に、クロック信号ＤＳＦＣＬＫに同期して、データＰＩＮがラッチ回路２１２に連続して入力されると、ラッチ回路２１２における１２ビットの記憶領域［１１：０］に対して時間的に早く入力されたデータＰＩＮは記憶領域［７：４］に保持され、時間的に遅く入力されたデータＰＩＮは記憶領域［３：０］に保持されることとなる。さらに新たなデータＰＩＮがラッチ回路２１２に入力されると、時間的に早く入力されたデータＰＩＮは記憶領域［１１：８］に保持され、時間的に遅く入力されたデータＰＩＮは記憶領域［７：４］に保持され、新たなデータＰＩＮは記憶領域［３：０］に保持されることとなる。なお、パルス信号ＬＰ３が“Ｌ”の期間では、クロック信号ＤＳＦＣＬＫに関わらずラッチ回路２１２はデータＤ１３を保持し続けることとなる。
【００６１】
データ生成回路２１４は、ラッチ回路２１２からの１２ビットのデータＤ１３と、４ビットのデータＰＩＮとから１６ビットのデータＤ１４を生成する回路である。なお、本実施形態においては、１６ビットのデータＤ１４のうち、データＤ１３が上位１２ビットとなり、データＰＩＮが下位４ビットとなるようにデータＤ１４が生成されることとする。
【００６２】
セレクタ２１５は、パルス信号ＬＰ４が“１”の場合、データＤ１４をデータＤ１５として出力し、パルス信号ＬＰ４が“０”の場合、ラッチ回路２１６から出力されるデータＤ１６を出力する。
【００６３】
ラッチ回路２１６は、入力される１６ビットのデータＤ１５をクロック信号ＤＳＦＣＬＫの立ち上がりエッジに同期してラッチし、１６ビットのデータＤ１６として出力する回路である。
【００６４】
したがって、本実施形態のデータ変換回路１３２は、入力されるデータＰＩＮを１６ビットまでクロック信号ＤＳＦＣＬＫに同期してラッチ回路２１６で保持し、データＤ１６として読み出しデータ生成回路１３４に出力する。
【００６５】
データ変換回路１３３は、データ変換回路１３２と同様に、入力される４ビットのデータＰＩＮを、パルス信号ＬＰ５、ＬＰ６及びクロック信号ＤＮＳＦＣＬＫに基づいて、１６ビットのデータに変換して出力する回路であり、データ生成回路２２０，２２４、セレクタ２２１，２２５、データ選択回路２２３、ラッチ回路２２２，２２６を含んで構成される。なお、本実施形態におけるデータ変換回路１３３はデータ変換回路１３２と同じ構成であることとし、データ生成回路２２０，２２４、セレクタ２２１，２２５、データ選択回路２２３、ラッチ回路２２２，２２６の夫々が、データ生成回路２１０，２１４、セレクタ２１１，２１５、データ選択回路２１３、ラッチ回路２１２，２１６に相当する。また、本実施形態において、ラッチ回路２２２から出力されるデータをデータＤ１７とし、ラッチ回路２２６から出力されるデータをデータＤ１８とする。
【００６６】
読み出しデータ生成回路１３４は、データ変換回路１３２，１３３からの１６ビットのデータＤ１６，Ｄ１８から、３２ビットの読み出しデータＨＲＤＡＴＡ２を生成する回路である。
【００６７】
ここで、本実施形態における受信回路６１の動作の詳細を図９のタイミングチャートを参照しつつ説明する。なお、本実施形態の受信回路６１には、前述した送信回路６０によりメモリ１１に対するアドレスが指定された後にメモリから出力される読み出しデータが入力されることとする。すなわち、図９の時刻Ｔ１１は、前述の図７における時刻Ｔ１１と同じであることとし、時刻Ｔ１１におけるクロック信号ＮＳＦＣＬＫの立ち下がりエッジがメモリ１１に入力されてから期間ＴＤ（第１時間）経過した時刻Ｔ１２にデータＰＩＮが受信回路６１に入力されることとする。また、本実施形態においては、メモリ１１にクロック信号ＮＳＦＣＬＫが入力されることにより、メモリ１１からクロック信号ＮＳＦＣＬＫの両エッジの夫々のタイミングで１６ビットの読み出しデータが出力されるため、前述時刻Ｔ１１におけるクロック信号ＮＳＦＣＬＫの立ち下がりが入力されてから、順次４ビットのデータＰＩＮが半周期遅れて受信回路６１に入力されることとなる。なお、図９においては、入力される１６ビットの読み出しデータのうちデータ［１５］〜［０］を夫々１５〜０と記載している。また、本実施形態におけるパルス生成回路１３０は、時刻Ｔ１に入力される第２スレーブ選択信号ＨＳＥＬ２に応じて、時刻Ｔ１１において、クロック信号ＳＦＣＬＫの２周期の期間“Ｈ”となるパルス信号ＬＰ３を出力することとする。さらに、本実施形態のパルス生成回路１３０は、パルス信号ＬＰ３が“Ｈ”となり、クロック信号ＤＳＦＣＬＫの立下りエッジが２回入力される時刻Ｔ１４から、クロック信号ＤＳＦＣＬＫの１周期の期間“Ｈ”となるパルス信号ＬＰ４を出力することとする。また、本実施形態の遅延回路１３１は、前述のパルス信号ＬＰ３，ＬＰ４をクロック信号ＨＣＬＫの半周期だけ遅延させてパルス信号ＬＰ５，ＬＰ６として出力することとする。また、本実施形態においては、入力される１６ビットのデータのうち、８ビットずつデータ変換回路１３２，１３３が夫々取り込む。なお、本実施形態におけるラッチ回路２１２，２１６，２２２，２２６は、例えば起動されるとリセットされ、１２ビットの“０”が夫々格納されることとする。
【００６８】
まず、データ変換回路１３２が取得するデータに関して説明する。時刻Ｔ１３において、パルス信号ＬＰ３が“Ｈ”であるため、クロック信号ＤＳＦＣＬＫの立ち上がりに同期して、データ［１５］〜［１２］がデータＤ１３としてラッチ回路２１２にラッチされる。そして、時刻Ｔ１５において、パルス信号ＬＰ４が“Ｈ”であるため、データ変換回路１３２が取り込む最後の４ビットのデータ［７］〜［４］と、ラッチ回路２１２に既にラッチされている［１５］〜［１２］とが、クロック信号ＤＳＦＣＬＫの立ち上がりに同期してラッチ回路２１６にラッチされ、データＤ１６として出力される。
【００６９】
つぎに、データ変換回路１３３が取得するデータに関して説明する。データ変換回路１３３においても、時刻Ｔ１４には、データ［１１］〜［８］がラッチ回路２２１にラッチされ、時刻Ｔ１７には、データ［１１］〜［８］，［３］〜［０］がラッチ回路２２６にラッチされることとなる。
【００７０】
そして読み出しデータ生成回路１３３は、時刻Ｔ１７において、データ変換回路１３２からのデータ［１５］〜［１２］，［７］〜［４］を含む１６ビットのデータＤ１６と、データ変換回路１３３からの［１１］〜［８］，［３］〜［０］を含む１６ビットのデータＤ１８とをあわせ、３２ビットの第２読み出しデータＨＲＤＡＴＡ２を生成する。なお、本実施形態においては、メモリ１１から読み出されるデータを１６ビットとしているが、本実施形態における受信回路６１を用いることにより、メモリ１１から読み出されるデータが３２ビットであっても、第２読み出しデータＨＲＤＡＴＡ２に変換することが可能である。
【００７１】
図１０に例示するパラレル制御回路６２は、クロック信号ＨＣＬＫ、第２スレーブ選択信号ＨＳＥＬ２、イネーブルデータＥＮ３に基づいて、制御信号ＰＣＳ,ＰＣＬＫＥＮ、データＥＮＤ２を出力する回路であり、初期値設定回路１４０、カウンタ１４１を含んで構成される。
【００７２】
初期値設定回路１４０は、第２スレーブ選択信号ＨＳＥＬ２、イネーブルデータＥＮ３の何れかが“Ｈ”となると、第２スレーブ選択信号ＨＳＥＬ２またはイネーブルデータＥＮ３に応じたカウント値をカウンタ１４１の初期値として出力する回路である。
【００７３】
本実施形態では、第２スレーブ選択信号ＨＳＥＬ２が“Ｈ”となると、送信回路６０がアドレスデータＨＡＤＤＲを送信し、アドレスデータＨＡＤＤＲに応じた読み出しデータを受信回路６１が受信するための所定期間を示す第１カウント値がカウンタ１４１に出力されることとする。また、イネーブルデータＥＮ３が“Ｈ”となると、送信回路６０が変換データＥＤＡＴＡを送信するための所定期間を示す第２カウント値が出力されることとする。なお、本実施形態において、第１カウント値は例えば８（１０進数）、第２カウント値は例えば５であることとする。
【００７４】
カウンタ１４１は、初期値設定回路１４０から出力されるカウント値がクロック信号ＨＣＬＫに基づいて設定されるとともに、クロック信号ＨＣＬＫに同期してカウント値をダウンカウントし、制御信号ＰＣＳ，ＰＣＬＫＥＮ、データＥＮＤ２を出力する回路である。なお、本実施形態では、第２スレーブ選択信号ＨＳＥＬ２及びイネーブルデータＥＮ３が“Ｌ”の場合、制御信号ＰＣＳ,ＰＣＬＫＥＮ、データＥＮＤ２は夫々“Ｈ”,“Ｌ”,“Ｌ”であることとする。ここで、第２スレーブ選択信号ＨＳＥＬ２が“Ｈ”となり、カウンタ１４１に第１カウント値が設定された場合においては、カウント値が“１”（１０進数）となると、制御信号ＰＣＬＫＥＮを“Ｌ”とし、カウント値が“０”（１０進数）となると、制御信号ＰＣＳを“Ｈ”とする。また、イネーブルデータＥＮ３が“Ｈ”となり、カウンタ１４１に第２カウント値が設定された場合においては、カウント値が“１”（１０進数）となると、制御信号ＰＣＬＫＥＮを“Ｌ”とし、カウント値が“０”（１０進数）となると、制御信号ＰＣＳを“Ｈ”、データＥＮＤ２を“Ｈ”とする。また、本実施形態のカウンタ１４１は、データＥＮＤ２ＣＬＲが入力されると、データＥＮＤ２がリセットされ“０”となることとする。
【００７５】
図１１に例示するメモリインターフェース３９は、設定データＭＯＤＥが“０”の場合、シリアルデータ処理回路３７をメモリ１１にアクセス可能な状態とし、設定データＭＯＤＥが“１”の場合、パラレルデータ処理回路３８をメモリ１１にアクセス可能な状態とする回路であり、セレクタ２３０〜２４０、バッファ回路２５０〜２５５、ＡＮＤ回路２６０を含んで構成される。なお、本実施形態におけるセレクタ２３０〜２４０は、送信回路６０のセレクタ１２１と同様であり、バッファ回路２５０〜２５５は、クロック生成回路３６におけるバッファ回路１００と同様であることとする。また、本実施形態のメモリインターフェース３９は、クロック生成回路３６から出力されるクロック信号ＮＳＦＣＬＫに基づいてデータの送受信を行うこととする。
【００７６】
まず、設定データＭＯＤＥが“０”の場合、すなわちシリアルデータ処理回路３７がメモリ１１にアクセス可能な場合について説明する。セレクタ２３０からは、制御信号ＳＣＳが出力されるため、端子３００からメモリ１１へ制御信号ＳＣＳが出力される。ＡＮＤ回路２６０には、クロック信号ＮＳＦＣＬＫとセレクタ２３１からの制御信号ＳＣＬＫＥＮとが出力されているため、制御信号ＳＣＬＫＥＮが“Ｈ”の場合、クロック信号ＮＳＦＣＬＫが端子３０１からメモリ１１へ出力され、制御信号ＳＣＬＫＥＮが“Ｌ”の場合、同様に“Ｌ”がメモリ１１へ出力される。セレクタ２３３，２３５，２３７の夫々からは、制御信号ＳＯ，ＳＷＰ，ＳＨＯＬＤが出力されるため、端子３０２〜３０４からは、制御信号ＳＯ，ＳＷＰ，ＳＨＯＬＤがメモリ１１に夫々出力される。また、セレクタ２３８にはメモリ１１からのデータＳＩが入力されているため、データＳＩはシリアルデータ処理回路３７に出力される。なお、セレクタ２３２，２３４，２３６，２３９の夫々からは“０”が出力されるため、データＰＩＮ［０］〜［３］は夫々“０”となる。また、セレクタ２３８に入力される設定データＭＯＤＥは“０”のため、端子３０５は、データＳＩが入力される入力端子として動作することとなる。
【００７７】
つぎに、設定データＭＯＤＥが“１”の場合、すなわちパラレルデータ処理回路３８がメモリ１１にアクセス可能な場合について説明する。セレクタ２３０からは、制御信号ＰＣＳが出力されるため、端子３００からメモリ１１へ制御信号ＰＣＳが出力される。ＡＮＤ回路２６０には、クロック信号ＮＳＦＣＬＫとセレクタ２３１からの制御信号ＰＣＬＫＥＮとが出力されているため、制御信号ＰＣＬＫＥＮが“Ｈ”の場合、クロック信号ＮＳＦＣＬＫが端子３０１からメモリ１１へ出力され、制御信号ＰＣＬＫＥＮが“Ｌ”の場合、同様に“Ｌ”がメモリ１１へ出力される。セレクタ２３３，２３５，２３７，２４０の夫々からは、データＰＯＵＴ［０］〜［３］が出力されるため、端子３０２〜３０５からはデータＰＯＵＴ［０］〜［３］がデータＰＩＯ［０］〜［３］としてメモリ１１に夫々出力される。セレクタ２３２，２３４，２３６，２３９には、データＰＯＵＴ［０］〜［３］に応じたメモリ１１からのデータＰＩＯ［０］〜［３］が入力されるため、データＰＩＯ［０］〜［３］がデータＰＩＮ［０］〜［３］としてパラレルデータ処理回路３８に出力されることとなる。なお、セレクタ２３８からの出力は“０”となるため、結果的にデータＳＩは“０”となる。
【００７８】
したがって、本実施形態のメモリインターフェース３９は、設定データＭＯＤＥが“０”の場合、シリアルデータ処理回路３７からの制御信号ＳＣＳ、制御信号ＳＣＬＫＥＮに応じたクロック信号ＮＳＦＣＬＫ、データＳＯ、制御信号ＳＷＰ，ＳＨＯＬＤを端子３００〜３０４に夫々出力し、端子３０５に入力されるデータＳＩを、シリアルデータ処理回路３７に出力する。一方、設定データＭＯＤＥが“１”の場合、パラレルデータ処理回路３８からの制御信号ＰＣＳ，制御信号ＰＣＬＫＥＮに応じたクロック信号ＮＳＦＣＬＫを端子３００，３０１に夫々出力するとともに、４ビットのデータＰＯＵＴを端子３０２〜３０５に夫々４ビットのデータＰＩＯとして出力する。さらに、端子３０２〜３０５に入力される４ビットのデータＰＩＯを、パラレルデータ処理回路３８に４ビットのデータＰＩＮとして出力する。
【００７９】
＜＜シリアルモードにおけるメモリ１１に対する読み出し動作＞＞
メモリ制御回路２１がメモリ１１にシリアルアクセスしている場合の一例として、メモリ制御回路２１がメモリ１１に格納されたデータを読み出す際の動作を図１２に示したフローチャートを参照しつつ説明する。なお、ここでメモリ１１は、例えばシステムＬＳＩ１０が起動され、シリアルアクセス可能な状態であることとする。まず、ＣＰＵ２０は、第１設定レジスタ３２の設定データＭＯＤＥが“０”となるよう、第１設定レジスタ３２を設定する（Ｓ２００）。そして、ＣＰＵ２０は、メモリ１１に対して読み出しを実行するため、読み出しコマンドと、メモリ１１に対するアドレスとを送信ＦＩＦＯ５１に格納し、メモリ１１に対して読み出しを実行させるため、第２設定レジスタ５０における制御信号ＳＷＰ，ＳＨＯＬＤを“０”とする（Ｓ２０１）。その後、ＣＰＵ２０は、送信ＦＩＦＯ５１に格納された前述のデータをメモリ１１に送信すべく、制御レジスタ３３のイネーブルデータＥＮ１を“１”とする（Ｓ２０２）。そして、メモリ１１に対するアドレスに格納されたデータを受信ＦＩＦＯ５２が受信し、受信ＦＩＦＯ５２が受信を完了すると（Ｓ２０３：ＹＥＳ）、シリアル制御回路５２は、状態レジスタ３５に格納されたデータＥＮＤ１を“１”とするため、状態レジスタ３５から出力される割り込み信号ＩＮＴは“１”となる（Ｓ２０４）。ＣＰＵ２０は、受信ＦＩＦＯ５２に格納されたデータを第１読み出しデータＨＲＤＡＴＡ１として取得し、イネーブルデータＥＮ１を“０”とする（Ｓ２０５）。本実施形態において、上述したステップＳ２０１〜Ｓ２０５が繰り返されることにより、ＣＰＵ２０は、メモリ１１に格納されたデータを繰り返し読み出すことが可能である。なお、本実施形態の状態レジスタ３３のデータＥＮＤ１は、データＥＮＤ１が“１”となってから所定期間経過後“０”に変更されることとしているが、ステップ２０５においては、“０”に変更されるよう設計されていることとする。
【００８０】
ここで、ＣＰＵ２０が、メモリ１１をシリアルアクセス可能な状態からパラレルアクセス可能な状態とするための動作を説明する。なお、本実施形態におけるメモリ１１は、シリアルアクセスされる場合にパラレルアクセスに変更するコマンドが入力されると、パラレルアクセス可能な状態に変更されることとする。したがって、本実施形態においてメモリ１１をパラレルアクセス可能な状態とするには、ステップ２０１において、読み出すためのコマンド及びアドレスの代わりに、パラレルアクセス可能とするためのコマンドを格納した後、ステップ２０３〜２０５を実行すればよい。
【００８１】
＜＜パラレルモードにおけるメモリ１１に対する読み出し動作＞＞
メモリ制御回路２１がメモリ１１にパラレルアクセスしている場合の一例として、メモリ制御回路２１がメモリ１１に格納されたデータを読み出す際の動作を図１３に示したフローチャート及び図７，９，１４のタイミングチャートを参照しつつ説明する。なお、メモリ制御回路２１がメモリ１１にパラレルアクセスする場合は、例えばＣＰＵ２０がメモリ１１に格納されたプログラム読み出す際など、高速なアクセスが必要な場合である。また、図１４のタイミングチャートにおける時刻Ｔ１〜Ｔ１１は、図７の時刻Ｔ１〜Ｔ１１と同じであり、時刻Ｔ１１〜Ｔ１７は、図９における時刻Ｔ１１〜Ｔ１７と同じであることとする。また、ここでは、メモリ１１は、パラレルアクセス可能な状態であることとする。
【００８２】
ＣＰＵ２０は、設定データＭＯＤＥと、クロック生成回路３６における遅延回路１１０，１１１の夫々の遅延時間ＴＡ，ＴＢとを設定すべく、第１設定レジスタ３２を設定する（Ｓ３００）。具体的には、設定データＭＯＤＥを“１”とし、クロック信号ＰＡＲＣＬＫがクロック信号ＮＦＳＣＬＫに対して１／４周期遅延するよう、遅延時間ＴＡを設定する。さらに、クロック信号ＤＳＦＣＬＫの両エッジが、読み出しデータが出力されている期間に入るよう遅延時間ＴＢを設定する。なお、本実施形態における遅延時間ＴＢは、前述の端子間の遅延時間ＴＤと、メモリ１１から読み出しデータが出力される期間、すなわちクロック信号ＮＳＦＣＬＫの周期に応じた期間とから決定される。そして、ＣＰＵ２０は、メモリ制御回路２１がメモリ１１にパラレルアクセスできるよう、制御レジスタ３３のイネーブルデータＥＮ２を“１”に設定する（Ｓ３０１）。時刻Ｔ１にＣＰＵ２０が、メモリ１１からデータを読み出すべく、第２スレーブ選択信号ＨＳＥＬ２とメモリ１１に対するアドレスデータＨＡＤＤＲとを出力する（Ｓ３０２）。なお、本実施形態のパラレル制御回路６２は、第２スレーブ選択信号ＨＳＥＬ２が出力されると、前述のカウンタ１４１に設定された第１カウント値に基づき、時刻Ｔ４〜Ｔ１８まで制御信号ＰＣＳを“Ｌ”とし、時刻Ｔ４〜Ｔ１６まで制御信号ＰＣＬＫＥＮを“Ｈ”とする。また、本実施形態においては、時刻Ｔ１にＣＰＵ２０が第２スレーブ選択信号ＨＳＥＬ２とアドレスデータＨＡＤＤＲとを出力すると、送信回路６０は、図７に示したように時刻Ｔ３から時刻Ｔ１０においてアドレスデータを出力することとなる。本実施形態のメモリインターフェース３９は、送信回路６０から出力される４ビットのデータＰＯをデータＰＩＯとして出力するため、図１４に示したように、同じタイミングでアドレスデータＨＡＤＤＲが出力されることとなる。また、本実施形態におけるメモリ１１は、制御信号ＰＣＳが“Ｌ”となるタイミングで入力されるデータＰＩＯと、クロック信号ＰＣＬＫの両エッジに同期して入力されるデータＰＩＯとを受信することとする。したがって、本実施形態のメモリ１１は時刻Ｔ３〜Ｔ１０までに入力するアドレスデータＨＡＤＤＲを受信することとなる。また、本実施形態のメモリ１１は、アドレスデータＨＡＤＤＲを受信した後、時刻Ｔ１１にクロック信号ＰＣＬＫの立下りエッジが入力すると、アドレスデータＨＡＤＤＲに対する読み出しデータをデータＰＩＯとして出力する。メモリ１１から出力されるデータＰＩＯは、端子等の影響により、時刻Ｔ１１から遅延時間ＴＤだけ遅れ、データＰＩＮとしてメモリインターフェース３９から出力される。データＰＩＮを受信する受信回路６１は、前述のように、クロック信号ＤＳＦＣＬＫ，ＤＮＳＦＣＬＫにてデータＰＩＮを受信可能であるため、結果的に、メモリ１１から読み出されるデータは時刻Ｔ１７に受信回路６１から第２読み出しデータＨＲＤＡＴＡ２として出力されることとなる。そして、ＣＰＵ２０は、時刻Ｔ１８におけるクロック信号ＨＣＬＫの立ち上がりに同期して、第２読み出しデータＨＲＤＡＴＡ２を取得する（Ｓ３０３）。また、本実施形態において、ＣＰＵ２０がメモリ１１に対するデータの読み出し動作を継続する場合は（Ｓ３０４：ＹＥＳ）、再度ステップＳ３０２に遷移し、メモリ１１に対するアドレスを指定する。一方、ＣＰＵ２０がメモリ１１に対するデータの読み出し動作を終了する場合は（Ｓ３０４：ＮＯ）、ＣＰＵ２０は、制御レジスタ３３のイネーブルデータＥＮ２を“０”とし（Ｓ３０５）、パラレルデータ処理回路３７がメモリ１１にアクセスできない状態とする。
【００８３】
＜＜パラレルアクセス可能なメモリ１１をシリアルアクセス可能とする場合＞＞
ここで、パラレルアクセス可能な状態のメモリ１１をシリアルアクセス可能な状態へと変更する場合について、図１５に示すフローチャートを参照しつつ説明する。なお、ここでは、メモリ制御回路２１は既に図１３に示したステップＳ３００が実行されており、パラレルモードに対応していることとする。まず、ＣＰＵ２０は、変更レジスタ３４に変更データＥＤＡＴＡを格納する（Ｓ４００）。そして、ＣＰＵ２０は、制御レジスタ３３のイネーブルデータＥＮ３を“１”に設定する（Ｓ４０１）。イネーブルデータＥＮ３が“１”になると、パラレル制御回路６２から出力される制御信号ＰＣＳ，ＰＣＬＫＥＮは、前述のカウンタ１４１に設定された第２カウント値に基づき、時刻Ｔ４から夫々、時刻Ｔ１１，Ｔ１００まで“Ｌ”，“Ｈ”となる。また、送信回路６０におけるセレクタ１２１は変更データＥＤＡＴＡを出力するため、結果的にデータＰＯＵＴとして、変更データＥＤＡＴＡが図７に示したアドレスデータＨＡＤＤＲと同じタイミングで出力されることとなる。したがって、変更データＥＤＡＴＡがメモリインターフェース３９からメモリ１１へ出力されることとなる。そして、本実施形態のメモリ１１は、変更データＥＤＡＴＡを受信すると、パラレルアクセス可能な状態からシリアルアクセス可能な状態へと変更されることとなる。なお、変更データＥＤＡＴＡが送信されると（Ｓ４０２：ＹＥＳ）、パラレル制御回路６２は、状態レジスタ３５のデータＥＮＤ２に“１”を格納する。したがって、状態レジスタ３５から出力される割り込み信号ＩＮＴは“１”となる（Ｓ４０３）。そして、ＣＰＵ２０は、イネーブルデータＥＮ３を“０”とし（Ｓ４０４）、パラレルデータ処理回路３７がメモリ１１にアクセスできない状態とする。
【００８４】
なお、本実施形態におけるメモリ１１は、パラレルアクセスされる場合、入力されるアドレスデータに応じて、データの読み出しが可能なメモリとしたが、例えば、パラレルアクセスされる場合に、入力されるアドレスデータに応じて、データの書き込みが可能なメモリとしてもよい。その際、本実施形態のメモリ制御回路２１は、アドレスデータＨＡＤＤＲと同様に書き込みデータＨＷＤＡＴＡを送信することにより、メモリ１１に高速にデータを書き込むことが可能となる。
【００８５】
以上に説明した構成からなる本実施形態のシステムＬＳＩ１０において、メモリ制御回路２１がシリアルモードに対応している場合、シリアルデータ処理回路３７は、端子４０２にデータＳＯを出力することによりメモリ１１にアクセスする。また、メモリ制御回路２１がパラレルモードに対応している場合、パラレルデータ処理回路３８は、４ビットのデータＰＯＵＴを端子４０２〜４０５に出力することによりメモリ１１にアクセスする。パラレルデータ処理回路３８がデータＰＯＵＴを出力する端子４０３〜４０５のうち端子４０３，４０４は、シリアルデータ処理回路３７がシリアルアクセスする際に制御信号ＳＷＰ，ＳＨＯＬＤを出力する端子であり、端子４０５は、メモリ１１がシリアルデータ処理回路３７にデータＳＩを出力する端子である。したがって、本実施形態におけるメモリ制御回路１２は、実装面積の増大を抑制しつつ、メモリ１１に対するアクセスを高速にすることが可能である。
【００８６】
また、本実施形態における送信回路６０は、メモリ１１にパラレルアクセスするためのアドレスデータＨＡＤＤＲ［２３：０］が入力されると、アドレスデータＨＡＤＤＲ［２３：０］をデータシフト回路１２５，１２６で１２ビットずつラッチし、順次４ビットのデータＰＯＵＴとして出力する。したがって、パラレルアクセスする際に、例えばアドレスが割り当てられたレジスタにアドレスデータＨＡＤＤＲ［２３：０］を格納し、データＰＯＵＴとして出力させる場合と比較すると、本実施形態ではＣＰＵ２０が前述のレジスタのアドレスを指定する処理を行う必要がないため、より高速にメモリ１１にアクセスすることが可能となる。
【００８７】
また、本実施形態の送信回路６０は、パラレルアクセスの際に入力される第２スレーブ選択信号ＨＳＥＬ２が“Ｈ”となると、アドレスデータＨＡＤＤＲ［２３：０］をラッチし、データＰＯＵＴとして出力する。したがって、アドレスバス２２に出力されるアドレスＨＡＤＤＲをバスクロックでラッチする場合と比較すると、アドレスＨＡＤＤＲのラッチがパラレルアクセスされる際の必要なタイミングに限られるため、消費電力を削減できる。
【００８８】
また、本実施形態において、パラレルデータ処理回路３８が出力するデータＰＯＵＴは、メモリ１１に対するアドレスデータであることとしたが、例えば、メモリ１１が書き込み可能なメモリである場合、メモリ１１に対して書き込みを実行すべく、アドレスデータに続き書き込みデータを、データＰＯＵＴとして端子４０２〜４０５に出力する構成としても良い。このように構成することにより、本実施形態のメモリ制御回路２１は、実装面積の増大を抑制しつつ、メモリ１１に対して高速でデータを書き込むことが可能である。
【００８９】
また、本実施形態のメモリ制御回路２１がパラレルモードに対応している場合、パラレルデータ処理回路３８は、メモリ１１に対するアドレスデータを送信することにより、メモリ１１に格納されたデータを端子４０２〜４０５からのデータＰＩＮとして受信し、第２読み出しデータＨＲＤＡＴＡ２として出力することが可能である。したがって、本実施形態のメモリ制御回路２１は、実装面積の増大を抑制しつつ、メモリ１１に格納されたデータを高速で読み出すことが可能である。
【００９０】
また、本実施形態おける受信回路６１では、メモリ１１に格納されたデータをデータ変換回路１３２，１３３がラッチして、読み出しデータ生成回路が第２読み出しデータＨＲＤＡＴＡ２を出力する。したがって、受信回路６１に入力されるデータＰＩＮを、例えばアドレスが割り当てられたレジスタに格納し、第２読み出しデータＨＲＤＡＴＡ２として出力する場合と比較すると、本実施形態ではＣＰＵ２０が前述のレジスタのアドレスを指定する処理を行う必要がないため、より高速にデータの読み出しが可能となる。
【００９１】
また、本実施形態の送信回路６０におけるデータ出力回路１２７は、クロック信号ＮＳＦＣＬＫの立ち上がりエッジに同期して入力される４ビットのデータＤ６と、クロック信号ＳＦＣＬＫの立ち上がりエッジに同期して入力される４ビットのデータＤ７とを、例えば、設定データＤＳＥＴによって、クロック信号ＮＳＦＣＬＫを１／４周期遅延させたクロック信号ＰＡＲＣＬＫの論理レベルで選択することにより、クロック信号ＰＡＲＣＬＫの両方のエッジに同期した４ビットのデータＰＯＵＴを出力している。したがって、本実施形態の送信回路６０は、例えば、データＰＯＵＴをクロック信号の単エッジに同期して出力する場合と比較すると、高速でデータＰＯＵＴを送信することが可能であるため、メモリ１１に対して高速でデータを送信できる。
【００９２】
また、本実施形態においてメモリ１１から読み出されるデータは、図９に例示するように、時刻Ｔ１１から遅延時間ＴＤだけ遅れて受信回路６１にデータＰＩＮとして入力される。また、入力されるデータＰＩＮの期間は、クロック信号ＮＳＦＣＬＫの周期に応じて変化する。本実施形態の受信回路６１は、クロック信号ＨＣＬＫを遅延時間ＴＤとクロック信号ＮＳＦＣＬＫの周期とに応じた遅延時間ＴＢだけ遅延させたクロック信号ＤＳＦＣＬＫ，ＤＮＳＦＣＬＫを用いてデータＰＩＮを受信している。したがって、本実施形態の受信回路６０は、例えば、データＰＩＮをクロック信号の一方のエッジで受信する場合と比較すると、高速でデータＰＩＮを受信することが可能であるため、メモリ１１に対する読み出し速度を高速化できる。
【００９３】
なお、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【００９４】
【図１】本発明の一実施形態であるシステムＬＳＩ１０を示す図である。
【図２】メモリ制御回路２１の一実施形態を示す図である。
【図３】クロック生成回路３６の一実施形態を示す図である。
【図４】遅延回路１１０の一実施形態を示す図である。
【図５】送信回路６０の一実施形態を示す図である。
【図６】データシフト回路１２５の一実施形態を示す図である。
【図７】送信回路６０の動作を説明するためのタイミングチャートである。
【図８】受信回路６１の一実施形態を示す図である。
【図９】受信回路６１の動作を説明するためのタイミングチャートである。
【図１０】パラレル制御回路６２の一実施形態を示す図である。
【図１１】メモリインターフェース３９の一実施形態を示す図である。
【図１２】シリアルモードにおけるメモリ１１に対する読み出し動作を説明するためのフローチャートである。
【図１３】パラレルモードにおけるメモリ１１に対する読み出し動作を説明するためのフローチャートである。
【図１４】パラレルモードにおけるメモリ１１に対する読み出し動作を説明するためのタイミングチャートである。
【図１５】パラレルアクセス可能状態のメモリ１１をシリアルアクセス可能な状態へと変更する場合の動作を説明するためのタイミングチャートである。
【符号の説明】
【００９５】
１０  システムＬＳＩ
１１  メモリ
２０  ＣＰＵ
２１  メモリ制御回路
３０  バスインターフェース
３１  アドレスデコーダ
３２  第１設定レジスタ
３３  制御レジスタ
３４  変更レジスタ
３５  状態レジスタ
３６  クロック生成回路
３７  シリアルデータ処理回路
３８  パラレルデータ処理回路
５０  第２設定レジスタ
５１  送信ＦＩＦＯ
５２  受信ＦＩＦＯ
５３  シリアル制御回路
６０  送信回路
６１  受信回路
６２  パラレル制御回路
３００〜３０５  端子
【図１】
0005433156.tif 000002
【図２】
0005433156.tif 000003
【図３】
0005433156.tif 000004
【図４】
0005433156.tif 000005
【図５】
0005433156.tif 000006
【図６】
0005433156.tif 000007
【図７】
0005433156.tif 000008
【図８】
0005433156.tif 000009
【図９】
0005433156.tif 000010
【図１０】
0005433156.tif 000011
【図１１】
0005433156.tif 000012
【図１２】
0005433156.tif 000013
【図１３】
0005433156.tif 000014
【図１４】
0005433156.tif 000015
【図１５】
0005433156.tif 000016