{'fraction_non_alphanumeric': 0.022275258552108195, 'fraction_numerical': 0.0, 'mean_word_length': 5.763440860215054, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Implementation and analysis of numerical components for reconfigurable computing

In the past, reconfigurable computing has not been an option for accelerating scientific algorithms (which require complex floating-point operations) and other similar applications due to limited FPGA density. However, the rapid increase of FPGA densities over the past several years has altered this situation. The central goal of the Reconfigurable Computing Application Development Environment (RCADE) is to capitalize on these improvements. Through RCADE, an algorithm is translated into a data flow design, which is then implemented on a reconfigurable computing platform using a "toolbox" of components. This paper expands this library of components by implementing the following IEEE single precision floating-point functions: sine, cosine, arctangent, arcsine, arccosine, square root and natural logarithm. Each component is designed around the CORDIC shift-and-add algorithms. A discussion of how each operation is implemented is followed by an analysis of the space requirements of each component on current and future Xilinx FPGAs. Performance results are compared for each component individually and for two example equations against several current workstations.