zoukankan      html  css  js  c++  java
  • SV(1)

    • STATIC与AUTOMATIC的区别: 这主要是一个生命周期的问题。如果数据变量被声明为automatic,那么在进入该进程/方法之后,automatic变量会被创建,而在离开该进程/方法之后,automatic变量会被销毁。这同C语言的变量及其作用域的使用说明是一致的。而static变量在仿真开始时即会被创建,而在进程/方法执行过程中,自身不会被销毁,且可以被多个进程/方法所共享。 所以,对于automatic与static两种生命周期的数据类型,最直观的区别就是static在仿真过程中的任何时刻都可以被共享,且不会被销毁,直到仿真结束;而automatic变量则同软件的局部变量一样,在它的作用域生命结束时,它也会被销毁回收存储空间。
    • SV规定:在module、program、interface、task和function之外声明的变量拥有静态的生命周期,即存在于整个仿真阶段,这同C定义的静态变量一样。

                     在module、interface和program内部声明,且在task、process或者function外部声明的变量也是static变量,且作用域在该块中。

                     在module、program和interface中定义的task、function默认都是static类型。

                     在过程块中(task、function、process)定义的变量均跟随它的作用域,即过程块的类型,如果过程块为static,则它们也默认为static,反之亦然。这些变量也可以由用户显式声明为automatic或者static。

                     为了使得在过程块中声明的变量有统一默认的生命周期,可以在定义module、interface、package或者program时,通过限定词automatic或者static来区分。对于上述程序块默认的生命周期类型为static。
       

     

  • 相关阅读:
    无声的吐槽csdn
    成长
    最近忙的头发都油油的
    pycharm5工具免费分享及安装教程
    分布式版本控制git常见问题之gitignore冲突
    感觉自己还是太年轻,还有很多东西不会
    关于laravel5.2仓库的建立,以及简单调用
    乎,前所未有的挑战!
    嘿嘿,无聊的时候,来点好玩的,翻滚吧,杀马特!!!
    随便说说
  • 原文地址:https://www.cnblogs.com/baihuashan/p/12059321.html
Copyright © 2011-2022 走看看