Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • Logic Synthesis Glossary
  • Logic Synthesis Cheatsheet
  • Synthesis Foundations14
    • Synthesis Flow Overview
    • Synthesizable RTL and Inference
      • Combinational Blocks Infer Logic
      • Priority Chains versus Parallel Selects
      • Latch Inference from Incomplete Assignment
      • Flops, Tri-States and Unrolled Loops
      • What Is Not Synthesizable
    • Reading Netlists and Reports
  • Logic Optimisation and Mapping20
  • Constraints and Timing15
  • Sequential, FSM and Memory19
  • Datapath Synthesis14
  • Area, Power and Test14
  • Verification, ECO and Handoff15
  • Flows and Debugging15
  • Interview and Judgment11
Loading lesson

‹Synthesis Foundations
  1. Topics
  2. Logic Synthesis
  3. Synthesis Foundations
  4. Synthesizable RTL and Inference

Part 1 · Synthesis Foundations · Intermediate

Synthesizable RTL and Inference

Which RTL constructs infer which hardware, and the latch and priority pitfalls.

  • 5topics
  • 5lessons

Each RTL construct maps to specific hardware. Combinational blocks become gates and multiplexers, a skipped assignment in a combinational block becomes a latch, and clocked blocks become flip-flops.

RTL construct

Hardware inferred

Generic cell

assign and complete always @*

Gates and multiplexers, per the expression

$and, $or, $mux, ...

if with else, full case

Multiplexer

$mux

if without else, case without default, in a combinational block

Latch

$dlatch

Same shapes in a clocked block

Flop with enable

$dff

always @(posedge clk)

Flip-flop per bit

$dff

Output driven to 1'bz

Tri-state driver at pins

Tri-state buffer

for loop with fixed bounds

Repeated hardware, one copy per iteration

Unrolled gates

From construct to cell through one inference rule.
Each construct meets an inference rule that names its generic cell.

Lesson

What it covers

Combinational Blocks Infer Logic

Complete assignment in combinational blocks, proved with the tool.

Priority Chains versus Parallel Selects

If chains, parallel case selects, and their depth and area.

Latch Inference from Incomplete Assignment

The missing-else latch, its fixes, and a latch-against-mux proof.

Flops, Tri-States and Unrolled Loops

Clocked blocks, pin tri-states, unrolled loops, and a calculator.

What Is Not Synthesizable

Delays, testbench blocks, and types with no hardware mapping.

Check yourself A combinational block skips its output on one branch. Which cell holds the old value?

A latch. The latch lesson proves one $dlatch with the tool and contrasts it with a mux.

Interview

Carry one sentence per lesson: complete assignment gives muxes, if chains give priority depth, missing branches in combinational blocks give latches, clock edges give flops, and delays give nothing.

Related topics

  • Up: Synthesis Foundations

  • Previous: Synthesis Flow Overview

  • Next: Reading Netlists and Reports

PreviousNext: Combinational Blocks Infer Logic

Up next

Up nextCombinational Blocks Infer Logic

Sign in to save progress

Practice this lessonReport an error

See also

  • Synthesis Flow Overview
  • Reading Netlists and Reports