Sujet : Re: control co-processor
De : mitchalsup (at) *nospam* aol.com (MitchAlsup1)
Groupes : comp.archDate : 06. May 2025, 23:17:40
Autres entêtes
Organisation : Rocksolid Light
Message-ID : <2334329dd6846efa526ce35573d64d8c@www.novabbs.org>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14
User-Agent : Rocksolid Light
On Mon, 5 May 2025 14:02:58 +0000, Stefan Monnier wrote:
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.
To a good first order:: designers don't think of scan paths, we just
select scannable flip-flops, and the tools build the scan paths for
us. At (or near) tape-out, we have the scan path tools emit the scan
path-of-the-moment so we can adjust the SW that will drive the scan
paths at testing and debug.
Large blocks (such as a whole core or L2) have their own scan path
that will be individually addressable at the scan path controller
to keep the paths down to several Killo-bits each.
For the most part this is entirely automated--abut all the designers
ever do is break huge scan paths into several not-so-huge scan paths.
Design for test engineers use the simulators to figure out the bit
captured by any-random flip-flop via the Verilog model and use said
model to build many tests and then examine what happened to verify
that the design is operating as expected (or not). DFT engineers
use the simulators at least as much as the designers themselves.
-------------
In the distant path, I had the select lines (the heavy loads that
cross the data path and select things for it to do) captured at
the other end of the data path with a skewable scan clock so we
could (essentially) see the timing of the select lines after
crossing the data path. This made it possible to use the scan
path as an oscilloscope.
>
>
Stefan