Entidades

Este documento necesita una revisión de su contenido. Si te ha sido útil, por favor, considera colaborar con la página haciéndote moderador.

Clasificado en Apuntes de Electrónica de Universidad.

Escrito el 09 de Noviembre de 2009 en esEspañol y con un tamaño de 8.528 bytes.

Generalidades

Diseño: CAD <-- Probar

 Simulacion

 EDA <-- (Electronic design automation)

Unidades de diseño basico: Entidad, Arquitectura, Paquetes, Señales y variables, Procesos, Sentencias (IF, ELSE, CASE)

- Entidad: Indica qué es diseño, define el interfaz de un bloque sin definir su comportamiento.

Declaracion de entidad:

ENTITY ejemplo IS PORT(

--Entradas

--Salidas

--I/O

--Buffers

);

END ejemplo;

ENTITY ejem1 IS PORT(

a,b: IN BIT

s: OUT BIT

);

END ejem1;

ENTITY mux1 IS

PORT(Dato: IN BIT_VECTOR (3 DOWNTO 0);

Select: IN BIT_VECTOR(1 DOWNTO 0);

Enable: IN BIT;

Sal: OUT BIT;

);

END mux1;

-Arquitectura: Indica cómo trabaja el diseño, modela el comportamiento o estructura del circ, puede tener elementos RTL o comportamentales, una entidad puede tener varias arquirtecturas

ARCHITECTURE archejem1 OF ejem1 IS

--Declaración de señales y otros accesorios

BEGIN

--Nucleo del programa

END archejem1;

ARCHITECTURE archejem1 OF ejem1 IS

BEGIN

s <= a AND b

END archejem1;

SIGNAL o SEÑAL: Asignacion  <=

 lect    escr

x

y

VARIABLE: Asignacion  :=

 s

Modo: IN, OUT, INOUT, BUFFER

Tipos de datos:

INTEGER: El rango es especificado por el usuario o por defecto por el compilador

Pablo: INTEGER range 0 TO 255

Juan: INTEGER range 200 DOWNTO 54

Rango por defecto...   Pedro: INTEEGER

BIT=> '0', '1'

BIT_VECTOR (Grupo de bits) => "0101", "00111010"                  Se declara: BIT_VECTOR (7 DOWNTO 0),        BIT_VECTOR (0 TO 3)

STD_LOGIC => '0', '1', 'x', 'z'

STD_LOGIC_VECTOR => "0z1x011"

TIME => 20 ns, 2,5 ps

Asignacion de buses

-Bus completo    Jose<="11111111"

-Un bit de un bus    dino(3)<='1'                   jose(5)<='1'

-Una parte del bus

SIGNAL pablo: BIT_VECTOR (7 DOWNTO 0)   <---- Declaracion de la señal

pablo (3 DOWNTO 2)<="11"                  <----------Uso de la señal

-Encadenacion

SIGNAL vilma: BIT_VECTOR (8 DOWNTO 0)   <---- Declaracion de la señal

vilma<=a(1)&b(3 DOWNTO 0)&'0'&'010'                  <----------Encadenacion

Asignacion de señales

Simple  a <= r OR t

 b <= ((r OR t) AND NOT (g XOR h));

c <= a AND b    Crea un gate AND

x <= y+z  Suma y con z, luego asigna el resultado a x

Ej: ENTITY Ejm2 IS

      PORT( a,b: IN BIT;

        c: OUT BIT);

       END Ejm2;

      ARCHITECTURE maxpld OF Ejm2 IS

      BEGIN

c <= a AND b;

      END maxpld;

Condicional: Lista una serie de expresiones que son asignadas a una señal luego de una evaluacion positiva de una o mas expresiones booleanas

Cada expresión booleana se valida en el orden escrito

q <= '0' WHEN clr= '0' ELSE

'1' WHEN set='1' ELSE

'x';

Ej: ARCHITECTURE mux OF Mux2 IS

     BEGIN

    f <= a WHEN s='0' ELSE b;

    END mux;

Selectiva          WITH Sel SELECT

q <= a WHEN '0';

         b WHEN '1';

Estilos de descripcion de una arquitectura:

- Comportamental (Behavioral): Se carqacteriza por incluir las sentencias y ordenes tipicas de un lenguaje de programación (IF, CASE, THEN...) sin importar como quedará la distribución de las puertas lógicas dentro del CPLD o FPGA, es necesario un "Proceso" al ser una estructura secuencial

CPLD: Dispositivo lógico  programable complejo (complex programmable logic device)

FPGA: Field program gate array

- Flujo de datos (Dataflow): Se puede encontrar este estilo de dos formas similares, ambos implican como la informacion será transferida de señal a señal y de la entrada a la salida sin el uso de asignaciones secuenciales sino concurrentes. En este estilo no se puede usar los "Procesos"

- Estructural (Structural): En este se describe un "netlist" de VHDL en los cuales los componentes son conectados y evaluados instantaneamente mediante señales.

Se suele requerir el uso de señales auxiliares y ademas "paquetes" y librerias accesorios, lo cual debe estar declarado al comienzo de la entidad.

Paquetes: Los "packages" permiten agrupar un conjunto de declaraciones para que puedan ser usadas en el diseño de diferentes circuitos sin ser repetidas en la declaración de cada uno.

La declaración del package:

PACKAGE nombre del Paquete IS

--Declaración de procedimientos

--Declaración de funciones

--Declaración de componentes

END nombre del Paquete

- Mixto

Tags:entidades,asignacion de buses,asignacion de señales,tipos de datos,modo,unidades de diseño basico
Este documento se ha visitado 23 veces y le gusta a 1 personas
Los usuarios que han visitado esta ficha también han buscado:
multiplexor en vhdl flujo de datos selectivo
when

Estilo flujo de datos:Condicional (when else) y Selectivas (with select)

procesos secuenciales if-else

señal bit_vector

descargar documentos de cplds

© Wikiteka, 2010
Chuletas  |  Apuntes