index: add more aside notes
Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
parent
40f22ea04e
commit
5acf15b4b5
76
index.html
76
index.html
@ -100,7 +100,9 @@
|
||||
<h4>A whirlwind introduction to Fomu; a workshop in three levels</h4>
|
||||
<p align="right">
|
||||
<small>Sean "xobs" Cross - <a href="https://xobs.io/">https://xobs.io/</a> - @xobs</small>
|
||||
<small>Tim "mithro" Ansell - <a href="https://github.com/timvideos/litex-buildenv/wiki/">https://github.com/timvideos/litex-buildenv/wiki/</a> - @mithro</small>
|
||||
<small>Tim "mithro" Ansell - <a
|
||||
href="https://github.com/timvideos/litex-buildenv/wiki/">https://github.com/timvideos/litex-buildenv/wiki/</a>
|
||||
- @mithro</small>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
@ -156,7 +158,7 @@
|
||||
<section>
|
||||
<h2>What is an FPGA?</h2>
|
||||
<img data-src="img/ice40-lut.png" alt="SB_LUT4">
|
||||
<aside clas="notes">
|
||||
<aside class="notes">
|
||||
An FPGA is an array of gates that's field-programmable. A more useful definition might be "a
|
||||
chip you can reconfigure". Most chips are collections of transistors that take two inputs and
|
||||
have one output. FPGAs have collections of transistors that look like this -- they take multiple
|
||||
@ -308,9 +310,13 @@
|
||||
</code></pre>
|
||||
<img class="fragment" data-src="img/verilog-synthesis.png" alt="Verilog Synthesis">
|
||||
<aside class="notes">
|
||||
It gets really tedious to be thinking about lookup tables all the time, so humans created programming languages to do it for them. This is an example of Verilog code. It makes a simple counter that outputs the xor of some values.
|
||||
It gets really tedious to be thinking about lookup tables all the time, so humans created
|
||||
programming languages to do it for them. This is an example of Verilog code. It makes a simple
|
||||
counter that outputs the xor of some values.
|
||||
|
||||
In order to turn this Verilog code into actual LUTs, we run it through a synthesizer. Much like how a compiler turns programming language into CPU opcodes, a synthesizer turns Verilog code into lookup tables
|
||||
In order to turn this Verilog code into actual LUTs, we run it through a synthesizer. Much like
|
||||
how a compiler turns programming language into CPU opcodes, a synthesizer turns Verilog code
|
||||
into lookup tables
|
||||
</aside>
|
||||
</section>
|
||||
|
||||
@ -338,11 +344,13 @@
|
||||
<li>USB implemented in HDL</li>
|
||||
<li class="fragment highlight-blue">Fits in your USB port</li>
|
||||
</ul>
|
||||
<!-- <p>
|
||||
Fomu is an FPGA that fits in your USB port. It has foru buttons, 2 MB of SPI flash, an RGB LED, and an ICE40UP5K with 5280 LCs. It also has 128 kB of dedicated RAM, not counting the block RAM.
|
||||
<aside class="notes">
|
||||
Fomu is an FPGA that fits in your USB port. It has foru buttons, 2 MB of SPI flash, an RGB LED,
|
||||
and an ICE40UP5K with 5280 LCs. It also has 128 kB of dedicated RAM, not counting the block RAM.
|
||||
|
||||
Unlike many other PCBs, Fomu does not have a separate USB controller chip. This means that any projects that want to use the USB port must include a USB softcore.
|
||||
</p> -->
|
||||
Unlike many other PCBs, Fomu does not have a separate USB controller chip. This means that any
|
||||
projects that want to use the USB port must include a USB softcore.
|
||||
</aside>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
@ -350,48 +358,6 @@
|
||||
<img data-src="img/fomu-block-diagram.png" alt="Fomu block diagram">
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>What is this PCB?</h2>
|
||||
<img data-src="img/tomu-fpga-evt-1-small.jpg" alt="Fomu EVT1">
|
||||
<h3>Fomu EVT1</h3>
|
||||
<!-- <p>
|
||||
This is Fomu EVT1. This is the original stretch prototype of Fomu. The schematics are the same, but much has changed:
|
||||
|
||||
* Name changed from Tomu-FPGA to Fomu
|
||||
* Package changed from SG48 to WLCSP32
|
||||
|
||||
Additionally, some patches were needed to get this PCB working:
|
||||
|
||||
* SO-8 for SPI flash was too small
|
||||
* Crystal footprint was upside-down
|
||||
|
||||
These are yours to take home with you!
|
||||
|
||||
Differences between EVT1 and EVT3:
|
||||
|
||||
* Silkscreen on Raspberry Pi header
|
||||
* Populate Raspberry Pi header
|
||||
* Add PMOD pins to touchpads
|
||||
* Swap PMODa pins for I3C
|
||||
</p> -->
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Misleading Datasheets</h2>
|
||||
<img data-src="img/xtal-datasheet-icon.jpg" alt="Footprint from Crystal">
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>What modifications does it have?</h2>
|
||||
<ul>
|
||||
<li>Shorting out two zero-ohm resistors (R7, PU)</li>
|
||||
<li>Programming SPI flash</li>
|
||||
<li>Bending SPI flash pins inward (U4)</li>
|
||||
<li>Mounting crystal on its side (U7)</li>
|
||||
<li>Attaching power to crystal</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Fomu SPI Flash Layout</h2>
|
||||
<img data-src="img/fomu-memory-layout.png" alt="Fomu memory layout">
|
||||
@ -426,15 +392,15 @@
|
||||
<h2>"fail safe" bootloader</h2>
|
||||
Device Firmware Update - <strong>DFU</strong>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Updating Fomu</h2>
|
||||
<h2>Uploading Code</h2>
|
||||
<pre><code>$ dfu-util -l
|
||||
Found DFU: [1209:5bf0] name="Fomu DFU Bootloader v1.7.2"
|
||||
$ dfu-util -D evt-installable.dfu
|
||||
Found DFU: [1209:5bf0] name="Fomu Hacker running DFU Bootloader v1.8.8"
|
||||
$ dfu-util -D program.bin
|
||||
Download [========= ] 36% 38912 bytes
|
||||
Download done.
|
||||
$ dfu-util -l
|
||||
Found DFU: [1209:5bf0] name="Fomu DFU Bootloader v1.8.1"
|
||||
$</code></pre>
|
||||
</section>
|
||||
</section>
|
||||
@ -452,7 +418,7 @@ $</code></pre>
|
||||
<h2>Loading Programs onto Fomu</h2>
|
||||
<pre><code>
|
||||
$ dfu-util -l
|
||||
Found DFU: [1209:5bf0] name="Fomu DFU Bootloader v1.8.1"
|
||||
Found DFU: [1209:5bf0] name="Fomu DFU Bootloader v1.8.8"
|
||||
$ dfu-util -e # Boot current program
|
||||
$ dfu-util -D new-image.dfu # Load new program</code></pre>
|
||||
<h3 class="fragment">u<code>5b f0</code>mu</h3>
|
||||
|
Loading…
Reference in New Issue
Block a user