문제

나는 약 4레벨 깊이의 와이어를 가지고 있으며 그것을 계층 구조 위로 전파해야 하는 번거로움을 정말로 원하지 않습니다.일종의 참조를 사용하여 와이어를 할당할 수 있는 방법이 있습니까?다음을 입력하여 전선에 접근할 수 있다는 것을 알고 있습니다.

cca.cpu0.cca3_cpu.nc1_cp_checkpoint 

하지만

assign cca.cpu0.cca3_cpu.nc1_cp_checkpoint = checkpoint;

작동하지 않습니다

누구든지 그것을 할 수 있는 방법을 알고 있나요?

도움이 되었습니까?

해결책

다른 사람이 문제를 재현할 수 있을 만큼 충분한 코드를 표시하지 않았고 문제에 대한 세부 정보도 공개하지 않았으므로 우리가 할 수 있는 일은 추측뿐입니다.

내 추측은 nc1_cp_checkpoint 로 선언됩니다. reg 너의 안에 cca3_cpu 사례.값을 할당할 수 없습니다. reg 연속 할당을 사용합니다.절차적 할당을 사용해 보십시오( initial 또는 always 블록) 예를 들면 다음과 같습니다.

initial begin
    cca.cpu0.cca3_cpu.nc1_cp_checkpoint = checkpoint;
end

그래도 문제가 해결되지 않으면 다음을 수행하세요.

  1. 자세히보기 관련 있는 암호
  2. "작동하지 않음"에 대해 자세히 설명합니다.오류 메시지가 있으면 표시하세요.

업데이트:다음과 같은 경우 또 다른 잠재적인 문제가 발생합니다. nc1_cp_checkpoint 지속적으로 구동되는 것입니다 wire 너의 안에 cca3_cpu 사례.그렇다면 당신의 두 번째 assign 경합이 발생하여 값을 알 수 없게 될 수 있습니다(x).다음을 사용하면 해당 문제를 피할 수 있습니다. force 그리고 release.

다른 팁

From your tag, you seem to be indicating that you're using VCS. Are you getting a:

Error-[XMRE] Cross-module reference resolution error
Cross module resolution failed, token BLAH'. 
Originating module 'foo'. "foo.v", 666: 

That would indicate that your path isn't correct.

Cross-module references do work, but they may not be enabled if you're constraining your design to synthesizable constructs. Look up "cross-module reference" in the VCS user guide.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top