Beat Steiner
Published © Apache-2.0

EPU - Ethereum Processing Unit

Implement the Ethereum Virtual Machine (EVM) in hardware on an FPGA

IntermediateWork in progress3,011
EPU - Ethereum Processing Unit

Things used in this project

Hardware components

Varium C1100 Blockchain Accelerator Card
AMD Varium C1100 Blockchain Accelerator Card
×1
Fractal Design Midi Tower Meshify S2 Solid Side Panel
Includes 3 fans and a fan hub. The holes for the PCIe riser vertical GPU mount do not align with the ASUS STRIX cable.
×1
ASUS ROG Strix Riser Kabel, PCI-E 3.0 x 16
Asus specifies nowhere whether this cable supports 75W cards. I'm going to make thermal images of it.
×1
128 GB DDR4 3200 CL16 Kingston FURY Renegade Black 4er Kit
Xilinx recommends 80 GB of RAM. Buy your RAMs from the same batch, so they have the same timing constraints. Go for the maximum and avoid extending later unless you have a main board accomodating some terabytes of RAM.
×1
NOCTUA NH-U12S SE-AM4 Tower Cooler
Includes thermal paste :-) and a screw driver
×1
AMD AM4 Ryzen 7 3800XT, 8x 3.90GHz, boxed
Does NOT include cooling solution, NO graphics. Make sure to get the XT. The X does not have sufficient PCIe lanes for our purpose. The most important spec is well hidden in the data sheets.
×1
ASUS GeForce GT 730 Silent, 2GB
×1
ASUS Pro WS X570-ACE (AM4)
Asus specifies nowhere whether this board can support 3pcs of 75W PCIe slot powered cards.
×1
ATX Power Supply
I slaughtered my old PC for getting that one.
×1
SSD Drive
1 TB capacity is generous
×1
Sanyo Denki High Static Pressure Fan 48 VDC Ball Bearing 120x120x38mm 498m³/h
Want to build a hovercraft? Want to cool the Varium C1100? Maybe an overkill for the latter. !!! WARNING !!! This fan must be firmly attached during operation. !!! WARNING !!! This 100W beast may transform your fingers to minced meat within seconds. Disadvantage: needs DC voltages not readily available inside a computer case. Too noisy even at 0%PWM
×1
RND Components Fan Grid 120mm
Mandatory personal protection equipment for using the Sanyo Denki fan (2pcs). Maybe too weak? -No, they resisted to the Sanyo Denki copter, but they are not sufficiently air flow optimized to use witch such a beast ... and one for the Noctua. Had to cut it for fitting besides the RAM bars.
×3
Power Supply
Minimum 36VDC, nominal 48VDC 2Amps, for powering the Sanyo Denki fan. A Tektronics saved from the dump. Also includes a PWM signal generator -- just in case we need more than 0% PWM for the Sanyo Denki fan. For full thrust, I needed a stronger power supply from my audio amp project. But even that one went into current limit.
×1
spacer
For social distancing between the fans. I used the MSK.R3x35 (grey, bore 3mm, length 35mm. Also 4 wooden BBQ skewers for lining the whole fan block up.
×8
Personal protection equipment
Safety goggles, ear protection
×1
Paper (large format, sturdy)
For shrouding and air flow guide. Something 140g/m2-ish. At least A3, bigger is better. One edge should ideally exceed 560mm.
×1

Software apps and online services

Vitis Unified Software Platform
AMD Vitis Unified Software Platform
You wonder why I installed 128 GB RAM and a 1 TB drive? Here is the answer ;-) High resources are needed for development. For deployment, a less resource hungry "Lab Edition" is available.
Vivado Design Suite
AMD Vivado Design Suite
Vivado gets installed along with Vitis. In a nutshell, Vivado designs the FPGA logic, and Vitis the Firmware and driver (and even application) software running on your logic.
Linux Mint
An Ubuntu based operating system making your life easier when combining English language with Swiss keyboard layout, and MUCH easier when you want to install Nvidia drivers. Not officially supported by Xilinx.

Hand tools and fabrication machines

Watt Meter
Plug-in for wall socket
Cat S62 Pro - mobile phone with thermal camera
Attention: the non-Pro model does NOT include a thermal camera. !!! WARNING !!! dropping this phone may damage the floor. Wear safety shoes.
USB Memory Stick
At least 2 GB for the linuxmint-20.2-cinnamon-64bit.iso installer boot image
Static pressure measurement device
Aquarium hose, a beaker for filling it with water and a ruler for measuring static pressure. And even more adhesive tape for connecting it to the shroud. Scissors to punch a hole into the paper shroud
Big side cutter
We cut mech stuff. No, not the small one for cutting wires after soldering.

Story

Read more

Schematics

First draft of block diagram

Get an idea of what my plans were before getting my hands dirty

Code

Fork of go-ethereum

My working copy of go-ethereum. For reverse engineering and hooking in the Varium card in the right place.

Credits

Beat Steiner

Beat Steiner

2 projects • 12 followers
Got into electronics 40 yrs ago, then programmed basic and assembler on the C=64, later 80286, studied electrical engineering, work in IT

Comments