Accomplished ASIC Engineer with extensive experience at Meta, specializing in System Verilog UVM and verification of complex subsystems. Proven track record in achieving 100% functional coverage through innovative testbench designs and mentoring junior engineers. Strong collaboration skills enhance cross-functional teamwork, driving projects to successful closure while utilizing advanced simulation tools.
MTIA is an inference accelerator that is meant to handle all of Meta's internal AI workloads. I worked on the messaging engine subsystem that carried out collectives in a performant manner. The architecture supports parallel execution of collective operations using multiple resources like NICs, CPU-M, sub-graph manager, and NMC. HCCL divides operations into SubGraphs for efficient resource utilization.
Full ownership of Transmit queue manager block. Built a constrained random UVM test bench from scratch in a reusable manner so as to be included in top-level verification. Interacted with cross-functional members from architecture, design and driver teams to bring the block to closure. Coordinated with other DV block owners on common components.
Mentored junior engineers in DV activities
Register layer automation scripts in python
Owned 3 blocks within the video encoder pipeline: Deblocking filter, Integer Motion Estimation, Command DMA. Drove them to closure. Worked on AXI and AHB interface BFM.
Built a random stimulus generator using SV constraints to generate random motion vectors which were used by multiple blocks in the pipeline for coverage closure.
Test plan creation, test writing, results and coverage tracking. Enabled a team in Penang to reuse our tests + testbench for verifying the above features on 10G/25G, hence saving 6-8 weeks of effort.
This feature changes the previous static speeds and mode to dynamically switch between speeds: 100G, 25G, 10G and modes: full stack (MAC+PCS), PCS only, OTN, FLEXE. We scaled our existing bench to work for multi-channel architecture hence reusing existing tests.
The Data Access Layer within the Saas FPGA handles posting list access requests from higher layers and fetches corresponding index from a memory hierarchy that is composed of on-chip RAM, on board DDR and host memory. In previous versions, verification stimulus was a simple playback of query files. I helped with the generation of synthetic stimulus data in the form of a system verilog library for verifying the system. This helped in achieving 100% code and functional coverage by testing all possible corner cases.
Verified IEEE 802.3 clause 3 - Ethernet MAC layer involving frame packaging and processing along with several custom features. Register readable MAC statistics were functionally verified.
Responsible for verification of the highly complex receive classifier that would preprocess the frames and extract useful information that would be used by the GCM-AES core.
Verified from testplan to coverage closure: 32G and 16G fibre channel using 64b/66b transmission word format and 8G, 4G and 2G fibre channel 8b/10b transmission word format.
Advanced diploma in RTOS and Embedded Systems 6/2009 - 12/2009
Assembly and Embedded C Programming on AVR Atmega128 and ARM 7 LPC2148.
Communication protocols: RS-232, I2C, and SPI), Data Structures, RTOS Porting.
Application Development using uC-OS II.
Embedded Linux Programming and Application Development such as ‘chat' applications, primary and backup server using socket programming.