FPGA Libre
EnglishEspańolS.F. Summary
Hosted by:
Get Free FPGA development tools at SourceForge.net. Fast, secure and Free Open Source software downloads

Kéfir (Kit Educativo con FPGA, Inclusivo y Reciclable => Inclusive and Recyclable Educational FPGA Kit) is an economic development kit based on the Lattice iCE40HX4K-TQ144 FPGA.

What is Kéfir?:

Kéfir is a project to create educational development kits based on FPGAs.

The project is based on the following objetives:

  • Inclusive: low cost, to make it accessible, at least one version must be constructed using simple soldering technologies.
  • Recyclable: the kit, and the configuration cable, must be reusable for purposes other than FPGA development.

The first result of this project is the Kéfir I board. This board is based on the Lattice iCE40HX4K-TQ144 FPGA. The main features of this FPGA family are purposes here.

To reduce the manufacturing costs, and the PCB complexity, we developed a simple board, reducing the BOM as much as possible. At the same time we moved the configuration functionality (and part of the power source) to a separated board. This board can be used to configure other FPGAs, do AVR and ARM debugging and similar tasks. The board containing this functionality is named MILK.

To allow Kéfir I functionality expansions, reusing existing boards, we included Arduino compatible and PMOD connectors. This feature not only allows reusing Arduino shields, but also opens an interesting possibility: reuse Kéfir I as an Arduino compatible board. For more information visit: Lattuino.

Kéfir picture top


Technical features:

  • FPGA:
    • Lattice iCE40HX4K-TQ144 (3520 LUT4s, FFs and carry; 2 PLLs; 80 kib SRAM; 107 GPIOs)
    • Configuration memory: Winbond W25X40CL (SPI, 4 Mib, almost 3 Mib free)
    • Clock: DIP-8/14 socket for oscillator. (avoiding the need to use 1 PLL for most applications)

  • PCB: (FR4 1,6 mm)
    • Layers: 2
    • Minimum clearance: 8 mils
    • Track width: 10 mils
    • Vias diameter: 40 mils
    • Vias hole: 0,51 mm
    • Note I: The FPGA pitch is 0.5 mm
    • Note II: all the components can be easily soldered (no QFN, no BGA, etc.)

  • Connectors: (GPIO 3,3 V)
    • The board has the ChipKit, similar to Arduino UNO, but with the double I/Os. 42 GPIOs.
    • 2 PMOD 12 pins (8 I/Os + 2 GND + 2 Vcc each)
    • 2 x 20 pins connectors for configuration and PC communication. These connectors are designed to match the MILK connectors.

  • User interface:
    • Buttons: none physical, but 4 CapSense.
    • LEDs: 4 general purpose LEDs (+ power + DONE).

  • Analog inputs: (MCP3008)
    • 8 x 10 bits channels
    • Maximum sample rate: 100 ks/s

  • USB:
    • Type B connector
    • TUSB1106 driver (LS/FS)
    • Additionally MILK provides communication with a PC (SPI, I2C, RS-232, etc.)

  • Power:
    • Through the USB from MILK
    • Optionally can be powered using 3.3 V

Pinout de Kéfir


Comparison with similar boards:

The following table summarises the main differences between Kéfir I and other similar projects, highlighting the advantages and disadvantages:

Board Ice Blink Alhambra I Kéfir I Alhambra II CIAA EDU-FPGA
Published 2012 2016 2017 2018 2020
Free No Yes Yes Yes Yes
Free EDA (KiCad) No (Not available) Yes (3) Yes No (Altium) Yes
FPGA
Model HX1K HX1K HX4K HX4K HX4K
LUTs/FF 1280 1280 7680 7680 7680
BRAM 64K 64K 128K 128K 128K
PLLs 1 1 2 2 2
Reloj 333 kHz
3,33 Mhz
33,33 MHz
12 MHz 24 MHz Interchangeable (6) 12 MHz 12 MHz
Configuration
Detachable circuit No No Yes No No
Standard (5) No Yes Yes Yes Yes
Chip AT90USB2 FT2232H FT2232H FT2232H FT2232H
Other uses No No ARM and AVR (Arduino) debug.
RS-232, JTAG and SPI cable.
Xilinx config.
No No
Flash M25P10 N25Q032A W25X40CL N25Q032A W25X40CL
Capacity 1M 32M 4M 32M 4M
PCB
Layers 4 4 2 4 2
Smallest passive 0402 0402 0603 0402 0805
QFN/BGA components Yes Yes No Yes No (1)
Arduino connectors
IOL Yes Yes Yes Yes Yes
IOH Yes Yes Yes Yes Yes
Power Yes Yes Yes Yes Yes
AD Digital only Digital only Yes Digital only No
ICSP No No Yes No No
5 V tolerant I/O No Yes (20 I/Os) No Yes (20 I/Os) No
Chipkit UNO32 connectors
IOL UNO32 Yes No Yes No Yes
IOH UNO32 Yes No Yes No Yes
AD UNO32 Yes No Yes No Yes
Other connectors
PMOD 3 (2) - 2 - 2
Otros 1 SPI and 1 Power
(similar to Arduino Power)
4xAnalog In, 8 I/Os 16 I/Os and 1 SPI 4xAnalog In, 8 I/Os -
Total dig. I/O 68 30 52+20 (4) 30 48
Analog inputs
Channels - 4 8 4 -
Resolution - 12 bits 10 bits 12 bits -
S.R. - 100 ks/s 100 ks/s 100 ks/s -
Interface - I2C SPI I2C -
Human Interface
Buttons 4 Capsense 2 4 Capsense 2 4
LEDs 4 8 4 8 4
Other interfaces
Direct USB No No Yes No No
Maximum PC to FPGA transfer - 12 Mb/s (UART) >320 Mb/s (async FIFO) 12 Mb/s (UART) 30 Mb/s (MPSSE)

Notas:

  1. The crystal has 4 pads similar to QFN packages.
  2. One shared with the AD UNO32 connector.
  3. The KiCad version was migrated from an original Altium one.
  4. 20 lines connects Milk to Kéfir I, removing Milk you get the additional lines.
  5. It means the configuration is done using standard tools (free and proprietary) and not using tools specific for this board.
  6. The oscillator is mounted on a socket allowing the use of another for the desired frequency.


Is it verified?:

The Kéfir I was manufactured in Argentina and manually soldered (using a PACE soldering station and a videoscope). The following hardware descriptions were tested:

  1. LED blinking at 1 Hz from a 24 MHz clock (46 cells)
  2. The 4 CapSense signaling in the LEDs (39/50 cells)
  3. A/D acquisition at 55 ks/s showing the 4 LSB/MSB using the LEDs (45 cells)
  4. AVR ATtiny22 compatible CPU sending "Hello world!" using RS-232 at 115200 b/s (1012 cells)
  5. USB device reported as a joystick, the CapSense are the joystick buttons, Low Speed (978 cells)
  6. USB device reported as a joystick, the CapSense are the joystick buttons, Full Speed (970 cells)
  7. USB device that allows reading the CapSense and controlling the LEDs, using WISHBONE, Full Speed (1046 cells)
  8. Arduino UNO compatible application using a TFT and touchscreen shield (see Lattuino)

All the implementations worked perfectly. We detected unusual noise levels in the applications using the CapSenses. For this reason we created a revised version without this problem (r1.14).


Where can I get Kéfir I?:

Kéfir I is an open hardware project, all its design information can be downloaded from this site.

Currently no supplier offers Kéfir I boards. We want to encourage its fabrication because we understand that asking every user to do it is not efficient. We encourage potential manufacturers to contact us.

Is completely legal for a Universidad, or group of enthusiasts, to join efforts to manufacture a small lot of boards, reducing the cost. We invite people to coordinate such efforts using the lista de correo de Kéfir.

En el caso de voluntarios que puedan comprometerse a colaborar con el proyecto tenemos algunos circuitos impresos y/o componentes disponibles para que puedan armar su propia placa. En el caso de estudiantes universitarios que deban realizar su PPS (Práctica Profesional Supervisada) es posible realizarla en el INTI trabajando en este proyecto. En cualquiera de estos casos por favor contactarse con nosotros.


Allowed I/O levels:

Is very important to understand that the I/O pins use 3.3 V and aren't 5 V tolerant.

We left the pins protection outside the board, because the king and degree of protection depends on the use. If you plan to use the board in a hostile environment we recommend using a 3.3 V Arduino shield including suitable protections. The design of such a shield is very simple.


Licence:

Kéfir I is an open hardware project, all its design information can be downloaded from this site.

The current licence for this project is Licencia Creative Commons Attribution - Share Alike 4.0 Internacional. This allows commercial use, but if you make changes you must share them under the same license.


Circuit:

Kéfir I was designed using KiCad.

Top layer
Bottom layer
KiCad renders


KiCad:

KiCad is a free software EDA tool. The schematics and PCBs for MILK were designed using KiCad "4.0.5+dfsg1-4", this is the version shipped with Debian GNU/Linux 9.

The manufactured revision (1.12) was made using KiCad "Build: (22-Jun-2014 BZR 4027)-stable", this is the version shipped with Debian GNU/Linux 8.


Which software can be used?:

You have at least two possible tool-chains:

  1. The free (but privative) manufacturer tools, they support VHDL and Verilog (For more information)
  2. Free software tools, they support Verilog and a graphical design environment (For more information)

Kéfir I is supported by both tool-chains.


Usage examples:

This section contains examples on how to use the board features:

  1. Capacitive buttons: this example shows how to use them in VHDL and Verilog. The examples shows the use of various tools (iCEcube2/Diamond Programmer, IceStorm, Xil Tools, APIO, APIO IDE and icestudio). You can navigate them on-line or download.


Related documents:

The following papers are related to Kéfir:


Contact:

For general questions tou can use the MILK's mailing list.

For specific questions you can contact Salvador E. Tropea.


Supporting institutions:

The following institutions support this project:

  • Universidad Tecnológica Nacional - Facultad Regional Haedo
  • Universidad Tecnológica Nacional - Facultad Regional Córdoba
  • Universidad Nacional de Tierra del Fuego
  • Universidad Nacional de Catamarca


webmaster.

Valid HTML 4.01! Valid CSS! GIMP Any browser! SourceForge.net Logo

Copyright © 2005-2017 proyecto FPGALibre.
Generated using CAL v0.2.1 and ARENA v0.1.0 on vie may 29 10:40:06 -03 2020