2017-10-23 24 views
0

비트 배열이 A [32] [16]입니다.시스템 Verilog의 하위 인덱스 만 참조하십시오.

더 낮은 색인 값 중 특정 패턴이 있는지 확인하고 싶습니다.

예 : A [1] [8 : 0]은 그 패턴 A [2] [8 : 0]이 그 패턴을 가질 수도있다.

A [31 - 0] [8 : 0]의 모든 패턴이 해당 패턴을 가지고있을 수 있습니다. 단일 명령문에서 모든 상위 색인 구성 요소를 참조 할 수있는 방법이 있습니까?

A [5'bxxxxx] [8 : 0]과 같은가요?

+0

에 맞게 복제 연결을 사용할 수 있을까? – Serge

+0

@ Serge, 제약 조건과 같이 절차 코드를 사용하기가 어렵거나 불가능한 경우가 있습니다. OP가 이것을 SVA에 태그했기 때문에, 나는 그들이 불린 표현을 쓰려고한다고 가정한다. 이 경우, 함수 안에'for' 루프를 삽입해야합니다. –

답변

0

단일 선택에서 배열의 압축되지 않은 비트 세트를 선택하는 구문은 없습니다. A이 압축 해제 된 배열 인 경우 배열 감소 방법 중 하나를 사용하여 필요에 맞는 표현식을 만들 수 있습니다. 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 

, 당신은`for` 루프에 어떤 문제가 있는지 모든

if ({32{ {8'b?,your_pattern} } } ?== A)