在IEEE Std 1800-2012中,我们可以找到包的描述和这些信息:
类型,网络,变量,任务,函数,序列,属性和检查器可以在包中声明
我想知道,如果有任何特殊原因导致无法在包内定义接口?在我看来它可能是有用的,但显然标准的创建者不会同意.
主要原因与SystemVerilog中存在的不同命名空间以及单独编译的要求有关.Interfaces是一种设计元素(参见1800-2012 LRM部分3.2设计元素),其定义存在于它们自己的命名空间中,在使用之前不需要编译.Packages适用于具有特定编译顺序要求的类型以及创建单独的命名空间.在标准的不同修订版本中,原始意图可能已丢失.
Verilog有一种configuration机制,允许您对不同库中存在的相同设计元素进行不同的实现.
| 归档时间: |
|
| 查看次数: |
3221 次 |
| 最近记录: |