• verdi仿真过程中特定时间段的波形的dump


    假如进行功耗仿真,在u_module_a.a_int起来后到u_module_n.b_int起来后的这段时间所有模块都在动作,即功耗值最大,那么这段时间的仿真波形可以拿来进行功耗分析,以下的ucli设置用来只收集这段时间内的仿真波形。

    wave.do的设置如下:

    stop -once -condition harness.dut.u_module_a.a_int==1 -command { call \$fsdbDumpvars 0 "harness.dut" } -continue
    stop -once -condition harness.dut.u_module_n.b_int==1 -command { call \$fsdbDumpFinish } -continue
    run
    
    • 1
    • 2
    • 3

    命令的解释如下:

    STOP

    Use this command to set breakpoints in the simulation (for example, simv). The simulation can be stopped based on certain condition(s) or certain event(s). You can use this command to specify an action to be taken after the tool has stopped.

    stop -condition { tool_condition } <stop-specification>
    
    • 1

    Use this option to add conditional expression to an existing breakpoint. Only one condition per breakpoint is supported. The expression cannot reference dynamic or automatic data, and must be written in VHDL syntax. When a breakpoint triggers, the expression is evaluated. If the resulting value is a logical false, the simulation automatically continues.

    stop -once | -repeat <stop-id>|<stop-specification>
    
    • 1

    Use this command to control how often breakpoints are triggered. By default, all the breakpoints points are triggered repeatedly. If you specify the -once option, then the tool stops only once for the breakpoint with stop id, stop-id.

    stop -command {tcl_script} <stop-id>|<stop-specification>
    
    • 1

    Use this option to execute a Tcl script (which may contain additional UCLI commands) when the breakpoint associated with id, stop-id, is triggered.

    stop -halt | -continue <stop-id>|<stop-specification>
    
    • 1

    You can use this option to continue simulation even after a breakpoint is triggered. By default, all the breakpoints are in halt state (i.e., simulation stops after the breakpoint is triggered) when the breakpoint is triggered.

    CALL

    Use this command to call SystemVerilog class methods ( functions or tasks with no delays) and Verilog tasks, functions, and procedures from UCLI. It executes the called method or procedure. Hierarchical referencing is not allowed for method or procedure.

    Note:

    • This command does not advance simulation time, if you call tasks with delay. Executable statements after delay elements in the routine will not be executed and call returns to UCLI.
    • Since UCLI is Tcl based, curly braces ‘{’ and ‘}’ are needed as special characters like ‘$’ are interpreted as variables in Tcl. Instead of curly braces, ‘’ (backslash) can also be used.
    • Curly braces are not needed if there are no special characters.
    • To use call command, you must compile your design with any debug option (-debug_pp, -debug, or -debug_all).

    STOP

    This command advances the simulation until a breakpoint, $stop, or $finish is encountered or the specified simulation time is reached.

    Syntax
    run
    run [time]
    run [time [unit]]
    run [-absolute|relative time [unit]]
    run [-line ]
    run [-line [-file ]]
    run [-line [-instance ]]
    run [-line ][-thread ]
    run [-posedge | rising ]
    run [-negedge | falling ]
    run [-change | event ]
    run [-delta]
    run [-0]
    run [-nba]

    example:

    ucli% run -absolute 10ps
    
    • 1

    参考文献:

    1. ucli_ug.pdf
  • 相关阅读:
    C++基础知识(六:继承)
    iPhone 14 Pro/Max出大问题:从旧款机型传输数据后卡死黑屏无法开机!
    Python打怪升级(4)
    使用poi操作excel详解
    Web自动化css选择器定位法实现
    beego框架自学笔记1
    咖啡│咖啡竟可助眠?一旦飲錯時間隨時影響整天血糖代謝
    海森矩阵与多元多项式的结合与极值判定【浅显易懂版:欢迎补充】
    CAD如何绘制六连环图案?CAD使用圆,椭圆,直线综合练习
    SSD上 NVIDIA Jetson Orin NANO系統如何刷
  • 原文地址:https://blog.csdn.net/hungtaowu/article/details/125911274