{'fraction_non_alphanumeric': 0.021825396825396824, 'fraction_numerical': 0.0, 'mean_word_length': 5.467948717948718, '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}}
Automated synthesis of micro-pipelines from behavioral Verilog HDL

This paper presents a compiler from a standard Hardware Description Language (Verilog HDL) to an asynchronous Control Unit and a synchronous Data Path. The Control Unit, specified as a Signal Transition Graph, can be implemented using research-oriented asynchronous synthesis tools. The Data Path, specified using the Synthesizable Subset of Verilog, can be implemented using state-of-the-art commercial synchronous synthesis tools. Our compiler integrates in a fully automated manner source parsing, control/data splitting, managing the design and inserting matched delays for data bundling constraints. It can be used to produce asynchronous designs in an Application Specific Integrated Circuit design style, since the result is a netlist of standard cells ready for physical design. We describe a simple example of compilation and its results, and we discuss some outstanding issues in the domain of asynchronous Control Unit synthesis.