257
Testing of Network-on-Chip Architectures
scheduling and the delivery time of p is set to the time at which the first
path from the list of possible paths for the packet becomes available.
If resources are available, the power consumption is calculated. It is
checked that no power violation occurs during the transmission of the
packet. In such a case, the network channels for transmission of this
packet are marked unavailable for the duration of transmission. The
response packet is set to be ready at appropriate time after the transmission of the test packet is over and the pattern is applied to the core.
The next test packet of the core is set to be ready at a time, ensuring that
the new vector will not arrive before the previous vector is processed.
3. p refers to an autonomous BIST session: A single flit containing the
BIST enable signal and other BIST information (such as LFSR [Linear
Feedback Shift Register] seed values) must be sent to the core. Two
cases are possible: In the first case, each BISTed core possesses its
own BIST controller. The transmission of packet p is similar to that
of a preemptive test. The chosen path is occupied for transmission of
a single flit. The corresponding response packet is set to be ready at
a time equal to the time to transfer this flit and the total number of
cycles for which the BIST is set to run. In the second case, a number
of BISTed cores may share a single BIST engine. The BIST sessions
are now to be scheduled as nonpreemptive tests with precedence
constraints. Once a BIST session is started for a core, it cannot be
preempted and the BIST engine is devoted to test some other core.
The overall algorithm for the combined preemptive, nonpreemptive, and
BISTed cores is presented in the following. It tries out a number (N 1 ) of permutations of BIST test packets, a number (N 2 ) of permutations of external test
packets, and all permutations of I/O pairs to explore the search space.
Algorithm NoC_Schedule_Preemp_Non-Preemp
1. UBP = Create ordered list of unscheduled BIST test packets.
2. UEP = Create ordered list of unscheduled external test packets.
3. IOP = Create list of I/O pairs.
4. For each core i in C do
5.
Create ordered list of all possible access paths;
6. For N 1 permutations of UBP list do
7.
For N 2 permutations of UEP list do
8.
For every permutation of IOP list do
9.
While there are unscheduled packets in UBP ∪
UEP do
10.
L t = Selected packets ready for schedule
in UBP ∪ UEP satisfying precedence constraints and delivery times;
11.
Select test packet p for core i in L t ;
Précédent

- 276/388

Suivant