一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用VCS跑simulation hang住了該怎么辦?

sanyue7758 ? 來源:處芯積律 ? 2023-05-10 09:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近遇到一個(gè)棘手的問題,用VCS跑simulation hang住了。

遇到此類問題,我第一個(gè)想到的是去打印一些log看看,比如設(shè)置定時(shí)打印,調(diào)高UVM打印級(jí)別等。我在仿真環(huán)境里面設(shè)置定時(shí)打印log的信息,發(fā)現(xiàn)hang住之后不會(huì)打印了。由此猜測(cè)是環(huán)境里面存在0延時(shí)的死循環(huán),導(dǎo)致仿真無法繼續(xù)推前。

VCS提供了ucli可以進(jìn)行單步調(diào)試,如果遇到0延時(shí)的死循環(huán),理論上進(jìn)行單步調(diào)試的時(shí)候,會(huì)循環(huán)的執(zhí)行某一段代碼。但是考慮到可能涉及到的循環(huán)邏輯比較多,單純用手工單步調(diào)試會(huì)非常困難。如果用腳本自動(dòng)運(yùn)行幾千行,然后將單步調(diào)試的結(jié)果保存在log文件中,將非常有助于分析出死循環(huán)的代碼。對(duì)于這種想法網(wǎng)友已經(jīng)用tcl腳本實(shí)現(xiàn)。讓我們看看網(wǎng)友怎么用loop detect的方式尋找0延時(shí)的死循環(huán)。

第一步用vcs -debug_all 編譯文件。

第二步用simv -ucli 執(zhí)行文件

第三步在ucli界面里面source loop_detect.tcl 這個(gè) tcl文件

Loop_detect.tcl 的文件內(nèi)容如下

#!/usr/bin/tclsh

proc loop_detect(args) {

set help"-help"

if{[stringequal $args $help] != 1} {

configfollowactivescope on

set i 0;

while {$i< $args} {

run_step

incr i

}

}

else {

puts"Usage: loop_detect "

}

}

proc run_step{} {

redirect -floop.txt -a {set x [step]};

redirect -floop.txt -a {set y [scope]};

puts $x;

puts $y;

}

第四步在ucli 里面用run {time} 執(zhí)行到hang住的地方,比如simulation 是在1000ns的地方hang住了,可以用run1000ns 執(zhí)行到此處。

第五步在ucli里面用loop_detect {number of steps} 檢查hang住的原因,比如我用loop_detect 1000 則表示單步執(zhí)行了1000次,并將每步的結(jié)果存在loop.txt 中。然后從loop.txt 中查看是否有0延時(shí)的死循環(huán)。

我的問題用這種方法尋找到了0延時(shí)的死循環(huán)邏輯。如果通過上面五步,在loop detect中沒有看到死循環(huán)怎么辦,還有其他辦法嗎?這可能需要借助 Verdi和VCS進(jìn)行聯(lián)合仿真了。怎么用Verdi和VCS進(jìn)行單步調(diào)試呢?

第一步用vcs -debug_access+all -kdb -lca進(jìn)行編譯

第二步用 simv -gui=verdi啟動(dòng)聯(lián)合單步調(diào)試

8026c626-ee7a-11ed-90ce-dac502259ad0.png

通過verdi進(jìn)行單步調(diào)試,讓debug變比較容易。

如果通過Verdi和VCS聯(lián)合單步調(diào)試還沒發(fā)現(xiàn)問題呢?各位同行們還有什么手段,歡迎各位留言討論。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • TCL
    TCL
    +關(guān)注

    關(guān)注

    11

    文章

    1782

    瀏覽量

    89848
  • VCS
    VCS
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    9893
  • Verdi
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    9000
  • GUI
    GUI
    +關(guān)注

    關(guān)注

    3

    文章

    677

    瀏覽量

    41083

原文標(biāo)題:當(dāng)simulation hang住的時(shí)候該怎么辦?

文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    請(qǐng)問protuse8出現(xiàn)“fatal simulation error encounlered”應(yīng)該怎么辦

    本帖最后由 燚元帥 于 2016-4-21 08:20 編輯 請(qǐng)問protuse8出現(xiàn)“fatal simulation error encounlered”應(yīng)該怎么辦
    發(fā)表于 04-20 22:21

    諾基亞n70白屏怎么辦

    諾基亞n70白屏怎么辦
    發(fā)表于 09-01 15:58 ?3683次閱讀
    諾基亞n70白屏<b class='flag-5'>怎么辦</b>

    顯示桌面沒了怎么辦

    顯示桌面沒了怎么辦 我的windows xp的顯示桌面的圖標(biāo)沒有了怎么辦。下載一個(gè)放到系統(tǒng)目
    發(fā)表于 01-18 19:00 ?3927次閱讀

    本本發(fā)熱導(dǎo)致“發(fā)燒” 那怎么辦呢?

    本本發(fā)熱導(dǎo)致“發(fā)燒” 那怎么辦呢? 焦點(diǎn):怎樣讓我們可愛的本本保持正常的“體溫”呢?   你是否曾經(jīng)聽說過,瑞典的
    發(fā)表于 01-26 11:40 ?1663次閱讀

    NTDETECT失敗怎么辦

    NTDETECT失敗怎么辦    問:我的電腦有時(shí)閃存或光驅(qū)拷貝一些文件或安裝程序后,電腦就自動(dòng)關(guān)機(jī)了。當(dāng)再啟動(dòng)時(shí)就進(jìn)不了系
    發(fā)表于 02-25 11:08 ?2066次閱讀

    若忘記了Linux系統(tǒng)的root密碼,怎么辦?

    很多朋友經(jīng)常會(huì)忘記Linux系統(tǒng)的root密碼,linux系統(tǒng)忘記root密碼的情況怎么辦呢?
    的頭像 發(fā)表于 10-15 16:49 ?1.3w次閱讀

    電池?fù)Q新無法可依怎么辦

    電池壞了怎么辦?修。修不好怎么辦?換。
    發(fā)表于 03-19 11:23 ?1516次閱讀

    日常運(yùn)營(yíng)中網(wǎng)站受到安全威脅時(shí)怎么辦

    很多站長(zhǎng)辛辛苦苦做站,卻因?yàn)榘踩胧┎坏轿粚?dǎo)致網(wǎng)站被掛馬,點(diǎn)進(jìn)去都是灰色鏈接,如果不及時(shí)處理,很容易招致搜索引擎懲罰,那么網(wǎng)站被掛馬怎么辦?出現(xiàn)這種棘手的問題怎么處理?
    發(fā)表于 11-16 11:17 ?672次閱讀

    linux無法識(shí)別U盤怎么辦

    linux無法識(shí)別U盤怎么辦?
    發(fā)表于 05-19 09:08 ?1.7w次閱讀
    linux無法識(shí)別U盤<b class='flag-5'>怎么辦</b>

    鍵槽滾鍵了怎么辦?

    鍵槽滾鍵了怎么辦
    發(fā)表于 03-07 16:37 ?7次下載

    錫漿(錫膏)干了怎么辦?什么稀釋?

    隨著焊接與植球技術(shù)的不斷成熟,人們開始嘗試獨(dú)自購(gòu)買錫漿進(jìn)行工作,問題,也隨之而來,錫漿(錫膏)干了怎么辦,什么稀釋,大家應(yīng)該都在嘗試各種辦法去解決,下面錫膏廠家來講解一下:錫漿(錫膏)干了怎么辦
    的頭像 發(fā)表于 05-31 15:16 ?7031次閱讀
    錫漿(錫膏)干了<b class='flag-5'>怎么辦</b>?<b class='flag-5'>用</b>什么稀釋?

    電機(jī)過熱怎么辦?

    電機(jī)過熱怎么辦?WAYON維安PPTC有方案
    的頭像 發(fā)表于 11-01 15:08 ?1112次閱讀
    電機(jī)過熱<b class='flag-5'>怎么辦</b>?

    pcb鉆孔偏孔了怎么辦?

    pcb鉆孔偏孔了怎么辦
    的頭像 發(fā)表于 11-22 11:10 ?4543次閱讀
    pcb鉆孔偏孔了<b class='flag-5'>怎么辦</b>?

    風(fēng)機(jī)軸磨損怎么辦

    電子發(fā)燒友網(wǎng)站提供《風(fēng)機(jī)軸磨損怎么辦.docx》資料免費(fèi)下載
    發(fā)表于 01-07 11:04 ?0次下載

    工控主板發(fā)生故障怎么辦?

    工控主板發(fā)生故障怎么辦?前幾天有個(gè)客戶問了我這個(gè)問題,大部分情況下出現(xiàn)的故障并不可怕,主要是用戶粗心大意造成的。那今天小編就來講解一下工控主板一般會(huì)出現(xiàn)故障的主要原因及判斷方法:
    的頭像 發(fā)表于 04-11 18:19 ?1166次閱讀