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]