Titulación: Ingeniería Informática Asignatura: Fundamentos de Computadores

Documentos relacionados
Titulación: Ingeniería Informática Asignatura: Fundamentos de Computadores. Bloque 3: Sistemas secuenciales Tema 9: Módulos secuenciales básicos

INGENIERÍA DE COMPUTADORES III. Solución al Ejercicio de Autocomprobación 1

Lógica secuencial. Biestables

Circuitos Secuenciales: concepto de estado

PARTE I. TÉCNICAS DE DISEÑO ELECTRÓNICO MEDIANTE LENGUAJES DE DESCRIPCIÓN HARDWARE

UNIVERSIDAD CARLOS III DE MADRID. Ejercicios de VHDL. Circuitos Integrados y Microelectrónica. Luis Entrena. Celia López.

Organización de Computadoras Apunte 5: Circuitos Lógicos Secuenciales

Circuitos Secuenciales: concepto de estado

Tema 7. Análisis de Circuitos Secuenciales

LECCIÓN Nº 06 DISEÑO DE CONTADORES SINCRONOS

INGENIERÍA DE COMPUTADORES III. Solución al examen de Septiembre 2012

+ Máquinas de Estado Finitas

MAQUINA DE ESTADO FINITO (FSM) Autómata finito

TEMA 4. Registro de la Información

Los circuitos con realimentación no son combinacionales. Constituyen un nuevo tipo, los llamados secuenciales.

MAQUINA DE ESTADO FINITO (FSM) Autómata finito

CONTADORES. Definición. Diseño y analisis de un contador binario hacia arriba de 3 bits con flip-flops JK. Otros contadores típicos.

Julio. [ Programación en VHDL ] Guía rápida. [ h t t p : / / w w w. o p e n b o x e r m b. c o m / a s i g n a t u r a s / d s d.

LABORATORIO DE CIRCUITOS DIGITALES (2005-II) QUINTA CLASE DE VHDL

Índice. VHDL Lección 2.9 Máquinas de Estados Finitos (FSM) 1

LABORATORIO DE CIRCUITOS DIGITALES (2005-II) CUARTA CLASE DE VHDL

VHDL: Código Secuencial. Arquitectura del Computador 2017

Recursos y Metodologías. Función. Programas

Biestables. Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid

INGENIERÍA DE COMPUTADORES III. Solución al examen de Septiembre 2013

Práctica I.- Introducción a los Sistemas Secuenciales

Practica 9 Estilos de codificar a estados FCE

INGENIERÍA DE COMPUTADORES 3. Solución al Trabajo Práctico - Septiembre de 2016

Practicas tuteladas VHDL (curso 04-05)

LECCIÓN Nº 05 SEÑALES DE RELOJ Y FLIP FLOP SINCRONIZADOS POR RELOJ

Latch D con Multiplexor. Recordemos el funcionamiento de un Multiplexor B 1. Control Z 0 A 1 B. Realicemos la siguiente modificación

Unidad 3: Circuitos digitales.

Practica No. 8 Introducción a las Máquinas de Estados. 1. En la figura 1 se muestra el comportamiento de un robot que evade obstáculos.

INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA ELECTRÓNICA TRABAJO TUTORADO DE VHDL. Primer Cuatrimestre Curso 2005/2006.

DESCRIPCIÓN DE CIRCUITOS DIGITALES

Dado el siguiente circuito digital, encontrar la tabla característica y la tabla de operación del flip-flop correspondiente

Electrónica Digital: Diseño y Lógica Secuencial

Práctica I Modelado y simulación de una máquina expendedora de refrescos

GUÍA PRÁCTICA DEL SOFTWARE ACTIVE-HDL.

Diseño electrónico digital integrado: Back to basics. Sep-2011 F.Barbero Escuela Politécnica Superior - Universidad Autónoma de Madrid

Tema 4. Sistemas Secuenciales

VHDL. Lenguaje de descripción hardware

VI. Especificación del Comportamiento

Diseño de Sistemas Secuenciales Síncronos. Registros y contadores. Tema 9

Circuitos Secuenciales Autómatas

Electrónica Digital Departamento de Electrónica VHDL. Bioingeniería Facultad de Ingeniería - UNER

FLIP-FLOP JK MAESTRO-ESCLAVO

Introducción a los Circuitos Secuenciales LATCHES Y FLIP-FLOPS. Por: Carlos A. Fajardo

VHDL. Carlos Andrés Luna Vázquez. Lección 10 Problemas

DISEÑO DE CIRCUITOS SECUENCIALES

SISTEMAS DIGITALES VHDL

EL Sistemas Digitales

5.1. Introducción a los sistemas digitales

Tutorial 2: Pasar de diagrama ASM a un circuito

Sistemas Electrónicos Digitales. PRACTICA nº 3

CURSO: Electrónica digital UNIDAD III: CIRCUITOS SECUENCIALES - TEORÍA

Sistemas Electrónicos Digitales Curso de adaptación al Grado

Fundamentos de los Computadores Grado en Ingeniería Informática Análisis y diseño de sistemas secuenciales

Unidad III Introducción a la lógica secuencial

5. Decodificadores. Salida _1= A A A A = m = M ... Electrónica Digital. Tema

HOJA DE PROBLEMAS 8: ELEMENTOS DE MEMORIA

TEMA 1 FUNDAMENTOS DEL DISEÑO DEL HARDWARE DIGITAL

Titulación: Grado en Ingeniería Informática Asignatura: Fundamentos de Computadores

LABORATORIO DE SISTEMAS DIGITALES. PRÁCTICA No. 8. Fecha: 03/07/ /07/2017

Diseño VLSI. Diseño de elementos de memoria. Enric Pastor Dept. Arquitectura de Computadors UPC

Estructura de VHDL. Sistemas Digitales Avanzados. Universidad Técnica Particular de Loja Prof: Diego Barragán Guerrero. Oct Feb.

Electrónica Digital Curso 2013/2014

Universidad Autónoma de Querétaro Facultad de Ingeniería

Laboratorio de Arquitectura de Computadoras

Cuatro Tipos de Flip-Flop en la GAL22V10

DISEÑO DE PROCESADORES DEDICADOS. Práctica 6 LCD de Propósito General

TEMA 10. CIRCUITOS SECUENCIALES

VHDL y el método de diseño basado en descripción y síntesis. RESUMEN.

Practica No. 5 Diseño de un Multiplicador

Circuitos Secuenciales

EN ESTE CIRCUITO NO HAY FORMA DE QUE LA SALIDA Q VUELVA A VALOR CERO 0, SIEMPRE QUEDA EN UNO 1

CURSO: ELECTRÓNICA DIGITAL UNIDAD 3: SISTEMAS SECUENCIALES - TEORÍA PROFESOR: JORGE ANTONIO POLANÍA

LABORATORIO DE CIRCUITOS DIGITALES (2005-II) SEGUNDA CLASE DE VHDL

TEMA 5.3 SISTEMAS DIGITALES

T7-SISTEMAS SECUENCIALES

Practica No. 5 Diseño de un Multiplicador

Introducción Tipos de FF Ejercicios. Lógica Digital. Circuitos Secuenciales. Francisco García Eijó

Sistemas Secuenciales

PRÁCTICA: LENGUAJE VHDL

Lógica Secuencial. Circuitos Digitales, 2º de Ingeniero de Telecomunicación ETSIT ULPGC

Unidad 3: Circuitos digitales.

Introducción al VHDL. VHDL orientado a la síntesis de circuitos en Dispositivo Lógicos Programables

Sistemas Digitales - Examen temas 1, 2 y 3 - (6 de Abril 2016)

Comparador de 1 bit Tabla de verdad y circuito lógico A B A > B A = B A < B

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS FACULTAD DE INGENIERIA ELECTRONICA ESCUELA DE ELECTRONICA

SENTENCIA LOOP 1.- Implementar y simular el siguiente circuito que cuenta el número de bits 1 que ingresan

Lección 6. Circuitos Secuenciales. Ing. Luis Diego Murillo L1-Control Eléctrico 1

Tema 4. Elementos Lógicos Secuenciales

TEMA 12 Circuitos secuenciales

EIE SISTEMAS DIGITALES Tema 7: Latches, Flip-Flops y Temporizadores. Nombre del curso: Sistemas Digitales Nombre del docente: Héctor Vargas

Síntesis de circuitos secuenciales síncronos: Máquinas de estados finitos

Arquitectura de Computadores. Práctica 1: Diseño Hardware de Procesadores. Práctica 1/1

4.5. Procedimiento de síntesis

Departamento de Ingeniería Electrónica E.T.S.I. Telecomunicación U.P.M. CIRCUITOS ELECTRÓNICOS PRUEBA ESCRITA Enero de 2015 Duración: 90 min.

4. SUMADORES EN BINARIO PURO (I)

Transcripción:

Titulación: Ingeniería Informática Asignatura: Fundamentos de Computadores Bloque 3: Sistemas secuenciales Tema 8: José Ignacio Martínez Torre Luis Rincón Córcoles

ÍNDICE Bibliografía Introducción Biestables asíncronos Biestables síncronos por nivel Biestables síncronos por flanco Flip-flop SR Flip-flop JK Flip-flop D Flip-flop T Síntesis de máquinas de estados con flip-flops Análisis de máquinas de estados con flip-flops Descripción de máquinas de estados en VHDL 2

BIBLIOGRAFÍA Román Hermida, Ana Mº del Corral, Enric Pastor, Fermín Sánchez Fundamentos de Computadores, cap. 5 Editorial Síntesis Thomas L. Floyd Fundamentos de Sistemas Digitales, cap. 8 Editorial Prentice Hall Daniel D. Gajski Principios de Diseño Digital, cap. 6 Editorial Prentice Hall M. Morris Mano Diseño Digital, cap. 6 Editorial Prentice Hall 3

INTRODUCCIÓN Los elementos de memoria básicos se llaman biestables, por que pueden estar en dos posibles estados: con la salida a o a. Según las entradas de datos de que disponen podemos establecer varios tipos de biestables: S-R: entradas de puesta a (S, set) y puesta a (R, reset) J-K: entradas de puesta a (J, set) y puesta a (K, reset) D: entrada de datos (D) T: entrada de inversión o basculamiento (toggle) Los biestables pueden ser asíncronos o síncronos: Asíncronos (latch): cuando cambia cualquiera de las entradas puede cambiar la salida. Síncronos: la salida puede cambiar sólo cuando la señal de sincronismo lo permite. 4

INTRODUCCIÓN Además, dentro de los biestables síncronos se puede diferenciar entre: Síncronos por nivel (gated latch): la salida puede cambiar cuando la señal de sincronismo está en un determinado nivel(alto o bajo). Síncronos por flanco (low/high edge-triggered flip-flop): la salida puede cambiarcuandolaseñaldesincronismopasadeunnivelaotro. Cuandopasadenivelbajoaalto=>síncronoporflancodesubida. Cuandopasadenivelaltoabajo=>síncronoporflancodebajada. Los más utilizados son los biestables síncronos por flanco, y reciben el nombre de flip-flops. Normalmente los biestables síncronos cuentan con entradas asíncronas que se utilizan para forzar un valor determinado en los mismos al margen del reloj(prevalecen sobre él). Puesta a asíncrona(clear, reset) Puestaaasíncrona(preset,set) 5

INTRODUCCIÓN Tabla de excitación de un biestable: Muestra las entradas que hay que introducir en un biestable para gobernar sus transiciones entre estados.

ÍNDICE Bibliografía Introducción Biestables asíncronos Biestables síncronos por nivel Biestables síncronos por flanco Flip-flop SR Flip-flop JK Flip-flop D Flip-flop T Síntesis de máquinas de estados con flip-flops Análisis de máquinas de estados con flip-flops Descripción de máquinas de estados en VHDL 7

BIESTABLES ASÍNCRONOS El elemento de memoria más sencillo es el latchsr que tiene dos puertas NOR o NAND de dos entradas conectadas entre sí. Es un biestable con un estado de Set(puesta a ) y otro de Reset(puesta a ). Latch SR NOR Asíncrono: 8

BIESTABLES ASÍNCRONOS Latch SR NAND Asíncrono: El latchsr NAND opera con señales activas bajas 9

ÍNDICE Bibliografía Introducción Biestables asíncronos Biestables síncronos por nivel Biestables síncronos por flanco Flip-flop SR Flip-flop JK Flip-flop D Flip-flop T Síntesis de máquinas de estados con flip-flops Análisis de máquinas de estados con flip-flops Descripción de máquinas de estados en VHDL

BIESTABLES SÍNCRONOS POR NIVEL LatchSR NOR síncrono por nivel (gatedlatch): añadiendo unas puertas AND y una señal de sincronismo C, se puede convertir el latchsr NOR asíncrono en uno síncrono por nivel.

BIESTABLES SÍNCRONOS POR NIVEL Latch D síncrono (gated latch): añadiendo un inversor para que la entrada R y la entrada S nunca tengan el mismo valor se elimina el estado prohibido, y se obtiene un biestable D. R S Latch D síncrono (gated latch) con Clear y Preset asíncronos: se pueden añadir entradas de clear y preset asíncronas conectándolas directamente el latch SR interno. CLR PRS ON Preset(Q=) Clear (Q=) No permitido 2

BIESTABLES SÍNCRONOS POR NIVEL Comportamiento indeseado de los biestables disparados por nivel: Desplazamiento de un valor alto X= por 3 latches. Comportamiento deseado:,, (/2) 2 3 Comportamiento obtenido:,, Se debe a que los latchesson transparentes y cuando C=H los cambios en D se propagan Solución: Flip-flopmaster-slaveo disparado por flanco 2 3 2 3 3

ÍNDICE Bibliografía Introducción Biestables asíncronos Biestables síncronos por nivel Biestables síncronos por flanco Flip-flop SR Flip-flop JK Flip-flop D Flip-flop T Síntesis de máquinas de estados con flip-flops Análisis de máquinas de estados con flip-flops Descripción de máquinas de estados en VHDL 4

BIESTABLES SÍNCRONOS POR FLANCO Flip-flopD master-slave: utilizando dos biestablessíncronos por nivel se puede construir un biestable síncrono por flanco. 2 Con Clk= el primer D captura y el segundo D no cambia Con Clk= al revés Este modo de operación implica que se captura D en el flanco de subida del reloj Clk 5

BIESTABLES SÍNCRONOS POR FLANCO Comportamiento deseado de los biestables disparados por flanco: Desplazamiento de un valor alto X= por 3 biestables master-slave. Comportamiento deseado:,, (/2) 2 3 6

BIESTABLES SÍNCRONOS POR FLANCO 2 3,, Desplazamiento correcto 7

BIESTABLES SÍNCRONOS POR FLANCO Flip-flop D disparado por flanco de subida del reloj: Consiste en añadir al latch convencional dos latches que aseguren que en S y en R nunca se da la condición prohibida. 8

BIESTABLES SÍNCRONOS POR FLANCO Set Set Reset Este modo de operación implica que se captura D en el flanco de subida del reloj Clk 9

BIESTABLES SÍNCRONOS POR FLANCO Flip-flopD disparado por flanco de subida del reloj con Clear y Preset: El Flip-flopD base + 2 entradas adicionales CLR y PRS en las NAND del latchde salida CLR PRS No permitido Clear (Q=) Preset(Q=) ON 2

PARÁMETROS DE LOS BIESTABLES Para que un flip-flop funcione correctamente, hay que respetar dos tiempos: Tiempo de preestabilización (setup time): tiempo previo al flanco activo en el que las entradas deben permanecer estables. Tiempo de mantenimiento (hold time): tiempo posterior al flanco activo en el que las entradas deben permanecer estables. D estable D t setup t hold t setup t hold Clk Si no se respetan estos tiempos: metaestabilidad. Elflip-floppuedetomarunvalorqueniesnies. Elflip-flopserecuperasolo,peronosesabecuántotiempotardaenhacerlo. 2

PARÁMETROS DE LOS BIESTABLES Otro tiempo importante es el retardo de propagación(propagation delay): Es el tiempo transcurrido desde el flanco hasta que la salida del biestable presenta el nuevo estado. El tiempo de cambio de valor alto a bajo (t PHL ) y el de bajo a alto (t PLH ) no tienen por qué ser iguales. El retardo de propagación es siempre mayor que el tiempo de mantenimiento. D estable D t setup t hold t setup t hold Clk t PLH t PHL Q 22

FLIP-FLOP SR 23

FLIP-FLOP SR: MODELO VHDL library ieee; use ieee.std_logic_64.all; entity flipflopsr is port(clk, rst, S, R: in std_logic; Q: out std_logic); end flipflopsr; architecture funcional of flipflopsr is begin process(clk, rst) begin if rst = '' then Q <= ''; elsif rising_edge(clk) then if S = '' then Q <= ''; elsif R = '' then Q <= ''; end if; end if; end process; end funcional; 24

FLIP-FLOP JK 25

FLIP-FLOP JK: MODELO VHDL library ieee; use ieee.std_logic_64.all; entity flipflopjk is port(clk, rst, J, K: in std_logic; Q: out std_logic); end flipflopjk; architecture funcional of flipflopjk is signal JK: std_logic_vector( downto ); signal Q_aux: std_logic; begin JK <= J&K; process(clk, rst) begin if rst = '' then Q_aux <= ''; elsif rising_edge(clk) then case JK is when "" => Q_aux <= Q_aux; when "" => Q_aux <= ''; when "" => Q_aux <= ''; when others => Q_aux <= not Q_aux; end case; end if; end process; Q <= Q_aux; end funcional; 26

FLIP-FLOP D 27

FLIP-FLOP D: MODELO VHDL library ieee; use ieee.std_logic_64.all; entity flipflopd is port(clk, rst, D: in std_logic; Q: out std_logic); end flipflopd; architecture funcional of flipflopd is begin process(clk,rst) begin if rst = '' then Q <= ''; elsif rising_edge(clk) then Q <= D; end if; end process; end funcional; 28

FLIP-FLOP T 29

FLIP-FLOP T: MODELO VHDL library ieee; use ieee.std_logic_64.all; entity flipflopt is port(clk, rst, T: in std_logic; Q: out std_logic); end flipflopt; architecture funcional of flipflopt is signal Q_aux: std_logic; begin process(clk,rst) begin if rst = '' then Q_aux <= ''; elsif rising_edge(clk) then if T = '' then Q_aux <= not Q_aux; end if; end if; end process; Q <= Q_aux; end funcional; 3

ÍNDICE Bibliografía Introducción Biestables asíncronos Biestables síncronos por nivel Biestables síncronos por flanco Flip-flop SR Flip-flop JK Flip-flop D Flip-flop T Síntesis de máquinas de estados con flip-flops Análisis de máquinas de estados con flip-flops Descripción de máquinas de estados en VHDL 3

SÍNTESIS DE FSM CON FLIP-FLOPS Hemos visto ya la síntesis de máquinas secuenciales utilizando flip-flops de tipo D. Revisaremos la síntesis, pero empleando ahora flip-flops de otras clases. La dificultad estriba en la síntesis de la función de transición. Con flip-flopsd basta con conocer el estado próximo, y suministrar a la entrada D el valor del estado buscado. Con otros flip-flopshay que conocer el estado actual y el próximo, y en función de ambos establecer el valor de las entradas. En los flip-flopssr y JK será preciso calcular dos funciones por cada variable de estado. Usaremos el mismo ejemplo que en el tema anterior. Materializaremos únicamente máquinas de Mealy. X {a, b} Z {p, q} X Sistema secuencial Z = q p si los caso últimos contrario tres datos son : abb 32

SÍNTESIS DE FSM CON FLIP-FLOPS b/p S Inicio Diagrama de estados a/p b/p a/p S S 2 a/p b/q Tabla de estados y salidas Estado actual Entrada actual A S S /p S /p S S /p S 2 /p S 2 S /p S /q b Estado siguiente / Salida Codificación binaria Tabla de estados y salidas Entrada Salida Estado S(t) X X(t) X Z(t) Z S(t) Q Q Q Q a p S / / b q S / / S 2 / / 33

SÍNTESIS DE FSM CON FLIP-FLOPS: JK Si elegimos biestables JK, tenemos que crear una nueva tabla de excitación y salida. S(t) X Q Q / / / / / / S(t), X S(t+), Z Entradasde excitación Q Q X Q Q Z J K J K X X X X X X X X X X X X X X X X X X X X X X X X X X 34

SÍNTESIS DE FSM CON FLIP-FLOPS: JK Es preciso materializar J, K, J, K y Z. S(t), X S(t+), Z Entradasde excitación Q Q X Q Q Z J K J K X X X X X X X X X X X X X X X X X X X X X X X X X X Función de transición J Z (Q J K K (Q (Q (Q,Q,Q,Q,Q,X ) = X,X,X,X ) = ) = X ) = X Q Función de salida (Q,Q,X) = X Q 35

SÍNTESIS DE FSM CON FLIP-FLOPS: JK Función de transición S(t+) Memoria S(t) Función de salida Z J K Q J Q K 36

SÍNTESIS DE FSM CON FLIP-FLOPS: SR Si elegimos biestables SR, la tabla de excitación y salida cambia. S(t) X Q Q / / / / / / S(t), X S(t+), Z Entradasde excitación Q Q X Q Q Z S R S R X X X X X X X X X X X X X X X X X X X X Sería preciso materializar S, R, S, R y Z. 37

ÍNDICE Bibliografía Introducción Biestables asíncronos Biestables síncronos por nivel Biestables síncronos por flanco Flip-flop SR Flip-flop JK Flip-flop D Flip-flop T Síntesis de máquinas de estados con flip-flops Análisis de máquinas de estados con flip-flops Descripción de máquinas de estados en VHDL 38

ANÁLISIS DE FSM CON FLIP-FLOPS Lo que cambia es la generación de la tabla de excitación y salida. J Entradas: X {,} Salidas: Z {,} Variables de estado: 2 {Q,Q } K Q J La salida depende del estado y de la entrada: es una máquina de Mealy. K Q 39

ANÁLISIS DE FSM: ECUACIONES Y TABLAS - MEALY Función de transición J (Q J K K (Q (Q,Q (Q,Q,Q,Q,X ) = X,X,X,X ) = ) = X ) = X Q Z Función de salida (Q,Q,X) = X Q S(t), X Entradasde excitación S(t+), Z Q Q X J K J K Q Q Z X X X X X X X X X X X X X X X X X X X X X X X X X X La salida depende del estado y de la entrada: es una máquina de Mealy. S(t) X Q Q / / / / / / / / 4

ANÁLISIS DE FSM: DECODIFICACIÓN Y REPRESENTACIÓN FORMAL - MEALY Asignamos nombres y valores a las entradas, los estados y la salida. S(t) X Entrada Salida Estado Q Q X X(t) Z Z(t) Q Q S(t) / / a p S / / b q S / / S 2 / / S 3 Estado actual Entrada actual a S S /p S /p S S /p S 2 /p S 2 S /p S /q S 3 S /p S /q b inicio b/p S b/p b/q S3 a/p a/p S2 a/p S b/p a/p 4

ÍNDICE Bibliografía Introducción Biestables asíncronos Biestables síncronos por nivel Biestables síncronos por flanco Flip-flop SR Flip-flop JK Flip-flop D Flip-flop T Síntesis de máquinas de estados con flip-flops Análisis de máquinas de estados con flip-flops Descripción de máquinas de estados en VHDL 42

Las máquinas de estados se pueden describir fácilmente en VHDL de forma funcional. DESCRIPCIÓN DE MÁQUINAS DE ESTADOS EN VHDL Se describen utilizando 2 procesos, uno que modela el cálculo del estado siguiente y de la salida, y otro proceso que modela la actualización del estado. Se puede crear un tipo de datos enumerado para los estados, o se puede utilizar un vector de bits. Vamos a ver un ejemplo con la siguiente máquina de estados: / / / S / S / S2 Inicio / 43

Ejemplo: entidad y proceso que modela el estado futuro y la salida. DESCRIPCIÓN DE MÁQUINAS DE ESTADOS EN VHDL library ieee; use ieee.std_logic_64.all; entity fsm_funcional is port(clk,rst,x: in std_logic; z: out std_logic); end fsm_funcional; architecture funcional of fsm_funcional is type estados is (S, S, S2); signal ns, ps: estados; --next state y present state begin --proximo estado y salida process(x,ps) begin case ps is when S => if x = '' then ns <= S; z <= ''; else ns <= S; z <= ''; end if; when S => if x = '' then ns <= S; z <= ''; else ns <= S2; z <= '; end if; when S2 => if x = '' then ns <= S; z <= ''; else ns <= S; z <= ''; end if; end case; end process; 44

DESCRIPCIÓN DE MÁQUINAS DE ESTADOS EN VHDL Ejemplo (continuación): proceso que modela la actualización del estado. --actualización del estado process(clk,rst) begin if rst = '' then ps <= S; elsif rising_edge(clk) then ps <= ns; end if; end process; end funcional; 45

Ejemplo (continuación): test-bench. DESCRIPCIÓN DE MÁQUINAS DE ESTADOS EN VHDL library ieee; use ieee.std_logic_64.all; entity test_fsm_funcional is end test_fsm_funcional; architecture test of test_fsm_funcional is signal clk: std_logic := ''; signal rst,x,z: std_logic; begin clk <= not clk after 5 ns; rst <= '', '' after ns, '' after 2 ns; x <= '', '' after 3 ns,'' after 6 ns, '' after 7 ns, '' after 8 ns; inst: entity work.fsm_funcional port map(clk,rst,x,z); end test; 46

Ejemplo (continuación): resultado de la simulación. DESCRIPCIÓN DE MÁQUINAS DE ESTADOS EN VHDL 47