Optimal metastability-containing sorting networks

When setup/hold times of bistable elements are violated, they may become metastable, i.e., enter a transient state that is neither digital 0 nor 1 [1]. In general, metastability cannot be avoided, a problem that manifests whenever taking discrete measurements of analog values. Metastability of the output then reflects uncertainty as to whether a measurement should be rounded up or down to the next possible measurement outcome. Surprisingly, Lenzen & Medina (ASYNC 2016) showed that metastability can be contained, i.e., measurement values can be correctly sorted without resolving metastability first. However, both their work and the state of the art by Bund et al. (DATE 2017) leave open whether such a solution can be as small and fast as standard sorting networks. We show that this is indeed possible, by providing a circuit that sorts Gray code inputs (possibly containing a metastable bit) and has asymptotically optimal depth and size. Concretely, for 10-channel sorting networks and 16-bit wide inputs, we improve by 48.46% in delay and by 71.58% in area over Bund et al. Our simulations indicate that straightforward transistor-level optimization is likely to result in performance on par with standard (non-containing) solutions.

[1]  E. Szemerédi,et al.  O(n LOG n) SORTING NETWORK. , 1983 .

[2]  Leonard R. Marino,et al.  General theory of metastable operation , 1981, IEEE Transactions on Computers.

[3]  Johannes Bund,et al.  Near-optimal metastability-containing sorting networks , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[4]  Thomas Polzer,et al.  An Approach for Efficient Metastability Characterization of FPGAs through the Designer , 2013, 2013 IEEE 19th International Symposium on Asynchronous Circuits and Systems.

[5]  Christoph Lenzen,et al.  Metastability-Containing Circuits , 2016, IEEE Transactions on Computers.

[6]  D. J. Kinniment Synchronization and Arbitration in Digital Systems , 2008 .

[7]  Nancy A. Lynch,et al.  A New Fault-Tolerance Algorithm for Clock Synchronization , 1988, Inf. Comput..

[8]  Christoph Lenzen,et al.  Efficient Metastability-Containing Gray Code 2-Sort , 2016, 2016 22nd IEEE International Symposium on Asynchronous Circuits and Systems (ASYNC).

[9]  Thomas Polzer,et al.  Metastability-Aware Memory-Efficient Time-to-Digital Converters , 2017, 2017 23rd IEEE International Symposium on Asynchronous Circuits and Systems (ASYNC).

[10]  János Komlós,et al.  An 0(n log n) sorting network , 1983, STOC.

[11]  Ran Ginosar,et al.  Metastability and Synchronizers: A Tutorial , 2011, IEEE Design & Test of Computers.

[12]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

[13]  Guy Even On Teaching Fast Adder Designs: Revisiting Ladner & Fischer , 2006, Essays in Memory of Shimon Even.

[14]  Sanjeev Saxena,et al.  On Parallel Prefix Computation , 1994, Parallel Process. Lett..

[15]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[16]  Florian Huemer,et al.  Fault-Tolerant Clock Synchronization with High Precision , 2016, 2016 IEEE Computer Society Annual Symposium on VLSI (ISVLSI).

[17]  Jakub Závodný,et al.  Optimal Sorting Networks , 2013, LATA.

[18]  Donald E. Knuth,et al.  The Art of Computer Programming, Vol. 3: Sorting and Searching , 1974 .

[19]  Ran Ginosar,et al.  The Devolution of Synchronizers , 2010, 2010 IEEE Symposium on Asynchronous Circuits and Systems.

[20]  Michael Frank,et al.  Twenty-Five Comparators Is Optimal When Sorting Nine Inputs (and Twenty-Nine for Ten) , 2014, 2014 IEEE 26th International Conference on Tools with Artificial Intelligence.