IP Library › Granted Patent US 7,469,390
Granted Patent B2
US 7,469,390 · App. 11/406,194 · Granted Dec 23, 2008

Method and software tool for automatic generation of software for integrated circuit processors

Assignee: University of Pittsburgh - Of the Commonwealth System of Higher Education
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,469,390
App. No.
11/406,194
Granted
Dec 23, 2008
Kind
B2
Abstract

A method of generating software code for a processor of an IC based on a simple input description of the IC's standards. The method includes generating a macros description of each of the primitives from the standards and the response corresponding to each of the primitives, wherein the macros description includes information relating to a number of first fields for each of the primitives and a number of second fields for each response. The method further includes generating a blank version of a template that includes each of the second fields and receiving a completed version of the template, wherein the completed template specifies a behavior of the integrated circuit in response to the primitives. Finally, the method includes compiling the software code based on the macros description and the completed version of the template. Also, a software tool implementing the method is provided.

Claims (25)

1. A method of generating software code for a processor of an integrated circuit for use in an application having standards having a plurality of primitives, each of said primitives having a corresponding response, the method comprising:

generating a macros description of each of said primitives and the response corresponding to each of said primitives, said macros description including information relating to a number of first fields for each of said primitives and a number of second fields for the response corresponding to each of said primitives;

generating a blank version of a template, said blank version of said template including each of said second fields;

receiving a completed version of said template, said completed version of said template specifying one or more values for each of said second fields, said completed version of said template specifying a behavior of said integrated circuit in response to said primitives; and

compiling said software code based on said macros description and said completed version of said template.

2. The method according to claim 1 , further comprising compiling said software code into executable code, said executable code being executable by said processor.

3. The method according to claim 1 , wherein said macros description is also a macros description of one or more custom primitives and a second response to each of said custom primitives, wherein said macros description further includes information relating to a number of third fields for each of said one or more custom primitives and a number of fourth fields for the second response corresponding to each of said one or more custom primitives, wherein said blank version of said template includes each of said fourth fields, and wherein said completed version of said template specifies one or more values for each of said fourth fields and also specifies a behavior of said integrated circuit in response to said one or more custom primitives.

4. The method according to claim 1 , wherein said macros description includes a declarations section that sets forth a length of each of said first and second fields and a main section that lists, for each of said primitives, particular ones of said first fields that correspond thereto, and that lists, for each response, particular ones of said second fields that correspond thereto.

5. The method according to claim 1 , said completed version of said template including programming constructs for specifying said behavior of said integrated circuit.

6. The method according to claim 1 , wherein said integrated circuit is part of an RFID tag.

7. A computer readable medium having computer executable instructions for performing the method recited in claim 1 .

8. A computer software tool embedded on a computer-readable medium for generating software code for a processor of an integrated circuit for use in an application having standards having a plurality of primitives, each of said primitives having a corresponding response, said software tool having one or more computer executable routines adapted to:

enable a creation of a macros description of each of said primitives and the response corresponding to each of said primitives, said macros description including information relating to a number of first fields for each of said primitives and a number of second fields for the response corresponding to each of said primitives;

generate a blank version of a template, said blank version of said template including each of said second fields;

enable a creation of a completed version of said template, said completed version of said template specifying one or more values for each of said second fields, said completed version of said template specifying a behavior of said integrated circuit in response to said primitives; and

compile said software code based on said macros description and said completed version of said template.

9. The software tool according to claim 8 , wherein said macros description is also a macros description of one or more custom primitives and a second response to each of said custom primitives, wherein said macros description further includes information relating to a number of third fields for each of said one or more custom primitives and a number of fourth fields for the second response corresponding to each of said one or more custom primitives, wherein said blank version of said template includes each of said fourth fields, and wherein said completed version of said template specifies one or more values for each of said fourth fields and also specifies a behavior of said integrated circuit in response to said one or more custom primitives.

10. The software tool according to claim 8 , wherein said macros description includes a declarations section that sets forth a length of each of said first and second fields and a main section that lists, for each of said primitives, particular ones of said first fields that correspond thereto, and that lists, for each response, particular ones of said second fields that correspond thereto.

11. The software tool according to claim 8 , said completed version of said template including programming constructs for specifying said behavior of said integrated circuit.

12. A method of generating software code for a processor of an integrated circuit for use in an application having standards having a plurality of primitives, each of said primitives having a corresponding response, the method comprising:

generating a macros description of each of said primitives and the response corresponding to each of said primitives, said macros description including information relating to a number of first fields for each of said primitives and a number of second fields for the response corresponding to each of said primitives;

receiving a specification of a behavior of said integrated circuit in response to said primitives, said specification specifying one or more values for each of said second fields; and

compiling said software code based on said macros description and said specification.

13. The method according to claim 12 , further comprising compiling said software code into executable code, said executable code being executable by said processor.

14. The method according to claim 12 , said specification including programming constructs for specifying said behavior of said integrated circuit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2006
From: MICKLE, MARLIN H.; CAIN, JAMES T.; DONTHARAJU, SWAPNA; HOARE, RAYMOND R.; JONES, ALEX
To: UNIVERSITY OF PITTSBURGH-OF THE COMMONWEALTH SYSTEM OF HIGHER EDUCATION
Reel/Frame 017842/0559 →
Continuity (2)
Provisional Application 6067234700 · Apr 18, 2005
Related Publication 20060271912A1 · Nov 30, 2006