280 likes | 417 Views
BSPlace : A BLE Swapping technique for placement. 04.09.2014 Minsik Hong George Hwang Hemayamini Kurra Minjun Seo. BLE Level Swapping within Simulated Annealing
E N D
BSPlace: A BLE Swapping technique for placement 04.09.2014 Minsik Hong George Hwang HemayaminiKurra MinjunSeo
BLE Level Swapping within Simulated Annealing • Chen, Gang, and Jason Cong. "Simultaneous timing driven clustering and placement for FPGAs." Field Programmable Logic and Application. Springer Berlin Heidelberg, 2004. 158-167. • Use Rent’s rule to determine swapping method • Singh, Amit, GanapathyParthasarathy, and Malgorzata Marek-Sadowska. "Efficient circuit clustering for area and power reduction in FPGAs." ACM Transactions on Design Automation of Electronic Systems (TODAES) 7.4 (2002): 643-663. BSPlace: A BLE Swapping technique for placement
iRAC • Clustering Comparison • Rent’s Rule • Key terms • Clustering Step • Results • SCPlace • Introduction Outline
Efficient circuit clustering for area and power reduction in FPGAs. Singh, Amit, GanapathyParthasarathy, and Malgorzata Marek-Sadowska.ACM Transactions on Design Automation of Electronic Systems (TODAES) 7.4 (2002): 643-663.
TVPACK • What is different in RPACK? • Gain functions for considering routing constraints in cost function while clustering • RPACK + ----- iRAC • Rent’s rule to depopulate the clusters!! Best CW Clustering Comparison
Where Nio is the number of inputs and outputs in a CLB • K is the average number of connections per BLE • Calculate k in technology mapping phase • B is the number of BLEs in a CLB • P is the rent’s parameter • Since FPGA has uniform interconnect resources, p at local level is assumed to be uniform • Characterize the complexity of a cluster • Smaller values of p mean that the cluster’s external routing requirement is low • So, a good clustering solution will ensure that the Rent’s parameter of the generated cluster is small. Rent’s Rule
Complexity Varies across design. Solution – Use local interconnect complexity measure based in interconnect length distributions. (Van Marck et al.,95) Reduces to Rent’s exponent for uniform design at the top level Net Length : Local Rent’s parameter Pld
Net Length : Rent’s Parameter • Van Marck, Stroobandt, Campenhout, 1995 • p =D(log Ni) / D(log Li) • p – Rent’s parameter • Li- length of a net • Ni- number of nets of length Li • First Order Approximation for varying rent’s parameter • Connects net-length with Rent’s parameter! • Wirelength, channel width, routability estimation based on Rent’s parameter
layout parameter estimations in Electronic Design Automation, studies of new computer architectures, and the generation of synthetic circuit benchmarks. Applications of Rent’s Rule
The increasing problem sizes in electronic design and the sub-micron design challenges have placed the need for a priori estimates of chip layout parameters in the forefront. • The generality and predictive power of Rent’s rule are perfect for such estimates. • Another application of Rent’s rule tries to assess the merits of new chip or computer architectures before they have to be built, using wire length estimatesbased on Rent’s rule and a generic model for the architecture. This research has gained attention especially due to the possibilities of using optical interconnections to build three-dimensional chips Applications of Rent’s Rule
Degree of an BLE • the number of nets incident to that BLE • Separation of an BLE • The sum of all terminals of nets incident to the BLE • Connectivity factor (c) • Weight, w(e) Key terms
Clustering step (1) • First, calculate the connectivity factor of all unclustered BLEs. Terminal Cluster BLE NET
Clustering step (1) • First, calculate the c factor of all unclustered BLEs. 1 2 4 3 Degree - the number of nets incident to BLE A
Clustering step (1) • First, calculate the c factor of all unclustered BLEs. 15 16 18 17 2 3 1 Degree - the number of nets incident to BLE A Separation - the sum of all terminals of nets incident to the BLE A 10 11 12 13 5 6 4 14 7 9 8
Second, choose a seed Clustering step (2) which has highest degree and lowest c Degree = 4, c=1.125 Degree = 4, c=0.5 Cluster size = 5
Third, assign gain value to unclustered BLEs and choose BLE which has highest gain Clustering step (3) • the attraction of bleX to bleC • x: the net between ble X and ble C • n: the cluster size (# of BLEs in CLB) • w(x): the weight of net • α: the number of pins of net x already inside
Clustering step (3) Cluster size = 4 • n: the cluster size (# of BLEs in CLB) • α: the number of pins of net x already inside
Clustering step (3) Cluster size = 4 z y w
Clustering step (3) choose BLE which has highest gain Cluster size = 4 • If adding X to C fully absorbs net x, then G(X,C,x) is multiplied by a large constant value k. (ex. k=10)
Fourth, check spatial uniformity using Rent’s rule Clustering step (4) where K=3, B=4, P=0.5 Threshold Tio= 6 # of used I/O of cluster < Tio p < P If Nio > Tio, then choose that BLE as another seed. Smaller values of p mean that the cluster’s external routing requirement is low
Random Seed of RPack • iRAC is more effective in clustering circuits which have a higher percentage of low-fanout nets. • Why? Results(1)
iRAC is able to lower the number of external nets, and the Rent’s parameter of the circuits after clustering! Result(2)
Simultaneous timing driven clustering and placement for FPGAs. Chen, Gang, and Jason Cong. Field Programmable Logic and Application. Springer Berlin Heidelberg, 2004. 158-167.
More freedom of changing to change a circuit structure but fast and accurate estimation of wirelength, timing and routability are not available in clustering stage In placement stage due to the fixed circuit structure, simultaneous optimization of wirelength, timing and routability are possible. Sub-optimal place and route result!!!! Why simultaneous placement and clustering?
Fragment level move • BLE to a new CLB • Check for valid CLB configuration • Feasibility (number of BLEs and input pins) • Update the cost function • Block level move • CLB to CLB • Logic duplication Key concept