Hetergeneous method for determining module placement in FPGAs
First Claim
1. A data storage medium comprising a first module for an IC, the first module comprising:
- means for specifying a logical function of the first module; and
means for specifying a first floorplanner that executes at the time the first module is executed, the first floorplanner determining a shape of the first module as implemented in the IC according to a first floorplanning algorithm, the first floorplanner further determining a logical implementation of the logical function, wherein the first floorplanning algorithm implements the module as one of a row and a column of elements.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention provides parametric modules called Self Implementing Modules (SIMs) for use in programmable logic devices such as FPGAS. The invention further provides tools and methods for generating and using SIMs. SIMs implement themselves at the time the design is elaborated, targeting a specified FPGA according to specified parameters. In one embodiment, a SIM references or includes one or more floorplanners each of which may employ one or more placement algorithms. Such placement algorithms might include, for example: a linear ordering algorithm that places datapath logic bitwise in a regular linear pattern; a rectangular mesh algorithm that implements memory in a grid pattern in distributed RAM; a columnar algorithm for counters and other arithmetic logic; or a simulated annealing algorithm for random logic such as control logic. Therefore, a design including more than one SIM can utilize a plurality of placement algorithms at the same or different levels of hierarchy. The design as a whole can therefore utilize a non-uniform global placement strategy.
144 Citations
17 Claims
-
1. A data storage medium comprising a first module for an IC, the first module comprising:
-
means for specifying a logical function of the first module; and
means for specifying a first floorplanner that executes at the time the first module is executed, the first floorplanner determining a shape of the first module as implemented in the IC according to a first floorplanning algorithm, the first floorplanner further determining a logical implementation of the logical function, wherein the first floorplanning algorithm implements the module as one of a row and a column of elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A data storage medium comprising a first module for an IC, the first module comprising:
-
means for specifying a logical function of the first module; and
means for specifying a first floorplanner that executes at the time the first module is executed, the first floorplanner determining a shape of the first module as implemented in the IC according to a first floorplanning algorithm, the first floorplanner further determining a logical implementation of the logical function, wherein the first module is written in an object-oriented language, and wherein the object-oriented language is Java.
-
-
16. A data storage medium comprising a first module for an IC, the first module comprising:
-
means for specifying a logical function of the first module; and
means for specifying a first floorplanner that executes at the time the first module is executed, the first floorplanner determining a shape of the first module as implemented in the IC according to a first floorplanning algorithm, the first floorplanner further determining a logical implementation of the logical function, wherein the first floorplanner is written in an object-oriented language. - View Dependent Claims (17)
-
Specification