Lab2 Synthesis
Lab2 Synthesis
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL
AGENDA
PRACTICE WITH LAB 1
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 2
LAB STRUCTURE
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 3
LAB DIRECTORY STRUCTURE (1/2)
To run the lab, it requires 4 below data
RTL DESIGN (*.v)
SYNTHESIS LIBRARY (*.lib)
SYNTHESIS CONSTRAINT
SAMPLE ENVIRONMENT
Please copy Sample Environment Kit from Cadence to your each synthesis working folder
[rvc@localhost ~]$
cd /home/{group}??/vlsi/${Student_ID}/work/synthesis_env
[rvc@localhost synthesis_env]$
cp -rf /home/share_file/cadence/installs/Genus_CUI_RAK/ ./Genus_BoundFlasher
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 4
LAB DIRECTORY STRUCTURE (2/2)
[rvc@localhost synthesis_env]$
ls Genus_BoundFlasher
① ③
②
②
③
④
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 5
LAB 1: BASIC GENUS FLOW
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 6
LAB1: BASIC GENUS FLOW
Step 1: Prepare your RTL and put to below path ./Genus_BoundFlasher/RTL/
Step 2: Prepare constraints as below at
[rvc@localhost synthesis_env]$
vi ./Genus_BoundFlasher/constraints/bound_flasher_gate.sdc
set_input_delay -clock [get_clocks clk] -add_delay 2.5 [get_ports flick] Inputs / Outputs
set_input_delay -clock [get_clocks clk] -add_delay 2.5 [get_ports rst_n]
set_output_delay -clock [get_clocks clk] -add_delay 2.5 [get_ports lamp ]
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 7
LAB1: BASIC GENUS FLOW
Step 3: Modify environment a bit to map current design
[rvc@localhost synthesis_env]$
vi ./Genus_BoundFlasher/LAB1/run.tcl
##############################################################################
## Preset global variables and attributes
##############################################################################
. . .
set DESIGN bound_flasher Design Module Name
####################################################################
## Load Design
####################################################################
read_hdl "bound_flasher.v"
elaborate $DESIGN RTL File Name
. . .
####################################################################
## Constraints Setup
####################################################################
read_sdc ../constraints/bound_flasher_gate.sdc
. . . Constraint File Name
#######################################################################################################
## Optimize Netlist
#######################################################################################################
. . .
write_hdl > ${_OUTPUTS_PATH}/${DESIGN}_m.v NETLIST File (Important)
#################################
### write_do_lec
#################################
quit Quit at end
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 8
LAB1: BASIC GENUS FLOW
Step 4: Source Genus & license files. Then, execute Synthesis
[rvc@localhost synthesis_env]$ cd /home/share_file/cadence
[rvc@localhost cadence]$ source add_path
[rvc@localhost cadence]$ source add_license
[rvc@localhost cadence]$ cd -
[rvc@localhost synthesis_env]$ cd ./LAB1/
The following message will show in the Genus session when synthesis is done:
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 9
LAB1: BASIC GENUS FLOW
Step 5: Check synthesis Log file to confirm no “Error” occur
[rvc@localhost LAB1]$ vi sync.log
OK NG
If it occurs “Error”, you need to resolved all Error before go to next step.
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 10
LAB1: BASIC GENUS FLOW
Step 6: Check Synthesis Report
[rvc@localhost synthesis_env]$ cd ./LAB1/
[rvc@localhost LAB1]$ vi reports??/final_area.rpt //Check Design Area
OK NG
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 11
LAB1: BASIC GENUS FLOW
Step 7: Prepare script to load NETLIST
[rvc@localhost LAB1]$ vi gui.tcl //Create new file
####################################################################
## Load Design
####################################################################
read_hdl "./outputs/bound_flasher_m.v"
elaborate $DESIGN
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 12
LAB1: BASIC GENUS FLOW
Step 8: Invoke NETLIST Schematic Window
[rvc@localhost LAB1]$ genus -f gui.tcl -gui //Open Genus GUI and load NETLIST
Righ Click
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 13
LAB 3: LOW-POWER SYNTHESIS
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 14
LAB3: RUNNING LOW-POWER SYNTHESIS
Clock Port Name
Step 1: Prepare your RTL and put to below path ./Genus_BoundFlasher/RTL/ Design Module Name
Inputs / Outputs
Step 2: Prepare constraints as below at
[rvc@localhost synthesis_env]$
vi ./Genus_BoundFlasher/constraints/bound_flasher_gate.sdc bound_flasher_gate.sdc
# Set the current design
current_design bound_flasher
create_clock -name "clk" -add -period 5.0 -waveform {0.0 2.5} [get_ports clk]
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 15
LAB3: RUNNING LOW-POWER SYNTHESIS
Step 3: Modify environment a bit to map current design
[rvc@localhost synthesis_env]$
vi ./Genus_BoundFlasher/LAB3/run.tcl
##############################################################################
## Preset global variables and attributes
##############################################################################
. . .
set DESIGN bound_flasher Design Module Name
####################################################################
## Load Design
####################################################################
read_hdl "bound_flasher.v"
elaborate $DESIGN RTL File Name
. . .
####################################################################
## Constraints Setup
####################################################################
read_sdc ../constraints/bound_flasher_gate.sdc
. . . Constraint File Name
#######################################################################################################
## Optimize Netlist
#######################################################################################################
. . .
write_hdl > ${_OUTPUTS_PATH}/${DESIGN}_m.v NETLIST File (Important)
#################################
### write_do_lec
#################################
quit Quit at end
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 16
LAB3: RUNNING LOW-POWER SYNTHESIS
Step 4: Setting Power Optimization Attributes
Low-power synthesis is included as part of the synthesis process.
###############################################################
## Library setup
###############################################################
set_db / .lp_insert_clock_gating true
Enable Clock-Gating features. It must be enable before ELABORATE command
#######################################################################################
## Leakage/Dynamic power/Clock Gating setup.
#######################################################################################
#set_db "design:$DESIGN" .lp_clock_gating_cell [vfind /lib* -lib_cell <cg_libcell_name>]
set_db "design:$DESIGN" .max_leakage_power 0.0
set_db "design:$DESIGN" .lp_power_optimization_weight 0.5 ;#<value from 0 to 1>
set_db "design:$DESIGN" .max_dynamic_power 100 Specify the optimization weight for dynamic power versus leakage power.
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 17
LAB3: RUNNING LOW-POWER SYNTHESIS
Step 5: Source Genus & license files. Then, execute Synthesis
[rvc@localhost synthesis_env]$ cd /home/share_file/cadence
[rvc@localhost cadence]$ source add_path
[rvc@localhost cadence]$ source add_license
[rvc@localhost cadence]$ cd -
[rvc@localhost synthesis_env]$ cd ./LAB3/
The following message will show in the Genus session when synthesis is done:
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 18
LAB3: RUNNING LOW-POWER SYNTHESIS
Step 6: Check synthesis Log file to confirm no “Error” occur
[rvc@localhost LAB3]$ vi sync.log
OK NG
If it occurs “Error”, you need to resolved all Error before go to next step.
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 19
LAB3: RUNNING LOW-POWER SYNTHESIS
Step 7: Check Synthesis Report (AS LAB 1)
[rvc@localhost synthesis_env]$ cd ./LAB3/
[rvc@localhost LAB3]$ vi reports??/final_area.rpt //Check Design Area
OK NG
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 20
LAB3: RUNNING LOW-POWER SYNTHESIS
Step 8: Prepare script to load NETLIST
[rvc@localhost LAB3]$ vi gui.tcl //Create new file
####################################################################
## Load Design
####################################################################
read_hdl "./outputs/bound_flasher_m.v"
elaborate $DESIGN
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 21
LAB3: RUNNING LOW-POWER SYNTHESIS
Step 9: Invoke NETLIST Schematic Window
[rvc@localhost LAB3]$ genus -f gui.tcl -gui //Open Genus GUI and load NETLIST
Righ Click
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 22
SEARCH MAXIMUM DESIGN FREQUENCY &
SUBMISSION DATA
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 23
SEARCH MAXIMUM DESIGN FREQUENCY
Please re-use LAB1 and change Design Frequency until MAX while Critical Path Slave >= 0
Change Design Constraints and re-run Synthesis as LAB1
[rvc@localhost synthesis_env]$
vi ./Genus_BoundFlasher/constraints/bound_flasher_gate.sdc
create_clock -name "clk" -add -period 5.0 -waveform {0.0 2.5} [get_ports clk]
set_input_delay -clock [get_clocks clk] -add_delay 2.5 [get_ports flick] Inputs / Outputs
set_input_delay -clock [get_clocks clk] -add_delay 2.5 [get_ports rst_n]
set_output_delay -clock [get_clocks clk] -add_delay 2.5 [get_ports lamp ]
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 24
Click icon to add picture
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL
SUBMISSION DATA
After re-synthesize with Maximum frequency, please submit below data:
(Note that LAB1 & LAB3 just for practice, no need to submit any data related to them)
Netlist: outputs??/${DESIGN}_m.v (Ex: bound_flasher_m.v)
Area report: reports??/final_area.rpt
QoR report: reports??/final_qor.rpt
Timing report: reports??/final_time.rpt
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL Page 26
Renesas.com
© 2020 Renesas Design Vietnam Co., Ltd. All rights reserved. RENESAS CONFIDENTIAL