Graphics Reference
In-Depth Information
Matrix multiplication is actually a series of multiplication and addition, which can
be performed by a multiplier, an adder, and a register in the projection element. The
result is stored in an on-chip RAM (random access memory) instead of logic cell based
registers. Since amount of memory bits in FPGA is much greater than logic cells, the
matrix operation is more resource economical.
Euclidean distance is computed in the distance element. The square operated by a
multiplier, the two inputs of which are connected to same data source, or a LUT
(lookup table) is also practicable. The square root is computed by a LUT, but in fact,
the square root is not necessary in some circumstances.
In the classification element, an adder and a register are used to summate distances
of all sub-blocks. The minimum distance and corresponding class index is computed by
the comparer.
3.3
Frame of Pipeline Architecture
In consideration of both of recognition speed and resource consumption, the
processing elements are organized in the pipeline architecture. Data obtained in
training phase is stored in ROMs (read only memory), which includes the eigenvectors
and low dimensional eigen space projections of training database. The frame of
pipeline architecture is shown in Fig. 2.
Fig. 2. Frame of pipeline architecture
3.4 Timing Analyzes
The timing sequence of pipeline architecture is shown in Fig. 3. When an input
character is divided into s sub-blocks, there are s +1 periods contained in the
recognition procedure. In the first period, only the projection element is active, and in
last period, only the projection element is idle, and the comparer of classification
element for minimum distance determination is enabled. Except the first and last
period, all other periods are identical, and the k th period is demonstrated in detail.
Since the size of E T is ʵ × m / b , for each sub-block, m × n × ʵ / s cycles are needed to
project the input character into eigen space, and the arithmetic and logic components
lead to 3 cycles latency. Because of all projections in eigen space is a ʵ × n / b
dimensional matrix, the distance element takes ʵ × n × p / b cycles to compute distances of
same sub-block between input character and p classes in training database, and 6
cycles latency is involved. The classification element summates distances of all
Search WWH ::




Custom Search