Enviar pesquisa
Carregar
SystemC Verification Methodology
•
2 gostaram
•
3,060 visualizações
K
kocha2012
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 32
Recomendados
Diff systemverilogc
Diff systemverilogc
Tomoya Yashiki
プログラマーのためのテスト手法
プログラマーのためのテスト手法
myukidi
SystemC Tutorial
SystemC Tutorial
kocha2012
Design Verification Using SystemC
Design Verification Using SystemC
DVClub
SystemC
SystemC
Saber Ferjani
Hardware Software Codesign
Hardware Software Codesign
destruck
System on Chip (SoC)
System on Chip (SoC)
Dimas Ruliandi
SoC - System on Chip
SoC - System on Chip
Satya Harish
Recomendados
Diff systemverilogc
Diff systemverilogc
Tomoya Yashiki
プログラマーのためのテスト手法
プログラマーのためのテスト手法
myukidi
SystemC Tutorial
SystemC Tutorial
kocha2012
Design Verification Using SystemC
Design Verification Using SystemC
DVClub
SystemC
SystemC
Saber Ferjani
Hardware Software Codesign
Hardware Software Codesign
destruck
System on Chip (SoC)
System on Chip (SoC)
Dimas Ruliandi
SoC - System on Chip
SoC - System on Chip
Satya Harish
A practical introduction to hardware software codesign 2e
A practical introduction to hardware software codesign 2e
Springer
System-on-Chip
System-on-Chip
Lars Jacobs
Soc architecture and design
Soc architecture and design
Satya Harish
Snapdragon SoC and ARMv7 Architecture
Snapdragon SoC and ARMv7 Architecture
Santosh Verma
SoC: System On Chip
SoC: System On Chip
Santosh Verma
System On Chip
System On Chip
anishgoel
Design of embedded systems
Design of embedded systems
Pradeep Kumar TS
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
Koji Hasegawa
IT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティング
Kazuki Takai
テスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオン
yuichi_kuwahara
テスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオン
yuichi_kuwahara
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
テストを分類してみよう!
テストを分類してみよう!
Kenji Okumura
自動テストのすすめ
自動テストのすすめ
Katsunori Kanda
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
Kiyoshi Ogawa
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
Satoshi Watanabe
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
Kotaro Ogino
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
Akira Inoue
ソフトウェア工学2023 04 開発プロセスモデル
ソフトウェア工学2023 04 開発プロセスモデル
Toru Tamaki
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
Yoshihisa Ozaki
Example of exiting legacy system
Example of exiting legacy system
TakamchiTanaka
継続的デリバリー読書会 第 5 章 デプロイメントパイプラインの解剖学
継続的デリバリー読書会 第 5 章 デプロイメントパイプラインの解剖学
Takuma SHIRAISHI
Mais conteúdo relacionado
Destaque
A practical introduction to hardware software codesign 2e
A practical introduction to hardware software codesign 2e
Springer
System-on-Chip
System-on-Chip
Lars Jacobs
Soc architecture and design
Soc architecture and design
Satya Harish
Snapdragon SoC and ARMv7 Architecture
Snapdragon SoC and ARMv7 Architecture
Santosh Verma
SoC: System On Chip
SoC: System On Chip
Santosh Verma
System On Chip
System On Chip
anishgoel
Design of embedded systems
Design of embedded systems
Pradeep Kumar TS
Destaque
(7)
A practical introduction to hardware software codesign 2e
A practical introduction to hardware software codesign 2e
System-on-Chip
System-on-Chip
Soc architecture and design
Soc architecture and design
Snapdragon SoC and ARMv7 Architecture
Snapdragon SoC and ARMv7 Architecture
SoC: System On Chip
SoC: System On Chip
System On Chip
System On Chip
Design of embedded systems
Design of embedded systems
Semelhante a SystemC Verification Methodology
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
Koji Hasegawa
IT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティング
Kazuki Takai
テスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオン
yuichi_kuwahara
テスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオン
yuichi_kuwahara
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
テストを分類してみよう!
テストを分類してみよう!
Kenji Okumura
自動テストのすすめ
自動テストのすすめ
Katsunori Kanda
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
Kiyoshi Ogawa
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
Satoshi Watanabe
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
Kotaro Ogino
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
Akira Inoue
ソフトウェア工学2023 04 開発プロセスモデル
ソフトウェア工学2023 04 開発プロセスモデル
Toru Tamaki
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
Yoshihisa Ozaki
Example of exiting legacy system
Example of exiting legacy system
TakamchiTanaka
継続的デリバリー読書会 第 5 章 デプロイメントパイプラインの解剖学
継続的デリバリー読書会 第 5 章 デプロイメントパイプラインの解剖学
Takuma SHIRAISHI
Firefoxの開発プロセス
Firefoxの開発プロセス
Makoto Kato
Istqb : Test automation Engineer
Istqb : Test automation Engineer
Sadaaki Emura
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
Hiro Yoshioka
PHPフレームワーク入門
PHPフレームワーク入門
Sho A
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
Ryutaro YOSHIBA
Semelhante a SystemC Verification Methodology
(20)
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
IT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティング
テスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオン
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
テストを分類してみよう!
テストを分類してみよう!
自動テストのすすめ
自動テストのすすめ
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
ソフトウェア工学2023 04 開発プロセスモデル
ソフトウェア工学2023 04 開発プロセスモデル
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
Example of exiting legacy system
Example of exiting legacy system
継続的デリバリー読書会 第 5 章 デプロイメントパイプラインの解剖学
継続的デリバリー読書会 第 5 章 デプロイメントパイプラインの解剖学
Firefoxの開発プロセス
Firefoxの開発プロセス
Istqb : Test automation Engineer
Istqb : Test automation Engineer
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
PHPフレームワーク入門
PHPフレームワーク入門
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
Último
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Último
(12)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
SystemC Verification Methodology
1.
SystemCVerification Methodology @LSI設計雑記帳 2013/6/21 - SystemC
Japan 2013
2.
SystemC/TLM • SystemCモデル • サイクルベース •
高位合成を対象 • TLMモデル • トランザクションベース • ソフトウェア開発環境を対象
3.
SystemCモデル検証 • 課題はありますか?
4.
SystemCモデル検証 • いいえ。ありません!(キリッ
5.
_人人人人人人_ >そんなバカな!<  ̄Y^Y^Y^Y^Y ̄
6.
SystemCモデル設計 • C/C++のアルゴリズムが存在 機能(処理)を流用してモデリング • RTLスタイル(RTL→SystemC) ※PSYスタイルではありません •
コード上にデバッグコードを書かない
7.
SystemCモデル検証 • 検証環境の構築は? • アルゴリズム環境を流用 •
RTL検証手法を適用 • 等価性検証は? • 静的:SLEC, HECTOR • 動的:SystemC-RTLシミュレーション
8.
RTL検証手法 • ダイナミック • ランダム •
アサーション • カバレッジ • フォーマル • UVM/OVM/VMM • エミュレーション • FPGAボード
9.
SystemC検証への適用 • ダイナミック • ランダム •
アサーション • カバレッジ • フォーマル • UVM/OVM/VMM • エミュレーション • FPGAボード 有償シミュレータであれば 三角マークは解消!
10.
ランダム生成(SCV) • ランダム分布指定 • 重み付けランダム •
値そのもの/値の範囲 • 制約付きランダム http://lsifrontend.blog100.fc2.com/blog-category-27.html
11.
項目 ツール or
手法 コメント アサーション PSL ほどほど カバレッジ JEDA/gcov ほどほど フォーマル SLEC/HECTOR ほどほど UVM/e Co-Simulation 敷居高い SystemCモデル検証
12.
とある実験結果
13.
• SystemCモデル作成 • SystemCモデル検証 •
高位合成 • RTLシミュレーション • カバレッジ結果(Line) SystemC→高位合成
14.
• SystemCモデル作成 • SystemCモデル検証 •
高位合成 • RTLシミュレーション • カバレッジ結果(Line) SystemC→高位合成 100% 99%
15.
SystemC検証環境は 重要!!!
16.
• アルゴリズムの機能保証 • SystemCモデルの品質確保 •
高位合成後のRTL品質に直結 • RTLシミュレーションへの移植性 • Interface合成などSystemCモデルに無い
17.
EDAベンダーが いつかはやる・・・
18.
でも、趣味で やってみっか!
19.
SystemCVerification Methodology
20.
項目 ライブラリ リリース予定 アサーション
svm_ovl 2013/11 カバレッジ svm_cover_xxx 201x/xx/xx フォーマル ー むりぽー UVM/e svm_xxx 2013/12 作ります。
21.
assertion:svm_ovl • OVL(OpenVerication Libraryベース) •
基本Cycleベース(clock→event) • 独自な部分はこれから検討
22.
coverage:svm_coverx http://www.design-reuse.com/ articles/26688/coverage-driven- verification-to-improve-the-quality- of-ip.html Unified Coverage Interoperability Standard (UCIS)
23.
platform:svm_xxx • svm_env/agent/driver/monitor/scoreboad • svm_sequence/_item/sequencer •
svm_test/factory/register
24.
作る上で・・・
25.
SystemC難しい><
26.
こんなの作りながら 悩んでます。
27.
全階層信号波形取得 • svm_waves(char* tf,
sc_module top); #include “svm.h” int sc_main( int argc, char* argv[] ) { top utop("utop"); svm_waves(“systemc”, utop); sc_start(); return 0; } 全階層がVCD形式で出力 ・sc_in/out/inout ・sc_signal ※標準SystemCでは無理です
28.
get_child_object() inline svm_waves::svm_waves(const char*
tf_name, const sc_module& m_top){ create( tf_name ); std::vector<sc_object*> children = m_top.get_child_objects(); svm_trace(tf, children); } void svm_waves::svm_trace(sc_trace_file *tf, std::vector<sc_object*>& children){ for (std::vector<sc_object*>::iterator i = children.begin(); i != children.end(); i++){ if ( std::string((*i)->kind())=="sc_module" ) { sc_module* mptr = dynamic_cast<sc_module*>(*i); std::vector<sc_object*> r_children = mptr->get_child_objects(); svm_trace(tf, r_children); }else if(std::string((*i)->kind()) == "sc_in" || std::string((*i)->kind()) == "sc_out" || std::string((*i)->kind()) == "sc_inout" || std::string((*i)->kind()) == "sc_signal"){ (*i)->trace(tf); } } }
29.
pre/post_random() struct packet :
public svm_sequence_item { svm_rand<int> a; svm_rand<double> b; svm_rand<sc_int<8> > c; packet() { svm_sequence_item::regist(&a); svm_sequence_item::regist(&b); svm_sequence_item::regist(&c); a.keep_only(-30, 30); b.keep_only(-10, 20); c.keep_only(30); } void post_randmize() { a -= 10000; } }; int sc_main( int argc, char* argv[] ) { packet data_p; for (int i=0; i<20; i++) { data_p.randmize(); : } return 0; } # a = -9987, b = 10.016675, c = 30 # a = -9971, b = -4.749229, c = 30 # a = -10008, b = -4.446328, c = 30 # a = -10004, b = 10.039535, c = 30 :
30.
接続元の信号名取得 DUT assertion module _人人人人_ > Assert!<  ̄Y^Y^Y^Y ̄ 表示メッセージは緑部分の信号名で表示したい
31.
こんな感じです。 先は長そう・・・
32.
おわり