问题标签 [synopsys-vcs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
verilog - `define redefined 的 Synopsys VCS 警告
`define
如果重新定义宏,是否可以在 Synopsys VCS 编译器中生成警告或错误?
system-verilog - VCS 增量细化功能
有谁知道这个功能?我遇到了这个术语,不确定这与增量编译不同(下)
如果不是这样,是否有任何特殊开关,或者它会自动工作?
enums - 在 vcs ucli 中查看枚举名称
我在VCS UCLI(即命令行界面)中工作,并且无法让VCS 显示typedef 枚举类型的各种状态变量,值作为名称而不是数字。例如,我有一些这样的 SystemVerilog:
现在在 ucli 中,我想查看s
(说它处于状态 A)的值,所以我输入如下内容:
(或类似的东西)。我已经阅读了 ucli 用户指南,它似乎是符号基数,我所知道的唯一一个可能是接近的,它只使用来自枚举的原始值,而不是枚举名称。我曾尝试使用 ucli ( ) 中的 call 命令调用.name()
变量的方法,但似乎不支持。我知道 VCS 具有打印枚举名称的能力,它在 DVE 中当然可以,但是我无法想出在 ucli 中向我展示的方法。s
ucli% call {$display("%s", s.name())}
有谁知道如何让 ucli 在查询时打印枚举名称而不是数字?枚举类型基数是否以某种方式(用户在 DVE 中定义?),使用一些 SystemVerilog 系统调用来获取名称,诸如此类?
(注意,我知道我可以只使用 DVE,但我试图使用 ucli 来简化潜在用户的界面,这是出于教育目的,我想屏蔽很多 ucli 界面(以及一般的 VCS 界面)不要让学生不知所措并容易获得一些变量;我将 vcs ucli 变成了一个简单的处理器模拟器)
++++++++++++++更新++++++++++++
我想出了一个非常老套的解决方案,但我真的想要一个更好的方法。我很快为 show 编写了自己的包装器(称为 eshow),如果设置了 -radix enum,我将用枚举名称替换任何 -value:
因此,如果我键入任何其他非基数枚举 eshow 命令,它将传递给 show,但否则,它将用它们的名称替换所有值并返回与替换相同的东西 show。正如我所说,我真的想要一个更好的解决方案,但如果有人想使用我的功能,就在这里。
verilog - 为什么我不允许在系统 verilog 中通过 8'CC 定义解压数组变量?
我已经尝试使用以下代码:
这给出了错误:
verilog - 如何修复“错误-[ICPD] 无效的驱动程序组合”?
我正在尝试调试下面显示的代码。我对 SystemVerilog 还很陌生,希望我能从中学习。让我知道任何建议。
**我收到的错误是:
**我的 SystemVerilog 代码是:
verilog - 在 VCS 中获取系统时间
有没有办法在 VCS/UVM 中获取系统时间?我正在寻找类似于 Perl 的东西localtime(time)
。有没有办法为每个uvm_info
打印的打印系统时间?
c - SystemVerilog:如何在 VCS 模拟器中使用 DPI 调用连接 C 函数?
我有以下文件:
带有函数的 C 文件:
// 函数.c
系统verilog文件:
// hello_world.v
如何编译它并使其工作,以便当我something()
从 SV 调用时,它将调用 C 函数,而当我sayHello()
从 C 调用时,它将调用 SV 函数?
tcl - synopsys dc_shell get_attribute 位数
为了执行一些优化算法,我需要从 tcl dc_shell(synopsys 版本 D-2010.03-SP3)获取属性时具有很高的精度。例如
返回我 0.000001,而实际值为 1.381e-6(通过 report_power 获得)。
我试过
但没有任何改变。如何获得更多有效数字?
tcl - Tcl 中的双冒号 ::
在某些EDA 工具的Tcl 脚本(即Cadence Enounter)中,double :: 有什么作用?
tcl - TCL中2个命令的组合
以下是一些 TCL 命令的结果。
现在所有这 4 个对象都具有与其关联的某些属性。但我只对“启用”属性感兴趣。
现在我只想将这 4 个“断言”类型对象中的“启用”对象(启用 = true)转换为“覆盖”类型对象(因此只应转换“a”和“c”)并转换“断言”进入“cover”,命令为fvcover。
我尝试了以下命令:
现在的问题是,这个 fvcover 命令将所有 4 个“assert”类型对象转换为“cover”类型对象,而不仅仅是“a”和“c”。
所以我想,我需要结合 get_props 和 get_attributes 命令,但我不知道该怎么做。
那么如何解决这个问题呢?
注意:-“a”、“b”、“c”、“d”仅用于说明。实际上,get_props 命令可以返回任意数量的任意名称的结果。但是在该列表中,我只需要转换那些“启用”属性为真的对象。