From c888c3be819fe2549b85331275e6bee45fb2a2bd Mon Sep 17 00:00:00 2001 From: Rahul Kumar Date: Fri, 23 May 2025 11:36:13 -0700 Subject: [PATCH 1/2] feat(sims): use Spectre X w/ GPU for simulations --- src/blocks/columns/mod.rs | 2 +- src/blocks/sram/mod.rs | 1 + src/blocks/sram/testbench/mod.rs | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/blocks/columns/mod.rs b/src/blocks/columns/mod.rs index 615c7662..7740fbd5 100644 --- a/src/blocks/columns/mod.rs +++ b/src/blocks/columns/mod.rs @@ -350,6 +350,7 @@ mod tests { use subgeom::bbox::{Bbox, BoundBox}; use substrate::layout::cell::{CellPort, Port, PortId}; use substrate::layout::layers::selector::Selector; + use substrate::schematic::netlist::NetlistPurpose; use super::layout::{ColCentParams, ColumnCent, TappedColumn}; use super::*; @@ -582,7 +583,6 @@ mod tests { use crate::measure::impedance::{ AcImpedanceTbNode, AcImpedanceTbParams, AcImpedanceTestbench, }; - use substrate::schematic::netlist::NetlistPurpose; let ctx = setup_ctx(); let work_dir = test_work_dir("test_columns_cap"); diff --git a/src/blocks/sram/mod.rs b/src/blocks/sram/mod.rs index d3a05200..81e53d2a 100644 --- a/src/blocks/sram/mod.rs +++ b/src/blocks/sram/mod.rs @@ -1076,6 +1076,7 @@ pub(crate) mod tests { for (corner, temp, vdd) in [("tt", 25, dec!(1.8)), ("ss", 100, dec!(1.6)), ("ff", -40, dec!(1.95))] { let verilog_path = verilog_path.clone(); let work_dir = work_dir.clone(); + let pex_netlist_path = pex_netlist_path.clone(); handles.push(std::thread::spawn(move || { let suffix = match corner { "tt" => "tt_025C_1v80", diff --git a/src/blocks/sram/testbench/mod.rs b/src/blocks/sram/testbench/mod.rs index 02424857..e422ad9c 100644 --- a/src/blocks/sram/testbench/mod.rs +++ b/src/blocks/sram/testbench/mod.rs @@ -1012,6 +1012,7 @@ impl Testbench for SramTestbench { .build() .unwrap(), ); + ctx.set_flags("-64 +preset=lx +mt=16 +gpu"); let signals = (0..self.params.sram.data_width) .flat_map(|i| { From e944f4aac53a4a5202093697acdb3c81733eca10 Mon Sep 17 00:00:00 2001 From: Rahul Kumar Date: Fri, 23 May 2025 11:58:37 -0700 Subject: [PATCH 2/2] fix formatting --- src/blocks/sram/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blocks/sram/mod.rs b/src/blocks/sram/mod.rs index 81e53d2a..a01b2846 100644 --- a/src/blocks/sram/mod.rs +++ b/src/blocks/sram/mod.rs @@ -1076,7 +1076,7 @@ pub(crate) mod tests { for (corner, temp, vdd) in [("tt", 25, dec!(1.8)), ("ss", 100, dec!(1.6)), ("ff", -40, dec!(1.95))] { let verilog_path = verilog_path.clone(); let work_dir = work_dir.clone(); - let pex_netlist_path = pex_netlist_path.clone(); + let pex_netlist_path = pex_netlist_path.clone(); handles.push(std::thread::spawn(move || { let suffix = match corner { "tt" => "tt_025C_1v80",