Course code: SP-CPP-3
  • Years with company: 5
  • Years programming: 20
  • Primary programming language: C
  • Other programming languages: C++, Python, VHDL, Verilog, System Verilog
  • Unit test harnesses: Cppunit
  • Something else: I am also a course instructor and I also write technical blogs over at embeddedrelated.com :)
  • Test practice now: For C++ code Cppunit and using mocks for hardware drivers. For FPGA I use System Verilog with assertions to implement TDD to verify behaviours to reduce the risk of regressions when making changes.
  • Target system: Almost all my projects have an FPGA and chips around them that we interface to.
  • Dev tools: VSCode with TerosHDL for FPGA work and VSCode with C/C++ extensions for linting/code completion etc.
  • Build time: 1-5 minutes
  • Coding standard: I have formulated my own coding standards based on the DO aviation standard for FPGA's. For C MISRA.
  • Function too long: When it handles too many behaviours.
  • Code reviews: Generally I like to use checklists and have reviewers read standards beforehand.
  • Code time: 2
  • Test time: 4
  • Debug time: 4
  • Favorite thing about dev: It is always a joy to see new behaviours working on a live board.
  • Least favorite thing about dev: How much time is spent trying things until it works and how brittle it often is.
  • Tdd knowledge: Very little, just that it can help prevent regression issues using a design for test philosophy.
  • Why are you attending: I was recommended it by Steve Branam and most recently I'm finding it could be useful for FPGA's.