Skip to the content
4 layers95 × 80 mmKilsyth, the printed circuit board in 3D

Errata: - C9 is not a GPIO on ECP5 F12 and some other variants. To get the LED working put a jumper on pin 31 and 33 on the Wide connector. - FTCLK is not routed to a clock pin.

Size
95 × 80 mm
Copper layers
4
Thickness
1.6 mm
Parts
170
Nets
328
Pads
1,020
Tracks, vias
2,415, 431
Pours
22
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
11 Apr 2020
Updated
29 Jul 2020

Overview

Kilsyth is an open-source printed circuit board by kbeckmann, from the kbeckmann/Kilsyth repository on GitHub, published under the 0BSD licence. It is a 4-layer board of 95 × 80 mm with 170 parts on 328 nets, routed with 2,415 tracks and 431 vias.

It is built around the LFE5U-85F-6BG381C, FT600Q-B-T and IS25LP128F-JBLE, with the TPS65261RHB, DSC6001CI2A-016.0000T and PUSB3FR4Z among its other parts. Its parts include 64 capacitors, 62 resistors, 12 connectors, 10 diodes and 6 ICs. It belongs with the FPGA and CPLD boards of this library.

Main components

7

README

README.md

WIP! WIP! WIP!

This repo is a work in progress and far from release-worthy. Please don't make your own boards and expect any kind of support. However, it might reach a stable point sometime in the future (as of 2019-01).

Kilsyth: ECP5 FPGA + FT60x FIFO

Kilsyth is a piece of hardware that contains an FPGA (Lattice ECP5) and a SuperSpeed USB 3.0 FIFO-bridge (FT60x). The goal is to provide a platform to be able to transfer high speed data transfers between a PC and an FPGA. The FPGA in turn can do whatever - e.g. interface with SDR, video capture, act as a logic analyzer.

Current status

It's still in the early bring-up phase. Initial verification shows that it actually seems to work.

RevA

RevA is the first prototype and has been designed and built.

  • It doesn't smoke when powered up.
  • USB-C connector works but is messy to solder.
  • Loopback test is almost in place. Using the proprietary driver, high bi-directional speeds are achieavable (> 98MB/s in both directions simultaneously). Just need to figure out some off-by-one errors...
  • Bootloader to store a custom bitstream on the flash.

Errata:

  • C9 is not a GPIO on ECP5 F12 and some other variants. To get the LED working put a jumper on pin 31 and 33 on the Wide connector.
  • FT_CLK is not routed to a clock pin. Can be fixed with a bodge wire! Remove R50 and R36, swap their paths.
  • JTAG connector has a funky footprint on the PCB because CCW vs Odd/Even pinout on the symbol vs footprint. But the PCB silk screen is accurate so don't worry - it's just a stupid pinout.
  • Need to add pull-ups for the SPI flash.

RevB

Ideas for RevB are still being collected. Feel free to suggest changes in an issue.

  • Add support for reversible USB-C connector using PI5USB30213A.

Software usage (TODO)

Requires a patched migen and a patched ftdi library.. Nasty, I know, sorry.

text
Help:
$ python -m software.kilsyth -h

Run blinky:
$ python -m software.kilsyth run blinky

Contact

Reach out to @kbeckmann on Twitter or IRC/Freenode.

Parts

170
QtyValueFootprintReferences
320RResistor_SMD:R_0603_1608MetricR17, R18, R21, R23, R24, R27, R28, R29, R35, R36, R37, R38, R39, R40, R41, R42 +16
24100nCapacitor_SMD:C_0603_1608MetricC1, C27, C30, C31, C35, C36, C37, C39, C40, C41, C42, C44, C45, C46, C50, C51 +8
1510nCapacitor_SMD:C_0603_1608MetricC8, C9, C10, C47, C48, C49, C52, C53, C56, C57, C59, C61, C63, C65, C67
102KResistor_SMD:R_0603_1608MetricR8, R15, R16, R26, R30, R59, R60, R61, R62, R63
10LEDLED_SMD:LED_0603_1608MetricD1, D2, D3, D4, D5, D6, D7, D8, D9, D10
622pCapacitor_SMD:C_0603_1608MetricC11, C12, C13, C20, C21, C22
510KResistor_SMD:R_0603_1608MetricR20, R22, R32, R33, R34
4 MountingHole:MountingHole_3.2mm_M3_PadH1, H2, H3, H4
422uCapacitor_SMD:C_0603_1608MetricC23, C24, C25, C26
4TestPointTestPoint:TestPoint_Pad_D1.0mmTP1, TP2, TP3, TP5
310uCapacitor_SMD:C_0603_1608MetricC3, C4, C5
315KResistor_SMD:R_0603_1608MetricR9, R11, R13
32.2uL_1008_1210:L_1008_1210L1, L2, L3
320KResistor_SMD:R_0603_1608MetricR5, R6, R7
33.3nCapacitor_SMD:C_0603_1608MetricC17, C18, C19
34.7KResistor_SMD:R_0603_1608MetricR1, R3, R12
347nCapacitor_SMD:C_0603_1608MetricC14, C15, C16
34u7Capacitor_SMD:C_0603_1608MetricC32, C38, C43
3Conn_02x06_Odd_EvenConnector_PinSocket_2.54mm:PinSocket_2x06_P2.54mm_HorizontalJ5, J8, J9
218pCapacitor_SMD:C_0603_1608MetricC33, C34
2Conn_02x04_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Vertical_SMDJ11, J12
2PUSB3FR4ZPUSB3FR4Z:PUSB3FR4ZJ6, J7
11.6KResistor_SMD:R_0603_1608MetricR31
118KResistor_SMD:R_0603_1608MetricR10
11uCapacitor_SMD:C_0603_1608MetricC2
13.3KResistor_SMD:R_0603_1608MetricR14
130MHz ±20ppmCrystal:Crystal_SMD_2016-4Pin_2.0x1.6mmY1
14k7Resistor_SMD:R_0603_1608MetricR4
15K1Resistor_SMD:R_0603_1608MetricR25
173.2KResistor_SMD:R_0603_1608MetricR2
1AS4C32M16SBPackage_SO:TSOP-II-54_22.2x10.16mm_P0.8mmU7
1Conn_02x01Connector_PinHeader_2.54mm:PinHeader_2x01_P2.54mm_VerticalJ10
1Conn_02x20_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_Vertical_SMDJ4
1Conn_JTAGConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical_SMDJ1
1DSC6001CI2A-016.0000TCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmU1
1DX07S024JJ2JAE-USB-C:USBC_DX07S024JJ2R1300J2
1FT600Qkilsyth_extra:QFN-56-1EP_7x7mm_P0.4mm_EP5.7x5.7mm_FIXEDU6
1Ferrite_BeadInductor_SMD:L_0603_1608MetricFB1
1IS25LP128F-JBLESOA008-150mil:SOA008-150-208milU5
1LFE5U-85F-6BG381Clfe5bg381:BGA-381_pitch0.8mm_dia0.4mmU2
1LOGOxil:oshw_logoG***
1LOGOxil:logo_23x19mmG***
1SW_PushButton_Switch_SMD:SW_SPST_FSMSMSW1
1TPS65261kilsyth_extra:S-PVQFN-N32U3
1USB_B_MicroConnector_USB:USB_Micro-B_Molex-105017-0001J3

More from kbeckmann/Kilsyth

2
  • 4 layers95 × 80 mmKilsyth, the printed circuit board in 3D

    Kilsyth

    kbeckmann/Kilsyth

    Errata: - C9 is not a GPIO on ECP5 F12 and some other variants. To get the LED working put a jumper on pin 31 and 33 on the Wide connector. - FTCLK is not routed to a clock pin.

    156 parts110BSD
  • 4 layers48 × 27 mmUsb c breakout, the printed circuit board in 3D

    Usb c breakout

    kbeckmann/Kilsyth

    Errata: - C9 is not a GPIO on ECP5 F12 and some other variants. To get the LED working put a jumper on pin 31 and 33 on the Wide connector. - FTCLK is not routed to a clock pin.

    35 parts110BSD

Similar boards

  • 6 layers98 × 27.5 mmOvio core, the printed circuit board in 3D

    Ovio core

    korken89/ovio_core

    Work in progress. PCB have arrived for v1.0 of the board and bring-up has started.

    196 parts30
  • 6 layers200 × 134 mmEther, the printed circuit board in 3D

    Ether

    korken89/ether

    210 parts
  • 4 layers94 × 50.8 mmUlx3s, the printed circuit board in 3D

    Ulx3s

    drandyhaas/KiCadRoutingTools

    A set of Python/Rust tools to aid routing in KiCad

    235 parts744MIT
  • 6 layers113 × 99 mmUlx4m panel, the printed circuit board in 3D

    Ulx4m panel

    intergalaktik/ulx4m-ls

    ULX4M Lattice SDRAM

    970 parts5
  • 4 layers55.1 × 40 mmUlx4m backup, the printed circuit board in 3D

    Ulx4m backup

    NSfsfe/ulx4m

    PCB for ULX4M FPGA R&D board

    151 parts
  • 8 layers60.1 × 32.1 mmPanelith, the printed circuit board in 3D

    Panelith

    w531t4/panelith

    PCB for Panelith FPGA Board

    103 parts
  • 6 layers17.8 × 61 mmTinyFPGA EX, the printed circuit board in 3D

    TinyFPGA EX

    tinyfpga/TinyFPGA-EX

    Small, but powerful FPGA development board based on the Lattice ECP5.

    91 parts79

Questions

How big is the Kilsyth PCB?

It measures 95 × 80 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Kilsyth use?

170 parts, built around the LFE5U-85F-6BG381C, FT600Q-B-T, IS25LP128F-JBLE and TPS65261RHB. 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 Kilsyth KiCad files?

From the kbeckmann/Kilsyth repository on GitHub, at the commit this page was made from: the board is hardware/RevA/Kilsyth.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Kilsyth design in my own project?

Its repository publishes it under the 0BSD licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).