(57)【要約】  本開示の回路装置は、論理回路（１０５）、論理回路に結合されかつ第１の複数の双安定回路（２０２）を含む入力レジスタロジック（１０４）、および、入力レジスタロジックに結合された制御回路（１０２）を含む。制御回路は、入力クロック信号（１５０）から複数の遅延クロック信号（１４２、１４８，３０６，３０８，３２０，３２６，４１４，４１６）を生成するように構成される。複数の遅延クロック信号は、第１の遅延クロック信号（１４２、１４８，３０６，３０８，３２０，３２６，４１４，４１６）および第２の遅延クロック信号（１４２、１４８，３０６，３０８，３２０，３２６，４１４，４１６）を含む。制御回路は、少なくとも１つの遅延クロック信号または入力クロック信号を、第１の複数の双安定回路のクロック入力へ選択的に提供し、かつ、少なくとも１つの遅延クロック信号または入力クロック信号を論理回路へ選択的に提供する。制御回路は、入力レジスタロジックへのクロック遅延と論理回路へのクロック遅延とを等しくするように構成された可変クロック遅延ロジック（３０２）回路を含む。
2021508131.tif 000002
【特許請求の範囲】
【請求項１】
回路装置であって、
論理回路と、
前記論理回路と接続され、第１の複数の双安定回路を含む入力レジスタロジックと、
前記入力レジスタロジックと結合された制御回路と、を備え、
前記制御回路は、
入力クロック信号から、第１の遅延クロック信号と第２の遅延クロック信号とを含む複数の遅延クロック信号を生成し、
少なくとも１つの前記遅延クロック信号または前記入力クロック信号を、前記第１の複数の双安定回路のクロック入力へ選択的に提供し、かつ
少なくとも１つの前記遅延クロック信号または前記入力クロック信号を、前記論理回路へ選択的に提供するように構成され、
前記制御回路は、前記入力レジスタロジックへのクロック遅延と前記論理回路へのクロック遅延とを等しくするように構成された可変クロック遅延ロジック回路を含む、回路装置。
【請求項２】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号の第１の遅延形式として前記第１の遅延クロック信号を生成し、かつ前記入力クロック信号の第２の遅延形式として前記第２の遅延クロック信号を生成し、前記第１の遅延クロック信号と前記入力クロック信号との間の遅延を、前記第２の遅延クロック信号と前記入力クロック信号との間の遅延よりも小さくし、
前記第１の遅延クロック信号を前記論理回路へ提供し、かつ
前記第２の遅延クロック信号を前記入力レジスタロジックへ提供するように構成される、請求項１に記載の回路装置。
【請求項３】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号を受信するように結合されかつ前記第１の遅延クロック信号を出力するように構成された第１の遅延回路を含む第１のクロックパスと、
前記第１の遅延回路の出力を受信するように結合されかつ前記第２の遅延クロック信号を出力するように構成された第２の遅延回路を含む第２のクロックパスと、を含み、
前記制御回路は、さらに、
前記第１の遅延クロック信号を前記論理回路へ選択的に提供し、かつ
前記第２の遅延クロック信号を前記入力レジスタロジックへ選択的に提供するようにプログラム可能である、請求項１または請求項２に記載の回路装置。
【請求項４】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号と前記可変クロック遅延ロジック回路の第１のマルチプレクサからの前記第１の遅延クロック信号とを受信するように結合されかつ第１のデュアルエッジクロック信号を生成するように構成された第１のデュアルエッジパルスジェネレータを含む第３のクロックパスと、
前記第２の遅延回路からの前記第２の遅延クロック信号と前記可変クロック遅延ロジックの第２のマルチプレクサからの前記第１の遅延クロック信号とを受信するように結合されかつ第２のデュアルエッジクロック信号を生成するように構成された第２のデュアルエッジパルスジェネレータを含む第４のクロックパスとを含み、
前記制御回路は、
前記第１のデュアルエッジクロック信号を前記論理回路へ選択的に提供し、かつ
前記第２のデュアルエッジクロック信号を前記入力レジスタロジックへ選択的に提供するようにプログラム可能である、請求項３に記載の回路装置。
【請求項５】
前記制御回路は、
前記制御回路の第１のマルチプレクサから前記第１の遅延クロック信号または前記第２の遅延クロック信号を受信するように結合された第１のパルスジェネレータを含み、
前記第１のパルスジェネレータは、
前記第１の遅延クロック信号または前記第２の遅延クロック信号のパルス幅を低減し、かつ
第１の狭小クロック信号を前記入力レジスタロジックへ出力するように構成され、
前記制御回路は、
前記制御回路の第２のマルチプレクサから前記第１の遅延クロック信号、反転されたクロック信号、または前記第２のデュアルエッジクロック信号を受信するように結合された第２のパルスジェネレータを含み、
前記第２のパルスジェネレータは、
前記第１の遅延クロック信号、前記反転されたクロック信号、または前記第２のデュアルエッジクロック信号のパルス幅を低減し、かつ
第２の狭小クロック信号を前記入力レジスタロジックへ出力するように構成される、請求項４に記載の回路装置。
【請求項６】
前記制御回路は、さらに、
第１の初期化モードにおいて、
前記入力レジスタロジックへのクロック信号を、前記第１の複数の双安定回路をトランスペアレントにする状態に強制するために第１のグローバル信号をアサートし、かつ
前記第１の複数の双安定回路への初期値の伝播に続いて、前記第１の複数の双安定回路が前段から上流のデータ値を継承するように、前記第１のグローバル信号をデアサートするように構成され、
第２の初期化モードにおいて、
前記入力レジスタロジックへの前記クロック信号を、前記第１の複数の双安定回路をトランスペアレントとしない状態に強制するために第２のグローバル信号をアサートし、
前記第１の複数の双安定回路を特定の状態に強制する第３のグローバル信号を、前記入力レジスタロジックおよび前記論理回路に印加し、かつ
前記第２のグローバル信号をデアサートするように構成される、請求項１に記載の回路装置。
【請求項７】
前記第３のグローバル信号は、前記第１の複数の双安定回路の状態をローに強制するグローバルリセット信号である、請求項６に記載の回路装置。
【請求項８】
前記制御回路は、さらに、前記第１の複数の双安定回路の出力または前記第１の複数の双安定回路のデータ入力における信号を、前記論理回路の入力へ選択的に接続するようにプログラム可能である、請求項１に記載の回路装置。
【請求項９】
前記制御回路は、第２の複数の双安定回路を含み、
前記制御回路は、さらに、少なくとも１つの前記遅延クロック信号または前記入力クロック信号を、前記第２の複数の双安定回路のクロック入力へ選択的に提供するようにプログラム可能である、請求項１に記載の回路装置。
【請求項１０】
前記入力レジスタロジックは、前記論理回路の各入力ごとに、それぞれのデータ選択回路を含み、前記それぞれのデータ選択回路は、他のそれぞれのデータ選択回路とは独立して、前記第１の複数の双安定回路のうちの双安定回路の出力または前記双安定回路のデータ入力における信号を、論理回路の入力へ選択的に接続するようにプログラム可能であり、
前記入力レジスタロジックは、前記第１の複数の双安定回路の各々ごとに、それぞれのクロック選択回路を含み、前記それぞれのクロック選択回路は、他のそれぞれのクロック選択信号とは独立して、少なくとも１つの前記遅延クロック信号または前記入力クロック信号を、前記双安定回路のクロック入力へ選択的に提供するようにプログラム可能である、請求項１に記載の回路装置。
【請求項１１】
回路装置であって、
プログラム可能な論理回路の複数のブロックを備え、プログラム可能な論理回路の各ブロックは、論理演算を実行するように構成可能であり、
前記プログラム可能な論理回路の複数のブロックの間で、信号を選択的に経路指定するように構成可能なプログラム可能な相互接続回路と、
前記プログラム可能な論理回路の複数のブロックに結合され、第１の複数の双安定回路を含む入力レジスタロジックと、
前記入力レジスタロジックと結合された制御回路と、をさらに備え、
前記制御回路は、
入力クロック信号から、第１の遅延クロック信号と第２の遅延クロック信号とを含む複数の遅延クロック信号を生成し、
少なくとも１つの前記遅延クロック信号または前記入力クロック信号を、前記第１の複数の双安定回路のクロック入力へ選択的に提供し、かつ
少なくとも１つの前記遅延クロック信号または前記入力クロック信号を、前記プログラム可能な論理回路へ選択的に提供するように構成され、
前記制御回路は、前記入力レジスタロジックへのクロック遅延と前記プログラム可能な論理回路へのクロック遅延とを等しくするように構成された可変クロック遅延ロジック回路を含む、回路装置。
【請求項１２】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号の第１の遅延形式として前記第１の遅延クロック信号を生成し、かつ前記入力クロック信号の第２の遅延形式として前記第２の遅延クロック信号を生成し、前記第１の遅延クロック信号と前記入力クロック信号との間の遅延を、前記第２の遅延クロック信号と前記入力クロック信号との間の遅延よりも小さくし、
前記第１の遅延クロック信号を前記プログラム可能な論理回路へ提供し、かつ
前記第２の遅延クロック信号を前記入力レジスタロジックへ提供するように構成される、請求項１１に記載の回路装置。
【請求項１３】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号を受信するように結合されかつ前記第１の遅延クロック信号を出力するように構成された第１の遅延回路を含む第１のクロックパスと、
前記第１の遅延回路の出力を受信するように結合されかつ前記第２の遅延クロック信号を出力するように構成された第２の遅延回路を含む第２のクロックパスと、を含み、
前記制御回路は、さらに、
前記第１の遅延クロック信号を前記プログラム可能な論理回路へ選択的に提供し、かつ
前記第２の遅延クロック信号を前記入力レジスタロジックへ選択的に提供するようにプログラム可能である、請求項１１に記載の回路装置。
【請求項１４】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号と前記可変クロック遅延ロジック回路の第１のマルチプレクサからの前記第１の遅延クロック信号とを受信するように結合されかつ第１のデュアルエッジクロック信号を生成するように構成された第１のデュアルエッジパルスジェネレータを含む第３のクロックパスと、
前記第２の遅延回路からの前記第２の遅延クロック信号と前記可変クロック遅延ロジックの第２のマルチプレクサからの前記第１の遅延クロック信号とを受信するように結合されかつ第２のデュアルエッジクロック信号を生成するように構成された第２のデュアルエッジパルスジェネレータを含む第４のクロックパスとを含み、
前記制御回路は、さらに、
前記第１のデュアルエッジクロック信号を前記プログラム可能な論理回路へ選択的に提供し、かつ
前記第２のデュアルエッジクロック信号を前記入力レジスタロジックへ選択的に提供するようにプログラム可能である、請求項１３に記載の回路装置。
【請求項１５】
前記制御回路は、さらに、
第１の初期化モードにおいて、
前記入力レジスタロジックへの前記クロック信号を前記第１の複数の双安定回路をトランスペアレントにする状態に強制する第１のグローバル信号をアサートし、かつ
前記第１の複数の双安定回路への初期値の伝播に続いて、前記第１の複数の双安定回路が前段から上流のデータ値を継承するように、前記第１のグローバル信号をデアサートするように構成され、
第２の初期化モードにおいて、
前記入力レジスタロジックへの前記クロック信号を前記第１の複数の双安定回路をトランスペアレントとしない状態に強制する第２のグローバル信号をアサートし、
前記第１の複数の双安定回路を特定の状態に強制する第３のグローバル信号を、前記入力レジスタロジックおよび前記プログラム可能な論理回路に印加し、かつ
前記第２のグローバル信号をデアサートする、請求項１１に記載の回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、ホールド時間の違反の調整、および同期回路のパフォーマンス向上に関する。
【背景技術】
【０００２】
「セットアップ時間」および「ホールド時間」は、たとえば、クロック入力に関する、フリップフロップまたはレジスタなどの順序論理回路のデータ入力に対するタイミング条件について規定する。セットアップ時間およびホールド時間は、動作条件および製造公差の全範囲にわたって、予想可能なパフォーマンスを保証するために、データが安定していなければならない時間帯を定義する。セットアップ時間は、データ信号の状態を確実に捕らえるため、クロック信号の立ち上がりエッジや立ち下がりエッジなどのクロックイベントの前に入力データ信号を安定に保つ必要がある最小時間量である。ホールド時間は、データ信号の状態を確実に捕らえるため、クロックイベントの後に、入力データ信号を安定に保つべき最小時間量である。時には長い経路の問題として持ち出されるセットアップ時間の違反は、経路を短くするか、クロックの速度を落とすことで軽減され得る。時には短い経路の問題として持ち出されるホールド時間の違反は、経路の長さを伸ばすか、遅延回路を信号経路に追加することで軽減され得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示における回路装置は、論理回路と、論理回路に接続されかつ第１の複数の双安定回路を含む入力レジスタロジックと、入力レジスタロジックに接続された制御回路とを含む。制御回路は、入力クロック信号から複数の遅延クロック信号を生成するように構成される。複数の遅延クロック信号は、第１の遅延クロック信号と第２の遅延クロック信号とを含む。制御回路は、選択的に少なくとも１つの遅延クロック信号または入力クロック信号を、第１の複数の双安定回路のクロック入力に提供し、かつ、選択的に少なくとも１つの遅延クロック信号または入力クロック信号を、論理回路へ提供する。制御回路は、入力レジスタロジックへのクロック遅延と、論理回路へのクロック遅延とを等しくするように構成された可変クロック遅延ロジック回路を含む。
【０００４】
ある実施の形態においては、可変クロック遅延ロジック回路は、入力クロック信号の第１の遅延形式として第１の遅延クロック信号を生成し、かつ入力クロック信号の第２の遅延形式として第２の遅延クロック信号を生成するように構成されてもよい。第１の遅延クロック信号と入力クロック信号との間の遅延は、第２の遅延クロック信号と入力クロック信号との間の遅延よりも小さくてもよい。可変クロック遅延ロジック回路は、論理回路へ第１の遅延クロック信号を提供し、かつ入力レジスタロジックへ第２の遅延クロック信号を提供するように構成されてもよい。
【０００５】
ある実施の形態においては、可変クロック遅延ロジック回路は、入力クロック信号を受信するように結合されかつ第１の遅延クロック信号を出力するように構成された第１の遅延回路を備える第１のクロックパスと、第１遅延回路の出力を受信するように結合されかつ第２の遅延クロックパルスを出力するように構成された第２の遅延回路を含む第２のクロックパスとを含んでもよい。制御回路は、さらに、論理回路へ第１の遅延クロック信号を選択的に提供し、かつ入力レジスタロジックへ第２の遅延クロック信号を選択的に提供してもよい。
【０００６】
ある実施の形態においては、可変クロック遅延ロジック回路は、入力クロック信号と可変クロック遅延ロジック回路の第１のマルチプレクサからの第１の遅延クロック信号とを受信するように結合された第１のデュアルエッジパルスジェネレータを備える第３のクロックパスを含んでもよい。第１のデュアルエッジパルスジェネレータは、第１のデュアルエッジクロック信号を生成するように構成されていてもよい。可変クロック遅延ロジック回路は、さらに、第２の遅延回路からの第２の遅延クロック信号と可変クロック遅延ロジックの第２のマルチプレクサからの第１の遅延クロック信号とを受信するように結合された第２のデュアルエッジパルスジェネレータを含む第４のクロックパスを含んでもよい。第２のデュアルエッジパルスジェネレータは、第２のデュアルエッジクロック信号を生成するように構成されていてもよい。制御回路は、さらに、第１のデュアルエッジクロック信号を選択的に論理回路に提供でき、および、入力レジスタロジックに第２のデュアルエッジクロック信号を選択的に提供できるようにプログラム可能であってもよい。
【０００７】
ある実施の形態においては、制御回路は、制御回路の第１のマルチプレクサから、第１の遅延クロック信号または第２の遅延クロック信号を受信するように結合された第１のパルスジェネレータを含んでもよい。第１のパルスジェネレーターは、第１の遅延クロック信号または第２の遅延クロック信号のパルス幅を低減し、さらに、第１の狭小クロック信号を、入力レジスタロジックに出力するように構成されてもよい。第２のパルスジェネレータは、制御回路の第２のマルチプレクサから、第１の遅延クロック信号、反転されたクロック信号、または第２のデュアルエッジクロック信号を受信するように結合されてもよい。第２のパルスジェネレータは、第１の遅延クロック信号、反転されたクロック信号、または第２のデュアルエッジクロック信号のパルス幅を低減し、さらに、第２の狭小クロック信号を入力レジスタロジックに出力するように構成されてもよい。
【０００８】
ある実施の形態においては、制御回路は、さらに、第１の初期化モードと第２の初期化モードとにおいて動作できるように構成されてもよい。第１の初期化モードでは、制御回路は、入力レジスタロジックへのクロック信号を、第１の複数の双安定回路をトランスペアレントにする状態に強制する第１のグローバル信号をアサートしてもよく、かつ第１の複数の双安定回路への初期値の伝播に続いて、第１の複数の双安定回路が前段から上流のデータ値を承継するように、第１のグローバル信号をデアサートしてもよい。第２の初期化モードでは、制御回路は、入力レジスタロジックへのクロック信号を、第２の複数の双安定回路をトランスペアレントとしない状態に強制する第２のグローバル信号をアサートしてもよく、第１の複数の双安定回路を特定の状態に強制する第３のグローバル信号を、入力レジスタロジックおよび論理回路に印加してもよく、かつ第２のグローバル信号をデアサートしてもよい。
【０００９】
ある実施の形態においては、第３のグローバル信号は、第１の複数の双安定回路の状態を強制的にローとするグローバルリセット信号であってもよい。
【００１０】
ある実施の形態においては、制御回路は、さらに、第１の複数の双安定回路の出力または第１の複数の双安定回路のデータ入力における信号を、論理回路の入力に選択的に接続できるようにプログラム可能であってもよい。
【００１１】
ある実施の形態においては、制御回路は、第２の複数の双安定回路を含んでもよい。制御回路は、さらに、少なくとも１つの遅延クロック信号または入力クロック信号を、第２の複数の双安定回路のクロック入力に選択的に提供可能なように、プログラム可能であってもよい。
【００１２】
ある実施の形態においては、入力レジスタロジックは、論理回路の各入力ごとにそれぞれのデータ選択回路を含み、それぞれのデータ選択回路は、他のそれぞれのデータ選択回路とは独立して、第１の複数の双安定回路のうちの１つの双安定回路の出力または双安定回路のデータ入力における信号を、論理回路の入力へ選択的に接続するようにプログラム可能である。入力レジスタロジックは、第１の複数の双安定回路の各々ごとに、それぞれのクロック選択回路を含み、それぞれのクロック選択回路は、他のそれぞれのクロック選択回路とは独立して、少なくとも１つの遅延クロック信号または入力クロック信号を、双安定回路の入力クロックへ選択的に提供するようにプログラム可能である。
【００１３】
他の開示の回路装置は、プログラム可能な論理回路の複数のブロックと、プログラム可能な相互接続回路とを含む。それぞれのプログラム可能な論理回路のブロックは、論理関数が実行できるように構成可能であり、プログラム可能な相互接続回路は、プログラム可能なロジックのブロックの間で選択的に、信号を経路指定するように構成されてもよい。プログラム可能なロジックの複数のブロックの間で、選択的に信号を経路指定するように構成可能な入力レジスタロジックは、プログラム可能な論理回路の複数のブロックと結合され、第１の複数の双安定回路を含む。制御回路は、入力レジスタロジックと結合する。制御回路は、入力クロック信号からの複数の遅延クロック信号を生成するように構成可能である。複数の遅延クロック信号は、第１の遅延クロック信号と第２の遅延クロック信号とを含む。制御回路は、第１の複数の双安定回路のクロック入力に、少なくとも１つの遅延クロック信号または入力クロック信号を選択的に提供し、かつ制御回路へ少なくとも１つの遅延クロック信号または入力クロック信号を選択的に提供する。制御回路は、入力レジスタロジックへのクロック遅延と、論理回路へのクロック遅延とを等しくするように構成された可変クロック遅延ロジック回路を含む。
【００１４】
ある実施の形態において、可変クロック遅延ロジック回路は、第１の遅延クロック信号を第１の遅延形式の入力クロック信号として生成し、第２の遅延クロック信号を第２の遅延形式の入力クロック信号として生成するように構成されてもよい。第１の遅延クロック信号と入力クロック信号との間の遅延は、第２の遅延クロック信号と入力クロック信号との間の遅延よりも小さくてもよい。可変クロック遅延ロジック回路も、プログラム可能な論理回路へ第１の遅延クロック信号を提供し、入力レジスタロジックへ第２の遅延クロック信号を提供するように構成されてもよい。
【００１５】
ある実施の形態においては、可変クロック遅延ロジック回路は、入力クロック信号を受信するように結合されかつ第１の遅延信号を出力するように構成された第１の遅延回路を含む第１のクロックパスと、第１の遅延回路の出力を受信するように結合されかつ第２の遅延クロック信号を出力するように構成された第２の遅延回路を含む第２のクロックパスとを含んでもよい。制御回路は、さらに、プログラム可能な論理回路へ第１の遅延クロック信号を選択的に提供し、入力レジスタロジックへ第２の遅延クロック信号を選択的に提供するようにプログラム可能であってもよい。
【００１６】
ある実施の形態においては、可変クロック遅延ロジック回路は、入力クロック信号と、可変クロック遅延ロジックの第１のマルチプレクサからの第１の遅延クロック信号とを受信するように結合された第１のデュアルエッジパルスジェネレータを含む第３のクロックパスを含んでもよい。第１のデュアルエッジパルスジェネレータは、第１のデュアルエッジクロック信号を生成するように構成されてもよい。可変クロック遅延ロジック回路は、さらに、第２の遅延回路からの第２の遅延クロック信号と、可変クロック遅延ロジックの第２のマルチプレクサからの第１の遅延クロック信号とを受信するように結合された第２のデュアルエッジパルスジェネレータを含む第４のクロックパスを含んでもよい。第２のデュアルエッジパルスジェネレータは、第２のデュアルエッジクロック信号を生成するように構成されてもよい。制御回路は、さらに、プログラム可能な論理回路へ第１のデュアルエッジクロック信号を選択的に提供し、入力レジスタロジックへ第２のデュアルエッジクロック信号を選択的に提供するようにプログラム可能であってもよい。
【００１７】
ある実施の形態においては、制御回路は、制御回路の第１のマルチプレクサからの、第１の遅延クロック信号または第２の遅延クロック信号を受信するように結合された第１のパルスジェネレーターを含んでもよい。第１のパルスジェネレーターは、第１の遅延クロック信号または第２の遅延クロック信号のパルス幅を低減し、入力レジスタロジックへ第１の狭小クロック信号を出力するように構成されてもよい。第２のパルスジェネレーターは、制御回路の第２のマルチプレクサから、第１の遅延クロック信号、反転されたクロック信号、または第２のデュアルエッジクロック信号を受信するように結合されてもよい。第２のパルスジェネレーターは、第１の遅延クロック信号、反転されたクロック信号、または第２のデュアルエッジクロック信号のパルス幅を低減し、入力レジスタロジックへ第２の狭小クロック信号を出力するように構成されてもよい。
【００１８】
ある実施の形態においては、制御回路は、さらに、第１の初期化モードおよび第２の初期化モードにおいて動作するように構成されてもよい。第１の初期化モードでは、制御回路は、入力レジスタロジックへのクロック信号を第１の複数の双安定回路をトランスペアレントにする状態に強制する第１のグローバル信号をアサートしてもよく、第１の複数の双安定回路への初期値の伝播に続いて、第１の複数の双安定回路が前段から上流のデータ値を継承するように第１のグローバル信号をデアサートしてもよい。第２の初期化モードでは、制御回路は、入力レジスタロジックへのクロック信号を第１の複数の双安定回路をトランスペアレントとしない状態に強制する第２のグローバル信号をアサートしてもよく、第１の複数の双安定回路を特定の状態に強制する第３のグローバル信号を、入力レジスタロジックおよびプログラム可能な論理回路に印加してもよく、第２のグローバル信号をデアサートしてもよい。
【００１９】
ある実施の形態においては、第３のグローバル信号は、第１の複数の双安定回路の状態を強制的にローとするグローバルリセット信号であってもよい。
【００２０】
ある実施の形態においては、制御回路は、さらに、第１の複数の双安定回路の出力または第１の複数の双安定回路のデータ入力における信号をプログラム可能な論理回路へ選択的に接続するようにプログラム可能であってもよい。
【００２１】
ある実施の形態においては、制御回路は、第２の複数の双安定回路を含んでもよい。制御回路は、さらに、少なくとも１つの遅延クロック信号または入力クロック信号を、第２の複数の双安定回路に選択的に提供するようにプログラム可能であってもよい。
【００２２】
ある実施の形態においては、入力レジスタクロックは、論理回路の各入力ごとに、それぞれのデータ選択回路を備えてもよく、それぞれのデータ選択回路は、他のそれぞれのデータ選択回路とは独立して、第１の複数の双安定回路のうちの双安定回路の出力または双安定回路のデータ入力における信号を、プログラム可能な論理回路の入力に選択的に接続するようにプログラム可能である。入力レジスタロジックは、第１の複数の双安定回路の各々ごとに、それぞれのクロック選択回路を備えてもよく、それぞれのクロック選択回路は、他のそれぞれのクロック選択回路とは独立して、少なくとも１つの遅延クロック信号または入力クロック信号を双安定回路のクロック入力に選択的に提供するようにプログラム可能である。
【００２３】
他の特徴は、後述する詳細な説明および特許請求の範囲を考慮して、認識されるべきである。
【００２４】
開示された回路の種々の観点および特徴は、以下の詳細な説明および図面への参照から明らかにされる。
【図面の簡単な説明】
【００２５】
【図１】システムのパフォーマンスを向上させるために、制御回路および入力レジスタロジックに結合された論理回路を有するシステムを示す図である。
【図２】図１の入力レジスタロジックの典型的な実装を示す図である。
【図３】図１の制御回路のクロック変調ロジックの典型的な実装を示す図である。
【図４】図３のクロック変調ロジックの可変クロック遅延ロジックの典型的な実装を示す図である。
【図５】制御回路により生成され選択的に提供されるクロック信号の波形を示す図である。
【図６】本開示の回路およびプロセスがその上で実現される、プログラム可能な集積回路を示す図である。
【発明を実施するための形態】
【００２６】
詳細な説明
以下の説明では、本明細書に提示される特定の例を説明するため、多くの特定の詳細が説明される。しかしながら、少なくとも１つの他の例および／またはこれらの例の変形例は、下記の全ての特定の詳細なしでも実施され得ることは、当業者にとって明らかである。他の例では、ここで説明される例を不明瞭としないために、周知の特徴は詳細に説明しない。説明の簡易化のために、同一の参照符号は、同一の要素または同一の要素における追加の例を参照するため、異なる図において使用され得る。
【００２７】
本開示の回路または方法は、論理回路のブロックの入力でのインターフェース回路を含む。それぞれのインターフェース回路は、選択的にパイプライン処理を可能とし、選択的にタイムボローイングをすることができ、および／または選択的に、論理回路のブロックへの入力のための最小遅延パス上の遅延を増大させる。論理回路のそれぞれのブロックは、ブロックへのそれぞれのビット入力を個別に制御する関連インターフェース回路を有する。インターフェース回路は、ブロックへの入力のためのインターフェースを入力データ信号に選択的に迂回させ、ブロックへの入力の前に入力データ信号を選択的にパイプライン処理でき、タイムボローイングのための遅延クロック信号を伴う入力データ信号を選択的にパイプライン処理でき、他のパス上のタイムボローイングを有効にするために、速いパスを選択的に停止することができる。
【００２８】
論理回路のブロックへの入力の近傍のインターフェース回路内においてレジスタを集中させること、およびタイムボローイングをするためにクロック遅延要素へレジスタを結合することで、ほとんどあらゆる箇所でレジスタをパイプライン処理することの多くの利点は、入力近傍のレジスタを強制的に、あたかもレジスタが与えられたパス上のソースフリップフロップの近くに配置されているかのように振る舞わせることによる高いコストをかけずとも、達成される。インターフェース回路は、より速いデータパスを止めることによってグローバルで活発なタイムボローイングを促進し、かつより一般的にホールド違反を調整するために使用され得る。インターフェースレジスタの配置が論理回路のブロックの入力の近傍に集中するため、インターフェースレジスタは、同一の制御セット（クロック、クロックの有効化、およびリセット）を、論理回路のブロックと共有する場合が多く、それによって、制御セットからの信号の選択のためのマルチプレクサが不要なためレジスタの有効化に対するコストを低減する。
【００２９】
集積回路のパフォーマンスの向上への労力の中で、それぞれのインターフェース回路は、論理回路のブロックに近接して提供される。それぞれのインターフェース回路は、入力レジスタロジックと、制御回路とを含む。入力レジスタロジックは、論理回路のブロックへの入力の選択的なパイプライン処理を提供するようにプログラム可能である。入力レジスタロジックは、複数の双安定回路を含む。双安定回路の各々は、入力データ信号を受けるように結合され、かつ論理回路のブロックの入力へデータ信号を出力するように結合される。制御回路は、双安定回路へのクロック信号を制御する。制御回路は、遅延クロック信号または遅延を伴わないクロック信号を各双安定回路のクロック入力へ選択的に提供するようにプログラム可能である。制御回路はまた、双安定回路の出力または双安定回路のデータ入力における信号を論理回路のブロックの入力へ選択的に接続するようにプログラム可能でもある。
【００３０】
図１は、システムのパフォーマンスを向上させるために、制御回路１０２と入力レジスタロジック１０４とに結合された論理回路１０５を有するシステムを示す。システムは、集合的に入力レジスタロジック１０４として参照される、入力レジスタロジック１０４−１〜１０４−Ｐと結合された制御回路１０２を含む。入力レジスタロジック１０４−１〜１０４−Ｐの各々は双安定回路を含み、この双安定回路は、他の入力レジスタロジックの双安定回路とは別個にクロックされることができ、この双安定回路については、図２に関連して以下に詳述する。制御回路１０２はクロック変調ロジック１０６を含み、クロック変調ロジック１０６は入力レジスタロジック１０４に対し、クロック信号１４０、遅延クロック信号１４２、およびリセット信号１３８を生成し選択的に提供する。入力レジスタロジック１０４は、データ信号１３６−１〜１３６−Ｐを受け、論理回路１０５にデータ信号１４４−１〜１４４−Ｐを出力し、論理回路１０５は、１０７−１〜１０７−Ｎで示すような、少なくとも１つの双安定回路（たとえば、フリップフロップ）を含む。また、クロック変調ロジック１０６は、論理回路１０５のフリップフロップ１０７−１〜１０７−Ｎへのクロック信号１３０を生成し、選択的に提供する。
【００３１】
入力レジスタロジック１０４−１〜１０４−Ｐの各々に、クロック信号と遅延クロック信号との両方を提供することは、全ての入力データ信号１３６−１〜１３６−Ｐが、入力レジスタロジックを通ってパイプライン処理され、選択的に、いずれの入力がタイムボローイングを使用するかを決める。このことは、最大遅延を持つパスが、他のより早い入力パス上でのホールド違反を引き起こすことなく、時間的要求を満たすことを可能にする。あるいは、論理回路１０５へのいくつかの入力パスはパイプライン処理されることができ、ホールド時間違反は他のパスにおいて調整される。
【００３２】
少なくとも１つの制御回路１０２の例および入力レジスタロジック１０４は、論理回路１０５の入力に近接して配置される。すなわち、入力レジスタロジック１０４は、ＩＣダイ上で論理回路１０５と隣接して設けられる。入力レジスタロジックと関連するロジックブロックとの間には、その他のロジックブロック、フリップフロップ、メモリなどは、配置されない。入力レジスタロジック１０４は、論理回路１０５の入力に近接して配置されるので、入力レジスタロジック１０４の双安定回路は、制御セット（クロック、クロックの有効化、およびリセット）を論理回路１０５と共有する場合が多く、これにより、遠隔のレジスタから論理回路１０５へ制御セットを経路指定するのに必要なリソースを省くことができる。ＦＰＧＡ（フィールドプログラマブルゲートアレイ）などのプログラム可能な集積回路は、論理回路１０５の複数の例を備えることができ、論理回路１０５の各例は、所望の論理演算を実行することができるように構成される。論理回路の複数の例を備えた実装の構成では、制御回路１０２および入力レジスタロジック１０４のそれぞれの例を備えることができる。
【００３３】
クロック変調ロジック１０６は、クロック信号１４６および遅延クロック信号１４８を提供し、マルチプレクサ１１６、１２４は、双安定回路１１８、１２６をクロックさせるため、クロック信号１４６または遅延クロック信号１４８のいずれかを選択する。制御回路１０２は、グローバルリセット信号１１０および双安定回路１１８の出力を受け、論理回路１０５へリセット信号１３２を提供するマルチプレクサ１２０を含む。さらに、制御回路１０２は、グローバルクロック有効化信号１１２および双安定回路１２６の出力を受け、論理回路１０５へクロック有効化信号１３４を提供するマルチプレクサ１２８を含む。制御回路１０２は、クロック変調ロジック１０６への入力クロック信号１５０を提供するために、グローバルクロック信号１０８と、グローバルクロック信号１０８の反転信号との間を選択するマルチプレクサ１１４を含む。
【００３４】
少なくとも１つの実装形態においては、グローバル信号１４５は、システムの初期化モードを決定するためにクロック変調ロジック１０６へ提供される。初期化モードの選択は、クロック変調ロジック１０６のメモリセルのプログラムに基づく。第１の初期化モードは、論理回路１０５のホールド違反に対する調整に関連する。図１に示すようなシステムの構築の間に、入力レジスタロジック１０４へ提供されるクロック信号は、グローバル信号１４５をアサートことにより入力レジスタロジック１０４の双安定回路（たとえば、図２に示す双安定回路２０２）を初期的にトランスペアレントにさせる状態に強制される。初期値が双安定回路に伝達された後には、グローバル信号１４５がデアサートされる。双安定性回路へ提供されるクロック信号の制御は、ローカル回路に戻される。双安定回路は、前段からの上流のデータ値を継承し、それらが第１のサイクル上で適切な制御のための非同期パスであるように振るまわせる。
【００３５】
システムの第２の初期化モードは、入力レジスタロジック１０４の双安定回路を通る、論理回路１０５へのデータ信号のパイプライン処理に関連する。システム構成の間に、双安定回路へ提供されるローカルクロック信号は、グローバル信号１４５のアサートにより双安定回路をトランスペアレントとしない特定の状態へと強制される。たとえば、グローバル信号１４５は、双安定回路の状態をローに強制するグローバルリセット信号または双安定回路の状態をハイに強制するグローバルセット信号であり得る。グローバル信号１４５はデアサートされ、双安定回路へ提供されるクロック信号の制御はローカル回路に戻される。第２の初期化モードは、それぞれの双安定回路のための回路の追加なしで、入力レジスタロジック１０４の双安定回路が初期化されることを可能にする。
【００３６】
しかしながら、図１で示されていないが、論理回路１０５は、追加の双安定回路と結合されていてもよい。クロック変調ロジック１０６は、追加の双安定回路に対し、クロック信号１３０、リセット信号１３２および／またはクロック有効化信号１３４を生成し、選択的に提供できる。
【００３７】
図２は、図１の入力レジスタロジック１０４の実装例を示す。入力レジスタロジック１０４は、双安定回路２０２に加えて、少なくとも１つの図示されていない追加の双安定回路を含む。図２では、入力レジスタロジック１０４の１ビットあたりの回路装置を示す。双安定回路２０２は、データ信号１３６およびリセット信号１３８を受け付ける。双安定回路２０２のクロック入力は、マルチプレクサ２０８がクロック信号１４０および遅延クロック信号１４２の間で選択した出力を受ける。入力レジスタロジック１０４は、データ信号１３６がパイプライン処理されずに、双安定回路２０２を迂回する迂回経路１３７を含む。構成メモリセル２１０は、双安定回路２０２へ提供されるクロック信号を選択するようにプログラムされていてもよい。たとえば、クリティカルパスではないデータ信号１３６がパイプライン処理されるときに、クロック信号１４０は、選択的に双安定回路２０２へ提供されることができる。クリティカルパスであるデータ信号１３６がパイプライン処理されるとき、遅延クロック信号１４２は、選択的に、双安定回路２０２に提供されることができる。ここでは、「クリティカルパス」は、最大遅延タイミング違反を有するパスとして参照される。マルチプレクサ２０４に結合された構成メモリセル２０６は、非クリティカルパスのデータ信号１３６がパイプライン処理されていないときには迂回経路１３７を選択し、またはクリティカルパスのデータ信号１３６がパイプライン処理されるときには双安定回路２０２の出力を選択するようにプログラムされ得る。
【００３８】
図３は、図１の制御回路１０２のクロック変調ロジック１０６の典型的な実装を示す。クロック変調ロジック１０６は、（図４に関連して以下に説明するように）ホールド違反を回避および／または防止するために、タイムボローイング、クロック信号の倍増のためのワイドパルス生成、および入力レジスタロジック１０４および下流の論理回路１０５へのクロック信号の遅延のために使用され得る回路である。論理回路１０５が入力レジスタロジック１０４によって使用されるクロック信号と異なるクロック信号を使用することができるようにするため、クロック変調ロジック１０６によって生成されるクロック信号は、入力レジスタロジック１０４および下流の論理回路１０５へ独立して送信される。クロック変調ロジック１０６は、マルチプレクサ３１２および可変クロック遅延ロジック回路３０２に提供される入力クロック信号１５０を受ける。可変クロック遅延ロジック回路３０２は、さらに、図４に関連して以下に説明される。可変クロック遅延ロジック回路３０２は、入力クロック信号１５０に基づいた下記のクロック信号を生成、出力する：マルチプレクサ３１２へ提供されるデュアルエッジクロック信号３０４；マルチプレクサ３１２、マルチプレクサ３１６およびマルチプレクサ３２２へ提供される第１の遅延クロック信号３０６；マルチプレクサ３１６へ提供される（第１の遅延クロック信号３０６に基づく）第２の遅延クロック信号３０８；およびマルチプレクサ３２２へ提供される（第１の遅延クロック信号３０６に基づく）遅延デュアルエッジクロック信号３１０である。
【００３９】
クロック信号１３０は、マルチプレクサ３１２から論理回路１０５へ出力される。マルチプレクサ３１２の制御端子に結合された構成メモリセル３１４は、入力クロック信号１５０、デュアルエッジクロック信号３０４、または第１の遅延クロック信号３０６を選択するようにプログラム可能であってもよい。
【００４０】
マルチプレクサ３１６からの出力である遅延クロック信号３２０は、狭小パルスジェネレータ３３２およびリセット・クロック制御ロジック３２８へ提供される。狭小パルスジェネレータは、入力信号のパルス幅よりも短いパルス幅を有する信号を出力する。構成メモリセル３１８は、マルチプレクサ３１６に結合され、第１の遅延クロック信号３０６または第２の遅延クロック信号３０８を選択するようにプログラム可能でもよい。狭小パルスジェネレータ３３２の出力は、ＡＮＤゲート３４０の１つの入力に結合され、構成メモリセル３４８は、ＡＮＤゲート３４０の他方の入力に結合される。構成メモリセル３４８の状態は、狭小パルスジェネレータ３３２からの出力の伝播を、双安定回路１１８および１２６への遅延クロック信号１４８として有効化または無効化する。
【００４１】
遅延クロック信号３０６、反転された形式の遅延クロック信号３０６（“負エッジクロック信号”としても言及される）、および遅延デュアルエッジクロック信号３１０は、マルチプレクサ３２２への入力として提供される。マルチプレクサ３２２からの出力である遅延クロック信号３２６は、狭小パルスジェネレータ３３４およびリセット・クロック制御ロジック３２８へ提供される。負エッジクロック信号は、入来するホールド違反を調整するため、半分のクロックサイクルの間、入来データをストールさせるという利益がある。構成メモリセル３２４は、マルチプレクサ３１６と結合され、第１の遅延クロック信号３０６、反転された第１の遅延クロック信号、または遅延デュアルエッジクロック信号３１０を選択するようにプログラム可能であってもよい。狭小パルスジェネレータ３３４は、ＡＮＤゲート３４２の１つの入力に結合され、構成メモリセル３５０は、ＡＮＤゲート３４２の他方の入力に結合される。構成メモリセル３５０の状態は、狭小パルスジェネレータからの出力の伝播を、双安定回路１１８および１２６へのクロック信号１４６として有効化または無効化する。
【００４２】
リセット・クロック制御ロジック３２８は、ベースクロック信号３２０、遅延クロック信号３２６、クロック有効化信号１３４、リセット信号３３１、および有効化信号３５６を受ける。リセット信号３３１またはクロック有効化信号１３４のいずれもが有効化またはアサートされない場合、ベースクロック信号３２０および遅延クロック信号３２６は、リセット・クロック制御ロジック３２８を通り抜ける。リセット信号３３１がアサートされ、かつ、有効化リセット信号３５７がアサートされる場合であって、さらに有効化同期信号３５５がアサートされないとき、ベースクロックおよび遅延クロックの出力は、双安定回路をリセットするために、双安定回路への入力パスを遮断するようにすぐにローに強制される。リセット信号３３１がアサートされ、かつ、有効化リセット信号３５７がアサートされ、さらに有効化同期信号３５５がアサートされたとき、出力ベースクロックは、入力ベースクロックの立ち上がりエッジローに強制され、出力遅延クロックは、入力遅延クロックの立ち上がりエッジでローに強制される。クロック有効化信号１３４がデアサートされ、有効化信号３５６がアサートされたとき、ベースクロック信号および遅延クロック信号は、それぞれが有するクロックに対して、同期的にローに強制される。
【００４３】
狭小パルスジェネレータ３３６および３３８は、リセット・クロック制御ロジック３２８からのそれぞれの出力信号を受けるように結合される。狭小パルスジェネレータ３３６の出力は、ＡＮＤゲート３４４の１つの入力に結合され、狭小パルスジェネレータ３３８の出力は、ＡＮＤゲート３４６の１つの入力に結合される。構成メモリセル３５２の出力は、ＡＮＤゲート３４４の他方の入力に結合され、構成メモリセル３５４の出力は、ＡＮＤゲート３４６の他方の入力に結合される。構成メモリセル３５２および３５４の状態は、入力レジスタロジック１０４の双安定回路へのクロック信号１４０および遅延クロック信号１４２のそれぞれの伝播を、有効化または無効化する。
【００４４】
リセットロジック３３０は、有効化同期信号３５５、リセット信号３３４、有効化リセット信号３５７、信号３２６を受ける。リセットロジック３３０は、入力レジスタロジック１０４の双安定回路へリセット信号１３８を出力する。有効化リセット信号３５７および有効化同期信号３５５がアサートされた場合、リセットロジック３３０は、信号３２６の立ち上がりエッジにおいてのみリセット信号３３１をサンプリングする。有効化リセット信号３５７がアサートされ、有効化同期信号３５５がアサートされない場合、リセットロジック３３０は、継続的にリセット信号３３１をサンプリングする。
【００４５】
図４は、図３のクロック変調ロジック１０６の可変クロック遅延ロジック回路３０２の典型的な実装を示す。可変クロック遅延ロジック回路３０２は、入力クロック信号１５０を受け、入力クロック信号に基づいて異なるクロック信号を生成し、出力する回路である。可変クロック遅延ロジック回路３０２は、複数のクロックパスを含む。第１のクロックパスは、入力クロック信号１５０を受ける第１の遅延回路４０２を含む。第１の遅延回路４０２は、マルチプレクサ４０６の入力に接続された複数のタップを含む。構成メモリセル（図示されない）は、マルチプレクサ４０６の制御端子に接続されてもよく、１つのタップからクロック信号１５０の遅延形式を選択するようにプログラム可能であってもよい。選択された遅延クロック信号は、遅延クロック信号３０６である。
【００４６】
第２のクロックパスは、遅延クロック信号４１４を受ける第２の遅延回路４０４を含む。遅延クロック信号４１４は、遅延回路４０２の最後のタップからのクロック信号の出力である。第２の遅延回路４０４は、マルチプレクサ４０８の入力に接続された複数のタップを含む。遅延回路４０２のタップからの出力信号も、マルチプレクサ４０８の入力に接続されている。構成メモリセル（図示しない）は、マルチプレクサ４０８の制御端子に接続されてもよく、１つのタップからのクロック信号１５０の遅延形式を選択するようにプログラム可能であってもよい。選択された遅延クロック信号は、第２の遅延クロック信号３０８である。第１および第２の遅延クロック信号３０６および３０８は、後続のクロックサイクルからのボロータイムのために入力レジスタロジック１０４および／または論理回路１０５を有効化するために有益となり得る。
【００４７】
第３のクロックパスは、排他的論理和（ＸＯＲ）ゲート４１２によって実装されることができ、入力クロック信号１５０およびマルチプレクサ４０６からの第１の遅延クロック信号３０６を受ける第１のデュアルエッジパルスジェネレータを含む。クロック信号１５０と第１の遅延クロック信号３０６とが排他的論理和演算がされることにより、デュアルエッジクロック信号３０４として第１の遅延クロック信号３０６のデュアルエッジ形式を生成する。このプロセスは、上流のクロックツリーで電力を節減するために有利であり得る。デュアルエッジクロック信号３０４は、選択的に、論理回路１０５へ提供される。
【００４８】
第４のクロックパスは、第２の遅延回路４０４からの第２の遅延クロック信号３０８および遅延回路４０４の最後のタップから出力された遅延クロック信号４１６を受ける、排他的論理和ゲート４１０のような第２のデュアルエッジパルスジェネレータを含む。第１の遅延クロック信号３０８と遅延クロック信号４１６とが排他的論理和されることにより、遅延デュアルエッジクロック信号３１０として第２の遅延クロック信号３０８のデュアルエッジ形式を生成し、遅延デュアルエッジクロック信号３１０は、入力レジスタロジック１０４および／または制御回路１０２の双安定回路へ選択的に提供される。第５のクロックパスは、可変クロック遅延ロジック回路３０２から調整されていない入力クロック信号１５０を出力する。
【００４９】
論理回路１０５の双安定回路１０７のような、論理回路の双安定回路でのホールド違反は、入力レジスタロジック１０４の双安定回路２０２のような、論理回路の隣に配置された入力レジスタロジックの双安定回路でのホールド違反よりも長くてもよい。双安定回路２０２および１０７の両方のために使用される入力レジスタロジック１０５のブロックを有効化するために、可変クロック遅延ロジック回路３０２は、２つの遅延回路４０２および４０４を含む。遅延回路４０２は入力クロック信号１５０から第１の遅延クロック信号を生成する一方で、遅延回路４０４は第１の遅延クロック信号４０２の出力から第２の遅延クロック信号３０８を生成する。これにより、第２の遅延クロック信号３０８は、クロック信号３０６のさらなる遅延形式となり得る。入力レジスタロジック１０４および論理回路１０５と結合された可変クロック遅延ロジック回路３０２は、論理回路１０５の双安定回路へのクロック遅延と入力レジスタロジック１０４の双安定回路へのクロック遅延とを等しくするようにプログラム可能であってもよい。たとえば、制御回路１０２は、論理回路１０５の双安定回路１０７へ第１の遅延クロック信号３０６を、および入力レジスタロジック１０４の双安定回路２０２へ第２の遅延クロック信号３０８を、選択的に提供するようにプログラム可能であってもよい。
【００５０】
等しくさせなかった場合、入力レジスタロジック１０４の双安定回路へのクロック遅延は、論理回路１０５への双安定回路１０７へのクロック遅延よりも、短くなり得る。結果として、入力レジスタロジック１０４および論理回路１０５の双安定回路の間での入力ホールド違反を避けるために、少なくとも１つのデータパスが論理回路１０５へ追加されることが必要となり得る。これに対して、論理回路１０５のタイミングを変える必要なく、本開示の実装は、複数の大きさの論理回路１０５のブロックで、および論理回路１０５の双安定回路１０７への異なるクロック遅延で、入力レジスタロジック１０４のブロックが使用されることを可能にする。
【００５１】
図５は、図１の制御回路１０２によって生成され選択的に提供さるクロック信号の波形を示す。図５で示されているように、入力クロック信号１５０は、ベースクロック信号として言及される場合があり、第１の遅延クロック信号３０６は、遅延ベースクロック信号として言及される場合がある。第１の遅延クロック信号３０６は、入力クロック信号１５０の位相がシフトした形式である。デュアルエッジクロック信号３０４は、入力クロック信号の立ち下がりおよび立ち上がりで、立ち上がりエッジを有する。波形１４６−１、１４６−２、１４８−１、および１４８−２は、それぞれ、入力クロック信号１５０の狭小形式、第１の遅延クロック信号３０６、入力クロック信号１５０の反転（負エッジ）形式、およびデュアルエッジクロック信号３０４を表す。
【００５２】
図６は、本開示の回路およびプロセスが実行され得るプログラム可能な集積回路（ＩＣ）６００を示す。プログラム可能な集積回路は、ＦＰＧＡロジック、その他のプログラム可能なリソースを含むＳＯＣ(System On Chip)として言及され得る。ＦＰＧＡロジックは、複数の異なる形式のプログラム可能なアレイ状の論理ブロックを含んでもよい。たとえば、図６で示される、プログラム可能な集積回路６００は、マルチギガビットトランシーバー（ＭＧＴｓ）６０１、構成ロジックブロック（ＣＬＢｓ）６０２、ランダムアクセスメモリブロック（ＢＲＡＭｓ）６０３、入出力ブロック（ＩＯＢｓ）６０４、構成およびクロックロジック（ＣＯＮＦＩＧ／ＣＬＯＣＫＳ）６０５、デジタルシングルプロセッシングブロック（ＤＳＰｓ）６０６、たとえばクロックポートのような専用入出力ブロック（Ｉ／Ｏ）６０７、および、デジタルクロックマネージャー、アナログデジタル変換器、システムモニターロジックなどのようなその他のプログラム可能なロジック６０８を含む多数の異なるプログラム可能なタイルを含む。ＦＰＧＡロジックを備える複数のプログラム可能な集積回路は、専用プロセッサーブロック（ＰＲＯＣ）６１０、および入力および外部再構成ポート（図示しない）をさらに含む。
【００５３】
いくつかのＦＰＧＡロジックの中では、各々のプログラム可能なタイルは、各々の隣接するタイルにおける対応する相互接続要素へのおよび当該要素からの標準化された接続を有するプログラム可能な相互接続要素（ＩＮＴ）６１１を含む。それゆえ、共に取り上げられたプログラム可能な相互接続要素は、図示されたＦＰＧＡロジックのために、プログラム可能な相互接続構造を実現する。図６の上部に含まれる例で示されているように、プログラム可能な相互接続要素ＩＮＴ６１１は、同一のタイル内のプログラム可能なロジック要素へのおよび当該要素からの接続をも含む。
【００５４】
たとえば、ＣＬＢ６０２は、１つのＩＮＴ６１１に加えて、ユーザーロジックを実装するようにプログラム可能な構成可能なロジック要素（ＣＬＥ）６１２を含み得る。ＢＲＡＭ６０３は、ＢＲＡＭロジック要素（ＢＲＬ）６１３に加えて、少なくとも１つのプログラム可能な相互接続要素を含む。典型的には、タイルに含まれる相互接続要素の数は、タイルの高さに依存する。説明したＢＲＡＭタイルは、５つのＣＬＢと同じ高さを有するが、他の数（たとえば、４つ）もまた使用できる。ＤＳＰタイル６０６は、適切な数のプログラム可能な相互接続要素に加えて、ＤＳＰロジック要素（ＤＳＰＬ）６１４を含んでもよい。ＩＯＢ６０４は、たとえば、ＩＮＴ６１１の１つのインスタンスに加えて、入出力ロジック要素（ＩＯＬ）の２つのインスタンスを含んでもよい。当業者にとって明らかであるように、たとえば、ＩＯＬ６１５と接続された実際のＩ／Ｏ接続パッドは、説明した様々なロジックブロック上に積層された金属を使用して製造され、典型的には、入出力ロジック要素６１５の領域に制限されることはない。
【００５５】
ダイの中心部近傍のカラム領域（図６にてハッチングで示される）は、構成、クロック、その他の制御ロジックのために使用される。このカラムから延長される横領域６０９は、プログラム可能な集積回路の幅を横切って、クロックと構成信号とを分配するために使用される。「カラム」および「横」領域への言及は、縦向きで図を見ることに関するものである点に留意されたい。
【００５６】
図６に示されたアーキテクチャを利用するいくつかのプログラム可能な集積回路は、プログラム可能な集積回路の大部分を構成する通常のカラム構造を中断する追加のロジックブロックを含む。追加のロジックブロックは、プログラム可能なブロックおよび／または専用のロジックでもよい。たとえば、図６で示されているプロセッサーブロックＰＲＯＣ６１０は、ＣＬＢとＢＲＡＭの複数のカラムに跨がる。
【００５７】
図６は、典型的なプログラム可能な集積回路のアーキテクチャを説明することだけを意図した図であることに留意されたい。カラム内のロジックブロックの数、カラムの相対的な幅、カラムの数と順序、カラムに含まれるロジックブロックのタイプ、ロジックブロックの相対的なサイズ、図６の上部に含まれる相互接続／ロジックの実装は、単に例示に過ぎない。たとえば、実際のプログラム可能な集積回路において、複数のＣＬＢの隣接カラムは、ユーザーロジックの実装の効率を促進するため、典型的には、ＣＬＢがどの位置にあっても含まれる。
【００５８】
いくつかの局面および特徴は、いくつかの場合においては、個別の図において説明されるが、１つの図の特徴は、他の図の特徴と組合わせてよく、その組合せが明示的に図示されておらず、組合せとして明示的に説明されていなくてもよい、と理解されるべきである。
【００５９】
本開示の回路および方法は、集積回路のタイミングを最適化する多様なシステムに適用され得ることが考えられる。その他の局面および特徴は、明細書の考慮から当業者に明らかであろう。回路および方法は、特定用途向け集積回路（ＡＳＩＣ）またはプログラマブルロジックとして実装されてもよい。明細書および図は、例示に過ぎないものと考えられ、発明の真の範囲は、下記の特許請求の範囲にて述べられる。
【図１】
2021508131.tif 000003
【図２】
2021508131.tif 000004
【図３】
2021508131.tif 000005
【図４】
2021508131.tif 000006
【図５】
2021508131.tif 000007
【図６】
2021508131.tif 000008
【手続補正書】
【提出日】令和2年8月20日(2020.8.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
回路装置であって、
論理回路と、
前記論理回路と接続され、第１の複数の双安定回路を含む入力レジスタロジックと、
前記入力レジスタロジックと結合された制御回路と、を備え、
前記第１の複数の双安定回路は複数の入力データ信号を受け、前記入力レジスタロジックは、複数の迂回経路および複数のマルチプレクサ回路を含み、前記複数のマルチプレクサ回路の各々は、前記複数の迂回経路のうちの１つの迂回経路上にある前記複数の入力データのうちの入力データ信号と、前記第１の複数の双安定回路のうちの双安定回路からの出力信号との間で選択して、前記入力レジスタロジックからの複数の出力データ信号のうちの１つの出力データ信号として提供するように構成され、前記論理回路は、前記入力レジスタロジックからの前記複数の出力データ信号を受信するように結合され、
前記制御回路は、
入力クロック信号から、第１の遅延クロック信号と第２の遅延クロック信号とを含む複数の遅延クロック信号を生成し、
少なくとも１つの前記遅延クロック信号または前記入力クロック信号を、前記第１の複数の双安定回路のクロック入力へ選択的に提供し、かつ
少なくとも１つの前記遅延クロック信号または前記入力クロック信号を、前記論理回路へ選択的に提供するように構成され、
前記制御回路は、前記入力レジスタロジックへのクロック遅延と前記論理回路へのクロック遅延とを等しくするように構成された可変クロック遅延ロジック回路を含む、回路装置。
【請求項２】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号の第１の遅延形式として前記第１の遅延クロック信号を生成し、かつ前記入力クロック信号の第２の遅延形式として前記第２の遅延クロック信号を生成し、前記第１の遅延クロック信号と前記入力クロック信号との間の遅延を、前記第２の遅延クロック信号と前記入力クロック信号との間の遅延よりも小さくし、
前記第１の遅延クロック信号を前記論理回路へ提供し、かつ
前記第２の遅延クロック信号を前記入力レジスタロジックへ提供するように構成される、請求項１に記載の回路装置。
【請求項３】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号を受信するように結合されかつ前記第１の遅延クロック信号を出力するように構成された第１の遅延回路を含む第１のクロックパスと、
前記第１の遅延回路の出力を受信するように結合されかつ前記第２の遅延クロック信号を出力するように構成された第２の遅延回路を含む第２のクロックパスと、を含み、
前記制御回路は、さらに、
前記第１の遅延クロック信号を前記論理回路へ選択的に提供し、かつ
前記第２の遅延クロック信号を前記入力レジスタロジックへ選択的に提供するようにプログラム可能である、請求項１または請求項２に記載の回路装置。
【請求項４】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号と前記可変クロック遅延ロジック回路の第１のマルチプレクサからの前記第１の遅延クロック信号とを受信するように結合されかつ第１のデュアルエッジクロック信号を生成するように構成された第１のデュアルエッジパルスジェネレータを含む第３のクロックパスと、
前記第２の遅延回路からの前記第２の遅延クロック信号と前記可変クロック遅延ロジックの第２のマルチプレクサからの前記第１の遅延クロック信号とを受信するように結合されかつ第２のデュアルエッジクロック信号を生成するように構成された第２のデュアルエッジパルスジェネレータを含む第４のクロックパスとを含み、
前記制御回路は、
前記第１のデュアルエッジクロック信号を前記論理回路へ選択的に提供し、かつ
前記第２のデュアルエッジクロック信号を前記入力レジスタロジックへ選択的に提供するようにプログラム可能である、請求項３に記載の回路装置。
【請求項５】
前記制御回路は、
前記制御回路の第１のマルチプレクサから前記第１の遅延クロック信号または前記第２の遅延クロック信号を受信するように結合された第１のパルスジェネレータを含み、
前記第１のパルスジェネレータは、
前記第１の遅延クロック信号または前記第２の遅延クロック信号のパルス幅を低減し、かつ
第１の狭小クロック信号を前記入力レジスタロジックへ出力するように構成され、
前記制御回路は、
前記制御回路の第２のマルチプレクサから前記第１の遅延クロック信号、反転されたクロック信号、または前記第２のデュアルエッジクロック信号を受信するように結合された第２のパルスジェネレータを含み、
前記第２のパルスジェネレータは、
前記第１の遅延クロック信号、前記反転されたクロック信号、または前記第２のデュアルエッジクロック信号のパルス幅を低減し、かつ
第２の狭小クロック信号を前記入力レジスタロジックへ出力するように構成される、請求項４に記載の回路装置。
【請求項６】
前記制御回路は、さらに、
第１の初期化モードにおいて、
前記入力レジスタロジックへのクロック信号を、前記第１の複数の双安定回路をトランスペアレントにする状態に強制するために第１のグローバル信号をアサートし、かつ
前記第１の複数の双安定回路への初期値の伝播に続いて、前記第１の複数の双安定回路が前段から上流のデータ値を継承するように、前記第１のグローバル信号をデアサートするように構成され、
第２の初期化モードにおいて、
前記入力レジスタロジックへの前記クロック信号を、前記第１の複数の双安定回路をトランスペアレントとしない状態に強制するために第２のグローバル信号をアサートし、
前記第１の複数の双安定回路を特定の状態に強制する第３のグローバル信号を、前記入力レジスタロジックおよび前記論理回路に印加し、かつ
前記第２のグローバル信号をデアサートするように構成される、請求項１に記載の回路装置。
【請求項７】
前記第３のグローバル信号は、前記第１の複数の双安定回路の状態をローに強制するグローバルリセット信号である、請求項６に記載の回路装置。
【請求項８】
前記制御回路は、さらに、前記第１の複数の双安定回路の出力または前記第１の複数の双安定回路のデータ入力における信号を、前記論理回路の入力へ選択的に接続するようにプログラム可能である、請求項１に記載の回路装置。
【請求項９】
前記制御回路は、第２の複数の双安定回路を含み、
前記制御回路は、さらに、少なくとも１つの前記遅延クロック信号または前記入力クロック信号を、前記第２の複数の双安定回路のクロック入力へ選択的に提供するようにプログラム可能である、請求項１に記載の回路装置。
【請求項１０】
前記入力レジスタロジックは、前記論理回路の各入力ごとに、それぞれのデータ選択回路を含み、前記それぞれのデータ選択回路は、他のそれぞれのデータ選択回路とは独立して、前記第１の複数の双安定回路のうちの双安定回路の出力または前記双安定回路のデータ入力における信号を、論理回路の入力へ選択的に接続するようにプログラム可能であり、
前記入力レジスタロジックは、前記第１の複数の双安定回路の各々ごとに、それぞれのクロック選択回路を含み、前記それぞれのクロック選択回路は、他のそれぞれのクロック選択信号とは独立して、少なくとも１つの前記遅延クロック信号または前記入力クロック信号を、前記双安定回路のクロック入力へ選択的に提供するようにプログラム可能である、請求項１に記載の回路装置。
【請求項１１】
回路装置であって、
プログラム可能な論理回路の複数のブロックを備え、プログラム可能な論理回路の各ブロックは、論理演算を実行するように構成可能であり、
前記プログラム可能な論理回路の複数のブロックの間で、信号を選択的に経路指定するように構成可能なプログラム可能な相互接続回路と、
前記プログラム可能な論理回路の複数のブロックに結合され、第１の複数の双安定回路を含む入力レジスタロジックと、
前記入力レジスタロジックと結合された制御回路と、をさらに備え、
前記第１の複数の双安定回路は複数の入力データ信号を受け、前記入力レジスタロジックは、複数の迂回経路および複数のマルチプレクサ回路を含み、前記複数のマルチプレクサ回路の各々は、前記複数の迂回経路のうちの１つの迂回経路上にある前記複数の入力データのうちの入力データ信号と、前記第１の複数の双安定回路のうちの双安定回路からの出力信号との間で選択して、前記入力レジスタロジックからの複数の出力データ信号のうちの１つの出力データ信号として提供するように構成され、前記プログラム可能な論理回路の複数のブロックは、前記入力レジスタロジックからの前記複数の出力データ信号を受信するように結合され、
前記制御回路は、
入力クロック信号から、第１の遅延クロック信号と第２の遅延クロック信号とを含む複数の遅延クロック信号を生成し、
少なくとも１つの前記遅延クロック信号または前記入力クロック信号を、前記第１の複数の双安定回路のクロック入力へ選択的に提供し、かつ
少なくとも１つの前記遅延クロック信号または前記入力クロック信号を、前記プログラム可能な論理回路へ選択的に提供するように構成され、
前記制御回路は、前記入力レジスタロジックへのクロック遅延と前記プログラム可能な論理回路へのクロック遅延とを等しくするように構成された可変クロック遅延ロジック回路を含む、回路装置。
【請求項１２】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号の第１の遅延形式として前記第１の遅延クロック信号を生成し、かつ前記入力クロック信号の第２の遅延形式として前記第２の遅延クロック信号を生成し、前記第１の遅延クロック信号と前記入力クロック信号との間の遅延を、前記第２の遅延クロック信号と前記入力クロック信号との間の遅延よりも小さくし、
前記第１の遅延クロック信号を前記プログラム可能な論理回路へ提供し、かつ
前記第２の遅延クロック信号を前記入力レジスタロジックへ提供するように構成される、請求項１１に記載の回路装置。
【請求項１３】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号を受信するように結合されかつ前記第１の遅延クロック信号を出力するように構成された第１の遅延回路を含む第１のクロックパスと、
前記第１の遅延回路の出力を受信するように結合されかつ前記第２の遅延クロック信号を出力するように構成された第２の遅延回路を含む第２のクロックパスと、を含み、
前記制御回路は、さらに、
前記第１の遅延クロック信号を前記プログラム可能な論理回路へ選択的に提供し、かつ
前記第２の遅延クロック信号を前記入力レジスタロジックへ選択的に提供するようにプログラム可能である、請求項１１に記載の回路装置。
【請求項１４】
前記可変クロック遅延ロジック回路は、
前記入力クロック信号と前記可変クロック遅延ロジック回路の第１のマルチプレクサからの前記第１の遅延クロック信号とを受信するように結合されかつ第１のデュアルエッジクロック信号を生成するように構成された第１のデュアルエッジパルスジェネレータを含む第３のクロックパスと、
前記第２の遅延回路からの前記第２の遅延クロック信号と前記可変クロック遅延ロジックの第２のマルチプレクサからの前記第１の遅延クロック信号とを受信するように結合されかつ第２のデュアルエッジクロック信号を生成するように構成された第２のデュアルエッジパルスジェネレータを含む第４のクロックパスとを含み、
前記制御回路は、さらに、
前記第１のデュアルエッジクロック信号を前記プログラム可能な論理回路へ選択的に提供し、かつ
前記第２のデュアルエッジクロック信号を前記入力レジスタロジックへ選択的に提供するようにプログラム可能である、請求項１３に記載の回路装置。
【請求項１５】
前記制御回路は、さらに、
第１の初期化モードにおいて、
前記入力レジスタロジックへの前記クロック信号を前記第１の複数の双安定回路をトランスペアレントにする状態に強制する第１のグローバル信号をアサートし、かつ
前記第１の複数の双安定回路への初期値の伝播に続いて、前記第１の複数の双安定回路が前段から上流のデータ値を継承するように、前記第１のグローバル信号をデアサートするように構成され、
第２の初期化モードにおいて、
前記入力レジスタロジックへの前記クロック信号を前記第１の複数の双安定回路をトランスペアレントとしない状態に強制する第２のグローバル信号をアサートし、
前記第１の複数の双安定回路を特定の状態に強制する第３のグローバル信号を、前記入力レジスタロジックおよび前記プログラム可能な論理回路に印加し、かつ
前記第２のグローバル信号をデアサートする、請求項１１に記載の回路装置。
【国際調査報告】
2021508131.tif 000009
2021508131.tif 000010
2021508131.tif 000011
2021508131.tif 000012
2021508131.tif 000013