Seasoned professional with 11 years of experience in embedded software development using C/C++, expertise in Linux and Windows platforms. Proven track record of leading high-performing teams and mentoring junior developers, utilizing Agile methodologies, cloud technologies, and scalable system design. Extensive background in the EDA industry, specifically in EDA tool development for FPGA. Proficient in Xilinx SDK, Vitis, Vivado, Microsemi SoftConsole, and Libero tools. Excellent knowledge of FPGA and VLSI validation tool flows. Hands-on experience in Linux device driver and Linux kernel source code. Skilled in boot loaders, BSP, board bring-up, and bootflows. Well-versed in firmware development with Linux. Experienced in VC++, Qt applications using Visual Studio and Qt Creator. Proficient in GNU C++, GMP, MPIR, POCO, BOOST, and STL library API functions. Familiarity with Vim editor, Qt Creator, and Eclipse for Linux application development. Knowledgeable in Linux Shell Scripting, TCL scripting, Python, and PyQt. Experienced with databases such as MySQL and MongoDB. Proficient in using version control tools like Git, BitBucket, Clearcase, SVN, and Microsoft Visual Source Safe. Experienced in the complete life cycle of design, development, debugging/testing, documentation, and maintenance of embedded software projects. Strong understanding of data structures and algorithms.
Libero Configurators
Libero is a EDA tool to create electronic design.It used for creation of complex FPGA based design. It will simulate,synthesis,place and route FPGA based design.
Worked on below RTG4, PolarFire FPGA Configurators.
Roles and Responsibility:
FSBL
Fsbl is first stage boot loader on zynq based SOC of Xilinx. Before running any application on board it will boot first. It has 4 stages described as below.
1. Initialization: It will initialize processor, peripheral like i2c, mio, ddr, system drivers.
2. Boot device initialization and Header Validation: It will initialize primary boot device
Like qspi, nand, SD etc. and validate the header.
3. Partition copy, Validation: It will perform Partition header validation, Partition
Copy, Partition Validation.
4. Handoff: It will perform Post Configuration and Handoff to CPU’s.
Roles and Responsibility:
PMU FIRMWARE
PMU FIRMWARE is a platform management unit firmware for Xilinx SOC ,which will run on microblaze cpu through PMU RAM,It will handle and control the interrupt between all the processors present in zynq and zynqmp SOC,It will use IPIPSU driver for this purpose.
Roles and Responsibility
● Working on PR related to PMUFW.
● Working on CR related to PMUFW.
● Created the versionless automated building of PMUFW through git ,Without using any tools.
Ubpf Vm
Ubpf is open source project.This project is aims to create an Apache licensed Library for executing eBPF programs.The primary implementation of eBPF lives in linux kernel.We used this open source project to load bpf plugins in microblaze based board.
Roles and Responsibility:
● Cloned the source code from Gibhub and started working on it to create customized plugin loader for microblaze.
● Resolved .text, .data, .rel.text, .rodata.str1 section.
● Implemented stack for multiple function calls.
● Increased performance, Reduce the size of code.
● Released successfully this new customized BPF based VM.
1VU,Uniserve
TRAI regulations mandate that a subscriber should not have more than a stipulated number of connections within a specific telecom circle. Customer information on the other hand is captured by multiple systems operating in silos and manual data entry resulting in possible inconsistencies in information. Online and offline De-duplication of records to establish customer identity has the following challenges: Missing, conflicting, corrupted information and data entry errors to match customer information Ever growing customer subscriptions complicating the de-duplication process Businesses need to check with lists of blacklisted customers and National Do Not Call (NDNC) prior to onboarding , Parameters like name, addresses etc being captured differently at each customer interaction, 1VU tool does above features.
Diagnostic code for 8051 Development Board.
● In this project developed the testing code for devices like led, switches, uart, lcd, 7-seg display,i2c,spi,dc motor, keypad.
Preprocessor using C language for GCC compiler.
● Implemented some features of preprocessor like macro replacement, header file inclusion, comment removal using C language programming.
Work
Libero Configurators, FSBL, PMU FIRMWARE, Ubpf Vm, 1VU, Uniserve
Academics
Train ticket Booking system, Raspberry Pi Based computer vision projects like Face detection, Vehicle Number Plate Detection, IOT based Home Automation and Agriculture irrigation system.
Honor date: Sep 2017 honor issuer: Microsemi Corporation
"Above and Beyond Award" was awarded in recognition and appreciation for designing(migrate from collapsible frames to Qt Tables) the Fabric RAMs page to be inline with other pages for Polarfire EAP-SP1 release, ahead of schedule. For Polarfire EAP4-SP2,redesigned back-end code for RAMs using design patterns that helps in validation of all memories in UIC flow.