Publicado el 2 de Noviembre del 2018
926 visualizaciones desde el 2 de Noviembre del 2018
2,7 MB
38 paginas
Creado hace 19a (13/10/2005)
http://fpgalibre.sf.net
http://fpgalibre.sf.net
Presentación del Proyecto
Herramientas, cores IP y documentación para
el desarrollo de aplicaciones con FPGA.
Tropea S. E., Brengi D. J., Borgna J. P. D.
© 2005 INTI – Tropea, Brengi, Borgna
http://fpgalibre.sf.net
http://fpgalibre.sf.net
Nacimiento del proyecto FPGALibre
El proyecto FPGA Libre nace dentro del laboratorio de Instrumentación y
Control del INTIElectró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
http://fpgalibre.sf.net
http://fpgalibre.sf.net
© 2005 INTI – Tropea, Brengi, Borgna
Motivación
En el Primer Workshop Latinoamericano de Tecnología FPGA observamos
varios grupos deseosos de compartir conocimientos sobre FPGA
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.
http://fpgalibre.sf.net
http://fpgalibre.sf.net
Objetivos del proyecto
Facilitar el intercambio de los elementos necesarios para el desarrollo
con FPGA.
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.
© 2005 INTI – Tropea, Brengi, Borgna
http://fpgalibre.sf.net
http://fpgalibre.sf.net
Ventajas del uso del software libre
Entre las ventajas del uso de software libre podemos citar:
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.
© 2005 INTI – Tropea, Brengi, Borgna
http://fpgalibre.sf.net
http://fpgalibre.sf.net
Sourceforge.net
Sourceforge.net brinda en forma gratuita recursos de
hosting a proyectos de software libre y open source.
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).
© 2005 INTI – Tropea, Brengi, Borgna
http://fpgalibre.sf.net
http://fpgalibre.sf.net
El ciclo de desarrollo
© 2005 INTI – Tropea, Brengi, Borgna
E
d
i
c
i
ó
n
S
E
T
E
d
i
t
P
l
a
n
t
i
l
l
a
s
P
m
a
c
r
o
s
y
t
p
l
2
f
i
l
e
A
u
t
o
m
a
t
i
z
a
d
o
r
G
N
U
M
a
k
e
C
o
m
p
i
l
a
d
o
r
G
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
a
c
t
a
g
s
T
e
s
t
b
e
n
c
h
G
H
D
L
F
o
r
m
a
d
e
O
n
d
a
G
T
K
W
a
v
e
y
d
i
n
o
t
r
a
c
e
P
o
s
t
-
p
r
o
c
e
s
o
G
C
C
y
P
e
r
l
S
í
n
t
e
s
i
s
x
s
t
/
m
a
p
/
p
a
r
J
T
A
G
J
B
i
t
,
n
a
x
j
p
,
x
i
l
i
x
_
j
t
a
g
F
P
G
A
S
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
t
r
o
s
h
e
x
2
v
h
d
l
v
h
d
l
s
p
p
n
a
t
e
b
e
g
e
B
i
b
l
i
o
t
e
c
a
s
y
C
o
r
e
s
http://fpgalibre.sf.net
http://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
http://fpgalibre.sf.net
http://fpgalibre.sf.net
Partes
El ciclo completo de desarrollo con FPGA es muy complejo,
pero enfocando en sus herramientas asociadas, podríamos
separarlo en los siguientes items principales:
El código HDL.
Edición de código.
Simulación.
Síntesis.
Hardware y FPGA.
© 2005 INTI – Tropea, Brengi, Borgna
VHDL
VHDL
http://fpgalibre.sf.net
http://fpgalibre.sf.net
El código HDL
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.
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
referencia para
desarrollos de IP de uso libre, pudiendose aprovechar
de esta manera la gran cantidad de cores disponibles
en este sitio.
sitio de
© 2005 INTI – Tropea, Brengi, Borgna
http://fpgalibre.sf.net
http://fpgalibre.sf.net
Búsqueda
ctags
Plantillas
Pmacros y tpl2file
Edición
SETEdit
Bibliotecas
y Cores
Automatizador
GNU Make
Otros
hex2vhdl
vhdlspp
natebege
Compilador
GHDL
Estilo (Lint)
bakalint
Forma de Onda
GTKWave y dinotrace
Testbench
GHDL
Recolección de
errores
© 2005 INTI – Tropea, Brengi, Borgna
Error
Postproceso
GCC y Perl
http://fpgalibre.sf.net
http://fpgalibre.sf.net
Edición de código
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:
● 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
http://setedit.sourceforge.net
© 2005 INTI – Tropea, Brengi, Borgna
http://fpgalibre.sf.net
http://fpgalibre.sf.net
Búsqueda
ctags
Plantillas
Pmacros y tpl2file
Edición
SETEdit
Bibliotecas
y Cores
Automatizador
GNU Make
Otros
hex2vhdl
vhdlspp
natebege
Compilador
GHDL
Estilo (Lint)
bakalint
Forma de Onda
GTKWave y dinotrace
Testbench
GHDL
Recolección de
Recolección de
errores
errores
© 2005 INTI – Tropea, Brengi, Borgna
Error
Postproceso
GCC y Perl
http://fpgalibre.sf.net
http://fpgalibre.sf.net
GNU/Make
● Automatiza el proceso, incluyendo pasos específicos. Ejemplo:
ensamblador.
● Integra con SETEdit para la recolección de errores.
Edición
Ctrl+F9
setedit
© 2005 INTI – Tropea, Brengi, Borgna
make
ghdl
Listo para simular
http://fpgalibre.sf.net
http://fpgalibre.sf.net
Búsqueda
ctags
Plantillas
Pmacros y tpl2file
Edición
SETEdit
Bibliotecas
y Cores
Automatizador
GNU Make
Otros
hex2vhdl
vhdlspp
natebege
Compilador
GHDL
Estilo (Lint)
bakalint
Forma de Onda
GTKWave y dinotrace
Testbench
GHDL
Recolección de
errores
© 2005 INTI – Tropea, Brengi, Borgna
Error
Postproceso
GCC y Perl
http://fpgalibre.sf.net
http://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
http://fpgalibre.sf.net
http://fpgalibre.sf.net
Forma de Onda
GTKWave y dinotrace
Testbench
GHDL
Recolección de
errores
Error
Postproceso
GCC y Perl
No cumple
© 2005 INTI – Tropea, Brengi, Borgna
Síntesis
xst/map/par
JTAG
JBit, naxjp, xilix_jtag
FPGA
Spartan II
Ok
http://fpgalibre.sf.net
http://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 o
Comentarios de: Herramientas, cores IP y documentación para el desarrollo de aplicaciones con FPGA (0)
No hay comentarios