Verification of bitstreams
AssigneeGraf Research Corporation
InventorsJonathan Peter Graf, Ali Asgar Ali Akbar Sohanghpurwala, Scott Jeffery Harper
Life of this patent
Estimating the term…
Abstract
An apparatus, method, and system assess the trustworthiness of a design representation while maintaining its confidentiality and thwarting attempts at unauthorized access, misappropriation, and reverse engineering of confidential proprietary aspects of the design representation and/or its bit stream. A utility/tool is provided for trust assessment and verification of designs and/or bit streams. The utility/tool may be instantiated on a semiconductor device or implemented as a utility executable on a mobile computing device or other information processing system, apparatus, or network.
Claims30
A computer-implemented method for assessing trustworthiness of a microelectronics device configuration including determining correct capture and translation of design intent for expected operation of a microelectronics device corresponding to the microelectronics device configuration, comprising:
- receiving, in a computer, a publicly-documented, user-verifiable, binary data format of the microelectronics device configuration and a non-public, protected, binary data format of the microelectronics device configuration;
- generating, by the computer, a set of public configuration expectations corresponding to the publicly-documented, user-verifiable, binary data format description of the microelectronics device configuration and a set of protected configuration expectations corresponding to the non-public, protected, binary data format of the microelectronics device configuration, each expectation providing a representation of an expected operation of a resource within a semiconductor chip configured with a sequence of binary bits or binary instructions contained within the publicly-documented, user-verifiable, binary data format description or the non-public, protected binary data format description of the microelectronics device configuration;
- comparing, by the computer, each public configuration expectation with each protected configuration expectation to identify (i) matching public configuration expectations and protected configuration expectations and (ii) unmatched public configuration expectations and protected configuration expectations;
- and
- generating, by the computer, output information for the microelectronics device configuration based upon the comparing, wherein the output information provides an indication of trustworthiness of the microelectronics device configuration,
- wherein the indication of trustworthiness includes an assessment as to whether or not the design intent for the expected operation of the microelectronics device configuration is correctly captured, and
- wherein the output information is generated by the computer without having to expose proprietary details of the microelectronics device configuration or proprietary details of non-public, protected, binary protected data format corresponding to the microelectronics device configuration.
A non-transitory, computer-readable storage medium on which are stored computer-readable instructions which, when executed by a computer processor, cause the computer processor to assess trustworthiness of a microelectronics device configuration including determining correct capture and translation of design intent for expected operation of a microelectronics device corresponding to the microelectronics device configuration, by:
- receiving, in a computer, a publicly-documented, user-verifiable, binary data format of the microelectronics device configuration and a non-public, protected, binary data format of the microelectronics device configuration;
- generating, by the computer, a set of public configuration expectations corresponding to the publicly-documented, user-verifiable, binary data format description of the microelectronics device configuration and a set of protected configuration expectations corresponding to the non-public, protected, binary data format of the microelectronics device configuration, each expectation providing a representation of an expected operation of a resource within a semiconductor chip configured with a sequence of binary bits or binary instructions contained within the publicly-documented, user-verifiable, binary data format description or the non-public, protected binary data format description of the microelectronics device configuration;
- comparing, by the computer, each public configuration expectation with each protected configuration expectation to identify (i) matching public configuration expectations and protected configuration expectations and (ii) unmatched public configuration expectations and protected configuration expectations;
- and
- generating, by the computer, output information for the microelectronics device configuration based upon the comparing, wherein the output information provides an indication of trustworthiness of the microelectronics device configuration,
- wherein the indication of trustworthiness includes an assessment as to whether or not the design intent for the expected operation of the microelectronics device configuration is correctly captured, and
- wherein the output information is generated by the computer without having to expose proprietary details of the microelectronics device configuration or proprietary details of non-public, protected, binary protected data format corresponding to the microelectronics device configuration.
A system to assess trustworthiness of a microelectronics device configuration including determining correct capture and translation of design intent for expected operation of a microelectronics device corresponding to the microelectronics device configuration, the system comprising:
- one or more computer input ports configured to receive a publicly-documented, user-verifiable, binary data format of the microelectronics device configuration and a non-public, protected, binary data format of the microelectronics device configuration;
- one or more memories to store the a publicly-documented, user-verifiable, binary data format of the microelectronics device configuration and the non-public, protected, binary data format of the microelectronics device configuration;
- one or more data processors, in communication with the one or more memories and the one or more computer input ports, wherein the one or more data processors is configured to:
- a set of public configuration expectations corresponding to the publicly-documented, user-verifiable, binary data format description of the microelectronics device configuration and a set of protected configuration expectations corresponding to the non-public, protected, binary data format of the microelectronics device configuration, each expectation providing a representation of an expected operation of a resource within a semiconductor chip configured with a sequence of binary bits or binary instructions contained within the publicly-documented, user-verifiable, binary data format description or the non-public, protected binary data format description of the microelectronics device configuration;
- compare each public configuration expectation with each protected configuration expectation to identify (i) matching public configuration expectations and protected configuration expectations and (ii) unmatched public configuration expectations and protected configuration expectations;
- and
- generate output information for the microelectronics device configuration based upon the comparing, wherein the output information provides an indication of trustworthiness of the microelectronics device configuration,
- wherein the indication of trustworthiness includes an assessment as to whether or not the design intent for the expected operation of the microelectronics device configuration is correctly captured, and
- wherein the one or more data processors is configured to generate the output information without having to expose proprietary details of the microelectronics device configuration or proprietary details of non-public, protected, binary protected data format corresponding to the microelectronics device configuration.
Dependencies are inferred from the claim text.