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 302 and 304

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

Rev 302 Rev 304
Line 332... Line 332...
Con el incremento en el éxito de VHDL, Cadence decidió hacer el lenguaje abierto y disponible para estandarización. Cadence transfirió Verilog al dominio público a través de Open Verilog International, actualmente conocida como Accellera. Verilog fue después enviado a la IEEE que lo convirtió en el estándar IEEE 1364-1995, habitualmente referido como Verilog 95.
Con el incremento en el éxito de VHDL, Cadence decidió hacer el lenguaje abierto y disponible para estandarización. Cadence transfirió Verilog al dominio público a través de Open Verilog International, actualmente conocida como Accellera. Verilog fue después enviado a la IEEE que lo convirtió en el estándar IEEE 1364-1995, habitualmente referido como Verilog 95.
 
 
 
 
\nomenclature[z-ssi]{SSI}{\textsl{Small Scale Integration}}         % first letter Z is for Acronyms
\nomenclature[z-ssi]{SSI}{\textsl{Small Scale Integration}}         % first letter Z is for Acronyms
\nomenclature[z-msi]{MSI}{\textsl{Medium Scale Integration}}         % first letter Z is for Acronyms
\nomenclature[z-msi]{MSI}{\textsl{Medium Scale Integration}}         % first letter Z is for Acronyms
 
\nomenclature[z-ieee]{IEEE}{\textsl{Institute of Electrical and Electronics Engineers}}         % first letter Z is for Acronyms
 
 
\section{Diseño de sistemas digitales}
\section{Diseño de sistemas digitales}
\label{sec:fund-sist-digitales}
\label{sec:fund-sist-digitales}
 
 
En el proceso de enseñanza de los sistemas digitales se requiere de recursos físicos que complementen el contenido teórico. En la carrera de ingeniería electrónica de nuestra casa de estudio, las técnicas digitales se clasifican en cuatro niveles:
En el proceso de enseñanza de los sistemas digitales se requiere de recursos físicos que complementen el contenido teórico. En la carrera de ingeniería electrónica de nuestra casa de estudio, las técnicas digitales se clasifican en cuatro niveles:
Line 356... Line 357...
 
 
 
 
\section{Influencia de la Programabilidad}
\section{Influencia de la Programabilidad}
\label{sec:infl-program}
\label{sec:infl-program}
 
 
En muchos textos la ley de Moore es usada para destacar la evolución de la tecnología de silicio en la industria de los dispositivos semiconductores. Poro hay otro interesante punto de vista particularmente para los dispositivos PLDs, la \emph{onda de Makimoto} que fue publicada por primera vez en Enero de 1991 por la revista \textsl{Electronics Weekly} \cite{FPGA-based-imple-of-sps}. Este concepto se basa en la observación de Tsugio Makimoto quién notó que la tecnología se desplazaba entre la \emph{estandarización} y la \emph{personalización} (véase la Figura \ref{fig:makimoto-wave}). En el comienzo de la década de 1960s, un número de componentes estándares fueron desarrollados, llamados series lógicas 7400 (por Texas Instruments). Dispositivos que servían para crear diversas aplicaciones digitales. Entrada la década de 1970s, la época de los dispositivos personalizados (LSI, siglas en inglés de \textsl{Low-Scape Integration}) comenzó a desarrollarse donde los chips eran creados para aplicaciones específicas como ser una calculadora. El chip fue incrementando su nivel de integración y así fue que nació el termino integración a media escala (MSI, siglas en inglés de \textsl{Medium-Scale Integration}). La evolución de los microprocesadores en la década de 1970s llevó a la estandarización de chips que fueran usados para un amplio rango de aplicaciones. Es entonces que en 1980s nació el ASIC (\textsl{Application-Specific Integrated Circuit}) donde el diseñador podría superar la limitación de la secuencialidad de los microprocesadores, quienes poseían varias limitaciones en aplicaciones en DSP (\textsl{Digital Signal Processing}) donde se requería un mayor nivel de cálculos. La aparición de la FPGA como un dispositivo con la capacidad de proporcionar recursos lógicos necesarios para conectar varios componentes entre sí llevo a que se conviertan en dispositivos populares.
En muchos textos la ley de Moore es usada para destacar la evolución de la tecnología de silicio en la industria de los dispositivos semiconductores. Poro hay otro interesante punto de vista particularmente para los dispositivos PLDs, la \emph{onda de Makimoto} que fue publicada por primera vez en Enero de 1991 por la revista \textsl{Electronics Weekly} \cite{FPGA-based-imple-of-sps}. Este concepto se basa en la observación de Tsugio Makimoto quién notó que la tecnología se desplazaba entre la \emph{estandarización} y la \emph{personalización} (véase la Figura \ref{fig:makimoto-wave}). En el comienzo de la década de 1960s, un número de componentes estándares fueron desarrollados, llamados series lógicas 7400 (por Texas Instruments). Estos dispositivos servían para crear diversas aplicaciones digitales. Entrada la década de 1970s, la época de los dispositivos personalizados (LSI, siglas en inglés de \textsl{Low-Scape Integration}) comenzó a desarrollarse donde los chips eran creados para aplicaciones específicas como ser una calculadora. El chip fue incrementando su nivel de integración y así fue que nació el termino integración a media escala (MSI, siglas en inglés de \textsl{Medium-Scale Integration}). La evolución de los microprocesadores en la década de 1970s llevó a la estandarización de chips que fueran usados para un amplio rango de aplicaciones. Es entonces que en 1980s nació el ASIC (\textsl{Application-Specific Integrated Circuit}) donde el diseñador podría superar la limitación de la secuencialidad de los microprocesadores, quienes poseían varias limitaciones en aplicaciones en DSP (\textsl{Digital Signal Processing}) donde se requería un mayor nivel de cálculos. La aparición de la FPGA como un dispositivo con la capacidad de proporcionar recursos lógicos necesarios para conectar varios componentes entre sí llevo a que se conviertan en dispositivos populares.
 
 
\begin{figure}
\begin{figure}
  \centering
  \centering
  \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 é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.
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, aquí los programadores desarrollaban soluciones programables basados sobre dispositivos (\textsl{hardware}) fijos. El gran reto de la esta época fue el entorno de \textsl{software} ya que 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} é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.
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.
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.
 
 
 
 
 
 
 
\nomenclature[z-asic]{ASIC}{\textsl{Application-Specific Integrated Circuit}}         % first letter Z is for Acronyms
 
\nomenclature[z-uml]{UML}{\textsl{Unified Modeling Language}}
 
 
\section{Actualización tecnológica de los recursos educativos}
\section{Actualización tecnológica de los recursos educativos}
\label{sec:act-tec-rec-edu}
\label{sec:act-tec-rec-edu}
 
 
Los anteriores conceptos alientan a la búsqueda, por parte de las instituciones académicas, de nuevas herramientas y materiales educativos que permitan a los estudiantes manipular nuevas tecnologías. Esto demanda por parte de las autoridades académicas que permitan la incorporación/modificación de las cátedras a fines. En la publicación \emph{``Actualización de la currícula - Incorporación de la lógica programable en ingenieria''} se plantea este reto \cite{PaperCayuela}. En esta publicación se propone modificar ligeramente el contenido de ciertas materias de las carreras de Ingeniería Electrónica e Ingeniería en Sistemas de Información, de la Universidad Tecnológica Nacional, para adecuarlas a la renovación tecnológica de la electrónica de consumo actual, que si bien aún no ha inundado Argentina, al punto de hacer absolutamente obsoletas las técnicas digitales discreta y de integración moderada, y las metodologías de diseño de sistemas, no va a pasar demasiado antes de que sea necesario un cambio radical en la industria, en el mercado de consumo masivo, y si seguimos a este ritmo, en última instancia en la educación técnica y tecnológica de nivel terciario-universitario.
Los anteriores conceptos alientan a la búsqueda, por parte de las instituciones académicas, de nuevas herramientas y materiales educativos que permitan a los estudiantes manipular nuevas tecnologías. Esto demanda por parte de las autoridades académicas que permitan la incorporación/modificación de las cátedras a fines. En la publicación \emph{``Actualización de la currícula - Incorporación de la lógica programable en ingenieria''} se plantea este reto \cite{PaperCayuela}. En esta publicación se propone modificar ligeramente el contenido de ciertas materias de las carreras de Ingeniería Electrónica e Ingeniería en Sistemas de Información, de la Universidad Tecnológica Nacional, para adecuarlas a la renovación tecnológica de la electrónica de consumo actual, que si bien aún no ha inundado Argentina, al punto de hacer absolutamente obsoletas las técnicas digitales discreta y de integración moderada, y las metodologías de diseño de sistemas, no va a pasar demasiado antes de que sea necesario un cambio radical en la industria, en el mercado de consumo masivo, y si seguimos a este ritmo, en última instancia en la educación técnica y tecnológica de nivel terciario-universitario.
 
 
Line 395... Line 401...
los diagramas de flujo, luego el
los diagramas de flujo, luego el
pseudocódigo, y por último el muy popular
pseudocódigo, y por último el muy popular
lenguaje C, de medio y bajo nivel, por lo
lenguaje C, de medio y bajo nivel, por lo
que se pierde una gran cantidad de tiempo,
que se pierde una gran cantidad de tiempo,
dada la repetición de temas con distintas
dada la repetición de temas con distintas
herramientas. Durante el 2o año en
herramientas. Durante el 2do. año en
Informática II, los alcances determinan una
Informática II, los alcances determinan una
ampliación de habilidades en C, tales como
ampliación de habilidades en C, tales como
las estructuras de datos entre otros temas, y
las estructuras de datos entre otros temas, y
por último un corto (de vista) repaso de
por último un corto (de vista) repaso de
conceptos de orientación a objetos, que no
conceptos de orientación a objetos, que no
Line 419... Line 425...
 
 
En Técnicas Digitales III, de 5o año, se
En Técnicas Digitales III, de 5o año, se
tocan de oído los temas referidos al
tocan de oído los temas referidos al
desarrollo de sistemas de procesamiento
desarrollo de sistemas de procesamiento
digital de señales, mediante programación
digital de señales, mediante programación
en C/C++ y Matlab® sobre DSPs
en C/C++ y Matlab sobre DSPs
integrados o PCs con plataformas X86s.
integrados o PCs con plataformas X86s.
 
 
En Ingeniería en Sistemas de Información,
En Ingeniería en Sistemas de Información,
debe tenerse en cuenta que la orientación no
debe tenerse en cuenta que la orientación no
es precisamente técnica, sino más bien
es precisamente técnica, sino más bien
Line 443... Line 449...
materia Arquitectura de Computadoras, en
materia Arquitectura de Computadoras, en
la que se ven temas varios de su correcto
la que se ven temas varios de su correcto
nombre, sin pasar más abajo del nivel de
nombre, sin pasar más abajo del nivel de
lógica digital y llegando hasta la
lógica digital y llegando hasta la
arquitectura de microprocesadores interna y
arquitectura de microprocesadores interna y
externa. En el 2o año, en la materia
externa. En el 2do. año, en la materia
Paradigmas de la Programación, se llegan
Paradigmas de la Programación, se llegan
a ver entre otros, los paradigmas
a ver entre otros, los paradigmas
concurrentes (con Ada), orientado a objetos
concurrentes (con Ada), orientado a objetos
(Java/C++), funcional (Scheme/Lisp) y
(Java/C++), funcional (Scheme/Lisp) y
lógico (Prolog).
lógico (Prolog).
Line 493... Line 499...
descripciones de microprocesadores y otros
descripciones de microprocesadores y otros
circuitos en VHDL con simuladores,
circuitos en VHDL con simuladores,
facilitando la ampliación del paradigma
facilitando la ampliación del paradigma
concurrente en VHDL/Ada del siguiente
concurrente en VHDL/Ada del siguiente
año. Ya en Paradigmas de la
año. Ya en Paradigmas de la
Programación del 2o año, podría emplearse
Programación del 2do. año, podría emplearse
el lenguaje VHDL junto al Ada (dado que
el lenguaje VHDL junto al Ada (dado que
este último es un antecesor del primero),
este último es un antecesor del primero),
para unificar temas entre materias de los
para unificar temas entre materias de los
dos niveles y compartir contenidos por un
dos niveles y compartir contenidos por un
lado, y por otro, para mostrar a los alumnos
lado, y por otro, para mostrar a los alumnos

powered by: WebSVN 2.1.0

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