我已经看到很多系统verilog程序示例将数据包表示为打包结构。 这些数据是否像包一样串行传输?如何在硬件中实现系统verilog结构?
答案 0 :(得分:4)
SystemVerilog中的压缩结构只是为您提供了一种通过名称而不是位位置来访问信号字段的替代方法。例如
typedef struct packed {
logic [2:0] field1; // 3-bits
logic [4:0] field2; // 5-bits
} signal_t; // 8-bits
您现在可以声明具有该类型的电线或变量
wire signal_t sigA;
var signal_t sigB;
(除了在端口声明中,var关键字是隐式的大多数地方)
您现在可以将{1}或sigA[7:5]
答案 1 :(得分:1)
结构只是封装变量的一种便捷方式。这是一种表明这些变量应该作为一个组进行操作的方法。但是,调用某个数据包不会让合成器创建您想要的硬件。由您来创建正在处理的协议的逻辑。