1
0

Compare commits

...

3 Commits

Author SHA1 Message Date
8710fe9561 Add WithClockFrequency class to update frequencies 2018-06-06 01:04:47 +02:00
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 31 additions and 7 deletions

View File

@ -23,9 +23,6 @@ module {name}(
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;
initial begin
`ifdef RANDOMIZE
@ -35,10 +32,7 @@ module {name}(
end
`endif
`endif
if (!$value$plusargs("maskromhex=%s", path)) begin
path = "{rom_hex_file}";
end
$readmemh(path, rom);
$readmemh("{rom_hex_file}", rom);
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) => {
case RocketTilesKey => {
val small = RocketTileParams(
@ -208,6 +230,14 @@ class WithRoccExample extends Config((site, here, up) => {
}
})
class WithClockFrequency(frequency: BigInt) extends Config((site, here, up) => {
case RocketTilesKey => up(RocketTilesKey, site) map { r =>
r.copy(core = r.core.copy(bootFreqHz = frequency))
}
case PeripheryBusKey => up(PeripheryBusKey, site)
.copy(frequency = frequency)
})
class WithDefaultBtb extends Config((site, here, up) => {
case RocketTilesKey => up(RocketTilesKey, site) map { r =>
r.copy(btb = Some(BTBParams()))