// REVISION    : $Revision: 1.1 $
//                   MENTOR Proprietary and Confidential
//                       Copyright (c) 2003, MENTOR
`timescale 1ns/1ns
module
CoreTSE_M2S090_CORETSE_AHB_0_PEMGT
(
CORETSEIoi0
,
CORETSEl1O1
,
CORETSEo1O1
,
CORETSEi1O1
,
CORETSEooO1
,
CORETSEIoO1
,
CORETSEOoO1
,
CORETSEIII1
,
CORETSEioO1
,
CORETSEOiO1
,
CORETSEoo10
,
CORETSElOI1
,
CORETSEl110
,
CORETSEo110
,
CORETSEI110
,
CORETSEoll0
,
CORETSEolO1
,
CORETSElII1
,
CORETSEoII1
,
CORETSEilO1
,
CORETSEO0O1
)
;
input
CORETSEIoi0
;
input
[
2
:
0
]
CORETSEl1O1
;
input
[
15
:
0
]
CORETSEooO1
;
input
[
4
:
0
]
CORETSEIoO1
,
CORETSEOoO1
;
input
CORETSEo1O1
,
CORETSEi1O1
;
input
CORETSEIII1
,
CORETSEioO1
,
CORETSEOiO1
;
input
CORETSEoo10
;
input
CORETSElOI1
;
output
CORETSEI110
,
CORETSEl110
,
CORETSEo110
;
output
CORETSEoll0
,
CORETSEilO1
,
CORETSEO0O1
;
output
[
4
:
0
]
CORETSElII1
;
output
CORETSEoII1
;
output
[
15
:
0
]
CORETSEolO1
;
reg
CORETSEI110
,
CORETSEl110
,
CORETSEo110
;
wire
CORETSEoll0
;
reg
CORETSEilO1
;
reg
CORETSEO0O1
;
reg
[
15
:
0
]
CORETSEolO1
;
parameter
CORETSEOII
=
1
;
parameter
FAMILY
=
19
;
wire
[
4
:
0
]
CORETSEl0o1
;
reg
[
4
:
0
]
CORETSEo0o1
;
wire
CORETSEi0o1
;
wire
CORETSEO1o1
;
wire
CORETSEI1o1
;
reg
CORETSEl1o1
,
CORETSEo1o1
;
wire
CORETSEi1o1
;
wire
CORETSEOoo1
;
wire
[
7
:
0
]
CORETSEIoo1
;
wire
[
7
:
0
]
CORETSEloo1
;
wire
CORETSEooo1
;
reg
CORETSEioo1
;
wire
CORETSEOio1
;
reg
CORETSEIio1
;
reg
CORETSElio1
,
CORETSEoio1
,
CORETSEiio1
;
reg
CORETSEOOi1
,
CORETSEIOi1
,
CORETSElOi1
;
reg
CORETSEoOi1
,
CORETSEiOi1
,
CORETSEOIi1
;
reg
CORETSEIIi1
,
CORETSElIi1
,
CORETSEoIi1
,
CORETSEiIi1
;
wire
CORETSEOli1
,
CORETSEIli1
,
CORETSElli1
,
CORETSEoli1
;
wire
CORETSEili1
;
reg
CORETSEO0i1
,
CORETSEI0i1
,
CORETSEl0i1
,
CORETSEo0i1
;
wire
CORETSEi0i1
;
reg
CORETSEO1i1
;
wire
[
5
:
0
]
CORETSEI1i1
;
reg
[
5
:
0
]
CORETSEl1i1
;
wire
CORETSEo1i1
;
wire
CORETSEi1i1
,
CORETSEOoi1
,
CORETSEIoi1
,
CORETSEloi1
,
CORETSEooi1
;
wire
[
7
:
0
]
CORETSEioi1
;
reg
[
7
:
0
]
CORETSEOii1
;
wire
CORETSEIii1
;
reg
CORETSElii1
,
CORETSEoii1
;
reg
CORETSEiii1
,
CORETSEOOOo
;
wire
CORETSEIOOo
,
CORETSElOOo
;
reg
CORETSEoOOo
,
CORETSEiOOo
,
CORETSEOIOo
,
CORETSEIIOo
;
wire
[
4
:
0
]
CORETSElIOo
;
reg
[
4
:
0
]
CORETSEoIOo
;
wire
[
4
:
0
]
CORETSEiIOo
;
reg
[
4
:
0
]
CORETSElII1
;
wire
CORETSEOlOo
;
reg
CORETSEoII1
;
reg
CORETSEIlOo
;
wire
CORETSElo1
;
wire
CORETSEoo1
;
assign
CORETSElo1
=
(
FAMILY
==
25
)
?
1
'b
0
:
CORETSElOI1
;
assign
CORETSEoo1
=
(
FAMILY
==
25
)
?
CORETSElOI1
:
1
'b
0
;
assign
CORETSEi0o1
=
(
CORETSEo0o1
==
5
'h
0
)
;
assign
CORETSEl0o1
=
{
5
{
CORETSEi0o1
&
CORETSEl1O1
==
3
'h
7
}
}
&
5
'h
d
|
{
5
{
CORETSEi0o1
&
CORETSEl1O1
==
3
'h
6
}
}
&
5
'h
9
|
{
5
{
CORETSEi0o1
&
CORETSEl1O1
==
3
'h
5
}
}
&
5
'h
6
|
{
5
{
CORETSEi0o1
&
CORETSEl1O1
==
3
'h
4
}
}
&
5
'h
4
|
{
5
{
CORETSEi0o1
&
CORETSEl1O1
==
3
'h
3
}
}
&
5
'h
3
|
{
5
{
CORETSEi0o1
&
CORETSEl1O1
==
3
'h
2
}
}
&
5
'h
2
|
{
5
{
CORETSEi0o1
&
CORETSEl1O1
<=
3
'h
1
}
}
&
5
'h
1
|
{
5
{
~
CORETSEi0o1
}
}
&
CORETSEo0o1
[
4
:
0
]
-
5
'h
1
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEo0o1
[
4
:
0
]
<=
#
CORETSEOII
5
'h
1
;
else
CORETSEo0o1
[
4
:
0
]
<=
#
CORETSEOII
CORETSEl0o1
[
4
:
0
]
;
end
assign
CORETSEI1o1
=
CORETSEi0o1
&
~
CORETSEI110
;
assign
CORETSEO1o1
=
{
CORETSEi0o1
}
&
~
CORETSEI110
|
{
~
CORETSEi0o1
}
&
CORETSEI110
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEI110
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEI110
<=
#
CORETSEOII
CORETSEO1o1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEl1o1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEl1o1
<=
#
CORETSEOII
~
CORETSEl0i1
&
CORETSEo0i1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEo1o1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEo1o1
<=
#
CORETSEOII
CORETSEl1o1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElio1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSElio1
<=
#
CORETSEOII
CORETSEIII1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoio1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEoio1
<=
#
CORETSEOII
CORETSElio1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEiio1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEiio1
<=
#
CORETSEOII
CORETSEoio1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOOi1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEOOi1
<=
#
CORETSEOII
CORETSEioO1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIOi1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEIOi1
<=
#
CORETSEOII
CORETSEOOi1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElOi1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSElOi1
<=
#
CORETSEOII
CORETSEIOi1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoOi1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEoOi1
<=
#
CORETSEOII
CORETSEOiO1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEiOi1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEiOi1
<=
#
CORETSEOII
CORETSEoOi1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOIi1
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEI1o1
)
CORETSEOIi1
<=
#
CORETSEOII
CORETSEiOi1
;
end
assign
CORETSEooo1
=
~
CORETSEioo1
&
CORETSEoio1
&
~
CORETSEiio1
|
CORETSEioo1
&
~
CORETSEo1o1
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEioo1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEioo1
<=
#
CORETSEOII
CORETSEooo1
;
end
assign
CORETSEOio1
=
~
CORETSEIio1
&
CORETSEIOi1
&
~
CORETSElOi1
|
CORETSEIio1
&
~
CORETSEo1o1
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIio1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEIio1
<=
#
CORETSEOII
CORETSEOio1
;
end
assign
CORETSEi1o1
=
~
CORETSEO0O1
&
CORETSEiOi1
&
~
CORETSEOIi1
|
CORETSEO0O1
&
~
CORETSEo1o1
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEO0O1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEO0O1
<=
#
CORETSEOII
CORETSEi1o1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIIi1
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEI1o1
)
CORETSEIIi1
<=
#
CORETSEOII
CORETSEioo1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElIi1
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEI1o1
)
CORETSElIi1
<=
#
CORETSEOII
CORETSEIIi1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoIi1
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEI1o1
)
CORETSEoIi1
<=
#
CORETSEOII
CORETSEIio1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEiIi1
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEI1o1
)
CORETSEiIi1
<=
#
CORETSEOII
CORETSEoIi1
;
end
assign
CORETSEoll0
=
CORETSEioo1
|
CORETSEIio1
|
CORETSEOIi1
|
CORETSEo1o1
|
CORETSEO0i1
|
CORETSEo0i1
;
assign
CORETSEOli1
=
CORETSEIIi1
&
~
CORETSElIi1
;
assign
CORETSEIli1
=
CORETSEoIi1
&
~
CORETSEiIi1
;
assign
CORETSElli1
=
CORETSEOIi1
&
~
CORETSEO0i1
&
~
CORETSEI0i1
&
~
CORETSEl0i1
;
assign
CORETSEoli1
=
CORETSEOli1
|
CORETSEIli1
|
CORETSElli1
;
assign
CORETSEili1
=
~
CORETSEO0i1
&
CORETSEI1o1
&
CORETSEoli1
|
CORETSEO0i1
&
~
(
CORETSEI1o1
&
CORETSEo1i1
)
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEO0i1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEO0i1
<=
#
CORETSEOII
CORETSEili1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEI0i1
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEI1o1
)
CORETSEI0i1
<=
#
CORETSEOII
CORETSEO0i1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEl0i1
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEI1o1
)
CORETSEl0i1
<=
#
CORETSEOII
CORETSEI0i1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEo0i1
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEI1o1
)
CORETSEo0i1
<=
#
CORETSEOII
CORETSEl0i1
;
end
assign
CORETSEi0i1
=
{
(
CORETSEI1o1
&
CORETSEoli1
&
~
CORETSEO0i1
)
}
&
CORETSEOli1
|
{
~
(
CORETSEI1o1
&
CORETSEoli1
&
~
CORETSEO0i1
)
}
&
CORETSEO1i1
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEO1i1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEO1i1
<=
#
CORETSEOII
CORETSEi0i1
;
end
assign
CORETSEI1i1
=
{
6
{
CORETSEI1o1
&
~
CORETSEO0i1
}
}
&
6
'h
0
|
{
6
{
CORETSEI1o1
&
(
CORETSEo1O1
&
CORETSEl1i1
==
6
'h
0
)
&
CORETSEO0i1
}
}
&
6
'h
21
|
{
6
{
CORETSEI1o1
&
~
(
CORETSEo1O1
&
CORETSEl1i1
==
6
'h
0
)
&
CORETSEO0i1
}
}
&
CORETSEl1i1
+
6
'h
1
|
{
6
{
~
CORETSEI1o1
}
}
&
CORETSEl1i1
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEl1i1
[
5
:
0
]
<=
#
CORETSEOII
6
'h
0
;
else
CORETSEl1i1
[
5
:
0
]
<=
#
CORETSEOII
CORETSEI1i1
;
end
assign
CORETSEo1i1
=
&
CORETSEl1i1
[
5
:
0
]
;
assign
CORETSEi1i1
=
CORETSEO0i1
&
(
(
(
CORETSEl1i1
==
6
'h
00
)
&
CORETSEo1O1
)
|
(
(
CORETSEl1i1
==
6
'h
20
)
&
~
CORETSEo1O1
)
)
;
assign
CORETSEOoi1
=
CORETSEO0i1
&
CORETSEl1i1
==
6
'h
28
;
assign
CORETSEIoi1
=
CORETSEO0i1
&
CORETSEO1i1
&
CORETSEl1i1
==
6
'h
30
;
assign
CORETSEloi1
=
CORETSEO0i1
&
CORETSEO1i1
&
CORETSEl1i1
==
6
'h
38
;
assign
CORETSEooi1
=
CORETSEi1i1
|
CORETSEOoi1
|
CORETSEIoi1
|
CORETSEloi1
;
assign
CORETSEioi1
=
{
8
{
CORETSEI1o1
&
CORETSEooi1
&
CORETSEloi1
}
}
&
CORETSEooO1
[
7
:
0
]
|
{
8
{
CORETSEI1o1
&
CORETSEooi1
&
CORETSEIoi1
}
}
&
CORETSEooO1
[
15
:
8
]
|
{
8
{
CORETSEI1o1
&
CORETSEooi1
&
CORETSEOoi1
}
}
&
{
CORETSEoIOo
[
0
]
,
CORETSEIoO1
[
4
:
0
]
,
2
'b
10
}
|
{
8
{
CORETSEI1o1
&
CORETSEooi1
&
CORETSEi1i1
}
}
&
{
2
'b
01
,
~
CORETSEO1i1
,
CORETSEO1i1
,
CORETSEoIOo
[
4
:
1
]
}
|
{
8
{
CORETSEI1o1
&
~
CORETSEooi1
}
}
&
{
CORETSEOii1
[
6
:
0
]
,
CORETSEoo10
}
|
{
8
{
~
CORETSEI1o1
}
}
&
CORETSEOii1
[
7
:
0
]
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOii1
[
7
:
0
]
<=
#
CORETSEOII
8
'h
0
;
else
CORETSEOii1
[
7
:
0
]
<=
#
CORETSEOII
CORETSEioi1
[
7
:
0
]
;
end
assign
CORETSElIOo
=
{
5
{
(
CORETSEi1O1
&
CORETSEOIi1
)
&
CORETSEOoi1
&
CORETSEI1o1
&
CORETSEoIOo
==
5
'h
1F
}
}
&
CORETSEOoO1
[
4
:
0
]
|
{
5
{
(
CORETSEi1O1
&
CORETSEOIi1
)
&
CORETSEOoi1
&
CORETSEI1o1
&
CORETSEoIOo
!=
5
'h
1F
}
}
&
CORETSEoIOo
[
4
:
0
]
+
5
'h
1
|
{
5
{
(
CORETSEi1O1
&
CORETSEOIi1
)
&
CORETSEOoi1
&
~
CORETSEI1o1
}
}
&
CORETSEoIOo
[
4
:
0
]
|
{
5
{
(
CORETSEi1O1
&
CORETSEOIi1
)
&
~
CORETSEOoi1
}
}
&
CORETSEoIOo
[
4
:
0
]
|
{
5
{
~
(
CORETSEi1O1
&
CORETSEOIi1
)
}
}
&
CORETSEOoO1
[
4
:
0
]
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoIOo
[
4
:
0
]
<=
#
CORETSEOII
5
'h
0
;
else
CORETSEoIOo
[
4
:
0
]
<=
#
CORETSEOII
CORETSElIOo
[
4
:
0
]
;
end
assign
CORETSEiIOo
=
{
5
{
CORETSEOIi1
&
(
CORETSEi1O1
&
CORETSEOoi1
&
CORETSEI1o1
)
}
}
&
CORETSEoIOo
[
4
:
0
]
|
{
5
{
CORETSEOIi1
&
~
(
CORETSEi1O1
&
CORETSEOoi1
&
CORETSEI1o1
)
}
}
&
CORETSElII1
[
4
:
0
]
|
{
5
{
~
CORETSEOIi1
}
}
&
CORETSEOoO1
[
4
:
0
]
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElII1
[
4
:
0
]
<=
#
CORETSEOII
5
'h
0
;
else
CORETSElII1
[
4
:
0
]
<=
#
CORETSEOII
CORETSEiIOo
[
4
:
0
]
;
end
assign
CORETSEOlOo
=
~
CORETSEIlOo
&
CORETSEIIOo
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoII1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEoII1
<=
#
CORETSEOII
CORETSEOlOo
;
end
assign
CORETSEIii1
=
CORETSEO1i1
&
CORETSEO0i1
&
(
CORETSEl1i1
[
5
]
|
(
(
CORETSEl1i1
==
6
'h
0
)
&
CORETSEo1O1
)
)
|
~
CORETSEO1i1
&
CORETSEO0i1
&
(
(
CORETSEl1i1
[
5
]
&
~
CORETSEl1i1
[
4
]
&
~&
CORETSEl1i1
[
3
:
1
]
)
|
(
(
CORETSEl1i1
==
6
'h
0
)
&
CORETSEo1O1
)
)
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElii1
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEI1o1
)
CORETSElii1
<=
#
CORETSEOII
CORETSEIii1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoii1
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEI1o1
)
CORETSEoii1
<=
#
CORETSEOII
CORETSEIii1
|
CORETSEO0i1
&
~
CORETSEl1i1
[
5
]
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEiii1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEiii1
<=
#
CORETSEOII
CORETSEoii1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEo110
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEo110
<=
#
CORETSEOII
CORETSEiii1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOOOo
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEOOOo
<=
#
CORETSEOII
CORETSEOii1
[
7
]
|
~
CORETSElii1
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEl110
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEl110
<=
#
CORETSEOII
CORETSEOOOo
;
end
assign
CORETSEIOOo
=
CORETSEO0i1
&
~
CORETSEO1i1
&
CORETSEl1i1
==
6
'h
37
;
assign
CORETSElOOo
=
CORETSEO0i1
&
~
CORETSEO1i1
&
CORETSEl1i1
==
6
'h
3F
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEoOOo
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEI1o1
)
CORETSEoOOo
<=
#
CORETSEOII
CORETSEIOOo
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEiOOo
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEI1o1
)
CORETSEiOOo
<=
#
CORETSEOII
CORETSElOOo
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEOIOo
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEI1o1
)
CORETSEOIOo
<=
#
CORETSEOII
CORETSEoOOo
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIIOo
<=
#
CORETSEOII
1
'b
0
;
else
if
(
CORETSEI1o1
)
CORETSEIIOo
<=
#
CORETSEOII
CORETSEiOOo
;
end
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIlOo
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEIlOo
<=
#
CORETSEOII
CORETSEIIOo
;
end
assign
CORETSEIoo1
=
{
8
{
CORETSEIIOo
}
}
&
CORETSEOii1
[
7
:
0
]
|
{
8
{
~
CORETSEIIOo
}
}
&
CORETSEolO1
[
7
:
0
]
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEolO1
[
7
:
0
]
<=
#
CORETSEOII
8
'h
0
;
else
CORETSEolO1
[
7
:
0
]
<=
#
CORETSEOII
CORETSEIoo1
;
end
assign
CORETSEloo1
=
{
8
{
CORETSEOIOo
}
}
&
CORETSEOii1
[
7
:
0
]
|
{
8
{
~
CORETSEOIOo
}
}
&
CORETSEolO1
[
15
:
8
]
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEolO1
[
15
:
8
]
<=
#
CORETSEOII
8
'h
0
;
else
CORETSEolO1
[
15
:
8
]
<=
#
CORETSEOII
CORETSEloo1
;
end
assign
CORETSEOoo1
=
{
(
CORETSEIIOo
&
CORETSEIoO1
==
5
'h
01
)
}
&
~
CORETSEOii1
[
2
]
|
{
~
(
CORETSEIIOo
&
CORETSEIoO1
==
5
'h
01
)
}
&
CORETSEilO1
;
always
@
(
posedge
CORETSEIoi0
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEilO1
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEilO1
<=
#
CORETSEOII
CORETSEOoo1
;
end
endmodule
