Ben Lancaster

RISC, SoCs, Embedded Systems

England, United Kingdom


[email protected]

linkedin.com/in/bendl

github.com/bendl


Contact

Download CV

Blog

Experience

Graduate Hardware Engineer

ARM — United Kingdom — September 2019-present

Firmware Engineer Placement

Spirent Communications PLC — United Kingdom — 2016-2017 (16 Months)

  • Linux USB and PCIe kernel driver development.
  • Embedded programming on Xilinx MicroBlaze FPGAs and PIC16/24 microcontrollers.
  • Implemented on-chip power levelling and calibration for GNSS RF signal generators.
  • Controlling on-board fans, LEDs, EEPROM, and other peripherals with I2C and SMBus.
  • Configuring, building, and maintaining Embedded Linux distributions using Yocto.

Education

MSc(Eng) Embedded Systems Engineering

University of Leeds — United Kingdom — 2018-2019 (Current)

  • Final Project: Multi-core SoC Design and Implementation for FPGAs
  • Digital Signal Processing for Communications
  • FPGA Design for System-on-Chip
  • Embedded Microprocessor System Design
  • Medical Electronics and E-Health
  • Secure Hardware Design

BSc (Hons) Computer Science

University of Plymouth — United Kingdom — 2014-2018

  • First Class Honours with Certificate of Professional Industrial Experience
  • Awards: Top Final Student in Computing & Best Final Project
  • Revell Research Systems Prize Winner
  • Final Project: FPGA-based 16-bit RISC Processor Design
  • Courses include: Digital Electronics, Embedded Systems and Compilers, Machine Vision, Computation Theory

Open Source Projects

Multi-core RISC SoC for FPGAs

bendl/vmicro16

Multi-core RISC SoC with various peripherals including: watchdogs, timer interrupts, GPIO, UART, and more.

FPGA 16-bit Embedded Processor

bendl/prco304/prco_core

16-bit RISC processor design and implementation for Xilinx Spartan-6 FPGAs featuring pipelining, on-chip memory, GPIO, and UART modules.

Arm Cortex M0 Processor Board

bendl/armm0

A 2-layer board for the Minispartan6+ FPGA development kit. Features an STM32F0 TSSOP processor, mutliple power supplies, I2C, ICSP, and LEDs.

FPGA and JTAG Development Board

bendl/osc1

PCB board for the FT2232H Mini Module and TinyFPGA AX2 for testing JTAG and I2C implementations.

CFG Compiler and Assembler

bendl/prco304/prco_compiler

Compiler and assembler for the PRCO embedded processor. Features simple optimisations including constant folding and unreachable code elimination.

Parallel GPU/CUDA DFT Implementation

bendl/soft354

Designed, implemented, and evaluated a parallel implementation of the Discrete Fourier Transform.

Read the methodology and results here.

And more on Github...

Contributions

Gravity Programming Language

marcobambini/gravity — 2.3k stars

A dynamic object-oriented programming language, compiler, and virtual machine, implemented in C.

Skills

Verilog, SystemVerilog, Formal verification, UVM, AMBA, FPGA

Publications