zoukankan      html  css  js  c++  java
  • ucli tcl cmd

    ucli接口与tcl 8.6兼容;vcs中要调用ucli接口,执行脚本,必须在compile的时候,加入debug的权限

              -debug,-debug_pp,-debug_all,-debug_access,-debug_region

            在run的时候,指定vcs -ucli [run_option]

    hierarchical name的path,verilog使用"."作为默认的hier分隔符;

                vhdl使用"/"作为默认的hier分隔符;

    verilog可以对name的fork,,,end,begin,,,end块使用,也识别task和function的名称;

    ucli对于ntb-sv的支持不是很全面,有几点是不支持的;

        1)clock domain;

        2)virtual interface;

        3)random constraint;

        4)stop -event不能是automatic的变量;

        5)event变量不支持;

    在调用uclI的时候,time 0的时候,会有一个initialization的过程,实现对static变量和function的处理;

      如果要debug这时的信息,需要加--ucli=init  -nba/-delta(可选),

      program中的static类型变量,不需要加这个option;

    ucli提供的命令:

        1)call,调用verilog或者vhdl中的system task;

        2)stop,设置断点;

          典型应用,类似与when命令,stop  -quiet  -continue  -posedge clk  -condition  {mysig1= 1'd0 and mysig2='d1}  -command  {

                              echo "breakpoint1"

                              force -freeze  mysig  0

                              }

        3)echo和redirect命令,重定向输出;

          echo "string"    输出到stdout;

          exec  echo > vars.list   输出到vars.list;  

          redirect  vars.list   输出vars.list的值到stdout;

        4)exec 执行操作系统的命令,输出被ucli  tcl处理;

        5)search -scope  +name  在某个scope下,搜索每个name的pattern,返回一个list

        6)tcheck  intance_path  SETUPHOLD  -msg  -xgen  -disable,disable掉某instance_path的setuphold  timing检查,不产生msg,不产生x;

        7) force  release cmd。

        8) run num.ns  表示执行num个ns的防止。

  • 相关阅读:
    leetcode 152. 乘积最大子序列
    leetcode 258. 各位相加 (python)
    leetcode 89. 格雷编码
    leetcode 62. 不同路径(C++)
    leetcode 142. 环形链表 II(c++)
    https证书制作及springboot配置https
    SpringBoot RestTemplate接收文件,并将文件发送到另外一个程序进行存储
    批量停止、删除docker容器
    记录Redis连接未正确释放,TCP连接过多,造成服务器上部分功能不可用和linux服务器内存一直增加问题
    外部连接mysql docker容器异常
  • 原文地址:https://www.cnblogs.com/-9-8/p/7744256.html
Copyright © 2011-2022 走看看