This paper presents two algorithms, one for clustering a set of interconnected nodes and the other for forming a linear placement of clustered interconnected nodes. The linear placement algorithm requires the output of clustering as an input. The two ~/lgorithms were designed to analyze the structure of digital logic for automatic placement of logic functions on a MOS/LSI chip as part of an automatic layou~ system 8 and so far have only been used for that application. However, the clustering algorithm could be used to analyze any undirected graph. Both algorithms are noniterative and provide very good results with small amounts of computer time.
A technique for simulating the detailed logic networks of large and active digital systems is described. Essential objectives sought are improved ease and economy in model generation, economy in execution time and space, and a facility for handling simultaneous activities. The main results obtained are a clear and useful separation of structural and behavioral model description, a reduction of manual tasks in converting Boolean logic into a structural model, the elimination of manual processes in achieving exclusive simulation of activity, an event-scheduling technique which does not deteriorate in economy as the event queue grows in length, and a simulation procedure which deals efTectively with any mixture of serial and simultaneous activities. The passage of time is simulated in a precise, quantitative fashion, and systems to be simulated may be combinations of synchronous and asynchronous logic. Certain aspects of fhe techniques described may be used for the simulation of network structures other than digital networks.
The event-manipulation system presented here consists of two major parts. The first part addresses the familiar problem of event scheduling efflciency when the number of scheduled events grows large. The second part deals with the less apparent problem of providing efficiency and flexibility as scheduled events are accessed to be executed. Additional features and problems dealt with include the proper handling of simultaneous events; that certain events must be created, scheduled, and executed at the same points in simulated time; that inflnite loops caused by the concatenation of such "zero-time" events are possible and must be diagnosed; that maintaining various event counts is practical and economical; and that a capability for handling "tune-displaceable" events is desirable and possible.The scheduling algorithm described here is an improvement over a previous version [9] and combines the standard linear list [1. 3, 4] scheduling method with the more recent time-mapping [7, 8. 6] method. The basic strategy used is break up the (potentially) very long standard-event list into many short lists [7. 6, 10. 11. 2] for which event scheduling can be done more efficiently. The scheduling algonthm uses a "converging lists" data structure, with lists originating in a time-mapping table and converging into a single list. This structure facilitates time-mapping scheduling without the necessity to separate "imminent" and "remote" events, and also permits adjustments of the simulation tune scale whenever the density of imminent events is consistently high or low.The scheduling algorithm deals with the problem of simultaneous events (5]. and actually gains in overall efficiency as the percentage of simultaneous events increases. Simultaneous events are scheduled into "vertical" sublists suspended from normal "horizontal" event lists.A crucial and integral part ofthe event-manipulation system is an "interpretive-branching" mechanism used for event accessing. This mechanism is based on event codes routinely injected into "object" events and on permanent codes located within permanent simulationcontrol events. This mechanism is flexible and fast because it permits recognition and accessing of control events and object events (distinguished from each other by type and/or attributes) without sequential testing. Adding to this basic flexibihty, the event interpretation itself may be modifted dynamically by modifying entries within a traverse table used for the interpretation process.Several related algorithms recently published [10, 11. 2] are characterized by a theoretical preoccupation with the pure problem of event scheduling, and do not consider the problems of event accessing, event counting, simultaneousness, and zero-time event loops.Furthermore, even the performance results reported for event scheduling (see Figures 4 and 5 in [2]) are not optimal, apparently because the scheduhng techniques described are burdened with a high per-event overhead. Specifically, the reported overheads of approximately 100 microseconds (usin...
well-known fundamental computer technique consists of the "interpretation" of naturally available or artifically formed data items as addresses to perform table-lookups.Although well-known, this technique is still not exploited to its fullest potential.The power and extent of this technique as applied to logic simulation is demonstrated.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.