編譯表頻率
1. 使用 Design Compiler 評估 RTL 設計
設計編譯器進行 RTL 綜合流程包含以下幾個關鍵步驟,幫助評估 RTL 設計的性能,特別是工作頻率、面積和功耗。以下是對流程的詳細描述和操作指南:
首先,了解設計編譯器的主要功能,即邏輯綜合(Logic Synthesis),其將 RTL 設計轉換為門級網表。設計編譯器隨後提供時序、面積和功耗的估算,這些數據用於評估設計性能。
設計編譯器提供兩種模式:WLM 模式和 Topographical 模式。WLM 模式基於連線的扇出數和統計經驗數據來估算連線的電阻和電容特性。相比之下,Topographical 模式(DC-T 模式)採用模擬粗粒度布局布線的方法,提供更准確的連線評估結果,但需要額外的物理庫支持。啟動 Topographical 模式時,在命令後面添加「-topo」參數。
設計編譯器啟動有多種方式,首先需要載入工藝庫,這涉及配置三個關鍵變數:target_library、link_library 和 search_path。target_library 指向包含工藝庫的 NLDM/CCS 模型文件,建議使用相對路徑,並確保在啟動目錄中。link_library 包含 target_library 以及可能的 IP 或 Hard macro 的工藝庫,確保在命令中包含 * 符號以正確載入所有模塊。search_path 初始包含重要庫,增加存放 RTL 源碼的目錄,但不要覆蓋初始設置。
載入物理庫(如用於 Topographical 模式的物理庫)需執行四個步驟:創建 Milkyway 資料庫、檢查資料庫與 target_library 的一致性、設置 TLUPlus 和 Layer Mapping,並確保所有文件在項目中可用。
讀取 RTL 設計通常以 Verilog 實現,通過 read_verilog 和 current_design 指定頂層模塊名稱。在評估過程中,添加時序約束是關鍵,包括確定時間單位、設置時鍾、約束輸入、輸出延遲以及組合邏輯。設計編譯器的時序模型允許對實際時鍾周期進行建模,包括不確定性和過渡延遲,確保評估結果保守可靠。
綜合步驟涉及確認約束後開始執行。設計編譯器提供多核支持的選項,以提升綜合性能。完成後,分析結果以檢查是否滿足時序要求、評估面積和功耗,並檢查是否有違例。最後,輸出綜合後的設計數據,包括網表。
整個流程展示了設計編譯器在 RTL 綜合中的應用,從載入工藝庫、物理庫,到讀取設計、添加時序約束,最終綜合並分析結果,以評估和優化 RTL 設計性能。