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.

De uitvinding verstrekt parametrische modules genoemd Zelf het Uitvoeren Modules (SIMs) voor gebruik in programmeerbare logicaapparaten zoals FPGAs. De uitvinding verstrekt verder hulpmiddelen en methodes om SIMs te produceren en te gebruiken. SIMs voeren zich uit tegelijkertijd het ontwerp wordt uitgewerkt, richtend een gespecificeerde FPGA volgens gespecificeerde parameters die, bijvoorbeeld, de vereiste timing, gegevensbreedte, aantal kranen voor een filter van de SPAR kunnen omvatten, enzovoort. In één belichaming, kunnen de parameters SIM symbolische uitdrukkingen zijn, die uit koorden of reeksen woorden, logische uitdrukkingen (Van Boole), of een combinatie deze gegevenstypes kunnen bestaan. De variabelen in deze uitdrukkingen zijn of parameters van SIM of parameters van de "ouder" van SIM. De parametrische uitdrukkingen worden ontleed en tegelijkertijd SIM wordt uitgewerkt geëvalueerd; i.e., bij run-time, gewoonlijk wanneer het ontwerp in kaart wordt gebracht, geplaatst en in een specifieke FPGA geleid. Het gebruik van parametrische uitdrukkingen die in uitwerkingstijd worden geïnterpreteerd staat dynamische overerving en synthese van daadwerkelijke parameterwaarden toe, eerder dan de statische waardeovererving die algemeen in programmeertalen zoals C ++ en Java wordt gevonden.

 
Web www.patentalert.com

< (none)

< Record-based backward skipping within physical blocks of data

> Interactive dubug tool for programmable circuits

> (none)

~ 00006