// REVISION    : $Revision: 1.12 $
//                   MENTOR Proprietary and Confidential
//                       Copyright (c) 2002, MENTOR
`timescale 1ps/1ps
module
CoreTSE_M2S090_CORETSE_AHB_0_AMCXRFIF_SYS
#
(
parameter
FAMILY
=
19
,
parameter
CORETSEO
=
0
,
parameter
RABITS
=
12
,
parameter
CORETSEi00i
=
32
,
parameter
CORETSEO10i
=
$clog2
(
CORETSEi00i
/
8
)
)
(
CORETSEoli0
,
CORETSEili0
,
CORETSEilii
,
CORETSEiioi
,
CORETSEI1oi
,
CORETSEl1oi
,
CORETSEo1oi
,
CORETSEi1oi
,
CORETSEOooi
,
CORETSEI1
,
CORETSEl1
,
CORETSEo1
,
CORETSEi1
,
CORETSEoo
,
CORETSElo
,
CORETSEii0i
,
CORETSEOO1i
,
CORETSEOo1i
,
CORETSEii1i
,
CORETSEIo1i
,
CORETSElo1i
,
CORETSEIIii
,
CORETSElIii
,
CORETSEoIii
,
CORETSEoOoi
,
CORETSEOIoi
,
CORETSEO01i
,
CORETSEO1ii
,
CORETSEil1i
,
CORETSEoo1i
,
CORETSEio1i
,
CORETSEIi1i
,
CORETSEli1i
,
CORETSEoi1i
,
CORETSEOi1i
,
CORETSEOloi
,
CORETSEIloi
)
;
input
CORETSEoli0
;
input
CORETSEili0
;
input
CORETSEilii
;
input
CORETSEiioi
;
input
[
RABITS
-
1
:
0
]
CORETSEI1oi
;
input
[
17
:
0
]
CORETSEl1oi
;
input
[
17
:
0
]
CORETSEo1oi
;
input
CORETSEi1oi
;
input
CORETSEOooi
;
input
[
7
:
0
]
CORETSEI1
;
input
CORETSEl1
;
input
CORETSEo1
;
input
CORETSEi1
;
input
[
32
:
0
]
CORETSEoo
;
input
CORETSElo
;
input
CORETSEii0i
;
input
CORETSEOO1i
;
input
CORETSEOo1i
;
input
CORETSEii1i
;
input
[
RABITS
:
0
]
CORETSEIo1i
;
input
CORETSElo1i
;
input
[
(
RABITS
+
1
)
:
0
]
CORETSEIIii
;
input
CORETSElIii
;
input
[
(
CORETSEi00i
+
CORETSEO10i
+
6
)
-
1
:
0
]
CORETSEoIii
;
output
[
(
RABITS
-
1
)
:
0
]
CORETSEO01i
;
output
[
(
CORETSEi00i
+
4
)
-
1
:
0
]
CORETSEO1ii
;
output
CORETSEil1i
;
output
CORETSEoOoi
;
output
CORETSEOIoi
;
output
[
RABITS
:
0
]
CORETSEoo1i
;
output
CORETSEio1i
;
output
[
RABITS
:
0
]
CORETSEIi1i
;
output
[
RABITS
:
0
]
CORETSEli1i
;
output
CORETSEoi1i
;
output
CORETSEOi1i
;
output
CORETSEOloi
;
output
[
RABITS
:
0
]
CORETSEIloi
;
parameter
CORETSEOOlOI
=
{
(
RABITS
+
2
)
{
1
'b
0
}
}
;
parameter
CORETSEIOlOI
=
{
(
RABITS
+
1
)
{
1
'b
0
}
}
;
parameter
CORETSEOlIOI
=
{
(
RABITS
+
CORETSEO10i
+
1
)
{
1
'b
0
}
}
;
parameter
CORETSEOII
=
1
;
wire
[
(
RABITS
+
CORETSEO10i
)
:
0
]
CORETSElOlOI
;
reg
[
(
RABITS
+
CORETSEO10i
)
:
0
]
CORETSEoOlOI
,
CORETSEiOlOI
;
reg
CORETSEOIlOI
;
wire
CORETSEIIlOI
;
reg
CORETSElIlOI
,
CORETSEoIlOI
;
wire
[
(
RABITS
+
CORETSEO10i
)
:
0
]
CORETSEiIlOI
,
CORETSEOllOI
;
reg
CORETSEIllOI
;
reg
CORETSEoOoi
;
reg
[
RABITS
:
0
]
CORETSEoo1i
,
CORETSEIi1i
,
CORETSEli1i
,
CORETSElllOI
;
reg
CORETSEio1i
,
CORETSEoi1i
;
reg
CORETSEOi1i
;
wire
CORETSEollOI
;
reg
CORETSEillOI
;
reg
CORETSEOIoi
;
reg
CORETSEO0lOI
,
CORETSEI0lOI
;
reg
[
RABITS
:
0
]
CORETSEl0lOI
;
reg
CORETSEo0lOI
,
CORETSEi0lOI
;
reg
CORETSEO1lOI
,
CORETSEI1lOI
;
reg
CORETSEl1lOI
,
CORETSEo1lOI
;
reg
CORETSEi1lOI
,
CORETSEOolOI
;
wire
CORETSEIolOI
,
CORETSElolOI
;
reg
[
(
CORETSEi00i
+
4
)
-
1
:
0
]
CORETSEI01i
;
reg
[
(
CORETSEi00i
+
4
)
-
1
:
0
]
CORETSEO1ii
;
reg
CORETSEoolOI
;
reg
[
(
RABITS
+
CORETSEO10i
)
-
1
:
0
]
CORETSEiolOI
;
reg
CORETSEOilOI
;
reg
CORETSEIilOI
;
reg
CORETSElilOI
;
wire
CORETSEi0lo
;
wire
CORETSEoilOI
;
wire
CORETSEiilOI
;
reg
CORETSEOO0OI
;
reg
CORETSEIO0OI
;
reg
CORETSElO0OI
;
wire
CORETSEoO0OI
;
wire
CORETSEiO0OI
;
wire
CORETSEOI0OI
;
reg
CORETSEOloi
;
wire
[
RABITS
:
0
]
CORETSEIloi
;
reg
CORETSEII0OI
;
reg
[
(
RABITS
+
CORETSEO10i
)
:
0
]
CORETSElI0OI
;
reg
CORETSEoI0OI
;
wire
CORETSElo1
;
wire
CORETSEoo1
;
assign
CORETSElo1
=
(
FAMILY
==
25
)
?
1
'b
0
:
CORETSEilii
;
assign
CORETSEoo1
=
(
FAMILY
==
25
)
?
CORETSEilii
:
1
'b
0
;
//      generated as part of synthesis results.
reg
[
(
RABITS
-
1
)
:
0
]
CORETSEO01i
;
wire
[
(
RABITS
-
1
)
:
0
]
#
1000
CORETSEiI0OI
=
(
{
RABITS
{
~
(
~
CORETSEIIii
[
RABITS
+
1
]
&
(
CORETSElO0OI
&
~
CORETSEOloi
)
)
}
}
&
CORETSEoOlOI
[
(
RABITS
+
1
)
:
CORETSEO10i
]
)
|
(
{
RABITS
{
(
~
CORETSEIIii
[
RABITS
+
1
]
&
(
CORETSElO0OI
&
~
CORETSEOloi
)
)
}
}
&
CORETSEIIii
[
(
RABITS
-
1
)
:
0
]
)
;
reg
CORETSEil1i
;
wire
#
1000
CORETSEOl0OI
=
~
(
CORETSEoIlOI
&
~
CORETSEollOI
)
|
(
~
CORETSEIIii
[
RABITS
+
1
]
&
CORETSEiO0OI
)
;
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
begin
CORETSEO01i
<=
12
'b
0
;
CORETSEil1i
<=
1
'b
0
;
CORETSEO1ii
<=
36
'b
0
;
end
else
begin
CORETSEO01i
<=
CORETSEiI0OI
;
CORETSEil1i
<=
CORETSEOl0OI
;
CORETSEO1ii
<=
CORETSEI01i
;
end
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEI01i
[
CORETSEi00i
+
CORETSEO10i
+
1
]
<=
#
1000
1
'b
0
;
else
if
(
~
CORETSEIIii
[
RABITS
+
1
]
&
CORETSEoO0OI
)
CORETSEI01i
[
CORETSEi00i
+
CORETSEO10i
+
1
]
<=
#
1000
CORETSEoIii
[
CORETSEi00i
+
CORETSEO10i
+
1
]
;
else
if
(
CORETSEili0
&
CORETSEIIlOI
&
(
CORETSElOlOI
[
CORETSEO10i
-
1
:
0
]
==
{
CORETSEO10i
{
1
'h
0
}
}
)
)
CORETSEI01i
[
CORETSEi00i
+
CORETSEO10i
+
1
]
<=
#
1000
CORETSEo1
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEI01i
[
CORETSEi00i
+
CORETSEO10i
]
<=
#
1000
1
'b
0
;
else
if
(
~
CORETSEIIii
[
RABITS
+
1
]
&
CORETSEoO0OI
)
CORETSEI01i
[
CORETSEi00i
+
CORETSEO10i
]
<=
#
1000
CORETSEoIii
[
CORETSEi00i
+
CORETSEO10i
]
;
else
if
(
CORETSEili0
&
CORETSEIIlOI
&
CORETSEo1
)
CORETSEI01i
[
CORETSEi00i
+
CORETSEO10i
]
<=
#
1000
1
'b
0
;
else
if
(
CORETSEili0
&
CORETSEIIlOI
&
CORETSEi1
)
CORETSEI01i
[
CORETSEi00i
+
CORETSEO10i
]
<=
#
1000
1
'b
1
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEI01i
[
CORETSEi00i
+:
CORETSEO10i
]
<=
#
1000
{
CORETSEO10i
{
1
'h
0
}
}
;
else
if
(
~
CORETSEIIii
[
RABITS
+
1
]
&
CORETSEoO0OI
)
CORETSEI01i
[
CORETSEi00i
+:
CORETSEO10i
]
<=
#
1000
CORETSEoIii
[
CORETSEi00i
+:
CORETSEO10i
]
;
else
if
(
CORETSEili0
&
CORETSEIIlOI
&
CORETSEo1
)
CORETSEI01i
[
CORETSEi00i
+:
CORETSEO10i
]
<=
#
1000
{
CORETSEO10i
{
1
'h
0
}
}
;
else
if
(
CORETSEili0
&
CORETSEIIlOI
&
CORETSEi1
)
CORETSEI01i
[
CORETSEi00i
+:
CORETSEO10i
]
<=
#
1000
(
(
CORETSEi00i
/
8
)
-
1
)
-
CORETSElOlOI
[
(
CORETSEO10i
-
1
)
:
0
]
;
end
generate
genvar
CORETSEolO0
;
for
(
CORETSEolO0
=
0
;
CORETSEolO0
<
(
CORETSEi00i
/
8
)
;
CORETSEolO0
=
CORETSEolO0
+
1
)
begin
:
CORETSEIl0OI
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEI01i
[
8
*
(
CORETSEolO0
+
1
)
-
1
:
CORETSEolO0
*
8
]
<=
#
1000
{
8
{
1
'h
0
}
}
;
else
if
(
~
CORETSEIIii
[
RABITS
+
1
]
&
CORETSEoO0OI
)
CORETSEI01i
[
8
*
(
CORETSEolO0
+
1
)
-
1
:
CORETSEolO0
*
8
]
<=
#
1000
CORETSEoIii
[
8
*
(
CORETSEolO0
+
1
)
-
1
:
CORETSEolO0
*
8
]
;
else
if
(
CORETSEili0
&
CORETSEIIlOI
&
CORETSElOlOI
[
CORETSEO10i
-
1
:
0
]
==
CORETSEolO0
)
CORETSEI01i
[
8
*
(
CORETSEolO0
+
1
)
-
1
:
CORETSEolO0
*
8
]
<=
#
1000
CORETSEI1
;
end
end
endgenerate
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElIlOI
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
(
CORETSEi1
|
CORETSEollOI
)
&
CORETSEl1
)
CORETSElIlOI
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
CORETSEo1
)
CORETSElIlOI
<=
#
CORETSEOII
1
'b
1
;
end
assign
CORETSEIIlOI
=
(
CORETSElIlOI
|
CORETSEo1
)
&
~
CORETSEollOI
&
CORETSEl1
;
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoIlOI
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEoIlOI
<=
#
CORETSEOII
CORETSEIIlOI
;
end
assign
CORETSEollOI
=
(
CORETSEoOlOI
[
(
RABITS
+
CORETSEO10i
)
-
1
:
CORETSEO10i
]
==
CORETSEl0lOI
[
(
RABITS
-
1
)
:
0
]
)
&
(
CORETSEoOlOI
[
RABITS
+
CORETSEO10i
]
!=
CORETSEl0lOI
[
RABITS
]
)
;
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEillOI
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEillOI
<=
#
CORETSEOII
CORETSEollOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOIoi
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
CORETSEollOI
)
CORETSEOIoi
<=
#
CORETSEOII
1
'b
1
;
else
if
(
CORETSEili0
&
CORETSEI0lOI
)
CORETSEOIoi
<=
#
CORETSEOII
1
'b
0
;
end
assign
CORETSEiIlOI
=
CORETSEoOlOI
+
1
'b
1
;
assign
CORETSEOllOI
=
{
CORETSEoOlOI
[
(
RABITS
+
CORETSEO10i
)
:
CORETSEO10i
]
,
{
CORETSEO10i
{
1
'h
0
}
}
}
+
(
CORETSEi00i
/
8
)
;
generate
if
(
FAMILY
==
25
)
begin
assign
CORETSElOlOI
=
(
CORETSEIIii
[
RABITS
+
1
]
&
CORETSEOI0OI
)
?
{
CORETSEIIii
[
RABITS
:
0
]
,
{
CORETSEO10i
{
1
'h
0
}
}
}
:
(
CORETSEIllOI
)
?
CORETSEiOlOI
:
(
CORETSEillOI
)
?
CORETSEoOlOI
:
(
CORETSEoIlOI
&
CORETSEOIlOI
)
?
CORETSEOllOI
:
(
CORETSEIIlOI
&
~
CORETSEo1
)
?
CORETSEiIlOI
:
CORETSEoOlOI
;
end
else
begin
assign
CORETSElOlOI
=
(
CORETSEIIii
[
RABITS
+
1
]
&
CORETSEOI0OI
)
?
{
CORETSEIIii
[
RABITS
:
0
]
,
{
CORETSEO10i
{
1
'h
0
}
}
}
:
(
CORETSEIllOI
)
?
CORETSEiOlOI
:
(
CORETSEollOI
)
?
CORETSEoOlOI
:
(
CORETSEoIlOI
&
CORETSEOIlOI
)
?
CORETSEOllOI
:
(
CORETSEIIlOI
&
~
CORETSEo1
)
?
CORETSEiIlOI
:
CORETSEoOlOI
;
end
endgenerate
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoOlOI
<=
#
CORETSEOII
CORETSEOlIOI
;
else
if
(
CORETSEili0
)
CORETSEoOlOI
<=
#
CORETSEOII
CORETSElOlOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElI0OI
<=
#
CORETSEOII
CORETSEOlIOI
;
else
CORETSElI0OI
<=
#
CORETSEOII
CORETSElOlOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOIlOI
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEOIlOI
<=
#
CORETSEOII
CORETSEi1
;
end
generate
if
(
CORETSEO
==
1
)
begin
assign
CORETSEll0OI
=
CORETSEIolOI
;
end
endgenerate
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEl0lOI
<=
#
CORETSEOII
CORETSEIOlOI
;
else
if
(
CORETSEili0
&
CORETSEo1lOI
&
~
CORETSEOi1i
)
CORETSEl0lOI
<=
#
CORETSEOII
CORETSEIo1i
;
end
generate
if
(
FAMILY
==
25
)
begin
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEiOlOI
<=
#
CORETSEOII
CORETSEOlIOI
;
else
if
(
CORETSEili0
&
CORETSEo1
&
~
CORETSEoI0OI
)
CORETSEiOlOI
<=
#
CORETSEOII
CORETSElOlOI
;
end
end
else
begin
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEiOlOI
<=
#
CORETSEOII
CORETSEOlIOI
;
else
if
(
CORETSEili0
&
CORETSEo1
&
~
CORETSEIllOI
)
CORETSEiOlOI
<=
#
CORETSEOII
CORETSElOlOI
;
end
end
endgenerate
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIllOI
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
(
CORETSEIolOI
|
(
~
CORETSEoOoi
&
(
CORETSEoIlOI
&
CORETSEIIlOI
)
)
|
(
CORETSEollOI
&
(
CORETSEoIlOI
|
CORETSEIIlOI
)
)
)
)
CORETSEIllOI
<=
#
CORETSEOII
1
'b
1
;
else
if
(
CORETSEili0
&
CORETSEo1
&
~
CORETSEollOI
)
CORETSEIllOI
<=
#
CORETSEOII
1
'b
0
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoI0OI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEoI0OI
<=
#
CORETSEOII
CORETSEIllOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEII0OI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEII0OI
<=
(
CORETSEii0i
&
CORETSElo
)
|
(
CORETSEII0OI
&
!
CORETSElilOI
)
;
end
assign
CORETSEi0lo
=
(
CORETSElo
&
~
CORETSEOilOI
)
|
(
CORETSEIilOI
&
CORETSElilOI
)
;
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOilOI
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEOilOI
<=
#
CORETSEOII
CORETSEl1
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIilOI
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEIilOI
<=
#
CORETSEOII
CORETSEOilOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElilOI
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSElilOI
<=
#
CORETSEOII
CORETSElo
;
end
assign
CORETSEiilOI
=
CORETSEi0lo
&
(
(
|
(
(
{
CORETSEII0OI
,
CORETSEoo
[
32
:
16
]
}
~^
CORETSEl1oi
)
&
~
CORETSEo1oi
)
)
|
(
(
CORETSEoo
[
15
:
0
]
<
16
'd
64
)
&
CORETSEi1oi
)
|
CORETSEOO1i
)
;
assign
CORETSElolOI
=
CORETSEi0lo
&
~
CORETSEiilOI
;
assign
CORETSEIolOI
=
CORETSEiilOI
;
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEiolOI
<=
#
CORETSEOII
CORETSEOOlOI
;
else
if
(
CORETSEili0
&
~
CORETSEoolOI
)
CORETSEiolOI
<=
#
CORETSEOII
CORETSEOOlOI
;
else
if
(
CORETSEili0
&
CORETSEIIlOI
&
~
(
&
CORETSEiolOI
)
)
CORETSEiolOI
<=
#
CORETSEOII
CORETSEiolOI
+
1
;
end
assign
CORETSEoilOI
=
(
CORETSEIIii
[
RABITS
+
1
]
&
CORETSEiO0OI
)
|
(
CORETSElolOI
&
~
CORETSEillOI
)
|
(
(
CORETSEiolOI
[
(
RABITS
+
CORETSEO10i
)
-
1
:
CORETSEO10i
]
>=
CORETSEI1oi
)
&
~
(
&
CORETSEI1oi
)
&
(
&
CORETSElOlOI
[
CORETSEO10i
-
1
:
0
]
)
&
~
CORETSEillOI
)
;
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElllOI
<=
#
CORETSEOII
CORETSEIOlOI
;
else
if
(
CORETSEili0
&
CORETSEoilOI
)
CORETSElllOI
<=
#
CORETSEOII
CORETSElOlOI
[
(
RABITS
+
CORETSEO10i
)
:
CORETSEO10i
]
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEio1i
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
CORETSEi0lOI
)
CORETSEio1i
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEio1i
<=
#
CORETSEOII
1
'b
1
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoo1i
<=
#
CORETSEOII
CORETSEIOlOI
;
else
if
(
CORETSEili0
&
~
CORETSEi0lOI
&
~
CORETSEio1i
)
CORETSEoo1i
<=
#
CORETSEOII
CORETSElllOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoi1i
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
CORETSEI1lOI
)
CORETSEoi1i
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
)
CORETSEoi1i
<=
#
CORETSEOII
1
'b
1
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIi1i
<=
#
CORETSEOII
CORETSEIOlOI
;
else
if
(
CORETSEili0
&
~
CORETSEI1lOI
&
~
CORETSEoi1i
)
CORETSEIi1i
<=
#
CORETSEOII
CORETSElllOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEli1i
<=
#
CORETSEOII
CORETSEIOlOI
;
else
if
(
CORETSEili0
&
~
CORETSEI1lOI
&
~
CORETSEoi1i
)
CORETSEli1i
<=
#
CORETSEOII
CORETSEl0lOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOi1i
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
~
CORETSEo1lOI
)
CORETSEOi1i
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
CORETSEo1lOI
)
CORETSEOi1i
<=
#
CORETSEOII
1
'b
1
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoOoi
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
CORETSEo1
&
CORETSEOolOI
)
CORETSEoOoi
<=
#
CORETSEOII
1
'b
1
;
else
if
(
CORETSEili0
&
(
CORETSEi1
|
~
CORETSEoolOI
)
&
~
CORETSEOolOI
)
CORETSEoOoi
<=
#
CORETSEOII
1
'b
0
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoolOI
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEili0
&
CORETSEo1
&
CORETSEOolOI
)
CORETSEoolOI
<=
#
CORETSEOII
1
'b
1
;
else
if
(
CORETSEili0
&
CORETSEi1
)
CORETSEoolOI
<=
#
CORETSEOII
1
'b
0
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEO0lOI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEO0lOI
<=
#
CORETSEOII
CORETSEOooi
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEI0lOI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEI0lOI
<=
#
CORETSEOII
CORETSEO0lOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEo0lOI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEo0lOI
<=
#
CORETSEOII
CORETSEOo1i
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEi0lOI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEi0lOI
<=
#
CORETSEOII
CORETSEo0lOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEO1lOI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEO1lOI
<=
#
CORETSEOII
CORETSEii1i
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEI1lOI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEI1lOI
<=
#
CORETSEOII
CORETSEO1lOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEl1lOI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEl1lOI
<=
#
CORETSEOII
CORETSElo1i
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEo1lOI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEo1lOI
<=
#
CORETSEOII
CORETSEl1lOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEi1lOI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEi1lOI
<=
#
CORETSEOII
CORETSEiioi
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOolOI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEOolOI
<=
#
CORETSEOII
CORETSEi1lOI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOO0OI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEOO0OI
<=
#
CORETSEOII
CORETSElIii
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIO0OI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEIO0OI
<=
#
CORETSEOII
CORETSEOO0OI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElO0OI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSElO0OI
<=
#
CORETSEOII
CORETSEIO0OI
;
end
always
@
(
posedge
CORETSEoli0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOloi
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEOloi
<=
#
CORETSEOII
CORETSElO0OI
;
end
assign
CORETSEoO0OI
=
CORETSEIO0OI
&
~
CORETSElO0OI
;
assign
CORETSEiO0OI
=
CORETSElO0OI
&
~
CORETSEOloi
;
assign
CORETSEOI0OI
=
CORETSEiO0OI
|
CORETSEoO0OI
;
assign
CORETSEIloi
=
CORETSEoOlOI
[
(
RABITS
+
CORETSEO10i
)
:
CORETSEO10i
]
;
endmodule
