91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

芯片驗(yàn)證過程中遇到的仿真器掛死的情形

路科驗(yàn)證 ? 來源:路科驗(yàn)證 ? 作者:路科驗(yàn)證 ? 2022-06-02 14:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文主要分析總結(jié)芯片驗(yàn)證過程中遇到的仿真器掛死(就是通常所說的hang)的情形。給出的解決方案都是基于Cadence仿真工具incisive(當(dāng)然利用xcelium也是沒有問題的)和debug工具simvision(當(dāng)然利用更強(qiáng)大的indago也是沒問題的),需要指出來的一點(diǎn)是如果利用xcelium和indago聯(lián)合調(diào)試,需要注意版本兼容問題,利用simvision來debug就不存在這個(gè)問題,因?yàn)閟imvision是位于incisive或xcelium的安裝目錄下的,并不需要單獨(dú)的license。由于這類問題比較普遍,而且scenario也比較復(fù)雜,所以我打算把它做成一個(gè)系列。今天是開篇,先列出所有的場(chǎng)景和類型,后續(xù)有對(duì)應(yīng)的具體的解決方案。

一、仿真器卡在無限循環(huán)或者h(yuǎn)ang住的場(chǎng)景有很多,原因也各不相同。但大致可以分為如下幾類:

1.1:rtl/netlist(網(wǎng)表)無限循環(huán);

1.1.1signal glitches(信號(hào)毛刺)

使用irun/xrun的-delay_trigger這個(gè)option可以過濾掉毛刺,能夠使得仿真進(jìn)行下去。

1.1.2無限deltacycles

當(dāng)仿真時(shí)間不能往前推進(jìn),但是delta cycle無限增加的情形下。可以在仿真開始時(shí),使用如下tcl命令,可以使得delta cycle增加到一定數(shù)量后,讓仿真自動(dòng)停下來(注意這時(shí)候仿真并未中斷,這時(shí)候可以繼續(xù)操作仿真器)。它跟gateloopwarn這個(gè)option有點(diǎn)類似。

stop -delta 5000 -timestep -delbreak 1

一旦仿真停下來,我們就可以使用以下tcl命令debug該循環(huán)了:

>run -step//單步調(diào)試,注意這有一個(gè)前提就是要確保-linedebug這個(gè)option是事先打開的

>drivers -active //對(duì)應(yīng)跨越verilog和VHDL邊界的網(wǎng)絡(luò)就該使用drivers -effective命令

1.1.3zero-delay gate level無限循環(huán)

如果是gate level的仿真,注意要用-gateloopwarn這個(gè)option,其他參考1.1.2的做法

1.1.4錯(cuò)誤的使用timescale/time-precision

可以使用

>xrun -timescale 1ns/1ps -override_timescale//在elaborate階段使用即可

1.1.5設(shè)計(jì)中有組合邏輯環(huán)

可以使用toggle coverage來檢測(cè)是否有組合邏輯環(huán)。當(dāng)然也可以用HAL, 還可以用profiler,甚至還可以用高大上的JasperGold,工具如此之多,是不是有點(diǎn)懵逼,哈哈

1.2與仿真器(incisive)接口的C/C++代碼內(nèi)部的無限循環(huán),比如PLI/VPI/DPI等;

這個(gè)足夠展開成一個(gè)專題了,這里就不展開了。

1.3仿真環(huán)境中的復(fù)雜隨機(jī)約束導(dǎo)致的仿真器掛死(hang)

簡(jiǎn)單來講就是啟用仿真器的心跳功能,

如果使用命令行啟用是這樣的

>xrun -xceligen heartbeat

如果通過Tcl命令啟用是這樣的:

xcelium>xceligen -heartbeat

如果通過環(huán)境變量啟用是這樣的

Setenv XCELIGEN_HEARTBEAT=[value]

BTW,如果想看求解器是如何迭代或被stuck的,可以使用-utrace這個(gè)選項(xiàng)。

1.4for循環(huán)的最大值不確定導(dǎo)致的無限循環(huán)

類似這種:for(int i=0; i!=var;i++) //如果var是X的話for循環(huán)就會(huì)進(jìn)入死循環(huán)(循環(huán)終止條件不確定)

1.5low power仿真中的hang(仿真掛起);

這也可以展開成一個(gè)專題了,在這里就不展開了。

二、上面說的如此抽象,有裝逼的嫌疑,那到底該如何實(shí)現(xiàn)呢?別急后續(xù)結(jié)合具體的小例子慢慢展開,保證有圖有真相,敬請(qǐng)期待……

審核編輯 :李倩

聲明:本文內(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)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    463

    文章

    54027

    瀏覽量

    466398
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1051

    瀏覽量

    87387

原文標(biāo)題:如何debug設(shè)計(jì)中的無限循環(huán)(仿真器hang)系列(1)開篇

文章出處:【微信號(hào):Rocker-IC,微信公眾號(hào):路科驗(yàn)證】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Renesas E1/E20 仿真器:設(shè)計(jì)與調(diào)試的全方位指南

    Renesas E1/E20 仿真器:設(shè)計(jì)與調(diào)試的全方位指南 在電子設(shè)計(jì)領(lǐng)域,仿真器是調(diào)試和驗(yàn)證微控制(MCU)程序不可或缺的工具。Renesas 的 E1/E20
    的頭像 發(fā)表于 02-28 15:45 ?159次閱讀

    Renesas E1/E20仿真器:全面解析與應(yīng)用指南

    Renesas E1/E20 仿真器:全面解析與應(yīng)用指南 引言 在嵌入式系統(tǒng)開發(fā)領(lǐng)域,仿真器是不可或缺的工具之一。Renesas的E1/E20仿真器憑借其強(qiáng)大的功能和廣泛的適用性,在開發(fā)過程中
    的頭像 發(fā)表于 02-28 11:30 ?327次閱讀

    瑞薩E1/E20仿真器:設(shè)計(jì)、調(diào)試與使用全解析

    瑞薩E1/E20仿真器:設(shè)計(jì)、調(diào)試與使用全解析 在嵌入式系統(tǒng)開發(fā),仿真器是不可或缺的工具,它能幫助工程師高效地進(jìn)行硬件調(diào)試和程序開發(fā)。瑞薩的E1/E20仿真器就是這樣一款強(qiáng)大的工具,
    的頭像 發(fā)表于 02-11 17:05 ?612次閱讀

    Renesas E1/E20 仿真器:設(shè)計(jì)與調(diào)試全解析

    Renesas E1/E20 仿真器:設(shè)計(jì)與調(diào)試全解析 在嵌入式系統(tǒng)開發(fā)的廣闊領(lǐng)域中,仿真器扮演著至關(guān)重要的角色,它是工程師們調(diào)試和優(yōu)化代碼的得力助手。Renesas E1/E20 仿真器作為一款
    的頭像 發(fā)表于 02-09 10:30 ?426次閱讀

    CW32仿真器是什么?

    CW32仿真器是什么
    發(fā)表于 01-05 08:04

    請(qǐng)問JTAG仿真器可以通過串口給芯片下載程序嗎?

    JTAG仿真器可以通過串口給芯片下載程序嗎?如果可以是必須要特定的UART口還是任何的UART口都可以? 另外JTAG仿真器能不能通過串口對(duì)芯片進(jìn)行
    發(fā)表于 11-24 07:07

    程序加載過程中遇到的問題及其解決方法

    。重新啟動(dòng)Nuclei Studio,該問題解決。 (2)遇到的問題2:下載程序顯示未連接到開發(fā)板,報(bào)錯(cuò)界面如下圖所示。 解決方法:在配套文檔,只要求安裝
    發(fā)表于 10-30 07:59

    芯片研發(fā)過程中的兩種流片方式

    芯片在研發(fā)過程中一般包含4個(gè)階段:芯片設(shè)計(jì)、生產(chǎn)樣片、測(cè)試驗(yàn)證和大規(guī)模量產(chǎn)。在完成芯片設(shè)計(jì)后,工程師們需要先拿到一些
    的頭像 發(fā)表于 09-09 15:04 ?1999次閱讀
    <b class='flag-5'>芯片</b>研發(fā)<b class='flag-5'>過程中</b>的兩種流片方式

    靜力水準(zhǔn)儀在測(cè)量過程中遇到誤差如何處理?

    靜力水準(zhǔn)儀在測(cè)量過程中遇到誤差如何處理?靜力水準(zhǔn)儀在工程沉降監(jiān)測(cè)中出現(xiàn)數(shù)據(jù)偏差時(shí),需采取系統(tǒng)性處理措施。根據(jù)實(shí)際工況,誤差主要源于環(huán)境干擾、設(shè)備狀態(tài)、安裝缺陷及操作不當(dāng)四類因素,需針對(duì)性解決。靜力
    的頭像 發(fā)表于 08-14 13:01 ?882次閱讀
    靜力水準(zhǔn)儀在測(cè)量<b class='flag-5'>過程中</b><b class='flag-5'>遇到</b>誤差如何處理?

    固定式測(cè)斜儀在測(cè)量過程中遇到誤差如何處理?

    在巖土工程與結(jié)構(gòu)物安全監(jiān)測(cè),固定式測(cè)斜儀是捕捉位移變化的核心設(shè)備。然而,實(shí)際應(yīng)用可能因環(huán)境、操作或設(shè)備因素導(dǎo)致測(cè)量誤差。很多人想要了解固定式測(cè)斜儀在測(cè)量過程中遇到誤差如何處理?下面
    的頭像 發(fā)表于 06-13 12:10 ?664次閱讀
    固定式測(cè)斜儀在測(cè)量<b class='flag-5'>過程中</b><b class='flag-5'>遇到</b>誤差如何處理?

    FMD仿真器燒錄說明

    FMD仿真器燒錄,離線燒錄說明
    發(fā)表于 04-30 17:27 ?2次下載

    概倫電子電路類型驅(qū)動(dòng)SPICE仿真器NanoSpice X介紹

    NanoSpice X是概倫電子推出的高精度、大容量并行SPICE仿真器,旨在解決電路仿真中的最具挑戰(zhàn)性任務(wù)。相較于上一代NanoSpice仿真器,NanoSpice X將平均仿真速度
    的頭像 發(fā)表于 04-23 15:30 ?1345次閱讀
    概倫電子電路類型驅(qū)動(dòng)SPICE<b class='flag-5'>仿真器</b>NanoSpice X介紹

    概倫電子千兆級(jí)高精度電路仿真器NanoSpice Giga介紹

    。NanoSpiceGiga采用TrueSPICE精度級(jí)仿真引擎確保了先進(jìn)工藝節(jié)點(diǎn)下芯片設(shè)計(jì)功耗、漏電、時(shí)序、噪聲等的精度要求,并通過先進(jìn)的并行仿真技術(shù)在不降低
    的頭像 發(fā)表于 04-23 15:21 ?1149次閱讀
    概倫電子千兆級(jí)高精度電路<b class='flag-5'>仿真器</b>NanoSpice Giga介紹

    概倫電子先進(jìn)數(shù)字仿真器VeriSim介紹

    VeriSim是一款先進(jìn)的邏輯仿真器,提供全面的數(shù)字設(shè)計(jì)驗(yàn)證解決方案,特別適用于大型SoC設(shè)計(jì)。它配備高性能的仿真引擎和約束求解,旨在提高編譯時(shí)效率,并確保設(shè)計(jì)的正確性和穩(wěn)定性。
    的頭像 發(fā)表于 04-22 10:19 ?1304次閱讀

    使用AD2428時(shí),通過主節(jié)點(diǎn)發(fā)現(xiàn)從節(jié)點(diǎn)的過程中遇到的問題求解

    在使用AD2428時(shí),通過主節(jié)點(diǎn)發(fā)現(xiàn)從節(jié)點(diǎn)的過程中,遇到以下問題: 按照手冊(cè)中將0x9寄存配置成0x1,讀回0x17寄存的值為0x29,且主節(jié)點(diǎn)未發(fā)現(xiàn)從節(jié)點(diǎn)。 但是當(dāng)在此基礎(chǔ)上,將
    發(fā)表于 04-15 07:14