system-verilog 相关问题

SystemVerilog是基于Verilog扩展的统一硬件设计,规范和验证语言。

记分板中的单个分析导入连接到多个分析导出(相同类型)

我想创建可重复使用的记分板,其中许多导出连接到一个分析导入。 计划是连接这样的东西: for(int i=0; i 我想创建可重复使用的记分板,其中许多导出连接到一个分析导入。 计划是连接这样的东西: for(int i=0; i<NUM; i++)begin env.ref_model**[i].ref_model_to_scoreboard_out**.connect(env.scbd.ref_to_scbd_in); end 每个参考模型都属于自己的 UVC,并且也连接了监视器。 分析端口使用相同的类类型进行参数化。 # Scbd 中的 write 函数只有一个定义吗?我在这里好奇的是,一旦写入函数(在 Scbd 中)开始并行调用多个 ref_model_to_scoreboard_out 会发生什么? 到目前为止,我已经连接了所有内容并进行了编译。我仍然无法尝试它是否会起作用。 write 函数中是否有某种机制或通过调用 write 函数来防止例如下一次调用在转换之前不会覆盖当前调用? 也许可以帮助的是信号量(在 Scbd 的写入函数中),但不确定它是否会消耗更多的模拟时间? 只有当连接到记分板的所有监视器/UVC 具有相同的事务时,此机制才可能实现。如果这是真的,那么您可以在交易类中拥有一个标识符(uvc_id),以便记分板可以识别交易的代理并存储在相应的队列/关联数组中。

回答 1 投票 0

矩阵中方子矩阵的约束

我有一个 9x9 矩阵,如下 M[9][9] 下面的每个 A、B、C 等都是 3x3 的子方阵,因此总共是 9x9 矩阵。 ABC M = D E F GH...

回答 1 投票 0

为什么输入reg类型变量不允许连续赋值?

只需在模块内声明的 reg 类型中连续赋值就可以完美工作。() 然而,在输入中声明的 reg 类型中的连续赋值会导致错误 t...

回答 2 投票 0

在verilog中包含文件:modelsim的编译选项

我必须编译一个文件(x.sv)。在x.sv中,有一堆“`include y.v”。 y.v 的内容只是一组赋值语句。例如:分配 a = b&&c。信号 a、b 和 c 定义在 x...

回答 2 投票 0

简单比较两个值设计输出的测试平台始终为 x

这是应该比较两个浮点数的设计: // IEEE 764:FP[31] = 符号,FP[30:23] = exp,FP[22:0] = 尾数 模块compare_fp(输入[31:0] floatA, ...

回答 2 投票 0

如何显式设置时钟门信号?

使用各种 RTL 综合工具,可以推断时钟门。如何从源代码中控制使用什么时钟门信号? 例子: 总是@(posege clk, negedge rst_n)开始 如果(rst_n =...

回答 1 投票 0

系统 verilog - 简单比较两个值设计输出的测试平台始终为 x

这是应该比较两个浮点数的设计: // IEEE 764:FP[31] = 符号,FP[30:23] = exp,FP[22:0] = 尾数 模块compare_fp(输入[31:0] floatA, ...

回答 1 投票 0

系统 verilog - 简单比较两个值设计输出的测试平台始终“<"

这是应该比较两个浮点数的设计: // IEEE 764:FP[31] = 符号,FP[30:23] = exp,FP[22:0] = 尾数 模块compare_fp(输入[31:0] floatA, ...

回答 1 投票 0

为什么当我使用 std::randomize 时会出现“object std is not statements”错误?

我正在尝试模拟 N 位全加器的 SystemVerilog 代码,但出现此错误: 错误(10161):full_adder_tb.sv(73)处的 Verilog HDL 错误:对象“std” 没有声明。维...

回答 1 投票 0

当我使用 std::randomize 时,为什么会收到“错误:对象 std 未声明”?

我正在尝试模拟 N 位全加器的 SystemVerilog 代码,但出现此错误: 错误(10161):full_adder_tb.sv(73)处的 Verilog HDL 错误:对象“std” 没有声明。维...

回答 1 投票 0

std::系统verilog中的随机化

我正在尝试模拟 N 位全加器的系统 verilog 代码。但我收到这个错误。 错误(10161):full_adder_tb.sv(73)处的 Verilog HDL 错误:对象“std” 没有声明。维里...

回答 1 投票 0

系统 Verilog 查询 - 信号 A 在时钟脉冲 (40kHz) 处触发,并且应在 1/4 时钟期间下降到 0

在此输入图像描述 我有一个 40 kHz 的时钟。信号 A 在 clk 的 posege 处被置为“1”。如图所示,信号 A 应取消置位为“0”。我尝试过使用 @(

回答 1 投票 0

调用更高模块中的函数

我的SystemVerilog(非UVM)代码具有以下结构: tb 实例化包装器,该包装器实例化另一个模块 A。 从模块 A 内的函数,如何调用 tb 内的函数? 我试过了

回答 1 投票 0

在 sv 包含文件路径中使用 env 变量

如何在系统verilog中的包含文件路径中使用env变量? 我用了 包括“$VAR/abc.sv” 但它说无法打开/找到文件。 也尝试过 包括“${VAR}/abc.sv”但相同

回答 1 投票 0

我正在尝试了解如何为具有多个主设备和一个从设备的 DUT(仲裁器)编写 UVM 记分板

我需要为 DUT 编写一个记分板,该 DUT 有 3 个 AXI 主设备作为输入,其中一个从另一侧输出到 AXI 从设备,例如 3 个 AXI 主设备 -> DUT -> AXI 从设备。如果我的

回答 1 投票 0

多主 AXI 接口连接

如果我们有 3 个 AXI 主设备,然后使用 config_db 将这三个接口发送到 3 个 AXI 代理实例,那么我们是否需要在顶部文件中拥有 3 个 AXI 主设备接口实例?或者说,如何...

回答 1 投票 0

为什么uvm_hdl_force在Verdi中只在交互模式下有效?

我正在使用 uvm_hdl_force 来处理我的测试中的各种信号(从 uvm_test 扩展)。但力量的影响仅在 Verdi (VCS) 的交互模式下可见。如何在没有

回答 1 投票 0

当其他信号有效时,信号必须有效

我遇到一种情况,设计中的一个信号必须断言至少一个周期,而另一个信号必须断言至少 X 个周期。 期望的结果: 经过: 通过示例1 经过: 通过示例2 普...

回答 1 投票 0

当独立编译并在 sv 函数调用中使用时,Systemverilog DPI 的行为不同,打印出不同的值

我有一个问题,我正在使用 gcc 独立编译一堆 cpp 文件,它给出了预期的输出,如 0,1,2 等。 但是当我以相同的顺序使用相同的函数并从

回答 1 投票 0

SV 界面出现杂散分号错误

我正在使用系统verilog编写一个可逆计数器的代码,我已经构建了我的界面,但它给了我一个错误,指出在“11”行附近的语句后声明非法。

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.