source: trunk/doc/documentacion.tex @ 22

Revision 22, 8.6 KB checked in by agustinhenze, 4 years ago (diff)

Ahora sí tageando a skipper a la versión 0.1

Line 
1\documentclass[a4paper,10pt]{article}
2
3\usepackage{amsmath}
4\usepackage[utf8]{inputenc}
5\usepackage[T1]{fontenc}
6\usepackage[spanish]{babel}
7\usepackage[]{textcomp}
8\usepackage[pdftex]{graphicx}
9\usepackage[pdftex]{color}
10\usepackage[all]{xy}
11\usepackage[left=3cm,right=3cm]{geometry}
12\usepackage{fancyhdr}
13\usepackage{makeidx}
14\usepackage[unicode=true, pdfusetitle, bookmarks=true,bookmarksnumbered=false, bookmarksopen=false, breaklinks=false, pdfborder={0 0 1}, backref=false, colorlinks=false]{hyperref}
15\pagestyle{fancy}
16
17\chead{}
18\rhead{\textrm{Técnicas Digitales IV}}
19\lfoot{U.T.N.}
20\cfoot{}
21\rfoot{Pag. \thepage}
22\renewcommand{\headrulewidth}{0.3pt}
23\renewcommand{\footrulewidth}{0.3pt}
24
25\title{\Huge Skipper, \textbf{IDE} para programación en \textbf{HDL}}
26\author{Redolfi, Javier Andrés; Henze, Agustín; Insaurralde, Pablo}
27%\address{ Universidad Tecnologica Nacional, Fac. Reg. Cba.}
28\makeindex
29
30\begin{document}
31{
32\printindex
33\maketitle
34\newpage
35
36\tableofcontents
37\newpage
38\section{Introducción}
39
40Skipper va a intentar ser, esperamos de aca a unos años, o no, un Entorno de Desarrollo Integrado para \textbf{HDL}.
41Esto es, un entorno que permita escribir código en \textbf{HDL}, chequear sintaxis, escribir testbenchs, hacer simulación y ver los resultados.\\
42La idea es no reinventar la rueda, o sea no escribir todas las herramientas, sino usar las que ya están hechas y escribir las que no están.\\
43El proyecto surge como resultado de la falta de un \textbf{IDE} para la programación en dicho lenguaje con licencia \textbf{GPL}; si tenemos varias herramientas aisladas; las juntamos a todas y las hacemos encajar.\\
44La meta principal en un principio es brindar una herramienta para aprender \textbf{HDL} y más adelante tener un buen \textbf{IDE} para el desarrollo.\\
45Algunas de las herramientas que usa Skipper son gedit, ghdl, gtkWave, etc.\\
46En esta versión 0.1, queremos agradecer a los docente Cayuela Pablo y a Olmedo Sergio por apoyar este trabajo y tener las intenciones de implementarlo en su cátedra Técnicas Digitales IV en la U.T.N. F.R.C.\\
47
48\underline{Características:}
49
50\begin{itemize}
51  \item Soporte para vhdl y verilog.
52  \item Multiplataforma, aunque en esto no nos esmeraremos mucho.
53  \item etc.
54\end{itemize}
55
56\underline{Nota:} por ahora soporta vhdl y debería andar en otras plataformas debido a que los programas que se usan son multiplataforma.
57       
58\section{Hoja de Ruta de Skipper}
59\begin{description}
60        \item[Fase 1] Tener andando el editor, con todas sus características. En esta fase podríamos ya, escribir entidades y testbenchs.
61        \item[Fase 2] Checkear sintaxis, ver logs de errores, simular.
62        \item[Fase 3] Integrar en el \textbf{IDE} el visor de forma de onda.
63        \item[Fase 4] Construir e Integrar al \textbf{IDE} el editor de UCF.
64        \item[Fase 5] Construir e Integrar al \textbf{IDE} el editor de testbenchs.
65        \item[Fase 6] Construir e Integrar al \textbf{IDE} el sintetizador.
66        \item[Fase 7] Soportar verilog.
67\end{description}
68
69\underline{Nota:} esta versión cumplimenta la fase 1, la fase 2 y la fase 3.
70
71\section{Herramientas de Skipper}
72
73El \textbf{IDE} será basado en un editor de texto avanzado llamado gedit y tendrá la siguientes herramientas:
74
75\subsection{El editor: gedit}
76
77\underline{Características:}
78
79\begin{itemize}
80  \item Comentar código
81  \item Completar paréntesis
82  \item Indentación automágica
83  \item Corrector Ortográfico
84  \item Navegación de Documento
85  \item Ampliación de funcionalidades mediante plugins
86\end{itemize}
87
88\subsection{Compilador/Simulador: ghdl}
89
90\underline{Características:}
91
92\begin{itemize}
93  \item Es un simulador completo de VHDL, usando la tecnología GCC.
94  \item Implementa el estandar de la IEEE 1076-1987 o IEEE 1076-1993.
95  \item No sintetiza, esto es, no traduce tu diseño a netlist.
96\end{itemize}
97
98\subsection{TestBench}
99Será a través de una tabla con las entradas declaradas en nuestra entidad, en la cuál especificaremos el tiempo, los valores de esas entradas y los valores de salida correctos. También se proporcionará un ayudante que permita realizar el testbenchs en forma gráfica.
100
101\subsection{Visor de Ondas: gtkWave}
102
103\underline{Características:}
104
105\begin{itemize}
106  \item Es un visor de formas de onda usado para examinar las salidas de varios simuladores digitales.
107  \item Puede leer VCD(Estandar industrial de simulación), EVCD, LXT y LXT2 ( específicos del gtkWave ).
108\end{itemize}
109
110\subsection{Editor de UCF}
111Este programa permitirá unir mediante una tabla, los puertos con los pines físicos del chip.
112
113\subsection{Síntesis}
114Este programa permitirá convertir el vhdl en formato EDIF, el cual luego puede ser leído por la herramienta privativa que estemos utilizando para nuestro chip, la cuál podrá generar el bitstream a partir de este archivo.
115
116\section{Instalación}
117Para funcionar, el \textbf{IDE} necesita tener instalados el gedit, el ghdl, el gtkWave y el interprete python.
118
119Luego descargamos los plugins para gedit.
120Esto lo podemos hacer a través de svn desde el siguiente repositorio:
121  \href{http://www.sluc.org.ar/svn/skipper/}{http://www.sluc.org.ar/svn/skipper/}
122
123Con el programa svn podemos usar el siguiente comando para descargar la versión en desarrollo:
124  \begin{center}\textbf{svn co http://www.sluc.org.ar/svn/skipper/trunk skipper}\end{center}
125
126Para probar la versión 0.1 bajamos \href{http://www.sluc.org.ar/svn/skipper/skipper-0.1/skipper-0.1.tar.bz2}{este tar.bz2}, o el .zip desde \href{http://www.sluc.org.ar/svn/skipper/skipper-0.1/skipper-0.1.zip}{aquí}.\\
127
128Esto nos descargará una serie de plugins que debemos copiar en la carpeta .gnome2/gedit/plugins/ de nuestro home.
129Luego abrimos el gedit y vamos al Menu Editar->Preferencias.
130En preferencias vamos a la solapa Complementos, activamos Skipper y el Manejador de Proyecto.
131
132Con esto ya tenemos andando el \textbf{IDE}.
133
134\section{Uso}
135
136Skipper se compone de 2 partes principales, la primera la tenemos en el menú Herramientas y la segunda el propio menú Proyecto.
137
138\begin{itemize}
139  \item En el menú herramientas tenemos 4 acciones:
140    \begin{description}
141        \item[Chequea Sintaxis:]esto llama al comando \textit{ghdl -s} y realiza un chequeo de sintaxis.
142        \item[Analize Vhdl:]esto llama al comando \textit{ghdl -a} y construye un objeto.
143        \item[Elaborate Vhdl:]esto llama al comando \textit{ghdl -e} y crea un ejecutable.
144        \item[Simulate Vhdl:]esto llama al comando \textit{ghdl -r} y ejecuta el archivo, tambien llama al gtkWave con el resultado de la simulación; esto se usa con archivos del tipo testbench.
145    \end{description}
146\end{itemize}
147
148\begin{itemize}
149        \item El menú Proyecto nos permite crear un proyecto en el cual podemos agrupar varios archivos de tipo vhdl y testbench los cuales se llamarán por convención \textit{*.tbw}. Este menú además de realizar las acciones normales de un manejador de proyecto nos permite simular un proyecto completo.
150
151Para simular un proyecto completo debemos escribir un testbench que simule nuestro proyecto o las entidades intermedias del mismo; luego cuando este activo en el editor este archivo debemos presionar Simular Proyecto del menú herramientas. Esto construirá un objeto para cada archivo vhdl que este en el proyecto, luego creará un ejecutable que responderá al testbench, lo ejecutará y abrirá el gtkWave mostrando los resultados de la simulación.
152\end{itemize}
153
154\section{Enlaces}
155\begin{itemize}
156  \item \href{http://www.sluc.org.ar/skipper}{Página Principal Skipper}
157  \item \href{http://projects.gnome.org/gedit/}{gEdit}
158  \item \href{http://ghdl.free.fr/}{GHDL}
159  \item \href{http://gtkwave.sourceforge.net/}{gtkWave}
160  \item \href{http://fpgalibre.sourceforge.net/}{fpgalibre}
161  \item \href{http://live.gnome.org/Gedit/Windows}{gedit for Windows}
162  \item \href{http://blogs.gnome.org/nacho/2009/06/02/porting-your-gtk-application-to-windows/}{Porting your Gtk+ application to windows}
163  \item \href{http://www.geocities.com/SiliconValley/Campus/3216/GTKWave/gtkwave-win32.html}{The Win32 GTKWave Homepage}
164  \item \href{http://ghdl.free.fr/download.html}{GHDL for Windows}
165\end{itemize}
166
167\section{Licencia de este Documento}
168
169Skipper\\
170
171Skipper, \textbf{IDE} para programación en \textbf{HDL}\\
172
173Copyright © 2009 Redolfi Javier, Agustín Henze, Insaurralde Pablo.\\
174
175Se concede permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre de la GNU, Version 1.1 o cualquier versión posterior publicada por la Free Software Foundation.\\
176
177Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation.
178}
179\end{document}
Note: See TracBrowser for help on using the repository browser.