ASIC Implementation of I2C Bus
ASIC Implementation of I2C Bus
Submitted by:
Student Name ID
Mohammed Khaled Ali v23010087
Amr Khalid Salah Attia v23010080
Date: 10/5/2024
Synthesis Script
2 | Page
set_svf -off
Synthesis Screenshot
3 | Page
Synthesis Area
4 | Page
Constraints
5 | Page
Screenshots of some timing paths
6 | Page
7 | Page
Formal Verification
8 | Page
Floorplan Script
cd script
source setup.tcl
open_block /home/vlsi/Synopsys/I2C/pnr/script/counter.dlib:pit_top.design
set_parasitic_parameters -late_spec maxTLU -early_spec minTLU
initialize_floorplan -core_utilization 0.6 -side_ratio {1 1} -core_offset {10}
set_app_options -name place.coarse.fix_hard_macros -value false
set_app_options -name plan.place.auto_create_blockages -value auto
create_placement -floorplan
create_block_pin_constraint -allowed_layers {M3 M4 M5 M6}
set_app_options -name plan.pins.incremental -value false -block [current_block]
place_pins -self
save_block counter.dlib:i2c_master_top.design
set_app_options -name place.coarse.fix_hard_macros -value false
9 | Page
Floorplan Screenshot
10 | Page
Powerplan Script
start_gui
open_block /home/vlsi/Synopsys/I2C/pnr/counter.dlib:pit_top_floorplan.design
11 | Page
{2}
# PG MESH CREATION
set_pg_strategy s_mesh1 \
-pattern {{pattern: pg_mesh1} {nets: {VDD VSS VSS VDD}} \
{offset_start: 5 5} {parameters: 3 40 3 40 5 false}} \
-core -extension {{stop: outermost_ring}}
save_block
12 | Page
Powerplan Screenshot
13 | Page
Placement Script
#placement
report_qor -summary
report_design -summary
report_utilization
report_lib saed90nm_max_lth
set_voltage 1.08
14 | Page
check_legality -verbose
report_utilization
report_qor
save_block
Placement Screenshot
15 | Page
Clock Synthesis Script
# CTS
#NDR
create_routing_rule $CTS_NDR_RULE_NAME\
-default_reference_rule \
-taper_distance 0.4 \
-driver_taper_distance 0.4 \
-widths {M3 0.16 M4 0.32 M5 0.32} \
16 | Page
-spacings {M3 0.16 M4 0.32 M5 0.32}
report_routing_rules -verbose
report_clock_routing_rules
#DRC
report_ports -verbose [get_ports *clk*]
set_driving_cell -scenarios [all_scenarios] -lib_cell NBUFFX4 [get_ports *clk*]
#
set_clock_tree_options -target_skew 0.5 -clock [get_clocks *]
set_clock_tree_options -target_latency 0.1 -clock [get_clocks *]
clock_opt
17 | Page
Clock Synthesis Screenshot
18 | Page
19 | Page
Cell Density
20 | Page
Routing Script
# 1.routing
# check for any issues that might cause problems during routing
report_qor -summary
check_design -checks pre_route_stage
route_auto
# Routing Optimization
route_opt
#Final Check
check_routes
#Routing is Finished
21 | Page
# 2.Filler Cells Insertion
remove_stdcell_fillers_with_violation
check_legality
#SDC_OUT
write_sdc -output ./output/${DESIGN_NAME}.out.sdc
# SPEF_OUT
write_parasitics -format SPEF -output
./output/${DESIGN_NAME}.out.spef
######DEF_OUT
write_def ./output/${DESIGN_NAME}.out.def
##########GDS_OUT
set GDS_MAP_FILE
/home/vlsi/Synopsys/I2C/standardCell/SAED90nm_EDK_10072017/SA
ED90_EDK/SAED_EDK90nm/Technology_Kit/milkyway/saed90nm.gds
out.map
22 | Page
set STD_CELL_GDS
/home/vlsi/Synopsys/I2C/standardCell/SAED90nm_EDK_10072017/SA
ED90_EDK/SAED_EDK90nm/Digital_Standard_cell_Library/layout/gds/
saed90nm.gds
write_gds \
-view design \
-lib_cell_view frame \
-output_pin all \
-fill include \
-exclude_empty_block \
-long_names \
-layer_map "$GDS_MAP_FILE" \
-keep_data_type \
-merge_files "$STD_CELL_GDS" \
./output/${DESIGN_NAME}.gds
save_block
23 | Page
Routing Screenshots
24 | Page
25 | Page
26 | Page
DRC Checks
Legality checks
27 | Page
28 | Page
STA Script
set search_path
/home/vlsi/Synopsys/I2C/standardCell/SAED90nm_EDK_10072017/
SAED90_EDK/SAED_EDK90nm
set target_library
$search_path/Digital_Standard_cell_Library/synopsys/models/saed
90nm_max_lth.db
set Netlist_files
/home/vlsi/Synopsys/I2C/pnr/output/i2c_top_for_pt_v.v
set SPEF_files
/home/vlsi/Synopsys/I2C/pnr/output/i2c_top.out.spef.spef_scenario
set constrains_file
/home/vlsi/Synopsys/I2C/pnr/output/i2c_top.out.sdc
29 | Page
source ./PrimeTimeSetup.tcl
# Checks
report_timing
report_analysis_coverage
report_global_timing
report_clocks
30 | Page
STA Screenshots
31 | Page
32 | Page
Whole Design Screenshot
33 | Page