Vivado使用入門之三:I/O約束
一、導(dǎo)圖概覽

二、I/O約束
2.1 I/O約束的內(nèi)容
I/O約束主要是對port的位置和電氣特性進行設(shè)置,進入菜單欄Window的IO Ports,可以查看可約束的相關(guān)內(nèi)容。

一些port的常用特性解釋如下
Name: port的名稱
Direction:port的輸入輸出類型,有三種,輸入in,輸出out,雙向端口inout
Package Pin:port約束的位置
I/O Std:port的IO標準
Bank:port所屬的時鐘區(qū)域
Vcco:電源供電電壓
Fixed:是否固定位置
Vref:參考信號電壓
Driver strength:輸出buffer的驅(qū)動強度,單位是mA,和I/O標準有關(guān)聯(lián)關(guān)系
Slew type:上升沿和下降沿變化的快慢
2.2 I/O 類型
器件中可以布局I/O的pin類型可以查看Package的設(shè)置界面,菜單欄Window->Package打開芯片的port分布圖,點擊右上角的紅框內(nèi)的設(shè)置圖標,展開查看界面

在Pins組中,對Package的pin進行了分類
Power Supply Pins:電源供應(yīng)引腳,如電源VCC和接地GND等
Transceiver Pins:高速收發(fā)器的引腳
I/O and Multi-Function Pins:放置I/O的引腳,用戶使用頻率最多的
Temperature Sensor Pins:溫度傳感器引腳
Dedicated Configuration Pins:降級配置引腳,在該位置,時鐘端口不需要降級參數(shù)設(shè)置能不上時鐘樹到時鐘load
Dedicated XADC Pins:降級的XADC引腳
三、 I/O約束的方法
????設(shè)置I/O約束,有3中界面操作方式,I/O port表格中設(shè)置,port拖入Package中設(shè)置,port拖入Device中設(shè)置,三種方式都可以實現(xiàn)I/O port的位置約束,在設(shè)定位置約束后,其他屬性的約束就只能在I/O port界面設(shè)置。
3.1 I/O ports中約束
?????I/O ports界面入口:菜單欄中Window->I/O ports,位置設(shè)置為在Package Pin列輸入需要設(shè)置的位置,點擊單元格左下角的向下箭頭打開下拉框,顯示可選項。

除了設(shè)置位置約束,還可以設(shè)置其他屬性

菜單欄Window->Package打開芯片的port分布圖,按bank劃分,橫坐標為數(shù)字,縱坐標為字母,里面的單元格就可放置IO PORT,不是所有的單元格都可以放置port,下圖中紅框中帶有橙色長方形標注的即是已約束的IO PORT。

3.2?Package中約束
上節(jié)說到修改I/O Ports中Package Pin列的值可設(shè)置約束,下面有一種更簡單的方法,鼠標左鍵選中需要約束port,按住左鍵可將port直接拖入Package中,對于放置在不可約束的位置時,會有禁止的圖標(帶斜杠的圓圈)出現(xiàn),也會出現(xiàn)提示語不能放置。

約束后如果要在Package中快速找到約束的位置,可在I/O Ports界面選中port,進行highlighth或mark進行指定顏色標記,mark將在目標位置標記指定顏色背景的菱形,highlight將對目標的邊框進行指定顏色的標記。

如對KEY進行mark標記,顏色為黃色,下圖package視圖內(nèi),將能夠輕易找到位置

3.3?Device中約束
? ?I/O ports不僅可以在Package中進行位置約束,也可以在Device窗口中進行約束,I/O的約束位置即為左右兩側(cè)Banks的區(qū)域

操作:在I/O Ports中選中要約束的port,將Device圖中BANK區(qū)域放大,可以看到各個位置的坐標。port中包含INBUF和OUTBUF說明即可以放置input port,也可以放置output port。

在Package pin列中輸入要在Device放置的位置,放置后在Device中可以手動拖動進行位置修改。port原先約束在AA19,選中AA19中pad的位置,按照左鍵移動到W18,即可將其約束到W18

3.4?差分IO
差分IO是一種比較特殊的IO,必須成對的使用,占用2個port的位置,約束時對位置有限制。
可以使用后綴帶DS的原語進行例化出查分端口

示例代碼
差分IO中分為P端口和N端口,位置不能反。在I/O ports中,I對應(yīng)的Neg Diff Pair有對應(yīng)的端口IB。

將I和IB約束位置交換時,提示交換無效。

在Device界面中,可以看到I布局在IO_L21P位置,IB布局在IO_L21N位置。在其他位置也都存在名稱后面帶P,N支持放置差分端口的位置,而像左上角AG15,則只能放單端口的port。

3.5?方法對比
I/O port:可以直接進行位置約束,并且在確定位置約束后,可以進行其他屬性的約束
Package約束I/O:可以直觀清楚的看到各個位置在芯片中所屬的bank,以及port的類型,特定屬性等
Device約束I/O:可以直觀清楚看到各個位置在芯片的實際物理位置,方便約束I/O后對相關(guān)網(wǎng)表進行約束,也可以看到I/O PORT在芯片上的內(nèi)部組成模塊