Patents by Inventor David K. Liddell

David K. Liddell 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: 11861171
    Abstract: A system includes a first multi-port RAM storing an instruction table. The instruction table specifies a regular expression for application to a data stream and a second multi-port RAM configured to store a capture table having capture entries decodable for tracking position information for a sequence of characters matching a capture sub-expression of the regular expression. The system includes a regular expression engine processing the data stream to determine match states by tracking active states for the regular expression and priorities for the active states by storing the active states of the regular expression in a plurality of priority FIFO memories in decreasing priority order. The system includes a capture engine operating in coordination with the regular expression engine to determine character(s) of the data stream that match the capture sub-expression based on the active state being tracked and decoding the capture entries of the capture table.
    Type: Grant
    Filed: April 26, 2022
    Date of Patent: January 2, 2024
    Assignee: Xilinx, Inc.
    Inventors: Sachin Kumawat, David K. Liddell, Paul R. Schumacher
  • Patent number: 11816335
    Abstract: A system includes a first multi-port RAM storing an instruction table. The instruction table specifies a regular expression for application to a data stream and a second multi-port RAM configured to store a capture table having capture entries decodable for tracking position information for a sequence of characters matching a capture sub-expression of the regular expression. The system includes a regular expression engine processing the data stream to determine match states by tracking active states for the regular expression and priorities for the active states by storing the active states of the regular expression in a plurality of priority FIFO memories in decreasing priority order. The system includes a capture engine operating in coordination with the regular expression engine to determine character(s) of the data stream that match the capture sub-expression based on the active state being tracked and decoding the capture entries of the capture table.
    Type: Grant
    Filed: April 26, 2022
    Date of Patent: November 14, 2023
    Assignee: Xilinx, Inc.
    Inventors: Sachin Kumawat, David K. Liddell, Paul R. Schumacher
  • Publication number: 20230342304
    Abstract: A system includes a multi-port RAM configured to store an instruction table. The instruction table specifies a regular expression for application to a data stream. The system includes a regular expression engine (engine) that processes the data stream using the instruction table. The engine includes a decoder circuit that determines validity of active states output from the multi-port RAM and a plurality of priority FIFO memories (PFIFOs) operating concurrently. Each PFIFO can initiate a read from a different port of the multi-port RAM. Each PFIFO can track a plurality of active paths for the regular expression and a priority of each active path by, at least in part, storing entries corresponding to active states in each respective PFIFO in decreasing priority order. The engine includes switching circuitry that selectively routes the active states from the decoder circuit to the plurality of PFIFOs according to the priority order.
    Type: Application
    Filed: April 26, 2022
    Publication date: October 26, 2023
    Applicant: Xilinx, Inc.
    Inventors: David K. Liddell, Sachin Kumawat
  • Publication number: 20230342068
    Abstract: A system includes a multi-port random-access memory (RAM) configured to store an instruction table. The instruction table specifies a regular expression for application to a data stream. The system includes a regular expression engine configured to process the data stream based on the instruction table. The regular expression engine includes a decoder circuit configured to determine validity of active states output from the RAM, a plurality of active states memories operating concurrently, wherein each active states memory is configured to initiate a read from a different port of the RAM using an address formed of an active state output from the active states memory and a portion of the data stream, and switching circuitry configured to route the active states to the plurality of active states memories according, at least in part, to a load balancing technique and validity of the active states.
    Type: Application
    Filed: April 26, 2022
    Publication date: October 26, 2023
    Applicant: Xilinx, Inc.
    Inventors: Sachin Kumawat, David K. Liddell, Jiayou Wang
  • Publication number: 20230342030
    Abstract: A system includes a first multi-port RAM storing an instruction table. The instruction table specifies a regular expression for application to a data stream and a second multi-port RAM configured to store a capture table having capture entries decodable for tracking position information for a sequence of characters matching a capture sub-expression of the regular expression. The system includes a regular expression engine processing the data stream to determine match states by tracking active states for the regular expression and priorities for the active states by storing the active states of the regular expression in a plurality of priority FIFO memories in decreasing priority order. The system includes a capture engine operating in coordination with the regular expression engine to determine character(s) of the data stream that match the capture sub-expression based on the active state being tracked and decoding the capture entries of the capture table.
    Type: Application
    Filed: April 26, 2022
    Publication date: October 26, 2023
    Applicant: Xilinx, Inc.
    Inventors: Sachin Kumawat, David K. Liddell, Paul R. Schumacher
  • Patent number: 11042564
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating transaction associations in a waveform display. One of the methods includes receiving data representing a main signal for a selected transaction in a waveform display, the main signal including a plurality of main signal events. A search is performed for data representing one or more side signals associated with the main signal for the selected transaction, each side signal including a plurality of side signal events representing other transactions that are associated with the main signal at a time indicated by a corresponding main signal event. A visual indication is generated within the waveform display of an association between the selected transaction and one or more transactions identified by the one or more side signals associated with the main signal for the selected transaction.
    Type: Grant
    Filed: September 27, 2018
    Date of Patent: June 22, 2021
    Assignee: Xilinx, Inc.
    Inventors: David K. Liddell, Roger Ng, Kumar Deepak
  • Patent number: 10816600
    Abstract: Protocol analysis can include simulating, using a processor, a circuit design including a protocol analyzer embedded therein. The protocol analyzer can be coupled to low-level signals of an interface of the circuit design. During the simulating, the protocol analyzer detects a transaction from the low-level signals received from the interface. Transaction data is generated by the protocol analyzer specifying the transaction. The transaction data is output from the protocol analyzer.
    Type: Grant
    Filed: November 28, 2017
    Date of Patent: October 27, 2020
    Assignee: Xilinx, Inc.
    Inventors: David K. Liddell, Paul R. Schumacher
  • Patent number: 10762263
    Abstract: A method includes inputting to a computer processor a search value. Bit values of bit element signals of a bus at a current time are determined time-ordered value pairs of timestamps and associated bit values of the bit element signals. Whether the bit values at the current time match values of corresponding bits of the search value is determined from the time-ordered value pairs. Data indicative of the current time and bit values of the bit element signals is output if the bit values at the current time match the search value. If any of the bit values at the current time do not match the search value, the current time is advanced to a later time indicated by a time-ordered value pair not matched to the search value and having a latest timestamp of the bit element signals that do not match corresponding bits of the search value.
    Type: Grant
    Filed: May 24, 2018
    Date of Patent: September 1, 2020
    Assignee: Xilinx, Inc.
    Inventors: Roger Ng, David K. Liddell
  • Patent number: 10740210
    Abstract: Tracing operation of a kernel can include comparing, using a processor, signals of a compiled kernel with a database including compiler generated signals for compute units to determine a list of the signals of the compiled kernel that match the compiler generated signals and generating trace data by emulating the compiled kernel using the processor. The trace data includes values for signals of the compiled kernel collected over time during the emulation. Operational data corresponding to individual compute units of the compiled kernel can be determined from values of the signals of the list within the trace data using the processor. The operational data can be displayed using the processor.
    Type: Grant
    Filed: November 28, 2017
    Date of Patent: August 11, 2020
    Assignee: Xilinx, Inc.
    Inventors: Paul R. Schumacher, Kumar Deepak, Roger Ng, David K. Liddell
  • Patent number: 10642811
    Abstract: A waveform simulation system with a waveform database architecture satisfies different requirements of different waveform simulation tools. The waveform simulation system includes a waveform database configured to store one or more mappings that map one or more design objects to one or more memory addresses. The waveform simulation system also includes a packet processing module configured to receive simulation data from a simulation tool. The packet processing module is configured to translate the simulation data into translated simulation data that is independent of implementation details of the one or more design objects, based at least in part on the one or more mappings. In some cases, the translated simulation data may include event data stored in the waveform database.
    Type: Grant
    Filed: September 10, 2014
    Date of Patent: May 5, 2020
    Assignee: XILINX, INC.
    Inventors: David K. Liddell, Roger Ng, Hem C. Neema
  • Patent number: 9582619
    Abstract: An approach for simulating a block of a circuit design includes using a row-matching table and a port state vector. The row-matching table includes a plurality of rows, and each row includes encoded input match patterns corresponding to a plurality of input ports of the block and an associated output value. The port state vector includes input state codes associated with the input ports. In response to an update of an input signal value at one of the input ports during simulation, the input state code associated with the one input port is updated according to the updated input signal value. A bit-to-bit pattern match is performed for each bit in the port state vector to a corresponding bit in the encoded input match patterns in one or more rows of the row-matching table. The associated output value of a matching row is selected as a new output value.
    Type: Grant
    Filed: October 21, 2013
    Date of Patent: February 28, 2017
    Assignee: XILINX, INC.
    Inventors: David K. Liddell, Feng Cai, Saikat Bandyopadhyay
  • Patent number: 9223910
    Abstract: A method for compiling an HDL specification for simulation of a circuit design is disclosed. The circuit design is elaborated from the HDL specification and memory locations are allocated for formals and actuals of the elaborated circuit design. For each port having a formal and an actual that are compatible, the allocating of memory locations sets a reference pointer for the formal and a reference pointer for the actual to reference a same one of the memory locations. For each port having a formal and an actual that are incompatible, the allocating of memory locations sets the reference pointer for the formal and the reference pointer for the actual to reference different respective ones of the memory locations. Simulation code modeling the elaborated circuit design is generated that updates a formal and actual of a port that are compatible using a single write operation to the referenced memory location.
    Type: Grant
    Filed: January 21, 2014
    Date of Patent: December 29, 2015
    Assignee: XILINX, INC.
    Inventors: Ishita Ghosh, Saikat Bandyopadhyay, Kumar Deepak, Hem C. Neema, David K. Liddell
  • Patent number: 8640064
    Abstract: Processing a circuit design specified in a hardware description language (HDL) can include, for each of a plurality of nets of the circuit design, creating a trace memory structure, using a processor, during compilation of the HDL circuit design. Each trace memory structure can include trace properties indicating whether tracing is active for the net. A transaction function can be generated during compilation for each net. The transaction function can be configured to invoke tracing for each net during simulation of the circuit design according to an evaluation of the trace properties for the net.
    Type: Grant
    Filed: June 12, 2012
    Date of Patent: January 28, 2014
    Assignee: Xilinx, Inc.
    Inventors: David K. Liddell, Roger Ng
  • Patent number: 8516413
    Abstract: One or more embodiments provide a method of HDL simulation that determines dependencies, forcing characteristics, and strength characteristics of nets for the entire circuit design during compilation. Simulation code and data structures are generated for each net, individually, based on the determined characteristics of the respective net. As a result, rather than implementing code for simulation of each net capable of handling every possible combination of the characteristics, less complex code and data structures may be generated for simulation of the nets.
    Type: Grant
    Filed: May 10, 2012
    Date of Patent: August 20, 2013
    Assignee: Xilinx, Inc.
    Inventors: Sandeep S. Deshpande, Hem C. Neema, Valeria Mihalache, Kumar Deepak, Sonal Santan, David K. Liddell