DC课程笔记-数字逻辑综合工具-DC Synthesis Optimization Techniques
文章目錄
- 課程內(nèi)容筆記00:00開始至
本節(jié)視頻來源于DC視頻教程,本節(jié)主要約束環(huán)境
課程內(nèi)容筆記00:00開始至
芯片的輸出端口要驅(qū)動一個負(fù)載,如何在DC綜合時候就模仿在流片回來后的輸出管腳的負(fù)載,例如芯片的管腳直接驅(qū)動LED,那如果在某種情況下,芯片管腳驅(qū)動10個LED,能否驅(qū)動呢?所以在綜合的時候就要告訴DC,輸出負(fù)載有多大?
如何選擇輸入驅(qū)動能力,輸出負(fù)載能力?影響輸入端口邏輯部分M和輸出邏輯部分S的選擇。
當(dāng)一條約束都不加時候,DC也能編譯,不過編譯出來的未必能符合工作環(huán)境。
set_load代表負(fù)載的電容有多大,中括號[ ]代表計算表達(dá)式,也就是將[ ]里面計算的結(jié)果交給set_load繼續(xù)執(zhí)行。30/1000 的計算結(jié)果的單位是經(jīng)過工藝庫可以查看,list_lib,report_lib 。get_ports可以返回一個端口加在哪一個端口上面。get_ports返回一個collection。
如下圖所示,第一個圖代表的是驅(qū)動的一個與門的負(fù)載,也就相當(dāng)于在輸出的port的線上加了一個負(fù)載電容,現(xiàn)在我們要決定這個負(fù)載電容有多大。set_load就是設(shè)置負(fù)載電容, load_of是指定這個my_lib這個庫,庫里面的一個與門的A pin口,然后get_ports是將負(fù)載+在這個B口的上。
set_load [load_of my_lib/AN2/A] [get_ports B] set_load [expr {[load_of my_lib/inv1a0/A]*3}] [get_ports B]
腳本:
top.tcl的腳本如下,代表當(dāng)我運行這個top.tcl文件時候,sourcefsm.tcl的文件log就會被保存下來。
redirect -tee -file ${WORK_PATH}/compile.log {source -echo -erbose fsm_moor.tcl}采用如下的命令查看最差的路徑,這個slack一定要為正值
report_timing -delay_type max采用如下命令查看所有的violators
report_constraint -all_violatorsexecuting run_scripts in"batch mode"
For maximum efficency capture “run commands”
in a “run script” and execute in batch mode
采用上述命令,可以在啟動DC的同時直接跑腳本
檢查DC的約束腳本的語法錯誤命令:
linux% dcprocheck TOP.condcprocheck is a syntax-checking utility that is included with DC
檢查約束是否有正確加上去:
report_port -verbose report_clock #clock waveform report_clock -skew #clock tree specs如何使用幫助?
help *clock; 列出所有關(guān)于clock的命令
help -verbose create_clock ;;列出create_clock的所有選項
如果使用help set_input_delay 或set_input_delay 加tab都不能顯示參數(shù)
使用set_input_delay -help可以達(dá)到同樣的效果
man create_clock 可以得到完整的man page
變量:
printvar *_library 列出所有的匹配library的變量的命令
echo $target_library
man target_library
總結(jié)
以上是生活随笔為你收集整理的DC课程笔记-数字逻辑综合工具-DC Synthesis Optimization Techniques的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DC课程笔记-数字逻辑综合工具-DC E
- 下一篇: DFT实训教程笔记1(bibili版本)