Está en la página 1de 13

Ingeniería de Sistemas Computacionales

LENGUAJE VHDL

Integrantes:
 Calderón Castillo, Cristell Nicole

 Chávez Noe, Frank Lewis

 Ríos Vargas, Luis Kenig

 Rivero Lozano, Yorky Gabriel

 Rodríguez Ñasco, Cristhian Eduardo

Curso:
Electrónica Digital
Docente:
MANUEL JESUS VACA OLIVER

Año:
2022
Trujillo-Perú

1
ÍNDICE

1. INTRODUCCIÓN…………………………………………………….............. 3
2. ELEMENTOS BÁSICOS……………………………………………………... 4
2.1.1 Entity……………………………………………………………………… 4
2.1.2 Architecture……………………………………………………………… 5
2.1.3 Identificadores…………………………………………………………… 5
3. ESTRUCTURA BÁSICA DE UN ARCHIVO FUENTE……………………. 6
3.1.1 Sentencias Concurrentes………………………………………………. 6
3.1.2 Sentencias Condicionales……………………………………………… 7
3.1.3 Descripción Estructural………………………………………………….7
3.1.4 Ejemplos…………………………………………………………………. 8
4. SIMULACIÓN EN VHDL……………………………………………………... 9
4.1.1 Fases……………………………………………………………………. 9
4.1.2 Sentencias………………………………………………………………. 9
5. DESCRIPCIÓN DE LÓGICA SECUENCIAL………………………………. 9
5.1.1 Hardware Secuencial…………………………………………………… 10
5.1.2 Contadores………………………………………………………………. 10
5.1.3 Ejemplos…………………………………………………………………. 11
6. REFERENCIAS BIBLIOGRÁFICAS………………………………………… 12

2
1. INTRODUCCIÓN:
Con la creciente complejidad de los diseños digitales ha aparecido una
necesidad de describir un circuito de la forma más eficiente y práctica posible.
Las computadoras personales ofrecen hoy día herramientas para la creación y
verificación de diseños. Con dichas herramientas es posible describir tanto un
circuito sencillo que represente una compuerta como un circuito complejo que
defina un procesador digital de señales o un microprocesador.
Entre los lenguajes para la descripción de circuitos digitales, el VHDL es el que
está alcanzando mayor popularidad, por ser un estándar y por su amplio campo
de aplicación, desde el modelado para la simulación de circuitos,hasta la
síntesis automática de circuitos. El significado de sus siglas es Very high speed
integrated circuit (VHSIC) Hardware Description Language. VHDL es una forma
en que los humanos y las máquinas puedan leer y entender la funcionalidad y
la organización de sistemas hardware digitales.
La característica más importante es que, al ser un lenguaje de descripción, si
se definen leyes o reglas que simbolicen conexiones, dichas reglas se hacen
efectivas al mismo tiempo, a diferencia de otros lenguajes en los cuales la
ejecución es en serie, es decir, se ejecuta una instrucción tras otra.
Sin embargo, tiene también la posibilidad de ejecutar algunos bloques de forma
serie, haciendo así la descripción en dicho lenguaje más sencilla y con un nivel
de abstracción más alto que si se crearan netlists.

Los objetivos de este lenguaje son el modelado (desarrollo de un modelo para


la simulación de un circuito o sistema) y la síntesis (proceso en donde se parte
de una especificación de entrada con un determinado nivel de abstracción y se
llega a una realización más detallada, menos abstracta) de circuitos y sistemas
electrónicos y digitales.

La síntesis a partir de VHDL constituye hoy en día una de las principales


aplicaciones del lenguaje con una gran demanda de uso. Las herramientas de
síntesis basadas en el lenguaje permiten en la actualidad ganancias
importantes
en la productividad de diseño.

3
2. ELEMENTOS BÁSICOS DE VHDL
Un sistema digital está descrito por sus entradas, sus salidas y la relación que
existe entre ellas. En el caso de VHDL, se describirá el aspecto exterior del
circuito: entradas y salidas. El aspecto exterior, cuántos puertos de entrada y
salida tenemos, denominados como entity. Y la descripción del comportamiento
del circuito architecture, toda architecture tiene que estar asociada a una entity.
Además, podemos definir también las bibliotecas y paquetes que vamos a
utilizar, lo que nos indicará que tipos de puertos y operadores podemos utilizar.
Siempre aparecerá la definición de las bibliotecas y paquetes antes de la
definición de la entity.

2.1 Entity
Una entidad es la abstracción de un circuito. La entidad únicamente describe la
forma externa del circuito, en la cual se enumeran las entradas y las salidas del
diseño. Una entidad es análoga a un símbolo esquemático en los diagramas
electrónicos, el cual describe las conexiones del dispositivo hacia el resto del
diseño.
- Define externamente al circuito.
- Nombre y número de puertos, tipos de datos de entrada y salida.
- Se tiene toda la información necesaria para conectar un circuito a otros
circuitos.

Los puertos pueden ser de entrada in, salida out, entrada-salida inout o buffer.
Los de entrada sólo se pueden leer y no se puede modificar su valor
internamente en la descripción del comportamiento del circuito (architecture),
los puertos de salida sólo se pueden escribir, pero nunca tomar decisiones
dependiendo de su valor. Si se necesita escribir sobre un puerto a la vez que
se debe tener en cuenta su valor, el tipo sería inout o buffer.
A continuación, se presenta un ejemplo, para el cual sabemos que el circuito
presentará dos entradas de tamaño N bits y una salida de tamaño un bit,
particularizamos la entidad para N igual a 8.

4
2.2 Architecture
Los pares de entidades y arquitecturas se utilizan para representar la
descripción completa de un diseño. Una arquitectura describe el
funcionamiento de la entidad a la que hace referencia, es decir, dentro de
architecture tendremos que describir el funcionamiento de la entidad a la que
está asociada utilizando las sentencias y expresiones propias de VHDL.
- Define internamente el circuito.
- Señales internas, funciones, procedimientos, constantes …
- La descripción de la arquitectura puede ser estructural o por comportamiento.

El código VHDL propiamente dicho se escribe dentro de architecture. Cada


architecture va asociada a una entity y se indica en la primera sentencia. A
continuación, y antes de begin se definen todas las variables (señales) internas
que vas a necesitar para describir el comportamiento de nuestro circuito, se
definen los tipos particulares que necesitamos utilizar y los componentes, otros
circuitos ya definidos y compilados de los cuales conocemos su interfaz en
VHDL (su entity).
2.3 Identificadores
En VHDL existen tres clases de objetos por defecto:
- Constant. Los objetos de esta clase tienen un valor inicial que es asignado de
forma previa a la simulación y que no puede ser modificado durante ésta.

5
- Variable. Los objetos de esta clase contienen un único valor que puede ser
cambiado durante la simulación con una sentencia de asignación. Las variables
generalmente se utilizan como índices, principalmente en instrucciones de
bucle, o para tomar valores que permitan modelar componentes. Las variables
NO representan conexiones o estados de memoria. Pueden ser declaradas
antes del begin de la architecture y/o antes del begin del process, en su
declaración se les puede asignar un valor por defecto.

- Signal. Las señales representan elementos de memoria o conexiones y sí


pueden ser sintetizados, dicho de otra manera, a cada objeto de nuestro código
VHDL que sea declarado como signal le corresponde un cable o un elemento
de memoria (biestable, registro …) en nuestro circuito. Por lo tanto, su
comportamiento en simulación será el esperado de ese elemento físico aunque
no lo describamos en el código explícitamente. Tienen que ser declaradas
antes del begin de la architecture. Los puertos de una entidad son
implícitamente declarados como señales en el momento de la declaración, ya
que estos representan conexiones.

3. ESTRUCTURA BÁSICA DE UN ARCHIVO FUENTE EN VHDL:


3.1 SENTENCIAS CONCURRENTES: La principal sentencia concurrente
de VHDL es el proceso (process), que define los límites de un dominio
secuencial.
 Sentencia de asignación de señal concurrente: Es una forma
compacta de describir un proceso que asigna a una señal una
onda seleccionada por un conjunto de condiciones o por una
expresión de control.
Permite escribir programas VHDL con un estilo de flujo de datos,
también denominado de transferencia de registros (RTL).

6
 Sentencia de instanciación de componentes: Especifica el
conexionado de un componente particular.

3.2 SENTENCIAS CONDICINALES: Las sentencias condicionales más


comunes en VHDL son las siguientes:
- SENTENCIA IF: Construcción muy popular en código secuencial y
tiene una sintaxis muy similar a los lenguajes como C,Fortan,Java.
Permite desviar el flujo de ejecución dentro de un proceso subprograma.

El orden en el que se sitúan las condiciones dentro del if o els-if es


importante, pues si hay dos ciertas, se ejecutará únicamente la primera.

3.3 DESCRIPCIÓN ESTRUCTURAL: Declara los componentes del


dispositivo y expresa sus interconexiones.
Esquemático de dos_con compuesto de biestables y puertas.

7
3.4 EJEMPLOS:

8
4. SIMULACIÓN VHDL

VHDL realiza la simulación siguiendo la técnica de simulación por eventos


discretos. Esta es una técnica que permite avanzar el tiempo a intervalos
variables, en función de la planificación de ocurrencia de eventos.

4.1 Fases de la simulación

Consta de 3 fases:

 Fase 1: comienza en la fase de inicialización donde a las señales se les


asignan unos valores iniciales y se pone el tiempo a cero. La asignación
se hace rellenando una lista de eventos para el instante t = 0.
 Fase 2: todas las transiciones planificadas para ese tiempo son
ejecutadas. Es decir, se ejecuta el código ordenadamente teniendo en
cuenta cuales son las señales que se han modificado, cumple las
normas de ejecución explicadas para los process.
 Fase 3: Las señales que se han modificado como consecuencia de las
transiciones planificadas en el instante t se escriben en la lista de
eventos planificándose para el instante t + δ. Donde δ es un instante
infinitesimal.
4.2 Sentencias de simulación

VHDL presenta una sentencia específica, WAIT, que detiene la ejecución del
código hasta que se cumpla una condición. La sentencia wait debe aparecer
obligatoriamente si el process no tiene lista de sensibilidad.

5. DESCRIPCION DE LOGICA SECUENCIAL:

La Lógica Secuencial es el Método de ordenamiento de acciones,


razonamiento, y expresión de la automatización de maquinaria, equipos y
procesos. Y su interrelación con el hombre. Esto nos da por consiguiente los
binomios, hombre-máquina, hombre-proceso.

Existen dos tipos principales de circuitos secuenciales, los asíncronos y los


síncronos:
 Un circuito secuencial asíncrono es aquel que su estado puede
ser afectado en cualquier instante al cambiar el valor de las
entradas. Sus elementos de almacenamiento son dispositivos con
retraso de tiempo, en los cuales la capacidad de almacenamiento

9
se debe a que la señal tarda un tiempo finito en propagarse por el
dispositivo.
 Un circuito secuencial síncrono utiliza señales que modifican
su estado solo en instantes discretos de tiempo. La sincronización
se logra a través de un dispositivo de sincronización llamado
generador de señales de reloj que produce una sucesión
periódica de pulsos de reloj. Estos se distribuyen en todo el
sistema de tal manera que los elementos de almacenamiento sólo
sean afectados a la llegada de cada pulso.

5.1 Hardware Secuencial:

 A diferencia de los sistemas combinacionales, en los sistemas


secuenciales, los valores de las salidas, en un momento dado, no
dependen exclusivamente de los valores de las entradas en dicho
momento, sino también dependen del estado anterior o estado
interno.1 El sistema secuencial más simple es el biestable, de los
cuales, el de tipo D (o cerrojo) es el más utilizado actualmente.
 El sistema secuencial requiere de la utilización de un dispositivo de
memoria que pueda almacenar la historia pasada de sus entradas
(denominadas variables de estado) y le permita mantener su estado
durante algún tiempo, estos dispositivos de memoria pueden ser
sencillos como un simple retardador o celdas de memoria de tipo
DRAM, SRAM2 o multivibradores biestables también conocido como
Flip-Flop1 entre otros.

5.2 Contadores:

 Un contador es un circuito en el que sus salidas siguen una


secuencia fija que cuando acaba vuelve a empezar, o circuitos que
reciben sus datos en forma serial ordenados en distintos intervalos
de tiempo.
 Los pulsos de entrada pueden ser pulsos de reloj u originarse en
una fuente externa y pueden ocurrir a intervalos de tiempo fijos o
aleatorios.
 El número de salidas limita el máximo número que se puede contar.

10
5.3 Ejemplos:

contador binario ascendente de 3 bits de salida

11
6. REFERENCIAS BIBLIOGRÁFICAS:

- Angel, M., & Rubio, F. (n.d.). Introducción al lenguaje VHDL (Versión


preliminar).
https://www.cartagena99.com/recursos/electronica/apuntes/Manual
%20VHDL.pdf

- Campos, A. (n.d.). Guía Básica del VHDL Instituto Tecnológico de


Querétaro GUÍA BÁSICA DEL VHDL 1. INTRODUCCION.
http://www.itq.edu.mx/carreras/IngElectronica/archivos_contenido/Apunt
es%20de%20materias/Apuntes_VHDL_2016.pdf

- Sánchez-Élez, M. (n.d.). Introducción a la Programación en VHDL 1 F.


Informática (UCM).
https://eprints.ucm.es/id/eprint/26200/1/intro_VHDL.pdf

- LÓGICA SECUENCIAL Y COMBINATORIA. (n.d.).


http://www.itq.edu.mx/carreras/IngElectronica/archivos_contenido/Apunt
es%20de%20materias/Apuntes_Log_Sec_Comb/Sesion_12_LSC.pdf

12
13

También podría gustarte