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

Controller structure template and method for designing a controller structure

Assignee: NXP USA Inc
•
Filing: 1995-10-20
•
Granted: 1998-06-30
•
Expires: 2015-10-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A controller structure template (60) and method (10) of using the controller structure template (60) for designing a controller structure is provided. The method includes providing (11) a behavioral specification, scheduling, allocating, and binding the behavioral specification (12), dividing (13) the list of statements into statement blocks, clustering (14) the list of statements from each statement block, mapping (15) each statement block into a control block, and mapping (17) each cluster into a control element. The steps of mapping (15 and 17) are performed using a controller structure template (60), which includes a control element template (62), merging logic circuit (63), detection circuit (64), branching logic (67).

Inventors

  • 👤 Chih-Tung Chen
  • 👤 Kayhan Kucukcakar
  • 👤 Thomas E. Tkacik
  • 👤 Rajesh Gupta

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 11:28
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 273 words
A method for generating a controller structure, comprising the steps of: inputting at least one behavioral specification comprising a list of statements; scheduling, allocating, and binding of the at least one behavioral specification to produce a component netlist, dividing the list of statements of the at least one behavioral specification resulting from said step of scheduling, allocating, and binding into at least one statement block; grouping the list of statements from each statement block into at least one cluster of statements for generating the controller structure that controls the component netlist that is being allocated by said step of scheduling, allocating, and binding; mapping each statement block into at least one control block; and mapping each cluster of statements into a control element, wherein the at least one control block and the control element cooperate to form the controller structure, wherein said controller structure comprises: a first finite state machine which serves as a first control element having at least one input and at least one output; a second finite state machine which serves as a second control element having at least one input and at least one output; and a merging logic circuit having a plurality of inputs and an output, wherein a first output of the first finite state machine is coupled to a first input of the plurality of inputs of the merging logic circuit and a first output of the second finite state machine is coupled to a second input of the plurality of inputs of the merging logic circuit, wherein the first and second finite state machines and the merging logic circuit cooperate to form a controller structure.
Claim 2
Independent Claim 273 words
A method for generating a controller structure, comprising the steps of: inputting at least one behavioral specification comprising a list of statements; scheduling, allocating, and binding of the at least one behavioral specification to produce a component netlist, dividing the list of statements of the at least one behavioral specification resulting from said step of scheduling, allocating, and binding into at least one statement block; grouping the list of statements from each statement block into at least one cluster of statements for generating the controller structure that controls the component netlist that is being allocated by said step of scheduling, allocating, and binding; mapping each statement block into at least one control block; and mapping each cluster of statements into a control element, wherein the at least one control block and the control element cooperate to form the controller structure, wherein said controller structure comprises: a first finite state machine which serves as a first control element having at least one input and at least one output; a second finite state machine which serves as a second control element having at least one input and at least one output; and a merging logic circuit having a plurality of inputs and an output, wherein a first output of the first finite state machine is coupled to a first input of the plurality of inputs of the merging logic circuit and a first output of the second finite state machine is coupled to a second input of the plurality of inputs of the merging logic circuit, wherein the first and second finite state machines and the merging logic circuit cooperate to form a controller structure.
Claim 3
Dependent Claim 37 words
The method of claim 1, wherein the step of scheduling, allocating, and binding of the at least one behavioral specification includes assigning a set of attributes describing a style of executing the at least one behavioral specification.
Claim 4
Dependent Claim 37 words
The method of claim 2, wherein assigning a set of attributes includes assigning a sequence point attribute, a clock attribute, a synchronization mode attribute, and a clock cycle attribute to each statement of the list of statements.
Claim 5
Dependent Claim 29 words
The method of claim 2, wherein assigning a set of attributes includes assigning a synchronization mode attribute and a clock attribute to each statement of the list of statements.
Claim 6
Dependent Claim 24 words
The method of claim 2, wherein assigning a set of attributes includes assigning a clock attribute to each statement of the list of statements.
Claim 7
Dependent Claim 46 words
The method of claim 2, wherein the step of grouping the list of statements from each statement block into at least one cluster of statements includes grouping the list of statements in accordance with a sequence point attribute, a clock attribute, and a synchronization mode attribute.
Claim 8
Dependent Claim 38 words
The method of claim 2, wherein the step of grouping the list of statements from each statement block into at least one cluster of statements includes grouping the list of statements in accordance with a sequence point attribute.
Claim 9
Dependent Claim 37 words
The method of claim 2, wherein the step of grouping the list of statements from each statement block into at least one cluster of statements includes grouping the list of statements in accordance with a clock attribute.
Claim 10
Dependent Claim 46 words
The method of claim 1, wherein the steps of mapping each statement block and each cluster of statements includes mapping each statement block of the at least one statement block using a control block template and mapping each cluster of statements using a control element template.
Claim 11
Dependent Claim 43 words
The method of claim 1, wherein the step of grouping the list of statements from each statement block into at least one cluster of statements includes forming the at least one cluster of statements to be controlled by a single finite state machine.
Claim 12
Dependent Claim 23 words
The method of claim 1, further including generating the controller structure capable of supporting single-thread execution, multiple-thread execution, and pipeline execution structures together.
Claim 13
Dependent Claim 15 words
The method of claim 1, further including generating the controller structure to support multiple clocks.
Claim 14
Dependent Claim 133 words
A controller structure template, comprising: a first finite state machine which serves as a first control element having at least one input and at least one output; a second finite state machine which serves as a second control element having at least one input and at least one output; and a merging logic circuit having a plurality of inputs and an output, wherein a first output of the first finite state machine is coupled to a first input of the plurality of inputs of the merging logic circuit and a first output of the second finite state machine is coupled to a second input of the plurality of inputs of the merging logic circuit, wherein the first and second finite state machines and the merging logic circuit cooperate to form a controller structure.
Claim 15
Dependent Claim 133 words
A controller structure template, comprising: a first finite state machine which serves as a first control element having at least one input and at least one output; a second finite state machine which serves as a second control element having at least one input and at least one output; and a merging logic circuit having a plurality of inputs and an output, wherein a first output of the first finite state machine is coupled to a first input of the plurality of inputs of the merging logic circuit and a first output of the second finite state machine is coupled to a second input of the plurality of inputs of the merging logic circuit, wherein the first and second finite state machines and the merging logic circuit cooperate to form a controller structure.
Claim 16
Dependent Claim 35 words
The controller structure template of claim 13, wherein the first finite state machine is coupled for receiving a first clock signal and the second finite state machine is coupled for receiving a second clock signal.
Claim 17
Dependent Claim 60 words
The controller structure template of claim 13, further including a done detection circuit having one input of the at least one input coupled to an output of the at least one output of the first finite state machine, and an output, wherein the done detection circuit indicates when control block containing at least the first finite state machine is complete.
Claim 18
Dependent Claim 22 words
The controller structure template of claim 13, wherein the merging logic circuit comprises a logical function circuit lacking additional data selection inputs.
Claim 19
Dependent Claim 24 words
The controller structure template of claim 16, wherein the logical function circuit comprises one of a logical AND function or a logical OR function.
Claim 20
Dependent Claim 30 words
The controller structure template of claim 13, further including a branching logic circuit, wherein the first control element is coupled to the merging logic circuit via the branching logic circuit.
Claim 21
Dependent Claim 28 words
The controller structure template of claim 18, further including a child block, wherein the child block is coupled to the controller structure template via the branching logic circuit.
Claim 22
Dependent Claim 69 words
A control element template for a controller structure, comprising: a sequence point circuit having at least one input and an output; and a finite state machine having at least one input and at least one output, the output of the sequence point circuit coupled to a first input of the finite state machine, wherein the sequence point circuit and the finite state machine cooperate to form the controller structure.
Claim 23
Dependent Claim 69 words
A control element template for a controller structure, comprising: a sequence point circuit having at least one input and an output; and a finite state machine having at least one input and at least one output, the output of the sequence point circuit coupled to a first input of the finite state machine, wherein the sequence point circuit and the finite state machine cooperate to form the controller structure.
Claim 24
Dependent Claim 29 words
The control element template of claim 20, wherein the output of the sequence point circuit is coupled to the first input of the finite state machine by a flip-flop.
Claim 25
Dependent Claim 63 words
The control element template of claim 20, further including a wait generation circuit having at least one input and at least one output, wherein a first output of the wait generation circuit is coupled to a second input of the finite state machine and a first output of the finite state machine is coupled to a first input of the wait generation circuit.

References Cited (Backward Citations)

US5661662A Cited
US5541849A Cited
US5247651A Cited
US5491640A Cited
US5530370A Cited
US5594657A Cited
US5513122A Cited
US5600567A Cited
US5537580A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-06-29 2001-12-29 2002-06-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-06-29 2005-12-29 2006-06-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-06-29 2009-12-29 2010-06-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag