使用 PlanAhead Design 工具提高設(shè)計(jì)性能
PlanAhead 軟件提供了一種解決方案
越來越多的客戶在賽靈思® PlanAhead™ 設(shè)計(jì)分析工具提供的層次化設(shè)計(jì)方法學(xué)中找到解決方案。PlanAhead 軟件為 FPGA 設(shè)計(jì)流程增加了可視性和控制。通過解決物理方面(介于邏輯綜合和實(shí)現(xiàn)工藝之間)的問題,您可在您的設(shè)計(jì)結(jié)果中實(shí)現(xiàn)性能的提高。
雖然先進(jìn)的 FPGA 綜合產(chǎn)品為幾百萬門設(shè)計(jì)提供極高的自動(dòng)優(yōu)化水平,許多設(shè)計(jì)者仍需要具有更多啟發(fā)性的技術(shù),以達(dá)到最佳性能目標(biāo)。通過提供早期分析和布局規(guī)劃 (floorplanning)功能,PlanAhead 設(shè)計(jì)工具可以施加物理約束,以幫助控制設(shè)計(jì)的初始實(shí)現(xiàn)。實(shí)現(xiàn)后,PlanAhead 軟件可以分析布局和時(shí)序結(jié)果,以改進(jìn)用于完成設(shè)計(jì)的布局規(guī)劃。您可以使用來自導(dǎo)入結(jié)果的物理約束,在后續(xù)實(shí)現(xiàn)嘗試期間鎖定布局。這些約束可用于創(chuàng)建可重用 IP,連同鎖定布局,一同用于其它設(shè)計(jì)。
PlanAhead 設(shè)計(jì)方法提供了性能、生產(chǎn)力以及結(jié)果的可重復(fù)性。憑借其層次化設(shè)計(jì)流程,PlanAhead 軟件可讓您減少運(yùn)行 PAR 然后返回 RTL 與綜合的反復(fù)次數(shù)。相反
,您可以分析設(shè)計(jì)并在實(shí)現(xiàn)之前解決物理方面的問題。
更少的時(shí)間,更快的結(jié)果
PlanAhead 用戶通??梢詫?shí)現(xiàn) 10-15% 的性能提升,有些用戶甚至可以實(shí)現(xiàn)更高。此外,設(shè)計(jì)者還發(fā)現(xiàn)他們可以在一個(gè)緊湊的器件中額外加入 10% 的邏輯。更快的性能與更高的利用率的結(jié)合意味著可以使用更小更便宜的器件,或者以更低的速度等級(jí)實(shí)現(xiàn)設(shè)計(jì)目標(biāo)。
PlanAhead 設(shè)計(jì)工具可在縮短總設(shè)計(jì)時(shí)間的同時(shí),還在結(jié)果中增加一定的一致性水平。通過利用以前的布局規(guī)劃或增量設(shè)計(jì)技術(shù),您可以以更少的時(shí)間執(zhí)行設(shè)計(jì)反復(fù),實(shí)現(xiàn)可重復(fù)的結(jié)果。您還可以利用成功結(jié)果,將它們鎖定下來或在其它設(shè)計(jì)中重用。
解決真正棘手的性能問題所需要的絕不僅僅是增加新的菜單項(xiàng)或腳本能力。PlanAhead 軟件通過使用各種視圖(見圖 1)展示設(shè)計(jì)數(shù)據(jù),提供了一個(gè)完整的環(huán)境,使該層次化方法實(shí)現(xiàn)交互并易于使用。這些獨(dú)立的視圖可以相互結(jié)合使用,從而允許您快速識(shí)別和瀏覽關(guān)鍵設(shè)計(jì)對(duì)象和信息。
圖 1:PlanAhead 軟件提供了設(shè)計(jì)的不同視圖,以顯示物理層次、屬性、網(wǎng)表與約束、器件封閉引腳、原理圖及更多。
可視化確定性能瓶頸
PlanAhead 環(huán)境通過顯示 I/O 互連和物理塊(或 “Pblock”)網(wǎng)束 (net bundle),提供了洞察設(shè)計(jì)數(shù)據(jù)流的能力。您可以根據(jù)信號(hào)數(shù)量控制網(wǎng)束的顏色和線厚。這使您能容易地在貫穿設(shè)計(jì)的整個(gè)數(shù)據(jù)流中確定具有大量連接的 Pblock。然后您可以采取校正措施,避開布線擁塞故障點(diǎn),并將具有大量連接的 Pblock 相近放置或?qū)⑺鼈兒喜ⅰ?/p>
您還可顯示時(shí)鐘區(qū),并在布局規(guī)劃時(shí)使用它來優(yōu)化各個(gè)時(shí)鐘或最大程度地降低器件中的功耗。通過將時(shí)鐘隔離到專門的時(shí)鐘區(qū),它們可以運(yùn)行得更快,并消除了為其它時(shí)鐘區(qū)供電的需要。
您可以在設(shè)計(jì)過程中的各個(gè)階段使用 PlanAhead 設(shè)計(jì)工具的分析和探測(cè)環(huán)境。最初,您可以在實(shí)現(xiàn)之前分析設(shè)計(jì)。PlanAhead 軟件提供了一個(gè)靜態(tài)時(shí)序引擎 TimeAhead,用于研究設(shè)計(jì)在時(shí)序方面的可行性。您還可以通過調(diào)整純邏輯延遲,在不進(jìn)行互連的情況下,使用估計(jì)的布線延遲執(zhí)行分析。這可以讓您看清楚設(shè)計(jì)中存在多大的時(shí)序容差。
然后您可以在 PlanAhead 環(huán)境中編輯和精調(diào)時(shí)序約束。這些相同的分析結(jié)果可以幫助確定哪些邏輯應(yīng)組合在一起并進(jìn)行布局規(guī)劃。針對(duì)布局規(guī)劃,您可對(duì)路徑進(jìn)行邏輯排序、組合和選擇,還可以使用同一 TimeAhead 環(huán)境處理從 TRCE 導(dǎo)入的時(shí)序結(jié)果,TRCE 是賽靈思 ISE™ 軟件中的時(shí)序評(píng)估工具。
您可以查看和修改為設(shè)計(jì)指定的時(shí)序約束。您可以在編輯器中將所有 ISE 時(shí)序約束定義為新約束。這可以使約束指定變得更容易,因?yàn)槟槐卦儆涀iT的約束格式了。您可以在運(yùn)行任何 ISE 實(shí)現(xiàn)工具之前,將其與 TimeAhead 一起使用以驗(yàn)證和優(yōu)化約束集。
PlanAhead 設(shè)計(jì)工具提供了可視輔助,以幫助您理解物理實(shí)現(xiàn)結(jié)果。設(shè)計(jì)規(guī)則檢查 (DRC) 功能可幫助您及早捕獲錯(cuò)誤。它還會(huì)對(duì)未正確利用某些器件資源(如 Virtex™-4 FPGA 中的 XtremeDSP™ 切片或 RAM)的設(shè)計(jì)進(jìn)行標(biāo)記。
通過將問題區(qū)域可視化,您可以在 RTL 側(cè)或物理實(shí)現(xiàn)側(cè)快速解決問題,而不必繼續(xù)重復(fù)進(jìn)行 RTL 與綜合。您可以對(duì)各個(gè)邏輯模塊進(jìn)行選擇性地高亮顯示,以更好地了解它們放置的位置,以及創(chuàng)建在邏輯最集中區(qū)域的Pblock。您可以高亮顯示故障時(shí)序路徑,以可視化和了解您的設(shè)計(jì)中發(fā)生了什么物理問題。 PlanAhead 軟件包含了量度圖 (metric map),以快速確定設(shè)計(jì)的故障區(qū)域(圖 2)。這些可能與時(shí)序或利用率有關(guān)。這對(duì)您在試圖確定設(shè)計(jì)中要關(guān)注的區(qū)域以實(shí)現(xiàn)邏輯壓縮或時(shí)序連接性時(shí)會(huì)很有用。
圖 2:量度圖提供了設(shè)計(jì)中各種潛在問題區(qū)域的熱量度顯示。當(dāng)前量度包括 Pblock 和布局后設(shè)計(jì)級(jí)的利用率和時(shí)序檢查。
PlanAhead 設(shè)計(jì)工具允許您研究設(shè)計(jì)中的連接性。您在設(shè)計(jì)中選擇一個(gè)特定的網(wǎng)絡(luò)、Pblock 或?qū)嵗?,可以通過單擊鼠標(biāo)高亮顯示所有連接到選定元素的網(wǎng)絡(luò)。
在選擇一個(gè)實(shí)例或 Pblock 后,所有連接到該元素的網(wǎng)絡(luò)都將被高亮顯示。這一過程可以繼續(xù),以選擇和擴(kuò)展邏輯錐形。運(yùn)行“顯示連接性”將高亮顯示連接到選定實(shí)例的下一級(jí)網(wǎng)絡(luò)。這是一種選擇從某個(gè)特定實(shí)例或 I/O 端口開始的邏輯錐區(qū)的簡易方法,從而可真正實(shí)現(xiàn)對(duì)設(shè)計(jì)層次優(yōu)勢(shì)的利用。
... 然后解決性能問題
整個(gè)想法是要提供一個(gè)綜合環(huán)境,以分析時(shí)序問題并輕松約束該邏輯以避免或糾正該問題。您可以使用來自 TimeAhead 或 TRCE 的時(shí)序結(jié)
果進(jìn)行布局規(guī)劃,通過幫助確定哪些邏輯應(yīng)組合在一起并進(jìn)行布局規(guī)劃來進(jìn)行更好的性能設(shè)計(jì)。
關(guān)鍵路徑通常穿越邏輯層次。PlanAhead 軟件支持獨(dú)立于邏輯層次的物理層次,從而使您可將設(shè)計(jì)中任意位置的邏輯組合在一起并有效地進(jìn)行布局規(guī)劃。
PlanAhead 軟件還提供了資源利用估算功能,以幫助確定 Pblock 的尺寸和形狀。同樣這些統(tǒng)計(jì)資料還可報(bào)告時(shí)鐘信息、供應(yīng)鏈和 PRM 適應(yīng)尺寸以及各種其它有用信息。
PlanAhead 設(shè)計(jì)工具提供了自動(dòng)布局能力,如基于邏輯層次的自動(dòng)分區(qū)和自動(dòng) Pblock 尺寸確定與放置。由于使用單個(gè) Pblock 矩形來包含所需的器件資源通常很困難,因此可以使用多個(gè)矩形創(chuàng)建非矩形-線性形狀。PlanAhead 軟件還允許您在 Pblock 內(nèi)創(chuàng)建 Pblock,或創(chuàng)建“子”Pblock,以幫助更好地維護(hù)設(shè)計(jì)層次。
器件容量可通過壓縮 Pblock 的邏輯進(jìn)行提高。您可以使用以下兩種方法中的一種來實(shí)現(xiàn)。一種方法是使用稱為 COMPRESSION 的賽靈思 AREA_GROUP 屬性。AREA_GROUP 是一種設(shè)計(jì)實(shí)現(xiàn)約束,支持將設(shè)計(jì)分成用于映射、打包、布局和布線的物理區(qū)域。使用 COMPRESSION 屬性將導(dǎo)致 ISE Mapper 將無關(guān)的邏輯打包成未使用的 CLB 站。使用它時(shí)請(qǐng)小心,因?yàn)樗鼤?huì)對(duì)時(shí)序產(chǎn)生副作用。
改善性能的最佳策略是壓縮非時(shí)序關(guān)鍵型邏輯,從而在器件中騰出更多空間用于時(shí)序關(guān)鍵型邏輯。第二種選項(xiàng)是使用 PlanAhead 功能對(duì)在 Pblock 上獨(dú)立運(yùn)行 PAR。 您可以持續(xù)縮減 Pblock 尺寸,直到 PAR 失敗。這將盡可能緊地壓縮和打包塊內(nèi)邏輯,以騰出器件空間。
一個(gè) Virtex-4 布局規(guī)劃示例
PlanAhead 設(shè)計(jì)工具可允許您輕松地導(dǎo)入布局和時(shí)序結(jié)果。通過該信息,您可以查看和排序時(shí)序報(bào)告中的關(guān)鍵路徑,并使用原理圖或器件視圖對(duì)路徑進(jìn)行可視化顯示。一旦確定故障路徑,您可以高亮顯示布局規(guī)劃中的所有路徑實(shí)例,以確定原理圖視圖中的所有路徑實(shí)例。
圖 3 顯示了一個(gè)針對(duì) Virtex-4 FX140 器件的設(shè)計(jì)的布局規(guī)劃。在顯示中,我們高亮顯示了一條特定路徑上未能滿足時(shí)序要求的觸發(fā)器。由于它們?cè)谄骷蟹植继珡V,設(shè)計(jì)實(shí)現(xiàn)產(chǎn)生了無法接受的長延遲。由于在 Virtex-4 FPGA 中存在大量的時(shí)序域,因此這是一種普遍情況。
圖 3:初始 Virtex-4 FPGA 布局規(guī)劃,高亮顯示開始未滿足時(shí)序的路徑
通過選擇這些觸發(fā)器中的每個(gè)觸發(fā)器,并將它們限制到單個(gè) Pblock 中,您可以調(diào)節(jié)和優(yōu)化該 Pblock的尺寸和位置,從而縮短關(guān)鍵路徑的延遲,如圖 4 所示。必要時(shí),您甚至可以創(chuàng)建嵌套 Pblock,從而創(chuàng)建一種子/主層次來進(jìn)一步約束子模塊,以獲得額外的性能提升。根據(jù)捕獲邏輯的資源需求,您可以將關(guān)鍵邏輯鎖定位置,以實(shí)現(xiàn)對(duì)必要資源的最佳訪問。
圖 4:在對(duì)與該路徑相關(guān)的所有基元進(jìn)行約束后,您可以對(duì) Pblock 進(jìn)行優(yōu)化,以使該路徑達(dá)到所需的時(shí)序要求。
結(jié)論
您可下載 PlanAhead 軟件的免費(fèi)評(píng)估版本。該 30 天評(píng)估版使您可完全獲得所有 PlanAhead 特性和功能性。該站點(diǎn)還允許您查看產(chǎn)品演示,下載白皮書,或只是了解更多信息。賽靈思還提供 PlanAhead QuickSTart!,可在項(xiàng)目的最關(guān)鍵階段提供特別的服務(wù)支持。通過該服務(wù),賽靈思將派遣一名 QuickStart! 工程師到您的現(xiàn)場進(jìn)行為期一周的輔助,他將培訓(xùn)和幫助您的團(tuán)隊(duì)按時(shí)完成項(xiàng)目和如何充分利用您所選擇的賽靈思器件。
這一高度個(gè)性化服務(wù)使您能制定最能滿足您的設(shè)計(jì)團(tuán)隊(duì)需要的培訓(xùn)計(jì)劃。通過確保團(tuán)隊(duì)擁有所需的技能,它將有助于避免項(xiàng)目拖延。它還有助于您保持一個(gè)更有效率且熱情高漲的團(tuán)隊(duì)。