IP Library Granted Patent US 9,405,878
Granted Patent B2
US 9,405,878 · App. 14/873,150 · Granted Aug 2, 2016

Generating a circuit description for a multi-die field-programmable gate array

Inventor: Frederic Emirian (Antony, FR)
Assignee: Synopsys, Inc.
G06F17/5054G06F17/505G06F17/5027
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,405,878
App. No.
14/873,150
Granted
Aug 2, 2016
Kind
B2
Abstract

A method for generating a circuit description for a multi-die field-programmable gate array, FPGA, comprising a first FPGA die and at least one further FPGA die is described. The method is performed in an FPGA design tool and comprises automatically evaluating a first and a second partition of a partitioned circuit description, the partitions being associated with respective ones of the FPGA dies. At least one multiplexing element is inserted into the first partition and a corresponding de-multiplexing element is inserted into the second partition based on the automated evaluation.

Claims (37)

1. A system for generating a circuit description for a multi-die field-programmable gate array (FPGA) comprising a first FPGA die and at least one further FPGA die, the system comprising:

a processor; and

a memory storing instructions executable by the processor, the instructions when executed cause the processor to:

evaluate, automatically, a first partition and a second partition of a partitioned circuit description, the first partition being associated with the first FPGA die and the second partition being associated with the at least one further FPGA die;

insert at least one multiplexing element into the first partition and a corresponding de-multiplexing element into the second partition based on the automated evaluation; and

perform one of:

execute, in response to direct physical connections between the first partition and the second partition with the first FPGA die and second FPGA die located adjacent within the multi-die FPGA, direct signal transmission between the first partition and the second partition; and

execute, in response to indirect inter-die connections between the first partition and the second partition with at least a third FPGA die inserted between the first FPGA die and the second FPGA die, insertion of at least one intermediate register in the third FPGA die, the third FPGA die being associated with a third partition of the partitioned circuit description.

2. The system of claim 1 , wherein the instructions to insert at least one multiplexing element and the corresponding de-multiplexing element further include instructions that when executed cause the processor to perform a time-multiplexed transmission of a plurality of logical signals over a single physical inter-die connection from the first FPGA die to the at least one further FPGA die.

3. The system of claim 2 , wherein the instructions that cause the processor to insert step further comprises instructions that when executed cause the processor to insert clock synchronizing elements designed for a clock synchronization between the at least one multiplexing element and the corresponding de-multiplexing element.

4. The system of claim 1 , wherein the instructions that when executed cause the processor to evaluate further comprises instructions that cause the processor to identify a set of logical signals in the circuit description being emitted from the first partition and being received in the second partition, and wherein the at least one multiplexing element and the corresponding de-multiplexing element are inserted for a subset of the set of identified logical signals.

5. The system of claim 1 , wherein the intermediate register in the third FPGA die can be a pipeline register inserted on the multiplexed signal in the third FPGA die.

6. The system of claim 1 , further comprising instructions that when executed cause the processor to compile the partitioned circuit description after the processor executes one of the instructions to perform.

7. A method for generating a circuit description for a multi-die field-programmable gate array (FPGA) comprising a first FPGA die and at least one further FPGA die, the method being performed in an FPGA design tool and comprising:

evaluating, automatically, a first partition and a second partition of a partitioned circuit description, the first partition being associated with the first FPGA die and the second partition being associated with the at least one further FPGA die;

inserting at least one multiplexing element into the first partition and a corresponding de-multiplexing element into the second partition based on the automated evaluation; and

performing one of:

executing, in response to direct physical connections between the first partition and the second partition with the first FPGA die and second FPGA die located adjacent within the multi-die FPGA, direct signal transmission between the first partition and the second partition; and

executing, in response to indirect inter-die connections between the first partition and the second partition with at least a third FPGA die inserted between the first FPGA die and the second FPGA die, insertion of at least one intermediate register in the third FPGA die, the third FPGA die being associated with a third partition of the partitioned circuit description.

8. The method of claim 7 , wherein the at least one multiplexing element and the corresponding de-multiplexing element are designed for performing a time-multiplexed transmission of a plurality of logical signals over a single physical inter-die connection from the first FPGA die to the at least one further FPGA die.

9. The method of claim 8 , wherein the inserting step further comprises inserting clock synchronizing elements designed for a clock synchronization between the at least one multiplexing element and the corresponding de-multiplexing element.

10. The method of claim 7 , wherein the evaluating step comprises identifying a set of logical signals in the circuit description being emitted from the first partition and being received in the second partition, and wherein the at least one multiplexing element and the corresponding de-multiplexing element are inserted for a subset of the set of identified logical signals.

11. The method of claim 7 , wherein the intermediate register in the third FPGA die can be a pipeline register inserted on the multiplexed signal in the third FPGA die.

12. The method of claim 7 , wherein selecting elements associated with the at least one multiplexing element and the corresponding de-multiplexing element are inserted additionally, wherein the selecting element of the de-multiplexing element is shifted with respect to the selecting element of the at least one multiplexing element based on a delay of the intermediate register.

13. The method of claim 8 , wherein the circuit description is a netlist description.

14. The method of claim 7 , wherein the partitioned circuit description is generated by partitioning an input circuit description prior to the evaluating step.

15. The method of claim 7 , wherein the method is performed for multiple combinations of FPGA dies of the multi-die FPGA.

16. The method of claim 8 , further comprising compiling the partitioned circuit description after execution of one of the performing steps.

17. A non-transitory computer readable storage medium comprising stored program code, the program code when executed by a processor causes the processor to:

evaluate, automatically, a first partition and a second partition of a partitioned circuit description, the first partition being associated with the first FPGA die and the second partition being associated with the at least one further FPGA die;

insert at least one multiplexing element into the first partition and a corresponding de-multiplexing element into the second partition based on the automated evaluation; and

perform one of:

execute, in response to direct physical connections between the first partition and the second partition with the first FPGA die and second FPGA die located adjacent within the multi-die FPGA, direct signal transmission between the first partition and the second partition; and

execute, in response to indirect inter-die connections between the first partition and the second partition with at least a third FPGA die inserted between the first FPGA die and the second FPGA die, insertion of at least one intermediate register in the third FPGA die, the third FPGA die being associated with a third partition of the partitioned circuit description.

18. The non-transitory computer readable storage medium of claim 17 , wherein the program code to insert at least one multiplexing element and the corresponding de-multiplexing element further include instructions that when executed causes the processor to perform a time-multiplexed transmission of a plurality of logical signals over a single physical inter-die connection from the first FPGA die to the at least one further FPGA die.

19. The non-transitory computer readable storage medium of claim 17 , wherein the program code that when executed causes the processor to insert step further comprises instructions that when executed cause the processor to insert clock synchronizing elements designed for a clock synchronization between the at least one multiplexing element and the corresponding de-multiplexing element.

20. The non-transitory computer readable storage medium of claim 17 , wherein the program code that when executed causes the processor to evaluate further comprises instructions that when executed causes the processor to identify a set of logical signals in the circuit description being emitted from the first partition and being received in the second partition, and wherein the at least one multiplexing element and the corresponding de-multiplexing element are inserted for a subset of the set of identified logical signals.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2016
From: EMIRIAN, FREDERIC
To: SYNOPSYS, INC.
Reel/Frame 038315/0332 →
Priority Claims (1)
EP 13192140 · Nov 8, 2013 · regional
Continuity (2)
Continuation 14532010 · Nov 4, 2014
Related Publication 20160048623A1 · Feb 18, 2016