Agile in Hardware - Applying-Agile-To-Ic-Development
Agile in Hardware - Applying-Agile-To-Ic-Development
Neil Johnson
XtremeEDA
[email protected]
http://www.AgileSoC.com
1
© 2011 XtremeEDA USA Corporation - Version 080721.10
About Me
• Neil Johnson
– 12 years of hardware design and verification
– Altera, Neterion, Flextronics, Nextwave Wireless
• Principal Consultant XtremeEDA
– Consulting services
• Verification experts
– Clients are any size and many applications
• Telecom, networking, wireless, computer hardware, etc.
– We work remotely or onsite as part a client’s team
2
© 2011 XtremeEDA USA Corporation - Version 080721.10
About Me
• Neil Johnson
– 12 years of hardware design and verification
– Altera, Neterion, Flextronics, Nextwave Wireless
• Principal Consultant XtremeEDA
– Consulting services
• Verification experts
– Clients are any size and many applications
• Telecom, networking, wireless, computer hardware, etc.
– We work remotely or onsite as part a client’s team
3
© 2011 XtremeEDA USA Corporation - Version 080721.10
Why Are You Here?
No Yes
4
© 2011 XtremeEDA USA Corporation - Version 080721.10
Why Are You Here?
No Yes
5
© 2011 XtremeEDA USA Corporation - Version 080721.10
Part I
6
© 2011 XtremeEDA USA Corporation - Version 080721.10
What Do I Mean By Hardware
• ASIC
– Application Specific Integrated Circuit
– Static structure
– Digital or mixed signal
– High NRE/Low cost
• FPGA
– Field Programmable Gate Array
– Reprogrammable structure
– Primarily digital
– No NRE/High cost
• SoC
– Either of the above + embedded processor(s) + software
7
© 2011 XtremeEDA USA Corporation - Version 080721.10
SoC Development Basics
8
© 2011 XtremeEDA USA Corporation - Version 080721.10
SoC Development Basics
– Fabrication Chip
– Validation Production Board
– Integration System
9
© 2011 XtremeEDA USA Corporation - Version 080721.10
SoC Development Basics
– Fabrication Chip
– Validation Production Board
– Integration System
OS
You Guys Drivers
Application
10
© 2011 XtremeEDA USA Corporation - Version 080721.10
Common Industry Challenges
11
© 2011 XtremeEDA USA Corporation - Version 080721.10
Common Technical Challenges
Hardware
Software
technology and time-to- Floor Planning Link
market Initial P&R
To FAB
12
© 2011 XtremeEDA USA Corporation - Version 080721.10
Common Organizational Challenges
Design SW
Physical Verif
13
© 2011 XtremeEDA USA Corporation - Version 080721.10
Common Organi-technical(?) Challenges
IP/Custom
Hardware
Embedded
Processor
14
© 2011 XtremeEDA USA Corporation - Version 080721.10
Big Bang Hardware Development
Spec
Kaboom!!
15
© 2011 XtremeEDA USA Corporation - Version 080721.10
Big Bang Hardware Development
Spec
Kaboom!!
16
© 2011 XtremeEDA USA Corporation - Version 080721.10
Part II
17
© 2011 XtremeEDA USA Corporation - Version 080721.10
www.agilemanifesto.org
• Waterfall Model
– A sequential process
– One big bang, production
ready release at the end of
the project
– Lessons learned for the
next project
– Task driven development
50% Done
Software Software
Verification Verification
Design Design
Specification Specification
50% Done
Software
Tests
Physical Design
Coverage Model
Environment Verification
50% Done
Design
Specification
50% Done
Kaboom!!
27
© 2011 XtremeEDA USA Corporation - Version 080721.10
Part III
28
© 2011 XtremeEDA USA Corporation - Version 080721.10
Where’s The Potential?
• Agile model
Physical Design
Software
Verification SoC
Hardware Teams
Teams
Design
Specification
Right Here
No Way!!
30
© 2011 XtremeEDA USA Corporation - Version 080721.10
Where’s The Potential?
31
© 2011 XtremeEDA USA Corporation - Version 080721.10
Getting Comfortable:
www.agilemanifesto.org
33
© 2011 XtremeEDA USA Corporation - Version 080721.10
The Perfect Place To Start
• Feature-of-the-week
– “Tell your customer you’re going to give them something
that works in a week”
• Jonathan Rassmuson, Agile in a Nutshell, APLN April 2009
– The Agilesoc Blog: Remote Development And The Feature-
of-the-week
34
© 2011 XtremeEDA USA Corporation - Version 080721.10
Feature Of The Week
• Client experience
– Goal
• Convince myself that incremental development is possible
– Situation
• Functional testing of a sub-system
• Design was done, test harness was partially complete
– Planning
• 4 increments, 1 for each major feature
• Detailed plan included 1-2 week sub-milestones
• 2 increments planned in detail
35
© 2011 XtremeEDA USA Corporation - Version 080721.10
Feature Of The Week
36
© 2011 XtremeEDA USA Corporation - Version 080721.10
Feature Of The Week
37
© 2011 XtremeEDA USA Corporation - Version 080721.10
Client Experience: Just Try And Deliver
• Situation
– Deliver an internal IP block
– Project well behind schedule
– Just coding the design and test environment would take us
beyond our scheduled delivery date
• Good time to introduce agile as an alternative to tradition
– dealing with agile skeptics
– I wanted to make sure that different still familiar so I didn’t
scare anyone away
38
© 2011 XtremeEDA USA Corporation - Version 080721.10
Client Experience: Just Try And Deliver
• Recommendations
– Prioritize a bypass solution to be used in case of emergency
– Incrementally deliver the rest as a series of threads
– Change the order in which we do things
39
© 2011 XtremeEDA USA Corporation - Version 080721.10
Client Experience: Just Try And Deliver
• Recommendations
– Prioritize a bypass solution to be used in case of emergency
– Incrementally deliver the rest as a series of threads
– Change the order in which we do things
The “Old Way”
• All the planning
• Code the environment
• Integrate the design
• Sandbox debug
• Write/debug sanity test
40
© 2011 XtremeEDA USA Corporation - Version 080721.10
Client Experience: Just Try And Deliver
• Recommendations
– Prioritize a bypass solution to be used in case of emergency
– Incrementally deliver the rest as a series of threads
– Change the order in which we do things
The “Old Way” Architecture
• All the planning
• Code the environment
• Integrate the design
• Sandbox debug
• Write/debug sanity test
Implementation
41
© 2011 XtremeEDA USA Corporation - Version 080721.10
Client Experience: Just Try And Deliver
• Recommendations
– Prioritize a bypass solution to be used in case of emergency
– Incrementally deliver the rest as a series of threads
– Change the order in which we do things
The “Old Way” Architecture
• All the planning • Draft architecture plan
• Code the environment
• Integrate the design
• Sandbox debug • Revise architecture plan
• Write/debug sanity test
Implementation
42
© 2011 XtremeEDA USA Corporation - Version 080721.10
Client Experience: Just Try And Deliver
• Recommendations
– Prioritize a bypass solution to be used in case of emergency
– Incrementally deliver the rest as a series of threads
– Change the order in which we do things
The “Old Way” Architecture
• All the planning • Draft architecture plan
• Code the environment • Skeleton test environment
• Integrate the design
• Sandbox debug • Revise architecture plan
• Write/debug sanity test
Implementation
43
© 2011 XtremeEDA USA Corporation - Version 080721.10
Client Experience: Just Try And Deliver
• Recommendations
– Prioritize a bypass solution to be used in case of emergency
– Incrementally deliver the rest as a series of threads
– Change the order in which we do things
The “Old Way” Architecture
• All the planning • Draft architecture plan
• Code the environment • Skeleton test environment
• Integrate the design • Integrate design
• Sandbox debug • Revise architecture plan
• Write/debug sanity test
Implementation
44
© 2011 XtremeEDA USA Corporation - Version 080721.10
Client Experience: Just Try And Deliver
• Recommendations
– Prioritize a bypass solution to be used in case of emergency
– Incrementally deliver the rest as a series of threads
– Change the order in which we do things
Architecture
• Draft architecture plan
• Skeleton test environment
• Integrate design
• Revise architecture plan
Operation Basic Sanity:
Implementation
A Faster Way To Sane • Draft implementation plan
Hardware • Write the sanity test
• Code the required sanity design/test
environment
• Debug the sanity test
• Revise the implementation plan
45
© 2011 XtremeEDA USA Corporation - Version 080721.10
Exercise: Operation Basic Sanity
46
© 2011 XtremeEDA USA Corporation - Version 080721.10
Exercise: Operation Basic Sanity
47
© 2011 XtremeEDA USA Corporation - Version 080721.10
Exercise: Operation Basic Sanity
48
© 2011 XtremeEDA USA Corporation - Version 080721.10
Exercise: Operation Basic Sanity
49
© 2011 XtremeEDA USA Corporation - Version 080721.10
Exercise: Operation Basic Sanity
50
© 2011 XtremeEDA USA Corporation - Version 080721.10
Exercise: Operation Basic Sanity
CPU
51
© 2011 XtremeEDA USA Corporation - Version 080721.10
Summary
52
© 2011 XtremeEDA USA Corporation - Version 080721.10