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

Method of generating customized megafunctions

Assignee: Altera Corp
•
Filing: 1999-02-01
•
Granted: 2002-06-04
•
Expires: 2019-02-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Razmik Ahanessians
  • 👤 Marcel A. LeBlanc

Bibliographic Details

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

Claims Analysis

Total Claims: 56
Claim 1
Independent Claim 138 words
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.
Claim 2
Independent Claim 138 words
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.
Claim 3
Dependent Claim 23 words
The method of claim 1 , further comprising compiling the first and second variation files with the first and second parameterized functional blocks.
Claim 4
Dependent Claim 28 words
The method of claim 1 , wherein the option settings include one or more of parameter values, ports to use, and connections between two or more functional blocks.
Claim 5
Dependent Claim 21 words
The method of claim 1 , wherein the option settings include sizes of a bus contained within a parameterized functional block.
Claim 6
Dependent Claim 22 words
The method of claim 1 , wherein the variation files and the parameterized functional blocks are provided in a Hardware Description Language.
Claim 7
Dependent Claim 16 words
The method of claim 1 , wherein the Hardware Description Language is VHDL, Verilog, or AHDL.
Claim 8
Dependent Claim 25 words
The method of claim 1 , further comprising generating a first declaration file specifying an interface for user-specified variations of the first parameterized functional block.
Claim 9
Dependent Claim 32 words
The method of claim 1 , wherein the first compilable variation file identifies the first parameterized functional block and maps variables from the first variation file to the first parameterized functional block.
Claim 10
Dependent Claim 22 words
The method of claim 1 , wherein the first compilable variation file provides the first set of option settings in HDL code.
Claim 11
Dependent Claim 41 words
The method of claim 1 , further comprising 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.
Claim 12
Dependent Claim 12 words
A programmable logic device produced by the method of claim 10 .
Claim 13
Dependent Claim 155 words
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.
Claim 14
Dependent Claim 155 words
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.
Claim 15
Dependent Claim 28 words
The computer program product of claim 12 , further comprising program instructions for compiling the first and second variation files with the first and second parameterized functional blocks.
Claim 16
Dependent Claim 24 words
The computer program product of claim 12 , wherein the variation files and the parameterized functional blocks are provided in a Hardware Description Language.
Claim 17
Independent Claim 176 words
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.
Claim 18
Independent Claim 176 words
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.
Claim 19
Dependent Claim 22 words
The apparatus of claim 15 , wherein the second software entity converts information contained within the file to a compilable variation file.
Claim 20
Independent Claim 93 words
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.
Claim 21
Independent Claim 93 words
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.
Claim 22
Dependent Claim 20 words
The apparatus of claim 17 , further comprising additional memory on which is stored a library of parameterized functional blocks.
Claim 23
Dependent Claim 30 words
The apparatus of claim 17 , further comprising a compiler that compiles the various parameterized functional blocks with associated variation files to create electronic designs including the sets of options.
Claim 24
Dependent Claim 38 words
The apparatus of claim 17 , wherein the sets of options include one or more of parameter values for the parameterized functional block, ports used in the parameterized functional block, and connections between two or more functional blocks.
Claim 25
Dependent Claim 20 words
The apparatus of claim 17 , wherein the parameterized functional blocks are provided in one or more Hardware Description Languages.
Claim 26
Independent Claim 136 words
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.
Claim 27
Independent Claim 136 words
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.
Claim 28
Dependent Claim 23 words
The method of claim 22 further comprising generating separate compilable declaration files specifying the sets of options for the various parameterized functional blocks.
Claim 29
Dependent Claim 31 words
The method of claim 22 , further comprising providing the file to a compiler or an application that uses the settings contained in the file to generate the compilable functional block.
Claim 30
Dependent Claim 33 words
The method of claim 22 , wherein the setting options include one or more of parameter values, ports to use in the parameterized functional block, and connections between two or more functional blocks.
Claim 31
Dependent Claim 22 words
The method of claim 25 , wherein the setting options include multiple sizes for a bus contained within the parameterized functional block.
Claim 32
Dependent Claim 18 words
The method of claim 1 , wherein the parameterized functional block is provided in a Hardware Description Language.
Claim 33
Dependent Claim 16 words
The method of claim 27 , wherein the Hardware Description Language is VHDL, Verilog, or AHDL.
Claim 34
Dependent Claim 27 words
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.
Claim 35
Dependent Claim 13 words
The method of claim 22 , wherein the user interface is a wizard.
Claim 36
Dependent Claim 31 words
The method of claim 22 , wherein the user interface further allows the user to select one of two or more parameterized functional blocks that are interchangeable in the electronic design.
Claim 37
Dependent Claim 17 words
The method of claim 22 , wherein the file contains a section identifying the parameterized functional block.
Claim 38
Dependent Claim 25 words
The method of claim 22 , wherein the file includes data specifying a symbolic representation of the parameterized functional block with the user selected settings.
Claim 39
Dependent Claim 164 words
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.
Claim 40
Dependent Claim 164 words
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.
Claim 41
Dependent Claim 28 words
The computer program product of claim 34 further comprising computer code for generating separate compilable declaration files specifying the sets of options for the various parameterized functional blocks.
Claim 42
Dependent Claim 36 words
The computer program product of claim 34 , further comprising program instructions for providing the file to a compiler or an application that uses the settings contained in the file to generate the compilable functional block.
Claim 43
Dependent Claim 20 words
The computer program product of claim 1 , wherein the parameterized functional block is provided in a Hardware Description Language.
Claim 44
Independent Claim 169 words
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.
Claim 45
Independent Claim 169 words
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.
Claim 46
Dependent Claim 13 words
The apparatus of claim 38 , wherein the user interface presents a wizard.
Claim 47
Dependent Claim 19 words
The apparatus of claim 38 , further comprising a compiler implemented with the one or more processors and memory.
Claim 48
Dependent Claim 36 words
The apparatus of claim 38 , wherein the options include one or more of parameter values for the parameterized functional block, ports used in the parameterized functional block, and connections between two or more functional blocks.
Claim 49
Dependent Claim 18 words
The apparatus of claim 38 , wherein the parameterized functional block is provided in a Hardware Description Language.
Claim 50
Independent Claim 116 words
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.
Claim 51
Independent Claim 116 words
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.
Claim 52
Dependent Claim 20 words
The apparatus of claim 43 , further comprising additional memory on which is stored a library of parameterized functional blocks.
Claim 53
Dependent Claim 30 words
The apparatus of claim 43 , further comprising a compiler that compiles the various parameterized functional blocks with associated variation files to create electronic designs including the sets of options.
Claim 54
Dependent Claim 38 words
The apparatus of claim 43 , wherein the sets of options include one or more of parameter values for the parameterized functional block, ports used in the parameterized functional block, and connections between two or more functional blocks.
Claim 55
Dependent Claim 20 words
The apparatus of claim 43 , wherein the parameterized functional blocks are provided in one or more Hardware Description Languages.
Claim 56
Dependent Claim 26 words
The apparatus of claim 43 , wherein the apparatus further generates separate compilable declaration files specifying the sets of options for the various parameterized functional blocks.

References Cited (Backward Citations)

US6173245B1 Cited
US6023565A Cited
US6026220A Cited
US6120549A Cited
US6216258B1 Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag