47136995
Routing for symmetric FPGAs and FPICs
A new class of routing structures with fixed orthogonal wire segments and field programmable switches at the intersections of the wire segments is proposed. In comparison with the conventional two-dimensional field-programmable gate array (FPGA) routing structure, this class of routing structures has the advantage of using a smaller number of active programmable switches. An existing field-programmable interconnect chip (FPIC) routing structure can be included as a special case in our class of routing structures. Using a probabilistic model, we prove that complete routing can be achieved with a high degree of probability in a routing structure of this class in which the number of tracks in each channel approaches the lower bound asymptotically. We present a sequential routing algorithm based on the solution of the single net routing problem. We take into account the delay introduced by the active programmable switches on a routing path and formulate the single net routing problem as a node-weighted Steiner minimum tree (NWSMT) problem in a bipartite graph G. Since our single net routing problem is NP-complete, a polynomial time approximate algorithm is proposed. We prove that our single net routing algorithm produces an optimal solution for some special classes of bipartite graphs. In general, the solution obtained by our algorithm bas a performance bound of min{/spl Delta/(V/Z), |Z|-1}. Experimental results for several industrial circuits show a reduction of up to 41% in the number of active programmable switches when compared with corresponding results for the conventional FPGA routing structure.
2339232
Maze routing with OPC consideration
41261093
Nano/micro technologies for single molecule manipulation and detection
A sensitive, rapid, and efficient single-molecule detection method was developed by combining fluorescence correlation spectroscopy (FCS) and on-chip molecular manipulation techniques. The highly restricted measurement volume in the FCS system significantly reduces the intrinsic background noise and facilitates single-molecule sensitivity. A microchannel integrated with multiple 3-D electrodes was fabricated and used for molecular sensing and manipulation by which individual DNA molecules were fast transported to and sequentially focused within the tiny probing volume for measuring single-molecular information, thereby enhancing both the efficiency and rates of detection.
12394125
Using compressed bytecode traces for slicing Java programs
Dynamic slicing is a well-known program debugging technique. Given a program P and input I, it finds all program statements which directly/indirectly affect the values of some variables' occurrences when P is executed with I. Dynamic slicing algorithms often proceed by traversing the execution trace of P produced by input I (or a dependence graph which captures control/data flow in the execution trace). Consequently, it is important to develop space efficient representations of the execution trace. In this paper, we use results from data compression to compactly represent bytecode traces of sequential Java programs. The major space savings come from the optimized representation of data (instruction) addresses used by memory reference (branch) bytecodes as operands. We give detailed experimental results on the space efficiency and time overheads for our compact trace representation. We then show how dynamic slicing algorithms can directly traverse our compact traces without resorting to costly decompression. We also develop an extension of dynamic slicing which allows us to explain omission errors (i.e. why some events did not happen during program execution).
14256633
Symbolic Execution of Behavioral Requirements
Message Sequence Charts (MSC) have traditionally been used as a weak form of behavioral requirements in software design; they denote scenarios which may happen. Live Sequence Charts (LSC) extend Message Sequence Charts by also allowing the designer to specify scenarios which must happen. Live Sequence Chart specifications are executable; their simulation allows the designer to play out potentially aberrant scenarios prior to software construction. In this paper, we propose the use of Constraint Logic Programming (CLP) for symbolic execution of requirements described as Live Sequence Charts. The utility of CLP stems from its ability to execute in the presence of uninstantiated variables. This allows us to simulate multiple scenarios at one go. For example, several scenarios which only differ from each other in the value of a variable may be executed as a single scenario where the variable is left uninstantiated. Similarly, we can simulate scenarios with an unbounded number of processes. We use the power of CLP to also simulate charts with non-trivial timing constraints. Current works on MSC/LSCs use data/control variables mainly for ease of specification; they are instantiated to concrete values during simulation. Thus, our work advances the state-of-the-art in simulation and checking of MSC based software requirements.
9564557
An Object-Oriented Approach to Shadow Generation in Computer Graphics
This paper presents an object-oriented shadow generation algorithm for a large number of convex polyhedra (objects) in a 3-D scene. In the past, the shadow volume binary space partitioning (SVBSP) tree algorithm is known to be efficient in a static environment in which the point light source can be changed. However, if a scene consists of many objects and each object consists of many polygons, the time complexity for generating and traversing an SVBSP tree increases rapidly because the SVBSP tree algorithm only deals with polygons which are components of objects. Furthermore, the SVBSP tree algorithm suffers from polygon-splitting problems resulting in a high cost as the number of polygons increases. Our approach is object-oriented in the sense that an object is used as the basic logical unit instead of polygons. In the preprocessing stage the object ordering for shadow generation is determined for all possible light source positions. At the run time, the shadow detection algorithm is executed, and if nec...
9613111
Strategies for distributed search
The problem of locating information among cooperating agents within a distributed computing environment is considered. Such collections of agents can be collectively thought of as a single distributed application providing a single set of services; the X.500 distributed directory is an example of such an application. A central problem in such applications is the cooperative search for certain information which might be located at one of the agents. One approach to this problem relies on flooding messages throughout the distributed environment, such as that which might be used in routing algorithms to locate entries. Although the use of such algorithms, in principle, takes advantage of reaching many different agents via parallel data communication paths, the additional number of messages may be a distinct disadvantage in “higher layer” applications. This paper presents a variant of such approaches which rely on a depth-first method of distributing messages. Results of simulations illustrating the savings in messages of this approach to one relying on traditional flooding are presented for different network configurations.