Automated Gateware Discovery Using Open Firmware

Download Report

Transcript Automated Gateware Discovery Using Open Firmware

Automated Gateware Discovery
Using
Open Firmware
A presentation on my part time MSc research that aims to
lay foundation for
automating gateware detection.
Shanly Rajan
Embedded Systems Engineer, SKA SA
Masters Student, UCT
SKA SA Post-graduate Bursary Conference
1st DECEMBER 2010
Modular Hardware
(Reconfigurable
Open Architecture
Computing Hardware)
(Reconfigurable
Hardware Interface
for computiNg and
radiO)
What is an FPGA?
 FPGAs are programmable logic
elements – bread-boards on a chip
that can have their circuits reconfigured
to perform specific tasks very efficiently
 FPGAs can be reconfigured
many times with different function
 FPGA needs to be programmed with
hardware logic to make it meaningful
Modular Gateware
 Each gateware design implementation/instrument requires software support
 Changing personalities on FPGA require software to be written each time
 Investigation on a mechanism that facilitates the process of gateware detection
Recent OS for FPGAs
Unified HW/SW OS
for PRFPGA systems
2009
2008
OS for Reconfigurable
Embedded Platforms
2004
Research Issues in OS
for reconfigurable computing
2006
BORPH OS
GATOS
FOCA
2002
1994
Virtual Hardware Operating System for Xilinx XC6002
OF
VPOS
ReconOS
FDT for FreeBSD
FDT for ROACH
Open Firmware


Open Firmware : Hardware Independent Boot Code

Boot Time Drivers for testing machine hardware

Building Device Trees which OS later uses
Device Tree : Data Structure that holds information about the set of devices
attached to the system, including permanently installed devices and plug-in
devices, as described by an Open Firmware.
A FDT:
•
Data structure for describing
hardware
•
Passed to kernel at boot-time
•
Alternative to hard-coded
platform details
Implementation Choices
Open Firmware
ROACH
Power PC
Bootloader: Uboot
Denx Linux Kernel
(Supported bootloader and kernels)
Research Design
Pluggable
Peripherals
U-boot Open
Firmware
Linux
Kernel
Device Tree
Can be treated
Add Me?
Can be
represented
Gateware
Device Database
Images
Extension
Traditional
Method
OF Device Tree Model
root
platform
spi
Tree with nodes & properties
Nodes give structure
Properties add detail
bridge
Drivers registered
against bus types
uart
i2c bus
temp
platform_bus_type
pci bus
ethernet
i2c_bus_type
pci_bus_type
Open Firmware Implementation
Gateware Implementations
Uboot OF Bootloader
root
{
………………..
Ethernet
Serial
Data Capture
........………..
………………
………………
}
Ethernet
Data Capture
Serial
Bit stream + Meta-information file
dts
Linux OF
DEVICE DRIVER
Serial UART driver
Ethernet driver
Sound driver
OF Client
Interface Calls
DEVICE TREE
EXTENSION
dtb
Serial UART example
SERIAL DEVICE
DEVICE DRIVER
Uartlite Serial bit
OPERATES
Uartlite Driver
FPGA
DESCRIPTION
FPGAV5 : serial@d0010000{
device_type = "serial";
compatible = "xlnx,opb-uartlite-1.00.b";
reg = <0xd0010000 10000>;
current-speed = <115200>;
clock-frequency = <66666666>;
xlnx,data-bits = <8>;
xlnx,odd-parity = <0>;
xlnx,use-parity = <0>;
};
EXTENDING DEVICE TREES
INVOKES MATCH
Treating katADC as a soundcard
• Current Status
Aiming to record and playback ADC data
captured into BRAMS with a modified
sound device driver and utilize sound
analysis tools for visualization and
playback.
• Future Work
– A mkfdt utility that converts FPGA
bit stream and meta information into
the required flattened device tree
format.
– Hot Pluggability
– Adding device drivers specific to radio
astronomy.
Conclusion

Open Firmware

U-boot Open Firmware

OF design and implementation for ROACH

ALTERNATIVE APPROACH CONSIDERED
(EXTENDING DEVICE TREES)
Once fully implemented can be integrated in
meerKAT digital backend software which leads to an
improved performance system.
Questions
•q
email : [email protected]