# Online Signature Verification Systems on a Low-Cost FPGA
## 6 Discussion  
The paper presents three different approaches to implementing an online signature verification system on a low-cost FPGA family from Xilinx. Firstly, the IEEE 754 double-precision data were replaced by simpler formats without degrading the algorithm biometric performance. The simple-precision floating-point format is adequate for embedded systems based on the 32-bit microprocessor MicroBlaze configured with internal FPU. The same data format is used for the hardware FPGA, which accelerates floating-point computations on data vectors. An alternative representation of real numbers is the fixed-point format since arithmetic circuits are simpler and faster than their floating-point counterparts. This data format is used by the custom computing system, which is built from a large set of devoted arithmetic circuits. Each of the three tested alternatives has its advantages and drawbacks. The MicroBlaze embedded system provides a simpler and faster development cycle since the compiler automatically translates single-precision operations to FPU instructions. The system provides a high flexibility because it could be adapted to different biometric algorithms by including a new programming code. Nonetheless, execution time is limited due to the floating-point operations on large data. The FPBA accelerates the processing time (\(\times\)7.6) on floating-point vectors, also providing a high flexibility. However, the programming effort is increased since it is required to rewrite the code that must be accelerated as vector operations and write FPBA instructions properly. Another drawback is the increase in FPGA resources (\(\times\)2.3). The last alternative is a custom computing system built from a large set of devoted fixed-point arithmetic circuits and internal BRAM memories. This proposal features the opposite advantages and drawbacks when compared to the embedded system, providing a very large acceleration (\(\times\)201) but no system flexibility. Furthermore, the implementation area is noticeably incremented (\(\times\)5.2), and the development effort is enormous due to the large set of customized computational circuits and memories that must be managed. Depending on the target, one proposal is preferred against the others. Taking a multi-modal biometric system into perspective, a custom computing system could provide a very fast execution time at the expense of a huge increase in both the FPGA resources and development effort, which may not be justifiable. In such a case, the FPBA could be the preferred option since it allows accelerating the processing time without increasing the hardware resources, along with a reasonable development effort. \begin{table}
\begin{tabular}{l c c c} \hline \hline  & **MicroBlaze** & **FPBA and** & **Custom** \\  & **Embedded System** & **Embedded System** & **System** \\ \hline CLB Slices & 2393 & 5434 (\(\times\)2.27) & 12,537 (\(\times\)5.23) \\ \hline LUTs & 4148 & 8999 (\(\times\)2.17) & 20,416 (\(\times\)4.92) \\ \hline FFs & 2591 & 5663 (\(\times\)2.19) & 10,482 (\(\times\)4.05) \\ \hline MULT 18 \(\times\) 18 & 7 & 11 (\(\times\)1.57) & 18 (\(\times\)2.57) \\ \hline BRAM 18 Kbit & 16 & 16 (\(\times\)1.00) & 29 (\(\times\)1.81) \\ \hline Clock frequency & 40 MHz & 40 MHz & 50 MHz \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Hardware FPGA resources (area ratio) and clock frequency. **Author Contributions:** All authors wrote and reviewed specific sections of the paper. E.C.N. focused on the algorithm porting to C and the FFBA system and experimental results. R.R.L. mainly contributed to the custom computing system and experimental results. M.L.G. mainly contributed to the MATLAB algorithm and optimizations. All authors have read and agreed to the published version of the manuscript. **Funding:** This research was funded by Spanish MCIN/AEI/10.13039/501100011033, grant number PID2019-107274 RB-100. **Institutional Review Board Statement:** Not applicable. **Informed Consent Statement:** Not applicable. **Data Availability Statement:** Not applicable.