ツールを使い倒せ!公開版 : (use the tool to defeat it! : public version)

34
ツールを 使い倒せ! この資料は、 とあるツールのユーザ会でお話した内容から、 とあるツールの情報を削除したものです。

Upload: mr-vengineer

Post on 16-Apr-2017

569 views

Category:

Devices & Hardware


6 download

TRANSCRIPT

Page 1: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

ツールを使い倒せ!

この資料は、とあるツールのユーザ会でお話した内容から、とあるツールの情報を削除したものです。

Page 2: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

Vengineer DEATH

無限ゲームのなか

今日はよろしくお願いします。

野暮なことは聞かないでくださいね

@Vengineer に居ます

Page 3: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

この資料は、Chromebook C300MA上で

Google Slide にて作成しました

Page 4: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

本題に、入る前に検証エンジニアのお仕事って何?

Page 5: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

検証エンジニアのお仕事

・検証プラン(Verification Plan)を作成する・検証戦略を決める(何をどこに使うか?)・検証項目を決める・検証シナリオを決める

・ESLでS/W事前確認用モデルを作成する・ES評価用のS/W (ファームウェアやデバイスドライバ等)を開発する

・検証環境を構築する・検証モデルを開発する・機能カバレッジモデルを作成する・自動的にシミュレーションができる環境を 構築し、運用する・シミュレータ、アクセラレータ、 エミュレータ、FPGAプロトタイピング環境を 構築する・FPGA等を用いて、プロトタイプモデルを作成する

・設計チームとのコミュニケーション ・上司とのコミュニケーション・チームメンバーとのコミュニケーション・チームメンバーのOJT

・検証シナリオをSystemVerilogなどの言語で実装する・検証シナリオをシミュレーションにて確認する

・新技術の調査や評価を行う

Page 6: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

Hopデジタル回路検証のお仕事

Page 7: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

このくらいのことはやりたいですね

▧ 検証プラン(Verification Plan)を作成する▧ 検証戦略を決める(何をどこに使うか?)▧ 検証項目を決める▧ 検証環境を構築する▧ 検証モデルを開発する▧ 機能カバレッジモデルを作成する▧ 検証シナリオをSystemVerilogなどの言語で実装する▧ 検証シナリオをシミュレーションにて確認する▧ 自動的にシミュレーションができる環境を構築し、運用する▧ シミュレータ、アクセラレータ、エミュレータ、FPGAプロトタイピング

環境を構築する▧ FPGA等を用いて、プロトタイプモデルを作成する

Page 8: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

Stepソフトウェアも必要だよね

Page 9: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

ソフトウェアが無いと動かないですよね

▧ ESLでソフトウェア事前確認用モデルを作成する

▧ ES評価用のソフトウェア  (ファームウェアやデバイスドライバ等)を開発する

作成するソフトウェアは、製品レベルの品質までには達しないものの、ASIC/SoCの機能を確認するには十分なものにすべきですね

また、バーチャルの世界で開発したソフトウェアをES評価用にそのまま適応できれば、お得ですよね!

Page 10: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

Jumpいろいろやってみよう!

Page 11: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

先のことを考えるのは重要ですよね

▧ 新しい技術の調査や評価を行う

 1)、Google君に聞いてみよう   これである程度は知ることができますね  2)、ショーやセミナーでデモを見たり、   担当エンジニアと話をしてみよう   Google君が知らないことが聞けるかも?

 3)、ツールを評価し、どんなものかを確認しよう   やっぱり、自分で経験するのが一番です

Page 12: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

Thenコミュ力は、もっと大切

Page 13: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

組織では「コミュ力」大切ですよ

組織で活動するには、

▧ 設計チームとのコミュニケーション

▧ 上司とのコミュニケーション

▧ チームメンバーとのコミュニケーション

  エンジニアだから、コミュ力、要らないって、ダメですよ

▧ チームメンバーのOJT

後輩だけでなく、チームメンバーにも必要です  時には、上司にも

Page 14: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

HW/SW Verification

SystemVerilogのDPI-Cを使えば、

検証にソフトウェアを導入できるんです

Page 15: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

SystemVerilog関連本

https://www.synopsys.com/SystemVerilog/books/books.html

設計(訳) VMM(訳) アサーション(訳) 検証バイブル 規格書

検証 アサーション VMM リファレンスアサーション

Page 16: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

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

Page 17: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

唯一のSystemVerilog DPI-C関連本2008年

アマゾンではもう売っていません

CQ出版社のWebで買えます

http://shop.cqpub.co.jp/detail/596/

消費税8%込み 3672円

第5部 SystemVerilogモデリング 編を見てね

Page 18: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

SystemVerilog「設計」スタートアップ

第1部 SystemVerilogイントロダクション 編第2部 SystemVerilog構文 編

ここからは、設計ではなく、検証です

第3部 SystemVerilogアサーション 編第4部 SystemVerilogシミュレーション演習 編第5部 SystemVerilogモデリング 編第6部 Verification Methodology Manual(VMM)活用 編

Page 19: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

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年

Page 20: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

運良く、まだサイト残っていますhttp://www.eda-express.com/verify2011/

Software Driven VerificationテストプログラムはC言語で! SystemVerilog DPI-Cを使えば、こんなに便利に!

PDF、まだ、ダウンロードできます

Verify20112011年

Page 21: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

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年

Page 22: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

一般的なSoCの内部構成

CPUs

InterconnectDRAM

User Logic

GPU

I/Os

Page 23: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

ソフトウェア的には

OS

Hardware (SoC/User Logic)

Device Driver

Application

Page 24: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

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

Page 25: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

QEMUでソフトウェアの早期開発

OS

Linux

x86 PC

Device Driver

Application

QEMU

Page 26: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

QEMU+HDL Simulator

HDL Simulator

User LogicOS

Linux

x86 PC

Device Driver

Application

QEMU

Page 27: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

SystmVerilog DPI-Cで繋げる

BFM

User Logic

OS

Device Driver

Application

QEMU DPI-C

HDL Simulator

Page 28: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

SoC開発でHW/SW Verificationは?

BFM

InterconnectDRAM

GPU

I/OsUser Logic

DPI-CQEMU

OS

ApplicationD/D

Page 29: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

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で実現していますね。

Page 30: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

そろそろ、お時間なので

Page 31: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

バランス大切

やるべきこと

やれること

やりたいこと

Page 32: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

やれること

継続的な学習を

やるべきこと

やりたいこと

Page 33: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

ツールを使い倒せそうですか?

Page 34: ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)

おまけ

「成果をあげることは一つの習慣である。習慣的な能力の集積である。習慣的な能力は修得に努めることが必要である」by P.Fドラッカー

成果をあげる5つの習慣

  1.  時間をマネジメントする  2. 貢献に焦点を合わせる  3. 強みを生かす  4. 重要なことに集中する  5. 効果的な意思決定を行う

http://drucker.wizbiz.me/column/archive/column002_17.html