4 ms·
As a Software Engineer, i had long thought about learning (and possibly moving into) Hardware Chip Design and/or its ancillary support domains i.e. what you hav
by rramadass 8mo ago
As a Software Engineer, i had long thought about learning (and possibly moving into) Hardware Chip Design and/or its ancillary support domains i.e. what you have listed.
I understand that learning FPGA programming (Verilog/VHDL/etc.) is a first-step in that journey. Would you agree? Have you looked at books like FPGAs for Software Programmers? - https://link.springer.com/book/10.1007/978-3-319-26408-0 https://link.springer.com/book/10.1007/978-3-319-26408-0
For each of the domains you have listed, would you mind sharing books/tools/sites etc.?
For example, While researching the above long ago, i had come across the following;
C++ Modelling of SoC Systems Part 1: Processor Elements - https://www.linkedin.com/pulse/c-modelling-soc-systems-part-1-processor-elements-simon-southwell?trk=article-ssr-frontend-pulse_little-text-block https://www.linkedin.com/pulse/c-modelling-soc-systems-part-...
C++ Modelling of SoC Systems Part 2 : Infrastructure - https://www.linkedin.com/pulse/c-modelling-soc-systems-part-2-infrastructure-simon-southwell-7mope https://www.linkedin.com/pulse/c-modelling-soc-systems-part-...
gem5 Simulator - https://www.gem5.org/ https://www.gem5.org/
Verilator Simulator - https://www.veripool.org/verilator/ https://www.veripool.org/verilator/
Maybe you can provide a step-by-step roadmap on how a software guy (C/C++, systems programming) can move on to hardware chip design?
- i_don_t_know 8mo agoWhen I became interested in FPGAs recently, I read this book https://nostarch.com/gettingstartedwithfpgas https://nostarch.com/gettingstartedwithfpgas I bought a cheap FPGA board based on Lattice's ice40. There are free OSS tools to write, simulate, and install your Verilog/VHDL design onto the ice40. It's probably a far cry from what a professional FPGA programmer does with Vivado etc but it might give you an inexpensive idea of the basics and if you want to pursue it.
- rramadass 8mo agoRight; i already have looked into this (had gotten a FPGA board from Digilent with Vivado and a whole bunch of FPGA books a while ago) but have not done much with it. I generally like to read/learn different subjects for intellectual curiosity before looking at job/business/etc. opportunities using it. What i was interested to know from the gp's comment is; what would it take today to actually get into this industry; how the current AI tools make it easy (if at all) and what one should concentrate on if one wants to approach Hardware Chip Design as a whole. The C++ SoC modeling articles i listed above were a great help for me to understand where my software skills could be of immediate value here. Since the gp seemed to be knowledgeable in this domain i was curious to know his take on the overall domain.
- BitsAndObjects 8mo agoI thought this might be better captured in a blog post, so here you go: https://ednutting.com/2026/02/20/sw-to-digital-logic-design.html https://ednutting.com/2026/02/20/sw-to-digital-logic-design.... I think if I spent more than the last 90 minutes on this, I might come up with more detailed and nuanced opinions for you. Irrespective, hopefully this offers some useful thoughts. Happy to continue the conversation here on HN.
- rramadass 8mo agoGood introductory overview post. However, most of it was already known and i was looking for something more specific/detailed given the OP article. In the past i had worked on a custom SoC (on the software side) and had often interacted with the hardware designers to understand more of their domain. The first surprise was that most Verilog/RTL guys didn't know anything about software (not even assembly/C!) while of course embedded software guys (like myself) didn't know anything about HDLs. There was (and is) a very hard disconnect which is quite interesting. In the spirit of the OP article, the book i linked to actually shows a path via Vivado HLS for software folks to move into hardware design using their C/C++ programming skills. But i would like to see some hardware designer here validate that approach in the real-world. Especially now that you have powerful AI tools available to help you do stuff faster and easier. With the rise of demanding AI/ML/Crypto applications, there is now a greater interest in designing new types of custom hardware requiring Hardware/Software Modeling(verification/benchmarking)/Co-Design/Co-Verification etc. They involve designing complete SoCs containing CPU/GPU/FPGAs based on specific designs. Given that hardware design is a universe of its own, not knowing the overall picture i.e. architecture/tools/methodologies/etc. makes it quite daunting for software folks to approach it. PS: Maybe you can augment/create-new blog post with an actual case study based on your experiences on steps involved going from ideation to tapeout.