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

Subversion Repositories phr

[/] [phr/] [trunk/] [doc/] [informe-tesis/] [phd-thesis-template-master/] [Chapter2/] [chapter2.tex] - Diff between revs 236 and 244

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

Rev 236 Rev 244
Line 326... Line 326...
  \includegraphics[width=0.8\textwidth]{makimoto-wave}
  \includegraphics[width=0.8\textwidth]{makimoto-wave}
  \caption{Onda de Makimoto.}
  \caption{Onda de Makimoto.}
  \label{fig:makimoto-wave}
  \label{fig:makimoto-wave}
\end{figure}
\end{figure}
 
 
Se podría considerar la existencia de dos eras de la \emph{programabilidad} donde la \emph{primera} era ocurre con la aparición del microprocesador en la década de 1970s, donde los programadores desarrollan soluciones programables basados sobre estos \textsl{hardware} fijos. El gran reto en esta era fue en entorno de \textsl{software}; los desarrolladores trabajaban con lenguajes \textsl{assembly} e incluso cuando los compiladores y ensambladores surgieron para el lenguaje C, pues se obtenían mejores rendimientos con la codificación manual. Se comenzaron a obtener librerías que proporcionaban funciones básicas, permitiendo al diseñador concentrarse en la programación de la aplicación. Estas funciones actualmente son fácilmente accedidas desde los compiladores y ensambladores comerciales/libres. Actualmente hay una gran demanda de lenguajes de programación de alto-nivel como C y Java. Tal es así la abstracción del lenguaje que incluso entornos de desarrollos de alto nivel como UML están siendo implementados.
Se podría considerar la existencia de dos épocas de la \emph{programabilidad} donde la \emph{primera} época ocurre con la aparición del microprocesador en la década de 1970s, donde los programadores desarrollan soluciones programables basados sobre estos \textsl{hardware} fijos. El gran reto en esta época fue en entorno de \textsl{software}; los desarrolladores trabajaban con lenguajes \textsl{assembly} e incluso cuando los compiladores y ensambladores surgieron para el lenguaje C, pues se obtenían mejores rendimientos con la codificación manual. Se comenzaron a obtener librerías que proporcionaban funciones básicas, permitiendo al diseñador concentrarse en la programación de la aplicación. Estas funciones actualmente son fácilmente accedidas desde los compiladores y ensambladores comerciales/libres. Actualmente hay una gran demanda de lenguajes de programación de alto-nivel como C y Java. Tal es así la abstracción del lenguaje que incluso entornos de desarrollos de alto nivel como UML están siendo implementados.
 
 
La \emph{segunda} era de la programabilidad se encuentra marcada por las FPGAs. En la Figura \ref{fig:makimoto-wave}, Makimoto indica que el campo de la programabilidad se estandariza para su fabricación y la personalización del diseño se encuentra en la capa de aplicación de un desarrollo con las tecnologías mencionadas. Esto puede ser considerado como lo que ofrece la programabilidad de \textsl{hardware} en el dominio del \textsl{software} donde el \textsl{hardware} permanece fijo. Esto es un reto fundamental como la mayoría de las herramientas de programación
La \emph{segunda} época de la programabilidad se encuentra marcada por las FPGAs. En la Figura \ref{fig:makimoto-wave}, Makimoto indica que el campo de la programabilidad se estandariza para su fabricación y la personalización del diseño se encuentra en la capa de aplicación de un desarrollo con las tecnologías mencionadas. Esto puede ser considerado como lo que ofrece la programabilidad de \textsl{hardware} en el dominio del \textsl{software} donde el \textsl{hardware} permanece fijo. Esto es un reto fundamental como la mayoría de las herramientas de programación de computadora que trabajan sobre el principio de una plataforma de \textsl{hardware} fijo, lo que permite realizar optimizaciones ya que hay una orientación clara sobre la manera de mejorar el rendimiento de una representación algorítmica. Con las FPGAs, el usuario tiene plena libertad para definir la arquitectura que mejor se adapte a la aplicación. Sin embargo, esto presenta un problema en el que cada solución debe ser \emph{hecha a mano} y todos los diseñadores de \textsl{hardware} conocen los problemas en el diseño y verificación.
 
 
 
Algunas de las tendencias en las dos épocas tienen similitudes. En los primeros días, el modo esquemático (\textsl{schematic capture}) fue usado para diseñar los primeros circuitos que era sinónimo con el nivel \textsl{assembly} en programación. Los lenguajes de descripción de \textsl{hardware} como el VHDL y Verilog emergieron ya que podrían ser utilizados para producir un nivel de abstracción más alto con el objetivo de contar con una herramienta basada en C como son SystemC y CataultC de Mentor Graphics como un entorno único de programación. Inicialmente como con los lenguajes de programación de \textsl{software}, había una desconfianza en la calidad de los resultados que producía el código con este nuevo enfoque. Sin embargo, con el fin de mejorar los costos de desarrollo, las herramientas de síntesis que eran equivalentes a la evolución de los compiladores de \textsl{software} eficientes para los lenguaje de alto-nivel, y también la evolución de las funciones de librería, estableció un alto grado de confianza que posteriormente llevó al uso de los lenguajes descriptivos de \textsl{hardware} (HDLs) sean comnues para la implementación en FPGA. En efecto, el surgimiento de los IP-cores refleja la evolución de librerías como son funciones programables de entradas/salidas para el flujo del \textsl{software} donde funciones comunes fueron reutilizadas donde los desarrolladores confiaban en la calidad de los resultados que producían estas librerías, especialmente en lo que las presiones para producir más código en el mismo lapso de tiempo crecieron con la evolución tecnológica. Los primeros IP-cores surgieron a partir de funciones de librerías básicas en el procesamiento de señales complejas y funciones de comunicación la mayoría de estos suministrados por los proveedores de FPGa y diversos repositorios web de IP-cores.
 
 
% Aquí se podría poner algo sobre el paper "The Role of the Laboratory in Undergraduate Engineering Education".
% Aquí se podría poner algo sobre el paper "The Role of the Laboratory in Undergraduate Engineering Education".
 
 
 
 
%\begin{landscape}
%\begin{landscape}

powered by: WebSVN 2.1.0

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