buffer_proto5: extend search domain to also vary the clock shape (square/sine)
This commit is contained in:
@@ -368,7 +368,7 @@ fn run_sim(id: u32, p: Params, g: Geometries) -> Results {
|
||||
driver.add_measurement(meas::Current::new("couplingbot", g.coupling_wire_bot.clone()));
|
||||
|
||||
let base = format!("buffer5-{}", id);
|
||||
let prefix = format!("out/{}/{}-{}-{}setmA-{}setps-{}clkmA-{}clkps-{}um-{}ferromaj-{}:{}wraps-{}:{}cov",
|
||||
let prefix = format!("out/{}/{}-{}-{}setmA-{}setps-{}clkmA-{}clkps-{}um-{}ferromaj-{}:{}wraps-{}:{}cov-{:?}clk",
|
||||
base,
|
||||
base,
|
||||
*driver.size(),
|
||||
@@ -382,6 +382,7 @@ fn run_sim(id: u32, p: Params, g: Geometries) -> Results {
|
||||
p.wraps2,
|
||||
p.wrap1_coverage,
|
||||
p.wrap2_coverage,
|
||||
p.clock_type,
|
||||
);
|
||||
|
||||
if p.dry_run {
|
||||
@@ -425,6 +426,7 @@ fn run_sim(id: u32, p: Params, g: Geometries) -> Results {
|
||||
format!("{}/results.txt", prefix),
|
||||
format!("{:#?}\n", res),
|
||||
).unwrap();
|
||||
info!("completed sim: {}", prefix);
|
||||
res
|
||||
}
|
||||
|
||||
@@ -433,28 +435,30 @@ fn main() {
|
||||
coremem::init_logging();
|
||||
let i = 62;
|
||||
let dry_run = false;
|
||||
let clock_type = PulseType::Square;
|
||||
let mut variants = Vec::new();
|
||||
for ferro_major in [1360e-6, 2320e-6, 1680e-6] {
|
||||
// 10e-9 is enough to see m2 peak, 275e-9 for it to stabilize
|
||||
for post_time in [10e-9, 275e-9] {
|
||||
for peak_clock_current in [400.0, 100.0, 1600.0, 25.0] {
|
||||
for wrap1_density in [1.0, 0.5, 0.2] {
|
||||
for wrap2_density in [1.0, 0.5, 0.2, 0.0] {
|
||||
for (wrap1_cov, wrap2_cov) in [
|
||||
(0.8, 0.8),
|
||||
(0.8, 0.25),
|
||||
(0.25, 0.8),
|
||||
] {
|
||||
variants.push((
|
||||
peak_clock_current,
|
||||
post_time,
|
||||
ferro_major,
|
||||
wrap1_cov,
|
||||
wrap2_cov,
|
||||
wrap1_density,
|
||||
wrap2_density
|
||||
));
|
||||
for clock_type in [PulseType::Square, PulseType::Sine] {
|
||||
for wrap1_density in [1.0, 0.5, 0.2] {
|
||||
for wrap2_density in [1.0, 0.5, 0.2, 0.0] {
|
||||
for (wrap1_cov, wrap2_cov) in [
|
||||
(0.8, 0.8),
|
||||
(0.8, 0.25),
|
||||
(0.25, 0.8),
|
||||
] {
|
||||
variants.push((
|
||||
peak_clock_current,
|
||||
post_time,
|
||||
clock_type,
|
||||
ferro_major,
|
||||
wrap1_cov,
|
||||
wrap2_cov,
|
||||
wrap1_density,
|
||||
wrap2_density
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -462,7 +466,7 @@ fn main() {
|
||||
}
|
||||
}
|
||||
|
||||
for (peak_clock_current, post_time, ferro_major, wrap1_coverage, wrap2_coverage, wrap1_density, wrap2_density) in variants {
|
||||
for (peak_clock_current, post_time, clock_type, ferro_major, wrap1_coverage, wrap2_coverage, wrap1_density, wrap2_density) in variants {
|
||||
info!("{}A {}s {}m {}:{}cov {}:{}density", peak_clock_current, post_time, ferro_major, wrap1_coverage, wrap2_coverage, wrap1_density, wrap2_density);
|
||||
let base_params = Params {
|
||||
dry_run,
|
||||
|
Reference in New Issue
Block a user