US9679092B1ActiveUtility
Constraint handling for parameterizable hardware description language
Est. expiryNov 3, 2035(~9.3 yrs left)· nominal 20-yr term from priority
Inventors:Pradip K. JhaRavi N. KurlagundaDavid A. KnolDinesh K. MongaStephen P. RozumSudipto Chakraborty
G06F 30/3312G06F 2119/12G06F 30/33G06F 17/5031G06F 17/505G06F 17/5045G06F 17/5022G06F 30/3323G06F 30/327G06F 30/30G06F 2111/04G06F 30/3315
85
PatentIndex Score
5
Cited by
18
References
20
Claims
Abstract
Constraint handling for a circuit design may include determining, using a processor, instances of parameterizable modules of a circuit design associated with constraints based upon a predefined hardware description language attribute within the instances, extracting, using the processor, parameter values from the instances of the parameterizable modules, and generating, using the processor, static constraint files for the instances of the parameterizable modules using the extracted parameter values.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method of constraint handling for a circuit design, comprising:
determining, using a processor, instances of parameterizable modules of a circuit design associated with constraints based upon a predefined hardware description language attribute within the instances;
extracting, using the processor, parameter values from the instances of the parameterizable modules; and
generating, using the processor, static constraint files for the instances of the parameterizable modules using the extracted parameter values.
2. The method of claim 1 , further comprising:
grouping the instances of the parameterizable modules into bins wherein each bin includes instances of a same parameterizable module having same parameter values.
3. The method of claim 2 , wherein generating static constraint files for the instances of the parameterizable modules is performed by bin and comprises, for at least one selected bin:
calculating static constraints from parameterizable constraints for a single instance of a parameterizable module of the selected bin; and
creating a static constraint file for each instance of the parameterizable module of the selected bin using the calculated static constraints.
4. The method of claim 1 , further comprising:
applying static constraints from the static constraint files to the plurality of instances of the at least one parameterizable module.
5. The method of claim 1 , further comprising:
merging static constraints from selected static constraint files of a plurality of instances of at least one parameterizable module into a merged static constraint; and
applying the merged static constraint to the plurality of instances of the at least one parameterizable module.
6. The method of claim 5 , wherein applying the merged static constraint to the plurality of instances of the at least one parameterizable module comprises:
creating, within program execution memory, a timing data structure specifying the merged static constraint for each instance of the plurality of instances of the at least one parameterizable module.
7. The method of claim 1 , further comprising:
inserting the predefined hardware description language attribute within the instances of the parameterizable modules of the circuit design.
8. The method of claim 1 , wherein determining instances of parameterizable modules of a circuit design comprises:
searching instances of modules of the circuit design for the predefined hardware description language attribute specifying a constraint file for the module.
9. The method of claim 1 , wherein the constraint file comprises a parameterizable constraint evaluated at runtime, wherein the parameterizable constraint for a selected instance of a parameterizable module depends upon a parameter value from the selected instance of the parameterizable module.
10. The method of claim 9 , wherein the parameterizable constraint is specified using a scripting language.
11. A non-transitory computer-readable storage medium having instructions stored thereon which, when executed by a processor, perform a method of constraint handling for a circuit design comprising:
determining, using the processor, instances of parameterizable modules of a circuit design associated with constraints based upon a predefined hardware description language attribute within the instances;
extracting, using the processor, parameter values from the instances of the parameterizable modules; and
generating, using the processor, static constraint files for the instances of the parameterizable modules using the extracted parameter values.
12. The non-transitory computer-readable storage medium of claim 11 , further comprising:
grouping the instances of the parameterizable modules into bins wherein each bin includes instances of a same parameterizable module having same parameter values.
13. The non-transitory computer-readable storage medium of claim 12 , wherein generating static constraint files for the instances of the parameterizable modules is performed by bin and comprises, for at least one selected bin:
calculating static constraints from parameterizable constraints for a single instance of a parameterizable module of the selected bin; and
creating a static constraint file for each instance of the parameterizable module of the selected bin using the calculated static constraints.
14. The non-transitory computer-readable storage medium of claim 11 , further comprising:
applying static constraints from the static constraint files to the plurality of instances of the at least one parameterizable module.
15. The non-transitory computer-readable storage medium of claim 11 , further comprising:
merging static constraints from selected static constraint files of a plurality of instances of at least one parameterizable module into a merged static constraint; and
applying the merged static constraint to the plurality of instances of the at least one parameterizable module.
16. The non-transitory computer-readable storage medium of claim 15 , wherein applying the merged static constraint to the plurality of instances of the at least one parameterizable module comprises:
creating, within program execution memory, a timing data structure specifying the merged static constraint for each instance of the plurality of instances of the at least one parameterizable module.
17. The non-transitory computer-readable storage medium of claim 11 , further comprising:
inserting the predefined hardware description language attribute within the instances of the parameterizable modules of the circuit design.
18. The non-transitory computer-readable storage medium of claim 11 , wherein determining instances of parameterizable modules of a circuit design comprises:
searching instances of modules of the circuit design for the predefined hardware description language attribute specifying a constraint file for the module.
19. The non-transitory computer-readable storage medium of claim 11 , wherein the constraint file comprises a parameterizable constraint evaluated at runtime, wherein the parameterizable constraint for a selected instance of a parameterizable module depends upon a parameter value from the selected instance of the parameterizable module.
20. The non-transitory computer-readable storage medium of claim 19 , wherein the parameterizable constraint is specified using a scripting language.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.