Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Mahyar Emami

dblp:259/3908 · DBLP profile ↗
← Back
8ranked-venue papers
4as first author
7since 2021 · last 2025
0000-0002-5654-8804ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 7 · 4 first-author · 6 since 2021Software engineering, systems software and programming languages · 3 · 2 first-author · 3 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
6 papers
Electronic design automation · 37% Parallel and multicore computing · 18% Performance modeling and evaluation · 15%
Software engineering, system software, and programming languages
1 paper
Compilers and program optimization · 100%

Topics — the 15 heaviest of 20, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Electronic design automation › hardware verification and test
hardware verification
1.832025
Parendi: Thousand-Way Parallel RTL Simulation · ASPLOS (2) 2025
Manticore: Hardware-Accelerated RTL Simulation with Static Bulk-Synchronous Parallelism · ASPLOS (4) 2023
A 475 MHz Manycore FPGA Accelerator for RTL Simulation · FPGA 2024
Electronic design automation › hardware verification and test › hardware verification
RTL simulation
1.832025
Parendi: Thousand-Way Parallel RTL Simulation · ASPLOS (2) 2025
Manticore: Hardware-Accelerated RTL Simulation with Static Bulk-Synchronous Parallelism · ASPLOS (4) 2023
A 475 MHz Manycore FPGA Accelerator for RTL Simulation · FPGA 2024
Parallel and multicore computing › parallelization strategies
fine-grained parallelism
0.912025
Parendi: Thousand-Way Parallel RTL Simulation · ASPLOS (2) 2025
Performance modeling and evaluation › simulation › parallel and distributed simulation
parallel simulation
0.912025
Parendi: Thousand-Way Parallel RTL Simulation · ASPLOS (2) 2025
Parallel and multicore computing › parallel computation models
bulk synchronous parallel
0.712023
Manticore: Hardware-Accelerated RTL Simulation with Static Bulk-Synchronous Parallelism · ASPLOS (4) 2023
Hardware accelerators and domain-specific architectures › scientific computing accelerator
simulation accelerator
0.712023
Manticore: Hardware-Accelerated RTL Simulation with Static Bulk-Synchronous Parallelism · ASPLOS (4) 2023
Electronic design automation
hardware/software co-design
0.512021
Triggered Scheduling: Efficient Detection of Dataflow Network Idleness on Heterogeneous Systems · FPGA 2021
Parallel and multicore computing › parallel programming models
dataflow programming
0.412020
Advanced Dataflow Programming using Actor Machines for High-Level Synthesis · FPGA 2020
Electronic design automation
high-level synthesis
0.412020
Advanced Dataflow Programming using Actor Machines for High-Level Synthesis · FPGA 2020
Processor architecture and microarchitecture
many-core architecture
0.212024
A 475 MHz Manycore FPGA Accelerator for RTL Simulation · FPGA 2024
Reconfigurable computing and FPGAs › FPGA-based processor implementation
soft-core processor
0.212024
A 475 MHz Manycore FPGA Accelerator for RTL Simulation · FPGA 2024
Performance modeling and evaluation › simulation › architectural simulation
cycle-accurate simulation
0.212023
Manticore: Hardware-Accelerated RTL Simulation with Static Bulk-Synchronous Parallelism · ASPLOS (4) 2023
Integrated circuit design › digital system design
register-transfer level design
0.212023
Manticore: Hardware-Accelerated RTL Simulation with Static Bulk-Synchronous Parallelism · ASPLOS (4) 2023
Parallel and multicore computing › parallel programming models › dataflow programming
dataflow execution model
0.112020
Advanced Dataflow Programming using Actor Machines for High-Level Synthesis · FPGA 2020
Parallel and multicore computing
parallel programming models
0.112020
Advanced Dataflow Programming using Actor Machines for High-Level Synthesis · FPGA 2020

Methods — techniques the papers use, named apart from their topics

synchronization optimization · 0.9partitioning · 0.9compilation · 0.9dataflow compilation · 0.9actor machine model · 0.9performance interfaces · 0.8static bulk-synchronous parallelism · 0.7triggered scheduling · 0.5discrete-step execution · 0.5
YearPublicationVenuePosition
2025 Parendi: Thousand-Way Parallel RTL Simulation
abstract
Hardware development critically depends on cycle-accurate RTL simulation.However, as chip complexity increases, conventional single-threaded simulation becomes impractical due to stagnant single-core performance.Parendi is an RTL simulator that addresses this challenge by exploiting the abundant fine-grained parallelism inherent in RTL simulation and efficiently mapping it onto the massively parallel Graphcore IPU (Intelligence Processing Unit) architecture.Parendi scales up to 5888 cores on 4 Graphcore IPU sockets.It allows us to run large RTL designs up to 4× faster than the most powerful state-of-the-art x64 multicore systems.To achieve this performance, we developed new partitioning and compilation techniques and carefully quantified the synchronization, communication, and computation costs of parallel RTL simulation: The paper comprehensively analyzes these factors and details the strategies that Parendi uses to optimize them.
Mahyar Emami, Thomas Bourgeat, James R. Larus
ASPLOS (2)1
2024 A 475 MHz Manycore FPGA Accelerator for RTL Simulation
abstract
This paper presents the implementation of Manticore: a manycore accelerator for parallel RTL simulation. Manticore packs up to 225 custom soft processors running at 475 MHz on a large FPGA. Implementing manycore accelerators on FPGAs is challenging as designers must reconcile the conflicting goals of maximizing the number of cores on the chip and clocking them at the highest possible frequency. Designers face two classes of constraints: (1) architectural constraints imposed by a large FPGA's multi-die structure, and (2) physical constraints imposed by the FPGA shell's size and placement. Physical design therefore plays a critical role in the implementation of manycore accelerators. We present physical design challenges faced during Manticore's implementation on the AMD Alveo U200 card---a large FPGA with a poorly-placed, wide shell that challenges physical implementation.
Sahand Kashani, Mahyar Emami, Keisuke Kamahori, Mohammad Sepehr Pourghannad, Ritik Raj, James R. Larus
FPGA2
2024 Performance Interfaces for Hardware Accelerators
Jiacheng Ma 0002, Rishabh Iyer 0002, Sahand Kashani, Mahyar Emami, Thomas Bourgeat, George Candea
OSDI4
2023 Manticore: Hardware-Accelerated RTL Simulation with Static Bulk-Synchronous Parallelism
abstract
The demise of Moore's Law and Dennard Scaling has revived interest in specialized computer architectures and accelerators. Verification and testing of this hardware depend heavily upon cycle-accurate simulation of register-transfer-level (RTL) designs. The fastest software RTL simulators can simulate designs at 1--1000 kHz, i.e., more than three orders of magnitude slower than hardware. Improved simulators can increase designers' productivity by speeding design iterations and permitting more exhaustive exploration.
Mahyar Emami, Sahand Kashani, Keisuke Kamahori, Mohammad Sepehr Pourghannad, Ritik Raj, James R. Larus
ASPLOS (4)1
2022 Auto-Partitioning Heterogeneous Task-Parallel Programs with StreamBlocks
abstract
FPGAs play an increasing role in the reconfigurable accelerator landscape. A key challenge in designing FPGA-based systems is partitioning computation between processor cores and FPGAs. An appropriate division of labor is difficult to predict in advance and requires experiments and measurements. When an investigation requires rewriting part of the system in a new language or with a new programming model, its high cost can delay design-space exploration. A single-language system with an appropriate programming model and compiler that targets both platforms transforms this tedious exploration to a simple recompile with new compiler directives.
Mahyar Emami, Endri Bezati, Jörn W. Janneck, James R. Larus
PACT1
2022 Bitfiltrator: A general approach for reverse-engineering Xilinx bitstream formats
abstract
As the usage of FPGAs spreads, engineers will inevitably employ them in ways unforeseen-or unwanted-by their manufacturers. Xilinx's toolchains offer multiple points for customizing the FPGA compilation flow, but all flows must end with Vivado as it is the only tool capable of generating the bitstream to program an FPGA. Xilinx does not document its bitstream format, so users who wish to bypass Vivado and modify a bitstream directly must reverse-engineer it to discover the location and format of cells. Prior work has reverse-engineered parts of the bitstream format for security or debugging/instrumentation activities, but no paper has explained how to do this reverse engineering systematically! Code from prior efforts (when available) is hard-coded to reverse engineer a specific device and is difficult or impossible to use for another one. These efforts-focused on applications instead of reverse-engineering-compel engineers who need to modify a bitstream to rediscover unwritten practice. Our work bridges this gap by explaining: (1) the various parameters needed to navigate a bitstream correctly, (2) the experiments to obtain them, and (3) the many pitfalls and erroneous assumptions to avoid while undertaking this endeavor. We demonstrate our technique by using it to extract the bitstream format of initial LUT equations, LUTRAM contents, BRAM contents, and register values in Xilinx UltraScale and UltraScale+ FPGAs. Our methods are implemented in an open-source tool, Bitfiltrator [1], that can extract device layouts and architecture-specific bitstream formats for these cells automatically and without physical access to an FPGA.
Sahand Kashani, Mahyar Emami, James R. Larus
FPL2
2021 Triggered Scheduling: Efficient Detection of Dataflow Network Idleness on Heterogeneous Systems
abstract
Hardware-software codesign for FPGAs requires flexible and changeable boundaries between hardware and software. Design space exploration is facilitated by expressing programs in a language that can be compiled for both CPU and FPGA execution. Such an approach requires efficient and general communication mechanisms between hardware and software. We present a practical solution to this problem for heterogeneous programs expressed in CAL, an actor based language running on a PCIe-based FPGA system where communication between a processor and FPGA is relatively expensive. We show how a network of continuously executing software and hardware actors with fine-grained communication can be expressed as a coprocessor model that executes the network in discrete steps with efficient coarse-grained transfers across the PCIe bus.
Mahyar Emami, Endri Bezati, Jörn W. Janneck, James R. Larus
FPGA1
2020 Advanced Dataflow Programming using Actor Machines for High-Level Synthesis
abstract
The use of parallelism has increased drastically in recent years. Parallel platforms come in many forms: multi-core processors, embedded hybrid solutions such as multi-processor system-on-chip with reconfigurable logic, and cloud datacenters with multi-core and reconfigurable logic. These heterogeneous platforms can offer massive parallelism, but it can be difficult to exploit, particularly when combining solutions constructed with multiple architectures. To program a heterogeneous platform, a developer must master different programming languages, tools, and APIs to program each aspect of platform separately and then must find a means to connect them with communication interfaces. The motivation of this work is to provide a single programming model and framework for hardware-software stream programs on heterogeneous platforms. Our framework, StreamBlocks, starts with a dataflow programming model for both embedded and datacenter platforms. Dataflow programming is an alternative model of computation that captures both data and task parallelism. We describe a compiler infrastructure for CAL dataflow programs for hardware code generation. CAL is a dataflow programming language that can express multiple dataflow models of computation. StreamBlocks is based on the Tycho compiler infrastructure, which transforms each actor in a dataflow program to an abstract machine model, called Actor Machine. Actor Machines provides a unified model for executing actors in both hardware and software and permit our compiler extension and backend to generate efficient FPGA code. Unlike other systems, the programming model and compiler directly support hardware-software systems in which an FPGA functions as a coprocessor to a CPU. This permits easy integration with existing workflows.
Endri Bezati, Mahyar Emami, James R. Larus
FPGA2