Method of generating customized megafunctions
First Claim
1. A method of providing compilable variations of parameterized functional blocks for electronic designs, the parameterized functional blocks requiring specific settings before they can be compiled to unambiguous circuit blocks forming parts of electronic designs, the method comprising:
- receiving a first set of option settings containing user-selected settings for a first parameterized functional block;
generating a first compilable variation file specifying the first set of option settings;
receiving a second set of option settings containing user-selected settings for a second parameterized functional block; and
generating a second compilable variation file specifying the second set of option settings, wherein when the first variation file is compiled with the first parameterized functional block, a first unambiguous circuit block is formed and when the second variation file is compiled with the second parameterized functional block, a second unambiguous circuit block is formed.
1 Assignment
0 Petitions
Accused Products
Abstract
Software modules referred to as “plug-ins” associate with megafunctions written in any Hardware Description Language to provide rich parameterization. To the user, the plug-ins present a “wizard” interface allowing selection or setting of any number of important parameters for a particular megafunction. To the design compiler, parameterized megafunctions instantiated via a plug-in appear non-parameterized functions of a type that may be easily handled (by, for example, VHDL and Verilog compilers). Plug-ins “plug into” a compiler or an application associated with the compiler, sometimes referred to as a “plug-in manager.” The plug-in manager creates compilable files from user-defined parameter settings passed by the plug-ins.
143 Citations
48 Claims
-
1. A method of providing compilable variations of parameterized functional blocks for electronic designs, the parameterized functional blocks requiring specific settings before they can be compiled to unambiguous circuit blocks forming parts of electronic designs, the method comprising:
-
receiving a first set of option settings containing user-selected settings for a first parameterized functional block;
generating a first compilable variation file specifying the first set of option settings;
receiving a second set of option settings containing user-selected settings for a second parameterized functional block; and
generating a second compilable variation file specifying the second set of option settings, wherein when the first variation file is compiled with the first parameterized functional block, a first unambiguous circuit block is formed and when the second variation file is compiled with the second parameterized functional block, a second unambiguous circuit block is formed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 27, 28, 29, 37)
compiling the first and second variation files with the first and second parameterized functional blocks; - and
programming a programmable logic device with a compiled electronic design including the first set of options settings.
-
-
11. A programmable logic device produced by the method of claim 10.
-
27. The method of claim 1, wherein the parameterized functional block is provided in a Hardware Description Language.
-
28. The method of claim 27, wherein the Hardware Description Language is VHDL, Verilog, or AHDL.
-
29. The method of claim 27, wherein the parameterized functional block contains a parameter block identifying parameters that can be set to specific values by the user.
-
37. The computer program product of claim 1, wherein the parameterized functional block is provided in a Hardware Description Language.
-
12. A computer program product comprising a computer readable medium on which is stored program instructions for a method of providing a compilable variation of parameterized functional blocks for electronic designs, the parameterized functional blocks requiring specific settings before they can be compiled to unambiguous circuit blocks forming parts of electronic designs, the method comprising:
-
receiving a first set of option settings containing user-selected settings for a first parameterized functional block;
generating a first compilable variation file specifying the first set of option settings;
receiving a second set of option settings containing user-selected settings for a second parameterized functional block; and
generating a second compilable variation file specifying the second set of option settings, wherein when the first variation file is compiled with the first parameterized functional block, a first unambiguous circuit block is formed and when the second variation file is compiled with the second parameterized functional block, a second unambiguous circuit block is formed. - View Dependent Claims (13, 14)
-
-
15. An apparatus permitting a user to set options on a parameterized functional block for an electronic design, the parameterized functional block requiring specific settings before it can be compiled to an unambiguous circuit block forming a part of the electronic design, the apparatus comprising:
-
one or more processors;
memory coupled to the one or more processors to provide data and instructions to the processor; and
a display coupled to at least one of the one or more processors, wherein the apparatus presents a prompt to a user on a user interface displayed on a display, the prompt requiring that the user selects or accepts settings for various options on the parameterized functional block, and wherein the one or more processors is configured to package the user'"'"'s settings in a file that can be compiled or used to generate a compilable functional block in the electronic design;
wherein the file created by the apparatus contains hand-shaking information for communication between a first software entity that created the file and a second software entity that receives the file. - View Dependent Claims (16)
-
-
17. An apparatus providing a compilable variation of parameterized functional blocks for electronic designs, the parameterized functional blocks requiring specific settings before they can be compiled to unambiguous circuit blocks forming parts of electronic designs, the apparatus comprising:
-
one or more processors; and
memory coupled to the one or more processors to provide data and instructions to the processor, wherein the apparatus receives sets of options containing user-selected settings for various parameterized functional blocks, and wherein the apparatus generates separate compilable variation files specifying the sets of options for the various parameterized functional blocks. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A method of setting options for parameterized functional blocks relating to at least one electronic design, the parameterized functional blocks requiring specific settings before being compiled to unambiguous circuit blocks forming part of the at least one electronic design, the method comprising:
-
prompting a user, via a user interface, to select settings for options;
receiving sets of options containing user-selected settings for various parameterized functional blocks;
packaging settings selected by the user in at least one file that can be compiled or used to generate at least one compilable functional block for the electronic design; and
generating separate compilable variation files specifying the sets of options for the various parameterized functional blocks;
wherein a first variation file is associated a first parameterized functional block, and a second variation file is associated a second parameterized functional block. - View Dependent Claims (23, 24, 25, 26, 30, 31, 32, 33)
-
-
34. A computer program product for setting options for parameterized functional blocks relating to at least one electronic design, the parameterized functional blocks requiring specific settings before being compiled to unambiguous circuit blocks forming part of the at least one electronic design, the computer program product comprising:
-
a computer usable medium having computer readable code embodied therein, the computer readable code comprising;
computer code for prompting a user, via a user interface, to select settings for options;
computer code for receiving sets of options containing user-selected settings for various parameterized functional blocks;
computer code for packaging settings selected by the user in at least one file that can be compiled or used to generate compilable functional blocks for the electronic design; and
computer code for generating separate compilable variation files specifying the sets of options for the various parameterized functional blocks;
wherein a first variation file is associated a first parameterized functional block, and a second variation file is associated a second parameterized functional block. - View Dependent Claims (35, 36)
-
-
38. An apparatus permitting a user to set options on a parameterized functional block for an electronic design, the parameterized functional block requiring specific settings before it can be compiled to an unambiguous circuit block forming a part of the electronic design, the apparatus comprising:
-
one or more processors;
memory coupled to the one or more processors to provide data and instructions to the processor; and
a display coupled to at least one of the one or more processors, wherein the apparatus presents a prompt to a user on a user interface displayed on a display;
the prompt requiring that the user selects or accepts settings for options on the parameterized functional block;
wherein the one or more processors is configured to package the user'"'"'s settings in a file that can be compiled or used to generate a compilable functional block in the electronic design; and
wherein the one or more processors is configured to generate separate compilable declaration files specifying the set of options for the parameterized functional block. - View Dependent Claims (39, 40, 41, 42)
-
-
43. An apparatus providing a compilable variation of parameterized functional blocks for electronic designs, the parameterized functional blocks requiring specific settings before they can be compiled to unambiguous circuit blocks forming parts of electronic designs, the apparatus comprising:
-
one or more processors; and
memory coupled to the one or more processors to provide data and instructions to the processor;
wherein the apparatus receives sets of options containing user-selected settings for various parameterized functional blocks; and
wherein the apparatus generates separate compilable variation files specifying the sets of options for the various parameterized functional blocks;
wherein a first variation file is associated a first parameterized functional block, and a second variation is associated a second parameterized functional block. - View Dependent Claims (44, 45, 46, 47, 48)
-
Specification