this post was submitted on 28 Jun 2026
98 points (97.1% liked)
Asklemmy
54747 readers
308 users here now
A loosely moderated place to ask open-ended questions
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- !lemmy411@lemmy.ca: a community for finding communities
~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~
founded 7 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I wanted to learn hardware design by designing a basic risc-v processor, ben eater style, kind of like a 1970s minicomputer, with expansion slots for new isa extensions and CSRs. But obviously using real breadboards for experimentation would be too slow when designing a 32 bit processor. I had never touched an hdl before.
So I sat down and started writing my own simulator and netlist generation dsl from scratch. It only works at the gate level, no behavioral synthesis, but flexible enough to write components modelling, for example, 74 series chips. It does vhdl-like delta cycle simulation using 8-valued logic, but without vhdl's signal forwarding footgun.
I then implemented an rv32i processor with full m-mode support, and a risc-v emulator in rom to trap and silently emulate any missing extension instructions. When a new expansion board is plugged in, those instructions are simply not trapped and are accelerated in hardware.
I then learned just enough systemverilog to faithfully transliterate the generated netlist into structural verilog, and it actually synthesized and worked perfectly on an fpga.
I am now in the process of very slowly designing boards to hopefully one day manage to build the whole thing out of discrete 74hc series logic
you want to know something? I have absolutely no idea what most of that means. That means you not only have acquired some super specialized knowledge and vocabulary, but you have also done it well enough and have a firm enough grasp of it that you can create whatever it is that you did! It sounds super intense and like it took a lot of time and effort. Go you! That is definitely something to be proud of.