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#

  1. 1
    Set up this CPU (Firmware tab)
    • The Architect writes tb/firmware_tb.sv for 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.
  2. 2
    Assembly tab
    Build 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.
  3. 3
    C programs tab
    Available 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.