// REVISION    : $Revision: 1.5 $
//              Mentor Proprietary and Confidential
//              Copyright (c) 2000, Mentor Intellectual Property Development
`timescale 1ns/1ns
module
CoreTSE_M2S090_CORETSE_AHB_0_PEMSTAT_CNTRL
(
CORETSEllOo
,
CORETSEolOo
,
CORETSEoo
,
CORETSElo
,
CORETSEoIoI
,
CORETSElIoI
,
CORETSEloil
,
CORETSEilOo
,
CORETSEO0Oo
,
CORETSEo0Oo
,
CORETSEi0Oo
,
CORETSEloOo
,
CORETSEooOo
,
CORETSEioOo
)
;
input
CORETSEllOo
,
CORETSEolOo
;
input
CORETSElo
;
input
[
30
:
0
]
CORETSEoo
;
input
CORETSElIoI
;
input
[
51
:
0
]
CORETSEoIoI
;
input
CORETSEloil
,
CORETSEilOo
;
input
CORETSEO0Oo
;
input
CORETSEo0Oo
;
input
CORETSEi0Oo
;
output
[
15
:
0
]
CORETSEloOo
;
output
[
3
:
0
]
CORETSEooOo
;
output
[
43
:
0
]
CORETSEioOo
;
parameter
CORETSEOII
=
1
;
parameter
FAMILY
=
19
;
wire
CORETSElllo
,
CORETSEollo
;
reg
CORETSEillo
,
CORETSEO0lo
,
CORETSEI0lo
,
CORETSEl0lo
,
CORETSEo0lo
;
reg
CORETSEi0lo
,
CORETSEO1lo
,
CORETSEI1lo
,
CORETSEl1lo
,
CORETSEo1lo
;
wire
CORETSEi1lo
,
CORETSEOolo
;
reg
CORETSEIolo
,
CORETSElolo
;
wire
[
43
:
0
]
CORETSEoolo
;
reg
[
43
:
0
]
CORETSEioOo
;
wire
[
15
:
0
]
CORETSEiolo
;
reg
[
15
:
0
]
CORETSEloOo
;
reg
[
3
:
0
]
CORETSEooOo
;
wire
CORETSEOilo
;
wire
CORETSElo1
;
wire
CORETSEoo1
;
assign
CORETSElo1
=
(
FAMILY
==
25
)
?
1
'b
0
:
CORETSEolOo
;
assign
CORETSEoo1
=
(
FAMILY
==
25
)
?
CORETSEolOo
:
1
'b
0
;
always
@
(
posedge
CORETSEllOo
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEI0lo
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEI0lo
<=
#
CORETSEOII
CORETSElIoI
;
end
always
@
(
posedge
CORETSEllOo
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEl0lo
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEl0lo
<=
#
CORETSEOII
CORETSEI0lo
;
end
always
@
(
posedge
CORETSEllOo
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEo0lo
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEo0lo
<=
#
CORETSEOII
CORETSEl0lo
;
end
always
@
(
posedge
CORETSEllOo
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEI1lo
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEI1lo
<=
#
CORETSEOII
CORETSElo
;
end
always
@
(
posedge
CORETSEllOo
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEl1lo
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEl1lo
<=
#
CORETSEOII
CORETSEI1lo
;
end
always
@
(
posedge
CORETSEllOo
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEo1lo
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEo1lo
<=
#
CORETSEOII
CORETSEl1lo
;
end
assign
CORETSEi1lo
=
CORETSEI0lo
&
~
CORETSEl0lo
&
CORETSEo0Oo
;
assign
CORETSEOolo
=
(
~
CORETSEi1lo
&
CORETSEI1lo
&
~
CORETSEl1lo
&
CORETSEo0Oo
)
|
(
CORETSEl0lo
&
~
CORETSEo0lo
&
CORETSEl1lo
&
~
CORETSEo1lo
&
CORETSEo0Oo
)
;
always
@
(
posedge
CORETSEllOo
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEIolo
<=
#
CORETSEOII
1
'b
0
;
else
CORETSEIolo
<=
#
CORETSEOII
CORETSEO0Oo
;
end
always
@
(
posedge
CORETSEllOo
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSElolo
<=
#
CORETSEOII
1
'b
0
;
else
CORETSElolo
<=
#
CORETSEOII
CORETSEIolo
;
end
assign
CORETSEiolo
=
{
16
{
CORETSEi1lo
}
}
&
CORETSEoIoI
[
15
:
0
]
|
{
16
{
CORETSEOolo
}
}
&
CORETSEoo
[
15
:
0
]
;
assign
CORETSEOilo
=
(
|
CORETSEoo
[
29
:
23
]
|
CORETSEoo
[
21
]
|
CORETSEoo
[
19
]
)
&
~
CORETSEoo
[
20
]
&
~
(
(
~
CORETSEoo
[
30
]
&
(
CORETSEoo
[
15
:
0
]
>
2000
)
)
|
(
CORETSEoo
[
30
]
&
(
CORETSEoo
[
15
:
0
]
>
2000
)
)
)
;
assign
CORETSEoolo
[
00
]
=
(
64
==
CORETSEiolo
)
;
assign
CORETSEoolo
[
01
]
=
(
65
<=
CORETSEiolo
)
&
(
CORETSEiolo
<=
127
)
;
assign
CORETSEoolo
[
02
]
=
(
128
<=
CORETSEiolo
)
&
(
CORETSEiolo
<=
255
)
;
assign
CORETSEoolo
[
03
]
=
(
256
<=
CORETSEiolo
)
&
(
CORETSEiolo
<=
511
)
;
assign
CORETSEoolo
[
04
]
=
(
512
<=
CORETSEiolo
)
&
(
CORETSEiolo
<=
1023
)
;
assign
CORETSEoolo
[
05
]
=
(
1024
<=
CORETSEiolo
)
&
(
CORETSEiolo
<=
1518
)
;
assign
CORETSEoolo
[
06
]
=
CORETSEOolo
&
(
CORETSEoo
[
30
]
&
1519
<=
CORETSEiolo
)
&
(
CORETSEiolo
<=
1522
)
&
~
CORETSEoo
[
20
]
&
(
~
CORETSEi0Oo
|
~
CORETSEoo
[
19
]
)
|
CORETSEi1lo
&
(
(
(
CORETSEoIoI
[
51
]
&
~
CORETSEi0Oo
)
|
(
CORETSEoIoI
[
50
]
&
CORETSEi0Oo
)
)
&
1519
<=
CORETSEiolo
)
&
(
CORETSEiolo
<=
1522
)
&
~
CORETSEoIoI
[
20
]
;
assign
CORETSEoolo
[
07
]
=
CORETSEOolo
;
assign
CORETSEoolo
[
08
]
=
CORETSEOolo
;
assign
CORETSEoolo
[
09
]
=
(
~
CORETSEi0Oo
&
CORETSEOolo
&
CORETSEoo
[
20
]
&
~
CORETSEoo
[
26
]
&
(
64
<=
CORETSEoo
[
15
:
0
]
)
&
(
CORETSEoo
[
15
:
0
]
<=
1518
)
)
|
(
CORETSEi0Oo
&
CORETSEOolo
&
CORETSEoo
[
20
]
&
|
CORETSEoolo
[
6
:
0
]
)
;
assign
CORETSEoolo
[
10
]
=
(
~
CORETSEi0Oo
&
CORETSEOolo
&
CORETSEOilo
&
CORETSEoo
[
24
]
)
|
(
CORETSEi0Oo
&
CORETSEOolo
&
|
CORETSEoolo
[
6
:
0
]
&
~
CORETSEoo
[
20
]
&
~
CORETSEoo
[
19
]
&
CORETSEoo
[
24
]
)
;
assign
CORETSEoolo
[
11
]
=
(
~
CORETSEi0Oo
&
CORETSEOolo
&
CORETSEOilo
&
CORETSEoo
[
25
]
)
|
(
CORETSEi0Oo
&
CORETSEOolo
&
|
CORETSEoolo
[
6
:
0
]
&
~
CORETSEoo
[
20
]
&
~
CORETSEoo
[
19
]
&
CORETSEoo
[
25
]
)
;
assign
CORETSEoolo
[
12
]
=
(
~
CORETSEi0Oo
&
CORETSEOolo
&
CORETSEOilo
&
CORETSEoo
[
27
]
)
|
(
CORETSEi0Oo
&
CORETSEOolo
&
|
CORETSEoolo
[
6
:
0
]
&
~
CORETSEoo
[
20
]
&
~
CORETSEoo
[
19
]
&
CORETSEoo
[
27
]
)
;
assign
CORETSEoolo
[
13
]
=
(
~
CORETSEi0Oo
&
CORETSEOolo
&
CORETSEoo
[
28
]
)
|
(
CORETSEi0Oo
&
CORETSEOolo
&
CORETSEoo
[
28
]
&
~
CORETSEoo
[
20
]
&
~
CORETSEoo
[
19
]
&
|
CORETSEoolo
[
6
:
0
]
)
;
assign
CORETSEoolo
[
14
]
=
(
~
CORETSEi0Oo
&
CORETSEOolo
&
CORETSEoo
[
29
]
)
|
(
CORETSEi0Oo
&
CORETSEOolo
&
|
CORETSEoolo
[
6
:
0
]
&
~
CORETSEoo
[
20
]
&
~
CORETSEoo
[
19
]
&
CORETSEoo
[
29
]
)
;
assign
CORETSEoolo
[
15
]
=
CORETSEOolo
&
CORETSEoo
[
20
]
&
CORETSEoo
[
26
]
&
(
64
<=
CORETSEoo
[
15
:
0
]
)
&
(
CORETSEoo
[
15
:
0
]
<=
1518
)
;
assign
CORETSEoolo
[
16
]
=
(
~
CORETSEi0Oo
&
CORETSEOolo
&
CORETSEoo
[
21
]
)
|
(
CORETSEi0Oo
&
CORETSEOolo
&
CORETSEoo
[
21
]
&
~
CORETSEoo
[
20
]
&
~
CORETSEoo
[
19
]
&
(
64
<=
CORETSEoo
[
15
:
0
]
)
&
(
(
~
CORETSEoo
[
30
]
&
(
CORETSEoo
[
15
:
0
]
<=
1518
)
)
|
(
CORETSEoo
[
30
]
&
(
CORETSEoo
[
15
:
0
]
<=
1522
)
)
)
)
;
assign
CORETSEoolo
[
17
]
=
CORETSEOolo
&
CORETSEoo
[
19
]
;
assign
CORETSEoolo
[
18
]
=
CORETSEOolo
&
CORETSEoo
[
18
]
;
assign
CORETSEoolo
[
19
]
=
(
~
CORETSEi0Oo
&
CORETSEOolo
&
(
16
'd
64
>
CORETSEoo
[
15
:
0
]
)
&
~
CORETSEoo
[
20
]
)
|
(
CORETSEi0Oo
&
CORETSEOolo
&
(
16
'd
64
>
CORETSEoo
[
15
:
0
]
)
&
~
CORETSEoo
[
20
]
&
~
CORETSEoo
[
19
]
)
;
assign
CORETSEoolo
[
20
]
=
CORETSEOolo
&
~
CORETSEoo
[
20
]
&
(
(
~
CORETSEoo
[
30
]
&
(
CORETSEoo
[
15
:
0
]
>
1518
)
)
|
(
CORETSEoo
[
30
]
&
(
CORETSEoo
[
15
:
0
]
>
1522
)
)
)
;
assign
CORETSEoolo
[
21
]
=
(
~
CORETSEi0Oo
&
CORETSEOolo
&
(
16
'd
64
>
CORETSEoo
[
15
:
0
]
)
&
CORETSEoo
[
20
]
)
|
(
CORETSEi0Oo
&
CORETSEOolo
&
(
16
'd
64
>
CORETSEoo
[
15
:
0
]
)
&
(
CORETSEoo
[
20
]
|
CORETSEoo
[
19
]
)
)
;
assign
CORETSEoolo
[
22
]
=
(
~
CORETSEi0Oo
&
CORETSEOolo
&
CORETSEoo
[
20
]
&
(
(
~
CORETSEoo
[
30
]
&
(
CORETSEoo
[
15
:
0
]
>
1518
)
)
|
(
CORETSEoo
[
30
]
&
(
CORETSEoo
[
15
:
0
]
>
1522
)
)
)
)
|
(
CORETSEi0Oo
&
CORETSEOolo
&
(
CORETSEoo
[
20
]
|
CORETSEoo
[
19
]
)
&
(
(
~
CORETSEoo
[
30
]
&
(
CORETSEoo
[
15
:
0
]
>
1518
)
)
|
(
CORETSEoo
[
30
]
&
(
CORETSEoo
[
15
:
0
]
>
1522
)
)
)
)
;
assign
CORETSEoolo
[
23
]
=
CORETSEloil
&
CORETSEOolo
&
~
CORETSEioOo
[
23
]
;
assign
CORETSEoolo
[
24
]
=
CORETSEi1lo
;
assign
CORETSEoolo
[
25
]
=
CORETSEi1lo
;
assign
CORETSEoolo
[
26
]
=
(
~
CORETSEi0Oo
&
CORETSEi1lo
&
~
CORETSEoIoI
[
20
]
&
CORETSEoIoI
[
24
]
&
~
CORETSEoIoI
[
25
]
)
|
(
CORETSEi0Oo
&
CORETSEi1lo
&
|
CORETSEoolo
[
6
:
0
]
&
~
CORETSEoIoI
[
20
]
&
CORETSEoIoI
[
24
]
&
~
CORETSEoIoI
[
25
]
)
;
assign
CORETSEoolo
[
27
]
=
(
~
CORETSEi0Oo
&
CORETSEi1lo
&
~
CORETSEoIoI
[
20
]
&
CORETSEoIoI
[
24
]
&
CORETSEoIoI
[
25
]
)
|
(
CORETSEi0Oo
&
CORETSEi1lo
&
|
CORETSEoolo
[
6
:
0
]
&
~
CORETSEoIoI
[
20
]
&
CORETSEoIoI
[
24
]
&
CORETSEoIoI
[
25
]
)
;
assign
CORETSEoolo
[
28
]
=
(
~
CORETSEi0Oo
&
CORETSEi1lo
&
CORETSEoIoI
[
49
]
)
|
(
CORETSEi0Oo
&
CORETSEi1lo
&
|
CORETSEoolo
[
6
:
0
]
&
~
CORETSEoIoI
[
20
]
&
CORETSEoIoI
[
49
]
)
;
assign
CORETSEoolo
[
29
]
=
CORETSEi1lo
&
CORETSEoIoI
[
26
]
;
assign
CORETSEoolo
[
30
]
=
CORETSEi1lo
&
CORETSEoIoI
[
27
]
;
assign
CORETSEoolo
[
31
]
=
CORETSEi1lo
&
~|
CORETSEoIoI
[
19
:
17
]
&
CORETSEoIoI
[
16
]
;
assign
CORETSEoolo
[
32
]
=
CORETSEi1lo
&
|
CORETSEoIoI
[
19
:
17
]
;
assign
CORETSEoolo
[
33
]
=
CORETSEi1lo
&
CORETSEoIoI
[
29
]
;
assign
CORETSEoolo
[
34
]
=
CORETSEi1lo
&
CORETSEoIoI
[
28
]
;
assign
CORETSEoolo
[
35
]
=
CORETSEi1lo
&
(
(
~|
CORETSEoIoI
[
19
:
17
]
&
CORETSEoIoI
[
16
]
)
|
(
|
CORETSEoIoI
[
19
:
17
]
)
)
;
assign
CORETSEoolo
[
36
]
=
CORETSElolo
&
~
CORETSEioOo
[
36
]
;
assign
CORETSEoolo
[
37
]
=
CORETSEilOo
&
CORETSEi1lo
;
assign
CORETSEoolo
[
38
]
=
(
CORETSEi1lo
&
(
CORETSEiolo
>
16
'd
1518
)
&
CORETSEoIoI
[
20
]
&
~
(
(
CORETSEoIoI
[
51
]
&
~
CORETSEi0Oo
)
|
(
CORETSEoIoI
[
50
]
&
CORETSEi0Oo
)
)
)
|
(
CORETSEi1lo
&
(
CORETSEiolo
>
16
'd
1522
)
&
CORETSEoIoI
[
20
]
&
(
(
CORETSEoIoI
[
51
]
&
~
CORETSEi0Oo
)
|
(
CORETSEoIoI
[
50
]
&
CORETSEi0Oo
)
)
)
;
assign
CORETSEoolo
[
39
]
=
CORETSEi1lo
&
CORETSEoIoI
[
20
]
&
(
~
CORETSEi0Oo
|
(
(
64
<=
CORETSEoIoI
[
15
:
0
]
)
&
(
CORETSEoIoI
[
15
:
0
]
<=
1518
)
)
)
;
assign
CORETSEoolo
[
40
]
=
(
~
CORETSEi0Oo
&
CORETSEi1lo
&
CORETSEoIoI
[
48
]
)
|
(
CORETSEi0Oo
&
CORETSEi1lo
&
|
CORETSEoolo
[
6
:
0
]
&
~
CORETSEoIoI
[
20
]
&
CORETSEoIoI
[
48
]
)
;
assign
CORETSEoolo
[
41
]
=
(
CORETSEi1lo
&
(
CORETSEiolo
>
16
'd
1518
)
&
~
CORETSEoIoI
[
20
]
&
~
(
(
CORETSEoIoI
[
51
]
&
~
CORETSEi0Oo
)
|
(
CORETSEoIoI
[
50
]
&
CORETSEi0Oo
)
)
)
|
(
CORETSEi1lo
&
(
CORETSEiolo
>
16
'd
1522
)
&
~
CORETSEoIoI
[
20
]
&
(
(
CORETSEoIoI
[
51
]
&
~
CORETSEi0Oo
)
|
(
CORETSEoIoI
[
50
]
&
CORETSEi0Oo
)
)
)
;
assign
CORETSEoolo
[
42
]
=
CORETSEi1lo
&
CORETSEiolo
<
16
'd
64
&
~
CORETSEoIoI
[
20
]
;
assign
CORETSEoolo
[
43
]
=
CORETSEi1lo
&
CORETSEiolo
<
16
'd
64
&
CORETSEoIoI
[
20
]
;
always
@
(
posedge
CORETSEllOo
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEioOo
<=
#
CORETSEOII
44
'h
0
;
else
CORETSEioOo
<=
#
CORETSEOII
CORETSEoolo
;
end
always
@
(
posedge
CORETSEllOo
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEloOo
<=
#
CORETSEOII
16
'h
0
;
else
if
(
CORETSEi1lo
&
~
CORETSEi0Oo
)
CORETSEloOo
<=
#
CORETSEOII
CORETSEoIoI
[
47
:
32
]
;
else
if
(
CORETSEi1lo
&
CORETSEi0Oo
)
CORETSEloOo
<=
#
CORETSEOII
CORETSEoIoI
[
15
:
0
]
;
else
CORETSEloOo
<=
#
CORETSEOII
CORETSEoo
[
15
:
0
]
;
end
always
@
(
posedge
CORETSEllOo
or
posedge
CORETSElo1
)
begin
if
(
CORETSEoo1
||
CORETSElo1
)
CORETSEooOo
<=
#
CORETSEOII
4
'h
0
;
else
CORETSEooOo
<=
#
CORETSEOII
CORETSEoIoI
[
19
:
16
]
;
end
endmodule
