11# SPDX-License-Identifier: BSD-3-Clause
22# Copyright (c) 2024-2025, The OpenROAD Authors
33
4- sta::define_cmd_args " generate_ram_netlist" {-mask_size bits
4+ sta::define_cmd_args " generate_ram_netlist" {[ -mask_size bits]
55 -word_size bits
66 -num_words words
77 [-column_mux_ratio ratio]
@@ -22,18 +22,18 @@ proc generate_ram_netlist { args } {
2222 set column_mux_ratio $keys(-column_mux_ratio)
2323 }
2424
25- if { [info exists keys(-mask_size)] } {
26- set mask_size $keys(-mask_size)
27- } else {
28- utl::error RAM 1 " The -mask_size argument must be specified."
29- }
30-
3125 if { [info exists keys(-word_size)] } {
3226 set word_size $keys(-word_size)
3327 } else {
3428 utl::error RAM 2 " The -word_size argument must be specified."
3529 }
3630
31+ if { [info exists keys(-mask_size)] } {
32+ set mask_size $keys(-mask_size)
33+ } else {
34+ set mask_size $word_size
35+ }
36+
3737 if { $word_size % $mask_size != 0 } {
3838 utl::error RAM 26 " The -word_size ($word_size ) must be divisible by -mask_size ($mask_size )."
3939 }
@@ -87,7 +87,7 @@ proc generate_ram_netlist { args } {
8787 $tristate_cell $inv_cell $read_ports $tapcell $max_tap_dist
8888}
8989
90- sta::define_cmd_args " generate_ram" {-mask_size bits
90+ sta::define_cmd_args " generate_ram" {[ -mask_size bits]
9191 -word_size bits
9292 -num_words words
9393 [-column_mux_ratio ratio]
@@ -122,10 +122,13 @@ proc generate_ram { args } {
122122 }
123123
124124 set ram_netlist_args [list \
125- -mask_size $keys(-mask_size) \
126125 -word_size $keys(-word_size) \
127126 -num_words $keys(-num_words) ]
128127
128+ if { [info exists keys(-mask_size)] } {
129+ lappend ram_netlist_args -mask_size $keys(-mask_size)
130+ }
131+
129132 if { [info exists keys(-read_ports)] } {
130133 lappend ram_netlist_args -read_ports $keys(-read_ports)
131134 }
0 commit comments