ispd 2017 contest clock-aware fpga placementjan 15, 2017: registration deadline feb 3, 2017:...

144
ISPD 2017 Contest Clock-Aware FPGA Placement Stephen Yang, Chandra Mulpuri, Sainath Reddy, Meghraj Kalase, Srinivasan Dasasathyan, Mehrdad E. Dehkordi, Marvin Tom, Rajat Aggarwal

Upload: others

Post on 21-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

ISPD 2017 ContestClock-Aware FPGA Placement

Stephen Yang, Chandra Mulpuri, Sainath Reddy, Meghraj Kalase, Srinivasan Dasasathyan, Mehrdad E. Dehkordi, Marvin Tom, Rajat Aggarwal

Page 2: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Xilinx Vivado Management TeamSupport from Dr. Sudip Nag and Dr. Salil RajeSupport from Xilinx Lab

Acknowledgement

Page 3: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

BackgroundTop-5 Team PresentationsBenchmarking ResultsAward Ceremony

Outline

Page 4: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

First FPGA related contestLatest FPGA architectureVivado: Industrial flow for evaluationAcademic benchmark format: bookshelfFocus: FPGA legalization rule and routing congestion

Last Year: Routability-Driven FPGA Placement

Page 5: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Continuous Effort on FPGA Placement ProblemClock Legalization: Key Constraint in FPGA PlacementWirelength as the primary metricReduced difficulty on routability, reduced runtime factor

This Year: Clock-Aware FPGA Placement

Page 6: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Oct 2016: Problem definition and contest planningNov 2016: Contest AnnouncementDec 12, 2015: Sample benchmarks readyJan 15, 2017: Registration deadlineFeb 3, 2017: Evaluation flow readyFeb 15, 2017: Alpha submissionMar 9, 2017: Final submissionMar 10-12, 2017: BenchmarkingMar 22, 2017: Announce winners at ISPD

Page 6

Contest Timelines

Page 7: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Registration: 13 Teams

Team Affiliation Region

VDAplacer National Chiao Tung University Asia

UTPlaceF2.0 University of Texas at Austin North America

WicilPlacer University of Wisconsin-Madison North America

RippleFPGA Chinese University of Hong Kong Asia

Uni-Placer Ulsan National Institute of Science and Technology Asia

CECA_Placer Peking University Asia

NTUfplace National Taiwan University Asia

GPlace University of Guelph North America

BMTIplacer Beijing Microelectronics and Technology Institute Asia

AggiePlace Texas A&M University North America

UFRGSPlace Universidade Federal do Rio Grande do Sul South America

POCA Tool Politecnico di Torino, Torino, Italy Europe

Kapees Indian Institute of Technology, Guwahati Asia

Page 8: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Final Submission: 9 Teams

Team Affiliation Region

VDAplacer National Chiao Tung University Asia

UTPlaceF2.0 University of Texas at Austin North America

WicilPlacer University of Wisconsin-Madison North America

RippleFPGA Chinese University of Hong Kong Asia

CECA_Placer Peking University Asia

NTUfplace National Taiwan University Asia

GPlace University of Guelph North America

BMTIplacer Beijing Microelectronics and Technology Institute Asia

UFRGSPlace Universidade Federal do Rio Grande do Sul South America

Congratulations!

Page 9: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Page 9

Target FPGA: Xilinx UltraScale VU095

20nm Technology 1.2M Logic Cell

Page 10: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

24 24 24 24 24 24

Clock Routing Architecture

Page 10

24 24 24

Page 11: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

24 24 24 24 24 24

Clock Region Rule

Page 11

≤ 24 distinct clocks per region

Page 12: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Half Column Rule

Page 12

≤ 12 distinct clocks per half column

Page 13: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Design #LUTs #FFs #BRAMs #DSPs #I/O #Clocks

Design1 215K (40%) 236K (22%) 170 (10%) 75 (10%) 300 30

Design2 215K (40%) 236K (22%) 170 (10%) 75 (10%) 300 30

Design3 242K (45%) 270K (25%) 255 (15%) 112 (15%) 300 33

Design4 268K (50%) 300K (28%) 340 (20%) 150 (20%) 300 36

Design5 295K (55%) 325K (30%) 425 (25%) 187 (25%) 300 39

Design6 322K (60%) 354K (33%) 510 (30%) 225 (30%) 400 42

Design7 350K (65%) 384K (36%) 595 (35%) 262 (35%) 400 45

Design8 376K (70%) 414K (38%) 680 (40%) 300 (40%) 400 48

Design9 392K (73%) 431K (40%) 765 (45%) 337 (45%) 400 51

Design10 408K (76%) 449K (42%) 850 (50%) 375 (50%) 400 54

Design11 424K (79%) 450K (43%) 900 (53%) 397 (53%) 400 55

Design12 440K (82%) 484K (45%) 950 (56%) 420 (56%) 400 56

Design13 456K (85%) 503K (47%) 1000 (59%) 442 (59%) 400 57

Page 13

(Hidden) Benchmark Statistics

Largest: 1.0M instances, 57 clocks

Page 14: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Page 14

Placer Evaluation Flow

Routing

Contest Placer

Design (bookshelf) Design (Xilinx DB)

Clock and Legality Check

Load Design

Read Placement.pl file

Routed WL

Vivado

Page 15: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Score = Routed-WL * (1 + Runtime_Factor)Runtime Factor–20% runtime -> 1% QoR–Bounded by +/- 2.5%

Failures– Routing-Failures > Legalization-Failures > Placer-Failures

Ranking per design: 1, 2, 3, …, nSum-of-the-rankings of each team

Evaluation Metrics and Ranking

Page 16: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Top-5 Team Presentation

Page 17: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

GPlace, University of Guelph, Ziad Abuowaimer NTUfplace, National Taiwan University, Yun-Chih KuoRippleFPGA, Chinese University of Hong Kong, Gengjie ChenUTPlaceF2.0, University of Texas, Austin, Wuxi LiVDAplacer, National Chiao Tung University, Chen Chen

Top-5 Teams (In Alphabetical Order)

Page 18: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

GPlace, University of Guelph, Ziad Abuowaimer NTUfplace, National Taiwan University, Yun-Chih KuoRippleFPGA, Chinese University of Hong Kong, Gengjie ChenUTPlaceF2.0, University of Texas, Austin, Wuxi LiVDAplacer, National Chiao Tung University, Chen Chen

Top-5 Teams (In Alphabetical Order)

Page 19: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

GPlace 2.0: Clock-Aware Placement Tool for

UltraScale FPGAs

Ziad Abuowaimer Shawki Areibi Anthony Vannelli Gary Grewal

University of GuelphMarch 22, 2017

Page 20: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

Site & ClockLegalization

Overlap Bbox of Clock Signals

20

Congestion Estimation

NCTU-gr 2.0

LUT inflation

Adjust Global Routing Grid

Clock-Signals Partitioning

Bbox of Center of Gravity

Clock-Loads Assignment

Clock-Loads Center of Gravity

Global Placement(Congestion-Driven)

Star+ Solver

Site & ClockLegalization

<= 24 placement.pl

YESNO

Page 21: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

Site & ClockLegalization

Overlap Bbox of Clock Signals

21

Congestion Estimation

NCTU-gr 2.0

LUT inflation

Adjust Global Routing Grid

Clock-Signals Partitioning

Bbox of Center of Gravity

Clock-Loads Assignment

Clock-Loads Center of Gravity

Global Placement(Congestion-Driven)

Star+ Solver

Site & ClockLegalization

<= 24 placement.pl

YESNO

Pin-Propagation Preplacement(Similar to GPlace 1.0)

Page 22: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

Site & ClockLegalization

Overlap Bbox of Clock Signals

22

Congestion Estimation

NCTU-gr 2.0

LUT inflation

Adjust Global Routing Grid

Clock-Signals Partitioning

Bbox of Center of Gravity

Clock-Loads Assignment

Clock-Loads Center of Gravity

Global Placement(Congestion-Driven)

Star+ Solver

Site & ClockLegalization

<= 24 placement.pl

YESNO

Page 23: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

Site & ClockLegalization

23

Analytical Placement (Star+ and Jacobi):

• ���� = ∑ ���

�∈����• ��� � = ∑ ���∈����

• �� = ��� �����

• �� = ����− ���� ��� + ∅

• ����� =

∑��

����:�∈� ���

∑ ���

��:�∈� ���

Page 24: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

FF Legalization

• Clock-Region Bipartition

• Half-Column Bipartition

• Site Bipartition

24

FF Legalization: (Objective is WL minimization)

Use Bipartition Legalization in three levels:

• First partition the FPGA into Clock Regions and recursively bipartition FFs into those clock regions.

• Second, partition each Clock-Region into half-columns and recursively bipartition FFs into those half-columns.

• Third, partition each half-columns into sites and recursively bipartition FFs into those sites.

Page 25: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

FF Legalization

• Clock-Region Bipartition

• Half-Column Bipartition

• Site Bipartition

25

Create a Recursive bi-partitioning tree data structure for the 40 Clock Regions.

Each node in the tree contains:• Site capacity.• Clock Capacity.

Page 26: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

FF Legalization

• Clock-Region Bipartition

• Half-Column Bipartition

• Site Bipartition

26

RG0

CR0 CR1

CE0 CE1 CE0

9 5 17

RG0

CS0 CS1

9 FFs

17 FFs

#Slices

#Groups #Groups

#Sub-groups

#FFs

Tree structure• Maintain Sites

and Control-Set Capacity constraints.

Tree structure• Maintain Clock

Signals Capacity Constraints

Page 27: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

FF Legalization

• Clock-Region Bipartition

• Half-Column Bipartition

• Site Bipartition

27

# Clocks &

Clocks-ids

FPGA-Clock-Region-Tree:

A tree data structure that stores • # of Clocks and• Clocks ids At each node after FF legalization Level 1.

Page 28: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

FF Legalization

• Clock-Region Bipartition

• Half-Column Bipartition

• Site Bipartition

28

Create a Recursive bi-partitioning tree data structure of the half-columns within each Clock Region. (Actually we need only 3 Trees since we have 3 different patterns).

Each node in the tree contains:• Site capacity.• Clock Capacity.

Page 29: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

FF Legalization

• Clock-Region Bipartition

• Half-Column Bipartition

• Site Bipartition

29

RG0

CS0 CS1

9 FFs

17 FFs

Tree: Clock Capacity

CR0

CE0 CE1

9 5

#Groups

#FFs

RG0

…#Sub-groups

#Slices

Tree: Site & Control-Set Capacity

Page 30: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

FF Legalization

• Clock-Region Bipartition

• Half-Column Bipartition

• Site Bipartition

30

FPGA-Half-Column-Tree:

A tree data structure that stores • # of Clocks and• Clocks ids At each node after FF legalization Level 2.

Page 31: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

FF Legalization

• Clock-Region Bipartition

• Half-Column Bipartition

• Site Bipartition

3131

CR0

CE0 CE1

9 5

#Groups

#FFs

RG0

…#Sub-groups

#Slices

Tree: Site & Control-Set CapacityCreate a Recursive bi-partitioning tree data structure of the Sites within each half-column.

Each node in the tree contains:• Site capacity.

Page 32: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

DSP Legalization

• Clock-Region Bipartition

• Half-Column Bipartition

• Site Bipartition

32

DSP Legalization: (Similar to FF legalization but without Control-Set Constraints)

Use Bipartition Legalization in three levels:

• First partition the FPGA into Clock Regions and recursively bipartition DSPs into those clock regions. (Use and update FPGA-Clock-Region-Tree).

• Second, partition each Clock-Region into half-columns and recursively bipartition DSPs into those half-columns. (Use and update FPGA-Half-Column-Tree).

• Third, partition each half-columns into sites and recursively bipartition DSPs into those sites.

Page 33: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

BRAM Legalization

• Clock-Region Bipartition

• Half-Column Bipartition

• Site Bipartition

33

BRAM Legalization: (Similar to DSP legalization)

Use Bipartition Legalization in three levels:

• First partition the FPGA into Clock Regions and recursively bipartition BRAMs into those clock regions. (Use and update FPGA-Clock-Region-Tree).

• Second, partition each Clock-Region into half-columns and recursively bipartition BRAMs into those half-columns. (Use and update FPGA-Half-Column-Tree).

• Third, partition each half-columns into sites and recursively bipartition BRAMs into those sites.

Page 34: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

Site & ClockLegalization

34

Congestion Estimation

NCTU-gr 2.0

LUT inflation

Adjust Global Routing Grid

v Adjust the Global Routing Grid Capacity.

v Run NCTU-gr 2.0 Global Router to get the congestion estimation.

v Inflate LUTs based on both # of pins and congestion value:

• ���� ��� = ������ ��� ��������(���)�����∗��� �

• Ratio is based on Congestion Value.

Page 35: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

Site & ClockLegalization

35

Congestion Estimation

NCTU-gr 2.0

LUT inflation

Adjust Global Routing Grid

Clock-Signals Partitioning

Bbox of Center of Gravity

Clock-Loads Assignment

Clock-Loads Center of Gravity

Page 36: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

36

Clock-Signals Partitioning

Bbox of Center of Gravity

Clock-Loads Assignment

Clock-Loads Center of Gravity

v Calculate the center of gravity for each Clock Signal based on the position of its Clock Loads. (Ignore The two Global Clock Signals ControlSig0 & ControlSig1)

Page 37: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

37

Clock-Signals Partitioning

Bbox of Center of Gravity

Clock-Loads Assignment

Clock-Loads Center of Gravity

v Find a bounding box that contains all center of gravity points.

Page 38: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

38

Clock-Signals Partitioning

Bbox of Center of Gravity

Clock-Loads Assignment

Clock-Loads Center of Gravity

v Assign each Clock Loads to the closest corner based on the distance of its center of gravity to that corner.• Limit each partition to have 20

different Clocks maximum.

Page 39: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

39

Clock-Signals Partitioning

Bbox of Center of Gravity

Clock-Loads Assignment

Clock-Loads Center of Gravity

v Place each partition to the corresponding FPGA corner.

v Place the inflated LUTs in the middle of the FPGA.

LUTs

Page 40: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

Site & ClockLegalization

Overlap Bbox of Clock Signals

40

(Congestion-Driven)

Congestion Estimation

NCTU-gr 2.0

LUT inflation

Adjust Global Routing Grid

Clock-Signals Partitioning

Bbox of Center of Gravity

Clock-Loads Assignment

Clock-Loads Center of Gravity

Global Placement(Congestion-Driven)

Star+ Solver

Site & ClockLegalization

<= 24 placement.pl

YESNO

Similar to Global Placement (WL-Driven) but with inflated LUTs.

Page 41: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

Site & ClockLegalization

Overlap Bbox of Clock Signals

41

Congestion Estimation

NCTU-gr 2.0

LUT inflation

Adjust Global Routing Grid

Clock-Signals Partitioning

Bbox of Center of Gravity

Clock-Loads Assignment

Clock-Loads Center of Gravity

Global Placement(Congestion-Driven)

Star+ Solver

Site & ClockLegalization

<= 24 placement.pl

YESNO

Page 42: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

Site & ClockLegalization

Overlap Bbox of Clock Signals

42

Congestion Estimation

NCTU-gr 2.0

LUT inflation

Adjust Global Routing Grid

Clock-Signals Partitioning

Bbox of Center of Gravity

Clock-Loads Assignment

Clock-Loads Center of Gravity

Global Placement(Congestion-Driven)

Star+ Solver

Site & ClockLegalization

<= 24 placement.pl

YESNO

Page 43: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement(WL-Driven)

Preplacement

Star+ Solver

Site & ClockLegalization

Overlap Bbox of Clock Signals

43

Congestion Estimation

NCTU-gr 2.0

LUT inflation

Adjust Global Routing Grid

Clock-Signals Partitioning

Bbox of Center of Gravity

Clock-Loads Assignment

Clock-Loads Center of Gravity

Global Placement(Congestion-Driven)

Star+ Solver

Site & ClockLegalization

<= 24 placement.pl

YESNO

Page 44: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

GPlace, University of Guelph, Ziad Abuowaimer NTUfplace, National Taiwan University, Yun-Chih KuoRippleFPGA, Chinese University of Hong Kong, Gengjie ChenUTPlaceF2.0, University of Texas, Austin, Wuxi LiVDAplacer, National Chiao Tung University, Chen Chen

Top-5 Teams (In Alphabetical Order)

Page 45: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

45

National Taiwan University

NTUfplaceClock-Aware FPGA Placement

Yun-Chih Kuo, Chau-Chin Huang, Shih-Chun Chen, Chun-Han Chiang, Yao-Wen Chang, and Sy-Yen Kuo

Mar. 22, 2017

Page 46: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

46

Outline

• Introduction

• Proposed Approach

• Experimental Results

• Demo

Page 47: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

47

Outline

• Introduction

• Proposed Approach

• Experimental Results

• Demo

Page 48: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

48

Analytical Placement Formulation

● Given the chip region and block dimensions, determine (x, y) for all movable blocks

● Relax the constraints into the objective function (penalty)

― Apply differentiable wirelength and density models― Use the gradient method to solve the optimization problem― Increase λ gradually to meet density constraints

bin

min W( x, y ) // wirelength function s.t. Db( x, y ) ≤ Mb

Db: density for bin bMb: max density for bin b

AblockAbin

Density =

min W( x, y ) + λΣ( max( Db( x, y ) – Mb, 0 ) )2

Page 49: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

49

Differentiable Wirelength and Density Models

● Log-sum-exp wirelength model [Naylor et al., 2001] An effective smooth and differentiable function for HPWL

approximation; this model achieves exact HPWL when γà 0

● Bell-shaped density model [Kahng et al., ICCAD’04]

�� �� + 2�� ��

��(�, �)

���� �� − �� ��

��(�, �)

��

��

��

��

��ℎ�

ℎ�

��

Page 50: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

50

Multilevel Global Placement

clustering

clustering

declustering& refinement

declustering& refinement

clustered blockchip boundary

Cluster the blocks based on connectivity/size to reduce the problem size

Iteratively decluster the clusters and further refine the placement

Initial placement

Page 51: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

51

Outline

• Introduction

• Proposed Approach

• Experimental Results

• Demo

Page 52: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

52

Clock-Aware Multilevel Global Placement

clustering

clustering

declustering& refinement

declustering& refinement

clustered blockchip boundary

Cluster blocks with clock constraint

Initial placement

Blocks within same clock domain

Page 53: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

53

Mismatch between GP and LG

● Analytical model for global placement gives continuous solutions while legalization pulls blocks to discrete and scattered legal locations

● Displacement of blocks is large

I/O block DSP CLB RAM

Page 54: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

54

Heterogeneous Cost Function

● Therefore, we can solve this with gradient method:

Cost of complex-block-alignment functionSmoothed cost

min W( x, y ) + λ1Σ( max( Db( x, y ) – Mb, 0 ) )2 + λ2 G(x)

DSP columns

Page 55: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

55

● We formulate the clocking resource constraint in clock regions as a cost in the placement stages

● Therefore, we can resolve the clocking resource constraint by moving blocks out of resource-lacking regions

Clocking Resource Constraint

Clock Region

Page 56: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

56

Outline

• Introduction

• Proposed Approach

• Experimental Results

• Demo

Page 57: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

57

Experimental Results

● We ran our program on an Intel Xeon E5-2643 CPU with 32GB memory

Design #nodes #nets Routed-WL Runtimeclk_design1 9882 9892 26751 29sclk_design2 99828 99918 350064 9m41sclk_design3 399117 399743 1728613 47m11sclk_design4 682945 684996 3403217 70m1sclk_design5 941616 947690 5203347 70m57s

Page 58: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

58

Outline

• Introduction

• Proposed Approach

• Experimental Results

• Demo

Page 59: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

59

Demo

Page 60: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

60

Thank You!

Page 61: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

GPlace, University of Guelph, Ziad Abuowaimer NTUfplace, National Taiwan University, Yun-Chih KuoRippleFPGA, Chinese University of Hong Kong, Gengjie ChenUTPlaceF2.0, University of Texas, Austin, Wuxi LiVDAplacer, National Chiao Tung University, Chen Chen

Top-5 Teams (In Alphabetical Order)

Page 62: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

CUHK - RippleFPGA

Gengjie Chen, Chak-Wa Pui, Evangeline F. Y. Young, Bei Yu

March 22, 2017

Page 63: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Outline

• Background• Our Flow• How We Handle Clock Rules

– Clock region– Half column

Page 64: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Background

• Hetergenous FPGA

I/O

CLB

RAM

DSP

Switch Box

Page 65: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Background

• Configurable Logic Block (CLB)• Basic Logic Element (BLE)

CLB

LUT 0

LUT 1

FF 0

FF 1

BLE 0

BLE 1

BLE 2

BLE 3

BLE 4

BLE 5

BLE 6

BLE 7

CK0 SR0 CE0

CK0 SR0 CE1

upper half using CK0, SR0, CE0/1

lower half using CK1, SR1, CE2/3 LUT 14

LUT 15

FF 14

FF 15

CK1 SR1 CE2

CK1 SR1 CE3

......

Page 66: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Outline

• Background• Our Flow• How We Handle Clock Rules

– Clock Region– Half Column

Page 67: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Flows in Previous Work

• Convectional flow (pack-place)• Packing based on physical information (place-pack-

place): Un/DoPack [ICCAD’06], HDPack [FPL’07], UTPlaceF[ICCAD’16], GPlace-pack [ICCAD’16]

• Flat placement followed by legalization (place-pack): GPlace-flat [ICCAD’16]

placement

pack

ing

LUT/FF

BLE

CLB

flat netlist

placed design

pack-place plac

e-pa

ck-p

lace place-pack

Page 68: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Our Flowplacement

pack

ing

LUT/FF

BLE

CLB

flat netlist

placed design

①②

③④

flat GP soft BLE packing BLE GP

CLB physical packing (LG) two-level DP slot assignment

in CLB

flat netlist

placed design

① ② ③

④⑤ ⑤

Page 69: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Our flow• Features

– Stair-step flow which interleaves packing and placement

– Implicit CLB packing similar to ASIC LG (Tetris)• Strengths

– Feedback quickly• Iteratively improve other metrics (congestion, timing, power

etc)– Approximate analytical GP directly

• Smoothly control packing density• Easily embed other metrics• Easily consider some constraints (e.g., clock rules)

Page 70: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Outline

• Background• Our Flow• How We Handle Clock Rules

– Clock region– Half column

Page 71: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Rules

• Clock region– ~32x60 sites => global– A clock occupies a clock region if its bounding box

(BB) does– <= 24 clocks in each

• Half column– 2x30 sites => local– <= 12 clocks in each

Page 72: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region

• Clock region– ~32x60 sites => global– <= 24 clocks in each

• Solution– Plan clock regions– Apply it to GP, LG, DP

Page 73: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Clock bounding box (CBB): restrict the movement of cells of the same clock to a bounding box

• Shrinking: reduce overflow in clock region iteratively until no

• Expanding: reduce cell density in CBB iteratively until impossible

Page 74: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Assume– 3x3 clock regions– <= 2 clocks in each clock region– 4 clocks

The CBB of a clock

1 1

1 1

Page 75: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Assume– 3x3 clock regions– <= 2 clocks in each clock region– 4 clocks

1 2

1 2

1

1

Page 76: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Assume– 3x3 clock regions– <= 2 clocks in each clock region– 4 clocks

1 2

2 3

1

1

1 1

Page 77: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Assume– 3x3 clock regions– <= 2 clocks in each clock region– 4 clocks

1 2

2 4

1

2

1 2 1

Page 78: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Assume– 3x3 clock regions– <= 2 clocks in each clock region– 4 clocks

Overflow: #clk = 4 > 2

1 2

2 4

1

2

1 2 1

Page 79: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Shrinking: reduce overflow in clock region iteratively until no– For clock region with max overflow– Calculate total cell displacement when shrinking – Select CBB & direction with min displacement and

do

Page 80: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Shrinking: reduce overflow in clock region iteratively until no

1 2

2 4

1

2

1 2 1

Page 81: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Shrinking: reduce overflow in clock region iteratively until no

1 1

2 3

1

2

1 2 1

Page 82: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Shrinking: reduce overflow in clock region iteratively until no

It’s legal now!

1 1

2 2

1

1

1 2 1

Page 83: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Expanding: reduce cell density in CBB iteratively until impossible– For unmarked CBB with max cell density– Try expanding, mark if cannot

Page 84: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Expanding: reduce cell density in CBB iteratively until impossible

1 1

2 2

1

1

1 2 1

Page 85: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Expanding: reduce cell density in CBB iteratively until impossible

2 2

2 2

1

1

1 2 1

Page 86: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Expanding: reduce cell density in CBB iteratively until impossible

2 2

2 2

2

2

1 2 1

Page 87: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Expanding: reduce cell density in CBB iteratively until impossible

2 2

2 2

2

2

1 2 2

Page 88: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Planning

• Expanding: reduce cell density in CBB iteratively until impossible

It’s exhausted now!

2 2

2 2

2

2

2 2 2

Page 89: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region

• Plan clock region• Apply it to GP, LG, DP

– GP: add box constraints (not implemented)– LG/DP: only consider sites within CBB

Page 90: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Half Column

• Half column– 2x30 sites => local– <= 12 clocks in each

• Solution– Resolve overflow after normal LG– Forbid movement causing overflow in DP

Page 91: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Half Column

• Resolve overflow after normal LG– For a half column with overflow– Select the clock with fewest cells– Move cells to neighboring overflow-free half

columns with min displacement

Page 92: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Half Column

• Resolve overflow after normal LG

14

10

12

12

11

10

11

10

12

11

10

10

Page 93: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Half Column

• Resolve overflow after normal LG

13

11

12

12

11

10

11

10

12

11

10

10

Page 94: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Half Column

• Resolve overflow after normal LG

12

11

12

12

11

10

12

10

12

11

10

10

It’s legal now!

Page 95: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Summary

• Background• Our Flow• How We Handle Clock Rules

– Clock region• Plan clock region• Apply it to GP, LG, DP

– Half column• Resolve overflow after normal LG• Forbid movement causing overflow in DP

Page 96: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

GPlace, University of Guelph, Ziad Abuowaimer NTUfplace, National Taiwan University, Yun-Chih KuoRippleFPGA, Chinese University of Hong Kong, Gengjie ChenUTPlaceF2.0, University of Texas, Austin, Wuxi LiVDAplacer, National Chiao Tung University, Chen Chen

Top-5 Teams (In Alphabetical Order)

Page 97: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

UTPlaceF 2.0ISPD 2017 Clock-Aware FPGA

Placement Contest

Wuxi Li, David Z. PanECE Department, University of Texas at Austin

97

UT DA

Page 98: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Team Introduction

t Wuxi Lit Ph.D. studentt UT-Austin

98

t David Z. Pant Professort UT-Austin

UT Design Automation Lab http://www.cerc.utexas.edu/utda

Page 99: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Outline

t Original UTPlaceF Flowt Clock Constraints

› Clock Region Constraint› Half Column Constraint

t Clock Region Assignmentt UTPlaceF 2.0 Flow

99

Page 100: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Original UTPlaceF Flow

100

Cell Inflation

Converged?No

Yes

Legalize DSP, RAM, I/O

Netlist

Quadratic Programming+

Rough Legalization

Almost Converged?YesNo

FIP Done

Quadratic Programming+

Rough Legalization

Circuit

Packing

Global Placement

Legalization

Detailed Placement

Done

Flat Initial Placement

Wirelength-drivenPhase

Routability-drivenPhase

Page 101: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Constraint

101

t The FPGA is divided into 5 by 8 clock regionst Clock demand of each clock region ≤ 24

Page 102: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Half Column Constraint

102

t Each clock region is divided into half column regionst Clock demand of each half column region ≤ 12

Page 103: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock Region Assignment Problem

103

t Inputs› A rough legalized placement

t Outputs› Cells to clock region assignment with minimized total cell

movement› Capacity constraint is satisfied for each clock region› Clock demand ≤ 24 for each clock region

Page 104: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Problem Transformation

104

Page 105: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Algorithm Overview

105

Page 106: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Min-Cost-Max-Flow Based Assignment

106

Page 107: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

UTPlaceF 2.0 Flow

107

Cell Inflation

Converged?No

Yes

Legalize DSP, RAM, I/O

Netlist

Quadratic Programming+

Rough Legalization

Almost Converged?YesNo

FIP Done

Quadratic Programming+

Clock Region Assign.+

Rough Legalization

Circuit

Clock-Aware Packing

Clock Region Assign.+

Global Placement

Clock Region Assign.+

Half Column Assign.+

Legalization

Clock-AwareDetailed Placement

Done

Flat Initial Placement

Wirelength-drivenPhase

Routability & Clock DrivenPhase

Page 108: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

108

Thanks!

Page 109: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

GPlace, University of Guelph, Ziad Abuowaimer NTUfplace, National Taiwan University, Yun-Chih KuoRippleFPGA, Chinese University of Hong Kong, Gengjie ChenUTPlaceF2.0, University of Texas, Austin, Wuxi LiVDAplacer, National Chiao Tung University, Chen Chen

Top-5 Teams (In Alphabetical Order)

Page 110: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

VDAplacerISPD 2017 Contest

Clock-Aware FPGA Placement

Presenter: Chen ChenAdvisor: Prof. Hung-Ming Chen

Dept. of Electronic Engineering, National Chiao Tung University

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 110

Page 111: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Outline

• Problem Formulation• FPGA Packing Problem• Clock-Aware Heterogeneous Placement

• Proposed Algorithm• Dynamic Packing with physical information• Global Placement• Placement Migration• Legalization and Detailed Placement

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 111

Page 112: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Outline

• Problem Formulation• FPGA Packing Problem• Clock-Aware Heterogeneous Placement

• Proposed Algorithm• Dynamic Packing with physical information• Global Placement• Placement Migration• Legalization and Detailed Placement

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 112

Page 113: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

FPGA Packing Problem• The FPGA packing problem is to cluster LUTs

and FFs into groups to minimize the total number of blocks and block interconnectionswhile satisfying the limitations of the FF controlling signals and the fracturable LUT constraints.

• A configurable logic block (CLB) contains 8 fracturable LUTs, 16 FFs, 2 clock inputs (CLK), 2 set/reset inputs (SR),4 clock enables (CE).

• The CEs are independent for { FF0, FF2, FF4, FF6 }, { FF1, FF3, FF5, FF7 } , { FF8, FF10, FF12, FF14 } , { FF9, FF11, FF13, FF15 } .

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 113

A Configurable Logic Block (CLB)

Page 114: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

FPGA Packing Problem• A fracturbale LUT has three modes of operation:

n As single K-input LUT (K from 1 to 6)n As two 5-input (or fewer input) LUTs with separate outputs but common inputsn As two 3-input (or fewer input) LUTs irrespective of common inputs

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 114

LUT

LUT

LUT

LUT

1 to 6 1 to 5 1 to 3

LUT

LUT1 to 3

Mode (1) Mode (2) Mode (3)

Page 115: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock-Aware Heterogeneous Placement

The FPGA placement problem:Given a heterogeneous FPGA and circuit, we are to determine the desired position for each movable block to minimize the routed wirelength such that each block is in specified regions without overlapping among the blocks.

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 115

Page 116: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Clock-Aware Heterogeneous Placement

• Clock-Aware Placement Constraints• Number of global clocks in each clock region is at most 24 clocks.• Within each clock region, each half column has at most 12 clocks.• Each clock should be constrained to a continuous rectangular area.

5x8 Clock Regions

(14~18)x2 Half Columns

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 116

Page 117: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Outline

• Problem Formulation• FPGA Packing Problem• Clock-Aware Heterogeneous Placement

• Proposed Algorithm• Dynamic Packing with physical information• Global Placement• Placement Migration• Legalization and Detailed Placement

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 117

Page 118: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Dynamic Packing with physical information• Apply POLAR[1] framework

• Increase the force of anchor net in initial placement stage and decrease in dynamic packing stage.

• Packing Factor:• # of Clocks• # of Control

Sets(C/R/CE)• Distance• # of Common Nets

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 118

Obtain upper bound HPWL placement using Look Ahead

Legalization (LAL)

Initial Placement

Legalized locations serve as pseudo anchors and add anchors to quadratic objective function

Upper Bound & Lower Bound

Converge ?

NO

YES

Solve quadratic objective function using B2B model and obtain lower bound HPWL placement using CG

Dynamic Packing

x5

no more good packing?

NO

YES Global Placement

[1]: T. Lin, C. Chu, J. R. Shinnerl, I. Bustany, and I. Nedelchev. POLAR: Placement based on novel rough legalization and renement. ICCAD '13, 2013

Density-Aware Global MoveDensity-Aware Global Move

Obtain upper bound HPWL placement using Look Ahead

Legalization (LAL)

Solve quadratic objective function using B2B model and obtain lower bound HPWL placement using CG

Legalized locations serve as pseudo anchors and add anchors to quadratic objective function

Packing

Page 119: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement• HPWL-Driven Global Placement

• B2B wirelength model• Lower bound placement from solving quadratic

objective function• Upper bound placement from look-ahead-

legalization• Density-Aware Global Move

• Move to optimal region with consideration of• Density• Wirelength

• Move to clock valid location (after clock selection)

• Clock Selection1. Select a initial Clock Region for each clock2. Expand each clock’s area gradually in

consideration of amount of uncovered nodes3. Unpack CLBs that cannot find any valid location

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 119

Placement Migration

Obtain upper bound HPWL placement using Look Ahead Legalization (LAL)

Global Placement

Legalized locations serve as pseudo anchors and add anchors to quadratic objective

function

Upper Bound & Lower Bound

Converge ?

NO

YES

Solve quadratic objective function using B2B model and obtain lower bound HPWL

placement using CG

Lower density around fixed nodes

Density-Aware Global Move

Routing congestion estimation

Congestion-driven packing(near converge)

Page 120: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Global Placement• Routing Congestion Estimation

• Apply NCTUgr for estimation

• Congestion-driven Packing• Apply further packing for overlapped but routing

congestion-free area• Apply unpacking for routing congested area

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 120

Placement Migration

Obtain upper bound HPWL placement using Look Ahead Legalization (LAL)

Global Placement

Legalized locations serve as pseudo anchors and add anchors to quadratic objective

function

Upper Bound & Lower Bound

Converge ?

NO

YES

Solve quadratic objective function using B2B model and obtain lower bound HPWL

placement using CG

Lower density around fixed nodes

Density-Aware Global Move

Routing congestion estimation

Congestion-driven packing(near converge)

Page 121: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Placement Migration• For closing the gap between global placement and legalization :

• Modify the three forces balance system from Kraftwerk2 [2]

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 121

[2]: P. Spindler, U. Schlichtmann, and F. M. Johannes. Kraftwerk2: A fast force-directed quadratic placement approach using an accurate net model. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 27(8):1398–1411, Aug. 2008.

the cell’s surface model obtained by Gaussian Blurring

n Hold force : preserve the integrity of the original placement result

n Net force : model the wirelength of thenetlist

n Move force : perturb the placement and smooth the transition from global placement to legalization

Placement Migration

Legalization & Detailed Placement

Obtain move force by calculating cell density gradient

Density Overflow ?

NO

YES

Obtain target step size for each cell

Page 122: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Legalization and Detailed Placement (1/2)• Minimize displacement in legalization

1. Apply bipartite matching to each clock region for legalization

2. Select Clocks for every half column

3. Apply another bipartite matching to fit half column constraints.

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 122

Legalization & Detailed Placement

Legalization using bipartite matching

Wirelength-driven detailed placement

Placement Result

Page 123: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Legalization and Detailed Placement (2/2)• Detailed Placement

n Perform the Global Swap [3] to reduce the wirelength

n Identify a good swap pair or a space for each cell

n After swapping the cell would be in the position that gives the best wirelength while all other cells are treated as fixed

[3]: M. Pan, N. Viswanathan, and C. Chu. An efficient and effective detailed placement algorithm. In IEEE/ACM International Conference on Computer-Aided Design, pages 48–55, Nov 2005.

Legalization & Detailed Placement

Legalization using bipartite matching

Wirelength-driven detailed placement

Placement Result

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 123

Page 124: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Thank you !

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 124

Page 125: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Benchmarking Results

Page 126: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Top-5 Results: Place/Route Completion

Designs Placer-A Placer-B Placer-C Placer-D Placer-ECLK-FPGA01 PASS PASS PASS PASS FAILCLK-FPGA02 PASS PASS PASS PASS PASSCLK-FPGA03 PASS PASS PASS PASS FAILCLK-FPGA04 PASS PASS PASS PASS FAILCLK-FPGA05 PASS PASS PASS PASS FAILCLK-FPGA06 PASS PASS PASS PASS FAILCLK-FPGA07 PASS PASS PASS PASS PASSCLK-FPGA08 PASS PASS PASS PASS PASSCLK-FPGA09 PASS PASS PASS PASS PASSCLK-FPGA10 PASS PASS PASS PASS FAILCLK-FPGA11 PASS PASS PASS PASS FAILCLK-FPGA12 PASS PASS PASS PASS PASSCLK-FPGA13 PASS PASS PASS PASS PASS

Page 127: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Top-4 Placers: Total Routed WirelengthDesigns Placer-A Placer-B Placer-C Placer-DCLK-FPGA01 2208170 2209328 2268532 3306994CLK-FPGA02 2279171 2273729 2504444 3770199CLK-FPGA03 5353071 6229292 5803110 6894281CLK-FPGA04 3697950 3817377 4085670 5246166CLK-FPGA05 4692356 4995177 5180916 6524981CLK-FPGA06 5588507 5605573 6216898 7429218CLK-FPGA07 2444837 2504544 2676088 3630159CLK-FPGA08 1885632 1989632 2057117 2998802CLK-FPGA09 2596654 2583442 2813538 3874424CLK-FPGA10 4464341 4770168 4839765 6404879CLK-FPGA11 4184233 4207699 4777177 5867143CLK-FPGA12 3368698 3376930 3739517 4978122CLK-FPGA13 3847832 3920965 4320345 5718661

Page 128: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Total Routed Wirelength (Normalized)Designs Placer-A Placer-B Placer-C Placer-DCLK-FPGA01 1.000 1.001 1.027 1.498CLK-FPGA02 1.000 0.998 1.099 1.654CLK-FPGA03 1.000 1.164 1.084 1.288CLK-FPGA04 1.000 1.032 1.105 1.419CLK-FPGA05 1.000 1.065 1.104 1.391CLK-FPGA06 1.000 1.003 1.112 1.329CLK-FPGA07 1.000 1.024 1.095 1.485CLK-FPGA08 1.000 1.055 1.091 1.590CLK-FPGA09 1.000 0.995 1.084 1.492CLK-FPGA10 1.000 1.069 1.084 1.435CLK-FPGA11 1.000 1.006 1.142 1.402CLK-FPGA12 1.000 1.002 1.110 1.478CLK-FPGA13 1.000 1.019 1.123 1.486Average 1.000 1.033 1.097 1.457

Page 129: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Placer Runtime (seconds)Designs Fastest 2nd 3rd 4thCLK-FPGA01 354 532 3023 3376CLK-FPGA02 333 513 3153 2678CLK-FPGA03 666 1039 4066 8616CLK-FPGA04 464 711 3077 3077CLK-FPGA05 680 939 3631 7623CLK-FPGA06 695 1066 3836 6537CLK-FPGA07 410 845 3953 3741CLK-FPGA08 277 529 4395 2461CLK-FPGA09 414 842 5428 4168CLK-FPGA10 516 974 3305 5755CLK-FPGA11 548 1068 4341 4277CLK-FPGA12 413 774 4949 3799CLK-FPGA13 548 1172 3748 6140

Less than 10 mins for the largest design!

Page 130: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Placer Runtime (Normalized)

Designs Fastest 2nd-fastest 3rd-fastest 4th-fastestCLK-FPGA01 1.0 1.5 8.5 9.5CLK-FPGA02 1.0 1.5 9.5 8.0CLK-FPGA03 1.0 1.6 6.1 12.9CLK-FPGA04 1.0 1.5 6.6 6.6CLK-FPGA05 1.0 1.4 5.3 11.2CLK-FPGA06 1.0 1.5 5.5 9.4CLK-FPGA07 1.0 2.1 9.6 9.1CLK-FPGA08 1.0 1.9 15.9 8.9CLK-FPGA09 1.0 2.0 13.1 10.1CLK-FPGA10 1.0 1.9 6.4 11.2CLK-FPGA11 1.0 1.9 7.9 7.8CLK-FPGA12 1.0 1.9 12.0 9.2CLK-FPGA13 1.0 2.1 6.8 11.2Average 1.0 1.8 8.7 9.6

Page 131: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Final Results with Runtime FactorDesigns Placer-A Placer-B Placer-CCLK-FPGA01 1.000 1.028 1.052CLK-FPGA02 1.000 1.031 1.099CLK-FPGA03 1.000 1.220 1.084CLK-FPGA04 1.000 1.085 1.105CLK-FPGA05 1.000 1.097 1.127CLK-FPGA06 1.000 1.047 1.113CLK-FPGA07 1.000 1.032 1.071CLK-FPGA08 1.000 1.105 1.087CLK-FPGA09 1.000 1.031 1.068CLK-FPGA10 1.000 1.115 1.080CLK-FPGA11 1.000 1.042 1.139CLK-FPGA12 1.000 1.041 1.102CLK-FPGA13 1.000 1.045 1.107Average 1.000 1.071 1.095

Page 132: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Award Ceremony

Page 133: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Fifth Place goes to …

Page 134: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

GPlace 2.0: Clock-Aware Placement Tool for

UltraScale FPGAs

Ziad Abuowaimer Shawki Areibi Anthony Vannelli Gary Grewal

University of GuelphMarch 22, 2017

5

Page 135: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Fourth Place goes to …

Page 136: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

VDAplacerISPD 2017 Contest

Clock-Aware FPGA Placement

Presenter: Chen ChenAdvisor: Prof. Hung-Ming Chen

Dept. of Electronic Engineering, National Chiao Tung University

2017/3/22 Department of Electronics Engineering, National Chiao Tung University VLSI Design Automation LAB 136

4

Page 137: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Third Place goes to …

Page 138: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

CUHK - RippleFPGA

Gengjie Chen, Chak-Wa Pui, Evangeline F. Y. Young, Bei Yu

March 22, 2017

3Fastest Placer

Page 139: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Second Place goes to …

Page 140: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

140

National Taiwan University

NTUfplaceClock-Aware FPGA Placement

Yun-Chih Kuo, Chau-Chin Huang, Shih-Chun Chen, Chun-Han Chiang, Yao-Wen Chang, and Sy-Yen Kuo

Mar. 22, 2017

2

Page 141: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

First Place goes to …

Page 142: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

UTPlaceF 2.0ISPD 2017 Clock-Aware FPGA

Placement Contest

Wuxi Li, David Z. PanECE Department, University of Texas at Austin

142

UT DA 1Two years in a row!

Page 143: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Final Results with Runtime FactorDesigns UTPlaceF2.0 NTUfplace RippleFPGACLK-FPGA01 1.000 1.028 1.052CLK-FPGA02 1.000 1.031 1.099CLK-FPGA03 1.000 1.220 1.084CLK-FPGA04 1.000 1.085 1.105CLK-FPGA05 1.000 1.097 1.127CLK-FPGA06 1.000 1.047 1.113CLK-FPGA07 1.000 1.032 1.071CLK-FPGA08 1.000 1.105 1.087CLK-FPGA09 1.000 1.031 1.068CLK-FPGA10 1.000 1.115 1.080CLK-FPGA11 1.000 1.042 1.139CLK-FPGA12 1.000 1.041 1.102CLK-FPGA13 1.000 1.045 1.107Average 1.000 1.071 1.095

Page 144: ISPD 2017 Contest Clock-Aware FPGA PlacementJan 15, 2017: Registration deadline Feb 3, 2017: Evaluation flow ready Feb 15, 2017: Alpha submission Mar 9, 2017: Final submission Mar

Congratulations!