← Back to Patent Explorer
US5949251A Expired / Lapsed US ⏱️ 0.0 years remaining

Register-based programmable post-silicon system to patch and dynamically modify the behavior of synchronous state machines

Assignee: NXP BV
•
Filing: 1997-08-01
•
Granted: 1999-09-07
•
Expires: 2017-08-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention allows the behavior of a state machine to be readily modified by software after it has been fabricated in silicon. To perform these modifications, the present invention uses special patch registers, multiplexers, and comparators to bypass certain states within the sequence of states within the combinatorial logic of the state machine and/or add new state sequences. Each patch register stores a state to be patched, a next state, and outputs. The state to be patched is the state that will be modified, while the next state is the state the state machine transitions into from the state to be patched, and the outputs are the outputs generated and asserted by the state machine while within the next state. Many such patch registers can be used by the present invention to define many modifications. Using this patch mechanism, the present invention allows new states to be added and existing states to be removed from the sequence of states that the state machine cycles through. To implement the functionality of the patch registers within the present invention, a separate comparator is connected to each patch register to determine when the present state of the state machine matches the state to be patched as stored within each respective patch register. When these values match, the corresponding comparator sends control signals causing the multiplexers to transfer into the state machine the next state and outputs as stored within that particular patch register that matched.

Inventors

  • 👤 Peter Chambers

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 14:41
CPC Classifications
G; G05; G05B; G05B19/00; G05B19/02; G05B19/04; G05B19/045; G05B2219/00; G05B2219/20; G05B2219/23; G05B2219/23289

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 199 words
A state machine circuit comprising: a combinatorial logic circuit implemented in a semiconductor substrate for sequencing through a set of states, each of said states having a state value and generating a respective output value; a state register for holding a current state value indicating the current state of said state machine circuit, said current state value coupled back to said combinatorial logic circuit; an output register for holding an output value associated with said current state value; a first multiplexer having an input coupled to receive a state value from said combinatorial logic circuit and an output coupled to supply said state register; a second multiplexer having an input coupled to receive an output value from said combinatorial logic circuit and an output coupled to supply said output register; n programmable patch registers coupled to inputs of said first and second multiplexers for modifying said set of states, each programmable patch register comprising a state-to-be-patched field, a next state field and an output field; and n comparators coupled to said state register and to said n programmable patch registers, said n comparators comparing said state-to-be-patched fields to determine when to modify said state register and said output register.
Claim 2
Dependent Claim 199 words
A state machine circuit comprising: a combinatorial logic circuit implemented in a semiconductor substrate for sequencing through a set of states, each of said states having a state value and generating a respective output value; a state register for holding a current state value indicating the current state of said state machine circuit, said current state value coupled back to said combinatorial logic circuit; an output register for holding an output value associated with said current state value; a first multiplexer having an input coupled to receive a state value from said combinatorial logic circuit and an output coupled to supply said state register; a second multiplexer having an input coupled to receive an output value from said combinatorial logic circuit and an output coupled to supply said output register; n programmable patch registers coupled to inputs of said first and second multiplexers for modifying said set of states, each programmable patch register comprising a state-to-be-patched field, a next state field and an output field; and n comparators coupled to said state register and to said n programmable patch registers, said n comparators comparing said state-to-be-patched fields to determine when to modify said state register and said output register.
Claim 3
Dependent Claim 47 words
A state machine as described in claim 1 wherein said n programmable patch registers allow n-1 new states with n-1 associated new output values to be inserted into said set of states at a location where one state of said set of states matches one state-to-be-patched field.
Claim 4
Dependent Claim 33 words
A state machine as described in claim 1 wherein said n programmable patch registers allow at least one state of said set of states to be bypassed out of said set of states.
Claim 5
Dependent Claim 55 words
A state machine as described in claim 1 wherein said n programmable patch registers allow at least one state of said set of states to be bypassed out of said set of states and also allow at least one new state with an associated new output value to be inserted into said set of states.
Claim 6
Dependent Claim 99 words
A state machine circuit as described in claim 4 further comprising a control signal determined by said n comparators and wherein said first multiplexer and said second multiplexer are each coupled to receive said control signal which causes said first multiplexer to select between a state value from said combinatorial logic circuit and a state value from a next state field of said n programmable patch registers and which further causes said second multiplexer to select between an output value from said combinatorial logic circuit and an output value from an output field of said n programmable patch registers.
Claim 7
Dependent Claim 30 words
A state machine circuit as described in claim 5 further comprising a decoder circuit coupled to receive output signals of said n comparators and for generating said control signal therefrom.
Claim 8
Dependent Claim 39 words
A state machine circuit as described in claim 4 wherein each patch register of said n programmable patch registers further contains a valid bit field which is used to determine if information stored within each patch register is valid.
Claim 9
Dependent Claim 34 words
A state machine circuit as described in claim 7 wherein said n comparators ignore a particular patch register of said n programmable patch registers if its associated valid bit field is indicated as invalid.
Claim 10
Dependent Claim 49 words
A state machine circuit as described in claim 4 wherein said state register and said output register are latches and further comprising: an input bus coupled to supply input values to said combinatorial logic circuit; and a clock circuit coupled to synchronize said state register and said output register.
Claim 11
Dependent Claim 204 words
A circuit comprising: a state machine circuit comprising: a state machine combinatorial logic circuit which implements a set of states and a set of respective outputs which said state machine circuit generates for each state of said set of states; a first multiplexer coupled to receive and transfer said set of states from said state machine combinatorial logic circuit; a second multiplexer coupled to receive and transfer said set of outputs from said state machine combinatorial logic circuit; a state register coupled to said first multiplexer to receive and store said set of states of said state machine combinatorial logic; an output register coupled to said second multiplexer to receive and store said set of outputs of said state machine combinatorial logic; a patch register coupled to output to said first and second multiplexers, said patch register used to supply state and output data to modify said set of states and said set of respective outputs of said state machine circuit; and a comparator coupled to said state machine circuit and to said patch register for comparing state information in said patch register with state information in said state register to determine when to modify said set of states and said set of outputs.
Claim 12
Dependent Claim 204 words
A circuit comprising: a state machine circuit comprising: a state machine combinatorial logic circuit which implements a set of states and a set of respective outputs which said state machine circuit generates for each state of said set of states; a first multiplexer coupled to receive and transfer said set of states from said state machine combinatorial logic circuit; a second multiplexer coupled to receive and transfer said set of outputs from said state machine combinatorial logic circuit; a state register coupled to said first multiplexer to receive and store said set of states of said state machine combinatorial logic; an output register coupled to said second multiplexer to receive and store said set of outputs of said state machine combinatorial logic; a patch register coupled to output to said first and second multiplexers, said patch register used to supply state and output data to modify said set of states and said set of respective outputs of said state machine circuit; and a comparator coupled to said state machine circuit and to said patch register for comparing state information in said patch register with state information in said state register to determine when to modify said set of states and said set of outputs.
Claim 13
Dependent Claim 35 words
A circuit as described in claim 10 wherein said patch register comprises a state to be patched field and a next state field containing said state information and a output field containing said output information.
Claim 14
Dependent Claim 24 words
A circuit as described in claim 11 wherein said first multiplexer is also coupled to receive said state information stored within said patch register.
Claim 15
Dependent Claim 28 words
A circuit as described in claim 12 wherein said second multiplexer is also coupled to receive said output information stored within said output field of said patch register.
Claim 16
Dependent Claim 72 words
A circuit as described in claim 13 wherein said comparator generates a control signal received by said first and second multiplexers causing said first multiplexer to select between a state value output by said combinatorial logic circuit and a state value output from said patch register and causing said second multiplexer to select between an output value output by said combinatorial logic circuit and an output value output from said patch register.
Claim 17
Dependent Claim 54 words
A circuit as described in claim 11 wherein said comparator is coupled to said state register and compares said set of states of said state machine combinatorial logic circuit with said state to be patched field of said patch register to determine when to modify said set of states and said set of outputs.
Claim 18
Dependent Claim 22 words
A circuit as described in claim 11 wherein said patch register is used to bypass a state of said set of states.
Claim 19
Dependent Claim 32 words
A circuit as described in claim 11 wherein said state register is coupled to transfer said set of states to said comparator and to an input of said state machine combinatorial logic.
Claim 20
Dependent Claim 199 words
A modifiable state machine circuit comprising: a state machine circuit comprising: a state machine combinatorial logic circuit implemented in a substrate, said state machine combinatorial logic circuit realizing a set of states and a set of outputs; a first multiplexer coupled to receive and transfer said set of states from said state machine combinatorial logic circuit; a second multiplexer coupled to receive and transfer said set of outputs from said state machine combinatorial logic circuit; a state register coupled to receive a state from said first multiplexer and to transfer said state to said state machine combinatorial logic circuit; an output register coupled to receive an output from said second multiplexer; a plurality of patch registers for modifying said set of states, each patch register containing a state to be patched, a next state and an output wherein each state to be patched is coupled to an input of said first multiplexer and each output is coupled to an input of said second multiplexer; and comparators coupled to said state register and to each state to be patched stored within said plurality of patch registers to determine when to modify said set of states and said set of outputs.
Claim 21
Dependent Claim 199 words
A modifiable state machine circuit comprising: a state machine circuit comprising: a state machine combinatorial logic circuit implemented in a substrate, said state machine combinatorial logic circuit realizing a set of states and a set of outputs; a first multiplexer coupled to receive and transfer said set of states from said state machine combinatorial logic circuit; a second multiplexer coupled to receive and transfer said set of outputs from said state machine combinatorial logic circuit; a state register coupled to receive a state from said first multiplexer and to transfer said state to said state machine combinatorial logic circuit; an output register coupled to receive an output from said second multiplexer; a plurality of patch registers for modifying said set of states, each patch register containing a state to be patched, a next state and an output wherein each state to be patched is coupled to an input of said first multiplexer and each output is coupled to an input of said second multiplexer; and comparators coupled to said state register and to each state to be patched stored within said plurality of patch registers to determine when to modify said set of states and said set of outputs.
Claim 22
Dependent Claim 60 words
A modifiable state machine circuit as described in claim 18 wherein said first multiplexer and said second multiplexer are each coupled to receive a control signal dependent upon said comparators which causes said first multiplexer to transfer a specific state signal into said state register and causes said second multiplexer to transfer a specific output signal into said output register.
Claim 23
Dependent Claim 39 words
A modifiable state machine circuit as described in claim 19 wherein each patch register of said plurality of patch registers further stores a valid bit which is used to determine if information stored within each patch register is valid.
Claim 24
Dependent Claim 43 words
A modifiable state machine circuit as described in claim 20 wherein each comparator is coupled to compare a valid bit stored within a respective patch register with a predetermined value to determine if said information stored within said respective patch register is valid.
Claim 25
Dependent Claim 31 words
A modifiable state machine circuit as described in claim 19 further comprising a decoder circuit which is coupled to receive signals from said comparators and coupled to generate said control signal.

References Cited (Backward Citations)

US5097151A Cited
US5778251A Cited
US5825199A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-09-06 2003-03-08 2003-09-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-09-06 2007-03-08 2007-09-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-09-06 2011-03-08 2011-09-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag