特許第5722504号(P5722504)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ザイリンクス インコーポレイテッドの特許一覧

特許5722504データの通信を可能にする集積回路および集積回路内でデータを通信する方法
<>
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000002
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000003
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000004
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000005
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000006
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000007
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000008
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000009
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000010
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000011
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000012
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000013
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000014
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000015
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000016
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000017
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000018
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000019
  • 特許5722504-データの通信を可能にする集積回路および集積回路内でデータを通信する方法 図000020
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5722504
(24)【登録日】2015年4月3日
(45)【発行日】2015年5月20日
(54)【発明の名称】データの通信を可能にする集積回路および集積回路内でデータを通信する方法
(51)【国際特許分類】
   H03K 19/173 20060101AFI20150430BHJP
   H03M 1/12 20060101ALI20150430BHJP
【FI】
   H03K19/173 101
   H03M1/12 C
【請求項の数】14
【全頁数】31
(21)【出願番号】特願2014-521613(P2014-521613)
(86)(22)【出願日】2012年3月30日
(65)【公表番号】特表2014-521279(P2014-521279A)
(43)【公表日】2014年8月25日
(86)【国際出願番号】US2012031656
(87)【国際公開番号】WO2013012462
(87)【国際公開日】20130124
【審査請求日】2015年1月16日
(31)【優先権主張番号】13/186,415
(32)【優先日】2011年7月19日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】591025439
【氏名又は名称】ザイリンクス インコーポレイテッド
【氏名又は名称原語表記】XILINX INCORPORATED
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】コリンズ,アンソニー・ジェイ
【審査官】 柳下 勝幸
(56)【参考文献】
【文献】 特開2004−201026(JP,A)
【文献】 国際公開第2010/101891(WO,A1)
【文献】 特開2009−290885(JP,A)
(57)【特許請求の範囲】
【請求項1】
データの通信を可能にする集積回路であって、
複数の入力/出力ポートと、
対応する入力/出力ポートで受取られた入力信号をサンプリングするように構成されたデータ変換器回路のブロックを有する複数のデータ変換器回路と、
前記複数の入力/出力ポートと前記データ変換器回路のブロックとの間に結合され、データ変換器回路のブロックと前記集積回路の前記対応する入力/出力ポートとの接続を可能にするプログラム可能な相互接続回路と
前記データ変換器回路のブロックに結合されたクロック発生器とを備え
前記データ変換器回路のブロックの各々のデータ変換器回路は、増大したサンプリングレートで前記入力/出力ポートにおいてデータをサンプリングするように前記クロック発生器から異なるクロック信号を受取る、集積回路。
【請求項2】
前記入力/出力ポートは、差動アナログ入力信号を受取る入力/出力ピンの対を備える、請求項1に記載の集積回路。
【請求項3】
前記複数のデータ変換器回路は、マルチダイ集積回路のプログラム可能なリソースを有する第2のダイとは分離した前記マルチダイ集積回路の第1のダイ上にある、請求項1または2に記載の集積回路。
【請求項4】
インターポーザをさらに備え、
前記第1のダイおよび前記第2のダイは前記インターポーザ上にあり、
前記インターポーザは前記第1のダイと前記第2のダイとの間でのデータの通信を可能にする、請求項に記載の集積回路。
【請求項5】
前記複数のデータ変換器回路は、複数のデジタル・アナログ変換器回路を備える、請求項1からのいずれか1項に記載の集積回路。
【請求項6】
前記複数のデジタル・アナログ変換器回路の出力に基づいてアナログ出力信号を生成するための加算回路をさらに備える、請求項に記載の集積回路。
【請求項7】
前記入力/出力ポート、前記複数のデータ変換器回路およびプログラム可能なリソースは、前記集積回路の単一のダイ上にある、請求項1または2に記載の集積回路。
【請求項8】
前記複数のデータ変換器回路のうちの2つ以上は、前記対応する入力/出力ポートに結合される前記データ変換器回路のブロックを形成するように時間領域インターリーブされ、
前記クロック発生器は、複数の位相シフトクロック信号を発生させ、
前記データ変換器回路のブロックは、前記複数の位相シフトクロック信号の際に前記対応する入力/出力ポートで受取られた前記入力信号をサンプリングする、請求項1からのいずれか1項に記載の集積回路。
【請求項9】
集積回路とデータを通信する方法であって、
前記集積回路にデータ変換器回路のブロックを有する複数のデータ変換器回路を実装するステップと、
データ変換器回路のブロックの各々のデータ変換器回路と入力/出力ポートとの接続を可能にするように前記集積回路の前記入力/出力ポートと前記集積回路の前記データ変換器回路のブロックとの間に結合されたプログラム可能な相互接続回路をプログラムするステップと、
クロック発生器を前記データ変換器回路のブロックに結合するステップとを備え、
前記データ変換器回路のブロックの各々のデータ変換器回路は、前記入力/出力ポートにおいてデータをサンプリングするように異なるクロック信号を受取り、
前記方法はさらに、
前記入力/出力ポートで受取られた入力信号を、増大したサンプリングレートで、記データ変換器回路のブロックによってサンプリングするステップを備える、方法。
【請求項10】
前記増大したサンプリングレートに基づいて、予め定められた数のデータ変換器回路を前記データ変換器回路のブロックのために選択するステップをさらに備える、請求項に記載の方法。
【請求項11】
前記入力信号を前記データ変換器回路のブロックによってサンプリングするステップは、前記入力/出力ポートで受取られた前記入力信号の時間領域インターリーブを可能にするステップを備える、請求項または10に記載の方法。
【請求項12】
前記入力/出力ポートで受取られた前記入力信号を前記データ変換器回路のブロックによってサンプリングするステップは、前記入力信号を前記データ変換器回路のブロックの各々のデータ変換器回路に結合するステップを備える、請求項または10に記載の方法。
【請求項13】
前記入力/出力ポートで受取られた前記入力信号を前記データ変換器回路のブロックによってサンプリングするステップは、前記入力信号のサンプルを前記データ変換器回路のブロックの選択されたデータ変換器回路に周期的に結合するステップを備える、請求項または10に記載の方法。
【請求項14】
前記入力信号を前記データ変換器回路のブロックによってサンプリングするステップは、
前記入力/出力ポートに結合される前記データ変換器回路のブロックを形成するように前記複数のデータ変換器回路のうちの2つ以上を時間領域インターリーブするステップと、
複数の位相シフトクロック信号を発生させるステップと、
記複数の位相シフトクロック信号の際に前記入力/出力ポートで受取られた前記入力信号を前記データ変換器回路のブロックによってサンプリングするステップとを備える、請求項または10に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
実施例は、一般に集積回路デバイスに関し、特に集積回路内でのデータの通信を可能にする方法に関する。
【背景技術】
【0002】
背景
データは、さまざまなフォーマットで、種々のデータ通信プロトコルに従ってシステム内で通信され得る。例えば、データはアナログデータとして伝送されてもよい。アナログデータは、時間的に変化する特性を有する連続信号であり、当該信号に乗せて伝送される情報を表わす。これに対して、デジタルデータは離散的要素として送られるデータであり、当該離散的要素の値が、伝送される情報を表わす。アナログ信号は、情報を伝えるようにアナログ信号が通過する媒体の特性を用いる。アナログ信号は、データを容易に伝送できるが、多くの場合アナログ・デジタル変換器によってデジタル信号に変換されて集積回路の回路によって処理される。アナログ・デジタル変換の1つの一般的な例は、アナログオーディオ信号の、デジタルフォーマットで格納され得るデジタル表現への変換である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかし、データ変換の要件はアプリケーションによって異なるであろう。アナログ入力信号から生成されるデジタル信号を必要とするいくつかのアプリケーションは、他のアプリケーションよりも速いデータ速度を必要とし得る。例えば、無線データ伝送は、例えばメガサンプル/秒(Mega samples per second:MSPS)で表わされるあるデータ速度でのデータの伝送を必要とし得る。医療用画像化アプリケーションなどの別のアプリケーションは、より速いデータ速度を必要とし得る。したがって、所与の入力信号に対して、複数のアナログ・デジタル変換器が必要であろう。しかし、アナログ・デジタル変換器の実装は重大な課題を招く可能性がある。
【課題を解決するための手段】
【0004】
発明の概要
データの通信を可能にする集積回路の実施例は、入力/出力ポートと、当該入力/出力ポートで受取られた入力信号をサンプリングするように構成された複数のデータ変換器回路と、当該入力/出力ポートと当該複数のデータ変換器回路との間に結合され、当該集積回路の当該入力/出力ポートへの当該複数のデータ変換器回路の接続を可能にするプログラム可能な相互接続回路とを備え得る。
【0005】
いくつかの実施例においては、当該入力/出力ポートは、差動アナログ入力信号を受取る入力/出力ピンの対を備え得る。
【0006】
いくつかの実施例においては、当該集積回路は、当該複数のデータ変換器回路に結合されたクロック発生器をさらに備え得て、当該複数のデータ変換器の各々のデータ変換器は異なるクロック信号を受取る。
【0007】
いくつかの実施例においては、当該複数のデータ変換器回路は、マルチダイ集積回路のプログラム可能なリソースを有する第2のダイとは分離した当該マルチダイ集積回路の第1のダイ上にあり得る。
【0008】
いくつかの実施例においては、当該集積回路は、当該第1のダイおよび当該第2のダイを受けるように結合された相互接続回路をさらに備え得て、当該相互接続回路は、当該第1のダイと当該第2のダイとの間でのデータの通信を可能にする。
【0009】
いくつかの実施例においては、当該複数のデータ変換器回路は、複数のデジタル・アナログ変換器回路を備え得る。
【0010】
いくつかの実施例においては、当該集積回路は、当該複数のデジタル・アナログ変換器回路の出力に基づいてアナログ出力信号を生成するための加算回路をさらに備え得る。
【0011】
いくつかの実施例においては、当該入力/出力ポート、当該複数のデータ変換器回路およびプログラム可能なリソースは、当該集積回路の単一のダイ上にあり得る。
【0012】
いくつかの実施例においては、当該複数のデータ変換器回路のうちの2つ以上は、当該入力/出力ポートに結合されるデータ変換器回路のブロックを形成するように時間領域インターリーブされ得て、当該集積回路は、複数の位相シフトクロック信号を発生させるクロック発生器をさらに備え、当該データ変換器回路のブロックは、サンプリングレートを増大させるために、当該複数の位相シフトクロック信号の際に当該入力/出力ポートで受取られた当該入力信号をサンプリングする。
【0013】
集積回路とデータを通信する方法の実施例は、当該集積回路に複数のデータ変換器回路を実装するステップと、当該集積回路の入力/出力ポートと当該集積回路の当該複数のデータ変換器回路との間に結合されたプログラム可能な相互接続回路をプログラムするステップと、当該入力/出力ポートで受取られた入力信号を当該複数のデータ変換器回路によってサンプリングするステップとを備え得る。
【0014】
いくつかの実施例においては、当該方法は、選択されたサンプリングレートに基づいて、予め定められた数の当該複数のデータ変換器回路を選択するステップをさらに備え得る。
【0015】
いくつかの実施例においては、当該入力信号を当該複数のデータ変換器回路によってサンプリングするステップは、当該入力/出力ポートで受取られた当該入力信号の時間領域インターリーブを可能にするステップを備え得る。
【0016】
いくつかの実施例においては、当該入力/出力ポートで受取られた当該入力信号を当該複数のデータ変換器回路によってサンプリングするステップは、当該入力信号を当該複数のデータ変換器回路の各々のデータ変換器回路に結合するステップを備え得る。
【0017】
いくつかの実施例においては、当該入力/出力ポートで受取られた当該入力信号を当該複数のデータ変換器回路によってサンプリングするステップは、当該入力信号のサンプルを当該複数のデータ変換器回路の選択されたデータ変換器回路に周期的に結合するステップを備え得る。
【0018】
いくつかの実施例においては、当該入力信号を当該複数のデータ変換器回路によってサンプリングするステップは、当該入力/出力ポートに結合されるデータ変換器回路のブロックを形成するように当該複数のデータ変換器回路のうちの2つ以上を時間領域インターリーブするステップと、複数の位相シフトクロック信号を発生させるステップと、サンプリングレートを増大させるために、当該複数の位相シフトクロック信号の際に当該入力/出力ポートで受取られた当該入力信号を当該データ変換器回路のブロックによってサンプリングするステップとを備え得る。
【0019】
データの通信を可能にする集積回路の別の実施例は、入力/出力ポートと、複数のアナログ・デジタル変換器回路と、当該入力/出力ポートと当該複数のアナログ・デジタル変換器回路の入力との間に結合されたアナログ・デジタル変換器インターフェイス回路と、当該入力/出力ポートで受取られたアナログ入力信号を当該複数のアナログ・デジタル変換器回路がサンプリングできるようにするクロック発生器とを備え得る。
【0020】
いくつかの実施例においては、当該アナログ・デジタル変換器インターフェイス回路は、当該集積回路の当該入力/出力ポートへの当該複数のアナログ・デジタル変換器回路の接続を可能にするプログラム可能な相互接続回路を備え得る。
【0021】
いくつかの実施例においては、当該クロック発生器は、基準クロック信号を受取って複数の位相シフトクロック信号を発生させるように結合され得る。
【0022】
いくつかの実施例においては、当該集積回路はマルチダイ集積回路であり得て、当該複数のアナログ・デジタル変換器回路は、当該マルチダイ集積回路のプログラム可能なリソースを有する第2のダイとは分離した当該マルチダイ集積回路の第1のダイ上にある。
【0023】
いくつかの実施例においては、当該集積回路は、当該第1のダイおよび当該第2のダイを受けるように結合された相互接続回路をさらに備え得て、当該相互接続回路は、当該第1のダイと当該第2のダイとの間でのデータの通信を可能にする。
【0024】
いくつかの実施例においては、当該アナログ・デジタル変換器インターフェイス回路は、当該入力/出力ポートで受取られたアナログ入力信号を当該複数のアナログ・デジタル変換器回路の各々のアナログ・デジタル変換器回路にルーティングすることを可能にし得る。
【0025】
いくつかの実施例においては、当該集積回路は、アナログ入力信号を受取るように結合されたサンプラをさらに備え得て、当該アナログ入力信号のサンプルは、当該アナログ・デジタル変換器インターフェイス回路を介して、選択されたアナログ・デジタル変換器回路に結合される。
【0026】
集積回路とデータを通信する方法の別の実施例は、当該集積回路に複数のアナログ・デジタル変換器回路を実装するステップと、アナログ入力信号を当該集積回路に結合するステップと、当該入力/出力ポートで受取られた当該アナログ入力信号を当該複数のアナログ・デジタル変換器回路によってサンプリングするステップとを備え得る。
【0027】
いくつかの実施例においては、当該方法は、当該集積回路の当該入力/出力ポートと当該集積回路の当該複数のアナログ・デジタル変換器回路との間に結合されたプログラム可能な相互接続回路を構成するステップをさらに備え得る。
【0028】
いくつかの実施例においては、当該方法は、選択されたサンプリングレートに基づいて、予め定められた数のアナログ・デジタル回路を選択するステップをさらに備え得る。
【0029】
いくつかの実施例においては、当該アナログ入力信号を当該複数のアナログ・デジタル変換器回路によってサンプリングするステップは、当該入力/出力ポートで受取られた当該アナログ入力信号の時間領域インターリーブを可能にするステップを備え得る。
【0030】
いくつかの実施例においては、当該入力/出力ポートで受取られた当該アナログ入力信号を当該複数のアナログ・デジタル変換器回路によってサンプリングするステップは、当該アナログ入力信号を当該複数のアナログ・デジタル変換器回路の各々のアナログ・デジタル変換器回路に結合するステップを備え得る。
【0031】
いくつかの実施例においては、当該入力/出力ポートで受取られた当該アナログ入力信号を当該複数のアナログ・デジタル変換器回路によってサンプリングするステップは、当該アナログ入力信号のサンプルを当該複数のアナログ・デジタル変換器回路の選択されたアナログ・デジタル変換器回路に周期的に結合するステップを備え得る。
【図面の簡単な説明】
【0032】
図1】実施例に係るプログラム可能なリソースを有するプログラム可能な集積回路デバイスのブロック図である。
図2】実施例に係るコンフィギュラブル論理素子のブロック図である。
図3】実施例に係るプログラム可能なリソースを有するデバイスをプログラムするためのシステムのブロック図である。
図4】実施例に係るプログラム可能なリソースを構成するための素子を有する集積回路のブロック図である。
図5】実施例に係るデータの通信を可能にする集積回路のブロック図である。
図6】実施例に係る複数のアナログ・デジタル変換器回路を有する集積回路のブロック図である。
図7】実施例に係る入力/出力ポートに関連付けられる複数のアナログ・デジタル変換器回路を有する集積回路のブロック図である。
図8】代替的な実施例に係る入力/出力ポートに関連付けられる複数のアナログ・デジタル変換器回路を有する集積回路のブロック図である。
図9】実施例に係るプログラム可能な相互接続回路のブロック図である。
図10】実施例に係る集積回路へのデータの通信を可能にする集積回路のブロック図である。
図11】代替的な実施例に係る集積回路へのデータの通信を可能にする集積回路のブロック図である。
図12】実施例に係る集積回路のブロック図である。
図13】実施例に係る集積回路からのデータの通信を可能にする集積回路のブロック図である。
図14】実施例に係る構成を有する集積回路からのデータの通信を可能にする集積回路のブロック図である。
図15】代替的な実施例に係る構成を有する集積回路からのデータの通信を可能にする集積回路のブロック図である。
図16】実施例に係るアナログ・デジタル回路のブロック図である。
図17】実施例に係るマルチチップ集積回路のブロック図である。
図18】実施例に係る集積回路内でデータを通信する方法を示すフローチャートである。
図19】代替的な実施例に係る集積回路内でデータを通信する方法を示すフローチャートである。
【発明を実施するための形態】
【0033】
図面の詳細な説明
まず図1を参照して、実施例に係るプログラム可能なリソースを有するプログラム可能な集積回路デバイスのブロック図が示される。プログラム可能なリソースを有するデバイスは、プログラム可能なリソースを有する特定用途向け集積回路(application specific integrated circuit:ASIC)などの任意のタイプの集積回路デバイスで実現されてもよいが、他のデバイスは、専用のプログラム可能論理デバイス(programmable logic device:PLD)を備える。PLDの1つのタイプとして結合プログラム可能論理デバイス(Complex Programmable Logic Device:CPLD)がある。CPLDは、ともに接続され、かつ、相互接続スイッチマトリックスによって入力/出力(I/O)リソースに接続される2つ以上の「機能ブロック」を含む。CPLDの各機能ブロックは、プログラム可能論理アレイ(Programmable Logic Array:PLA)またはプログラム可能アレイ論理(Programmable Array Logic:PAL)デバイスにおいて用いられるものと類似した2レベルAND/OR構造を含む。PLDの別のタイプとしてフィールド・プログラマブル・ゲート・アレイ(field programmable gate array:FPGA)がある。典型的なFPGAにおいては、コンフィギュラブルな論理ブロック(configurable logic block:CLB)のアレイがプログラム可能な入力/出力ブロック(input/output block:IOB)に結合される。CLBおよびIOBは、プログラム可能なルーティングリソースの階層によって相互接続される。これらのCLB、IOBおよびプログラム可能なルーティングリソースは、一般にオフチップメモリからFPGAのコンフィギュレーションメモリセルにコンフィギュレーションビットストリームをロードすることによってカスタマイズされる。これらのタイプのプログラム可能論理デバイスの両方では、その目的でデバイスに与えられるコンフィギュレーションビットストリームのコンフィギュレーションデータビットによってデバイスの機能が制御される。コンフィギュレーションデータビットは、揮発性メモリ(例えば、FPGAおよびいくつかのCPLDのようなスタティックメモリセル)、不揮発性メモリ(例えば、いくつかのCPLDのようなフラッシュメモリ)またはその他のタイプのメモリセルに格納されてもよい。
【0034】
図1のデバイスはFPGAアーキテクチャ100を備え、当該FPGAアーキテクチャ100は、マルチギガビット送受信機(MGT)101と、CLB102と、ランダムアクセスメモリブロック(BRAM)103と、入力/出力ブロック(IOB)104と、コンフィギュレーションおよびクロッキング論理(CONFIG/CLOCKS)105と、デジタル信号処理ブロック(DSP)106と、専門の入力/出力ブロック(I/O)107(例えば、コンフィギュレーションポートおよびクロックポート)と、デジタルクロックマネージャ、アナログ・デジタル変換器、システムモニタリング論理などの他のプログラム可能論理108とを含む多数の異なるプログラム可能なタイルを有する。FPGAの中には、例えばソフトウェアアプリケーションを実装するために用いられ得る専用のプロセッサブロック(PROC)110も含んでいるものもある。
【0035】
いくつかのFPGAにおいては、各々のプログラム可能なタイルは、隣接する各タイルにおける対応する相互接続素子へのおよび相互接続素子からの標準的な接続を有するプログラム可能な相互接続素子(INT)111を含む。したがって、プログラム可能な相互接続素子は、まとまって、図示されているFPGAのためのプログラム可能な相互接続構造を実現する。プログラム可能な相互接続素子111は、図1の上部に含まれる例によって示されるように、同一タイル内のプログラム可能論理素子へのおよびプログラム可能論理素子からの接続も含む。
【0036】
例えば、CLB102は、ユーザ論理+単一のプログラム可能な相互接続素子111を実現するようにプログラムされ得るコンフィギュラブル論理素子(CLE)112を含んでいてもよい。BRAM103は、1つ以上のプログラム可能な相互接続素子に加えて、BRAM論理素子(BRL)113を含んでいてもよい。BRAMは、コンフィギュレーション論理ブロックの分散RAMとは分離した専用のメモリを含む。一般に、タイルに含まれる相互接続素子の数はタイルの高さによって決まる。示されている実施例においては、BRAMタイルは5個のCLBと同じ高さを有するが、他の数も用いられてもよい。DSPタイル106は、適切な数のプログラム可能な相互接続素子に加えて、DSP論理素子(DSPL)114を含んでいてもよい。IOB104は、例えば、プログラム可能な相互接続素子111の1つの例に加えて、入力/出力論理素子(IOL)115の2つの例を含んでいてもよい。デバイスの接続場所は、その目的でデバイスに与えられるコンフィギュレーションビットストリームのコンフィギュレーションデータビットによって制御される。プログラム可能な相互接続により、コンフィギュレーションビットストリームのビットに応答して、相互接続配線を備える接続を用いて、プログラム可能論理で実現される回路またはBRAMもしくはプロセッサなどの他の回路にさまざまな信号を結合することができる。
【0037】
示されている実施例においては、ダイの中心付近のコラム状の領域は、コンフィギュレーション、クロックおよび他の制御論理のために用いられる。このコラムから延びる水平な領域109は、FPGAの幅にわたってクロックおよびコンフィギュレーション信号を分配させるために用いられる。図1に示されるアーキテクチャを利用するFPGAの中には、FPGAの大部分を構成する通常のコラム状構造を破綻させるさらなる論理ブロックを含むものもある。当該さらなる論理ブロックは、プログラム可能なブロックおよび/または専用の論理であってもよい。例えば、図1に示されるプロセッサブロックPROC110は、CLBおよびBRAMのいくつかのコラムにまたがっている。
【0038】
なお、図1は単に例示的なFPGAアーキテクチャを示すよう意図されている。コラム内の論理ブロックの数、コラムの相対的な幅、コラムの数および順序、コラムに含まれる論理ブロックのタイプ、論理ブロックの相対的な大きさ、および図1の上部に含まれる相互接続/論理実装例は単に例示的なものである。例えば、実際のFPGAにおいては、一般に、ユーザ論理の効率的な実装を容易にするために、CLBが現れるところならどこにでもCLBの隣接する2つ以上のコラムが含まれる。
【0039】
ここで図2を参照して、実施例に係るコンフィギュラブル論理素子のブロック図が示される。特に、図2は、図1のコンフィギュレーション論理ブロック102のコンフィギュラブル論理素子を、単純化した形で示している。図2の実施例においては、スライスM201は4個の参照テーブル(LUTM)201A〜201Dを含み、これらの各々は6個のLUTデータ入力端子A1〜A6,B1〜B6,C1〜C6およびD1〜D6によって駆動され、これらの各々は2つのLUT出力信号O5およびO6を与える。LUT201A〜201DからのO6出力端子は、スライス出力端子A〜Dをそれぞれ駆動する。LUTデータ入力信号は、プログラム可能な相互接続素子211によって実現され得る入力マルチプレクサを介してFPGA相互接続構造によって供給され、LUT出力信号も相互接続構造に供給される。また、スライスMは、出力端子AMUX〜DMUXを駆動する出力選択マルチプレクサ211A〜211Dと、メモリ素子202A〜202Dのデータ入力端子を駆動するマルチプレクサ212A〜212Dと、組合せマルチプレクサ216,218および219と、バウンスマルチプレクサ回路222〜223と、インバータ205およびマルチプレクサ206(これらはともに入力クロック経路上で任意の反転をもたらす)によって表わされる回路と、マルチプレクサ214A〜214D,215A〜215D,220〜221および排他的ORゲート213A〜213Dを有する桁上げ論理とを含む。これらの素子は全て、図2に示されるようにともに結合される。図2に示されるマルチプレクサでは選択入力は示されていないが、選択入力はコンフィギュレーションメモリセルによって制御される。すなわち、コンフィギュレーションメモリセルに格納されたコンフィギュレーションビットストリームのコンフィギュレーションビットは、マルチプレクサへの正しい入力を選択するようにマルチプレクサの選択入力に結合される。周知のこれらのコンフィギュレーションメモリセルは、明確にする目的で、図2および本明細書の中の他の選択図からは省略されている。
【0040】
示されている実施例においては、各メモリ素子202A〜202Dは、同期または非同期フリップフロップまたはラッチとして機能するようにプログラムされてもよい。同期機能と非同期機能との選択は、Sync/Asynch選択回路203をプログラムすることによってスライス内の4個全てのメモリ素子に対して行なわれる。S/R(セット/リセット)入力信号がセット機能を提供するようにメモリ素子がプログラムされる場合、REV入力端子がリセット機能を提供する。S/R入力信号がリセット機能を提供するようにメモリ素子がプログラムされる場合、REV入力端子がセット機能を提供する。メモリ素子202A〜202Dは、例えば広域クロックネットワークまたは相互接続構造によって与えられ得るクロック信号CKによってクロックされる。このようなプログラム可能なメモリ素子は、FPGA設計の技術分野では周知である。各メモリ素子202A〜202Dは、登録された出力信号AQ〜DQを相互接続構造に与える。各々のLUT201A〜201Dが2つの出力信号O5およびO6を与えるので、LUTは、5個の共有入力信号(IN1〜IN5)を有する2個の5入力LUTまたは入力信号IN1〜IN6を有する1個の6入力LUTとして機能するように構成されてもよい。
【0041】
図2の実施例においては、各々のLUTM201A〜201Dは、いくつかのモードのうちのいずれかのモードで機能してもよい。参照テーブルモードでは、各LUTは、入力マルチプレクサを介してFPGA相互接続構造によって供給される6個のデータ入力信号IN1〜IN6を有する。信号IN1〜IN6の値に基づいて、64個のデータ値のうちの1つがコンフィギュレーションメモリセルからプログラム可能に選択される。RAMモードでは、各LUTは、共有アドレッシングにより単一の64ビットRAMまたは2個の32ビットRAMとして機能する。RAM書込データが入力端子DI1を介して(LUT201A〜201Cのマルチプレクサ217A〜217Cを介して)64ビットRAMに供給され、または入力端子DI1およびDI2を介して2個の32ビットRAMに供給される。LUT RAMでのRAM書込動作は、マルチプレクサ206からのクロック信号CKおよびマルチプレクサ207からの書込イネーブル信号WENによって制御され、マルチプレクサ206およびマルチプレクサ207は、クロックイネーブル信号CEまたは書込イネーブル信号WEのいずれかを選択的に通過させ得る。シフトレジスタモードでは、各LUTは2個の16ビットシフトレジスタとして、または2個の16ビットシフトレジスタが単一の32ビットシフトレジスタを作成するように直列に結合された状態で機能する。入力端子DI1およびDI2のうちの1つまたは両方を介してシフトイン信号が与えられる。16ビットおよび32ビットシフトアウト信号はLUT出力端子を介して与えられてもよく、また、32ビットシフトアウト信号はLUT出力端子MC31を介してより直接的に与えられてもよい。また、LUT201Aの32ビットシフトアウト信号MC31は、出力選択マルチプレクサ211DおよびCLE出力端子DMUXを介して、シフトレジスタをつなぐための一般的な相互接続構造に与えられてもよい。したがって、回路および方法は、図1および図2のFPGAなどのデバイスまたはその他の好適なデバイスにおいて実現され得る。
【0042】
ここで図3を参照して、実施例に係るプログラム可能なリソースを有するデバイスをプログラムするためのシステムのブロック図が示される。特に、コンピュータ302は、メモリ306から回路設計304を受けて、不揮発性メモリ308に格納されるコンフィギュレーションビットストリームを生成するように結合される。より詳細に以下で説明するように、回路設計は、ハードウェア記述言語(hardware description language:HDL)で規定される回路設計などの高位設計であってもよい。また、コンピュータは、不揮発性メモリ308に格納されてプログラム可能なリソースを有するデバイス310に与えられるコンフィギュレーションビットストリームを生成するソフトウェアを実行するように構成されてもよい。
【0043】
プログラム可能な集積回路において実現される回路設計のソフトウェアフローは、当該技術分野において周知の合成、パッキング、配置およびルーティングを備える。合成は、高位設計での回路設計を、プログラム可能な集積回路に見られる素子の構成に変換するステップを備える。例えば、コンピュータ302によって操作される合成ツールは、特定の機能を実現する回路設計の部分を例えばコンフィギュラブルな論理ブロック(CLB)またはデジタル信号処理(DSP)ブロックに実装してもよい。合成ツールの例としては、カリフォルニア州サンノゼのザイリンクス(登録商標)社から入手可能なISE(登録商標)ツールがある。パッキングは、回路設計の部分をCLBなどのデバイスの規定のブロックにグループ分けするステップを備える。配置は、パッキングステップ中に規定されたデバイスのブロックの場所を決定するステップを備える。最後に、ルーティングは、プログラム可能な集積回路においてプログラム可能な相互接続などの相互接続素子の経路を選択するステップを備える。配置およびルーティングの終了時には、全ての機能、位置および接続が分かることになり、次いでコンフィギュレーションビットストリームが作成される。当該ビットストリームは、カリフォルニア州サンノゼのザイリンクス(登録商標)社から入手可能なBitGenと呼ばれるソフトウェアモジュールによって作成されてもよい。また、当該ビットストリームは、予め定められた暗号化基準に従って暗号化されてもよい。当該ビットストリームは、ケーブルを介してダウンロードされるか、またはEPROMにプログラムされて、プログラム可能な集積回路に送られる。符号化される場合には、ビットストリームは、予め定められた暗号化基準に従って、プログラム可能な集積回路によって復号される。
【0044】
ここで図4を参照して、実施例に係るプログラム可能なリソースを構成するための素子を有する集積回路のブロック図が示される。図4の回路は、制御回路404に結合された入力/出力(I/O)ポート402とプログラム可能なリソース406とを有する集積回路で実現される。プログラム可能なリソース406は、ユーザが選択した回路設計を実現するように回路のユーザによって構成可能な回路素子を含む。プログラム可能なリソース406は、図1および図2を参照して説明したプログラム可能論理などのプログラム可能論理を含んでいてもよい。
【0045】
プログラム可能なリソース406において実現される回路は、集積回路400にダウンロードされたコンフィギュレーションビットストリームに従って実現されてもよい。より詳細に以下で説明するように、プログラム可能なリソース406はコンフィギュレーションメモリ408を含む。一般に、コンフィギュレーションメモリ408は、コンフィギュレーションビットストリームのコンフィギュレーションビットに基づいて、プログラム可能なリソース406を構成するためのメモリセルを含む。プログラム可能なリソース406およびコンフィギュレーションメモリ408の単一のブロックが示されているが、所与の集積回路は、コンフィギュレーションメモリによって制御されるプログラム可能なリソースを有する複数のブロックを含んでいてもよい。また、集積回路400は、コンフィギュレーションデータを格納するための、プログラム可能なリソース406に外付けの不揮発性メモリなどのメモリ412を含んでいてもよい。
【0046】
コンフィギュレーションデータをコンフィギュレーションメモリ408にロードするように、制御回路404の一部としてまたは制御回路404とは分離して、コンフィギュレーションコントローラ410が実現されてもよい。コンフィギュレーションデータは、I/Oポート402を介してまたは制御回路404およびメモリ412を介して、コンフィギュレーションコントローラ410によって直接ロードされてもよい。図4の回路は、以下で説明するプログラム可能論理デバイスなどのプログラム可能なリソース406を有する任意のデバイス、または、プログラム可能な回路の一部もしくは機密データを格納するためのメモリを有する特定用途向け集積回路(ASIC)であってもよい。図4の回路は、例えばプログラム可能なリソースを有するデバイス310であり得る。
【0047】
ここで図5を参照して、実施例に係るデータの通信を可能にする集積回路500のブロック図が示される。集積回路500は、プログラム可能なリソース502と、ADC/DACインターフェイス508を介したアナログ・デジタル変換器(ADC)回路510およびデジタル・アナログ変換器(DAC)回路512へのアクセスを可能にするアナログ入力および出力のコラム504とを備える。アナログ入力および出力の第2のコラム516は、ADC/DACインターフェイス518を介したADC回路520およびDAC回路522のコラム514へのアクセスを可能にする。より詳細に以下で説明するように、図5の素子は、単一のダイ、または図14に示されるように単一の集積回路の複数のダイ上に設けられることができる。
【0048】
集積回路上にADCを一体化するさまざまな実施例は、ADCの出力を処理する集積回路とは分離したADCを利用する従来の実現例に対して大きな利点をもたらす。例えば、医療用画像化のような高チャネルカウントアプリケーションにおいては、所与のチャネルが複数のデータ変換器を用いる場合、別個の入力によって16個の利用可能なADCの各々を用いることができ、または、インターリーブを利用することによっていくつかのこれらのADCを組合わせることができる。例えば、無線アプリケーションのための2チャネル高サンプリングレートソリューションを実現するために、2つのチャネルの各々とともに複数のデータ変換器が用いられてもよい。ADCの時間インターリーブを利用することによって、モノリシックなソリューションと比較してより低いパワーのソリューションを実現することができる。また、個別のADC回路と集積回路との間に外部インターフェイスを設ける必要性を無くすことによって、集積回路とは分離した個別のADCを有するソリューションと比較して、全体的なパワーを減少させることができる。
【0049】
また、さまざまな実施例は、ADCおよびDAC回路の実装コストを減少させることができる。ADC回路は、電圧または電流などのアナログ入力を、アナログ入力信号の大きさに比例するデジタル数字に変換する。ADC回路の分解能は、入力値の範囲にわたってADC回路が生成可能な離散値の数を表わす。例えば、12ビットのADC回路は、アナログ入力を212または4096のレベルのうちの1つに符号化することができる。さまざまな実施例において一例として12ビットのADC回路が記載されているが、変換器回路の分解能は、変換器回路の実装コストおよびデータ処理の必要性に基づいて選択されてもよい。
【0050】
12ビットのADC回路などの適度な速度のADC回路は、非常に小さな量のダイ面積しか消費しない高度なCMOSプロセス上で実現可能である。16個以上のADCなどの多数のADCは、単一の高性能ADCインスタンス化よりも小さなダイ面積で実現され、組合わせられる/インターリーブされることができる。また、集積回路上にデータ変換器を実装することにより、集積回路を受けるプリント回路基板の複雑さを減少させることができる。さらに、さまざまな実施例は、デジタル的にアシストされた技術を適用して、高度なCMOSプロセスの「アナログ」パラメータに頼らない「アナログ」性能をもたらすことができる。多数の適度な性能のデータ変換器をFPGAのプログラム可能なリソースと一体化することにより、時間領域インターリーブを用いて低コスト、低パワーかつ柔軟なアナログフロントエンドを提供することができる。さまざまな実施例は、医療用画像化、無線通信、航空宇宙および防衛(Aerospace and Defense:A&D)、ならびに電力変換およびモータ制御などのさまざまな産業、科学および医療(Industrial, Scientific and Medical:ISM)用途を可能にするように実現され得る。
【0051】
ここで図6図8を参照して、さまざまな実施例に係る複数のアナログ・デジタル変換器回路を有する集積回路のブロック図が示される。図6の実施例に示されるように、16個のADC回路602が設けられ、各ADC回路は、別個の入力/出力ポート604およびデジタル後処理回路606に結合される。図6の実施例は、ADC変換器の性能が多数の入力/出力ポートへのデータ入力を処理するのに十分であるアプリケーションで実現されてもよい。しかし、より速いサンプリングレートを必要とするアプリケーションでは、複数のADC回路をインターリーブする必要があるであろう。複数のADC回路の時間インターリーブは、各ADC回路ごとに異なる時間において入力データをサンプリングし、当該入力データの一部をさまざまなADC回路にルーティングすることによって実現される。ADC回路の時間インターリーブにより、存在するADC回路のサンプリングレートの乗算が可能になる。すなわち、より速いサンプリングレートのADC回路を実装するのではなく、より高い性能を有する単一のADC回路と同一のサンプリングレートを可能にするように複数のADC回路を時分割多重化することができる。
【0052】
入力/出力ポートについて言及しているが、入力/出力ポートは、アナログ入力信号を受取る時などには専用の入力ポートであってもよく、または、アナログ出力信号を生成する時などには専用の出力ポートであってもよい、ということが理解されるべきである。すなわち、入力/出力ポートは信号を受取るおよび信号を伝送するように機能し得るが、所与の入力/出力ポートは、その入力/出力ポートの用途に応じて入力ポートまたは出力ポートのいずれかとして実現されてもよい。代替的には、入力/出力ポートと呼ばれるポートは、単に入力ポートとしてまたは出力ポートとして機能するように実現されてもよい。
【0053】
図7の実施例によれば、ここでは一例として4個のADC回路であるように示されているADC回路のブロック702が実現される。4個のADC回路はルーティングネットワーク704に結合される。図9を参照してより詳細に以下で説明するように、ルーティングネットワーク704は、デジタル後処理回路606によって処理されるように入力/出力ポート604へのアナログ入力信号を変換する際のさまざまなサンプリングレートを可能にする。すなわち、50Mspsで動作するADC回路などの適度な速度のADC回路は、時間インターリーブを可能にするシステムにおいて実現されると、単一のI/Oポートに関連付けられるデータに対してより速いサンプリングレートを可能にする。図7の実施例によれば、図6の16個の差動入力チャネルと比較して、わずか4個の差動入力チャネルを実現することができる。図8の実施例に示されるように、ADC変換器のブロック802は8個のADC変換器を備える。図8の実施例によれば、わずか2個の差動入力チャネルを実現することができるが、各チャネルはアナログ入力信号のより速いサンプリングレートを有するであろう。
【0054】
ここで図9を参照して、実施例に係るプログラム可能な相互接続回路のブロック図が示される。プログラム可能な相互接続回路は、ADCインターフェイスとして、またはより特定的にはルーティングネットワーク704もしくは804として実現可能である。プログラム可能な相互接続回路901は、ルーティング回路902において入力V+を受取る。ルーティング回路は、第1段にルータ904を含み、第2段にルータ906および908を含むルータの段を備え、当該ルータの段は、適切なマルチプレクサ出力AI0p〜AI7pでのアナログ入力信号の生成を可能にする。ルータ904は、入力信号V+をルータ906にルーティングすることができる第1のトランジスタ910と、入力信号V+をルータ908にルーティングすることができる第2のトランジスタ912とを備える。ルータ906は、出力AI0pを生成するためのトランジスタ914と、出力AI1pを生成するためのトランジスタ916と、出力AI2pを生成するためのトランジスタ918と、出力AI3pを生成するためのトランジスタ920とを備える。同様に、ルータ908は、出力AI4pを生成するためのトランジスタ922と、出力AI5pを生成するためのトランジスタ924と、出力AI6pを生成するためのトランジスタ926と、出力AI7pを生成するためのトランジスタ928とを備える。第2のルーティング回路932は、入力V−を受取るように結合され、適切なルータ出力AI0n〜AI7nにおいてアナログ入力信号を結合する点以外は、ルーティング回路902と同一である。差動入力を実現する場合、正の入力V+および負の入力V−を受取るためにルーティング回路902およびルーティング回路932の両方の回路が用いられる。
【0055】
制御回路934は、ルーティング回路902およびルーティング回路932に結合される。より詳細に以下で説明するように、制御回路は、A0〜A5のための適切な制御信号を生成して、入力信号を適切な1つ以上のADC回路に結合する。
【0056】
例えば図7の実施例を実現する場合、ルーティング回路は、ブロック702に示される4個のADC回路に入力V+およびV−をルーティングするであろう。すなわち、出力AI0p〜AI3pおよびAI0n〜AI3nのみが必要とされる。これに対して、図8の実施例を実現する場合、ルーティング回路は、ブロック802に示される8個のADC回路に入力V+およびV−をルーティングし、全ての出力AI0p〜AI7pおよびAI0n〜AI7nが必要とされる。したがって、ここでは差動データV+およびV−として示されているアナログ入力信号は、制御信号D5〜D0に応答して、ADC回路に選択的にルーティングされる。図9のルーティングネットワークは一例として示されているが、プログラム可能な相互接続回路の他の構成が利用されてもよいということが理解されるべきである。さらに、回路ブロック内でのデータの通信を可能にするためのプログラム可能な相互接続回路の構成は異なっていてもよいということは明らかであるべきである。
【0057】
ここで図10を参照して、実施例に係るデータの通信を可能にする集積回路のブロック図が示される。図10のブロック図は、8個のADC回路602が単一の入力/出力ポート604に結合される図8の実施例のより詳細な例を示している。すなわち、ルーティングネットワーク804は、入力/出力ポート604におけるアナログ入力信号をブロック802の8個のADC回路602の各々に結合することができる。クロック発生器1002は複数のクロック信号を発生させ、当該複数のクロック信号は、入力/出力ポート604に結合されるアナログ入力信号をさまざまな時間においてサンプリングすることができるようにし、したがって信号のサンプリングレートを増大させる。より詳細に以下で説明するように、アナログ入力信号のサンプリングレートは、100MspsのADC回路のみを用いて800Mspsを生成するように8倍に増大させることができる。クロック発生器1002は、入力クロック信号CLKを受取って、異なる位相を有する合計8個のクロック信号について7個の位相シフトクロック信号を発生させる多相クロック回路を備え得る。位相シフトクロック信号は、例えばCLK信号の45°、90°、135°、180°、225°、270°および315°の位相であり得る。図7の例のようにわずか4個の位相シフトクロック信号が必要とされる場合には、CLK(または0°の位相)ならびに90°、180°および270°の位相を用いることができる。図16を参照してより詳細に以下で説明するように、ADC602は適切な時間に入力信号をサンプリングする。
【0058】
破線のボックス1004に示されるように、8個のADC602のうちの1つによって出力されたデジタルデータに対応する、サンプリングされたアナログ入力信号の部分が示されている。破線のボックス1004に見られるように、第1のADC602の出力は、アナログ入力信号の第1および第9のサンプルに対応し、第2のADC602の出力は、アナログ入力信号の第2および第10のサンプルに対応する、などである。ADC回路602の出力はインターフェイス回路1006に与えられる。図12および図17を参照してより詳細に説明するように、インターフェイス回路1006は、ADC602から例えばFPGAのプログラム可能なリソースなどのプログラム可能なリソース1008への出力信号のルーティングを可能にする。プログラム可能なリソース1008が例えば100Mspsでデータを処理することができるだけでよいので、プログラム可能なリソースは、ADC回路によって出力された96ビットのデジタルデータを用いて100Mspsでデータを処理するであろう。ルーティングネットワーク804は例えばADC/DACインターフェイス504などのように集積回路の一部として実現されてもよいが、ルーティングネットワークの機能は、例えば集積回路を受けるプリント回路基板の一部として、集積回路とは分離して実現されてもよい。すなわち、アナログ入力信号は、複数のADC回路の各々の入力にプリント回路基板を接続することによってルーティングされることができ、ADC回路は上記のアナログ入力信号をサンプリングする。
【0059】
ここで図11を参照して、代替的な実施例に係る集積回路へのデータの通信を可能にする集積回路のブロック図が示される。図11の実施例によれば、サンプラ1102が設けられる。図10を参照して上記したサンプリングをADC回路に実行させるのではなく、サンプラ1102は、ルーティングネットワーク804とともにアナログ信号の一部を適切なADC変換器602に与える高速サンプラを備える。したがって、アナログ入力信号を受けてADC回路によるサンプリングを可能にする一群のADC回路のADC回路602の各々にアナログ入力信号をルーティングするのではなく、サンプラ1102およびルーティングネットワーク804は、選択されたADC回路602にアナログ入力信号のサンプルをルーティングすることを可能にする。すなわち、クロック発生器がアナログ入力信号を周期的にサンプリングする一方で、ルーティングネットワーク804が異なるADC回路へのサンプリングされた信号のルーティングを周期的に変化させる。例えば、制御回路934は、クロック発生器が発生させた高速クロック信号に応答して、入力信号を単一のADC回路602にルーティングし、アナログ入力信号のサンプルを受取るADC回路は周期的に変化する。サンプラ1102およびルーティングネットワーク804は各々が集積回路の一部であってもよいことが理解されるべきである。代替的に、サンプラ1102、または、サンプラ1102およびルーティングネットワーク804の両方が、ADC回路602およびプログラム可能なリソース1008を実装する集積回路とは分離していてもよい。
【0060】
ここで図12を参照して、実施例に係るインターフェイス回路1006のブロック図が示される。インターフェイス回路は、DIxによって示されるさまざまな入力を、DOxによって示されるさまざまな出力に結合することができるようにプログラム可能なルーティングマトリックスを備える。一実施例によれば、入力信号DIxはADC602の出力であり得て、出力DOxは例えばFPGAのプログラム可能なリソースへの入力であり得る。特に、インターフェイス回路1006は、マルチプレクサ回路1202と、バッファ回路1204と、デマルチプレクサ1206とを備えていてもよい。
【0061】
多重化回路1202はマルチプレクサの段を備え、第1段にマルチプレクサ1208および1210を含み、第2段にマルチプレクサ1212を含む。示されているマルチプレクサ回路1202は、出力バッファ1204に結合されるように選択され得る8個のデジタル入力信号DI0〜DI7を受取る。マルチプレクサ1208は、入力DI0を受取るためのトランジスタ1214と、入力DI1を受取るためのトランジスタ1216と、入力DI2を受取るためのトランジスタ1218と、入力DI3を受取るためのトランジスタ1220とを備える。同様に、マルチプレクサ1210は、入力DI4を受取るためのトランジスタ1222と、入力DI5を受取るためのトランジスタ1224と、入力DI6を受取るためのトランジスタ1226と、入力DI7を受取るためのトランジスタ1228とを備える。マルチプレクサ1212は、マルチプレクサ1208の出力をルーティングすることができる第1のトランジスタ1230と、マルチプレクサ1210の出力をルーティングすることができる第2のトランジスタ1232とを備える。
【0062】
出力バッファ1204は、インバータ1234とインバータ1236とを備える。トランジスタ1238は、そのゲートがインバータ1234の出力に結合され、そのソースがインバータ1236の出力に結合される。出力バッファ回路1204は、多重化回路1202への選択された入力を受取り、デマルチプレクサ回路1206に結合される出力を生成する。
【0063】
デマルチプレクサ1206はデマルチプレクサの段を備え、第1段にデマルチプレクサ1240を含み、第2段にデマルチプレクサ1242および1244を含む。デマルチプレクサ回路1240は、その入力でバッファ回路1204の出力を受取り、トランジスタ1246および1248を用いて出力を生成する。マルチプレクサ1242は、出力DO0を生成するためのトランジスタ1250と、出力DO1を生成するためのトランジスタ1252と、出力DO2を生成するためのトランジスタ1254と、出力DO3を生成するためのトランジスタ1258とを備える。同様に、マルチプレクサ1244は、出力DO4を生成するためのトランジスタ1258と、出力DO5を生成するためのトランジスタ1260と、出力DO6を生成するためのトランジスタ1262と、出力DO7を生成するためのトランジスタ1264とを備える。
【0064】
制御回路1234も、適切な制御信号D0〜D11を生成して、適切な入力データを適切なデータ出力に結合する。制御回路は、コンフィギュレーションデータを格納するためのメモリ素子を備えていてもよい。したがって、集積回路を構成する際に、ADCは例えば図6図8に例えば示されるようにユーザが望む通りに構成されてもよい。
【0065】
ここで図13を参照して、実施例に係る集積回路からのデータの通信を可能にする集積回路のブロック図が示される。集積回路上での複数のADC回路の実装について記載している図5図11の実施例と同様に、図13図15は、集積回路上での複数のDAC回路の実装について記載する。特に、クロック発生器1304に結合されたブロック1302は、複数のDAC回路1306を備える。DAC回路1306は、プログラム可能なインターフェイス回路1308を介して集積回路のプログラム可能なリソース1008または他の回路から入力を受取るように結合される。より詳細に以下で説明するように、インターフェイス回路は、集積回路のさまざまなダイ間での信号のルーティングを可能にするプログラム可能なインターフェイス回路であってもよい。プログラム可能なインターフェイス回路1312を介してDAC回路の出力を受けて、1つ以上のアナログ出力信号1314を生成するように、加算回路1310も結合される。DAC回路の実装によっては、プログラム可能なインターフェイス回路1312は、図14および図15を参照してより詳細に説明するように、さまざまなDACの出力の加算を可能にする。プログラム可能なインターフェイス回路1308および1312は、例えば図12に示されるものなどのインターフェイス回路を用いて実現されてもよい。
【0066】
ここで図14を参照して、実施例に係る構成を有する集積回路からのデータの通信を可能にする集積回路のブロック図が示される。加算回路1310は、DAC回路1306の出力を受取るための加算器1402を備える。プログラム可能なインターフェイス回路1312は、選択された加算器回路へのDACの出力のルーティングを可能にする。図14の実施例によれば、全てのDAC1306の出力は加算器回路1402にルーティングされる。図15の実施例によれば、ブロック1302はDACの第1の群1502とDACの第2の群1504とを備え、加算回路1310は第2の加算器1506を備える。DACの第1の群1502の出力は加算器1402にルーティングされるのに対して、DACの第2の群1504の出力は加算器1506にルーティングされる。すなわち、プログラム可能なインターフェイス回路1312は、DACの出力を適切な加算器にルーティングするように構成される。図13図15の素子は全て単一の集積回路上にあり得るが、プログラム可能なインターフェイス回路1312および加算回路1310は、例えばプリント回路基板上にあるなどのように、DACを有する集積回路とは分離していてもよい。
【0067】
ここで図16を参照して、ADC回路のブロック図が示される。ADC回路は、基準電圧発生器1604に結合されたアナログ・デジタル回路1602を備える。また、アナログ・デジタル回路1602は、差動入力V+およびV−を受取る増幅器1606の出力を受取るように結合される。アナログ・デジタル変換器1602および増幅器1606を制御するようにクロック回路1608および制御回路1610が結合される。クロック回路1608および制御回路1610は、図10の実施例に係るアナログ入力信号のサンプリングを可能にする。アナログ・デジタル変換器1602の出力は、出力DP[11:0]およびDN[11:0]を生成するエラー修正回路1612に与えられる。ADC回路は、アナログ入力信号に関連付けられるマルチビット出力を生成する。例えば、ADC回路は、サンプリングされたアナログ値に関連付けられる12ビット出力を生成してもよい。ADC回路の分解能は、出力の分解能に影響を及ぼし、所望のごとく選択されてもよい。12ビット出力が示されているが、異なる数のビットを生成するアナログ・デジタル変換器が実現されてもよいことが理解されるべきである。さらに、図16のADC変換器回路のブロック図は一例として示されており、さまざまな実施例に従って他のADC変換器回路が実現されてもよい。
【0068】
ここで図17を参照して、実施例に係るマルチチップ集積回路のブロック図が示される。図17の実施例によれば、プリント回路基板などの回路基板1702は、マルチダイ集積回路1704を受けるように構成される。マルチダイ集積回路1704は、インターポーザ回路1708を受けるように結合された基板1706を備える。インターポーザ1708は、ADCおよびDAC回路を有するFPGAチップ1710ならびにデータ変換器チップ1712などの複数の集積回路チップまたはダイを基板1706に結合できるようにする。インターポーザ回路1708は、インターフェイス回路1006について記載している図12に示されるように実現され得る。はんだボール1714は、貫通シリコンビア(TSV)などのさまざまな相互接続1716を介してさまざまなチップからの信号を回路基板1702にイネーブル結合できるようにする。相互接続1718も、マルチダイ集積回路のさまざまなチップ間の信号のルーティングを可能にする。インターポーザ回路1708は、FPGAチップとデータ変換器チップとの間またはチップのうちの1つと基板1706との間での信号のルーティングを可能にする相互接続素子を備えるさまざまな金属層を有するシリコン基板であってもよい。しかし、インターポーザ回路は、示されるように、信号のルーティングを可能にする導電性素子を有する任意の材料であり得る。FPGAチップ1710およびデータ変換器チップ1712の全ての回路は単一のダイ上に実装され得るが、図17の実施例は、FPGAチップ1710およびデータ変換器チップ1712のさまざまな回路をより効率的に実装することができる。例えば、特定の寸法のトランジスタを形成するプロセスなどの1つのプロセスに従って製造された集積回路チップに効率的に実装され得る回路もあれば、別のプロセスに従って製造された集積回路チップに効率的に実装され得る回路もある。
【0069】
ここで図18を参照して、フローチャートは、実施例に係る集積回路とデータを通信する方法を示す。ステップ1802において、入力/出力ポートとともに実装されるべき予め定められた数のアナログ・デジタル回路が、入力/出力ポートで受取られたデータを処理するために選択されたデータ速度に基づいて選択される。ステップ1804において、データを処理するための回路を集積回路に実装できるようにプログラム可能な相互接続を構成するためのコンフィギュレーションデータが生成される。ステップ1806において、プログラム可能な相互接続回路を構成するためのコンフィギュレーションデータが集積回路において受取られる。ステップ1808において、入力/出力ポートから予め定められた数のアナログ・デジタル回路へのデータのルーティングを可能にするように、プログラム可能な相互接続が構成される。ステップ1810において、複数のアナログ・デジタル変換器回路で受取られたデータがクロック発生器を用いてサンプリングされる。ステップ1812において、複数のアナログ・デジタル変換器回路を用いて、データがアナログデータからデジタルデータに変換される。ステップ1814において、データが処理される。
【0070】
ここで図19を参照して、フローチャートは、代替的な実施例に係る集積回路とデータを通信する方法を示す。ステップ1902において、集積回路に実装されるべき予め定められた数のデジタル・アナログ回路が選択される。ステップ1904において、データを処理する回路を集積回路に実装できるようにプログラム可能な相互接続回路を構成するためのコンフィギュレーションデータが生成される。ステップ1906において、プログラム可能な相互接続回路を構成するためのコンフィギュレーションデータが集積回路において受取られる。ステップ1908において、予め定められた数のデジタル・アナログ回路から1つ以上の加算器へのデータのルーティングを可能にするように、プログラム可能な相互接続回路が構成される。ステップ1910において、予め定められた数のデジタル・アナログ回路の出力におけるデータが1つ以上の加算器に結合される。次いで、ステップ1912において、1つ以上の加算器からの合計データが出力される。図18図19の方法は、上記の図1図17の回路または他の好適な回路を用いて実現可能である。図18図19の方法の特定の要素が示されているが、示されている要素に関連するさらなる要素またはさらなる詳細については図1図17に記載されていることが理解されるべきである。
【0071】
したがって、集積回路とデータを通信する新たな斬新な方法について説明してきたということが理解できる。開示されている発明を組み入れる多数の代替例および等価の例が存在するということが当業者によって理解される。その結果、本発明は、上記の実施例ではなく以下の特許請求の範囲によってのみ限定される。
図2
図1
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19