// REVISION    : $Revision: 1.10 $
//                   MENTOR Proprietary and Confidential
//                       Copyright (c) 2002, MENTOR
`timescale 1ps/1ps
module
CoreTSE_M2S090_CORETSE_AHB_0_AMCXFIF
#
(
parameter
FAMILY
=
19
,
parameter
TABITS
=
12
,
parameter
RABITS
=
12
,
parameter
CORETSEi00i
=
32
,
parameter
CORETSEO10i
=
$clog2
(
CORETSEi00i
/
8
)
,
parameter
CORETSEO
=
0
)
(
CORETSEI10i
,
CORETSEOii0
,
CORETSEl1i0
,
CORETSEo1i0
,
CORETSEi1i0
,
CORETSEOoi0
,
CORETSEooi0
,
CORETSEioi0
,
CORETSEl10i
,
CORETSEo10i
,
CORETSEi10i
,
CORETSEOo0i
,
CORETSEIo0i
,
CORETSElo0i
,
CORETSEoo0i
,
CORETSEio0i
,
CORETSEOi0i
,
CORETSEIi0i
,
CORETSEli0i
,
CORETSEoi0i
,
CORETSEIli0
,
CORETSElli0
,
CORETSEoo1I
,
CORETSEIi1I
,
CORETSEOi1I
,
CORETSEli1I
,
CORETSEoli0
,
CORETSEili0
,
CORETSEI1
,
CORETSEl1
,
CORETSEo1
,
CORETSEi1
,
CORETSEoo
,
CORETSElo
,
CORETSEii0i
,
CORETSEOO1i
,
CORETSEOI1l
,
CORETSEIO1i
,
CORETSElO1i
,
CORETSEoO1i
,
CORETSEiO1i
,
CORETSEOI1i
,
CORETSEII1i
,
CORETSElI1i
,
CORETSEO00I
,
CORETSElI1I
,
CORETSEiI1I
,
CORETSEII1I
,
CORETSEIo0l
,
CORETSEOO1I
,
CORETSElO1I
,
CORETSEIO1I
,
CORETSEli0l
,
CORETSEoI1i
,
CORETSEo11I
,
CORETSEiI1i
,
CORETSEOl1i
,
CORETSEIl1i
,
CORETSEll1i
,
CORETSEol1i
,
CORETSEil1i
,
CORETSEO01i
,
CORETSEI01i
,
CORETSEl01i
,
CORETSEo01i
,
CORETSEOOO1
,
CORETSEIOO1
)
;
input
CORETSEI10i
;
input
CORETSEOii0
;
input
CORETSEl1i0
;
input
CORETSEo1i0
;
input
CORETSEi1i0
;
input
CORETSEOoi0
;
input
[
7
:
0
]
CORETSEooi0
;
input
[
31
:
0
]
CORETSEioi0
;
input
CORETSEl10i
;
input
[
(
CORETSEi00i
-
1
)
:
0
]
CORETSEo10i
;
input
CORETSEi10i
;
input
CORETSEOo0i
;
input
[
1
:
0
]
CORETSEIo0i
;
input
CORETSElo0i
;
input
CORETSEoo0i
;
input
[
1
:
0
]
CORETSEio0i
;
input
CORETSEOi0i
;
input
CORETSEIi0i
;
input
CORETSEli0i
;
input
CORETSEoi0i
;
input
CORETSEIli0
;
input
CORETSElli0
;
input
CORETSEoo1I
;
input
CORETSEIi1I
;
input
CORETSEOi1I
;
input
CORETSEli1I
;
input
CORETSEoli0
;
input
CORETSEili0
;
input
[
7
:
0
]
CORETSEI1
;
input
CORETSEl1
;
input
CORETSEo1
;
input
CORETSEi1
;
input
[
32
:
0
]
CORETSEoo
;
input
CORETSElo
;
input
CORETSEii0i
;
input
CORETSEOO1i
;
input
CORETSEOI1l
;
output
CORETSEIO1i
;
output
CORETSElO1i
;
output
[
(
CORETSEi00i
-
1
)
:
0
]
CORETSEoO1i
;
output
CORETSEiO1i
;
output
CORETSEOI1i
;
output
[
1
:
0
]
CORETSEII1i
;
output
CORETSElI1i
;
output
[
7
:
0
]
CORETSEO00I
;
output
CORETSElI1I
;
output
CORETSEiI1I
;
output
CORETSEII1I
;
output
CORETSEIo0l
;
output
CORETSEOO1I
;
output
CORETSElO1I
;
output
CORETSEIO1I
;
output
CORETSEli0l
;
output
CORETSEoI1i
;
output
CORETSEo11I
;
output
CORETSEiI1i
;
output
[
(
TABITS
-
1
)
:
0
]
CORETSEOl1i
;
output
[
(
CORETSEi00i
+
CORETSEO10i
+
6
)
-
1
:
0
]
CORETSEIl1i
;
output
[
(
TABITS
-
1
)
:
0
]
CORETSEll1i
;
input
[
(
CORETSEi00i
+
CORETSEO10i
+
6
)
-
1
:
0
]
CORETSEol1i
;
output
CORETSEil1i
;
output
[
(
RABITS
-
1
)
:
0
]
CORETSEO01i
;
output
[
(
CORETSEi00i
+
4
)
-
1
:
0
]
CORETSEI01i
;
output
[
(
RABITS
-
1
)
:
0
]
CORETSEl01i
;
input
[
(
CORETSEi00i
+
4
)
-
1
:
0
]
CORETSEo01i
;
output
[
31
:
0
]
CORETSEOOO1
;
output
CORETSEIOO1
;
wire
CORETSEi01i
;
wire
[
TABITS
:
0
]
CORETSEO11i
;
wire
CORETSEI11i
;
wire
[
(
TABITS
-
1
)
:
0
]
CORETSEOl1i
;
wire
[
(
CORETSEi00i
+
CORETSEO10i
+
6
)
-
1
:
0
]
CORETSEIl1i
;
wire
CORETSEiI1i
;
wire
[
TABITS
:
0
]
CORETSEl11i
;
wire
CORETSEo11i
;
wire
CORETSEi11i
;
wire
[
(
CORETSEi00i
+
CORETSEO10i
+
6
)
-
1
:
0
]
CORETSEol1i
;
wire
[
(
TABITS
-
1
)
:
0
]
CORETSEll1i
;
wire
CORETSEOo1i
;
wire
[
RABITS
:
0
]
CORETSEIo1i
;
wire
CORETSElo1i
;
wire
[
(
RABITS
-
1
)
:
0
]
CORETSEO01i
;
wire
[
(
CORETSEi00i
+
4
)
-
1
:
0
]
CORETSEI01i
;
wire
CORETSEil1i
;
wire
[
RABITS
:
0
]
CORETSEoo1i
;
wire
CORETSEio1i
;
wire
CORETSEOi1i
;
wire
[
(
CORETSEi00i
+
4
)
-
1
:
0
]
CORETSEo01i
;
wire
[
(
RABITS
-
1
)
:
0
]
CORETSEl01i
;
wire
[
RABITS
:
0
]
CORETSEIi1i
;
wire
[
RABITS
:
0
]
CORETSEli1i
;
wire
CORETSEoi1i
;
wire
CORETSEii1i
;
wire
CORETSEOOoi
;
wire
CORETSEIOoi
;
wire
CORETSElOoi
;
wire
CORETSEoOoi
;
wire
CORETSEiOoi
;
wire
CORETSEOIoi
;
wire
CORETSEIIoi
;
wire
[
TABITS
:
0
]
CORETSElIoi
;
wire
CORETSEoIoi
;
wire
[
(
CORETSEi00i
+
CORETSEO10i
+
6
)
-
1
:
0
]
CORETSEiIoi
;
wire
CORETSEOloi
;
wire
[
RABITS
:
0
]
CORETSEIloi
;
wire
CORETSElloi
;
wire
[
(
CORETSEi00i
+
CORETSEO10i
+
6
)
-
1
:
0
]
CORETSEoloi
;
wire
[
15
:
0
]
CORETSEiloi
;
wire
[
RABITS
:
0
]
CORETSEO0oi
;
wire
[
RABITS
:
0
]
CORETSEI0oi
;
wire
CORETSEl0oi
;
wire
CORETSEo0oi
;
wire
[
TABITS
:
0
]
CORETSEi0oi
;
wire
[
TABITS
:
0
]
CORETSEO1oi
;
wire
[
RABITS
-
1
:
0
]
CORETSEI1oi
;
wire
[
17
:
0
]
CORETSEl1oi
;
wire
[
17
:
0
]
CORETSEo1oi
;
wire
CORETSEi1oi
;
wire
CORETSEOooi
;
wire
CORETSEIooi
;
wire
CORETSElooi
;
wire
CORETSEoooi
;
wire
CORETSEiooi
;
wire
CORETSEOioi
;
wire
CORETSEIioi
;
wire
CORETSElioi
;
wire
CORETSEoioi
;
wire
CORETSEiioi
;
wire
CORETSEOOii
;
wire
[
(
TABITS
+
1
)
:
0
]
CORETSEIOii
;
wire
CORETSElOii
;
wire
[
(
CORETSEi00i
+
CORETSEO10i
+
6
)
-
1
:
0
]
CORETSEoOii
;
wire
[
(
TABITS
+
1
)
:
0
]
CORETSEiOii
;
wire
CORETSEOIii
;
wire
[
(
RABITS
+
1
)
:
0
]
CORETSEIIii
;
wire
CORETSElIii
;
wire
[
(
CORETSEi00i
+
CORETSEO10i
+
6
)
-
1
:
0
]
CORETSEoIii
;
wire
[
(
RABITS
+
1
)
:
0
]
CORETSEiIii
;
wire
CORETSEOlii
;
wire
[
31
:
0
]
CORETSEOOO1
;
wire
CORETSEIOO1
;
wire
CORETSEIlii
;
wire
CORETSEllii
;
wire
CORETSEolii
;
wire
CORETSEilii
;
wire
CORETSEO0ii
;
CoreTSE_M2S090_CORETSE_AHB_0_AMCXTFIF_FAB
#
(
.FAMILY
(
FAMILY
)
,
.TABITS
(
TABITS
)
,
.CORETSEi00i
(
CORETSEi00i
)
,
.CORETSEO10i
(
CORETSEO10i
)
)
CORETSEI0ii
(
.CORETSEl10i
(
CORETSEl10i
)
,
.CORETSEIlii
(
CORETSEIlii
)
,
.CORETSEIioi
(
CORETSEIioi
)
,
.CORETSEo10i
(
CORETSEo10i
)
,
.CORETSEi10i
(
CORETSEi10i
)
,
.CORETSEOo0i
(
CORETSEOo0i
)
,
.CORETSEIo0i
(
CORETSEIo0i
)
,
.CORETSElo0i
(
CORETSElo0i
)
,
.CORETSEoo0i
(
CORETSEoo0i
)
,
.CORETSEio0i
(
CORETSEio0i
)
,
.CORETSEOi0i
(
CORETSEOi0i
)
,
.CORETSEIi0i
(
CORETSEIi0i
)
,
.CORETSEi01i
(
CORETSEi01i
)
,
.CORETSEO11i
(
CORETSEO11i
)
,
.CORETSEI11i
(
CORETSEI11i
)
,
.CORETSEi0oi
(
CORETSEi0oi
)
,
.CORETSEO1oi
(
CORETSEO1oi
)
,
.CORETSEIOii
(
CORETSEIOii
)
,
.CORETSElOii
(
CORETSElOii
)
,
.CORETSEoOii
(
CORETSEoOii
)
,
.CORETSEOOoi
(
CORETSEOOoi
)
,
.CORETSEOl1i
(
CORETSEOl1i
)
,
.CORETSEIl1i
(
CORETSEIl1i
)
,
.CORETSEiI1i
(
CORETSEiI1i
)
,
.CORETSEIO1i
(
CORETSEIO1i
)
,
.CORETSElO1i
(
CORETSElO1i
)
,
.CORETSEl11i
(
CORETSEl11i
)
,
.CORETSEo11i
(
CORETSEo11i
)
,
.CORETSEi11i
(
CORETSEi11i
)
,
.CORETSEIIoi
(
CORETSEIIoi
)
,
.CORETSElIoi
(
CORETSElIoi
)
)
;
CoreTSE_M2S090_CORETSE_AHB_0_AMCXTFIF_SYS
#
(
.FAMILY
(
FAMILY
)
,
.CORETSEO
(
CORETSEO
)
,
.TABITS
(
TABITS
)
,
.CORETSEi00i
(
CORETSEi00i
)
,
.CORETSEO10i
(
CORETSEO10i
)
)
CORETSEl0ii
(
.CORETSEIli0
(
CORETSEIli0
)
,
.CORETSElli0
(
CORETSElli0
)
,
.CORETSEllii
(
CORETSEllii
)
,
.CORETSElioi
(
CORETSElioi
)
,
.CORETSEol1i
(
CORETSEol1i
)
,
.CORETSEoo1I
(
CORETSEoo1I
)
,
.CORETSEIi1I
(
CORETSEIi1I
)
,
.CORETSEOi1I
(
CORETSEOi1I
)
,
.CORETSEli1I
(
CORETSEli1I
)
,
.CORETSEl11i
(
CORETSEl11i
)
,
.CORETSEo11i
(
CORETSEo11i
)
,
.CORETSEi11i
(
CORETSEi11i
)
,
.CORETSEiOii
(
CORETSEiOii
)
,
.CORETSEOIii
(
CORETSEOIii
)
,
.CORETSEIOoi
(
CORETSEIOoi
)
,
.CORETSEll1i
(
CORETSEll1i
)
,
.CORETSEO00I
(
CORETSEO00I
)
,
.CORETSElI1I
(
CORETSElI1I
)
,
.CORETSEiI1I
(
CORETSEiI1I
)
,
.CORETSEII1I
(
CORETSEII1I
)
,
.CORETSEIo0l
(
CORETSEIo0l
)
,
.CORETSEOO1I
(
CORETSEOO1I
)
,
.CORETSElO1I
(
CORETSElO1I
)
,
.CORETSEIO1I
(
CORETSEIO1I
)
,
.CORETSEi01i
(
CORETSEi01i
)
,
.CORETSEO11i
(
CORETSEO11i
)
,
.CORETSEI11i
(
CORETSEI11i
)
,
.CORETSEoIoi
(
CORETSEoIoi
)
,
.CORETSEiIoi
(
CORETSEiIoi
)
)
;
CoreTSE_M2S090_CORETSE_AHB_0_AMCXRFIF_FAB
#
(
.FAMILY
(
FAMILY
)
,
.RABITS
(
RABITS
)
,
.CORETSEi00i
(
CORETSEi00i
)
,
.CORETSEO10i
(
CORETSEO10i
)
)
CORETSEo0ii
(
.CORETSEli0i
(
CORETSEli0i
)
,
.CORETSEolii
(
CORETSEolii
)
,
.CORETSEoioi
(
CORETSEoioi
)
,
.CORETSEoi0i
(
CORETSEoi0i
)
,
.CORETSEo01i
(
CORETSEo01i
)
,
.CORETSEoo1i
(
CORETSEoo1i
)
,
.CORETSEio1i
(
CORETSEio1i
)
,
.CORETSEOi1i
(
CORETSEOi1i
)
,
.CORETSEiIii
(
CORETSEiIii
)
,
.CORETSEOlii
(
CORETSEOlii
)
,
.CORETSElOoi
(
CORETSElOoi
)
,
.CORETSEl01i
(
CORETSEl01i
)
,
.CORETSEoO1i
(
CORETSEoO1i
)
,
.CORETSEiO1i
(
CORETSEiO1i
)
,
.CORETSEOI1i
(
CORETSEOI1i
)
,
.CORETSEII1i
(
CORETSEII1i
)
,
.CORETSElI1i
(
CORETSElI1i
)
,
.CORETSEOo1i
(
CORETSEOo1i
)
,
.CORETSEIo1i
(
CORETSEIo1i
)
,
.CORETSElo1i
(
CORETSElo1i
)
,
.CORETSElloi
(
CORETSElloi
)
,
.CORETSEoloi
(
CORETSEoloi
)
)
;
CoreTSE_M2S090_CORETSE_AHB_0_AMCXRFIF_SYS
#
(
.FAMILY
(
FAMILY
)
,
.CORETSEO
(
CORETSEO
)
,
.RABITS
(
RABITS
)
,
.CORETSEi00i
(
CORETSEi00i
)
,
.CORETSEO10i
(
CORETSEO10i
)
)
CORETSEi0ii
(
.CORETSEoli0
(
CORETSEoli0
)
,
.CORETSEili0
(
CORETSEili0
)
,
.CORETSEilii
(
CORETSEilii
)
,
.CORETSEiioi
(
CORETSEiioi
)
,
.CORETSEI1oi
(
CORETSEI1oi
)
,
.CORETSEl1oi
(
CORETSEl1oi
)
,
.CORETSEo1oi
(
CORETSEo1oi
)
,
.CORETSEi1oi
(
CORETSEi1oi
)
,
.CORETSEOooi
(
CORETSEOooi
)
,
.CORETSEI1
(
CORETSEI1
)
,
.CORETSEl1
(
CORETSEl1
)
,
.CORETSEo1
(
CORETSEo1
)
,
.CORETSEi1
(
CORETSEi1
)
,
.CORETSEoo
(
CORETSEoo
)
,
.CORETSElo
(
CORETSElo
)
,
.CORETSEii0i
(
CORETSEii0i
)
,
.CORETSEOO1i
(
CORETSEOO1i
)
,
.CORETSEOo1i
(
CORETSEOo1i
)
,
.CORETSEii1i
(
CORETSEii1i
)
,
.CORETSEIo1i
(
CORETSEIo1i
)
,
.CORETSElo1i
(
CORETSElo1i
)
,
.CORETSEIIii
(
CORETSEIIii
)
,
.CORETSElIii
(
CORETSElIii
)
,
.CORETSEoIii
(
CORETSEoIii
)
,
.CORETSEoOoi
(
CORETSEoOoi
)
,
.CORETSEOIoi
(
CORETSEOIoi
)
,
.CORETSEO01i
(
CORETSEO01i
)
,
.CORETSEO1ii
(
CORETSEI01i
)
,
.CORETSEil1i
(
CORETSEil1i
)
,
.CORETSEoo1i
(
CORETSEoo1i
)
,
.CORETSEio1i
(
CORETSEio1i
)
,
.CORETSEIi1i
(
CORETSEIi1i
)
,
.CORETSEli1i
(
CORETSEli1i
)
,
.CORETSEoi1i
(
CORETSEoi1i
)
,
.CORETSEOi1i
(
CORETSEOi1i
)
,
.CORETSEOloi
(
CORETSEOloi
)
,
.CORETSEIloi
(
CORETSEIloi
)
)
;
CoreTSE_M2S090_CORETSE_AHB_0_AMCXTFIF_WTM
#
(
.FAMILY
(
FAMILY
)
,
.RABITS
(
RABITS
)
)
CORETSEI1ii
(
.CORETSEIli0
(
CORETSEIli0
)
,
.CORETSElli0
(
CORETSElli0
)
,
.CORETSEO0ii
(
CORETSEO0ii
)
,
.CORETSEOOii
(
CORETSEOOii
)
,
.CORETSEiloi
(
CORETSEiloi
)
,
.CORETSEO0oi
(
CORETSEO0oi
)
,
.CORETSEI0oi
(
CORETSEI0oi
)
,
.CORETSEl0oi
(
CORETSEl0oi
)
,
.CORETSEo0oi
(
CORETSEo0oi
)
,
.CORETSEOI1l
(
CORETSEOI1l
)
,
.CORETSEIi1i
(
CORETSEIi1i
)
,
.CORETSEli1i
(
CORETSEli1i
)
,
.CORETSEoi1i
(
CORETSEoi1i
)
,
.CORETSEiOoi
(
CORETSEiOoi
)
,
.CORETSEli0l
(
CORETSEli0l
)
,
.CORETSEoI1i
(
CORETSEoI1i
)
,
.CORETSEo11I
(
CORETSEo11I
)
,
.CORETSEii1i
(
CORETSEii1i
)
)
;
CoreTSE_M2S090_CORETSE_AHB_0_AMCXFIF_HST
#
(
.FAMILY
(
FAMILY
)
,
.TABITS
(
TABITS
)
,
.RABITS
(
RABITS
)
,
.CORETSEi00i
(
CORETSEi00i
)
,
.CORETSEO10i
(
CORETSEO10i
)
)
CORETSEl1ii
(
.CORETSEl1i0
(
CORETSEl1i0
)
,
.CORETSEo1i0
(
CORETSEo1i0
)
,
.CORETSEi1i0
(
CORETSEi1i0
)
,
.CORETSEOoi0
(
CORETSEOoi0
)
,
.CORETSEooi0
(
CORETSEooi0
)
,
.CORETSEioi0
(
CORETSEioi0
)
,
.CORETSEOOoi
(
CORETSEOOoi
)
,
.CORETSEIOoi
(
CORETSEIOoi
)
,
.CORETSElOoi
(
CORETSElOoi
)
,
.CORETSEoOoi
(
CORETSEoOoi
)
,
.CORETSEiOoi
(
CORETSEiOoi
)
,
.CORETSEOIoi
(
CORETSEOIoi
)
,
.CORETSEIIoi
(
CORETSEIIoi
)
,
.CORETSElIoi
(
CORETSElIoi
)
,
.CORETSEoIoi
(
CORETSEoIoi
)
,
.CORETSEiIoi
(
CORETSEiIoi
)
,
.CORETSEOloi
(
CORETSEOloi
)
,
.CORETSEIloi
(
CORETSEIloi
)
,
.CORETSElloi
(
CORETSElloi
)
,
.CORETSEoloi
(
CORETSEoloi
)
,
.CORETSEi0oi
(
CORETSEi0oi
)
,
.CORETSEO1oi
(
CORETSEO1oi
)
,
.CORETSEI1oi
(
CORETSEI1oi
)
,
.CORETSEiloi
(
CORETSEiloi
)
,
.CORETSEO0oi
(
CORETSEO0oi
)
,
.CORETSEI0oi
(
CORETSEI0oi
)
,
.CORETSEl0oi
(
CORETSEl0oi
)
,
.CORETSEo0oi
(
CORETSEo0oi
)
,
.CORETSEl1oi
(
CORETSEl1oi
)
,
.CORETSEo1oi
(
CORETSEo1oi
)
,
.CORETSEi1oi
(
CORETSEi1oi
)
,
.CORETSEOooi
(
CORETSEOooi
)
,
.CORETSEIooi
(
CORETSEIooi
)
,
.CORETSElooi
(
CORETSElooi
)
,
.CORETSEoooi
(
CORETSEoooi
)
,
.CORETSEiooi
(
CORETSEiooi
)
,
.CORETSEOioi
(
CORETSEOioi
)
,
.CORETSEIioi
(
CORETSEIioi
)
,
.CORETSElioi
(
CORETSElioi
)
,
.CORETSEoioi
(
CORETSEoioi
)
,
.CORETSEiioi
(
CORETSEiioi
)
,
.CORETSEOOii
(
CORETSEOOii
)
,
.CORETSEIOii
(
CORETSEIOii
)
,
.CORETSElOii
(
CORETSElOii
)
,
.CORETSEoOii
(
CORETSEoOii
)
,
.CORETSEiOii
(
CORETSEiOii
)
,
.CORETSEOIii
(
CORETSEOIii
)
,
.CORETSEIIii
(
CORETSEIIii
)
,
.CORETSElIii
(
CORETSElIii
)
,
.CORETSEoIii
(
CORETSEoIii
)
,
.CORETSEiIii
(
CORETSEiIii
)
,
.CORETSEOlii
(
CORETSEOlii
)
,
.CORETSEOOO1
(
CORETSEOOO1
)
,
.CORETSEIOO1
(
CORETSEIOO1
)
)
;
CoreTSE_M2S090_CORETSE_AHB_0_AMCXFIF_CLKRST
CORETSEo1ii
(
.CORETSEI10i
(
CORETSEI10i
)
,
.CORETSEOii0
(
CORETSEOii0
)
,
.CORETSEIli0
(
CORETSEIli0
)
,
.CORETSEoli0
(
CORETSEoli0
)
,
.CORETSEl10i
(
CORETSEl10i
)
,
.CORETSEli0i
(
CORETSEli0i
)
,
.CORETSEIooi
(
CORETSEIooi
)
,
.CORETSElooi
(
CORETSElooi
)
,
.CORETSEoooi
(
CORETSEoooi
)
,
.CORETSEiooi
(
CORETSEiooi
)
,
.CORETSEOioi
(
CORETSEOioi
)
,
.CORETSEIlii
(
CORETSEIlii
)
,
.CORETSEllii
(
CORETSEllii
)
,
.CORETSEolii
(
CORETSEolii
)
,
.CORETSEilii
(
CORETSEilii
)
,
.CORETSEO0ii
(
CORETSEO0ii
)
)
;
endmodule
