SlideShare a Scribd company logo
1 of 13
Download to read offline
Tutorial on Cadence Genus
Synthesis Solution
EE 201A – VLSI Design Automation – Spring 2020
UCLA Electrical Engineering
Instructor: Prof. Puneet Gupta
TA: Irina Alam
Based on slides from: Mark Gottscho/Vishesh Dokani
Logic Synthesis
• RTL: Register-Transfer-Level description of logic design
(e.g., c = a + b)
– Allows both Behavioral (add two numbers) and structural (connect module A to
module B) design styles
– Focus on higher-level functionality, e.g. sequential logic, pipeline stages, maybe
even micro-architectural design
– Verilog/VHDL are industry standard hardware description languages (HDL) used
for RTL
• Logic synthesis: Automatically reduce RTL to gate-level logic
(e.g., AND, NOT, wires, etc.) with help of a logic library
– Still represented in Verilog, but lose intuition of higher abstraction. Purely
structural design style
– In fact, you can write your own gate-level logic implementation! Try it … ;)
• … and you will rapidly appreciate the power of logic synthesis!
– RTL s1494.v à gate-level s1494_synth.v
• Software analogy: compile C to assembly language
RTL vs. Gate-Level Example in Verilog
• RTL:
always @(posedge clock)
if(add1 && add2) r <= r+3;
else if(add2) r <= r+2;
else if(add1) r <= r+1;
• Logic gates:
AOI22_X1 g15017(.A1 (n_212), .A2 (n_249), .B1 (n_237), .B2
(n_210), .ZN (n_322));
NOR2_X1 g15020(.A1 (n_211), .A2 (n_210), .ZN (n_246));
NOR2_X1 g15021(.A1 (n_275), .A2 (n_148), .ZN (n_209));
NOR2_X1 g15023(.A1 (n_258), .A2 (n_117), .ZN (n_208));
INV_X1 g15024(.A (n_207), .ZN (n_289));
Nangate* Open Cell Library
*not NANDgate! J www.nangate.com
• Commonly used set of standard cells that are
treated as primitives in the HDL
– Needed for logic synthesis as well as physical design
• Includes logic representation
– AND gate example: ZN = (A1 & A2);
• Includes physical design information
– Cell timing
• Capacitance, Delay, Transition time, etc.
– Cell power
• Leakage power, Capacitance, etc.
– Cell area
• Different libraries for different design corners
– NangateOpenCellLibrary_typical.lib for typical corner
Genus
• Industry standard synthesis suite.
• 2019 version of the traditional Cadence
Encounter RTL Compiler (RC).
• Logic as well as physical synthesis.
• Genus has a Legacy UI to directly run old
commands from RC.
– Not permitted for Lab 2. You must use updated Genus
commands.
Tool Setup & Documentation
• Use same setup files:
/w/class.1/ee/ee201o/ee201ota/csh_ee201a_setup
• Launch Genus with GUI (if display variable set)
$ genus -gui
• Launch Genus without GUI using Tcl (Tool Command
Language) script of input commands
$ genus < synth.tcl
• Genus Documentation
$ acroread <path>.pdf
/w/apps3/Cadence/GENUS191/doc/{genus_comref,
genus_attref, genus_user_legacy}
Example: $ acroread
/w/apps3/Cadence/GENUS191/doc/genus_comref/genus_com
ref.pdf
– Use Legacy User Manual only as a reference methodology guide.
Genus Logic Synthesis (1) - Example
set_db information_level 9 # Debug verbosity from 0 to 9
set_db hdl_error_on_blackbox true # Generate error when cannot map a block (a cell in
the library is missing)
set_db init_hdl_search_path {./} # Path to Verilog design files
read_hdl -v2001 verilog_file # Read Verilog design files
set_db init_lib_search_path {./} # Path to .lib (Liberty, not library suffix)
timing library
set_db library liberty_filename.lib # Set filename of the Liberty file for our
Nangate library
elaborate name_of_top_level_module # Initialize design from Verilog file (.v)
# Apply design constraints for logic synthesis
# Define clock with 1000ps period, no external timing slack, clock transition time
(slew rate) of 100ps
set clock [define_clock -period 1000 -name ${clkpin} [clock_ports]]
set_input_delay -clock ${clkpin} 0 [vfind /designs/${DESIGN}/ports -port *]
set_output_delay -clock ${clkpin} 0 [vfind /designs/${DESIGN}/ports -port *]
dc::set_clock_transition .1 ${clkpin}
check_design –unresolved # Check for unresolved refs & empty modules
Genus Logic Synthesis (2)
# Perform logic synthesis: technology mapping + logic optimization
syn_generic
syn_map
syn_opt
# List possible timing problems
report_timing -lint
# Output some useful results of synthesis
report_timing > output/synth_report_timing.txt
report_gates > output/synth_report_gates.txt
report_power > output/synth_report_power.txt
# Write the synthesized netlist as Verilog HDL
write_hdl > output/s15850_synth.v
# Write design constraints to SDC file
write_sdc > output/s15850.sdc
Genus Set Attribute Syntax
• Change of syntax for setting attribute values:
RTL Compiler Genus
set_attribute set_db
• Genus: All kinds of object attributes grouped under
same command
– Root attributes:
set_db attribute_name value
– Design attributes:
set_db design:/$DESIGN .attribute_name value
– And so on for other object types
Getting Started With Lab 2 (1)
• Cycle time (T) cannot be smaller
than longest path delay (Tmax)
• Longest (critical) path delay is a
function of:
– Total gate, wire delays
• Slack = T - Tmax
Source: EE201A Lecture Slides
Getting Started With Lab 2 (2)
• Run skeleton script: $ genus < lab2_skeleton.tcl
• Change clock period in script
set clock [define_clock -period 651 -name clk [clock_ports]]
• Check slacks
genus:/>report_timing
– Slack: -1ps (delay of critical path is 652ps)
Getting Started With Lab 2 (3)
• Check power
genus:/> report_power
• Improve your design
– Read user and command reference manuals
– What Genus commands do you think could improve your delay,
area, and/or power?
– Add Genus commands into the “right” positions in script
– Experiment with ordering of commands during synthesis
Lab 2 Goals
• Work with Cadence Genus
– to understand synthesis flow and familiarize
yourself with a useful tool in industry
– manipulate CAD tool to generate a better design
from the same RTL

More Related Content

What's hot

What's hot (20)

Floorplanning.pdf
Floorplanning.pdfFloorplanning.pdf
Floorplanning.pdf
 
Static_Time_Analysis.pptx
Static_Time_Analysis.pptxStatic_Time_Analysis.pptx
Static_Time_Analysis.pptx
 
FPGA Introduction
FPGA IntroductionFPGA Introduction
FPGA Introduction
 
Physical Design Flow Challenges at 28nm on Multi-million Gate Blocks
Physical Design Flow Challenges at 28nm on Multi-million Gate BlocksPhysical Design Flow Challenges at 28nm on Multi-million Gate Blocks
Physical Design Flow Challenges at 28nm on Multi-million Gate Blocks
 
Formal Verification - Formality.pdf
Formal Verification - Formality.pdfFormal Verification - Formality.pdf
Formal Verification - Formality.pdf
 
Clock Tree Timing 101
Clock Tree Timing 101Clock Tree Timing 101
Clock Tree Timing 101
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
 
5. Data and Timing Setup Introduction.pdf
5. Data and Timing Setup Introduction.pdf5. Data and Timing Setup Introduction.pdf
5. Data and Timing Setup Introduction.pdf
 
Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)
 
Vlsi
VlsiVlsi
Vlsi
 
5. DFT.pptx
5. DFT.pptx5. DFT.pptx
5. DFT.pptx
 
Multi mode multi corner (mmmc)
Multi mode multi corner (mmmc)Multi mode multi corner (mmmc)
Multi mode multi corner (mmmc)
 
GUI for DRV fix in ICC2
GUI for DRV fix in ICC2GUI for DRV fix in ICC2
GUI for DRV fix in ICC2
 
Implementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew GroupsImplementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew Groups
 
Pd flow i
Pd flow iPd flow i
Pd flow i
 
1. Introduction to PnR.pptx
1. Introduction to PnR.pptx1. Introduction to PnR.pptx
1. Introduction to PnR.pptx
 
Understanding cts log_messages
Understanding cts log_messagesUnderstanding cts log_messages
Understanding cts log_messages
 
Powerplanning
PowerplanningPowerplanning
Powerplanning
 
Scan insertion
Scan insertionScan insertion
Scan insertion
 
Chapter1.slides
Chapter1.slidesChapter1.slides
Chapter1.slides
 

Similar to Cadence GenusTutorial------------ .pdf.pdf

Verilog HDL Training Course
Verilog HDL Training CourseVerilog HDL Training Course
Verilog HDL Training CoursePaul Laskowski
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdlArshit Rai
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdlArshit Rai
 
Madeo - a CAD Tool for reconfigurable Hardware
Madeo - a CAD Tool for reconfigurable HardwareMadeo - a CAD Tool for reconfigurable Hardware
Madeo - a CAD Tool for reconfigurable HardwareESUG
 
06_1_design_flow.ppt
06_1_design_flow.ppt06_1_design_flow.ppt
06_1_design_flow.pptMohammedMianA
 
Prilimanary Concepts of VHDL by Dr.R.Prakash Rao
Prilimanary Concepts of VHDL by    Dr.R.Prakash RaoPrilimanary Concepts of VHDL by    Dr.R.Prakash Rao
Prilimanary Concepts of VHDL by Dr.R.Prakash Raorachurivlsi
 
AADL: Architecture Analysis and Design Language
AADL: Architecture Analysis and Design LanguageAADL: Architecture Analysis and Design Language
AADL: Architecture Analysis and Design LanguageIvano Malavolta
 
Digital principle and computer design Presentation (1).pptx
Digital principle and computer design Presentation (1).pptxDigital principle and computer design Presentation (1).pptx
Digital principle and computer design Presentation (1).pptxMalligaarjunanN
 
Verilog Lecture1
Verilog Lecture1Verilog Lecture1
Verilog Lecture1Béo Tú
 
hardware description language power point presentation
hardware description language power point presentationhardware description language power point presentation
hardware description language power point presentationdhananjeyanrece
 
torque - Automation Testing Tool for C-C++ on Linux
torque -  Automation Testing Tool for C-C++ on Linuxtorque -  Automation Testing Tool for C-C++ on Linux
torque - Automation Testing Tool for C-C++ on LinuxJITENDRA LENKA
 
ElixirでFPGAを設計する
ElixirでFPGAを設計するElixirでFPGAを設計する
ElixirでFPGAを設計するHideki Takase
 

Similar to Cadence GenusTutorial------------ .pdf.pdf (20)

VLSI
VLSIVLSI
VLSI
 
VLSI
VLSIVLSI
VLSI
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Verilog HDL Training Course
Verilog HDL Training CourseVerilog HDL Training Course
Verilog HDL Training Course
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
FPGA workshop
FPGA workshopFPGA workshop
FPGA workshop
 
Tutor1
Tutor1Tutor1
Tutor1
 
Madeo - a CAD Tool for reconfigurable Hardware
Madeo - a CAD Tool for reconfigurable HardwareMadeo - a CAD Tool for reconfigurable Hardware
Madeo - a CAD Tool for reconfigurable Hardware
 
06_1_design_flow.ppt
06_1_design_flow.ppt06_1_design_flow.ppt
06_1_design_flow.ppt
 
Prilimanary Concepts of VHDL by Dr.R.Prakash Rao
Prilimanary Concepts of VHDL by    Dr.R.Prakash RaoPrilimanary Concepts of VHDL by    Dr.R.Prakash Rao
Prilimanary Concepts of VHDL by Dr.R.Prakash Rao
 
AADL: Architecture Analysis and Design Language
AADL: Architecture Analysis and Design LanguageAADL: Architecture Analysis and Design Language
AADL: Architecture Analysis and Design Language
 
Digital principle and computer design Presentation (1).pptx
Digital principle and computer design Presentation (1).pptxDigital principle and computer design Presentation (1).pptx
Digital principle and computer design Presentation (1).pptx
 
Verilog Lecture1
Verilog Lecture1Verilog Lecture1
Verilog Lecture1
 
hardware description language power point presentation
hardware description language power point presentationhardware description language power point presentation
hardware description language power point presentation
 
Vlsi lab2
Vlsi lab2Vlsi lab2
Vlsi lab2
 
Vhdl new
Vhdl newVhdl new
Vhdl new
 
torque - Automation Testing Tool for C-C++ on Linux
torque -  Automation Testing Tool for C-C++ on Linuxtorque -  Automation Testing Tool for C-C++ on Linux
torque - Automation Testing Tool for C-C++ on Linux
 
ElixirでFPGAを設計する
ElixirでFPGAを設計するElixirでFPGAを設計する
ElixirでFPGAを設計する
 
VHDL_VIKAS.pptx
VHDL_VIKAS.pptxVHDL_VIKAS.pptx
VHDL_VIKAS.pptx
 

More from SamHoney6

eetop.cn_UVM_REG_workshop.--------------pdf
eetop.cn_UVM_REG_workshop.--------------pdfeetop.cn_UVM_REG_workshop.--------------pdf
eetop.cn_UVM_REG_workshop.--------------pdfSamHoney6
 
snug07_Verilog Gotchas for Verification.pdf
snug07_Verilog Gotchas for Verification.pdfsnug07_Verilog Gotchas for Verification.pdf
snug07_Verilog Gotchas for Verification.pdfSamHoney6
 
04+ECETEMT092-+WDT+APB+UVM.pdf
04+ECETEMT092-+WDT+APB+UVM.pdf04+ECETEMT092-+WDT+APB+UVM.pdf
04+ECETEMT092-+WDT+APB+UVM.pdfSamHoney6
 
14-Bill-Tiffany-SigmaSense-VF2023.pdf
14-Bill-Tiffany-SigmaSense-VF2023.pdf14-Bill-Tiffany-SigmaSense-VF2023.pdf
14-Bill-Tiffany-SigmaSense-VF2023.pdfSamHoney6
 
RF-Transceiver.pdf
RF-Transceiver.pdfRF-Transceiver.pdf
RF-Transceiver.pdfSamHoney6
 
inf5430_sv_randomization.pdf
inf5430_sv_randomization.pdfinf5430_sv_randomization.pdf
inf5430_sv_randomization.pdfSamHoney6
 
FAC14_Vlach.pdf
FAC14_Vlach.pdfFAC14_Vlach.pdf
FAC14_Vlach.pdfSamHoney6
 
vip-shielding.pdf
vip-shielding.pdfvip-shielding.pdf
vip-shielding.pdfSamHoney6
 
UVM_TB_20220621_slides-1.pdf
UVM_TB_20220621_slides-1.pdfUVM_TB_20220621_slides-1.pdf
UVM_TB_20220621_slides-1.pdfSamHoney6
 
Web Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdfWeb Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdfSamHoney6
 
cupdf.com_chapter-11-system-level-verification-issues-the-importance-of-verif...
cupdf.com_chapter-11-system-level-verification-issues-the-importance-of-verif...cupdf.com_chapter-11-system-level-verification-issues-the-importance-of-verif...
cupdf.com_chapter-11-system-level-verification-issues-the-importance-of-verif...SamHoney6
 
UVM-based RISC-V processor Verification Paltform ---.pdf
UVM-based RISC-V processor Verification Paltform ---.pdfUVM-based RISC-V processor Verification Paltform ---.pdf
UVM-based RISC-V processor Verification Paltform ---.pdfSamHoney6
 
SVA Advanced Topics- SVAUnit and Assertions for Introduction to SystemVerilog...
SVA Advanced Topics- SVAUnit and Assertions for Introduction to SystemVerilog...SVA Advanced Topics- SVAUnit and Assertions for Introduction to SystemVerilog...
SVA Advanced Topics- SVAUnit and Assertions for Introduction to SystemVerilog...SamHoney6
 

More from SamHoney6 (14)

eetop.cn_UVM_REG_workshop.--------------pdf
eetop.cn_UVM_REG_workshop.--------------pdfeetop.cn_UVM_REG_workshop.--------------pdf
eetop.cn_UVM_REG_workshop.--------------pdf
 
snug07_Verilog Gotchas for Verification.pdf
snug07_Verilog Gotchas for Verification.pdfsnug07_Verilog Gotchas for Verification.pdf
snug07_Verilog Gotchas for Verification.pdf
 
04+ECETEMT092-+WDT+APB+UVM.pdf
04+ECETEMT092-+WDT+APB+UVM.pdf04+ECETEMT092-+WDT+APB+UVM.pdf
04+ECETEMT092-+WDT+APB+UVM.pdf
 
14-Bill-Tiffany-SigmaSense-VF2023.pdf
14-Bill-Tiffany-SigmaSense-VF2023.pdf14-Bill-Tiffany-SigmaSense-VF2023.pdf
14-Bill-Tiffany-SigmaSense-VF2023.pdf
 
RF-Transceiver.pdf
RF-Transceiver.pdfRF-Transceiver.pdf
RF-Transceiver.pdf
 
inf5430_sv_randomization.pdf
inf5430_sv_randomization.pdfinf5430_sv_randomization.pdf
inf5430_sv_randomization.pdf
 
FAC14_Vlach.pdf
FAC14_Vlach.pdfFAC14_Vlach.pdf
FAC14_Vlach.pdf
 
vip-shielding.pdf
vip-shielding.pdfvip-shielding.pdf
vip-shielding.pdf
 
UVM_TB_20220621_slides-1.pdf
UVM_TB_20220621_slides-1.pdfUVM_TB_20220621_slides-1.pdf
UVM_TB_20220621_slides-1.pdf
 
Sva.pdf
Sva.pdfSva.pdf
Sva.pdf
 
Web Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdfWeb Template Mechanisms in SOC Verification - DVCon.pdf
Web Template Mechanisms in SOC Verification - DVCon.pdf
 
cupdf.com_chapter-11-system-level-verification-issues-the-importance-of-verif...
cupdf.com_chapter-11-system-level-verification-issues-the-importance-of-verif...cupdf.com_chapter-11-system-level-verification-issues-the-importance-of-verif...
cupdf.com_chapter-11-system-level-verification-issues-the-importance-of-verif...
 
UVM-based RISC-V processor Verification Paltform ---.pdf
UVM-based RISC-V processor Verification Paltform ---.pdfUVM-based RISC-V processor Verification Paltform ---.pdf
UVM-based RISC-V processor Verification Paltform ---.pdf
 
SVA Advanced Topics- SVAUnit and Assertions for Introduction to SystemVerilog...
SVA Advanced Topics- SVAUnit and Assertions for Introduction to SystemVerilog...SVA Advanced Topics- SVAUnit and Assertions for Introduction to SystemVerilog...
SVA Advanced Topics- SVAUnit and Assertions for Introduction to SystemVerilog...
 

Recently uploaded

Housewife Call Girls NRI Layout - Call 7001305949 Rs-3500 with A/C Room Cash ...
Housewife Call Girls NRI Layout - Call 7001305949 Rs-3500 with A/C Room Cash ...Housewife Call Girls NRI Layout - Call 7001305949 Rs-3500 with A/C Room Cash ...
Housewife Call Girls NRI Layout - Call 7001305949 Rs-3500 with A/C Room Cash ...narwatsonia7
 
Call Girls Meghani Nagar 7397865700 Independent Call Girls
Call Girls Meghani Nagar 7397865700  Independent Call GirlsCall Girls Meghani Nagar 7397865700  Independent Call Girls
Call Girls Meghani Nagar 7397865700 Independent Call Girlsssuser7cb4ff
 
ARt app | UX Case Study
ARt app | UX Case StudyARt app | UX Case Study
ARt app | UX Case StudySophia Viganò
 
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`dajasot375
 
SCRIP Lua HTTP PROGRACMACION PLC WECON CA
SCRIP Lua HTTP PROGRACMACION PLC  WECON CASCRIP Lua HTTP PROGRACMACION PLC  WECON CA
SCRIP Lua HTTP PROGRACMACION PLC WECON CANestorGamez6
 
Cosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable BricksCosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable Bricksabhishekparmar618
 
Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)
Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)
Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)jennyeacort
 
在线办理ohio毕业证俄亥俄大学毕业证成绩单留信学历认证
在线办理ohio毕业证俄亥俄大学毕业证成绩单留信学历认证在线办理ohio毕业证俄亥俄大学毕业证成绩单留信学历认证
在线办理ohio毕业证俄亥俄大学毕业证成绩单留信学历认证nhjeo1gg
 
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiVIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiSuhani Kapoor
 
PORTAFOLIO 2024_ ANASTASIYA KUDINOVA
PORTAFOLIO   2024_  ANASTASIYA  KUDINOVAPORTAFOLIO   2024_  ANASTASIYA  KUDINOVA
PORTAFOLIO 2024_ ANASTASIYA KUDINOVAAnastasiya Kudinova
 
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdfSwaraliBorhade
 
Call Girls Aslali 7397865700 Ridhima Hire Me Full Night
Call Girls Aslali 7397865700 Ridhima Hire Me Full NightCall Girls Aslali 7397865700 Ridhima Hire Me Full Night
Call Girls Aslali 7397865700 Ridhima Hire Me Full Nightssuser7cb4ff
 
办理学位证(NUS证书)新加坡国立大学毕业证成绩单原版一比一
办理学位证(NUS证书)新加坡国立大学毕业证成绩单原版一比一办理学位证(NUS证书)新加坡国立大学毕业证成绩单原版一比一
办理学位证(NUS证书)新加坡国立大学毕业证成绩单原版一比一Fi L
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Rndexperts
 
办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一
办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一
办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一F dds
 
Revit Understanding Reference Planes and Reference lines in Revit for Family ...
Revit Understanding Reference Planes and Reference lines in Revit for Family ...Revit Understanding Reference Planes and Reference lines in Revit for Family ...
Revit Understanding Reference Planes and Reference lines in Revit for Family ...Narsimha murthy
 
Call Girls Bapu Nagar 7397865700 Ridhima Hire Me Full Night
Call Girls Bapu Nagar 7397865700 Ridhima Hire Me Full NightCall Girls Bapu Nagar 7397865700 Ridhima Hire Me Full Night
Call Girls Bapu Nagar 7397865700 Ridhima Hire Me Full Nightssuser7cb4ff
 

Recently uploaded (20)

Housewife Call Girls NRI Layout - Call 7001305949 Rs-3500 with A/C Room Cash ...
Housewife Call Girls NRI Layout - Call 7001305949 Rs-3500 with A/C Room Cash ...Housewife Call Girls NRI Layout - Call 7001305949 Rs-3500 with A/C Room Cash ...
Housewife Call Girls NRI Layout - Call 7001305949 Rs-3500 with A/C Room Cash ...
 
Call Girls Meghani Nagar 7397865700 Independent Call Girls
Call Girls Meghani Nagar 7397865700  Independent Call GirlsCall Girls Meghani Nagar 7397865700  Independent Call Girls
Call Girls Meghani Nagar 7397865700 Independent Call Girls
 
ARt app | UX Case Study
ARt app | UX Case StudyARt app | UX Case Study
ARt app | UX Case Study
 
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
 
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
 
SCRIP Lua HTTP PROGRACMACION PLC WECON CA
SCRIP Lua HTTP PROGRACMACION PLC  WECON CASCRIP Lua HTTP PROGRACMACION PLC  WECON CA
SCRIP Lua HTTP PROGRACMACION PLC WECON CA
 
Cosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable BricksCosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable Bricks
 
Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)
Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)
Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)
 
在线办理ohio毕业证俄亥俄大学毕业证成绩单留信学历认证
在线办理ohio毕业证俄亥俄大学毕业证成绩单留信学历认证在线办理ohio毕业证俄亥俄大学毕业证成绩单留信学历认证
在线办理ohio毕业证俄亥俄大学毕业证成绩单留信学历认证
 
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiVIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
 
PORTAFOLIO 2024_ ANASTASIYA KUDINOVA
PORTAFOLIO   2024_  ANASTASIYA  KUDINOVAPORTAFOLIO   2024_  ANASTASIYA  KUDINOVA
PORTAFOLIO 2024_ ANASTASIYA KUDINOVA
 
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
 
3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf
 
Call Girls Aslali 7397865700 Ridhima Hire Me Full Night
Call Girls Aslali 7397865700 Ridhima Hire Me Full NightCall Girls Aslali 7397865700 Ridhima Hire Me Full Night
Call Girls Aslali 7397865700 Ridhima Hire Me Full Night
 
办理学位证(NUS证书)新加坡国立大学毕业证成绩单原版一比一
办理学位证(NUS证书)新加坡国立大学毕业证成绩单原版一比一办理学位证(NUS证书)新加坡国立大学毕业证成绩单原版一比一
办理学位证(NUS证书)新加坡国立大学毕业证成绩单原版一比一
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025
 
办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一
办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一
办理学位证(SFU证书)西蒙菲莎大学毕业证成绩单原版一比一
 
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
 
Revit Understanding Reference Planes and Reference lines in Revit for Family ...
Revit Understanding Reference Planes and Reference lines in Revit for Family ...Revit Understanding Reference Planes and Reference lines in Revit for Family ...
Revit Understanding Reference Planes and Reference lines in Revit for Family ...
 
Call Girls Bapu Nagar 7397865700 Ridhima Hire Me Full Night
Call Girls Bapu Nagar 7397865700 Ridhima Hire Me Full NightCall Girls Bapu Nagar 7397865700 Ridhima Hire Me Full Night
Call Girls Bapu Nagar 7397865700 Ridhima Hire Me Full Night
 

Cadence GenusTutorial------------ .pdf.pdf

  • 1. Tutorial on Cadence Genus Synthesis Solution EE 201A – VLSI Design Automation – Spring 2020 UCLA Electrical Engineering Instructor: Prof. Puneet Gupta TA: Irina Alam Based on slides from: Mark Gottscho/Vishesh Dokani
  • 2. Logic Synthesis • RTL: Register-Transfer-Level description of logic design (e.g., c = a + b) – Allows both Behavioral (add two numbers) and structural (connect module A to module B) design styles – Focus on higher-level functionality, e.g. sequential logic, pipeline stages, maybe even micro-architectural design – Verilog/VHDL are industry standard hardware description languages (HDL) used for RTL • Logic synthesis: Automatically reduce RTL to gate-level logic (e.g., AND, NOT, wires, etc.) with help of a logic library – Still represented in Verilog, but lose intuition of higher abstraction. Purely structural design style – In fact, you can write your own gate-level logic implementation! Try it … ;) • … and you will rapidly appreciate the power of logic synthesis! – RTL s1494.v à gate-level s1494_synth.v • Software analogy: compile C to assembly language
  • 3. RTL vs. Gate-Level Example in Verilog • RTL: always @(posedge clock) if(add1 && add2) r <= r+3; else if(add2) r <= r+2; else if(add1) r <= r+1; • Logic gates: AOI22_X1 g15017(.A1 (n_212), .A2 (n_249), .B1 (n_237), .B2 (n_210), .ZN (n_322)); NOR2_X1 g15020(.A1 (n_211), .A2 (n_210), .ZN (n_246)); NOR2_X1 g15021(.A1 (n_275), .A2 (n_148), .ZN (n_209)); NOR2_X1 g15023(.A1 (n_258), .A2 (n_117), .ZN (n_208)); INV_X1 g15024(.A (n_207), .ZN (n_289));
  • 4. Nangate* Open Cell Library *not NANDgate! J www.nangate.com • Commonly used set of standard cells that are treated as primitives in the HDL – Needed for logic synthesis as well as physical design • Includes logic representation – AND gate example: ZN = (A1 & A2); • Includes physical design information – Cell timing • Capacitance, Delay, Transition time, etc. – Cell power • Leakage power, Capacitance, etc. – Cell area • Different libraries for different design corners – NangateOpenCellLibrary_typical.lib for typical corner
  • 5. Genus • Industry standard synthesis suite. • 2019 version of the traditional Cadence Encounter RTL Compiler (RC). • Logic as well as physical synthesis. • Genus has a Legacy UI to directly run old commands from RC. – Not permitted for Lab 2. You must use updated Genus commands.
  • 6. Tool Setup & Documentation • Use same setup files: /w/class.1/ee/ee201o/ee201ota/csh_ee201a_setup • Launch Genus with GUI (if display variable set) $ genus -gui • Launch Genus without GUI using Tcl (Tool Command Language) script of input commands $ genus < synth.tcl • Genus Documentation $ acroread <path>.pdf /w/apps3/Cadence/GENUS191/doc/{genus_comref, genus_attref, genus_user_legacy} Example: $ acroread /w/apps3/Cadence/GENUS191/doc/genus_comref/genus_com ref.pdf – Use Legacy User Manual only as a reference methodology guide.
  • 7. Genus Logic Synthesis (1) - Example set_db information_level 9 # Debug verbosity from 0 to 9 set_db hdl_error_on_blackbox true # Generate error when cannot map a block (a cell in the library is missing) set_db init_hdl_search_path {./} # Path to Verilog design files read_hdl -v2001 verilog_file # Read Verilog design files set_db init_lib_search_path {./} # Path to .lib (Liberty, not library suffix) timing library set_db library liberty_filename.lib # Set filename of the Liberty file for our Nangate library elaborate name_of_top_level_module # Initialize design from Verilog file (.v) # Apply design constraints for logic synthesis # Define clock with 1000ps period, no external timing slack, clock transition time (slew rate) of 100ps set clock [define_clock -period 1000 -name ${clkpin} [clock_ports]] set_input_delay -clock ${clkpin} 0 [vfind /designs/${DESIGN}/ports -port *] set_output_delay -clock ${clkpin} 0 [vfind /designs/${DESIGN}/ports -port *] dc::set_clock_transition .1 ${clkpin} check_design –unresolved # Check for unresolved refs & empty modules
  • 8. Genus Logic Synthesis (2) # Perform logic synthesis: technology mapping + logic optimization syn_generic syn_map syn_opt # List possible timing problems report_timing -lint # Output some useful results of synthesis report_timing > output/synth_report_timing.txt report_gates > output/synth_report_gates.txt report_power > output/synth_report_power.txt # Write the synthesized netlist as Verilog HDL write_hdl > output/s15850_synth.v # Write design constraints to SDC file write_sdc > output/s15850.sdc
  • 9. Genus Set Attribute Syntax • Change of syntax for setting attribute values: RTL Compiler Genus set_attribute set_db • Genus: All kinds of object attributes grouped under same command – Root attributes: set_db attribute_name value – Design attributes: set_db design:/$DESIGN .attribute_name value – And so on for other object types
  • 10. Getting Started With Lab 2 (1) • Cycle time (T) cannot be smaller than longest path delay (Tmax) • Longest (critical) path delay is a function of: – Total gate, wire delays • Slack = T - Tmax Source: EE201A Lecture Slides
  • 11. Getting Started With Lab 2 (2) • Run skeleton script: $ genus < lab2_skeleton.tcl • Change clock period in script set clock [define_clock -period 651 -name clk [clock_ports]] • Check slacks genus:/>report_timing – Slack: -1ps (delay of critical path is 652ps)
  • 12. Getting Started With Lab 2 (3) • Check power genus:/> report_power • Improve your design – Read user and command reference manuals – What Genus commands do you think could improve your delay, area, and/or power? – Add Genus commands into the “right” positions in script – Experiment with ordering of commands during synthesis
  • 13. Lab 2 Goals • Work with Cadence Genus – to understand synthesis flow and familiarize yourself with a useful tool in industry – manipulate CAD tool to generate a better design from the same RTL