题
下面了 此 有关问题之间的差异装和解包矢量在SV,为什么我会永远想要利用解压载体?
装载有这些优势,解包矢量没有:
- 你可以执行比特明智的行动对他们的
- 你可以执行的算术运算上他们
- 你可以把切片他们
- 你可以复制他们作为一个整体的矢量
- 你可以做任何你可以用 联合国装载体(给我最大的知识)
什么样的优势做解压载有在装载体?
解决方案
还有另外一个原因为什么我喜欢使用解包。带解开,没有诱惑(和意外的可能性)的治疗的整体列名的一个变量,并进行错误的分配。还有没有可能的位出血从一个元件的另一时,你可能会想你是访问B位素N,但在现实中,你可以访问K位素N和B-K位素N+-1..
我的哲学是保留只是一起作为一个"单位的信息"包装尺寸。一切在解包尺寸。默认的思想应解开,并包只有你需要什么。
例如,如果我有9个港口,每21位的信息,我谨声明它为:
input logic [20:0] p1 [9];
的 20:0
部分构成了一个单位的信息、分配和进行采样在一起(在名义上).分裂那些位除了将摧毁的协议或符的港口。另一方面,变化端口数量从9个来说,16,是不会影响的信息的性质在每个港口,所以9港口真正属于的未包装尺寸在我的脑海里。
希望可能会给你一个模式思考...在这个范例,你会惊讶有许多事情开始出现解开你总是想被挤!!
其他提示
解包阵列的存在有几个原因。
1)填充阵列是在存储器中存储为一个连续的序列中的位。解包阵可能有每个元素存储独立,它可以产生更大的模拟的性能。
2)解包阵列可的类型不是特的载体。阵列的整数,字节、活动、结构、课程等。只能解压。
3)的大多数阵列操纵的方法只是工作上的解压缩阵列。
4)也许,仅仅解包阵列可以被分配给使用列文字。我不知道。
可能还有其他原因。
不隶属于 StackOverflow