Patents by Inventor Christopher J. Spandikow
Christopher J. Spandikow has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 8739091Abstract: A logic verification program, method and system that segments simulation results and then processes the resulting segments separately, and optionally in parallel, reduces memory and other system requirements and improves efficiency of verification of digital logic designs. The verification process fixes up event dependency check for past-directed checkers by including additional information with each segment after an initial segment that describes at least a portion of a state of the logic design, so that resultant events in the current segment that are caused by events in the previous segment(s) can be traced back to those events. Future directed checks are fixed-up by either repeating a failed check with a concatenation of the current segment and a next segment, or by providing an overlap between segments to ensure that the expected time duration between a causative event and the resulting event are included within the same segment file.Type: GrantFiled: November 19, 2012Date of Patent: May 27, 2014Assignee: International Business Machines CorporationInventors: Eitan Marcus, Christopher J. Spandikow, Avi Ziv
-
Patent number: 8250338Abstract: A mechanism for broadcasting instructions/data to a plurality of processors in a multiprocessor device via aliasing is provided. In order to broadcast data to a plurality of processors, a control processor writes to the registers that store the identifiers of the processors and sets two or more of these registers to a same value. The control processor may write the desired data/instructions to be broadcast to a portion of memory corresponding to the starting address associated with the processor identifier of the two or more processors. When the two or more processors look for a starting address of their local store from which to read, the two or more processors will identify the same starting address, essentially aliasing the memory region. The two or more processors will read the instructions/data from the same aliased memory region starting at the identified starting address and process the same instructions/data.Type: GrantFiled: May 29, 2008Date of Patent: August 21, 2012Assignee: International Business Machines CorporationInventors: Adam P. Burns, Steven L. Roberts, Christopher J Spandikow, Todd E. Swanson
-
Patent number: 8046574Abstract: Boot code is partitioned into a plurality of boot code partitions. Processors of a multiprocessor system are selected to be boot processors and are each provided with a boot code partition to execute in a predetermined boot code sequence. Each processor executes its boot code partition in accordance with the boot code sequence and signals to a next processor the successful and uncompromised execution of its boot code partition. If any of the processors does not signal successful completion and/or uncompromised execution of its boot code partition, the boot operation fails. The processors may be arranged, with regard to the boot operation, in a daisy chain, ring, or master/slave arrangement, for example.Type: GrantFiled: May 30, 2008Date of Patent: October 25, 2011Assignee: International Business Machines CorporationInventors: Jason N. Dale, Jonathan J. DeMent, Clark M. O'Niell, Christopher J. Spandikow
-
Patent number: 8037293Abstract: Pervasive logic is provided that includes a random event generator. The random event generator randomly selects which processor of a plurality of processors in the multiprocessor system is to be a boot processor for the multiprocessor system. A corresponding configuration bit for the randomly selected processor is set to identify the processor as a boot processor. Based on the setting of the configuration bits for each processor in the plurality of processors, a selection of a security key is made. The security key is then used to decrypt the boot code for booting the multiprocessor system. Only the randomly selected boot processor is able to select the correct security key for correctly decrypting the boot code, which it then executes to bring the system to an operational state.Type: GrantFiled: May 30, 2008Date of Patent: October 11, 2011Assignee: International Business Machines CorporationInventors: Jason N. Dale, Jonathan J. DeMent, Clark M. O'Niell, Christopher J. Spandikow
-
Patent number: 8027825Abstract: A design structure is embodied in a machine readable medium for designing, manufacturing, or testing integrated circuitry. The design structure includes a general purpose computational resource for performing general purpose operations of a system. A special purpose computational resource is coupled to the general purpose computational resource. The special purpose computational resource is for: storing test patterns, a description of the integrated circuitry, and a description of hardware for testing the integrated circuitry; and executing software for simulating an operation of the described hardware's testing of the described integrated circuitry in response to the test patterns.Type: GrantFiled: May 30, 2008Date of Patent: September 27, 2011Assignee: International Business Machines CorporationInventors: Matthew E. Fernsler, Tilman Gloekler, Sanjay Gupta, Christopher J. Spandikow, Todd Swanson
-
Patent number: 8006155Abstract: A general purpose computational resource is provided for performing general purpose operations of a system. A special purpose computational resource is coupled to the general purpose computational resource. The special purpose computational resource is provided for: storing test patterns, a description of integrated circuitry, and a description of hardware for testing the integrated circuitry; and executing software for simulating an operation of the described hardware's testing of the described integrated circuitry in response to the test patterns.Type: GrantFiled: January 9, 2007Date of Patent: August 23, 2011Assignee: International Business Machines CorporationInventors: Matthew E. Fernsler, Tilman Gloekler, Sanjay Gupta, Christopher J. Spandikow, Todd Swanson
-
Patent number: 7779273Abstract: A mechanism is provided for booting a multiprocessor device based on selection of encryption keys to be provided to the processors. With the mechanism, a security key and one or more randomly generated key values are provided to a selector mechanism of each processor of the multiprocessor device. A random selection mechanism is provided in pervasive logic that randomly selects one of the processors to be a boot processor and thereby, provides a select signal to the selector of the boot processor such that the boot processor selects the security key. All other processors select one of the one or more randomly generated key values. As a result, only the randomly selected boot processor is able to use the proper security key to decrypt the boot code for execution.Type: GrantFiled: May 15, 2008Date of Patent: August 17, 2010Assignee: International Business Machines CorporationInventors: Jason N. Dale, Jonathan J. DeMent, Clark M. O'Niell, Christopher J. Spandikow
-
Patent number: 7756695Abstract: A cache replacement system for extending the debugging capabilities of accelerated simulation by enabling enhanced cache data and state checking is provided. The system includes a Cell Broadband Engine Architecture (CBEA) compliant system implementing Replacement Management Tables in an accelerated simulation environment. The RMTs control cache replacement and allow the software to direct entries with specific address ranges at a particular subset of the cache. The RMTs further allow for locking data in the cache and are utilized to prevent overwriting data in the cache by directing data that is known to be used only once at a particular set. Using the locking mechanism in an accelerated simulation environment, a user is able to run code sets, which, when the microprocessor system being tested is correctly designed, generates identical and verifiable data and cache states in each of the different sets of the cache.Type: GrantFiled: August 11, 2006Date of Patent: July 13, 2010Assignee: International Business Machines CorporationInventors: Clark M. O'Niell, Joseph A. Perrie, III, Steven L. Roberts, Christopher J. Spandikow
-
Publication number: 20090327680Abstract: Pervasive logic is provided that includes a random event generator. The random event generator randomly selects which processor of a plurality of processors in the multiprocessor system is to be a boot processor for the multiprocessor system. A corresponding configuration bit for the randomly selected processor is set to identify the processor as a boot processor. Based on the setting of the configuration bits for each processor in the plurality of processors, a selection of a security key is made. The security key is then used to decrypt the boot code for booting the multiprocessor system. Only the randomly selected boot processor is able to select the correct security key for correctly decrypting the boot code, which it then executes to bring the system to an operational state.Type: ApplicationFiled: May 30, 2008Publication date: December 31, 2009Applicant: International Business Machines CorporationInventors: Jason N. Dale, Jonathan J. DeMent, Clark M. O'Niell, Christopher J. Spandikow
-
Patent number: 7493468Abstract: A method for broadcasting instructions/data to a plurality of processors in a multiprocessor device via aliasing is provided. In order to broadcast data to a plurality of processors, a control processor writes to the registers that store the identifiers of the processors and sets two or more of these registers to a same value. The control processor may write the desired data/instructions to be broadcast to a portion of memory corresponding to the starting address associated with the processor identifier of the two or more processors. When the two or more processors look for a starting address of their local store from which to read, the two or more processors will identify the same starting address, essentially aliasing the memory region. The two or more processors will read the instructions/data from the same aliased memory region starting at the identified starting address and process the same instructions/data.Type: GrantFiled: June 1, 2006Date of Patent: February 17, 2009Assignee: International Business Machines CorporationInventors: Adam P. Burns, Steven L. Roberts, Christopher J. Spandikow, Todd E. Swanson
-
Patent number: 7472034Abstract: A system and method for test generation for system level verification using parallel algorithms are provided. The present invention generates test patterns for system level tests by exploiting the scalability of parallel algorithms while allowing for data set coloring and expected result checking. Based on the characteristics of the system being tested an iterative parallel algorithm is selected from a plurality of possible parallel algorithms. The selected parallel algorithm is then separated into separate program statements for execution by a plurality of processors. A serial version of the selected algorithm is executed to generate a set of expected results. The devised parallel version of the selected algorithm is then run to generate a set of test result data which is compared to the set of expected results. If the two sets of data match, it is determined that the system is operating correctly.Type: GrantFiled: June 5, 2007Date of Patent: December 30, 2008Assignee: International Business Machines CorporationInventors: Sanjay Gupta, Steven L. Roberts, Christopher J. Spandikow
-
Publication number: 20080288230Abstract: A design structure is embodied in a machine readable medium for designing, manufacturing, or testing integrated circuitry. The design structure includes a general purpose computational resource for performing general purpose operations of a system. A special purpose computational resource is coupled to the general purpose computational resource. The special purpose computational resource is for: storing test patterns, a description of the integrated circuitry, and a description of hardware for testing the integrated circuitry; and executing software for simulating an operation of the described hardware's testing of the described integrated circuitry in response to the test patterns.Type: ApplicationFiled: May 30, 2008Publication date: November 20, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Matthew E. Fernsler, Tilman Gloekler, Sanjay Gupta, Christopher J. Spandikow, Todd Swanson
-
Publication number: 20080256366Abstract: A system and method for booting a multiprocessor device based on selection of encryption keys to be provided to the processors are provided. With the system and method, a security key and one or more randomly generated key values are provided to a selector mechanism of each processor of the multiprocessor device. A random selection mechanism is provided in pervasive logic that randomly selects one of the processors to be a boot processor and thereby, provides a select signal to the selector of the boot processor such that the boot processor selects the security key. All other processors select one of the one or more randomly generated key values. As a result, only the randomly selected boot processor is able to use the proper security key to decrypt the boot code for execution.Type: ApplicationFiled: May 15, 2008Publication date: October 16, 2008Applicant: International Business Machines CorporationInventors: Jason N. Dale, Jonathan J. DeMent, Clark M. O'Niell, Christopher J. Spandikow
-
Publication number: 20080229092Abstract: Boot code is partitioned into a plurality of boot code partitions. Processors of a multiprocessor system are selected to be boot processors and are each provided with a boot code partition to execute in a predetermined boot code sequence. Each processor executes its boot code partition in accordance with the boot code sequence and signals to a next processor the successful and uncompromised execution of its boot code partition. If any of the processors does not signal successful completion and/or uncompromised execution of its boot code partition, the boot operation fails. The processors may be arranged, with regard to the boot operation, in a daisy chain, ring, or master/slave arrangement, for example.Type: ApplicationFiled: May 30, 2008Publication date: September 18, 2008Applicant: International Business Machines CorporationInventors: Jason N. Dale, Jonathan J. DeMent, Clark M. O'Niell, Christopher J. Spandikow
-
Publication number: 20080229051Abstract: A mechanism for broadcasting instructions/data to a plurality of processors in a multiprocessor device via aliasing is provided. In order to broadcast data to a plurality of processors, a control processor writes to the registers that store the identifiers of the processors and sets two or more of these registers to a same value. The control processor may write the desired data/instructions to be broadcast to a portion of memory corresponding to the starting address associated with the processor identifier of the two or more processors. When the two or more processors look for a starting address of their local store from which to read the two or more processors will identify the same starting address, essentially aliasing the memory region. The two or more processors will read the instructions/data from the same aliased memory region starting at the identified starting address and process the same instructions/data.Type: ApplicationFiled: May 29, 2008Publication date: September 18, 2008Applicant: International Business Machines CorporationInventors: Adam P. Burns, Steven L. Roberts, Christopher J. Spandikow, Todd E. Swanson
-
Publication number: 20080167853Abstract: A general purpose computational resource is provided for performing general purpose operations of a system. A special purpose computational resource is coupled to the general purpose computational resource.Type: ApplicationFiled: January 9, 2007Publication date: July 10, 2008Inventors: Matthew E. Fernsler, Tilman Gloekler, Sanjay Gupta, Christopher J. Spandikow, Todd Swanson
-
Publication number: 20080126068Abstract: A cache replacement system for extending the debugging capabilities of accelerated simulation by enabling enhanced cache data and state checking is provided. The system includes a Cell Broadband Engine Architecture (CBEA) compliant system implementing Replacement Management Tables in an accelerated simulation environment. The RMTs control cache replacement and allow the software to direct entries with specific address ranges at a particular subset of the cache. The RMTs further allow for locking data in the cache and are utilized to prevent overwriting data in the cache by directing data that is known to be used only once at a particular set. Using the locking mechanism in an accelerated simulation environment, a user is able to run code sets, which, when the microprocessor system being tested is correctly designed, generates identical and verifiable data and cache states in each of the different sets of the cache.Type: ApplicationFiled: August 11, 2006Publication date: May 29, 2008Inventors: Clark M. O'Niell, Joseph A. Perrie, Steven L. Roberts, Christopher J. Spandikow
-
Publication number: 20070288738Abstract: A system and method for masking a boot sequence by providing a dummy processor are provided. With the system and method, one of the processors of a multiprocessor system is chosen to be a boot processor. The other processors of the multiprocessor system execute masking code that generates electromagnetic and/or thermal signatures that mask the electromagnetic and/or thermal signatures of the actual boot processor. The execution of the masking code on the non-boot processors preferably generates electromagnetic and/or thermal signatures that approximate the signatures of the actual boot code execution on the boot processor. One of the non-boot processors is selected to execute masking code that is different from the other masking code sequence to thereby generate a electromagnetic and/or thermal signature that appears to be unique from an external monitoring perspective.Type: ApplicationFiled: June 9, 2006Publication date: December 13, 2007Inventors: Jason N. Dale, Jonathan J. DeMent, Clark M. O'Niell, Christopher J. Spandikow
-
Publication number: 20070288761Abstract: A system and method for booting a multiprocessor device based on selection of encryption keys to be provided to the processors are provided. With the system and method, a security key and one or more randomly generated key values are provided to a selector mechanism of each processor of the multiprocessor device. A random selection mechanism is provided in pervasive logic that randomly selects one of the processors to be a boot processor and thereby, provides a select signal to the selector of the boot processor such that the boot processor selects the security key. All other processors select one of the one or more randomly generated key values. As a result, only the randomly selected boot processor is able to use the proper security key to decrypt the boot code for execution.Type: ApplicationFiled: June 9, 2006Publication date: December 13, 2007Inventors: JASON N. DALE, JONATHAN J. DeMENT, CLARK M. O'NIELL, CHRISTOPHER J. SPANDIKOW
-
Publication number: 20070288740Abstract: A system and method for secure boot across a plurality of processors are provided. With the system and method, boot code is partitioned into a plurality of boot code partitions. Processors of a multiprocessor system are selected to be boot processors and are each provided with a boot code partition to execute in a predetermined boot code sequence. Each processor executes its boot code partition in accordance with the boot code sequence and signals to a next processor the successful and uncompromised execution of its boot code partition. If any of the processors does not signal successful completion and/or uncompromised execution of its boot code partition, the boot operation fails. The processors may be arranged, with regard to the boot operation, in a daisy chain, ring, or master/slave arrangement, for example.Type: ApplicationFiled: June 9, 2006Publication date: December 13, 2007Inventors: Jason N. Dale, Jonathan J. DeMent, Clark M. O'Niell, Christopher J. Spandikow