我有一个数组A [32] [16]。
我想检查是否有任何较低的索引值具有某种模式。
例如。
A [1] [8:0]可能具有该模式A [2] [8:0]也可能具有该模式。
A [31 - 0] [8:0]中的任何东西都可能具有该模式。有没有办法在单个语句中引用所有更高级别的索引组件。
类似A [5'bxxxxx] [8:0]?
答案 0 :(得分: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 )