OpenCores
URL https://opencores.org/ocsvn/phr/phr/trunk

Subversion Repositories phr

[/] [phr/] [trunk/] [doc/] [financiamiento/] [adec/] [informes/] [informe_final/] [informe_final.tex] - Diff between revs 99 and 103

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 99 Rev 103
Line 15... Line 15...
\addtolength{\textheight}{3cm}
\addtolength{\textheight}{3cm}
\addtolength{\voffset}{-1cm}
\addtolength{\voffset}{-1cm}
\addtolength{\textwidth}{1cm}
\addtolength{\textwidth}{1cm}
 
 
\begin{document}
\begin{document}
 
 
\maketitle{}
\maketitle{}
 
 
\tableofcontents{}
\tableofcontents{}
 
\thispagestyle{empty}
 
 
 
 
\begin{abstract}
\begin{abstract}
  El presente informe describe la culminación del proyecto \textbf{\emph{Plataforma de hardware reconfigurable en diseño de sistemas electrónicos}}. En este documento se describirán los aciertos como los inconvenientes que se presentaron en el desarrollo.
  En el presente informe se presentará como se finalizó el proyecto \textbf{\emph{Plataforma de hardware reconfigurable en diseño de sistemas electrónicos}}, se describirán los aciertos como los inconvenientes que se presentaron en el desarrollo. En primer lugar se describirán las versiones finales del \textsl{hardware}. Luego se detalla las herramientas y desarrollos de \textsl{software} que complementa el proyecto. Debido a la decisión de utilizar \textbf{\textsl{Software} Libre}, no se ha tenido gastos en licencias. La totalidad de los recursos económicos se han invertido en materiales físicos (\textsl{hardware}). Por último se realizarán las conclusiones, además se adjuntará documentación complementaria a fines de cumplir con los requerimientos en el proceso de evaluación.
En primer lugar se describirán las versiones finales del \textsl{hardware}, ya que esto atravesó varias etapas hasta lograr una versión que cubra las especificaciones. Luego se detalla el desarrollo de \textsl{software} que complementa el proyecto.
 
Debido a la decisión de utilizar \textbf{\textsl{Software} Libre}, no se ha tenido gastos en licencias. La totalidad de los recursos económicos se han invertido en materiales físicos (\textsl{hardware}).
 
Por último se realizarán las conclusiones, además se adjuntará documentación complementaria a fines de cumplir con los requerimientos en el proceso de evaluación.
 
\end{abstract}
\end{abstract}
 
 
\chapter{Hardware}
\chapter{Hardware}
\label{chap:hw}
\label{chap:hw}
 
 
Line 267... Line 268...
  \end{subfigure}
  \end{subfigure}
  \caption{Fotografías de la placa \emph{OOCDLink}.}
  \caption{Fotografías de la placa \emph{OOCDLink}.}
  \label{fig:oocdlink-foto}
  \label{fig:oocdlink-foto}
\end{figure}
\end{figure}
 
 
 
\section{Gastos en recursos de \textsl{hardware}}
 
\label{sec:hw-gastos}
 
 
 
Los recursos
 
\section{Observaciones}
 
\label{sec:hw-obs}
 
 
 
 
\chapter{Software}
\chapter{Software}
 
\label{chap:sw}
 
 
 
Los desarrollos y herramientas de \textsl{software} que se integran en el proyecto son complementarios a los recursos de \textsl{hardware}. Se han requerido varios programas informáticos en todo el proceso. Si bien no es el objetivo del presente informe realizar una descripción de cada uno de los \textsl{software} utilizados, resulta necesario hacer una breve descripción de los mismos.
 
 
 
\emph{Todas los \textsl{software} utilizados son programas con \textbf{Licencias Libres}. Las motivaciones de esta elección son varias, la más importante es que el proyecto será transferido a una institución académica, por lo que es imprescindible la libertad en el acceso de estas herramientas. El \textbf{Software Libre} le otorga libertades al usuario del programa y no plantea ninguna restricción en el aprendizaje como sí lo hacen los \textsl{software} con licencias privativas.}
 
 
 
\section{Herramientas utilizadas}
 
\label{sec:herramientas-sw}
 
 
 
Las herramientas de \textsl{software} utilizadas para el desarrollo son,
 
 
 
\begin{description}
 
\item[Debian] Debian o Proyecto Debian (en inglés \textsl{Debian Project}) es una comunidad conformada por desarrolladores y usuarios, que mantiene un sistema operativo GNU basado en \textsl{software} libre. El sistema se encuentra precompilado, empaquetado y en un formato deb para múltiples arquitecturas de computador y para varios núcleos.
 
\item[KiCAD] KiCad es un entorno de \textsl{software} usado para el diseño de circuitos eléctricos, muy flexible y adaptable, en el que se pueden crear y editar un gran número de componentes y usarlos en Eeschema. KiCad permite el diseño de circuitos impresos modernos de forma sencilla e intuitiva. Además, en Pcbnew, los circuitos se pueden diseñar con múltiples capas y ser visualizados en 3D.
 
\item[Emacs] Emacs es un editor de texto con una gran cantidad de funciones, muy popular entre programadores y usuarios técnicos. Gnu Emacs es obviamente parte del proyecto GNU y la versión más popular de Emacs con una gran actividad en su desarrollo. El manual de GNU Emacs lo describe como "un editor extensible, personalizable, auto-documentado y de tiempo real."
 
\item[subversion] Subversion (SVN) es un sistema de control de versiones diseñado específicamente para reemplazar al popular CVS. Es \textsl{software} libre bajo una licencia de tipo Apache/BSD y se le conoce también como svn por ser el nombre de la herramienta utilizada en la línea de comando.
 
\item[OpenCores] OpenCores es la comunidad más  grande del mundo de \textsl{hardware open source} de desarrollo digital a través de herramientas EDA (\textsl{Electronic Design Automation}).
 
\item[\LaTeX] \LaTeX es un sistema de composición de textos, orientado especialmente a la creación de libros, documentos científicos y técnicos que contengan fórmulas matemáticas.
 
\item[Inkscape] Inkscape es un editor de gráficos en formato vectoriales SVG, gratuito, libre y multiplataforma. Las características de SVG soportadas incluyen formas básicas, trayectorias, texto, canal alfa, transformaciones, gradientes, edición de nodos, exportación de SVG a PNG, agrupación de elementos, etc.
 
\item[LibreOffice] LibreOffice es una suite ofimática libre y de código abierto desarrollada por \textsl{The Document Foundation}. Se creó como bifurcación de OpenOffice.org en 2010.
 
\item[Bash] Bash (\textsl{Bourne again shell}) es un programa informático cuya función consiste en interpretar órdenes.
 
\end{description}
 
 
 
Los \textsl{software} anteriormente enunciados representan la mayoría de los utilizados en el proyecto. Existen otros \textsl{software} específicos, con diferentes lenguajes, que no se describen.
 
 
 
\section{Desarrollo de \textsl{Scripts}}
 
\label{sec:scripts-sw}
 
 
 
La sección \ref{sec:herramientas-sw} hace referencia a las herramientas utilizadas. En la presente sección se describe la función que cumple la generación de código de programa necesarios para acceder al \textsl{hardware}. Estos código  de programa, también se los llama  \textsl{scripts}. Los \textsl{scripts} se refieren a un grupo de texto en un determinado orden que son interpretados por un programa para ser procesados. En nuestro caso, los programas que se utilizan son \textbf{\emph{OpenOCD} y \emph{xc3sprog}}. La Figura \ref{fig:scripts-diagrama} representa la vinculación entre los recursos de \textsl{Software} y \textsl{Hardware}.
 
 
 
\begin{figure}[h]
 
  \centering
 
  \includegraphics[width=0.7\textwidth]{images/software_ciclo}
 
  \caption{Diagrama en bloque de la conexión entre el \textsl{Software} y el \textsl{Hardware}.}
 
  \label{fig:scripts-diagrama}
 
\end{figure}
 
 
 
La estructura de los \textsl{scripts} son definidos por el \textsl{software} con el cual procesar (\emph{OpenOCD} o \emph{xc3sprog}). Se dispone de gran información sobre estos programas en los sitios web oficiales como así también en listas de correos que se conforma por usuarios y desarrolladores de los \textsl{software}. En el \emph{Manual de Usuario} se describen la forma en que se utilizan los programas.
 
 
 
 
 
\section{Repositorio del proyecto}
 
\label{sec:sw-repo}
 
 
 
Para llevar adelante un proyecto de desarrollo de \emph{hardware/software} (HW/SW), es sumamente importante disponer de un repositorio donde alojar toda la información. De forma que uno pueda acceder a ellos en forma segura y sin pérdidas de información. Además contar con la posibilidad de que se lleve un registro de los cambios que se vayan realizando sobre cada archivo. En nuestro caso se utiliza un repositorio \emph{SVN} que se encuentra alojado en los servidores de \emph{OpenCores}\footnote{http://opencores.org/project,phr}.
 
Existen muchos sitios en la red que ofrecen este tipo de servicios informáticos, tanto gratis como pagos. Una gran parte de los sitios que dan alojamiento a proyectos en forma gratuita son sustentados por empresas tecnológicas y aportes voluntarios de la comunidad. Además cada sitio tiene diferentes requerimientos para dar alojamiento a un nuevo proyecto (por ejemplo: tipo de licencia, tamaño de archivos, etc.).
 
Como se ha dicho antes en la Sección \ref{sec:herramientas-sw}, OpenCores es uno de los sitios web que hospeda a una gran cantidad de proyectos de HW/SW abiertos de todo el mundo. Otros sitios interesantes donde disponen de infraestructura para alojar proyectos abiertos son,
 
 
 
\begin{itemize}
 
\item SourceForge (https://sourceforge.net/)
 
\item GitHub (https://github.com/)
 
\item CodeGoogle (http://code.google.com/)
 
\end{itemize}
 
 
 
\section{Observaciones}
 
\label{sec:sw-obs}
 
 
 
Los programas que se utilizan para interactuar con el \textsl{hardware}, \emph{OpenOCD} y \emph{xc3sprog}, no disponen de un entorno gráfico. La forma en que se manipulan es mediante lineas de comando \emph{Bash}. Esto no genera imposibilidades alguna al usuario, pero sí la implementación de un entorno gráfico podría ayudar o facilitar su uso (por ejemplo: con el empleo de botones, visualización del estado del \textsl{hardware}, etc.).
 
Otra observación que se documenta es la posibilidad de integrar las herramientas del fabricante del dispositivo a programar, en nuestro caso Xilinx Inc., con las herramientas que disponemos (\emph{OpenOCD} y \emph{xc3sprog}). El ciclo completo por parte de los usuarios del proyecto arranca con el diseño de un circuito con un lenguaje de programación descriptivo (VHDL o Verilog), luego se sintetiza con una herramienta del fabricante del dispositivo y luego con el archivo que genera se lo debe cargar al \textsl{hardware}. Estos últimos pasos podrían realizarse con nuevos \textsl{scripts} que se agregan a los ya utilizados.
 
 
 
 
 
\chapter{Conclusiones}
 
\label{chap:conclusiones}
 
 
\end{document}
\end{document}
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.