Control and data flow graph generation for hardware description languages

    公开(公告)号:US09619601B1

    公开(公告)日:2017-04-11

    申请号:US14603259

    申请日:2015-01-22

    Applicant: Xilinx, Inc.

    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.

    Mixed-language simulation
    2.
    发明授权

    公开(公告)号:US10296673B1

    公开(公告)日:2019-05-21

    申请号:US14723188

    申请日:2015-05-27

    Applicant: Xilinx, Inc.

    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.

    Debugging system and method
    3.
    发明授权

    公开(公告)号:US10255400B1

    公开(公告)日:2019-04-09

    申请号:US15473883

    申请日:2017-03-30

    Applicant: Xilinx, Inc.

    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.

    Debugging system and method
    4.
    发明授权

    公开(公告)号:US10235272B2

    公开(公告)日:2019-03-19

    申请号:US15451068

    申请日:2017-03-06

    Applicant: Xilinx, Inc.

    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.

    DEBUGGING SYSTEM AND METHOD
    5.
    发明申请

    公开(公告)号:US20180253368A1

    公开(公告)日:2018-09-06

    申请号:US15451068

    申请日:2017-03-06

    Applicant: Xilinx, Inc.

    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.

    Circuit and method for handling write and read requests between a master circuit and a slave circuit in different clock domains

    公开(公告)号:US10120831B1

    公开(公告)日:2018-11-06

    申请号:US15367611

    申请日:2016-12-02

    Applicant: Xilinx, Inc.

    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.

    System and method for debugging software executed as a hardware simulation

    公开(公告)号:US10067854B2

    公开(公告)日:2018-09-04

    申请号:US15334182

    申请日:2016-10-25

    Applicant: Xilinx, Inc.

    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.

    Range computation of bitwise operators

    公开(公告)号:US11003818B1

    公开(公告)日:2021-05-11

    申请号:US16790578

    申请日:2020-02-13

    Applicant: Xilinx, Inc.

    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.

    Breakpointing circuitry that evaluates breakpoint conditions while running clock to target circuit

    公开(公告)号:US10754759B1

    公开(公告)日:2020-08-25

    申请号:US15889001

    申请日:2018-02-05

    Applicant: Xilinx, Inc.

    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.

    DEBUGGING SYSTEM AND METHOD
    10.
    发明申请

    公开(公告)号:US20180113787A1

    公开(公告)日:2018-04-26

    申请号:US15334182

    申请日:2016-10-25

    Applicant: Xilinx, Inc.

    CPC classification number: G06F11/3636 G06F11/3632 G06F11/3648

    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.

Patent Agency Ranking