-
FPGA Designer
Fidus Systems, Waterloo, Ontario
April 2015 – Present
- High resolution video processing FPGA development including Camera Processing and video I/O interfaces
- Testbench development, including BFM design, to meet code coverage targets
- Various video interfaces, including DisplayPort, 12G SDI, LVDS, MIPI CSI/DSI and BT.656
- Video processing algorithm implementation with Vivado HLS
- Interfacing with software teams to define requirements and interfaces
-
Staff Design Engineer
Nuvation Research Corp., Waterloo, Ontario
May 2013 – Mar. 2015
- Responsible for FPGA design, implementation, verification and testing
- Designed FPGA based high-speed data capture system with Serial RapidIO interface
- Architected and implemented software for industrial control system with multiple Xilinx Microblaze CPUs
- Designed high-speed, latency sensitive FPGA for semiconductor R&D application
- Created self-checking and self-reporting testbench systems for both Verilog and VHDL
-
Staff Design Engineer
Nuvation Research Corp., Waterloo, Ontario and San Jose, California
Aug. – Dec. 2011, Aug. – Dec. 2012
- FPGA and system level bring-up of developmental hardware
- Developed FPGA based processing and control system for 1080p CCD video camera
- Designed alternative video retiming system to eliminate external frame-buffer memory
- Schematic level design and bring-up for CCD image sensor board
- Developed camera system software, including CCD timing control programming
-
Design Engineer
Avvasi Inc., Waterloo, Ontario
Jan. – Apr. 2011
- Performed power and signal integrity simulations for board featuring PCI Express and 10GbE
- Developed and simulated Verilog logic for FPGAs and CPLDs
- Performed detailed design for platform management hardware using mixed-signal FPGA
- Schematic entry for complex, high-density board including PCI Express, DDR3 and 10GbE
-
Embedded Designer
Harris Corporation (Broadcast Communications Division), Toronto, Ontario
Sept. – Dec. 2009, May – Aug. 2010
- Designed and implemented resource allocation and control code for distributed DSP system
- Created multiple systems using MicroBlaze processors in performance-sensitive situations
- Developed Linux kernel driver allowing access to custom hardware