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