(57)【特許請求の範囲】
【請求項１】
データの通信を可能にする集積回路であって、
複数の入力／出力ポートと、
対応する入力／出力ポートで受取られた入力信号をサンプリングするように構成されたデータ変換器回路のブロックを有する複数のデータ変換器回路と、
前記複数の入力／出力ポートと前記データ変換器回路のブロックとの間に結合され、データ変換器回路のブロックと前記集積回路の前記対応する入力／出力ポートとの接続を可能にするプログラム可能な相互接続回路と、
前記データ変換器回路のブロックに結合されたクロック発生器とを備え、
前記データ変換器回路のブロックの各々のデータ変換器回路は、増大したサンプリングレートで前記入力／出力ポートにおいてデータをサンプリングするように前記クロック発生器から異なるクロック信号を受取る、集積回路。
【請求項２】
前記入力／出力ポートは、差動アナログ入力信号を受取る入力／出力ピンの対を備える、請求項１に記載の集積回路。
【請求項３】
前記複数のデータ変換器回路は、マルチダイ集積回路のプログラム可能なリソースを有する第２のダイとは分離した前記マルチダイ集積回路の第１のダイ上にある、請求項１または２に記載の集積回路。
【請求項４】
インターポーザをさらに備え、
前記第１のダイおよび前記第２のダイは前記インターポーザ上にあり、
前記インターポーザは前記第１のダイと前記第２のダイとの間でのデータの通信を可能にする、請求項３に記載の集積回路。
【請求項５】
前記複数のデータ変換器回路は、複数のデジタル・アナログ変換器回路を備える、請求項１から４のいずれか１項に記載の集積回路。
【請求項６】
前記複数のデジタル・アナログ変換器回路の出力に基づいてアナログ出力信号を生成するための加算回路をさらに備える、請求項５に記載の集積回路。
【請求項７】
前記入力／出力ポート、前記複数のデータ変換器回路およびプログラム可能なリソースは、前記集積回路の単一のダイ上にある、請求項１または２に記載の集積回路。
【請求項８】
前記複数のデータ変換器回路のうちの２つ以上は、前記対応する入力／出力ポートに結合される前記データ変換器回路のブロックを形成するように時間領域インターリーブされ、
前記クロック発生器は、複数の位相シフトクロック信号を発生させ、
前記データ変換器回路のブロックは、前記複数の位相シフトクロック信号の際に前記対応する入力／出力ポートで受取られた前記入力信号をサンプリングする、請求項１から７のいずれか１項に記載の集積回路。
【請求項９】
集積回路とデータを通信する方法であって、
前記集積回路にデータ変換器回路のブロックを有する複数のデータ変換器回路を実装するステップと、
データ変換器回路のブロックの各々のデータ変換器回路と入力／出力ポートとの接続を可能にするように前記集積回路の前記入力／出力ポートと前記集積回路の前記データ変換器回路のブロックとの間に結合されたプログラム可能な相互接続回路をプログラムするステップと、
クロック発生器を前記データ変換器回路のブロックに結合するステップとを備え、
前記データ変換器回路のブロックの各々のデータ変換器回路は、前記入力／出力ポートにおいてデータをサンプリングするように異なるクロック信号を受取り、
前記方法はさらに、
前記入力／出力ポートで受取られた入力信号を、増大したサンプリングレートで、前記データ変換器回路のブロックによってサンプリングするステップを備える、方法。
【請求項１０】
前記増大したサンプリングレートに基づいて、予め定められた数のデータ変換器回路を前記データ変換器回路のブロックのために選択するステップをさらに備える、請求項９に記載の方法。
【請求項１１】
前記入力信号を前記データ変換器回路のブロックによってサンプリングするステップは、前記入力／出力ポートで受取られた前記入力信号の時間領域インターリーブを可能にするステップを備える、請求項９または１０に記載の方法。
【請求項１２】
前記入力／出力ポートで受取られた前記入力信号を前記データ変換器回路のブロックによってサンプリングするステップは、前記入力信号を前記データ変換器回路のブロックの各々のデータ変換器回路に結合するステップを備える、請求項９または１０に記載の方法。
【請求項１３】
前記入力／出力ポートで受取られた前記入力信号を前記データ変換器回路のブロックによってサンプリングするステップは、前記入力信号のサンプルを前記データ変換器回路のブロックの選択されたデータ変換器回路に周期的に結合するステップを備える、請求項９または１０に記載の方法。
【請求項１４】
前記入力信号を前記データ変換器回路のブロックによってサンプリングするステップは、
前記入力／出力ポートに結合される前記データ変換器回路のブロックを形成するように前記複数のデータ変換器回路のうちの２つ以上を時間領域インターリーブするステップと、
複数の位相シフトクロック信号を発生させるステップと、
前記複数の位相シフトクロック信号の際に前記入力／出力ポートで受取られた前記入力信号を前記データ変換器回路のブロックによってサンプリングするステップとを備える、請求項９または１０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
実施例は、一般に集積回路デバイスに関し、特に集積回路内でのデータの通信を可能にする方法に関する。
【背景技術】
【０００２】
背景
データは、さまざまなフォーマットで、種々のデータ通信プロトコルに従ってシステム内で通信され得る。例えば、データはアナログデータとして伝送されてもよい。アナログデータは、時間的に変化する特性を有する連続信号であり、当該信号に乗せて伝送される情報を表わす。これに対して、デジタルデータは離散的要素として送られるデータであり、当該離散的要素の値が、伝送される情報を表わす。アナログ信号は、情報を伝えるようにアナログ信号が通過する媒体の特性を用いる。アナログ信号は、データを容易に伝送できるが、多くの場合アナログ・デジタル変換器によってデジタル信号に変換されて集積回路の回路によって処理される。アナログ・デジタル変換の１つの一般的な例は、アナログオーディオ信号の、デジタルフォーマットで格納され得るデジタル表現への変換である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、データ変換の要件はアプリケーションによって異なるであろう。アナログ入力信号から生成されるデジタル信号を必要とするいくつかのアプリケーションは、他のアプリケーションよりも速いデータ速度を必要とし得る。例えば、無線データ伝送は、例えばメガサンプル／秒（Mega samples per second：ＭＳＰＳ）で表わされるあるデータ速度でのデータの伝送を必要とし得る。医療用画像化アプリケーションなどの別のアプリケーションは、より速いデータ速度を必要とし得る。したがって、所与の入力信号に対して、複数のアナログ・デジタル変換器が必要であろう。しかし、アナログ・デジタル変換器の実装は重大な課題を招く可能性がある。
【課題を解決するための手段】
【０００４】
発明の概要
データの通信を可能にする集積回路の実施例は、入力／出力ポートと、当該入力／出力ポートで受取られた入力信号をサンプリングするように構成された複数のデータ変換器回路と、当該入力／出力ポートと当該複数のデータ変換器回路との間に結合され、当該集積回路の当該入力／出力ポートへの当該複数のデータ変換器回路の接続を可能にするプログラム可能な相互接続回路とを備え得る。
【０００５】
いくつかの実施例においては、当該入力／出力ポートは、差動アナログ入力信号を受取る入力／出力ピンの対を備え得る。
【０００６】
いくつかの実施例においては、当該集積回路は、当該複数のデータ変換器回路に結合されたクロック発生器をさらに備え得て、当該複数のデータ変換器の各々のデータ変換器は異なるクロック信号を受取る。
【０００７】
いくつかの実施例においては、当該複数のデータ変換器回路は、マルチダイ集積回路のプログラム可能なリソースを有する第２のダイとは分離した当該マルチダイ集積回路の第１のダイ上にあり得る。
【０００８】
いくつかの実施例においては、当該集積回路は、当該第１のダイおよび当該第２のダイを受けるように結合された相互接続回路をさらに備え得て、当該相互接続回路は、当該第１のダイと当該第２のダイとの間でのデータの通信を可能にする。
【０００９】
いくつかの実施例においては、当該複数のデータ変換器回路は、複数のデジタル・アナログ変換器回路を備え得る。
【００１０】
いくつかの実施例においては、当該集積回路は、当該複数のデジタル・アナログ変換器回路の出力に基づいてアナログ出力信号を生成するための加算回路をさらに備え得る。
【００１１】
いくつかの実施例においては、当該入力／出力ポート、当該複数のデータ変換器回路およびプログラム可能なリソースは、当該集積回路の単一のダイ上にあり得る。
【００１２】
いくつかの実施例においては、当該複数のデータ変換器回路のうちの２つ以上は、当該入力／出力ポートに結合されるデータ変換器回路のブロックを形成するように時間領域インターリーブされ得て、当該集積回路は、複数の位相シフトクロック信号を発生させるクロック発生器をさらに備え、当該データ変換器回路のブロックは、サンプリングレートを増大させるために、当該複数の位相シフトクロック信号の際に当該入力／出力ポートで受取られた当該入力信号をサンプリングする。
【００１３】
集積回路とデータを通信する方法の実施例は、当該集積回路に複数のデータ変換器回路を実装するステップと、当該集積回路の入力／出力ポートと当該集積回路の当該複数のデータ変換器回路との間に結合されたプログラム可能な相互接続回路をプログラムするステップと、当該入力／出力ポートで受取られた入力信号を当該複数のデータ変換器回路によってサンプリングするステップとを備え得る。
【００１４】
いくつかの実施例においては、当該方法は、選択されたサンプリングレートに基づいて、予め定められた数の当該複数のデータ変換器回路を選択するステップをさらに備え得る。
【００１５】
いくつかの実施例においては、当該入力信号を当該複数のデータ変換器回路によってサンプリングするステップは、当該入力／出力ポートで受取られた当該入力信号の時間領域インターリーブを可能にするステップを備え得る。
【００１６】
いくつかの実施例においては、当該入力／出力ポートで受取られた当該入力信号を当該複数のデータ変換器回路によってサンプリングするステップは、当該入力信号を当該複数のデータ変換器回路の各々のデータ変換器回路に結合するステップを備え得る。
【００１７】
いくつかの実施例においては、当該入力／出力ポートで受取られた当該入力信号を当該複数のデータ変換器回路によってサンプリングするステップは、当該入力信号のサンプルを当該複数のデータ変換器回路の選択されたデータ変換器回路に周期的に結合するステップを備え得る。
【００１８】
いくつかの実施例においては、当該入力信号を当該複数のデータ変換器回路によってサンプリングするステップは、当該入力／出力ポートに結合されるデータ変換器回路のブロックを形成するように当該複数のデータ変換器回路のうちの２つ以上を時間領域インターリーブするステップと、複数の位相シフトクロック信号を発生させるステップと、サンプリングレートを増大させるために、当該複数の位相シフトクロック信号の際に当該入力／出力ポートで受取られた当該入力信号を当該データ変換器回路のブロックによってサンプリングするステップとを備え得る。
【００１９】
データの通信を可能にする集積回路の別の実施例は、入力／出力ポートと、複数のアナログ・デジタル変換器回路と、当該入力／出力ポートと当該複数のアナログ・デジタル変換器回路の入力との間に結合されたアナログ・デジタル変換器インターフェイス回路と、当該入力／出力ポートで受取られたアナログ入力信号を当該複数のアナログ・デジタル変換器回路がサンプリングできるようにするクロック発生器とを備え得る。
【００２０】
いくつかの実施例においては、当該アナログ・デジタル変換器インターフェイス回路は、当該集積回路の当該入力／出力ポートへの当該複数のアナログ・デジタル変換器回路の接続を可能にするプログラム可能な相互接続回路を備え得る。
【００２１】
いくつかの実施例においては、当該クロック発生器は、基準クロック信号を受取って複数の位相シフトクロック信号を発生させるように結合され得る。
【００２２】
いくつかの実施例においては、当該集積回路はマルチダイ集積回路であり得て、当該複数のアナログ・デジタル変換器回路は、当該マルチダイ集積回路のプログラム可能なリソースを有する第２のダイとは分離した当該マルチダイ集積回路の第１のダイ上にある。
【００２３】
いくつかの実施例においては、当該集積回路は、当該第１のダイおよび当該第２のダイを受けるように結合された相互接続回路をさらに備え得て、当該相互接続回路は、当該第１のダイと当該第２のダイとの間でのデータの通信を可能にする。
【００２４】
いくつかの実施例においては、当該アナログ・デジタル変換器インターフェイス回路は、当該入力／出力ポートで受取られたアナログ入力信号を当該複数のアナログ・デジタル変換器回路の各々のアナログ・デジタル変換器回路にルーティングすることを可能にし得る。
【００２５】
いくつかの実施例においては、当該集積回路は、アナログ入力信号を受取るように結合されたサンプラをさらに備え得て、当該アナログ入力信号のサンプルは、当該アナログ・デジタル変換器インターフェイス回路を介して、選択されたアナログ・デジタル変換器回路に結合される。
【００２６】
集積回路とデータを通信する方法の別の実施例は、当該集積回路に複数のアナログ・デジタル変換器回路を実装するステップと、アナログ入力信号を当該集積回路に結合するステップと、当該入力／出力ポートで受取られた当該アナログ入力信号を当該複数のアナログ・デジタル変換器回路によってサンプリングするステップとを備え得る。
【００２７】
いくつかの実施例においては、当該方法は、当該集積回路の当該入力／出力ポートと当該集積回路の当該複数のアナログ・デジタル変換器回路との間に結合されたプログラム可能な相互接続回路を構成するステップをさらに備え得る。
【００２８】
いくつかの実施例においては、当該方法は、選択されたサンプリングレートに基づいて、予め定められた数のアナログ・デジタル回路を選択するステップをさらに備え得る。
【００２９】
いくつかの実施例においては、当該アナログ入力信号を当該複数のアナログ・デジタル変換器回路によってサンプリングするステップは、当該入力／出力ポートで受取られた当該アナログ入力信号の時間領域インターリーブを可能にするステップを備え得る。
【００３０】
いくつかの実施例においては、当該入力／出力ポートで受取られた当該アナログ入力信号を当該複数のアナログ・デジタル変換器回路によってサンプリングするステップは、当該アナログ入力信号を当該複数のアナログ・デジタル変換器回路の各々のアナログ・デジタル変換器回路に結合するステップを備え得る。
【００３１】
いくつかの実施例においては、当該入力／出力ポートで受取られた当該アナログ入力信号を当該複数のアナログ・デジタル変換器回路によってサンプリングするステップは、当該アナログ入力信号のサンプルを当該複数のアナログ・デジタル変換器回路の選択されたアナログ・デジタル変換器回路に周期的に結合するステップを備え得る。
【図面の簡単な説明】
【００３２】
【図１】実施例に係るプログラム可能なリソースを有するプログラム可能な集積回路デバイスのブロック図である。
【図２】実施例に係るコンフィギュラブル論理素子のブロック図である。
【図３】実施例に係るプログラム可能なリソースを有するデバイスをプログラムするためのシステムのブロック図である。
【図４】実施例に係るプログラム可能なリソースを構成するための素子を有する集積回路のブロック図である。
【図５】実施例に係るデータの通信を可能にする集積回路のブロック図である。
【図６】実施例に係る複数のアナログ・デジタル変換器回路を有する集積回路のブロック図である。
【図７】実施例に係る入力／出力ポートに関連付けられる複数のアナログ・デジタル変換器回路を有する集積回路のブロック図である。
【図８】代替的な実施例に係る入力／出力ポートに関連付けられる複数のアナログ・デジタル変換器回路を有する集積回路のブロック図である。
【図９】実施例に係るプログラム可能な相互接続回路のブロック図である。
【図１０】実施例に係る集積回路へのデータの通信を可能にする集積回路のブロック図である。
【図１１】代替的な実施例に係る集積回路へのデータの通信を可能にする集積回路のブロック図である。
【図１２】実施例に係る集積回路のブロック図である。
【図１３】実施例に係る集積回路からのデータの通信を可能にする集積回路のブロック図である。
【図１４】実施例に係る構成を有する集積回路からのデータの通信を可能にする集積回路のブロック図である。
【図１５】代替的な実施例に係る構成を有する集積回路からのデータの通信を可能にする集積回路のブロック図である。
【図１６】実施例に係るアナログ・デジタル回路のブロック図である。
【図１７】実施例に係るマルチチップ集積回路のブロック図である。
【図１８】実施例に係る集積回路内でデータを通信する方法を示すフローチャートである。
【図１９】代替的な実施例に係る集積回路内でデータを通信する方法を示すフローチャートである。
【発明を実施するための形態】
【００３３】
図面の詳細な説明
まず図１を参照して、実施例に係るプログラム可能なリソースを有するプログラム可能な集積回路デバイスのブロック図が示される。プログラム可能なリソースを有するデバイスは、プログラム可能なリソースを有する特定用途向け集積回路（application specific integrated circuit：ＡＳＩＣ）などの任意のタイプの集積回路デバイスで実現されてもよいが、他のデバイスは、専用のプログラム可能論理デバイス（programmable logic device：ＰＬＤ）を備える。ＰＬＤの１つのタイプとして結合プログラム可能論理デバイス（Complex Programmable Logic Device：ＣＰＬＤ）がある。ＣＰＬＤは、ともに接続され、かつ、相互接続スイッチマトリックスによって入力／出力（Ｉ／Ｏ）リソースに接続される２つ以上の「機能ブロック」を含む。ＣＰＬＤの各機能ブロックは、プログラム可能論理アレイ（Programmable Logic Array：ＰＬＡ）またはプログラム可能アレイ論理（Programmable Array Logic：ＰＡＬ）デバイスにおいて用いられるものと類似した２レベルＡＮＤ／ＯＲ構造を含む。ＰＬＤの別のタイプとしてフィールド・プログラマブル・ゲート・アレイ（field programmable gate array：ＦＰＧＡ）がある。典型的なＦＰＧＡにおいては、コンフィギュラブルな論理ブロック（configurable logic block：ＣＬＢ）のアレイがプログラム可能な入力／出力ブロック（input/output block：ＩＯＢ）に結合される。ＣＬＢおよびＩＯＢは、プログラム可能なルーティングリソースの階層によって相互接続される。これらのＣＬＢ、ＩＯＢおよびプログラム可能なルーティングリソースは、一般にオフチップメモリからＦＰＧＡのコンフィギュレーションメモリセルにコンフィギュレーションビットストリームをロードすることによってカスタマイズされる。これらのタイプのプログラム可能論理デバイスの両方では、その目的でデバイスに与えられるコンフィギュレーションビットストリームのコンフィギュレーションデータビットによってデバイスの機能が制御される。コンフィギュレーションデータビットは、揮発性メモリ（例えば、ＦＰＧＡおよびいくつかのＣＰＬＤのようなスタティックメモリセル）、不揮発性メモリ（例えば、いくつかのＣＰＬＤのようなフラッシュメモリ）またはその他のタイプのメモリセルに格納されてもよい。
【００３４】
図１のデバイスはＦＰＧＡアーキテクチャ１００を備え、当該ＦＰＧＡアーキテクチャ１００は、マルチギガビット送受信機（ＭＧＴ）１０１と、ＣＬＢ１０２と、ランダムアクセスメモリブロック（ＢＲＡＭ）１０３と、入力／出力ブロック（ＩＯＢ）１０４と、コンフィギュレーションおよびクロッキング論理（ＣＯＮＦＩＧ／ＣＬＯＣＫＳ）１０５と、デジタル信号処理ブロック（ＤＳＰ）１０６と、専門の入力／出力ブロック（Ｉ／Ｏ）１０７（例えば、コンフィギュレーションポートおよびクロックポート）と、デジタルクロックマネージャ、アナログ・デジタル変換器、システムモニタリング論理などの他のプログラム可能論理１０８とを含む多数の異なるプログラム可能なタイルを有する。ＦＰＧＡの中には、例えばソフトウェアアプリケーションを実装するために用いられ得る専用のプロセッサブロック（ＰＲＯＣ）１１０も含んでいるものもある。
【００３５】
いくつかのＦＰＧＡにおいては、各々のプログラム可能なタイルは、隣接する各タイルにおける対応する相互接続素子へのおよび相互接続素子からの標準的な接続を有するプログラム可能な相互接続素子（ＩＮＴ）１１１を含む。したがって、プログラム可能な相互接続素子は、まとまって、図示されているＦＰＧＡのためのプログラム可能な相互接続構造を実現する。プログラム可能な相互接続素子１１１は、図１の上部に含まれる例によって示されるように、同一タイル内のプログラム可能論理素子へのおよびプログラム可能論理素子からの接続も含む。
【００３６】
例えば、ＣＬＢ１０２は、ユーザ論理＋単一のプログラム可能な相互接続素子１１１を実現するようにプログラムされ得るコンフィギュラブル論理素子（ＣＬＥ）１１２を含んでいてもよい。ＢＲＡＭ１０３は、１つ以上のプログラム可能な相互接続素子に加えて、ＢＲＡＭ論理素子（ＢＲＬ）１１３を含んでいてもよい。ＢＲＡＭは、コンフィギュレーション論理ブロックの分散ＲＡＭとは分離した専用のメモリを含む。一般に、タイルに含まれる相互接続素子の数はタイルの高さによって決まる。示されている実施例においては、ＢＲＡＭタイルは５個のＣＬＢと同じ高さを有するが、他の数も用いられてもよい。ＤＳＰタイル１０６は、適切な数のプログラム可能な相互接続素子に加えて、ＤＳＰ論理素子（ＤＳＰＬ）１１４を含んでいてもよい。ＩＯＢ１０４は、例えば、プログラム可能な相互接続素子１１１の１つの例に加えて、入力／出力論理素子（ＩＯＬ）１１５の２つの例を含んでいてもよい。デバイスの接続場所は、その目的でデバイスに与えられるコンフィギュレーションビットストリームのコンフィギュレーションデータビットによって制御される。プログラム可能な相互接続により、コンフィギュレーションビットストリームのビットに応答して、相互接続配線を備える接続を用いて、プログラム可能論理で実現される回路またはＢＲＡＭもしくはプロセッサなどの他の回路にさまざまな信号を結合することができる。
【００３７】
示されている実施例においては、ダイの中心付近のコラム状の領域は、コンフィギュレーション、クロックおよび他の制御論理のために用いられる。このコラムから延びる水平な領域１０９は、ＦＰＧＡの幅にわたってクロックおよびコンフィギュレーション信号を分配させるために用いられる。図１に示されるアーキテクチャを利用するＦＰＧＡの中には、ＦＰＧＡの大部分を構成する通常のコラム状構造を破綻させるさらなる論理ブロックを含むものもある。当該さらなる論理ブロックは、プログラム可能なブロックおよび／または専用の論理であってもよい。例えば、図１に示されるプロセッサブロックＰＲＯＣ１１０は、ＣＬＢおよびＢＲＡＭのいくつかのコラムにまたがっている。
【００３８】
なお、図１は単に例示的なＦＰＧＡアーキテクチャを示すよう意図されている。コラム内の論理ブロックの数、コラムの相対的な幅、コラムの数および順序、コラムに含まれる論理ブロックのタイプ、論理ブロックの相対的な大きさ、および図１の上部に含まれる相互接続／論理実装例は単に例示的なものである。例えば、実際のＦＰＧＡにおいては、一般に、ユーザ論理の効率的な実装を容易にするために、ＣＬＢが現れるところならどこにでもＣＬＢの隣接する２つ以上のコラムが含まれる。
【００３９】
ここで図２を参照して、実施例に係るコンフィギュラブル論理素子のブロック図が示される。特に、図２は、図１のコンフィギュレーション論理ブロック１０２のコンフィギュラブル論理素子を、単純化した形で示している。図２の実施例においては、スライスＭ２０１は４個の参照テーブル（ＬＵＴＭ）２０１Ａ〜２０１Ｄを含み、これらの各々は６個のＬＵＴデータ入力端子Ａ１〜Ａ６，Ｂ１〜Ｂ６，Ｃ１〜Ｃ６およびＤ１〜Ｄ６によって駆動され、これらの各々は２つのＬＵＴ出力信号Ｏ５およびＯ６を与える。ＬＵＴ２０１Ａ〜２０１ＤからのＯ６出力端子は、スライス出力端子Ａ〜Ｄをそれぞれ駆動する。ＬＵＴデータ入力信号は、プログラム可能な相互接続素子２１１によって実現され得る入力マルチプレクサを介してＦＰＧＡ相互接続構造によって供給され、ＬＵＴ出力信号も相互接続構造に供給される。また、スライスＭは、出力端子ＡＭＵＸ〜ＤＭＵＸを駆動する出力選択マルチプレクサ２１１Ａ〜２１１Ｄと、メモリ素子２０２Ａ〜２０２Ｄのデータ入力端子を駆動するマルチプレクサ２１２Ａ〜２１２Ｄと、組合せマルチプレクサ２１６，２１８および２１９と、バウンスマルチプレクサ回路２２２〜２２３と、インバータ２０５およびマルチプレクサ２０６（これらはともに入力クロック経路上で任意の反転をもたらす）によって表わされる回路と、マルチプレクサ２１４Ａ〜２１４Ｄ，２１５Ａ〜２１５Ｄ，２２０〜２２１および排他的ＯＲゲート２１３Ａ〜２１３Ｄを有する桁上げ論理とを含む。これらの素子は全て、図２に示されるようにともに結合される。図２に示されるマルチプレクサでは選択入力は示されていないが、選択入力はコンフィギュレーションメモリセルによって制御される。すなわち、コンフィギュレーションメモリセルに格納されたコンフィギュレーションビットストリームのコンフィギュレーションビットは、マルチプレクサへの正しい入力を選択するようにマルチプレクサの選択入力に結合される。周知のこれらのコンフィギュレーションメモリセルは、明確にする目的で、図２および本明細書の中の他の選択図からは省略されている。
【００４０】
示されている実施例においては、各メモリ素子２０２Ａ〜２０２Ｄは、同期または非同期フリップフロップまたはラッチとして機能するようにプログラムされてもよい。同期機能と非同期機能との選択は、Ｓｙｎｃ／Ａｓｙｎｃｈ選択回路２０３をプログラムすることによってスライス内の４個全てのメモリ素子に対して行なわれる。Ｓ／Ｒ（セット／リセット）入力信号がセット機能を提供するようにメモリ素子がプログラムされる場合、ＲＥＶ入力端子がリセット機能を提供する。Ｓ／Ｒ入力信号がリセット機能を提供するようにメモリ素子がプログラムされる場合、ＲＥＶ入力端子がセット機能を提供する。メモリ素子２０２Ａ〜２０２Ｄは、例えば広域クロックネットワークまたは相互接続構造によって与えられ得るクロック信号ＣＫによってクロックされる。このようなプログラム可能なメモリ素子は、ＦＰＧＡ設計の技術分野では周知である。各メモリ素子２０２Ａ〜２０２Ｄは、登録された出力信号ＡＱ〜ＤＱを相互接続構造に与える。各々のＬＵＴ２０１Ａ〜２０１Ｄが２つの出力信号Ｏ５およびＯ６を与えるので、ＬＵＴは、５個の共有入力信号（ＩＮ１〜ＩＮ５）を有する２個の５入力ＬＵＴまたは入力信号ＩＮ１〜ＩＮ６を有する１個の６入力ＬＵＴとして機能するように構成されてもよい。
【００４１】
図２の実施例においては、各々のＬＵＴＭ２０１Ａ〜２０１Ｄは、いくつかのモードのうちのいずれかのモードで機能してもよい。参照テーブルモードでは、各ＬＵＴは、入力マルチプレクサを介してＦＰＧＡ相互接続構造によって供給される６個のデータ入力信号ＩＮ１〜ＩＮ６を有する。信号ＩＮ１〜ＩＮ６の値に基づいて、６４個のデータ値のうちの１つがコンフィギュレーションメモリセルからプログラム可能に選択される。ＲＡＭモードでは、各ＬＵＴは、共有アドレッシングにより単一の６４ビットＲＡＭまたは２個の３２ビットＲＡＭとして機能する。ＲＡＭ書込データが入力端子ＤＩ１を介して（ＬＵＴ２０１Ａ〜２０１Ｃのマルチプレクサ２１７Ａ〜２１７Ｃを介して）６４ビットＲＡＭに供給され、または入力端子ＤＩ１およびＤＩ２を介して２個の３２ビットＲＡＭに供給される。ＬＵＴ  ＲＡＭでのＲＡＭ書込動作は、マルチプレクサ２０６からのクロック信号ＣＫおよびマルチプレクサ２０７からの書込イネーブル信号ＷＥＮによって制御され、マルチプレクサ２０６およびマルチプレクサ２０７は、クロックイネーブル信号ＣＥまたは書込イネーブル信号ＷＥのいずれかを選択的に通過させ得る。シフトレジスタモードでは、各ＬＵＴは２個の１６ビットシフトレジスタとして、または２個の１６ビットシフトレジスタが単一の３２ビットシフトレジスタを作成するように直列に結合された状態で機能する。入力端子ＤＩ１およびＤＩ２のうちの１つまたは両方を介してシフトイン信号が与えられる。１６ビットおよび３２ビットシフトアウト信号はＬＵＴ出力端子を介して与えられてもよく、また、３２ビットシフトアウト信号はＬＵＴ出力端子ＭＣ３１を介してより直接的に与えられてもよい。また、ＬＵＴ２０１Ａの３２ビットシフトアウト信号ＭＣ３１は、出力選択マルチプレクサ２１１ＤおよびＣＬＥ出力端子ＤＭＵＸを介して、シフトレジスタをつなぐための一般的な相互接続構造に与えられてもよい。したがって、回路および方法は、図１および図２のＦＰＧＡなどのデバイスまたはその他の好適なデバイスにおいて実現され得る。
【００４２】
ここで図３を参照して、実施例に係るプログラム可能なリソースを有するデバイスをプログラムするためのシステムのブロック図が示される。特に、コンピュータ３０２は、メモリ３０６から回路設計３０４を受けて、不揮発性メモリ３０８に格納されるコンフィギュレーションビットストリームを生成するように結合される。より詳細に以下で説明するように、回路設計は、ハードウェア記述言語（hardware description language：ＨＤＬ）で規定される回路設計などの高位設計であってもよい。また、コンピュータは、不揮発性メモリ３０８に格納されてプログラム可能なリソースを有するデバイス３１０に与えられるコンフィギュレーションビットストリームを生成するソフトウェアを実行するように構成されてもよい。
【００４３】
プログラム可能な集積回路において実現される回路設計のソフトウェアフローは、当該技術分野において周知の合成、パッキング、配置およびルーティングを備える。合成は、高位設計での回路設計を、プログラム可能な集積回路に見られる素子の構成に変換するステップを備える。例えば、コンピュータ３０２によって操作される合成ツールは、特定の機能を実現する回路設計の部分を例えばコンフィギュラブルな論理ブロック（ＣＬＢ）またはデジタル信号処理（ＤＳＰ）ブロックに実装してもよい。合成ツールの例としては、カリフォルニア州サンノゼのザイリンクス（登録商標）社から入手可能なＩＳＥ（登録商標）ツールがある。パッキングは、回路設計の部分をＣＬＢなどのデバイスの規定のブロックにグループ分けするステップを備える。配置は、パッキングステップ中に規定されたデバイスのブロックの場所を決定するステップを備える。最後に、ルーティングは、プログラム可能な集積回路においてプログラム可能な相互接続などの相互接続素子の経路を選択するステップを備える。配置およびルーティングの終了時には、全ての機能、位置および接続が分かることになり、次いでコンフィギュレーションビットストリームが作成される。当該ビットストリームは、カリフォルニア州サンノゼのザイリンクス（登録商標）社から入手可能なＢｉｔＧｅｎと呼ばれるソフトウェアモジュールによって作成されてもよい。また、当該ビットストリームは、予め定められた暗号化基準に従って暗号化されてもよい。当該ビットストリームは、ケーブルを介してダウンロードされるか、またはＥＰＲＯＭにプログラムされて、プログラム可能な集積回路に送られる。符号化される場合には、ビットストリームは、予め定められた暗号化基準に従って、プログラム可能な集積回路によって復号される。
【００４４】
ここで図４を参照して、実施例に係るプログラム可能なリソースを構成するための素子を有する集積回路のブロック図が示される。図４の回路は、制御回路４０４に結合された入力／出力（Ｉ／Ｏ）ポート４０２とプログラム可能なリソース４０６とを有する集積回路で実現される。プログラム可能なリソース４０６は、ユーザが選択した回路設計を実現するように回路のユーザによって構成可能な回路素子を含む。プログラム可能なリソース４０６は、図１および図２を参照して説明したプログラム可能論理などのプログラム可能論理を含んでいてもよい。
【００４５】
プログラム可能なリソース４０６において実現される回路は、集積回路４００にダウンロードされたコンフィギュレーションビットストリームに従って実現されてもよい。より詳細に以下で説明するように、プログラム可能なリソース４０６はコンフィギュレーションメモリ４０８を含む。一般に、コンフィギュレーションメモリ４０８は、コンフィギュレーションビットストリームのコンフィギュレーションビットに基づいて、プログラム可能なリソース４０６を構成するためのメモリセルを含む。プログラム可能なリソース４０６およびコンフィギュレーションメモリ４０８の単一のブロックが示されているが、所与の集積回路は、コンフィギュレーションメモリによって制御されるプログラム可能なリソースを有する複数のブロックを含んでいてもよい。また、集積回路４００は、コンフィギュレーションデータを格納するための、プログラム可能なリソース４０６に外付けの不揮発性メモリなどのメモリ４１２を含んでいてもよい。
【００４６】
コンフィギュレーションデータをコンフィギュレーションメモリ４０８にロードするように、制御回路４０４の一部としてまたは制御回路４０４とは分離して、コンフィギュレーションコントローラ４１０が実現されてもよい。コンフィギュレーションデータは、Ｉ／Ｏポート４０２を介してまたは制御回路４０４およびメモリ４１２を介して、コンフィギュレーションコントローラ４１０によって直接ロードされてもよい。図４の回路は、以下で説明するプログラム可能論理デバイスなどのプログラム可能なリソース４０６を有する任意のデバイス、または、プログラム可能な回路の一部もしくは機密データを格納するためのメモリを有する特定用途向け集積回路（ＡＳＩＣ）であってもよい。図４の回路は、例えばプログラム可能なリソースを有するデバイス３１０であり得る。
【００４７】
ここで図５を参照して、実施例に係るデータの通信を可能にする集積回路５００のブロック図が示される。集積回路５００は、プログラム可能なリソース５０２と、ＡＤＣ／ＤＡＣインターフェイス５０８を介したアナログ・デジタル変換器（ＡＤＣ）回路５１０およびデジタル・アナログ変換器（ＤＡＣ）回路５１２へのアクセスを可能にするアナログ入力および出力のコラム５０４とを備える。アナログ入力および出力の第２のコラム５１６は、ＡＤＣ／ＤＡＣインターフェイス５１８を介したＡＤＣ回路５２０およびＤＡＣ回路５２２のコラム５１４へのアクセスを可能にする。より詳細に以下で説明するように、図５の素子は、単一のダイ、または図１４に示されるように単一の集積回路の複数のダイ上に設けられることができる。
【００４８】
集積回路上にＡＤＣを一体化するさまざまな実施例は、ＡＤＣの出力を処理する集積回路とは分離したＡＤＣを利用する従来の実現例に対して大きな利点をもたらす。例えば、医療用画像化のような高チャネルカウントアプリケーションにおいては、所与のチャネルが複数のデータ変換器を用いる場合、別個の入力によって１６個の利用可能なＡＤＣの各々を用いることができ、または、インターリーブを利用することによっていくつかのこれらのＡＤＣを組合わせることができる。例えば、無線アプリケーションのための２チャネル高サンプリングレートソリューションを実現するために、２つのチャネルの各々とともに複数のデータ変換器が用いられてもよい。ＡＤＣの時間インターリーブを利用することによって、モノリシックなソリューションと比較してより低いパワーのソリューションを実現することができる。また、個別のＡＤＣ回路と集積回路との間に外部インターフェイスを設ける必要性を無くすことによって、集積回路とは分離した個別のＡＤＣを有するソリューションと比較して、全体的なパワーを減少させることができる。
【００４９】
また、さまざまな実施例は、ＡＤＣおよびＤＡＣ回路の実装コストを減少させることができる。ＡＤＣ回路は、電圧または電流などのアナログ入力を、アナログ入力信号の大きさに比例するデジタル数字に変換する。ＡＤＣ回路の分解能は、入力値の範囲にわたってＡＤＣ回路が生成可能な離散値の数を表わす。例えば、１２ビットのＡＤＣ回路は、アナログ入力を２１２または４０９６のレベルのうちの１つに符号化することができる。さまざまな実施例において一例として１２ビットのＡＤＣ回路が記載されているが、変換器回路の分解能は、変換器回路の実装コストおよびデータ処理の必要性に基づいて選択されてもよい。
【００５０】
１２ビットのＡＤＣ回路などの適度な速度のＡＤＣ回路は、非常に小さな量のダイ面積しか消費しない高度なＣＭＯＳプロセス上で実現可能である。１６個以上のＡＤＣなどの多数のＡＤＣは、単一の高性能ＡＤＣインスタンス化よりも小さなダイ面積で実現され、組合わせられる／インターリーブされることができる。また、集積回路上にデータ変換器を実装することにより、集積回路を受けるプリント回路基板の複雑さを減少させることができる。さらに、さまざまな実施例は、デジタル的にアシストされた技術を適用して、高度なＣＭＯＳプロセスの「アナログ」パラメータに頼らない「アナログ」性能をもたらすことができる。多数の適度な性能のデータ変換器をＦＰＧＡのプログラム可能なリソースと一体化することにより、時間領域インターリーブを用いて低コスト、低パワーかつ柔軟なアナログフロントエンドを提供することができる。さまざまな実施例は、医療用画像化、無線通信、航空宇宙および防衛（Aerospace and Defense：Ａ＆Ｄ）、ならびに電力変換およびモータ制御などのさまざまな産業、科学および医療（Industrial, Scientific and Medical：ＩＳＭ）用途を可能にするように実現され得る。
【００５１】
ここで図６〜図８を参照して、さまざまな実施例に係る複数のアナログ・デジタル変換器回路を有する集積回路のブロック図が示される。図６の実施例に示されるように、１６個のＡＤＣ回路６０２が設けられ、各ＡＤＣ回路は、別個の入力／出力ポート６０４およびデジタル後処理回路６０６に結合される。図６の実施例は、ＡＤＣ変換器の性能が多数の入力／出力ポートへのデータ入力を処理するのに十分であるアプリケーションで実現されてもよい。しかし、より速いサンプリングレートを必要とするアプリケーションでは、複数のＡＤＣ回路をインターリーブする必要があるであろう。複数のＡＤＣ回路の時間インターリーブは、各ＡＤＣ回路ごとに異なる時間において入力データをサンプリングし、当該入力データの一部をさまざまなＡＤＣ回路にルーティングすることによって実現される。ＡＤＣ回路の時間インターリーブにより、存在するＡＤＣ回路のサンプリングレートの乗算が可能になる。すなわち、より速いサンプリングレートのＡＤＣ回路を実装するのではなく、より高い性能を有する単一のＡＤＣ回路と同一のサンプリングレートを可能にするように複数のＡＤＣ回路を時分割多重化することができる。
【００５２】
入力／出力ポートについて言及しているが、入力／出力ポートは、アナログ入力信号を受取る時などには専用の入力ポートであってもよく、または、アナログ出力信号を生成する時などには専用の出力ポートであってもよい、ということが理解されるべきである。すなわち、入力／出力ポートは信号を受取るおよび信号を伝送するように機能し得るが、所与の入力／出力ポートは、その入力／出力ポートの用途に応じて入力ポートまたは出力ポートのいずれかとして実現されてもよい。代替的には、入力／出力ポートと呼ばれるポートは、単に入力ポートとしてまたは出力ポートとして機能するように実現されてもよい。
【００５３】
図７の実施例によれば、ここでは一例として４個のＡＤＣ回路であるように示されているＡＤＣ回路のブロック７０２が実現される。４個のＡＤＣ回路はルーティングネットワーク７０４に結合される。図９を参照してより詳細に以下で説明するように、ルーティングネットワーク７０４は、デジタル後処理回路６０６によって処理されるように入力／出力ポート６０４へのアナログ入力信号を変換する際のさまざまなサンプリングレートを可能にする。すなわち、５０Ｍｓｐｓで動作するＡＤＣ回路などの適度な速度のＡＤＣ回路は、時間インターリーブを可能にするシステムにおいて実現されると、単一のＩ／Ｏポートに関連付けられるデータに対してより速いサンプリングレートを可能にする。図７の実施例によれば、図６の１６個の差動入力チャネルと比較して、わずか４個の差動入力チャネルを実現することができる。図８の実施例に示されるように、ＡＤＣ変換器のブロック８０２は８個のＡＤＣ変換器を備える。図８の実施例によれば、わずか２個の差動入力チャネルを実現することができるが、各チャネルはアナログ入力信号のより速いサンプリングレートを有するであろう。
【００５４】
ここで図９を参照して、実施例に係るプログラム可能な相互接続回路のブロック図が示される。プログラム可能な相互接続回路は、ＡＤＣインターフェイスとして、またはより特定的にはルーティングネットワーク７０４もしくは８０４として実現可能である。プログラム可能な相互接続回路９０１は、ルーティング回路９０２において入力Ｖ＋を受取る。ルーティング回路は、第１段にルータ９０４を含み、第２段にルータ９０６および９０８を含むルータの段を備え、当該ルータの段は、適切なマルチプレクサ出力ＡＩ０ｐ〜ＡＩ７ｐでのアナログ入力信号の生成を可能にする。ルータ９０４は、入力信号Ｖ＋をルータ９０６にルーティングすることができる第１のトランジスタ９１０と、入力信号Ｖ＋をルータ９０８にルーティングすることができる第２のトランジスタ９１２とを備える。ルータ９０６は、出力ＡＩ０ｐを生成するためのトランジスタ９１４と、出力ＡＩ１ｐを生成するためのトランジスタ９１６と、出力ＡＩ２ｐを生成するためのトランジスタ９１８と、出力ＡＩ３ｐを生成するためのトランジスタ９２０とを備える。同様に、ルータ９０８は、出力ＡＩ４ｐを生成するためのトランジスタ９２２と、出力ＡＩ５ｐを生成するためのトランジスタ９２４と、出力ＡＩ６ｐを生成するためのトランジスタ９２６と、出力ＡＩ７ｐを生成するためのトランジスタ９２８とを備える。第２のルーティング回路９３２は、入力Ｖ−を受取るように結合され、適切なルータ出力ＡＩ０ｎ〜ＡＩ７ｎにおいてアナログ入力信号を結合する点以外は、ルーティング回路９０２と同一である。差動入力を実現する場合、正の入力Ｖ＋および負の入力Ｖ−を受取るためにルーティング回路９０２およびルーティング回路９３２の両方の回路が用いられる。
【００５５】
制御回路９３４は、ルーティング回路９０２およびルーティング回路９３２に結合される。より詳細に以下で説明するように、制御回路は、Ａ０〜Ａ５のための適切な制御信号を生成して、入力信号を適切な１つ以上のＡＤＣ回路に結合する。
【００５６】
例えば図７の実施例を実現する場合、ルーティング回路は、ブロック７０２に示される４個のＡＤＣ回路に入力Ｖ＋およびＶ−をルーティングするであろう。すなわち、出力ＡＩ０ｐ〜ＡＩ３ｐおよびＡＩ０ｎ〜ＡＩ３ｎのみが必要とされる。これに対して、図８の実施例を実現する場合、ルーティング回路は、ブロック８０２に示される８個のＡＤＣ回路に入力Ｖ＋およびＶ−をルーティングし、全ての出力ＡＩ０ｐ〜ＡＩ７ｐおよびＡＩ０ｎ〜ＡＩ７ｎが必要とされる。したがって、ここでは差動データＶ＋およびＶ−として示されているアナログ入力信号は、制御信号Ｄ５〜Ｄ０に応答して、ＡＤＣ回路に選択的にルーティングされる。図９のルーティングネットワークは一例として示されているが、プログラム可能な相互接続回路の他の構成が利用されてもよいということが理解されるべきである。さらに、回路ブロック内でのデータの通信を可能にするためのプログラム可能な相互接続回路の構成は異なっていてもよいということは明らかであるべきである。
【００５７】
ここで図１０を参照して、実施例に係るデータの通信を可能にする集積回路のブロック図が示される。図１０のブロック図は、８個のＡＤＣ回路６０２が単一の入力／出力ポート６０４に結合される図８の実施例のより詳細な例を示している。すなわち、ルーティングネットワーク８０４は、入力／出力ポート６０４におけるアナログ入力信号をブロック８０２の８個のＡＤＣ回路６０２の各々に結合することができる。クロック発生器１００２は複数のクロック信号を発生させ、当該複数のクロック信号は、入力／出力ポート６０４に結合されるアナログ入力信号をさまざまな時間においてサンプリングすることができるようにし、したがって信号のサンプリングレートを増大させる。より詳細に以下で説明するように、アナログ入力信号のサンプリングレートは、１００ＭｓｐｓのＡＤＣ回路のみを用いて８００Ｍｓｐｓを生成するように８倍に増大させることができる。クロック発生器１００２は、入力クロック信号ＣＬＫを受取って、異なる位相を有する合計８個のクロック信号について７個の位相シフトクロック信号を発生させる多相クロック回路を備え得る。位相シフトクロック信号は、例えばＣＬＫ信号の４５°、９０°、１３５°、１８０°、２２５°、２７０°および３１５°の位相であり得る。図７の例のようにわずか４個の位相シフトクロック信号が必要とされる場合には、ＣＬＫ（または０°の位相）ならびに９０°、１８０°および２７０°の位相を用いることができる。図１６を参照してより詳細に以下で説明するように、ＡＤＣ６０２は適切な時間に入力信号をサンプリングする。
【００５８】
破線のボックス１００４に示されるように、８個のＡＤＣ６０２のうちの１つによって出力されたデジタルデータに対応する、サンプリングされたアナログ入力信号の部分が示されている。破線のボックス１００４に見られるように、第１のＡＤＣ６０２の出力は、アナログ入力信号の第１および第９のサンプルに対応し、第２のＡＤＣ６０２の出力は、アナログ入力信号の第２および第１０のサンプルに対応する、などである。ＡＤＣ回路６０２の出力はインターフェイス回路１００６に与えられる。図１２および図１７を参照してより詳細に説明するように、インターフェイス回路１００６は、ＡＤＣ６０２から例えばＦＰＧＡのプログラム可能なリソースなどのプログラム可能なリソース１００８への出力信号のルーティングを可能にする。プログラム可能なリソース１００８が例えば１００Ｍｓｐｓでデータを処理することができるだけでよいので、プログラム可能なリソースは、ＡＤＣ回路によって出力された９６ビットのデジタルデータを用いて１００Ｍｓｐｓでデータを処理するであろう。ルーティングネットワーク８０４は例えばＡＤＣ／ＤＡＣインターフェイス５０４などのように集積回路の一部として実現されてもよいが、ルーティングネットワークの機能は、例えば集積回路を受けるプリント回路基板の一部として、集積回路とは分離して実現されてもよい。すなわち、アナログ入力信号は、複数のＡＤＣ回路の各々の入力にプリント回路基板を接続することによってルーティングされることができ、ＡＤＣ回路は上記のアナログ入力信号をサンプリングする。
【００５９】
ここで図１１を参照して、代替的な実施例に係る集積回路へのデータの通信を可能にする集積回路のブロック図が示される。図１１の実施例によれば、サンプラ１１０２が設けられる。図１０を参照して上記したサンプリングをＡＤＣ回路に実行させるのではなく、サンプラ１１０２は、ルーティングネットワーク８０４とともにアナログ信号の一部を適切なＡＤＣ変換器６０２に与える高速サンプラを備える。したがって、アナログ入力信号を受けてＡＤＣ回路によるサンプリングを可能にする一群のＡＤＣ回路のＡＤＣ回路６０２の各々にアナログ入力信号をルーティングするのではなく、サンプラ１１０２およびルーティングネットワーク８０４は、選択されたＡＤＣ回路６０２にアナログ入力信号のサンプルをルーティングすることを可能にする。すなわち、クロック発生器がアナログ入力信号を周期的にサンプリングする一方で、ルーティングネットワーク８０４が異なるＡＤＣ回路へのサンプリングされた信号のルーティングを周期的に変化させる。例えば、制御回路９３４は、クロック発生器が発生させた高速クロック信号に応答して、入力信号を単一のＡＤＣ回路６０２にルーティングし、アナログ入力信号のサンプルを受取るＡＤＣ回路は周期的に変化する。サンプラ１１０２およびルーティングネットワーク８０４は各々が集積回路の一部であってもよいことが理解されるべきである。代替的に、サンプラ１１０２、または、サンプラ１１０２およびルーティングネットワーク８０４の両方が、ＡＤＣ回路６０２およびプログラム可能なリソース１００８を実装する集積回路とは分離していてもよい。
【００６０】
ここで図１２を参照して、実施例に係るインターフェイス回路１００６のブロック図が示される。インターフェイス回路は、ＤＩｘによって示されるさまざまな入力を、ＤＯｘによって示されるさまざまな出力に結合することができるようにプログラム可能なルーティングマトリックスを備える。一実施例によれば、入力信号ＤＩｘはＡＤＣ６０２の出力であり得て、出力ＤＯｘは例えばＦＰＧＡのプログラム可能なリソースへの入力であり得る。特に、インターフェイス回路１００６は、マルチプレクサ回路１２０２と、バッファ回路１２０４と、デマルチプレクサ１２０６とを備えていてもよい。
【００６１】
多重化回路１２０２はマルチプレクサの段を備え、第１段にマルチプレクサ１２０８および１２１０を含み、第２段にマルチプレクサ１２１２を含む。示されているマルチプレクサ回路１２０２は、出力バッファ１２０４に結合されるように選択され得る８個のデジタル入力信号ＤＩ０〜ＤＩ７を受取る。マルチプレクサ１２０８は、入力ＤＩ０を受取るためのトランジスタ１２１４と、入力ＤＩ１を受取るためのトランジスタ１２１６と、入力ＤＩ２を受取るためのトランジスタ１２１８と、入力ＤＩ３を受取るためのトランジスタ１２２０とを備える。同様に、マルチプレクサ１２１０は、入力ＤＩ４を受取るためのトランジスタ１２２２と、入力ＤＩ５を受取るためのトランジスタ１２２４と、入力ＤＩ６を受取るためのトランジスタ１２２６と、入力ＤＩ７を受取るためのトランジスタ１２２８とを備える。マルチプレクサ１２１２は、マルチプレクサ１２０８の出力をルーティングすることができる第１のトランジスタ１２３０と、マルチプレクサ１２１０の出力をルーティングすることができる第２のトランジスタ１２３２とを備える。
【００６２】
出力バッファ１２０４は、インバータ１２３４とインバータ１２３６とを備える。トランジスタ１２３８は、そのゲートがインバータ１２３４の出力に結合され、そのソースがインバータ１２３６の出力に結合される。出力バッファ回路１２０４は、多重化回路１２０２への選択された入力を受取り、デマルチプレクサ回路１２０６に結合される出力を生成する。
【００６３】
デマルチプレクサ１２０６はデマルチプレクサの段を備え、第１段にデマルチプレクサ１２４０を含み、第２段にデマルチプレクサ１２４２および１２４４を含む。デマルチプレクサ回路１２４０は、その入力でバッファ回路１２０４の出力を受取り、トランジスタ１２４６および１２４８を用いて出力を生成する。マルチプレクサ１２４２は、出力ＤＯ０を生成するためのトランジスタ１２５０と、出力ＤＯ１を生成するためのトランジスタ１２５２と、出力ＤＯ２を生成するためのトランジスタ１２５４と、出力ＤＯ３を生成するためのトランジスタ１２５８とを備える。同様に、マルチプレクサ１２４４は、出力ＤＯ４を生成するためのトランジスタ１２５８と、出力ＤＯ５を生成するためのトランジスタ１２６０と、出力ＤＯ６を生成するためのトランジスタ１２６２と、出力ＤＯ７を生成するためのトランジスタ１２６４とを備える。
【００６４】
制御回路１２３４も、適切な制御信号Ｄ０〜Ｄ１１を生成して、適切な入力データを適切なデータ出力に結合する。制御回路は、コンフィギュレーションデータを格納するためのメモリ素子を備えていてもよい。したがって、集積回路を構成する際に、ＡＤＣは例えば図６〜図８に例えば示されるようにユーザが望む通りに構成されてもよい。
【００６５】
ここで図１３を参照して、実施例に係る集積回路からのデータの通信を可能にする集積回路のブロック図が示される。集積回路上での複数のＡＤＣ回路の実装について記載している図５〜図１１の実施例と同様に、図１３〜図１５は、集積回路上での複数のＤＡＣ回路の実装について記載する。特に、クロック発生器１３０４に結合されたブロック１３０２は、複数のＤＡＣ回路１３０６を備える。ＤＡＣ回路１３０６は、プログラム可能なインターフェイス回路１３０８を介して集積回路のプログラム可能なリソース１００８または他の回路から入力を受取るように結合される。より詳細に以下で説明するように、インターフェイス回路は、集積回路のさまざまなダイ間での信号のルーティングを可能にするプログラム可能なインターフェイス回路であってもよい。プログラム可能なインターフェイス回路１３１２を介してＤＡＣ回路の出力を受けて、１つ以上のアナログ出力信号１３１４を生成するように、加算回路１３１０も結合される。ＤＡＣ回路の実装によっては、プログラム可能なインターフェイス回路１３１２は、図１４および図１５を参照してより詳細に説明するように、さまざまなＤＡＣの出力の加算を可能にする。プログラム可能なインターフェイス回路１３０８および１３１２は、例えば図１２に示されるものなどのインターフェイス回路を用いて実現されてもよい。
【００６６】
ここで図１４を参照して、実施例に係る構成を有する集積回路からのデータの通信を可能にする集積回路のブロック図が示される。加算回路１３１０は、ＤＡＣ回路１３０６の出力を受取るための加算器１４０２を備える。プログラム可能なインターフェイス回路１３１２は、選択された加算器回路へのＤＡＣの出力のルーティングを可能にする。図１４の実施例によれば、全てのＤＡＣ１３０６の出力は加算器回路１４０２にルーティングされる。図１５の実施例によれば、ブロック１３０２はＤＡＣの第１の群１５０２とＤＡＣの第２の群１５０４とを備え、加算回路１３１０は第２の加算器１５０６を備える。ＤＡＣの第１の群１５０２の出力は加算器１４０２にルーティングされるのに対して、ＤＡＣの第２の群１５０４の出力は加算器１５０６にルーティングされる。すなわち、プログラム可能なインターフェイス回路１３１２は、ＤＡＣの出力を適切な加算器にルーティングするように構成される。図１３〜図１５の素子は全て単一の集積回路上にあり得るが、プログラム可能なインターフェイス回路１３１２および加算回路１３１０は、例えばプリント回路基板上にあるなどのように、ＤＡＣを有する集積回路とは分離していてもよい。
【００６７】
ここで図１６を参照して、ＡＤＣ回路のブロック図が示される。ＡＤＣ回路は、基準電圧発生器１６０４に結合されたアナログ・デジタル回路１６０２を備える。また、アナログ・デジタル回路１６０２は、差動入力Ｖ＋およびＶ−を受取る増幅器１６０６の出力を受取るように結合される。アナログ・デジタル変換器１６０２および増幅器１６０６を制御するようにクロック回路１６０８および制御回路１６１０が結合される。クロック回路１６０８および制御回路１６１０は、図１０の実施例に係るアナログ入力信号のサンプリングを可能にする。アナログ・デジタル変換器１６０２の出力は、出力ＤＰ［１１：０］およびＤＮ［１１：０］を生成するエラー修正回路１６１２に与えられる。ＡＤＣ回路は、アナログ入力信号に関連付けられるマルチビット出力を生成する。例えば、ＡＤＣ回路は、サンプリングされたアナログ値に関連付けられる１２ビット出力を生成してもよい。ＡＤＣ回路の分解能は、出力の分解能に影響を及ぼし、所望のごとく選択されてもよい。１２ビット出力が示されているが、異なる数のビットを生成するアナログ・デジタル変換器が実現されてもよいことが理解されるべきである。さらに、図１６のＡＤＣ変換器回路のブロック図は一例として示されており、さまざまな実施例に従って他のＡＤＣ変換器回路が実現されてもよい。
【００６８】
ここで図１７を参照して、実施例に係るマルチチップ集積回路のブロック図が示される。図１７の実施例によれば、プリント回路基板などの回路基板１７０２は、マルチダイ集積回路１７０４を受けるように構成される。マルチダイ集積回路１７０４は、インターポーザ回路１７０８を受けるように結合された基板１７０６を備える。インターポーザ１７０８は、ＡＤＣおよびＤＡＣ回路を有するＦＰＧＡチップ１７１０ならびにデータ変換器チップ１７１２などの複数の集積回路チップまたはダイを基板１７０６に結合できるようにする。インターポーザ回路１７０８は、インターフェイス回路１００６について記載している図１２に示されるように実現され得る。はんだボール１７１４は、貫通シリコンビア（ＴＳＶ）などのさまざまな相互接続１７１６を介してさまざまなチップからの信号を回路基板１７０２にイネーブル結合できるようにする。相互接続１７１８も、マルチダイ集積回路のさまざまなチップ間の信号のルーティングを可能にする。インターポーザ回路１７０８は、ＦＰＧＡチップとデータ変換器チップとの間またはチップのうちの１つと基板１７０６との間での信号のルーティングを可能にする相互接続素子を備えるさまざまな金属層を有するシリコン基板であってもよい。しかし、インターポーザ回路は、示されるように、信号のルーティングを可能にする導電性素子を有する任意の材料であり得る。ＦＰＧＡチップ１７１０およびデータ変換器チップ１７１２の全ての回路は単一のダイ上に実装され得るが、図１７の実施例は、ＦＰＧＡチップ１７１０およびデータ変換器チップ１７１２のさまざまな回路をより効率的に実装することができる。例えば、特定の寸法のトランジスタを形成するプロセスなどの１つのプロセスに従って製造された集積回路チップに効率的に実装され得る回路もあれば、別のプロセスに従って製造された集積回路チップに効率的に実装され得る回路もある。
【００６９】
ここで図１８を参照して、フローチャートは、実施例に係る集積回路とデータを通信する方法を示す。ステップ１８０２において、入力／出力ポートとともに実装されるべき予め定められた数のアナログ・デジタル回路が、入力／出力ポートで受取られたデータを処理するために選択されたデータ速度に基づいて選択される。ステップ１８０４において、データを処理するための回路を集積回路に実装できるようにプログラム可能な相互接続を構成するためのコンフィギュレーションデータが生成される。ステップ１８０６において、プログラム可能な相互接続回路を構成するためのコンフィギュレーションデータが集積回路において受取られる。ステップ１８０８において、入力／出力ポートから予め定められた数のアナログ・デジタル回路へのデータのルーティングを可能にするように、プログラム可能な相互接続が構成される。ステップ１８１０において、複数のアナログ・デジタル変換器回路で受取られたデータがクロック発生器を用いてサンプリングされる。ステップ１８１２において、複数のアナログ・デジタル変換器回路を用いて、データがアナログデータからデジタルデータに変換される。ステップ１８１４において、データが処理される。
【００７０】
ここで図１９を参照して、フローチャートは、代替的な実施例に係る集積回路とデータを通信する方法を示す。ステップ１９０２において、集積回路に実装されるべき予め定められた数のデジタル・アナログ回路が選択される。ステップ１９０４において、データを処理する回路を集積回路に実装できるようにプログラム可能な相互接続回路を構成するためのコンフィギュレーションデータが生成される。ステップ１９０６において、プログラム可能な相互接続回路を構成するためのコンフィギュレーションデータが集積回路において受取られる。ステップ１９０８において、予め定められた数のデジタル・アナログ回路から１つ以上の加算器へのデータのルーティングを可能にするように、プログラム可能な相互接続回路が構成される。ステップ１９１０において、予め定められた数のデジタル・アナログ回路の出力におけるデータが１つ以上の加算器に結合される。次いで、ステップ１９１２において、１つ以上の加算器からの合計データが出力される。図１８〜図１９の方法は、上記の図１〜図１７の回路または他の好適な回路を用いて実現可能である。図１８〜図１９の方法の特定の要素が示されているが、示されている要素に関連するさらなる要素またはさらなる詳細については図１〜図１７に記載されていることが理解されるべきである。
【００７１】
したがって、集積回路とデータを通信する新たな斬新な方法について説明してきたということが理解できる。開示されている発明を組み入れる多数の代替例および等価の例が存在するということが当業者によって理解される。その結果、本発明は、上記の実施例ではなく以下の特許請求の範囲によってのみ限定される。
【図２】
0005722504.tif 000002
【図１】
0005722504.tif 000003
【図３】
0005722504.tif 000004
【図４】
0005722504.tif 000005
【図５】
0005722504.tif 000006
【図６】
0005722504.tif 000007
【図７】
0005722504.tif 000008
【図８】
0005722504.tif 000009
【図９】
0005722504.tif 000010
【図１０】
0005722504.tif 000011
【図１１】
0005722504.tif 000012
【図１２】
0005722504.tif 000013
【図１３】
0005722504.tif 000014
【図１４】
0005722504.tif 000015
【図１５】
0005722504.tif 000016
【図１６】
0005722504.tif 000017
【図１７】
0005722504.tif 000018
【図１８】
0005722504.tif 000019
【図１９】
0005722504.tif 000020