Hello, I'm just testing the LVS with a circuit that I know has a correct LVS. If I send this message...
c

Charly Meyer

about 1 year ago
Hello, I'm just testing the LVS with a circuit that I know has a correct LVS. If I send this message, you can imagine the LVS didn't pass. When I check the log, I have no problem with vias and nets. The final result says: 'LVS result: Final result: Circuits match uniquely.' In checking ext.log, I saw this: _Reading "sky130_ef_sc_hd__decap_12$1"._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 1718): Cell "sky130_ef_sc_hd__decap_12$1" was already defined in this file._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 1718): Ignoring duplicate definition_ _Reading "sky130_fd_sc_hd__decap_8$1"._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 5514): Cell "sky130_fd_sc_hd__decap_8$1" was already defined in this file._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 5514): Ignoring duplicate definition_ _Reading "sky130_fd_sc_hd__decap_3$1"._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 9054): Cell "sky130_fd_sc_hd__decap_3$1" was already defined in this file._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 9054): Ignoring duplicate definition_ _Reading "sky130_fd_sc_hd__fill_1$1"._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 11730): Cell "sky130_fd_sc_hd__fill_1$1" was already defined in this file._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 11730): Ignoring duplicate definition_ _Reading "sky130_fd_sc_hd__tapvpwrvgnd_1$1"._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 13046): Cell "sky130_fd_sc_hd__tapvpwrvgnd_1$1" was already defined in this file._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 13046): Ignoring duplicate definition_ _Reading "sky130_fd_sc_hd__decap_6$1"._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 14724): Cell "sky130_fd_sc_hd__decap_6$1" was already defined in this file._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 14724): Ignoring duplicate definition_ _Reading "sky130_fd_sc_hd__fill_2$1"._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 17880): Cell "sky130_fd_sc_hd__fill_2$1" was already defined in this file._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 17880): Ignoring duplicate definition_ _Reading "sky130_fd_sc_hd__clkbuf_1$1"._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 19320): Cell "sky130_fd_sc_hd__clkbuf_1$1" was already defined in this file._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 19320): Ignoring duplicate definition_ _Reading "sky130_fd_sc_hd__dfxtp_1$1"._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 23140): Cell "sky130_fd_sc_hd__dfxtp_1$1" was already defined in this file._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 23140): Ignoring duplicate definition_ _Reading "sky130_fd_sc_hd__decap_4$1"._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 35272): Cell "sky130_fd_sc_hd__decap_4$1" was already defined in this file._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 35272): Ignoring duplicate definition_ _Reading "sky130_fd_sc_hd__buf_2$1"._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 38074): Cell "sky130_fd_sc_hd__buf_2$1" was already defined in this file._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 38074): Ignoring duplicate definition_ _Reading "vias_gen"._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 42562): Cell "vias_gen" was already defined in this file._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 42562): Ignoring duplicate definition_ Reading "Dff$1". _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 42988): Cell "Dff$1" was already defined in this file._ _Error while reading cell "$$$CONTEXT_INFO$$$" (byte position 42988): Ignoring duplicate definition_ _Reading "user_analog_project_wrapper"._ _Processing sky130_ef_sc_hd__decap_12$1_ Processing Dff$1 Do you think this is the cause of the LVS failing in the percheck process?
For some reason, the generated netlist for user_project_wrapper in my case has register declarations...
a

Anuj Dubey

over 3 years ago
For some reason, the generated netlist for user_project_wrapper in my case has register declarations between port declarations like the following.
module user_project_wrapper(wb_clk_i, wb_rst_i, wbs_stb_i, wbs_cyc_i, wbs_we_i, wbs_sel_i, wbs_dat_i, wbs_adr_i, wbs_ack_o, wbs_dat_o, la_data_in, la_data_out, la_oenb, io_in, io_out, io_oeb, analog_io, user_clock2, user_irq);
  reg \$auto$<http://verilog_backend.cc:2083:dump_module$57|verilog_backend.cc:2083:dump_module$57>  = 0;
  reg [31:0] _00_;
  reg [31:0] _01_;
  reg [31:0] _02_;
  reg [31:0] _03_;
  reg [31:0] _04_;
  reg [31:0] _05_;
  reg [31:0] _06_;
  reg [31:0] _07_;
  reg [31:0] _08_;
  reg [31:0] _09_;
  reg [31:0] _10_;
  reg [31:0] _11_;
  reg [31:0] _12_;
  reg [31:0] _13_;
  reg [31:0] _14_;
  reg [31:0] _15_;
  wire [8:0] _16_;
  wire [8:0] _17_;
  wire [8:0] _18_;
  wire [8:0] _19_;
...
  wire [31:0] _62_;
  wire [31:0] _63_;
  inout [28:0] analog_io;
  wire clock;
  input [37:0] io_in;
  output [37:0] io_oeb;
  output [37:0] io_out;
This causes the following syntax error after synthesis.
[ERROR STA-0164] /home/aanujdu/tapeout_modulonet/caravel_user_project/openlane/user_project_wrapper/runs/user_project_wrapper/results/synthesis/user                                                                                                                                _project_wrapper.v line 4, syntax error, unexpected REG
STA-0164
[ERROR]: during executing openroad script /openlane/scripts/openroad/sta.tcl
[ERROR]: Exit code: 1
[ERROR]: Last 10 lines:
child process exited abnormally
The user_project_wrapper in my design only instantiates two macros, i.e., no std cells at the top level. So I am not sure why would Yosys synthesize it like this. Has anyone faced this before and knows a possible fix?