How the content is checked
The tables, diagrams and maps in guides and lessons are generated when the page is built, with the same functions the tools use, and exercises are checked in the browser with those functions. If a tool changes, its figures change with it. The specific values quoted in the text were computed with the same functions when it was written.
RISC-V decoder
What it does
- Converts the 8-digit hexadecimal word into a 32-bit integer and extracts opcode, rd, funct3, rs1, rs2 and funct7 with shifts and masks.
- Picks the format (R, I, S, B, U or J) from the opcode, rebuilds the immediate from its pieces and sign-extends it from bit 31.
- Validates funct3 and funct7: a combination that is not RV32I (for example funct7 = 0000001 from the M extension) is reported as unrecognized.
- In assembly mode it encodes the one-line instruction and decodes the resulting word.
Limitations
- It recognizes 37 of the 40 RV32I instructions; it does not recognize FENCE, ECALL or EBREAK, nor extensions (M, A, F, D, C) or RV64.
- The assembler accepts neither labels nor pseudo-instructions; branches are written as byte offsets.
RISC-V debugger
What it does
- Parses the program, assigns each label the address of the next instruction and expands pseudo-instructions (nop, li, mv, not, neg, j, jr, ret, beqz, bnez).
- Interprets one instruction per step over 32 registers of 32 bits with two’s complement arithmetic (overflow wraps around). x0 always reads 0.
- The program starts at 0x00000000 and each instruction takes 4 bytes; the PC is the address of the next instruction. jal and jalr save PC + 4.
- Continuous execution stops after 10,000 instructions to cut infinite loops.
Limitations
- There is no data memory: loads, stores, ecall, ebreak and fence produce an error.
- li only takes 12-bit signed immediates; larger constants are built with lui + addi.
Pipeline simulator
What it does
- Models an in-order 5-stage pipeline (IF, ID, EX, MEM, WB). Every cycle it checks whether the instruction in ID reads a register written by an instruction in EX, MEM or WB.
- With forwarding, it only stalls if the producer is in EX and is a load (1 bubble). Without forwarding, it stalls until the producer leaves WB.
- A conditional branch in EX is treated as taken: the two instructions in ID and IF are discarded and fetching resumes with the instruction after the branch.
Limitations
- It does not model writing and reading the register file in the same cycle, so without forwarding a back-to-back dependency costs 3 bubbles instead of the 2 found in many textbooks.
- It does not evaluate conditions or follow labels: the diagram shows the cost of branches, not the program’s path.
- jal, jalr and unknown instructions create no hazards; there are no structural hazards; at most 15 instructions.
Karnaugh minimizer
What it does
- Finds every prime implicant with the Quine-McCluskey tabular method, including don’t cares.
- Takes the essential prime implicants and covers the rest with a backtracking search that minimizes the number of terms.
- If the search exceeds 10,000 iterations it uses a greedy cover and shows a warning.
Limitations
- 2 to 4 variables and sum of products (SOP) only.
- Among covers with the same number of terms it does not necessarily pick the one with fewest literals; when there are several minimal solutions it shows one.
- With several outputs it minimizes each one separately and only marks common products.
Secondary calculators
They are not part of the computer engineering syllabus. Each one shows its formula and limitations on its own page:
| Tool | Model |
|---|---|
| Required final exam score calculator | required score = (target − Σ grade_i × weight_i) / final exam weight |
| ECTS credit-weighted average calculator | average = Σ (credits_i × grade_i) / Σ credits_i |
| Compound interest calculator | each month: balance = (balance + contribution) × (1 + r / 12) |
| FIRE calculator | target = annual spending / withdrawal rate · each year: portfolio = portfolio × (1 + r) + annual savings |
| Portfolio rebalancer | order_i = (total value + contribution) × weight_i − value_i |
| Festival Clash Finder | A and B overlap if start_A < end_B and start_B < end_A |
The financial calculators use deterministic models (constant rate, no inflation, fees or taxes) and are not financial advice.
Errors
If a result does not match what you expect from this page, write with the tool name and the input.