Clasificado en Apuntes de Electrónica de Universidad.
Escrito el 09 de Noviembre de 2009 en
Españ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
| ¿Te ha sido útil este documento? | ||
|---|---|---|
| A 1 personas si les ha sido útil el documento. | 100% | |
| A 0 personas no les ha gustado. | ||
| 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 selectivowhenEstilo flujo de datos:Condicional (when else) y Selectivas (with select)procesos secuenciales if-elseseñal bit_vectordescargar documentos de cplds | |
| Imprimir | |
| Karma: -2% |