안녕하세요! 오늘은 징크라는 녀석에 대해서 기본 소개를 올릴까 합니다.
네이x 블로그에도 간단히 올렸는데
더 자세한 내용이 궁금하신 분들을 위해서 요기 자세히 올려볼까 합니다!
제가 공부하고 있는 책은 THE ZYNQ BOOK 책인데요
영문이라서 공부겸 한글로 정리해서 여기에 정리해 볼 예정입니다!
부족한 부분은 지적해주시면 수정하고 저도 배울게요! 같이 공부해봐요~
ZYNQ란 듀얼 코어 ARM Cortex-A9 프로세서와 FPGA logic fabric을 결합한 것입니다.
- ARM Cortex-A9는 어플리케이션 등급의 프로세서로 Linux와 같은 전체 운영 체제를 실행할 수 있다.
- Xilinx 7-series FPGA architecture를 기반으로 한다.
(AXI interfaces 기준, 높은 주파수 대역과 장치 간 짧은 대기시간을 제공한다. )
다들 알고 계시겠지만, SoC(System on Chip)은 단일 실리콘 칩에 전체의 시스템을 운영할 수 있게 하는 것입니다.
SoC의 단점으로 개발에 필요한 시간과 비용, 유연성이 부족한걸 꼽을 수 있습니다.
이러한 부분은 보완하기 위해서 FPGA가 나오게 됩니다.
ZYNQ는 이 두 가지를 합쳐서 장점들을 살렸다고 생각하시면 이해하기 쉬울 것 같습니다.
간단한 구조에 대한 Blockdiagram인데요.
PS는 고정된 아키텍처를 가지고 있는 반면,
PL은 완전히 유연해서 디자이너에게 맞춤형 주변기기를 만들 수 있는 ‘빈 캔버스’를 제공합니다.
상호 연결은 AXI 으로 이루어지구요.
간단하게 AXI란,
ARM Advanced Microcontroller Bus Architecture 3(AXI3) 및 4(AXI4) 사양[1]의 일부인 AXI(Advanced eXtensible Interface)는 주로 온칩 통신을 위해 설계된 병렬 고성능, 동기, 고주파, 다중 마스터, 멀티슬레이브 통신 인터페이스다.
(출처 : 위키피디아)
라고 알고 계시면 될 듯 합니다!
기본적인 PL 하드웨어는
구조화되어 있고 동작 특성이 잘 알려져 있고, 소프트웨어 개발 툴이 통합되어 있다.
설계를 재사용하는 범위가 넓다. Zynq는 넓은 범위의 기준 IP를 이용 가능하여 효율적이다.
이런 장점들이 있습니다.
이 책에서 중요하게 본 부분이 다음에 적을 부분인데요
다양한 소프트웨어나 하드웨어 디자인 프로세스에서 반복되는 트렌드는 추상화의 수준을 높이는 것이다.
FPGA 및 Zynq 설계의 발전은 설계자가 기존의 것보다 더 적은 상세 정보를 사용하여 시스템 구성요소를 지정하고,
전송 수준 방법을 등록하며, 대신 사용자가 제공한 방향에 따라 가능한 경우 논리를 추론하고 최적화하는 설계 도구에 의존하여 시스템 구성요소를 작성할 수 있음을 의미한다.
이 부분이 공부를 하면서 명심해야 할 부분이라고 저는 생각했어요.
그러면 SoC Design Flow에 대해서 알아볼까요?
간단한 정의
1. 시스템의 바람직한 행동 정의.(적절한 규격 작성)
2. 소프트웨어와 하드웨어 사이에 의도된 기능을 적절히 분리하고 두 섹션 사이의 인터페이스를 정의하는 것이다.
(진행하면서 수정가능)
3. 시스템 분할, 소프트웨어 및 하드웨어 개발은 상당 부분 병행하여 진행될 수 있다.
- 하드웨어 관점 : 기능 블록을 식별하고 조합하고 연결하는 일.
- 소프트웨어 관점 : 사용자 정의 코드를 개발하거나 재사용하여 실현.
4. 하드웨어와 소프트웨어는 특정화 단계에서 정의된 인터페이스에 따라서 통합되고 전체 시스템을
시험을 수행하여야 한다.
이상으로 간단한 소개 및 SoC Design Flow에 대해서 정리해 보았습니다!
그러면 다음번에는 Zynq에 대해서 좀 더 알아보는 장을 정리해서 돌아오겠습니다!
같이 공부해요~~
'Engineering > ZYNQ' 카테고리의 다른 글
[ZYNQ]징크 공부하기 #3. 디바이스 징크 두번째 (1) | 2019.09.01 |
---|---|
[ZYNQ] 징크 공부하기 #3. 디바이스 징크 두번째 (0) | 2019.08.17 |
[ZYNQ] 징크 공부하기 #2. 디바이스 징크 첫번째 (0) | 2019.08.10 |