作者Acme ( )
看板Electronics
标题Re: [问题] design compiler後counter(计数器)总是 …
时间Sat Aug 14 21:02:40 2010
基本上,一般IC跑最快的频率是从PLL出来的,
而会透过clk generator 除频来产生各个module要的 clk
clock geneator 是数位的除频器
_______
| | pll_clk
| PLL |-----> clock gen ----> clk1
|_______| ----> clk2
----> clk3
如果说,要把除频器做在PLL内,那我觉得应该是 :
_______
| | ---> clk1
| | ---> clk2
| PLL | ---> clk3
| |
|_______|
如果是第一种情况,那麽STA时要在pll_clk 那儿 create clk
然後 clk1/clk2/clk3.... 要 create generate clk
如果是第二种,那麽就直接 clk1,clk2,clk3 都 create clk
所以我才说,PLL会有多个source...(频率不同的 source,不是相位不同)
----------------------
at speed 是ATPG的一种
与stuck at fault不同,at speed是要测transition fault
因为要测transition fault,所以会用到 ic 正常的 clk
Da ____ Db ____
--| |Qa --combi ckt-> -| | Qb
-|____| (inv) -|____|
DFFa DFFb
假设我们要测 这两个DFF间, Qa从1-->0 的transition
那麽我们先透过 shift in 让 Da = 0;
Qa = 1;
Qb = 0;
(shift in 结束後,DFF就不再提供 clk 以保持原值)
然後再来一个 launch clk ,这时 Qa: 1-->0
之後再来一个 capture clk ,如果中间的combination ckt够快
那麽 DFFb 就会 capture 到 1;
如果不够快,DFFb会保持在 0 的值
然後再 shift out 来比对
_ _
SHIFT IN _________| |__| |__________ SHIFT OUT
launch capture
其中 shift in / shift out 是用 scan clk
而中间那两个 clk 是正常的 clk
因为是正常的 clk 所以是用 PLL 透过 DFF 除出来的
所以这时,这个数位除频电路的 DFF 就不能串scan,
不然在scan shift的时後,就会把除频的 output clk 打乱了
: 推 zxvc:PLL除出来的clock应该也只是一个source吧,要接到各DFF应该还 08/14 12:42
: → zxvc:是要clock tree吧。那这样会比用DFF除频器省吗? 08/14 12:43
: → Acme:我认为如果除频是做在pll内,应该会有很多source... 08/14 13:51
: → Acme:因为,一般ic,会有一堆不同的clk... 08/14 13:52
: → Acme:另外,我又想到,用数位做,好像在at speed测试时,会有些麻烦 08/14 13:53
: 推 zxvc:很多source是指有不同相位的clock吧。但实际上用PLL作数位电 08/14 15:13
: → zxvc:路的除频器真的会用一个以上的同频不同相位clock sources吗? 08/14 15:16
: 推 zxvc:而且更多clock sources是不是也代表需要更多clock trees? 08/14 15:22
: → zxvc:总不可能每个DFF都可以接到一个专属的PLL clock source吧。 08/14 15:23
: → zxvc:另外Xilinx的FPGA不止用PLL来产生clock,还有一个叫DCM的东西 08/14 15:24
: → zxvc:Virtex-5 FPGA User Guide: http://0rz.tw/5Xzxh 08/14 15:25
: 推 zxvc:该说明书是有提到使用DCM的好处:如Clock Deskew、Frequency 08/14 15:33
: → zxvc:Synthesis、Phase Shifting、...。但感觉没有提到它比DFF除频 08/14 15:35
: → zxvc:器好在哪里(假设某设计就只须要除2^n的频率)。 08/14 15:37
: 推 zxvc:(其实DFF除频器可以产生周期2nT的clock。T是原clock周期。) 08/14 15:45
: → zxvc:另外什麽是"at speed测试"? 08/14 15:48
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.239.249
※ 编辑: Acme 来自: 114.32.239.249 (08/14 21:11)
1F:推 zxvc:所以你的意思是说若用PLL产生的clock,可以避开DFF除频器被串 08/14 21:18
2F:→ zxvc:成scan chain的问题!? 08/14 21:18
3F:→ Acme:嗯,因为PLL是类比module,scan不会测它,但scan会串DFF.. 08/14 21:19
4F:→ zxvc:这样讲有些道理。但依我直觉这问题应该可以用EDA tools设定 08/14 21:20
5F:→ zxvc:就能解决,也就是可能有指令告诉DFT Compiler哪个是DFF除频器 08/14 21:21
6F:→ zxvc:,不要把它串成scan chains。我再找找DFT Compiler说明书看看 08/14 21:22
7F:→ Acme:同意,但不串会降coverage,若硬要串,定要多一些额外电路来解 08/14 21:24
8F:→ zxvc:谢谢Acme大的解答:会有DFT的困难。 08/14 22:42