(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-16
(45)【発行日】2023-06-26
(54)【発明の名称】プログラマブル制御回路を用いた選択的なクロック信号の提供
(51)【国際特許分類】
G06F 1/10 20060101AFI20230619BHJP
H03K 5/13 20140101ALI20230619BHJP
H03K 5/15 20060101ALI20230619BHJP
H03K 19/177 20200101ALI20230619BHJP
【FI】
G06F1/10 510
H03K5/13
H03K5/15 Z
H03K19/177
(21)【出願番号】P 2020551767
(86)(22)【出願日】2018-12-06
(86)【国際出願番号】 US2018064315
(87)【国際公開番号】W WO2019125781
(87)【国際公開日】2019-06-27
【審査請求日】2021-09-13
(32)【優先日】2017-12-18
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】591025439
【氏名又は名称】ザイリンクス インコーポレイテッド
【氏名又は名称原語表記】XILINX INCORPORATED
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ガイド,ブライアン・シィ
(72)【発明者】
【氏名】ガヌソブ,イリヤ・ケイ
(72)【発明者】
【氏名】グエン,チ・エム
(72)【発明者】
【氏名】フー,ロバート・アイ
【審査官】松浦 かおり
(56)【参考文献】
【文献】特開2003-216271(JP,A)
【文献】特開平10-107599(JP,A)
【文献】特開平06-188725(JP,A)
【文献】特開2004-343291(JP,A)
【文献】特表2016-504650(JP,A)
【文献】特開2008-177947(JP,A)
【文献】米国特許第08130019(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/04 - 1/14
H03K 5/00 - 5/26
H03K 19/098-19/23
H03K 99/00
(57)【特許請求の範囲】
【請求項1】
回路装置であって、
論理回路と、
前記論理回路と接続され、第1の複数の双安定回路を含む入力レジスタロジックと、
前記入力レジスタロジックと結合された制御回路と、を備え、
前記第1の複数の双安定回路は複数の入力データ信号を受け、前記入力レジスタロジックは
、前記複数の入力データ信号のうちの入力データ信号と前記第1の複数の双安定回路のうちの双安定回路からの出力信号との間で選択して、前記入力レジスタロジックからの複数の出力データ信号のうちの1つの出力データ信号として提供するための迂回経路およ
びマルチプレクサ回路を含み、前記論理回路は、前記入力レジスタロジックからの前記複数の出力データ信号を受信するように結合され、
前記制御回路は、
入力クロック信号から、第1の遅延クロック信号と第2の遅延クロック信号とを含む複数の遅延クロック信号を生成し、
少なくとも1つの前記遅延クロック信号または前記入力クロック信号を、前記第1の複数の双安定回路のクロック入力へ選択的に提供し、かつ
少なくとも1つの前記遅延クロック信号または前記入力クロック信号を、前記論理回路へ選択的に提供するように構成され、
前記制御回路は、
第1の遅延クロック信号を前記第1の複数の双安定回路に供給し、第2の遅延クロック信号を前記論理回路に提供するように構成された可変クロック遅延ロジック回路を含む、回路装置。
【請求項2】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号の第1の遅延形式として前記第1の遅延クロック信号を生成し、かつ前記入力クロック信号の第2の遅延形式として前記第2の遅延クロック信号を生成し、前記第1の遅延クロック信号と前記入力クロック信号との間の遅延を、前記第2の遅延クロック信号と前記入力クロック信号との間の遅延よりも小さくし、
前記第1の遅延クロック信号を前記論理回路へ提供し、かつ
前記第2の遅延クロック信号を前記入力レジスタロジックへ提供するように構成される、請求項1に記載の回路装置。
【請求項3】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号を受信するように結合されかつ前記第1の遅延クロック信号を出力するように構成された第1の遅延回路を含む第1のクロックパスと、
前記第1の遅延回路の出力を受信するように結合されかつ前記第2の遅延クロック信号を出力するように構成された第2の遅延回路を含む第2のクロックパスと、を含み、
前記制御回路は、さらに、
前記第1の遅延クロック信号を前記論理回路へ選択的に提供し、かつ
前記第2の遅延クロック信号を前記入力レジスタロジックへ選択的に提供するようにプログラム可能である、請求項1または請求項2に記載の回路装置。
【請求項4】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号と前記可変クロック遅延ロジック回路の第1のマルチプレクサからの前記第1の遅延クロック信号とを受信するように結合されかつ第1のデュアルエッジクロック信号を生成するように構成された第1のデュアルエッジパルスジェネレータを含む第3のクロックパスと、
前記第2の遅延回路からの前記第2の遅延クロック信号と前記可変クロック遅延ロジック
回路の第2のマルチプレクサからの前記第1の遅延クロック信号とを受信するように結合されかつ第2のデュアルエッジクロック信号を生成するように構成された第2のデュアルエッジパルスジェネレータを含む第4のクロックパスとを含み、
前記制御回路は、
前記第1のデュアルエッジクロック信号を前記論理回路へ選択的に提供し、かつ
前記第2のデュアルエッジクロック信号を前記入力レジスタロジックへ選択的に提供するようにプログラム可能である、請求項3に記載の回路装置。
【請求項5】
前記制御回路は、
前記制御回路の第1のマルチプレクサから前記第1の遅延クロック信号または前記第2の遅延クロック信号を受信するように結合された第1のパルスジェネレータを含み、
前記第1のパルスジェネレータは、
前記第1の遅延クロック信号または前記第2の遅延クロック信号のパルス幅を低減し、かつ
第1の狭小クロック信号を前記入力レジスタロジックへ出力するように構成され、
前記制御回路は、
前記制御回路の第2のマルチプレクサから前記第1の遅延クロック信号、反転されたクロック信号、または前記第2のデュアルエッジクロック信号を受信するように結合された第2のパルスジェネレータを含み、
前記第2のパルスジェネレータは、
前記第1の遅延クロック信号、前記反転されたクロック信号、または前記第2のデュアルエッジクロック信号のパルス幅を低減し、かつ
第2の狭小クロック信号を前記入力レジスタロジックへ出力するように構成される、請求項4に記載の回路装置。
【請求項6】
前記制御回路は、さらに、
第1の初期化モードにおいて、
前記入力レジスタロジックへのクロック信号を、前記第1の複数の双安定回路をトランスペアレントにする状態に強制するために第1のグローバル信号をアサートし、かつ
前記第1の複数の双安定回路への初期値の伝播に続いて、前記第1の複数の双安定回路が前段から上流のデータ値を継承するように、前記第1のグローバル信号をデアサートするように構成され、
第2の初期化モードにおいて、
前記入力レジスタロジックへの前記クロック信号を、前記第1の複数の双安定回路をトランスペアレントとしない状態に強制するために第2のグローバル信号をアサートし、
前記第1の複数の双安定回路を特定の状態に強制する第3のグローバル信号を、前記入力レジスタロジックおよび前記論理回路に印加し、かつ
前記第2のグローバル信号をデアサートするように構成される、請求項1に記載の回路装置。
【請求項7】
前記第3のグローバル信号は、前記第1の複数の双安定回路の状態をローに強制するグローバルリセット信号である、請求項6に記載の回路装置。
【請求項8】
前記制御回路は、さらに、前記第1の複数の双安定回路の出力または前記第1の複数の双安定回路のデータ入力における信号を、前記論理回路の入力へ選択的に接続するようにプログラム可能である、請求項1に記載の回路装置。
【請求項9】
前記制御回路は、第2の複数の双安定回路を含み、
前記制御回路は、さらに、少なくとも1つの前記遅延クロック信号または前記入力クロック信号を、前記第2の複数の双安定回路のクロック入力へ選択的に提供するようにプログラム可能である、請求項1に記載の回路装置。
【請求項10】
前記入力レジスタロジックは、前記論理回路の各入力ごとに、それぞれのデータ選択回路を含み、前記それぞれのデータ選択回路は、他のそれぞれのデータ選択回路とは独立して、前記第1の複数の双安定回路のうちの双安定回路の出力または前記双安定回路のデータ入力における信号を、論理回路の入力へ選択的に接続するようにプログラム可能であり、
前記入力レジスタロジックは、前記第1の複数の双安定回路の各々ごとに、それぞれのクロック選択回路を含み、前記それぞれのクロック選択回路は、他のそれぞれのクロック選択信号とは独立して、少なくとも1つの前記遅延クロック信号または前記入力クロック信号を、前記双安定回路のクロック入力へ選択的に提供するようにプログラム可能である、請求項1に記載の回路装置。
【請求項11】
回路装置であって、
プログラム可能な論理回路の複数のブロックを備え、プログラム可能な論理回路の各ブロックは、論理演算を実行するように構成可能であり、
前記プログラム可能な論理回路の複数のブロックの間で、信号を選択的に経路指定するように構成可能なプログラム可能な相互接続回路と、
前記プログラム可能な論理回路の複数のブロックに結合され、第1の複数の双安定回路を含む入力レジスタロジックと、
前記入力レジスタロジックと結合された制御回路と、をさらに備え、
前記第1の複数の双安定回路は複数の入力データ信号を受け、前記入力レジスタロジックは
、前記複数の入力データ信号のうちの入力データ信号と前記第1の複数の双安定回路のうちの双安定回路からの出力信号との間で選択して、前記入力レジスタロジックからの複数の出力データ信号のうちの1つの出力データ信号として提供するための迂回経路およ
びマルチプレクサ回路を含み
、前記プログラム可能な論理回路の複数のブロックは、前記入力レジスタロジックからの前記複数の出力データ信号を受信するように結合され、
前記制御回路は、
入力クロック信号から、第1の遅延クロック信号と第2の遅延クロック信号とを含む複数の遅延クロック信号を生成し、
少なくとも1つの前記遅延クロック信号または前記入力クロック信号を、前記第1の複数の双安定回路のクロック入力へ選択的に提供し、かつ
少なくとも1つの前記遅延クロック信号または前記入力クロック信号を、前記プログラム可能な論理回路へ選択的に提供するように構成され、
前記制御回路は、
第1の遅延クロック信号を前記第1の複数の双安定回路に供給し、第2の遅延クロック信号を前記プログラム可能な論理回路
に供給するように構成された可変クロック遅延ロジック回路を含む、回路装置。
【請求項12】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号の第1の遅延形式として前記第1の遅延クロック信号を生成し、かつ前記入力クロック信号の第2の遅延形式として前記第2の遅延クロック信号を生成し、前記第1の遅延クロック信号と前記入力クロック信号との間の遅延を、前記第2の遅延クロック信号と前記入力クロック信号との間の遅延よりも小さくし、
前記第1の遅延クロック信号を前記プログラム可能な論理回路へ提供し、かつ
前記第2の遅延クロック信号を前記入力レジスタロジックへ提供するように構成される、請求項11に記載の回路装置。
【請求項13】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号を受信するように結合されかつ前記第1の遅延クロック信号を出力するように構成された第1の遅延回路を含む第1のクロックパスと、
前記第1の遅延回路の出力を受信するように結合されかつ前記第2の遅延クロック信号を出力するように構成された第2の遅延回路を含む第2のクロックパスと、を含み、
前記制御回路は、さらに、
前記第1の遅延クロック信号を前記プログラム可能な論理回路へ選択的に提供し、かつ
前記第2の遅延クロック信号を前記入力レジスタロジックへ選択的に提供するようにプログラム可能である、請求項11に記載の回路装置。
【請求項14】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号と前記可変クロック遅延ロジック回路の第1のマルチプレクサからの前記第1の遅延クロック信号とを受信するように結合されかつ第1のデュアルエッジクロック信号を生成するように構成された第1のデュアルエッジパルスジェネレータを含む第3のクロックパスと、
前記第2の遅延回路からの前記第2の遅延クロック信号と前記可変クロック遅延ロジック
回路の第2のマルチプレクサからの前記第1の遅延クロック信号とを受信するように結合されかつ第2のデュアルエッジクロック信号を生成するように構成された第2のデュアルエッジパルスジェネレータを含む第4のクロックパスとを含み、
前記制御回路は、さらに、
前記第1のデュアルエッジクロック信号を前記プログラム可能な論理回路へ選択的に提供し、かつ
前記第2のデュアルエッジクロック信号を前記入力レジスタロジックへ選択的に提供するようにプログラム可能である、請求項13に記載の回路装置。
【請求項15】
前記制御回路は、さらに、
第1の初期化モードにおいて、
前記入力レジスタロジックへ
のクロック信号を前記第1の複数の双安定回路をトランスペアレントにする状態に強制する第1のグローバル信号をアサートし、かつ
前記第1の複数の双安定回路への初期値の伝播に続いて、前記第1の複数の双安定回路が前段から上流のデータ値を継承するように、前記第1のグローバル信号をデアサートするように構成され、
第2の初期化モードにおいて、
前記入力レジスタロジックへの前記クロック信号を前記第1の複数の双安定回路をトランスペアレントとしない状態に強制する第2のグローバル信号をアサートし、
前記第1の複数の双安定回路を特定の状態に強制する第3のグローバル信号を、前記入力レジスタロジックおよび前記プログラム可能な論理回路に印加し、かつ
前記第2のグローバル信号をデアサートする、請求項11に記載の回路装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般的に、ホールド時間の違反の調整、および同期回路のパフォーマンス向上に関する。
【背景技術】
【0002】
「セットアップ時間」および「ホールド時間」は、たとえば、クロック入力に関する、フリップフロップまたはレジスタなどの順序論理回路のデータ入力に対するタイミング条件について規定する。セットアップ時間およびホールド時間は、動作条件および製造公差の全範囲にわたって、予想可能なパフォーマンスを保証するために、データが安定していなければならない時間帯を定義する。セットアップ時間は、データ信号の状態を確実に捕らえるため、クロック信号の立ち上がりエッジや立ち下がりエッジなどのクロックイベントの前に入力データ信号を安定に保つ必要がある最小時間量である。ホールド時間は、データ信号の状態を確実に捕らえるため、クロックイベントの後に、入力データ信号を安定に保つべき最小時間量である。時には長い経路の問題として持ち出されるセットアップ時間の違反は、経路を短くするか、クロックの速度を落とすことで軽減され得る。時には短い経路の問題として持ち出されるホールド時間の違反は、経路の長さを伸ばすか、遅延回路を信号経路に追加することで軽減され得る。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示における回路装置は、論理回路と、論理回路に接続されかつ第1の複数の双安定回路を含む入力レジスタロジックと、入力レジスタロジックに接続された制御回路とを含む。制御回路は、入力クロック信号から複数の遅延クロック信号を生成するように構成される。複数の遅延クロック信号は、第1の遅延クロック信号と第2の遅延クロック信号とを含む。制御回路は、選択的に少なくとも1つの遅延クロック信号または入力クロック信号を、第1の複数の双安定回路のクロック入力に提供し、かつ、選択的に少なくとも1つの遅延クロック信号または入力クロック信号を、論理回路へ提供する。制御回路は、入力レジスタロジックへのクロック遅延と、論理回路へのクロック遅延とを等しくするように構成された可変クロック遅延ロジック回路を含む。
【0004】
ある実施の形態においては、可変クロック遅延ロジック回路は、入力クロック信号の第1の遅延形式として第1の遅延クロック信号を生成し、かつ入力クロック信号の第2の遅延形式として第2の遅延クロック信号を生成するように構成されてもよい。第1の遅延クロック信号と入力クロック信号との間の遅延は、第2の遅延クロック信号と入力クロック信号との間の遅延よりも小さくてもよい。可変クロック遅延ロジック回路は、論理回路へ第1の遅延クロック信号を提供し、かつ入力レジスタロジックへ第2の遅延クロック信号を提供するように構成されてもよい。
【0005】
ある実施の形態においては、可変クロック遅延ロジック回路は、入力クロック信号を受信するように結合されかつ第1の遅延クロック信号を出力するように構成された第1の遅延回路を備える第1のクロックパスと、第1遅延回路の出力を受信するように結合されかつ第2の遅延クロックパルスを出力するように構成された第2の遅延回路を含む第2のクロックパスとを含んでもよい。制御回路は、さらに、論理回路へ第1の遅延クロック信号を選択的に提供し、かつ入力レジスタロジックへ第2の遅延クロック信号を選択的に提供してもよい。
【0006】
ある実施の形態においては、可変クロック遅延ロジック回路は、入力クロック信号と可変クロック遅延ロジック回路の第1のマルチプレクサからの第1の遅延クロック信号とを受信するように結合された第1のデュアルエッジパルスジェネレータを備える第3のクロックパスを含んでもよい。第1のデュアルエッジパルスジェネレータは、第1のデュアルエッジクロック信号を生成するように構成されていてもよい。可変クロック遅延ロジック回路は、さらに、第2の遅延回路からの第2の遅延クロック信号と可変クロック遅延ロジックの第2のマルチプレクサからの第1の遅延クロック信号とを受信するように結合された第2のデュアルエッジパルスジェネレータを含む第4のクロックパスを含んでもよい。第2のデュアルエッジパルスジェネレータは、第2のデュアルエッジクロック信号を生成するように構成されていてもよい。制御回路は、さらに、第1のデュアルエッジクロック信号を選択的に論理回路に提供でき、および、入力レジスタロジックに第2のデュアルエッジクロック信号を選択的に提供できるようにプログラム可能であってもよい。
【0007】
ある実施の形態においては、制御回路は、制御回路の第1のマルチプレクサから、第1の遅延クロック信号または第2の遅延クロック信号を受信するように結合された第1のパルスジェネレータを含んでもよい。第1のパルスジェネレーターは、第1の遅延クロック信号または第2の遅延クロック信号のパルス幅を低減し、さらに、第1の狭小クロック信号を、入力レジスタロジックに出力するように構成されてもよい。第2のパルスジェネレータは、制御回路の第2のマルチプレクサから、第1の遅延クロック信号、反転されたクロック信号、または第2のデュアルエッジクロック信号を受信するように結合されてもよい。第2のパルスジェネレータは、第1の遅延クロック信号、反転されたクロック信号、または第2のデュアルエッジクロック信号のパルス幅を低減し、さらに、第2の狭小クロック信号を入力レジスタロジックに出力するように構成されてもよい。
【0008】
ある実施の形態においては、制御回路は、さらに、第1の初期化モードと第2の初期化モードとにおいて動作できるように構成されてもよい。第1の初期化モードでは、制御回路は、入力レジスタロジックへのクロック信号を、第1の複数の双安定回路をトランスペアレントにする状態に強制する第1のグローバル信号をアサートしてもよく、かつ第1の複数の双安定回路への初期値の伝播に続いて、第1の複数の双安定回路が前段から上流のデータ値を承継するように、第1のグローバル信号をデアサートしてもよい。第2の初期化モードでは、制御回路は、入力レジスタロジックへのクロック信号を、第2の複数の双安定回路をトランスペアレントとしない状態に強制する第2のグローバル信号をアサートしてもよく、第1の複数の双安定回路を特定の状態に強制する第3のグローバル信号を、入力レジスタロジックおよび論理回路に印加してもよく、かつ第2のグローバル信号をデアサートしてもよい。
【0009】
ある実施の形態においては、第3のグローバル信号は、第1の複数の双安定回路の状態を強制的にローとするグローバルリセット信号であってもよい。
【0010】
ある実施の形態においては、制御回路は、さらに、第1の複数の双安定回路の出力または第1の複数の双安定回路のデータ入力における信号を、論理回路の入力に選択的に接続できるようにプログラム可能であってもよい。
【0011】
ある実施の形態においては、制御回路は、第2の複数の双安定回路を含んでもよい。制御回路は、さらに、少なくとも1つの遅延クロック信号または入力クロック信号を、第2の複数の双安定回路のクロック入力に選択的に提供可能なように、プログラム可能であってもよい。
【0012】
ある実施の形態においては、入力レジスタロジックは、論理回路の各入力ごとにそれぞれのデータ選択回路を含み、それぞれのデータ選択回路は、他のそれぞれのデータ選択回路とは独立して、第1の複数の双安定回路のうちの1つの双安定回路の出力または双安定回路のデータ入力における信号を、論理回路の入力へ選択的に接続するようにプログラム可能である。入力レジスタロジックは、第1の複数の双安定回路の各々ごとに、それぞれのクロック選択回路を含み、それぞれのクロック選択回路は、他のそれぞれのクロック選択回路とは独立して、少なくとも1つの遅延クロック信号または入力クロック信号を、双安定回路の入力クロックへ選択的に提供するようにプログラム可能である。
【0013】
他の開示の回路装置は、プログラム可能な論理回路の複数のブロックと、プログラム可能な相互接続回路とを含む。それぞれのプログラム可能な論理回路のブロックは、論理関数が実行できるように構成可能であり、プログラム可能な相互接続回路は、プログラム可能なロジックのブロックの間で選択的に、信号を経路指定するように構成されてもよい。プログラム可能なロジックの複数のブロックの間で、選択的に信号を経路指定するように構成可能な入力レジスタロジックは、プログラム可能な論理回路の複数のブロックと結合され、第1の複数の双安定回路を含む。制御回路は、入力レジスタロジックと結合する。制御回路は、入力クロック信号からの複数の遅延クロック信号を生成するように構成可能である。複数の遅延クロック信号は、第1の遅延クロック信号と第2の遅延クロック信号とを含む。制御回路は、第1の複数の双安定回路のクロック入力に、少なくとも1つの遅延クロック信号または入力クロック信号を選択的に提供し、かつ制御回路へ少なくとも1つの遅延クロック信号または入力クロック信号を選択的に提供する。制御回路は、入力レジスタロジックへのクロック遅延と、論理回路へのクロック遅延とを等しくするように構成された可変クロック遅延ロジック回路を含む。
【0014】
ある実施の形態において、可変クロック遅延ロジック回路は、第1の遅延クロック信号を第1の遅延形式の入力クロック信号として生成し、第2の遅延クロック信号を第2の遅延形式の入力クロック信号として生成するように構成されてもよい。第1の遅延クロック信号と入力クロック信号との間の遅延は、第2の遅延クロック信号と入力クロック信号との間の遅延よりも小さくてもよい。可変クロック遅延ロジック回路も、プログラム可能な論理回路へ第1の遅延クロック信号を提供し、入力レジスタロジックへ第2の遅延クロック信号を提供するように構成されてもよい。
【0015】
ある実施の形態においては、可変クロック遅延ロジック回路は、入力クロック信号を受信するように結合されかつ第1の遅延信号を出力するように構成された第1の遅延回路を含む第1のクロックパスと、第1の遅延回路の出力を受信するように結合されかつ第2の遅延クロック信号を出力するように構成された第2の遅延回路を含む第2のクロックパスとを含んでもよい。制御回路は、さらに、プログラム可能な論理回路へ第1の遅延クロック信号を選択的に提供し、入力レジスタロジックへ第2の遅延クロック信号を選択的に提供するようにプログラム可能であってもよい。
【0016】
ある実施の形態においては、可変クロック遅延ロジック回路は、入力クロック信号と、可変クロック遅延ロジックの第1のマルチプレクサからの第1の遅延クロック信号とを受信するように結合された第1のデュアルエッジパルスジェネレータを含む第3のクロックパスを含んでもよい。第1のデュアルエッジパルスジェネレータは、第1のデュアルエッジクロック信号を生成するように構成されてもよい。可変クロック遅延ロジック回路は、さらに、第2の遅延回路からの第2の遅延クロック信号と、可変クロック遅延ロジックの第2のマルチプレクサからの第1の遅延クロック信号とを受信するように結合された第2のデュアルエッジパルスジェネレータを含む第4のクロックパスを含んでもよい。第2のデュアルエッジパルスジェネレータは、第2のデュアルエッジクロック信号を生成するように構成されてもよい。制御回路は、さらに、プログラム可能な論理回路へ第1のデュアルエッジクロック信号を選択的に提供し、入力レジスタロジックへ第2のデュアルエッジクロック信号を選択的に提供するようにプログラム可能であってもよい。
【0017】
ある実施の形態においては、制御回路は、制御回路の第1のマルチプレクサからの、第1の遅延クロック信号または第2の遅延クロック信号を受信するように結合された第1のパルスジェネレーターを含んでもよい。第1のパルスジェネレーターは、第1の遅延クロック信号または第2の遅延クロック信号のパルス幅を低減し、入力レジスタロジックへ第1の狭小クロック信号を出力するように構成されてもよい。第2のパルスジェネレーターは、制御回路の第2のマルチプレクサから、第1の遅延クロック信号、反転されたクロック信号、または第2のデュアルエッジクロック信号を受信するように結合されてもよい。第2のパルスジェネレーターは、第1の遅延クロック信号、反転されたクロック信号、または第2のデュアルエッジクロック信号のパルス幅を低減し、入力レジスタロジックへ第2の狭小クロック信号を出力するように構成されてもよい。
【0018】
ある実施の形態においては、制御回路は、さらに、第1の初期化モードおよび第2の初期化モードにおいて動作するように構成されてもよい。第1の初期化モードでは、制御回路は、入力レジスタロジックへのクロック信号を第1の複数の双安定回路をトランスペアレントにする状態に強制する第1のグローバル信号をアサートしてもよく、第1の複数の双安定回路への初期値の伝播に続いて、第1の複数の双安定回路が前段から上流のデータ値を継承するように第1のグローバル信号をデアサートしてもよい。第2の初期化モードでは、制御回路は、入力レジスタロジックへのクロック信号を第1の複数の双安定回路をトランスペアレントとしない状態に強制する第2のグローバル信号をアサートしてもよく、第1の複数の双安定回路を特定の状態に強制する第3のグローバル信号を、入力レジスタロジックおよびプログラム可能な論理回路に印加してもよく、第2のグローバル信号をデアサートしてもよい。
【0019】
ある実施の形態においては、第3のグローバル信号は、第1の複数の双安定回路の状態を強制的にローとするグローバルリセット信号であってもよい。
【0020】
ある実施の形態においては、制御回路は、さらに、第1の複数の双安定回路の出力または第1の複数の双安定回路のデータ入力における信号をプログラム可能な論理回路へ選択的に接続するようにプログラム可能であってもよい。
【0021】
ある実施の形態においては、制御回路は、第2の複数の双安定回路を含んでもよい。制御回路は、さらに、少なくとも1つの遅延クロック信号または入力クロック信号を、第2の複数の双安定回路に選択的に提供するようにプログラム可能であってもよい。
【0022】
ある実施の形態においては、入力レジスタクロックは、論理回路の各入力ごとに、それぞれのデータ選択回路を備えてもよく、それぞれのデータ選択回路は、他のそれぞれのデータ選択回路とは独立して、第1の複数の双安定回路のうちの双安定回路の出力または双安定回路のデータ入力における信号を、プログラム可能な論理回路の入力に選択的に接続するようにプログラム可能である。入力レジスタロジックは、第1の複数の双安定回路の各々ごとに、それぞれのクロック選択回路を備えてもよく、それぞれのクロック選択回路は、他のそれぞれのクロック選択回路とは独立して、少なくとも1つの遅延クロック信号または入力クロック信号を双安定回路のクロック入力に選択的に提供するようにプログラム可能である。
【0023】
他の特徴は、後述する詳細な説明および特許請求の範囲を考慮して、認識されるべきである。
【0024】
開示された回路の種々の観点および特徴は、以下の詳細な説明および図面への参照から明らかにされる。
【図面の簡単な説明】
【0025】
【
図1】システムのパフォーマンスを向上させるために、制御回路および入力レジスタロジックに結合された論理回路を有するシステムを示す図である。
【
図2】
図1の入力レジスタロジックの典型的な実装を示す図である。
【
図3】
図1の制御回路のクロック変調ロジックの典型的な実装を示す図である。
【
図4】
図3のクロック変調ロジックの可変クロック遅延ロジックの典型的な実装を示す図である。
【
図5】制御回路により生成され選択的に提供されるクロック信号の波形を示す図である。
【
図6】本開示の回路およびプロセスがその上で実現される、プログラム可能な集積回路を示す図である。
【発明を実施するための形態】
【0026】
詳細な説明
以下の説明では、本明細書に提示される特定の例を説明するため、多くの特定の詳細が説明される。しかしながら、少なくとも1つの他の例および/またはこれらの例の変形例は、下記の全ての特定の詳細なしでも実施され得ることは、当業者にとって明らかである。他の例では、ここで説明される例を不明瞭としないために、周知の特徴は詳細に説明しない。説明の簡易化のために、同一の参照符号は、同一の要素または同一の要素における追加の例を参照するため、異なる図において使用され得る。
【0027】
本開示の回路または方法は、論理回路のブロックの入力でのインターフェース回路を含む。それぞれのインターフェース回路は、選択的にパイプライン処理を可能とし、選択的にタイムボローイングをすることができ、および/または選択的に、論理回路のブロックへの入力のための最小遅延パス上の遅延を増大させる。論理回路のそれぞれのブロックは、ブロックへのそれぞれのビット入力を個別に制御する関連インターフェース回路を有する。インターフェース回路は、ブロックへの入力のためのインターフェースを入力データ信号に選択的に迂回させ、ブロックへの入力の前に入力データ信号を選択的にパイプライン処理でき、タイムボローイングのための遅延クロック信号を伴う入力データ信号を選択的にパイプライン処理でき、他のパス上のタイムボローイングを有効にするために、速いパスを選択的に停止することができる。
【0028】
論理回路のブロックへの入力の近傍のインターフェース回路内においてレジスタを集中させること、およびタイムボローイングをするためにクロック遅延要素へレジスタを結合することで、ほとんどあらゆる箇所でレジスタをパイプライン処理することの多くの利点は、入力近傍のレジスタを強制的に、あたかもレジスタが与えられたパス上のソースフリップフロップの近くに配置されているかのように振る舞わせることによる高いコストをかけずとも、達成される。インターフェース回路は、より速いデータパスを止めることによってグローバルで活発なタイムボローイングを促進し、かつより一般的にホールド違反を調整するために使用され得る。インターフェースレジスタの配置が論理回路のブロックの入力の近傍に集中するため、インターフェースレジスタは、同一の制御セット(クロック、クロックの有効化、およびリセット)を、論理回路のブロックと共有する場合が多く、それによって、制御セットからの信号の選択のためのマルチプレクサが不要なためレジスタの有効化に対するコストを低減する。
【0029】
集積回路のパフォーマンスの向上への労力の中で、それぞれのインターフェース回路は、論理回路のブロックに近接して提供される。それぞれのインターフェース回路は、入力レジスタロジックと、制御回路とを含む。入力レジスタロジックは、論理回路のブロックへの入力の選択的なパイプライン処理を提供するようにプログラム可能である。入力レジスタロジックは、複数の双安定回路を含む。双安定回路の各々は、入力データ信号を受けるように結合され、かつ論理回路のブロックの入力へデータ信号を出力するように結合される。制御回路は、双安定回路へのクロック信号を制御する。制御回路は、遅延クロック信号または遅延を伴わないクロック信号を各双安定回路のクロック入力へ選択的に提供するようにプログラム可能である。制御回路はまた、双安定回路の出力または双安定回路のデータ入力における信号を論理回路のブロックの入力へ選択的に接続するようにプログラム可能でもある。
【0030】
図1は、システムのパフォーマンスを向上させるために、制御回路102と入力レジスタロジック104とに結合された論理回路105を有するシステムを示す。システムは、集合的に入力レジスタロジック104として参照される、入力レジスタロジック104-1~104-Pと結合された制御回路102を含む。入力レジスタロジック104-1~104-Pの各々は双安定回路を含み、この双安定回路は、他の入力レジスタロジックの双安定回路とは別個にクロックされることができ、この双安定回路については、
図2に関連して以下に詳述する。制御回路102はクロック変調ロジック106を含み、クロック変調ロジック106は入力レジスタロジック104に対し、クロック信号140、遅延クロック信号142、およびリセット信号138を生成し選択的に提供する。入力レジスタロジック104は、データ信号136-1~136-Pを受け、論理回路105にデータ信号144-1~144-Pを出力し、論理回路105は、107-1~107-Nで示すような、少なくとも1つの双安定回路(たとえば、フリップフロップ)を含む。また、クロック変調ロジック106は、論理回路105のフリップフロップ107-1~107-Nへのクロック信号130を生成し、選択的に提供する。
【0031】
入力レジスタロジック104-1~104-Pの各々に、クロック信号と遅延クロック信号との両方を提供することは、全ての入力データ信号136-1~136-Pが、入力レジスタロジックを通ってパイプライン処理され、選択的に、いずれの入力がタイムボローイングを使用するかを決める。このことは、最大遅延を持つパスが、他のより早い入力パス上でのホールド違反を引き起こすことなく、時間的要求を満たすことを可能にする。あるいは、論理回路105へのいくつかの入力パスはパイプライン処理されることができ、ホールド時間違反は他のパスにおいて調整される。
【0032】
少なくとも1つの制御回路102の例および入力レジスタロジック104は、論理回路105の入力に近接して配置される。すなわち、入力レジスタロジック104は、ICダイ上で論理回路105と隣接して設けられる。入力レジスタロジックと関連するロジックブロックとの間には、その他のロジックブロック、フリップフロップ、メモリなどは、配置されない。入力レジスタロジック104は、論理回路105の入力に近接して配置されるので、入力レジスタロジック104の双安定回路は、制御セット(クロック、クロックの有効化、およびリセット)を論理回路105と共有する場合が多く、これにより、遠隔のレジスタから論理回路105へ制御セットを経路指定するのに必要なリソースを省くことができる。FPGA(フィールドプログラマブルゲートアレイ)などのプログラム可能な集積回路は、論理回路105の複数の例を備えることができ、論理回路105の各例は、所望の論理演算を実行することができるように構成される。論理回路の複数の例を備えた実装の構成では、制御回路102および入力レジスタロジック104のそれぞれの例を備えることができる。
【0033】
クロック変調ロジック106は、クロック信号146および遅延クロック信号148を提供し、マルチプレクサ116、124は、双安定回路118、126をクロックさせるため、クロック信号146または遅延クロック信号148のいずれかを選択する。制御回路102は、グローバルリセット信号110および双安定回路118の出力を受け、論理回路105へリセット信号132を提供するマルチプレクサ120を含む。さらに、制御回路102は、グローバルクロック有効化信号112および双安定回路126の出力を受け、論理回路105へクロック有効化信号134を提供するマルチプレクサ128を含む。制御回路102は、クロック変調ロジック106への入力クロック信号150を提供するために、グローバルクロック信号108と、グローバルクロック信号108の反転信号との間を選択するマルチプレクサ114を含む。
【0034】
少なくとも1つの実装形態においては、グローバル信号145は、システムの初期化モードを決定するためにクロック変調ロジック106へ提供される。初期化モードの選択は、クロック変調ロジック106のメモリセルのプログラムに基づく。第1の初期化モードは、論理回路105のホールド違反に対する調整に関連する。
図1に示すようなシステムの構築の間に、入力レジスタロジック104へ提供されるクロック信号は、グローバル信号145をアサートことにより入力レジスタロジック104の双安定回路(たとえば、
図2に示す双安定回路202)を初期的にトランスペアレントにさせる状態に強制される。初期値が双安定回路に伝達された後には、グローバル信号145がデアサートされる。双安定性回路へ提供されるクロック信号の制御は、ローカル回路に戻される。双安定回路は、前段からの上流のデータ値を継承し、それらが第1のサイクル上で適切な制御のための非同期パスであるように振るまわせる。
【0035】
システムの第2の初期化モードは、入力レジスタロジック104の双安定回路を通る、論理回路105へのデータ信号のパイプライン処理に関連する。システム構成の間に、双安定回路へ提供されるローカルクロック信号は、グローバル信号145のアサートにより双安定回路をトランスペアレントとしない特定の状態へと強制される。たとえば、グローバル信号145は、双安定回路の状態をローに強制するグローバルリセット信号または双安定回路の状態をハイに強制するグローバルセット信号であり得る。グローバル信号145はデアサートされ、双安定回路へ提供されるクロック信号の制御はローカル回路に戻される。第2の初期化モードは、それぞれの双安定回路のための回路の追加なしで、入力レジスタロジック104の双安定回路が初期化されることを可能にする。
【0036】
しかしながら、
図1で示されていないが、論理回路105は、追加の双安定回路と結合されていてもよい。クロック変調ロジック106は、追加の双安定回路に対し、クロック信号130、リセット信号132および/またはクロック有効化信号134を生成し、選択的に提供できる。
【0037】
図2は、
図1の入力レジスタロジック104の実装例を示す。入力レジスタロジック104は、双安定回路202に加えて、少なくとも1つの図示されていない追加の双安定回路を含む。
図2では、入力レジスタロジック104の1ビットあたりの回路装置を示す。双安定回路202は、データ信号136およびリセット信号138を受け付ける。双安定回路202のクロック入力は、マルチプレクサ208がクロック信号140および遅延クロック信号142の間で選択した出力を受ける。入力レジスタロジック104は、データ信号136がパイプライン処理されずに、双安定回路202を迂回する迂回経路137を含む。構成メモリセル210は、双安定回路202へ提供されるクロック信号を選択するようにプログラムされていてもよい。たとえば、クリティカルパスではないデータ信号136がパイプライン処理されるときに、クロック信号140は、選択的に双安定回路202へ提供されることができる。クリティカルパスであるデータ信号136がパイプライン処理されるとき、遅延クロック信号142は、選択的に、双安定回路202に提供されることができる。ここでは、「クリティカルパス」は、最大遅延タイミング違反を有するパスとして参照される。マルチプレクサ204に結合された構成メモリセル206は、非クリティカルパスのデータ信号136がパイプライン処理されていないときには迂回経路137を選択し、またはクリティカルパスのデータ信号136がパイプライン処理されるときには双安定回路202の出力を選択するようにプログラムされ得る。
【0038】
図3は、
図1の制御回路102のクロック変調ロジック106の典型的な実装を示す。クロック変調ロジック106は、(
図4に関連して以下に説明するように)ホールド違反を回避および/または防止するために、タイムボローイング、クロック信号の倍増のためのワイドパルス生成、および入力レジスタロジック104および下流の論理回路105へのクロック信号の遅延のために使用され得る回路である。論理回路105が入力レジスタロジック104によって使用されるクロック信号と異なるクロック信号を使用することができるようにするため、クロック変調ロジック106によって生成されるクロック信号は、入力レジスタロジック104および下流の論理回路105へ独立して送信される。クロック変調ロジック106は、マルチプレクサ312および可変クロック遅延ロジック回路302に提供される入力クロック信号150を受ける。可変クロック遅延ロジック回路302は、さらに、
図4に関連して以下に説明される。可変クロック遅延ロジック回路302は、入力クロック信号150に基づいた下記のクロック信号を生成、出力する:マルチプレクサ312へ提供されるデュアルエッジクロック信号304;マルチプレクサ312、マルチプレクサ316およびマルチプレクサ322へ提供される第1の遅延クロック信号306;マルチプレクサ316へ提供される(第1の遅延クロック信号306に基づく)第2の遅延クロック信号308;およびマルチプレクサ322へ提供される(第1の遅延クロック信号306に基づく)遅延デュアルエッジクロック信号310である。
【0039】
クロック信号130は、マルチプレクサ312から論理回路105へ出力される。マルチプレクサ312の制御端子に結合された構成メモリセル314は、入力クロック信号150、デュアルエッジクロック信号304、または第1の遅延クロック信号306を選択するようにプログラム可能であってもよい。
【0040】
マルチプレクサ316からの出力である遅延クロック信号320は、狭小パルスジェネレータ332およびリセット・クロック制御ロジック328へ提供される。狭小パルスジェネレータは、入力信号のパルス幅よりも短いパルス幅を有する信号を出力する。構成メモリセル318は、マルチプレクサ316に結合され、第1の遅延クロック信号306または第2の遅延クロック信号308を選択するようにプログラム可能でもよい。狭小パルスジェネレータ332の出力は、ANDゲート340の1つの入力に結合され、構成メモリセル348は、ANDゲート340の他方の入力に結合される。構成メモリセル348の状態は、狭小パルスジェネレータ332からの出力の伝播を、双安定回路118および126への遅延クロック信号148として有効化または無効化する。
【0041】
遅延クロック信号306、反転された形式の遅延クロック信号306(“負エッジクロック信号”としても言及される)、および遅延デュアルエッジクロック信号310は、マルチプレクサ322への入力として提供される。マルチプレクサ322からの出力である遅延クロック信号326は、狭小パルスジェネレータ334およびリセット・クロック制御ロジック328へ提供される。負エッジクロック信号は、入来するホールド違反を調整するため、半分のクロックサイクルの間、入来データをストールさせるという利益がある。構成メモリセル324は、マルチプレクサ316と結合され、第1の遅延クロック信号306、反転された第1の遅延クロック信号、または遅延デュアルエッジクロック信号310を選択するようにプログラム可能であってもよい。狭小パルスジェネレータ334は、ANDゲート342の1つの入力に結合され、構成メモリセル350は、ANDゲート342の他方の入力に結合される。構成メモリセル350の状態は、狭小パルスジェネレータからの出力の伝播を、双安定回路118および126へのクロック信号146として有効化または無効化する。
【0042】
リセット・クロック制御ロジック328は、ベースクロック信号320、遅延クロック信号326、クロック有効化信号134、リセット信号331、および有効化信号356を受ける。リセット信号331またはクロック有効化信号134のいずれもが有効化またはアサートされない場合、ベースクロック信号320および遅延クロック信号326は、リセット・クロック制御ロジック328を通り抜ける。リセット信号331がアサートされ、かつ、有効化リセット信号357がアサートされる場合であって、さらに有効化同期信号355がアサートされないとき、ベースクロックおよび遅延クロックの出力は、双安定回路をリセットするために、双安定回路への入力パスを遮断するようにすぐにローに強制される。リセット信号331がアサートされ、かつ、有効化リセット信号357がアサートされ、さらに有効化同期信号355がアサートされたとき、出力ベースクロックは、入力ベースクロックの立ち上がりエッジローに強制され、出力遅延クロックは、入力遅延クロックの立ち上がりエッジでローに強制される。クロック有効化信号134がデアサートされ、有効化信号356がアサートされたとき、ベースクロック信号および遅延クロック信号は、それぞれが有するクロックに対して、同期的にローに強制される。
【0043】
狭小パルスジェネレータ336および338は、リセット・クロック制御ロジック328からのそれぞれの出力信号を受けるように結合される。狭小パルスジェネレータ336の出力は、ANDゲート344の1つの入力に結合され、狭小パルスジェネレータ338の出力は、ANDゲート346の1つの入力に結合される。構成メモリセル352の出力は、ANDゲート344の他方の入力に結合され、構成メモリセル354の出力は、ANDゲート346の他方の入力に結合される。構成メモリセル352および354の状態は、入力レジスタロジック104の双安定回路へのクロック信号140および遅延クロック信号142のそれぞれの伝播を、有効化または無効化する。
【0044】
リセットロジック330は、有効化同期信号355、リセット信号334、有効化リセット信号357、信号326を受ける。リセットロジック330は、入力レジスタロジック104の双安定回路へリセット信号138を出力する。有効化リセット信号357および有効化同期信号355がアサートされた場合、リセットロジック330は、信号326の立ち上がりエッジにおいてのみリセット信号331をサンプリングする。有効化リセット信号357がアサートされ、有効化同期信号355がアサートされない場合、リセットロジック330は、継続的にリセット信号331をサンプリングする。
【0045】
図4は、
図3のクロック変調ロジック106の可変クロック遅延ロジック回路302の典型的な実装を示す。可変クロック遅延ロジック回路302は、入力クロック信号150を受け、入力クロック信号に基づいて異なるクロック信号を生成し、出力する回路である。可変クロック遅延ロジック回路302は、複数のクロックパスを含む。第1のクロックパスは、入力クロック信号150を受ける第1の遅延回路402を含む。第1の遅延回路402は、マルチプレクサ406の入力に接続された複数のタップを含む。構成メモリセル(図示されない)は、マルチプレクサ406の制御端子に接続されてもよく、1つのタップからクロック信号150の遅延形式を選択するようにプログラム可能であってもよい。選択された遅延クロック信号は、遅延クロック信号306である。
【0046】
第2のクロックパスは、遅延クロック信号414を受ける第2の遅延回路404を含む。遅延クロック信号414は、遅延回路402の最後のタップからのクロック信号の出力である。第2の遅延回路404は、マルチプレクサ408の入力に接続された複数のタップを含む。遅延回路402のタップからの出力信号も、マルチプレクサ408の入力に接続されている。構成メモリセル(図示しない)は、マルチプレクサ408の制御端子に接続されてもよく、1つのタップからのクロック信号150の遅延形式を選択するようにプログラム可能であってもよい。選択された遅延クロック信号は、第2の遅延クロック信号308である。第1および第2の遅延クロック信号306および308は、後続のクロックサイクルからのボロータイムのために入力レジスタロジック104および/または論理回路105を有効化するために有益となり得る。
【0047】
第3のクロックパスは、排他的論理和(XOR)ゲート412によって実装されることができ、入力クロック信号150およびマルチプレクサ406からの第1の遅延クロック信号306を受ける第1のデュアルエッジパルスジェネレータを含む。クロック信号150と第1の遅延クロック信号306とが排他的論理和演算がされることにより、デュアルエッジクロック信号304として第1の遅延クロック信号306のデュアルエッジ形式を生成する。このプロセスは、上流のクロックツリーで電力を節減するために有利であり得る。デュアルエッジクロック信号304は、選択的に、論理回路105へ提供される。
【0048】
第4のクロックパスは、第2の遅延回路404からの第2の遅延クロック信号308および遅延回路404の最後のタップから出力された遅延クロック信号416を受ける、排他的論理和ゲート410のような第2のデュアルエッジパルスジェネレータを含む。第1の遅延クロック信号308と遅延クロック信号416とが排他的論理和されることにより、遅延デュアルエッジクロック信号310として第2の遅延クロック信号308のデュアルエッジ形式を生成し、遅延デュアルエッジクロック信号310は、入力レジスタロジック104および/または制御回路102の双安定回路へ選択的に提供される。第5のクロックパスは、可変クロック遅延ロジック回路302から調整されていない入力クロック信号150を出力する。
【0049】
論理回路105の双安定回路107のような、論理回路の双安定回路でのホールド違反は、入力レジスタロジック104の双安定回路202のような、論理回路の隣に配置された入力レジスタロジックの双安定回路でのホールド違反よりも長くてもよい。双安定回路202および107の両方のために使用される入力レジスタロジック105のブロックを有効化するために、可変クロック遅延ロジック回路302は、2つの遅延回路402および404を含む。遅延回路402は入力クロック信号150から第1の遅延クロック信号を生成する一方で、遅延回路404は第1の遅延クロック信号402の出力から第2の遅延クロック信号308を生成する。これにより、第2の遅延クロック信号308は、クロック信号306のさらなる遅延形式となり得る。入力レジスタロジック104および論理回路105と結合された可変クロック遅延ロジック回路302は、論理回路105の双安定回路へのクロック遅延と入力レジスタロジック104の双安定回路へのクロック遅延とを等しくするようにプログラム可能であってもよい。たとえば、制御回路102は、論理回路105の双安定回路107へ第1の遅延クロック信号306を、および入力レジスタロジック104の双安定回路202へ第2の遅延クロック信号308を、選択的に提供するようにプログラム可能であってもよい。
【0050】
等しくさせなかった場合、入力レジスタロジック104の双安定回路へのクロック遅延は、論理回路105への双安定回路107へのクロック遅延よりも、短くなり得る。結果として、入力レジスタロジック104および論理回路105の双安定回路の間での入力ホールド違反を避けるために、少なくとも1つのデータパスが論理回路105へ追加されることが必要となり得る。これに対して、論理回路105のタイミングを変える必要なく、本開示の実装は、複数の大きさの論理回路105のブロックで、および論理回路105の双安定回路107への異なるクロック遅延で、入力レジスタロジック104のブロックが使用されることを可能にする。
【0051】
図5は、
図1の制御回路102によって生成され選択的に提供さるクロック信号の波形を示す。
図5で示されているように、入力クロック信号150は、ベースクロック信号として言及される場合があり、第1の遅延クロック信号306は、遅延ベースクロック信号として言及される場合がある。第1の遅延クロック信号306は、入力クロック信号150の位相がシフトした形式である。デュアルエッジクロック信号304は、入力クロック信号の立ち下がりおよび立ち上がりで、立ち上がりエッジを有する。波形146-1、146-2、148-1、および148-2は、それぞれ、入力クロック信号150の狭小形式、第1の遅延クロック信号306、入力クロック信号150の反転(負エッジ)形式、およびデュアルエッジクロック信号304を表す。
【0052】
図6は、本開示の回路およびプロセスが実行され得るプログラム可能な集積回路(IC)600を示す。プログラム可能な集積回路は、FPGAロジック、その他のプログラム可能なリソースを含むSOC(System On Chip)として言及され得る。FPGAロジックは、複数の異なる形式のプログラム可能なアレイ状の論理ブロックを含んでもよい。たとえば、
図6で示される、プログラム可能な集積回路600は、マルチギガビットトランシーバー(MGTs)601、構成ロジックブロック(CLBs)602、ランダムアクセスメモリブロック(BRAMs)603、入出力ブロック(IOBs)604、構成およびクロックロジック(CONFIG/CLOCKS)605、デジタルシングルプロセッシングブロック(DSPs)606、たとえばクロックポートのような専用入出力ブロック(I/O)607、および、デジタルクロックマネージャー、アナログデジタル変換器、システムモニターロジックなどのようなその他のプログラム可能なロジック608を含む多数の異なるプログラム可能なタイルを含む。FPGAロジックを備える複数のプログラム可能な集積回路は、専用プロセッサーブロック(PROC)610、および入力および外部再構成ポート(図示しない)をさらに含む。
【0053】
いくつかのFPGAロジックの中では、各々のプログラム可能なタイルは、各々の隣接するタイルにおける対応する相互接続要素へのおよび当該要素からの標準化された接続を有するプログラム可能な相互接続要素(INT)611を含む。それゆえ、共に取り上げられたプログラム可能な相互接続要素は、図示されたFPGAロジックのために、プログラム可能な相互接続構造を実現する。
図6の上部に含まれる例で示されているように、プログラム可能な相互接続要素INT611は、同一のタイル内のプログラム可能なロジック要素へのおよび当該要素からの接続をも含む。
【0054】
たとえば、CLB602は、1つのINT611に加えて、ユーザーロジックを実装するようにプログラム可能な構成可能なロジック要素(CLE)612を含み得る。BRAM603は、BRAMロジック要素(BRL)613に加えて、少なくとも1つのプログラム可能な相互接続要素を含む。典型的には、タイルに含まれる相互接続要素の数は、タイルの高さに依存する。説明したBRAMタイルは、5つのCLBと同じ高さを有するが、他の数(たとえば、4つ)もまた使用できる。DSPタイル606は、適切な数のプログラム可能な相互接続要素に加えて、DSPロジック要素(DSPL)614を含んでもよい。IOB604は、たとえば、INT611の1つのインスタンスに加えて、入出力ロジック要素(IOL)の2つのインスタンスを含んでもよい。当業者にとって明らかであるように、たとえば、IOL615と接続された実際のI/O接続パッドは、説明した様々なロジックブロック上に積層された金属を使用して製造され、典型的には、入出力ロジック要素615の領域に制限されることはない。
【0055】
ダイの中心部近傍のカラム領域(
図6にてハッチングで示される)は、構成、クロック、その他の制御ロジックのために使用される。このカラムから延長される横領域609は、プログラム可能な集積回路の幅を横切って、クロックと構成信号とを分配するために使用される。「カラム」および「横」領域への言及は、縦向きで図を見ることに関するものである点に留意されたい。
【0056】
図6に示されたアーキテクチャを利用するいくつかのプログラム可能な集積回路は、プログラム可能な集積回路の大部分を構成する通常のカラム構造を中断する追加のロジックブロックを含む。追加のロジックブロックは、プログラム可能なブロックおよび/または専用のロジックでもよい。たとえば、
図6で示されているプロセッサーブロックPROC610は、CLBとBRAMの複数のカラムに跨がる。
【0057】
図6は、典型的なプログラム可能な集積回路のアーキテクチャを説明することだけを意図した図であることに留意されたい。カラム内のロジックブロックの数、カラムの相対的な幅、カラムの数と順序、カラムに含まれるロジックブロックのタイプ、ロジックブロックの相対的なサイズ、
図6の上部に含まれる相互接続/ロジックの実装は、単に例示に過ぎない。たとえば、実際のプログラム可能な集積回路において、複数のCLBの隣接カラムは、ユーザーロジックの実装の効率を促進するため、典型的には、CLBがどの位置にあっても含まれる。
【0058】
いくつかの局面および特徴は、いくつかの場合においては、個別の図において説明されるが、1つの図の特徴は、他の図の特徴と組合わせてよく、その組合せが明示的に図示されておらず、組合せとして明示的に説明されていなくてもよい、と理解されるべきである。
【0059】
本開示の回路および方法は、集積回路のタイミングを最適化する多様なシステムに適用され得ることが考えられる。その他の局面および特徴は、明細書の考慮から当業者に明らかであろう。回路および方法は、特定用途向け集積回路(ASIC)またはプログラマブルロジックとして実装されてもよい。明細書および図は、例示に過ぎないものと考えられ、発明の真の範囲は、下記の特許請求の範囲にて述べられる。