VLSIDA / OpenRAM

An open-source static random access memory (SRAM) compiler.
http://www.openram.org
BSD 3-Clause "New" or "Revised" License
780 stars 198 forks source link

Errors on characterization process #206

Open andreili opened 8 months ago

andreili commented 8 months ago

I try to characterize generated SRAM model, but see a wall of fail's on "Port 1" only ("Port 0" are ok). And this is don't going to sctipt terminate. Version: 1.2.40 To reproduce, run this config:

word_size = 32 # Bits
num_words = 32
human_byte_size = "{:.0f}kbytes".format((word_size * num_words)/1024/8)

write_size = 8 # Bits

num_rw_ports = 2
num_r_ports = 0
num_w_ports = 0
num_spare_rows = 0
num_spare_cols = 0
esp_name = "esp_aux_dual"
delay_chain_stages = 21
verbose_level = 1
tech_name = "sky130"
nominal_corner_only = True
route_supplies = "ring"
#route_supplies = "left"
check_lvsdrc = True
uniquify = True
#perimeter_pins = False
netlist_only = True
analytical_delay = False
num_threads = 4
num_sim_threads = 8
ports_human = "{0}rw{1}r{2}w".format(num_rw_ports,
        num_r_ports,
        num_w_ports)
output_name = "{tech_name}_sram_{human_byte_size}_{ports_human}_{word_size}x{num_words}_{write_size}".format(**locals())
output_path = "macro/{output_name}".format(**locals())

Expected: Same behaviour into both ports. Log:

[openram.characterizer.delay/find_min_period_one_port]: MinPeriod Search Port 0: 5.78125ns (ub: 5.9375 lb: 5.625)
[openram.characterizer.delay/find_min_period_one_port]: MinPeriod Search Port 1: 5.9375ns (ub: 10.0 lb: 5.9375)
[openram.characterizer.delay/find_min_period_one_port]: MinPeriod Search Port 1: 7.96875ns (ub: 10.0 lb: 5.9375)
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:clk_bar_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xand2_gated_clk_bar:zb_int_sen_id7=23.99086
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:rbl_bl_delay_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xbuf_s_en_and:zb_int_sen_id35=Failed
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xbuf_s_en_and:zb_int_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:s_en0_sen_id36=Failed
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:s_en0_to_dout0_31_sen_id37=Failed
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:clk_bar_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xand2_gated_clk_bar:zb_int_bl_id45=23.99086
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xbank0:wl_0_31_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xbank0:bl_0_31_bl_id51=15.992320000000001
[openram.characterizer.delay/find_min_period_one_port]: MinPeriod Search Port 1: 6.953125ns (ub: 7.96875 lb: 5.9375)
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:clk_bar_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xand2_gated_clk_bar:zb_int_sen_id7=20.94395
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:rbl_bl_delay_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xbuf_s_en_and:zb_int_sen_id35=Failed
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xbuf_s_en_and:zb_int_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:s_en0_sen_id36=Failed
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:s_en0_to_dout0_31_sen_id37=Failed
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:clk_bar_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xand2_gated_clk_bar:zb_int_bl_id45=20.94395
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xbank0:wl_0_31_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xbank0:bl_0_31_bl_id51=13.96107
[openram.characterizer.delay/find_min_period_one_port]: MinPeriod Search Port 1: 6.4453125ns (ub: 6.953125 lb: 5.9375)
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:clk_bar_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xand2_gated_clk_bar:zb_int_sen_id7=19.41974
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:rbl_bl_delay_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xbuf_s_en_and:zb_int_sen_id35=Failed
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xbuf_s_en_and:zb_int_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:s_en0_sen_id36=Failed
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:s_en0_to_dout0_31_sen_id37=Failed
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:clk_bar_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xand2_gated_clk_bar:zb_int_bl_id45=19.41974
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xbank0:wl_0_31_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xbank0:bl_0_31_bl_id51=12.94539
[openram.characterizer.delay/find_min_period_one_port]: MinPeriod Search Port 1: 6.19140625ns (ub: 6.4453125 lb: 5.9375)
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:clk_bar_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xand2_gated_clk_bar:zb_int_sen_id7=18.657970000000002
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:rbl_bl_delay_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xbuf_s_en_and:zb_int_sen_id35=Failed
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xbuf_s_en_and:zb_int_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:s_en0_sen_id36=Failed
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:s_en0_to_dout0_31_sen_id37=Failed
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:clk_bar_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xcontrol0:xand2_gated_clk_bar:zb_int_bl_id45=18.657970000000002
[openram.characterizer.delay/check_path_measures]: Failed measurement:delay_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xbank0:wl_0_31_to_xsky130_sram_0kbytes_2rw0r0w_32x32_8:xbank0:bl_0_31_bl_id51=12.43807
[openram.characterizer.delay/analyze]: Min Period Found: 6.19140625ns

And have a wall of same errors on leakage power simulations.