E-Series/src/Soc.bsv
John Terrell 637d71432c
WIP
2023-03-15 07:15:26 -07:00

23 lines
450 B
Plaintext

import Cpu::*;
export CpuCfg(..), mkSoc, SocCfg(..), SocIfc(..);
//
// SocConfig
//
typedef struct {
CpuCfg#(xlen, ifetchByteCount) cpu_cfg;
} SocCfg#(numeric type xlen, numeric type ifetchByteCount);
//
// SocIfc
//
interface SocIfc#(numeric type xlen, numeric type ifetchByteCount);
endinterface
//
// mkSoc()
//
module mkSoc#(SocCfg#(xlen, ifetchByteCount) cfg)(SocIfc#(xlen, ifetchByteCount));
let cpu <- mkCpu(cfg.cpu_cfg);
endmodule