Hi what can cause openlane to generate a wrong li...
# openlane
b
Hi what can cause openlane to generate a wrong lib file, I have a module with 20-bit width ports such as: output [0:19] chanx_right_out; After I hardened this module and instantiated in the wrapper, openlane give error in Synthesis step complaining about: "ERROR: Incompatible array type 'chanx_left_in' : bit_width=18, bit_from=0, bit_to=19" When I check the lib file it is written there: lu_table_template(template_1) { variable_1 : total_output_net_capacitance; index_1 ("0.00050, 0.00126, 0.00319, 0.00806, 0.02037, 0.05146, 0.13002"); } type ("chanx_left_in") { base_type : array; data_type : bit; bit_width : 18; bit_from : 0; bit_to : 19; } type ("chanx_left_out") { base_type : array; data_type : bit; bit_width : 18; bit_from : 0; bit_to : 19; } type ("chanx_right_in") { base_type : array; data_type : bit; bit_width : 18; bit_from : 0; bit_to : 19; } type ("chanx_right_out") { base_type : array; data_type : bit; bit_width : 18; bit_from : 0; bit_to : 19; } After I manually edit lib file by changing bit_width from 18 to 20 the flow passes I attached verilog, sdc and lib files for the related module
One possible reason is the signal definition is in ascending order in the RTL instead of descending.