CDL Modules
Files
csr_target_apb

Files

file  csr_target_apb.cdl
 Pipelined CSR request/response interface to APB slave interface.
 

Detailed Description

Modules

module csr_target_apb::csr_target_apb ( clock  clk,
input bit  reset_n,
input t_csr_request  csr_request,
output t_csr_response  csr_response,
output t_apb_request  apb_request,
input t_apb_response  apb_response,
input bit  csr_select[16] 
)

The documentation of the pipelined CSR interface itself is in other files (at this time, csr_target_csr.cdl).

This module provides a CSR target interface, and drives out an APB master request bus. It can therefore be used at the 'leaf' end of a CSR interface tree, to access standard APB peripherals.

The module must be told which csr_select it should be listening for on the CSR target interface; it converts any read or write to an APB master request (with top 16 bits of paddr zeroed) to the APB request. Hence the APB target attached to this module is accessed by CSR requests with the select set to csr_select.

The module is lightweight, effectively being a registered end-point on the CSR interface and a registered APB request.

Parameters
[in]clkClock for the CSR interface, possibly gated version of master CSR clock
[in]reset_nActive low reset
[in]csr_requestPipelined csr request interface input
[out]csr_responsePipelined csr request interface response
[out]apb_requestAPB request to target
[in]apb_responseAPB response from target
[in]csr_selectHard-wired select value for the client