Patents by Inventor Ian L. McEwen

Ian L. McEwen has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10331837
    Abstract: Rendering a graphical representation of an integrated circuit can include determining, using a processor, a tile of a device model at least partially within a viewport, determining, using the processor, an owning tile having a fly-over wire passing over the tile, determining, using the processor, a predetermined shape of the fly-over wire, and drawing, using the processor, the fly-over wire within the viewport based upon the shape.
    Type: Grant
    Filed: November 17, 2016
    Date of Patent: June 25, 2019
    Assignee: XILINX, INC.
    Inventors: Jennifer D. McEwen, Ian L. McEwen, Chong M. Lee, Bart Reynolds
  • Patent number: 9454630
    Abstract: A system for graphics generation includes a processor configured to implement a modeling process and a GUI process. The modeling process is configured to generate a first graphics model including a plurality of objects. Each object defines a respective graphical depiction for a respective element of a programmable IC. The modeling process is also configured to serialize objects of the first graphics model according to a first application programming interface (API) definition file to produce a serialized graphics model. The GUI process is configured to, in response to receiving one or more objects of the serialized graphics model, deserialize the one or more objects of the serialized graphics model according to the first API definition file to produce a second graphics model. The GUI process is further configured to render the one or more objects of the second graphics model.
    Type: Grant
    Filed: February 26, 2013
    Date of Patent: September 27, 2016
    Assignee: XILINX, INC.
    Inventors: Chong M. Lee, David L. Kreymer, Ian L. McEwen
  • Patent number: 8752075
    Abstract: A method is provided for communicating data between a first process and a second process. A set of inter-process functions of the first and second processes is determined. The set includes one or more functions of the first and second processes that are accessible by the other one of the first and second processes. An API definition file is generated. The API definition file includes a plurality of objects that each define a request to execute one or more inter-process functions of the set of inter-process functions. In response to input to the first process indicating a plurality of the inter-process functions, the plurality of inter-process functions are serialized according to the API definition file. The serialized set of functions is provided to the second process, using an FFI process, and deserialized according to the API definition file.
    Type: Grant
    Filed: February 26, 2013
    Date of Patent: June 10, 2014
    Assignee: Xilinx, Inc.
    Inventors: Chong M. Lee, David L. Kreymer, Ian L. McEwen
  • Patent number: 8418221
    Abstract: Methods of prioritizing untested routing resources in programmable logic devices (PLDs) to generate test suites that include a minimal number of test designs. The untested routing resources are prioritized (e.g., placed into an ordered list) based on a number of untested input or output terminals for each untested resource. The number of untested input or output terminals (whichever is larger) for each routing resource determines the minimum number of additional test designs in which the routing resource must be included. The resulting prioritization can be utilized by a router, for example, to first include in test designs those routing resources that must be included in the largest remaining number of test designs. The described prioritization methods can also be used to select one of two or more test designs that should be included in the overall test suite. In each case, the overall number of test designs is reduced.
    Type: Grant
    Filed: February 12, 2004
    Date of Patent: April 9, 2013
    Assignee: Xilinx, Inc.
    Inventors: Jay T. Young, Ian L. McEwen
  • Patent number: 8117577
    Abstract: A computer-implemented method of identifying timing paths of a circuit block can include representing a circuit block including at least one bypassable component as a block diagram having a plurality of elements linked by nodes. The method can include generating a map file including a text description of each element within the block diagram, wherein the text description of each element specifies a bypass indicator for the element. The method also can include generating a plurality of sub-paths from the map file, determining timing paths from the plurality of sub-paths by selectively combining different ones of the plurality of sub-paths according to commonality of starting points and ending points of the plurality of sub-paths, and outputting the timing paths.
    Type: Grant
    Filed: January 28, 2009
    Date of Patent: February 14, 2012
    Assignee: Xilinx, Inc.
    Inventors: Vasisht M. Vadi, Alvin Y. Ching, Subodh Kumar, Richard D. Freeman, Ian L. McEwen, Philip R. Haratsaris, Jaime D. Lujan, Eric M. Schwarz
  • Patent number: 8104011
    Abstract: A method of circuit design for an integrated circuit (IC) can include identifying a plurality of routing resources, wherein each of the plurality of routing resources is associated with a reliability measure, and selecting routing resources for use in routing a circuit design for the according to, at least in part, the reliability measures. The circuit design for the can be routed using the selected routing resources.
    Type: Grant
    Filed: March 21, 2008
    Date of Patent: January 24, 2012
    Assignee: Xilinx, Inc.
    Inventors: Prasanna Sundararajan, Carter Hamilton, Ian L. McEwen
  • Patent number: 8082535
    Abstract: A method of testing an IC generates a test design list of test patterns and produces an arc usage string for each test pattern. The arc usage strings are ranked according to the number of untested arcs in each successive test pattern by comparing each of the remaining arc usage strings against an already-tested arc file to identify the arc usage string (test pattern) having the greatest number of untested arcs. A test sequence list of test patterns ranked in order of the most number of untested arcs to the least number of untested arcs is provided to a tester and the IC is tested in order of the test patterns on the test sequence list.
    Type: Grant
    Filed: February 3, 2009
    Date of Patent: December 20, 2011
    Assignee: Xilinx, Inc.
    Inventors: Ian L. McEwen, Teymour M. Mansour, Andrew G. Anderson, Reto Stamm
  • Patent number: 7949974
    Abstract: A computer-implemented method of verifying isolation between a plurality of modules of a circuit design to be implemented within an integrated circuit can include identifying a first module and at least a second module of the circuit design for the integrated circuit. One or more circuit attributes indicative of isolation between the first module and the second module can be identified and compared with at least one isolation criterion. An indication of whether the first module is isolated from the second module can be output according to results of the comparison.
    Type: Grant
    Filed: February 28, 2008
    Date of Patent: May 24, 2011
    Assignee: Xilinx, Inc.
    Inventors: Jason J. Moore, Ian L. McEwen, Reto Stamm, John Damian Corbett, Eric M. Shiflet
  • Patent number: 7480842
    Abstract: The present invention includes an apparatus and method to optimize a set of test designs to obtain complete coverage while reducing bit stream size for programmable fabric. Test designs are selected that do not result in lost coverage. The method selects a set of test designs, removes the set of test designs, and then determines if coverage is lost. If coverage is lost, the method creates a new set of test designs to test the lost coverage. If the new set of test designs is smaller than the removed set, the new set of test designs is added to the test design suite; otherwise the removed test designs are added back to the test design suite. The decision to add the new test designs or removed test designs is based on a number of criteria including evaluating the number of uniquely tested resources in each test design.
    Type: Grant
    Filed: July 16, 2004
    Date of Patent: January 20, 2009
    Assignee: Xilinx, Inc.
    Inventors: Jay T. Young, Ian L. McEwen, Reto Stamm
  • Patent number: 7367007
    Abstract: A method of circuit design for a programmable logic device (PLD) can include identifying a plurality of routing resources, wherein each of the plurality of routing resources is associated with a reliability measure, and selecting routing resources for use in routing a circuit design for the PLD according to, at least in part, the reliability measures. The circuit design for the PLD can be routed using the selected routing resources.
    Type: Grant
    Filed: June 29, 2005
    Date of Patent: April 29, 2008
    Assignee: Xilinx, Inc.
    Inventors: Prasanna Sundararajan, Carter Hamilton, Ian L. McEwen
  • Patent number: 7299430
    Abstract: A method of testing a programmable logic device (PLD) can include distinguishing between stages within the design that uniquely test a routing resource and stages that do not. The method also can include un-routing at least a portion of the design corresponding to one or more of the stages that do not uniquely test a routing resource. The stage(s) can be excluded from the design. The portion of the design that was un-routed can be re-routed by passing those stages that do not uniquely test a routing resource.
    Type: Grant
    Filed: February 23, 2005
    Date of Patent: November 20, 2007
    Assignee: Xilinx, Inc.
    Inventors: Ian L. McEwen, Jay T. Young
  • Patent number: 7234120
    Abstract: Identification of a faulty net in a design implemented on a programmable logic device (PLD). In one approach, configuration data is generated to implement a duplicate circuit of a failing sub-circuit in the design. The PLD is configured with the configuration data that implements the failing sub-circuit and the duplicate circuit, and at least one set of input signals is applied to the sub-circuit and the duplicate circuit. A signal from each net in the sub-circuit is compared on the PLD to a corresponding net in the duplicate circuit. In response to the signal from the net in the sub-circuit being unequal to a signal from the corresponding net in the duplicate circuit, the net in the sub-circuit is identified as faulty.
    Type: Grant
    Filed: October 6, 2004
    Date of Patent: June 19, 2007
    Assignee: Xilinx, Inc.
    Inventors: Donald Audley Staab, Ian L. McEwen, Reto Stamm, Phoumra Tan
  • Patent number: 7149997
    Abstract: A method of routing a design on a programmable logic device (PLD) includes generating a database that identifies the correspondence between routing resources of the PLD and programming frames of the PLD. A first set of programming frames required to implement the logic of the design is identified, and the cost associated with using the first set of programming frames is eliminated. A second set of programming frames that are not used to implement the logic of the design is also identified, and the cost associated with using the second set of programming frames is maximized. Interconnect networks of the design are then routed, taking into account the costing of the programming frames. When a programming frame from the second set is used, the cost associated with using this programming frame is eliminated. This method minimizes used programming frames and maximizes unused programming frames, thus reducing PLD configuration time.
    Type: Grant
    Filed: October 15, 2004
    Date of Patent: December 12, 2006
    Assignee: Xilinx, Inc.
    Inventors: Jay T. Young, Jeffrey V. Lindholm, Ian L. McEwen
  • Patent number: 7058919
    Abstract: Methods of directly targeting specified routing resources in a PLD, e.g., routing resources that need to be tested. Test designs are produced that implement observable nets using the targeted routing resources. A PLD router is used to route from a target routing resource backwards through the routing fabric of the PLD to the source of an observable net. The net is identified based on the source, and loads of the net are identified as router load targets. The router is then used to route from the target routing resource forwards to one of the loads on the net. This process can be repeated for a list of target routing resources to provide a test design that tests as many of the targeted routing resources as possible. Additional test designs can be created to test remaining target routing resources. In other embodiments, the router routes first forwards, then backwards.
    Type: Grant
    Filed: October 28, 2003
    Date of Patent: June 6, 2006
    Assignee: Xilinx, Inc.
    Inventors: Jay T. Young, Sridhar Krishnamurthy, Jeffrey V. Lindholm, Ian L. McEwen
  • Patent number: 6049224
    Abstract: A programmable logic device, such as an FPGA, is implemented using logic cells that have configurable connection schemes between routing resources and logic element input pins. For example, in one embodiment, each logic cell in the device has a flexible input structure that supports two or more different connection schemes, which may or may not involve input sharing, where each logic cell can be individually programmed for any of the available connection schemes when the device is configured. As such, the device can be efficiently programmed to implement the user's specific circuitry. The invention balances the competing goals of (1) reducing routing requirements by limiting the number of connections between routing resources and logic element input pins and (2) providing minimally constrained programming of logic elements.
    Type: Grant
    Filed: October 15, 1997
    Date of Patent: April 11, 2000
    Assignee: Lucent Technologies Inc.
    Inventors: Barry K. Britton, Ian L. McEwen, Ho T. Nguyen, Satwant Singh, Carolyn W. Spivak, Richard G. Stuby, Jr.