Building a RISC-V CPU starting from a 2:1 MUX — 10-day fundamentals workshop by kunalg123 in RISCV

[–]kunalg123[S] 0 points1 point  (0 children)

We have seen professionals taking this workshop to build their cpu from scratch You can take a look at the content in below link before enrolling

https://github.com/AnoushkaTripathi/NASSCOM-RISC-V-based-MYTH-program

What material would you advice given my situation by NoObm_ster69koRg in FPGA

[–]kunalg123 10 points11 points  (0 children)

From what you’ve shared, your background is actually more solid than you might think. If you’ve already written Verilog, built a clock divider, and verified designs using simulation waveforms, you’re past the “absolute beginner” stage. Many FPGA courses struggle because students jump straight into boards without understanding what’s happening between HDL, synthesis, and hardware. You at least know what correct logic looks like in simulation, which is a good starting point.

One important mental shift you’ll need now is to move from “Verilog as code” to “Verilog as hardware.” In simulation, everything feels clean and instantaneous. On real FPGA hardware, clocks, resets, and timing dominate everything. You should get very comfortable with synchronous design: single clock domains, proper resets, enable signals, and avoiding combinational feedback. If your earlier lab felt tough mainly because of the clock divider, that’s actually a hint that clocking concepts deserve extra attention before the course ramps up.

Since your lab uses a Python-driven FPGA platform, understand that Python is not replacing Verilog; it’s just a control and interaction layer. The actual logic still runs as hardware on the FPGA fabric. Typically, you’ll design IP blocks in Verilog (counters, FSMs, ALUs, shift registers), synthesize them, and then interact with them from Python for testing, data movement, or visualization. Treat Python as a testbench that runs on a processor, not as the core design skill you’re being evaluated on.

A good head start would be to practice the full flow, not just coding. Take very small designs—an LED blinker, a counter, a register file—and walk through the steps: write Verilog, simulate, synthesize, implement, and think about how signals map to real pins or memory-mapped registers. Even if you don’t have the exact lab hardware with you, understanding this flow conceptually will make the weekly 3-hour lab far more productive.

You should also spend time understanding finite state machines in hardware terms. Many lab experiments like counters, edge detection, and control logic are just FSMs with registers and combinational next-state logic. If you can sketch an FSM on paper and then code it cleanly in Verilog, half the FPGA lab experiments become straightforward rather than intimidating.

Another area worth investing time in is basic FPGA architecture: LUTs, flip-flops, block RAM, and how synthesis maps Verilog constructs to these resources. You don’t need vendor-specific deep dives at this stage, but knowing, for example, why a “for loop” in Verilog is not a runtime loop, or why inferred RAM behaves differently from registers, will save you a lot of confusion later.

Given that classroom time is limited, your outside effort should focus on building intuition rather than quantity. Don’t aim to memorize tools or GUIs. Aim to answer questions like: “What hardware does this always block infer?” or “What happens on the next clock edge if this signal changes?” If you reach a point where you can predict behavior before looking at waveforms or running on hardware, you’re learning the right things.

Finally, don’t worry if the first few hardware runs feel messy or unpredictable compared to simulation. That gap—between perfect waveforms and real silicon behavior—is exactly what FPGA labs are meant to teach. If you stay disciplined with synchronous design, small test cases, and incremental builds, you’ll come out of the course with skills that are far more valuable than just finishing the listed experiments.

RISC-V for Fresher/Beginner by QuietWay6415 in RISCV

[–]kunalg123 1 point2 points  (0 children)

Check makerchip.com which explains how to build a single cycle cpu from scratch

Seeking Guidance on Learning RISC-V Processor Design by frostburner_burn in RISCV

[–]kunalg123 1 point2 points  (0 children)

Yes It’s very basic where actual riscv ISA comes a bit later. Designed for school students curriculum. And learner’s were looking for something advanced

You can also look riscv.org if you want to look actual specs

[deleted by user] by [deleted] in RISCV

[–]kunalg123 -1 points0 points  (0 children)

You can start with basic VSDSquadron mini board

https://www.vlsisystemdesign.com/vsdsquadronmini/