factorio-riscv/board/system.sv

27 lines
811 B
Systemverilog

`include "parts/hart.sv";
`include "parts/pmmu.sv";
`include "parts/rom.sv";
module system();
reg clock = 0; // its the clock
reg wire_rd;
reg wire_wr;
reg [31:0] wire_addr;
reg [31:0] wire_datar;
reg [31:0] wire_dataw;
reg wire_rom_rd;
reg wire_rom_wr;
reg [31:0] wire_rom_addr;
reg [31:0] wire_rom_datar;
reg [31:0] wire_rom_dataw;
hart core(clock, wire_rd, wire_wr, wire_addr, wire_datar, wire_dataw); // cpu thing
rom rom(clock, wire_rom_rd, wire_rom_wr, wire_rom_addr, wire_rom_datar, wire_rom_dataw);
pmmu pmmu(clock, wire_rd, wire_wr, wire_addr, wire_datar, wire_dataw, wire_rom_rd, wire_rom_wr, wire_rom_addr, wire_rom_datar, wire_rom_dataw);
// run the clock
always #5 clock = ~clock;
endmodule;