top of page


RISCV Fuzzer for GCC and LLVM
Fuzzing RISC-V compilers like GCC and LLVM is a crucial practice for ensuring the correctness and security of the entire software ecosystem built on this architecture. It's not about finding vulnerabilities in the final compiled code, but rather about discovering bugs within the compiler itself that could lead to incorrect code generation, unexpected behavior, or even exploitable flaws. Why Compiler Fuzzing is a Unique Challenge Fuzzing compilers is different from fuzzing a

Rajeev Gadgil
Sep 83 min read
Â
Â
Â


Tuning Compiler Flags for Custom Hardware
Benchmarking SPECint on FPGA: Introductio n With the growing interest in AI hardware for high-performance and power-efficient computing, understanding how industry-standard benchmarks perform on such platforms is critical. In this paper, we focus on SPECrate®2017 Integer workloads, a widely-used CPU benchmark suite, and share a case study comparing various runs on an FPGA target: a base run and a tuned run that achieved better performance. This paper describes how the tuning

Sayali Tamane
Jul 212 min read
Â
Â
Â


Benchmarking and Validation of Workloads on Emulators
In this case study, we describe our systematic approach to benchmarking and validating workloads on FPGA platforms using HAPS (High-performance ASIC Prototyping System) models. The workflow involves compiling and cross-compiling a diverse set of workloads using both native QEMU and the open source toolchain, executing them on FPGA hardware, and capturing detailed performance metrics such as instructions executed and cycle counts. 1. Benchmark Preparation and Build Process W

Sayali Tamane
Jun 302 min read
Â
Â
Â


Cross-Compiling SPEC CPU2017 for RISC-V (RV64): A Practical Guide
SPEC CPU2017 is a well-known benchmark suite for evaluating CPU-intensive performance. Although it assumes native compilation and execution, there are cases—especially with RISC-V (RV64) platforms—where cross-compilation is the only feasible route. This guide walks through the steps to cross-compile SPEC CPU2017 for RISC-V, transfer the binaries to a target system, and optionally use the --fake option to simulate runs where execution isn't possible or needed during develop

Rajeev Gadgil
May 123 min read
Â
Â
Â


Why Firmware Security is Critical?
The spotlight often shines on software and hardware security. Yet, lurking beneath the surface, lies a critical layer often overlooked, firmware . This low-level software embedded in our devices, from routers and smart thermostats to industrial control systems and medical devices, acts as the vital link between hardware and operating systems. Its security, or lack thereof, can have profound consequences. The proliferation of Internet of Things (IoT) devices has exponentially

Nandita Gadgil
Apr 282 min read
Â
Â
Â


QEMU vs. FPGA: Understanding the Differences in Emulating and Prototyping Any ISA
With the evolution of hardware design and development, two tools have become fundamental for those working on Instruction Set Architectures (ISA) QEMU and FPGA boards. Although both serve as key resources for developing, testing, and experimenting with different ISAs (such as RISC-V, ARM, x86, etc.), they operate in significantly different ways. This blog highlights the key distinctions between QEMU and FPGA boards and their use cases across various architectures. Key Feature

Sayali Tamane
Nov 11, 20243 min read
Â
Â
Â


Android on RiscV Part - I
The Problem statement: Our customer expressed their desire to know if Android (AOSP) was already ported by community to the RiscV platform and if we could provide a detailed summary of the current status of AOSP compilation/build and Qemu emulation progress for RiscV Introduction to AOSP: Android is an open source operating system for mobile devices and an open source project led by Google. Android Open Source Project (AOSP) repository offers the information and source code

Anup Halarnkar
Aug 22, 20242 min read
Â
Â
Â


How to integrate External Toolchain (generated in Part-1) inside the target Linux image in BuildRoot — Part 3
For some months, we at WhileOne Techsoft Pvt. Ltd.  have been helping our customer setup a system to validate the performance of their SoC platform. In this context, we had to bring up an aarch64 Linux based target image to run on their proprietary hardware SoC platform. Part -1  of this series explains how to build an external toolchain with BuildRoot. Part -2  of this series explains how to build a target Linux image using an external toolchain (that we built in  Part -

Sameer Natu
Apr 15, 20233 min read
Â
Â
Â


How to Create an External Toolchain in Buildroot - Part 1
Background: ​ For some months, we at WhileOne Techsoft Pvt. Ltd. have been helping our customer setup a system to validate the performance of their SoC platform. In this context, we had to bring up an aarch64 Linux based target image to run on their proprietary hardware SoC platform. Part-1 of this series explains how to build an External Toolchain with BuildRoot. Part -2  of this series explains how to build a Target Linux image and Rootfs in BuildRoot using the External T

Anup Halarnkar
Jan 4, 20234 min read
Â
Â
Â
bottom of page
