// REVISION    : $Revision: 1.2 $
// Mentor Graphics Corporation Proprietary and Confidential
// Copyright 2007 Mentor Graphics Corporation and Licensors
`timescale 1ps/1ps
module
CoreTSE_M2S090_CORETSE_AHB_0_MSGMII_PEANX_TOP
(
CORETSEli0I
,
CORETSEOIol
,
CORETSEOIo0
,
CORETSEIOo0
,
CORETSEIIo0
,
CORETSElIo0
,
CORETSEO0o0
,
CORETSEI0o0
,
CORETSEl0o0
,
CORETSEIOi0
,
CORETSEo0o0
,
CORETSElOi0
,
CORETSEI1o0
,
CORETSEl1o0
,
CORETSEo1o0
,
CORETSEOoo0
,
CORETSEIoo0
,
CORETSEoOi0
,
CORETSEl0OI
,
CORETSEli10
,
CORETSEoIo0
,
CORETSEOio0
,
CORETSEiIo0
,
CORETSEOlo0
,
CORETSEIlo0
,
CORETSEllo0
,
CORETSEolo0
,
CORETSEOlII
,
CORETSEIlII
)
;
input
CORETSEli0I
;
input
CORETSEOIol
;
input
CORETSEOIo0
;
input
CORETSEIOo0
;
input
CORETSEIIo0
;
input
[
15
:
0
]
CORETSElIo0
;
input
CORETSEO0o0
;
input
CORETSEI0o0
;
input
[
15
:
0
]
CORETSEl0o0
;
input
CORETSEIOi0
;
input
[
15
:
0
]
CORETSEo0o0
;
input
CORETSElOi0
;
input
CORETSEI1o0
;
input
CORETSEl1o0
;
input
CORETSEo1o0
;
input
CORETSEOoo0
;
input
CORETSEIoo0
;
input
CORETSEoOi0
;
input
CORETSEl0OI
;
output
CORETSEoIo0
;
output
CORETSEOio0
;
output
CORETSEiIo0
;
output
[
15
:
0
]
CORETSEOlo0
;
output
[
15
:
0
]
CORETSEIlo0
;
output
CORETSEllo0
;
output
CORETSEolo0
;
output
[
1
:
0
]
CORETSEOlII
;
output
[
15
:
0
]
CORETSEIlII
;
output
[
8
:
0
]
CORETSEli10
;
reg
CORETSEoIo0
;
reg
CORETSEOio0
;
wire
CORETSEiIo0
;
reg
[
15
:
0
]
CORETSEOlo0
;
reg
[
15
:
0
]
CORETSEIlo0
;
reg
CORETSEllo0
;
reg
CORETSEolo0
;
reg
[
1
:
0
]
CORETSEOlII
;
reg
[
15
:
0
]
CORETSEIlII
;
parameter
CORETSEOII
=
1
;
parameter
FAMILY
=
19
;
wire
CORETSEIliII
;
wire
CORETSElliII
,
CORETSEoliII
,
CORETSEiliII
,
CORETSEO0iII
,
CORETSEI0iII
;
wire
CORETSEl0iII
,
CORETSEo0iII
,
CORETSEi0iII
,
CORETSEO1iII
;
reg
CORETSEI1iII
,
CORETSEl1iII
,
CORETSEo1iII
,
CORETSEi1iII
,
CORETSEOoiII
;
reg
CORETSEIoiII
,
CORETSEloiII
,
CORETSEooiII
,
CORETSEioiII
;
wire
CORETSEIOl1
,
CORETSElOl1
;
wire
CORETSEoOl1
,
CORETSEOll1
,
CORETSEiIl1
;
wire
CORETSEoIl1
,
CORETSEIIl1
,
CORETSElIl1
,
CORETSEiOl1
;
wire
CORETSEOIl1
,
CORETSEIiI1
,
CORETSEoiI1
,
CORETSEliI1
;
reg
CORETSEOiiII
;
reg
[
20
:
0
]
CORETSEIiiII
;
wire
CORETSEiiI1
,
CORETSEOOl1
,
CORETSEliiII
;
reg
CORETSEoiiII
;
wire
CORETSEiiiII
;
wire
CORETSEOOOlI
;
wire
CORETSEIOOlI
;
wire
[
15
:
0
]
CORETSElOOlI
;
wire
[
15
:
0
]
CORETSEoOOlI
;
wire
CORETSEiOOlI
;
reg
CORETSEOIOlI
;
wire
CORETSEIIOlI
;
wire
[
1
:
0
]
CORETSElIOlI
;
wire
[
15
:
0
]
CORETSEoIOlI
;
wire
CORETSEiIOlI
;
wire
CORETSEOlOlI
;
wire
CORETSEIlOlI
;
reg
CORETSEllOlI
;
wire
CORETSEolOlI
;
reg
CORETSEilOlI
;
wire
CORETSEO0OlI
;
reg
CORETSEI0OlI
;
wire
CORETSEl0OlI
;
reg
CORETSEo0OlI
;
wire
CORETSEi0OlI
;
reg
CORETSEO1OlI
;
wire
[
15
:
0
]
CORETSEI1OlI
;
reg
[
15
:
0
]
CORETSEl1OlI
;
wire
CORETSEo1OlI
;
wire
CORETSEi1OlI
,
CORETSEOoOlI
,
CORETSEIoOlI
;
wire
[
1
:
0
]
CORETSEloOlI
;
reg
[
1
:
0
]
CORETSEooOlI
;
wire
CORETSEioOlI
;
reg
CORETSEOiOlI
;
wire
[
15
:
0
]
CORETSEIiOlI
;
reg
[
15
:
0
]
CORETSEliOlI
;
wire
CORETSEoiOlI
;
wire
CORETSEiiOlI
,
CORETSEOOIlI
,
CORETSEIOIlI
;
wire
[
1
:
0
]
CORETSElOIlI
;
reg
[
1
:
0
]
CORETSEoOIlI
;
wire
CORETSEiOIlI
;
reg
CORETSEOIIlI
;
wire
[
15
:
0
]
CORETSEIIIlI
;
reg
[
15
:
0
]
CORETSElIIlI
;
wire
CORETSEoIIlI
;
reg
CORETSEiIIlI
;
wire
[
2
:
0
]
CORETSEOlIlI
;
reg
[
2
:
0
]
CORETSEIlIlI
;
wire
CORETSEllIlI
;
wire
[
20
:
0
]
CORETSEolIlI
;
reg
[
20
:
0
]
CORETSEilIlI
;
wire
CORETSEO0IlI
,
CORETSEI0IlI
;
reg
CORETSEl0IlI
,
CORETSEo0IlI
;
wire
CORETSEi0IlI
;
reg
CORETSEO1IlI
;
wire
CORETSEI1IlI
;
reg
CORETSEl1IlI
;
wire
CORETSEIio0
;
wire
CORETSElo1
;
wire
CORETSEoo1
;
assign
CORETSElo1
=
(
FAMILY
==
25
)
?
1
'b
0
:
CORETSEl0OI
;
assign
CORETSEoo1
=
(
FAMILY
==
25
)
?
CORETSEl0OI
:
1
'b
0
;
CoreTSE_M2S090_CORETSE_AHB_0_PEANX_SYNC
#
(
.FAMILY
(
FAMILY
)
)
CORETSEo1IlI
(
.CORETSEli0I
(
CORETSEli0I
)
,
.CORETSEOIol
(
CORETSEOIol
)
,
.CORETSEOIo0
(
CORETSEOIo0
)
,
.CORETSEIOo0
(
CORETSEIOo0
)
,
.CORETSEIIo0
(
CORETSEIIo0
)
,
.CORETSEO0o0
(
CORETSEO0o0
)
,
.CORETSEI0o0
(
CORETSEI0o0
)
,
.CORETSEIOi0
(
CORETSEIOi0
)
,
.CORETSElOi0
(
CORETSElOi0
)
,
.CORETSEI1o0
(
CORETSEI1o0
)
,
.CORETSEl1o0
(
CORETSEl1o0
)
,
.CORETSEo1o0
(
CORETSEo1o0
)
,
.CORETSEOoo0
(
CORETSEOoo0
)
,
.CORETSEIoo0
(
CORETSEIoo0
)
,
.CORETSEoOi0
(
CORETSEoOi0
)
,
.CORETSEl0OI
(
CORETSEl0OI
)
,
.CORETSEIiI1
(
CORETSEIiI1
)
,
.CORETSEoiI1
(
CORETSEoiI1
)
,
.CORETSEliI1
(
CORETSEliI1
)
,
.CORETSEiiI1
(
CORETSEiiI1
)
,
.CORETSEOOl1
(
CORETSEOOl1
)
,
.CORETSEIOl1
(
CORETSEIOl1
)
,
.CORETSElOl1
(
CORETSElOl1
)
,
.CORETSEoOl1
(
CORETSEoOl1
)
,
.CORETSEiOl1
(
CORETSEiOl1
)
,
.CORETSEOIl1
(
CORETSEOIl1
)
,
.CORETSEIIl1
(
CORETSEIIl1
)
,
.CORETSElIl1
(
CORETSElIl1
)
,
.CORETSEoIl1
(
CORETSEoIl1
)
,
.CORETSEiIl1
(
CORETSEiIl1
)
,
.CORETSEOll1
(
CORETSEOll1
)
,
.CORETSEIio0
(
CORETSEIio0
)
)
;
assign
CORETSEIliII
=
CORETSEoOl1
|
CORETSEOiiII
|
CORETSEllOlI
|
(
CORETSEIOo0
&
(
CORETSEOlII
!=
2
'b
10
)
)
;
assign
CORETSElliII
=
CORETSEIliII
|
CORETSEi1iII
&
(
CORETSEOIIlI
&
~
CORETSEoIIlI
|
CORETSEOiOlI
&
CORETSElIo0
==
16
'h
0
&
CORETSEoiiII
)
|
CORETSEOoiII
&
CORETSEOiOlI
&
CORETSElIo0
==
16
'h
0
&
CORETSEoiiII
|
CORETSEloiII
&
CORETSEOiOlI
&
CORETSElIo0
==
16
'h
0
&
CORETSEoiiII
|
CORETSEooiII
&
CORETSEOiOlI
|
CORETSEIoiII
&
CORETSEOiOlI
&
CORETSElIo0
==
16
'h
0
&
CORETSEoiiII
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEI1iII
<=
#
CORETSEOII
1
'b
1
;
else
CORETSEI1iII
<=
#
CORETSEOII
CORETSElliII
;
end
assign
CORETSEoliII
=
CORETSEI1iII
&
~
CORETSEIliII
&
CORETSEIOl1
|
CORETSEl1iII
&
~
(
CORETSEIliII
|
CORETSEo0IlI
)
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEl1iII
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEl1iII
<=
#
CORETSEOII
CORETSEoliII
;
end
assign
CORETSEO1iII
=
CORETSEI1iII
&
~
CORETSEIliII
&
~
CORETSEIOl1
|
CORETSEioiII
&
~
CORETSEIliII
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEioiII
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEioiII
<=
#
CORETSEOII
CORETSEO1iII
;
end
assign
CORETSEiliII
=
CORETSEl1iII
&
~
CORETSEIliII
&
CORETSEo0IlI
|
CORETSEo1iII
&
~
(
CORETSEIliII
|
CORETSEOiOlI
&
CORETSElIo0
!=
16
'h
0
&
CORETSEoiiII
|
CORETSEoiI1
&
CORETSEiIl1
)
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEo1iII
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEo1iII
<=
#
CORETSEOII
CORETSEiliII
;
end
assign
CORETSEO0iII
=
CORETSEo1iII
&
CORETSEOiOlI
&
|
CORETSElIo0
&
CORETSEoiiII
|
CORETSEIoiII
&
CORETSEOiOlI
&
|
CORETSElIo0
&
(
CORETSEO1OlI
^
CORETSElIo0
[
11
]
)
&
CORETSEoiiII
|
CORETSEi1iII
&
~
(
CORETSEIliII
|
CORETSEOIIlI
|
CORETSEOiOlI
&
~|
CORETSElIo0
&
CORETSEoiiII
)
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEi1iII
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEi1iII
<=
#
CORETSEOII
CORETSEO0iII
;
end
assign
CORETSEI0iII
=
CORETSEi1iII
&
CORETSEOIIlI
&
CORETSEoIIlI
|
CORETSEOoiII
&
~
(
CORETSEIliII
|
CORETSEOiOlI
&
~|
CORETSElIo0
&
CORETSEoiiII
|
CORETSEo0iII
|
CORETSEl0iII
)
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOoiII
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEOoiII
<=
#
CORETSEOII
CORETSEI0iII
;
end
assign
CORETSEo0iII
=
CORETSEOoiII
&
CORETSEo0IlI
&
(
(
~
CORETSEl0o0
[
15
]
&
~
CORETSEiOl1
|
~
CORETSEOlo0
[
15
]
)
|
CORETSEl0o0
[
15
]
&
~
CORETSEiOl1
&
CORETSEOlo0
[
15
]
&
~
CORETSEIlII
[
15
]
&
~
CORETSEilOlI
)
&
(
~
CORETSEOiOlI
|
(
|
CORETSElIo0
)
)
|
CORETSEloiII
&
~
(
CORETSEIliII
|
CORETSEOiOlI
&
~|
CORETSElIo0
&
CORETSEoiiII
|
CORETSEo0IlI
&
CORETSEllIlI
)
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEloiII
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEloiII
<=
#
CORETSEOII
CORETSEo0iII
;
end
assign
CORETSEi0iII
=
~
CORETSEooiII
&
CORETSEloiII
&
CORETSEo0IlI
&
CORETSEllIlI
|
~
CORETSEooiII
&
CORETSEo1iII
&
CORETSEoiI1
&
CORETSEiIl1
|
CORETSEooiII
&
~
(
CORETSEIliII
|
CORETSEOiOlI
)
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEooiII
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEooiII
<=
#
CORETSEOII
CORETSEi0iII
;
end
assign
CORETSEli10
=
{
CORETSEooiII
,
CORETSEloiII
,
CORETSEOoiII
,
CORETSEIoiII
,
CORETSEi1iII
,
CORETSEo1iII
,
CORETSEl1iII
,
CORETSEI1iII
,
CORETSEioiII
}
;
assign
CORETSEl0iII
=
CORETSEOoiII
&
CORETSEo0IlI
&
CORETSEl0o0
[
15
]
&
~
CORETSEiOl1
&
CORETSEOlo0
[
15
]
&
CORETSElIl1
&
(
CORETSEIlII
[
15
]
|
CORETSEilOlI
)
&
(
~
CORETSEOiOlI
|
(
|
CORETSElIo0
)
)
|
CORETSEIoiII
&
~
(
CORETSEIliII
|
CORETSEOiOlI
&
~|
CORETSElIo0
&
CORETSEoiiII
|
CORETSEOiOlI
&
(
CORETSEO1OlI
^
CORETSElIo0
[
11
]
)
&
|
CORETSElIo0
&
CORETSEoiiII
)
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIoiII
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEIoiII
<=
#
CORETSEOII
CORETSEl0iII
;
end
assign
CORETSEliiII
=
CORETSEiiI1
&
~
CORETSEOOl1
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoiiII
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEoiiII
<=
#
CORETSEOII
CORETSEliiII
;
end
assign
CORETSEIlOlI
=
CORETSEIOl1
&
~
CORETSElOl1
|
~
CORETSEIOl1
&
CORETSElOl1
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEllOlI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEllOlI
<=
#
CORETSEOII
CORETSEIlOlI
;
end
assign
CORETSEiiiII
=
~
CORETSEllo0
&
CORETSEOoiII
|
CORETSEllo0
&
~
(
CORETSEI1iII
|
CORETSEIIl1
)
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEllo0
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEllo0
<=
#
CORETSEOII
CORETSEiiiII
;
end
assign
CORETSEolOlI
=
CORETSEl1IlI
&
CORETSElIo0
[
15
]
|
~
CORETSEl1IlI
&
CORETSEilOlI
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEilOlI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEilOlI
<=
#
CORETSEOII
CORETSEolOlI
;
end
assign
CORETSEOOOlI
=
~
CORETSEoIo0
&
CORETSEooiII
|
CORETSEoIo0
&
~
CORETSEI1iII
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoIo0
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEoIo0
<=
#
CORETSEOII
CORETSEOOOlI
;
end
assign
CORETSEIIOlI
=
|
CORETSElIo0
[
13
:
12
]
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOio0
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEOio0
<=
#
CORETSEOII
CORETSEIIOlI
;
end
assign
CORETSElIOlI
[
1
:
0
]
=
{
2
{
CORETSEI1iII
&
CORETSEIOl1
|
CORETSEl1iII
}
}
&
2
'b
00
|
{
2
{
CORETSEI1iII
&
~
CORETSEIOl1
|
CORETSEloiII
}
}
&
2
'b
01
|
{
2
{
CORETSEioiII
|
CORETSEooiII
}
}
&
2
'b
10
|
{
2
{
~
(
CORETSEI1iII
|
CORETSEl1iII
|
CORETSEloiII
|
CORETSEioiII
|
CORETSEooiII
)
}
}
&
CORETSEOlII
[
1
:
0
]
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOlII
[
1
:
0
]
<=
#
CORETSEOII
2
'b
00
;
else
CORETSEOlII
[
1
:
0
]
<=
#
CORETSEOII
CORETSElIOlI
[
1
:
0
]
;
end
assign
CORETSEi0IlI
=
CORETSEl0iII
&
~
CORETSEIoiII
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEO1IlI
<=
#
CORETSEOII
1
'h
0
;
else
CORETSEO1IlI
<=
#
CORETSEOII
CORETSEi0IlI
;
end
assign
CORETSEiIOlI
=
(
CORETSEI1iII
&
CORETSEIOl1
)
|
CORETSEl1iII
;
assign
CORETSEOlOlI
=
~
(
CORETSEiIOlI
|
CORETSEo1iII
&
~
CORETSEOiOlI
&
~
CORETSEiOl1
|
CORETSEo1iII
&
CORETSEOiOlI
&
CORETSEOIIlI
&
|
CORETSElIo0
|
CORETSEi1iII
|
CORETSEO1IlI
&
~
CORETSEOIl1
|
CORETSEoIl1
)
;
assign
CORETSEoIOlI
=
{
16
{
CORETSEo1iII
&
~
CORETSEOiOlI
&
~
CORETSEiOl1
&
~
CORETSEiIOlI
}
}
&
{
CORETSEl0o0
[
15
]
,
1
'b
0
,
CORETSEl0o0
[
13
:
0
]
}
|
{
16
{
(
CORETSEo1iII
&
CORETSEOiOlI
&
CORETSEOIIlI
&
|
CORETSElIo0
&
~
CORETSEiIOlI
)
|
(
CORETSEi1iII
&
~
CORETSEiIOlI
)
}
}
&
{
CORETSEIlII
[
15
]
,
1
'b
1
,
CORETSEIlII
[
13
:
0
]
}
|
{
16
{
CORETSEO1IlI
&
~
CORETSEOIl1
&
~
CORETSEiIOlI
}
}
&
{
CORETSEo0o0
[
15
]
,
1
'b
0
,
CORETSEo0o0
[
13
:
12
]
,
CORETSEo0OlI
,
CORETSEo0o0
[
10
:
0
]
}
|
{
16
{
CORETSEoIl1
&
~
CORETSEiIOlI
}
}
&
CORETSEl0o0
|
{
16
{
CORETSEOlOlI
}
}
&
CORETSEIlII
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIlII
<=
#
CORETSEOII
16
'h
0
;
else
CORETSEIlII
<=
#
CORETSEOII
CORETSEoIOlI
;
end
assign
CORETSEIOOlI
=
CORETSEl1iII
|
CORETSEIoiII
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEolo0
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEolo0
<=
#
CORETSEOII
CORETSEIOOlI
;
end
assign
CORETSEiIo0
=
CORETSEooiII
|
CORETSEioiII
;
wire
CORETSEi1IlI
;
assign
CORETSEi1IlI
=
CORETSEI0iII
&
~
CORETSEOoiII
;
assign
CORETSEi0OlI
=
(
(
CORETSEi1IlI
&
CORETSElIo0
[
11
]
)
|
(
~
CORETSEi1IlI
&
CORETSEO1OlI
)
)
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEO1OlI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEO1OlI
<=
#
CORETSEOII
CORETSEi0OlI
;
end
assign
CORETSEl0OlI
=
CORETSEo1iII
&
CORETSEl0o0
[
11
]
&
~
CORETSEiOl1
|
CORETSEI0OlI
&
~
CORETSEo0OlI
|
~
CORETSEI0OlI
&
~
(
CORETSEo1iII
&
~
CORETSEiOl1
)
&
CORETSEo0OlI
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEo0OlI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEo0OlI
<=
#
CORETSEOII
CORETSEl0OlI
;
end
assign
CORETSEO0OlI
=
CORETSEI0iII
&
~
CORETSEOoiII
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEI0OlI
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEI0OlI
<=
#
CORETSEOII
CORETSEO0OlI
;
end
assign
CORETSEI1OlI
=
{
16
{
CORETSEliiII
&
CORETSEooOlI
==
2
'h
0
}
}
&
CORETSElIo0
[
15
:
0
]
|
{
16
{
~
CORETSEliiII
|
CORETSEooOlI
!=
2
'h
0
}
}
&
CORETSEl1OlI
[
15
:
0
]
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEl1OlI
<=
#
CORETSEOII
16
'h
0
;
else
CORETSEl1OlI
<=
#
CORETSEOII
CORETSEI1OlI
;
end
assign
CORETSEo1OlI
=
{
CORETSEl1OlI
[
15
]
,
CORETSEl1OlI
[
13
:
0
]
}
==
{
CORETSElIo0
[
15
]
,
CORETSElIo0
[
13
:
0
]
}
;
assign
CORETSEi1OlI
=
CORETSEoiI1
|
CORETSEliI1
|
CORETSEliiII
&
(
|
CORETSEooOlI
)
&
~
CORETSEo1OlI
|
CORETSEI1iII
|
CORETSEl1iII
;
assign
CORETSEOoOlI
=
CORETSEliiII
&
(
~|
CORETSEooOlI
)
;
assign
CORETSEIoOlI
=
CORETSEliiII
&
(
^
CORETSEooOlI
)
&
CORETSEo1OlI
;
assign
CORETSEloOlI
[
1
:
0
]
=
{
2
{
CORETSEi1OlI
}
}
&
2
'h
0
|
{
2
{
CORETSEOoOlI
}
}
&
2
'h
1
|
{
2
{
CORETSEIoOlI
}
}
&
CORETSEooOlI
[
1
:
0
]
+
2
'h
1
|
{
2
{
~
CORETSEi1OlI
&
~
CORETSEOoOlI
&
~
CORETSEIoOlI
}
}
&
CORETSEooOlI
[
1
:
0
]
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEooOlI
<=
#
CORETSEOII
2
'h
0
;
else
CORETSEooOlI
<=
#
CORETSEOII
CORETSEloOlI
;
end
assign
CORETSEioOlI
=
CORETSEloOlI
==
2
'h
3
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOiOlI
<=
#
CORETSEOII
1
'h
0
;
else
CORETSEOiOlI
<=
#
CORETSEOII
CORETSEioOlI
;
end
assign
CORETSEIiOlI
=
{
16
{
CORETSEliiII
&
CORETSEoOIlI
==
2
'h
0
}
}
&
CORETSElIo0
[
15
:
0
]
|
{
16
{
~
CORETSEliiII
|
CORETSEoOIlI
!=
2
'h
0
}
}
&
CORETSEliOlI
[
15
:
0
]
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEliOlI
<=
#
CORETSEOII
16
'h
0
;
else
CORETSEliOlI
<=
#
CORETSEOII
CORETSEIiOlI
;
end
assign
CORETSEoiOlI
=
CORETSEliOlI
[
15
:
0
]
==
CORETSElIo0
[
15
:
0
]
;
assign
CORETSEiiOlI
=
CORETSEoiI1
|
CORETSEliI1
|
~
CORETSElIo0
[
14
]
|
CORETSEliiII
&
CORETSEoOIlI
>
2
'h
0
&
CORETSElIo0
[
14
]
&
~
CORETSEoiOlI
|
CORETSEl1iII
;
assign
CORETSEOOIlI
=
~
CORETSEiiOlI
&
CORETSEliiII
&
~|
CORETSEoOIlI
&
CORETSElIo0
[
14
]
;
assign
CORETSEIOIlI
=
CORETSEliiII
&
(
^
CORETSEoOIlI
)
&
CORETSEliOlI
[
14
]
&
CORETSElIo0
[
14
]
&
CORETSEoiOlI
;
assign
CORETSElOIlI
=
{
2
{
CORETSEiiOlI
}
}
&
2
'h
0
|
{
2
{
CORETSEOOIlI
}
}
&
2
'h
1
|
{
2
{
CORETSEIOIlI
}
}
&
CORETSEoOIlI
+
2
'h
1
|
{
2
{
~
CORETSEiiOlI
&
~
CORETSEOOIlI
&
~
CORETSEIOIlI
}
}
&
CORETSEoOIlI
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoOIlI
[
1
:
0
]
<=
#
CORETSEOII
2
'h
0
;
else
CORETSEoOIlI
[
1
:
0
]
<=
#
CORETSEOII
CORETSElOIlI
[
1
:
0
]
;
end
assign
CORETSEiOIlI
=
CORETSElOIlI
==
2
'h
3
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOIIlI
<=
#
CORETSEOII
1
'h
0
;
else
CORETSEOIIlI
<=
#
CORETSEOII
CORETSEiOIlI
;
end
assign
CORETSEIIIlI
=
{
16
{
CORETSEo1iII
&
CORETSEooOlI
==
2
'h
3
|
CORETSEIoiII
&
CORETSEooOlI
==
2
'h
3
}
}
&
CORETSEl1OlI
|
{
16
{
~
(
CORETSEo1iII
&
CORETSEooOlI
==
2
'h
3
|
CORETSEIoiII
&
CORETSEooOlI
==
2
'h
3
)
}
}
&
CORETSElIIlI
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElIIlI
[
15
:
0
]
<=
#
CORETSEOII
16
'h
0
;
else
CORETSElIIlI
[
15
:
0
]
<=
#
CORETSEOII
CORETSEIIIlI
[
15
:
0
]
;
end
assign
CORETSEoIIlI
=
CORETSEOIIlI
&
{
CORETSEl1OlI
[
15
]
,
CORETSEl1OlI
[
13
:
0
]
}
==
{
CORETSElIIlI
[
15
]
,
CORETSElIIlI
[
13
:
0
]
}
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEiIIlI
<=
#
CORETSEOII
1
'h
0
;
else
CORETSEiIIlI
<=
#
CORETSEOII
CORETSEoIIlI
;
end
assign
CORETSEOlIlI
=
{
3
{
CORETSEliiII
|
CORETSEliI1
}
}
&
3
'h
0
|
{
3
{
CORETSEoiI1
&
~&
CORETSEIlIlI
}
}
&
CORETSEIlIlI
[
2
:
0
]
+
3
'h
1
|
{
3
{
CORETSEoiI1
&
(
&
CORETSEIlIlI
)
}
}
&
CORETSEIlIlI
[
2
:
0
]
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIlIlI
[
2
:
0
]
<=
#
CORETSEOII
3
'h
0
;
else
CORETSEIlIlI
[
2
:
0
]
<=
#
CORETSEOII
CORETSEOlIlI
[
2
:
0
]
;
end
assign
CORETSEllIlI
=
CORETSEIlIlI
[
2
:
1
]
==
2
'h
3
;
assign
CORETSEO0IlI
=
CORETSEoliII
&
~
CORETSEl1iII
|
CORETSEI0iII
&
~
CORETSEOoiII
|
CORETSEo0iII
&
~
CORETSEloiII
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEl0IlI
<=
#
CORETSEOII
1
'h
0
;
else
CORETSEl0IlI
<=
#
CORETSEOII
CORETSEO0IlI
;
end
assign
CORETSEI0IlI
=
CORETSEilIlI
[
20
:
0
]
==
21
'h
1
|
CORETSEo0IlI
&
~
CORETSEO0IlI
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEo0IlI
<=
#
CORETSEOII
1
'h
1
;
else
CORETSEo0IlI
<=
#
CORETSEOII
CORETSEI0IlI
;
end
wire
CORETSEOoIlI
;
assign
CORETSEOoIlI
=
CORETSEl1iII
|
CORETSEOoiII
|
CORETSEloiII
;
assign
CORETSEolIlI
[
20
:
0
]
=
{
21
{
CORETSEl0IlI
&
~
CORETSEOll1
&
~
CORETSEIio0
}
}
&
21
'd
200000
|
{
21
{
CORETSEl0IlI
&
~
CORETSEOll1
&
CORETSEIio0
}
}
&
21
'h
13_12D0
|
{
21
{
CORETSEl0IlI
&
CORETSEOll1
}
}
&
21
'h
00_0040
|
{
21
{
~
CORETSEl0IlI
&
|
CORETSEilIlI
[
20
:
0
]
&
CORETSEOoIlI
}
}
&
CORETSEilIlI
-
21
'h
1
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEilIlI
[
20
:
0
]
<=
#
CORETSEOII
21
'h
0
;
else
CORETSEilIlI
[
20
:
0
]
<=
#
CORETSEOII
CORETSEolIlI
[
20
:
0
]
;
end
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIiiII
[
20
:
0
]
<=
#
CORETSEOII
21
'h
0
;
else
if
(
CORETSEIiI1
&
~
CORETSEOll1
)
CORETSEIiiII
[
20
:
0
]
<=
#
CORETSEOII
21
'h
13_12D0
;
else
if
(
CORETSEIiI1
&
CORETSEOll1
)
CORETSEIiiII
[
20
:
0
]
<=
#
CORETSEOII
21
'h
00_0040
;
else
if
(
|
CORETSEIiiII
[
20
:
0
]
)
CORETSEIiiII
[
20
:
0
]
<=
#
CORETSEOII
CORETSEIiiII
-
21
'h
1
;
end
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOiiII
<=
#
CORETSEOII
1
'b
1
;
else
CORETSEOiiII
<=
#
CORETSEOII
(
~
CORETSEIiI1
&
~
(
|
CORETSEIiiII
[
20
:
0
]
)
)
;
end
assign
CORETSEI1IlI
=
CORETSEI0iII
&
~
CORETSEOoiII
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEl1IlI
<=
#
CORETSEOII
1
'h
0
;
else
CORETSEl1IlI
<=
#
CORETSEOII
CORETSEI1IlI
;
end
assign
CORETSEiOOlI
=
~
CORETSEOIOlI
&
CORETSEIoiII
|
CORETSEOIOlI
&
~
CORETSEI1iII
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOIOlI
<=
#
CORETSEOII
1
'h
0
;
else
CORETSEOIOlI
<=
#
CORETSEOII
CORETSEiOOlI
;
end
assign
CORETSElOOlI
=
{
16
{
~
CORETSEOIOlI
&
CORETSEl1IlI
}
}
&
CORETSElIo0
[
15
:
0
]
|
{
16
{
~
(
~
CORETSEOIOlI
&
CORETSEl1IlI
)
}
}
&
CORETSEOlo0
[
15
:
0
]
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOlo0
<=
#
CORETSEOII
16
'h
0
;
else
CORETSEOlo0
<=
#
CORETSEOII
CORETSElOOlI
[
15
:
0
]
;
end
assign
CORETSEoOOlI
=
{
16
{
CORETSEOIOlI
&
CORETSEl1IlI
}
}
&
CORETSElIo0
[
15
:
0
]
|
{
16
{
~
(
CORETSEOIOlI
&
CORETSEl1IlI
)
}
}
&
CORETSEIlo0
[
15
:
0
]
;
always
@
(
posedge
CORETSEli0I
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIlo0
<=
#
CORETSEOII
16
'h
0
;
else
CORETSEIlo0
<=
#
CORETSEOII
CORETSEoOOlI
[
15
:
0
]
;
end
endmodule
