1簡介
冗長的編譯和仿真,對于稍大的工程,編譯加上仿真可能需要1個小時以上并且占用大量內(nèi)存,而跑回歸更是消耗大量的時間以及內(nèi)存資源,本文主要給大家?guī)鞻CS使用技巧,DPO,DPO全稱是Dynamic Performance Optimizer,主要用于優(yōu)化編譯和仿真(時間/內(nèi)存),減少資源的使用,屬于VCS的高級功能。僅需要很少的命令即可引入當(dāng)前工程,體驗來看,優(yōu)化基本都在30%以上(數(shù)據(jù)來自亦安自己的測試,具體以實(shí)際為準(zhǔn))。
2DPO的特性
接入工程簡單,只需要簡單的命令
深度優(yōu)化編譯和仿真,包含時間和內(nèi)存的優(yōu)化
3該怎么使用DPO
目前該功能可能需要較高版本VCS DPO才比較完善。
使用邏輯非常簡單:第一步,學(xué)習(xí)(learn)以及合并(merge)。第二步,應(yīng)用(apply)。例如有500個case,我們先在learn模式跑完case,然后merge,之后便可以在應(yīng)用(apply)模式下跑項目。最終會有比較好的編譯和仿真優(yōu)化,一般情況下,工程沒有巨大改變,不需要重新learn。
我們打開VCS_HOME目錄下,doc/examples/dpo/dpo_use_model,官方給了一個demo,Makefile如下(部分),主要涉及參考,學(xué)習(xí),合并,獲得建議,應(yīng)用,報告。涉及的命令非常的簡單,如果想更深入了解請參閱手冊。該目錄下執(zhí)行make即可跑demo。
dpo_reference: vcs-sverilog-full64-ntb_optsuvm-1.2ubus_tb_top-debug_access+all-lca-lcomp_ref.log-dpo-dpo_optsapps=vcsgd+user_tag=reference ./simv+UVM_NO_RELNOTES+UVM_TESTNAME=test_2m_4s-lsimv_ref.log dpo_learn: rm-rfsimvsimv.daidircsrcvc_hdrs.h*.keyvcs.cfg vcs-sverilog-full64-ntb_optsuvm-1.2ubus_tb_top-debug_access+all-lca-lcomp_learn.log-dpo-dpo_optsmode=learn+apps=default,lint,upfopt,pgates+user_tag=learn+dbdir=dpo_learndb-dpo_optscfg=cfg ./simv+UVM_NO_RELNOTES+UVM_TESTNAME=test_2m_4s-lsimv_learn.log merge_db: dporgmerge-ddpo_learndb dump_reco: dporgdump-ddpo_learndb echo"#####EnablingallrecommendationsdumpedbyDPOfromdpo_reco.csv#####" sed-i"s/^N,/Y,/g"dpo_reco.csv dpo_apply: rm-rfsimvsimv.daidircsrcvc_hdrs.h*.keyvcs.cfg vcs-sverilog-full64-ntb_optsuvm-1.2ubus_tb_top-debug_access+all-lca-lcomp_apply.log-dpo-dpo_optsreco_file=dpo_reco.csv+apps=default,fgp,lint,upfopt,pgates+user_tag=apply+learn_dbdir=dpo_learndb+cfg=cfg ./simv+UVM_NO_RELNOTES+UVM_TESTNAME=test_2m_4s-lsimv_apply.log dpo_report: dporgreport-ddpo_dbdir
4查看DPO報告
dporgReport目錄下用瀏覽器打開即可,可以打開相關(guān)的報告。可以看到相關(guān)的優(yōu)化比率,CT(Compile Time),RT(Run Time),RM(Memory)。
5DPO設(shè)置的權(quán)衡
任何事情的選擇很難是各個方面都會帶來優(yōu)勢,所以需要結(jié)合自己的項目去權(quán)衡應(yīng)該優(yōu)化那些方面,哪里是關(guān)鍵的設(shè)計,那么選擇優(yōu)化該方向。相關(guān)建議可以在文件dpo_reco.csv打開查看。
審核編輯:黃飛
-
內(nèi)存
+關(guān)注
關(guān)注
8文章
3055瀏覽量
74331 -
VCS
+關(guān)注
關(guān)注
0文章
80瀏覽量
9647
原文標(biāo)題:如何讓你的仿真編譯性能優(yōu)化?(VCS 高級特性)
文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
![](https://file.elecfans.com/web2/M00/81/90/pYYBAGOQCqCAZWxbAADRw5l79VQ057.jpg)
VCS仿真指南(第二版).pdf
nanosim和vcs混合仿真的過程是怎樣的?
基于linux系統(tǒng)的VCS使用及仿真說明
基于linux系統(tǒng)實(shí)現(xiàn)的vivado調(diào)用VCS仿真教程
![基于linux系統(tǒng)實(shí)現(xiàn)的vivado調(diào)用<b class='flag-5'>VCS</b><b class='flag-5'>仿真</b>教程](https://file1.elecfans.com//web2/M00/A6/C4/wKgZomUMQEWAYFuEAAAUrDVs_DA005.jpg)
評論