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