IP Library Granted Patent US 9,459,842
Granted Patent B1
US 9,459,842 · App. 13/328,881 · Granted Oct 4, 2016

Multivariable transfer functions

Inventors: Kenneth Y. Ogami (Bothell, WA); Doug Anderson (Edmonds, WA); Andrew Best (Seattle, WA)
Assignee: Cypress Semiconductor Corporation
G06F8/30G06F8/40G06F8/443G06F8/41G06F8/447G06F11/3624
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 9,459,842
App. No.
13/328,881
Granted
Oct 4, 2016
Kind
B1
Abstract

In one embodiment, a method for supporting multivariable functions of an application includes receiving user input pertaining to two or more variables associated with a multivariable function of the application, and then causing code for the function to be automatically generated to update the variables based on the user input.

Claims (53)

1. A computer-implemented method, comprising:

receiving user input pertaining to a plurality of variables associated with a multi-variable function defining a behavior of an application, wherein the multi-variable function defines a relationship between an input device and an output device of a processing device;

in a processing device maker, determining hardware resource needs of the multi-variable function based on the received user input,

after determining the hardware resource needs and prior to receiving any additional user input, automatically selecting, based on the determined hardware resource needs, one or more hardware processing devices that are capable of accommodating the hardware resource needs of said multi-variable function;

based on the received user input and on a user selection of a hardware device from the automatically selected one or more hardware processing devices, generating code for implementing at least a portion of the application in the selected processing device of the automatically selected one or more processing devices; and

programming the user selected processing device with the generated code.

2. The computer-implemented method of claim 1 , wherein the input device is an input port of the processing device and output device is an output port of the processing device.

3. The computer-implemented method of claim 1 , wherein the input device and the output device are programmable blocks of the processing device.

4. The computer-implemented method of claim 1 , further comprising:

receiving a user selection of the function; and

presenting a user interface (UI) associated with the function, the UI facilitating the user input pertaining to the plurality of variables.

5. The computer-implemented method of claim 1 , wherein generating the code comprises:

creating custom metadata based on the user input; and

converting the custom metadata into expression metadata having a format understandable by a code generator.

6. The computer-implemented method of claim 5 , further comprising converting the custom metadata using a processing script if a number of the plurality of variables or a behavior of any of the plurality of variables is controlled by the user input.

7. The computer-implemented method of claim 5 , wherein converting the custom metadata into the expression metadata comprises:

creating the plurality of variables pertaining to the function; and

creating logic expressions specific to the function.

8. The computer-implemented method of claim 7 , further comprising generating value lists that map values of the plurality of variables to names understandable by a user.

9. The computer-implemented method of claim 7 , further comprising:

creating generic assignment expressions to expose the plurality of variables to other functions of the application.

10. The computer-implemented method of claim 1 , wherein the function is defined using a container representing a collection of drivers, variables and logic expressions coupled to perform a system function within the application, and wherein generating the code comprises:

creating custom metadata specific to the container based on the user input; and

converting the custom metadata into variables, drivers and transfer function expressions.

11. An apparatus having a processor, comprising:

a user interface configured to receive user input pertaining to a plurality of variables of a multi-variable function of an application, wherein the multi-variable function defines a relationship between an input device and an output device of a processing device;

a processing device maker configured to:

determine hardware resource needs of the multi-variable function based on the received user input, and

after determining the hardware resource needs and prior to receiving any additional user input, automatically select, based on the determined hardware resource needs, one or more hardware processing devices that are capable of accommodating the hardware resource needs of said multi-variable function;

a processing script configured to based on the user input and based on a user selection of a hardware device from the automatically selected one or more hardware processing devices, generate code for implementing at least a portion of the application in the selected processing device of the automatically selected one or more processing devices; and

a port configured to program the user selected processing device with the generated code.

12. The apparatus of claim 11 , wherein the input device is an input port of the processing device and output device is an output port of the processing device.

13. The apparatus of claim 11 , wherein the input device and the output device are programmable blocks of the processing device.

14. The apparatus of claim 11 , wherein the processing script is configured to create custom metadata based on the user input, and convert the custom metadata into expression metadata having a format understandable by a code generator.

15. The apparatus of claim 11 , wherein the function is defined by data in a container, wherein the data represents a collection of drivers, variables and logic expressions coupled to perform a system function within the application.

16. The apparatus of claim 15 , wherein the processing script is configured to create custom metadata specific to the container based on the user input, and convert the custom metadata into variables, drivers and transfer function expressions.

17. A system, comprising:

a processor;

a memory containing instructions that when executed by the processor, cause the processor to perform a method comprising:

receiving user input pertaining to a plurality of variables associated with a multi-variable function of an application, wherein the multi-variable function defines a relationship between an input device and an output device;

in a processing device maker, determining hardware resource needs of the multi-variable function based on the received user input;

after determining the hardware resource needs and prior to receiving any additional user input, automatically selecting, based on the determined hardware resource needs, one or more hardware processing devices that are capable of accommodating the hardware resource needs of said multi-variable function;

generating code based on the received user input and based on a user selection of a hardware device from the automatically selected one or more hardware processing devices; and

storing the generated code in a non-volatile storage of one of the automatically selected processing devices comprising the input device and the output device.

18. The system of claim 17 , wherein the method further comprises:

receiving a user selection of the function; and

presenting a user interface (UI) associated with the function, the UI facilitating the user input pertaining to the plurality of variables.

19. The system of claim 17 , wherein generating the code comprises:

creating custom metadata based on the user input; and

converting the custom metadata into expression metadata having a format understandable by a code generator.

20. The system of claim 17 , wherein converting the custom metadata into the expression metadata comprises:

creating the plurality of variables pertaining to the function; and

creating logic expressions specific to the function.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Mar 16, 2022
From: MUFG UNION BANK, N.A.
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 059410/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2021
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MONTEREY RESEARCH, LLC
Reel/Frame 055187/0164 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 8647899 PREVIOUSLY RECORDED ON REEL 035240 FRAME 0429. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTERST. Recorded Nov 3, 2020
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058002/0470 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Oct 28, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MUFG UNION BANK, N.A.
Reel/Frame 050896/0366 →
SECURITY INTEREST Recorded Mar 21, 2015
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035240/0429 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2014
From: OGAMI, KENNETH Y.; ANDERSON, DOUG; BEST, ANDREW J.
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 032117/0565 →
Continuity (3)
Continuation 11518002 · Sep 7, 2006
Provisional Application 60741618 · Dec 1, 2005
Provisional Application 60741643 · Dec 1, 2005