módulo 3: electrÓnica digitalhermessuspendeme.com/docs/grevagreta/3a/circuits...implementación...

46
Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables Departament d’ Enginyeria Electrònica 1 ELECTRÓNICA DIGITAL Módulo 3: Dispositivos Lógicos Programables

Upload: others

Post on 18-Aug-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 1

ELECTRÓNICA DIGITAL

Módulo 3: Dispositivos Lógicos Programables

Page 2: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 2

3.1 Implementación física de circuitos lógicos.

3.2 Dispositivos Lógicos Programables.

3.3 Arquitectura de un PLD.

3.4 Arquitectura de una FPGA.

3.5 Introducción al lenguaje VHDL.

Dispositivos Lógicos Programables

Page 3: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 3

SSI (Simple Scale Integration). MSI (Medium Scale Integration).

Implementación física de circuitos lógicos

▪ Contienen puertas lógicas o bien bloques básicos.▪ Circuito final resulta de la interconexión de varios IC.▪ Complejidad media-alta implica el uso de muchos IC.▪ Problemas de tamaño y fiabilidad del circuito.

Circuitos Integrados estándar (IC):

Page 4: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 4

Implementación física de circuitos lógicos

Dispositivos Lógicos Programables (PLD’s y FPGA’s): Contienen numerosas puertas lógicas. Posibilidad de configurar a medida la conexión entre

puertas. Un único IC implementa un circuito lógico de mediana

complejidad. Disminución del tamaño y aumento de la fiabilidad del

circuito.

PLD FPGA

Page 5: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 5

Programar consiste en cambiar las conexiones y entradas/salidas de la

lógica del dispositivo

Dispositivos Lógicos Programables

Programación distinta a la de un ordenador o microprocesador

La funcionalidad es fijada por el usuario después del proceso de fabricación mediante su programación.

Ordenador μP

Programar consiste en cambiar las instrucciones

que le llegan al μP

Cambia el SOFTWARE

PLD’s/FPGA’s

Cambia el HARDWARE

Page 6: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 6

Arquitectura de un PLD

Matriz AND programable▪ N entradas: Señales entrada

puertas AND.▪ M salidas: Señales de salida

puertas AND.▪ Interconexión de las entradas

y sus complementos al conjunto de puertas AND.

Posibilidad de programación▪ Inicialmente todo conectado▪ Configuración de productos

fundiendo “fusibles” de cone-xión.

...

Page 7: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 7

Arquitectura de un PLD

Matriz OR programable▪ Similar a la matriz AND, pero

con puertas OR

I1I0

O0

On

O1

...

I1I0

O0

On

O1

...

Page 8: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 8

Arquitectura de un PLD

Diagrama de bloques genérico de un PLD.▪ n entradas, m salidas.▪ Lógica salida programable. Suele incluir biestables.

Page 9: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 9

Clasificación de PLD’s

Los diferentes tipos de SPLD’s que se pueden clasificar en función del tipo de matriz y de la lógica de salida.

PROM (Programable Read-Only Memory).▪ Matriz AND fija (conexiones preprogramadas).▪ Matriz OR programable.▪ Sin lógica de salida.▪ Normalmente se consideran como memorias.

Page 10: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 10

Clasificación de PLD’s

PLA (Programable Logic Array)▪ Matriz AND programable.▪ Matriz OR programable.▪ Sin lógica de salida.▪ Más versátil que las PROM.▪ Muchos fusibles.

• Menor capacidad de integración.• Mayor retardo.

Page 11: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 11

Clasificación de PLD’s

PAL (Programable Logic Array)▪ Matriz AND programable.▪ Matriz OR fija.▪ Lógica de salida fija. Una

única configuración.

GAL (Generic Array Logic)▪ Matriz AND programable.▪ Matriz OR fija.▪ Macrocelda programable de

salida.• Output Logic Macro-Cell

(OLMC)▪ Todas las conexiones se

pueden reprogramar.

Page 12: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 12

FPGA’s

Page 13: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 13

Arquitectura de una FPGA

Los elementos básicos constituyentes de una FPGA como las de Xilinx son:

▪ Bloques lógicos, cuya estructura y contenido se denomina arquitectura. Hay muchos tipos de arquitecturas, que varían principalmente en complejidad (desde una simple puerta hasta módulos más complejos o estructuras tipo PLD). Suelen incluir biestables para facilitar la implementación de circuitos secuenciales y bloques de E/S.

▪ Recursos de interconexión, cuya estructura y contenido se denomina arquitectura de rutado.

▪ Memoria RAM, que se carga durante el RESET para configurar bloques y conectarlos.

Page 14: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 14

Arquitectura de una FPGA

FPGA de XILINK

Page 15: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 15

Proceso de diseño con FPGA’s

Herramienta de diseño: Xilinx-ISE (Integrated Software Environment): ▪ Project Navigator: donde se realizará el

diseño del circuito, bien mediante un esquemático o utilizando un lenguaje específico de diseño VHDL.

▪ ModelSim: donde podrá realizarse la simulación del funcionamiento del circuito y de este modo comprobar si funciona según las especificaciones establecidas.

Paso 1: Diseño.

Paso 2: Síntesis para crear la Netlist.

Paso 3: Implementación del diseño (netlist).

Paso 4: Programación de la FPGA.

Descargar el BIT file en la FPGA.

Page 16: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 16

VHDL

VHDL es un lenguaje para la descripción de sistemas electrónicos digitales (combinacionales y secuenciales).

Estándar IEEE

Permite representar tanto el comportamiento como la estructura de los circuitos.

Portabilidad entre herramientas y plataformas.

Sintácticamente es similar a los leguajes de programación de alto nivel ( C y ADA).

No es un lenguaje de programación

Page 17: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 17

Estructura de un fichero VHDL

Fichero.vhdl

Arquitectura (Cuerpo)

Declaración de Entidad

Librerías

Declaración de entidad:Es el modelo de interfaz de un circuito con el exterior mediante unos terminales de entrada y de salida. Cumple, la función de los símbolos en las representaciones gráficas.

Arquitectura:Es la especificación del funcionamiento de una Entidad, se puede considerar el equivalente a las tablas de verdad o a los cronogramas.

Librerías:Almacenan los elementos de diseño: tipo de datos, operadores, componentes, objetos, funciones,...

Page 18: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 18

library < nombre_biblioteca >;use < nombre_biblioteca.nombre_paquete.nombre_elemento >;

entity < nombre_entidad > isport( -- listado de puertos, modo y tipo );

end < nombre_entidad > ;

architecture < nombre_arq. > of < nombre_entidad > is-- Declaración de señales internas.-- Declaración de tipos de datos de usuario.-- Declaración de componentes.Begin --Cuerpo de la arquitectura.--Asignaciones concurrentes.--Conexionado de componentes.--Procesos.end < nombre_arq. >;

Estructura de un fichero VHDL

Page 19: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 19

Librerías

Tipos de librerías:▪ Librería de trabajo (work): Almacena las unidades que

modelan el diseño actual.▪ Librerías de recursos: Contienen elementos frecuentes

para facilitar la compartición y utilización del mismo código en varios diseños.

• L.normalizadas (STD, IEEE, ...).• L.definidas por el usuario (diseños compilados).

Los elementos de las librerías de recursos se suelen agrupar en unidades denominadas paquetes (“ packages”).

Dentro de un mismo paquete pueden existir elementos diversos como: tipos de datos, componentes, funciones, etc.

Page 20: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 20

Librerías

Para poder utilizar los elementos presentes en un paquete (hacerlos visibles al diseño) se utilizan las sentencias:

Si se quiere tener acceso a todos los elementos del paquete en nombre_elemento se pone la palabra reservada all.

LIBRARY std, work;

USE std.standard.all;Sentencias existentes siempre por defecto en todos los diseños.

Page 21: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 21

Librerías

Librerías de recursos normalizadas

Page 22: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 22

Su declaración equivale a definir un elemento con sus terminales externos de conexión.

port_list (“lista de puertos”): debe definir nombre, modo (dirección) y tipo de cada uno de ellos.

in: Entrada dedicada, sólo pueden ser leídos en la arquitectura out: Salida dedicada, sólo se les puede asignar valor en la arquitectura. inout: Bidireccional, permite lectura y escritura. buffer: Salida dedicada, pero puede ser leído en la arquitectura.

Entidad

Page 23: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 23

Es la segunda unidad de diseño y define la funcionalidad o comportamiento de una determinada Entidad.

Declaraciones: destinada a la declaración de objetos que se precisen para realizar la descripción del funcionamiento del dispositivo. Sentencias: descripción del funcionamiento.

Arquitectura

Page 24: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 24

ObjetosContienen valores.Los objetos pertenecen a una clase y tienen un tipo.

Clases de objetos:Constant. Se les asigna un valor inicial que no puede ser modificado.Variable. Contiene un valor que puede ser cambiado.Signal. Contiene una lista de valores que incluye el valor actual y un conjunto de

valores futuros.File. Modelan ficheros y se utilizan en bancos de pruebas.

Señales vs. VariablesAmbas se sintetizan en cables que interconectan componentes o básculas. Tienen semántica de simulación distinta.Es recomendable usar señales para la descripción de hardware.

TiposSe caracteriza por un conjunto de valores que puede tener y un conjunto de

operaciones. VHDL es un lenguaje fuertemente tipado:

Todos los objetos tienen un tipo.No se puede conectar señales que no son del mismo tipo.Se pueden crear nuevos tipos.

Elementos Básicos

Page 25: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 25

Tipos de datos

Tipos Enumerados

▪ Boolean: Pueden tomar dos valores: True o False▪ Bit: Pueden tomar dos valores ‘0’ o ’1’▪ Std_logic: Definido en el estándar IEEE 1164. Pueden tomar

como valores ‘0’, ‘1’, ‘-’, etc...▪ Definido por el usuario: Se suelen usar en la descripción de

máquinas de estado.

Tipos numéricos

▪ Integer: Tipo predefinido en IEEE 1076.• Rango (-231 ,231-1) 32 bits en complemento a 2.• Si no se acota el rango se sintetizan 32 bits:

– Signal a: integer range 0 to 7; -- se sintetizan 3 bits.

Page 26: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 26

Tipos de datos

Vectores

▪ Bit_vector, std_logic_vector: Se suelen utilizar para describir buses.

• Signal A: bit_vector(0 to 7);• Signal B: bit_vector(7 downto 0);

• Se puede asignar un valor a un elemento o a un segmento del vector– B(3) <= ‘0’; -- En la asignación a un elemento se emplean comilla

simples.– B(7 downto 0) <= “00101100”; -- En la asignación a un segmento se

emplean comillas dobles.• Se puede usar la cláusula “others” para asignar el mismo valor a todo

el vector o a una parte de él.– B<= (others => ‘0’); -- Asigna ‘0’ a todo el vector– B<= (7 => ‘1’, others => ‘0’); -- Equivale a B<=“10000000”;

Page 27: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 27

Operadores lógicos:

Están predefinidos para los tipos de datos:

Operadores relacionales:

Igualdad (=) y desigualdad (/=) están definidos para todos los tipos y devuelven un valor booleano. El resto, están definidos para todos los tipos escalares y para vectores.

Operadores aritméticos:

Están definidos para enteros y reales. Los 2 operandos han de ser del mismo tipo y el resultado también.

= igualdad, /= desigualdad, > mayor, < menor,>= mayor o igual y <= menor o igual

and, or, nand, nor, xor y not

bit, bit_vector, boolean, std_logic,vectores de booleanos y vectores de std_logic

+ Suma, - resta, * multiplicación, / división abs valor absoluto, mod módulo, ** potenciación y

rem resto de división entera

Operadores

Page 28: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 28

Estilos descriptivos

La descripción de sistemas hardware se puede hacer jerárquica, a distintos niveles de abstracción y de diferentes maneras:

▪ Descripción estructural: Describe la entidad como un conjunto de componentes conectados entre sí por señales.

• Cada subsistema puede ser diseñado independientemente de los otros.

▪ Descripción funcional: Especifica el comportamiento del diseño en función de los valores de las entradas.

Page 29: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 29

Descripción funcional

Descripción por Flujo de datos: Descripción mediante sentencias concurrentes (WITH, WHEN-ELSE), utilizando operadores aritméticos y/o lógicos.

Descripción secuencial: Mediante Procesos y sentencias secuenciales (IF, CASE, FOR LOOP,

etc.).

Page 30: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 30

Sentencias concurrentes

WITH: Permite ejecutar un grupo de sentencias secuenciales si se da una determinada condición.

Si la expresión toma el valor_1 se hace la primera asignación, si toma el valor_2, la segunda, y así sucesivamente

Los valores de selección no

pueden solaparse

Page 31: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 31

Sentencias concurrentes

WHEN-ELSE: Es una asignación concurrente condicional similar a WITH.

La señal recibe una asignación u otra en función de las condiciones tras WHEN. Si no hay cambio en la señal se puede utilizar la palabra clave UNAFFECTED.

Page 32: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 32

Procesos

Se define dentro de la arquitectura una zona de código VHDL en el que las sentencias se ejecutan de manera secuencial (en un orden determinado) y por tanto no concurrente.

Todas las señales leídas en el proceso deben estar en la lista de sensibilidad del proceso.

Page 33: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 33

Sentencias secuenciales

IF: Permite ejecutar un grupo de sentencias secuenciales si se da una determinada condición.

Page 34: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 34

Sentencias secuenciales

Si hay varias condiciones ciertas, la primera que se cumple marca el resultado final.

Una condición es cualquier expresión booleana.

Page 35: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 35

Sentencias secuenciales

CASE: Permite escoger entre grupos de sentencias secuenciales en función de la evaluación de una determinada expresión. La expresión puede ser de tipo discreto o tipo vector

Los valores de selección no

pueden solaparse

Page 36: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 36

Descripción Estructural 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 de una ENTIDAD, no se define el

comportamiento, sólo los terminales externos.

El comportamiento debe definirse fuera de la arquitectura donde se declara. Definiendo una ENTIDAD de igual nombre que el COMPONENTE y con una arquitectura asociada al mismo.

Page 37: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 37

Descripción Estructural

Una vez declarados los componentes, se asocian las señales de entrada y de salida dentro de la Arquitectura, definiendo las interconexiones entre ellos.

M1

M3

M2ABC

D

S0

S1 Y0

Y1

U1: M1 port map (A,B,C,S0,S1);

U2: M2 port map (S0,S1,Y0);

U3: M3 port map (S1,D,Y1);

Page 38: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 38

Modelado de sistemas combinacionales

El modelado de lógica combinacional puede realizarse mediante flujo de datos, procesos o descripción estructural.

Usar el diseño por flujo de datos cuando:▪ La lógica a modelar sea simple, para entidades simples.▪ Como complemento de lógica secuencial en procesos.

Usar procesos cuando:▪ La lógica a modelar sea compleja.

Usar una descripción estructural cuando se debe modelar un circuito compuesto por varios bloques, muchos de ellos de la misma clase.

Page 39: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 39

Se pretende diseñar un sistema combinacional descrito mediante la siguiente tabla de la verdad.

Ejemplo

A B SEL Z

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 1

1 1 1 1

Sistema

Combinacional

A

B

SEL

Z

SELBSELAZ ·· +=

Page 40: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 40

ENTITYsistema_combinacional ISPORT(A, B, SEL : in std_logic;Z: out std_logic);

END sistema_combinacional;

Entidad:

Sistema

Combinacional

A

B

SEL

Z

Ejemplo

Librerías:

LIBRARY IEEE;USE IEEE.std_logic_1164.all;

Page 41: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 41

ARCHITECTURE arquitectura_1 OF sistema_combinacional ISBEGIN

Z <= (A AND (NOT SEL))OR (B AND SEL);END arquitectura_1;

Arquitectura: Descripción por flujo de datos

Ejemplo

Ecuación booleana

SELBSELAZ ·· +=

ARCHITECTURE arquitectura_2 OF sistema_combinacional ISBEGIN

Z <= A WHEN SEL = ‘0’ ELSE B;END arquitectura_2;

Sentencia WHEN-ELSE

Page 42: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 42

ARCHITECTURE arquitectura_3 OF sistema_combinacional ISSIGNAL entrada : std_logic_vector (2 downto 0);

BEGIN entrada <= A & B & SEL;

WITH entrada SELECTZ <= ‘0’ WHEN “000”,

‘0’ WHEN “001”, ‘0’ WHEN “010”, ‘0’ WHEN “101”, ‘1’ WHEN OTHERS;END arquitectura_3;

Arquitectura: Descripción por flujo de datos

Ejemplo

Sentencia WITH

Page 43: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 43

ARCHITECTURE arquitectura_4 OF sistema_combinacional ISSIGNAL S1,S2,S3: std_logic; -- declaración de señalesCOMPONENT AND2 -- declaración de componente AND2

PORT (I0,I1:in std_logic; o:out std_logic);END COMPONENT;COMPONENT OR2 -- declaración de componentes OR2 PORT (I0,I1:in std_logic; o:out std_logic);END COMPONENT;COMPONENT INVERSOR -- declaración de componente INVERSOR

PORT (I:in std_logic; o:out std_logic);END COMPONENT;

BEGIN -- conexionado de los componentesU1: INVERSOR PORT MAP (SEL,S1);U2: AND2 PORT MAP (A,S1,S2);U3: AND2 PORT MAP(SEL,B,S3);U4: OR2 PORT MAP (S2,S3,Z);

END arquitectura_4;

Arquitectura: Descripción estructural

Ejemplo

Page 44: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 44

ENTITY AND2 IS --Definición del componente AND2PORT( I0, I1 : in std_logic; o: out std_logic);END AND2;ARCHITECTURE puerta_and OF AND2 ISBEGIN

o: I0 and I1;END AND2;

ENTITY OR2 IS --Definición del componente OR2PORT( I0, I1 : in std_logic; o: out std_logic);END OR2;ARCHITECTURE puerta_or OF OR2 ISBEGIN

o: I0 or I1;END OR2;

Descripción estructural -- …continuaciónEjemplo

Page 45: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 45

ENTITY INVERSOR IS --Definición del componente INVERSORPORT( I: in std_logic; o: out std_logic);END INVERSOR;ARCHITECTURE puerta_not OF INVERSOR ISBEGIN

o: not I;END INVERSOR;

Descripción estructural -- …continuaciónEjemplo

Page 46: Módulo 3: ELECTRÓNICA DIGITALhermessuspendeme.com/DOCS/GrevaGreta/3A/Circuits...Implementación física de circuitos lógicos Contienen puertas lógicas o bien bloques básicos

Electrónica Digital, Módulo 3: Dispositivos Lógicos Programables

Departament d’ Enginyeria Electrònica 46

Ejemplo

LIBRARY IEEE;USE IEEE.std_logic_1164.all;

ENTITYsistema_combinacional ISPORT(A, B, SEL : in std_logic;

Z: out std_logic);END sistema_combinacional;

ARCHITECTURE arquitectura_3 OF sistema_combinacional ISSIGNAL entrada : std_logic_vector (2 downto 0);

BEGIN entrada <= A & B & SEL;

WITH entrada SELECTZ <= ‘0’ WHEN “000”,

‘0’ WHEN “001”, ‘0’ WHEN “010”, ‘0’ WHEN “101”, ‘1’ WHEN OTHERS;END arquitectura_3;