Scheduling non-integral simulation time for mixed-signal simulation
First Claim
1. A method for scheduling events occurring at scheduled times in a simulation model for modeling analog and mixed signal digital-analog physical circuits and systems in a digital computer, the method comprising:
- assigning scheduled times to the events;
using a non-order preserving hash function based on the scheduled times of the events to store the events in buckets, each bucket containing at least one event;
wherein the buckets have no assigned order relative to one another;
associating the scheduled times assigned to the events in the buckets with the buckets;
organizing the scheduled times but not their events into a heapwherein the heap comprises a binary tree of nodes that have a parent-child relationship, with a first node at one level higher than a second node being called a parent of the second node, and the second node being called a child of the first node, and each parent node having a smaller scheduled time than its two children;
removing an earliest scheduled time from the heap;
simulating the events in the bucket associated with the earliest scheduled time;
re-organizing the remaining scheduled times into a new heap; and
repeating the steps of removing a scheduled time, simulating the events, and re-organizing the remaining scheduled times until the heap is empty;
wherein the scheduled times are represented as real numbers.
3 Assignments
0 Petitions
Accused Products
Abstract
In the simulation of an analog and mixed-signal analog-digital physical circuit, events are assigned scheduled times. The events are stored in buckets in a hash table, with the scheduled times of the events in each bucket associated with the bucket. The scheduled times are organized into a heap, with the earliest scheduled time at the root of the heap. The earliest scheduled time is removed from the heap, and the events in the associated bucket are performed. Performing the scheduled events can cause new events to be scheduled, and existing events to be de-scheduled. When all the events in the bucket associated with the earliest scheduled time are simulated, the remaining scheduled times are re-organized into a new heap, and the steps of removing the earliest scheduled time, performing the scheduled events, and re-organizing the remaining scheduled times are repeated.
142 Citations
18 Claims
-
1. A method for scheduling events occurring at scheduled times in a simulation model for modeling analog and mixed signal digital-analog physical circuits and systems in a digital computer, the method comprising:
-
assigning scheduled times to the events; using a non-order preserving hash function based on the scheduled times of the events to store the events in buckets, each bucket containing at least one event; wherein the buckets have no assigned order relative to one another; associating the scheduled times assigned to the events in the buckets with the buckets; organizing the scheduled times but not their events into a heap wherein the heap comprises a binary tree of nodes that have a parent-child relationship, with a first node at one level higher than a second node being called a parent of the second node, and the second node being called a child of the first node, and each parent node having a smaller scheduled time than its two children; removing an earliest scheduled time from the heap; simulating the events in the bucket associated with the earliest scheduled time; re-organizing the remaining scheduled times into a new heap; and repeating the steps of removing a scheduled time, simulating the events, and re-organizing the remaining scheduled times until the heap is empty; wherein the scheduled times are represented as real numbers. - View Dependent Claims (2, 3, 4)
-
-
5. A method for scheduling events with associated scheduled times occurring at non-integral time intervals, the method comprising:
-
storing events in buckets according to their scheduled times; wherein the buckets have no assigned order relative to one another; and organizing the scheduled times into a structure, wherein the structure is constructed and arranged to allow easy location of an earliest scheduled time; wherein the scheduled times are represented as real numbers. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-readable medium containing a program for scheduling events with associated scheduled times occurring at non-integral time intervals, the program comprising:
-
storage software to store events in buckets according to their scheduled times; wherein the buckets have no assigned order relative to one another; and organization software to organize the scheduled times into a structure, wherein the structure is constructed and arranged to allow easy location of an earliest scheduled time; wherein the scheduled times are represented as real numbers. - View Dependent Claims (15)
-
-
16. A system for scheduling events with associated scheduled times occurring at non-integral time intervals, the system comprising:
-
a computer; a plurality of buckets stored in the computer, each bucket storing events to occur at a scheduled time; wherein the buckets have no assigned order relative to one another; and a structure organizing the scheduled times, wherein the structure is constructed and arranged to allow easy location of an earliest scheduled time; wherein the scheduled times are represented as real numbers. - View Dependent Claims (17, 18)
-
Specification