Abstract:
Devices and methods for filtering data include calculating intermediate input values from input elements using a transformation function. The transformation function is based at least in part on a size of the filter and a number of filter outputs. Intermediate filter values are calculated from filter elements of the filter using the transformation function. Each intermediate input value is multiplied with a respective intermediate filter value to form intermediate values. These intermediate values are combined with each other using the transformation function to determine one or more output values.
Abstract:
Disclosed approaches for processing a circuit design include identifying (604) duplicate instances (104, 106) of modules in a representation of the circuit design. A processor circuit (702) performs folding operations (610) for at least one pair of the duplicate instances of a module. One instance of the duplicates is removed (612) from the circuit design, and a multiplexer (210) is inserted (614). The multiplexer receives and selects one of the input signals to the duplicate instances and provides the selected input signal to the remaining instance. For each flip-flop (1 16) in the remaining instance, a pipelined flip-flop (204) is inserted (616, 618). Connections to a first clock signal in the remaining instance are replaced (624) with connections to a second clock signal having twice the frequency of the first clock signal. An alignment circuit (216) is inserted (626) to receive the output signal from the first instance and provide concurrent first and second output signals.
Abstract:
In one embodiment of the invention, a processor-implemented method is provided for placing and routing a circuit design (102). A first netlist is generated for a circuit design. Placement is performed (108) for the first netlist (106) on a target IC to produce a first placed design (1 10). A set of optimizations are performed (1 12) on the first placed design. The set of optimizations are recorded (1 14) in an optimization history file (1 16). One or more optimizations specified in the optimization history file are performed (1 18/202) on the first netlist to produce a second netlist that is different than the first netlist. Placement is performed (206) for the second netlist on the target IC to produce a second placed design (208) that is different than the first placed design. Nets of the second placed design are routed (210) to produce a placed and routed circuit design.
Abstract:
A programmable IC includes a plurality of programmable resources (130), a plurality of shareable logic circuits (120, 122) coupled to the plurality of programmable resources, and a virtualization circuit (150). The plurality of programmable resources includes programmable logic circuits and programmable routing resources. The virtualization circuit is configured to manage sharing of the plurality of shareable logic circuits between a plurality of user designs (132, 134) implemented in the plurality of programmable resources. The user designs are communicatively isolated from one another on the programmable IC.
Abstract:
Technologies are described to automate design of field programmable gate array (FPGA) circuits, specifically for fast and efficient architectures for large integer adders and counters through direct instantiation of carry chain primitives and lookup tables in circuit description. In some examples, placement of circuits on relatively adjacent slices may be controlled such that the slices are strongly and logically coupled to enable compact placement and thereby contributing to reduced routing delay and FPGA chip area. Design descriptions and constraint files may be automatically generated by a design application providing operand-width scalability with respect to operating frequency of the designed circuit.
Abstract:
A dynamic interconnect is described herein. The dynamic interconnect includes a transmit module, a receive module, and a multiplexer. Signal changes are detected in a group of transmit channels, and in response to the signal change an output of the multiplexer is switched to the channel where the change occurs.
Abstract:
In described examples, a test connector is arranged to communicatively couple a design under test (460) to a test fixture. A programmable logic interface (450) is communicatively coupled to the test connector and is arranged to receive a downloadable test bench (454). The downloadable test bench (454) is arranged to apply test vectors from a first set of test vectors (444) to a first test control bus (458). A multiplexer (462) is arranged to selectively couple one of the first test control bus (458) and a second test control bus (464) to a shared test bus (466) that is coupled to the test connector. The second test control bus (464) is arranged to apply test vectors from a second set of test vectors.
Abstract:
System and method for extending programmable device functionality while preserving functionality of the device driver and driver IP. User input may be received specifying functionality of custom IP for a programmable measurement device with standard driver IP. The custom IP may be generated accordingly, and may be deployable to the programmable measurement device. During operation the custom IP may communicate directly with the standard driver IP and may provide custom functionality of the programmable measurement device while preserving functionality of the standard driver IP on the programmable measurement device and the standard device driver.
Abstract:
A data acquisition system (DAS) (200) includes a plurality of processors (215/412/413/414) comprising at least one first processor (215) and a plurality of second processors (414). The at least one first processor is configured to receive at least one configuration file (502) and generate at least one measurement data application (506/507) from the at least one configuration file. The DAS also includes a field-programmable gate array (FPGA) (408) coupled to the plurality of processors. The FPGA is configured to receive the at least one measurement data application and allocate at least a portion (413) of one of the FPGA and at least one second processor of the plurality of second processors to calculate measurement data (556/558/562) at least partially based on the at least one measurement data application and an availability of the at least a portion of the FPGA.
Abstract:
A semiconductor package includes an interposer (208, 326, 416, 516) and a plurality of integrated circuit (IC) dice (102-108, 232-234, 322-324, 412-414, 512-514) disposed on and intercoupled via the interposer. A first IC die (102, 232, 322, 412, 512) has a clock speed rating that is greater than a clock speed rating of another (104-108, 234, 324, 414, 514) of the IC dice. A plurality of programmable voltage tuners (1 10-1 16, 202-204, 312 & 316, 402-404, 502-504) are coupled to the plurality of IC dice, respectively. A first voltage tuner (1 10, 202, 312, 402, 502) is coupled to the first IC die (102, 232, 322, 412, 512), and the first voltage tuner is programmed to reduce a voltage level of a voltage input to the first voltage tuner and output the reduced voltage to the first IC die.