Placement Rent Exponent Calculation Methods, Temporal Behaviour, and FPGA Architecture Evaluation Joachim Pistorius and Mike Hutton
Some Questions How best to calculate placement Rent? Are there biases in calculation methods? How does Rent exponent change with timing-driven placement? Do circuit types have a common Rent characteristic? How does Rent exponent change with placement quality? MH 2/28
Goals of this paper Purely empirical study. Many benchmarks, different sizes. Commercial FPGA architecture. Looking for interesting trends in the data. Try to address the preceding questions. Look at FPGA architecture wiring requirements and Rent s Rule. MH 3/28
Applying Rent s Rule: P = kb r One circuit: Estimate wirelength, pre-placement. Extract r, follow models for wirelength. Many circuits: Estimate wirelength required for an FPGA architecture. Extract a typical r. Did we provide enough interconnect at each level of hierarchy? MH 4/28
FPGA Architecture How many? LAB Cyclone C6 M4K H channel H PLL PLL PLL IO V V channel LAB LE LAB lines LOCAL How many? How many? MH 5/28
Motivation: Apex Rent Exponents P = 0.6522B + 1.8435 APEX 20K400 log P P = 0.5854B + 1.694 R 2 = 0.6215 log B 1 0.8 0.6 0.4 0.2 Unconstrained r 0 circuits MH 6/28
Questioning the methodology: Contribution to Rent exponent number of samples 50000 45000 40000 35000 30000 25000 20000 15000 10000 5000 0 box %tot %>10 10 72% 0% 20 3% 9% 40 1% 3% 80 0% 1% 160 7% 24% 320 6% 23% 640 5% 18% 1280 4% 15% 2560 1% 5% 5120 1% 2% 10240 0% 1% 10 20 40 80 160 320 640 1280 2560 5120 10240 box size MH 7/28
Calculating Rent Parameters Partitioning Rent: Matches the APEX CAD flow and architecture Placement Rent More relevant to a placed circuit. Feuer: for a good placement, a sample of the placement should behave as Rent. But what is a sample? Hypothesize that the definition of the sample will affect both the results and spirit of the analysis. MH 8/28
I. Partition-based MH 9/28
II. Random x-y region MH 10/28
III. Random x-y + lengths x MH 11/28
IV. Random x-y + radius x MH 12/28
Region Size Is it fair that smaller samples contribute much more heavily to the Rent parameter? MH 13/28
Sampling Frequency Is it fair that some cells of the placement contribute much more heavily to the Rent parameter? MH 14/28
Rent exponents differ with method 0.8 RND_xy_rad vs. PART RND_xy_rad 0.7 0.6 0.5 0.4 0.4 0.5 0.6 0.7 0.8 PART MH 15/28
Significantly MH 16/28
Preconceived biases Placement cost function is: Minimum wire usage Best worst-case path delay Placer is simulated annealing based A priori belief that RND_xy_rad should be a more accurate reflection of the placement quality / architecture stress. MH 17/28
Conclusions on sampling methods The straightforward way of measuring does not seem fair. Other methods seem more natural. If you believe in applying Rent to a non-partitioning situation. Significant variation in measured r based on the method used. Question: what does this mean? Unfortunately, no answer for this. MH 18/28
Design Characterization. Parameter r varies with the structure and type of circuit? MH 19/28
Timing-driven placement Pushes out both Rent (r), wirelength (w). If you measure r,w with a partitioner, but apply it to a timing-driven placer, results will differ. MH 20/28
Complicating observation. Both r and w move, but not necessarily together. MH 21/28
Temporal correlation For a given circuit, decrease in r over the course of placement correlates strongly with placement quality / wirelength! MH 22/28
Conclusions on time and wirelength. I don t see a correlation between circuit type and r. It looks to be more complicated. TDC affects both r and w. But not in lock-step. *If* you start with normalized r and w, the two are surprisingly correlated as the placement quality improves. Does this apply outside of the simulated annealing world? MH 23/28
Predicting wirelength Simple goal: how well does a naïve model work for FPGAs? Answer: random scatter, until we adjust the model for the architecture, then reasonable MH 24/28
Rent and Cyclone Rent used only as a guiding principle in designing Cyclone almost entirely empirical. Rent exponent of the device is.72, while the average in the design set is.55. MH 25/28
Easy and hard designs The Rent exponent of the architecture is safely above the most stressed design. Almost exactly r + 2 Note worst-case vs. average case. We do not consider Cyclone to be over-routed. MH 26/28
Segmented Rent Plot Rent parameter of cyclone is NOT 0.72. LABs have input 26, output 10, size 10. 80 global tracks in H and V direction. 80 26 2*26 2*10 10 10 20 80 10x10 20x20 Wires increase with perimeter MH 27/28
Conclusions Empirical study. Importance of Rent methodology Biases and effect on r,w. Measurement and correlation to FPGA architectures. Naïve adjustment of Feuer works OK Interesting Rent properties on Cyclone. Rent exponent and placement quality/time. Stronger than expected correlation. MH 28/28