system-verilog 相关问题

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

在SystemVerilog中如何使用参数来实例化多个信号和寄存器?

我创建了一个传递参数 N 的模块。 N 将用于创建 N-2 个信号,第一个信号的宽度为 1,下一个信号的宽度为 2,直到第 N-1 个信号的宽度为 N-1...

回答 1 投票 0

我的函数 $readmemh 有问题

我的 $readmemh 函数有问题。 仅当我写入文件的完整路径时它才起作用,但是当我写入文件的名称时,它不起作用。 不写怎么解决这个问题...

回答 2 投票 0

我可以创建一个元素数组,每个元素都有动态宽度吗?

是否可以创建一个元素数组,每个元素都有动态宽度? 例如,3 个元素的数组 arr[0] = 3 位,arr[1] = 5 位,arr[2] = 2 位 如果可以的话该怎么做?

回答 1 投票 0

如何为字符串变量创建宏

如何在系统verilog中使用变量进行宏定义: 例子: 字符串 string_var = "你好" 定义 STRING_VAR_MACRO string_var 我想让 STRING_VAR_MACRO 成为 Hello 而不是...

回答 1 投票 0

在时钟门中使用System Verilog $past

p1:断言属性 (@(posege clk) ($past(b, 2, c)) === 0); 当我在 VCS 中运行断言时,它在 13 秒、15 秒、17 秒时失败...... 我不知道为什么它在13秒时失败了。 在 11 秒内,$past(b, 2, c) 为 0(在 7 秒采样) ...

回答 2 投票 0

为什么我不关心 IIR 滤波器的输出

模块 IIR_filter(xn, clk, rst_n, yn); 输入有符号[3:0]xn; 输入时钟,rst_n; 输出 reg 有符号 [3:0]yn; reg 签名 [3:0]y_1,y_2,x_1,x_2,x_3; 总是@(*)开始 yn = xn - (x_1) + (x_...

回答 1 投票 0

使用宏会出错,但显式放入宏文本确实有效

我正在使用开源的pulp_platform_common_cells,它已为Xilinx FPGA 实现,我想对其进行转换,以便它也可以在Quartus 中运行。在 Vivado 中,该项目综合得很好,但在

回答 1 投票 0

SystemVerilog If 和约束块中的蕴涵运算符 (->) 有什么区别?

SystemVerilog 包含称为约束块的东西,用于伪随机刺激生成。它还包含一个称为“if”的条件,就像在所有编程语言中一样。但是...

回答 1 投票 0

Verilog 和模拟器中的非确定性是什么?控制流可以在一个时间步长的多个事件之间来回切换吗?

我已经阅读了有关调度语义的章节,并且可以理解标准的内容。正如标准所说,模拟器可以暂停即将到来的活动事件以执行另一个活动

回答 1 投票 0

具有多个输入和输出的可参数化 FIFO?

我想创建一个具有多个可参数化数量的输入和输出的 FIFO。也就是说,一旦有足够的数据,FIFO 就会将它们抽出。在我的用例中,我有 4 个输入,并且...

回答 1 投票 0

SVA 断言编译语法错误

断言属性@(posedge(clk)) !rstN |-> n==0 && full==0 &&empty==1; 断言属性 @(posedge clk) 禁用 iff(!rstN) ( full |=>(wr_en && $stable (n) ) ); 断言

回答 1 投票 0

为什么变量的外部初始化在 for 循环中不可接受?

在 for 循环之外初始化变量会导致错误,因为 i 不是任务。但是,如果我在 for 循环中初始化它,它就会完美运行。 为什么下面的代码会出错...

回答 1 投票 0

$fopen 返回 MCD,但 MCD 不起作用

我正在尝试打开一个文件并写入内容,很简单。我的实现没那么简单。 我正在使用 verilog/systemverilog 和 modelsim。我在 modelsim 中的命令行是: 设置泛型“-gLOG_FILENAME=

回答 1 投票 0

如何修复“错误:部分选择范围非法”?

位[2:0]大小; 位[2:0]数字; 位[59:0]数据; 数据 = 60'h12345; 数 = 3'h1; 尺寸 = 3'h1; 数据 = {(num+1){数据[(大小+1)*10-1:0]}}; ////Error-[IRIPS] 部分选择范围非法 ////警告-[WUI...

回答 2 投票 0

对一个 Verilog 命令感到困惑

谁能帮我理解下面的命令的作用吗? reg [ADDR_WIDTH:0] wr_ptr_reg = {ADDR_WIDTH+1{1'b0}}, wr_ptr_next; 我知道 reg [ADDR_WIDTH:0] wr_ptr_reg = {ADDR_WIDTH+1{1'b0}} 表示 assi...

回答 1 投票 0

限制 Verilog 参数

我正在编写一个简单的Verilog模块,需要对其参数值进行限制。我的意思是只允许将某些值分配给通用参数。我知道这可以...

回答 1 投票 0

在systemverilog中,驻留在包中的类引用全局范围内定义的另一个类

在systemverilog中,驻留在包中的类是否引用全局范围内定义的另一个类? 类 global_cls; 整数gv=4; 末级 包 my_pkg; 类 pkg_cls;

回答 1 投票 0

我的计数器在时钟上升沿驱动时出现错误

我制作了最多计数 100 的计数器。计数行为由时钟的上升沿驱动。 你可以看下面的代码 //“design.sv”的代码 模块计数器( 输入时钟, 输入

回答 1 投票 0

如何在 systemVerilog 测试台中的时钟沿之前或之后安排信号

我一直想知道如何在 systemVerilog 测试平台上正确计算被测设备的输入信号驱动时间,例如,这里是简单顺序测试的测试平台的摘录...

回答 1 投票 0

SystemVerilog中有没有一种方法可以直接将模块的输出转换为所需的类型而无需中间变量?

本质上,我试图找出一种方法,使我不必在 RTL 中使用这种笨拙的解决方法来让它干净地编译。在尝试了几种寻找答案但无果后......

回答 1 投票 0

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