Sin título de diapositiva

Departamento de Arquitectura y Tecnología de Sistemas Informáticos - Facultad de Informática -. Universidad Politécnica de Madrid - V. Rodellar. 1. PARTE I.
508KB Größe 4 Downloads 44 vistas
PARTE I. TÉCNICAS DE DISEÑO ELECTRÓNICO MEDIANTE LENGUAJES DE DESCRIPCIÓN HARDWARE

TEMA 3. Modelos de sistemas con VHDL Curso 05/06

© Departamento de Arquitectura y Tecnología de Sistemas Informáticos - Facultad de Informática Universidad Politécnica de Madrid - V. Rodellar

1

TEMA 3. Modelos de sistemas digitales 3.1 Sistemas combinacionales 3.1.1 Modelado de retardos en funciones lógicas y estilos de descripción de arquitecturas. 3.1.2 Modelado de multiplexores en los estilos: algorítmico, flujo y estructural 3.1.3 Modelado de decodificadores en los estilos: algorítmico, flujo y estructural

3.2 Sistemas de memoria 3.2.1 Realización de biestables y latches en estilos: comportamiento, flujo y estructural. Entradas de control asíncronas y asíncronas. Relojes. 3.2.2 Realización de registros en estilo estructural. Reusabilidad. Bucles hardware. 3.2.3 Otros ejemplos.

© Departamento de Arquitectura y Tecnología de Sistemas Informáticos - Facultad de Informática Universidad Politécnica de Madrid - V. Rodellar

2

3.3 Sistemas secuenciales 3.3.1 Modelos para máquinas de estados finitos 3.3.2 Realización de una máquina de Moore 3.3.3 Realización de una máquina de Mealy

Resumen

NOTA: Los apartados 3.1 y 3.2 han sido desarrollados en las clases de teoría de temas anteriores y en las clases de laboratorio.

© Departamento de Arquitectura y Tecnología de Sistemas Informáticos - Facultad de Informática Universidad Politécnica de Madrid - V. Rodellar

3

3.3.1 Modelos para máquinas de estados finitos (FSM) - Modelos de Moore y Mealy - Metodología de diseño de FSM -Modelo algorítmico - Un mal modelo - Un modelo mejorado (Moore) - Señales de Reset - Varios PROCESS - Modelo Data flow - Modelo estructural - Comparación entre los modelos de Mealy y Moore © Departamento de Arquitectura y Tecnología de Sistemas Informáticos - Facultad de Informática Universidad Politécnica de Madrid - V. Rodellar

4

Esquemas de Moore y Mealy Estructura de Moore

(FSMs)

Estructura de Mealy

O(t) = F1( S(t))

O(t) = F1( S(t), I(t))

S(t+1) = F2 (I(t), S(t))

S(t+1) = F2 (I(t), S(t)) O(t) Salidas

O(t) Salidas

(combinacional)

(combinacional)

inputs I(t)

Estado futuro

S(t+1) Estado futuro

(Combinacional)

S(t+1)

(Combinacional) inputs I(t)

Estado actual S(t)

Estado actual

Registro (Secuencial) clock

S(t)

Registro (Secuencial)

© Departamento de Arquitectura y Tecnología de Sistemas Informáticos - Facultad de Informática Universidad Politécnica de Madrid - V. Rodellar

5 clock

Metodología de diseño de FSM Niveles de Descripción asociados con los HDLs

Etapas básicas

1) Diagrama-Tabla de estados, ASM entrada

Moore

estado

estado

salida

salida

}

entrada/salida estado

Comportamiento o algorítmico

estado Mealy 6

Metodología de diseño de FSM Etapas básicas

Niveles de Descripción asociados con los HDLs 2) Ecuaciones del estado futuro y salidas Estado actual Entradas Estado futuro C1(t) C0(t)

Salidas

A(t) B(t) C1(t+1) C0(t+1)

X(t) Y(t)

0

0

0

0

0

1

1

0

0

0

0

1

0

0

1

1

0

0

1

0

0

0

1

1

.......

...........

...........

..........

D1(t+1) = C1(t) A(t) + C0(t) A(t)’+ ...... D0(t+1) = C1(t) B(t) + C0(t) B(t)’+ ...... X(t) = ........

Y(t) = ................

}

Flujo de datos o transferencia entre registros 7

Metodología de diseño de FSM Etapas básicas

Niveles de Descripción asociados con los HDLs

3) Implementación del circuito Componentes: Dispositivos lógicos (puertas: NOT, AND ... MUX, DECODERS, .....)

}

Estructural

Elementos de memoria ( Flip-Flops) Conexionado

8

Modelado Algorítmico de FSM • Consideraciones Generales: – El estilo del código tiene que ser independiente de la máquina de estados que se diseñe. – Diferentes formas de modelar la misma máquina: • ¿Cuantos procesos PROCESS? • ¿Señales o variables? • ¿Sentencias IF o CASE? • El uso de la sentencia WAIT – ¿Debe ser inicializada la máquina en un estado válido? ¿Hay que utilizar señal de reset? – Portabilidad del código © Departamento de Arquitectura y Tecnología de Sistemas Informáticos - Facultad de Informática Universidad Politécnica de Madrid - V. Rodellar

9

Modelado algorítmico de una FSM - Un mal modelo

Máquina de Moore Retardo en la operación de lectura en una memoria RAM Read (R)

Slow (S)

Write (W) Clock

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.all; ST_READ R=1 W=0

ST_WRITE

S=0

R=0 W=1

S=1 ST_DELAY R=0 W=0

ENTITY fsm_bad IS PORT ( clock: IN STD_LOGIC; -- flanco subida slow: IN STD_LOGIC; -- entrada control read, write: OUT STD_LOGIC -- salidas ); END fsm_bad;

© Departamento de Arquitectura y Tecnología de Sistemas Informáticos - Facultad de Informática Universidad Politécnica de Madrid - V. Rodellar

10

Modelado algorítmico de una FSM - Un mal modelo Retardo en la operación de lectura en una memoria RAM ST_READ R=1 W=0

ST_WRITE

S=0

R=0 W=1

S=1 ST_DELAY R=0 W=0

Máquina de Moore

ARCHITECTURE bad OF fsm_bad IS BEGIN PROCESS TYPE state_type IS (ST_read, ST_write, ST_delay); VARIABLE state :state_type := ST_read; BEGIN WAIT UNTIL rising_edge(clock); CASE state IS WHEN ST_read => read