Skip to content

Commit

Permalink
Memory endpoint++
Browse files Browse the repository at this point in the history
  • Loading branch information
Dolu1990 committed May 17, 2024
1 parent 1351f9f commit 457e366
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions lib/src/main/scala/spinal/lib/system/tag/Bus.scala
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,26 @@ trait MemoryEndpoint extends SpinalTag{
def mapping: AddressMapping
}

class MemoryEndpointTag(body : => AddressMapping) extends MemoryEndpoint{
override def mapping: AddressMapping = body
}

class VirtualEndpoint(val up : Nameable with SpinalTagReady, val mapping : AddressMapping) extends Area with SpinalTagReady {
val self = this
new MemoryConnection {
override def up = self.up
override def down = self
override def transformers = Nil
populate()
}
addTag(new MemoryTransferTag{
override def get: MemoryTransfers = MemoryTransfers.of(up).get
})
addTag(new MemoryEndpoint {
override def mapping = self.mapping
})
}

trait PmaRegion{
def mapping : AddressMapping
def transfers: MemoryTransfers
Expand Down

0 comments on commit 457e366

Please sign in to comment.