Вы находитесь на странице: 1из 8

CRITERIOS PARA LA OPTIMIZACIN DE FSMs EN FPGAs Alexander Pareja Giraldo, Mario Enrique Vera Lizcano Grupo de Biolectrnica y Nanoelectrnica,

EIEE, Universidad del Valle A.A. 25360 Cali, Colombia alexpgq@hotmail.com , mario@univalle.edu.co

ABSTRACT This paper presents an experimental analysis of the different alternatives for the hardwired finite state machine encoding. This work specifically focuses the effort in the comparison of the basic strategies for the state assignment (natural, reflected, progressive, one hot and high-priority encoding), establishing some basic criterions to choose any particular encoding with a generalized focus. The inherent complexity of FSMs makes appropriate the use of the high level design that uses the hardware description languages on a strategically way, along with the programmable logical devices to facilitate the conceptualization and implementation of complex systems. Therefore the starting point of this paper is focused in VHDL modeling of FSMs and their implementation in CPLDs, specifically the developed research uses the FLEX devices of ALTERA.

RESUMEN Este articulo presenta un anlisis experimental de las diferentes alternativas para la codificacin de mquinas de estados finitos cableadas, especficamente se concentra el esfuerzo en la comparacin de las estrategias bsicas para la asignacin de estados (codificacin natural, reflejada, progresiva, uno entre n y prioritaria), estableciendo ciertos criterios bsicos para la eleccin de una codificacin particular con un enfoque generalizado. La complejidad inherente en este tipo de sistemas hace adecuada la utilizacin del diseo de alto nivel que utiliza estratgicamente los lenguajes de descripcin de hardware en conjunto con los dispositivos lgicos programables para facilitar la conceptualizacin e implementacin de sistemas complejos. Por lo tanto el punto de partida de este artculo esta centrado en el modelamiento VHDL de FSMs y su implementacin en CPLDs, especficamente el estudio realizado utiliza los dispositivos FLEX de ALTERA.

CRITERIOS PARA LA OPTIMIZACIN DE FSMs EN FPGAs Alexander Pareja Giraldo, Mario Enrique Vera Lizcano Grupo de Biolectrnica y Nanoelectrnica, EIEE, Universidad del Valle A.A. 25360 Cali, Colombia alexpgq@hotmail.com , mario@univalle.edu.co ABSTRACT La forma de implementar la FSM permite establecer dos tipos de control [4]: Cableado (Hardwired). Implementacin por medio de la interconexin de compuertas lgicas. Para modificar el diseo se debe redefinir la lgica combinacional. Microprogramado (Firmware). Implementacin por medio lgica programable, tpicamente memorias. Para modificar el diseo simplemente se altera el microprograma contenido en el elemento programable. 2. MAQUINAS DE ESTADOS FINITOS

This paper presents an experimental analysis of the different alternatives for the hardwired finite state machine encoding. This work specifically focuses the effort in the comparison of the basic strategies for the state assignment (natural, reflected, progressive, one hot and high-priority encoding), establishing some basic criterions to choose any particular encoding with a generalized focus. The inherent complexity of FSMs makes appropriate the use of the high level design that uses the hardware description languages on a strategically way, along with the programmable logical devices to facilitate the conceptualization and implementation of complex systems. Therefore the starting point of this paper is focused in VHDL modeling of FSMs and their implementation in CPLDs, specifically the developed research uses the FLEX devices of ALTERA.
1. INTRODUCCIN

Una Mquina de estados Finitos FSM se puede considerar como una sxtupla [2]: FSM = (S, I, O, FE, FO, S0), donde: S=(S0, S1, S2,...,Sn1) I =(I0, I1, I2,...,Il1) O=(O0, O1, O2,...,Ok1) FE(S, I) = SxI S FO(S, I) = SxI O S0 Conjunto de estados Conjunto de entradas Conjunto de salidas Funcin de transicin Funcin de salida Estado inicial

Los Sistemas Secuenciales Sncronos se caracterizan por estar sincronizados por una seal de reloj que gobierna el comportamiento de los mismos. La sntesis de este tipo de sistemas consiste en la implementacin por medio de elementos de almacenamiento que memorizan el estado del sistema y lgica combinacional encargada de generar el prximo estado y las funciones de salida del mismo. Una de las principales aplicaciones de los Sistemas Secuenciales Sncronos son los controladores que se implementan por medio de Mquinas de Estado Finito (FSM: Finite State Machine). Los controladores son sistemas secuenciales que suministran las seales adecuadas en los instantes adecuados para secuenciar un conjunto de instrucciones bsicas.

La complejidad de una FSM se puede expresar en trminos de ciertas variables como: CFSM (n,l,k,t), donde n l k t : Nmero de estados : Nmero de entradas : Nmero de salidas : transiciones

La combinacin de estas variables establecen compromisos de diseo particulares que afectan directamente el desempeo de la FSM a disear, las posibilidades de combinacin de estas variables supera cualquier anlisis cuantitativo exacto que se quiera realizar, sin embargo se pueden establecer ciertas combinaciones particulares que afecten de manera relevante el funcionamiento de la FSM y nos permitan establecer algunos criterios de seleccin particulares.

Existen dos formas grficas de representar la informacin de una FSM [3][5]: Grfico de Transicin de Estados STG (State Transition Graph) Mquina de Estados Algortmica ASM (Algorithm State Machine) 3. CODIFICACIN BINARIA

las longitudes medias de todas las palabras cdigo. para el caso de codificacin de FSMs se tiene que todas las palabras cdigo tienen la misma longitud y es igual a m, por tanto se tiene que: n 1 L = m PSi (3) i =0 con este resultado, se sabe la sumatoria de todas las probabilidades debe ser unitario y por lo tanto la longitud media de cdigo mnima sera: L = m 3.2 Caractersticas de la codificacin. La codificacin realizada debe ser compacta (palabras cdigo con una longitud media mnima), para lo cual se deben cumplir ciertas caractersticas particulares de los cdigos bloque [1]: Decodificacin unvoca, esto es que al combinar las posibles secuencias con una longitud de n smbolos fuente (estados), la combinacin de palabras cdigo debe generar un cdigo bloque. dos propiedades suficientes para garantizar una decodificacin unvoca son: palabras cdigo de igual longitud y distinguibles. Decodificacin instantnea, esto es que al recibir una palabra cdigo con una secuencia particular esta se pueda decodificar sin conocer los smbolos fuente precedentes. la condicin necesaria y suficiente para que un cdigo sea instantneo es que ninguna palabra cdigo coincida con el prefijo de otra.

El proceso de codificacin binaria consiste en establecer una correspondencia de todas las secuencias posibles de smbolos de un alfabeto fuente S=(S0, S1, ..., Sn1) a secuencias de smbolos binarias de un alfabeto cdigo Q=(Q0, Q1, ..., Qn-1). La codificacin binaria es un caso particular de los cdigos bloque [1] que asignan a cada uno de los smbolos del alfabeto fuente Si una secuencia binaria fija de smbolos del alfabeto cdigo Qi denominada palabra cdigo, cuyas caractersticas determinan la eficiencia del cdigo. 3.1 Caractersticas de la palabra cdigo Peso Hamming. Se define el peso de una secuencia binaria de n bits como la cantidad de unos presentes en la secuencia y se representa como sigue:

P[Qi ] (1)
Distancia Hamming. Se define la distancia entre dos secuencias binarias como la cantidad de bits diferentes entre ellas, matemticamente representa el peso de la suma mdulo dos de las secuencias, es decir: D(Qi , Q j ) = P[Qi Q j ] (2) Es deseable para la codificacin de estados que la distancia hamming entre palabras cdigo consecutivas sea unitaria, caracterstica que define el concepto de adyacencia lgica. Prefijos. Corresponden a palabras de igual o menor longitud que resultan de suprimir consecutivamente el bit LSB de la palabra cdigo, por ejemplo una palabra cdigo con n bits tendr n prefijos P=(P0, P1, ..., Pn-1). para el caso particular de la codificacin binaria utilizada para FSMs donde se utilizan palabras cdigo de igual longitud y distinguibles, se tiene que los prefijos tienen igual o menor longitud que las dems palabras cdigo y por lo tanto no coincidirn con ninguna palabra cdigo. Longitud media. La longitud media de una palabra cdigo li se calcula multiplicando su longitud por su probabilidad y la de un cdigo l se determina sumando

Matemticamente existe una inecuacin que suministra una condicin necesaria y suficiente para la existencia de cdigos unvocos e instantneos para longitudes de palabras cdigo li, con r cantidad de smbolos en la palabra cdigo; esta es la inecuacin de kraft. Kraft n 1 1 l 1 (4) i =0 r i Caso binario n 1 1 FSMs n 1 1 m 1 i =0 2

l i =0 2 i

3.3 Tipos de codificacin binaria. Mnima. Progresiva. Uno entre N. Codificacin binaria mnima

3.3.1

Este tipo de codificacin se centra en la utilizacin de palabras cdigo con una longitud media mnima Lmn, la

mnima cantidad de bits requeridos para codificar n smbolos es m = log2 n [6][7]. 2 m 1 < n 2 m (5) existen infinidad de formas de codificar n smbolos con estos m bits, sea NC la cantidad que representa todas las posibilidades, por lo tanto: 2m! (6) NC = m

S i ( S 0 , S1 ,..., S n 1 ) = Qci (Qc 0 , Qc1 ,..., Qc ( n 1) ) Qci = qci ( m 1) qci( m 2) ...qci 0


D (Qci , Qci 1 ) = D (Qci , Qci +1 ) = 1
Reflejado. Asignacin de codificaciones contiguas cerradas sin peso Qr, que se caracterizan por ser reflejadas y se denomina frecuentemente codificacin de Gray. La tabla 1 muestra las codificaciones mnimas para ocho smbolos fuente (estados). Tabla 1. Codificaciones Mnimas Explcitas Estado Natural Contigua Reflejada S0 000 000 000 S1 001 100 001 S2 010 101 011 S3 011 111 010 S4 100 110 110 S5 101 010 111 S6 110 011 101 S7 111 001 100

(2 n)!

Existen NC formas posibles de asignar las 2m combinaciones de variables de estado a los n estados. Sin embargo, estas asignaciones no son nicas, es decir, algunas se pueden derivar de las dems por medio de el complemento de una columna o la permutacin de columnas, por lo tanto existe una cantidad de combinaciones base llamadas NCB que representan asignaciones nicas de todas las NC posibles y estn representadas por la siguiente ecuacin: (2 m 1)! (7) N CB = m

3.3.1.2 Codificacin heurstica. Prioridad en adyacencia. Asignacin de codificaciones lgicamente adyacentes a los estados que tengan un estado fuente, destino o salidas comunes. Mnimo cambio de bits. Asignacin de codificaciones de forma que el nmero total de cambios de bits en todas las transiciones sea mnimo. cada flecha de transicin representa un peso igual al nmero de bits que cambian entre el estado fuente y el destino, la codificacin que totalice una suma mnima de pesos (incluyendo todas las transiciones del diagrama de estados) ser la ms ptima.

(2

n)!m!

Para dos estados, existe una sola codificacin base para los mismos, para tres y cuatro estados existen solo tres codificaciones base NCB. Para n superior a cuatro estados no resulta prctico enumerar las posibles codificaciones base. Por estas circunstancias la codificacin binaria mnima se puede tratar por dos caminos: una codificacin explcita basada en codificaciones con caractersticas especiales y una codificacin heurstica basada en consideraciones de diseo particulares de acuerdo a las caractersticas del sistema secuencial; frecuentemente la codificacin heurstica resulta en codificaciones explcitas. 3.3.1.1 Codificacin explcita Este tipo de codificacin utiliza las propiedades de ciertas codificaciones y toma como punto de partida los nmeros en binario natural. para un conjunto de n estados se tendrn S=(S0, S1, ..., Sn1) Natural. Asignacin de codificaciones binarias naturales Qn al isimo estado, es decir codificaciones consecutivas entre cada estado del diagrama, donde cada posicin tiene un peso. Qni = qni ( m 1) q ni ( m 1) ...q ni 0 , donde

Pt = Pti (9)
i =1
3.3.2 Codificacin binaria progresiva.

Variante particular del cdigo binario reflejado donde se utilizan ms posiciones binarias m para codificar n = 2m smbolos (estados) diferentes. este tipo de codificacin se denomina Johnson. La tabla 2 muestra las codificaciones progresivas para ocho estados. Tabla 2. Codificacin progresiva
Estado S0 S1 S2 S3 S4 S5 S6 S7 Cdigo 0000 0001 0011 0111 1111 1110 1100 1000

i = q nij 2 j (8)
j =0
Contigua cerrada. Asignacin de codificaciones binarias sin peso Qc lgicamente adyacentes entre estados consecutivos, donde la ltima codificacin es lgicamente adyacente con la primera.

m 1

3.3.3

Codificacin binaria uno entre n.

Solucin sistemtica que consiste en la utilizacin de un registros de almacenamiento con un flipflop por estado, donde en cada estado solo uno de los flipflops se

encuentra activo (set), este tipo de codificacin se denomina One Hot. En esta codificacin la distancia hamming entre dos palabras cdigo cualquiera es de dos. La siguiente tabla muestra las codificaciones ms importantes con su respectivas palabras cdigo para ocho estados. Tabla 3. Tipos de Codificacin Tipo de Codificacin Natural Reflejada Progresiv Uno entre N a n = 2m n = 2m n = 2m N=m 000 000 0000 00000001 001 001 0001 00000010 010 011 0011 00000100 011 010 0111 00001000 100 110 1111 00010000 101 111 1110 00100000 110 101 1100 01000000 111 100 1000 10000000 3.4 Rendimiento de la codificacin binaria [1] El rendimiento de la codificacin se define como la razn entre la cantidad media de informacin por smbolo a codificar y la longitud media del cdigo:

Como se puede observar en la tabla anterior el rendimiento de los cdigos binarios para smbolos fuente equiprobables es exactamente igual al nmero de smbolos fuente (estados). Esta definicin de rendimiento es puramente terica y es relativa a la forma como se codifican los smbolos, sin tener en cuenta las implicaciones hardware de sntesis. 4. METODOLOGA DE ANLISIS

La complejidad est determinada por las variables n, l, k y t, por lo tanto se deben establecer compromisos entre estos parmetros para observar el desempeo de diversas FSMs y poder establecer criterios para elegir de forma adecuada la codificacin de estados. Se parte de la hiptesis que la codificacin one hot obtiene resultados eficientes en rea y velocidad en FSMs complejas [8]. Por lo tanto el anlisis realizado normaliza el desempeo de las dems codificaciones con respecto a one hot; los grficos mostrarn un factor multiplicativo que representa la razn de desempeo de one hot sobre el desempeo de cualquier codificacin, por lo cual valores por encima de la unidad representarn un pobre desempeo con respecto a one hot. El procedimiento utilizado para realizar la experimentacin es establecer inicialmente un modelo simple de FSM dependiente de las variables a analizar, posteriormente se realizan en VHDL las codificaciones de estados, utilizando cinco tipos de codificacin ( natural, reflejada, progresiva, uno activo y prioritaria). Se sintetizan estas descripciones y se analizan los resultados de frecuencias mximas de operacin y cantidad de celdas lgicas utilizadas, estos parmetros nos permiten definir la relacin de frecuencia sobre celdas lgicas RFC como la razn de stos parmetros:

H 2 (Si ) 1 n 1 = Log 2 PSi (10) L m i =0

De esta ecuacin se deduce que el rendimiento de la codificacin es inversamente proporcional a la longitud de la palabra cdigo, por lo cual el cdigo compacto de mejor rendimiento ser el que tenga la palabra cdigo de longitud mnima. En el caso de equiprobabilidad de los smbolos fuente el rendimiento es:

nLog 2 PSi m

(11)

RFC = F / LC (12)
La idea es determinar el tipo de codificacin que maximice este valor bajo ciertas consideraciones en la FSM, la codificacin que presente el mayor RFC indicar un mejor desempeo. Las consideraciones para crear los modelos son:

La tabla 4 muestra las ecuaciones bsicas que caracterizan las codificaciones estudiadas y su rendimiento para smbolos fuente equiprobables. Tabla 4. Propiedades de los cdigos Cdigo KRAFT Rendimiento Mnimo Progresivo Uno entre N

n 1 n

n 2
n/2

n 2n

<< 1

= 2m

= 2m

=m

Crear un modelo simple para analizar los efectos de los estados, las salidas y las entradas. Se vara individualmente cada uno de estos parmetros con los otros fijos con el objeto de aumentar la complejidad de la mquina. Con los resultados obtenidos se selecciona una FSM caracterstica con una cantidad de estados, entradas y salidas determinadas y se observa el efecto de

aumentar la complejidad en la cantidad y flujo de las transiciones de estado. El punto de partida para el anlisis del desempeo de FSMs para diferentes codificaciones de estados se centra en la complejidad delas mismas. Se inicia con el anlisis de una FSM simple con un flujo cclico lineal (FCL) que cambia al siguiente estado consecutivo si la entrada es uno y se mantiene en l mismo estado si es cero, al llegar al ltimo estado activa la seal de salida indicndolo. El siguiente pseudocdigo muestra este modelo: Para i desde 0 hasta n-2 haga FE (Si , I0) = (I0 Si , I0 Si+1); Fin Para FE (S n1 , I0) = (I0 S n1 , I0 S0); FO (Sn1) = 1 Para observar el efecto de un flujo aleatorio, se considera un flujo con una caracterstica crtica, centrada en el peso hamming total entre transiciones, por lo cual se selecciona un flujo con una distancia maximizada (FDM) en el total de transiciones. Este flujo se selecciona pensando en el peor de los casos para el cdigo binario natural. En las descripciones se utilizan codificaciones explicitas y tipos de datos orientados a hardware (STD_LOGIC), as como un modelo VHDL que separa la lgica combinacional de la lgica secuencial, que por experiencia arroja los mejores resultados de sntesis. 5. COMPLEJIDAD CFSM(n) FLUJO FCL 6. COMPLEJIDAD CFSM(l,k,t) FLUJO FDM Figura 1. Efecto de los estados en el desempeo Como se puede observar existe un lmite en la cantidad de estados para el cual la codificacin uno activo representa mejores resultados de desempeo, esta frontera esta alrededor de los ocho estados, por lo cual se establece un criterio de anlisis centrado en la utilizacin de dos cantidades de estados alrededor de la frontera (ocho y nueve estados), para analizar el efecto de las entradas, las salidas y la cantidad de transiciones. Inicialmente se analizaron los efectos de aumentar la cantidad de entradas, salidas, funciones de salida y transiciones para el flujo FCL en el lmite inferior de la frontera; los resultados obtenidos mostraron una tendencia hacia desempeos sutilmente mejores que uno activo para las codificaciones binarias mnimas y muy deficientes para la codificacin progresiva. Por lo tanto, se opto por seleccionar flujos FDM para aumentar an ms la complejidad de la FSM.

El primer anlisis se centra en el caso de complejidad inmediata de una FSM, que esta directamente relacionado con la cantidad de estados; cuanto mayor sea esta variable necesitaremos mayor cantidad de compuertas, probablemente con mayor fan in y un mayor esfuerzo de ingeniera para el diseo tradicional. Sin embargo por la tecnologa seleccionada el tiempo de desarrollo se reduce considerablemente y el desempeo estar determinado por la experiencia del diseador, la eficiencia del sintetizador y las caractersticas del dispositivo. Para tal efecto se seleccion una FSM con Flujo FCL, una entrada, una salida, el mximo de transiciones posibles para la entrada dada y se increment paulatinamente la cantidad de estados. La figura 1 muestra los resultados obtenidos.

Con un flujo crtico la complejidad en la implementacin de la lgica de excitacin aumenta considerablemente, sin embrago por la tecnologa seleccionada esta efecto podra ser inapreciable. Efecto de las entradas. Las entradas tienen un efecto directo en la FSM y en especial en el flujo y la cantidad de transiciones explcitas en el diagrama de estados. Para n estados, cada estado puede presentar mximo n transiciones de estado y para ello necesitara mnimo l=Log2 n entradas. En primera instancia se analiza el efecto de aumentar paulatinamente la cantidad de entradas, la figura 2 muestra los resultados obtenidos.

Figura 2. Efecto de las entradas en el desempeo Este grfico muestra sutiles diferencias entre la codificacin natural y la uno activo, desempeos significativamente mejores para el cdigo Gray y degradados para el cdigo Johnson. Por lo cual para una cantidad de estados, salidas y flujo dados, el incremento de la complejidad por la adicin de variables de entrada que controlen el flujo sugerira la utilizacin del cdigo Gray para la asignacin de estados, sin embrago se observar que para un flujo aleatorio la codificacin prioritaria obtiene mejores resultados que las dems codificaciones binarias. Como las entradas tambin afectan la cantidad de transiciones y el flujo de las mismas, se trata este caso por separado ms adelante. Efecto de las salidas.

la funcin de generacin de la salida, es decir, la activacin en diferentes estados. Para n estados (palabras cdigo Q) existen 2n2 posibles formas de generar funciones sintetizables para una variable de salida O0, como este nmero es bastante elevado resultara maratnico analizar el efecto de las diferentes codificaciones en cada una de las 2n2 funciones de salida: FOi(Q)=(FO0, FO1, ..., FO(2n2)). Por lo tanto se seleccionaran funciones de salida con algunas caractersticas particulares que faciliten la sntesis en cada una de las codificaciones y observar el efecto en las dems. En general el efecto de las salidas sobre la frecuencia de funcionamiento resulto ser ms crtico cuando se modificaron las funciones de salida que cuando se incrementaron la cantidad de las mismas, particularmente en algunos casos una funcin de salida resulto en frecuencias de operacin 30Mhz por debajo del mximo, sin embrago en el promedio de las 53 funciones de salida analizadas el desempeo de one hot fue casi idntico a la codificacin natural y considerablemente menor que el de cdigo Gray. Efecto de las transiciones.

La cantidad de salidas tienen efecto en la lgica combinacional requerida para implementar la funcionalidad de la FSM y por lo tanto afectarn de alguna manera el desempao de la FSM. La figura 3 muestra los resultados de aumentar paulatinamente la cantidad de salidas (activas cada una en un estado diferente).

La cantidad de transiciones y el flujo de las mismas tienen un efecto crtico en las codificaciones, sin embrago por la tecnologa seleccionada se obtiene cierta abstraccin con respecto a la complejidad adicionada por estos efectos. La figura 4 muestra los resultados obtenidos al aumentar desde la cantidad mnima de transiciones para ocho estados (n+1) hasta la cantidad mxima (n2l), para este caso 8< t 16.

Figura 3. Efecto de las salidas en el desempeo Esta grfica sugiere que para una FSM con una cantidad de estados, una cantidad de entradas y un flujo dado, el incremento en la complejidad de la FSM por la adicin de salidas sugerira la utilizacin de codificacin one hot para valores superiores a cuatro salidas y una codificacin binaria en caso contrario. Adicionalmente al aumento de la cantidad de salidas de una FSM, la complejidad se puede aumentar modificando

Figura 4. Efecto de las transiciones en el desempeo Este grfico muestra que en el lmite inferior de la frontera la cantidad de transiciones afecta ms a la codificacin one hot que a las binarias mnimas, donde la codificacin Gray muestra mejoras considerables en el desempeo y la

natural presenta un desempeo que decrece a medida que aumentan la cantidad de transiciones. En el promedio de los casos analizados previamente se obtienen resultados sutilmente mejores que one hot en codificacin natural en el aumento de la cantidad de entradas y transiciones; el cdigo Gray obtienen mejores desempeos en la complejidad por entradas, transiciones y funciones de salida. 7. COMPLEJIDAD CFSM(t) FLUJO FDM

Ahora analizamos el efecto de modificar el flujo y la cantidad de transiciones en el lmite superior de la frontera (n=9). La figura 6 muestra los resultados obtenidos.

Esta mejora es ms significativa en FSMs complejas, con una cantidad considerable de estados [8]. La codificacin one hot representa una estrategia de diseo que favorece la regularidad, la modularidad y consecuentemente la estructuracin de sistemas jerrquicos. La codificacin one hot que a primera vista sugiere la prdida de rendimiento por la longitud de su palabra cdigo, logra efectos atractivos en implementaciones sobre CPLDs para FSMs complejas. La codificacin progresiva resulta en descripciones con desempeos muy pobres por lo cual resulta poco atractiva. Para FSMs simples con pocos estados la codificacin binaria mnima obtiene mejores desempeos que la one hot. Para un flujo FDM la codificacin binaria mnima puede obtener desempeos mejorados por debajo del umbral de ocho estados, sin embargo el esfuerzo de ingeniera y tiempo de desarrollo seran ligeramente superiores al de la codificacin one hot. Resulta interesante plantear como trabajo futuro la implementacin de estas descripciones en HCPLDs equivalentes en potencialidad de otros fabricantes y analizar el comportamiento. 9. REFERENCIAS BICLIOGRAFICAS

Figura 6. Desempeo en FDM por encima del umbral n Este grfico muestra que al pasar el umbral el efecto sobre el desempeo es crtico para las codificaciones binarias; adicionalmente se utiliz la codificacin prioritaria y se observa fcilmente que su desempeo es mejor que el de las dems codificaciones binarias, sin embargo sigue siendo muy inferior al de one hot. Observando la envolvente para las diferentes codificaciones se puede concluir que el efecto de aumentar la cantidad de transiciones y un flujo crtico es muy similar con las tres codificaciones binarias mnimas (las tres curvas tienen la misma forma) y por tanto no dependen de la codificacin particular. Adems no se puede calcular determinsticamente una funcin para el desempeo de las FSMs. Una particularidad interesante en los resultados obtenidos es la regularidad en los resultados de la codificacin one hot. 8. CONCLUSIONES Y TRABAJO FUTURO
[1] ABRAMSON Norman, Teora de la informacin y codificacin, Paraninfo 6a ed, Madrid 1986. [2] AVELLANAS M. y LODARES D., Matemtica Discreta, Macrobit, Miami 1991. [3] GAJSKI D. Daniel, Principios de Diseo Digital, Prentice Hall, Madrid 1997. [4] MANDADO Enrique, Sistemas Electrnicos Digitales, Marcombo 6a ed, Barcelona, 1998. [5] MANO M. Morris y KIME R, Charles, Fundamentos de Diseo Lgico y Computadoras, Prentice Hall , Mxico D.F, 1998. [6] MCCLUSKEY J. Edward, Logic Design Principles, Prentice Hall, New Jersey 1986. [7] NELSON P. Vctor y otros, Anlisis y Diseo de Circuitos Lgicos Digitales, Prentice Hall, Mxico 1996. [8] PAREJA G. Alexander, Diseo VHDL de un procesador de ocho bits e implementacin en un CPLD, Tesis de Grado, Universidad del valle, Cali 2003.

La codificacin one hot intercambia lgica combinacional en pro de reducir la ruta crtica del sistema y obtener implementaciones de FSMs con mejor desempeo.