1 / 16

Porting BORPH to ROACH

Porting BORPH to ROACH. Brandon Hamilton Department of Electrical Engineering University of Cape Town. Porting B erkeley O perating System for R e P rogrammable H ardware to R econfigurable O pen A rchitecture C omputing H ardware. Brandon Hamilton

arav
Download Presentation

Porting BORPH to ROACH

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Porting BORPH to ROACH Brandon Hamilton Department of Electrical Engineering University of Cape Town

  2. Porting Berkeley Operating System for ReProgrammableHardwareto Reconfigurable Open Architecture Computing Hardware Brandon Hamilton Department of Electrical Engineering University of Cape Town

  3. Unix Process Model • Hardware processes • Executing instance of gateware • Analogous to familiar Software process • Active control • Process management (fork/exec, process id, signals/interrupts, hierarchy) • User space (multiuser, application specific, system calls) • Logical representation • Abstraction

  4. Hardware/Software Interface

  5. Portability • Originally implemented on BEE2 • Linux 2.4 • Running on Control FPGA (Embedded Processor) • Portability • Separate architecture-dependant code from generic code • Latest Linux (2.6) kernel • CASPER Simulink library

  6. BORPH BORPH Hardware Interface Binary File Handler (BOF) IOREG (proc filesystem) Execution Threads Linux Kernel

  7. Architecture-Dependent Code • configure • unconfigure • reserve_hwr • release_hwr • get_buffer • put_buffer • send_buffer • receive_buffer Architecture-Dependent kernel code Architecture-Independent kernel code Function pointers

  8. Architecture-Dependent Code • configure • handles the reconfiguration of the hardware region (FPGA) • receives the configuration data file extracted from a BOF file and is responsible for transferring that to setup the FPGA • unconfigure • called when a hardware process is terminated • responsible for unconfiguring the FPGA

  9. Architecture-Dependent Code • reserve_hwr • identify an available hardware region that will execute the current hardware process • release_hwr • called to release a hardware region, making it available for future use

  10. Architecture-Dependent Code • get_buffer • returns a pointer to a buffer that will be used for data transfer • put_buffer • deallocatethe data buffer obtained in get_buffer • send_buffer • initiates a transfer of data to the FPGA • recv_buffer • initiates a transfer from data to the FPGA

  11. Hardware Processes Execution Binary file handler Execution thread (bkexecd) Architecture-dependent Only on BEE2

  12. Hardware Processes Interaction

  13. BEE2 to ROACH ROACH BEE2

  14. BORPH on ROACH • Only one HWR (FPGA) • No need for scheduling • EBC Bus • Direct memory-mapped communication instead of packet-based messages • Dedicated PowerPC EPX440 processor • No need to configure embedded FPGA processor (= improved performance) • No OS support for Hardware Processes • Simulinktoolflow • Gateware changes

  15. BORPH on ______ • Implement architecture dependant code • 8 functions • Design toolflow integration • mkbof(bitfile + user defined hardware registers)

  16. Thank you References • H. K.-H. So and R. Brodersen, "A Unified Hardware/Software Runtime Environment for FPGA-Based Reconfigurable Computers using BORPH," ACM Transactions on Embedded Computing Systems (TECS), Volume 7, Issue 2, Feb, 2008, New York, NY, USA. • H. K.-H. So, "Runtime Filesystem Support for Reconfigurable FPGA Hardware Processes in BORPH," In Proceedings of the Sixteenth Annual IEEE Symposium on Field-Programmable Custom Computing Machine, Apr. 2008.

More Related