Métodos de diseño en vhdl
Diseño de entidades flujo de datos
Jerárquico
Secuencial
Flujo de datos:
Se expresa el comportamiento de las señales de salida a partir de las señales de entrada mediante asignaciones concurrente
Jerárquico:
Descripción estructural (structural modeling) en la que se descompone en los componentes del sistema y se indica sus interconexiones.
Secuencial:Se emplean sentencias secuenciales y no concurrentes: PROCESOS. Se ejecutan en un orden determinado, se finaliza la ejecución de una sentencia antes de pasar a la siguiente.
Diseño por flujo de datos
Se emplean asignaciones para las señales con expresiones empleando operadores aritméticos y lógicos.
Ejemplo:
-------------------------------------------------
ENTITY semisumador IS-------------------------------------------------
PORT ( a,b : IN BIT;
-------------------------------------------------
Suma,carry : OUT BIT );
-------------------------------------------------
END semisumador;
-------------------------------------------------
ARCHITECTURE semi OF semisumador IS
-------------------------------------------------
BEGIN-------------------------------------------------
suma<=a XOR b;
-------------------------------------------------
carry<=a AND b;
-------------------------------------------------
END semi;
Diseño jerárquico
Se descompone la entidad en su estructura de elementos más simples: COMPONENTES.
Los componentes se declaran dentro de la arquitectura, antes de la sentencia BEGIN de la misma.
La declaración es similar a la deuna ENTIDAD, no se define el comportamiento, solo los terminales externos.
-------------------------------------------------
COMPONENT nombre_componente
-------------------------------------------------
PORT(port_list);
-------------------------------------------------
END nombre_componente;
El comportamiento debe definirse fuera de la arquitectura donde se declara. Definiendo una ENTIDADde igual nombre que el COMPONENTE y con una arquitectura asociada al mismo.
Una vez declarados los componentes, se pueden utilizar dentro de las sentencias concurrentes de la arquitectura asociando señales a entradas y salidas de los mismos según el orden de la declaración.
-------------------------------------------------
Etiqueta : nombre_componente-------------------------------------------------
PORT MAP (lista_asociación_ports);
Ejemplo: Diseño jerarquico de un sumador de 1 bit
(imagen circuito)
ENTITY sumador ISPORT( a,b,cin : IN BIT; Suma, carry : OUT BIT);END sumador;ARCHITECTURE suma OF sumador IS | |
SIGNAL i1,i2,i3 : BIT; | Señales Locales |
--Declaracion del component semisumadorCOMPONENT semisumadorPORT( a,b : IN BIT; suma,carry : OUTBIT);END COMPONENT;--Puerta or como componentCOMPONENT puerta_orPORT( a,b : INT BIT; z : OUT BIT);END COMPONENT; | Declaracion components |
BEGIN u1 : smesumador PORT MAP (a,b,i1,i2); u2 : smesumador PORT MAP (i1,cin,suma,i3); u3 : pueta_or PORT MAP (i2,i3,carry);END suma; | Arquitectura conectado components23 |
--Definicion del component semisumadorENTITY semisumadorISPORT(a,b, : IN BIT; Suma,carry : OUT BIT);Zjajjjjjjjjjjjjjjjasasas
Zjajjjjjjjjjjjjjjjasasas
Espacio para el texto
Espacio para el texto
END semisumador; | Declaracion del componente como entidad |
ARCHITECTURE semi OF semisumador ISBEGIN suma<=a XOR b; carry<=a AND b;END semi; | Definicion de su comportamiento |
---definición del componente puerta_orENTITUpuerta_or ISPORT(a,b : IN BIT; Z : OUT BIT);END puerta_or; | Puerta OR como entidad |
ARCHITECTURE puerta_or OF puerta _or IS BEGIN z<=a OR b;END puerta_or; | Definicion de comportamiento |
La declaración de entidad para un componente y la definición de su arquitectura puede aparecer antes o después de la declaración de ese componente en un diseño jerárquico.
En el ejemplo...
Regístrate para leer el documento completo.