IP Library Granted Patent US 7,895,558
Granted Patent B2
US 7,895,558 · App. 12/110,047 · Granted Feb 22, 2011

Configuration specification language supporting arbitrary mapping functions for configuration constructs

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,895,558
App. No.
12/110,047
Granted
Feb 22, 2011
Kind
B2
Abstract

A method is disclosed of associating a mapping function with a configuration construct of a digital design defined by one or more hardware description language (HDL) files. According to the method, in the HDL files, a configuration latch is specified within a design entity forming at least a portion of the digital design. In addition, a Dial is specified that defines a relationship between each of a plurality of input values and a respective one of a plurality of different output values. The HDL files also include a statement that instantiates an instance of the Dial in association with the configuration latch such that a one-to-one correspondence exists between a value contained within the configuration latch and an input value of the instance of the Dial. The HDL files further include a statement associating the Dial with a mapping function that applies a selected transformation to values read from or written to the instance of the Dial.

Claims (21)

1. A data processing system, comprising:

processing resources; and

data storage coupled to said processing resources and including a tool executable by said processing resources to configure a digital design including a plurality of design entities and having an associated configuration database representing a configuration of said digital design, wherein, when executed by the processing resources, said tool causes the data processing system to perform:

responsive to receiving an input value for an instantiation of a Dial, said Dial defining a relationship between each of a plurality of Dial input values of the Dial and a respective one of a plurality of different Dial output values of the Dial:

accessing the configuration database to determine whether said Dial has an associated mapping function;

deriving a value from the input value based upon the relationship defined by the Dial;

responsive to a determination that said Dial has an associated mapping function, accessing said mapping function by reference to said configuration database to apply said mapping function to the value derived from said input value to obtain a transformed value, wherein said mapping function is one of a set of transformations consisting of a mathematical transformation, a logical transformation, a shift and generation of a pseudo-random value; and

utilizing said transformed value to set a value of a configuration latch within one of said plurality of design entities forming said digital design.

2. The data processing system of claim 1 , wherein:

said Dial has a mapping table defining said relationship between each of said plurality of Dial input values and said plurality of different Dial output values; and

said deriving comprises obtaining said value derived from said input value by reference to said mapping table of said Dial.

3. A program product for setting a value of a configuration latch in a design entity of a digital system, said program product comprising;

a non-transitory computer-readable medium having stored thereon a tool executable by a data processing system to configure a digital design including a plurality of design entities and having an associated configuration database representing a configuration of said digital design, wherein the tool, when executed by the data processing system, causes the data processing system to perform:

responsive to receiving an input value for an instantiation of a Dial, said Dial defining a relationship between each of a plurality of Dial input values of the Dial and a respective one of a plurality of different Dial output values of the Dial:

accessing the configuration database to determine whether said Dial has an associated mapping function;

deriving a value from the input value based upon the relationship defined by the Dial;

responsive to a determination that said Dial has an associated mapping function, accessing said mapping function by reference to said configuration database to apply said mapping function to the value derived from said input value to obtain a transformed value, wherein said mapping function is one of a set of transformations consisting of a mathematical transformation, a logical transformation, a shift and generation of a pseudo-random value; and

utilizing said transformed value to set a value of a configuration latch within one of said plurality of design entities forming said digital design.

4. The program product of claim 3 , wherein:

said Dial has a mapping table defining said relationship between each of said plurality of Dial input values and said plurality of different Dial output values; and

said deriving further comprises obtaining said value derived from said input value by reference to said mapping table of said Dial.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2012
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: FACEBOOK, INC.
Reel/Frame 027988/0806 →