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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tcl与Design Compiler (三)——DC综合的流程

發(fā)布時間:2025/3/21 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tcl与Design Compiler (三)——DC综合的流程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文如果有錯,歡迎留言更正;此外,轉(zhuǎn)載請標(biāo)明出處?http://www.cnblogs.com/IClearner/? ,作者:IC_learner

1、基本流程概述

首先給三個圖,一個圖是高層次設(shè)計的流程圖

?

?

下面是我對這張圖的理解:

 ?、?設(shè)計之前,準(zhǔn)備好庫、HDL代碼的思想、約束生成;然后根據(jù)設(shè)計思想用 RTL 源碼詳細地、完整地為設(shè)計建立模型、定義設(shè)計中寄存器結(jié)構(gòu)和數(shù)目、定義設(shè)計中的組合電路功能、定義設(shè)計中寄存器時鐘等等的設(shè)計規(guī)格和實現(xiàn)。

  ② 完成 RTL 源碼設(shè)計之后,應(yīng)讓設(shè)計開發(fā)與功能仿真并行進行:

    ?·在設(shè)計開發(fā)階段,我們使用 DC 來實現(xiàn)特定的設(shè)計目標(biāo)(設(shè)計規(guī)則和優(yōu)化約束),以及執(zhí)行默認(rèn)選項的初步綜合.

    ·如果設(shè)計開發(fā)結(jié)果未能在 10%的偏差范圍內(nèi)滿足時序目標(biāo),則需要修正 HDL 代碼,然后重復(fù)設(shè)計開發(fā)和功能驗證的過程.

    ·在功能仿真中,通過特定的工具來確定設(shè)計是否能按如所需的功能工作. ??

    ·如果設(shè)計未能滿足功能要求, ?我們必須修改設(shè)計代碼以及重復(fù)設(shè)計開發(fā)和功能仿真. ??繼續(xù)設(shè)計開發(fā)和功能仿真直至設(shè)計功能正確及滿足小于 10%偏差的時序目標(biāo).

  ③ 使用 DC 完成設(shè)計的綜合并滿足設(shè)計目標(biāo).這個過程包括三個步驟,即綜合=轉(zhuǎn)化+邏輯優(yōu)化+映射,首先將 RTL 源代碼轉(zhuǎn)化為通用的布爾等式,然后設(shè)計的約束對電路進行邏輯綜合和優(yōu)化,使電路能滿足設(shè)計的目標(biāo)或者約束,最后使用目標(biāo)工藝庫的邏輯單元映射成門

級網(wǎng)表,在將設(shè)計綜合成門級網(wǎng)表之后,要驗證此時的設(shè)計是否滿足設(shè)計目標(biāo).如果不能滿足設(shè)計目標(biāo),此時需要產(chǎn)生及分析報告確定問題及解決問題

 ?、墚?dāng)設(shè)計滿足功能、時序以及其他的設(shè)計目標(biāo)的時候,需要執(zhí)行物理層設(shè)計最后分析物理層設(shè)計的性能,也就是使用DC的拓撲模式,加入floorplan的物理信息后進行綜合分析設(shè)計的性能。如果結(jié)果未能滿足設(shè)計目標(biāo),應(yīng)返回第三步.如果滿足設(shè)計目標(biāo),則本部分設(shè)計周期完成.

  一個圖是DC在設(shè)計流程中的位置

?

  這個圖將上面的流程圖細化,著重與DC的部分,描述了使用DC進行邏輯綜合時要做的事,同時,也是對前面的流程圖解說的圖形概述。在綜合的時候,首先DC的HDL compiler把HDL代碼轉(zhuǎn)化成DC自帶的GTECH格式,然后DC的library compiler 根據(jù)標(biāo)準(zhǔn)設(shè)計約束(SDC)文件、IP-DW庫、工藝庫、圖形庫、(使用拓撲模式時,還要加入ICC生成的DEF模式,加載物理布局信息)進行時序優(yōu)化、數(shù)據(jù)通路優(yōu)化、功耗優(yōu)化(DC的power compiler進行)、測試的綜合優(yōu)化(DC的DFT compiler),最后得到優(yōu)化后的網(wǎng)表。

最后一個圖是,使用DC進行基本的邏輯綜合的流程圖與相應(yīng)的命令

?

?

這個圖給出了使用DC進行邏輯綜合時的基本步驟,我們根據(jù)這個圖運行DC,下面是這個圖的具體解說:

 ?、?span style="color:#ff0000;">準(zhǔn)備設(shè)計文件,DC 的設(shè)計輸入文件一般為 HDL 文件。

?

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

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

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

Link library & target library

  Link ?library 和 target ?library 統(tǒng)稱為?technology ?library(即工藝庫,習(xí)慣稱之為綜合庫),technology ?library ?由半導(dǎo)體制造商提供,包含相關(guān) cell 的信息及設(shè)計約束標(biāo)準(zhǔn),其中:

??  Target library: ???在門級優(yōu)化及映射的時候提供生成網(wǎng)表的 cell,即DC 用于創(chuàng)建實際電路的庫。

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

  當(dāng) DC 讀入設(shè)計時,它自動讀入由 link library 變量指定的庫。當(dāng)連接設(shè)計時,DC 先搜尋其內(nèi)存中已經(jīng)有的庫,然后在搜尋由 link ?library 指定的庫。

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

??Symbol library

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

??Synthetic library

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

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

 ?、?span style="color:#ff0000;">讀入設(shè)計

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

讀入設(shè)計有兩種實現(xiàn)方法實現(xiàn)方法:read ?和 ?analyze & elaborate(實際上

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

別:

?

?

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

 ?、?span style="color:#ff0000;">定義設(shè)計環(huán)境:?

定義對象包括工藝參數(shù)(溫度、電壓等),I/O 端口屬性(負載、驅(qū)動、扇出),

統(tǒng)計 wire-load 模型,設(shè)計環(huán)境將影響設(shè)計綜合及優(yōu)化結(jié)果。

 ?、?span style="color:#ff0000;">設(shè)置設(shè)計約束:?

設(shè)計約束包括設(shè)計規(guī)則約束和優(yōu)化約束,設(shè)計規(guī)則約束(design ?rule

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

 ?、?span style="color:#ff0000;">選擇編譯策略:?

對于層次化設(shè)計,DC 中有兩種編譯策略供選擇,分別為 top down 和 bottom

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

  ⑦編譯:?

  用 Compile 命令執(zhí)行綜合與優(yōu)化過程,還可以利用一些選項指導(dǎo)編譯和優(yōu)化過程。

  ⑧分析及解決設(shè)計中存在的問題?

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

 ?、?span style="color:#ff0000;">存儲設(shè)計數(shù)據(jù)?

DC 不會自動存儲綜合后的設(shè)計結(jié)果,因而需要在離開 DC 時手動存儲設(shè)計數(shù)據(jù)。比如存儲網(wǎng)表、延時信息等數(shù)據(jù)文件。

?

2、實戰(zhàn)

在這里,我們將實戰(zhàn)一下,做一下實驗,讓大家體驗一下流程:

?

·首先準(zhǔn)備好文件:

?

?

這個.synopsys_dc.setup文件(包含了com、dc_setup)、TOP.con文件是需要我們書寫的,這里以及寫好了,我們來看一下就好了。

.synopsys_dc.setup的內(nèi)容:

?

然后我們移步到common_setup.tcl和dc_setup.tcl的內(nèi)容:

?

common_setup.tcl文件定義了庫的名字和名稱,上面是邏輯庫,下面物理庫:

5行:定義庫的搜索路徑,當(dāng)找不到庫時,從這個路徑中尋找

8行:定義target library使用的庫(注意,只是定義一個變量)

10行:定義圖形庫變量

15行:定義頂層設(shè)計庫的變量名稱

17行:定義milkyway(參考)庫(的位置)

19行:定義工藝庫(的位置)

21行:定義寄生參數(shù)庫(的位置)

23行:定義工藝庫和寄生參數(shù)庫的映射關(guān)系庫(的位置)

dc_setup.tcl的內(nèi)容:

?

dc_setup.tcl文件就是指定庫了,而不是單單地定義了,ser_app_var是定義DC內(nèi)部變量,4~7這是指定搜索路徑個各種庫的路徑和名稱

下面的物理庫設(shè)置中:

13行:指定milkyway(參考)庫的名稱

14行:指定當(dāng)前設(shè)計的庫的名稱

16行:創(chuàng)建milkyway庫,格式如圖上面,需要工藝庫、參考、當(dāng)前設(shè)計庫

19行:打開當(dāng)前的設(shè)計庫

20行:加載寄生參數(shù)(庫)

?

·啟動DC

  這里是流程演示,因此我們使用圖形化的方式啟動:

?  design_vision -topo

·讀入設(shè)計前的檢查

  -->檢查庫是否正確設(shè)置:

?

?

?

  -->檢查邏輯庫和物理課的一致性:

  Check_library

  檢查可能不會通過,結(jié)果不影響綜合的話,可以忽略

?

  -->檢查寄生參數(shù)文件和工藝庫文件的一致性:(物理綜合的時候需要檢查)

  check_tlu_plus_files

  通過的話會有三個passed

?

·讀入設(shè)計和查看設(shè)計

  -->讀入設(shè)計:

  read_file ??-format ??verilog???./rtl/TOP.v

  用法如下所示:

?

?

?

  -->設(shè)置當(dāng)前設(shè)計

  要綜合哪個模塊,就把哪個模塊設(shè)置為當(dāng)前設(shè)計;

  查看當(dāng)前設(shè)計:current_design

?  

?

  設(shè)置當(dāng)前設(shè)計:current_design TOP

?

  -->link設(shè)計

  Link設(shè)計,查看當(dāng)前要綜合的設(shè)計是否缺少子模塊:

  link

  返回值是1,說明子模塊完整

?

  -->以ddc的格式保存未映射的設(shè)計(注意需要先創(chuàng)建unmapped文件夾):

  Write??-hierarchy ?-f??ddc ?-out??unmapped/TOP.ddc

  我們可以看看write的用法:

?  

?

  -->查看內(nèi)存中的設(shè)計和庫:

?

  帶*的設(shè)計為當(dāng)前設(shè)計,要綜合哪個模塊就current_design哪個設(shè)計

  然后list_libs是查看庫和庫的路徑,這個命令也可以檢查是否讀入了對應(yīng)的庫

?

·約束設(shè)計(也就是上面流程圖中的各種set)

我們通過執(zhí)行約束文件來約束設(shè)計:

source TOP.con

?

其他選項我們在后面會敘述,我們這里只說一下5行的reset_design,這個就是剔除之前所有的約束,防止影響下面的約束。

?

·進行綜合

Compile_ultra(這是在拓撲模式下進行綜合的命令)

?

·綜合后的檢查(檢查不通過的需要優(yōu)化,這里只作為一般流程,沒有進行優(yōu)化)

report_constraint -all??(查看是否違規(guī))

report_timing?(查看時序報告)

report_are?(查看面積情況)

?

·保存綜合后的設(shè)計(注意先創(chuàng)建mapped這個文件夾)

write -hierarchy -format ddc -output ./mapped/TOP.ddc

?

總結(jié),大概的流程為:

準(zhǔn)備好文件 ——>啟動DC ——>讀入設(shè)計前的檢查——>讀入設(shè)計和查看設(shè)計——>約束設(shè)計——>綜合——>綜合后檢查(與優(yōu)化)——>保存優(yōu)化后的設(shè)計

轉(zhuǎn)載于:https://www.cnblogs.com/IClearner/p/6618992.html

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的Tcl与Design Compiler (三)——DC综合的流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 麻豆av电影在线 | 免费香蕉视频 | a天堂中文在线 | 亚洲国产精品福利 | 日韩一区二区三区三四区视频在线观看 | www插插插无码免费视频网站 | 久久日韩精品 | 国产区亚洲区 | av色综合 | 日本一区不卡视频 | 亚洲av综合色区无码一二三区 | 国产精品久久久久久久久久久久久 | 日韩jizz| 欧美三区视频 | 日韩免费黄色 | 日韩一级视频 | 国产理论片在线观看 | 美女免费视频网站 | 亚洲AV无码一区二区伊人久久 | 女大学生的家政保姆初体验 | 亚洲三级免费 | 亚洲一区二区三区精品视频 | 免费看美女被靠到爽的视频 | 影音先锋国产在线 | 中文字幕日产av | 九一国产视频 | 解开人妻的裙子猛烈进入 | 亚洲精品~无码抽插 | 午夜爽视频 | 精品人妻一区二区三区在线视频 | www.黄色在线观看 | 无码人妻aⅴ一区二区三区69岛 | 上海毛片| 精品在线视频一区二区三区 | 久色综 | 天天干天天搞天天射 | av香港经典三级级 在线 | 三级小视频在线观看 | 波多野结衣视频在线播放 | 亚洲午夜精品久久久久久浪潮 | 黄色网址在线播放 | 麻豆国产一区二区三区四区 | 成人黄色视屏 | 女人脱裤子让男人捅 | 91国偷自产中文字幕久久 | 久久久久精彩视频 | 古代黄色一级片 | www.色图 | 国产日韩一区二区三区在线观看 | 久久艹这里只有精品 | 青娱乐国产盛宴 | 欧美一级免费观看 | 日本肉体xxxx裸体xxx免费 | 五月婷婷国产 | 午夜看片 | 成人a免费 | 久久久精品视频一区 | 欧美一级日韩 | 人人干人人澡 | 浮力影院草草 | 欧美 日韩 国产在线 | 韩国毛片基地 | 污污视频免费网站 | 中文字幕一区二区在线观看视频 | 国产精品影音先锋 | 青青草福利 | 99在线免费观看视频 | 国产精品久久久久不卡 | 成人国产一区二区三区精品麻豆 | 91午夜在线| 日韩黄色片在线观看 | 毛茸茸多毛bbb毛多视频 | 中文字幕日韩欧美在线 | 精品国产精品 | 亚洲AV无码久久精品色三人行 | 色呦呦网站 | 天堂网在线观看 | 人妻精品久久久久中文字幕 | 成人人伦一区二区三区 | 国产精品免费电影 | 久久精品免费播放 | 亚洲精品一区二区三区在线观看 | 中国吞精videos露脸 | 国产免费无码XXXXX视频 | 四虎永久免费地址 | 极品少妇av | 国产精品久久久91 | 日韩在线一二三 | 人人干超碰 | 迈开腿让我尝尝你的小草莓 | 亚洲成人免费在线视频 | 成人无码一区二区三区 | 成人做爰免费视频免费看 | 葵司ssni-879在线播放 | 亚洲天堂中文字幕 | 免费网站成人 | 把高贵美妇调教成玩物 | 变态另类丨国产精品 | 国产猛男猛女超爽免费视频 |