Skip to main content

Fusion Compiler Overview

Fusion Compiler Overview | The Silicon Stack
EDA Tools & Industry Guidance · Part 8

Fusion Compiler: Unifying Synthesis and Place-and-Route

Why Synopsys merged Design Compiler and ICC2 into one data model, and a real fc_shell RTL-to-GDSII run.

1.Overview

Fusion Compiler is Synopsys's unified RTL-to-GDSII implementation tool. Instead of running Design Compiler and IC Compiler II as two separate tools that hand off a netlist file, Fusion Compiler combines synthesis and place-and-route into one product on a single, shared data model — in practice, Fusion Compiler = Design Compiler's synthesis engines + IC Compiler II's physical engines, sharing one in-memory design representation instead of two.

Note Fusion Compiler doesn't replace Design Compiler or ICC2 as separate products — some teams still run them as discrete synthesis and place-and-route stages, particularly for very large hierarchical flows with established sign-off methodologies. Fusion Compiler is Synopsys's fastest path when a team can adopt the unified flow end to end.

2.Use Case & Who It's For

Fusion Compiler targets teams who want to minimize iteration between synthesis and physical implementation:

  • Advanced-node SoC teams where synthesis-to-layout correlation gaps cost real schedule time across multiple iterations
  • Design teams adopting AI-driven optimization (Synopsys DSO.ai) that benefits from a single, consistent data model across the full RTL-to-GDSII flow
  • Projects prioritizing fastest time-to-results over the more modular, stage-by-stage control that separate Design Compiler / ICC2 runs offer

3.Where It Sits in the Design Flow

Fusion Compiler collapses what would otherwise be two flow stages into one:

  1. Verified RTL and SDC constraints are read directly into Fusion Compiler — no separate netlist hand-off step
  2. Synthesis and physical implementation run within the same tool instance, sharing floorplan and timing data live instead of re-deriving it after each hand-off
  3. Physical synthesis optimization blurs the line between "logic synthesis" and "placement-aware optimization," since both operate on the same data model simultaneously
  4. The resulting routed design is extracted (StarRC) and handed to PrimeTime for the same golden signoff step used in a Design Compiler + ICC2 flow
  5. ECOs and incremental changes can be applied without re-running two separate tools in sequence
Industry Insight The core motivation behind Fusion Compiler isn't a new algorithm so much as removing a data hand-off: every time synthesis and place-and-route are separate tools, timing estimates made during synthesis can drift from what placement and routing actually achieve, forcing extra iterations to converge. Sharing one data model directly targets that drift.

4.Installation & Licensing

  1. Download the Fusion Compiler installer from Synopsys SolvNetPlus, under the Galaxy Design Platform agreement (Fusion Compiler is typically licensed as its own product, distinct from standalone Design Compiler and ICC2 licenses)
  2. Install on supported 64-bit Linux, sharing the common Synopsys installation tree used by PrimeTime, Design Compiler, and ICC2
  3. Configure the Synopsys FlexLM license server and SNPSLMD_LICENSE_FILE
  4. Source the environment setup so fc_shell resolves on PATH
  5. As with ICC2, foundry-supplied technology files (LEF, library views, DRC/LVS decks) are required and are distributed separately under your foundry NDA

5.Hands-On Example: A Unified RTL-to-GDSII Run

A minimal Fusion Compiler session going from RTL straight through to a routed design, without a separate synthesis-to-place-and-route file hand-off:

# fc_flow.tcl - unified RTL-to-GDSII flow
create_lib top_lib -tech tech.tf -ref_libs {ref_libs.list}
read_verilog -sv {counter.sv top.sv}
current_design top
read_sdc constraints.sdc

# Synthesis and floorplanning share the same data model here
initialize_floorplan -core_utilization 0.70
compile_fusion -to_placement

clock_opt -to final
route_auto

extract_rc
report_timing -delay_type max -nworst 3

write_verilog top_routed.v
write_parasitics -output top_routed.spef

Notice there's no explicit "write netlist, then read it back into a different tool" step between synthesis and placement — compile_fusion -to_placement carries the design straight from RTL through synthesis into a placed state within the same session, which is exactly the hand-off Fusion Compiler is built to remove.

Tip If you're coming from a separate Design Compiler + ICC2 background, resist the urge to mentally split a Fusion Compiler run into "the DC part" and "the ICC2 part." Constraints and floorplan decisions you'd normally set only once, at hand-off, now influence synthesis directly — get your floorplan reasonably right before the first full run.

Recap

  • Fusion Compiler = Design Compiler's synthesis engines + ICC2's physical engines, one shared data model.
  • It removes the netlist hand-off between synthesis and place-and-route, reducing timing-correlation drift.
  • It's licensed and run as its own product, distinct from standalone Design Compiler / ICC2 flows.
  • Core flow: read RTL/SDC → floorplan → compile_fusion -to_placement → clock_opt → route_auto.
Coming Up in the Series

Company-level overviews of Cadence, Synopsys, and Siemens EDA, plus dedicated posts on tool installation guides and learning roadmaps across the EDA stack.

EDA Tools & Industry Guidance · Series
← ICC2

Comments

Popular posts from this blog

Module 1 — SystemVerilog Basics

VLSI Verification  •  SystemVerilog Series Module 1 — SystemVerilog Basics A complete, example-driven walkthrough of SystemVerilog fundamentals: data types, variables vs nets, arrays of every flavor, strings, enums, structs, unions, and typedef — the building blocks every verification engineer needs before UVM. 🧩 Beginner → Intermediate ⏱ ~25 min read 💻 Code Examples Included 📑 Table of Contents Introduction to SystemVerilog Verilog vs SystemVerilog Data Types: 2-State vs 4-State Logic Variables and Nets Arrays: Packed vs Unpacked Dynamic Arrays Queues Associative Arrays Strings Enumerations Structures Unions Typedef 1 Introduction to SystemVerilog SystemVerilog (IEEE 1800) is a unified hardware description and verification language (HDVL). It extends Verilog (IEEE 1364) with powerful constructs for design (interfaces, always_comb/always_ff, enhanced d...

GPU Memory System & Interconnect: How Data Travels Inside a Modern GPU

GPU Memory System & Interconnect: How Data Travels Inside a Modern GPU Modern GPUs deliver incredible computing power by processing thousands of operations simultaneously. While compute cores often receive the spotlight, the real performance of a GPU depends heavily on how efficiently data moves between memory and compute units. A GPU memory system is designed to provide extremely high bandwidth while keeping latency as low as possible. This is achieved through a collection of specialized hardware components working together, including the Memory Controller, HBM/GDDR memory, Crossbar, Network-on-Chip (NoC), DMA Engine, PCIe Interface, and NVLink. In this article, we'll explore each component in detail and understand how they collectively enable high-performance parallel computing. Why Does GPU Memory Matter? Every GPU application—from gaming and graphics rendering to AI model training and scientific simulations—requires continuous movement of enormous amounts of data. For examp...

Clock Domain Crossing (CDC): A Complete Beginner's Guide to Metastability, Synchronizers & Safe Data Transfer

Clock Domain Crossing (CDC): A Complete Beginner's Guide to Metastability, Synchronizers & Safe Data Transfer Modern System-on-Chip (SoC) designs rarely operate with a single clock. Instead, different modules such as CPUs, GPUs, memory controllers, communication interfaces, and peripherals often run at different clock frequencies or even use completely independent clock sources . When data moves from one clock domain to another, timing uncertainty can cause serious problems such as metastability , data corruption , and unpredictable system behaviour . This challenge is known as Clock Domain Crossing (CDC) . CDC is one of the most important topics in ASIC Design , RTL Design , ASIC Verification , FPGA Design , and SoC Architecture . Every modern chip—from smartphones to automotive processors—uses CDC techniques to ensure reliable communication between multiple clock domains. In this article, we'll explore CDC fundamentals, metastability, synchronization techniques, asynchro...

AXI Verification Interview Questions and Real-World Debugging

AMBA Protocol Series · Part 10 of 10 AXI Verification Interview Questions and Real-World Debugging Common protocol violations, how to read them off a waveform, and a curated set of interview questions with concise, correct answers — the capstone of the core 10-day series. AMBA Protocol Series: From APB & AHB to AXI — A Complete Guide for VLSI Engineers This wraps up the core 10-day series. Everything here draws directly on Days 1–9 — if any answer below feels unfamiliar, that's a good signal for which earlier post to revisit. (If you want to go further, see the 20-day extended list at the end of this post.) In This Article Common Protocol Violations Debugging From a Waveform Interview Questions and Answers Series Recap Extending the Series 1. Common Protocol Violations VALID deasserted before handshake — a source drops VALID before READY ever went high (violates the Day 8 stabi...

Cache Basics and Cache Mapping Techniques

  Cache Basics and Cache Mapping Techniques  Modern processors execute billions of instructions every second. However, processor speed has increased much faster than main memory (RAM) speed. This difference, known as the memory wall , creates a performance bottleneck because the CPU often has to wait for data from slower memory. To solve this problem, computer systems use cache memory —a small, high-speed memory located between the CPU and the main memory. In this article, we will understand the fundamentals of cache memory, the principle of locality, cache organization, and the three major cache mapping techniques. What is Cache Memory? Cache memory is a small, high-speed memory that stores copies of frequently accessed data from the main memory. Since accessing cache is much faster than accessing RAM, the CPU first checks whether the required data is available in the cache. If the data is found in the cache, it is called a cache hit . Otherwise, the CPU fetches the dat...

Timing Basics in Static Timing Analysis (STA): Delay Models, Sequential Timing, and Wire Delays

Timing Basics in Static Timing Analysis (STA) Static Timing Analysis (STA) is one of the most important verification techniques used in modern VLSI design. Before a chip is manufactured, engineers must verify that every signal reaches its destination within the required clock period. Even if a design passes functional simulation, it may still fail after fabrication because of timing violations. Unlike simulation, Static Timing Analysis mathematically analyzes every timing path without applying input test vectors. This makes STA significantly faster and capable of analyzing millions of timing paths efficiently. Table of Contents What is Static Timing Analysis? Why STA is Required Propagation Delay Contamination Delay Cell Delay Models Combinational Gate Delay Sequential Timing Setup Time Hold Time Wire Delay RC Delay Model PVT Corners Worked Examples Interview Questions Key Takeaways What is Static Timing Analysis? Static Ti...

Computer Architecture Interview Question Part 1

Skip to content Computer Architecture Interview Series Part 1 · CPU Basics · RISC vs CISC · ISA 50 Most Asked Computer Architecture Interview Questions (Part 1) The foundational round every VLSI, ASIC, and CPU design interview opens with: instruction set architecture, RISC vs CISC trade-offs, Von Neumann vs Harvard design, registers, endianness, and the fetch-decode-execute cycle — explained the way interviewers actually expect you to answer.  40 Questions (Q1–Q40) ⌛ 22 min read  VLSI & Computer Architecture Interviews On this page Foundations of Computer Architecture RISC vs CISC — Core Differences Von Neumann, Harvard & the Semantic Gap Architecture Styles, Endianness & Registers ILP, VLIW, Superscalar & Amdahl's Law Register Files, Microcontrollers & the Fetch Cycle Tip...