Wednesday, April 6, 2022

1-Engineering Tools Overview

This blog describes how to develop software circuit simulators. Engineers use circuit simulator to design the circuit architecture and predict performance before it is committed to hardware reducing rework and cost.  How do circuit simulators work? How can the curious scientist, engineer, technician, or hobbyist write a simulator? Although open source simulators exist such as QUCS and Schematic, understanding the software architecture presents a challenge to the occasional programmer (at least it was for me). The objective of this blog is to close the learning gap between "Hello World" and a fully operational circuit simulator.

The blog posts will progress in small steps and discuss the software techniques used to solve each architecture problem and explain how it solves the problem. I use "test" projects to work out the software code prior to integrating it into the main project. 

  • Test shape project
  • Test wire project
  • Test circuit traverse project
  • Digital circuit simulator
I decided to follow a few software design rules
  • DRY - Don't repeat yourself
  • KISS - Keep it super simple
  • Abstraction and Encapsulation using Object-Oriented Programming (OOP)
  • Inheritance and Polymorphism in OOP
  • Modern user interface
In this blog series, we will use Visual Studio 2019 Community Edition (free) with C#/WinForms for this project. Future blogs may show how these concepts can be used in other languages and graphic libraries such a C++/Qt6 for cross-platform support.

No comments:

Post a Comment

34-Microwave Tools with Analysis (Series Final Post)

In this final blog post, I have integrated Y-Matrix analysis into the Microwave Tools project. This version has addition Lumped, Ideal, Micr...