system-verilog 相关问题

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

如何识别同步复位(在verilog中)

我是 EDA 新手,我有以下 verilog 代码,我需要清楚地识别同步重置。 模块测试(clk,d,rst,a); 输入时钟,d,rst; 输出寄存器a; 总是@(posege clk) 乙...

回答 2 投票 0

nettype可以用来在System Verilog中定义struct吗?

SystemVerilog语言中可以使用nettype来定义struct吗? 我无法定义所以,有人可以告诉我吗?

回答 1 投票 0

在连续赋值中使用模块参数

我尝试在这个参数化模块上使用generate,但我不断得到错误的输出。 模块constant_gen #( 参数[4:0]轮= 5'b00 ) ( 输出[31:0] con ); ...

回答 1 投票 0

参数化测试类的非过程上下文中包含动态数据的结构

SV/UVM 中的以下代码会产生代码后显示的 VCS 编译错误。 typedef 枚举 int { ABC, 防御, 生长激素指数, 。 。 。 } 枚举_t 类 some_test #(类型 T=uvm_test) 扩展 T; `

回答 2 投票 0

系统verilog UVM:参数化测试类的非过程上下文中包含动态数据的结构

下面的 SV/UVM 代码会产生 VCS 编译错误,如代码后所示。 typedef 枚举 int { ABC, 防御, 生长激素指数, 。 。 。 } 枚举_t 类 some_test #(类型 T=uvm_test) 扩展 T; `

回答 1 投票 0

为 covergroup 生成 ASCII 覆盖文件

我的驱动程序中有一些封面组。我想生成覆盖率结果文件,不是 ucm 类型,而是 ASCII 类型,这样我就可以将其输入到电子表格或 python 中。 我使用 Cadence Xcelium 模拟器。 是...

回答 1 投票 0

SystemVerilog 构造函数返回值

我想做这样的事情,但它会导致错误: MyPacket 类; 函数 MyPacket not_fun_ction(); $display("不好玩"); 返回这个; 结束功能 末级 模块

回答 1 投票 0

模拟器和架构之间的信号门控差异

我有一个模拟,在时钟沿后更改信号并将其连接到 D 触发器。 我预计 D 触发器的输出会在下一个时钟结束时发生变化,但在某些模拟器中它

回答 1 投票 0

防止 Systemverilog 文本替换宏中的参数替换

`定义 CONNECT(i) \ some_mod inst1 (.i(i)); 模块测试(); 逻辑a; `连接(a) 终端模块 在 CONNECT 宏中,如何防止在 some_mod ins 的“.i”部分中将 a 换成 i...

回答 3 投票 0

展台编码不起作用,包括模拟

我正在为数组乘法器编写一个 Booth 编码。这是模块之一: 模块add_input(M,pos,neg,C); 参数n=8; 输入[n-1:0]M; 输入正、负; 输出[2*n-1:0]C; reg [2*n-1:0]C; 我...

回答 1 投票 0

“简单”的开始结束块有什么意义?

我正在阅读一些第三方Verilog,发现了这个: 函数[31:0]阶乘; 输入[3:0]操作数; reg[3:0]索引; 开始 阶乘 = 操作数 ? 1:0; 对于(索引 = 2;

回答 3 投票 0

如何创建一个在不使用全局变量的情况下跨时间驱动输出的任务?

我想在包中编写一些任务,然后将该包导入到使用这些任务的一些文件中。 这些任务之一会切换复位信号。任务是reset_board,代码如下...

回答 1 投票 0

在序列检测器中预期时钟边沿之前输出为高电平

我为“1011”序列检测器编写了 Verilog 代码。但是,在模拟中,当接收到“101”时输出为高电平。例如,在实际时钟之前一个时钟周期为高电平...

回答 2 投票 0

SystemVerilog FSM 枚举状态

我正在尝试在 SV 中实现以下状态图 有了这些输出逻辑 用下面的代码 `时间刻度 1ns / 1ps 模块fsm_example2(输入逻辑clk, 输入逻辑重新...

回答 1 投票 0

在 verilog 代码中序列检测器中的预期时钟沿之前输出为高电平

先生, 我为“1011”序列检测器编写了verilog代码。但在模拟中,当接收到“101”时输出为高电平。 IE。它在实际时钟沿之前的一个时钟周期为高电平。请帮我解决

回答 2 投票 0

幂运算符**可以与任意大的操作数一起使用吗?

幂运算符 ** 可以与任意大的操作数一起使用吗? 例如: reg [100:0] c; reg [15:0] a; reg [15:0] b; c = a**b; 操作数是否有最大限制...

回答 1 投票 0

你可以在易失性的reg上使用uvm_reg.get()吗?

我不清楚当您使用 uvm_reg.get() 获取包含一个或多个易失性 uvm_reg_field 的寄存器的值时会发生什么。我预计 uvm_reg.get() ...

回答 1 投票 0

将字节数组连接成一个数组

我可以连接这些字节库吗: 逻辑[7:0]bank3[0:255]; 逻辑 [7:0] 银行2[0:255]; 逻辑 [7:0] 银行 1[0 : 255]; 逻辑[7:0]bank0[0:255]; 类似的东西; 逻辑 [32:0] 地址数组 ...

回答 3 投票 0

我可以使用“wait fork”来等待任务内生成的线程吗?

我正在尝试系统verilog线程,并且编写了以下运行良好的示例。 目标只是生成 2 个打印数字的任务,并使用“wait f...

回答 1 投票 0

verilog 中生成块内的 defparam

在设计中,顶层模块A有另一个模块B的两个实例 模块A(....); B (.C(C1)...) inst1; B (.C(C2)...) inst2; 模块 B 有一些我想分配的参数...

回答 1 投票 0

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