RapidWright ICCAD 2023 Hands-on Tutorial

Slides | Invited Paper | Reference Handout
Title: RapidWright: Unleashing the Full Power of FPGA Technology with Domain-Specific Tooling
Organizers: Chris Lavin and Eddie Hung
Where: Artisan Room, Hyatt Regency San Francisco Downtown SOMA, ICCAD 2023
When: Wednesday, November 1st, 2023, 11:00am PDT

  • 11:00am - 11:05am : Machine Allocation

  • 11:05am - 11:15am : Introduction and Overview

  • 11:15am - 1:00pm : Hands-on, self-guided tutorials

Featured Tutorial Segments



Reuse Timing-closed Logic As A Shell

30 mins

Create a pre-implemented shell from an
existing design without pblocks

Using DREAMPlaceFPGA to Place

25 mins

Use a 3rd party placer with the FPGA
Interchange Format

Polynomial Generator

15 mins

Create placed and routed circuits from
scratch in seconds

ECO Debug Core Insertion

35 mins

Add debug logic without changing
existing placement and routing

Additional Tutorial Segments



Hello, World Jup

5 mins

Intro to RapidWright in Jupyter Notebooks

Create Netlist from Scratch Jup

10 mins

How to build a netlist from scratch

Pre-implemented Modules: Part I

15 mins

How to create a pre-implemented module

Pre-implemented Modules: Part II

15 mins

Use & relocate pre-implemented modules

SAT Router Jup

15 mins

Use SAT to solve hard routing congestion

Create and Use an SLR Bridge

20 mins

Combine Vivado & RapidWright circuits

Basic Routing Jup

20 mins

How to build a basic router in RapidWright

Jup = Jupyter Notebook Tutorial


To run the Jupyter Notebook tutorials (those marked with the Jup icon above), first run

cd ~/RapidWright-binder
jupyter notebook

in a separate terminal in the AWS Instance to start the server, then click on the corresponding tutorial segments above.


Contact organizers:
  • Chris Lavin - chris.lavin`at`amd.com

  • Eddie Hung - eddie.hung`at`amd.com