6.5.12 · D1Advanced & Emerging Architectures

Foundations — Open hardware ecosystem (OpenRISC, OpenTitan)

1,883 words9 min readBack to topic

This page assumes nothing. Every letter, arrow, and word used in the parent note is built here from the ground up, in an order where each idea leans only on the ones before it.


1. What a "chip" is really made of

Before any letters appear, picture what a chip is. A chip is a slab of silicon covered in billions of tiny switches called transistors. On their own they are meaningless — they only do something useful once they are wired into patterns that add, compare, and remember numbers.

The picture below shows this ladder: switches → gates → circuit.

Figure — Open hardware ecosystem (OpenRISC, OpenTitan)

Why the topic needs this: the whole note is about publishing the wiring diagram of these gates. To understand "open the design", you first need to know the design is this pattern of gates — nothing more mystical than a very large, very small electrical drawing.


2. RTL — the "source code" of hardware

Nobody draws a billion gates by hand. Engineers describe the wiring in a text language, and a program lays out the gates automatically — exactly like a programmer writes code and a compiler produces the machine instructions.

Why the topic needs this: the parent's definition of open hardware is literally "the RTL is published under a permissive license." Without knowing what RTL is, that sentence is empty.

See FPGA & RTL Verification for how RTL gets tested and turned into a real device.


3. ISA vs. microarchitecture vs. toolchain (three things people fuse into one)

The parent note insists these are three separate layers that can each be open or closed. Here is the picture that keeps them apart.

Figure — Open hardware ecosystem (OpenRISC, OpenTitan)

Why the topic needs this: OpenRISC is open at the ISA layer; OpenTitan is open at all three. You cannot compare them without this vocabulary.

Related idea: Kerckhoffs's Principle — a system should stay secure even when its design (the rulebook) is public.


4. RISC and the fixed instruction width

The "R" in RISC-V and OpenRISC stands for RISC: Reduced Instruction Set Computer. One design choice from RISC drives a formula in the parent note, so we build it now.

Now the letters. We want a formula, so we must first name the quantities:

Figure — Open hardware ecosystem (OpenRISC, OpenTitan)

Why the topic needs this: the parent uses and ; both are meaningless until , , byte, and are defined.


5. The security symbols: , , keys, and fuses

The Root-of-Trust part of the topic introduces a small cluster of notation all at once. We define each, tie it to a picture, and say what it answers.

5a. The hash

5b. The signature and keys

A fingerprint alone proves the data hasn't changed since the fingerprint was taken — but an attacker could replace both the image and its fingerprint. We need proof the fingerprint came from the real vendor. That is what a signature adds.

The figure below shows integrity (hash) versus authenticity (signature) side by side.

Figure — Open hardware ecosystem (OpenRISC, OpenTitan)

5c. Where trust bottoms out: eFuses

Every "verify" needs a trusted copy of . Where does that live so an attacker can't swap it? In fuses that can be written once and never rewritten.

Why the topic needs all of 5: the parent's secure-boot formula and uses , , , , , subscripts , and "fuses" — every one is defined above.


6. Subscripts and the chain

The parent writes , , with a little . That subscript is just a stage counter: is the first boot stage, the next, and so on. "Stage verifies stage before running it" is the chain of trust — an unbroken line of vouchers from the fused key up to the operating system.


Prerequisite map

Transistors and gates

RTL hardware source code

Three layers ISA RTL toolchain

Fixed width RISC and PC plus 4

Hash function H

Signature and public key

OTP fuses hold the key

Chain of trust

Open hardware ecosystem


Equipment checklist

Self-test: can you answer each before reading on in the parent note?

What is RTL, and what everyday thing is it analogous to?
The text description of a circuit in Verilog/VHDL; it is the "source code" of hardware.
Name the three independent layers that can each be open.
The ISA (rulebook), the microarchitecture/RTL (one implementation), and the toolchain (compiler/EDA tools).
Why does a fixed 32-bit instruction width give ?
Every instruction is 4 bytes, so the next address is always +4 with no decoding needed.
Compute the code size of a 10-instruction OpenRISC program.
bytes.
What does a hash give you, and what question does it answer?
A short fingerprint of the image; it answers "is this exactly the code I expected?" (integrity).
Why isn't a hash alone enough for secure boot?
It proves integrity but not authenticity — an attacker could swap both the image and its hash; a signature binds the hash to the vendor's private key.
What does the subscript in mean?
It is the boot-stage number in the chain of trust.
Why are the public key stored in one-time-programmable fuses?
So the trust anchor cannot be rewritten by an attacker.