我有一个关于具有多个打包维度的签名属性的问题,该属性是使用 typedef 分阶段定义的。
基本上,
logic signed [1:0][2:0] foo;
* foo[0] 没有签名(如果你期望有符号的元素,有符号是没有意义的)因为所有的整个打包数组都是有符号的,但每个元素都没有符号。
但,
typedef logic signed [1:0] foo_t;
foo_t [2:0] foo;
* foo[0] 已签名。好奇怪啊。。
Q1> 会发生什么?为什么要签??
Q2> 是否与逻辑签名的声明相同 [1:0][2:0] foo; // ??
Q3> LRM 说 [1:0] 指数变化最快,这不是我的预期。逻辑签名 [2:0][1:0] foo; //??