(57)【要約】【課題】半導体装置に設けるべき端子の数を変更することなく、半導体装置に接続し得るメモリの個数を可変とする。【解決手段】半導体装置は、命令コードを受信する第１のデータ入出力端子とそれ以外の第２のデータ入出力端子とを有する第１のメモリの第１のデータ入出力端子に接続されるとともに、命令コードを受信する第３のデータ入出力端子とそれ以外の第４のデータ入出力端子とを有する第２のメモリの第４のデータ入出力端子に接続される第１の端子と、第２のデータ入出力端子に接続されるとともに、第３のデータ入出力端子に接続される第２の端子とを備え、第１のメモリにアクセスする場合に、第１の端子に第１の命令コードを出力するとともに第２の端子に第２の命令コードを出力し、第２のメモリにアクセスする場合に、第２の端子に第１の命令コードを出力するとともに第１の端子に第２の命令コードを出力する。【選択図】図１
2014106604.tif 000002
【特許請求の範囲】
【請求項１】
命令コードを受信する第１のデータ入出力端子とそれ以外の第２のデータ入出力端子とを有するＳＰＩ（Serial Peripheral Interface）規格に基づく第１のメモリの前記第１のデータ入出力端子に接続されるとともに、命令コードを受信する第３のデータ入出力端子とそれ以外の第４のデータ入出力端子とを有するＳＰＩ規格に基づく第２のメモリの前記第４のデータ入出力端子に接続される第１の端子と、
前記第２のデータ入出力端子に接続されるとともに、前記第３のデータ入出力端子に接続される第２の端子と、
前記第１のメモリにアクセスする場合に、前記第１の端子に第１の命令コードを出力するとともに前記第２の端子に第２の命令コードを出力し、前記第２のメモリにアクセスする場合に、前記第２の端子に前記第１の命令コードを出力するとともに前記第１の端子に前記第２の命令コードを出力する出力手段と、を備える、半導体装置。
【請求項２】
前記第１の命令コードは、前記第１のメモリまたは前記第２のメモリに対して前記半導体装置からのアクセスを受け付けるように命令するコードであり、
前記第２の命令コードは、前記第１のメモリまたは前記第２のメモリに対して前記半導体装置からのアクセスを禁止するように命令するコードである、請求項１に記載の半導体装置。
【請求項３】
前記出力手段は、前記第１の命令コードおよび前記第２の命令コードを生成するとともに、アクセス対象が前記第１のメモリおよび前記第２のメモリのいずれであるかに応じて変化する制御信号を生成する生成手段と、
前記生成手段から前記第１の命令コード、前記第２の命令コードおよび前記制御信号を受信し、前記制御信号に応じて前記第１の命令コードおよび前記第２の命令コードの一方を前記第１の端子に出力するとともに他方を前記第２の端子に出力する第１のデータスワップ手段と、を有する、請求項２に記載の半導体装置。
【請求項４】
前記第１のデータスワップ手段は、前記第１のメモリにアクセスを行う場合に、前記制御信号に応じて、アクセス対象のアドレスを表す第１のビットと第２のビットを、それぞれ前記第１の端子と前記第２の端子に出力し、前記第２のメモリにアクセスを行う場合に、前記制御信号に応じて、前記第１のビットと前記第２のビットを、それぞれ前記第２の端子と前記第１の端子に出力する、請求項３に記載の半導体装置。
【請求項５】
前記第１のデータスワップ手段は、前記第１のメモリへの書き込みを行う場合に、前記制御信号に応じて、書き込みデータに含まれる第１のビットと第２のビットを、それぞれ前記第１の端子と前記第２の端子に出力し、前記第２のメモリへの書き込みを行う場合に、前記制御信号に応じて、前記第１のビットと前記第２のビットを、それぞれ前記第２の端子と前記第１の端子に出力する、請求項３に記載の半導体装置。
【請求項６】
前記第１の端子および前記第２の端子を介して、それぞれ、第１の入力データおよび第２の入力データを受信するとともに、前記制御信号を受信し、前記制御信号に応じて前記第１の入力データおよび前記第２の出力データを第１のシリアルデータおよび第２のシリアルデータの一方および他方として出力する第２のデータスワップ手段と、
前記第１のシリアルデータおよび前記第２のシリアルデータを受信してパラレルデータに変換して出力するシリアル／パラレル変換手段と、を備える、請求項３ないし５のいずれか１項に記載の半導体装置。
【請求項７】
前記第２のデータスワップ手段は、前記第１のメモリからの読み出しを行う場合に、前記制御信号に応じて、前記第１の端子から受信した読み出しデータに含まれる第１のビットと、前記第２の端子から受信した読み出しデータに含まれる第２のビットを、それぞれ、前記第１のシリアルデータおよび前記第２のシリアルデータとして出力し、前記第２のメモリからの読み出しを行う場合に、前記制御信号に応じて、前記第１の端子から受信した読み出しデータに含まれる第１のビットと、前記第２の端子から受信した読み出しデータに含まれる第２のビットを、それぞれ、前記第２のシリアルデータおよび前記第１のシリアルデータとして出力する、請求項６に記載の半導体装置。
【請求項８】
半導体装置によるＳＰＩ（Serial Peripheral Interface）規格に基づく第１のメモリおよび第２のメモリに対するメモリアクセス方法であって、
前記半導体装置が、前記第１のメモリにアクセスする場合に、前記半導体装置に設けられた第１の端子に第１の命令コードを出力するとともに、前記半導体装置に設けられた第２の端子に第２の命令コードを出力する工程と、
前記第２のメモリにアクセスする場合に、前記第２の端子に前記第１の命令コードを出力するとともに前記第１の端子に前記第２の命令コードを出力する工程と、を含み、
前記第１のメモリは、命令コードを受信する第１のデータ入出力端子とそれ以外の第２のデータ入出力端子とを有し、
前記第２のメモリは、命令コードを受信する第３のデータ入出力端子とそれ以外の第４のデータ入出力端子とを有し、
前記第１の端子は、前記第１のデータ入出力端子および前記第４のデータ入出力端子に接続され、
前記第２の端子は、前記第２のデータ入出力端子および前記第３のデータ入出力端子に接続されている、メモリアクセス方法。
【請求項９】
前記第１の命令コードは、前記第１のメモリまたは前記第２のメモリに対して前記半導体装置からのアクセスを受け付けるように命令するコードであり、
前記第２の命令コードは、前記第１のメモリまたは前記第２のメモリに対して前記半導体装置からのアクセスを禁止するように命令するコードである、請求項８に記載のメモリアクセス方法。
【請求項１０】
前記第１の命令コードおよび前記第２の命令コードを生成する工程と、
アクセス対象が前記第１のメモリおよび前記第２のメモリのいずれであるかに応じて変化する制御信号を生成する工程と、
前記制御信号に応じて前記第１の命令コードおよび前記第２の命令コードの一方を前記第１の端子に出力するとともに他方を前記第２の端子に出力する工程と、を含む、請求項９に記載のメモリアクセス方法。
【請求項１１】
前記第１のメモリにアクセスを行う場合に、前記制御信号に応じて、アクセス対象のアドレスを表す第１のビットと第２のビットを、それぞれ前記第１の端子と前記第２の端子に出力する工程と、
前記第２のメモリにアクセスを行う場合に、前記制御信号に応じて、アクセス対象のアドレスを表す第１のビットと第２のビットを、それぞれ前記第２の端子と前記第１の端子に出力する工程と、を含む、請求項１０に記載のメモリアクセス方法。
【請求項１２】
前記第１のメモリへの書き込みを行う場合に、前記制御信号に応じて、書き込みデータに含まれる第１のビットと第２のビットを、それぞれ前記第１の端子と前記第２の端子に出力する工程と、
前記第２のメモリへの書き込みを行う場合に、前記制御信号に応じて、前記第１のビットと前記第２のビットを、それぞれ前記第２の端子と前記第１の端子に出力する工程と、を含む、請求項１０に記載のメモリアクセス方法。
【請求項１３】
前記第１の端子および前記第２の端子を介して、それぞれ、第１の入力データおよび第２の入力データを受信する工程と、
前記制御信号に応じて前記第１の入力データおよび前記第２の出力データを第１のシリアルデータおよび第２のシリアルデータの一方および他方として出力する工程と、
前記第１のシリアルデータおよび前記第２のシリアルデータを受信してパラレルデータに変換する工程と、を含む、請求項１０ないし１２のいずれか１項に記載のメモリアクセス方法。
【請求項１４】
前記第１のメモリからの読み出しを行う場合に、前記制御信号に応じて、前記第１の端子から受信した読み出しデータに含まれる第１のビットと、前記第２の端子から受信した読み出しデータに含まれる第２のビットを、それぞれ、前記第１のシリアルデータおよび前記第２のシリアルデータとして出力する工程と、
前記第２のメモリからの読み出しを行う場合に、前記制御信号に応じて、前記第１の端子から受信した読み出しデータに含まれる第１のビットと、前記第２の端子から受信した読み出しデータに含まれる第２のビットを、それぞれ、前記第２のシリアルデータおよび前記第１のシリアルデータとして出力する工程と、を含む、請求項１３に記載のメモリアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置（半導体集積回路）に関し、例えば、半導体装置の外部のＳＰＩ（Serial Peripheral Interface）規格に基づく複数の不揮発性メモリに接続される半導体装置に関する。
【背景技術】
【０００２】
ＳＰＩ（Serial Peripheral Interface）規格に基づくメモリ（以下、「ＳＰＩメモリ」という。）はインタフェース信号数が少なく、部品単価、実装コスト等が低いことから、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、フラッシュメモリ（Flash Memory）等の不揮発性メモリとして広く普及している。
【０００３】
ＳＰＩメモリの容量には多くの種類が存在するが、メモリの容量は２のべき乗に制約される。したがって、必要とされるメモリ容量によっては、１個の大容量のＳＰＩメモリを搭載するよりも、２個の小容量のＳＰＩメモリを組み合わせた方が部品コストを安く抑えられる場合がある。
【０００４】
例えば、１７Ｍビットの不揮発性メモリを必要とする製品の場合、１個のＳＰＩメモリを搭載すると、高価な３２ＭビットのＳＰＩメモリが必要になる。しかし、安価な１６Ｍビットと１ＭビットのＳＰＩメモリを組み合わせて、２個のＳＰＩメモリを搭載することで、部品コストを低く抑えることができる。
【０００５】
近年、半導体装置を搭載する製品の価格競争は厳しさを増しており、コストの低減は重要な課題となっている。したがって、ＳＰＩメモリに接続される半導体集積装置に対して、複数のＳＰＩメモリを接続できることが求められている。
【０００６】
一例として、特許文献１には、３個のＳＰＩメモリに接続されるシリアルデータ転送装置が記載されている。特許文献１に記載されたシリアルデータ転送装置は、１個のクロック端子と、データ端子に相当する３個のチップセレクト端子と、出力端子と、入力端子とを有する。また、３個のＳＰＩメモリは、いずれも、ＤＩＭＭ２、３、４等に準じてパッケージ寸法の小さな小型のもので、かつ、同一アドレスが割当てられている。また、各ＳＰＩメモリは、クロック端子と、データ端子に相当するチップセレクト端子と、シリアル入力端子と、シリアル出力端子とを有する。
【０００７】
シリアルデータ転送装置の３個のチップセレクト端子に対して、各ＳＰＩメモリの対応するチップセレクト端子が接続されている。また、シリアルデータ転送装置のクロック端子に対して、各ＳＰＩメモリのクロック端子が共通に接続されている。さらに、シリアルデータ転送装置の出力端子に対して、各ＳＰＩメモリのシリアル入力端子が共通に接続されている。また、シリアルデータ転送装置の入力端子に対して、各ＳＰＩメモリのシリアル出力端子が共通に接続されている。すなわち、特許文献１に記載されたシリアルデータ転送装置は、シリアルクロックラインを共通化するとともに、データラインに相当するチップセレクトラインをＳＰＩメモリ毎に個別に設ける構成を有する。
【０００８】
このような構成において、シリアルデータ転送装置から出力されるチップセレクト信号がアクティブ（例えば、ロウレベル）となったＳＰＩメモリが選択されることとなる。すなわち、ＳＰＩメモリのうちのチップセレクト信号で選択されたもののみが動作する。
【０００９】
以上のように、特許文献１に記載された技術に基づいて、半導体装置にｎ個のＳＰＩメモリを接続する場合、ＳＰＩメモリとのインタフェース端子として、（ｎ＋３）個の端子を半導体装置に設ける必要がある。
【００１０】
また、非特許文献１には、３個のＳＰＩメモリに接続されるＳＰＩバスマスタが記載されている。非特許文献１に記載されたＳＰＩバスマスタとＳＰＩメモリとの接続構成は、特許文献１に記載されたシリアルデータ転送装置とＳＰＩメモリとの接続構成と同様である。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−０１１９２６号公報
【非特許文献】
【００１２】
【非特許文献１】"Micron Serial NOR Flash Memory,"［online］,2012, ［平成24年10月15日検索］、インターネット〈URL：http://www.micron.com/~/media/Documents/Products/Data%20Sheet/NOR%20Flash/Serial%20NOR/N25Q/n25q_128mb_1_8v_65nm.pdf>
【発明の概要】
【発明が解決しようとする課題】
【００１３】
以下の分析は、本発明者によってなされたものである。
【００１４】
特許文献１および非特許文献１に記載された技術によると、接続可能とするＳＰＩメモリの数に応じて半導体装置（特許文献１のシリアルデータ転送装置、非特許文献１のＳＰＩバスマスタ）側の端子数が増加し、半導体装置のコストが上昇するという問題がある。その理由は、接続されたＳＰＩメモリを個別にアクセスするために、個々のＳＰＩメモリ専用のデバイス選択信号（チップセレクト信号）を半導体装置の端子から出力する必要があるからである。
【００１５】
そこで、半導体装置に設けるべき端子の数を変更することなく、半導体装置に接続し得るメモリの個数を可変とすることが課題となる。なお、その他の課題および新規な特徴は、本明細書の記載および添付図面から明らかにされる。
【課題を解決するための手段】
【００１６】
一実施の形態によれば、半導体装置は、
命令コードを受信する第１のデータ入出力端子とそれ以外の第２のデータ入出力端子とを有するＳＰＩ（Serial Peripheral Interface）規格に基づく第１のメモリの前記第１のデータ入出力端子に接続されるとともに、命令コードを受信する第３のデータ入出力端子とそれ以外の第４のデータ入出力端子とを有するＳＰＩ規格に基づく第２のメモリの前記第４のデータ入出力端子に接続される第１の端子と、
前記第２のデータ入出力端子に接続されるとともに、前記第３のデータ入出力端子に接続される第２の端子と、
前記第１のメモリにアクセスする場合に、前記第１の端子に第１の命令コードを出力するとともに前記第２の端子に第２の命令コードを出力し、前記第２のメモリにアクセスする場合に、前記第２の端子に前記第１の命令コードを出力するとともに前記第１の端子に前記第２の命令コードを出力する出力手段と、を備える。
【００１７】
他の実施の形態によれば、メモリアクセス方法は、
半導体装置によるＳＰＩ（Serial Peripheral Interface）規格に基づく第１のメモリおよび第２のメモリに対するメモリアクセス方法であって、
前記半導体装置が、前記第１のメモリにアクセスする場合に、前記半導体装置に設けられた第１の端子に第１の命令コードを出力するとともに、前記半導体装置に設けられた第２の端子に第２の命令コードを出力する工程と、
前記第２のメモリにアクセスする場合に、前記第２の端子に前記第１の命令コードを出力するとともに前記第１の端子に前記第２の命令コードを出力する工程と、を含み、
前記第１のメモリは、命令コードを受信する第１のデータ入出力端子とそれ以外の第２のデータ入出力端子とを有し、
前記第２のメモリは、命令コードを受信する第３のデータ入出力端子とそれ以外の第４のデータ入出力端子とを有し、
前記第１の端子は、前記第１のデータ入出力端子および前記第４のデータ入出力端子に接続され、
前記第２の端子は、前記第２のデータ入出力端子および前記第３のデータ入出力端子に接続されている。
【発明の効果】
【００１８】
前記一実施の形態に係る半導体装置および前記他の実施の形態に係るメモリアクセス方法によると、半導体装置に設けるべき端子の数を変更することなく、半導体装置に接続するメモリの個数を可変とすることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明に係る半導体装置の構成を一例として示すブロック図である。
【図２】第１の実施形態に係る半導体装置と２個のＳＰＩメモリを接続するシステム構成を一例として示すブロック図である。
【図３】第１の実施形態におけるシリアル出力データスワップ回路の構成を一例として示す図である。
【図４】第１の実施形態におけるシリアル入力データスワップ回路の構成を一例として示す図である。
【図５】第１の実施形態におけるアドレスマップを一例として示す図である。
【図６】ＳＰＩメモリのＳＰＩ命令コード（一部）を一例として示す表である。
【図７】第１の実施形態に係る半導体装置によるシリアルデータ読み出し動作を一例として示すフロー図である。
【図８】第１の実施形態に係る半導体装置がＳＰＩメモリ１５０をアクセスする場合の半導体装置の動作を一例として示すタイミング図である。
【図９】第１の実施形態に係る半導体装置がＳＰＩメモリ１５０をアクセスする場合のＳＰＩメモリ１５０の動作を一例として示すタイミング図である。
【図１０】第１の実施形態に係る半導体装置がＳＰＩメモリ１５０をアクセスする場合のＳＰＩメモリ１５１の動作を一例として示すタイミング図である。
【図１１】第１の実施形態に係る半導体装置がＳＰＩメモリ１５１をアクセスする場合の半導体装置の動作を一例として示すタイミング図である。
【図１２】第１の実施形態に係る半導体装置がＳＰＩメモリ１５１をアクセスする場合のＳＰＩメモリ１５０の動作を一例として示すタイミング図である。
【図１３】第１の実施形態に係る半導体装置がＳＰＩメモリ１５１をアクセスする場合のＳＰＩメモリ１５１の動作を一例として示すタイミング図である。
【図１４】第１の実施形態に係る半導体装置にＳＰＩメモリを１個接続する場合の端子接続表である。
【図１５】第１の実施形態に係る半導体装置にＳＰＩメモリを２個接続する場合の端子接続表である。
【図１６】第２の実施形態に係る半導体装置と４個のＳＰＩメモリを接続するシステム構成を一例として示すブロック図である。
【図１７】第２の実施形態におけるシリアル出力データスワップ回路の構成を一例として示す図である。
【図１８】第２の実施形態におけるシリアル入力データスワップ回路の構成を一例として示す図である。
【図１９】第２の実施形態におけるアドレスマップを一例として示す図である。
【図２０】第２の実施形態に係る半導体装置がＳＰＩメモリ２５１をアクセスする場合の半導体装置の動作を一例として示すタイミング図である。
【図２１】第２の実施形態に係る半導体装置がＳＰＩメモリ２５１をアクセスする場合のＳＰＩメモリ２５０の動作を一例として示すタイミング図である。
【図２２】第２の実施形態に係る半導体装置がＳＰＩメモリ２５１をアクセスする場合のＳＰＩメモリ２５１の動作を一例として示すタイミング図である。
【図２３】第２の実施形態に係る半導体装置がＳＰＩメモリ２５１をアクセスする場合のＳＰＩメモリ２５２の動作を一例として示すタイミング図である。
【図２４】第２の実施形態に係る半導体装置がＳＰＩメモリ２５１をアクセスする場合のＳＰＩメモリ２５３の動作を一例として示すタイミング図である。
【図２５】第２の実施形態に係る半導体装置にＳＰＩメモリを１個接続する場合の端子接続表である。
【図２６】第２の実施形態に係る半導体装置にＳＰＩメモリを４個接続する場合の端子接続表である。
【発明を実施するための形態】
【００２０】
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００２１】
図１は、本発明に係る半導体装置（１０１）の構成、および、半導体装置（１０１）とメモリ（ＳＰＩメモリ１５０、１５１）との接続構成を一例として示すブロック図である。図１は、一例として、メモリ（１５０、１５１）は、それぞれ、２つのデータ入出力端子（ＳＩ、ＳＯ）を有し、半導体装置（１０１）は、これらのデータ入出力端子（ＳＩ、ＳＯ）に接続される２つの端子（Ｔ１、Ｔ２）を有する場合を示している。ただし、メモリが有するデータ入出力端子の個数および半導体装置（１０１）が有する端子の個数は、これらに限定されない（図１６参照）。
【００２２】
図１を参照すると、半導体装置（１０１）は、命令コードを受信する第１のデータ入出力端子（ＳＩ）とそれ以外の第２のデータ入出力端子（ＳＯ）とを有するＳＰＩ（Serial Peripheral Interface）規格に基づく第１のメモリ（１５０）の第１のデータ入出力端子（１５０のＳＩ）に接続されるとともに、命令コードを受信する第３のデータ入出力端子（ＳＩ）とそれ以外の第４のデータ入出力端子（ＳＯ）とを有するＳＰＩ規格に基づく第２のメモリ（１５１）の第４のデータ入出力端子（１５１のＳＯ）に接続される第１の端子（Ｔ１）と、第２のデータ入出力端子（１５０のＳＯ）に接続されるとともに、第３のデータ入出力端子（１５１のＳＩ）に接続される第２の端子（Ｔ２）と、第１のメモリ（１５０）にアクセスする場合に、第１の端子（Ｔ１）に第１の命令コードを出力するとともに第２の端子（Ｔ２）に第２の命令コードを出力し、第２のメモリ（１５１）にアクセスする場合に、第２の端子（Ｔ１）に第１の命令コードを出力するとともに第１の端子（Ｔ２）に第２の命令コードを出力する出力手段（１００）と、を備える。
【００２３】
ここで、第１の命令コードは第１のメモリ（１５０）または第２のメモリ（１５１）に対して半導体装置（１０１）からのアクセスを受け付けるように命令するコード（例えば、書き込み命令コード、読み出し命令コード等の有効命令コード）であり、第２の命令コードは第１のメモリ（１５０）または第２のメモリ（１５１）に対して半導体装置（１０１）からのアクセスを禁止するように命令するコード（無効命令コード）であることが好ましい。
【００２４】
かかる半導体装置（１０１）によると、半導体装置（１０１）に設けるべき端子の数を変更することなく、半導体装置（１０１）に接続するメモリ（１５０、１５１）の個数を可変とすることができる。図１に示した例においては、メモリ（１５０）またはメモリ（１５１）のうちの１つのみを半導体装置（１０１）に接続する場合と、２個のメモリ（１５０、１５１）を半導体装置（１０１）に接続する場合とで、半導体装置（１０１）に設けるべき端子の個数を変更する必要がない。
【００２５】
図２は、半導体装置（１０１）の詳細な構成を例示するブロック図である。図２を参照すると、出力手段（１００）は、第１の命令コード（有効命令コード）および第２の命令コード（無効命令コード）を生成するとともに、アクセス対象が第１のメモリ（１５０）および第２のメモリ（１５１）のいずれであるかに応じて変化する制御信号（シリアルデータスワップ制御信号Ｎ１２４）を生成する生成手段（１２０）と、生成手段（１２０）から第１の命令コード、第２の命令コードおよび制御信号（Ｎ１２４）を受信し、制御信号（Ｎ１２４）に応じて第１の命令コードおよび第２の命令コードの一方を第１の端子（Ｔ１）に出力するとともに他方を第２の端子（Ｔ２）に出力する第１のデータスワップ手段（シリアル出力データスワップ回路１０８）と、を有していてもよい。
【００２６】
生成手段（１２０）および第１のデータスワップ手段（１０８）によると、メモリ（１５０、１５１）に設けられたデバイス選択端子（ＣＳＮ）を用いる代わりに、メモリ（１５０、１５１）に設けられたデータ入出力端子（ＳＩ）に対して、第１の命令コード（有効命令コード）または第２の命令コード（無効命令コード）を供給することで、アクセス対象のメモリ（１５０、１５１）を選択することが可能となる。すなわち、メモリ（１５０、１５１）のうちのデータ入出力端子（ＳＩ）から第１の命令コード（有効命令コード）を受信したメモリを、アクセス対象のメモリとして指定することができる。
【００２７】
図３は、第１のデータスワップ手段（１０８）の構成を一例として示す図である。図２および図３を参照すると、第１のデータスワップ手段（１０８）は、第１のメモリ（１５０）にアクセスを行う場合に、制御信号（Ｎ１２４）に応じて、アクセス対象のアドレスを表す第１のビットと第２のビットを、それぞれ第１の端子（Ｔ１）と第２の端子（Ｔ２）に出力し、第２のメモリ（１５１）にアクセスを行う場合に、制御信号（Ｎ１２４）に応じて、前記第１のビットと前記第２のビットを、それぞれ第２の端子（Ｔ２）と第１の端子（Ｔ１）に出力することが好ましい。
【００２８】
第１のデータスワップ手段（１０８）によると、ＳＰＩメモリ（１５０）にアクセスする場合とＳＰＩメモリ（１５１）にアクセスする場合との間で、ＳＰＩメモリ（１５０、１５１）のデータ入出力端子（ＳＩ、ＳＯ）のそれぞれに供給されるアクセス対象のアドレスを表すビットを同一とすることができる。なぜなら、ＳＰＩメモリ（１５０）のデータ入出力端子（ＳＩ）およびデータ入出力端子（ＳＯ）は、それぞれ、第１の端子（Ｔ１）および第２の端子（Ｔ２）に接続され、ＳＰＩメモリ（１５１）のデータ入出力端子（ＳＩ）およびデータ入出力端子（ＳＯ）は、それぞれ、第２の端子（Ｔ２）および第１の端子（Ｔ１）に接続されているからである。
【００２９】
図２および図３を参照すると、第１のデータスワップ手段（１０８）は、第１のメモリ（１５０）への書き込みを行う場合に、制御信号（Ｎ１２４）に応じて、書き込みデータに含まれる第１のビットと第２のビットを、それぞれ第１の端子（Ｔ１）と第２の端子（Ｔ２に出力し、第２のメモリ（１５１）への書き込みを行う場合に、制御信号（Ｎ１２４）に応じて、前記第１のビットと前記第２のビットを、それぞれ第２の端子（Ｔ２）と第１の端子（Ｔ１）に出力することが好ましい。
【００３０】
第１のデータスワップ手段（１０８）によると、ＳＰＩメモリ（１５０）に書き込みを行う場合とＳＰＩメモリ（１５１）に書き込みを行う場合との間で、ＳＰＩメモリ（１５０、１５１）のデータ入出力端子（ＳＩ、ＳＯ）のそれぞれに供給される書き込みデータの内容を同一とすることができる。なぜなら、ＳＰＩメモリ（１５０）のデータ入出力端子（ＳＩ）およびデータ入出力端子（ＳＯ）は、それぞれ、第１の端子（Ｔ１）および第２の端子（Ｔ２）に接続され、ＳＰＩメモリ（１５１）のデータ入出力端子（ＳＩ）およびデータ入出力端子（ＳＯ）は、それぞれ、第２の端子（Ｔ２）および第１の端子（Ｔ１）に接続されているからである。
【００３１】
図２を参照すると、半導体装置（１０１）は、第１の端子（Ｔ１）および第２の端子（Ｔ２）を介して、それぞれ、第１の入力データおよび第２の入力データを受信するとともに、制御信号（Ｎ１２４）を受信し、制御信号（Ｎ１２４）に応じて前記第１の入力データおよび前記第２の出力データを第１のシリアルデータ（シリアル入力データ信号Ｎ１３４）および第２のシリアルデータ（シリアルデータ入力信号Ｎ１３５）の一方および他方として出力する第２のデータスワップ手段（シリアル入力データスワップ回路１０９）と、第１のシリアルデータ（Ｎ１３４）および第２のシリアルデータ（Ｎ１３５）を受信してパラレルデータ（パラレルデータ信号Ｎ１３８）に変換して出力するシリアル／パラレル変換手段（シリアル／パラレル変換回路１１０）と、を備えることが好ましい。
【００３２】
図４は、第２のデータスワップ手段（１０９）の構成を一例として示す図である。図２および図４を参照すると、第２のデータスワップ手段（１０９）は、第１のメモリ（１５０）からの読み出しを行う場合に、制御信号（Ｎ１２４）に応じて、第１の端子（Ｔ１）から受信した読み出しデータに含まれる第１のビットと、第２の端子（Ｔ２）から受信した読み出しデータに含まれる第２のビットを、それぞれ、第１のシリアルデータ（Ｎ１３４）および第２のシリアルデータ（Ｎ１３５）として出力し、第２のメモリ（１５１）からの読み出しを行う場合に、制御信号（Ｎ１２４）に応じて、第１の端子（Ｔ１）から受信した読み出しデータに含まれる第１のビットと、第２の端子（Ｔ２）から受信した読み出しデータに含まれる第２のビットを、それぞれ、第２のシリアルデータ（Ｎ１３５）および第１のシリアルデータ（Ｎ１３４）として出力することが好ましい。
【００３３】
第２のデータスワップ手段（１０９）およびシリアル／パラレル変換手段（１１０）によると、ＳＰＩメモリ（１５０）から読み出しを行う場合とＳＰＩメモリ（１５１）から読み出しを行う場合との間で、ＳＰＩメモリ（１５０、１５１）のデータ入出力端子（ＳＩ、ＳＯ）のそれぞれから読み出されたデータを同一の順序で格納したパラレルデータを生成することが可能となる。なぜなら、ＳＰＩメモリ（１５０）のデータ入出力端子（ＳＩ）およびデータ入出力端子（ＳＯ）は、それぞれ、第１の端子（Ｔ１）および第２の端子（Ｔ２）に接続され、ＳＰＩメモリ（１５１）のデータ入出力端子（ＳＩ）およびデータ入出力端子（ＳＯ）は、それぞれ、第２の端子（Ｔ２）および第１の端子（Ｔ１）に接続されているからである。
【００３４】
より詳細には、図２を参照すると、本発明に係る半導体装置（１０１）は、複数のＳＰＩメモリ（１５０、１５１）と接続可能な半導体装置であって、容量が同一または異なるＳＰＩメモリ（１５０、１５１）を接続する場合において、ＳＰＩメモリ（１５０または１５１）へ出力する複数のシリアル出力データ信号（Ｎ１２１、Ｎ１２２、Ｎ１２３）を選択するシリアル出力データ選択回路（１０７）と、シリアル出力データ選択回路（１０７）に任意に設定された無効命令コード（Ｎ１２８）を出力する無効命令コード生成回路（１０６）と、ＳＰＩメモリ（１５０または１５１）へ出力する複数のＳＰＩデータ信号（Ｎ１６０、Ｎ１６１）へのシリアル出力データ信号（Ｎ１３０、Ｎ１３１）の割り当てを選択するシリアル出力データスワップ回路（１０８）と、ＳＰＩメモリ（１５０または１５１）から入力する複数のＳＰＩデータ信号（Ｎ１６０、Ｎ１６１）からシリアル入力データ信号（Ｎ１３４、Ｎ１３５）への割り当てを選択するシリアル入力データスワップ回路（１０９）と、を備えていてもよい。
【００３５】
選択されたＳＰＩメモリ（１５０または１５１）に応じて複数のＳＰＩデータ信号（Ｎ１６０、Ｎ１６１）へのシリアル出力データ信号（Ｎ１３０、Ｎ１３１）の割り当てを切り替え、選択されたＳＰＩメモリ（例えば、１５０）のＳＰＩ命令コード受信端子（ＳＩ）が接続されたシリアルデータ送受信端子に実効命令コードを送出すると同時に、選択されていない他のＳＰＩメモリ（例えば、１５１）のＳＰＩ命令コード受信端子が接続されたシリアルデータ送受信端子に無効命令コードを送出し、ＳＰＩメモリ（例えば、１５０）から受信した複数のＳＰＩデータ信号（Ｎ１６０、Ｎ１６１）を選択されたＳＰＩメモリに応じてシリアル入力データ信号（Ｎ１３４、Ｎ１３５）に割り当てる。
【００３６】
これにより、半導体装置（１０１）に必要な端子（Ｔ１、Ｔ２）を増やすことなく、複数のＳＰＩメモリ（１５０、１５１）を接続することが可能となる。
【００３７】
（実施形態１）
第１の実施形態に係る半導体装置について、図面を参照して説明する。図２は、本実施形態に係る半導体装置１０１と２個のＤｕａｌ転送対応のＳＰＩメモリ１５０、１５１を接続する場合のシステム構成を一例として示すブロック図である。図２は、ＳＰＩメモリの接続対象である半導体装置１０１と、半導体装置１０１に接続されるＳＰＩメモリ１５０、１５１とを示す。
【００３８】
図２を参照すると、半導体装置１０１は、クロック生成回路１１１、ＣＰＵ（Central Processing Unit）１０２、システムバス１０３、転送制御回路１０４、リードバッファ１０５、無効命令コード生成回路１０６、シリアル出力データ選択回路１０７、シリアル出力データスワップ回路１０８、シリアル入力データスワップ回路１０９、シリアル／パラレル変換回路１１０、３ステート出力バッファ１３０、１３１、入力バッファ１３４、１３５、出力バッファ１３８、１３９、および、端子Ｔ１、Ｔ２を備える。
【００３９】
クロック生成回路１１１は、システムバス１０３にクロック信号を供給する。ＣＰＵ１０２は、バスマスタとしてシステムバス１０３に接続する。システムバス１０３は、転送制御回路１０４とＣＰＵ１０２を接続する。転送制御回路１０４は、バススレーブとしてシステムバス１０３に接続する。リードバッファ１０５は、シリアルデータから変換されたパラレルデータを一時的に格納する。無効命令コード生成回路１０６は、無効命令コードを出力する。シリアル出力データ選択回路１０７は、ＳＰＩメモリへ出力する第１のシリアルデータと第２のシリアルデータを選択する。シリアル出力データスワップ回路１０８は、ＳＰＩメモリへ出力する第１のＳＰＩデータ信号Ｎ１６０と第２のＳＰＩデータ信号Ｎ１６１を並び替える。シリアル入力データスワップ回路１０９は、ＳＰＩメモリから入力する第１のＳＰＩデータ信号Ｎ１６０と第２のＳＰＩデータ信号Ｎ１６１を並び替える。シリアル／パラレル変換回路１１０は、シリアルデータをパラレルデータに変換する。３ステート出力バッファ１３０は、第１のＳＰＩデータ信号Ｎ１６０を駆動する。３ステート出力バッファ１３１は、第２のＳＰＩデータ信号Ｎ１６１を駆動する。入力バッファ１３４は、第１のＳＰＩデータ信号Ｎ１６０を受信する。入力バッファ１３５は、第２のＳＰＩデータ信号Ｎ１６１を受信する。出力バッファ１３８は、ＳＰＩデバイス選択信号Ｎ１６４を駆動する。出力バッファ１３９は、ＳＰＩクロック信号Ｎ１６５を駆動する。
【００４０】
端子Ｔ１は、第１のＳＰＩメモリ１５０のデータ入出力端子ＳＩと、第２のＳＰＩメモリ１５１のデータ入出力端子ＳＯに接続されている。端子Ｔ２は、第１のＳＰＩメモリ１５０のデータ入出力端子ＳＯと、第２のＳＰＩメモリ１５１のデータ入出力端子ＳＩに接続されている。
【００４１】
転送制御回路１０４は、デバイス選択信号Ｎ１１２、シリアルクロック信号Ｎ１１３、シリアルデータ出力許可信号Ｎ１１５、シリアル出力ビット選択信号Ｎ１１９、シリアル出力データ選択信号Ｎ１２０、アドレス信号Ｎ１２１、書き込みデータ信号Ｎ１２２、実効命令コード信号Ｎ１２３、シリアルデータスワップ制御信号Ｎ１２４、シリアル／パラレル変換制御信号Ｎ１２５、および、リードバッファ制御信号Ｎ１２６を出力する。
【００４２】
リードバッファ１０５は、リードバッファ制御信号Ｎ１２６およびパラレルデータ信号Ｎ１３８を受信し、リードバッファ出力信号Ｎ１２７を出力する。
【００４３】
シリアル出力データ選択回路１０７は、シリアル出力ビット選択信号Ｎ１１９、シリアル出力データ選択信号Ｎ１２０、アドレス信号Ｎ１２１、書き込みデータ信号Ｎ１２２、実効命令コード信号Ｎ１２３、および、無効命令コード信号Ｎ１２８を受信し、スワップ前シリアル出力データ信号Ｎ１３０、Ｎ１３１を出力する。
【００４４】
シリアル出力データスワップ回路１０８は、シリアルデータスワップ制御信号Ｎ１２４、および、スワップ前シリアル出力データ信号Ｎ１３０、Ｎ１３１を受信し、スワップ後シリアル出力データ信号Ｎ１４０、Ｎ１４１を出力する。
【００４５】
シリアル入力データスワップ回路１０９は、シリアルデータスワップ制御信号Ｎ１２４、および、スワップ前シリアル入力データ信号Ｎ１４４、Ｎ１４５を受信し、スワップ後シリアル入力データ信号Ｎ１３４、Ｎ１３５を出力する。
【００４６】
シリアル／パラレル変換回路１１０は、シリアル／パラレル変換制御信号Ｎ１２５、および、スワップ後シリアル入力データ信号Ｎ１３４、Ｎ１３５を受信し、パラレルデータ信号Ｎ１３８を出力する。
【００４７】
３ステート出力バッファ１３０は、シリアルデータ出力許可信号Ｎ１１５、および、スワップ後シリアル出力データ信号Ｎ１４０を受信し、第１のＳＰＩデータ信号Ｎ１６０を出力する。３ステート出力バッファ１３１は、シリアルデータ出力許可信号Ｎ１１５、および、スワップ後シリアル出力データ信号Ｎ１４１を受信し、第２のＳＰＩデータ信号Ｎ１６１を出力する。
【００４８】
入力バッファ１３４は、第１のＳＰＩデータ信号Ｎ１６０を受信し、スワップ前シリアル入力データ信号Ｎ１４４を出力する。入力バッファ１３５は、第２のＳＰＩデータ信号Ｎ１６１を受信し、スワップ前シリアル入力データ信号Ｎ１４５を出力する。
【００４９】
出力バッファ１３８は、デバイス選択信号Ｎ１１２を受信し、ＳＰＩデバイス選択信号Ｎ１６４を出力する。出力バッファ１３９は、シリアルクロック信号Ｎ１１３を受信し、ＳＰＩクロック信号Ｎ１６５を出力する。
【００５０】
ＳＰＩメモリ１５０は、デバイス選択端子ＣＳＮからＳＰＩデバイス選択信号Ｎ１６４を受信し、クロック端子ＣＬＫからＳＰＩクロック信号Ｎ１６５を受信し、データ入出力端子ＳＩから第１のＳＰＩデータ信号Ｎ１６０を送受信し、データ入出力端子ＳＯから第２のＳＰＩデータ信号Ｎ１６１を送受信する。
【００５１】
ＳＰＩメモリ１５１は、デバイス選択端子ＣＳＮからＳＰＩデバイス選択信号Ｎ１６４を受信し、クロック端子ＣＬＫからＳＰＩクロック信号Ｎ１６５を受信し、データ入出力端子ＳＩから第２のＳＰＩデータ信号Ｎ１６１を送受信し、データ入出力端子ＳＯから第１のＳＰＩデータ信号Ｎ１６０を送受信する。
【００５２】
図３は、シリアル出力データスワップ回路１０８の構成を一例として示す図である。図３を参照すると、シリアル出力データスワップ回路１０８は、セレクタ１８０、１８１を備える。セレクタ１８０は、スワップ後シリアル出力データ信号Ｎ１４０に出力するデータを選択する。セレクタ１８１は、スワップ後シリアル出力データ信号Ｎ１４１に出力するデータを選択する。
【００５３】
セレクタ１８０は、シリアルデータスワップ制御信号Ｎ１２４、および、スワップ前シリアル出力データ信号Ｎ１３０、Ｎ１３１を受信し、スワップ後シリアル出力データ信号Ｎ１４０を出力する。
【００５４】
セレクタ１８１は、シリアルデータスワップ制御信号Ｎ１２４、および、スワップ前シリアル出力データ信号Ｎ１３１、Ｎ１３０を受信し、スワップ後シリアル出力データ信号Ｎ１４１を出力する。
【００５５】
図４は、シリアル入力データスワップ回路１０９の構成を一例として示す図である。図４を参照すると、シリアル入力データスワップ回路１０９は、セレクタ１９０、１９１を備える。セレクタ１９０は、スワップ後シリアル入力データ信号Ｎ１３４に出力するデータを選択する。セレクタ１９１は、スワップ後シリアル入力データ信号Ｎ１３５に出力するデータを選択する。
【００５６】
セレクタ１９０は、シリアルデータスワップ制御信号Ｎ１２４、および、スワップ前シリアル入力データ信号Ｎ１４４、Ｎ１４５を受信し、スワップ後シリアル入力データ信号Ｎ１３４を出力する。
【００５７】
セレクタ１９１は、シリアルデータスワップ制御信号Ｎ１２４、および、スワップ前シリアル入力データ信号Ｎ１４５、Ｎ１４４を受信し、スワップ後シリアル入力データ信号Ｎ１３５を出力する。
【００５８】
図５は、本実施形態のアドレスマップを例示する。図５を参照すると、割り当てられたアドレスは次のとおりである。すなわち、０ｘ００００００００〜０ｘ００ＦＦＦＦＦＦ番地（０ｘは１６進数表記）のアドレス範囲に、ＳＰＩメモリ１５０が割り当てられている。一方、０ｘ１０００００００〜０ｘ１０ＦＦＦＦＦＦ番地のアドレス範囲に、ＳＰＩメモリ１５１が割り当てられている。
【００５９】
図６は、ＳＰＩメモリのＳＰＩ命令コード（一部）を例示する表である。図６に示した表は、ＳＰＩメモリが受け取る１バイトのＳＰＩ命令コード、命令の名称、命令の機能等を１行とする複数の行を有する。図６を参照すると、割り当てられたＳＰＩ命令コードは、次のとおりである。すなわち、０ｘ００（０ｘは１６進数表記）がNo Operation命令、０ｘ０２がPage Program命令、０ｘ０３がRead命令、０ｘ０４がWrite Disable命令、０ｘ０５がRead Status Register命令、０ｘ０６がWrite Enable命令、０ｘ０ＢがFast Read命令、０ｘＢＢがFast Read Dual IO命令、０ｘＥＢがFast Read Quad IO命令に割り当てられている。
【００６０】
図７は、本実施形態に係る半導体装置１０１によるＳＰＩメモリ読み出し処理の動作を一例として示すフロー図である。図７を参照して、半導体装置１０１が図５のアドレスマップに示したＳＰＩメモリ１５０のメモリ内容を読み出す場合の動作について説明する。
【００６１】
ＣＰＵ１０２がシステムバス１０３を経由して、図５のＳＰＩメモリ１５０のアドレスマップ上の０ｘ００００５０００番地からの読み出しを開始する。すると、転送制御回路１０４はシステムバス１０３で示されたアドレスからアクセス対象がＳＰＩメモリ１５０であることを認識する（ステップＳ１００)。
【００６２】
転送制御回路１０４は、アドレス信号Ｎ１２１にアドレスを出力し、実効命令コード信号Ｎ１２３にＳＰＩ命令コード０ｘＢＢ（Fast Read Dual IO命令）を出力し、シリアルデータ信号を並び替えないためにシリアルデータスワップ制御信号Ｎ１２４にロウを出力する（ステップＳ１０１）。
【００６３】
転送制御回路１０４は、デバイス選択信号Ｎ１１２とシリアルデータ出力許可信号Ｎ１１５をアサートし、ＳＰＩバスサイクルを開始する（ステップＳ１０２）。
【００６４】
転送制御回路１０４は、送信対象として命令コードを選択する指示をシリアル出力データ選択信号Ｎ１２０に、選択された命令コードから一部のビットを選択する指示をシリアル出力ビット選択信号Ｎ１１９に、クロックパルスをシリアルクロック信号Ｎ１１３に、それぞれ出力する。これにより、シリアル出力データ選択回路１０７は、第１のＳＰＩデータ信号Ｎ１６０にＳＰＩ命令コード０ｘＢＢの一部のビットを、第２のＳＰＩデータ信号Ｎ１６１にＳＰＩ命令コード０ｘ０４の一部のビットを、それぞれ送出する（ステップＳ１０３）。
【００６５】
転送制御回路１０４は、ＳＰＩ命令コードの全ビットの送信が完了したか否かを判定する（ステップＳ１０４）。全ビットの送信が完了した場合（ステップＳ１０４のＹＥＳ）、ステップＳ１０５に進む。一方、全ビットの送信が完了していない場合（ステップＳ１０４のＮＯ）、ステップＳ１０３に戻り、処理を繰り返す。
【００６６】
ＳＰＩ命令コードの全ビットの送信が完了すると、ＳＰＩメモリ１５０は、０ｘＢＢ（Fast Read Dual IO命令）をＳＰＩ命令コードとして受信する。一方、ＳＰＩメモリ１５１は０ｘ０４（Write Disable命令）をＳＰＩ命令コードとして受信する。ＳＰＩ命令コード０ｘ０４（Write Disable命令）を受信したＳＰＩメモリ１５１は、ＳＰＩ命令コード受信以降のＳＰＩバスサイクルが無効となり、データ入出力端子ＳＩおよびＳＯを出力停止状態に保つ。
【００６７】
転送制御回路１０４は、転送対象としてアドレスを選択する指示をシリアル出力データ選択信号Ｎ１２０に、選択されたアドレスから一部のビットを選択する指示をシリアル出力ビット選択信号Ｎ１１９に、クロックパルスをシリアルクロック信号Ｎ１１３に、それぞれ出力する。これにより、シリアル出力データ選択回路１０７は、アドレスの下位２４ビットを対象として選択した２ビットを、第１のＳＰＩデータ信号Ｎ１６０と第２のＳＰＩデータ信号Ｎ１６１に、それぞれ送出する（ステップＳ１０５）。
【００６８】
転送制御回路１０４は、アドレスの全対象ビットの送信が完了したか否かを判定する（ステップＳ１０６）。全ビットの送信が完了した場合（ステップＳ１０６のＹＥＳ）、ステップＳ１０７に進む。一方、全ビットの送信が完了していない場合（ステップＳ１０６のＮＯ）、ステップＳ１０５に戻り、処理を繰り返す。
【００６９】
転送制御回路１０４は、ＳＰＩバスにダミーサイクルを挿入するために、シリアルデータ出力許可信号Ｎ１１５をデアサートし、シリアルクロック信号Ｎ１１３にクロックパルスを出力する（ステップＳ１０７）。
【００７０】
転送制御回路１０４は、ＳＰＩ命令の形式に必要とされるサイクル数のダミーサイクルの挿入が完了したか否かを判定する（ステップＳ１０８）。全サイクルの挿入が完了した場合（ステップＳ１０８のＹＥＳ）、ステップＳ１０９に進む。一方、全サイクルの挿入が完了していない場合（ステップＳ１０８のＮＯ）、ステップＳ１０７に戻り、処理を繰り返す。
【００７１】
転送制御回路１０４は、シリアルクロック信号Ｎ１１３とシリアル／パラレル変換制御信号Ｎ１２５にクロックパルスを出力し、シリアル／パラレル変換回路１１０は変換結果を２ビット上位側へシフトしてＳＰＩメモリ１５０から出力された２ビットの読み出しデータを下位２ビットに格納し、パラレルデータ信号Ｎ１３８に出力する（ステップＳ１０９）。
【００７２】
転送制御回路１０４は、パラレルデータ信号Ｎ１３８に１バイト（８ビット）のデータを受信したか否かを判定する（ステップＳ１１０）。受信が完了していない場合（ステップＳ１１０のＮＯ）、ステップＳ１０９に戻り、処理を繰り返す。一方、受信が完了した場合（ステップＳ１１０のＹＥＳ）、ステップＳ１１１に進む。
【００７３】
転送制御回路１０４は、リードバッファ制御信号Ｎ１２６を制御し、リードバッファ１０５にパラレルデータ信号Ｎ１３８上のバイトデータを蓄える（ステップＳ１１１）。
【００７４】
転送制御回路１０４は、システムバスから要求された全バイトのデータ受信が完了したか否かを判定する（ステップＳ１１２）。受信が完了していない場合（ステップＳ１１２のＮＯ）、ステップＳ１０９に戻り、処理を繰り返す。一方、受信が完了した場合（ステップＳ１１２のＹＥＳ）、ステップＳ１１３に進む。
【００７５】
転送制御回路１０４は、ＳＰＩバスの受信サイクルを終了するために、デバイス選択信号Ｎ１１２をデアサートする（ステップＳ１１３）。
【００７６】
転送制御回路１０４は、リードバッファ１０５に蓄えたデータをシステムバス１０３に出力し、ＣＰＵ１０２がシステムバス１０３を経由して、図５のＳＰＩメモリ１５０のアドレスマップ上の０ｘ００００５０００番地の読み出しデータを取得して、処理を終了する（ステップＳ１１４）。
【００７７】
次に、図７を参照して、本実施形態に係る半導体装置１０１が、図５のアドレスマップに示したＳＰＩメモリ１５１のメモリ内容を読み出す場合の動作について説明する。
【００７８】
ＣＰＵ１０２が、システムバス１０３を経由して、図５のＳＰＩメモリ１５１のアドレスマップ上の０ｘ１０００６０００番地からの読み出しを開始する。すると、転送制御回路１０４はシステムバス１０３で示されたアドレスからアクセス対象がＳＰＩメモリ１５１であることを認識する(ステップＳ１００)。
【００７９】
転送制御回路１０４は、アドレス信号Ｎ１２１にアドレスを出力し、実効命令コード信号Ｎ１２３にＳＰＩ命令コード０ｘＢＢ（Fast Read Dual IO命令）を出力し、シリアルデータ信号を並び替えるためにシリアルデータスワップ制御信号Ｎ１２４にハイを出力する（ステップＳ１０１）。
【００８０】
転送制御回路１０４は、デバイス選択信号Ｎ１１２とシリアルデータ出力許可信号Ｎ１１５をアサートし、ＳＰＩバスサイクルを開始する（ステップＳ１０２）。
【００８１】
転送制御回路１０４は、送信対象として命令コードを選択する指示をシリアル出力データ選択信号Ｎ１２０に、選択された命令コードから一部のビットを選択する指示をシリアル出力ビット選択信号Ｎ１１９に、クロックパルスをシリアルクロック信号Ｎ１１３に、それぞれ出力する。これにより、シリアル出力データ選択回路１０７は、第２のＳＰＩデータ信号Ｎ１６１にＳＰＩ命令コード０ｘＢＢの一部のビットを、第１のＳＰＩデータ信号Ｎ１６０にＳＰＩ命令コード０ｘ０４の一部のビットを、それぞれ送出する（ステップＳ１０３）。
【００８２】
転送制御回路１０４は、ＳＰＩ命令コードの全ビットの送信が完了したか否かを判定する（ステップＳ１０４）。全ビットの送信が完了した場合（ステップＳ１０４のＹＥＳ）、ステップＳ１０５に進む。一方、全ビットの送信が完了していない場合（ステップＳ１０４のＮＯ）、ステップＳ１０３に戻り、処理を繰り返す。
【００８３】
ＳＰＩ命令コードの全ビットの送信が完了すると、ＳＰＩメモリ１５０は０ｘ０４（Write Disable命令）をＳＰＩ命令コードとして受信する。一方、ＳＰＩメモリ１５１は０ｘＢＢ（Fast Read Dual IO命令）をＳＰＩ命令コードとして受信する。ＳＰＩ命令コード０ｘ０４（Write Disable命令）を受信したＳＰＩメモリ１５０は、ＳＰＩ命令コード受信以降のＳＰＩバスサイクルが無効となり、データ入出力端子ＳＩおよびＳＯを出力停止状態に保つ。
【００８４】
転送制御回路１０４は、転送対象としてアドレスを選択する指示をシリアル出力データ選択信号Ｎ１２０に、選択されたアドレスから一部のビットを選択する指示をシリアル出力ビット選択信号Ｎ１１９に、クロックパルスをシリアルクロック信号Ｎ１１３に、それぞれ出力する。これにより、シリアル出力データ選択回路１０７は、アドレスの下位２４ビットを対象として選択した２ビットを、第２のＳＰＩデータ信号Ｎ１６１と第１のＳＰＩデータ信号Ｎ１６０に、それぞれ送出する（ステップＳ１０５）。
【００８５】
転送制御回路１０４は、アドレスの全対象ビットの送信が完了したか否かを判定する（ステップＳ１０６）。全ビットの送信が完了した場合（ステップＳ１０６のＹＥＳ）、ステップＳ１０７に進む。一方、全ビットの送信が完了していない場合（ステップＳ１０６のＮＯ）、ステップＳ１０５に戻り、処理を繰り返す。
【００８６】
転送制御回路１０４は、ＳＰＩバスにダミーサイクルを挿入するために、シリアルデータ出力許可信号Ｎ１１５をデアサートし、シリアルクロック信号Ｎ１１３にクロックパルスを出力する（ステップＳ１０７）。
【００８７】
転送制御回路１０４は、ＳＰＩ命令の形式に必要とされるサイクル数のダミーサイクルの挿入が完了したか否かを判定する（ステップＳ１０８）。全サイクルの挿入が完了した場合（ステップＳ１０８のＹＥＳ）、ステップＳ１０９に進む。一方、全サイクルの挿入が完了していない場合（ステップＳ１０８のＮＯ）、ステップＳ１０７に戻り、処理を繰り返す。
【００８８】
転送制御回路１０４は、シリアルクロック信号Ｎ１１３とシリアル／パラレル変換制御信号Ｎ１２５にクロックパルスを出力し、シリアル／パラレル変換回路１１０は、変換結果を２ビット上位側へシフトしＳＰＩメモリ１５１から出力された２ビットの読み出しデータを最下位２ビットに格納し、パラレルデータ信号Ｎ１３８に出力する（ステップＳ１０９）。
【００８９】
転送制御回路１０４は、パラレルデータ信号Ｎ１３８に１バイト（８ビット）のデータを受信したか否かを判定する（ステップＳ１１０）。受信が完了していない場合（ステップＳ１１０のＮＯ）、ステップＳ１０９に戻り、処理を繰り返す。一方、受信が完了した場合（ステップＳ１１０のＹＥＳ）、ステップＳ１１１に進む。
【００９０】
転送制御回路１０４は、リードバッファ制御信号Ｎ１２６を制御し、リードバッファ１０５にパラレルデータ信号Ｎ１３８上のバイトデータを蓄える（ステップＳ１１１）。
【００９１】
転送制御回路１０４は、システムバスから要求された全バイトのデータ受信が完了したか否かを判定する（ステップＳ１１２）。受信が完了していない場合（ステップＳ１１２のＮＯ）、ステップＳ１０９に戻り、処理を繰り返す。一方、受信が完了した場合（ステップＳ１１２のＹＥＳ）、ステップＳ１１３に進む。
【００９２】
転送制御回路１０４は、ＳＰＩバスの受信サイクルを終了するために、デバイス選択信号Ｎ１１２をデアサートする（ステップＳ１１３）。
【００９３】
転送制御回路１０４は、リードバッファ１０５に蓄えたデータを、システムバス１０３に出力し、ＣＰＵ１０２がシステムバス１０３を経由して、図５のＳＰＩメモリ１５１のアドレスマップ上の０ｘ１０００６０００番地の読み出しデータを取得して、処理を終了する（ステップＳ１１４）。
【００９４】
図８〜図１３は、ＳＰＩメモリ１５０、１５１のアクセスタイミングを示すタイミング図であり、図８〜図１３を用いて本実施形態に係る半導体装置１０１の動作を説明する。
【００９５】
図８は、ＳＰＩメモリ１５０をアクセスする場合の半導体装置１０１の動作を一例として示すタイミング図である。
【００９６】
図８を参照すると、半導体装置１０１は、ＳＰＩデバイス選択信号Ｎ１６４を、例えば、ロウにアサートしてＳＰＩバスサイクルを開始する。次に、半導体装置１０１は、ＳＰＩクロック信号Ｎ１６５にクロックパルスを出力しつつ、８ビットの実効命令コード（０ｘＢＢ）と８ビットの無効命令コード（０ｘ０４）を、それぞれ第１のＳＰＩデータ信号Ｎ１６０と第２のＳＰＩデータ信号Ｎ１６１とに出力する（タイミングｔ１〜ｔ９）。
【００９７】
次に、半導体装置１０１は、ＳＰＩクロック信号Ｎ１６５にクロックパルスを出力しつつ、２４ビットのアドレス情報を第１のＳＰＩデータ信号Ｎ１６０と第２のＳＰＩデータ信号Ｎ１６１に出力する（タイミングｔ９〜ｔ２１）。
【００９８】
次に、半導体装置１０１は、ＳＰＩクロック信号Ｎ１６５にクロックパルスを出力し、４クロックのダミーサイクルを挿入する（タイミングｔ２１〜ｔ２５）。
【００９９】
次に、半導体装置１０１は、ＳＰＩクロック信号Ｎ１６５にクロックパルスを出力しつつ、ＳＰＩメモリ１５０から出力された読み出しデータを取得する（タイミングｔ２５〜ｔ３７）。
【０１００】
次に、半導体装置１０１は、ＳＰＩデバイス選択信号Ｎ１６４をハイにデアサートして、ＳＰＩバスサイクルを終了する。
【０１０１】
図９は、ＳＰＩメモリ１５０をアクセスする場合のＳＰＩメモリ１５０の動作を一例として示すタイミング図である。
【０１０２】
図９を参照すると、ＳＰＩメモリ１５０は、デバイス選択端子ＣＳＮにロウが入力され、ＳＰＩバスサイクルが始まる。次に、ＳＰＩメモリ１５０は、クロック端子ＣＬＫに入力されるクロックパルスに同期して、データ入出力端子ＳＩから８ビットの実効命令コード０ｘＢＢ（Fast Read Dual IO）を受信する（タイミングｔ１〜ｔ９）。
【０１０３】
次に、ＳＰＩメモリ１５０は、クロック端子ＣＬＫに入力されるクロックパルスに同期して、データ入出力端子ＳＩおよびＳＯから２４ビットのアドレスを受信する（タイミングｔ９〜ｔ２１）。
【０１０４】
次に、ＳＰＩメモリ１５０は、４サイクルのダミーサイクルを挿入する（タイミングｔ２１〜ｔ２５）。
【０１０５】
次に、ＳＰＩメモリ１５０は、クロック端子ＣＬＫに入力されるクロックパルスに同期して、受信したアドレスで始まるバイト列データをデータ入出力端子ＳＩおよびＳＯに出力する。
【０１０６】
次に、ＳＰＩメモリ１５０は、デバイス選択端子ＣＳＮがハイにデアサートされ、ＳＰＩバスサイクルが終了する。
【０１０７】
図１０は、ＳＰＩメモリ１５０をアクセスする場合のＳＰＩメモリ１５１の動作を一例として示すタイミング図である。
【０１０８】
図１０を参照すると、ＳＰＩメモリ１５１は、デバイス選択端子ＣＳＮがロウにアサートされ、ＳＰＩバスサイクルが始まる。次に、ＳＰＩメモリ１５１は、クロック端子ＣＬＫに入力されるクロックパルスに同期して、データ入出力端子ＳＩから８ビットの無効命令コード０ｘ０４（Write Disable）を受信する（タイミングｔ１〜ｔ９）。
【０１０９】
ＳＰＩメモリ１５１は、引き続きクロック端子ＣＬＫにクロックパルスを受信し続けるが、受信した無効命令コードに従い、データ入出力端子ＳＩとデータ入出力端子ＳＯを出力禁止状態に保ち続ける（タイミングｔ９〜ｔ３７）。
【０１１０】
次に、ＳＰＩメモリ１５１は、デバイス選択端子ＣＳＮがハイにデアサートされ、ＳＰＩバスサイクルが終了する。
【０１１１】
図１１は、ＳＰＩメモリ１５１をアクセスする場合の半導体装置１０１の動作を一例として示すタイミング図である。
【０１１２】
図１１を参照すると、半導体装置１０１は、ＳＰＩデバイス選択信号Ｎ１６４をロウにアサートしてＳＰＩバスサイクルを開始する。次に、半導体装置１０１は、ＳＰＩクロック信号Ｎ１６５にクロックパルスを出力しつつ、８ビットの無効命令コード（０ｘ０４）と８ビットの実効命令コード（０ｘＢＢ）とを、それぞれ第１のＳＰＩデータ信号Ｎ１６０と第２のＳＰＩデータ信号Ｎ１６１とに出力する（タイミングｔ１〜ｔ９）。
【０１１３】
次に、半導体装置１０１は、ＳＰＩクロック信号Ｎ１６５にクロックパルスを出力しつつ、２４ビットのアドレス情報を第２のＳＰＩデータ信号Ｎ１６１と第１のＳＰＩデータ信号Ｎ１６０に出力する（タイミングｔ９〜ｔ２１）。
【０１１４】
次に、半導体装置１０１は、ＳＰＩクロック信号Ｎ１６５にクロックパルスを出力し、４クロックのダミーサイクルを挿入する（タイミングｔ２１〜ｔ２５）。
【０１１５】
次に、半導体装置１０１は、ＳＰＩクロック信号Ｎ１６５にクロックパルスを出力しつつ、ＳＰＩメモリ１５０から出力された読み出しデータを取得する（タイミングｔ２５〜ｔ３７）。
【０１１６】
次に、半導体装置１０１は、ＳＰＩデバイス選択信号Ｎ１６４をハイにデアサートしてＳＰＩバスサイクルを終了する。
【０１１７】
図１２は、ＳＰＩメモリ１５１をアクセスする場合のＳＰＩメモリ１５０の動作を一例として示すタイミング図である。
【０１１８】
図１２を参照すると、ＳＰＩメモリ１５０は、デバイス選択端子ＣＳＮがロウにアサートされ、ＳＰＩバスサイクルが始まる。次に、ＳＰＩメモリ１５０は、クロック端子ＣＬＫに入力されるクロックパルスに同期して、データ入出力端子ＳＩから８ビットの無効命令コード０ｘ０４（Write Disable）を受信する（タイミングｔ１〜ｔ９）。
【０１１９】
ＳＰＩメモリ１５０は、引き続きクロック端子ＣＬＫにクロックパルスが入力され続けるが、受信した無効命令コードに従い、データ入出力端子ＳＩおよびＳＯを出力禁止状態に保ち続ける（タイミングｔ９〜ｔ３７）。
【０１２０】
次に、ＳＰＩメモリ１５０は、デバイス選択端子ＣＳＮがハイにデアサートされ、ＳＰＩバスサイクルが終了する。
【０１２１】
図１３は、ＳＰＩメモリ１５１をアクセスする場合のＳＰＩメモリ１５１の動作を一例として示すタイミング図である。
【０１２２】
図１３を参照すると、ＳＰＩメモリ１５１は、デバイス選択端子ＣＳＮにロウが入力され、ＳＰＩバスサイクルが始まる。次に、ＳＰＩメモリ１５１は、クロック端子ＣＬＫに入力されるクロックパルスに同期して、データ入出力端子ＳＩから８ビットの実効命令コード０ｘＢＢ（Fast Read Dual IO）を受信する（タイミングｔ１〜ｔ９）。
【０１２３】
次に、ＳＰＩメモリ１５１は、クロック端子ＣＬＫに入力されるクロックパルスに同期して、データ入出力端子ＳＩとデータ入出力端子ＳＯから２４ビットのアドレスを受信する（タイミングｔ９〜ｔ２１）。
【０１２４】
次に、ＳＰＩメモリ１５１は、４サイクルのダミーサイクルを挿入する（タイミングｔ２１〜ｔ２５）。
【０１２５】
次に、ＳＰＩメモリ１５１は、クロック端子ＣＬＫに入力されるクロックパルスに同期して、受信したアドレスで始まるバイト列データを、データ入出力端子ＳＩおよびＳＯに出力する。
【０１２６】
次に、ＳＰＩメモリ１５１は、デバイス選択端子ＣＳＮがハイにデアサートされ、ＳＰＩバスサイクルが終了する。
【０１２７】
図１４は、半導体装置と１個のＳＰＩメモリを接続する場合の端子接続表である。図１４を参照すると、ＳＰＩデバイス選択信号Ｎ１６４とＳＰＩクロック信号Ｎ１６５と第１のＳＰＩデータ信号Ｎ１６０と第２のＳＰＩデータ信号Ｎ１６１のために、半導体装置１０１に計４本の端子が必要となる。
【０１２８】
図１５は、半導体装置と２個のＳＰＩメモリを接続する場合の端子接続表である。図１５を参照すると、ＳＰＩデバイス選択信号Ｎ１６４とＳＰＩクロック信号Ｎ１６５と第１のＳＰＩデータ信号Ｎ１６０と第２のＳＰＩデータ信号Ｎ１６１のために、半導体装置１０１に１個のＳＰＩメモリを接続する場合と同じ計４本の端子が必要となる。
【０１２９】
以上のとおり、本実施形態に係る半導体装置によると、個々のＳＰＩメモリ専用のデバイス選択信号を出力する必要がなく、２個のＳＰＩメモリを接続可能とする場合に半導体装置側の端子数が増加することがなく、半導体装置の部品コストが上昇しないという効果がもたらされる。
【０１３０】
（実施形態２）
第２の実施形態に係る半導体装置について、図面を参照して説明する。図１６は、本実施形態に係る半導体装置と４個のＱｕａｄ転送対応のＳＰＩメモリを接続する場合のシステム構成を一例として示すブロック図である。
【０１３１】
第１の実施形態に係る半導体装置（図２）と比較すると、本実施形態に係る半導体装置では、シリアル出力データ選択回路１０７が４本のシリアルデータ信号に対応したシリアル出力データ選択回路２０７に、シリアル出力データスワップ回路１０８が４本のシリアルデータ信号に対応したシリアル出力データスワップ回路２０８に、シリアル入力データスワップ回路１０９が４本のシリアルデータ信号に対応したシリアル入力データスワップ回路２０９に、シリアル／パラレル変換回路１１０が４本のシリアルデータ信号に対応したシリアル／パラレル変換回路２１０に、それぞれ置き換えられている。また、ＳＰＩメモリ１５０がＱｕａｄ転送対応のＳＰＩメモリ２５０に、ＳＰＩメモリ１５１がＱｕａｄ転送対応のＳＰＩメモリ２５１に、それぞれ置き換えられている。
【０１３２】
さらに、第１の実施形態に係る半導体装置（図２）に対して、本実施形態に係る半導体装置では、Ｑｕａｄ転送対応のＳＰＩメモリ２５２、２５３、３ステート出力バッファ２３２、２３３、入力バッファ２３６、２３７、および、端子Ｔ３、Ｔ４が追加されている。
【０１３３】
３ステート出力バッファ２３２は、ＳＰＩメモリへ出力する第３のＳＰＩデータ信号Ｎ２６２を駆動する。３ステート出力バッファ２３３は、ＳＰＩメモリへ出力する第４のＳＰＩデータ信号Ｎ２６３を駆動する。入力バッファ２３６は、ＳＰＩメモリから入力する第３のＳＰＩデータ信号Ｎ２６２を受信する。入力バッファ２３７は、ＳＰＩメモリから入力する第４のＳＰＩデータ信号Ｎ２６３を受信する。
【０１３４】
端子Ｔ１は、第１のＳＰＩメモリ２５０のデータ入出力端子ＳＩＯ０と、第２のＳＰＩメモリ２５１のデータ入出力端子ＳＩＯ１と、第３のＳＰＩメモリ２５２のデータ入出力端子ＳＩＯ２と、第４のＳＰＩメモリ２５３のデータ入出力端子ＳＩＯ３に接続されている。端子Ｔ２は、第１のＳＰＩメモリ２５０のデータ入出力端子ＳＩＯ１と、第２のＳＰＩメモリ２５１のデータ入出力端子ＳＩＯ０と、第３のＳＰＩメモリ２５２のデータ入出力端子ＳＩＯ３と、第４のＳＰＩメモリ２５３のデータ入出力端子ＳＩＯ２に接続されている。端子Ｔ３は、第１のＳＰＩメモリ２５０のデータ入出力端子ＳＩＯ２と、第２のＳＰＩメモリ２５１のデータ入出力端子ＳＩＯ３と、第３のＳＰＩメモリ２５２のデータ入出力端子ＳＩＯ０と、第４のＳＰＩメモリ２５３のデータ入出力端子ＳＩＯ１に接続されている。端子Ｔ４は、第１のＳＰＩメモリ２５０のデータ入出力端子ＳＩＯ３と、第２のＳＰＩメモリ２５１のデータ入出力端子ＳＩＯ２と、第３のＳＰＩメモリ２５２のデータ入出力端子ＳＩＯ１と、第４のＳＰＩメモリ２５３のデータ入出力端子ＳＩＯ０に接続されている。
【０１３５】
図１７は、シリアル出力データスワップ回路２０８の構成を一例として示す図である。図１７を参照すると、シリアル出力データスワップ回路２０８は、セレクタ２８０〜２８３を備える。セレクタ２８０は、スワップ後シリアル出力データ信号Ｎ２４０に出力するデータを選択する。セレクタ２８１は、スワップ後シリアル出力データ信号Ｎ２４１に出力するデータを選択する。セレクタ２８２は、スワップ後シリアル出力データ信号Ｎ２４２に出力するデータを選択する。セレクタ２８３は、スワップ後シリアル出力データ信号Ｎ２４３に出力するデータを選択する。
【０１３６】
セレクタ２８０は、シリアルデータスワップ制御信号Ｎ２２４、および、スワップ前シリアル出力データ信号Ｎ２３０〜Ｎ２３３を受信し、スワップ後シリアル出力データ信号Ｎ２４０を出力する。セレクタ２８１は、シリアルデータスワップ制御信号Ｎ２２４、および、スワップ前シリアル出力データ信号Ｎ２３０〜Ｎ２３３を受信し、スワップ後シリアル出力データ信号Ｎ２４１を出力する。セレクタ２８２は、シリアルデータスワップ制御信号Ｎ２２４、および、スワップ前シリアル出力データ信号Ｎ２３０〜Ｎ２３３を受信し、スワップ後シリアル出力データ信号Ｎ２４２を出力する。セレクタ２８３は、シリアルデータスワップ制御信号Ｎ２２４、および、スワップ前シリアル出力データ信号Ｎ２３０〜Ｎ２３３を受信し、スワップ後シリアル出力データ信号Ｎ２４３を出力する。
【０１３７】
図１８は、シリアル入力データスワップ回路２０９の構成を一例として示す図である。図１８を参照すると、シリアル入力データスワップ回路２０９は、セレクタ２９０〜２９３を備える。セレクタ２９０は、スワップ後シリアル入力データ信号Ｎ２３４に出力するデータを選択する。セレクタ２９１は、スワップ後シリアル入力データ信号Ｎ２３５に出力するデータを選択する。セレクタ２９２は、スワップ後シリアル入力データ信号Ｎ２３６に出力するデータを選択する。セレクタ２９３は、スワップ後シリアル入力データ信号Ｎ２３７に出力するデータを選択する。
【０１３８】
セレクタ２９０は、シリアルデータスワップ制御信号Ｎ２２４、および、スワップ前シリアル入力データ信号Ｎ２４４〜Ｎ２４７を受信し、スワップ後シリアル入力データ信号Ｎ２３４を出力する。セレクタ２９１は、シリアルデータスワップ制御信号Ｎ２２４、および、スワップ前シリアル入力データ信号Ｎ２４４〜Ｎ２４７を受信し、スワップ後シリアル入力データ信号Ｎ２３５を出力する。セレクタ２９２は、シリアルデータスワップ制御信号Ｎ２２４、および、スワップ前シリアル入力データ信号Ｎ２４４〜Ｎ２４７を受信し、スワップ後シリアル入力データ信号Ｎ２３６を出力する。セレクタ２９３は、シリアルデータスワップ制御信号Ｎ２２４、および、スワップ前シリアル入力データ信号Ｎ２４４〜Ｎ２４７を受信し、スワップ後シリアル入力データ信号Ｎ２３７を出力する。
【０１３９】
図１９は、本実施形態におけるアドレスマップである。図１９を参照すると、割り当てられたアドレスは次のとおりである。すなわち、０ｘ００００００００〜０ｘ０１ＦＦＦＦＦＦ番地（０ｘは１６進数表記）のアドレス範囲にＳＰＩメモリ２５０が割り当てられている。また、０ｘ１０００００００〜０ｘ１１ＦＦＦＦＦＦ番地のアドレス範囲にＳＰＩメモリ２５１が割り当てられている。さらに、０ｘ４０００００００〜０ｘ４１ＦＦＦＦＦＦ番地のアドレス範囲にＳＰＩメモリ２５２が割り当てられている。また、０ｘＦ０００００００〜０ｘＦＦＦＦＦＦＦＦ番地のアドレス範囲にＳＰＩメモリ２５３が割り当てられている。
【０１４０】
図７は、本実施形態に係る半導体装置２０１によるＳＰＩメモリ読み出し処理の動作を一例として示すフロー図である。図７を参照して、本実施形態の半導体装置２０１が図１９のアドレスマップに示したＳＰＩメモリ２５１のメモリ内容を読み出す場合の動作について説明する。
【０１４１】
ステップＳ１００では、ＣＰＵ２０２がシステムバス２０３を経由して、図１９のＳＰＩメモリ２５１のアドレスマップ上の０ｘ１０００８０００番地からの読み出しを開始し、転送制御回路２０４ではシステムバス２０３で示されたアドレスからアクセス対象がＳＰＩメモリ２５１であることを認識する。
【０１４２】
ステップＳ１０１では、転送制御回路２０４は、実効命令コード信号Ｎ２２３にＳＰＩ命令コード０ｘＥＢ（Fast Read Quad IO命令）を出力し、シリアルデータ信号を並び替えるためにシリアルデータスワップ制御信号Ｎ２２４に０ｘ１を出力する。
【０１４３】
ステップＳ１０３では、転送制御回路２０４が送信対象として命令コードを選択する指示をシリアル出力データ選択信号Ｎ２２０に、選択された命令コードから一部のビットを選択する指示をシリアル出力ビット選択信号Ｎ２１９に、クロックパルスをシリアルクロック信号Ｎ２１３に、それぞれ出力する。このとき、シリアル出力データ選択回路２０７は、第２のＳＰＩデータ信号Ｎ２６１にＳＰＩ命令コード０ｘＥＢの一部のビットを、第１のＳＰＩデータ信号Ｎ２６０と第３のＳＰＩデータ信号Ｎ２６２と第４のＳＰＩデータ信号Ｎ２６３とにＳＰＩ命令コード０ｘ０４の一部のビットを、それぞれ送出する。
【０１４４】
ＳＰＩメモリ２５０、２５２および２５３は、命令コードの全ビットの送信が完了すると、０ｘ０４（Write Disable命令）を命令コードとして受信する。一方、ＳＰＩメモリ２５１は、０ｘＥＢ（Fast Read Quad IO命令）を命令コードとして受信する。
【０１４５】
ＳＰＩ命令コード０ｘ０４（Write Disable命令）を受信したＳＰＩメモリ２５０、２５２、２５３は、ＳＰＩ命令コード受信以降のＳＰＩバスサイクルが無効となり、それぞれのデータ入出力端子ＳＩＯ０〜ＳＩＯ３を出力停止状態に保つ。
【０１４６】
ステップＳ１０５では、転送制御回路２０４は、転送対象としてアドレスを選択する指示をシリアル出力データ選択信号Ｎ２２０に、選択されたアドレスから一部のビットを選択する指示をシリアル出力ビット選択信号Ｎ２１９に、クロックパルスをシリアルクロック信号Ｎ２１３に、それぞれ出力する。シリアル出力データ選択回路２０７は、３２ビットのアドレスから選択された２ビットを、第２のＳＰＩデータ信号Ｎ２６１と、第１のＳＰＩデータ信号Ｎ２６０と、第４のＳＰＩデータ信号Ｎ２６３と、第３のＳＰＩデータ信号Ｎ２６２とに、それぞれ送出する。
【０１４７】
ステップＳ１０９では、転送制御回路２０４は、シリアルクロック信号Ｎ２１３とシリアル／パラレル変換制御信号Ｎ２２５にクロックパルスを出力し、シリアル／パラレル変換回路２１０は、変換結果を４ビット上位側へシフトし、ＳＰＩメモリ２５１から出力された４ビットの読み出しデータを最下位４ビットに格納し、パラレルデータ信号Ｎ２３８に出力する。
【０１４８】
図２０〜図２４は、ＳＰＩメモリ２５０〜２５３のアクセスタイミングを示すタイミング図であり、図２０〜図２４を参照して、本実施形態に係る半導体装置２０１の動作を説明する。
【０１４９】
図２０は、ＳＰＩメモリ２５１をアクセスする場合の半導体装置２０１の動作を一例として示すタイミング図である。
【０１５０】
図２０を参照すると、半導体装置２０１は、ＳＰＩクロック信号Ｎ２６５にクロックパルスを出力しつつ、第１のＳＰＩデータ信号Ｎ２６０と第３のＳＰＩデータ信号Ｎ２６２と第４のＳＰＩデータ信号Ｎ２６３に８ビットの無効命令コード（０ｘ０４）を、第２のＳＰＩデータ信号Ｎ２６１に８ビットの実効命令コード（０ｘＥＢ）とを、それぞれ出力する（タイミングｔ１〜ｔ９）。
【０１５１】
次に、半導体装置２０１は、ＳＰＩクロック信号Ｎ２６５にクロックパルスを出力しつつ、第２のＳＰＩデータ信号Ｎ２６１と、第１のＳＰＩデータ信号Ｎ２６０と、第４のＳＰＩデータ信号Ｎ２６３と、第３のＳＰＩデータ信号Ｎ２６２とに、アドレスを４ビット単位で出力する（タイミングｔ９〜ｔ１７）。
【０１５２】
次に、半導体装置２０１は、ＳＰＩクロック信号Ｎ２６５にクロックパルスを出力し、６サイクルのダミーサイクルを挿入する（タイミングｔ１７〜ｔ２３）。
【０１５３】
次に、半導体装置２０１は、ＳＰＩクロック信号Ｎ２６５にクロックパルスを出力しつつ、ＳＰＩメモリ２５１から出力された読み出しデータを取得する（タイミングｔ２３〜ｔ３７）。
【０１５４】
次に、半導体装置２０１は、ＳＰＩデバイス選択信号Ｎ２６４をハイにデアサートしてＳＰＩバスサイクルを終了する。
【０１５５】
図２１は、ＳＰＩメモリ２５１をアクセスする場合のＳＰＩメモリ２５０の動作を一例として示すタイミング図である。
【０１５６】
図２１を参照すると、ＳＰＩメモリ２５０は、クロック端子ＣＬＫに入力されるクロックパルスに同期して、データ入出力端子ＳＩＯ０から８ビットの無効命令コード０ｘ０４（Write Disable）を受信する（タイミングｔ１〜ｔ９）。
【０１５７】
ＳＰＩメモリ２５０は、引き続きクロック端子ＣＬＫにクロックパルスを受信し続けるが、受信した無効命令コードに従い、データ入出力端子ＳＩＯ０〜ＳＩＯ３を出力禁止状態に保ち続ける（タイミングｔ９〜ｔ３７）。
【０１５８】
図２２は、ＳＰＩメモリ２５１をアクセスする場合のＳＰＩメモリ２５１の動作を一例として示すタイミング図である。
【０１５９】
図２２を参照すると、ＳＰＩメモリ２５１は、クロック端子ＣＬＫに入力されるクロックパルスに同期して、データ入出力端子ＳＩＯ０から８ビットの実効命令コード０ｘＥＢ（Fast Read Quad IO）を受信する（タイミングｔ１〜ｔ９）。
【０１６０】
次に、ＳＰＩメモリ２５１は、クロック端子ＣＬＫに入力されるクロックパルスに同期して、データ入出力端子ＳＩＯ０〜ＳＩＯ３から３２ビットのアドレスを受信する（タイミングｔ９〜ｔ１７）。
【０１６１】
次に、ＳＰＩメモリ２５１は、６サイクルのダミーサイクルを挿入する（タイミングｔ１７〜ｔ２３）。
【０１６２】
次に、ＳＰＩメモリ２５１は、クロック端子ＣＬＫに入力されるクロックパルスに同期して、受信したアドレスで始まるバイト列データを、データ入出力端子ＳＩＯ０〜ＳＩＯ３に出力する（タイミングｔ２３〜ｔ３７）。
【０１６３】
図２３は、ＳＰＩメモリ２５１をアクセスする場合のＳＰＩメモリ２５２の動作を一例として示すタイミング図である。
【０１６４】
図２３を参照すると、ＳＰＩメモリ２５２は、クロック端子ＣＬＫに入力されるクロックパルスに同期して、データ入出力端子ＳＩＯ０から８ビットの無効命令コード０ｘ０４（Write Disable）を受信する（タイミングｔ１〜ｔ９）。
【０１６５】
ＳＰＩメモリ２５２は、引き続きクロック端子ＣＬＫにクロックパルスを受信し続けるが、受信した無効命令コードに従い、データ入出力端子ＳＩＯ０〜ＳＩＯ３を出力禁止状態に保ち続ける（タイミングｔ９〜ｔ３７）。
【０１６６】
図２４は、ＳＰＩメモリ２５３の動作を一例として示すタイミング図である。
【０１６７】
図２４を参照すると、ＳＰＩメモリ２５３は、クロック端子ＣＬＫに入力されるクロックパルスに同期して、データ入出力端子ＳＩＯ０から８ビットの無効命令コード０ｘ０４（Write Disable）を受信する（タイミングｔ１〜ｔ９）。
【０１６８】
ＳＰＩメモリ２５３は、引き続きクロック端子ＣＬＫにクロックパルスを受信し続けるが、受信した無効命令コードに従い、データ入出力端子ＳＩＯ０〜端子ＳＩＯ３を出力禁止状態に保ち続ける（タイミングｔ９〜ｔ３７）。
【０１６９】
図２５は、半導体装置と１個のＱｕａｄ対応ＳＰＩメモリを接続する場合の端子接続表である。図２５を参照すると、半導体装置と１個のＳＰＩメモリを接続する場合には、半導体装置２０１に計６本の端子が必要となる。図２６は、半導体装置と４個のＱｕａｄ対応ＳＰＩメモリを接続する場合の端子接続表である。図２６を参照すると、４個のＳＰＩメモリを接続する場合においても、半導体装置２０１に１個のＳＰＩメモリを接続する場合と同じ計６本の端子である。
【０１７０】
したがって、本実施形態のように４個のＱｕａｄ対応ＳＰＩメモリを接続可能とする場合においても、第１の実施形態と同様の効果が得られる。すなわち、半導体装置に接続するＳＰＩメモリの個数に応じて、半導体装置の端子数を増やす必要がなくなる。
【０１７１】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１７２】
１００、２００    出力手段
１０１、２０１    半導体装置
１０２、２０２    ＣＰＵ
１０３、２０３    システムバス
１０４、２０４    転送制御回路
１０５、２０５    リードバッファ
１０６、２０６    無効命令コード生成回路
１０７、２０７    シリアル出力データ選択回路
１０８、２０８    シリアル出力データスワップ回路
１０９、２０９    シリアル入力データスワップ回路
１１０、２１０    シリアル／パラレル変換回路
１１１、２１１    クロック生成回路
１２０、２２０    生成手段
１３０、１３１、２３０〜２３３    ３ステート出力バッファ
１３４、１３５、２３４〜２３７    入力バッファ
１３８、１３９、２３８、２３９    出力バッファ
１４０、２４０    入力手段
１５０、１５１、２５０〜２５３    ＳＰＩメモリ
１８０、１８１、１９０、１９１、２８０〜２８３、２９０〜２９３    セレクタ
ＣＬＫ    クロック端子
ＣＳＮ    デバイス選択端子
Ｎ１１２、Ｎ２１２    デバイス選択信号
Ｎ１１３、Ｎ２１３    シリアルクロック信号
Ｎ１１５、Ｎ２１５    シリアルデータ出力許可信号
Ｎ１１９、Ｎ２１９    シリアル出力ビット選択信号
Ｎ１２０、Ｎ２２０    シリアル出力データ選択信号
Ｎ１２１、Ｎ２２１    アドレス信号
Ｎ１２２、Ｎ２２２    書き込みデータ信号
Ｎ１２３、Ｎ２２３    実効命令コード信号
Ｎ１２４、Ｎ２２４    シリアルデータスワップ制御信号
Ｎ１２５、Ｎ２２５    シリアル／パラレル変換制御信号
Ｎ１２６、Ｎ２２６    リードバッファ制御信号
Ｎ１２７、Ｎ２２７    リードバッファ出力信号
Ｎ１２８、Ｎ２２８    無効命令コード信号
Ｎ１３０、Ｎ１３１、Ｎ２３０〜Ｎ２３３    スワップ前シリアル出力データ信号
Ｎ１３４、Ｎ１３５、Ｎ２３４〜Ｎ２３７    スワップ後シリアル入力データ信号
Ｎ１３８、Ｎ２３８    パラレルデータ信号
Ｎ１４０、Ｎ１４１、Ｎ２４０〜Ｎ２４３    スワップ後シリアル出力データ信号
Ｎ１４４、Ｎ１４５、Ｎ２４４〜Ｎ２４７    スワップ前シリアル入力データ信号
Ｎ１６０、Ｎ１６１、Ｎ２６０〜Ｎ２６３    ＳＰＩデータ信号
Ｎ１６４、Ｎ２６４    ＳＰＩデバイス選択信号
Ｎ１６５、Ｎ２６５    ＳＰＩクロック信号
ＳＩ、ＳＩＯ０〜ＳＩＯ３、ＳＯ    データ入出力端子
Ｔ１〜Ｔ４    端子
ｔ１〜ｔ３７    タイミング
【図１】
2014106604.tif 000003
【図２】
2014106604.tif 000004
【図３】
2014106604.tif 000005
【図４】
2014106604.tif 000006
【図５】
2014106604.tif 000007
【図６】
2014106604.tif 000008
【図７】
2014106604.tif 000009
【図８】
2014106604.tif 000010
【図９】
2014106604.tif 000011
【図１０】
2014106604.tif 000012
【図１１】
2014106604.tif 000013
【図１２】
2014106604.tif 000014
【図１３】
2014106604.tif 000015
【図１４】
2014106604.tif 000016
【図１５】
2014106604.tif 000017
【図１６】
2014106604.tif 000018
【図１７】
2014106604.tif 000019
【図１８】
2014106604.tif 000020
【図１９】
2014106604.tif 000021
【図２０】
2014106604.tif 000022
【図２１】
2014106604.tif 000023
【図２２】
2014106604.tif 000024
【図２３】
2014106604.tif 000025
【図２４】
2014106604.tif 000026
【図２５】
2014106604.tif 000027
【図２６】
2014106604.tif 000028