From 241255e12cb85d8ae7ffc4a929d2b6b9ac5b00ed Mon Sep 17 00:00:00 2001 From: Jacob Lifshay Date: Tue, 2 Jun 2026 01:38:06 -0700 Subject: [PATCH] tests/units_formal::test_power_isa_add_formal: formal proof actually starts, though it fails BMC --- crates/cpu/tests/units_formal.rs | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/crates/cpu/tests/units_formal.rs b/crates/cpu/tests/units_formal.rs index e84103c..2e1ce03 100644 --- a/crates/cpu/tests/units_formal.rs +++ b/crates/cpu/tests/units_formal.rs @@ -28,9 +28,7 @@ use std::num::NonZero; #[hdl_module] fn formal_harness(config: PhantomConst) { #[hdl] - let cd: ClockDomain = m.output(); - connect(cd.clk, fayalite::formal::formal_global_clock()); - connect(cd.rst, fayalite::formal::formal_reset().to_reset()); + let cd: ClockDomain = m.input(); #[hdl] let input: DecodeAndRunSingleInsnInput< @@ -99,9 +97,21 @@ fn formal_harness(config: PhantomConst) { #[hdl_module] fn check_power_isa_add_formal(config: PhantomConst) { + #[hdl] + let clk: Clock = m.input(); + #[hdl] + let cd = wire(); + connect( + cd, + #[hdl] + ClockDomain { + clk, + rst: formal_reset().to_reset(), + }, + ); #[hdl] let harness = instance(formal_harness(config)); - let cd = harness.cd; + connect(harness.cd, cd); #[hdl] let DecodeAndRunSingleInsnInput::<_, _> { decoder_input, @@ -208,11 +218,11 @@ fn test_power_isa_add_formal() { vec![UnitConfig::new(UnitKind::AluBranch)], NonZero::new(20).unwrap(), )); - let dut = check_power_isa_add_formal(config); + let m = check_power_isa_add_formal(config); println!("starting assert formal"); assert_formal( "test_power_isa_add_formal", - dut, + m, FormalMode::Prove, 10, None,