ツールを使い倒せ!公開版 : (use the tool to defeat it! : public version)
TRANSCRIPT
ツールを使い倒せ!
この資料は、とあるツールのユーザ会でお話した内容から、とあるツールの情報を削除したものです。
Vengineer DEATH
無限ゲームのなか
今日はよろしくお願いします。
野暮なことは聞かないでくださいね
@Vengineer に居ます
この資料は、Chromebook C300MA上で
Google Slide にて作成しました
本題に、入る前に検証エンジニアのお仕事って何?
検証エンジニアのお仕事
・検証プラン(Verification Plan)を作成する・検証戦略を決める(何をどこに使うか?)・検証項目を決める・検証シナリオを決める
・ESLでS/W事前確認用モデルを作成する・ES評価用のS/W (ファームウェアやデバイスドライバ等)を開発する
・検証環境を構築する・検証モデルを開発する・機能カバレッジモデルを作成する・自動的にシミュレーションができる環境を 構築し、運用する・シミュレータ、アクセラレータ、 エミュレータ、FPGAプロトタイピング環境を 構築する・FPGA等を用いて、プロトタイプモデルを作成する
・設計チームとのコミュニケーション ・上司とのコミュニケーション・チームメンバーとのコミュニケーション・チームメンバーのOJT
・検証シナリオをSystemVerilogなどの言語で実装する・検証シナリオをシミュレーションにて確認する
・新技術の調査や評価を行う
Hopデジタル回路検証のお仕事
このくらいのことはやりたいですね
▧ 検証プラン(Verification Plan)を作成する▧ 検証戦略を決める(何をどこに使うか?)▧ 検証項目を決める▧ 検証環境を構築する▧ 検証モデルを開発する▧ 機能カバレッジモデルを作成する▧ 検証シナリオをSystemVerilogなどの言語で実装する▧ 検証シナリオをシミュレーションにて確認する▧ 自動的にシミュレーションができる環境を構築し、運用する▧ シミュレータ、アクセラレータ、エミュレータ、FPGAプロトタイピング
環境を構築する▧ FPGA等を用いて、プロトタイプモデルを作成する
Stepソフトウェアも必要だよね
ソフトウェアが無いと動かないですよね
▧ ESLでソフトウェア事前確認用モデルを作成する
▧ ES評価用のソフトウェア (ファームウェアやデバイスドライバ等)を開発する
作成するソフトウェアは、製品レベルの品質までには達しないものの、ASIC/SoCの機能を確認するには十分なものにすべきですね
また、バーチャルの世界で開発したソフトウェアをES評価用にそのまま適応できれば、お得ですよね!
Jumpいろいろやってみよう!
先のことを考えるのは重要ですよね
▧ 新しい技術の調査や評価を行う
1)、Google君に聞いてみよう これである程度は知ることができますね 2)、ショーやセミナーでデモを見たり、 担当エンジニアと話をしてみよう Google君が知らないことが聞けるかも?
3)、ツールを評価し、どんなものかを確認しよう やっぱり、自分で経験するのが一番です
Thenコミュ力は、もっと大切
組織では「コミュ力」大切ですよ
組織で活動するには、
▧ 設計チームとのコミュニケーション
▧ 上司とのコミュニケーション
▧ チームメンバーとのコミュニケーション
エンジニアだから、コミュ力、要らないって、ダメですよ
▧ チームメンバーのOJT
後輩だけでなく、チームメンバーにも必要です 時には、上司にも
HW/SW Verification
SystemVerilogのDPI-Cを使えば、
検証にソフトウェアを導入できるんです
SystemVerilog関連本
https://www.synopsys.com/SystemVerilog/books/books.html
設計(訳) VMM(訳) アサーション(訳) 検証バイブル 規格書
検証 アサーション VMM リファレンスアサーション
SystemVerilog関連本
アマゾンで扱っているもの設計・Digital Integrated Circuit Design Using Verilog and Systemverilog・Finite State Machines in Hardware: Theory and Design (with VHDL and SystemVerilog)
検証・SystemVerilog for Verification: A Guide to Learning the Testbench Language Features・SystemVerilog Assertions and Functional Coverage: Guide to Language, Methodology and Applications・The UVM Primer ・Getting Started with UVM: A Beginner's Guide ・Advanced UVM
唯一のSystemVerilog DPI-C関連本2008年
アマゾンではもう売っていません
CQ出版社のWebで買えます
http://shop.cqpub.co.jp/detail/596/
消費税8%込み 3672円
第5部 SystemVerilogモデリング 編を見てね
SystemVerilog「設計」スタートアップ
第1部 SystemVerilogイントロダクション 編第2部 SystemVerilog構文 編
ここからは、設計ではなく、検証です
第3部 SystemVerilogアサーション 編第4部 SystemVerilogシミュレーション演習 編第5部 SystemVerilogモデリング 編第6部 Verification Methodology Manual(VMM)活用 編
http://www.kumikomi.net/archives/2009/12/_1systemverilogdpi-c.php
第1回 SystemVerilogのDPI-C機能第2回 テスト・プログラムはC言語で書く第3回 Avalonインターフェースと検証用モデル第4回 SystemVerilog側のDPI-Cの記述を作成する第5回 テスト・プログラムの作成とBFMのコードの生成第6回 協調シミュレーションを実行する第7回 DMAの割り込み機能を確かめられるようにする第8回 シミュレータやコンパイラの入手方法
無償ツールで実践する「ハード・ソフト協調検証」
2009年
運良く、まだサイト残っていますhttp://www.eda-express.com/verify2011/
Software Driven VerificationテストプログラムはC言語で! SystemVerilog DPI-Cを使えば、こんなに便利に!
PDF、まだ、ダウンロードできます
Verify20112011年
http://www.dsforum.jp/2014/timetable_veri.html#b1
Software Driven Verificationへの道
ソフトウェアを使ってデザインを検証する手法をSoftware Driven Verificationと私は呼んでいます。Software Driven Verificationは、ブロック検証からシステム検証まで幅広い範囲で利用できます。本講演では、私が25年前に検証を始めてから、どのような経緯でSoftware Driven Verificationにたどり着いたのか? どのようなやり方で、どんなことをやってきたの
かをご紹介致します。
Design Solution Forum 20142014年
一般的なSoCの内部構成
CPUs
InterconnectDRAM
User Logic
GPU
I/Os
ソフトウェア的には
OS
Hardware (SoC/User Logic)
Device Driver
Application
QEMU
http://wiki.qemu.org/Main_Page
QEMU is a generic and open source machine emulator and virtualizer.
XilinxのZynqでもQEMUは大活躍Zynq Ultrascale+ MPSoCでも利用
ZynqMPのブートとパワーマネージメント http://www.slideshare.net/ssuser479fa3/zynq-mp-58490589
QEMUでソフトウェアの早期開発
OS
Linux
x86 PC
Device Driver
Application
QEMU
QEMU+HDL Simulator
HDL Simulator
User LogicOS
Linux
x86 PC
Device Driver
Application
QEMU
SystmVerilog DPI-Cで繋げる
BFM
User Logic
OS
Device Driver
Application
QEMU DPI-C
HDL Simulator
SoC開発でHW/SW Verificationは?
BFM
InterconnectDRAM
GPU
I/OsUser Logic
DPI-CQEMU
OS
ApplicationD/D
FSS - FUll System Simulation
https://github.com/reds-heig/FSS
FSS is a system, developed at the REDS Institute, that interfaces QEMU with
ModelSim/QuestaSim, two standard multi-language HDL simulation environments by
Mentor Graphics.VHDL + FLIで実現していますね。
そろそろ、お時間なので
バランス大切
やるべきこと
やれること
やりたいこと
やれること
継続的な学習を
やるべきこと
やりたいこと
ツールを使い倒せそうですか?
おまけ
「成果をあげることは一つの習慣である。習慣的な能力の集積である。習慣的な能力は修得に努めることが必要である」by P.Fドラッカー
成果をあげる5つの習慣
1. 時間をマネジメントする 2. 貢献に焦点を合わせる 3. 強みを生かす 4. 重要なことに集中する 5. 効果的な意思決定を行う
http://drucker.wizbiz.me/column/archive/column002_17.html