1st european systemc™ users group · pdf filearcadia, arc, aristo, arm, bops, cae+plus,...

36
1 st European SystemC™ Users Group Meeting Munich, January 31, 2000 Wolfgang Rosenstiel, Joachim Gerlach, Tübingen University & FZI Karlsruhe

Upload: phungduong

Post on 10-Mar-2018

220 views

Category:

Documents


1 download

TRANSCRIPT

1st European SystemC™Users Group Meeting

Munich, January 31, 2000

Wolfgang Rosenstiel,Joachim Gerlach,Tübingen University & FZI Karlsruhe

First of all ...

Agenda

4:HOFRPH �����

± :ROIJDQJ�5RVHQVWLHO4:KDW�LV�6\VWHP&�"4*RDOV�RI�WKH�(XURSHDQ�6\VWHP&��8VHUV�*URXS

4,QYLWHG�6SHDNHUV �����

± 'DQLHO�6FKPLGEHUJHU��6XQ�0LFURV\VWHPV�� �����± $OEUHFKW�0D\HU��,QILQHRQ�7HFKQRORJLHV� ��� �����

4/XQFK �����

Agenda

48VHUV�*URXS�$FWLYLWLHV �����

± $OO�RI�WKH�SDUWLFLSDQWV4)RUPDWLRQ�RI�:RUNLQJ�*URXSV ��������

4:RUNLQJ�*URXS�'LVFXVVLRQV ��������4&RIIHH�%UHDN �� ��������

4:RUNLQJ�*URXS�'LVFXVVLRQV ��������

4:RUNLQJ�*URXS�5HSRUWV ��������

4&ORVLQJ�5HPDUNV �����

± :ROIJDQJ�5RVHQVWLHO

4(QG�RI�0HHWLQJ �����

What is SystemC™?

System-on-Chip (SoC) Design Flow

Co-Design

Implement

Co-Verify

Verify

Implement

Verify

SW Code HW Design

Implement

Verify

DesignReuse

IPCodeReuse

IP

Software

Product

Hardware

Environment

Specify

Systemto

RTL

RTLto

GDSIIReusable

IPIntegration

Typical SoC Device (source: ARM Ltd.)

What’s the Problem?

45HTXLUHPHQW± )DVW�V\VWHP�PRGHOLQJ�FRQWDLQLQJ�PXOWLSOH�VRXUFH�FRPSRQHQWV

± 0RGHO�RQFH�IRU�PXOWLSOH�DEVWUDFWLRQ�OHYHOV��PXOWLSOH�XVHUV�PXOWLSOH�SXUSRVHV

43UREOHP± 1R�FRPPRQ�IRUPDW�IRU�GHVFULELQJ�FRPSRQHQWV

46ROXWLRQ± 3URPRWH�D�VWDQGDUG�PRGHOLQJ�SODWIRUP

4WR�PRGHO�DQG�H[FKDQJH�V\VWHP�OHYHO�FRPSRQHQWV�DQG�,3

4WR�EXLOG�LQWHURSHUDEOH�WRROV�LQIUDVWUXFWXUH

What‘s the Solution?

4;[[[ GHILQHV�D�&���FODVV�OLEUDU\��������������DQG�VLPXODWLRQ�NHUQHO�IRU

4+DUGZDUH�PRGHOLQJ± &RQFXUUHQF\��WLPLQJ��UHDFWLYLW\��VLJQDOV���GDWD�W\SHV�����

46RIWZDUH�PRGHOLQJ± ,QWHUUXSWV

46\VWHP�PRGHOLQJ± $EVWUDFW�FRPPXQLFDWLRQV

��

Why C/C++ Based Design?

SoCDesign

SystemArchitect

C/C++

SoftwareDesigner

C/C++

HardwareDesigner

HDL

Marketing& Sales

��

Why C/C++ Based Design?

46SHFLILFDWLRQ�EHWZHHQ�DUFKLWHFW�DQG�LPSOHPHQWHU�LVH[HFXWDEOH

4+LJK�VLPXODWLRQ�VSHHG�DW�WKH�KLJKHU�OHYHO�RI�DEVWUDFWLRQ

45HILQHPHQW��QR�WUDQVODWLRQ�LQWR�+'/��QR�ÅVHPDQWLF�JDS´�

47HVWEHQFK�UH�XVH

��

SystemC™ Modeling Platform

4��������������������������������LV

4����D�PHWKRGRORJ\�IRU�PRGHOLQJ�6R&�GHVLJQV�FRQVLVWLQJ�RI�����'63V��$6,&V��,3�&RUHV��,QWHUIDFHV�����

4����D�&���FODVV�OLEUDU\�H[WHQGLQJ�&�&���E\�FRQFXUUHQF\������WLPLQJ��UHDFWLYLW\��FRPPXQLFDWLRQ��VLJQDO���GDWD�W\SHV�����

4����D�F\FOH�DFFXUDWH�KLJK�VSHHG�VLPXODWLRQ

��

SystemC™ Design Methodology

class libraryand

simulation kernel source files for systemand testbenches

your standardC/C++ development

environment

compiler

linker

debugger

libraries

header files

„e xecutable

specif icatio n“

......

.

....

executable = simulation

a.out

„make“

ASIC

IP-Core

Interface

DSP

��

SystemC™ Key Features

4&RQFXUUHQF\ 3URFHVVHV��V\QF��DQG�DV\QF��4&RPPXQLFDWLRQ� 6LJQDOV��FKDQQHOV

�Y�����DGYDQFHG�FRPPXQLFDWLRQ�SURWRFROV�

41RWLRQ�RI�WLPH 0XOWLSOH�FORFNV�ZLWK�DUELWUDU\�SKDVH�UHODWLRQV45HDFWLYLW\ :DWFKLQJ�IRU�HYHQWV4+:�GDWD�W\SHV %LW�YHFWRUV��DUELWUDU\�SUHFLVLRQ�LQWHJHUV����

�Y�����DUELWUDU\�SUHFLVLRQ�IL[HG�SRLQW�GDWD�W\SHV�

46LPXODWLRQ�VXSSRUW4'HEXJ�VXSSRUW :DYHIRUP�WUDFLQJ4����

European SystemC™Users Group

��

Open Community Licensing

SystemC™ Modeling Platformincluding:

• Modeling specification • Source code (Reference implementation)• Reference manual

click-through web-basedlicense agreement

download

www.SystemC.org

user

Steering Group

��

Open Community Licensing

40HFKDQLVP�IRU�(YROXWLRQ± &RPPXQLW\�PHPEHUV�KDYH�ULJKW�DQG�UHVSRQVLELOLW\�WR�FRQWULEXWHHQKDQFHPHQWV

± 6WHHULQJ�*URXS�ZLOO�GULYH�FRQYHUJHQFH�DQG�LQWHURSHUDELOLW\

42SHQ�&RPPXQLW\�/LFHQVLQJ± 2SHQ�HYROXWLRQ�LQ�LQWHUQHW�WLPH

± (QVXUHV�LQWHURSHUDELOLW\�DQG�VWUXFWXUHG�LQQRYDWLRQ

��

Charter Members

Actel, Alcatel, Altera, American Applied Research, Aptix,Arcadia, ARC, Aristo, ARM, BOPS, CAE+Plus, Chameleon,Co-Design Automation, CoWare, CSELT, Cygnus, Denali,Ericsson, Frequency, Frontier Design, FujitsuMicroelectronics, Genedax, IKOS, ILogix, InfineonTechnologies, ISS, I2P, Internet CAD, LogicVision, Lucent,Magma, MIPS, Monterey, Motorola, Seva/Intrinsix, Sican,Simulation Magic, Snaketech, Sony, StellarSemi,STMicroelectronics, Summit, Sun, SynaptiCAD,Synchronicity, Synopsys, Tensilica, Texas Instruments,TransModeling, Ultima, Verplex, Viewlogic, Virtual Silicon,Wind River, Xilinx

��

Current Events

46HSW�������������6\VWHP&��ODXQFKHG�ZLWK����26&,�&KDUWHU0HPEHU�&RPSDQLHV

4'HF�������������)LUVW�6\VWHP&��6WHHULQJ�*URXS�0HHWLQJ± ,PSURYH���DGG�FRPPHUFLDO�OLFHQVH± 6\VWHP&��URDGPDS

± 3ODQ�VRPH�WHFKQLFDO�ZRUN�ZLWK�96,$�6/'�DQG�6SHF&

4-DQ�������������)LUVW�FRPPHUFLDOO\�DYDLODEOH�6\VWHP&��WRRO7UDQVPRGHOLQJ���6\VWHP0RGHOHU

4)HE��������������1H[W�6WHHULQJ�*URXS�0HHWLQJ

��

SystemC™ Users Group: Goals

4&RPPXQLFDWLRQ�SODWIRUP�IRU�6\VWHP&��8VHUV± (XURSHDQ�6\VWHP&��8VHUV�*URXS�0HHWLQJV��EL�\HDUO\�± (XURSHDQ�6\VWHP&��8VHUV�*URXS�&RQIHUHQFHV��\HDUO\�4��������LQ�FRQMXQFWLRQ�ZLWK�)'/·���� �������7�ELQJHQ��6HSWHPEHU�����������4��������LQ�FRQMXQFWLRQ�ZLWK�'$7(·���������0�QFKHQ��0DUFK�������������

4$GGLWLRQDO�DQG�FDWDO\]HG�LQIRUPDWLRQ�IORZ�EHWZHHQ��6\VWHP&��8VHUV �→�UHTXLUHPHQWV�WR�6\VWHP&����DQG��6WHHULQJ�*URXS� �→�QHZ�UHOHDVHV�RI�6\VWHP&��

4$FFHOHUDWLRQ�RI�6\VWHP&��HYROXWLRQ�DQG�VWDQGDUGL]DWLRQ

1st European SystemC™Users Group Meeting:Afternoon Session

��

Afternoon Session

4)RUPDWLRQ�RI�:RUNLQJ�*URXSV��������

± 7RSLFV�RI�LQWHUHVW�

4$SSOLFDWLRQ�RULHQWHG�6\VWHP&��UHTXLUHPHQWV

i6\VWHP&��IRU�WHOHFRPPXQLFDWLRQV��DXWRPRWLYH��FKLSFDUG�����

46\VWHP&��DQG�H[LVWLQJ�GHVFULSWLRQ�ODQJXDJHV

i&RPELQLQJ�6\VWHP&��DQG�&�&����9+'/��9HULORJ������GHVFULSWLRQVi7UDQVODWLRQ�RI�6\VWHP&��LQWR�H[LVWLQJ�GHVFULSWLRQ�ODQJXDJHV��→�WRRO�VXSSRUW�i7UDQVODWLRQ�RI�H[LVWLQJ�GHVFULSWLRQ�ODQJXDJHV�LQWR�6\VWHP&���→�VSHFLILFDWLRQ�VXSSRUW��,3�UHXVH������

��

Afternoon Session

40RGHOLQJ�VWDQGDUG�6R&�FRPSRQHQWV�LQ�6\VWHP&�

i,QWHJUDWLRQ�RI�+:��6:��DQDORJ������,3�EORFNV�LQWR�6\VWHP&��GHVFULSWLRQVi&RPELQLQJ�GLIIHUHQW�OHYHOV�RI�DEVWUDFWLRQ

46\VWHP&��IRU�V\VWHP�OHYHO�YDOLGDWLRQ

i6\VWHP&��IRU�IDVW��FRQFXUUHQW��VLPXODWLRQi5DSLG�3URWRW\SLQJ�ZLWK�6\VWHP&�i6\VWHP&��EDVHG�YHULILFDWLRQ

46\VWHP&��IRU�WHDFKLQJ���������OLVW�RI�WRSLFV�WR�EH�GLVFXVVHG�DQG�H[WHQGHG�

± 3OHDVH�VHOHFW�\RXU�PRVW�IDYRULWH�WRSLF�DQG�PRYH�WR�WKHFRUUHVSRQGLQJ�:RUNLQJ�*URXS�WDEOH

��

Afternoon Session

4:RUNLQJ�*URXS�'LVFXVVLRQV��������

± ,GHQWLILFDWLRQ�RI�:RUNLQJ�*URXS�0RGHUDWRUV40RGHUDWLRQ�RI�WKH�JURXS�GLVFXVVLRQV43URYLGH�GLVFXVVLRQ�VXPPDU\46KRUW�ZRUNLQJ�JURXS�UHSRUW��DW�WKH�HQG�

��

Afternoon Session

4:RUNLQJ�*URXS�5HSRUWV��������± 6KRUW�UHSRUWV�E\�WKH�:RUNLQJ�*URXS�0RGHUDWRUV�DQGFROOHFWLRQ�RI�GLVFXVVLRQ�VXPPDU\�UHSRUWV

± 'LVFXVVLRQ

4&ORVLQJ�5HPDUNV��������± :ROIJDQJ�5RVHQVWLHO

4(QG�RI�0HHWLQJ��������

��

Users Group Roadmap

January 312000

September 4-82000

March 12-162001

2000

�VW�(XURSHDQ�6\VWHP&�8VHUV�*URXS�0HHWLQJ

�QG�(XURSHDQ�6\VWHP&�8VHUV�*URXS�&RQIHUHQFH

�ZLWK�'$7(·������

2001

�VW�(XURSHDQ�6\VWHP&�8VHUV�*URXS�&RQIHUHQFH

�ZLWK�)'/·������

�QG�(XURSHDQ�6\VWHP&�8VHUV�*URXS�0HHWLQJ

�UG�(XURSHDQ�6\VWHP&�8VHUV�*URXS�0HHWLQJ

March2000

6\VWHP&�5HOHDVH�����

today

6\VWHP&�5HOHDVH����

Technical News

��

What’s New in SystemC™ Release 0.91?

40RUH�VWUXFWXUHG�KLHUDUFKLFDO�GHVLJQ�PHWKRGRORJ\± 0XOWLSOH�SURFHVVHV�FDQ�QRZ�EH�HDVLO\�VSHFLILHG�LQVLGH�RQH�PRGXOH�

4,QWURGXFWLRQ�RI�SRUWV± 6LPLODU�WR�9+'/�9HULORJ��FRQFHSW�RI�SRUWV�LV�LQWURGXFHG�PDNLQJZULWLQJ�FRQVWUXFWRU�IRU�WKH�LQWHUIDFH�ILOH�PXFK�HDVLHU�4L�H��VFBLQ�LQSXW�W\SH!��VFBRXW�RXWSXW�W\SH!��VFBLQRXW�LQRXW�W\SH!

4,QWURGXFWLRQ�RI�IDVW�ELW�YHFWRU��VFBEY��DQG�ORJLF�YHFWRU��VFBOY�4H�J��VFBEY���!�DGGUHVV�

��

What’s New in SystemC™ Release 0.91?

41HZ�&���FRPSLOHU± JFF�����LQVWHDG�RI�JFF�����± QHHGHG�EHWWHU�F���VWDQGDUGV�FRQIRUPDQFH

46\VWHP&��5HOHDVH�����SURFHVVHV�UHQDPHG± 0RUH�LQWXLWLYH�QDPH�IRU�KDUGZDUH�DQG�VRIWZDUH�GHVLJQHUV

��

SystemC™ Release 0.91:Process Naming Convention

NOTE: SystemC™ is backward compatible !

Release 0.9

Release 1.0Draft Spec.

Release 0.91

sc_async sc_aproc sc_sync

Asynchronous Function Process

Asynchronous Thread Process

Synchronous Thread Process

sc_async_fprocess sc_async_tprocess sc_sync_tprocess

SC_METHOD SC_THREAD SC_CTHREAD

��

SystemC™ Release 0.91: Simplified Coding

Example: // ONE MODULESC_MODULE(driver_mod) {

// Input ports: sc_in_clk clk; // Clock for the actions of the driver. sc_in<double> speed; sc_in<double> angle; sc_in<double> total; sc_in<double> partial;

// Output ports: sc_out<bool> reset; // Set if the driver wants to reset the partial // distance odometer. sc_out<int> speed_set; // Speed of the car as set by the driver. sc_out<bool> start; // Set if the driver starts the car.

// Driver’s actions. void driver_out_proc(); void driver_in_proc();

SC_CTOR(driver_mod) {

SC_CTHREAD(driver_out_proc, clk.pos());

SC_METHOD(driver_in_proc); sensitive << speed << angle << total << partial; }};

Example: // ONE MODULESC_MODULE(driver_mod) {

// Input ports: sc_in_clk clk; // Clock for the actions of the driver. sc_in<double> speed; sc_in<double> angle; sc_in<double> total; sc_in<double> partial;

// Output ports: sc_out<bool> reset; // Set if the driver wants to reset the partial // distance odometer. sc_out<int> speed_set; // Speed of the car as set by the driver. sc_out<bool> start; // Set if the driver starts the car.

// Driver’s actions. void driver_out_proc(); void driver_in_proc();

SC_CTOR(driver_mod) {

SC_CTHREAD(driver_out_proc, clk.pos());

SC_METHOD(driver_in_proc); sensitive << speed << angle << total << partial; }};

Multiple Processes

Input port sc_in<type>

Output port sc_out<type>

��

SystemC™ Release 1.0 Preview:Fixed-Point Data Types

46LJQHG���XQVLJQHG�IL[HG�SRLQW�GDWD�W\SHV

47ZR·V�FRPSOHPHQW�UHSUHVHQWDWLRQ�XVHG�IRU�UHSUHVHQWLQJ�VLJQHG�IL[HG�SRLQW�QXPEHUV

42SHUDWLRQV�SHUIRUPHG�XVLQJ�DUELWUDU\�SUHFLVLRQ

44XDQWL]DWLRQ�PRGH�DQG�RYHUIORZ�PRGH

��

SystemC™ Fixed-Point Data Types:Syntax

sc_fixed<wl, iwl, q_m, o_m, n_b> var_name (init_val) ;sc_ufixed<wl, iwl, q_m, o_m, n_b> var_name (init_val) ;

signed fixed-point type

unsigned fixed-point type

wl : total number of bitsiwl : number of integer bitsq_m : quantization mode (optional)o_m : overflow mode (optional)n_b : number of bits for overflow mode (optional)init_val : initial value or expression (optional)

��

SystemC™ Fixed-Point Data Types:Casting

4XDQWL]DWLRQ�0RGHV�

45RXQGLQJ�WR�SOXV�LQILQLW\

45RXQGLQJ�WR�]HUR45RXQGLQJ�WR�PLQXV�LQILQLW\

4&RQYHUJHQW�URXQGLQJ

47UXQFDWLRQ47UXQFDWLRQ�WR�=HUR

2YHUIORZ�0RGHV�

46DWXUDWLRQ

46DWXUDWLRQ�WR�]HUR46\PPHWULFDO�VDWXUDWLRQ

4:UDS�DURXQG

46LJQ�PDJQLWXGH�ZUDS�DURXQG

��

SystemC™ Fixed-Point Data Types:Example

…sc_fixed<8, 4> my_var(-1.75);...

my_varsign bit

integer bits fractional bits.

1 1 1 0 0 1 0 0

(1.75)10 = (0001.1100)2

1’s complement of (0001.1100) 2 = (1110.0011)2

2’s complement of (0001.1100) 2 = (1110.0100)2

Thanks for joining the1st European SystemC™Users Group Meeting

Special thanks to: Sun MicrosystemsSynopsys, Inc.