Clock domain crossing modules for OCP-style read/write interfaces

Publication: ResearchReport – Annual report year: 2016

Standard

Clock domain crossing modules for OCP-style read/write interfaces. / Herlev, Mathias; Sparsø, Jens.

Kgs. Lyngby : Technical University of Denmark (DTU), 2016. 45 p. (DTU Compute-Technical Report-2016; No. 4).

Publication: ResearchReport – Annual report year: 2016

Harvard

Herlev, M & Sparsø, J 2016, Clock domain crossing modules for OCP-style read/write interfaces. Technical University of Denmark (DTU), Kgs. Lyngby. DTU Compute-Technical Report-2016, no. 4

APA

Herlev, M., & Sparsø, J. (2016). Clock domain crossing modules for OCP-style read/write interfaces. Kgs. Lyngby: Technical University of Denmark (DTU). (DTU Compute-Technical Report-2016; No. 4).

CBE

Herlev M, Sparsø J 2016. Clock domain crossing modules for OCP-style read/write interfaces. Kgs. Lyngby: Technical University of Denmark (DTU). 45 p. (DTU Compute-Technical Report-2016; No. 4).

MLA

Herlev, Mathias and Jens Sparsø Clock domain crossing modules for OCP-style read/write interfaces Kgs. Lyngby: Technical University of Denmark (DTU). 2016. (DTU Compute-Technical Report-2016; Journal number 4).

Vancouver

Herlev M, Sparsø J. Clock domain crossing modules for OCP-style read/write interfaces. Kgs. Lyngby: Technical University of Denmark (DTU), 2016. 45 p. (DTU Compute-Technical Report-2016; No. 4).

Author

Herlev, Mathias; Sparsø, Jens / Clock domain crossing modules for OCP-style read/write interfaces.

Kgs. Lyngby : Technical University of Denmark (DTU), 2016. 45 p. (DTU Compute-Technical Report-2016; No. 4).

Publication: ResearchReport – Annual report year: 2016

Bibtex

@book{8c3efe00f0554e2d8d0c6be3728ad948,
title = "Clock domain crossing modules for OCP-style read/write interfaces",
abstract = "The open core protocol (OCP) is an openly licensed, configurable, and scalable interface protocol for on-chip subsystem communications. The protocol defines read and write transactions from a master towards a slave across a point-to-point connection and the protocol assumes a single common clock.This paper presents the design of two OCP clock domain crossing interface modules, that can be used to construct systems with multiple clock domains. One module (called OCPio) supports a single word read-write interface and the other module (called OCPburst) supports a four word burst read-write interface. The modules has been developed for the T-CREST multi-core platform [8, 9, 13] but they can easily be adopted and used in other designs implementing variants of the OCP interface standard. The OCPio module is used to connect a Patmos processor to a message passing network-on-chip and the OCPburst is used to connect the Processor and its cache controllers to a shared o_-chip memory. While the problem of synchronizing a simple streaming interface is well described in the literature and often solved using bi-synchronous FIFOs we found surprisingly little published material addressing synchronization of bus-style read-write transaction interfaces. An OCP interface typically has control signals related to both the master issuing a read or write request and the slave producing a response. If all these control signals are passed across the clock domain boundary and synchronized it may add significant latency to the duration of a transaction. Our interface designs avoid this and synchronize only a single signal transition in each direction during a read or a write transaction. The designs are available as open source, and the modules have been tested in a complete multi-core platform implemented on an FPGA board.",
author = "Mathias Herlev and Jens Sparsø",
year = "2016",
publisher = "Technical University of Denmark (DTU)",

}

RIS

TY - RPRT

T1 - Clock domain crossing modules for OCP-style read/write interfaces

AU - Herlev,Mathias

AU - Sparsø,Jens

PY - 2016

Y1 - 2016

N2 - The open core protocol (OCP) is an openly licensed, configurable, and scalable interface protocol for on-chip subsystem communications. The protocol defines read and write transactions from a master towards a slave across a point-to-point connection and the protocol assumes a single common clock.This paper presents the design of two OCP clock domain crossing interface modules, that can be used to construct systems with multiple clock domains. One module (called OCPio) supports a single word read-write interface and the other module (called OCPburst) supports a four word burst read-write interface. The modules has been developed for the T-CREST multi-core platform [8, 9, 13] but they can easily be adopted and used in other designs implementing variants of the OCP interface standard. The OCPio module is used to connect a Patmos processor to a message passing network-on-chip and the OCPburst is used to connect the Processor and its cache controllers to a shared o_-chip memory. While the problem of synchronizing a simple streaming interface is well described in the literature and often solved using bi-synchronous FIFOs we found surprisingly little published material addressing synchronization of bus-style read-write transaction interfaces. An OCP interface typically has control signals related to both the master issuing a read or write request and the slave producing a response. If all these control signals are passed across the clock domain boundary and synchronized it may add significant latency to the duration of a transaction. Our interface designs avoid this and synchronize only a single signal transition in each direction during a read or a write transaction. The designs are available as open source, and the modules have been tested in a complete multi-core platform implemented on an FPGA board.

AB - The open core protocol (OCP) is an openly licensed, configurable, and scalable interface protocol for on-chip subsystem communications. The protocol defines read and write transactions from a master towards a slave across a point-to-point connection and the protocol assumes a single common clock.This paper presents the design of two OCP clock domain crossing interface modules, that can be used to construct systems with multiple clock domains. One module (called OCPio) supports a single word read-write interface and the other module (called OCPburst) supports a four word burst read-write interface. The modules has been developed for the T-CREST multi-core platform [8, 9, 13] but they can easily be adopted and used in other designs implementing variants of the OCP interface standard. The OCPio module is used to connect a Patmos processor to a message passing network-on-chip and the OCPburst is used to connect the Processor and its cache controllers to a shared o_-chip memory. While the problem of synchronizing a simple streaming interface is well described in the literature and often solved using bi-synchronous FIFOs we found surprisingly little published material addressing synchronization of bus-style read-write transaction interfaces. An OCP interface typically has control signals related to both the master issuing a read or write request and the slave producing a response. If all these control signals are passed across the clock domain boundary and synchronized it may add significant latency to the duration of a transaction. Our interface designs avoid this and synchronize only a single signal transition in each direction during a read or a write transaction. The designs are available as open source, and the modules have been tested in a complete multi-core platform implemented on an FPGA board.

M3 - Report

BT - Clock domain crossing modules for OCP-style read/write interfaces

PB - Technical University of Denmark (DTU)

ER -