code wiki / _hdl_build / rv64im_min_gfx_gate.nx
rv64im_min_gfx_gate.nx
buildroot/runtime/_hdl_build/rv64im_min_gfx_gate.nx
dependencies 12 imports · 0 importers
diagram shows first 10 each side; +2 more imports, +0 more importers in the complete lists below.
imports: nx_gate_gn.nxnx_gate_base.nxnx_syscalls.nxnishi_hdl_primitives.nxrv64im_min_decoder.nxrv64im_min_alu.nxrv64im_min_regfile.nxrv64im_min_csr.nxrv64im_min_clint.nxrv64im_min_uart.nxrv64im_min_sim.nxnx_png.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| none |
functions
| 37 | func grow(name: *u8, ok: i64) -> i64 { if ok==1 { gw(" PASS " as *u8) } else { gw(" FAIL " as *u8) } gw(name); gw(" calls 1: gw |
| 41 | func e_auipc(rd: i64, imm20: i64) -> i64 { return ((imm20 & 0xFFFFF) << 12) | (rd << 7) | 0x17 } called by 1: build_prog |
| 42 | func e_addi(rd: i64, rs1: i64, imm: i64) -> i64 { return ((imm & 0xFFF) << 20) | (rs1 << 15) | (rd << 7) | 0x13 } called by 1: build_prog |
| 43 | func e_andi(rd: i64, rs1: i64, imm: i64) -> i64 { return ((imm & 0xFFF) << 20) | (rs1 << 15) | (7 << 12) | (rd << 7) | 0x13 } called by 1: build_prog |
| 44 | func e_slli(rd: i64, rs1: i64, sh: i64) -> i64 { return ((sh & 0x3F) << 20) | (rs1 << 15) | (1 << 12) | (rd << 7) | 0x13 } |
| 45 | func e_rr(rd: i64, rs1: i64, rs2: i64, f3: i64) -> i64 { return (rs2 << 20) | (rs1 << 15) | (f3 << 12) | (rd << 7) | 0x33 } called by 1: build_prog |
| 46 | func e_sw(rs1: i64, rs2: i64, imm: i64) -> i64 { return (((imm>>5)&0x7F)<<25) | (rs2<<20) | (rs1<<15) | (2<<12) | ((imm&0x1F)<<7) | 0x23 } called by 1: build_prog |
| 47 | func e_blt(rs1: i64, rs2: i64, off: i64) -> i64 |
| 52 | func w32(mem: *u8, off: i64, v: i64) -> i64 |
| 58 | func build_prog(prog: *i64) -> i64 |
| 88 | func run_frame(prog: *i64, nprog: i64, fb_out: *i64, W: i64, H: i64) -> i64 |
| 109 | func main() -> i64 |