米国シノプシス
ASICデジタル・デザイン担当マネージャー Karen Darbinyan
機能安全は自動車、航空宇宙、産業用アプリケーションで使用されるシステム・オン・チップ(SoC)にとって最も重要な優先事項の1つです。これらのSoCが満たすべき要件はISO 26262などの規格で定義されており、車載向けICの設計とテストはこれらの規格に基づいて行われます。たとえば先進運転支援システム(ADAS)向けICの場合、チップの動作が正常かどうかを監視し、将来の故障リスクを予測する高速な意思決定機能が必要とされます。ICの重要なパラメータは、さまざまな動作/環境条件によって経年劣化します。この結果、一般的にチップ内のゲート/インターコネクト遅延が増大します。このようなアプリケーションでシノプシスDesignWare® STAR Hierarchical SystemのMeasurement Unitを利用すると、オンチップ・クロック周波数およびデューティ・サイクルを高精度で計測できます。STAR Hierarchical SystemのMeasurement Unitには、組込みセンサ/モニタを追跡してクロック/プロセスを監視する機能があり、計測値を記録して16 nmおよび7 nmプロセスを含む性能重視のFinFETテクノロジ・ノードでオン・シリコン基準を満たしているかどうかを確認できます。
シノプシスDesignWare STAR Hierarchical Systemは、アナログ/ミックスドシグナルIP、デジタル・ロジック・コアおよびインターフェイスIPを含む複数のIP/コアを使用したSoCなどのデザインを効率よくテストするための階層型自動テスト・ソリューションです。SoCレベルのすべてのIP/コアに対してアクセスおよび制御が可能なIEEE 1500/1687準拠の階層型ネットワークが自動的に作成されるため、テスト統合の時間が大幅に短縮されます。また、IP/コアの柔軟なテスト・スケジューリングによってテストにかかる時間や消費電力が最適化されるなど、テストの結果品質も向上します。STAR Hierarchical Systemには、プロセスおよびクロック監視機能を備えたMeasurement Unitが統合されています。
Measurement Unitは高精度なオンチップ計測を低コストで行える軽量のデジタルIPコアで、SoCへの統合も容易に行えます。このIPを使用すると、「ソフト・モニタ」手法を効果的に実装できます。Measurement UnitはIC設計に利用できるだけでなく、ファウンドリも先端プロセス・ノードにおけるチップのオン・シリコン・パラメータ計測に使用できます。Measurement Unitにはシノプシスが特許を取得したパルス遅延計測メソドロジが採用されており、高速クロックに対する位相ロック・ループ(PLL)の特性評価機能およびビルトイン・セルフテスト(BIST)の機能があります。このIPはプロセス監視機能も統合しています。テスト対象のPLLと容易に入手可能な低周波数テスト・クロック以外には、フラクショナルまたは高速クロックを追加する必要はありません。
Measurement UnitはシノプシスのツールYield Accelerator(YA)およびSilicon Browserでプログラムします。計測モードの設定およびテスト結果のモニタはJTAGポート経由で行えます。
YAは自動試験装置(ATE)用のベクターを生成し、シリコンに不具合が見つかった場合のデバッグと診断もサポートします。STAR Hierarchical SystemのSilicon Browserを使用すると、デスクトップ/ノートPC上のGUIからJTAGインターフェイスを経由してチップ内のSTAR Hierarchical Systemと通信でき、プロトタイプの早期ブリングアップが可能です。
Measurement Unitのインターフェイスとアクセス・メカニズムはIEEE 1500インターフェイスに準拠しており、スター型またはデイジーチェーンによるリング型トポロジでSTAR Hierarchical Systemに接続できます。Measurement Unitのオン・シリコン・パラメータは、さまざまな計測モードにトグルできます。
Measurement Unitでは、図1に示す計測モードがサポートされます。
図1:Measurement Unitの計測モード
PLLクロック周波数計測モードでは、計測対象のオンチップ・クロック周波数と既知の低周波数基準クロックをMeasurement Unitに入力します(図2)。Measurement UnitをPLLクロック周波数計測モードに設定するには、モード・レジスタを使用します。
図2:PLLクロック周波数計測モードに設定したMeasurement Unit
ATEパターンを実行中は、カウンタAとカウンタBは同時に開始/停止します。既知の周波数を使用してカウンタAはPLLからのクロック・サイクル数を計算し、カウンタBは外部クロック・ジェネレータからのサイクル数を計算します。テストが終了すると、両方のカウンタの値がJTAG経由でシフト出力されます。最後に、次式でPLL周波数を求めます。
ATEテスト・パターンは、YAのベクター生成機能を使用して作成します。次に、テスタのログ・ファイルをデバッガが処理し、計算したカウンタ値に基づいて周波数の値を報告します。Measurement Unitのモードのうち、既知の周波数の基準クロックが必要なのは、このPLLクロック周波数計測モードのみです。
その名のとおり、このモードは周期信号のデューティ・サイクルを高精度で求める場合に使用します(図3)。
図3:クロック・デューティ・サイクルの計測
理想クロックはThigh= Tlow(デューティ・サイクル=50%)です。システム・クロックはスタンダード・セルやチップ上のその他のIPの動作特性に影響するため、ほとんどの場合、デューティ・サイクルの品質をチェックする際はシステム・クロックを定義することが重要です。
シノプシスのデューティ・サイクル計測メソドロジでは、変調やサンプリングのためのフラクショナル・クロックや高周波数の基準信号が不要で、Measurement Unitのみを使用します。PLLの動作周波数が分かれば、基準クロックを入力しなくてもデューティ・サイクルを計測できます。
Measurement Unitはクロック信号の正側パルスをピコ秒オーダーの誤差(約+/-4ps)で正確に計測します。このパルスを追跡した後、デジタル表現をカウンタAとカウンタBに格納します。次式で求めたTposの幅は、YAで使用できます。
組込みメモリーの性能は、メモリーを読み出す際のメモリー・クロックから出力データまでの遅延(アクセス・タイム)で評価します。アクセス・タイムは、組込みメモリーを使用するすべてのアプリケーションで重要なタイミング・パラメータです。高性能な組込みSRAMはクロック周波数が数GHzにも達しており、アクセス・タイムを正確に特性評価するのは非常に困難です。Measurement Unitにはシノプシスの特許技術が実装されており、約+/-10psの誤差で高精度な計測が可能です。
組込みSRAMメモリーは一般に自己タイミング型で、データ・アクセス・タイム(Tcqパラメータ)はメモリーの内部クロックおよび遅延によって決まります。メモリー遅延計測によってメモリー性能のTcqパラメータを設定します。アクセス・タイムの値は、システムを最高周波数で動作させなくても取得できます。
Measurement Unitの高精度な計測技術を利用すると、メモリー・アプリケーションの読み出しマージン・パラメータを変更し、メモリーの動作速度を調整できます。Measurement UnitでTcqの値を計測すると、読み出しマージンの値の変動をはっきりと観察でき、読み出しマージン回路をシリコン上で特性評価できます。
Measurement Unitを組込みメモリー計測モードで使用する場合、メモリーのQ[n]出力をMeasurement UnitのMEM_Q入力ポートに接続します(図4)。これ以外にMeasurement Unitブロックに必要なのは、システム・クロックの接続のみです。
図4:組込みメモリー計測モードに設定したMeasurement Unit
大容量のオンチップSRAMメモリーを使用するアプリケーションを設計するには、セットアップ(メモリー入力ポートの遅延)値の評価が必要です。セットアップ値は、プロセス信頼性評価用テスト・チップ(PQV:Process Qualification Vehicle)の重要な計測パラメータです。Measurement Unitは、組込みメモリーの事前に定義されたデータおよびアドレス入力に対するセットアップ・パラメータに合わせて設定できます。このメソドロジは、メモリーへの書き込み中にデジタル遅延ラインおよびロジックを使用してメモリー・クロックとデータ/アドレス信号との間にスキューを与えます。このテスト結果はレジスタに記録され、これによってテストの書き込み動作が成功した回数と失敗した回数を計測します。メモリー書き込み動作を開始する前に遅延ラインを正確に計測し、現在の条件でのスキュー・ステップの遅延を評価します。
セットアップを開始すると、Measurement Unitはバックグラウンド・データに続いてキャリブレーション値をメモリーにプリロードする命令シーケンスを自動的に実行します。計測サイクルが完了したら、スキューの値ごとに遅延ラインの周波数値とレジスタのメモリー出力データを解析します。
図5:ホールド・タイム計測のタイミング・チャート
Measurement Unitはクロックとデータの間にスキューのない状態でデータ・ホールド・テストを開始し、1回のプロセス・ステップごとに少量の遅延を加えていきます。Measurement Unitはメモリーに書き込まれたテスト・バックグラウンド・データによってプログラムされ、メモリーに「0」を書き込んで内容をリードバックし、出力データを結果レジスタに記録します(図5)。各スキュー・ステップの実際の遅延値は分かっているため、Tdを9倍すればホールド・タイムを簡単に求めることができます。
図6:リング・オシレータ
リング・オシレータの周波数は、式FROS = 1/2NTd(Tdは各インバータ・バッファ・デバイスの遅延)で求めます。リング・オシレータは、YAテスト・パターンを使用してMeasurement Unitに統合します(図7)。
図7:リング・オシレータ周波数計測モードに設定したMeasurement Unit
リング・オシレータの周波数は、システム・クロックの基準周波数を使用してICテスト中もICがアイドル状態のときも、いつでも正確に計測できます。外部クロック入力は必要ありません。システム・クロック周波数は既知のため、ROSの周波数は次式で求めることができます。
複数のMeasurement Unitブロックをチップに統合すると、シリコン全体のROSの周波数を容易にモニタできます。また、チップのさまざまな物理位置でのセル遅延に対するROS計測値をYAで記録すると、ダイの実際のプロセス・コーナーとプロセスばらつきを調べることができます。
Measurement Unitでは、チップのメモリー・テスト中のIRドロップ値も評価できます。まず、チップがアイドル状態の間に複数のMeasurement UnitブロックでROS周波数を計測します。テストを開始したら、テスト実行中のROS周波数を計測し、ルックアップ・テーブルを作成します。IRドロップによってROS周波数は低下します。チップがアイドル状態のときの低下後の値は、作成したルックアップ・テーブルを参照して計測できます。チップがアイドル状態の間、ROS周波数がテスト中に取得した値と一致するまでデバイスの電圧を引き下げます。この電圧の差が、実際のIRドロップ値にmV単位で示されます。
STAR Hierarchical SystemのMeasurement Unitは高精度かつ低コストなオンチップ計測が可能で、SoCの「ソフト・モニタ」をサポートします。Measurement Unitには自動車、航空宇宙、産業用アプリケーションできわめて重要な役割を果たすクロックおよびプロセス監視機能があります。
シノプシスの特許技術を採用したMeasurement Unitは、高周波クロックとデューティ・サイクルの計測、組込みメモリーのアクセス・タイム、アドレス/データのセットアップ/ホールド・タイムの計測、およびオンチップ・プロセス監視の機能を備え、SoCの重要なタイミング・パラメータの信頼性向上に役立ちます。今後の新規チップ設計にシノプシスDesignWare STAR Hierarchical SystemのMeasurement Unitを統合していただくと、複雑なポストシリコン計測プロセスが簡略化され、市場投入までの期間が短縮されます。