Summary
Overview
Work History
Education
Skills
Timeline
Generic

Danny (Yuanli) Ding

Toronto,ON

Summary

Dynamic software engineer with a proven track record at Altera, specializing in digital logic design. Passionate about parallel programming. Skilled in turning high-level algorithm into low-level code for hardware acceleration. Proficient in testing and debugging, with a strong focus on technical analysis and documentation to drive project success.

Overview

7
7
years of professional experience

Work History

FPGA IP Software Engineer (Grade 6)

Altera
10.2023 - Current

Next-generation Altera FPGA Memory Subsystem IP

  • Implemented a logical-to-physical address mapping algorithm in Tcl that optimizes overall read/write efficiencies across all user applications and minimizes logical address holes based on next-gen Altera FPGA Network-on-Chip (NoC) architecture.
  • Enabling memory subsystem example design and regression testing.

Agilex 7 M-Series NoC user flow enablement for High Bandwidth Memory (HBM2E) IP

  • Enabled HPS to read and write HBM through NoC.
  • Enabled programmable access privilege through target network interface units to protect HBM memory space.
  • Exposed user access to NoC hardware performance monitors.


FPGA IP Software Engineer (Grade 5)

Altera
07.2021 - 09.2023

Agilex 7 F/I-Series Lookup IPs bug fixes, optimizations and test support

  • Improved BCAM hashing algorithm to resolve hash collisions. The insertion failure rate is reduced from ~2% to 0% over 1000 simulation tests with 4,000,000 insertions in total.
  • Updated TCAM lookup table depth parameterization, which reduces M20K usage by 50% on average for all the user configurations.
  • Enabled EM-MBL simulation, timing and hardware tests with dual in-line DDR4s.
  • Implemented an AXI traffic generator in Verilog that drives configurable patterns of management and search operations to Lookup IPs.


Software Engineer Intern

Intel
05.2019 - 08.2020

FPGA Acceleration Library

  • Owned Level 1 BLAS primitives.
  • Optimized a Gaussian Elimination linear system solver through batch-interleaving and systolic array implementations respectively for large and small matrices in OpenCL. Achieved a throughput increase of 80 times on average compared to the original implementations on Arria 10.
  • Owned 100+ Statistic primitives that perform various data analysis in C++ HLS. Achieved a throughput increase of ~1.5 times on average compared to the original implementations on Arria 10.


ISML 3D Camera Research Assistant

University of Toronto, St. George Campus
05.2018 - 08.2018

Implemented a DDR3 memory controller in Verilog on Xilinx Vertex-7 to store pixel data from the camera.

Education

Master of Engineering - Computer Engineering

University of Toronto, St. George Campus
Toronto, ON
03-2024

Bachelor of Applied Science - Computer Engineering

University of Toronto, St. George Campus
Toronto
06-2021

Skills

  • Algorithm implementation
  • Programming languages (C, C, Python, JavaScript, MATLAB, OpenCL, C HLS)
  • Digital logic design (Verilog, SystemVerilog)
  • Testing and debugging
  • Technical analysis
  • Technical documentation

Timeline

FPGA IP Software Engineer (Grade 6)

Altera
10.2023 - Current

FPGA IP Software Engineer (Grade 5)

Altera
07.2021 - 09.2023

Software Engineer Intern

Intel
05.2019 - 08.2020

ISML 3D Camera Research Assistant

University of Toronto, St. George Campus
05.2018 - 08.2018

Master of Engineering - Computer Engineering

University of Toronto, St. George Campus

Bachelor of Applied Science - Computer Engineering

University of Toronto, St. George Campus
Danny (Yuanli) Ding