Presentación del Proyecto -...

38
http://fpgalibre.sf.net http://fpgalibre.sf.net Herramientas, cores IP y documentación para el desarrollo de aplicaciones con FPGA. Tropea S. E., Brengi D. J., Borgna J. P. D. Presentación del Proyecto © 2005 INTI – Tropea, Brengi, Borgna

Transcript of Presentación del Proyecto -...

Page 1: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Herramientas, cores IP y documentación para

el desarrollo de aplicaciones con FPGA.

Tropea S. E., Brengi D. J., Borgna J. P. D.

Presentación del Proyecto 

© 2005 INTI – Tropea, Brengi, Borgna

Page 2: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Nacimiento del proyecto FPGALibreEl proyecto FPGA Libre nace dentro del laboratorio de Instrumentación y Control del INTI­Electrónica e Informática. 

El  Instituto  Nacional  de  Tecnología  Industrial  (INTI)  es  una  institución nacional  creada  en  1957  para  promover  el  desarrollo  y  la  transferencia  de tecnología a la industria. El área de Electrónica e Informática del INTI apoya el  desarrollo  tecnológico  del  sector,  a  través  de  desarrollos  precompetitivos, asistencia técnica, ensayos, calibraciones y certificaciones. Dentro del centro, la  Unidad  Técnica  de  Instrumentación  y  Control  (UTIC)  se  dedicada específicamente  al  desarrollo  de  nuevas  aplicaciones  para  la  industria utilizando  tecnologías  con  microcontroladores,  procesadores,  FPGAs, sistemas GNU/Linux y software libre.

© 2005 INTI – Tropea, Brengi, Borgna

Page 3: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Motivación

Obtener un ciclo completo de desarrollo utilizando sistemas GNU/Linux y software libre, para mantener el entorno de trabajo (usado en el laboratorio) robusto y económico.

Facilitar las etapas iniciales de aplicación de estas tecnologías a micro-emprendimientos, PYMES de perfil tecnológico, empresas y universidades.

La necesidad de evitar el uso de "software" de alto valor reemplazándolo por "software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias son sólo para una estación de trabajo o poseen algún tipo de limitación en sus versiones gratuitas.

La necesidad de agilizar los desarrollos gracias al uso de "cores" IP (Intelectual Property) y otros tipos de recursos disponibles libremente a través de internet.

Poder compartir las herramientas y los cores desarrollados.

En el Primer Workshop Latinoamericano de Tecnología FPGA observamos varios grupos deseosos de compartir conocimientos sobre FPGA

© 2005 INTI – Tropea, Brengi, Borgna

Page 4: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Impulsar el desarrollo con dispositivos FPGA utilizando herramientas de software libre u open source.

Fomentar el intercambio y desarrollo de cores IP con licencias que posean el mismo espíritu que las del software libre.

Facilitar el intercambio de los elementos necesarios para el desarrollo con FPGA.

Objetivos del proyecto

© 2005 INTI – Tropea, Brengi, Borgna

Page 5: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

La capacidad de aprender observando el código fuente de las aplicaciones y los cores.

La posibilidad de adaptar a gusto según las necesidades particulares de cada interesado.

La oportunidad de mejorar el código y brindar esas mejoras al resto de la comunidad.

Bajo  costo.  Los  productos  propietarios  de  este  rubro  suelen  tener altos  costos  de  licencias,  lo  que  limita  y  restringe  su  aplicación  en forma  masiva  en  proyectos  e  instituciones  de  bajos  recursos  y  en países en desarrollo. 

Ventajas del uso del software libre

Entre las ventajas del uso de software libre podemos citar:

© 2005 INTI – Tropea, Brengi, Borgna

Page 6: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Algunos de sus principales servicios son:

● Alojamiento de páginas web.● Listas de correo y foros.● Sistema de distribución de archivos.● CVS (para organización y desarrollo grupal de código).

Sourceforge.net

Sourceforge.net brinda en forma gratuita recursos de hosting a proyectos de software libre y open source. 

© 2005 INTI – Tropea, Brengi, Borgna

Page 7: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

El ciclo de desarrolloE d i c i ó n

S E T E d i t

P l a n ti l l asP m a c r o s y t p l 2 f i l e

A u t o m at i z a d orG N U M a k e

C om p i l ad o rG H D L

E s t i l o ( L i n t )b a k a l i n t

B ú s q u e d ac t a g s

T e s t b e n c hG H D L

F o r m a d e O n d aG TK W a ve y d i no t r a c e

P os t - p r o c e s oG C C y P e r l

S í n t e s i sx s t / m a p / p a r

J T A GJ B i t , n a x j p , x i l i x _ j t a g

F P G AS p a r t a n I I

R e c o l e c c i ó n d e e r r o r e s

E r r o r

N o c u m p l e

O k

O tr o sh e x 2v hd l

v h dl s p pn a t e b e g e

Bi b l i o t e c a sy C o r e s

© 2005 INTI – Tropea, Brengi, Borgna

Page 8: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Busqueda, selección, prueba e integración

Se realiza una búsqueda de todos los recursos y herraminetas disponibles para obtener el ciclo de desarrollo completo.

Priorizando  siempre  las  aplicaciones  de  software  libre    y trabajando  bajo  sistemas  operativos  GNU/Linux  por  este mismo motivo.

Se    prueban  y  seleccionan  las  herramientas  más  cómodas  y eficientes según nuestra modalidad de trabajo.

Además  se  realiza  un  trabajo  de  integración  general  de  los distintos  componentes  del  ciclo  y  se  intenta    cubrir  las pequeñas piezas faltantes con desarrollos propios.

© 2005 INTI – Tropea, Brengi, Borgna

Page 9: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Partes

El código HDL.

Edición de código.

Simulación.

Síntesis.

Hardware y  FPGA.

El  ciclo  completo  de  desarrollo  con  FPGA  es  muy  complejo, pero  enfocando  en  sus  herramientas  asociadas,  podríamos separarlo en los siguientes items principales:

© 2005 INTI – Tropea, Brengi, Borgna

Page 10: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

El código HDL

Por  ser  una  especificación  abierta  y  de  libre  uso,  se elige  utilizar  Wishbone  como  mecanismo  de interconectividad de cores. 

Además  esta  especificación  es  la  utilizada  por OpenCores.org,  un  sitio  de  referencia  para desarrollos de IP de uso libre, pudiendose aprovechar de esta manera la gran cantidad de cores disponibles en este sitio.

Para  una  primera  etapa  se  selecciona  el  lenguaje VHDL  por  su  uso  difundido  en  instituciones universitarias  y  la  existencia  de  grandes  proyectos open source como el procesador León escritos en este lenguaje.

VHDLVHDL

© 2005 INTI – Tropea, Brengi, Borgna

Page 11: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

EdiciónSETEdit

PlantillasPmacros y tpl2file

AutomatizadorGNU Make

CompiladorGHDL

Estilo (Lint)bakalint

Búsquedactags

TestbenchGHDL

Forma de OndaGTKWave y dinotrace

Post­procesoGCC y Perl

Recolección de errores

Error

Otroshex2vhdlvhdlsppnatebege

Bibliotecasy Cores

© 2005 INTI – Tropea, Brengi, Borgna

Page 12: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

http://setedit.sourceforge.net

Edición de código

● Resaltado de sintáxis para VHDL. ● Macros específicas con construcciones típicas de VHDL (PMacros). ●  Utilización  de  Exuberant  C  Tags  con soporte específico para VHDL. ● Indentado coherente con los guidelines del proyecto. ●  tpl2file:  templates  de  Xilinx  como archivos

No  son  muchos  los  editores  libres  que  posean  facilidades  avanzadas  para  la  edición  de  código No  son  muchos  los  editores  libres  que  posean  facilidades  avanzadas  para  la  edición  de  código VHDL. Uno de estos editores es el SETEdit, un editor pensado para programadores,  con soporte VHDL. Uno de estos editores es el SETEdit, un editor pensado para programadores,  con soporte para gran  cantidad de  lenguajes de programación. Estas  son  algunas de  las  características que  lo para gran  cantidad de  lenguajes de programación. Estas  son  algunas de  las  características que  lo hacen una buena elección para el trabajo con VHDL: hacen una buena elección para el trabajo con VHDL: 

© 2005 INTI – Tropea, Brengi, Borgna

Page 13: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

EdiciónSETEdit

PlantillasPmacros y tpl2file

AutomatizadorGNU Make

CompiladorGHDL

Estilo (Lint)bakalint

Búsquedactags

TestbenchGHDL

Forma de OndaGTKWave y dinotrace

Post­procesoGCC y Perl

Recolección de Recolección de erroreserrores

Error

Otroshex2vhdlvhdlsppnatebege

Bibliotecasy Cores

© 2005 INTI – Tropea, Brengi, Borgna

Page 14: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

GNU/Make

seteditghdl

makeCtrl+F9Edición

Listo para simular

● Automatiza el proceso, incluyendo pasos específicos. Ejemplo: ensamblador.● Integra con SETEdit para la recolección de errores.

© 2005 INTI – Tropea, Brengi, Borgna

Page 15: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

EdiciónSETEdit

PlantillasPmacros y tpl2file

AutomatizadorGNU Make

CompiladorGHDL

Estilo (Lint)bakalint

Búsquedactags

TestbenchGHDL

Forma de OndaGTKWave y dinotrace

Post­procesoGCC y Perl

Recolección de errores

Error

Otroshex2vhdlvhdlsppnatebege

Bibliotecasy Cores

© 2005 INTI – Tropea, Brengi, Borgna

Page 16: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Simulación

Debido  a  su  amplio  uso  y  a  la  capacidad  de  compilar  sin problemas  proyectos  tales  como  el  procesador  LEON  y  el DLX se ha seleccionado el GHDL como herramienta principal de simulación para VHDL. 

http://ghdl.free.fr/

GHDL  utiliza  la  tecnología  del  GCC,  el  compilador  de software libre más utilizado en todo el mundo.

© 2005 INTI – Tropea, Brengi, Borgna

Page 17: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

TestbenchGHDL

Forma de OndaGTKWave y dinotrace

Post­procesoGCC y Perl

Síntesisxst/map/par

JTAGJBit, naxjp, xilix_jtag

FPGASpartan II

Recolección de errores

Error

No cumple

Ok

© 2005 INTI – Tropea, Brengi, Borgna

Page 18: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Síntesis

Lamentablemente  no  conocemos  herramientas  de  síntesis  con Lamentablemente  no  conocemos  herramientas  de  síntesis  con licencias  free  software  u  open  source.  Los  dos  fabricantes  más licencias  free  software  u  open  source.  Los  dos  fabricantes  más importantes  de  dispositivos  FPGA  brindan  herramientas  de importantes  de  dispositivos  FPGA  brindan  herramientas  de síntesis, cada uno para sus propios productos, de uso gratuito.síntesis, cada uno para sus propios productos, de uso gratuito.

El  proyecto  FPGA  Libre  está  abierto  a  cualquier  tecnología  y El  proyecto  FPGA  Libre  está  abierto  a  cualquier  tecnología  y dispositivo FPGA, siempre que pueda lograrse su utilización bajo dispositivo FPGA, siempre que pueda lograrse su utilización bajo entornos de software libre, como es el caso de GNU/Linux. entornos de software libre, como es el caso de GNU/Linux. 

La  herramienta  de  síntesis  ISE  WebPack  de  Xilinx  es  de  uso La  herramienta  de  síntesis  ISE  WebPack  de  Xilinx  es  de  uso gratuito (no libre), tiene una versión para sistemas GNU/Linux y gratuito (no libre), tiene una versión para sistemas GNU/Linux y permite  su  utilización  con  línea  de  comandos,  lo  que  facilita  la permite  su  utilización  con  línea  de  comandos,  lo  que  facilita  la automatización del proceso con herramientas como GNU Make.automatización del proceso con herramientas como GNU Make.

© 2005 INTI – Tropea, Brengi, Borgna

Page 19: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

XST NGDBuild MAP PaR BitGen TRCE

BitStream

VHDL

Síntesis con herramientas de Xilinx

© 2005 INTI – Tropea, Brengi, Borgna

Page 20: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

TestbenchGHDL

Forma de OndaGTKWave y dinotrace

Post­procesoGCC y Perl

Síntesisxst/map/par

JTAGJBit, naxjp, xilix_jtag

FPGASpartan II

Recolección de errores

Error

No cumple

Ok

© 2005 INTI – Tropea, Brengi, Borgna

Page 21: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

JTAG● Estándar IEEE 1149.1 del JTAG (Joint Test Action Group).● Originalmente pensado para testeo.● Independiente del fabricante.

naxjpjbit/GNU jtag xilinx­jtag

PROM FPGA OTROS

© 2005 INTI – Tropea, Brengi, Borgna

Page 22: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Hardware y FPGA: Programador JTAG

Para  nuestros  proyectos  usamos  un  cable  compatible  con  el  cable Parallel III de Xilinx, también conocido como DLC5.Este es un circuito simple y barato que se puede conectar al puerto paralelo de una PC.Todos  los  archivos de diseño  se  encuentran disponibles  en  formato Kicad.

© 2005 INTI – Tropea, Brengi, Borgna

Page 23: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

TestbenchGHDL

Forma de OndaGTKWave y dinotrace

Post­procesoGCC y Perl

Síntesisxst/map/par

JTAGJBit, naxjp, xilix_jtag

FPGASpartan II

Recolección de errores

Error

No cumple

Ok

© 2005 INTI – Tropea, Brengi, Borgna

Page 24: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Hardware y FPGA: Placa de desarrollo

Para desarrollar una aplicación, además del chip FPGA es necesaria una electrónica de soporte: Circuito impreso, circuitos de alimentación, memoria, conectores, etc.

La forma más fácil de abordar este tema es comprando algún kit de desarrollo para FPGA (Plaqueta con FPGA). Nuestro primer kit de desarrollo comprado es una placa Memec Spartan II LC.

© 2005 INTI – Tropea, Brengi, Borgna

Page 25: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Hardware y FPGA : Desarrollo de hardwareEl  intercambio  y  la  copia  de  circuitos  físicos  (hardware)  es  complejo debido al costo de replicación. Aquí ya no pueden aplicarse los mismos criterios que para el software libre.

Sin embargo, sí puede mantenerse el mismo espíritu con  los archivos y toda la información de diseño asociada a un circuito. A este concepto se lo  llama “Hardware Libre”, Hardware Abierto” o  “Free Hardware”. En este  punto  es  muy  importante  comprender  que  las  herramientas  de software para realizar estos diseños también deberían ser libres.

Para  cumplir  este  propósito  con  el  desarrollo  de  circuitos  electrónicos bajo esta modalidad se ha seleccionado el software KICAD:

 http://www.lis.inpg.fr/realise_au_lis/kicad/

© 2005 INTI – Tropea, Brengi, Borgna

Page 26: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Hardware y FPGA: Placa propia de desarrollo● Como parte del proceso de aprendizaje se está trabajando en el diseño de una placa de similares características a la utilizada hasta el momento.● Utilizando herramientas EDA de software libre (Kicad).● Toda la documentación y los archivos de diseño serán de libre acceso, uso y modificación.

© 2005 INTI – Tropea, Brengi, Borgna

Page 27: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Herramientas que Herramientas que quedaron en el tinteroquedaron en el tintero

© 2005 INTI – Tropea, Brengi, Borgna

Page 28: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

EdiciónSETEdit

PlantillasPmacros y tpl2file

AutomatizadorGNU Make

CompiladorGHDL

Estilo (Lint)bakalint

Búsquedactags

TestbenchGHDL

Forma de OndaGTKWave y dinotrace

Post­procesoGCC y Perl

Recolección de errores

Error

Otroshex2vhdlvhdlsppnatebege

Bibliotecasy Cores

© 2005 INTI – Tropea, Brengi, Borgna

Page 29: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

● vhdlspp: VHDL Simple Pre-Processor que permite fácilmente incluir archivos. Similar a la sentencia #include del lenguaje C.● hex2vhdl: Conversor de archivos en formato HEX a un array VHDL. Utilizado por ejemplo para incluir el contenido de la memoria de programa de un procesador dentro de un diseño.● xtracth: Este es un script muy simple para extraer definiciones de un package VHDL y colocarlas en un .h y/o un .inc.● natebege: NAive TEst BEnch GEnerator. Generador de bancos de pruebas simples.

© 2005 INTI – Tropea, Brengi, Borgna

Page 30: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

EdiciónSETEdit

PlantillasPmacros y tpl2file

AutomatizadorGNU Make

CompiladorGHDL

Estilo (Lint)bakalint

Búsquedactags

TestbenchGHDL

Forma de OndaGTKWave y dinotrace

Post­procesoGCC y Perl

Recolección de errores

Error

Otroshex2vhdlvhdlsppnatebege

Bibliotecasy Cores

© 2005 INTI – Tropea, Brengi, Borgna

Page 31: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

● Guidelines: definidos por el proyecto y basados en los de la Agencia Espacial Europea y los de Open Cores definen el estilo de escritura del código VHDL del proyecto.

● bakalint: un lint muy tonto que permite verificar la mayor parte de los guidelines del proyecto. Es heurístico, se integra a la cadena a través del make y los errores los recolecta SETEdit.

© 2005 INTI – Tropea, Brengi, Borgna

Page 32: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

EdiciónSETEdit

PlantillasPmacros y tpl2file

AutomatizadorGNU Make

CompiladorGHDL

Estilo (Lint)bakalint

Búsquedactags

TestbenchGHDL

Forma de OndaGTKWave y dinotrace

Post­procesoGCC y Perl

Recolección de errores

Error

Otroshex2vhdlvhdlsppnatebege

Bibliotecasy Cores

© 2005 INTI – Tropea, Brengi, Borgna

Page 33: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

GTKWave (visor de formas de onda)● Interfaz de usuario simple escrita en GTK.● Soporte especial para VHDL (originalmente sólo Verilog).● Soporte para GHW.

© 2005 INTI – Tropea, Brengi, Borgna

Page 34: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

Todo el ciclo Todo el ciclo simplificadosimplificado

© 2005 INTI – Tropea, Brengi, Borgna

Page 35: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

EdiciónSETEdit

PlantillasPmacros y tpl2file

AutomatizadorGNU Make

CompiladorGHDL

Estilo (Lint)bakalint

Búsquedactags

TestbenchGHDL

Forma de OndaGTKWave y dinotrace

Post­procesoGCC y Perl

Recolección de errores

Error

Otroshex2vhdlvhdlsppnatebege

Bibliotecasy Cores

© 2005 INTI – Tropea, Brengi, Borgna

Page 36: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

TestbenchGHDL

Forma de OndaGTKWave y dinotrace

Post­procesoGCC y Perl

Síntesisxst/map/par

JTAGJBit, naxjp, xilix_jtag

FPGASpartan II

Recolección de errores

Error

No cumple

Ok

© 2005 INTI – Tropea, Brengi, Borgna

Page 37: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

ConclusionesConclusiones● Se puede realizar el ciclo completo utilizando software libre y/o gratuito.● Se puede realizar el ciclo completo trabajando sobre un sistema operativo libre (Ejemplo: Debian GNU/Linux)● Se dispone de herramientas muy útiles y fácilmente automatizables.● Es posible enseñar y desarrollar aplicaciones comerciales con las mismas herramientas y sin costos extras de licencias.● Es posible enseñar los conceptos del desarrollo con FPGAs sin necesidad de comprometerse con un fabricante. Al verificar el código con GHDL nos aseguramos de que sea estándar y sólo los comandos de síntesis son específicos. Se aplica a las EDA tools y a las FPGAs.

© 2005 INTI – Tropea, Brengi, Borgna

Page 38: Presentación del Proyecto - SourceForgefpgalibre.sourceforge.net/Bahia_Blanca_oct_2005/..."software" libre, teniendo en cuenta que los programas comerciales son muy caros, las licencias

http://fpgalibre.sf.nethttp://fpgalibre.sf.net

ContactoContacto● Proyecto FPGALibre: http://fpgalibre.sf.net/● Integrantes: 

● Borgna, Juan P. D. <[email protected]> ● Brengi, Diego J. <[email protected]>● Trapanotto, Andrés <[email protected]>● Tropea, Salvador E. <[email protected]>

● El proyecto está abierto a quien quiera participar.

¡Muchas gracias!¡Muchas gracias!© 2005 INTI – Tropea, Brengi, Borgna