Claims
- 1. A method of configuring loops in a behavioral synthesis tool used to design an integrated circuit, comprising:
reading a source code description associated with the integrated circuit into the behavioral synthesis tool, the source code description having at least one loop; storing the source code description as a data structure within the behavioral synthesis tool; and using a graphical user interface to display loop configuration information from the data structure for the at least one loop and modifying the loop configuration information using the graphical user interface.
- 2. The method of claim 1 further including storing the modified loop configuration information in the data structure within the behavioral synthesis tool.
- 3. The method of claim 1, further including searching the data structure for loops listed in the source code description and listing the loops in the graphical user interface.
- 4. The method of claim 1, further including displaying multiple loops identified in the source code description in a hierarchical fashion on the graphical user interface.
- 5. The method of claim 1, further including displaying multiple loops on the graphical user interface and displaying loop configuration information in association with the loops, the loop configuration information including one or more of the following parameters: loop frequency, loop unrolling, and loop pipelining.
- 6. The method of claim 1, further including automatically updating the data structure in response to user input indicating that the loop configuration is complete.
- 7. A computer-readable medium having computer-executable instructions for performing the method of claim 1.
- 8. The method of claim 1, further including displaying a subloop associated with the loop and receiving an instruction from the graphical user interface to unroll or partially unroll the loop, and in response to the instruction duplicating the subloop multiple times and displaying each duplicated subloop.
- 9. The method of claim 8, wherein each duplicated subloop has loop unrolling and loop pipelining configuration information associated therewith, and wherein such configuration information is individually modifiable through the graphical user interface.
- 10. The method of claim 1, wherein the loop configuration information includes loop unrolling information.
- 11. The method of claim 1, wherein the loop configuration information includes loop pipelining information.
- 12. The method of claim 10, wherein the loop unrolling information includes whether the loop is fully unrolled, partially unrolled, or not unrolled.
- 13. The method of claim 11, wherein the loop pipelining information includes no pipelining or pipelining with a predetermined initiation interval.
- 14. The method of claim 11, wherein the loop pipelining information includes allowing a variable number for an initiation interval.
- 15. The method of claim 1, wherein the graphical user interface is displayed on a client computer and the data structure is positioned on a server computer.
- 16. A synthesis tool that allows for interactive loop configuration in the design of integrated circuits, comprising:
a source code description file that describes functionality of an integrated circuit; memory that stores an intermediate database associated with a source code description file of the integrated circuit; and a graphical user interface that allows a designer to interactively modify loop configuration information for the integrated circuit by modifying the database.
- 17. The synthesis tool of claim 16, wherein the source code description file is not modified when the loop configuration information is modified.
- 18. The synthesis tool of claim 16, wherein the loop configuration information includes pipelining information and loop unrolling information.
- 19. The synthesis tool of claim 16, wherein the graphical user interface is displayed on a client computer and the memory is located in a server computer and the client and server computers communicate via a network.
- 20. The tool of claim 16, wherein the database is used to generate RTL code.
- 21. A method for configuring loops in a behavioral synthesis tool used to design an integrated circuit from a source code description, comprising:
displaying loop identifiers from the source code description in a hierarchical fashion; displaying pipelining and loop unrolling information in association with the loop identifiers; and using a graphical user interface to modify one or both of the pipelining and loop unrolling information.
- 22. The method of claim 21, further including reading the source code description into an intermediate database and updating the intermediate database in response to the modification of the pipelining or loop unrolling information.
- 23. The method of claim 22, wherein the intermediate database is on a server computer and the graphical user interface is on a client computer, the client and server computers communicating via a network.
- 24. The method of claim 21, further including unrolling a loop having a first subloop, creating a new set of subloops by duplicating the first subloop, and modifying one or more of the duplicated subloops.
- 25. The method of claim 21, wherein the pipelining information includes an initiation interval, which is modifiable via the graphical user interface.
- 26. The method of claim 25, wherein the pipelining information includes a rampup flag, which is modifiable via the graphical user interface.
- 27. The method of claim 21, wherein the loop unrolling information includes whether the loop is fully unrolled, partially unrolled or not unrolled.
- 28. The method of claim 21, wherein the modifications to the loop unrolling and pipelining information occur without modification to the source code description.
- 29. An apparatus for configuring loops in a behavioral synthesis tool used to design an integrated circuit from a source code description, comprising:
means for displaying loop identifiers from the source code description in a hierarchical fashion; means for displaying pipelining and loop unrolling information in association with the loop identifiers; and means for modifying one or both of the pipelining and loop unrolling information via a graphical user interface without modifying the source code description.
RELATED APPLICATION DATA
[0001] This application claims the benefit of provisional serial No. 60/285,656, filed Apr. 20, 2001, which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60285656 |
Apr 2001 |
US |