|
CDL Modules
|
Files | |
| file | apb_target_sram_interface.cdl |
| APB bus target to drive an SRAM read/write request. | |
| module apb_target_sram_interface::apb_target_sram_interface | ( | clock | clk, |
| input bit | reset_n, | ||
| input t_apb_request | apb_request, | ||
| output t_apb_response | apb_response, | ||
| output bit | sram_ctrl[32], | ||
| output t_sram_access_req | sram_access_req, | ||
| input t_sram_access_resp | sram_access_resp | ||
| ) |
APB target peripheral that generates SRAM read/write requests
The module maintains a 32-bit SRAM address that is used in the requests, which is a read/write register. There is also a 32-bit control register, that can be used for any purpose by the client.
SRAM requests occur when the data register is accessed; it can be accessed in one of three different ways. Firstly, it may be accessed simply read/write, with either generating the appropriate SRAM request to the address given by the SRAM address register. Secondly, it may be accessed with a post-increment, where the SRAM address register value is used as-is in the request, but it is incremented ready for a subsequent transaction. Thirdly, it may be accessed 'windowed'; in this manner the bottom 7 bits of the APB address are used in conjunction with the top 25 bits of the SRAM address register to generate the address for the SRAM request.
| [in] | clk | System clock |
| [in] | reset_n | Active low reset |
| [in] | apb_request | APB request |
| [out] | apb_response | APB response |
| [out] | sram_ctrl | SRAM control data, for whatever purpose |
| [out] | sram_access_req | SRAM access request |
| [in] | sram_access_resp | SRAM access response |
1.8.11