VisualAppletsⓇ 시리즈
실시간 애플리케이션을 위한 그래픽 FPGA 프로그래밍
Silicon Software는 VisualApplets 출시 10주년인 2016년을 맞이하여 하반기에 기능과 성능이 대폭 향상된 VisualApplets 3.0을 출시할 예정이다. VisualApplets는 직관적 프로그래밍을 제공하며, 실시간 영상처리 애플리케이션에 쉽게 접근할 수 있도록 도움을 주는 프로그램이다. 이 글에서는 VisualApplets의 기능과 활용 방법에 대해 알아본다.
개발자를 위한 기능
•CPU의 부하 경감
새로운 센서 개발이 점점 빨라지면서, 더 좋은 화질의 영상이 보다 짧은 시간에 획득된다. 그로 인해 데이터양은 늘어나게 되고, 이는 CPU나 GPU라도 감당할 수가 없다. 해결책은 FPGA를 사용하는 것이다. FPGA는 CPU를 선행하여 다양한 영상처리프로세스(영상 최적화, 영상 평가, 제어 신호 생성)를 실행한다. 따라서 CPU 및 GPU의 부하가 현저히 감소된다.
•누구나 가능한 FPGA 프로그래밍
그래픽 인터페이스를 사용하기 때문에 VHDL에 대한 지식이 필요하지 않다. 따라서 FPGA 프로그래밍은 하드웨어 프로그래머뿐만 아니라 소프트웨어 개발자나 영상처리 전문가도 가능하다.
•그래픽 애플리케이션 개발
프로그래밍은 플로우 차트 생성을 통해 이루어진다. 사용자는 영상처리 모듈(오퍼레이터)과 상호 연결 전송 링크를 이용하여 영상 처리 솔루션의 데이터 흐름을 드래그 & 드롭(Drag&Drop)으로 간단하게 편성할 수 있다.
•팀 기능
다양한 기능이 팀 방식의 개발 작업을 지원한다. 또한, 프로젝트 팀원들은 프로그래밍 언어와 상관없는 플랫폼에서 상호 소통할 수 있다.
•오퍼레이터와 라이브러리
영상처리 솔루션 결정에 200개가 넘는 오퍼레이터를 사용할 수 있다. 이때 각 오퍼레이터는 영상 처리 체인 내에서 특정 기능을 제공한다. 오퍼레이터들은 대기 중인 영상 처리 작업에 따라 배치되고 상호 연결될 수 있으며, 주제별로 13개의 라이브러리에 분류된다.
•설계 규칙 점검과 시각적 디버깅
두 단계 설계 규칙 점검으로 완성된 애플리케이션이 기존의 조합 및 매개 변수 규칙에 적합한지 점검할 수 있다. 결과 출력은 편리한 시각적 디버깅을 가능하게 해 준다. 예를 들어, 오류 메시지를 클릭하면 프로그램이 해당 설계 오류 지점으로 즉시 이동한다.
•FPGA-리소스 평가
상세한 평가와 산정은 제공되는 FPGA 리소스에서 개별 오퍼레이터와 설계 구성요소들이 얼마나 많이 사용되고 있는지를 보여준다. 그러므로 ‘Hot Spots’이라고 불리는, 리소스를 고도로 사용하는 설계 구성요소들을 매우 간단히 찾아낼 수 있고, 그 지점의 설계를 최적화할 수 있다.
•대역폭 분석
VisualAppletsⓇ는 데이터 용량 분석 기능을 이용하여 각 전송 링크에 필요한 대역폭을 산정한다. 프로그램은 대역폭 매개 변수화를 조정해야 하는 링크들을 색깔로 강조하여 표시한다. 모든 링크에는 사용 가능한 필요 대역폭에 대한 상세 정보가 문맥 의존적으로 제공된다.
•시뮬레이션
픽셀이 정확한 시뮬레이션은 완성된 애플리케이션의 기능성을 점검할 수 있게 해 주며, 개별 테스트 영상이나 테스트 연속 영상을 설계의 임의 지점으로 보낼 수 있다. 또한, 산정된 시각 결과는 임의로 배치 가능한 출력 모듈을 통해서도 불러올 수 있다.
•이벤트 제어
VisualAppletsⓇ 2를 이용하여 FPGA의 이벤트 제어 프로그래밍이 가능하다. 사용자는 영상 처리 중 FPGA에 발생할 수 있는 특정 상황에 대해 이벤트를 생성할 수 있으며, 이 이벤트는 구현된 메커니즘을 통해 연결된 소프트웨어 제어로 실시간 전송된다. 그러므로 CPU 부하를 초래하는 폴링 프로세스는 더이상 필요하지 않다.
•런타임 매개 변수화(레지스터)
FPGA 설계 과정 중, 어떤 매개 변수가 애플릿의 구현에 따라 런타임에 변경 가능 여부를 미리 결정할 수 있다. SDK 또는 microDisplay를 통해 사용자가 이러한 매개 변수들을 런타임에 조정할 수 있어, 소프트웨어를 기반으로 하는 편리한 실시간 제어가 가능하다.
•빌드 프로세스
설계가 완료되면, 실행 가능한 FPGA 애플릿을 마우스 클릭으로 생성할 수 있다. 이 빌트 프로세스는 VisualApplets가 미리 설치된 Xilinx Place&Route 소프트웨어와 자동으로 연결된다.
•microDisplay로 구현
FPGA 애플릿은 설정 및 미리 보기 프로그램인 microDisplay를 이용하여 런타임 동작을 실시간으로 모니터링할 수 있다. 영상 처리 동작은 소프트웨어를 통해 시각적으로 조정하거나 환경 설정을 할 수 있다. 그뿐만 아니라 완벽한 시스템 환경은 환경 설정 파일로 저장할 수 있다.
•SDK 코드 생성기
FPGA 코드 완성과 함께 개별적인 소프트웨어 예시들이 생성되어, 소프트웨어 애플리케이션에서의 구현이 수월해 진다. 매개 변수화된 인터페이스는 목록으로 작성되고, 영상 획득, 메모리 관리, 영상 전송을 위한 프로그래밍 환경에 삽입된다.
•써드 파티(3rd Party) 영상 처리 도구 인터페이스
VisionProⓇ (Cognex), LabVIEW(National Instruments), HALCON(MVTec), CVB(STEMMER IMAGING), MIL(Matrox)과 같은 영상 처리 프로그램을 위한 이 편리한 인터페이스는 VisualApplets으로 완성된 FPGA 애플리케이션이 거의 모든 가능한 영상 처리 시스템에서 구현될 수 있다.
의사 결정권자를 위한 기능
•Time-To-Market 가속화
프로젝트들은 VisualApplets로 더 빨리 실행되며, 높은 수준의 그래픽 구현은 FPGA 프로그램을 간단하고 빠르게 해결해 준다. 하드웨어 코드는 즉시 대상 시스템에 사용할 수 있다. 높은 수준의 시뮬레이션은 미리 하드웨어 동작을 보여주고 통합 시간을 최소화시킨다. 이 솔루션은 공장 자동화에 간단하게 즉시 통합될 수 있다.
•인력 문제 해소
VisualApplets으로 FPGA를 프로그램하는데에는 H/W프로그래밍 능력이 없는 소프트웨어 개발자와 애플리케이션 엔지니어들을 투입할 수 있다. VisualApplets의 직관적 사용자 인터페이스와 설계 방법을 통한 빠른 학습전달기능으로 기업의 작업 흐름을 원활하게 통합시켜 주기 때문이다. 또한 다양한 부서상호 협력작업 기능은 하드웨어 및 소프트웨어 프로그래머들의 상호 통합능력을 지원한다.
•빠른 투자 수익률(ROI)
VisualApplets는 스타트업 투자 비용이 낮다. FPGA 기술은 지속적인 개선책으로 구성요소와 애플리케이션의 긴 제품수명주기를 보장하며, 이를 통해 유지관리비도 절감된다. VisualApplets의 모듈식 설계 컨셉은 설계를 쉽게 재사용할 수 있게 해 준다. 하드웨어 플랫폼은 이식성이 매우 높아 몇 분 안에 교체할 수 있으며, 기존의 VHDL코드는 옵션으로 VisualAplets로 가져올 수 있다.
•지적 재산권 보호
개별적으로 개발된 영상 처리 솔루션의 설계는 이진 코드로 변환되어 보호되며, 지정된 FPGA에만 실행되도록 제한하여 애플릿의 무단 사용을 방지할 수 있다. 즉, 고객을 통해 또는 고객의 의뢰로 완성된 애플릿은 고객이 지정한 FPGA에서만 실행된다.
VisualApplets Application Notes
•로봇에게 피드백을 전달하는 다중 라인 카메라를 통한 TFT 검사
TFT와 LCD 애플리케이션에서 OLED나 터치 패널 기판과 같은 미세 패턴의 검사는 광학 시스템, 고화질 라인 카메라, 결함 검출용으로 적합한 렌즈의 최적화된 조합으로 구성된다. 수집된 데이터양이 커지면 CPU 부하 경감이 필요하다. 다시 말해, 막대한 컴퓨터 작업에 FPGA의 지원이 필요하다는 뜻이다. 대량 병렬 처리는 애플리케이션에서 실현되어야 하는데, 프로그램이 가능한 논리 회로이자 선호 기술 플랫폼인 FPGA는 모든 요구조건을 충족시켜 준다. 모든 명령이 병렬로 실행되는 반면, 최적의 파이프라인 구조의 FPGA는 대규모 영상 처리와 추가 신호 처리용 애플리케이션에 이상적인 플랫폼이다.
수리되어야 하는 결함 플레이트 확인을 위해, 로봇에게 결함 위치와 크기에 대한 피드백이 전달되며, 연결된 분석 컴퓨터는 결함 카테고리, 수리 결정을 위한 위치 및 사이즈 관련 정보 또는 프로세스 분류를 결정한다.
•액정 패널 컬러 필터 검사
컬러 필터의 결함 검출은 일치하지 않는 부분을 추출하기 위해, 사전 등록된 ‘골든 마스터’로 표준 상태와 생산 라인 워크 피스 간의 영상 비교 및 패턴 매칭을 실행한다. 회색은 템플릿과 워크 피스 간의 매칭 부분이고, 디파팅(departing) 컬러들은 가능한 결함을 나타낸다. 결함 여부가 불투명한 부분은 ‘분석 중’이라는 뜻의 검은색으로 표시되고(후보군), 흰색으로 나타나는 부분은 ‘구멍’ 같은 결함을 보여준다(후보군). 정의된 밀도와 차이를 보이는 부분은 결함으로 분류되고 이는 임계 값에 의해 검출된다. 레이저로 이런 부분을 조사하여 결함을 제거한 후, 후속 컬러 필터의 수정 작업으로 잉크를 사용하여 제거된 부분이 보정된다. 로봇은 레이저 조사 위치에 대한 정보를 받고, 잉크 애플리케이션은 결점 검출 작업 중 즉시 자동으로 진행된다.
•FPD RGB 컬러필터 컬러 측정
FPD의 주요 구성요소 중 하나인 컬러필터는 디스플레이의 품질에 직접적인 영향을 미친다. 따라서 컬러 필터 검사는 RGB 색상 품질 평가와 디스플레이 표준화에 매우 중요한 것이다. 컬러 검사는 각 RGB(레드-그린-블루) 채널 강도를 추출한다. 고속 라인 카메라는 컬러 필터 판을 통해 전달된 빛을 감지하여, 표준화된 평가가 가능하며 컬러 필터 분석을 진행한다. 수집된 데이터는 L*a*b 색도 산출과 결함 정량화에 사용된다. 고속 검사 장비가 필요하며, 이는 실시간으로 색도를 산출하는 데 필수적 이다.
•LCD 포토 스페이서 검사
RGB 컬러 필터 어레이는 유리 기판에 직접 설치되며 영상 정보에 따라 컬러 정보를 필터링하는 데 사용되므로, 다른 방식의 유리 표면 비접촉 측정이 필요하다. 포토 스페이서는 RGB 컬러 필터 유리와 광변조 소자를 구분하는 데 사용되며, 디스플레이의 색 불균일을 제거한다. 또한 외압에 의한 변형을 줄이기 위해 균일하게 형성되어야 한다. 현재 검사와 위치 결정에 고배율 렌즈가 3D 측정을 실행한다. 데이터 이진화는 후속 측정 결과에서 범프를 분리하는 데 사용되며, 사이클 시간을 충족하기 위해, 온 보드 3D 측정이 필요하다.
자료제공 | 다트비젼(www.datvision.co.kr)











