如何使用PlanAhead/Adept加速管腳排布
原文:在排布FPGA管腳生成ucf文件的過程中,當(dāng)FPGA管腳較多的時(shí)候,手工排布管腳不僅效率低,而且很容易出錯(cuò)。借助PlanAhead和Adept等工具,可以很方便快速的實(shí)現(xiàn)管腳排布。特別是當(dāng)需要排布的管腳有一定的規(guī)律或者需要滿足一些條件時(shí),使用工具進(jìn)行管腳排布具有很明顯的優(yōu)勢(shì)。
當(dāng)大量管腳需要分配時(shí),首先需要將這些管腳分配到指定的區(qū)域內(nèi),如將同一條總線的管腳分配在同一個(gè)bank里面,將同一個(gè)接口所有管腳分配在幾個(gè)連續(xù)的bank里面等等。因此,首先可以準(zhǔn)備一個(gè)ucf,然后將需要分配的管腳錄入,只指明線網(wǎng)名字和電平標(biāo)準(zhǔn)。然后在PlanAhead里面建立一個(gè)進(jìn)行IO Planning的工程,導(dǎo)入這個(gè)ucf。如果導(dǎo)入的是一個(gè)已經(jīng)排布好的管腳,需要重新排布,可以選中所有管腳,去除現(xiàn)有排布;如果有差分信號(hào)線,首先將差分信號(hào)線的P和N綁定。然后指定所選bank里面的禁用管腳,將指定的管腳組(如一條總線)放入此bank中,使用的命令是place IO port in an IO bank。對(duì)于放置在同一個(gè)bank中的不同類型信號(hào),如普通數(shù)據(jù)總線和時(shí)鐘輸入信號(hào),可以先將該bank的所有時(shí)鐘功能管腳、VREF管腳、VRP/VRN功能都先禁止掉,然后把數(shù)據(jù)總線排布下去,然后打開被禁用的是時(shí)鐘功能管腳,再將時(shí)鐘功能管腳自動(dòng)排布下去。按照此方法,依次將所有的管腳放入指定區(qū)域。此時(shí),所有管腳都已經(jīng)按一定的順序規(guī)則的排布在各個(gè)bank里面,如一條位寬為36bits的總線,總線內(nèi)各個(gè)管腳按編號(hào)從小到大一次排布在芯片的連續(xù)36個(gè)管腳位置;如果是差分信號(hào),則P/N對(duì)分別放置在bank的一對(duì)P/N管腳上。 完成此過程以后,將管腳排布結(jié)果導(dǎo)出到ucf里面,然后再將ucf導(dǎo)入到Adept中,進(jìn)行小范圍內(nèi)的調(diào)整。在Adept界面中,可以看到一個(gè)bank中各種管腳的類型,現(xiàn)在需要做的,是在bank范圍內(nèi)做微調(diào)。具體而言,如果隨路時(shí)鐘輸入沒有走時(shí)鐘管腳,則需要將隨路時(shí)鐘輸入放置在SRCC或MRCC管腳上,如果本bank有管腳電平標(biāo)準(zhǔn)需要用到VREF和DCI,則必須把VREF和VRP/VRN管腳保留,不能用作用戶管腳。這些操作只需在Adept界面執(zhí)行簡(jiǎn)單的粘貼復(fù)制命令就能完成,不容易引入書寫錯(cuò)誤,而且只需花費(fèi)少量的時(shí)間就可完成。當(dāng)這些細(xì)節(jié)調(diào)整做好以后,就可以將結(jié)果再次導(dǎo)出到ucf中,此時(shí)ucf中管腳排布按照bank整齊的排列,在同一個(gè)bank中也是按順序排布。在此ucf的基礎(chǔ)上,稍作整理,就產(chǎn)生了最終可用的ucf文件。
評(píng)論