Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer
1–10 of 32 posts
Re: Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer
#2That said, high-level HDLs like nMigen are very promising for education, and I hope more people take the same first steps as the article's author did. It's a fun field.
And along those lines, here's hoping that MIT updates their free 6.004 edX course to reflect the in-person class' new RISC-V focus soon.
Re: Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer
#3Does part 2 exist yet? This is basically an explanation of what FPGAs are and a "hello world" nMigen example. That said, high-level HDLs like nMigen are very promising for education, and I hope more people take the same first steps as the article's author did. It's a fun field. And along those lines, here's hoping that MIT updates their free 6.004 edX course to reflect the in-person class' new RISC-V focus soon.
While it hasn't been uploaded into Open Courseware yet you can simply get it directly from the web site. Though you "have to be logged in", materials can be downloaded without logging in if you use a search engine to find what you're looking for, e.g. https://6004.mit.edu/web/_static/spring21/resources/fa20/L02... which talks about RISC-V
Re: Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer
#4What does the formal verification flow/s look like for it?
Re: Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer
#5Re: Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer
#6For software engineers wanting to get into hardware design, the most important thing to remember is that it isn't software, despite feeling a bit like writing software. Writing instructions and describing hardware are very different, regardless of how much a HDL may try to hide that difference with similar looking constructs.
Re: Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer
#7Re: Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer
#8Is anyone around who has implemented a substantial project in nMigen? Looking at the syntax it looks very unintuitive and awkward, mainly due to being shoehorned into Python syntax. Do the advantages of being able to metaprogram in Python outweigh the disadvantages of the syntax? (I’m comparing to a hypothetical HDL which is at a similar abstraction level but has a dedicated syntax and some other way of embedding met…
Re: Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer
#9For software engineers wanting to get into hardware design, the most important thing to remember is that it isn't software, despite feeling a bit like writing software. Writing instructions and describing hardware are very different, regardless of how much a HDL may try to hide that difference with similar looking constructs.
Re: Designing a RISC-V CPU, Part 1: Learning hardware design as a software engineer
#10Does part 2 exist yet? This is basically an explanation of what FPGAs are and a "hello world" nMigen example. That said, high-level HDLs like nMigen are very promising for education, and I hope more people take the same first steps as the article's author did. It's a fun field. And along those lines, here's hoping that MIT updates their free 6.004 edX course to reflect the in-person class' new RISC-V focus soon.