(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-07
(45)【発行日】2023-07-18
(54)【発明の名称】性能計算システム、性能計算方法及び電子装置
(51)【国際特許分類】
G06F 15/78 20060101AFI20230710BHJP
G01R 31/28 20060101ALI20230710BHJP
【FI】
G06F15/78 517
G01R31/28 V
【外国語出願】
(21)【出願番号】P 2021169739
(22)【出願日】2021-10-15
【審査請求日】2021-11-18
(32)【優先日】2020-10-19
(33)【優先権主張国・地域又は機関】TW
(73)【特許権者】
【識別番号】507185945
【氏名又は名称】創意電子股▲ふん▼有限公司
(73)【特許権者】
【識別番号】500262038
【氏名又は名称】台湾積體電路製造股▲ふん▼有限公司
【氏名又は名称原語表記】Taiwan Semiconductor Manufacturing Company,Ltd.
【住所又は居所原語表記】No.8, Li-Hsin Rd.6, Hsinchu Science Park, Hsinchu, TAIWAN
(74)【代理人】
【識別番号】110002321
【氏名又は名称】弁理士法人永井国際特許事務所
(72)【発明者】
【氏名】汪 鼎豪
(72)【発明者】
【氏名】林 倍如
【審査官】坂東 博司
(56)【参考文献】
【文献】米国特許出願公開第2008/0120065(US,A1)
【文献】特開2012-064154(JP,A)
【文献】特開2010-287018(JP,A)
【文献】米国特許出願公開第2013/0041608(US,A1)
【文献】特開平10-134093(JP,A)
【文献】国際公開第1998/013742(WO,A1)
【文献】特開2013-020614(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 15/78
G01R 31/28
(57)【特許請求の範囲】
【請求項1】
複数の発振信号を生成し、且つチップの動作状態を検知して前記複数の発振信号の周期を調整するための複数の発振器回路システムを含むチップに適用される性能計算方法であって、
前記チップが第1の動作状態にある時、
前記チップの第1の性能値又は前記第1の性能値の近似値を第1の関数の出力とし、前記複数の発振信号の周期
をそれぞれ乗じた第1の係数を有する前記第1の関数を構築する工程と、
前記チップが第2の動作状態にある時、
前記チップの第2の性能値又は前記第2の性能値の近似値を第2の関数の出力とし、前記複数の発振信号の周期
をそれぞれ乗じた第2の係数を有する前記第2の関数を構築する工程と、
前記第1の関数のグラフ及び前記第2の関数のグラフの傾向に基づいて、前記第1の関数の
前記第1の係数又は前記第2の関数の
前記第2の係数を調整して、前記第1の関数のグラフと前記第2の関数のグラフとを
所定の座標点で交差させる工程と、
前記座標点の一方側に位置する前記第1の関数のグラフの線分の1つ、前記座標点のもう一方側に位置する前記第2の関数のグラフの線分の1つ、及び前記座標点を用いて、前記チップの性能関数を構築する工程と、
を含む性能計算方法。
【請求項2】
前記チップの入出力(input/output;I/O)端は、動作電圧を受信するために用いられ、前記第1の動作状態は、前記動作電圧が第1の電圧値を有するか又は前記チップが第1の温度を有することであり、
前記第1の関数を構築する工程は、
前記複数の発振器回路システムから前記複数の発振信号を収集する工程と、
前記チップの前記第1の性能値を測定する工程と、
複数の第1の重み値を前記第1の関数の
前記第1の係数としてそれぞれ前記複数の発振信号の周期に割り当てて、前記第1の関数を構築するとともに、前記第1の電圧値又は前記第1の温度を前記第1の関数の入力とし、前記第1の性能値又は前記第1の性能値の前記近似値を前記第1の関数の
前記出力として、前記複数の第1の重み値を決定する工程と、
を含む請求項1に記載の性能計算方法。
【請求項3】
前記第2の動作状態は、前記動作電圧が第2の電圧値を有するか又は前記チップが第2の温度を有することであり、
前記第2の関数を構築する工程は、
前記複数の発振器回路システムから前記複数の発振信号を収集する工程と、
前記チップの前記第2の性能値を測定する工程と、
複数の第2の重み値を前記第2の関数の
前記第2の係数としてそれぞれ前記複数の発振信号の周期に割り当てて、前記第2の関数を構築するとともに、前記第2の電圧値又は前記第2の温度を前記第2の関数の入力とし、前記第2の性能値又は前記第2の性能値の前記近似値を前記第2の関数の
前記出力として、前記複数の第2の重み値を決定する工程と、
を含む請求項2に記載の性能計算方法。
【請求項4】
前記第1の関数のグラフ及び前記第2の関数のグラフの傾向に基づいて、前記第1の関数の
前記第1の係数又は前記第2の関数の
前記第2の係数を調整する工程は、
前記第2の電圧値を前記第1の関数の前記入力とすることで得られた前記第1の関数の前記出力が前記第2の性能値以上である場合、前記第1の関数の
前記第1の係数を調整する工程と、
前記第1の電圧値を前記第2の関数の前記入力とすることで得られた前記第2の関数の前記出力が前記第1の性能値以上である場合、前記第2の関数の
前記第2の係数を調整する工程と、
を含む請求項3に記載の性能計算方法。
【請求項5】
前記第1の関数のグラフ
の前記線分は、それぞれ前記座標点の左側及び右側に位置する第1の線分及び第2の線分を含み、前記第2の関数のグラフ
の前記線分は、それぞれ前記座標点の左側及び右側に位置する第3の線分及び第4の線分を含み、
前記チップの前記性能関数を構築する工程は、
前記第1の線分及び前記第3の線分のうち対応する電圧値をより高い性能値にマッピングするためのものを前記性能関数のグラフの第1の部分として選択する工程と、
前記第2の線分及び前記第4の線分のうち別の対応する電圧値を別のより高い性能値にマッピングするためのものを前記性能関数のグラフの第2の部分として選択する工程と、
前記第1の部分、前記第2の部分及び前記座標点に基づいて、前記性能関数を構築する工程と、
を含む請求項1~4の何れか一項に記載の性能計算方法。
【請求項6】
前記第1の関数のグラフ及び前記第2の関数のグラフの傾向に基づいて、前記第1の関数の
前記第1の係数又は前記第2の関数の
前記第2の係数を調整する工程は、
前記第2の電圧値を前記第1の関数の前記入力とすることで得られた前記第1の関数の前記出力が前記第2の性能値以下である場合、前記第1の関数の
前記第1の係数を調整する工程と、
前記第1の電圧値を前記第2の関数の前記入力とすることで得られた前記第2の関数の前記出力が前記第1の性能値以下である場合、前記第2の関数の
前記第2の係数を調整する工程と、
を含む請求項3に記載の性能計算方法。
【請求項7】
前記第1の関数のグラフ
の前記線分は、それぞれ前記座標点の左側及び右側に位置する第1の線分及び第2の線分を含み、前記第2の関数のグラフ
の前記線分は、それぞれ前記座標点の左側及び右側に位置する第3の線分及び第4の線分を含み、
前記チップの前記性能関数を構築する工程は、
前記第1の線分及び前記第3の線分のうち対応する電圧値をより低い性能値にマッピングするためのものを前記性能関数のグラフの第1の部分として選択する工程と、
前記第2の線分及び前記第4の線分のうち別の対応する電圧値を別のより低い性能値にマッピングするためのものを前記性能関数のグラフの第2の部分として選択する工程と、
前記第1の部分、前記第2の部分及び前記座標点に基づいて、前記性能関数を構築する工程と、
を含む請求項1~3及び6の何れか一項に記載の性能計算方法。
【請求項8】
前記性能関数の複数の出力は、前記第1の性能値又は前記第1の性能値の前記近似値、前記第2の性能値又は前記第2の性能値の前記近似値、及び前記座標点に対応する第3の性能値を含む請求項1~7の何れか一項に記載の性能計算方法。
【請求項9】
前記第1の性能値と前記第1の性能値の前記近似値との間の差分は、前記第1の性能値の0.1~1%であり、前記第2の性能値と前記第2の性能値の前記近似値との間の差分は、前記第2の性能値の0.1~1%である請求項1~8の何れか一項に記載の性能計算方法。
【請求項10】
電子装置と、
前記電子装置に結合されるチップであって、複数の発振信号を生成し、且つ前記チップの動作状態を検知して前記複数の発振信号の周期を調整するための複数の発振器回路システムと、前記複数の発振器回路システムに結合され、前記複数の発振信号を前記電子装置に伝送するための制御回路と、を含むチップと、
を備える性能計算システムであって、
前記電子装置は、
前記チップが第1の動作状態にある時、
前記チップの第1の性能値又は前記第1の性能値の近似値を第1の関数の出力とし、前記複数の発振信号の周期
をそれぞれ乗じた第1の係数を有する前記第1の関数を構築する工程と、
前記チップが第2の動作状態にある時、
前記チップの第2の性能値又は前記第2の性能値の近似値を第2の関数の出力とし、前記複数の発振信号の周期
をそれぞれ乗じた第2の係数を有する前記第2の関数を構築する工程と、
前記第1の関数のグラフ及び前記第2の関数のグラフの傾向に基づいて、前記第1の関数の
前記第1の係数又は前記第2の関数の
前記第2の係数を調整して、前記第1の関数のグラフと前記第2の関数のグラフとを
所定の座標点で交差させる工程と、
前記座標点の一方側に位置する前記第1の関数のグラフの線分の1つ、前記座標点のもう一方側に位置する前記第2の関数のグラフの線分の1つ、及び前記座標点を用いて、前記チップの性能関数を構築する工程と、を実行するように設けられる性能計算システム。
【請求項11】
前記チップの入出力(input/output;I/O)端は、動作電圧を受信するために用いられ、前記第1の動作状態は、前記動作電圧が第1の電圧値を有するか又は前記チップが第1の温度を有することであり、
前記電子装置は、前記第1の関数を構築する時、更に、
前記制御回路から前記複数の発振信号を受信する工程と、
前記チップの前記第1の性能値を測定する工程と、
複数の第1の重み値を前記第1の関数の
前記第1の係数としてそれぞれ前記複数の発振信号の周期に割り当てて、前記第1の関数を構築するとともに、前記第1の電圧値又は前記第1の温度を前記第1の関数の入力とし、前記第1の性能値又は前記第1の性能値の前記近似値を前記第1の関数の
前記出力として、前記複数の第1の重み値を決定する工程と、を実行するように更に設けられる請求項10に記載の性能計算システム。
【請求項12】
前記第2の動作状態は、前記動作電圧が第2の電圧値を有するか又は前記チップが第2の温度を有することであり、
前記電子装置は、前記第2の関数を構築する時、更に、
前記制御回路から前記複数の発振信号を受信する工程と、
前記チップの前記第2の性能値を測定する工程と、
複数の第2の重み値を前記第2の関数の
前記第2の係数としてそれぞれ前記複数の発振信号の周期に割り当てて、前記第2の関数を構築するとともに、前記第2の電圧値又は前記第2の温度を前記第2の関数の入力とし、前記第2の性能値又は前記第2の性能値の前記近似値を前記第2の関数の
前記出力として、前記複数の第2の重み値を決定する工程と、を実行するように設けられる請求項11に記載の性能計算システム。
【請求項13】
前記電子装置は、前記第1の関数のグラフ及び前記第2の関数のグラフの傾向に基づいて、前記第1の関数の
前記第1の係数又は前記第2の関数の
前記第2の係数を調整する時、
前記第2の電圧値を前記第1の関数の前記入力とすることで得られた前記第1の関数の前記出力が前記第2の性能値以上である場合、前記第1の関数の
前記第1の係数を調整する工程と、
前記第1の電圧値を前記第2の関数の前記入力とすることで得られた前記第2の関数の前記出力が前記第1の性能値以上である場合、前記第2の関数の
前記第2の係数を調整する工程と、を実行するように設けられる請求項12に記載の性能計算システム。
【請求項14】
前記第1の関数のグラフ
の前記線分は、それぞれ前記座標点の左側及び右側に位置する第1の線分及び第2の線分を含み、前記第2の関数のグラフ
の前記線分は、それぞれ前記座標点の左側及び右側に位置する第3の線分及び第4の線分を含み、前記電子装置は、前記チップの前記性能関数を構築する時、
前記第1の線分及び前記第3の線分のうち対応する電圧値をより高い性能値にマッピングするためのものを前記性能関数のグラフの第1の部分として選択する工程と、
前記第2の線分及び前記第4の線分のうち別の対応する電圧値を別のより高い性能値にマッピングするためのものを前記性能関数のグラフの第2の部分として選択する工程と、
前記第1の部分、前記第2の部分及び前記座標点に基づいて、前記性能関数を構築する工程と、を実行するように設けられる請求項10~13の何れか一項に記載の性能計算システム。
【請求項15】
前記電子装置は、前記第1の関数のグラフ及び前記第2の関数のグラフの傾向に基づいて、前記第1の関数の
前記第1の係数又は前記第2の関数の
前記第2の係数を調整する時、
前記第2の電圧値を前記第1の関数の前記入力とすることで得られた前記第1の関数の前記出力が前記第2の性能値以下である場合、前記第1の関数の
前記第1の係数を調整する工程と、
前記第1の電圧値を前記第2の関数の前記入力とすることで得られた前記第2の関数の前記出力が前記第1の性能値以下である場合、前記第2の関数の
前記第2の係数を調整する工程と、を実行するように設けられる請求項12に記載の性能計算システム。
【請求項16】
前記第1の関数のグラフ
の前記線分は、それぞれ前記座標点の左側及び右側に位置する第1の線分及び第2の線分を含み、前記第2の関数のグラフ
の前記線分は、それぞれ前記座標点の左側及び右側に位置する第3の線分及び第4の線分を含み、前記電子装置は、前記チップの前記性能関数を構築する時、
前記第1の線分及び前記第3の線分のうち対応する電圧値をより低い性能値にマッピングするためのものを前記性能関数のグラフの第1の部分として選択する工程と、
前記第2の線分及び前記第4の線分のうち別の対応する電圧値を別のより低い性能値にマッピングするためのものを前記性能関数のグラフの第2の部分として選択する工程と、
前記第1の部分、前記第2の部分及び前記座標点に基づいて、前記性能関数を構築する工程と、を実行するように設けられる請求項10~12及び15の何れか一項に記載の性能計算システム。
【請求項17】
前記性能関数の複数の出力は、前記第1の性能値又は前記第1の性能値の前記近似値、前記第2の性能値又は前記第2の性能値の前記近似値、及び前記座標点に対応する第3の性能値を含む請求項10~16の何れか一項に記載の性能計算システム。
【請求項18】
前記第1の性能値と前記第1の性能値の前記近似値との間の差分は、前記第1の性能値の0.1~1%であり、前記第2の性能値と前記第2の性能値の前記近似値との間の差分は、前記第2の性能値の0.1~1%である請求項10~17の何れか一項に記載の性能計算システム。
【請求項19】
複数の発振信号を生成し、且
つチップの動作状態を検知して前記複数の発振信号の周期を調整するための複数の発振器回路システムと、前記複数の発振器回路システムに結合され、前記複数の発振信号
を電子装置に伝送するための制御回路と、を含むチップに結合するための電子装置であって、
前記チップが第1の動作状態にある時、
前記チップの第1の性能値又は前記第1の性能値の近似値を第1の関数の出力とし、前記複数の発振信号の周期
をそれぞれ乗じた第1の係数を有する前記第1の関数を構築する工程と、
前記チップが第2の動作状態にある時、
前記チップの第2の性能値又は前記第2の性能値の近似値を第2の関数の出力とし、前記複数の発振信号の周期
をそれぞれ乗じた第2の係数を有する前記第2の関数を構築する工程と、
前記第1の関数のグラフ及び前記第2の関数のグラフの傾向に基づいて、前記第1の関数の
前記第1の係数又は前記第2の関数の
前記第2の係数を調整して、前記第1の関数のグラフと前記第2の関数のグラフとを
所定の座標点で交差させる工程と、
前記座標点の一方側に位置する前記第1の関数のグラフの線分の1つ、前記座標点のもう一方側に位置する前記第2の関数のグラフの線分の1つ、及び前記座標点を用いて、前記チップの性能関数を構築する工程と、を実行するように設けられる電子装置。
【請求項20】
前記性能関数の複数の出力は、前記第1の性能値又は前記第1の性能値の前記近似値、前記第2の性能値又は前記第2の性能値の前記近似値、及び前記座標点に対応する第3の性能値を含む請求項19に記載の電子装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示書類は、性能計算システム及びその性能計算方法に関し、特に、集積回路に適用される性能計算システム及びその性能計算方法に関する。
【背景技術】
【0002】
集積回路は、各種の電子装置に広く適用されており、その性能(例えば、遅延時間)が常に電子装置のユーザ体験に影響を与える。いくつかの時系列特性分析方法において、クリティカルパス(critical path)によって集積回路の操作可能な最高周波数が決められるため、クリティカルパスにおける信号伝送特性が集積回路の性能を推定するために用いられる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
これに鑑みて、如何にクリティカルパスによってチップの性能を迅速かつ正確に推定するかは、業界において解決すべき問題になっている。
【課題を解決するための手段】
【0004】
本開示書類は、複数の発振信号を生成し、且つチップの動作状態を検知して複数の発振信号の周期を調整するための複数の発振器回路システムを含むチップに適用される性能計算方法であって、チップが第1の動作状態にある時、複数の発振信号の周期に基づいて、且つチップの第1の性能値又は第1の性能値の近似値に基づいて、第1の関数を構築する工程と、チップが第2の動作状態にある時、複数の発振信号の周期に基づいて、且つチップの第2の性能値又は第2の性能値の近似値に基づいて、第2の関数を構築する工程と、第1の関数のグラフ及び第2の関数のグラフの傾向に基づいて、第1の関数の係数又は第2の関数の係数を調整して、第1の関数のグラフと第2の関数のグラフとを座標点で交差させる工程と、第1の関数及び第2の関数に基づいて、チップの性能関数を構築する工程と、を含む性能計算方法を提供する。
【0005】
本開示書類は、電子装置と、前記電子装置に結合されるチップであって、複数の発振信号を生成し、且つチップの動作状態を検知して複数の発振信号の周期を調整するための複数の発振器回路システムと、複数の発振器回路システムに結合され、複数の発振信号を電子装置に伝送するための制御回路と、を含むチップと、を備える性能計算システムであって、電子装置は、チップが第1の動作状態にある時、複数の発振信号の周期に基づいて、且つチップの第1の性能値又は第1の性能値の近似値に基づいて、第1の関数を構築する工程と、チップが第2の動作状態にある時、複数の発振信号の周期に基づいて、且つチップの第2の性能値又は第2の性能値の近似値に基づいて、第2の関数を構築する工程と、第1の関数のグラフ及び第2の関数のグラフの傾向に基づいて、第1の関数の係数又は第2の関数の係数を調整して、第1の関数のグラフと第2の関数のグラフとを座標点で交差させる工程と、第1の関数及び第2の関数に基づいて、チップの性能関数を構築する工程と、を実行するように設けられる性能計算システムを提供する。
【0006】
本開示書類は、複数の発振信号を生成し、且つ前記チップの動作状態を検知して前記複数の発振信号の周期を調整するための複数の発振器回路システムと、複数の発振器回路システムに結合され、複数の発振信号を電子装置に伝送するための制御回路と、を含むチップに結合するための電子装置であって、チップが第1の動作状態にある時、複数の発振信号の周期に基づいて、且つチップの第1の性能値又は第1の性能値の近似値に基づいて、第1の関数を構築する工程と、チップが第2の動作状態にある時、複数の発振信号の周期に基づいて、且つチップの第2の性能値又は第2の性能値の近似値に基づいて、第2の関数を構築する工程と、第1の関数のグラフ及び第2の関数のグラフの傾向に基づいて、第1の関数の係数又は第2の関数の係数を調整して、第1の関数のグラフと第2の関数のグラフとを座標点で交差させる工程と、第1の関数及び第2の関数に基づいて、チップの性能関数を構築する工程と、を実行するように設けられる電子装置を提供する。
【発明の効果】
【0007】
上記複数の実施例の利点の1つは、チップの性能を正確に推定することができることである。
【0008】
上記複数の実施例の別の利点は、計算過程が簡単であり、時系列分析の時間を短縮するとともに関連するハードウェアに対する要求を低下させることに寄与することである。
【図面の簡単な説明】
【0009】
【
図1】本開示書類の一実施例による性能計算システムの簡略化された機能ブロック図である。
【
図2】本開示書類の一実施例による発振器回路システムの簡略化された機能ブロック図である。
【
図3A】本開示書類の一実施例による性能計算方法の一部のフローチャートである。
【
図3B】本開示書類の一実施例による性能計算方法の別の一部のフローチャートである。
【
図4】本開示書類の一実施例による第1の関数及び第2の関数のグラフ模式図である。
【
図5】本開示書類の一実施例による複数の第1の重み値の調整過程の模式図である。
【
図6】本開示書類の一実施例による複数の第2の重み値の調整過程の模式図である。
【
図7】本開示書類の一実施例による性能関数のグラフ模式図である。
【
図8A】本開示書類の一実施例による性能計算方法の一部のフローチャートである。
【
図8B】本開示書類の一実施例による性能計算方法の別の一部のフローチャートである。
【
図9】本開示書類の一実施例による第1の関数及び第2の関数のグラフ模式図である。
【
図10】本開示書類の一実施例による性能関数のグラフ模式図である。
【発明を実施するための形態】
【0010】
以下、関連図面に合わせて本開示書類の実施例を説明する。図面において、同じ符号は、同じ又は類似する素子又は方法のフローを示す。
【0011】
図1は、本開示書類の一実施例による性能計算システム100の簡略化された機能ブロック図である。性能計算システム100は、チップ110と、電子装置120と、を備える。チップ110は、複数の発振器回路システム112-1~112-nと、制御回路114と、を含む。発振器回路システム112-1~112-nは、チップ110の異なる位置に設けられる。発振器回路システム112-1~112-nの各々は、所在位置のプロセスの変化、電圧の変化、寄生素子の変化及び温度の変化等の因子に基づいて対応する周期を有する複数の発振信号OS-1~OS-nを生成する。制御回路114は、発振器回路システム112-1~112-nに結合され、発振信号OS-1~OS-nを受信するために用いられる。制御回路114は、更に電子装置120に結合され、発振信号OS-1~OS-nを電子装置120に伝達するために用いられる。
【0012】
チップ110は、動作電圧VDDを受信するための入出力(input/ouput;I/O)端116を更に含む。動作電圧VDDは、チップ110を駆動するために用いられ、即ち、発振器回路システム112-1~112-nを駆動するために使用される。図面を簡潔にして説明しやすくするために、チップ110における他の素子及び接続関係については、
図1に図示されていない。
【0013】
いくつかの実施例において、制御回路114は、高速周辺機器相互接続(PCIe)インタフェース回路又はユニバーサルシリアルバス(USB)インタフェース回路等の各種の適切な信号伝送インタフェース回路によって達成されてよい。
【0014】
電子装置120は、発振信号OS-1~OS-nに基づいてチップ110が異なる大きさの動作電圧VDDで作動する時の性能を計算するために用いられる。いくつかの実施例において、電子装置120は、試験機、コンピュータ又は論理演算能力を有する他の装置によって達成されてよい。
【0015】
図2は、本開示書類の一実施例による発振器回路システム200の簡略化された機能ブロック図である。
図1の発振器回路システム112-1~112-nの各々は、
図2の発振器回路システム200によって達成されてよく、即ち、発振信号OS-1~OS-nの各々は、
図2の複数の検知信号Sa、Sb及びScの集合であってよい。
【0016】
発振器回路システム200は、複数の発振器回路210、220、230を含む。発振器回路210、220、230は、それぞれチップ110のプロセスの変化、寄生素子の変化及び電圧の変化を検知するために用いられる。
【0017】
詳細には、発振器回路210は、複数のリング発振器10a~10c、20a~20c、30a~30cを含む。リング発振器10a~10c、20a~20c、30a~30cの各々は、直列に結合される複数のインバータINVによって達成されてよい。インバータINVは、直列に接続されるP型トランジスタMP及びN型トランジスタMNを含み、P型トランジスタMPは、動作電圧VDDを受信するために用いられる。
【0018】
本実施例において、リング発振器10a~10c同士のP型トランジスタMPは、異なる限界電圧を有する。例えば、リング発振器10a~10cにおけるP型トランジスタMPは、それぞれ低限界電圧、標準限界電圧及び高限界電圧を有する。
【0019】
また、リング発振器20a~20c同士のN型トランジスタMNは、異なる限界電圧を有する。例えば、リング発振器20a~20cにおけるN型トランジスタMNは、それぞれ低限界電圧、標準限界電圧及び高限界電圧を有する。
【0020】
更に、リング発振器30a~30cの何れか1つのN型トランジスタMN及びP型トランジスタMPの限界電圧は、リング発振器30a~30cにおける他のもののN型トランジスタMN及びP型トランジスタMPの限界電圧とは異なる。例えば、リング発振器30aのN型トランジスタMN及びP型トランジスタMPは、低限界電圧を有し、リング発振器30bのN型トランジスタMN及びP型トランジスタMPは、標準限界電圧を有し、リング発振器30cのN型トランジスタMN及びP型トランジスタMPは、高限界電圧を有する。
【0021】
このように、発振器回路210がプロセスの変化に敏感であるため、複数の検知信号Saの周期は、チップ110のプロセスの変化を反映するために使用される。
【0022】
発振器回路220は、リング発振器40a~40fを含み、リング発振器40a~40fの各々は、直列に結合される複数のインバータINVによって達成されてよい。リング発振器40a~40fの内部ワイヤWR(即ち、隣接する2つのインバータINVの間の接続線)は、異なる金属層によって達成される。例えば、リング発振器40aの内部ワイヤWRは、第1の金属層M1によって達成される。また、例えば、リング発振器40bの内部ワイヤWRは、第2の金属層M2によって達成され、その他についてはこのように類推すればよい。
【0023】
このように、リング発振器40a~40fが寄生素子の変化(例えば、金属配線による寄生容量又は寄生抵抗の変化)に敏感であるため、複数の検知信号Sbの周期は、チップ110の寄生素子の変化を反映するために使用される。
【0024】
発振器回路230は、リング発振器50を含み、リング発振器50は、直列に結合される複数のインバータINVによって達成されてよく、且つ隣接する2つのインバータINVの間に電圧制御素子32が結合されている。即ち、電圧制御素子32は、インバータINVの負荷として見されてよい。動作電圧VDDは、インバータINVを駆動するために用いられるほか、電圧制御素子32のインピーダンスを設定するためにも用いられる。例えば、電圧制御素子32は、容量値が動作電圧VDDに伴って変化する電圧制御容量によって達成されてよい。
【0025】
このように、リング発振器50が動作電圧VDDの変化に敏感であるため、検知信号Scの周期は、動作電圧VDDの変化を反映するために使用される。
【0026】
以上から分かるように、
図1における発振信号OS-1~OS-nの各々が
図2における複数の検知信号Sa、Sb、Scの集合であってよいため、発振信号OS-1~OS-nの各々の周期は、それに対応する位置のプロセスの変化、寄生素子の変化及び動作電圧VDDの変化を反映するために使用される。また、
図2における発振器回路210、220、230の各々に含まれるリング発振器の数は、例示的な実施例に過ぎず、リング発振器の数は、実際の設計要求に応じて調整される。
【0027】
図3A及び
図3Bは、本開示書類の一実施例による性能計算方法300のフローチャートである。
図1の性能計算システム100は、チップ110の性能を推定するように性能計算方法300を実行するために用いられる。理解しやすくするために、
図1、
図3A及び
図3Bを同時に参照されたい。
【0028】
工程S302において、電子装置120は、動作電圧VDDを第1の電圧値V1に設定して、発振器システム112-1~112-nを駆動する。従って、電子装置120は、発振信号OS-1~OS-nを受信し、発振信号OS-1~OS-nに基づいて第1の電圧値V1に対応する周期を取得する。
【0029】
工程S304において、電子装置120は、チップ110のパス(図示せず)を測定し、チップ110が第1の電圧値V1で作動する時の第1の性能値T1を取得する。前記パスは、チップ110のクリティカルパス(critical path)であってよい。
【0030】
工程S306において、電子装置120は、第1の性能値T1及び発振信号OS-1~OS-nの周期に基づいて、下記『式1』に示す第1の関数を構築する。第1の関数は、後続の工程においてチップ110の性能関数を推定するために用いられる。
【0031】
『式1』において、符号「funa」は、第1の関数を表し、符号「To」は、発振信号OS-1~OS-nの周期を表し、符号「Ka」は、発振信号OS-1~OS-nの周期に対応する複数の第1の重み値を表す。前述したように、発振信号OS-1~OS-nの周期は、動作電圧VDDに伴って変化するため、第1の電圧値V1を入力とする関数として表されてよい。
【0032】
第1の関数「funa」を構築するために、電子装置120は、複数の第1の重み値を第1の関数「funa」の係数としてそれぞれ発振信号OS-1~OS-nの周期に割り当て、既知の第1の電圧値V1及び第1の性能値T1(又は第1の性能値T1の近似値)をそれぞれ第1の関数「funa」の入力及び出力とし、複数の第1の重み値を求める。即ち、第1の電圧値V1を第1の関数「funa」の入力とする場合、複数の第1の重み値により、第1の性能値T1(又は第1の性能値T1の近似値)が第1の関数「funa」の出力となる。いくつかの実施例において、
図4における曲線410(実線で示される)は、第1の関数「funa」のグラフである。
【0033】
工程S308において、電子装置120は、動作電圧VDDを第2の電圧値V2に設定して、発振器システム112-1~112-nを駆動する。従って、電子装置120は、発振信号OS-1~OS-nを受信し、発振信号OS-1~OS-nに基づいて第2の電圧値V2に対応する周期を取得する。
【0034】
工程S310において、電子装置120は、チップ110のパス(図示せず、例えばクリティカルパス)を測定し、チップ110が第2の電圧値V2で作動する時の第2の性能値T2を取得する。
【0035】
工程S312において、電子装置120は、第2の性能値T2及び発振信号OS-1~OS-nの周期に基づいて、下記『式2』に示す第2の関数を構築する。第2の関数は、後続の工程においてチップ110の性能関数を推定するために用いられる。
【0036】
『式2』において、符号「funb」は、第2の関数を表し、符号「To」は、発振信号OS-1~OS-nの周期を表し、符号「Kb」は、発振信号OS-1~OS-nの周期に対応する複数の第2の重み値を表す。同様に、発振信号OS-1~OS-nの周期は、第2の電圧値V2を入力とする関数として表されてよく、ここで繰り返して説明しない。
【0037】
第2の関数「funb」を構築するために、電子装置120は、複数の第2の重み値を第2の関数「funb」の係数としてそれぞれ発振信号OS-1~OS-nの周期に割り当て、既知の第2の電圧値V2及び第2の性能値T2(又は第2の性能値T2の近似値)をそれぞれ第2の関数「funb」の入力及び出力とし、複数の第2の重み値を求める。即ち、第2の電圧値V2を第2の関数「funb」の入力とする場合、複数の第2の重み値により、第2の性能値T2(又は第2の性能値T2の近似値)が第2の関数「funb」の出力となる。いくつかの実施例において、
図4における曲線420(破線で示される)は、第2の関数「funb」のグラフである。
【0038】
いくつかの実施例において、上記第1の性能値T1の近似値と第1の性能値T1との間の差分は、第1の性能値T1の0.1~1%である。第2の性能値T2の近似値と第2の性能値T2との間の差分は、第2の性能値T2の0.1~1%である。
【0039】
いくつかの実施例において、電子装置120は、工程S302~S304において、チップ110を第1の温度で作動させ、チップ110の第1の温度に対応する第1の性能値T1を取得し、工程S306において、既知の第1の温度及び第1の性能値T1(又は第1の性能値T1の近似値)をそれぞれ第1の関数「funa」の入力及び出力とし、複数の第1の重み値を求める。続いて、電子装置120は、工程S308~S310において、チップ110を第2の温度で作動させ、チップ110の第2の温度に対応する第2の性能値T2を取得し、工程S312において、既知の第2の温度及び第2の性能値T2(又は第2の性能値T2の近似値)をそれぞれ第2の関数「funb」の入力及び出力とし、複数の第2の重み値を求める。要するに、本開示書類の第1の性能値T1及び第2の性能値T2は、チップ110が異なる動作状態で作動する時に測定されたものであり、前述した異なる動作状態は、動作電圧VDDの違い及び/又はチップ110の温度の違いを含んでよい。
【0040】
続いて、工程S314及び工程S316において、電子装置120は、第1の関数「funa」のグラフ(例えば曲線410)及び第2の関数「funb」のグラフ(例えば曲線420)の傾向が所定のルールを満たすか否かを判定する。この所定のルールにより、第1の関数「funa」のグラフと第2の関数「funb」のグラフが座標点N1で交差するように設定し、座標点N1は、第3の性能値T3に対応する。電子装置120は、判定結果に基づいて第1の関数「funa」における第1の重み値及び/又は第2の関数「funb」における第2の重み値を調整する。
【0041】
工程S314において、電子装置120は、第1の関数「funa」が第2の電圧値V2を入力とする場合、第1の関数「funa」の出力が第2の性能値T2以上であるか否かを判定する。そうであれば、電子装置120は、第1の関数「funa」が第2の電圧値V2を入力とする場合にその出力が第2の性能値T2よりも小さいように、工程S316を実行して複数の第1の重み値を調整する。そうでなければ、電子装置120は、引き続き工程S318を実行する。
【0042】
例えば、
図5を参照されたく、曲線510(一点鎖線で示される)は、電子装置120が工程S302~S306を実行した後に得られた第1の関数「funa」のグラフである。この場合、第1の関数「funa」が第2の電圧値V2を入力とする場合、その出力は第4の性能値T4である。第4の性能値T4が第2の性能値T2よりも大きいため、電子装置120は、第1の関数「funa」のグラフが曲線410に変化するまで、即ち、第1の関数「funa」が第2の電圧値V2を入力とする場合、その出力が第2の性能値T2よりも小さい第5の性能値T5となるまで、第1の関数「funa」の複数の第1の重み値を1回又は複数回調整する。
【0043】
工程S318において、電子装置120は、第2の関数「funb」が第1の電圧値V1を入力とする場合、第2の関数「funb」の出力が第1の性能値T1以上であるか否かを判定する。そうであれば、電子装置120は、第2の関数「funb」が第1の電圧値V1を入力とする場合にその出力が第1の性能値T1よりも小さいように、工程S320を実行して複数の第2の重み値を調整する。そうでなければ、電子装置120は、引き続きS322を実行する。
【0044】
例えば、
図6を参照されたく、曲線610(一点鎖線で示される)は、電子装置120が工程S308~S312を実行した後に得られた第2の関数「funb」のグラフである。この場合、第2の関数「funb」が第1の電圧値V1を入力とする場合、その出力は第6の性能値T6である。第6の性能値T6が第1の性能値T1よりも大きいため、電子装置120は、第2の関数「funb」のグラフが曲線420に変化するまで、即ち、第2の関数「funb」が第1の電圧値V1を入力とする場合、その出力が第1の性能値T1よりも小さい第7の性能値T7となるまで、第2の関数「funb」の複数の第2の重み値を1回又は複数回調整する。
【0045】
要するに、電子装置120は、上記の複数の第1の重み値「Ka」及び複数の第2の重み値「Kb」を推定するために、チップ110の性能に基づいて補間又は多項式回帰等の演算を複数回実行することができる。続いて、電子装置120は、
図3Bにおける工程S322~S326を実行し、第1の関数「funa」及び第2の関数「funb」に基づいて、チップ110の性能関数を計算する。性能関数は、チップ110が異なる大きさの動作電圧VDDを受信した場合の対応する性能を推定するために使用される。理解しやすくするために、
図3B、
図4及び
図7を同時に参照する。
【0046】
図4に示すように、曲線410は、それぞれ座標点N1の左側及び右側に位置する第1の線分La及び第2の線分Lbを含み、曲線420は、それぞれ座標点N1の左側及び右側に位置する第3の線分Lc及び第4の線分Ldを含む。
【0047】
工程S322において、電子装置120は、第1の線分La及び第3の線分Lcのうち動作電圧VDDをチップ110のより高い性能値にマッピングするためのものを選択し、選択結果を性能関数のグラフの第1の部分Gaとする。本実施例において、
図7に示すように、電子装置120は、第1の線分Laを性能関数のグラフの第1の部分Gaとして選択する。
【0048】
工程S324において、電子装置120は、第2の線分Lb及び第4の線分Ldのうち動作電圧VDDをチップ110のより高い性能値にマッピングするためのものを選択し、選択結果を性能関数のグラフの第2の部分Gbとする。本実施例において、
図7に示すように、電子装置120は、第4の線分Ldを性能関数のグラフの第2の部分Gbとして選択する。このように、電子装置120は、工程S320において、性能関数のグラフである、
図7における前述した第1の部分Ga、第2の部分Gb及び座標点N1を含む曲線700を得る。
【0049】
工程S326において、電子装置120は、曲線700に基づいて性能関数を算出する。いくつかの実施例において、チップ110の性能は、下記『式3』によって表されてよく、符号「funt」は、チップ110の性能関数を表す。
【0050】
図7から分かるように、いくつかの実施例において、性能関数の複数の出力(即ち、値域)は、第1の性能値T1又は第1の性能値T1の近似値、第2の性能値T2又は第2の性能値T2の近似値、及び座標点N1に対応する第3の性能値T3を含む。
【0051】
図8A及び
図8Bは、本開示書類の一実施例による性能計算方法800のフローチャートである。
図1の性能計算システム100は、チップ110の性能を推定するように性能計算方法800を実行するために用いられる。性能計算方法800における工程S802~S812は、それぞれ性能計算方法300の工程S302~S312と類似する。
【0052】
例えば、
図9を参照されたく、本実施例において、第1の関数「funa」を構築するために、電子装置120は、複数の第1の重み値を第1の関数「funa」の係数としてそれぞれ発振信号OS-1~OS-nの周期に割り当て、既知の第1の電圧値V1’及び第1の性能値T1’(又は第1の性能値T1’の近似値)をそれぞれ第1の関数「funa」の入力及び出力とし、複数の第1の重み値を求める。いくつかの実施例において、
図9における曲線910(実線で示される)は、第1の関数「funa」のグラフである。
【0053】
また、例えば、本実施例において、第2の関数「funb」を構築するために、電子装置120は、複数の第2の重み値を第2の関数「funb」の係数としてそれぞれ発振信号OS-1~OS-nの周期に割り当て、既知の第2の電圧値V2’及び第2の性能値T2’(又は第2の性能値T2’の近似値)をそれぞれ第2の関数「funb」の入力及び出力とし、複数の第2の重み値を求める。いくつかの実施例において、
図9における曲線920(破線で示される)は、第2の関数「funb」のグラフである。簡潔にするために、工程S802~S812における前文と類似する他の内容について、ここで繰り返して説明しない。以下、工程S814から性能計算方法800を説明する。
【0054】
工程S814において、電子装置120は、第1の関数「funa」が第2の電圧値V2’を入力とする場合、第1の関数「funa」の出力が第2の性能値T2’以下であるか否かを判定する。そうであれば、電子装置120は、第1の関数「funa」が第2の電圧値V2’を入力とする場合にその出力が第2の性能値T2’よりも大きいように、工程S816を実行して複数の第1の重み値を調整する。そうでなければ、電子装置120は、引き続き工程S818を実行する。
【0055】
工程S818において、電子装置120は、第2の関数「funb」が第1の電圧値V1’を入力とする場合、第2の関数「funb」の出力が第1の性能値T1’以下であるか否かを判定する。そうであれば、電子装置120は、第2の関数「funb」が第1の電圧値V1’を入力とする場合にその出力が第1の性能値T1’よりも大きいように、工程S820を実行して複数の第2の重み値を調整する。そうでなければ、電子装置120は、引き続き工程S822を実行する。
【0056】
換言すれば、第1の関数「funa」のグラフ及び第2の関数「funb」のグラフの傾向に対して、性能計算方法300及び800は、異なる所定のルールを有する。従って、第1の関数「funa」のグラフ及び第2の関数「funb」のグラフは、
図4及び
図9において異なる傾向を有する。
【0057】
図9に示すように、曲線910は、それぞれ座標点N1’の左側及び右側に位置する第1の線分La’及び第2の線分Lb’を含み、曲線920は、それぞれ座標点N1’の左側及び右側に位置する第3の線分Lc’及び第4の線分Ld’を含む。
【0058】
工程S822において、電子装置120は、第1の線分La’及び第3の線分Lc’のうち動作電圧VDDをチップ110のより低い性能値にマッピングするためのものを選択し、選択結果を性能関数のグラフの第1の部分Ga’とする。本実施例において、
図10に示すように、電子装置120は、第1の線分La’を性能関数のグラフの第1の部分Ga’として選択する。
【0059】
工程S824において、電子装置120は、第2の線分Lb’及び第4の線分Ld’のうち動作電圧VDDをチップ110のより低い性能値にマッピングするためのものを選択し、選択結果を性能関数のグラフの第2の部分Gb’とする。本実施例において、
図10に示すように、電子装置120は、第4の線分Ld’を性能関数のグラフの第2の部分Gb’として選択する。このように、電子装置120は、工程S820において、性能関数のグラフである、
図10における前述した第1の部分Ga’、第2の部分Gb’及び座標点N1’を含む曲線1000を得る。
【0060】
工程S826において、電子装置120は、曲線1000に基づいて性能関数を算出する。性能関数の表現方法は、前述した『式3』と類似し、ここで繰り返して説明しない。
図10から分かるように、いくつかの実施例において、性能関数の複数の出力(即ち、値域)は、第1の性能値T1’又は第1の性能値T1’の近似値、第2の性能値T2’又は第2の性能値T2’の近似値、及び座標点N1’に対応する第3の性能値T3’を含む。
【0061】
以上を纏めると、本開示書類により提供される性能計算システム100並びに性能計算方法300及び800は、チップ110における各種の変化因子を把握し、チップ110の性能(例えば、クリティカルパス上の信号遅延時間)を精確に推定することができる。
【0062】
また、性能計算方法300及び800の計算過程が簡便であり、時系列分析の時間を短縮するとともに関連するハードウェアに対する要求を低下させることに寄与する。
【0063】
明細書及び特許請求の範囲においていくつかの語彙を用いて特定の素子を指す。しかしながら、当業者であれば、同様の素子は、異なる名詞を使用して呼ばれる可能性があることを理解できるはずである。明細書及び特許請求の範囲は、名称の差異によって素子を区別するわけではなく、素子の機能上の差異を区別の基準とする。明細書及び特許請求の範囲において言及される「含む」は、開放的な用語であるため、「~を含むが、これに限定されない」と解釈すべきである。また、「結合」は、ここで如何なる直接接続手段及び間接接続手段も含む。従って、本文において第1の素子が第2の素子に結合されることが記述されている場合、第1の素子は、電気的接続又は無線伝送、光伝送等の信号接続形態によって第2の素子に直接接続されてもよく、或いは、他の素子又は接続手段によって前記第2の素子に間接的に電気的に接続されるか又は信号接続されてもよいことを表す。
【0064】
ここで使用される「及び/又は」の記述方式は、列挙されたもののうちの1つ又は複数の項目の任意の組み合わせを含む。なお、明細書において特に明示されていない限り、全ての単数形の用語は、同時に複数形の意味を含む。
【0065】
以上は、本開示書類の好ましい実施例に過ぎず、本開示書類の請求項に基づいてなされた等価の変化及び修飾は、いずれも本開示書類の範囲に属すべきである。
【符号の説明】
【0066】
10a~10c、20a~20c、30a~30c、40a~40f、50 リング発振器
32 電圧制御素子
100 性能計算システム
110 チップ
112-1~112-n、200 発振器回路システム
114 制御回路
116 入出力端
120 電子装置
210~230 発振器回路
300、800 性能計算方法
410、420、510、610、700、910、920、1000 曲線
Ga、Ga’ 性能関数のグラフの第1の部分
Gb、Gb’ 性能関数のグラフの第2の部分
INV インバータ
La、La’ 第1の線分
Lb、Lb’ 第2の線分
Lc、Lc’ 第3の線分
Ld、Ld’ 第4の線分
M1 第1の金属層
M2 第2の金属層
MN、MP トランジスタ
N1、N1’ 座標点
OS-1~OS-n 発振信号
S302~S326、S802~S826 工程
Sa、Sb、Sc 検知信号
T1 第1の性能値
T2 第2の性能値
T3 第3の性能値
T4 第4の性能値
T5 第5の性能値
T6 第6の性能値
T7 第7の性能値
V1、V1’ 第1の電圧値
V2、V2’ 第2の電圧値
VDD 動作電圧
WR 内部ワイヤ