Ayan Ali
github /
linkedin /
email
I am a second year student at the University of Toronto studying Electrical and Computer
Engineering. I am keenly interested in ASIC design, VLSI, CPU architecture, FPGA development,
hardware acceleration, embedded system design, custom compilers, and high-performance computing
architectures.
Website last updated: Loading...
Recently, I have been working on a custom Vulkan-based voxel game engine; the foundation of a design
team at the University of Toronto that is producing aircraft that have an endurance of greater than
three days; a custom 3D-printer that requires no structure scaling in larger print volumes by SCARA
cable-driven robotics; and custom silicon that aims to multiply matrices at high speed for use in
Analog-Computing-adjacent applications.
I have also been working on completely FPGA-based low-resource raycasting engine that aims to allow a
microcontroller system to render 3D graphics at high speeds without dramatically increasing cost. This
has recently been extended to a raytracing engine.
Updates
BareMetal Logic v45 has beeen released! This version contains a new oscilliscope, huge simulation speed increases, generalized UI, a huge number of QoL improvements, vastly improved 3D viewer performance, and much more! A
devlog has been written to go over the changes in detail.
OCPU is a CISC CPU that will be placed adjacent to a small FPGA for offboard memory control via a custom paging protocol. The CPU is currently being taped-out, should have my hands on it by December 2026 and will be placed on a custom PCB for testing. More information can be found
here, as well as in the
GDS viewer.
The 3D Map project for ECE297 has been completed! ECE297 is a course that focuses on designing a 2D mapping software that displays OSM data from start to finish. Alongside this, I extended my map by adding a
3D viewer component that involved the use of OpenGL, GLM, a custom shaders in GLSL for things like tree billboarding, instancing, and smooth shading.
The NiosV real-time operating system project has been completed as well as a
write-up! The RTOS contains GBasic, a custom
BASIC programming set extended to support a range of additional features such as terminal writes and graphics processing which meshes with the onboard FPU and custom GPU designed for accelerating rasterization workloads.
Rayforge is a fully hardware-based raytracer that has won Honorable Mention at the UofT IEEE
ASIC Hackathon! The raytracer current supports a dynamic set of Q16.16 lights and spheres.
We have released the codebase into the
public domain, we have also prepared a short
writeup with presentation slides. We have also released a
tool that you can use to quickly
make new scenes.
The
initial release of
BareMetal Logic has been made! BareMetal Logic is a sandbox pixel-based digital logic
simulator that is designed to be as true-to-life as possible whilst circumventing the
oddities of real semiconductor development. Build, program, debug, and simulate anything
from simple transistor circuits to early x86 computers at millions of TPS!
The
FPGAScope project
has been completed! The FPGAScope is a fully-hardware based 4-channel
oscilloscope, 24KSPS/channel, 2.5V maximum amplitude. A generalized
Verilator
bench was
designed for
quick development
. It also
contains trigger controls and live-readouts for waveform parameters and adjustable
timebases
and voltage scales.