AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of...

49
AccuCoreによるトランジスタレベルのスタティックタイミング解析 株式会社シルバコジャパン

Transcript of AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of...

Page 1: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

AccuCoreによるトランジスタ・レベルのスタティック・タイミング解析

株式会社シルバコ・ジャパン

Page 2: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

2

Silvaco/Simucad社社社社プロダクトラインアッププロダクトラインアッププロダクトラインアッププロダクトラインアップ

Page 3: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

3

デザインデザインデザインデザイン・・・・チャレンジチャレンジチャレンジチャレンジ

ASIC-SoC / Custom-SoC

ハード IP、再利用IP •モデルの不備•遅延の正確性•デザインの知識•ファンクション・ベリファイ•実行時間

メモリ•マニュアル手法•正確性•モデルの不備•実行時間

スタンダード・セル &カスタ

ムセル•タイミングの正確性、カバレッジ•複雑なセルや、I/Oのキャラク

タライズ•新規セルに対する迅速なキャラクタライズ

フル・カスタム•タイミング・クロージャ•デザインのデバッグ•ファンクション・ベリファイ

•複雑なセットアップ

ますますますますますますますます増増増増えるえるえるえる 「「「「正確性正確性正確性正確性」「」「」「」「速度速度速度速度」「」「」「」「デザインデザインデザインデザイン・・・・カバレッジカバレッジカバレッジカバレッジ」」」」のののの必要性必要性必要性必要性

Page 4: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

4

フル・カスタム

AccuCore

スタンダード・セル&カスタム・セル

AccuCell

AccuCell / AccuCore ソリューションソリューションソリューションソリューション

ASIC-SoC/ Custom - SoC

ハードIP、再利用IP

AccuCore

Page 5: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

5

デザインデザインデザインデザイン・・・・チャレンジチャレンジチャレンジチャレンジ

生産性• 広範囲に渡るエンジニアのマニュアル・ワークを排除• キャラクタライズのセットアップ、ランタイムの時間を減少• トータル・デザインフローにおけるTATを減少させる

• 複数のツールではなく、一つのツールで実現

パフォーマンス• タイミング、パワー、ファンクションを正確に出力しているか• サブミクロン・テクノロジー / 複雑な回路に対応する

正確性• ファンクションを正確に抽出し、ベクタは、すべての要求を網羅して

いるか• Spiceシミュレータの精度は?

Page 6: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

6

AccuCell / AccuCore ソリューションソリューションソリューションソリューション

生産性• AccuCell / AccuCore独自の自動化対応でエンジニアの負担を軽

減 (パーティションに分割・ファンクション抽出・ベクタ生成)• 高速SmartSpiceおよびSmartSpice API機能でTATの減少• Characterize機能とSpiceシミュレータをシームレスに統合

パフォーマンス• 過去の多大な実績に基づく、独自のファンクション抽出、ベクタ生

成機能で複雑な回路にも対応する高パフォーマンスを実現• SmartSpiceにおける最新Spiceモデルに対応済み

正確性• 「正確性」に信頼の置けるSmartSpiceを採用

Page 7: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

7

Simucad SoCソリューションソリューションソリューションソリューション

AccuCore STA

フルチップタイミング解析

AccuCore

ブロック・コアキャラクタライゼーション

AccuCellセル・キャラクタライゼーション

Page 8: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

8

AccuCell / AccuCore のののの区別区別区別区別についてについてについてについて

AccuCore

AccuCore

AccuCell

Block Characterization

Full / Gate Level STA

Cell Characterization

(~ 1000 Devices)

(1000 ~ Devices)AccuCell

Page 9: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

9

AccuCell and AccuCore のののの基本的特徴基本的特徴基本的特徴基本的特徴

AccuCell AccuCore

I/O Data Input Capacitance Input CapacitanceDelay DelaySetup / Hold Setup / HoldPower Calc

Function

of

Capability

Characterize CharacterizePartitioningSTA

SupportedFormat

.lib (SPDM) .libTLF TLFVerilog Verilogalfmentorvital

AccuCell and AccuCoreは別プロダクトです。AccuCellの機能がAccuCoreに包含されているわけではありません。

Page 10: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

10

• 最新のSpiceモデルを採用し、正確性をさらに向上

• SmartSpiceの高速・収束性によりシミュレーション・スピードの向上

• スタティック・タイミング解析とSpiceの正確性の融合を実現

AccuCore ののののソリューションソリューションソリューションソリューション

正確性

スピード

ダイナミック

シミュレータ

スタティック

シミュレータ

AccuCoreAccuCore

Page 11: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

11

AccuCore のののの概要概要概要概要

• 独自のアルゴリズムによる機能分割、クラスタ化により、Spiceの

精度を保ちキャラクタライズを実行• ファンクション抽出、ベクタ生成を自動化• 高パフォーマンスのSmartSpiceとの統合• 最新Spiceモデルに対応• Liberty format .lib モデル、Verilog、Vital、TLFモデルを生成• STA機能を持ち合わせるため、SpiceネットリストもしくはGateレベ

ルVerilogネットリストからのSTAの実行が可能• STA実行後に検証されたクリティカル・パスをSpiceネットリストに

て出力• Solaris / Linux 互換 (Linux64ビットマシンに対応)

Page 12: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

12

AccuCore 入力入力入力入力、、、、出力出力出力出力、、、、双方向双方向双方向双方向インタフェースインタフェースインタフェースインタフェース

AccuCore

Transistor and Gate Level

Full-Chip STA with Automatic

Block Characterization

ゲート・レベルVerilogネットリスト+SDF

SPICEネットリスト+SPF、DSPF

SPICEモデル

コンフィグ・ファイル

TCLスクリプト

入力 出力

Synopsys社 PrimeTime

モデル

クリティカル・パスのSPICEデッキ

Synopsys社 LibertyTM (.lib)

Cadence社 TLFフォーマット

スタティック・タイミング解析レポート

Verilogネットリスト

キャラクタライズデータ・ベース

SmartSpice

HSPICE

ELDO

Page 13: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

13

AccuCore のののの入力入力入力入力

• バックアノテートされたRCの情報として、SDFをゲート・レベル・ネット

リストに含むことが可能

• SPICEネットリスト内にRCを含ませ、また、SDFをマージすることも

可能

• SmartSpiceで使用可能なSPICEモデルをすべて使用可能

• コンフィグレーション・ファイルによりすべてのオプション設定が可能

• Tcl スクリプトによりカスタマイズ・フローの構築やレポートを出力

AccuCoreTransistor and Gate Level

Full-Chip STA with Automatic

Block Characterization

ゲート・レベルVerilogネットリスト+SDF

SPICEネットリスト+SPF、DSPF

SPICEモデル

コンフィグ・ファイル

TCLスクリプト

入力 出力

Synopsys社 PrimeTime

モデル

クリティカル・パスのSPICEデッキ

Synopsys社 LibertyTM (.lib)

Cadence社 TLFフォーマット

スタティック・タイミング解析レポート

Verilogネットリスト

キャラクタライズデータ・ベース

SmartSpice

HSPICE

ELDO

Page 14: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

14

AccuCoreTransistor and Gate Level

Full-Chip STA with Automatic

Block Characterization

ゲート・レベルVerilogネットリスト+SDF

SPICEネットリスト+SPF、DSPF

SPICEモデル

コンフィグ・ファイル

TCLスクリプト

入力 出力

Synopsys社 PrimeTime

モデル

クリティカル・パスのSPICEデッキ

Synopsys社 LibertyTM (.lib)

Cadence社 TLFフォーマット

スタティック・タイミング解析レポート

Verilogネットリスト

キャラクタライズデータ・ベース

SmartSpice

HSPICE

ELDO

AccuCore のののの出力出力出力出力

• Synopsys社 Liberty™ (.lib)

• Cadence社 TLF (.tlf) フォーマット

• Simucad (svc)データ・ベース・フォーマット

• デザイン・クラスター間における接続情報のVerilogネットリスト

• SPICEで詳細に解析されたクリティカル・パスをSPICEデッキで出力

• パス解析(slack)やコンストレイント・チェック解析を含むSTAパス・レ

ポート

Page 15: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

15

AccuCoreTransistor and Gate Level

Full-Chip STA with Automatic

Block Characterization

ゲート・レベルVerilogネットリスト+SDF

SPICEネットリスト+SPF、DSPF

SPICEモデル

コンフィグ・ファイル

TCLスクリプト

入力 出力

Synopsys社 PrimeTime

モデル

クリティカル・パスのSPICEデッキ

Synopsys社 LibertyTM (.lib)

Cadence社 TLFフォーマット

スタティック・タイミング解析レポート

Verilogネットリスト

キャラクタライズデータ・ベース

SmartSpice

HSPICE

ELDO

AccuCore のののの双方向双方向双方向双方向インタフェースインタフェースインタフェースインタフェース

• AccuCoreでは、SmartSpice APIを使用した最速キャラクタライズ

を実現しています

• AccuCore は、外部SPICEとしてHSPICE, ELDOをご利用いただけ

ます

• AccuCore は、SQLデータ・ベースを用いてインクリメンタル・キャラ

クタライゼーションを実現しています

Page 16: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

16

AccuCoreスタティックスタティックスタティックスタティック・・・・タイミングタイミングタイミングタイミング解析解析解析解析(STA)のののの概要概要概要概要

• AccuCoreスタティック・タイミング解析(STA)機能は、フルチップ対応

の階層化ゲート・レベルの解析が可能です

• キャラクタライズ・フロー(AccuCore フロー)からの実行、もしくはスタン

ド・アロンでの実行が可能で、シーケンシャル・デバイス、コンビネーション・デバイスのどちらも対応しています

• スタンド・アロンでの実行では、 キャラクタライズ・フローから独立して実行することが可能で、Simucad社フォーマットや、Synopsys社Libertyフォーマットの複数タイミング・ライブラリとVerilogネットリストを

読み込むことが可能です

• キャラクタライズ・フローでは、内部寄生素子のSPF、もしくはSDF

フォーマットファイルを読み込み可能です

Page 17: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

17

AccuCoreスタティックスタティックスタティックスタティック・・・・タイミングタイミングタイミングタイミング解析解析解析解析(STA)のののの概要概要概要概要

• キャラクタライズ・フローでは、分割されたセル、もしくはデザイン・クラスターのキャラクタライズ実行、 デザイン・クラスター間のコネクションVerilogネットリストの出力、STAフローにフィードバックされる、Simucad、Liberty フォーマットのタイミングライブラリを出力します

• キャラクタライズ・フロー、スタンド・アロンのどちらのフローでも、カスタムもしくはASICのフルチップ解析が一回の実行で可能です

Page 18: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

18

AccuCoreスタティックスタティックスタティックスタティック・・・・タイミングタイミングタイミングタイミング解析解析解析解析(STA)のののの機能機能機能機能 ((((1111))))

• スタティック・タイミング解析の機能• パス・サーチ (Path Search)

• パス・サーチのコントロール

• パスの形態

• クリティカル vs. サブ・クリティカル vs ラッチ・トゥ・ラッチ パス

• シンクロナイザー、トランスペアレンシー

• パス・サイクル・ルール、トランスペアレンシー

• ディフォルトのシンクロナイザー・ルール

• ラッチのグループ

• コンビネーション・ループ

• タイミング制約のベリフィケーション

• タイミング制約、クロック・ドメイン

• タイミング制約、パス・サイクル・ルール

• パス・サイクル・ルール、Clock Uncertainty

• Output/Bidir Assertions

Page 19: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

19

• スタティック・タイミング解析の機能

• ラッチ、フリップ・フロップのチェック

• ゲーテド・クロックのチェック

• データ間チェック

• トライステート・バスのチェック

• ラッチ・ループ制約

• コモン・スキュー・リムーバブル

• スタティック・タイミング解析レポート

• SPICEデッキ生成

• スタティック・タイミング解析モデル

• ブロック制約の生成

• スラックのアロケーション

• 内部接続のバックアノテーション

AccuCoreスタティックスタティックスタティックスタティック・・・・タイミングタイミングタイミングタイミング解析解析解析解析(STA)のののの機能機能機能機能 ((((2222))))

Page 20: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

20

クロック・ツリーのSPICEデッキ

AccuCoreスタティックスタティックスタティックスタティック・・・・タイミングタイミングタイミングタイミング解析解析解析解析(STA)

STA

Transistor and Gate Level

Full-Chip STA

ゲート・レベルVerilogネットリスト+SDF

SPICEネットリスト+SPF、DSPF

SPICEモデル

コンフィグ・ファイル

TCLスクリプト

出力

クリティカル・パスのSPICEデッキ

スタティック・タイミング解析レポート

AccuCore

キャラクタライズ・フロー

スタンド・アロン・フロー

Page 21: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

21

フルフルフルフル・・・・チップチップチップチップ/ IPコアコアコアコア

分割分割分割分割 ファンクションファンクションファンクションファンクション抽出抽出抽出抽出

SpiceネットリストネットリストネットリストネットリストSpiceモデルモデルモデルモデルコンフィグコンフィグコンフィグコンフィグ・・・・ファイルファイルファイルファイル

ゲートレベルゲートレベルゲートレベルゲートレベル/

フルチップフルチップフルチップフルチップSTA

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー

ベクタベクタベクタベクタ生成生成生成生成 シミュレーションシミュレーションシミュレーションシミュレーション管理管理管理管理

モデルモデルモデルモデル生成生成生成生成

.lib モデルモデルモデルモデルSTA パスパスパスパス・・・・レポートレポートレポートレポートクリティカルクリティカルクリティカルクリティカル・・・・パスパスパスパスSpice

Verilog

ゲートレベルゲートレベルゲートレベルゲートレベルVerilog ネットリストネットリストネットリストネットリスト

AccuCoreAccuCore

SmartSpice

(with API)

Eldo

HSPICE

フラットフラットフラットフラット化化化化

Page 22: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

22

入力ファイルの読み込み⇒分割

入力ファイルの読み込み• コンフィグ・ファイル - キャラクタライズに使用される設定条件• Spiceネットリスト• Spiceモデル - Spice実行時に必要なSpiceモデル

CMOSおよびSOIテクノロジ BSIM3、BSIM3SOI、BSIM4、PSP、HiSIMなどに対応した、業界最多のキャリブレーション済みSpice

モデルを使用可能• TCL file - バッチモード実行時のTCLファイル

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー STEP 1

AccuCoreAccuCore 入力ファイルの読み込み⇒分割

SmartSpice

STEP 1

Page 23: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

23

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー コンフィグコンフィグコンフィグコンフィグ・・・・ファイルファイルファイルファイル例例例例

# Port Names

inputs A B C D

# clocks CLK CLK

outputs O

powers vdd

grounds gnd

# Basic AccuCore Commands Required for basic run

IN_FILE_NAME tutorial.sp

TOP_VLOG_MODULE tutorial

MODEL_TYPE svc synthesis tlf generic

##SPICE_TYPE smartspice

INC_CMD "./models.inc"

SUPPLY_V_HIGH 3.0

TEMP 25

# MOSFET name declaration

MOSFET_TYPE nmos nmos

MOSFET_TYPE pmos pmos

CALC_C_EFF 1

SLOPE_TABLE { 0.05 0.1 0.2 }

CAP_TABLE { 0.02 0.06 0.1 }

SETHLD_2D 1

MIN_RISE_SLOPE 0.01

MIN_FALL_SLOPE 0.01

# Debug Commands

PRINT_EQNS 1

VERBOSE 1

#CONST_DELAY 1.0

#DEFAULT_FF_SETUP 0.5

#DEFAULT_FF_HOLD 0.5

#DEFAULT_LATCH_SETUP 0.5

#DEFAULT_LATCH_HOLD 0.5

DO_STA 0

Page 24: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

24

分割:パーティショニング

• 分割:パーティショニングによりセル・プリミティブ・レベル・クラスまでクラスタ化 - Spiceの精度を保持

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー 読読読読みみみみ込込込込みみみみ ⇒⇒⇒⇒分割分割分割分割

Page 25: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

25

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー 分割分割分割分割のののの手順手順手順手順

• 自動分割手順は、最初にSpiceネットリストをフラット化します

• ユーザー定義の分割ブロックを判断し、そのブロックに含まれるトランジスタが、他の分割に含まれないことを認識します

• チャネル・コネクテッド・コンポーネンツ(CCCs)と呼ばれる関連性の

あるトランジスタのグループ分けを実行します

• このステップは重要で、これらのグループ分けがデザイン・クラスタ(DC)になります

• 仮にグループ分けがうまく実行されなかった場合でも、さらに強力に電気的関連のある他のCCCを評価し、一つのDCに作り上げて

いきます

• それぞれの実行終了後に個々のDCは下記のうちどちらかの手法でレビューされます:

• サフィックスが.out というファイルがディフォルトで生成され、トランジスタ・レベルのDCネットリストを参照

• As a statistical representation in the log or .sum file

• 結果として、分割されたDCが大きい場合は、マニュアルにて分割す

る手法をとります

Page 26: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

26

ファンクション抽出

• クラスタ化されたグループそれぞれに論理ファンクションを自動抽出

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー STEP 2222

AccuCoreAccuCore ファンクション抽出

SmartSpice

STEP 2

Q.0 := ~D & main+;

Q.1 := D & main+;

QN.0 := D & main+;

QN.1 := ~D & main+;

Page 27: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

27

ベクタ生成

ベクタ生成

• クラスタ化されたグループから抽出された論理ファンクションをもとにSpiceの入力ベクタをPWLフォーマットで生成

• ベクタは、正確性をそこなうことなく実行時間を最短にさせるように考慮 - キャラクタライズに冗長な部分を削除し効率的に生成され

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー STEP 3333

AccuCoreAccuCore ベクタ生成

SmartSpice

STEP 3

Page 28: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

28

インプット・デッキの生成

• コンフィグ・ファイルに記述されている条件をもとにインプット・デッキを生成し、クラスターを正確にキャラクタライズするために前段の入力スロープ、後段の出力負荷を考慮してSpiceネットリストに

付加

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー インプットインプットインプットインプット・・・・デッキデッキデッキデッキのののの生成生成生成生成

0.5ns1pF

0.5pF

Page 29: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

29

シミュレーション管理

� Spiceシミュレータに、生成されたインプット・デッキとベクタを渡しシミュレーションを実行

� シミュレーションは、それぞれのクラスタごとに実行� AccuCore推奨のSmartSpiceを使用することにより最高のパフォー

マンスを実現 (スピード、収束性 HSPICEとのコンパチブル)� 外部SPICE (HSPICE / Eldo)に対応

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー STEP 4

AccuCoreAccuCore シミュレーション管理

SmartSpice

STEP 4

Page 30: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

30

SmartSpice API機能

� SmartSpice API機能機能機能機能をををを使用使用使用使用してしてしてして、、、、パラメータパラメータパラメータパラメータのののの変更変更変更変更をををを直接直接直接直接メモリーメモリーメモリーメモリー上上上上

でででで実行実行実行実行

� 再読再読再読再読みみみみ込込込込みのみのみのみの時間時間時間時間がががが短縮短縮短縮短縮されされされされ、、、、さらなるさらなるさらなるさらなるスピードアップスピードアップスピードアップスピードアップをををを実現実現実現実現!!!!

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー SmartSpice API 機能機能機能機能

SmartSpiceSmartSpice

AccuCoreAccuCore

MemoryMemory

Page 31: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

31

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー ベンチベンチベンチベンチ・・・・マークマークマークマーク・・・・データデータデータデータ 1111

Model : SUN Ultra40CPU : Dual Core AMD Opteron™ 280 @2.40GHzMemory : 8GBOS : RedHat Linux Enterprise 4

� Machine SPEC.

� Circuit Description

Circuit Name - Shift_32.testTotal Devices - 17,309 devices (12000Tr,DIO,C)Numbers of DC - 1607 design clusters

• 5x5 Table with API Function• 5x5 Table without API Function• 10x10 Table with API Function• 10x10 Table without API Function

Page 32: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

32

� Benchmark Results

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー ベンチベンチベンチベンチ・・・・マークマークマークマーク・・・・データデータデータデータ 1111

Sim

ula

tion T

ime [sec]

0

600

1200

1800

2400

3000

3600

4200

840 1500

5x5 Table API

5x5 Table no API

10x10 Table API

10x10 Table no API

4800

5400

6000

6600

3480 6030

Shift_32.test

4.1 x faster 4.02 x faster

(14m) (58m) (25m) (105m)

Page 33: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

33

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー ベンチベンチベンチベンチ・・・・マークマークマークマーク・・・・データデータデータデータ 2222

Model : SUN Fire V20zCPU : AMD Opteron™ 252 @2.60GHzMemory : 8GBOS : RedHat Linux Enterprise 4

� Machine SPEC.

� Circuit Description

Circuit Name - Shift_32.testTotal Devices - 17,309 devices (12000Tr,DIO,C)Numbers of DC - 1607 design clusters

• 5x5 Table with API Function• 5x5 Table without API Function• 10x10 Table with API Function• 10x10 Table without API Function

Page 34: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

34

� Benchmark Results

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー ベンチベンチベンチベンチ・・・・マークマークマークマーク・・・・データデータデータデータ 2222

Sim

ula

tion T

ime [sec]

0

600

1200

1800

2400

3000

3600

4200

960 1500

5x5 Table API

5x5 Table no API

10x10 Table API

10x10 Table no API

4800

5400

6000

6600

3780 4860

Shift_32.test

3.9 x faster 3.24 x faster

(16m) (63m) (25m) (81m)

Page 35: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

35

モデル生成

� 実行されたSPICEシミュレーションの結果より、Liberty (.lib)フォー

マットのタイミング・モデルを生成

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー STEP 5555

AccuCoreAccuCore モデル生成

SmartSpice

STEP 5

Page 36: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

36

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー Synopsys .libファイルファイルファイルファイル例例例例

***************************************************************************

* Synopsys Technology File Created By AccuCore(R)

*

* Software Version: 1.2.9.R

*

* Copyright (C) Simucad Design Automation 2006

*

****************************************************************************

* This library has been created using the Synopsys Liberty Format

*

* Liberty is a licensed trademark of Synopsys Inc.

*

****************************************************************************

*

* Library Creation Date: JST 2006

*

* Process:

* Voltage: 1.62

* Temperature: 85

*

****************************************************************************/

library (shift_32_lib) {

technology (cmos);

delay_model : table_lookup;

capacitive_load_unit (1,pf);

pulling_resistance_unit : "1kohm";

time_unit : "1ns";

voltage_unit : "1V";

current_unit : "1A";

default_fanout_load : 0.0;

default_inout_pin_cap : 0.0;

default_input_pin_cap : 0.0;

default_output_pin_cap : 0.0;

input_threshold_pct_rise : 50.0;

input_threshold_pct_fall : 50.0;

output_threshold_pct_rise : 50.0;

output_threshold_pct_fall : 50.0;

slew_lower_threshold_pct_fall : 30.0;

slew_lower_threshold_pct_rise : 30.0;

slew_upper_threshold_pct_fall : 70.0;

slew_upper_threshold_pct_rise : 70.0;

lu_table_template (delay_template5x5) {

variable_1 : input_net_transition;

variable_2 : total_output_net_capacitance;

index_1 ("1,2,3,4,5");

index_2 ("1,2,3,4,5");

}

lu_table_template (delay_slew_template5) {

variable_1 : input_net_transition;

index_1 ("1,2,3,4,5");

}

Page 37: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

37

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー Synopsys .libファイルファイルファイルファイル例例例例

cell (dc_2873) {

area : 0;

pin (I0) {

direction : input ;

capacitance : 0.00000;

clock : false;

}

pin (I1) {

direction : input ;

capacitance : 0.00000;

clock : false;

}

pin (O0) {

direction : output;

function : "(!I0) | (!I1)";

timing () {

related_pin : "I0";

timing_sense : negative_unate;

when : "(I1)";

sdf_cond : "(I1)";

cell_rise (delay_template5x5) {

index_1 ("0.06124, 0.08049, 0.09975, 0.11900, 0.13825");

index_2 ("0.00200, 0.01000, 0.05000, 0.10000, 0.25000");

values ("0.06139, 0.08030, 0.16571, 0.27246, 0.59090", ¥

"0.06903, 0.09057, 0.17616, 0.28257, 0.60094", ¥

"0.07620, 0.09948, 0.18683, 0.29282, 0.61105", ¥

"0.08280, 0.10801, 0.19753, 0.30332, 0.62124", ¥

"0.08956, 0.11574, 0.20863, 0.31395, 0.63153");

}

rise_transition (delay_template5x5) {

index_1 ("0.06124, 0.08049, 0.09975, 0.11900, 0.13825");

index_2 ("0.00200, 0.01000, 0.05000, 0.10000, 0.25000");

values ("0.02894, 0.04031, 0.11668, 0.21552, 0.51221", ¥

"0.03197, 0.04357, 0.11685, 0.21559, 0.51224", ¥

"0.03575, 0.04859, 0.11676, 0.21555, 0.51220", ¥

"0.03755, 0.05236, 0.11688, 0.21549, 0.51219", ¥

"0.04055, 0.05581, 0.11831, 0.21559, 0.51224");

}

cell_fall (delay_template5x5) {

index_1 ("0.13368, 0.15199, 0.17029, 0.18860, 0.20690");

index_2 ("0.00200, 0.01000, 0.05000, 0.10000, 0.25000");

values ("0.02814, 0.04897, 0.11932, 0.18146, 0.35360", ¥

"0.02688, 0.04897, 0.12340, 0.18868, 0.36060", ¥

"0.02561, 0.04885, 0.12680, 0.19531, 0.36768", ¥

"0.02407, 0.04828, 0.12966, 0.20134, 0.37477", ¥

"0.02237, 0.04748, 0.13223, 0.20683, 0.38193");

Page 38: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

38

AccuCore スタティックスタティックスタティックスタティック・・・・タイミングタイミングタイミングタイミング解析解析解析解析デザインデザインデザインデザイン・・・・フローフローフローフロー

AccuCore

SmartSpice

(with API)

AccuCoreから

キャラクタライズ・フローSTA

Verilog

ネットリストからスタンド・アロンSTA

AccuCore

スタティックスタティックスタティックスタティック・・・・タイミングタイミングタイミングタイミング解析解析解析解析

スタティック・タイミング解析レポートクリティカル・パス Spiceネットリスト

Spiceネット

ゲート・レベルVerilog ネットリスト

Page 39: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

39

ゲートレベル/フルチップ

スタティック・タイミング解析

� スタンド・アロンもしくは、AccuCoreからのデータを使用してキャラ

クタライズ・フローの一環としての実行が可能� キャラクタライズ・フローでは、トランジスタ・レベルのSpiceネットリ

ストから実行� タイミング・モデルおよびVerilogネットリストはキャラクタライズ・フ

ローより自動生成� スタンド・アロンからのフローでは、ゲート・レベル Verilog ネットリ

スト(SDF, SPFも含む)から実行

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー STEP 6666

AccuCoreAccuCore ゲートレベル/フルチップ STA

SmartSpice

STEP 6

Page 40: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

40

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー STEP 6666-1

スタンド・アロン・フロー

• STEP 6-1-1: 入力ベリファイ• ライブラリ・ベリフィケーション – ライブラリのセルのタイミングの正確性をベリ

ファイします

• sta_verify_netlistコマンドを用いてVerilogネットリストとセル・ライブラリの接続をベリファイします

• STEP 6-1-2: コンフィグ・ファイルの作成、ベリファイ• コンフィグ・ファイルの作成

• sta_read_cfgコマンドを用いてコンフィグ・ファイルのベリファイを実行

• STEP 6-1-3: TCLスクリプトの作成• クリティカル・パスの認識、セットアップ・ホールドのタイミング・チェックがされ

たクリティカル・パスやサブ・クリティカル・パスをベリファイするためのコマンド・セット

• verify_checks と report_checksコマンドをスクリプトに使用します

• STEP 6-1-4: クロックのベリファイ• find_paths、print_clock_waveformsそして、report_warnings -allを使用してクロックの伝播遅延をベリファイします

Page 41: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

41

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー STEP 6666-1

スタンドスタンドスタンドスタンド・・・・アロンアロンアロンアロン・・・・フローフローフローフロー

• STEP 6-1-5: 解析

• 指定ネットを解析し、サブクリティカル・ネット、フォルス・パスを解析

• STEP 6-1-6: 結果の評価

• print_spice_pathsコマンドを用いて、Spiceネットリストを出力

Page 42: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

42

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー STEP 6666-2

キャラクタライズキャラクタライズキャラクタライズキャラクタライズ・・・・フローフローフローフロー

• STEP 6-2-1: コンフィグ・ファイルの作成

• in_file、lib_cmd、do_sta、clock_time、input_time、output_timeコマンドを利用してコンフィグ・ファイルを作成、デザインを

キャラクタライズします

• sta_read_configコマンドでコンフィグ・ファイルをベリファイ

• STEP 6-2-2: TCLスクリプトの作成

• gen_model file.cfgのコマンドとともに、クリティカル・パスの認識、セッ

トアップ・ホールドのタイミング・がされたクリティカル・パスやサブ・クリティカル・パスをベリファイするためのコマンド・セットをイニシャル・キャラクタライズに使用

• STEP 6-2-3: AccuCoreの実行、STAの実行

• gen_model file.cfgコマンドにより、分割されたデザイン・クラスター、ブロックを解析し、キャラクタライズを実行、STA用ライブラリを作成

Page 43: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

43

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー STEP 6666-2

キャラクタライズキャラクタライズキャラクタライズキャラクタライズ・・・・フローフローフローフロー

• STEP 6-2-4: STAの実行結果を前段階で評価

• ディフォルトのレポートを解析し、TCLファイル、もしくは.cfgファイルに追加す

るレポートを出力させるコマンドを追加

• STEP 6-2-5: ユーザー・リクエストのレポートを調査

• verify_checksコマンドを用いてラッチの入力と、デザインのプライマリ出

力ピンに対してのタイミング制約を調査

• ネガティブ・マージンはタイミング違反を示しています

Page 44: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

44

スタティック・タイミング解析実行後のレポート

� デザイン上の最長・最短パスをレポート� クロック・パスまたはデータ・パスを含むタイミング・チェック・レポー

ト� パスを基準としたネット・スラックもしくはゲート・ピン・スラック・レポ

ート� デザイン・ネット上のワースト・ケースでの立ち上がり/立ち下がりア

ライヴァル・タイムをレポート

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー 解析後解析後解析後解析後ののののレポートレポートレポートレポート

Page 45: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

45

Spiceデッキ生成� クリティカル・パスのSpiceデッキ生成� クロック・ツリーのSpiceデッキ生成

AccuCore デザインデザインデザインデザイン・・・・フローフローフローフロー Spiceデッキデッキデッキデッキ生成生成生成生成

Page 46: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

46

• シグナル・インテグリティ (SI)のサポート強化

� ノイズ・キャラクタライズ用Cadence社 ECSM フォーマットファイル

• ノイズおよびIRドロップの解析が可能

• Cadence社 SignalStormTM / CeltIcTM に対応

� ノイズ・キャラクタライズ用Synopsys社 CCS フォーマットファイル

• ノイズおよびIRドロップの解析が可能

• Synopsys社 Liberty フォーマットのノイズ・モデル

• Synopsys社 Galaxy SITM / PrimeTime SITM に対応

AccuCell and AccuCore ロードロードロードロード・・・・マップマップマップマップ

Page 47: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

47

• パフォーマンス強化

� Firebird データベースを統合し、インクリメンタル・キャラクタライゼーショ

ンの実行

� Sun Microsystems の提唱する Grid エンジンを採用

� 並列処理が可能な、マルチ・スレッド実行

• 外部SPICE

� 外部SPICEエンジンとしてSpectreを追加

AccuCell / AccuCore ロードロードロードロード・・・・マップマップマップマップ

Page 48: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

48

• Real-Time Remixは、トークンおよびタイム・ベース(年間,月間などの時間単位)のフレキシブルな革命的な新ライセンス・ソリューション

• 全てのシングルスレッド製品およびマルチスレッド製品それぞれに必要な トークン数が決まっており、IC 設計チームは、所有するトークンの合計数の範囲内で自由にSimucad製品を組み合わせて使用可能

• ワイド・エリア・ネットワーク(WAN)でつながれた世界中のすべての設計オフィス間で共同使用可能

• すでに購入済みの、あるいは、将来追加した従来の永久ライセンスや期間限定ライセンスは、Real-Time Remix と併用可能

• Linux 32、Linux 64、Solaris 32、Solaris 64、およびWindowsなどマルチ・プラットフォーム対応ライセンスです

• EDA トークンの年間固定費には、保守料金(技術サポートおよびバージョンアップ)が含まれています

トークントークントークントークン・・・・ライセンスライセンスライセンスライセンス

Page 49: AccuCore によるトランジスタ」レベルのスタティック ...Power Calc Function of Capability Characterize Characterize Partitioning STA Supported Format.lib (SPDM) .lib

49

• 製品別およびユーザ別の使用ピークを示すヒストグラム表示や、データベースのエクスポート等の機能を装備したライセンス管理ツールを提供

• 設計チームの規模拡大に応じて、必要な期間のみ、トークンを追加購入することができます

トークントークントークントークン・・・・ライセンスライセンスライセンスライセンス