Skip to content

Commit 432289e

Browse files
committed
Overhaul docs layout
1 parent d944cb6 commit 432289e

11 files changed

+55
-20
lines changed

docs/src/core.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# RISC-V CPU

docs/src/fpgas.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# FPGAs

docs/src/index.md

+4-8
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
:maxdepth: 2
66
77
motivation
8+
specification
89
core
9-
FPGAs
10-
journal
10+
fpgas
11+
testing
12+
log
1113
resources
1214
```
1315

@@ -22,9 +24,3 @@ dust their FPGAs off and get to work designing cool hardware.
2224
```{note}
2325
This documentation is also available to download as a PDF.
2426
```
25-
26-
My main goals with the project were to:
27-
28-
1. develop a deeper understanding of digital design, verification and compilers
29-
1. apply modern software methodologies to hardware design
30-
1. learn about RISC-V

docs/src/introduction.md

-3
This file was deleted.

docs/src/log.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Project Log

docs/src/microarchitecture.md

-3
This file was deleted.

docs/src/motivation.md

+45-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,51 @@
11
# Motivation
22

3-
My goals with this project were:
3+
I've
4+
[written about how I got into ASIC work](https://matiasilva.com/journal/riscv-from-scratch/)
5+
in my journal before. In a nutshell, it was very much accidentally. It wasn't by
6+
accident, though, that from a young age I was interested in computers and how
7+
they work. I was the family IT kid, even though what I knew back then vastly
8+
dwarfs what I know now.
49

5-
1. to understand the inner workings of an SoC intimately
6-
1. to understand the role of each tool involved in a tapeout
7-
1. to understand the hardware stack from the bottom up: gates to kernel to userland software
10+
My years spent coding everything from physics simulations, to microcontrollers,
11+
to entire ticketing platforms had taught me about the limitations of the
12+
hardware I was working on but something still eluded me. It was only after I got
13+
an internship in chip design and took a university course in computer
14+
architecture, though, that the worlds of hardware and software came together for
15+
me. Armed with all this knowledge, I felt like I finally knew the entire stack
16+
from application to transistor (and that's where it stops for me, because I'm
17+
not a physicist).
18+
19+
I followed an unusual path into digital design. Most tend to experiment on FPGAs
20+
and back up RTL with simulations, with very few ever getting to take part in
21+
real ASIC design as costs are prohibitive. Because I got a job at an fabless
22+
ASIC shop, interestingly, I was missing the exact opposite. Coming from the
23+
software world, the inflexibility of hardware is incredibly frustrating and more
24+
so are the arcane development practices in that sector. I needed a reason to get
25+
some FPGA experience and I wanted a challenge.
26+
27+
What better project to work on than a RISC-V core? Well, that was what I thought
28+
until I saw that everyone and their uncle had gotten to that challenge years
29+
ago. While I've never looked at anyone else's cores before finishing my own, the
30+
vulgarity of the RISC-V core meant that it fell short of the learning tool I
31+
wanted it to be. The upshot was that there was plenty of good material online,
32+
with help ranging from tooling, to environment setup, to microarchitecture.
833

9-
When I first started working in chip design back in my 2021 summer internship, I realized that this was a unique industry to get into.
34+
A glaring similarity among many RISC-V projects out there was that few were ever
35+
able to "talk to" anything. In the real world, this is not how things work. CPU
36+
cores are just a piece of the puzzle that is known as the SoC (an important one,
37+
of course). Many of them were also not pipelined, nor did they account for any
38+
kind of hazards. So, this is where I set myself the challenge. It meant that I'd
39+
learn a little more about real chips, AMBA protocols like AHB and APB, and could
40+
be on my way to understanding modern superscalar CPUs.
1041

11-
As weeks went by at my day job, I noticed that there is an immense aversion to risk in the chip industry. New and better methods were cropping up all the time but there was seemingly no interest in taking up these new developments.
42+
My main goals with the project were to:
43+
44+
1. to understand the role of each tool involved in a tapeout
45+
1. develop a deeper understanding of digital design, verification and compilers
46+
1. to understand the hardware stack from the bottom up: gates to kernel to
47+
userland software
48+
1. learn about RISC-V, computer architeture and ISAs
1249

50+
Along the way, I greatly refined my command of Neovim for documentation writing
51+
and code, which I'd been trying to pick up for forever.

docs/src/resources.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Resources

docs/src/specification.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Specification

docs/src/testing.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Testing
File renamed without changes.

0 commit comments

Comments
 (0)