Design features
Software and processor tools
Set up a CPU once, then build and run assembly and C programs on it in simulation.
Does your design run programs?#
Most hardware does not run programs. The Firmware tab tells you which kind of design you have. Fixed-function logic, accelerators, sensors, neuromorphic arrays, and other non-processor hardware are exercised by simulation in Workflow and Goals, so they get no Assembly or C tab.
Tip
If a design does contain a processor, set its execution model to Programmable CPU / MCU under Advanced settings.
From CPU to programs#
- 1Set up this CPU (Firmware tab)
- The Architect writes
tb/firmware_tb.svfor your CPU and finds its RISC-V instruction set (for example RV32I, RV32IM, RV32E) and memory map. - A built-in instruction test then runs every base instruction (plus M-extension instructions when present) and enables assembly. Two C self-tests enable C.
- If the CPU computes something wrong, setup names the instruction, for example
sra … expected ffffffff, got 00000001.
- The Architect writes
- 2Assembly tabBuild and run a program and read its output. Programs can run even before the instruction test passes, so you can debug the CPU; the tab warns you.
- 3C programs tabAvailable when the status is Assembly + C ready.
Rechecks and limits#
- Changing the RTL or the CPU settings shows Needs recheck. Recheck this CPU repeats the checks. Changing compiler flags does not require a recheck.
- CPUs with a custom instruction set use the custom-ISA assembler with your
isa.json; C is not available for them.
What “Ready” means
“Ready” means the current RTL passed these built-in checks in simulation, for the listed extensions only. It is not a complete ISA audit, operating-system compatibility, formal equivalence, or safety certification.