don't make HTIF clock divider tied to backup memory
This commit is contained in:
parent
5e145515e1
commit
3c9e63f5a5
@ -228,7 +228,8 @@ class DefaultConfig extends Config (
|
||||
case BankIdLSB => 0
|
||||
case CacheBlockBytes => Dump("CACHE_BLOCK_BYTES", 64)
|
||||
case CacheBlockOffsetBits => log2Up(here(CacheBlockBytes))
|
||||
case UseBackupMemoryPort => true
|
||||
case UseBackupMemoryPort => false
|
||||
case UseHtifClockDiv => true
|
||||
case MMIOBase => Dump("MEM_SIZE", BigInt(1L << 30)) // 1 GB
|
||||
case DeviceTree => makeDeviceTree()
|
||||
case GlobalAddrMap => {
|
||||
@ -356,7 +357,7 @@ class ZscaleConfig extends Config(new WithZscale ++ new DefaultConfig)
|
||||
class FPGAConfig extends Config (
|
||||
(pname,site,here) => pname match {
|
||||
case NAcquireTransactors => 4
|
||||
case UseBackupMemoryPort => false
|
||||
case UseHtifClockDiv => false
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -27,6 +27,8 @@ case object BankIdLSB extends Field[Int]
|
||||
case object NOutstandingMemReqsPerChannel extends Field[Int]
|
||||
/** Whether to use the slow backup memory port [VLSI] */
|
||||
case object UseBackupMemoryPort extends Field[Boolean]
|
||||
/** Whether to divide HTIF clock */
|
||||
case object UseHtifClockDiv extends Field[Boolean]
|
||||
/** Function for building some kind of coherence manager agent */
|
||||
case object BuildL2CoherenceManager extends Field[(Int, Parameters) => CoherenceAgent]
|
||||
/** Function for building some kind of tile connected to a reset signal */
|
||||
@ -120,6 +122,7 @@ class Top(topParams: Parameters) extends Module with HasTopLevelParameters {
|
||||
uncore.io.tiles_uncached <> tileList.map(_.io.uncached).flatten
|
||||
io.host <> uncore.io.host
|
||||
if (p(UseBackupMemoryPort)) { io.mem_backup_ctrl <> uncore.io.mem_backup_ctrl }
|
||||
else { uncore.io.mem_backup_ctrl.en := Bool(false) }
|
||||
|
||||
io.mem.zip(uncore.io.mem).foreach { case (outer, inner) =>
|
||||
TopUtils.connectNasti(outer, inner)
|
||||
@ -189,7 +192,7 @@ class Uncore(implicit val p: Parameters) extends Module
|
||||
// Wire the htif to the memory port(s) and host interface
|
||||
io.host.debug_stats_csr := htif.io.host.debug_stats_csr
|
||||
io.mem <> outmemsys.io.mem
|
||||
if(p(UseBackupMemoryPort)) {
|
||||
if(p(UseHtifClockDiv)) {
|
||||
outmemsys.io.mem_backup_en := io.mem_backup_ctrl.en
|
||||
VLSIUtils.padOutHTIFWithDividedClock(htif.io.host, scrFile.io.scr,
|
||||
outmemsys.io.mem_backup, io.mem_backup_ctrl, io.host, htifW)
|
||||
@ -344,5 +347,8 @@ class OuterMemorySystem(implicit val p: Parameters) extends Module with HasTopLe
|
||||
"Backup memory port only works when 1 memory channel is enabled")
|
||||
require(channelConfigs.sortWith(_ < _)(0) == 1,
|
||||
"Backup memory port requires a single memory port mux config")
|
||||
} else { io.mem <> mem_channels }
|
||||
} else {
|
||||
io.mem <> mem_channels
|
||||
io.mem_backup.req.valid := Bool(false)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user