Welcome to the RTL Design And Synthesis Workshop Using SKY130 repository.
This repository contains complete hands-on documentation, RTL designs, simulations, synthesis results, waveform analysis, Gate-Level Simulation (GLS), synthesis optimization techniques, and SKY130 standard-cell based ASIC design flow using open-source EDA tools.
The workshop demonstrates the complete RTL-to-Gate-Level design flow using:
- Verilog HDL
- Icarus Verilog
- GTKWave
- Yosys
- SKY130 Standard Cell Libraries
- Open-source ASIC synthesis flow
The main objectives of this workshop are:
- Understand Verilog RTL design fundamentals
- Learn RTL simulation and waveform verification
- Understand synthesis using Yosys
- Explore SKY130 timing libraries and standard cells
- Learn combinational and sequential optimizations
- Perform Gate-Level Simulation (GLS)
- Understand synthesis-simulation mismatches
- Analyze latch inference and coding styles
- Build scalable RTL designs using generate blocks
- Understand synthesis-aware RTL coding practices
Specification
β
RTL Design (Verilog)
β
RTL Simulation using Icarus Verilog
β
Waveform Verification using GTKWave
β
Logic Synthesis using Yosys
β
Technology Mapping using SKY130
β
Gate-Level Netlist Generation
β
Gate-Level Simulation (GLS)
β
Optimization & Verification
RTL-Design-And-Synthesis-Workshop-Using-SKY130/
β
βββ Day 1 - Introduction to Verilog RTL design and Synthesis/
βββ Day 2 - Timing libs, hierarchical vs flat synthesis and efficient flop coding styles/
βββ Day 3 - Combinational and sequential optimizations/
βββ Day 4 - GLS, blocking vs non-blocking and Synthesis-Simulation mismatch/
βββ Day 5 - Optimization in synthesis/
β
βββ README.md
- About The Workshop
- Workshop Objectives
- RTL Design Flow
- Repository Structure
- Prerequisites
- Installation
- Tools Used
- Workshop Structure
- Quick Start
- Major Concepts Covered
- Important Comparisons
- Skills Demonstrated
- Author
- Acknowledgements
- Conclusion
Before starting this workshop, basic understanding of the following concepts is helpful:
- Digital Electronics
- Logic Gates
- Flip-Flops
- Linux Terminal Commands
- Verilog HDL Basics
- Digital Logic Design
sudo apt install iverilogsudo apt install gtkwavesudo apt install yosyssudo apt install gitgit clone https://github.com/kunalg123/sky130RTLDesignAndSynthesisWorkshop.git| Tool | Purpose |
|---|---|
| Icarus Verilog (iverilog) | RTL & GLS Simulation |
| GTKWave | Waveform Analysis |
| Yosys | Logic Synthesis |
| SKY130 PDK | Standard Cell Libraries |
| Linux Terminal | Command Execution |
| Git & GitHub | Version Control |
Topics Covered:
- Simulator, Design, and Testbench
- RTL Simulation using Icarus Verilog
- Waveform Analysis using GTKWave
- Introduction to Logic Synthesis
- SKY130 Standard Cell Libraries
- Timing Concepts
- Synthesis using Yosys
- Gate-Level Netlist Generation
Topics Covered:
- Liberty Timing Libraries
- SKY130 PDK Overview
- Standard Cell Characterization
- Drive Strength Analysis
- Hierarchical vs Flat Synthesis
- Logic Optimization
- Flip-Flop Coding Styles
- Technology Mapping
Topics Covered:
- Constant Propagation
- Boolean Simplification
- Dead Logic Elimination
- Multi-Module Optimization
- Sequential Optimization
- Counter Optimization
- Register Optimization
- Optimization-aware RTL Coding
Topics Covered:
- Gate-Level Simulation (GLS)
- RTL vs GLS Verification
- Missing Sensitivity List
- Blocking vs Non-Blocking Assignments
- Synthesis-Simulation Mismatch
- Correct RTL Coding Styles
- Gate-Level Verification
Topics Covered:
- IF Constructs
- CASE Constructs
- Incomplete IF and CASE Statements
- Latch Inference
- FOR vs FOR GENERATE
- MUX & DEMUX Design
- Generate-based Hardware Replication
- Ripple Carry Adder using Generate
- Gate-Level Simulation
iverilog design.v testbench.v
./a.out
gtkwave waveform.vcdyosys
read_liberty -lib sky130_fd_sc_hd__tt_025C_1v80.lib
read_verilog design.v
synth -top module_name
abc -liberty sky130_fd_sc_hd__tt_025C_1v80.lib
showiverilog primitives.v sky130_fd_sc_hd.v design_netlist.v testbench.v
./a.out
gtkwave waveform.vcd- Functional verification
- Waveform analysis
- Testbench development
- Signal monitoring
- RTL to Gate-Level conversion
- Technology mapping
- Logic optimization
- Standard-cell inference
- Liberty
.libfiles - Setup timing
- Hold timing
- PVT analysis
- Drive strength optimization
- Constant propagation
- Boolean simplification
- Dead logic elimination
- Multi-module optimization
- Register optimization
- Counter optimization
- Sequential constant propagation
- Flip-flop inference
- Netlist verification
- Post-synthesis validation
- RTL vs GLS comparison
- Functional equivalence checking
- Blocking vs Non-blocking assignments
- Sensitivity list importance
- IF vs CASE constructs
- Latch inference avoidance
- Generate-based scalable RTL
| Comparison | Observation |
|---|---|
| RTL vs GLS | GLS uses synthesized hardware |
| Blocking vs Non-Blocking | Sequential vs Parallel behavior |
| Hierarchical vs Flat Synthesis | Debugging vs Optimization tradeoff |
| Complete vs Incomplete CASE | No latch vs Latch inference |
| FOR vs FOR GENERATE | Behavioral vs Structural |
| Optimized vs Non-Optimized Logic | Reduced area and gate count |
| Fast Cells vs Slow Cells | Speed vs Area/Power tradeoff |
β Day-wise structured documentation β RTL + GLS Verification β SKY130 Standard Cell Mapping β Waveform Analysis β Gate-Level Netlists β Yosys Synthesis Flow β Optimization Examples β Timing Library Analysis β Generate-based RTL Design β Latch Inference Analysis β Beginner-Friendly Explanations β Open-Source ASIC Design Flow
This repository demonstrates practical understanding of:
- Verilog RTL Design
- RTL Simulation
- Waveform Analysis
- Logic Synthesis
- SKY130 Standard Cell Mapping
- Timing Library Analysis
- Gate-Level Simulation (GLS)
- Synthesis Optimization
- Sequential Logic Design
- Combinational Logic Design
- Generate Constructs
- ASIC Design Fundamentals
- Linux-based ASIC Flow
- Yosys Synthesis Flow
- Synthesis-aware RTL Coding
Electronics & Communication Engineering Student
Interested in:
- VLSI Design
- RTL Design
- ASIC Design Flow
- Verilog HDL
- Open-Source Silicon
- Digital Electronics
Special thanks to:
- Kunal Ghosh
- VSD (VLSI System Design) Platform
- SKY130 Open PDK Contributors
- Yosys Development Team
- Icarus Verilog Contributors
- Open-Source VLSI Community
This workshop provided strong practical understanding of:
- RTL Design
- Logic Synthesis
- Timing Libraries
- Optimization Techniques
- Gate-Level Simulation
- SKY130 Standard Cells
- Synthesis-aware RTL Coding
- Generate-based Hardware Design
Through hands-on labs, waveform analysis, synthesized netlists, optimization experiments, and GLS verification, this repository establishes a strong foundation in RTL design and synthesis using open-source ASIC tools.