我有一个线也就是大约4级深我真的不想麻烦的具有传播到它的层次结构。是否有任何方式分配线使用某些引用?我知道我可以访问该线通过打字:

cca.cpu0.cca3_cpu.nc1_cp_checkpoint 

assign cca.cpu0.cca3_cpu.nc1_cp_checkpoint = checkpoint;

不工作

任何人知道任何种方式来做到这一点?

有帮助吗?

解决方案

因为你还没有表现出足够的代码任何人都可以重现的问题,也没有你有没有透露任何细节关于你的问题,我们所能做的就是猜测。

我的猜测是, nc1_cp_checkpoint 被宣布为 reg 在你 cca3_cpu 实例。你不可以分配一个值 reg 使用一个连续的分配。尝试使用的程序分配(内部的一个 initialalways 方框),例如:

initial begin
    cca.cpu0.cca3_cpu.nc1_cp_checkpoint = checkpoint;
end

如果这不会解决你的问题:

  1. 显示出更多的 有关 代码
  2. 详细说明"不工作"。展示你的错误信息,如果有的话。

更新:另一个潜在问题出现,如果 nc1_cp_checkpoint 是一个持续推动 wire 在你 cca3_cpu 实例。在这种情况下,你的第二个 assign 可能会导致竞争,这将使值去未知的(x).你可能能够避免这一问题的使用 forcerelease.

其他提示

这是你的标签,你似乎表明您正在使用VCS。您是否获得一个:

Error-[XMRE] Cross-module reference resolution error
Cross module resolution failed, token BLAH'. 
Originating module 'foo'. "foo.v", 666: 

这将表明,你的路径是不正确的。

跨模块引用做的工作,但如果你限制你的设计综合的结构,他们可能没有启用。 VCS用户指南中查找“跨模块参考”。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top