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

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

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特表2022-541751超伝導回路設計におけるクリティカルタイミングパスの決定
<>
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図1
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図2
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図3
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図4
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図5
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図6
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図7
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図8
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図9
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図10
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図11
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図12
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図13
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図14
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図15
  • 特表-超伝導回路設計におけるクリティカルタイミングパスの決定 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-27
(54)【発明の名称】超伝導回路設計におけるクリティカルタイミングパスの決定
(51)【国際特許分類】
   G06F 30/3315 20200101AFI20220916BHJP
   H03K 19/195 20060101ALI20220916BHJP
   G06F 119/12 20200101ALN20220916BHJP
【FI】
G06F30/3315
H03K19/195
G06F119:12
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022501190
(86)(22)【出願日】2020-06-04
(85)【翻訳文提出日】2022-01-11
(86)【国際出願番号】 US2020036191
(87)【国際公開番号】W WO2021015866
(87)【国際公開日】2021-01-28
(31)【優先権主張番号】16/518,668
(32)【優先日】2019-07-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.VERILOG
2.BLUETOOTH
(71)【出願人】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】シュナイダー,ジャネット エル
(72)【発明者】
【氏名】アキュシアーノ,ポール
(72)【発明者】
【氏名】クプファーシュミット,マーク ジー.
(72)【発明者】
【氏名】レネリス,ケネス
【テーマコード(参考)】
5B146
5J042
【Fターム(参考)】
5B146AA22
5B146GG03
5J042AA01
(57)【要約】
ジョセフソン接合を含む超伝導回路設計においてクリティカルタイミングパスを決定するシステム及び方法が提供される。例示的な方法は、少なくとも1つの論理ゲートの第1シンク端子に結合された前記少なくとも1つの論理ゲートの複数のソース端子に関するタイミング情報を提供するステップを含んでよい。前記方法は、プロセッサを用いて、前記タイミング情報の観点で、前記少なくとも1つの論理ゲートに割り当てられた第1位相に基づき、前記第1シンク端子が所定到達時間範囲内で単一磁束量子(SFQ)により到達可能かどうかを決定するステップを更に含む。

【特許請求の範囲】
【請求項1】
プロセッサにより実施される、超伝導回路設計においてクリティカルタイミングパスを決定する方法であって、前記超伝導回路設計は、少なくとも1つのジョセフソン接合を含む少なくとも1つの論理ゲートを含み、前記少なくとも1つの論理ゲートは前記少なくとも1つの論理ゲートにクロック供給するクロック信号に関連付けられた割り当てられた第1位相を有し、前記方法は、
前記少なくとも1つの論理ゲートの第1シンク端子に結合された、前記少なくとも1つの論理ゲートの複数のソース端子に関するタイミング情報を提供するステップと、
前記プロセッサを用いて、前記タイミング情報の観点で、前記少なくとも1つの論理ゲートに割り当てられた前記第1位相に基づき、前記第1シンク端子が所定到達時間範囲内に単一磁束量子(SFQ)パルスにより到達可能かどうかを決定するステップと、
を含む方法。
【請求項2】
前記方法は、前記第1シンク端子が前記所定到達時間範囲内に前記SFQパルスにより到達可能ではない場合、前記複数のソース端子のうちの少なくとも1つと前記第1シンク端子との間にジョセフソン伝送線(JTL)要素を挿入するステップ、を更に含む請求項1に記載の方法。
【請求項3】
前記JTL要素の挿入後に前記第1シンク端子が前記所定到達時間範囲内に前記SFQパルスにより到達可能かどうかを決定するステップ、を更に含む請求項2に記載の方法。
【請求項4】
前記JTL要素の挿入後に前記第1シンク端子が前記所定到達時間範囲内に前記SFQパルスにより到達可能であると決定すると、前記少なくとも1つの論理ゲートに関連付けられた複数のシンク端子の中から、前記クリティカルタイミングパスに関連付けられているとして、前記第1シンク端子を除去するステップ、を更に含む請求項3に記載の方法。
【請求項5】
前記少なくとも1つの論理ゲートに関連付けられた複数のシンク端子の中から所定の振る舞いに基づき、前記第1シンク端子を選択するステップ、を更に含む請求項1に記載の方法。
【請求項6】
前記所定の振る舞いに基づき前記第1シンク端子を選択するステップは、前記複数のシンク端子に関連付けられたそれぞれのSFQパルスの最大立ち上がり時間値のうちの最小値を有する前記第1シンク端子として、シンク端子を選択するステップを含む、請求項5に記載の方法。
【請求項7】
前記決定するステップの前に、前記第1位相に位相オフセットを追加することにより、前記少なくとも1つの論理ゲートに第2位相を割り当てるステップ、を更に含む請求項1に記載の方法。
【請求項8】
前記タイミング情報は、少なくともタイミング制約及び許容信号タイプを含むタイミングライブラリにより提供され、前記許容信号タイプは波形パイプライン論理タイプの信号又は位相モード論理タイプの信号を含むグループから選択される、請求項1に記載の方法。
【請求項9】
プロセッサにより実施される、超伝導回路設計においてクリティカルタイミングパスを決定する方法であって、前記超伝導回路設計は複数の論理ゲートを含み、前記複数の論理ゲートの各々は、少なくとも1つのジョセフソン接合を含み、前記方法は、
前記複数の論理ゲートに関連付けられた複数のソース端子に関するタイミング情報を提供するステップと、
前記複数の論理ゲートの中から選択されたターゲット論理ゲートに関連付けられた、複数のシンク端子の中からの第1シンク端子の選択を受信するステップと、
前記ターゲット論理ゲートへの位相の割り当てを受信するステップと、
前記複数のシンク端子の各々について、
前記プロセッサを用いて、前記複数のシンク端子の各々が所定到達時間範囲内にそれぞれの単一磁束量子(SFQ)パルスにより到達可能かどうかを決定するステップと、
前記第1シンク端子が前記所定到達時間範囲内に到達可能ではない場合、前記ターゲット論理ゲートに関連付けられたソース端子と前記所定到達時間範囲内に到達可能ではないと決定された前記第1シンク端子との間にジョセフソン伝送線(JTL)を挿入し、前記JTLの挿入後に前記第1シンク端子が前記所定到達時間範囲内に到達可能であると決定すると、前記クリティカルタイミングパスに関連付けられているとして、前記複数のシンク端子の中から前記第1シンク端子を除去するステップと、
を含む方法。
【請求項10】
前記ターゲット論理ゲートに関連付けられた前記複数のシンク端子の中から所定の振る舞いに基づき、前記第1シンク端子を選択するステップ、を更に含む請求項9に記載の方法。
【請求項11】
前記所定の振る舞いに基づき前記第1シンク端子を選択するステップは、前記複数のシンク端子に関連付けられたそれぞれのSFQパルスの最大立ち上がり時間値のうちの最小値を有する前記第1シンク端子として、シンク端子を選択するステップを含む、請求項10に記載の方法。
【請求項12】
前記決定するステップの前に、前記第1位相に位相オフセットを追加することにより、前記ターゲット論理ゲートに第2位相を割り当てるステップ、を更に含む請求項9に記載の方法。
【請求項13】
前記タイミング情報は、少なくともタイミング制約及び許容信号タイプを含むタイミングライブラリにより提供され、前記許容信号タイプは波形パイプライン論理タイプの信号又は位相モード論理タイプの信号を含むグループから選択される、請求項9に記載の方法。
【請求項14】
超伝導回路設計においてクリティカルタイミングパスを決定するよう構成されるシステムであって、前記超伝導回路設計は、少なくとも1つのジョセフソン接合を含む少なくとも1つの論理ゲートを含み、前記少なくとも1つの論理ゲートは前記少なくとも1つの論理ゲートにクロック供給するクロック信号に関連付けられた割り当てられた第1位相を有し、前記システムは、
前記少なくとも1つの論理ゲートの第1シンク端子に結合された、前記少なくとも1つの論理ゲートの複数のソース端子に関するタイミング情報を提供するよう構成される第1サブシステムと、
プロセッサを含み、前記タイミング情報の観点で、前記少なくとも1つの論理ゲートに割り当てられた前記第1位相に基づき、前記第1シンク端子が所定到達時間範囲内に単一磁束量子(SFQ)パルスにより到達可能かどうかを決定するよう構成される第2サブシステムと、
を含むシステム。
【請求項15】
前記システムは、前記第1シンク端子が前記所定到達時間範囲内に前記SFQパルスにより到達可能ではない場合、前記複数のソース端子のうちの少なくとも1つと前記第1シンク端子との間にジョセフソン伝送線(JTL)要素を挿入させるよう更に構成される請求項14に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
デジタルプロセッサのような電子デバイス内で使用される半導体に基づく集積回路は、相補型金属酸化物半導体(complementary metal-oxide semiconductor (CMOS))技術に基づくデジタル回路を含む。しかしながら、CMOS技術は、素子サイズの観点でその限界に達している。更に、CMOS技術に基づくデジタル回路による高いクロック速度における電力消費は、高性能デジタル回路及びシステムにおいて次第に制限因子になりつつある。例として、データセンタ内のサーバは、益々大量の電力を消費している。電力消費は、部分的には、CMOS回路が非アクティブのときでさえエネルギ消散による電力損失の結果である。これは、そのような回路が非アクティブであり動的な電力を消費していないときでも、それらが、CMOSトランジスタの状態を維持する必要があるために、依然として電力を消費するからである。
【0002】
CMOS技術に基づく、プロセッサ及び関連コンポーネントの使用のための更なるアプローチは、超伝導論理に基づくコンポーネント及びデバイスの使用である。超伝導論理に基づく回路は、量子ビット(qubit)のような量子情報を処理するためにも使用できる。多くの超伝導論理回路は、高速クロック又はマイクロ波信号を用いて制御され得るジョセフソン(Josephson)接合を含む。そのような回路は、正しいタイミング設計の生成を複雑にする可能性のあるアクティブ伝送要素を含み得る。
【発明の概要】
【0003】
一態様では、本開示は、プロセッサにより実施される、超伝導回路設計におけるクリティカルタイミングパスを決定する方法であって、前記超伝導回路設計は、少なくとも1つのジョセフソン接合を含む少なくとも1つの論理ゲートを含み、前記少なくとも1つの論理ゲートは、前記少なくとも1つの論理ゲートにクロック供給するクロック信号に関連付けられた割り当てられた第1位相を有する、方法に関する。前記方法は、前記少なくとも1つの論理ゲートの第1シンク端子に結合された前記少なくとも1つの論理ゲートの複数のソース端子に関するタイミング情報を提供するステップを含んでよい。前記方法は、前記プロセッサを用いて、前記タイミング情報の観点で、前記少なくとも1つの論理ゲートに割り当てられた第1位相に基づき、前記第1シンク端子が所定到達時間範囲内で単一磁束量子(SFQ)により到達可能かどうかを決定するステップを更に含んでよい。
【0004】
別の態様では、本開示は、プロセッサにより実施される、超伝導回路設計におけるクリティカルタイミングパスを決定する方法であって、前記超伝導回路設計は複数の論理ゲートを含み、前記複数の論理ゲートの各々は少なくとも1つのジョセフソン接合を含む、方法に関する。前記方法は、前記複数の論理ゲートに関連付けられた複数のソース端子に関するタイミング情報を提供するステップを含んでよい。前記方法は、複数のシンク端子の中からの、前記複数の論理ゲートの中から選択されたターゲット論理ゲートに関連付けられた第1シンク端子の選択を受信するステップを更に含んでよい。前記方法は、前記ターゲット論理ゲートへの位相の割り当てを受信するステップを更に含んでよい。前記方法は、前記複数のシンク端子の各々について、
前記プロセッサを用いて、前記複数のシンク端子の各々が、所定到達時間範囲内でそれぞれの単一磁束量子(SFQ)パルスにより到達可能かどうかを決定するステップであって、前記第1シンク端子が前記所定到達時間範囲内に到達可能ではない場合、前記ターゲット論理ゲートに関連付けられたソース端子と前記所定到達時間範囲内に到達できないと決定された前記第1シンク端子との間にジョセフソン伝送線(JTL)要素を挿入し、前記JTLの挿入後に、前記第1シンク端子は前記所定到達時間範囲内に到達可能であると決定すると、前記クリティカルタイミングパスに関連付けられている前記複数のシンク端子の中から前記第1シンク端子を除去する、ステップを更に含んでよい。
【0005】
更に別の態様では、本開示は、超伝導回路設計におけるクリティカルタイミングパスを決定するよう構成されるシステムであって、前記超伝導回路設計は、少なくとも1つのジョセフソン接合を含む少なくとも1つの論理ゲートを含み、前記少なくとも1つの論理ゲートは、前記少なくとも1つの論理ゲートにクロック供給するクロック信号に関連付けられた割り当てられた第1位相を有する、システムに関する。前記システムは、前記少なくとも1つの論理ゲートの第1シンク端子に結合された前記少なくとも1つの論理ゲートの複数のソース端子に関するタイミング情報を提供するよう構成される第1サブシステムを含んでよい。前記システムは、前記タイミング情報の観点で、前記少なくとも1つの論理ゲートに割り当てられた第1位相に基づき、前記第1シンク端子が所定到達時間範囲内で単一磁束量子(SFQ)により到達可能かどうかを決定するよう構成されるプロセッサを含む第2サブシステムを更に含んでよい。
【0006】
別の態様では、本開示は、プロセッサにより実施される、超伝導回路設計におけるタイミングパスを決定し及びトポロジをリコンサイルする方法であって、前記超伝導回路設計は、第1タイミングピンセットを含む第1タイミングパスを含み、前記第1タイミングピンセットの第1サブセットは、第1タイミングエンドポイントと第2タイミングエンドポイントとを含む第1タイミング制約グループに関連付けられる、方法に関する。前記方法は、前記プロセッサを用いて、前記第1タイミング制約グループを処理して、第1強制開始時間を前記第1タイミングエンドポイントに及び第2強制開始時間を前記第2タイミングエンドポイントに割り当てるステップを含んでよい。前記方法は、前記タイミングパスに第1の物理的に接続されたコンポーネントを表す第1シャドウ要素を挿入するステップであって、前記第1シャドウ要素は前記第1タイミングエンドポイントより先行するか又は前記第2タイミングエンドポイントの後に続く、ステップを更に含んでよい。前記方法は、前記タイミングパスへの前記第1シャドウ要素の挿入により生じる、前記第1強制開始時間又は前記第2強制開始時間に対する変化を解決するステップを更に含んでよい。
【0007】
更なる態様では、本開示は、プロセッサにより実施される、超伝導回路設計においてタイミングパスを決定し及びトポロジをリコンサイルする方法であって、前記超伝導回路設計は、第1回路コンポーネントに関連付けられた第1タイミングエンドポイントと第2回路コンポーネントに関連付けられた第2タイミングエンドポイントとを含む第1タイミングパスを含み、前記第1回路コンポーネント及び前記第2回路コンポーネントの各々はジョセフソン接合を含み、前記第1回路コンポーネントは第1位相を割り当てられ、前記第2回路コンポーネントは第2位相を割り当てられる、方法に関する。前記方法は、前記プロセッサを用いて、前記タイミングパス上の前記第1タイミングエンドポイントに対する第1強制開始時間、及び前記タイミングパス上の前記第2タイミングエンドポイントに対する第2強制開始時間を決定するステップを含んでよい。前記方法は、前記タイミングパスに第1の物理的に接続されたコンポーネントを表す第1シャドウ要素を挿入するステップであって、前記第1シャドウ要素は前記タイミングパス上の前記第1回路コンポーネントより先行する、ステップを更に含んでよい。前記方法は、前記タイミングパスに第2の物理的に接続されたコンポーネントを表す第2シャドウ要素を挿入するステップであって、前記第2シャドウ要素は前記タイミングパス上の前記第2回路コンポーネントの後に続く、ステップを更に含んでよい。前記方法は、前記タイミングパスへの前記第1シャドウ要素及び前記第2シャドウ要素の挿入により生じる、前記第1強制開始時間及び前記第2強制開始時間に対する変化を解決するステップを更に含んでよい。
【0008】
更に別の態様では、本開示は、超伝導回路設計においてタイミングパスを決定し及びトポロジをリコンサイルするよう構成されるシステムであって、前記超伝導回路設計は、第1回路コンポーネントに関連付けられた第1タイミングエンドポイントと第2回路コンポーネントに関連付けられた第2タイミングエンドポイントとを含む第1タイミングパスを含み、前記第1回路コンポーネント及び前記第2回路コンポーネントの各々はジョセフソン接合を含み、前記第1回路コンポーネントは第1位相を割り当てられ、前記第2回路コンポーネントは第2位相を割り当てられる、システムに関する。前記システムは、プロセッサと、命令を含むメモリと、を含んでよい。前記命令は、
(1)前記タイミングパス上の前記第1タイミングエンドポイントに対する第1強制開始時間と、前記タイミングパス上の前記第2タイミングエンドポイントに対する第2強制開始時間とを決定し、
(2)前記タイミングパスに第1の物理的に接続されたコンポーネントを表す第1シャドウ要素を挿入し、前記第1シャドウ要素は前記タイミングパス上で前記第1回路コンポーネントより先行し、
(3)前記タイミングパスに第2の物理的に接続されたコンポーネントを表す第2シャドウ要素を挿入し、前記第2シャドウ要素は前記タイミングパス上で前記第2回路コンポーネントの後に続き、
(4)前記タイミングパスへの前記第1シャドウ要素及び前記第2シャドウ要素の挿入により生じる前記第1強制開始時間及び前記第2強制開始時間の変化を解決する、
よう構成されてよい。
【0009】
この概要は、簡略化した形式で概念の選択を紹介するために提供され、詳細な説明において以下に更に説明される。この概要は、請求される主題の主要な特徴又は必須の特徴を特定するものではなく、また、請求される主題の範囲を限定されるために使用されるべきではない。
【図面の簡単な説明】
【0010】
本開示は、例を用いて説明され、添付の図面により限定されない。図中の同様の参照符号は同様の要素を示す。図中の要素は、簡単及び明確のために図示され、必ずしも縮尺通りに描かれない。
【0011】
図1】一例による、システム環境のブロック図である。
【0012】
図2】一例による、オブジェクトモデルのブロック図である。
【0013】
図3】一例による、タイミングコンポーネント及びそれらのオブジェクトモデルとの関係を含む図を示す。
【0014】
図4】一例による、図1のシステム環境に関連する機能を実装するために使用され得るコンピューティングプラットフォームを示す。
【0015】
図5】一例による、時間調整されている例示的な論理回路の概略図を示す。
【0016】
図6】一例による、超伝導回路設計におけるタイミングパスの有効性を決定する方法のフローチャート600である。
【0017】
図7】別の例による、超伝導回路設計におけるクリティカルタイミングパスを決定する及びクリティカルタイミングパスを解決する方法のフローチャート700である。
【0018】
図8】制約グループの部分であるタイミングピンを含むタイミング制約グループ(TCG)の例を表す回路の図を示す。
【0019】
図9】一例による、超伝導回路設計の部分として、図8のTCGより先行する又は後に続くタイミング制約グループ(TCG)に対応するシャドウコンポーネントを含む図を示す。
【0020】
図10図8のTCGへのアクティブ伝送要素の追加を示す図である。
【0021】
図11】タイミング情報及び位相割り当て、並びに他のタイミング制約グループのために満たされる(必要な)追加JTLを示す図である。
【0022】
図12】一例による、図8のTCGのヘッドのタイミングの変化を示す図である。
【0023】
図13】一例による、解決ステップの結果として、図8のTCGの残りのコンポーネントのタイミングの変化を示す図である。
【0024】
図14】一例による、他のTCGのタイミングの変化を示す図である。
【0025】
図15】一例による、超伝導回路設計におけるタイミングパスを決定し及びトポロジをリコンサイルする方法のフローチャート600である。
【0026】
図16】一例による、超伝導回路設計におけるタイミングパスを決定し及びトポロジをリコンシレーションする方法のフローチャート600である。
【発明を実施するための形態】
【0027】
本開示に記載される例は、超伝導回路設計のクリティカルタイミングパスを決定するシステム及び方法に関する。特定の他の例は、超伝導回路設計についてクリティカルタイミングパスを決定し及びトポロジをリコンサイル(reconciling、調和、調停、又は調整)するシステム及び方法に関する。超伝導回路は、回路に関連付けられた機能を実装するためにジョセフソン接合(Josephson junction)を使用してよい。例示的なジョセフソン接合は、電流を妨げる領域を介して結合された2個の超伝導体を含んでよい。電流を妨げる領域は、超伝導体自体を物理的に狭くしたもの、金属領域、又は薄い絶縁バリアであってよい。例として、超伝導体-絶縁体-超伝導体(Superconductor-Insulator-Superconductor (SIS))型のジョセフソン接合は、超伝導回路の部分として実装されてよい。例として、超伝導体は、電界が存在しないとき、直流(DC)を運ぶことができる物質である。超伝導体は、臨界温度(critical temperature (Tc))を有し、その温度より下ではゼロ抵抗を有する。ニオブは、そのような超伝導体の1つであり、9.3ケルビン(K)の臨界温度(Tc)を有する。Tcより下の温度では、ニオブは超伝導であるが、Tcより上野温度では、電気抵抗を有する通常の金属として振る舞う。従って、SIS型のジョセフソン接合では、超伝導体は、ニオブ超伝導体であってよく、絶縁体はAlOバリアであってよい。SIS型の接合では、超伝導電子は、量子力学的な波動関数により記述される。2つの超伝導体の間の超伝導電子波動関数の位相の時間にわたり変化する位相差は、2つの超伝導体の間の電位差に対応する。
【0028】
伝送線を含む種々の超伝導回路は、インダクタ又は必要に応じて他のコンポーネントにより複数のジョセフソン接合を結合することにより形成できる。マイクロ波パルスは、少なくとも1つのクロックの制御下で、これらの伝送線を介して伝わることができる。マイクロ波パルスは、正又は負、又はそれらの組合せであることができる。マイクロ波パルスは、最大で10GHz以上の周波数を有してよい。クロックも、最大で10GHz以上の周波数を有してよい。
【0029】
一例では、回路の論理は、波形パイプライン論理と呼ばれてよく、デジタルデータは、正及び負のSFQパルスのペアを用いて符号化されてよい。例として、論理1ビットは、正弦波クロックの正及び負のパルスにおいて生成されるSFQパルスのペアとして符号化されてよい。論理0ビットは、クロック周期中に正/負パルスペアの不存在により符号化されてよい。正SFQパルスは、クロックの正部分の間に到着してよい。一方で、負パルスは、クロックの負部分の間に到着してよい。正SFQパルスは、クロックの正部分の前に到着してよいが、正クロックが到着するまで伝播しない。同様に、負SFQパルスは、クロックの負部分の前に到着してよいが、負パルスが到着するまで伝播しない。
【0030】
特定の例は、位相モード論理に基づく超伝導回路のタイミング設計に更に関する。これらの超伝導回路は、位相モード論理(phase-mode logic (PML))に基づく装置を使用してもよい。PMLに基づく装置では、論理「1」は位相ハイとして符号化されてよく、論理「0」は位相ローとして符号化されてよい。位相ハイと位相ローとの間の遷移は、単一磁束量子(single flux quantum (SFQ))によりトリガされるイベントであってよい。位相モード論理に基づく超伝導回路では、デジタル値はジョセフソン接合(Josephson junction (JJ))位相として符号化されてよい。ハイ位相は論理「1」を示してよく、ロー位相は論理「0」を示してよい。波形パイプライン論理符号化と異なり、JJパルスをリセットするために負パルスを必要としないので、これらの値は、クロックサイクルに跨がり持続する。例として、4つの位相を有するACクロックが、位相モード論理超伝導回路に給電するために使用された場合、位相モード論理回路の出力は、ACクロックの4個全部の位相に跨がり持続し得る。一例では、4位相クロックは、2個のACクロック源から導出されてよい。クロックの4個の位相は、単一磁束量子(single flux quantum (SFQ))パルスに方向性を提供し得る。従って、例として、4位相クロックに関して、正パルスは、1つの位相から次の位相へとクロックの前縁に乗り、1周期の遅延の後に出力に到達することがあり、負パルスは、半周期離れて後に続くことがある。4個より多くの位相によるクロック供給を含む他の種類のクロック供給構成も使用されてよい。
【0031】
超伝導回路の構成ブロックは、様々な種類の論理ゲートを含み得る。例示的な論理ゲートは、ANDゲート、ORゲート、否定論理積(logical A-and-not-B (AanB))ゲート、及び論理積及び和(logical AND & OR (AndOr))ゲートを含む。AanBゲートは、2個の入力と1個の出力(Q)を有してよい。入力パルスAは、入力パルスBが最初に来ない限り、出力Qに伝播し得る。AndOrゲートは、2個の入力と2個の出力(Q1及びQ2)を有してよい。最初の入力パルス、つまり入力パルスA又は入力パルスBが出力Q1へ行き、2番目の入力パルスが出力Q2へ行く。これらのゲートの論理的振る舞いは、前述の再帰的(reciprocal)データ符号化に、又は前述の位相モード論理に基づくデータ符号化に、基づいてよい。
【0032】
図1は、一例による、システム環境100のブロック図である。システム環境100は、超伝導回路のためのタイミング決定及び位相割り当てに関する方法及びシステムを実行するための例示的なブロックを示す。システム環境100は、ユーザインタフェース(UI)ブロック110、設計ブロック120、タイミング及び位相ブロック(TPB)130、オブジェクトモデル150、コンポーネントタイプシステム160、及びタイミングライブラリ170を含んでよい。UIブロック110は、設計者又は他のユーザがシステムと相互作用できるようにするユーザインタフェースを可能にするためのコードを含んでよい。例として、UIブロック110は、ユーザが、超伝導回路内のクリティカルパスを決定し、位相を割り当て、及び超伝導回路のタイミング関連設計を変更することができるようにするコード及びデータ構造を含んでよい。設計ブロック120は、タイミング関連設計に関連付けられた種々のパラメータに関する設計提議を指定し得る少なくとも1つのオブジェクトを含んでよい。例として、設計ブロック120は、タイミング設計に関連付けられた周波数を指定するオブジェクトであってよい。別の例として、設計ブロック120は、どのタイミングライブラリが、集積回路に関連する超伝導回路又は超伝導回路セットと共に使用されるべきかを指定してよい。
【0033】
続けて図1を参照すると、TPB130は、タイミングエンジン132、タイミング結果134、回路分析器136、及び遅延決定138を含んでよい。タイミングエンジン132は、タイミングデータに基づき、パルス伝播及びタイミング制約を計算してよい。本例では、タイミングエンジン132の出力は、各方向のタイミングピン(タイミング端子とも呼ばれる)の間のアーク(arc)毎の、最小ホールド時間及び最大セットアップ時間のセットであってよい。この情報は、タイミング結果134の部分として格納されてよい。回路分析器136は、時間の調整されている回路のトポロジを決定し、それを遅延決定138による処理のために格納してよい。遅延決定138は、タイミングパス内にゲートを含むトポロジを処理して、タイミングピンの間の遅延を決定してよい。そのように決定された遅延は、ルックアップテーブル又は別のデータ構造に格納されてよい。タイミングエンジン132は、ルックアップテーブル又は別のデータ構造からピンの間の個別遅延を検索し、結果を加算してよい。更に、後述するように、タイミングエンジン132は、クリティカルタイミングパスに関連するデータ、トポロジ、スラック(slack)を有するパス、及び追加されたジョセフソン伝送線(Josephson transmission line (JTL))の数を含む、追加情報も提供してよい。本例では、タイミングエンジン132は、回路設計で使用するためのタイミング関連計算及び出力生成を可能にする呼び出し可能なメソッドのセットとして実装されてよい。タイミングエンジン132の上位レベルの態様は、以下の表1に示される特徴を含んでよい。
表1
【表1】
【0034】
更に図1を参照すると、オブジェクトモデル150は、タイミング設計を必要とするエンティティ(例えば、論理ゲート又は回路)を抽象化するタイミング関連定義を支援するためのデータ構造及びコードを含んでよい。以下の表2は、データ構造の例、及びそれらの例示的な説明を列挙する。
表2
【表2】
【0035】
更に続けて図1を参照すると、コンポーネントタイプシステム(ComponentTypeSystem(CTS))160は、関連タイミングライブラリ(例えば、タイミングライブラリ170)に関連するデータを格納するために使用されてよい。本例では、タイミングライブラリに関連付けられたデータの追加又は変更はCTS160の再初期化を必要とする。タイミングライブラリ170は、周波数に関する情報、AC振幅、及び設計に関連付けられた論理ゲートの種類に関する他のパラメータを含んでよい。例として、論理ゲートは、波形パイプライン論理ゲート、又は位相モード論理ゲートに対応してよい。本例では、タイミングライブラリは、論理ゲートのJson及びVerilog定義を含んでよい。これらの定義は、クロックに一致する立ち上がり/立ち下がりテーブル、及び信号タイプ(ゼロに戻る/ゼロに戻らない、等)を含んでよい。一例では、これらの定義は、ゲートのVerilog内のプロパティであってよい。図1は、システム環境100の部分として含まれる特定のブロックを示すが、追加又はより少ないブロックが存在してよい。例として、システム環境100は、タイミング設計に関するレポートを生成するために使用されてよいレポートブロックを含んでよい。別の例として、システム環境100は、異なる温度で動作するための超伝導回路構築、又は異なる製造プロセスを用いる超伝導回路構築をサポートするために使用され得る同様の情報を含んでよい追加タイミングライブラリを含んでよい。他のタイミングライブラリは、試験目的でのみ使用されてよい。
【0036】
図2は、一例による、オブジェクトモデル200のブロック図である。オブジェクトモデル200は、図1のオブジェクトモデル150の例である。オブジェクトモデル200は、タイミンググラフ220を含んでよい。オブジェクトモデルのこの例では、タイミンググラフ(例えば、タイミンググラフ220)が示されるが、タイミングコンポーネントは示されない。タイミングコンポーネント及びそれらのオブジェクトモデルに対する関係は、図3に関連して説明される。一例では、タイミンググラフ220は、表3に示されるデータ構造として実装されてよい。
表3
【表3】
【0037】
図2を続けて参照すると、タイミング制約グループ(TimingConstraintGroup)210は、接続されたタイミング制約のセット(例えば、タイミング制約(TimingConstraint)212、タイミング制約(TimingConstraint)214、及びタイミング制約(TimingConstraint)216)を含んでよい。タイミング制約(TimingConstraint)に対応するデータ構造に含まれる例示的な情報は、開始タイミングピン(BeginTimingPin)、終了タイミングピン(EndTimingPin)、ホールド(Hold)、及びセットアップ(Setup)、を含んでよい。従って、本例では、データ構造は、タイミング制約が開始するタイミングピン(例えば、論理ゲートに関連付けられた端子)及びタイミング制約が終了するタイミングピンに関する情報を含んでよい。データ構造は、ホールド及びセットアップ時間に関する情報を更に含んでよい。表4は、タイミング制約グループ(TimingConstraintGroup)210を実装するためのデータ構造に含まれるデータの一例を示す。
表4
【表4】
【0038】
更に図2を参照すると、表4に示されるように、タイミング制約グループ210は、タイミング制約212、タイミング制約214、及びタイミング制約216を含む、タイミング制約関連情報の集合を含んでよい。これらの各々は、データ構造を用いて実装されてよく、それぞれが、タイミング制約がその特定のタイミングピン又はそのタイミングピンセットに関連することを示すために、タイミングピン関連データ構造をポイントしてよい。以下の表5は、データ構造TimingConstraintに含まれる情報の例示的なセットを示す。
表5
【表5】
【0039】
各タイミングピン(又はタイミング端子)も、ExtraJTLsのようなアイテムに関する情報及びピン(又は端子)のタイプに関する情報を含んでよい対応するデータ構造を有してよい。例として、各ピンは、ゲートのソースピン又はシンクピンであってよい。図2に示されるオブジェクトモデル200は、タイミングピン:タイミングピン(TimingPin)221、222、223、224、225、226、227、228、229を含み、各タイミングピンは、タイミングピンベース(TimingPinBase)データ構造から導出される対応するデータ構造を有してよい。一例では、タイミングピンベースデータ構造は、以下の表6に示される情報を含んでよい。
表6
【表6】
【0040】
図2を引き続き参照して、表7は、ソースピンに対応するデータ構造に含まれる情報を示す。この例示的な表では、アーク(arc)は、ゲートの入力時間と出力時間との間のタイミング関係を表す。
表7
【表7】
【0041】
表8は、以上に示したように、シンクピンに対応するデータ構造に含まれる情報の例である。
表8
【表8】
【0042】
図3は、別の例による、別のタイミングオブジェクトモデル300のブロック図である。オブジェクトモデル300は、図1のオブジェクトモデル150の例である。本例では、タイミンググラフ及びタイミングコンポーネントの両方が示される。本例では、図2に関して前述したのと同様のデータ構造は、JTLのようなアクティブ伝送要素を含む回路の設計に対応するオブジェクトモデルに関連付けられたピン及びタイミング制約をモデル化するために使用される。従って、タイミンググラフ(TimingGraph)310は、表3に関して前述したのと同様の方法で及び同様の情報により実装されてよい。同様に、タイミング制約グループ(TimingConstraintGroup)320は、表4に関して前述したのと同様の情報により実装されてよい。本例では、タイミング制約グループ320は、タイミング制約ペア(TimingConstraintPair)330をポイントしてよい。一例では、タイミング制約ペア330に対応するデータ構造に含まれる情報は、以下の表9に示される。
表9
【表9】
【0043】
引き続き図3を参照すると、オブジェクトモデル300は、タイミングコンポーネント340、350、360、及び370を含むタイミングコンポーネントを含んでよく、時間調整されるべきコンポーネントを表し、異なるタイミンググラフ内の物理的に接続されたコンポーネントに対するリコンサイル(reconcile)ステップで、関連するタイミング制約グループを見付けるために使用されてよい。グラフは、タイミングパス上の物理的に接続された全部のコンポーネントについてタイミングコンポーネントにより構築される。各グラフのマップは、該グラフにより所有される全部のタイミングコンポーネントを含んでよい。ヘッド(HEADS)を除くタイミングパス上の全部のコンポーネントは、そのタイミンググラフにより所有される。HEADSは、その先行するもののタイミンググラフにより所有される。図3に示されるオブジェクトモデル300は、タイミングピン:タイミングピン(TimingPin)、342、344、346、348、362、366、368を含み、各タイミングピンは、表6に関して前述したタイミングピンベース(TimingPinBase)から導出される対応するデータ構造を有してよい。
【0044】
図4は、一例による、図1のシステム環境100に関連する機能を実装するために使用され得るコンピューティングプラットフォーム400を示す。コンピューティングプラットフォーム400は、プロセッサ402、I/Oコンポーネント404、メモリ406、提示コンポーネント408、センサ410、データベース412、ネットワークインタフェース414、I/Oポート416、を含んでよく、これらはバス420を介して相互接続されてよい。プロセッサ402は、メモリ406に格納された命令又はコードを実行してよい。命令は、本開示に記載された種々のアルゴリズムに対応してよい。従って、アルゴリズムは、プログラミング言語を用いて実装され、実行ファイルへとコンパイルされてよく、次に実行されてよい。I/Oポート404は、キーボード、マウス、音声認識プロセッサ、又はタッチスクリーンのようなコンポーネントを含んでよい。メモリ406は、不揮発性記憶又は揮発性記憶(例えば、フラッシュメモリ、DRAM、SRAM、又は他の種類のメモリ)の任意の組合せであってよい。提示コンポーネント408は、LCD、LEDのような任意のタイプのディスプレイ、又は他のタイプのディスプレイ、又はオーディオ若しくは触覚出力コンポーネントを含む他のタイプの出力コンポーネントであってよい。センサ410は、オーディオセンサ、光センサ、又は他の種類のセンサを含んでよい。
【0045】
続いて図4を参照すると、データベース412は、タイミングライブラリ及び他のタイミング関連情報を格納するために使用されてよい。更に、データベース412は、タイミングライブラリに関連するレポートを生成するために使用されるデータも格納してよい。ネットワークインタフェース414は、Ethernet、セルラ無線、Bluetooth無線、UWB無線、又は他の種類の無線若しくは有線通信インタフェースのような通信インタフェースを含んでよい。I/Oポート416は、コンピューティングプラットフォーム400が、バス420又は他のI/Oコンポーネント404と通信できるようにしてよい。図4は、コンピューティングプラットフォーム400を、特定の方法で配置され結合された特定数のコンポーネントを示すが、異なる方法で配置され結合されたより少数の又は追加のコンポーネントを含んでよい。更に、コンピューティングプラットフォーム400に関連付けられた機能は、必要に応じて分散され又は結合されてよい。更に、コンピューティングプラットフォーム400の態様の必ずしも全部が、本願明細書に記載される種々の方法を実施する必要はない。
【0046】
図5は、一例による、時間調整されている例示的な論理回路500の概略図を示す。例示的な論理回路500は、ANDゲート510及び幾つかのJTLを含んでよい。ANDゲート510は、2個の入力端子:ai及びbiと、出力端子:aoと、を含んでよい。図5に示すように、JTL512及び514は、入力端子aiに結合されてよい。図5に示すように、JTL516及び518は、入力端子biに結合されてよい。JTL520は、JTL516に結合されてよい。図示しないが、JTL520は、論理回路500を他の論理回路に結合するために使用されてよい。図5に示すように、JTL524は、出力端子aoに結合されてよい。必要に応じて追加のJTLが結合されてよい。例えば、JTL526及びJTL528は、JTL524に結合されてよい。JTL526及びJTL528は、論理回路500を他の論理回路に結合するために使用されてよい。図5に示すように、論理回路500に含まれる各JTL及び論理ゲートは、初期位相割り当てを有してよい。この例示的な回路は、4つの位相クロックにより動作するとする。その結果、位相割り当ては0度、90度、180度、及び270度を含む。より少ない又は多くの位相を含むクロックにより駆動される論理回路も設計され得る。単一磁束量子パルスは、それぞれの入力端子に結合されたJTLを介してANDゲート510の入力端子に到達してよい。ANDゲート510による処理の後に、論理AND値を表すSFQパルスは、出力端子を介して出力されてよい。論理回路500の適正な動作を保証するために、メモリ406に格納されたアルゴリズムに対応する命令は、プロセッサ402により実行されると、設計者が、論理回路500のタイミング特長及び位相割り当てを設計するのを助け得る。例示的なアルゴリズムは、表10に示される。
表10
【表10】
【0047】
表10に示すステップは、設計に含まれる論理ゲート(例えば、論理回路500の論理ゲート510)毎に、実行されてよい。表10に示すステップは、C個のシンクピンを含む任意のゲートGに関連する。第1ステップは、C個のシンクピンのセットの中から、任意の到着SFQパルスについて最大立ち上がり時間(maximum rise time (MRT))を有するシンクピンを見付けることを含んでよい。一例では、MRTは、テーブルに格納されたMRT値により該テーブルを検索するステップを実行するプロセッサにより決定されてよい。表10のステップ2で、ゲートに関連付けられた位相が、必要に応じてP+に変更されてよい。例として、位相0の割り当てがゲートの1つのシンクピンについて動作し得るが、他のシンクピンについては動作しないかもしれない。その場合、ゲートに割り当てられた位相は90度だけ増大されてよい(設計中の論理回路は、4位相ACクロックによりクロック供給されていて、次の位相割り当てが90度であると仮定する)。ゲートに割り当てられた位相が変更された場合(例えば、90度だけ増大した)、下流のゲート及びJTLに割り当てられた位相は無効になる。
【0048】
引き続き表10を参照すると、ステップ3で、選択された位相割り当てについて、Tのターゲット時間は、論理ゲートに割り当てられてよい。ステップ4で、シンクピン毎に、アルゴリズムは、JTLがパスに挿入されていないことから開始して、シンクピンが時間Tにより到達可能であるかどうかを決定してよい。シンクピンが到達可能ではない場合、追加のJTLが挿入されてよい。従って、論理ゲート510が最初に90度の位相を割り当てられた場合、及び論理ゲート510の入力端子ai(ゲートのシンクピンのうちの1つ)が時間T内に到達可能ではない場合(つまり、MRTがTより大きい)、追加のJTLが挿入されてよい。一例として、追加バッファ(例えば、JTL514)が、シンクピンのうちの1つに至るパスに挿入されてよい。JTLの追加によるバッファシーケンスに関連付けられる遅延は、ルックアップテーブル内で検索されてよい。MRTがTより依然として大きい場合、シンクピンは、依然として、時間Tにより到達可能ではない。位相は、論理ゲートについて、ソースピンの位相から開始して、各バッファ(例えば、各JTL)に割り当てられてよい。例として、論理ゲートの0度の位相割り当てが動作しなかった場合、90度の位相を割り当てられてよい。
【0049】
表10のアルゴリズムの説明を続けると、コンポーネントグラフ生成(CreateComponentGraph)メソッドを用いて、設計中の論理回路についてコンポーネントグラフが生成されてよい。例として、コンポーネントグラフは、論理回路500について生成されてよい。次に、アルゴリズムは、タイミングのために追加されたJTLに基づき異なるレポートを生成し得るラン長チェッカ(RunLengthChecker)メソッドを呼び出すことを含んでよい。次に、アルゴリズムは、シンクピンがターゲット時間により到達可能かどうかを決定する到達範囲内(WithinReach)メソッドを呼び出すことを含んでよい。シンクピンは、到達可能である場合、C個のゲートから除去されてよい。Cが空であり、論理ゲートGに関連付けられたシンクピンの全部が処理された場合、ステップ6で、Cから除去されるべき最後のシンクピンとして、クリティカルパスが識別される。Cが空でない場合、(本例では)ステップ6の部分として、アルゴリズムの処理はステップ2に戻る。クリティカルパスが決定された後に、論理ゲート及びJTLは位相割り当てが必要である。位相割り当ての例示的なアルゴリズムは表11に関して説明される。
表11
【表11】
【0050】
表11に示すように、第1ステップは、処理中のゲートに関してクリティカルパスが既に決定されていない限り、該クリティカルパスを決定することを必要とする。次に、ステップ2で、位相は、クリティカルパスに基づき、種々のJTL及びゲートに割り当てられてよい。例として、表10に関して前述したように、位相割り当ては、クリティカルパスの決定中に変更されてよい。これらの位相割り当てを用いて、ステップ3で、ArePinRelativePhasesValidと呼ばれるメソッドが呼び出され、位相割り当てが有効かどうかを決定する。このメソッドは、超伝導回路のロジックを考慮してよく、ロジックが波形パイプライン論理か位相モード論理かを考慮することを含んでよい。
【0051】
更に表11を参照すると、次のステップは、クリティカルピンに対する制約に近くなるように、割り当てられた位相を有する追加JTLを追加することを含む。これは、位相の変化が必要である又は望ましい場合に、ゲートの最初の位相割り当てを変更し得る。ここでの失敗は、ルーティングの失敗、又は時間に適合するために別の必要なJTLを追加することに失敗することを含む。別の失敗は、(距離をカバーするためにJTLを追加した結果として)時間が強制到達時間の範囲を超えることに関連してよい。次のステップは、非クリティカルピンに近くなるように、割り当てられた位相を有する追加JTLを追加することを含む。例として、論理回路500に関して、入力aiに対応するシンクピンがクリティカルパスであると決定された場合、このステップは、タイミングがANDゲート510の入力biに対応するシンクピンに関して正しいことを保証するために、必要に応じて追加JTLを追加することを含む。
【0052】
図6は、一例による、超伝導回路設計におけるタイミングパスの有効性を決定する方法のフローチャート600である。本例では、フローチャート600の部分として記載される種々のステップは、図1のタイミングエンジン132により実行されてよい。ステップ610は、少なくとも1つの論理ゲートの第1シンク端子に結合された前記少なくとも1つの論理ゲートの複数のソース端子に関するタイミング情報を提供するステップを含んでよい。一例では、この情報は、図1のタイミングライブラリを介して提供されてよい。
【0053】
ステップ620は、タイミング情報の観点で、少なくとも1つの論理ゲートに割り当てられた第1シンク端子が所定到達時間範囲内で単一磁束量子(SFQ)により到達可能かどうかを決定するステップを更に含んでよい。本例では、このステップは、タイミングエンジン132に関連するコード/アルゴリズム(例えば、図4のメモリ406に格納されたコード又はアルゴリズム)がプロセッサ(例えば、図4のプロセッサ402)により実行されるとき、タイミングエンジン132により実行されてよい。タイミングエンジン132は、メモリ(例えば、図4のメモリ406)にロードされると、タイミングライブラリ170にアクセスしてよい。例として、タイミングエンジン132は、表10に示されるステップのステップ4を実行して、タイミング情報の観点で、少なくとも1つの論理ゲートに割り当てられた第1シンク端子が所定到達時間範囲内で単一磁束量子(SFQ)により到達可能かどうかを決定してよい。図6は、特定の順序で実行される特定の数のステップを示すが、方法600は、異なる順序で実行されるより多くの又は少ないステップを含んでよい。
【0054】
図7は、別の例による、超伝導回路設計におけるクリティカルタイミングパスを決定する及びクリティカルタイミングパスを解決する方法のフローチャート700である。本例では、フローチャート700の部分として記載される種々のステップは、図1のタイミングエンジン132により実行されてよい。ステップ710は、複数の論理ゲートに関連付けられた複数のソース端子に関するタイミング情報を提供するステップを含んでよい。一例では、この情報は、図1のシステム100に関連付けられたタイミングライブラリ170を介してタイミングエンジン132に提供されてよい。
【0055】
ステップ720は、複数のシンク端子の中からの、複数の論理ゲートの中から選択されたターゲット論理ゲートに関連付けられた第1シンク端子の選択を受信するステップを含んでよい。本例では、このステップは、タイミングエンジン132に関連するコード/アルゴリズム(例えば、図4のメモリ406に格納されたコード又はアルゴリズム)がプロセッサ(例えば、図4のプロセッサ402)により実行されるとき、タイミングエンジン132により実行されてよい。本例では、タイミングエンジン132は、表10に示されるステップ1を実行してよい。従って、例として、タイミングエンジン132は、C個のシンクピンのセットの中で、最小の最大立ち上がり時間(MRT)を有するシンクピンを発見してよい。一例では、タイミングエンジン132は、(図4のメモリ406に格納されてよい)ルックアップテーブルを検索することにより、シンクピンを発見してよい。
【0056】
ステップ730は、ターゲット論理ゲートへの位相の割り当てを受信するステップを含んでよい。本例では、このステップは、タイミングエンジン132に関連するコード/アルゴリズム(例えば、図4のメモリ406に格納されたコード又はアルゴリズム)がプロセッサ(例えば、図4のプロセッサ402)により実行されるとき、タイミングエンジン132により実行されてよい。本例では、タイミングエンジン132は、表10に示されるステップ1を実行してよい。従って、例として、タイミングエンジン132は、初期位相をターゲット論理ゲートに割り当ててよい。例として、論理回路500に関して、論理ゲート510は、最初に180度の位相を割り当てられる。この位相割り当ては、論理回路500の設計に対するトポロジ変更に基づき変更されてよい。
【0057】
ステップ740は、複数のシンク端子の各々について、(1)複数のシンク端子の各々が、所定到達時間範囲内でそれぞれの単一磁束量子(SFQ)パルスにより到達可能かどうかを決定するステップと、(2)第1シンク端子が所定到達時間範囲内に到達可能ではない場合、ターゲット論理ゲートに関連付けられたソース端子と所定到達時間範囲内に到達できないと決定された第1シンク端子との間にジョセフソン伝送線(JTL)要素を挿入し、JTLの挿入後に、第1シンク端子は所定到達時間範囲内に到達可能であると決定すると、クリティカルタイミングパスに関連付けられている複数のシンク端子の中から第1シンク端子を除去する、ステップと、を含んでよい。本例では、このステップは、タイミングエンジン132に関連するコード/アルゴリズム(例えば、図4のメモリ406に格納されたコード又はアルゴリズム)がプロセッサ(例えば、図4のプロセッサ402)により実行されるとき、タイミングエンジン132により実行されてよい。本例では、タイミングエンジン132は、表10に示されるステップ4を実行してよい。図7は、特定の順序で実行される特定の数のステップを示すが、方法は、異なる順序で実行されるより多くの又は少ないステップを含んでよい。
【0058】
タイミングピン(TimingPins)を、非同期的に処理できるランのセットに分解するために、接続されたタイミング制約(TimingConstraints)のセットから、タイミング制約グループ(TimingConstraintGroups)が形成されてよい。設計には複数のタイミング制約グループが存在できる。設計毎に1つの大きなタイミング制約グループ、及び幾つかの小さなタイミング制約グループが存在してよい。図2及び表4、表5に関して前述したように、タイミング制約グループ210は、タイミング制約212、タイミング制約214、及びタイミング制約216を含む、タイミング制約関連情報の集合を含んでよい。これらの各々は、データ構造を用いて実装されてよく、それぞれが、タイミング制約がその特定のタイミングピン又はそのタイミングピンセットに関連することを示すために、タイミングピン関連データ構造をポイントしてよい。タイミンググラフは、タイミング制約グループ内のタイミングピンのグラフをポイントしてよい。
【0059】
タイミンググラフは、タイミングパス上の物理的に接続された全部のコンポーネントについてタイミングコンポーネントにより構築されてよい。グラフにより所有される全部のタイミングコンポーネントを含む各グラフのマップがある。ヘッドを除くタイミングパス上の全部のコンポーネントは、そのタイミンググラフにより所有される。ヘッドは、その先行するもののタイミンググラフにより所有される。表12は、制約グループを解決し及びリコンサイル(reconciling)するアルゴリズムの例を提供する。
表12
【表12】
【0060】
ステップ1は、分析中の全部の制約グループ(例えば、タイミングパスの部分であってよいタイミング制約グループ)に関連付けられたタイミングエンドポイントのセットについて、クリティカルパスを決定し位相を割り当てるステップを含む。本例では、タイミングエンドポイントは、それらのタイミング及び位相制約に従い独立に時間調整され評価され得る別個のタイミング「ラン(runs)」を定義するピンである。それらは、回路の設計者により定義され、回路設計における明示的なコンポーネントである。異なる種類のタイミングエンドポイントは、回路に関連付けられた論理が、位相モード論理又は波形パイプライン論理を用いて実装されるかに依存して指定されてよい。波形パイプライン論理回路又は位相モード論理回路では、ライブラリデータ中のアーク(arc)の存在又は不存在は、タイミングピンが開始タイミングエンドポイントか又は終了タイミングエンドポイントかを示す。本例では、タイミングエンドポイントのセットは、同じタイミング制約グループの部分であるタイミングピンに関連付けられたタイミングエンドポイントを含む。例として、論理回路500に関連付けられたタイミングピンは、同じタイミング制約グループの部分であってよい。タイミングエンドポイントのセットは、特定のホップ数の範囲内にあるタイミング制約グループに関連付けられたタイミングエンドポイントを更に含んでよい。一例では、これらのグループは、2ホップ後方及び1ホップ前方、又は2ホップ前方又は1ホップ後方にあるグループを含んでよい。これらのタイミングピンを分析するために、タイミングパス上で物理的に接続された要素を表す「シャドウ」要素が生成されてよい。
【0061】
更に表12を参照すると、ステップ2は、全部のタイミングコンポーネントをリコンサイルするステップ(reconciling)を含んでよい。リコンサイルするステップの勝者は、タイミングのためにピンを「所有する(owns)」タイミング制約グループ内の値である。パス内の全部のタイミングコンポーネント及びテール(tails)について、それは、それらのタイミング制約グループである。ヘッダについて、それは、テールの場合のタイミングコンポーネントのタイミング制約グループである。従って、要するに、このステップは、ゲートに物理的に接続されている他のタイミングパスの値を設定するために、該ゲートのタイミングパスを用いて、到達時間及び信号伝播要素の差分をリコンサイルするステップ(例えば、JTLの挿入)を含んでよい。
【0062】
引き続き表12を参照すると、ステップ3は、タイミング及び位相割り当てに関して変更が存在するかどうかを決定するステップを含む。変更があった場合、アルゴリズムの処理はステップ3に戻る。変更がなかった場合、処理は、タイミング制約グループ内の追加コンポーネント(例えば、追加JTL)のタイミング情報及び位相割り当てが正確であることを保証するために、タイミング制約グループを解決するステップを含む。従って、表12に記載したアルゴリズムを用いて、反復によりタイミング及び位相割り当てが固定され、もはや変更が必要なくなる、収束解に向けて反復できる。表12に関して説明したアルゴリズムの適用は、図8~13の部分として例示的な回路に関して提供される。
【0063】
図8は、表12に関して説明した解決及びリコンサイルアルゴリズムを用いて処理され得る、制約グループの部分であるタイミングピンを含む例示的なタイミング制約グループ(timing constraint group (TCG))800を表す回路の図を示す。TCG800は、図8に示すようにゲート810の入力端子及び出力端子に結合されてよいバッファ812、814、及び816を含んでよい。タイミング分析の観点から、TCG800は、3個のタイミングエンドポイントを含む。最初の2個のタイミングエンドポイントは、バッファ812及び814への入力に対応し、第3エンドポイントはバッファ816の出力に対応する。タイミング制約グループデータ構造は、TCG800のタイミング分析のための関連する詳細を表すために使用されてよい。解決及びリコンサイルアルゴリズムは、設計における他の回路により課されるタイミング制約の観点で、タイミング設計を処理してよい。一例では、この分析の部分として、3個のタイミングエンドポイントの深さの範囲内にあるコンポーネント(シャドウコンポーネントと呼ばれる)が含まれてよい。更に、この分析の部分として、3個のタイミングエンドポイントの深さの範囲内にある現実のコンポーネントも含まれてよい。これは、シャドウコンポーネントに対する変更の結果としてだけでなく、現実のコンポーネントに対する変更の結果としても、タイミングが変化しないことがあるからである。
【0064】
図9は、超伝導回路設計の部分として、タイミング制約グループ(TCG)より先行する又は後に続くTCG800に対応するシャドウコンポーネントを含む図900を示す。これらのシャドウコンポーネントは、他のタイミング制約グループの部分であり、時間調整されていないが、それらはTCG800を解決し及びリコンサイルするために検討される必要がある。本例では、後方に向かう2個のタイミングエンドポイント、及び前方に向かう1個のタイミングエンドポイントが分析の部分として含まれる。本例では、TCG910は、図9に示されるように結合され配置されるバッファ918、920、及び922を含んでよい。TCG910は、図9に示されるように結合され配置された論理ゲート912、914、及び916を更に含んでよい。TCG930は、図9に示されるように結合され配置されたバッファ934及び936、及びゲート932を含んでよい。図9は、2個のタイミングエンドポイントに関連付けられたバッファ812及び814への初期位相割り当てを更に示す。本例では、バッファ812及び814の両方の位相割り当ては0である。これらの2個のタイミングエンドポイントの0度位相割り当ての第1強制開始時間(legal start time)は、図9にラベル付けされたように、13ピコ秒(ps)になるよう決定される。本例では、強制開始時間は、実装されたバッファ及びゲートのハードウェア分析に基づき識別されるタイミング制約に基づき決定される。
【0065】
図10は、TCG800へのアクティブ伝送要素の追加を示す図1000である。図10に示すように、TCG800は、クリティカルパス及び位相割り当てを用いて初期解決ステップを実行される(このステップは、表12のアルゴリズムのステップ1に対応する)。本例では、このステップは、TCG800のゲート810に関連付けられたタイミングピンに関して、表11に示されたステップ1~4を実行することを含む。これらのステップを実行した結果は、バッファ812とゲート810の入力のうちの1つとの間の、アクティブ伝送要素(例えば、JTL1012、1014、及び1016)の追加である。更に、JTL1018及び1020が、バッファ814とゲート810の他の入力との間に追加される。ゲート810の位相割り当ても、0度から90度へと変更される。同様に、バッファ816の位相割り当ては、0度から90度へと変更される。更に、バッファ816の90度位相の第1強制開始時間は、57ピコ秒(ps)として計算される。本例では、TCG800のタイミング/位相情報の変更、及び追加JTLの挿入は、該変更により影響を受ける他のタイミング制約グループのタイミング情報を変更する必要がある。
【0066】
図11は、タイミング情報及び位相割り当て、並びに他のタイミング制約グループのために満たされる(必要な)追加JTLを示す図1100である。従って、本例では、TCG910は、ゲート912とバッファ918との間に追加される追加JTL1110、1112、及び1114を含むように示される。更に、ゲート912は、60psの強制開始時間及び180度の位相を割り当てられている。バッファ918は、97psの強制開始時間及び270度の位相を割り当てられている。ゲート916は、108psの強制開始時間及び0度の位相を割り当てられている。更に、TCG910は、ゲート914とTCG800のバッファ814の入力との間に追加された追加JTL1116、1118、及び1120を含む。ゲート914は、90psの強制開始時間を割り当てられている。追加JTL1122、1124、1126、及び1128は、バッファ922の出力とゲート914のシンクピンのうちの1つとの間に追加されている。バッファ920は、強制開始時間88ps及び270度の位相を割り当てられており、バッファ922は、強制開始時間51ps及び90度の位相を割り当てられている。
【0067】
引き続き図11を参照すると、TCG930は、追加JTL1132及び1134と共に示される。ゲート932は、89psの強制開始時間及び270度の位相を割り当てられている。バッファ934は、60psの強制開始時間及び90度の位相を割り当てられている。バッファ936は、75psの強制開始時間及び180度の位相を割り当てられている。TCG930について、タイミング及び位相割り当ては、TCG800と同様の方法で決定されてよい。
【0068】
図12は、一例による、TCG800のヘッドのタイミングの変化を示す図である。従って、本例では、バッファ812の強制開始時間は13psから18psに変更されており、バッファ814の強制開始時間は13psから16psに変更されている。これらのタイミング変更は、リコンサイルステップ(例えば、表12のアルゴリズムのステップ3)の部分として決定されてよい。次に、残りのコンポーネント:TCG800内のゲート810及びバッファ816に関連付けられたタイミング及び位相情報はクリアされる。次に、TCG800は、解決ステップを再び実行される。
【0069】
図13は、一例による、解決ステップの結果として、TCG800の残りのコンポーネントのタイミングの変化を示す図1300である。本例では、ゲート810の強制開始時間は54psから56psに変わり、バッファ816の強制開始時間は57psから58psに変わる。解決ステップはゲート810及びバッファ816の位相割り当てには変更を生じないが、それらは必要に応じて変更されてよい。次に、他のTCG内のシャドウコンポーネントに関連付けられたタイミング及び位相割り当てが更新される。
【0070】
図14は、一例による、他のTCG(例えば、TCG910及びTCG930)のタイミングの変化を示す図1400である。本例では、このステップは、表12に関して説明したアルゴリズムの適用の部分として実行され、シャドウコンポーネントのタイミング及び位相割り当てを更新する。本例では、ゲート912の強制開始時間は60psから61psに変更され、ゲート914の強制開始時間は90psから91psに変更され、ゲート916の強制開始時間は108psから109psに変更される。ここで、ゲート918の強制開始時間は不変のままであり(97ps)、バッファ920の強制開始時間は88psから89psに変更され、バッファ922の強制開始時間は51psから52psに変更される。TCG930に関して、ゲート932の強制開始時間は、89psから90psに変更される。バッファ934の強制開始時間は60psから61psに変更され、バッファ936の強制開始時間は75psから76psに変更される。リコンサイルステップを含むステップは、タイミング及び位相割り当てに関連する衝突が存在しなくなるまで、繰り返されてよい。例として、後続のリコンサイルステップは、バッファ918に関連付けられた強制開始時間が97psから98psに変更されることを除いて、全部のタイミングを同じに保ってよい。従って、本例では、図8~14は、アルゴリズムの反復がタイミング及び位相割り当てが固定されること及びもはや変更を要求しないことをもたらす、収束解を見付けるための、表12に示されたアルゴリズムの適用を示す。
【0071】
図15は、一例による、超伝導回路設計におけるタイミングパスを決定し及びトポロジをリコンシレーションする方法のフローチャート1500である。この例では、超伝導回路設計は、第1タイミングピンセットを含む第1タイミングパスを含んでよく、第1タイミングピンセットの第1サブセットは、第1タイミングエンドポイントと第2タイミングエンドポイントとを含む第1タイミング制約グループに関連付けられてよい。ステップ1510は、第1タイミング制約グループを処理して、第1強制開始時間を第1タイミングエンドポイントに及び第2強制開始時間を第2タイミングエンドポイントに割り当てるステップを含んでよい。本例では、このステップは、タイミングエンジン132に関連するコード/アルゴリズム(例えば、図4のメモリ406に格納されたコード又はアルゴリズム)がプロセッサ(例えば、図4のプロセッサ402)により実行されるとき、タイミングエンジン132により実行されてよい。本例では、タイミングエンジン132は、表12関して説明したアルゴリズムのステップ1を実行してよい。例として、このステップは、前述のクリティカルタイミングパスアルゴリズムを使用するステップを含んでよく、各タイミングエンドポイントの強制開始時間が決定されてよい。
【0072】
ステップ1520は、タイミングパスに第1の物理的に接続されたコンポーネントを表す第1シャドウ要素を挿入するステップであって、第1シャドウ要素は第1タイミングエンドポイントより先行するか又は第2タイミングエンドポイントの後に続く、ステップを含んでよい。本例では、このステップは、タイミングエンジン132に関連するコード/アルゴリズム(例えば、図4のメモリ406に格納されたコード又はアルゴリズム)がプロセッサ(例えば、図4のプロセッサ402)により実行されるとき、タイミングエンジン132により実行されてよい。本例では、タイミングエンジン132は、図9関して説明したアルゴリズムと同様の方法でこのステップを実行してよい。従って、タイミングエンジン132は、設計における他の回路により課されるタイミング制約の観点で、タイミング設計を処理してよい。一例では、この分析の部分として、3個のタイミングエンドポイントの深さの範囲内にあるコンポーネント(シャドウ要素又はシャドウコンポーネントと呼ばれる)が含まれてよい。シャドウ要素の部分として含まれるこれらのエンドポイントの強制開始時間、及びゲート又はバッファの位相割り当ては、前述と同様の方法で取得されてよい。
【0073】
ステップ1530は、タイミングパスへの第1シャドウ要素の挿入により生じる、第1強制開始時間又は第2強制開始時間に対する変化を解決するステップを含んでよい。本例では、このステップは、タイミングエンジン132に関連するコード/アルゴリズム(例えば、図4のメモリ406に格納されたコード又はアルゴリズム)がプロセッサ(例えば、図4のプロセッサ402)により実行されるとき、タイミングエンジン132により実行されてよい。本例では、タイミングエンジン132は、表12に示されるステップ2及び3を実行してよい。例として、これらのステップは、図10~14に関して図8の例示的なタイミング制約グループ800の助けを借りて説明される。図15は、特定の順序で実行される特定の数のステップを示すが、方法は、異なる順序で実行されるより多くの又は少ないステップを含んでよい。
【0074】
図16は、一例による、超伝導回路設計におけるタイミングパスを決定し及びトポロジをリコンシレーションする方法のフローチャート1600である。本例では、超伝導回路設計は、第1回路コンポーネントに関連付けられた第1タイミングエンドポイントと第2回路コンポーネントに関連付けられた第2タイミングエンドポイントとを含む第1タイミングパスを含んでよい。ここで、第1回路コンポーネント及び第2回路コンポーネントの各々は、ジョセフソン接合を含む。第1回路コンポーネントは第1位相に関連付けられ、第2回路コンポーネントは第2位相に関連付けられる。ステップ1610は、プロセッサを用いて、タイミングパス上の第1タイミングエンドポイントに対する第1強制開始時間、及びタイミングパス上の第2タイミングエンドポイントに対する第2強制開始時間を決定するステップを含んでよい。本例では、このステップは、タイミングエンジン132に関連するコード/アルゴリズム(例えば、図4のメモリ406に格納されたコード又はアルゴリズム)がプロセッサ(例えば、図4のプロセッサ402)により実行されるとき、タイミングエンジン132により実行されてよい。本例では、タイミングエンジン132は、表12関して説明したアルゴリズムのステップ1を実行してよい。例として、このステップは、前述のクリティカルタイミングパスアルゴリズムを使用するステップを含んでよく、各タイミングエンドポイントの強制開始時間が決定されてよい。
【0075】
ステップ1620は、タイミングパスに第1の物理的に接続されたコンポーネントを表す第1シャドウ要素を挿入するステップであって、第1シャドウ要素はタイミングパス上の第1回路コンポーネントより先行する、ステップを含んでよい。本例では、このステップは、タイミングエンジン132に関連するコード/アルゴリズム(例えば、図4のメモリ406に格納されたコード又はアルゴリズム)がプロセッサ(例えば、図4のプロセッサ402)により実行されるとき、タイミングエンジン132により実行されてよい。本例では、タイミングエンジン132は、図9関して説明したアルゴリズムと同様の方法でこのステップを実行してよい。従って、タイミングエンジン132は、設計における他の回路により課されるタイミング制約の観点で、タイミング設計を処理してよい。一例では、この分析の部分として、3個のタイミングエンドポイントの深さの範囲内にあるコンポーネント(シャドウ要素又はシャドウコンポーネントと呼ばれる)が含まれてよい。ステップ1620の部分として、第1シャドウ要素は、タイミングパス上で第1回路コンポーネントより先行するタイミング制約グループの部分であってよい。従って、本例では、第1シャドウ要素は、図9のゲート914であってよい。シャドウ要素の部分として含まれるこれらのエンドポイントの強制開始時間、及びゲート又はバッファの位相割り当ては、前述と同様の方法で取得されてよい。
【0076】
ステップ1630は、タイミングパスに第2の物理的に接続されたコンポーネントを表す第2シャドウ要素を挿入するステップであって、第2シャドウ要素はタイミングパス上の第2回路コンポーネントの後に続く、ステップを含んでよい。本例では、このステップは、タイミングエンジン132に関連するコード/アルゴリズム(例えば、図4のメモリ406に格納されたコード又はアルゴリズム)がプロセッサ(例えば、図4のプロセッサ402)により実行されるとき、タイミングエンジン132により実行されてよい。本例では、タイミングエンジン132は、図9関して説明したアルゴリズムと同様の方法でこのステップを実行してよい。従って、タイミングエンジン132は、設計における他の回路により課されるタイミング制約の観点で、タイミング設計を処理してよい。一例では、この分析の部分として、3個のタイミングエンドポイントの深さの範囲内にあるコンポーネント(シャドウ要素又はシャドウコンポーネントと呼ばれる)が含まれてよい。ステップ1630の部分として、第2シャドウ要素は、タイミングパス上で第2回路コンポーネントの後に続くするタイミング制約グループの部分であってよい。従って、本例では、第2シャドウ要素は、図9のゲート934であってよい。シャドウ要素の部分として含まれるこれらのエンドポイントの強制開始時間、及びゲート又はバッファの位相割り当ては、前述と同様の方法で取得されてよい。
【0077】
ステップ1640は、タイミングパスへの第1シャドウ要素及び第2シャドウ要素の挿入により生じる、第1強制開始時間及び第2強制開始時間に対する変化を解決するステップを含んでよい。本例では、このステップは、タイミングエンジン132に関連するコード/アルゴリズム(例えば、図4のメモリ406に格納されたコード又はアルゴリズム)がプロセッサ(例えば、図4のプロセッサ402)により実行されるとき、タイミングエンジン132により実行されてよい。本例では、タイミングエンジン132は、表12に示されるステップ2及び3を実行してよい。例として、これらのステップは、図10~14に関して図8の例示的なタイミング制約グループ800の助けを借りて説明される。図16は、特定の順序で実行される特定の数のステップを示すが、方法は、異なる順序で実行されるより多くの又は少ないステップを含んでよい。
【0078】
纏めると、本開示は、プロセッサにより実施される、超伝導回路設計におけるクリティカルタイミングパスを決定する方法であって、前記超伝導回路設計は、少なくとも1つのジョセフソン接合を含む少なくとも1つの論理ゲートを含み、前記少なくとも1つの論理ゲートは、前記少なくとも1つの論理ゲートにクロック供給するクロック信号に関連付けられた割り当てられた第1位相を有する、方法に関する。前記方法は、前記少なくとも1つの論理ゲートの第1シンク端子に結合された前記少なくとも1つの論理ゲートの複数のソース端子に関するタイミング情報を提供するステップを含んでよい。前記方法は、前記プロセッサを用いて、前記タイミング情報の観点で、前記少なくとも1つの論理ゲートに割り当てられた第1位相に基づき、前記第1シンク端子が所定到達時間範囲内で単一磁束量子(SFQ)により到達可能かどうかを決定するステップを更に含んでよい。
【0079】
前記方法は、前記第1シンク端子が所定到達時間範囲内に前記SFQパルスにより到達可能ではない場合、前記複数のソース端子のうちの少なくとも1つと前記第1シンク端子との間にジョセフソン伝送線(JTL)要素を挿入するステップを更に含んでよい。前記方法は、前記JTL要素の挿入後に前記第1シンク端子が前記所定到達時間範囲内に前記SFQパルスにより到達可能かどうかを決定するステップを更に含んでよい。前記方法は、前記JTL要素の挿入後に前記第1シンク端子が前記所定到達時間範囲内に前記SFQパルスにより到達可能であると決定すると、少なくとも1つの論理ゲートに関連付けられた複数のシンク端子の中から、前記クリティカルタイミングパスに関連付けられているとして、前記第1シンク端子を除去するステップを更に含んでよい。
【0080】
前記方法は、前記少なくとも1つの論理ゲートに関連付けられた複数のシンク端子の中から所定の振る舞いに基づき、前記第1シンク端子を選択するステップを更に含んでよい。前記所定の振る舞いに基づき前記第1シンク端子を選択するステップは、前記複数のシンク端子に関連付けられたそれぞれのSFQパルスの最大立ち上がり時間値のうちの最小値を有する前記第1シンク端子として、シンク端子を選択するステップを含んでよい。
【0081】
前記方法は、前記決定するステップの前に、前記第1位相に位相オフセットを追加することにより、前記少なくとも1つの論理ゲートに第2位相を割り当てるステップを含んでよい。前記タイミング情報は、少なくともタイミング制約及び許容信号タイプを含むタイミングライブラリにより提供されてよく、前記許容信号タイプは波形パイプライン論理タイプの信号又は位相モード論理タイプの信号を含むグループから選択される。
【0082】
別の態様では、本開示は、プロセッサにより実施される、超伝導回路設計におけるクリティカルタイミングパスを決定する方法であって、前記超伝導回路設計は複数の論理ゲートを含み、前記複数の論理ゲートの各々は少なくとも1つのジョセフソン接合を含む、方法に関する。前記方法は、前記複数の論理ゲートに関連付けられた複数のソース端子に関するタイミング情報を提供するステップを含んでよい。前記方法は、複数のシンク端子の中からの、前記複数の論理ゲートの中から選択されたターゲット論理ゲートに関連付けられた第1シンク端子の選択を受信するステップを更に含んでよい。前記方法は、前記ターゲット論理ゲートへの位相の割り当てを受信するステップを更に含んでよい。前記方法は、前記複数のシンク端子の各々について、
前記プロセッサを用いて、前記複数のシンク端子の各々が、所定到達時間範囲内でそれぞれの単一磁束量子(SFQ)パルスにより到達可能かどうかを決定するステップであって、前記第1シンク端子が前記所定到達時間範囲内に到達可能ではない場合、前記ターゲット論理ゲートに関連付けられたソース端子と前記所定到達時間範囲内に到達できないと決定された前記第1シンク端子との間にジョセフソン伝送線(JTL)要素を挿入し、前記JTLの挿入後に、前記第1シンク端子は前記所定到達時間範囲内に到達可能であると決定すると、前記クリティカルタイミングパスに関連付けられている前記複数のシンク端子の中から前記第1シンク端子を除去する、ステップを更に含んでよい。
【0083】
前記方法は、前記ターゲット論理ゲートに関連付けられた前記複数のシンク端子の中から所定の振る舞いに基づき、前記第1シンク端子を選択するステップを更に含んでよい。前記所定の振る舞いに基づき前記第1シンク端子を選択するステップは、前記複数のシンク端子に関連付けられたそれぞれのSFQパルスの最大立ち上がり時間値のうちの最小値を有する前記第1シンク端子として、シンク端子を選択するステップを含んでよい。
【0084】
前記方法は、前記決定するステップの前に、前記第1位相に位相オフセットを追加することにより、前記ターゲット論理ゲートに第2位相を割り当てるステップを更に含んでよい。前記タイミング情報は、少なくともタイミング制約及び許容信号タイプを含むタイミングライブラリにより提供されてよく、前記許容信号タイプは波形パイプライン論理タイプの信号又は位相モード論理タイプの信号を含むグループから選択される。
【0085】
更に別の態様では、本開示は、超伝導回路設計におけるクリティカルタイミングパスを決定するよう構成されるシステムであって、前記超伝導回路設計は、少なくとも1つのジョセフソン接合を含む少なくとも1つの論理ゲートを含み、前記少なくとも1つの論理ゲートは、前記少なくとも1つの論理ゲートにクロック供給するクロック信号に関連付けられた割り当てられた第1位相を有する、システムに関する。前記システムは、前記少なくとも1つの論理ゲートの第1シンク端子に結合された前記少なくとも1つの論理ゲートの複数のソース端子に関するタイミング情報を提供するよう構成される第1サブシステムを含んでよい。前記システムは、前記タイミング情報の観点で、前記少なくとも1つの論理ゲートに割り当てられた第1位相に基づき、前記第1シンク端子が所定到達時間範囲内で単一磁束量子(SFQ)により到達可能かどうかを決定するよう構成されるプロセッサを含む第2サブシステムを更に含んでよい。
【0086】
前記システムは、前記第1シンク端子が所定到達時間範囲内に前記SFQパルスにより到達可能ではない場合、前記複数のソース端子のうちの少なくとも1つと前記第1シンク端子との間にジョセフソン伝送線(JTL)要素を挿入することを可能にするよう更に構成されてよい。前記システムは、前記JTL要素の挿入後に前記第1シンク端子が前記所定到達時間範囲内に前記SFQパルスにより到達可能かどうかを決定するよう更に構成されて「よい。前記システムは、前記JTL要素の挿入後に前記第1シンク端子が前記所定到達時間範囲内に前記SFQパルスにより到達可能であると決定すると、少なくとも1つの論理ゲートに関連付けられた複数のシンク端子の中から、前記クリティカルタイミングパスに関連付けられているとして、前記第1シンク端子を除去するよう更に構成されてよい。前記システムは、前記複数のシンク端子に関連付けられたそれぞれのSFQパルスの最大立ち上がり時間値のうちの最小値を有する前記第1シンク端子として、シンク端子を選択するよう更に構成されてよい。
【0087】
前記システムは、前記第1位相に位相オフセットを追加することにより、前記少なくとも1つの論理ゲートに第2位相を割り当てるよう更に構成されてよい。前記システムは、少なくともタイミング制約及び許容信号タイプを含むタイミングライブラリを更に含んでよく、前記許容信号タイプは波形パイプライン論理タイプの信号又は位相モード論理タイプの信号を含むグループから選択される。
【0088】
別の態様では、本開示は、プロセッサにより実施される、超伝導回路設計におけるタイミングパスを決定し及びトポロジをリコンサイルする方法であって、前記超伝導回路設計は、第1タイミングピンセットを含む第1タイミングパスを含み、前記第1タイミングピンセットの第1サブセットは、第1タイミングエンドポイントと第2タイミングエンドポイントとを含む第1タイミング制約グループに関連付けられる、方法に関する。前記方法は、前記プロセッサを用いて、前記第1タイミング制約グループを処理して、第1強制開始時間を前記第1タイミングエンドポイントに及び第2強制開始時間を前記第2タイミングエンドポイントに割り当てるステップを含んでよい。前記方法は、前記タイミングパスに第1の物理的に接続されたコンポーネントを表す第1シャドウ要素を挿入するステップであって、前記第1シャドウ要素は前記第1タイミングエンドポイントより先行するか又は前記第2タイミングエンドポイントの後に続く、ステップを更に含んでよい。前記方法は、前記タイミングパスへの前記第1シャドウ要素の挿入により生じる、前記第1強制開始時間又は前記第2強制開始時間に対する変化を解決するステップを更に含んでよい。
【0089】
前記方法では、前記第1タイミング制約グループを処理して、前記第1強制開始時間を前記第1タイミングエンドポイントに割り当てる前記ステップは、前記第1タイミングエンドポイントが、第1到達時間範囲内で単一磁束量子(SFQ)パルスにより到達可能かどうかを決定するステップを含み、前記第1タイミング制約グループを処理して、前記第2強制開始時間を前記第2タイミングエンドポイントに割り当てる前記ステップは、前記第2タイミングエンドポイントが、第2到達時間範囲内で前記SFQパルスにより到達可能かどうかを決定するステップを含んでよい。前記方法は、前記第2タイミングエンドポイントが前記第2到達時間範囲内に前記SFQパルスにより到達可能ではない場合、前記第1タイミングエンドポイントと前記第2タイミングエンドポイントとの間にジョセフソン伝送線(JTL)要素を挿入するステップを更に含んでよい。
【0090】
前記タイミングパスは、第2タイミング制約グループ及び第3タイミング制約グループを含んでよく、前記第2タイミング制約グループは第3タイミングエンドポイント及び第4タイミングエンドポイントを含み、前記第3タイミング制約グループは第5タイミングエンドポイント及び第6タイミングエンドポイントを含み、前記方法は、
前記第2タイミング制約グループを処理して、第3強制開始時間を前記第3タイミングエンドポイントに及び第4強制開始時間を前記第4タイミングエンドポイントに割り当て、前記第3タイミング制約グループを処理して、第5強制開始時間を前記第5タイミングエンドポイントに及び第6強制開始時間を前記第6タイミングエンドポイントに割り当てるステップを更に含む。
【0091】
前記方法は、前記タイミングパスに第2の物理的に接続されたコンポーネントを表す第2シャドウ要素を挿入するステップであって、前記第2シャドウ要素は前記第1タイミングエンドポイントより先行するか又は前記第2タイミングエンドポイントの後に続く、ステップを更に含んでよい。前記第1強制開始時間又は前記第2強制開始時間に対する変化を解決する前記ステップは、前記第1強制開始時間を変更して、第1変更強制開始時間を生成するか、又は前記第2強制開始時間を変更して、第2変更強制開始時間を生成するステップを含んでよい。
【0092】
前記方法は、前記タイミングパスへの前記第2シャドウ要素の挿入により生じる、前記第1変更強制開始時間又は前記第2変更強制開始時間に対する変化を解決するステップを更に含んでよい。前記タイミングパスに関する前記タイミング情報は、少なくともタイミング制約及び許容信号タイプを含むタイミングライブラリにより提供されてよく、前記許容信号タイプは波形パイプライン論理タイプの信号又は位相モード論理タイプの信号を含むグループから選択される。
【0093】
更なる態様では、本開示は、プロセッサにより実施される、超伝導回路設計においてタイミングパスを決定し及びトポロジをリコンサイルする方法であって、前記超伝導回路設計は、第1回路コンポーネントに関連付けられた第1タイミングエンドポイントと第2回路コンポーネントに関連付けられた第2タイミングエンドポイントとを含む第1タイミングパスを含み、前記第1回路コンポーネント及び前記第2回路コンポーネントの各々はジョセフソン接合を含み、前記第1回路コンポーネントは第1位相を割り当てられ、前記第2回路コンポーネントは第2位相を割り当てられる、方法に関する。前記方法は、前記プロセッサを用いて、前記タイミングパス上の前記第1タイミングエンドポイントに対する第1強制開始時間、及び前記タイミングパス上の前記第2タイミングエンドポイントに対する第2強制開始時間を決定するステップを含んでよい。前記方法は、前記タイミングパスに第1の物理的に接続されたコンポーネントを表す第1シャドウ要素を挿入するステップであって、前記第1シャドウ要素は前記タイミングパス上の前記第1回路コンポーネントより先行する、ステップを更に含んでよい。前記方法は、前記タイミングパスに第2の物理的に接続されたコンポーネントを表す第2シャドウ要素を挿入するステップであって、前記第2シャドウ要素は前記タイミングパス上の前記第2回路コンポーネントの後に続く、ステップを更に含んでよい。前記方法は、前記タイミングパスへの前記第1シャドウ要素及び前記第2シャドウ要素の挿入により生じる、前記第1強制開始時間及び前記第2強制開始時間に対する変化を解決するステップを更に含んでよい。
【0094】
前記第1タイミングエンドポイントのための前記第1強制開始時間を決定する前記ステップは、前記第1タイミングエンドポイントが、第1到達時間範囲内で単一磁束量子(SFQ)パルスにより到達可能かどうかを決定するステップを含み、前記第2タイミングエンドポイントのための前記第2強制開始時間を決定する前記ステップは、前記第2タイミングエンドポイントが、第2到達時間範囲内で前記SFQパルスにより到達可能かどうかを決定するステップを含んでよい。前記第2タイミングエンドポイントが前記第2到達時間範囲内に前記SFQパルスにより到達可能ではない場合、前記第1回路コンポーネントと前記第2回路コンポーネントとの間にジョセフソン伝送線(JTL)要素を挿入し、前記JTLに位相を割り当てるステップを更に含んでよい。前記第1強制開始時間又は前記第2強制開始時間に対する変化を解決する前記ステップは、前記第1強制開始時間を変更して、第1変更強制開始時間を生成するか、又は前記第2強制開始時間を変更して、第2変更強制開始時間を生成するステップを含んでよい。
【0095】
前記方法は、前記タイミングパスへの前記第2シャドウ要素の挿入により生じる、前記第1変更強制開始時間又は前記第2変更強制開始時間に対する変化を解決するステップを更に含んでよい。前記タイミングパスに関する前記タイミング情報は、少なくともタイミング制約及び許容信号タイプを含むタイミングライブラリにより提供されてよく、前記許容信号タイプは波形パイプライン論理タイプの信号又は位相モード論理タイプの信号を含むグループから選択される。
【0096】
更に別の態様では、本開示は、超伝導回路設計においてタイミングパスを決定し及びトポロジをリコンサイルするよう構成されるシステムであって、前記超伝導回路設計は、第1回路コンポーネントに関連付けられた第1タイミングエンドポイントと第2回路コンポーネントに関連付けられた第2タイミングエンドポイントとを含む第1タイミングパスを含み、前記第1回路コンポーネント及び前記第2回路コンポーネントの各々はジョセフソン接合を含み、前記第1回路コンポーネントは第1位相を割り当てられ、前記第2回路コンポーネントは第2位相を割り当てられる、システムに関する。前記システムは、プロセッサと、命令を含むメモリと、を含んでよい。前記命令は、
(1)前記タイミングパス上の前記第1タイミングエンドポイントに対する第1強制開始時間と、前記タイミングパス上の前記第2タイミングエンドポイントに対する第2強制開始時間とを決定し、
(2)前記タイミングパスに第1の物理的に接続されたコンポーネントを表す第1シャドウ要素を挿入し、前記第1シャドウ要素は前記タイミングパス上で前記第1回路コンポーネントより先行し、
(3)前記タイミングパスに第2の物理的に接続されたコンポーネントを表す第2シャドウ要素を挿入し、前記第2シャドウ要素は前記タイミングパス上で前記第2回路コンポーネントの後に続き、
(4)前記タイミングパスへの前記第1シャドウ要素及び前記第2シャドウ要素の挿入により生じる前記第1強制開始時間及び前記第2強制開始時間の変化を解決する、
よう構成されてよい。
【0097】
前記第1シャドウ要素は、第1アクティブ伝送要素を介して前記第1回路コンポーネントに結合されてよく、前記第2回路コンポーネントは第2アクティブ伝送要素を介して前記第2シャドウ要素に結合されてよい。前記第1アクティブ伝送要素は、第1ジョセフソン伝送線(Josephson transmission line (JTL))を含んでよく、前記第2アクティブ伝送要素は第2JTLを含んでよい。
【0098】
前記第1アクティブ伝送要素は、第3位相を割り当てられてよく、前記第2アクティブ伝送要素は第4位相を割り当てられてよい。前記第1位相、前記第2位相、前記第3位相、及び前記第4位相の各々は、0度位相、90度位相、180度位相、及び270度位相を含むグループから選択されてよい。前記システムは、前記タイミングパスに関するタイミング情報を含むタイミングライブラリを更に含んでよく、前記タイミング情報は、少なくともタイミング制約及び許容信号タイプを含み、前記許容信号タイプは波形パイプライン論理タイプの信号又は位相モード論理タイプの信号を含むグループから選択される。
【0099】
理解されるべきことに、本願明細書に示された方法、モジュール、及びコンポーネントは、単なる例である。代替として、又は追加で、本願明細書に記載された機能は、少なくとも部分的に、1つ以上のハードウェア論理コンポーネントにより実行できる。例えば、限定ではなく、使用可能なハードウェア論理コンポーネントの説明のための種類は、FPGA(Field-Programmable Gate Array)、ASIC(Application-Specific Integrated Circuit)、ASSP(Application-Specific Standard Product)、SOC(System-on-a-Chip system)、CPLD(Complex Programmable Logic Device)等を含む。抽象的にではあるが、なお明確な意味で、同じ機能を達成するためのコンポーネントの任意の構成は、所望の機能が達成されるように実施的に「関連」される。従って、特定の機能を達成するために結合される本願明細書における任意の2つのコンポーネントは、アーキテクチャ又は中間コンポーネントに拘わらず、所望の機能が達成されるように、互いに「関連付けられている」と見なすことができる。同様に、そのように関連付けられた任意の2つのコンポーネントは、所望の機能を達成するために互いに「動作可能に接続されている」又は「結合されている」と見なすこともできる。
【0100】
本開示に記載した例に関連付けられる機能は、非一時的媒体に格納された命令も含むことができる。本願明細書で使用されるような用語「非一時的媒体」は、機械を特定の方法で動作させるデータ及び/又は命令を格納している任意の媒体を表す。例示的な非一時的媒体は、不揮発性媒体及び/又は揮発性媒体を含む。不揮発性媒体は、例えば、ハードディスク、固体ドライブ、磁気ディスク又はテープ、光ディスク又はテープ、フラッシュメモリ、EPROM、NVRAM、PRAM、又は他のそのような媒体、又はそのような媒体のネットワーク接続されたバージョンを含む。揮発性媒体は、例えば、DRAM、SRAM、キャッシュ、又は他のそのような媒体のような動的メモリを含む。非一時的媒体は、伝送媒体と区別されるが、それと関連して使用可能である。伝送媒体は、プロセッサ402のような機械へ又はそれから、データ及び/又は命令を転送するために使用される。例示的な伝送媒体は、同軸ケーブル、光ファイバケーブル、及び無線波のような無線媒体を含む。
【0101】
更に、当業者は、上述の動作の機能の間の境界が単なる説明のためであることを理解するだろう。複数の動作の機能は、単一の動作に結合されてよく、及び/又は単一の動作の機能は追加の動作に分散されてよい。更に、代替の実施形態は、特定の動作の複数のインスタンスを含んでよく、動作の順序は種々の他の実施形態において変更されてよい。
【0102】
本開示は、特定の例を提供するが、種々の変更及び変化が、以下の請求の範囲に記載された本開示の範囲から逸脱することなく行われ得る。従って、明細書及び図面は、限定的意味ではなく説明であると考えられるべきである。全部のそのような変更は、本発明の範囲に含まれることが意図される。特定の例に関して本願明細書に記載された任意の利益、利点、又は問題に対するソリューションは、任意の又は全部の請求項の重要な、必要な、又は必須の特徴又は要素であると考えられるべきではない。
【0103】
更に、用語「a」又は「an」は、本願明細書で使用されるとき、1つ又は1つより多くとして定められる。また、請求項の中の「少なくとも1つ」及び「1つ以上の」のような前置語句の使用は、不定冠詞「a」又は「an」による別の請求項の要素の導入が、同一の請求項が前置語句「少なくとも1つ」又は「1つ以上の」及び「a」又は「an」のような不定冠詞を含むときでも、そのような導入された請求項の要素を含む任意の特定の請求項をそのような要素を1つだけ含む発明に限定することを意味すると解釈されるべきではない。定冠詞の使用についても同様である。
【0104】
特に断りのない限り、「第1」及び「第2」のような用語は、そのような用語が説明する要素の間を任意に区別するために使用される。従って、これらの用語は、必ずしも、そのような要素の時間的又は他の優先度を示すことを意図しない。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
【国際調査報告】