Anuj Bhattacharya Senior FPGA Engineer
Santa Clara, CA • anuj.bhattacharya@gmail.com • +1 408-555-0153
Profile Summary
- Senior FPGA Engineer with 9 years of experience designing low-latency networking FPGAs at a network switch maker and a SmartNIC company, focused on RTL design, verification and timing closure for trading and data center customers.
- Hands-on with HDLs (SystemVerilog, VHDL), FPGA tools (AMD Vivado, Quartus Prime), verification (UVM, QuestaSim), interfaces (PCIe Gen4, 25G Ethernet) and SoC devices such as Zynq UltraScale+.
- Deep experience in nanosecond-latency pipelines, multi-clock CDC design, high-speed transceiver bring-up and HLS acceleration, using coverage-driven verification and CDC sign-off on every release to ship bitstreams that work on the first board build.
- Works closely with hardware, firmware, ASIC and product teams in a release train with quarterly bitstream drops, from architecture reviews and register map sign-off to lab bring-up.
- Coaches junior engineers on timing closure and UVM testbench design, runs the weekly RTL design review, and wrote the team’s SystemVerilog coding guide.
Technical Skills
- HDLs & Scripting:
- SystemVerilog, VHDL, Verilog, Tcl, Python, C++
- FPGA Tools & Devices:
- AMD Vivado, Quartus Prime, Virtex UltraScale+, Zynq UltraScale+, Versal, Agilex 7
- Verification Tools:
- UVM, QuestaSim, SystemVerilog Assertions, cocotb, Verilator, JasperGold
- Timing & CDC Tools:
- Static timing analysis, XDC/SDC constraints, Pblock floorplanning, SpyGlass CDC, Questa CDC
- Interfaces & Protocols:
- AXI4, PCIe Gen4, 25G Ethernet, 100G Ethernet, DDR4, JESD204C, GTY transceivers
- DSP & HLS:
- Vitis HLS, MATLAB, Simulink, HDL Coder, DSP48E2 slices
- Embedded, Lab & CI:
- PetaLinux, MicroBlaze V, Vivado ILA, IBERT, Keysight oscilloscopes, Git, Jenkins
Education
Work Experience
- Designed the RTL for a market data filter on the 7130 low-latency switch line in SystemVerilog, a 14-stage pipeline on Virtex UltraScale+ with parameterized protocol parsers, holding port-to-port latency at 42 ns for trading firms.
- Built the UVM testbench for that pipeline with constrained-random packet streams, SVA protocol checks and nightly QuestaSim regressions, raising functional coverage from 74% to 98.6% before the first board build.
- Closed timing at 322 MHz in Vivado with hand-written XDC constraints, Pblock floorplans and Tcl build scripts, taking worst negative slack from -0.61 ns to +0.04 ns on a device more than 80% full.
- Reworked clocks and resets across 11 domains, from the transceiver recovered clocks to the PTP timestamp clock, with async FIFOs, Gray-coded pointers and staged reset release, cutting SpyGlass CDC violations from 214 to 0 at sign-off.
- Brought up 25G Ethernet MACs on 48 GTY transceiver lanes and a PCIe Gen4 x8 host link, tuning equalization with IBERT eye scans to hold the bit error rate below 1E-12 on every port.
- Rebuilt the packet hashing and checksum engines as Vitis HLS kernels mapped onto DSP48E2 slices, cutting LUT use by 36% against the hand-written RTL with no loss of line rate.
- Wired the MicroBlaze V management core to AXI4-Lite register maps, AXI DMA and interrupts, generating register docs and C headers from one SystemRDL file, which cut driver bring-up for firmware from 6 weeks to 8 days.
- Ran lab bring-up of the next 7130 board with the hardware team, chasing board-only bugs with Vivado ILA captures, a Keysight oscilloscope and Python test scripts, and released the production bitstream 3 weeks early.
- Wrote the AES-GCM encryption pipeline for an FPGA SmartNIC on Kintex UltraScale+ in VHDL, sustaining 94 Gbps of encrypted traffic on a 100GbE port with full line-rate packet ordering.
- Set up the team’s Jenkins build farm with Tcl and Python scripts for nightly synthesis and regression across 26 repositories, cutting a full regression from 11 hours to 3.5 hours.
- Prototyped RoCE congestion control logic on FPGA boards for the ConnectX ASIC team, so firmware could start testing 5 months before the chip came back from the fab.