2017-12-08 5 views
0

yosys에 gcc 옵션 -MMD와 동일한 종속 파일을 만드는 명령이 있습니까? (이 옵션은 컴파일 유닛에 포함 된 모든 파일을 나열하는 작은 Makefile 부분을 출력합니다. Using g++ with -MMD in makefile to automatically generate dependencies 참조)Yosys에서 종속 파일을 출력하는 방법 (gcc -MMD 해당)?

배경 : 저는 Yosys를 사용하여 Verilog 프로젝트를 합성하는 Makefile을 빌드하려고합니다. 이 프로젝트는 하나의 최상위 Verilog 파일을 사용하며 다른 Verilog 종속성이 포함됩니다. 나는 아주 잘 작동 다음 메이크업 규칙을 사용하는 것이 수행하려면 : 내가 명시 적으로 메이크의 다른 Verilog에 파일을 언급하지 않기 때문에

$(HARDWARE_BLIF_FILES): $(SUITE_OBJ_DIR)/%.blif : $(SUITE_SUPPORT_HARDWARE_DIR)/%.v 
    $(HARDWARE_YOSYS) -q -p 'read_verilog -I/path/to/hwlib $<' -p 'synth_ice40 -blif [email protected]' 

, 나는 종속 파일을 사용하고 싶습니다. 이렇게하면 종속성 파일에 적용된 변경 사항을 감지하고 다시 컴파일을 트리거 할 수 있습니다. 다음과 같이 위의 클리포드에 의해 추가 된 새로운 yosys -E 옵션


덕분에, 나는 메이크 규칙을 변경할 수 있습니다 : 이제

-include $(HARDWARE_BLIF_DEP_FILES) 

$(HARDWARE_BLIF_FILES): $(SUITE_OBJ_DIR)/%.blif : $(SUITE_SUPPORT_HARDWARE_DIR)/%.v 
    $(HARDWARE_YOSYS) -q -E $(SUITE_OBJ_DIR)/$*.v.d -p 'read_verilog -I/path/to/hwlib $<' -p 'synth_ice40 -blif [email protected]' 

에서, blif 파일이 생성되어, 때마다 암시 적으로 참조 중 하나 Verilog 파일이 변경되었습니다.

답변

1

이 기능은 이제 Yosys git head (a96c775)에 추가되었습니다. 의존성 파일을 생성하기 위해 yosys 호출에 -E <depsfile>을 추가하기 만하면됩니다.

관련 문제