(57)【要約】【課題】ＬＳＩの機能増加に伴い外部端子数が増加傾向にある。更に、回路の微細化が進み、パッケージサイズも小型化が進んでいる。このため、ＬＳＩの外部端子数の削減が求められている。【解決手段】本発明は、複数の外部記憶デバイスから１つを選択して、実行プログラムをロードする半導体集積回路であって、複数の内蔵ヒューズ回路を備えるヒューズ部と、前記内蔵ヒューズ回路が示す値に応じて選択した外部記憶デバイスからの実行プログラムをロードする処理部と、を有する半導体集積回路である。【選択図】図１
2012069565.tif 000002
【特許請求の範囲】
【請求項１】
複数の外部記憶デバイスから１つを選択して、実行プログラムをロードする半導体集積回路であって、
複数の内蔵ヒューズ回路を備えるヒューズ部と、
前記内蔵ヒューズ回路が示す値に応じて選択した外部記憶デバイスからの実行プログラムをロードし、実行する処理部と、を有する
半導体集積回路。
【請求項２】
前記ヒューズ部からの出力信号を記憶する第１のレジスタを備え、
前記処理部は、当該半導体集積回路のＣＰＵであり、
前記ＣＰＵは、前記第１のレジスタの値に応じて前記複数の外部記憶デバイスから１つを選択する
請求項１に記載の半導体集積回路。
【請求項３】
当該半導体集積回路は、ＳＤＲＡＭを有し、
前記ヒューズ部は、
前記第１のレジスタに信号を出力する選択ヒューズエリアと、
前記ＳＤＲＡＭの不良セルを救済するリダンダシ用のヒューズ回路を備えるリダンダシエリアと、を有する
請求項２に記載の半導体集積回路。
【請求項４】
前記内蔵ヒューズ回路が示す値に応じて選択した外部記憶デバイスからロードした実行プログラムは、当該半導体集積回路内部もしくは外部のＤＲＡＭに格納される
請求項１〜請求項３のいずれか１項に記載の半導体集積回路。
【請求項５】
第１の外部端子を備え、
前記ヒューズ部は、第１、第２の選択ヒューズエリアを備え、
前記処理部は、前記第１の外部端子が示す値に応じて、前記第１の選択ヒューズエリア、もしくは、第２の選択ヒューズエリアのいずれかを選択し、その選択した選択ヒューズエリアの内蔵ヒューズ回路が示す値に応じて選択した外部記憶デバイスからの実行プログラムをロードする
請求項１に記載の半導体集積回路。
【請求項６】
前記第１の選択ヒューズエリアからの出力信号を記憶する第１のレジスタと、
前記第２の選択ヒューズエリアからの出力信号を記憶する第２のレジスタと、
前記第１の外部端子の入力する信号の値を記憶する第３のレジスタと、を備え、
前記処理部は、当該半導体集積回路のＣＰＵであり、
前記ＣＰＵは、前記第３のレジスタの値に応じて、前記第１、第２のレジスタのいずれかを選択し、その選択したレジスタの値に応じて前記複数の外部記憶デバイスから１つを選択する
請求項５に記載の半導体集積回路。
【請求項７】
当該半導体集積回路は、ＳＤＲＡＭを有し、
前記ヒューズ部は、
前記第１、第２の選択ヒューズエリアと、
前記ＳＤＲＡＭの不良セルを救済するリダンダシ用のヒューズ回路を備えるリダンダシエリアと、を有する
請求項６に記載の半導体集積回路。
【請求項８】
前記選択ヒューズエリアの内蔵ヒューズ回路が示す値に応じて選択した外部記憶デバイスからロードした実行プログラムは、当該半導体集積回路内部もしくは外部のＤＲＡＭに格納される
請求項５〜請求項７のいずれか１項に記載の半導体集積回路。
【請求項９】
複数の外部記憶デバイスから１つを選択して、実行プログラムをロードする半導体集積回路の制御方法であって、
前記半導体集積回路が備える内蔵ヒューズ回路が示す値に応じて選択した外部記憶デバイスからの実行プログラムをロードする
半導体集積回路の制御方法。
【請求項１０】
前記半導体集積回路が備える内蔵ヒューズ回路が示す値が、第１の値と第２の値を有し、
前記半導体集積回路外部からの信号に応じて、前記第１もしくは第２の値を選択し、
選択した前記第１もしくは第２の値に応じて選択した外部記憶デバイスからの実行プログラムをロードする
請求項９に記載の半導体集積回路の制御方法。
【請求項１１】
選択した外部記憶デバイスからロードした実行プログラムを前記半導体集積回路内部もしくは外部のＤＲＡＭに格納する
請求項９もしくは請求項１０に記載の半導体集積回路の制御方法。
【請求項１２】
印加される電圧に基づいて決定される、一の部分の導通又は非導通状態に応じた信号を出力するヒューズ部と、
外部に接続される複数の記憶デバイスの内の一の記憶デバイスを前記ヒューズ部が出力する信号の値に基づいて選択し、選択した前記一の記憶デバイスから実行プログラムをロードする処理部と、
を有する半導体集積回路。
【請求項１３】
前記ヒューズ部は、印加される電圧によって前記一の部分であるヒューズ素子が切断されているか否かに応じた信号を出力するヒューズ回路であることを特徴とする
請求項１２に記載の半導体集積回路。
【請求項１４】
前記ヒューズ部は、印加される電圧によって前記一の部分である酸化膜が絶縁破壊されているか否かに応じた信号を出力するアンチヒューズであることを特徴とする
請求項１２に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及び制御方法に関するものである。
【背景技術】
【０００２】
近年、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）を搭載する半導体集積回路（システムＬＳＩ等）において、ＣＰＵ起動後の実行プログラムをフラッシュメモリ等の外部の記憶装置からロードするケースが多くなっている。
【０００３】
従来では、非特許文献１に示すように、複数の記憶装置から選択して実行プログラムをロードする場合、半導体集積回路の外部端子に、上記選択用の選択信号を入力することで、複数の記憶装置のうちから１つを選択し、ＯＳ等の実行プログラムをロードするよう制御されていた。例えば、非特許文献１では、３ビットのデジタルデータ（ＢＯＯＴ＿ＳＥＬ［２：０］）が入力され、８つの記憶装置から選択している。例えば、ＳＤブートする場合、ＢＯＯＴ＿ＳＥＬ［２：０］＝０１０ｂとなる。このように、３ビットのデジタルデータを外部端子から入力する場合、３個の外部端子が必要となる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＲＥＮＥＳＡＳ  携帯マルチメディア・プロセッサ  １チップ編  ＡＲＭ  ＥＭＭＡ（登録商標）  Ｍｏｂｉｌｅ  １−Ｄ５１２  ＭＣ−１０１１８Ｂ（Ｌｏｇｉｃ  Ｃｈｉｐ＋ＤＤＲ  ＳＤＲＡＭ）  Ｐ９３
【発明の概要】
【発明が解決しようとする課題】
【０００５】
最近のＬＳＩは機能増加に伴い外部の端子数が増加傾向にある。更に、近年、半導体集積回路の分野において回路の微細化が進み、それに伴いパッケージサイズも小型化が進んでいる。但し、パッケージの小型化に伴い配置可能な外部端子数には限界がある。このため、外部端子数が増加するとパッケージが増大化し、パッケージサイズの小型化が要求される分野で背反的な問題が発生する。このため、可能な限り外部端子数を削減する構成が求められている。
【０００６】
上述した非特許文献１の技術では、複数の記憶装置から選択して実行プログラムをロードするというＬＳＩの初期動作だけで３つもの外部端子が必要となる。このため、実行プログラムをロードする複数の記憶装置の選択機能を損なわずに、可能な限り外部端子数を削減する機構が求められている。
【課題を解決するための手段】
【０００７】
本発明の一態様は、複数の外部記憶デバイスから１つを選択して、実行プログラムをロードする半導体集積回路であって、複数の内蔵ヒューズ回路を備えるヒューズ部と、前記内蔵ヒューズ回路が示す値に応じて選択した外部記憶デバイスからの実行プログラムをロードする処理部と、を有する半導体集積回路である。
【０００８】
本発明の他の態様は、複数の外部記憶デバイスから１つを選択して、実行プログラムをロードする半導体集積回路の制御方法であって、前記半導体集積回路が備える内蔵ヒューズ回路が示す値に応じて選択した外部記憶デバイスからの実行プログラムをロードする半導体集積回路の制御方法である。
【０００９】
本発明により、内蔵ヒューズ回路が示す値に応じて複数の外部記憶デバイスから１つを選択でき、複数の外部記憶デバイスの数に応じた複数ビットの選択信号を入力する外部端子を削減することができる。
【発明の効果】
【００１０】
本発明によれば、半導体集積回路の機能を損なわずに、外部端子数を削減することが可能である。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１にかかる半導体集積回路のブロック構成である。
【図２】実施の形態１にかかるヒューズ回路の構成である。
【図３】実施の形態１にかかるヒューズ部の模擬図である。
【図４】実施の形態１にかかる半導体集積回路の動作フローチャートである。
【図５】実施の形態２にかかる半導体集積回路のブロック構成である。
【図６】実施の形態２にかかるヒューズ部の模擬図である。
【図７】実施の形態２にかかる半導体集積回路の動作フローチャートである。
【図８】実施の形態２にかかる半導体集積回路のブロック構成である。
【発明を実施するための形態】
【００１２】
発明の実施の形態１
【００１３】
以下、本発明を適用した具体的な実施の形態１について、図面を参照しながら詳細に説明する。図１に本実施の形態にかかる半導体集積回路１００のブロック構成を示す。図１に示すように、半導体集積回路１００は、ＣＰＵ１０１と、主メモリ１０２と、ＲＯＭ１０３と、ＳＲＡＭ１０４と、ＤＲＡＭコントローラ１０５と、Ｉ／Ｏインターフェイス回路１０６と、ヒューズ部１０７と、レジスタ１０８〜１１０と、インターフェイス回路１１１〜１１５と、共有バス１１６と、外部端子Ｔ１０１〜Ｔ１０８とを有する。
【００１４】
また、外部端子Ｔ１０１〜Ｔ１０５はそれぞれ、外部記憶デバイスであるＮＯＲ型フラッシュメモリ１２１と、ＮＡＮＤ型フラッシュメモリ１２２と、ＳＤカード１２３と、メモリースティック（登録商標）１２４と、ＵＳＢデバイス１２５と接続される。
【００１５】
また、外部端子Ｔ１０６、Ｔ１０７はそれぞれ、ＤＲＡＭデバイス１２６、カメラモジュール等の外部機器と接続される。また、外部端子Ｔ１０８は、ヒューズ切断用電圧（書き込み電圧）ＶＨを入力する。
【００１６】
共有バス１１６は、ＣＰＵ１０１、主メモリ１０２、ＲＯＭ１０３、ＳＲＡＭ１０４、ＤＲＡＭコントローラ１０５、Ｉ／Ｏインターフェイス回路１０６、ヒューズ部１０７、レジスタ１０８〜１１０、インターフェイス回路１１１〜１１５を相互に接続する。
【００１７】
ＣＰＵ１０１は、実行プログラムや入力データに基づいて、半導体集積回路１００内の各種処理を行う中央制御装置である。ＣＰＵ１０１は、レジスタ１０８の値を読み出し、その値に応じた外部記憶デバイスにアクセスする。そして、そのアクセスした外部記憶デバイスから実行プログラムをロードし、主メモリ１０２に展開する。その後、展開された実行プログラムに応じた処理動作を行う。実行プログラムとして、例えば、半導体集積回路１００のＯＳ（Operating System）や半導体集積回路１００に接続されるカメラモジュールの制御プログラム等が考えられる。また、ＣＰＵの代わりに、ＤＳＰ（Digital Signal Processor）であってもよいし、その両方であってもよい。
【００１８】
主メモリ１０２は、ＣＰＵ１０１の処理動作に必要な実行プログラム及びデータをメモリマップ上に展開する。ＣＰＵ１０１とは、共有バス１１６を介してデータ等の受送信が行われ、必要に応じてデータの書き込みや読み出しが行われる。
【００１９】
ＲＯＭ１０３は、ＣＰＵ１０１が処理を行うための制御プログラムやデータ等が格納されている。例えば、半導体集積回路１００の電源立ち上がり時に、ＣＰＵ１０１が読み出す初期起動プログラム等が格納されている。
【００２０】
ＳＲＡＭ１０４は、高速動作可能な記憶回路であり、ＣＰＵ１０１のキャッシュメモリ等に使用される。後述するヒューズ部１０７のＳＲＡＭリダンダンシヒューズエリア１３２により、不良箇所のリダンダンシ救済が可能である。
【００２１】
ＤＲＡＭコントローラ１０５は、外部端子Ｔ１０６と共有バス１１６との間に接続される。ＤＲＡＭコントローラ１０５は、ＣＰＵ１０１と、外部端子Ｔ１０６に接続されるＤＲＡＭ１２６との間で行われるデータの読み出し、書き込み等のインターフェイス機能を有する。なお、ＤＲＡＭ１２６は、ＤＤＲＡＭ（Double Data Rate DRAM）であってもよく、この場合、ＤＲＡＭコントローラ１０５もＤＤＲＡＭに対応した制御を行う。なお、図１では、ＤＲＡＭデバイス１２６は、半導体集積回路１００の外部に接続されているが、半導体集積回路１００の内部に配置されてもよい。
【００２２】
Ｉ／Ｏインターフェイス回路１０６は、外部端子Ｔ１０７と共有バス１１６との間に接続される。外部端子Ｔ１０７には、外部機器１２７、例えば、カメラモジュール等が接続される。Ｉ／Ｏインターフェイス回路１０６は、この外部機器１２７とのインターフェイス機能を有する。例えば、ＣＰＵ１０１からの制御データや、外部機器１２７からのデータを伝達する。
【００２３】
インターフェイス回路１１１〜１１５は、それぞれ外部端子Ｔ１０１〜Ｔ１０５と共有バス１１６との間に接続される。それぞれ外部端子Ｔ１０１〜Ｔ１０５は、それぞれ外部記憶デバイスであるＮＯＲ型フラッシュメモリ１２１と、ＮＡＮＤ型フラッシュメモリ１２２と、ＳＤカード１２３と、メモリースティック１２４、ＵＳＢデバイス１２５に接続される。インターフェイス回路１１１〜１１５は、それぞれ対応する外部記憶デバイスと、ＣＰＵ１０１等の内部システムとの間でデータの送受信を仲立ちするインターフェイス機能を有する。
【００２４】
例えば、インターフェイス回路１１１は、ＮＯＲ型フラッシュコントローラであり、ＣＰＵ１０１に対するデータの読み出し、書き込みの制御や、ＮＯＲ型フラッシュメモリ１２１と共有バス１１６間のアドレスや読み出しデータの整合性をとる等機能を有する。
【００２５】
インターフェイス回路１１１〜１１５は、それぞれ初期状態では動作クロックの供給が停止されていたり、起動命令が非アクティブ状態であり、省電力モード（スタンバイモード）となっている。そして、動作クロックの供給、ＣＰＵ１０１からの起動命令を受けると通常動作モードに移行し、各対応する外部記憶デバイスとのインターフェイス処理動作を開始する。以後、動作クロックやＣＰＵ１０１からの起動命令等を受け、通常動作モードに移行する一連の動作を、ブロック設定を行うと称す。
【００２６】
つまり、ＣＰＵ１０１からのアクセスが必要ない外部記憶デバイスに対応するインターフェイス回路は、ブロック設定を行わないため、省電力モードを保持し半導体集積回路１００の消費電力を削減することが可能である。
【００２７】
外部記憶デバイスであるＮＯＲ型フラッシュメモリ１２１、ＮＡＮＤ型フラッシュメモリ１２２、ＳＤカード１２３、メモリースティック１２４、ＵＳＢデバイス１２５は、それぞれ外部端子Ｔ１０１〜Ｔ１０５を経由して各対応するインターフェイス回路に接続される。これら外部記憶デバイスには、必要に応じてＯＳや外部機器１２７の制御プログラム等のＣＰＵ１０１が処理する実行プログラムが格納されている。なお、ＣＰＵ１０１、主メモリ１０２、ＲＯＭ１０３、インターフェイス回路１１１〜１１５等のＣＰＵ１０１を中心に動作する各構成を処理部と称するものとする。
【００２８】
ヒューズ部１０７は、選択ヒューズエリア１３１と、ＳＲＡＭリダンダンシヒューズエリア１３２と、識別ＩＤヒューズエリア１３３とを有する。ヒューズ部１０７は、図２に示すようなヒューズ回路１４０を複数有する。レジスタ１０８は、選択ヒューズエリア１３１と共有バス１１６との間に接続される。レジスタ１０９は、ＳＲＡＭリダンダンシヒューズエリア１３２と共有バス１１６との間に接続される。レジスタ１１０は、識別ＩＤヒューズエリア１３３と共有バス１１６との間に接続される。
【００２９】
図２にヒューズ回路１４０の構成の一例を示す。図２に示すように、ヒューズ回路１４０は、ヒューズ素子１４１と抵抗Ｒ１４２とを有する。
【００３０】
ヒューズ素子１４１は、電源端子ＶＤＤとノードＮ１４３との間に接続される。抵抗Ｒ１４２は、ノードＮ１４２と接地端子ＧＮＤとの間に接続される。ノードＮ１４３は、ヒューズ回路１４０の出力に相当し、ノードＮ１４３の電位が出力信号となる。
【００３１】
ヒューズ回路１４０の動作を簡単に説明する。まず、ヒューズ素子１４１は、切断されていない場合、抵抗Ｒ１４２に比べ低抵抗である。このため、ノードＮ１４３の電圧は高くなり、ハイレベルの出力信号としてヒューズ回路１４０から出力される。
【００３２】
次に、ヒューズ素子１４１の切断用の高電圧ＶＨにより、ヒューズ素子１４１が切断されると、電源端子ＶＤＤとノードＮ１４３が電気的に遮断される。このため、ノードＮ１４３に対する電荷供給がなくなるため、ノードＮ１４３の電圧は低下し、接地電圧ＧＮＤ（接地端子の供給電圧）となる。よって、ロウレベルの出力信号がヒューズ回路１４０から出力される。なお、高電圧ＶＨは、外部端子Ｔ１０８から供給される。なお、上記ではあくまで一例として、ヒューズ部１０７が、印加される電圧に基づいて決定されるヒューズ素子１４７の導通又は非導通状態に応じた信号を出力するものとして説明したが、別の形態でも構わない。例えばヒューズ部１０７に、絶縁状態にある酸化膜に高電圧をかけ絶縁破壊により導通状態にすることで、データを保存するアンチヒューズを使用することも可能である。すなわち、ヒューズ部が、印加される電圧に基づいて決定される、酸化膜の導通又は非導通状態に応じた信号を出力するアンチヒューズを含むということであっても構わない。より一般的に言えば、ヒューズ部は少なくとも上記ヒューズ回路とアンチヒューズの二つを含む上位概念であり、印加される電圧に基づいて決定される、一の部分の導通又は非導通状態に応じた信号を出力するものであればよい。
【００３３】
ここで、１個のヒューズ回路１４０につき、１ビットの情報を記憶することができる。例えば、高電圧ＶＨによりヒューズ素子１４１が切断されたヒューズ回路１４０では、「０」の値を記憶する。逆に、ヒューズ素子１４１が切断されていないヒューズ回路１４０では、「１」の値を記憶する。よって、複数のヒューズ回路１４０からの出力信号を１つの信号として捉えると、そのヒューズ回路１４０の個数に対応したビット桁を有する信号がヒューズ部１０７から出力される。
【００３４】
ヒューズ部１０７は、このようなヒューズ回路１４０が複数配列されるが、選択ヒューズエリア１３１、ＳＲＡＭリダンダンシヒューズエリア１３２、識別ＩＤヒューズエリア１３３の各エリアでヒューズ回路１４０の配列数が異なる。図３にヒューズ部１０７の各エリアに対するヒューズ回路１４０の配分数と、出力信号のビット数を説明する模擬図の一例を示す。但し、ヒューズ部２１０全体で１２８ビット分のヒューズ回路１４０を有するものとする。
【００３５】
図３に示すように、選択ヒューズエリア１３１には、３ビット分の３個のヒューズ回路１４０が配列される。また、ＳＲＡＭリダンダンシヒューズエリア１３２には、１２２ビット分の１２２個のヒューズ回路１４０が配列される。また、識別ＩＤヒューズエリア１３３には、３ビット分の３個のヒューズ回路１４０が配列される。
【００３６】
上記例では、選択ヒューズエリア１３１からは３ビットの出力信号が出力されることになり、その信号の値は、レジスタ１０８に記憶される。起動したＣＰＵ１０１は、このレジスタ１０８に記憶された値に応じて、外部記憶デバイスを選択し、格納している実行プログラムを半導体集積回路１００にロードする。
【００３７】
例えば、選択ヒューズエリア１３１から「０００」の信号が出力されている場合、ＣＰＵ１０１は、ＮＯＲ型フラッシュメモリ１２１を選択する。また、選択ヒューズエリア１３１から「００１」、「０１０」、「０１１」、「１００」の信号が出力されている場合、ＣＰＵ１０１は、それぞれＮＡＮＤ型フラッシュメモリ１２２、ＳＤカード１２３、メモリースティック１２４、ＵＳＢデバイス１２５を選択する。
【００３８】
なお、選択ヒューズエリア１３１へのデータの書き込み（ヒューズの切断）は、半導体集積回路１００の出荷検査時等で行ってもよいし、製品出荷後に行ってもよい。
【００３９】
また、ＳＲＡＭリダンダンシヒューズエリア１３２からは１２２ビットの出力信号が出力されることになり、その信号の値は、レジスタ１０９に記憶される。このレジスタ１０９に記憶される値に応じて、ＳＲＡＭ１０４の不良メモリセルを救済する。例えば、ＳＲＡＭ１０４の不良メモリセルを含んだ不良ロウを無効にし、レジスタ１０９に記憶される値に応じた冗長ロウを有効にすることで、リダンダンシ処理を行う。なお、本例ではＳＲＡＭリダンダンシヒューズエリア１３２からの出力信号を１２２ビットとしているが、この１２２ビット分の全てを冗長ロウに対応させる必要はなく、リダンダンシ用に予めＳＲＡＭ１０４内に用意した冗長ロウの数に応じて有効利用するビット数を決めてもよい。
【００４０】
また、識別ＩＤヒューズエリア１３３からは３ビットの出力信号が出力されることになり、その信号の値は、レジスタ１１０に記憶される。このレジスタ１１０に記憶される値は、製造される半導体集積回路１００の各個体に対応したユニークＩＤである。このレジスタ１１０に記憶されている値を性能試験等のテスト時に読み出すことで、テスト工程にて管理精度が上がるとともに、トレーサビリティの向上、携帯電話等に使用される場合には不正利用防止を行うことができる。
【００４１】
次に、本実施の形態１にかかる半導体集積回路１００の動作について説明する。図４に半導体集積回路１００の動作を説明するフローチャートを示す。図４に示すように、まず、半導体集積回路１００の電源が立ち上がると、ＲＯＭ１０３に格納されたプログラムにより、ＣＰＵ１０１が選択ヒューズエリア１３１の出力信号を記憶したレジスタ１０８の値を読み出す（Ｓ１０１）。
【００４２】
次に、ＣＰＵ１０１は、そのレジスタ１０８の値に応じて、複数の外部記憶デバイス（ＮＯＲ型フラッシュメモリ１２１、ＮＡＮＤ型フラッシュメモリ１２２、ＳＤカード１２３、メモリースティック１２４、ＵＳＢデバイス１２５）のいずれか１つを選択する（Ｓ１０２）。
【００４３】
次に、ＣＰＵ１０１は、ステップＳ１０２で選択した外部記憶デバイスに対応するブロック設定（対応インターフェイス回路に起動命令を送る等）を行う（Ｓ１０３）。
【００４４】
最後に、ＣＰＵ１０１は、ステップＳ１０２で選択した外部記憶デバイスが格納している実行プログラムを半導体集積回路１００内にロードし（Ｓ１０４）、そのプログラムに応じた実行処理を行う。
【００４５】
ここで、非特許文献１のような従来技術では、外部端子からの選択信号に応じて、複数の外部記憶デバイスから１つを選択し、その選択した外部記憶デバイスが記憶しているＯＳ等の実行プログラムをロードしていた。しかし、パッケージの小型化及びＬＳＩの機能増加に伴った外部端子数の削減要求があるにもかかわらず、外部記憶デバイスを選択する初期動作だけで複数の外部端子（非特許文献１では３端子）が必要となってしまっていた。このため、半導体集積回路の外部端子数の削減が難しかった。
【００４６】
ここで、本実施の形態１の半導体集積回路１００では、実行プログラムを記憶した複数の外部記憶デバイスから１つを選択する際に、ヒューズ部１０７内の選択ヒューズエリア１３１が記憶するビット情報に応じて、複数の外部記憶デバイスから１つを選択する。このため、外部記憶デバイスの選択に際し、複数の外部端子から選択信号を入力する必要が無く、その分の端子数を削減することが可能である。このため、上述した従来技術での問題を解決することができる。
【００４７】
また、本実施の形態１において、この外部記憶デバイスから１つを選択する際に利用するヒューズ回路１４０は、ヒューズ部１０７の一部を利用している。通常、ＣＰＵやＳＲＡＭ等を集積化した半導体集積回路（ＬＳＩ）では、ＳＲＡＭリダンダンシ用や、チップ識別データ記憶用に、図３でも説明したような複数のヒューズ回路を備えている。本実施の形態１では、使用していないＳＲＡＭリダンダンシ用の一部を利用したり、もしくは、数ビット分程度のヒューズ回路しか増加しないため、回路規模が増加する問題も発生しない利点がある。
【００４８】
なお、外部記憶デバイスからロードした実行プログラムは、外部に接続されたＤＲＡＭ１２６に格納してもよい。主メモリ１０２の容量が小さい場合、ＣＰＵ１０１は、頻繁に外部記憶デバイスにアクセスしなければならない。ここで、例えば、外部記憶デバイスがＮＡＮＤ型フラッシュのメモリである場合、ＣＰＵとの間のアクセス時間がＤＲＡＭアクセスよりも低速である。このため、一旦、外部記憶デバイスが格納している実行プログラムをＤＲＡＭ１２６に移し、ＣＰＵ１０１がそのＤＲＡＭ１２６にアクセスして、実行プログラムを処理することで、半導体集積回路１００の処理速度を上げることができる利点がある。
【００４９】
発明の実施の形態２
【００５０】
以下、本発明を適用した具体的な実施の形態２について、図面を参照しながら詳細に説明する。図５に本実施の形態にかかる半導体集積回路２００のブロック構成を示す。図５に示すように、半導体集積回路２００は、ＣＰＵ１０１と、主メモリ１０２と、ＲＯＭ１０３と、ＳＲＡＭ１０４と、ＤＲＡＭコントローラ１０５と、Ｉ／Ｏインターフェイス回路１０６と、ヒューズ部２１０と、レジスタ１０８〜１１０、２０２、２０３と、インターフェイス回路１１１〜１１５と、共有バス１１６と、外部端子Ｔ１０１〜Ｔ１０８、Ｔ２０１とを有する。
【００５１】
なお、図５に示された符号のうち、図１と同じ符号を付した構成は、図１と同じか又は類似の構成を示している。実施の形態１と異なるのは、ヒューズ部２１０の構成と、レジスタ２０２、２０３、外部端子Ｔ２０１を新たに有する点である。それ以外は、実施の形態１と同様であるため、本実施の形態２では上記相違点のみを重点的に説明し、その他の同様の構成部分は説明を省略する。
【００５２】
ヒューズ部２１０は、選択ヒューズエリア１３１、２０１と、ＳＲＡＭリダンダンシヒューズエリア１３２と、識別ＩＤヒューズエリア１３３とを有する。実施の形態１の構成に対して新たに選択ヒューズエリア２０１が追加される。
【００５３】
選択ヒューズエリア２０１には、選択ヒューズエリア１３１に記憶される値以外の値が記憶される。例えば、選択ヒューズエリア１３１が「０００」を記憶している場合、選択ヒューズエリア２０１は「０１１」を記憶する。
【００５４】
レジスタ２０２は、選択ヒューズエリア２０１と共有バス１１６との間に接続される。レジスタ２０２は、選択ヒューズエリア２０１から出力される信号の値を記憶する。
【００５５】
外部端子Ｔ２０１は、半導体集積回路２００の外部から選択信号を入力する。レジスタ２０３は、外部端子Ｔ２０１と共有バス１１６との間に接続される。レジスタ２０３は、外部端子Ｔ２０１が入力する選択信号の値を記憶する。
【００５６】
図６にヒューズ部２１０の各エリアに対するヒューズ回路１４０の配分数と、出力信号のビット数を説明する模擬図の一例を示す。但し、ヒューズ部２１０全体で１２８ビット分のヒューズ回路１４０を有するものとする。
【００５７】
図６に示すように、選択ヒューズエリア１３１には、３ビット分の３個のヒューズ回路１４０が配列される。選択ヒューズエリア２０１には、３ビット分の３個のヒューズ回路１４０が配列される。ＳＲＡＭリダンダンシヒューズエリア１３２には、１１９ビット分の１１９個のヒューズ回路１４０が配列される。また、識別ＩＤヒューズエリア１３３には、３ビット分の３個のヒューズ回路１４０が配列される。
【００５８】
上記例では、選択ヒューズエリア１３１からは３ビットの出力信号が出力されることになり、その信号の値は、レジスタ１０８に記憶される。また、選択ヒューズエリア２０１からは３ビットの出力信号が出力されることになり、その信号の値は、レジスタ２０２に記憶される。更に、外部端子Ｔ２０１から１ビットの選択信号が入力される場合、その１ビットの値は、レジスタ２０３に記憶される。
【００５９】
起動したＣＰＵ１０１は、レジスタ２０２の値に応じて、レジスタ１０８もしくは２０２の値を読み出し、その読み出した値に応じて外部記憶デバイスを選択し、格納している実行プログラムを半導体集積回路１００にロードする。例えば、選択信号（外部端子Ｔ２０１）の値が「０」である場合、レジスタ１０８の値を読み出し、逆に、選択信号の値が「１」である場合、レジスタ２０２の値を読み出す。
【００６０】
その後は、実施の形態１と同様、レジスタ１０８もしくは２０１に記憶されている値に応じて、外部記憶デバイスを選択し、実行プログラムをロードする。
【００６１】
次に、本実施の形態２にかかる半導体集積回路２００の動作について説明する。図７に半導体集積回路２００の動作を説明するフローチャートを示す。図７に示すように、まず、半導体集積回路２００の電源が立ち上がると、ＲＯＭ１０３に格納されたプログラムにより、ＣＰＵ１０１が外部端子Ｔ２０１に入力される選択信号の値を記憶したレジスタ２０３の値を読み出す（Ｓ２０１）。
【００６２】
次に、ステップＳ２０１で読み出した値に応じ、レジスタ１０８もしくは２０２を選択し、記憶している値を読み出す（Ｓ２０２）。
【００６３】
次に、ＣＰＵ１０１は、ステップＳ２０２で読み出した値に応じて、複数の外部記憶デバイス（ＮＯＲ型フラッシュメモリ１２１、ＮＡＮＤ型フラッシュメモリ１２２、ＳＤカード１２３、メモリースティック１２４、ＵＳＢデバイス１２５）のいずれか１つを選択する（Ｓ２０３）。
【００６４】
次に、ＣＰＵ１０１は、ステップＳ２０３で選択した外部記憶デバイスに対応するブロック設定（対応インターフェイス回路に起動命令を送る等）を行う（Ｓ２０４）。
【００６５】
最後に、ＣＰＵ１０１は、ステップＳ２０２で選択した外部記憶デバイスが格納している実行プログラムを半導体集積回路１００内にロードし（Ｓ２０５）、そのプログラムに応じた実行処理を行う。
【００６６】
ここで、実施の形態１では、選択ヒューズエリア１３１に一度記憶させると、その値に応じた外部記憶デバイスにしかアクセスできなかった。しかし、本実施の形態２では、外部端子Ｔ２０１から入力する信号の値に応じて、アクセスする外部記憶デバイスを変更することができる。このため、例えば、製品検査時にはレジスタ１０８の値に応じた外部記憶デバイス、製品出荷後にはレジスタ２０１の値に応じた外部記憶デバイスにアクセスすることが可能になる。
【００６７】
ここで、外部端子Ｔ２０１が増加してしまうが、従来技術のように外部端子で複数の外部記憶デバイスから２つを選択する場合と比較して、外部端子数は削減可能である。これは、例えば上記例のように、外部記憶デバイスが例えば５個以上の場合、デジタルの選択信号は、Log2(5)≦ｎから、ｎ＝３となり、選択信号入力用の外部端子が少なくとも３個必要となる。しかし、本実施の形態２では、５個の外部記憶デバイスから２つを選択する選択のための情報は、選択ヒューズエリア１３１、２０１が備え、外部端子からの選択信号は必要なく、選択ヒューズエリアの切り替えのための１ビットの信号のみでよい。このため、従来技術に比べ端子数の削減が可能となり、更に、実施の形態１よりも柔軟な外部記憶デバイスの選択制御も可能となる利点がある。
【００６８】
また、図８に、本実施の形態２のバリエーションとして、半導体集積回路３００のような構成も可能である。図８に示すように、半導体集積回路３００は、ＣＰＵ１０１と、主メモリ１０２と、ＲＯＭ１０３と、ＳＲＡＭ１０４と、ＤＲＡＭコントローラ１０５と、Ｉ／Ｏインターフェイス回路１０６と、ヒューズ部２１０と、レジスタ１０８〜１１０、３０１と、インターフェイス回路１１１〜１１５と、共有バス１１６と、選択回路３０１と、外部端子Ｔ１０１〜Ｔ１０８、Ｔ２０１とを有する。
【００６９】
なお、図８に示された符号のうち、図５と同じ符号を付した構成は、図５と同じか又は類似の構成を示している。図５の半導体集積回路２００とは、選択回路３０１を有する点で異なっている。
【００７０】
半導体集積回路３００では、外部端子Ｔ２０１に入力される選択信号の値を記憶したレジスタ２０２の値に応じて、選択回路３０１が、選択ヒューズエリア１３１もしくは２０１からの信号のどちらかを選択する。例えば、選択回路３０１は、レジスタ２０２の値が「０」である場合、選択ヒューズエリア１３１からの信号を選択し、レジスタ２０２の値が「１」である場合、選択ヒューズエリア２０１からの信号を選択する。そして、その選択回路３０１が選択した信号の値をレジスタ１０８に記憶させる。その後は、実施の形態１の動作（図４）と同様に、起動したＣＰＵ１０１が、レジスタ１０８に記憶された値に応じて、外部記憶デバイスを選択し、格納している実行プログラムを半導体集積回路３００にロードする。
【００７１】
この半導体集積回路３００では、ＣＰＵ１０１がソフトウェア的に行っていた、外部記憶デバイスの選択動作をハードウェアで行うため、半導体集積回路２００と比較して高速な処理が可能である。
【００７２】
なお、本発明は上記実施の形態に限られたものでなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記実施の形態では、選択ヒューズエリアが記憶している値に応じて、外部記憶デバイスを選択しているが、その値をＲＯＭに書き込んでもかまわない。そして、ＣＰＵ１０１は、そのＲＯＭに書き込まれた値に応じて、外部記憶デバイスの選択するようにしてもかまわない。この場合でも、実施の形態１、２と同様、端子数の削減が可能である。但し、ＲＯＭのマスクの変更にはコストがかかるため、実施の形態１、２の方が当該半導体集積回路のエンドユーザーに合わせて、安価で機動的に外部記憶デバイスの選択先を変更することが可能である点を指摘しておく。
【符号の説明】
【００７３】
１００、２００、３００  半導体集積回路
１０１  ＣＰＵ
１０２  主メモリ
１０３  ＲＯＭ
１０４  ＳＲＡＭ
１０５  ＤＲＡＭコントローラ
１０６  Ｉ／Ｏインターフェイス回路
１０７  ヒューズ部
１０８〜１１０、２０２、２０３  レジスタ
１１１〜１１５  インターフェイス回路
１１６  共有バス
Ｔ１０１〜Ｔ１０８、Ｔ２０１  外部端子
３０１  選択回路
１２１  外部記憶デバイスであるＮＯＲ型フラッシュメモリ
１２２  ＮＡＮＤ型フラッシュメモリ
１２３  ＳＤカード
１２４  メモリースティック
１２５  ＵＳＢデバイス
【図１】
2012069565.tif 000003
【図２】
2012069565.tif 000004
【図３】
2012069565.tif 000005
【図４】
2012069565.tif 000006
【図５】
2012069565.tif 000007
【図６】
2012069565.tif 000008
【図７】
2012069565.tif 000009
【図８】
2012069565.tif 000010