Skip to the content
PCBKitNew board
2 layers41 × 20.3 mm7segment, the printed circuit board in 3D

OpenFPGA ICE40UP5K

Size
41 × 20.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
8
Nets
20
Pads
48
Tracks, vias
86, 8
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
25 Apr 2020
Updated
8 Aug 2020

Overview

7segment is an open-source printed circuit board by BitOpenFPGA, from the BitOpenFPGA/OpenICE repository on GitHub. It is a 2-layer board of 41 × 20.3 mm with 8 parts on 20 nets, routed with 86 tracks and 8 vias.

It is built around the NL27WZ14DF and SN450561N. Its parts include 2 capacitors, 2 resistors, 2 ICs and 1 connector.

Main components

2

README

README.md

OpeniCE

来源

开源FPGA应具备几个维度特点:

OpenICE

其中最难弄得就是工具链了,经过长时间查找,终于在GitHub上找到了一个FPGA的开源工具链Yosys,选择的理由如下:

Intel Quartus II (No )License

Xilinx Vivado ISE (No) License

Lattice Diamond (No) License 注册可以免费申请,但是随时可以收回(一般不会)

Yosys, nextpnr, icestorm, iverilog, symbiflow (YES) 整个工具链开源

支持的硬件:

http://www.clifford.at/icestorm/

折中选择ICE40UP5K-SG48芯片。

为什么选择ICE40系列FPGA呢?

Lattice的iCE40系列芯片在国外很受欢迎,大部分的开发环境都是开源的,不需要担心License所带来的限制,只需要将工具链进行安装之后就可以进行FPGA的开发之路,典型的基于iCE40系列的开源开发板有iCEBreaker、UPduino、BlackIce、iCEstick、TinyFPGA 等。

每个开发版对比如下: 表格来源:https://www.crowdsupply.com/1bitsquared/icebreaker-fpga

iCEBreakerTinyFPGA BXTomu FPGALattice ICEstickUPDuino v2.0ICE40UP5K BreakoutAlhambra IIICE40HX8K Breakout
LicenseOSHWOSHWOSHWClosedClosedClosedOSHWClosed
Price$65$38$??~$25$13.99$49$59.90$49
Schematics Published?YesYesNot YetYesYesYesYesYes
Design files Published?YesYesNot YetNoYesNoYesNo
FPGA
ModeliCE40UP5KiCE40LP8KiCE40UP5KiCE40HX1KiCE40UP5KiCE40UP5KiCE40HX4K(8K)iCE40HX8K
Logic Capacity (LUTs)5280768052801280528052803520 (7680)7680
Internal RAM (bits)120k + 1024k128k120k + 1024k64k120k + 1024k120k + 1024k80k128k
Multipliers80808800
Peripherals
USB InterfaceFTDI 2232HQOn FPGA BootloaderOn FPGA BootloaderFTDI 2232HLFTDI 232HQFTDI 2232HLFTDI 2232HQFTDI 2232HL
USB HS FIFO/SPI interface to the FPGAYes through Jumper ModNoNoNoNoNoNoNo
USB Serial (UART) interface to the FPGAYesNoNoYesNoYesYesYes
GPIO inline termination resistorsYes 33 OhmNoNoNoNoNoYes 300 OhmNo
User IOs27 + 741 + 24 + 2183434 + 22090 + 10
Pmod Connectors30010100
User Buttons1 Tact + 3 Tact on Breakoff Pmod1 CRESET2 Capacitive004 DIP2 Tact0
User LED2 + 5 on Breakoff Pmod1051 RGB1 RGB88
Indicator LEDPWR, CDONEPWRCDONE, FTDI-TX/RXPWR, CDONEPWR, CDONE, FTDI-TX/RXPWR, CDONE
Onboard Clock12 MHz MEMS Shared with FTDI16 MHz MEMS12 MHz MEMS12 MHz MEMS? Shared with FTDI12 MHz MEMS? Shared with FTDI12 MHz MEMS? Shared with FTDI12 MHz MEMS Shared with FTDI12 MHz MEMS? Shared with FTDI
Flash128 Mbit QSPI DDR8 Mbit SPI16 Mbit SPI32 Mbit SPI32 Mbit SPI32 Mbit SPI32 Mbit SPI32 Mbit SPI
FPGA Power Delivery
Dedicated GND/Power PlanesYesYesNoYesNoYesYesYes
Dedicated FPGA Bypass Capacitors198918219??
IO GND Connections11614382220
Software
Open Source ToolchainYesYesYesYesYesYesYesYes
APIOYesYesYesYesYesYesYesYes
icestudioYesYesNot YetYesYesYesYesYes
migenYesYesNoYesNoYesNoYes

硬件上也可以参考:https://github.com/icebreaker-fpga/icebreaker-examples

其中icebreaker可以直接采购,但是国内买还是偏难,而且价格上也比较贵,综合考虑还是自己参考官方的DEMO和icebreaker自己做,原则上尽量减少改动。

OpenICE介绍

OpenICE 是基于Lattice iCE40UP5k设计的开源FPGA开发板,开发板以Arduino为原型进行设计,资源丰富,板载RGB LED,KEY,TYPE-C-USB, RESET,大部分IO以标准PMOD接口引出,可与标准PMOD外设进行对接,方便日常的开发使用。
板载的调试器以FT2232H为核心设计,支持官方的EDA进行下载调试,同时经过开源工具链ICEProg就可实现轻松实现烧写。FT2232H同时支持虚拟串口和FPGA进行通信。

整版的原理框图如下:

OpenICE

PCB截图如下:

OpenICE OpenICE

芯片规格

iCE40UP5K-SG48

  1. 5280 Logic Cells (4-LUT + Carry + FF)
  2. 128 KBit Dual-Port Block RAM
  3. 1 MBit (128 KB) Single-Port RAM
  4. PLL, Two SPI and two I2C hard IPs
  5. Two internal oscillators (10 kHz and 48 MHz)
  6. 8 DSPs (16x16 multiply + 32 bit accumulate)
  7. 3x 24mA drive and 3x hard PWM IP

硬件说明

iCE40UP5K

  1. SPI Flash使用W25Q64(8MB)/W25Q128(16MB)
  2. 板载按键开关、LED和RGB LED可用于测试
  3. 所有IO以标准PMOD接口引出
  4. 板载电源指示灯V8,方便查看整版电源情况

Capable enough to host CPU softcores

开发环境搭建

推荐使用虚拟机镜像进行开发测试,简单方便。
FPGA工具链安装请参考icestorm
gcc工具链安装请参考 riscv-gnu-toolchain

FPGA教程

参考

toolchain

http://www.clifford.at/icestorm/

examples

https://github.com/damdoy/ice40_ultraplus_examples
https://github.com/icebreaker-fpga/icebreaker-examples

SpinalHDL 教程

https://spinalhdl.github.io/SpinalDoc-RTD/SpinalHDL/Getting%20Started/index.html

开源FPGA单板OpenICE介绍

https://github.com/OpenFPGA-ICE/OpenICE/blob/master/README.md

Parts

8
QtyValueFootprintReferences
2330Epkl_dipol:R_Array_Convex_4x0402R1, R2
1100npkl_dipol:C_0402C2
110upkl_dipol:C_0603C1
1NL27WZ14Package_TO_SOT_SMD:SOT-363_SC-70-6U2
1PMODpkl_connectors:PMODHeader_2x06_P2.54mm_HorizontalJ1
1SN450561Npkl_led:SN450561NU1

The 7 most common of 8 parts.

Questions

How big is the 7segment PCB?

It measures 41 × 20.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the 7segment use?

8 parts, built around the NL27WZ14DF and SN450561N. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the 7segment KiCad files?

From the BitOpenFPGA/OpenICE repository on GitHub, at the commit this page was made from: the board is Hardware/PMOD_SubCard/7segment/v1.0a/7segment.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the 7segment design in my own project?

Its repository states no licence, so its author keeps all rights: ask BitOpenFPGA before reusing the design.

More from BitOpenFPGA/OpenICE

1
  • 2 layers38 × 16 mmDip switch, the printed circuit board in 3D

    Dip switch

    BitOpenFPGA/OpenICE

    OpenFPGA ICE40UP5K

    5 parts37

Similar boards

  • 2 layers290 × 100 mmESP32-Wall Clock, the printed circuit board in 3D

    ESP32-Wall Clock

    SkullKill/ESP32-Wall-Clock-PCB

    ESP32 based 30cm Wall Mounted Clock. WiFi, NTP, SNMP, web interface, MicroUsb, Type-C, HG3613 Retrofit

    207 parts3GPL-3.0
  • 2 layers41 × 20.3 mm7segment, the printed circuit board in 3D

    7segment

    kitspace-test-repos/kicad6-file-collection

    11 partsMIT
  • 2 layers20.5 × 24.8 mmPi interface, the printed circuit board in 3D

    Pi interface

    opulo-inc/lumenpnp

    The LumenPnP is an open source pick and place machine.

    8 parts3.7k
  • 2 layers59.9 × 25.7 mmBuffer, the printed circuit board in 3D

    Buffer

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    8 parts1kGPL-3.0
  • 2 layers52 × 12.6 mmUSB, the printed circuit board in 3D

    USB

    shanteacontrols/OpenDeck

    A platform for building interactive control and sensing devices using MIDI and OSC built with Zephyr RTOS.

    8 parts960Apache-2.0