Ch1 Seminar/FPGA

[FPGA] 합성 시 발생하는 에러 - type

베린이 2024. 1. 8. 14:11
반응형

- logic type error 발생

System verilog 파일을 받아서 FPGA 합성을 진행하려고 했습니다. System verilog는 확장자명이 .sv인데 저희 회사는 System verilog에 익숙지가 않아서 .v로 수정하고 작업을 진행했었어요.
 
RTL 작업이 끝나서 FPGA 합성을 돌렸는데 다음과 같은 ERROR가 발생했습니다.
[Synth 8-993] logic is an unknown type
 

 
그래서 뭔가 해서 찾아봤는데 logic type은 verilog에서 사용하지 않는 type이어서 System verilog로 확장자를 바꿔줘야 한다고 합니다. 그래서 .v를 원래 형태인 .sv로 수정하고 합성을 돌리니 에러가 사라졌습니다.
 

- verilog 파일을 System verilog 파일로 인식하게 만드는 방법

앞에서 제가 받았던 System verilog 파일이 soc.sv라고 해봅시다. 그렇다면 verilog로 바꾼 파일은 soc.v가 되겠죠?
여러 사람이 같이 작업하는 프로젝트에서 제가 FPGA 파트를 맡았는데, 합성용으로 soc_fpga.sv 같은 파일을 추가로 생성한다면 문제가 발생하게 됩니다. 수석님이 soc.v를 작업하시면 그때그때마다 FPGA 합성용으로 만든 soc_fpga.sv를 soc.v에 맞게 수정해야 합니다. 너무 귀찮겠죠??
 
위와 같은 문제를 해결하기 위해 명령어로 verilog 파일을 System verilog 파일로 인식하게 만들 수 있습니다. tcl 파일에 입력하면 돼요.
set_property file_type SystemVerilog [get_files <filename>.v]
만약 파일 이름이 soc.v라고 한다면
set_property file_type SystemVerilog [get_files soc.v] 라고 작성하면 되겠죠.
 
 

'Ch1 Seminar > FPGA' 카테고리의 다른 글

[FPGA] DONT_TOUCH  (0) 2024.01.16
[FPGA] DCM 사용 방법  (0) 2024.01.15
[FPGA] ILA 사용법  (3) 2024.01.12
[FPGA] ILA module 설명  (0) 2024.01.11
[FPGA] xdc 세팅  (0) 2023.09.07