系统verilog结构如何在硬件中实现?成员是否被声明为电线?

use*_*683 2 verilog system-verilog

我见过很多系统 verilog 程序示例,将数据包表示为打包结构。该数据是否像数据包一样串行传输?系统verilog结构如何在硬件中实现?

dav*_*_59 5

SystemVerilog 中的压缩结构为您提供了一种通过名称而不是位位置访问信号字段的替代方法。例如

typedef struct packed {
     logic [2:0] field1; // 3-bits
     logic [4:0] field2; // 5-bits
} signal_t; // 8-bits
Run Code Online (Sandbox Code Playgroud)

您现在可以声明该类型的连线或变量

wire signal_t sigA;
var signal_t sigB;
Run Code Online (Sandbox Code Playgroud)

(除了端口声明之外,var 关键字在大多数地方都是隐式的)

您现在可以通过 或 访问sigA[7:5]field1 sigA.field1

正如 nguthrie 指出的那样,解包结构提供了变量的分层分组,但它们也提供了比 Verilog 更强大的类型。请参阅我的应用说明