Files
tatu/generated-ooo/MMU.sv
2026-06-27 03:38:34 +00:00

43 lines
1.3 KiB
Systemverilog

// Generated by CIRCT firtool-1.139.0
module MMU(
input clock,
reset,
input [63:0] io_satp,
input io_req_valid,
input [63:0] io_req_vaddr,
input io_req_isStore,
output io_resp_pageFault,
io_ptwMemReq_valid,
output [63:0] io_ptwMemReq_addr,
input io_ptwMemResp_valid,
input [63:0] io_ptwMemResp_data,
output io_refill_valid,
output [26:0] io_refill_vpn,
output [43:0] io_refill_ppn,
output [7:0] io_refill_flags
);
wire _walker_io_respValid;
wire _walker_io_pageFault;
PageTableWalker walker (
.clock (clock),
.reset (reset),
.io_reqValid (io_req_valid & (|(io_satp[63:60]))),
.io_reqVpn (io_req_vaddr[38:12]),
.io_isStore (io_req_isStore),
.io_satp (io_satp),
.io_memReq_valid (io_ptwMemReq_valid),
.io_memReq_addr (io_ptwMemReq_addr),
.io_memResp_valid (io_ptwMemResp_valid),
.io_memResp_data (io_ptwMemResp_data),
.io_respValid (_walker_io_respValid),
.io_refill_valid (io_refill_valid),
.io_refill_vpn (io_refill_vpn),
.io_refill_ppn (io_refill_ppn),
.io_refill_flags (io_refill_flags),
.io_pageFault (_walker_io_pageFault)
);
assign io_resp_pageFault = _walker_io_respValid & _walker_io_pageFault;
endmodule