SEM IP是一種比較特殊的IP。它的基本工作就是不停地后臺掃描檢測FPGA配置RAM中的數據,一旦發現這些數據與預期值不符,即發出警告或者盡可能的修正。這個持續不斷的RAM掃描動作帶來的負面影響,除了一些后臺資源的占用,就是產生了一定量噪聲。
噪聲的沖突
絕大多數設計里面SEM的噪聲完全可以忽略不計;但是仍有部分高速應用比如HSSIO和memory,可能會受到一定干擾。比較典型的一個例子是Spartan-6. 如果Spartan-6使用了其上的GTP核,或者其GPIO通道達到了300Mbps以上,但是鏈路裕量小于500ps,那么這些高速通道有可能會受到SEM(或者POST_CRC)掃描噪聲的影響而出現誤碼。如果你的設計符合上述情況,那么解決方法就是:關閉POST_CRC功能,升級至Spartan-6最新的SEM IP版本3.4,然后根據具體情況,關閉掉所使用的GTP區域的掃描。這樣做的代價是損失了GTP所在這一行資源的SEU保護。其他系列的HSSIO沒有類似影響。
另外一個例子,是UltraScale/+系列的Memory Controller。Memory Controller初始化的時候,需要在PHY中運行BIST(Built-In Self Test),根據溫度和電壓計算內部skew;其后還會對讀寫通道做時序校正,因此對精度要求較高。如果在此階段SEM IP就開始了內部掃描,噪聲就有可能干擾校正的精度和準確性,造成MIG calibration失敗。我們的推薦做法是延遲SEM IP的工作開始。做法很簡單,給SEM IP的icap_clk前加上一個BUFGCE, 使能端口CE默認為低,這樣IP沒有時鐘,工作也就不會開始。直到MIG calibration全部正確完成,控制打開CE端即可。需要注意的是,一旦CE端口打開,就不能再次關閉,否則有可能造成SEM IP工作異常。如果不再需要SEM功能,可以徹底關閉CE端口,或者通過指令把SEM IP置入IDLE狀態。
資源的沖突
SEM IP的正確工作依賴核心接口原語ICAP。因此IP與其他邏輯的沖突也主要集中在ICAP的使用權爭奪上。最常見的沖突就是在動態重配置的設計中使用了IP。動態重配置的核心原語同樣是ICAP,所以SEM IP和Partial Reconfiguration不能同時工作。此種設計需要考慮‘時分復用’的方法,即需要動態重配置的時候,Partial接管ICAP的控制權,同于把SEM IP置入IDLE狀態。等到重配工作全部完成,ICAP遞交回給SEM IP。但是由于配置數據已經部分改變,IP中存儲的黃金校驗值已經失效。 因此我們需要先重新初始化SEM IP,然后它才能繼續正常工作。
資源類型的沖突也常表現為SEM IP自我初始化失敗,這其實也是得不到ICAP控制權的一個結果。比如設計里面使用了Partial,或者MultiBoot,但是默認FPGA配置完成后把ICAP控制權分配給這些邏輯,那么SEM IP在初次查詢ICAP接口時就會失敗,從而導致IP初始化異常。 但是只要正常釋放ICAP控制權,IP就可以開始工作了。
以上為幾種常見的沖突情況。如果你碰到更多的異常,歡迎到中文論壇咨詢。
審核編輯:湯梓紅
-
FPGA
+關注
關注
1630文章
21796瀏覽量
606011 -
噪聲
+關注
關注
13文章
1125瀏覽量
47517 -
SEM
+關注
關注
0文章
234瀏覽量
14498 -
PHY
+關注
關注
2文章
305瀏覽量
51862
發布評論請先 登錄
相關推薦
評論