Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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.

  • Login to see the comments

  • Be the first to like this

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

×