Este documento describe el estilo algorítmico en VHDL. El estilo algorítmico se basa en la sentencia concurrente "process" que agrupa un conjunto de sentencias que se evalúan de forma secuencial. Un proceso puede definirse como un bucle infinito con dos estados: suspendido y activo. Dentro de un proceso sólo se pueden usar variables y sentencias secuenciales como if/then y for loops.
0 calificaciones0% encontró este documento útil (0 votos)
53 vistas17 páginas
Este documento describe el estilo algorítmico en VHDL. El estilo algorítmico se basa en la sentencia concurrente "process" que agrupa un conjunto de sentencias que se evalúan de forma secuencial. Un proceso puede definirse como un bucle infinito con dos estados: suspendido y activo. Dentro de un proceso sólo se pueden usar variables y sentencias secuenciales como if/then y for loops.
Este documento describe el estilo algorítmico en VHDL. El estilo algorítmico se basa en la sentencia concurrente "process" que agrupa un conjunto de sentencias que se evalúan de forma secuencial. Un proceso puede definirse como un bucle infinito con dos estados: suspendido y activo. Dentro de un proceso sólo se pueden usar variables y sentencias secuenciales como if/then y for loops.
Este documento describe el estilo algorítmico en VHDL. El estilo algorítmico se basa en la sentencia concurrente "process" que agrupa un conjunto de sentencias que se evalúan de forma secuencial. Un proceso puede definirse como un bucle infinito con dos estados: suspendido y activo. Dentro de un proceso sólo se pueden usar variables y sentencias secuenciales como if/then y for loops.
Descargue como PPT, PDF, TXT o lea en línea desde Scribd
Descargar como ppt, pdf o txt
Está en la página 1de 17
UNMSM - FIE
Estilo Algorítmico
Ing. Alfredo Granados Ly
Estilo Algorítmico • Esta basado en la sentencia concurrente: Process. • El Process es una sentencia concurrente que agrupa a un conjunto de sentencias que se evalúan de forma secuencial. • Se puede definir como un bucle infinito. • Tiene dos estados: suspendido y activo. • Se puede hacer uso de variables sólo en el interior de un Process. • Aquí se puede utilizar las sentencias secuenciales tipicas como: if .. then, case, for.. loop.
Ing. Alfredo Granados Ly
Estilo algorítmico Sintaxis: Process Process(lista de señales) zona de declaración zona de declaración Begin Begin Conjunto de Conjunto de sentencias que se sentencias que se evalúan de forma evalúan de forma secuencial. secuencial. Sentencia WAIT; end process; end process;
Nota: En las herramientas de sintesis no se puede utilizar
más de una sentencia WAIT dentro del Process. Ing. Alfredo Granados Ly Estilo algorítmico Diferencia entre señal y variable: • La variable tiene un tiempo de asignación igual a 0. variable a: std_logic; a := ‘1’;
• La señal tiene un tiempo de asignación de acuerdo a
la tecnología utilizada en un implementación. signal b: std_logic; b <= ‘1’;
Ing. Alfredo Granados Ly
Estilo algorítmico • La señal puede ser declarado en la entidad, arquitectura o paquete (package). • Una señal es global en toda la arquitectura, la variable es local al Process. • Una señal define un elemento hardware: puerto, nodo interno, celda de almacenamiento, registro. • La variable no genera hardware interno. Su valor al final del proceso debe ser pasado a una señal. • Las señales no toman el valor asignado hasta que el Process se suspenda. • Las variable toman el valor asignado en el momento de la asignación. Ing. Alfredo Granados Ly Sentencia IF
Ing. Alfredo Granados Ly
Sentencia IF Analizar el siguiente código VHDL:
Ing. Alfredo Granados Ly
Sentencia IF • Si se desea implementar un circuito combinacional debemos colocar todas las entradas en la lista sensible. • Debemos cubrir todas las condiciones que puedan ocurrir en las entradas. • Si deseamos implementar un circuito secuencial sincrono, la señal de reloj debe aparecer en la lista sensible junto con las entradas asíncronas. • Debemos evaluar en primer lugar por las entradas asincronas y luego por la señal de reloj. • Podemos evaluar otras condiciones dentro de la condición de la señal de reloj si es que se tuvieran entradas de control síncronos. Ing. Alfredo Granados Ly Sentencia IF Ejemplo del multiplexor:
Ing. Alfredo Granados Ly
Sentencia IF Otro ejemplo:
Ing. Alfredo Granados Ly
Sentencia CASE • La sentencia CASE usa el valor de una expresión para seleccionar un conjunto de sentencias secuenciales. • El termino choice_i es el valor o un conjunto de valores que puede ser asumido por la expresión. • Los diferentes valores de los terminos deben ser mutuamente exclusivos (el valor no puede ser utilizado en más de una opción).
Ing. Alfredo Granados Ly
Sentencia CASE • La expresión de selección debe ser de tipo discreto o una matriz monodimensional de tipo caracter. • Todos los posibles casos de valores de la expresión deben estar contemplados en los diferentes WHEN. Es por esto conveniente el uso de la palabra OTHERS. • Los casos se pueden especificar o bien con un valor simple o con un rango de valores mediante las palabras TO o DOWNTO o por el símbolo “|”.
Ing. Alfredo Granados Ly
Elementos de memoria LATCH
Ing. Alfredo Granados Ly
Elementos de memoria FLIP - FLOP
Ing. Alfredo Granados Ly
Elementos de memoria FLIP - FLOP
Ing. Alfredo Granados Ly
Elementos de memoria
FLIP – FLOP CON ENTRADAS SINCRONAS Y ASINCRONAS
Ing. Alfredo Granados Ly
Elementos de memoria 1. Preguntar primero por las entradas asincronas. 2. Luego preguntar por el flanco de reloj. • Luego preguntar por las entradas sincronas.