are
I. INTRODUCTION
Multiprocessor system-on-chip (MPSoC) is an integration
of multiple processors or IP cores into a single chip. The use
of bus-based architecture inhibits the system scalability and
affects overall MPSoC performance. As a result, network-on
chip (NoC) [1] interconnect architectures have been defined
as an on-chip communication architecture (OCCA) where
processor cores can pass messages in the form of packet. One
important aspect of NoC is the decoupling of communication
from computational cores. Although the use of simulated traf
fic pattern may allow NoC design-space exploration without
actually having the processing cores available, the results may
be inaccurate due to the underestimation or overestimation of
the communication performance compared to the one for the
actual SoC implementation.
An MPSoC design requires a trade-off analysis among per
formance, power, area and reliability to meet the requirements
of the target application. To enable early system functional
ity verification and design-space exploration, several design
frameworks have been proposed to describe and simulate the
complex NoC-based MPSoC at higher abstraction level, i.e.,
Electronic System Level (ESL) [2]-[6]. However, most avail
able NoC simulation frameworks mainly focus on the analysis
of communication traffic. Each processor sends traffic in either
978-1-61284-193-9/11/$26.00 2011
IEEE
ISS Kernel
ISS Kernel
Normal memory section for temporary data storage This is the normal memory locations for temporary data
storage during the execution of the application software.
User-defined memory section for data exchange with
other IPs - It is dedicated for data exchange between
the ISS with the other IPs via NoC OCCA.
Reserved memory section for communication handshak
ing protocol - This is the reserve memory location that is
dedicated for high-level end-to-end handshaking protocol
among IPs or low-level handshaking protocol between
ISS simulation kernel with the NI via the IPC module.
ISS
Wrllelhe
Shared MemOfY
I
N
size
OR
I
I
10 the
memory.
I
I
I
size
from the
v
o
I
I
I
I
I
I
I
I
t-------------------.
, Write data In to flt( end
send to NoC OCCA
Nae Device()oriver:
recv_data
Shared
.
Write the tile 10 altha source IP to
the SrelO AD DRE SS
the READMEM_ADORESS
II:
:
to
:
I
I
I
I
G>
W it until
R Y A D DRES S = 1
ISS .
tne
Read the
Srdb ADDRESS
: __
uuuuu
I
I
I
I
I
Waituntill
__ =__: 1
I
I
I
I II
I
the READMEM_AOORESS
I I
I
I
I.... ________________________________
.1
I
I
NI
Nae ARM::ARM data receiveD
Memory
1 .indicate the
data to me mory
I
I
I
I
I
I
I
III
I
I
--------------------------------1:
has:
B.
NoC_ARM:lpcore
arm source
+
+
+
+
int interface_id;
unsigned long
dalaJo;
boot interface_written;
... arm_sourceO
+
void write_devtceO
void reset_flag(void)
+
+
+
int interface_id;
unsigned long data_io;
unsigned long access_count;
clock
arm_sinkO
void
read_deviceO
receives the incoming flit from the jiicinport, extracts the data
and command from the flit structure, and pushes the data into
the input buffer. The ARM_dataJeceive() implements the data
communication protocol of the data receiving process from the
input buffer within the NI to the SirnIt-ARM ISS as illustrated
in Figure 3. This process is sensitive to clock.
D. NoC Device Driver
The device driver acts as the Hardware Abstraction Layer
(HAL) to allow SimIt-ARM ISS to exchange data with other
PEs via the NoC OCCA. In this work, the NoC device driver
is developed in C and works tightly-coupled with the NI
according to the predefined data communication protocol, as
described in Section II-AI and Section II-A2.
III. CASE STUDY AND SIMULATION RESULTS
To verify the platform extension, a simple case study of
a homogeneous NoC-based crypto MPSoC is developed to
provide data security services as shown in Figure 7a. It is fitted
in a 2x2 network based on mesh topology, and consists of four
ISSs attached to each tile. The ISS_MAN acts as the master
controller of the overall system, the ISS_XOR performs 512bit XOR data encryption, and the ISS_SHA computes SHA-l
hashing to produce message digest. The ISS_ECC performs
ECC key pair generation, as well as digital signature signing
and verification based on Elliptic Curve Digital Signature
Algorithm over 160-bit prime finite field.
Each ISS executes the embedded software and exchanges
data according to the application sequence diagram shown in
Figure 8. The total number of packets sent from one source to
another is as shown in the characteristic graph in Figure 7b.
""".
I--=-""""='"--ri-J
eccK.,-Plr.
P
P ==
f----"---oj
0(III.Q(12I
f-----f--+_---- .
FIllMAN
. XOR
.SHA
D ECC
20
18
"
12
10
Performance Metric
Average Throughput
Average Packet Latency
Average Flit Latency
Total Network Power
CBR Model
1.46 Gbps
4.75 cycles I packet
1.29 cycles I flit
7.54 mW
1.58 Gbps
9.07 cycles I packet
2.27 cycles I flit
7.87 mW
Packet Count
CIodtCyele
CIod<C