Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
291 words
A combination for the simulation of a digital logic circuit on a processing machine, the combination comprising: a memory unit having a master queue that contains events to be performed during a simulation of the digital logic circuit in which blocks representing components of the digital logic circuit are connected to each other by nets representing block-to-block wire connections of the digital logic circuit and include input pins that receive input values representing a logic signal; a scheduler that adds events to the master queue that are associated with a simulation clock time index corresponding to changes in the input values such that each block and net is associated with an update event and a compute event; a dispatcher that maintains a simulation clock time of the digital logic circuit simulation, extracts events from the master queue according to the simulation clock time of each event, and produces a simulation output; an update processor that receives update events from the dispatcher and performs update processing necessary to identify a compute event to the dispatcher for scheduling in the master queue; and a compute processor that receives compute events from the dispatcher and performs computations necessary to produce a compute event output value that it returns to the dispatcher; wherein the scheduler responds to a user indication of a net whose wire delay is to be simulated by scheduling a wire delay update event in the master queue for that net only, and wherein the corresponding update processor responds to the wire delay update event by identifying a wire delay compute event for scheduling in the master queue, such that the wire delay compute event output value is produced at a simulation clock time that accounts for the associated wire delay value.
Claim 2
Dependent Claim
291 words
A combination for the simulation of a digital logic circuit on a processing machine, the combination comprising: a memory unit having a master queue that contains events to be performed during a simulation of the digital logic circuit in which blocks representing components of the digital logic circuit are connected to each other by nets representing block-to-block wire connections of the digital logic circuit and include input pins that receive input values representing a logic signal; a scheduler that adds events to the master queue that are associated with a simulation clock time index corresponding to changes in the input values such that each block and net is associated with an update event and a compute event; a dispatcher that maintains a simulation clock time of the digital logic circuit simulation, extracts events from the master queue according to the simulation clock time of each event, and produces a simulation output; an update processor that receives update events from the dispatcher and performs update processing necessary to identify a compute event to the dispatcher for scheduling in the master queue; and a compute processor that receives compute events from the dispatcher and performs computations necessary to produce a compute event output value that it returns to the dispatcher; wherein the scheduler responds to a user indication of a net whose wire delay is to be simulated by scheduling a wire delay update event in the master queue for that net only, and wherein the corresponding update processor responds to the wire delay update event by identifying a wire delay compute event for scheduling in the master queue, such that the wire delay compute event output value is produced at a simulation clock time that accounts for the associated wire delay value.
Claim 3
Dependent Claim
134 words
A combination as defined in claim 1, wherein the update processor includes: a single source, without wire delay processor that determines an output value for a net having a single source, without considering a wire delay value; a multi-source, without wire delay processor that determines an output value for a net having multiple sources, without considering a wire delay value; a single source, with wire delay processor that determines an output value for a net having a single source, and considers a wire delay value; a multi-source, with wire delay processor that determines an output value for a net having multiple sources, and considers a wire delay value; and a wire delay sink value processor that determines the output value of a net, taking into consideration a specified wire delay value for the net.
Claim 4
Dependent Claim
60 words
A combination as defined in claim 1, wherein the compute event processor includes: a circuit component processor that determines the output value of a logic circuit component; and a wire delay propagate processor that determines the output value of a net and the simulation clock time at which the output value should appear at the sink end of the net.
Claim 5
Dependent Claim
78 words
A combination as defined in claim 1, wherein the update processor includes a wire delay sink value processor that determines the output value of a net at a current simulation clock time, taking into consideration a specified wire delay value for the net, by updating the input pin value of the logic circuit block connected to the net and then causing a compute event to be scheduled for the logic circuit block at the current simulation clock time.
Claim 6
Dependent Claim
92 words
A combination as defined in claim 1, wherein the compute event processor includes a wire delay propagate processor that determines the value of a net that should appear at the sink end of the net at a current simulation clock time by determining if the net is a multi-source net, selecting an appropriate delay time/net value pair in accordance with a predetermined combinational rule, and causing a wire delay sink update event to be scheduled for occurrence at the current simulation clock time plus an added wire delay time in the future.
Claim 7
Dependent Claim
293 words
A digital logic simulation system that operates with a processing machine, the system comprising: a master queue that contains events to be performed during a simulation of a digital logic circuit in which blocks representing components of the digital logic circuit are connected to each other by nets representing block-to-block wire connections of the digital logic circuit and include input pins that receive input values representing a logic signal; a dispatcher that maintains a simulation clock time of the digital logic circuit simulation, extracts events from the master queue when a current simulation clock time matches a clock time index of each event, and produces a simulation output; an update processor that receives update events from the dispatcher and performs update processing necessary to identify a compute event to the dispatcher for scheduling in the master queue; a compute processor that receives compute events from the dispatcher and performs computations necessary to produce a compute event output value that it returns to the dispatcher; and a scheduler that adds update events and compute events to the master queue corresponding to changes in the input values such that each block and net is associated with an update event when a change in input value is to occur and each update event is associated with a compute event to determine any change in output value for the corresponding block or net; wherein the scheduler responds to a change in a net input value by scheduling a net update event if no wire delay value for the net is to be considered and by scheduling a net update event that in turn schedules a wire delay sink value update event for that net only if a wire delay value for the net is to be considered.
Claim 8
Dependent Claim
293 words
A digital logic simulation system that operates with a processing machine, the system comprising: a master queue that contains events to be performed during a simulation of a digital logic circuit in which blocks representing components of the digital logic circuit are connected to each other by nets representing block-to-block wire connections of the digital logic circuit and include input pins that receive input values representing a logic signal; a dispatcher that maintains a simulation clock time of the digital logic circuit simulation, extracts events from the master queue when a current simulation clock time matches a clock time index of each event, and produces a simulation output; an update processor that receives update events from the dispatcher and performs update processing necessary to identify a compute event to the dispatcher for scheduling in the master queue; a compute processor that receives compute events from the dispatcher and performs computations necessary to produce a compute event output value that it returns to the dispatcher; and a scheduler that adds update events and compute events to the master queue corresponding to changes in the input values such that each block and net is associated with an update event when a change in input value is to occur and each update event is associated with a compute event to determine any change in output value for the corresponding block or net; wherein the scheduler responds to a change in a net input value by scheduling a net update event if no wire delay value for the net is to be considered and by scheduling a net update event that in turn schedules a wire delay sink value update event for that net only if a wire delay value for the net is to be considered.
Claim 9
Independent Claim
189 words
A method of providing a computer simulation of a logic circuit whose changes in logic signal input values are retrieved from a master queue of the computer, the method comprising the steps of: maintaining a simulation time clock; retrieving an update event defining a change in a logic signal input value from the master queue for each simulation time clock value during the computer simulation and performing update processing in accordance with the retrieved update event; placing a compute event on the master queue for every update event retrieved from the master queue in accordance with the update event; calling an update processor according to the update event; repeating the steps of retrieving, placing, and calling for all update events at a current simulation clock time; retrieving a compute event from the master queue for the current simulation clock time; calling a compute processor in accordance with the retrieved compute event; wherein the step of placing a compute event on the master queue comprises scheduling a wire delay sink value update event if the update event retrieved from the master queue comprises a "net update with wire delay" event.
Claim 10
Independent Claim
189 words
A method of providing a computer simulation of a logic circuit whose changes in logic signal input values are retrieved from a master queue of the computer, the method comprising the steps of: maintaining a simulation time clock; retrieving an update event defining a change in a logic signal input value from the master queue for each simulation time clock value during the computer simulation and performing update processing in accordance with the retrieved update event; placing a compute event on the master queue for every update event retrieved from the master queue in accordance with the update event; calling an update processor according to the update event; repeating the steps of retrieving, placing, and calling for all update events at a current simulation clock time; retrieving a compute event from the master queue for the current simulation clock time; calling a compute processor in accordance with the retrieved compute event; wherein the step of placing a compute event on the master queue comprises scheduling a wire delay sink value update event if the update event retrieved from the master queue comprises a "net update with wire delay" event.
Claim 11
Dependent Claim
38 words
A method as defined in claim 7, wherein the wire delay sink value update event is scheduled to occur at a simulation time clock value in the future that accounts for a wire delay time of the net.
Claim 12
Dependent Claim
44 words
A method as defined in claim 7, wherein the step of placing a compute event further includes placing a wire delay propagate compute event on the master queue that calculates a net output value and accounts for a wire delay time of the net.
Claim 13
Dependent Claim
153 words
A method as defined in claim 7, wherein the step of performing update processing in accordance with the retrieved update event comprises calling a processing routine that performs one of either a "single source, without wire delay" process that determines an output value for a net having a single source, without considering a wire delay value, a "multi-source, without wire delay" process that determines an output value for a net having multiple sources, without considering a wire delay value, a "single source, with wire delay" process that determines an output value for a net having a single source, and considers a wire delay value, a "multi-source, with wire delay" process that determines an output value for a net having multiple sources, and considers a wire delay value, or "a wire delay sink value" process that determines the output value of a net, taking into consideration a specified wire delay value for the net.
Claim 14
Dependent Claim
65 words
A method as defined in claim 10, wherein the "wire delay sink value" process comprises the steps of: determining the output value of a net at a current simulation clock time by updating the input pin value of the logic circuit block connected to the net; and causing a compute event to be scheduled for the logic circuit block at the current simulation clock time.
Claim 15
Dependent Claim
77 words
A method as defined in claim 7, wherein the step of calling a compute processor in accordance with the retrieved compute event comprises calling a processing routine that performs either a "circuit component" process that determines the output value of a logic circuit component or a "wire delay propagate" process that determines the output value of a net and the simulation clock time at which the output value should appear at the sink end of the net.
Claim 16
Dependent Claim
211 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for providing a machine simulation of a logic circuit whose changes in logic signal input values are retrieved from a master queue of the machine, the method steps performed by the machine comprising: maintaining a simulation time clock; retrieving an update event defining a change in a logic signal input value from the master queue for each simulation time clock value during the computer simulation and performing update processing in accordance with the retrieved update event; placing a compute event on the master queue for every update event retrieved from the master queue in accordance with the update event; calling an update processor according to the update event; repeating the steps of retrieving, placing, and calling for all update events at a current simulation clock time; retrieving a compute event from the master queue for the current simulation clock time; calling a compute processor in accordance with the retrieved compute event; wherein the step of placing a compute event on the master queue comprises scheduling a wire delay sink value update event if the update event retrieved from the master queue comprises a "net update with wire delay" event.
Claim 17
Dependent Claim
211 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for providing a machine simulation of a logic circuit whose changes in logic signal input values are retrieved from a master queue of the machine, the method steps performed by the machine comprising: maintaining a simulation time clock; retrieving an update event defining a change in a logic signal input value from the master queue for each simulation time clock value during the computer simulation and performing update processing in accordance with the retrieved update event; placing a compute event on the master queue for every update event retrieved from the master queue in accordance with the update event; calling an update processor according to the update event; repeating the steps of retrieving, placing, and calling for all update events at a current simulation clock time; retrieving a compute event from the master queue for the current simulation clock time; calling a compute processor in accordance with the retrieved compute event; wherein the step of placing a compute event on the master queue comprises scheduling a wire delay sink value update event if the update event retrieved from the master queue comprises a "net update with wire delay" event.
Claim 18
Dependent Claim
43 words
A program storage device as defined in claim 13, wherein the wire delay sink value update event is scheduled by the machine to occur at a simulation time clock value in the future that accounts for a wire delay time of the net.
Claim 19
Dependent Claim
50 words
A program storage device as defined in claim 13, wherein the step of placing a compute event performed by the machine further inches placing a wire delay propagate compute event on the master queue that calculates a net output value and accounts for a wire delay time of the net.
Claim 20
Dependent Claim
155 words
A program storage device as defined in claim 13, wherein the step of performing update processing in accordance with the retrieved update event comprises calling a processing routine that performs one of either a "single source, without wire delay" process that determines an output value for a net having a single source, without considering a wire delay value, a "multi-source, without wire delay" process that determines an output value for a net having multiple sources, without considering a wire delay value, a "single source, with wire delay" process that determines an output value for a net having a single source, and considers a wire delay value, a "multi-source, with wire delay" process that determines an output value for a net having multiple sources, and considers a wire delay value, or "a wire delay sink value" process that determines the output value of a net, taking into consideration a specified wire delay value for the net.
Claim 21
Dependent Claim
67 words
A program storage device as defined in claim 16, wherein the "wire delay sink value" process comprises the steps of: determining the output value of a net at a current simulation clock time by updating the input pin value of the logic circuit block connected to the net; and causing a compute event to be scheduled for the logic circuit block at the current simulation clock time.
Claim 22
Dependent Claim
79 words
A program storage device as defined in claim 13, wherein the step of calling a compute processor in accordance with the retrieved compute event comprises calling a processing routine that performs either a "circuit component" process that determines the output value of a logic circuit component or a "wire delay propagate" process that determines the output value of a net and the simulation clock time at which the output value should appear at the sink end of the net.
Claim 23
Dependent Claim
21 words
A program storage device as defined in claim 13, wherein the program of executable instructions comprise a data storage drive disk.