• 카테고리

    질문 & 답변
  • 세부 분야

    반도체

  • 해결 여부

    해결됨

4장 5장 수업에서의 질문

22.03.11 22:48 작성 조회수 180

2

안녕하세요 맛비님 제가 수업 들으면서 공부하던 도중 궁금한 점이 생겼습니다
 
4장 5장에서 PS와 PL 영역을 사용하는 모습을 보여주십니다
 
여기서 궁금한 점이
 
1. FPGA에 있는 PS 영역을 사용하기 위해서는 반드시 Vivado의 바이티스를 통해야만 하는 건가요?
예를 들어 우리가 .v 파일안에 약속된 명령어?? 이런 것을 넣어서 generate bitstream 하는 방식으로는 FPGA의 PS 영역을 사용할
수는 없는 건가요?
 
1-1) 질문을 하면서 떠오른 생각인데, 하드웨어를 SW적으로 조작하기 위해 탑재하는 것을 펌웨어라고 알고 있습니다
Vivado의 바이티스는 보드에 맞는 펌웨어를 자동적으로 만들어주는 그런 역할인건가요???
 
2. PS 영역을 사용하기 위해서는 반드시 IP Integrator안의 block diagram 기능을 이용해야 하는 것인가요?
 
3. 하드웨어를 만들 때 시즌 1에서는 .v 파일에 verilog 만으로도 만들었던 것 같은데 4장 5장에서는 주로 block diagram을 이용해서
만드시는 것 같습니다. .v 파일을 통해 verilog로 기술하는 경우와 block diagram을 쓰는 경우가 어떻게 차이가 있는지 궁금합니다.
 
 

답변 1

답변을 작성해보세요.

1

안녕하세요 :)  (오랜만의 질문? 이신 것 같아요 ㅎ)

바로 답변 드리겠습니다.

1. FPGA에 있는 PS 영역을 사용하기 위해서는 반드시 Vivado의 바이티스를 통해야만 하는 건가요?
예를 들어 우리가 .v 파일안에 약속된 명령어?? 이런 것을 넣어서 generate bitstream 하는 방식으로는 FPGA의 PS 영역을 사용할
수는 없는 건가요?
.v 는 HW 즉, 회로가 기술됩니다. 명령어?? 이런 것을 넣는 다는 뜻은 물리적인 Logic 을 넣겠다라고 해석이 됩니다. PS 영역은 이미 물리적인 Arm Core 가 존재합니다. 이미 존재했던 이 Arm Core 에 C 와 같은 SW 를 올리는 작업으로 PS 영역을 사용해야합니다 :)
그럼으로 Vitis 를 통해서 PS 영역의 Arm을 사용하시면 됩니다.
 
 
1-1) 질문을 하면서 떠오른 생각인데, 하드웨어를 SW적으로 조작하기 위해 탑재하는 것을 펌웨어라고 알고 있습니다
Vivado의 바이티스는 보드에 맞는 펌웨어를 자동적으로 만들어주는 그런 역할인건가요???
 
맞습니다. Vitis 는 Xilinx 에서 만든 SW 통합 플랫폼으로 펌웨어를 만드는 역할 뿐만아니라 엄청나게 더 많은 기능들이 있습니다. (이거는 Xilinx 홈페이지를 찾아보세요) 우리는 그 중 일부 기능인 펌웨어 코딩에서 사용하고 있습니다 :)
 
정확하게 이야기하면, 펌웨어를 자동생성하는것은 아니구요. 드라이버를 자동생성 해줍니다. (이거는 펌웨어 공부를 더 하시면 이해가 되실꺼에요. 여기서 다룰 내용은 아닙니다.)
 
2. PS 영역을 사용하기 위해서는 반드시 IP Integrator안의 block diagram 기능을 이용해야 하는 것인가요?
선택사항이며 필수가 아닙니다. Block diagram 은 HW 생성을 쉽게해주는 도구일 뿐입니다. 전통적인 .v 의 조합으로 생성가능합니다.
Block Diagram 에서 wrapper 를 씌우는 과정이 있는데, 이때 합성가능한 .v 가 생성됩니다.
결국 최종은 .v 가 나오게 됩니다. 해당 .v 로 PS 영역이 포함된 HW bitstream 을 생성하고, PS 를 사용하기 위한 SW 를 코딩하시면 됩니다.
3. 하드웨어를 만들 때 시즌 1에서는 .v 파일에 verilog 만으로도 만들었던 것 같은데 4장 5장에서는 주로 block diagram을 이용해서
만드시는 것 같습니다. .v 파일을 통해 verilog로 기술하는 경우와 block diagram을 쓰는 경우가 어떻게 차이가 있는지 궁금합니다.
차이는? HW 구성을 쉽게하느냐 아니냐 일 뿐이에요. (다시 말씀드리지만 optional 입니다.)
강의의 설명을 용이하게 하기위해서 block diagram 을 적극 사용했습니다. :)
현업에서도 가끔씩? 사용합니다. (안쓰는걸 가르치는게 아니라는 뜻!)
 
즐공하세요 :)
 

답변 감사합니다. 공부를 계속하면서 전에는 그냥 그렇구나 했던 내용들에

대해서도 궁금한 점이 생기는 것 같습니다.

감사합니다!