Professional Documents
Culture Documents
CS G553
‹#›
Lecture –35
Mapping Design to Reconfigurable Platform: LUT Based
Technology Mapping, Packing LUTs to CLBs
CS G553 2
FPGA Physical Design Flow
CS G553 3
Packing LUTs into CLBs
CS G553 4
Packing
CS G553 5
Packing
CS G553 6
Clustering
A B A B A B
C D C D C D
net2
net2 net2
before clustering after
clustering clustering
CS G553 7
Circuit Partitioning
Partition 0 Partition 1
Modules
0 1 2 3 4 5
Net 3 1 0 1 1 0 0 0
Net 2
2 0 0 1 1 1 0
Nets
M1 M5 M0 M2 M4 M3 3 1 0 0 0 0 1
4 0 0 0 0 1 1
Net 1 5 1 0 1 0 0 0
Net 5
Net 4
Module
0 1 2 3 4 5
0 0 1
0 1 1 10 Objective Value = 23
(Uncut Nets)
Block
CS G553 8
Packing
Shin and Kim [1] describe a greedy algorithm to transform a netlist of
circuit blocks into a netlist of clusters where:
Each cluster contains approximately the same number of circuit blocks
The circuit blocks in each cluster tend to be highly connected.
The “closeness” of two clusters is a function of:
1. How many nets the two clusters share and
2. The size of the cluster that would result from merging them
Closeness(C,D) = NumCommonNet (C,D) - ALP. ClusterSize(C,D)
min(NumPin(C), NumPin(D)) AverageClusterSize
where ALP is a weighting factor controlling how balanced cluster sizes should be.
The two clusters with the largest closeness value are merged, and the closeness
values of all the other clusters are updated to reflect the change.
The merging process terminates when the number of clusters in the net list falls
below some user-specified value.
[1] H. Shin and C. Kim, “A Simple Yet Effective Technique for Partitioning”, IEEE Trans on VLSI 1993 pp. 380 - 386
CS G553 9
Mapping & Packing: Summary
CS G553 10 10
The End
Questions ?
CS G553 11