由於 UG-01145_avst 2017.05.15 - 6.12.1 的組態空間註冊存取時間錯誤的參考代碼,Intel® Arria® 10 和 Intel® Cyclone® 10 PCIe* 交易層配置空間存取將不穩定。這是因為 tl_cfg_* 介面受多週期限制所覆蓋,但代碼與它不符。
代碼如下:
永遠 @(coreclkout_hip)
開始
偵測位址變更
cfg_addr_reg[3:0]
cfgctl_addr_change
...
結束
若要解決這個問題,請將參考代碼升級為 UG-01145_avst |2019.05.22 - 5.12.1 組態空間註冊存取時間。
另外還新增了一條管道,以避免多週期計時風險。
代碼如下:
永遠 @(coreclkout_hip)
開始
tl_cfg_add_reg
tl_cfg_add_reg2
結束
偵測位址變更以產生頻閃以取樣輸入 32 位資料
永遠 @(coreclkout_hip)
開始
cfgctl_addr_change
cfgctl_addr_change2
cfgctl_addr_strobe
結束