About
Currently working for Apple's Cellular team on Layer 1 UL conforming with 3GPP…
Activity
2K followers
Experience
Education
-
North Carolina State University
3.77
-
Courses:
ECE 560: Embedded Systems Architecture
ECE 561: Embedded System Design and Optimization
ECE 785: Advance Computer design (Embedded systems)
ECE 563: Microprocessor-architecture
ECE 721: Advance microprocessor-architecture
CSC 501: Operating System principles
ECE 566: Compiler optimization and Scheduling
ECE 564: ASIC and FPGA Design
ECE 570: Computer networks -
-
-
-
-
-
-
Licenses & Certifications
Courses
-
ASIC and FPGA Design with Verilog
ECE 564
-
Advanced Embedded systems
ECE 785
-
Advanced Microprocessor architecture
ECE 721
-
Compiler opt and sch
ECE 566
-
Computer networks
ECE 570
-
Embedded System Architectures
ECE 560
-
Embedded systems optimizations
ECE 561
-
Microprocessor Architecture
ECE 563
-
Operating Sys Principles
CSC 501
Projects
-
Exponential and Linux like Scheduler - Xinu OS
-
Changed the default round robin scheduling policy in Xinu to make it support exponential and Linux like scheduling policy where the exponential policy randomly selects a process and then checks it's probability
to run based on the probability exponential distribution.
The linux like scheduler implements Multi level feedback queue to select the process in order to eliminate the starvation problems os low priority processes and assigns goodness values to change the priority of the…Changed the default round robin scheduling policy in Xinu to make it support exponential and Linux like scheduling policy where the exponential policy randomly selects a process and then checks it's probability
to run based on the probability exponential distribution.
The linux like scheduler implements Multi level feedback queue to select the process in order to eliminate the starvation problems os low priority processes and assigns goodness values to change the priority of the processes during run time.
It also supports priority boosting feature. -
Research: Memory Dependence Predictors methodologies
-
- Study of various methods and approach to implement issue queue based load-store synchronization (Sore sets, vectors; Sticky-Bit)
- Performance analysis on various SPEC benchmarks using Memory order violations, false dependencies, memory trap cycles and IPC. -
Analysis and Optimization (Cortex M0+ and Cortex A72)
-
-Performance analysis measuring Speed and Latency of embedded systems.
-Sizing analysis measuring the memory requirement by the various programs and benchmarks.
-Optimizations based on above analysis in terms of execution speed and responsiveness for faster run-times (Speed requirement) and Program size for smaller code-sizes (Memory requirement) using Linking time optimizations, SIMD instructions based on the concepts of Compilers, Microprocessor architecture and Embedded systems…-Performance analysis measuring Speed and Latency of embedded systems.
-Sizing analysis measuring the memory requirement by the various programs and benchmarks.
-Optimizations based on above analysis in terms of execution speed and responsiveness for faster run-times (Speed requirement) and Program size for smaller code-sizes (Memory requirement) using Linking time optimizations, SIMD instructions based on the concepts of Compilers, Microprocessor architecture and Embedded systems architecture. -
Research: ILP bottlenecks
-
- Study of how sizes of various structures in the Microprocessor architecture such as Issue width, Fetch width, Active-list, Memory unit, Register File, Checkpoints affects the performance and parallelism.
- Effects of Memory disambiguation, Branch predictor units, Trace cache, Data cache on ILP. -
Dynamic Instruction Scheduling (C++)
-
Designed a simulator for an out-of-order superscalar processor based on Tomasulo’s algorithm that fetches, dispatches and issues N instructions per cycle.
Modeled dynamic scheduling mechanism to evaluate the effect of Queue size & reorder buffer size on Instructions per cycle for 2 different benchmark instruction traces in the simulator. -
Branch Predictor Simulator (C++)
-
Designed a branch predictor simulator and used it to model bimodal, g-share and hybrid branch predictors. The simulator also included a fully associative Branch Target Buffer that stores the history of the previous branches.
-
G gate in LSTM cell (Verilog)
-
Designed tanh activation unit present in the LSTM cell in Verilog HDL.
Performed gate level synthesis and netlist generation using Synopsys Design Compiler. -
i2c with Non preemptive tasks. (C)
-
Designed a non-preemptive, non-prioritize scheduler that reads data from an on board Accelerometer using i2c interface. Did task scheduling by implementing Finite state machine. Reported FSM's timing analysis.
Designed same functionality using preemptive, prioritized scheduler (RTX5 real time Kernel)
Concepts covered: i2c Interface, Task scheduling algorithms: Polling, Round robin, FSM, Message queues, Software interrupts, RTOS timer, Hardware timer. -
ADC Sharing with Buck convertor (C)
-
ADC sharing between Touchscreen and Buck convertor on KL25Z's development board.
USed the concept of mutexes in RTOS for safetly sharing a common resource between 2 Tasks.
Other concepts used/ implemented: Mutex, Software interrupts, ADC, Message queues, Prioritiy (RTOS).
-
Cache and Memory hierarchy simulator (C++)
-
Implemented flexible cache and memory hierarchy simulator to study performance of various memory hierarchies.
It was modeled as L1, L2 and decoupled sectored cache with Least recently used replacement policy along with Write Back Write access write policy.
Simulator outputs counts for all cache misses, hits, write backs and swaps. -
Smart City Project (C)
-
Developed a fully functional bidirectional multi-hop wireless mesh network infrastructure with advanced security for the street lamp controllers for the Smart city Project.
-
Firmware Over the Air Update (C)
-
Implemented Firmware Over the Air feature in the company's product suite to remotely update the Firmware of the end devices via IOT protocols.
-
Entry Registration System using Bluetooth Low Energy (BLE) (C, Python)
-
Using Low power capability of the Wireless Technology (Bluetooth LE) to make an Attendance System that uses Smartphones to mark the Attendance. Making it accessible to the Institution by incorporating Wifi.
Other creatorsSee project
Honors & Awards
-
Team Lead
Acevin Solutions
Made the Team Lead for the Smart City Project.
-
UWLQ Level 1 Grade Examination in Music Performance (Guitar)
London college of Music Examination
Secured First rank with 95% in the Mumbai region
Other similar profiles
Explore top content on LinkedIn
Find curated posts and insights for relevant topics all in one place.
View top content