{'fraction_non_alphanumeric': 0.011461318051575931, 'fraction_numerical': 0.0, 'mean_word_length': 5.390243902439025, '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}}
Implementation of Self-Timed Circuits onto FPGAs Using Commercial Tools

Asynchronous design has become more and more popularin last years. Many tools and design methodologies have been developed for this kind of circuits. Unfortunately only few of them are focused on their implementation onto FPGAs. Nowadays FPGAs are widespread in many applications and they have enough complexity to allow prototyping also complex designs. For this reason this paper is focused on the implementation of asynchronous-specific blocks on programmable devices using conventional tools and flows. It offers solutions for implementing Muller C elements and delay chains onto FPGAs avoiding unwanted behavior given by the synthesis and the fitting phases. This paper also introduces the solution adopted in our co-design environment to automatically generate delay chains used to single-rail implementation of asynchronous circuits. This is a part of our project which aims at developing a complete framework for producing asynchronous circuits from Simulink models.