Vivado使用技巧(12):設定DCI與內部參考電壓

FPGADesigner發表於2018-08-18

DCI與內部參考電壓

Xilinx FPGA提供了DCI(Digitally Controlled Impedance)技術,包括兩個功能:(1).控制驅動器的輸出阻抗;(2).為驅動器或傳送器新增一個並行端接,在傳輸線上得到精確的特徵阻抗匹配,以提高訊號完整性。DCI會主動調整I/O bank內的阻抗,以調整放在VRN和VRP管腳之間的外部精準參考電阻,這樣可以補償由於工藝變化、溫度變化和電源電壓抖動引起的I/O阻抗變化。每個I/O bank內都有兩個複用引腳來控制該bank內所有I/O的阻抗或並行端接值。

帶有差分輸入緩衝區的單端I/O需要一個參考電壓Vref,可以使用專用的Vref管腳為每個I/O bank提供參考電壓。另外也可以使用INTERNAL_VREF約束來生成內部參考電壓,這樣PCB上就不需要為Vref提供電源線,也可以釋放Vref管腳作為通用I/O使用。每個bank都可以設定一個可選的內部參考電壓。

Ug471和ug571分別介紹了7系列和UltraScale系列中DCI和INTERNAL_VREF的詳細資訊。本文將介紹在Vivado中設定與之相關的DCI_CASCADEINTERNAL_VREF屬性。


建立DCI_CASCADE約束

DCI_CASCADE約束可以將多個相鄰的I/O bank級聯在一起,共享DCI參考電壓。其中包含DCI參考電壓的稱作主bank;級聯的其它I/O bank稱作從bank。每個級聯鏈都必須有一個主bank和至少一個從bank。

Device Constraints視窗中,選擇DCI Cascade
這裡寫圖片描述
Unused資料夾中顯示了未新增到DCI級聯鏈中的I/O bank,選擇需要新增的所有bank,右鍵->Add DCI Cascade建立級聯鏈,彈出如下視窗:
這裡寫圖片描述
選擇主bank,點選OK則建立好級聯鏈,顯示在視窗中:
這裡寫圖片描述
或者直接將某一bank拖動到另一bank上也可以完成相應操作。設定DCI_CASCADE約束對應的XDC命令如下:

set_property DCI_CASCADE {33} [get_iobanks 34]

get_iobanks選擇的為主bank,{}中的是新增到級聯鏈中的從bank,以空白為間隔。上述建立的約束需要點選儲存,如果設計已經有了XDC約束檔案,約束命令會新增到檔案末尾。


建立INTERNAL_VREF約束

使用INTERNAL_VREF約束可以生成FPGA的內部參考電壓。這樣就不需要在PCB上提供Vref電源線,且可以釋放Vref管腳作為通用I/O使用。

在Device Constraints視窗中選擇“Internal VREF”,列出了該晶片支援的內部參考電壓,NONE資料夾中的I/O bank表示沒有設定INTERNAL_VREF約束。
這裡寫圖片描述
建立INTERNAL_VREF約束,只需要將I/O bank拖到對應參考電壓的資料夾中即可;拖到NONE中表示撤銷參考電壓設定。該設定對應著約束命令,需要儲存到XDC約束檔案中,示例如下:

set_property INTERNAL_VREF 0.75 [get_iobanks 14]
set_property INTERNAL_VREF 0.675 [get_iobanks 15]

相關文章