View : 471 Download: 0

Run-Time Reconfigurable System-on-Chip Platform with Programmable Resource Management

Title
Run-Time Reconfigurable System-on-Chip Platform with Programmable Resource Management
Authors
김소현
Issue Date
2022
Department/Major
대학원 전자전기공학과
Publisher
이화여자대학교 대학원
Degree
Master
Advisors
김지훈
Abstract
Field programmable gate array (FPGA) is reconfigurable hardware that can implement the desired digital system function by configuring the configurable logic block (CLB), which is an element where logic can be implemented, and the routing elements that connect CLBs. An embedded FPGA (eFPGA) is an integrated FPGA inside a System-on-Chip (SoC). Recently, as the complexity of the application increases, eFPGA integrated SoC that can be reconfigured with hardware optimized for computing requirements is highlighted. However, the long reconfiguration time that is inevitable during reconfiguration to the desired hardware during run-time is a problem in utilizing eFPGA. Frame-based configuration circuitry, which is used to reconfigure eFPGA, can shorten reconfiguration time because the region requiring reconfiguration can be directly accessed through frame address. Moreover, frame-based circuitry makes partial reconfiguration possible. Partial reconfiguration only reconfigures a specific partial region, so the size of the bitstream to be prepared is less than the bitstream for the entire eFPGA fabric area. Thus, it has the advantage of shortening the reconfiguration time and being able to operate independent tasks at the same time. It doesn't affect the hardware of other areas being executed. However, as several partial regions exist, if there is no manager which distributes finite eFPGA resources such as CLB for the tasks that require them, the eFPGA resource cannot be utilized efficiently, resulting in a low utilization rate and performance degradation. In this paper, we propose a run-time reconfigurable SoC platform with frame-based eFPGA that is created using open-source tools. In the proposed SoC platform, eFPGA can be reconfigured during operation time by utilizing an application CPU core and eFPGA configuration RISC processor (FCRP) that reconfigures eFPGA. In addition, we propose programmable resource management that is executed in the application CPU core. By implementing the resource management of partial regions programmatically in software, the tasks to be performed during the execution time can be scheduled according to the eFPGA resource status and resource allocation can be performed efficiently. As resource management is programmable, the user can modify and update eFPGA resource management strategy according to the characteristics of various application domains. A possible run-time reconfiguration scenario was simulated with a resource management software program. The proposed shortest load first + max utilization scheduling achieved high average utilization in all three scenarios. Compared to the baseline FIFO scheduling, utilization improved on average by 40.14% and up to 83.11%. Also, compared to baseline scheduling, total operation time was shortened by an average of 7.4-time steps and a maximum of 10-time steps.;FPGA(Field Programmable Gate Array)는 로직을 구현할 수 있는 영역인 CLB(Configurable Logic Block)와 이들을 연결해주는 라우팅 요소들을 재구성 메모리를 통해 설정해줌으로써 원하는 디지털 시스템의 기능을 구현할 수 있는 재구성(reconfiguration)이 가능한 하드웨어이다. 이러한 재구성 가능한 특징을 가진 FPGA를 SoC(System-on-Chip) 내부에 집적한 것이 임베디드 FPGA(eFPGA)이다. 최근 어플리케이션의 복잡도가 증가함에 따라 함께 증가된 컴퓨팅 요구사항에 최적화된 하드웨어로 재구성할 수 있는 eFPGA를 포함한 SoC에 대한 관심이 높아지고 있다. 하지만 실행시간(Run-Time) 동안 원하는 하드웨어로 재구성하는 사이에 발생하는 긴 재구성 시간이 eFPGA를 활용하는 것에 있어 문제가 되고 있다. eFPGA를 재구성할 때 사용되는 재구성 메모리(Configuration Memory)의 한 종류인 프레임 기반(Frame-based)재구성 메모리는 재구성이 필요한 영역에 주소를 통해 바로 접근할 수 있기 때문에 재구성 시간을 단축할 수 있다. 프레임 기반 재구성 메모리를 사용하면 부분 재구성(Partial Reconfiguration)도 가능하다. 부분 재구성은 부분 영역(Partial Region)만을 재구성하면 되므로 준비해야하는 비트스트림의 용량이 전체 eFPGA 영역을 재구성하기 위한 비트스트림보다 적어 재구성 시간을 단축할 수 있다는 장점과, 실행되고 있는 다른 영역의 하드웨어에 영향을 주지 않아 독립된 작업들을 동시에 실행할 수 있다는 장점이 있다. 하지만 다수의 부분 영역이 생기게 됨에 따라 이를 요구하는 작업에 CLB와 같은 유한한 eFPGA 자원(Resource)을 분배하는 관리자가 없다면, eFPGA의 자원 활용을 효율적으로 할 수 없어 활용률이 낮아지는 문제가 발생한다. 본 논문에서는 오픈소스 툴을 활용하여 생성한 프레임 기반 eFPGA를 활용하여 실행시간 동안 재구성할 수 있는 SoC 플랫폼을 제안한다. 제안하는 SoC 플랫폼에서 어플리케이션 CPU 코어와 eFPGA를 재구성하는 프로세서(eFPGA Configuration RISC Processor, FCRP)를 활용하여 실행 시간 동안 eFPGA를 재구성할 수 있다. 또한, 어플리케이션 CPU 코어에서 실행되는 프로그래밍 가능한 형식인 자원 관리(Programmable Resource Management)를 제안한다. eFPGA의 재구성 해야하는 부분 영역에 대한 자원 관리를 소프트웨어로 프로그램 가능하게 구현함으로써 실행시간 동안 수행해야하는 작업을 eFPGA 자원 상태에 맞추어 스케줄링 하며 자원 분배를 효율적으로 수행할 수 있다. 자원 관리가 프로그램 가능함에 따라 다양한 어플리케이션 도메인에서 사용할 수 있는 eFPGA 특성에 맞추어 자원 관리 알고리즘을 사용자가 수정할 수 있다. 자원 관리 소프트웨어 프로그램으로 발생 가능한 운용시나리오에 대해서 시뮬레이션 하였다. 제안된 shortest load first + max utilization scheduling은 세 가지 시나리오에서 모두 높은 평균 utilization을 달성했다. Baseline scheduling인 FIFO scheduling 대비 utilization이 평균 40.14% 향상되었으며, 최대 83.11% 향상되었다. 또한 baseline 대비 run-time을 평균 7.4 time step, 최대 10 time step을 단축하였다.
Fulltext
Show the fulltext
Appears in Collections:
일반대학원 > 전자전기공학과 > Theses_Master
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

BROWSE