{'fraction_non_alphanumeric': 0.01662049861495845, 'fraction_numerical': 0.0, 'mean_word_length': 5.880952380952381, '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': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A flexible arithmetic system for simulation

Custom hardware accelerators are commonly used in simulation systems requiring high computational power. Such applications often have few data dependencies, allowing implementation using parallel datapaths. For such problems, optimization of the datapath of the circuits leads to significant improvements in overall performance. 
The Computer Arithmetic Synthesis Technology (CAST) framework, developed in this work, allows one to quickly explore the design space in three dimensions: the number system, the operator architecture and the configuration of individual operators. It utilizes sophisticated arithmetic algorithms and reconfigurable architectures, captured in the object libraries. The final result is an optimized datapath satisfying user requirements, and the output can be controlled at different levels. 
To demonstrate its ability, the CAST framework is used to implement a number of simulation systems including the datapath for the force computation pipeline of N-body simulation and Monte Carlo simulation for interest rate financial derivatives. A novel multiplier generator and an efficient random number generator are also presented as basic building blocks for simulation. Together, these tools provide an easy way to describe simulation system in a number system independent manner, and generate implementation to satisfy different performance, area and accuracy constraints.