前言
記得我第一次到xilinx的官方論壇去問(wèn)問(wèn)題,因?yàn)槟菚r(shí)有一個(gè)問(wèn)題困擾著我,以前沒(méi)怎么注意的地方。以前我關(guān)注時(shí)序報(bào)表一般也就看setup summary,很少關(guān)注hold suammay。前兩天突然想去看看hold suammay。以為應(yīng)該和setup summary一樣沒(méi)啥疑問(wèn)。結(jié)果卻發(fā)現(xiàn)幾乎每個(gè)節(jié)點(diǎn)的時(shí)延兩個(gè)表都不一樣!
問(wèn)題描述
我們看這個(gè)時(shí)序模型
不管我們?nèi)シ治鰏etup slack還是hold slack 都是基于共同的路徑來(lái)的,那理論上來(lái)說(shuō)source clock path、data path、destination clock path 的時(shí)延數(shù)值在setup summary和hold suammay都應(yīng)該一模一樣才對(duì)。
但是,當(dāng)我找到同一條路徑進(jìn)行分析的時(shí)候。卻發(fā)現(xiàn)幾乎每個(gè)節(jié)點(diǎn)的時(shí)延都不一樣。
這是setup summary:
這是hold summary:
看上面這些紅色框框,兩個(gè)表每個(gè)節(jié)點(diǎn)的延時(shí)都不一樣。所以感覺(jué)很莫名其妙,但為了能夠找到答案呢,我就用我純正的chinese English到xilinx官方論壇去發(fā)帖詢(xún)問(wèn)了。
以下是我提的問(wèn)題:
the same path in setup summary and hold summary ,why is the data path delay different here are two pictures,source is the same, destination is the same . the first pic is setup summary ,the second is hold summary.I don't know why the data path delay is different? and the source clock path is also different ?
欣慰的是,很快有了回復(fù),也解答了我的疑惑。
STA is performed using a timing model called "slow corner" for setup and "fast corner" for hold, so even if path is the same, the path delay is different. These factors are essential to guarantee operation over the process variation (P), operating voltage range (V), and operating temperature range (T).
slow corner、fast corner、PVT。這些陌生的名詞似乎為我打開(kāi)了一扇不熟悉的窗口
既然上面那位專(zhuān)家已經(jīng)提點(diǎn)了我這些名詞,自然要搜索一番能夠搞明白一點(diǎn)
時(shí)序模型
1、OCV與PVT
即便是同一種FF,在同一個(gè)芯片上不同操作條件下的延時(shí)都不盡相同,我們稱(chēng)這種現(xiàn)象為OCV(on-chip variation)。OCV表示的是芯片內(nèi)部的時(shí)序偏差,雖然很細(xì)小,但是也必須嚴(yán)格考慮到時(shí)序分析中去。
產(chǎn)生OCV的原因主要有PVT(Process / Voltage / Temperature)三個(gè)方面,而STA要做的就是針對(duì)不同工藝角(Process Corner)下特定的時(shí)序模型來(lái)分析時(shí)序路徑,從而保證設(shè)計(jì)在任何條件下都能滿(mǎn)足時(shí)序要求,可以正常工作。
通常PVT對(duì)芯片性能的影響如下圖所示,
不同的PVT條件組成了不同的corner,另外在數(shù)字電路設(shè)計(jì)中還要考慮RC corner的影響,排列組合后就可能有超過(guò)十種的corner要分析。但是在FPGA設(shè)計(jì)中的靜態(tài)時(shí)序分析一般僅考慮Best Case和Worst Case,也稱(chēng)作Fast Process Corner 和Slow Process Corner,分別對(duì)應(yīng)極端的PVT條件。
2、Multi-Corner
Vivado中的STA支持多角時(shí)序分析(Multi-Corner Timing Analysis),會(huì)對(duì)以上兩種corner下的時(shí)序同時(shí)進(jìn)行分析,然后報(bào)告最差的情況。因?yàn)槊總€(gè)corner下的延時(shí)也會(huì)有一定的變化范圍,所以時(shí)序分析還會(huì)考慮每種corner下的最大延時(shí)和最小延時(shí)。
如果一個(gè)設(shè)計(jì)在Best Case和Worst Case下都能滿(mǎn)足時(shí)序要求,則可以推算這個(gè)設(shè)計(jì)在其允許的任何操作條件下都能保持正常工作。
這里要提醒大家,不要被corner的名字誤導(dǎo),實(shí)際上,同樣一條路徑可能在Slow Corner中滿(mǎn)足時(shí)序卻在Fast Corner中有時(shí)序違例。但是你在Vivado中看到的時(shí)序報(bào)告只會(huì)顯示其對(duì)兩種corner并行分析后選出的最差情況。
有特殊需要的情況下,可以在Vivado中通過(guò)config_timing_corners -corner
這樣最大化考慮OCV的時(shí)序分析方法在處理同一條路徑的共同時(shí)鐘路徑時(shí)也會(huì)應(yīng)用不同的延時(shí)數(shù)據(jù),從而會(huì)得出更為悲觀的數(shù)據(jù)。為了真實(shí)反映路徑延時(shí)情況,這部分延時(shí)必須被糾正,這就是CRPR(Clock Reconvergence Pessimism Removal)。
仔細(xì)觀察時(shí)序報(bào)告便可以發(fā)現(xiàn)在報(bào)告路徑的Slack之前有一行顯示clock pessimism已經(jīng)被考慮在內(nèi),在進(jìn)行Setup Check時(shí)會(huì)加上一定的clock pessimism,而Hold Check時(shí)則會(huì)減去一定的clock pessimism。
下圖顯示了CRPR的來(lái)源以及在Vivado時(shí)序報(bào)告中的具體體現(xiàn)。
總結(jié)
現(xiàn)在我想想好像之前在quartus平臺(tái)的時(shí)序分析的時(shí)候看到過(guò)類(lèi)似于slow corner、fast corner的字眼,但之前應(yīng)該也搜索過(guò)這些是什么意思,但完全沒(méi)有印象。
此次是我?guī)е鴨?wèn)題來(lái)進(jìn)行了解,突然感覺(jué)理解多了。
Setup分析的時(shí)候使用的是Slow Corner模型
Hold分析的時(shí)候使用的是Fast Corner模型
這兩個(gè)模型是兩個(gè)極端條件下模型。
實(shí)際上時(shí)序報(bào)表上也有一個(gè)提示,只是一開(kāi)始沒(méi)注意到
報(bào)表中已經(jīng)提到了Slow Process Corner 和Fast Process Corner這兩個(gè)名詞了
所以Setup報(bào)表分析分析的是max at slow process corner。在slow process corner模型下所有節(jié)點(diǎn)的時(shí)延都是最大的。在這種情況下如果能滿(mǎn)足setup時(shí)間的話,那么在其他模型就都可以滿(mǎn)足
同樣的,Hold報(bào)表分析分析的是min at fast process corner。在fast process corner模型下所有節(jié)點(diǎn)的時(shí)延都是最小的。在這種情況下如果能滿(mǎn)足hold時(shí)間的話,那么在其他模型就都可以滿(mǎn)足。
-
FPGA
+關(guān)注
關(guān)注
1624文章
21568瀏覽量
600565 -
Xilinx
+關(guān)注
關(guān)注
71文章
2147瀏覽量
120712 -
時(shí)序
+關(guān)注
關(guān)注
5文章
381瀏覽量
37231 -
模型
+關(guān)注
關(guān)注
1文章
3065瀏覽量
48578
原文標(biāo)題:FPGA知識(shí)查漏補(bǔ)缺——為什么setup summary和hold suammay的data path延時(shí)不一致
文章出處:【微信號(hào):FPGA十年老鳥(niǎo),微信公眾號(hào):FPGA十年老鳥(niǎo)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論