FPGA and HDL development philosophy

This blog has several purposes, but the one I find most important is to communicate and discuss topics on FPGA and HDL development philosophy. My work the last years on mainly large and complex designs has made me develop a large interest in these issues.

Comparsion with the software world

Within software development, there are a large number of paradigms, methods and trends, eagerly discussed within the software development community. I have felt that the hardware community partly lacks a corresponding discussion - and often, lacking as well the very concepts themselves. Inspired by software development trends along with my own experience and self-developed strategies, I hope this blog can help to get my ideas discussed and critizised.

Some suggested reading on these issues

These themes of the blog are only barely initiated. More posts will be appearing soon.

Some posts to come on these issues

  • Test Driven Development for hardware designs
  • An object-oriented approach to structuring a hardware design
  • Strategies for coding 'state', and which of them to choose - FSMs, Flip-flops, distributed, and others
  • Reliable designs: combining Assertion Based Design, Code Coverage, Unit Testing and Hardware-in-the-loop testing
  • The constant strive of getting more productive as a hardware developer

Robustness, reliability and verification

Partly overlapping with the above are the issues of robustness, reliability and verification - another interest of mine that has grown out of working on a project with high requirements on reliability.