Claims
- 1. A method of controlling access to Intellectual Property (IP) blocks embedded in a circuit, comprising:
decoding a circuit usage rights file associated with said circuit and delineating usage rights associated with said IP blocks; determining from said circuit usage rights file whether access to an IP block to be accessed is permitted; and accessing said IP block only if access thereto is permitted.
- 2. A method as defined in claim 1, further including, prior to said decoding, determining whether said circuit usage rights file is encrypted and, if not encrypted, terminating access of said IP blocks.
- 3. A method as defined in claim 1, further including:
creating a circuit usage rights file delineating usage rights associated with each IP block in said circuit; and encrypting said usage rights file to prevent unauthorized access to information within said usage rights file.
- 4. A method as defined in claim 3, said creating a circuit usage rights file further includes:
generating said IP blocks; for each said IP block, creating an IP block information file containing IP block access information and usage rights information according to a master usage rights file; and combining usage rights from each said IP block information file into said circuit usage rights file.
- 5. A method as defined in claim 4, further including, prior to said generating said IP blocks, determining whether said master usage rights file is encrypted and, if not encrypted, either terminating said generating said IP blocks or creating an IP block information file containing IP block access information but no usage rights information.
- 6. A method as defined in claim 4, further including, prior to generating said IP blocks:
decoding said encrypted master usage rights file and reading a characteristic string stored therein; and verifying that said characteristic string corresponds to a valid previously generated key and either terminating generation of said IP block or suppressing insertion of usage rights information in said IP block information file if said characteristic string does not correspond to said valid previously generated key.
- 7. A method as defined in claim 1, further including, prior to said creating a circuit usage rights file:
creating a master usage rights file delineating rights for using IP blocks of block types acquired by a licensee; generating a characteristic string containing a licensee identifier and an expiration date of licensed usage rights; embedding said characteristic string in said master usage rights file; associating a key managed by a software key server to the characteristic string; and encrypting said master usage rights file.
- 8. A method as defined in claim 7, said master usage rights file delineating:
one or more types of licensed IP blocks; and, for each IP block type specifying:
licensed features; one or more applications with which said IP block type may be used; and an expiration date of usage rights of said licensed features and applications.
- 9. A method as defined in claim 8, further including incorporating into said circuit usage rights file, usage rights from a circuit usage rights file associated with each of any blocks embedded in said circuit.
- 10. A method as defined in claim 9, each said IP block information file further containing a description of all features and test patterns to be used by applications supported by said IP blocks.
- 11. A method as defined in claim 4, further including:
creating a licensed IP block file identifying all licensed IP blocks in said circuit; prior to accessing any of said IP blocks, verifying that said circuit usage rights file lists all and only all licensed IP blocks identified in said licensed IP block file; and terminating access of said IP block if said circuit does not contain all and only all licensed IP blocks identified in said licensed IP block file.
- 12. A method as defined in claim 3, said creating a circuit usage rights file further including:
for each embedded block in said circuit having licensed IP blocks:
extracting usage rights for said licensed IP blocks from a usage rights file stored in a database associated with said embedded block; and inserting extracted usage rights into said circuit usage rights file so as to provide a single circuit usage file defining usage rights for all licensed IP blocks in said circuit.
- 13. A method as defined in any one of claims 1 to 12 said creating a circuit usage rights file including inserting into said file:
an IP block identifier; an IP block type; a list of applications supported by the circuit; for each application, a list of features supported by said circuit; and an expiration date of the usage rights associated with said applications and said features.
- 14. A method as defined in claim 13, further including repeating an application with the same features but with different levels of rights and expiration dates.
- 15. A method as defined in claim 14, further including, when accessing an IP block having two or more sets of rights for the same application, selecting the occurrence having the highest level of rights.
- 16. A method as defined in any one of claims 1 to 12, further including:
providing software design and verification program product automation tools for generating and verifying said IP blocks; and for transferring IP block usage rights from an encrypted master usage rights file validated by a software key server to said circuit usage rights.
- 17. A method as defined in any one of claims 1 to 12, further including storing said usage rights file in an IP block database associated with said circuit and containing selected information files respecting said IP blocks.
- 18. A method as defined in any one of claims 1 to 12, further including storing said circuit usage rights file in a handoff database associated with the circuit.
- 19. A method as defined in claim 18, said handoff database including said IP block information files.
- 20. A method as defined in claim 1, further including updating usage rights in said circuit usage rights file by:
sending said usage rights file to an authorized representative of IP block originator; upgrading usage rights in said usage rights file; and returning a modified encrypted circuit usage rights file to an authorized user.
- 21. A method as defined in any one of claims 1 to 12, wherein said circuit usage rights file is an input to application software, said application software being responsive to an input to perform operations using at least one of said IP block.
- 22. A method as defined in any one of claims 1 to 12, wherein said circuit usage rights file includes usage rights associated with IP blocks originating from one or more IP block vendors.
- 23. A method as defined in claim 22, wherein said circuit usage rights file includes usage rights associated with IP blocks licensed to different licensees.
- 24. A method as defined in any one of claims 1 to 12, said IP blocks being test controller circuits.
- 25. A system for licensing IP blocks embedded in circuits, comprising:
an IP block generator for generating an IP block, creating an IP block information file, inserting in said IP block information file, IP block access information and usage rights information associated with said IP block, and encrypting said IP block information file; a circuit database generator for creating a database of predetermined files associated with each IP block embedded in said circuit and of any other blocks embedded in said circuit and for creating a circuit usage rights file and encrypting said circuit usage right file for said circuit; and an application program for accessing said IP blocks, said access program being operable to decrypt a circuit usage rights file associated with said circuit, verify that rights to access said IP block have not expired, determine whether required IP block rights have been licensed for use and access said IP block if required rights have been licensed and have not expired.
- 26. A system as defined in claim 25, further including a program module for creating a licensee master usage rights file containing IP block usage rights.
- 27. A system as defined in claim 25, further including a program module for updating or upgrading a circuit usage rights file containing IP block usage rights.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of Provisional Application Serial No. 60/353,962 filed Feb. 5, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60353962 |
Feb 2002 |
US |