| US 7,613,599 B2 | ||
| Method and system for virtual prototyping | ||
| Stephen L Bade, Lindon, Utah (US); Shay Ben-Chorin, Cupertino, Calif. (US); Paul Caamano, San Mateo, Calif. (US); Marcelo E Montoreano, Santa Cruz, Calif. (US); Ani Taggu, Campbell, Calif. (US); Filip C Theon, San Jose, Calif. (US); and Dean C Wills, Corvallis, Oreg. (US) | ||
| Assigned to Synopsys, Inc., Mountain View, Calif. (US) | ||
| Filed on Jun. 01, 2001, as Appl. No. 9/872,435. | ||
| Claims priority of provisional application 60/208900, filed on Jun. 02, 2000. | ||
| Claims priority of provisional application 60/230171, filed on Sep. 01, 2000. | ||
| Prior Publication US 2002/0059054 A1, May 16, 2002 | ||
| Int. Cl. G06F 17/50 (2006.01) | ||
| U.S. Cl. 703—14 [703/15; 703/16; 716/18; 716/4; 716/2; 714/737; 714/734; 714/731; 714/755; 717/160; 717/161; 717/136] | 43 Claims |

| 1. In a computer system having a graphical interface (GUI) and a design language for forming a finite state machine (FSM)
representation of a hardware partition of an embedded system, a method of designing an embedded system, the method comprising:
forming a library of processor cores including an instruction set accurate simulator for each of the processor cores in the
library;
responsive to a first sequence of user commands, selecting at least one of the processor cores from the library as a target
processor core;
responsive to a second sequence of user commands, forming a virtual embedded system including an instruction set accurate
simulator of a target processor core and coupling read, write, and interrupt signals of the instruction set accurate simulator
with an FSM simulation of at least one hardware element, wherein generating said FSM simulation comprises applying a design
language having at least one graphical symbol and adapted to form a finite state machine representation of electronic hardware,
each graphical symbol of the design language having a graphical portion and a user-definable textual portion defining the
behavior of the graphical symbol;
responsive to a request from the user, loading an executable binary file of a software application compiled for the target
processor;
executing a simulation of the virtual embedded system running the software application; and
responsive to a user request, displaying on the GUI a graphical representation of the execution of the software application
on the virtual embedded system that includes a software debugger interface to debug the loaded software and a virtual test-bench
associated with the GUI and adapted to interact with the simulation, wherein the virtual test-bench is created using a test-bench
builder for generating a graphical representation of at least one interactive test-bench and for selecting signals or variables
associated with the FSM and to be coupled to a graphical representation of a user interface for each interactive test-bench,
to emulate user input to and device output from the virtual embedded system.
|