1
0

Compare commits

...

2 Commits

Author SHA1 Message Date
81d631a6a1 Add small rocket config with fpu and mmu
This is required for booting linux. The caches are still as small as
in the small core config, so performance will not be great.
2018-05-19 18:56:56 +02:00
6df42fc360 ml507: readmemh does not support dynamic paths on ISE 2018-05-01 00:10:15 +02:00
2 changed files with 23 additions and 7 deletions

View File

@ -23,9 +23,6 @@ module {name}(
reg [{output_width_minus_1}:0] rom [0:{depth_minus_1}]; reg [{output_width_minus_1}:0] rom [0:{depth_minus_1}];
// 1024 is the maximum length of $readmemh filename supported by Cadence Incisive
reg [1024 * 8 - 1:0] path;
integer i; integer i;
initial begin initial begin
`ifdef RANDOMIZE `ifdef RANDOMIZE
@ -35,10 +32,7 @@ module {name}(
end end
`endif `endif
`endif `endif
if (!$value$plusargs("maskromhex=%s", path)) begin $readmemh("{rom_hex_file}", rom);
path = "{rom_hex_file}";
end
$readmemh(path, rom);
end end

View File

@ -50,6 +50,28 @@ class WithNBigCores(n: Int) extends Config((site, here, up) => {
} }
}) })
class WithNSmallLinuxCores(n: Int) extends Config((site, here, up) => {
case RocketTilesKey => {
val small = RocketTileParams(
core = RocketCoreParams(),
btb = None,
dcache = Some(DCacheParams(
rowBits = site(SystemBusKey).beatBits,
nSets = 64,
nWays = 1,
nTLBEntries = 4,
nMSHRs = 0,
blockBytes = site(CacheBlockBytes))),
icache = Some(ICacheParams(
rowBits = site(SystemBusKey).beatBits,
nSets = 64,
nWays = 1,
nTLBEntries = 4,
blockBytes = site(CacheBlockBytes))))
List.tabulate(n)(i => small.copy(hartId = i))
}
})
class WithNSmallCores(n: Int) extends Config((site, here, up) => { class WithNSmallCores(n: Int) extends Config((site, here, up) => {
case RocketTilesKey => { case RocketTilesKey => {
val small = RocketTileParams( val small = RocketTileParams(