Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
xkcd.com
30 recompiles in half a day =
15 %
of time wasted
How long do you type
before testing your code?
shortening the feedback loop
Philippe Faes, PhD
Outline
• The loop design feedback loop
• Time scales: seconds or months?
• Shortening the loop
• What’s next?
B.W. Boehm. Software Engineering Economics, 1981
time
cost
cost to fix increases over time
B.W. Boehm. Software Engineering Economics, 1981
time
cost
cost to fix increases over time
exponentially
v
log
1
10
100
10...
Time scale
• After a few hours when you compile
• Next day by your colleague
• During weekly code review
• Simulation
• Af...
Examples
• After a few seconds?
• After a few minutes?
• Linting phase
• After a few hours by a machine
• Next day by your...
compile
simulate
synthesis
(etcetera)
typing
$
$$
$$$
save file compile
simulate
synthesis
(etcetera)
typing
$
$$
$$$
save file compile
simulate
synthesis
(etcetera)
typing
$
$$
$$$
save file compile
simulate
synthesis
(etcetera)
typing
$
$$
$$$
¢¢
¢
Regression testing
(not the subject of this talk)
Save-time compilation
• Integration with ISim (Xilinx)
ModelSim and Riviera-PRO
• Error markers in the text!
= right where...
Save-time linting
• Linting is no longer a separate phase!
• Integrated in development
= much less effort
= cheaper
• Avai...
Type-time compilation
• Compare this to spell check in Word
• BUT: also Grammar, Semantics
• Built in parser
• type-time
•...
Type-time compilation
• Compare this to spell check in Word
• BUT: also Grammar, Semantics
• Built in parser
• type-time
•...
Checking in bad code
makes you look bad
Examples
• After a few seconds?
• After a few minutes?
• Linting phase
• After a few hours by a machine
• Next day by your...
What you can do
• Try out Sigasi Pro at www.sigasi.com
• Save and compile often!
• Integrate linting checks in development...
Shortening the feedback loop: faster and better code development
Shortening the feedback loop: faster and better code development
Prochain SlideShare
Chargement dans…5
×

Shortening the feedback loop: faster and better code development

Presentation about getting feedback from your tools faster.
Presented at the 2013 PLC2 conference on FPGAs in Stuttgart.

  • Identifiez-vous pour voir les commentaires

  • Soyez le premier à aimer ceci

Shortening the feedback loop: faster and better code development

  1. 1. xkcd.com
  2. 2. 30 recompiles in half a day = 15 % of time wasted
  3. 3. How long do you type before testing your code?
  4. 4. shortening the feedback loop Philippe Faes, PhD
  5. 5. Outline • The loop design feedback loop • Time scales: seconds or months? • Shortening the loop • What’s next?
  6. 6. B.W. Boehm. Software Engineering Economics, 1981 time cost cost to fix increases over time
  7. 7. B.W. Boehm. Software Engineering Economics, 1981 time cost cost to fix increases over time exponentially v log 1 10 100 1000
  8. 8. Time scale • After a few hours when you compile • Next day by your colleague • During weekly code review • Simulation • After synthesis / P&R • In “linting” phase before tape out • After tape-out • In the field
  9. 9. Examples • After a few seconds? • After a few minutes? • Linting phase • After a few hours by a machine • Next day by your colleague • During weekly code review • Simulation (automatic) • After synthesis / P&R (automatic) • In “linting” phase before tape out • After tape-out
  10. 10. compile simulate synthesis (etcetera) typing $ $$ $$$
  11. 11. save file compile simulate synthesis (etcetera) typing $ $$ $$$
  12. 12. save file compile simulate synthesis (etcetera) typing $ $$ $$$
  13. 13. save file compile simulate synthesis (etcetera) typing $ $$ $$$ ¢¢ ¢
  14. 14. Regression testing (not the subject of this talk)
  15. 15. Save-time compilation • Integration with ISim (Xilinx) ModelSim and Riviera-PRO • Error markers in the text! = right where you can fix the code.
  16. 16. Save-time linting • Linting is no longer a separate phase! • Integrated in development = much less effort = cheaper • Available for Aldec ALINT on request.
  17. 17. Type-time compilation • Compare this to spell check in Word • BUT: also Grammar, Semantics • Built in parser • type-time • recovering
  18. 18. Type-time compilation • Compare this to spell check in Word • BUT: also Grammar, Semantics • Built in parser • type-time • recovering
  19. 19. Checking in bad code makes you look bad
  20. 20. Examples • After a few seconds? • After a few minutes? • Linting phase • After a few hours by a machine • Next day by your colleague • During weekly code review • Simulation (automatic) • After synthesis / P&R (automatic) • In “linting” phase before tape out • After tape-out
  21. 21. What you can do • Try out Sigasi Pro at www.sigasi.com • Save and compile often! • Integrate linting checks in development process • Set up Regression Testing

×