code wiki / _hdl_build / nx_alu_divider_exhaustive_test.nx

nx_alu_divider_exhaustive_test.nx

buildroot/runtime/_hdl_build/nx_alu_divider_exhaustive_test.nx

2589 B67 linesdepth 8pulls 8 transitivereach 0 importersview sourcekind gate/prooftopic alu
docsdependenciesstructsconstsfunctions

about

nx_alu_divider_exhaustive_test.nx -- the divider EXCEED on the VERIFICATION dimension: prove the synthesized divider correct over the ENTIRE 8-bit input space (all dividends 0..255 x all divisors 1..255 = 65280 pairs), quotient AND remainder, 1:1 vs behavioral. MEET (floor) = a correct divider on a few vectors. EXCEED (this) = correctness PROVEN-BY-CONSTRUCTION at 100% input-space coverage -- the guarantee incumbent synthesis flows (Yosys/ABC) do NOT give (structural-only; can silently miscompile -- the SynFuzz finding). Named incumbent: an unverified emitted divider. Measurable dimension: verified-coverage = 100% (65280/65280). (This is the VERIFICATION exceed; the PERFORMANCE exceed = radix-4 SRT fewer stages, scoped next by the exceed-calibration. Honest: don't conflate them.) Known answer (FAIL LOUD): "65280 65280 " (ok, total). exit 0 iff ok == total.

dependencies 1 imports · 0 importers

nx_alu_divider.nx nx_alu_divider_exhaustive_test

imports: nx_alu_divider.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main nx_div_synth nx_sink_init_mem nx_div_synth_sink nx_sink_const nx_hdl_wire nx_hdl_signal_alloc nx_hdl_kind_is_valid nx_hdl_width_is_valid nx_sink_cell nx_hdl_wire ↻ sys_mmap nx_gsim_run nx_gsim_kind_supported nx_gsim_eval_cell _emit_num _nl

structs

none

consts

none

functions

19func _emit_num(v: i64) -> i64
called by 1: main
27func _nl() -> i64 { let z: *u8 = sys_mmap(2); z[0] = 10; sys_write(1, z, 1); return 0 }
called by 1: main
29func main() -> i64