1. Lenguajes de descripción de hardware. VHDL

Tamaño: px
Comenzar la demostración a partir de la página:

Download "1. Lenguajes de descripción de hardware. VHDL"

Transcripción

1 1. Lenguajes de descripción de hardware. VHDL 1.1. Lenguajes de descripción de hardware 1.2. VHDL Presentación del lenguaje VHDL Objetos, tipos de datos y operadores Sentencias secuenciales Sentencias concurrentes Sentencias estructurales Unidades básicas de diseño Descripción de máquinas de estado Test bench

2 LENGUAJES DE DESCRIPCIÓN DE HARDWARE HDL: Hardware Description Language Surgen de la necesidad de una herramienta que permita al diseñador afrontar el modelado y simulación de sistemas electrónicos complejos: Descomposición en bloques (arquitectura) Sincronización (Concurrencia y retardo) Comunicación entre bloques (buses) Reutilización de código Estos lenguajes permiten definir los circuitos tanto de forma funcional (cómo funcionan) como estructural (cómo están realizados).

3 LENGUAJES DE DESCRIPCIÓN DE HARDWARE Proceso de diseño de un ASIC con HDL. Es un proceso iterativo de arriba abajo, de niveles de mayor complejidad a menor, para cada nivel: Esquema de bloques general (descripción estructural) Descripción funcional de cada bloque. Simulación del modelo anterior: permite comparar diversas arquitecturas. Descripción estructural de cada uno de los bloques del modelo anterior Simulación. (...) Así se seguiría hasta que toda la estructura del circuito estuviera definida en base a puertas elementales o macrocélulas (RAM, ROM...)

4 LENGUAJES DE DESCRIPCIÓN DE HARDWARE NIVEL CIRCUITO NIVEL BLOQUE NIVEL COMPONENTE NIVEL SUBCOMPONENTE NIVEL CELDA NIVEL ELEMENTAL

5 LENGUAJES DE DESCRIPCIÓN DE HARDWARE El resultado final del diseño sería una serie de bloques con descripciones estructurales a distintos niveles de complejidad y unos cuantos bloques elementales cuya descripción es funcional y a partir de los cuales se construye toda la estructura de bloques del circuito. Por ejemplo, un sumador escalable: SUMADOR n BITS FULL ADDER HALF ADDER Descripción estructural OR AND XOR Descripción funcional

6 LENGUAJES DE DESCRIPCIÓN DE HARDWARE Una vez modelado el circuito es necesario hacer un test de funcionamiento, así se completa el trabajo de diseño con el HDL. Este es el test bench (banco de pruebas), que responde al siguiente diagrama: Generador de estímulos Diseño en prueba (DUT: design under test) Estructura de nivel superior (Test Bench)

7 LENGUAJES DE DESCRIPCIÓN DE HARDWARE Test Bench: Generador de estímulos DUT OK Errores Resultados correctos

8 LENGUAJES DE DESCRIPCIÓN DE HARDWARE Existen muchos lenguajes de descripción de hardware (Verilog HDL, Zeus HDL, VHDL). Nosotros estudiaremos el VHDL, (VHSIC Hardware Description Language, VHSIC: Very High Speed Integrated Circuit). El VHDL es el estándar del IEEE. Surge en 1981 a partir de un proyecto promovido por el departamento de defensa de los EEUU. Se publica en 1985 y en 1987 es homologado por el IEEE (Institute of Electronic and Electrical Engineers).

9 LENGUAJES DE DESCRIPCIÓN DE HARDWARE Las herramientas actuales permiten no sólo modelar, compilar y simular los diseños, sino también sintentizarlos, es decir, crear la información necesaria para implementar los diseños en un circuito integrado, o programar FPGA s. Implementación de un sumador de 8 bits en una FPGA.

10 LENGUAJES DE DESCRIPCIÓN DE HARDWARE Diseño de un bloque de la FPGA para un sumador de 8 bits

11 LENGUAJES DE DESCRIPCIÓN DE HARDWARE Los pasos a dar para crear un nuevo diseño son: Especificación Descripción de bloques Modelado VHDL Independiente del Hardware Simulación y test Simulación y test para Hw a implementar Generación de información para fabricación Dependiente del Hardware Fabricación

12 LENGUAJES DE DESCRIPCIÓN DE HARDWARE Diferencia entre los dos tipos de test: En el primer test se simulará teniendo en cuenta las características físicas que hayamos modelado (retardos, con la sentencia AFTER) En el segundo test no se tendrán en cuenta esas características descritas, sino que se incluirán aquellas que genere el hardware en el que vamos a implementar el circuito (dependiendo de la tecnología utilizada).

13 1. Lenguajes de descripción de hardware. VHDL 1.1. Lenguajes de descripción de hardware 1.2. VHDL Presentación del lenguaje VHDL Objetos, tipos de datos y operadores Sentencias secuenciales Sentencias concurrentes Sentencias estructurales Unidades básicas de diseño Descripción de máquinas de estado Test bench

14 Modelo de estructura: componentes y jerarquía Descripción de un dispositivo en VHDL: La entidad o entity: interfaz del dispositivo con el exterior La arquitectura o architecture: descripción de la funcionalidad que realiza el dispositivo. Cualquier elemento modelado en VHDL puede ser usado como un componente (component) de otro diseño. a b AND entity FUNC is port(a,b,d: in bit; s: out bit); end FUNC; d OR s architecture A_FUNC of FUNC is begin s<= d OR (a AND b) AFTER 4 ns; end A_FUNC;

15 Modelos de concurrencia: procesos, señales y eventos El hardware por definición es concurrente: formado por un mar de puertas lógicas, funcionando en paralelo. Elemento básico para modelar el paralelismo: proceso (process). Describe comportamientos y el código interno se ejecuta de forma secuencial. Todos los procesos de una descripción se ejecutan de forma paralela. El elemento necesario para comunicar dos procesos es la señal (signal): Objeto que puede ir variando su valor a lo largo de la simulación. Tiene asociado una o varias colas de eventos (drivers) que define su comportamiento a lo largo del tiempo. Cada proceso tiene un conjunto de señales a las que es sensible.

16 Modelos de concurrencia: procesos, señales y eventos architecture ACIR... AND2: process (a,b) begin c<=a and b after2 ns; end process AND2; OR2: process (c,d) begin e<=c or d after 1.5 ns; end process OR2;... end ACIR; e c d b a 2 ns 1.5 ns 1.5 ns a<=1 d<=0 c<=1 e<=0 e<=1 1. Se para la simulación 2. Se calcula el resultado de los procesos (AND2) 3. Se programan las colas de eventos de las señales 4. El valor de c será 1 dentro de 2ns 1. Se para la simulación 2. Se calcula el resultado de los procesos (OR2) 3. Se programan las colas de eventos de las señales 4. El valor de e será 0 dentro de 1.5ns 1. Se para la simulación 2. Se calcula el resultado de los procesos (OR2) 3. Se programan las colas de eventos de las señales 4. El valor de e será 1 dentro de 1.5ns En estos eventos se pararía la simulación, pero al no haber procesos sensibles a esas señales, no pasaría nada más. En ese instante de la simulación la señal d tiene dos eventos futuros programados.

17 Modelos de tiempo: ciclo de simulación La simulación de un modelo en VHDL es una simulación dirigida por eventos. El simulador mantiene unas listas de eventos (cambios en las señales internas del modelo y también de las entradas y salidas) que se han producido a lo largo de la simulación. El ciclo de simulación tiene dos etapas: Primera etapa: las señales actualizan su valor. Esta etapa finaliza cuando todas las señales que debían obtener un nuevo valor en el tiempo actual se simulación han sido actualizadas. Segunda etapa: los procesos que se activan (porque ha cambiado alguna de las señales a la que son sensibles) se ejecutan hasta que se suspenden. Cuando todos los procesos se hayan suspendido, el tiempo de simulación avanza hasta el siguiente instante de tiempo en el que haya un evento programado.

18 Modelos de tiempo: ciclo de simulación Importante: siempre hay un cierto retardo entre el momento en que un proceso coloca un nuevo valor en la cola de eventos de una señal y el momento en el que esta señal toma el valor programado en la cola de eventos. Variable: actualiza su contenido en cuanto se ejecuta una asignación sobre ella. Señal: se actualiza sólo cuando todos los procesos se hayan ejecutado y estén suspendidos.

19 1. Lenguajes de descripción de hardware. VHDL 1.1. Lenguajes de descripción de hardware 1.2. VHDL Presentación del lenguaje VHDL Objetos, tipos de datos y operadores Sentencias secuenciales Sentencias concurrentes Sentencias estructurales Unidades básicas de diseño Descripción de máquinas de estado Test bench

20 OBJETOS, TIPOS DE DATOS Y OPERADORES Objetos del VHDL Constantes constant identificador {,...}: tipo [:=expresión]; Variables variable identificador {,...}: tipo [:=expresión]; Señales signal identificador {,...}: tipo [:=expresión]; Ficheros Tipos de datos file identificador {,...}: tipo_fichero [is dirección "nombre"]; Determina el conjunto de valores que puede asumir y las operaciones que se podrán realizar. Declaración de tipos de datos: type identificador is definición_tipo

21 OBJETOS, TIPOS DE DATOS Y OPERADORES Tipos de datos std_logic Definido en el paquete std_logic_1164 de la biblioteca IEEE library IEEE; use IEEE.std_logic_1164.all; Su definición: type std_logic is ('U', - No inicializado 'X', - Forzando desconocido '0', - Forzando cero '1', - Forzando uno 'Z', - Alta impedancia 'W', - Desconocido débil 'L', - Cero débil 'H', - Uno débil '-'); - Redundante

22 OBJETOS, TIPOS DE DATOS Y OPERADORES Operadores VHDL tiene predefinidos los operadores aritméticos, relacionales, lógicos y de concatenación de cualquier lenguaje de programación común (+,-,*, or, and,...) más los operadores de desplazamiento para vectores unidimensionales.

23 1. Lenguajes de descripción de hardware. VHDL 1.1. Lenguajes de descripción de hardware 1.2. VHDL Presentación del lenguaje VHDL Objetos, tipos de datos y operadores Sentencias secuenciales Sentencias concurrentes Sentencias estructurales Unidades básicas de diseño Descripción de máquinas de estado Test bench

24 SENTENCIAS SECUENCIALES Aquellas que nos permiten describir o modelar la funcionalidad de un componente. Pueden encontrarse en los procesos o en los cuerpos de los subprogramas. Pueden ser: Sentencias de asignación (a señal y a variable) Sentencias condicionales (if, case) Sentencias iterativas (loop, exit, next) Otras sentencias (wait, assert, null) Llamadas a subprogramas

25 SENTENCIAS SECUENCIALES Sentencias secuenciales: Pueden ser: Sentencias de asignación (a señal y a variable) Sentencias condicionales (if, case) Sentencias iterativas (loop, exit, next) Otras sentencias (wait, assert, null) Llamadas a subprogramas

26 Sentencias secuenciales de asignación Asignación a señal Sintaxis nombre_señal<= valor {after expresion_tiempo} Al ejecutarse una de estas sentencias, no se está modificando el contenido de la señal, sino que se está modificando el contenido de su cola de eventos: se está proyectando un posible cambio del valor futuro de la señal, que algunas veces puede no llegar a producirse. process (a,b) begin a<=b; b<=a; end process; Se intercambia el valor de las dos señales, ya que cuando se ejecuta la segunda sentencia, el valor de a aún no refleja la asignación a<=b.

27 Sentencias secuenciales de asignación Asignación a variable: Reemplaza el valor actual de la variable con el valor especificado por una expresión. Sintaxis nombre_variable := expresion; La variable toma el nuevo valor en el momento de ejecutarse la sentencia, de forma que las sentencias que se ejecuten a continuación ya pueden ver ese nuevo valor. a:=b; b:=a; No se intercambian las dos variables. Tmp := a; a:=b; b:=tmp; Ahora si.

28 Sentencias condicionales e iterativas La sentencia if Sintaxis if condicion then sentencias_secuenciales {elsif condicion then sentencias_secuenciales} [else sentencias_secuenciales] end if; La sentencia case Sintaxis case expresion is when valor => sentencias_secuenciales; {when others=> sentencias_secuenciales;} end case; La sentencia loop Sintaxis [while condicion_boolena for control_repeticion] loop sentencias secuenciales end loop;

29 1. Lenguajes de descripción de hardware. VHDL 1.1. Lenguajes de descripción de hardware 1.2. VHDL Presentación del lenguaje VHDL Objetos, tipos de datos y operadores Sentencias secuenciales Sentencias concurrentes Sentencias estructurales Unidades básicas de diseño Descripción de máquinas de estado Test bench

30 SENTENCIAS CONCURRENTES Las sentencias concurrentes se ejecutan en paralelo. Las encontraremos en arquitecturas de los modelos y no estarán contenidas en ningún proceso. Sentencia process. Asignación a señal concurrente. Llamada concurrentes a subprogramas.

31 SENTENCIAS CONCURRENTES La sentencia process Es una sentencia concurrente que define su comportamiento a través de sentencias secuenciales. Sintaxis [etiqueta]: process (nombre_señal {,...}) declaraciones begin sentencias_secuenciales; end process [etiqueta]; Asignación a señal concurrente Sintaxis nombre_señal <= forma_onda; Se comporta de la misma forma que la asignación secuencial. Su principal diferencia radica en que se encuentra en las arquitecturas, en lugar de encontrarse en procesos o subprogramas. Es sensible a las señales que se encuentren a la derecha de la asignación.

32 SENTENCIAS CONCURRENTES Asignación a señal concurrente Ejemplo Asignación concurrente a<=b; Asignación secuencial equivalente process (b) begin a<=b; end process;

33 1. Lenguajes de descripción de hardware. VHDL 1.1. Lenguajes de descripción de hardware 1.2. VHDL Presentación del lenguaje VHDL Objetos, tipos de datos y operadores Sentencias secuenciales Sentencias concurrentes Sentencias estructurales Unidades básicas de diseño Descripción de máquinas de estado Test bench

34 SENTENCIAS ESTRUCTURALES Es el conjunto de sentencias dedicadas a la descripción de estructura del hardware. Son sentencias concurrentes, ya que se ejecutan en paralelo con cualquier otra sentencia concurrente de la descripción. Componentes Para poder usar un componente VHDL se debe: Declarar el componente Hacer referencia o copia del componente

35 Componentes Declaración del componente: component nombre_componente [generic (lista_generic);] [port (lista_puertos);] end component [nombre_componente]; La declaración del componente debe coincidir con la declaración de la entidad de dicho diseño: debe tener los mismos puertos, definidos del mismo tipo y dirección. Referencia o copia del componente: Es una sentencia recurrente que se ejecuta en paralelo con las demás sentencias concurrentes de la arquitectura. Cada copia o referencia a un componente se ejecutará cada vez que se produzca un evento en alguna de las señales conectadas a sus puertos de entrada o de entrada/salida. etiqueta_referencia: nombre_componente [generic map (lista_asociación);] [port map(lista_asociación);]

36 Matrices de componentes Declaración Generate : Es una sentencia recurrente que se ejecuta en paralelo con las demás sentencias concurrentes de la arquitectura. Se usa para describir estructuras repetitivas de componentes: matrices de componentes: architecture SUM16_ARCH of SUM16 is component FA port( A,B,CIN: in std_logic; S,COUT: out std_logic); end component; signal CARRY : std_logic_vector (16 downto 0); begin SUMA : for I in 0 to 15 generate CELL : FA port map (A16(I), B16(I), CARRY(I), S16(I), CARRY(I+1)); end generate SUMA; CARRY(0) <= '0'; OVF <= CARRY(16); end SUM16_ARCH;

37 1. Lenguajes de descripción de hardware. VHDL 1.1. Lenguajes de descripción de hardware 1.2. VHDL Presentación del lenguaje VHDL Objetos, tipos de datos y operadores Sentencias secuenciales Sentencias concurrentes Sentencias estructurales Unidades básicas de diseño Descripción de máquinas de estado Test bench

38 UNIDADES BÁSICAS DE DISEÑO Cinco tipos de unidades de diseño: La declaración de entidad (entity) La arquitectura de una entidad (architecture) La configuración (configuration) La declaración de un paquete (package declaration) El cuerpo del paquete (package body)

39 Entidad Declaración de entidad Define la interfaz del dispositivo con su entorno. Sintaxis: entity identificador is [genéricos] [puertos] [declaraciones] [begin sentencias] end [entity][identificador]; Ejemplo entity mux21 is port ( a : in std_logic; b : in std_logic; crtl : in std_logic z : out std_logic); a b c z

40 Arquitectura Define la funcionalidad de la entidad que representa. Describe un conjunto de operaciones sobre las entradas de la entidad que determinan el valor de las salidas en cada momento. Sintaxis architecture identificador of identificador_entidad is [declaraciones] begin [sentencias concurrentes] end [architecture][identificador];

41 Arquitectura: estilo algorítmico Define la funcionalidad del dispositivo mediante un algoritmo ejecutado secuencialmente. No se hace nunguna referencia a la estructura que se seguirá para implementar el algoritmo en hardware.

42 Arquitectura: estilo flujo de datos Refleja la funcionalidad de un dispositivo mediante un conjunto de ecuaciones ejecutadas concurrentemente, que determinan el flujo que van a seguir los datos entre módulos encargados de implementar las operaciones. Existe una correspondencia directa entre el código y su implementacion hardware.

43 Arquitectura: estilo estructural Consiste en definir la arquitectura como un conjunto de componentes interconectados mediante señales. No incluye ningún tipo de funcionalidad.

44 1. Lenguajes de descripción de hardware. VHDL 1.1. Lenguajes de descripción de hardware 1.2. VHDL Presentación del lenguaje VHDL Objetos, tipos de datos y operadores Sentencias secuenciales Sentencias concurrentes Sentencias estructurales Unidades básicas de diseño Descripción de máquinas de estado Test bench

45 DESCRIPCIÓN DE MÁQUINAS DE ESTADO Máquina de Moore: Et CIRC. COMB. ENTRADA BIESTABLES CIRC. COMB. SALIDA St Máquina de Mealy: Et CIRC. COMB. ENTRADA SALIDA BIESTABLES St Normalmente más compacta

46 DESCRIPCIÓN DE MÁQUINAS DE ESTADO Estilo explícito 1. La máquina de estado se describe utilizando: Un proceso combinacional para describir la función del próximo estado y las asignaciones de salida. Un proceso secuencial para describir las asignaciones sobre el registro de estados en la transición activa de la señal de reloj. entity FSM is port (reloj, reset: in std_logic; x1,... xn : in std_logic; z1,... zm : out std_logic); end FSM;

47 DESCRIPCIÓN DE MÁQUINAS DE ESTADO Estilo explícito e1 architecture e1 of FSM is type estados is (s0,... sp); signal estado: estados; signal nxt_estado: estados; begin process (estado, x1,... xn) begin case s0 => -- acciones del estado so: --asignación de est. próximo --asignaciones de salida case sp =>... end case; end process; process (reset, reloj) begin if (reset='0') then estado <=s0; elsif (relok'event and reloj ='1') then estado<=nxt_estado; end if; end process; end e1;

48 DESCRIPCIÓN DE MÁQUINAS DE ESTADO Ejemplo entity FSM is port( CLK, RESET, X Z end FSM; architecture E1 of FSM is : in std_logic; : out std_logic); type ESTADOS is (S0, S1, S2, S3); signal ESTADO, NXT_ESTADO: ESTADOS := S0; begin process (RESET, CLK) begin if RESET = '0' then ESTADO <= S0; elsif (CLK'event and CLK='1') then ESTADO <= NXT_ESTADO; end if; end process; process (ESTADO, X) begin case ESTADO is when S0 => Z <= '0'; if X='0' then NXT_ESTADO <= S1; else NXT_ESTADO <= S2; end if; when S1 => Z <= X; NXT_ESTADO <= S0; when S2 => Z <= '0'; if X='0' then NXT_ESTADO <= S1; else NXT_ESTADO <= S3; end if; when S3 => z <= '1'; if X='1' then NXT_ESTADO <= S1; end if; end case; end process; end E1;

49 DESCRIPCIÓN DE MÁQUINAS DE ESTADO Estilo explícito 2 Se describe la máquina de estados utilizando un único proceso secuencial con una sentencia de espera de reloj. Todas las acciones tienen lugar en sincronía con la señal de reloj, por lo que sólo es posible describir máquinas de Moore. architecture e2 of FSM is type estados is (s0,... sp); signal estado: estados; begin process begin wait until reloj = '1'; if (reset='0') then estado:= s0; else case estado is when s0=> -- acciones del estado s transición de estado y -- asignaciones de salida when sp =>... end case; end if; end process; end e2;

50 DESCRIPCIÓN DE MÁQUINAS DE ESTADO Estilo explícito e2 entity FSM is port( CLK, RESET, X Z std_logic); end FSM; architecture E2 offsm is : in std_logic; : out type ESTADOS is (S0, S1, S2, S3); signal ESTADO: ESTADOS := S0; begin process begin wait until CLK ='1'; if RESET ='0' then ESTADO <= S0; else case ESTADO is when S0 => Z <= '0'; if X='0' then ESTADO <= S1; else ESTADO <= S2; end if; when S1 => Z <= X; ESTADO <= S0; when S2 => Z <= '0'; if X='0' then ESTADO <= S1; else ESTADO <= S3; end if; when S3 => z <= '1'; if X='1' then ESTADO <= S1; end if; end case; end if; end process; end E2;

51 DESCRIPCIÓN DE MÁQUINAS DE ESTADO Estilo explícito 3 Se describe utilizando un único proceso secuencial con las señales de reloj, reset, registros de estado y entradas en la lista de sensibilidad. architecture e3 of Fsm is type estados is (s0,... sp); signal estado: estados := s0; begin process (reset, estado, x1,... xn) begin... --lógica combinatorial if (reset ='0') then estado <= s0 else case estado is when s0=> -- acciones del estado s0; -- transición de estado -- asignaciones a registro de entrada when sp=>... end case; end if;... end process; end e3;

52 DESCRIPCIÓN DE MÁQUINAS DE ESTADO Ejemplo entity FSM is port( CLK, RESET, X Z end FSM; architecture E3 offsm is type ESTADOS is (S0, S1, S2, S3); signal ESTADO: ESTADOS := S0; begin process (RESET, ESTADO, CLK) begin case ESTADO is when S1 => Z<= X; when S3 => Z<= '1'; when others => Z<='0'; end case; : in std_logic; : out std_logic); ifreset = '0' then ESTADO <= S0; elsif CLK'event and CLK = '1' then case ESTADO is when S0 => ifx='0' then ESTADO <= S1; else ESTADO <= S2; end if; when S1 => ESTADO <= s0; when S2 => ifx='0' then ESTADO <= S1; else ESTADO <= S3; end if; when S3 => ifx='1' then ESTADO <= S1; end if; end case; end if; end process; end E3;

53 DESCRIPCIÓN DE MÁQUINAS DE ESTADO Estilo implícito Se describe la máquina de estados utilizando un proceso con varias sentencias de espera de la señal de reloj. Recibe el nombre de estilo descriptivo implícito debido a que además de los P estados explícitos en la declaración del tipo "estados" de la señal de estado, la descripción incluye los N estados introducidos por las sentencias de espera. El número de estados total de la máquina es N*P. Sólo es posible describir máquinas de Moore. architecture implicita of FSM is type estados is (s0,... sp); signal estado: estados :=s0; begin process begin wait until reloj ='1';... wait until reloj='1';... end process; end implicita;

54 DESCRIPCIÓN DE MÁQUINAS DE ESTADO Ejemplo entity FSM is port( CLK, RESET, X Z end FSM; architecture E4 offsm is -- implicita begin process begin -- S0 wait until CLK ='1'; z <= '0'; if X='1' then wait until CLK = '1'; -- S2 Z<='0'; if X='1' then wait until CLK ='1'; : in std_logic; : out std_logic); -- S3 Z<='1'; while X = '0' loop wait until CLK = '1'; Z <= '1'; end loop; end if; end if; -- S1 wait until CLK = '1'; Z <= X; end process; end E4;

55 DESCRIPCIÓN DE MÁQUINAS DE ESTADO Para el ejemplo anterior, el diagrama de estados sería: X=0 S0 Z= 0 X=0 S3 Z= 1 X=1 X=1 S1 Z=X X=1 X=0 S2 Z= 0

56 OTROS TEMAS IMPORTANTES Simulación de retardo de transporte e inercial (AFTER, TRANSPORT): Inercial: library IEEE; USE IEEE.std_logic_1164.ALL; ENTITY buf IS PORT ( a : IN std_logic; b : OUT std_logic); END buf; ARCHITECTURE buf OF buf IS BEGIN b <= a AFTER 20 ns; END buf; Transporte: library IEEE; USE IEEE.std_logic_1164.ALL; ENTITY delay_line IS PORT ( a : IN std_logic; b : OUT std_logic); END buf; ARCHITECTURE delay_line OF delay_line IS BEGIN b <= TRANSPORT a AFTER 20 ns; END buf;

57 OTROS TEMAS IMPORTANTES Sentencia de espera (WAIT), tres usos: WAIT FOR: una determinada cantidad de tiempo... WAIT FOR 10 ns;... WAIT ON: cambios en la señal... WAIT ON a, b;... WAIT UNTIL: una expresión sea verdadera... WAIT UNTIL clk= 1 and clk event;...

58 OTROS TEMAS IMPORTANTES TextIO: Input/Output de texto:... PROCESS VARIABLE linea : line; FILE fichout : TEXT IS OUT xxx.txt"; BEGIN... WRITE(linea, A = ); WRITE(linea, A); - - Salida por pantalla WRITELINE(OUTPUT, linea); - - Salida por fichero WRITELINE(fichout, linea);... END PROCESS;... PROCESS FILE fichin : TEXT IS IN yyy.txt"; VARIABLE linea : line; BEGIN... READLINE(fichin, linea); READ(linea, A);... END PROCESS;...

59 1. Lenguajes de descripción de hardware. VHDL 1.1. Lenguajes de descripción de hardware 1.2. VHDL Presentación del lenguaje VHDL Objetos, tipos de datos y operadores Sentencias secuenciales Sentencias concurrentes Sentencias estructurales Unidades básicas de diseño Descripción de máquinas de estado Test bench

60 TEST BENCH Un test bench se usa para verificar la funcionalidad del diseño. El test bench esta en el nivel más alto de la jerarquía del diseño. El test bench crea una instancia (una copia) del DUT, lo estimula y comprueba los resultados. La única característica que diferencia el test bench de un diseño de un circuito es que no tiene entradas y salidas, que genera internamente y secuencialmente una serie de señales con las que estimula la instancia del circuito que está en prueba.

61 TEST BENCH library ieee ; use ieee.std_logic_1164. all; use std.textio.all; use ieee.std_logic_textio.all; -- El test bench es una caja negra sin entradas ni salidas que funciona de forma autonoma ENTITY FA_TB is END FA_TB ; ARCHITECTURE FA_TB_arch of FA_TB IS -- Declaración de señales, variables, componentes, funciones, procedimientos que se usaran COMPONENT FA IS port( A: IN std_logic; B: IN std_logic; CIN: IN std_logic; S: OUT std_logic; COUT: OUT std_logic ); END COMPONENT ; CONSTANT period : time := 50 ns ; SIGNAL A_IN, B_IN, CIN_IN, COUT_OUT, S_OUT, CLOCK : std_logic := '0' ; SIGNAL done : BOOLEAN := FALSE ; SHARED VARIABLE Cycle : NATURAL := 0 ; PROCEDURE PrintStatus IS VARIABLE lout : line ; BEGIN WRITE(lout, Cycle); WRITE(lout, " "); WRITE(lout, CLOCK); WRITE(lout, " A = ") ; WRITE(lout, A_IN) ; WRITE(lout, " B = ") ; WRITE(lout, B_IN) ; WRITE(lout, " CIN = ") ; WRITE(lout, CIN_IN) ; WRITE(lout, " COUT = ") ; WRITE(lout, COUT_OUT) ; WRITE(lout, " S = ") ; WRITE(lout, S_OUT) ; --Por defecto, la salida estandar es la pantalla WRITELINE(OUTPUT, lout) ; END PrintStatus ; BEGIN -- En todo momento (Concurrente) se asignan las señales a las entradas/salidas del DFF U1: FA PORT MAP( A => A_IN, B => B_IN, CIN => CIN_IN, S => S_OUT, COUT => COUT_OUT) ; ClkProcess: PROCESS(done, CLOCK) -- Proceso (Concurrente) que va marcando el reloj con un periodo fijado por period BEGIN IF (NOT done) THEN IF (CLOCK = '1') THEN Cycle := Cycle + 1 ; END IF ; CLOCK <= NOT CLOCK after period / 2 ; END IF ; END PROCESS ; TestBench: PROCESS -- Proceso Concurrente que fija los valores de entrada para el test BEGIN wait until (CLOCK = '0') ; A_IN <= '0'; B_IN <= '1'; CIN_IN <= '0'; wait for period * 1 ; CIN_IN <= '1'; wait for period * 1 ; done <= TRUE ; WAIT ; END PROCESS ; Monitor: PROCESS FILE fichout : TEXT IS OUT "FA.txt"; VARIABLE fout : line; BEGIN if done = TRUE then wait; else WAIT FOR 5 ns; PrintStatus ; end if; END PROCESS ; END FA_TB_arch ;

62 VHDL PARA SINTESIS Proceso: descripción disminuyendo el nivel de abstracción hasta llegar a descripciones puramente estructurales Cualquier descripción VHDL es sintetizable: - No tiene por qué ser la síntesis óptima. - La complejidad del circuito dependerá de cómo se haga la descripción. Mapeado tecnológico. Descripción de los componentes de una determinada librería que representa una determinada tecnología con la que se realizará el circuito físico.

63 VHDL PARA SINTESIS Restricciones de la descripción: cómo la herramienta de síntesis interpreta las instrucciones VHDL? Siempre que se pueda hay que facilitar el trabajo al sintetizador. Los fabricantes dan ciertas recomendaciones para las descripciones: -Evitar cláusulas temporales -Los sintetizadores ignoran/prohiben los retardos en la asignación -No se puede asignar dos valores a una misma señal en la misma sentencia -Identificar cada puerta con claridad -Evitar sentencias de espera WAIT. Aunque no esta prohibido pero algunos sintetizadores tienen dificultades. Es mejor utilizar listas de sensibilidad

64 VHDL PARA SINTESIS Restricciones de la descripción: -Señales de reloj. -Sólo se permite una señal de reloj por proceso -Se debe especificarse claramente el flanco de reloj (clk= 1 and clk event) -Esta condición sólo puede ponerse una vez en el proceso -No se puede poner else en el if en el que se usó la condición -Utilizar CASE mejor que IF anidados. Las herramientas los sintetizan mejor. -Utilizar el estilo indicado para las máquinas de estado. -En sentencias condicionales para descripción combinacional, es obligatorio poner todos los casos de la condición (else, when others..)

DISEÑO DE CIRCUITOS SECUENCIALES

DISEÑO DE CIRCUITOS SECUENCIALES Sistemas Electrónicos y Automáticos PRÁCTICA 3 DISEÑO DE CIRCUITOS SECUENCIALES 1. OBJETIVO DE LA PRÁCTICA. El objetivo de la presente práctica consiste en modelar el comportamiento de un sistema secuencial

Más detalles

VHDL. Carlos Andrés Luna Vázquez. Lección 5. Sentencias concurrentes

VHDL. Carlos Andrés Luna Vázquez. Lección 5. Sentencias concurrentes VHDL Carlos Andrés Luna Vázquez Lección 5 Sentencias concurrentes Índice Introducción Niveles de abstracción del modelado con HDL Estilos descriptivos del modelado con HDL Ventajas y limitaciones de los

Más detalles

SISTEMAS DIGITALES VHDL

SISTEMAS DIGITALES VHDL SD SISTEMAS DIGITALES VHDL Fredy Hernán Riascos Campiño Practica 1a: Implementación de un incrementador: Se he de implementar un modulo incrementador (INC), Este modulo no es mas que un sumador y un registro

Más detalles

PRÁCTICA: LENGUAJE VHDL

PRÁCTICA: LENGUAJE VHDL PRÁCTICA: LENGUAJE Introducción Los lenguajes permiten manejar mejor grandes tamaños Los lenguajes son más flexibles que las tablas Los lenguajes son légibles por las máquinas más fácilmente que los gráficos

Más detalles

PARTE I. TÉCNICAS DE DISEÑO ELECTRÓNICO MEDIANTE LENGUAJES DE DESCRIPCIÓN HARDWARE

PARTE I. TÉCNICAS DE DISEÑO ELECTRÓNICO MEDIANTE LENGUAJES DE DESCRIPCIÓN HARDWARE PARTE I. TÉCNICAS DE DISEÑO ELECTRÓNICO MEDIANTE LENGUAJES DE DESCRIPCIÓN HARDWARE TEMA 3. Modelos de sistemas con VHDL Curso 05/06 1 TEMA 3. Modelos de sistemas digitales 3.1 Sistemas combinacionales

Más detalles

Sesión 1: Introducción al lenguaje VHDL. S1 1 Laboratorio de Estructura de Computadores Curso 04 / 05

Sesión 1: Introducción al lenguaje VHDL. S1 1 Laboratorio de Estructura de Computadores Curso 04 / 05 Sesión 1: Introducción al lenguaje VHDL S1 1 AREAS DE APLICACION DE VHDL Síntesis i1 suma Documentación Diagnosis de Fallos i1 i2 - Circuito semisumador Componentes: puerta AND puerta OR puerta XOR......

Más detalles

4. SUMADORES EN BINARIO PURO (I)

4. SUMADORES EN BINARIO PURO (I) TEMA 3: SISTEMAS ARITMÉTICOS Introducción y objetivos (3). Representación y codificación de la información (4-7) 2. Sistemas numéricos posicionales. Binario, hexadecimal, octal, y BCD. (8-33) 3. Números

Más detalles

VHDL. Lenguaje de descripción hardware Estructura Básica de diseño

VHDL. Lenguaje de descripción hardware Estructura Básica de diseño VHDL. Lenguaje de descripción hardware Estructura Básica de diseño 2007 A.G.O. All Rights Reserved Estructura de un diseño en VHDL LIBRARY declaraciones VHDL estructura básica ENTITY caja negra ARCHITECTURE

Más detalles

UNIVERSIDAD CARLOS III DE MADRID. Ejercicios de VHDL. Circuitos Integrados y Microelectrónica. Luis Entrena. Celia López.

UNIVERSIDAD CARLOS III DE MADRID. Ejercicios de VHDL. Circuitos Integrados y Microelectrónica. Luis Entrena. Celia López. UNIVERSIDAD CARLOS III DE MADRID Ejercicios de VHDL Circuitos Integrados y Microelectrónica Luis Entrena Celia López Mario García Enrique San Millán Marta Portela Almudena Lindoso Problema 1 Se pretende

Más detalles

SINTAXIS BÁSICA DEL VHDL SIMPLIFICADO

SINTAXIS BÁSICA DEL VHDL SIMPLIFICADO SINTAXIS BÁSICA DEL VHDL SIMPLIFICADO ENTIDAD: ARQUITECTURA: ENTITY IS PORT : : END ; = IN / OUT / IN OUT ARCHITECTURE

Más detalles

Recursos y Metodologías. Función. Programas

Recursos y Metodologías. Función. Programas Recursos y Metodologías Sistema Digital Estructura { + Función Descripción Datos R. Cómputo R. Almacenamiento R. Conexionado { Comandos Implementación Full-custom Semi-custom Gate Arrays Programas Lenguaje

Más detalles

Tema 3 - Modelado con HDL a nivel RTL

Tema 3 - Modelado con HDL a nivel RTL - Modelado con HDL a nivel RTL Eduardo Rodríguez Martínez Departamento de Electrónica División de Ciencias Básicas e Ingeniería Universidad Autónoma Metropolitana Unidad Azcapotzalco Email: erm@correo.azc.uam.mx

Más detalles

ABSTRACCIONES DE UN SISTEMA DIGITAL

ABSTRACCIONES DE UN SISTEMA DIGITAL ABSTRACCIONES DE UN SISTEMA DIGITAL T O P D O W N FUNCIONAL ARQUITECTURAL FÍSICO Algoritmos y funciones que indican la relación E/S Componentes funcionales interconectados que definen la arquitectura Materialización

Más detalles

VHDL: Código Secuencial. Arquitectura del Computador 2017

VHDL: Código Secuencial. Arquitectura del Computador 2017 VHDL: Código Secuencial Arquitectura del Computador 2017 PROCESSES, FUNCTIONS y PROCEDURES Solo se ejecuta secuencialmente el código que se encuentra dentro de PROCESSES, FUNCTIONS o PROCEDURES. Cualquiera

Más detalles

Capítulo 2: LENGUAJES DE DESCRIPCIÓN DE HARDWARE: VHDL

Capítulo 2: LENGUAJES DE DESCRIPCIÓN DE HARDWARE: VHDL Capítulo 2: LENGUAJES DE DESCRIPCIÓN DE HARDWARE: VHDL Generalidades Ventajas e inconvenientes de los HDL s Características generales del VHDL Modelo del Hw Introducción al lenguaje VHDL Lenguajes de descripción

Más detalles

Julio. [ Programación en VHDL ] Guía rápida. [ h t t p : / / w w w. o p e n b o x e r m b. c o m / a s i g n a t u r a s / d s d.

Julio. [ Programación en VHDL ] Guía rápida. [ h t t p : / / w w w. o p e n b o x e r m b. c o m / a s i g n a t u r a s / d s d. Julio 09 [ Programación en VHDL ] Guía rápida [ h t t p : / / w w w. o p e n b o x e r. 2 6 0 m b. c o m / a s i g n a t u r a s / d s d. h t m l ] Programación en VHDL Guia rapida [ INDICE ] I. Programación

Más detalles

Simulación avanzada con TestBench en HDL. Ing. Andrés Miguel Airabella. Ing. Facundo Aguilera.

Simulación avanzada con TestBench en HDL. Ing. Andrés Miguel Airabella. Ing. Facundo Aguilera. Simulación avanzada con Ing. Andrés Miguel Airabella. Ing. Facundo Aguilera. Desc. del Problema Descripción HDL Synthesis Place and Route / Fit 2 - Generalidades - Generación de Estímulos Agenda - Asignaciones

Más detalles

MAQUINA DE ESTADO FINITO (FSM) Autómata finito

MAQUINA DE ESTADO FINITO (FSM) Autómata finito MAQUINA DE ESTADO FINITO (FSM) Autómata finito Modelo de Mealy E Lógica del próximo estado Q t+1 M E M O R I A Q t Lógica de salida S Ck Q t+1 = f (E, Q t ) S = g (E, Q t ) Modelo de Moore E Lógica del

Más detalles

MAQUINA DE ESTADO FINITO (FSM) Autómata finito

MAQUINA DE ESTADO FINITO (FSM) Autómata finito MAQUINA DE ESTADO FINITO (FSM) Autómata finito Modelo de Mealy E Lógica del próximo estado Q t+1 M E M O R I A Q t Lógica de salida S Ck Q t+1 = f (E, Q t ) S = g (E, Q t ) Modelo de Moore E Lógica del

Más detalles

Tema 2 Descripción de VHDL (2/2)

Tema 2 Descripción de VHDL (2/2) TECNOLOGÍA DE COMPUTADORES Tema 2 Descripción de VHDL (2/2) Agustín Álvarez Marquina Tipos de sentencias en VHDL Sentencias concurrentes PROCESS Asignación de señal BLOCK Llamadas a procedimientos Llamadas

Más detalles

Introducción al VHDL

Introducción al VHDL Introducción al VHDL Curso de Diseño de Circuitos y Sistemas Electrónicos - Grupo 43 Giancarlo Sportelli Biomedical Image Technologies - Departamento de Ingeniería Electrónica E.T.S.I. de Telecomunicación

Más detalles

Índice. VHDL Lección 2.9 Máquinas de Estados Finitos (FSM) 1

Índice. VHDL Lección 2.9 Máquinas de Estados Finitos (FSM) 1 Índice Introducción Niveles de abstracción del modelado con HDL Estilos descriptivos del modelado con HDL Ventajas y limitaciones de los HDLs El lenguaje VHDL Objetos, tipos de datos y operadores Unidades

Más detalles

LABORATORIO DE CIRCUITOS DIGITALES (2005-II) SEGUNDA CLASE DE VHDL

LABORATORIO DE CIRCUITOS DIGITALES (2005-II) SEGUNDA CLASE DE VHDL LABORATORIO DE CIRCUITOS DIGITALES (25-II) SEGUNDA CLASE DE VHDL TIPOS y MODOS DE DATOS DESCRIPCIÓN CONCURRENTE Sentencias de asignación: with select, when - else DESCRIPCIÓN COMPORTAMENTAL Procesos asíncronos

Más detalles

Practicas tuteladas VHDL (curso 04-05)

Practicas tuteladas VHDL (curso 04-05) Practicas tuteladas VHDL (curso 4-5) Tecnología de computadores. Prácticas de VHDL (Curso 3/4) PRÁCTICA-2: ATRIBUTOS DE SEÑALES ELEMENTOS DE MEMORIA Y REGISTROS OBJETIVOS: Utilizar el paquete de datos

Más detalles

LENGUAJE VHDL. Ing. Wilmer Naranjo 1

LENGUAJE VHDL. Ing. Wilmer Naranjo 1 LENGUAJE VHDL Ing. Wilmer Naranjo 1 DESCRIPCIÓN EN VHDL Al inicio de los 80 s diversos grupos de investigadores empiezan a crear y desarrollar los llamados "lenguajes de descripción de hardware" cada uno

Más detalles

Introducción al VHDL. VHDL orientado a la síntesis de circuitos en Dispositivo Lógicos Programables

Introducción al VHDL. VHDL orientado a la síntesis de circuitos en Dispositivo Lógicos Programables Introducción al VHDL VHDL orientado a la síntesis de circuitos en Dispositivo Lógicos Programables Introducción Lenguaje de descripción de dispositivos Hardware. Diferencias con lenguajes de programación:

Más detalles

Tema 4 - Bloques combinacionales

Tema 4 - Bloques combinacionales - Bloques combinacionales Eduardo Rodríguez Martínez Departamento de Electrónica División de Ciencias Básicas e Ingeniería Universidad Autónoma Metropolitana Unidad Azcapotzalco Email: erm@correo.azc.uam.mx

Más detalles

INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA ELECTRÓNICA TRABAJO TUTORADO DE VHDL. Primer Cuatrimestre Curso 2005/2006.

INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA ELECTRÓNICA TRABAJO TUTORADO DE VHDL. Primer Cuatrimestre Curso 2005/2006. INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA ELECTRÓNICA TRABAJO TUTORADO DE VHDL. Primer Cuatrimestre Curso 2005/2006. OBJETIVOS: Con este proyecto se pretende que el alumno practique y afiance los conocimientos

Más detalles

VHDL. Carlos Andrés Luna Vázquez. Lección 10 Problemas

VHDL. Carlos Andrés Luna Vázquez. Lección 10 Problemas Carlos Andrés Luna Vázquez Lección 10 Problemas 1 Índice Introducción Niveles de abstracción del modelado con HDL Estilos descriptivos del modelado con HDL Ventajas y limitaciones de los HDLs El lenguaje

Más detalles

Sesión 3: Modelo temporal: VHDL concurrente. S3 1 Laboratorio de Estructura de Computadores Curso 04 / 05

Sesión 3: Modelo temporal: VHDL concurrente. S3 1 Laboratorio de Estructura de Computadores Curso 04 / 05 Sesión 3: Modelo temporal: VHDL concurrente S3 1 Dominios secuencial y concurrente en VHDL ENTITY dispositivo IS PORT(pe1,...:IN tipoe; ps1,...:out tipos; pes1,...:inout tipoes END dispositivo ARCHITECTURE

Más detalles

Sistemas Electrónicos Digitales. PRACTICA nº 8

Sistemas Electrónicos Digitales. PRACTICA nº 8 PRACTICA nº 8 Diseño de subsistemas aritméticos. Síntesis sobre dispositivos FPGA. Síntesis estructural a partir de la descripción VHDL a nivel RTL de la estructura. Síntesis a partir de la descripción

Más detalles

+ Máquinas de Estado Finitas

+ Máquinas de Estado Finitas + Máquinas de Estado Finitas Las máquinas de estado pueden ser: SÍNCRONAS: Necesitan de la intervención de un pulso de reloj. Si la entrada participa también en la salida se denomina Máquina de estado

Más detalles

Práctica I Modelado y simulación de una máquina expendedora de refrescos

Práctica I Modelado y simulación de una máquina expendedora de refrescos Práctica I Modelado y simulación de una máquina expendedora de refrescos Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 2 1.1. Objetivos. En esta práctica vamos a modelar

Más detalles

Sesión 4: Sentencias concurrentes y paquetes. S4 1 Laboratorio de Estructura de Computadores Curso 04 / 05

Sesión 4: Sentencias concurrentes y paquetes. S4 1 Laboratorio de Estructura de Computadores Curso 04 / 05 Sesión 4: Sentencias concurrentes y paquetes S4 1 Sentencias Concurrentes La principal sentencia concurrente de VHDL es el proceso (process), que define los límites de un dominio secuencial. Las restantes

Más detalles

Electrónica Digital Departamento de Electrónica VHDL. Bioingeniería Facultad de Ingeniería - UNER

Electrónica Digital Departamento de Electrónica VHDL. Bioingeniería Facultad de Ingeniería - UNER Electrónica Digital Departamento de Electrónica VHDL Bioingeniería Facultad de Ingeniería - UNER VHDL VHSIC Hardware Design Language VHSIC Very High Speed Integrated Circuits Verilog Handel C Celóxica

Más detalles

Lenguaje de descripción de Hardware VHSIC

Lenguaje de descripción de Hardware VHSIC Lenguaje de descripción de Hardware VHSIC VHDL Laboratorio de diseño digital Ingeniería Electrónica 4/17/2007 1 Contenido Estilos de diseño Lenguaje VHDL: Evolución y características Objetos VHDL Modelo

Más detalles

Sistemas Digitales - Examen temas 1, 2 y 3 - (6 de Abril 2016)

Sistemas Digitales - Examen temas 1, 2 y 3 - (6 de Abril 2016) Sistemas Digitales - Examen temas, 2 y 3 - (6 de Abril 206) EXAMEN RESUELTO Problema-. Modelo-A (Calificación 0 puntos) Se quiere diseñar un circuito digital, tal que, dado un número en código octal de

Más detalles

VHDL Y FPGA LENGUAJE VHDL

VHDL Y FPGA LENGUAJE VHDL VHDL Y FPGA LENGUAJE VHDL VHDL es un lenguaje de alto nivel que describe todas las características de circuitos electrónicos digitales de variada complejidad. El significado de las siglas VHDL es V de

Más detalles

Diseño Lógico I Facultad de Ciencias Exactas y Tecnología UNT. LENGUAJES DE DESCRIPCIÓN DE HARDWARE

Diseño Lógico I Facultad de Ciencias Exactas y Tecnología UNT. LENGUAJES DE DESCRIPCIÓN DE HARDWARE LENGUAJES DE DESCRIPCIÓN DE HARDWARE METODOS PARA DESCRIBIR CIRCUITOS LÓGICOS Descripción verbal Tablas de verdad Diagrama esquemático Expresiones del álgebra booleana Diagrama de tiempos Lenguajes de

Más detalles

Planificaciones Sistemas Digitales. Docente responsable: ALVAREZ NICOLAS. 1 de 5

Planificaciones Sistemas Digitales. Docente responsable: ALVAREZ NICOLAS. 1 de 5 Planificaciones 8641 - Sistemas Digitales Docente responsable: ALVAREZ NICOLAS 1 de 5 OBJETIVOS El objetivo de la materia es aprender a diseñar arquitecturas digitales utilizando como herramienta los lenguajes

Más detalles

Tema 2. Funciones Lógicas. Algebra de Conmutación. Minimización de funciones Lógicas. Introducción al VHDL.

Tema 2. Funciones Lógicas. Algebra de Conmutación. Minimización de funciones Lógicas. Introducción al VHDL. Tema 2. Funciones Lógicas Algebra de Conmutación. Minimización de funciones Lógicas. Introducción al VHDL. Introducción al VHDL Definición de las estructuras básicas. Entidades: genéricos y puertos. Tipos

Más detalles

Introducción a VHDL. Por: Carlos A. Fajardo UIS - Sistemas Digitales

Introducción a VHDL. Por: Carlos A. Fajardo UIS - Sistemas Digitales Introducción a VHDL Por: Carlos A. Fajardo cafajar@uis.edu.co Lenguajes de Descripción de Hardware Netlist: conjunto de instrucciones que indican el interconexionado entre los componentes de un diseño

Más detalles

SÍNTESIS DE CIRCUITOS DIGITALES CON VHDL.

SÍNTESIS DE CIRCUITOS DIGITALES CON VHDL. SÍNTESIS DE CIRCUITOS DIGITALES CON VHDL. 1 Proceso automático, realizado por una herramienta software, para la generación de una representación con puertas lógicas de una descripción VHDL. Las herramientas

Más detalles

Objetos de VHDL.! Un objeto en VHDL es un elemento que contiene. un valor de tipo específico de dato

Objetos de VHDL.! Un objeto en VHDL es un elemento que contiene. un valor de tipo específico de dato Objetos de VHDL! Un objeto en VHDL es un elemento que contiene un valor de tipo específico de dato Objetos que se pueden manipular en VHDL y sus tipos -3 clases principales de objetos: SEÑALES: similares

Más detalles

Sistemas Electrónicos Digitales. PRACTICA nº 3

Sistemas Electrónicos Digitales. PRACTICA nº 3 PRACTICA nº 3 Diseño top-down estructural y síntesis de un procesador dedicado elemental para resolver el cálculo del máximo común divisor (MCD) de dos números sin signo Objetivos: Análisis, diseño y síntesis

Más detalles

Práctica 6. Diseño Lógico Digital mediante VHDL

Práctica 6. Diseño Lógico Digital mediante VHDL Práctica 6. Diseño Lógico Digital mediante VHDL 6.1. Objetivos Aprender a diseñar circuitos lógicos digitales mediante el uso de lenguajes de descripción de hardware como VHDL. 6.2. Introducción al VHDL

Más detalles

TEMA IV: SÍNTESIS HARDWARE

TEMA IV: SÍNTESIS HARDWARE TEMA IV: SÍNTES HARDWARE Especificaciones Formato intermedio Partición HW/SW LA SÍNTES HARDWARE ES LA TAREA DE PASAR DE UN DOMINIO DE ABSTRACCIÓN A OTRO COMPORTAMIENTO -> ESTRUCTURA Código Implementación

Más detalles

Practica 9 Estilos de codificar a estados FCE

Practica 9 Estilos de codificar a estados FCE Practica 9 Estilos de codificar a estados FCE2015-04-07 Parte 1. Diagramas de estado con VHDL Parte2. Cartas ASM con VHDL Introducción En el diseño de sistemas digitales, una parte importante es poder

Más detalles

Objetos de VHDL. Un objeto en VHDL es un elemento que contiene un valor de tipo específico de dato

Objetos de VHDL. Un objeto en VHDL es un elemento que contiene un valor de tipo específico de dato Objetos de VHDL Un objeto en VHDL es un elemento que contiene un valor de tipo específico de dato Objetos que se pueden manipular en VHDL y sus tipos -3 clases principales de objetos: SEÑALES: similares

Más detalles

4.5. Procedimiento de síntesis

4.5. Procedimiento de síntesis 4.5. Procedimiento de síntesis En este apartado se resumen los pasos a seguir para completar la implementación de un sistema digital en un dispositivo programable: descripción del sistema mediante uno

Más detalles

Titulación: Ingeniería Informática Asignatura: Fundamentos de Computadores. Bloque 3: Sistemas secuenciales Tema 9: Módulos secuenciales básicos

Titulación: Ingeniería Informática Asignatura: Fundamentos de Computadores. Bloque 3: Sistemas secuenciales Tema 9: Módulos secuenciales básicos Titulación: Ingeniería Informática Asignatura: Fundamentos de Computadores Bloque 3: Sistemas secuenciales Tema 9: Módulos secuenciales básicos Pablo Huerta Pellitero Luis Rincón Córcoles ÍNDICE Bibliografía

Más detalles

Práctica I.- Introducción a los Sistemas Secuenciales

Práctica I.- Introducción a los Sistemas Secuenciales Práctica I.- Introducción a los Sistemas Secuenciales 1.1.- Objetivos. El objetivo de esta práctica consiste en consolidar las diferencias entre sistemas combinacionales y secuenciales 1.2.- Problema.

Más detalles

5.1. Introducción a los sistemas digitales

5.1. Introducción a los sistemas digitales 5.. Introducción a los sistemas digitales 5... Sistemas digitales [ Wakerly.2 pág. 3] 5..2. Puertas y señales lógicas [ Wakerly.3 pág. 6] 5..3. Representación de la lógica digital [ Wakerly. pág. 9] 5..4.

Más detalles

Tema 2. Funciones Lógicas. Algebra de Conmutación. Representación de circuitos digitales. Minimización de funciones lógicas.

Tema 2. Funciones Lógicas. Algebra de Conmutación. Representación de circuitos digitales. Minimización de funciones lógicas. Tema 2. Funciones Lógicas Algebra de Conmutación. Representación de circuitos digitales. Minimización de funciones lógicas. Representación de Circuitos Digitales Representación esquemática. Representación

Más detalles

GUÍA PRÁCTICA DEL SOFTWARE ACTIVE-HDL.

GUÍA PRÁCTICA DEL SOFTWARE ACTIVE-HDL. 24/9/2013 ÁREA DE TECNOLOGÍA ELECTRÓNICA UBU GUÍA PRÁCTICA DEL SOFTWARE ACTIVE-HDL. Manual de Inicio Miguel Ángel Lozano Pérez Contenido 1.1 GUÍA DE SOFTWARE... 3 1.1.1 Primer paso: crear un diseño nuevo...

Más detalles

Tutorial de ModelSim PE Student Edition

Tutorial de ModelSim PE Student Edition Tutorial de ModelSim PE Student Edition Instalación Ir a http://portal.model.com/modelsim/downloads/license_agreement_form_gen.asp Rellenar los datos y selecionar Request Download Seleccionar el enlace

Más detalles

Lenguaje descripción de hardware: VHDL

Lenguaje descripción de hardware: VHDL Lenguaje descripción de hardware: VHDL Generalidades A partir del desarrollo de circuitos Integrados Digitales programables con una gran cantidad de componentes lógicos y la necesidad de sistema digitales

Más detalles

INGENIERÍA DE COMPUTADORES III. Solución al examen de Septiembre 2013

INGENIERÍA DE COMPUTADORES III. Solución al examen de Septiembre 2013 Solución al examen de Septiembre 2013 PREGUNTA 1 (2 puntos) Tomando como base el siguiente código VHDL, dibuje el cronograma de evolución de las señales clk, x, a, b, c e y entre los instantes 0 y 1000

Más detalles

Tutorial 2: Pasar de diagrama ASM a un circuito

Tutorial 2: Pasar de diagrama ASM a un circuito Tutorial 2: Pasar de diagrama ASM a un circuito Introducción En este segundo tutorial veremos cómo transformar nuestros diagramas ASM en circuitos que puedan ser implementados utilizando la placa DEO.

Más detalles

Practica No. 5 Diseño de un Multiplicador

Practica No. 5 Diseño de un Multiplicador Practica No. 5 Diseño de un Multiplicador Objetivo: Diseñar un módulo de multiplicación utilizando diferentes métodos, entender las ventajas y desventajas de cada uno de ellos. Aprender a usar procesos

Más detalles

2. Sumadores. Diagrama. Donde a y b son los bits a sumar, S el. resultado de la suma y C el acarreo generado. b EB. Circuito. Tabla de verdad.

2. Sumadores. Diagrama. Donde a y b son los bits a sumar, S el. resultado de la suma y C el acarreo generado. b EB. Circuito. Tabla de verdad. 2. Sumadores Los sumadores son cirtuitos muy utilizados en muchos tipos de sistemas digitales en los que se procesan datos numéricos. Para comprender su diseño y funcionamiento se parte del diseño de un

Más detalles

Sistemas Electrónicos Digitales Curso de adaptación al Grado

Sistemas Electrónicos Digitales Curso de adaptación al Grado Práctica Práctica 2 Sistemas Electrónicos Digitales Curso de adaptación al Grado Sistemas combinacionales con VHDL Universidad de Alicante Ángel Grediaga 2 Índice INTRODUCCIÓN... 3 2 CIRCUITOS COMBINACIONALES...

Más detalles

VI. Especificación del Comportamiento

VI. Especificación del Comportamiento VI. Especificación del Comportamiento 1 Introducción El objetivo de un sistema electrónico es transformar datos de entradas en resultados como salidas, esta clase de actividad es conocida como Comportamiento

Más detalles

Operadores y atributos en VHDL [1]

Operadores y atributos en VHDL [1] Operadores y atributos en VHDL [1] Sistemas Digitales Avanzados Universidad Técnica Particular de Loja Prof: Diego Barragán Guerrero Oct. 2014 - Feb. 2015 Sistemas Digitales Avanzados (UTPL) IET Oct. 2014

Más detalles

Introducción a VHDL. Por: Carlos A. Fajardo

Introducción a VHDL. Por: Carlos A. Fajardo Introducción a VHDL Por: Carlos A. Fajardo cafajar@uis.edu.co Actualizado 11/11/2015 Lenguajes de Descripción de Hardware Netlist: conjunto de instrucciones que indican el interconexionado entre los componentes

Más detalles

Asignatura: Tecnología de Computadores. Bloque 1: Introducción Tema 3: Introducción a los lenguajes de descripción de hardware

Asignatura: Tecnología de Computadores. Bloque 1: Introducción Tema 3: Introducción a los lenguajes de descripción de hardware Titulación: ió Grado en Ingeniería de Computadores Asignatura: Tecnología de Computadores Bloque 1: Introducción Tema 3: Introducción a los lenguajes de descripción de hardware Pablo Huerta Pellitero e

Más detalles

Laboratorio de Arquitectura de Computadoras

Laboratorio de Arquitectura de Computadoras Laboratorio de Arquitectura de Computadoras Estándar IEEE 1164 de VHDL Oscar Alvarado Nava oan@azc.uam.mx Departamento de Electrónica División de Ciencias Básicas e Ingeniería Universidad Autónoma Metropolitana,

Más detalles

Sumadores. Tipos de sumadores: Half-adder. Full-Adder. Carry-Look-Ahead. Carry-select.

Sumadores. Tipos de sumadores: Half-adder. Full-Adder. Carry-Look-Ahead. Carry-select. Sumadores En electrónica un sumador es un circuito lógico que calcula la operación suma. En los computadores modernos se encuentra en lo que se denomina Unidad aritmético lógica (ALU). Generalmente realizan

Más detalles

Diseño electrónico digital integrado: Back to basics. Sep-2011 F.Barbero Escuela Politécnica Superior - Universidad Autónoma de Madrid

Diseño electrónico digital integrado: Back to basics. Sep-2011 F.Barbero Escuela Politécnica Superior - Universidad Autónoma de Madrid Diseño electrónico digital integrado: Back to basics Sep-2011 F.Barbero Escuela Politécnica Superior - Universidad Autónoma de Madrid Flip-flop D con Reset Asíncrono Captura un dato con el flanco de reloj

Más detalles

Tutorial de VHDL: Contadores y Simulación

Tutorial de VHDL: Contadores y Simulación Tutorial de VHDL: Contadores y Simulación Importante: -Verifique la instalación del Webpack 6.0 y el Modelsim XE 6.0 SE. Ambos programas se pueden bajar desde www.xilinx.com. -Verifique también la licencia

Más detalles

Practica No. 8 Introducción a las Máquinas de Estados. 1. En la figura 1 se muestra el comportamiento de un robot que evade obstáculos.

Practica No. 8 Introducción a las Máquinas de Estados. 1. En la figura 1 se muestra el comportamiento de un robot que evade obstáculos. Practica No. 8 Introducción a las Máquinas de Estados Objetivo: Familiarizar al alumno en el conocimiento de los algoritmos de las máquinas de estados. Desarrollo: Para cada uno de los siguientes apartados,

Más detalles

LABORATORIO DE CIRCUITOS DIGITALES (2005-II) QUINTA CLASE DE VHDL

LABORATORIO DE CIRCUITOS DIGITALES (2005-II) QUINTA CLASE DE VHDL LABORATORIO DE CIRCUITOS DIGITALES (2005-II) QUINTA CLASE DE VHDL MÁQUINAS DE ESTADO FINITAS (FSMs) Máquinas de Moore Máquinas de Mealy MÁQUINAS DE ESTADOS FINITAS (FSMs) Tipos: Máquina de Moore: Las salidas

Más detalles

VHDL. Lenguaje de descripción hardware Introducción e historia

VHDL. Lenguaje de descripción hardware Introducción e historia VHDL. Lenguaje de descripción hardware Introducción e historia 2007 A.G.O. All Rights Reserved s descriptivos y niveles de abstracción s descriptivos: Comportamiento Se realiza la función sin información

Más detalles

Simulación y Síntesis con VHDL

Simulación y Síntesis con VHDL Simulación y Síntesis con VHDL Diseño de Computadores: Síntesis Lógica Apuntes de Prácticas sobre Diseño y Simulación con VHDL empleando el entorno de XILINX: ISE Manuel J. Bellido Octubre 2012 1 Contenidos

Más detalles

II. Unidades de Diseño en VHDL

II. Unidades de Diseño en VHDL II. Unidades de Diseño en VHDL 1 Representaciones en VHDL Cualquier sistema debe poder comunicarse con su ambiente... INTERFAZ CUERPO I / 0 Sistema 2 Un sistema sin interfaz es INÚTIL. La Interfaz INTERFAZ

Más detalles

DESCRIPCIÓN DE CIRCUITOS DIGITALES

DESCRIPCIÓN DE CIRCUITOS DIGITALES DESCRIPCIÓN DE CIRCUITOS DIGITALES Circuitos combinacionales Circuitos secuenciales Organización del diseño. Diseño genérico Operaciones iterativas Autores: Luis Entrena, Celia López, Mario García, Enrique

Más detalles

Practica No. 1 Circuitos Secuenciales

Practica No. 1 Circuitos Secuenciales Practica No. 1 Circuitos Secuenciales Objetivo: Conocer la estructura y características de la tarjeta de dispositivos lógicos programables TerasIC proporcionada a los alumnos, el software de operación

Más detalles

Introducción a PL/SQL

Introducción a PL/SQL Introducción a PL/SQL Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2011 Objetivos de este tema Conocer PL/SQL. PL/SQL

Más detalles

DESCRIPCIÓN DE CIRCUITOS DIGITALES

DESCRIPCIÓN DE CIRCUITOS DIGITALES DESCRIPCIÓN DE CIRCUITOS DIGITALES Circuitos combinacionales Circuitos secuenciales Organización del diseño. Diseño genérico Operaciones iterativas Autores: Celia López, Luis Entrena, Mario García, Enrique

Más detalles

Práctica 7. Diseño en VHDL de un modulador PPM

Práctica 7. Diseño en VHDL de un modulador PPM Práctica 7. Diseño en VHDL de un modulador PPM 7.1. Objetivos Diseñar un sistema de modulación por posición de pulso (PPM) mediante VHDL e implementarlo en una FPGA. Aprender a utilizar las diferentes

Más detalles

Tipos de datos en VHDL

Tipos de datos en VHDL Tipos de datos en VHDL Sistemas Digitales Avanzados Universidad Técnica Particular de Loja Prof: Diego Barragán Guerrero Oct. 2014 - Feb. 2015 Sistemas Digitales Avanzados (UTPL) IET Oct. 2014 - Feb. 2015

Más detalles

DISEÑO DE PROCESADORES DEDICADOS. Práctica 6 LCD de Propósito General

DISEÑO DE PROCESADORES DEDICADOS. Práctica 6 LCD de Propósito General DISEÑO DE PROCESADORES DEDICADOS Instituto Politécnico Nacional Práctica 6 LCD de Propósito General Campo 1: Datos Personales. Centro de Innovación y Desarrollo Tecnológico en Cómputo CIDETEC Mayo 2015

Más detalles

Introducción a los lenguajes de descripción de hardware

Introducción a los lenguajes de descripción de hardware Introducción a los lenguajes de descripción de hardware Noviembre 2009 Jorge Juan Chico Departamento de Tecnología Electrónica Universidad de Sevilla Usted es libre de copiar, distribuir

Más detalles

Sumador completo de un bit - Versión VHDL Sintético

Sumador completo de un bit - Versión VHDL Sintético Sumador completo de un bit Versión VHDL Sintético Federico Paredes 1, Daniel Durán 1 1 Becarios de investigación Importante: Verifique la instalación del Webpack 7.1 y el Modelsim XE 7.1 SE.Ambos programas

Más detalles

Tema 2 Descripción de VHDL (1/2)

Tema 2 Descripción de VHDL (1/2) TECNOLOGÍA DE COMPUTADORES Tema 2 Descripción de VHDL (1/2) Agustín Álvarez Marquina Elementos básicos de VHDL Elementos básicos Palabras reservadas. Identificadores. Tipos de objetos y datos. Literales.

Más detalles

Sesión 5: Unidades de Diseño VHDL

Sesión 5: Unidades de Diseño VHDL Sesión 5: Unidades de Diseño VHDL S5 1 S5 2 Unidades de Diseño Las unidades de diseño son las construcciones VHDL que se pueden analizar y compilar de forma independiente. Se guardan en una biblioteca

Más detalles

Tema 7. Análisis de Circuitos Secuenciales

Tema 7. Análisis de Circuitos Secuenciales Tema 7. Análisis de Circuitos Secuenciales Máquinas de estado finito (FSM). Análisis de circuitos secuenciales síncronos. Introducción al diseño secuenciales síncronos. de circuitos Contadores. Registros

Más detalles

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA ELECTRÓNICA

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA ELECTRÓNICA NOMBRE DE LA ASIGNATURA: BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA ELECTRÓNICA PROGRAMA DE ESTUDIOS DE LA MAESTRÍA EN INGENIERÍA ELECTRÓNICA CON OPCIÓN EN INSTRUMENTACIÓN DIGITAL

Más detalles

2. Escoja la ubicación y el nombre del proyecto. Seleccione la casilla Create project subdirectory.

2. Escoja la ubicación y el nombre del proyecto. Seleccione la casilla Create project subdirectory. FACULTAD DE INGENIERÍA ELECTRÓNICA. GRUPO SEDA SEDA.ESCUELAING.EDU.CO PROFESOR: JAVIER SOTO PHD. TUTORIAL CREACIÓN, SIMULACIÓN E IMPLEMENTACIÓN DE UN PROYECTO (VHDL) EN VIVADO 2016.3 DESCRIPCIÓN Este tutorial

Más detalles

VHDL y el método de diseño basado en descripción y síntesis. RESUMEN.

VHDL y el método de diseño basado en descripción y síntesis. RESUMEN. VHDL y el método de diseño basado en descripción y síntesis. AUTOR : Pablo Mazzara. Grupo de Microelectrónica del IIE. Facultad de Ingeniería. Montevideo. Uruguay. e-mail mazzara@iie.edu.uy RESUMEN. Una

Más detalles

Diseño de Sistemas Embebidos en FPGA Curso de Posgrado Facultad de Ciencias Exactas y Tecnología UNT.

Diseño de Sistemas Embebidos en FPGA Curso de Posgrado Facultad de Ciencias Exactas y Tecnología UNT. Tema 1 Parte 1: Clasificación de circuitos digitales Parte 2: Lenguajes de descripción de Hardware Parte 1. Introducción Circuitos Integrados: Microelectrónica Área de la electrónica aplicada Estudio de

Más detalles

Arquitectura de Computadoras Practica No. 1 Circuitos Secuenciales

Arquitectura de Computadoras Practica No. 1 Circuitos Secuenciales Arquitectura de Computadoras Practica No. 1 Circuitos Secuenciales Objetivo: Conocer la estructura y características de la tarjeta de los dispositivos lógicos programables que se dispone en el laboratorio,

Más detalles

Arquitectura de Computadores. Práctica 1: Diseño Hardware de Procesadores. Práctica 1/1

Arquitectura de Computadores. Práctica 1: Diseño Hardware de Procesadores. Práctica 1/1 Arquitectura de Computadores Práctica 1: Diseño Hardware de Procesadores Práctica 1/1 Práctica 1 Ejercicio 1: Modelado VHDL de la etapa IF en el procesador DLX32 Ejercicio 2: Ampliación Y Especialización

Más detalles

Ejemplo básico de descripción VHDL

Ejemplo básico de descripción VHDL Ejemplo básico de descripción VHDL Describir en VHDL un circuito que multiplexe dos líneas (a y b) de un bit, a una sola línea (salida) también de un bit; la señal selec sirve para indicar que a la salida

Más detalles

Síntesis arquitectónica y de alto nivel

Síntesis arquitectónica y de alto nivel Síntesis arquitectónica y de alto nivel Módulo 1. Concepto y fases de la Síntesis de Alto Nivel 1 Diseño de circuitos: la complejidad Tratamiento de problemas de complejidad creciente Rápido desarrollo

Más detalles

INGENIERÍA DE COMPUTADORES 3. Solución al Trabajo Práctico - Junio de 2013

INGENIERÍA DE COMPUTADORES 3. Solución al Trabajo Práctico - Junio de 2013 Solución al Trabajo Práctico - Junio de 2013 EJERCICIO 1 En la Figura 1.1 se muestra el símbolo lógico de un circuito digital cuya función es encender una luz de aviso de un coche. Este circuito enciende

Más detalles

Introducción n al diseño lógico con VHDL

Introducción n al diseño lógico con VHDL Seminario de extensión de la cátedra de Introducción a los Sistemas Lógicos y Digitales Introducción n al diseño lógico con VHDL Sergio Noriega 13 de Noviembre del 2008 VHDL : Very High Speed Integrated

Más detalles

Introducción a los lenguajes de descripción hardware de alto nivel. M. Margarita Pérez Castellanos

Introducción a los lenguajes de descripción hardware de alto nivel. M. Margarita Pérez Castellanos SISTEMAS DIGITALES TEMA 2: Introducción a los lenguajes de descripción hardware de alto nivel 1 ÍNDICE 1. Introducción al lenguaje de descripción hardware VHDL.(3-10) 2. Señales y su caracterización.(11-16)

Más detalles

3 - DISEÑO RTL. Existen dos tipos de descripciones a nivel de comportamiento en Verilog:

3 - DISEÑO RTL. Existen dos tipos de descripciones a nivel de comportamiento en Verilog: 3 - DISEÑO RTL Un diseño a nivel funcional o de comportamiento (behavioral description) permite describir circuitos digitales atendiendo únicamente a las relaciones existentes entre las entradas y salidas

Más detalles

FPGAs. Susana Borromeo Área de Tecnología Electrónica. Diseño de Sistemas Electrónicos. 2014/2015. Metodología de Diseño. Características generales

FPGAs. Susana Borromeo Área de Tecnología Electrónica. Diseño de Sistemas Electrónicos. 2014/2015. Metodología de Diseño. Características generales FPGAs Susana Borromeo Área de Tecnología Electrónica Esquema Conceptos generales Dispositivos Lógicos Programables FPGAs Metodología de Diseño VHDL Características generales VHDL Comportamental y Estructural

Más detalles