<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Network-based Communication Platform for a Cognitive Computer</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mostafa W. Numan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jesse Frost</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Braden J. Phillips</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Liebelt</string-name>
          <email>michael.liebeltg@adelaide.edu.au</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Centre for High Performance Integrated Technologies and Systems (CHiPTec) School of Electrical and Electronic Engineering The University of Adelaide Adelaide</institution>
          ,
          <country country="AU">Australia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Street is a recon gurable parallel computer architecture. It executes a production language directly in hardware with the aim of realising advanced cognitive agents in a more energy e cient manner than conventional computers. Street requires frequent communication between many processing elements and to make this communication more energy e cient, a network-based communication platform, StreetNet, is proposed in this paper. It maps the processing elements onto a 2D mesh architecture optimized according to the data dependencies between them. A deadlock-free deterministic routing function is considered for this platform along with the concept of sleep period, analogous to human sleeping, to reorganize the placements of processing elements based on runtime tra c statistics. These mechanisms serve to reduce total network tra c and hence minimise energy consumption.</p>
      </abstract>
      <kwd-group>
        <kwd>Cognitive computer</kwd>
        <kwd>computer architecture</kwd>
        <kwd>networks-onchip</kwd>
        <kwd>mapping</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Street is a recon gurable, at, parallel architecture designed for symbolic
cognitive workloads [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The goal of Street is to nd a new computer architecture
that can take advantage of the huge number of transistors in modern integrated
circuits to achieve advanced cognitive computation in real time, but with much
lower power consumption than current computers. It is designed to use in real
time embedded implementations of arti cial general intelligence, exempli ed by
the plethora of potential autonomous robotics applications. The new machine is
very di erent from conventional computers, consisting of many simple
processing elements executing and communicating in parallel. A bus-based interconnect
performs well in production systems with a small number of processing elements,
or when groups of dependent productions are mapped to the same processor [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ],
however it does not scale well for more frequently interacting processing
elements. For chips with a large number of processing elements, network based
communication provides better scalability, and is seen as the most e cient
solution [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. In this paper, a network-based communication platform, StreetNet, is
proposed for e cient communication among the processing elements of Street.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Street</title>
      <p>
        Street executes a parallel production language directly in hardware. This
language, which we call Street Language, is inspired by Forgy's OPS5 [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and the
languages used in the Soar [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and ACT-R [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] cognitive architectures. However
Street Language is di erent from all of these. Street is asynchronous, with no
global match-select-act cycle as found in traditional production systems. This
asynchronous model provides the best opportunity to parallelise traditional
production systems in application level [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
2.1
      </p>
      <p>
        Street Language
An intelligent system is implemented using a set of production rules written in
Street Language [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Each production rule is an if-then statement: if a speci ed
pattern exists in working memory, then the rule makes some changes to working
memory. Working memory is a set of tuples called working memory elements
(WMEs). Each WME has one or more elements called attributes. For instance,
the WME (ID17 source ID2) has 3 attributes: ID17, source, and ID2. Here is
a simple example of working memory of just 3 WMEs:
{(ID17 name Torrens), (ID17 source ID2), (isCounted ID5)}
Each production rule consists of a left hand side (LHS) of one or more
condition elements (CEs), and a right hand side (RHS) of one or more actions.
In the example in Fig. 1, (&lt;p&gt; type dog) is a CE and (&lt;p&gt; isOld) is an
action. A complex cognitive agent would consist of thousands of production rules
operating on symbolic and numeric data in working memory.
st {oldDogs
(&lt;p&gt; type dog)
(&lt;p&gt; age (&lt;a&gt; &gt; 7))
--&gt;
}
(&lt;p&gt; isOld)
// actions
// condition elements
      </p>
      <p>A subset of working memory that satis es all of the CEs in a production rule
with consistent variable assignments is called an instantiation of the rule. So
instantiations of the rule above will be pairs of WMEs in working memory such
as: {(pet1 type dog), (pet1 age 8)}. Note that the rst attributes must be</p>
      <p>Cognitive architecture</p>
      <p>production rules
Cognitive Architecture Street language
Kernel</p>
      <p>Street language
so
trcud
o
r
P</p>
      <p>Network on Chip
Working memory distributed among
local memories in productors</p>
      <p>Street Engine</p>
      <p>
        I/O
the same as they were speci ed by the same variable &lt;p&gt;. The WMEs must join
on any shared variables. The actions of a production rule are performed for each
new instantiation of the rule. An action such as (&lt;p&gt; isOld) adds a WME to
working memory. Actions can also remove WMEs from working memory. This
change in working memory may cause other production rules to instantiate, and
all new instantiations are executed.
The Street architecture consists of a large number of identical and simple
microcoded processing elements (PEs) with a single production rule assigned to
each. A PE contains a controller, a block of content-addressable memories (CAMs)
and an Arithmetic Logic Unit (ALU). The PEs communicate using tokens to
notify each other of changes to working memory. The local memory of a PE stores
just the subset of working memory that may lead to instantiations of its rule.
Each PE matches the associated production rule against its own local memory
with an algorithm similar to TREAT [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. For each incoming token, a PE
updates the contents of its local memory, nds new instantiations (match), and
outputs tokens corresponding to the rule's actions (act ). The controller
coordinates the PE's match-act cycle. Fig. 2 shows Street architecture executing an
agent using a symbolic cognitive architecture.
3
      </p>
      <p>StreetNet: The Communication Platform
When a PE produces tokens these are transmitted to other PEs and may cause
new rule instantiations and yet more tokens. There may be a large amount of
token tra c between PEs or small clusters of PEs so e cient data interconnect is</p>
      <p>Dest.</p>
      <p>Table
Productor</p>
      <p>Switch
required. For a device with a large number of PEs a network based interconnect,
named the StreetNet, is proposed in this paper.
3.1</p>
      <p>Network Architecture
A regular tile-based 2D network architecture is considered for StreetNet. Each
tile contains a single PE and router, however adjacent tiles may be linked to
share memory resources (discussed below in 3.6). Every PE has a destination
table generated from the dependency graph. It lists the desired destinations and
corresponding tokens to those destinations. Each router is connected to its local
PE and four neighbouring tiles. Each router also has a routing table that is
checked for destination. The tokens are broken into packets and forwarded to
the neighboring tile towards the destination. A crossbar switch is used as the
switching fabric in the router. Fig. 3 shows the structure of a StreetNet.
3.2</p>
      <p>
        Dependency Graph
The mapping of PEs onto network architecture is based on a dependency graph.
A dependency graph is a directed graph, where each vertex pi represents a PE.
Directed arcs represent non-zero communication paths between two PEs and
are assigned a weight characterising the communication rate between the PEs.
Fig. 4 shows an example of a dependency graph of nine PEs. This graph is used
to map the PEs onto the network so that the most dependent PEs are placed
close together in the expectation this will reduce communication latency and
power consumption. The PEs are sorted by total incoming and outgoing tra c
that was recorded during runtime, and mapped in this order. This is useful since
the positions of the PEs with high tra c requirement have higher impact on the
overall energy consumption. This dependency graph is updated during a sleep
period (described in subsection 3.5) depending on runtime tra c statistics.
In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], an energy aware mapping technique is proposed for networks-on-chip
(NoC) with a regular architecture. This technique is adopted in the StreetNet.
The average energy consumed in sending one bit of data from a tile to a
neighboring tile is calculated as
      </p>
      <p>
        E = ES + EB + EL
where ES , EB and EL are the energy consumed at the switch, bu er and link.
Since the energy consumed for bu ering is negligible compared to EL [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], (1)
becomes
      </p>
      <p>E = ES + EL
Now, if the bit traverses n hops to reach tile tj from tile ti, the average energy
consumption is</p>
      <p>Eti;tj = n</p>
      <p>ES + (n
1)</p>
      <p>
        EL
For a system that involves a large number of processing elements, it is
important to adopt e cient mapping and routing techniques so that total energy
consumption is minimized and communication tra c does not exceed available
bandwidth. Two di erent mapping techniques have been considered in this work:
one is based on Simulated Annealing (SA) and the second is based on
Branchand-bound (BB) technique.
(1)
(2)
(3)
Simulated Annealing based Mapping Simulated Annealing (SA) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is a
well known technique for solving optimization problems. It e ectively optimizes
solutions over large state spaces by making iterative improvement. It has a
concept of temperature which is initially very high and keeps reducing in every step
until it reaches the minimum temperature. For each temperature, it starts with
current_temp=MAX_TEMPERATURE;
previous_cost=INITIAL_COST;
current_mapping=randomMapping();
current_cost=cost(current_mapping);
dof
while(attempts&lt;MAX_ATTEMPTS)f
current_mapping=makeRandomTileSwap(current_mapping);
new_cost=cost(current_mapping);
      </p>
      <p>C=new_cost - current_cost;
if (random(0,1) exp(- C/current_cost current_temp))</p>
      <p>current_cost=new_cost;
else
g
if(toleranceTest(previous_cost,current_cost)kcurrent_temp MIN_TEMPERATURE)
done=1;
elsef
previous_cost=current_cost;
current_temp=getNextTemperature(current_temp);
g
gwhile(!done);
a random feasible solution and searches for better solutions with lower cost. This
is a greedy algorithm. A tolerance test is done in every iteration to check if the
cost is changing insigni cantly over the last few temperatures or the
temperature reaches a certain limit. Eventually, when the temperature goes below the
minimum limit, it defaults to the greedy algorithm only. Fig. 5 illustrates the
SA algorithm for PE mapping.</p>
      <p>Branch-and-bound based Mapping In this mapping technique, a search tree
is generated that represents the solution space. The root node corresponds to the
state where no PEs are mapped. Each internal node represents a partial mapping
and each leaf node is a complete mapping of PEs onto tiles. Fig. 6 shows the
search tree of the solution space. For example, the node labelled t0tn 1t1:::tn 2
represents the placement in which PEs P0, P1, P2, ... Pn 1 are mapped to tiles
t0, tn 1, t1, ... tn 2 respectively.</p>
      <p>The branch-and-bound (BB) mapping nds the solution node which has
the minimum cost. The cost of mapping is calculated by the total energy
consumed by all the PEs that are already mapped. The PEs are initially sorted
based on their tra c demand obtained from the dependency graph. As the PEs
with higher tra c demands dominate the overall energy consumption, they are
mapped rst to the unoccupied tiles to generate new child nodes. Each node has
a table that stores the routing paths between its occupied tiles. When a child
node is generated, the table from its parent node is inherited, and the routing
t0xx...x
t1xx...x</p>
      <p>tn-1xx...x
t0t1x...x
t0t2x...x
t0tn-1x...x</p>
      <p>Internal nodes
with partial mapping
t0t1t2...tn-1</p>
      <p>Leaf nodes
t0tn-1t1...tn-2 with complete mapping
path to the new tile is added to the table. Then, each of the newly generated
child nodes are examined to see if it is possible to generate the best leaf node
later. The upper and lower bounds of the nodes are calculated to detect
candidate optimal nodes. The upper bound of a node is the value that is no less than
the minimum cost of its leaf nodes; the lower bound is de ned as the lowest cost
that its descendant leaf nodes can possibly achieve. If the cost or lower bound
of a node is higher than the lowest upper bound that is already found so far, it
is deleted without any expansion, because it is guranteed that the node cannot
lead to the best mapping solution. The lower and upper bounds are updated
after every step. All the nodes are traversed this way, and nally the node with
minimum cost is accepted as the best mapping.
3.4</p>
      <p>
        Routing
Wormhole routing is considered in this work because of limited bu ering
resources. In wormhole routing, packets are broken down into ow control digits
( its) and the its are routed over the network in a pipelined fashion. The
header it contains routing information and leads the packet to the destination.
Deterministic dimension-ordered routing is chosen in this work. In comparison
to adaptive routing, deterministic routing requires less bu ering space since no
ordering is required for received packets [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Moreover, deterministic routing
algorithms are livelock free. We use the west- rst turn model [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] that prohibits
north-to-west and south-to-west turns to make it deadlock-free.
3.5
      </p>
      <p>
        Sleep Period
Street stores tra c statistics during runtime which are used periodically to
update the dependency graph. The assignments of rules to PEs and their location
within the network are re ned based on this so that total tra c energy
consumption is minimized. During this period, the execution is paused, analogously
to human sleeping [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], and the memory contents as well as destination tables
are re-arranged between PEs. However, the network structure and routing table
remain unchanged as they are the xed components of StreetNet. After the
sleeping period, it continues to operate as before, but with improved performance.
3.6
      </p>
      <p>Clustered PEs
If memory content exceeds the capacity of a PE, the at architecture of Street's
tiles allows the PE to use the memory resources of adjacent unused tiles. One
of the PEs in the group of tiles acts as a master PE, and the destination table
attached to it remains active. This master PE acts as source or destination of
packets, the other routers of the cluster are used to forward the packets only.
The PEs inside the cluster communicate through a local bus. If there are no
unused adjacent tiles, the rule is moved to a new PE with free adjacent tiles and
the contents are transferred during a sleep period.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Experiments</title>
      <p>StreetNet was tested over network architectures ranging from 4 to 196
processing elements. As we have not yet developed any large-scale agents,
dependencies were arti cially created. For every architecture, 10 random dependency
sets were generated. Each dependency set was used for mapping using both
simulated annealing and branch-and-bound techniques. Fig. 7 shows the total
energy consumption comparison between the mapping techniques. This shows
that SA based mapping performs slightly better than BB based mapping, but
when compared in terms of computation time, the latter signi cantly
outperforms the former, as seen in Fig. 8. This indicates that BB mapping works much
faster than SA mapping but the energy savings at execution time from the SA
mapped solution may warrant the extra mapping time. StreetNet creates
routing tables for all the routers as well. Since deterministic dimension-order routing
has been considered in this work, routing tables do not change over time. As a
result, ordered packet delivery and simplicity are ensured.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>In this paper, a network-based communication platform, StreetNet, is proposed
for the Street cognitive computer in which the PEs are mapped onto a 2D
mesh architecture. The mapping is derived from a dependency graph that is
obtained from runtime tra c statistics. This work introduces the concept of a
periodic sleep period, during which the placement of the PEs is updated to
improve overall energy e ciency. Branch-and-bound and simulated annealing based
mapping techniques are discussed here. Experiments indicate that
branch-andbound mapping signi cantly outperforms simulated annealing based mapping
when compared in terms of computation time. Clustered PEs are implemented
in this work to accommodate large memories. The number and orientation of
8
12
)
c
e
(s10
e
m
iittton 8
a
u
p 6
m
o
C
4
2
00</p>
      <p>Branch−and−bound
Simulated annealing
Branch−and−bound
Simulated annealing
50</p>
      <p>100
StreetNet size
150
200
the tiles of a clustered PE will a ect the overall energy consumption of the
system to an extent that is yet to be investigated. Moreover, we plan to implement
the mapping algorithm using Street Language so that Street can update PE
mapping using its own resources.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Amaral</surname>
            ,
            <given-names>J.N.:</given-names>
          </string-name>
          <article-title>A parallel architecture for serializable production systems</article-title>
          .
          <source>Ph.D. thesis</source>
          , Citeseer (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Amaral</surname>
            ,
            <given-names>J.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ghosh</surname>
          </string-name>
          , J.:
          <source>Parallel Processing for Arti cial Intelligence</source>
          <volume>1</volume>
          ,
          <string-name>
            <surname>chap.</surname>
          </string-name>
          <article-title>Speeding up production systems: From concurrent matching to parallel rule ring</article-title>
          , pp.
          <volume>139</volume>
          {
          <issue>160</issue>
          (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Anderson</surname>
            ,
            <given-names>J.R.:</given-names>
          </string-name>
          <article-title>ACT: A simple theory of complex cognition</article-title>
          .
          <source>American Psychologist</source>
          <volume>51</volume>
          (
          <issue>4</issue>
          ),
          <volume>355</volume>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bhattacharyya</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deprettere</surname>
            ,
            <given-names>E.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Teich</surname>
          </string-name>
          , J.: Domain-Speci c Processors: Systems, Architectures, Modeling, and
          <string-name>
            <surname>Simulation</surname>
          </string-name>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Forgy</surname>
            ,
            <given-names>C.L.</given-names>
          </string-name>
          :
          <article-title>OPS5 user's manual</article-title>
          .
          <source>Tech. rep., Computer</source>
          Science Department, Carnegie-Mellon University (
          <year>Jul 1981</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Frost</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Numan</surname>
            ,
            <given-names>M.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liebelt</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Phillips</surname>
            ,
            <given-names>B.J.:</given-names>
          </string-name>
          <article-title>A new computer for cognitive computing</article-title>
          .
          <source>In: 14th IEEE International Conference on Cognitive Informatics &amp; Cognitive Computing</source>
          . Beijing, China (
          <year>July 2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Glass</surname>
            ,
            <given-names>C.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ni</surname>
            ,
            <given-names>L.M.:</given-names>
          </string-name>
          <article-title>The turn model for adaptive routing</article-title>
          .
          <source>SIGARCH Comput. Archit. News</source>
          <volume>20</volume>
          (
          <issue>2</issue>
          ),
          <volume>278</volume>
          {287 (Apr
          <year>1992</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/146628. 140384
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Hu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marculescu</surname>
          </string-name>
          , R.:
          <article-title>Energy- and performance-aware mapping for regular NoC architectures</article-title>
          .
          <source>IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems</source>
          <volume>24</volume>
          (
          <issue>4</issue>
          ) (
          <year>April 2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kirkpatrick</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gelatt</surname>
            ,
            <given-names>C.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vecchi</surname>
            ,
            <given-names>M.P.</given-names>
          </string-name>
          :
          <article-title>Optimization by simulated annealing</article-title>
          .
          <source>Science</source>
          <volume>220</volume>
          (
          <issue>4598</issue>
          ),
          <volume>671</volume>
          {680 (May
          <year>1983</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Laird</surname>
            ,
            <given-names>J.E.</given-names>
          </string-name>
          :
          <article-title>The Soar Cognitive Architectures</article-title>
          . The MIT Press, Cambridge (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Landmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuhn</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Piosczyk</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feige</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baglioni</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Spiegelhalder</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Frase</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Riemann</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sterr</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nissen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>The reorganisation of memory during sleep</article-title>
          .
          <source>Sleep Medicine Reviews (0)</source>
          , { (
          <year>2014</year>
          ), http://www.sciencedirect. com/science/article/pii/S1087079214000264
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Miranker</surname>
            ,
            <given-names>D.P.:</given-names>
          </string-name>
          <article-title>TREAT: A New and E cient Match Algorithm for AI Production Systems</article-title>
          . Morgan Kaufmann (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Richardson</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nicopoulos</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Park</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Narayanan</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xie</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Das</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Degalahal</surname>
          </string-name>
          , V.:
          <article-title>A hybrid SoC interconnect with dynamic TDMA-based transactionless buses and on-chip networks</article-title>
          .
          <source>In: VLSI Design</source>
          ,
          <year>2006</year>
          .
          <source>Held jointly with 5th International Conference on Embedded Systems and Design., 19th International Conference on (Jan</source>
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>