From 5c44a546764142d7c086cd553a7d9f4b2c58461f Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 16 Oct 2019 00:49:33 +0200 Subject: [PATCH] Bugfix: don't try to extract netlist on errors --- src/drc/drc/built-in-macros/_drc_engine.rb | 10 +++++----- src/drc/drc/built-in-macros/_drc_netter.rb | 4 ++++ src/lvs/lvs/built-in-macros/_lvs_engine.rb | 4 ++-- src/lvs/lvs/built-in-macros/_lvs_netter.rb | 4 ++++ 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/drc/drc/built-in-macros/_drc_engine.rb b/src/drc/drc/built-in-macros/_drc_engine.rb index 997255a24..81c601bbc 100644 --- a/src/drc/drc/built-in-macros/_drc_engine.rb +++ b/src/drc/drc/built-in-macros/_drc_engine.rb @@ -1461,22 +1461,22 @@ CODE end # save the netlist if required - if @target_netlist_file && @netter && @netter.l2n_data + if @target_netlist_file && @netter && @netter._l2n_data writer = @target_netlist_format || RBA::NetlistSpiceWriter::new netlist_file = _make_path(@target_netlist_file) info("Writing netlist: #{netlist_file} ..") - self.netlist.write(netlist_file, writer, @target_netlist_comment || "") + netlist.write(netlist_file, writer, @target_netlist_comment || "") end # save the netlist database if requested - if @output_l2ndb_file && @netter && @netter.l2n_data + if @output_l2ndb_file && @netter && @netter._l2n_data l2ndb_file = _make_path(@output_l2ndb_file) info("Writing netlist database: #{l2ndb_file} ..") - @netter.l2n_data.write_l2n(l2ndb_file, !@output_l2ndb_long) + @netter._l2n_data.write_l2n(l2ndb_file, !@output_l2ndb_long) end @@ -1484,7 +1484,7 @@ CODE _before_cleanup # show the data in the browser - if view && @show_l2ndb && @netter && @netter.l2n_data + if view && @show_l2ndb && @netter && @netter._l2n_data # NOTE: to prevent the netter destroying the database, we need to take it l2ndb = _take_data diff --git a/src/drc/drc/built-in-macros/_drc_netter.rb b/src/drc/drc/built-in-macros/_drc_netter.rb index 1a7f70ef6..acf00645c 100644 --- a/src/drc/drc/built-in-macros/_drc_netter.rb +++ b/src/drc/drc/built-in-macros/_drc_netter.rb @@ -383,6 +383,10 @@ module DRC l2ndb end + def _l2n_data + @netlisted && self.l2n_data + end + private def cleanup diff --git a/src/lvs/lvs/built-in-macros/_lvs_engine.rb b/src/lvs/lvs/built-in-macros/_lvs_engine.rb index b7a1dc2b7..8186eb2eb 100644 --- a/src/lvs/lvs/built-in-macros/_lvs_engine.rb +++ b/src/lvs/lvs/built-in-macros/_lvs_engine.rb @@ -43,11 +43,11 @@ module LVS def _before_cleanup # save the netlist database if requested - if @output_lvsdb_file && @netter && @netter.lvs_data && @netter.lvs_data.xref + if @output_lvsdb_file && @netter && @netter._lvs_data && @netter._lvs_data.xref lvsdb_file = _make_path(@output_lvsdb_file) info("Writing LVS database: #{lvsdb_file} ..") - @netter.lvs_data.write(lvsdb_file, !@output_lvsdb_long) + @netter._lvs_data.write(lvsdb_file, !@output_lvsdb_long) end diff --git a/src/lvs/lvs/built-in-macros/_lvs_netter.rb b/src/lvs/lvs/built-in-macros/_lvs_netter.rb index 594929da0..f04df659b 100644 --- a/src/lvs/lvs/built-in-macros/_lvs_netter.rb +++ b/src/lvs/lvs/built-in-macros/_lvs_netter.rb @@ -94,6 +94,10 @@ module LVS data end + def _lvs_data + _l2n_data && @lvs + end + # %LVS% # @name align # @brief Aligns the extracted netlist vs. the schematic