ROLES:
FPGA Developer
Linux Kernel Developer
Systems Software Developer
Embedded Hardware Developer
Compiler Engineer
ENGINEERING
FPGA Developer
At Vicharak, we're on the forefront of a computing revolution. Just like the pioneers at Bell Labs in
1947 who witnessed the birth of the transistor, we're shaping the future of semiconductors with our
innovative FPGA technology. Unlike traditional processors, FPGAs allow us to programmatically
change their inner circuitry, opening up new horizons in parallelism, speed, and computing. We've
developed VAAMAN, a cutting-edge hardware system that combines FPGA and SBC, and we're on
the lookout for talented individuals who share our passion for this field. We're seeking researchers,
developers, designers, engineers, and architects to join us in building the next generation of
computing.
What You Will Learn:
Software languages such as C/C++ , Python, and HDL languages Verilog and System
Verilog.
Utilize various tools, including compilers like GCC and X86s, and IDEs like Visual Studio
and PlatformIO.
Master FPGA tools like Vivado, Radiant, and Efinix FPGAs.
Develop the ability to learn, adapt, tackle challenges, and perform effectively.
Gain insights into the workings of everything from keyboards to complex servers.
What You Will Work On:
You'll be a part of our exciting projects, working on various aspects of our Acceleration
framework, including AI Acceleration, Software Acceleration, and optimizing peripherals.
You'll get hands-on experience with Verilog and System Verilog, mastering the basics of
these languages.
Preferred Skills:
Strong VHDL/Verilog Programming skills.
In depth knowledge of RTL design, FPGA design, and FPGA design tools.
Complete FPGA development flow from logic design, place & route, timing analysis closure,
simulation, verification, and validation.
Strong troubleshooting and debugging FPGA implementations on hardware boards.
Hands-on experience on communication protocols (UART/I2C/SPI etc.
Good understanding of digital electronics and design practices.
Strong sense of ownership, passionate, fast learner, analytical mind set, perfection seeker.
Excellent interpersonal, communication, collaboration and presentation skills.
Linux Kernel Developer
Are you fascinated by the evolution of operating systems, from UNIX to Linux, and how they
interface with computer hardware? If you're a computer science student eager to dive deep into the
intricate world of operating systems, then this internship is your opportunity to gain invaluable
insights.
What You Will Learn:
Linux, the cornerstone of modern computing, is a complex and dynamic operating system with
thousands of contributors. As an intern, you'll embark on a journey to understand the inner workings
of Linux. You'll grasp the exact process of how your computer detects a keystroke from your
keyboard and translates it onto your display. From interrupts to inter-process communications to real-
time operating system (RTOS) tasks, you'll explore the entire flow.
Dive into the sophisticated Linux kernel and witness the collaborative efforts of thousands of
developers.
Gain hands-on experience with u-boot, C/C++ programming, and various Linux driver
development (e.g., camera, display, USB, UART, power management).
Master kernel module development, GUI creation, and various intricacies of Linux systems.
What You Will Work On:
As a crucial member of our team, you'll be working on our flagship product, VAAMAN
(Learn more at [Link] VAAMAN represents the next generation of
accelerator boards, making it an exciting venture.
Additionally, we're actively engaged in developing a series of processor-based boards,
enhancing Linux kernels, creating drivers, and building various systems. If you're passionate
about operating systems and eager to contribute to our innovative projects, we want you on
our team.
Preferred Skills:
Extensive knowledge of linux kernel internals.
Good knowledge of C programming language.
Familiarity with any processor architecture, virtualization, storage and network management.
Proficient in understanding the schematics.
Strong experience in debugging linux kernel mode.
Debugging experience across hardware and platform firmware.
Proficient in Linux management (Kernel API, Device drivers, Programming interface)
Systems Software Developer
Welcome to Vicharak, a visionary technology firm pioneering advancements in computing solutions.
We specialize in integrating Field-Programmable Gate Arrays (FPGAs) with state-of-the-art software
technologies to revolutionize AI, robotics, and compute-intensive applications. Join us as a Systems
Software Developer and embark on a transformative journey where you will delve into computer
architectures, logic gates, FPGA integration, and compiler software development.
What You Will Learn:
As a Junior Systems Software Developer, you will be at the forefront of innovation, working
closely with experienced engineers to design and optimize software solutions for diverse
computing applications.
C/C++ Development: Design, develop, and optimize software applications using C/C++
programming languages, considering computer architecture principles.
FPGA Integration: Collaborate with FPGA engineers to integrate software components with
FPGA-based hardware accelerators, optimizing for performance and efficiency.
Algorithm Optimization: Implement and optimize algorithms for FPGA architectures,
leveraging computer architecture insights.
Documentation: Document code, algorithms, architecture-specific optimizations, and
development processes for knowledge sharing and reference.
What You Will Work On:
Your role will involve C/C++ development, FPGA integration, understanding computer
architectures, and contributing to the development of FPGA-driven compilers and software-
hardware co-design projects.
Compiler Development: Contribute to the development of FPGA-driven compilers and smart
tools for software-hardware co-design, understanding architecture-specific optimizations.
Low-Level Programming: Delve into the core level of computing, understanding logic gates,
computer architectures, and hardware description languages (Verilog/VHDL).
Testing and Debugging: Write unit tests, perform debugging, and ensure software-hardware
compatibility and functionality across different architectures.
Preferred Skills:
Experience with FPGA development tools (Xilinx Vivado, Intel Quartus) or hardware
description languages (Verilog/VHDL).
Exposure to software development best practices, version control systems, and debugging
tools.
Familiarity with scripting languages (Python, Bash) and development on Linux/Unix
platforms.
Understanding of compiler design principles, optimization techniques, and architecture-
specific optimizations.
Embedded Hardware Developer
Imagine being at Bell Labs in 1947, witnessing the birth of the most remarkable semiconductor
component - the transistor. Since then, a monumental revolution has ensued, leading us to the current
landscape where you find yourself reading about the same job profile displayed through the power of
processors and myriad semiconductor components. Present-day processors contain billions of
transistors, marking the incredible evolution in the semiconductor industry.
While the world progresses towards developing quantum computers, you might lack a fundamental
understanding of how conventional computers and electronics function due to the absence of a
platform or practical experience.
Here at Vicharak, we stand as an expansive company dedicated to hardworking intellectuals
passionate about their work. We strive daily to create extraordinary products that the world has yet to
witness.
If you're an electronics enthusiast, love working with soldering, enjoy debugging at the chip level, and
aspire to engage in various exciting projects, then this opportunity is tailor-made for you.
What You Will Learn:
Basic Information about Circuit Networks:
KVL, KCL, RL, RC, RLC
Thévenin's Theorem, Norton's Theorem
Superposition Theorem, Mesh Analysis
Power Supplies:
Rectifier, Regulator, Filters
Types of SMPS
Digital Electronics:
Logic Gates, Combinational Circuit, Sequential circuits
Arithmetic Circuit, Multiplexers, De-Multiplexers
Latch, Flip-Flops, Shift Registers, Counters
Basic Electronics:
Working principles of Resistors, Capacitors, Inductors, Transformer
Diodes, BJTs, UJT, MOSFET
Operational Amplifier and its Applications
Communication Circuits:
Noise, Nyquist Frequency
Analog Modulation, Digital Modulation
Various Modulation Techniques
Types of Wire and Wireless Communication Protocols
Basic understanding about FPGAs
Circuit Debugging required Skills:
Measurement of Voltage, Current, Resistance
Diode testing
Identifying shorts in PCBs
Observing Waveforms in Oscilloscope
What You Will Work On:
At Vicharak, a multitude of hardware devices are under development.
You will have the opportunity to learn and work on various aspects of PCB designing,
development, and testing.
From tiny IoT sensors to intricate server-level PCBs, you'll gain exposure to a wide spectrum
of hardware, including Wireless Devices, Analog Devices, Sensors, Single Board Computers
(SBCs), and even Motherboards.
Preferred Skills:
Understand PCB layout, Schematic & Hardware requirement microcontroller.
Good knowledge of troubleshooting and analysis in PCB layout.
PCB layout with hands on experience in Signal integrity, Power Integrity in memory layout.
Familiar with version Control tools like GIT
Working Knowledge of serial / network communications including UART, I2C, SPI, Ethernet
(TCP/IP, UDP), CAN, RS485.
Quality mindset in design and documentation.
Disciplined team player, ability to work independently
Compiler Engineer
Greetings from Vicharak, a forward-thinking technology company that is leading the way in
computer solutions. Our expertise lies in fusing cutting-edge software technologies with Field-
Programmable Gate Arrays (FPGAs) to transform artificial intelligence, robotics, and computationally
demanding applications. Come on a transformative journey with us as a Compiler Engineer and learn
about computer architectures, logic gates, FPGA integration, and compiler software development.
What You Will Learn:
You will be at the vanguard of innovation as a Junior Systems Software Developer,
collaborating closely with seasoned engineers to build and optimize software solutions for a
variety of computing applications.
Using the C/C++ programming languages, design, create, and optimize software programs
while considering computer architectural principles.
Work with FPGA engineers to optimize performance by integrating software components
with FPGA-based hardware accelerators.
Using knowledge of computer architecture, implement and improve algorithms for FPGA
designs.
For the purpose of knowledge exchange and reference, document development methods,
architecture-specific optimizations, algorithms, and code.
What You Will Work On:
You will be working on software-hardware co-design projects and developing FPGA-driven
compilers in addition to developing C/C++ and comprehending computer architectures.
Compiler Development: Participate in the creation of intelligent tools for software-hardware
co-design and architecture-specific optimizations, as well as FPGA-driven compilers.
Low-Level Programming: Learn about computer architectures, logic gates, and hardware
description languages (Verilog/VHDL) as you delve into the fundamentals of computing.
Testing and Debugging: Develop unit tests, carry out debugging, and guarantee functionality
and software-hardware compatibility across various architectures.
Preferred Skills:
Being exposed to debugging tools, version control systems, and best practices for software
development.
Expertise in Linux/Unix development and scripting languages (Python, Bash).
Knowledge of architecture-specific optimization, optimization methodologies, and compiler
design concepts