Automated Gateware DiscoveryUsing
Open FirmwareA presentation on my part time MSc research that aims to
lay foundation forautomating gateware detection.
Shanly RajanEmbedded Systems Engineer, SKA SA
Masters Student, UCTSKA SA Post-graduate Bursary Conference
1st DECEMBER 2010
Modular Hardware
ROACH RHINOFPGA
(Reconfigurable Open Architecture Computing Hardware)
(Reconfigurable Hardware Interface for computiNg andradiO)
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
G A T E W A R E
Recent OS for FPGAs
2002
2004
2006
2008 2009
1994
BORPH OSGATOSFOCA
Virtual Hardware Operating System for Xilinx XC6002
VPOSReconOSFDT for FreeBSDFDT for ROACH
Unified HW/SW OS for PRFPGA systems
OS for ReconfigurableEmbedded Platforms
Research Issues in OS for reconfigurable computing
OF
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
ROACHOpen Firmware Power PC
Bootloader: Uboot Denx Linux Kernel
(Supported bootloader and kernels)
Hardware CPUTechnology
Research Design
PluggablePeripherals
GatewareImages
Device Tree
Add Me?
U-boot Open Firmware
Can be treated
LinuxKernel
Device Database Extension
Device Drivers
Device Drivers
Can be represented
Traditional Method
OF Device Tree Model
root
platform
uart
bridge
spi
i2c bus
temp
pci bus
ethernet
platform_bus_type
i2c_bus_type
pci_bus_type
Drivers registeredagainst bus types
Tree with nodes & propertiesNodes give structureProperties add detail
Open Firmware Implementation
Data Capture
EthernetSerialroot{ ……………….. Ethernet Serial Data Capture ........……….. ……………… ………………}
Uboot OF Bootloader Linux OFGateware Implementations
OF Client Interface Calls
Bit stream + Meta-information file dts dtb
DEVICE DRIVER
DEVICE TREE EXTENSION
Serial UART driverEthernet driver
Sound driver
Serial UART example
FPGA
Uartlite Serial bit
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>; };
Uartlite Driver
DESCRIPTION INVOKES MATCH
OPERATES
DEVICE DRIVER
SERIAL DEVICE
EXTENDING DEVICE TREES
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 Once fully implemented can be integrated in
meerKAT digital backend software which leads to an improved performance system.
ALTERNATIVE APPROACH CONSIDERED(EXTENDING DEVICE TREES)