Vivado模組化綜合技術的應用場景

  • 2019 年 10 月 31 日
  • 筆記

模組化綜合技術的最大優勢在於實現了Vivado在模組層面對設計的綜合進行相應地優化處理,使得綜合的設置更能匹配設計的需求,從而提高綜合的QoR。這裡我們將介紹一下模組化綜合技術的應用場景。

應用場景1:對不同模組設置不同的綜合選項

如下圖所示,對模組inst_0,為阻止其LUT Combining,將LUT_COMBINING設置為0,同時允許Retiming,故將RETIMING設置為1。這樣該模組下的子模組inst_02將繼承這兩個值。如果對模組inst_01,允許其LUT Combining,可將LUT_COMBINING重新設定為1。類似地,對同一模組下的不同子模組可設定不同的CONTROL_SET_THRESHOLD值。由此可見,模組化綜合可靈活地為不同模組設置期望的綜合選項。

應用場景2:對不同模組設置不同的綜合策略

Vivado提供了不同的綜合策略,如下圖所示。這些綜合策略是針對整個工程的。以往應用這些策略的方式是創建不同的Design Runs,每個Design Run選取不同的策略,再對比不同策略下的資源和性能。

事實上綜合策略的差異是由於綜合選項的不同設置而導致的。這些綜合選項是全局的,顯然,未必適合於所有模組。一個好的方式是對不同的模組設置不同的綜合策略,避免羅列出策略之間的不同,再逐個修正。例如,uart_rx_i0需要面積優化,uart_tx_i0需要性能優化,resp_gen_i0需要布線優化,則可分別採用不同的綜合策略,形成如下的約束。

目前,可應用於模組的綜合策略包括:

DEFAULT

AREA_OPTIMIZED

ALTERNATE_ROUTABILITY

PERFORMANCE_OPTIMIZED

下圖顯示了使用模組化綜合對時序的影響。其中synth_5對應上圖顯示的對不同模組採用不同的綜合策略。

結論

模組化綜合技術允許對不同模組設置不同的綜合選項,實現細粒度化管理

模組化綜合技術允許對不同模組設置不同的綜合策略,儘管本質上仍是綜合選項的設置,但避免了逐個修正不同的綜合選項

上期內容:

Vivado模組化綜合技術概述

下期內容:

Vivado OOC綜合流程 (2月26日推送)