Sujet : Scan chains (was: control co-processor)
De : monnier (at) *nospam* iro.umontreal.ca (Stefan Monnier)
Groupes : comp.archDate : 07. May 2025, 04:12:08
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <jwvwmatqg1u.fsf-monnier+comp.arch@gnu.org>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14
User-Agent : Gnus/5.13 (Gnus v5.13)
Even state-of-the-art CPUs today commonly use scan-chains (via JTAG)
for debuggin.
Is there some blog somewhere that explains how scan-chains work (not
how they're used, but how they're implemented inside the CPU)?
Intuitively they sound very costly to me, because of things like the
need to run extra wires all over the place. I'm obviously
missing something.
Actually, you're not far off. It's a serial shift chain which is shifted
one-bit at a time to capture flop states. Each chain is a single wire;
a chip may have a few dozen individual shift chains.
https://www.design-reuse.com/articles/48331/scan-chains-pnr-outlook.html
Thanks. Wow. So it is really that bad, huh?
I also liked the note about speed limits and power consumption, how
shifting a state (in or out) causes (almost) all the flip-flops to
change state at each cycle, thus leading to very high power consumption.
What's the approximate cost of those scan chains. I.e. if we were to
take an existing working design and replace all the "flip-flop with
scan-chain" with "plain flip-flops", how much smaller would the
resulting chip be, how much faster could it run, and how much less power
could it consume?
I assume the cost in terms of power consumption is small because in
normal use, the scan-chain part stays completely stable so that barring
leakage it should not consume any power, save for the indirect costs
like the need to move the other bits over greater distances when
the extra wires of the scan chains get in the way.
Stefan