43
© Copyright 2007 JEITA, All rights reserved 1 SystemC Japan 2007 SystemCの新動向とJEITA SystemC Working Groupの動 SystemC Japan 2007 2007年73日 大阪 2007年75日 新横 JEITA EDA技術専門委員会 SystemC Working Group

SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 1SystemC Japan 2007

SystemCの最新動向とJEITASystemC Working Groupの活動

SystemC Japan 2007

2007年7月3日 大阪

2007年7月5日 新横浜

JEITA EDA技術専門委員会

SystemC Working Group

Page 2: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 2SystemC Japan 2007

目次

� JEITA SystemC Working Groupについて

� TLM動向調査

� TLM標準化活動

� SystemC Synthesizable Subset レビュー

� SystemC 動作合成スタイルガイド構成要件

� まとめ

Page 3: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 3SystemC Japan 2007

SystemCの標準化の階層

Std.1666-2005 SystemC コア言語定義

OSCI

ユーザ

C++ 言語標準ANSI

IEEE

OSCI資料(2007)に加筆

基本言語基本言語基本言語基本言語 Modules, Ports, Events, Interfaces, Channels, Processes,…

データタイプデータタイプデータタイプデータタイプ Logic Type (01XZ), Logic/ Bit Vectors, Arbitrary Precision Integers, .

基本基本基本基本チャネルチャネルチャネルチャネル Signal, Timer, Mutex, Semaphore, FIFO, etc.

TLM 2.0 – 相互運用相互運用相互運用相互運用レイヤレイヤレイヤレイヤ

ユーザユーザユーザユーザレイヤレイヤレイヤレイヤ

TLM 1.0 – 共通転送機構共通転送機構共通転送機構共通転送機構

合成合成合成合成サブセットサブセットサブセットサブセット

SCV 標準標準標準標準1.0

将来将来将来将来ははははIEEE移管予定移管予定移管予定移管予定

Page 4: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 4SystemC Japan 2007

SystemC Working Groupの活動内容

� SystemC標準化活動� OSCIよりTLM 2.xや合成サブセットのIEEE移管が予定されて

おり、事前レビューの実施とIEEE標準化作業に参加する

� STARCとも連携し、国内での標準化要望をIEEE等に伝える

� SystemC技術調査� 今後TLMからの動作合成技術が進むと予想されており、標準

化すべき項目について技術調査、検討を行う

� SystemC普及活動� 動作合成スタイルガイド構成要件に従ったスタイルガイドが作

成されるよう業界に働きかける

� SystemCユーザ・フォーラムやEDA-TCのWEBを活用して、積極的に情報発信を行う

Page 5: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 5SystemC Japan 2007

� 2005年度以降の体制

� これまでの歩み 2003 2004 2005 2006 2007

� SystemCユーザ・フォーラム

� SystemC動向調査

� OSCI LRMレビュー

� IEEE P1666 WG 標準化活動

� SystemC 2.1調査

� SystemC-SystemVerilog共通辞書

� 合成サブセットレビュー

� 動作合成スタイルガイド構成要件

� TLM標準化

SystemC Working Groupの体制と歩み

SystemC Working Group

TLMサブグループサブグループサブグループサブグループ

合成合成合成合成サブグループサブグループサブグループサブグループ

Page 6: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 6SystemC Japan 2007

目次

� JEITA SystemC Working Groupについて

� TLM動向調査

� TLM標準化活動

� SystemC Synthesizable Subset レビュー

� SystemC 動作合成スタイルガイド構成要件

� まとめ

Page 7: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 7SystemC Japan 2007

PORTPORT

PIN

PIN

PIN

PIN

PIN

PIN

PIN

PIN

PIN

PIN

PIN

PIN

PORTPORT

PORTPORT

IDLE WA RAWD RDIDLE IDLEWAIT

WRTIE READIDLE IDLE IDLE

HW検証検証検証検証

HW/SW分割分割分割分割、、、、

性能見積性能見積性能見積性能見積りりりり

HW/SW

協調協調協調協調検証検証検証検証

システムシステムシステムシステム全体全体全体全体機能検証機能検証機能検証機能検証

10KHz

100KHz

1MHz

1KHz

100Hz

10MHz

低低 低低抽

象度

抽象

度抽

象度

抽象

度高高 高高

高高 高高タ

イミ

ング

タイ

ミン

グタ

イミ

ング

タイ

ミン

グ精

度精

度精

度精

度低低 低低

低低 低低シ

ミュ

レー

ショ

ンシ

ミュ

レー

ショ

ンシ

ミュ

レー

ショ

ンシ

ミュ

レー

ショ

ン速

度速

度速

度速

度高高 高高

想定想定想定想定されるされるされるされる使用目的使用目的使用目的使用目的

RTL

Cycle

Accurate

PVT

PV

抽象度抽象度抽象度抽象度IDLE WRITE IDLE READ IDLE

TLMの抽象度定義と想定される使用目的

Page 8: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 8SystemC Japan 2007

国内外各社TLM利用状況調査

� 国内・国外のSystemCユーザーがTLMをどの抽象度(PV、PVT、CA)で何を目的に使用しているかを調査。

� 調査対象� 国内:JEITA SystemC Working Group参加企業

� 国外:ECSI Institute Workshop on Users Experience with TLM, June 8, 2006 -Paris, France

� TLM使用目的の分類� システム全体機能検証

� HW/SW分割、性能見積り

– HW/SW分割、アーキテクチャ検討・生成、性能見積り

� HW検証

– HWモジュールの検証、例えば、RTL、高位合成用記述をTLMテストベンチで検証

� HW/SW協調検証

– HWモデル上でのデバイスドライバ、アプリケーションSWの設計・検証

Page 9: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 9SystemC Japan 2007

想定想定想定想定

CA

PVT

PV

抽象度抽象度抽象度抽象度

国内国内国内国内 国外国外国外国外((((ヨーロッパヨーロッパヨーロッパヨーロッパ))))

●○

●●

シス

テム

シス

テム

シス

テム

シス

テム

全体

全体

全体

全体

機能

検証

機能

検証

機能

検証

機能

検証

HW/SW

協調

協調

協調

協調

検証

検証

検証

検証

HW/SW

分割

分割

分割

分割

、、 、、

性能

見積

性能

見積

性能

見積

性能

見積

りり りり

HW

検証

検証

検証

検証

シス

テム

シス

テム

シス

テム

シス

テム

全体

全体

全体

全体

機能

検証

機能

検証

機能

検証

機能

検証

HW/SW

協調

協調

協調

協調

検証

検証

検証

検証

HW/SW

分割

分割

分割

分割

、、 、、

性能

見積

性能

見積

性能

見積

性能

見積

りり りり

HW

検証

検証

検証

検証

シス

テム

シス

テム

シス

テム

シス

テム

全体

全体

全体

全体

機能

検証

機能

検証

機能

検証

機能

検証

HW/SW

協調

協調

協調

協調

検証

検証

検証

検証

HW/SW

分割

分割

分割

分割

、、 、、

性能

見積

性能

見積

性能

見積

性能

見積

りり りり

HW

検証

検証

検証

検証

●●

●○

●●

●○

○○

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●国内外各社TLM利用状況調査(結果)

使用目的使用目的使用目的使用目的

○○○○::::C/C++使用使用使用使用、、、、●●●●::::SystemC使用使用使用使用国内国内国内国内::::OSCI TLM1.0をそのままをそのままをそのままをそのまま使使使使ったったったったケースケースケースケース無無無無しししし。。。。独自独自独自独自API。。。。

Page 10: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 10SystemC Japan 2007

SystemCユーザ・フォーラム2007アンケート調査結果よ

6666.「.「.「.「5555」」」」でででで「「「「既既既既にににに行行行行っているっているっているっている」」」」またはまたはまたはまたは「「「「検討中検討中検討中検討中」」」」とととと回答回答回答回答されたされたされたされた方方方方へへへへcccc))))設計設計設計設計・・・・検証環境検証環境検証環境検証環境のののの抽象度抽象度抽象度抽象度はははは?(?(?(?(複数回答可複数回答可複数回答可複数回答可))))

その他のアンケート項目については添付の資料編をご参照ください

Page 11: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 11SystemC Japan 2007

国内でのTLM使用に関する現状の課題

� CAレベル主体の低抽象度のTLMの使用� CAモデルはシミュレーション速度が不十分。生産性低い。

� 生産性向上のために、より高抽象度のTLM使用が必要。

� しかし、現状PV、PVTモデル利用のメソドロジの確立が不十分で高抽象度への移行ができていない。

低スピード低流通性高コスト

解決策はPV、PVTのメソドロジの確立、TLM APIの標準化!

� 独自APIの多用� OSCI TLM1.0をそのまま使った例は無し。独自API多数。

� モデルの再利用性への障害。

Page 12: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 12SystemC Japan 2007

TLMメソドロジ成功の鍵

� PV、PVTのメソドロジ確立・普及のために

� 成功(失敗)事例、適用事例などの積極的な情報発信

� ユーザフォーラムの開催

� TLM APIの標準化への寄与

� OSCI TLM2.0調査とフィードバック

� OSCI TLM2.0でPV/PVTのレベルは共有可能になるこ

とを期待。(OSCI TLM1.0では低抽象度トランザクションレベル

の基本I/Fのみ標準化。もっと高抽象度の標準が欲しい。)

Page 13: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 13SystemC Japan 2007

目次

� JEITA SystemC Working Groupについて

� TLM動向調査

� TLM標準化活動

� SystemC Synthesizable Subset レビュー

� SystemC 動作合成スタイルガイド構成要件

� まとめ

Page 14: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 14SystemC Japan 2007

OSCI TLM2.0のスケジュール

• 現在入手可能な資料(OSCIホームページから)– TLM要求仕様: Requirements specification for TLM 2.0

• http://www.systemc.org/projects/tlm/document/TLM2_Requirements.pdf

– White Paper: Transaction Level Modeling using OSCI TLM 2.0• http://www.systemc.org/projects/tlm/document/TLM2_Whitepaper.pdf

– 用語集: TLM 2.0 Glossary• http://www.systemc.org/projects/tlm/document/TLM2_Glossary.pdf

White PaperDraft #2 Release TLM2.1

IEEE

標準へ

Public Review

Draft #1

2008/4~2008/12007/102007/72007/42007/12006/10

Public Review

OSCI

SCWG#1レビュー Paperレビュー #2レビュー IEEEへ

Page 15: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 15SystemC Japan 2007

目次

� JEITA SystemC Working Groupについて

� TLM動向調査

� TLM標準化活動

� SystemC Synthesizable Subset レビュー

� SystemC 動作合成スタイルガイド構成要件

� まとめ

Page 16: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 16SystemC Japan 2007

SystemC Synthesizable Subsetの概要

� OSCI Synthesis WGが策定した合成技術対応のSystemCサブセット� SystemCの言語仕様の中から論理合成及び動作合成ツー

ルがサポートする言語サブセットを定義したもの

� 基本構成� C++のISO規格とSystemC 2.0.1に基づいている

� C++の構文(BNF)で扱い方を規定

� Supported: サポートする

� Extended: 言語を拡張

� Ignored: 無視する

� Not Supported: サポートしない

Page 17: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 17SystemC Japan 2007

SystemCの合成可能な構文

� sc_moduleクラスのモジュール定義および階層記述

� SC_METHODプロセスとSC_CTHREADプロセス

� sc_in, sc_outを用いた入出力とsc_signalの内部信号

� sc_fix, sc_ufix (ビット幅等が可変)を除くSystemCのデータ型

モジュールを表現するための構文が追加された

Page 18: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 18SystemC Japan 2007

C++の使用可能な構文

� wchar_tを除く組み込み整数型とその演算

� 関数の利用

� すべての分岐文とループ文

� ネームスペース� unionを除くクラスの構文

� 関数や演算子のオーバーロード

� テンプレート

� プリプロセッサ

C++の特徴となっているほとんどの構文が利用できる

Page 19: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 19SystemC Japan 2007

C++の使用できない構文

� double/floatの組み込み浮動小数点型

� 文字と文字列のリテラル

� ポインタ� union

� 例外処理(try, catch, throw)

<<OSCIへの提言の一例>>

文字と文字列のリテラルや静的なメモリをアクセスを利用するポインタは、使用可能にすべきである

Page 20: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 20SystemC Japan 2007

SystemC Working Groupの活動

� 合成サブセットをレビューして、合計57件の不具合・改善要望をOSCI へIssue Listとして提出

� 誤記の指摘:8件

� IEEE1666-2005準拠対応の修正要求:11件

� ドキュメントの記載内容についての改善要望:24件

� 技術的な改善要望:14件

� 「Synthesizable Subset」の抄訳を作成

� 重要と思われる部分を抜き出して和訳

� 全てを翻訳したものではない

Page 21: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 21SystemC Japan 2007

Issue List (抜粋)

JEITA ISSUE LIST for “SystemC Synthesizable Subset Draft 1.1.18” (Released on December 23, 2004) Jan. 25, 2007 ↓

JEITA

Issue #

Clause/

Subclaus

Title Type of Comment

(Technical/Editorial

COMMENTS (Justification) Proposed change Resolution 不具合・改善要望の分類

1 1.3 Terminology Technical Missing description of 'no difference

with C++'.

Add explanation of 'no difference with C++'. 記述の改善要望

2 1.3 Terminology Technical Missing description of 'supported but

not recognize'.

Add explanation of 'supported but not recognize'.

Or, map to the other category.

記述の改善要望

48 A Syntaxsummary

Technical Missing 'Ignore'(with underline)description.

Add 'Ignore'(with underline) description. 誤記訂正

49 A.2 Lexicalconventions

Technical All the sc_object should accept the

'string' as a name. In other way,

'string' can be converted to the

constant.

Remove 'struck-through' on 'string'. (Make 'string' usable in

literal.)

技術的改善要望

50 Lexicalconventions

Technical 'string' should be treated as an array

of 'char' type.

Remove 'struck-through' on 'string'. (Make 'string' usable in

literal.)

技術的改善要望

51 A.3 Basic concepts Editorial Missing 'Shadow' for 'sc-main- Add 'Shadow' for 'sc-main-definition'. 誤記訂正52 A.4 Expressions Technical Destructor should be supported. TBD 技術的改善

要望53 A.4 Expressions Technical Member of static memory should be

specified by pointer.

Add : (Make these usable)

  postfix-expression -> [ template ] id-expression

  postfix-expression -> pseudo-destructor-name

技術的改善要望

54 A.5 Statements Technical 'variable-assignment-statement' and

'procedure-call-statement' are not

added in SystemC.

Remove 'Shadow' for 'variable-assignment-statement' and

'procedure-call-statement'.

記述の改善要望

55 A.5 Statements Technical Restrictions for 'switch' statement is

not reasonable. Should be same as

Remove restriction. 技術的改善要望

56 A.6-1 SystemC Type

Specifiers

Technical 'sc_bit' is deprecated in IEEE 1666. Delete 'sc_bit'. IEEE 1666

対応57 A.7 Declarators Technical Declaration of the pointer for static

memory should be supported.

Add : (Make these usable)

  * [ cv-qualifier-seq ]

  [ :: ] [ nested-name-specifier ] * [ cv-qualifier-seq ]

技術的改善要望

誤記訂正 8記述の改善要望 24技術的改善要望 14IEEE 1666対応 11計 57

Page 22: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 22SystemC Japan 2007

合成サブセットの抄訳 (冒頭部分)

Page 23: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 23SystemC Japan 2007

目次

� JEITA SystemC Working Groupについて

� TLM動向調査

� TLM標準化活動

� SystemC Synthesizable Subset レビュー

� SystemC 動作合成スタイルガイド構成要件

� まとめ

Page 24: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 24SystemC Japan 2007

動作合成スタイルガイドの必要性

� 動作合成スタイルガイドの目的� 高位設計技術の活用による生産性向上

� 共通スタイルにより動作合成の性能向上を期待

� 動作合成を使った設計フロー構築を容易にする

� 設計資産の再利用による設計効率向上

� 設計方法や記述スタイルの共通化で設計データの再利用性を高める

� 動作合成スタイルガイド構成要件の目的� 動作合成の利用技術の共通化を目指す

� 動作合成を活用する基本技術を共有化

� ユーザ視点でスタイルガイドに記載する項目を規定

� ベンダ固有のノウハウに依存しない設計データの蓄積

� ツール開発側とユーザー側に基本的な活用スタイルを提案

Page 25: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 25SystemC Japan 2007

スタイルガイドの対象者とスコープ

� ハードウェア設計者で、SystemC初心者及びSystemCユーザで動作合成をこれから始める人が主な対象者

� 動作合成の基本的な機能とその使い方を説明

� SystemCによる高位設計フローの概説と動作合成時の機能検証も解説

� ツールベンダーに非依存で、必要となる基本的な回路構成方法や合成に対する指示および合成結果の検証方法を示す� 動作合成利用時の機能分割の考え方やSystemCでの記述方法を説明

� 動作合成を前提としたテストベンチの作成方法と合成前後の機能検証

方法および手順を説明

Page 26: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 26SystemC Japan 2007

動作合成スタイルガイドの構成

� 導入編マネージャーや動作合成を未経験の設計者に動作合成の仕組みと効果を説明し、動作合成ツールと設計者の役割分担を正しく認識してもらう

� 初級編動作合成を用いた一通りの設計作業ができるレベルまで、SystemC記述の側面から説明する

� 上級編合成サブセットの詳細、再利用性や合成後の性能を向上させる記述スタイル、ツール依存の記述スタイルなどを説明する

既に動作合成を使っている人だけでなく、これから導入を考えている人にも幅広く受け入れられるように、以下の3つのパートで構成している

Page 27: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 27SystemC Japan 2007

動作合成スタイルガイドの章立て

章立ては以下の順および項目であることを推奨

� 導入第1章 概論

第2章 動作合成とは

� 初級編第3章 動作合成のための記述スタイル

第4章 検証環境

� 上級編第5章 SoCへの実装

第6章 RTLとの対応

第7章 上級テクニック

第8章 ベンダ依存

第9章 SystemCの合成サブセット

Page 28: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 28SystemC Japan 2007

動作合成スタイルガイド構成要件(抜粋)

Page 29: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 29SystemC Japan 2007

目次

� JEITA SystemC Working Groupについて

� TLM動向調査

� TLM標準化活動

� SystemC Synthesizable Subset レビュー

� SystemC 動作合成スタイルガイド構成要件

� まとめ

Page 30: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 30SystemC Japan 2007

まとめ

� SystemCはシステムレベル設計言語として欠かすことの出来ない存在となっています� 言語仕様は IEEE Std. 1666-2005 として標準化完了

� IEEE Std. 1666-2005 に対応したOSCI SystemCシミュレータ

v2.2 もリリース済み (2007年3月)

� SystemCはさらに成長を続けます� TLMの標準化

� 合成サブセットの標準化、スタイルガイドの整備

これらの追加標準等により再利用性と設計生産性が向上し、設計の効率化に役立てることができます!

Page 31: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 31SystemC Japan 2007

活動資料の公開について

EDA技術専門委員会 ホームページ

http://eda.ics.es.osaka-u.ac.jp/jeita/eda/lib/index.html

SystemCワーキンググループの資料を8月Web公開予定

Page 32: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 32SystemC Japan 2007

資料編SystemC ユーザフォーラム・アンケート調査結果(2003~2007)抜粋

Page 33: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 33SystemC Japan 2007

アンケート調査結果(2003~2007)

� SystemCユーザフォーラム2003,2004(OSCI主催)、同2005~2007(JEITA EDA技術専門委員会主催)のアンケート調査を集計し、聴講者の動向分析を行った

� SystemCユーザは着実であるが増加している。

� 今後の標準化活動や動向に多くのユーザが注

目している。

� 高位(動作)合成の興味が依然高く、ユーザの

興味は使う上でのインフラに移行しつつある。

� TLMの興味は非常に伸びており、TLM2.0が注

目されていると考えられる。

Page 34: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 34SystemC Japan 2007

0% 10% 20% 30% 40% 50% 60%

SOC/System設計・検証

IP・Block設計・検証

メソドロジー・設計プラットフォーム開発

ツール開発(含むEDA関連業務)

プロジェクト管理

ソフトウェア・ファームウェア開発

システム仕様・方式検討

コンサルティング・トレーニング

大学・研究機関関連

その他

1. ご担当業務またはビジネスは?

20032003200320032004200420042004

200520052005200520062006200620062007200720072007

Page 35: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 35SystemC Japan 2007

0% 5% 10% 15% 20% 25% 30% 35% 40%

Micro Processor/ DSP関連

Computer System/Subsystems関連

Wired Network関連

Wireless Network関連

Multimedia関連

Automotive関連

その他

2. ご担当製品アプリケーションは?

マルチメディア関連が例年通り多い

20032003200320032004200420042004

200520052005200520062006200620062007200720072007

Page 36: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 36SystemC Japan 2007

0% 5% 10% 15% 20% 25% 30% 35% 40%

VeriogHDL

VHDL

SystemC

ANSI C

C++

e

SystemVerilog

PSL/Sugar

その他

3. 現在主に使用している言語は?

ANSI Cが減少してSystemC/C++が増加。但しC設計全体で

は増えていない

20032003200320032004200420042004

200520052005200520062006200620062007200720072007

Page 37: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 37SystemC Japan 2007

0% 5% 10% 15% 20% 25% 30% 35%

SystemC導入検討

SystemC標準化動向

SystemC開発情報

ユーザー事例

EDA技術動向

その他

4. SystemCユーザフォーラムに参加された目的は?

ユーザー事例の興味が高いが、標準化動向も注目されつつある

20032003200320032004200420042004

200520052005200520062006200620062007200720072007

Page 38: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 38SystemC Japan 2007

0% 10% 20% 30% 40% 50% 60% 70% 80%

既に行っている

既に行っている(一部)

検討中

必要ない

無回答

5. SystemCでの設計・検証環境構築について

検討中が減少し

利用者が増えている

20032003200320032004200420042004

200520052005200520062006200620062007200720072007

Page 39: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 39SystemC Japan 2007

0% 5% 10% 15% 20% 25% 30% 35% 40% 45%

仕様検討

システムモデリング

テストベンチ・検証

ソフトウェア開発

その他

6. 「5」で「既に行っている」または「検討中」と回答された方a) SystemCの使用目的は?

大きな変化は無いが仕様検討が減っている

ソフト開発での使用は着実に増えている

20032003200320032004200420042004

200520052005200520062006200620062007200720072007

Page 40: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 40SystemC Japan 2007

0% 10% 20% 30% 40% 50% 60%

システム(チップ)レベル

モジュール(ブロック)レベル

その他

b) SystemCの活用範囲は?

システムレベルが減少して、モジュールレベルが増加

20032003200320032004200420042004

200520052005200520062006200620062007200720072007

Page 41: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 41SystemC Japan 2007

0% 5% 10% 15% 20% 25% 30%

高位(動作)合成ツール

I/F合成ツール

システム検証(解析)ツール

等価性・プロパティチェックツール

デバックツール・環境

検証IP・モデル

ソフトウェア開発環境との連携

コーディングスタイルガイドライン

IEEEやIECでの標準化

トレーニングコース

その他

9. SystemCをより活用する為に充実が必要なもの

は?

高位合成は充実

しつつある

実際に使用する上で必要

なガイドラインを求めている

20032003200320032004200420042004

200520052005200520062006200620062007200720072007

Page 42: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 42SystemC Japan 2007

0% 5% 10% 15% 20% 25% 30%

動作合成サブセット定義

論理合成サブセット定義

データパス設計の容易化

テストベンチ

ハードウェア・ソフトウェア間のインターフェース

モジュール間の標準プロトコル

トランザクションレベルモデルの標準化

その他

11. 今後SystemCの言語拡張・標準化で期待することは?

TLMへの期待が高まっている

20032003200320032004200420042004

200520052005200520062006200620062007200720072007

Page 43: SystemC Japan2007-SCWG20070618 ver10 · SystemC の合成可能な構文 sc_module クラスのモジュール定義および階層 記述 SC_METHOD プロセスとSC_CTHREAD プロセス

© Copyright 2007 JEITA, All rights reserved 43SystemC Japan 2007

12. 今後Open SystemC Initiative(OSCI)やJEITAに期待する

活動は?

0% 5% 10% 15% 20% 25% 30% 35% 40% 45%

セミナー・ワークショップの定期的開催

日本語による情報発信

国内でのワーキングGp活動

ユーザーの意見・提案の標準化への反映

その他

日本語での情報発信は有効である

20032003200320032004200420042004

200520052005200520062006200620062007200720072007