[Show abstract][Hide abstract] ABSTRACT: A Look-Up Table (LUT) ring consists of memories, programmable interconnections and a control circuit. It sequentially emulates an LUT cascade representing a multipleoutput logic function. In this paper, we consider the realization of multi-output functions with LUT rings using large memories. In contrast to previous approaches where the number of inputs to each LUT cell is fixed, we allow the number of inputs to be different for each cell. With this new approach, we can reduce the number of levels and the total amount of memory by selecting the optimal size for each cell and by packing the memory. We have developed an optimization system for LUT ring designs using dynamic programming. In trials, our system was able to reduce the amount of memory required for some designs by as much as 60%.