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()));
|
driver.add_measurement(meas::Current::new("couplingbot", g.coupling_wire_bot.clone()));
|
||||||
|
|
||||||
let base = format!("buffer5-{}", id);
|
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,
|
||||||
base,
|
base,
|
||||||
*driver.size(),
|
*driver.size(),
|
||||||
@@ -382,6 +382,7 @@ fn run_sim(id: u32, p: Params, g: Geometries) -> Results {
|
|||||||
p.wraps2,
|
p.wraps2,
|
||||||
p.wrap1_coverage,
|
p.wrap1_coverage,
|
||||||
p.wrap2_coverage,
|
p.wrap2_coverage,
|
||||||
|
p.clock_type,
|
||||||
);
|
);
|
||||||
|
|
||||||
if p.dry_run {
|
if p.dry_run {
|
||||||
@@ -425,6 +426,7 @@ fn run_sim(id: u32, p: Params, g: Geometries) -> Results {
|
|||||||
format!("{}/results.txt", prefix),
|
format!("{}/results.txt", prefix),
|
||||||
format!("{:#?}\n", res),
|
format!("{:#?}\n", res),
|
||||||
).unwrap();
|
).unwrap();
|
||||||
|
info!("completed sim: {}", prefix);
|
||||||
res
|
res
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -433,28 +435,30 @@ fn main() {
|
|||||||
coremem::init_logging();
|
coremem::init_logging();
|
||||||
let i = 62;
|
let i = 62;
|
||||||
let dry_run = false;
|
let dry_run = false;
|
||||||
let clock_type = PulseType::Square;
|
|
||||||
let mut variants = Vec::new();
|
let mut variants = Vec::new();
|
||||||
for ferro_major in [1360e-6, 2320e-6, 1680e-6] {
|
for ferro_major in [1360e-6, 2320e-6, 1680e-6] {
|
||||||
// 10e-9 is enough to see m2 peak, 275e-9 for it to stabilize
|
// 10e-9 is enough to see m2 peak, 275e-9 for it to stabilize
|
||||||
for post_time in [10e-9, 275e-9] {
|
for post_time in [10e-9, 275e-9] {
|
||||||
for peak_clock_current in [400.0, 100.0, 1600.0, 25.0] {
|
for peak_clock_current in [400.0, 100.0, 1600.0, 25.0] {
|
||||||
for wrap1_density in [1.0, 0.5, 0.2] {
|
for clock_type in [PulseType::Square, PulseType::Sine] {
|
||||||
for wrap2_density in [1.0, 0.5, 0.2, 0.0] {
|
for wrap1_density in [1.0, 0.5, 0.2] {
|
||||||
for (wrap1_cov, wrap2_cov) in [
|
for wrap2_density in [1.0, 0.5, 0.2, 0.0] {
|
||||||
(0.8, 0.8),
|
for (wrap1_cov, wrap2_cov) in [
|
||||||
(0.8, 0.25),
|
(0.8, 0.8),
|
||||||
(0.25, 0.8),
|
(0.8, 0.25),
|
||||||
] {
|
(0.25, 0.8),
|
||||||
variants.push((
|
] {
|
||||||
peak_clock_current,
|
variants.push((
|
||||||
post_time,
|
peak_clock_current,
|
||||||
ferro_major,
|
post_time,
|
||||||
wrap1_cov,
|
clock_type,
|
||||||
wrap2_cov,
|
ferro_major,
|
||||||
wrap1_density,
|
wrap1_cov,
|
||||||
wrap2_density
|
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);
|
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 {
|
let base_params = Params {
|
||||||
dry_run,
|
dry_run,
|
||||||
|
Reference in New Issue
Block a user