Non-Rectangular Area Constraints for PLD Module Floorplanning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In modern programmable logic devices (PLDs), especially FPGAs, the conventional method of defining rectangular areas for module implementation becomes sub-optimal due to the presence of special purpose logic and general purpose logic interspersed in the fabric, leading to inefficient use of resources.
Innovation Solution
The method involves defining non-rectangular region area constraints for logic and routing resources, allowing for the conservation of non-essential resources and their reuse by other modules, with separate constraints for logic and routing resources, enabling efficient use of FPGA fabric even with special-purpose logic elements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If rectangular area constraints are used for module implementation, then the floorplanning process is simple and straightforward, but resource utilization becomes sub-optimal due to special purpose logic and general purpose logic interspersed in the fabric
Solution Approach 1:
The patent segments the area constraint into two independent components: logic resource area constraint and routing resource area constraint. This allows the logic resources and routing resources to be separately managed and allocated, enabling non-rectangular logic regions while maintaining rectangular routing regions for simplicity. The segmentation resolves the contradiction by allowing flexible logic placement without forcing sub-optimal rectangular constraints on the entire module area.
Solution Approach 2:
The patent applies different quality constraints to different parts of the module area. The logic resources can form non-rectangular regions to precisely fit the module's logical requirements, while routing resources maintain rectangular regions for ease of management. This local differentiation allows each resource type to be optimized independently, resolving the contradiction between simplicity and efficiency.
2Productivity
If non-rectangular region area constraints are defined for logic resources, then resource utilization efficiency is improved, but the floorplanning complexity increases
Solution Approach 1:
The patent divides the area constraint definition into two separate constraints: one for logic resources and one for routing resources. This segmentation allows the logic resource constraint to be non-rectangular for optimal utilization, while the routing resource constraint remains rectangular for simplicity. The separation of concerns reduces the overall complexity compared to managing a single complex non-rectangular constraint.
Solution Approach 2:
The patent changes the parameter representation of area constraints from a single unified rectangular constraint to two separate constraints with different geometric properties. The logic resource area constraint can specify non-rectangular regions, while the routing resource area constraint maintains rectangular simplicity. This parameter differentiation allows the system to achieve high resource utilization without proportionally increasing floorplanning complexity.
3Ease of operation
If rectangular areas are specified for module implementation, then the implementation process is straightforward, but non-essential logic and routing resources cannot be conserved for other modules
Solution Approach 1:
The patent segments the area constraint into logic resource area constraint and routing resource area constraint, allowing independent optimization of each. This enables the logic resources to be precisely allocated to the module's actual needs, conserving non-essential logic resources for other modules. Similarly, routing resources can be separately managed to minimize waste. The segmentation resolves the contradiction by allowing resource conservation without sacrificing implementation simplicity.
Solution Approach 2:
The patent enables the identification and exclusion of non-essential logic resources from the module's area constraint, making them available for recovery and reuse by other modules. By defining precise logic resource area constraints that exclude unnecessary resources, the system can discard these resources from the current module's allocation and recover them for other uses, thereby reducing resource waste while maintaining straightforward implementation processes.
Data Source
AI summary
Method and apparatus for generating an area constraint for a module in a programmable logic device (PLD) is described. In an example, first logic resources are selected in a floorplan of the PLD for implementing a first module of a circuit design. A routing resource area constraint is defined that reserves first routing resources associated with the first logic resources and second routing resources associated with second logic resources. The second routing resources are required for use of the first logic resources. A logic resource area constraint is defined that reserves the first logic resources and excludes the second logic resources. The logic resource constraint area for the module may be non-rectangular or include multiple disjoint regions.


