SlideShare uma empresa Scribd logo
1 de 24
May 1, 2013
On-the-fly design exploration
framework for simulation
May 1, 2013
Lior Altman, HUJI
Avi Green, Intel
Itai Yarom, Synopsys
May 1, 2013
It’s worth to find bugs early
2
May 1, 2013
Re-spins
May 1, 2013
The meaning of re-spin
4
May 1, 2013
Verification is Becoming the main Task
• How can we improve the verification flow?
• Can we make it easier to fix bugs?
May 1, 2013
The Bug Fix Flow
• Detect – simulation ends with unexpected result
• Debug – what caused the wrong behavior?
• Fix & Verify – provide a fix and verify it.
– Can take several simulation iterations
– The time consuming element is the time it takes to verify the fix
• This influence directly from how many times we rerun the simulation
May 1, 2013
Our Solution
• We focus on the “fix & verify” steps
• We want to:
 provide a way to instantly check the fix effect
Validate the specific fix without the need to recompile and
resimulate all the design.
 compare two alternative fixes
 Minimize the number of comp+elab+sim
 Time = #iteration X (compile, elaboration and simulation time)
May 1, 2013
assign o = a & b;
always @(x,y,z) begin
x = y;
z = x;
end
assign o = a & b | c;
always @(x,y,z) begin
z = x;
x = y;
end
+ ‘| c’
Changing expressions
order
How does it works
May 1, 2013
How does it works
May 1, 2013
The Analyze Engine
• The analyze engine builds the
expression tree(s) that we want
to present on the waveform.
• Step 1: Find the statements that
were changed.
• Step 2: Analyze the code and determine all the
statements that will be affected.
• Step 3: Analyze the context of statements
– Assign , Flip-Flop, Mux etc…
May 1, 2013
Updating the waveform
We are using a simulator agnostic
approach that uses the simulator
expressions:
For each statement (from
analyzer)
• generate expression (virtual
signals).
• Show them on the Waveform.
No needing to resimulate!!
May 1, 2013
Updating the waveform
We are using a simulator agnostic
approach that uses the simulator
expressions:
For each statement (from
analyzer)
• generate expression (virtual
signals).
• Show them on the Waveform.
No needing to resimulate!!
May 1, 2013
Performance
• The expression will be calculated on the fly
– The expression can use signals and/or other expressions values.
– This is very fast, since all the values are available.
– It enable us to validate the specific fix without the need to recompile
and resimulate all the design.
• The performance is related to:
– Expressions complexity
– Amount of expressions
– The viewable time window
• This flow can support multiple waveform for different fixes.
– Enable us to compare them and choose which fix to take
May 1, 2013
Prove of Concept
• The goal of the project was to show that it can
be done and enable designers to use it
– On-the-fly calculation is available today for
assertions and constraints (in some simulators)
• We enable to run our framework on ‘simple’
logic changes
– No support for complex SystemVerilog constructs
• We consider to release the framework as an
open source for the verification community
May 1, 2013
Future Work
• Provide support for more complex logic
• Improve the ability to compare between fixes
• Improve the UI/UX
May 1, 2013
Summary
• Chip re-spins occur
more often.
• The effort of a bug fix is
the time it takes to
verify it
• We introduced a
framework to reduce
this time significantly
May 1, 2013
On-the-fly design exploration
framework for simulation
May 1, 2013
Q & A
Avi Green Itai Yarom
May 1, 2013
Backup
May 1, 2013
May 1, 2013
May 1, 2013
May 1, 2013
Flaws that Caused a Re-spin
May 1, 2013
Verification Gap
May 1, 2013
Verification effort trends

Mais conteúdo relacionado

Semelhante a TRACK H: On-the-fly design exploration framework for simulation/ lior Altman

SauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App AutomatableSauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App AutomatableSauce Labs
 
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...Yuval Yeret
 
Chapter 2 Time boxing & agile models
Chapter 2   Time boxing & agile modelsChapter 2   Time boxing & agile models
Chapter 2 Time boxing & agile modelsGolda Margret Sheeba J
 
DevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroDevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroPaul Boos
 
ASIC SoC Verification Challenges and Methodologies
ASIC SoC Verification Challenges and MethodologiesASIC SoC Verification Challenges and Methodologies
ASIC SoC Verification Challenges and MethodologiesDr. Shivananda Koteshwar
 
Adm Initial Proposal
Adm Initial ProposalAdm Initial Proposal
Adm Initial Proposalcfry
 
Simulate Functional Models
Simulate Functional ModelsSimulate Functional Models
Simulate Functional ModelsTaylorDuffy11
 
Creating testing tools to support development
Creating testing tools to support developmentCreating testing tools to support development
Creating testing tools to support developmentChema del Barco
 
Cucumber jvm best practices v3
Cucumber jvm best practices v3Cucumber jvm best practices v3
Cucumber jvm best practices v3Ahmed Misbah
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Applitools
 
Test estimation session
Test estimation sessionTest estimation session
Test estimation sessionVipul Agarwal
 
Software testing 2012 - A Year in Review
Software testing 2012 - A Year in ReviewSoftware testing 2012 - A Year in Review
Software testing 2012 - A Year in ReviewJohan Hoberg
 
Unit Testing Full@
Unit Testing Full@Unit Testing Full@
Unit Testing Full@Alex Borsuk
 
FutureOfTesting2008
FutureOfTesting2008FutureOfTesting2008
FutureOfTesting2008vipulkocher
 
Eric Proegler Early Performance Testing from CAST2014
Eric Proegler Early Performance Testing from CAST2014Eric Proegler Early Performance Testing from CAST2014
Eric Proegler Early Performance Testing from CAST2014Eric Proegler
 

Semelhante a TRACK H: On-the-fly design exploration framework for simulation/ lior Altman (20)

SauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App AutomatableSauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App Automatable
 
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
 
Agile
AgileAgile
Agile
 
Chapter 2 Time boxing & agile models
Chapter 2   Time boxing & agile modelsChapter 2   Time boxing & agile models
Chapter 2 Time boxing & agile models
 
DevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroDevOps - Boldly Go for Distro
DevOps - Boldly Go for Distro
 
ASIC SoC Verification Challenges and Methodologies
ASIC SoC Verification Challenges and MethodologiesASIC SoC Verification Challenges and Methodologies
ASIC SoC Verification Challenges and Methodologies
 
Adm Initial Proposal
Adm Initial ProposalAdm Initial Proposal
Adm Initial Proposal
 
Simulate Functional Models
Simulate Functional ModelsSimulate Functional Models
Simulate Functional Models
 
TDD Workshop UTN 2012
TDD Workshop UTN 2012TDD Workshop UTN 2012
TDD Workshop UTN 2012
 
Creating testing tools to support development
Creating testing tools to support developmentCreating testing tools to support development
Creating testing tools to support development
 
Cucumber jvm best practices v3
Cucumber jvm best practices v3Cucumber jvm best practices v3
Cucumber jvm best practices v3
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
 
Test estimation session
Test estimation sessionTest estimation session
Test estimation session
 
utplsql.pdf
utplsql.pdfutplsql.pdf
utplsql.pdf
 
Software testing 2012 - A Year in Review
Software testing 2012 - A Year in ReviewSoftware testing 2012 - A Year in Review
Software testing 2012 - A Year in Review
 
Unit Testing Full@
Unit Testing Full@Unit Testing Full@
Unit Testing Full@
 
Scrum and DevOps training
Scrum and DevOps trainingScrum and DevOps training
Scrum and DevOps training
 
FutureOfTesting2008
FutureOfTesting2008FutureOfTesting2008
FutureOfTesting2008
 
Eric Proegler Early Performance Testing from CAST2014
Eric Proegler Early Performance Testing from CAST2014Eric Proegler Early Performance Testing from CAST2014
Eric Proegler Early Performance Testing from CAST2014
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 

Mais de chiportal

Prof. Zhihua Wang, Tsinghua University, Beijing, China
Prof. Zhihua Wang, Tsinghua University, Beijing, China Prof. Zhihua Wang, Tsinghua University, Beijing, China
Prof. Zhihua Wang, Tsinghua University, Beijing, China chiportal
 
Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...
Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...
Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...chiportal
 
Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...
Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...
Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...chiportal
 
Prof. Uri Weiser,Technion
Prof. Uri Weiser,TechnionProf. Uri Weiser,Technion
Prof. Uri Weiser,Technionchiportal
 
Ken Liao, Senior Associate VP, Faraday
Ken Liao, Senior Associate VP, FaradayKen Liao, Senior Associate VP, Faraday
Ken Liao, Senior Associate VP, Faradaychiportal
 
Prof. Danny Raz, Director, Bell Labs Israel, Nokia
 Prof. Danny Raz, Director, Bell Labs Israel, Nokia  Prof. Danny Raz, Director, Bell Labs Israel, Nokia
Prof. Danny Raz, Director, Bell Labs Israel, Nokia chiportal
 
Marco Casale-Rossi, Product Mktg. Manager, Synopsys
Marco Casale-Rossi, Product Mktg. Manager, SynopsysMarco Casale-Rossi, Product Mktg. Manager, Synopsys
Marco Casale-Rossi, Product Mktg. Manager, Synopsyschiportal
 
Dr.Efraim Aharoni, ESD Leader, TowerJazz
Dr.Efraim Aharoni, ESD Leader, TowerJazzDr.Efraim Aharoni, ESD Leader, TowerJazz
Dr.Efraim Aharoni, ESD Leader, TowerJazzchiportal
 
Eddy Kvetny, System Engineering Group Leader, Intel
Eddy Kvetny, System Engineering Group Leader, IntelEddy Kvetny, System Engineering Group Leader, Intel
Eddy Kvetny, System Engineering Group Leader, Intelchiportal
 
Dr. John Bainbridge, Principal Application Architect, NetSpeed
 Dr. John Bainbridge, Principal Application Architect, NetSpeed  Dr. John Bainbridge, Principal Application Architect, NetSpeed
Dr. John Bainbridge, Principal Application Architect, NetSpeed chiportal
 
Xavier van Ruymbeke, App. Engineer, Arteris
Xavier van Ruymbeke, App. Engineer, ArterisXavier van Ruymbeke, App. Engineer, Arteris
Xavier van Ruymbeke, App. Engineer, Arterischiportal
 
Asi Lifshitz, VP R&D, Vtool
Asi Lifshitz, VP R&D, VtoolAsi Lifshitz, VP R&D, Vtool
Asi Lifshitz, VP R&D, Vtoolchiportal
 
Zvika Rozenshein,General Manager, EngineeringIQ
Zvika Rozenshein,General Manager, EngineeringIQZvika Rozenshein,General Manager, EngineeringIQ
Zvika Rozenshein,General Manager, EngineeringIQchiportal
 
Lewis Chu,Marketing Director,GUC
Lewis Chu,Marketing Director,GUC Lewis Chu,Marketing Director,GUC
Lewis Chu,Marketing Director,GUC chiportal
 
Kunal Varshney, VLSI Engineer, Open-Silicon
Kunal Varshney, VLSI Engineer, Open-SiliconKunal Varshney, VLSI Engineer, Open-Silicon
Kunal Varshney, VLSI Engineer, Open-Siliconchiportal
 
Gert Goossens,Sen. Director, ASIP Tools, Synopsys
Gert Goossens,Sen. Director, ASIP Tools, SynopsysGert Goossens,Sen. Director, ASIP Tools, Synopsys
Gert Goossens,Sen. Director, ASIP Tools, Synopsyschiportal
 
Tuvia Liran, Director of VLSI, Nano Retina
Tuvia Liran, Director of VLSI, Nano RetinaTuvia Liran, Director of VLSI, Nano Retina
Tuvia Liran, Director of VLSI, Nano Retinachiportal
 
Sagar Kadam, Lead Software Engineer, Open-Silicon
Sagar Kadam, Lead Software Engineer, Open-SiliconSagar Kadam, Lead Software Engineer, Open-Silicon
Sagar Kadam, Lead Software Engineer, Open-Siliconchiportal
 
Ronen Shtayer,Director of ASG Operations & PMO, NXP Semiconductor
Ronen Shtayer,Director of ASG Operations & PMO, NXP SemiconductorRonen Shtayer,Director of ASG Operations & PMO, NXP Semiconductor
Ronen Shtayer,Director of ASG Operations & PMO, NXP Semiconductorchiportal
 
Prof. Emanuel Cohen, Technion
Prof. Emanuel Cohen, TechnionProf. Emanuel Cohen, Technion
Prof. Emanuel Cohen, Technionchiportal
 

Mais de chiportal (20)

Prof. Zhihua Wang, Tsinghua University, Beijing, China
Prof. Zhihua Wang, Tsinghua University, Beijing, China Prof. Zhihua Wang, Tsinghua University, Beijing, China
Prof. Zhihua Wang, Tsinghua University, Beijing, China
 
Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...
Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...
Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...
 
Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...
Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...
Prof. Steve Furber, University of Manchester, Principal Designer of the BBC M...
 
Prof. Uri Weiser,Technion
Prof. Uri Weiser,TechnionProf. Uri Weiser,Technion
Prof. Uri Weiser,Technion
 
Ken Liao, Senior Associate VP, Faraday
Ken Liao, Senior Associate VP, FaradayKen Liao, Senior Associate VP, Faraday
Ken Liao, Senior Associate VP, Faraday
 
Prof. Danny Raz, Director, Bell Labs Israel, Nokia
 Prof. Danny Raz, Director, Bell Labs Israel, Nokia  Prof. Danny Raz, Director, Bell Labs Israel, Nokia
Prof. Danny Raz, Director, Bell Labs Israel, Nokia
 
Marco Casale-Rossi, Product Mktg. Manager, Synopsys
Marco Casale-Rossi, Product Mktg. Manager, SynopsysMarco Casale-Rossi, Product Mktg. Manager, Synopsys
Marco Casale-Rossi, Product Mktg. Manager, Synopsys
 
Dr.Efraim Aharoni, ESD Leader, TowerJazz
Dr.Efraim Aharoni, ESD Leader, TowerJazzDr.Efraim Aharoni, ESD Leader, TowerJazz
Dr.Efraim Aharoni, ESD Leader, TowerJazz
 
Eddy Kvetny, System Engineering Group Leader, Intel
Eddy Kvetny, System Engineering Group Leader, IntelEddy Kvetny, System Engineering Group Leader, Intel
Eddy Kvetny, System Engineering Group Leader, Intel
 
Dr. John Bainbridge, Principal Application Architect, NetSpeed
 Dr. John Bainbridge, Principal Application Architect, NetSpeed  Dr. John Bainbridge, Principal Application Architect, NetSpeed
Dr. John Bainbridge, Principal Application Architect, NetSpeed
 
Xavier van Ruymbeke, App. Engineer, Arteris
Xavier van Ruymbeke, App. Engineer, ArterisXavier van Ruymbeke, App. Engineer, Arteris
Xavier van Ruymbeke, App. Engineer, Arteris
 
Asi Lifshitz, VP R&D, Vtool
Asi Lifshitz, VP R&D, VtoolAsi Lifshitz, VP R&D, Vtool
Asi Lifshitz, VP R&D, Vtool
 
Zvika Rozenshein,General Manager, EngineeringIQ
Zvika Rozenshein,General Manager, EngineeringIQZvika Rozenshein,General Manager, EngineeringIQ
Zvika Rozenshein,General Manager, EngineeringIQ
 
Lewis Chu,Marketing Director,GUC
Lewis Chu,Marketing Director,GUC Lewis Chu,Marketing Director,GUC
Lewis Chu,Marketing Director,GUC
 
Kunal Varshney, VLSI Engineer, Open-Silicon
Kunal Varshney, VLSI Engineer, Open-SiliconKunal Varshney, VLSI Engineer, Open-Silicon
Kunal Varshney, VLSI Engineer, Open-Silicon
 
Gert Goossens,Sen. Director, ASIP Tools, Synopsys
Gert Goossens,Sen. Director, ASIP Tools, SynopsysGert Goossens,Sen. Director, ASIP Tools, Synopsys
Gert Goossens,Sen. Director, ASIP Tools, Synopsys
 
Tuvia Liran, Director of VLSI, Nano Retina
Tuvia Liran, Director of VLSI, Nano RetinaTuvia Liran, Director of VLSI, Nano Retina
Tuvia Liran, Director of VLSI, Nano Retina
 
Sagar Kadam, Lead Software Engineer, Open-Silicon
Sagar Kadam, Lead Software Engineer, Open-SiliconSagar Kadam, Lead Software Engineer, Open-Silicon
Sagar Kadam, Lead Software Engineer, Open-Silicon
 
Ronen Shtayer,Director of ASG Operations & PMO, NXP Semiconductor
Ronen Shtayer,Director of ASG Operations & PMO, NXP SemiconductorRonen Shtayer,Director of ASG Operations & PMO, NXP Semiconductor
Ronen Shtayer,Director of ASG Operations & PMO, NXP Semiconductor
 
Prof. Emanuel Cohen, Technion
Prof. Emanuel Cohen, TechnionProf. Emanuel Cohen, Technion
Prof. Emanuel Cohen, Technion
 

TRACK H: On-the-fly design exploration framework for simulation/ lior Altman

  • 1. May 1, 2013 On-the-fly design exploration framework for simulation May 1, 2013 Lior Altman, HUJI Avi Green, Intel Itai Yarom, Synopsys
  • 2. May 1, 2013 It’s worth to find bugs early 2
  • 4. May 1, 2013 The meaning of re-spin 4
  • 5. May 1, 2013 Verification is Becoming the main Task • How can we improve the verification flow? • Can we make it easier to fix bugs?
  • 6. May 1, 2013 The Bug Fix Flow • Detect – simulation ends with unexpected result • Debug – what caused the wrong behavior? • Fix & Verify – provide a fix and verify it. – Can take several simulation iterations – The time consuming element is the time it takes to verify the fix • This influence directly from how many times we rerun the simulation
  • 7. May 1, 2013 Our Solution • We focus on the “fix & verify” steps • We want to:  provide a way to instantly check the fix effect Validate the specific fix without the need to recompile and resimulate all the design.  compare two alternative fixes  Minimize the number of comp+elab+sim  Time = #iteration X (compile, elaboration and simulation time)
  • 8. May 1, 2013 assign o = a & b; always @(x,y,z) begin x = y; z = x; end assign o = a & b | c; always @(x,y,z) begin z = x; x = y; end + ‘| c’ Changing expressions order How does it works
  • 9. May 1, 2013 How does it works
  • 10. May 1, 2013 The Analyze Engine • The analyze engine builds the expression tree(s) that we want to present on the waveform. • Step 1: Find the statements that were changed. • Step 2: Analyze the code and determine all the statements that will be affected. • Step 3: Analyze the context of statements – Assign , Flip-Flop, Mux etc…
  • 11. May 1, 2013 Updating the waveform We are using a simulator agnostic approach that uses the simulator expressions: For each statement (from analyzer) • generate expression (virtual signals). • Show them on the Waveform. No needing to resimulate!!
  • 12. May 1, 2013 Updating the waveform We are using a simulator agnostic approach that uses the simulator expressions: For each statement (from analyzer) • generate expression (virtual signals). • Show them on the Waveform. No needing to resimulate!!
  • 13. May 1, 2013 Performance • The expression will be calculated on the fly – The expression can use signals and/or other expressions values. – This is very fast, since all the values are available. – It enable us to validate the specific fix without the need to recompile and resimulate all the design. • The performance is related to: – Expressions complexity – Amount of expressions – The viewable time window • This flow can support multiple waveform for different fixes. – Enable us to compare them and choose which fix to take
  • 14. May 1, 2013 Prove of Concept • The goal of the project was to show that it can be done and enable designers to use it – On-the-fly calculation is available today for assertions and constraints (in some simulators) • We enable to run our framework on ‘simple’ logic changes – No support for complex SystemVerilog constructs • We consider to release the framework as an open source for the verification community
  • 15. May 1, 2013 Future Work • Provide support for more complex logic • Improve the ability to compare between fixes • Improve the UI/UX
  • 16. May 1, 2013 Summary • Chip re-spins occur more often. • The effort of a bug fix is the time it takes to verify it • We introduced a framework to reduce this time significantly
  • 17. May 1, 2013 On-the-fly design exploration framework for simulation May 1, 2013 Q & A Avi Green Itai Yarom
  • 22. May 1, 2013 Flaws that Caused a Re-spin
  • 24. May 1, 2013 Verification effort trends