Hardware Reference
In-Depth Information
actuation sequences for mixing and dispensing operations, we observe that “0”
often occurs consecutively. Thus run-length encoding is applied to the “all-zero
segments”, i.e., runs of 0s in the actuation matrix. In the compaction result, non-
zero elements are represented by their values, and runs of 0s are represented by
the corresponding count number. For example, the compacted vector “X
v
aY
v
b”
stands for the following sequence:
X
v
0
:
::
0
0
Y
v
0
:
::
0
0
:
„ ƒ‚ …
a
„ ƒ‚ …
b
The
K
non-zero elements will “divide” the
MN
column vectors in
A
into at
most
MN
C
all-zero segments, and each of these segments is represented by
its number of zeros. Thus the actuation matrix can be compacted to a vector with
MN
C
2
K
K
elements, and its compaction ratio can be derived as
MNT
=.MN
C
2
/.ForthematrixM
Mix
1
shown in Sect.
3.3
, its first column is divided into
two segments, where the first segment is the single non-zero element “
v
1
”andthe
second segment is five consecutive “0”, so the first column can be compacted to
“.
v
1
/.5/”. Similarly, the second column is divided into three segments, and it
is compacted to “.1/.
v
1
/.4/”. The compaction ratio for matrix M
Mix
1
is equal
to 1:80.
K
Based on the above discussion, the relative performance of Method I and Method
II depends on the relationship between
MN
and
>MN, Method II
offer higher compaction than Method I; otherwise, Method I is more efficient. Both
compaction algorithms can be implemented when generating the error dictionary.
K
.When
K
3.5.2
De-Compaction of the Error Dictionary
Before the execution of the bioassay, the error dictionary must be compacted and
stored in the memory of the FPGA. Both compaction Method I and Method II
discussed above are lossless and reversible. When an error occurs on the biochip is
reported by the on-chip sensors, the controller accesses corresponding compacted
re-synthesis outcome and restores it to the complete actuation matrix with the
appropriate electrode actuation vectors.
The de-compaction procedure can be performed by de-compaction modules
implemented on an FPGA. As explained above, by applying compaction Method
I, the .M
N/-by-T actuation matrix is compacted into a 1
vector. Each
element in the vector represents a non-zero element in the original uncompacted
matrix, denoted by .i; j;
v
ij
/,wherei and j are the row and column indices of the
non-zero element;
v
ij
is the non-zero value.
Since at each time moment, we only need to apply actuation signals on M
N
electrodes, the actuation matrix is de-compacted “segment by segment” during the
de-compaction procedure. Here we assume that the memory space required for each
K