作者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)
推 zxvc:所以你的意思是說若用PLL產生的clock,可以避開DFF除頻器被串 08/14 21:18
→ zxvc:成scan chain的問題!? 08/14 21:18
→ Acme:嗯,因為PLL是類比module,scan不會測它,但scan會串DFF.. 08/14 21:19
→ zxvc:這樣講有些道理。但依我直覺這問題應該可以用EDA tools設定 08/14 21:20
→ zxvc:就能解決,也就是可能有指令告訴DFT Compiler哪個是DFF除頻器 08/14 21:21
→ zxvc:,不要把它串成scan chains。我再找找DFT Compiler說明書看看 08/14 21:22
→ Acme:同意,但不串會降coverage,若硬要串,定要多一些額外電路來解 08/14 21:24
→ zxvc:謝謝Acme大的解答:會有DFT的困難。 08/14 22:42