Abstract: A method and apparatus for improving tolerance of inter-channel skew in channel bonded communications links includes designating a master channel and one or more slave channels. Each slave channel develops its own model of skew relative to the master channel. When its skew model is validated, a slave channel can perform channel bonding on its own. The skew models are developed over time, and therefore improve tolerance of inter-channel skew over prior art channel bonding methods.
Abstract: An electrically erasable programmable read-only memory (“CMOS NON-VOLATILE MEMORY”) cell is fabricated using standard CMOS fabrication processes. First and second polysilicon gates are patterned over an active area of the cell between source and drain regions. Thermal oxide is grown on the polysilicon gates to provide an isolating layer. Silicon nitride is deposited between the first and second polysilicon gates to form a lateral programming layer.
Type:
Grant
Filed:
September 30, 2005
Date of Patent:
November 13, 2007
Assignee:
Xilinx, Inc.
Inventors:
Sunhom Paak, Boon Yong Ang, Hsung Jai Im, Daniel Gitlin
Abstract: A control circuit generates a temperature-dependent gate voltage for turning on a transistor. For NMOS transistors, the gate voltage is increased in response to decreases in temperature to compensate for corresponding increases in the transistor's threshold voltage, and is decreased in response to increases in temperature to compensate for corresponding increases in the transistor's gate oxide's susceptibility to breakdown. For PMOS transistors, the gate voltage is decreased in response to decreases in temperature, and is increased in response to increases in temperature. For some embodiments, the gate voltage is adjusted according to a predetermined relationship between gate voltage and temperature.
Abstract: A packaged integrated circuit includes an integrated circuit and a package substrate. A trace in the package substrate includes a first portion and a second, high-inductance, portion. The high-inductance portion of the trace is proximate to a port of the integrated circuit and provides a selected inductance operating in cooperation with the capacitance of the port to reduce return loss from the port.
Abstract: In an integrated circuit, a layer including a plurality of conductive wires is described. A first wire, having sidewalls, is tapered from a proximal end which has a first width to a distal end which has a second width, to reduce width from the first width to the second width, and the first wire also has a substantially vertical surface. A second wire, spaced apart from the first wire, also has a substantially vertical surface. The first wire and the second wire are each horizontally disposed along side each other forming a part of a sidewall capacitor between facing sidewalls. Capacitors are created between the first substantially vertical surface and the second substantially vertical surface, the capacitors are respectively associated with capacitances and with a plurality of loads, the plurality of loads is progressively reduced responsive to a progressive reduction of the capacitances as associated with the first wire taper.
Abstract: A circuit for encoding a data stream is described. The circuit comprises a non-zero count circuit coupled to receive the data stream and output a count of non-zero coefficients of a block of data of the data stream; a trailing ones detection circuit coupled to receive the data stream and output a number of trailing ones of the block of data; and a memory coupled to the non-zero count circuit and the trailing ones detection circuit and storing encoded data values, the memory outputting an encoded data value for a non-zero coefficient of a block of data based upon the count of non-zero coefficients and the number of trailing ones for the block of data. A method of encoding a data stream is disclosed.
Abstract: A programmable logic device (PLD) includes a central processing unit (CPU) and a programmable interface coupled to the CPU, wherein the programmable interface includes a core designated by a user. The programmable interface core allows devices, both on and off-chip, to communicate with the CPU. In one embodiment, the programmable interface core includes a crosspoint switch for coupling a plurality of devices and the CPU. Re-programmability of the PLD provides significant flexibility in providing features that can be parameterized based on the user's needs and/or associated design. Specifically, these parameterized features can be implemented in programmable resources on the PLD, thereby allowing these features to be modified at any time. Moreover, only those resources actually needed for the programmable interface core need be implemented, thereby allowing the user to optimize use of the remainder of the PLD.
Abstract: A clock management system receives an input clock signal having rising edges and falling edges, a first set of data values associated with the rising edges of the input clock signal, and a second set of data values associated with the falling edges of the input clock signal. The clock management system provides a first clock and a second clock in response to the input clock signal. The first clock has a first set of edges that are synchronous with the rising edges of the input clock signal. The second clock has a second set of edges that are synchronous with the falling edges of the input clock signal. The first set of data values are latched in response to the first set of edges of the first clock. The second set of data values are latched in response to the second set of edges of the second clock.
Abstract: A method of managing behavior of algorithms includes specifying governing rules/policies that manage I-Set implementation directives, command line options, and environment variables and loading governing rules/policies into a behavior manager. Inside a client tool, the I-Set hierarchy processes and iterates one I-Set node at a time. Without more I-Sets to process, the method is done. If more, then the tool queries the Behavior Manager with an I-Set with symbolic designators of the queried behavior. The Behavior Manager can reply to the client tool indicating whether the queried behavior is to be supported on the appropriate logic of the I-Set node. If the algorithm for the I-Set node lacks the queried behavior, then another I-Set might require processing. If the algorithm for the I-Set node has the queried behavior, then the client tool applies the corresponding algorithm(s) on the appropriate logic.
Type:
Grant
Filed:
August 6, 2004
Date of Patent:
October 30, 2007
Assignee:
Xilinx, Inc.
Inventors:
Daniel J. Downs, John D. Bunte, Raymond Kong, John J. Laurence, Richard Yachyang Sun
Abstract: Method and apparatus for controlling a processor in a data processing system is described. In an example, the processor is maintained in a halt condition in response to reset information received from the data processing system (e.g., initialization of an integrated circuit having a processor embedded therein). At least one memory resource in communication with the processor is configured. The processor is then released from the halt condition.
Abstract: Solder ball assembly for a semiconductor device and method of fabricating the same is described. In one example, a solder mask is formed on a substrate having an aperture exposing at least a portion of a conductive pad of the substrate. A solder pillar is formed in the aperture and in electrical communication with the conductive pad. An insulating layer is formed on the solder mask exposing at least a portion of the solder pillar. The exposed portion of the solder pillar is removed to define a mounting surface. A solder ball is formed on the mounting surface in electrical communication with the solder pillar. The solder pillar may include high-temperature solder having a melting point higher than that of the solder ball.
Abstract: Methods are provided for creating an electronic system. A subsystem hierarchy is created that includes a plurality of subsystems for the electronic system. Certain subsystems are associated with a clock domain including a first subsystem associated with one clock domain and a second subsystem associated with another clock domain. A first stub component is instantiated in the first subsystem and a second stub component is instantiated in the second subsystem. Each stub component is instantiated in a parent subsystem and is coupled to signals in the parent subsystem. Stub components are matched based on user-configurable data associated with each stub component. Each set of matching stub components is replaced with a synchronizer component selected based on type data associated with each stub component. The signals in the parent subsystem for the matched stub components are coupled to the selected synchronizer component.
Type:
Grant
Filed:
March 31, 2005
Date of Patent:
October 23, 2007
Assignee:
Xilinx, Inc.
Inventors:
Roger B. Milne, Jonathan B. Ballagh, Jeffrey D. Stroomer
Abstract: A memory includes a plurality of row segments, with each row segment having a number of memory cells coupled to a corresponding dataline segment pair. Dataline driver circuits are provided between row segments to buffer signals on adjacent dataline segments. A control circuit is coupled to at least one row segment, and provides control signals to the at least one row segment and to the dataline driver circuits.
Type:
Grant
Filed:
October 31, 2006
Date of Patent:
October 23, 2007
Assignee:
Xilinx, Inc.
Inventors:
Vasisht Mantra Vadi, David P. Schultz, Steven P. Young, Jennifer Wong
Abstract: A standardized test head assembly for testing a plurality of integrated circuit dice each having a different bonding pad footprint, the test head assembly including an arrangement of probe holes defined by a predetermined configuration of contact positions, wherein the predetermined configuration defines each of the different bonding pad footprints so that during testing the probe holes align with a subset of the bonding pads for each of the different bonding pad footprints.
Abstract: Memory devices and data structures including multiple configuration bitstreams for programming integrated circuits (ICs) such as programmable logic devices (PLDs), thereby enabling the utilization of partially defective ICs. A user design is implemented two or more times, preferably utilizing different programmable resources as much as possible in each configuration bitstream. The resulting configuration bitstreams are stored in a memory device. Test bitstreams associated with the user bitstreams are optionally also included in the memory device. Under the control of a configuration control circuit, the various bitstreams are sequentially loaded into a partially defective IC and tested using an automated testing procedure. When a bitstream is found that enables the design to function correctly in the programmed IC, i.e., that avoids the defective programmable resources in the IC, the configuration procedure terminates.
Abstract: Modular wafers and integrated circuits (ICs), and methods of manufacturing modular ICs. A modular wafer can be optionally divided in various ways to avoid defects while producing a variety of modular ICs. A modular wafer includes an array of element dice separated by a scribe area. The scribe area includes interconnect lines that extend across the scribe area between each adjacent pair of the element dice. Unused interconnect lines can be pulled to a known value using weak pullups or pulldowns. Modular ICs can be manufactured with interconnect lines between each pair of adjacent element dice, in which case a single mask set can be used to manufacture a family of programmable logic devices (PLDs).
Abstract: A method of performing analytical placement of components for a circuit design can include the steps of modifying an analytical formulation for placement of the circuit design a priori (when the circuit design or programmable device fabric includes inhomogeneous components) providing a modified analytical formulation and applying the modified analytical formulation during placement of the circuit design. The step of modifying can optionally include introducing terms into the analytical formulation that push components away from locations in which they cannot reside (such as a large hole in the programmable device fabric due to a large, fixed component such as a CPU core) or alternatively or optionally the step of introducing (115) terms into the analytical formulation that pull components that can only reside at a relatively small number of locations towards those locations.
Abstract: Various approaches for interfacing an application-independent hardware object with an application system are disclosed. The various approaches involve instantiating a first object that contains at least one configuration parameter. The configuration parameter specifies a location of a configuration bitstream for implementing functions of the hardware object in a programmable logic circuit. A second object is instantiated and is configured to open, in response to a program call to a first function provided by the second object, an interface to the programmable logic circuit. A programmable logic circuit is configured with the configuration bitstream in response to instantiation of the second object, and, in response to a program call to the first function, an interface to the programmable logic circuit is opened.
Type:
Grant
Filed:
May 20, 2004
Date of Patent:
October 16, 2007
Assignee:
Xilinx, Inc.
Inventors:
Jonathan B. Ballagh, L. James Hwang, Roger B. Milne, Nabeel Shirazi
Abstract: Various embodiments of the invention determine whether paths of a first graph satisfy a constraint based on a plurality of sub-graphs of the first graph. Each graph is a directed acyclic graph of nodes and arcs. The first graph and a second graph are generated in a memory arrangement, with the first graph and the second graph having a shared sub-graph, and each path of the paths of the first graph is constrained by the constraint unless the path is a path of the second graph. The plurality of sub-graphs of the first graph are generated in the memory arrangement with each of the plurality of sub-graphs not including any path of the second graph and each of the paths of the first graph that is not a path of the second graph being included in at least one of the plurality of sub-graphs.
Abstract: Methods of packing a design into a programmable logic device (PLD) using ant colony optimization. An augmented graph is assigned to the design, e.g., nodes and edges are defined based on sub-circuits and interconnections in the design, and a topological order is assigned to the nodes. An equation is determined for probabilistic behavior of packing agents at each node, and an initial pheromone value is assigned to each edge. In each iteration, each of “M” packing agents makes a tour of the graph, with merging decisions being made at each node in a probabilistic manner determined by the equation and pheromone values. The M resulting packing implementations are scored, and the best packing implementation is used to change the pheromone values for the next iteration. The probabilistic equation and scoring can be based on timing, area, and/or power constraints, for example. The process is complete when predefined criteria are met.