과학연구

FPGA에 의한 매몰형체계설계

 2018.11.13.

경애하는 김정은동지께서는 다음과 같이 말씀하시였다.

《현시대는 과학기술로 발전하고 과학기술에 의거하여 살아나가는 시대입니다. 지식경제시대인 오늘 과학기술은 모든 부문의 발전을 추동하는 기본요인입니다. 과학기술이자 곧 생산이고 경제발전입니다.》

과학기술은 오늘의 만리마속도창조대전에서 나라의 전면적부흥을 앞당겨나갈수 있게 하는 위력한 무기이다. 우리는 자력갱생의 혁명정신과 과학기술을 원동력으로 하여 만리마속도창조대전에서 끊임없는 집단적혁신을 일으켜나감으로써 사회주의강국건설의 모든 전선에서 새로운 승리를 쟁취해나가야 한다.

1. 매몰형체계설계에서 문제점

현장조종체계로부터 가정용전기제품에 이르기까지 모든 전자장치들은 현재 매몰형체계로 실현되고있다.

매몰형체계는 전용목적콤퓨터체계로서 목적하는 대상의 조종만을 제한하여 실현하는 체계이다. 이런것으로 하여 현장에서의 말단수감부들에 지난 시기와는 달리 조종기에 의한 수감부조종을 진행하여 그 결과를 처리하여 상위콤퓨터에 전송하고 또한 상위콤퓨터로부터의 여러가지 지령들을 받아 말단수감부체계에 대한 조종을 실현한다.

이때 조종기는 한소편콤퓨터가 많이 리용되였다.

그런데 한소편콤퓨터인 경우에는 출하당시 한소편콤퓨터의 구성과 성능이 고정된것으로 하여 수감부체계의 장치기판을 다시 제작하여 설치하는 등의 작업이 제기되게 된다. 이것은 체계의 갱신주기와 성능, 가격사이에 불일치가 조성되게 하는 피할수 없는 결과가 나타나게 된다.

이로부터 현재는 대규모프로그람론리장치 FPGA를 리용하여 매몰형체계를 구축하는 방향으로 나가고있다.

2. FPGA를 리용한 매몰형체계설계방법

FPGA를 리용한 매몰형체계설계는 크게 두가지로 나누어볼수 있다.

한가지는 FPGA의 론리자원을 리용하여 하나의 콤퓨터체계를 설계하고 그에 기초하여 대상조종체계를 설계하는 방법이고 다른 하나는 FPGA에 내장된 HPS를 리용하여 조종체계를 설계하는 방법이다.

어느 방법을 쓰는가 하는것은 대상조종체계의 성능을 비롯한 체계설계요구에 많이 관계된다.

우리는 화상처리를 진행하는 매몰형체계를 구축하는데 맞게 HPS가 내장된 FPGA를 리용하여 체계를 구성하였다.

리용된 FPGA는 Cyclon V SoC FPGA계렬로서 Dual Core ARM처리기와 체계내 Flash ROM과 SDFRAM대면부, 그리고 주변결합장치들인 병렬입출력주변장치, 직렬입출력주변장치, 시계장치들로 이루어진 콤퓨터체계가 내장되여있다.

HPS에 기초한 체계구축에서는 크게 2가지 문제가 제기된다. 하나는 장치체계를 구성하는 문제이며 다른 하나는 프로그람을 설계하는 문제이다.

장치체계설계에서는 HPS체계와 FPGA의 론리자원을 리용한 주변장치조종과 관련된 론리장치를 설계한다. 이때 FPGA개발환경 Quartus Prime 16.0을 리용하였다.

이 개발환경에서 2가지 설계를 진행한다. 즉 HPS의 조종대상으로 되는 론리장치를 장치서술언어 VHDL로 설계하고 이 장치를 조종하는 콤퓨터체계를 Qsys에서 설계한다. 결과 HPS와 FPGA론리자원으로 실현되는 장치의 결합으로 이루어진 하나의 옹근 콤퓨터체계가 설계된다. 설계된 체계를 Quartus Prime 16.0에서 콤파일하면 FPGA에 적재할 SOF화일이 생성된다. 이 SOF화일을 FPGA에 내리적재하면 콤퓨터장치체계가 구축되게 된다.

다음 eclipse개발환경을 리용하여 프로그람설계를 진행한다. HPS체계에서는 리눅스체계를 리용하므로 프로그람개발은 eclipse가 제공하는 콤파일러를 리용하여 진행한다. 여기서 생성된 ELF화일은 장치체계가 구축된 FPGA에서 실행될 프로그람화일이다.

이에 기초하여 장치화일과 프로그람화일을 FPGA에 내리적재한다.

체계동작은 리눅스부트기억카드에 의하여 리눅스가 기동된 다음 설계된 내용에 따라 동작하게 된다.

우리는 이와 같은 설계방법에 기초하여 화상처리체계를 실현하였다.

현재 FPGA들은 HPS가 내장되여있든 내장되지 않았든 관계없이 론리자원규모가 비할바없이 커지고있다. 그런것으로 하여 FPGA를 리용한 매몰형체계가 지난 시기의 16bit콤퓨터의 성능이상의 성능을 내고있다.