Hardware Reference
In-Depth Information
However, since the error dictionary needs to store re-synthesis solutions for errors
of interest, the data volume can be high. Consider a typical protein dilution bioassay
with 103 fluid-handling operations [ 16 ]. If we limit ourselves to errors involving at
most two operations, the memory required for storage of the error dictionary without
compaction can be as high as 28.75 MB. However, the memory on a low-cost FPGA
is typically limited. For example, according to the datasheet of several widely-used
FPGAs (which cost less than $50), the capacities of their on-chip memories are less
than 1 MB [ 17 ]. External memory devices can increase the size of total memory,
however, their prices can be as high as the low-cost FPGAs [ 18 ]. According to the
current market price list [ 18 , 19 ], the use of external memory devices may double
the cost of the system. External memory devices require additional circuit-board
wiring, and they will also increase the complexity of the system [ 20 ]. Therefore, the
above solutions are not compatible with the goal of low-cost biochip platforms that
can be used for field deployment and point-of-care clinical diagnostics.
In this chapter, we propose a compaction procedure for an error dictionary which
includes re-synthesis solutions for all the possible error combinations in bioassay.
Then we compact sets of actuation sequences (i.e., actuation matrices) stored in
the dictionary in a lossless manner. After these two steps, the size of compacted
dictionary in the above example can be reduced to only 0.96 MB.
3.2
Generation of the Error Dictionary
For any given set of errors that can occur in a bioassay, the error dictionary is
generated using simulation before the execution of experiments. During simulation,
erroneous fluidic operations are considered and the corresponding re-synthesis
results are determined. These re-synthesis solutions are stored as entries of the
dictionary. Both the simulation and dictionary generation process are performed
by a computer in the off-line data-preparation stage.
The error dictionary is stored in controller memory as a decision tree that records
all possible consequences of errors, as shown in Fig. 3.2 . The dictionary has multiple
levels and the entries at the kth level correspond to all possible cases errors that can
occur involving k operations. Suppose the total number of operations in the bioassay
is N and no errors occur during error recovery. The number of entries in the kth
level of the dictionary can be as high as k .ForlargeN and k, the size of the
error dictionary and the CPU time spent on error-dictionary generation can both be
prohibitively high. Therefore, k must be limited in practice. Here we consider up to
two erroneous operations (k D 2) in the bioassay. If more errors occur, the biochip
will be discarded and the experiment repeated on a different biochip.
In Sects. 3.2.1 - 3.2.3 , we will introduce the steps for generating the error
dictionary level-by-level. First we carry out synthesis for the error-free case, which
corresponds to Level 0 in Fig. 3.2 ; next, based on the error-free solution, we insert
errors in the simulation and derive entries in Level 1 and Level 2 of the dictionary.
Search WWH ::




Custom Search