Professional Documents
Culture Documents
PDSeasonableSchool ML4PD
PDSeasonableSchool ML4PD
1
Outline
Part I: Introduction to Machine Learning
• What is Machine Learning
• Taxonomy of Machine Learning
• Machine Learning Techniques
Part II: Machine Learning for Physical Design
• Motivations
• Opportunities
• Challenges and Future Directions
2
A Bit History
Courtesy Nvidia3
Enormous Opportunities for
Machine Learning
Automotive Appliances
Healthcare
Entertainment 4
Enormous Opportunities for
Machine Learning
Automotive Appliances
Healthcare
Trash Classification Entertainment 5
Machine Learning ≈ Looking for a
Function
Speech recognition Playing Go
𝑓 𝑓
𝑓 𝑓 “𝐻𝑖”
(What the user said)
= “𝐶𝑎𝑡” = “𝐻𝑒𝑙𝑙𝑜”
(system response)
6
Machine Learning Framework
TRAINING
“dog”
𝑓6
𝑓4 Evaluate
𝑓3 𝑓7 goodness of Data “cat”
𝑓5 𝑓8
functions
“dog”
A set of functions
“cat” Using 𝑓 ∗
7
Taxonomy of Machine Learning
Unsupervised Supervised Semi-supervised
Learning Learning Learning
Scenarios
8
Based on [Boning@MIT2019]
Taxonomy of Machine Learning
Unsupervised Supervised Semi-supervised
Learning Learning Learning
• Clustering K-means
• Dimensionality PCA
reduction
• Kernel methods
• Density
estimation
9
Taxonomy of Machine Learning
Unsupervised Supervised Semi-supervised
Learning Learning Learning
• Sampling
• Search and
optimization
• Active learning
• Reinforcement
learning
• Online learning
• Transfer learning
• Adversarial
learning
10
Taxonomy of Machine Learning
Unsupervised Supervised Semi-supervised
Learning Learning Learning
• Sampling
Genetic Algorithm • Search and
Bayesian Optimization optimization
• Active learning
• Reinforcement
learning
• Online learning
• Transfer learning
• Adversarial
learning
11
Taxonomy of Machine Learning
Unsupervised Supervised Semi-supervised
Learning Learning Learning
• Sampling
• Search and
optimization
• Active learning
• Reinforcement
learning
• Online learning
• Transfer learning
• Adversarial
learning
12
Taxonomy of Machine Learning
Unsupervised Supervised Semi-supervised
Learning Learning Learning
• Sampling
• Search and
optimization
• Active learning
• Reinforcement
learning
• Online learning
• Transfer learning
• Adversarial
learning
13
Taxonomy of Machine Learning
Unsupervised Supervised Semi-supervised
Learning Learning Learning
• Sampling
• Search and
optimization
• Active learning
• Reinforcement
learning
• Online learning
• Transfer learning
• Adversarial
learning
14
Taxonomy of Machine Learning
Unsupervised Supervised Semi-supervised
Learning Learning Learning
• Classification
Logistic
• Regression
SVM OLS, MARS, PCR, ridge…
(parametric)
• Instance-based
Gaussian process (nonparametric)
Trees, random forest • Dimensionality Latent variable
reduction Sparse coding
• Generative Matrix completion
Bayesian (density
MCMC estimation) Deep
• Discriminative NN Convolutional
recurrent
15
Taxonomy of Machine Learning
Unsupervised Supervised Semi-supervised
Learning Learning Learning
• Classification
Logistic
• Regression
SVM OLS, MARS, PCR, ridge…
(parametric)
• Instance-based
Gaussian process (nonparametric)
Trees, random forest • Dimensionality Latent variable
reduction Sparse coding
• Generative Matrix completion
Bayesian (density
MCMC estimation) Deep
• Discriminative NN Convolutional
Parametric methods Nonparametric methods
model complexity fixed (does not depend on recurrent
model complexity depends on
number of training samples; may depend on training samples
hyperparameters and/or regularization)
16
Taxonomy of Machine Learning
Unsupervised Supervised Semi-supervised
Learning Learning Learning
• Classification
Logistic
• Regression
SVM OLS, MARS, PCR, ridge…
(parametric)
Generative adversarial
• Instance-based
combines generative and discriminative
Gaussian process learners, e.g., GAN
(nonparametric)
Trees, random forest • Dimensionality Latent variable
reduction Sparse coding
• Generative Matrix completion
Bayesian (density
MCMC estimation) Deep
• Discriminative NN Convolutional
recurrent
Generative methods Discriminative methods
learn 𝑝 𝑥, 𝑦 and/or 𝑝 𝑥 𝑦 to reason learn 𝑝 𝑦 𝑥
about 𝑝 𝑦 𝑥 relationships directly
17
Before Going too Technical…
18
New Job Opportunities: AI Trainer
Based on [Lee@NTU2017] 19
To be Serious, Tasks for AI Trainer
• Proper model
• Define the set of functions
• Proper loss function
• Not always easy to find the best function
• Optimality? E.g., Deep learning
• Require experienced engineers
21
Based on [Boning@MIT2019]
Linear Models
• Linear regression
• 𝑓 𝑥 = 𝑤 = 𝑥 + 𝑏 = ∑C
AB3 𝑤A 𝑥A + 𝑏
• Logistic classification
G
• 𝑃 𝑦 = 1|𝑥 =
J(∑N
LMG OL PL HQ)
GHI
22
Linear Models – Training
• Ordinary Least Squares (OLS)
• Minimizes the mean square error over the 𝑛 data points
• Direct solution is possible
n
1 X T (i)
min (w x + b y (i) )2
w,b n i=1
<latexit sha1_base64="ZqhExa1ano2bIbKiI/YLF8J2vO0=">AAAD6nicfVJNbxMxEHUaWsry0RSOXCxWlVIBUXZzgAtSBReOReqXFCeR15kkVmzvYnvbRq7/BDfEld+ExH/hgLMJapuWWFpp5o3fvPHbyQrBjW23f9c26g82tx5uP4oeP3n6bKex+/zE5KVmcMxykeuzjBoQXMGx5VbAWaGBykzAaTb9NK+fnoM2PFdHdlZAT9Kx4iPOqA3QoFGQDMZcOfhaVoiPiORq4C7e4MxjEtAhJiNNmUu8U56YUg4c/5D4fshw86J/hC/7rsn3PX6NM/wWzxbZfj/FROWWjiMCanjdf9CI2612dfDdIFkGMVqew8HuRkaGOSslKMsENaabtAvbc1RbzgSEgUsDBWVTOoZuCBWVYHqussbjvYAM8SjX4VMWV+hNhqPSmJkMb92T1E7Mam0O3lfrlnb0vue4KkoLii2ERqXANsdzn/GQa2BWzEJAmeZhVswmNBhpw9+IoogouGC5lDSYQzJNfTfpuWCVKTXM1RwRMLJEUDUWECdE8/HEXnl/mzgFez/x6h+F6KrDKjEosoqcrlPF5LyYUGVz6eLUL2fA1Z0WjtOb5cSv1QvNNb8E4bud/wviFcW4E1ZwKTpXqx6G484t3TAYXiutci0XJi2kTkDba3fmmY/CViarO3g3OElbSaeVfknjg4/L/dxGL9Er1EQJeocO0Gd0iI4RQ7/Qn9pmbasu6t/q3+s/Flc3akvOC3Tr1H/+BU2WTbc=</latexit>
• Ridge Regression
• Regularization by penalizing large weights
n
1 X T (i) 2
min ( (w x + b y (i) )2 ) + kwk
w,b n i=1
<latexit sha1_base64="ULL93Y4r1ZiP7QOZkjpu7doxaGU=">AAAEAXicfVLLbhMxFHUaHmV4tXQJSBYjpFRAlJksYINUwYZlkfqS4iTyODeJVdsz2J6mkesVC76FHWLLl/AR/AOeSVDbtPRKI917ro/P9ZmbFYIb2+n8bqw1b92+c3f9XnT/wcNHjzc2nxyYvNQM9lkucn2UUQOCK9i33Ao4KjRQmQk4zI4/Vv3DE9CG52rPzgvoSzpRfMwZtQEabnwjGUy4cvClrBEfEcnV0M1e48xjEtARbpGxpswl3ilPTCmHjr9P/CBUuDUb7OHTgWvxbY9f4Qy/wfNFtT1ItwNCRJhlRDFRuZZu5gdplVo6iQio0bnscCPutDt14KtJskxitIzd4eZaRkY5KyUoywQ1ppd0Ctt3VFvOBIR3lAYKyo7pBHohVVSC6bvaMY9fBmSEx7kOn7K4Ri8yHJXGzGWw4KWkdmpWexV4Xa9X2vG7vuOqKC0othAalwLbHFf24xHXwKyYh4QyzcOsmE1psNeGnxRFEVEwY7mUNJhDMk19L+m7YJUpNVRqjggY2+CqmgiIE6L5ZGrPvL9MPAZ7PfHsH4Xo+oZVYlBkNTm9SRWTk2JKlc2li1O/nAHXZ9o4Ti+2E3+jXrhc81MQvtf9vyBeUYy7YTOXopVa/TAcdy/phsHwjdLVQi5MWkgdgLbn7lSVj8JWJqs7eDU5SNtJt51+TuOdD8v9XEdP0QvUQgl6i3bQJ7SL9hFDfxpbjWeN582vze/NH82fi6NrjSVnC12K5q+/J9JVTg==</latexit>
Attributes Features
24
Support Vector Machine
• A learning method that uses a hypothesis space of
linear functions in a high dimensional feature
space trained with an optimization based learning
algorithm
𝑥A : feature vector
𝑦A : label, {-1, 1}
Consider 𝑦tA = 𝑤A 𝑥A − 𝑏
Objective
1 4
𝑚𝑖𝑛. 𝑤
2
Subject to
𝑤A 𝑥A − 𝑏 𝑦A ≥ 1
25
Support Vector Machine
• Extend to a high-dimensional feature space
through the (nonlinear) kernel
• Data can be linearly separable in feature space
26
Decision Trees for Classification
Partition the input space and fit very simple models
to predict the output in each partition.
• Split nodes: select the “best” feature and value to split
• “Best”: usually defined in terms of some notion of
“impurity” in the resulting partition of training data.
Typical impurity measures include misclassification
error, Gini index, or entropy
27
Probability of kyphosis after surgery [wikipedia]
Decision Trees for Classification
Partition the input space and fit very simple models
to predict the output in each partition.
• Split nodes: select the “best” feature and value to split
• “Best”: usually defined in terms of some notion of
“impurity” in the resulting partition of training data.
Typical impurity measures include misclassification
error, Gini index, or entropy
28
Probability of kyphosis after surgery [wikipedia]
K-Means Clustering
Unsupervised learning
• Only have feature 𝑥, no label 𝑦
Target: identify natural groups of data
• min ∑|
AB3 ∑}∈•L 𝑥 − 𝜇A
4
Iterative algorithm
Deep Learning for IoT Big Data and Streaming Analytics: A Survey 30
Neural Networks
• Multilayer perceptron (MLP)
𝑾𝟏 𝑾𝟐 𝑾𝟑
Neurons
31
Neural Networks
• Multilayer perceptron (MLP)
https://beamandrew.github.io/deeplearning
/2017/02/23/deep_learning_101_part1.html 33
A Bit History on Deep Learning
• “Neural networks” → “Deep learning” in 2006
• Geoffrey Hinton
• Breakthrough in 2012
• Large scale visual recognition challenge (LSVRC)
• ImageNet
https://beamandrew.github.io/
deeplearning/2017/02/23/dee
p_learning_101_part1.html 34
How to Train a Neural Network
• Objective: 𝑚𝑖𝑛. ∑A 𝐿𝑜𝑠𝑠(𝑓(𝑥A ), 𝑦A )
• Gradient descent
• Backpropagation
𝑦3 = 𝑓3 (𝑤}3,3 𝑥3 + 𝑤}4,3 𝑥4 )
𝑤}3,3 𝑓3 (𝑒)
𝑥3 𝑤}4,3 𝑓6 (𝑒)
𝑓4 (𝑒) 𝑓8 (𝑒)
𝑥4 𝑓7 (𝑒)
𝑓4 (𝑒)
Forward propagation
35
How to Train a Neural Network
• Gradient descent
• Loss function: 𝐿(𝑧)
• Backpropagation
• Chain rule
𝑥 𝑑𝐿 𝑑𝐿 𝑑𝑧
=
𝑑𝑥 𝑑𝑧 𝑑𝑥 𝑑𝐿
𝑓(𝑥, 𝑦) 𝑧 𝑑𝑓
𝑑𝑧
𝑑𝐿 𝑑𝐿 𝑑𝑧
𝑦 =
𝑑𝑦 𝑑𝑧 𝑑𝑦
36
How to Train a Neural Network
• Gradient descent
• Backpropagation
• Non-linear optimization
𝑤
37
Why Deep? Universality Theorem
• Any function 𝑓: 𝑅 C → 𝑅 T
• Can be realized by a neural network with one
hidden layer
• (given enough hidden neurons)
More reason:
https://www.youtube.com/watch?v=Xs
C9byQkUH8&list=PLJV_el3uVTsPy9oCR
Y30oBPNLCo89yu49&index=13 39
Why Deep? NOT Fat
• Ocaam’s razor: Entities should not be multiplied
without necessity
• The simplest solution is most likely the right one
• Less parameters, better generalization
• Deep + Thin v.s. Short + Fat
• Same # of parameters
• Deep networks tend to generalize better
• Require less amount of training data
#Layers x #Neurons Error Rate (%) 1 x #Neurons Error Rate (%)
5x2k 17.2 1x3772 22.5
7x2k 17.1 1x4634 22.4
Seide, Frank, Gang Li, and Dong Yu. "Conversational speech transcription using context-dependent deep
40
neural networks." Twelfth annual conference of the international speech communication association. 2011.
How Deep?
5-layers
Top-5 err.
16.4
41
More Flavors…
Convolutional Neural Networks
Convolutional layer
• Suitable to images
• Correlation with neighboring pixels
42
More Flavors…
Highway Networks
Residual Network Highway Network
copy Gate
controller copy
45
Generative Adversarial Networks
• GAN [Goodfellow et al, 2014] [Radford et al, 2015]
• Two networks contest (generator and discriminator)
• Produces images similar to those in the training data
Real samples
Is D
D
Correct?
Latent
Space G
Generated
Fake Samples 46
Noise Fine Tune Training
Generative Adversarial Networks
• GAN [Goodfellow et al, 2014] [Radford et al, 2015]
• Two networks contest (generator and discriminator)
• Produces images similar to those in the training data
min max Ex⇠pdata (x) [log D(x)] + Ez⇠pz (z) [log(1 D(G(z)))]
<latexit sha1_base64="oddVWz+SvzLAkdHsukR907ym7Rs=">AAAD3XicfVLPb9MwFHYbfozyYx0cuVhESC2IqkkPcJygaByHRLdJcRQ5rptadZxgO6OtlyM3xAmJv41/hRNOlsHajT3J0qf3vs/fe/aLc86UHg5/tdrOrdt37u7c69x/8PDRbnfv8ZHKCknohGQ8kycxVpQzQSeaaU5PcklxGnN6HC/eVfXjUyoVy8QnvcppmOJEsBkjWNtU1P2BYpowYejnos6UHZQyEZmDEqIULyMzroGex7F5X0ZmCZFiKcwjM8Ual71lv4QB4lkCxxaH8OUGe33BXvfWf4k979W4d2ATfctHItM46SAqpv96iLrucDCsA14FXgNc0MRhtNf20DQjRUqFJhwrFXjDXIcGS80Ip3aoQtEckwVOaGChwClVoamfr4TPbWYKZ5m0R2hYZy8rDE6VWqWxZVazqe1albyuFhR69iY0TOSFpoKcG80KDnUGq7+AUyYp0XxlASaS2V4hmWOJibY/1ul0kKBfSJam2D4OiiUuAy809qlUIWnlZhCnM404FgmnrockS+b6rCw3hQuqrxeeXUiQrG/YFlpHUov9m1whOs3nWOgsNa5fNj3AmjOArn+57JU3+tnLJVtSXgaj/xvCLUd3ZBe0Ma3c6sGgO9rwtY3BbWu7ZN72Sl0FR/7AGw38j767/7ZZtx3wFDwDPeCB12AffACHYAII+N2CrX7rhRM5X51vzvdzarvVaJ6AjXB+/gHYYkYW</latexit>
G D
Loss for real samples Loss for generated samples
Real samples
Is D
D
Correct?
Latent
Space G
Generated
Fake Samples 47
Noise Fine Tune Training
Generative Adversarial Networks
• GAN [Goodfellow et al, 2014] [Radford et al, 2015]
• Two networks contest (generator and discriminator)
• Produces images similar to those in the training data
DCGAN
48
Recent Development of GANs
Image-to-Image Translation
with CGAN (pix2pix) BigGAN
Conditional GANs (CGANs)
Let’s build a generic CGAN Google: “Hold my beer Nvidia,
What if I want my GAN to
architecture where the my interns can use thousands
generate data with specific
condition is an image, and of TPUs to generate
attributes
learn to translate this image cheeseburgers”
into another domain
49
Recent Development of GANs
AlphaGO
AlphaStar
51
Supervised v.s. Reinforcement
• Supervised
• Learning from teachers
• Labeled data
Next move: “5-5” Next move: “3-3”
• Reinforcement
• Learn from critics
Win!
Move 1 Move 2 …
Lose!
• AlphaGO
• Supervised learning + reinforcement learning
52
Reference and More Resources
ML courses from Hung-Yi Lee at NTU
• http://speech.ee.ntu.edu.tw/~tlkagk/courses.html
Stanford ML courses on Coursera
• https://www.coursera.org/learn/machine-learning
Tutorials on GANs
• NIPS 2016: https://arxiv.org/pdf/1701.00160.pdf
• CVPR 2018: https://sites.google.com/view/cvpr2018tutorialongans/
Toolkit tutorials
• Tensorflow: https://www.tensorflow.org/tutorials
• PyTorch: https://pytorch.org/tutorials/
53
Outline
Part I: Introduction to Machine Learning
• What is Machine Learning
• Taxonomy of Machine Learning
• Machine Learning Techniques
Part II: Machine Learning for Physical Design
• Motivations
• Opportunities
• Challenges and Future Directions
54
Modern VLSI Layouts
55
IC Design Flow – Silicon Compiler
System Specification
AND
OR
Placement
Logic Synthesis
Clock Tree Synthesis
Physical Design
DRC Signal Routing
LVS
STA Mask Synthesis
& Verification Timing Closure
Fabrication
DFM Closure
AND
OR
Logic Synthesis
Layout/Mask
Physical Design
Mask Optimization
DRC Recipe
LVS
STA Mask Synthesis
& Verification SRAF&OPC
Optimization targets
• Satisfy timing constraints?
• Satisfy power constraints?
• 100% routable?
• Wirelength minimized?
• …
[Curtesy NTU team] 58
Routing Example
A zoom-in 3D view
[curtesy samyzaf]
Challenging problem
• 10+ metal layers
• Millions of nets
• May be highly congested
• Minimize wirelength
[Curtesy Umich] 59
High Correlation between P&R
Curtesy semiwiki
60
Mask Synthesis
Design target
Mask
Wafer
61
Mask Synthesis: OPC+SRAF
[Curtesy Semiengineering]
62
Mask Verification: Lithography
Simulation
Contact Mask
Aerial Image
(Light intensity map)
Resist Pattern
63
Mask Verification: Lithography
Hotspots
Litho Difficulty
Estimator: hotspots
65
How Machine Learning Can Help
Mask Mask
Placement Routing
Synthesis Verification
66
How Machine Learning Can Help
Mask Mask
Placement Routing
Synthesis Verification
67
Placement
Mask Mask
Placement Routing
Synthesis Verification
68
VLSI Placement
Input
Gate-level netlist
Standard cell library
Output
Legal placement solution
Objective
Optimize wirelength,
routability, etc.
RePlAce
69
Nonlinear Placement Algorithm
Objective of nonlinear placement
Wirelength Density
[Courtesy Nvidia]
GPU
CPU
71
DREAMPlace Strategies
• We propose a novel analogy by casting the
nonlinear placement optimization into a neural
network training problem
[Lin+,DAC’19]
72
Best paper award
Analogy between NN Training and
Placement
CONV WL
OPs
C++/CUDA
ReLU Density
75
Experimental Results
DREAMPlace
• CPU: Intel E5-2698 v4 @2.20GHz
• GPU: 1 NVIDIA Tesla V100
• Single CPU thread was used
34x
speedup
RePlAce [TCAD’18,Cheng+]
• CPU: 24-core 3.0 GHz Intel Xeon
• 64GB memory allocated ISPD 2005 Benchmarks
200K~2M cells
10M-cell design
finishes within 5min c.f. 3h Industrial Benchmarks
1M~10M cells
76
[Lin+,DAC’19]
Bigblue4 (2M-Cell Design)
Mask Mask
Placement Routing
Synthesis Verification
78
Routing Guidance: GeniusRoute
Routing for analog circuits, e.g., comparator
• Sensitive performance to clock routing
Existing manual layouts
• Hard to encode designer expertise into rules
Unrouted Generated
routing region Routed
Placement
Layout
80
[Zhu+,ICCAD’19]
Routing Guidance: GeniusRoute
• Adopt autoencoder for routing region generation
• Compare with routing from manual layouts
81
[Zhu+,ICCAD’19]
Routing Guidance: GeniusRoute
• Test on comparators and OTAs
• Evaluate with post layout simulation
• Compare with manual layout and previous methods
82
[Zhu+,ICCAD’19]
MAGICAL (Machine Generated Analog Layout) Overview
Mask Mask
Placement Routing
Synthesis Verification
84
Optical Proximity Correction
Issue: Conventional OPC consumes very long time
Iteration : 0
Goal: High accurate correction in shorter runtime
Iteration : 5 1
Technology node
■Train ■Test
Edge Placement Error (nm)
The number of iterations of model-based OPC
[Matsunawa+, SPIE’15]
can be reduced by 2x 86
GAN for OPC
• Generative adversarial networks for OPC
• [Yang+, DAC’18]
Generated Reference
Target & Mask
Mask
0.8
…
0.2
Mask
Compared with ILT flow
EPE error: 9% reduction Discriminator
PV-band: 1% reduction Target
Mask
Overall runtime: 2x less
…
Encoder Decoder
Generator 87
SRAF Insertion
• SRAF (sub-resolution assist feature) insertion
• ML-based approach achieved similar result but 10x faster
N%1 0 1 2
sub%sampling0point
SRAF%label:%0
SRAF%label:%1
Can we do better?!
89
Image Translation with Generative
Adversarial Networks
Generative Adversarial Network (GAN) [Goodfellow+, 2014]
• Two neural networks contest (generator and discriminator)
• Produces images similar to those in the training data set
Conditional GAN (CGAN) for Image Translation [Isola+, CVPR’17]
• Takes an image in one domain and translate it to another one
90
SRAF Insertion & Image Translation
• What does SRAF generation have to do with Image
translation?!
[Alawieh+,DAC’19] 91
Challenges for SRAF Insertion
• Layout images have sharp edges which pose a
challenge to GANs
• No guaranteed to generate polygon SRAF shapes
• Sharp edges can complicate gradient propagation
• Generated images need ultimately be changed to
layout format
• Images cannot be directly mapped to ‘GDS’ format
• Post-processing step should not be time consuming
• Hence, a proper encoding is needed to address
these challenges!
92
Multi-Channel Heatmap Encoding
Key Idea: encode each type of object on a separate
channel in the image
• Channel index carries object description (type, size,...)
• Excitations on the channel carry objects location
Input
94
Results Decoding
Decoding the generated layout images in two steps
• Thresholding
• Excitation detection
SRAF
location
Isolated
pixel
95
Sample Results TCAD’17: [Xu+, ISPD’16, TCAD’17], SVM-based
MB: Model-Based Approach - Calibre
TCAD’17 GAN-SRAF MB
[Alawieh+,DAC’19] 97
Mask Verification
Mask Mask
Placement Routing
Synthesis Verification
98
Bottleneck in Semiconductor and IC
Manufacturing: Lithography
Layout Chip
• Lithographic modeling and hotspot detection
• What you see (at design) is NOT what you get (at fab)
• Hotspot è poor performance and yield
• Litho-simulations are extremely CPU intensive
• Need much faster algorithms to guide IC design, and
pinpoint possible mask/wafer inspection spots 99
Challenges in Lithography Modeling
Rigorous Simulation
100
ML for Lithography Modeling
Rigorous Simulation
conv conv
··· ···
conv conv
Finetune
fc fc
fc fc
Training Data
Training Data
4X 20X
20 % 3X 20 % 15X
2X 10X 10X 10X
0% 0%
50
75
00
25
50
50
75
00
25
50
1.
1.
2.
2.
2.
1.
1.
2.
2.
2.
Rigorous Simulation
Machine Learning
128 nm
1 µm
128 nm
1 µm
256 px
256 px
256 px
Fast Image Translation 256 px
Encoder Decoder
110
Experimental Results
Setup
• Python w/ TensorFlow
• 3.3GHz Intel i9 CPU & Nvidia TITAN Xp GPU
Datasets
• Different types of contact arrays [Lin+, TCAD’18]
• 982 mask clips at 10nm node (N10)
• 979 mask clips at 7nm node (N7)
• 75-25 rule for train/test split
Union
Predicted contour
EDE
Intersection
Golden contour
Accuracy measures
Edge Displacement Error (EDE)
• Distance between the golden edge and
the predicted one of the bounding boxes
• The smaller, the better
• Captures bounding box mismatch
113
PM & ML for Hotspot Detection
2 3
C11,k C12,k C13,k ... C1n,k
6 C21,k C22,k C23,k ... C2n,k 7
6 7
6 .. .. .. .. .. 7
DCT Encoding 4 . . . . . 5
Division Cn1,k Cn2,k Cn3,k ... Cnn,k
( 2
C11,1 C12,1 C13,1 ... C1n,1
3
6 C21,1 C22,1 C23,1 ... C2n,1 7
6 7
6 .. .. .. .. .. 7
k 4 . . . . . 5
Cn1,1 Cn2,1 Cn3,1 ... Cnn,1
Conv/3x3x32
Conv/3x3x32
MaxPool/2x2
contrastive
Pairwise
Softmax
FC/250
ẑi
FC/2
loss
<latexit sha1_base64="fhPGlcXL9sf7gj/VeINouEhou9c=">AAADUnicfZLPbtQwEMa9CX9KKNDCkYtFisRplWQP7bFSLxyLxLaV4mjleCcbax0nsp3CNs1jcIWX4sKrcMJJU6mblo5k6dPMfP6NrUkrwbUJgj8Tx33y9NnznRfey91Xr9/s7b8902WtGMxZKUp1kVINgkuYG24EXFQKaJEKOE/XJ139/BKU5qX8ajYVJAVdSZ5xRo1NxQckp6a5ahf8YLHnB9OgD3xfhIPw0RCni30nJMuS1QVIwwTVOg6DyiQNVYYzAa1Hag0VZWu6gthKSQvQSdPP3OKPNrPEWanskQb32buOhhZab4rUdhbU5Hpc65IP1eLaZEdJw2VVG5DsBpTVApsSdx+Al1wBM2JjBWWK21kxy6mizNhv8jyPSPjGyqKgctmQVNE2DpOGgNS1go7WEAGZIYLKlQA/JIqvcnPdttvGNZiHjde3FqL6G8ZGS2S9OXqMislllVNpyqLxo3aYAfc9U+xHd8th+yjPXq74dxBtPPs/EI+I/qzFt9CO1j8M+7Mtrh0Mj9F2ycLxSt0XZ9E0DKbhl8g/PhrWbQe9Rx/QJxSiQ3SMPqNTNEcMlegH+ol+Ob+dv+7EdW9ancngeYe2wt39B+h5FM8=</latexit>
Conv/3x3x16
Conv/3x3x16
MaxPool/2x2
Input
cross entropy
Conv/3x3x32
Conv/3x3x32
MaxPool/2x2
Weighted
Softmax
FC/250
ŷi
FC/2
<latexit sha1_base64="VgNKHd8VlvHhnm6RpYKQiz9yt04=">AAADUnicfZLPbtQwEMa9G/6UUKCFIxeLFInTKske6LESF45FYttKcbRyvJONtbYT2U5hleYxuMJLceFVOOGkqdRNS0ey9GlmPv/G1mSV4MaG4Z/J1Hv0+MnTvWf+8/0XL18dHL4+M2WtGSxYKUp9kVEDgitYWG4FXFQaqMwEnGebT139/BK04aX6arcVpJKuFc85o9alkiNSUNts2yU/Wh4E4SzsA98V0SACNMTp8nAakVXJagnKMkGNSaKwsmlDteVMQOuT2kBF2YauIXFSUQkmbfqZW/zeZVY4L7U7yuI+e9vRUGnMVmauU1JbmHGtS95XS2qbH6cNV1VtQbFrUF4LbEvcfQBecQ3Miq0TlGnuZsWsoJoy677J932i4BsrpaRq1ZBM0zaJ0oaAMrWGjtYQAbklgqq1gCAimq8Le9W2u8YN2PuNVzcWovsbxkZHZL05foiKyWVVUGVL2QRxO8yA+54ZDuLb5ah9kOcu1/w7iDaZ/x+IR8Rg3uIbaEfrH4aD+Q7XDYbHaLdk0Xil7oqzeBaFs+hLHJwcD+u2h96id+gDitBHdII+o1O0QAyV6Af6iX5Nf0//ehPPu26dTgbPG7QT3v4/5ZEUzg==</latexit>
Classification Task
116
Preliminary Results [Chen+, ASPDAC’19]
Better accuracy with small amount of training data
DAC SSL
117
Recent Progress: Model Confidence
Examine confidence of model predictions
• [Ye+, DATE’19]
• Gaussian Process provides confidence level
• Active learning: build accurate GP model with little data
• Use GP model: simulate unconfident samples
Clip pool
Sample1
Probability
Layout 2 Layout 3
200 99.4
# False Alarms
# False Alarms
100.0 2,800
Accuracy (%)
Accuracy (%)
150 99.2
99.8 2,600
99.0 2,400
100
99.6 98.8 2,200
50 98.6
99.4 2,000
#Simulations (%)
#Simulations (%)
60 30
40
20
20
10
0
0.382 0.682 0.866 0.382 0.682 0.866
↵ ↵ 119
How Machine Learning Can Help
Mask Mask
Placement Routing
Synthesis Verification
120
Bridge Placement and Routing
Mask Mask
Placement Routing
Synthesis Verification
121
Predicting Routing Congestion
Given placement, predict
• Routing utilization map [Yu+,DAC’19] for FPGA
• DRC hotspots [Chan+,ISPD’17] [Xie+,ICCAD’18] for ASIC
122
Predicting Routing Congestion
Given placement, predict
• Routing utilization map [Yu+,DAC’19] for FPGA
• DRC hotspots [Chan+,ISPD’17] [Xie+,ICCAD’18] for ASIC
[Chan+,ISPD’17]
123
Challenges in Predicting Congestion
Feature representation
• How to encode interconnect information
• Scalability of features
Model selection
• SVM, ANN, FCN, GAN, etc.
Placement
Iterations
Congestion
Cell Inflation
Prediction
126
Bridge Design and Manufacturing
Mask Mask
Placement Routing
Synthesis Verification
127
Lithography-Friendly Detailed Router:
AENEID
• Motivation: avoid RET dependent layout
printability
[Ding+,DAC’11]
128
Lithography-Friendly Detailed Router:
AENEID
• Objective: minimize total wirelength
• Subject to: keep lithography cost on each routing
grid within a threshold
X Lagrangian X
min 1, relaxation max min 1+ e (litho(e) L),
P P
e2P e2P
<latexit sha1_base64="b7ACplMU47wZl0Fx3bA3ft8BlRE=">AAAD63icfVJNb9NAELUTPoL5SuHIZYQFKlJlxc6hPVZw4cAhSKStlI2i9WaSrLK7Nrvr0sj1r+CGOCHxo/g3bFwTNWnpSpbevpk3bzw7aS64sb3eH7/Vvnf/wcPOo+Dxk6fPnnf3XpyYrNAMhywTmT5LqUHBFQ4ttwLPco1UpgJP0+WHdfz0HLXhmfpiVzmOJZ0rPuOMWkdNur9IinOuSvxa1EwVNIRx7tbdJFeTARAXnsJbIKaQkxKBcAWDCuIDAEICYvHCalmayEbVJtfpF9k+vgMiED4dNDyZZZoKAU0NICqzdA4BQTXdmK7xpqNJN+xFvfrATRA3IPSaM5jstWIyzVghUVkmqDGjuJfbcUm15Uygq18YzClb0jmOHFRUohmX9TAreOOYKbgu3acs1Ox1RUmlMSuZukxJ7cLsxtbkbbFRYWdH45KrvLCo2JXRrBBgM1i/DEy5RmbFygHKNHe9AltQTZl17xcEAVH4jWVSUjcckmpajeJx6UZlCo1rt9LNeWaJoGouMIyJ5vOFvayqbeES7e3Cy38SousKu0LnyGpxcpcrkPN8QZXNZBkmVdMD1DkRhMn1cFzd6eeKa36Bohr1/28IO45h3+1fY7p2q38Mwv6Wr2sMdq3dksW7K3UTnCRR3I+Sz0l4/L5Zt473ynvt7Xuxd+gdex+9gTf0mN/xI//QP2rL9vf2j/bPq9SW32heelun/fsvThFKIQ==</latexit>
s.t. litho(e) L, 8e 2 P <latexit sha1_base64="HfFxSVrDJ65we8pGoW7TqYTaEDk=">AAAD+3icfVJLb9NAEHYaHsW8WrggcRlhgVoBUZwc4IQqONADhyLRh5SNrPVm4qziXZvddWnk+tdwQ5yQ+DH8G8auidq0dCRLs9/MN994ZuI8ldb1+386a90bN2/dXr/j3713/8HDjc1HBzYrjMB9kaWZOYq5xVRq3HfSpXiUG+QqTvEwnn+o44fHaKzM9Be3yHGseKLlVAruCIo2frEYE6lL/Fo0SOW3gCV1Ry/FT6KSpVRxwitgSuqo3KvgBTBbqKhEYFIDASG8hDYtQtgi8izbwm14DZ+2XwEw5jOHJ86o0vZcjyqR4KQus+SwBKEPTGeOJ+Az1JNlE7W/7DDaCPq9fmNw2QlbJ/Ba24s210I2yUShUDuRcmtHYT9345IbJ0WKVL+wmHMx5wmOyNVcoR2XzXAreE7IBKaZoU87aNDzjJIraxcqpkzF3cyuxmrwqtiocNO341LqvHCoxZnQtEjBZVBvCibSoHDpghwujKReQcy44cLRPn3fZxq/iUwpTsNhseHVKByXNCpbGKzVaGs4dTRfnaQYhMzIZOZOq+oicY7uauLpPwozTYVVIimKhjy4ThXYcT7j2mWqDAZV2wM0OT0IBufDYXWtHhU38gTTajT8vyCsKAZDurRWtFZrfgyC4QVdagxWpenIwtWTuuwcDHrhsDf4PAh23rfntu499Z55W17ovfF2vF1vz9v3ROdJ513nY2e3W3W/d390f56lrnVazmPvgnV//wWsQVBH</latexit>
s.t. e 0
50% reduction
in hotspots
ANN SVM
[Ding+,DAC’11] 129
Conclusion
• Machine learning brings
• New modeling opportunities
• New optimization techniques
• New hardware acceleration, e.g., GPU acceleration
• New software platforms, e.g., Tensorflow, PyTorch
• Hammers and bridges for conventional EDA flow
• Reformulate the problems, e.g., neural network training,
image-to-image translation
• Accurate and efficient information feedback from late
stages to early stages
130
Open Problems
• Connectivity feature representation
• How to encode hypergraph as input to models
• Or develop models that are friendly to ultra-large
graphs
• Optimization-friendly ML models and ML-friendly
optimization techniques
• Target at integrating ML models into optimization
• Need to consider fidelity, smoothness, accuracy,
convergence rate
• Generalization guarantee
• How far can ML models generalize
• How to know whether a model is applicable to new data
131
Future Directions
• Routability & Timing-driven DREAMPlace with
deep learning toolkits and GPU acceleration
• Integrate ML models for routability and timing prediction
• Reinforcement learning for routing strategies
• Rip-up and re-route policy
• Tree topology generation
• End-to-end mask synthesis and verification
• Use LithoGAN to guide SRAF and OPC
• No need to generate golden SRAF and OPC solutions
• Open discussions…
132
Q&A
Thanks
133
Recent Development of Placement
DREAM
Gate sizing, BIGGER Multi-GPU,
distributed computing,
floorplanning,
mixed precision,
…
…
Applicable to Other
New Accelerations
CAD Problems
135