部分可重配置設(shè)計(jì)流程——配置分析報(bào)告
部分可重配置(PR)設(shè)計(jì)流程一個(gè)獨(dú)特的方面是有多個(gè)設(shè)計(jì)版本必須通過(guò)布局布線(xiàn)來(lái)實(shí)現(xiàn),這些不同的“配置”具有相同的靜態(tài)設(shè)計(jì)結(jié)果,但是在每個(gè)可重配置區(qū)(PR)有不同的模塊,設(shè)計(jì)者必須設(shè)置時(shí)序約束和平面布局圖并且考慮需要交換的不同模塊,這是具有一定挑戰(zhàn)性的。
這個(gè)PR配置分析報(bào)告比較了每個(gè)可重配置模塊(RM),你可以選擇任意一個(gè)作為PR設(shè)計(jì)的輸入,它檢查的資源使用情況、平面布局、時(shí)鐘和時(shí)序等參數(shù),幫助我們管理整個(gè)PR設(shè)計(jì),這個(gè)PR配置分析報(bào)告采用Tcl Console或者Tcl腳本來(lái)運(yùn)行,它還沒(méi)有集成到Vivado IDE中用于項(xiàng)目模式,頂層設(shè)計(jì)(理想情況下通過(guò)opt_design進(jìn)行最小化處理)必須在發(fā)出下面的命令之前打開(kāi):
report_pr_configuration_analysis -cells -dcps {
}
選擇可以插入該單元的單個(gè)單元(RP)和多個(gè)DCPs(每個(gè)都代表一個(gè)可重配置模塊)用于對(duì)該RP設(shè)計(jì)進(jìn)行全面的分析,或者選擇多個(gè)單元沒(méi)有后續(xù)的DCPs用于靜態(tài)設(shè)計(jì)和接口的頂層分析。
默認(rèn)情況下會(huì)分析PR設(shè)計(jì)的三個(gè)方面,你可以選擇一個(gè)或多個(gè)要點(diǎn)來(lái)聚焦報(bào)告的某個(gè)方面:
• complexity關(guān)注于資源的使用情況,包括RP要求所需的各種資源類(lèi)型的最大數(shù)量
• clocking關(guān)注時(shí)鐘的使用和每個(gè)RM的負(fù)載,幫助你規(guī)劃設(shè)計(jì)的整體時(shí)鐘分配
• timing關(guān)注于邊界接口時(shí)序的詳細(xì)信息,有助于分析RM的性能瓶頸
此外,-rent會(huì)將度量標(biāo)準(zhǔn)添加到分析報(bào)告中,用于進(jìn)一步的復(fù)雜度報(bào)告分析,Rent指數(shù)會(huì)計(jì)算路由復(fù)雜度并且可以指示信號(hào)阻塞情況,更多關(guān)于Rent參數(shù)的信息請(qǐng)查看UG906,注意這個(gè)選項(xiàng)在大型設(shè)計(jì)上運(yùn)行會(huì)花費(fèi)很長(zhǎng)的時(shí)間。
分析操作完成后,每個(gè)RM模塊都會(huì)根據(jù)提供的檢查點(diǎn)信息進(jìn)行檢查,雖然可以提供后綜合檢查點(diǎn),但是如果RM中包括耦合上下文的綜合后的IP,或者需要插入調(diào)試模塊,那么一些檢查點(diǎn)的信息將會(huì)丟失,知道opt_design操作完成所有鏈接和擴(kuò)展后才能夠獲得最完整的信息,我們建議你在opt_design之后通過(guò)為每個(gè)配置調(diào)用write_checkpoint –cell指令創(chuàng)建完整的RM檢查點(diǎn),然后使用這些文件運(yùn)行配置分析報(bào)告。
下面是一個(gè)設(shè)計(jì)的一些分析示例,這個(gè)設(shè)計(jì)包括三個(gè)可重配置模塊。
復(fù)雜度
首先是-complexity操作后生成的資源使用情況表格:
可重配置模塊復(fù)雜度‘RP1’
注意RM1需要最多的資源用于實(shí)現(xiàn)Slice寄存器,RM2需要最多的BlockRAM資源,RM3需要最多的Slice LUTs資源。每種資源類(lèi)型的最大值匯總在MAX這一列中——這一列應(yīng)用用于規(guī)劃pblock資源大小,記住額外的開(kāi)銷(xiāo)是建議性的——指定可重配置分區(qū)的打包密度與完整性設(shè)計(jì)類(lèi)似。
時(shí)鐘
-clocking操作總結(jié)的是整個(gè)設(shè)計(jì)中用到的時(shí)鐘資源,然后將時(shí)鐘分布到每個(gè)可重配置模塊中,同時(shí)它還提供了每個(gè)時(shí)鐘區(qū)域中RM時(shí)鐘負(fù)載的數(shù)量(下面表格未顯示)。
靜態(tài)時(shí)鐘匯總
可重配置模塊時(shí)鐘RP1
時(shí)序分析
-timing操作會(huì)在邏輯層分析RP邊界最差的接口路徑,默認(rèn)會(huì)檢查10個(gè)最差的路徑,可以使用-nworst來(lái)改變?cè)O(shè)置,下表中Logic Path顯示的是邏輯層并且定義每層屬于靜態(tài)(S)分區(qū)還是可重配置(RM)分區(qū),下面是三個(gè)邊界路徑分析示例:
可重配置模塊邊界時(shí)序RP1
這些信息可以幫助優(yōu)化邊界路徑,插入流水線(xiàn)寄存器會(huì)打破時(shí)序所面臨的挑戰(zhàn),甚至可以在靜態(tài)區(qū)和可重配置區(qū)之間創(chuàng)建一個(gè)解耦點(diǎn)。
總結(jié)
當(dāng)你完成每個(gè)可重配置模塊中的邏輯之后,但是在確定設(shè)計(jì)的布局之前,運(yùn)行report_pr_configuration_analysis命令生成分析報(bào)告,這個(gè)報(bào)告會(huì)幫助優(yōu)化設(shè)計(jì)中可重配置分區(qū)的每個(gè)pblock,為整個(gè)設(shè)計(jì)中的時(shí)鐘使用提供指導(dǎo),并且在你取消某個(gè)時(shí)序信號(hào)時(shí)提供檢測(cè)功能。