Lecture slaids (PowerPoint)

Routing
Routing definitions :
1. Pin – input or output of the logical circuit;
2. Connection – a pair of contacts that have been connected
with each other;
3. Net – a number of logical circuit contacts that must be
connected with each other. Is divided into connections;
4. Wire Segment – part of wire that is used as part of the
connection;
5. Routing Switch – programmable switch that is used to
connect segments;
6. Track – conductor that passes throughout the routing
channel. Consists of several segments;
7. Routing Channel – number of tracks between the logical
circuits.
Segment
Pin
LB
LB
Switch
Track
Channel
LB
LB
Conflicts in routing
LB
A
B
1
2
3
LB
LB
LB
LB
1
2
3
LB
LB
C
LB
LB
LB
1
2
3
LB
LB
Routing strategy
 Routing resources are divided into routing areas.
 Global Router makes each connection correspond to one
routing area.
o Divides the connections of several contacts into
single connections.
o Each single sonnection is made to correspond to
some certain channel.
 Detailed Router realises connections within the
respective areas.
o Makes each connection to correspond with a wire
segment that enables its realisation
Routing is NP – Complete
Row Based arcitecture
Row-based
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
Routing in row-based FPGA
c1
c2
c4
c3
Mask programmable array
c1
c2
c1
c3
c3 c2
c4 c4
c1
c3
c3 c2
c4 c4
Totally segmented
c1
c2
Not segmented
c1
c2
c1
c3
c3 c2
c4 c4
Routing with segmentation
c1
c2
c4
c3
1-segment routing
c1
c2
c1
c3
c3 c2
c4 c4
c1
c3
c3 c2
c4 c4
2-segment routing
c1
c2
Parameters used in routing
c1
c2
c3
c4
c5
1
2
3
1
2
3
4
2,9
1,5
x0
6,1,1
5
6,7,1
6
7
8
9
10
Which is the first free
vertical on the first, second
and third track routing in given
step
How many segments it takes to realise the
connections (accumulative)
On which track is the connection realised
Example of routing
c1
c2
c3
c4
c5
Track
1
2
3
1
2
3
4
5
6
7
1,21
2,9
3,8
6,1,1
1,5
x0
2,5
1
1,6,1
3,4
1
6,7,N
6,1,7
1,7,7
1,15
Finally 21 ja 22
N,6,7
N,7,7
2,22
6,N,N
2,19
Finally 22 ja 23
3,8
1,16
1,6,7
9
3,20
3,20
10
N,N,N
1,21
N,N,N
3,20
2,11 Finally 21
2,8
1,1,7
N,7,N
2,20
3,17
6,7,1
8
N,N,7
N,6,N
N,7,N
2,18
N,N,7
N,N,N
2,21
2,21
3,19
N,N,N
N,N,N
N,N,N
Solution
This routing used the least number of segments (19)
The smallest number of switches is on the track and it is the fastest.
c1
c2
c3
c4
c5
Track
1
2
3
1
2
3
4
5
6
7
8
9
10
Diminishing the number of switches may disable routing.
c1
c2
c3
c4
c5
Track
1
2
3
1
2
3
4
5
6
7
8
9
10
Switches removed
x0
3,5
1,1,9
2,9
1,N,9
1,17
N,N,9
Routing is not
possible
Possibility of routing
100%
The location of
plunge depends on
the segmentation
of the channel.
50%
Density
of the
channel
Symmetrical Array
LB
LB
LB
LB
LB
LB
LB
LB
LB
Interconnection resourcees
LB
CB
LB
Connection arrays
CB
SB
CB
CLK
Connections
between
neighbours
LB
LB
CB
Long lines
Lengths of connections
0 0 1 2 3 40
1
1
2
2
3
3
4 0 1 2 3 44
0 0 1 2 3 40
1
1
2
2
3
3
4 0 1 2 3 44
0 0 1 2 3 40
1
1
2
2
3
3
4 0 1 2 3 44
0
0 0 1 2 3 40
1
1
2
2
3
3
4 0 1 2 3 44
1
2
0
4
2
4
3
0
3
1
2
0
4
3
1
1
2
4
3
Global router
0,0
L
0,1
C
1,1
S
2,1
C
2,2
L
2
L
C
L
1
C
S
C
0
L
C
L
0
1
2
Detailed router
L
2
L
C
S
C
1
C
C
0
L
L
0 1 2
0
2
1
L
0,0
L
C
0,1
C
S
1,1
C
2,1
L
2,2
S
S
S
C
C
C
C
C
C
C
C
Cost Function
Shows the number of possibilities left for realising the connection
at any stage of routing.
LB
3
1
2
3
LB
LB
2
LB
LB
1
2
3
LB
LB
1
LB
LB
LB
1
2
3
LB
LB
SB and CB architectures
Problems :
1.
What is the effect of CB on routing.
2.
What is the effect of SB on routing.
3.
How are the possibilities of SB and CB connected with routing.
4.
How are the possibilities of SB and CB connected with
the number of lines necessary for 100% routing
5. How are the possibilities of SB and CB connected with the sum
number of keys that would guarantee 100% routing.
Switch Block (SB)
Fs=6
Connection Block (CB)
LB
LB
Fc=2