Parallel Multiplier Placement via Datapath Netlist Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Automated placement algorithms for System-on-Chip (SOC) datapaths struggle to minimize wire lengths while achieving optimal power, performance, and space due to neglecting architectural characteristics, leading to costly and time-inefficient manual structural placement and routing.
Innovation Solution
A method using a placement and routing tool to receive a datapath netlist, extract primary input and output cells, and map them on an array based on physical sizes, estimating rows and columns using a multiplicand and multiplier, and applying different weights to minimize cost and maximize flow capacity, thereby optimizing the placement of parallel multipliers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If automated placement algorithms are used, then productivity is improved, but manufacturing precision deteriorates due to neglecting architectural characteristics
Solution Approach 1:
The patent applies preliminary action by pre-identifying and extracting primary input and output cells from the datapath netlist before the main placement process. This preliminary structuring allows the subsequent automated placement to focus on critical architectural elements, thereby maintaining both high productivity and placement precision.
Solution Approach 2:
The patent implements local quality by treating primary input and output cells differently from other cells in the datapath. These primary cells are extracted and mapped with special consideration for their architectural significance, allowing the placement algorithm to optimize wire lengths and power consumption locally at critical points while maintaining overall productivity.
2Manufacturing precision
If manual structural placement and routing are performed, then manufacturing precision is improved, but productivity deteriorates due to being costly and time inefficient
Solution Approach 1:
The patent applies segmentation by dividing the datapath into distinct primary input cells, primary output cells, and other cells. This segmentation allows the automated placement tool to handle different cell types with appropriate algorithms, achieving manual-level precision for critical cells while maintaining automated productivity for the overall placement process.
Solution Approach 2:
The patent introduces an intermediary approach by using a structured netlist representation that captures architectural characteristics. This intermediary data structure enables the automated placement algorithm to understand and respect the datapath architecture without requiring manual intervention, thus bridging the gap between automated efficiency and manual precision.
3Area of stationary object
If primary cells are mapped on a specific array, then area utilization is improved, but device complexity increases due to considering physical sizes and flow capacity
Solution Approach 1:
The patent applies parameter changes by transforming the placement problem into a cost-flow optimization problem. Physical sizes of cells and wire length requirements are converted into cost parameters and flow capacity constraints. This transformation allows the use of efficient optimization algorithms to achieve high area utilization while managing complexity through mathematical modeling rather than ad hoc methods.
Solution Approach 2:
The patent implements feedback by using a cost function that incorporates wire length, power consumption, and area utilization metrics. The placement algorithm iteratively adjusts cell positions based on feedback from this cost function, converging to an optimal solution that balances multiple competing objectives without requiring complex manual tuning.
Data Source
AI summary
A method for placing a parallel multiplier with a placement and routing tool includes receiving a datapath netlist about the parallel multiplier, extracting locations of primary input cells and primary output cells from the datapath netlist using a structure analysis module, mapping the primary input cells and the primary output cells on a specific array using the placement and routing tool, and arranging columns of the primary input cells and the primary output cells based on physical sizes of the primary input cells. The columns are arranged using the placement and routing tool. The size of the specific array is determined according to a number of the primary input cells.


