State machine block for high-level synthesis
OwnerShadi Assadikhomami, Tor Aamodtinventors
Life of this patent
Estimating the term…
Loading patent…
OwnerShadi Assadikhomami, Tor Aamodtinventors
Estimating the term…
An architecture for a Field Programmable Gate Array (FPGA) that better supports the designs of finite state machines (FSMs) generated by High-Level Synthesis (HLS) tools. The architecture is based on categorizing states of a FSM into branch free path states and independent states. A memory unit stores next state information for independent states and an accumulator unit computes next state information for branch free path states. A control unit selects the next state based on either the memory unit or the accumulator unit. An input sequence encoder encodes external inputs and current state values into encoded sequence signals that are input to the memory unit. Also disclosed is a state assignment algorithm that assigns state values to states of the FSM by first identifying branch free paths that terminate on the same state and then eliminating overlap between paths. States along the same branch free path are assigned sequential values.
A state machine block that implements a control path of a finite state machine comprising:
A state machine block that implements a control path of a finite state machine comprising:
A state machine block that implements a control path of a finite state machine comprising:
A state machine block that implements a control path of a finite state machine comprising:
A state machine block that implements a control path of a finite state machine comprising:
A state machine block that implements a control path of a finite state machine comprising:
A state machine block that implements a control path of a finite state machine comprising:
A state machine block that implements a control path of a finite state machine comprising:
A state machine block that implements a control path of a finite state machine comprising:
A state machine block that implements a control path of a finite state machine comprising:
A state machine block that implements a control path of a finite state machine comprising:
A method of assigning state values in a finite state machine implemented in a state machine block with a memory unit that stores next state values for independent states and an accumulator unit that computes next state values for branch-free path states, the method comprising the steps of:
Dependencies are inferred from the claim text.