Silicon GyMWorkouts for Agile MicrochipsGlobal Scrum Gathering Prague
November 17th, 2015
John Barry and Mark Kavanagh, Intel Ireland (Shannon)
Network Platforms Group
Agenda
• The Case for Change
• Introduction to Digital Design
• Forming Scrum Teams
• Register Transfer Level Design
• Functional Verification
• Physical Design
• Test Program Generation
• Possible Future Developments
• Questions
• Summary
Network Platforms Group 3
Exponential Growth in Complexity
Rapidly Evolving Requirements
Performance
Energy Consumption
Software Ecosystems
Silicon Design Must Move
Flexibility
Faster
Further
The Case for Change
Network Platforms Group 6
Silicon Design Process
Source: https://verificationacademy.com/
Q
QSET
CLR
DConcept Requirements
Abstract
Model orSpecification
Register Transfer
Level Code
Verification and
Validation
Physical Design Fabrication
Output Output Output Output
FeedbackFeedbackFeedbackFeedback
Network Platforms Group 7
Formation of Teams for SoC
Source: https://verificationacademy.com/
Concept Requirements
AbstractModel or
Specification
Register Transfer
Level Code
Verification and Validation
Physical DesignFabrication
Q
QS ET
C LR
D
Q
QS ET
C LR
D
Network Platforms Group 8
Formation of Teams for SoC
Source: https://verificationacademy.com/
Concept Requirements
AbstractModel or
Specification
Register Transfer
Level Code
Verification and Validation
Physical DesignFabrication
Q
QS ET
C LR
D
Q
QS ET
C LR
D
Network Platforms Group 9
Scrum Team Formation Essentials
All Scrum Team Members Must be Capable of Executing All User Stories within Single Scrum
Skills / Breadth of Technical Expertise
Use
Cas
es /
Use
r St
ori
es
Domain Knowledge Requirements Too Large
Too Many Technical Skills
Required
Manageable Set of Features and
Technical Skills
Q
QS ET
C LR
D
Network Platforms Group 10
Silicon Design Process - RTL
Source: https://verificationacademy.com/
Q
QSET
CLR
DConcept Requirements
Abstract
Model orSpecification
Register Transfer
Level Code
Verification and
Validation
Physical Design Fabrication
Output Output Output Output
FeedbackFeedbackFeedbackFeedback
Network Platforms Group 11
// FSM Logic
always_comb begin
fsm_next_state = IDLE;
case (fsm_curr_state)
IDLE: begin
if (in_sig1) begin
fsm_next_state = PKT;
end
else begin
fsm_next_state = IDLE;
end
end
PKT: begin
if (in_sig2) begin
fsm_next_state = IDLE;
else begin
fsm_next_state = PKT;
end
end
default: begin
fsm_next_state = IDLE;
end
endcase
end
Behavioural Change
“Definition of Done” includes
– Basic Synthesis Checks
– Formal Proofs for Functionality
Register Transfer Level Design- Test Driven Development
Device Under Test Bounded Proof
Focus TDD flow on Consumer’s Requirements:What Needs to be Proven to Ensure Success?
Network Platforms Group 12
Consumers with Conflicting Interests
1. Verification and Validation
Want related user stories together
Complete functions/epics serially
2. Physical Design
Implement some user stories from all functions/epics in parallel
Register Transfer Level Design –Conflicted Consumers
Product Owner Must Balance Risk and Value
Physical RTL ValidationDesign PO Verification
Illustration by Dave Barry
Network Platforms Group 13
Silicon Design Process – Verification & Validation
Source: https://verificationacademy.com/
Q
QSET
CLR
DConcept Requirements
Abstract
Model orSpecification
Register Transfer
Level Code
Verification and
Validation
Physical Design Fabrication
Output Output Output Output
FeedbackFeedbackFeedbackFeedback
Network Platforms Group
Adapted from CollabNet Scrum Reference, by Michael James
14
Environment and Test Development Regression
Verification and Validation
Pending Under Debug Fixing Testing Fix Integrating Fix
Evolve Process with Life Cycle Phases
Prioritize
Requirements
Design Test
Release
Network Platforms Group 15
Silicon Design Process – Physical Design
Source: https://verificationacademy.com/
Q
QSET
CLR
DConcept Requirements
Abstract
Model orSpecification
Register Transfer
Level Code
Verification and
Validation
Physical Design Fabrication
Output Output Output Output
FeedbackFeedbackFeedbackFeedback
Network Platforms Group 16
Difficult Agile Adoption
Extended Run Times
PD Closer to Manufacturing Process
– Cannot Drop Features in PD
– Need to Complete Process for Viable Chip
Mitigations
Stretch the Process
– Extend Sprint Duration
– Extend Scale of User Stories
Physical Design
Art of the PossiblePush the Process as far as Technology Allows
Network Platforms Group 17
Silicon Design Process – Preparing for Fabrication
Source: https://verificationacademy.com/
Q
QSET
CLR
DConcept Requirements
Abstract
Model orSpecification
Register Transfer
Level Code
Verification and
Validation
Physical Design Fabrication
Output Output Output Output
FeedbackFeedbackFeedbackFeedback
Network Platforms Group 18
Successfully Scaling
Hard to Scale Bad/Immature Agile
Drives Alignment and Synergy
– Standardization is Critical
– Variation Kills
Limit Cross-Site and Cross-Geo Scrums
– Limit Geos / Sites in a Single Train
Simple Rules
– Hard to Follow
Test Program Generation
Network Platforms Group 19
What do we do next?
Source: https://verificationacademy.com/
Q
QSET
CLR
DConcept Requirements
Abstract
Model orSpecification
Register Transfer
Level Code
Verification and
Validation
Physical Design Fabrication
Output Output Output Output
FeedbackFeedbackFeedbackFeedback
Network Platforms Group 20
Natural Language Specifications
Prone to Mis-Interpretation
Slow and Labour-Intensive Finding Bugs
Executable Specifications
Test Driven Specification Development
Focus on User Stories
Next Steps – Agile at Higher Abstraction Layers
Network Platforms Group 22
Summary
Ensure bounds on feature knowledge and skill set for each scrum team
Product Owner must sometimes balance interests of competing consumers
Look at different options when implementing Test Driven Development
Allow the process to evolve with the development life cycle
May need to stretch the process to accommodate underlying technology
Mature scrum teams prior to scaling
Network Platforms Group
Legal Disclaimers
Technology Disclaimer:
Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. No computer system can be absolutely secure. Check with your system manufacturer or retailer or learn more at [intel.com].
Performance Disclaimers (include only the relevant ones):
Cost reduction scenarios described are intended as examples of how a given Intel- based product, in the specified circumstances and configurations, may affect future costs and provide cost savings. Circumstances will vary. Intel does not guarantee any costs or cost reduction.
Results have been estimated or simulated using internal Intel analysis or architecture simulation or modeling, and provided to you for informational purposes. Any differences in your system hardware, software or configuration may affect your actual performance.
General Disclaimer:
© Copyright 2015 Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Inside, the Intel Inside logo, Intel. Experience What’s Inside are trademarks of Intel. Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others.
23
Network Platforms Group 25
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Agile Manifesto
Agile
Behaviours
Process
Network Platforms Group 26
Agile PrinciplesOur highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Business people and developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant paceindefinitely.
Continuous attention to technical excellence and good design enhances agility.
Simplicity--the art of maximizing the amount of work not done--is essential.
The best architectures, requirements, and designs emerge from self-organizing teams.
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Network Platforms Group 27
Work Context
Technology
Anarchy
Simple
Complex
Far from
Certainty
Close to
Certainty
Req
uir
em
en
tsF
ar
fro
m
Ag
ree
me
nt
Clo
se t
o
Ag
ree
me
nt
Complicated
Complicated
Technology
Anarchy
Simple
Complex
Far from
Certainty
Close to
Certainty
Req
uir
em
en
tsF
ar
fro
m
Ag
ree
me
nt
Clo
se t
o
Ag
ree
me
nt
Complicated
Complicated
* Adapted from Strategic Manaegment and Organizational Dynamics,The Challenge of Complexity - 3rd Edition, Ralph D. Stacey , Prentice Hall,Feb. 2000
Waterfall works with well-defined and unchanging projects, and can work well with well understood yet complicated development
Agile works well with complicated, complex projects that need to adapt to changes
Agile
Network Platforms Group 28
Scrum Behaviours
Accountability/Responsibility/Transparency
Takes pride in the Product (Value)
Buy In/Engagement (adheres to Agile Manifesto and Principles)
• Motivation
Adaptability/Flexibility
Teamwork and Collaboration (Updates and Communications)
•Prioritizes on value, risk, effort and dependencies
•Focuses on quality
Inspects and adapts (Continuous Improvements – removes impediments)
Growth and Development (Support the development of the team)
Challenges Status Quo