--- crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
On Thu, Jan 3, 2019 at 2:32 AM Christoph Maier christoph.maier@ieee.org wrote:
On Thu, Jan 3, 2019 at 1:41 AM Luke Kenneth Casson Leighton lkcl@lkcl.net wrote:
Can I make a special request to include a T gate (transmission gate) in that list as it is a critical and little understood component of an efficient NxN crossbar.
Analog switches are also an important building block for any kind of switched capacitor discrete time analog filters.
Matrix form not butterfly style. Butterfly style crossbar is much higher number of gates than a T Gate style crossbar.
Can you reference to circuit diagrams that explain what "matrix form" and "butterfly stlye" might mean?
https://en.wikipedia.org/wiki/Butterfly_network
the picture there is a half-butterfly. mirror-image it and you have a full butterfly network.
my 3rd year project was an expansion of the ALICE transputer network, and i developed an algorithm that guaranteed 100% throughput on 100% of all permutations of inputs-to-outputs (no contention allowed), in a set linear time.
so i *know* for a fact that you can use a full butterfly network as a substitute for a full N-to-N crossbar (if prepared to tolerate a drop of only around 5% throughput when compared to a full crossbar, for a non-permutation i.e. contentious routing)
"matrix form".... outputs on the left as rows, inputs at the top as columns. every cell in the matrix has a T-Gate. a unary encoder per column sets mutually-exclusively one AND ONLY row-to-column T-Gate.
requires only NxN T-Gates plus N N-bit unary encoders.
which is a hell of a lot less gates than a full butterfly and a HELL of a hell of a lot less gates than a full N-to-N crossbar.
Also T gates make for significantly reduced logic cells although voltage is lost at each stage, buffers fix that. https://en.m.wikipedia.org/wiki/Transmission_gate
Quite a few nonstandard digital cell designs exist and can be used to simplify a circuit, but definitely not the design process, because you need to know when to use them and when not to use them.
... and most proprietary toolchains avoid them for precisely that reason. except... we're not *using* proprietary toolchains... :)
l.