Claims Analysis
Total Claims: 33
Claim 1
Independent Claim
179 words
A method of executing a plurality of simulation jobs in a simulation system network, the simulation system network including a plurality of client workstations, a bus subsystem, and a simulation server which includes a reconfigurable hardware unit which contains a hardware model of at least a portion of the user design, comprising: queueing a first simulation job associated with a first user design and a second simulation job associated with a second user design; determining priority between the first simulation job and the second simulation job; and providing access to the reconfigurable hardware unit to the first simulation job and the second simulation job in a time-shared manner based on the priority determination and for a time duration until a preemption state is reached, including loading a software model of the first simulation job in at least one client workstation if the priority determination resolves in favor of the first simulation job; and configuring the reconfigurable hardware unit with the hardware model of the first user design if the priority determination resolves in favor of the first simulation job.
Claim 2
Independent Claim
179 words
A method of executing a plurality of simulation jobs in a simulation system network, the simulation system network including a plurality of client workstations, a bus subsystem, and a simulation server which includes a reconfigurable hardware unit which contains a hardware model of at least a portion of the user design, comprising: queueing a first simulation job associated with a first user design and a second simulation job associated with a second user design; determining priority between the first simulation job and the second simulation job; and providing access to the reconfigurable hardware unit to the first simulation job and the second simulation job in a time-shared manner based on the priority determination and for a time duration until a preemption state is reached, including loading a software model of the first simulation job in at least one client workstation if the priority determination resolves in favor of the first simulation job; and configuring the reconfigurable hardware unit with the hardware model of the first user design if the priority determination resolves in favor of the first simulation job.
Claim 3
Dependent Claim
47 words
The method of claim 1 wherein the preemption state is selected from the group consisting of a new simulation job with a higher priority than the priority of the first simulation job, a predetermined time period, a time-out timer period, and completion of the first simulation job.
Claim 4
Dependent Claim
29 words
The method of claim 1 further comprising: executing the second simulation job for a predetermined time period after the predetermined time for executing the first simulation job has elapsed.
Claim 5
Dependent Claim
53 words
The method of claim 3 wherein the step of executing the second simulation job further comprises: preempting the first simulation job after the predetermined time has elapsed; swapping the first simulation job with the second simulation job in the reconfigurable hardware unit; and executing the second simulation job for the predetermined time period.
Claim 6
Dependent Claim
70 words
The method of claim 4 wherein the step of swapping jobs further comprises: saving state information of the first simulation job; configuring the reconfigurable hardware unit with at least a portion of the second user design associated with the second simulation job; loading any saved software model associated with the second simulation job; and loading any saved hardware state values and software state values associated with the second simulation job.
Claim 7
Dependent Claim
40 words
The method of claim 5 wherein the step of saving state information of the first simulation job further comprises: saving hardware memory state values for the first simulation job; and saving software model state values for the first simulation job.
Claim 8
Dependent Claim
52 words
The method of claim 4 wherein the first user design is the same as the second user design and wherein the step of swapping jobs further comprises: saving state information of the first simulation job; and loading any saved hardware state values and software state values associated with the second simulation job.
Claim 9
Dependent Claim
33 words
The method of claim 1 wherein the step of executing further comprises: executing the first simulation job until its completion if the first simulation job has a higher priority than the second priority.
Claim 10
Dependent Claim
30 words
The method of claim 1 further comprising: executing a third simulation job if the priority of the third simulation job is higher than the priority of the first simulation job.
Claim 11
Dependent Claim
48 words
The method of claim 8 wherein the step of executing the third simulation job further comprises: preempting the first simulation job; swapping the first simulation job with the third simulation job in the reconfigurable hardware unit; and executing the third simulation job until a preemption state is reached.
Claim 12
Independent Claim
170 words
A method of serving a plurality of simulation jobs in a time-shared manner in a simulation computing system, the simulation computing system including a first client workstation and a second client workstation, a bus subsystem, and a simulation server which includes a reconfigurable hardware unit which contains a hardware model of at least a portion of the user design, comprising: loading in the first client workstation a software model of a first user design which is associated with a first simulation job; configuring the reconfigurable hardware unit with a hardware model of the first user design; executing the first simulation job in the reconfigurable hardware unit and the first client workstation for a predetermined time period; requesting access to the reconfigurable hardware unit by a second simulation job associated with the second client workstation; determining priority between the first simulation job and the second simulation job; and providing access of the reconfigurable hardware unit to either the first simulation job or the second simulation job based on the priority determination.
Claim 13
Independent Claim
170 words
A method of serving a plurality of simulation jobs in a time-shared manner in a simulation computing system, the simulation computing system including a first client workstation and a second client workstation, a bus subsystem, and a simulation server which includes a reconfigurable hardware unit which contains a hardware model of at least a portion of the user design, comprising: loading in the first client workstation a software model of a first user design which is associated with a first simulation job; configuring the reconfigurable hardware unit with a hardware model of the first user design; executing the first simulation job in the reconfigurable hardware unit and the first client workstation for a predetermined time period; requesting access to the reconfigurable hardware unit by a second simulation job associated with the second client workstation; determining priority between the first simulation job and the second simulation job; and providing access of the reconfigurable hardware unit to either the first simulation job or the second simulation job based on the priority determination.
Claim 14
Dependent Claim
133 words
The method of claim 11 wherein the step of providing access to either the first simulation job or the second simulation job further comprises: preempting the first simulation job with the second simulation job if the second simulation job has a higher priority than the priority of the first simulation job; continue executing the first simulation job if the second simulation job has a lower priority than the priority of the first simulation job; continue executing the first simulation job if the second simulation job has the same priority as the first simulation job and the predetermined time period has not elapsed; and preempting the first simulation job with'the second simulation job if the second simulation job has the same priority as the first simulation job and the predetermined time period has elapsed.
Claim 15
Dependent Claim
33 words
The method of claim 12 wherein the step of preempting further comprises: swapping the first simulation job with the second simulation job; and executing the second simulation job for the predetermined time period.
Claim 16
Dependent Claim
70 words
The method of claim 13 wherein the step of swapping jobs further comprises: saving state information of the first simulation job; configuring the reconfigurable hardware unit with at least a portion of the second user design associated with the second simulation job; loading any saved software model associated with the second simulation job; and loading any saved hardware state values and software state values associated with the second simulation job.
Claim 17
Dependent Claim
40 words
The method of claim 14 wherein the step of saving state information of the first simulation job further comprises: saving hardware memory state values for the first simulation job; and saving software model state values for the first simulation job.
Claim 18
Dependent Claim
149 words
A simulation server for allowing multiple client stations to configure, load, and execute multiple simulation jobs, where each simulation job is associated with a user design, comprising: a reconfigurable hardware unit coupled to a bus subsystem and including a bus controller, at least one logic device for modeling at least portion of the user design in hardware, and at least one memory device; a scheduler for granting access to the reconfigurable hardware unit to each client station for a predetermined time period; configuration logic for configuring the reconfigurable hardware unit with a hardware model of each client station's respective user design and loading state values of each client station's respective user design; execution logic for executing each client station's respective user design job in a time-shared manner; and at least one device driver coupled to the bus subsystem for enabling communication between the scheduler and the reconfigurable hardware unit.
Claim 19
Dependent Claim
149 words
A simulation server for allowing multiple client stations to configure, load, and execute multiple simulation jobs, where each simulation job is associated with a user design, comprising: a reconfigurable hardware unit coupled to a bus subsystem and including a bus controller, at least one logic device for modeling at least portion of the user design in hardware, and at least one memory device; a scheduler for granting access to the reconfigurable hardware unit to each client station for a predetermined time period; configuration logic for configuring the reconfigurable hardware unit with a hardware model of each client station's respective user design and loading state values of each client station's respective user design; execution logic for executing each client station's respective user design job in a time-shared manner; and at least one device driver coupled to the bus subsystem for enabling communication between the scheduler and the reconfigurable hardware unit.
Claim 20
Dependent Claim
16 words
The server of claim 16 wherein the scheduler is based on a preemptive round robin algorithm.
Claim 21
Dependent Claim
74 words
The server of claim 16 wherein the scheduler further comprises: simulation job queue table that maintains a list of at least one simulation job request associated with an outstanding simulation job; a priority sorter for determining which outstanding simulation job to execute based on a predetermined priority; and a job swapper for temporarily replacing one simulation job associated with one user for another simulation job associated with another user based on the predetermined priority.
Claim 22
Independent Claim
120 words
A method of serving a plurality of simulation sessions in a time-shared manner in a simulation computing system, the simulation computing system including a reconfigurable hardware unit, a plurality of client workstations, and a bus system for coupling the plurality of client workstations and the reconfigurable hardware unit, comprising: configuring the reconfigurable hardware unit with a first hardware model of a first user design for a first simulation session; loading state values for the first hardware model to initially advance the first simulation session to a desired test point; simulating the first user design in a first client workstation; and configuring the reconfigurable hardware unit with a second hardware model of a second user design for a second simulation session.
Claim 23
Independent Claim
120 words
A method of serving a plurality of simulation sessions in a time-shared manner in a simulation computing system, the simulation computing system including a reconfigurable hardware unit, a plurality of client workstations, and a bus system for coupling the plurality of client workstations and the reconfigurable hardware unit, comprising: configuring the reconfigurable hardware unit with a first hardware model of a first user design for a first simulation session; loading state values for the first hardware model to initially advance the first simulation session to a desired test point; simulating the first user design in a first client workstation; and configuring the reconfigurable hardware unit with a second hardware model of a second user design for a second simulation session.
Claim 24
Dependent Claim
38 words
The method of claim 19, further comprising steps: loading state values for the second hardware model to initially advance the second simulation session to a desired test point; simulating the second user design in a second client workstation.
Claim 25
Dependent Claim
56 words
The method of claim 20, further comprising step: accelerating the second simulation session from a first test point to a second test point for the second user design with the second hardware model in the reconfigurable hardware unit; and returning to simulating the second user design in the second client workstation from the second test point.
Claim 26
Dependent Claim
76 words
The method of claim 19, further comprising step: reconfiguring the reconfigurable hardware unit with the first hardware model of the first user design for the first simulation session; accelerating the first simulation session from a first test point to a second test point for the first user design with the first hardware model in the reconfigurable hardware unit; and returning to simulating the first user design in the first client workstation from the second test point.
Claim 27
Dependent Claim
18 words
The method of claim 19, further comprising step: simulating the second user design in the first client workstation.
Claim 28
Independent Claim
148 words
A method of serving a plurality of simulation sessions in a time-shared manner in a simulation computing system, the simulation computing system including a reconfigurable hardware unit which contains a hardware model of at least a portion of a user design, a plurality of client workstations, and a bus system for coupling the plurality of client workstations and the reconfigurable hardware unit, comprising: configuring the reconfigurable hardware unit with a first hardware model of the user design; loading a set of state values for the first hardware model to initially advance a first simulation session to a desired test point; simulating the user design in a first client workstation for a first set of test points; and simulating the same user design in a second client workstation for a second set of test points concurrently with the first client workstation's simulation of the first set of test points.
Claim 29
Independent Claim
148 words
A method of serving a plurality of simulation sessions in a time-shared manner in a simulation computing system, the simulation computing system including a reconfigurable hardware unit which contains a hardware model of at least a portion of a user design, a plurality of client workstations, and a bus system for coupling the plurality of client workstations and the reconfigurable hardware unit, comprising: configuring the reconfigurable hardware unit with a first hardware model of the user design; loading a set of state values for the first hardware model to initially advance a first simulation session to a desired test point; simulating the user design in a first client workstation for a first set of test points; and simulating the same user design in a second client workstation for a second set of test points concurrently with the first client workstation's simulation of the first set of test points.
Claim 30
Dependent Claim
122 words
A simulation system for debugging and simulating at least one user design and allowing a plurality of users to access their respective user designs, comprising: a plurality of client computing stations, each client computing station associated with at least one user design; a simulation server for modeling at least a portion of a user design for access by a first client computing station during a first simulation session and for modeling at least a portion of another user design for access by a second client computing station during a second simulation session, wherein the first simulation session and the second simulation session are contiguous in time; and a bus system for coupling the plurality of client computing stations and the simulation server.
Claim 31
Dependent Claim
122 words
A simulation system for debugging and simulating at least one user design and allowing a plurality of users to access their respective user designs, comprising: a plurality of client computing stations, each client computing station associated with at least one user design; a simulation server for modeling at least a portion of a user design for access by a first client computing station during a first simulation session and for modeling at least a portion of another user design for access by a second client computing station during a second simulation session, wherein the first simulation session and the second simulation session are contiguous in time; and a bus system for coupling the plurality of client computing stations and the simulation server.
Claim 32
Dependent Claim
61 words
The simulation system of claim 25, wherein the simulation server further comprises: a reconfigurable hardware unit for modeling at least a portion of each user design as a hardware model; and a scheduler for granting access to the reconfigurable hardware unit to each client computing station for a predetermined time period for simulation of each client computing station's respective user design.
Claim 33
Dependent Claim
33 words
The simulation system of claim 26, wherein the simulation system further comprises: at least one device driver coupled to the bus system for enabling communication between the scheduler and the reconfigurable hardware unit.