input_req =
0 ||
count <
4
channel_req =
1
&& input_req =
1
input_req =
0
count <
2
output_req =
1
count++
output_req =
0
count =
0
output_req =
0
count =
0
input_req =
1 &&
channel_req =
1
output_req =
output_req =
1
channel_req =
0
count =
4 &&
input_req =
0
input_req =
1
&& input_req =
0
channel_req
count =
2
Wait
count++
Wait
Free
Idle
Idle
channel_req =
1
Free
output_req =
channel_req
input_req =
1
channel_req =
0
channel_req =
0 ||
(a)
(b)
input_req =
1
313
Reconfigurable Network-on-Chip Design
e
l
b
a
r
u
g
fi
n
o
c
e
r
-
f
l
e
s
c
i
m
a
n
y
d
h
t
i
w
e
r
u
t
c
e
t
i
h
c
r
a
)
.
)
1
C
1
0
o
N
, 2
i
0
B
4
(
4
C
–
7
o
2
N
. 4
l
p
a
n
, p
o
s
i
t
m
c
e
t
e
s
r
y
i
d
i
d S
b
n
A
s a
,
t
.
i
l
u
a
c
t
ir
e
,
.
d C
C
e
.
t
a
Y
r
,
g
n
e
t
a
n
L
f I
m
o
n o
g
r
i
f
s
d
e
e
t
d D
ap
e
d
d
i
A
(
r A
.
e
)
t
b
u
(
p
t
m
r
o
o
p
P
n C
L
s o
d
n
o
n
i
t
a
c
)
a
a
s
(
n
t
a
r
r
o
p
2
E T
1
E
.
P
E
0
H
e 1
I
,
r
l
o
e
r
f
n
u
M
n
ig
a
S
h
F
F
c
0 ||
count <
4
channel_req =
1
&& input_req =
1
input_req =
0
count <
2
output_req =
1
count++
output_req =
0
count =
0
output_req =
0
count =
0
input_req =
1 &&
channel_req =
1
output_req =
output_req =
1
channel_req =
0
count =
4 &&
input_req =
0
input_req =
1
&& input_req =
0
channel_req
count =
2
Wait
count++
Wait
Free
Idle
Idle
channel_req =
1
Free
output_req =
channel_req
input_req =
1
channel_req =
0
channel_req =
0 ||
(a)
(b)
input_req =
1
313
Reconfigurable Network-on-Chip Design
e
l
b
a
r
u
g
fi
n
o
c
e
r
-
f
l
e
s
c
i
m
a
n
y
d
h
t
i
w
e
r
u
t
c
e
t
i
h
c
r
a
)
.
)
1
C
1
0
o
N
, 2
i
0
B
4
(
4
C
–
7
o
2
N
. 4
l
p
a
n
, p
o
s
i
t
m
c
e
t
e
s
r
y
i
d
i
d S
b
n
A
s a
,
t
.
i
l
u
a
c
t
ir
e
,
.
d C
C
e
.
t
a
Y
r
,
g
n
e
t
a
n
L
f I
m
o
n o
g
r
i
f
s
d
e
e
t
d D
ap
e
d
d
i
A
(
r A
.
e
)
t
b
u
(
p
t
m
r
o
o
p
P
n C
L
s o
d
n
o
n
i
t
a
c
)
a
a
s
(
n
t
a
r
r
o
p
2
E T
1
E
.
P
E
0
H
e 1
I
,
r
l
o
e
r
f
n
u
M
n
ig
a
S
h
F
F
c
