160 likes | 285 Views
SynaptiCAD Product Overview. SynaptiCAD の提供する HDL 設計フロー. DUT の用意 TestBencher Pro で TB 設計 VeriLogger Extream /ModelSim 等 でシミュレーション Transaction Tracker へ シミュレーション波形をエクスポートして PSL 評価 タイミングチャートの作成、編集、管理. TestBencher. 信号の複雑な「ヤリトリ」を持つ DUT に対するテストベンチを自動生成 BFM ( Bus Functional Model) として. BFM.
E N D
SynaptiCADの提供するHDL設計フロー • DUTの用意 • TestBencher Pro でTB設計 • VeriLogger Extream/ModelSim等 でシミュレーション • Transaction Tracker へシミュレーション波形をエクスポートしてPSL評価 • タイミングチャートの作成、編集、管理
TestBencher 信号の複雑な「ヤリトリ」を持つDUTに対するテストベンチを自動生成 BFM(Bus Functional Model)として
BFM • DUTとTBの「ヤリトリ」をバス・トランザクション要素とその駆動シーケンスに「分解」 • BFM = トランザクション+駆動シーケンス
トランザクション • 各トランザクションは 波形タイミングモデルとして記述=> *.btim ファイル • TestBencher ProWaveFormer ProDataSheet Proで編集 • addr、dataのパラメタライズ
再利用可能な波形によるバス・トランザクションを作成再利用可能な波形によるバス・トランザクションを作成 • パラメータ化したステート • 変数を使用したタイミング値 • ドライブ信号と期待値信号とをカラー表示で区別 • サンプル値に対するif~then~elseの検証
駆動シーケンス • 定義した「パラメタライズド」トランザクションを駆動するシーケンスプログラムを「擬似コード」で記述=>テストベンチ・スクリプト *.bch • 観測、照合の記述も含む
トップレベル・モジュールにおいて、トランザクションのシーケンスを定義トップレベル・モジュールにおいて、トランザクションのシーケンスを定義 • トランザクションのコール • Apply_tbread(…)など • トップレベルにおけるさまざまなプロセルの定義 • for loopなど
テストベンチ生成(HDL) MUT( HDL~*.vhd/*.v )+トランザクション(*.tim)+テストベンチ・スクリプト(*.bch) =>テストベンチ(HDL~*.vhd/*.v)
必要なら • 生成されたHDLテストベンチに 観測の追加を必要に応じて行う • Verilogなら $dumpvars、$display など
TestBencher Pro の利点 • 複雑なトランザクションを視覚的に 編集し維持管理できる~HDLでの管理に比べて優位 • 「擬似コード」で自由なシーケンスを 容易に生成できる~ 少量のコードでの色々なテストが可能 • 結果照合や分岐シーケンスが組めて テストの自動化が可能
Verilogger Extreamでシミュレーション High-performance compiled-code Verilog 2001 simulator
Transaction Trackerの使用 • シミュレーション波形をインポート • アサーション/プロパティを信号に付加 • アサーション/プロパティを自動評価 • True/False波形として評価を表示
Transaction Tracker True緑/False赤 として評価を表示 PSL/Sugar 言語で式を入力
タイミングチャートの作成、編集、管理 • 非常に直感的な操作による波形作成 • インタラクティブ・シミュレーション機能 • 種々の波形フォーマットのインポート( VCD、Agilent社、Tektronix社のツール… )エクスポート(VHDL、Verilog、Agilent社、Tektronix社のツール…)TestBencher ProWaveFormer ProDataSheet Pro ,etc
多くの波形生成、編集方法 インタラクティブシミュレーション 時間式による波形の生成 Delay,Setup,Holdパラメータによるタイミング解析