Diferencia entre revisiones de «VHDL»

Contenido eliminado Contenido añadido
Jerc007 (discusión · contribs.)
Sin resumen de edición
CEM-bot (discusión · contribs.)
m Pequeñas correcciones WP:CEM.
Línea 1:
'''VHDL''' es un [[lenguaje de especificación|lenguaje]] definido por el [[IEEE]] (''Institute of Electrical and Electronics Engineers'') (ANSI/IEEE 1076-1993) usado por ingenieros y cientificoscientíficos para describir circuitos digitales o modelar fenomenosfenómenos cientificoscientíficos respectivamente. VHDL es el acrónimo que representa la combinación de [[VHSIC]] y [[Lenguaje de descripción de hardware|HDL]], donde VHSIC es el acrónimo de ''Very High Speed Integrated Circuit'' y HDL es a su vez el acrónimo de ''Hardware Description Language''. Para el modelado fisicofísico existe la derivacionderivación del lenguaje [[VHDL-AMS]].
Originalmente, el lenguaje VHDL fue desarrollado por el departamento de defensa de los Estados Unidos a inicios de los años 80's basado en ADA, con el fin de realizar simulacionsimulación de circuitos electricoseléctricos digitales; sin embargo, posteriormente se desarrollaron las herramientas de sintesissíntesis e implementación en hardware a partir de los archivos .VHD. Aunque puede ser usado de forma general para describir cualquier circuito digital se usa principalmente para programar PLD (''Programable Logic Device'' - Dispositivo Lógico Programable), [[FPGA]] (''Field Programmable Gate Array''), [[ASIC]] y similares.
 
Otros métodos para diseñar circuitos son la captura de esquemas (con herramientas [[Diseño asistido por computadora|CAD]]) y los diagramas de bloques, pero éstos no son prácticos en diseños complejos. Otros lenguajes para el mismo propósito, pero con un nivel de abstracción superior son [[Verilog]] y [[ABEL]].
Línea 7:
Dentro del '''VHDL''' hay varias formas con las que se puede diseñar el mismo circuito y es tarea del diseñador elegir la más apropiada.
 
* '''Funcional''' o '''Comportamental''': Se describe la forma en que se comporta el circuito digital, se tiene en cuenta solo las caracteristicascaracterísticas del circuito respecto al comportamiento de las entradas y las salidas. Esta es la forma que más se parece a los ''lenguajes de software'' ya que la descripción puede ser secuencial, ademasademás de combinar caracteristicascaracterísticas concurrentes. Estas sentencias secuenciales se encuentran dentro de los llamados procesos en VHDL. Los procesos son ejecutados en paralelo entre sí, y en paralelo con asignaciones concurrentes de señales y con las instancias a otros componentes.
 
* '''Flujo de datos''': Se describen asignaciones concurrentes (en paralelo) de señales.
 
* '''Estructural''': Se describe el circuito con instancias de componentes. Estas instancias forman un diseño de jerarquía superior, al conectar los puertos de estas instancias con las señales internas del circuito, o con puertos del circuito de jerarquía superior. Es la recomendada cuando el diseño digital se vuelve complejo o estaestá conformado por multiplesmúltiples bloques de hardware.
 
* '''Mixta''': combinación de todas o algunas de las anteriores.
Línea 74:
|-
|OUT
|Las señales salen de la entidad
|-
|BUFFER
Línea 387:
 
== Ejemplos de programas ==
Para llevar a cabo un diseño en '''VHDL''', se recomienda hacer uso de las libreriaslibrerías genericasgenéricas de la IEEE, para garantizar la flexibilidad del diseño a cualquier herramienta de compilacioncompilación y sintesissíntesis, ademasademás en el diseño se tienen dos partes principales: la '''entidad''' es como una caja negra en la que se definen entradas y salidas pero no se tiene acceso al interior, y es lo que usa cuanto se reutiliza un diseño dentro de otro; la '''arquitectura''', que es donde se describe el diseño de la forma que se ha visto antes. Otros elementos del lenguaje son las librerías, paquetes, funciones...
 
=== Multiplexor ===