我有一个位数组 A[32][16]。
我想检查是否有任何较低的索引值具有某种模式。
例如。
A[1][8:0] 可能具有该模式 A[2][8:0] 也可能具有该模式。
A[31 - 0][8:0] 中的任何东西都可能具有这种模式。有没有办法在单个语句中引用所有更高索引的组件。
类似 A[5'bxxxxx][8:0] 的东西?
我有一个位数组 A[32][16]。
我想检查是否有任何较低的索引值具有某种模式。
例如。
A[1][8:0] 可能具有该模式 A[2][8:0] 也可能具有该模式。
A[31 - 0][8:0] 中的任何东西都可能具有这种模式。有没有办法在单个语句中引用所有更高索引的组件。
类似 A[5'bxxxxx][8:0] 的东西?
没有语法可以在单个选择中从一个数组中选择一组不连续的位,无论是打包的还是解包的。如果A
是一个未打包的数组,您可以使用其中一种数组缩减方法来创建一个可能适合您需要的表达式。
if (A.or() with (item[8:0] == your_pattern) ) // if any match
if (A.and() with (item[8:0] == your_pattern) ) // if all match
如果A
是打包数组,则可以使用复制连接来匹配所有
if ( {32{ {8'b?,your_pattern} } } ?== A )