1
1
# Motivation
2
2
3
+ ## Aims
4
+
5
+ My main goals with the project were to:
6
+
7
+ 1 . to understand the role of each tool involved in a tapeout
8
+ 1 . develop a deeper understanding of digital design, verification and compilers
9
+ 1 . to understand the hardware stack from the bottom up: gates to kernel to
10
+ userland software
11
+ 1 . learn about RISC-V, computer architecture and ISAs
12
+
13
+ ## The story
14
+
3
15
I've
4
16
[ written about how I got into ASIC work] ( https://matiasilva.com/journal/riscv-from-scratch/ )
5
17
in my journal before. In a nutshell, it was very much accidentally. It wasn't by
6
18
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 is vastly
8
- dwarfed by what I know now.
19
+ they work. I was the family IT kid.
9
20
10
21
My years spent coding everything from physics simulations, to microcontrollers,
11
22
to entire ticketing platforms had taught me about the limitations of the
@@ -18,11 +29,11 @@ not a physicist).
18
29
19
30
I followed an unusual path into digital design. Most tend to experiment on FPGAs
20
31
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.
32
+ real ASIC design as costs are prohibitive. Because I got a job at a fabless ASIC
33
+ shop, interestingly, I was missing the exact opposite. Coming from the software
34
+ world, the inflexibility of hardware is incredibly frustrating and more so are
35
+ the arcane development practices in that sector. I needed a reason to get some
36
+ FPGA experience and I wanted a challenge.
26
37
27
38
What better project to work on than a RISC-V core? Well, that was what I thought
28
39
until I saw that everyone and their uncle had gotten to that challenge years
@@ -40,14 +51,6 @@ kind of hazards. So, this is where I set myself the challenge. It meant that I'd
40
51
learn a little more about real chips, AMBA protocols like AHB and APB, and could
41
52
be on my way to understanding modern superscalar CPUs.
42
53
43
- My main goals with the project were to:
44
-
45
- 1 . to understand the role of each tool involved in a tapeout
46
- 1 . develop a deeper understanding of digital design, verification and compilers
47
- 1 . to understand the hardware stack from the bottom up: gates to kernel to
48
- userland software
49
- 1 . learn about RISC-V, computer architecture and ISAs
50
-
51
54
Along the way, I greatly refined my command of Neovim for documentation writing
52
55
and code, which I'd been trying to pick up for forever.
53
56
0 commit comments