DC workshop指导篇1- Setup and Synthesis Flow
文章目錄
- Task1、Update the setup file配置DC啟動文件
- Task2、Invoke Design Vision調用DC GUI模式
- Task3 Read the Design into DC Memory將設計文件讀入DC
- Task4 Explore Symbol and Schematicc Views
- Task 5、Explore the Mouse Functions探索鼠標功能
- Task 6、 Constrain TOP with a Script file用腳本約束TOP頂層
- Task 7、Compile or Map to Vendor-Specific Gates編譯或者映射廠商的門
- Task 8. Generate Reports and Analyze Timing產生報告并分析時序
- Task 9、 Save the Optimized Design保存已經優化的設計
- Task 10、Remove Designs and Exit Design Vision移除設計并退出Design Vision
今年的其中一個小目標就是希望能把DC綜合的部分能跑一個flow,完成DC的workshop,因此,特此開啟了DC workshop這一系列。下面就跟著博主一邊自己操作吧,另外由于很多原理我已經在別的系列里面探討過了,這里只是為了走一走官方的flow,長一下見識,所以,如果遇到理論不懂的,特別是beginer,可以參考我DC系列的別的博文。另一方面,在參考別人的博客的同時,我建議各位多自己思考,閱讀原汁原味的官方,因為每個人的理解可能不一樣。
本節任務是
1、能自主更新DC的啟動文件。
2、調用DC gui,并熟悉它
3、通過綜合的基礎步驟,跑一個綜合
4、能夠學會使用幫助文檔
作者:ciscomonkey
Task1、Update the setup file配置DC啟動文件
如下圖所示,整個官方2007年提供的DC workshop如下圖所示,本次lab用到的是實驗2
如下圖所示,切換到lab2后的目錄如下,
如下圖所示,在.synopsys_dc.setup當中,合并一下內容到這個文件中去。
根據官方的指示,現在我填寫為了如下內容:
看看上圖文件中的其他命令,看你是否能夠理解其意思。另外你填寫的變量會被echo到啟動DC時候的終端上。最后保存啟動文件,然后退出編輯器。
Task2、Invoke Design Vision調用DC GUI模式
如下圖所示,由于在當前目錄下有setup啟動文件,正是我們剛才配置的啟動文件,因此,我們可以看到在啟動design_vision的時候,echo出來了以下的變量。
下面通過GUI界面的File—>setup來驗證設置啟動啟動文件是否正確,然后回答以下問題。
這里,我就不再回答了,因為之前在本人別的博客里面已經回答過了。
如果你的填寫得不對,其實在.soulution的文件夾里還給出了答案
如下圖所示,你可以在DC shell里面驗證你的變量設置,是否有正確的加入進去。
Task3 Read the Design into DC Memory將設計文件讀入DC
如下圖所示,加載RTL級別的HDL代碼
如下圖所示,在左邊的邏輯層次設計中,TOP是頂層,其余三個是低一級別的層次。
確保你當前的頂層設計是TOP
如下圖所示,注意Ref Name
如果你現在要設置你的頂層文件
current_design FSM
即可設置FSM為頂層文件
如下圖所示,File---->Link Design
如下圖所示,做Link有如下的選項,正好發現與我們之前的設置腳本是一致的打勾就代表*
保存unmapped,也就是還沒有實現綜合的ddc文件
如下圖所示,使用save as可以達到同樣效果
也可以選擇save as可以達到同樣的效果
如下圖所示,用
list_designs可以列出吃進去的設計文件,并且注意到打*的是頂層文件
list_libs可以列出吃進去的庫文件。
Task4 Explore Symbol and Schematicc Views
點擊如下圖所示的按鈕,將會出現選中對象的原理圖,并且具備該對象的輸入輸出口。
如下圖所示,通過雙擊,可以可以看到里面包含了三個block,另外需要注意的是,此時由于還沒unmapped,所以你還看不到target library的門,你將會看到GTECH原件,GTECH原件是一些通用的布爾表示和寄存器來表示。
如下圖所示,此時使用的是DC本地的library
Task 5、Explore the Mouse Functions探索鼠標功能
這里僅僅介紹放大縮小,滾動鼠標中鍵即可,其余不做介紹,因為指導上面的不如自己嘗試實踐的。
Task 6、 Constrain TOP with a Script file用腳本約束TOP頂層
1、Open the Symbol view for TOP
你可以打開原理圖,但是打開Symbol視角,可以更清晰地看到port name。
2、執行如下的命令
Task 7、Compile or Map to Vendor-Specific Gates編譯或者映射廠商的門
如下圖所示,使用compile來綜合,完成到廠商的映射。
逐漸遞減,如果都大于0,那么就沒有violation
現在打開原理圖,可以發現現在是target library,另外我們隨便選中一個cell,查看他的cell_lib
Task 8. Generate Reports and Analyze Timing產生報告并分析時序
使用
report_constrant -verbose -all_violators
如下圖所示,由于在軟件的終端里看起來不方便,我們還可以將其重定向到一個rpt的報告里面,另外記得,> 前后要有空格。
有任何面積/時序相關的violation就會匯總出來。
使用
report_timing 就可以報告詳細的時序報告
如下圖所示timing.rpt報告的是最糟糕的時序
如下圖所示,產生面積的報告
如下圖所示,使用Highlight --> Critical Path 能夠表示出關鍵路徑,這里經實驗,好像不太順暢,暫時沒懂
如下圖所示,注意下面三個按鈕,
下面以選擇第二個Create endpoint slack hisogram,如下圖所示,點擊ok即可,其中8代表劃分為8根柱,其實也就是代表柱子的精度,默認就好,不太重要。
如下圖所示,觀察橫坐標是時間,縱坐標是slack在這個區間的timing path 的number數目。綠色的代表符合要求的path,紅色的代表不符合要求的path條數
下面的說明,三個按鈕我還沒有看懂。5555
什么是endpoints
Task 9、 Save the Optimized Design保存已經優化的設計
可以使用下面的命令,也可以點擊save as來存儲為ddc文件,另外注意需要加上-hierarchy代表將所有的設計保存為一個單文件ddc
如下圖所示,保存歷史命令,保存為history.tcl
Task 10、Remove Designs and Exit Design Vision移除設計并退出Design Vision
使用下面的remove all designs從DC內存中移除所有的設計
輸入exit執行退出
從官網獲取文檔
總結
以上是生活随笔為你收集整理的DC workshop指导篇1- Setup and Synthesis Flow的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DFT实训教程笔记2(bibili版本)
- 下一篇: DFT实训教程笔记3(bibili版本)