(57)【要約】 【課題】  プロトタイプではなく製品としての出荷形態でプログラマブルデバイスを用いた半導体装置を最適化する技術を提供する。【解決手段】  パッケージ基板に複数の半導体デバイスを備えた半導体装置は、少なくとも一つの半導体デバイスとして、書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイス（３）を備え、その他の半導体デバイスの一つとしてシンクロナスＤＲＡＭ（７）を備え、前記プログラマブルデバイスに隣接してシンクロナスＤＲＡＭが平置き又はスタック配置され、前記シンクロナスＤＲＡＭのアクセス主体になる論理機能が前記プログラマブルデバイスに割り当てられる。シンクロナスＤＲＡＭに対するアクセス機能が専らプログラマブルデバイスに割り当てられるとき、高速アクセスという点で最適化される。【選択図】        図１
2006186546.tif 000002
【特許請求の範囲】
【請求項１】
パッケージ基板に複数の半導体デバイスを備えた半導体装置であって、
少なくとも一つの半導体デバイスとして、書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスを備え、
その他の半導体デバイスの一つとしてシンクロナスＤＲＡＭを備え、前記プログラマブルデバイスに隣接してシンクロナスＤＲＡＭが平置き又はスタック配置され、前記シンクロナスＤＲＡＭのアクセス主体になる論理機能が前記プログラマブルデバイスに割り当てられる半導体装置。
【請求項２】
その他の半導体デバイスの別の一つとして電気的に書き換え可能な不揮発性メモリを備え、前記不揮発性メモリからプログラマブルデバイスに前記定義データが内部可転送能にされる請求項１記載の半導体装置。
【請求項３】
前記プログラマブルデバイスを複数個備え、一部のプログラマブルデバイスの記憶回路は電気的に書き換え可能な不揮発性であり、残りのプログラマブルデバイスの記憶回路は電気的に書き換え可能な揮発性である請求項２記載の半導体装置。
【請求項４】
その他の半導体デバイスの別の一つとしてプロセッシングデバイスを備え、
前記プロセッシングデバイスは中央処理装置と電気的に書き込み可能な不揮発性メモリを備え、
前記中央処理装置は前記定義データを前記不揮発性メモリから前記記憶回路に内部転送する請求項１記載の半導体装置。
【請求項５】
パッケージ基板に複数の半導体デバイスを備えた半導体装置であって、
パッケージ基板は外部接続電極として同心状に複数列で周回されたボールグリッドアレイを有し、ボールグリッドアレイの外周縁寄りの外部接続電極には使用頻度の高い半導体デバイスとの接続が割り当てられ、ボールグリッドアレイの内周縁寄りの外部接続電極にはそれよりも使用頻度の低い半導体デバイスとの接続が割り当てられる半導体装置。
【請求項６】
パッケージ基板に複数の半導体デバイスを備えた半導体装置であって、
パッケージ基板は外部接続電極として同心状に複数列で周回されたボールグリッドアレイを有し、使用頻度の高い半導体デバイスとの接続に割り当てられる信号用の外部接続端子の数は、使用頻度の低い半導体デバイスとの接続に割り当てられる信号用の外部接続端子の数よりも多くされる半導体装置。
【請求項７】
書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスであって、
実装基板に搭載するための複数の第１の外部端子と、プログラマブルデバイスに別の半導体デバイスをスタック状態で搭載するのに用いられる複数の第２の外部端子とを有し、複数の第２の外部端は矩形の３辺に位置する配置を有するプログラマブルデバイス。
【請求項８】
書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスと、中央処理装置を有するプロセッシングデバイスとを備えた半導体装置であって、
前記プログラマブルデバイスには演算処理機能が実現され、
前記プロセッシングデバイスには前記プログラマブルデバイスの演算処理機能を制御する半導体装置。
【請求項９】
書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスと、メモリとを備えた半導体装置であって、
前記メモリは前記プログラマブルデバイス内で実現されるバスにバス接続される半導体装置。
【請求項１０】
前記プログラマブルデバイスは外部入出力インタフェースを構成する請求項９記載の半導体装置。
【請求項１１】
パッケージ基板に複数の半導体デバイスを備えた半導体装置であって、
少なくとも一つの半導体デバイスとして、書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスを備え、
その他の一つの半導体デバイスとしてメモリデバイスを備え、
その他の別の一つの半導体デバイスとして中央処理装置を有するプロセッシングデバイスを備え、
前記プログラマブルデバイスのテストは前記プロセッシングデバイスが行い、
前記メモリデバイスのテストは前記プログラマブルデバイスに実現したビルトインセルフテスト回路を用いて前記プロセッシングデバイスが行う半導体装置。
【請求項１２】
パッケージ基板に複数の半導体デバイスを備えた半導体装置を用いた電子機器であって、
前記半導体装置は、少なくとも一つの半導体デバイスとして、書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスを備え、
電気電子機器は、外部から前記定義データを受信する通信ポートを有する電子機器。
【請求項１３】
パッケージ基板に複数の半導体デバイスを搭載した半導体装置の設計方法であって、
少なくとも一つの半導体デバイスとして、書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスを用い、
前記プログラマブルデバイスに割り当てられる機能に応じて、バリエーションを選択的に使い分け、
その他の半導体デバイスの一つとしてシンクロナスＤＲＡＭを用い、前記シンクロナスＤＲＡＭのアクセス主体となる論理機能を前記プログラマブルデバイスに割り当てるとき、選択可能な前記バリエーションとして、前記プログラマブルデバイスに隣接して前記シンクロナスＤＲＡＭを平置き配置する第１バリエーションと、前記プログラマブルデバイスと前記シンクロナスＤＲＡＭをスタック配置する第２バリエーションと、その他の半導体デバイスの別の一つとして電気的に書き換え可能な不揮発性メモリを用い、前記不揮発性メモリから前記プログラマブルデバイスに前記定義データを内部転送可能にする第３バリエーションと、が用意されている半導体装置の設計方法。
【請求項１４】
前記プログラマブルデバイスを複数個用い、一部のプログラマブルデバイスの記憶回路は電気的に書き換え可能な不揮発性とし、残りのプログラマブルデバイスの記憶回路は電気的に書き換え可能な揮発性とする第４バリエーションが用意されていうる請求項１３記載の半導体装置の設計方法。
【請求項１５】
その他の半導体デバイスの別の一つとしてプロセッシングデバイスを用い、前記プロセッシングデバイスは中央処理装置と電気的に書き込み可能な不揮発性メモリを備えるとき、前記中央処理装置は前記定義データを前記不揮発性メモリから前記記憶回路に内部転送可能にする第５バリエーションが用意されている請求項１３記載の半導体装置の設計方法。
【請求項１６】
パッケージ基板は外部接続電極として同心状に複数列で周回されたボールグリッドアレイを有し、ボールグリッドアレイの外周縁寄りの外部接続電極には使用頻度の高い半導体デバイスとの接続に割り当て、ボールグリッドアレイの内周縁寄りの外部接続電極にはそれよりも使用頻度の低い半導体デバイスとの接続に割り当てる第６バリエーションが用意されている請求項１３記載の半導体装置の設計方法。
【請求項１７】
パッケージ基板は外部接続電極として同心状に複数列で周回されたボールグリッドアレイを有し、使用頻度の高い半導体デバイスとの接続に割り当てられる信号用の外部接続端子の数を、使用頻度の低い半導体デバイスとの接続に割り当てられる信号用の外部接続端子の数よりも多くする第７バリエーションが用意されている請求項１３記載の半導体装置の設計方法。
【請求項１８】
前記プログラマブルデバイスは、前記パッケージ基板に搭載するための複数の第１の外部端子と、プログラマブルデバイスに別の半導体デバイスをスタック状態で搭載するのに用いられる複数の第２の外部端子とを有し、複数の第２の外部端子を矩形の３辺に配置する第８バリエーションが用意されている請求項１３記載の半導体装置の設計方法。
【請求項１９】
前記プログラマブルデバイスに演算処理機能を実現するとき、前記プロセッシングデバイスには前記プログラマブルデバイスの演算処理機能に対する制御機能を割り当てる第９バリエーションが用意されている請求項１３記載の半導体装置の設計方法。
【請求項２０】
前記プログラマブルデバイス内でバスを実現し、このバスにその他の半導体でバスを接続可能にする第１０バリエーションが用意されている請求項１３記載の半導体装置の設計方法。
【請求項２１】
外部入出力インタフェース機能を前記プログラマブルデバイスに割り当てる第１１バリエーションが用意されている請求項１３記載の半導体装置の設計方法。
【請求項２２】
前記プログラマブルデバイスのテストは前記プロセッシングデバイスが行い、前記メモリデバイスのテストは前記プログラマブルデバイスに実現したビルトインセルフテスト回路を用いて前記プロセッシングデバイスが行う第１２バリエーションが用意されている請求項１３記載の半導体装置の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パッケージ基板に複数の半導体デバイスを備え、少なくとも一つの半導体デバイスとして、書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスを用いる技術に関し、例えばＦＰＧＡ（Field Programmable Gate Array）を搭載したＳＩＰ（System In Package）化された半導体装置を開発するのに適用して有効な技術に関する。
【背景技術】
【０００２】
高密度実装基板にＦＰＧＡなどのプログラマブルデバイス及びその他の半導体デバイスを搭載して半導体装置を構成する技術は特許文献１などに記載がある。更に、そのような半導体装置におけるシステム構成若しくはアーキテクチャーに関し書き換え可能なプログラマブルロジックにより所望の論理機能を達成することが特許文献２などに記載されている。
【０００３】
【特許文献１】特開平２−８３５７６号公報
【特許文献２】特開平１１−４０７３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明者はＦＰＧＡなどのプログラマブルデバイス及びその他の半導体デバイスを搭載した半導体装置について検討した。特に本発明者は開発段階のプロトタイプに用いるものではなく、製品としての出荷形態でＦＰＧＡなどのプログラマブルデバイスを用いるものについて検討した。プロトタイプでＦＰＧＡを用いる場合には最終形態ではＦＰＧＡはＡＳＩＣとして実現されるが、出荷形態でＦＰＧＡなどのプログラマブルデバイスを用いる場合には、ＦＰＧＡに対する論理機能の設定それ自体に関する最適化が必要になることが本発明者によって見出された。例えば、ＦＰＧＡに適用されるターゲットアプリケーションに対する最適化、システム全体としてのパフォーマンスに対する最適化、そしてテスト形態の最適化などが必要と考えられる。
【０００５】
本発明の目的は、プロトタイプではなく製品としての出荷形態でプログラマブルデバイスを有する半導体装置に対して最適化する技術を提供することにある。
【０００６】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００８】
〔１〕パッケージ基板に複数の半導体デバイスを備えた半導体装置は、少なくとも一つの半導体デバイスとして、書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスを備え、その他の半導体デバイスの一つとしてシンクロナスＤＲＡＭを備え、前記プログラマブルデバイスに隣接してシンクロナスＤＲＡＭが平置き又はスタック配置され、前記シンクロナスＤＲＡＭのアクセス主体になる論理機能が前記プログラマブルデバイスに割り当てられる。シンクロナスＤＲＡＭに対するアクセス機能が専らプログラマブルデバイスに割り当てられるとき、高速アクセスという点で最適化される。
【０００９】
上記において、その他の半導体デバイスの別の一つとして電気的に書き換え可能な不揮発性メモリを備え、前記不揮発性メモリからプログラマブルデバイスに前記定義データが内部可転送能にされる。記憶回路が揮発性である場合が考慮される。
【００１０】
前記プログラマブルデバイスを複数個備え、一部のプログラマブルデバイスの記憶回路は電気的に書き換え可能な不揮発性であり、残りのプログラマブルデバイスの記憶回路は電気的に書き換え可能な揮発性である。記憶回路による消費電力と機能設定の操作性との観点から記憶回路の回路形式が決定されるという最適化が図られる。
【００１１】
その他の半導体デバイスの別の一つとしてプロセッシングデバイスを備え、前記プロセッシングデバイスは中央処理装置と電気的に書き込み可能な不揮発性メモリを備え、前記中央処理装置は前記定義データを前記不揮発性メモリから前記記憶回路に内部転送する。不揮発性メモリを内蔵するプロセッシングデバイスの活用が考慮されている。
【００１２】
パッケージ基板に複数の半導体デバイスを備えた半導体装置において、パッケージ基板は外部接続電極として同心状に複数列で周回されたボールグリッドアレイを有し、ボールグリッドアレイの外周縁寄りの外部接続電極には使用頻度の高い半導体デバイスとの接続が割り当てられ、ボールグリッドアレイの内周縁寄りの外部接続電極にはそれよりも使用頻度の低い半導体デバイスとの接続が割り当てられる。半導体装置が実装される実装基板上の配線は、ボールグリッドアレイの外周縁寄りの外部接続電極に接続される方が短くて済むから、配線引き回しによる負荷が小さい。使用頻度の高いデバイスが接続される配線の負荷を小さくすることによって高い処理性能を引き出すという点で最適化を図ることができる。
【００１３】
パッケージ基板に複数の半導体デバイスを備えた半導体装置において、パッケージ基板は外部接続電極として同心状に複数列で周回されたボールグリッドアレイを有し、使用頻度の高い半導体デバイスとの接続に割り当てられる信号用の外部接続端子の数は、使用頻度の低い半導体デバイスとの接続に割り当てられる信号用の外部接続端子の数よりも多くされる。数に限りのある外部端子の割り当てが最適化される。
【００１４】
書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスは、パッケージ基板に搭載するための複数の第１の外部端子と、プログラマブルデバイスに別の半導体デバイスをスタック状態で搭載するのに用いられる複数の第２の外部端子とを有し、複数の第２の外部端子は矩形の３辺に位置する配置を有する。メモリの外部端子の配置は、デバイスの対向２辺或いはデバイスの長手辺に沿ったデバイス中央部とされるのがほとんどであり、また、マイクロコンピュータのアドレス及びデータ端子は最大でも矩形の３辺にまたがるに過ぎないから、プログラマブルデバイスとメモリ又はマイクロコンピュータをスタックするとき、相互の端子同士の接続し易さという点で最適化が図られることになる。
【００１５】
書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスと、中央処理装置を有するプロセッシングデバイスとを備えた半導体装置では、前記プログラマブルデバイスには演算処理機能が実現され、前記プロセッシングデバイスには前記プログラマブルデバイスの演算処理機能に対する制御機能を割り当てる。これにより、ユーザは前記プログラマブルデバイスに画像処理、音声処理、通信処理、暗号化復号処理などを設定でき、その場合にそれらに対する機能設定にユーザ保有の設計資産を適用することができ、ユーザの現状設計資産の活用が図られる。プロセッシングデバイスはプログラマブルデバイスに設定された演算処理機能に対する初期設定などの制御機能を果たせばよく、プロセッシングデバイスの負荷が特定処理で極端に大きくなるという事態の発生が抑制される。このように、ユーザが保有する設計資産の活用とプロセッシングデバイスの負荷のばらつきという点で最適化が図られる。ユーザとは半導体装置を用いて電子機器を製造する者を意味する。
【００１６】
書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスと、メモリとを備えた半導体装置では、前記メモリは前記プログラマブルデバイス内で実現されるバスにバス接続される。前記プログラマブルデバイス内でメモリに接続されるバスを構成した場合、バス構成がプログラマブルになるから、プログラマブルデバイスに接続されるメモリのインタフェース仕様、その他のデバイスのバスインタフェース仕様の如何にかかわらず、対応が容易であり、将来の仕様変更に対しても対応が容易になる。バス接続の多様性という点で最適化される。プログラマブルデバイスによってバス構成を決定するための機能決定データの作成が手間なユーザには、パッケージ基板にバスを形成するという構成を採用すればよいが、バス構成は固定になる。
【００１７】
外部入出力インタフェースは前記プログラマブルデバイスで実現するのがよい。外部入出力インタフェース仕様の変更、接続される外部入出力回路の変更に対して柔軟に対処することができる。
【００１８】
パッケージ基板に複数の半導体デバイスを備えた半導体装置は、少なくとも一つの半導体デバイスとして、書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスを備え、その他の一つの半導体デバイスとしてメモリデバイスを備え、その他の別の一つの半導体デバイスとして中央処理装置を有するプロセッシングデバイスを備え、前記プログラマブルデバイスのテストは前記プロセッシングデバイスが行い、前記メモリデバイスのテストは前記プログラマブルデバイスに実現したビルトインセルフテスト回路を用いて前記プロセッシングデバイスが行う。テストの最適化に資することができる。
【００１９】
パッケージ基板に複数の半導体デバイスを備えた半導体装置を搭載した電子機器において、前記半導体装置は、少なくとも一つの半導体デバイスとして、書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスを備え、電子機器は、外部から前記定義データを受信する通信ポートを有する。定義データのバージョンアップ又はバグの修正への対応が容易になる。
【００２０】
〔２〕パッケージ基板に複数の半導体デバイスを搭載した半導体装置の設計方法においては、少なくとも一つの半導体デバイスとして、書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスを用い、前記プログラマブルデバイスに割り当てられる機能に応じて、バリエーション（変形された形態）を選択的に使い分け、その他の半導体デバイスの一つとしてシンクロナスＤＲＡＭを用い、前記シンクロナスＤＲＡＭのアクセス主体となる論理機能を前記プログラマブルデバイスに割り当てるとき、選択可能な前記バリエーションとして、前記プログラマブルデバイスに隣接して前記シンクロナスＤＲＡＭを平置き配置する第１バリエーションと、前記プログラマブルデバイスと前記シンクロナスＤＲＡＭをスタック配置する第２バリエーションと、その他の半導体デバイスの別の一つとして電気的に書き換え可能な不揮発性メモリを用い、前記不揮発性メモリから前記プログラマブルデバイスに前記定義データを内部転送可能にする第３バリエーションと、が用意されている。シンクロナスＤＲＡＭに対するアクセス機能が専らプログラマブルデバイスに割り当てられるとき、ＳＤＲＡＭに対する高速アクセスという点の最適化が可能になる。第３バリエーションは記憶回路が揮発性である場合に対処するバリエーションとされる。
【００２１】
前記プログラマブルデバイスを複数個用い、一部のプログラマブルデバイスの記憶回路は電気的に書き換え可能な不揮発性とし、残りのプログラマブルデバイスの記憶回路は電気的に書き換え可能な揮発性とする第４バリエーションが用意されている。記憶回路による消費電力と機能設定の操作性との観点から記憶回路の回路形式を最適化可能にするバリエーションとされる。
【００２２】
その他の半導体デバイスの別の一つとしてプロセッシングデバイスを用い、前記プロセッシングデバイスは中央処理装置と電気的に書き込み可能な不揮発性メモリを備えるとき、前記中央処理装置は前記定義データを前記不揮発性メモリから前記記憶回路に内部転送可能にする第５バリエーションが用意されている。不揮発性メモリを内蔵するプロセッシングデバイスの活用という点での最適化を図るときのバリエーションとされる。
【００２３】
パッケージ基板は外部接続電極として同心状に複数列で周回されたボールグリッドアレイを有し、ボールグリッドアレイの外周縁寄りの外部接続電極には使用頻度の高い半導体デバイスとの接続に割り当て、ボールグリッドアレイの内周縁寄りの外部接続電極にはそれよりも使用頻度の低い半導体デバイスとの接続に割り当てる第６バリエーションが用意されている。半導体装置が実装される実装基板上の配線は、ボールグリッドアレイの外周縁寄りの外部接続電極に接続される方が短くて済むから、配線引き回しによる負荷が小さい。使用頻度の高いデバイスが接続される配線の負荷を小さくすることによって高い処理性能を引き出すという最適化を図るためのバリエーションとされる。
【００２４】
パッケージ基板は外部接続電極として同心状に複数列で周回されたボールグリッドアレイを有し、使用頻度の高い半導体デバイスとの接続に割り当てられる信号用の外部接続端子の数を、使用頻度の低い半導体デバイスとの接続に割り当てられる信号用の外部接続端子の数よりも多くする第７バリエーションが用意されている。数に限りのある外部端子の割り当てを最適化するためのバリエーションである。
【００２５】
前記プログラマブルデバイスは、前記パッケージ基板に搭載するための複数の第１の外部端子と、プログラマブルデバイスに別の半導体デバイスをスタック状態で搭載するのに用いられる複数の第２の外部端子とを有し、複数の第２の外部端子を矩形の３辺に配置する第８バリエーションが用意されている。メモリの外部端子の配置は、デバイスの対向２辺或いはデバイスの長手辺に沿ったデバイス中央部とされるほとんどであり、また、マイクロコンピュータのアドレス及びデータ端子は最大でも矩形の３辺にまたがるに過ぎないから、プログラマブルデバイスとメモリ又はマイクロコンピュータをスタックするとき、相互の端子同士の接続し易さという点での最適化を図るためのバリエーションとされる。
【００２６】
前記プログラマブルデバイスに演算処理機能を実現するとき、前記プロセッシングデバイスには前記プログラマブルデバイスの演算処理機能に対する制御機能を割り当てる第９バリエーションが用意されている。これは、ユーザが保有する資産の活用とプロセッシングデバイスの負荷のばらつきという点で最適化を図るためのバリエーションである。
【００２７】
前記プログラマブルデバイス内でバスを実現し、このバスにその他の半導体でバスを接続可能にする第１０バリエーションが用意されている。これは、バス接続の多様性という点で最適化を図るためのバリエーションとされる。
【００２８】
外部入出力インタフェース機能を前記プログラマブルデバイスに割り当てる第１１バリエーションが用意されている。これは、外部入出力インタフェース仕様の変更、接続される外部入出力回路の変更に対して柔軟に対処することを可能にするためのバリエーションとされる。
【００２９】
前記プログラマブルデバイスのテストは前記プロセッシングデバイスが行い、前記メモリデバイスのテストは前記プログラマブルデバイスに実現したビルトインセルフテスト回路を用いて前記プロセッシングデバイスが行う第１２バリエーションが用意されている。これは半導体装置の量産テストを最適化するためのバリエーションとされる。
【発明の効果】
【００３０】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００３１】
すなわち、プロトタイプではなく製品としての出荷形態でプログラマブルデバイスを用いた半導体装置の最適化に資することができる。
【発明を実施するための最良の形態】
【００３２】
ここではＳＩＰ（System In Package）化された半導体装置を開発する方法と、それによって開発される半導体装置の代表的な形態について説明する。半導体装置には、少なくとも一つの半導体デバイスとして、書き換え可能な記憶回路が保持する定義データに従って多数のロジックエレメントによる論理機能が可変とされるプログラマブルデバイスとしてのＦＰＧＡ（Field Programmable Gate Array）を用いる。同様のプログラマブルデバイスとして、ＰＬＤ（Programmable Logic Device）を用いることによりＦＰＧＡを用いた場合と同様の機能を実現することが可能となる。半導体装置の開発では、前記プログラマブルデバイスに割り当てられる機能に応じて、各種バリエーションを選択的に使い分ける。基本的なバリエーションはチップアレンジメントである。例えば図１において半導体装置１は、パッケージ基板に２、ＦＰＧＡ３、マイクロプロセッシングユニット（ＭＰＵ）４、プログラマブルＲＯＭ（ＰＲＯＭ）５、フラッシュメモリ（ＦＬＡＳＨ）６、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）７、及びその他のデバイス８を有する。
【００３３】
ＦＰＧＡ3はプログラマブルデバイスの一つであり、書き換え可能な記憶回路、前記記憶回路に保持する定義データに従って論理機能が可変にされる多数のロジックエレメントから成る。ロジックエレメントは例えばアンドゲート、オアゲート、フリップフロップ、及び算術論理演算ユニットを有し、隣接するロジックエレメントは相互に信号線で接続され、ロジックエレメント間の信号線の接続形態、ロジックエレメント内部における信号線の接続形態は前記定義データによってプログラマブルに決定することができるようになっている。これによってＦＰＧＡ３には所望のバス機能、演算処理機能、及び記憶機能などを形成することができるようになる。前記記憶回路は不揮発性とされるもの、又は揮発性とされるものがある。
【００３４】
マイクロプロセッシングユニット４は命令を実行する中央処理装置（ＣＰＵ）、中央処理装置のワークＲＡＭやプログラムメモリ、タイマなどの周辺回路を有する。
【００３５】
前記ＰＲＯＭ５及びＦＬＡＳＨ６は共に電気的に書き換え可能な不揮発性メモリとされる。ＰＲＯＭ５はＥＥＰＲＯＭのような不揮発性メモリでありランダムアクセスで書き換え可能にされ、ＣＰＵによるデータ処理途上で頻繁に書き換えを生ずる用途に適する。ＦＬＡＳＨ６はセクタ等の比較的大きな単位で書き換え可能され、プログラムなどの格納に適する。ＳＤＲＡＭ７はクロック信号に同期動作される高速アクセス可能なＤＲＡＭとされる。また、ＳＤＲＡＭ７はシングルデータレートＳＤＲＡＭでも、ダブルデータレートＳＤＲＡＭであっても、その他のデータ転送機能を有したＳＤＲＡＭによって構成されていてもよい。前記メモリＰＲＯＭやＦＬＡＳＨに限ることなく、ＳＲＡＭ等のその他のメモリで構成されていてもよい。
【００３６】
前記その他のデバイス８は、ＡＤＣ／ＤＡＣ等のアナログ用半導体デバイス、ＲＦ等の高周波用半導体デバイス、パワーＩＣ等の高耐圧半導体デバイスの様な何れの機能を有した半導体デバイスであってもよい。
【００３７】
また、前記半導体装置は前記図１に示す全ての半導体デバイスを一つの半導体装置として搭載するだけでなく、少なくとも前記一つのプログラマブルデバイスと他の一つの半導体デバイスを搭載したものによって構成されていればよい。
【００３８】
半導体装置の開発では、物理的構成及び機能的なシステム構成に着目する。物理的構成の設計ではチップアレンジメントやピンアレンジメントに関するバリエーションを用意しておく。機能的なシステム構成の設計では機能切り分け、アプリケーションモデル、テスト手法、機能定義に関するバリエーションを用意しておく。
【００３９】
《チップアレンジメント》
バリエーションの基本はチップアレンジメントであり、半導体デバイスの実装形態として、図１では第１乃至第５実装形態を用意して選択可能としている。第１実装形態はビルドアップ基板で形成されたパッケージ基板２の底面側には多数のボール電極がボールグリッドアレイとして配置され、基板の表面層に半導体デバイスを搭載しワイヤーボンディングにて半導体デバイスとボール電極との導通を採る形態とされる（Wire Bonding + BGA）。第２実装形態はパッケージ基板に複数の半導体デバイスをスタックし、ボール電極との接続にワイヤーボンディングを利用する形態とされる（Stack BGA）。第３実装形態は半導体デバイスとしてフリップチップを用いる形態である（Flip Chip）。第４実装形態はＱＦＰパッケージを用いる実装形態である(QFP SIP)。第５実装形態はＳＩＰ化された半導体装置を２段積みする実装形態である（PKG on PKG SIP）。
【００４０】
図２には実装形態の更に別のバリエーションが示される。（Ａ）は平置き４チップ、（Ｂ）は平置き３チップ構成が選択された場合を例示する。ここでは、前記シンクロナスＤＲＡＭ７のアクセス主体になる論理機能が前記ＦＰＧＡ３に割り当てられ、ＦＰＧＡ３に隣接してＳＤＲＡＭ７が配置される。実装形態は図１のように平置き又はスタックの何れであってもよい。要するに、ＦＰＧＡ３に隣接して前記ＳＤＲＡＭ７を平置き配置する第１バリエーションであっても、前記ＦＰＧＡ３と前記ＳＤＲＡＭ７をスタック配置する第２バリエーションであってもよい。それらバリエーションを使い分けることによりＳＤＲＡＭ７に対するアクセス機能が専らプログラマブルデバイスに割り当てられるときに、高速アクセスという点における最適化は可能になる。
【００４１】
図２の（Ｃ）は２チップ２層スタック構成が選択された場合、（Ｄ）は３チップ３層スタック構成が選択された場合を例示する。ＦＰＧＡ３の記憶回路が揮発性の場合もあることを考慮すると、スタックされたＦＬＡＳＨ６からＦＰＧＡ３に前記定義データを内部転送可能にする第３バリエーションを選択可能に用意しておく。
【００４２】
前記シンクロナスＤＲＡＭ７のアクセス主体となる論理機能を前記ＦＰＧＡ３に割り当てるとき、選択可能な前記バリエーションとして、前記ＦＰＧＡ３に隣接して前記ＳＤＲＡＭ７を平置き配置する第１バリエーションと、前記ＦＰＧＡ３と前記ＳＤＲＡＭ７をスタック配置する第２バリエーションと、その他の半導体デバイスの別の一つとして電気的に書き換え可能なＦＬＡＳＨ６を用い、前記ＦＬＡＳＨ６から前記ＦＰＧＡ３に前記定義データを内部転送可能にする第３バリエーションと、を用意することにより、ＳＤＲＡＭ７に対するアクセス機能が専らＦＰＧＡ３に割り当てられるとき、ＳＤＲＡＭ７に対する高速アクセスという点の最適化が可能になる。特に第３バリエーションはＦＰＧＡ３の記憶回路が揮発性である場合に対処するバリエーションとされる。
【００４３】
図３の（Ａ）は４個のＦＰＧＡ３Ａ〜３Ｄの平置き、（Ｂ）は４個のＦＰＧＡ３Ａ〜３Ｃの平置き、（Ｃ）は２個のＦＰＧＡ３Ａ〜３Ｂのスタック、（Ｄ）は３個のＦＰＧＡ３Ａ〜３Ｃのスタック構成が選択された場合を例示する。例えばＦＰＧＡ３Ａの記憶回路は電気的に書き換え可能な不揮発性であり、他のＦＰＧＡ３Ｂ〜３Ｄの記憶回路は電気的に書き換え可能な揮発性である。一部のＦＰＧＡの記憶回路は電気的に書き換え可能な不揮発性とし、残りのＦＰＧＡの記憶回路は電気的に書き換え可能な揮発性とする第４バリエーションを用意することにより、記憶回路による消費電力と機能設定の操作性との観点より記憶回路の回路形式を最適化可能になる。
【００４４】
《ピンアレンジメント》
別の観点によるバリエーションは半導体装置のピンアレンジメントである。図４には半導体装置１のボールグリッドアレイの一例が示される。半導体装置１の底面側には外部接続電極として同心状に複数列で周回されたボールグリッドアレイが形成され、ボールグリッドアレイの外周縁寄りの外部接続電極１０（六角形で表示）には使用頻度の高い半導体デバイスとの接続が割り当てられ、ボールグリッドアレイの内周縁寄りの外部接続電極１１（十字形で表示）にはそれよりも使用頻度の低い半導体デバイスとの接続が割り当てられる。四角形で表示された中央部分の電極１２はテスト端子、電源端子、及び回路の接地端子とされる。半導体装置１が実装される実装基板上の配線は、ボールグリッドアレイの外周縁寄りの外部接続電極１０に接続される方が短くて済むから、配線引き回しによる負荷が小さい。使用頻度の高いデバイスが接続される配線の負荷を小さくすることによって高い処理性能を引き出すという点で最適化を図ることができる。ボールグリッドアレイの外周縁寄りの外部接続電極１０には使用頻度の高い半導体デバイスとの接続に割り当て、ボールグリッドアレイの内周縁寄りの外部接続電極１１にはそれよりも使用頻度の低い半導体デバイスとの接続に割り当てる第６バリエーションを用意することにより、使用頻度の高いデバイスが接続される配線の負荷を小さくすることによって高い処理性能を引き出すという点で最適化を図ることが容易になる。
【００４５】
図５には半導体装置１のボールグリッドアレイの別の例が示される。使用頻度の高い半導体デバイスとの接続に割り当てられる信号用の外部接続端子１３（六角形で示される）の数は、使用頻度の低い半導体デバイスとの接続に割り当てられる信号用の外部接続端子１４（十字形で示される）の数よりも多くされる。図５では使用頻度の高い半導体デバイスはＭＰＵ４とされ、使用頻度の低い半導体デバイスはＦＰＧＡ３とされる。図６では使用頻度の高い半導体デバイスはＦＰＧＡ３とされ其れとの接続には多い数の外部接続端子１５（十字形で示される）が割り当てられ、使用頻度の低い半導体デバイスはＭＰＵ４とされ其れとの接続には少ない数の外部接続端子１６（六角形で示される）が割り当てられる。数に限りのある外部端子の割り当てが最適化される。使用頻度の高い半導体デバイスとの接続に割り当てられる信号用の外部接続端子の数を、使用頻度の低い半導体デバイスとの接続に割り当てられる信号用の外部接続端子の数よりも多くする第７バリエーションを用意することにより、数に限りのある外部端子の割り当てを最適化することが容易になる。
【００４６】
図７にはＦＰＧＡが保有するスタック用端子が例示される。ＦＰＧＡ３はパッケージ基板２に搭載するための複数の第１の外部端子２０と、ＦＰＧＡ３に別の半導体デバイスをスタック状態で搭載するのに用いられる複数の第２の外部端子２１とを有し、複数の第２の外部端子２１は矩形の３辺に位置する配置を有する。前記複数の第２の外部端子２１はスタック状態で搭載される別の半導体デバイスの外部端子と接続され、更に前記第１の外部端子と接続される。またその他の構成となっていてもよい。図８に例示されるように、メモリの外部端子の配置は、デバイスの対向２辺或いはデバイスの長手辺に沿ったデバイス中央部とされるのがほとんどであり、また、マイクロコンピュータのアドレス及びデータ端子は最大でも矩形の３辺にまたがるに過ぎないから、前記第２の外部端２１を矩形の３辺に位置することは、ＦＰＧＡ３とＳＤＲＡＭ７又はＭＰＵ４をスタックするとき、相互の端子同士の接続し易さという点での最適化が図られる。スタック構造は図９に例示されるようにＦＰＧＡ３とＭＰＵ４の間にスペーサーを介在させても或いはさせなくてもよい。複数の第２の外部端子を矩形の３辺に配置する第８バリエーションを用意しておくことにより、ＦＰＧＡ３とＳＤＲＡＭ７又はＭＰＵ４をスタックするとき、相互の端子同士の接続し易さという点での最適化を図ることができる。
【００４７】
《機能切り分け》
図１０にはＦＰＧＡ３とＭＰＵ４に対する機能切り分けに関すコンセプトが示される。前記ＦＰＧＡ３には演算処理機能（ＥＸＥＣＵＴＩＯＮ）が実現され、前記ＭＰＵ４には前記ＦＰＧＡ３の演算処理機能に対する制御機能（ＣＯＮＴＲＯＬ）を割り当てる。これにより、ユーザは前記ＦＰＧＡ３に画像処理、音声処理、通信処理、暗号化復号処理などを設定でき、その場合にＦＰＧＡ３に対する機能設定にユーザが保有する設計資産を適用することができ、ユーザの現状設計資産の活用が図られる。ＭＰＵ４はＦＰＧＡ３に設定された演算処理機能に対する初期設定などの制御機能を果たせばよく、ＭＰＵ４の負荷が特定処理で極端に大きくなるというような事態の発生が抑制される。このように、ユーザが保有する設計資産の活用とＭＰＵ４の負荷のばらつきという点で最適化が図られる。前記ＦＰＧＡ３に演算処理機能を実現するとき、前記ＭＰＵ４には前記ＦＰＧＡ３の演算処理機能に対する制御機能を割り当てる第９バリエーションを用意することにより、ユーザが保有する設計資産の活用とＭＰＵ４の負荷のばらつきという点で最適化を図ることが容易になる。
【００４８】
図１１には機能切り分けされた半導体デバイスを接続するバス構成が示される。ＳＤＲＡＭ７、ＭＰＵ４、ＦＬＡＳＨ６はＦＰＧＡ３の内部で定義されたバス２５に接続される。ＦＰＧＡ３を用いてバス２５を構成するから、バス構成がプログラマブルになる。従って、ＦＰＧＡ３に接続されるＳＤＲＡＭ７やＦＬＡＳＨ６のインタフェース仕様、その他のデバイスのバスインタフェース仕様の如何にかかわらずバス接続への対応が容易であり、将来の仕様変更に対しても対応が容易である。バス接続の多様性という点で最適化される。ＦＰＧＡ３によってバス構成を決定するための機能決定データの作成が手間なユーザは、図１２に示されるように、パッケージ基板２にバス２５を形成する構成を採用すればよいが、バス構成は固定になる。前記ＦＰＧＡ３内でバス２５を実現し、このバス２５にその他の半導体でバスを接続可能にする第１０バリエーションを用意することにより、バス接続の多様性という点で最適化を図ることが容易になる。
【００４９】
《アプリケーションモデル》
図１３にはアプリケーションモデルとして半導体装置１に入出力デバイスを接続する場合の構成が例示される。外部入出力デバイス(ＥＸＤＥＶ)を接続する外部入出力インタフェース（ＥＸＩＯ）２６は前記ＦＰＧＡ３で実現するのがよい。外部入出力インタフェース仕様の変更、接続される外部入出力デバイスの変更に対して柔軟に対処することができる。外部入出力インタフェース機能を前記ＦＰＧＡ３に割り当てる第１１バリエーションを用意することにより、外部入出力インタフェース仕様の変更、接続される外部入出力回路の変更に対して柔軟に対処することが可能になる。
【００５０】
《テスト手法》
図１４には半導体装置１の量産テストに関する考慮が示される。前記ＦＰＧＡ３のテストは前記ＭＰＵ４が行い、前記ＳＤＲＡＭ７のテストは前記ＦＰＧＡ３に実現したビルトインセルフテスト回路（ＢＩＳＴ）を用いて前記ＭＰＵ４が行う。ＦＰＧＡ３でＳＤＲＡＭ７のＢＩＳＴを構成することになるので、ＦＰＧＡ３はＳＤＲＡＭ７の内部回路にも接続可能されている。上記より、テストの最適化に資することができる。ＦＰＧＡ３のテストは前記ＭＰＵ４が行い、前記ＳＤＲＡＭ７のテストは前記ＦＰＧＡ３に実現したビルトインセルフテスト回路を用いて前記ＭＰＵ４が行う第１２バリエーションを用意することにより、半導体装置１の量産テストの仕組みを提供することが容易になる。図１５にはＦＰＧＡ３をテストするとき設定されるテストパスとテストパス中のロジックエレメントの様子が模式的に示される。２７はロジックエレメント、２８はテストパスである。
【００５１】
《機能定義》
図１６及び図１７にはＦＰＧＡに対する機能定義手法の基本形態が例示される。図１６はＦＬＡＳＨ７が保持する定義データをＦＰＧＡ３の記憶回路にロードして多数のロジックエレメントによる論理機能を決定する。図１７はＦＰＧＡ３の定義データをＭＰＵ４のオンチップフラッシュメモリ２９からＦＰＧＡ３の記憶回路にロードしてＦＰＧＡ３の機能を決定する。何れの場合も半導体装置１の実装基板上には定義データを保持する不揮発性メモリなどを必要としない。ＦＬＡＳＨ７から前記ＦＰＧＡ３に前記定義データを内部転送可能にする第３バリエーションと、ＭＰＵ４のＣＰＵが定義データをオンチップフラッシュメモリ２９からＦＰＧＡ３の前記記憶回路にロード可能にする第５バリエーションとを用意することにより、不揮発性メモリを内蔵するＭＰＵの活用、揮発性記憶回路を有するＦＰＧＡの活用という点においてＦＰＧＡの機能設定の最適化を図り易くなる。
【００５２】
半導体装置１を搭載するＰＣ（Personal Computer）や携帯電話機などの電子機器３０は、図１８のように外部から前記定義データを受信する通信ポート３１を有することにより、定義データのバージョンアップ又はバグの修正への対応が容易になる。
【００５３】
《開発アルゴリズム》
ＦＰＧＡ３を搭載した半導体装置の設計において、上述の物理的構成及び機能的システム構成に着目するとき、前記第１バリエーション乃至第１２バリエーションを開発支援システムに用意し、設計条件に見合うバリエーションを選択させる。図１９にはそのための開発支援システムが例示される。開発支援システムは、ＩＣライブラリ(ＩＣＬ)、ＰＣＢライブラリ(ＰＣＢＬ)、アプリケーション設計データ(ＡＤＤ)、前記第１バリエーション乃至第１２バリエーションの内容を規定するバリエーションデータ(ＢＤＤ)を有する。解析部（ＡＥＧ）は、物理的構成の望ましい解、機能的なシステム構成の望ましい解を生成する。物理的構成に関しては、設計条件（ＣＯＮＤ）を満足する範囲でコスト、機能、取り扱い容易性などを考慮して、チップアレンジメントやピンアレンジメントに関するバリエーションの中から適するバリエーションを選び、それに即して望ましい物理的構成を特定する設計データ（ＤＳＧＮ）生成する。機能的なシステム構成に関しては、設計条件を満足する範囲でコスト、機能、取り扱い容易性などを考慮して、機能切り分け、アプリケーションモデル、テスト手法、機能定義に関するバリエーションの中から適するバリエーションを選び、それに即して望ましい機能的システム構成を特定する設計データ（ＤＳＧＮ）生成する。解析部(ＡＥＧ)で生成される望ましい解は優先順位をつけて複数生成されてよい。
【００５４】
図２０には上記設計手法にて得られたＳＩＰ化された半導体装置のブロック図が例示される。ここでは定義データは外部からＪＴＡＧを使って内部に取り込まれる構成とされるが、ＵＳＢなどを介して外部からロードされてよいのは当然である。ここではＦＰＧＡにはＣＩＦ（Camera Interface）、ＧＰＵ（Graphic Processing Unit）、ＬＰＣ（LCD Panel Controller）などの演算処理機能が実現され、ＭＡＣ（Memory Access Controller）としてメモリバス機能が実現されている。ＦＰＧＡ３はＣＢＩ（CPU Bus Interface）を介してＭＰＵ４に接続される。
【００５５】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【図面の簡単な説明】
【００５６】
【図１】実装形態としてのチップアレンジメントの代表的な５つの形態を示す説明図である。
【図２】実装形態としてのチップアレンジメントの別のバリエーションを示す説明図である。
【図３】実装形態としてのチップアレンジメントの更に別のバリエーションを示す説明図である。
【図４】半導体装置のボールグリッドアレイの一例を示す底面図である。
【図５】使用頻度の高い半導体デバイスとの接続に割り当てられる外部接続端子をボールグリッドアレイの外側に配置するピンアレンジメントの例を示す説明図である。
【図６】使用頻度の高い半導体デバイスとの接続に割り当てられる外部接続端子の数を多くするピンアレンジメントの説明図である。
【図７】ＦＰＧＡが有するスタック用端子の配置構成を例示する説明図である。
【図８】メモリの外部端子配置とマイクロコンピュータのアドレス及びデータ端子の配置を説明するための参考図面である。
【図９】ＦＰＧＡとＭＰＵの間にスペーサーを介在させる構造と介在させない構造を対比して示す説明図である。
【図１０】ＦＰＧＡとＭＰＵに対する機能切り分けに関すコンセプトを示す説明図である。
【図１１】機能切り分けされた半導体デバイスを接続するバスをＦＰＧＡで構成する例を示す機能説明図である。
【図１２】機能切り分けされた半導体デバイスを接続するバスをパッケージ基板に構成する例を示す機能説明図である。
【図１３】アプリケーションモデルとして半導体装置に入出力デバイスを接続する場合の構成を例示する説明図である。
【図１４】半導体装置の量産テストに関する考慮を示す説明図である。
【図１５】ＦＰＧＡをテストするとき設定されるテストパスとテストパス中のロジックエレメントの様子を模式的に示す説明図である。
【図１６】ＦＰＧＡに対する機能定義手法の基本形態の一つを示す機能説明図である。
【図１７】ＦＰＧＡに対する機能定義手法の別の基本形態を示す機能説明図である。
【図１８】通信ポートからＦＰＧＡの定義データを受信する応用例を示した説明図である。
【図１９】ＦＰＧＡを搭載した半導体装置の開発支援システムを例示する説明図である。
【図２０】図１９の記設計手法にて得られたＳＩＰ化された半導体装置のブロック図である。
【符号の説明】
【００５７】
１  半導体装置
２  パッケージ基板
３、３Ａ〜３Ｄ  ＦＰＧＡ
４  ＭＰＵ
５  ＰＲＯＭ
６  ＦＬＡＳＨ
７  ＳＤＲＡＭ
１０  外縁側ボール電極
１１  内縁側ボール電極
１３、１５  使用頻度の多いボール電極
１４、１６  使用頻度の少ないボール電極
２０  外部接続用の第１の外部端子
２１  スタック用の第２の外部接続端子
２５  バス
２６  ＦＰＧＡに形成された外部入出力インタフェース
２７  ロジックエレメント
２８  テストパス
２９  マイクロコンピュータのオンチップフラッシュメモリ
３０  電子機器
３１  通信ポート
【図１】
2006186546.tif 000003
【図２】
2006186546.tif 000004
【図３】
2006186546.tif 000005
【図４】
2006186546.tif 000006
【図５】
2006186546.tif 000007
【図６】
2006186546.tif 000008
【図７】
2006186546.tif 000009
【図８】
2006186546.tif 000010
【図９】
2006186546.tif 000011
【図１０】
2006186546.tif 000012
【図１１】
2006186546.tif 000013
【図１２】
2006186546.tif 000014
【図１３】
2006186546.tif 000015
【図１４】
2006186546.tif 000016
【図１５】
2006186546.tif 000017
【図１６】
2006186546.tif 000018
【図１７】
2006186546.tif 000019
【図１８】
2006186546.tif 000020
【図１９】
2006186546.tif 000021
【図２０】
2006186546.tif 000022