【正文】
zes placements which require more routing in areas of the FPGA that have narrower channels. All the results in this paper, however, are obtained with FPGAs in which all channels have the same capacity. In this case Cav is a constant and the linear congestion cost function reduces to a bounding box cost good annealing schedule is essential to obtain highquality solutions in a reasonable putation time with simulated annealing. We have developed a new annealing schedule which leads to very highquality placements, and in which the annealing parameters automatically adjust to different cost functions and circuit sizes. We pute the initial temperature in a manner similar to [11]. Let Nblocks be the total number of logic blocks plus the number of I/O pads in a circuit. We first create a random placement of the circuit. Next we perform Nblocks moves (pairwise swaps) of logic blocks or I/O pads, and pute the standard deviation of the cost of these Nblocks different configurations. The initial temperature is set to 20 times this standard deviation, ensuring that initially virtually any move is accepted at the start of the in [12], the default number of moves evaluated at each temperature is. This default number can be overridden on the mand line, however, to allow different CPU time / placement quality tradeoffs. Reducing the number of moves per temperature by a factor of 10, for example, speeds up placement by a factor of 10 and reduces final placement quality by only about 10%.When the temperature is so high that almost any move is accepted, we are essentially moving randomly from one placement to another and little improvement in cost is obtained. Conversely, if very few moves are being accepted (due to the temperature being low and the current placement being of fairly high quality), there is also little improvement in cost. With this motivation in mind, we propose a new temperature update schedule which increases the amount of time spent at temperatures where a significant fraction of, but not all, moves are being accepted. A new temperature is puted as Tnew = a Told, where the value of a depends on the fraction of attempted moves that were accepted (Raccept) at Told, as shown in Table , it was shown in [12, 13] that it is desirable to keep 15 Raccept near for aslong as possible. We acplish this by using the value of Raccept to control a range limiter only interchanges of blocks that are less than or equal to Dlimit units apart in the x and y directions are attempted. A small value of Dlimit increases Raccept by ensuring that only blocks which are close together are considered for swapping. These“l(fā)ocal swaps” tend to result in relatively small changes in the placement cost, increasing their likelihood of acceptance. Initially, Dlimit is set to the entire chip. Whenever the temperature is reduced, the value of Dlimit is updated according to, and then clamped to the range 1 163。在不久的將來 VPR將支持緩沖和分段路由結(jié)構(gòu),我們計(jì)劃增加定時(shí)分析儀和時(shí)序驅(qū)動(dòng)的路由。 VPR的主要設(shè)計(jì)目標(biāo)之一是保持足夠的靈活性,允許工具使用在很多 FPGA架構(gòu)的研究上。建立專門用于描述精密學(xué)術(shù)的 FPGA布局布線工具。上可以找到 6結(jié)論和未來工作 我們已經(jīng)提出了一個(gè)優(yōu)于所有這類工具的新的 FPGA布局布線工 具,它讓我們可以進(jìn)行直接的比較。而不是 1美元),由他們來處理如果減少需要跟蹤的總數(shù)。為了鼓勵(lì)其它 FPGA研究人員公布的結(jié)果,以這些大型路由基準(zhǔn),我們發(fā)出以下 “FPGA的挑戰(zhàn)。顯然,世嘉處理無法進(jìn)行。仿真無法成功,因?yàn)槭兰芜\(yùn)行路由內(nèi)存不足。表 5還給出了大小每個(gè)邏輯塊的數(shù)量計(jì)算電路。每個(gè)電路被放置在最小的正方形FPGA可 以包含它的路由并且輸入引腳 doglegs 是不允許的。我們使用 Flowmap [28]以技術(shù)圖每 4個(gè) LUT和拖動(dòng)塊并為 VPACK tobine 拖動(dòng)塊,進(jìn)入我們的基本邏輯電路塊 LUT。 大電路 在第 54至 358的邏輯基準(zhǔn)塊范圍內(nèi)使用面積計(jì)算顯然太小,因?yàn)檫@是特殊的 FPGA。當(dāng)然這些工具都支持允許布局和布線的電路,對(duì)于 SPLACE / SROUTE組合 VPR還需要少 29%資源數(shù)目。 8 Doglegs 實(shí)驗(yàn) 比較了 VPR與 SPLACE / SROUTE工具,不允許輸入引腳 doglegs 的性能。執(zhí)行安置和全局路 7 由,在試圖改善繞線同時(shí)需要超過 87%以上 VPR總資源數(shù)目。列出所有電路邏輯快的消息清單。列出三兩步(全球和詳細(xì))路由與其它路由器進(jìn)行合并后的全球和詳細(xì)的路由。在本節(jié)中我們比較了所需的最低數(shù)目,每一條成功的路徑和CAD工具的路由設(shè)置。另外,通常有一個(gè)緩沖軌道之間的連接塊和它連接多路復(fù) 用這樣做的目的是為了提高速度,同時(shí)這也意味著緩沖輸入引腳 doglegs 不能被使用。我們將把這個(gè)作為一個(gè)輸入管腳 doglegs。 Doglegs 以往大多數(shù) FPGA布線結(jié)果認(rèn)為 “輸入引腳 doglegs”是可能。每個(gè)邏輯塊的輸入或輸出連接任何相鄰?fù)ǖ溃?s)(即 Fc的 =寬)。時(shí)鐘網(wǎng)和時(shí)序電路沒有遞交,因?yàn)樗ǔJ锹酚赏ㄟ^專用 FPGA的商業(yè)網(wǎng)絡(luò)中的路由。 5實(shí)驗(yàn)結(jié)果 各種 FPGA在本節(jié)中使用的參數(shù),總是選擇與先前參數(shù)有明顯對(duì)比的那些參數(shù)。由于增加新的路徑路由的部分有一個(gè)零成本,由于這項(xiàng)新路徑通常相當(dāng)小迷宮路由器將首先擴(kuò)大它范圍,也需要相對(duì)較少的時(shí)間來添加此新波,如果整個(gè)波前擴(kuò)展了能實(shí)現(xiàn)那么下一個(gè)接收器 6 將達(dá)到的速度遠(yuǎn)遠(yuǎn)超過現(xiàn)在。當(dāng)達(dá)到凈水槽值時(shí),加入所有路由資源分部需要連接水槽和目前的局部路由成本為 0 的波前(即擴(kuò)展列表)。因此,后者調(diào)用迷宮路由器的路由部分作為凈源會(huì)非常大,它將需要相當(dāng)長(zhǎng)的時(shí)間以擴(kuò)大迷宮路由器波前部分到下一個(gè)接收器。不幸的是,這種方法需要高扇出網(wǎng)絡(luò)相當(dāng)多的 CPU時(shí)間。波前的迷宮路由被清空,新波前擴(kuò)展是從整個(gè)網(wǎng)絡(luò)布線開始發(fā)出的。在第一次調(diào)用迷宮路由波從凈源擴(kuò)大,直到它到達(dá)任何的 K – 1值之后。一個(gè)重要的執(zhí)行細(xì)節(jié)值得一提。對(duì)于本文的實(shí)驗(yàn)結(jié)果,我們?cè)O(shè)置路由器的最大數(shù)量迭代為 45,如果電路中路由沒有成功,一定數(shù)目的目錄中 45迭代就被假定為不可路由通道的寬度。對(duì)使用路由資源成本的函數(shù),其對(duì)資源的任何過度使用都會(huì)讓當(dāng)前路由發(fā)生事先迭代。 基本上該算法由最初各條線路的最短路徑找到網(wǎng), 無論任何接線段或邏輯 塊管腳,都可能會(huì)導(dǎo)致過度使用。當(dāng)溫度高于平均凈成本的一個(gè)單位時(shí),它是不可能接受任何成本增 5 加的調(diào)配結(jié)果的,所以我們終止了退火。每當(dāng)溫度降低, Dlimit整個(gè)芯片的尺寸為這個(gè)結(jié)果退火的第一部分,逐漸萎縮退火過程中的中間階段,并正在為退火低溫第 1部分最后設(shè)計(jì)余量,當(dāng) T退火終止 “*成本 / Ns。而這些 “本地交換 “往往導(dǎo)致安置成本相對(duì)較小的變 化,越來越多被接受的可能性增加。塊是小于或等于交匯處的值,Dlimit單位除了在 X和 Y方向嘗試。如表 1: 最后,它表明在 [12, 13],這是可取的 Raccept保證作為近似 值。相反,如果動(dòng)作是很少被接受( 因溫度當(dāng)前正處于低位,安置相當(dāng)高的品質(zhì)),也有不少改善成本。減少溫度每秒移動(dòng)數(shù)的 10倍,例如,加快安置到 10倍,并降低了大約只有 10%的最終填筑質(zhì)量。正如在 [12],默認(rèn)號(hào)碼的行為在每個(gè)溫度都有評(píng)價(jià)。接下來,我們執(zhí)行 Nblocks 移動(dòng)(成對(duì)掉期 )的邏輯塊或 I / O口,并計(jì)算出不同的成本,這些 Nblocks 標(biāo)準(zhǔn)偏差配置。讓 Nblocks 是總數(shù)邏輯塊加的 I / O口電路中的數(shù)量。我們已經(jīng)開發(fā)出一種新的退火附表,導(dǎo)致非常高品質(zhì)的展示位置,并在其中給出退火參數(shù)的自動(dòng)調(diào)節(jié)功能,不同的成本和電路尺寸。在這種情況下,賈夫是一個(gè)常數(shù),函數(shù)的線性阻塞耗費(fèi)降低到一個(gè)包圍盒的成本函數(shù)。 4 賈夫常數(shù) x( n)、 ?( n)為平均信道容量(在首部)在 X和 Y方向,分別比較全凈邊框和成本函數(shù)的余量,需要更多的調(diào)配路由的領(lǐng)域, FPGA具有窄渠道。它的價(jià)值取決于凈 N兩端號(hào)碼 。對(duì)于每一個(gè)網(wǎng),北方新宇和 bby指出在其邊界框的水平和垂直跨度分別為 Q( n)的因數(shù)補(bǔ)償。我們已經(jīng)嘗試與幾個(gè)不同的成本函數(shù)聯(lián)系,發(fā)現(xiàn)我們稱之為線性擠塞的成本函數(shù)提供了一個(gè)合理 的計(jì)算時(shí)間,最好的結(jié)果 [8]。這些“clusterbased”邏輯塊類似于最近由 Altera FPGA開發(fā)的工具類型。 VPACK可以針對(duì)邏輯塊組成一個(gè) LUT,如圖 2所示,因?yàn)檫@是一種常見的 FPGA邏輯元件。最后, VPR的內(nèi)置圖形允許交互式可視化的布局,路由可用資源和互連的可能途徑路由資源。雖然 VPR最初是島式 FPGA的開發(fā) [2, 3],它也可以和以行為為基礎(chǔ)的 FPGA應(yīng)用 [4]。每個(gè)路由跟蹤和建設(shè)中的每一個(gè)腳成為在這個(gè)圖中的節(jié)點(diǎn), 圖邊表示為允許的連接。 3 當(dāng)前的體系結(jié)構(gòu)描述格式不允許跨越多個(gè)領(lǐng)域和多個(gè)邏輯塊和被列入路由體系結(jié)構(gòu),但我們目前加入此功能。此外,如果全球路由要執(zhí)行,你也可以指定: ?橫向和縱向通道的相對(duì)寬 度之和 ?在不同區(qū)域的 FPGA的渠道相對(duì)寬度。 VPR 的輸出由布局、布線和統(tǒng)計(jì)組成,評(píng)估一項(xiàng)有用的工具 FPGA 架構(gòu),如路由線長(zhǎng),跟蹤計(jì)數(shù)最大凈長(zhǎng)度。 VPR 投入到由一個(gè) technologymapped 網(wǎng)表和一個(gè)文本文件描述了的 FPGA架構(gòu)中。在第 6 節(jié)得出了我們的結(jié)論,并提出一些