@inproceedings{10.1145/3559400.3561997, author = {Lin, Richard and Ramesh, Rohit and Dutta, Prabal and Hartmann, Bjoern and Mehta, Ankur}, title = {Computational Support for Multiplicity in Hierarchical Electronics Design}, year = {2022}, isbn = {9781450398725}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, url = {https://doi.org/10.1145/3559400.3561997}, doi = {10.1145/3559400.3561997}, abstract = {While hierarchical design promises design process improvements through structures that better enable computational design, the basic model of blocks, ports, and connections lacks support for multiplicity – dealing with repeated instances of objects. In this work, we explore two extensions of that basic model to support two types of multiplicity, specifically in the context of board-level electronics where this is a common pattern. First, to support blocks that can be arbitrarily scalable across number of devices – e.g., an n-element LED array generator – we extend the existing fixed port interfaces for blocks with port arrays that can have dynamic width with automatic propagation through connections. Second, to support mapping abstract blocks in a design onto physical multipack devices – e.g., combining resistors across the design into a single quad-pack resistor device to optimize for fabrication – we introduce cross-hierarchy packing including support for shared pins. For both of these constructs, we describe the user-facing abstractions, internal representations, and compiler implementation, then demonstrate their end-to-end use through three example designs that we have fabricated and tested.}, booktitle = {Proceedings of the 7th Annual ACM Symposium on Computational Fabrication}, articleno = {1}, numpages = {11}, keywords = {hierarchical design, multipack devices, port arrays, electronics design}, location = {Seattle, WA, USA}, series = {SCF '22} }