systemverilog 是被这么定义和描述的:它是一种硬件描述和验证语言,它继承于IEEE1364-2001,并扩充之,使其具有更高层次的建模能力更容易、更广泛的被用于验证人员用于进行硬件设计的验证。增加了像数据类型、数据结构、接口、对象、数组等等更抽象级的新内容。有编程语言,自然少不了编译编程语言的编译工具。目前主流的当属VCS这款集编译和仿真工具于一身,其功能之强大,令人称奇。
Systermverilog 语言,它支持编译单元的概念,来实现分开的编译。先认识几个概念:
(1)compilation unit : 编译单元。一个或者多个systermverilog 源文件的集合,称为一个编译单元
(2)compliation-unit scope : 编译单元作用域。它是隶属于一个编译单元的作用范围。它包含在任何其他作用域之外的所有声明。
(3)$unit :一个名字。用于在编译单元作用域中显式访问标识符的名称。
到底哪些文件,可以组成一个编译单元,这个确切的机制或者算法,应该由编译工具来定。或者说编译工具应该提供一个机制,允许我们选择怎样组织我们想要的编译单元。但是极端情况下,有两种case :