Method and apparatus for evaluating software programs for semiconductor circuits
First Claim
1. A method of testing software for a semiconductor circuit, said method comprising the steps of:
- simulating said semiconductor circuit including memory characteristics of said semiconductor circuit on a general purpose computing device;
executing said software on said simulated semiconductor circuit;
monitoring the estimated time to execute said software including hardware related timing on said semiconductor circuit such that said simulated execution of said software maintains timing considerations with an actual execution of said software on said semiconductor circuit; and
evaluating the operation of said software.
3 Assignments
0 Petitions
Accused Products
Abstract
A microcontroller software testing tool is disclosed for testing and debugging software for a semiconductor circuit. The microcontroller software testing tool includes a simulator for simulating the execution of the software program on the target semiconductor circuit and an emulator to permit emulation before the actual silicon exists. The emulator utilizes the same high definition language specification, such as VHDL models, that define the silicon during the fabrication process plus additional logic to model behavior of the emulated processor. In a simulation mode, the microcontroller software testing tool simulates the target semiconductor circuit on a general purpose computing device, by interpreting the instructions in the software using an instruction set of the target semiconductor circuit, and otherwise behaving like the target semiconductor circuit; and executes and evaluates the software on the simulated semiconductor circuit. The microcontroller software testing tool monitors the estimated time to execute the software on the semiconductor circuit. In an emulation mode, the microcontroller software testing tool utilizes a low-cost field programmable gate array programmed with a hardware description language description of the target semiconductor circuit. The microcontroller software testing tool is accessible by means of a data exchange protocol provided by the operating system. The microcontroller software testing tool preferably provides a modular configuration. The microcontroller software testing tool monitors the percentage of the code that is executed during testing.
-
Citations
37 Claims
-
1. A method of testing software for a semiconductor circuit, said method comprising the steps of:
-
simulating said semiconductor circuit including memory characteristics of said semiconductor circuit on a general purpose computing device;
executing said software on said simulated semiconductor circuit;
monitoring the estimated time to execute said software including hardware related timing on said semiconductor circuit such that said simulated execution of said software maintains timing considerations with an actual execution of said software on said semiconductor circuit; and
evaluating the operation of said software. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of testing software for a semiconductor circuit, said method comprising the steps of:
-
programming a field programmable gate array with a hardware description language description of said semiconductor circuit including memory characteristics of said semiconductor circuit;
emulating said semiconductor circuit using said programmed field programmable gate array;
executing said software on said emulated semiconductor circuit, wherein each instruction of said software is executed sequentially on said emulated semiconductor circuit in accordance with a clock that is a rational factor of a clock on said semiconductor circuit; and
evaluating the accuracy of said software. - View Dependent Claims (14, 15, 16)
-
-
17. A tool for testing software for a semiconductor circuit, comprising:
-
a software model of said semiconductor circuit, said software model including memory characteristics of said semiconductor circuit;
a processor for executing said software using said software model of said semiconductor circuit;
a counter for monitoring the estimated time to execute said software including hardware related timing on said semiconductor circuit such that said simulated execution of said software maintains timing considerations with an actual execution of said software on said semiconductor circuit; and
means for evaluating the operation of said software. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A tool for testing software for a semiconductor circuit, comprising:
-
an emulator comprised of a field programmable gate array programmed with a hardware description language description of said semiconductor circuit including memory characteristics of said semiconductor circuit;
a processor for controlling instruction of said software on said emulated semiconductor circuit, wherein each instruction of said software is executed sequentially on said emulated semiconductor circuit in accordance with a clock that is a rational factor of a clock on said semiconductor circuit; and
means for evaluating the accuracy of said software. - View Dependent Claims (30, 31, 32)
-
-
33. A method of testing software for a semiconductor circuit, said method comprising the steps of:
-
simulating said semiconductor circuit including memory characteristics of said semiconductor circuit on a general purpose computing device;
executing said software on said simulated semiconductor circuit;
monitoring the estimated time to execute said software including hardware related timing on said semiconductor circuit such that said simulated execution of said software maintains timing considerations with an actual execution of said software on said semiconductor circuit; and
determining the percentage of said software that is executed during said executing step. - View Dependent Claims (34, 35, 36, 37)
-
Specification