【发布时间】:2014-07-02 09:13:17
【问题描述】:
在 ModelSim 中你可以使用类似的东西
在modelsim中我们可以使用 init_signal_spy("../.../sig", mysignal);
获取深层层次结构信号。 有没有办法通过 Cadence 的 NCVhdl 获取此类信号?
这应该被标记为“SimVision”,这是工具的名称,但该标记似乎不存在。
【问题讨论】:
在 ModelSim 中你可以使用类似的东西
在modelsim中我们可以使用 init_signal_spy("../.../sig", mysignal);
获取深层层次结构信号。 有没有办法通过 Cadence 的 NCVhdl 获取此类信号?
这应该被标记为“SimVision”,这是工具的名称,但该标记似乎不存在。
【问题讨论】:
如果 Cadence 工具支持 VHDL-2008,您可以通过外部名称访问设计的其他级别中的信号、共享变量或常量。
直接用法如下。
A <= <<signal .tb_top.u_comp1.my_sig : std_logic_vector >>;
请注意,对象必须在引用之前详细说明。由于 VHDL 设计是按照实例化的顺序进行详细说明的,因此以后的设计可能会参考之前的设计。
使用别名创建本地简称:
alias u1_my_sig is <<signal u1.my_sig : std_logic_vector >>;
路径开始于:
【讨论】:
可以看到here,这个函数叫做nc_mirror。
nc_mirror (destination => "destination",
source => "source",
verbose => "verbose");
它需要一个目标和一个源,其作用与 init_signal_spy 对 modelsim 的作用相同。第三个参数是可选的。此外,它还支持镜像数组或记录。
在this interesting answer 中提供了一个封装包,它将 nc_mirror 或 init_spy_signal(和其他)转换为函数“probe”。
【讨论】: