Re: Timing constriants difference between functional and te
fail1 said:
Those are good points.
I read that sometimes center aligned clocking in functional mode become edge aligned clocking in test mode also complicates the timing closure between test & functional mode.
I couldnt understand the reason behind this.Why can the clock phase be different between test & functional mode?
Thx
Meena
Great question. If I understand you correctly, the reason is related to my item #1 above. In test mode, the clock sources may be (often are) very different from those in functional mode.
So, for example, in a real system (functional mode) maybe CLK is input to PLL, which outputs CLKA (some multiplied and/or divided version of CLK). Also maybe CLKB is an input from another external I/O other than PLL. If CLKA flops exchange data with CLKB flops, you need careful constraints and synchronizing flops or FIFOs on the clock boundaries for functional mode.
But say CLKB is faster than the MFG tester can make. Now we have to make CLKB internally somehow. Maybe it's CLKA divided by 2 or something. But now CLKB is based on CLK/CLKA latency. So in test mode CLKB's phase is different relative to CLKA than in functional mode.
Realistic example numbers in case you need it: CLK = 100MHz, PLL is x3, CLKA = 300MHz, CLKB = 150MHz. Tester MAX clock rate is 125MHz. In that case, we can't make CLKB from external as in the case in the system/functional mode because tester max is too slow. But we can divide CLKA / 2 internally and use it. But it will have a different phase than in normal functional mode. So timing constraints and timing closure gets harder, or at least different (multi-mode.)
I don't think I directly addressed your center/edge-aligned question, mostly because I don't fully understand it (can you clarify?) but I think you should be able to see how clock phases, both absolute and relative, could be different in test vs. functional mode.