Documente Academic
Documente Profesional
Documente Cultură
!"#$!%&#'()
* +,-,-.,#!(&#!-/00/()!/0!'(!1#(2/3,
4)',#(1,#".5,!-(3,55/)6!$/'0: Tool independent Infrastructure.
* 7#,,)8(90!:;<!"330=
• 8>)(10>0!4))(2"'(#!®!?(-1"'/./5/'>
• @"0/,#!'(!&0,!A/'B!"!0/)65,!'"#!."55!#,5,"0,
• C33/'/()"5!D&)9'/()"5/'>
* 4)95&3/)6!E@!F!/)!"!8>0',-?!.(G
* C50(!),A!D,"'&#,0!/)!7#,,)?()D/6
")3!7#,,)+,6
• ?(-1"'/./5/'>!D(#!H/#'&',9B!8/-/90!®
8>0',-?!%#/36,
* !,-(#>!!"11,3!%&00,0=
7#,,)8(90!9(-15,',3!'B,!I?JK4J!8LM!,"#5/,#!'B/0!>,"#
* C)3!)(A!A(#$/)6!()!('B,#!0/-/5"#!$/'0;
• ‘%"9$!,)3!/)',#D"9,0’=
7#,,)8(90!A(#$/)6!A/'B!!!!!!!!!!!!!!!!!!!!!!!")3!('B,#!5,"3!1"#'),#0!'(
.&/53!/)',#D"9,0!D(#=
* 7#"1B/90
* @'B,#),'
* F8%
* 8/6)"50!N/)',##&1'!,'9O
* 8,#/"5
* @'9
• H/#'&',9B!/0!(DD,#/)6!8/-/90®!3,0/6)!1"'',#)!")3!/)',#D"9,0!D(#!)()
-,-(#>!-"11,3!.&0!/)',#D"9,0;
* 7#,,)8(90!A/55!1#(2/3,!"!),A!‘/)',#D"9,!9B,9$,#!'((5’!D(#!"55
/)',#D"9,0;
R; ?()D/6&#"'/() Environment
S; ?()'#(5
:; TL!!?()2,)/,)9,!0(9$,'0
• N%/)3K"./5/'>!9B,9$/)6U!1#('(9(5!),6('/"'/()U!-,-(#>!-")"6,-,)'U
,'9O
V; 4)',#D"9,!3,D/)/'/()0
• NJ?4,U!4)',#&1'0U!7#"1B/90U!F8%U!FC+TU!@'B,#),'U!,'9O;
• C55!W,)2/#()-,)'X!4YI!6(,0!2/"!'((5;
* ?#&9/"5!D(#!'((5!1#(2/3,#0
• +,Z&/#,0!/)',#D"9,0!")3![,)2/#()-,)'!15&6K/)0\;
* C55!#,Z&/#,3!K!)()!W9(#,X!,)6/),,#/)6;!NP,/'B,#!D(#!'B,!-(3,5!A#/',#U
)(#!D(#!'B,!'((5!1#(2/3,#O;
My IP
Test points
I want to see them in ANY tool I use
State
I want to see, and potentially manipulate
state in ANY tool I use
Configuration
I want to set configuration information
statically, and maybe dynamically
(In ANY tool I use)
TOOL INDEPENDENT
7 Enabling System Level Design
6@#"#!A&#(!!"##$%&'(!+$3"4(2"9'29"#!@#B:C
My IP
TOOL INDEPENDENT
8 Enabling System Level Design
6@#"#!A&#(!!"##$%&'(!+$3"4(2"9'29"#!@#B:C
Or..
TOOL INDEPENDENT
9 Enabling System Level Design
6@#"#!A&#(!!"##$%&'(!+$3"4(2"9'29"#!@#B:C
My IP
TOOL INDEPENDENT
10 Enabling System Level Design
6@#"#!A&#(!!"##$%&'(!+$3"4(2"9'29"#!@#B:C
My IP
I want the interfaces on my device to
Use TLM-2.0
Handle Binadability - protocol negotiation
Sort out memory management
Allow for different abstraction levels
(Any dynamic switching)
And provide a nice easy ‘convenient’
interface.
OCP
For my protocol, I want to provide all these PCIe
features for people to use - e.g. a protocol Signal
‘kit’. Serial
Graphics
TOOL INDEPENDENT
11 Enabling System Level Design
6@#"#!A&#(!!"##$%&'(!+$3"4(2"9'29"#!@#B:C
My IP
When I use an interface, e.g. for the
output of my device,
I want some example ‘back
ends’ to connect it to!
We’re working
on this one!
TOOL INDEPENDENT
12 Enabling System Level Design
1$2#"34'#(!#*#"E,@#"#
“Back-end”
interface, device-
to-world
/01(2-34,553-
%7!
Interrupts
and reset
6,=3-CD=E2F
8G(=E2F
#"6 7H8(=,=3-C
!"#$
>7)$(<=,-
8G"78H !?O
User-interactive
809:;(<=,- IO simulations
running on same
809:M machine or
&.*,--N2* %78G remote machine
#$H ?"$"(@8A)B
%&'()*+,-.,*
Simulation
My IP Connection to the
host
Or to the user…
(in any tool)
Fault injection
* ](#$/)6!A/'B!9(55".(#"'/2,!1"#'),#0=
* M,D/)/)6!/)',#D"9,0!AB/9B!D"55!(&'0/3,!'B,!9&##,)'!TL!KS;<!!,-(#>
!"11,3!%&0!W7,),#/9!J#('(9(5X;
* TB,!/)',#D"9,0!A/55!/)95&3,=
• J#('(9(5!95"00!3,D/)/'/()0!AB/9B!&0,!'B,!TL!KS;<!0'")3"#3;
• W?()2,)/,)9,!4JX!=
*J#('(9(5!+(&',#0
*J#('(9(5!9B,9$,#0
*%"9$!,)3![2/0&5/0"'/()\!9(-1(),)'0
* [],!"#,!9&##,)'5>!5(($/)6!"'=
* 7#"1B/90
* @'B,#),'
* F8%
* 8/6)"50!N/)',#&1'!,'9O
* 8,#/"5
* @'9
15 Enabling System Level Design
I$$&9$'+$8!1$2#"34'#!J"&2&'&B!H@#'7#"
* ?&##,)'5>!/)!4)',#)"5!@)6/),,#/)6!%,'"
+,6/0',#!>(&#!/)',#,0'!)(A^
16 Enabling System Level Design
!"##$%&'(!K9(+$#((!;&A#B!#*&B92+&$0
Refined Collaborative
Infrastructure Infrastructure
with 2nd level Development
support
Supported
Tools and
Infrastructure
Vendors Users
We all contribute
to standards. Pre-
existing GreenSocs
OSCI/SPIRIT
infrastructure will
help standards
bodies move faster
18 Enabling System Level Design
HH1!J"&A9'2
* ]/55!.,!D&55>!9(-1"'/./5/'>!A/'B
I8?4!??4;
* 4)',6#"'/()0!A/'B!"!)&-.,#
'((50;
• TB/0!-,")0!9&0'(-,#0!9")!9B((0,!'(!&0,=
* I8?4!??4!/)',#D"9,!3/#,9'5>;
* 7#,,)8(90!9()2,)/,)9,!5">,;
* I'B,#!@MC!'((5!2,)3(#0!&0,#!9()2,)/,)9,!5">,#0;
* J5&6/)0!"2"/5".5,!D(#=
• ?()D/6&#"'/()!3"'"."0,0!N/D!>(&#!'((5!3(,0!)('!"5#,"3>!B"2,!(),O
• C)"5>0/0!(&'1&'!'(!>(&#!'((50!8?H!/)',#D"9,
• 8&11(#'!D(#!T,-1(#"5!M,9(&15/)6!'B#(&6B!15&6/)0;
* ](#$0!A/'B!D&55!#")6,!(D!7#,,)8(90!-(3,5!/)D#"0'#&9'&#,;
* Q"0!,G/0'/)6!9&0'(-,#!."0,;
7#,,)8(90!(DD,#0!S)3!5,2,5!0&11(#'!")3!-"/)',)")9,!D(#!"!D&55!??4
/-15,-,)'"'/()U!6&"#")',,3!??4!9(-15/")9,!AB,)!0'")3"#3!/0!#,5,"0,3U
#,"3>!D(#!'((5!/)',6#"'/()!)(A;
19 Enabling System Level Design
L&"!;&"#!+$3&";42+&$5
B''1=YYAAA;6#,,)0(90;9(-Y
!"#$_6#,,)0(90;9(-