US2014278328A1PendingUtilityA1

System, method, and computer program product for constructing a data flow and identifying a construct

Assignee: NVIDIA CORPPriority: Mar 15, 2013Filed: Mar 15, 2013Published: Sep 18, 2014
Est. expiryMar 15, 2033(~6.6 yrs left)· nominal 20-yr term from priority
G06F 30/30G06F 17/5045
52
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system, method, and computer program product are provided for creating a hardware design. In use, one or more parameters are received, where at least one of the parameters corresponds to an interface protocol. Additionally, a data flow is constructed based on the one or more parameters. Further, an indication of one or more control constructs is received, where a hardware design is capable of being created, utilizing the constructed data flow and the one or more control constructs.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer program product embodied on a non-transitory computer readable medium, comprising:
 code for receiving one or more parameters, at least one of which corresponds to an interface protocol;   code for constructing a data flow based on the one or more parameters;   code for receiving an indication of one or more control constructs; and   code for creating a hardware design, utilizing the constructed data flow and the one or more control constructs.   
     
     
         2 . The computer program product of  claim 1 , wherein the data flow represents a flow of data through the hardware design. 
     
     
         3 . The computer program product of  claim 1 , wherein the data flow is associated with one or more interfaces of the hardware design. 
     
     
         4 . The computer program product of  claim 1 , wherein the one or more parameters are received utilizing a hardware description language embedded in a scripting language. 
     
     
         5 . The computer program product of  claim 4 , wherein the computer program product is operable such that the data flow is implemented as an instance of a formal object class within the hardware description language. 
     
     
         6 . The computer program product of  claim 1 , wherein the data flow includes a superflow that represents multiple flows of data and that is associated with a plurality of interfaces. 
     
     
         7 . The computer program product of  claim 1 , wherein the data flow has a numeric, alphabetic, or custom naming hierarchy. 
     
     
         8 . The computer program product of  claim 1 , wherein one or more of the control constructs include a module implemented as part of a hardware description language that receives one or more data flows as input. 
     
     
         9 . The computer program product of  claim 8 , wherein the computer program product is operable such that one or more of the control constructs perform one or more operations based on the input data flow or flows. 
     
     
         10 . The computer program product of claim wherein the computer program product is operable such that one or more of the control constructs create one or more output data flows, based on the one or more input data flows. 
     
     
         11 . The computer program product of  claim 10 , wherein the computer program product is operable such that the one or more output data flows are input into one or more additional constructs. 
     
     
         12 . The computer program product of  claim 1 , wherein one or more of the control constructs include one or more parameters. 
     
     
         13 . The computer program product of  claim 12 , wherein the one or more parameters may include one or more of a name parameter, a comment parameter, a stallable parameter, a parameter used to specify a depth of an output queue, a parameter that causes an output data flow of the construct to be registered out, and a parameter that causes a ready signal of an output data flow of the construct to be registered in. 
     
     
         14 . The computer program product of  claim 1 , wherein one or more of the control constructs include a separate construct, a merge construct, a multicast construct, a select construct, a connect construct, an as construct, a shuffle construct, or a derive clock construct. 
     
     
         15 . The computer program product of  claim 1 , wherein the hardware design includes an integrated circuit design. 
     
     
         16 . The computer program product of  claim 1 , wherein the computer program product is operable such that both the data flow and the construct are included within the hardware design. 
     
     
         17 . The computer program product of  claim 1 , wherein the computer program product is operable such that one or more of the control constructs interrogate the data flow utilizing one or more introspection methods. 
     
     
         18 . The computer program product of  claim 1 , wherein the data flow includes a superflow, and the computer program product is operable such that one or more of the control constructs performs automatic looping on a plurality of subflows of the superflow. 
     
     
         19 . A method, comprising:
 receiving one or more parameters, at least one of which corresponding to an interface protocol;   constructing a data flow based on the one or more parameters; and   receiving an indication of one or more control constructs;   wherein a hardware design is capable of being created, utilizing the constructed data flow and the one or more control constructs.   
     
     
         20 . A system, comprising:
 a processor for receiving one or more parameters, at least one of which corresponding to an interface protocol, constructing a data flow based on the one or more parameters, and receiving an indication of one or more control constructs;   wherein a hardware design is capable of being created, utilizing the constructed data flow and the one or more control constructs.   
     
     
         21 . A method, comprising:
 receiving a plurality of parameters associated with a data flow to be included within a hardware design, the plurality of parameters including an identification of an interface and a width field associated with the interface;   constructing a data flow based on the plurality of parameters;   receiving an indication of one or more control constructs to be included within the hardware design; and   creating a hardware design, utilizing the constructed data flow and the one or more control constructs.   
     
     
         22 . The method of  claim 21 , wherein the constructed data flow is input to one or more of the control constructs, which creates one or more output data flows based on the input data flow.

Join the waitlist — get patent alerts

Track US2014278328A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.