{'fraction_non_alphanumeric': 0.027263875365141188, 'fraction_numerical': 0.0, 'mean_word_length': 5.632258064516129, '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}}
Two-dimensional common-centroid stack generation algorithms for analog VLSI

In analog VLSI design, two-dimensional common-centroid stacks, in which devices are two-dimensional symmetry and have a common-centroid, are critical for mismatch minimization and parasitic control. However it is difficult to construct due to several constrains of layout. In this paper, algorithms for generating analog VLSI two-dimensional common-centroid stack are described. We get several theory results by studying symmetric Eulerian graph and symmetric Eulerian trail. Based on those, an O(n) algorithm for dummy transistor insertion, symmetric Eulerian trail construction and two-dimensional common-centroid stack construction are developed. The generated stacks are two-dimensional symmetric and common-centroid. Several stacks with different ratio are generated for one group of devices and they could be chosen during placement according to the performance and area consideration. Experimental results show effectiveness of our algorithms.