{'fraction_non_alphanumeric': 0.01276207839562443, 'fraction_numerical': 0.0, 'mean_word_length': 5.949367088607595, '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}}
Spatiotemporal partitioning of computational structures onto configurable computing machines

A complete computing system supports a design path from problem description to implementation. The term configurable computing refers to complete computing systems that support the development of applications for configurable computing machines. Configurable computing systems generally include a microprocessor-based host, a configurable processing array and the tools necessary for capturing the problem and mapping it into software for the host and configurations for the hardware. This work proposes a framework for a set of platform independent configurable computing tools. The proposed tools temporally partition large designs, described in a textual language, into stages that can be mapped onto the computing array. The temporal partitions are spatially partitioned to support multiple FPGA arrays. These results are then given to platform specific backends that convert the tool's description of the design into functional FPGA configurations, hardware controllers and host-based control code.