29.01.2015 Views

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Exploring SW Per<strong>for</strong>mance 103<br />

The channel may use a subsequent protocol with the slave to play the pre<br />

and post transactions.<br />

In the case of the AMBA bus, the pre() and post() are respectively corresponding<br />

to management of the write transactions giving the in parameters<br />

of the operations and the read transactions to retrieve the out parameters of<br />

the operations.<br />

Figure 8-6 shows how the pattern has been applied <strong>for</strong> the AMBA-bus. The<br />

write_txs() and read_txs give the user provi<strong>de</strong>d data <strong>de</strong>scribing the transaction<br />

configuration to the channel. These data notably contains the number of<br />

bytes to be transmitted, and the width of the words. They do no contain the<br />

actual data transmitted to the slave, these are given by the parameters on the<br />

function call.<br />

These are macro transactions are then <strong>de</strong>composed accordingly to the bus<br />

specification (burst are bound to 1 Ko address space) and the arbitration policy<br />

selected <strong>for</strong> the bus.<br />

The bus notifies the slave access that some bytes must be written to its<br />

buffer. The slave access will provi<strong>de</strong> a <strong>de</strong>layed answer to the bus write transaction<br />

query. This is the slave access that count the number of cycles used to<br />

complete the bus transaction.<br />

The slave access can give several replies accordingly to the amba bus<br />

specifications:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!