23 lines
450 B
Plaintext
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
|