Areas of operation
Software
Our software team works with edge computing technologies. We develop products which combine modern application processors with open source software like Linux or Zephyr. The work often involves designing the entire system architecture, choosing proper software technologies, implementing missing software elements and integrating them together.
The software team also develops open source tooling for both customers and internal company use. The tools range from various small utilities like video analyzers to fully fledged toolchains for various languages. If you feel at home in the command line, you will feel at home in Antmicro’s software team.
Hardware
Antmicro’s hardware engineers design electronic devices that incorporate the latest processing platforms. This involves comprehensive electronics development, starting from initial prototypes, up to production-ready units. We cover different application areas including industrial control, medical devices, Unmanned Autonomous Vehicles (UAVs) and consumer electronics. Our platforms support high speed and high throughput interfaces used for accessing DRAM memory modules (LPDDR4, DDR5) arrays of high-resolution image sensors, 10Gb Ethernet networking and many more. Each of our hardware design projects is a challenge that requires good engineering practice, interdisciplinary knowledge, cooperation with the software team and creativity. We are constantly updating our design flow by incorporating open source tools. We have recently combined KiCad with Blender for making photorealistic static and animated renders of the hardware we design. We maintain a database of electronic components on GitHub. We simulate PCB traces with open source solvers in order to achieve optimal signal integrity and performance.
Artificial Intelligence
In the AI team we focus on introducing AI into edge computing platforms. The core of our work is helping Antmicro’s customers build sophisticated vision systems. We work closely with hardware vendors (NVIDIA, NXP, AMD-Xilinx) and we often are early adopters of new processing platforms.Our team designs AI system architectures (deep neural networks, machine learning algorithms, vision algorithms etc.) to handle specific tasks. Moreover, our team optimizes deep neural networks for given platforms to reduce model’s size and execution time.
We use and develop applications for Linux and other operating systems. For development, we utilize and improve a variety of open source tools.
Cloud and infrastructure
In our Cloud team we apply Continuous Integration/Delivery methodologies in new, previously unexplored fields, build our own open source, scalable simulation and virtualization environments, contribute to open source frameworks and constantly strive to improve the underlying tools and workflows wherever we can, without fear of upsetting the status quo.
The team members design cloud infrastructure as well as implement, maintain and monitor the world’s most cutting-edge applications. We work with cloud services and multiple sysadmin/devops tools to provide fast and friendly development environments for both internal teams and external top-class customers.
FPGA
Antmicro’s FPGA team develops modern FPGA systems composed of dedicated programmable logic RTL cores as well as the software that controls them. We work with the latest FPGA chips (like the UltraScale+ MPSoC) and programming languages (e.g. Chisel).
Our tasks include designing and implementing data processing IP cores using hardware description languages like Chisel, Verilog or VHDL, as well as integrating entire processing systems including dedicated IP cores, CPUs and system buses.
On top of implementing FPGA IP cores and architecture design, we also develop software - from bare metal firmware, to operating system drivers, to user space applications interacting with the FPGA logic.
Simulation
The Renode team develops an open source development framework for embedded systems that simulates complicated multi-node environments. We bring what’s best in software development to the world of embedded, with testing capabilities, continuous integration and rapid prototyping. We develop software in C# and C. Although Linux is our everyday working environment we also work in other operating systems. On top of that we continuously look for new ways to enhance the Renode workflow and integrate it with external tools. We also like to automate our work by creating scripts in different languages.