Skip to content
This repository has been archived by the owner on Jun 24, 2021. It is now read-only.

Latest commit

 

History

History
59 lines (48 loc) · 2.86 KB

RegisterCrossing.md

File metadata and controls

59 lines (48 loc) · 2.86 KB

Register interface for crossing power domains.


class BusyRegisterCrossing

A cross domain register interface. When io.bypass is asserted, it ignores the next request with an immediated response. Used as the control logic for an actual data crossing.

class BusyRegisterCrossing extends Module
  • I/O
name type direction description
bypass Bool I ignore the next request
master_request_valid Bool I request valid from master
master_request_ready Bool O ready for a request from master
master_response_valid Bool O a request is sent
master_response_ready Bool I master ready for response
crossing_request_valid Bool O a request forwarded to slave
crossing_request_ready Bool I a request is received by slave

class RegisterWriteCrossing

Register crossing write interface module.

class RegisterWriteCrossing[T <: Data](gen: T, sync: Int = 3) extends Module
  • I/O
name type direction description
master_clock Clock I clock of the master domain
master_reset Bool I reset of the master domain
master_port.request DecoupledIO[T] I request from master
master_port.response IrrevocableIO[Bool] O response for master
master_bypass Bool I ignore the next request
slave_clock Clock I clock of the slave domain
slave_reset Bool I reset of the slave domain




Last updated: 08/07/2017
CC BY-NC-SA 4.0, © (2017) Wei Song
Apache 2.0, © (2016-2017) SiFive, Inc
BSD, © (2012-2014, 2016) The Regents of the University of California (Regents)