{'fraction_non_alphanumeric': 0.030434782608695653, 'fraction_numerical': 0.0, 'mean_word_length': 5.7226277372262775, '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}}
High-Level Design Strategies for Architectural Synthesis

In this paper we give an overview of state-of-the-art high-level design strategies. We introduce formal definitions of the terms high-level synthesis, behavioral synthesis, architectural synthesis, and register-transfer level synthesis. These definitions allow us to classify specification languages and synthesis systems. Furthermore, we discuss essential issues such as the impact of high-level synthesis on industrial design practice, modeling of the design space, the role of VHDL, and the hardware specification problem. To demonstrate different synthesis philosophies, we present the three synthesis systems CATHEDRAL, HIS, and CALLAS as typical examples. Each of these systems is intended for a different application domain, namely CATHEDRAL for digital signal processing algorithms, HIS for processor structures, and CALLAS for control-dominated designs.