日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

逻辑综合——概述与基本概念

發布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 逻辑综合——概述与基本概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

邏輯綜合系列主要說明以下問題:

  • 為什么要邏輯綜合
  • 邏輯綜合的基本原理
  • 邏輯綜合需要提供哪些文件
  • 邏輯綜合過程中施加約束
  • 邏輯綜合能產生那些結果

綜合是前端設計的重要步驟之一,其過程是將行為描述的電路、RTL級的電路轉換到門級,其目的在于:決定電路門級結構,尋求時序與面積的平衡,尋求功耗與時序的平衡,增強電路的測試性。常見的工具是synoosys公司的 Design Compiler,將HDL語言描述的電路轉換到基于工藝庫的門級網表。

邏輯綜合的步驟為:轉譯(Translation)、優化(Optimize)、映射(Mapping)

DC在綜合過程中會將電路劃分為以下的處理對象:

??

  • Design:整個需要綜合的電路,即我們待綜合的對象
  • Port:最外部的端口,一般是電路與外部交互的IO口
  • Clock:由于時鐘上的任何問題都會對電路造成重要的影響,所以時鐘需要單獨處理
  • Cell:被例化的模塊
  • Reference:例化模塊的原電路
  • Pin:Cell自身的引腳,注意與Port的區別
  • Net:內部連線
  • 用Design Compiler做綜合的流程如下:

    其實施流程為:

  • 預綜合過程(pre-synthesis process)
  • 施加設計約束(contrainting design)
  • 設計綜合(synthesizing?design)
  • 后綜合過程(post-synthesis process)
  •   ①準備設計文件,DC 的設計輸入文件一般為 HDL 文件。

      ②指定庫文件,需要指定的庫文件包括:

    鏈接庫(link library) 、目標庫(target library) 、符號庫(symbol library)、綜合庫(synthetic library)

      下面是庫的解釋,具體的解釋在后面有說,這里先進行簡單地概述一下:

    ?Link library & target library

     ?  Link ?library 和 target ?library 統稱為?technology ?library(即工藝庫,習慣稱之為綜合庫),technology ?library ?由半導體制造商提供,包含相關 cell 的信息及設計約束標準,其中:

    ??  Target library: ???在門級優化及映射的時候提供生成網表的 cell,即DC 用于創建實際電路的庫。

    ?  ?Link library: ?????提供設計網表中的 cell,可以跟target_library使用同一個庫,但是 DC 不用 link library中的 cell 來綜合設計。

      當 DC 讀入設計時,它自動讀入由 link library 變量指定的庫。當連接設計時,DC 先搜尋其內存中已經有的庫,然后在搜尋由 link ?library 指定的庫。

      注:當讀入的文件是門級網表時,需要把 link library 指向生成該門級網表的庫文件,否則 DC 因不知道網表中門單元電路的功能而報錯。 關于工藝庫里面的具體內容,后面會專門進行說明。

    ??Symbol library

      Symbol library 提供 Design Vision GUI 中設計實現的圖形符號,如果你使用腳本模式而不使用 GUI,此庫可不指定 Symbol?library

    ??Synthetic library

    ?  即為 Designware library ,名字上翻譯是綜合庫,但卻常稱之為IP庫,而不是直譯。特殊的 Designware library 是需要授權的(比如使用多級流水線的乘法器),默認的標準 Designware 由 DC 軟件商提供,無需指定。

    ? Create_mw_lib?:主要使用DC的物理綜合的時候,需要生成物理庫

      ③讀入設計?:

    設計的讀入過程是將設計文件載入內存,并將其轉換為 DC 的中間格式,即GTECH 格式,GTECH 格式由“soft macros” ?如 ?adders, comparators 等組成,這些組件來自 synopsys ?的 synthetic lib,每種組件具有多種結構。

    讀入設計有兩種實現方法實現方法:read ?和 ?analyze & elaborate(實際上

    read 是 analyze ?與 ?elaborate 的打包操作 ?),下面介紹二者在使用中的區別:

    ?

    從中可以看到,analyze & elaborate ?可以自由指定設計庫,并生成 GTECH中間文件前生成.syn 文件存儲于 work 目錄下,便于下次 elaborate 節省時間,我們一般選擇 ?analyze & elaborate 的方法讀入設計。

      ④定義設計環境:?

    定義對象包括工藝參數(溫度、電壓等),I/O 端口屬性(負載、驅動、扇出),統計 wire-load 模型,設計環境將影響設計綜合及優化結果。

      ⑤設置設計約束:?

    設計約束包括設計規則約束和優化約束,設計規則約束(design ?rule constraint)由工藝庫決定,在設計編譯過程中必須滿足,用于使電路能按功能要求正常工作。設計優化約束定義了 DC 要達到的時序和面積優化目標,該約束由用戶指定,DC 在不違反設計規則約束的前提下,遵循此約束綜合設計。

      ⑥選擇編譯策略:?

    對于層次化設計,DC 中有兩種編譯策略供選擇,分別為 top down 和 bottom up。在 top down 策略中,頂層設計和子設計在一起編譯,所有的環境和約束設置針對頂層設計,雖然此種策略自動考慮到相關的內部設計,但是此種策略不適合與大型設計,因為 top down 編譯策略中,所以設計必須同時駐內存,硬件資源耗費大。在 bottom up 策略中,子設計單獨約束,當子設計成功編譯后,被設置為 dont_touch 屬性,防止在之后的編譯過程中被修改,所有同層子設計編譯完成后,再編譯之上的父設計,直至頂層設計編譯完成。Bottom ?up 策略允許大規模設計,因為該策略不需要所有設計同時駐入內存。

      ⑦編譯:?

    用 Compile 命令執行綜合與優化過程,還可以利用一些選項指導編譯和優化過程。

      ⑧分析及解決設計中存在的問題?

    DC ?可以產生一些報告以反應設計的綜合和優化結果,如:時序、面積、約束等報告,這些報告有助于分析和解決設計中存在的問題以改善綜合結果,我們還可以利用 check_design 命令檢驗綜合的設計的一致性。

      ⑨存儲設計數據?

    DC 不會自動存儲綜合后的設計結果,因而需要在離開 DC 時手動存儲設計數據。比如存儲網表、延時信息等數據文件。

    總結

    以上是生活随笔為你收集整理的逻辑综合——概述与基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。