Patents by Inventor Jason Villarreal

Jason Villarreal 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: 11003818
    Abstract: A method includes parsing and compiling a software code that includes a constraint bitwise operation with a first operand associated with a first constraint range and a second operand associated with a second constraint range. A first and a second plurality of ranges that spans the first and second constraint range are generated. In some embodiments, each constrained range is converted into a binary format having an upper bit portion and a lower bit portion. The upper bit portion for the each range remains unchanged. A resultant range associated with the constraint bitwise operation is determined based on performing the constraint bitwise operation on the first and the second plurality of ranges.
    Type: Grant
    Filed: February 13, 2020
    Date of Patent: May 11, 2021
    Assignee: XILINX, INC.
    Inventors: Ashish Kumar Jain, Saikat Bandyopadhyay, Jason Villarreal
  • Patent number: 10754759
    Abstract: An execution circuit inputs a plurality of data units, performs unit operations on the data units, and registers results of the unit operations in response to oscillations of a clock signal. A control circuit controls activation of the unit operations, and outputs a start signal to the execution circuit to activate each unit operation and/or a completion signal to indicate completion of each unit operation. A debug circuit stores breakpoint flags associated with the unit operations. Each breakpoint flag has a state that specifies whether to stop oscillations of the clock signal. The debug circuit further receives the start and/or completion signal and evaluates, while the clock signal oscillates to the execution circuit, a state of the start and/or completion signal and a state of the breakpoint flag associated with the unit operation. Oscillations of the clock signal are stopped in response to the evaluation of the signals.
    Type: Grant
    Filed: February 5, 2018
    Date of Patent: August 25, 2020
    Assignee: Xilinx, Inc.
    Inventors: Amitava Majumdar, Georgios Tzimpragos, Jason Villarreal, Kumar Deepak, Jayashree Rangarajan
  • Patent number: 10621067
    Abstract: An execution circuit is configured to input data units, perform unit operations on the data units, and register results of the unit operations in response to oscillations of a clock signal. A control circuit controls activation and deactivation of the unit operations. A debug circuit inputs, in parallel with input of the data units to the execution circuit, at least one of the data unit or one or more attributes associated with the data unit. The debug circuit evaluates, upon each input of the at least one of the data unit or the one or more attributes, a breakpoint condition based on the at least one of the data unit or the one or more attributes while the clock signal oscillates. In response to evaluation of the breakpoint condition indicating a break, the debug circuit stops oscillations of the clock signal to the execution circuit.
    Type: Grant
    Filed: February 5, 2018
    Date of Patent: April 14, 2020
    Assignee: Xilinx, Inc.
    Inventors: Georgios Tzimpragos, Jason Villarreal, Amitava Majumdar, Kumar Deepak, Yuxiong Zhu
  • Patent number: 10296673
    Abstract: For generating code for simulation of a circuit design, a hardware description language (HDL) description and a high-level language (HLL) description of portions of the circuit design are input. The HLL description specifies a first function and the HDL description includes a call to the first function. A wrapper is generated for the first function. The wrapper has an associated stack frame and includes code that stores in the stack frame values of arguments specified by the call to the first function and code that calls the first function. An HLL simulation specification is generated from the HDL description. The HLL simulation specification includes a call to the first HLL wrapper in place of the call to the first function. The HLL simulation specification, the first HLL wrapper, and the HLL description are compiled into executable program code.
    Type: Grant
    Filed: May 27, 2015
    Date of Patent: May 21, 2019
    Assignee: XILINX, INC.
    Inventors: Ishita Ghosh, Hem C. Neema, Jason Villarreal, Saikat Bandyopadhyay, Kumar Deepak
  • Patent number: 10255400
    Abstract: Disclosed approaches for configuring a memory include generating by a high-level synthesis (HLS) tool executing on a computer system, a first mapping of elements of a high-level language (HLL) program to elements of a hardware language finite state machine that represents a circuit implementation of the HLL program. The HLS tool further generates a second mapping of lines of the HLL program to states of the hardware language finite state machine and stores the information describing the first mapping and the second mapping in a data structure of a database in the memory.
    Type: Grant
    Filed: March 30, 2017
    Date of Patent: April 9, 2019
    Assignee: XILINX, INC.
    Inventors: Jason Villarreal, Xiaoyong Liu, Kumar Deepak
  • Patent number: 10235272
    Abstract: An approach for debugging a circuit implementation of a software specification includes translating a high-level language debugging command into a hardware debugging command that specifies the value(s) of a condition in the circuit implementation, and a storage element(s) at which the value(s) of the condition is stored. The hardware debugging command is transmitted to a debug controller circuit that generates a single clock pulse to the circuit implementation. The debug controller circuit reads a value(s) from the storage element(s) specified by the hardware debugging command and determines whether or not the value(s) satisfies the condition. The debug controller circuit generates another single clock pulse in response to the value(s) read from the storage element(s) not satisfying the condition. Generation of pulses of the clock signal is suspended and data indicative of a breakpoint is output in response to the value(s) read from the storage element(s) satisfying the condition.
    Type: Grant
    Filed: March 6, 2017
    Date of Patent: March 19, 2019
    Assignee: XILINX, INC.
    Inventors: Jason Villarreal, Mahesh Sankroj, Nikhil A. Dhume, Kumar Deepak
  • Patent number: 10120831
    Abstract: A circuit arrangement for handling write and read requests between a master circuit and a slave circuit in different clock domains includes first and second write FIFO circuits, a read FIFO circuit, and a write acknowledgment circuit. The first write FIFO circuit is configured and arranged to receive and buffer write addresses of write requests received from a master circuit and addressed to a slave circuit. The second write FIFO circuit is configured and arranged to receive and buffer write data associated with the write addresses of the write requests. The read FIFO circuit is configured and arranged to receive and buffer read addresses of read requests received from the master circuit and addressed to the slave circuit. The write acknowledgment control circuit is configured and arranged to transmit an acknowledgement to a write request to the master circuit before the slave circuit issues a response to the write request.
    Type: Grant
    Filed: December 2, 2016
    Date of Patent: November 6, 2018
    Assignee: XILINX, INC.
    Inventors: Mahesh Sankroj, Jason Villarreal
  • Publication number: 20180253368
    Abstract: An approach for debugging a circuit implementation of a software specification includes translating a high-level language debugging command into a hardware debugging command that specifies the value(s) of a condition in the circuit implementation, and a storage element(s) at which the value(s) of the condition is stored. The hardware debugging command is transmitted to a debug controller circuit that generates a single clock pulse to the circuit implementation. The debug controller circuit reads a value(s) from the storage element(s) specified by the hardware debugging command and determines whether or not the value(s) satisfies the condition. The debug controller circuit generates another single clock pulse in response to the value(s) read from the storage element(s) not satisfying the condition. Generation of pulses of the clock signal is suspended and data indicative of a breakpoint is output in response to the value(s) read from the storage element(s) satisfying the condition.
    Type: Application
    Filed: March 6, 2017
    Publication date: September 6, 2018
    Applicant: Xilinx, Inc.
    Inventors: Jason Villarreal, Mahesh Sankroj, Nikhil A. Dhume, Kumar Deepak
  • Patent number: 10067854
    Abstract: Approaches for debugging include receiving by a hardware debug server, a high-level language (HLL) debugging command for setting a breakpoint in an HLL software specification. The hardware debug server translates the HLL debugging command into a hardware debugging command that specifies a condition of a hardware finite state machine that is representation of the software specification. The hardware debugging command is input to a simulator. The simulator adds a conditional breakpoint on the finite state machine in response to the hardware debugging command and executes a simulation of the finite state machine representation. Execution of the simulation is suspended in response to the detecting the condition in the finite state machine.
    Type: Grant
    Filed: October 25, 2016
    Date of Patent: September 4, 2018
    Assignee: XILINX, INC.
    Inventors: Jason Villarreal, Kumar Deepak
  • Publication number: 20180113787
    Abstract: Approaches for debugging include receiving by a hardware debug server, a high-level language (HLL) debugging command for setting a breakpoint in an HLL software specification. The hardware debug server translates the HLL debugging command into a hardware debugging command that specifies a condition of a hardware finite state machine that is representation of the software specification. The hardware debugging command is input to a simulator. The simulator adds a conditional breakpoint on the finite state machine in response to the hardware debugging command and executes a simulation of the finite state machine representation. Execution of the simulation is suspended in response to the detecting the condition in the finite state machine.
    Type: Application
    Filed: October 25, 2016
    Publication date: April 26, 2018
    Applicant: Xilinx, Inc.
    Inventors: Jason Villarreal, Kumar Deepak
  • Patent number: 9619601
    Abstract: An example method of generating a control and data flow graph for hardware description language (HDL) code specifying a circuit design is described. The method includes traversing an abstract syntax tree (AST) representation of the HDL code having a plurality of modules on a module-by-module basis. The method further includes adding an execution unit to the control and data flow graph for each module having concurrent paths. Each execution unit includes nodes in the control and data flow graph. The nodes include a loopback sink that merges the concurrent paths and a loopback source that receives feedback from the loopback sink and propagates the feedback to the concurrent paths.
    Type: Grant
    Filed: January 22, 2015
    Date of Patent: April 11, 2017
    Assignee: XILINX, INC.
    Inventors: Jason Villarreal, Valeria Mihalache