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

IP Cores

AVR para iCE40:

Una implementación del set de instrucciones del AVR v2.0 y v2.5 especialmente optimizado para ser usado con FPGAs iCE40 de Lattice. El mismo es parte del proyecto Lattuino.

Download: AVR p/iCE40 (GitHub)


Boards:

Con la idea de poder probar un mismo diseño en las diferentes placas de prototipo que tenemos creamos definiciones abstractas de los recursos de las mismas. Cada placa tiene sus recursos en distintas entradas y salidas de la FPGA, así el "LED1" de una placa no tiene porque estar en el mismo pin de otra placa de prototipo de otro fabricante. Mediante el uso de constantes y attributes es posible lograr que cambiando tan sólo una línea en el código VHDL nuestro proyecto migre a otra placa sin otros cambios.

Actualmente este paquete sólo soporta las placas usadas por nuestro laboratorio. Por favor considere contribuir descripciones para sus placas.

  • avnet_Mini2S.vhdl: Avnet Mini Spartan II board (H394-XLX2-SP2-3101).
  • memec_2SLC.vhdl: Memec 2SLC board (Spartan II demo board DS-DB-2SLC).
  • digilent_S3SB.vhdl: Digilent Spartan 3 Starter Board.
  • utic_XC2S100.vhdl: Spartan II creada en nuestro laboratorio (S2PROTO).
  • utic_s2proto_v2.vhdl: Spartan II creada en nuestro laboratorio (S2PROTO v2).

Download: Boards v1.2.0


I²C WISHBONE Master:

Este core es un periférico maestro para bus I²C. El mismo se conecta a un bus Wishbone y nos permite comunicarnos con periféricos esclavos I²C.

El lenguaje usado es VHDL y fue verificado usando GHDL y Xilinx Spartan II. Las pruebas se hicieron usando una memoria 24L02B a una frecuencia de comunicación de 367 kHz (limitada por la memoria).

Download: I²C WISHBONE Master v1.0.1


Memorias:

Se trata de un paquete que modela las memorias más comunmente encontradas en las FPGAs como memorias embebidas. Adicionalmente incluye implementaciones de memorias FIFO y módulos de ayuda para realizar bancos de prueba que deben cargar archivos en formato hexadecimal.

Download: Memorias (GitHub)


MiniUART:

Este paquete contiene tres descripciones de UARTs. Todas son muy simples y orientadas a usar poca área. La primera utiliza un generador de baudrate fijo, otra incorpora uno variable y la tercera una FIFO.

Todas son compatibles con el bus Wishbone.

El lenguaje usado es VHDL y fueron verificadas usando GHDL, varias FPGAs de Xilinx y las iCE40 de Lattice.

Download: Mini UART v2.0.1 (GitHub)


Simple Interrupt Controller:

Este paquete contiene un controlador de interrupciones muy simple y de allí su nombre Simple Interrupt Controller. Fue diseñado para poder expandir el número de fuentes de interrupción de nuestro PIC16C84.
El core es compatible con Wishbone.
Las entradas son sensitivas al flanco ascendente. Cuando se detecta un flanco el flag correspondiente pasa a 1 (registro SIC_FLGR).
Para indicar que ya hemos atendido la interrupción basta con escribir un 1 en el bit correspondiente del registro SIC_FLGR.
El registro SIC_ENAR actua como máscara, sólo las interrupciones habilitadas (con 1) son tenidas en cuenta.
Hay que tener en cuenta que aún cuando la interrupción esté deshabilitada si se detecta un flaco ascendente el bit asociado pasa a 1.
La salida irq_o es la operación booleana "o" de todos los bits habilitados. El componente puede configurarse para 1 a 8 fuentes de interrupción.
Si ud. necesita más basta con usar más de un componente y hacer una "o" con sus salidas.
El procesador debe poseer interrupciones por nivel.

Download: Simple Interrupt Controller v1.0.0


SPI Master:

Este core es un periférico maestro para bus SPI. El mismo incluye una interfaz para el bus Wishbone (opcional) y nos permite comunicarnos con periféricos esclavos SPI.

Adicionalmente se incluye una versión especializada para utilizar los conversores A/D MCP3004/8.

El lenguaje usado es VHDL y fue verificado usando GHDL, FPGAs de Xilinx y Lattice.

Download: SPI Master (GitHub)


Utilidades varias:

Este paquete contiene varias utilidades tanto para síntesis como para verificación. Entre las cosas incluidas podemos encontrar:

  • Lectura y escritura de std_logic_vectors
  • Generación de relojes y reset para testbenches.
  • Helpers para sincronizar entre dominios de reloj.
  • Divisores de frecuencia.
  • Anti-rebotes.
  • Conversiones a hexadecimal.

Download: Utils (GitHub)


Video Chargen:

Este paquete contiene un generador de video en modo texto que es muy simple y que puede generar señales compatibles con VGA.

Sus características principales son:

  • 64 caracteres diferentes.
  • 8 colores de caracter y 8 colores de fondo.
  • 40x25 caracteres en pantalla.
  • Equivalente al modo VGA 320x200 (320x400 con double-scan)
  • Celdas de caracteres de 8x8.
  • Clock de 12,5 MHz (para generar frecuencias compatible con VGA).
  • No necesita memoria externa cuando se usa una Spartan II.

Estas características fueron especialmente elegidas de manera tal que el core tenga una conexión muy simple con el monitor y que no necesite una memoria externa (cuando se usa una Spartan II de 100k gates o superior).

El paquete incluye una interfaz compatible con Wishbone llamada VideoLnk.

Download: Video Chargen v1.0.0


Wishbone Counter:

Este core es un contador (8 a 16 bits configurable) que genera un pulso de fin de cuenta. Es útil como generador de baudrate y posee interfaz para bus Wishbone.

El lenguaje usado es VHDL y fue verificado usando GHDL.

Download: Wisbone Counter v2.0.0 (GitHub)


Wishbone Handler:

Este core no es sintetizable y su objetivo es ayudar a escribir bancos de prueba (testbenches) para verificar componentes del tipo esclavo que se conectan a un bus Wishbone.

El lenguaje usado es VHDL y fue verificado usando GHDL.

Download: Wishbone Handler v1.2.0 (GitHub)


webmaster.

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

Copyright © 2005-2017 proyecto FPGALibre.
Generated using CAL v0.2.0 and ARENA v0.1.0 on jue ago 17 08:46:09 -03 2017