(디지털)"[도움말]

B

bigrice911

Guest
제가 프로그램을 만들었지만 그것을 할 때 컴파일 할 때 오류를 묻습니다.

범위 상수 표현식에 묶여 있어야합니다코드 :

함수 [8 *`승 - 1 : 0] 주연;

입력 [`승 - 1 : 0] data_i;

입력 [2시] addr_i;정수 인덱스;

(지수 = 0; 지수는 "8; 지수 = 색인 1)

만약 (addr_i == 색인)

주조 [`승 * 지수는 7 :`승 * 인덱스] = data_i; / / 범위 상수 표현식에 묶여 있어야합니다

그 밖의

주조 [`승 * 지수는 7 :`승 * 인덱스] = 'BZ인지;endfunction
 
[...]
U 다른 방법을 시도할 수있습니다
사용 전환
캐스팅 = data_i ""addr_i * '승;
: 그것을하지 못할 '지정 BZ인지

사용하거나 들어 mem
reg [`승 - 1 : 0] 캐스트 [2시]
() 캐스트 [인덱스] =`w'bz;하기
주조 [addr_i] = data_i;
: 함수 안 맞는

 
Verilog 할당 규칙 :
을 선택합니다 상수 부분
하지만 비트 프로 시저를 할당 제한 없음을 선택 :
그래서 다른 방법을 사용할 수있습니다
(2 = 0; II에 "8; 2 = 2 1)
만약 (2 == addr_i)
(제이 = 0; JJ는 "`승; = 제이 제이 1)에 대한
주조 [2 *`승 제이] = data_i [제이];
그 밖의
(제이 = 0; JJ는 "`승; = 제이 제이 1)에 대한
주조 [2 *`승 제이] = 1'bz;

 
xigu, 정말 감사합니다!
당신의 대답은 내 오류가 발생하여 해결책을 투여하는 일을 이해 했어!

 

Welcome to EDABoard.com

Sponsor

Back
Top