Departamento de Sistemas e Informática. Digital II - ECA VHDL. Very High speed integrated circuit Hardware Description Language.
|
|
- Samuel Roldán Quiroga
- hace 6 años
- Vistas:
Transcripción
1 Departamento de Sistemas e Informática Digital II - ECA VHDL Very High speed integrated circuit Hardware Description Language Rosa Corti 2015
2 Contenido Lógica programable - Dispositivos FPGA Lenguaje VHDL: Evolución y características Unidades de diseño: Entidad y Arquitectura Objetos VHDL: señales Tipos de datos Bibliotecas usuales Descripción de circuitos combinacionales Sentencias de asignación concurrente Ejemplos Descripción de circuitos secuenciales El bloque Process Representación de la señal de reloj Sentencias algorítmicas Ejemplos Resolución de señales
3 Evolución de metodologías y dispositivos La electrónica digital ha incrementado sus áreas de aplicación y la complejidad de los sistemas que se pueden implementar Niveles de integración Metodologías de diseño Ambientes de diseño EDA 3
4 Dispositivos de lógica programable. Primera generación PLA PLA (Programmable Logic Array) PAL (Programmable Array Logic) GAL (Generic Array Logic) Segunda generación CPLD (Complex Programmable Logic Device ) Tercera generación FPGA (Field Programmable Gate Array) DIGITAL II 4
5 Qué es una FPGA? Dispositivo semiconductor basado en una matriz de bloques lógicos configurables, cuya interconexión es programable. El usuario puede reconfigurarla, para cumplir con requerimientos específicos. Dispositivo semiconductor cuya funcionalidad y características se pueden definir luego de fabricado e instalado, reconfigurando el hardware en el circuito integrado. 5
6 Esquema general de la arquitectura Paralelismo Flexibilidad 6
7 FPGA: Cómo cambiar la lógica? LUT s PLD convencionales FPGA 7
8 Función lógica representada en el CLB 8
9 Elementos básicos de la FPGA Multiplexor Registro (FF) LUT (Look Up Table) Celdas o bloques lógicos (CLB) Distintos usos: Representar funciones lógicas Memoria distribuida en el chip Registros de 16 posiciones 9
10 Configuración de una FPGA: BITSTREAM Los bits permanecen en el dispositivo que se configura Un bit de configuración controla un switch de conexión o un bit de lógica 10
11 Programación de un dispositivo µp FPGA Se cambian las instrucciones Se cambian las conexiones y las funciones lógicas Cambia el Software Cambia el Hardware 11
12 FPGA: Aspectos importantes Prototipado rápido y simple Flexibilidad Desarrollo tolerante a fallas Mantenimiento y actualización de los diseños Reducción del tiempo de puesta en el mercado de los productos Mantenimiento a largo plazo de las aplicaciones Velocidad Arquitectura paralela Alta capacidad de procesamiento Implementación de SoC 12
13 Dominios de aplicación El procesamiento digital de señales (DSP) es su principal aplicación Fuente: Genera (2008) Sistemas de visión artificial Sistemas de imágenes médicas Codificación y encriptación Reconocimiento de voz Radioastronomía Aeronáutica y defensa 13
14 Fabricantes y participación en el mercado Volumen del mercado global FPGA: US$5.4 billion en 2013, US$9.9 billion en 2020 (TABB Group - abril 2015) Fuente: High Tech Marketing (2011)
15 1 Precios de dispositivos 05/06/
16 Diseño digital CI de gran nivel de integración Nuevas metodologías para manejar la complejidad creciente de los diseños Un lenguaje permite la edición más rápida y sencilla Una descripción con esquemas resulta más fácil de entender 16
17 Nivel RT: Ingreso del diseño (Digital II) Descripción por esquemas Descripción VHDL Descripción mixta 17
18 Lenguajes de descripción de HW Lenguajes de Descripción de Hardware (HDL) Permiten descripciones de alto nivel La edición es rápida y sencilla Soportados por herramientas EDA Las herramientas EDA permiten integrar distintos estilos de diseño 18
19 VHDL: Antecedentes históricos Necesidad de estandarizar los diseños DoD +IEEE Patrocinan el desarrollo en los 80 s Es estándar de IEEE en 1987 VHDL-87 El estándar se amplía en 1993 VHDL-93 Se realizaron modificaciones al estándar en 2001 y 2008 Existen otros HDL populares como ABEL y VERILOG 19
20 VHDL: Evolución Se inicia como un leguaje de modelado y especificación. Ligado a actividades de Documentación Simulación Luego se incorporan herramientas de síntesis capaces de manejar este tipo de descripciones Ambientes integrados de diseño 20
21 Flujo de diseño VHDL orientado a FPGA Análisis Código Síntesis Simulación funcional Mapeo, rutas y ubicación Simulación post PAR Bitstream 21
22 VHDL Construcciones básicas
23 VHDL: Características Independencia tecnológica Portabilidad Lenguaje de alto nivel Organización del diseño Reutilización de diseños Control de flujo Se está describiendo HW!! Uso de componentes Situaciones físicas en un circuito Comportamiento paralelo Es un diseño y no un programa 23
24 VHDL: Unidades de diseño básicas Componentes Entidad Dispositivo VHDL Arquitectura Declaración de I/O Descripción comportamental Caja negra Caja blanca 24
25 Descripción de un dispositivo VHDL Diseño VHDL Entidad Archivo de texto library IEEE; use IEEE.std_logic_1164.all; entity Puerta is port (A, B:in std_logic_vector (3 downto 0); C: out std_logic_vector (3 downto 0) ); end Puerta; architecture Behavioral of Puerta is begin C <= A and B; end Behavioral; Arquitectura AND 25
26 Bibliotecas y unidades de diseño Modelo VHDL Bibliotecas VHDL Compuesto por unidades de diseño Colecciones de unidades de diseño Secciones mínimas de código compilables en forma independiente Organizan el código Promueven el reuso 26
27 Unidades de diseño VHDL Entidad Arquitectura Componentes Configuración Declaración Cuerpo Paquetes Se almacenan en bibliotecas (lenguaje y usuario) Tienen relación jerárquica entre ellas Tipos de datos Constantes Componentes Subprogramas.. 27
28 Unidades de diseño: Entidad library IEEE; use IEEE.std_logic_1164.all; Declaración de bibliotecas Visibilidad de paquetes entity Puerta is port ( A, B:in std_logic_vector (3 downto 0); C: out std_logic_vector (3 downto 0) ); end Puerta; Declaración de puertos INTERFAZ Da nombre al módulo y define su conexión con el exterior 28
29 Puertos de la entidad port (nombre_señal : modo tipo_señal) ; Modo Define cómo se lo utiliza in: Entrada, se lee. No se le puede asignar valor. out: Salida, se le asigna valor. No se puede leer. inout: Entrada / Salida. CUIDADO!! buffer: Salida / Puede ser usado en el sistema (leído). Tipo Define los valores y operaciones legales Los puertos de una entidad son señales 29
30 Objetos VHDL: señales a b c nc x s nd d SEÑALES Modelan hilos de un circuito 30
31 Objetos VHDL Un objeto en VHDL es un elemento que contiene información de un tipo específico de datos. Señales Constantes Variables VHDL es un lenguaje fuertemente tipado. 31
32 VHDL: Tipos de datos Un tipo de datos define los valores legales y los operadores aplicables para los objetos de ese tipo. Tipos de datos escalares Tipos de datos compuestos No hay tipos propios del lenguaje, existen tipos predefinidos Sus valores constituyen una unidad indivisible Sus valores pueden dividirse en unidades atómicas más pequeñas Bibliotecas del sistema Se pueden definir tipos de datos en forma sencilla 32
33 VHDL: Tipos de datos Tipos de datos predefinidos Biblioteca Standard (STD) Escalares BIT BOOLEAN INTEGER REAL Orientados a síntesis Compuestos Bit_vector (n-1 downto 0) Es un arreglo de n bits Modela buses 33
34 Datos predefinidos: Ejemplos Signal valor: integer range 0 to 255; valor <= 128; Declaración Asignación Signal Bus1, Bus2: Bit_vector (7 downto 0); Bus1 <= ; Bus2 <= 11 & Bus1(6 downto 1); Declaración Asignación Operador concatenación 34
35 Datos definidos por el usuaro: Ejemplos Escalar enumerado Type desplazamiento is (arriba, abajo, izquierda, derecha); Signal puntero: desplazamiento; Puntero <= arriba; Compuesto Type memoria is array ( 0 to 63) of std_logic_vector(15 downto 0); Signal MiMem: memoria; Mimem (15) <= (others => 1 ); Mimen (7) <= ; 35
36 VHDL: Tipos de datos Para representar situaciones reales en los circuitos, la IEEE definió dos tipos de datos multivaluados orientados a síntesis Std_logic Std_logic_vector (n-1 downto 0) Modela líneas (escalar) Modela buses (enumerado) Los valores posibles en síntesis para un objeto de estos tipos son: 0 valor bajo 1 valor alto Z alta impedancia Biblioteca: IEEE Paquete: std_logic_
37 VHDL: Descripción de un circuito library IEEE; use IEEE.std_logic_1164.all; entity circuito is port ( a, b, c, d: in std_logic; s: out std_logic ); end; architecture arch_flu of circuito is signal nc, nd, x: std_logic; begin nc <= not c; nd <= not d; x <= b and nc and nd ; s <= a or x; end arch_flu; a b c d Interface del componente nc nd Cada sentencia VHDL describe un bloque HW x s 37
38 Unidades de diseño: Arquitectura architecture arch_flu of Circuito is signal nc, nd, x: std_logic; begin nc <= not c; nd <= not d; x <= b and nc and nd ; s <= a or x; end arch_flu; Se ligan arquitectura y entidad Declaración objetos utilizados Descripción de la funcionalidad del módulo a b Descripción de flujo de datos c nc x s Descripción algorítmica Descripción estructural d nd 38
39 VHDL Descripción de circuitos combinacionales
40 Descripción en flujo de datos: Sentencias Asignación concurrente de señal Salida <= (a or b) and c; Asignación condicional: WHEN ELSE Salida <= a when cond = 011 else b when cond < 010 else c; Prioridad explícita entre las opciones Se pueden usar varias expresiones booleanas distintas La última opción de la sentencia es sin condición 40
41 Descripción en flujo de datos: Sentencias Asignación con selección: WITH SELECT WHEN with sel select salida <= a when 00, b when 01, c when 11, d when others; Las opciones no tienen una prioridad explícita entre ellas La expresión de selección es única y todos sus valores deben estar listados en las cláusulas mutuamente excluyentes Multiplexores 41
42 Descripción de Codificadores Lógica negativa library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity Cod_7seg is port ( HEX : in std_logic_vector( 3 downto 0); LED:out in std_logic_vector( 6 downto 0)); end; architecture Behavioral of Cod_7seg is begin with HEX select LED <= " " when "0001", --1 " " when "0010", --2 " " when "0011", --3 " " when"0100", --4 " " when "0101", --5 " " when "0110", --6 " " when "0111", --7 " " when "1000", --8 " " when "1001", --9 " " when "1010", --A " " when "1011", --b " " when "1100", --C end; " " when "1101", --d " " when "1110", --E " " when "1111", --F " " when others;
43 Descripción de una memoria ROM architecture behavioral of MROM is type mem is array ( 0 to 15) of std_logic_vector(7 downto 0); signal mi_rom : mem; begin mi_rom <= ( 0 => " ", 1 => " ", 2 => " ", 3 => " ", 4 => " ", 5 => " ", 6 => " ", 7 => " ", others => " "); library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity MROM is port ( dir : in std_logic_vector(3 downto 0); datos : out std_logic_vector(7 downto 0) ); end MROM; Tipo de datos del usuario datos <= Mi_rom (CONV_INTEGER(dir)); end behavioral; Esquemático RTL 43
44 VHDL: Operadores usados en Digital II Lógicos Relacionales Existe una gran cantidad de operadores definidos para distintos tipos de datos Aritméticos Concatenación Sólo un subconjunto está orientado a síntesis 44
45 VHDL: Operadores usados en Digital II Lógicos and, or, nor, xor, not Definidos para: bit, bit_vector, std_logic, std_logic_vector, boolean Los operandos deben ser del mismo tipo y tener la misma cantidad de bits signal A, B, C, D: std_logic_vector (7 downto 0); A <= ; Ejemplos B <= ; C <= A or B; ( ) D <= A and B; ( ) 45
46 VHDL: Operadores usados en Digital II Relacionales = (igual) /= (distinto) < (menor) <= (menor o igual) > (mayor) >= (mayor o igual) Definidos para: bit, bit_vector, std_logic, std_logic_vector, boolean, integer Los operandos deben ser del mismo tipo y pueden tener distinta cantidad de bits Las comparación de dos vectores, se realiza bit a bit alineando ambas tiras de dígitos a partir del MSB de cada una. Cuidado!!! 46
47 VHDL: Operadores relacionales Comparación de vectores de distinta cantidad de bits signal A : std_logic_vector (7 downto 0); signal B : std_logic_vector (3 downto 0); A <= ; B <= 0110 A > B? NO!! 47
48 VHDL: Operadores relacionales Comparación de vectores Cómo se interpreta la tira de dígitos de std_logic_vector? signal A : std_logic_vector (3 downto 0); A <= 1010 ; A es igual a 10 o a -6? 48
49 Interpretación de std_logic_vector La interpretación que se da a los datos std_logic_vector depende de los paquetes que se incluyan en el diseño Desarrollados por Synopsis. Se distribuyen como parte de la biblioteca IEEE. STD_LOGIC_ARITH STD_LOGIC_UNSIGNED STD_LOGIC_SIGNED Los incorporan muchos de los ambientes de diseño Se instalaron como un estándar de facto 49
50 Interpretación de std_logic_vector library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_SIGNED.all; STD_LOGIC_VECTOR se interpreta como entero en C2 use IEEE.STD_LOGIC_UNSIGNED.all; STD_LOGIC_VECTOR se interpreta como entero sin signo 50
51 Interpretación de std_logic_vector Paquete NUMERIC_STD (IEEE): Define los tipos signed y unsigned y operaciones aritméticas. Define funciones de conversión entre signed, unsigned, integer y std_logic_vector. Se opera con datos signed o unsigned y luego se usa un cast para convertirlos a std_logic_vector. Para darle visibilidad: library IEEE; use IEEE.NUMERIC_STD.all; 51 Se recomienda incorporarlo para desarrollos futuros
52 VHDL: Operadores de comparación Ejemplo de comparación de vectores signal A :std_logic_vector (3 downto 0); signal B :std_logic_vector (3 downto 0); signal COMP: boolean; A <= 0110 ; B <= 1000 ; COMP <= A > B; COMP verdadero si se incluyó el paquete SIGNED COMP será falso si se incluyó el paquete UNSIGNED 52
53 VHDL: Comparador sin signo library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity compara is port ( a : in std_logic_vector(3 downto 0); b : in std_logic_vector(3 downto 0); mayor: out std_logic); end compara; architecture Behavioral of compara is begin mayor <= '1' when a > b else '0'; end Behavioral; 53
54 VHDL: Comparador sin signo Circuito RTL inferido por el ambiente Simulación del modelo 54
55 VHDL: Comparador en C2 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_SIGNED.ALL; entity comparasig is port ( a : in std_logic_vector(3 downto 0); b : in std_logic_vector(3 downto 0); mayor: out std_logic); end comparasig; architecture Behavioral of comparasig is begin mayor <= '1' when a > b else '0'; end Behavioral; 55
56 VHDL: Comparador en C2 Simulación del modelo Circuito RTL inferido por el ambiente 56
57 VHDL: Operadores usados en Digital II Aritméticos + (suma) - (resta) Definidos para datos enteros (integer) Se pueden utilizar con vectores std_logic_vector Se debe incluir el paquete correspondiente (SIGNED o UNSIGNED) 57
58 VHDL: Operadores usados en Digital II Concatenación (&) Permite definir vectores a partir de líneas u otros vectores signal A :std_logic_vector (3 downto 0); signal B :std_logic_vector (3 downto 0); signal C: std_logic_vector (5 downto 0); A <= 0110 ; B <= 1000 ; C <= A(3 downto 1) & B(2 downto 0); C será
59 VHDL: Sumador / Restador en C2 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_SIGNED.ALL; entity SuRes is port ( a : in std_logic_vector(3 downto 0); b : in std_logic_vector(3 downto 0); sub : in std_logic; s : out std_logic_vector(4 downto 0)); end; architecture Behavioral of SuRes is begin s <= (a(3) & a) + b when sub = '0' else (a(3) & a) - b; end; Se incluye el paquete SIGNED Se previene OF definiendo la salida con un bit más Se completa formato con bit de signo 59
60 VHDL: Sumador / Restador en C2 60
61 VHDL: Sumador / Restador en C2 Simulación del modelo Al trabajar con un bit más en la salida, se previene el sobreflujo 61
62 VHDL: Sumadores/Restadores De acuerdo con la representación de datos adoptada Incluir el paquete que corresponde Completar formato en forma adecuada Si el tamaño de bus está acotado y se requiere detectar OF Se debe agregar en la descripción del sumador 62
63 VHDL Descripción de circuitos secuenciales sincrónicos
64 Circuitos secuenciales sincrónicos Las salidas dependen del estado interno del sistema y, dependiendo del modelo, de las entradas. MOORE Interviene la señal de reloj 64
65 Descripción de un elemento de memoria library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity FF is port ( entrada: in std_logic; clk:in std_logic; salida: out std_logic); end; architecture Behavioral of FF is begin process (clk) begin if clk'event and clk = '1' then salida <= entrada ; end if; end process ; end; Lista de sensibilidad Descripción del flanco activo de reloj 65
66 Procesos y bloques secuenciales sincrónicos Lista de sensibilidad Activación del bloque PROCESS process (clk) begin if clk'event and clk = '1 then ; end if; end process ; Descripción del flanco activo de reloj En simulación, cada vez que cambia alguna de las señales se ejecuta el bloque SIMULADOR: El bloque es una sentencia concurrente Las sentencias internas se ejecutan secuencialmente 66
67 Circuitos secuenciales sincrónicos Se describen circuitos temporizados Es necesario reconocer un flanco activo de reloj. clk event and clk = 1 (rising_edge(clk)) Atributo event de la señal de reloj Función que recibe el reloj como argumento Expresiones reconocidas por XST para describir un flanco ascendente de reloj 67
68 El bloque process Es una construcción de un mayor de abstracción Su uso está ligado a un tipo de descripción ALGORITMICA Permite otros elementos sintácticos Condicionales Selección Bucles Están ligados a una descripción de más alto nivel 68
69 Simulación de un FFD El simulador adecúa las ondas, respetando el sincronismo 69
70 El bloque process: Elementos sintácticos Sentencia condicional IF...THEN...ELSE if condición then sentencias elsif condición then sentencias else sentencias end if ; Esta estructura puede anidarse Modela una selección jerárquica. elsif y else son optativas. Si no se contemplan todas las posibilidades, se infiere almacenamiento. Indicada para describir las señales de control de bloques secuenciales sincrónicos 70
71 Procesos y circuitos combinacionales Sentencia condicional IF...THEN...ELSE process ( a, b, c ) begin if a > b then p <= b; elsif a > c then p <= c; elsif (a = c and c = b) then p <= a; else p <= 0 ; end if ; end process ; p < = b when a > b else c when a > c else a when (a = c and c = b) else 0 ; Con asignación concurrente La lista sensible debe incluir todas las señales cuyo cambio es importante. 71
72 El bloque process: Elementos sintácticos Sentencia de selección CASE case expresión is when caso1 = > instrucciones when caso2 = > instrucciones when others = > instrucciones end case ; a b case sel is when 10 = > s <= a; when 00 = > s <= b; when 01 => s <= c; when others = > s <= d; end case ; c d MUX Sel (1:0) s La expresión de selección debe ser discreta. No puede haber casos duplicados. Se deben cubrir todas las opciones de selección. 72
73 Procesos y circuitos combinacionales Sentencia de selección CASE case sel is when 10 = > s <= a; when 00 = > s <= b; when 01 => s <= c; when others = > s <= d; end case ; a b c d with sel select s <= a when 10, b when 00, c when 01, d when others; MUX Sel (1:0) Con asignación concurrente s La expresión de selección debe ser discreta. No puede haber casos duplicados. Se deben cubrir todas las opciones de selección. 73
74 Modelado y simulación de la concurrencia Se modela HARDWARE usando SOFTWARE Concurrente Secuencial C F Las puertas deben funcionar al mismo tiempo!! B A E No se puede modelar y simular en un lenguaje convencional 74
75 VHDL: Simulación de la concurrencia library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity SimCon is port ( a,b,c : in std_logic; e,f : out std_logic); end ; architecture Behavioral of SimCon is begin e<= a and b; f<= b or c; end ; Cada vez que se presenta un evento Las señales se actualizan luego de que el simulador procesa una sentencia concurrente.
76 Procesos y simulación: Lista de sensibilidad Qué se debe incluir en la lista de sensibilidad? Todas las señales cuyo cambio es importante!! Circuito combinacional process (a,b,sel) Circuito secuencial sincrónico process (clk, reset) Todas las señales que definen valores El reloj si todas las señales de control son sincrónicas El reset asincrónico si existe 76
77 Descripción de un registro de desplazamiento library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; --Registro con reset sincrónico, carga paralela y --desplazamiento a la izquierda, prioridades en ese orden. entity regis is port ( din: in STD_LOGIC_VECTOR (3 downto 0); clk: in STD_LOGIC; r, l, shl: in STD_LOGIC; sli: in STD_LOGIC; dout: out std_logic_vector (3 downto 0) ); end regis; 77
78 Registro de desplazamiento: Continuación architecture register_arch of regis is begin Todas las señales de control son sincrónicas process (clk) variable bout : std_logic_vector (3 downto 0); Local al proceso begin if ( clk'event and clk = '1') then if r = 1 then bout := (others => 0 ); elsif l = 1 then bout := din; elsif shl ='1' then bout := bout (2 downto 0) & sli; end if; end if; dout <= bout; end process; end register_arch; Flanco ascendente del reloj. Operador de concatenación 78
79 El bloque process y las variables No tienen significado físico Deben ser declaradas dentro del proceso y son locales a él. Su asignación es inmediata pero secuencial, al estar en distintas sentencias en el proceso. Deben tener un valor asignado antes de utilizarlas. El orden de las sentencias es importante a := b or c; d := e and a;
80 Variables vs. Señales Señales Variables Sintaxis destino<= fuente destino:= fuente Utilidad Visibilidad Modelan nodos físicos del circuito Global (comunicación entre procesos) Representan almacenamiento local Local (dentro del proceso) Comportamiento Se actualizan al avanzar el tiempo (suspensión proceso) Se actualizan inmediatamente
81 Registro de desplazamiento: Continuación 81
82 Descripción de un contador binario library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; -- Contador de 8 bits con reset asincrónico carga paralela y -- habilitación de cuenta, con prioridades en ese orden. -- La salida tc indica cuenta máxima. entity contador is port ( din: in STD_LOGIC_VECTOR (7 downto 0); clk: in STD_LOGIC; r, l, en: in STD_LOGIC; tc: out STD_LOGIC; cuenta: out std_logic_vector (7 downto 0) ); end contador; 82
83 Contador binario: Continuación architecture contador_arch of contador is signal bout : std_logic_vector (7 downto 0); begin process (clk, r) begin if r = 1' then bout <= (others => '0'); elsif ( clk'event and clk = '1') then if l = '1' then bout <= din; elsif en = '1' then bout <= bout +1; end if; end if; end process; cuenta <= bout; tc <= '1' when bout = else '0'; end contador_arch; El reset es asincrónico En la misma arquitectura coexisten distintos estilos de descripción 83
84 Contador binario: Continuación Contador con carga paralela, reset asincrónico y habilitación de cuenta Esquemático inferido por el ambiente 84
85 Circuito ejemplo: Interfaz El subproceso View schematic RTL muestra la interfaz del módulo y los componentes que el sintetizador infiere a partir de la descripción VHDL Módulo1 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_SIGNED.ALL; entity modulo1 is Port ( a : in STD_LOGIC_VECTOR (3 downto 0); clk : in STD_LOGIC; r : in STD_LOGIC; v: out STD_LOGIC; s : out STD_LOGIC_VECTOR (4 downto 0)); end modulo1; 85
86 Circuito ejemplo: funcionamiento Señales internas Registro con reset asincrónico Contador con reset asincrónico Descripción de las salidas architecture Behavioral of modulo1 is signal cuenta:std_logic_vector (1 downto 0); signal registro: STD_LOGIC_VECTOR (3 downto 0);; begin process (clk,r) begin if r = '1' then registro <= (others => '0'); elsif clk'event and clk = '1' then registro <= a; end if; end process; process (clk,r) begin if r = '1' then cuenta <= (others => '0'); elsif clk'event and clk = '1' then cuenta <= cuenta + 1; end if; end process; s <= a(3) & a + registro when cuenta = "11 else (others => '0'); v <= '0' when cuenta = "11" else '1'; end Behavioral; 86
87 Circuito ejemplo: RTL inferido en ISE 87
88 Ejemplo: Simulación comportamental Los estímulos cambian en el flanco descendente del reloj Los estímulos cambian en el flanco ascendente del reloj 88
89 VHDL Resolución de señales. Descripción de líneas y buses compartidos
90 VHDL: Resolución de señales 90
91 VHDL: Resolución de señales No se puede asignar valor a una señal en dos sentencias concurrentes diferentes Cómo se pueden describir estos circuitos??? 91
92 VHDL: Resolución de señales Descripción VHDL Tipos de datos resueltos Implementación HW Buffers de tres estados 92
93 Tipos std_ulogic y std_logic Ambos tipos de datos pueden tomar 9 valores diferentes fuerte fuerte Z -- alta impedancia - tres estados U -- no inicializado X -- valor desconocido fuerte (conflicto entre val. fuertes) W --valor desconocido débil (conflicto entre val. débiles) L --0 débil H --1 débil - --sin importancia (don t care) 93
94 Tipos std_ulogic y std_logic Ambos tipos de datos pueden asumir los mismos valores En qué se diferencian??? Std_logic agrega a Std_ulogic una FUNCIÓN DE RESOLUCIÓN que plasma un modelo capaz de resolver conflictos entre señales 94
95 Modelo de resolución de señales Basado en fuerzas y valores lógicos. Niveles lógicos básicos: 0; 1; L y H. Las fuerzas pueden ser S, R y Z. El estado de una línea en un momento dado es la combinación de una fuerza y un nivel lógico. 95
96 Modelo de resolución de señales En una contención (dos señales compiten por tomar control sobre una línea) Se evalúa el valor de la fuerza (S>R>Z). La línea toma la fuerza y valor lógico de la señal ganadora. Si las fuerzas son iguales, se evalúa el valor lógico, si son iguales, la línea toma el valor de cualquiera de ellos. Si son valores lógicos distintos, la línea resulta X ó W según corresponda 96
97 Función de resolución en std_logic 0 1 H L Z 0 0 X X H 0 1 H W H L 0 1 W L L Z 0 1 H L Z 97
98 Buffer de tres estados Y HAB. Hab Y ent 0 Z 1 ent Es un componente HW que al estar deshabilitado, entrega un nivel de alta impedancia como salida Permite que varios módulos compartan líneas o buses tomando control sobre los mismos según un esquema de acceso 98
99 VHDL: Buffer de 3 estados BufT BufT 07/09/
100 VHDL: Buffer de 3 estados 100
101 VHDL: Buffer de 3 estados hab_1 O HAB. aux1 aux2 HAB. hab_2 101
102 VHDL: Buffer de 3 estados En síntesis XST detecta la descripción de un buffer T o de dos buffers T Spartan3 Buffers T sólo disponibles en los bloques IO En las descripciones del ejemplo hay un solo pad de salida Al mapear se utiliza un solo buffer conectado al puerto Se completa con lógica 102
103 Buffer de 3 estados: Ejemplo Registro Reset asincrónico prioritario Carga paralela sincrónica Contador Bus DaIO Reset asincrónico prioritario Carga paralela sincrónica Si no resetea ni carga, cuenta up Si ER = 1 toma control el Registro Si EC = 1 toma control el Contador 103
104 Buffer de 3 estados: Ejemplo Definición de la interfaz RTL TOP library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Sistema1 is Port ( lr,lc : in std_logic; -- señales de carga paralela r,clk : in std_logic; er,ec : in std_logic; -- Habilitaciones bloques daio : inout std_logic_vector(3 downto 0)); -- bus I/O end ; 104
105 Buffer de 3 estados: Ejemplo architecture Behavioral of Sistema1 is signal rega, cuenta:std_logic_vector(3 downto 0); -- Registro y contador begin process (clk,r) -- Descripción registro begin if r = '1' then rega<= (others => '0'); elsif clk = '1' and clk'event then if lr = '1' then rega <= daio; end if; end if; end process; process (clk,r) -- Descripción Contador begin if r = '1' then cuenta <= (others => '0'); elsif clk'event and clk = '1' then if lc = '1' then cuenta <= daio; else cuenta <= cuenta +1; end if; end if; end process; 07/09/
106 Buffer de 3 estados: Ejemplo Los Buffers T trabajan con lógica negativa -- ======= Inicio bus io de 3 estados ====== -- Con 1 buffer T (4 lineas), quitar comentario a: -- daio <= rega when er ='1' else cuenta when ec = '1'else (others => 'Z'); -- Con 2 buffer T (4 lineas c/u), quitar comentario: daio <= rega when er ='1' else (others =>'Z'); daio <= cuenta when ec = '1' else (others =>'Z'); -- ======== Fin bus io de 3 estados ======= end Behavioral; 106
107 Preguntas?
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 detallesObjetos 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 detallesObjetos 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 detallesIntroducció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 detallesLenguaje 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 detallesSistemas 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 detallesJulio. [ 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 detallesPlanificaciones 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 detallesTipos 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 detallesVHDL. 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 detallesTema 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 detallesMAQUINA 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 detallesDISEÑ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 detallesDiseñ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 detallesVHDL. 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 detallesSesió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 detallesUNIVERSIDAD 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 detallesElectró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 detallesDESCRIPCIÓ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 detallesPrá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 detallesTema 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 detallesPARTE 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 detallesPRÁ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 detallesTEMA 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 detallesINTRODUCCIÓN A LOS CIRCUITOS INTEGRADOS
INTRODUCCIÓN A LOS CIRCUITOS INTEGRADOS Luis Entrena Arrontes Celia López Mario García Enrique San Millán Marta Portela Almudena Lindoso 1 Índice 1.1 Los circuitos integrados. Ventajas e inconvenientes
Más detallesObjetivos. Instituto Tecnológico de Costa Rica Escuela de Ingeniería Electrónica I SEMESTRE 2007. Contenido del Curso EL FLUJO DE DISEÑO O DIGITAL
Objetivos OBJETIVO GENERAL Laboratorio de Diseño o de Sistemas Digitales EL-3312 Diseñar, simular, sintetizar e implementar sistemas digitales usando lenguajes de alto nivel para la descripción de hardware
Más detallesVHDL. 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 detallesBENEMÉ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 detallesCIRCUITOS MULTIPLEXORES Y DEMULTIPLEXORES
Oscar Ignacio Botero Henao. CIRCUITOS MULTIPLEXORES Y DEMULTIPLEXORES MULTIPLEXOR (MUX) Un Multiplexor (MUX) es un circuito combinacional al que entran varios canales de datos, y sólo salen los datos del
Más detallesSistemas Combinacionales y mas Verilog. Diseño de Sistemas con FPGA Patricia Borensztejn
Sistemas Combinacionales y mas Verilog Diseño de Sistemas con FPGA Patricia Borensztejn Verilog para síntesis Circuitos Combinacionales a nivel RT Tipos de Datos en Verilog Dos tipos de datos: Net: representan
Más detallesGUÍ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 detallesArquitectura 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 detallesCapí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 detallesVHDL 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 detallesMemorias ROM: FPGA-VHDL Cómo???
Memorias ROM: FPGA-VHDL Cómo??? Nota Técnica 03 Cristian Sisterna Introducción Básicamente hay dos formas de que una memoria ROM sea implementada en un FPGA a partir del código VHDL: - Deduciendo la memoria
Más detallesSesió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 detalles1. Módulo de desarrollo Spartan 3 STARTER KIT con un FPGA xc3s200 ft256 2. Software de diseño XILINX ISE versión 10.1
Universidad Simón Bolívar Departamento de Electrónica y Circuitos EC1723, Circuitos Digitales Trimestre Septiembre-Diciembre 2008 Realización: Semana 8. Miércoles 5 de Noviembre Laboratorio Práctica 4:
Más detallesManual de referencia de la tarjeta BASYS 2
Universidad Politécnica de Madrid ETSI de Telecomunicación Departamento de Ingeniería Electrónica Circuitos Electrónicos (Plan 2010) Curso 2012-2013 Manual de referencia de la tarjeta BASYS 2 Álvaro de
Más detallesSí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 detalles6. Codificadores. Electrónica Digital. Tema
6. Codificadores Un codificador realiza la función inversa al decodificador, es decir, al activarse una de las entradas, en la salida aparece la combinación binaria correspondiente al número decimal activado
Más detallesFPGAs. 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 detallesIEE 2712 Sistemas Digitales
IEE 2712 Sistemas Digitales Clase 6 Objetivos educacionales: 1. Saber aplicar el método de mapas de Karnaugh para 5 o más variables y para situaciones no-importa. 2. Conocer la implementación práctica
Más detallesGUÍA DOCENTE ELECTRÓNICA DIGITAL GRADO EN INGENIERÍA ELECTRÓNICA INDUSTRIAL Y AUTOMÁTICA
GUÍA DOCENTE 2014-2015 ELECTRÓNICA DIGITAL 1. Denominación de la asignatura: ELECTRÓNICA DIGITAL Titulación GRADO EN INGENIERÍA ELECTRÓNICA INDUSTRIAL Y AUTOMÁTICA Código 6413 2. Materia o módulo a la
Más detallesPractica 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 detallesTeoría de Diseño lógico
Teoría de Diseño lógico Diseño lógico EUI ULPGC Jose Torres 1 de 45 1. Dispositivos de lógica programable Son circuitos integrados cuyas funciones lógicas se pueden reprogramar, es decir, se puede modificar
Más detallesABSTRACCIONES 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 detallesPrá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 detallesDESCRIPCIÓ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 detallesCircuitos Electrónicos Digitales E.T.S.I. Telecomunicación Universidad Politécnica de Madrid. Descripciones funcionales y estructurales
Circuitos Electrónicos Digitales E.T.S.I. Telecomunicación Universidad Politécnica de Madrid Descripciones funcionales y estructurales Descripciones funcionales y estructurales. Introducción al lenguaje
Más detallesCONTADORES. Definición. Diseño y analisis de un contador binario hacia arriba de 3 bits con flip-flops JK. Otros contadores típicos.
CONTADORES Definición Diseño y analisis de un contador binario hacia arriba de 3 bits con flip-flops JK. Otros contadores típicos Descripción VHDL Ejercicios Definición Un contador es un circuito digital
Más detallesTema 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 detallesCAPITULO 5 GENERADOR DIGITAL DE TREN DE PULSOS PROGRAMABLE
CAPÍTULO B. GENERADOR DIGITAL DE TREN DE PULSOS PROGRAMABLE CAPITULO 5 GENERADOR DIGITAL DE TREN DE PULSOS PROGRAMABLE CONTENIDO 5.1 Introducción. 5.2 Diseño de un generador digital de tren de pulsos programable
Más detallesHardware Libre: Clasificación y desarrollo de hardware reconfigurable en entornos GNU/Linux
Hardware Libre: Clasificación y desarrollo de hardware reconfigurable en entornos GNU/Linux Iván González, Juan González, Francisco Gómez-Arribas Escuela Politécnica Superior Universidad Autónoma de Madrid
Más detallesEjemplo 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 detalles5. Decodificadores. Salida _1= A A A A = m = M ... Electrónica Digital. Tema
5. Decodificadores La función de un decodificador es la siguiente: ante una combinación concreta binaria de entrada (correspondiente a una combinación de algún código binario), activar una salida correspondiente
Más detalles^6+1 2^5+1 2^2+1 2^1+1 2^ ^6+1 2^0-65.
ELECTRÓNICA DIGITAL 23-I-2014 PREGUNTAS TEÓRICO PRÁCTICAS: 1. Determinar el valor decimal de los números expresados en Complemento a 2. (0.25 puntos). 10011001 10011000 01100111 1 2^6+1 2^5+1 2^2+1 2^1+1
Más detalles+ 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 detallesEL LENGUAJE VHDL CONCEPTOS BÁSICOS
EL LENGUAJE VHDL CONCEPTOS BÁSICOS Introducción Entidades y arquitecturas Sentencias y procesos Objetos Tipos de datos y operadores Autores: Luis Entrena Arrontes, Celia López, Mario García, Enrique San
Más detallesDiseño de Hardware con VHDL
Diseño de Hardware con VHDL Facultad de Ingeniería Laboratorio Electrónica Segundo Semestre, 2015 Field Programmable Gate Array (FPGA) De una manera superficial podemos decir que las FPGA son chips de
Más detallesVI. 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 detallesplacas de prototipado (i) Material docente en los laboratorios de la Facultad de Informática Diseño Automático de Sistemas
1 Material docente en los laboratorios de la Facultad de Informática Diseño Automático de Sistemas José Manuel Mendías Cuadros Dpto. Arquitectura de Computadores y Automática Universidad Complutense de
Más detallesIntroducció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 detallesLABORATORIO 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 detallesINTRODUCCIÓN AL SOFTWARE ISE (Integrated Software Environment) DE XILINX
INTRODUCCIÓN AL SOFTWARE ISE (Integrated Software Environment) DE XILINX Índice GUÍA DE INICIO AL SOFTWARE ISE DE XILINX... 1 1. Introducción... 1 2. Inicio del software ISE (Integrated Software Environment)
Más detallesUniversidad Autónoma de Querétaro Facultad de Ingeniería
Universidad Autónoma de Querétaro Facultad de Ingeniería Manual de Prácticas Sistemas Digitales con Lógica Reconfigurable (SDLRI) Que como parte de los requisitos para obtener el grado de Ingeniero en
Más detallesSimulació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 detalles4. 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 detallesmodule MUX_4_1 (Z, S1, S0, A3, A2, A1, A0); input S1, S0, A3, A2, A1, A0; output Z; wire W3, W2, W1, W0, NS1, NS0;
1 - INTRODUCCIÓN La creación de circuitos integrados utilizando herramientas CAD (Computer Aided Design) conlleva una serie secuencial de pasos, comenzando con el diseño de entrada y finalizando con la
Más detalles3.1 Introducción a VHDL
Capítulo 3 Implementación en VHDL A continuación se va a explicar brevemente el funcionamiento de VHDL y las componentes de programación para poder entender mejor el programa. Una vez explicado esto, se
Más detallesIntroducció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 detallesPrá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 detallesAsignatura: 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 detallesINGENIERÍ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 detallesSINTESIS Y DESCRIPCIÓN DE CIRCUITOS DIGITALES UTILIZANDO VHDL ANTECEDENTES
ANTECEDENTES En los últimos diez años la industria electrónica ha tenido una gran evolución en el desarrollo de sistemas digitales; desde computadoras personales, sistemas de audio y vídeo hasta dispositivos
Más detallesSimulació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 detallesElectrónica Digital. Actividad Dirigida. Implementación de un Cronómetro Digital
Electrónica Digital Actividad Dirigida Implementación de un Cronómetro Digital Trabajo a realizar La actividad consiste en la implementación de un cronómetro digital con capacidad de cuenta de minutos
Más detallesSesió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 detallesINTRODUCCIÓN A LOS VHDL. AUTOR: Cavallero, Rodolfo Antonio.
INTRODUCCIÓN A LOS VHDL AUTOR: Cavallero, Rodolfo Antonio. rcavallero@scdt.frc.utn.edu.ar INTRODUCCION El lenguaje de programación VHDL (Very High Speed Integrated Circuit Hardware Description Languaje)
Más detallesSistemas Digitales. Diseño lógico con Verilog. Sinopsis. Prólogo.
1 Sistemas Digitales. Diseño lógico con Verilog. Sinopsis. El texto está orientado a un primer curso de diseño lógico en programas de estudios de ingenieros eléctricos, electrónicos, telemáticos y de ciencias
Más detalles9. Dibujar el diagrama de tiempos de las siguientes asignaciones de señales.
Sistemas Digitales (66.17) Práctica 2 - VHDL 1. Crear un paquete de utilidades al cual se le vayan agregando todas las funciones, procedimientos y declaración de tipos, constantes, etc., que se creen en
Más detallesSumadores. 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 detallesPrograma de la asignatura Curso: 2007 / 2008 DISEÑO DE CIRCUITOS INTEGRADOS (3242)
Programa de la asignatura Curso: 2007 / 2008 DISEÑO DE CIRCUITOS INTEGRADOS (3242) PROFESORADO Profesor/es: MIGUEL ÁNGEL LOZANO PÉREZ - correo-e: telozano@ubu.es FICHA TÉCNICA Titulación: INGENIERÍA TÉCNICA
Más detallesFPGA: Herramientas de diseño
FPGA: Herramientas de diseño Proceso diseño Design and implement a simple unit permitting to speed up encryption with RC5-similar cipher with fixed key set on 8031 microcontroller. Unlike in the experiment
Más detallesLABORATORIO DE ARQUITECTURA DE COMPUTADORES. I. T. I. SISTEMAS / GESTIÓN GUÍA DEL ALUMNO
LABORATORIO DE ARQUITECTURA DE COMPUTADORES. I. T. I. SISTEMAS / GESTIÓN GUÍA DEL ALUMNO Práctica 3: Memorias Objetivos Comprender qué es y cómo funciona un banco de registros Comprender cómo se realiza
Más detallesLógica Programable -Introducción - Introducción n a los Sistemas Lógicos y Digitales 2008
-Introducción - Introducción n a los Sistemas Lógicos y Digitales 2008 Sergio Noriega Introducción a los Sistemas Lógicos y Digitales - 2008 Memorias Clasificación según acceso: Aleatorio Volátiles No
Más detallesLenguaje VHDL. Código para representar sistemas digitales en VHDL JJVS-09
Lenguaje VHDL Código para representar sistemas digitales en VHDL 1 Las secciones fundamentales que forman el código en VHDL son: librería (LIBRARY), entidad (ENTITY) y arquitectura (ARCHITECTURE). LIBRARY:
Más detallesDispositivos Lógicos Programables
Dispositivos Lógicos Programables Luis Entrena, Celia López, Mario García, Enrique San Millán Universidad Carlos III de Madrid 1 Indice Tecnologías de implementación de circuitos programables Circuitos
Más detallesDISEÑO DE PROCESADORES DEDICADOS. Práctica. No. 8 Circuitos de Barrido y Escaneo: Teclado Matricial de Propósito General y Matriz de LEDs
DISEÑO DE PROCESADORES DEDICADOS Práctica. No. 8 Circuitos de Barrido y Escaneo: Teclado Matricial de Propósito General y Matriz de LEDs DR. JUAN CARLOS HERRERA LOZADA jlozada@ipn.mx Instituto Politécnico
Más detallesDISEÑO DE SISTEMAS ELECTRÓNICOS DIGITALES AVANZADOS
Práctica 2 DISEÑO DE SISTEMAS ELECTRÓNICOS DIGITALES AVANZADOS Controlador de teclado Universidad de Alicante Curso 2013/14 Práctica 2 Práctica 2 Control del teclado 1. Introducción Esta práctica plantea
Más detallesElectrónica Digital. Fco. Javier Expósito, Manuel Arbelo, Pedro A. Hernández Dpto. de Física Fundamental y Experimental, Electrónica y Sistemas
Electrónica Digital Fco. Javier Expósito, Manuel Arbelo, Pedro A. Hernández 2001 Dpto. de Física Fundamental y Experimental, Electrónica y Sistemas UNIVERSIDAD DE LA LAGUNA ii ÍNDICE Lección 0. Introducción...1
Más detallesTema 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 detallesSistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria
1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo
Más detallesPrá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 detallesLaboratorio de Diseño de Sistemas Digitales
Proceso de Diseño Laboratorio de Diseño de Sistemas Digitales I Semestre 2008 Ing. Gabriela Ortiz L. Diseño Implementación Depuración Diseño: Concepto inicial. Cuál es la función que lleva a cabo el objeto?
Más detallesINDICE. XVII 0 Introducción 0.1. Historia de la computación
INDICE Prefacio XVII 0 Introducción 0.1. Historia de la computación 1 0.1.1. Los inicios: computadoras mecánicas 0.1.2. Primeras computadoras electrónicas 0.1.3. Las primeras cuatro generaciones de computadoras
Más detallesFundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)
Tags Fundamentos PHP La Sintaxis de PHP se deriva de muchos lenguajes de programación principalmente de C pero Perl también ha tenido mucha influencia en esta sintaxis Con las últimas incorporaciones agregadas,
Más detallesV. Elementos de la Arquitectura
V. Elementos de la Arquitectura 1 Tipos de Datos Todos los sistemas digitales manejan la información como bits o vectores de bits. Sin embargo no es posible ni conveniente usar sólo estos tipos para todos
Más detallesCi A B S Co 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1
SEMI-SUMDOR SUMNDOS SUM CRREO B S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 SUM BINRI B S = B S =. B SUMDOR TOTL Ejemplo de suma B Ci Ci 1 1 0 0 1 i 1 1 1 0 1 Bi 1 0 0 1 Si 1 0 0 1 1 0 Co 1 1 0 0 1 Σ S Co Ci B
Más detallesTEMA 11 MEMORIAS. CIRCUITOS LÓGICOS PROGRAMABLES
TEMA 11 MEMORIAS. CIRCUITOS LÓGICOS PROGRAMABLES 1 CLASIFICACIÓN SEGÚN SU TECNOLOGÍA 2 PARAMETROS FUNDAMENTALES DE LAS MEMORIAS Modo de acceso: Aleatorio (RAM, Random Access Memory) Serie Alterabilidad
Más detallesIntroducción al CAD-EDA. Evolución del diseño electrónico Modelado de sistemas Lenguajes de descripción de hardware Metodologías y flujos de diseño
Introducción al CAD-EDA Evolución del diseño electrónico Modelado de sistemas Lenguajes de descripción de hardware Metodologías y flujos de diseño EVOLUCIÓN DEL DISEÑO ELECTRÓNICO. Años 70: Tecnologías
Más detalles