2009-09-08 3 views
1

나는 빌드 플로우의 모든 시스템 - Verilog 의존성을 저렴하고 정확하게 예측하려고한다. 의존성을 과도하게 예측하고 SV 종속성이 아닌 몇 가지 Verilog 파일을 찾을 수는 있지만 모든 종속성을 놓치고 싶지는 않습니다.Verilog에서 모든 의존성을 찾는다.

실제로 모든 의존성을 확인하기 위해 Verilog를 구문 분석해야합니까? tick-include 전 처리기 매크로가 있지만 tick-include는 현재 컴파일되는 모든 코드를로드하지 않는 것 같습니다. SYSTEM_VERILOG_PATH 환경 변수가 있습니다. 어떤 모듈이 어떤 파일에 정의되어 있는지를 결정하기 위해 그 SYSTEM_VERILOG_PATH 변수의 모든 시스템 verilog 파일을 구문 분석해야합니까?

답변

1

하나의 좋은 방법은 합성 도구 파일 목록 (예 : Altera의 경우 .qsf)을 사용하는 것입니다. 그럴 경우 완료되는 경향이 있지만 그렇지 않은 경우 발견 된 누락 된 파일에 대한 빌드 로그를 볼 수 있습니다.

+0

우수 아이디어 - Google 합성 스크립트를 살펴 보겠습니다. –

0

퀘 스타는 설계를 컴파일 한 후에 모든 종속성을 가진 메이크 파일을 생성 할 수있는 명령 행 옵션을 제공합니다. 나는 다른 시뮬레이터가 가지고 있는지 확실하지 않습니다.

다른 옵션은 시뮬레이터에서 컴파일 된 라이브러리를 찾아보고 덤프하는 것입니다. 아마도 모듈이 컴파일 된 실제 파일 이름을 얻지 못할 것이지만, 컴파일 된 라이브러리에 나타나는 모듈 이름에 대한 모든 verilog 파일을 구문 분석하는 것이 훨씬 쉬울 것입니다. 용이 한 컴파일 환경에서

1

는 소스 파일 (예를 들어, 케이던스

-- To list source files used by the snapshot 'worklib.top:snap' 
% ncls -source -snapshot worklib.top:snap 

)
를 덤프 할 수 있지만 당신은 내가 두려워 처음부터 시작하는 경우 더 쉬운 해결책이 없다. 나는 실용적으로 갈 것이다 : .sv 파일을 포함하는 모든 디렉토리들로 설정 파일을 가지고 그 안에 모든 것을 컴파일한다. 프로젝트의 파일 구조가 적절한 경우 모든 주요 블록에 대한 설정 파일을 제공하여 모듈화 할 수도 있습니다.

희망이 있습니다.

관련 문제