Fundamental Algorithms For System Modeling, Analysis, and Optimization
Fundamental Algorithms For System Modeling, Analysis, and Optimization
b
0
1
d
q Boolean circuit/network
netlist s clk
Library/
module logic
generators optimization
a
b
0
1
d
q Boolean circuit/network
netlist
s clk
layout
False Paths
A path is false if it cannot be responsible for the delay of a circuit
Static Sensitization
Definition: A path is statically sensitized by a vector V, if
along each gate on the path, if the gate output is a
controlling value, the input corresponding to the path is the
only input with a controlling value
WHY?
Static Co-sensitization
Is it sufficient?
Summary
All paths
True
SS paths SC
while(1) {
read_sensors(); This code is known to be
terminating:
compute(); loops with finite bounds
no unbounded recursion
write_actuators() Typically:
} No interrupts/threads
Example of ComputationalTask
altitude_control_task() from implementation of software controller of
“Paparazzi UAV”
main.c:
…
switch(…) {
while(1) {
case 0: …
…
altitude_control_task(…);
periodic_task(…);
…
…
}
}
Must find:
Longest path in the control-flow
graph (CFG)
Linear Program
max c1 x1 + c2 x2 + … + cm xm
subject to
ai1 x1 + ai2 x2 + … + aim xm · bi i=1,2,…,n
Linear Program
max c1 x1 + c2 x2 + … + cm xm
subject to A x · b
A is a n x m matrix
x is a m x 1 vector (of variables)
b is a n x 1 vector
max w1 x1 + w2 x2 + … + wm xm
subject to
E x = (1, 0, 0, …, 0, -1)T ………………… (*)
0 · xj · 1 j = 1,2,…,m
E is the incidence matrix of the graph
The * constraints encode the condition that a single path
is taken from source to sink
EECS 144/244, UC Berkeley: 33
Process parameters:
Oxide thickness
Dopant concentration
Transistor width
Interconnect height and width
…
Environment parameters:
Temperature
Supply voltage variation
…
EECS 144/244, UC Berkeley: 34
Longest Path under Variability is a Non-Linear
Optimization Problem
Linear Program for Longest path in a DAG
xi = 1 iff ith edge in the DAG is on the path, 0 o.w.
pk is the value of the kth process/environmental parameter
(k=1,…,K)
max w1 x1 + w2 x2 + … + w xm
m
where wi = k k + jk pk
subject to
E x = (1, 0, 0, …, 0, -1)T ………………… (*)
0 · xj · 1 j = 1,2,…,m Lk · pk · Uk, k=1,…,K
E is the incidence matrix of the graph
The * constraints encode the condition that a single path is taken
from source to sink