Hardware Reference
In-Depth Information
N edge _max D M
2
! D
M .M 1/
2
Finally, we derive the lower bound in the number of control pins for the outlined
rectangular layout. Since N edge _max is an upper limit on the number of edges in a
graph, we have the inequality N edge _max N edge .
Based on Theorem 6.2 , we have following corollary:
Corollary 6.2. For large values of m and n , th e lowe r bound on the number of
control pins ca n be approximated as M min 2 p m C n , and if m D n D t ,weget
M min 2 p 2t . In other words , w hen the total number of electrodes in the array is
N , the number of pins is ˝. p N/ .
For an electrode array that has other shapes, the number of control pins can be
lower-bounded in a similar manner.
Let us now return to the pseudocode shown in Fig. 6.3 . In the first phase,
we determine the lower bound N L on the number of pins, and then initialize
the set of available pins (which is written as PinAvailable in Fig. 6.3 )as{Pin
1, Pin 2, :::,PinN L }. In the second phase, we set an index number for each
electrode on the layout by numbering the electrodes one by one, from the electrode
on the upper-right corner to the lower-left corner. An electrode E R is randomly
selected as the “seed” of the pin-assignment process, and Pin 1 is assigned to
E R . The set of electrodes whose control pins have been determined is written as
“ElectrodesAlreadyAssigned” (as shown in Fig. 6.3 ). The graph corresponding to
the pin-assignment configuration of ElectrodesAlreadyAssigned is written as G EAA .
Then electrode E R is the first element that is added into the set Electrode-
sAlreadyAssigned. The pin-assignment configuration for the layout is constructed
electrode-by-electrode around the seed E R . In each step, we first locate all the
neighboring electrodes of ElectrodesAlreadyAssigned. Then these electrodes are
sorted out to identify the one that has the minimum index number. The electrode
with the minimum index number is written as E neighbor as shown in Fig. 6.3 . Then,
starting from Pin 1 and proceeding through Pin N L , we search for the control pin
that can be assigned to E neighbor to obtain a feasible pin-assignment solution. Here
are the detailed steps of the searching process.
Each time we virtually assign a control pin to E neighbor , and update G EAA
by doing the union of the original G EAA with the graph that corresponds to
the new electrode. Then we determine whether the updated G EAA is a simple
graph. Based on Lemma 6.2 ,ifG EAA is a simple graph, then we have expanded
the feasible local solution successfully and E neighbor will be added into the set
ElectrodesAlreadyAssigned, as shown in Fig. 6.3 . Otherwise, the pin that is assigned
to E neighbor will be changed.
If none of the pins in set PinAvailable can be assigned to E neighbor ,anew
pin is added into PinAvailable , and this newly added pin is assigned to E neighbor .
By repeating the above procedure, the set ElectrodesAlreadyAssigned can be
expanded step-by-step until it covers the whole layout. When we assign pins to the
Search WWH ::




Custom Search