DVD - Lecture 3a: Logic Synthesis - Part 1

DVD - Lecture 3a: Logic Synthesis - Part 1

Introduction to Logic Synthesis

Overview of Logic Synthesis

  • Logic synthesis is the process that converts RTL (Register Transfer Level) designs into a technology-specific gate-level netlist, optimized for predefined constraints.
  • The synthesis tool takes an RTL description and standard cell library, producing a netlist that details how gates are interconnected.
  • This process applies not only to ASIC designs but also to FPGAs, mapping designs to lookup tables within the FPGA architecture.

Mathematical Representation

  • A finished state machine is represented mathematically with inputs (X), outputs (Y), internal states (Z), and functions (Lambda and Delta).
  • The synthesis transforms this state machine into a target circuit composed of Boolean gates and interconnecting wires.

Benefits of Logic Synthesis

Advantages

  • Logic synthesis automates many design details, reducing bugs and improving productivity compared to manual design methods.
  • It abstracts HDL descriptions from specific implementation technologies, facilitating easier transitions between different technologies.
  • While logic synthesis offers significant advantages, there may be cases where designers possess prior knowledge that allows for better manual optimization.

Example Scenario

  • An example illustrates how synthesizers can simplify complex combinatorial logic; what might be difficult for humans becomes straightforward for automated tools.

Goals of Logic Synthesis

Optimization Objectives

  • Key goals include minimizing area (measured in literal count), maximizing performance (targeting clock frequency), and minimizing power consumption.
  • Designers often need to balance these objectives by assigning weights based on project requirements—some may prioritize smaller area while others focus on higher performance.

Constraint Formulation

  • Constraints are formulated as optimization problems, such as minimizing area while ensuring a minimum clock speed requirement.

Methods in Logic Synthesis

High-Level Description

  • Various methods exist for logic synthesis including instantiation of primitive gates like AND or OR gates directly from Verilog code.
  • More complex behavioral descriptions can be replaced with optimized architectures like carry lookahead adders through macro expansion or substitution.

Synthesis Flow in Hardware Design

Overview of Inference and Logic Optimization

  • Inference involves recognizing specific patterns within the hardware description language (HDL), allowing the tool to substitute different operators effectively.
  • The most common inference relates to sequential elements, where tools identify flip-flops based on constructs like "always at positive clock" blocks.
  • Logic optimization occurs after reading the design, utilizing techniques for Boolean operation grouping and minimization.
  • Structural reorganization allows for circuit retiming and other optimizations beyond simple Boolean logic adjustments.

Stages of Synthesis Process

Syntax Analysis and Library Definition

  • The synthesis process begins with syntax analysis, checking HDL files for errors using commands like read HDL.
  • The library definition stage informs the synthesis tool about technology specifics, including leaf cells and IP types through commands such as read Libs.

Elaboration and Binding

  • Elaboration converts RTL into a Boolean structure while performing various optimizations related to computational Boolean algebra.
  • Binding is necessary when encountering instantiated standard cells or IP blocks, directing the tool on how to handle these components.

Constraints Definition

  • After elaboration, a structural model is created that allows for defining constraints regarding performance metrics like speed.
  • Constraints are typically defined using SDC (Synopsis Design Constraints), with commands such as read SDC pointing to relevant files.

Mapping and Optimization Stages

Pre-Mapping Optimization

  • Pre-mapping optimization involves mapping elaborated Boolean logic to generic internal cells representing standard cells in libraries.

Technology Mapping

  • Technology mapping connects RTL descriptions with actual standard cells, incorporating real delays and limitations from the cell library.

Post-Mapping Optimization

  • This stage iterates over designs applying heuristics and optimizations post-mapping. Cadence Genus utilizes three stages: generic sin map and synopt for this purpose.

Final Steps in Synthesis

Reporting Results

  • After completing synthesis, various reports are generated focusing on timing analysis, size estimation, gate usage, etc., guiding further design decisions.

Exporting Results

  • Once satisfied with results from synthesis processes, exporting data (e.g., netlist via write HDL) prepares it for physical implementation in place-and-route tools.
Video description

Bar-Ilan University 83-612: Digital VLSI Design This is Lecture 3 of the Digital VLSI Design course at Bar-Ilan University. In this course, I cover the basics of Chip Implementation, from designing the logic (RTL) to providing a layout ready for fabrication (GDS). Lecture 3 is the first of two part overview of logic synthesis. The first lecture focuses on Standard Cell Libraries, which are an integral part of the synthesis process. Lecture 3a introduces the logic synthesis flow. Lecture slides can be found on the EnICS Labs web site at: https://enicslabs.com/academic-courses/dvd-english/ All rights reserved: Dr. Adam Teman Emerging nanoscaled Integrated Circuits and Systems (EnICS) Labs Faculty of Engineering, Bar-Ilan University