SENTENCIAS SECUENCIALES

Slides:



Advertisements
Presentaciones similares
Lenguajes de Descripción de Hardware
Advertisements

Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón
Métodos de diseño en VHDL.
LENGUAJES DE DESCRIPCION DE HARDWARE (HDL)
ADA: lenguaje de programación concurrente
Introducción al VHDL VHDL orientado a la síntesis de circuitos en Dispositivo Lógicos Programables.
Programación de sistemas reconfigurables
Estructura General de Un Programa Programación Estructurada
Estructuras de Control
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
Módulo 5: Estructuras de Decisión y Bucles
Unidad 4: Análisis de algoritmos (parte II)
EXCEPCIÓN DE ERRORES.
SENTENCIA CONDICIONAL if
CURSO: UNIDAD 4: LENGUAJES HDL
Lenguaje de Descripción de Hardware.
MÓDULO DE PROCEDIMIENTOS Los módulos también pueden contener subrutinas y funciones → MÓDULO DE PROCEDIMIENTOS  PROCEDIMIENTOS → son compilados como parte.
Arboles Binarios de expresiones
Docente. Christian Alexander Martínez Arteaga
VHDL.
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Interfaces de entrada / salida
Interfases de Entrada / Salida
GESTION DE LA JERARQUIA
LÓGICA - DECISIONES Los valores lógicos: constantes, variables y expresiones lógicas, permiten controlar la ejecución de las sentencias de un programa.
ESTRUCTURA GENERAL DE UN SISTEMA DE TRANSFERENCIA DE REGISTROS
1 Concurrencia Procesos y Programas. 2 Establecer Comunicación entre procesos (memoria común)
Capítulo.2 - Fundamentos del Lenguaje VHDL
Análisis de Algoritmos
Sintaxis.
Conversión cadena a número
VHDL Breve introducción.
Others, soporte para síntesis. Los agregados tienen la habilidad de usar la sentencia others, la cual asignará un valor a todos los otros elementos de.
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Diseño lógico combinacional mediante VHDL
Introducción a EL: COMPONENTES  Son los elementos de modelado más importantes. Permiten modelar mediante ecuaciones continuas, discretas e incluir sentencias.
Teoría – Alejandro Gonzalez
Control de Flujo.
Diseño Lógico Combinacional con VHDL
VHDL El nombre proviene de VHSIC Hardware Description Language, donde VHSIC significa Very High Speed Integrated Circuits. Es un lenguaje formal de especificación.
Introducción a VHDL Agenda Un poco de historia Definiciones generales Entidades Arquitecturas Configuraciones.
Librerías y packages (paquetes)
Capítulo.3 - Diseño Lógico Combinacional con VHDL
COMPUTO III Ing. Jimmy Ojeda Arnica.
DIPLOMADO EN SISTEMAS DIGITALES USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor: MC. Rodrigo Lucio Maya Ramírez.
Sesión 14: Python (5) – Aplicaciones. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
Estructuras de Control en Visual Basic.net
FPGA - Flujo de Diseño UBA - Sistemas Embebidos - FPGA – SoftCores – 2010 – Franco Ferrucci, Sebastián García.
LA ARQUITECTURA O LA FUNCIONALIDAD DEL SISTEMA DefiniciónDefiniciónDefinición Declaración y reglas sintácticas.Declaración y reglas sintácticas.Declaración.
Estructuras de Control en Visual Basic.net
27 de marzo de 2010 Presentan: Díaz Orea Elizabeth Leal Alvarado Angelina.
Base de datos Francisco Castro. Creación de una tabla drop table TABLA cascade constraints; /*==============================================================*/
Estructuras de Control
Excepciones predefinidas en PL/SQL Semana 6. Aprendizajes esperados Construye procedimientos almacenados, triggers de base de datos, cursores y funciones.
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo SQL en PL/SQL Conceptos básicos.
BANCOS DE PRUEBAS CON VHDL (TESTBENCHES). Sistemas Digitales - FIUBA Bancos de prueba ¿Cómo realizar la prueba de un dispositivo descripto en VHDL? DUT.
Ada 2º Parte (variables, ámbitos, subrutinas, tipos abstractos de datos y excepciones)
Operadores de asignación
Estructuras de Decisión en Visual Basic 6.0
VHDL. Indice Sistemas Digitales - FIUBA VHDL Lenguajes descriptores de hardware VHDL - Introducción - Entidad de diseño (declaración de entidad y cuerpo.
NCO (Numerically Controlled Oscillator). NCO: Oscilador controlado numéricamente Aplicaciones Conversores digitales up/down PLLs digitales Sistemas de.
1 LENGUAJE DE DESCRIPCION DE HARDWARE ELECTRONICA DIGITAL NAYIBE CHIO CHO NAYIBE CHIO CHO.
Unidad V: Estatutos en Basic De control o selección if. De ciclos: Do, for, while. Otros estatutos. Solución de problemas aplicando estatutos de control.
BANCOS DE PRUEBA CON VHDL (TESTBENCHES). Sistemas Digitales - FIUBA Bancos de prueba ¿Cómo realizar la prueba de un dispositivo descripto en VHDL? DUT.
Asignación de señales en VHDL. VHDL: Asignación de señales La asignación a una señal establece una o más transacciones sobre la misma Cada señal tiene.
U.M.S.A. ETN-601 Sistemas Digitales Decodificador 3 a 8 Aux. David Marza Herrera.
CONSIDERACIONES DE RUIDO EN SISTEMAS PCM ING. JAVIER GARCIA.
Hardware Description Language
Programación en VHDL.
Transcripción de la presentación:

SENTENCIAS SECUENCIALES Se ejecutan en el orden en que aparecen en la descripción, en forma similar a lo que ocurre en un lenguaje de programación. Están permitidas sólo dentro de PROCESS. La declaración del process indica al compilador que sigue un bloque de sentencias secuenciales. Se utilizan para describir circuitos mediante un estilo algorítmico. Se utiliza normalmente para controlar el flujo de ejecución de sentencias secuenciales Para ello se evalúa si una condición se cumple o no Lenguajes de Descripción de Hardware

Lenguajes de Descripción de Hardware LA SENTENCIA IF Las estructuras posibles son if CONDICIÓN then --sentencias --secuenciales end if; if CONDICIÓN then --sentencias secuenciales else end if ; elsif CONDICIÓN then ... ALTERNATIVA 1 ALTERNATIVA 2 ALTERNATIVA 3 Lenguajes de Descripción de Hardware

Lenguajes de Descripción de Hardware EJEMPLO entity EJEMPLO is port (A, B, C, X: in bit_vector(3 downto 0); Z: out bit_vector(3 downto 0)); end EJEMPLO ; architecture ARCH_1 of EJEMPLO is Begin process (A, B, C, X ) begin if ( X = “1111” ) then Z <= B ; elsif ( X > “1000” ) then Z <= C ; else Z <= A ; end if ; end process ; end ARCH_1; Lenguajes de Descripción de Hardware

Lenguajes de Descripción de Hardware SENTENCIA CASE La estructura general es Las diferentes opciones no pueden solaparse. Todas las opciones tienen que ser cubiertas. Las opciones pueden hacerse cuando EXPRESIÓN adopta un valor, un rango de valores o uno de entre dos valores. case EXPRESION is when VALOR1 => --sentencias secuenciales when VALOR2 |VALOR3 => when VALOR4 to VALOR9 => when OTHERS => end case Lenguajes de Descripción de Hardware

Lenguajes de Descripción de Hardware EJEMPLO entity SENT_CASE is port ( A, B, C, X: in integer range 0 to 15 ; Z: out integer range 0 to 15); end SENT_CASE ; architecture EJEMPLO of SENT_CASE is begin process ( A, B, C, X ) case X is when 0 => Z <= A ; when 7|9 => Z <= B ; when 1 to 5 => Z <= C ; when others => Z <= 0 ; end case ; end process ; end EJEMPLO ; Lenguajes de Descripción de Hardware

Lenguajes de Descripción de Hardware LAZOS FOR Se utilizan para ejecutar el mismo código un número determinado de veces. El parámetro del loop está implícitamente definido, no puede ser declarado externamente, es de sólo lectura y es visible sólo dentro del lazo. El parámetro adopta todos los valores de la definición de rango. Lenguajes de Descripción de Hardware

Lenguajes de Descripción de Hardware EJEMPLO entity LAZO_FOR is port ( A : in integer range 0 to 3 ; Z : out bit_vector(3 downto 0)); end LAZO_FOR ; architecture EJEMPLO of LAZO_FOR is begin process (A) Z <= “0000” ; for I in 0 to 3 loop if ( A = I ) then Z(I) <= ‘1’ ; end if ; end loop ; end process ; end EJEMPLO ; Lenguajes de Descripción de Hardware

Lenguajes de Descripción de Hardware TRES EJEMPLOS DE LAZOS EJEMPLO 1 entity CONV_INT is port( DIN : in bit_vector (7 downto 0); RESULT : out integer ; end CONV_INT ; process (DIN) variable TMP: integer; begin TMP:=0 ; for I in 7 downto 0 loop if (DIN(I)=’1’) then TMP := TMP + 2**I; end if ; end loop; RESULT<= TMP ; end process; Lenguajes de Descripción de Hardware

Lenguajes de Descripción de Hardware EJEMPLO 2 entity CONV_INT is port( DIN : in bit_vector (7 downto 0); RESULT : out integer ; end CONV_INT ; process (DIN) variable TMP: integer; begin TMP:=0 ; for I in DIN’range loop if (DIN(I)=’1’) then TMP := TMP + 2**I; end if ; end loop; RESULT<= TMP ; end process; Lenguajes de Descripción de Hardware

Lenguajes de Descripción de Hardware EJEMPLO 3 entity CONV_INT is port( DIN : in bit_vector (7 downto 0); RESULT : out integer ; end CONV_INT ; process (DIN) variable TMP: integer, I : integer; begin TMP:=0 ; I:= DIN’high; while(I>= DIN’low) loop if (DIN(I)=’1’) then TMP := TMP + 2**I; end if ; I=I-1 end loop; RESULT<= TMP ; end process; Lenguajes de Descripción de Hardware

Lenguajes de Descripción de Hardware LA SENTENCIA WAIT Esta sentencia detiene el proceso de ejecución hasta que se cumplan los requisitos planteados ( que transcurra un cierto tiempo, que suceda un evento, que se cumpla una condición ). EJEMPLO entity FF is port (D, CLK : in bit; Q : out bit); end FF; architecture BEHAV of FF is begin process wait on CLK; if ( CLK = ‘1’) then Q <= D ; end if; end process; end BEHAV ; Lenguajes de Descripción de Hardware

SENTENCIAS CONCURRENTES Las sentencias concurrentes se ejecutan en paralelo sin importar el orden en que aparecen en el modelo. Permiten modelar la concurrencia natural del hardware, particularmente del combinacional. El concepto de concurrencia marca una diferencia drástica de los lenguajes de descripción con los de programación. Lenguajes de Descripción de Hardware

ASIGNACIÓN DE SEÑAL CONDICIONADA Ejemplo: versión concurrente entity ASIG_COND is port ( A,B,C,X:in bit_vector(3 downto 0); Z_CONC:out bit_vector(3 downto 0); Z_SEC :out bit_vector(3 downto 0)); end ASIG_COND ; architecture EJEMPLO of ASIG_COND is Z_CONC <= B when X = “1111” else C when X = “1000” else A ; end ejemplo; Lenguajes de Descripción de Hardware

Lenguajes de Descripción de Hardware Ejemplo: versión secuencial equivalente entity ASIG_COND is port ( A,B,C,X:in bit_vector(3 downto 0); Z_CONC:out bit_vector(3 downto 0); Z_SEC :out bit_vector(3 downto 0)); end ASIG_COND ; architecture EJEMPLO of ASIG_COND is process ( A, B, C, X ) begin if ( X = “1111” ) then Z_SEC <= B; elsif ( X > “1000”) then Z_SEC <= C; else Z_SEC <= A ; end if ; end process; end EJEMPLO ; Lenguajes de Descripción de Hardware

ASIGNACIÓN DE SEÑAL SELECCIONADA La estructura general es la siguiente: with EXPRESIÓN select TARGET <= VALOR1 when CHOICE1; VALOR2 when CHOICE2|CHOICE3; VALOR3 when CHOICE4 TO CHOICE5; VALORN when others; Las diferentes opciones no pueden solaparse. Todas las opciones tienen que ser cubiertas. Las opciones pueden hacerse cuando EXPRESIÓN adopta un valor, un rango de valores o uno de entre dos valores. Lenguajes de Descripción de Hardware

Lenguajes de Descripción de Hardware EJEMPLO VERSIÓN CONCURRENTE entity ASIG_SELEC is port ( A,B,C,X: in integer range 0 to 15 ; Z_CONC : out integer range 0 to 15 ; Z_SEC : out integer range 0 to 15) ; end ASIG_SELECT ; architecture EJEMPLO of ASIG_SELEC is begin with X select Z_CONC <= A when 0, B when 7|9, C when 1 to 5 0 when others ; end EJEMPLO ; Lenguajes de Descripción de Hardware

Lenguajes de Descripción de Hardware VERSIÓN SECUENCIAL entity ASIG_SELEC is port ( A,B,C,X: in integer range 0 to 15 ; Z_CONC : out integer range 0 to 15 ; Z_SEC : out integer range 0 to 15) ; end ASIG_SELECT ; architecture EJEMPLO of ASIG_SELEC is Begin process (A,B,C,X) begin case X is when 0 => Z_SEC <= A ; when 7|9 => Z_SEC <= B ; when 1 to 5 => Z_SEC <= C ; when others => Z_SEC <= 0 ; end case; end process ; end EJEMPLO ; Lenguajes de Descripción de Hardware