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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

202 Chapter 15<br />

tion (RTOS5) are available in references [9] and [16]. In this section, we will<br />

focus our attention on a comparison of the first configuration (RTOS1), the<br />

third configuration (RTOS3) and the last configuration (RTOS6).<br />

To compare RTOS1, RTOS3 and RTOS6, we <strong>de</strong>ci<strong>de</strong>d to use the database<br />

example <strong>de</strong>scribed in Example 5-2. The base architecture <strong>for</strong> all three systems<br />

is the same: three MPC755 processors connected via a single bus to 16 MB<br />

of L2 memory and to reconfigurable logic. This architecture can be seen in<br />

Figure 15-13 with the RTU instantiated in the reconfigurable logic. Each<br />

MPC755 has separate instruction and data caches each of size 32 KB. Our<br />

first system configuration of Figure 15-13 uses RTOS1; there<strong>for</strong>e, with a<br />

pure software RTOS, synchronization is per<strong>for</strong>med with software semaphores<br />

and spin-locks in the system. Note that in this first system, all of the reconfigurable<br />

logic is available <strong>for</strong> other uses as nee<strong>de</strong>d. The second system uses<br />

RTOS3 and thus instantiates an <strong>SoC</strong>LC in the reconfigurable logic block of<br />

Figure 15-13. Finally, as shown in Figure 15-13, our third system inclu<strong>de</strong>s the<br />

RTU (see Figure 15-10 in Section 5), exploiting the reconfigurable logic <strong>for</strong><br />

scheduling, synchronization and even time-related services. In short, the<br />

hardware RTU in Figure 15-13 handles most of the RTOS services.<br />

Simulations of two database examples were carried out on each of these<br />

three systems using Seamless CVE [15], as illustrated on the far right-hand<br />

si<strong>de</strong> of Figure 15-9. We used Mo<strong>de</strong>lsim from Mentor Graphics <strong>for</strong> mixed<br />

VHDL/Verilog simulation and XRAY <strong>de</strong>bugger from Mentor Graphics <strong>for</strong><br />

application co<strong>de</strong> <strong>de</strong>bugging. To simulate each configured system, both the<br />

software part including application and the hardware part of the Verilog top<br />

module were compiled. Then the executable application and the multiprocessor<br />

hardware setup consisting of three MPC755’s were connected in<br />

Seamless CVE.<br />

Experimental results in Table 15-1 present the total execution time of (i)<br />

simulation with software semaphores, (ii) simulation with <strong>SoC</strong>LC (hardwaresupported<br />

semaphores) and (iii) simulation with RTU. As seen in the table,

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

Saved successfully!

Ooh no, something went wrong!