女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

怎么看見和定量分析驗證平臺的時間呢

工程師鄧生 ? 來源:杰瑞IC驗證 ? 作者:Jerry ? 2022-08-30 09:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們說的“提速”到底提的是什么時間?

1、驗證仿真中的“3個時間”

在驗證仿真過程中,我們腦中需要閃過至少3個概念:

墻上時鐘時間(wall clock time)

cpu時間(cpu time)

仿真時間(simulation time)

他們都是什么呢?

1.墻上時鐘時間(wall clock time):

顧名思義,它是“掛在墻上的時鐘”的時間,這個時間也就是我們真實世界真正“走過的時間”。

你跑一個case,對于linux系統來說,就是一個或多個進程,而這個wall clock time,它是進程運行的時鐘總量。它除了包括cpu真正的運行時間之外,還包括了如:

就緒時間:

進程具備運行條件,但是還沒有CPU資源可用。例如你提交了一個case,但是半天提不上去跑不起來,可能因為其他人的case太多,導致機器滿載了,等別人釋放了之后你的case才真正獲得cpu資源運行起來。

阻塞時間:

例如你的case已經跑起來了,發現某個vip lisence不夠了,“卡”到那里了。

或者例如你編譯運行過程中因為磁盤不太充足出現的卡頓現象等。

2.cpu時間(cpu time):

當進程運行起來之后,占用cpu進行計算花費的時間。同樣是代碼在cpu上運行,依據代碼類別不同,cpu時間也分為用戶cpu時間和系統cpu時間。

用戶cpu時間是代碼在用戶態(User Mode)運行的時間。

系統cpu時間是代碼在內核態(Kernel Mode)運行的時間。

我們可以簡單理解:依據代碼權限不同,用戶態執行用戶代碼,內核態執行的是操作系統代碼。這里不深入展開了,感興趣的朋友可以查閱一些資料(為什么這里要多引申提一下這個概念,主要幫沒有聽過這些概念的朋友,在仿真性能分析報告中如果碰到相關詞匯,至少可以有一個簡單的感性認知)。

此外,從前面的wall clock time解釋可以看出,比如你的case被阻塞了、掛起了是不占用cpu時間的,但是真實時間還是繼續走的。有兄弟可能會問:“照這么說,wall clock time是不是肯定是大于cpu time?”

答案是:不一定。

如果是多核處理器機器上,cpu總時間是所有不同線程或進程cpu時間之和,此時wall clock time時間就會比cpu總時間小了。其實依據wall clock time和cpu總時間的關系,也把進程分為計算密集型(wall clock time小于cpu time,有多核并行的優勢)和I/O密集型(wall clock time大于cpu time,沒有多核優勢,很多等待時間)。

舉一個例子,如下截圖,VCS軟件對于verilog設計部分的編譯過程中,允許通過-j選項指定并行數量。在選擇合適的并行數量的情況下,相關部分編譯的wall clock time就會小于cpu time哦~

189de864-27e1-11ed-ba43-dac502259ad0.png

3.仿真時間(Simulation time)

仿真時間是仿真器維護的時間,就是我們波形中看到的那個多少ns多少ps那個時間,它顯然不是仿真過程中真實的時間。這個時間是為了表示實際電路的運行時間,給電路仿真建模用的一個“數字”。

我們知道SystemVerilog是在值的更新、計算等一個個離散事件的相互觸發“推著”往前走的(推著走的單位就是也就是我們之前講過的global time precision,也就是timeslot)。

所以仿真時間長短和運行時間長短、仿真速度沒什么關系,主要是看“步子”有多少。在其他所有因素都一樣的情況下,誰的事件少、推的步子少誰仿真的速度也就更快。

再舉個例子:`timescale 1ns/1ps 和`timescale 10ns/10ps,它們的time unit和time precision都同時擴大了10倍,但它們的比值是一樣的,即“步子”數量是一樣的。在其他背景完全一樣的相同仿真單位度量情況下(這里指的不帶具體單位,如,#1;前者代表運行1ns后者表示運行10ns),仿真速度是一樣的。

Tips:我們說平臺提速到底要提哪個時間?

剛才Jerry給大家拋出了驗證仿真的“3個時間”,我們回到本系列文章“驗證仿真提速”主題,拋出一下最底層的問題:我們追求“提速”,根本目標是想要減少哪個時間?

沒錯,我們追求的最根本目標是減少墻上時鐘時間(wall clock time),即我們需要的是減少自己浪費的真實世界的時間,多跑幾輪case或者早點跑出結果早下班。如果你費盡心思減少cpu time、仿真時間,最后wall clock time沒有降下來對于我們有個毛線意義??雖然如前面有提到這3個時間有相關性,但是希望大家心中一定要明確我們的根本目標。

2、怎么看見和定量分析驗證平臺的時間?

有了前面的認知鋪墊,我們回到實戰。如何定量分析驗證平臺的時間和資源,我們以VCS工具為例(其他家工具大家自行探索),一般可以有兩種抓取性能信息的方式,一種是以“輕量級”的方式輸出編譯和運行仿真過程中的性能匯總信息,一種是相對“重量級”的方式進一步詳細分析仿真運行性能信息。第二種為什么說比較“重量級”呢?主要原因是它本身就會造成很大的時間消耗。我們都簡要介紹一下:

1.以“輕量級”的方式輸出編譯和運行仿真過程中的性能匯總信息。

增加vcs編譯選項: -reportstats

增加simv仿真選項:-reportstats

工具將會直接把編譯和運行的匯總性能報告直接打印在屏幕上,我們示意性跑出來的一組截圖如下:

18cd3cc2-27e1-11ed-ba43-dac502259ad0.png

18db4484-27e1-11ed-ba43-dac502259ad0.png

上面的主要細節vcs手冊解釋原文如下:

? VCS start time

? Elapsed real time: wall clock time from VCS start to VCS end

? CPU time: Accumulated user time + system time from all

processes spawned from VCS

? Peak virtual memory size summarized from all the contributing

processes at specific time points

? Sum of resident set size from all the contributing processes at

specific time points

? Sum of shared memory from all the contributing processes at

specific time points

? Sum of private memory from all the contributing processes at

specific time points

? Major fault accumulated from all processes spawned from VCS

我們本篇主要關心時間,有了前文的鋪墊相信這里可以看得比較清楚了。

從上面的解釋可知:Elapsed real time就是編譯或運行階段的墻上時鐘時間(wall clock time),cpu time是vcs產生所有進程的用戶cpu時間和系統cpu時間總和。

順便,從這個舉例的截圖報告也可以明顯看出wall clock time大于cpu time,沒有任何多核優勢,屬于I/O密集型。

這里提一個點,我們前面討論3種時間的時候可以了解到:即使是跑同樣的case,用同樣的種子,跑出來的時間統計信息也一定會因為磁盤狀態等原因而不同。所以對于測試某種手段是否減少了總時間花費,是否有收益(尤其是不太明顯的手段),單純的通過前后兩次跑同樣的case,對比統計結果是不足以判別的,如果不是明顯的提速手段,可能會出現使用后wall clock time和cpu time反而比使用前花費更多時間。但是如果基于相同的服務器等因素的狀態,或基于統計的方式多次測試評估,就可以看出總體速度的提升趨勢。

2.以相對“重量級”的方式進一步詳細分析仿真運行的性能信息。

增加vcs編譯選項 -lca -simprofile

增加simv仿真選項 -simprofile time

(這個仿真選項后面除了跟time觀測仿真時間信息還可以加:如mem收集服務器內存消耗信息等,當然也可以如time+mem同時收集) 這些選項加了之后,工具會生成如下帶“profile”關鍵詞的文件和文件夾,我們主要看profileReport.html文件。

18ef5d8e-27e1-11ed-ba43-dac502259ad0.png

html文件打開后會發現分左右兩個區域,通過左邊區域可以控制出現在右邊區域你想要看到的性能信息,示意圖如下:

19116212-27e1-11ed-ba43-dac502259ad0.png

Jerry通過time+mem的選項,隨意跑了一個case,相關的summary示意圖如下:

192c6418-27e1-11ed-ba43-dac502259ad0.png

我們還是關心time,主要貼下time的相關copmponent的含義(下面有的條目在上圖例子中不涉及,別的case也許就會有):

?CONSTRAINT

The CPU time needed to solve and simulate the SystemVerilog constraint blocks.

?KERNEL

The CPU time needed by the VCS kernel. This CPU time is separate from the CPU time needed to simulated your Verilog or SystemVerilog, VHDL, SystemC, or C or C++ code for your design and testbench.

?VERILOG

The CPU time needed by VCS to simulate this example’s SystemVerilog code, which is a program block. For Verilog and SystemVerilog there are sub-components.

?DEBUG

The CPU time needed by VCS to simulate this example with the debugging capabilities of Verdi and the UCLI or to write a simulation history VCD or FSDB file.

?Value Change Dumping

The CPU time needed by VCS to write a simulation history VCD or VPD file.

?VHDL

For VCS only, the CPU time needed to simulate the VHDL code design.

?PLI/DPI/DirectC

The CPU time needed by VCS to simulate the C/C++ in a PLI, DPI, or DirectC application.

?HSIM (Hybrid Simulation)

This is about the CPU time used by HSOPT (Hybrid Simulation Optimization). The HSIM bucket indicates the CPU time consumption of design constructs that are optimized by HSOPT. It has become prominent in GLS design/RTL. The HSIM cost is more with GLS design because most constructs are optimized by HSOPT. But it cannot be zero because there are some global HSIM activities.

?COVERAGE

The CPU time needed for functional coverage (testbench and assertion coverage). Code coverage is not part of this component.

?SystemC

The CPU time needed for SystemC simulation.

通過調節前面提到html左邊區域選項,還可以看到更多的信息,如進一步查看仿真過程中rtl和tb各個模塊層級花費的時間信息,這里就不多贅述了,其他的玩法大家感興趣可以自己研究。

這種“重量級”的方式,雖然會拖慢仿真時間,但一個優勢是收集的信息更加詳細,可以更直觀的看到各部分資源消耗百分比,更好的協助我們找到消耗時間的性能瓶頸,提供優化方向和縮小優化范圍。

結語

我們今天圍繞“時間”這個主題,首先討論了驗證仿真中的“3個時間”建立了基礎認知,接著明確了平臺提速到底要提哪個時間?最后以vcs工具舉例了怎么收集和分析相關信息。



審核編輯:劉清

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

    關注

    68

    文章

    11062

    瀏覽量

    216451
  • 時鐘
    +關注

    關注

    11

    文章

    1891

    瀏覽量

    133015
  • 多核處理器
    +關注

    關注

    0

    文章

    109

    瀏覽量

    20263

原文標題:驗證仿真提速系列--認識“時間”與平臺速度定量分析

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    時間間隔測量分析儀特點總結

    時間頻率行業,時間間隔測量是不可缺少的一部分,選擇一款合適的時間間隔測量儀就會顯得尤為重要,今天我們來分析一下時間間隔
    的頭像 發表于 05-08 11:29 ?145次閱讀
    <b class='flag-5'>時間</b>間隔測<b class='flag-5'>量分析</b>儀特點總結

    Fluke福祿克435電能質量分析儀B通道電流測試不準維修過程分享

    近期某客戶送修一臺福祿克電能質量分析儀435,報修故障是B通道電流測試不準。對儀器進行初步檢測,驗證和客戶描述一致。
    的頭像 發表于 04-25 17:23 ?257次閱讀
    Fluke福祿克435電能質<b class='flag-5'>量分析</b>儀B通道電流測試不準維修過程分享

    飛行時間質譜儀數據讀出解決方案

    01背景介紹質譜儀是一種高靈敏度、高分辨率的分析儀器,能夠實現復雜樣品的快速、精準定性及定量分析,被廣泛應用于生命科學、地質科學、藥物分析、環境監測、食品安全和法醫鑒定等領域。質譜儀按質量分析
    的頭像 發表于 04-07 16:04 ?436次閱讀
    飛行<b class='flag-5'>時間</b>質譜儀數據讀出解決方案

    基于LIBS技術的銀合金分類及定量分析研究

    的銀合金廢料進行識別。在LIBS應用于金屬銀的研究多集中于定量分析合金或礦石中非主量元素的含量,對其進行分類分析以及定量分析銀合金中Ag元素的研究較少。所以將對LIBS技術用于銀合金的分類識別及
    的頭像 發表于 01-21 14:12 ?434次閱讀
    基于LIBS技術的銀合金分類及<b class='flag-5'>定量分析</b>研究

    電能質量分析儀在電力監測中的應用

    電能質量分析儀在電力監測中具有廣泛的應用,以下是對其在電力監測中應用的介紹: 一、實時監測與分析 電能質量分析儀能夠實時監測電力系統的電壓、電流、頻率、諧波等關鍵參數,確保電力系統的穩定運行。通過
    的頭像 發表于 01-08 10:03 ?688次閱讀

    電能質量分析儀的作用與用途

    在現代電力系統中,電能質量的優劣直接影響到電力系統的穩定性和設備的運行效率。電能質量分析儀作為電力系統監測和分析的重要工具,對于保障電力系統的安全、可靠和經濟運行具有重要意義。 一、電能質量分析
    的頭像 發表于 01-08 09:53 ?1020次閱讀

    透射電鏡中的EDS定性與定量分析

    季豐電子材料分析實驗室配備賽默飛Talos F200E,EDS定量方法采用標準的Cliff-Lorimer測試方法,并帶有X射線吸收校正功能,通過對樣品角度和厚度、電鏡參數、采譜參數以及EDS定量處理參數等的精確控制,為客戶提供
    的頭像 發表于 12-30 10:42 ?1302次閱讀
    透射電鏡中的EDS定性與<b class='flag-5'>定量分析</b>

    FPD-link裕量分析程序(MAP)用戶指南

    電子發燒友網站提供《FPD-link裕量分析程序(MAP)用戶指南.pdf》資料免費下載
    發表于 11-26 15:49 ?0次下載
    FPD-link裕<b class='flag-5'>量分析</b>程序(MAP)用戶指南

    基于LIBS技術的煤炭灰分、揮發分和熱值定量分析及特征工程研究

    光譜進行了可解釋性實驗。 一、引言 煤質分析對于促進煤炭資源的合理利用具有重要意義,其中煤炭的灰分、揮發分和熱值是影響燃煤電廠混煤入爐、爐膛燃燒等工作的關鍵信息。傳統的LIBS光譜檢測需要耗費很長時間從煤樣光譜中篩選元
    的頭像 發表于 11-20 11:05 ?525次閱讀
    基于LIBS技術的煤炭灰分、揮發分和熱值<b class='flag-5'>定量分析</b>及特征工程研究

    中國開發出基于可編程DNA水凝膠的紙基比距傳感器

    紙基比距傳感器是圍繞紙基材料的功能化設計的,根據待測目標觸發反應產生的可觀測距離信號進行定性或定量分析,具有讀數直觀且操作簡便等優點,是新興的即時檢測(POCT)裝置。
    的頭像 發表于 11-18 09:46 ?660次閱讀
    中國開發出基于可編程DNA水凝膠的紙基比距傳感器

    什么是成分分析

    解析成分分析技術成分分析技術涵蓋了多種科學方法,用于精確地鑒定和測量產品或樣本中的組成成分,包括它們的定性與定量分析。金鑒實驗室擁有先進的成分分析設備和專業的技術團隊,能夠為客戶提供高
    的頭像 發表于 11-08 12:29 ?1164次閱讀
    什么是成分<b class='flag-5'>分析</b>?

    基于LIBS的馬鈴薯中鉻元素定量分析方法研究

    樣品,并調整實驗參數采集馬鈴薯光譜數據;然后針對光譜數據中的噪聲和基線漂移的問題對光譜數據進行前期處理;最后采用絕對強度法定量分析Cr元素,同時,計算模型評價指標以評估定量性能。通過實驗和數據分析
    的頭像 發表于 10-30 18:11 ?536次閱讀
    基于LIBS的馬鈴薯中鉻元素<b class='flag-5'>定量分析</b>方法研究

    定量光學氣體成像的優勢和工作流程

    FLIR光學氣體成像熱像儀能夠快速、精確、安全地檢測天然氣、VOCs、SF6 、制冷劑、氨氣和CO?等氣體泄漏,因此已廣泛應用在油氣田、煉油廠、石化廠和天然氣發電廠等行業。其中先進技術——光學氣體成像 (QOGI) 被證實是石油天然氣行業定量分析氣體泄漏的一種有效手段,具體詳情詳細說下!
    的頭像 發表于 10-24 13:43 ?716次閱讀

    基于LIBS的土壤中銅元素和鉛元素定量分析

    利用激光誘導擊穿光譜技術對摻雜Cu、Pb元素的土壤樣品進行定量分析,尋找最優實驗條件。實驗使用直接定標法和內標法對元素特征譜線進行擬合,根據計算相關系數及檢出限選擇合適的數據處理方法。
    的頭像 發表于 08-27 14:54 ?599次閱讀
    基于LIBS的土壤中銅元素和鉛元素<b class='flag-5'>定量分析</b>

    氣體泄漏定量報警系統SF6 的組成——每日了解電力知識

    完成SF6定量分析,O2定量分析、溫濕度測量功能;(2)、主機及輔助功能模塊,主要完成各模塊協調工作,顯示、報警、啟動風機等功能。 1、氣體取樣分析模塊(如圖所示) 功能與參數: 檢測點:12路+1路零點校準;可擴充到20路;
    的頭像 發表于 07-26 10:03 ?960次閱讀
    氣體泄漏<b class='flag-5'>定量</b>報警系統SF6 的組成——每日了解電力知識