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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

Verdi使用技巧 連續(xù)有效信號量測方法

8ECz_icstudy ? 來源:fqj ? 2019-05-15 15:46 ? 次閱讀

如果問廣大的ICer一個問題,大家在日常仿真中用的最頻繁的工具是什么?

我相信絕大多數(shù)人的答案是Verdi——Synopsys旗下的一款功能強大的工具:

Verdi自動化調試系統(tǒng)是Verdi SoC調試平臺的核心,它支持對所有設計和驗證流程進行全面的調試。它包括強大的技術,幫助您理解復雜和不熟悉的設計行為,讓困難和乏味的調試過程自動化,并能讓多樣和復雜的設計環(huán)境一致化。

如上面的官方定義所示:

IC設計中,可以根據(jù)仿真結果檢查或者理解設計;

在IC驗證中,常常用來調試(debug)一些錯誤的情況。

在IC君的眼中,Verdi既可以閱讀調試代碼,又可以查看波形(Verdi里面的nWave工具),包括數(shù)字設計的波形和模擬設計的波形,確實是居家旅游、工作賺錢的必備利器

1、下面分享一些在實際做項目過程中verdi在debug時的小技巧:連續(xù)信號有效數(shù)量的測量。

如下圖所示,clk是輸入時鐘信號,data_enable_in是輸入數(shù)據(jù)有效標志信號,y_in則是輸入數(shù)據(jù)。在debug的時候,有時我們想要知道白色光標和黃色光標時間內(nèi)有多少個連續(xù)有效的數(shù)據(jù)y_in。我們該如何做到呢?

Verdi使用技巧 連續(xù)有效信號量測方法

一般可以使用以下3種方法:

方法1:最直接也是最笨的辦法,當然是手動去數(shù),1、2、3…;如果該時間段內(nèi),數(shù)據(jù)量較少,很快就可以數(shù)出來了。當數(shù)據(jù)量較多時,只要你有足夠的耐心和時間,有時還需要一副好眼睛,最終也是可以得到正確的結果。不過效率非常低下,比較麻煩的是還容易數(shù)錯。

方法2:如果已知時鐘周期(本例子中clkp=6.736ns),則可以計算該時間段內(nèi)時鐘個數(shù)來獲知數(shù)據(jù)量;上面例子的圖中兩個光標之間的時間差delta=188.608ns,delta/T=28,因此就是28個數(shù)據(jù)了。是不是要比直接用手動數(shù)快很多了?這個辦法雖然準確,但是每次都要計算一次,如果需要頻繁的獲知不同時間段內(nèi)的有效數(shù)據(jù)還是太麻煩了一點。

方法3:本文重點要介紹的方法。該方法是通過把時鐘周期設置為時間單位,這樣兩個光標之間的時間差就是該段時間內(nèi)的有效數(shù)據(jù)量了。具體操作方法如下:

如下圖用鼠標點擊1,會彈出對話框;點擊2位置倒三角形,下拉選項中選時鐘周期單位是ns;然后再把timeunit 改為clock周期6.736ns,點擊OK

Verdi使用技巧 連續(xù)有效信號量測方法

再看delta顯示出來的值,已經(jīng)變成28了,即為我們要數(shù)的數(shù)據(jù)量了。

Verdi使用技巧 連續(xù)有效信號量測方法

這個方法對于一段時間內(nèi)的連續(xù)有效數(shù)據(jù)來說,應該是最簡單有效的獲取數(shù)據(jù)個數(shù)的方法了。任意改變兩光標的距離或位置,都很直接的得到該段時間內(nèi)的連續(xù)有效數(shù)據(jù)量。該方法在debug過程中常常會用到,請大家善加利用。

2、另外還有一個比較有效的辦法是利用verdi的nWave里面的Signal Event Report 功能。該方法雖然稍顯麻煩,但善于利用,也可以變得非常好用。方法如下圖:

a.鼠標點擊選中clk 這個信號;

b.點擊view菜單,選擇下拉菜單里面的SignalEvent report,就會彈出對話框;

c.進度條往后拖,會看到Falling#這一欄顯示的數(shù)據(jù)28就是我們要的數(shù)據(jù)量了。

Verdi使用技巧 連續(xù)有效信號量測方法

以上就是一段時間內(nèi)連續(xù)有效數(shù)據(jù)的幾個測量方法。debug的時候方法3最簡單便捷,應用頻率也較高;但是其他幾個方法在特定的場景下也可以發(fā)揮出自己的作用,需要根據(jù)實際debug的時候靈活應用。

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

    關注

    0

    文章

    22

    瀏覽量

    8750

原文標題:Verdi使用技巧——連續(xù)有效信號量測方法

文章出處:【微信號:icstudy,微信公眾號:跟IC君一起學習集成電路】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FreeRTOS信號量使用教程

    信號量是操作系統(tǒng)中重要的一部分,信號量一般用來進行資源管理和任務同步, FreeRTOS中信號量又分為二值信號量、 計數(shù)型信號量、互斥
    的頭像 發(fā)表于 12-19 09:22 ?2998次閱讀
    FreeRTOS<b class='flag-5'>信號量</b>使用教程

    信號量機制怎么理解

    信號量(Semaphore),有時被稱為信號燈,是在多線程環(huán)境下使用的一種設施,是可以用來保證兩個或多個關鍵代碼段不被并發(fā)調用。在進入一個關鍵代碼段之前,線程必須獲取一個信號量;一旦該關鍵代碼段完成了,那么該線程必須釋放
    發(fā)表于 11-14 09:23 ?2.5w次閱讀
    <b class='flag-5'>信號量</b>機制怎么理解

    你了解Linux 各類信號量?

    內(nèi)核信號量與用戶信號量,用戶信號量分為POXIS信號量和SYSTEMV信號量,POXIS信號量
    發(fā)表于 05-04 17:19 ?2469次閱讀
    你了解Linux 各類<b class='flag-5'>信號量</b>?

    信號量和自旋鎖

    ;伴隨著從非搶占內(nèi)核到搶占內(nèi)核的過度。鎖機制越來越有效,也越來越復雜。??? 目前來說內(nèi)核中原子操作多用來做計數(shù)使用,其它情況最常用的是兩種鎖以及它們的變種:一個是自旋鎖,另一個是信號量。我們下面就來
    發(fā)表于 04-02 14:43 ?790次閱讀

    Linux IPC System V 信號量

    () //創(chuàng)建/獲取信號量集 semctl() //初始化信號量集 semop() //操作信號量
    發(fā)表于 04-02 14:46 ?303次閱讀

    Linux 多線程信號量同步

    直到系統(tǒng)將資源分配給該進程(進入等待隊列,一直等到資源輪到該進程)。V操作:如果在該信號量的等待隊列中有進程在等待資源,則喚醒一個阻塞進程;如果沒有進程等待它,則釋放一個資源(即信號量值加1)。模型
    發(fā)表于 04-02 14:47 ?371次閱讀

    詳解互斥信號量的概念和運行

    1 、互 斥 信 號 1.1 互斥信號量的概念及其作用 互斥信號量的主要作用是對資源實現(xiàn)互斥訪問,使用二值信號量也可以實現(xiàn)互斥訪問的功能,不過互斥
    的頭像 發(fā)表于 10-22 11:57 ?1.1w次閱讀
    詳解互斥<b class='flag-5'>信號量</b>的概念和運行

    Linux信號量(2):POSIX 信號量

    上一章,講述了 SYSTEM V 信號量,主要運行于進程之間,本章主要介紹 POSIX 信號量:有名信號量、無名信號量。 POSIX 信號量
    的頭像 發(fā)表于 10-29 17:34 ?659次閱讀

    淺談鴻蒙內(nèi)核源碼的信號量運作原理

    基本概念 信號量(Semaphore) 是一種實現(xiàn)任務間通信的機制,可以實現(xiàn)任務間同步或共享資源的互斥訪問。 一個信號量的數(shù)據(jù)結構中,通常有一個計數(shù)值,用于對有效資源數(shù)的計數(shù),表示剩下的可被
    的頭像 發(fā)表于 04-24 10:44 ?1487次閱讀

    ThreadX(六)------信號量semaphore

    信號量semphere概述
    發(fā)表于 12-28 19:26 ?7次下載
    ThreadX(六)------<b class='flag-5'>信號量</b>semaphore

    使用二進制信號量取代任務通知

    二進制信號量只有0和1,兩個任務公用一個信號量,一個任務用于產(chǎn)生信號量(即對信號量+1),另一個任務使用此信號量(即對
    的頭像 發(fā)表于 09-15 09:22 ?824次閱讀

    FreeRTOS的二值信號量

    FreeRTOS中的信號量是一種任務間通信的方式,信號量包括:二值信號量、互斥信號量、計數(shù)信號量,本次實驗只使用二值
    的頭像 發(fā)表于 02-10 15:07 ?1333次閱讀

    Free RTOS的計數(shù)型信號量

    上篇講解了二值信號量,二值信號量只能判斷有無,而不能確定事件發(fā)生的次數(shù),因此我們?yōu)榱舜_定事件的次數(shù)引入了計數(shù)型信號量!
    的頭像 發(fā)表于 02-10 15:29 ?944次閱讀
    Free RTOS的計數(shù)型<b class='flag-5'>信號量</b>

    使用Linux信號量實現(xiàn)互斥點燈

    信號量常用于控制對共享資源的訪問,有計數(shù)型信號量和二值信號量之分。初始化時信號量值大于1的,就是計數(shù)型信號量,計數(shù)型
    的頭像 發(fā)表于 04-13 15:12 ?758次閱讀
    使用Linux<b class='flag-5'>信號量</b>實現(xiàn)互斥點燈

    Verdi使用技巧(二)

    上一篇文章IC君跟大家分享了Verdi使用技巧——連續(xù)有效信號量方法。 有不少網(wǎng)友在文章后留言或者微信給我留言,提供了一些其它
    的頭像 發(fā)表于 04-25 14:42 ?3575次閱讀
    <b class='flag-5'>Verdi</b>使用技巧(二)