set ::env(USER_ROOT) ".." | |
set ::env(CARAVEL_ROOT) "/home/dinesha/workarea/efabless/MPW-6/caravel" | |
set ::env(CARAVEL_PDK_ROOT) "/opt/pdk_mpw6" | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_sc_hd/lib/sky130_fd_sc_hd__tt_025C_1v80.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lib/sky130_sram_1kbyte_1rw1r_32x256_8_TT_1p8V_25C.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_sc_hvl/lib/sky130_fd_sc_hvl__tt_025C_3v30.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_sc_hvl/lib/sky130_fd_sc_hvl__tt_025C_3v30_lv1v80.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/lib/sky130_fd_io__top_gpiov2_tt_tt_025C_1v80_3v30.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/lib/sky130_fd_io__top_ground_hvc_wpad_tt_025C_1v80_3v30_3v30.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/lib/sky130_fd_io__top_ground_lvc_wpad_tt_025C_1v80_3v30.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/lib/sky130_fd_io__top_ground_lvc_wpad_tt_100C_1v80_3v30.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/lib/sky130_fd_io__top_power_lvc_wpad_tt_025C_1v80_3v30_3v30.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/lib/sky130_fd_io__top_xres4v2_tt_tt_025C_1v80_3v30.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/lib/sky130_ef_io__gpiov2_pad_tt_tt_025C_1v80_3v30.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/lib/sky130_ef_io__vccd_lvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/lib/sky130_ef_io__vdda_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/lib/sky130_ef_io__vssa_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/lib/sky130_ef_io__vssd_lvc_clamped3_pad_tt_025C_1v80_3v30.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/lib/sky130_ef_io__vccd_lvc_clamped3_pad_tt_025C_1v80_3v30_3v30.lib | |
read_liberty $::env(CARAVEL_PDK_ROOT)/sky130A/libs.ref/sky130_fd_io/lib/sky130_ef_io__vssd_lvc_clamped_pad_tt_025C_1v80_3v30.lib | |
source scripts/statistic.tcl | |
set c_seq_cnt 0 | |
set c_comb_cnt 0 | |
set c_total_cnt 0 | |
read_verilog $::env(USER_ROOT)/verilog/gl/qspim_top.v | |
link_design qspim_top | |
puts "IP :: Total Cell :: Total Combo :: Total Sequential" | |
#set tcell [llength [get_cell -hier *]] | |
#set tregs [llength [all_registers]] | |
#puts "qspim_top :: $tcell :: $tregs " | |
lassign [get_statistic qspim_top] a b c | |
set c_total_cnt [expr {$c_total_cnt + $a }] | |
set c_comb_cnt [expr {$c_comb_cnt + $b }] | |
set c_seq_cnt [expr {$c_seq_cnt + $c }] | |
#Variable for Risc Area | |
set r_seq_cnt 0 | |
set r_comb_cnt 0 | |
set r_total_cnt 0 | |
read_verilog $::env(USER_ROOT)/verilog/gl/ycr4_iconnect.v | |
link_design ycr4_iconnect | |
#set tcell [llength [get_cell -hier *]] | |
#set tregs [llength [all_registers]] | |
#puts "ycr_iconnect :: $tcell :: $tregs " | |
lassign [get_statistic ycr4_iconnect] a b c | |
set c_total_cnt [expr {$c_total_cnt + $a }] | |
set c_comb_cnt [expr {$c_comb_cnt + $b }] | |
set c_seq_cnt [expr {$c_seq_cnt + $c }] | |
set r_total_cnt [expr {$r_total_cnt + $a }] | |
set r_comb_cnt [expr {$r_comb_cnt + $b }] | |
set r_seq_cnt [expr {$r_seq_cnt + $c }] | |
read_verilog $::env(USER_ROOT)/verilog/gl/ycr_intf.v | |
link_design ycr_intf | |
#set tcell [llength [get_cell -hier *]] | |
#set tregs [llength [all_registers]] | |
#puts "ycr_intf :: $tcell :: $tregs " | |
lassign [get_statistic ycr_intf] a b c | |
set c_total_cnt [expr {$c_total_cnt + $a }] | |
set c_comb_cnt [expr {$c_comb_cnt + $b }] | |
set c_seq_cnt [expr {$c_seq_cnt + $c }] | |
read_verilog $::env(USER_ROOT)/verilog/gl/ycr_core_top.v | |
link_design ycr_core_top | |
#set tcell [llength [get_cell -hier *]] | |
#set tregs [llength [all_registers]] | |
#puts "ycr_intf :: $tcell :: $tregs " | |
lassign [get_statistic ycr_core_top] a b c | |
#2 core in riscduino_dcore | |
set c_total_cnt [expr {$c_total_cnt + ($a *4) }] | |
set c_comb_cnt [expr {$c_comb_cnt + ($b *4) }] | |
set c_seq_cnt [expr {$c_seq_cnt + ($c *4) }] | |
set r_total_cnt [expr {$r_total_cnt + ($a *4) }] | |
set r_comb_cnt [expr {$r_comb_cnt + ($b *4) }] | |
set r_seq_cnt [expr {$r_seq_cnt + ($c *2) }] | |
puts "RISC :: $r_total_cnt :: $r_comb_cnt :: $r_seq_cnt" | |
read_verilog $::env(USER_ROOT)/verilog/gl/uart_i2c_usb_spi_top.v | |
link_design uart_i2c_usb_spi_top | |
#set tcell [llength [get_cell -hier *]] | |
#set tregs [llength [all_registers]] | |
#puts "ycr_intf :: $tcell :: $tregs " | |
lassign [get_statistic uart_i2c_usb_spi_top] a b c | |
set c_total_cnt [expr {$c_total_cnt + $a }] | |
set c_comb_cnt [expr {$c_comb_cnt + $b }] | |
set c_seq_cnt [expr {$c_seq_cnt + $c }] | |
read_verilog $::env(USER_ROOT)/verilog/gl/wb_host.v | |
link_design wb_host | |
#set tcell [llength [get_cell -hier *]] | |
#set tregs [llength [all_registers]] | |
#puts "ycr_intf :: $tcell :: $tregs " | |
lassign [get_statistic wb_host] a b c | |
set c_total_cnt [expr {$c_total_cnt + $a }] | |
set c_comb_cnt [expr {$c_comb_cnt + $b }] | |
set c_seq_cnt [expr {$c_seq_cnt + $c }] | |
read_verilog $::env(USER_ROOT)/verilog/gl/wb_interconnect.v | |
link_design wb_interconnect | |
#set tcell [llength [get_cell -hier *]] | |
#set tregs [llength [all_registers]] | |
#puts "ycr_intf :: $tcell :: $tregs " | |
lassign [get_statistic wb_interconnect] a b c | |
set c_total_cnt [expr {$c_total_cnt + $a }] | |
set c_comb_cnt [expr {$c_comb_cnt + $b }] | |
set c_seq_cnt [expr {$c_seq_cnt + $c }] | |
read_verilog $::env(USER_ROOT)/verilog/gl/pinmux.v | |
link_design pinmux | |
#set tcell [llength [get_cell -hier *]] | |
#set tregs [llength [all_registers]] | |
#puts "ycr_intf :: $tcell :: $tregs " | |
lassign [get_statistic pinmux] a b c | |
set c_total_cnt [expr {$c_total_cnt + $a }] | |
set c_comb_cnt [expr {$c_comb_cnt + $b }] | |
set c_seq_cnt [expr {$c_seq_cnt + $c }] | |
puts "digital_top :: $c_total_cnt :: $c_comb_cnt :: $c_seq_cnt" | |
# read_verilog $::env(USER_ROOT)/verilog/gl/user_project_wrapper.v | |
# read_verilog $::env(USER_ROOT)/verilog/gl/qspim.v | |
# read_verilog $::env(USER_ROOT)/verilog/gl/DFFRAM.v | |
# read_verilog $::env(USER_ROOT)/verilog/gl/pinmux.v | |
# read_verilog $::env(USER_ROOT)/verilog/gl/wb_interconnect.v | |
# read_verilog $::env(USER_ROOT)/verilog/gl/wb_host.v | |
# read_verilog $::env(USER_ROOT)/verilog/gl/uart_i2cm_usb_spi.v | |
# read_verilog $::env(USER_ROOT)/verilog/gl/qspim.v | |
# read_verilog $::env(USER_ROOT)/verilog/gl/yifive.v | |
#link_design user_project_wrapper | |
#set tcell [llength [get_cell -hier *]] | |
#set tregs [llength [all_registers]] | |
#puts "user_project_wrapper :: $tcell :: $tregs " | |