35 research outputs found
Finite State Machines With Input Multiplexing: A Performance Study
Finite state machines with input multiplexing (FSMIMs)
have been proposed in previous works as a technique for efficient
mapping FSMs into ROM memory. In this paper, we propose a new
architecture for implementing FSMIMs, called FSMIM with state-based
input selection, whose goal is to achieve a further reduction in memory
usage. This paper also describes in detail the algorithms for generating
FSMIMs used by the tool FSMIM-Gen, which has been developed
and made available on the Internet for free public use. A comparative
study in terms of speed and area between FSMIM approaches
and other field programmable gate array-based techniques is presented.
The results show that the FSMIM approaches obtain huge
reductions in the look-up table (LUT) usage by using a small number
of embedded memory blocks. In addition, speed improvements
over conventional LUT-based implementations have been obtained in
many cases
High-Performance Architecture for Binary-Tree-Based Finite State Machines
A binary-tree-based finite state machine (BT-FSM)
is a state machine with a 1-bit input signal whose state transition
graph is a binary tree. BT-FSMs are useful in those
application areas where searching in a binary tree is required,
such as computer networks, compression, automatic control, or
cryptography. This paper presents a new architecture for implementing
BT-FSMs which is based on the model finite virtual state
machine (FVSM). The proposed architecture has been compared
with the general FVSM and conventional approaches by using
both synthetic test benches and very large BT-FSMs obtained
from a real application. In synthetic test benches, the average
speed improvement of the proposed architecture respect to the
best results of the other approaches achieves 41% (there are
some cases in which the speed is more than double). In the
case of the real application, the average speed improvement
achieves 155%
Performance Evaluation of RAM-Based Implementation of Finite State Machines in FPGAs
This paper presents a study of performance of
RAM-based implementations in FPGAs of Finite State Machines
(FSMs). The influence of the FSM characteristics on speed and
area has been studied, taking into account the particular features
of different FPGA families, like the size of LUTs, the size of
memory blocks, the number of embedded multiplexer levels and
the specific decoding logic for distributed RAM. Our study can be
useful for efficiently implementing FPGA-based state machines
Methodology for Distributed-ROM-based Implementation of Finite State Machines
This brief explores the optimization of distributed-ROM-based Finite State Machine (FSM) implementations as an alternative to conventional implementations based on Look-Up Tables (LUTs). In distributed-ROM implementations, LUTs with constant output value (called constant LUTs) and LUTs with the same content (called equivalent LUTs) can be saved. We propose a methodology to implement FSMs using distributed ROM that includes: (1) a greedy state encoding algorithm, (2) an algorithm to find the way of interconnecting the address signals to the ROM that maximize the number of constant or equivalent LUTs, and (3) a set of architectures to implement the columns of the ROM. The results obtained have been compared with conventional LUT-based implementations using standard benchmarks. The proposed technique reduces the number of LUTs in a 91% of cases and increases the speed in all cases
Synthesis and simulation of reprogrammable control units from hierarchical specifications
Doutoramento em Engenharia ElectrotécnicaAs máquinas finitas de estados (FSM) têm sido usadas para especificar e
implementar unidades de controlo e têm sido um assunto de grande importância
nas últimas cinco décadas. Devido ao aumento da complexidade das unidades de
controlo e uma vez que o modelo FSM não permite descrições hierárquicas e
concorrentes, novos modelos formais que suportam hierarquia e concorrência têm
sido propostos com o objectivo de ultrapassar as limitações do modelo FSM e que
permitem a especificação de unidades de controlo complexas usando uma
metodologia de decomposição hierarquizada. Apesar disso não têm sido propostas
arquitecturas de máquinas finitas de estados hierárquicas, com excepção das
máquinas construÃdas com memória stack, que possam ser vistas como uma
máquina integral que implementa internamente e de forma eficiente a transição
entre os diferentes nÃveis hierárquicos da máquina.
Esta tese aborda a sÃntese de máquinas de estados especificadas hierarquicamente
e propõe duas arquitecturas de máquinas hierárquicas (HFSM) e uma máquina
paralela hierárquica (PHFSM) contruÃdas com memória stack, que são flexÃveis,
extensÃveis e reutilizáveis. Apresenta também, a metodologia de sÃntese lógica que
permite construir a tabela de transição de estados a partir da especificação
hierárquica, tabela essa que é utilizada na implementação dos modelos propostos.
Considerando que é altamente recomendável a utilização de modelos formais que
permitam descrições hierárquicas e concorrentes na especificação de unidades de
controlo complexas, os modelos de grafos hierárquicos (HGS) e grafos paralelos
hierárquicos (PHGS) são apresentados e são feitas algumas considerações acerca
da sua utilização, execução e correcção. É ainda explicado como se pode validar a
especificação hierárquica da funcionalidade de unidades de controlo complexas
através da verificação automática e simulação da especificação baseada em HGSs.
Os modelos propostos de máquinas de estados são apresentados detalhadamente
tendo em atenção o seu funcionamento, implementação interna baseada em
memórias e sincronização, bem como as novas facilidades de flexibilidade e
extensibilidade que estes modelos apresentam.
É apresentada a metodologia manual da sÃntese lógica que é necessário
implementar a partir das especificações hierárquicas baseadas em HGSs ou
PHGSs de forma a construir a tabela de transição de estados que especifica a
máquina hierárquica ou paralela hierárquica, para as máquinas de estados de
Moore, Mealy ou mista Moore/Mealy. É também apresentado um programa que
implementa automaticamente a sÃntese lógica dos dois modelos de máquinas de
estados hierárquicas propostos a partir da especificação feita com HGSs.
Os modelos de arquitecturas propostas, bem como a metodologia de sÃntese,
foram validadas através de uma simulação em VHDL que foi feita usando as
ferramentas de simulação da Synopsys.Finite state machines (FSM) have been a topic of great importance in the last five
decades and have been used to specify and implement control units. Due to the
increasing complexity of control units and since the FSM model does not
explicitly support hierarchy and concurrency, new state-based models with
hierarchical and concurrent constructions were proposed in order to overcome
the limitations of the conventional FSM model and allowing the specification of
complex control units in a top-down manner. Still, there are not many hierarchical
FSM architectures (HFSM) that have been proposed to implement those
hierarchical specifications and most of them cannot be seen as a whole FSM
implementing internally in an efficient way the switching between the different
hierarchical levels of the machine, except for the HFSM with stack memory.
This thesis tackles the synthesis of FSMs from hierarchical specifications and
proposes two HFSMs and a parallel hierarchical FSM (PHFSM) with stack
memory that can provide such facilities as flexibility, extensibility and reusability.
It also presents the synthesis methodology from hierarchical specifications to the
generation of state transition tables that can be used to carry out the logic
synthesis of the proposed HFSM models.
Considering that the use of formal state-based models that provide hierarchical
and concurrent constructions is highly recommended for specifying complex
control units, hierarchical graph-schemes (HGS) and parallel hierarchical graphschemes
(PHGS) are used and some considerations about their execution and
correctness are presented. It is also explained how HGSs can be used to specify a
control algorithm and how it is possible to verify automatically its correctness and
to validate the intended functionality through simulation.
Using the first model of a HFSM with stack memory as a starting model, two new
models that can provide flexibility, extensibility and reusability and a PHFSM
model that combines hierarchy and pseudo-parallel execution of operations are
proposed. Their functionality, flexibility, extensibility, synchronisation and internal
realisation are fully explained.
To implement a control unit specified with a set of HGSs/PHGSs it is necessary
to perform the first step of the sequential logic synthesis, taking in consideration
the pretended target model. The manual synthesis methodology required to build
the state transition table of a HFSM/PHFSM starting from a hierarchical
specification based on HGSs/PHGSs is explained for a Moore, a Mealy and a
mixed Moore/Mealy FSM. A tool that automatically performs this first step for
the two HFSM models proposed is also presented.
In order to validate the proposed HFSM/PHFSM models and their synthesis, the
models were described in VHDL for a LUT-based implementation and simulated
using the Synopsys simulation tools
Low-power FSMs in FPGA: Encoding alternatives
The final publication is available at Springer via http://dx.doi.org/10.1007/3-540-45716-X_36Proceedings of 12th International Workshop, PATMOS 2002 Seville, Spain, September 11–13, 2002In this paper, the problem of state encoding of FPGA-based synchronous finite state machines (FSMs) for low-power is addressed. Four codification schemes have been studied: First, the usual binary encoding and the One-Hot approach suggested by the FPGA vendor; then, a code that minimizes the output logic; finally, the so-called Two-Hot code strategy. FSMs of the MCNC and PREP benchmark suites have been analyzed. Main results show that binary state encoding fit well with small machines (up to 8 states), meanwhile One-Hot is better for large FSMs (over 16 states). A power saving of up to the 57% can be achieved selecting the appropriate encoding. An areapower correlation has been observed in spite of the circuit or encoding scheme. Thus, FSMs that make use of fewer resources are good candidates to consume less power.Ministry of Science of Spain, under Contract TIC2001-2688-C03-03, has supported
this work. Additional funds have been obtained from Projects 658001 and 658004 of
the Fundación General de la Universidad Autónoma de Madrid
A Study of Finite State Machine Coding Styles for Implementation in FPGAs
Finite State Machines (FSM), are one of the more complex structures found in almost all digital systems today. Hardware Description Languages are used for high-level digital system design. VHDL (VHSIC Hardware Description Language) provides the capability of different coding styles for FSMs. Therefore, a choice of a coding style is needed to achieve specific performance goals and to minimize resource utilization for implementation in a re-configurable computing environment such as an FPGA. This paper is a study of the tradeoffs that can be made by changing coding styles. A comparative study on three different FSM coding styles is shown to address their impact on performance and resource utilization for the most commonly used encoding methods for FPGA designs. The results show that a particular coding style leads to a savings in resource utilization with a significant performance improvement over the others while the others pose a consistent performance regardless of the resource utilization outcome