IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

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

特表2024-544150JTAG構成モード、拡張された等化範囲、及び複数の電源ドメインを有する送信ドライバアーキテクチャ
<>
  • 特表-JTAG構成モード、拡張された等化範囲、及び複数の電源ドメインを有する送信ドライバアーキテクチャ 図1
  • 特表-JTAG構成モード、拡張された等化範囲、及び複数の電源ドメインを有する送信ドライバアーキテクチャ 図2
  • 特表-JTAG構成モード、拡張された等化範囲、及び複数の電源ドメインを有する送信ドライバアーキテクチャ 図3A
  • 特表-JTAG構成モード、拡張された等化範囲、及び複数の電源ドメインを有する送信ドライバアーキテクチャ 図3B
  • 特表-JTAG構成モード、拡張された等化範囲、及び複数の電源ドメインを有する送信ドライバアーキテクチャ 図3C
  • 特表-JTAG構成モード、拡張された等化範囲、及び複数の電源ドメインを有する送信ドライバアーキテクチャ 図3D
  • 特表-JTAG構成モード、拡張された等化範囲、及び複数の電源ドメインを有する送信ドライバアーキテクチャ 図4
  • 特表-JTAG構成モード、拡張された等化範囲、及び複数の電源ドメインを有する送信ドライバアーキテクチャ 図5
  • 特表-JTAG構成モード、拡張された等化範囲、及び複数の電源ドメインを有する送信ドライバアーキテクチャ 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-28
(54)【発明の名称】JTAG構成モード、拡張された等化範囲、及び複数の電源ドメインを有する送信ドライバアーキテクチャ
(51)【国際特許分類】
   H03K 19/0175 20060101AFI20241121BHJP
   H03K 19/00 20060101ALI20241121BHJP
   G01R 31/28 20060101ALI20241121BHJP
   H04L 25/02 20060101ALI20241121BHJP
   H03K 19/17788 20200101ALN20241121BHJP
【FI】
H03K19/0175 220
H03K19/00 220
G01R31/28 V
H04L25/02 S
H04L25/02 V
H03K19/17788
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024529227
(86)(22)【出願日】2022-07-21
(85)【翻訳文提出日】2024-05-15
(86)【国際出願番号】 US2022037872
(87)【国際公開番号】W WO2023091199
(87)【国際公開日】2023-05-25
(31)【優先権主張番号】17/455,195
(32)【優先日】2021-11-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】591025439
【氏名又は名称】ザイリンクス インコーポレイテッド
【氏名又は名称原語表記】XILINX INCORPORATED
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ナラン,ナクル
(72)【発明者】
【氏名】リム,シオック・ウェイ
(72)【発明者】
【氏名】チェン,ルフイ
(72)【発明者】
【氏名】ワン,イーペン
(72)【発明者】
【氏名】タン,キー・ヒアン
【テーマコード(参考)】
2G132
5J042
5J056
5K029
【Fターム(参考)】
2G132AA12
2G132AK15
2G132AK22
5J042BA11
5J042CA09
5J042CA11
5J042DA05
5J056AA04
5J056BB60
5J056CC01
5J056CC26
5J056DD13
5J056DD28
5J056DD54
5J056FF01
5J056FF09
5K029DD24
5K029GG07
(57)【要約】
テストモード(例えば、JTAG構成モード)、拡張等化範囲、及び/又は複数の電源ドメインを有する送信ドライバアーキテクチャ。送信ドライバ回路の一例は、概して、入力データ信号を受信するように構成された差動入力ノード対を有し、出力データ信号を出力するように構成された差動出力ノード対を有する1つ以上のドライバユニットセルと、差動出力ノード対と1つ以上の電源レールとの間に結合された複数の電力スイッチと、差動テストデータ経路の第1のテストノードと差動出力ノード対の第1の出力ノードとの間に結合された第1のセットの1つ以上のドライバと、差動テストデータ経路の第2のテストノードと差動出力ノード対の第2の出力ノードとの間に結合された第2のセットの1つ以上のドライバと、を含む。
【特許請求の範囲】
【請求項1】
送信ドライバ回路であって、
入力データ信号を受信するように構成された差動入力ノード対を有し、出力データ信号を出力するように構成された差動出力ノード対を有する1つ以上のドライバユニットセルと、
前記差動出力ノード対と1つ以上の電源レールとの間に結合された複数の電力スイッチと、
差動テストデータ経路の第1のテストノードと前記差動出力ノード対の第1の出力ノードとの間に結合された第1のセットの1つ以上のドライバと、
前記差動テストデータ経路の第2のテストノードと前記差動出力ノード対の第2の出力ノードとの間に結合された第2のセットの1つ以上のドライバと、
を備える、送信ドライバ回路。
【請求項2】
前記差動テストデータ経路は、ジョイントテストアクショングループ(JTAG)データ経路を備える、請求項1に記載の送信ドライバ回路。
【請求項3】
前記送信ドライバ回路がテストモード中に電圧モードドライバとして機能するように構成されるように、前記1つ以上のドライバユニットセル及び前記複数の電力スイッチは、前記送信ドライバ回路のための前記テストモード中に電源オフされるように構成される、請求項1に記載の送信ドライバ回路。
【請求項4】
前記第1のセットの1つ以上のドライバの出力と前記差動出力ノード対の前記第1の出力ノードとの間に結合された第1のセットの1つ以上の抵抗要素と、
前記第2のセットの1つ以上のドライバの出力と前記差動出力ノード対の前記第2の出力ノードとの間に結合された第2のセットの1つ以上の抵抗要素と、を更に備える、請求項1に記載の送信ドライバ回路。
【請求項5】
前記第1のセットの1つ以上の抵抗要素又は前記第2のセットの1つ以上の抵抗要素のうちの少なくとも1つは、抵抗要素のスイッチドアレイを備える、請求項4に記載の送信ドライバ回路。
【請求項6】
前記複数の電力スイッチは、
前記1つ以上の電源レールのうちの第1の電源レールと前記差動出力ノード対の前記第1の出力ノードとの間に結合された第1のスイッチと、
前記1つ以上の電源レールのうちの第2の電源レールと前記差動出力ノード対の前記第1の出力ノードとの間に結合された第2のスイッチであって、前記第1の電源レールは、前記第2の電源レールの第2の電圧とは異なる第1の電圧を有する、第2のスイッチと、
前記第1の電源レールと前記差動出力ノード対の前記第2の出力ノードとの間に結合された第3のスイッチと、
前記第2の電源レールと前記差動出力ノード対の前記第2の出力ノードとの間に結合された第4のスイッチと、を備える、請求項1に記載の送信ドライバ回路。
【請求項7】
前記第1のセットの1つ以上のドライバ及び前記第2のセットの1つ以上のドライバは各々、直列に結合された複数のインバータを備える、請求項1に記載の送信ドライバ回路。
【請求項8】
等化のために、2つのメインカーソル、1つのポストカーソル、及び3つのプリカーソルに基づいて、前記入力データ信号を生成するように構成された制御モジュールを更に備える、請求項1に記載の送信ドライバ回路。
【請求項9】
前記制御モジュールは、前記メインカーソルのうちの1つに対する公称カーソル重み付けよりも低いカーソル重み付けを有する前記メインカーソルのうちの前記1つとして機能するように、前記ポストカーソルをプログラムするように構成される、請求項8に記載の送信ドライバ回路。
【請求項10】
前記制御モジュールは、前記プリカーソルのうちの1つに対する公称カーソル重み付けよりも高いカーソル重み付けを有する前記プリカーソルのうちの前記1つとして機能するように、前記メインカーソルのうちの第1のメインカーソルをプログラムするように構成される、請求項8に記載の送信ドライバ回路。
【請求項11】
前記制御モジュールは、前記ポストカーソルに対する公称カーソル重み付けよりも高いカーソル重み付けを有する前記ポストカーソルとして機能するように、前記メインカーソルのうちの第2のメインカーソルをプログラムするように構成される、請求項10に記載の送信ドライバ回路。
【請求項12】
シリアル/デシリアライザを備えるプログラマブル集積回路(IC)であって、前記シリアル/デシリアライザは、請求項1に記載の送信ドライバ回路を備える、プログラマブル集積回路(IC)。
【請求項13】
データを駆動する方法であって、
送信ドライバ回路のドライバユニットセルの差動入力ノード対において、入力データ信号を受信することと、
前記ドライバユニットセルを使用して、出力データ信号を生成することと、
前記送信ドライバ回路の差動出力ノード対において前記出力データ信号を出力することと、を含み、前記送信ドライバ回路は、
前記差動出力ノード対と1つ以上の電源レールとの間に結合された複数の電力スイッチと、
差動テストデータ経路の第1のテストノードと前記差動出力ノード対の第1の出力ノードとの間に結合された第1のセットの1つ以上のドライバと、
前記差動テストデータ経路の第2のテストノードと前記差動出力ノード対の第2の出力ノードとの間に結合された第2のセットの1つ以上のドライバと、を備える、方法。
【請求項14】
前記ドライバユニットセル及び前記複数の電力スイッチを電源オフすることと、
前記差動テストデータ経路において入力テスト信号を受信することと、
前記第1のセットの1つ以上のドライバ及び前記第2のセットの1つ以上のドライバを用いて、前記入力テスト信号を駆動することと、
前記ドライバユニットセル及び前記複数の電力スイッチが電源オフされている間に、前記差動出力ノード対において出力テスト信号を出力することと、を更に含む、請求項13に記載の方法。
【請求項15】
前記複数の電力スイッチは、
前記1つ以上の電源レールのうちの第1の電源レールと前記差動出力ノード対の前記第1の出力ノードとの間に結合された第1のスイッチと、
前記1つ以上の電源レールのうちの第2の電源レールと前記差動出力ノード対の前記第1の出力ノードとの間に結合された第2のスイッチであって、前記第1の電源レールは、前記第2の電源レールの第2の電圧とは異なる第1の電圧を有する、第2のスイッチと、
前記第1の電源レールと前記差動出力ノード対の前記第2の出力ノードとの間に結合された第3のスイッチと、
前記第2の電源レールと前記差動出力ノード対の前記第2の出力ノードとの間に結合された第4のスイッチと、を備える、請求項13に記載の方法。
【請求項16】
等化のために、2つのメインカーソル、1つのポストカーソル、及び3つのプリカーソルに基づいて、前記入力データ信号を生成することを更に含み、前記入力データ信号を生成することは、
前記メインカーソルのうちの第1のメインカーソルを、前記プリカーソルのうちの1つに対する公称カーソル重み付けよりも高いカーソル重み付けを有する前記プリカーソルのうちの前記1つとして機能するようにプログラムすること、
前記ポストカーソルに対する公称カーソル重み付けよりも高いカーソル重み付けを有する前記ポストカーソルとして機能するように、前記メインカーソルのうちの第2のメインカーソルをプログラムすること、
前記メインカーソルのうちの前記第1のメインカーソルに対する公称カーソル重み付けよりも低いカーソル重み付けを有する前記メインカーソルのうちの前記第1のメインカーソルとして機能するように、前記プリカーソルのうちの前記1つをプログラムすること、又は
前記メインカーソルのうちの前記第2のメインカーソルに対する公称カーソル重み付けよりも低いカーソル重み付けを有する前記メインカーソルのうちの前記第2のメインカーソルとして機能するように、前記ポストカーソルをプログラムすること、のうちの少なくとも1つを含む、請求項13に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の例は、一般に、電子回路に関し、特に、送信ドライバ回路に関する。
【背景技術】
【0002】
電子システムにおける高速シリアル通信リンクの使用は成長し続けている。場合によっては、シリアルリンクは、電気デバイス内(例えば、メモリと処理システムとの間のシリアルバス)及び/又は電気デバイス間(例えば、コンピュータとウェアラブルデバイスとの間のシリアルバス)の集積回路(IC)間通信のために使用されてもよい。他の場合には、シリアルリンクは、システムオンチップ(SoC)内の回路間通信のために使用され得る。高速シリアル通信リンクは、ユニバーサルシリアルバス(USB)、高解像度マルチメディアインタフェース(HDMI(登録商標))、シリアルアドバンストテクノロジーアタッチメント(SATA)、及びペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)インタフェースなどの様々な規格に従って動作することができる。シリアライザ/デシリアライザ(SerDes)は、シリアル通信リンクを介してデータを送信及び受信するために使用され得る。SerDes送信機は、マルチビットワードを対応するビットのシリアルデータストリームにシリアル化する。SerDes受信機は、受信されたシリアルデータストリームを元のマルチビットワードにデシリアライズする。いくつかのSerDesシステムでは、クロック信号がシリアルデータストリームとともに送信されるが、他のSerDesシステムでは、クロック信号は、代わりにシリアルデータストリームに埋め込まれる。
【発明の概要】
【0003】
本開示のいくつかの態様は、概して、シリアライザ/デシリアライザ(SerDes)送信機などのための送信(TX)ドライバアーキテクチャに関する。
【0004】
本開示のいくつかの態様は、送信ドライバ回路を提供する。送信ドライバ回路は、概して、入力データ信号を受信するように構成された差動入力ノード対を有し、出力データ信号を出力するように構成された差動出力ノード対を有する1つ以上のドライバユニットセルと、差動出力ノード対と1つ以上の電源レールとの間に結合された複数の電力スイッチと、差動テストデータ経路の第1のテストノードと差動出力ノード対の第1の出力ノードとの間に結合された第1のセットの1つ以上のドライバと、差動テストデータ経路の第2のテストノードと差動出力ノード対の第2の出力ノードとの間に結合された第2のセットの1つ以上のドライバと、を含む。
【0005】
本開示のいくつかの態様は、データを駆動する方法を提供する。方法は、概して、送信ドライバ回路のドライバユニットセルの差動入力ノード対において、入力データ信号を受信することと、ドライバユニットセルを使用して、出力データ信号を生成することと、送信ドライバ回路の差動出力ノード対において出力データ信号を出力することと、を含む。送信ドライバ回路は、概して、差動出力ノード対と1つ以上の電源レールとの間に結合された複数の電力スイッチと、差動テストデータ経路の第1のテストノードと差動出力ノード対の第1の出力ノードとの間に結合された第1のセットの1つ以上のドライバと、差動テストデータ経路の第2のテストノードと差動出力ノード対の第2の出力ノードとの間に結合された第2のセットの1つ以上のドライバと、を含む。
【0006】
これら及び他の態様は、以下の「発明を実施するための形態」を参照して理解され得る。
【0007】
上記の特徴が詳細に理解され得るように、上記で簡潔に要約されたより具体的な説明が、例示的な実装形態を参照することによって行われ得、それらの実装形態のうちのいくつかが添付の図面に例解される。しかしながら、添付の図面は、典型的な例示の実装形態のみを例解しており、したがって、特許請求の範囲を限定するものとみなされるべきではないことに留意されたい。
【図面の簡単な説明】
【0008】
図1】本開示の態様が実施され得る、SerDes送信機及びSerDes受信機を有する例示的なシリアライザ/デシリアライザ(SerDes)回路のブロック図である。
図2】本開示のいくつかの態様による、電流モードドライバを有する例示的なSerDes送信機のブロック図である。
図3A】本開示のいくつかの態様による、JTAG入力を有する送信ドライバ回路の例示的な実装形態を示す回路図である。
図3B】本開示のいくつかの態様による、JTAGモード中の図3Aの送信ドライバ回路の例示的な動作を示す図である。
図3C】本開示のいくつかの態様による、複数の電源ドメインと電力スイッチとを有する送信ドライバ回路の例示的な実装形態を示す回路図である。
図3D】本開示のいくつかの態様による、図3Cの電力スイッチと、送信ドライバ回路のためのパワーダウンモード中の信頼性のための追加のスイッチとを示す回路図である。
図4】本開示のいくつかの態様による、拡張された等化範囲のためのプログラマブル構成可能性を有する送信ドライバアーキテクチャを示すブロック図及び表である。
図5】本開示のいくつかの態様による、データを駆動するための例示的な動作の流れ図である。
図6】本開示の態様が実施され得る、プログラマブルデバイスのための例示的なアーキテクチャを示すブロック図である。
【発明を実施するための形態】
【0009】
理解を容易にするために、可能な場合には、図面に共通する同一の要素を示すために同一の参照番号が使用されている。一例の要素は、特定の列挙なしに他の例に有益に組み込まれ得ることが企図される。
【0010】
本開示のいくつかの態様は、概して、シリアライザ/デシリアライザ(SerDes)送信機などのための送信(TX)ドライバアーキテクチャに関する。TXドライバアーキテクチャは、ミッションモードにおいて電流モードドライバとして機能し得るが、高データレート(例えば、128Gbps)において電圧モードドライバとしてJTAG構成をサポートし得る。加えて、TXドライバアーキテクチャは、プリカーソル及びポストカーソルの両方について、拡張された等化範囲を有し得る。いくつかの例では、TXドライバアーキテクチャは、複数の電源ドメインと、パワーダウンモード中などに信頼性を高めるための追加の回路とを有し得る。
【0011】
様々な特徴が、図面を参照して以下に記載される。図面は縮尺どおりに描かれている場合もあるか、描かれていない場合もあり、同様の構造又は機能の要素は図面全体を通して同様の参照番号によって表されていることに留意されたい。図面は、特徴の説明を容易にすることのみを意図していることに留意されたい。図面は、網羅的な説明として、又は特許請求の範囲に対する限定として意図されていない。加えて、例解された例は、示された全ての態様又は利点を有する必要はない。特定の実施例に関連して説明される態様又は利点は、必ずしもその実施例に限定されず、そのように例解されていない場合、又はそのように明示的に説明されていない場合であっても、任意の他の実施例において実施することができる。
【0012】
例示的なSerDes回路
図1は、本開示の態様が実施され得る、例示的なSerDes回路100のブロック図である。示されるように、SerDes回路100は、シリアライザ102と、SerDes送信機104(「TX」とラベル付けされる)と、送信クロックを提供するための位相ロックループ(PLL)106と、シリアルチャネル108A、108Bの差動対と、SerDes受信機110(「RX」とラベル付けされる)と、クロックデータリカバリ(CDR)回路112と、受信側のPLL114と、デシリアライザ116とを含み得る。
【0013】
シリアライザ102は、パラレルインタフェース上で受信されたデータをシリアルインタフェースに変換し、シリアルデータの信号(例えば、ビットストリーム)をSerDes送信機104に提供する。SerDes送信機104は、シリアルデータ信号を増幅し、シリアルチャネル108A、108B上に差動信号を出力し得るドライバを含み得る。ドライバは、電圧モードドライバとして、又は電流モード論理(CML)ドライバとして実装され得る。いくつかの態様では、SerDes送信機104は、チャネル108A、108Bにおける損失を補償する(又は少なくとも調整する)ことなどによって、SerDes回路100の信号完全性を改善するために、等化を実行することもできる。SerDes送信機104によって出力される差動信号は、例えば、低電圧差動信号(LVDS)であってもよい。いくつかの態様では、シリアルチャネル108Aは、差動対の非反転信号を搬送し得、シリアルチャネル108Bは、差動対の反転信号(すなわち、相補信号)を搬送し得る。いくつかの態様では、SerDes送信機104によって出力された差動信号は、PLL106によって出力された送信クロックに従ってサンプリング及び生成され得る。PLL106は、例えば、シリアルデータ伝送に用いられる高速なマスタクロックを生成するクロックシンセサイザ回路として用いることができる。
【0014】
SerDes受信機110は、シリアルチャネル108A、108B上のシリアルデータの差動信号を受信し、受信した差動信号を増幅することができる。いくつかの態様では、SerDes受信機110は、SerDes送信機104によって実行される等化に加えて、受信された差動信号の等化を実行することができる。CDR回路112は、SerDes受信機110の出力に結合され、タイミングリカバリを実行して、信号をサンプリングするために使用されるマスタクロックを回復し、SerDes受信機110において受信クロックを生成する。いくつかの態様では、CDR回路112は、PLL114を介して基準クロック信号を受信し得る。デシリアライザ116は、SerDes受信機110によって出力されたシリアル信号をパラレル形式に変換する。
【0015】
伝送線における信号完全性は、長年にわたって設計上の関心事であり、そのような伝送線を横断するデータに対してデータレートが増加し続けるので、依然として存在する。信号が相互接続間を移動するとき、信号が異なる構成要素を通過するときに信号の電気的劣化が生じる可能性がある。これらの波形歪みは、スタブ及びビアのようなインピーダンス不整合、周波数依存減衰、及び信号トレース間の電磁結合(例えば、クロストーク)によって引き起こされ得る。データレートを増加させるために追加のチャネルが追加されて設計がより洗練されるにつれて、全体的な信号完全性は更により重要になる可能性がある。例示的な現代のシリアルリンクは、リンクの各端部でSerDesを使用することができ、各エンドポイントはそれ自体の送信機及び受信機を有する。
【0016】
異なる構成要素に存在する単一のSerDes回路のための送信機及び受信機では、送信機及び受信機は、異なるタイプ及び量の等化を有し得る。したがって、SerDes送信機104及び/又は受信機110は、チャネル異常を補償又は少なくとも調整するために、フィードフォワード等化器(FFE)、連続時間線形等化器(CTLE)、又は決定帰還等化器(DFE)などの等化器を組み込むことができる。等化方法は、線形又は非線形であり得る。超小型電子回路実装形態では、等化器は、連続時間(非サンプリング)又は離散時間(サンプリング)のいずれかであり得る。信号振幅は、離散的(デジタル)又は連続的(アナログ)であり得る。等化器はまた、適応型又は固定型のいずれかであってもよく、適応アルゴリズムは、例えば、ゼロフォーシング(ZF)、最小平均二乗(LMS)(又は最小平均二乗誤差(MMSE))、又は何らかの非線形アプローチであってもよい。更に、等化器の目標応答は、完全応答又は部分応答のいずれかであってもよい。等化器フィルタは、有限インパルス応答(FIR)フィルタ又は無限インパルス応答(IIR)フィルタのいずれかを用いて設計され得る。各等化方式は、特定の用途に関してその長所と短所を有する。
【0017】
送信等化(例えば、フィールドプログラマブルゲートアレイ(FPGA)において使用されてもよく、「プリエンファシス」と称されてもよい))は、チャネルを通した損失の予期される量を補償する、又は少なくとも調整するために、信号の高周波数コンテンツを増幅することによって、送信信号を事前に歪める。等化のためにTXドライバ設計に適用される最も一般的な技法の1つは、プリカーソル及びポストカーソルを主信号に追加することである。一般に、より良好な信号完全性は、より高い範囲の等化によって達成することができる。プリカーソル及びポストカーソルの典型的な範囲は0.28であるが、データレートが(例えば、112Gbpsに)増加するにつれて、より高いプリカーソル/ポストカーソル等化が関係付けられ得る。本開示のいくつかの例は、より高いデータレート(例えば、112Gbps)において強化された信号完全性を提供する、より広い範囲の等化(最大0.40)を提供する。
【0018】
例示的なTXドライバアーキテクチャ
図2は、本開示のいくつかの態様による、電流モードドライバを用いて実装される例示的なSerDes送信機200のブロック図である。SerDes送信機200は、SerDes回路(例えば、SerDes回路100)内のSerDes送信機(例えば、SerDes送信機104)として使用されてもよい。図2に示すように、SerDes送信機200は、1つ以上のデータ経路セル202と、1つ以上のドライバユニットセル204と、抵抗要素R1、R2からなる負荷とを含む。
【0019】
いくつかの態様では、データ経路セル202は、送信のための入力データを受信し、受信された入力データに対して信号処理を実行し得る。例えば、この信号処理は、変調(例えば、4レベル位相振幅変調(PAM4)への)、等化(例えば、1つ以上のマルチタップFIRフィルタを使用する)、及び/又はデジタル-アナログ変換(例えば、1つ以上の電流ステアリングデジタル-アナログ変換器(DAC)を使用する)を含んでもよい。データ経路セル202は、(「Vinp」及び「Vinn」とラベル付けされた)差動ノード対上の差動電圧信号をドライバユニットセル204に出力し得る。いくつかの態様では、処理されたデータは、ドライバユニットセル204に出力される前に、1つ以上のバッファ(プリドライバとも呼ばれる)によってバッファリングされ得る。
【0020】
ドライバユニットセル204は、示されるように、電流モード論理(CML)ドライバとして実装され得る。CMLドライバは、差動入力ノード対Vinp/Vinn上で差動電圧信号を受信し、(「txp」及び「txn」とラベル付けされた)差動出力ノード対上で差動出力電流を生成するように構成された差動トランスコンダクタンス段を含む。図2に示されるように、トランスコンダクタンス段は、n型トランジスタMcw_p及びMcw_nによって実装され得る。ドライバユニットセル204はまた、トランジスタMcw_p及びMcw_nのソースとドライバユニットセル204の基準電位ノード(例えば、電気接地)との間に結合され得る電流シンク「Ibias」とラベル付けされる)を含み得る。トランジスタMcw_p及びMcw_nのゲートは、差動入力ノード対Vinp/Vinnにそれぞれ接続され、トランジスタMcw_p及びMcw_nのドレインは、負荷抵抗要素R1、R2に接続され得る。抵抗要素R1、R2はまた、(「avcc」とラベル付けされた)電源レール211に結合され得る。いくつかの例では、電源レール211は0.88Vの電圧を有し得る。いくつかの態様では、抵抗要素R1、R2は調整可能である。この場合、抵抗要素R1、R2のいずれか又は両方は、抵抗要素のスイッチドアレイによって実装され得る。
【0021】
図2には示されていないが、ドライバユニットセル204はまた、抵抗要素R1、R2と差動出力ノード対との間に誘導要素を含むことができる。いくつかの態様では、誘導要素は、ドライバユニットセル204を静電放電(ESD)から保護するためのESD保護回路に結合され得る。
【0022】
ジョイントテストアクショングループ(JTAG)規格は、エンジニア及び他の者が少数の専用テストピンを使用してシステム上で大規模なデバッグ及び診断を実行することを可能にするための最も効率的かつ一般的な方法の1つであった。JTAGでは、時には様々な条件下で、デバイスの入力を制御し、デバイスの出力をテストするために、信号がデバイスの入力/出力(I/O)セルの内外に連続してスキャンされる。送信機側でJTAGを実施する典型的な方法の1つは、データを実際のデータとテスト信号データとの間で構成可能にする送信機データ経路内に追加のデータ経路を追加することによるものである。しかしながら、データレートが増加し、設計がより複雑になるにつれて、データ経路チェーン内のJTAGのためのそのような追加のデータ経路を適用することは、データ経路における追加の負荷に起因して、過剰な電力を消費する可能性がある。本開示のいくつかの例は、テスト/デバッグモード(例えば、JTAGモード)におけるTXドライバ回路のための電圧モードトポロジと、ミッションモードにおけるTXドライバ回路のための電流モードトポロジとを実装し、それによってミッションモード中のデータ経路又はドライバの任意の性能の劣化を回避することによって、この問題を解決し得る。
【0023】
更に、TXドライバアーキテクチャがより複雑になるにつれて、設計が大量生産中に低い歩留まりを有さないか、又は指定された寿命内に故障しないことを確実にするために、信頼性がますます重要な関心事になり得る。電流モードドライバトポロジは大きな電圧スイングを経験し得るので、ドライバユニットセルは、異なるスイング条件下で信頼性の問題を有し得る。本開示のいくつかの例は、任意の大きなゲートソース間電圧(Vgs)又はドレインソース間電圧(Vds)問題を回避するために、TXドライバ回路に2つの異なる電源ドメインを提供することによって、この問題を回避する。いくつかの例では、TXドライバ回路はまた、様々な電力シーケンスシナリオにおいて(例えば、パワーダウンモードにおいて)、信頼性が維持されることを保証するために、いくつかのスイッチを含み得る。
【0024】
JTAG構成サポートを有する例示的なTXドライバ
上記で説明したように、本開示のいくつかの例は、テスト/デバッグモード(例えば、JTAGモード)において電圧モードトポロジで動作し、ミッションモードにおいて電流モードトポロジで動作することが可能な送信(TX)ドライバ回路を提供し、それによって、ミッションモード中にデータ経路又はドライバの任意の性能を劣化させることを回避し、例えば、128GbpsデータレートにおいてJTAG構成をサポートする。
【0025】
図3Aは、本開示のいくつかの態様による、JTAG入力回路302及び302(本明細書ではまとめて「JTAG入力回路302」と呼ばれる)を有する送信ドライバ回路300の例示的な実装形態を示す回路図である。JTAG入力回路302に加えて、送信ドライバ回路300は、複数のドライバユニットセル204、誘導要素L1、L2、L3、及びL4、ESD保護回路303及び303、抵抗要素R1及びR2、並びに電力スイッチ306を含む。
【0026】
JTAG入力回路302は、1つ以上のドライバのセット(例えば、バッファ又はインバータ304、304)を含み、JTAG入力回路302は、1つ以上のドライバのセット(例えば、バッファ又はインバータ304、304)を含む。インバータ304、304、304、及び304は、本明細書では集合的に「インバータ304」と呼ばれる。インバータ304は、(「avccaux」とラベル付けされた)電源レール311に結合された電力入力を有する。インバータ304の入力は、差動JTAG入力ノード対のテストデータ経路ノード(「dslow」とラベル付けされた第1のテストノード)に結合され、インバータ304の入力は、差動JTAG入力ノード対の相補的テストデータ経路ノード(「dslow_b」とラベル付けされた第2のテストノード)に結合される。インバータ304の出力は、インバータ304の入力に結合され、インバータ304の出力は、(例えば、抵抗要素R1及び誘導素子L1、L2を介して)txpノードに結合され得るノード312に結合される。インバータ304の出力は、インバータ304の入力に結合され、インバータ304の出力は、(例えば、抵抗要素R2及び誘導素子L3、L4を介して)txnノードに結合され得るノード313に結合される。
【0027】
図3Aにおいて、抵抗要素R1は、抵抗要素305のスイッチドアレイ(「スイッチド抵抗アレイ」又は「スイッチド抵抗ネットワーク」とも呼ばれる)として実装される。抵抗要素305のスイッチドアレイは、n+1個の分岐を含み、ここでnは正の整数であり、1つの分岐は抵抗要素R1nを含み、他の分岐は、それぞれのp型トランジスタ(「MR」~「MRn-1」とラベル付けされている)と直列に結合された抵抗要素(「R1」~「R1n-1」とラベル付けされている)を含む。特定のトランジスタを選択的にオン及びオフにすることによって、抵抗要素R1に対して異なる抵抗を選択することができ、それによって調整可能な抵抗要素を実装することができる。図3Aには示されていないが、抵抗要素R2は、追加又は代替として、同じ数n又は異なる数の分岐を有する抵抗要素のスイッチドアレイとして実装されてもよい。
【0028】
電力スイッチ306は、電源レール311とJTAG入力回路302の出力ノード312、313との間に結合され得る。電力スイッチ306は、図3Aに示されるように、p型トランジスタM7、M8によって実装され得る。この場合、トランジスタM7、M8のソースは電源レール311に結合され得、トランジスタM7、M8のゲートは、トランジスタM7、M8の動作を制御するための制御信号のための電力スイッチ制御ノードに結合され得る。トランジスタM7のドレインは、出力ノード312に結合され得、トランジスタM8のドレインは、出力ノード313に結合され得る。
【0029】
上記で説明したように、送信ドライバ回路300はPAM4をサポートし得る。したがって、送信ドライバ回路300は、3つのドライバユニットセル204、すなわち、LSB<0>のためのドライバユニットセル204、MSB<1>のためのドライバユニットセル204、及びMSB<0>のためのドライバユニットセル204を含む。3つのドライバユニットセル204は、互いの複製バージョンであってもよい。各ドライバユニットセルは、プリドライバ320と、n型トランジスタMcw_p及びMcw_n(図2に関して上記で説明したように)と、プルアップp型トランジスタMpull_p及びMpull_nと、Vb,mnとラベル付けされた制御信号でバイアスされた電流シンクn型トランジスタMcsp及びMcsnとを含み得る。読者は、送信ドライバ回路が3つより多い又は少ないドライバユニットセル204を含み得ることを理解するであろう。
【0030】
図3Aの送信ドライバ回路300に示されるように構成されたJTAG入力回路302及び電力スイッチ306を用いて、JTAG入力回路302は、使用されていないとき(例えば、ミッションモード中)に無効にされるか又は電源切断され得、送信ドライバ回路300は、電流モードドライバとして機能し、電源レール311から電力を受信して、差動出力ノード対txp/txnにおいて差動出力電流を生成し得る。負荷キャパシタンスは、差動出力ノード対txp/txnにおいて高くてもよく、したがって、JTAG入力回路302の追加の負荷は、ミッションモードにおけるドライバ性能に著しい影響を及ぼさなくてもよい。
【0031】
図3Bは、本開示のいくつかの態様による、JTAGモード中の図3Aの送信ドライバ回路300の例示的な動作を示す図である。JTAGモードの間、電力スイッチ306、ドライバユニットセル204、及びデータ経路セル202は、図3Bに示されるように、オフにされるか、又は別様に効果的に無効にされ得る。このようにして、JTAGモードにおけるテスト経路データは、データ経路セル202を通してではなく、テストデータ経路ノードdslow/dslow_bを有するJTAG入力回路302を介して入力され、送信ドライバ回路300は、インバータ304、抵抗要素R1、R2、及び誘導素子L1~L4を通して差動出力ノード対txp/txnへの電圧モードドライバとして機能する。この電圧モードJTAG構成は、テスト経路が最大の効率性で動作することを可能にし得る。
【0032】
複数の電源ドメイン及び信頼性のためのスイッチを有する例示的なTXドライバ
上記で説明したように、電流モードドライバアーキテクチャは比較的大きい電圧スイングをサポートするので、ドライバユニットセルによって見られる大きいドレインソース間電圧(Vds)に起因して、ドライバユニットセル204に関する信頼性の懸念があり得る。本開示のいくつかの例は、大きなゲートソース間電圧(Vgs)又はVdsの問題を回避するために、2つの異なる電源ドメインを有する送信(TX)ドライバ回路を提供する。
【0033】
図3Cは、本開示のいくつかの態様による、各分岐内に複数の電源ドメイン及び複数の電力スイッチを有する送信ドライバ回路350の例示的な実装形態を示す回路図である。送信ドライバ回路350は、図3Aの送信ドライバ回路300と同様であるが、JTAG入力回路302は、図3Cの送信ドライバ回路350においてオプションである。送信ドライバ回路350は、(「avccaux」とラベル付けされた)電源レール311とノード312、313との間にそれぞれ結合されたp型トランジスタM7及びM8を含む。送信ドライバ回路350はまた、(「avtt」とラベル付けされた)追加の電源レール351と、電源レール351と)ノード312、313との間にそれぞれ結合されたp型トランジスタM9及びM10とを含む。
【0034】
電源レール311は、電源レール351よりも大きい電圧を有し得る。例えば、電源レール311は1.5Vの(avccaux)電圧を有し得、電源レール351は1.2Vの(avtt)電圧を有し得る。送信ドライバ回路350の動作中、ノード312、313は、比較的大きいスイングシナリオ(例えば、ドライバユニットセル204のVdsが>0.8Vである)において、トランジスタM7及びM8を介して電源レール311に結合され得る。しかしながら、より小さいスイングシナリオ(例えば、Vds<0.8V)では、ノード312、313は、トランジスタM9及びM10を介して電源レール351に結合され得る。そのような動作は、低スイング条件下で電力を節約するだけでなく、(大スイングシナリオ及び小スイングシナリオにおいて)信頼性を改善し、ドライバユニットセル204が経時的に故障することを防止する。
【0035】
送信ドライバ回路がパワーダウンされている間も同様に、送信ドライバ回路がパワーダウンモード中に信頼性問題を有しないことを確実にすることが望ましい場合がある。したがって、電力スイッチ(例えば、トランジスタM7、M8、M9、及びM10)は、厚い酸化膜トランジスタを使用して設計され得る。更に、図3Dに示されるように、パワーダウンモードにおける信頼性を維持するために、いくつかのスイッチが送信ドライバ回路350に追加され得る。例えば、図3Dの送信ドライバ回路の1つの分岐(ノード312を含む)は、p型トランジスタM11、M12、及びM13と、インバータ356及び358とを含む。図3Dの送信ドライバ回路のこの同じ分岐はまた、n型トランジスタM14及びインバータ360を含む。これらの構成要素は、送信ドライバ回路の他の分岐(ノード313を含む)のために複製され得ることを理解されたい。
【0036】
図3Dに示すように、p型トランジスタM7は、(「avccaux」とラベル付けされた)電源レール311に結合されたソース及びボディと、ノード312に結合されたドレインと、インバータ356の(「enb_aux」とラベル付けされた)出力に結合されたゲートとを有する。インバータ356のデータ入力は、「en_aux」とラベル付けされた入力を受信し、インバータ356の電力入力は、電源レール311に結合される。このようにして、トランジスタM7は、en_auxがアサートされるときにオンにされ得る。トランジスタM11は、(「avtt」とラベル付けされた)電源レール351に結合されたソースと、プルアップ抵抗R11を介して電源レール311に結合されたボディと、電源レール311に結合されたゲートと、インバータ356の出力に結合されたドレインとを有する。したがって、トランジスタM11は、パワーダウンモードにおいてトランジスタM7に関連付けられた電力スイッチ回路を通る送信ドライバ回路内の任意の著しい漏れ電流を防止するために使用され得る。
【0037】
更に、トランジスタM11は、電源レール311及び351上の電圧avccaux及びavttがそれぞれ引き上げられる順序がランダムであり得る電力引き上げシナリオ中に、著しい漏れを防止するために使用され得る。例えば、avttがオン(例えば、1.2V)であるが、avccauxが依然としてオフ(例えば、0V)であるシナリオの場合、トランジスタM11は、トランジスタM7のゲートをavttまでプルアップし、このシナリオにおいてトランジスタM11がなければ発生し得るトランジスタM7を通る著しい漏れを防止するために使用され得る。
【0038】
P型トランジスタM9は、電源レール351に結合されたソースと、プルアップ抵抗R9を介して電源レール311に結合されたボディと、ノード312に結合されたドレインと、(「enb_avtt_sw」とラベル付けされた)ノード371に結合されたゲートとを有する。トランジスタM12は、電源レール351に結合されたソースと、プルアップ抵抗R12を介して電源レール311に結合されたボディと、相補型パワーオンレジスト制御ノード(「porb_avtt」とラベル付けされている)に結合されたゲートと、ノード371に結合されたドレインとを有する。トランジスタM13は、ノード371に結合されたドレインと、(「por_avtt」とラベル付けされた)パワーオンレジスト制御ノードに結合されたゲートと、(「enb_avtt」とラベル付けされた)インバータ358の出力に結合されたソース及びボディとを有する。インバータ358のデータ入力は、「en_avtt」とラベル付けされた入力を受信し、インバータ358の電力入力は、電源レール311に結合される。
【0039】
トランジスタM14は、ノード312に結合されたドレインと、送信ドライバ回路のための基準電位ノード(例えば、電気接地)に結合されたソース及びボディと、インバータ360の出力に結合されたゲートとを有する。インバータ360は、(「avcc」とラベル付けされた)電源レール211に結合されたデータ入力と、avccaux電圧の約半分の電圧(例えば、0.75V)に結合された電力入力とを有する。このようにして、トランジスタM14は、差動出力ノード対txp/txnにおける出力電圧がパワーダウンモードにおいてavccaux/2であることを保証して、送信ドライバ回路をパワーダウンしている間のドライバユニットセル204についての大きいVdsに起因する任意の信頼性問題を回避するために使用される。抵抗要素のスイッチドアレイ中のトランジスタのゲート電圧は、送信ドライバ回路のパワーダウン中の大きなVgs問題を回避するために、avccaux電圧ドメイン中にあり得る。
【0040】
拡張されたプリカーソル及びポストカーソル範囲を有する例示的なTXドライバ
上記で提示したように、本開示のいくつかの例は、より高いデータレート(例えば、112又は224Gbps)において強化された信号完全性を提供する、より大きい範囲の等化(最大0.40)を有する送信ドライバアーキテクチャを提供する。図4のブロック図400及び表420に示されるように、送信ドライバアーキテクチャ(より具体的には、例えば、図2のデータ経路セル202)は、(例えば、有限インパルス応答(FIR)フィルタを使用して)送信ドライバスイング及び等化を制御するための制御モジュール402を含み得る。このアーキテクチャは、2つのメインカーソルスライス408、406(それぞれ「Main0」及び「Main1」とラベル付けされる)、1つのポストカーソルスライス404(「Post1」とラベル付けされる)、及び3つのプリカーソルスライス410、412、414(それぞれ「Pre1」、「Pre2」、及び「Pre3」とラベル付けされる)を使用し、これらは制御モジュール402によって制御される。制御モジュール402並びに(プリ-/ポスト-)カーソルスライス404、406、408、410、412、及び414は、例えば、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)若しくは他のプログラマブル論理デバイス、特定用途向け集積回路(ASIC)、又は汎用プロセッサにおいて実装され得る。
【0041】
任意のスワッピングの前の元のカーソル(表420において「ORIカーソル」とラベル付けされている)として、メインカーソルスライス408、406は、プリカーソルスライス410、412、414及びポストカーソルスライス404の2倍の電流を使用する(及び2倍のカーソル重み付けを有する)ことができる。例えば、メインカーソル重み付けは50%であってもよく、プリカーソル及びポストカーソル重み付けは25%(すなわち半分)であってもよい。表420はまた、「重み」とラベル付けされた行において、上述のようなPAM4実装形態の場合、最上位ビット(MSB)が最下位ビット(LSB)の2倍だけ重み付けされることを示す。各カーソルスライスに対するテーブル420の「重み」行において、左列はMSBに対する相対重みを表し、右列はLSBに対する相対重みを表す。
【0042】
0.40までの等化範囲を達成するために、図4の表420に示されるように、プログラム可能な設計技法が実装され得る。このプログラム可能な設計では、プリカーソルスライス(例えば、Pre1)及び/又はポストカーソルスライス(例えば、Post1)は、メインカーソルスライスのうちの1つとして構成され得、メインカーソルスライスのうちの1つは、代わりに、プリカーソルスライス又はポストカーソルスライスとして構成され得る。したがって、プリカーソルスライス410(Pre1)は、(メインカーソルスライスの公称50%カーソル重み付けではなく)25%カーソル重み付けを有するメインカーソルスライスとして機能することができ、及び/又はポストカーソルスライス404(Post1)は、25%カーソル重み付けを有するメインカーソルスライスとして機能することができる。更に、メインカーソルスライス408は、(プリカーソルスライスの公称25%カーソル重み付けではなく)50%カーソル重み付けを有するプリカーソルスライスとして機能することができ、及び/又はメインカーソルスライス408は、(ポストカーソルスライスの公称25%カーソル重み付けではなく)50%カーソル重み付けを有するポストカーソルスライスとして機能することができる。メインカーソルスライス406、408は、より高い量の電流をサポートするので、このプログラム可能性特徴は、送信ドライバアーキテクチャが、追加のカーソルスライスを使用することなく0.40レベルの等化を達成することを可能にし、それによって、電力及び面積を節約する一方で、依然として、設計が容易な構成可能性を維持することを可能にする。カーソルスライスのこのプログラム可能な構成可能性は、制御モジュール402によって制御され得、送信ドライバ回路が存在するシステムの特性に依存し得る。
【0043】
例示的なTXドライバ動作
図5は、本開示のいくつかの態様による、データを駆動するための例示的な動作500の流れ図である。動作500は、送信ドライバ回路(例えば、送信ドライバ回路300又は350)によって実行され得る。
【0044】
動作500は、ブロック502において、送信ドライバ回路のドライバユニットセル(例えば、ドライバユニットセル204)の差動入力ノード対(例えば、差動入力ノード対Vinp/Vinn)において入力データ信号を受信することによって開始し得る。ブロック504において、送信ドライバ回路は、ドライバユニットセルを使用して出力データ信号を生成し、ブロック506において、送信ドライバ回路の差動出力ノード対(例えば、差動出力ノード対txp/txn)において出力データ信号を出力し得る。送信ドライバ回路は、差動出力ノード対と1つ以上の電源レール(例えば、電源レール311、351)との間に結合された複数の電力スイッチ(例えば、電力スイッチ306)と、差動テストデータ経路の第1のテストノード(例えば、ノードdslow)と差動出力ノード対の第1の出力ノード(例えば、ノードtxp)との間に結合された第1のセット(例えば、JTAG入力回路302)の1つ以上のドライバ(例えば、インバータ304)と、差動テストデータ経路の第2のテストノード(例えば、ノードdslow_b)と差動出力ノード対の第2の出力ノード(例えば、ノードtxn)との間に結合された第2のセット(例えば、JTAG入力回路302)の1つ以上のドライバ(例えば、インバータ304)と、を含む。
【0045】
いくつかの態様によれば、動作500は、ブロック508において、ドライバユニットセル及び複数の電力スイッチを電源オフすることを更に伴い得る。いくつかの態様では、送信ドライバ回路は、ブロック510において、差動テストデータ経路において入力テスト信号を受信し、ブロック512において、第1のセットの1つ以上のドライバ及び第2のセットの1つ以上のドライバを用いて、入力テスト信号を駆動し、ブロック514において、差動出力ノード対において出力テスト信号を出力することができ、その間、ドライバユニットセル及び複数の電力スイッチは、(例えば、図3Bのように)電源オフされる。この場合、入力テスト信号は、ジョイントテストアクショングループ(JTAG)信号を含んでもよい。
【0046】
いくつかの態様によれば、複数の電力スイッチは、1つ以上の電源レールのうちの第1の電源レール(例えば、電源レール311)と差動出力ノード対の第1の出力ノードとの間に結合された第1のスイッチ(例えば、トランジスタM7)と、1つ以上の電源レールのうちの第2の電源レール(例えば、電源レール351)と差動出力ノード対の第1の出力ノードとの間に結合された第2のスイッチ(例えば、トランジスタM9)であって、第1の電源レールは、第2の電源レールの第2の電圧(例えば、avtt=1.2V)とは異なる第1の電圧(例えば、avccaux=1.5V)を有する、第2のスイッチと、第1の電源レールと差動出力ノード対の第2の出力ノードとの間に結合された第3のスイッチ(例えば、トランジスタM8)と、第2の電源レールと差動出力ノード対の第2の出力ノードとの間に結合された第4のスイッチ(例えば、トランジスタM10)と、を含む。この場合、出力データ信号を生成することは、第1及び第3のスイッチが閉じられ、第2及び第4のスイッチが開かれた状態で送信ドライバ回路に電力供給することを伴い得る。送信ドライバ回路のスイング条件(例えば、低スイングシナリオ)に基づいて、送信ドライバ回路は、第2及び第4のスイッチが閉じられ、第1及び第3のスイッチが開かれた状態で電力供給されるように変化し得る。
【0047】
いくつかの態様によれば、動作500は、等化のために、2つのメインカーソル(例えば、メインカーソルスライス406、408)、1つのポストカーソル(例えば、ポストカーソルスライス404)、及び3つのプリカーソル(例えば、プリカーソルスライス410、412、414)に基づいて入力データ信号を生成することを更に含む。この場合、入力データ信号を生成することは、メインカーソルのうちの第1のメインカーソル(例えば、Main0)を、プリカーソルのうちの1つ(例えば、Pre1)の公称カーソル重み付け(例えば、25%)よりも高いカーソル重み付け(例えば、50%)を有するプリカーソルのうちの1つとして機能するようにプログラムすること、ポストカーソルに対する公称カーソル重み付け(例えば、25%)よりも高いカーソル重み付け(例えば、50%)を有するポストカーソル(例えば、Post1)として機能するように、メインカーソルのうちの第2のメインカーソル(例えば、Main1)をプログラムすること、メインカーソルのうちの第1のメインカーソルの公称カーソル重み付け(例えば、50%)よりも低いカーソル重み付け(例えば、25%)でメインカーソルのうちの第1のメインカーソルとして機能するように、プリカーソルのうちの1つ(例えば、Pre1)をプログラムすること、又は、(例えば、メインカーソルのうちの第2のメインカーソルに対する公称カーソル重み付けよりも低いカーソル重み付けを有する)メインカーソルのうちの第2のメインカーソルとして機能するように、ポストカーソルをプログラムすること、のうちの少なくとも1つを含み得る。
【0048】
例示的なプログラマブル集積回路
本明細書で説明される送信ドライバアーキテクチャは、例えば、シリアライザ/デシリアライザ(SerDes)システムの送信ドライバにおいて実装され得る。SerDes送信機(例えば、SerDes送信機104)は、集積回路(IC)又はモジュールなど、様々な好適なデバイス又はシステムのいずれかに含まれ得る。
【0049】
1つ以上のSerDes送信ドライバ(例えば、SerDes送信機104)を利用し得る1つのタイプのICは、フィールドプログラマブルゲートアレイ(FPGA)などのプログラマブルICである。FPGAは、典型的に、プログラマブルタイルのアレイを含む。これらのプログラマブルタイルは、例えば、入力/出力ブロック(IOB)、構成可能論理ブロック(CLB)、専用ランダムアクセスメモリブロック(BRAM)、倍率器、デジタル信号処理ブロック(DSP)、プロセッサ、クロックマネージャ、及び遅延ロックループ(DLL)などを含み得る。別のタイプのプログラマブルICは、複合プログラマブル論理デバイス、すなわちCPLDである。CPLDは、相互接続スイッチマトリックスによって互いに接続され、入力/出力(I/O)リソースに接続された2つ以上の「機能ブロック」を含む。CPLDの各機能ブロックは、プログラマブル論理アレイ(PLA)及びプログラマブルアレイ論理(PAL)デバイスで使用されるものと同様の2レベルAND/OR構造を含む。他のプログラマブルICは、デバイス上の様々な要素をプログラム可能に相互接続する金属層などの処理層を適用することによってプログラムされる。これらのプログラマブルICは、マスクプログラマブルデバイスとして知られている。「プログラマブルIC」という語句は、特定用途向け集積回路(ASIC)など、部分的にのみプログラム可能なデバイスも包含することができる。
【0050】
図6は、プログラマブルデバイスのための例示的なアーキテクチャ600を示すブロック図である。アーキテクチャ600は、例えば、フィールドプログラマブルゲートアレイ(FPGA)内に実装され得る。示されるように、アーキテクチャ600は、いくつかの異なるタイプのプログラマブル回路(例えば、論理ブロック)を含む。例えば、アーキテクチャ600は、マルチギガビットトランシーバ(multi-gigabit transceiver、「MGT」)601、構成可能論理ブロック(configurable logic block、「CLB」)602、ランダムアクセスメモリブロック(blocks of random access memory、「BRAM」)603、入力/出力ブロック(input/output block、「IOB」)604、構成及びクロッキング論理(configuration and clocking logic、「CONFIG/CLOCKS」)605、デジタル信号処理(DSP)ブロック606、専用入力/出力ブロック(「I/O」)607(例えば、構成ポート及びクロックポート)、及びデジタルクロックマネージャ、アナログ-デジタル変換器(ADC)、システム監視論理などの他のプログラマブル論理608を含む多数の異なるプログラマブルタイルを含み得る。
【0051】
いくつかのFPGAでは、各プログラマブルタイルは、それぞれの隣り合うタイルにおいて、対応する相互接続要素611間に標準化接続を有するプログラマブル相互接続要素(interconnect element、INT)611を含む。したがって、まとめられたINT611は、図示のFPGAのプログラマブル相互接続構造を実装する。各INT611はまた、図6の右端に含まれる例によって示されるように、同じタイル内のプログラマブル論理要素への接続及びプログラマブル論理要素からの接続を含む。
【0052】
例えば、CLB602は、ユーザ論理回路を実装するようにプログラムされ得る構成可能論理要素(configurable logic element、CLE)612に加え、単一のINT611を含むことができる。BRAM603は、1つ以上のINT611に加えて、BRAM論理要素(BRL)613を含むことができる。典型的に、タイルに含まれるINT611の数は、タイルの幅によって異なる。描写の実施例では、BRAMタイルの幅は、5個のCLBと同じであるが、他の個数(例えば、4個)も使用できる。DSPブロック606は、適切な数のINT611に加えて、DSP論理要素(「DSPL」)614を含み得る。IOB604は、例えば、INT611の1つのインスタンスに加えて、I/O論理要素(IOL)615の2つのインスタンスを含むことができる。当業者には明らかなように、例えば、I/O615に接続された実際のI/Oパッドは、典型的には、I/O615の領域に限定されない。
【0053】
図1に描写された例示的なアーキテクチャ600において、ダイの中心付近の水平領域(図6に斜線で示される)は、構成、クロック、及び他の制御論理(CONFIG/CLOCKS105)のために使用される。この中央領域から延びる他の垂直領域609を使用して、FPGAの幅全体にクロック及び構成信号を分配することができる。
【0054】
図6に示したアーキテクチャ600を活用したいくつかのFPGAは、FPGAの大部分を作り上げる規則的な行構造を中断させる更なる論理ブロックを含む。更なる論理ブロックは、プログラマブルブロック及び/又は専用倫理回路であってもよい。例えば、PROC610として示されるプロセッサブロックは、CLB602及びBRAM603のいくつかの行にまたがる。
【0055】
PROC610は、FPGAのプログラマブル回路を実装するダイの一部として製造されるハードワイヤードプロセッサとして実装され得る。PROC610は、個々のプロセッサ(例えば、プログラムコードを実行することができる単一コア)から、1つ以上のコア、モジュール、コプロセッサ、インタフェースなどを有する処理システム全体までの複雑さに及ぶ、様々な異なるプロセッサタイプ及び/又はシステムのいずれかを表すことができる。
【0056】
より複雑な構成では、例えば、PROC610は、1つ以上のコア(例えば、中央処理装置)、キャッシュメモリ、メモリコントローラ、ICのI/Oピン(例えば、I/Oパッド)に直接結合するように、及び/又はFPGAのプログラマブル回路に結合するように構成可能な単方向及び/又は双方向インタフェースを含むことができる。「プログラマブル回路」という語句は、IC内のプログラマブル回路要素(例えば、本明細書で説明する様々なプログラマブル又は構成可能回路ブロック又はタイル)、並びにFPGAにロードされる構成データに従って様々な回路ブロック、タイル、及び/又は要素を選択的に結合する相互接続回路を指すことができる。例えば、PROC610の外部にある図6に示された部分は、FPGAのプログラマブル回路の一部とみなされてもよい。
【0057】
図6は、プログラマブル回路(例えば、プログラマブルファブリック)と処理システムとを含むFPGAを実装するために使用され得る例示的なアーキテクチャ600を示すことが意図されている。例えば、図6の右側に含まれる、行における論理ブロックの個数、行の相対幅、行の個数と順番、行に含まれる論理ブロックのタイプ、その論理ブロックの相対サイズ、また相互接続/論理実装形態は、例示的なものである。実際のFPGAでは、例えば、ユーザ回路設計の効率的な実装形態を容易にするために、CLB602の2つ以上の隣接する行が、通常、CLBが現れる場所に含まれる。しかしながら、隣接するCLB行の数は、FPGAの全体的なサイズとともに変化し得る。更に、FPGA内のPROC610のサイズ及び/又は位置決めは、例示のみを目的としており、本開示の1つ以上の例の限定として意図されていない。
【0058】
本明細書で開示される方法は、説明された方法を達成するための1つ以上のステップ又はアクションを備える。方法ステップ及び/又はアクションは、特許請求の範囲から逸脱することなく、互いに交換され得る。言い換えれば、ステップ又はアクションの特定の順序が指定されない限り、特定のステップ及び/又はアクションの順序及び/又は使用は、特許請求の範囲から逸脱することなく修正され得る。
【0059】
上記で説明した方法の様々なプロセスは、対応するプロセス機能を実行することが可能な任意の好適な手段によって実行され得る。そのような手段は、限定はしないが、回路、フィールドプログラマブルゲートアレイ(FPGA)若しくは他のプログラマブル論理、特定用途向け集積回路(ASIC)、又はプロセッサを含む、様々なハードウェア及び/又はソフトウェア構成要素及び/又はモジュールを含み得る。概して、図に示された動作がある場合、それらの動作は、同様の番号付けを有する対応するミーンズプラスファンクション構成要素を有し得る。
【0060】
上記では、本開示において提示される態様が参照される。しかしながら、本開示の範囲は、特定の説明された態様に限定されない。代わりに、説明される特徴及び要素の任意の組み合わせは、異なる態様に関連するか否かにかかわらず、企図される態様を実装及び実践するために企図される。更に、本明細書に開示される態様は、他の可能な解決策又は従来技術に勝る利点を達成し得るが、特定の利点が所与の態様によって達成されるか否かは、本開示の範囲を限定するものではない。したがって、前述の態様、特徴、及び利点は、単に例示的なものであり、特許請求の範囲に明示的に列挙されている場合を除き、添付の特許請求の範囲の要素又は限定とはみなされない。換言すれば、他の例及び更なる例が、本開示の基本的な範囲から逸脱することなく考案され得、その範囲は、以下の「特許請求の範囲」によって決定される。
図1
図2
図3A
図3B
図3C
図3D
図4
図5
図6
【国際調査報告】