{'fraction_non_alphanumeric': 0.01848998459167951, 'fraction_numerical': 0.003852080123266564, 'mean_word_length': 5.2451923076923075, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 1, '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 simplified flow for synthesizing digital FIR filters based on common subexpression elimination

Based on the conventional common subexpression elimination (CSE) algorithm, in this paper we propose a new flow, which reduces redundant recursive cycles so that the required total runtime is shorten. The proposed CSE flow can save at most N-3 (N > 3) recursive loops for pattern searching and pattern elimination processes from the conventional CSE algorithm, where N stands for the maximum number of nonzero bits in all possible patterns from all coefficients. The conventional CSE algorithm examines patterns based on N nonzero bits through all the coefficient set. The searching loop is repeated for N, N-1, N-2…2 nonzero bit patterns. In our proposed flow, all possible common patterns with various lengths of nonzero bits are searched at one time. The pattern searching and frequency calculation loops are only performed when the new coefficient set is formed after pattern elimination process of all patterns with maximum frequency, which reduces the redundant recursive cycles of patterns search and frequency calculation from the conventional CSE algorithm. Furthermore, the commensurate amount of adders along the critical path is also achieved by the proposed method for pattern selection.