code wiki / _hdl_build / nx_decoder_kind_mem_test.nx

nx_decoder_kind_mem_test.nx

buildroot/runtime/_hdl_build/nx_decoder_kind_mem_test.nx

3966 B96 linesdepth 8pulls 9 transitivereach 0 importersview sourcekind gate/prooftopic decoder
docsdependenciesstructsconstsfunctions

about

nx_decoder_kind_mem_test.nx -- FUNCTIONAL gate-level verify of the decoder opcode->KIND classifier. Builds the field extracts + the kind classifier (nx_decoder_kind_build) into a MEM sink, runs the gate-sim over 200 random instructions diffing kind vs the behavioral oracle nx_rv64im_decode_kind, then 6 KATs that exercise the hard M-extension disambiguation (add/mul/div + addi/lui + invalid). The mul KAT (=14, NOT 9=OP) is itself the teeth: it proves the funct7 overlay actually fires. Mirrors nx_alu_select_mem_test. Sovereign. license_tier: ORIGINAL expect_exit: 0

dependencies 2 imports · 0 importers

nx_decoder_select.nx rv64im_min_decoder.nx nx_decoder_kind_mem_test.nx

imports: nx_decoder_select.nxrv64im_min_decoder.nx

imported by: nobody (leaf or entry point)

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

main nx_sink_init_mem nx_decoder_fields_build nx_dec_field 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_decoder_kind_build nx_sink_const ↻ nx_sink_cell ↻ nx_gsim_run nx_gsim_kind_supported nx_gsim_eval_cell nx_rv64im_decode_kind nx_rv64im_opcode nx_rv64im_funct7 nx_rv64im_funct3 _emit_cstr _emit_dec

structs

none

consts

none

functions

10func _emit_cstr(s: *u8) -> i64
called by 1: main
16func _emit_dec(v: i64) -> i64
called by 1: main
30func main() -> i64