IO standard是根據(jù)你所要輸入的電平來設(shè)置,Group是根據(jù)所分配的信號端口自動確定,而每個引腳的IO Bank本身已經(jīng)確定!
另外,分配的引腳所屬的IO Bank不同有關(guān)系嗎?引腳的分配除了要考慮專用引腳和用戶引腳的區(qū)別外,還要考慮什么因素?
一一回答,從簡單到復(fù)雜。
首先說IO standard:這個是用于支持對應(yīng)不同的電平標(biāo)準(zhǔn)。FPGA IO口的電壓由IO bank上的VCC引入。一個bank上引入3.3V TTL電平,那么此時整個bank上輸出3.3V的TTL電平。設(shè)置這個第 一是為了和current strength一起計算功率。第 二個是用于在IO口上加載正確的上拉/下拉電阻。只要你設(shè)置完成,Quartus會按照你的電平標(biāo)準(zhǔn)自動布線。
第 二是IO Bank:你在quartus pin planner 的top view下右鍵然后點擊 show IO banks,這個時候就會看到FPGA的管腳被幾種顏色劃分開了。一種顏色下的IO口代表一組bank。你在吧管腳的location約束完成以后。IO Bank會自動填充完畢的。
第三是Group:Group就是你所輸出的信號的名字啦。比如你有一組信號叫cnt。你對cnt的某一根賦值,那么。。這里的Group會自動填充為cnt 。
第四是Reserved:這個是對管腳內(nèi)部的IO邏輯進(jìn)行約束的,你在下面可以看到一些值。介紹幾個吧。bidrecTIonal:雙向,tri-state:三態(tài)等等。這個約束的是FPGA在IO端的輸入輸出區(qū)域的邏輯。比如你選擇tri-state。那么這個時候,在你IO口前部的IO區(qū),quartus會自動給你生成一個三態(tài)門。
第五個是Vref Group:這個Group是bank內(nèi)部的細(xì)分區(qū)域,因為一個bank可能多達(dá)60個腳。為了快速定位,你可以利用這個vref group來找到某個管腳。(這個是非修改屬性)無法修改。
你的理解是正確的,另外,跨越IO bank的信號沒有問題。只是注意跨bank的電平是否一致即可。對于跨IO bank的延遲對于FPGA而言沒有多少延遲。
管腳分配呢,你可以看一下quartus里面pin planner內(nèi)部那張 top view對于每個管腳的說明。大多數(shù)管腳是可以當(dāng)做普通IO使用的。只是有些特殊要求的時候。只可以使用對應(yīng)的IO,比如差分輸入,高時鐘輸入等等。這個是要參照對應(yīng)器件的IO 手冊來決定的。而且對應(yīng)的設(shè)計大多數(shù)的器件生產(chǎn)商都會給出參考設(shè)計。里面包括了IO的設(shè)計,PCB的設(shè)計以及內(nèi)部程序端口的約束。所以具體問題具體分析。