Tipos de Datos en VHDL
|
|
|
- Trinidad Olivares Olivera
- hace 7 años
- Vistas:
Transcripción
1 Tipos de Datos en VHDL
2 Tipos de Datos Advertencia. Para escribir código VHDL en forma eficiente, es indispensable conocer los tipos de datos permitidos, como especificarlos y como usarlos. En VHDL los tipos de datos se dividen en dos categorías: Predefinidos. Los primeros son parte del estándar VHDL y están disponibles a través de las bibliotecas. Definidos por el usuario. Son creado por el usuario para manejar situaciones especiales.
3 Tipos de Datos VHDL incluye los siguientes tipos de datos: Tipos enumerados predefinidos Tipos enumerados definidos por el usuario Tipos de vector de bits Tipos de enteros Tipos de arreglos multidimensionales Tipos de registros
4 Clasificaciones Para ayudar a visualizar la naturaleza y alcance de los tipos de datos, estos se clasifican de varias formas: Fuente de la declaración. Predefinidos. Definidos en el estándar. Definidos por el usuario. Creados por el usuario. Acorde a la naturaleza de sus elementos Tipos numéricos: enteros, punto fijo y punto flotante.
5 Clasificaciones Acorde al número de elementos Escalar. Un solo elemento (cualquier tipo de dato). Compuesto. Esta categoría incluye dos categorías llamadas array (colección de elementos de un mismo tipo de dato) y record (colección de escalares y/o arreglos de elementos que pueden ser de diferentes tipos de datos). Acorde al número de bits Escalar. Un solo bit. 1D array. Un vector de bits. Ejemplos: 01000, ZZ, 255, A.!D x 1D array. Un pila de vectores de bit. Ejemplo: ( 0000, 0111 ).
6 Clasificaciones 2D array. Una matriz de bits. Ejemplo: (( 0, 1, 0 ),( 0, 0, 0 ),( Z, 1, Z ). 1D x 1D x 1D. Un bloque de vectores. 3D array. Un bloque de bits. escalar 1D 1D x 1D 2D 1D x 1D x1d 3D
7 Clasificaciones Acorde al paquete de origin Tipos estándar. Paquete standard de la biblioteca std. Tipo estándar-lógico. Paquete std_logic_1164 de la biblioteca ieee. Tipo con signo/sin signo. Paquete numeric_std de la biblioteca ieee o paquete std_logic_arith. Tipo punto fijo/punto flotante. Paquete fixed_pkg y float_pkg.
8 Tipos de Datos Estándar Los siguientes tipos de datos son sintetizables y están incluidos en el paquete standard. BIT. Es un tipo enumerado de dos valores: 0 (cero lógico) y 1 (uno lógico). Soporta operaciones lógicas y de comparación. En términos de números de bits es un escalar. Su definición es la siguiente TYPE BIT IS ( 0, 1 ); Ejemplo SIGNAL a, x, y: BIT; X <= 1 ; Y <= NOT a;
9 Tipos de Datos Estándar BIT_VECTOR. Es un vector formado por elementos de tipo BIT. Soporta operaciones lógicas, de comparación, de corrimiento y concatenación. Su definición es la siguiente TYPE BIT_VECTOR IS ARRAY (NATURAL RANGE <>) OF BIT; Nota. La expresión NATURAL_RANGE <> es una especificación que indica que el rango no tiene restricciones. La única condición que debe cumplir es que los valores estén en el rango NATURAL (por defecto de 0 a ). Para las operaciones lógicas y de corrimiento es necesario que los vectores sean del mismo tamaño, no así con la operación de comparación.
10 Tipos de Datos Estándar Ejemplo SIGNAL a: BIT_VECTOR(7 downto 0); X <= ; BOOLEAN. Es un tipo enumerado de dos valores: false y true. Soporta operaciones lógicas y de comparación. En términos de números de bis es un escalar. Su definición es TYPE BOOLEAN IS (FALSE, TRUE);
11 Tipos de Datos Estándar Ejemplo SIGNAL ready: BOOLEAN; x <= 111 WHEN ready ELSE 000 ; El valor de x cambia de 000 a 111 cuando ready es igual a TRUE. INTEGER. Soporta operaciones aritméticas y de comparación. Su rango por defecto va de (2 31-1) a (2 31-1). Su definición es TYPE INTEGER IS RANGE implementation_defined; TYPE INTEGER IS a ;
12 Tipos de Datos Estándar Los limites son referidos como INTERGER LOW (limite inferior) y INTEGER HIGH (limite superior). Nota. Es importante especificar el rango cada vez que se usa este tipo de dato, de lo contrario el sintetizador emplea 32 bits para representarlo. Ejemplo SIGNAL a: INTEGER RANGE 0 TO 15; SIGNAL b: INTEGER RANGE -15 TO 15; SIGNAL x: INTENGER RANGE -31 TO 31; X <= a + b; -- 4 bits -- 5 bits -- 6 bits
13 Tipos de Datos Estándar NATURAL. Enteros no negativos. Es un subtipo del tipo INTEGER y soporta las mismas operaciones. Su definición es SUBTYPE NATURAL IS INTEGER 0 TO INTEGER HIGH; POSITIVE. Enteros positivos. Es un subtipo del tipo INTEGER y soporta las mismas operaciones. Su definición es SUBTYPE POSITIVE IS INTEGER 1 TO INTEGER HIGH; INTEGER_VECTOR. Es un vector de INTEGER (arreglo 1D x 1D). Soporta operaciones de concatenación y comparación. Su definición es TYPE INTEGER_VECTOR IS ARRAY (NATURAL RANGE <>) OF INTEGER;
14 Tipos de Datos Estándar CHARACTER. Es un tipo enumerado de 256 símbolos. Sólo soporta operaciones de comparación. Su definición (parcial) es TYPE CHARACTER IS (NUL, SOH,, 0, 1, 2,, ÿ ; Nota. NUL = y ÿ = Los primeros 128 símbolos corresponden al código ASCII regular. Ejemplo SIGNAL char1, char2: CHARACTER; SIGNAL outp1: BIT; Outp1 <= 1 WHEN char1 = a OR char1= A ELSE 0 ;
15 Tipos de Datos Estándar STRING. Es un vector de CHARACTER (arreglo de 1D x 1D). Soporta operaciones de comparación y concatenación. Su definición es TYPE STRING IS ARRAY (POSITIVE RANGE <>) OF CHARACTER; Ejemplo SIGNAL str: STRING (1 TO 4); SIGNAL output: BIT; Output <= 1 WHEN str = VHDL ELSE 0 ;
16 Tipos de Datos Estándar-Lógico Los tipos de datos estándar-lógico (standard-logic) son STD_LOGIC y STD_LOGIC_VECTOR. Ambos están definidos en la paquete std_logic_1164. STD_LOGIC y STD_LOGIC_VECTOR son el estándar en la industria. La definición de STD_LOGIC está en función de STD_ULOGIC. El primero es un tipo de dato resuelto y el último es no resuelto. Su definición es TYPE STD_ULOGIC IS ( U, X, 0, 1, Z, W, L, H, - ); TYPE STD_LOGIC IS resolved STD_ULOGIC;
17 Tipos de Datos Estándar-Lógico El significado y posible uso para los nueve símbolos STD_(U)LOGIC. Valor Significado U No inicializado (Uninitialized) X Desconocido (Forcing unknown) 0 Bajo (Forcing low) 1 Alto (Forcing high) Z Alta impedancia (High impedance) W Desconocido débil (Weak unknown) L Bajo débil (Weak low) H Alto débil (Weak high) - No importa (Don t care)
18 Tipos de Datos Estándar-Lógico La principal característica de STD_LOGIC, comparado con el tipo de dato BIT, es la inclusión de los valores Z y -. El primero permite la construcción de buffer de tercer estado y el segundo una mejor optimización de tablas de búsqueda. Se dice que STD_LOGIC es un tipo de dato resuelto ya que si más de una fuente maneja un nodo común el resultado del nivel lógico está determinado por una función de resolución. A continuación se muestra la función de resolución para STD_LOGIC transcrita del paquete std_logic_1164.
19 Tipos de Datos Estándar-Lógico
20 Tipos de Datos Estándar-Lógico El nombre la función es resolved y recibe un parámetro llamado s de tipo STD_ULOGIC_VECTOR, y regresa un tipo de dato STD_LOGIC. La variable result tiene un valor inicial igual a Z. Si el tamaño de s es uno entonces se regresa s (no hay nada que resolver). En caso de que s contenga más de un bit entonces la tabla se usa para determinar el valor ganador. Por ejemplo, si los valores que compiten son 0, 1, Z, entonces el valor resultante es X ( Z vs 0 = 0, 0 vs 1 = X, X vs Z = X ).
21 Tipos de Datos Estándar-Lógico Nota. Desde la perspectiva de diseño, lo importante acerca de este tipo de dato (STD_LOGIC) es que es sintetizable. Esto es lo que ocurre en el proceso de síntesis: 0 y L ambos son sintetizados como 0 (para entradas y salidas). 1 y H ambos son sintetizados como 1 (para entradas y salidas). Z es sintetizado como Z (para salidas). Los otros elementos son sintetizados como - (no importa para salidas).
22 Tipos de Datos Estándar-Lógico STD_LOGIC_VECTOR define un vector de STD_LOGIC. Su definición es TYPE STD_ULOGIC_VECTOR IS ARRAY (NATURAL RANGE <>) OF STD_ULOGIC; TYPE STD_LOGIC_VECTOR IS ARRAY (NATURAL RANGE <>) OF STD_ULOGIC; El paquete std_logic_1164 define operadores lógicos para STD_(U)LOGIC y STD_(U)LOGIC_VECTOR. Si se declara el paquete std_logic_(un)signed en el código, entonces se permiten algunas operaciones aritméticas, de corrimiento y de comparación.
23 Tipos de Datos Con Signo y Sin Signo Los tipos de datos sin singo (UNSIGNED) y con signo (SIGNED) están definidos en los paquetes numeric_std y std_logic_arith. Estos paquetes son parcialmente equivalentes, por lo tanto, solo uno de ellos puede declararse en el código. El rango para el tipo de dato sin signo es de 0 a 2 N -1 (limitado a INTEGER HIGH), donde N es el número de bits. El rango para el tipo de dato con signo es de -2 N-1 a 2 N-1-1 (limitado entre INTEGER LOW y INTEGER HIGH), y usa la representación en complemento a 2.
24 Tipos de Datos Con Signo y Sin Signo Nota. Desafortunadamente, los nombre elegidos para los paquetes std_logic_unsigned y std_logic_signed pueden causar confusión. Estos paquetes únicamente definen los operadores (+, -, *, ) sin signo o con singo para STD_LOGIC_VECTOR, y no los tipos de datos SIGNED y UNSIGNED. En otras palabras, los dos paquetes definen como el operador trata sus operandos. Por ejemplo. Suponga a y b como vectores std_logic y + como el operador suma. Si se usa el paquete std_logic_unsgined, el operador + trata a y b como datos sin signo. Por su parte, si se usa el paquete std_loigic_signed, el operador + trata a y b como datos con signo.
25 Tipos de Datos de Punto Fijo y Punto Flotante Punto Fijo. Los tipos de punto fijo son con signo y sin singo. Su definición es TYPE UFIXED IS ARRAY (INTEGER RANGE <>) OF STD_LOGIC; TYPE SFIXED IS ARRAY (INTEGER RANGE <>) OF STD_LOGIC; -- UNSIGEND -- SIGNED Los paquete necesarios para usar estos tipos de datos en VHDL 2008 son fixed_pkg.vhdl fixed_generic_pkg.vhdl fixed_generic_pkg-body.vhdl Fixed_float_types.vhdl
26 Tipos de Datos de Punto Fijo y Punto Flotante Para la versiones anteriores de VHDL (93 y 2002), son necesarios los siguientes archivos fixed_pkg_c.vhd fixed_float_types_c.vhd Para implementar circuitos con punto fijo en la versiones previas de VHDL, es necesario crear una carpeta llamada ieee_proposed en el directorio de bibliotecas VHDL del compilador, y pegar los dos archivos antes mencionados.
27 Tipos de Datos de Punto Fijo y Punto Flotante Ejemplo x: SIGNAL UFIXED(2 DONWTO -3); -- esto es xxx.xxx X <= ; -- 1x x x x2-1 +1x x2-3 = x: SIGNAL SFIXED(2 DONWTO -3); -- esto es xxx.xxx X <= ; > en comp a 2 =
28 Tipos de Datos de Punto Fijo y Punto Flotante Punto Flotante. Los tipos de datos de punto flotante son flotante de 32, 64 y 128 bits. Su definición es TYPE FLOAT IS ARRAY (INTEGER RANGE <>) OF STD_LOGIC; -- longitud genérica SUBTYPE FLOAT32 IS FLOAT (8 DOWNTO -23); bits PF de la IEEE 754 SUBTYPE FLOAT64 IS FLOAT (11 DOWNTO -52); bits PF de la IEEE 754 SUBTYPE FLOAT128 IS FLOAT (15 DOWNTO -112); bits PF de la IEEE 754 Los archivos necesarios para usar estos tipos de datos en VHDL 2008 son float_pkg.vhdl float_generic_pkg.vhdl
29 Tipos de Datos de Punto Fijo y Punto Flotante float_generic_pkg-body.vhdl fixed_float_types.vhdl Para versiones previas de VHDL, se requieren lo siguientes archivos fixed_pkg_c.vhd fixed_float_types_c.vhd Float_pkg_c.vhd Para implementar circuitos de punto flotante en la versiones previas de VHDL, solo hay que crear un carpeta llamada ieee_proposed en el directorio de bibliotecas de VHDL, y copiar los archivos antes mencionados.
30 Tipos de Datos de Punto Fijo y Punto Flotante La representación de números en punto flotante (de 32 bits) que obedecen el estándar IEEE 754 es la siguiente Sea x un número en punto flotante. Su valor esta dado por x = (- 1) S (1+F)2 E-N, donde S es el signo (0 cuando es positivo, 1 cuando es negativo), F es la fracción (o mantisa) y E es el exponente, y N es el factor de normalización dado por N = (E MAX +1)/2 1.
31 Tipos de Datos de Punto Fijo y Punto Flotante Ejemplo -- 3 bits para exponente y 4 bits para la fracción x <= ; -- (1)(001)(0100) = -( )2 1-3 = Nota. En VHDL, la longitud mínima de un número en punto flotante es de 7 bits.
32 Resumen de los Tipos de Datos Predefinidos Todos los tipos de datos predefinidos de VHDL que son sintetizables se muestran a continuación.
33 Resumen de los Tipos de Datos Predefinidos
34 Tipos de Datos Definidos por el Usuario Los tipos revisados hasta ahora son tipos de datos predefinidos. Sin embargo, VHDL permite el uso de tipos de datos definidos por el usuario. A continuación hacemos una revisón. Tipos Enteros. El tipo INTEGER es sintetizable sin restricciones. Todos los tipos derivados de INTEGER son referidos con tipos enteros, y pueden ser declarados usando la siguiente sintaxis TYPE type_name IS RANGE range_specifications;
35 Tipos de Datos Definidos por el Usuario Ejemplos TYPE negative IS RANGE INTEGER LOW TO -1: TYPE temperatura IS RANGE 0 TO 273; TYPE my_integer IS RANGE -32 to 32; Tipos Enumerados. En este caso, los valores de este tipo son representados por los símbolos, lo cuales pueden ser enlistados explícitamente (enumeración). Este tipo de dato fue usado para la creación de varios tipos de datos predefinidos.
36 Tipos de Datos Definidos por el Usuario Los tipos enumerados son particularmente útiles en la creación para otros sistemas lógicos y en el diseño de máquinas de estados finitos. Su sintaxis es la siguiente TYPE type_name IS (type_value_list); Ejemplos TYPE BIT IS ( 0, 1 ); TYPE BOOLEAN IS (FALSE, TRUE); TYPE STD_ULOGIC IS ( U, X, 0, 1, Z, W, L, H, X ); TYPE logic_01z IS ( 0, 1, Z ); TYPE state IS (A, B, C, D, E); TYPE machine_state IS (idle, transmiting, receiving);
37 Tipos de Datos Definidos por el Usuario Arreglos. En este caso se divide en dos categorías Enteros. El tipo de elementos (enteros) es un subtipo del nuevo tipo. Su definición es TYPE type_name IS ARRAY (range_specs) OF int_elements_type; Ejemplo. Arreglo 1D x 1D TYPE type1 IS ARRAY (POSITIVE RANGE <>) OF INTEGER; CONSTANT const1: type1(1 TO 4) := (5, -5, 3, 0); TYPE type2 IS ARRAY (0 TO 3) OF NATURAL; CONSTANT const2: type2 := (2, 0, 9, 4);
38 Tipos de Datos Definidos por el Usuario Ejemplo. Arreglo 1D x 1D x 1D TYPE type2 IS ARRAY (0 TO 3) OF NATURAL; TYPE type3 IS ARRAY (1 TO 2) OF type2; CONSTANT const3: type3 := ( (5, 5, 7, 9), (33, 4, 0, 0) ); Enumerados. Es tipo requiere por lo general estar restringido. Su definición es TYPE type_name IS ARRAY (range_specs) OF enum_elements_type;
39 Tipos de Datos Definidos por el Usuario Ejemplo. Arreglo 1D TYPE type1 IS ARRAY (NATURAL RANGE <>) OF STD_LOGIC; CONSTANT const1: type1(4 DOWNTO 0) := Z111 ; TYPE type2 IS ARRAY (7 DOWNTO 0) OF BIT; CONSTANT const2: type2 := ; Ejemplo. Arreglo 1D x 1D TYPE type4 IS ARRAY (1 TO 4) OF STD_LOGIC_VECTOR(2 DOWTON 0); CONSTANT const4: type4 := ( 000, 011, 100, 100 ); CONSTANT const4: type4 := (( 0, 0, 0 ), ( 0, 1, 1 ), );
40 Tipos de Datos Definidos por el Usuario Ejemplo. Arreglo 2D TYPE type5 IS ARRAY (1 TO 3, 1 TO 4) OF BIT; CONSTANT const5: type5 := (( 0000, 0000, 0000 ); Ejemplo. Arreglo 3D TYPE type7 IS ARRAY (1 TO 2, 1 TO 3, 1 TO 4) OF BIT; CONSTANT const7: type7 := (( 0000, 0000, 0000 ), ( 0000, 0000, 0000 ));
41 Tipos de Datos Definidos por el Usuario Para acceder a los elementos de un arreglo es necesario utilizar (). Ejemplo. TYPE int_row IS RANGE 1 TO 3; TYPE enum_colum IS ( a, b, c, d ); TYPE matrix IS ARRAY (int_row, enum_colum) OF STD_LOGIC; CONSTANT my_array: matrix := ( Z101, 0011, 101Z ); my_array(1, a ) -> Z ; my_array(1, b ) -> 1 ; my_array(1, c ) -> 0 ; my_array(3, d ) -> Z ;
42 Registros Los registros (records) son colecciones de elementos que pueden ser de diferentes. Los tipos pueden ser predefinidos o definidos por el usuario. Ejemplo TYPE memory_access IS RECORD address: INTEGER RANGE 0 TO 255; block: INTEGER RANGE 0 TO 3; data: BIT VECTOR (15 DOWNTO 0); END RECORD;
43 Subtipos Un subtipo (SUBTYPE) es un tipo de dato con restricciones. La principal razón de usar un subtipo en vez de especificar un nuevo tipo es que, aunque las operaciones entre diferentes tipos de datos no están permitidos, si los están entre el subtipo y el tipo del cual de derivo el subtipo. Un subtipo (SUBTYPE) puede ser declarado en el mismo lugar que el tipo (TYPE), pero usualmente se hace en la parte declarativa de la arquitectura (ARCHITECTURE).
44 Subtipos Ejemplo TYPE _STD_LOGIC IS ( X, 0, 1, Z, W, L, H, - ); SUBTYPE my_logic IS STD_LOGIC RANGE 0 TO Z ; TYPE color IS (red, green, blue, white); SUBTYPE my_color IS color RANGE green TO blue;
45 Conversión de Tipos de Datos La conversión de tipos se divide en la siguientes categorías Conversión Automática. Este es el caso cuando se trata directamente con la base del tipo (base type). Por ejemplo. BIT y BIT_VECTOR tiene la misma base de tipo (BIT), así que un solo elemento BIT_VECTOR es automáticamente compatible con un elemento de tipo BIT. Ejemplo bv(0) <= b; slv(7) <= s1;
46 Conversión de Tipos de Datos Casting. UNSIGNED/SIGNED tiene la misma base de tipo (STD_LOGIC) e indexado (NATURAL) como STD_LOGIC_VECTOR. La conversión entre estos tipos se hace de la siguiente manera (UN)SIGNED(arg), donde el argumento es STD_LOGIC_VECTOR STD_LOGIC_VECTOR(arg), donde el argumento es SIGNED o UNSGINED Ejemplo unsig <= UNSIGNED(slv); sig <= SIGNED(slv); slv1 <= STD_LOGIC_VECTOR(unsig); slv2 <= STD_LOGIC_VECTOR(sig);
47 Conversión de Tipos de Datos Funciones de Conversión de Tipo. La última opción de conversión directa entre tipos es usando funciones de conversión de tipo, disponibles en los paquetes VHDL.
48 Conversión de Tipos de Datos
49 Conversión de Tipos de Datos
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
VHDL: Tipos de datos. Arquitectura del Computador 2017
VHDL: Tipos de datos Arquitectura del Computador 2017 Paquetes y librerías Package standard de library std: Define BIT, BOOLEAN, INTEGER y REAL. Package std_logic_1164 de library ieee: Define STD_LOGIC
Estructura de un Código VHDL
Estructura de un Código VHDL Unidades Fundamentales Un código VHDL se compone de tres secciones: Library/Package (declaración de bibliotecas o paquetes) Contiene una lista de todas las bibliotecas o paquetes
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: [email protected]
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
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
PRACTICA 3. Lenguaje de descripción de hardware VHDL.
Lenguaje de descripción de hardware VHDL. Objetivo: El alumno analizara de que partes escenciales conta un codigo hecho atravez del lenguaje de descripcion de hardware VHDL, asi tambien que implica la
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
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
Netlist: conjunto de instrucciones que indican el interconexionado entre los componentes de un diseño (lista de conexiones).
Lenguajes de Descripción de Hardware Netlist: conjunto de instrucciones que indican el interconexionado entre los componentes de un diseño (lista de conexiones). HDL: Estos lenguajes permitieron solucionar
SINTAXIS BÁSICA DEL VHDL SIMPLIFICADO
SINTAXIS BÁSICA DEL VHDL SIMPLIFICADO ENTIDAD: ARQUITECTURA: ENTITY IS PORT : : END ; = IN / OUT / IN OUT ARCHITECTURE
El código concurrente esta destinado únicamente para el diseño de circuitos combinacionales.
Código Concurrente Código Concurrente El código VHDL puede ser concurrente o secuencial. Únicamente las sentencias colocadas dentro de un PROCESS, FUNCTION o PROCEDURE (los últimos dos son llamados subprogramas)
Laboratorio de Arquitectura de Computadoras
Laboratorio de Arquitectura de Computadoras Estándar IEEE 1164 de VHDL Oscar Alvarado Nava [email protected] Departamento de Electrónica División de Ciencias Básicas e Ingeniería Universidad Autónoma Metropolitana,
Introducción a VHDL. Por: Carlos A. Fajardo UIS - Sistemas Digitales
Introducción a VHDL Por: Carlos A. Fajardo [email protected] Lenguajes de Descripción de Hardware Netlist: conjunto de instrucciones que indican el interconexionado entre los componentes de un diseño
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
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
Introducción a VHDL. Por: Carlos A. Fajardo
Introducción a VHDL Por: Carlos A. Fajardo [email protected] Actualizado 11/11/2015 Lenguajes de Descripción de Hardware Netlist: conjunto de instrucciones que indican el interconexionado entre los componentes
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
Uso de (don t care) en VHDL
Uso de (don t care) en VHDL Cristian Sisterna Introducción El valor ' - ', comúnmente llamado don't care o no importa, normalmente es usado en funciones booleanas para representar indistintamente un ''
Uso de (don t care) en VHDL
Uso de (don t care) en VHDL Nota Técnica 04 Cristian Sisterna Introducción El valor ' - ', comúnmente llamado don't care o no importa, normalmente es usado en funciones booleanas para representar indistintamente
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
4.3. Lenguaje VHDL Declaración de Packages
4.3. Lenguaje VHDL El lenguaje VHDL (Very High Speed Integrates Circuit Hardware Description Language) es un lenguaje estándar utilizado para la descripción de los sistemas digitales. En este apartado
Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:
Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota: Justificación: Se pretende con éste contribuir a que el alumno se inicie y conozca el entorno del IDE en la creación de pequeños programas en java Objetivos:
INTRODUCCIÓN AL LENGUAJE VHDL PARA CIRCUITOS
INTRODUCCIÓN AL LENGUAJE VHDL PARA CIRCUITOS COMBINACIONALES UNIDAD VI Diseño Digital HLD Opción de diseño para sistemas electrónicos elaborados. Integrar más dispositivos en un circuito integrado. VHDL
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.
VHDL. VHDL: VHSIC Hardware Description Language VHSIC: Very High Speed Integrated Circuits
VHDL VHDL: VHSIC Hardware Description Language VHSIC: Very High Speed Integrated Circuits VHDL es un lenguaje de descripción de hardware Es útil para la síntesis y verificación de circuitos digitales Historia
EL 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
ELEMENTOS Y TIPOS DE DATOS
1 ELEMENTOS Y TIPOS DE DATOS ELEMENTOS Y TIPOS DE DATOS Elementos Tipos de datos Librerías Std_logic y Std_logic_vector 2 ELEMENTOS Y TIPOS DE DATOS ELEMENTOS Elementos del VHDL: Comentarios Palabras reservadas.
Código concurrente en VHDL [5]
Código concurrente en VHDL [5] Lab. Sistemas Digitales Universidad Técnica Particular de Loja Prof: Diego Barragán Guerrero Oct. 2014 - Feb. 2015 Lab. Sistemas Digitales (UTPL) IET Oct. 2014 - Feb. 2015
Representación de datos y aritmética básica en sistemas digitales
Representación de datos y aritmética básica en sistemas digitales DIGITAL II - ECA Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica Rosa Corti 1 Sistemas de Numeración: Alfabeto:
Representación de datos y aritmética básica en sistemas digitales
Representación de datos y aritmética básica en sistemas digitales DIGITAL II - ECA Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica Rosa Corti 1 Sistemas de Numeración: Alfabeto:
Teorí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
Laboratorio de Arquitectura de Redes. Operadores y expresiones en lenguaje C
Laboratorio de Arquitectura de Redes Operadores y expresiones en lenguaje C Operadores y expresiones en lenguaje C Expresiones numéricas y operadores Operadores aritméticos Operadores lógicos y de relación
UNIDAD 2 Descripción de un programa
Descripción de un programa Estructura general de un programa. Elementos básicos. Tipos de datos simples: enteros, reales y carácter. Representación de datos en memoria. Operaciones sobre tipos de datos
Programación 1 Tema 3. Información, datos, operaciones y expresiones
Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información
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
Arreglos y Subrangos
Arreglos y Subrangos Programación 1 InCo - FING Contents 1 Tipo subrango 2 1.1 Subrangos de enteros......................... 2 1.2 Subrangos de caracteres....................... 2 1.3 Operaciones con subrangos.....................
Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica
Tema 2: Desarrollo de Algoritmos E.E. de Algorítmica Temas a tratar Identificadores Variables Constantes Tipos de Datos Separadores Operadores Aritméticos Unarios Relacionales y Condicionales Nivel de
Java. Introducción a la Programación Orientada a Objetos
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora
Apunte Laboratorio ALPI - El lenguaje de programación Pascal
Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................
DESCRIPCIÓN DEL LENGUAJE DE PROGRAMACIÓN P-0
DESCRIPCIÓN DEL LENGUAJE DE PROGRAMACIÓN P-0 Este documento define los elementos de programación del lenguaje P-0, basado en un subconjunto del lenguaje de programación Arduino. 1.- PROGRAMA Un programa
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
Datos y tipos de datos
Datos y tipos de datos Dato Representación formal de hechos, conceptos o instrucciones adecuada para su comunicación, interpretación y procesamiento por seres humanos o medios automáticos. Tipo de dato
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: [email protected]
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
XDR: Estándar de Representación Externa de Datos
RFC1832 Agosto 1995 (resumido por Juan A. Ternero) XDR: Estándar de Representación Externa de Datos 1. INTRODUCCIÓN XDR es un estándar para la descripción y representación de datos. XDR usa un lenguaje
Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN
Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN - Introducción - Sintaxis - Semántica básica - Tipos de datos - Expresiones y enunciados - Procedimientos y ambientes - Tipos abstractos de datos y módulos
Expresiones y sentencias
Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En C, todas las sentencias
VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora
4. Operadores Operador asignación
Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre
1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos
1.1 Tipos de Datos Primitivos 1.2 Tipos de datos estructurados 1.2.1 Arreglos unidimensionales, bidimensionales y cadenas de caracteres 1.2.2 Registros o Estructuras (unión y estructura) 1.3 Definición
Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)
Repaso Lenguaje C OBJETOS Variables Constantes Variable: objeto del ambiente cuyo contenido puede cambiar. Constante: objeto cuyo contenido no puede cambiar. Variables: - un nombre que la identifica. Deben
Tema I. VHDL para síntesis Lógica y verificación de Diseños. Roberto Gutiérrez Mazón
1 Tema I. VHDL para síntesis Lógica y verificación de Diseños. Roberto Gutiérrez Mazón 2 Tema II. VHDL para síntesis Lógica y verificación de Diseños. a. VHDL (recordatorio). b. Restricciones en las descripciones.
Introducción rápida a la programación (estructurada ) con C++
Introducción rápida a la programación (estructurada ) con C++ A B No A? Si B A Los Bloques pueden ser una línea de código o un modulo (función o subrutina) que pueden estar contenido en otro archivo de
Lenguaje de Programación: C++ Repaso de Material C++
UG Lenguaje de Programación: C++ Repaso de Material C++ Universidad de Guanajuato Octubre 2010 Variables Tipos de Variables Operadores Variable Para poder leer algo, necesitamos un lugar donde poner lo
Memorias 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
Los tipos de datos primitivos
Los tipos de datos primitivos El lenguaje de programación Java es de tipo estático, lo que significa que todas las variables debe ser declarado antes de que puedan ser utilizados visto. Se trata de la
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
Java posee dos grandes categorías de tipos para las variables:
Declaración identificador tipo int i; i entero String s; s referencia a string int a[]; a referencia a arreglo de enteros int[] b; b referencia a arreglo de enteros Java posee dos grandes categorías de
A (A3, A2, A1, A0) B (B3, B2, B1, B0) A (A0, A1, A2, A3) B (B0, B1, B2, B3) 0 to 3. 3 downto 0
Fundamentos de lógica digital. VHDL Declaración de entidades utilizando vectores El acomodo de los bits vector que componen un bus puede ser ordenado de forma ascendente o descendente, por ejemplo para
INGENIERÍA DE COMPUTADORES 3. Solución al examen de Junio 2015, Segunda Semana
Solución al examen de Junio 2015, Segunda Semana PREGUNTA 1 (2 puntos) Tomando como base el siguiente código VHDL, dibuje el cronograma de evolución de las señales x1, x2, x3, x4 entre los instantes 0
VHDL. Laboratorio de Arquitectura de Computadores. Curso I. T. Informática de Gestión I. T. Informática de Sistemas
Laboratorio de Arquitectura de Computadores I. T. Informática de Gestión I. T. Informática de Sistemas Curso 2006-2007 Transparencia: 2 / 50 Índice 1. Conceptos básicos 2. Modelos de Hardware 3. Unidades
INGENIERÍA DE COMPUTADORES 3. Solución al examen de Junio 2013, Segunda Semana
Solución al examen de Junio 2013, Segunda Semana PREGUNTA 1 (2 puntos) Tomando como base el siguiente código VHDL, dibuje el cronograma de evolución de las señales x1, x2, x3, x4, x5 entre los instantes
XDR (External Data Representation) Tipos y codificación. Universidad de Oviedo / Dpto. de Informática
XDR (External Data Representation) Tipos y codificación Tipos implícitos Características La codificación (big endian) ocupa siempre un tamaño múltiplo de 4 bytes (rellenando con ceros por la dcha) Se asume
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
9. 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
DE INGENIERÍA TÉCNICA INDUSTRIAL. ESPECIALIDAD EN ELECTRÓNICA INDUSTRIAL
EJERCICIOS DE SISTEMAS ELECTRÓNICOS DIGITALES: HOJA 2 2 o CURSO DE INGENIERÍA TÉCNICA INDUSTRIAL. ESPECIALIDAD EN ELECTRÓNICA INDUSTRIAL LENGUAJES DE ALTO NIVEL 1) Realiza en RTL un comparador de dos buses
Laboratorio de Arquitectura de Redes. Datos en lenguaje C
Laboratorio de Arquitectura de Redes Datos en lenguaje C Datos en lenguaje C Introducción Tipos de datos básicos y modificadores Tipos de datos enteros Tipos de datos reales Tamaño y rango de los datos
Fundamentos de JAVA. Angel Kuri Enero, /2/2006
Fundamentos de JAVA Angel Kuri Enero, 2006 Enunciados y Expresiones Los siguientes son enunciados sencillos: int i = 1 import java.awt.font System.out.println( Esta moto es una + color + + marca); m.enginestate
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
INGENIERÍA DE COMPUTADORES 3. Solución al examen de Septiembre 2016
Solución al examen de Septiembre 2016 PREGUNTA 1 (2 puntos) Tomando como base el siguiente código VHDL, dibuje el cronograma de evolución de las señales x1, x2, x3 y x4 entre los instantes 0 y 100 ns.
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
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
como les va con las practicas?
como les va con las practicas? Problemas NP-completos y Estructuras de datos básicas (representación de datos) mat-151 1 Una maquina de Turing Aceptation state Una maquina de Turing Maquina de Turing Determinística,
Datos Elementales y formato de un programa en Java
Datos Elementales y formato de un programa en Java PROGRAMACION I Grado en Matematicas Informática Programación I - 2015/2016 Datos, variables y mi primer programa 1 Introducción a la programación o Programa:
