是否可以制作RTL模块的完全编译和独立版本,例如Cadence术语中的快照,然后将此编译模块实例化为测试平台? 最后,运行另一个编译步骤来创建最终快照,其中包含最初提供的快照,但现在在测试平台中实例化。
如果是这样,在编译原始快照以启用此功能时是否有任何特殊注意事项?如何在测试平台中实例化此类编译对象?
答案 0 :(得分:1)
是。但是每个模拟工具对编译流程的方法都略有不同。大多数工具将此流程分为几个步骤:解析,优化,精化和初始化(您提到的快照是最后一步)。并非所有工具都可以让您访问所有单独的步骤。
有几种方法可以实现您的要求,但这种选择实际上取决于您为什么要这样做,以及您愿意使用哪些限制。
您可以将模块的源代码解析为库,然后重新使用相同的库来编译许多不同的测试平台。但通常耗时的部分是优化。
Questa在他们称之为预编译设计单元(PDU)的流程中提供您正在寻找的内容。您可以优化RTL模块并将其保存回库中,Questa在精化过程中只选择优化模块而不是未优化模块。需要特别注意的是,您需要保留可能具有来自测试平台的分层引用的优化信号。