这是CrowdSupply众筹的一款开源FPGA开发板,网址:ULX3S - A powerful, open hardware ECP5 FPGA dev board
ULX3S is a fully open source, compact, robust, and affordable FPGA dev board equipped with a balanced selection of additional components and expansions. Although it was designed primarily as a teaching tool for mastering the principles of digital circuit design, ULX3S incorporates a wide array of features and interfaces that allow it to serve as a broadly useful module for installation in complex devices.
Built around a powerful Lattice Semiconductor ECP5-series FPGA chip and supported by the latest open-source toolchains, ULX3S is one of the most powerful and desirable platforms available for FPGA enthusiasts. It comes equipped with onboard Wi-Fi, display, buttons, LEDs, and storage. Flash it with an over-the-air (OTA) update using the Wi-Fi connection or take advantage of the onboard OLED display and buttons to browse the contents of an SD card and select a bitstream.
Energy Efficient, Versatile, and Easy to Program
Due to its battery-backed RTC, ULX3S can power down completely and wake up only in response to certain events. This feature makes it perfect for use in low-power applications such as battery-powered remote sensor nodes.
And if you’re not the low-power type, on-board peripherals like SDRAM, USB, digital video out, FM/ASK antenna, ADC, and DAC make it an audio/video powerhouse for signal processing and synthesis, motor control, and SDR use cases. It can emulate arcade machines and retro computers like the Minimig (Amiga) or modern systems like the F32C (MIPS/RISCV). It has 56 GPIO pins, all routed as differential pairs, and a PMOD compatible pinout, which opens it up to a wide range of expansion options.
Finally, if you are just starting out with FPGAs, you can use the Arduino IDE to program ULX3S in seconds.
On-Board ESP32
Software engineers, embedded developers, and programmers learning Verilog will enjoy having a built-in ESP32 that can work cooperatively with or independently of the FPGA. Program the ESP32 natively using C/C++ with the Arduino IDE, the Visual Micro extension for Visual Studio, or the Espressif IDF commandline toolchain. You can also configure the ESP32 for use with MicroPython, Espruino, the JavaScript SDK, NodeMCU, LUA, mruby, .Net C# nanoFramework, and more!
Stable Design
ULX3S has been actively developed since 2016 and is the result of a collaboration between Radiona.org / Zagreb Makerspace and FER – the Faculty of Electrical Engineering and Computing – at the University of Zagreb in Croatia.
Our PCB design was authored by Electronic Mechanic Aerodynamic Research & Development (EMARD).
Features & Specifications
- FPGA: Lattice ECP5
- LFE5U-85F-6BG381C (84 K LUT)
- LFE5U-45F-6BG381C (44 K LUT)
- LFE5U-12F-6BG381C (12 K LUT)
- USB: FTDI FT231XS (500 kbit JTAG and 3 Mbit USB-serial)
- GPIO: 56 pins (28 differential pairs), PMOD-friendly with power out 3.3 V at 1 A or 2.5 V at 1.5 A
- RAM: 32 MB SDRAM 166 MHz
- Flash: 4-16 MB Quad-SPI Flash for FPGA config and user data storage
- Mass Storage: Micro-SD slot
- LEDs: 11 (8 user LEDs, 2 USB LEDs, 1 Wi-Fi LED)
- Buttons: 7 (4 direction, 2 fire, 1 power button)
- Audio: 3.5 mm jack with 4 contacts (analog stereo + digital audio or composite video)
- Video: Digital video (GPDI General-Purpose Differential Interface) with 3.3 V to 5 V I²C bidirectional level shifter
- Display: Placeholder for 0.96" SPI COLOR OLED SSD1331
- Wi-Fi & Bluetooth: ESP32-WROOM-32 supports a standalone JTAG web interface over Wi-Fi
- Antenna: 27, 88-108, 144, 433 MHz FM/ASK onboard
- ADC: 8 channels, 12 bit, 1 MS a/s MAX11125
- Power: 3 Switching voltage regulators: 1.1 V, 2.5 V, and 3.3 V
- Clock: 25 MHz onboard, external differential clock input
- Low-Power Sleep: 5 µA at 5 V standby, RTC MCP7940N clock wake-up, power button, 32768 Hz quartz with CR1225 battery backup
- Dimensions: 94 mm × 51 mm
Legend
Comparison Table
Model | ECP5 12F, 45F, or 85F | ECP5 85F | ECP5 45F | ECP5 12F, 45F, or 85F | ECP5 25F | ECP5 85F | ECP5-5G 85F |
License | OSHW | Proprietary | Proprietary | OSHW | OSHW | Proprietary | OSHW (MIT) |
Price Range | $99 - $155 | $100 | $250 | Unreleased | $45 | $1500 - $2000? | $500 - $1000 |
Schematics Published? | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Design Files Published? | Yes | No | No | Yes | No | No | Yes |
Physical Dimensions | 94 × 51 mm | 180 × 100 mm | 165 × 110 mm | 61 × 18 mm | 65 × 30 mm | 180 × 130 mm | 200 x 112 mm |
FPGA | |||||||
LUT Capacity | 12 K – 84 K | 84 K | 44 K | 12 K – 84 K | 24 K | 84 K | 84 K |
Embeded Memory (Kbits) | 3744 (on 85F) | 3744 | 1944 | 3744 (on 85F) | 1008 | 3744 | 3744 |
Peripherals | |||||||
USB-Serial JTAG | FT231X | FT2232H | FT2232 | None | FT230X | FT2232 | FT2232H |
Programming Over... | USB-JTAG, EXT-JTAG, Wi-Fi-ESP32-JTAG, SD-ESP32-JTAG | USB-JTAG, EXT-JTAG | USB-JTAG, EXT-JTAG | USB-bootloader, EXT-JTAG | USB-JTAG, EXT-JTAG | USB-JTAG, EXT-JTAG | USB-JTAG |
Direct USB to FPGA | Yes | No | No | Yes | Yes | No | via EHCI |
User IOs | 56 | 178 | Up to 29 | 42 | 29 | 365 | 104 |
Differential Pairs | 28 | 9 | Unknown | No | 12 | Unknown | 36 |
Single-Ended | 5 | 178 | Unknown | 42 | 29 | Unknown | 22 |
SERDES | 0 | 9 | 1 | 0, 2 (only EX85-5G variant) | 0 | 4 | 4 (PCIe x2 and m.2 x2) |
PMOD Connector Placeholders | 4 | 1 | No | No | No | No | 2 |
User Buttons | 7 | 3 | 2 | 1 | No | 2 | 4 |
DIP Switches | 4 | 8 | 8 | No | No | 10 | 8 |
User LED | 8 | 8 | 8 | 1 | 1 | 8 | 12 |
Indicator LED | 3 | 9 | 10 | 1 | No | 6 | 13 |
Onboard Clock | 25 MHz | 12 MHz, 50 MHz, 200 MHz | 100 MHz | 48 MHz, 200MHz | 25 MHz | 100 MHz | 12 MHz, 100 MHz, programmable |
Flash | 32–128 Mbit QSPI | 128 Mbit QSPI | 128 Mbit QSPI | 64 Mbit QSPI | 8 Mbit SPI | 64 Mbit QSPI | 128 Mbit |
Onboard RAM | 32 MB SDRAM | No | 1024 MB DDR3 | up to 16 MB HyperRAM | 32 MB SDRAM | 512 MB DDR3 | 1 GB |
Video Out | Digital (GPDI), Analog Composite PAL/NTSC (3.5 mm jack) | No | No | No | Digital (GPDI) | Digital (HDMI) | DVI via TFP410 |
Audio Out | Digital S/PDIF (3.5 mm jack), Digital (GPDI), Analog stereo (3.5 mm jack) | No | No | No | Digital (GPDI) | Digital (HDMI) | No |
ADC | MAX11125 | No | No | No | Sigma-Delta | No | No |
Storage | Micro-SD | No | No | Micro-SD | Micro-SD | Micro-SD, 8 GB eMMC | Micro-SD |
Ethernet | Via ESP32, USB | No | Yes | No | No | Yes | Gigabit (RGMII) |
Display | Placeholder for 0.96" SPI color OLED SSD1331 | No | 14-segment LED | No | No | No | No |
Antenna | 27, 88–108, 144, 433 MHz FM/ASK onboard | No | No | No | No | No | No |
RTC (Real-time Clock) | MCP7940N, Low Power Sleep, Wakeup | No | No | No | No | No | No |
Power | |||||||
Power Input | USB 5 V | 12 V | 12 V | USB 5 V | USB 5 V | 12 V | USB-C 5 V, barrel jack 12 V |
GPIO Bank Voltage Levels | 3.3 V, 2.5 V (jumper selectable) | 3.3 V | 3.3 V | 3.3 V | 3.3 V | 3.3 V | 3.3 V, 2.5 V, 1.8 V |
Power Reserve to Drive External Circuits | 3.3 V at 1 A, 2.5 V at 1.5 A | Unknown | Unknown | Unknown | Unknown | Unknown | 3.3 V, 2.5 V, 1.8 V at 2 A |
Software | |||||||
Open Source Toolchain | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Arduino Support (FPGArduino) | Yes | Not yet | Not yet | Not yet | Yes | Yes | No |
Confirmed Working Retro Games Consoles | Yes | No | No | No | Yes | No | No |
Support & Documentation
You will find setup and configuration guides, tutorials, and sample code in our FPGA Odysseus repository on GitHub. Additional resources are available in our Community Projects repository, or you can also reach out to other ULX3S developers through our Gitter community.
与ULX3S相关的资源:
List of all links you can try with ULX3S. See also ulx3s.github.io
- These links are being moved to https://ulx3s.github.io/
Documentation
ULX3S PCB
Getting Started
FPGArduino
Opensource toolchain
Opensource toolchain examples
https://github.com/emard/prjtrellis-picorv32
Risc-V 32 Implementation in VHDL
Advanced examples
Sources are prepared to compile with both open and closed source tools
HDMI, LED 64x64, LCD 3.5", OLED, SPDIF/ANALOG AUDIO ...
Retro computing
-
https://www.youtube.com/watch?v=q0nysMydf4I&t=1s (Amiga Youtube)
Retro gaming
-
https://www.youtube.com/watch?v=CR-pVxN-08k (Galaksija Youtube)
Self-flash & web interface
HDMI example
Small display
SPI OLED
SDR
LED strip
64X64 LED panel
Linux on ULX3S
PMODS in progress