《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 解決方案 > 如何在賽靈思FPGA設(shè)計(jì)中保留可重復(fù)結(jié)果?

如何在賽靈思FPGA設(shè)計(jì)中保留可重復(fù)結(jié)果?

2011-07-26
關(guān)鍵詞: 開(kāi)發(fā)工具 FPGA LUT

      滿(mǎn)足設(shè)計(jì)的時(shí)序要求本身已非易事,,而要實(shí)現(xiàn)某項(xiàng)設(shè)計(jì)的整體時(shí)序具有完全可重復(fù)性有時(shí)候卻是不可能的任務(wù),。幸運(yùn)的是,設(shè)計(jì)人員可以借助有助于實(shí)現(xiàn)可重復(fù)時(shí)序結(jié)果的設(shè)計(jì)流程概念,。影響最大的四個(gè)方面分別是 HDL 設(shè)計(jì)實(shí)踐、綜合優(yōu)化、平面布局和實(shí)施方案,。

      就獲得可重復(fù)結(jié)果而言,資源利用和頻率要求都很高的設(shè)計(jì)是最大的挑戰(zhàn),。它們也是可重復(fù)結(jié)果流程需求最高的設(shè)計(jì),。得到可重復(fù)結(jié)果的第一步是在 HDL設(shè)計(jì)階段運(yùn)用設(shè)計(jì)合理的實(shí)踐。遵循出色的分層邊界實(shí)踐有助于保持邏輯整體性,,而這在設(shè)計(jì)變更時(shí)有助于保持可重復(fù)結(jié)果,。一條不錯(cuò)的規(guī)則就是把那些需要整體優(yōu)化、實(shí)施和驗(yàn)證的邏輯放在同一層級(jí),。另外需要記錄模塊的輸入和輸出,。這樣就可以把時(shí)序路徑保持在模塊內(nèi)部,從而避免模塊改變時(shí)引起相互影響,。最后,,把所有需要放入更大 FPGA資源 (如 Block RAM 或 DSP)的邏輯全部設(shè)置在相同層級(jí)。

  邏輯電平

  從所需 QoR 結(jié)果需要太多查詢(xún)表(LUT) 邏輯電平的設(shè)計(jì)很難獲得可重復(fù)結(jié)果,。LUT 延遲一般不是問(wèn)題所在,,而問(wèn)題是 LUT 之間的路由延遲。這在設(shè)計(jì)的高性能領(lǐng)域至關(guān)重要,。

  邏輯電平過(guò)多往往歸因于 i f /else結(jié)構(gòu)較大和選擇語(yǔ)句較長(zhǎng),。如果合適,可以采用 “ful l_case”和 “paral lel_case” Veri log 指令優(yōu)化較少邏輯的選擇語(yǔ)句,,這種技巧一般能夠減少邏輯電平,。較大的多路復(fù)用器或者解碼器可能造成路由擁塞,從而導(dǎo)致不可重復(fù)的結(jié)果,。多級(jí)注冊(cè)多路復(fù)用器 / 解碼器路徑有助于解決此問(wèn)題,。對(duì)于加算器而言,用注冊(cè)的加算器鏈代替注冊(cè)加算器樹(shù)可以提高性能。如果加算器全部注冊(cè)的話(huà),,則鏈會(huì)比樹(shù)造成更長(zhǎng)時(shí)延,。有關(guān)編碼最佳實(shí)踐的更多信息, 請(qǐng)參考賽靈思白皮書(shū) 《提高設(shè)計(jì)性能的 HDL 編碼實(shí)踐》 (WP231),, http://www.xilinx.com/support/documentation/white_papers/wp231.pdf,。

  復(fù)位與其他控制信號(hào)

  復(fù)位的選擇會(huì)影響到設(shè)計(jì)的性能、面積和功率,。加電時(shí)電路初始化并不需要全局復(fù)位,,但是它會(huì)對(duì)設(shè)計(jì)過(guò)程中能夠采用的資源類(lèi)型產(chǎn)生重大影響。如果在 HDL 中存在全局復(fù)位,,則無(wú)法推斷移位寄存器,。一個(gè)移位寄存器產(chǎn)生的可重復(fù)結(jié)果比十個(gè)寄存器還多。

  另外,,DSP 和塊 RAM 寄存器僅僅包含同步復(fù)位,。如果編碼中包含異步復(fù)位,則無(wú)法使用此類(lèi)寄存器,,從而迫使設(shè)計(jì)中轉(zhuǎn)而使用可配置邏輯塊 (CLB)寄存器,。而把寄存器放入 DSP、塊 RAM 或者同時(shí)放入二者中更容易保持相同結(jié)果,。在一般邏輯中運(yùn)用同步重置可減少邏輯電平,。slice 寄存器能擁有異步或同步復(fù)位。如果設(shè)計(jì)采用同步復(fù)位,,那么組合邏輯就可以采用同步置位,。這樣就可以降低一個(gè) LUT 的邏輯電平。

  一個(gè)控制置位包含一組獨(dú)特的時(shí)鐘,、時(shí)鐘啟用,、置位與復(fù)位信號(hào),而且在分布式 RAM 中還包含可寫(xiě)入信號(hào),??刂浦梦恍畔⒎浅V匾?yàn)榧拇嫫鞅仨毠蚕矸庋b在同一片中的同一控制置位信號(hào),。這可能影響封裝和利用率,, 造成可重復(fù)結(jié)果問(wèn)題。有關(guān)復(fù)位的更多信息,,請(qǐng)參閱賽靈思 WP272 《復(fù)位訣竅: 考慮局部而非全局》 (http://www.xilinx.com/support/documentation/white_papers/wp272.pdf) ,。有關(guān)控制置位的更多信息,,請(qǐng)參閱WP309 《Spartan®-6 FPGA 定向與重定向指南》 (http://www.xilinx.com/support/documentation/white_papers/wp309.pdf ) ,。盡管此白皮書(shū)專(zhuān)用于 Spartan-6器件,但其中還包含了適用于所有 FPGA的有益通用信息。

  了解FPGA資源

  了解什么樣的 FPGA 資源可用以及何時(shí)是最佳利用時(shí)機(jī)至關(guān)重要,。一般會(huì)有綜合指令來(lái)定義使用哪些資源,。例如,塊 RAM 最適合深存儲(chǔ)器 (deepmemory)需求,,而分布式 RAM 適用于寬總線(xiàn),,尤其是在局部時(shí)鐘為高速數(shù)據(jù)計(jì)時(shí)的情況下。塊 RAM 和分步式 RAM在控制信號(hào)具有較大扇區(qū)出時(shí)會(huì)出現(xiàn)某種問(wèn)題,。重復(fù)控制信號(hào)并且采用布局規(guī)劃技巧把塊與相同信號(hào)融合在一起有助于維持可重復(fù)結(jié)果,。

  移位寄存器會(huì)降低設(shè)計(jì)的利用率,而其能夠促進(jìn)可重復(fù)性,。有一些性能問(wèn)題值得注意,。SRL 的時(shí)鐘到輸出比觸發(fā)器的時(shí)鐘到輸出慢; 因此,,最好把觸發(fā)器用作移位寄存器的最后一級(jí),。大部分綜合工具都能自動(dòng)實(shí)現(xiàn)這一點(diǎn),但是,,如果涉及移位寄存器的路徑出現(xiàn)問(wèn)題,,則最好確認(rèn)其最后一級(jí)是否為寄存器。

  初始寄存器也存在類(lèi)似問(wèn)題,。SRL前端設(shè)置觸發(fā)器能讓放置器有更多選以擇滿(mǎn)足時(shí)序要求,,進(jìn)而維持結(jié)果。同樣,,大部分綜合工具都能自動(dòng)實(shí)現(xiàn)這一點(diǎn),,但是,如果涉及移位寄存器的路徑出現(xiàn)問(wèn)題,,則最好確認(rèn)其最后一級(jí)是否為寄存器,。

  FPGA 有許多寄存器,從而使得流水線(xiàn)技術(shù)可在提高性能方面發(fā)揮重要作用,。其中,,重要的一點(diǎn)是禁用經(jīng)多重流水線(xiàn)優(yōu)化的觸發(fā)器 SRL 推論。上文引用的關(guān)于 HDL 編碼實(shí)踐的白皮書(shū) (WP231)提供了關(guān)于塊 RAM 的更多信息,。有關(guān)移位寄存器的更多信息,,請(qǐng)參閱 WP271 《借助 SRL16E 節(jié)約成本》 (http://www.xi l inx.com/support/docume n t a t i o n /wh i t e _ p a p e r s /wp271.pdf ) 。

時(shí)鐘域問(wèn)題

  設(shè)計(jì)人員必須慎重正確約束跨越不相關(guān)時(shí)鐘域的路徑,。相關(guān)工具會(huì)自動(dòng)關(guān)聯(lián)來(lái)自相同源時(shí)鐘 (如 DCM)的時(shí)鐘,。PERIOD 約束條件也能關(guān)聯(lián)外部時(shí)鐘。不是器件內(nèi)部創(chuàng)建的無(wú)關(guān)時(shí)鐘需要特殊考慮,。系統(tǒng)默認(rèn)不約束此類(lèi)時(shí)鐘,。如果有特殊時(shí)序考慮,設(shè)計(jì)人員必須采用FROM:TO 約束條件正確約束相關(guān)路徑。DATAPATHONLY 關(guān)鍵詞會(huì)指示相關(guān)工具在等式中不包含時(shí)鐘偏移,。

  更多信息,,請(qǐng)參閱 UG625 《賽靈思約束條件指南》 ( http://www.xilinx.com/support/documentation/ sw_manuals/xi l inx11/cgd.pdf )或者 WP257 《何為PERIOD 約束條件?》 (http://www.xilinx.com/support/documentation/ white_papers/wp257.pdf)之中的 “異步時(shí)鐘域”章節(jié),。

  另外關(guān)鍵一點(diǎn)是確保不發(fā)生競(jìng)態(tài)狀態(tài),。從一個(gè)領(lǐng)域跨越另一個(gè)領(lǐng)域時(shí)可以采用 FIFO。否則,,設(shè)計(jì)人員需要雙重同步一個(gè) (僅有一個(gè))控制信號(hào),,并且在接收時(shí)鐘域利用其接收其它信號(hào)。

高扇出信號(hào)

  高扇出信號(hào)通常會(huì)成為設(shè)計(jì)中的決定因素,。即使大部分綜合工具支持扇出控制,,在 HDL 中復(fù)用這些信號(hào)來(lái)得到可重復(fù)性更高的結(jié)果也是明智之舉。設(shè)計(jì)人員應(yīng)該把這種策略和指令結(jié)合起來(lái),,以確保綜合工具不會(huì)移除這些重復(fù)信號(hào),。如果一個(gè)高扇出信號(hào)位于邏輯頂層,則可以復(fù)用該信號(hào),,然后用單獨(dú)信號(hào)驅(qū)動(dòng)每一個(gè)頂層模塊,。

  如果綜合工具扇出控制不能得到預(yù)期結(jié)果并且無(wú)法修改 HDL,那么在BRAM 的 MAP 邏輯中采用寄存器復(fù)用約束條件以及最高扇出約束條件,,往往會(huì)產(chǎn)生比綜合更好的寄存器復(fù)用選擇,。更多相關(guān)信息,請(qǐng)參閱 《約束條件指南》(UG625) 中的 MAX_FANOUT,。做為一個(gè)常見(jiàn)的調(diào)試問(wèn)題,,跨越層級(jí)時(shí)保持一致的信號(hào)名稱(chēng)更便于追蹤存在問(wèn)題的路徑。如果信號(hào)名稱(chēng)經(jīng)常改變,,則很難追蹤時(shí)序報(bào)告和其它調(diào)試輸出,。把信號(hào)方向放入所有模塊或?qū)嶓w的端口定義中也有所裨益。

  綜合優(yōu)化

  綜合會(huì)對(duì)可重復(fù)結(jié)果產(chǎn)生巨大影響,。如果從綜合過(guò)程得不到最佳輸出網(wǎng)表,,就無(wú)法在實(shí)施工具中產(chǎn)生理想條件。設(shè)計(jì)人員可以采用多種綜合技術(shù)幫助改善實(shí)施結(jié)果,。

  在執(zhí)行綜合時(shí)采用時(shí)序約束條件至關(guān)重要。用戶(hù)往往會(huì)在綜合過(guò)程中過(guò)度約束,,然后在賽靈思實(shí)施工具中放寬時(shí)序約束條件,。這樣可以增加綜合工具負(fù)擔(dān), 從而減輕實(shí)施工具的負(fù)擔(dān),。

  接下來(lái)使用綜合工具產(chǎn)生的時(shí)序報(bào)告,。如果一條路徑在綜合與實(shí)施過(guò)程中無(wú)法滿(mǎn)足時(shí)序要求,,則可以修改 HDL或綜合選項(xiàng),以便在綜合之后滿(mǎn)足時(shí)序要求,。這樣可以在實(shí)施階段節(jié)約時(shí)間。

  在綜合過(guò)程中得到可重復(fù)結(jié)果是在實(shí)施工具中得到可重復(fù)結(jié)果的最佳途徑,。大多數(shù)綜合工具支持自下而上的流程,,其為設(shè)計(jì)的頂層以及各個(gè)下層模塊建立了獨(dú)立綜合項(xiàng)目。用戶(hù)可以根據(jù)HDL 變更情況控制更新網(wǎng)表,。大多數(shù)商用綜合工具都具有增量流程,。

  平面布局規(guī)劃的重要性

  平面布局規(guī)劃把組件定位到設(shè)計(jì)中的一個(gè)具體位置或者范圍。這可以減少布局變化,,從而提高設(shè)計(jì)的可重復(fù)性,。通過(guò)平面布局規(guī)劃或者采用位置約束 (或兼而用之)通常可以實(shí)現(xiàn)更高的性能,。

  也就是說(shuō),,糟糕的平面布局規(guī)劃或位置約束會(huì)導(dǎo)致無(wú)法達(dá)到時(shí)序要求。平面布局規(guī)劃有一定技術(shù)含量,,要求具備工具和設(shè)計(jì)方面的高級(jí)知識(shí),。你可以采用符合時(shí)序要求的實(shí)施結(jié)果做為指導(dǎo)原則來(lái)創(chuàng)建理想的布局。

  如果主板需求是選擇引腳布局的

  主要因素,,FPGA 實(shí)施工具可能很難獲得時(shí)序維持可重復(fù)結(jié)果,。但是設(shè)計(jì)人員可以借助多種有助于實(shí)現(xiàn)可重復(fù)性的技巧。

  首先要清楚數(shù)據(jù)流,。比如,,數(shù)據(jù)會(huì)從中心 I/O 流向側(cè) I/O??梢园雅c總線(xiàn)相關(guān)的所有引腳保持在 FPGA 的同一領(lǐng)域,,以此限制控制信號(hào)的布線(xiàn)距離。I/O總線(xiàn)控制信號(hào)布置在相關(guān)地址與數(shù)據(jù)總線(xiàn)附近,。需要一起優(yōu)化的信號(hào)應(yīng)當(dāng)布置在一起,。如果更關(guān)注主板布線(xiàn),則在 I/O上利用流水線(xiàn)技術(shù)優(yōu)化寄存器有助于改進(jìn)引腳布局差強(qiáng)人意的 FPGA 布線(xiàn),。

  區(qū)域組平面布局規(guī)劃

  區(qū)域組平面布局規(guī)劃是一種高級(jí)平面布局規(guī)劃技術(shù),,其定義了模塊在FPGA 之內(nèi)的位置。雖然該技術(shù)易于使用,, 但常常被誤用,, 從而導(dǎo)致所解決的問(wèn)題比所造成問(wèn)題更多這一糟糕平面布局結(jié)果。有一些出色平面布局規(guī)劃的總體指導(dǎo)原則可以幫助您避免走入上述誤區(qū),。應(yīng)當(dāng)使所有區(qū)域組保持相似的利用率,。比如,,應(yīng)避免讓一個(gè)分組利用率達(dá)到 60% 而讓另一個(gè)達(dá)到 99%。不要重疊區(qū)域組,。唯一的例外情況是,,如果兩個(gè)不同的區(qū)域組具有需要布置在一起的某些邏輯單元 , 則允許重疊 CLB 的一、兩行或列,。此時(shí)用戶(hù)負(fù)責(zé)確保為兩個(gè)區(qū)域組約束提供足夠資源,。

  如果需要把設(shè)計(jì)的兩個(gè)不同邏輯部分放在相同物理位置,則應(yīng)當(dāng)把它們放入同一個(gè)區(qū)域組,。一般允許一層嵌套,,也就是父區(qū)域組中的一個(gè)子區(qū)域組。如果一個(gè)大區(qū)域組里的一小部分需要布置到某個(gè)狹窄區(qū)域,, 則需要上述分層,。僅對(duì)設(shè)計(jì)中的關(guān)鍵部分進(jìn)行平面布局規(guī)劃而讓相關(guān)工具決定非關(guān)鍵邏輯的布局非常重要。連接到固定資源 (如 I/O,、收發(fā)器或處理器塊)的邏輯可能會(huì)從平面布局規(guī)劃中受益,。可以采用順利實(shí)施的結(jié)果做為準(zhǔn)則來(lái)確定布局或時(shí)序問(wèn)題,。諸如賽靈思 PlanAhead ™軟件 (圖 1)和時(shí)序分析器等工具有助于可視化顯示相關(guān)問(wèn)題,。

  盡可能減少各個(gè)全局時(shí)鐘所用區(qū)域數(shù)量以及各個(gè)區(qū)域的時(shí)鐘 (區(qū)域與全局)數(shù)量一般會(huì)有所裨益。如果您準(zhǔn)備為某個(gè)時(shí)鐘域的增加更多邏輯,,切勿過(guò)度約束,,而應(yīng)當(dāng)進(jìn)行相應(yīng)規(guī)劃。如果某個(gè)時(shí)鐘域的時(shí)鐘全部投入使用,,則很難找到有效布局,。而 PlanAhead 軟件所提供的對(duì)齊時(shí)鐘域功能可以簡(jiǎn)化上述平面布局規(guī)劃工作。對(duì)于擁有 10 多個(gè)時(shí)鐘域的Virtex® FPGA 設(shè)計(jì)而言,,當(dāng)前實(shí)施方案所用的時(shí)鐘域位于 .map 報(bào)告文件中,, 同時(shí)還附帶了 UCF 約束條件。

有關(guān)區(qū)域組平面布局規(guī)劃的更多信息,,請(qǐng)參閱 UG632 《PlanAhead用戶(hù)指南》 (h t t p : / / w w w . x i l i n x .com/suppor t /documentat ion/sw_ma n u a l s / x i l i n x 1 1 /Pl a nAh e a d _UserGuide.pdf)以及 UG633 《平面布局方法指南》 (http://www.xi l inx.com/support/documentation/sw_manuals/xilinx12_1/Floorplanning_Methodology_Guide.pdf) ,。

  塊、模塊與路徑定位Block RAM,、FIFO,、DSP、DCM 以及全局時(shí)鐘資源等核心器件的定位往往有助于實(shí)現(xiàn)可重復(fù)性,。其最佳做法是著眼于良好布局,,同時(shí)采用相關(guān)設(shè)計(jì)知識(shí)布局規(guī)劃??梢圆捎?reportgen – clock_regions design.ncd 創(chuàng)建相關(guān)報(bào)告,。PlanAhead 軟件能夠鎖定關(guān)鍵模塊的全部布局信息,。在下一輪中,實(shí)施布局保持不變,,但是并不保存布線(xiàn)信息,。有關(guān) PlanAhead 軟件定位約束條件的更多信息,請(qǐng)參閱 UG632 《PlanAhead 用戶(hù)指南》 ,、UG633 《平面布局規(guī)劃方法指南》以及相關(guān) PlanAhead 手冊(cè)的 “設(shè)計(jì)的平面布局規(guī)劃”章節(jié),。

  如果鎖定整個(gè)模塊影響過(guò)大,則可以在 PlanAhead 軟件中鎖定某條關(guān)鍵路徑,。但是使用該方法時(shí)應(yīng)當(dāng)慎之又慎。如果某條具體路徑導(dǎo)致某種主要問(wèn)題,,最好通過(guò)修改 HDL 來(lái)解決時(shí)序問(wèn)題,。否求。賽靈思 SmartGuide ™ 技術(shù)是另一種維持可重復(fù)結(jié)果的選擇,,最適合不強(qiáng)求最高 QoR 或最高利用率的設(shè)計(jì),。如果設(shè)計(jì)保存和 SmartGuide 技術(shù)都不適用于一種設(shè)計(jì),則可以采用 SmartXplorer或 PlanAhead 軟件策略維護(hù)時(shí)序,。

  對(duì)于 QoR 需求較高的設(shè)計(jì),, 有一些高級(jí)實(shí)現(xiàn)選項(xiàng)可以幫助維持時(shí)序??刂评寐释蔷S持可重復(fù)結(jié)果的關(guān)鍵,。隨著設(shè)計(jì)規(guī)模增大,維持可重復(fù)結(jié)果的難度也隨之提高,。整個(gè)設(shè)計(jì)階段始終采用相同軟件版本有助于實(shí)現(xiàn)可重復(fù)結(jié)果,。

  設(shè)計(jì)保存

  PlanAhead 中的設(shè)計(jì)保存流程采用分區(qū),這是能夠保證可重復(fù)結(jié)果的唯一驗(yàn)證相關(guān)位置是否適當(dāng),。在定位這些BRAM,、FIFO 與 DSP 器件時(shí)需要考慮到控制信號(hào)和數(shù)據(jù)流 (總線(xiàn)校準(zhǔn)) ??梢栽谙嚓P(guān) .map 報(bào)告文件中找到用于定位現(xiàn)有設(shè)計(jì)的時(shí)鐘域的約束條件,。保持相同的時(shí)鐘域可以防止布局器 (Placer) 修改時(shí)鐘域分區(qū),因?yàn)楹笳邥?huì)改變?cè)O(shè)計(jì)的則,, 應(yīng)限制使用具體時(shí)序路徑定位,。

  實(shí)現(xiàn)選項(xiàng)

  實(shí)現(xiàn)工具中的多種選項(xiàng)都可以改進(jìn)可重復(fù)性?;诜謪^(qū)的設(shè)計(jì)保存是保存實(shí)現(xiàn)方案的最佳方法,,但是它并不適合于所有的設(shè)計(jì)而且確實(shí)存在 HDL 設(shè)計(jì)要方法。設(shè)計(jì)保存的主要目的是保持模塊性能的一致性,,以減少時(shí)序收斂階段花費(fèi)的時(shí)間,。另外,,它還要求用戶(hù)盡可能遵從良好設(shè)計(jì)實(shí)踐。

  分區(qū)可以保存之前實(shí)現(xiàn)的設(shè)計(jì)的不變部分,。如果分區(qū)網(wǎng)表保持不變,,則實(shí)現(xiàn)工具可以采用復(fù)制 - 粘貼過(guò)程保證保存該分區(qū)的實(shí)現(xiàn)數(shù)據(jù)。通過(guò)保存實(shí)現(xiàn)結(jié)果,,分區(qū)可以讓你在不影響已保存部分的情況下實(shí)現(xiàn)修改后的設(shè)計(jì)部分,。在圖2 中,紅色模塊已經(jīng)修改并且得到實(shí)現(xiàn),,而剩下的模塊已鎖定到位,。

  在 12.1 版和未來(lái)版本中, PlanAhead軟件和命令行工具將支持設(shè)計(jì)保存功能,。如欲了解更多信息,, 請(qǐng)參閱 WP362 《基于設(shè)計(jì)保存的可重復(fù)結(jié)果》 (http://www.xilinx.com/support/documentation/white_papers/wp362.pdf ) 與 UG748 《分層設(shè)計(jì)方法指南》 (http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_1/Hierarchical_Design_Methodology_Guide.pdf)。

  SmartGuide 技術(shù)

  SmartGuide 技術(shù)在執(zhí)行實(shí)現(xiàn)方案時(shí)采用之前的實(shí)現(xiàn)結(jié)果作為起點(diǎn),,其主要目的是減少運(yùn)行時(shí)間,。可以遷移引導(dǎo)布局與布線(xiàn)或者同時(shí)遷移二者,,以便完成設(shè)計(jì)的布線(xiàn)或滿(mǎn)足時(shí)序要求,。SmartGuide 技術(shù)最適合不強(qiáng)求 QoR 或利用率的設(shè)計(jì)。

  以前版本的工具配套提供精準(zhǔn)引導(dǎo)(exact guide) 和杠桿 (leveraged) 引導(dǎo),。通常情況下,,精準(zhǔn)引導(dǎo)方法過(guò)去會(huì)造成不可路由的設(shè)計(jì)。如果需要準(zhǔn)確保存,,則建議流程是設(shè)計(jì)保存,。SmartGuide 技術(shù)可替代杠桿引導(dǎo)。

  設(shè)計(jì)人員經(jīng)常詢(xún)問(wèn)是使用Smar tGuide 技術(shù)還是分區(qū)技術(shù),,答案取決于在設(shè)計(jì)流程中所處位置,。

SmartGuide 技術(shù)最適合進(jìn)行小型設(shè)計(jì)更改時(shí)的設(shè)計(jì)末期。采用此流程,,可以很輕松確定所建議更改任務(wù)是否適合相關(guān)設(shè)計(jì),。分區(qū)技術(shù)需要更專(zhuān)注于提前遵循良好設(shè)計(jì)層次規(guī)則。在開(kāi)始組織 HDL 時(shí)應(yīng)當(dāng)決定是否采用基于分區(qū)的設(shè)計(jì)保存流程,。設(shè)計(jì)已經(jīng)遵循分區(qū)分層規(guī)則時(shí)則是例外情況,。

  如欲了解更多信息,請(qǐng)參閱 UG748《分層設(shè)計(jì)方法指南》 (ht tp: / /www.xi l inx.com/support /documentat ion/sw_manuals/xilinx12_1/Hierarchical_Design_Methodology_Guide.pdf ),。

  SmartXplorer

  SmartXplorer 和 PlanAhead 軟件策略都是有助于實(shí)現(xiàn)時(shí)序收斂的相似工具,,采用不同實(shí)現(xiàn)選項(xiàng)集確定最適合相關(guān)設(shè)計(jì)的結(jié)果。您可根據(jù)這些結(jié)果確定哪些布局可能產(chǎn)生更好的時(shí)序結(jié)果并且創(chuàng)建理想?yún)^(qū)域組布局規(guī)劃,。不同的結(jié)果也可以指示某種設(shè)計(jì)問(wèn)題,。如果同一路徑在各次運(yùn)行時(shí)均失敗,,則可以通過(guò)修改 HDL 消除時(shí)序問(wèn)題。

  在設(shè)計(jì)的最初階段,,最好采用 MAP與 PAR 的默認(rèn)努力程度 (default effortlevel),。在最初階段采用太多高級(jí)選項(xiàng)可能會(huì)隱藏通過(guò)修改 HDL 即可輕松解決的時(shí)序問(wèn)題。隨著器件利用率提高,,工具會(huì)越來(lái)越難以達(dá)到滿(mǎn)足時(shí)序要求的解決方案,。如果采用默認(rèn)選項(xiàng),則可以采用效用更高的選項(xiàng)獲取設(shè)計(jì)流程后期時(shí)序的最后幾皮秒,, 從而維持時(shí)序結(jié)果,。LUTS/FFS 利用率較低 (<25%) 或者其利用率較高 (>75%) 的設(shè)計(jì)很難實(shí)現(xiàn)一致的布局與布線(xiàn)。對(duì)于利用率較高的設(shè)計(jì),, 應(yīng)當(dāng)注意其 slice 控制置位信號(hào),、復(fù)位信號(hào) (FPGA 一般不需要同步復(fù)位/置位)以及邏輯占用 (可以在 PlanAhead中輕松執(zhí)行)或 SRL/DSP48 推理超出預(yù)期的模塊。

  高利用率的對(duì)立面是低利用率,。對(duì)于所有組件類(lèi)型的利用率均不超過(guò) 25%的設(shè)計(jì),,低利用率算法可以起作用并且能夠?qū)崿F(xiàn)組件的緊密布局,。但是,, 如果 I/O 利用率超過(guò) 25%,則實(shí)現(xiàn)工具可以把設(shè)計(jì)分散開(kāi),,以便把邏輯保持在 I/O 附近,。I/O 的謹(jǐn)慎布局以及采用區(qū)域組能夠盡可能緩解上述問(wèn)題。

  軟件版本

  在時(shí)序收斂階段應(yīng)當(dāng)盡量采用同一主要軟件版本,。因?yàn)椴煌陌姹舅惴ㄒ舶l(fā)生改變,,適用于一個(gè)版本的算法方法在其它情況下未必有效。另外,,根據(jù)以前結(jié)果 (分區(qū)與 SmartGuide 技術(shù))獲得的方法可能不適用于主要版本,。

  促進(jìn)設(shè)計(jì)可重復(fù)性的最佳方法是在HDL 中遵循良好設(shè)計(jì)方法并且通過(guò)修改HDL 解決所有時(shí)序問(wèn)題。如果不可行,,則可以借助于綜合,、布局規(guī)劃和實(shí)現(xiàn)技術(shù)?;诜謪^(qū)的設(shè)計(jì)保存是可以保證實(shí)例性能的流程,。SmartGuide 技術(shù)是另一種可采用以前實(shí)現(xiàn)結(jié)果的解決方案。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀(guān)點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話(huà):010-82306118;郵箱:[email protected],。