Methods and media for utilizing symbolic expressions in circuit modules
Abstract
The invention provides parametric modules called Self Implementing Modules (SIMs) for use in programmable logic devices such as FPGAs. The invention further provides tools and methods for generating and using SIMs. SIMs implement themselves at the time the design is elaborated, targeting a specified FPGA according to specified parameters that may, for example, include the required timing, data width, number of taps for a FIR filter, and so forth. In one embodiment, the SIM parameters may be symbolic expressions, which may comprise strings or string expressions, logical (Boolean) expressions, or a combination of these data types. The variables in these expressions are either parameters of the SIM or parameters of the “parent” of the SIM. Parametric expressions are parsed and evaluated at the time the SIM is elaborated; i.e., at run-time, usually when the design is mapped, placed, and routed in a specific FPGA. The use of parametric expressions interpreted at elaboration time allows dynamic inheritance and synthesis of actual parameter values, rather than the static value inheritance commonly found in programming languages such as C++ and Java.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A data storage medium comprising a first self-implementing module for an integrated circuit (IC), the first module comprising:
means for accepting one or more symbolic expressions from at least one other module as parameters; and means for self-implementing a circuit represented by the first module and targeting the IC, based on the symbolic expressions.
2 . The data storage medium of claim 1 , further comprising means for parsing and evaluating the symbolic expressions at execution time.
3 . The data storage medium of claim 1 , wherein the first module is a parent of a child module.
4 . The data storage medium of claim 3 , wherein the child module is the at least one other module.
5 . The data storage medium of claim 1 , wherein the first module is a child of a parent module.
6 . The data storage medium of claim 5 , wherein the parent module is the at least one other module.
7 . The data storage medium of claim 1 , wherein the IC comprises a programmable logic device.
8 . The data storage medium of claim 1 , wherein the symbolic expressions specify a logical function for the first module.
9 . A data storage medium comprising a first self-implementing module for an integrated circuit (IC), the first module comprising:
means for accepting one or more symbolic expressions as parameters; means for parsing and evaluating the symbolic expressions at execution time; and means for self-implementing a circuit represented by the first module and targeting the IC, based on the symbolic expressions.
10 . The data storage medium of claim 9 , wherein the first module is a parent of a child module.
11 . The data storage medium of claim 10 , wherein the child module is the at least one other module.
12 . The data storage medium of claim 9 , wherein the first module is a child of a parent module.
13 . The data storage medium of claim 12 , wherein the parent module is the at least one other module.
14 . The data storage medium of claim 9 , wherein the symbolic expressions specify a logical function for the first module.
15 . A method for specifying a circuit, the method comprising:
instantiating a parametric module; receiving a first symbolic expression from a first module; and specifying a parameter value for the parametric module by using the first symbolic expression.
16 . The method of claim 15 , wherein the circuit is to be implemented in a programmable logic device, and the parameter value includes information relating to an area of the programmable logic device available for the parametric module.
17 . The method of claim 15 , wherein the parameter value specifies a logical function for the parametric module.
18 . The method of claim 15 , further comprising receiving a second symbolic expression from a second module, wherein specifying a parameter value includes using the second symbolic expression.
19 . A method for specifying a circuit, the method comprising:
instantiating a parametric module; receiving a first symbolic expression; and specifying a parameter value for the parametric module by using the first symbolic expression, wherein the symbolic expression is parsed and evaluated at a time the parametric module is executed.
20 . The method of claim 19 , wherein the circuit is to be implemented in a programmable logic device, and the parameter value includes information relating to an area of the programmable logic device available for the parametric module.
21 . The method of claim 19 , wherein the parameter value specifies a logical function for the parametric module.
22 . The method of claim 19 , further comprising receiving a second symbolic expression, wherein specifying a parameter value includes using the second symbolic expression.
23 . A data storage medium comprising a first module for an integrated circuit (IC), the first module comprising means for transmitting one or more symbolic expressions as parameters directly to a second module, the first and second modules each implementing a sub-circuit for the IC.
24 . The data storage medium of claim 23 , wherein the IC comprises a programmable logic device.
25 . The data storage medium of claim 23 , further including means for accepting one or more symbolic expressions as parameters from at least one other module.
26 . The data storage medium of claim 23 , further including means for accepting one or more symbolic expressions as parameters from the second module.
27 . The data storage medium of claim 23 , wherein the second module is a parent module of the first module.
28 . The data storage medium of claim 23 , wherein the second module is a child module of the first module.
29 . A method for specifying a circuit, the method comprising:
instantiating a first parametric module including means for receiving a symbolic expression from another module; instantiating a second parametric module including means for transmitting the symbolic expression to another module; and transmitting the symbolic expression from the second parametric module directly to the first parametric module.
30 . The method of claim 29 , further comprising parsing and evaluating the symbolic expression at the time the first parametric module is executed.
31 . A method for specifying a logic circuit, the method comprising:
instantiating a first parametric module specifying a first sub-circuit of the logic circuit; and transmitting a symbolic expression from the first parametric module directly to a second parametric module specifying a second sub-circuit of the logic circuit.
32 . The method of claim 31 , further comprising parsing and evaluating the symbolic expression at a time the first parametric module is executed.
33 . The method of claim 31 , further comprising parsing and evaluating the symbolic expression at a time the second parametric module is executed.
34 . The method of claim 31 , further comprising specifying a parameter value for the first parametric module by using the symbolic expression.
35 . The method of claim 31 , further comprising specifying a parameter value for the second parametric module by using the symbolic expression.Join the waitlist — get patent alerts
Track US2001001881A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.