blob: 5314a9a2e62955e5476e73c2963d49a2c372ca5e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
#### eboard - a SoC board with GbE Ethernet for VexiiRiscV ####
This repository contains the KiCad design files für a Lattice
FPGA board with GbE Ethernet interface for an SoC course. The
board has the following features
- Lattice ECP5 FPGA
- WCH CH347 based JTAG/UART programmer
- USB-C connector for programming and serial interface
- 32 MB SDRAM
- 10 Switches, 4 Push-Buttons
- 16 LEDs (10 red, 6 green)
- 4 HEX Displays
- HDMI Output
- Expansion Port
- 2 x Pmod ports
- Powered over USB
- Robust mechanical setup
### Motivation / Use Cases / Requirements ###
The board is the result of running digital design courses for many
years. I like the Terasic DE1 board very much. We have about 80 boards
in the library available for students to use them directly. The board
must allow very simple fpga experiments with switches and leds.
The DE1 board unfortunately does not have an ethernet interface. So it is
difficult to show high speed data processing. For SoC this becomes
a real pain. So this board has ethernet.
The DE1 board has a simple VGA with resistor based DAC. That was nice but
it is difficult to have VGA monitors. So I switched to HDMI.
The board should not cost more than 100 Euro.
The board should be manufacturable at JLCPCB including assembly.
The board must have expansion port possibilites at least for low
speed extensions. With the ECP5 a 40GbE port is not possible as
the fpga does not have serdes at 10 Gigabit.
### Tools ###
The design is made with KiCad 9. The KiCad project is in `kicad/`, see
`kicad/README.md`. The scripts that generate the project symbol libraries
need kipart (`pipx install kipart`). Footprints and symbols are cross-checked
against the JLCPCB/LCSC (EasyEDA) data with easyeda2kicad
(`pipx install easyeda2kicad`).
Optional: the KiCad MCP server `kicad-mcp-pro` lets an AI assistant such as
Claude Code work with the KiCad project. Install it with pipx:
sudo apt install pipx
pipx ensurepath # then open a new terminal
pipx install kicad-mcp-pro
The file `.mcp.json` in the repository root registers the server for this
project, with `kicad/` as the project directory. Start Claude Code in the
repository root so that `${PWD}` points there.
### Reference designs ###
eboard builds on ideas from two open ECP5 boards. No files are taken from
them; they served as examples for the circuits. To look at them, clone them
at the given commit (e.g. into `ext/`, which git ignores):
| Design | Repository | Commit | Used as example for |
|--------|------------|--------|---------------------|
| ULX3S | <https://github.com/emard/ulx3s> | `6a92cec6` (2025-04-27) | one sheet per function, power supply (TLV62569), SDRAM, HDMI output with LVCMOS33D, GPIO without series resistors |
| ButterStick | <https://github.com/butterstick-fpga/butterstick-hardware> | `0694ddf` (2023-09-19) | gigabit Ethernet (KSZ9031; eboard uses the RTL8211F), USB-C, FPGA core voltage |
git clone https://github.com/emard/ulx3s.git ext/ulx3s
git -C ext/ulx3s checkout 6a92cec6
### License ###
The hardware design files are licensed under CERN-OHL-S-2.0. The
software under GPL-3.0-or-later. All documents are licensed under
CC-BY-SA-4.0.
Exception: the manufacturer datasheets in `datasheets/` are copyrighted by
their manufacturers and are not covered by these licenses (see
`datasheets/README.md`).
|