DC學習 前言及第一章

2021-09-26 20:50:10 字數 4467 閱讀 6574

design compiler

user guide

version f-2011.09-sp2, december 2011

前言前言包含以下部分:

• 此次發布版本的新增內容

• 關於本手冊

• 使用者支援

此次發布版本的新增內容

關於新特性,加強的功能和修改的資訊與已知的問題、限制和已解決的synopsys technical action requests (stars),都可以在solvnet上的design compiler release notes中找到。

檢視design compiler release note

2、選擇design compiler,然後在出現的列表中選擇乙個發行版本。

關於本手冊

design compiler user guide為使用design compiler工具的使用者提供了基本的綜合信

息,本手冊描述了綜合概念和命令並且給出了示例來說明基本的綜合策略。

本手冊未涉及非同步設計,i/o pad綜合,測試綜合,**和反標物理設計的資訊。

本手冊提供的資訊是synopsys synthesis reference manuals的補充,但是無法替代它。如果需要了解本手冊未覆蓋的主題的細節,請參考synopsys的其他文件。

本手冊同時支援unix和linux作業系統下的synopsys 綜合工具。手冊中的主要內容描述的是unix的操作。

適用物件

本手冊適用於使用synopsys綜合工具綜合vhdl或者verilog檔案的邏輯工程師。在使用本手冊前,你需要熟悉以下主題:

 高階設計級數

 asic設計原則

 時序分析原則

 功能劃分技術

你可以在其中找到如下的synopsys產品的文件

• design vision

• designware components

• dft compiler

• primetime

• power compiler

• hdl compiler

• ic compiler

約定synopsys的文件將使用以下約定

約定 描述

courier字型 表示語法,例如write_file

courier italic字型 表示語法中的使用者定義值,例如write_file design_list

courier bold字型 表示使用者的輸入(你逐字打出的),例如prompt> write_file top

[ ] 指示語法中的可選引數,例如write_file [-format fmt]

… 表示引數可以被複製多次,例如pin1 pin2 … pinn

| 表示備選項,例如low | medium | high

control-c 表示鍵盤上的組合鍵,按住ctrl鍵在按c

\ 指示命令列的延續

/ 表示目錄結構

edit > copy 指示選單欄命令的路徑,例如就是開啟edit選單欄然後選擇copy

1design compiler的簡介

design compiler工具是synopsys 綜合工具的核心。design compiler會優化設計以為給定的功能提供更小更快的邏輯綜合結果。它由將hdl設計綜合成優化過的工藝相關的,門級設計的一系列工具組成。它支援打平的或者結構化的設計風格並且能同時在速度,面積和功耗上優化組合和時序設計。

本章節包含以下兩個部分:

 design compiler和設計流程

 design compiler家族

design compiler 和設計流程

圖 1-1 顯示了design complier適配設計流程的簡要概覽圖。

圖1-1 design compiler和設計流程

使用design compiler進行邏輯綜合就是乙個將硬體描述語言,譬如verilog或者vhdl,轉換成優化過的對映到特定工藝庫的門級網表的過程。綜合過程主要有以下幾個步驟:

輸入到design compiler的設計檔案一般都是使用類似verilog或者vhdl的硬體描述語言編寫的。

design compiler使用technology libraries,synthetic 或者 designware libraries,he symbol libraries來實現綜合和圖形化的顯示綜合結果。

在綜合的過程中。design compiler將hdl 轉換成從generic technology(gtech)librariy和designware library中的部件。gtech library由基礎邏輯門和觸發器(flip-flop)組成。designware library由譬如加法器和比較器這些更加複雜的單元組成。gtech library和designware library都是和工藝無關的,也就是說他們不會對映到特定的technology library(工藝相關的)。design compiler使用symbol library來生成設計的原理圖。

3. hdl轉換為門級之後,design compiler會優化並設計並將設計對映到指定的technology library(工藝相關的)也就是target library。這個過程是由約束驅動的。約束就是設計人員指定的timing和環境的限制條件,綜合就是在這些條件下進行的。

4. 在設計優化之後,就可以準備進行測試綜合了。測試綜合就是設計者在綜合過程中將測試邏輯加入到設計中。測試綜合可以讓設計者保證整個設計是可測試的而且可以在早期的設計週期中解決所以的測試問題。

5. 在測試綜合後,就可以進入布局佈線的階段了,在這個階段就是布局並且將設計中的各個單元互相連線起來。設計者可以以物理連線為基礎將實際連線的延時反標在設計中;design compiler可以重新綜合整個設計,以便進行更精確的時序分析。

design compiler 家族

synopsys整合了rtl綜合的解決方法。使用design compiler工具,你可以

 通過使用使用者指定的門陣列,fpga或者標準單元庫來生成高速,小面積的asic設計

 將一種工藝庫下的設計轉換到另一種工藝庫下

 在各種負載,溫度和電壓條件下,通過嘗試包含時序,面積和功耗的約束,探索更優化的設計約束。

 綜合並優化狀態機(fsm)。

 在將網表輸入和網表/原理圖輸入整合到第三方環境中,同時支援延時資訊和布局佈線約束。

 自動建立和層次化劃分原理圖。

design expert

synopsys rtl綜合的核心便是dc expert。dc expert用於高效能的asic和ic設計

dc expert提供以下功能

 結構化編譯(自頂向下或者由下而上)

 全編譯和增量編譯

 複雜的觸發器和鎖存器的時序優化

 基於鎖存器設計的timing borrowing

 時序分析

 buffer平衡(結構化塊中)

 命令列介面和圖形化使用者介面

 budgeting。在模組之間分配時序和環境約束的過程

 自動化晶元綜合,一組可為大型設計完全自動化分割槽,budgeting和分布式綜合流程design compiler命令。

design ultra

dc ultra工具主要是提供給高效能的深亞微公尺asic和ic設計使用,這些設計需要對優化過程有很大程度的控制。

 除了dc expert的功能,dc ultra還提供了如下功能:

 額外的高效能延遲優化演算法

 高階演算法優化

 整合的路徑分割槽和綜合能力

 狀態機(fsm)優化

 高階關鍵路徑再綜合

 暫存器retiming,就是工具在門級組合路徑上移動暫存器來提高時序

 支援高階單元建模,既單元降解設計規則

 高階時序分析

designware 庫

designware庫是乙個緊密整合在synposys 綜合環境的重用的電路設計部件的集合。在綜合過程中,design compiler從designware庫中在正確匹配的部件中選擇速度和面積最佳的部件。更多資訊,請參考designware庫文件。

dft 編譯器

dft編譯工具是synopsys的測試綜合解決方法。dft編譯器提供了整合的design-for-test功能,包括了約束驅動的掃瞄插入。dft編譯器工具是提供給使用掃瞄測試技術的高效能的asic和ic設計使用的。更多資訊,請檢視dft編譯器文件。

power compiler

powe complier工具為功耗分析和設計提供了全套的方**,其中包含了分析和優化設計中的靜態及動態功耗。更多關於這些功耗相關功能的資訊,請參考power compiler user guide。

design vision

design vision工具是synopsys 綜合環境的圖形化介面,也是在gtech和門級上檢視和分析設計的工具。design vision為design compiler的命令提供了選單欄和對話方塊。同時它也譬如設計原理圖之類的圖形化展示。更多資訊,請檢視design vision user guide and design vision help。

Effective C 筆記 導讀及第一章

盡量用const enum inline替換 define 2.1 define 以 開頭的 行是預處理指令。預處理指令是在編譯器進行編譯之前進行的操作,預處理過程掃瞄源 對其進行初步的轉換,產生新的源 提供給編譯器。可見預處理過程先於編譯器對源 進行處理 2.2 巨集定義的常量是沒有型別的,巨集沒...

J2EE學習筆記 第一章 前言

這是j2ee的開篇,慣例也要寫些開篇,本人是做前端開發,並不是web前端開發,是window客戶端應用,手持裝置應用。正因為這樣,所以很多想法都侷限於本地化,資源本地化,資料本地化,當一說到動態資源的時候,就沒法進一步 所以決定學習一些web的東西,由此產生了這幾篇文章。網上也找了很多資料,與書籍,...

第一章學習筆記

看c primer已經好幾遍了,但是還是有很多基礎的問題,總是那樣容易忘記,這次看的時候,決定好好的寫寫讀書筆記 希望能夠認真的堅持下去。incluede的兩種不同格式 include some file 表明檔案是乙個標準工程,查詢先檢查預定義的目錄。include my file 表明改檔案是使...