Ch2 업무

FPGA 검증

베린이 2023. 9. 5. 08:02
반응형

반도체 설계는 프로그램이나 어플과 달리 팹아웃을 하면 수정이나 업데이트를 할 수 없어서 여러 번의 검증을 거칩니다.

 

먼저 RTL 시뮬레이션을 통해 칩에 들어가는 IP들의 function이 제대로 작동하는지 확인합니다. 그리고 FPGA 합성을 해서 실제 물리적으로 잘 작동하는지 확인해야 합니다.

그리고 Synthesis 이후에 Post-sim을 하고 chip이 나오면 chip level test를 진행합니다, Pre-sim은 요즘에 잘 안 한다고 하더라구요. ASIC 설계 flow와 FPGA에 대한 설명은 다른 글에서 자세히 작성하도록 하겠습니다(아직 저도 잘 몰라요;;) 이 글에서는 FPGA 검증의 전체적인 flow만 작성하고 넘어가겠습니다.

 

쨋든 RTL 설계를 하면 합성을 위해 RTL freeze를 할 때까지 시뮬레이션 상에서, 그리고 FPGA에서 검증을 합니다. 그러려면 먼저 check list가 있어야겠죠?? Chip에 사용되는 ip들의 기능이 잘 작동하는지 확인하기 위해 check list를 잘 작성한 다음, bit 파일을 합성하여 FPGA 보드에 넣습니다.

 

지난번에 rtl 설계는 리눅스 상에서 진행한다고 했죠??(시놉시스나 케이던스 툴이 리눅스 환경에서 지원됩니다) 그래서 FPGA 보드에 넣을 bit 파일도 리눅스 환경에서 합성합니다. 리눅스에 xilinux를 설치하고 tcl, xdc를 작성한 뒤 합성을 하면 bit 파일이 생성됩니다. 이 파일을 윈도우로 빼내서 보드에 설치합니다. FPGA 보드를 내 컴퓨터에 연결할껀데 리눅스는 서버컴퓨터니까 당연히 윈도우로 빼내서 작업해야겠죠? 윈도우의 xilinux 툴로 FPGA 보드에 bit 파일을 설치한 뒤, GDB 같은 툴을 이용해 디버깅을 진행합니다.

 

제가 참여한 프로젝트의 FPGA 검증을 시작한 지 거의 두 달이 되어가는데요, 이제야 조금씩 진행되는 듯하네요;; 뭐든 다 마찬가지겠지만 진짜 인고의 시간입니다,,,,,, 이 글에서는 진짜 대충 작성하고 넘어갔는데요 추후에 자세히 작성하도록 하겠습니다.

'Ch2 업무' 카테고리의 다른 글

LIN IP 설계  (1) 2023.11.24
Timing diagram 용 프로그램, wavedrom  (0) 2023.08.10
Data sheet 작성  (0) 2023.08.10
Time table 추천, 엑셀 간트(XLGantt)  (0) 2023.05.31
OJT 4. FPGA 합성  (0) 2023.05.31