Engineering/ZYNQ

[ ZYNQ ] 징크 공부하기 #7. 설계에 앞서 알아두기

세상을 둥글게 2025. 3. 20. 15:49
반응형

System Design

 

시스템 아키텍처의 설계는 일반적으로 Top-Down 방식으로 합니다.

top-level system interface와 parameter들을 우선으로 정의하는 것을 말합니다.

 

그 후 하위 시스템을 설계하는데 시스템의 규모(or 복잡성)에 따라서 

더 낮은 하위 시스템을 구성할 수 있습니다.

 

이후에는 기능 단위를 정의하고 하드웨어와 소프트웨어를 적절히 분할하여

시스템에 필요한 통신을 정의합니다.

 

보통 PS의 소프트웨어는 범용 순차 처리 작업, 운영 체제, 사용자 어플리케이션 및 GUI 구현에 사용되고,

계산위주의 프로그램은 PL에 소프트웨어로 구현하는게 적절합니다.

 

ZYNQ의 장점 중 한가지가 물리적으로 동일한 장치에 위치한 프로세서와 프로그래머블 로직간의 긴밀한 결합입니다.

PS와 PL 간 낮은 지연 시간과 고성능의 AXI 인터페이스가 시스템을 소프트웨어와 하드웨어 요소로 분할할 때

이 두 리소스의 서로 다른 속성을 최대한 활용가능하게 합니다.

 

Hardware Development and Testing

 

하드웨어 시스템의 개발에는 PL에 구현될 주변 블록 및 기타 로직을 설계하고,

이러한 블록과 PS 사이에 적절한 연결을 생성하며, PS를 적절하게 구성하는 것이 포함됩니다.

 

예를 들어, 하드웨어 시스템에는 CAN 버스, 디버깅용 UART, GPIO에 대한 인터페이스와

ARM에서 실행되는 소프트웨어를 지원하는 하드웨어 보조 프로세서가 포함될 수 있습니다.

 

 

설계자는 IP 라이브러리에서 생성된 블록으로 원하는 시스템을 스케치하고, 블록을 매개변수화하며,

적절한 내부 연결 및 외부 포트를 설계할 수 있습니다.

 

파워풀한 테스트 방법으로 HIL (Hardware In the Loop)이 있다.

 

Software Development and Testing

 

소프트웨어 시스템은 아래 그림 같이 하드웨어 기반 시스템을 기반으로 구축된 스택 또는 레이어 집합으로 생각할 수 있습니다

 

 

하드웨어 기반 시스템 바로 위에 있는 계층은 보드 지원 패키지(BSP)로,

다음 계층(운영 체제)이 하드웨어와 통신하는 데 사용하는 저수준 드라이버와 기능의 집합입니다.

 

소프트웨어 스택을 만들 때 일반적인 첫번째 설계는 배포할 OS를 선택하는것입니다.

Linux나 Android 같은 완전한 OS, 임베디드 OS, 실시간 운영 체제(RTOS), 기본적인 기능만 포함하는 가벼운 OS등..

 

애플리케이션이 하드웨어와 직접 통신하는 것도 가능하며, 이를 흔히 'bare-metal' 애플리케이션이라고 합니다.

(두 개의 프로세서 코어를 사용할 수 있는 경우, 각 코어에 하나씩 두 가지 다른 유형의 OS를 배포할 가능성도 있습니다.)

 

System Integration and Testing

 

시스템 통합은 부분적으로 설계의 소프트웨어 및 하드웨어 요소의 개발과 결합 테스트를 통해 이루어집니다.

시스템 수준의 디버그는 소프트웨어와 하드웨어 구성 요소가 개별적으로 테스트되고 검증된 후에 진행합니다.

728x90
반응형