máquinas de estados finitos virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf ·...
TRANSCRIPT
![Page 1: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/1.jpg)
MÁQUINAS DE ESTADOS VIRTUALES FINITOS
Una contribución a la implementación electrónica de máquinas de estados
Lectura de tesis doctoral
Director:
• José Luis Guisado Lizar
(Univ. de Sevilla)
25 de septiembre de 2012
Tribunal:
• Manuel Jesús Bellido Díaz
(Univ. de Sevilla)
• Juan Antonio Gómez Pulido
(Univ. de Extremadura)
• José María Rodríguez Corral
(Univ. de Cádiz)
• Pedro Guerra Gutiérrez
(Univ. de Politécnica de Madrid)
• Daniel Cagigas Muñiz
(Univ. de Sevilla)
Autor:
• Raouf Senhadji Navarro
![Page 2: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/2.jpg)
CONTENIDO
Introducción
Caracterización de implementaciones basadas en
memoria de FSM sobre FPGA
Máquinas de Estados Virtuales Finitos (FVSM)
Implementación de FVSM en FPGA
Generación automática de implementaciones FVSM
Comparativa entre implementaciones FSM y FVSM
Otras aportaciones a la implementación basada en
memoria de FSM
Conclusiones y trabajo futuro
2
![Page 3: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/3.jpg)
CONTENIDO
Introducción
Caracterización de implementaciones basadas en
memoria de FSM sobre FPGA
Máquinas de Estados Virtuales Finitos (FVSM)
Implementación de FVSM en FPGA
Generación automática de implementaciones FVSM
Comparativa entre implementaciones FSM y FVSM
Otras aportaciones a la implementación basada en
memoria de FSM
Conclusiones y trabajo futuro
2
![Page 4: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/4.jpg)
MOTIVACIÓN
Una máquina de estados finitos (FSM) es un modelo que permite describir el comportamiento de un circuito secuencial
Investigación en la implementación electrónica de FSM
Una implementación eficiente involucra problemas computacionalmente complejos
Nuevos retos: Diseñar hardware para tareas tradicionalmente implementadas por software con objeto de alcanzar las altas prestaciones demandadas
Pueden transformarse en FSM con un número elevado de estados
El reconocimiento de patrones o el rutado de paquetes en redes
Nuevos recursos y capacidades en las FPGA
Importante crecimiento de los recursos de memoria (94% SoC)
Arquitecturas basadas en memoria
Herramientas para mapear lógica en bloques de memoria
3
![Page 5: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/5.jpg)
DEFINICIÓN DE UNA FSM
Una FSM se define como una 6-tupla (X, Y, S, h, g, s0) donde:
X es un conjunto finito de variables de entrada
Y es un conjunto finito de variables de salida
S es un conjunto finito de estados
h : S × X → S es la función de transición
g : S × X → Y es la función de salida (FSM de Mealy)
g : S → Y en una FSM de Moore
s0 ∈ S es el estado inicial
4
![Page 6: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/6.jpg)
IMPLEMENTACIÓN BASADA EN MEMORIA DE FSM
Ventajas respecto a las implementaciones convencionales:
Área Al usar bloques se liberan LUT
Con RAM distribuida se redujo la ocupación en LUT
Velocidad La velocidad en un único bloque es independiente
de la complejidad de la FSM
Con RAM de bloques se mejoró la velocidad
Consumo de potencia La memoria puede deshabilitarse en los bucles,
reduciendo el consumo de potencia
Capacidad de “reconfiguración” Puede usarse en dispositivos sin DPR
No requiere cambiar el place&routing
Portabilidad
Menor tamaño de datos y latencia de reconfiguración
Cálculo dinámico de la “reconfiguración”
Implementación
basada en memoria
5
![Page 7: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/7.jpg)
CONTENIDO
Introducción
Caracterización de implementaciones basadas en
memoria de FSM sobre FPGA
Máquinas de Estados Virtuales Finitos (FVSM)
Implementación de FVSM en FPGA
Generación automática de implementaciones FVSM
Comparativa entre implementaciones FSM y FVSM
Otras aportaciones a la implementación basada en
memoria de FSM
Conclusiones y trabajo futuro
6
![Page 8: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/8.jpg)
IMPLEMENTACIONES BASADAS EN MEMORIA
Una RAM se construye con:
Elementos de memoria
(bloques o LUTs)
Multiplexores (Lectura)
Decodificador (Escritura)
Características específicas de las FPGA:
Bloque de memoria
LUT
Multiplexores empotrados
Lógica de decodificación
Interconexión de bloques adyacentes
7
![Page 9: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/9.jpg)
CARACTERIZACIÓN DE IMPLEMENTACIONES
RAM distribuida
Número de entradas Número de salidas Número de bits de codificación de estados
Número de entradas Número de salidas Número de bits de codificación de estados
Fre
cu
en
cia
(M
Hz)
Fre
cu
en
cia
(M
Hz)
Fre
cu
en
cia
(M
Hz)
Núm
ero
de
LU
T
Núm
ero
de
LU
T
Núm
ero
de
LU
T
8
![Page 10: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/10.jpg)
CARACTERIZACIÓN DE IMPLEMENTACIONES
RAM distribuida
Número de entradas Número de salidas Número de bits de codificación de estados
Número de entradas Número de salidas Número de bits de codificación de estados
5%
Fre
cu
en
cia
(M
Hz)
Fre
cu
en
cia
(M
Hz)
Fre
cu
en
cia
(M
Hz)
Núm
ero
de
LU
T
Núm
ero
de
LU
T
Núm
ero
de
LU
T
8
![Page 11: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/11.jpg)
CARACTERIZACIÓN DE IMPLEMENTACIONES
RAM distribuida
Número de entradas Número de salidas Número de bits de codificación de estados
Número de entradas Número de salidas Número de bits de codificación de estados
Fre
cu
en
cia
(M
Hz)
Fre
cu
en
cia
(M
Hz)
Fre
cu
en
cia
(M
Hz)
Núm
ero
de
LU
T
Núm
ero
de
LU
T
Núm
ero
de
LU
T
17%
8
![Page 12: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/12.jpg)
CARACTERIZACIÓN DE IMPLEMENTACIONES
RAM de bloques
Número de entradas Número de salidas Número de bits de codificación de estados
Número de entradas Número de salidas Número de bits de codificación de estados
Fre
cu
en
cia
(M
Hz)
Fre
cu
en
cia
(M
Hz)
Fre
cu
en
cia
(M
Hz)
Núm
ero
de
recu
rsos
Núm
ero
de
recu
rsos
Núm
ero
de
recu
rsos
9
![Page 13: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/13.jpg)
CARACTERIZACIÓN DE IMPLEMENTACIONES
RAM de bloques
Número de entradas Número de salidas Número de bits de codificación de estados
Número de entradas Número de salidas Número de bits de codificación de estados
45%
Fre
cu
en
cia
(M
Hz)
Fre
cu
en
cia
(M
Hz)
Fre
cu
en
cia
(M
Hz)
Núm
ero
de
recu
rsos
Núm
ero
de
recu
rsos
Núm
ero
de
recu
rsos
9
![Page 14: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/14.jpg)
CARACTERIZACIÓN DE IMPLEMENTACIONES
Las características específicas de la FPGA influyen
en las prestaciones
Crecimiento lineal de recursos y mantenimiento de
la velocidad para
Salidas
Crecimiento exponencial de recursos y
disminución de velocidad para
Entradas
Número de bits de codificación de estados
Dependencia directa entre el tiempo de respuesta
de la RAM y su profundidad (complejidad del MUX
en camino crítico)
Se requieren técnicas para mejorar las
prestaciones
En diseños de bajo consumo, incluso con bloques
grandes, se reduce significativamente la velocidad,
debido a las configuraciones de bloques requeridas
Optimización en
consumo de potencia
Optimización en velocidad
Conclusiones
10
![Page 15: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/15.jpg)
CONTENIDO
Introducción
Caracterización de implementaciones basadas en
memoria de FSM sobre FPGA
Máquinas de Estados Virtuales Finitos (FVSM)
Implementación de FVSM en FPGA
Generación automática de implementaciones FVSM
Comparativa entre implementaciones FSM y FVSM
Otras aportaciones a la implementación basada en
memoria de FSM
Conclusiones y trabajo futuro
11
![Page 16: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/16.jpg)
MÁQUINAS DE ESTADOS VIRTUALES FINITOS
Modelo inspirado en la jerarquía de memoria
Aprovechamiento de la localidad en los accesos a los estados
Jerarquía de dos niveles: Memoria Principal y Memoria Secundaria
Puede verse como un sistema de caché con pre-búsqueda (sin fallos)
Terminología básica
Estado virtual (sk)
Marco de estado (fk)
Instancia de máquina (ik)
Estado de actualización (sk)
12
![Page 17: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/17.jpg)
MÁQUINAS DE ESTADOS VIRTUALES FINITOS
Modelo inspirado en la jerarquía de memoria
Aprovechamiento de la localidad en los accesos a los estados
Jerarquía de dos niveles: Memoria Principal y Memoria Secundaria
Puede verse como un sistema de caché con pre-búsqueda (sin fallos)
Terminología básica
Estado virtual (sk)
Marco de estado (fk)
Instancia de máquina (ik)
Estado de actualización (sk)
i0
12
![Page 18: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/18.jpg)
MÁQUINAS DE ESTADOS VIRTUALES FINITOS
Modelo inspirado en la jerarquía de memoria
Aprovechamiento de la localidad en los accesos a los estados
Jerarquía de dos niveles: Memoria Principal y Memoria Secundaria
Puede verse como un sistema de caché con pre-búsqueda (sin fallos)
Terminología básica
Estado virtual (sk)
Marco de estado (fk)
Instancia de máquina (ik)
Estado de actualización (sk)
i1
12
![Page 19: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/19.jpg)
MÁQUINAS DE ESTADOS VIRTUALES FINITOS
Modelo inspirado en la jerarquía de memoria
Aprovechamiento de la localidad en los accesos a los estados
Jerarquía de dos niveles: Memoria Principal y Memoria Secundaria
Puede verse como un sistema de caché con pre-búsqueda (sin fallos)
Terminología básica
Estado virtual (sk)
Marco de estado (fk)
Instancia de máquina (ik)
Estado de actualización (sk)
f0
f1
f2
f3 i0
12
![Page 20: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/20.jpg)
MÁQUINAS DE ESTADOS VIRTUALES FINITOS
Modelo inspirado en la jerarquía de memoria
Aprovechamiento de la localidad en los accesos a los estados
Jerarquía de dos niveles: Memoria Principal y Memoria Secundaria
Puede verse como un sistema de caché con pre-búsqueda (sin fallos)
Terminología básica
Estado virtual (sk)
Marco de estado (fk)
Instancia de máquina (ik)
Estado de actualización (sk)
f0
f1
f3
f2
i0
12
![Page 21: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/21.jpg)
MÁQUINAS DE ESTADOS VIRTUALES FINITOS
Modelo inspirado en la jerarquía de memoria
Aprovechamiento de la localidad en los accesos a los estados
Jerarquía de dos niveles: Memoria Principal y Memoria Secundaria
Puede verse como un sistema de caché con pre-búsqueda (sin fallos)
Terminología básica
Estado virtual (sk)
Marco de estado (fk)
Instancia de máquina (ik)
Estado de actualización (sk)
f0
f1
f3
s2
f2
i0
12
![Page 22: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/22.jpg)
MÁQUINAS DE ESTADOS VIRTUALES FINITOS
Modelo inspirado en la jerarquía de memoria
Aprovechamiento de la localidad en los accesos a los estados
Jerarquía de dos niveles: Memoria Principal y Memoria Secundaria
Puede verse como un sistema de caché con pre-búsqueda (sin fallos)
Terminología básica
Estado virtual (sk)
Marco de estado (fk)
Instancia de máquina (ik)
Estado de actualización (sk)
f0
f3
f1
f2 i1
12
![Page 23: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/23.jpg)
MÁQUINAS DE ESTADOS VIRTUALES FINITOS
Modelo inspirado en la jerarquía de memoria
Aprovechamiento de la localidad en los accesos a los estados
Jerarquía de dos niveles: Memoria Principal y Memoria Secundaria
Puede verse como un sistema de caché con pre-búsqueda (sin fallos)
Terminología básica
Estado virtual (sk)
Marco de estado (fk)
Instancia de máquina (ik)
Estado de actualización (sk)
f0
f3
f1
f2 i1
12
![Page 24: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/24.jpg)
MÁQUINAS DE ESTADOS VIRTUALES FINITOS
Modelo inspirado en la jerarquía de memoria
Aprovechamiento de la localidad en los accesos a los estados
Jerarquía de dos niveles: Memoria Principal y Memoria Secundaria
Puede verse como un sistema de caché con pre-búsqueda (sin fallos)
Terminología básica
Estado virtual (sk)
Marco de estado (fk)
Instancia de máquina (ik)
Estado de actualización (sk)
s2
f0
f3
f1
f2 i1
12
![Page 25: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/25.jpg)
MÁQUINAS DE ESTADOS VIRTUALES FINITOS
Modelo inspirado en la jerarquía de memoria
Aprovechamiento de la localidad en los accesos a los estados
Jerarquía de dos niveles: Memoria Principal y Memoria Secundaria
Puede verse como un sistema de caché con pre-búsqueda (sin fallos)
Terminología básica
Estado virtual (sk)
Marco de estado (fk)
Instancia de máquina (ik)
Estado de actualización (sk)
f0
f1
f3
f2
i0
12
![Page 26: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/26.jpg)
MÁQUINAS DE ESTADOS VIRTUALES FINITOS
Modelo inspirado en la jerarquía de memoria
Aprovechamiento de la localidad en los accesos a los estados
Jerarquía de dos niveles: Memoria Principal y Memoria Secundaria
Puede verse como un sistema de caché con pre-búsqueda (sin fallos)
Terminología básica
Estado virtual (sk)
Marco de estado (fk)
Instancia de máquina (ik)
Estado de actualización (sk)
f0
f1
f3
f2
i0
12
![Page 27: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/27.jpg)
DEFINICIÓN FORMAL DE UNA FVSM
Definimos una FVSM como una 9-tupla (X, Y, F, I, t, o, u, i0, f0) donde:
X es un conjunto finito de variables de entrada
Y es un conjunto finito de variables de salida
F es un conjunto finito de marcos de estado
I es un conjunto de instancias de máquina
t : I × F × X → F es la función de transición
o : I × F × X → Y es la función de salida (FVSM de Mealy)
o: I × F → Y en una FVSM de Moore
u: I × F → I es la función de actualización
i0 ∈ I es la instancia inicial
f0 ∈ F es el marco inicial
13
![Page 28: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/28.jpg)
EQUIVALENCIA ENTRE FVSM Y FSM
Decimos que una FVSM y una FSM son equivalentes si para cualquier secuencia de entradas se obtiene en ambas la misma salida
Condición de suficiencia: Son equivalentes si existe una función parcial w: I × F → S (denominada función de virtualización) para la que se cumple que
w(i0, f0) = s0
y que, para todo estado alcanzable sk y entrada x, existe una instancia ip y un marco fq para los que se cumplen las siguientes condiciones:
w(ip, fq) = sk
w(u(ip, fq), t(ip, fq,x)) = h(sk, x)
o(ip, fq, x) = g(sk, x)
14
![Page 29: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/29.jpg)
EQUIVALENCIA ENTRE FVSM Y FSM. EJEMPLO
FVSM
FSM
15
![Page 30: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/30.jpg)
EQUIVALENCIA ENTRE FVSM Y FSM. EJEMPLO
FVSM
FSM
15
![Page 31: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/31.jpg)
EQUIVALENCIA ENTRE FVSM Y FSM. EJEMPLO
FVSM
FSM
15
![Page 32: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/32.jpg)
EQUIVALENCIA ENTRE FVSM Y FSM. EJEMPLO
FVSM
FSM
15
![Page 33: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/33.jpg)
EQUIVALENCIA ENTRE FVSM Y FSM. EJEMPLO
FVSM
FSM
15
![Page 34: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/34.jpg)
EQUIVALENCIA ENTRE FVSM Y FSM. EJEMPLO
FVSM
FSM
15
![Page 35: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/35.jpg)
EQUIVALENCIA ENTRE FVSM Y FSM. EJEMPLO
FVSM
FSM
15
![Page 36: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/36.jpg)
EQUIVALENCIA ENTRE FVSM Y FSM. EJEMPLO
FVSM
FSM
15
![Page 37: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/37.jpg)
EQUIVALENCIA ENTRE FVSM Y FSM. EJEMPLO
FVSM
FSM
15
![Page 38: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/38.jpg)
CONTENIDO
Introducción
Caracterización de implementaciones basadas en
memoria de FSM sobre FPGA
Máquinas de Estados Virtuales Finitos (FVSM)
Implementación de FVSM en FPGA
Generación automática de implementaciones FVSM
Comparativa entre implementaciones FSM y FVSM
Otras aportaciones a la implementación basada en
memoria de FSM
Conclusiones y trabajo futuro
16
![Page 39: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/39.jpg)
ARQUITECTURA FVSM
La memoria principal contiene la instancia actual
Genera el próximo estado y la salida
Gestiona los cambios de instancia
RAM de doble puerto simple
La memoria secundaria contiene todas las actualizaciones de
instancia y las direcciones donde éstas se escriben en memoria
principal
17
![Page 40: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/40.jpg)
ARQUITECTURA FVSM
La memoria principal contiene la instancia actual
Genera el próximo estado y la salida
Gestiona los cambios de instancia
RAM de doble puerto simple
La memoria secundaria contiene todas las actualizaciones de
instancia y las direcciones donde éstas se escriben en memoria
principal
17
![Page 41: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/41.jpg)
ARQUITECTURA FVSM
La memoria principal contiene la instancia actual
Genera el próximo estado y la salida
Gestiona los cambios de instancia
RAM de doble puerto simple
La memoria secundaria contiene todas las actualizaciones de
instancia y las direcciones donde éstas se escriben en memoria
principal
17
![Page 42: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/42.jpg)
ARQUITECTURA FVSM. IMPLEMENTACIÓN
La memoria principal es una RAM de doble puerto asimétrico con
configuración primero-escritura
La profundidad mínima en escritura ω (en bits) de los recursos de
memoria influye en el número máximo de marcos k (en bits) que pueden
ser modificados en un cambio de instancia
Se habla de ω-recursos
En Xilinx Spartan-3, ω=4 para LUT y ω=9 para bloques
El número total de marcos r (en bits) influye también en k
Se impone la siguiente restricción:
k ≤ r – ω
ω
Configuración en lectura
Configuración en escritura
18
![Page 43: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/43.jpg)
ARQUITECTURA FVSM. CAMBIOS DE INSTANCIA
Dirección
memoria
Datos
ai dai
0 s0, s5 0
1 s3, s4 0
Memoria secundaria
Memoria principal
Secuencia de
actualización (2 ciclos)
Selección de
actualización de
instancia
Habilitación de
actualización de
instancia
Pipeline
(1 actualización/ciclo)
Implementabilidad de
una FVSM en la
arquitectura propuesta
FVSM
FSM
19
![Page 44: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/44.jpg)
ARQUITECTURA FVSM. CAMBIOS DE INSTANCIA
Dirección
memoria
Datos
ai dai
0 s0, s5 0
1 s3, s4 0
Memoria secundaria
Memoria principal
Secuencia de
actualización (2 ciclos)
Selección de
actualización de
instancia
Habilitación de
actualización de
instancia
Pipeline
(1 actualización/ciclo)
Implementabilidad de
una FVSM en la
arquitectura propuesta
FVSM
FSM
19
![Page 45: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/45.jpg)
ARQUITECTURA FVSM. CAMBIOS DE INSTANCIA
Dirección
memoria
Datos
ai dai
0 s0, s5 0
1 s3, s4 0
Memoria secundaria
Memoria principal
Secuencia de
actualización (2 ciclos)
Selección de
actualización de
instancia
Habilitación de
actualización de
instancia
Pipeline
(1 actualización/ciclo)
Implementabilidad de
una FVSM en la
arquitectura propuesta
FVSM
FSM
19
![Page 46: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/46.jpg)
ARQUITECTURA FVSM. CAMBIOS DE INSTANCIA
Dirección
memoria
Datos
ai dai
0 s0, s5 0
1 s3, s4 0
Memoria secundaria
Memoria principal
Secuencia de
actualización (2 ciclos)
Selección de
actualización de
instancia
Habilitación de
actualización de
instancia
Pipeline
(1 actualización/ciclo)
Implementabilidad de
una FVSM en la
arquitectura propuesta
i1
FVSM
FSM
19
![Page 47: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/47.jpg)
ARQUITECTURA FVSM. CAMBIOS DE INSTANCIA
Dirección
memoria
Datos
ai dai
0 s5, s0 0
1 s4, s3 0
Memoria secundaria
Memoria principal
Secuencia de
actualización (2 ciclos)
Selección de
actualización de
instancia
Habilitación de
actualización de
instancia
Pipeline
(1 actualización/ciclo)
Implementabilidad de
una FVSM en la
arquitectura propuesta
s4 s3
1
FVSM
FSM
19
![Page 48: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/48.jpg)
ARQUITECTURA FVSM. CAMBIOS DE INSTANCIA
Dirección
memoria
Datos
ai dai
0 s5, s0 0
1 s4, s3 0
Memoria secundaria
Memoria principal
Secuencia de
actualización (2 ciclos)
Selección de
actualización de
instancia
Habilitación de
actualización de
instancia
Pipeline
(1 actualización/ciclo)
Implementabilidad de
una FVSM en la
arquitectura propuesta
FVSM
FSM
19
![Page 49: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/49.jpg)
ARQUITECTURA FVSM. CAMBIOS DE INSTANCIA
Secuencia de
actualización (2 ciclos)
Selección de
actualización de
instancia
Habilitación de
actualización de
instancia
Pipeline
(1 actualización/ciclo)
Implementabilidad de
una FVSM en la
arquitectura propuesta
20
![Page 50: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/50.jpg)
ARQUITECTURA FVSM. CAMBIOS DE INSTANCIA
Secuencia de
actualización (2 ciclos)
Selección de
actualización de
instancia
Habilitación
actualización de
instancia
Pipeline
(1 actualización/ciclo)
Implementabilidad de
una FVSM en la
arquitectura propuesta
21
![Page 51: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/51.jpg)
VENTAJAS DE LAS IMPLEMENTACIONES FVSM
Velocidad
Influencia de los parámetros en la profundidad
Memoria principal
Número de entradas
Número de marcos
Memoria secundaria
Número de instancias (o actualizaciones de instancia)
La profundidad de ambas memorias se reducen con respecto a la de
una FSM
Las instancias tienen menos estados que la FSM
Existen menos instancias que estados en la FSM
Las entradas no afectan a la profundidad de la memoria
secundaria
La memoria con mayor profundidad impone la velocidad de la
FVSM
Objetivo: equilibrar la profundidad de ambas memorias
22
![Page 52: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/52.jpg)
OTRAS VENTAJAS DE LAS IMPLEMENTACIONES FVSM
Consumo de potencia
La memoria secundaria puede ser deshabilitada siempre que
no haya cambios de instancia
Capacidad de reconfiguración
Las distintas instancias pueden ser “reconfiguradas” en la
memoria secundaria mientras la principal sigue operando
correctamente
23
![Page 53: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/53.jpg)
Influencia en área y velocidad del: Número de entradas
Número de salidas
Número de bits de codificación de marcos
Número de bits de codificación de actualizaciones de instancia
Número de bits de codificación de marcos por actualización de instancia
CARACTERIZACIÓN DE IMPLEMENTACIONES FVSM 24
![Page 54: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/54.jpg)
Influencia en área y velocidad del:
Número de entradas Número de salidas
Número de bits de codificación de marcos
Número de bits de codificación de actualizaciones de instancia
Número de bits de codificación de marcos por actualización de instancia
CARACTERIZACIÓN DE IMPLEMENTACIONES FVSM
Número de entradas Número de entradas
Fre
cu
en
cia
(M
hz)
Nú
me
ro d
e L
UT
Influye en la profundidad de la principal
Influye en el ancho de la secundaria
24
![Page 55: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/55.jpg)
Influencia en área y velocidad del: Número de entradas
Número de salidas Número de bits de codificación de marcos
Número de bits de codificación de actualizaciones de instancia
Número de bits de codificación de marcos por actualización de instancia
CARACTERIZACIÓN DE IMPLEMENTACIONES FVSM
Número de salidas Número de salidas
Fre
cu
en
cia
(M
hz)
Nú
me
ro d
e L
UT
25
Influye en el ancho de la principal
Influye en el ancho de la secundaria
![Page 56: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/56.jpg)
Influencia en área y velocidad del: Número de entradas
Número de salidas
Número de bits de codificación de marcos Número de bits de codificación de actualizaciones de instancia
Número de bits de codificación de marcos por actualización de instancia
CARACTERIZACIÓN DE IMPLEMENTACIONES FVSM
Número de bits de codificación de marcos Número de bits de codificación de marcos
Fre
cu
en
cia
(M
hz)
Nú
me
ro d
e L
UT
26
Influye en la profundidad de la principal
![Page 57: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/57.jpg)
Influencia en área y velocidad del: Número de entradas
Número de salidas
Número de bits de codificación de marcos
Número de bits de codificación de actualizaciones de instancia Número de bits de codificación de marcos por actualización de instancia
CARACTERIZACIÓN DE IMPLEMENTACIONES FVSM
Núm. de bits de codificación de actualizaciones de instancia Núm. de bits de codificación de actualizaciones de instancia
Fre
cu
en
cia
(M
hz)
Nú
me
ro d
e L
UT
27
Influye en la profundidad de la secundaria
![Page 58: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/58.jpg)
Influencia en área y velocidad del: Número de entradas
Número de salidas
Número de bits de codificación de marcos
Número de bits de codificación de actualizaciones de instancia
Número de bits de codificación de marcos por actualización de instancia
CARACTERIZACIÓN DE IMPLEMENTACIONES FVSM
Núm. de bits de codificación de marcos por actualización Núm. de bits de codificación de marcos por actualización
Fre
cu
en
cia
(M
hz)
Nú
me
ro d
e L
UT
28
Influye en el ancho de la secundaria
![Page 59: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/59.jpg)
CARACTERIZACIÓN DE IMPLEMENTACIONES FVSM
Velocidad
Un número elevado de entradas facilita el equilibrado
El impacto del número de estados en la velocidad viene amortiguado por la jerarquía de memoria
El número de bits de codificación de marcos por actualización de instancia no influye en la velocidad
Se elige el valor máximo que permite la restricción impuesta por los ω-recursos
Área
Memoria secundaria con un número de recursos similar a la FSM (con excepción de los bits de control y redundancia de estados)
La memoria principal supone un coste adicional
Los multiplexores y decodificadores de las FVSM son más simples
Conclusiones
29
![Page 60: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/60.jpg)
CONTENIDO
Introducción
Caracterización de implementaciones basadas en
memoria de FSM sobre FPGA
Máquinas de Estados Virtuales Finitos (FVSM)
Implementación de FVSM en FPGA
Generación automática de implementaciones FVSM
Comparativa entre implementaciones FSM y FVSM
Otras aportaciones a la implementación basada en
memoria de FSM
Conclusiones y trabajo futuro
30
![Page 61: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/61.jpg)
VIRTUALIZACIÓN: DE UNA FSM A UNA FVSM (I)
Conjunto generador A S
El conjunto generador contiene los que serán estados de actualización
Conjuntos de estados virtuales D = {Dj}
Cada conjunto de estados virtuales contiene los estados de una
instancia
A = {s1, s2}
31
![Page 62: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/62.jpg)
Conjunto generador A S
El conjunto generador contiene los que serán estados de actualización
Conjuntos de estados virtuales D = {Dj}
Cada conjunto de estados virtuales contiene los estados de una
instancia
VIRTUALIZACIÓN: DE UNA FSM A UNA FVSM (I)
G0
A = {s1, s2}
s1 ∈ A; D0 = {}
31
![Page 63: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/63.jpg)
Conjunto generador A S
El conjunto generador contiene los que serán estados de actualización
Conjuntos de estados virtuales D = {Dj}
Cada conjunto de estados virtuales contiene los estados de una
instancia
VIRTUALIZACIÓN: DE UNA FSM A UNA FVSM (I)
G0
A = {s1, s2}
s1 ∈ A; D0 = {s2}
31
![Page 64: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/64.jpg)
Conjunto generador A S
El conjunto generador contiene los que serán estados de actualización
Conjuntos de estados virtuales D = {Dj}
Cada conjunto de estados virtuales contiene los estados de una
instancia
VIRTUALIZACIÓN: DE UNA FSM A UNA FVSM (I)
G0
A = {s1, s2}
s1 ∈ A; D0 = {s2, s5}
31
![Page 65: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/65.jpg)
Conjunto generador A S
El conjunto generador contiene los que serán estados de actualización
Conjuntos de estados virtuales D = {Dj}
Cada conjunto de estados virtuales contiene los estados de una
instancia
VIRTUALIZACIÓN: DE UNA FSM A UNA FVSM (I)
G0
A = {s1, s2}
s1 ∈ A; D0 = {s2, s5, s0}
31
![Page 66: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/66.jpg)
VIRTUALIZACIÓN: DE UNA FSM A UNA FVSM (I)
G0
Conjunto generador A S
El conjunto generador contiene los que serán estados de actualización
Conjuntos de estados virtuales D = {Dj}
Cada conjunto de estados virtuales contiene los estados de una
instancia
A = {s1, s2}
s1 ∈ A; D0 = {s2, s5, s0, s1}
31
![Page 67: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/67.jpg)
Conjunto generador A S
El conjunto generador contiene los que serán estados de actualización
Conjuntos de estados virtuales D = {Dj}
Cada conjunto de estados virtuales contiene los estados de una
instancia
VIRTUALIZACIÓN: DE UNA FSM A UNA FVSM (I)
A = {s1, s2}
s2 ∈ A; D1 = {s2, s3, s4, s1}
G1
31
![Page 68: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/68.jpg)
VIRTUALIZACIÓN: DE UNA FSM A UNA FVSM (I)
A = {s1, s2}
s2 ∈ A; D1 = {s2, s3, s4, s1}
s1 ∈ A; D0 = {s2, s5, s0, s1}
Conjunto generador A S
El conjunto generador contiene los que serán estados de actualización
Conjuntos de estados virtuales D = {Dj}
Cada conjunto de estados virtuales contiene los estados de una
instancia
31
![Page 69: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/69.jpg)
VIRTUALIZACIÓN: DE UNA FSM A UNA FVSM (II)
Por cada Dj ∈ D, se crea una instancia ij
Se crean tantos marcos fk ∈ F como elementos tenga el mayor Dj
Se define la función de virtualización w: I × F → S
w(ij, fk) = dk(j) ∀ dk
(j) ∈ Dj
ip y fq son la instancia y marco inicial, respectivamente, si
w(ip, fq) = s0 y s0 ∈ Dp
Se define la función de actualización u: I × F → S
Se define la función de transición t: I × F × X → F
t(ij, fk, x) = fl donde w(u(ij,fk), fl) = h(dk(j),x) ∀ dk
(j) ∈ Dj y ∀ x ∈ X
Se define la función de salida o: I × F × X → Y
o(ij,fk,x) = g(dk(j), x) ∀ dk
(j) ∈ Dj y ∀ x ∈ X
=
= "
A a d i
A d i f i w D d
q
j
k q
j
k j
k j j
j
k ) (
) (
) (
si
si ) , ( ,
32
![Page 70: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/70.jpg)
=
= "
A a d i
A d i f i w D d
q
j
k q
j
k j
k j j
j
k ) (
) (
) (
si
si ) , ( ,
Por cada Dj ∈ D, se crea una instancia ij
Se crean tantos marcos fk ∈ F como elementos tenga el mayor Dj
Se define la función de virtualización w: I × F → S
w(ij, fk) = dk(j) ∀ dk
(j) ∈ Dj
ip y fq son la instancia y marco inicial, respectivamente, si
w(ip, fq) = s0 y s0 ∈ Dp
Se define la función de actualización u: I × F → S
Se define la función de transición t: I × F × X → F
t(ij, fk, x) = fl donde w(u(ij,fk), fl) = h(dk(j),x) ∀ dk
(j) ∈ Dj y ∀ x ∈ X
Se define la función de salida o: I × F × X → Y
o(ij,fk,x) = g(dk(j), x) ∀ dk
(j) ∈ Dj y ∀ x ∈ X
VIRTUALIZACIÓN: DE UNA FSM A UNA FVSM (II)
Se ha demostrado que
la FSM y la FVSM creada
son equivalentes
Pág.
237-240
32
![Page 71: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/71.jpg)
IMPLEMENTACIONES FVSM
Definición de una implemementación FVSM
L = {L1, L2, …, Ln} con Lk = (li,j) ∈ Mp×q
Ejemplo
k
Grafo de instancias
Conjuntos de
estados virtuales Implementación
D = {D1, D2, D3, D4}
D1 = {s1, s2, s3, s0}
D2 = {s1, s2, s4, s5}
D3 = {s3, s6, s7}
D4 = {s1, s2, s8, s9}
L = {L1, L2, L3, L4}
=
54
21
2ss
ssL
=
03
76
3ss
ssL
=
98
21
4ss
ssL
=
03
21
1ss
ssL
33
![Page 72: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/72.jpg)
CONDICIONES DE IMPLEMENTACIÓN
Las condiciones que debe cumplir una implementación
con ω-recursos de una FVSM equivalente a una FSM
dada son:
Compatibilidad
Equivalencia
Empaquetabilidad
Adecuidad
34
![Page 73: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/73.jpg)
CONDICIÓN DE COMPATIBILIDAD
El conjunto generador es un conjunto independiente en el grafo de
incompatibilidad de la FSM
Estados incompatibles a ⋈ b
pa ⋂ pb ≠ Ø donde ps = {s’ ∈ S : (s,s’) ∈ T} con s ∈ S
Grafo de incompatibilidad H=(S,E)
{s,t} ∈ E si y solo si s ⋈ t con s,t ∈ S
Condición impuesta por la arquitectura propuesta
G = (S, T)
FSM
Grafo de
incompatibilidad
s2 ⋈ s5
/ H = (S, E)
35
![Page 74: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/74.jpg)
Grafo de instancias
Conjuntos de
estados virtuales Implementación
D = {D1, D2, D3, D4}
D1 = {s1, s2, s3, s0}
D2 = {s1, s2, s4, s5}
D3 = {s3, s6, s7}
D4 = {s1, s2, s8, s9}
L = {L1, L2, L3, L4}
=
54
21
2ss
ssL
=
03
76
3ss
ssL
=
98
21
4ss
ssL
=
03
21
1ss
ssL
CONDICIÓN DE EQUIVALENCIA
Para cualquier conjunto virtual Dj ∈ D, se verifica que, para todo
estado s ∈ Dj, existen un i y un j tal que li,j = s
Esta condición garantiza que la FVSM es equivalente a la FSM dada
k
36
![Page 75: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/75.jpg)
CONDICIÓN DE EMPAQUETABILIDAD
Para cualquier par de instancias adyacentes ia,ib ∈ I se cumple que:
donde
Grafo de instancias
Conjuntos de
estados virtuales Implementación
D = {D1, D2, D3, D4}
D1 = {s1, s2, s3, s0}
D2 = {s1, s2, s4, s5}
D3 = {s3, s6, s7}
D4 = {s1, s2, s8, s9}
L = {L1, L2, L3, L4}
=
54
21
2ss
ssL
=
03
76
3ss
ssL
=
98
21
4ss
ssL
=
03
21
1ss
ssL
Esta condición garantiza
que no existan instancias
adyacentes que difieran
en más de un paquete
(o fila)
=
= contrario caso en 0
si 1 ) , ( , ,
,
b j i
a j i
b a
l l j i g
" >
= contrario caso en 0
} ,..., 1 { 0 ) , ( si 1 ) (
,
,
q j j i g i h
b a
b a
1 ) ( ) , ( 1
, = D
=
p
i b a b a i h L L
37
![Page 76: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/76.jpg)
CONDICIÓN DE EMPAQUETABILIDAD
Grafo de instancias
Conjuntos de
estados virtuales Implementación
D = {D1, D2, D3, D4}
D1 = {s1, s2, s3, s0}
D2 = {s1, s2, s4, s5}
D3 = {s3, s6, s7}
D4 = {s1, s2, s8, s9}
L = {L1, L2, L3, L4}
=
54
21
2ss
ssL
=
03
76
3ss
ssL
=
98
21
4ss
ssL
=
03
21
1ss
ssL
Para cualquier par de instancias adyacentes ia,ib ∈ I se cumple que:
donde
Esta condición garantiza
que no existan instancias
adyacentes que difieran
en más de un paquete
(o fila)
=
= contrario caso en 0
si 1 ) , ( , ,
,
b j i
a j i
b a
l l j i g
" >
= contrario caso en 0
} ,..., 1 { 0 ) , ( si 1 ) (
,
,
q j j i g i h
b a
b a
1 ) ( ) , ( 1
, = D
=
p
i b a b a i h L L
38
![Page 77: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/77.jpg)
CONDICIÓN DE ADECUIDAD
Dada una implementación L = {L1, L2, …, Ln} con Lk = (li,j) ∈ Mp×q
la condición impuesta por los ω-recursos se reescribe como:
log2 q ≤ log2 pq – ω
Esta condición garantiza una implementación con ω-recursos
Grafo de instancias
Conjuntos de
estados virtuales Implementación
D = {D1, D2, D3, D4}
D1 = {s1, s2, s3, s0}
D2 = {s1, s2, s4, s5}
D3 = {s3, s6, s7}
D4 = {s1, s2, s8, s9}
L = {L1, L2, L3, L4}
=
54
21
2ss
ssL
=
03
76
3ss
ssL
=
98
21
4ss
ssL
=
03
21
1ss
ssL
q = 2
pq = 4
Se requieren
1-recursos
39
![Page 78: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/78.jpg)
PROBLEMA DEL COSTE MÍNIMO DE IMPLEMENTACIÓN
A cada implementación L le asignamos un coste mediante la
función:
c : L → ℤ0
El Problema del Mínimo Coste de Implementación (MICP) se
define como sigue:
min c(L)
sujeto a que L cumpla las condiciones de implemementación
+
40
![Page 79: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/79.jpg)
PROBLEMA DE LA MÍNIMA PROFUNDIDAD DE MEMORIA
Para optimizar la velocidad es necesario minimizar el máximo
entre la profundidad de la memoria principal (μ) y la de la
secundaria (σ). Definimos profundidad FVSM (d) como sigue:
d = max {μ, σ}
Dada una L = {L1, L2, …, Ln} con Lk = (lki,j) ∈ Mp×q que
cumple las condiciones de implementación tenemos que:
d = max {|X| + log2 pq, σ}
donde σ viene dado por el número de actualizaciones de
instancia
El Problema de la Mínima Profundidad de Memoria (MMDP)
consiste en encontrar la implementación L que minimiza d
41
![Page 80: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/80.jpg)
COMPLEJIDAD DEL MMDP
Problema de decisión asociado al MMDP
Dada una FSM M = (X,Y, S, f, g, s0) y un entero J ≤ |X| + ⌈log2 |S|⌉, ¿existe una
implementación de una FVSM equivalente a M que utilice ω-recursos y tenga
una profundidad memoria menor o igual que J?
Se ha demostrado que el MMDP es NP-completo mediante reducción del
Máximo Conjunto Independiente
Dada una FVSM, el problema de generar la optimización óptima se denomina
Problema del Empaquetamiento
Se ha demostrado que el problema del empaquetamiento es NP-completo
mediante reducción del 3-SAT
Pág. 248-257
A1 S FVSM M1 Impl. ópt. M1
A2 S FVSM M2 Impl. ópt. M2
A3 S FVSM M3 Impl. ópt. M3
. . . . . . . . . .
Virtualización
FSM
Empaquetamiento
Virtualización
Virtualización
Implemtación
óptima de
una FVSM
equivalente
MMDP
Pág. 258-268
Empaquetamiento
Empaquetamiento
42
![Page 81: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/81.jpg)
ALGORITMO PARA GENERAR IMPLEMENTACIONES FVSM
... ...
...
G, {}, S
...
G, A, P
G: Grafo de incompatibilidad
A: Conjunto generador
P: Pendientes de ser procesados
43
Esquema de branch and bound (ramificación y acotamiento)
Cada nodo es la implementación de la FVSM obtenida mediante una heurística a
partir del conjunto generador A (conjunto independiente en todo momento)
Se construye dinámicamente un árbol de soluciones (ramificación)
Se realizan podas para evitar el crecimiento del árbol (acotamiento)
Se inicializa con una solución de greedy
![Page 82: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/82.jpg)
ALGORITMO PARA GENERAR IMPLEMENTACIONES FVSM
s∊P
...
G, {}, S
...
Ramificación
G, A, P
Primero en profundidad
43
Esquema de branch and bound (ramificación y acotamiento)
Cada nodo es la implementación de la FVSM obtenida mediante una heurística a
partir del conjunto generador A (conjunto independiente en todo momento)
Se construye dinámicamente un árbol de soluciones (ramificación)
Se realizan podas para evitar el crecimiento del árbol (acotamiento)
Se inicializa con una solución de greedy
![Page 83: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/83.jpg)
ALGORITMO PARA GENERAR IMPLEMENTACIONES FVSM
...
G, A, P\{s}) G, A∪{s}, P\({s}∪Is)
... ...
G, {}, S
...
Ramificación
A∪{s} es un conjunto independiente
Se añade s No se añade s s∊P
G, A, P
43
Esquema de branch and bound (ramificación y acotamiento)
Cada nodo es la implementación de la FVSM obtenida mediante una heurística a
partir del conjunto generador A (conjunto independiente en todo momento)
Se construye dinámicamente un árbol de soluciones (ramificación)
Se realizan podas para evitar el crecimiento del árbol (acotamiento)
Se inicializa con una solución de greedy
![Page 84: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/84.jpg)
ALGORITMO PARA GENERAR IMPLEMENTACIONES FVSM
...
G, {}, S
...
A∪{s} no es un conjunto independiente
Ramificación
G, A, P\{s}) G, A∪{s}, P\({s}∪Is)
... ...
Se añade s No se añade s s∊P
G, A, P
43
Esquema de branch and bound (ramificación y acotamiento)
Cada nodo es la implementación de la FVSM obtenida mediante una heurística a
partir del conjunto generador A (conjunto independiente en todo momento)
Se construye dinámicamente un árbol de soluciones (ramificación)
Se realizan podas para evitar el crecimiento del árbol (acotamiento)
Se inicializa con una solución de greedy
![Page 85: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/85.jpg)
ALGORITMO PARA GENERAR IMPLEMENTACIONES FVSM
...
G, {}, S
...
Ramificación
G, A, P
Se elige el estado s∊P que tiene
más estados incompatibles en G[P] G, A, P\{s}) G, A∪{s}, P\({s}∪Is)
... ...
Se añade s No se añade s s∊P
43
Esquema de branch and bound (ramificación y acotamiento)
Cada nodo es la implementación de la FVSM obtenida mediante una heurística a
partir del conjunto generador A (conjunto independiente en todo momento)
Se construye dinámicamente un árbol de soluciones (ramificación)
Se realizan podas para evitar el crecimiento del árbol (acotamiento)
Se inicializa con una solución de greedy
![Page 86: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/86.jpg)
ALGORITMO PARA GENERAR IMPLEMENTACIONES FVSM
...
G, A’, P
G, {}, S
...
... ...
G, A, P
... ...
d=f(A’)
Acotamiento
43
Esquema de branch and bound (ramificación y acotamiento)
Cada nodo es la implementación de la FVSM obtenida mediante una heurística a
partir del conjunto generador A (conjunto independiente en todo momento)
Se construye dinámicamente un árbol de soluciones (ramificación)
Se realizan podas para evitar el crecimiento del árbol (acotamiento)
Se inicializa con una solución de greedy
![Page 87: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/87.jpg)
ALGORITMO PARA GENERAR IMPLEMENTACIONES FVSM
...
G, A’, P
G, {}, S
...
... ...
G, A, P d=f(A)
Acotamiento
43
Esquema de branch and bound (ramificación y acotamiento)
Cada nodo es la implementación de la FVSM obtenida mediante una heurística a
partir del conjunto generador A (conjunto independiente en todo momento)
Se construye dinámicamente un árbol de soluciones (ramificación)
Se realizan podas para evitar el crecimiento del árbol (acotamiento)
Se inicializa con una solución de greedy
![Page 88: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/88.jpg)
ALGORITMO PARA GENERAR IMPLEMENTACIONES FVSM
...
G, A’, P
G, {}, S
...
... ...
G, A, P
... ...
d=f(A) f(A∪P) ≥ d
Acotamiento
43
Esquema de branch and bound (ramificación y acotamiento)
Cada nodo es la implementación de la FVSM obtenida mediante una heurística a
partir del conjunto generador A (conjunto independiente en todo momento)
Se construye dinámicamente un árbol de soluciones (ramificación)
Se realizan podas para evitar el crecimiento del árbol (acotamiento)
Se inicializa con una solución de greedy
![Page 89: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/89.jpg)
CONTENIDO
Introducción
Caracterización de implementaciones basadas en
memoria de FSM sobre FPGA
Máquinas de Estados Virtuales Finitos (FVSM)
Implementación de FVSM en FPGA
Generación automática de implementaciones FVSM
Comparativa entre implementaciones FSM y FVSM
Otras aportaciones a la implementación basada en
memoria de FSM
Conclusiones y trabajo futuro
44
![Page 90: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/90.jpg)
COMPARATIVA DE VELOCIDAD ENTRE ARQUITECTURAS
Se han comparado las arquitecturas FSM y FVSM con valores de parámetros que permiten alojar un número de estados del mismo orden
Para unos determinados parámetros de FSM existen distintas FVSM (mejor caso)
Cuanto más estados tiene la FSM mayor potencial presenta la arquitectura
El incremento de velocidad crece con el número de bits de codificación de estados (mayor reducción de la profundidad)
Número de bits de
codificación de estados Número de entradas
Incre
me
nto
de
ve
locid
ad
(%
)
La FVSM es siempre más rápida
(mínimo incremento del 7%)
En el 52% de los casos,
los incrementos de velocidad
son superiores al 50%
Existen casos en los que
la velocidad de la FVSM
es más del doble
45
![Page 91: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/91.jpg)
BATERÍAS DE PRUEBAS. EFECTIVIDAD DE LA TÉCNICA
Total
Reducción
Grupo 1 # medio estados = 54
# medio transiciones = 88
Grupo 2 # medio estados = 61
# medio transiciones = 160
Grupo 3 # medio estados = 358
# medio transiciones = 600
Grupo 4 # medio estados = 352
# medio transiciones = 1045
4 bits
3 bits
2 bits
1 bits
0 bits
10% 3% 8%
26%
54%
25%
75%
20%
80%
10%
40%
50%
10%
30%
60%
46
![Page 92: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/92.jpg)
BATERÍAS DE PRUEBAS. EFECTIVIDAD DE LA TÉCNICA
Total
Reducción
4 bits
3 bits
2 bits
1 bits
0 bits
10% 3% 8%
26%
54%
25%
75%
20%
80%
10%
40%
50%
10%
30%
60%
92%
1.6 bits
100%
1.3 bits
80%
1 bit
100%
2.6 bits
90%
1.2 bits
46
Grupo 1 # medio estados = 54
# medio transiciones = 88
Grupo 2 # medio estados = 61
# medio transiciones = 160
Grupo 3 # medio estados = 358
# medio transiciones = 600
Grupo 4 # medio estados = 352
# medio transiciones = 1045
![Page 93: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/93.jpg)
BATERÍAS DE PRUEBAS. INCREMENTO DE VELOCIDAD
En 9 de los 20 casos del Grupo 3, los incrementos son superiores al 33%
Se alcanzan valores del orden del 80%
47
![Page 94: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/94.jpg)
CONTENIDO
Introducción
Caracterización de implementaciones basadas en
memoria de FSM sobre FPGA
Máquinas de Estados Virtuales Finitos (FVSM)
Implementación de FVSM en FPGA
Generación automática de implementaciones FVSM
Comparativa entre implementaciones FSM y FVSM
Otras aportaciones a la implementación basada en
memoria de FSM
Conclusiones y trabajo futuro
48
![Page 95: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/95.jpg)
ASYMRAM
Se ha desarrollado una descripción arquitectural genérica
(ASYMmetric RAM) debido a que las herramientas de diseño no
infieren RAM asimétrica:
Se ha utilizado en las implementaciones FVSM
Se ha publicado como una herramienta para
realizar implementaciones basadas en memoria
de FSM reconfigurables
Un puerto de lectura para el funcionamiento
de la FSM
Un puerto de escritura para el proceso de
reconfiguración
49
![Page 96: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/96.jpg)
FSMIM: FSM CON MULTIPLEXIÓN DE ENTRADAS
Para reducir el impacto del número de entradas en el tamaño de la memoria, se proponen las FSM con multiplexión de entradas Se aprovechan las indeterminaciones en las
entradas
Hemos propuesto una técnica (FSMIM) que reduce significativamente la complejidad del multiplexor y los requerimientos de memoria
Reducción media de memoria del 87%
Sólo en el 19% de los casos se requirieron multiplexores de más de 4 entradas
En el 81% de los casos, la velocidad fue superior a la de las implementaciones basadas en LUT
FSMIM
50
![Page 97: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/97.jpg)
Para dotar de capacidad de reconfiguración a las implementaciones FSM con
multiplexión de entrada es necesario disponer de multiplexor reconfigurable
Las entradas que afectan a un determinado estado pueden cambiar tras el
proceso de reconfiguración
Hemos propuesto CRMUX
Los resultados muestran significativas mejoras en área, velocidad y
capacidad de reconfiguración respecto al estado del arte
MULTIPLEXOR RECONFIGURABLE. RMUX
CRMUX Estado
del arte
m salidas
n entradas
m salidas
n m + 1 entradas
51
![Page 98: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/98.jpg)
CONTENIDO
Introducción
Caracterización de implementaciones basadas en
memoria de FSM sobre FPGA
Máquinas de Estados Virtuales Finitos (FVSM)
Implementación de FVSM en FPGA
Generación automática de implementaciones FVSM
Comparativa entre implementaciones FSM y FVSM
Otras aportaciones a la implementación basada en
memoria de FSM
Conclusiones y trabajo futuro
52
![Page 99: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/99.jpg)
CONCLUSIONES (I)
Se han caracterizado las implementaciones basadas en memoria
de FSM sobre FPGA, observándose una importante reducción de
velocidad en FSM con un número de elevado de estados.
Se ha definido el modelo FVSM y estudiado su equivalencia con las
FSM.
Se ha propuesto una arquitectura para la implementación de FVSM
y estudiado el impacto de sus parámetros en las prestaciones
obtenidas en FPGA. La arquitectura ofrece ventajas en velocidad,
consumo de potencia y capacidad de reconfiguración.
Se ha estudiado el problema de generar implementaciones FVSM
óptimas. Se ha propuesto la versión del problema que maximiza la
velocidad, probándose su NP-completitud.
53
![Page 100: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/100.jpg)
CONCLUSIONES (II)
Se ha propuesto un algoritmo para maximizar la velocidad de las
implementaciones FVSM, probándose su eficiencia y efectividad.
Se ha probado que la arquitectura FVSM ofrece mayor velocidad
potencial respecto a la arquitectura basada en memoria
convencional.
La aplicación de la técnica a casos prácticos ha demostrado la
utilidad del modelo, arquitectura y algoritmos propuestos.
Se propuesto una descripción arquitectural que facilita el diseño de
memorias asimétricas.
Se ha propuesto un multiplexor para FSM reconfigurables con
multiplexión de entradas con ventajas en área, velocidad y coste de
reconfiguración.
54
![Page 101: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/101.jpg)
TRABAJO FUTURO
Extender el modelo propuesto a una jerarquía con mayor número de
niveles, con la posibilidad incluir un nivel externo a la FPGA
Estudiar y evaluar otras posibles arquitecturas para las FVSM. Tales
como memoria secundaria multi-puerto o relojes diferentes para los
distintos niveles de la jerarquía.
Realizar estudios de implementación de FVSM con multiplexión de
entradas y evaluar la aplicación de técnicas como dummy states.
Incluir criterios de área ocupada o potencia consumida en los
algoritmos para generar implementaciones FVSM y realizar los
correspondientes estudios comparativos.
Buscar otras aplicaciones a los problemas NP-completos propuestos.
Paralelizar los algoritmos para la generación de FVSM para lograr
una ejecución eficiente en arquitecturas paralelas
55
![Page 102: Máquinas de estados Finitos Virtualespersonal.us.es/raouf/documentos/presentacion_tesis.pdf · MÁQUINAS DE ESTADOS VIRTUALES FINITOS Una contribución a la implementación electrónica](https://reader034.vdocuments.pub/reader034/viewer/2022042317/5f063b0d7e708231d416f372/html5/thumbnails/102.jpg)
MÁQUINAS DE ESTADOS VIRTUALES FINITOS
Una contribución a la implementación electrónica de máquinas de estados
Lectura de tesis doctoral
Director:
• José Luis Guisado Lizar
(Univ. de Sevilla)
25 de septiembre de 2012
Tribunal:
• Manuel Jesús Bellido Díaz
(Univ. de Sevilla)
• Juan Antonio Gómez Pulido
(Univ. de Extremadura)
• José María Rodríguez Corral
(Univ. de Cádiz)
• Pedro Guerra Gutiérrez
(Univ. de Politécnica de Madrid)
• Daniel Cagigas Muñiz
(Univ. de Sevilla)
Autor:
• Raouf Senhadji Navarro